diff --git a/.github/AL-Go-Settings.json b/.github/AL-Go-Settings.json index b5e16fd7bb..d94584e219 100644 --- a/.github/AL-Go-Settings.json +++ b/.github/AL-Go-Settings.json @@ -5,7 +5,7 @@ "runs-on": "windows-latest", "cacheImageName": "", "UsePsSession": false, - "artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/26.0.26183.0/base", + "artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/26.0.26951.0/base", "country": "base", "useProjectDependencies": true, "repoVersion": "26.0", diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostingGrpAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostingGrpAT.Codeunit.al new file mode 100644 index 0000000000..32e8b15e5e --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostingGrpAT.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11158 "Create Bank Acc Posting Grp AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccPostingGroup(var Rec: Record "Bank Account Posting Group"; RunTrigger: Boolean) + var + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateATGLAccount: Codeunit "Create AT GL Account"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Checking(): + ValidateRecordFields(Rec, CreateGLAccount.BankLcy()); + CreateBankAccPostingGrp.Savings(), + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateGLAccount.GiroAccount()); + CreateBankAccPostingGrp.Cash(): + ValidateRecordFields(Rec, CreateATGLAccount.BankCurrencies()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/1. Setup Data/CreateBankExpImportSetupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/1. Setup Data/CreateBankExpImportSetupAT.Codeunit.al new file mode 100644 index 0000000000..8c6265bce4 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/1. Setup Data/CreateBankExpImportSetupAT.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 11159 "Create Bank ExpImport Setup AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBank: Codeunit "Contoso Bank"; + begin + ContosoBank.ContosoBankExportImportSetup(SEPACTAPCT(), SEPACTAPCDescLbl, 0, Codeunit::"SEPA CT APC-Export File", Xmlport::"SEPA CT pain.001.001.03", '', false, Codeunit::"SEPA CT-Check Line"); + ContosoBank.ContosoBankExportImportSetup(SEPACTAPC09(), SEPACTAPC09DescLbl, 0, Codeunit::"SEPA CT APC-Export File", Xmlport::"SEPA CT pain.001.001.09", '', false, Codeunit::"SEPA CT-Check Line"); + end; + + procedure SEPACTAPCT(): Code[20] + begin + exit(SEPACTAPCTok); + end; + + procedure SEPACTAPC09(): Code[20] + begin + exit(SEPACTAPC09Tok); + end; + + + + var + SEPACTAPCTok: Label 'SEPACTAPC', MaxLength = 20; + SEPACTAPC09Tok: Label 'SEPACTAPC09', MaxLength = 20; + SEPACTAPCDescLbl: Label 'SEPA Credit Transfer APC', MaxLength = 100; + SEPACTAPC09DescLbl: Label 'SEPA Credit Transfer APC 09', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/2. Master Data/CreateBankAccountAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/2. Master Data/CreateBankAccountAT.Codeunit.al new file mode 100644 index 0000000000..aa9bebc7e6 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/2. Master Data/CreateBankAccountAT.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 11160 "Create Bank Account AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + ContosoCoffeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + ContosoCoffeDemoDataSetup.Get(); + case Rec."No." of + CreateBankAccount.Checking(): + ValidateBankAccount(Rec, CityGrazLbl, -1447200, ContosoCoffeDemoDataSetup."Country/Region Code", PostcodeGrazLbl); + CreateBankAccount.Savings(): + ValidateBankAccount(Rec, CityGrazLbl, 0, ContosoCoffeDemoDataSetup."Country/Region Code", PostcodeGrazLbl); + end; + end; + + local procedure ValidateBankAccount(var BankAccount: Record "Bank Account"; BankAccCity: Text[30]; MinBalance: Decimal; CountryRegionCode: Code[10]; PostCode: Code[20]) + begin + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate(City, BankAccCity); + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Country/Region Code", CountryRegionCode); + end; + + var + CityGrazLbl: Label 'Graz', MaxLength = 30; + PostcodeGrazLbl: Label '8010', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/4. Historical Data/CreateBankAccRecoAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/4. Historical Data/CreateBankAccRecoAT.Codeunit.al new file mode 100644 index 0000000000..e4303854bd --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Bank/4. Historical Data/CreateBankAccRecoAT.Codeunit.al @@ -0,0 +1,68 @@ +codeunit 11161 "Create Bank Acc. Reco. AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateBankAccReconciliation(); + end; + + local procedure UpdateBankAccReconciliation() + var + BankAccReconciliation: Record "Bank Acc. Reconciliation"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if not BankAccReconciliation.Get(Enum::"Bank Acc. Rec. Stmt. Type"::"Bank Reconciliation", CreateBankAccount.Checking(), '24') then + exit; + + BankAccReconciliation.Validate("Statement Ending Balance", 17924.53); + BankAccReconciliation.Modify(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Acc. Reconciliation Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Acc. Reconciliation Line"; RunTrigger: Boolean) + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if (Rec."Statement Type" = Rec."Statement Type"::"Bank Reconciliation") then begin + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = '24') then + case Rec."Statement Line No." of + 10000: + ValidateRecordFields(Rec, Rec.Description, 2757.62); + 20000: + ValidateRecordFields(Rec, Rec.Description, 4136.43); + 30000: + ValidateRecordFields(Rec, DepositToAccountLbl, 11030.48); + end; + end else + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = 'PREC000') then + case Rec."Statement Line No." of + 10000: + ValidateRecordFields(Rec, Rec.Description, -2520); + 20000: + ValidateRecordFields(Rec, Rec.Description, -1828); + 30000: + ValidateRecordFields(Rec, Rec.Description, -1340.1); + 40000: + ValidateRecordFields(Rec, Rec.Description, 929.76); + 50000: + ValidateRecordFields(Rec, Rec.Description, 10743.39); + 60000: + ValidateRecordFields(Rec, Rec.Description, 3273.72); + end; + end; + + local procedure ValidateRecordFields(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Description: Text[100]; Amount: Decimal) + begin + BankAccReconciliationLine.Validate(Description, Description); + BankAccReconciliationLine.Validate("Transaction Text", Description); + BankAccReconciliationLine.Validate("Statement Amount", Amount); + BankAccReconciliationLine.Validate("Applied Amount", Amount); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18.01.24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateATGLAccount.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateATGLAccount.Codeunit.al new file mode 100644 index 0000000000..249b859c44 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateATGLAccount.Codeunit.al @@ -0,0 +1,6629 @@ +codeunit 11148 "Create AT GL Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + AddGLAccountforAT(); + end; + + local procedure AddGLAccountforAT() + var + GLAccountIndent: Codeunit "G/L Account-Indent"; + CreareVATPostingGrpAT: Codeunit "Create VAT Posting Group AT"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreatePostingGroupAT: Codeunit "Create Posting Groups AT"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.SetOverwriteData(true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssets(), CreateGLAccount.FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OperatingEquipment(), CreateGLAccount.OperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoodsBeginTotal(), FinishedGoodsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoodsInterim(), CreateGLAccount.FinishedGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherReceivables(), CreateGLAccount.OtherReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Securities(), CreateGLAccount.SecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cash(), CreateGLAccount.CashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BankLcy(), CreateGLAccount.BankLcyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GiroAccount(), CreateGLAccount.GiroAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Mortgage(), CreateGLAccount.MortgageName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsDomestic(), CreateGLAccount.VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsForeign(), CreateGLAccount.VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PersonnelExpenses(), CreateGLAccount.PersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesBeginTotal(), WagesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Wages(), CreateGLAccount.WagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalariesBeginTotal(), SalariesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Salaries(), CreateGLAccount.SalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalPersonnelExpenses(), CreateGLAccount.TotalPersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6000..6998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Co2Tax(), CreateGLAccount.Co2TaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FuelTax(), CreateGLAccount.FuelTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cleaning(), CreateGLAccount.CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', CreareVATPostingGrpAT.VAT20(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityAndHeating(), CreateGLAccount.ElectricityAndHeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', CreareVATPostingGrpAT.VAT20(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', CreareVATPostingGrpAT.VAT20(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Software(), CreateGLAccount.SoftwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', CreareVATPostingGrpAT.VAT20(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherComputerExpenses(), CreateGLAccount.OtherComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', CreareVATPostingGrpAT.VAT20(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroupAT.NoVATPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceReceived(), CreateGLAccount.PaymentToleranceReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PaymentToleranceGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryIncome(), CreateGLAccount.ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '8400..8497', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CorporateTax(), CreateGLAccount.CorporateTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.SetOverwriteData(false); + + ContosoGLAccount.InsertGLAccount(CommissioningAnOperation(), CommissioningAnOperationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CommissioningTheOperation(), CommissioningTheOperationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciationFixedAsset(), AccumulatedDepreciationFixedAssetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CommissioningTotal(), CommissioningTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0005..0099', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssets(), IntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Concessions(), ConcessionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PatentAndLicenseRights(), PatentAndLicenseRightsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DataProcessingPrograms(), DataProcessingProgramsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CompanyValue(), CompanyValueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsForIntangibleAssets(), AdvancePaymentsForIntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciationIntangibleAsset(), AccumulatedDepreciationIntangibleAssetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalIntangibleAssets(), TotalIntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0100..0199', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RealEstate(), RealEstateName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DevelopedLand(), DevelopedLandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OperationalBuilding(), OperationalBuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AcquisitionsDuringTheYearVehicle(), AcquisitionsDuringTheYearVehicleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DisposalsDuringTheYearVehicle(), DisposalsDuringTheYearVehicleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvestmentInLeasedBuilding(), InvestmentInLeasedBuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciationBooked(), AccumulatedDepreciationBookedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UndevelopedLand(), UndevelopedLandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRealEstate(), TotalRealEstateName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0200..0399', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MachineryAndEquipment(), MachineryAndEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LowValueMachinery(), LowValueMachineryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciationOperEqupment(), AccumulatedDepreciationOperEqupmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OfficeEquipment(), OfficeEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessFacilities(), BusinessFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OfficeMachinesEDP(), OfficeMachinesEDPName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AcquisitionsDuringTheYearRealEstate(), AcquisitionsDuringTheYearRealEstateName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DisposalsDuringTheYearRealEstate(), DisposalsDuringTheYearRealEstateName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumDepreciationOfBuilding(), AccumDepreciationOfBuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOperatingEquipment(), TotalOperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0400..0629', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VehicleFleet(), VehicleFleetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Car(), CarName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Truck(), TruckName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AcquisitionsDuringTheYearOperEquipment(), AcquisitionsDuringTheYearOperEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DisposalsDuringTheYearOperEquipment(), DisposalsDuringTheYearOperEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumDepreciation(), AccumDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVehicleFleet(), TotalVehicleFleetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0630..0679', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherFacilities(), OtherFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LowValueAssetsOperationalAndBusFacilities(), LowValueAssetsOperationalAndBusFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciationOtherFacilities(), AccumulatedDepreciationOtherFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherFacilities(), TotalOtherFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0680..0699', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsMadeFacilitiesUnderConstr(), AdvancePaymentsMadeFacilitiesUnderConstrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsMadeForTangibleFixedAssets(), AdvancePaymentsMadeForTangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FacilitiesUnderConstruction(), FacilitiesUnderConstructionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciationAdvPayment(), AccumulatedDepreciationAdvPaymentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdvPaymMadeFacilitiesUnderConstr(), TotalAdvPaymMadeFacilitiesUnderConstrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0700..0799', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialAssets(), FinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquityInterestsInAssociatedCompanies(), EquityInterestsInAssociatedCompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherEquityInterests(), OtherEquityInterestsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CompanySharesOrEquityInterests(), CompanySharesOrEquityInterestsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvestmentSecurities(), InvestmentSecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SecuritiesProvisionsForSeverancePay(), SecuritiesProvisionsForSeverancePayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SecuritiesProvisionsForPensionPlan(), SecuritiesProvisionsForPensionPlanName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsMadeForFinancialAssets(), AdvancePaymentsMadeForFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciationFinancialAsset(), AccumulatedDepreciationFinancialAssetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinancialAssets(), TotalFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0800..0995', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALFIXEDASSETS(), TOTALFIXEDASSETSName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '0000..0998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SUPPLIES(), SUPPLIESName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseSettlementBeginTotal(), PurchaseSettlementBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseSettlement(), PurchaseSettlementName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OpeningInventory(), OpeningInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPurchaseSettlement(), TotalPurchaseSettlementName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1005..1099', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialSupply(), RawMaterialSupplyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialSupplyInterim(), RawMaterialSupplyInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsPostReceiptInterim(), RawMaterialsPostReceiptInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRawMaterials(), TotalRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1100..1199', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartsPurchasedBeginTotal(), PartsPurchasedBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartsPurchased(), PartsPurchasedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPartsPurchased(), TotalPartsPurchasedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1200..1299', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AuxiliariesOperatingMaterials(), AuxiliariesOperatingMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AuxiliariesSupply(), AuxiliariesSupplyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OperatingMaterialsSupply(), OperatingMaterialsSupplyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FuelOilSupply(), FuelOilSupplyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAuxiliariesOperatingMaterials(), TotalAuxiliariesOperatingMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1300..1399', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkInProcessBeginTotal(), WorkInProcessBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkInProcess(), WorkInProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostWorkInProcess(), CostWorkInProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnticipatedCostWorkInProcess(), AnticipatedCostWorkInProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesWorkInProcess(), SalesWorkInProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnticipatedSalesWorkInProcess(), AnticipatedSalesWorkInProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWorkInProcess(), TotalWorkInProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1400..1499', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinishedGoods(), TotalFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1500..1599', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Goods(), GoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SupplyTradeGoods(), SupplyTradeGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SupplyTradeGoodsInterim(), SupplyTradeGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoodsPostReceiptInterim(), TradeGoodsPostReceiptInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalGoods(), TotalGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1600..1699', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServiceNotBillableYet(), ServiceNotBillableYetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServiceNotBillableYes(), ServiceNotBillableYesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalServicesNotBillableYet(), TotalServicesNotBillableYetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1700..1799', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsMade(), AdvancePaymentsMadeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsMadeForSupplies(), AdvancePaymentsMadeForSuppliesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdvancePaymentsMade(), TotalAdvancePaymentsMadeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1800..1899', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALSUPPLIES(), TOTALSUPPLIESName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1000..1998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentAssets(), OtherCurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Receivables(), ReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeReceivables(), TradeReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeReceivablesDomestic(), TradeReceivablesDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeReceivablesForeign(), TradeReceivablesForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReceivablesIntercompany(), ReceivablesIntercompanyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReceivablesCashOnDelivery(), ReceivablesCashOnDeliveryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChangeOfOwnership(), ChangeOfOwnershipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterimAccountAdvancePaymentsReceived(), InterimAccountAdvancePaymentsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IndividualLossReservesForDomesticReceivables(), IndividualLossReservesForDomesticReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BlanketLossReservesForDomesticReceivables(), BlanketLossReservesForDomesticReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeReceivablesIntraCommunity(), TradeReceivablesIntraCommunityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IndivLossReservesForIntraCommunityReceivab(), IndivLossReservesForIntraCommunityReceivabName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BlanketLossReservesForIntraCommunityReceiv(), BlanketLossReservesForIntraCommunityReceivName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeReceivablesExport(), TradeReceivablesExportName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IndividualLossReservesForReceivablesExport(), IndividualLossReservesForReceivablesExportName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BlanketLossReservesForReceivablesExport(), BlanketLossReservesForReceivablesExportName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GrantedLoan(), GrantedLoanName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherAdvancePaymentsMade(), OtherAdvancePaymentsMadeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTradeReceivables(), TotalTradeReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2005..2499', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReceivablesFromOffsettingOfLevies(), ReceivablesFromOffsettingOfLeviesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATReduced(), PurchaseVATReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATStandard(), PurchaseVATStandardName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATAcquisitionReduced(), PurchaseVATAcquisitionReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATAcquisitionStandard(), PurchaseVATAcquisitionStandardName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ImportSalesTax(), ImportSalesTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATClearingAccount(), PurchaseVATClearingAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapitalReturnsTaxAllowableOnIncomeTax(), CapitalReturnsTaxAllowableOnIncomeTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAccountsReceivableOffsettingOfLevies(), TotalAccountsReceivableOffsettingOfLeviesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2500..2598', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalAccountsReceivable(), TotalAccountsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2001..2599', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MarketableSecurities(), MarketableSecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EndorsedCededBillOfExchange(), EndorsedCededBillOfExchangeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSecurities(), TotalSecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2600..2699', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashAndBank(), CashAndBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PostageStamp(), PostageStampName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RevenueStamps(), RevenueStampsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SettlementAccountCashBank(), SettlementAccountCashBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChecksReceived(), ChecksReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsReceivableFromCreditCardOrganization(), AccountsReceivableFromCreditCardOrganizationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankCurrencies(), BankCurrenciesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(TotalCashAndBank(), TotalCashAndBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2700..2899', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidExpenses(), PrepaidExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Accruals(), AccrualsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BorrowingCosts(), BorrowingCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPrepaidExpenses(), TotalPrepaidExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2900..2995', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALOTHERCURRENTASSETS(), TOTALOTHERCURRENTASSETSName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2000..2998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LIABILITIESPROVISIONS(), LIABILITIESPROVISIONSName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Provisions(), ProvisionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionsForSeverancePayments(), ProvisionsForSeverancePaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionsForPensions(), ProvisionsForPensionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionsForCorporateTax(), ProvisionsForCorporateTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionsForWarranties(), ProvisionsForWarrantiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionsForCompensationForDamage(), ProvisionsForCompensationForDamageName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionsForLegalAndConsultancyExpenses(), ProvisionsForLegalAndConsultancyExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalProvisions(), TotalProvisionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3005..3099', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AmountsOwedToCreditFinancialInstitutions(), AmountsOwedToCreditFinancialInstitutionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankWithCreditLimit(), BankWithCreditLimitName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChecksIssued(), ChecksIssuedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loan(), LoanName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SettlementAccountCreditCards(), SettlementAccountCreditCardsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAmountsOwedToCreditFinancInstitutions(), TotalAmountsOwedToCreditFinancInstitutionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3100..3199', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsReceivedBeginTotal(), AdvancePaymentsReceivedBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvancePaymentsReceived(), AdvancePaymentsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HardwareContractsPaidInAdvance(), HardwareContractsPaidInAdvanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SoftwareContractsPaidInAdvance(), SoftwareContractsPaidInAdvanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdvancePaymentsReceived(), TotalAdvancePaymentsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3200..3290', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PayablesToVendors(), PayablesToVendorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsIntercompany(), VendorsIntercompanyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NotePayable(), NotePayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterimAccountAdvancePaymentsMade(), InterimAccountAdvancePaymentsMadeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPayablesToVendors(), TotalPayablesToVendorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3300..3499', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxLiabilities(), TaxLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesTax10(), SalesTax10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesTax20(), SalesTax20Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesTaxProfitAndIncomeTax10(), SalesTaxProfitAndIncomeTax10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesTaxProfitAndIncomeTax20(), SalesTaxProfitAndIncomeTax20Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxOfficeTaxPayable(), TaxOfficeTaxPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesTaxClearingAccount(), SalesTaxClearingAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProductionOrderPayrollTaxProfitDP(), ProductionOrderPayrollTaxProfitDPName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SettlementAccountTaxOffice(), SettlementAccountTaxOfficeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalLiabilitiesFromTaxes(), TotalLiabilitiesFromTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3500..3599', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PayablesRelatedToSocialSecurity(), PayablesRelatedToSocialSecurityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SettlementAccountSocialInsurance(), SettlementAccountSocialInsuranceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SettlementAccountLocalTax(), SettlementAccountLocalTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SettlementAccountWagesSalaries(), SettlementAccountWagesSalariesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxPaymentsWithheld(), TaxPaymentsWithheldName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentOfTaxArrears(), PaymentOfTaxArrearsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayrollTaxPayments(), PayrollTaxPaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VacationCompensationPayments(), VacationCompensationPaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSocialSecurity(), TotalSocialSecurityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3600..3699', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherLiabilitiesAndDeferrals(), OtherLiabilitiesAndDeferralsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeferredIncome(), DeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherLiabilities(), TotalOtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3700..3997', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALLIABILITIESPROVISIONS(), TOTALLIABILITIESPROVISIONSName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3000..3998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OPERATINGINCOME(), OPERATINGINCOMEName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenuesAndRevenueReduction(), RevenuesAndRevenueReductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Revenues(), RevenuesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesTrade(), SalesRevenuesTradeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesTradeDomestic(), SalesRevenuesTradeDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesTradeExport(), SalesRevenuesTradeExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesTradeEU(), SalesRevenuesTradeEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectSales(), ProjectSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProjectSalesCorrection(), ProjectSalesCorrectionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesRevenuesTrade(), TotalSalesRevenuesTradeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4007..4099', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesRawMaterial(), SalesRevenuesRawMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesRawMaterialDomestic(), SalesRevenuesRawMaterialDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesRawMaterialExport(), SalesRevenuesRawMaterialExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesRawMaterialEU(), SalesRevenuesRawMaterialEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesRevenuesRawMaterial(), TotalSalesRevenuesRawMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4100..4199', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesResources(), SalesRevenuesResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesResourcesDomestic(), SalesRevenuesResourcesDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesResourcesExport(), SalesRevenuesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRevenuesResourcesEU(), SalesRevenuesResourcesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesRevenuesResources(), TotalSalesRevenuesResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4200..4239', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProjectRevenuesBeginTotal(), ProjectRevenuesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProjectRevenues(), ProjectRevenuesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherProjectRevenues(), OtherProjectRevenuesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalProjectRevenues(), TotalProjectRevenuesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4240..4269', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenuesServiceContracts(), RevenuesServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenueServiceContract(), RevenueServiceContractName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalServiceContracts(), TotalServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4270..4299', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChargesAndInterest(), ChargesAndInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServiceCharges(), ServiceChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ServiceInterest(), ServiceInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultingFees(), ConsultingFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalChargesAndInterest(), TotalChargesAndInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4300..4395', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenues(), TotalRevenuesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4006..4396', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenueAdjustments(), RevenueAdjustmentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenueAdjustmentDomestic10(), RevenueAdjustmentDomestic10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RevenueAdjustmentDomestic20(), RevenueAdjustmentDomestic20Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RevenueAdjustmentExport(), RevenueAdjustmentExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RevenueAdjustmentEU(), RevenueAdjustmentEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CashDiscountPaid(), CashDiscountPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CashDiscountPaidAdjustment(), CashDiscountPaidAdjustmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenueAdjustments(), TotalRevenueAdjustmentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4400..4498', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenuesAndRevenueReduction(), TotalRevenuesAndRevenueReductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4005..4499', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoryChangesBeginTotal(), InventoryChangesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoryChanges(), InventoryChangesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OwnCostCapitalized(), OwnCostCapitalizedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInventoryChanges(), TotalInventoryChangesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4500..4599', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingIncomeBeginTotal(), OtherOperatingIncomeBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProceedsFromTheSaleOfAssets(), ProceedsFromTheSaleOfAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsuranceCompensations(), InsuranceCompensationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromTheDisposalOfAssets(), IncomeFromTheDisposalOfAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromTheAppreciationOfIntangibleAssets(), IncomeFromTheAppreciationOfIntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromAppreciationOfFixedAssets(), IncomeFromAppreciationOfFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncFromReleaseOfProvisionsForSeverPaym(), IncFromReleaseOfProvisionsForSeverPaymName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromTheReleaseOfProvForPensionPlan(), IncomeFromTheReleaseOfProvForPensionPlanName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromTheReleaseOfOtherProvisions(), IncomeFromTheReleaseOfOtherProvisionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingIncome(), OtherOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OverageOfCash(), OverageOfCashName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BenefitInKind(), BenefitInKindName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RentalYield(), RentalYieldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExpenseReimbursement(), ExpenseReimbursementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FCYUnrealizedExchangeGains(), FCYUnrealizedExchangeGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FCYRealizedExchangeGains(), FCYRealizedExchangeGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherInsuranceCompensation(), OtherInsuranceCompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromReleaseOfLossReserves(), IncomeFromReleaseOfLossReservesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherOperatingIncome(), TotalOtherOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4600..4997', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALOPERATINGINCOME(), TOTALOPERATINGINCOMEName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4000..4998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(COSTOFMATERIALS(), COSTOFMATERIALSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoods(), TradeGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoodsConsumption(), TradeGoodsConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoodsInventoryAdjustment(), TradeGoodsInventoryAdjustmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoodsDirectCost(), TradeGoodsDirectCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoodsOverheadExpenses(), TradeGoodsOverheadExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoodsPurchaseVarianceAccount(), TradeGoodsPurchaseVarianceAccountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscountReceivedTrade(), DiscountReceivedTradeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeliveryExpensesTrade(), DeliveryExpensesTradeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscountReceivedRawMaterials(), DiscountReceivedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeliveryExpensesRawMaterial(), DeliveryExpensesRawMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTradeGoods(), TotalTradeGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5005..5099', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterial(), RawMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialConsumption(), RawMaterialConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialInventoryAdjustment(), RawMaterialInventoryAdjustmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialDirectCost(), RawMaterialDirectCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialOverheadExpenses(), RawMaterialOverheadExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialPurchaseVarianceAccount(), RawMaterialPurchaseVarianceAccountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRawMaterial(), TotalRawMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5105..5199', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Processing(), ProcessingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProcessingConsumption(), ProcessingConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProcessingInventoryAdjustment(), ProcessingInventoryAdjustmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProcessingOverheadExpenses(), ProcessingOverheadExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProcessingPurchaseVarianceAccount(), ProcessingPurchaseVarianceAccountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalProcessing(), TotalProcessingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5200..5249', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Projects(), ProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProjectCosts(), ProjectCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectCostsAllocated(), ProjectCostsAllocatedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectCostsCorrection(), ProjectCostsCorrectionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalProjects(), TotalProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5250..5299', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variance(), VarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MaterialVariance(), MaterialVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapacityVariance(), CapacityVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SubcontractedVariance(), SubcontractedVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapOverheadVariance(), CapOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManufacturingOverheadVariance(), ManufacturingOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVariance(), TotalVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5300..5399', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Consumption(), ConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AuxiliariesConsumption(), AuxiliariesConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PackagingMaterialConsumption(), PackagingMaterialConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OperatingMaterialsConsumption(), OperatingMaterialsConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningMaterialsConsumption(), CleaningMaterialsConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsumptionOfIncidentals(), ConsumptionOfIncidentalsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsumptionOfFuels(), ConsumptionOfFuelsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalConsumption(), TotalConsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5400..5499', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseCurrentMaterial(), PurchaseCurrentMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseTradeDomestic(), PurchaseTradeDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseTradeImport(), PurchaseTradeImportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseTradeEU(), PurchaseTradeEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseRawMaterialsDomestic(), PurchaseRawMaterialsDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseRawMaterialsImport(), PurchaseRawMaterialsImportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseRawMaterialsEU(), PurchaseRawMaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPurchaseActiveMaterial(), TotalPurchaseActiveMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5500..5599', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherServicesReceived(), OtherServicesReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServicesReceived(), ServicesReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ServiceChargesPurchase(), ServiceChargesPurchaseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherServices(), TotalOtherServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5700..5799', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscountRevenueBeginTotal(), PaymentDiscountRevenueBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscountRevenue(), PaymentDiscountRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscountRevenueCorrection(), PaymentDiscountRevenueCorrectionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPaymentDiscountRevenue(), TotalPaymentDiscountRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5800..5899', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALCOSTOFMATERIALS(), TOTALCOSTOFMATERIALSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5000..5998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesWithoutServices(), WagesWithoutServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWages(), TotalWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6005..6199', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalariesWithoutServices(), SalariesWithoutServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalaries(), TotalSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6200..6399', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SeverancePaymentsBeginTotal(), SeverancePaymentsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SeverancePayments(), SeverancePaymentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SeverancePaymentProvisionFund(), SeverancePaymentProvisionFundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PensionsPayments(), PensionsPaymentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PensionProvisionFund(), PensionProvisionFundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSeverancePayments(), TotalSeverancePaymentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6400..6499', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StatutorySocialExpenses(), StatutorySocialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StatutorySocialExpensesWorker(), StatutorySocialExpensesWorkerName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StatutorySocialExpensesEmployee(), StatutorySocialExpensesEmployeeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalStatutorySocialExpenses(), TotalStatutorySocialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6500..6599', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherSocialExpenses(), OtherSocialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LocalTax(), LocalTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GDContributionFamilyAllowanceProfit(), GDContributionFamilyAllowanceProfitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdditionToProfit(), AdditionToProfitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LevyForTheEmployerVienna(), LevyForTheEmployerViennaName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VoluntarySocialExpenses(), VoluntarySocialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostCenterSettlementInsurance(), CostCenterSettlementInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherSocialExpenses(), TotalOtherSocialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6600..6997', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DEPRECIATIONOTHERCOSTOFOPERATIONS(), DEPRECIATIONOTHERCOSTOFOPERATIONSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation(), DepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ScheduledAmortizationOnIntangibleAssets(), ScheduledAmortizationOnIntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnscheduledAmortizationOnIntangibleAssets(), UnscheduledAmortizationOnIntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ScheduledDepreciationOfFixedAssets(), ScheduledDepreciationOfFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ScheduledDepreciationVehicles(), ScheduledDepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnscheduledDepreciationOfFixedAssets(), UnscheduledDepreciationOfFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LowValueAssets(), LowValueAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalDepreciation(), TotalDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7005..7099', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherTaxes(), OtherTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PropertyTax(), PropertyTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BeverageAndAlcoholTax(), BeverageAndAlcoholTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChargesAndRevenueStamps(), ChargesAndRevenueStampsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscOtherTaxes(), MiscOtherTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherTaxes(), TotalOtherTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7100..7199', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MaintenanceCleaningEtc(), MaintenanceCleaningEtcName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ThirdPartyMaintenance(), ThirdPartyMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CarOperatingExpenses(), CarOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TruckOperatingExpenses(), TruckOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CarRepairsAndMaintenance(), CarRepairsAndMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Fuel(), FuelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMaintenanceEtc(), TotalMaintenanceEtcName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7200..7299', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TransportationTravelCommunications(), TransportationTravelCommunicationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TransportationThirdParties(), TransportationThirdPartiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TravelExpensesDomestic(), TravelExpensesDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TravelExpensesAbroad(), TravelExpensesAbroadName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(KilometerAllowance(), KilometerAllowanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MealExpensesDomestic(), MealExpensesDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MealExpensesAbroad(), MealExpensesAbroadName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HotelExpensesDomestic(), HotelExpensesDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HotelExpensesAbroad(), HotelExpensesAbroadName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CommunicationCharges(), CommunicationChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTransportationExpenses(), TotalTransportationExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7300..7399', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentalsLeasingBeginTotal(), RentalsLeasingBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentalsLeasing(), RentalsLeasingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRentalsLeasingEtc(), TotalRentalsLeasingEtcName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7400..7499', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Commissions(), CommissionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CommissionsForThirdParties(), CommissionsForThirdPartiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCommissions(), TotalCommissionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7500..7599', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeAdvertisingAndMaintenanceExpenditure(), OfficeAdvertisingAndMaintenanceExpenditureName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PhoneAndInternetCharges(), PhoneAndInternetChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExternalServices(), ExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeductibleAdvertisingExpenses(), DeductibleAdvertisingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonDeductibleAdvertisingExpenses(), NonDeductibleAdvertisingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroupAT.NoVATPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HospitalityDomesticDeductibleAmount(), HospitalityDomesticDeductibleAmountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HospitalityDomesticNonDeductibleAmount(), HospitalityDomesticNonDeductibleAmountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HospitalityAbroadDeductibleAmount(), HospitalityAbroadDeductibleAmountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HospitalityAbroadNonDeductibleAmount(), HospitalityAbroadNonDeductibleAmountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DonationsAndTips(), DonationsAndTipsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOfficeAdvertisingMaintenanceExpenditure(), TotalOfficeAdvertisingMaintenanceExpenditureName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7600..7699', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesAndOtherExpenses(), InsurancesAndOtherExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsuranceExpenses(), InsuranceExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LegalAndConsultancyExpenses(), LegalAndConsultancyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForLegalAndConsultancyExpensesFund(), ProvisionForLegalAndConsultancyExpensesFundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Other(), OtherName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TechnicalLiterature(), TechnicalLiteratureName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExpenditureEducationAndTraining(), ExpenditureEducationAndTrainingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChamberContribution(), ChamberContributionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExpensesThroughCirculationOfMoney(), ExpensesThroughCirculationOfMoneyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationOfSupplies(), DepreciationOfSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationExportReceivables(), DepreciationExportReceivablesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationDomesticReceivables(), DepreciationDomesticReceivablesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IndividualLossReservesForReceivables(), IndividualLossReservesForReceivablesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BlanketLossReservesForReceivables(), BlanketLossReservesForReceivablesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BookValueDisposalOfAssets(), BookValueDisposalOfAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LossesFromDisposalOfAssets(), LossesFromDisposalOfAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperationalExpenditure(), OtherOperationalExpenditureName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForWarrantiesFund(), ProvisionForWarrantiesFundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForCompensationForDamagesFund(), ProvisionForCompensationForDamagesFundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForProductLiabilityFund(), ProvisionForProductLiabilityFundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscProvisionsFund(), MiscProvisionsFundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CashDeficit(), CashDeficitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FCYUnrealizedExchangeLosses(), FCYUnrealizedExchangeLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FCYRealizedExchangeLosses(), FCYRealizedExchangeLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscountRevenue0VAT(), PaymentDiscountRevenue0VATName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostCenterSettlementSocialExpense(), CostCenterSettlementSocialExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsuranceAndOtherExpenditures(), TotalInsuranceAndOtherExpendituresName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7700..7899', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALDEPRECIATIONOPERATIONALEXPENDITURE(), TOTALDEPRECIATIONOPERATIONALEXPENDITUREName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '7000..7998', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FINANCIALREVENUESANDEXPENDITURESBeginTotal(), FINANCIALREVENUESANDEXPENDITURESBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FINANCIALREVENUESANDEXPENDITURES(), FINANCIALREVENUESANDEXPENDITURESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromEquityInterests(), IncomeFromEquityInterestsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestFromBankDeposits(), InterestFromBankDepositsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestFromLoansGranted(), InterestFromLoansGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PassThroughDiscountRates(), PassThroughDiscountRatesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromDefaultInterestAndExpenses(), IncomeFromDefaultInterestAndExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroupAT.NoVATPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherInterestIncome(), OtherInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestIncomeFromFixedRateSecurities(), InterestIncomeFromFixedRateSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherSecuritiesIncome(), OtherSecuritiesIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProceedsFromTheDispOfOtherFinancialAssets(), ProceedsFromTheDispOfOtherFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PmtTolReceivedDecreasesCorrection(), PmtTolReceivedDecreasesCorrectionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromAppreciationOfFinancialAssets(), IncomeFromAppreciationOfFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromAppreciationOfMarketableSecurities(), IncomeFromAppreciationOfMarketableSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationOtherFinancialAssets(), DepreciationOtherFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationOfMarketableSecurities(), DepreciationOfMarketableSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LossFromDisposalOfOtherFinancialAssets(), LossFromDisposalOfOtherFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestExpenseForBankLoans(), InterestExpenseForBankLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnscheduledDepreciationOfFinancialAssets(), UnscheduledDepreciationOfFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestExpenditureForLoans(), InterestExpenditureForLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationActivatedFundsAcquisitionCost(), DepreciationActivatedFundsAcquisitionCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscountInterestExpenditure(), DiscountInterestExpenditureName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DefaultInterestExpenses(), DefaultInterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroupAT.NoVATPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnusedDeliveryDiscounts(), UnusedDeliveryDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PmtTolGrantedDecreasesCorrection(), PmtTolGrantedDecreasesCorrectionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinancialIncomeAndExpensesEndTotal(), TotalFinancialIncomeAndExpensesEndTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '8005..8399', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonRecurringIncomeNonRecurringExpenses(), NonRecurringIncomeNonRecurringExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonRecurringIncome(), NonRecurringIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonRecurringExpenses(), NonRecurringExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxesBeforeIncomeAndEarnings(), TaxesBeforeIncomeAndEarningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CapitalReturnsTax(), CapitalReturnsTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTaxBeforeIncome(), TotalTaxBeforeIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInReserves(), ChangesInReservesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainsFromReversalOfUntaxedReserves(), GainsFromReversalOfUntaxedReservesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainsFromReversalOfValuationReserves(), GainsFromReversalOfValuationReservesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssignmentReservesAccordingTo10EstgIFB(), AssignmentReservesAccordingTo10EstgIFBName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssignmentRLAccordingTo12Estg(), AssignmentRLAccordingTo12EstgName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssignmentToValuationReserves(), AssignmentToValuationReservesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalChangeInReserves(), TotalChangeInReservesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALFINANCIALINCOMEANDEXPENSES(), TOTALFINANCIALINCOMEANDEXPENSESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EQUITYRESERVES(), EQUITYRESERVESName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Equity(), EquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxProvisions(), TaxProvisionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FreeReserves(), FreeReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NetProfitNetLoss(), NetProfitNetLossName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ValuationReservesFor(), ValuationReservesForName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ReservesAccordingTo10EstgIFB(), ReservesAccordingTo10EstgIFBName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ReservesAccordingTo12Estg(), ReservesAccordingTo12EstgName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Private(), PrivateName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EBK(), EBKName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SBK(), SBKName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfitAndLossStatement(), ProfitAndLossStatementName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TOTALEQUITYRESERVES(), TOTALEQUITYRESERVESName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + GLAccountIndent.Indent(); + UpdateGLAccountCatagory(); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforDE() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ModifyGLAccountForW1(); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '0000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), '0400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '1100'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsBeginTotalName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '1510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), '1520'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), '2300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '2600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '2710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLcyName(), '2800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), '2820'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), '3160'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '3310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '3320'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '3710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '6000'); + ContosoGLAccount.AddAccountForLocalization(WagesBeginTotalName(), '6005'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), '6010'); + ContosoGLAccount.AddAccountForLocalization(SalariesBeginTotalName(), '6200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '6210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), '6998'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Co2TaxName(), '7140'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), '7150'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '7220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityAndHeatingName(), '7230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), '7240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '7610'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '7620'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), '7635'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), '7637'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '8060'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), '8070'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), '8160'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), '8340'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), '8360'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '8497'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), '8510'); + ContosoGLAccount.AddAccountForLocalization(CommissioningAnOperationName(), '0005'); + ContosoGLAccount.AddAccountForLocalization(CommissioningTheOperationName(), '0010'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationFixedAssetName(), '0090'); + ContosoGLAccount.AddAccountForLocalization(CommissioningTotalName(), '0099'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsName(), '0100'); + ContosoGLAccount.AddAccountForLocalization(ConcessionsName(), '0110'); + ContosoGLAccount.AddAccountForLocalization(PatentAndLicenseRightsName(), '0120'); + ContosoGLAccount.AddAccountForLocalization(DataProcessingProgramsName(), '0130'); + ContosoGLAccount.AddAccountForLocalization(CompanyValueName(), '0150'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsForIntangibleAssetsName(), '0180'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationIntangibleAssetName(), '0190'); + ContosoGLAccount.AddAccountForLocalization(TotalIntangibleAssetsName(), '0199'); + ContosoGLAccount.AddAccountForLocalization(RealEstateName(), '0200'); + ContosoGLAccount.AddAccountForLocalization(DevelopedLandName(), '0210'); + ContosoGLAccount.AddAccountForLocalization(OperationalBuildingName(), '0220'); + ContosoGLAccount.AddAccountForLocalization(AcquisitionsDuringTheYearVehicleName(), '0230'); + ContosoGLAccount.AddAccountForLocalization(DisposalsDuringTheYearVehicleName(), '0240'); + ContosoGLAccount.AddAccountForLocalization(InvestmentInLeasedBuildingName(), '0260'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationBookedName(), '0290'); + ContosoGLAccount.AddAccountForLocalization(UndevelopedLandName(), '0300'); + ContosoGLAccount.AddAccountForLocalization(TotalRealEstateName(), '0399'); + ContosoGLAccount.AddAccountForLocalization(MachineryAndEquipmentName(), '0410'); + ContosoGLAccount.AddAccountForLocalization(LowValueMachineryName(), '0450'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationOperEqupmentName(), '0490'); + ContosoGLAccount.AddAccountForLocalization(OfficeEquipmentName(), '0500'); + ContosoGLAccount.AddAccountForLocalization(BusinessFacilitiesName(), '0510'); + ContosoGLAccount.AddAccountForLocalization(OfficeMachinesEDPName(), '0520'); + ContosoGLAccount.AddAccountForLocalization(AcquisitionsDuringTheYearRealEstateName(), '0530'); + ContosoGLAccount.AddAccountForLocalization(DisposalsDuringTheYearRealEstateName(), '0540'); + ContosoGLAccount.AddAccountForLocalization(AccumDepreciationOfBuildingName(), '0550'); + ContosoGLAccount.AddAccountForLocalization(TotalOperatingEquipmentName(), '0629'); + ContosoGLAccount.AddAccountForLocalization(VehicleFleetName(), '0630'); + ContosoGLAccount.AddAccountForLocalization(CarName(), '0640'); + ContosoGLAccount.AddAccountForLocalization(TruckName(), '0645'); + ContosoGLAccount.AddAccountForLocalization(AcquisitionsDuringTheYearOperEquipmentName(), '0650'); + ContosoGLAccount.AddAccountForLocalization(DisposalsDuringTheYearOperEquipmentName(), '0660'); + ContosoGLAccount.AddAccountForLocalization(AccumDepreciationName(), '0670'); + ContosoGLAccount.AddAccountForLocalization(TotalVehicleFleetName(), '0679'); + ContosoGLAccount.AddAccountForLocalization(OtherFacilitiesName(), '0680'); + ContosoGLAccount.AddAccountForLocalization(LowValueAssetsOperationalAndBusFacilitiesName(), '0690'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationOtherFacilitiesName(), '0695'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherFacilitiesName(), '0699'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsMadeFacilitiesUnderConstrName(), '0700'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsMadeForTangibleFixedAssetsName(), '0710'); + ContosoGLAccount.AddAccountForLocalization(FacilitiesUnderConstructionName(), '0720'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationAdvPaymentName(), '0790'); + ContosoGLAccount.AddAccountForLocalization(TotalAdvPaymMadeFacilitiesUnderConstrName(), '0799'); + ContosoGLAccount.AddAccountForLocalization(FinancialAssetsName(), '0800'); + ContosoGLAccount.AddAccountForLocalization(EquityInterestsInAssociatedCompaniesName(), '0810'); + ContosoGLAccount.AddAccountForLocalization(OtherEquityInterestsName(), '0820'); + ContosoGLAccount.AddAccountForLocalization(CompanySharesOrEquityInterestsName(), '0900'); + ContosoGLAccount.AddAccountForLocalization(InvestmentSecuritiesName(), '0910'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesProvisionsForSeverancePayName(), '0920'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesProvisionsForPensionPlanName(), '0930'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsMadeForFinancialAssetsName(), '0940'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationFinancialAssetName(), '0950'); + ContosoGLAccount.AddAccountForLocalization(TotalFinancialAssetsName(), '0995'); + ContosoGLAccount.AddAccountForLocalization(TOTALFIXEDASSETSName(), '0998'); + ContosoGLAccount.AddAccountForLocalization(SUPPLIESName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(PurchaseSettlementBeginTotalName(), '1005'); + ContosoGLAccount.AddAccountForLocalization(PurchaseSettlementName(), '1010'); + ContosoGLAccount.AddAccountForLocalization(OpeningInventoryName(), '1020'); + ContosoGLAccount.AddAccountForLocalization(TotalPurchaseSettlementName(), '1099'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialSupplyName(), '1110'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialSupplyInterimName(), '1120'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsPostReceiptInterimName(), '1130'); + ContosoGLAccount.AddAccountForLocalization(TotalRawMaterialsName(), '1199'); + ContosoGLAccount.AddAccountForLocalization(PartsPurchasedBeginTotalName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(PartsPurchasedName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(TotalPartsPurchasedName(), '1299'); + ContosoGLAccount.AddAccountForLocalization(AuxiliariesOperatingMaterialsName(), '1300'); + ContosoGLAccount.AddAccountForLocalization(AuxiliariesSupplyName(), '1310'); + ContosoGLAccount.AddAccountForLocalization(OperatingMaterialsSupplyName(), '1320'); + ContosoGLAccount.AddAccountForLocalization(FuelOilSupplyName(), '1330'); + ContosoGLAccount.AddAccountForLocalization(TotalAuxiliariesOperatingMaterialsName(), '1399'); + ContosoGLAccount.AddAccountForLocalization(WorkInProcessBeginTotalName(), '1400'); + ContosoGLAccount.AddAccountForLocalization(WorkInProcessName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(CostWorkInProcessName(), '1420'); + ContosoGLAccount.AddAccountForLocalization(AnticipatedCostWorkInProcessName(), '1421'); + ContosoGLAccount.AddAccountForLocalization(SalesWorkInProcessName(), '1430'); + ContosoGLAccount.AddAccountForLocalization(AnticipatedSalesWorkInProcessName(), '1431'); + ContosoGLAccount.AddAccountForLocalization(TotalWorkInProcessName(), '1499'); + ContosoGLAccount.AddAccountForLocalization(TotalFinishedGoodsName(), '1599'); + ContosoGLAccount.AddAccountForLocalization(GoodsName(), '1600'); + ContosoGLAccount.AddAccountForLocalization(SupplyTradeGoodsName(), '1610'); + ContosoGLAccount.AddAccountForLocalization(SupplyTradeGoodsInterimName(), '1620'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsPostReceiptInterimName(), '1630'); + ContosoGLAccount.AddAccountForLocalization(TotalGoodsName(), '1699'); + ContosoGLAccount.AddAccountForLocalization(ServiceNotBillableYetName(), '1700'); + ContosoGLAccount.AddAccountForLocalization(ServiceNotBillableYesName(), '1710'); + ContosoGLAccount.AddAccountForLocalization(TotalServicesNotBillableYetName(), '1799'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsMadeName(), '1800'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsMadeForSuppliesName(), '1810'); + ContosoGLAccount.AddAccountForLocalization(TotalAdvancePaymentsMadeName(), '1899'); + ContosoGLAccount.AddAccountForLocalization(TOTALSUPPLIESName(), '1998'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentAssetsName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesName(), '2001'); + ContosoGLAccount.AddAccountForLocalization(TradeReceivablesName(), '2005'); + ContosoGLAccount.AddAccountForLocalization(TradeReceivablesDomesticName(), '2010'); + ContosoGLAccount.AddAccountForLocalization(TradeReceivablesForeignName(), '2020'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesIntercompanyName(), '2030'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesCashOnDeliveryName(), '2040'); + ContosoGLAccount.AddAccountForLocalization(ChangeOfOwnershipName(), '2050'); + ContosoGLAccount.AddAccountForLocalization(InterimAccountAdvancePaymentsReceivedName(), '2070'); + ContosoGLAccount.AddAccountForLocalization(IndividualLossReservesForDomesticReceivablesName(), '2080'); + ContosoGLAccount.AddAccountForLocalization(BlanketLossReservesForDomesticReceivablesName(), '2090'); + ContosoGLAccount.AddAccountForLocalization(TradeReceivablesIntraCommunityName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(IndivLossReservesForIntraCommunityReceivabName(), '2180'); + ContosoGLAccount.AddAccountForLocalization(BlanketLossReservesForIntraCommunityReceivName(), '2190'); + ContosoGLAccount.AddAccountForLocalization(TradeReceivablesExportName(), '2200'); + ContosoGLAccount.AddAccountForLocalization(IndividualLossReservesForReceivablesExportName(), '2280'); + ContosoGLAccount.AddAccountForLocalization(BlanketLossReservesForReceivablesExportName(), '2290'); + ContosoGLAccount.AddAccountForLocalization(GrantedLoanName(), '2350'); + ContosoGLAccount.AddAccountForLocalization(OtherAdvancePaymentsMadeName(), '2390'); + ContosoGLAccount.AddAccountForLocalization(TotalTradeReceivablesName(), '2499'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesFromOffsettingOfLeviesName(), '2500'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATReducedName(), '2510'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATStandardName(), '2520'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATAcquisitionReducedName(), '2530'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATAcquisitionStandardName(), '2540'); + ContosoGLAccount.AddAccountForLocalization(ImportSalesTaxName(), '2550'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATClearingAccountName(), '2560'); + ContosoGLAccount.AddAccountForLocalization(CapitalReturnsTaxAllowableOnIncomeTaxName(), '2570'); + ContosoGLAccount.AddAccountForLocalization(TotalAccountsReceivableOffsettingOfLeviesName(), '2598'); + ContosoGLAccount.AddAccountForLocalization(TotalAccountsReceivableName(), '2599'); + ContosoGLAccount.AddAccountForLocalization(MarketableSecuritiesName(), '2650'); + ContosoGLAccount.AddAccountForLocalization(EndorsedCededBillOfExchangeName(), '2680'); + ContosoGLAccount.AddAccountForLocalization(TotalSecuritiesName(), '2699'); + ContosoGLAccount.AddAccountForLocalization(CashAndBankName(), '2700'); + ContosoGLAccount.AddAccountForLocalization(PostageStampName(), '2730'); + ContosoGLAccount.AddAccountForLocalization(RevenueStampsName(), '2740'); + ContosoGLAccount.AddAccountForLocalization(SettlementAccountCashBankName(), '2770'); + ContosoGLAccount.AddAccountForLocalization(ChecksReceivedName(), '2780'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivableFromCreditCardOrganizationName(), '2790'); + ContosoGLAccount.AddAccountForLocalization(BankCurrenciesName(), '2810'); + ContosoGLAccount.AddAccountForLocalization(TotalCashAndBankName(), '2899'); + ContosoGLAccount.AddAccountForLocalization(PrepaidExpensesName(), '2900'); + ContosoGLAccount.AddAccountForLocalization(AccrualsName(), '2910'); + ContosoGLAccount.AddAccountForLocalization(BorrowingCostsName(), '2950'); + ContosoGLAccount.AddAccountForLocalization(TotalPrepaidExpensesName(), '2995'); + ContosoGLAccount.AddAccountForLocalization(TOTALOTHERCURRENTASSETSName(), '2998'); + ContosoGLAccount.AddAccountForLocalization(LIABILITIESPROVISIONSName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsName(), '3005'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsForSeverancePaymentsName(), '3010'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsForPensionsName(), '3020'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsForCorporateTaxName(), '3030'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsForWarrantiesName(), '3060'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsForCompensationForDamageName(), '3070'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsForLegalAndConsultancyExpensesName(), '3080'); + ContosoGLAccount.AddAccountForLocalization(TotalProvisionsName(), '3099'); + ContosoGLAccount.AddAccountForLocalization(AmountsOwedToCreditFinancialInstitutionsName(), '3100'); + ContosoGLAccount.AddAccountForLocalization(BankWithCreditLimitName(), '3110'); + ContosoGLAccount.AddAccountForLocalization(ChecksIssuedName(), '3120'); + ContosoGLAccount.AddAccountForLocalization(LoanName(), '3150'); + ContosoGLAccount.AddAccountForLocalization(SettlementAccountCreditCardsName(), '3170'); + ContosoGLAccount.AddAccountForLocalization(TotalAmountsOwedToCreditFinancInstitutionsName(), '3199'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsReceivedBeginTotalName(), '3200'); + ContosoGLAccount.AddAccountForLocalization(AdvancePaymentsReceivedName(), '3210'); + ContosoGLAccount.AddAccountForLocalization(HardwareContractsPaidInAdvanceName(), '3220'); + ContosoGLAccount.AddAccountForLocalization(SoftwareContractsPaidInAdvanceName(), '3230'); + ContosoGLAccount.AddAccountForLocalization(TotalAdvancePaymentsReceivedName(), '3290'); + ContosoGLAccount.AddAccountForLocalization(PayablesToVendorsName(), '3300'); + ContosoGLAccount.AddAccountForLocalization(VendorsIntercompanyName(), '3330'); + ContosoGLAccount.AddAccountForLocalization(NotePayableName(), '3360'); + ContosoGLAccount.AddAccountForLocalization(InterimAccountAdvancePaymentsMadeName(), '3370'); + ContosoGLAccount.AddAccountForLocalization(TotalPayablesToVendorsName(), '3499'); + ContosoGLAccount.AddAccountForLocalization(TaxLiabilitiesName(), '3500'); + ContosoGLAccount.AddAccountForLocalization(SalesTax10Name(), '3510'); + ContosoGLAccount.AddAccountForLocalization(SalesTax20Name(), '3520'); + ContosoGLAccount.AddAccountForLocalization(SalesTaxProfitAndIncomeTax10Name(), '3530'); + ContosoGLAccount.AddAccountForLocalization(SalesTaxProfitAndIncomeTax20Name(), '3540'); + ContosoGLAccount.AddAccountForLocalization(TaxOfficeTaxPayableName(), '3550'); + ContosoGLAccount.AddAccountForLocalization(SalesTaxClearingAccountName(), '3560'); + ContosoGLAccount.AddAccountForLocalization(ProductionOrderPayrollTaxProfitDPName(), '3570'); + ContosoGLAccount.AddAccountForLocalization(SettlementAccountTaxOfficeName(), '3580'); + ContosoGLAccount.AddAccountForLocalization(TotalLiabilitiesFromTaxesName(), '3599'); + ContosoGLAccount.AddAccountForLocalization(PayablesRelatedToSocialSecurityName(), '3600'); + ContosoGLAccount.AddAccountForLocalization(SettlementAccountSocialInsuranceName(), '3610'); + ContosoGLAccount.AddAccountForLocalization(SettlementAccountLocalTaxName(), '3620'); + ContosoGLAccount.AddAccountForLocalization(SettlementAccountWagesSalariesName(), '3630'); + ContosoGLAccount.AddAccountForLocalization(TaxPaymentsWithheldName(), '3640'); + ContosoGLAccount.AddAccountForLocalization(PaymentOfTaxArrearsName(), '3650'); + ContosoGLAccount.AddAccountForLocalization(PayrollTaxPaymentsName(), '3660'); + ContosoGLAccount.AddAccountForLocalization(VacationCompensationPaymentsName(), '3670'); + ContosoGLAccount.AddAccountForLocalization(TotalSocialSecurityName(), '3699'); + ContosoGLAccount.AddAccountForLocalization(OtherLiabilitiesAndDeferralsName(), '3700'); + ContosoGLAccount.AddAccountForLocalization(DeferredIncomeName(), '3900'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherLiabilitiesName(), '3997'); + ContosoGLAccount.AddAccountForLocalization(TOTALLIABILITIESPROVISIONSName(), '3998'); + ContosoGLAccount.AddAccountForLocalization(OPERATINGINCOMEName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(RevenuesAndRevenueReductionName(), '4005'); + ContosoGLAccount.AddAccountForLocalization(RevenuesName(), '4006'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesTradeName(), '4007'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesTradeDomesticName(), '4010'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesTradeExportName(), '4020'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesTradeEUName(), '4030'); + ContosoGLAccount.AddAccountForLocalization(ProjectSalesName(), '4040'); + ContosoGLAccount.AddAccountForLocalization(ProjectSalesCorrectionName(), '4050'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesRevenuesTradeName(), '4099'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesRawMaterialName(), '4100'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesRawMaterialDomesticName(), '4110'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesRawMaterialExportName(), '4120'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesRawMaterialEUName(), '4130'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesRevenuesRawMaterialName(), '4199'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesResourcesName(), '4200'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesResourcesDomesticName(), '4210'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesResourcesExportName(), '4220'); + ContosoGLAccount.AddAccountForLocalization(SalesRevenuesResourcesEUName(), '4230'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesRevenuesResourcesName(), '4239'); + ContosoGLAccount.AddAccountForLocalization(ProjectRevenuesBeginTotalName(), '4240'); + ContosoGLAccount.AddAccountForLocalization(ProjectRevenuesName(), '4250'); + ContosoGLAccount.AddAccountForLocalization(OtherProjectRevenuesName(), '4260'); + ContosoGLAccount.AddAccountForLocalization(TotalProjectRevenuesName(), '4269'); + ContosoGLAccount.AddAccountForLocalization(RevenuesServiceContractsName(), '4270'); + ContosoGLAccount.AddAccountForLocalization(RevenueServiceContractName(), '4280'); + ContosoGLAccount.AddAccountForLocalization(TotalServiceContractsName(), '4299'); + ContosoGLAccount.AddAccountForLocalization(ChargesAndInterestName(), '4300'); + ContosoGLAccount.AddAccountForLocalization(ServiceChargesName(), '4310'); + ContosoGLAccount.AddAccountForLocalization(ServiceInterestName(), '4320'); + ContosoGLAccount.AddAccountForLocalization(ConsultingFeesName(), '4330'); + ContosoGLAccount.AddAccountForLocalization(TotalChargesAndInterestName(), '4395'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenuesName(), '4396'); + ContosoGLAccount.AddAccountForLocalization(RevenueAdjustmentsName(), '4400'); + ContosoGLAccount.AddAccountForLocalization(RevenueAdjustmentDomestic10Name(), '4410'); + ContosoGLAccount.AddAccountForLocalization(RevenueAdjustmentDomestic20Name(), '4420'); + ContosoGLAccount.AddAccountForLocalization(RevenueAdjustmentExportName(), '4430'); + ContosoGLAccount.AddAccountForLocalization(RevenueAdjustmentEUName(), '4440'); + ContosoGLAccount.AddAccountForLocalization(CashDiscountPaidName(), '4450'); + ContosoGLAccount.AddAccountForLocalization(CashDiscountPaidAdjustmentName(), '4455'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenueAdjustmentsName(), '4498'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenuesAndRevenueReductionName(), '4499'); + ContosoGLAccount.AddAccountForLocalization(InventoryChangesBeginTotalName(), '4500'); + ContosoGLAccount.AddAccountForLocalization(InventoryChangesName(), '4510'); + ContosoGLAccount.AddAccountForLocalization(OwnCostCapitalizedName(), '4580'); + ContosoGLAccount.AddAccountForLocalization(TotalInventoryChangesName(), '4599'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingIncomeBeginTotalName(), '4600'); + ContosoGLAccount.AddAccountForLocalization(ProceedsFromTheSaleOfAssetsName(), '4610'); + ContosoGLAccount.AddAccountForLocalization(InsuranceCompensationsName(), '4620'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromTheDisposalOfAssetsName(), '4630'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromTheAppreciationOfIntangibleAssetsName(), '4640'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromAppreciationOfFixedAssetsName(), '4650'); + ContosoGLAccount.AddAccountForLocalization(IncFromReleaseOfProvisionsForSeverPaymName(), '4700'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromTheReleaseOfProvForPensionPlanName(), '4710'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromTheReleaseOfOtherProvisionsName(), '4760'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingIncomeName(), '4800'); + ContosoGLAccount.AddAccountForLocalization(OverageOfCashName(), '4810'); + ContosoGLAccount.AddAccountForLocalization(BenefitInKindName(), '4820'); + ContosoGLAccount.AddAccountForLocalization(RentalYieldName(), '4830'); + ContosoGLAccount.AddAccountForLocalization(ExpenseReimbursementName(), '4860'); + ContosoGLAccount.AddAccountForLocalization(FCYUnrealizedExchangeGainsName(), '4870'); + ContosoGLAccount.AddAccountForLocalization(FCYRealizedExchangeGainsName(), '4880'); + ContosoGLAccount.AddAccountForLocalization(OtherInsuranceCompensationName(), '4890'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromReleaseOfLossReservesName(), '4900'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherOperatingIncomeName(), '4997'); + ContosoGLAccount.AddAccountForLocalization(TOTALOPERATINGINCOMEName(), '4998'); + ContosoGLAccount.AddAccountForLocalization(COSTOFMATERIALSName(), '5000'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsName(), '5005'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsConsumptionName(), '5010'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsInventoryAdjustmentName(), '5020'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsDirectCostName(), '5030'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsOverheadExpensesName(), '5040'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsPurchaseVarianceAccountName(), '5045'); + ContosoGLAccount.AddAccountForLocalization(DiscountReceivedTradeName(), '5050'); + ContosoGLAccount.AddAccountForLocalization(DeliveryExpensesTradeName(), '5060'); + ContosoGLAccount.AddAccountForLocalization(DiscountReceivedRawMaterialsName(), '5070'); + ContosoGLAccount.AddAccountForLocalization(DeliveryExpensesRawMaterialName(), '5080'); + ContosoGLAccount.AddAccountForLocalization(TotalTradeGoodsName(), '5099'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialName(), '5105'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialConsumptionName(), '5110'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialInventoryAdjustmentName(), '5120'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialDirectCostName(), '5130'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialOverheadExpensesName(), '5140'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialPurchaseVarianceAccountName(), '5145'); + ContosoGLAccount.AddAccountForLocalization(TotalRawMaterialName(), '5199'); + ContosoGLAccount.AddAccountForLocalization(ProcessingName(), '5200'); + ContosoGLAccount.AddAccountForLocalization(ProcessingConsumptionName(), '5210'); + ContosoGLAccount.AddAccountForLocalization(ProcessingInventoryAdjustmentName(), '5230'); + ContosoGLAccount.AddAccountForLocalization(ProcessingOverheadExpensesName(), '5240'); + ContosoGLAccount.AddAccountForLocalization(ProcessingPurchaseVarianceAccountName(), '5245'); + ContosoGLAccount.AddAccountForLocalization(TotalProcessingName(), '5249'); + ContosoGLAccount.AddAccountForLocalization(ProjectsName(), '5250'); + ContosoGLAccount.AddAccountForLocalization(ProjectCostsName(), '5260'); + ContosoGLAccount.AddAccountForLocalization(ProjectCostsAllocatedName(), '5270'); + ContosoGLAccount.AddAccountForLocalization(ProjectCostsCorrectionName(), '5280'); + ContosoGLAccount.AddAccountForLocalization(TotalProjectsName(), '5299'); + ContosoGLAccount.AddAccountForLocalization(VarianceName(), '5300'); + ContosoGLAccount.AddAccountForLocalization(MaterialVarianceName(), '5310'); + ContosoGLAccount.AddAccountForLocalization(CapacityVarianceName(), '5320'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedVarianceName(), '5330'); + ContosoGLAccount.AddAccountForLocalization(CapOverheadVarianceName(), '5340'); + ContosoGLAccount.AddAccountForLocalization(ManufacturingOverheadVarianceName(), '5350'); + ContosoGLAccount.AddAccountForLocalization(TotalVarianceName(), '5399'); + ContosoGLAccount.AddAccountForLocalization(ConsumptionName(), '5400'); + ContosoGLAccount.AddAccountForLocalization(AuxiliariesConsumptionName(), '5410'); + ContosoGLAccount.AddAccountForLocalization(PackagingMaterialConsumptionName(), '5420'); + ContosoGLAccount.AddAccountForLocalization(OperatingMaterialsConsumptionName(), '5430'); + ContosoGLAccount.AddAccountForLocalization(CleaningMaterialsConsumptionName(), '5440'); + ContosoGLAccount.AddAccountForLocalization(ConsumptionOfIncidentalsName(), '5450'); + ContosoGLAccount.AddAccountForLocalization(ConsumptionOfFuelsName(), '5460'); + ContosoGLAccount.AddAccountForLocalization(TotalConsumptionName(), '5499'); + ContosoGLAccount.AddAccountForLocalization(PurchaseCurrentMaterialName(), '5500'); + ContosoGLAccount.AddAccountForLocalization(PurchaseTradeDomesticName(), '5510'); + ContosoGLAccount.AddAccountForLocalization(PurchaseTradeImportName(), '5520'); + ContosoGLAccount.AddAccountForLocalization(PurchaseTradeEUName(), '5530'); + ContosoGLAccount.AddAccountForLocalization(PurchaseRawMaterialsDomesticName(), '5540'); + ContosoGLAccount.AddAccountForLocalization(PurchaseRawMaterialsImportName(), '5550'); + ContosoGLAccount.AddAccountForLocalization(PurchaseRawMaterialsEUName(), '5560'); + ContosoGLAccount.AddAccountForLocalization(TotalPurchaseActiveMaterialName(), '5599'); + ContosoGLAccount.AddAccountForLocalization(OtherServicesReceivedName(), '5700'); + ContosoGLAccount.AddAccountForLocalization(ServicesReceivedName(), '5710'); + ContosoGLAccount.AddAccountForLocalization(ServiceChargesPurchaseName(), '5720'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherServicesName(), '5799'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscountRevenueBeginTotalName(), '5800'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscountRevenueName(), '5830'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscountRevenueCorrectionName(), '5835'); + ContosoGLAccount.AddAccountForLocalization(TotalPaymentDiscountRevenueName(), '5899'); + ContosoGLAccount.AddAccountForLocalization(TOTALCOSTOFMATERIALSName(), '5998'); + ContosoGLAccount.AddAccountForLocalization(WagesWithoutServicesName(), '6040'); + ContosoGLAccount.AddAccountForLocalization(TotalWagesName(), '6199'); + ContosoGLAccount.AddAccountForLocalization(SalariesWithoutServicesName(), '6240'); + ContosoGLAccount.AddAccountForLocalization(TotalSalariesName(), '6399'); + ContosoGLAccount.AddAccountForLocalization(SeverancePaymentsBeginTotalName(), '6400'); + ContosoGLAccount.AddAccountForLocalization(SeverancePaymentsName(), '6410'); + ContosoGLAccount.AddAccountForLocalization(SeverancePaymentProvisionFundName(), '6420'); + ContosoGLAccount.AddAccountForLocalization(PensionsPaymentsName(), '6450'); + ContosoGLAccount.AddAccountForLocalization(PensionProvisionFundName(), '6455'); + ContosoGLAccount.AddAccountForLocalization(TotalSeverancePaymentsName(), '6499'); + ContosoGLAccount.AddAccountForLocalization(StatutorySocialExpensesName(), '6500'); + ContosoGLAccount.AddAccountForLocalization(StatutorySocialExpensesWorkerName(), '6510'); + ContosoGLAccount.AddAccountForLocalization(StatutorySocialExpensesEmployeeName(), '6550'); + ContosoGLAccount.AddAccountForLocalization(TotalStatutorySocialExpensesName(), '6599'); + ContosoGLAccount.AddAccountForLocalization(OtherSocialExpensesName(), '6600'); + ContosoGLAccount.AddAccountForLocalization(LocalTaxName(), '6610'); + ContosoGLAccount.AddAccountForLocalization(GDContributionFamilyAllowanceProfitName(), '6620'); + ContosoGLAccount.AddAccountForLocalization(AdditionToProfitName(), '6630'); + ContosoGLAccount.AddAccountForLocalization(LevyForTheEmployerViennaName(), '6640'); + ContosoGLAccount.AddAccountForLocalization(VoluntarySocialExpensesName(), '6700'); + ContosoGLAccount.AddAccountForLocalization(CostCenterSettlementInsuranceName(), '6890'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherSocialExpensesName(), '6997'); + ContosoGLAccount.AddAccountForLocalization(DEPRECIATIONOTHERCOSTOFOPERATIONSName(), '7000'); + ContosoGLAccount.AddAccountForLocalization(DepreciationName(), '7005'); + ContosoGLAccount.AddAccountForLocalization(ScheduledAmortizationOnIntangibleAssetsName(), '7010'); + ContosoGLAccount.AddAccountForLocalization(UnscheduledAmortizationOnIntangibleAssetsName(), '7020'); + ContosoGLAccount.AddAccountForLocalization(ScheduledDepreciationOfFixedAssetsName(), '7030'); + ContosoGLAccount.AddAccountForLocalization(ScheduledDepreciationVehiclesName(), '7040'); + ContosoGLAccount.AddAccountForLocalization(UnscheduledDepreciationOfFixedAssetsName(), '7050'); + ContosoGLAccount.AddAccountForLocalization(LowValueAssetsName(), '7060'); + ContosoGLAccount.AddAccountForLocalization(TotalDepreciationName(), '7099'); + ContosoGLAccount.AddAccountForLocalization(OtherTaxesName(), '7100'); + ContosoGLAccount.AddAccountForLocalization(PropertyTaxName(), '7110'); + ContosoGLAccount.AddAccountForLocalization(BeverageAndAlcoholTaxName(), '7120'); + ContosoGLAccount.AddAccountForLocalization(ChargesAndRevenueStampsName(), '7130'); + ContosoGLAccount.AddAccountForLocalization(MiscOtherTaxesName(), '7160'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherTaxesName(), '7199'); + ContosoGLAccount.AddAccountForLocalization(MaintenanceCleaningEtcName(), '7200'); + ContosoGLAccount.AddAccountForLocalization(ThirdPartyMaintenanceName(), '7210'); + ContosoGLAccount.AddAccountForLocalization(CarOperatingExpensesName(), '7250'); + ContosoGLAccount.AddAccountForLocalization(TruckOperatingExpensesName(), '7260'); + ContosoGLAccount.AddAccountForLocalization(CarRepairsAndMaintenanceName(), '7270'); + ContosoGLAccount.AddAccountForLocalization(FuelName(), '7280'); + ContosoGLAccount.AddAccountForLocalization(TotalMaintenanceEtcName(), '7299'); + ContosoGLAccount.AddAccountForLocalization(TransportationTravelCommunicationsName(), '7300'); + ContosoGLAccount.AddAccountForLocalization(TransportationThirdPartiesName(), '7310'); + ContosoGLAccount.AddAccountForLocalization(TravelExpensesDomesticName(), '7320'); + ContosoGLAccount.AddAccountForLocalization(TravelExpensesAbroadName(), '7330'); + ContosoGLAccount.AddAccountForLocalization(KilometerAllowanceName(), '7340'); + ContosoGLAccount.AddAccountForLocalization(MealExpensesDomesticName(), '7350'); + ContosoGLAccount.AddAccountForLocalization(MealExpensesAbroadName(), '7360'); + ContosoGLAccount.AddAccountForLocalization(HotelExpensesDomesticName(), '7370'); + ContosoGLAccount.AddAccountForLocalization(HotelExpensesAbroadName(), '7380'); + ContosoGLAccount.AddAccountForLocalization(CommunicationChargesName(), '7390'); + ContosoGLAccount.AddAccountForLocalization(TotalTransportationExpensesName(), '7399'); + ContosoGLAccount.AddAccountForLocalization(RentalsLeasingBeginTotalName(), '7400'); + ContosoGLAccount.AddAccountForLocalization(RentalsLeasingName(), '7410'); + ContosoGLAccount.AddAccountForLocalization(TotalRentalsLeasingEtcName(), '7499'); + ContosoGLAccount.AddAccountForLocalization(CommissionsName(), '7500'); + ContosoGLAccount.AddAccountForLocalization(CommissionsForThirdPartiesName(), '7510'); + ContosoGLAccount.AddAccountForLocalization(TotalCommissionsName(), '7599'); + ContosoGLAccount.AddAccountForLocalization(OfficeAdvertisingAndMaintenanceExpenditureName(), '7600'); + ContosoGLAccount.AddAccountForLocalization(PhoneAndInternetChargesName(), '7630'); + ContosoGLAccount.AddAccountForLocalization(ExternalServicesName(), '7636'); + ContosoGLAccount.AddAccountForLocalization(DeductibleAdvertisingExpensesName(), '7650'); + ContosoGLAccount.AddAccountForLocalization(NonDeductibleAdvertisingExpensesName(), '7660'); + ContosoGLAccount.AddAccountForLocalization(HospitalityDomesticDeductibleAmountName(), '7680'); + ContosoGLAccount.AddAccountForLocalization(HospitalityDomesticNonDeductibleAmountName(), '7681'); + ContosoGLAccount.AddAccountForLocalization(HospitalityAbroadDeductibleAmountName(), '7682'); + ContosoGLAccount.AddAccountForLocalization(HospitalityAbroadNonDeductibleAmountName(), '7683'); + ContosoGLAccount.AddAccountForLocalization(DonationsAndTipsName(), '7690'); + ContosoGLAccount.AddAccountForLocalization(TotalOfficeAdvertisingMaintenanceExpenditureName(), '7699'); + ContosoGLAccount.AddAccountForLocalization(InsurancesAndOtherExpensesName(), '7700'); + ContosoGLAccount.AddAccountForLocalization(InsuranceExpensesName(), '7710'); + ContosoGLAccount.AddAccountForLocalization(LegalAndConsultancyExpensesName(), '7720'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForLegalAndConsultancyExpensesFundName(), '7730'); + ContosoGLAccount.AddAccountForLocalization(OtherName(), '7740'); + ContosoGLAccount.AddAccountForLocalization(TechnicalLiteratureName(), '7760'); + ContosoGLAccount.AddAccountForLocalization(ExpenditureEducationAndTrainingName(), '7770'); + ContosoGLAccount.AddAccountForLocalization(ChamberContributionName(), '7780'); + ContosoGLAccount.AddAccountForLocalization(ExpensesThroughCirculationOfMoneyName(), '7790'); + ContosoGLAccount.AddAccountForLocalization(DepreciationOfSuppliesName(), '7800'); + ContosoGLAccount.AddAccountForLocalization(DepreciationExportReceivablesName(), '7810'); + ContosoGLAccount.AddAccountForLocalization(DepreciationDomesticReceivablesName(), '7812'); + ContosoGLAccount.AddAccountForLocalization(IndividualLossReservesForReceivablesName(), '7815'); + ContosoGLAccount.AddAccountForLocalization(BlanketLossReservesForReceivablesName(), '7818'); + ContosoGLAccount.AddAccountForLocalization(BookValueDisposalOfAssetsName(), '7820'); + ContosoGLAccount.AddAccountForLocalization(LossesFromDisposalOfAssetsName(), '7830'); + ContosoGLAccount.AddAccountForLocalization(OtherOperationalExpenditureName(), '7850'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForWarrantiesFundName(), '7851'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForCompensationForDamagesFundName(), '7852'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForProductLiabilityFundName(), '7853'); + ContosoGLAccount.AddAccountForLocalization(MiscProvisionsFundName(), '7854'); + ContosoGLAccount.AddAccountForLocalization(CashDeficitName(), '7855'); + ContosoGLAccount.AddAccountForLocalization(FCYUnrealizedExchangeLossesName(), '7860'); + ContosoGLAccount.AddAccountForLocalization(FCYRealizedExchangeLossesName(), '7870'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscountRevenue0VATName(), '7882'); + ContosoGLAccount.AddAccountForLocalization(CostCenterSettlementSocialExpenseName(), '7890'); + ContosoGLAccount.AddAccountForLocalization(TotalInsuranceAndOtherExpendituresName(), '7899'); + ContosoGLAccount.AddAccountForLocalization(TOTALDEPRECIATIONOPERATIONALEXPENDITUREName(), '7998'); + ContosoGLAccount.AddAccountForLocalization(FINANCIALREVENUESANDEXPENDITURESBeginTotalName(), '8000'); + ContosoGLAccount.AddAccountForLocalization(FINANCIALREVENUESANDEXPENDITURESName(), '8005'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromEquityInterestsName(), '8010'); + ContosoGLAccount.AddAccountForLocalization(InterestFromBankDepositsName(), '8020'); + ContosoGLAccount.AddAccountForLocalization(InterestFromLoansGrantedName(), '8030'); + ContosoGLAccount.AddAccountForLocalization(PassThroughDiscountRatesName(), '8040'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromDefaultInterestAndExpensesName(), '8050'); + ContosoGLAccount.AddAccountForLocalization(OtherInterestIncomeName(), '8090'); + ContosoGLAccount.AddAccountForLocalization(InterestIncomeFromFixedRateSecuritiesName(), '8100'); + ContosoGLAccount.AddAccountForLocalization(OtherSecuritiesIncomeName(), '8140'); + ContosoGLAccount.AddAccountForLocalization(ProceedsFromTheDispOfOtherFinancialAssetsName(), '8150'); + ContosoGLAccount.AddAccountForLocalization(PmtTolReceivedDecreasesCorrectionName(), '8170'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromAppreciationOfFinancialAssetsName(), '8180'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromAppreciationOfMarketableSecuritiesName(), '8185'); + ContosoGLAccount.AddAccountForLocalization(DepreciationOtherFinancialAssetsName(), '8260'); + ContosoGLAccount.AddAccountForLocalization(DepreciationOfMarketableSecuritiesName(), '8265'); + ContosoGLAccount.AddAccountForLocalization(LossFromDisposalOfOtherFinancialAssetsName(), '8270'); + ContosoGLAccount.AddAccountForLocalization(InterestExpenseForBankLoansName(), '8280'); + ContosoGLAccount.AddAccountForLocalization(UnscheduledDepreciationOfFinancialAssetsName(), '8285'); + ContosoGLAccount.AddAccountForLocalization(InterestExpenditureForLoansName(), '8290'); + ContosoGLAccount.AddAccountForLocalization(DepreciationActivatedFundsAcquisitionCostName(), '8300'); + ContosoGLAccount.AddAccountForLocalization(DiscountInterestExpenditureName(), '8310'); + ContosoGLAccount.AddAccountForLocalization(DefaultInterestExpensesName(), '8320'); + ContosoGLAccount.AddAccountForLocalization(UnusedDeliveryDiscountsName(), '8350'); + ContosoGLAccount.AddAccountForLocalization(PmtTolGrantedDecreasesCorrectionName(), '8370'); + ContosoGLAccount.AddAccountForLocalization(TotalFinancialIncomeAndExpensesEndTotalName(), '8399'); + ContosoGLAccount.AddAccountForLocalization(NonRecurringIncomeNonRecurringExpensesName(), '8400'); + ContosoGLAccount.AddAccountForLocalization(NonRecurringIncomeName(), '8410'); + ContosoGLAccount.AddAccountForLocalization(NonRecurringExpensesName(), '8450'); + ContosoGLAccount.AddAccountForLocalization(TaxesBeforeIncomeAndEarningsName(), '8500'); + ContosoGLAccount.AddAccountForLocalization(CapitalReturnsTaxName(), '8520'); + ContosoGLAccount.AddAccountForLocalization(TotalTaxBeforeIncomeName(), '8597'); + ContosoGLAccount.AddAccountForLocalization(ChangesInReservesName(), '8600'); + ContosoGLAccount.AddAccountForLocalization(GainsFromReversalOfUntaxedReservesName(), '8610'); + ContosoGLAccount.AddAccountForLocalization(GainsFromReversalOfValuationReservesName(), '8630'); + ContosoGLAccount.AddAccountForLocalization(AssignmentReservesAccordingTo10EstgIFBName(), '8810'); + ContosoGLAccount.AddAccountForLocalization(AssignmentRLAccordingTo12EstgName(), '8820'); + ContosoGLAccount.AddAccountForLocalization(AssignmentToValuationReservesName(), '8830'); + ContosoGLAccount.AddAccountForLocalization(TotalChangeInReservesName(), '8897'); + ContosoGLAccount.AddAccountForLocalization(TOTALFINANCIALINCOMEANDEXPENSESName(), '8998'); + ContosoGLAccount.AddAccountForLocalization(EQUITYRESERVESName(), '9000'); + ContosoGLAccount.AddAccountForLocalization(EquityName(), '9010'); + ContosoGLAccount.AddAccountForLocalization(TaxProvisionsName(), '9020'); + ContosoGLAccount.AddAccountForLocalization(FreeReservesName(), '9350'); + ContosoGLAccount.AddAccountForLocalization(NetProfitNetLossName(), '9390'); + ContosoGLAccount.AddAccountForLocalization(ValuationReservesForName(), '9400'); + ContosoGLAccount.AddAccountForLocalization(ReservesAccordingTo10EstgIFBName(), '9510'); + ContosoGLAccount.AddAccountForLocalization(ReservesAccordingTo12EstgName(), '9520'); + ContosoGLAccount.AddAccountForLocalization(PrivateName(), '9600'); + ContosoGLAccount.AddAccountForLocalization(EBKName(), '9800'); + ContosoGLAccount.AddAccountForLocalization(SBKName(), '9850'); + ContosoGLAccount.AddAccountForLocalization(ProfitAndLossStatementName(), '9890'); + ContosoGLAccount.AddAccountForLocalization(TOTALEQUITYRESERVESName(), '9999'); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResaleSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMatSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeForTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelRelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelRelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsForTheFiscalYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesAndChargesRecDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsAndMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneAndFaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentAndPrName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineAndMotorOilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsAndMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalAndAccountingServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationOfFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsAndLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsOfOperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankBalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesFromCustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnRevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesToVendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NiBeforeExtrItemsTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeBeforeTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), ''); + end; + + procedure UpdateGLAccountCatagory() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.FixedAssets(), TOTALOTHERCURRENTASSETS()); + GLAccountCategory."Account Category"::Liabilities: + UpdateGLAccounts(GLAccountCategory, LIABILITIESPROVISIONS(), TOTALLIABILITIESPROVISIONS()); + GLAccountCategory."Account Category"::Equity: + begin + UpdateGLAccounts(GLAccountCategory, EQUITYRESERVES(), ProfitAndLossStatement()); + UpdateGLAccounts(GLAccountCategory, TOTALEQUITYRESERVES(), TOTALEQUITYRESERVES()); + end; + GLAccountCategory."Account Category"::Income: + begin + UpdateGLAccounts(GLAccountCategory, OPERATINGINCOME(), TotalRevenueAdjustments()); + UpdateGLAccounts(GLAccountCategory, TOTALOPERATINGINCOME(), TOTALOPERATINGINCOME()); + end; + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, COSTOFMATERIALS(), TOTALCOSTOFMATERIALS()); + GLAccountCategory."Account Category"::Expense: + begin + UpdateGLAccounts(GLAccountCategory, TotalRevenuesAndRevenueReduction(), TotalOtherOperatingIncome()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PersonnelExpenses(), TOTALFINANCIALINCOMEANDEXPENSES()); + end; + end; + end; + + procedure AssignSubcategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + // GLAccountCategoryMgt.GetCurrentAssets(): + // ; + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, CashAndBank(), TotalCashAndBank()); + GLAccountCategoryMgt.GetAR(): + UpdateGLAccounts(GLAccountCategory, OtherCurrentAssets(), TotalAccountsReceivable()); + // GLAccountCategoryMgt.GetPrepaidExpenses(): + // ; + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, SUPPLIES(), TOTALSUPPLIES()); + // GLAccountCategoryMgt.GetEquipment(): + // ; + // GLAccountCategoryMgt.GetAccumDeprec(): + // ; + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, LIABILITIESPROVISIONS(), TotalProvisions()); + UpdateGLAccounts(GLAccountCategory, AdvancePaymentsReceivedBeginTotal(), TotalLiabilitiesFromTaxes()); + UpdateGLAccounts(GLAccountCategory, OtherLiabilitiesAndDeferrals(), TOTALLIABILITIESPROVISIONS()); + end; + GLAccountCategoryMgt.GetPayrollLiabilities(): + UpdateGLAccounts(GLAccountCategory, PayablesRelatedToSocialSecurity(), TotalSocialSecurity()); + GLAccountCategoryMgt.GetLongTermLiabilities(): + UpdateGLAccounts(GLAccountCategory, AmountsOwedToCreditFinancialInstitutions(), TotalAmountsOwedToCreditFinancInstitutions()); + GLAccountCategoryMgt.GetCommonStock(): + begin + UpdateGLAccounts(GLAccountCategory, EQUITYRESERVES(), ProfitAndLossStatement()); + UpdateGLAccounts(GLAccountCategory, TOTALEQUITYRESERVES(), TOTALEQUITYRESERVES()); + end; + GLAccountCategoryMgt.GetIncomeService(): + begin + UpdateGLAccounts(GLAccountCategory, OPERATINGINCOME(), TotalSalesRevenuesTrade()); + UpdateGLAccounts(GLAccountCategory, SalesRevenuesResources(), TotalServiceContracts()); + end; + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, SalesRevenuesRawMaterial(), TotalSalesRevenuesRawMaterial()); + GLAccountCategoryMgt.GetIncomeSalesDiscounts(): + UpdateGLAccounts(GLAccountCategory, RevenueAdjustments(), TotalRevenueAdjustments()); + // GLAccountCategoryMgt.GetIncomeSalesReturns(): + // ; + GLAccountCategoryMgt.GetIncomeInterest(): + UpdateGLAccounts(GLAccountCategory, ChargesAndInterest(), TotalChargesAndInterest()); + // GLAccountCategoryMgt.GetCOGSLabor(): + // ; + GLAccountCategoryMgt.GetCOGSMaterials(): + UpdateGLAccounts(GLAccountCategory, COSTOFMATERIALS(), TOTALCOSTOFMATERIALS()); + // GLAccountCategoryMgt.GetRentExpense(): + // ; + // GLAccountCategoryMgt.GetAdvertisingExpense(): + // ; + GLAccountCategoryMgt.GetInterestExpense(): + UpdateGLAccounts(GLAccountCategory, FINANCIALREVENUESANDEXPENDITURESBeginTotal(), TotalFinancialIncomeAndExpensesEndTotal()); + // GLAccountCategoryMgt.GetFeesExpense(): + // ; + // GLAccountCategoryMgt.GetInsuranceExpense(): + // ; + GLAccountCategoryMgt.GetPayrollExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PersonnelExpenses(), CreateGLAccount.TotalPersonnelExpenses()); + // GLAccountCategoryMgt.GetBenefitsExpense(): + // ; + // GLAccountCategoryMgt.GetRepairsExpense(): + // ; + GLAccountCategoryMgt.GetUtilitiesExpense(): + UpdateGLAccounts(GLAccountCategory, OfficeAdvertisingAndMaintenanceExpenditure(), TotalOfficeAdvertisingMaintenanceExpenditure()); + GLAccountCategoryMgt.GetOtherIncomeExpense(): + begin + UpdateGLAccounts(GLAccountCategory, TotalRevenuesAndRevenueReduction(), TotalOtherOperatingIncome()); + UpdateGLAccounts(GLAccountCategory, DEPRECIATIONOTHERCOSTOFOPERATIONS(), TotalCommissions()); + UpdateGLAccounts(GLAccountCategory, InsurancesAndOtherExpenses(), TOTALDEPRECIATIONOPERATIONALEXPENDITURE()); + end; + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure WagesBeginTotalName(): Text[100] + begin + exit(WagesBeginTotalLbl); + end; + + procedure SalariesBeginTotalName(): Text[100] + begin + exit(SalariesBeginTotalLbl); + end; + + procedure FinishedGoodsBeginTotalName(): Text[100] + begin + exit(FinishedGoodsBeginTotalLbl); + end; + + procedure CommissioningAnOperationName(): Text[100] + begin + exit(CommissioningAnOperationLbl); + end; + + procedure CommissioningTheOperationName(): Text[100] + begin + exit(CommissioningTheOperationLbl); + end; + + procedure AccumulatedDepreciationFixedAssetName(): Text[100] + begin + exit(AccumulatedDepreciationFixedAssetLbl); + end; + + procedure CommissioningTotalName(): Text[100] + begin + exit(CommissioningTotalLbl); + end; + + procedure IntangibleAssetsName(): Text[100] + begin + exit(IntangibleAssetsLbl); + end; + + procedure ConcessionsName(): Text[100] + begin + exit(ConcessionsLbl); + end; + + procedure PatentAndLicenseRightsName(): Text[100] + begin + exit(PatentAndLicenseRightsLbl); + end; + + procedure DataProcessingProgramsName(): Text[100] + begin + exit(DataProcessingProgramsLbl); + end; + + procedure CompanyValueName(): Text[100] + begin + exit(CompanyValueLbl); + end; + + procedure AdvancePaymentsForIntangibleAssetsName(): Text[100] + begin + exit(AdvancePaymentsForIntangibleAssetsLbl); + end; + + procedure AccumulatedDepreciationIntangibleAssetName(): Text[100] + begin + exit(AccumulatedDepreciationIntangibleAssetLbl); + end; + + procedure TotalIntangibleAssetsName(): Text[100] + begin + exit(TotalIntangibleAssetsLbl); + end; + + procedure RealEstateName(): Text[100] + begin + exit(RealEstateLbl); + end; + + procedure DevelopedLandName(): Text[100] + begin + exit(DevelopedLandLbl); + end; + + procedure OperationalBuildingName(): Text[100] + begin + exit(OperationalBuildingLbl); + end; + + procedure AcquisitionsDuringTheYearVehicleName(): Text[100] + begin + exit(AcquisitionsDuringTheYearVehicleLbl); + end; + + procedure DisposalsDuringTheYearVehicleName(): Text[100] + begin + exit(DisposalsDuringTheYearVehicleLbl); + end; + + procedure InvestmentInLeasedBuildingName(): Text[100] + begin + exit(InvestmentInLeasedBuildingLbl); + end; + + procedure AccumulatedDepreciationBookedName(): Text[100] + begin + exit(AccumulatedDepreciationBookedLbl); + end; + + procedure UndevelopedLandName(): Text[100] + begin + exit(UndevelopedLandLbl); + end; + + procedure TotalRealEstateName(): Text[100] + begin + exit(TotalRealEstateLbl); + end; + + procedure MachineryAndEquipmentName(): Text[100] + begin + exit(MachineryAndEquipmentLbl); + end; + + procedure LowValueMachineryName(): Text[100] + begin + exit(LowValueMachineryLbl); + end; + + procedure AccumulatedDepreciationOperEqupmentName(): Text[100] + begin + exit(AccumulatedDepreciationOperEquipmentLbl); + end; + + procedure OfficeEquipmentName(): Text[100] + begin + exit(OfficeEquipmentLbl); + end; + + procedure BusinessFacilitiesName(): Text[100] + begin + exit(BusinessFacilitiesLbl); + end; + + procedure OfficeMachinesEDPName(): Text[100] + begin + exit(OfficeMachinesEDPLbl); + end; + + procedure AcquisitionsDuringTheYearRealEstateName(): Text[100] + begin + exit(AcquisitionsDuringTheYearRealEstateLbl); + end; + + procedure DisposalsDuringTheYearRealEstateName(): Text[100] + begin + exit(DisposalsDuringTheYearRealEstateLbl); + end; + + procedure AccumDepreciationOfBuildingName(): Text[100] + begin + exit(AccumDepreciationOfBuildingLbl); + end; + + procedure TotalOperatingEquipmentName(): Text[100] + begin + exit(TotalOperatingEquipmentLbl); + end; + + procedure VehicleFleetName(): Text[100] + begin + exit(VehicleFleetLbl); + end; + + procedure CarName(): Text[100] + begin + exit(CarLbl); + end; + + procedure TruckName(): Text[100] + begin + exit(TruckLbl); + end; + + procedure AcquisitionsDuringTheYearOperEquipmentName(): Text[100] + begin + exit(AcquisitionsDuringTheYearOperEquipmentLbl); + end; + + procedure DisposalsDuringTheYearOperEquipmentName(): Text[100] + begin + exit(DisposalsDuringTheYearOperEquipmentLbl); + end; + + procedure AccumDepreciationName(): Text[100] + begin + exit(AccumDepreciationLbl); + end; + + procedure TotalVehicleFleetName(): Text[100] + begin + exit(TotalVehicleFleetLbl); + end; + + procedure OtherFacilitiesName(): Text[100] + begin + exit(OtherFacilitiesLbl); + end; + + procedure LowValueAssetsOperationalAndBusFacilitiesName(): Text[100] + begin + exit(LowValueAssetsOperationalAndBusFacilitiesLbl); + end; + + procedure AccumulatedDepreciationOtherFacilitiesName(): Text[100] + begin + exit(AccumulatedDepreciationOtherFacilitiesLbl); + end; + + procedure TotalOtherFacilitiesName(): Text[100] + begin + exit(TotalOtherFacilitiesLbl); + end; + + procedure AdvancePaymentsMadeFacilitiesUnderConstrName(): Text[100] + begin + exit(AdvancePaymentsMadeFacilitiesUnderConstrLbl); + end; + + procedure AdvancePaymentsMadeForTangibleFixedAssetsName(): Text[100] + begin + exit(AdvancePaymentsMadeForTangibleFixedAssetsLbl); + end; + + procedure FacilitiesUnderConstructionName(): Text[100] + begin + exit(FacilitiesUnderConstructionLbl); + end; + + procedure AccumulatedDepreciationAdvPaymentName(): Text[100] + begin + exit(AccumulatedDepreciationAdvPaymentLbl); + end; + + procedure TotalAdvPaymMadeFacilitiesUnderConstrName(): Text[100] + begin + exit(TotalAdvPaymMadeFacilitiesUnderConstrLbl); + end; + + procedure FinancialAssetsName(): Text[100] + begin + exit(FinancialAssetsLbl); + end; + + procedure EquityInterestsInAssociatedCompaniesName(): Text[100] + begin + exit(EquityInterestsInAssociatedCompaniesLbl); + end; + + procedure OtherEquityInterestsName(): Text[100] + begin + exit(OtherEquityInterestsLbl); + end; + + procedure CompanySharesOrEquityInterestsName(): Text[100] + begin + exit(CompanySharesOrEquityInterestsLbl); + end; + + procedure InvestmentSecuritiesName(): Text[100] + begin + exit(InvestmentSecuritiesLbl); + end; + + procedure SecuritiesProvisionsForSeverancePayName(): Text[100] + begin + exit(SecuritiesProvisionsForSeverancePayLbl); + end; + + procedure SecuritiesProvisionsForPensionPlanName(): Text[100] + begin + exit(SecuritiesProvisionsForPensionPlanLbl); + end; + + procedure AdvancePaymentsMadeForFinancialAssetsName(): Text[100] + begin + exit(AdvancePaymentsMadeForFinancialAssetsLbl); + end; + + procedure AccumulatedDepreciationFinancialAssetName(): Text[100] + begin + exit(AccumulatedDepreciationFinancalAssetLbl); + end; + + procedure TotalFinancialAssetsName(): Text[100] + begin + exit(TotalFinancialAssetsLbl); + end; + + procedure TOTALFIXEDASSETSName(): Text[100] + begin + exit(TOTALFIXEDASSETSLbl); + end; + + procedure SUPPLIESName(): Text[100] + begin + exit(SUPPLIESLbl); + end; + + procedure PurchaseSettlementBeginTotalName(): Text[100] + begin + exit(PurchaseSettlementBeginTotalLbl); + end; + + procedure PurchaseSettlementName(): Text[100] + begin + exit(PurchaseSettlementLbl); + end; + + procedure OpeningInventoryName(): Text[100] + begin + exit(OpeningInventoryLbl); + end; + + procedure TotalPurchaseSettlementName(): Text[100] + begin + exit(TotalPurchaseSettlementLbl); + end; + + procedure RawMaterialSupplyName(): Text[100] + begin + exit(RawMaterialSupplyLbl); + end; + + procedure RawMaterialSupplyInterimName(): Text[100] + begin + exit(RawMaterialSupplyInterimLbl); + end; + + procedure RawMaterialsPostReceiptInterimName(): Text[100] + begin + exit(RawMaterialsPostReceiptInterimLbl); + end; + + procedure TotalRawMaterialsName(): Text[100] + begin + exit(TotalRawMaterialsLbl); + end; + + procedure PartsPurchasedBeginTotalName(): Text[100] + begin + exit(PartsPurchasedBeginTotalLbl); + end; + + procedure PartsPurchasedName(): Text[100] + begin + exit(PartsPurchasedLbl); + end; + + procedure TotalPartsPurchasedName(): Text[100] + begin + exit(TotalPartsPurchasedLbl); + end; + + procedure AuxiliariesOperatingMaterialsName(): Text[100] + begin + exit(AuxiliariesOperatingMaterialsLbl); + end; + + procedure AuxiliariesSupplyName(): Text[100] + begin + exit(AuxiliariesSupplyLbl); + end; + + procedure OperatingMaterialsSupplyName(): Text[100] + begin + exit(OperatingMaterialsSupplyLbl); + end; + + procedure FuelOilSupplyName(): Text[100] + begin + exit(FuelOilSupplyLbl); + end; + + procedure TotalAuxiliariesOperatingMaterialsName(): Text[100] + begin + exit(TotalAuxiliariesOperatingMaterialsLbl); + end; + + procedure WorkInProcessBeginTotalName(): Text[100] + begin + exit(WorkInProcessBeginTotalLbl); + end; + + procedure WorkInProcessName(): Text[100] + begin + exit(WorkInProcessLbl); + end; + + procedure CostWorkInProcessName(): Text[100] + begin + exit(CostWorkInProcessLbl); + end; + + procedure AnticipatedCostWorkInProcessName(): Text[100] + begin + exit(AnticipatedCostWorkInProcessLbl); + end; + + procedure SalesWorkInProcessName(): Text[100] + begin + exit(SalesWorkInProcessLbl); + end; + + procedure AnticipatedSalesWorkInProcessName(): Text[100] + begin + exit(AnticipatedSalesWorkInProcessLbl); + end; + + procedure TotalWorkInProcessName(): Text[100] + begin + exit(TotalWorkInProcessLbl); + end; + + procedure TotalFinishedGoodsName(): Text[100] + begin + exit(TotalFinishedGoodsLbl); + end; + + procedure GoodsName(): Text[100] + begin + exit(GoodsLbl); + end; + + procedure SupplyTradeGoodsName(): Text[100] + begin + exit(SupplyTradeGoodsLbl); + end; + + procedure SupplyTradeGoodsInterimName(): Text[100] + begin + exit(SupplyTradeGoodsInterimLbl); + end; + + procedure TradeGoodsPostReceiptInterimName(): Text[100] + begin + exit(TradeGoodsPostReceiptInterimLbl); + end; + + procedure TotalGoodsName(): Text[100] + begin + exit(TotalGoodsLbl); + end; + + procedure ServiceNotBillableYetName(): Text[100] + begin + exit(ServiceNotBillableYetLbl); + end; + + procedure ServiceNotBillableYesName(): Text[100] + begin + exit(ServiceNotBillableYesLbl); + end; + + procedure TotalServicesNotBillableYetName(): Text[100] + begin + exit(TotalServicesNotBillableYetLbl); + end; + + procedure AdvancePaymentsMadeName(): Text[100] + begin + exit(AdvancePaymentsMadeLbl); + end; + + procedure AdvancePaymentsMadeForSuppliesName(): Text[100] + begin + exit(AdvancePaymentsMadeForSuppliesLbl); + end; + + procedure TotalAdvancePaymentsMadeName(): Text[100] + begin + exit(TotalAdvancePaymentsMadeLbl); + end; + + procedure TOTALSUPPLIESName(): Text[100] + begin + exit(TOTALSUPPLIESLbl); + end; + + procedure OtherCurrentAssetsName(): Text[100] + begin + exit(OtherCurrentAssetsLbl); + end; + + procedure ReceivablesName(): Text[100] + begin + exit(ReceivablesLbl); + end; + + procedure TradeReceivablesName(): Text[100] + begin + exit(TradeReceivablesLbl); + end; + + procedure TradeReceivablesDomesticName(): Text[100] + begin + exit(TradeReceivablesDomesticLbl); + end; + + procedure TradeReceivablesForeignName(): Text[100] + begin + exit(TradeReceivablesForeignLbl); + end; + + procedure ReceivablesIntercompanyName(): Text[100] + begin + exit(ReceivablesIntercompanyLbl); + end; + + procedure ReceivablesCashOnDeliveryName(): Text[100] + begin + exit(ReceivablesCashOnDeliveryLbl); + end; + + procedure ChangeOfOwnershipName(): Text[100] + begin + exit(ChangeOfOwnershipLbl); + end; + + procedure InterimAccountAdvancePaymentsReceivedName(): Text[100] + begin + exit(InterimAccountAdvancePaymentsReceivedLbl); + end; + + procedure IndividualLossReservesForDomesticReceivablesName(): Text[100] + begin + exit(IndividualLossReservesForDomesticReceivablesLbl); + end; + + procedure BlanketLossReservesForDomesticReceivablesName(): Text[100] + begin + exit(BlanketLossReservesForDomesticReceivablesLbl); + end; + + procedure TradeReceivablesIntraCommunityName(): Text[100] + begin + exit(TradeReceivablesIntraCommunityLbl); + end; + + procedure IndivLossReservesForIntraCommunityReceivabName(): Text[100] + begin + exit(IndivLossReservesForIntraCommunityReceivabLbl); + end; + + procedure BlanketLossReservesForIntraCommunityReceivName(): Text[100] + begin + exit(BlanketLossReservesForIntraCommunityReceivLbl); + end; + + procedure TradeReceivablesExportName(): Text[100] + begin + exit(TradeReceivablesExportLbl); + end; + + procedure IndividualLossReservesForReceivablesExportName(): Text[100] + begin + exit(IndividualLossReservesForReceivablesExportLbl); + end; + + procedure BlanketLossReservesForReceivablesExportName(): Text[100] + begin + exit(BlanketLossReservesForReceivablesExportLbl); + end; + + procedure GrantedLoanName(): Text[100] + begin + exit(GrantedLoanLbl); + end; + + procedure OtherAdvancePaymentsMadeName(): Text[100] + begin + exit(OtherAdvancePaymentsMadeLbl); + end; + + procedure TotalTradeReceivablesName(): Text[100] + begin + exit(TotalTradeReceivablesLbl); + end; + + procedure ReceivablesFromOffsettingOfLeviesName(): Text[100] + begin + exit(ReceivablesFromOffsettingOfLeviesLbl); + end; + + procedure PurchaseVATReducedName(): Text[100] + begin + exit(PurchaseVATReducedLbl); + end; + + procedure PurchaseVATStandardName(): Text[100] + begin + exit(PurchaseVATStandardLbl); + end; + + procedure PurchaseVATAcquisitionReducedName(): Text[100] + begin + exit(PurchaseVATAcquisitionReducedLbl); + end; + + procedure PurchaseVATAcquisitionStandardName(): Text[100] + begin + exit(PurchaseVATAcquisitionStandardLbl); + end; + + procedure ImportSalesTaxName(): Text[100] + begin + exit(ImportSalesTaxLbl); + end; + + procedure PurchaseVATClearingAccountName(): Text[100] + begin + exit(PurchaseVATClearingAccountLbl); + end; + + procedure CapitalReturnsTaxAllowableOnIncomeTaxName(): Text[100] + begin + exit(CapitalReturnsTaxAllowableOnIncomeTaxLbl); + end; + + procedure TotalAccountsReceivableOffsettingOfLeviesName(): Text[100] + begin + exit(TotalAccountsReceivableOffsettingOfLeviesLbl); + end; + + procedure TotalAccountsReceivableName(): Text[100] + begin + exit(TotalAccountsReceivableLbl); + end; + + procedure MarketableSecuritiesName(): Text[100] + begin + exit(MarketableSecuritiesLbl); + end; + + procedure EndorsedCededBillOfExchangeName(): Text[100] + begin + exit(EndorsedCededBillOfExchangeLbl); + end; + + procedure TotalSecuritiesName(): Text[100] + begin + exit(TotalSecuritiesLbl); + end; + + procedure CashAndBankName(): Text[100] + begin + exit(CashAndBankLbl); + end; + + procedure PostageStampName(): Text[100] + begin + exit(PostageStampLbl); + end; + + procedure RevenueStampsName(): Text[100] + begin + exit(RevenueStampsLbl); + end; + + procedure SettlementAccountCashBankName(): Text[100] + begin + exit(SettlementAccountCashBankLbl); + end; + + procedure ChecksReceivedName(): Text[100] + begin + exit(ChecksReceivedLbl); + end; + + procedure AccountsReceivableFromCreditCardOrganizationName(): Text[100] + begin + exit(AccountsReceivableFromCreditCardOrganizationLbl); + end; + + procedure BankCurrenciesName(): Text[100] + begin + exit(BankCurrenciesLbl); + end; + + procedure TotalCashAndBankName(): Text[100] + begin + exit(TotalCashAndBankLbl); + end; + + procedure PrepaidExpensesName(): Text[100] + begin + exit(PrepaidExpensesLbl); + end; + + procedure AccrualsName(): Text[100] + begin + exit(AccrualsLbl); + end; + + procedure BorrowingCostsName(): Text[100] + begin + exit(BorrowingCostsLbl); + end; + + procedure TotalPrepaidExpensesName(): Text[100] + begin + exit(TotalPrepaidExpensesLbl); + end; + + procedure TOTALOTHERCURRENTASSETSName(): Text[100] + begin + exit(TOTALOTHERCURRENTASSETSLbl); + end; + + procedure LIABILITIESPROVISIONSName(): Text[100] + begin + exit(LIABILITIESPROVISIONSLbl); + end; + + procedure ProvisionsName(): Text[100] + begin + exit(ProvisionsLbl); + end; + + procedure ProvisionsForSeverancePaymentsName(): Text[100] + begin + exit(ProvisionsForSeverancePaymentsLbl); + end; + + procedure ProvisionsForPensionsName(): Text[100] + begin + exit(ProvisionsForPensionsLbl); + end; + + procedure ProvisionsForCorporateTaxName(): Text[100] + begin + exit(ProvisionsForCorporateTaxLbl); + end; + + procedure ProvisionsForWarrantiesName(): Text[100] + begin + exit(ProvisionsForWarrantiesLbl); + end; + + procedure ProvisionsForCompensationForDamageName(): Text[100] + begin + exit(ProvisionsForCompensationForDamageLbl); + end; + + procedure ProvisionsForLegalAndConsultancyExpensesName(): Text[100] + begin + exit(ProvisionsForLegalAndConsultancyExpensesLbl); + end; + + procedure TotalProvisionsName(): Text[100] + begin + exit(TotalProvisionsLbl); + end; + + procedure AmountsOwedToCreditFinancialInstitutionsName(): Text[100] + begin + exit(AmountsOwedToCreditFinancialInstitutionsLbl); + end; + + procedure BankWithCreditLimitName(): Text[100] + begin + exit(BankWithCreditLimitLbl); + end; + + procedure ChecksIssuedName(): Text[100] + begin + exit(ChecksIssuedLbl); + end; + + procedure LoanName(): Text[100] + begin + exit(LoanLbl); + end; + + procedure SettlementAccountCreditCardsName(): Text[100] + begin + exit(SettlementAccountCreditCardsLbl); + end; + + procedure TotalAmountsOwedToCreditFinancInstitutionsName(): Text[100] + begin + exit(TotalAmountsOwedToCreditFinancInstitutionsLbl); + end; + + procedure AdvancePaymentsReceivedBeginTotalName(): Text[100] + begin + exit(AdvancePaymentsReceivedBeginTotalLbl); + end; + + procedure AdvancePaymentsReceivedName(): Text[100] + begin + exit(AdvancePaymentsReceivedLbl); + end; + + procedure HardwareContractsPaidInAdvanceName(): Text[100] + begin + exit(HardwareContractsPaidInAdvanceLbl); + end; + + procedure SoftwareContractsPaidInAdvanceName(): Text[100] + begin + exit(SoftwareContractsPaidInAdvanceLbl); + end; + + procedure TotalAdvancePaymentsReceivedName(): Text[100] + begin + exit(TotalAdvancePaymentsReceivedLbl); + end; + + procedure PayablesToVendorsName(): Text[100] + begin + exit(PayablesToVendorsLbl); + end; + + procedure VendorsIntercompanyName(): Text[100] + begin + exit(VendorsIntercompanyLbl); + end; + + procedure NotePayableName(): Text[100] + begin + exit(NotePayableLbl); + end; + + procedure InterimAccountAdvancePaymentsMadeName(): Text[100] + begin + exit(InterimAccountAdvancePaymentsMadeLbl); + end; + + procedure TotalPayablesToVendorsName(): Text[100] + begin + exit(TotalPayablesToVendorsLbl); + end; + + procedure TaxLiabilitiesName(): Text[100] + begin + exit(TaxLiabilitiesLbl); + end; + + procedure SalesTax10Name(): Text[100] + begin + exit(SalesTax10Lbl); + end; + + procedure SalesTax20Name(): Text[100] + begin + exit(SalesTax20Lbl); + end; + + procedure SalesTaxProfitAndIncomeTax10Name(): Text[100] + begin + exit(SalesTaxProfitAndIncomeTax10Lbl); + end; + + procedure SalesTaxProfitAndIncomeTax20Name(): Text[100] + begin + exit(SalesTaxProfitAndIncomeTax20Lbl); + end; + + procedure TaxOfficeTaxPayableName(): Text[100] + begin + exit(TaxOfficeTaxPayableLbl); + end; + + procedure SalesTaxClearingAccountName(): Text[100] + begin + exit(SalesTaxClearingAccountLbl); + end; + + procedure ProductionOrderPayrollTaxProfitDPName(): Text[100] + begin + exit(ProductionOrderPayrollTaxProfitDPLbl); + end; + + procedure SettlementAccountTaxOfficeName(): Text[100] + begin + exit(SettlementAccountTaxOfficeLbl); + end; + + procedure TotalLiabilitiesFromTaxesName(): Text[100] + begin + exit(TotalLiabilitiesFromTaxesLbl); + end; + + procedure PayablesRelatedToSocialSecurityName(): Text[100] + begin + exit(PayablesRelatedToSocialSecurityLbl); + end; + + procedure SettlementAccountSocialInsuranceName(): Text[100] + begin + exit(SettlementAccountSocialInsuranceLbl); + end; + + procedure SettlementAccountLocalTaxName(): Text[100] + begin + exit(SettlementAccountLocalTaxLbl); + end; + + procedure SettlementAccountWagesSalariesName(): Text[100] + begin + exit(SettlementAccountWagesSalariesLbl); + end; + + procedure TaxPaymentsWithheldName(): Text[100] + begin + exit(TaxPaymentsWithheldLbl); + end; + + procedure PaymentOfTaxArrearsName(): Text[100] + begin + exit(PaymentOfTaxArrearsLbl); + end; + + procedure PayrollTaxPaymentsName(): Text[100] + begin + exit(PayrollTaxPaymentsLbl); + end; + + procedure VacationCompensationPaymentsName(): Text[100] + begin + exit(VacationCompensationPaymentsLbl); + end; + + procedure TotalSocialSecurityName(): Text[100] + begin + exit(TotalSocialSecurityLbl); + end; + + procedure OtherLiabilitiesAndDeferralsName(): Text[100] + begin + exit(OtherLiabilitiesAndDeferralsLbl); + end; + + procedure DeferredIncomeName(): Text[100] + begin + exit(DeferredIncomeLbl); + end; + + procedure TotalOtherLiabilitiesName(): Text[100] + begin + exit(TotalOtherLiabilitiesLbl); + end; + + procedure TOTALLIABILITIESPROVISIONSName(): Text[100] + begin + exit(TOTALLIABILITIESPROVISIONSLbl); + end; + + procedure OPERATINGINCOMEName(): Text[100] + begin + exit(OPERATINGINCOMELbl); + end; + + procedure RevenuesAndRevenueReductionName(): Text[100] + begin + exit(RevenuesAndRevenueReductionLbl); + end; + + procedure RevenuesName(): Text[100] + begin + exit(RevenuesLbl); + end; + + procedure SalesRevenuesTradeName(): Text[100] + begin + exit(SalesRevenuesTradeLbl); + end; + + procedure SalesRevenuesTradeDomesticName(): Text[100] + begin + exit(SalesRevenuesTradeDomesticLbl); + end; + + procedure SalesRevenuesTradeExportName(): Text[100] + begin + exit(SalesRevenuesTradeExportLbl); + end; + + procedure SalesRevenuesTradeEUName(): Text[100] + begin + exit(SalesRevenuesTradeEULbl); + end; + + procedure ProjectSalesName(): Text[100] + begin + exit(ProjectSalesLbl); + end; + + procedure ProjectSalesCorrectionName(): Text[100] + begin + exit(ProjectSalesCorrectionLbl); + end; + + procedure TotalSalesRevenuesTradeName(): Text[100] + begin + exit(TotalSalesRevenuesTradeLbl); + end; + + procedure SalesRevenuesRawMaterialName(): Text[100] + begin + exit(SalesRevenuesRawMaterialLbl); + end; + + procedure SalesRevenuesRawMaterialDomesticName(): Text[100] + begin + exit(SalesRevenuesRawMaterialDomesticLbl); + end; + + procedure SalesRevenuesRawMaterialExportName(): Text[100] + begin + exit(SalesRevenuesRawMaterialExportLbl); + end; + + procedure SalesRevenuesRawMaterialEUName(): Text[100] + begin + exit(SalesRevenuesRawMaterialEULbl); + end; + + procedure TotalSalesRevenuesRawMaterialName(): Text[100] + begin + exit(TotalSalesRevenuesRawMaterialLbl); + end; + + procedure SalesRevenuesResourcesName(): Text[100] + begin + exit(SalesRevenuesResourcesLbl); + end; + + procedure SalesRevenuesResourcesDomesticName(): Text[100] + begin + exit(SalesRevenuesResourcesDomesticLbl); + end; + + procedure SalesRevenuesResourcesExportName(): Text[100] + begin + exit(SalesRevenuesResourcesExportLbl); + end; + + procedure SalesRevenuesResourcesEUName(): Text[100] + begin + exit(SalesRevenuesResourcesEULbl); + end; + + procedure TotalSalesRevenuesResourcesName(): Text[100] + begin + exit(TotalSalesRevenuesResourcesLbl); + end; + + procedure ProjectRevenuesBeginTotalName(): Text[100] + begin + exit(ProjectRevenuesBeginTotalLbl); + end; + + procedure ProjectRevenuesName(): Text[100] + begin + exit(ProjectRevenuesLbl); + end; + + procedure OtherProjectRevenuesName(): Text[100] + begin + exit(OtherProjectRevenuesLbl); + end; + + procedure TotalProjectRevenuesName(): Text[100] + begin + exit(TotalProjectRevenuesLbl); + end; + + procedure RevenuesServiceContractsName(): Text[100] + begin + exit(RevenuesServiceContractsLbl); + end; + + procedure RevenueServiceContractName(): Text[100] + begin + exit(RevenueServiceContractLbl); + end; + + procedure TotalServiceContractsName(): Text[100] + begin + exit(TotalServiceContractsLbl); + end; + + procedure ChargesAndInterestName(): Text[100] + begin + exit(ChargesAndInterestLbl); + end; + + procedure ServiceChargesName(): Text[100] + begin + exit(ServiceChargesLbl); + end; + + procedure ServiceInterestName(): Text[100] + begin + exit(ServiceInterestLbl); + end; + + procedure ConsultingFeesName(): Text[100] + begin + exit(ConsultingFeesLbl); + end; + + procedure TotalChargesAndInterestName(): Text[100] + begin + exit(TotalChargesAndInterestLbl); + end; + + procedure TotalRevenuesName(): Text[100] + begin + exit(TotalRevenuesLbl); + end; + + procedure RevenueAdjustmentsName(): Text[100] + begin + exit(RevenueAdjustmentsLbl); + end; + + procedure RevenueAdjustmentDomestic10Name(): Text[100] + begin + exit(RevenueAdjustmentDomestic10Lbl); + end; + + procedure RevenueAdjustmentDomestic20Name(): Text[100] + begin + exit(RevenueAdjustmentDomestic20Lbl); + end; + + procedure RevenueAdjustmentExportName(): Text[100] + begin + exit(RevenueAdjustmentExportLbl); + end; + + procedure RevenueAdjustmentEUName(): Text[100] + begin + exit(RevenueAdjustmentEULbl); + end; + + procedure CashDiscountPaidName(): Text[100] + begin + exit(CashDiscountPaidLbl); + end; + + procedure CashDiscountPaidAdjustmentName(): Text[100] + begin + exit(CashDiscountPaidAdjustmentLbl); + end; + + procedure TotalRevenueAdjustmentsName(): Text[100] + begin + exit(TotalRevenueAdjustmentsLbl); + end; + + procedure TotalRevenuesAndRevenueReductionName(): Text[100] + begin + exit(TotalRevenuesAndRevenueReductionLbl); + end; + + procedure InventoryChangesBeginTotalName(): Text[100] + begin + exit(InventoryChangesBeginTotalLbl); + end; + + procedure InventoryChangesName(): Text[100] + begin + exit(InventoryChangesLbl); + end; + + procedure OwnCostCapitalizedName(): Text[100] + begin + exit(OwnCostCapitalizedLbl); + end; + + procedure TotalInventoryChangesName(): Text[100] + begin + exit(TotalInventoryChangesLbl); + end; + + procedure OtherOperatingIncomeBeginTotalName(): Text[100] + begin + exit(OtherOperatingIncomeBeginTotalLbl); + end; + + procedure ProceedsFromTheSaleOfAssetsName(): Text[100] + begin + exit(ProceedsFromTheSaleOfAssetsLbl); + end; + + procedure InsuranceCompensationsName(): Text[100] + begin + exit(InsuranceCompensationsLbl); + end; + + procedure IncomeFromTheDisposalOfAssetsName(): Text[100] + begin + exit(IncomeFromTheDisposalOfAssetsLbl); + end; + + procedure IncomeFromTheAppreciationOfIntangibleAssetsName(): Text[100] + begin + exit(IncomeFromTheAppreciationOfIntangibleAssetsLbl); + end; + + procedure IncomeFromAppreciationOfFixedAssetsName(): Text[100] + begin + exit(IncomeFromAppreciationOfFixedAssetsLbl); + end; + + procedure IncFromReleaseOfProvisionsForSeverPaymName(): Text[100] + begin + exit(IncFromReleaseOfProvisionsForSeverPaymLbl); + end; + + procedure IncomeFromTheReleaseOfProvForPensionPlanName(): Text[100] + begin + exit(IncomeFromTheReleaseOfProvForPensionPlanLbl); + end; + + procedure IncomeFromTheReleaseOfOtherProvisionsName(): Text[100] + begin + exit(IncomeFromTheReleaseOfOtherProvisionsLbl); + end; + + procedure OtherOperatingIncomeName(): Text[100] + begin + exit(OtherOperatingIncomeLbl); + end; + + procedure OverageOfCashName(): Text[100] + begin + exit(OverageOfCashLbl); + end; + + procedure BenefitInKindName(): Text[100] + begin + exit(BenefitInKindLbl); + end; + + procedure RentalYieldName(): Text[100] + begin + exit(RentalYieldLbl); + end; + + procedure ExpenseReimbursementName(): Text[100] + begin + exit(ExpenseReimbursementLbl); + end; + + procedure FCYUnrealizedExchangeGainsName(): Text[100] + begin + exit(FCYUnrealizedExchangeGainsLbl); + end; + + procedure FCYRealizedExchangeGainsName(): Text[100] + begin + exit(FCYRealizedExchangeGainsLbl); + end; + + procedure OtherInsuranceCompensationName(): Text[100] + begin + exit(OtherInsuranceCompensationLbl); + end; + + procedure IncomeFromReleaseOfLossReservesName(): Text[100] + begin + exit(IncomeFromReleaseOfLossReservesLbl); + end; + + procedure TotalOtherOperatingIncomeName(): Text[100] + begin + exit(TotalOtherOperatingIncomeLbl); + end; + + procedure TOTALOPERATINGINCOMEName(): Text[100] + begin + exit(TOTALOPERATINGINCOMELbl); + end; + + procedure COSTOFMATERIALSName(): Text[100] + begin + exit(COSTOFMATERIALSLbl); + end; + + procedure TradeGoodsName(): Text[100] + begin + exit(TradeGoodsLbl); + end; + + procedure TradeGoodsConsumptionName(): Text[100] + begin + exit(TradeGoodsConsumptionLbl); + end; + + procedure TradeGoodsInventoryAdjustmentName(): Text[100] + begin + exit(TradeGoodsInventoryAdjustmentLbl); + end; + + procedure TradeGoodsDirectCostName(): Text[100] + begin + exit(TradeGoodsDirectCostLbl); + end; + + procedure TradeGoodsOverheadExpensesName(): Text[100] + begin + exit(TradeGoodsOverheadExpensesLbl); + end; + + procedure TradeGoodsPurchaseVarianceAccountName(): Text[100] + begin + exit(TradeGoodsPurchaseVarianceAccountLbl); + end; + + procedure DiscountReceivedTradeName(): Text[100] + begin + exit(DiscountReceivedTradeLbl); + end; + + procedure DeliveryExpensesTradeName(): Text[100] + begin + exit(DeliveryExpensesTradeLbl); + end; + + procedure DiscountReceivedRawMaterialsName(): Text[100] + begin + exit(DiscountReceivedRawMaterialsLbl); + end; + + procedure DeliveryExpensesRawMaterialName(): Text[100] + begin + exit(DeliveryExpensesRawMaterialLbl); + end; + + procedure TotalTradeGoodsName(): Text[100] + begin + exit(TotalTradeGoodsLbl); + end; + + procedure RawMaterialName(): Text[100] + begin + exit(RawMaterialLbl); + end; + + procedure RawMaterialConsumptionName(): Text[100] + begin + exit(RawMaterialConsumptionLbl); + end; + + procedure RawMaterialInventoryAdjustmentName(): Text[100] + begin + exit(RawMaterialInventoryAdjustmentLbl); + end; + + procedure RawMaterialDirectCostName(): Text[100] + begin + exit(RawMaterialDirectCostLbl); + end; + + procedure RawMaterialOverheadExpensesName(): Text[100] + begin + exit(RawMaterialOverheadExpensesLbl); + end; + + procedure RawMaterialPurchaseVarianceAccountName(): Text[100] + begin + exit(RawMaterialPurchaseVarianceAccountLbl); + end; + + procedure TotalRawMaterialName(): Text[100] + begin + exit(TotalRawMaterialLbl); + end; + + procedure ProcessingName(): Text[100] + begin + exit(ProcessingLbl); + end; + + procedure ProcessingConsumptionName(): Text[100] + begin + exit(ProcessingConsumptionLbl); + end; + + procedure ProcessingInventoryAdjustmentName(): Text[100] + begin + exit(ProcessingInventoryAdjustmentLbl); + end; + + procedure ProcessingOverheadExpensesName(): Text[100] + begin + exit(ProcessingOverheadExpensesLbl); + end; + + procedure ProcessingPurchaseVarianceAccountName(): Text[100] + begin + exit(ProcessingPurchaseVarianceAccountLbl); + end; + + procedure TotalProcessingName(): Text[100] + begin + exit(TotalProcessingLbl); + end; + + procedure ProjectsName(): Text[100] + begin + exit(ProjectsLbl); + end; + + procedure ProjectCostsName(): Text[100] + begin + exit(ProjectCostsLbl); + end; + + procedure ProjectCostsAllocatedName(): Text[100] + begin + exit(ProjectCostsAllocatedLbl); + end; + + procedure ProjectCostsCorrectionName(): Text[100] + begin + exit(ProjectCostsCorrectionLbl); + end; + + procedure TotalProjectsName(): Text[100] + begin + exit(TotalProjectsLbl); + end; + + procedure VarianceName(): Text[100] + begin + exit(VarianceLbl); + end; + + procedure MaterialVarianceName(): Text[100] + begin + exit(MaterialVarianceLbl); + end; + + procedure CapacityVarianceName(): Text[100] + begin + exit(CapacityVarianceLbl); + end; + + procedure SubcontractedVarianceName(): Text[100] + begin + exit(SubcontractedVarianceLbl); + end; + + procedure CapOverheadVarianceName(): Text[100] + begin + exit(CapOverheadVarianceLbl); + end; + + procedure ManufacturingOverheadVarianceName(): Text[100] + begin + exit(ManufacturingOverheadVarianceLbl); + end; + + procedure TotalVarianceName(): Text[100] + begin + exit(TotalVarianceLbl); + end; + + procedure ConsumptionName(): Text[100] + begin + exit(ConsumptionLbl); + end; + + procedure AuxiliariesConsumptionName(): Text[100] + begin + exit(AuxiliariesConsumptionLbl); + end; + + procedure PackagingMaterialConsumptionName(): Text[100] + begin + exit(PackagingMaterialConsumptionLbl); + end; + + procedure OperatingMaterialsConsumptionName(): Text[100] + begin + exit(OperatingMaterialsConsumptionLbl); + end; + + procedure CleaningMaterialsConsumptionName(): Text[100] + begin + exit(CleaningMaterialsConsumptionLbl); + end; + + procedure ConsumptionOfIncidentalsName(): Text[100] + begin + exit(ConsumptionOfIncidentalsLbl); + end; + + procedure ConsumptionOfFuelsName(): Text[100] + begin + exit(ConsumptionOfFuelsLbl); + end; + + procedure TotalConsumptionName(): Text[100] + begin + exit(TotalConsumptionLbl); + end; + + procedure PurchaseCurrentMaterialName(): Text[100] + begin + exit(PurchaseCurrentMaterialLbl); + end; + + procedure PurchaseTradeDomesticName(): Text[100] + begin + exit(PurchaseTradeDomesticLbl); + end; + + procedure PurchaseTradeImportName(): Text[100] + begin + exit(PurchaseTradeImportLbl); + end; + + procedure PurchaseTradeEUName(): Text[100] + begin + exit(PurchaseTradeEULbl); + end; + + procedure PurchaseRawMaterialsDomesticName(): Text[100] + begin + exit(PurchaseRawMaterialsDomesticLbl); + end; + + procedure PurchaseRawMaterialsImportName(): Text[100] + begin + exit(PurchaseRawMaterialsImportLbl); + end; + + procedure PurchaseRawMaterialsEUName(): Text[100] + begin + exit(PurchaseRawMaterialsEULbl); + end; + + procedure TotalPurchaseActiveMaterialName(): Text[100] + begin + exit(TotalPurchaseActiveMaterialLbl); + end; + + procedure OtherServicesReceivedName(): Text[100] + begin + exit(OtherServicesReceivedLbl); + end; + + procedure ServicesReceivedName(): Text[100] + begin + exit(ServicesReceivedLbl); + end; + + procedure ServiceChargesPurchaseName(): Text[100] + begin + exit(ServiceChargesPurchaseLbl); + end; + + procedure TotalOtherServicesName(): Text[100] + begin + exit(TotalOtherServicesLbl); + end; + + procedure PaymentDiscountRevenueBeginTotalName(): Text[100] + begin + exit(PaymentDiscountRevenueBeginTotalLbl); + end; + + procedure PaymentDiscountRevenueName(): Text[100] + begin + exit(PaymentDiscountRevenueLbl); + end; + + procedure PaymentDiscountRevenueCorrectionName(): Text[100] + begin + exit(PaymentDiscountRevenueCorrectionLbl); + end; + + procedure TotalPaymentDiscountRevenueName(): Text[100] + begin + exit(TotalPaymentDiscountRevenueLbl); + end; + + procedure TOTALCOSTOFMATERIALSName(): Text[100] + begin + exit(TOTALCOSTOFMATERIALSLbl); + end; + + procedure WagesWithoutServicesName(): Text[100] + begin + exit(WagesWithoutServicesLbl); + end; + + procedure TotalWagesName(): Text[100] + begin + exit(TotalWagesLbl); + end; + + procedure SalariesWithoutServicesName(): Text[100] + begin + exit(SalariesWithoutServicesLbl); + end; + + procedure TotalSalariesName(): Text[100] + begin + exit(TotalSalariesLbl); + end; + + procedure SeverancePaymentsBeginTotalName(): Text[100] + begin + exit(SeverancePaymentsBeginTotalLbl); + end; + + procedure SeverancePaymentsName(): Text[100] + begin + exit(SeverancePaymentsLbl); + end; + + procedure SeverancePaymentProvisionFundName(): Text[100] + begin + exit(SeverancePaymentProvisionFundLbl); + end; + + procedure PensionsPaymentsName(): Text[100] + begin + exit(PensionsPaymentsLbl); + end; + + procedure PensionProvisionFundName(): Text[100] + begin + exit(PensionProvisionFundLbl); + end; + + procedure TotalSeverancePaymentsName(): Text[100] + begin + exit(TotalSeverancePaymentsLbl); + end; + + procedure StatutorySocialExpensesName(): Text[100] + begin + exit(StatutorySocialExpensesLbl); + end; + + procedure StatutorySocialExpensesWorkerName(): Text[100] + begin + exit(StatutorySocialExpensesWorkerLbl); + end; + + procedure StatutorySocialExpensesEmployeeName(): Text[100] + begin + exit(StatutorySocialExpensesEmployeeLbl); + end; + + procedure TotalStatutorySocialExpensesName(): Text[100] + begin + exit(TotalStatutorySocialExpensesLbl); + end; + + procedure OtherSocialExpensesName(): Text[100] + begin + exit(OtherSocialExpensesLbl); + end; + + procedure LocalTaxName(): Text[100] + begin + exit(LocalTaxLbl); + end; + + procedure GDContributionFamilyAllowanceProfitName(): Text[100] + begin + exit(GDContributionFamilyAllowanceProfitLbl); + end; + + procedure AdditionToProfitName(): Text[100] + begin + exit(AdditionToProfitLbl); + end; + + procedure LevyForTheEmployerViennaName(): Text[100] + begin + exit(LevyForTheEmployerViennaLbl); + end; + + procedure VoluntarySocialExpensesName(): Text[100] + begin + exit(VoluntarySocialExpensesLbl); + end; + + procedure CostCenterSettlementInsuranceName(): Text[100] + begin + exit(CostCenterSettlementInsuranceLbl); + end; + + procedure TotalOtherSocialExpensesName(): Text[100] + begin + exit(TotalOtherSocialExpensesLbl); + end; + + procedure DEPRECIATIONOTHERCOSTOFOPERATIONSName(): Text[100] + begin + exit(DEPRECIATIONOTHERCOSTOFOPERATIONSLbl); + end; + + procedure DepreciationName(): Text[100] + begin + exit(DepreciationLbl); + end; + + procedure ScheduledAmortizationOnIntangibleAssetsName(): Text[100] + begin + exit(ScheduledAmortizationOnIntangibleAssetsLbl); + end; + + procedure UnscheduledAmortizationOnIntangibleAssetsName(): Text[100] + begin + exit(UnscheduledAmortizationOnIntangibleAssetsLbl); + end; + + procedure ScheduledDepreciationOfFixedAssetsName(): Text[100] + begin + exit(ScheduledDepreciationOfFixedAssetsLbl); + end; + + procedure ScheduledDepreciationVehiclesName(): Text[100] + begin + exit(ScheduledDepreciationVehiclesLbl); + end; + + procedure UnscheduledDepreciationOfFixedAssetsName(): Text[100] + begin + exit(UnscheduledDepreciationOfFixedAssetsLbl); + end; + + procedure LowValueAssetsName(): Text[100] + begin + exit(LowValueAssetsLbl); + end; + + procedure TotalDepreciationName(): Text[100] + begin + exit(TotalDepreciationLbl); + end; + + procedure OtherTaxesName(): Text[100] + begin + exit(OtherTaxesLbl); + end; + + procedure PropertyTaxName(): Text[100] + begin + exit(PropertyTaxLbl); + end; + + procedure BeverageAndAlcoholTaxName(): Text[100] + begin + exit(BeverageAndAlcoholTaxLbl); + end; + + procedure ChargesAndRevenueStampsName(): Text[100] + begin + exit(ChargesAndRevenueStampsLbl); + end; + + procedure MiscOtherTaxesName(): Text[100] + begin + exit(MiscOtherTaxesLbl); + end; + + procedure TotalOtherTaxesName(): Text[100] + begin + exit(TotalOtherTaxesLbl); + end; + + procedure MaintenanceCleaningEtcName(): Text[100] + begin + exit(MaintenanceCleaningEtcLbl); + end; + + procedure ThirdPartyMaintenanceName(): Text[100] + begin + exit(ThirdPartyMaintenanceLbl); + end; + + procedure CarOperatingExpensesName(): Text[100] + begin + exit(CarOperatingExpensesLbl); + end; + + procedure TruckOperatingExpensesName(): Text[100] + begin + exit(TruckOperatingExpensesLbl); + end; + + procedure CarRepairsAndMaintenanceName(): Text[100] + begin + exit(CarRepairsAndMaintenanceLbl); + end; + + procedure FuelName(): Text[100] + begin + exit(FuelLbl); + end; + + procedure TotalMaintenanceEtcName(): Text[100] + begin + exit(TotalMaintenanceEtcLbl); + end; + + procedure TransportationTravelCommunicationsName(): Text[100] + begin + exit(TransportationTravelCommunicationsLbl); + end; + + procedure TransportationThirdPartiesName(): Text[100] + begin + exit(TransportationThirdPartiesLbl); + end; + + procedure TravelExpensesDomesticName(): Text[100] + begin + exit(TravelExpensesDomesticLbl); + end; + + procedure TravelExpensesAbroadName(): Text[100] + begin + exit(TravelExpensesAbroadLbl); + end; + + procedure KilometerAllowanceName(): Text[100] + begin + exit(KilometerAllowanceLbl); + end; + + procedure MealExpensesDomesticName(): Text[100] + begin + exit(MealExpensesDomesticLbl); + end; + + procedure MealExpensesAbroadName(): Text[100] + begin + exit(MealExpensesAbroadLbl); + end; + + procedure HotelExpensesDomesticName(): Text[100] + begin + exit(HotelExpensesDomesticLbl); + end; + + procedure HotelExpensesAbroadName(): Text[100] + begin + exit(HotelExpensesAbroadLbl); + end; + + procedure CommunicationChargesName(): Text[100] + begin + exit(CommunicationChargesLbl); + end; + + procedure TotalTransportationExpensesName(): Text[100] + begin + exit(TotalTransportationExpensesLbl); + end; + + procedure RentalsLeasingBeginTotalName(): Text[100] + begin + exit(RentalsLeasingBeginTotalLbl); + end; + + procedure RentalsLeasingName(): Text[100] + begin + exit(RentalsLeasingLbl); + end; + + procedure TotalRentalsLeasingEtcName(): Text[100] + begin + exit(TotalRentalsLeasingEtcLbl); + end; + + procedure CommissionsName(): Text[100] + begin + exit(CommissionsLbl); + end; + + procedure CommissionsForThirdPartiesName(): Text[100] + begin + exit(CommissionsForThirdPartiesLbl); + end; + + procedure TotalCommissionsName(): Text[100] + begin + exit(TotalCommissionsLbl); + end; + + procedure OfficeAdvertisingAndMaintenanceExpenditureName(): Text[100] + begin + exit(OfficeAdvertisingAndMaintenanceExpenditureLbl); + end; + + procedure PhoneAndInternetChargesName(): Text[100] + begin + exit(PhoneAndInternetChargesLbl); + end; + + procedure ExternalServicesName(): Text[100] + begin + exit(ExternalServicesLbl); + end; + + procedure DeductibleAdvertisingExpensesName(): Text[100] + begin + exit(DeductibleAdvertisingExpensesLbl); + end; + + procedure NonDeductibleAdvertisingExpensesName(): Text[100] + begin + exit(NonDeductibleAdvertisingExpensesLbl); + end; + + procedure HospitalityDomesticDeductibleAmountName(): Text[100] + begin + exit(HospitalityDomesticDeductibleAmountLbl); + end; + + procedure HospitalityDomesticNonDeductibleAmountName(): Text[100] + begin + exit(HospitalityDomesticNonDeductibleAmountLbl); + end; + + procedure HospitalityAbroadDeductibleAmountName(): Text[100] + begin + exit(HospitalityAbroadDeductibleAmountLbl); + end; + + procedure HospitalityAbroadNonDeductibleAmountName(): Text[100] + begin + exit(HospitalityAbroadNonDeductibleAmountLbl); + end; + + procedure DonationsAndTipsName(): Text[100] + begin + exit(DonationsAndTipsLbl); + end; + + procedure TotalOfficeAdvertisingMaintenanceExpenditureName(): Text[100] + begin + exit(TotalOfficeAdvertisingMaintenanceExpenditureLbl); + end; + + procedure InsurancesAndOtherExpensesName(): Text[100] + begin + exit(InsurancesAndOtherExpensesLbl); + end; + + procedure InsuranceExpensesName(): Text[100] + begin + exit(InsuranceExpensesLbl); + end; + + procedure LegalAndConsultancyExpensesName(): Text[100] + begin + exit(LegalAndConsultancyExpensesLbl); + end; + + procedure ProvisionForLegalAndConsultancyExpensesFundName(): Text[100] + begin + exit(ProvisionForLegalAndConsultancyExpensesFundLbl); + end; + + procedure OtherName(): Text[100] + begin + exit(OtherLbl); + end; + + procedure TechnicalLiteratureName(): Text[100] + begin + exit(TechnicalLiteratureLbl); + end; + + procedure ExpenditureEducationAndTrainingName(): Text[100] + begin + exit(ExpenditureEducationAndTrainingLbl); + end; + + procedure ChamberContributionName(): Text[100] + begin + exit(ChamberContributionLbl); + end; + + procedure ExpensesThroughCirculationOfMoneyName(): Text[100] + begin + exit(ExpensesThroughCirculationOfMoneyLbl); + end; + + procedure DepreciationOfSuppliesName(): Text[100] + begin + exit(DepreciationOfSuppliesLbl); + end; + + procedure DepreciationExportReceivablesName(): Text[100] + begin + exit(DepreciationExportReceivablesLbl); + end; + + procedure DepreciationDomesticReceivablesName(): Text[100] + begin + exit(DepreciationDomesticReceivablesLbl); + end; + + procedure IndividualLossReservesForReceivablesName(): Text[100] + begin + exit(IndividualLossReservesForReceivablesLbl); + end; + + procedure BlanketLossReservesForReceivablesName(): Text[100] + begin + exit(BlanketLossReservesForReceivablesLbl); + end; + + procedure BookValueDisposalOfAssetsName(): Text[100] + begin + exit(BookValueDisposalOfAssetsLbl); + end; + + procedure LossesFromDisposalOfAssetsName(): Text[100] + begin + exit(LossesFromDisposalOfAssetsLbl); + end; + + procedure OtherOperationalExpenditureName(): Text[100] + begin + exit(OtherOperationalExpenditureLbl); + end; + + procedure ProvisionForWarrantiesFundName(): Text[100] + begin + exit(ProvisionForWarrantiesFundLbl); + end; + + procedure ProvisionForCompensationForDamagesFundName(): Text[100] + begin + exit(ProvisionForCompensationForDamagesFundLbl); + end; + + procedure ProvisionForProductLiabilityFundName(): Text[100] + begin + exit(ProvisionForProductLiabilityFundLbl); + end; + + procedure MiscProvisionsFundName(): Text[100] + begin + exit(MiscProvisionsFundLbl); + end; + + procedure CashDeficitName(): Text[100] + begin + exit(CashDeficitLbl); + end; + + procedure FCYUnrealizedExchangeLossesName(): Text[100] + begin + exit(FCYUnrealizedExchangeLossesLbl); + end; + + procedure FCYRealizedExchangeLossesName(): Text[100] + begin + exit(FCYRealizedExchangeLossesLbl); + end; + + procedure PaymentDiscountRevenue0VATName(): Text[100] + begin + exit(PaymentDiscountRevenue0VATLbl); + end; + + procedure CostCenterSettlementSocialExpenseName(): Text[100] + begin + exit(CostCenterSettlementSocialExpenseLbl); + end; + + procedure TotalInsuranceAndOtherExpendituresName(): Text[100] + begin + exit(TotalInsuranceAndOtherExpendituresLbl); + end; + + procedure TOTALDEPRECIATIONOPERATIONALEXPENDITUREName(): Text[100] + begin + exit(TOTALDEPRECIATIONOPERATIONALEXPENDITURELbl); + end; + + procedure FINANCIALREVENUESANDEXPENDITURESBeginTotalName(): Text[100] + begin + exit(FINANCIALREVENUESANDEXPENDITURESBeginTotalLbl); + end; + + procedure FINANCIALREVENUESANDEXPENDITURESName(): Text[100] + begin + exit(FINANCIALREVENUESANDEXPENDITURESLbl); + end; + + procedure IncomeFromEquityInterestsName(): Text[100] + begin + exit(IncomeFromEquityInterestsLbl); + end; + + procedure InterestFromBankDepositsName(): Text[100] + begin + exit(InterestFromBankDepositsLbl); + end; + + procedure InterestFromLoansGrantedName(): Text[100] + begin + exit(InterestFromLoansGrantedLbl); + end; + + procedure PassThroughDiscountRatesName(): Text[100] + begin + exit(PassThroughDiscountRatesLbl); + end; + + procedure IncomeFromDefaultInterestAndExpensesName(): Text[100] + begin + exit(IncomeFromDefaultInterestAndExpensesLbl); + end; + + procedure OtherInterestIncomeName(): Text[100] + begin + exit(OtherInterestIncomeLbl); + end; + + procedure InterestIncomeFromFixedRateSecuritiesName(): Text[100] + begin + exit(InterestIncomeFromFixedRateSecuritiesLbl); + end; + + procedure OtherSecuritiesIncomeName(): Text[100] + begin + exit(OtherSecuritiesIncomeLbl); + end; + + procedure ProceedsFromTheDispOfOtherFinancialAssetsName(): Text[100] + begin + exit(ProceedsFromTheDispOfOtherFinancialAssetsLbl); + end; + + procedure PmtTolReceivedDecreasesCorrectionName(): Text[100] + begin + exit(PmtTolReceivedDecreasesCorrectionLbl); + end; + + procedure IncomeFromAppreciationOfFinancialAssetsName(): Text[100] + begin + exit(IncomeFromAppreciationOfFinancialAssetsLbl); + end; + + procedure IncomeFromAppreciationOfMarketableSecuritiesName(): Text[100] + begin + exit(IncomeFromAppreciationOfMarketableSecuritiesLbl); + end; + + procedure DepreciationOtherFinancialAssetsName(): Text[100] + begin + exit(DepreciationOtherFinancialAssetsLbl); + end; + + procedure DepreciationOfMarketableSecuritiesName(): Text[100] + begin + exit(DepreciationOfMarketableSecuritiesLbl); + end; + + procedure LossFromDisposalOfOtherFinancialAssetsName(): Text[100] + begin + exit(LossFromDisposalOfOtherFinancialAssetsLbl); + end; + + procedure InterestExpenseForBankLoansName(): Text[100] + begin + exit(InterestExpenseForBankLoansLbl); + end; + + procedure UnscheduledDepreciationOfFinancialAssetsName(): Text[100] + begin + exit(UnscheduledDepreciationOfFinancialAssetsLbl); + end; + + procedure InterestExpenditureForLoansName(): Text[100] + begin + exit(InterestExpenditureForLoansLbl); + end; + + procedure DepreciationActivatedFundsAcquisitionCostName(): Text[100] + begin + exit(DepreciationActivatedFundsAcquisitionCostLbl); + end; + + procedure DiscountInterestExpenditureName(): Text[100] + begin + exit(DiscountInterestExpenditureLbl); + end; + + procedure DefaultInterestExpensesName(): Text[100] + begin + exit(DefaultInterestExpensesLbl); + end; + + procedure UnusedDeliveryDiscountsName(): Text[100] + begin + exit(UnusedDeliveryDiscountsLbl); + end; + + procedure PmtTolGrantedDecreasesCorrectionName(): Text[100] + begin + exit(PmtTolGrantedDecreasesCorrectionLbl); + end; + + procedure TotalFinancialIncomeAndExpensesEndTotalName(): Text[100] + begin + exit(TotalFinancialIncomeAndExpensesEndTotalLbl); + end; + + procedure NonRecurringIncomeNonRecurringExpensesName(): Text[100] + begin + exit(NonRecurringIncomeNonRecurringExpensesLbl); + end; + + procedure NonRecurringIncomeName(): Text[100] + begin + exit(NonRecurringIncomeLbl); + end; + + procedure NonRecurringExpensesName(): Text[100] + begin + exit(NonRecurringExpensesLbl); + end; + + procedure TaxesBeforeIncomeAndEarningsName(): Text[100] + begin + exit(TaxesBeforeIncomeAndEarningsLbl); + end; + + procedure CapitalReturnsTaxName(): Text[100] + begin + exit(CapitalReturnsTaxLbl); + end; + + procedure TotalTaxBeforeIncomeName(): Text[100] + begin + exit(TotalTaxBeforeIncomeLbl); + end; + + procedure ChangesInReservesName(): Text[100] + begin + exit(ChangesInReservesLbl); + end; + + procedure GainsFromReversalOfUntaxedReservesName(): Text[100] + begin + exit(GainsFromReversalOfUntaxedReservesLbl); + end; + + procedure GainsFromReversalOfValuationReservesName(): Text[100] + begin + exit(GainsFromReversalOfValuationReservesLbl); + end; + + procedure AssignmentReservesAccordingTo10EstgIFBName(): Text[100] + begin + exit(AssignmentReservesAccordingTo10EstgIFBLbl); + end; + + procedure AssignmentRLAccordingTo12EstgName(): Text[100] + begin + exit(AssignmentRLAccordingTo12EstgLbl); + end; + + procedure AssignmentToValuationReservesName(): Text[100] + begin + exit(AssignmentToValuationReservesLbl); + end; + + procedure TotalChangeInReservesName(): Text[100] + begin + exit(TotalChangeInReservesLbl); + end; + + procedure TOTALFINANCIALINCOMEANDEXPENSESName(): Text[100] + begin + exit(TOTALFINANCIALINCOMEANDEXPENSESLbl); + end; + + procedure EQUITYRESERVESName(): Text[100] + begin + exit(EQUITYRESERVESLbl); + end; + + procedure EquityName(): Text[100] + begin + exit(EquityLbl); + end; + + procedure TaxProvisionsName(): Text[100] + begin + exit(TaxProvisionsLbl); + end; + + procedure FreeReservesName(): Text[100] + begin + exit(FreeReservesLbl); + end; + + procedure NetProfitNetLossName(): Text[100] + begin + exit(NetProfitNetLossLbl); + end; + + procedure ValuationReservesForName(): Text[100] + begin + exit(ValuationReservesForLbl); + end; + + procedure ReservesAccordingTo10EstgIFBName(): Text[100] + begin + exit(ReservesAccordingTo10EstgIFBLbl); + end; + + procedure ReservesAccordingTo12EstgName(): Text[100] + begin + exit(ReservesAccordingTo12EstgLbl); + end; + + procedure PrivateName(): Text[100] + begin + exit(PrivateLbl); + end; + + procedure EBKName(): Text[100] + begin + exit(EBKLbl); + end; + + procedure SBKName(): Text[100] + begin + exit(SBKLbl); + end; + + procedure ProfitAndLossStatementName(): Text[100] + begin + exit(ProfitAndLossStatementLbl); + end; + + procedure TOTALEQUITYRESERVESName(): Text[100] + begin + exit(TOTALEQUITYRESERVESLbl); + end; + + procedure CommissioningAnOperation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissioningAnOperationName())); + end; + + procedure CommissioningTheOperation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissioningTheOperationName())); + end; + + procedure AccumulatedDepreciationFixedAsset(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationFixedAssetName())); + end; + + procedure CommissioningTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissioningTotalName())); + end; + + procedure IntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsName())); + end; + + procedure Concessions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConcessionsName())); + end; + + procedure PatentAndLicenseRights(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PatentAndLicenseRightsName())); + end; + + procedure DataProcessingPrograms(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DataProcessingProgramsName())); + end; + + procedure CompanyValue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CompanyValueName())); + end; + + procedure AdvancePaymentsForIntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsForIntangibleAssetsName())); + end; + + procedure AccumulatedDepreciationIntangibleAsset(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationIntangibleAssetName())); + end; + + procedure TotalIntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIntangibleAssetsName())); + end; + + procedure RealEstate(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealEstateName())); + end; + + procedure DevelopedLand(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevelopedLandName())); + end; + + procedure OperationalBuilding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperationalBuildingName())); + end; + + procedure AcquisitionsDuringTheYearVehicle(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitionsDuringTheYearVehicleName())); + end; + + procedure DisposalsDuringTheYearVehicle(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DisposalsDuringTheYearVehicleName())); + end; + + procedure InvestmentInLeasedBuilding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentInLeasedBuildingName())); + end; + + procedure AccumulatedDepreciationBooked(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationBookedName())); + end; + + procedure UndevelopedLand(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UndevelopedLandName())); + end; + + procedure TotalRealEstate(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRealEstateName())); + end; + + procedure MachineryAndEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryAndEquipmentName())); + end; + + procedure LowValueMachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LowValueMachineryName())); + end; + + procedure AccumulatedDepreciationOperEqupment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationOperEqupmentName())); + end; + + procedure OfficeEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeEquipmentName())); + end; + + procedure BusinessFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessFacilitiesName())); + end; + + procedure OfficeMachinesEDP(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeMachinesEDPName())); + end; + + procedure AcquisitionsDuringTheYearRealEstate(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitionsDuringTheYearRealEstateName())); + end; + + procedure DisposalsDuringTheYearRealEstate(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DisposalsDuringTheYearRealEstateName())); + end; + + procedure AccumDepreciationOfBuilding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumDepreciationOfBuildingName())); + end; + + procedure TotalOperatingEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOperatingEquipmentName())); + end; + + procedure VehicleFleet(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehicleFleetName())); + end; + + procedure Car(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarName())); + end; + + procedure Truck(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TruckName())); + end; + + procedure AcquisitionsDuringTheYearOperEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitionsDuringTheYearOperEquipmentName())); + end; + + procedure DisposalsDuringTheYearOperEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DisposalsDuringTheYearOperEquipmentName())); + end; + + procedure AccumDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumDepreciationName())); + end; + + procedure TotalVehicleFleet(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVehicleFleetName())); + end; + + procedure OtherFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFacilitiesName())); + end; + + procedure LowValueAssetsOperationalAndBusFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LowValueAssetsOperationalAndBusFacilitiesName())); + end; + + procedure AccumulatedDepreciationOtherFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationOtherFacilitiesName())); + end; + + procedure TotalOtherFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherFacilitiesName())); + end; + + procedure AdvancePaymentsMadeFacilitiesUnderConstr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsMadeFacilitiesUnderConstrName())); + end; + + procedure AdvancePaymentsMadeForTangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsMadeForTangibleFixedAssetsName())); + end; + + procedure FacilitiesUnderConstruction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FacilitiesUnderConstructionName())); + end; + + procedure AccumulatedDepreciationAdvPayment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationAdvPaymentName())); + end; + + procedure TotalAdvPaymMadeFacilitiesUnderConstr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdvPaymMadeFacilitiesUnderConstrName())); + end; + + procedure FinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialAssetsName())); + end; + + procedure EquityInterestsInAssociatedCompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityInterestsInAssociatedCompaniesName())); + end; + + procedure OtherEquityInterests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherEquityInterestsName())); + end; + + procedure CompanySharesOrEquityInterests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CompanySharesOrEquityInterestsName())); + end; + + procedure InvestmentSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentSecuritiesName())); + end; + + procedure SecuritiesProvisionsForSeverancePay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesProvisionsForSeverancePayName())); + end; + + procedure SecuritiesProvisionsForPensionPlan(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesProvisionsForPensionPlanName())); + end; + + procedure AdvancePaymentsMadeForFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsMadeForFinancialAssetsName())); + end; + + procedure AccumulatedDepreciationFinancialAsset(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationFinancialAssetName())); + end; + + procedure TotalFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinancialAssetsName())); + end; + + procedure TOTALFIXEDASSETS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALFIXEDASSETSName())); + end; + + procedure SUPPLIES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SUPPLIESName())); + end; + + procedure PurchaseSettlementBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseSettlementBeginTotalName())); + end; + + procedure PurchaseSettlement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseSettlementName())); + end; + + procedure OpeningInventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OpeningInventoryName())); + end; + + procedure TotalPurchaseSettlement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPurchaseSettlementName())); + end; + + procedure RawMaterialSupply(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialSupplyName())); + end; + + procedure RawMaterialSupplyInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialSupplyInterimName())); + end; + + procedure RawMaterialsPostReceiptInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsPostReceiptInterimName())); + end; + + procedure TotalRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRawMaterialsName())); + end; + + procedure PartsPurchasedBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartsPurchasedBeginTotalName())); + end; + + procedure PartsPurchased(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartsPurchasedName())); + end; + + procedure TotalPartsPurchased(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPartsPurchasedName())); + end; + + procedure AuxiliariesOperatingMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuxiliariesOperatingMaterialsName())); + end; + + procedure AuxiliariesSupply(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuxiliariesSupplyName())); + end; + + procedure OperatingMaterialsSupply(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingMaterialsSupplyName())); + end; + + procedure FuelOilSupply(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FuelOilSupplyName())); + end; + + procedure TotalAuxiliariesOperatingMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAuxiliariesOperatingMaterialsName())); + end; + + procedure WorkInProcessBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkInProcessBeginTotalName())); + end; + + procedure WorkInProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkInProcessName())); + end; + + procedure CostWorkInProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostWorkInProcessName())); + end; + + procedure AnticipatedCostWorkInProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnticipatedCostWorkInProcessName())); + end; + + procedure SalesWorkInProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesWorkInProcessName())); + end; + + procedure AnticipatedSalesWorkInProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnticipatedSalesWorkInProcessName())); + end; + + procedure TotalWorkInProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWorkInProcessName())); + end; + + procedure TotalFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinishedGoodsName())); + end; + + procedure Goods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsName())); + end; + + procedure SupplyTradeGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SupplyTradeGoodsName())); + end; + + procedure SupplyTradeGoodsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SupplyTradeGoodsInterimName())); + end; + + procedure TradeGoodsPostReceiptInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsPostReceiptInterimName())); + end; + + procedure TotalGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalGoodsName())); + end; + + procedure ServiceNotBillableYet(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceNotBillableYetName())); + end; + + procedure ServiceNotBillableYes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceNotBillableYesName())); + end; + + procedure TotalServicesNotBillableYet(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalServicesNotBillableYetName())); + end; + + procedure AdvancePaymentsMade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsMadeName())); + end; + + procedure AdvancePaymentsMadeForSupplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsMadeForSuppliesName())); + end; + + procedure TotalAdvancePaymentsMade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdvancePaymentsMadeName())); + end; + + procedure TOTALSUPPLIES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALSUPPLIESName())); + end; + + procedure OtherCurrentAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentAssetsName())); + end; + + procedure Receivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesName())); + end; + + procedure TradeReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeReceivablesName())); + end; + + procedure TradeReceivablesDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeReceivablesDomesticName())); + end; + + procedure TradeReceivablesForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeReceivablesForeignName())); + end; + + procedure ReceivablesIntercompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesIntercompanyName())); + end; + + procedure ReceivablesCashOnDelivery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesCashOnDeliveryName())); + end; + + procedure ChangeOfOwnership(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangeOfOwnershipName())); + end; + + procedure InterimAccountAdvancePaymentsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterimAccountAdvancePaymentsReceivedName())); + end; + + procedure IndividualLossReservesForDomesticReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndividualLossReservesForDomesticReceivablesName())); + end; + + procedure BlanketLossReservesForDomesticReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BlanketLossReservesForDomesticReceivablesName())); + end; + + procedure TradeReceivablesIntraCommunity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeReceivablesIntraCommunityName())); + end; + + procedure IndivLossReservesForIntraCommunityReceivab(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndivLossReservesForIntraCommunityReceivabName())); + end; + + procedure BlanketLossReservesForIntraCommunityReceiv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BlanketLossReservesForIntraCommunityReceivName())); + end; + + procedure TradeReceivablesExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeReceivablesExportName())); + end; + + procedure IndividualLossReservesForReceivablesExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndividualLossReservesForReceivablesExportName())); + end; + + procedure BlanketLossReservesForReceivablesExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BlanketLossReservesForReceivablesExportName())); + end; + + procedure GrantedLoan(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GrantedLoanName())); + end; + + procedure OtherAdvancePaymentsMade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherAdvancePaymentsMadeName())); + end; + + procedure TotalTradeReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTradeReceivablesName())); + end; + + procedure ReceivablesFromOffsettingOfLevies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesFromOffsettingOfLeviesName())); + end; + + procedure PurchaseVATReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATReducedName())); + end; + + procedure PurchaseVATStandard(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATStandardName())); + end; + + procedure PurchaseVATAcquisitionReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATAcquisitionReducedName())); + end; + + procedure PurchaseVATAcquisitionStandard(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATAcquisitionStandardName())); + end; + + procedure ImportSalesTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ImportSalesTaxName())); + end; + + procedure PurchaseVATClearingAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATClearingAccountName())); + end; + + procedure CapitalReturnsTaxAllowableOnIncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalReturnsTaxAllowableOnIncomeTaxName())); + end; + + procedure TotalAccountsReceivableOffsettingOfLevies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAccountsReceivableOffsettingOfLeviesName())); + end; + + procedure TotalAccountsReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAccountsReceivableName())); + end; + + procedure MarketableSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MarketableSecuritiesName())); + end; + + procedure EndorsedCededBillOfExchange(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EndorsedCededBillOfExchangeName())); + end; + + procedure TotalSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSecuritiesName())); + end; + + procedure CashAndBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashAndBankName())); + end; + + procedure PostageStamp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostageStampName())); + end; + + procedure RevenueStamps(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueStampsName())); + end; + + procedure SettlementAccountCashBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SettlementAccountCashBankName())); + end; + + procedure ChecksReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChecksReceivedName())); + end; + + procedure AccountsReceivableFromCreditCardOrganization(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivableFromCreditCardOrganizationName())); + end; + + procedure BankCurrencies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCurrenciesName())); + end; + + procedure TotalCashAndBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCashAndBankName())); + end; + + procedure PrepaidExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidExpensesName())); + end; + + procedure Accruals(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccrualsName())); + end; + + procedure BorrowingCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BorrowingCostsName())); + end; + + procedure TotalPrepaidExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPrepaidExpensesName())); + end; + + procedure TOTALOTHERCURRENTASSETS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALOTHERCURRENTASSETSName())); + end; + + procedure LIABILITIESPROVISIONS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LIABILITIESPROVISIONSName())); + end; + + procedure Provisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsName())); + end; + + procedure ProvisionsForSeverancePayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsForSeverancePaymentsName())); + end; + + procedure ProvisionsForPensions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsForPensionsName())); + end; + + procedure ProvisionsForCorporateTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsForCorporateTaxName())); + end; + + procedure ProvisionsForWarranties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsForWarrantiesName())); + end; + + procedure ProvisionsForCompensationForDamage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsForCompensationForDamageName())); + end; + + procedure ProvisionsForLegalAndConsultancyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsForLegalAndConsultancyExpensesName())); + end; + + procedure TotalProvisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalProvisionsName())); + end; + + procedure AmountsOwedToCreditFinancialInstitutions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AmountsOwedToCreditFinancialInstitutionsName())); + end; + + procedure BankWithCreditLimit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankWithCreditLimitName())); + end; + + procedure ChecksIssued(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChecksIssuedName())); + end; + + procedure Loan(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoanName())); + end; + + procedure SettlementAccountCreditCards(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SettlementAccountCreditCardsName())); + end; + + procedure TotalAmountsOwedToCreditFinancInstitutions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAmountsOwedToCreditFinancInstitutionsName())); + end; + + procedure AdvancePaymentsReceivedBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsReceivedBeginTotalName())); + end; + + procedure AdvancePaymentsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancePaymentsReceivedName())); + end; + + procedure HardwareContractsPaidInAdvance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HardwareContractsPaidInAdvanceName())); + end; + + procedure SoftwareContractsPaidInAdvance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SoftwareContractsPaidInAdvanceName())); + end; + + procedure TotalAdvancePaymentsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdvancePaymentsReceivedName())); + end; + + procedure PayablesToVendors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayablesToVendorsName())); + end; + + procedure VendorsIntercompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsIntercompanyName())); + end; + + procedure NotePayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NotePayableName())); + end; + + procedure InterimAccountAdvancePaymentsMade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterimAccountAdvancePaymentsMadeName())); + end; + + procedure TotalPayablesToVendors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPayablesToVendorsName())); + end; + + procedure TaxLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxLiabilitiesName())); + end; + + procedure SalesTax10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTax10Name())); + end; + + procedure SalesTax20(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTax20Name())); + end; + + procedure SalesTaxProfitAndIncomeTax10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTaxProfitAndIncomeTax10Name())); + end; + + procedure SalesTaxProfitAndIncomeTax20(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTaxProfitAndIncomeTax20Name())); + end; + + procedure TaxOfficeTaxPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxOfficeTaxPayableName())); + end; + + procedure SalesTaxClearingAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTaxClearingAccountName())); + end; + + procedure ProductionOrderPayrollTaxProfitDP(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProductionOrderPayrollTaxProfitDPName())); + end; + + procedure SettlementAccountTaxOffice(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SettlementAccountTaxOfficeName())); + end; + + procedure TotalLiabilitiesFromTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiabilitiesFromTaxesName())); + end; + + procedure PayablesRelatedToSocialSecurity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayablesRelatedToSocialSecurityName())); + end; + + procedure SettlementAccountSocialInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SettlementAccountSocialInsuranceName())); + end; + + procedure SettlementAccountLocalTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SettlementAccountLocalTaxName())); + end; + + procedure SettlementAccountWagesSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SettlementAccountWagesSalariesName())); + end; + + procedure TaxPaymentsWithheld(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxPaymentsWithheldName())); + end; + + procedure PaymentOfTaxArrears(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentOfTaxArrearsName())); + end; + + procedure PayrollTaxPayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollTaxPaymentsName())); + end; + + procedure VacationCompensationPayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VacationCompensationPaymentsName())); + end; + + procedure TotalSocialSecurity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSocialSecurityName())); + end; + + procedure OtherLiabilitiesAndDeferrals(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLiabilitiesAndDeferralsName())); + end; + + procedure DeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredIncomeName())); + end; + + procedure TotalOtherLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherLiabilitiesName())); + end; + + procedure TOTALLIABILITIESPROVISIONS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALLIABILITIESPROVISIONSName())); + end; + + procedure OPERATINGINCOME(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OPERATINGINCOMEName())); + end; + + procedure RevenuesAndRevenueReduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenuesAndRevenueReductionName())); + end; + + procedure Revenues(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenuesName())); + end; + + procedure SalesRevenuesTrade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesTradeName())); + end; + + procedure SalesRevenuesTradeDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesTradeDomesticName())); + end; + + procedure SalesRevenuesTradeExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesTradeExportName())); + end; + + procedure SalesRevenuesTradeEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesTradeEUName())); + end; + + procedure ProjectSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectSalesName())); + end; + + procedure ProjectSalesCorrection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectSalesCorrectionName())); + end; + + procedure TotalSalesRevenuesTrade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesRevenuesTradeName())); + end; + + procedure SalesRevenuesRawMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesRawMaterialName())); + end; + + procedure SalesRevenuesRawMaterialDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesRawMaterialDomesticName())); + end; + + procedure SalesRevenuesRawMaterialExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesRawMaterialExportName())); + end; + + procedure SalesRevenuesRawMaterialEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesRawMaterialEUName())); + end; + + procedure TotalSalesRevenuesRawMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesRevenuesRawMaterialName())); + end; + + procedure SalesRevenuesResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesResourcesName())); + end; + + procedure SalesRevenuesResourcesDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesResourcesDomesticName())); + end; + + procedure SalesRevenuesResourcesExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesResourcesExportName())); + end; + + procedure SalesRevenuesResourcesEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRevenuesResourcesEUName())); + end; + + procedure TotalSalesRevenuesResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesRevenuesResourcesName())); + end; + + procedure ProjectRevenuesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectRevenuesBeginTotalName())); + end; + + procedure ProjectRevenues(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectRevenuesName())); + end; + + procedure OtherProjectRevenues(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherProjectRevenuesName())); + end; + + procedure TotalProjectRevenues(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalProjectRevenuesName())); + end; + + procedure RevenuesServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenuesServiceContractsName())); + end; + + procedure RevenueServiceContract(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueServiceContractName())); + end; + + procedure TotalServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalServiceContractsName())); + end; + + procedure ChargesAndInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargesAndInterestName())); + end; + + procedure ServiceCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceChargesName())); + end; + + procedure ServiceInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceInterestName())); + end; + + procedure ConsultingFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingFeesName())); + end; + + procedure TotalChargesAndInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalChargesAndInterestName())); + end; + + procedure TotalRevenues(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenuesName())); + end; + + procedure RevenueAdjustments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueAdjustmentsName())); + end; + + procedure RevenueAdjustmentDomestic10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueAdjustmentDomestic10Name())); + end; + + procedure RevenueAdjustmentDomestic20(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueAdjustmentDomestic20Name())); + end; + + procedure RevenueAdjustmentExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueAdjustmentExportName())); + end; + + procedure RevenueAdjustmentEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueAdjustmentEUName())); + end; + + procedure CashDiscountPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashDiscountPaidName())); + end; + + procedure CashDiscountPaidAdjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashDiscountPaidAdjustmentName())); + end; + + procedure TotalRevenueAdjustments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenueAdjustmentsName())); + end; + + procedure TotalRevenuesAndRevenueReduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenuesAndRevenueReductionName())); + end; + + procedure InventoryChangesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryChangesBeginTotalName())); + end; + + procedure InventoryChanges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryChangesName())); + end; + + procedure OwnCostCapitalized(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OwnCostCapitalizedName())); + end; + + procedure TotalInventoryChanges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInventoryChangesName())); + end; + + procedure OtherOperatingIncomeBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingIncomeBeginTotalName())); + end; + + procedure ProceedsFromTheSaleOfAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProceedsFromTheSaleOfAssetsName())); + end; + + procedure InsuranceCompensations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsuranceCompensationsName())); + end; + + procedure IncomeFromTheDisposalOfAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromTheDisposalOfAssetsName())); + end; + + procedure IncomeFromTheAppreciationOfIntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromTheAppreciationOfIntangibleAssetsName())); + end; + + procedure IncomeFromAppreciationOfFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromAppreciationOfFixedAssetsName())); + end; + + procedure IncFromReleaseOfProvisionsForSeverPaym(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromReleaseOfProvisionsForSeverPaymName())); + end; + + procedure IncomeFromTheReleaseOfProvForPensionPlan(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromTheReleaseOfProvForPensionPlanName())); + end; + + procedure IncomeFromTheReleaseOfOtherProvisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromTheReleaseOfOtherProvisionsName())); + end; + + procedure OtherOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingIncomeName())); + end; + + procedure OverageOfCash(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverageOfCashName())); + end; + + procedure BenefitInKind(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitInKindName())); + end; + + procedure RentalYield(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalYieldName())); + end; + + procedure ExpenseReimbursement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpenseReimbursementName())); + end; + + procedure FCYUnrealizedExchangeGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FCYUnrealizedExchangeGainsName())); + end; + + procedure FCYRealizedExchangeGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FCYRealizedExchangeGainsName())); + end; + + procedure OtherInsuranceCompensation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherInsuranceCompensationName())); + end; + + procedure IncomeFromReleaseOfLossReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromReleaseOfLossReservesName())); + end; + + procedure TotalOtherOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherOperatingIncomeName())); + end; + + procedure TOTALOPERATINGINCOME(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALOPERATINGINCOMEName())); + end; + + procedure COSTOFMATERIALS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(COSTOFMATERIALSName())); + end; + + procedure TradeGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsName())); + end; + + procedure TradeGoodsConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsConsumptionName())); + end; + + procedure TradeGoodsInventoryAdjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsInventoryAdjustmentName())); + end; + + procedure TradeGoodsDirectCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsDirectCostName())); + end; + + procedure TradeGoodsOverheadExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsOverheadExpensesName())); + end; + + procedure TradeGoodsPurchaseVarianceAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsPurchaseVarianceAccountName())); + end; + + procedure DiscountReceivedTrade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountReceivedTradeName())); + end; + + procedure DeliveryExpensesTrade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeliveryExpensesTradeName())); + end; + + procedure DiscountReceivedRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountReceivedRawMaterialsName())); + end; + + procedure DeliveryExpensesRawMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeliveryExpensesRawMaterialName())); + end; + + procedure TotalTradeGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTradeGoodsName())); + end; + + procedure RawMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialName())); + end; + + procedure RawMaterialConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialConsumptionName())); + end; + + procedure RawMaterialInventoryAdjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialInventoryAdjustmentName())); + end; + + procedure RawMaterialDirectCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialDirectCostName())); + end; + + procedure RawMaterialOverheadExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialOverheadExpensesName())); + end; + + procedure RawMaterialPurchaseVarianceAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialPurchaseVarianceAccountName())); + end; + + procedure TotalRawMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRawMaterialName())); + end; + + procedure Processing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProcessingName())); + end; + + procedure ProcessingConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProcessingConsumptionName())); + end; + + procedure ProcessingInventoryAdjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProcessingInventoryAdjustmentName())); + end; + + procedure ProcessingOverheadExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProcessingOverheadExpensesName())); + end; + + procedure ProcessingPurchaseVarianceAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProcessingPurchaseVarianceAccountName())); + end; + + procedure TotalProcessing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalProcessingName())); + end; + + procedure Projects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectsName())); + end; + + procedure ProjectCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectCostsName())); + end; + + procedure ProjectCostsAllocated(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectCostsAllocatedName())); + end; + + procedure ProjectCostsCorrection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectCostsCorrectionName())); + end; + + procedure TotalProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalProjectsName())); + end; + + procedure Variance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VarianceName())); + end; + + procedure MaterialVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialVarianceName())); + end; + + procedure CapacityVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapacityVarianceName())); + end; + + procedure SubcontractedVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedVarianceName())); + end; + + procedure CapOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapOverheadVarianceName())); + end; + + procedure ManufacturingOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManufacturingOverheadVarianceName())); + end; + + procedure TotalVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVarianceName())); + end; + + procedure Consumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumptionName())); + end; + + procedure AuxiliariesConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuxiliariesConsumptionName())); + end; + + procedure PackagingMaterialConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PackagingMaterialConsumptionName())); + end; + + procedure OperatingMaterialsConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingMaterialsConsumptionName())); + end; + + procedure CleaningMaterialsConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningMaterialsConsumptionName())); + end; + + procedure ConsumptionOfIncidentals(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumptionOfIncidentalsName())); + end; + + procedure ConsumptionOfFuels(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumptionOfFuelsName())); + end; + + procedure TotalConsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalConsumptionName())); + end; + + procedure PurchaseCurrentMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseCurrentMaterialName())); + end; + + procedure PurchaseTradeDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseTradeDomesticName())); + end; + + procedure PurchaseTradeImport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseTradeImportName())); + end; + + procedure PurchaseTradeEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseTradeEUName())); + end; + + procedure PurchaseRawMaterialsDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseRawMaterialsDomesticName())); + end; + + procedure PurchaseRawMaterialsImport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseRawMaterialsImportName())); + end; + + procedure PurchaseRawMaterialsEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseRawMaterialsEUName())); + end; + + procedure TotalPurchaseActiveMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPurchaseActiveMaterialName())); + end; + + procedure OtherServicesReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherServicesReceivedName())); + end; + + procedure ServicesReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServicesReceivedName())); + end; + + procedure ServiceChargesPurchase(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceChargesPurchaseName())); + end; + + procedure TotalOtherServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherServicesName())); + end; + + procedure PaymentDiscountRevenueBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscountRevenueBeginTotalName())); + end; + + procedure PaymentDiscountRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscountRevenueName())); + end; + + procedure PaymentDiscountRevenueCorrection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscountRevenueCorrectionName())); + end; + + procedure TotalPaymentDiscountRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPaymentDiscountRevenueName())); + end; + + procedure TOTALCOSTOFMATERIALS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALCOSTOFMATERIALSName())); + end; + + procedure WagesWithoutServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesWithoutServicesName())); + end; + + procedure TotalWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWagesName())); + end; + + procedure SalariesWithoutServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalariesWithoutServicesName())); + end; + + procedure TotalSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalariesName())); + end; + + procedure SeverancePaymentsBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SeverancePaymentsBeginTotalName())); + end; + + procedure SeverancePayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SeverancePaymentsName())); + end; + + procedure SeverancePaymentProvisionFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SeverancePaymentProvisionFundName())); + end; + + procedure PensionsPayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionsPaymentsName())); + end; + + procedure PensionProvisionFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionProvisionFundName())); + end; + + procedure TotalSeverancePayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSeverancePaymentsName())); + end; + + procedure StatutorySocialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutorySocialExpensesName())); + end; + + procedure StatutorySocialExpensesWorker(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutorySocialExpensesWorkerName())); + end; + + procedure StatutorySocialExpensesEmployee(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutorySocialExpensesEmployeeName())); + end; + + procedure TotalStatutorySocialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalStatutorySocialExpensesName())); + end; + + procedure OtherSocialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSocialExpensesName())); + end; + + procedure LocalTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LocalTaxName())); + end; + + procedure GDContributionFamilyAllowanceProfit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GDContributionFamilyAllowanceProfitName())); + end; + + procedure AdditionToProfit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionToProfitName())); + end; + + procedure LevyForTheEmployerVienna(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LevyForTheEmployerViennaName())); + end; + + procedure VoluntarySocialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VoluntarySocialExpensesName())); + end; + + procedure CostCenterSettlementInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostCenterSettlementInsuranceName())); + end; + + procedure TotalOtherSocialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherSocialExpensesName())); + end; + + procedure DEPRECIATIONOTHERCOSTOFOPERATIONS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DEPRECIATIONOTHERCOSTOFOPERATIONSName())); + end; + + procedure Depreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationName())); + end; + + procedure ScheduledAmortizationOnIntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ScheduledAmortizationOnIntangibleAssetsName())); + end; + + procedure UnscheduledAmortizationOnIntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnscheduledAmortizationOnIntangibleAssetsName())); + end; + + procedure ScheduledDepreciationOfFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ScheduledDepreciationOfFixedAssetsName())); + end; + + procedure ScheduledDepreciationVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ScheduledDepreciationVehiclesName())); + end; + + procedure UnscheduledDepreciationOfFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnscheduledDepreciationOfFixedAssetsName())); + end; + + procedure LowValueAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LowValueAssetsName())); + end; + + procedure TotalDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalDepreciationName())); + end; + + procedure OtherTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTaxesName())); + end; + + procedure PropertyTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyTaxName())); + end; + + procedure BeverageAndAlcoholTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BeverageAndAlcoholTaxName())); + end; + + procedure ChargesAndRevenueStamps(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargesAndRevenueStampsName())); + end; + + procedure MiscOtherTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscOtherTaxesName())); + end; + + procedure TotalOtherTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherTaxesName())); + end; + + procedure MaintenanceCleaningEtc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintenanceCleaningEtcName())); + end; + + procedure ThirdPartyMaintenance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ThirdPartyMaintenanceName())); + end; + + procedure CarOperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarOperatingExpensesName())); + end; + + procedure TruckOperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TruckOperatingExpensesName())); + end; + + procedure CarRepairsAndMaintenance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarRepairsAndMaintenanceName())); + end; + + procedure Fuel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FuelName())); + end; + + procedure TotalMaintenanceEtc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMaintenanceEtcName())); + end; + + procedure TransportationTravelCommunications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportationTravelCommunicationsName())); + end; + + procedure TransportationThirdParties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportationThirdPartiesName())); + end; + + procedure TravelExpensesDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelExpensesDomesticName())); + end; + + procedure TravelExpensesAbroad(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelExpensesAbroadName())); + end; + + procedure KilometerAllowance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(KilometerAllowanceName())); + end; + + procedure MealExpensesDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MealExpensesDomesticName())); + end; + + procedure MealExpensesAbroad(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MealExpensesAbroadName())); + end; + + procedure HotelExpensesDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HotelExpensesDomesticName())); + end; + + procedure HotelExpensesAbroad(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HotelExpensesAbroadName())); + end; + + procedure CommunicationCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommunicationChargesName())); + end; + + procedure TotalTransportationExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTransportationExpensesName())); + end; + + procedure RentalsLeasingBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalsLeasingBeginTotalName())); + end; + + procedure RentalsLeasing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalsLeasingName())); + end; + + procedure TotalRentalsLeasingEtc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRentalsLeasingEtcName())); + end; + + procedure Commissions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsName())); + end; + + procedure CommissionsForThirdParties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsForThirdPartiesName())); + end; + + procedure TotalCommissions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCommissionsName())); + end; + + procedure OfficeAdvertisingAndMaintenanceExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeAdvertisingAndMaintenanceExpenditureName())); + end; + + procedure PhoneAndInternetCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PhoneAndInternetChargesName())); + end; + + procedure ExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalServicesName())); + end; + + procedure DeductibleAdvertisingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeductibleAdvertisingExpensesName())); + end; + + procedure NonDeductibleAdvertisingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonDeductibleAdvertisingExpensesName())); + end; + + procedure HospitalityDomesticDeductibleAmount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HospitalityDomesticDeductibleAmountName())); + end; + + procedure HospitalityDomesticNonDeductibleAmount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HospitalityDomesticNonDeductibleAmountName())); + end; + + procedure HospitalityAbroadDeductibleAmount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HospitalityAbroadDeductibleAmountName())); + end; + + procedure HospitalityAbroadNonDeductibleAmount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HospitalityAbroadNonDeductibleAmountName())); + end; + + procedure DonationsAndTips(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DonationsAndTipsName())); + end; + + procedure TotalOfficeAdvertisingMaintenanceExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOfficeAdvertisingMaintenanceExpenditureName())); + end; + + procedure InsurancesAndOtherExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesAndOtherExpensesName())); + end; + + procedure InsuranceExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsuranceExpensesName())); + end; + + procedure LegalAndConsultancyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalAndConsultancyExpensesName())); + end; + + procedure ProvisionForLegalAndConsultancyExpensesFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForLegalAndConsultancyExpensesFundName())); + end; + + procedure Other(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherName())); + end; + + procedure TechnicalLiterature(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TechnicalLiteratureName())); + end; + + procedure ExpenditureEducationAndTraining(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpenditureEducationAndTrainingName())); + end; + + procedure ChamberContribution(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChamberContributionName())); + end; + + procedure ExpensesThroughCirculationOfMoney(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesThroughCirculationOfMoneyName())); + end; + + procedure DepreciationOfSupplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationOfSuppliesName())); + end; + + procedure DepreciationExportReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationExportReceivablesName())); + end; + + procedure DepreciationDomesticReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationDomesticReceivablesName())); + end; + + procedure IndividualLossReservesForReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndividualLossReservesForReceivablesName())); + end; + + procedure BlanketLossReservesForReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BlanketLossReservesForReceivablesName())); + end; + + procedure BookValueDisposalOfAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BookValueDisposalOfAssetsName())); + end; + + procedure LossesFromDisposalOfAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesFromDisposalOfAssetsName())); + end; + + procedure OtherOperationalExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperationalExpenditureName())); + end; + + procedure ProvisionForWarrantiesFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForWarrantiesFundName())); + end; + + procedure ProvisionForCompensationForDamagesFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForCompensationForDamagesFundName())); + end; + + procedure ProvisionForProductLiabilityFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForProductLiabilityFundName())); + end; + + procedure MiscProvisionsFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscProvisionsFundName())); + end; + + procedure CashDeficit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashDeficitName())); + end; + + procedure FCYUnrealizedExchangeLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FCYUnrealizedExchangeLossesName())); + end; + + procedure FCYRealizedExchangeLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FCYRealizedExchangeLossesName())); + end; + + procedure PaymentDiscountRevenue0VAT(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscountRevenue0VATName())); + end; + + procedure CostCenterSettlementSocialExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostCenterSettlementSocialExpenseName())); + end; + + procedure TotalInsuranceAndOtherExpenditures(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsuranceAndOtherExpendituresName())); + end; + + procedure TOTALDEPRECIATIONOPERATIONALEXPENDITURE(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALDEPRECIATIONOPERATIONALEXPENDITUREName())); + end; + + procedure FINANCIALREVENUESANDEXPENDITURESBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FINANCIALREVENUESANDEXPENDITURESBeginTotalName())); + end; + + procedure FINANCIALREVENUESANDEXPENDITURES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FINANCIALREVENUESANDEXPENDITURESName())); + end; + + procedure IncomeFromEquityInterests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromEquityInterestsName())); + end; + + procedure InterestFromBankDeposits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestFromBankDepositsName())); + end; + + procedure InterestFromLoansGranted(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestFromLoansGrantedName())); + end; + + procedure PassThroughDiscountRates(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PassThroughDiscountRatesName())); + end; + + procedure IncomeFromDefaultInterestAndExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromDefaultInterestAndExpensesName())); + end; + + procedure OtherInterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherInterestIncomeName())); + end; + + procedure InterestIncomeFromFixedRateSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestIncomeFromFixedRateSecuritiesName())); + end; + + procedure OtherSecuritiesIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSecuritiesIncomeName())); + end; + + procedure ProceedsFromTheDispOfOtherFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProceedsFromTheDispOfOtherFinancialAssetsName())); + end; + + procedure PmtTolReceivedDecreasesCorrection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PmtTolReceivedDecreasesCorrectionName())); + end; + + procedure IncomeFromAppreciationOfFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromAppreciationOfFinancialAssetsName())); + end; + + procedure IncomeFromAppreciationOfMarketableSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromAppreciationOfMarketableSecuritiesName())); + end; + + procedure DepreciationOtherFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationOtherFinancialAssetsName())); + end; + + procedure DepreciationOfMarketableSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationOfMarketableSecuritiesName())); + end; + + procedure LossFromDisposalOfOtherFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossFromDisposalOfOtherFinancialAssetsName())); + end; + + procedure InterestExpenseForBankLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestExpenseForBankLoansName())); + end; + + procedure UnscheduledDepreciationOfFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnscheduledDepreciationOfFinancialAssetsName())); + end; + + procedure InterestExpenditureForLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestExpenditureForLoansName())); + end; + + procedure DepreciationActivatedFundsAcquisitionCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationActivatedFundsAcquisitionCostName())); + end; + + procedure DiscountInterestExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountInterestExpenditureName())); + end; + + procedure DefaultInterestExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DefaultInterestExpensesName())); + end; + + procedure UnusedDeliveryDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnusedDeliveryDiscountsName())); + end; + + procedure PmtTolGrantedDecreasesCorrection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PmtTolGrantedDecreasesCorrectionName())); + end; + + procedure TotalFinancialIncomeAndExpensesEndTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinancialIncomeAndExpensesEndTotalName())); + end; + + procedure NonRecurringIncomeNonRecurringExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRecurringIncomeNonRecurringExpensesName())); + end; + + procedure NonRecurringIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRecurringIncomeName())); + end; + + procedure NonRecurringExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRecurringExpensesName())); + end; + + procedure TaxesBeforeIncomeAndEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesBeforeIncomeAndEarningsName())); + end; + + procedure CapitalReturnsTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalReturnsTaxName())); + end; + + procedure TotalTaxBeforeIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTaxBeforeIncomeName())); + end; + + procedure ChangesInReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInReservesName())); + end; + + procedure GainsFromReversalOfUntaxedReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsFromReversalOfUntaxedReservesName())); + end; + + procedure GainsFromReversalOfValuationReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsFromReversalOfValuationReservesName())); + end; + + procedure AssignmentReservesAccordingTo10EstgIFB(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssignmentReservesAccordingTo10EstgIFBName())); + end; + + procedure AssignmentRLAccordingTo12Estg(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssignmentRLAccordingTo12EstgName())); + end; + + procedure AssignmentToValuationReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssignmentToValuationReservesName())); + end; + + procedure TotalChangeInReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalChangeInReservesName())); + end; + + procedure TOTALFINANCIALINCOMEANDEXPENSES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALFINANCIALINCOMEANDEXPENSESName())); + end; + + procedure EQUITYRESERVES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EQUITYRESERVESName())); + end; + + procedure Equity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityName())); + end; + + procedure TaxProvisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxProvisionsName())); + end; + + procedure FreeReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreeReservesName())); + end; + + procedure NetProfitNetLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetProfitNetLossName())); + end; + + procedure ValuationReservesFor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValuationReservesForName())); + end; + + procedure ReservesAccordingTo10EstgIFB(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReservesAccordingTo10EstgIFBName())); + end; + + procedure ReservesAccordingTo12Estg(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReservesAccordingTo12EstgName())); + end; + + procedure Private(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrivateName())); + end; + + procedure EBK(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EBKName())); + end; + + procedure SBK(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SBKName())); + end; + + procedure ProfitAndLossStatement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitAndLossStatementName())); + end; + + procedure TOTALEQUITYRESERVES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALEQUITYRESERVESName())); + end; + + procedure WagesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesBeginTotalName())); + end; + + procedure SalariesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalariesBeginTotalName())); + end; + + procedure FinishedGoodsBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsBeginTotalName())); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + CommissioningAnOperationLbl: Label 'Commissioning an operation', MaxLength = 100; + CommissioningTheOperationLbl: Label 'Commissioning the operation', MaxLength = 100; + AccumulatedDepreciationFixedAssetLbl: Label 'Accumulated depreciation-Fixed Asset', MaxLength = 100; + CommissioningTotalLbl: Label 'Commissioning total', MaxLength = 100; + IntangibleAssetsLbl: Label 'Intangible assets', MaxLength = 100; + ConcessionsLbl: Label 'Concessions', MaxLength = 100; + PatentAndLicenseRightsLbl: Label 'Patent and license rights', MaxLength = 100; + DataProcessingProgramsLbl: Label 'Data processing programs', MaxLength = 100; + CompanyValueLbl: Label 'Company value', MaxLength = 100; + AdvancePaymentsForIntangibleAssetsLbl: Label 'Advance payments for intangible assets', MaxLength = 100; + AccumulatedDepreciationIntangibleAssetLbl: Label 'Accumulated depreciation-Intengible Asset', MaxLength = 100; + TotalIntangibleAssetsLbl: Label 'Total intangible assets', MaxLength = 100; + RealEstateLbl: Label 'Real estate', MaxLength = 100; + DevelopedLandLbl: Label 'Developed land', MaxLength = 100; + OperationalBuildingLbl: Label 'Operational building', MaxLength = 100; + AcquisitionsDuringTheYearRealEstateLbl: Label 'Acquisitions during the year - Real Estate', MaxLength = 100; + DisposalsDuringTheYearRealEstateLbl: Label 'Disposals during the year - Real Estate', MaxLength = 100; + InvestmentInLeasedBuildingLbl: Label 'Investment in leased building', MaxLength = 100; + AccumulatedDepreciationBookedLbl: Label 'Accumulated depreciation booked', MaxLength = 100; + UndevelopedLandLbl: Label 'Undeveloped land', MaxLength = 100; + TotalRealEstateLbl: Label 'Total real estate', MaxLength = 100; + MachineryAndEquipmentLbl: Label 'Machinery and equipment', MaxLength = 100; + LowValueMachineryLbl: Label 'Low-value machinery', MaxLength = 100; + AccumulatedDepreciationOperEquipmentLbl: Label 'Accumulated depreciation-Oper. Equip', MaxLength = 100; + OfficeEquipmentLbl: Label 'Office equipment', MaxLength = 100; + BusinessFacilitiesLbl: Label 'Business facilities', MaxLength = 100; + OfficeMachinesEDPLbl: Label 'Office machines, EDP', MaxLength = 100; + AcquisitionsDuringTheYearOperEquipmentLbl: Label 'Acquisitions during the year - Oper Equipment', MaxLength = 100; + DisposalsDuringTheYearOperEquipmentLbl: Label 'Disposals during the year - Oper Equipment', MaxLength = 100; + AccumDepreciationOfBuildingLbl: Label 'Accum. Depreciation of building', MaxLength = 100; + TotalOperatingEquipmentLbl: Label 'Total operating equipment', MaxLength = 100; + VehicleFleetLbl: Label 'Vehicle fleet', MaxLength = 100; + CarLbl: Label 'Car', MaxLength = 100; + TruckLbl: Label 'Truck', MaxLength = 100; + AcquisitionsDuringTheYearVehicleLbl: Label 'Acquisitions during the year - Vehicle', MaxLength = 100; + DisposalsDuringTheYearVehicleLbl: Label 'Disposals during the year - Vehicle', MaxLength = 100; + AccumDepreciationLbl: Label 'Accum. Depreciation', MaxLength = 100; + TotalVehicleFleetLbl: Label 'Total vehicle fleet', MaxLength = 100; + OtherFacilitiesLbl: Label 'Other facilities', MaxLength = 100; + LowValueAssetsOperationalAndBusFacilitiesLbl: Label 'Low-value assets (operational and bus. facilities)', MaxLength = 100; + AccumulatedDepreciationOtherFacilitiesLbl: Label 'Accumulated depreciation-Other Facilities', MaxLength = 100; + TotalOtherFacilitiesLbl: Label 'Total other facilities', MaxLength = 100; + AdvancePaymentsMadeFacilitiesUnderConstrLbl: Label 'Advance payments made/facilities under constr.', MaxLength = 100; + AdvancePaymentsMadeForTangibleFixedAssetsLbl: Label 'Advance payments made for tangible fixed assets', MaxLength = 100; + FacilitiesUnderConstructionLbl: Label 'Facilities under construction', MaxLength = 100; + AccumulatedDepreciationAdvPaymentLbl: Label 'Accumulated depreciation-Adv. Payment', MaxLength = 100; + TotalAdvPaymMadeFacilitiesUnderConstrLbl: Label 'Total adv. paym. made/facilities under constr.', MaxLength = 100; + FinancialAssetsLbl: Label 'Financial assets', MaxLength = 100; + EquityInterestsInAssociatedCompaniesLbl: Label 'Equity interests in associated companies', MaxLength = 100; + OtherEquityInterestsLbl: Label 'Other equity interests', MaxLength = 100; + CompanySharesOrEquityInterestsLbl: Label 'Company shares or equity interests', MaxLength = 100; + InvestmentSecuritiesLbl: Label 'Investment securities', MaxLength = 100; + SecuritiesProvisionsForSeverancePayLbl: Label 'Securities provisions for severance pay', MaxLength = 100; + SecuritiesProvisionsForPensionPlanLbl: Label 'Securities provisions for pension plan', MaxLength = 100; + AdvancePaymentsMadeForFinancialAssetsLbl: Label 'Advance payments made for financial assets', MaxLength = 100; + AccumulatedDepreciationFinancalAssetLbl: Label 'Accumulated depreciation - Financial Asset', MaxLength = 100; + TotalFinancialAssetsLbl: Label 'Total financial assets', MaxLength = 100; + TOTALFIXEDASSETSLbl: Label 'TOTAL FIXED ASSETS', MaxLength = 100; + SUPPLIESLbl: Label 'SUPPLIES', MaxLength = 100; + PurchaseSettlementBeginTotalLbl: Label 'Purchase settlement - Begin Total', MaxLength = 100; + PurchaseSettlementLbl: Label 'Purchase settlement', MaxLength = 100; + OpeningInventoryLbl: Label 'Opening inventory', MaxLength = 100; + TotalPurchaseSettlementLbl: Label 'Total purchase settlement', MaxLength = 100; + RawMaterialSupplyLbl: Label 'Raw material supply', MaxLength = 100; + RawMaterialSupplyInterimLbl: Label 'Raw material supply (interim)', MaxLength = 100; + RawMaterialsPostReceiptInterimLbl: Label 'Raw materials post receipt (interim)', MaxLength = 100; + TotalRawMaterialsLbl: Label 'Total raw materials', MaxLength = 100; + PartsPurchasedBeginTotalLbl: Label 'Parts purchased - Begin Total', MaxLength = 100; + PartsPurchasedLbl: Label 'Parts purchased', MaxLength = 100; + TotalPartsPurchasedLbl: Label 'Total parts purchased', MaxLength = 100; + AuxiliariesOperatingMaterialsLbl: Label 'Auxiliaries, operating materials', MaxLength = 100; + AuxiliariesSupplyLbl: Label 'Auxiliaries supply', MaxLength = 100; + OperatingMaterialsSupplyLbl: Label 'Operating materials supply', MaxLength = 100; + FuelOilSupplyLbl: Label 'Fuel oil supply', MaxLength = 100; + TotalAuxiliariesOperatingMaterialsLbl: Label 'Total auxiliaries, operating materials', MaxLength = 100; + WorkInProcessBeginTotalLbl: Label 'Work in process - Begin Total', MaxLength = 100; + WorkInProcessLbl: Label 'Work in process', MaxLength = 100; + CostWorkInProcessLbl: Label 'Cost work in process', MaxLength = 100; + AnticipatedCostWorkInProcessLbl: Label 'Anticipated cost work in process', MaxLength = 100; + SalesWorkInProcessLbl: Label 'Sales work in process', MaxLength = 100; + AnticipatedSalesWorkInProcessLbl: Label 'Anticipated sales work in process', MaxLength = 100; + TotalWorkInProcessLbl: Label 'Total work in process', MaxLength = 100; + TotalFinishedGoodsLbl: Label 'Total finished goods', MaxLength = 100; + GoodsLbl: Label 'Goods', MaxLength = 100; + SupplyTradeGoodsLbl: Label 'Supply trade goods', MaxLength = 100; + SupplyTradeGoodsInterimLbl: Label 'Supply trade goods (interim)', MaxLength = 100; + TradeGoodsPostReceiptInterimLbl: Label 'Trade goods post receipt (interim)', MaxLength = 100; + TotalGoodsLbl: Label 'Total goods', MaxLength = 100; + ServiceNotBillableYetLbl: Label 'Service not billable yet', MaxLength = 100; + ServiceNotBillableYesLbl: Label 'Service not billable yes', MaxLength = 100; + TotalServicesNotBillableYetLbl: Label 'Total services not billable yet', MaxLength = 100; + AdvancePaymentsMadeLbl: Label 'Advance payments made', MaxLength = 100; + AdvancePaymentsMadeForSuppliesLbl: Label 'Advance payments made for supplies', MaxLength = 100; + TotalAdvancePaymentsMadeLbl: Label 'Total advance payments made', MaxLength = 100; + TOTALSUPPLIESLbl: Label 'TOTAL SUPPLIES', MaxLength = 100; + OtherCurrentAssetsLbl: Label 'Other current assets', MaxLength = 100; + ReceivablesLbl: Label 'Receivables', MaxLength = 100; + TradeReceivablesLbl: Label 'Trade receivables', MaxLength = 100; + TradeReceivablesDomesticLbl: Label 'Trade receivables domestic', MaxLength = 100; + TradeReceivablesForeignLbl: Label 'Trade receivables foreign', MaxLength = 100; + ReceivablesIntercompanyLbl: Label 'Receivables intercompany', MaxLength = 100; + ReceivablesCashOnDeliveryLbl: Label 'Receivables cash on delivery', MaxLength = 100; + ChangeOfOwnershipLbl: Label 'Change of ownership', MaxLength = 100; + InterimAccountAdvancePaymentsReceivedLbl: Label 'Interim account advance payments received', MaxLength = 100; + IndividualLossReservesForDomesticReceivablesLbl: Label 'Individual loss reserves for domestic receivables', MaxLength = 100; + BlanketLossReservesForDomesticReceivablesLbl: Label 'Blanket loss reserves for domestic receivables', MaxLength = 100; + TradeReceivablesIntraCommunityLbl: Label 'Trade receivables intra-community', MaxLength = 100; + IndivLossReservesForIntraCommunityReceivabLbl: Label 'Indiv. loss reserves for intra-community receivab.', MaxLength = 100; + BlanketLossReservesForIntraCommunityReceivLbl: Label 'Blanket loss reserves for intra-community receiv.', MaxLength = 100; + TradeReceivablesExportLbl: Label 'Trade receivables export', MaxLength = 100; + IndividualLossReservesForReceivablesExportLbl: Label 'Individual loss reserves for receivables export', MaxLength = 100; + BlanketLossReservesForReceivablesExportLbl: Label 'Blanket loss reserves for receivables export', MaxLength = 100; + GrantedLoanLbl: Label 'Granted loan', MaxLength = 100; + OtherAdvancePaymentsMadeLbl: Label 'Other advance payments made', MaxLength = 100; + TotalTradeReceivablesLbl: Label 'Total trade receivables', MaxLength = 100; + ReceivablesFromOffsettingOfLeviesLbl: Label 'Receivables from offsetting of levies', MaxLength = 100; + PurchaseVATReducedLbl: Label 'Purchase VAT 10%', MaxLength = 100; + PurchaseVATStandardLbl: Label 'Purchase VAT 20%', MaxLength = 100; + PurchaseVATAcquisitionReducedLbl: Label 'Purchase VAT acquisition 10%', MaxLength = 100; + PurchaseVATAcquisitionStandardLbl: Label 'Purchase VAT acquisition 20%', MaxLength = 100; + ImportSalesTaxLbl: Label 'Import sales tax', MaxLength = 100; + PurchaseVATClearingAccountLbl: Label 'Purchase VAT clearing account', MaxLength = 100; + CapitalReturnsTaxAllowableOnIncomeTaxLbl: Label 'Capital returns tax (allowable on income tax)', MaxLength = 100; + TotalAccountsReceivableOffsettingOfLeviesLbl: Label 'Total accounts receivable offsetting of levies', MaxLength = 100; + TotalAccountsReceivableLbl: Label 'Total accounts receivable', MaxLength = 100; + MarketableSecuritiesLbl: Label 'Marketable securities', MaxLength = 100; + EndorsedCededBillOfExchangeLbl: Label 'endorsed, ceded bill of exchange', MaxLength = 100; + TotalSecuritiesLbl: Label 'Total securities', MaxLength = 100; + CashAndBankLbl: Label 'Cash and bank', MaxLength = 100; + PostageStampLbl: Label 'Postage stamp', MaxLength = 100; + RevenueStampsLbl: Label 'Revenue stamps', MaxLength = 100; + SettlementAccountCashBankLbl: Label 'Settlement account cash bank', MaxLength = 100; + ChecksReceivedLbl: Label 'Checks received', MaxLength = 100; + AccountsReceivableFromCreditCardOrganizationLbl: Label 'Accounts receivable from credit card organization', MaxLength = 100; + BankCurrenciesLbl: Label 'Bank, currencies', MaxLength = 100; + TotalCashAndBankLbl: Label 'Total cash and bank', MaxLength = 100; + PrepaidExpensesLbl: Label 'Prepaid expenses', MaxLength = 100; + AccrualsLbl: Label 'Accruals', MaxLength = 100; + BorrowingCostsLbl: Label 'Borrowing costs', MaxLength = 100; + TotalPrepaidExpensesLbl: Label 'Total prepaid expenses', MaxLength = 100; + TOTALOTHERCURRENTASSETSLbl: Label 'TOTAL OTHER CURRENT ASSETS', MaxLength = 100; + LIABILITIESPROVISIONSLbl: Label 'LIABILITIES, PROVISIONS', MaxLength = 100; + ProvisionsLbl: Label 'Provisions ', MaxLength = 100; + ProvisionsForSeverancePaymentsLbl: Label 'Provisions for severance payments', MaxLength = 100; + ProvisionsForPensionsLbl: Label 'Provisions for pensions', MaxLength = 100; + ProvisionsForCorporateTaxLbl: Label 'Provisions for corporate tax', MaxLength = 100; + ProvisionsForWarrantiesLbl: Label 'Provisions for warranties', MaxLength = 100; + ProvisionsForCompensationForDamageLbl: Label 'Provisions for compensation for damage', MaxLength = 100; + ProvisionsForLegalAndConsultancyExpensesLbl: Label 'Provisions for legal and consultancy expenses', MaxLength = 100; + TotalProvisionsLbl: Label 'Total provisions', MaxLength = 100; + AmountsOwedToCreditFinancialInstitutionsLbl: Label 'Amounts owed to credit / financial institutions', MaxLength = 100; + BankWithCreditLimitLbl: Label 'Bank (with credit limit)', MaxLength = 100; + ChecksIssuedLbl: Label 'Checks (issued)', MaxLength = 100; + LoanLbl: Label 'Loan', MaxLength = 100; + SettlementAccountCreditCardsLbl: Label 'Settlement account credit cards', MaxLength = 100; + TotalAmountsOwedToCreditFinancInstitutionsLbl: Label 'Total amounts owed to credit/financ. institutions', MaxLength = 100; + AdvancePaymentsReceivedBeginTotalLbl: Label 'Advance payments received - Begin Total', MaxLength = 100; + AdvancePaymentsReceivedLbl: Label 'Advance payments received', MaxLength = 100; + HardwareContractsPaidInAdvanceLbl: Label 'Hardware contracts paid in advance', MaxLength = 100; + SoftwareContractsPaidInAdvanceLbl: Label 'Software contracts paid in advance', MaxLength = 100; + TotalAdvancePaymentsReceivedLbl: Label 'Total advance payments received', MaxLength = 100; + PayablesToVendorsLbl: Label 'Payables to vendors', MaxLength = 100; + VendorsIntercompanyLbl: Label 'Vendors, intercompany', MaxLength = 100; + NotePayableLbl: Label 'Note payable', MaxLength = 100; + InterimAccountAdvancePaymentsMadeLbl: Label 'Interim account advance payments made', MaxLength = 100; + TotalPayablesToVendorsLbl: Label 'Total payables to vendors', MaxLength = 100; + TaxLiabilitiesLbl: Label 'Tax liabilities', MaxLength = 100; + SalesTax10Lbl: Label 'Sales tax 10%', MaxLength = 100; + SalesTax20Lbl: Label 'Sales tax 20%', MaxLength = 100; + SalesTaxProfitAndIncomeTax10Lbl: Label 'Sales tax profit and income tax 10%', MaxLength = 100; + SalesTaxProfitAndIncomeTax20Lbl: Label 'Sales tax profit and income tax 20%', MaxLength = 100; + TaxOfficeTaxPayableLbl: Label 'Tax Office - tax payable', MaxLength = 100; + SalesTaxClearingAccountLbl: Label 'Sales tax clearing account', MaxLength = 100; + ProductionOrderPayrollTaxProfitDPLbl: Label 'Production order payroll tax, profit, D/P', MaxLength = 100; + SettlementAccountTaxOfficeLbl: Label 'Settlement account Tax Office', MaxLength = 100; + TotalLiabilitiesFromTaxesLbl: Label 'Total liabilities from taxes', MaxLength = 100; + PayablesRelatedToSocialSecurityLbl: Label 'Payables related to social security', MaxLength = 100; + SettlementAccountSocialInsuranceLbl: Label 'Settlement account social insurance', MaxLength = 100; + SettlementAccountLocalTaxLbl: Label 'Settlement account local tax', MaxLength = 100; + SettlementAccountWagesSalariesLbl: Label 'Settlement account wages + salaries', MaxLength = 100; + TaxPaymentsWithheldLbl: Label 'Tax payments withheld', MaxLength = 100; + PaymentOfTaxArrearsLbl: Label 'Payment of tax arrears', MaxLength = 100; + PayrollTaxPaymentsLbl: Label 'Payroll tax payments', MaxLength = 100; + VacationCompensationPaymentsLbl: Label 'Vacation compensation payments', MaxLength = 100; + TotalSocialSecurityLbl: Label 'Total social security', MaxLength = 100; + OtherLiabilitiesAndDeferralsLbl: Label 'Other liabilities and deferrals', MaxLength = 100; + DeferredIncomeLbl: Label 'Deferred income', MaxLength = 100; + TotalOtherLiabilitiesLbl: Label 'Total other liabilities', MaxLength = 100; + TOTALLIABILITIESPROVISIONSLbl: Label 'TOTAL LIABILITIES, PROVISIONS', MaxLength = 100; + OPERATINGINCOMELbl: Label 'OPERATING INCOME', MaxLength = 100; + RevenuesAndRevenueReductionLbl: Label 'Revenues and revenue reduction', MaxLength = 100; + RevenuesLbl: Label 'Revenues', MaxLength = 100; + SalesRevenuesTradeLbl: Label 'Sales revenues trade', MaxLength = 100; + SalesRevenuesTradeDomesticLbl: Label 'Sales revenues trade domestic', MaxLength = 100; + SalesRevenuesTradeExportLbl: Label 'Sales revenues trade export', MaxLength = 100; + SalesRevenuesTradeEULbl: Label 'Sales revenues trade EU', MaxLength = 100; + ProjectSalesLbl: Label 'Project sales', MaxLength = 100; + ProjectSalesCorrectionLbl: Label 'Project sales correction', MaxLength = 100; + TotalSalesRevenuesTradeLbl: Label 'Total sales revenues trade', MaxLength = 100; + SalesRevenuesRawMaterialLbl: Label 'Sales revenues raw material', MaxLength = 100; + SalesRevenuesRawMaterialDomesticLbl: Label 'Sales revenues raw material domestic', MaxLength = 100; + SalesRevenuesRawMaterialExportLbl: Label 'Sales revenues raw material export', MaxLength = 100; + SalesRevenuesRawMaterialEULbl: Label 'Sales revenues raw material EU', MaxLength = 100; + TotalSalesRevenuesRawMaterialLbl: Label 'Total sales revenues raw material', MaxLength = 100; + SalesRevenuesResourcesLbl: Label 'Sales revenues resources', MaxLength = 100; + SalesRevenuesResourcesDomesticLbl: Label 'Sales revenues resources domestic', MaxLength = 100; + SalesRevenuesResourcesExportLbl: Label 'Sales revenues resources export', MaxLength = 100; + SalesRevenuesResourcesEULbl: Label 'Sales revenues resources EU', MaxLength = 100; + TotalSalesRevenuesResourcesLbl: Label 'Total sales revenues resources', MaxLength = 100; + ProjectRevenuesBeginTotalLbl: Label 'Project revenues - Begin Total', MaxLength = 100; + ProjectRevenuesLbl: Label 'Project revenues', MaxLength = 100; + OtherProjectRevenuesLbl: Label 'Other project revenues', MaxLength = 100; + TotalProjectRevenuesLbl: Label 'Total project revenues', MaxLength = 100; + RevenuesServiceContractsLbl: Label 'Revenues service contracts', MaxLength = 100; + RevenueServiceContractLbl: Label 'Revenue service contract', MaxLength = 100; + TotalServiceContractsLbl: Label 'Total service contracts', MaxLength = 100; + ChargesAndInterestLbl: Label 'Charges and interest', MaxLength = 100; + ServiceChargesLbl: Label 'Service charges', MaxLength = 100; + ServiceInterestLbl: Label 'Service interest', MaxLength = 100; + ConsultingFeesLbl: Label 'Consulting fees', MaxLength = 100; + TotalChargesAndInterestLbl: Label 'Total charges and interest', MaxLength = 100; + TotalRevenuesLbl: Label 'Total revenues', MaxLength = 100; + RevenueAdjustmentsLbl: Label 'Revenue adjustments', MaxLength = 100; + RevenueAdjustmentDomestic10Lbl: Label 'Revenue adjustment domestic (10%)', MaxLength = 100; + RevenueAdjustmentDomestic20Lbl: Label 'Revenue adjustment domestic (20%)', MaxLength = 100; + RevenueAdjustmentExportLbl: Label 'Revenue adjustment export', MaxLength = 100; + RevenueAdjustmentEULbl: Label 'Revenue adjustment EU', MaxLength = 100; + CashDiscountPaidLbl: Label 'Cash discount paid', MaxLength = 100; + CashDiscountPaidAdjustmentLbl: Label 'Cash discount paid - adjustment', MaxLength = 100; + TotalRevenueAdjustmentsLbl: Label 'Total revenue adjustments', MaxLength = 100; + TotalRevenuesAndRevenueReductionLbl: Label 'Total revenues and revenue reduction', MaxLength = 100; + InventoryChangesBeginTotalLbl: Label 'Inventory changes - Begin Total', MaxLength = 100; + InventoryChangesLbl: Label 'Inventory changes', MaxLength = 100; + OwnCostCapitalizedLbl: Label 'Own cost capitalized', MaxLength = 100; + TotalInventoryChangesLbl: Label 'Total inventory changes', MaxLength = 100; + OtherOperatingIncomeBeginTotalLbl: Label 'Other operating income - Begin Total', MaxLength = 100; + ProceedsFromTheSaleOfAssetsLbl: Label 'Proceeds from the sale of assets', MaxLength = 100; + InsuranceCompensationsLbl: Label 'Insurance compensations', MaxLength = 100; + IncomeFromTheDisposalOfAssetsLbl: Label 'Income from the disposal of assets', MaxLength = 100; + IncomeFromTheAppreciationOfIntangibleAssetsLbl: Label 'Income from the appreciation of intangible assets', MaxLength = 100; + IncomeFromAppreciationOfFixedAssetsLbl: Label 'Income from appreciation of fixed assets', MaxLength = 100; + IncFromReleaseOfProvisionsForSeverPaymLbl: Label 'Inc. from release of provisions for sever. paym.', MaxLength = 100; + IncomeFromTheReleaseOfProvForPensionPlanLbl: Label 'Income from the release of prov. for pension plan', MaxLength = 100; + IncomeFromTheReleaseOfOtherProvisionsLbl: Label 'Income from the release of other provisions', MaxLength = 100; + OtherOperatingIncomeLbl: Label 'Other operating income', MaxLength = 100; + OverageOfCashLbl: Label 'Overage of cash', MaxLength = 100; + BenefitInKindLbl: Label 'Benefit in kind', MaxLength = 100; + RentalYieldLbl: Label 'Rental yield', MaxLength = 100; + ExpenseReimbursementLbl: Label 'Expense reimbursement', MaxLength = 100; + FCYUnrealizedExchangeGainsLbl: Label 'FCY - unrealized exchange gains', MaxLength = 100; + FCYRealizedExchangeGainsLbl: Label 'FCY - realized exchange gains', MaxLength = 100; + OtherInsuranceCompensationLbl: Label 'Other insurance compensation', MaxLength = 100; + IncomeFromReleaseOfLossReservesLbl: Label 'Income from release of loss reserves', MaxLength = 100; + TotalOtherOperatingIncomeLbl: Label 'Total other operating income', MaxLength = 100; + TOTALOPERATINGINCOMELbl: Label 'TOTAL OPERATING INCOME', MaxLength = 100; + COSTOFMATERIALSLbl: Label 'COST OF MATERIALS', MaxLength = 100; + TradeGoodsLbl: Label 'Trade goods', MaxLength = 100; + TradeGoodsConsumptionLbl: Label 'Trade goods consumption', MaxLength = 100; + TradeGoodsInventoryAdjustmentLbl: Label 'Trade goods inventory adjustment', MaxLength = 100; + TradeGoodsDirectCostLbl: Label 'Trade goods direct cost', MaxLength = 100; + TradeGoodsOverheadExpensesLbl: Label 'Trade goods overhead expenses', MaxLength = 100; + TradeGoodsPurchaseVarianceAccountLbl: Label 'Trade goods purchase variance account', MaxLength = 100; + DiscountReceivedTradeLbl: Label 'Discount received, trade', MaxLength = 100; + DeliveryExpensesTradeLbl: Label 'Delivery expenses, trade', MaxLength = 100; + DiscountReceivedRawMaterialsLbl: Label 'Discount received, raw materials', MaxLength = 100; + DeliveryExpensesRawMaterialLbl: Label 'Delivery expenses, raw material', MaxLength = 100; + TotalTradeGoodsLbl: Label 'Total trade goods', MaxLength = 100; + RawMaterialLbl: Label 'Raw material', MaxLength = 100; + RawMaterialConsumptionLbl: Label 'Raw material consumption', MaxLength = 100; + RawMaterialInventoryAdjustmentLbl: Label 'Raw material inventory adjustment', MaxLength = 100; + RawMaterialDirectCostLbl: Label 'Raw material direct cost', MaxLength = 100; + RawMaterialOverheadExpensesLbl: Label 'Raw material overhead expenses', MaxLength = 100; + RawMaterialPurchaseVarianceAccountLbl: Label 'Raw material purchase variance account', MaxLength = 100; + TotalRawMaterialLbl: Label 'Total raw material', MaxLength = 100; + ProcessingLbl: Label 'Processing', MaxLength = 100; + ProcessingConsumptionLbl: Label 'Processing consumption', MaxLength = 100; + ProcessingInventoryAdjustmentLbl: Label 'Processing inventory adjustment', MaxLength = 100; + ProcessingOverheadExpensesLbl: Label 'Processing overhead expenses', MaxLength = 100; + ProcessingPurchaseVarianceAccountLbl: Label 'Processing purchase variance account', MaxLength = 100; + TotalProcessingLbl: Label 'Total processing', MaxLength = 100; + ProjectsLbl: Label 'Projects', MaxLength = 100; + ProjectCostsLbl: Label 'Project costs', MaxLength = 100; + ProjectCostsAllocatedLbl: Label 'Project costs allocated', MaxLength = 100; + ProjectCostsCorrectionLbl: Label 'Project costs correction', MaxLength = 100; + TotalProjectsLbl: Label 'Total projects', MaxLength = 100; + VarianceLbl: Label 'Variance', MaxLength = 100; + MaterialVarianceLbl: Label 'Material variance', MaxLength = 100; + CapacityVarianceLbl: Label 'Capacity variance', MaxLength = 100; + SubcontractedVarianceLbl: Label 'Subcontracted variance', MaxLength = 100; + CapOverheadVarianceLbl: Label 'Cap. overhead variance', MaxLength = 100; + ManufacturingOverheadVarianceLbl: Label 'Manufacturing overhead variance', MaxLength = 100; + TotalVarianceLbl: Label 'Total variance', MaxLength = 100; + ConsumptionLbl: Label 'Consumption', MaxLength = 100; + AuxiliariesConsumptionLbl: Label 'Auxiliaries consumption', MaxLength = 100; + PackagingMaterialConsumptionLbl: Label 'Packaging material consumption', MaxLength = 100; + OperatingMaterialsConsumptionLbl: Label 'Operating materials consumption', MaxLength = 100; + CleaningMaterialsConsumptionLbl: Label 'Cleaning materials consumption', MaxLength = 100; + ConsumptionOfIncidentalsLbl: Label 'Consumption of incidentals', MaxLength = 100; + ConsumptionOfFuelsLbl: Label 'Consumption of fuels', MaxLength = 100; + TotalConsumptionLbl: Label 'Total consumption', MaxLength = 100; + PurchaseCurrentMaterialLbl: Label 'Purchase current material', MaxLength = 100; + PurchaseTradeDomesticLbl: Label 'Purchase trade domestic', MaxLength = 100; + PurchaseTradeImportLbl: Label 'Purchase trade import', MaxLength = 100; + PurchaseTradeEULbl: Label 'Purchase trade EU', MaxLength = 100; + PurchaseRawMaterialsDomesticLbl: Label 'Purchase raw materials domestic', MaxLength = 100; + PurchaseRawMaterialsImportLbl: Label 'Purchase raw materials import', MaxLength = 100; + PurchaseRawMaterialsEULbl: Label 'Purchase raw materials EU', MaxLength = 100; + TotalPurchaseActiveMaterialLbl: Label 'Total purchase active material', MaxLength = 100; + OtherServicesReceivedLbl: Label 'Other services received', MaxLength = 100; + ServicesReceivedLbl: Label 'Services received', MaxLength = 100; + ServiceChargesPurchaseLbl: Label 'Service charges purchase', MaxLength = 100; + TotalOtherServicesLbl: Label 'Total other services', MaxLength = 100; + PaymentDiscountRevenueBeginTotalLbl: Label 'Payment discount revenue - Begin Total', MaxLength = 100; + PaymentDiscountRevenueLbl: Label 'Payment discount revenue', MaxLength = 100; + PaymentDiscountRevenueCorrectionLbl: Label 'Payment discount revenue - correction', MaxLength = 100; + TotalPaymentDiscountRevenueLbl: Label 'Total payment discount revenue', MaxLength = 100; + TOTALCOSTOFMATERIALSLbl: Label 'TOTAL COST OF MATERIALS', MaxLength = 100; + WagesWithoutServicesLbl: Label 'Wages without services', MaxLength = 100; + TotalWagesLbl: Label 'Total wages', MaxLength = 100; + SalariesWithoutServicesLbl: Label 'Salaries without services', MaxLength = 100; + TotalSalariesLbl: Label 'Total salaries', MaxLength = 100; + SeverancePaymentsBeginTotalLbl: Label 'Severance payments - Begin Total', MaxLength = 100; + SeverancePaymentsLbl: Label 'Severance payments', MaxLength = 100; + SeverancePaymentProvisionFundLbl: Label 'Severance payment provision fund', MaxLength = 100; + PensionsPaymentsLbl: Label 'Pensions payments', MaxLength = 100; + PensionProvisionFundLbl: Label 'Pension provision fund', MaxLength = 100; + TotalSeverancePaymentsLbl: Label 'Total severance payments', MaxLength = 100; + StatutorySocialExpensesLbl: Label 'Statutory social expenses', MaxLength = 100; + StatutorySocialExpensesWorkerLbl: Label 'Statutory social expenses worker', MaxLength = 100; + StatutorySocialExpensesEmployeeLbl: Label 'Statutory social expenses employee', MaxLength = 100; + TotalStatutorySocialExpensesLbl: Label 'Total statutory social expenses', MaxLength = 100; + OtherSocialExpensesLbl: Label 'Other social expenses', MaxLength = 100; + LocalTaxLbl: Label 'Local tax', MaxLength = 100; + GDContributionFamilyAllowanceProfitLbl: Label 'GD contribution family allowance (Profit)', MaxLength = 100; + AdditionToProfitLbl: Label 'Addition to profit', MaxLength = 100; + LevyForTheEmployerViennaLbl: Label 'Levy for the employer Vienna', MaxLength = 100; + VoluntarySocialExpensesLbl: Label 'Voluntary social expenses', MaxLength = 100; + CostCenterSettlementSocialExpenseLbl: Label 'Cost center settlement Social Exp.', MaxLength = 100; + TotalOtherSocialExpensesLbl: Label 'Total other social expenses', MaxLength = 100; + DEPRECIATIONOTHERCOSTOFOPERATIONSLbl: Label 'DEPRECIATION,OTHER COST OF OPERATIONS', MaxLength = 100; + DepreciationLbl: Label 'Depreciation', MaxLength = 100; + ScheduledAmortizationOnIntangibleAssetsLbl: Label 'Scheduled amortization on intangible assets', MaxLength = 100; + UnscheduledAmortizationOnIntangibleAssetsLbl: Label 'Unscheduled amortization on intangible assets', MaxLength = 100; + ScheduledDepreciationOfFixedAssetsLbl: Label 'Scheduled depreciation of fixed assets', MaxLength = 100; + ScheduledDepreciationVehiclesLbl: Label 'Scheduled depreciation vehicles', MaxLength = 100; + UnscheduledDepreciationOfFixedAssetsLbl: Label 'Unscheduled depreciation of fixed assets', MaxLength = 100; + LowValueAssetsLbl: Label 'Low-value assets', MaxLength = 100; + TotalDepreciationLbl: Label 'Total depreciation', MaxLength = 100; + OtherTaxesLbl: Label 'other taxes', MaxLength = 100; + PropertyTaxLbl: Label 'Property tax', MaxLength = 100; + BeverageAndAlcoholTaxLbl: Label 'Beverage and alcohol tax', MaxLength = 100; + ChargesAndRevenueStampsLbl: Label 'Charges and revenue stamps', MaxLength = 100; + MiscOtherTaxesLbl: Label 'Misc. other taxes', MaxLength = 100; + TotalOtherTaxesLbl: Label 'Total other taxes', MaxLength = 100; + MaintenanceCleaningEtcLbl: Label 'Maintenance, cleaning, etc.', MaxLength = 100; + ThirdPartyMaintenanceLbl: Label 'Third-party maintenance', MaxLength = 100; + CarOperatingExpensesLbl: Label 'Car operating expenses', MaxLength = 100; + TruckOperatingExpensesLbl: Label 'Truck operating expenses', MaxLength = 100; + CarRepairsAndMaintenanceLbl: Label 'Car repairs and maintenance', MaxLength = 100; + FuelLbl: Label 'Fuel', MaxLength = 100; + TotalMaintenanceEtcLbl: Label 'Total maintenance, etc.', MaxLength = 100; + TransportationTravelCommunicationsLbl: Label 'Transportation, travel, communications', MaxLength = 100; + TransportationThirdPartiesLbl: Label 'Transportation third parties', MaxLength = 100; + TravelExpensesDomesticLbl: Label 'Travel expenses - domestic', MaxLength = 100; + TravelExpensesAbroadLbl: Label 'Travel expenses - abroad', MaxLength = 100; + KilometerAllowanceLbl: Label 'Kilometer allowance', MaxLength = 100; + MealExpensesDomesticLbl: Label 'Meal expenses domestic', MaxLength = 100; + MealExpensesAbroadLbl: Label 'Meal expenses abroad', MaxLength = 100; + HotelExpensesDomesticLbl: Label 'Hotel expenses domestic', MaxLength = 100; + HotelExpensesAbroadLbl: Label 'Hotel expenses abroad', MaxLength = 100; + CommunicationChargesLbl: Label 'Communication charges', MaxLength = 100; + TotalTransportationExpensesLbl: Label 'Total transportation expenses', MaxLength = 100; + RentalsLeasingBeginTotalLbl: Label 'Rentals, leasing - Begin Total', MaxLength = 100; + RentalsLeasingLbl: Label 'Rentals, leasing', MaxLength = 100; + TotalRentalsLeasingEtcLbl: Label 'Total rentals, leasing, etc.', MaxLength = 100; + CommissionsLbl: Label 'Commissions', MaxLength = 100; + CommissionsForThirdPartiesLbl: Label 'Commissions for third parties', MaxLength = 100; + TotalCommissionsLbl: Label 'Total commissions', MaxLength = 100; + OfficeAdvertisingAndMaintenanceExpenditureLbl: Label 'Office, advertising and maintenance expenditure', MaxLength = 100; + PhoneAndInternetChargesLbl: Label 'Phone and internet charges', MaxLength = 100; + ExternalServicesLbl: Label 'External Services', MaxLength = 100; + DeductibleAdvertisingExpensesLbl: Label 'Deductible advertising expenses', MaxLength = 100; + NonDeductibleAdvertisingExpensesLbl: Label 'Non-deductible advertising expenses', MaxLength = 100; + HospitalityDomesticDeductibleAmountLbl: Label 'Hospitality domestic deductible amount', MaxLength = 100; + HospitalityDomesticNonDeductibleAmountLbl: Label 'Hospitality domestic non-deductible amount', MaxLength = 100; + HospitalityAbroadDeductibleAmountLbl: Label 'Hospitality abroad deductible amount', MaxLength = 100; + HospitalityAbroadNonDeductibleAmountLbl: Label 'Hospitality abroad non-deductible amount', MaxLength = 100; + DonationsAndTipsLbl: Label 'Donations and tips', MaxLength = 100; + TotalOfficeAdvertisingMaintenanceExpenditureLbl: Label 'Total office/advertising/maintenance expenditure', MaxLength = 100; + InsurancesAndOtherExpensesLbl: Label 'Insurances and other expenses', MaxLength = 100; + InsuranceExpensesLbl: Label 'Insurance expenses', MaxLength = 100; + LegalAndConsultancyExpensesLbl: Label 'Legal and consultancy expenses', MaxLength = 100; + ProvisionForLegalAndConsultancyExpensesFundLbl: Label 'Provision for legal and consultancy expenses fund', MaxLength = 100; + OtherLbl: Label 'Other', MaxLength = 100; + TechnicalLiteratureLbl: Label 'Technical literature', MaxLength = 100; + ExpenditureEducationAndTrainingLbl: Label 'Expenditure education and training', MaxLength = 100; + ChamberContributionLbl: Label 'Chamber contribution', MaxLength = 100; + ExpensesThroughCirculationOfMoneyLbl: Label 'Expenses through circulation of money', MaxLength = 100; + DepreciationOfSuppliesLbl: Label 'Depreciation of supplies', MaxLength = 100; + DepreciationExportReceivablesLbl: Label 'Depreciation export receivables', MaxLength = 100; + DepreciationDomesticReceivablesLbl: Label 'Depreciation domestic receivables', MaxLength = 100; + IndividualLossReservesForReceivablesLbl: Label 'Individual loss reserves for receivables ', MaxLength = 100; + BlanketLossReservesForReceivablesLbl: Label 'Blanket loss reserves for receivables ', MaxLength = 100; + BookValueDisposalOfAssetsLbl: Label 'Book value disposal of assets', MaxLength = 100; + LossesFromDisposalOfAssetsLbl: Label 'Losses from disposal of assets', MaxLength = 100; + OtherOperationalExpenditureLbl: Label 'Other operational expenditure', MaxLength = 100; + ProvisionForWarrantiesFundLbl: Label 'Provision for warranties fund', MaxLength = 100; + ProvisionForCompensationForDamagesFundLbl: Label 'Provision for compensation for damages fund', MaxLength = 100; + ProvisionForProductLiabilityFundLbl: Label 'Provision for product liability fund', MaxLength = 100; + MiscProvisionsFundLbl: Label 'Misc. provisions fund', MaxLength = 100; + CashDeficitLbl: Label 'Cash deficit', MaxLength = 100; + FCYUnrealizedExchangeLossesLbl: Label 'FCY - unrealized exchange losses', MaxLength = 100; + FCYRealizedExchangeLossesLbl: Label 'FCY - realized exchange losses', MaxLength = 100; + PaymentDiscountRevenue0VATLbl: Label 'Payment discount revenue (0% VAT)', MaxLength = 100; + CostCenterSettlementInsuranceLbl: Label 'Cost center settlement Insurance', MaxLength = 100; + TotalInsuranceAndOtherExpendituresLbl: Label 'Total insurance and other expenditures', MaxLength = 100; + TOTALDEPRECIATIONOPERATIONALEXPENDITURELbl: Label 'TOTAL DEPRECIATION, OPERATIONAL EXPENDITURE', MaxLength = 100; + FINANCIALREVENUESANDEXPENDITURESBeginTotalLbl: Label 'FINANCIAL REVENUES AND EXPENDITURES - BeginTotal', MaxLength = 100; + FINANCIALREVENUESANDEXPENDITURESLbl: Label 'FINANCIAL REVENUES AND EXPENDITURES', MaxLength = 100; + IncomeFromEquityInterestsLbl: Label 'Income from equity interests', MaxLength = 100; + InterestFromBankDepositsLbl: Label 'Interest from bank deposits', MaxLength = 100; + InterestFromLoansGrantedLbl: Label 'Interest from loans granted', MaxLength = 100; + PassThroughDiscountRatesLbl: Label 'Pass through discount rates', MaxLength = 100; + IncomeFromDefaultInterestAndExpensesLbl: Label 'Income from default interest and expenses', MaxLength = 100; + OtherInterestIncomeLbl: Label 'Other interest income', MaxLength = 100; + InterestIncomeFromFixedRateSecuritiesLbl: Label 'Interest income from fixed-rate securities', MaxLength = 100; + OtherSecuritiesIncomeLbl: Label 'Other securities income', MaxLength = 100; + ProceedsFromTheDispOfOtherFinancialAssetsLbl: Label 'Proceeds from the disp. of other financial assets', MaxLength = 100; + PmtTolReceivedDecreasesCorrectionLbl: Label 'Pmt. tol. received decreases - correction', MaxLength = 100; + IncomeFromAppreciationOfFinancialAssetsLbl: Label 'Income from appreciation of financial assets', MaxLength = 100; + IncomeFromAppreciationOfMarketableSecuritiesLbl: Label 'Income from appreciation of marketable securities', MaxLength = 100; + DepreciationOtherFinancialAssetsLbl: Label 'Depreciation other financial assets', MaxLength = 100; + DepreciationOfMarketableSecuritiesLbl: Label 'Depreciation of marketable securities', MaxLength = 100; + LossFromDisposalOfOtherFinancialAssetsLbl: Label 'Loss from disposal of other financial assets', MaxLength = 100; + InterestExpenseForBankLoansLbl: Label 'Interest expense for bank loans', MaxLength = 100; + UnscheduledDepreciationOfFinancialAssetsLbl: Label 'Unscheduled depreciation of financial assets', MaxLength = 100; + InterestExpenditureForLoansLbl: Label 'Interest expenditure for loans', MaxLength = 100; + DepreciationActivatedFundsAcquisitionCostLbl: Label 'Depreciation activated funds acquisition cost', MaxLength = 100; + DiscountInterestExpenditureLbl: Label 'Discount interest - expenditure', MaxLength = 100; + DefaultInterestExpensesLbl: Label 'Default interest - expenses', MaxLength = 100; + UnusedDeliveryDiscountsLbl: Label 'unused delivery discounts', MaxLength = 100; + PmtTolGrantedDecreasesCorrectionLbl: Label 'Pmt. Tol. Granted Decreases - correction', MaxLength = 100; + TotalFinancialIncomeAndExpensesEndTotalLbl: Label 'Total financial income and expenses End Total', MaxLength = 100; + NonRecurringIncomeNonRecurringExpensesLbl: Label 'Non-recurring income,Non-recurring expenses', MaxLength = 100; + NonRecurringIncomeLbl: Label 'Non-recurring income ', MaxLength = 100; + NonRecurringExpensesLbl: Label 'Non-recurring expenses', MaxLength = 100; + TaxesBeforeIncomeAndEarningsLbl: Label 'Taxes before income and earnings', MaxLength = 100; + CapitalReturnsTaxLbl: Label 'Capital returns tax', MaxLength = 100; + TotalTaxBeforeIncomeLbl: Label 'Total tax before income', MaxLength = 100; + ChangesInReservesLbl: Label 'Changes in reserves', MaxLength = 100; + GainsFromReversalOfUntaxedReservesLbl: Label 'Gains from reversal of untaxed reserves', MaxLength = 100; + GainsFromReversalOfValuationReservesLbl: Label 'Gains from reversal of valuation reserves', MaxLength = 100; + AssignmentReservesAccordingTo10EstgIFBLbl: Label 'Assignment Reserves according to § 10 EStG (IFB)', MaxLength = 100; + AssignmentRLAccordingTo12EstgLbl: Label 'Assignment RL according to § 12 EStG', MaxLength = 100; + AssignmentToValuationReservesLbl: Label 'Assignment to valuation reserves', MaxLength = 100; + TotalChangeInReservesLbl: Label 'Total change in reserves', MaxLength = 100; + TOTALFINANCIALINCOMEANDEXPENSESLbl: Label 'TOTAL FINANCIAL INCOME AND EXPENSES', MaxLength = 100; + EQUITYRESERVESLbl: Label 'EQUITY, RESERVES, ...', MaxLength = 100; + EquityLbl: Label 'Equity', MaxLength = 100; + TaxProvisionsLbl: Label 'Tax provisions', MaxLength = 100; + FreeReservesLbl: Label 'Free reserves', MaxLength = 100; + NetProfitNetLossLbl: Label 'Net profit/net loss', MaxLength = 100; + ValuationReservesForLbl: Label 'Valuation reserves for...', MaxLength = 100; + ReservesAccordingTo10EstgIFBLbl: Label 'Reserves according to § 10 EStG (IFB)', MaxLength = 100; + ReservesAccordingTo12EstgLbl: Label 'Reserves according to § 12 EStG', MaxLength = 100; + PrivateLbl: Label 'Private', MaxLength = 100; + EBKLbl: Label 'EBK', MaxLength = 100; + SBKLbl: Label 'SBK', MaxLength = 100; + ProfitAndLossStatementLbl: Label 'Profit and loss statement', MaxLength = 100; + TOTALEQUITYRESERVESLbl: Label 'TOTAL EQUITY, RESERVES', MaxLength = 100; + FinishedGoodsBeginTotalLbl: Label 'Finished Goods - BeginTotal', MaxLength = 100; + WagesBeginTotalLbl: Label 'Wages - BeginTotal', MaxLength = 100; + SalariesBeginTotalLbl: Label 'Salaries - BeginTotal', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineAT.Codeunit.al new file mode 100644 index 0000000000..1e13cae46d --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineAT.Codeunit.al @@ -0,0 +1,149 @@ +codeunit 11151 "Create Acc. Schedule Line AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateATGLAccount: Codeunit "Create AT GL Account"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALEQUITYRESERVES(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALSUPPLIES(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalTradeReceivables(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalSecurities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalCashAndBank(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 110000: + ValidateRecordFields(Rec, CreateGLAccount.GiroAccount(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalPayablesToVendors(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 130000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalLiabilitiesFromTaxes(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 140000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalSocialSecurity(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 150000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalOtherLiabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALOPERATINGINCOME(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalTradeReceivables(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalPayablesToVendors(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALSUPPLIES(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000, 60000, 70000, 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalTradeReceivables(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalPayablesToVendors(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateATGLAccount.TotalCashAndBank() + '|' + CreateGLAccount.GiroAccount(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALOPERATINGINCOME(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALCOSTOFMATERIALS(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '8695', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALFINANCIALINCOMEANDEXPENSES(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, '8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, CreateATGLAccount.OtherOperationalExpenditure(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + begin + ValidateRecordFields(Rec, CreateATGLAccount.TOTALOPERATINGINCOME(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + Rec.Validate(Description, TotalRevenueLbl); + end; + 20000: + ValidateRecordFields(Rec, CreateATGLAccount.TOTALCOSTOFMATERIALS(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, '8695|' + CreateATGLAccount.TOTALFINANCIALINCOMEANDEXPENSES() + '|8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 80000: + ValidateRecordFields(Rec, CreateATGLAccount.OtherOperationalExpenditure(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 90000: + ValidateRecordFields(Rec, '8995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000, 70000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFieldsRevenue(Rec, '11', CreateATGLAccount.SalesRevenuesTradeDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 50000: + ValidateRecordFieldsRevenue(Rec, '12', CreateATGLAccount.SalesRevenuesTradeEU(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + ValidateRecordFieldsRevenue(Rec, '13', CreateATGLAccount.SalesRevenuesTradeExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 70000: + ValidateRecordFieldsRevenue(Rec, '14', CreateATGLAccount.ProjectSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 80000: + ValidateRecordFieldsRevenue(Rec, '15', CreateATGLAccount.TotalSalesRevenuesTrade(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 100000: + ValidateRecordFieldsRevenue(Rec, '', CreateATGLAccount.SalesRevenuesTradeDomestic() + '..' + CreateATGLAccount.TotalSalesRevenuesTrade(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 110000: + ValidateRecordFieldsRevenue(Rec, '', CreateATGLAccount.SalesRevenuesTradeDomestic() + '..' + CreateATGLAccount.TotalSalesRevenuesTrade(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFieldsRevenue(Rec, '', CreateATGLAccount.SalesRevenuesTradeDomestic() + '..' + CreateATGLAccount.TotalSalesRevenuesTrade(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 130000: + ValidateRecordFieldsRevenue(Rec, '', CreateATGLAccount.SalesRevenuesTradeDomestic() + '..' + CreateATGLAccount.TotalSalesRevenuesTrade(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: + Record "Acc. Schedule Line"; + Totaling: + Text; + TotalingType: + Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + local procedure ValidateRecordFieldsRevenue(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateCurrencyAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateCurrencyAT.Codeunit.al new file mode 100644 index 0000000000..72806ef0cc --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateCurrencyAT.Codeunit.al @@ -0,0 +1,74 @@ +codeunit 11180 "Create Currency AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateATGLAccount: Codeunit "Create AT GL Account"; + CreateCurrency: Codeunit "Create Currency"; + begin + UpdateCurrency(CreateCurrency.AED(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.AUD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.BGN(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.BND(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.BRL(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.CAD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.CHF(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.CZK(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.DKK(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.DZD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.EUR(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.FJD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.GBP(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.HKD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.HRK(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.HUF(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.IDR(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.INR(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.ISK(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.JPY(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.KES(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.MAD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.MXN(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.MYR(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.MZN(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.NGN(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.NOK(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.NZD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.PHP(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.PLN(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.RON(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.RSD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.RUB(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.SAR(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.SBD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.SEK(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.SGD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.SZL(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.THB(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.TND(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.TOP(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.TRY(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.UGX(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.USD(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.VUV(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.WST(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.XPF(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + UpdateCurrency(CreateCurrency.ZAR(), CreateATGLAccount.FCYRealizedExchangeGains(), CreateATGLAccount.FCYRealizedExchangeLosses()); + end; + + local procedure UpdateCurrency(CurrecnyCode: Code[10]; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + var + Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + Currency.Get(CurrecnyCode); + if Currency.Code = CreateCurrency.GBP() then + Currency.Validate("Unit-Amount Rounding Precision", 0.00001); + + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + Currency.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupAT.Codeunit.al new file mode 100644 index 0000000000..2d69cef5a3 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupAT.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 11147 "Create General Ledger Setup AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("EMU Currency", true); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.EUR()); + GeneralLedgerSetup.Validate("Currency Code For EURO", ''); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbolLbl); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrecyEuroLbl); + GeneralLedgerSetup."Adjust for Payment Disc." := false; + GeneralLedgerSetup."Prepayment Unrealized VAT" := false; + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrecyEuroLbl: Label 'Euro', MaxLength = 60; + LocalCurrencySymbolLbl: Label '€', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupsAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupsAT.Codeunit.al new file mode 100644 index 0000000000..fbbb4592f4 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupsAT.Codeunit.al @@ -0,0 +1,76 @@ +codeunit 11149 "Create Posting Groups AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + InsertGenProdPostingGroup(); + end; + + local procedure InsertGenProdPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateVATPostingGroupAT: codeunit "Create VAT Posting Group AT"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(ManufactPostingGroup(), CapacitiesLbl, ''); + ContosoPostingGroup.InsertGenProductPostingGroup(NoVATPostingGroup(), MiscDescriptionLbl, CreateVATPostingGroupAT.NOVAT()); + UpdateGenProdPostingGrp(CreatePostingGroup.FreightPostingGroup(), CreateVATPostingGroupAT.VAT20()); + UpdateGenProdPostingGrp(CreatePostingGroup.RawMatPostingGroup(), CreateVATPostingGroupAT.VAT20()); + UpdateGenProdPostingGrp(CreatePostingGroup.RetailPostingGroup(), CreateVATPostingGroupAT.VAT20()); + UpdateGenProdPostingGrp(CreatePostingGroup.MiscPostingGroup(), CreateVATPostingGroupAT.VAT20()); + UpdateGenProdPostingGrp(CreatePostingGroup.ServicesPostingGroup(), CreateVATPostingGroupAT.VAT10()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure UpdateGenProdPostingGrp(ProdPostingGroup: COde[20]; DefaultVATProdPostingGroup: Code[20]) + var + GenProdPostingGroup: Record "Gen. Product Posting Group"; + begin + if GenProdPostingGroup.Get(ProdPostingGroup) then begin + GenProdPostingGroup.Validate("Def. VAT Prod. Posting Group", DefaultVATProdPostingGroup); + GenProdPostingGroup.Modify(true); + end; + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreateATGLAccount: Codeunit "Create AT GL Account"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NoVATPostingGroup(), '', '', CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', '', '', '', '', CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroup.RetailPostingGroup(), '', '', CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', '', '', '', '', CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), NoVATPostingGroup(), CreateATGLAccount.SalesRevenuesTradeDomestic(), CreateATGLAccount.PurchaseTradeDomestic(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateATGLAccount.SalesRevenuesTradeDomestic(), CreateATGLAccount.PurchaseTradeDomestic(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateATGLAccount.SalesRevenuesResourcesDomestic(), CreateATGLAccount.PurchaseTradeDomestic(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), NoVATPostingGroup(), CreateATGLAccount.SalesRevenuesTradeEU(), CreateATGLAccount.PurchaseTradeEU(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateATGLAccount.SalesRevenuesTradeEU(), CreateATGLAccount.PurchaseTradeEU(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateATGLAccount.SalesRevenuesResourcesEU(), CreateATGLAccount.PurchaseTradeEU(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), NoVATPostingGroup(), CreateATGLAccount.SalesRevenuesTradeExport(), CreateATGLAccount.PurchaseTradeImport(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateATGLAccount.SalesRevenuesTradeExport(), CreateATGLAccount.PurchaseTradeImport(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateATGLAccount.SalesRevenuesResourcesExport(), CreateATGLAccount.PurchaseTradeImport(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), CreateATGLAccount.TradeGoodsInventoryAdjustment(), '', '', CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGranted(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.DiscountReceivedTrade(), CreateATGLAccount.TradeGoodsConsumption(), CreateATGLAccount.TradeGoodsPostReceiptInterim(), CreateATGLAccount.PurchaseTradeDomestic()); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure NoVATPostingGroup(): Code[20] + begin + exit(NoVATTok); + end; + + procedure ManufactPostingGroup(): Code[20] + begin + exit(ManufactTok); + end; + + var + CapacitiesLbl: Label 'Capacities', MaxLength = 100; + MiscDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + NoVATTok: Label 'NO VAT', MaxLength = 20; + ManufactTok: Label 'MANUFACT', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatPostingGroupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatPostingGroupAT.Codeunit.al new file mode 100644 index 0000000000..c2056bd1c2 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatPostingGroupAT.Codeunit.al @@ -0,0 +1,87 @@ +codeunit 11186 "Create VAT Posting Group AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + procedure CreateVATPostingSetup() + var + ContosoPostingSetup: codeunit "Contoso Posting Setup"; + CreateATGLAccount: Codeunit "Create AT GL Account"; + CreatePostingGroup: codeunit "Create Posting Groups"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', NOVAT(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', VAT10(), CreateATGLAccount.SalesTax10(), CreateATGLAccount.PurchaseVATReduced(), VAT10(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', VAT20(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), VAT20(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), NOVAT(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), VAT10(), CreateATGLAccount.SalesTax10(), CreateATGLAccount.PurchaseVATReduced(), VAT10(), 10, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), VAT20(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), VAT20(), 20, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), NOVAT(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateATGLAccount.SalesTax20(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), VAT10(), CreateATGLAccount.SalesTax10(), CreateATGLAccount.PurchaseVATAcquisitionReduced(), VAT10(), 10, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateATGLAccount.SalesTaxProfitAndIncomeTax10(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), VAT20(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATAcquisitionStandard(), VAT20(), 20, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateATGLAccount.SalesTaxProfitAndIncomeTax20(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), NOVAT(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), VAT10(), CreateATGLAccount.SalesTax10(), CreateATGLAccount.PurchaseVATReduced(), VAT10(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), VAT20(), CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), VAT20(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + + UpdateAdjustforPaymentDiscount('', NOVAT()); + UpdateAdjustforPaymentDiscount('', VAT10()); + UpdateAdjustforPaymentDiscount('', VAT20()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.DomesticPostingGroup(), NOVAT()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.DomesticPostingGroup(), VAT10()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.DomesticPostingGroup(), VAT20()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.EUPostingGroup(), NOVAT()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.EUPostingGroup(), VAT10()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.EUPostingGroup(), VAT20()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.ExportPostingGroup(), NOVAT()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.ExportPostingGroup(), VAT10()); + UpdateAdjustforPaymentDiscount(CreatePostingGroup.ExportPostingGroup(), VAT20()); + ContosoPostingSetup.SetOverwriteData(false); + end; + + local procedure UpdateAdjustforPaymentDiscount(VatBusPostingGrp: Code[20]; VatProdPostingGrp: Code[20]) + var + VatPostingSetup: Record "VAT Posting Setup"; + begin + if not VatPostingSetup.Get(VatBusPostingGrp, VatProdPostingGrp) then + exit; + + VatPostingSetup.Validate("Adjust for Payment Discount", false); + VatPostingSetup.Modify(true); + end; + + procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(VAT20(), StrSubstNo(MiscellaneousVATLbl, '20')); + ContosoPostingGroup.InsertVATProductPostingGroup(NoVAT(), MiscellaneousNoVATLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT10(), StrSubstNo(MiscellaneousVATLbl, '10')); + end; + + procedure NOVAT(): Code[20] + begin + exit(NoVATTok); + end; + + procedure VAT10(): Code[20] + begin + exit(VAT10Tok); + end; + + procedure VAT20(): Code[20] + begin + exit(VAT20Tok); + end; + + var + NoVATTok: Label 'NO VAT', MaxLength = 20, Locked = true; + VAT10Tok: Label 'VAT10', MaxLength = 20, Locked = true; + VAT20Tok: Label 'VAT20', MaxLength = 20, Locked = true; + MiscellaneousVATLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage'; + MiscellaneousNoVATLbl: Label 'Miscellaneous without VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatReportSetupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatReportSetupAT.Codeunit.al new file mode 100644 index 0000000000..6a673e36b0 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatReportSetupAT.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 11185 "Create Vat Report Setup AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateNoseries: Codeunit "Create No. Series"; + begin + InsertVatReportSetup(CreateNoseries.ECSL(), CreateNoseries.VATReturnsReports(), CreateNoseries.VATReturnPeriods()); + end; + + local procedure InsertVatReportSetup(NoSeries: Code[20]; VatReturnNoSeries: Code[20]; VatReturnPeriodNoSeries: Code[20]) + var + VatReportSetup: Record "VAT Report Setup"; + begin + if not VatReportSetup.Get() then begin + VatReportSetup.Init(); + VatReportSetup.Insert(true); + end; + + VatReportSetup.Get(); + VatReportSetup.Validate("No. Series", NoSeries); + VatReportSetup.Validate("VAT Return No. Series", VatReturnNoSeries); + VatReportSetup.Validate("VAT Return Period No. Series", VatReturnPeriodNoSeries); + VatReportSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatSetupPostGrpAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatSetupPostGrpAT.Codeunit.al new file mode 100644 index 0000000000..0141a73057 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/1. Setup Data/CreateVatSetupPostGrpAT.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 11187 "Create Vat Setup Post Grp AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVATPostingGroupAT: Codeunit "Create VAT Posting Group AT"; + CreateATGLAccount: Codeunit "Create AT GL Account"; + begin + InsertVATSetupPostingGroup(CreateVATPostingGroupAT.NOVAT(), SetupExportReducedDescLbl, true, 0, CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), true); + InsertVATSetupPostingGroup(CreateVATPostingGroupAT.VAT10(), SetupExportStandardDescLbl, true, 10, CreateATGLAccount.SalesTax10(), CreateATGLAccount.PurchaseVATReduced(), true); + InsertVATSetupPostingGroup(CreateVATPostingGroupAT.VAT20(), SetupExportIncreaseDescLbl, true, 20, CreateATGLAccount.SalesTax20(), CreateATGLAccount.PurchaseVATStandard(), true); + end; + + local procedure InsertVATSetupPostingGroup(VatProdPostingGrp: Code[20]; VatProdPostingDesc: Text[100]; DefaultSetup: boolean; VatPercent: integer; SalesVATAccount: Code[20]; PurchaseVATAccount: Code[20]; SelectedSetup: Boolean) + var + VatSetupPostinGroup: Record "VAT Setup Posting Groups"; + begin + VatSetupPostinGroup.Init(); + VatSetupPostinGroup.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + VatSetupPostinGroup.Validate(Default, DefaultSetup); + VatSetupPostinGroup.Validate("VAT Prod. Posting Grp Desc.", VatProdPostingDesc); + VatSetupPostinGroup.Validate("VAT %", VatPercent); + VatSetupPostinGroup.Validate("Sales VAT Account", SalesVATAccount); + VatSetupPostinGroup.Validate("Purchase VAT Account", PurchaseVATAccount); + VatSetupPostinGroup.Validate(Selected, SelectedSetup); + VatSetupPostinGroup.Validate("Application Type", VatSetupPostinGroup."Application Type"::Items); + VatSetupPostinGroup.Insert(true); + end; + + var + SetupExportReducedDescLbl: Label 'Setup for EXPORT / NO VAT', MaxLength = 100; + SetupExportStandardDescLbl: Label 'Setup for EXPORT / VAT10', MaxLength = 100; + SetupExportIncreaseDescLbl: Label 'Setup for EXPORT / VAT20', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateCurrencyExRateAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateCurrencyExRateAT.Codeunit.al new file mode 100644 index 0000000000..826864a496 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateCurrencyExRateAT.Codeunit.al @@ -0,0 +1,182 @@ +codeunit 11154 "Create Currency Ex. Rate AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 154.8801, 154.8801); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.SetOverwriteData(true); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 165.793, 165.793); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.SEK(), CurrentDate, 100, 100, 15.7473, 15.7473); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.USD(), CurrentDate, 100, 100, 101.7599, 101.7599); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 159.2372, 159.2372); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.SEK(), CurrentDate, 100, 100, 16.2267, 16.2267); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.USD(), CurrentDate, 100, 100, 105.0287, 105.0287); + ContosoCurrency.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 12.3754, 12.3754); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateResourceAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateResourceAT.Codeunit.al new file mode 100644 index 0000000000..67a6292cf3 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateResourceAT.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11152 "Create Resource AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateVatPostingGroupAT: Codeunit "Create Vat Posting Group AT"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Rec, WienLbl, 77, 84.7, 45.35484, 155, PostCode1010Lbl, CreateVatPostingGroupAT.Vat10()); + CreateResource.Marty(): + ValidateRecordFields(Rec, WienLbl, 70, 77, 44.60432, 139, PostCode1010Lbl, CreateVatPostingGroupAT.Vat10()); + CreateResource.Lina(): + ValidateRecordFields(Rec, WienLbl, 93, 102.3, 45, 186, PostCode1230Lbl, CreateVatPostingGroupAT.Vat10()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + WienLbl: Label 'Wien', MaxLength = 30, Locked = true; + PostCode1010Lbl: Label '1010', MaxLength = 20; + PostCode1230Lbl: Label '1230', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatStatementLineAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatStatementLineAT.Codeunit.al new file mode 100644 index 0000000000..220f097c4e --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatStatementLineAT.Codeunit.al @@ -0,0 +1,102 @@ +codeunit 11156 "Create VAT Statement Line AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + CreateVATStatementLine(); + end; + + local procedure CreateVATStatementLine() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroupAT: Codeunit "Create VAT Posting Group AT"; + + begin + ContosoVatStatement.SetOverwriteData(true); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 10000, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupAT.VAT20(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, SalesVAT20outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 20000, '1019', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1010..1018', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SalesVAT20outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 30000, '1020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupAT.VAT10(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, SalesVAT10outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 40000, '1050', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT20(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, VAT20onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 50000, '1060', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT10(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, VAT10onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 60000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 70000, '1099', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1010..1090', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 80000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 90000, '1110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupAT.VAT20(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT20DomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 100000, '1120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupAT.VAT10(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT10DomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 110000, '1150', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT20(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT20EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 120000, '1160', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT10(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT10EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 130000, '1179', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1110..1170', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, PurchaseVATingoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 140000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 150000, '1180', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, FuelTaxLbl, '7110'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 160000, '1181', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ElectricityTaxLbl, '7120'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 170000, '1182', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NaturalGasTaxLbl, '7130'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 180000, '1183', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, CoalTaxLbl, '7140'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 190000, '1184', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, CO2TaxLbl, '7150'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 200000, '1185', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, WaterTaxLbl, '7160'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 210000, '1189', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1180..1188', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalTaxesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 220000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 230000, '1199', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1159|1189', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDeductionsLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 240000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 250000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 260000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1099|1199', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VATPayableLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 270000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 280000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 290000, '1210', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT20(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofEUPurchases20Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 300000, '1220', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT10(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofEUPurchases10Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 310000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 320000, '1240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT20(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales20Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 330000, '1250', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroupAT.VAT10(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales10Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 340000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 350000, '1310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroupAT.VAT20(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATLiableSalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 360000, '1320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroupAT.VAT10(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATLiableSalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 370000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1310..1330', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATLiableSalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 380000, '1340', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupAT.NOVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATLiableSalesDomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Default(), 390000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1340..1348', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATLiableSalesDomesticLbl, ''); + ContosoVatStatement.SetOverwriteData(false); + end; + + procedure Default(): Code[10] + begin + exit(DefaultTok); + end; + + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + DefaultTok: Label 'DEFAULT', MaxLength = 10; + SalesVAT20outgoingLbl: Label 'Sales VAT 20 % (outgoing)', MaxLength = 100; + SalesVAT10outgoingLbl: Label 'Sales VAT 10 % (outgoing)', MaxLength = 100; + VAT20onEUPurchasesetcLbl: Label 'VAT 20 % % on EU Purchases etc.', MaxLength = 100; + VAT10onEUPurchasesetcLbl: Label 'VAT 10 % % on EU Purchases etc.', MaxLength = 100; + TotalLbl: Label 'Total', MaxLength = 100; + PurchaseVAT20DomesticLbl: Label 'Purchase VAT 20 % Domestic', MaxLength = 100; + PurchaseVAT10DomesticLbl: Label 'Purchase VAT 10 % Domestic', MaxLength = 100; + PurchaseVAT20EULbl: Label 'Purchase VAT 20 % EU', MaxLength = 100; + PurchaseVAT10EULbl: Label 'Purchase VAT 10 % EU', MaxLength = 100; + PurchaseVATingoingLbl: Label 'Purchase VAT (ingoing)', MaxLength = 100; + FuelTaxLbl: Label 'Fuel Tax', MaxLength = 100; + ElectricityTaxLbl: Label 'Electricity Tax', MaxLength = 100; + NaturalGasTaxLbl: Label 'Natural Gas Tax', MaxLength = 100; + CoalTaxLbl: Label 'Coal Tax', MaxLength = 100; + CO2TaxLbl: Label 'CO2 Tax', MaxLength = 100; + WaterTaxLbl: Label 'Water Tax', MaxLength = 100; + TotalTaxesLbl: Label 'Total Taxes', MaxLength = 100; + TotalDeductionsLbl: Label 'Total Deductions', MaxLength = 100; + VATPayableLbl: Label 'VAT Payable', MaxLength = 100; + ValueofEUPurchases20Lbl: Label 'Value of EU Purchases 20 %', MaxLength = 100; + ValueofEUPurchases10Lbl: Label 'Value of EU Purchases 10 %', MaxLength = 100; + ValueofEUSales20Lbl: Label 'Value of EU Sales 20 %', MaxLength = 100; + ValueofEUSales10Lbl: Label 'Value of EU Sales 10 %', MaxLength = 100; + NonVATLiableSalesOverseasLbl: Label 'Non-VAT liable sales, Overseas', MaxLength = 100; + NonVATLiableSalesDomesticLbl: Label 'Non-VAT liable sales, Domestic', MaxLength = 100; + SeparationLineLbl: Label '--------------------------------------------------', Locked = true; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatStatementNameAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatStatementNameAT.Codeunit.al new file mode 100644 index 0000000000..066578b8c3 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatStatementNameAT.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 11189 "Create VAT Statement NameAT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVATStatement: Codeunit "Create VAT Statement"; + ContosoVatStatmentES: Codeunit "Contoso Vat Statment ES"; + begin + ContosoVatStatmentES.InsertVATStatementName(CreateVATStatement.VATTemplateName(), StatementUstvaLbl, VATStatementGermanyDescLbl); + end; + + var + StatementUstvaLbl: Label 'USTVA', MaxLength = 10; + VATStatementGermanyDescLbl: Label 'VAT Statement Germany', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatTemplateAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatTemplateAT.Codeunit.al new file mode 100644 index 0000000000..8c17c8495e --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Finance/2. Master Data/CreateVatTemplateAT.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11188 "Create VAT Template AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Template", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record "VAT Statement Template"; RunTrigger: Boolean) + var + CreateVATStatement: Codeunit "Create VAT Statement"; + begin + case Rec.Name of + CreateVATStatement.VATTemplateName(): + ValidateRecordField(Rec, Report::"VAT Statement AT"); + end; + end; + + local procedure ValidateRecordField(var VatStatementTemplate: Record "VAT Statement Template"; VatReportId: Integer) + begin + VatStatementTemplate.Validate("VAT Statement Report ID", VatReportId); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookAT.Codeunit.al new file mode 100644 index 0000000000..abb67e4779 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookAT.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11182 "Create FA Depreciation Book AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpAT.Codeunit.al new file mode 100644 index 0000000000..f776e9cbcf --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpAT.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 11162 "Create FA Posting Grp. AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroup(var Rec: Record "FA Posting Group") + var + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; + CreateATGlAccount: Codeunit "Create AT GL Account"; + begin + case Rec.Code of + CreateFAPostingGroup.Equipment(), CreateFAPostingGroup.Goodwill(), CreateFAPostingGroup.Plant(), CreateFAPostingGroup.Property(), CreateFAPostingGroup.Vehicles(): + ValidateFAPostingGroup(Rec, CreateATGlAccount.AcquisitionsDuringTheYearRealEstate(), CreateATGlAccount.AccumDepreciationOfBuilding(), CreateATGlAccount.DisposalsDuringTheYearRealEstate(), CreateATGlAccount.AccumDepreciationOfBuilding(), CreateATGlAccount.IncomeFromTheDisposalOfAssets(), CreateATGlAccount.IncomeFromTheDisposalOfAssets(), CreateATGlAccount.Other(), CreateATGlAccount.ScheduledDepreciationOfFixedAssets(), CreateATGlAccount.AcquisitionsDuringTheYearRealEstate()); + end; + end; + + local procedure ValidateFAPostingGroup(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationAT.Codeunit.al new file mode 100644 index 0000000000..b097d090c2 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationAT.Codeunit.al @@ -0,0 +1,66 @@ +codeunit 11143 "Create Company Information AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: Picture Name to Be Inserted + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + UpdateCompanyInformation(CityLbl, PhoneNoLbl, FaxNoLbl, PostcodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", CompanyRegNoLbl, SalesAuthorizedNoLbl, PurchaseAuthorizedNoLbl, TaxOfficeNameLbl, TaxOfficeAddressLbl, TaxofficePostCodeLbl, TaxOfficeNoLbl); + end; + + local procedure UpdateCompanyInformation(City: Text[30]; PhoneNo: Text[30]; FaxNo: Text[30]; PostCode: Code[20]; CountryCode: Code[10]; RegistrationNo: Text[20]; SalesAuthorizeNo: Code[8]; PurchAuthorizedNo: Code[8]; TaxOfficeName: Text[50]; TaxOfficeAddress: Text[50]; + TaxOfficePostCode: Code[20]; TaxOfficeNumber: Code[4]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation."Demo Company" := true; + CompanyInformation.Validate(Address, CompanyAddressLbl); + CompanyInformation.Validate("Address 2", CompanyAddress2Lbl); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Phone No.", PhoneNo); + CompanyInformation.Validate("Fax No.", FaxNo); + CompanyInformation.Validate("Post Code", PostCode); + CompanyInformation.Validate("Country/Region Code", CountryCode); + CompanyInformation.Validate("Registration No.", RegistrationNo); + CompanyInformation.Validate("VAT Registration No.", VatRegistrationNoLbl); + CompanyInformation.Validate("Sales Authorized No.", SalesAuthorizeNo); + CompanyInformation.Validate("Purch. Authorized No.", PurchAuthorizedNo); + CompanyInformation.Validate("Tax Office Address", TaxOfficeAddress); + CompanyInformation.Validate("Tax Office City", CityLbl);//City := CreatePostCode.FindCity(CompanyInformation."Post Code"); + CompanyInformation.Validate("Tax Office Post Code", TaxOfficePostCode);// "Post Code" := CreatePostCode.FindPostCode(CreatePostCode.Convert('GB-W2 8HG')); + CompanyInformation.Validate("Tax Office Name", TaxOfficeName); + CompanyInformation.Validate("Tax Office Number", TaxOfficeNumber); + CompanyInformation.Validate("Tax Office Country/Region Code", ''); + CompanyInformation.Validate("Ship-to Address", CompanyAddressLbl); + CompanyInformation.Validate("Ship-to Address 2", CompanyAddress2Lbl); + CompanyInformation.Validate("Ship-to City", CityLbl); + CompanyInformation.Validate("Ship-to Post Code", PostcodeLbl); + + // todo add picture from attached files + // CompanyInformation.Picture.Import(); + + CompanyInformation.Modify(true); + end; + + var + CompanyAddressLbl: Label 'Dr. Karl Renner', MaxLength = 100; + CompanyAddress2Lbl: Label 'Ring 3', MaxLength = 50; + SalesAuthorizedNoLbl: Label 'VK', MaxLength = 8; + VatRegistrationNoLbl: Label 'ATU12345678', MaxLength = 20; + PurchaseAuthorizedNoLbl: Label 'EK', MaxLength = 8; + CityLbl: Label 'Wien', Maxlength = 30; + PostcodeLbl: Label '1100', MaxLength = 20; + PhoneNoLbl: Label '999 / 9 99 99 99', MaxLength = 30; + FaxNoLbl: Label '999 / 9 99 99 90', MaxLength = 30; + CompanyRegNoLbl: Label '123/4567', MaxLength = 20; + TaxOfficeAddressLbl: Label 'Hohe Weide 101', MaxLength = 50; + TaxofficePostCodeLbl: Label '1010', MaxLength = 20; + TaxOfficeNoLbl: Label '99', MaxLength = 4; + TaxOfficeNameLbl: Label 'Finanzamt f. d. 24. Bezirk', MaxLength = 50; +} diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesAT.Codeunit.al new file mode 100644 index 0000000000..fbac29ac6f --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesAT.Codeunit.al @@ -0,0 +1,130 @@ +codeunit 11144 "Create No. Series AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: codeunit "Contoso No Series"; + begin + ContosoNoSeries.InsertNoSeries(PurchaseDeliveryReminder(), DeliveryReminderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PurchaseIssueDeliveryReminder(), IssueDeliveryReminderLbl, '104001', '105999', '105995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(Job(), JobLbl, 'J00010', 'J99990', '', '', 10, Enum::"No. Series Implementation"::Sequence, true); + end; + + [EventSubscriber(ObjectType::Table, Database::"No. Series", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecordNoSeries(var Rec: Record "No. Series") + var + CreateNoSeries: Codeunit "Create No. Series"; + begin + case Rec.Code of + CreateNoSeries.Contact(): + ValidateRecordFieldsNoSeries(Rec, true); + CreateNoSeries.CashFlow(): + ValidateRecordFieldsNoSeries(Rec, true); + CreateNoSeries.BlanketPurchaseOrder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PurchaseCreditMemo(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PostedPurchaseCreditMemo(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PurchaseInvoice(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PostedPurchaseInvoice(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PurchaseOrder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PurchaseQuote(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PurchaseReceipt(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PurchaseReturnOrder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PostedPurchaseShipment(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.BlanketSalesOrder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.SalesCreditMemo(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PostedSalesCreditMemo(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.FinanceChargeMemo(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.IssuedFinanceChargeMemo(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.SalesInvoice(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PostedSalesInvoice(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.SalesOrder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.SalesQuote(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.PostedSalesReceipt(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.Reminder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.IssuedReminder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.SalesReturnOrder(): + ValidateRecordFieldsNoSeries(Rec, false); + CreateNoSeries.SalesShipment(): + ValidateRecordFieldsNoSeries(Rec, false); + end; + end; + + [EventSubscriber(ObjectType::Table, Database::"No. Series Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "No. Series Line") + var + CreateNoSeries: Codeunit "Create No. Series"; + begin + case Rec."Series Code" of + CreateNoSeries.CashFlow(): + ValidateRecordFieldsWithStartingNo(Rec, 'CF100001', 'CF200000'); + CreateNoSeries.PurchasePriceList(): + ValidateRecordFieldsWithStartingNo(Rec, 'P00001', 'P99999'); + CreateNoSeries.PaymentReconciliationJournals(): + ValidateRecordFieldsWithStartingNo(Rec, 'PREC000', 'PREC999'); + CreateNoSeries.TransferReceipt(): + ValidateRecordFieldsWithStartingNo(Rec, '109001', '1010999'); + CreateNoSeries.VATReturnPeriods(): + ValidateRecordFieldsWithStartingNo(Rec, 'VATPER-0001', 'VATPER-9999'); + CreateNoSeries.VATReturnsReports(): + ValidateRecordFieldsWithStartingNo(Rec, 'VATRET-0001', 'VATRET-9999'); + end; + end; + + procedure ValidateRecordFieldsNoSeries(var NoSeries: Record "No. Series"; ManualNos: Boolean) + begin + NoSeries.Validate("Manual Nos.", ManualNos); + end; + + procedure ValidateRecordFieldsWithStartingNo(var NoSeriesLine: Record "No. Series Line"; StartingNo: Code[20]; EndingNo: Code[20]) + begin + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Ending No.", EndingNo); + end; + + procedure PurchaseDeliveryReminder(): Code[20] + begin + exit('P-DELREM'); + end; + + procedure PurchaseIssueDeliveryReminder(): Code[20] + begin + exit('P-DELREM+'); + end; + + procedure Job(): Code[20] + begin + exit(JobTok); + end; + + var + JobTok: Label 'JOB', MaxLength = 20; + JobLbl: Label 'JOB', MaxLength = 100; + DeliveryReminderLbl: Label 'Purchase Delivery Reminder', MaxLength = 100; + IssueDeliveryReminderLbl: Label 'Issued Purch. Deliv. Reminder', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreatePaymentTermAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreatePaymentTermAT.Codeunit.al new file mode 100644 index 0000000000..a15f118206 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreatePaymentTermAT.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11181 "Create Payment Term AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Terms", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertPaymentTerms(var Rec: Record "Payment Terms") + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec.Code of + CreatePaymentTerms.PaymentTermsM8D(): + ValidateRecordFields(Rec, true); + end; + end; + + local procedure ValidateRecordFields(var PaymentTerms: Record "Payment Terms"; CalcPmtDisc: Boolean) + begin + PaymentTerms.Validate("Calc. Pmt. Disc. on Cr. Memos", CalcPmtDisc); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeAT.Codeunit.al new file mode 100644 index 0000000000..1691e10347 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeAT.Codeunit.al @@ -0,0 +1,633 @@ +codeunit 11145 "Create Post Code AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // Discuss it + // Maybe a service provide a better list of post codes? + // This can be the same for now, then we convert to a list later. + + // Keep as it is for now + // Wael + + trigger OnRun() + var + ContosoPostCodeDK: Codeunit "Contoso Post Code AT"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeDK.InsertPostCode('0 0100', NairobiLbl, CreateCountryRegion.KE()); + ContosoPostCodeDK.InsertPostCode('0 1007', KairiLbl, CreateCountryRegion.KE()); + ContosoPostCodeDK.InsertPostCode('0001', PretoriaLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('00100', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeDK.InsertPostCode('00100', ROMARMLbl, CreateCountryRegion.IT()); + ContosoPostCodeDK.InsertPostCode('00101', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeDK.InsertPostCode('00260', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeDK.InsertPostCode('00300', MaputoLbl, CreateCountryRegion.MZ()); + ContosoPostCodeDK.InsertPostCode('01030', MexicoCityDFLbl, CreateCountryRegion.MX()); + ContosoPostCodeDK.InsertPostCode('01800', KlaukkalaLbl, CreateCountryRegion.FI()); + ContosoPostCodeDK.InsertPostCode('02-515', WarszawaLbl, CreateCountryRegion.PL()); + ContosoPostCodeDK.InsertPostCode('026 01', DolnyKubinLbl, CreateCountryRegion.SK()); + ContosoPostCodeDK.InsertPostCode('03003', AlicanteLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('038988', SingaporeLbl, CreateCountryRegion.SG()); + ContosoPostCodeDK.InsertPostCode('049 21', BetliarLbl, CreateCountryRegion.SK()); + ContosoPostCodeDK.InsertPostCode('050724', BucurestiLbl, CreateCountryRegion.RO()); + ContosoPostCodeDK.InsertPostCode('050729', BucurestiLbl, CreateCountryRegion.RO()); + ContosoPostCodeDK.InsertPostCode('051511', BucurestiLbl, CreateCountryRegion.RO()); + ContosoPostCodeDK.InsertPostCode('05400', BARIKALbl, CreateCountryRegion.DZ()); + ContosoPostCodeDK.InsertPostCode('05400', JokelaLbl, CreateCountryRegion.FI()); + ContosoPostCodeDK.InsertPostCode('05428-002', SaoPauloSPLbl, CreateCountryRegion.BR()); + ContosoPostCodeDK.InsertPostCode('0552', OsloLbl, CreateCountryRegion.NO()); + ContosoPostCodeDK.InsertPostCode('06000', MexicoCityDFLbl, CreateCountryRegion.MX()); + ContosoPostCodeDK.InsertPostCode('06531', AnkaraLbl, CreateCountryRegion.TR()); + ContosoPostCodeDK.InsertPostCode('0661', OsloLbl, CreateCountryRegion.NO()); + ContosoPostCodeDK.InsertPostCode('0700', PietersburgLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('07001', PalmaMallorcaLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('08010', BarcelonaLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('1000', LjubljanaLbl, CreateCountryRegion.SI()); + ContosoPostCodeDK.InsertPostCode('1000', ManilaLbl, CreateCountryRegion.PH()); + ContosoPostCodeDK.InsertPostCode('1000', SofiaLbl, CreateCountryRegion.BG()); + ContosoPostCodeDK.InsertPostCode('10000', ZagrebLbl, CreateCountryRegion.HR()); + ContosoPostCodeDK.InsertPostCode('10003', CaceresLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('1001', AucklandLbl, CreateCountryRegion.NZ()); + ContosoPostCodeDK.InsertPostCode('1002', TunisBelvedereLbl, CreateCountryRegion.TN()); + ContosoPostCodeDK.InsertPostCode('1003', SantaCruzManilaLbl, CreateCountryRegion.PH()); + ContosoPostCodeDK.InsertPostCode('1009 AG', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeDK.InsertPostCode('101', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeDK.InsertPostCode('1010', WienLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('10100', AGDALRABATLbl, CreateCountryRegion.MA()); + ContosoPostCodeDK.InsertPostCode('10100', TORINOTOLbl, CreateCountryRegion.IT()); + ContosoPostCodeDK.InsertPostCode('10101', RIADRABATLbl, CreateCountryRegion.MA()); + ContosoPostCodeDK.InsertPostCode('1011', RigaLbl, CreateCountryRegion.LV()); + ContosoPostCodeDK.InsertPostCode('1012', TondoManilaLbl, CreateCountryRegion.PH()); + ContosoPostCodeDK.InsertPostCode('10127', TallinnLbl, CreateCountryRegion.EE()); + ContosoPostCodeDK.InsertPostCode('10260', BangNaBangkokLbl, CreateCountryRegion.TH()); + ContosoPostCodeDK.InsertPostCode('1030', TunisLbl, CreateCountryRegion.TN()); + ContosoPostCodeDK.InsertPostCode('103054', MoskvaLbl, CreateCountryRegion.RU()); + ContosoPostCodeDK.InsertPostCode('10310', JakartaLbl, CreateCountryRegion.ID()); + ContosoPostCodeDK.InsertPostCode('1039', RigaLbl, CreateCountryRegion.LV()); + ContosoPostCodeDK.InsertPostCode('10440', JakartaLbl, CreateCountryRegion.ID()); + ContosoPostCodeDK.InsertPostCode('10500', BangRakBangkokLbl, CreateCountryRegion.TH()); + ContosoPostCodeDK.InsertPostCode('1050-042', LISBOALbl, CreateCountryRegion.PT()); + ContosoPostCodeDK.InsertPostCode('10510', KhlongSamwaBangkokLbl, CreateCountryRegion.TH()); + ContosoPostCodeDK.InsertPostCode('106 75', AthensLbl, CreateCountryRegion.EL()); + ContosoPostCodeDK.InsertPostCode('106 82', AthensLbl, CreateCountryRegion.EL()); + ContosoPostCodeDK.InsertPostCode('108', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeDK.InsertPostCode('109456', MoskvaLbl, CreateCountryRegion.RU()); + ContosoPostCodeDK.InsertPostCode('1100', WienLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('11000', BeogradLbl, CreateCountryRegion.RS()); + ContosoPostCodeDK.InsertPostCode('110002', DelhiLbl, CreateCountryRegion.IND()); + ContosoPostCodeDK.InsertPostCode('11001', BeogradLbl, CreateCountryRegion.RS()); + ContosoPostCodeDK.InsertPostCode('1100-150', LISBOALbl, CreateCountryRegion.PT()); + ContosoPostCodeDK.InsertPostCode('1107', BudapestLbl, CreateCountryRegion.HU()); + ContosoPostCodeDK.InsertPostCode('1111', ZaghouanLbl, CreateCountryRegion.TN()); + ContosoPostCodeDK.InsertPostCode('1117', CapriQuezonCityLbl, CreateCountryRegion.PH()); + ContosoPostCodeDK.InsertPostCode('112', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeDK.InsertPostCode('114 32', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeDK.InsertPostCode('11-430', KorszeLbl, CreateCountryRegion.PL()); + ContosoPostCodeDK.InsertPostCode('11470', JakartaLbl, CreateCountryRegion.ID()); + ContosoPostCodeDK.InsertPostCode('1161', BudapestLbl, CreateCountryRegion.HU()); + ContosoPostCodeDK.InsertPostCode('12000', TEMARALbl, CreateCountryRegion.MA()); + ContosoPostCodeDK.InsertPostCode('1204', BudapestLbl, CreateCountryRegion.HU()); + ContosoPostCodeDK.InsertPostCode('1230', WienLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('1300', SandvikaLbl, CreateCountryRegion.NO()); + ContosoPostCodeDK.InsertPostCode('1324', LysakerLbl, CreateCountryRegion.NO()); + ContosoPostCodeDK.InsertPostCode('1344', HaslumLbl, CreateCountryRegion.NO()); + ContosoPostCodeDK.InsertPostCode('1370', AskerLbl, CreateCountryRegion.NO()); + ContosoPostCodeDK.InsertPostCode('1400', SkiLbl, CreateCountryRegion.NO()); + ContosoPostCodeDK.InsertPostCode('1440', ValenzuelaLbl, CreateCountryRegion.PH()); + ContosoPostCodeDK.InsertPostCode('14-510', OrnetaLbl, CreateCountryRegion.PL()); + ContosoPostCodeDK.InsertPostCode('15156', TangerangLbl, CreateCountryRegion.ID()); + ContosoPostCodeDK.InsertPostCode('1530 JM', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeDK.InsertPostCode('15-660', BialystokLbl, CreateCountryRegion.PL()); + ContosoPostCodeDK.InsertPostCode('16000', ALGIERSLbl, CreateCountryRegion.DZ()); + ContosoPostCodeDK.InsertPostCode('16012', ALGIERSLbl, CreateCountryRegion.DZ()); + ContosoPostCodeDK.InsertPostCode('16027', ALGIERSLbl, CreateCountryRegion.DZ()); + ContosoPostCodeDK.InsertPostCode('17120', WatSingChaiNatLbl, CreateCountryRegion.TH()); + ContosoPostCodeDK.InsertPostCode('185 40', PiraeusLbl, CreateCountryRegion.EL()); + ContosoPostCodeDK.InsertPostCode('1851', HumbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeDK.InsertPostCode('19210', BorLbl, CreateCountryRegion.RS()); + ContosoPostCodeDK.InsertPostCode('197342', SanktPetersburgLbl, CreateCountryRegion.RU()); + ContosoPostCodeDK.InsertPostCode('200', KopavogurLbl, CreateCountryRegion.IS()); + ContosoPostCodeDK.InsertPostCode('2000', JohannesburgLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('2000', MariborLbl, CreateCountryRegion.SI()); + ContosoPostCodeDK.InsertPostCode('2000', SydneyNSWLbl, CreateCountryRegion.AU()); + ContosoPostCodeDK.InsertPostCode('20000', CASABLANCALbl, CreateCountryRegion.MA()); + ContosoPostCodeDK.InsertPostCode('20000', DubrovnikLbl, CreateCountryRegion.HR()); + ContosoPostCodeDK.InsertPostCode('200331', CraiovaLbl, CreateCountryRegion.RO()); + ContosoPostCodeDK.InsertPostCode('20097', HamburgLbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('20100', MILANOMILbl, CreateCountryRegion.IT()); + ContosoPostCodeDK.InsertPostCode('20200', CASABLANCALbl, CreateCountryRegion.MA()); + ContosoPostCodeDK.InsertPostCode('2050', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeDK.InsertPostCode('20607', NarvaLbl, CreateCountryRegion.EE()); + ContosoPostCodeDK.InsertPostCode('20800', MOHAMMEDIALbl, CreateCountryRegion.MA()); + ContosoPostCodeDK.InsertPostCode('2100', CopenhagenLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('21000', MOSTAGANCULbl, CreateCountryRegion.DZ()); + ContosoPostCodeDK.InsertPostCode('21000', NoviSadLbl, CreateCountryRegion.RS()); + ContosoPostCodeDK.InsertPostCode('21000', SplitLbl, CreateCountryRegion.HR()); + ContosoPostCodeDK.InsertPostCode('220', HafnafjordurLbl, CreateCountryRegion.IS()); + ContosoPostCodeDK.InsertPostCode('2200', HerentalsLbl, CreateCountryRegion.BE()); + ContosoPostCodeDK.InsertPostCode('22000', SibenikLbl, CreateCountryRegion.HR()); + ContosoPostCodeDK.InsertPostCode('22291-040', RiodeJaneiroRJLbl, CreateCountryRegion.BR()); + ContosoPostCodeDK.InsertPostCode('22417', Hamburg36Lbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('2355', WrNeudorfLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('24000', SuboticaLbl, CreateCountryRegion.RS()); + ContosoPostCodeDK.InsertPostCode('2405', HundsheimLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('2500', CarletonvilleLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('2500', EsztergomLbl, CreateCountryRegion.HU()); + ContosoPostCodeDK.InsertPostCode('2500', KustendilLbl, CreateCountryRegion.BG()); + ContosoPostCodeDK.InsertPostCode('2500', WollongongNSWLbl, CreateCountryRegion.AU()); + ContosoPostCodeDK.InsertPostCode('2600', VilniusLbl, CreateCountryRegion.LT()); + ContosoPostCodeDK.InsertPostCode('2700', BlagoevgradLbl, CreateCountryRegion.BG()); + ContosoPostCodeDK.InsertPostCode('2700', VilniusLbl, CreateCountryRegion.LT()); + ContosoPostCodeDK.InsertPostCode('2800', MechelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeDK.InsertPostCode('28003', MadridLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('2940', NewcastleLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('2950', VedbaekLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('300', AkranesLbl, CreateCountryRegion.IS()); + ContosoPostCodeDK.InsertPostCode('3000', KaunasLbl, CreateCountryRegion.LT()); + ContosoPostCodeDK.InsertPostCode('3000', LeuvenLbl, CreateCountryRegion.BE()); + ContosoPostCodeDK.InsertPostCode('3000', MelbourneVICLbl, CreateCountryRegion.AU()); + ContosoPostCodeDK.InsertPostCode('300001', BENINEdostateLbl, CreateCountryRegion.NG()); + ContosoPostCodeDK.InsertPostCode('3000-337', COIMBRALbl, CreateCountryRegion.PT()); + ContosoPostCodeDK.InsertPostCode('302 50', HalmstadLbl, CreateCountryRegion.SE()); + ContosoPostCodeDK.InsertPostCode('3042', KaunasLbl, CreateCountryRegion.LT()); + ContosoPostCodeDK.InsertPostCode('3100', KairouanLbl, CreateCountryRegion.TN()); + ContosoPostCodeDK.InsertPostCode('3100', StPoltenLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('31260', NonDindaengBuriRamLbl, CreateCountryRegion.TH()); + ContosoPostCodeDK.InsertPostCode('3231', GrobelnoLbl, CreateCountryRegion.SI()); + ContosoPostCodeDK.InsertPostCode('3258', TarnaleleszLbl, CreateCountryRegion.HU()); + ContosoPostCodeDK.InsertPostCode('3270', DundagaLbl, CreateCountryRegion.LV()); + ContosoPostCodeDK.InsertPostCode('3325', NoszvajLbl, CreateCountryRegion.HU()); + ContosoPostCodeDK.InsertPostCode('34000', KragujevacLbl, CreateCountryRegion.RS()); + ContosoPostCodeDK.InsertPostCode('3600', DurbanLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('36004', PontevedraLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('3601', DürnsteinLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('37001', SalamancaLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('37500', LeonGuanajuatoLbl, CreateCountryRegion.MX()); + ContosoPostCodeDK.InsertPostCode('3900', BauskaLbl, CreateCountryRegion.LV()); + ContosoPostCodeDK.InsertPostCode('3900', RichardsBayLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('39100', BOLZANOBZLbl, CreateCountryRegion.IT()); + ContosoPostCodeDK.InsertPostCode('4000', BrisbaneQLDLbl, CreateCountryRegion.AU()); + ContosoPostCodeDK.InsertPostCode('4000', PlovdivLbl, CreateCountryRegion.BG()); + ContosoPostCodeDK.InsertPostCode('40000', KHENCHELbl, CreateCountryRegion.DZ()); + ContosoPostCodeDK.InsertPostCode('400001', MumbaiLbl, CreateCountryRegion.IND()); + ContosoPostCodeDK.InsertPostCode('4000-322', PORTOLbl, CreateCountryRegion.PT()); + ContosoPostCodeDK.InsertPostCode('40135', BandungLbl, CreateCountryRegion.ID()); + ContosoPostCodeDK.InsertPostCode('4040', LinzLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('40593', DusseldorfLbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('41006', SevillaLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('4133', PrattelnLbl, CreateCountryRegion.CH()); + ContosoPostCodeDK.InsertPostCode('415 06', GoteborgLbl, CreateCountryRegion.SE()); + ContosoPostCodeDK.InsertPostCode('42000', PELABUHANKLANGSelangorLbl, CreateCountryRegion.MY()); + ContosoPostCodeDK.InsertPostCode('42020', KonyaLbl, CreateCountryRegion.TR()); + ContosoPostCodeDK.InsertPostCode('43000', BjelovarLbl, CreateCountryRegion.HR()); + ContosoPostCodeDK.InsertPostCode('440001', NagpurLbl, CreateCountryRegion.IND()); + ContosoPostCodeDK.InsertPostCode('443008', SamaraLbl, CreateCountryRegion.RU()); + ContosoPostCodeDK.InsertPostCode('44313', RakvereLbl, CreateCountryRegion.EE()); + ContosoPostCodeDK.InsertPostCode('44450', LACHAPELLEBASSEMERLbl, CreateCountryRegion.FR()); + ContosoPostCodeDK.InsertPostCode('4502', KranjLbl, CreateCountryRegion.SI()); + ContosoPostCodeDK.InsertPostCode('45030', ManisaLbl, CreateCountryRegion.TR()); + ContosoPostCodeDK.InsertPostCode('45109', TapaLbl, CreateCountryRegion.EE()); + ContosoPostCodeDK.InsertPostCode('45-418', OpoleLbl, CreateCountryRegion.PL()); + ContosoPostCodeDK.InsertPostCode('4600', KogeLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('4600', RudiskesLbl, CreateCountryRegion.LT()); + ContosoPostCodeDK.InsertPostCode('46007', ValenciaLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('47002', ValladolidLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('47400', PETALINGJAYASelangorLbl, CreateCountryRegion.MY()); + ContosoPostCodeDK.InsertPostCode('4810', GmundenLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('49603', MustveeLbl, CreateCountryRegion.EE()); + ContosoPostCodeDK.InsertPostCode('5 0413', AdungosiLbl, CreateCountryRegion.KE()); + ContosoPostCodeDK.InsertPostCode('5000', OdenseCLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('50001', ZaragozaLbl, CreateCountryRegion.ES()); + ContosoPostCodeDK.InsertPostCode('5002', OgreLbl, CreateCountryRegion.LV()); + ContosoPostCodeDK.InsertPostCode('500209', BrasovLbl, CreateCountryRegion.RO()); + ContosoPostCodeDK.InsertPostCode('50120', SanPaTongChiangMaiLbl, CreateCountryRegion.TH()); + ContosoPostCodeDK.InsertPostCode('5020', SalzburgLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('50450', AMPANGKualaLumpurLbl, CreateCountryRegion.MY()); + ContosoPostCodeDK.InsertPostCode('50670', CASSELLbl, CreateCountryRegion.FR()); + ContosoPostCodeDK.InsertPostCode('51021-040', RecifePELbl, CreateCountryRegion.BR()); + ContosoPostCodeDK.InsertPostCode('5113', KokneseLbl, CreateCountryRegion.LV()); + ContosoPostCodeDK.InsertPostCode('5132 EE', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeDK.InsertPostCode('521 03', KinnaredLbl, CreateCountryRegion.SE()); + ContosoPostCodeDK.InsertPostCode('52210', RovinjLbl, CreateCountryRegion.HR()); + ContosoPostCodeDK.InsertPostCode('546 35', ThessalonikiLbl, CreateCountryRegion.EL()); + ContosoPostCodeDK.InsertPostCode('5473', WoodvilleLbl, CreateCountryRegion.NZ()); + ContosoPostCodeDK.InsertPostCode('5491', DannevirkeLbl, CreateCountryRegion.NZ()); + ContosoPostCodeDK.InsertPostCode('550 05', JonkobingLbl, CreateCountryRegion.SE()); + ContosoPostCodeDK.InsertPostCode('550264', SibiuLbl, CreateCountryRegion.RO()); + ContosoPostCodeDK.InsertPostCode('560001', BengaluruLbl, CreateCountryRegion.IND()); + ContosoPostCodeDK.InsertPostCode('57000', KUALALUMPURLbl, CreateCountryRegion.MY()); + ContosoPostCodeDK.InsertPostCode('5730', MittersillLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('5800', KlaipedaLbl, CreateCountryRegion.LT()); + ContosoPostCodeDK.InsertPostCode('5800', NyborgLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('59-300', LubinLbl, CreateCountryRegion.PL()); + ContosoPostCodeDK.InsertPostCode('6 0500', MarsabitLbl, CreateCountryRegion.KE()); + ContosoPostCodeDK.InsertPostCode('600 03', NorrkobingLbl, CreateCountryRegion.SE()); + ContosoPostCodeDK.InsertPostCode('6000', KoperLbl, CreateCountryRegion.SI()); + ContosoPostCodeDK.InsertPostCode('6000', PortElizabethLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('600001', ChennaiLbl, CreateCountryRegion.IND()); + ContosoPostCodeDK.InsertPostCode('6001', WellingtonLbl, CreateCountryRegion.NZ()); + ContosoPostCodeDK.InsertPostCode('6005', LuzernLbl, CreateCountryRegion.CH()); + ContosoPostCodeDK.InsertPostCode('60172', SurabayaLbl, CreateCountryRegion.ID()); + ContosoPostCodeDK.InsertPostCode('6020', InnsbruckLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('603061', NizhnyNovgorodLbl, CreateCountryRegion.RU()); + ContosoPostCodeDK.InsertPostCode('60320', FrankfurtMainLbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('61100', SANTAVENERANDAPSLbl, CreateCountryRegion.IT()); + ContosoPostCodeDK.InsertPostCode('6343', RotkreuzLbl, CreateCountryRegion.CH()); + ContosoPostCodeDK.InsertPostCode('6405', ImmenseeLbl, CreateCountryRegion.CH()); + ContosoPostCodeDK.InsertPostCode('64640', MonterreyNuevoLeonLbl, CreateCountryRegion.MX()); + ContosoPostCodeDK.InsertPostCode('669 02', ZnojmoLbl, CreateCountryRegion.CZ()); + ContosoPostCodeDK.InsertPostCode('67067', PESCINAAQLbl, CreateCountryRegion.IT()); + ContosoPostCodeDK.InsertPostCode('678 01', BlanskoLbl, CreateCountryRegion.CZ()); + ContosoPostCodeDK.InsertPostCode('6800', PerthWALbl, CreateCountryRegion.AU()); + ContosoPostCodeDK.InsertPostCode('6827 BP', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeDK.InsertPostCode('687 71', BojkoviceLbl, CreateCountryRegion.CZ()); + ContosoPostCodeDK.InsertPostCode('6900', BregenzLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('690001', VladivostokLbl, CreateCountryRegion.RU()); + ContosoPostCodeDK.InsertPostCode('696 42', VracovLbl, CreateCountryRegion.CZ()); + ContosoPostCodeDK.InsertPostCode('697 01', KyjovLbl, CreateCountryRegion.CZ()); + ContosoPostCodeDK.InsertPostCode('7000', EisenstadtLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('7000', ZamboangaCityLbl, CreateCountryRegion.PH()); + ContosoPostCodeDK.InsertPostCode('700001', KolkataLbl, CreateCountryRegion.IND()); + ContosoPostCodeDK.InsertPostCode('70710-926', BrasiliaDFLbl, CreateCountryRegion.BR()); + ContosoPostCodeDK.InsertPostCode('7178', MurdunnaTASLbl, CreateCountryRegion.AU()); + ContosoPostCodeDK.InsertPostCode('7202 BP', ZutphenLbl, CreateCountryRegion.NL()); + ContosoPostCodeDK.InsertPostCode('72800', EningenLbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('731 33', ChaniaLbl, CreateCountryRegion.EL()); + ContosoPostCodeDK.InsertPostCode('7321 HE', ApeldoornLbl, CreateCountryRegion.NL()); + ContosoPostCodeDK.InsertPostCode('75000', PARISLbl, CreateCountryRegion.FR()); + ContosoPostCodeDK.InsertPostCode('76806', PaldiskiLbl, CreateCountryRegion.EE()); + ContosoPostCodeDK.InsertPostCode('77450', ESBLYLbl, CreateCountryRegion.FR()); + ContosoPostCodeDK.InsertPostCode('779 00', OlomouchLbl, CreateCountryRegion.CZ()); + ContosoPostCodeDK.InsertPostCode('78030', SanLuisPotosiSanLuisLbl, CreateCountryRegion.MX()); + ContosoPostCodeDK.InsertPostCode('78370', PLAISIRLbl, CreateCountryRegion.FR()); + ContosoPostCodeDK.InsertPostCode('7900', HokitikaLbl, CreateCountryRegion.NZ()); + ContosoPostCodeDK.InsertPostCode('8 0100', MombasaLbl, CreateCountryRegion.KE()); + ContosoPostCodeDK.InsertPostCode('8 0200', MalindiLbl, CreateCountryRegion.KE()); + ContosoPostCodeDK.InsertPostCode('8000', ArhusCLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('8000', CapeTownLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('8001', ChristchurchLbl, CreateCountryRegion.NZ()); + ContosoPostCodeDK.InsertPostCode('80020-290', CuritibaPRLbl, CreateCountryRegion.BR()); + ContosoPostCodeDK.InsertPostCode('80080', IstanbulLbl, CreateCountryRegion.TR()); + ContosoPostCodeDK.InsertPostCode('8010', GrazLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('80807', MunchenLbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('80997', MunchenLbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('8129', AinDrahamLbl, CreateCountryRegion.TN()); + ContosoPostCodeDK.InsertPostCode('813 38', BratislavaLbl, CreateCountryRegion.SK()); + ContosoPostCodeDK.InsertPostCode('81420', KartalIstanbulLbl, CreateCountryRegion.TR()); + ContosoPostCodeDK.InsertPostCode('8152', GlattbruggLbl, CreateCountryRegion.CH()); + ContosoPostCodeDK.InsertPostCode('8170', BouSalemLbl, CreateCountryRegion.TN()); + ContosoPostCodeDK.InsertPostCode('81700', TuzlaIstanbulLbl, CreateCountryRegion.TR()); + ContosoPostCodeDK.InsertPostCode('8200', ArhusNLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('8200', SchaffhausenLbl, CreateCountryRegion.CH()); + ContosoPostCodeDK.InsertPostCode('821 04', BratislavaLbl, CreateCountryRegion.SK()); + ContosoPostCodeDK.InsertPostCode('82100', MazatlanSinaloaLbl, CreateCountryRegion.MX()); + ContosoPostCodeDK.InsertPostCode('8283', BlancaLbl, CreateCountryRegion.SI()); + ContosoPostCodeDK.InsertPostCode('83250', LALONDELESMAURESLbl, CreateCountryRegion.FR()); + ContosoPostCodeDK.InsertPostCode('8500', KortrijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeDK.InsertPostCode('851 03', KolymbiaLbl, CreateCountryRegion.EL()); + ContosoPostCodeDK.InsertPostCode('852 33', SundsvallLbl, CreateCountryRegion.SE()); + ContosoPostCodeDK.InsertPostCode('86899', LandsbergamLechLbl, CreateCountryRegion.DE()); + ContosoPostCodeDK.InsertPostCode('8700', ElhovoLbl, CreateCountryRegion.BG()); + ContosoPostCodeDK.InsertPostCode('88100', KOTAKINABALUSabahLbl, CreateCountryRegion.MY()); + ContosoPostCodeDK.InsertPostCode('8850', MurauLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('88900', KuhmoLbl, CreateCountryRegion.FI()); + ContosoPostCodeDK.InsertPostCode('9000', AlborgLbl, CreateCountryRegion.DK()); + ContosoPostCodeDK.InsertPostCode('9000', VarnaLbl, CreateCountryRegion.BG()); + ContosoPostCodeDK.InsertPostCode('90000', KASBAHTANGERLbl, CreateCountryRegion.MA()); + ContosoPostCodeDK.InsertPostCode('900001', ABUJALbl, CreateCountryRegion.NG()); + ContosoPostCodeDK.InsertPostCode('9000-064', FUNCHALLbl, CreateCountryRegion.PT()); + ContosoPostCodeDK.InsertPostCode('9020', KlagenfurtLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('905 01', SenicaLbl, CreateCountryRegion.SK()); + ContosoPostCodeDK.InsertPostCode('9300', BloemfonteinLbl, CreateCountryRegion.ZA()); + ContosoPostCodeDK.InsertPostCode('930283', JOSPlateaustateLbl, CreateCountryRegion.NG()); + ContosoPostCodeDK.InsertPostCode('931104', GHOHPlateaustateLbl, CreateCountryRegion.NG()); + ContosoPostCodeDK.InsertPostCode('93450', KUCHINGSarawakLbl, CreateCountryRegion.MY()); + ContosoPostCodeDK.InsertPostCode('9500-101', PONTADELGADALbl, CreateCountryRegion.PT()); + ContosoPostCodeDK.InsertPostCode('985 01', KalinovoLbl, CreateCountryRegion.SK()); + ContosoPostCodeDK.InsertPostCode('9999', RosenstadtLbl, CreateCountryRegion.AT()); + ContosoPostCodeDK.InsertPostCode('AL 35242', BirminghamLbl, CreateCountryRegion.US()); + ContosoPostCodeDK.InsertPostCode('DSM', DarEsSalaamLbl, CreateCountryRegion.TZ()); + ContosoPostCodeDK.InsertPostCode('EBB', EntebbeLbl, CreateCountryRegion.UG()); + ContosoPostCodeDK.InsertPostCode('FL 37125', MiamiLbl, CreateCountryRegion.US()); + ContosoPostCodeDK.InsertPostCode('GA 31772', AtlantaLbl, CreateCountryRegion.US()); + ContosoPostCodeDK.InsertPostCode('H100', MbabaneLbl, CreateCountryRegion.SZ()); + ContosoPostCodeDK.InsertPostCode('H101', SwaziPlazaLbl, CreateCountryRegion.SZ()); + ContosoPostCodeDK.InsertPostCode('H108', PiggsPeakLbl, CreateCountryRegion.SZ()); + ContosoPostCodeDK.InsertPostCode('H200', ManziniLbl, CreateCountryRegion.SZ()); + ContosoPostCodeDK.InsertPostCode('IL 61236', ChicagoLbl, CreateCountryRegion.US()); + ContosoPostCodeDK.InsertPostCode('KLA', KampalaLbl, CreateCountryRegion.UG()); + ContosoPostCodeDK.InsertPostCode('L300', SitekiLbl, CreateCountryRegion.SZ()); + ContosoPostCodeDK.InsertPostCode('MB R0M 0N0', ElkhornLbl, CreateCountryRegion.CA()); + ContosoPostCodeDK.InsertPostCode('NY 11010', NewYorkLbl, CreateCountryRegion.US()); + ContosoPostCodeDK.InsertPostCode('ON L6J 3J3', OakvilleLbl, CreateCountryRegion.CA()); + ContosoPostCodeDK.InsertPostCode('ON M5E 1G5', TorontoLbl, CreateCountryRegion.CA()); + ContosoPostCodeDK.InsertPostCode('ON N6B 1V7', LondonLbl, CreateCountryRegion.CA()); + ContosoPostCodeDK.InsertPostCode('ON P7A 4K8', ThunderBayLbl, CreateCountryRegion.CA()); + ContosoPostCodeDK.InsertPostCode('ON P7B 5E2', ThunderBayLbl, CreateCountryRegion.CA()); + ContosoPostCodeDK.InsertPostCode('S400', NhlanganoLbl, CreateCountryRegion.SZ()); + ContosoPostCodeDK.InsertPostCode('SC 27136', ColombiaLbl, CreateCountryRegion.US()); + UpdatePostCodeCounty('FL 37125', MiamiLbl, 'FL'); + UpdatePostCodeCounty('GA 31772', AtlantaLbl, 'GA'); + end; + + local procedure UpdatePostCodeCounty(PostalCode: Code[20]; City: Text[30]; PostCodeCounty: Text[30]) + var + PostCode: Record "Post Code"; + begin + if not PostCode.Get(PostalCode, City) then + exit; + + PostCode.Validate(County, PostCodeCounty); + PostCode.Modify(true); + end; + + var + + NairobiLbl: Label 'Nairobi', MaxLength = 30; + KairiLbl: Label 'Kairi', MaxLength = 30; + PretoriaLbl: Label 'Pretoria', MaxLength = 30; + HelsinkiLbl: Label 'Helsinki', MaxLength = 30; + ROMARMLbl: Label 'ROMA RM', MaxLength = 30; + MaputoLbl: Label 'Maputo', MaxLength = 30; + MexicoCityDFLbl: Label 'Mexico City, DF', MaxLength = 30; + KlaukkalaLbl: Label 'Klaukkala', MaxLength = 30; + WarszawaLbl: Label 'Warszawa', MaxLength = 30; + DolnyKubinLbl: Label 'Dolny Kubin', MaxLength = 30; + AlicanteLbl: Label 'Alicante', MaxLength = 30; + SingaporeLbl: Label 'Singapore', MaxLength = 30; + BetliarLbl: Label 'Betliar', MaxLength = 30; + BucurestiLbl: Label 'Bucuresti', MaxLength = 30; + BARIKALbl: Label 'BARIKA', MaxLength = 30; + JokelaLbl: Label 'Jokela', MaxLength = 30; + SaoPauloSPLbl: Label 'Sao Paulo SP', MaxLength = 30; + OsloLbl: Label 'Oslo', MaxLength = 30; + AnkaraLbl: Label 'Ankara', MaxLength = 30; + PietersburgLbl: Label 'Pietersburg', MaxLength = 30; + PalmaMallorcaLbl: Label 'Palma Mallorca', MaxLength = 30; + BarcelonaLbl: Label 'Barcelona', MaxLength = 30; + LjubljanaLbl: Label 'Ljubljana', MaxLength = 30; + ManilaLbl: Label 'Manila', MaxLength = 30; + SofiaLbl: Label 'Sofia', MaxLength = 30; + ZagrebLbl: Label 'Zagreb', MaxLength = 30; + CaceresLbl: Label 'Caceres', MaxLength = 30; + AucklandLbl: Label 'Auckland', MaxLength = 30; + TunisBelvedereLbl: Label 'Tunis Belvedere', MaxLength = 30; + SantaCruzManilaLbl: Label 'Santa Cruz, Manila', MaxLength = 30; + AmsterdamLbl: Label 'Amsterdam', MaxLength = 30; + ReykjavikLbl: Label 'Reykjavik', MaxLength = 30; + WienLbl: Label 'Wien', MaxLength = 30; + AGDALRABATLbl: Label 'AGDAL-RABAT', MaxLength = 30; + TORINOTOLbl: Label 'TORINO TO', MaxLength = 30; + RIADRABATLbl: Label 'RIAD-RABAT', MaxLength = 30; + RigaLbl: Label 'Riga', MaxLength = 30; + TondoManilaLbl: Label 'Tondo, Manila', MaxLength = 30; + TallinnLbl: Label 'Tallinn', MaxLength = 30; + BangNaBangkokLbl: Label 'Bang Na, Bangkok', MaxLength = 30; + TunisLbl: Label 'Tunis', MaxLength = 30; + MoskvaLbl: Label 'Moskva', MaxLength = 30; + JakartaLbl: Label 'Jakarta', MaxLength = 30; + BangRakBangkokLbl: Label 'Bang Rak, Bangkok', MaxLength = 30; + LISBOALbl: Label 'LISBOA', MaxLength = 30; + KhlongSamwaBangkokLbl: Label 'Khlong Samwa, Bangkok', MaxLength = 30; + AthensLbl: Label 'Athens', MaxLength = 30; + BeogradLbl: Label 'Beograd', MaxLength = 30; + DelhiLbl: Label 'Delhi', MaxLength = 30; + BudapestLbl: Label 'Budapest', MaxLength = 30; + ZaghouanLbl: Label 'Zaghouan', MaxLength = 30; + CapriQuezonCityLbl: Label 'Capri, Quezon City', MaxLength = 30; + StockholmLbl: Label 'Stockholm', MaxLength = 30; + KorszeLbl: Label 'Korsze', MaxLength = 30; + TEMARALbl: Label 'TEMARA', MaxLength = 30; + SandvikaLbl: Label 'Sandvika', MaxLength = 30; + LysakerLbl: Label 'Lysaker', MaxLength = 30; + HaslumLbl: Label 'Haslum', MaxLength = 30; + AskerLbl: Label 'Asker', MaxLength = 30; + SkiLbl: Label 'Ski', MaxLength = 30; + ValenzuelaLbl: Label 'Valenzuela', MaxLength = 30; + OrnetaLbl: Label 'Orneta', MaxLength = 30; + TangerangLbl: Label 'Tangerang', MaxLength = 30; + ZaandamLbl: Label 'Zaandam', MaxLength = 30; + BialystokLbl: Label 'Bialystok', MaxLength = 30; + ALGIERSLbl: Label 'ALGIERS', MaxLength = 30; + WatSingChaiNatLbl: Label 'Wat Sing, Chai Nat', MaxLength = 30; + PiraeusLbl: Label 'Piraeus', MaxLength = 30; + HumbeekLbl: Label 'Humbeek', MaxLength = 30; + BorLbl: Label 'Bor', MaxLength = 30; + SanktPetersburgLbl: Label 'Sankt Petersburg', MaxLength = 30; + KopavogurLbl: Label 'Kopavogur', MaxLength = 30; + JohannesburgLbl: Label 'Johannesburg', MaxLength = 30; + MariborLbl: Label 'Maribor', MaxLength = 30; + SydneyNSWLbl: Label 'Sydney, NSW', MaxLength = 30; + CASABLANCALbl: Label 'CASABLANCA', MaxLength = 30; + DubrovnikLbl: Label 'Dubrovnik', MaxLength = 30; + CraiovaLbl: Label 'Craiova', MaxLength = 30; + HamburgLbl: Label 'Hamburg', MaxLength = 30; + MILANOMILbl: Label 'MILANO MI', MaxLength = 30; + AntwerpenLbl: Label 'Antwerpen', MaxLength = 30; + NarvaLbl: Label 'Narva', MaxLength = 30; + MOHAMMEDIALbl: Label 'MOHAMMEDIA', MaxLength = 30; + CopenhagenLbl: Label 'Copenhagen', MaxLength = 30; + MOSTAGANCULbl: Label 'MOSTAGANCU', MaxLength = 30; + NoviSadLbl: Label 'Novi Sad', MaxLength = 30; + SplitLbl: Label 'Split', MaxLength = 30; + HafnafjordurLbl: Label 'Hafnafjordur', MaxLength = 30; + HerentalsLbl: Label 'Herentals', MaxLength = 30; + SibenikLbl: Label 'Sibenik', MaxLength = 30; + RiodeJaneiroRJLbl: Label 'Rio de Janeiro RJ', MaxLength = 30; + Hamburg36Lbl: Label 'Hamburg 36', MaxLength = 30; + WrNeudorfLbl: Label 'Wr. Neudorf', MaxLength = 30; + SuboticaLbl: Label 'Subotica', MaxLength = 30; + HundsheimLbl: Label 'Hundsheim', MaxLength = 30; + CarletonvilleLbl: Label 'Carletonville', MaxLength = 30; + EsztergomLbl: Label 'Esztergom', MaxLength = 30; + KustendilLbl: Label 'Kustendil', MaxLength = 30; + WollongongNSWLbl: Label 'Wollongong, NSW', MaxLength = 30; + VilniusLbl: Label 'Vilnius', MaxLength = 30; + BlagoevgradLbl: Label 'Blagoevgrad', MaxLength = 30; + MechelenLbl: Label 'Mechelen', MaxLength = 30; + MadridLbl: Label 'Madrid', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + VedbaekLbl: Label 'Vedbaek', MaxLength = 30; + AkranesLbl: Label 'Akranes', MaxLength = 30; + KaunasLbl: Label 'Kaunas', MaxLength = 30; + LeuvenLbl: Label 'Leuven', MaxLength = 30; + MelbourneVICLbl: Label 'Melbourne, VIC', MaxLength = 30; + BENINEdostateLbl: Label 'BENIN, Edo state', MaxLength = 30; + COIMBRALbl: Label 'COIMBRA', MaxLength = 30; + HalmstadLbl: Label 'Halmstad', MaxLength = 30; + KairouanLbl: Label 'Kairouan', MaxLength = 30; + StPoltenLbl: Label 'St. Pölten', MaxLength = 30; + NonDindaengBuriRamLbl: Label 'Non Dindaeng, Buri Ram', MaxLength = 30; + GrobelnoLbl: Label 'Grobelno', MaxLength = 30; + TarnaleleszLbl: Label 'Tarnalelesz', MaxLength = 30; + DundagaLbl: Label 'Dundaga', MaxLength = 30; + NoszvajLbl: Label 'Noszvaj', MaxLength = 30; + KragujevacLbl: Label 'Kragujevac', MaxLength = 30; + DurbanLbl: Label 'Durban', MaxLength = 30; + PontevedraLbl: Label 'Pontevedra', MaxLength = 30; + DürnsteinLbl: Label 'Dürnstein ', MaxLength = 30; + SalamancaLbl: Label 'Salamanca', MaxLength = 30; + LeonGuanajuatoLbl: Label 'Leon, Guanajuato', MaxLength = 30; + BauskaLbl: Label 'Bauska', MaxLength = 30; + RichardsBayLbl: Label 'Richards Bay', MaxLength = 30; + BOLZANOBZLbl: Label 'BOLZANO BZ', MaxLength = 30; + BrisbaneQLDLbl: Label 'Brisbane, QLD', MaxLength = 30; + PlovdivLbl: Label 'Plovdiv', MaxLength = 30; + KHENCHELbl: Label 'KHENCHE', MaxLength = 30; + MumbaiLbl: Label 'Mumbai', MaxLength = 30; + PORTOLbl: Label 'PORTO', MaxLength = 30; + BandungLbl: Label 'Bandung', MaxLength = 30; + LinzLbl: Label 'Linz', MaxLength = 30; + DusseldorfLbl: Label 'Dusseldorf', MaxLength = 30; + SevillaLbl: Label 'Sevilla', MaxLength = 30; + PrattelnLbl: Label 'Pratteln', MaxLength = 30; + GoteborgLbl: Label 'Goteborg', MaxLength = 30; + PELABUHANKLANGSelangorLbl: Label 'PELABUHAN KLANG, Selangor', MaxLength = 30; + KonyaLbl: Label 'Konya', MaxLength = 30; + BjelovarLbl: Label 'Bjelovar', MaxLength = 30; + NagpurLbl: Label 'Nagpur', MaxLength = 30; + SamaraLbl: Label 'Samara', MaxLength = 30; + RakvereLbl: Label 'Rakvere', MaxLength = 30; + LACHAPELLEBASSEMERLbl: Label 'LA CHAPELLE BASSE MER', MaxLength = 30; + KranjLbl: Label 'Kranj', MaxLength = 30; + ManisaLbl: Label 'Manisa', MaxLength = 30; + TapaLbl: Label 'Tapa', MaxLength = 30; + OpoleLbl: Label 'Opole', MaxLength = 30; + KogeLbl: Label 'Koge', MaxLength = 30; + RudiskesLbl: Label 'Rudiskes', MaxLength = 30; + ValenciaLbl: Label 'Valencia', MaxLength = 30; + ValladolidLbl: Label 'Valladolid', MaxLength = 30; + PETALINGJAYASelangorLbl: Label 'PETALING JAYA, Selangor', MaxLength = 30; + GmundenLbl: Label 'Gmunden', MaxLength = 30; + MustveeLbl: Label 'Mustvee', MaxLength = 30; + AdungosiLbl: Label 'Adungosi', MaxLength = 30; + OdenseCLbl: Label 'Odense C', MaxLength = 30; + ZaragozaLbl: Label 'Zaragoza', MaxLength = 30; + OgreLbl: Label 'Ogre', MaxLength = 30; + BrasovLbl: Label 'Brasov', MaxLength = 30; + SanPaTongChiangMaiLbl: Label 'San Pa Tong, Chiang Mai', MaxLength = 30; + SalzburgLbl: Label 'Salzburg', MaxLength = 30; + AMPANGKualaLumpurLbl: Label 'AMPANG, Kuala Lumpur', MaxLength = 30; + CASSELLbl: Label 'CASSEL', MaxLength = 30; + RecifePELbl: Label 'Recife PE', MaxLength = 30; + KokneseLbl: Label 'Koknese', MaxLength = 30; + WaalwijkLbl: Label 'Waalwijk', MaxLength = 30; + KinnaredLbl: Label 'Kinnared', MaxLength = 30; + RovinjLbl: Label 'Rovinj', MaxLength = 30; + ThessalonikiLbl: Label 'Thessaloniki', MaxLength = 30; + WoodvilleLbl: Label 'Woodville', MaxLength = 30; + DannevirkeLbl: Label 'Dannevirke', MaxLength = 30; + JonkobingLbl: Label 'Jonkobing', MaxLength = 30; + SibiuLbl: Label 'Sibiu', MaxLength = 30; + BengaluruLbl: Label 'Bengaluru', MaxLength = 30; + KUALALUMPURLbl: Label 'KUALA LUMPUR', MaxLength = 30; + MittersillLbl: Label 'Mittersill', MaxLength = 30; + KlaipedaLbl: Label 'Klaipeda', MaxLength = 30; + NyborgLbl: Label 'Nyborg', MaxLength = 30; + LubinLbl: Label 'Lubin', MaxLength = 30; + MarsabitLbl: Label 'Marsabit', MaxLength = 30; + NorrkobingLbl: Label 'Norrkobing', MaxLength = 30; + KoperLbl: Label 'Koper', MaxLength = 30; + PortElizabethLbl: Label 'Port Elizabeth', MaxLength = 30; + ChennaiLbl: Label 'Chennai', MaxLength = 30; + WellingtonLbl: Label 'Wellington', MaxLength = 30; + LuzernLbl: Label 'Luzern', MaxLength = 30; + SurabayaLbl: Label 'Surabaya', MaxLength = 30; + InnsbruckLbl: Label 'Innsbruck', MaxLength = 30; + NizhnyNovgorodLbl: Label 'Nizhny Novgorod', MaxLength = 30; + FrankfurtMainLbl: Label 'Frankfurt/Main', MaxLength = 30; + SANTAVENERANDAPSLbl: Label 'SANTA VENERANDA PS', MaxLength = 30; + RotkreuzLbl: Label 'Rotkreuz', MaxLength = 30; + ImmenseeLbl: Label 'Immensee', MaxLength = 30; + MonterreyNuevoLeonLbl: Label 'Monterrey, Nuevo Leon', MaxLength = 30; + ZnojmoLbl: Label 'Znojmo', MaxLength = 30; + PESCINAAQLbl: Label 'PESCINA AQ', MaxLength = 30; + BlanskoLbl: Label 'Blansko', MaxLength = 30; + PerthWALbl: Label 'Perth, WA', MaxLength = 30; + ArnhemLbl: Label 'Arnhem', MaxLength = 30; + BojkoviceLbl: Label 'Bojkovice', MaxLength = 30; + BregenzLbl: Label 'Bregenz', MaxLength = 30; + VladivostokLbl: Label 'Vladivostok', MaxLength = 30; + VracovLbl: Label 'Vracov', MaxLength = 30; + KyjovLbl: Label 'Kyjov', MaxLength = 30; + EisenstadtLbl: Label 'Eisenstadt', MaxLength = 30; + ZamboangaCityLbl: Label 'Zamboanga City', MaxLength = 30; + KolkataLbl: Label 'Kolkata', MaxLength = 30; + BrasiliaDFLbl: Label 'Brasilia DF', MaxLength = 30; + MurdunnaTASLbl: Label 'Murdunna, TAS', MaxLength = 30; + ZutphenLbl: Label 'Zutphen', MaxLength = 30; + EningenLbl: Label 'Eningen', MaxLength = 30; + ChaniaLbl: Label 'Chania', MaxLength = 30; + ApeldoornLbl: Label 'Apeldoorn', MaxLength = 30; + PARISLbl: Label 'PARIS', MaxLength = 30; + PaldiskiLbl: Label 'Paldiski', MaxLength = 30; + ESBLYLbl: Label 'ESBLY', MaxLength = 30; + OlomouchLbl: Label 'Olomouch', MaxLength = 30; + SanLuisPotosiSanLuisLbl: Label 'San Luis Potosi, San Luis', MaxLength = 30; + PLAISIRLbl: Label 'PLAISIR', MaxLength = 30; + HokitikaLbl: Label 'Hokitika', MaxLength = 30; + MombasaLbl: Label 'Mombasa', MaxLength = 30; + MalindiLbl: Label 'Malindi', MaxLength = 30; + ArhusCLbl: Label 'Arhus C', MaxLength = 30; + CapeTownLbl: Label 'Cape Town', MaxLength = 30; + ChristchurchLbl: Label 'Christchurch', MaxLength = 30; + CuritibaPRLbl: Label 'Curitiba PR', MaxLength = 30; + IstanbulLbl: Label 'Istanbul', MaxLength = 30; + GrazLbl: Label 'Graz', MaxLength = 30; + MunchenLbl: Label 'Munchen', MaxLength = 30; + AinDrahamLbl: Label 'Ain Draham', MaxLength = 30; + BratislavaLbl: Label 'Bratislava', MaxLength = 30; + KartalIstanbulLbl: Label 'Kartal-Istanbul', MaxLength = 30; + GlattbruggLbl: Label 'Glattbrugg', MaxLength = 30; + BouSalemLbl: Label 'Bou Salem', MaxLength = 30; + TuzlaIstanbulLbl: Label 'Tuzla-Istanbul', MaxLength = 30; + ArhusNLbl: Label 'Arhus N', MaxLength = 30; + SchaffhausenLbl: Label 'Schaffhausen', MaxLength = 30; + MazatlanSinaloaLbl: Label 'Mazatlan, Sinaloa', MaxLength = 30; + BlancaLbl: Label 'Blanca', MaxLength = 30; + LALONDELESMAURESLbl: Label 'LA LONDE LES MAURES', MaxLength = 30; + KortrijkLbl: Label 'Kortrijk', MaxLength = 30; + KolymbiaLbl: Label 'Kolymbia', MaxLength = 30; + SundsvallLbl: Label 'Sundsvall', MaxLength = 30; + LandsbergamLechLbl: Label 'Landsberg am Lech', MaxLength = 30; + ElhovoLbl: Label 'Elhovo', MaxLength = 30; + KOTAKINABALUSabahLbl: Label 'KOTA KINABALU, Sabah', MaxLength = 30; + MurauLbl: Label 'Murau', MaxLength = 30; + KuhmoLbl: Label 'Kuhmo', MaxLength = 30; + AlborgLbl: Label 'Alborg', MaxLength = 30; + VarnaLbl: Label 'Varna', MaxLength = 30; + KASBAHTANGERLbl: Label 'KASBAH TANGER', MaxLength = 30; + ABUJALbl: Label 'ABUJA', MaxLength = 30; + FUNCHALLbl: Label 'FUNCHAL', MaxLength = 30; + KlagenfurtLbl: Label 'Klagenfurt', MaxLength = 30; + SenicaLbl: Label 'Senica', MaxLength = 30; + BloemfonteinLbl: Label 'Bloemfontein', MaxLength = 30; + JOSPlateaustateLbl: Label 'JOS, Plateau state', MaxLength = 30; + GHOHPlateaustateLbl: Label 'GHOH, Plateau state', MaxLength = 30; + KUCHINGSarawakLbl: Label 'KUCHING, Sarawak', MaxLength = 30; + PONTADELGADALbl: Label 'PONTA DELGADA', MaxLength = 30; + KalinovoLbl: Label 'Kalinovo', MaxLength = 30; + RosenstadtLbl: Label 'Rosenstadt', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + DarEsSalaamLbl: Label 'Dar Es Salaam', MaxLength = 30; + EntebbeLbl: Label 'Entebbe', MaxLength = 30; + MiamiLbl: Label 'Miami', MaxLength = 30; + AtlantaLbl: Label 'Atlanta', MaxLength = 30; + MbabaneLbl: Label 'Mbabane', MaxLength = 30; + SwaziPlazaLbl: Label 'Swazi Plaza', MaxLength = 30; + PiggsPeakLbl: Label 'Piggs Peak', MaxLength = 30; + ManziniLbl: Label 'Manzini', MaxLength = 30; + ChicagoLbl: Label 'Chicago', MaxLength = 30; + KampalaLbl: Label 'Kampala', MaxLength = 30; + SitekiLbl: Label 'Siteki', MaxLength = 30; + ElkhornLbl: Label 'Elkhorn', MaxLength = 30; + NewYorkLbl: Label 'New York', MaxLength = 30; + OakvilleLbl: Label 'Oakville', MaxLength = 30; + TorontoLbl: Label 'Toronto', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + ThunderBayLbl: Label 'Thunder Bay', MaxLength = 30; + NhlanganoLbl: Label 'Nhlangano', MaxLength = 30; + ColombiaLbl: Label 'Colombia', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeAT.Codeunit.al new file mode 100644 index 0000000000..4567551a5a --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeAT.Codeunit.al @@ -0,0 +1,70 @@ +codeunit 11184 "Create Employee AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployeeEmail(CreateEmployee.ManagingDirector()); + UpdateEmployeeEmail(CreateEmployee.SalesManager()); + UpdateEmployeeEmail(CreateEmployee.Designer()); + UpdateEmployeeEmail(CreateEmployee.ProductionAssistant()); + UpdateEmployeeEmail(CreateEmployee.ProductionManager()); + UpdateEmployeeEmail(CreateEmployee.Secretary()); + UpdateEmployeeEmail(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployeeEmail(EmployeeNo: Code[20]) + var + Employee: Record Employee; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Modify(true) + end; + + [EventSubscriber(ObjectType::Table, Database::Employee, 'OnBeforeOnInsert', '', false, false)] + local procedure OnBeforeInsertEmployee(var Employee: Record Employee) + var + CreateEmployee: Codeunit "Create Employee"; + begin + case Employee."No." of + CreateEmployee.ManagingDirector(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.SalesManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Designer(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionAssistant(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Secretary(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.InventoryManager(): + begin + Employee.Validate("Job Title", ProductionAssistantLbl); + ValidateEmployee(Employee, '', '', ''); + end; + end; + end; + + local procedure ValidateEmployee(var Employee: Record Employee; UnionCode: Code[10]; EmploymentContractCode: Code[10]; StatisticsGroupCode: Code[10]) + begin + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Emplymt. Contract Code", EmploymentContractCode); + Employee.Validate("Statistics Group Code", StatisticsGroupCode); + Employee.Validate("Union Code", UnionCode); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeTemplateAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeTemplateAT.Codeunit.al new file mode 100644 index 0000000000..737a9c65b8 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeTemplateAT.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 11155 "CreateEmployee Template AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Employee Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertEmployeeTemplate(var Rec: Record "Employee Templ.") + var + CreateEmployeeTemplate: Codeunit "Create Employee Template"; + begin + case Rec.Code of + CreateEmployeeTemplate.AdminCode(), CreateEmployeeTemplate.ITCode(): + Rec.Validate("Employee Posting Group", ''); + end; + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/1.Setup Data/CreateInvPostingSetupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/1.Setup Data/CreateInvPostingSetupAT.Codeunit.al new file mode 100644 index 0000000000..511dfe7fe0 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/1.Setup Data/CreateInvPostingSetupAT.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 11163 "Create Inv. Posting Setup AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInvPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateATGLAccount: Codeunit "Create AT GL Account"; + begin + case Rec."Invt. Posting Group Code" of + CreateInvPostingGroup.Resale(): + ValidateRecordFields(Rec, CreateATGLAccount.SupplyTradeGoods(), CreateATGLAccount.SupplyTradeGoodsInterim()); + end; + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/1.Setup Data/CreateLocationAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/1.Setup Data/CreateLocationAT.Codeunit.al new file mode 100644 index 0000000000..2652af8c2a --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/1.Setup Data/CreateLocationAT.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 11167 "Create Location AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocation: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocation.EastLocation(): + ValidateLocation(Rec, EastLocationAddressLbl, LocationCityLbl, EastLocationContactLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.MainLocation(): + ValidateLocation(Rec, MainLocationAddressLbl, LocationCityLbl, MainLocationContactLbl, MainLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.WestLocation(): + ValidateLocation(Rec, WestLocationAddressLbl, LocationCityLbl, WestLocationContactLbl, WestLocationPostCodeLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateLocation(var Location: Record Location; Address: Text[100]; City: Text[30]; Contact: Text[100]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + Location.Validate(Address, Address); + Location.Validate("Address 2", ''); + Location.Validate("Post Code", PostCode); + Location.Validate(City, City); + Location.Validate(Contact, Contact); + Location."Country/Region Code" := CountryRegionCode; + end; + + var + EastLocationAddressLbl: Label 'Main Liverpool Street, 5', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label 'Main Bristol Street, 10', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label 'South East Street, 3', MaxLength = 100, Locked = true; + LocationCityLbl: Label 'Wien', MaxLength = 30; + EastLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + MainLocationContactLbl: Label 'Jeanne Bosworth', MaxLength = 100; + WestLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; + EastLocationPostCodeLbl: Label '1100', MaxLength = 20; + MainLocationPostCodeLbl: Label '1010', MaxLength = 20; + WestLocationPostCodeLbl: Label '1230', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemAT.Codeunit.al new file mode 100644 index 0000000000..88b2720730 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemAT.Codeunit.al @@ -0,0 +1,65 @@ +codeunit 11164 "Create Item AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateVatPostingGrpAT: Codeunit "Create VAT Posting Group AT"; + begin + + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1005.8, 784.6, CreateVatPostingGrpAT.VAT20()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpAT.VAT20()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 435.8, 339.9, CreateVatPostingGrpAT.VAT20()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpAT.VAT20()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 651.1, 508, CreateVatPostingGrpAT.VAT20()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 189.8, 0, CreateVatPostingGrpAT.VAT20()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 55.2, 43.1, CreateVatPostingGrpAT.VAT20()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 235, 0, CreateVatPostingGrpAT.VAT20()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpAT.VAT20()); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 126.4, 0, CreateVatPostingGrpAT.VAT20()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpAT.VAT20()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpAT.VAT20()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 235, 0, CreateVatPostingGrpAT.VAT20()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpAT.VAT20()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 343.5, 0, CreateVatPostingGrpAT.VAT20()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpAT.VAT20()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpAT.VAT20()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpAT.VAT20()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1404.3, 1095.3, CreateVatPostingGrpAT.VAT20()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpAT.VAT20()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VatProdPostingGrp: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemChargeAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemChargeAT.Codeunit.al new file mode 100644 index 0000000000..f28c8a64a9 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemChargeAT.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 11165 "Create Item Charge AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItemCharge(var Rec: Record "Item Charge") + var + CreateVatPostingGrpAT: Codeunit "Create VAT Posting Group AT"; + CreateItemCharge: Codeunit "Create Item Charge"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), CreateItemCharge.PurchAllowance(), CreateItemCharge.PurchFreight(), CreateItemCharge.PurchRestock(), CreateItemCharge.SaleAllowance(), CreateItemCharge.SaleFreight(), CreateItemCharge.SaleRestock(): + Rec.Validate("VAT Prod. Posting Group", CreateVatPostingGrpAT.VAT20()); + end; + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemTemplateAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemTemplateAT.Codeunit.al new file mode 100644 index 0000000000..40742988dc --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Inventory/2. Master Data/CreateItemTemplateAT.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11166 "Create Item Template AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVatPostingGrp: Codeunit "Create VAT Posting Group AT"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateVatPostingGrp.VAT20()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateVatPostingGrp.VAT20()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/1. Setup Data/CreatePurchPayableSetupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/1. Setup Data/CreatePurchPayableSetupAT.Codeunit.al new file mode 100644 index 0000000000..8b2aaed62a --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/1. Setup Data/CreatePurchPayableSetupAT.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11168 "Create Purch. Payable Setup AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateNoSeriesAT: Codeunit "Create No. Series AT"; + begin + UpdatePurchasePayableSetup(CreateNoSeriesAT.PurchaseDeliveryReminder(), CreateNoSeriesAT.PurchaseIssueDeliveryReminder()); + end; + + local procedure UpdatePurchasePayableSetup(DeliveryReminderNos: Code[20]; IssuedDeliveryReminderNos: Code[20]) + var + PurchPayableSetup: Record "Purchases & Payables Setup"; + begin + if PurchPayableSetup.Get() then begin + PurchPayableSetup.Validate("Delivery Reminder Nos.", DeliveryReminderNos); + PurchPayableSetup.Validate("Issued Delivery Reminder Nos.", IssuedDeliveryReminderNos); + PurchPayableSetup.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpAT.Codeunit.al new file mode 100644 index 0000000000..a93b7bf3af --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpAT.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 11169 "Create Vendor Posting Grp AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGrp(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGrp: Codeunit "Create Vendor Posting Group"; + CreateATGLAccount: Codeunit "Create AT GL Account"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateVendorPostingGrp.Domestic(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsDomestic(), CreateATGLAccount.OtherOperationalExpenditure(), '', CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), '', CreateATGLAccount.PmtTolReceivedDecreasesCorrection(), CreateGLAccount.PaymentToleranceReceived()); + CreateVendorPostingGrp.EU(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsForeign(), CreateATGLAccount.OtherOperationalExpenditure(), '', CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), '', CreateATGLAccount.PmtTolReceivedDecreasesCorrection(), CreateGLAccount.PaymentToleranceReceived()); + CreateVendorPostingGrp.Foreign(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsForeign(), CreateATGLAccount.OtherOperationalExpenditure(), '', CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), '', CreateATGLAccount.PmtTolReceivedDecreasesCorrection(), CreateGLAccount.PaymentToleranceReceived()); + end; + end; + + local procedure ValidateVendorPostingGroup(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueAT.Codeunit.al new file mode 100644 index 0000000000..5a55379386 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueAT.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11170 "Create Purch. Dim. Value AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreateVendorAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreateVendorAT.Codeunit.al new file mode 100644 index 0000000000..ef8c278db0 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreateVendorAT.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 11171 "Create Vendor AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateVendorRecordFields(Rec, ExportFabrikamVatRegLbl, PostCodeGA31772Lbl, 'GA'); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, InnsbruckCityLbl, '', '', DomesticFirstUpVatRegLbl, '', PostCode6020Lbl); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, EningenCityLbl, '', CreateCountryRegion.DE(), EUGraphicDesignVatRegLbl, '', PostCode72800Lbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, EisenstadtCityLbl, '', '', DomesticWorldImporterVatRegLbl, '', PostCode7000Lbl); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, WienCityLbl, '', '', DomesticNodPublisherVatRegLbl, '', PostCode1010Lbl); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; TerritoryCode: Code[10]; CountryRegionCode: Code[10]; VatRegNo: Text[20]; County: Text[30]; PostCode: Code[20]) + begin + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate(City, City); + Vendor.Validate(County, County); + Vendor."Country/Region Code" := CountryRegionCode; + if CountryRegionCode = '' then + Vendor."VAT Registration No." := VatRegNo + else + Vendor.Validate("VAT Registration No.", VatRegNo); + + end; + + local procedure ValidateVendorRecordFields(var Vendor: Record Vendor; VatRegNo: Text[20]; PostCode: Code[20]; County: Text[30]) + begin + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate(County, County); + end; + + var + InnsbruckCityLbl: Label 'Innsbruck', MaxLength = 30, Locked = true; + EisenstadtCityLbl: Label 'Eisenstadt', MaxLength = 30, Locked = true; + EningenCityLbl: Label 'Eningen', MaxLength = 30, Locked = true; + WienCityLbl: Label 'Wien', MaxLength = 30, Locked = true; + ExportFabrikamVatRegLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVatRegLbl: Label 'XATU27486327', MaxLength = 20; + EUGraphicDesignVatRegLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVatRegLbl: Label 'XATU19754876', MaxLength = 20; + DomesticNodPublisherVatRegLbl: Label 'XATU29526749', MaxLength = 20; + PostCodeGA31772Lbl: Label 'GA 31772', MaxLength = 20; + PostCode6020Lbl: Label '6020', MaxLength = 20; + PostCode72800Lbl: Label '72800', MaxLength = 20; + PostCode7000Lbl: Label '7000', MaxLength = 20; + PostCode1010Lbl: Label '1010', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreateVendorTemplateAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreateVendorTemplateAT.Codeunit.al new file mode 100644 index 0000000000..1f85d88e2a --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/2. Master Data/CreateVendorTemplateAT.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 11172 "Create Vendor Template AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorTemplate(var Rec: Record "Vendor Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendorTemplate: Codeunit "Create Vendor Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateVendorTemplate.VendorCompany(), + CreateVendorTemplate.VendorPerson(): + ValidateRecordFields(Rec, ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; + + local procedure ValidateRecordFields(var VendorTempl: Record "Vendor Templ."; CountryRegionCode: Code[10]) + begin + VendorTempl.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/3. Transaction Data/CreatePurchaseDocumentAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/3. Transaction Data/CreatePurchaseDocumentAT.Codeunit.al new file mode 100644 index 0000000000..740b0e7094 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Purchase/3. Transaction Data/CreatePurchaseDocumentAT.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11153 "Create Purchase Document AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdatePurchaseLine(); + end; + + local procedure UpdatePurchaseLine() + var + PurchaseLine: Record "Purchase Line"; + Resource: Record Resource; + begin + PurchaseLine.SetRange(Type, PurchaseLine.Type::Resource); + if PurchaseLine.FindSet() then + repeat + Resource.Get(PurchaseLine."No."); + PurchaseLine.Validate("Direct Unit Cost", Resource."Direct Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateCustPostingGrpAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateCustPostingGrpAT.Codeunit.al new file mode 100644 index 0000000000..283426eb9a --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateCustPostingGrpAT.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 11173 "Create Cust. Posting Grp AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerPostingGrp(var Rec: Record "Customer Posting Group") + var + CreateATGLAccount: Codeunit "Create AT GL Account"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateCustomerPostingGrp: Codeunit "Create Customer Posting Group"; + begin + case Rec.Code of + CreateCustomerPostingGrp.Domestic(): + ValidateCustomerPostingGroup(Rec, CreateATGLAccount.TradeReceivablesDomestic(), CreateATGLAccount.ServiceCharges(), CreateATGLAccount.CashDiscountPaid(), CreateGLAccount.InvoiceRounding(), CreateATGLAccount.IncomeFromDefaultInterestAndExpenses(), CreateATGLAccount.IncomeFromDefaultInterestAndExpenses(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateATGLAccount.CashDiscountPaidAdjustment(), CreateGLAccount.PaymentToleranceGranted(), CreateATGLAccount.PmtTolGrantedDecreasesCorrection()); + CreateCustomerPostingGrp.EU(): + ValidateCustomerPostingGroup(Rec, CreateATGLAccount.TradeReceivablesForeign(), CreateATGLAccount.ServiceCharges(), CreateATGLAccount.CashDiscountPaid(), CreateGLAccount.InvoiceRounding(), CreateATGLAccount.IncomeFromDefaultInterestAndExpenses(), CreateATGLAccount.IncomeFromDefaultInterestAndExpenses(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateATGLAccount.CashDiscountPaidAdjustment(), CreateGLAccount.PaymentToleranceGranted(), CreateATGLAccount.PmtTolGrantedDecreasesCorrection()); + CreateCustomerPostingGrp.Foreign(): + ValidateCustomerPostingGroup(Rec, CreateATGLAccount.TradeReceivablesForeign(), CreateATGLAccount.ServiceCharges(), CreateATGLAccount.CashDiscountPaid(), CreateGLAccount.InvoiceRounding(), CreateATGLAccount.IncomeFromDefaultInterestAndExpenses(), CreateATGLAccount.IncomeFromDefaultInterestAndExpenses(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateATGLAccount.CashDiscountPaidAdjustment(), CreateGLAccount.PaymentToleranceGranted(), CreateATGLAccount.PmtTolGrantedDecreasesCorrection()); + end; + end; + + local procedure ValidateCustomerPostingGroup(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateReminderLevelAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateReminderLevelAT.Codeunit.al new file mode 100644 index 0000000000..69fd95800b --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateReminderLevelAT.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11174 "Create Reminder Level AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + Rec.Validate("Additional Fee (LCY)", 7.8); + 2: + Rec.Validate("Additional Fee (LCY)", 15.6); + 3: + Rec.Validate("Additional Fee (LCY)", 23.2); + end; + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateReminderSetupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateReminderSetupAT.Codeunit.al new file mode 100644 index 0000000000..e1ec3fd489 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/1. Setup Data/CreateReminderSetupAT.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 11179 "CreateReminder Setup AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertReminderSetup(ReminderCode(), ActionGroupCode(), DescriptionLbl); + end; + + local procedure InsertReminderSetup(Code: Code[50]; ActionGroup: Code[50]; Description: Text[50]) + var + CreateReminderSetup: Record "Create Reminders Setup"; + begin + CreateReminderSetup.init(); + CreateReminderSetup.Validate(Code, Code); + CreateReminderSetup.Validate("Action Group Code", ActionGroup); + CreateReminderSetup.Validate(Description, Description); + CreateReminderSetup.Insert(true); + end; + + procedure ReminderCode(): Code[50] + begin + exit(ReminderCodeTok); + end; + + procedure ActionGroupCode(): Code[50] + begin + exit(ActionGroupCodeTok); + end; + + var + ReminderCodeTok: Label 'Defualt', MaxLength = 50; + ActionGroupCodeTok: Label 'CREATE REMINDERS', MaxLength = 50; + DescriptionLbl: Label 'Default setup', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateCustomerAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateCustomerAT.Codeunit.al new file mode 100644 index 0000000000..b919bbd183 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateCustomerAT.Codeunit.al @@ -0,0 +1,73 @@ +codeunit 11175 "Create Customer AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //TODO -Hard coded values pending to replace - Post Code,Vat Registration No + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsert', '', false, false)] + local procedure OnBeforeInsertCustomer(var Customer: Record Customer) + var + CreateLanguage: Codeunit "Create Language"; + CreateCustomer: Codeunit "Create Customer"; + begin + case Customer."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateCustomer(Customer, CreateLanguage.DEA(), '', PostCode1230Lbl, DomesticAdatumCorporationVatRegLbl, DomesticAdatumCorporationCityLbl); + CreateCustomer.DomesticTreyResearch(): + ValidateCustomer(Customer, CreateLanguage.DEA(), '', PostCode3601Lbl, DomesticTreyResearchVatRegLbl, DomesticTreyResearchCityLbl); + CreateCustomer.DomesticRelecloud(): + ValidateCustomer(Customer, CreateLanguage.DEA(), '', PostCode5020Lbl, DomesticRelecloudVatRegLbl, DomesticRelecloudCityLbl); + + CreateCustomer.ExportSchoolofArt(): + ValidateCustomerFields(Customer, CreateLanguage.ENU(), PostCodeFL37125Lbl, ExportSchoolofArtVatRegLbl, ExportSchoolofArtCityLbl, 'FL'); + CreateCustomer.EUAlpineSkiHouse(): + begin + ValidateCustomerFields(Customer, CreateLanguage.DEU(), PostCode80807Lbl, EUAlpineSkiHouseVatRegLbl, EUAlpineSkiHouseCityLbl, ''); + Customer.Validate("Territory Code", ''); + end; + end; + end; + + local procedure ValidateCustomer(var Customer: Record Customer; LanguageCode: Code[10]; CountryRegionCode: Code[10]; PostCode: Code[20]; VatRegistraionNo: Text[20]; City: Text[30]) + begin + Customer.Validate("Post Code", PostCode); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate(City, City); + Customer."Country/Region Code" := CountryRegionCode; + + if CountryRegionCode <> '' then + Customer.Validate("VAT Registration No.", VatRegistraionNo) + else + Customer."VAT Registration No." := VatRegistraionNo; + end; + + local procedure ValidateCustomerFields(var Customer: Record Customer; LanguageCode: Code[10]; PostCode: Code[20]; VatRegistraionNo: Text[20]; City: Text[30]; CustomerCounty: Text[30]) + begin + Customer.Validate("Post Code", PostCode); + Customer.Validate("Language Code", LanguageCode); + Customer."VAT Registration No." := VatRegistraionNo; + Customer.Validate(City, City); + Customer.Validate(County, CustomerCounty); + end; + + var + DomesticAdatumCorporationCityLbl: Label 'Wien', MaxLength = 30; + DomesticTreyResearchCityLbl: Label 'Dürnstein', MaxLength = 30; + ExportSchoolofArtCityLbl: Label 'Miami', MaxLength = 30; + EUAlpineSkiHouseCityLbl: Label 'Munchen', MaxLength = 30; + DomesticRelecloudCityLbl: Label 'Salzburg', MaxLength = 30; + DomesticAdatumCorporationVatRegLbl: Label 'XATU78945627', MaxLength = 20; + DomesticTreyResearchVatRegLbl: Label 'XATU25468745', MaxLength = 20; + ExportSchoolofArtVatRegLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegLbl: Label '533435789', MaxLength = 20; + DomesticRelecloudVatRegLbl: Label 'XATU58204893', MaxLength = 20; + PostCode1230Lbl: Label '1230', MaxLength = 20; + PostCode3601Lbl: Label '3601', MaxLength = 20; + PostCodeFL37125Lbl: Label 'FL 37125', MaxLength = 20; + PostCode80807Lbl: Label '80807', MaxLength = 20; + PostCode5020Lbl: Label '5020', MaxLength = 20; + +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateCustomerTemplateAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateCustomerTemplateAT.Codeunit.al new file mode 100644 index 0000000000..ffb071d407 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateCustomerTemplateAT.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11176 "Create Customer Template AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerTemplate(var Rec: Record "Customer Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomerTemplate: Codeunit "Create Customer Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(), CreateCustomerTemplate.CustomerPerson(): + Rec.Validate("Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateSalesDimValueAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateSalesDimValueAT.Codeunit.al new file mode 100644 index 0000000000..07ddf423bc --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateSalesDimValueAT.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 11177 "Create Sales Dim Value AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateShipToAddressAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateShipToAddressAT.Codeunit.al new file mode 100644 index 0000000000..f87e0608aa --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Data/Sale/2. Master Data/CreateShipToAddressAT.Codeunit.al @@ -0,0 +1,69 @@ +codeunit 11178 "Create Ship-to Address AT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //TODO: PostCode Later to be replaced from Labels + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + Cheltenham(): + ValidateShiptoAddress(Rec, WienCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCodeWienLbl); + London(): + ValidateShiptoAddress(Rec, SalzburgCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", SalzburgPostCodeLbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + Fleet(), TWYCross(): + ValidateShiptoAddress(Rec, WienCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", WienPostCodeLbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; CountryRegionCode: Code[10]; PostCode: Code[20]) + begin + ShiptoAddress.Validate("Post Code", PostCode); + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + end; + + procedure Cheltenham(): Code[10] + begin + exit(CheltenhamTok); + end; + + procedure London(): Code[10] + begin + exit(LondonTok); + end; + + procedure Fleet(): Code[10] + begin + exit(FleetTok); + end; + + procedure TWYCross(): Code[10] + begin + exit(TWYCrossTok); + end; + + var + CheltenhamTok: Label 'CHELTENHAM', MaxLength = 10; + LondonTok: Label 'LONDON', MaxLength = 10; + FleetTok: Label 'FLEET', MaxLength = 10; + TWYCrossTok: Label 'TWYCROSS', MaxLength = 10; + WienCityLbl: Label 'Wien', MaxLength = 30; + SalzburgCityLbl: Label 'Salzburg', MaxLength = 30; + SalzburgPostCodeLbl: Label '5020', MaxLength = 20; + PostCodeWienLbl: Label '1230', MaxLength = 20; + WienPostCodeLbl: Label '1010', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Codeunits/CommonModuleAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/CommonModuleAT.Codeunit.al similarity index 100% rename from Apps/AT/ContosoCoffeeDemoDatasetAT/app/Codeunits/CommonModuleAT.Codeunit.al rename to Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/CommonModuleAT.Codeunit.al diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/Contoso Helpers/ContosoPostCodeAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/Contoso Helpers/ContosoPostCodeAT.Codeunit.al new file mode 100644 index 0000000000..c6eb272a87 --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/Contoso Helpers/ContosoPostCodeAT.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11244 "Contoso Post Code AT" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/Contoso Helpers/ContosoVatStatmentES.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/Contoso Helpers/ContosoVatStatmentES.Codeunit.al new file mode 100644 index 0000000000..fe3dd6bffa --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/Contoso Helpers/ContosoVatStatmentES.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 11146 "Contoso Vat Statment ES" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "VAT Statement Name" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVATStatementName(TemplateName: Code[10]; StatementName: Code[10]; StatementDesc: Text[100]) + var + VATStatementName: Record "VAT Statement Name"; + Exists: Boolean; + begin + if VATStatementName.Get(TemplateName, StatementName) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATStatementName.Validate("Statement Template Name", TemplateName); + VATStatementName.Validate(Name, StatementName); + VATStatementName.Validate(Description, StatementDesc); + + if Exists then + VATStatementName.Modify(true) + else + VATStatementName.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/ContosoATLocalization.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/ContosoATLocalization.Codeunit.al new file mode 100644 index 0000000000..dc8f40f55a --- /dev/null +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/ContosoATLocalization.Codeunit.al @@ -0,0 +1,273 @@ +codeunit 11157 "Contoso AT Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResource(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure HumanResource(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Employee AT"); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information AT"); + Codeunit.Run(Codeunit::"Create No. Series AT"); + Codeunit.Run(Codeunit::"Create Post Code AT"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupAT: Codeunit "Create VAT Posting Group AT"; + CreatePostingGroupsAT: Codeunit "Create Posting Groups AT"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create VAT Posting Group AT"); + Codeunit.Run(Codeunit::"Create Posting Groups AT"); + Codeunit.Run(Codeunit::"Create AT GL Account"); + CreateVatPostingGroupAT.CreateVATPostingSetup(); + CreatePostingGroupsAT.UpdateGenPostingSetup(); + Codeunit.Run(Codeunit::"Create Currency AT"); + Codeunit.Run(Codeunit::"Create General Ledger Setup AT"); + Codeunit.Run(Codeunit::"Create Vat Report Setup AT"); + Codeunit.Run(Codeunit::"Create Vat Setup Post Grp AT"); + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Currency Ex. Rate AT"); + Codeunit.Run(Codeunit::"Create Resource AT"); + Codeunit.Run(Codeunit::"Create VAT Template AT"); + Codeunit.Run(Codeunit::"Create VAT Statement NameAT"); + Codeunit.Run(Codeunit::"Create VAT Statement Line AT"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Bank ExpImport Setup AT"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Bank Acc. Reco. AT"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Purch. Payable Setup AT"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Purchase Document AT"); + + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Item Template AT"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateResourceAT: Codeunit "Create Resource AT"; + CreateCurrencyExcRate: Codeunit "Create Currency Ex. Rate AT"; + CreateAccScheduleLineAT: Codeunit "Create Acc. Schedule Line AT"; + CreateBankAccPostingGrpAT: Codeunit "Create Bank Acc Posting Grp AT"; + CreateBankAccountAT: Codeunit "Create Bank Account AT"; + CreateBankAccRecoAT: Codeunit "Create Bank Acc. Reco. AT"; + CreateFAPostingGrpAT: Codeunit "Create FA Posting Grp. AT"; + CreateInvPostingSetupAT: Codeunit "Create Inv. Posting Setup AT"; + CreateItemAT: Codeunit "Create Item AT"; + CreateItemChargeAT: Codeunit "Create Item Charge AT"; + CreateLoactionAT: Codeunit "Create Location AT"; + CreateVendorPostingGrpAT: Codeunit "Create Vendor Posting Grp AT"; + CreatePurchDimValueAT: Codeunit "Create Purch. Dim. Value AT"; + CreateVendorAT: Codeunit "Create Vendor AT"; + CreateVendorTemplateAT: Codeunit "Create Vendor Template AT"; + CreateCustPostingGrpAT: Codeunit "Create Cust. Posting Grp AT"; + CreateReminderLevelAT: Codeunit "Create Reminder Level AT"; + CreateCustomerAT: Codeunit "Create Customer AT"; + CreateCustomerTemplateAT: Codeunit "Create Customer Template AT"; + CreateSalesDimValueAT: Codeunit "Create Sales Dim Value AT"; + CreateShiptoAddressAT: Codeunit "Create Ship-to Address AT"; + CreatePaymentTermAT: Codeunit "Create Payment Term AT"; + CreateEmployeeAT: Codeunit "Create Employee AT"; + CreateNoSeriesAT: Codeunit "Create No. Series AT"; + CreateVATTemplateAT: Codeunit "Create VAT Template AT"; + CreateEmployeeTemplateAT: Codeunit "CreateEmployee Template AT"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + BindSubscription(CreatePaymentTermAT); + BindSubscription(CreateNoSeriesAT); + end; + + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateResourceAT); + BindSubscription(CreateCurrencyExcRate); + BindSubscription(CreateAccScheduleLineAT); + BindSubscription(CreateVATTemplateAT); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccPostingGrpAT); + BindSubscription(CreateBankAccountAT); + BindSubscription(CreateBankAccRecoAT); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateFAPostingGrpAT); + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateInvPostingSetupAT); + BindSubscription(CreateItemAT); + BindSubscription(CreateItemChargeAT); + BindSubscription(CreateLoactionAT); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorPostingGrpAT); + BindSubscription(CreatePurchDimValueAT); + BindSubscription(CreateVendorAT); + BindSubscription(CreateVendorTemplateAT); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustPostingGrpAT); + BindSubscription(CreateReminderLevelAT); + BindSubscription(CreateCustomerAT); + BindSubscription(CreateCustomerTemplateAT); + BindSubscription(CreateSalesDimValueAT); + BindSubscription(CreateShiptoAddressAT); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + begin + BindSubscription(CreateEmployeeAT); + BindSubscription(CreateEmployeeTemplateAT); + end; + end; + end; + + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateResourceAT: Codeunit "Create Resource AT"; + CreateCurrencyExcRate: Codeunit "Create Currency Ex. Rate AT"; + CreateAccScheduleLineAT: Codeunit "Create Acc. Schedule Line AT"; + CreateBankAccPostingGrpAT: Codeunit "Create Bank Acc Posting Grp AT"; + CreateBankAccountAT: Codeunit "Create Bank Account AT"; + CreateBankAccRecoAT: Codeunit "Create Bank Acc. Reco. AT"; + CreateFAPostingGrpAT: Codeunit "Create FA Posting Grp. AT"; + CreateInvPostingSetupAT: Codeunit "Create Inv. Posting Setup AT"; + CreateItemAT: Codeunit "Create Item AT"; + CreateItemChargeAT: Codeunit "Create Item Charge AT"; + CreateLoactionAT: Codeunit "Create Location AT"; + CreateVendorPostingGrpAT: Codeunit "Create Vendor Posting Grp AT"; + CreatePurchDimValueAT: Codeunit "Create Purch. Dim. Value AT"; + CreateVendorAT: Codeunit "Create Vendor AT"; + CreateVendorTemplateAT: Codeunit "Create Vendor Template AT"; + CreateCustPostingGrpAT: Codeunit "Create Cust. Posting Grp AT"; + CreateReminderLevelAT: Codeunit "Create Reminder Level AT"; + CreateCustomerAT: Codeunit "Create Customer AT"; + CreateCustomerTemplateAT: Codeunit "Create Customer Template AT"; + CreateSalesDimValueAT: Codeunit "Create Sales Dim Value AT"; + CreateShiptoAddressAT: Codeunit "Create Ship-to Address AT"; + CreatePaymentTermAT: Codeunit "Create Payment Term AT"; + CreateEmployeeAT: Codeunit "Create Employee AT"; + CreateNoSeriesAT: Codeunit "Create No. Series AT"; + CreateVATTemplateAT: Codeunit "Create VAT Template AT"; + CreateEmployeeTemplateAT: Codeunit "CreateEmployee Template AT"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + UnbindSubscription(CreatePaymentTermAT); + UnbindSubscription(CreateNoSeriesAT); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateResourceAT); + UnbindSubscription(CreateCurrencyExcRate); + UnbindSubscription(CreateAccScheduleLineAT); + UnbindSubscription(CreateVATTemplateAT); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccPostingGrpAT); + UnbindSubscription(CreateBankAccountAT); + UnbindSubscription(CreateBankAccRecoAT); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnbindSubscription(CreateFAPostingGrpAT); + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateInvPostingSetupAT); + UnbindSubscription(CreateItemAT); + UnbindSubscription(CreateItemChargeAT); + UnbindSubscription(CreateLoactionAT); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateVendorPostingGrpAT); + UnbindSubscription(CreatePurchDimValueAT); + UnbindSubscription(CreateVendorAT); + UnbindSubscription(CreateVendorTemplateAT); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateCustPostingGrpAT); + UnbindSubscription(CreateReminderLevelAT); + UnbindSubscription(CreateCustomerAT); + UnbindSubscription(CreateCustomerTemplateAT); + UnbindSubscription(CreateSalesDimValueAT); + UnbindSubscription(CreateShiptoAddressAT); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + begin + UnbindSubscription(CreateEmployeeAT); + UnBindSubscription(CreateEmployeeTemplateAT); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Codeunits/ContosoDemoDataSetupAT.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/ContosoDemoDataSetupAT.Codeunit.al similarity index 100% rename from Apps/AT/ContosoCoffeeDemoDatasetAT/app/Codeunits/ContosoDemoDataSetupAT.Codeunit.al rename to Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/ContosoDemoDataSetupAT.Codeunit.al diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Codeunits/CreateATGLAccounts.Codeunit.al b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/CreateATGLAccounts.Codeunit.al similarity index 100% rename from Apps/AT/ContosoCoffeeDemoDatasetAT/app/Codeunits/CreateATGLAccounts.Codeunit.al rename to Apps/AT/ContosoCoffeeDemoDatasetAT/app/Demo Tool/CreateATGLAccounts.Codeunit.al diff --git a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json index 77087dc24b..fc2ce1c56d 100644 --- a/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json +++ b/Apps/AT/ContosoCoffeeDemoDatasetAT/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 11140, - "to": 11145 + "to": 11245 } ], "resourceExposurePolicy": { diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/Codeunits/CreateAUGLAccounts.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/Codeunits/CreateAUGLAccounts.Codeunit.al deleted file mode 100644 index d797193181..0000000000 --- a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/Codeunits/CreateAUGLAccounts.Codeunit.al +++ /dev/null @@ -1,115 +0,0 @@ -codeunit 17107 "Create AU GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1210'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2245'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '4110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '5101'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2305'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '2310'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '5319'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '5109'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '5380'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '5110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '5111'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '5385'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1330'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '5315'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '5340'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '5105'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1310'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1311') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '4730'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '5471'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '5472'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '5479'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '5695'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '5700'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '5710'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '5720'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '5730'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1320'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '1340'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5850'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '1411'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1431'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '4150'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '4500'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '5106'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '5459'); - end; -} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/1.Setup Data/CreateAUBankAccPostingGrp.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/1.Setup Data/CreateAUBankAccPostingGrp.Codeunit.al new file mode 100644 index 0000000000..83a2f67bf6 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/1.Setup Data/CreateAUBankAccPostingGrp.Codeunit.al @@ -0,0 +1,51 @@ +codeunit 17124 "Create AU Bank Acc Posting Grp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertBankAccountPostingGroup(Fcy(), CreateGLAccount.BankCurrencies()); + ContosoPostingGroup.InsertBankAccountPostingGroup(Lcy(), CreateGLAccount.BankLcy()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account Posting Group"; RunTrigger: Boolean) + var + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Cash(): + ValidateRecordFields(Rec, CreateGLAccount.Cash()); + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateGLAccount.RevolvingCredit()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; + + procedure Fcy(): Code[20] + begin + exit(FcyTok); + end; + + procedure Lcy(): Code[20] + begin + exit(LcyTok); + end; + + var + FcyTok: Label 'FCY', MaxLength = 20, Locked = true; + LcyTok: Label 'LCY', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/1.Setup Data/CreateAUPaymentMethod.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/1.Setup Data/CreateAUPaymentMethod.Codeunit.al new file mode 100644 index 0000000000..46e842c021 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/1.Setup Data/CreateAUPaymentMethod.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 17125 "Create AU Payment Method" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Method", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertPaymentMethod(var Rec: Record "Payment Method"; RunTrigger: Boolean) + var + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreatePaymentMethod.Cash(): + ValidateRecordFields(Rec, CreateGLAccount.Cash()); + end; + end; + + local procedure ValidateRecordFields(var PaymentMethod: Record "Payment Method"; BalAccountNo: Code[20]) + begin + PaymentMethod.Validate("Bal. Account No.", BalAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/2.Master Data/CreateAUBankAccount.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/2.Master Data/CreateAUBankAccount.Codeunit.al new file mode 100644 index 0000000000..6e456ef925 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/2.Master Data/CreateAUBankAccount.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 17126 "Create AU Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateBankAccount: Codeunit "Create Bank Account"; + CreateAUBankAccPostingGrp: Codeunit "Create AU Bank Acc Posting Grp"; + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, BowenBridgeLbl, -2724000, '', '4006', CountyLbl, CreateAUBankAccPostingGrp.Lcy()); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, BowenBridgeLbl, 0, '', '4006', CountyLbl, CreateBankAccPostingGrp.Cash()); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; City: Text[30]; MinBalance: Decimal; CountryRegionCode: Code[10]; PostCode: Code[20]; County: Text[30]; BankAccPostingGroup: Code[20]) + begin + BankAccount.Validate(City, City); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount."Country/Region Code" := CountryRegionCode; + BankAccount.County := County; + BankAccount.Validate("Bank Acc. Posting Group", BankAccPostingGroup); + end; + + var + BowenBridgeLbl: Label 'BOWEN BRIDGE', MaxLength = 30; + CountyLbl: Label 'QLD', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/3.Transaction Data/CreateAUGenJournalLine.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/3.Transaction Data/CreateAUGenJournalLine.Codeunit.al new file mode 100644 index 0000000000..8a1d1f848a --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Bank/3.Transaction Data/CreateAUGenJournalLine.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 17163 "Create AU Gen. Journal Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralJournalLine(); + end; + + local procedure UpdateGeneralJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.SetRange("Journal Template Name", CreateGenJournalTemplate.General()); + GenJournalLine.SetRange("Journal Batch Name", CreateBankJnlBatch.Daily()); + if GenJournalLine.FindSet() then + repeat + case GenJournalLine."Line No." of + 10000: + GenJournalLine.Validate(Amount, -5190.55); + 20000: + GenJournalLine.Validate(Amount, -7785.82); + 30000: + GenJournalLine.Validate(Amount, -10381.1); + 40000: + GenJournalLine.Validate(Amount, -10381.1); + end; + + GenJournalLine.Validate("Skip WHT", true); + GenJournalLine.Modify(); + until GenJournalLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/CRM/1.Setup Data/CreateAUIndustryGroup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/CRM/1.Setup Data/CreateAUIndustryGroup.Codeunit.al new file mode 100644 index 0000000000..29878788ad --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/CRM/1.Setup Data/CreateAUIndustryGroup.Codeunit.al @@ -0,0 +1,3656 @@ +codeunit 17127 "Create AU Industry Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.SetOverwriteData(true); + ContosoCRM.InsertIndustryGroup(A1(), AgricultureLbl); + ContosoCRM.InsertIndustryGroup(A11(), HorticultureAndFruitGrowingLbl); + ContosoCRM.InsertIndustryGroup(A111(), PlantNurseriesLbl); + ContosoCRM.InsertIndustryGroup(A113(), VegetableGrowingLbl); + ContosoCRM.InsertIndustryGroup(A114(), GrapeGrowingLbl); + ContosoCRM.InsertIndustryGroup(A115(), AppleAndPearGrowingLbl); + ContosoCRM.InsertIndustryGroup(A116(), StoneFruitGrowingLbl); + ContosoCRM.InsertIndustryGroup(A117(), KiwiFruitGrowingLbl); + ContosoCRM.InsertIndustryGroup(A119(), FruitGrowingNecLbl); + ContosoCRM.InsertIndustryGroup(A121(), GrainGrowingLbl); + ContosoCRM.InsertIndustryGroup(A123(), SheepBeefCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A124(), SheepFarmingLbl); + ContosoCRM.InsertIndustryGroup(A125(), BeefCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A13(), DairyCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A130(), DairyCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A14(), PoultryFarmingLbl); + ContosoCRM.InsertIndustryGroup(A141(), PoultryFarmingMeatLbl); + ContosoCRM.InsertIndustryGroup(A142(), PoultryFarmingEggsLbl); + ContosoCRM.InsertIndustryGroup(A15(), OtherLivestockFarmingLbl); + ContosoCRM.InsertIndustryGroup(A151(), PigFarmingLbl); + ContosoCRM.InsertIndustryGroup(A152(), HorseFarmingLbl); + ContosoCRM.InsertIndustryGroup(A153(), DeerFarmingLbl); + ContosoCRM.InsertIndustryGroup(A159(), LivestockFarmingNecLbl); + ContosoCRM.InsertIndustryGroup(A16(), OtherCropGrowingLbl); + ContosoCRM.InsertIndustryGroup(A161(), SugarCaneGrowingLbl); + ContosoCRM.InsertIndustryGroup(A162(), CottonGrowingLbl); + ContosoCRM.InsertIndustryGroup(A169(), CropAndPlantGrowingNecLbl); + ContosoCRM.InsertIndustryGroup(A21(), ServicesToAgricultureLbl); + ContosoCRM.InsertIndustryGroup(A211(), CottonGinningLbl); + ContosoCRM.InsertIndustryGroup(A212(), ShearingServicesLbl); + ContosoCRM.InsertIndustryGroup(A213(), AerialAgriculturalServicesLbl); + ContosoCRM.InsertIndustryGroup(A219(), ServicesToAgricultureNecLbl); + ContosoCRM.InsertIndustryGroup(A22(), HuntingAndTrappingLbl); + ContosoCRM.InsertIndustryGroup(A220(), HuntingAndTrappingLbl); + ContosoCRM.InsertIndustryGroup(A3(), ForestryAndLoggingLbl); + ContosoCRM.InsertIndustryGroup(A30(), ForestryAndLoggingLbl); + ContosoCRM.InsertIndustryGroup(A301(), ForestryLbl); + ContosoCRM.InsertIndustryGroup(A302(), LoggingLbl); + ContosoCRM.InsertIndustryGroup(A303(), ServicesToForestryLbl); + ContosoCRM.InsertIndustryGroup(A4(), CommercialFishingLbl); + ContosoCRM.InsertIndustryGroup(A41(), MarineFishingLbl); + ContosoCRM.InsertIndustryGroup(A411(), RockLobsterFishingLbl); + ContosoCRM.InsertIndustryGroup(A412(), PrawnFishingLbl); + ContosoCRM.InsertIndustryGroup(A413(), FinfishTrawlingLbl); + ContosoCRM.InsertIndustryGroup(A414(), SquidJiggingLbl); + ContosoCRM.InsertIndustryGroup(A415(), LineFishingLbl); + ContosoCRM.InsertIndustryGroup(A419(), MarineFishingNecLbl); + ContosoCRM.InsertIndustryGroup(A42(), AquacultureLbl); + ContosoCRM.InsertIndustryGroup(A420(), AquacultureLbl); + ContosoCRM.InsertIndustryGroup(B(), MiningLbl); + ContosoCRM.InsertIndustryGroup(B11(), CoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B110(), CoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B1101(), BlackCoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B1102(), BrownCoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B12(), OilAndGasExtractionLbl); + ContosoCRM.InsertIndustryGroup(B120(), OilAndGasExtractionLbl); + ContosoCRM.InsertIndustryGroup(B1200(), OilAndGasExtractionLbl); + ContosoCRM.InsertIndustryGroup(B13(), MetalOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B131(), MetalOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1311(), IronOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1312(), BauxiteMiningLbl); + ContosoCRM.InsertIndustryGroup(B1313(), CopperOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1314(), GoldOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1315(), MineralSandMiningLbl); + ContosoCRM.InsertIndustryGroup(B1316(), NickelOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1317(), SilverLeadZincOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1319(), MetalOreMiningNecLbl); + ContosoCRM.InsertIndustryGroup(B14(), OtherMiningLbl); + ContosoCRM.InsertIndustryGroup(B141(), ConstructionMaterialMiningLbl); + ContosoCRM.InsertIndustryGroup(B1411(), GravelAndSandQuarryingLbl); + ContosoCRM.InsertIndustryGroup(B142(), MiningNecLbl); + ContosoCRM.InsertIndustryGroup(B1420(), MiningNecLbl); + ContosoCRM.InsertIndustryGroup(B15(), ServicesToMiningLbl); + ContosoCRM.InsertIndustryGroup(B151(), ExplorationLbl); + ContosoCRM.InsertIndustryGroup(B1512(), PetroleumExplorationServicesLbl); + ContosoCRM.InsertIndustryGroup(B1514(), MineralExplorationServicesLbl); + ContosoCRM.InsertIndustryGroup(B152(), OtherMiningServicesLbl); + ContosoCRM.InsertIndustryGroup(B1520(), OtherMiningServicesLbl); + ContosoCRM.InsertIndustryGroup(C(), ManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C21(), FoodBeverageAndTobaccoLbl); + ContosoCRM.InsertIndustryGroup(C2111(), MeatProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2112(), PoultryProcessingLbl); + ContosoCRM.InsertIndustryGroup(C212(), DairyProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2121(), MilkAndCreamProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2122(), IceCreamManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C213(), FruitAndVegetableProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2130(), FruitAndVegetableProcessingLbl); + ContosoCRM.InsertIndustryGroup(C214(), OilAndFatManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2140(), OilAndFatManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C216(), BakeryProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2161(), BreadManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2162(), CakeAndPastryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2163(), BiscuitManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C217(), OtherFoodManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2171(), SugarManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2172(), ConfectioneryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2173(), SeafoodProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2179(), FoodManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C2182(), BeerAndMaltManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2183(), WineManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2184(), SpiritManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C219(), TobaccoProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2190(), TobaccoProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2211(), WoolScouringLbl); + ContosoCRM.InsertIndustryGroup(C2213(), CottonTextileManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2214(), WoolTextileManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2215(), TextileFinishingLbl); + ContosoCRM.InsertIndustryGroup(C222(), TextileProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C223(), KnittingMillsLbl); + ContosoCRM.InsertIndustryGroup(C2231(), HosieryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C224(), ClothingManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2249(), ClothingManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C225(), FootwearManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2250(), FootwearManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2311(), LogSawmillingLbl); + ContosoCRM.InsertIndustryGroup(C2312(), WoodChippingLbl); + ContosoCRM.InsertIndustryGroup(C2313(), TimberResawingAndDressingLbl); + ContosoCRM.InsertIndustryGroup(C2322(), FabricatedWoodManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2329(), WoodProductManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C2411(), PaperStationeryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2412(), PrintingLbl); + ContosoCRM.InsertIndustryGroup(C2413(), ServicesToPrintingLbl); + ContosoCRM.InsertIndustryGroup(C242(), PublishingLbl); + ContosoCRM.InsertIndustryGroup(C2422(), OtherPeriodicalPublishingLbl); + ContosoCRM.InsertIndustryGroup(C2423(), BookAndOtherPublishingLbl); + ContosoCRM.InsertIndustryGroup(C251(), PetroleumRefiningLbl); + ContosoCRM.InsertIndustryGroup(C2510(), PetroleumRefiningLbl); + ContosoCRM.InsertIndustryGroup(C253(), BasicChemicalManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2531(), FertiliserManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2532(), IndustrialGasManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2533(), SyntheticResinManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2541(), ExplosiveManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2542(), PaintManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2544(), PesticideManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2547(), InkManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C255(), RubberProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2551(), RubberTyreManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C256(), PlasticProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C262(), CeramicManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2621(), ClayBrickManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2622(), CeramicProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2631(), CementAndLimeManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2632(), PlasterProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2633(), ConcreteSlurryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C27(), MetalProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C271(), IronAndSteelManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2721(), AluminaProductionLbl); + ContosoCRM.InsertIndustryGroup(C2722(), AluminiumSmeltingLbl); + ContosoCRM.InsertIndustryGroup(C2733(), NonFerrousMetalCastingLbl); + ContosoCRM.InsertIndustryGroup(C2741(), StructuralSteelFabricatingLbl); + ContosoCRM.InsertIndustryGroup(C2751(), MetalContainerManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2764(), MetalCoatingAndFinishingLbl); + ContosoCRM.InsertIndustryGroup(C2811(), MotorVehicleManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2821(), ShipbuildingLbl); + ContosoCRM.InsertIndustryGroup(C2822(), BoatbuildingLbl); + ContosoCRM.InsertIndustryGroup(C2824(), AircraftManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2853(), BatteryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C29(), OtherManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C292(), FurnitureManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2929(), FurnitureManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C294(), OtherManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2949(), ManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(D36(), ElectricityAndGasSupplyLbl); + ContosoCRM.InsertIndustryGroup(D361(), ElectricitySupplyLbl); + ContosoCRM.InsertIndustryGroup(D3610(), ElectricitySupplyLbl); + ContosoCRM.InsertIndustryGroup(D362(), GasSupplyLbl); + ContosoCRM.InsertIndustryGroup(D3620(), GasSupplyLbl); + ContosoCRM.InsertIndustryGroup(D3701(), WaterSupplyLbl); + ContosoCRM.InsertIndustryGroup(D3702(), SewerageAndDrainageServicesLbl); + ContosoCRM.InsertIndustryGroup(E(), ConstructionLbl); + ContosoCRM.InsertIndustryGroup(E41(), GeneralConstructionLbl); + ContosoCRM.InsertIndustryGroup(E411(), BuildingConstructionLbl); + ContosoCRM.InsertIndustryGroup(E4111(), HouseConstructionLbl); + ContosoCRM.InsertIndustryGroup(E412(), NonBuildingConstructionLbl); + ContosoCRM.InsertIndustryGroup(E4121(), RoadAndBridgeConstructionLbl); + ContosoCRM.InsertIndustryGroup(E4122(), NonBuildingConstructionNecLbl); + ContosoCRM.InsertIndustryGroup(E42(), ConstructionTradeServicesLbl); + ContosoCRM.InsertIndustryGroup(E421(), SitePreparationServicesLbl); + ContosoCRM.InsertIndustryGroup(E4210(), SitePreparationServicesLbl); + ContosoCRM.InsertIndustryGroup(E422(), BuildingStructureServicesLbl); + ContosoCRM.InsertIndustryGroup(E4221(), ConcretingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4222(), BricklayingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4223(), RoofingServicesLbl); + ContosoCRM.InsertIndustryGroup(E423(), InstallationTradeServicesLbl); + ContosoCRM.InsertIndustryGroup(E4231(), PlumbingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4232(), ElectricalServicesLbl); + ContosoCRM.InsertIndustryGroup(E424(), BuildingCompletionServicesLbl); + ContosoCRM.InsertIndustryGroup(E4242(), CarpentryServicesLbl); + ContosoCRM.InsertIndustryGroup(E4243(), TilingAndCarpetingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4245(), GlazingServicesLbl); + ContosoCRM.InsertIndustryGroup(E425(), OtherConstructionServicesLbl); + ContosoCRM.InsertIndustryGroup(E4251(), LandscapingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4259(), ConstructionServicesNecLbl); + ContosoCRM.InsertIndustryGroup(F(), WholesaleTradeLbl); + ContosoCRM.InsertIndustryGroup(F45(), BasicMaterialWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F451(), FarmProduceWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4511(), WoolWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4512(), CerealGrainWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4521(), PetroleumProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4522(), MetalAndMineralWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4523(), ChemicalWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F453(), BuildersSuppliesWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4531(), TimberWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4613(), ComputerWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F462(), MotorVehicleWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4621(), CarWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4622(), CommercialVehicleWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4623(), MotorVehicleNewPartDealingLbl); + ContosoCRM.InsertIndustryGroup(F4711(), MeatWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4713(), DairyProduceWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4714(), FishWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4717(), LiquorWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4718(), TobaccoProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4719(), GroceryWholesalingNecLbl); + ContosoCRM.InsertIndustryGroup(F4721(), TextileProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4722(), ClothingWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4723(), FootwearWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F473(), HouseholdGoodWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4732(), FurnitureWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4733(), FloorCoveringWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4739(), HouseholdGoodWholesalingNecLbl); + ContosoCRM.InsertIndustryGroup(F479(), OtherWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4794(), BookAndMagazineWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4795(), PaperProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4799(), WholesalingNecLbl); + ContosoCRM.InsertIndustryGroup(G(), RetailTradeLbl); + ContosoCRM.InsertIndustryGroup(G51(), FoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G511(), SupermarketAndGroceryStoresLbl); + ContosoCRM.InsertIndustryGroup(G5110(), SupermarketAndGroceryStoresLbl); + ContosoCRM.InsertIndustryGroup(G512(), SpecialisedFoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5122(), FruitAndVegetableRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5123(), LiquorRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5124(), BreadAndCakeRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5125(), TakeawayFoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5126(), MilkVendingLbl); + ContosoCRM.InsertIndustryGroup(G5129(), SpecialisedFoodRetailingNecLbl); + ContosoCRM.InsertIndustryGroup(G521(), DepartmentStoresLbl); + ContosoCRM.InsertIndustryGroup(G5210(), DepartmentStoresLbl); + ContosoCRM.InsertIndustryGroup(G5221(), ClothingRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5222(), FootwearRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5231(), FurnitureRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5232(), FloorCoveringRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5234(), DomesticApplianceRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5235(), RecordedMusicRetailingLbl); + ContosoCRM.InsertIndustryGroup(G524(), RecreationalGoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5242(), ToyAndGameRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5245(), MarineEquipmentRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5253(), GardenSuppliesRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5254(), FlowerRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5255(), WatchAndJewelleryRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5259(), RetailingNecLbl); + ContosoCRM.InsertIndustryGroup(G531(), MotorVehicleRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5311(), CarRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5312(), MotorCycleDealingLbl); + ContosoCRM.InsertIndustryGroup(G5313(), TrailerAndCaravanDealingLbl); + ContosoCRM.InsertIndustryGroup(G532(), MotorVehicleServicesLbl); + ContosoCRM.InsertIndustryGroup(G5321(), AutomotiveFuelRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5322(), AutomotiveElectricalServicesLbl); + ContosoCRM.InsertIndustryGroup(G5323(), SmashRepairingLbl); + ContosoCRM.InsertIndustryGroup(G5324(), TyreRetailingLbl); + ContosoCRM.InsertIndustryGroup(H571(), AccommodationLbl); + ContosoCRM.InsertIndustryGroup(H5710(), AccommodationLbl); + ContosoCRM.InsertIndustryGroup(H572(), PubsTavernsAndBarsLbl); + ContosoCRM.InsertIndustryGroup(H5720(), PubsTavernsAndBarsLbl); + ContosoCRM.InsertIndustryGroup(H573(), CafesAndRestaurantsLbl); + ContosoCRM.InsertIndustryGroup(H5730(), CafesAndRestaurantsLbl); + ContosoCRM.InsertIndustryGroup(H574(), ClubsHospitalityLbl); + ContosoCRM.InsertIndustryGroup(H5740(), ClubsHospitalityLbl); + ContosoCRM.InsertIndustryGroup(I(), TransportAndStorageLbl); + ContosoCRM.InsertIndustryGroup(I61(), RoadTransportLbl); + ContosoCRM.InsertIndustryGroup(I611(), RoadFreightTransportLbl); + ContosoCRM.InsertIndustryGroup(I6110(), RoadFreightTransportLbl); + ContosoCRM.InsertIndustryGroup(I612(), RoadPassengerTransportLbl); + ContosoCRM.InsertIndustryGroup(I6121(), LongDistanceBusTransportLbl); + ContosoCRM.InsertIndustryGroup(I62(), RailTransportLbl); + ContosoCRM.InsertIndustryGroup(I620(), RailTransportLbl); + ContosoCRM.InsertIndustryGroup(I6200(), RailTransportLbl); + ContosoCRM.InsertIndustryGroup(I63(), WaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I630(), WaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I6301(), InternationalSeaTransportLbl); + ContosoCRM.InsertIndustryGroup(I6302(), CoastalWaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I6303(), InlandWaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I64(), AirAndSpaceTransportLbl); + ContosoCRM.InsertIndustryGroup(I640(), AirAndSpaceTransportLbl); + ContosoCRM.InsertIndustryGroup(I65(), OtherTransportLbl); + ContosoCRM.InsertIndustryGroup(I650(), OtherTransportLbl); + ContosoCRM.InsertIndustryGroup(I6501(), PipelineTransportLbl); + ContosoCRM.InsertIndustryGroup(I6509(), TransportNecLbl); + ContosoCRM.InsertIndustryGroup(I66(), ServicesToTransportLbl); + ContosoCRM.InsertIndustryGroup(I661(), ServicesToRoadTransportLbl); + ContosoCRM.InsertIndustryGroup(I6611(), ParkingServicesLbl); + ContosoCRM.InsertIndustryGroup(I6619(), ServicesToRoadTransportNecLbl); + ContosoCRM.InsertIndustryGroup(I662(), ServicesToWaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I6621(), StevedoringLbl); + ContosoCRM.InsertIndustryGroup(I6622(), WaterTransportTerminalsLbl); + ContosoCRM.InsertIndustryGroup(I6623(), PortOperatorsLbl); + ContosoCRM.InsertIndustryGroup(I663(), ServicesToAirTransportLbl); + ContosoCRM.InsertIndustryGroup(I6630(), ServicesToAirTransportLbl); + ContosoCRM.InsertIndustryGroup(I664(), OtherServicesToTransportLbl); + ContosoCRM.InsertIndustryGroup(I6641(), TravelAgencyServicesLbl); + ContosoCRM.InsertIndustryGroup(I6642(), RoadFreightForwardingLbl); + ContosoCRM.InsertIndustryGroup(I6644(), CustomsAgencyServicesLbl); + ContosoCRM.InsertIndustryGroup(I6649(), ServicesToTransportNecLbl); + ContosoCRM.InsertIndustryGroup(I67(), StorageLbl); + ContosoCRM.InsertIndustryGroup(I670(), StorageLbl); + ContosoCRM.InsertIndustryGroup(I6701(), GrainStorageLbl); + ContosoCRM.InsertIndustryGroup(I6709(), StorageNecLbl); + ContosoCRM.InsertIndustryGroup(J(), CommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(J71(), CommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(J711(), PostalAndCourierServicesLbl); + ContosoCRM.InsertIndustryGroup(J7111(), PostalServicesLbl); + ContosoCRM.InsertIndustryGroup(J7112(), CourierServicesLbl); + ContosoCRM.InsertIndustryGroup(J712(), TelecommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(J7120(), TelecommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(K(), FinanceAndInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K73(), FinanceLbl); + ContosoCRM.InsertIndustryGroup(K731(), CentralBankLbl); + ContosoCRM.InsertIndustryGroup(K7310(), CentralBankLbl); + ContosoCRM.InsertIndustryGroup(K732(), DepositTakingFinanciersLbl); + ContosoCRM.InsertIndustryGroup(K7321(), BanksLbl); + ContosoCRM.InsertIndustryGroup(K7322(), BuildingSocietiesLbl); + ContosoCRM.InsertIndustryGroup(K7323(), CreditUnionsLbl); + ContosoCRM.InsertIndustryGroup(K7324(), MoneyMarketDealersLbl); + ContosoCRM.InsertIndustryGroup(K7329(), DepositTakingFinanciersNecLbl); + ContosoCRM.InsertIndustryGroup(K733(), OtherFinanciersLbl); + ContosoCRM.InsertIndustryGroup(K7330(), OtherFinanciersLbl); + ContosoCRM.InsertIndustryGroup(K734(), FinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(K7340(), FinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(K74(), InsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7411(), LifeInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7412(), SuperannuationFundsLbl); + ContosoCRM.InsertIndustryGroup(K742(), OtherInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7421(), HealthInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7422(), GeneralInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K752(), ServicesToInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7520(), ServicesToInsuranceLbl); + ContosoCRM.InsertIndustryGroup(L(), PropertyAndBusinessServicesLbl); + ContosoCRM.InsertIndustryGroup(L77(), PropertyServicesLbl); + ContosoCRM.InsertIndustryGroup(L7711(), ResidentialPropertyOperatorsLbl); + ContosoCRM.InsertIndustryGroup(L772(), RealEstateAgentsLbl); + ContosoCRM.InsertIndustryGroup(L7720(), RealEstateAgentsLbl); + ContosoCRM.InsertIndustryGroup(L773(), NonFinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(L7730(), NonFinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(L7741(), MotorVehicleHiringLbl); + ContosoCRM.InsertIndustryGroup(L7743(), PlantHiringOrLeasingLbl); + ContosoCRM.InsertIndustryGroup(L78(), BusinessServicesLbl); + ContosoCRM.InsertIndustryGroup(L781(), ScientificResearchLbl); + ContosoCRM.InsertIndustryGroup(L7810(), ScientificResearchLbl); + ContosoCRM.InsertIndustryGroup(L782(), TechnicalServicesLbl); + ContosoCRM.InsertIndustryGroup(L7821(), ArchitecturalServicesLbl); + ContosoCRM.InsertIndustryGroup(L7822(), SurveyingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7829(), TechnicalServicesNecLbl); + ContosoCRM.InsertIndustryGroup(L783(), ComputerServicesLbl); + ContosoCRM.InsertIndustryGroup(L7831(), DataProcessingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7833(), ComputerMaintenanceServicesLbl); + ContosoCRM.InsertIndustryGroup(L7834(), ComputerConsultancyServicesLbl); + ContosoCRM.InsertIndustryGroup(L784(), LegalAndAccountingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7841(), LegalServicesLbl); + ContosoCRM.InsertIndustryGroup(L7842(), AccountingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7851(), AdvertisingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7853(), MarketResearchServicesLbl); + ContosoCRM.InsertIndustryGroup(L7855(), BusinessManagementServicesLbl); + ContosoCRM.InsertIndustryGroup(L786(), OtherBusinessServicesLbl); + ContosoCRM.InsertIndustryGroup(L7861(), EmploymentPlacementServicesLbl); + ContosoCRM.InsertIndustryGroup(L7862(), ContractStaffServicesLbl); + ContosoCRM.InsertIndustryGroup(L7863(), SecretarialServicesLbl); + ContosoCRM.InsertIndustryGroup(L7865(), PestControlServicesLbl); + ContosoCRM.InsertIndustryGroup(L7866(), CleaningServicesLbl); + ContosoCRM.InsertIndustryGroup(L7867(), ContractPackingServicesNecLbl); + ContosoCRM.InsertIndustryGroup(L7869(), BusinessServicesNecLbl); + ContosoCRM.InsertIndustryGroup(M81(), GovernmentAdministrationLbl); + ContosoCRM.InsertIndustryGroup(M811(), GovernmentAdministrationLbl); + ContosoCRM.InsertIndustryGroup(M812(), JusticeLbl); + ContosoCRM.InsertIndustryGroup(M8120(), JusticeLbl); + ContosoCRM.InsertIndustryGroup(M82(), DefenceLbl); + ContosoCRM.InsertIndustryGroup(M820(), DefenceLbl); + ContosoCRM.InsertIndustryGroup(M8200(), DefenceLbl); + ContosoCRM.InsertIndustryGroup(N(), EducationLbl); + ContosoCRM.InsertIndustryGroup(N84(), EducationLbl); + ContosoCRM.InsertIndustryGroup(N841(), PreschoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N8410(), PreschoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N842(), SchoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N8421(), PrimaryEducationLbl); + ContosoCRM.InsertIndustryGroup(N8422(), SecondaryEducationLbl); + ContosoCRM.InsertIndustryGroup(N8424(), SpecialSchoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N843(), PostSchoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N8431(), HigherEducationLbl); + ContosoCRM.InsertIndustryGroup(N844(), OtherEducationLbl); + ContosoCRM.InsertIndustryGroup(N8440(), OtherEducationLbl); + ContosoCRM.InsertIndustryGroup(O(), HealthAndCommunityServicesLbl); + ContosoCRM.InsertIndustryGroup(O86(), HealthServicesLbl); + ContosoCRM.InsertIndustryGroup(O861(), HospitalsAndNursingHomesLbl); + ContosoCRM.InsertIndustryGroup(O8612(), PsychiatricHospitalsLbl); + ContosoCRM.InsertIndustryGroup(O8613(), NursingHomesLbl); + ContosoCRM.InsertIndustryGroup(O862(), MedicalAndDentalServicesLbl); + ContosoCRM.InsertIndustryGroup(O8622(), SpecialistMedicalServicesLbl); + ContosoCRM.InsertIndustryGroup(O8623(), DentalServicesLbl); + ContosoCRM.InsertIndustryGroup(O863(), OtherHealthServicesLbl); + ContosoCRM.InsertIndustryGroup(O8631(), PathologyServicesLbl); + ContosoCRM.InsertIndustryGroup(O8633(), AmbulanceServicesLbl); + ContosoCRM.InsertIndustryGroup(O8634(), CommunityHealthCentresLbl); + ContosoCRM.InsertIndustryGroup(O8635(), PhysiotherapyServicesLbl); + ContosoCRM.InsertIndustryGroup(O8636(), ChiropracticServicesLbl); + ContosoCRM.InsertIndustryGroup(O8639(), HealthServicesNecLbl); + ContosoCRM.InsertIndustryGroup(O864(), VeterinaryServicesLbl); + ContosoCRM.InsertIndustryGroup(O8640(), VeterinaryServicesLbl); + ContosoCRM.InsertIndustryGroup(O87(), CommunityServicesLbl); + ContosoCRM.InsertIndustryGroup(O871(), ChildCareServicesLbl); + ContosoCRM.InsertIndustryGroup(O8710(), ChildCareServicesLbl); + ContosoCRM.InsertIndustryGroup(O872(), CommunityCareServicesLbl); + ContosoCRM.InsertIndustryGroup(O8721(), AccommodationForTheAgedLbl); + ContosoCRM.InsertIndustryGroup(O8722(), ResidentialCareServicesNecLbl); + ContosoCRM.InsertIndustryGroup(P911(), FilmAndVideoServicesLbl); + ContosoCRM.InsertIndustryGroup(P9111(), FilmAndVideoProductionLbl); + ContosoCRM.InsertIndustryGroup(P9112(), FilmAndVideoDistributionLbl); + ContosoCRM.InsertIndustryGroup(P9113(), MotionPictureExhibitionLbl); + ContosoCRM.InsertIndustryGroup(P912(), RadioAndTelevisionServicesLbl); + ContosoCRM.InsertIndustryGroup(P9121(), RadioServicesLbl); + ContosoCRM.InsertIndustryGroup(P9122(), TelevisionServicesLbl); + ContosoCRM.InsertIndustryGroup(P921(), LibrariesLbl); + ContosoCRM.InsertIndustryGroup(P9210(), LibrariesLbl); + ContosoCRM.InsertIndustryGroup(P922(), MuseumsLbl); + ContosoCRM.InsertIndustryGroup(P9220(), MuseumsLbl); + ContosoCRM.InsertIndustryGroup(P923(), ParksAndGardensLbl); + ContosoCRM.InsertIndustryGroup(P9231(), ZoologicalAndBotanicGardensLbl); + ContosoCRM.InsertIndustryGroup(P9239(), RecreationalParksAndGardensLbl); + ContosoCRM.InsertIndustryGroup(P924(), ArtsLbl); + ContosoCRM.InsertIndustryGroup(P9241(), MusicAndTheatreProductionsLbl); + ContosoCRM.InsertIndustryGroup(P9242(), CreativeArtsLbl); + ContosoCRM.InsertIndustryGroup(P925(), ServicesToTheArtsLbl); + ContosoCRM.InsertIndustryGroup(P9251(), SoundRecordingStudiosLbl); + ContosoCRM.InsertIndustryGroup(P9252(), PerformingArtsVenuesLbl); + ContosoCRM.InsertIndustryGroup(P9259(), ServicesToTheArtsNecLbl); + ContosoCRM.InsertIndustryGroup(P93(), SportAndRecreationLbl); + ContosoCRM.InsertIndustryGroup(P931(), SportLbl); + ContosoCRM.InsertIndustryGroup(P9311(), HorseAndDogRacingLbl); + ContosoCRM.InsertIndustryGroup(P932(), GamblingServicesLbl); + ContosoCRM.InsertIndustryGroup(P9321(), LotteriesLbl); + ContosoCRM.InsertIndustryGroup(P9322(), CasinosLbl); + ContosoCRM.InsertIndustryGroup(P9329(), GamblingServicesNecLbl); + ContosoCRM.InsertIndustryGroup(P933(), OtherRecreationServicesLbl); + ContosoCRM.InsertIndustryGroup(P9330(), OtherRecreationServicesLbl); + ContosoCRM.InsertIndustryGroup(Q(), PersonalAndOtherServicesLbl); + ContosoCRM.InsertIndustryGroup(Q95(), PersonalServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9511(), VideoHireOutletsLbl); + ContosoCRM.InsertIndustryGroup(Q952(), OtherPersonalServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9521(), LaundriesAndDryCleanersLbl); + ContosoCRM.InsertIndustryGroup(Q9522(), PhotographicFilmProcessingLbl); + ContosoCRM.InsertIndustryGroup(Q9523(), PhotographicStudiosLbl); + ContosoCRM.InsertIndustryGroup(Q9525(), GardeningServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9526(), HairdressingAndBeautySalonsLbl); + ContosoCRM.InsertIndustryGroup(Q9529(), PersonalServicesNecLbl); + ContosoCRM.InsertIndustryGroup(Q96(), OtherServicesLbl); + ContosoCRM.InsertIndustryGroup(Q961(), ReligiousOrganisationsLbl); + ContosoCRM.InsertIndustryGroup(Q9610(), ReligiousOrganisationsLbl); + ContosoCRM.InsertIndustryGroup(Q962(), InterestGroupsLbl); + ContosoCRM.InsertIndustryGroup(Q9622(), LabourAssociationsLbl); + ContosoCRM.InsertIndustryGroup(Q9629(), InterestGroupsNecLbl); + ContosoCRM.InsertIndustryGroup(Q9631(), PoliceServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9632(), CorrectiveCentresLbl); + ContosoCRM.InsertIndustryGroup(Q9633(), FireBrigadeServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9634(), WasteDisposalServicesLbl); + ContosoCRM.SetOverwriteData(false); + end; + + procedure A1(): Code[10] + begin + exit(A1Tok); + end; + + procedure A11(): Code[10] + begin + exit(A11Tok); + end; + + procedure A111(): Code[10] + begin + exit(A111Tok); + end; + + procedure A113(): Code[10] + begin + exit(A113Tok); + end; + + procedure A114(): Code[10] + begin + exit(A114Tok); + end; + + procedure A115(): Code[10] + begin + exit(A115Tok); + end; + + procedure A116(): Code[10] + begin + exit(A116Tok); + end; + + procedure A117(): Code[10] + begin + exit(A117Tok); + end; + + procedure A119(): Code[10] + begin + exit(A119Tok); + end; + + procedure A121(): Code[10] + begin + exit(A121Tok); + end; + + procedure A123(): Code[10] + begin + exit(A123Tok); + end; + + procedure A124(): Code[10] + begin + exit(A124Tok); + end; + + procedure A125(): Code[10] + begin + exit(A125Tok); + end; + + procedure A13(): Code[10] + begin + exit(A13Tok); + end; + + procedure A130(): Code[10] + begin + exit(A130Tok); + end; + + procedure A14(): Code[10] + begin + exit(A14Tok); + end; + + procedure A141(): Code[10] + begin + exit(A141Tok); + end; + + procedure A142(): Code[10] + begin + exit(A142Tok); + end; + + procedure A15(): Code[10] + begin + exit(A15Tok); + end; + + procedure A151(): Code[10] + begin + exit(A151Tok); + end; + + procedure A152(): Code[10] + begin + exit(A152Tok); + end; + + procedure A153(): Code[10] + begin + exit(A153Tok); + end; + + procedure A159(): Code[10] + begin + exit(A159Tok); + end; + + procedure A16(): Code[10] + begin + exit(A16Tok); + end; + + procedure A161(): Code[10] + begin + exit(A161Tok); + end; + + procedure A162(): Code[10] + begin + exit(A162Tok); + end; + + procedure A169(): Code[10] + begin + exit(A169Tok); + end; + + procedure A21(): Code[10] + begin + exit(A21Tok); + end; + + procedure A211(): Code[10] + begin + exit(A211Tok); + end; + + procedure A212(): Code[10] + begin + exit(A212Tok); + end; + + procedure A213(): Code[10] + begin + exit(A213Tok); + end; + + procedure A219(): Code[10] + begin + exit(A219Tok); + end; + + procedure A22(): Code[10] + begin + exit(A22Tok); + end; + + procedure A220(): Code[10] + begin + exit(A220Tok); + end; + + procedure A3(): Code[10] + begin + exit(A3Tok); + end; + + procedure A30(): Code[10] + begin + exit(A30Tok); + end; + + procedure A301(): Code[10] + begin + exit(A301Tok); + end; + + procedure A302(): Code[10] + begin + exit(A302Tok); + end; + + procedure A303(): Code[10] + begin + exit(A303Tok); + end; + + procedure A4(): Code[10] + begin + exit(A4Tok); + end; + + procedure A41(): Code[10] + begin + exit(A41Tok); + end; + + procedure A411(): Code[10] + begin + exit(A411Tok); + end; + + procedure A412(): Code[10] + begin + exit(A412Tok); + end; + + procedure A413(): Code[10] + begin + exit(A413Tok); + end; + + procedure A414(): Code[10] + begin + exit(A414Tok); + end; + + procedure A415(): Code[10] + begin + exit(A415Tok); + end; + + procedure A419(): Code[10] + begin + exit(A419Tok); + end; + + procedure A42(): Code[10] + begin + exit(A42Tok); + end; + + procedure A420(): Code[10] + begin + exit(A420Tok); + end; + + procedure B(): Code[10] + begin + exit(BTok); + end; + + procedure B11(): Code[10] + begin + exit(B11Tok); + end; + + procedure B110(): Code[10] + begin + exit(B110Tok); + end; + + procedure B1101(): Code[10] + begin + exit(B1101Tok); + end; + + procedure B1102(): Code[10] + begin + exit(B1102Tok); + end; + + procedure B12(): Code[10] + begin + exit(B12Tok); + end; + + procedure B120(): Code[10] + begin + exit(B120Tok); + end; + + procedure B1200(): Code[10] + begin + exit(B1200Tok); + end; + + procedure B13(): Code[10] + begin + exit(B13Tok); + end; + + procedure B131(): Code[10] + begin + exit(B131Tok); + end; + + procedure B1311(): Code[10] + begin + exit(B1311Tok); + end; + + procedure B1312(): Code[10] + begin + exit(B1312Tok); + end; + + procedure B1313(): Code[10] + begin + exit(B1313Tok); + end; + + procedure B1314(): Code[10] + begin + exit(B1314Tok); + end; + + procedure B1315(): Code[10] + begin + exit(B1315Tok); + end; + + procedure B1316(): Code[10] + begin + exit(B1316Tok); + end; + + procedure B1317(): Code[10] + begin + exit(B1317Tok); + end; + + procedure B1319(): Code[10] + begin + exit(B1319Tok); + end; + + procedure B14(): Code[10] + begin + exit(B14Tok); + end; + + procedure B141(): Code[10] + begin + exit(B141Tok); + end; + + procedure B1411(): Code[10] + begin + exit(B1411Tok); + end; + + procedure B142(): Code[10] + begin + exit(B142Tok); + end; + + procedure B1420(): Code[10] + begin + exit(B1420Tok); + end; + + procedure B15(): Code[10] + begin + exit(B15Tok); + end; + + procedure B151(): Code[10] + begin + exit(B151Tok); + end; + + procedure B1512(): Code[10] + begin + exit(B1512Tok); + end; + + procedure B1514(): Code[10] + begin + exit(B1514Tok); + end; + + procedure B152(): Code[10] + begin + exit(B152Tok); + end; + + procedure B1520(): Code[10] + begin + exit(B1520Tok); + end; + + procedure C(): Code[10] + begin + exit(CTok); + end; + + procedure C21(): Code[10] + begin + exit(C21Tok); + end; + + procedure C2111(): Code[10] + begin + exit(C2111Tok); + end; + + procedure C2112(): Code[10] + begin + exit(C2112Tok); + end; + + procedure C212(): Code[10] + begin + exit(C212Tok); + end; + + procedure C2121(): Code[10] + begin + exit(C2121Tok); + end; + + procedure C2122(): Code[10] + begin + exit(C2122Tok); + end; + + procedure C213(): Code[10] + begin + exit(C213Tok); + end; + + procedure C2130(): Code[10] + begin + exit(C2130Tok); + end; + + procedure C214(): Code[10] + begin + exit(C214Tok); + end; + + procedure C2140(): Code[10] + begin + exit(C2140Tok); + end; + + procedure C216(): Code[10] + begin + exit(C216Tok); + end; + + procedure C2161(): Code[10] + begin + exit(C2161Tok); + end; + + procedure C2162(): Code[10] + begin + exit(C2162Tok); + end; + + procedure C2163(): Code[10] + begin + exit(C2163Tok); + end; + + procedure C217(): Code[10] + begin + exit(C217Tok); + end; + + procedure C2171(): Code[10] + begin + exit(C2171Tok); + end; + + procedure C2172(): Code[10] + begin + exit(C2172Tok); + end; + + procedure C2173(): Code[10] + begin + exit(C2173Tok); + end; + + procedure C2179(): Code[10] + begin + exit(C2179Tok); + end; + + procedure C2182(): Code[10] + begin + exit(C2182Tok); + end; + + procedure C2183(): Code[10] + begin + exit(C2183Tok); + end; + + procedure C2184(): Code[10] + begin + exit(C2184Tok); + end; + + procedure C219(): Code[10] + begin + exit(C219Tok); + end; + + procedure C2190(): Code[10] + begin + exit(C2190Tok); + end; + + procedure C2211(): Code[10] + begin + exit(C2211Tok); + end; + + procedure C2213(): Code[10] + begin + exit(C2213Tok); + end; + + procedure C2214(): Code[10] + begin + exit(C2214Tok); + end; + + procedure C2215(): Code[10] + begin + exit(C2215Tok); + end; + + procedure C222(): Code[10] + begin + exit(C222Tok); + end; + + procedure C223(): Code[10] + begin + exit(C223Tok); + end; + + procedure C2231(): Code[10] + begin + exit(C2231Tok); + end; + + procedure C224(): Code[10] + begin + exit(C224Tok); + end; + + procedure C2249(): Code[10] + begin + exit(C2249Tok); + end; + + procedure C225(): Code[10] + begin + exit(C225Tok); + end; + + procedure C2250(): Code[10] + begin + exit(C2250Tok); + end; + + procedure C2311(): Code[10] + begin + exit(C2311Tok); + end; + + procedure C2312(): Code[10] + begin + exit(C2312Tok); + end; + + procedure C2313(): Code[10] + begin + exit(C2313Tok); + end; + + procedure C2322(): Code[10] + begin + exit(C2322Tok); + end; + + procedure C2329(): Code[10] + begin + exit(C2329Tok); + end; + + procedure C2411(): Code[10] + begin + exit(C2411Tok); + end; + + procedure C2412(): Code[10] + begin + exit(C2412Tok); + end; + + procedure C2413(): Code[10] + begin + exit(C2413Tok); + end; + + procedure C242(): Code[10] + begin + exit(C242Tok); + end; + + procedure C2422(): Code[10] + begin + exit(C2422Tok); + end; + + procedure C2423(): Code[10] + begin + exit(C2423Tok); + end; + + procedure C251(): Code[10] + begin + exit(C251Tok); + end; + + procedure C2510(): Code[10] + begin + exit(C2510Tok); + end; + + procedure C253(): Code[10] + begin + exit(C253Tok); + end; + + procedure C2531(): Code[10] + begin + exit(C2531Tok); + end; + + procedure C2532(): Code[10] + begin + exit(C2532Tok); + end; + + procedure C2533(): Code[10] + begin + exit(C2533Tok); + end; + + procedure C2541(): Code[10] + begin + exit(C2541Tok); + end; + + procedure C2542(): Code[10] + begin + exit(C2542Tok); + end; + + procedure C2544(): Code[10] + begin + exit(C2544Tok); + end; + + procedure C2547(): Code[10] + begin + exit(C2547Tok); + end; + + procedure C255(): Code[10] + begin + exit(C255Tok); + end; + + procedure C2551(): Code[10] + begin + exit(C2551Tok); + end; + + procedure C256(): Code[10] + begin + exit(C256Tok); + end; + + procedure C262(): Code[10] + begin + exit(C262Tok); + end; + + procedure C2621(): Code[10] + begin + exit(C2621Tok); + end; + + procedure C2622(): Code[10] + begin + exit(C2622Tok); + end; + + procedure C2631(): Code[10] + begin + exit(C2631Tok); + end; + + procedure C2632(): Code[10] + begin + exit(C2632Tok); + end; + + procedure C2633(): Code[10] + begin + exit(C2633Tok); + end; + + procedure C27(): Code[10] + begin + exit(C27Tok); + end; + + procedure C271(): Code[10] + begin + exit(C271Tok); + end; + + procedure C2721(): Code[10] + begin + exit(C2721Tok); + end; + + procedure C2722(): Code[10] + begin + exit(C2722Tok); + end; + + procedure C2733(): Code[10] + begin + exit(C2733Tok); + end; + + procedure C2741(): Code[10] + begin + exit(C2741Tok); + end; + + procedure C2751(): Code[10] + begin + exit(C2751Tok); + end; + + procedure C2764(): Code[10] + begin + exit(C2764Tok); + end; + + procedure C2811(): Code[10] + begin + exit(C2811Tok); + end; + + procedure C2821(): Code[10] + begin + exit(C2821Tok); + end; + + procedure C2822(): Code[10] + begin + exit(C2822Tok); + end; + + procedure C2824(): Code[10] + begin + exit(C2824Tok); + end; + + procedure C2853(): Code[10] + begin + exit(C2853Tok); + end; + + procedure C29(): Code[10] + begin + exit(C29Tok); + end; + + procedure C292(): Code[10] + begin + exit(C292Tok); + end; + + procedure C2929(): Code[10] + begin + exit(C2929Tok); + end; + + procedure C294(): Code[10] + begin + exit(C294Tok); + end; + + procedure C2949(): Code[10] + begin + exit(C2949Tok); + end; + + procedure D36(): Code[10] + begin + exit(D36Tok); + end; + + procedure D361(): Code[10] + begin + exit(D361Tok); + end; + + procedure D3610(): Code[10] + begin + exit(D3610Tok); + end; + + procedure D362(): Code[10] + begin + exit(D362Tok); + end; + + procedure D3620(): Code[10] + begin + exit(D3620Tok); + end; + + procedure D3701(): Code[10] + begin + exit(D3701Tok); + end; + + procedure D3702(): Code[10] + begin + exit(D3702Tok); + end; + + procedure E(): Code[10] + begin + exit(ETok); + end; + + procedure E41(): Code[10] + begin + exit(E41Tok); + end; + + procedure E411(): Code[10] + begin + exit(E411Tok); + end; + + procedure E4111(): Code[10] + begin + exit(E4111Tok); + end; + + procedure E412(): Code[10] + begin + exit(E412Tok); + end; + + procedure E4121(): Code[10] + begin + exit(E4121Tok); + end; + + procedure E4122(): Code[10] + begin + exit(E4122Tok); + end; + + procedure E42(): Code[10] + begin + exit(E42Tok); + end; + + procedure E421(): Code[10] + begin + exit(E421Tok); + end; + + procedure E4210(): Code[10] + begin + exit(E4210Tok); + end; + + procedure E422(): Code[10] + begin + exit(E422Tok); + end; + + procedure E4221(): Code[10] + begin + exit(E4221Tok); + end; + + procedure E4222(): Code[10] + begin + exit(E4222Tok); + end; + + procedure E4223(): Code[10] + begin + exit(E4223Tok); + end; + + procedure E423(): Code[10] + begin + exit(E423Tok); + end; + + procedure E4231(): Code[10] + begin + exit(E4231Tok); + end; + + procedure E4232(): Code[10] + begin + exit(E4232Tok); + end; + + procedure E424(): Code[10] + begin + exit(E424Tok); + end; + + procedure E4242(): Code[10] + begin + exit(E4242Tok); + end; + + procedure E4243(): Code[10] + begin + exit(E4243Tok); + end; + + procedure E4245(): Code[10] + begin + exit(E4245Tok); + end; + + procedure E425(): Code[10] + begin + exit(E425Tok); + end; + + procedure E4251(): Code[10] + begin + exit(E4251Tok); + end; + + procedure E4259(): Code[10] + begin + exit(E4259Tok); + end; + + procedure F(): Code[10] + begin + exit(FTok); + end; + + procedure F45(): Code[10] + begin + exit(F45Tok); + end; + + procedure F451(): Code[10] + begin + exit(F451Tok); + end; + + procedure F4511(): Code[10] + begin + exit(F4511Tok); + end; + + procedure F4512(): Code[10] + begin + exit(F4512Tok); + end; + + procedure F4521(): Code[10] + begin + exit(F4521Tok); + end; + + procedure F4522(): Code[10] + begin + exit(F4522Tok); + end; + + procedure F4523(): Code[10] + begin + exit(F4523Tok); + end; + + procedure F453(): Code[10] + begin + exit(F453Tok); + end; + + procedure F4531(): Code[10] + begin + exit(F4531Tok); + end; + + procedure F4613(): Code[10] + begin + exit(F4613Tok); + end; + + procedure F462(): Code[10] + begin + exit(F462Tok); + end; + + procedure F4621(): Code[10] + begin + exit(F4621Tok); + end; + + procedure F4622(): Code[10] + begin + exit(F4622Tok); + end; + + procedure F4623(): Code[10] + begin + exit(F4623Tok); + end; + + procedure F4711(): Code[10] + begin + exit(F4711Tok); + end; + + procedure F4713(): Code[10] + begin + exit(F4713Tok); + end; + + procedure F4714(): Code[10] + begin + exit(F4714Tok); + end; + + procedure F4717(): Code[10] + begin + exit(F4717Tok); + end; + + procedure F4718(): Code[10] + begin + exit(F4718Tok); + end; + + procedure F4719(): Code[10] + begin + exit(F4719Tok); + end; + + procedure F4721(): Code[10] + begin + exit(F4721Tok); + end; + + procedure F4722(): Code[10] + begin + exit(F4722Tok); + end; + + procedure F4723(): Code[10] + begin + exit(F4723Tok); + end; + + procedure F473(): Code[10] + begin + exit(F473Tok); + end; + + procedure F4732(): Code[10] + begin + exit(F4732Tok); + end; + + procedure F4733(): Code[10] + begin + exit(F4733Tok); + end; + + procedure F4739(): Code[10] + begin + exit(F4739Tok); + end; + + procedure F479(): Code[10] + begin + exit(F479Tok); + end; + + procedure F4794(): Code[10] + begin + exit(F4794Tok); + end; + + procedure F4795(): Code[10] + begin + exit(F4795Tok); + end; + + procedure F4799(): Code[10] + begin + exit(F4799Tok); + end; + + procedure G(): Code[10] + begin + exit(GTok); + end; + + procedure G51(): Code[10] + begin + exit(G51Tok); + end; + + procedure G511(): Code[10] + begin + exit(G511Tok); + end; + + procedure G5110(): Code[10] + begin + exit(G5110Tok); + end; + + procedure G512(): Code[10] + begin + exit(G512Tok); + end; + + procedure G5122(): Code[10] + begin + exit(G5122Tok); + end; + + procedure G5123(): Code[10] + begin + exit(G5123Tok); + end; + + procedure G5124(): Code[10] + begin + exit(G5124Tok); + end; + + procedure G5125(): Code[10] + begin + exit(G5125Tok); + end; + + procedure G5126(): Code[10] + begin + exit(G5126Tok); + end; + + procedure G5129(): Code[10] + begin + exit(G5129Tok); + end; + + procedure G521(): Code[10] + begin + exit(G521Tok); + end; + + procedure G5210(): Code[10] + begin + exit(G5210Tok); + end; + + procedure G5221(): Code[10] + begin + exit(G5221Tok); + end; + + procedure G5222(): Code[10] + begin + exit(G5222Tok); + end; + + procedure G5231(): Code[10] + begin + exit(G5231Tok); + end; + + procedure G5232(): Code[10] + begin + exit(G5232Tok); + end; + + procedure G5234(): Code[10] + begin + exit(G5234Tok); + end; + + procedure G5235(): Code[10] + begin + exit(G5235Tok); + end; + + procedure G524(): Code[10] + begin + exit(G524Tok); + end; + + procedure G5242(): Code[10] + begin + exit(G5242Tok); + end; + + procedure G5245(): Code[10] + begin + exit(G5245Tok); + end; + + procedure G5253(): Code[10] + begin + exit(G5253Tok); + end; + + procedure G5254(): Code[10] + begin + exit(G5254Tok); + end; + + procedure G5255(): Code[10] + begin + exit(G5255Tok); + end; + + procedure G5259(): Code[10] + begin + exit(G5259Tok); + end; + + procedure G531(): Code[10] + begin + exit(G531Tok); + end; + + procedure G5311(): Code[10] + begin + exit(G5311Tok); + end; + + procedure G5312(): Code[10] + begin + exit(G5312Tok); + end; + + procedure G5313(): Code[10] + begin + exit(G5313Tok); + end; + + procedure G532(): Code[10] + begin + exit(G532Tok); + end; + + procedure G5321(): Code[10] + begin + exit(G5321Tok); + end; + + procedure G5322(): Code[10] + begin + exit(G5322Tok); + end; + + procedure G5323(): Code[10] + begin + exit(G5323Tok); + end; + + procedure G5324(): Code[10] + begin + exit(G5324Tok); + end; + + procedure H571(): Code[10] + begin + exit(H571Tok); + end; + + procedure H5710(): Code[10] + begin + exit(H5710Tok); + end; + + procedure H572(): Code[10] + begin + exit(H572Tok); + end; + + procedure H5720(): Code[10] + begin + exit(H5720Tok); + end; + + procedure H573(): Code[10] + begin + exit(H573Tok); + end; + + procedure H5730(): Code[10] + begin + exit(H5730Tok); + end; + + procedure H574(): Code[10] + begin + exit(H574Tok); + end; + + procedure H5740(): Code[10] + begin + exit(H5740Tok); + end; + + procedure I(): Code[10] + begin + exit(ITok); + end; + + procedure I61(): Code[10] + begin + exit(I61Tok); + end; + + procedure I611(): Code[10] + begin + exit(I611Tok); + end; + + procedure I6110(): Code[10] + begin + exit(I6110Tok); + end; + + procedure I612(): Code[10] + begin + exit(I612Tok); + end; + + procedure I6121(): Code[10] + begin + exit(I6121Tok); + end; + + procedure I62(): Code[10] + begin + exit(I62Tok); + end; + + procedure I620(): Code[10] + begin + exit(I620Tok); + end; + + procedure I6200(): Code[10] + begin + exit(I6200Tok); + end; + + procedure I63(): Code[10] + begin + exit(I63Tok); + end; + + procedure I630(): Code[10] + begin + exit(I630Tok); + end; + + procedure I6301(): Code[10] + begin + exit(I6301Tok); + end; + + procedure I6302(): Code[10] + begin + exit(I6302Tok); + end; + + procedure I6303(): Code[10] + begin + exit(I6303Tok); + end; + + procedure I64(): Code[10] + begin + exit(I64Tok); + end; + + procedure I640(): Code[10] + begin + exit(I640Tok); + end; + + procedure I65(): Code[10] + begin + exit(I65Tok); + end; + + procedure I650(): Code[10] + begin + exit(I650Tok); + end; + + procedure I6501(): Code[10] + begin + exit(I6501Tok); + end; + + procedure I6509(): Code[10] + begin + exit(I6509Tok); + end; + + procedure I66(): Code[10] + begin + exit(I66Tok); + end; + + procedure I661(): Code[10] + begin + exit(I661Tok); + end; + + procedure I6611(): Code[10] + begin + exit(I6611Tok); + end; + + procedure I6619(): Code[10] + begin + exit(I6619Tok); + end; + + procedure I662(): Code[10] + begin + exit(I662Tok); + end; + + procedure I6621(): Code[10] + begin + exit(I6621Tok); + end; + + procedure I6622(): Code[10] + begin + exit(I6622Tok); + end; + + procedure I6623(): Code[10] + begin + exit(I6623Tok); + end; + + procedure I663(): Code[10] + begin + exit(I663Tok); + end; + + procedure I6630(): Code[10] + begin + exit(I6630Tok); + end; + + procedure I664(): Code[10] + begin + exit(I664Tok); + end; + + procedure I6641(): Code[10] + begin + exit(I6641Tok); + end; + + procedure I6642(): Code[10] + begin + exit(I6642Tok); + end; + + procedure I6644(): Code[10] + begin + exit(I6644Tok); + end; + + procedure I6649(): Code[10] + begin + exit(I6649Tok); + end; + + procedure I67(): Code[10] + begin + exit(I67Tok); + end; + + procedure I670(): Code[10] + begin + exit(I670Tok); + end; + + procedure I6701(): Code[10] + begin + exit(I6701Tok); + end; + + procedure I6709(): Code[10] + begin + exit(I6709Tok); + end; + + procedure J(): Code[10] + begin + exit(JTok); + end; + + procedure J71(): Code[10] + begin + exit(J71Tok); + end; + + procedure J711(): Code[10] + begin + exit(J711Tok); + end; + + procedure J7111(): Code[10] + begin + exit(J7111Tok); + end; + + procedure J7112(): Code[10] + begin + exit(J7112Tok); + end; + + procedure J712(): Code[10] + begin + exit(J712Tok); + end; + + procedure J7120(): Code[10] + begin + exit(J7120Tok); + end; + + procedure K(): Code[10] + begin + exit(KTok); + end; + + procedure K73(): Code[10] + begin + exit(K73Tok); + end; + + procedure K731(): Code[10] + begin + exit(K731Tok); + end; + + procedure K7310(): Code[10] + begin + exit(K7310Tok); + end; + + procedure K732(): Code[10] + begin + exit(K732Tok); + end; + + procedure K7321(): Code[10] + begin + exit(K7321Tok); + end; + + procedure K7322(): Code[10] + begin + exit(K7322Tok); + end; + + procedure K7323(): Code[10] + begin + exit(K7323Tok); + end; + + procedure K7324(): Code[10] + begin + exit(K7324Tok); + end; + + procedure K7329(): Code[10] + begin + exit(K7329Tok); + end; + + procedure K733(): Code[10] + begin + exit(K733Tok); + end; + + procedure K7330(): Code[10] + begin + exit(K7330Tok); + end; + + procedure K734(): Code[10] + begin + exit(K734Tok); + end; + + procedure K7340(): Code[10] + begin + exit(K7340Tok); + end; + + procedure K74(): Code[10] + begin + exit(K74Tok); + end; + + procedure K7411(): Code[10] + begin + exit(K7411Tok); + end; + + procedure K7412(): Code[10] + begin + exit(K7412Tok); + end; + + procedure K742(): Code[10] + begin + exit(K742Tok); + end; + + procedure K7421(): Code[10] + begin + exit(K7421Tok); + end; + + procedure K7422(): Code[10] + begin + exit(K7422Tok); + end; + + procedure K752(): Code[10] + begin + exit(K752Tok); + end; + + procedure K7520(): Code[10] + begin + exit(K7520Tok); + end; + + procedure L(): Code[10] + begin + exit(LTok); + end; + + procedure L77(): Code[10] + begin + exit(L77Tok); + end; + + procedure L7711(): Code[10] + begin + exit(L7711Tok); + end; + + procedure L772(): Code[10] + begin + exit(L772Tok); + end; + + procedure L7720(): Code[10] + begin + exit(L7720Tok); + end; + + procedure L773(): Code[10] + begin + exit(L773Tok); + end; + + procedure L7730(): Code[10] + begin + exit(L7730Tok); + end; + + procedure L7741(): Code[10] + begin + exit(L7741Tok); + end; + + procedure L7743(): Code[10] + begin + exit(L7743Tok); + end; + + procedure L78(): Code[10] + begin + exit(L78Tok); + end; + + procedure L781(): Code[10] + begin + exit(L781Tok); + end; + + procedure L7810(): Code[10] + begin + exit(L7810Tok); + end; + + procedure L782(): Code[10] + begin + exit(L782Tok); + end; + + procedure L7821(): Code[10] + begin + exit(L7821Tok); + end; + + procedure L7822(): Code[10] + begin + exit(L7822Tok); + end; + + procedure L7829(): Code[10] + begin + exit(L7829Tok); + end; + + procedure L783(): Code[10] + begin + exit(L783Tok); + end; + + procedure L7831(): Code[10] + begin + exit(L7831Tok); + end; + + procedure L7833(): Code[10] + begin + exit(L7833Tok); + end; + + procedure L7834(): Code[10] + begin + exit(L7834Tok); + end; + + procedure L784(): Code[10] + begin + exit(L784Tok); + end; + + procedure L7841(): Code[10] + begin + exit(L7841Tok); + end; + + procedure L7842(): Code[10] + begin + exit(L7842Tok); + end; + + procedure L7851(): Code[10] + begin + exit(L7851Tok); + end; + + procedure L7853(): Code[10] + begin + exit(L7853Tok); + end; + + procedure L7855(): Code[10] + begin + exit(L7855Tok); + end; + + procedure L786(): Code[10] + begin + exit(L786Tok); + end; + + procedure L7861(): Code[10] + begin + exit(L7861Tok); + end; + + procedure L7862(): Code[10] + begin + exit(L7862Tok); + end; + + procedure L7863(): Code[10] + begin + exit(L7863Tok); + end; + + procedure L7865(): Code[10] + begin + exit(L7865Tok); + end; + + procedure L7866(): Code[10] + begin + exit(L7866Tok); + end; + + procedure L7867(): Code[10] + begin + exit(L7867Tok); + end; + + procedure L7869(): Code[10] + begin + exit(L7869Tok); + end; + + procedure M81(): Code[10] + begin + exit(M81Tok); + end; + + procedure M811(): Code[10] + begin + exit(M811Tok); + end; + + procedure M812(): Code[10] + begin + exit(M812Tok); + end; + + procedure M8120(): Code[10] + begin + exit(M8120Tok); + end; + + procedure M82(): Code[10] + begin + exit(M82Tok); + end; + + procedure M820(): Code[10] + begin + exit(M820Tok); + end; + + procedure M8200(): Code[10] + begin + exit(M8200Tok); + end; + + procedure N(): Code[10] + begin + exit(NTok); + end; + + procedure N84(): Code[10] + begin + exit(N84Tok); + end; + + procedure N841(): Code[10] + begin + exit(N841Tok); + end; + + procedure N8410(): Code[10] + begin + exit(N8410Tok); + end; + + procedure N842(): Code[10] + begin + exit(N842Tok); + end; + + procedure N8421(): Code[10] + begin + exit(N8421Tok); + end; + + procedure N8422(): Code[10] + begin + exit(N8422Tok); + end; + + procedure N8424(): Code[10] + begin + exit(N8424Tok); + end; + + procedure N843(): Code[10] + begin + exit(N843Tok); + end; + + procedure N8431(): Code[10] + begin + exit(N8431Tok); + end; + + procedure N844(): Code[10] + begin + exit(N844Tok); + end; + + procedure N8440(): Code[10] + begin + exit(N8440Tok); + end; + + procedure O(): Code[10] + begin + exit(OTok); + end; + + procedure O86(): Code[10] + begin + exit(O86Tok); + end; + + procedure O861(): Code[10] + begin + exit(O861Tok); + end; + + procedure O8612(): Code[10] + begin + exit(O8612Tok); + end; + + procedure O8613(): Code[10] + begin + exit(O8613Tok); + end; + + procedure O862(): Code[10] + begin + exit(O862Tok); + end; + + procedure O8622(): Code[10] + begin + exit(O8622Tok); + end; + + procedure O8623(): Code[10] + begin + exit(O8623Tok); + end; + + procedure O863(): Code[10] + begin + exit(O863Tok); + end; + + procedure O8631(): Code[10] + begin + exit(O8631Tok); + end; + + procedure O8633(): Code[10] + begin + exit(O8633Tok); + end; + + procedure O8634(): Code[10] + begin + exit(O8634Tok); + end; + + procedure O8635(): Code[10] + begin + exit(O8635Tok); + end; + + procedure O8636(): Code[10] + begin + exit(O8636Tok); + end; + + procedure O8639(): Code[10] + begin + exit(O8639Tok); + end; + + procedure O864(): Code[10] + begin + exit(O864Tok); + end; + + procedure O8640(): Code[10] + begin + exit(O8640Tok); + end; + + procedure O87(): Code[10] + begin + exit(O87Tok); + end; + + procedure O871(): Code[10] + begin + exit(O871Tok); + end; + + procedure O8710(): Code[10] + begin + exit(O8710Tok); + end; + + procedure O872(): Code[10] + begin + exit(O872Tok); + end; + + procedure O8721(): Code[10] + begin + exit(O8721Tok); + end; + + procedure O8722(): Code[10] + begin + exit(O8722Tok); + end; + + procedure P911(): Code[10] + begin + exit(P911Tok); + end; + + procedure P9111(): Code[10] + begin + exit(P9111Tok); + end; + + procedure P9112(): Code[10] + begin + exit(P9112Tok); + end; + + procedure P9113(): Code[10] + begin + exit(P9113Tok); + end; + + procedure P912(): Code[10] + begin + exit(P912Tok); + end; + + procedure P9121(): Code[10] + begin + exit(P9121Tok); + end; + + procedure P9122(): Code[10] + begin + exit(P9122Tok); + end; + + procedure P921(): Code[10] + begin + exit(P921Tok); + end; + + procedure P9210(): Code[10] + begin + exit(P9210Tok); + end; + + procedure P922(): Code[10] + begin + exit(P922Tok); + end; + + procedure P9220(): Code[10] + begin + exit(P9220Tok); + end; + + procedure P923(): Code[10] + begin + exit(P923Tok); + end; + + procedure P9231(): Code[10] + begin + exit(P9231Tok); + end; + + procedure P9239(): Code[10] + begin + exit(P9239Tok); + end; + + procedure P924(): Code[10] + begin + exit(P924Tok); + end; + + procedure P9241(): Code[10] + begin + exit(P9241Tok); + end; + + procedure P9242(): Code[10] + begin + exit(P9242Tok); + end; + + procedure P925(): Code[10] + begin + exit(P925Tok); + end; + + procedure P9251(): Code[10] + begin + exit(P9251Tok); + end; + + procedure P9252(): Code[10] + begin + exit(P9252Tok); + end; + + procedure P9259(): Code[10] + begin + exit(P9259Tok); + end; + + procedure P93(): Code[10] + begin + exit(P93Tok); + end; + + procedure P931(): Code[10] + begin + exit(P931Tok); + end; + + procedure P9311(): Code[10] + begin + exit(P9311Tok); + end; + + procedure P932(): Code[10] + begin + exit(P932Tok); + end; + + procedure P9321(): Code[10] + begin + exit(P9321Tok); + end; + + procedure P9322(): Code[10] + begin + exit(P9322Tok); + end; + + procedure P9329(): Code[10] + begin + exit(P9329Tok); + end; + + procedure P933(): Code[10] + begin + exit(P933Tok); + end; + + procedure P9330(): Code[10] + begin + exit(P9330Tok); + end; + + procedure Q(): Code[10] + begin + exit(QTok); + end; + + procedure Q95(): Code[10] + begin + exit(Q95Tok); + end; + + procedure Q9511(): Code[10] + begin + exit(Q9511Tok); + end; + + procedure Q952(): Code[10] + begin + exit(Q952Tok); + end; + + procedure Q9521(): Code[10] + begin + exit(Q9521Tok); + end; + + procedure Q9522(): Code[10] + begin + exit(Q9522Tok); + end; + + procedure Q9523(): Code[10] + begin + exit(Q9523Tok); + end; + + procedure Q9525(): Code[10] + begin + exit(Q9525Tok); + end; + + procedure Q9526(): Code[10] + begin + exit(Q9526Tok); + end; + + procedure Q9529(): Code[10] + begin + exit(Q9529Tok); + end; + + procedure Q96(): Code[10] + begin + exit(Q96Tok); + end; + + procedure Q961(): Code[10] + begin + exit(Q961Tok); + end; + + procedure Q9610(): Code[10] + begin + exit(Q9610Tok); + end; + + procedure Q962(): Code[10] + begin + exit(Q962Tok); + end; + + procedure Q9622(): Code[10] + begin + exit(Q9622Tok); + end; + + procedure Q9629(): Code[10] + begin + exit(Q9629Tok); + end; + + procedure Q9631(): Code[10] + begin + exit(Q9631Tok); + end; + + procedure Q9632(): Code[10] + begin + exit(Q9632Tok); + end; + + procedure Q9633(): Code[10] + begin + exit(Q9633Tok); + end; + + procedure Q9634(): Code[10] + begin + exit(Q9634Tok); + end; + + var + A1Tok: Label 'A1', MaxLength = 10; + A11Tok: Label 'A11', MaxLength = 10; + A111Tok: Label 'A111', MaxLength = 10; + A113Tok: Label 'A113', MaxLength = 10; + A114Tok: Label 'A114', MaxLength = 10; + A115Tok: Label 'A115', MaxLength = 10; + A116Tok: Label 'A116', MaxLength = 10; + A117Tok: Label 'A117', MaxLength = 10; + A119Tok: Label 'A119', MaxLength = 10; + A121Tok: Label 'A121', MaxLength = 10; + A123Tok: Label 'A123', MaxLength = 10; + A124Tok: Label 'A124', MaxLength = 10; + A125Tok: Label 'A125', MaxLength = 10; + A13Tok: Label 'A13', MaxLength = 10; + A130Tok: Label 'A130', MaxLength = 10; + A14Tok: Label 'A14', MaxLength = 10; + A141Tok: Label 'A141', MaxLength = 10; + A142Tok: Label 'A142', MaxLength = 10; + A15Tok: Label 'A15', MaxLength = 10; + A151Tok: Label 'A151', MaxLength = 10; + A152Tok: Label 'A152', MaxLength = 10; + A153Tok: Label 'A153', MaxLength = 10; + A159Tok: Label 'A159', MaxLength = 10; + A16Tok: Label 'A16', MaxLength = 10; + A161Tok: Label 'A161', MaxLength = 10; + A162Tok: Label 'A162', MaxLength = 10; + A169Tok: Label 'A169', MaxLength = 10; + A21Tok: Label 'A21', MaxLength = 10; + A211Tok: Label 'A211', MaxLength = 10; + A212Tok: Label 'A212', MaxLength = 10; + A213Tok: Label 'A213', MaxLength = 10; + A219Tok: Label 'A219', MaxLength = 10; + A22Tok: Label 'A22', MaxLength = 10; + A220Tok: Label 'A220', MaxLength = 10; + A3Tok: Label 'A3', MaxLength = 10; + A30Tok: Label 'A30', MaxLength = 10; + A301Tok: Label 'A301', MaxLength = 10; + A302Tok: Label 'A302', MaxLength = 10; + A303Tok: Label 'A303', MaxLength = 10; + A4Tok: Label 'A4', MaxLength = 10; + A41Tok: Label 'A41', MaxLength = 10; + A411Tok: Label 'A411', MaxLength = 10; + A412Tok: Label 'A412', MaxLength = 10; + A413Tok: Label 'A413', MaxLength = 10; + A414Tok: Label 'A414', MaxLength = 10; + A415Tok: Label 'A415', MaxLength = 10; + A419Tok: Label 'A419', MaxLength = 10; + A42Tok: Label 'A42', MaxLength = 10; + A420Tok: Label 'A420', MaxLength = 10; + BTok: Label 'B', MaxLength = 10; + B11Tok: Label 'B11', MaxLength = 10; + B110Tok: Label 'B110', MaxLength = 10; + B1101Tok: Label 'B1101', MaxLength = 10; + B1102Tok: Label 'B1102', MaxLength = 10; + B12Tok: Label 'B12', MaxLength = 10; + B120Tok: Label 'B120', MaxLength = 10; + B1200Tok: Label 'B1200', MaxLength = 10; + B13Tok: Label 'B13', MaxLength = 10; + B131Tok: Label 'B131', MaxLength = 10; + B1311Tok: Label 'B1311', MaxLength = 10; + B1312Tok: Label 'B1312', MaxLength = 10; + B1313Tok: Label 'B1313', MaxLength = 10; + B1314Tok: Label 'B1314', MaxLength = 10; + B1315Tok: Label 'B1315', MaxLength = 10; + B1316Tok: Label 'B1316', MaxLength = 10; + B1317Tok: Label 'B1317', MaxLength = 10; + B1319Tok: Label 'B1319', MaxLength = 10; + B14Tok: Label 'B14', MaxLength = 10; + B141Tok: Label 'B141', MaxLength = 10; + B1411Tok: Label 'B1411', MaxLength = 10; + B142Tok: Label 'B142', MaxLength = 10; + B1420Tok: Label 'B1420', MaxLength = 10; + B15Tok: Label 'B15', MaxLength = 10; + B151Tok: Label 'B151', MaxLength = 10; + B1512Tok: Label 'B1512', MaxLength = 10; + B1514Tok: Label 'B1514', MaxLength = 10; + B152Tok: Label 'B152', MaxLength = 10; + B1520Tok: Label 'B1520', MaxLength = 10; + CTok: Label 'C', MaxLength = 10; + C21Tok: Label 'C21', MaxLength = 10; + C2111Tok: Label 'C2111', MaxLength = 10; + C2112Tok: Label 'C2112', MaxLength = 10; + C212Tok: Label 'C212', MaxLength = 10; + C2121Tok: Label 'C2121', MaxLength = 10; + C2122Tok: Label 'C2122', MaxLength = 10; + C213Tok: Label 'C213', MaxLength = 10; + C2130Tok: Label 'C2130', MaxLength = 10; + C214Tok: Label 'C214', MaxLength = 10; + C2140Tok: Label 'C2140', MaxLength = 10; + C216Tok: Label 'C216', MaxLength = 10; + C2161Tok: Label 'C2161', MaxLength = 10; + C2162Tok: Label 'C2162', MaxLength = 10; + C2163Tok: Label 'C2163', MaxLength = 10; + C217Tok: Label 'C217', MaxLength = 10; + C2171Tok: Label 'C2171', MaxLength = 10; + C2172Tok: Label 'C2172', MaxLength = 10; + C2173Tok: Label 'C2173', MaxLength = 10; + C2179Tok: Label 'C2179', MaxLength = 10; + C2182Tok: Label 'C2182', MaxLength = 10; + C2183Tok: Label 'C2183', MaxLength = 10; + C2184Tok: Label 'C2184', MaxLength = 10; + C219Tok: Label 'C219', MaxLength = 10; + C2190Tok: Label 'C2190', MaxLength = 10; + C2211Tok: Label 'C2211', MaxLength = 10; + C2213Tok: Label 'C2213', MaxLength = 10; + C2214Tok: Label 'C2214', MaxLength = 10; + C2215Tok: Label 'C2215', MaxLength = 10; + C222Tok: Label 'C222', MaxLength = 10; + C223Tok: Label 'C223', MaxLength = 10; + C2231Tok: Label 'C2231', MaxLength = 10; + C224Tok: Label 'C224', MaxLength = 10; + C2249Tok: Label 'C2249', MaxLength = 10; + C225Tok: Label 'C225', MaxLength = 10; + C2250Tok: Label 'C2250', MaxLength = 10; + C2311Tok: Label 'C2311', MaxLength = 10; + C2312Tok: Label 'C2312', MaxLength = 10; + C2313Tok: Label 'C2313', MaxLength = 10; + C2322Tok: Label 'C2322', MaxLength = 10; + C2329Tok: Label 'C2329', MaxLength = 10; + C2411Tok: Label 'C2411', MaxLength = 10; + C2412Tok: Label 'C2412', MaxLength = 10; + C2413Tok: Label 'C2413', MaxLength = 10; + C242Tok: Label 'C242', MaxLength = 10; + C2422Tok: Label 'C2422', MaxLength = 10; + C2423Tok: Label 'C2423', MaxLength = 10; + C251Tok: Label 'C251', MaxLength = 10; + C2510Tok: Label 'C2510', MaxLength = 10; + C253Tok: Label 'C253', MaxLength = 10; + C2531Tok: Label 'C2531', MaxLength = 10; + C2532Tok: Label 'C2532', MaxLength = 10; + C2533Tok: Label 'C2533', MaxLength = 10; + C2541Tok: Label 'C2541', MaxLength = 10; + C2542Tok: Label 'C2542', MaxLength = 10; + C2544Tok: Label 'C2544', MaxLength = 10; + C2547Tok: Label 'C2547', MaxLength = 10; + C255Tok: Label 'C255', MaxLength = 10; + C2551Tok: Label 'C2551', MaxLength = 10; + C256Tok: Label 'C256', MaxLength = 10; + C262Tok: Label 'C262', MaxLength = 10; + C2621Tok: Label 'C2621', MaxLength = 10; + C2622Tok: Label 'C2622', MaxLength = 10; + C2631Tok: Label 'C2631', MaxLength = 10; + C2632Tok: Label 'C2632', MaxLength = 10; + C2633Tok: Label 'C2633', MaxLength = 10; + C27Tok: Label 'C27', MaxLength = 10; + C271Tok: Label 'C271', MaxLength = 10; + C2721Tok: Label 'C2721', MaxLength = 10; + C2722Tok: Label 'C2722', MaxLength = 10; + C2733Tok: Label 'C2733', MaxLength = 10; + C2741Tok: Label 'C2741', MaxLength = 10; + C2751Tok: Label 'C2751', MaxLength = 10; + C2764Tok: Label 'C2764', MaxLength = 10; + C2811Tok: Label 'C2811', MaxLength = 10; + C2821Tok: Label 'C2821', MaxLength = 10; + C2822Tok: Label 'C2822', MaxLength = 10; + C2824Tok: Label 'C2824', MaxLength = 10; + C2853Tok: Label 'C2853', MaxLength = 10; + C29Tok: Label 'C29', MaxLength = 10; + C292Tok: Label 'C292', MaxLength = 10; + C2929Tok: Label 'C2929', MaxLength = 10; + C294Tok: Label 'C294', MaxLength = 10; + C2949Tok: Label 'C2949', MaxLength = 10; + D36Tok: Label 'D36', MaxLength = 10; + D361Tok: Label 'D361', MaxLength = 10; + D3610Tok: Label 'D3610', MaxLength = 10; + D362Tok: Label 'D362', MaxLength = 10; + D3620Tok: Label 'D3620', MaxLength = 10; + D3701Tok: Label 'D3701', MaxLength = 10; + D3702Tok: Label 'D3702', MaxLength = 10; + ETok: Label 'E', MaxLength = 10; + E41Tok: Label 'E41', MaxLength = 10; + E411Tok: Label 'E411', MaxLength = 10; + E4111Tok: Label 'E4111', MaxLength = 10; + E412Tok: Label 'E412', MaxLength = 10; + E4121Tok: Label 'E4121', MaxLength = 10; + E4122Tok: Label 'E4122', MaxLength = 10; + E42Tok: Label 'E42', MaxLength = 10; + E421Tok: Label 'E421', MaxLength = 10; + E4210Tok: Label 'E4210', MaxLength = 10; + E422Tok: Label 'E422', MaxLength = 10; + E4221Tok: Label 'E4221', MaxLength = 10; + E4222Tok: Label 'E4222', MaxLength = 10; + E4223Tok: Label 'E4223', MaxLength = 10; + E423Tok: Label 'E423', MaxLength = 10; + E4231Tok: Label 'E4231', MaxLength = 10; + E4232Tok: Label 'E4232', MaxLength = 10; + E424Tok: Label 'E424', MaxLength = 10; + E4242Tok: Label 'E4242', MaxLength = 10; + E4243Tok: Label 'E4243', MaxLength = 10; + E4245Tok: Label 'E4245', MaxLength = 10; + E425Tok: Label 'E425', MaxLength = 10; + E4251Tok: Label 'E4251', MaxLength = 10; + E4259Tok: Label 'E4259', MaxLength = 10; + FTok: Label 'F', MaxLength = 10; + F45Tok: Label 'F45', MaxLength = 10; + F451Tok: Label 'F451', MaxLength = 10; + F4511Tok: Label 'F4511', MaxLength = 10; + F4512Tok: Label 'F4512', MaxLength = 10; + F4521Tok: Label 'F4521', MaxLength = 10; + F4522Tok: Label 'F4522', MaxLength = 10; + F4523Tok: Label 'F4523', MaxLength = 10; + F453Tok: Label 'F453', MaxLength = 10; + F4531Tok: Label 'F4531', MaxLength = 10; + F4613Tok: Label 'F4613', MaxLength = 10; + F462Tok: Label 'F462', MaxLength = 10; + F4621Tok: Label 'F4621', MaxLength = 10; + F4622Tok: Label 'F4622', MaxLength = 10; + F4623Tok: Label 'F4623', MaxLength = 10; + F4711Tok: Label 'F4711', MaxLength = 10; + F4713Tok: Label 'F4713', MaxLength = 10; + F4714Tok: Label 'F4714', MaxLength = 10; + F4717Tok: Label 'F4717', MaxLength = 10; + F4718Tok: Label 'F4718', MaxLength = 10; + F4719Tok: Label 'F4719', MaxLength = 10; + F4721Tok: Label 'F4721', MaxLength = 10; + F4722Tok: Label 'F4722', MaxLength = 10; + F4723Tok: Label 'F4723', MaxLength = 10; + F473Tok: Label 'F473', MaxLength = 10; + F4732Tok: Label 'F4732', MaxLength = 10; + F4733Tok: Label 'F4733', MaxLength = 10; + F4739Tok: Label 'F4739', MaxLength = 10; + F479Tok: Label 'F479', MaxLength = 10; + F4794Tok: Label 'F4794', MaxLength = 10; + F4795Tok: Label 'F4795', MaxLength = 10; + F4799Tok: Label 'F4799', MaxLength = 10; + GTok: Label 'G', MaxLength = 10; + G51Tok: Label 'G51', MaxLength = 10; + G511Tok: Label 'G511', MaxLength = 10; + G5110Tok: Label 'G5110', MaxLength = 10; + G512Tok: Label 'G512', MaxLength = 10; + G5122Tok: Label 'G5122', MaxLength = 10; + G5123Tok: Label 'G5123', MaxLength = 10; + G5124Tok: Label 'G5124', MaxLength = 10; + G5125Tok: Label 'G5125', MaxLength = 10; + G5126Tok: Label 'G5126', MaxLength = 10; + G5129Tok: Label 'G5129', MaxLength = 10; + G521Tok: Label 'G521', MaxLength = 10; + G5210Tok: Label 'G5210', MaxLength = 10; + G5221Tok: Label 'G5221', MaxLength = 10; + G5222Tok: Label 'G5222', MaxLength = 10; + G5231Tok: Label 'G5231', MaxLength = 10; + G5232Tok: Label 'G5232', MaxLength = 10; + G5234Tok: Label 'G5234', MaxLength = 10; + G5235Tok: Label 'G5235', MaxLength = 10; + G524Tok: Label 'G524', MaxLength = 10; + G5242Tok: Label 'G5242', MaxLength = 10; + G5245Tok: Label 'G5245', MaxLength = 10; + G5253Tok: Label 'G5253', MaxLength = 10; + G5254Tok: Label 'G5254', MaxLength = 10; + G5255Tok: Label 'G5255', MaxLength = 10; + G5259Tok: Label 'G5259', MaxLength = 10; + G531Tok: Label 'G531', MaxLength = 10; + G5311Tok: Label 'G5311', MaxLength = 10; + G5312Tok: Label 'G5312', MaxLength = 10; + G5313Tok: Label 'G5313', MaxLength = 10; + G532Tok: Label 'G532', MaxLength = 10; + G5321Tok: Label 'G5321', MaxLength = 10; + G5322Tok: Label 'G5322', MaxLength = 10; + G5323Tok: Label 'G5323', MaxLength = 10; + G5324Tok: Label 'G5324', MaxLength = 10; + H571Tok: Label 'H571', MaxLength = 10; + H5710Tok: Label 'H5710', MaxLength = 10; + H572Tok: Label 'H572', MaxLength = 10; + H5720Tok: Label 'H5720', MaxLength = 10; + H573Tok: Label 'H573', MaxLength = 10; + H5730Tok: Label 'H5730', MaxLength = 10; + H574Tok: Label 'H574', MaxLength = 10; + H5740Tok: Label 'H5740', MaxLength = 10; + ITok: Label 'I', MaxLength = 10; + I61Tok: Label 'I61', MaxLength = 10; + I611Tok: Label 'I611', MaxLength = 10; + I6110Tok: Label 'I6110', MaxLength = 10; + I612Tok: Label 'I612', MaxLength = 10; + I6121Tok: Label 'I6121', MaxLength = 10; + I62Tok: Label 'I62', MaxLength = 10; + I620Tok: Label 'I620', MaxLength = 10; + I6200Tok: Label 'I6200', MaxLength = 10; + I63Tok: Label 'I63', MaxLength = 10; + I630Tok: Label 'I630', MaxLength = 10; + I6301Tok: Label 'I6301', MaxLength = 10; + I6302Tok: Label 'I6302', MaxLength = 10; + I6303Tok: Label 'I6303', MaxLength = 10; + I64Tok: Label 'I64', MaxLength = 10; + I640Tok: Label 'I640', MaxLength = 10; + I65Tok: Label 'I65', MaxLength = 10; + I650Tok: Label 'I650', MaxLength = 10; + I6501Tok: Label 'I6501', MaxLength = 10; + I6509Tok: Label 'I6509', MaxLength = 10; + I66Tok: Label 'I66', MaxLength = 10; + I661Tok: Label 'I661', MaxLength = 10; + I6611Tok: Label 'I6611', MaxLength = 10; + I6619Tok: Label 'I6619', MaxLength = 10; + I662Tok: Label 'I662', MaxLength = 10; + I6621Tok: Label 'I6621', MaxLength = 10; + I6622Tok: Label 'I6622', MaxLength = 10; + I6623Tok: Label 'I6623', MaxLength = 10; + I663Tok: Label 'I663', MaxLength = 10; + I6630Tok: Label 'I6630', MaxLength = 10; + I664Tok: Label 'I664', MaxLength = 10; + I6641Tok: Label 'I6641', MaxLength = 10; + I6642Tok: Label 'I6642', MaxLength = 10; + I6644Tok: Label 'I6644', MaxLength = 10; + I6649Tok: Label 'I6649', MaxLength = 10; + I67Tok: Label 'I67', MaxLength = 10; + I670Tok: Label 'I670', MaxLength = 10; + I6701Tok: Label 'I6701', MaxLength = 10; + I6709Tok: Label 'I6709', MaxLength = 10; + JTok: Label 'J', MaxLength = 10; + J71Tok: Label 'J71', MaxLength = 10; + J711Tok: Label 'J711', MaxLength = 10; + J7111Tok: Label 'J7111', MaxLength = 10; + J7112Tok: Label 'J7112', MaxLength = 10; + J712Tok: Label 'J712', MaxLength = 10; + J7120Tok: Label 'J7120', MaxLength = 10; + KTok: Label 'K', MaxLength = 10; + K73Tok: Label 'K73', MaxLength = 10; + K731Tok: Label 'K731', MaxLength = 10; + K7310Tok: Label 'K7310', MaxLength = 10; + K732Tok: Label 'K732', MaxLength = 10; + K7321Tok: Label 'K7321', MaxLength = 10; + K7322Tok: Label 'K7322', MaxLength = 10; + K7323Tok: Label 'K7323', MaxLength = 10; + K7324Tok: Label 'K7324', MaxLength = 10; + K7329Tok: Label 'K7329', MaxLength = 10; + K733Tok: Label 'K733', MaxLength = 10; + K7330Tok: Label 'K7330', MaxLength = 10; + K734Tok: Label 'K734', MaxLength = 10; + K7340Tok: Label 'K7340', MaxLength = 10; + K74Tok: Label 'K74', MaxLength = 10; + K7411Tok: Label 'K7411', MaxLength = 10; + K7412Tok: Label 'K7412', MaxLength = 10; + K742Tok: Label 'K742', MaxLength = 10; + K7421Tok: Label 'K7421', MaxLength = 10; + K7422Tok: Label 'K7422', MaxLength = 10; + K752Tok: Label 'K752', MaxLength = 10; + K7520Tok: Label 'K7520', MaxLength = 10; + LTok: Label 'L', MaxLength = 10; + L77Tok: Label 'L77', MaxLength = 10; + L7711Tok: Label 'L7711', MaxLength = 10; + L772Tok: Label 'L772', MaxLength = 10; + L7720Tok: Label 'L7720', MaxLength = 10; + L773Tok: Label 'L773', MaxLength = 10; + L7730Tok: Label 'L7730', MaxLength = 10; + L7741Tok: Label 'L7741', MaxLength = 10; + L7743Tok: Label 'L7743', MaxLength = 10; + L78Tok: Label 'L78', MaxLength = 10; + L781Tok: Label 'L781', MaxLength = 10; + L7810Tok: Label 'L7810', MaxLength = 10; + L782Tok: Label 'L782', MaxLength = 10; + L7821Tok: Label 'L7821', MaxLength = 10; + L7822Tok: Label 'L7822', MaxLength = 10; + L7829Tok: Label 'L7829', MaxLength = 10; + L783Tok: Label 'L783', MaxLength = 10; + L7831Tok: Label 'L7831', MaxLength = 10; + L7833Tok: Label 'L7833', MaxLength = 10; + L7834Tok: Label 'L7834', MaxLength = 10; + L784Tok: Label 'L784', MaxLength = 10; + L7841Tok: Label 'L7841', MaxLength = 10; + L7842Tok: Label 'L7842', MaxLength = 10; + L7851Tok: Label 'L7851', MaxLength = 10; + L7853Tok: Label 'L7853', MaxLength = 10; + L7855Tok: Label 'L7855', MaxLength = 10; + L786Tok: Label 'L786', MaxLength = 10; + L7861Tok: Label 'L7861', MaxLength = 10; + L7862Tok: Label 'L7862', MaxLength = 10; + L7863Tok: Label 'L7863', MaxLength = 10; + L7865Tok: Label 'L7865', MaxLength = 10; + L7866Tok: Label 'L7866', MaxLength = 10; + L7867Tok: Label 'L7867', MaxLength = 10; + L7869Tok: Label 'L7869', MaxLength = 10; + M81Tok: Label 'M81', MaxLength = 10; + M811Tok: Label 'M811', MaxLength = 10; + M812Tok: Label 'M812', MaxLength = 10; + M8120Tok: Label 'M8120', MaxLength = 10; + M82Tok: Label 'M82', MaxLength = 10; + M820Tok: Label 'M820', MaxLength = 10; + M8200Tok: Label 'M8200', MaxLength = 10; + NTok: Label 'N', MaxLength = 10; + N84Tok: Label 'N84', MaxLength = 10; + N841Tok: Label 'N841', MaxLength = 10; + N8410Tok: Label 'N8410', MaxLength = 10; + N842Tok: Label 'N842', MaxLength = 10; + N8421Tok: Label 'N8421', MaxLength = 10; + N8422Tok: Label 'N8422', MaxLength = 10; + N8424Tok: Label 'N8424', MaxLength = 10; + N843Tok: Label 'N843', MaxLength = 10; + N8431Tok: Label 'N8431', MaxLength = 10; + N844Tok: Label 'N844', MaxLength = 10; + N8440Tok: Label 'N8440', MaxLength = 10; + OTok: Label 'O', MaxLength = 10; + O86Tok: Label 'O86', MaxLength = 10; + O861Tok: Label 'O861', MaxLength = 10; + O8612Tok: Label 'O8612', MaxLength = 10; + O8613Tok: Label 'O8613', MaxLength = 10; + O862Tok: Label 'O862', MaxLength = 10; + O8622Tok: Label 'O8622', MaxLength = 10; + O8623Tok: Label 'O8623', MaxLength = 10; + O863Tok: Label 'O863', MaxLength = 10; + O8631Tok: Label 'O8631', MaxLength = 10; + O8633Tok: Label 'O8633', MaxLength = 10; + O8634Tok: Label 'O8634', MaxLength = 10; + O8635Tok: Label 'O8635', MaxLength = 10; + O8636Tok: Label 'O8636', MaxLength = 10; + O8639Tok: Label 'O8639', MaxLength = 10; + O864Tok: Label 'O864', MaxLength = 10; + O8640Tok: Label 'O8640', MaxLength = 10; + O87Tok: Label 'O87', MaxLength = 10; + O871Tok: Label 'O871', MaxLength = 10; + O8710Tok: Label 'O8710', MaxLength = 10; + O872Tok: Label 'O872', MaxLength = 10; + O8721Tok: Label 'O8721', MaxLength = 10; + O8722Tok: Label 'O8722', MaxLength = 10; + P911Tok: Label 'P911', MaxLength = 10; + P9111Tok: Label 'P9111', MaxLength = 10; + P9112Tok: Label 'P9112', MaxLength = 10; + P9113Tok: Label 'P9113', MaxLength = 10; + P912Tok: Label 'P912', MaxLength = 10; + P9121Tok: Label 'P9121', MaxLength = 10; + P9122Tok: Label 'P9122', MaxLength = 10; + P921Tok: Label 'P921', MaxLength = 10; + P9210Tok: Label 'P9210', MaxLength = 10; + P922Tok: Label 'P922', MaxLength = 10; + P9220Tok: Label 'P9220', MaxLength = 10; + P923Tok: Label 'P923', MaxLength = 10; + P9231Tok: Label 'P9231', MaxLength = 10; + P9239Tok: Label 'P9239', MaxLength = 10; + P924Tok: Label 'P924', MaxLength = 10; + P9241Tok: Label 'P9241', MaxLength = 10; + P9242Tok: Label 'P9242', MaxLength = 10; + P925Tok: Label 'P925', MaxLength = 10; + P9251Tok: Label 'P9251', MaxLength = 10; + P9252Tok: Label 'P9252', MaxLength = 10; + P9259Tok: Label 'P9259', MaxLength = 10; + P93Tok: Label 'P93', MaxLength = 10; + P931Tok: Label 'P931', MaxLength = 10; + P9311Tok: Label 'P9311', MaxLength = 10; + P932Tok: Label 'P932', MaxLength = 10; + P9321Tok: Label 'P9321', MaxLength = 10; + P9322Tok: Label 'P9322', MaxLength = 10; + P9329Tok: Label 'P9329', MaxLength = 10; + P933Tok: Label 'P933', MaxLength = 10; + P9330Tok: Label 'P9330', MaxLength = 10; + QTok: Label 'Q', MaxLength = 10; + Q95Tok: Label 'Q95', MaxLength = 10; + Q9511Tok: Label 'Q9511', MaxLength = 10; + Q952Tok: Label 'Q952', MaxLength = 10; + Q9521Tok: Label 'Q9521', MaxLength = 10; + Q9522Tok: Label 'Q9522', MaxLength = 10; + Q9523Tok: Label 'Q9523', MaxLength = 10; + Q9525Tok: Label 'Q9525', MaxLength = 10; + Q9526Tok: Label 'Q9526', MaxLength = 10; + Q9529Tok: Label 'Q9529', MaxLength = 10; + Q96Tok: Label 'Q96', MaxLength = 10; + Q961Tok: Label 'Q961', MaxLength = 10; + Q9610Tok: Label 'Q9610', MaxLength = 10; + Q962Tok: Label 'Q962', MaxLength = 10; + Q9622Tok: Label 'Q9622', MaxLength = 10; + Q9629Tok: Label 'Q9629', MaxLength = 10; + Q9631Tok: Label 'Q9631', MaxLength = 10; + Q9632Tok: Label 'Q9632', MaxLength = 10; + Q9633Tok: Label 'Q9633', MaxLength = 10; + Q9634Tok: Label 'Q9634', MaxLength = 10; + AgricultureLbl: Label 'Agriculture', MaxLength = 100; + HorticultureAndFruitGrowingLbl: Label 'Horticulture and Fruit Growing', MaxLength = 100; + PlantNurseriesLbl: Label 'Plant Nurseries', MaxLength = 100; + VegetableGrowingLbl: Label 'Vegetable Growing', MaxLength = 100; + GrapeGrowingLbl: Label 'Grape Growing', MaxLength = 100; + AppleAndPearGrowingLbl: Label 'Apple and Pear Growing', MaxLength = 100; + StoneFruitGrowingLbl: Label 'Stone Fruit Growing', MaxLength = 100; + KiwiFruitGrowingLbl: Label 'Kiwi Fruit Growing', MaxLength = 100; + FruitGrowingNecLbl: Label 'Fruit Growing NEC', MaxLength = 100; + GrainGrowingLbl: Label 'Grain Growing', MaxLength = 100; + SheepBeefCattleFarmingLbl: Label 'Sheep-Beef Cattle Farming', MaxLength = 100; + SheepFarmingLbl: Label 'Sheep Farming', MaxLength = 100; + BeefCattleFarmingLbl: Label 'Beef Cattle Farming', MaxLength = 100; + DairyCattleFarmingLbl: Label 'Dairy Cattle Farming', MaxLength = 100; + PoultryFarmingLbl: Label 'Poultry Farming', MaxLength = 100; + PoultryFarmingMeatLbl: Label 'Poultry Farming (Meat)', MaxLength = 100; + PoultryFarmingEggsLbl: Label 'Poultry Farming (Eggs)', MaxLength = 100; + OtherLivestockFarmingLbl: Label 'Other Livestock Farming', MaxLength = 100; + PigFarmingLbl: Label 'Pig Farming', MaxLength = 100; + HorseFarmingLbl: Label 'Horse Farming', MaxLength = 100; + DeerFarmingLbl: Label 'Deer Farming', MaxLength = 100; + LivestockFarmingNecLbl: Label 'Livestock Farming NEC', MaxLength = 100; + OtherCropGrowingLbl: Label 'Other Crop Growing', MaxLength = 100; + SugarCaneGrowingLbl: Label 'Sugar Cane Growing', MaxLength = 100; + CottonGrowingLbl: Label 'Cotton Growing', MaxLength = 100; + CropAndPlantGrowingNecLbl: Label 'Crop and Plant Growing NEC', MaxLength = 100; + ServicesToAgricultureLbl: Label 'Services to Agriculture', MaxLength = 100; + CottonGinningLbl: Label 'Cotton Ginning', MaxLength = 100; + ShearingServicesLbl: Label 'Shearing Services', MaxLength = 100; + AerialAgriculturalServicesLbl: Label 'Aerial Agricultural Services', MaxLength = 100; + ServicesToAgricultureNecLbl: Label 'Services to Agriculture NEC', MaxLength = 100; + HuntingAndTrappingLbl: Label 'Hunting and Trapping', MaxLength = 100; + ForestryAndLoggingLbl: Label 'Forestry and Logging', MaxLength = 100; + ForestryLbl: Label 'Forestry', MaxLength = 100; + LoggingLbl: Label 'Logging', MaxLength = 100; + ServicesToForestryLbl: Label 'Services to Forestry', MaxLength = 100; + CommercialFishingLbl: Label 'Commercial Fishing', MaxLength = 100; + MarineFishingLbl: Label 'Marine Fishing', MaxLength = 100; + RockLobsterFishingLbl: Label 'Rock Lobster Fishing', MaxLength = 100; + PrawnFishingLbl: Label 'Prawn Fishing', MaxLength = 100; + FinfishTrawlingLbl: Label 'Finfish Trawling', MaxLength = 100; + SquidJiggingLbl: Label 'Squid Jigging', MaxLength = 100; + LineFishingLbl: Label 'Line Fishing', MaxLength = 100; + MarineFishingNecLbl: Label 'Marine Fishing NEC', MaxLength = 100; + AquacultureLbl: Label 'Aquaculture', MaxLength = 100; + MiningLbl: Label 'Mining', MaxLength = 100; + CoalMiningLbl: Label 'Coal Mining', MaxLength = 100; + BlackCoalMiningLbl: Label 'Black Coal Mining', MaxLength = 100; + BrownCoalMiningLbl: Label 'Brown Coal Mining', MaxLength = 100; + OilAndGasExtractionLbl: Label 'Oil and Gas Extraction', MaxLength = 100; + MetalOreMiningLbl: Label 'Metal Ore Mining', MaxLength = 100; + IronOreMiningLbl: Label 'Iron Ore Mining', MaxLength = 100; + BauxiteMiningLbl: Label 'Bauxite Mining', MaxLength = 100; + CopperOreMiningLbl: Label 'Copper Ore Mining', MaxLength = 100; + GoldOreMiningLbl: Label 'Gold Ore Mining', MaxLength = 100; + MineralSandMiningLbl: Label 'Mineral Sand Mining', MaxLength = 100; + NickelOreMiningLbl: Label 'Nickel Ore Mining', MaxLength = 100; + SilverLeadZincOreMiningLbl: Label 'Silver-Lead-Zinc Ore Mining', MaxLength = 100; + MetalOreMiningNecLbl: Label 'Metal Ore Mining NEC', MaxLength = 100; + OtherMiningLbl: Label 'Other Mining', MaxLength = 100; + ConstructionMaterialMiningLbl: Label 'Construction Material Mining', MaxLength = 100; + GravelAndSandQuarryingLbl: Label 'Gravel and Sand Quarrying', MaxLength = 100; + MiningNecLbl: Label 'Mining NEC', MaxLength = 100; + ServicesToMiningLbl: Label 'Services to Mining', MaxLength = 100; + ExplorationLbl: Label 'Exploration', MaxLength = 100; + PetroleumExplorationServicesLbl: Label 'Petroleum Exploration Services', MaxLength = 100; + MineralExplorationServicesLbl: Label 'Mineral Exploration Services', MaxLength = 100; + OtherMiningServicesLbl: Label 'Other Mining Services', MaxLength = 100; + ManufacturingLbl: Label 'Manufacturing', MaxLength = 100; + FoodBeverageAndTobaccoLbl: Label 'Food - Beverage and Tobacco', MaxLength = 100; + MeatProcessingLbl: Label 'Meat Processing', MaxLength = 100; + PoultryProcessingLbl: Label 'Poultry Processing', MaxLength = 100; + DairyProductManufacturingLbl: Label 'Dairy Product Manufacturing', MaxLength = 100; + MilkAndCreamProcessingLbl: Label 'Milk and Cream Processing', MaxLength = 100; + IceCreamManufacturingLbl: Label 'Ice Cream Manufacturing', MaxLength = 100; + FruitAndVegetableProcessingLbl: Label 'Fruit and Vegetable Processing', MaxLength = 100; + OilAndFatManufacturingLbl: Label 'Oil and Fat Manufacturing', MaxLength = 100; + BakeryProductManufacturingLbl: Label 'Bakery Product Manufacturing', MaxLength = 100; + BreadManufacturingLbl: Label 'Bread Manufacturing', MaxLength = 100; + CakeAndPastryManufacturingLbl: Label 'Cake and Pastry Manufacturing', MaxLength = 100; + BiscuitManufacturingLbl: Label 'Biscuit Manufacturing', MaxLength = 100; + OtherFoodManufacturingLbl: Label 'Other Food Manufacturing', MaxLength = 100; + SugarManufacturingLbl: Label 'Sugar Manufacturing', MaxLength = 100; + ConfectioneryManufacturingLbl: Label 'Confectionery Manufacturing', MaxLength = 100; + SeafoodProcessingLbl: Label 'Seafood Processing', MaxLength = 100; + FoodManufacturingNecLbl: Label 'Food Manufacturing NEC', MaxLength = 100; + BeerAndMaltManufacturingLbl: Label 'Beer and Malt Manufacturing', MaxLength = 100; + WineManufacturingLbl: Label 'Wine Manufacturing', MaxLength = 100; + SpiritManufacturingLbl: Label 'Spirit Manufacturing', MaxLength = 100; + TobaccoProductManufacturingLbl: Label 'Tobacco Product Manufacturing', MaxLength = 100; + WoolScouringLbl: Label 'Wool Scouring', MaxLength = 100; + CottonTextileManufacturingLbl: Label 'Cotton Textile Manufacturing', MaxLength = 100; + WoolTextileManufacturingLbl: Label 'Wool Textile Manufacturing', MaxLength = 100; + TextileFinishingLbl: Label 'Textile Finishing', MaxLength = 100; + TextileProductManufacturingLbl: Label 'Textile Product Manufacturing', MaxLength = 100; + KnittingMillsLbl: Label 'Knitting Mills', MaxLength = 100; + HosieryManufacturingLbl: Label 'Hosiery Manufacturing', MaxLength = 100; + ClothingManufacturingLbl: Label 'Clothing Manufacturing', MaxLength = 100; + ClothingManufacturingNecLbl: Label 'Clothing Manufacturing NEC', MaxLength = 100; + FootwearManufacturingLbl: Label 'Footwear Manufacturing', MaxLength = 100; + LogSawmillingLbl: Label 'Log Sawmilling', MaxLength = 100; + WoodChippingLbl: Label 'Wood Chipping', MaxLength = 100; + TimberResawingAndDressingLbl: Label 'Timber Resawing and Dressing', MaxLength = 100; + FabricatedWoodManufacturingLbl: Label 'Fabricated Wood Manufacturing', MaxLength = 100; + WoodProductManufacturingNecLbl: Label 'Wood Product Manufacturing NEC', MaxLength = 100; + PaperStationeryManufacturingLbl: Label 'Paper Stationery Manufacturing', MaxLength = 100; + PrintingLbl: Label 'Printing', MaxLength = 100; + ServicesToPrintingLbl: Label 'Services to Printing', MaxLength = 100; + PublishingLbl: Label 'Publishing', MaxLength = 100; + OtherPeriodicalPublishingLbl: Label 'Other Periodical Publishing', MaxLength = 100; + BookAndOtherPublishingLbl: Label 'Book and Other Publishing', MaxLength = 100; + PetroleumRefiningLbl: Label 'Petroleum Refining', MaxLength = 100; + BasicChemicalManufacturingLbl: Label 'Basic Chemical Manufacturing', MaxLength = 100; + FertiliserManufacturingLbl: Label 'Fertiliser Manufacturing', MaxLength = 100; + IndustrialGasManufacturingLbl: Label 'Industrial Gas Manufacturing', MaxLength = 100; + SyntheticResinManufacturingLbl: Label 'Synthetic Resin Manufacturing', MaxLength = 100; + ExplosiveManufacturingLbl: Label 'Explosive Manufacturing', MaxLength = 100; + PaintManufacturingLbl: Label 'Paint Manufacturing', MaxLength = 100; + PesticideManufacturingLbl: Label 'Pesticide Manufacturing', MaxLength = 100; + InkManufacturingLbl: Label 'Ink Manufacturing', MaxLength = 100; + RubberProductManufacturingLbl: Label 'Rubber Product Manufacturing', MaxLength = 100; + RubberTyreManufacturingLbl: Label 'Rubber Tyre Manufacturing', MaxLength = 100; + PlasticProductManufacturingLbl: Label 'Plastic Product Manufacturing', MaxLength = 100; + CeramicManufacturingLbl: Label 'Ceramic Manufacturing', MaxLength = 100; + ClayBrickManufacturingLbl: Label 'Clay Brick Manufacturing', MaxLength = 100; + CeramicProductManufacturingLbl: Label 'Ceramic Product Manufacturing', MaxLength = 100; + CementAndLimeManufacturingLbl: Label 'Cement and Lime Manufacturing', MaxLength = 100; + PlasterProductManufacturingLbl: Label 'Plaster Product Manufacturing', MaxLength = 100; + ConcreteSlurryManufacturingLbl: Label 'Concrete Slurry Manufacturing', MaxLength = 100; + MetalProductManufacturingLbl: Label 'Metal Product Manufacturing', MaxLength = 100; + IronAndSteelManufacturingLbl: Label 'Iron and Steel Manufacturing', MaxLength = 100; + AluminaProductionLbl: Label 'Alumina Production', MaxLength = 100; + AluminiumSmeltingLbl: Label 'Aluminium Smelting', MaxLength = 100; + NonFerrousMetalCastingLbl: Label 'Non-Ferrous Metal Casting', MaxLength = 100; + StructuralSteelFabricatingLbl: Label 'Structural Steel Fabricating', MaxLength = 100; + MetalContainerManufacturingLbl: Label 'Metal Container Manufacturing', MaxLength = 100; + MetalCoatingAndFinishingLbl: Label 'Metal Coating and Finishing', MaxLength = 100; + MotorVehicleManufacturingLbl: Label 'Motor Vehicle Manufacturing', MaxLength = 100; + ShipbuildingLbl: Label 'Shipbuilding', MaxLength = 100; + BoatbuildingLbl: Label 'Boatbuilding', MaxLength = 100; + AircraftManufacturingLbl: Label 'Aircraft Manufacturing', MaxLength = 100; + BatteryManufacturingLbl: Label 'Battery Manufacturing', MaxLength = 100; + OtherManufacturingLbl: Label 'Other Manufacturing', MaxLength = 100; + FurnitureManufacturingLbl: Label 'Furniture Manufacturing', MaxLength = 100; + FurnitureManufacturingNecLbl: Label 'Furniture Manufacturing NEC', MaxLength = 100; + ManufacturingNecLbl: Label 'Manufacturing NEC', MaxLength = 100; + ElectricityAndGasSupplyLbl: Label 'Electricity and Gas Supply', MaxLength = 100; + ElectricitySupplyLbl: Label 'Electricity Supply', MaxLength = 100; + GasSupplyLbl: Label 'Gas Supply', MaxLength = 100; + WaterSupplyLbl: Label 'Water Supply', MaxLength = 100; + SewerageAndDrainageServicesLbl: Label 'Sewerage and Drainage Services', MaxLength = 100; + ConstructionLbl: Label 'Construction', MaxLength = 100; + GeneralConstructionLbl: Label 'General Construction', MaxLength = 100; + BuildingConstructionLbl: Label 'Building Construction', MaxLength = 100; + HouseConstructionLbl: Label 'House Construction', MaxLength = 100; + NonBuildingConstructionLbl: Label 'Non-Building Construction', MaxLength = 100; + RoadAndBridgeConstructionLbl: Label 'Road and Bridge Construction', MaxLength = 100; + NonBuildingConstructionNecLbl: Label 'Non-Building Construction NEC', MaxLength = 100; + ConstructionTradeServicesLbl: Label 'Construction Trade Services', MaxLength = 100; + SitePreparationServicesLbl: Label 'Site Preparation Services', MaxLength = 100; + BuildingStructureServicesLbl: Label 'Building Structure Services', MaxLength = 100; + ConcretingServicesLbl: Label 'Concreting Services', MaxLength = 100; + BricklayingServicesLbl: Label 'Bricklaying Services', MaxLength = 100; + RoofingServicesLbl: Label 'Roofing Services', MaxLength = 100; + InstallationTradeServicesLbl: Label 'Installation Trade Services', MaxLength = 100; + PlumbingServicesLbl: Label 'Plumbing Services', MaxLength = 100; + ElectricalServicesLbl: Label 'Electrical Services', MaxLength = 100; + BuildingCompletionServicesLbl: Label 'Building Completion Services', MaxLength = 100; + CarpentryServicesLbl: Label 'Carpentry Services', MaxLength = 100; + TilingAndCarpetingServicesLbl: Label 'Tiling and Carpeting Services', MaxLength = 100; + GlazingServicesLbl: Label 'Glazing Services', MaxLength = 100; + OtherConstructionServicesLbl: Label 'Other Construction Services', MaxLength = 100; + LandscapingServicesLbl: Label 'Landscaping Services', MaxLength = 100; + ConstructionServicesNecLbl: Label 'Construction Services NEC', MaxLength = 100; + WholesaleTradeLbl: Label 'Wholesale Trade', MaxLength = 100; + BasicMaterialWholesalingLbl: Label 'Basic Material Wholesaling', MaxLength = 100; + FarmProduceWholesalingLbl: Label 'Farm Produce Wholesaling', MaxLength = 100; + WoolWholesalingLbl: Label 'Wool Wholesaling', MaxLength = 100; + CerealGrainWholesalingLbl: Label 'Cereal Grain Wholesaling', MaxLength = 100; + PetroleumProductWholesalingLbl: Label 'Petroleum Product Wholesaling', MaxLength = 100; + MetalAndMineralWholesalingLbl: Label 'Metal and Mineral Wholesaling', MaxLength = 100; + ChemicalWholesalingLbl: Label 'Chemical Wholesaling', MaxLength = 100; + BuildersSuppliesWholesalingLbl: Label 'Builders Supplies Wholesaling', MaxLength = 100; + TimberWholesalingLbl: Label 'Timber Wholesaling', MaxLength = 100; + ComputerWholesalingLbl: Label 'Computer Wholesaling', MaxLength = 100; + MotorVehicleWholesalingLbl: Label 'Motor Vehicle Wholesaling', MaxLength = 100; + CarWholesalingLbl: Label 'Car Wholesaling', MaxLength = 100; + CommercialVehicleWholesalingLbl: Label 'Commercial Vehicle Wholesaling', MaxLength = 100; + MotorVehicleNewPartDealingLbl: Label 'Motor Vehicle New Part Dealing', MaxLength = 100; + MeatWholesalingLbl: Label 'Meat Wholesaling', MaxLength = 100; + DairyProduceWholesalingLbl: Label 'Dairy Produce Wholesaling', MaxLength = 100; + FishWholesalingLbl: Label 'Fish Wholesaling', MaxLength = 100; + LiquorWholesalingLbl: Label 'Liquor Wholesaling', MaxLength = 100; + TobaccoProductWholesalingLbl: Label 'Tobacco Product Wholesaling', MaxLength = 100; + GroceryWholesalingNecLbl: Label 'Grocery Wholesaling NEC', MaxLength = 100; + TextileProductWholesalingLbl: Label 'Textile Product Wholesaling', MaxLength = 100; + ClothingWholesalingLbl: Label 'Clothing Wholesaling', MaxLength = 100; + FootwearWholesalingLbl: Label 'Footwear Wholesaling', MaxLength = 100; + HouseholdGoodWholesalingLbl: Label 'Household Good Wholesaling', MaxLength = 100; + FurnitureWholesalingLbl: Label 'Furniture Wholesaling', MaxLength = 100; + FloorCoveringWholesalingLbl: Label 'Floor Covering Wholesaling', MaxLength = 100; + HouseholdGoodWholesalingNecLbl: Label 'Household Good Wholesaling NEC', MaxLength = 100; + OtherWholesalingLbl: Label 'Other Wholesaling', MaxLength = 100; + BookAndMagazineWholesalingLbl: Label 'Book and Magazine Wholesaling', MaxLength = 100; + PaperProductWholesalingLbl: Label 'Paper Product Wholesaling', MaxLength = 100; + WholesalingNecLbl: Label 'Wholesaling NEC', MaxLength = 100; + RetailTradeLbl: Label 'Retail Trade', MaxLength = 100; + FoodRetailingLbl: Label 'Food Retailing', MaxLength = 100; + SupermarketAndGroceryStoresLbl: Label 'Supermarket and Grocery Stores', MaxLength = 100; + SpecialisedFoodRetailingLbl: Label 'Specialised Food Retailing', MaxLength = 100; + FruitAndVegetableRetailingLbl: Label 'Fruit and Vegetable Retailing', MaxLength = 100; + LiquorRetailingLbl: Label 'Liquor Retailing', MaxLength = 100; + BreadAndCakeRetailingLbl: Label 'Bread and Cake Retailing', MaxLength = 100; + TakeawayFoodRetailingLbl: Label 'Takeaway Food Retailing', MaxLength = 100; + MilkVendingLbl: Label 'Milk Vending', MaxLength = 100; + SpecialisedFoodRetailingNecLbl: Label 'Specialised Food Retailing NEC', MaxLength = 100; + DepartmentStoresLbl: Label 'Department Stores', MaxLength = 100; + ClothingRetailingLbl: Label 'Clothing Retailing', MaxLength = 100; + FootwearRetailingLbl: Label 'Footwear Retailing', MaxLength = 100; + FurnitureRetailingLbl: Label 'Furniture Retailing', MaxLength = 100; + FloorCoveringRetailingLbl: Label 'Floor Covering Retailing', MaxLength = 100; + DomesticApplianceRetailingLbl: Label 'Domestic Appliance Retailing', MaxLength = 100; + RecordedMusicRetailingLbl: Label 'Recorded Music Retailing', MaxLength = 100; + RecreationalGoodRetailingLbl: Label 'Recreational Good Retailing', MaxLength = 100; + ToyAndGameRetailingLbl: Label 'Toy and Game Retailing', MaxLength = 100; + MarineEquipmentRetailingLbl: Label 'Marine Equipment Retailing', MaxLength = 100; + GardenSuppliesRetailingLbl: Label 'Garden Supplies Retailing', MaxLength = 100; + FlowerRetailingLbl: Label 'Flower Retailing', MaxLength = 100; + WatchAndJewelleryRetailingLbl: Label 'Watch and Jewellery Retailing', MaxLength = 100; + RetailingNecLbl: Label 'Retailing NEC', MaxLength = 100; + MotorVehicleRetailingLbl: Label 'Motor Vehicle Retailing', MaxLength = 100; + CarRetailingLbl: Label 'Car Retailing', MaxLength = 100; + MotorCycleDealingLbl: Label 'Motor Cycle Dealing', MaxLength = 100; + TrailerAndCaravanDealingLbl: Label 'Trailer and Caravan Dealing', MaxLength = 100; + MotorVehicleServicesLbl: Label 'Motor Vehicle Services', MaxLength = 100; + AutomotiveFuelRetailingLbl: Label 'Automotive Fuel Retailing', MaxLength = 100; + AutomotiveElectricalServicesLbl: Label 'Automotive Electrical Services', MaxLength = 100; + SmashRepairingLbl: Label 'Smash Repairing', MaxLength = 100; + TyreRetailingLbl: Label 'Tyre Retailing', MaxLength = 100; + AccommodationLbl: Label 'Accommodation', MaxLength = 100; + PubsTavernsAndBarsLbl: Label 'Pubs - Taverns and Bars', MaxLength = 100; + CafesAndRestaurantsLbl: Label 'Cafes and Restaurants', MaxLength = 100; + ClubsHospitalityLbl: Label 'Clubs (Hospitality)', MaxLength = 100; + TransportAndStorageLbl: Label 'Transport and Storage', MaxLength = 100; + RoadTransportLbl: Label 'Road Transport', MaxLength = 100; + RoadFreightTransportLbl: Label 'Road Freight Transport', MaxLength = 100; + RoadPassengerTransportLbl: Label 'Road Passenger Transport', MaxLength = 100; + LongDistanceBusTransportLbl: Label 'Long Distance Bus Transport', MaxLength = 100; + RailTransportLbl: Label 'Rail Transport', MaxLength = 100; + WaterTransportLbl: Label 'Water Transport', MaxLength = 100; + InternationalSeaTransportLbl: Label 'International Sea Transport', MaxLength = 100; + CoastalWaterTransportLbl: Label 'Coastal Water Transport', MaxLength = 100; + InlandWaterTransportLbl: Label 'Inland Water Transport', MaxLength = 100; + AirAndSpaceTransportLbl: Label 'Air and Space Transport', MaxLength = 100; + OtherTransportLbl: Label 'Other Transport', MaxLength = 100; + PipelineTransportLbl: Label 'Pipeline Transport', MaxLength = 100; + TransportNecLbl: Label 'Transport NEC', MaxLength = 100; + ServicesToTransportLbl: Label 'Services to Transport', MaxLength = 100; + ServicesToRoadTransportLbl: Label 'Services to Road Transport', MaxLength = 100; + ParkingServicesLbl: Label 'Parking Services', MaxLength = 100; + ServicesToRoadTransportNecLbl: Label 'Services to Road Transport NEC', MaxLength = 100; + ServicesToWaterTransportLbl: Label 'Services to Water Transport', MaxLength = 100; + StevedoringLbl: Label 'Stevedoring', MaxLength = 100; + WaterTransportTerminalsLbl: Label 'Water Transport Terminals', MaxLength = 100; + PortOperatorsLbl: Label 'Port Operators', MaxLength = 100; + ServicesToAirTransportLbl: Label 'Services to Air Transport', MaxLength = 100; + OtherServicesToTransportLbl: Label 'Other Services to Transport', MaxLength = 100; + TravelAgencyServicesLbl: Label 'Travel Agency Services', MaxLength = 100; + RoadFreightForwardingLbl: Label 'Road Freight Forwarding', MaxLength = 100; + CustomsAgencyServicesLbl: Label 'Customs Agency Services', MaxLength = 100; + ServicesToTransportNecLbl: Label 'Services to Transport NEC', MaxLength = 100; + StorageLbl: Label 'Storage', MaxLength = 100; + GrainStorageLbl: Label 'Grain Storage', MaxLength = 100; + StorageNecLbl: Label 'Storage NEC', MaxLength = 100; + CommunicationServicesLbl: Label 'Communication Services', MaxLength = 100; + PostalAndCourierServicesLbl: Label 'Postal and Courier Services', MaxLength = 100; + PostalServicesLbl: Label 'Postal Services', MaxLength = 100; + CourierServicesLbl: Label 'Courier Services', MaxLength = 100; + TelecommunicationServicesLbl: Label 'Telecommunication Services', MaxLength = 100; + FinanceAndInsuranceLbl: Label 'Finance and Insurance', MaxLength = 100; + FinanceLbl: Label 'Finance', MaxLength = 100; + CentralBankLbl: Label 'Central Bank', MaxLength = 100; + DepositTakingFinanciersLbl: Label 'Deposit Taking Financiers', MaxLength = 100; + BanksLbl: Label 'Banks', MaxLength = 100; + BuildingSocietiesLbl: Label 'Building Societies', MaxLength = 100; + CreditUnionsLbl: Label 'Credit Unions', MaxLength = 100; + MoneyMarketDealersLbl: Label 'Money Market Dealers', MaxLength = 100; + DepositTakingFinanciersNecLbl: Label 'Deposit Taking Financiers NEC', MaxLength = 100; + OtherFinanciersLbl: Label 'Other Financiers', MaxLength = 100; + FinancialAssetInvestorsLbl: Label 'Financial Asset Investors', MaxLength = 100; + InsuranceLbl: Label 'Insurance', MaxLength = 100; + LifeInsuranceLbl: Label 'Life Insurance', MaxLength = 100; + SuperannuationFundsLbl: Label 'Superannuation Funds', MaxLength = 100; + OtherInsuranceLbl: Label 'Other Insurance', MaxLength = 100; + HealthInsuranceLbl: Label 'Health Insurance', MaxLength = 100; + GeneralInsuranceLbl: Label 'General Insurance', MaxLength = 100; + ServicesToInsuranceLbl: Label 'Services to Insurance', MaxLength = 100; + PropertyAndBusinessServicesLbl: Label 'Property and Business Services', MaxLength = 100; + PropertyServicesLbl: Label 'Property Services', MaxLength = 100; + ResidentialPropertyOperatorsLbl: Label 'Residential Property Operators', MaxLength = 100; + RealEstateAgentsLbl: Label 'Real Estate Agents', MaxLength = 100; + NonFinancialAssetInvestorsLbl: Label 'Non-Financial Asset Investors', MaxLength = 100; + MotorVehicleHiringLbl: Label 'Motor Vehicle Hiring', MaxLength = 100; + PlantHiringOrLeasingLbl: Label 'Plant Hiring or Leasing', MaxLength = 100; + BusinessServicesLbl: Label 'Business Services', MaxLength = 100; + ScientificResearchLbl: Label 'Scientific Research', MaxLength = 100; + TechnicalServicesLbl: Label 'Technical Services', MaxLength = 100; + ArchitecturalServicesLbl: Label 'Architectural Services', MaxLength = 100; + SurveyingServicesLbl: Label 'Surveying Services', MaxLength = 100; + TechnicalServicesNecLbl: Label 'Technical Services NEC', MaxLength = 100; + ComputerServicesLbl: Label 'Computer Services', MaxLength = 100; + DataProcessingServicesLbl: Label 'Data Processing Services', MaxLength = 100; + ComputerMaintenanceServicesLbl: Label 'Computer Maintenance Services', MaxLength = 100; + ComputerConsultancyServicesLbl: Label 'Computer Consultancy Services', MaxLength = 100; + LegalAndAccountingServicesLbl: Label 'Legal and Accounting Services', MaxLength = 100; + LegalServicesLbl: Label 'Legal Services', MaxLength = 100; + AccountingServicesLbl: Label 'Accounting Services', MaxLength = 100; + AdvertisingServicesLbl: Label 'Advertising Services', MaxLength = 100; + MarketResearchServicesLbl: Label 'Market Research Services', MaxLength = 100; + BusinessManagementServicesLbl: Label 'Business Management Services', MaxLength = 100; + OtherBusinessServicesLbl: Label 'Other Business Services', MaxLength = 100; + EmploymentPlacementServicesLbl: Label 'Employment Placement Services', MaxLength = 100; + ContractStaffServicesLbl: Label 'Contract Staff Services', MaxLength = 100; + SecretarialServicesLbl: Label 'Secretarial Services', MaxLength = 100; + PestControlServicesLbl: Label 'Pest Control Services', MaxLength = 100; + CleaningServicesLbl: Label 'Cleaning Services', MaxLength = 100; + ContractPackingServicesNecLbl: Label 'Contract Packing Services NEC', MaxLength = 100; + BusinessServicesNecLbl: Label 'Business Services NEC', MaxLength = 100; + GovernmentAdministrationLbl: Label 'Government Administration', MaxLength = 100; + JusticeLbl: Label 'Justice', MaxLength = 100; + DefenceLbl: Label 'Defence', MaxLength = 100; + EducationLbl: Label 'Education', MaxLength = 100; + PreschoolEducationLbl: Label 'Preschool Education', MaxLength = 100; + SchoolEducationLbl: Label 'School Education', MaxLength = 100; + PrimaryEducationLbl: Label 'Primary Education', MaxLength = 100; + SecondaryEducationLbl: Label 'Secondary Education', MaxLength = 100; + SpecialSchoolEducationLbl: Label 'Special School Education', MaxLength = 100; + PostSchoolEducationLbl: Label 'Post School Education', MaxLength = 100; + HigherEducationLbl: Label 'Higher Education', MaxLength = 100; + OtherEducationLbl: Label 'Other Education', MaxLength = 100; + HealthAndCommunityServicesLbl: Label 'Health and Community Services', MaxLength = 100; + HealthServicesLbl: Label 'Health Services', MaxLength = 100; + HospitalsAndNursingHomesLbl: Label 'Hospitals and Nursing Homes', MaxLength = 100; + PsychiatricHospitalsLbl: Label 'Psychiatric Hospitals', MaxLength = 100; + NursingHomesLbl: Label 'Nursing Homes', MaxLength = 100; + MedicalAndDentalServicesLbl: Label 'Medical and Dental Services', MaxLength = 100; + SpecialistMedicalServicesLbl: Label 'Specialist Medical Services', MaxLength = 100; + DentalServicesLbl: Label 'Dental Services', MaxLength = 100; + OtherHealthServicesLbl: Label 'Other Health Services', MaxLength = 100; + PathologyServicesLbl: Label 'Pathology Services', MaxLength = 100; + AmbulanceServicesLbl: Label 'Ambulance Services', MaxLength = 100; + CommunityHealthCentresLbl: Label 'Community Health Centres', MaxLength = 100; + PhysiotherapyServicesLbl: Label 'Physiotherapy Services', MaxLength = 100; + ChiropracticServicesLbl: Label 'Chiropractic Services', MaxLength = 100; + HealthServicesNecLbl: Label 'Health Services NEC', MaxLength = 100; + VeterinaryServicesLbl: Label 'Veterinary Services', MaxLength = 100; + CommunityServicesLbl: Label 'Community Services', MaxLength = 100; + ChildCareServicesLbl: Label 'Child Care Services', MaxLength = 100; + CommunityCareServicesLbl: Label 'Community Care Services', MaxLength = 100; + AccommodationForTheAgedLbl: Label 'Accommodation for the Aged', MaxLength = 100; + ResidentialCareServicesNecLbl: Label 'Residential Care Services NEC', MaxLength = 100; + FilmAndVideoServicesLbl: Label 'Film and Video Services', MaxLength = 100; + FilmAndVideoProductionLbl: Label 'Film and Video Production', MaxLength = 100; + FilmAndVideoDistributionLbl: Label 'Film and Video Distribution', MaxLength = 100; + MotionPictureExhibitionLbl: Label 'Motion Picture Exhibition', MaxLength = 100; + RadioAndTelevisionServicesLbl: Label 'Radio and Television Services', MaxLength = 100; + RadioServicesLbl: Label 'Radio Services', MaxLength = 100; + TelevisionServicesLbl: Label 'Television Services', MaxLength = 100; + LibrariesLbl: Label 'Libraries', MaxLength = 100; + MuseumsLbl: Label 'Museums', MaxLength = 100; + ParksAndGardensLbl: Label 'Parks and Gardens', MaxLength = 100; + ZoologicalAndBotanicGardensLbl: Label 'Zoological and Botanic Gardens', MaxLength = 100; + RecreationalParksAndGardensLbl: Label 'Recreational Parks and Gardens', MaxLength = 100; + ArtsLbl: Label 'Arts', MaxLength = 100; + MusicAndTheatreProductionsLbl: Label 'Music and Theatre Productions', MaxLength = 100; + CreativeArtsLbl: Label 'Creative Arts', MaxLength = 100; + ServicesToTheArtsLbl: Label 'Services to the Arts', MaxLength = 100; + SoundRecordingStudiosLbl: Label 'Sound Recording Studios', MaxLength = 100; + PerformingArtsVenuesLbl: Label 'Performing Arts Venues', MaxLength = 100; + ServicesToTheArtsNecLbl: Label 'Services to the Arts NEC', MaxLength = 100; + SportAndRecreationLbl: Label 'Sport and Recreation', MaxLength = 100; + SportLbl: Label 'Sport', MaxLength = 100; + HorseAndDogRacingLbl: Label 'Horse and Dog Racing', MaxLength = 100; + GamblingServicesLbl: Label 'Gambling Services', MaxLength = 100; + LotteriesLbl: Label 'Lotteries', MaxLength = 100; + CasinosLbl: Label 'Casinos', MaxLength = 100; + GamblingServicesNecLbl: Label 'Gambling Services NEC', MaxLength = 100; + OtherRecreationServicesLbl: Label 'Other Recreation Services', MaxLength = 100; + PersonalAndOtherServicesLbl: Label 'Personal and Other Services', MaxLength = 100; + PersonalServicesLbl: Label 'Personal Services', MaxLength = 100; + VideoHireOutletsLbl: Label 'Video Hire Outlets', MaxLength = 100; + OtherPersonalServicesLbl: Label 'Other Personal Services', MaxLength = 100; + LaundriesAndDryCleanersLbl: Label 'Laundries and Dry-Cleaners', MaxLength = 100; + PhotographicFilmProcessingLbl: Label 'Photographic Film Processing', MaxLength = 100; + PhotographicStudiosLbl: Label 'Photographic Studios', MaxLength = 100; + GardeningServicesLbl: Label 'Gardening Services', MaxLength = 100; + HairdressingAndBeautySalonsLbl: Label 'Hairdressing and Beauty Salons', MaxLength = 100; + PersonalServicesNecLbl: Label 'Personal Services NEC', MaxLength = 100; + OtherServicesLbl: Label 'Other Services', MaxLength = 100; + ReligiousOrganisationsLbl: Label 'Religious Organisations', MaxLength = 100; + InterestGroupsLbl: Label 'Interest Groups', MaxLength = 100; + LabourAssociationsLbl: Label 'Labour Associations', MaxLength = 100; + InterestGroupsNecLbl: Label 'Interest Groups NEC', MaxLength = 100; + PoliceServicesLbl: Label 'Police Services', MaxLength = 100; + CorrectiveCentresLbl: Label 'Corrective Centres', MaxLength = 100; + FireBrigadeServicesLbl: Label 'Fire Brigade Services', MaxLength = 100; + WasteDisposalServicesLbl: Label 'Waste Disposal Services', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/CRM/2.Master Data/CreateAUTerritory.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/CRM/2.Master Data/CreateAUTerritory.Codeunit.al new file mode 100644 index 0000000000..40eae321de --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/CRM/2.Master Data/CreateAUTerritory.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17128 "Create AU Territory" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.SetOverwriteData(true); + ContosoCRM.InsertTerritory(Domestic(), DomesticLbl); + ContosoCRM.SetOverwriteData(false); + end; + + procedure Domestic(): Code[10] + begin + exit(DomesticTok); + end; + + var + DomesticTok: Label 'DOMESTIC', MaxLength = 10; + DomesticLbl: Label 'Domestic', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUAccScheduleLine.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..a943b9bf28 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUAccScheduleLine.Codeunit.al @@ -0,0 +1,256 @@ +codeunit 17156 "Create AU Acc. Schedule Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + // ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Acc. Schedule Line") + var + CreateAccScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + begin + if (Rec."Schedule Name" = CreateAccScheduleName.AccountCategoriesOverview()) and (Rec."Line No." = 60000) then + Rec.Validate(Totaling, '9999'); + + if (Rec."Schedule Name" = CreateAccScheduleName.CapitalStructure()) then + case Rec."Line No." of + 40000: + Rec.Validate(Totaling, '2190'); + 50000: + Rec.Validate(Totaling, CreateAUGLAccounts.TotalUnearnedRevenueOther()); + 60000: + Rec.Validate(Totaling, '2890'); + 70000: + Rec.Validate(Totaling, '2990'); + 110000: + Rec.Validate(Totaling, '5310'); + 120000: + Rec.Validate(Totaling, '5490'); + 130000: + Rec.Validate(Totaling, '5790'); + 140000: + Rec.Validate(Totaling, '5890'); + 150000: + Rec.Validate(Totaling, '5990'); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '6995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '2390', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '5490', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '2190', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + Rec.Validate("Hide Currency Symbol", true); + 60000: + Rec.Validate("Hide Currency Symbol", true); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '2390', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '5490', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '2990|5310', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '6995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '7995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '8695', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, '8790', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, '8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, '8910', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + begin + ValidateRecordFields(Rec, '6995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + Rec.Validate(Description, TotalRevenueLbl); + end; + 20000: + ValidateRecordFields(Rec, '7995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + Rec.Validate("Hide Currency Symbol", true); + 50000: + ValidateRecordFields(Rec, '8695|8790|8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + ValidateRecordFields(Rec, '8910', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 90000: + ValidateRecordFields(Rec, '9495', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + //ToDo: Need to Check with MS why standard Schedule Name are commented in W1 + // if Rec."Schedule Name" = CreateAccScheduleName.BalanceSheet() then + // case Rec."Line No." of + // 10000: + // ValidateRecordFields(Rec, 'P0001', AssetsLbl, '10000..12200|12999..13999|15000..16000|16999..18000|18999..19999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + // 30000: + // ValidateRecordFields(Rec, 'P0003', CashLbl, '18100..18500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 40000: + // ValidateRecordFields(Rec, 'P0004', AccountsReceivableLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 50000: + // ValidateRecordFields(Rec, 'P0005', PrepaidExpensesLbl, '16100..16600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 60000: + // ValidateRecordFields(Rec, 'P0006', InventoryLbl, '14000..14299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 90000: + // ValidateRecordFields(Rec, 'P0009', EquipmentLbl, '12210..12299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 100000: + // ValidateRecordFields(Rec, 'P0010', AccumulatedDepreciationLbl, '12900', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 140000: + // ValidateRecordFields(Rec, 'P0014', LiabilitiesLbl, '20000..22000|25999..29999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + // 150000: + // ValidateRecordFields(Rec, 'P0015', CurrentLiabilitiesLbl, '22100..24000|24999..25500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 160000: + // ValidateRecordFields(Rec, 'P0016', PayrollLiabilitiesLbl, '24100..24600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 170000: + // ValidateRecordFields(Rec, 'P0017', LongTermLiabilitiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 200000: + // ValidateRecordFields(Rec, 'P0020', EquityLbl, '30000..30310|39999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + // 210000: + // ValidateRecordFields(Rec, 'P0021', CommonStockLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 220000: + // ValidateRecordFields(Rec, 'P0022', RetainedEarningsLbl, '40000..99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 230000: + // ValidateRecordFields(Rec, 'P0023', DistributionsToShareholdersLbl, '30320', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // end; + + // if Rec."Schedule Name" = CreateAccScheduleName.CashFlowStatement() then + // case Rec."Line No." of + // 20000: + // ValidateRecordFields(Rec, 'P0002', NetIncomeLbl, '40000..99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + // 40000: + // ValidateRecordFields(Rec, 'P0004', AccountsReceivableLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 50000: + // ValidateRecordFields(Rec, 'P0005', PrepaidExpensesLbl, '16100..16600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 60000: + // ValidateRecordFields(Rec, 'P0006', InventoryLbl, '14000..14299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 70000: + // ValidateRecordFields(Rec, 'P0007', CurrentLiabilitiesLbl, '22100..24000|24999..25500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 80000: + // ValidateRecordFields(Rec, 'P0008', PayrollLiabilitiesLbl, '24100..24600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 120000: + // ValidateRecordFields(Rec, 'P0012', EquipmentLbl, '12210..12299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 130000: + // ValidateRecordFields(Rec, 'P0013', AccumulatedDepreciationLbl, '12900', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 170000: + // ValidateRecordFields(Rec, 'P0017', LongTermLiabilitiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 180000: + // ValidateRecordFields(Rec, 'P0018', DistributionsToShareholdersLbl, '30320', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 220000: + // ValidateRecordFields(Rec, 'P0022', CashBeginningofThePeriodLbl, '18100..18500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // end; + + // if Rec."Schedule Name" = CreateAccScheduleName.IncomeStatement() then + // case Rec."Line No." of + // 10000: + // ValidateRecordFields(Rec, 'P0001', IncomeLbl, '40000..40001|40300..40320|40380..49990|99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + // 20000: + // ValidateRecordFields(Rec, 'P0002', IncomeServicesLbl, '40200..40299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 30000: + // ValidateRecordFields(Rec, 'P0003', IncomeProductSalesLbl, '40100..40199', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 50000: + // ValidateRecordFields(Rec, 'P0005', SalesDiscountsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 110000: + // ValidateRecordFields(Rec, 'P0011', CostOfGoodsSoldLbl, '50001|50400..59990', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + // 120000: + // ValidateRecordFields(Rec, 'P0012', LaborLbl, '50200..50299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 130000: + // ValidateRecordFields(Rec, 'P0013', MaterialsLbl, '50100..50199', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 200000: + // ValidateRecordFields(Rec, 'P0020', ExpenseLbl, '60001..60100|60170..63000|63400..65200|65400..67000|67300..71999|80000..98990', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + // 210000: + // ValidateRecordFields(Rec, 'P0021', RentExpenseLbl, '60110', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 220000: + // ValidateRecordFields(Rec, 'P0022', AdvertisingExpenseLbl, '63100..63399', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 230000: + // ValidateRecordFields(Rec, 'P0023', InterestExpenseLbl, '40330', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 240000: + // ValidateRecordFields(Rec, 'P0024', FeesExpenseLbl, '67100..67200', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 250000: + // ValidateRecordFields(Rec, 'P0025', InsuranceExpenseLbl, '73000..73999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 260000: + // ValidateRecordFields(Rec, 'P0026', PayrollExpenseLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 270000: + // ValidateRecordFields(Rec, 'P0027', BenefitsExpenseLbl, '72000..72999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 290000: + // ValidateRecordFields(Rec, 'P0029', RepairsMaintenanceExpenseLbl, '60160', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 300000: + // ValidateRecordFields(Rec, 'P0030', UtilitiesExpenseLbl, '60120..60150', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 310000: + // ValidateRecordFields(Rec, 'P0031', OtherIncomeExpensesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 320000: + // ValidateRecordFields(Rec, 'P0032', TaxExpenseLbl, '74000..79999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 350000: + // ValidateRecordFields(Rec, 'P0035', BadDebtExpenseLbl, '65300', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // end; + + // if Rec."Schedule Name" = CreateAccScheduleName.RetainedEarnings() then + // case Rec."Line No." of + // 10000: + // ValidateRecordFields(Rec, 'P0001', RetainedEarningsPeriodStartLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + // 20000: + // ValidateRecordFields(Rec, 'P0002', NetIncomeLbl, '40000..99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + // 50000: + // ValidateRecordFields(Rec, 'P0005', DistributionsToShareholdersLbl, '30320', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // end; + + if Rec."Schedule Name" = CreateAccScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, '6110', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 50000: + ValidateRecordFields(Rec, '6130', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + Rec.Validate(Totaling, '6130'); + 70000: + Rec.Validate(Totaling, '6190'); + 80000: + Rec.Validate(Totaling, '6195'); + 100000: + Rec.Validate(Totaling, '6110..6195'); + 110000: + Rec.Validate(Totaling, '6110..6195'); + 120000: + Rec.Validate(Totaling, '6110..6195'); + 130000: + Rec.Validate(Totaling, '6110..6195'); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text[250]; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUAccScheduleName.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUAccScheduleName.Codeunit.al new file mode 100644 index 0000000000..926ca4f696 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUAccScheduleName.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 17136 "Create AU Acc Schedule Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetDetail(), BalanceSheetDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementDetail(), IncomeStatementDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(TrialBalance(), TrialBalanceLbl, ''); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + procedure BalanceSheetDetail(): Code[10] + begin + exit(BalanceSheetDetailTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetail(): Code[10] + begin + exit(IncomeStatementDetailTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummarizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + BalanceSheetDetailTok: Label 'BS DET', MaxLength = 10; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10; + IncomeStatementDetailTok: Label 'IS DET', MaxLength = 10; + IncomeStatementSummarizedTok: Label 'IS SUM', MaxLength = 10; + TrialBalanceTok: Label 'TB', MaxLength = 10; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUColumnLayoutName.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUColumnLayoutName.Codeunit.al new file mode 100644 index 0000000000..90c8b666b0 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUColumnLayoutName.Codeunit.al @@ -0,0 +1,111 @@ +codeunit 17139 "Create AU Column Layout Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertColumnLayoutName(BeginningBalanceDebitsCreditsEndingBalance(), TBBeginningBalanceDebitsCreditsEndingBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BalanceSheetTrend(), BS12MonthsBalanceTrendingCurrentFiscalYearLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalance(), BSCurrentMonthBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalancePriorMonthBalance(), BSCurrentMonthBalancevPriorMonthBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalancevSameMonthPriorYearBalance(), BSCurrentMonthBalancevSameMonthPriorYearBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChange(), ISCurrentMonthNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthsNetChangeBudget(), IS12MonthsNetChangeBudgetOnlyLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangePriorMonthNetChange(), ISCurrentMonthNetChangevPriorMonthNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangeSameMonthPriorYearNetChange(), ISCurrentMonthNetChangevSameMonthPriorYearNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), ISCurrentMonthvPriorMonthforCYandCurrentMonthvPriorMonthforPYLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), ISCurrentMonthvBudgetYeartoDatevBudgetandBudTotalandBudRemainingLbl); + ContosoAccountSchedule.InsertColumnLayoutName(IncomeStatementTrend(), IS12MonthsNetChangeTrendingCurrentFiscalYearLbl); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + procedure BeginningBalanceDebitsCreditsEndingBalance(): Code[10] + begin + exit(BeginningBalanceDebitsCreditsEndingBalanceTok); + end; + + procedure BalanceSheetTrend(): Code[10] + begin + exit(BalanceSheetTok); + end; + + procedure CurrentMonthBalance(): Code[10] + begin + exit(CurrentMonthBalanceTok); + end; + + procedure CurrentMonthBalancePriorMonthBalance(): Code[10] + begin + exit(CurrentMonthBalancePriorMonthBalanceTok); + end; + + procedure CurrentMonthBalancevSameMonthPriorYearBalance(): Code[10] + begin + exit(CurrentMonthBalancevSameMonthPriorYearBalanceTok); + end; + + procedure CurrentMonthNetChange(): Code[10] + begin + exit(CurrentMonthNetChangeTok); + end; + + procedure CurrentMonthsNetChangeBudget(): Code[10] + begin + exit(CurrentMonthsNetChangeBudgetTok); + end; + + procedure CurrentMonthNetChangePriorMonthNetChange(): Code[10] + begin + exit(CurrentMonthNetChangePriorMonthNetChangeTok); + end; + + procedure CurrentMonthNetChangeSameMonthPriorYearNetChange(): Code[10] + begin + exit(CurrentMonthNetChangeSameMonthPriorYearNetChangeTok); + end; + + procedure CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(): Code[10] + begin + exit(CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPYTok); + end; + + procedure CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(): Code[10] + begin + exit(CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemainingTok); + end; + + procedure IncomeStatementTrend(): Code[10] + begin + exit(IncomeStatementTrendTok); + end; + + var + BeginningBalanceDebitsCreditsEndingBalanceTok: Label 'BBDRCREB', MaxLength = 10; + BalanceSheetTok: Label 'BSTREND', MaxLength = 10; + CurrentMonthBalanceTok: Label 'CB', MaxLength = 10; + CurrentMonthBalancePriorMonthBalanceTok: Label 'CB V PB', MaxLength = 10; + CurrentMonthBalancevSameMonthPriorYearBalanceTok: Label 'CB V SPYB', MaxLength = 10; + CurrentMonthNetChangeTok: Label 'CNC', MaxLength = 10; + CurrentMonthsNetChangeBudgetTok: Label 'CNC BUD', MaxLength = 10; + CurrentMonthNetChangePriorMonthNetChangeTok: Label 'CNC V PNC', MaxLength = 10; + CurrentMonthNetChangeSameMonthPriorYearNetChangeTok: Label 'CNC VSPYNC', MaxLength = 10; + CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPYTok: Label 'CNCVPNCYOY', MaxLength = 10; + CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemainingTok: Label 'CVC YTDBUD', MaxLength = 10; + IncomeStatementTrendTok: Label 'ISTREND', MaxLength = 10; + TBBeginningBalanceDebitsCreditsEndingBalanceLbl: Label 'TB Beginning Balance Debits Credits Ending Balance', MaxLength = 80; + BS12MonthsBalanceTrendingCurrentFiscalYearLbl: Label 'BS 12 Months Balance Trending Current Fiscal Year', MaxLength = 80; + BSCurrentMonthBalanceLbl: Label 'BS Current Month Balance', MaxLength = 80; + BSCurrentMonthBalancevPriorMonthBalanceLbl: Label 'BS Current Month Balance v Prior Month Balance', MaxLength = 80; + BSCurrentMonthBalancevSameMonthPriorYearBalanceLbl: Label 'BS Current Month Balance v Same Month Prior Year Balance', MaxLength = 80; + ISCurrentMonthNetChangeLbl: Label 'IS Current Month Net Change', MaxLength = 80; + IS12MonthsNetChangeBudgetOnlyLbl: Label 'IS 12 Months Net Change Budget Only', MaxLength = 80; + ISCurrentMonthNetChangevPriorMonthNetChangeLbl: Label 'IS Current Month Net Change v Prior Month Net Change', MaxLength = 80; + ISCurrentMonthNetChangevSameMonthPriorYearNetChangeLbl: Label 'IS Current Month Net Change v Same Month Prior Year Net Change', MaxLength = 80; + ISCurrentMonthvPriorMonthforCYandCurrentMonthvPriorMonthforPYLbl: Label 'IS Current Month v Prior Month for CY and Current Month v Prior Month for PY', MaxLength = 80; + ISCurrentMonthvBudgetYeartoDatevBudgetandBudTotalandBudRemainingLbl: Label 'IS Current Month v Budget Year to Date v Budget and Bud Total and Bud Remaining ', MaxLength = 80; + IS12MonthsNetChangeTrendingCurrentFiscalYearLbl: Label 'IS 12 Months Net Change Trending Current Fiscal Year', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUCurrency.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUCurrency.Codeunit.al new file mode 100644 index 0000000000..b9a31db7c0 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUCurrency.Codeunit.al @@ -0,0 +1,78 @@ +codeunit 17155 "Create AU Currency" +{ + InherentEntitlements = X; + InherentPermissions = X; + SingleInstance = true; + EventSubscriberInstance = Manual; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RUB(), + CreateCurrency.RSD(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + UpdateCurrency(Rec, CreateGLAccount.RealizedFxGains(), CreateGLAccount.RealizedFxLosses(), CreateGLAccount.UnrealizedFxGains(), CreateGLAccount.UnrealizedFxLosses()); + CreateCurrency.GBP(): + begin + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + UpdateCurrency(Rec, CreateGLAccount.RealizedFxGains(), CreateGLAccount.RealizedFxLosses(), CreateGLAccount.UnrealizedFxGains(), CreateGLAccount.UnrealizedFxLosses()); + end; + end; + end; + + local procedure UpdateCurrency(var Currency: Record Currency; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]; UnrealizedGainsAcc: Code[20]; UnrealizedLossesAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + Currency.Validate("Unrealized Gains Acc.", UnrealizedGainsAcc); + Currency.Validate("Unrealized Losses Acc.", UnrealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGLAccounts.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGLAccounts.Codeunit.al new file mode 100644 index 0000000000..d425c16d13 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGLAccounts.Codeunit.al @@ -0,0 +1,1870 @@ +codeunit 17107 "Create AU GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2245'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '4110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '5101'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2305'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '2310'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '5319'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '5109'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '5380'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '5110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '5111'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '5385'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1330'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '5315'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '5340'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '5105'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1310'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1311') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '4730'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '5471'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '5472'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '5479'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '5695'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '5700'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '5710'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '5720'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '5730'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1320'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '1340'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5850'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '1411'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1431'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '4150'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '4500'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '5106'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '5459'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccount() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '1001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), '1002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '1003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '1005'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLcyName(), '1010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), '1015'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), '1230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), '1240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), '1300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), '1310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), '1311'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResaleSoldInterimName(), '1312'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '1320'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), '1321'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '1330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), '1331'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMatSoldInterimName(), '1332'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), '1380'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipName(), '1400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobSalesName(), '1411'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), '1412'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsName(), '1430'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobCostsName(), '1431'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), '1432'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), '1511'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), '1515'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), '1520'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsName(), '1521'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), '1530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), '1543'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), '1550'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), '1551'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), '1554'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), '2010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesName(), '2020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermBankLoansName(), '2030'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), '2040'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesName(), '2101'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), '2102'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), '2103'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), '2106'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), '2242'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '2245'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '2250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), '2275'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), '2279'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), '2280'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelRelatedItemsName(), '2360'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), '2370'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), '2375'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), '2376'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), '2377'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), '2378'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '2500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsForTheFiscalYearName(), '2510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), '2520'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), '3010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), '3020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), '3040'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), '4010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRetailName(), '4100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), '4110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), '4145'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), '4150'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), '4200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRawMaterialsName(), '4230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), '4240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), '4250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), '4300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), '4310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfResourcesName(), '4340'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), '4350'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), '4400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), '4410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), '4430'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfJobsName(), '4440'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), '4450'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '4500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), '4751'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankBalancesName(), '4752'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesFromCustomersName(), '4753'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), '4754'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscReceivedDecreasesName(), '4755'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '4756'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), '4757'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), '4758'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), '4759'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), '4780'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesAndChargesRecDomName(), '4790'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), '4795'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), '5000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailName(), '5100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), '5101'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), '5102'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), '5103'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), '5105'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), '5106'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), '5107'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailSoldName(), '5108'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsName(), '5300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), '5315'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), '5320'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), '5330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), '5340'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), '5345'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), '5349'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsSoldName(), '5360'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesName(), '5400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesUsedName(), '5410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), '5420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), '5430'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '5459'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), '6000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), '6005'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '6010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityAndHeatingName(), '6015'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsAndMaintenanceName(), '6020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), '6035'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '6040'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneAndFaxName(), '6045'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '6050'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), '6065'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), '6070'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), '6080'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), '6190'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), '6200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '6225'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentAndPrName(), '6235'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), '6245'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), '6300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineAndMotorOilName(), '6325'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), '6330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsAndMaintenanceExpenseName(), '6398'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), '6400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), '6411'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), '6412'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalAndAccountingServicesName(), '6413'); + ContosoGLAccount.AddAccountForLocalization(MiscellaneousExpenseName(), '6414'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '6500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), '6520'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '6530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), '6540'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), '6570'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationOfFixedAssetsName(), '7100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), '7110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), '7120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), '7130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsOfOperationsName(), '7150'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '7200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnRevolvingCreditName(), '7210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankLoansName(), '7220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), '7230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesToVendorsName(), '7240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscGrantedDecreasesName(), '7250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), '7260'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), '7270'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), '7280'); + ContosoGLAccount.AddAccountForLocalization(GainsAndLossesBeginTotalName(), '7300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxGainsName(), '7400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxLossesName(), '7500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxGainsName(), '7600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxLossesName(), '7610'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsAndLossesName(), '7620'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), '8020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '8030'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), '1099'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), '1290'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), '1399'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesTotalName(), '1420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsTotalName(), '1433'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipTotalName(), '1440'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsTotalName(), '1531'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), '1555'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), '1599'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), '1699'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesTotalName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), '2281'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelRelatedItemsName(), '2379'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesTotalName(), '2399'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), '2530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '2999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeForTheYearName(), '3045'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), '3050'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), '3999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRetailName(), '4210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRawMaterialsName(), '4330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfResourcesName(), '4439'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfJobsName(), '4510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), '4899'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), '4900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRetailName(), '5299'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRawMaterialsName(), '5390'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfResourcesName(), '5450'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), '5799'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), '6025'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), '6055'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), '6199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), '6299'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), '6399'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), '6430'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), '6499'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), '6599'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), '7140'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), '7290'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Miscellaneous(), '8640'); + ContosoGLAccount.AddAccountForLocalization(StmtOfFinancialPositionName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(BankOtherName(), '1020'); + ContosoGLAccount.AddAccountForLocalization(CustomersIntercompanyName(), '1225'); + ContosoGLAccount.AddAccountForLocalization(WipAccountFinishedGoodsName(), '1340'); + ContosoGLAccount.AddAccountForLocalization(TotalCurrentAssetsName(), '1499'); + ContosoGLAccount.AddAccountForLocalization(NonCurrentAssetsName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(FinancialAssetsName(), '1504'); + ContosoGLAccount.AddAccountForLocalization(InvestmentsName(), '1505'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialAssetsName(), '1510'); + ContosoGLAccount.AddAccountForLocalization(TotalFinancialAssetsName(), '1514'); + ContosoGLAccount.AddAccountForLocalization(OfficeEquipmentBeginTotalName(), '1541'); + ContosoGLAccount.AddAccountForLocalization(OfficeEquipmentName(), '1542'); + ContosoGLAccount.AddAccountForLocalization(OfficeEquipmentTotalName(), '1549'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsBeginTotalName(), '1600'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsName(), '1605'); + ContosoGLAccount.AddAccountForLocalization(AccAmortnOnIntangiblesName(), '1610'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsTotalName(), '1650'); + ContosoGLAccount.AddAccountForLocalization(RightToUseAssetsName(), '1670'); + ContosoGLAccount.AddAccountForLocalization(RightToUseLeasesName(), '1671'); + ContosoGLAccount.AddAccountForLocalization(AccAmortnOnRightOfUseLeasesName(), '1672'); + ContosoGLAccount.AddAccountForLocalization(RightToUseAssetsTotalName(), '1673'); + ContosoGLAccount.AddAccountForLocalization(TotalNonCurrentAssetsName(), '1698'); + ContosoGLAccount.AddAccountForLocalization(PrepaidServiceContractsName(), '2104'); + ContosoGLAccount.AddAccountForLocalization(DeferredRevenueName(), '2105'); + ContosoGLAccount.AddAccountForLocalization(TradeAndOtherPayablesBeginTotalName(), '2240'); + ContosoGLAccount.AddAccountForLocalization(VendorsIntercompanyName(), '2251'); + ContosoGLAccount.AddAccountForLocalization(AccruedExpensesName(), '2253'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForIncomeTaxName(), '2255'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForAnnualLeaveName(), '2259'); + ContosoGLAccount.AddAccountForLocalization(SuperannuationClearingName(), '2260'); + ContosoGLAccount.AddAccountForLocalization(PayrollClearingName(), '2261'); + ContosoGLAccount.AddAccountForLocalization(PayrollDeductionsName(), '2270'); + ContosoGLAccount.AddAccountForLocalization(TradeAndOtherPayablesName(), '2274'); + ContosoGLAccount.AddAccountForLocalization(TaxesPayablesName(), '2300'); + ContosoGLAccount.AddAccountForLocalization(GstPayableName(), '2305'); + ContosoGLAccount.AddAccountForLocalization(GstReceivableName(), '2310'); + ContosoGLAccount.AddAccountForLocalization(GstClearingName(), '2320'); + ContosoGLAccount.AddAccountForLocalization(GstReconName(), '2330'); + ContosoGLAccount.AddAccountForLocalization(WhtTaxPayableName(), '2340'); + ContosoGLAccount.AddAccountForLocalization(WhtPrepaidName(), '2341'); + ContosoGLAccount.AddAccountForLocalization(TaxesPayablesTotalName(), '2350'); + ContosoGLAccount.AddAccountForLocalization(UnearnedRevenueOtherName(), '2380'); + ContosoGLAccount.AddAccountForLocalization(FundsReceivedInAdvanceName(), '2381'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentLiabilitiesName(), '2382'); + ContosoGLAccount.AddAccountForLocalization(TotalUnearnedRevenueOtherName(), '2390'); + ContosoGLAccount.AddAccountForLocalization(NonCurrentLiabilitiesName(), '2400'); + ContosoGLAccount.AddAccountForLocalization(EmployeeProvisionsName(), '2410'); + ContosoGLAccount.AddAccountForLocalization(LongServiceLeaveName(), '2420'); + ContosoGLAccount.AddAccountForLocalization(TotalEmployeeProvisionsName(), '2450'); + ContosoGLAccount.AddAccountForLocalization(TotalNonCurrentLiabilitiesName(), '2540'); + ContosoGLAccount.AddAccountForLocalization(StockSalesName(), '4120'); + ContosoGLAccount.AddAccountForLocalization(HireIncomeName(), '4130'); + ContosoGLAccount.AddAccountForLocalization(RentalIncomeName(), '4140'); + ContosoGLAccount.AddAccountForLocalization(SalesOfServiceContractsName(), '4726'); + ContosoGLAccount.AddAccountForLocalization(ServiceContractSaleName(), '4730'); + ContosoGLAccount.AddAccountForLocalization(TotalSaleOfServContractsName(), '4740'); + ContosoGLAccount.AddAccountForLocalization(FreightExpensesRetailName(), '5104'); + ContosoGLAccount.AddAccountForLocalization(DirectCostAppliedRetailName(), '5109'); + ContosoGLAccount.AddAccountForLocalization(OverheadAppliedRetailName(), '5110'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceRetailName(), '5111'); + ContosoGLAccount.AddAccountForLocalization(FreightExpensesRawMatCOGSName(), '5335'); + ContosoGLAccount.AddAccountForLocalization(DirectCostAppliedRawmatName(), '5370'); + ContosoGLAccount.AddAccountForLocalization(OverheadAppliedRawmatName(), '5380'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceRawmatName(), '5385'); + ContosoGLAccount.AddAccountForLocalization(CostOfCapacitiesBeginTotalName(), '5460'); + ContosoGLAccount.AddAccountForLocalization(CostOfCapacitiesName(), '5470'); + ContosoGLAccount.AddAccountForLocalization(DirectCostAppliedCapName(), '5471'); + ContosoGLAccount.AddAccountForLocalization(OverheadAppliedCapName(), '5472'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceCapName(), '5479'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfCapacitiesName(), '5480'); + ContosoGLAccount.AddAccountForLocalization(VarianceName(), '5490'); + ContosoGLAccount.AddAccountForLocalization(MaterialVarianceName(), '5695'); + ContosoGLAccount.AddAccountForLocalization(CapacityVarianceName(), '5700'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedVarianceName(), '5710'); + ContosoGLAccount.AddAccountForLocalization(CapOverheadVarianceName(), '5720'); + ContosoGLAccount.AddAccountForLocalization(MfgOverheadVarianceName(), '5730'); + ContosoGLAccount.AddAccountForLocalization(TotalVarianceName(), '5731'); + ContosoGLAccount.AddAccountForLocalization(FreightExpensesRawMatName(), '6255'); + ContosoGLAccount.AddAccountForLocalization(AnnualLeaveExpensesName(), '6560'); + ContosoGLAccount.AddAccountForLocalization(EbitdaName(), '7000'); + ContosoGLAccount.AddAccountForLocalization(PurchaseWhtAdjustmentsName(), '7160'); + ContosoGLAccount.AddAccountForLocalization(SalesWhtAdjustmentsName(), '7170'); + ContosoGLAccount.AddAccountForLocalization(TotalGainsAndLossesName(), '7999'); + ContosoGLAccount.AddAccountForLocalization(NiBefExtrItemsTaxesName(), '8005'); + ContosoGLAccount.AddAccountForLocalization(IncomeTaxesName(), '8010'); + ContosoGLAccount.AddAccountForLocalization(TotalIncomeTaxesName(), '8049'); + ContosoGLAccount.AddAccountForLocalization(OtherComprehensiveNetIncomeTaxForThePeriodBeginTotalName(), '8060'); + ContosoGLAccount.AddAccountForLocalization(OtherComprehensiveNetIncomeTaxForThePeriodName(), '8070'); + ContosoGLAccount.AddAccountForLocalization(NetIncomeBeforeExtrItemsName(), '8099'); + ContosoGLAccount.AddAccountForLocalization(TotalComprehensiveIncomeForThePeriodName(), '8199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeBeforeTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), ''); + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.SetOverwriteData(true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiquidAssets(), CreateGLAccount.LiquidAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPSales(), CreateGLAccount.WIPSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultingFeesDom(), CreateGLAccount.ConsultingFeesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FeesandChargesRecDom(), CreateGLAccount.FeesandChargesRecDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cleaning(), CreateGLAccount.CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityandHeating(), CreateGLAccount.ElectricityandHeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.RepairsandMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PhoneandFax(), CreateGLAccount.PhoneandFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Software(), CreateGLAccount.SoftwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultantServices(), CreateGLAccount.ConsultantServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherComputerExpenses(), CreateGLAccount.OtherComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), CreateGLAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EntertainmentandPR(), CreateGLAccount.EntertainmentandPRName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GasolineandMotorOil(), CreateGLAccount.GasolineandMotorOilName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenanceExpense(), CreateGLAccount.RepairsandMaintenanceExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LegalandAccountingServices(), CreateGLAccount.LegalandAccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscellaneousExpense(), MiscellaneousExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CorporateTax(), CreateGLAccount.CorporateTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(StmtOfFinancialPosition(), StmtOfFinancialPositionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankOther(), BankOtherName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CustomersIntercompany(), CustomersIntercompanyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WipAccountFinishedGoods(), WipAccountFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCurrentAssets(), TotalCurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CurrentAssets() + '..' + TotalCurrentAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrentAssets(), NonCurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialAssets(), FinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Investments(), InvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialAssets(), OtherFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinancialAssets(), TotalFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, FinancialAssets() + '..' + TotalFinancialAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeEquipmentBeginTotal(), OfficeEquipmentBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeEquipment(), OfficeEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OfficeEquipmentTotal(), OfficeEquipmentTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, OfficeEquipmentBeginTotal() + '..' + OfficeEquipmentTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssetsBeginTotal(), IntangibleAssetsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssets(), IntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccAmortnOnIntangibles(), AccAmortnOnIntangiblesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssetsTotal(), IntangibleAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, IntangibleAssetsBeginTotal() + '..' + IntangibleAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RightToUseAssets(), RightToUseAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RightToUseLeases(), RightToUseLeasesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccAmortnOnRightOfUseLeases(), AccAmortnOnRightOfUseLeasesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RightToUseAssetsTotal(), RightToUseAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, RightToUseAssets() + '..' + RightToUseAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalNonCurrentAssets(), TotalNonCurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, NonCurrentAssets() + '..' + TotalNonCurrentAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidServiceContracts(), PrepaidServiceContractsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredRevenue(), DeferredRevenueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeAndOtherPayablesBeginTotal(), TradeAndOtherPayablesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsIntercompany(), VendorsIntercompanyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedExpenses(), AccruedExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForIncomeTax(), ProvisionForIncomeTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForAnnualLeave(), ProvisionForAnnualLeaveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SuperannuationClearing(), SuperannuationClearingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayrollClearing(), PayrollClearingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayrollDeductions(), PayrollDeductionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeAndOtherPayables(), TradeAndOtherPayablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, TradeAndOtherPayables() + '..' + TradeAndOtherPayables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxesPayables(), TaxesPayablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GstPayable(), GstPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GstReceivable(), GstReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GstClearing(), GstClearingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GstRecon(), GstReconName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WhtTaxPayable(), WhtTaxPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WhtPrepaid(), WhtPrepaidName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxesPayablesTotal(), TaxesPayablesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, TaxesPayables() + '..' + TaxesPayablesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(UnearnedRevenueOther(), UnearnedRevenueOtherName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FundsReceivedInAdvance(), FundsReceivedInAdvanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentLiabilities(), OtherCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalUnearnedRevenueOther(), TotalUnearnedRevenueOtherName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, UnearnedRevenueOther() + '..' + TotalUnearnedRevenueOther(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrentLiabilities(), NonCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EmployeeProvisions(), EmployeeProvisionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongServiceLeave(), LongServiceLeaveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalEmployeeProvisions(), TotalEmployeeProvisionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, EmployeeProvisions() + '..' + TotalEmployeeProvisions(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalNonCurrentLiabilities(), TotalNonCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, NonCurrentLiabilities() + '..' + TotalNonCurrentLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StockSales(), StockSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HireIncome(), HireIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RentalIncome(), RentalIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesOfServiceContracts(), SalesOfServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServiceContractSale(), ServiceContractSaleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSaleOfServContracts(), TotalSaleOfServContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesOfServiceContracts() + '..' + TotalSaleOfServContracts(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreightExpensesRetail(), FreightExpensesRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DirectCostAppliedRetail(), DirectCostAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OverheadAppliedRetail(), OverheadAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceRetail(), PurchaseVarianceRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FreightExpensesRawMatCOGS(), FreightExpensesRawMatCOGSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DirectCostAppliedRawmat(), DirectCostAppliedRawmatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OverheadAppliedRawmat(), OverheadAppliedRawmatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceRawmat(), PurchaseVarianceRawmatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCapacitiesBeginTotal(), CostOfCapacitiesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCapacities(), CostOfCapacitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DirectCostAppliedCap(), DirectCostAppliedCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OverheadAppliedCap(), OverheadAppliedCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceCap(), PurchaseVarianceCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfCapacities(), TotalCostOfCapacitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostOfCapacitiesBeginTotal() + '..' + TotalCostOfCapacities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variance(), VarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MaterialVariance(), MaterialVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapacityVariance(), CapacityVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SubcontractedVariance(), SubcontractedVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapOverheadVariance(), CapOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MfgOverheadVariance(), MfgOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVariance(), TotalVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, Variance() + '..' + TotalVariance(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreightExpensesRawMat(), FreightExpensesRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualLeaveExpenses(), AnnualLeaveExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Ebitda(), EbitdaName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseWhtAdjustments(), PurchaseWhtAdjustmentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesWhtAdjustments(), SalesWhtAdjustmentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalGainsAndLosses(), TotalGainsAndLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, GainsAndLossesBeginTotal() + '..' + TotalGainsAndLosses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NiBefExtrItemsTaxes(), NiBefExtrItemsTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Total, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeTaxes(), IncomeTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalIncomeTaxes(), TotalIncomeTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, IncomeTaxes() + '..' + TotalIncomeTaxes(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherComprehensiveNetIncomeTaxForThePeriodBeginTotal(), OtherComprehensiveNetIncomeTaxForThePeriodBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherComprehensiveNetIncomeTaxForThePeriod(), OtherComprehensiveNetIncomeTaxForThePeriodName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NetIncomeBeforeExtrItems(), NetIncomeBeforeExtrItemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Total, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalComprehensiveIncomeForThePeriod(), TotalComprehensiveIncomeForThePeriodName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherComprehensiveNetIncomeTaxForThePeriodBeginTotal() + '..' + TotalComprehensiveIncomeForThePeriod(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiquidAssetsTotal(), CreateGLAccount.LiquidAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LiquidAssets() + '..' + CreateGLAccount.LiquidAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsReceivableTotal(), CreateGLAccount.AccountsReceivableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AccountsReceivable() + '..' + CreateGLAccount.AccountsReceivableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryTotal(), CreateGLAccount.InventoryTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Inventory() + '..' + CreateGLAccount.InventoryTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WipSalesTotal(), CreateGLAccount.WipSalesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.WipSales() + '..' + CreateGLAccount.WipSalesTotal(), Enum::"General Posting Type"::Sale, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WipCostsTotal(), CreateGLAccount.WipCostsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.WipCosts() + '..' + CreateGLAccount.WipCostsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobWipTotal(), CreateGLAccount.JobWipTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.JobWip() + '..' + CreateGLAccount.JobWipTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandAndBuildingsTotal(), CreateGLAccount.LandAndBuildingsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LandandBuildingsBeginTotal() + '..' + CreateGLAccount.LandAndBuildingsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VehiclesTotal(), CreateGLAccount.VehiclesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehiclesBeginTotal() + '..' + CreateGLAccount.VehiclesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TangibleFixedAssetsTotal(), CreateGLAccount.TangibleFixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.TangibleFixedAssets() + '..' + CreateGLAccount.TangibleFixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAssets(), CreateGLAccount.TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.Assets() + '..' + CreateGLAccount.TotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LongTermLiabilitiesTotal(), CreateGLAccount.LongTermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LongTermLiabilities() + '..' + CreateGLAccount.LongTermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimTotal(), CreateGLAccount.InvAdjmtInterimTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InvAdjmtInterim() + '..' + CreateGLAccount.InvAdjmtInterimTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalPersonnelRelatedItems(), CreateGLAccount.TotalPersonnelRelatedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelRelatedItems() + '..' + CreateGLAccount.TotalPersonnelRelatedItems(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ShortTermLiabilitiesTotal(), CreateGLAccount.ShortTermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ShortTermLiabilities() + '..' + CreateGLAccount.ShortTermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilitiesTotal(), CreateGLAccount.OtherLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherLiabilities() + '..' + CreateGLAccount.OtherLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilities(), CreateGLAccount.TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Liabilities() + '..' + CreateGLAccount.TotalLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncomeForTheYear(), CreateGLAccount.NetIncomeForTheYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalStockholder(), CreateGLAccount.TotalStockholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilitiesAndEquity(), CreateGLAccount.TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Total, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSalesOfRetail(), CreateGLAccount.TotalSalesOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesOfRetail() + '..' + CreateGLAccount.TotalSalesOfRetail(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSalesOfRawMaterials(), CreateGLAccount.TotalSalesOfRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesOfRawMaterials() + '..' + CreateGLAccount.TotalSalesOfRawMaterials(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSalesOfResources(), CreateGLAccount.TotalSalesOfResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesOfResources() + '..' + CreateGLAccount.TotalSalesOfResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSalesOfJobs(), CreateGLAccount.TotalSalesOfJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesOfJobs() + '..' + CreateGLAccount.TotalSalesOfJobs(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalInterestIncome(), CreateGLAccount.TotalInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InterestIncome() + '..' + CreateGLAccount.TotalInterestIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalRevenue(), CreateGLAccount.TotalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Revenue() + '..' + CreateGLAccount.TotalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalCostOfRetail(), CreateGLAccount.TotalCostOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CostOfRetail() + '..' + CreateGLAccount.TotalCostOfRetail(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalCostOfRawMaterials(), CreateGLAccount.TotalCostOfRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CostOfRawMaterials() + '..' + CreateGLAccount.TotalCostOfRawMaterials(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalCostOfResources(), CreateGLAccount.TotalCostOfResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CostOfResources() + '..' + CreateGLAccount.TotalCostOfResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalCost(), CreateGLAccount.TotalCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Cost() + '..' + CreateGLAccount.TotalCost(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalBldgMaintExpenses(), CreateGLAccount.TotalBldgMaintExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.BuildingMaintenanceExpenses() + '..' + CreateGLAccount.TotalBldgMaintExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAdministrativeExpenses(), CreateGLAccount.TotalAdministrativeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AdministrativeExpenses() + '..' + CreateGLAccount.TotalAdministrativeExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalComputerExpenses(), CreateGLAccount.TotalComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ComputerExpenses() + '..' + CreateGLAccount.TotalComputerExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSellingExpenses(), CreateGLAccount.TotalSellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SellingExpenses() + '..' + CreateGLAccount.TotalSellingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalVehicleExpenses(), CreateGLAccount.TotalVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehicleExpenses() + '..' + CreateGLAccount.TotalVehicleExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherOperatingExpTotal(), CreateGLAccount.OtherOperatingExpTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherOperatingExpenses() + '..' + CreateGLAccount.OtherOperatingExpTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalOperatingExpenses(), CreateGLAccount.TotalOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OperatingExpenses() + '..' + CreateGLAccount.TotalOperatingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalPersonnelExpenses(), CreateGLAccount.TotalPersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelExpenses() + '..' + CreateGLAccount.TotalPersonnelExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalFixedAssetDepreciation(), CreateGLAccount.TotalFixedAssetDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.DepreciationOfFixedAssets() + '..' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalInterestExpenses(), CreateGLAccount.TotalInterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InterestExpenses() + '..' + CreateGLAccount.TotalInterestExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchasePrepayments(), CreateGLAccount.PurchasePrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesPrepayments(), CreateGLAccount.SalesPrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsPayable(), CreateGLAccount.AccountsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Allowances(), CreateGLAccount.AllowancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainsAndLossesBeginTotal(), GainsAndLossesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersForeign(), CreateGLAccount.CustomersForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Vehicles(), CreateGLAccount.VehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildings(), CreateGLAccount.LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDeprOperEquip(), CreateGLAccount.AccumDeprOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GainsandLosses(), CreateGLAccount.GainsandLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDepreciationVehicles(), CreateGLAccount.AccumDepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BankLCY(), CreateGLAccount.BankLCYName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BankCurrencies(), CreateGLAccount.BankCurrenciesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersDomestic(), CreateGLAccount.CustomersDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItemsInterim(), CreateGLAccount.ResaleItemsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.CostofResaleSoldInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoodsInterim(), CreateGLAccount.FinishedGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterialsInterim(), CreateGLAccount.RawMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRawMatSoldInterim(), CreateGLAccount.CostofRawMatSoldInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PrimoInventory(), CreateGLAccount.PrimoInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoicedJobSales(), CreateGLAccount.InvoicedJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobCosts(), CreateGLAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccruedJobCosts(), CreateGLAccount.AccruedJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDepreciationBuildings(), CreateGLAccount.AccumDepreciationBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RevolvingCredit(), CreateGLAccount.RevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeferredTaxes(), CreateGLAccount.DeferredTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsDomestic(), CreateGLAccount.VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsForeign(), CreateGLAccount.VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.InvAdjmtInterimRetailName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRawMat(), CreateGLAccount.InvAdjmtInterimRawMatName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailDom(), CreateGLAccount.SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRetail(), CreateGLAccount.JobSalesAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtRetail(), CreateGLAccount.JobSalesAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsDom(), CreateGLAccount.SalesRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.SalesRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRawMat(), CreateGLAccount.JobSalesAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtRawMat(), CreateGLAccount.JobSalesAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesDom(), CreateGLAccount.SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedResources(), CreateGLAccount.JobSalesAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtResources(), CreateGLAccount.JobSalesAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesOtherJobExpenses(), CreateGLAccount.SalesOtherJobExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PaymentDiscountsReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.PmtDiscReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceReceived(), CreateGLAccount.PaymentToleranceReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PmtTolReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailDom(), CreateGLAccount.PurchRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailExport(), CreateGLAccount.PurchRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedRetail(), CreateGLAccount.JobCostAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtRetail(), CreateGLAccount.JobCostAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofRetailSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRawMat(), CreateGLAccount.InventoryAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedRawMat(), CreateGLAccount.JobCostAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtRawMaterials(), CreateGLAccount.JobCostAdjmtRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRawMaterialsSold(), CreateGLAccount.CostofRawMaterialsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedResources(), CreateGLAccount.JobCostAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtResources(), CreateGLAccount.JobCostAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscGrantedDecreases(), CreateGLAccount.PmtDiscGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PaymentToleranceGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolGrantedDecreases(), CreateGLAccount.PmtTolGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.UnrealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFXGains(), CreateGLAccount.RealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFXLosses(), CreateGLAccount.RealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.SetOverwriteData(false); + end; + + procedure AddCategoriesToMiniGLAccounts() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToMiniChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToMiniChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + local procedure AssignCategoryToMiniChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Assets(), CreateGLAccount.TotalAssets()); + GLAccountCategory."Account Category"::Liabilities: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LiabilitiesAndEquity(), CreateGLAccount.TotalLiabilities()); + GLAccountCategory."Account Category"::Equity: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Stockholder(), CreateGLAccount.TotalLiabilitiesAndEquity()); + GLAccountCategory."Account Category"::Income: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.IncomeStatement(), CreateGLAccount.TotalRevenue()); + UpdateGLAccounts(GLAccountCategory, GainsandLossesBeginTotal(), TotalGainsAndLosses()); + end; + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cost(), CreateGLAccount.TotalCost()); + GLAccountCategory."Account Category"::Expense: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OperatingExpenses(), CreateGLAccount.TotalInterestExpenses()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.UnrealizedFXLosses()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RealizedFXLosses(), CreateGLAccount.RealizedFXLosses()); + UpdateGLAccounts(GLAccountCategory, NiBefExtrItemsTaxes(), TotalComprehensiveIncomeForThePeriod()); + end; + end; + end; + + local procedure AssignSubcategoryToMiniChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LiquidAssets(), CreateGLAccount.LiquidAssetsTotal()); + GLAccountCategoryMgt.GetAR(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.AccountsReceivable(), CreateGLAccount.AccountsReceivableTotal()); + GLAccountCategoryMgt.GetPrepaidExpenses(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.JobWIP(), CreateGLAccount.JobWIP()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PurchasePrepayments(), CreateGLAccount.PurchasePrepayments()); + end; + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Inventory(), CreateGLAccount.InventoryTotal()); + GLAccountCategoryMgt.GetEquipment(): + UpdateGLAccounts(GLAccountCategory, OfficeEquipmentBeginTotal(), CreateGLAccount.VehiclesTotal()); + GLAccountCategoryMgt.GetAccumDeprec(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.AccumDepreciationBuildings(), CreateGLAccount.AccumDepreciationBuildings()); + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, TradeAndOtherPayablesBeginTotal(), TaxesPayablesTotal()); + UpdateGLAccounts(GLAccountCategory, NonCurrentLiabilities(), NonCurrentLiabilities()); + end; + GLAccountCategoryMgt.GetPayrollLiabilities(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PersonnelExpenses(), CreateGLAccount.TotalPersonnelExpenses()); + GLAccountCategoryMgt.GetLongTermLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LongtermLiabilities(), CreateGLAccount.LongtermLiabilitiesTotal()); + UpdateGLAccounts(GLAccountCategory, DeferredRevenue(), CreateGLAccount.DeferredTaxes()); + end; + GLAccountCategoryMgt.GetCommonStock(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStock()); + GLAccountCategoryMgt.GetRetEarnings(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarnings()); + GLAccountCategoryMgt.GetDistrToShareholders(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.TotalStockholder(), CreateGLAccount.TotalStockholder()); + GLAccountCategoryMgt.GetIncomeService(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesResourcesDom(), TotalSaleOfServContracts()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ConsultingFeesDom(), CreateGLAccount.FeesandChargesRecDom()); + end; + GLAccountCategoryMgt.GetIncomeProdSales(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesofRetail(), CreateGLAccount.SalesRetailDom()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExport()); + end; + GLAccountCategoryMgt.GetIncomeSalesDiscounts(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted()); + GLAccountCategoryMgt.GetCOGSLabor(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CostofResources(), PurchaseVarianceCap()); + GLAccountCategoryMgt.GetCOGSMaterials(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CostofRetail(), CreateGLAccount.TotalCostofRawMaterials()); + GLAccountCategoryMgt.GetAdvertisingExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Advertising(), CreateGLAccount.EntertainmentandPR()); + GLAccountCategoryMgt.GetInterestExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.InterestExpenses(), CreateGLAccount.TotalInterestExpenses()); + GLAccountCategoryMgt.GetPayrollExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PersonnelExpenses(), CreateGLAccount.TotalPersonnelExpenses()); + GLAccountCategoryMgt.GetRepairsExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RepairsandMaintenanceExpense(), CreateGLAccount.RepairsandMaintenanceExpense()); + GLAccountCategoryMgt.GetUtilitiesExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.BuildingMaintenanceExpenses(), CreateGLAccount.TotalAdministrativeExpenses()); + GLAccountCategoryMgt.GetOtherIncomeExpense(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OtherOperatingExpenses(), CreateGLAccount.TotalOperatingExpenses()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.OtherCostsofOperations()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ExtraordinaryExpenses(), CreateGLAccount.ExtraordinaryExpenses()); + end; + GLAccountCategoryMgt.GetTaxExpense(): + UpdateGLAccounts(GLAccountCategory, IncomeTaxes(), TotalComprehensiveIncomeForThePeriod()); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure StmtOfFinancialPosition(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StmtOfFinancialPositionName())); + end; + + procedure StmtOfFinancialPositionName(): Text[100] + begin + exit(StmtOfFinancialPositionTok); + end; + + procedure BankOther(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankOtherName())); + end; + + procedure BankOtherName(): Text[100] + begin + exit(BankOtherTok); + end; + + procedure CustomersIntercompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomersIntercompanyName())); + end; + + procedure CustomersIntercompanyName(): Text[100] + begin + exit(CustomersIntercompanyTok); + end; + + procedure WipAccountFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipAccountFinishedGoodsName())); + end; + + procedure WipAccountFinishedGoodsName(): Text[100] + begin + exit(WipAccountFinishedGoodsTok); + end; + + procedure TotalCurrentAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCurrentAssetsName())); + end; + + procedure TotalCurrentAssetsName(): Text[100] + begin + exit(TotalCurrentAssetsTok); + end; + + procedure NonCurrentAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrentAssetsName())); + end; + + procedure NonCurrentAssetsName(): Text[100] + begin + exit(NonCurrentAssetsTok); + end; + + procedure FinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialAssetsName())); + end; + + procedure FinancialAssetsName(): Text[100] + begin + exit(FinancialAssetsTok); + end; + + procedure Investments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentsName())); + end; + + procedure InvestmentsName(): Text[100] + begin + exit(InvestmentsTok); + end; + + procedure OtherFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialAssetsName())); + end; + + procedure OtherFinancialAssetsName(): Text[100] + begin + exit(OtherFinancialAssetsTok); + end; + + procedure TotalFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinancialAssetsName())); + end; + + procedure TotalFinancialAssetsName(): Text[100] + begin + exit(TotalFinancialAssetsTok); + end; + + procedure OfficeEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeEquipmentName())); + end; + + procedure OfficeEquipmentName(): Text[100] + begin + exit(OfficeEquipmentTok); + end; + + procedure OfficeEquipmentBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeEquipmentBegintotalName())); + end; + + procedure OfficeEquipmentBeginTotalName(): Text[100] + begin + exit(OfficeEquipmentBeginTotalTok); + end; + + procedure OfficeEquipmentTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeEquipmentTotalName())); + end; + + procedure OfficeEquipmentTotalName(): Text[100] + begin + exit(OfficeEquipmentTotalTok); + end; + + procedure IntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsName())); + end; + + procedure IntangibleAssetsName(): Text[100] + begin + exit(IntangibleAssetsTok); + end; + + procedure IntangibleAssetsBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsBeginTotalName())); + end; + + procedure IntangibleAssetsBeginTotalName(): Text[100] + begin + exit(IntangibleAssetsBeginTotalTok); + end; + + procedure AccAmortnOnIntangibles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccAmortnOnIntangiblesName())); + end; + + procedure AccAmortnOnIntangiblesName(): Text[100] + begin + exit(AccAmortnOnIntangiblesTok); + end; + + procedure IntangibleAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsTotalName())); + end; + + procedure IntangibleAssetsTotalName(): Text[100] + begin + exit(IntangibleAssetsTotalTok); + end; + + procedure RightToUseAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RightToUseAssetsName())); + end; + + procedure RightToUseAssetsName(): Text[100] + begin + exit(RightToUseAssetsTok); + end; + + procedure RightToUseLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RightToUseLeasesName())); + end; + + procedure RightToUseLeasesName(): Text[100] + begin + exit(RightToUseLeasesTok); + end; + + procedure AccAmortnOnRightOfUseLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccAmortnOnRightOfUseLeasesName())); + end; + + procedure AccAmortnOnRightOfUseLeasesName(): Text[100] + begin + exit(AccAmortnOnRightOfUseLeasesTok); + end; + + procedure RightToUseAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RightToUseAssetsTotalName())); + end; + + procedure RightToUseAssetsTotalName(): Text[100] + begin + exit(RightToUseAssetsTotalTok); + end; + + procedure TotalNonCurrentAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalNonCurrentAssetsName())); + end; + + procedure TotalNonCurrentAssetsName(): Text[100] + begin + exit(TotalNonCurrentAssetsTok); + end; + + procedure PrepaidServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidServiceContractsName())); + end; + + procedure PrepaidServiceContractsName(): Text[100] + begin + exit(PrepaidServiceContractsTok); + end; + + procedure DeferredRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredRevenueName())); + end; + + procedure DeferredRevenueName(): Text[100] + begin + exit(DeferredRevenueTok); + end; + + procedure TradeAndOtherPayables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAndOtherPayablesName())); + end; + + procedure TradeAndOtherPayablesName(): Text[100] + begin + exit(TradeAndOtherPayablesTok); + end; + + procedure TradeAndOtherPayablesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAndOtherPayablesBeginTotalName())); + end; + + procedure TradeAndOtherPayablesBeginTotalName(): Text[100] + begin + exit(TradeAndOtherPayablesBeginTotalTok); + end; + + procedure VendorsIntercompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsIntercompanyName())); + end; + + procedure VendorsIntercompanyName(): Text[100] + begin + exit(VendorsIntercompanyTok); + end; + + procedure AccruedExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedExpensesName())); + end; + + procedure AccruedExpensesName(): Text[100] + begin + exit(AccruedExpensesTok); + end; + + procedure ProvisionForIncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForIncomeTaxName())); + end; + + procedure ProvisionForIncomeTaxName(): Text[100] + begin + exit(ProvisionForIncomeTaxTok); + end; + + procedure ProvisionForAnnualLeave(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForAnnualLeaveName())); + end; + + procedure ProvisionForAnnualLeaveName(): Text[100] + begin + exit(ProvisionForAnnualLeaveTok); + end; + + procedure SuperannuationClearing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuperannuationClearingName())); + end; + + procedure SuperannuationClearingName(): Text[100] + begin + exit(SuperannuationClearingTok); + end; + + procedure PayrollClearing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollClearingName())); + end; + + procedure PayrollClearingName(): Text[100] + begin + exit(PayrollClearingTok); + end; + + procedure PayrollDeductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollDeductionsName())); + end; + + procedure PayrollDeductionsName(): Text[100] + begin + exit(PayrollDeductionsTok); + end; + + procedure TaxesPayables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesPayablesName())); + end; + + procedure TaxesPayablesName(): Text[100] + begin + exit(TaxesPayablesTok); + end; + + procedure GstPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GstPayableName())); + end; + + procedure GstPayableName(): Text[100] + begin + exit(GstPayableTok); + end; + + procedure GstReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GstReceivableName())); + end; + + procedure GstReceivableName(): Text[100] + begin + exit(GstReceivableTok); + end; + + procedure GstClearing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GstClearingName())); + end; + + procedure GstClearingName(): Text[100] + begin + exit(GstClearingTok); + end; + + procedure GstRecon(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GstReconName())); + end; + + procedure GstReconName(): Text[100] + begin + exit(GstReconTok); + end; + + procedure WhtTaxPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WhtTaxPayableName())); + end; + + procedure WhtTaxPayableName(): Text[100] + begin + exit(WhtTaxPayableTok); + end; + + procedure WhtPrepaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WhtPrepaidName())); + end; + + procedure WhtPrepaidName(): Text[100] + begin + exit(WhtPrepaidTok); + end; + + procedure TaxesPayablesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesPayablesTotalName())); + end; + + procedure TaxesPayablesTotalName(): Text[100] + begin + exit(TaxesPayablesTotalTok); + end; + + procedure UnearnedRevenueOther(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnearnedRevenueOtherName())); + end; + + procedure UnearnedRevenueOtherName(): Text[100] + begin + exit(UnearnedRevenueOtherTok); + end; + + procedure FundsReceivedInAdvance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FundsReceivedInAdvanceName())); + end; + + procedure FundsReceivedInAdvanceName(): Text[100] + begin + exit(FundsReceivedInAdvanceTok); + end; + + procedure OtherCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentLiabilitiesName())); + end; + + procedure OtherCurrentLiabilitiesName(): Text[100] + begin + exit(OtherCurrentLiabilitiesTok); + end; + + procedure TotalUnearnedRevenueOther(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalUnearnedRevenueOtherName())); + end; + + procedure TotalUnearnedRevenueOtherName(): Text[100] + begin + exit(TotalUnearnedRevenueOtherTok); + end; + + procedure NonCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrentLiabilitiesName())); + end; + + procedure NonCurrentLiabilitiesName(): Text[100] + begin + exit(NonCurrentLiabilitiesTok); + end; + + procedure EmployeeProvisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeeProvisionsName())); + end; + + procedure EmployeeProvisionsName(): Text[100] + begin + exit(EmployeeProvisionsTok); + end; + + procedure LongServiceLeave(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongServiceLeaveName())); + end; + + procedure LongServiceLeaveName(): Text[100] + begin + exit(LongServiceLeaveTok); + end; + + procedure TotalEmployeeProvisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalEmployeeProvisionsName())); + end; + + procedure TotalEmployeeProvisionsName(): Text[100] + begin + exit(TotalEmployeeProvisionsTok); + end; + + procedure TotalNonCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalNonCurrentLiabilitiesName())); + end; + + procedure TotalNonCurrentLiabilitiesName(): Text[100] + begin + exit(TotalNonCurrentLiabilitiesTok); + end; + + procedure StockSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StockSalesName())); + end; + + procedure StockSalesName(): Text[100] + begin + exit(StockSalesTok); + end; + + procedure HireIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireIncomeName())); + end; + + procedure HireIncomeName(): Text[100] + begin + exit(HireIncomeTok); + end; + + procedure RentalIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalIncomeName())); + end; + + procedure RentalIncomeName(): Text[100] + begin + exit(RentalIncomeTok); + end; + + procedure SalesOfServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesOfServiceContractsName())); + end; + + procedure SalesOfServiceContractsName(): Text[100] + begin + exit(SalesOfServiceContractsTok); + end; + + procedure ServiceContractSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceContractSaleName())); + end; + + procedure ServiceContractSaleName(): Text[100] + begin + exit(ServiceContractSaleTok); + end; + + procedure TotalSaleOfServContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSaleOfServContractsName())); + end; + + procedure TotalSaleOfServContractsName(): Text[100] + begin + exit(TotalSaleOfServContractsTok); + end; + + procedure FreightExpensesRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightExpensesRetailName())); + end; + + procedure FreightExpensesRetailName(): Text[100] + begin + exit(FreightExpensesRetailTok); + end; + + procedure DirectCostAppliedRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectCostAppliedRetailName())); + end; + + procedure DirectCostAppliedRetailName(): Text[100] + begin + exit(DirectCostAppliedRetailTok); + end; + + procedure OverheadAppliedRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadAppliedRetailName())); + end; + + procedure OverheadAppliedRetailName(): Text[100] + begin + exit(OverheadAppliedRetailTok); + end; + + procedure PurchaseVarianceRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceRetailName())); + end; + + procedure PurchaseVarianceRetailName(): Text[100] + begin + exit(PurchaseVarianceRetailTok); + end; + + procedure FreightExpensesRawMatCOGS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightExpensesRawMatCOGSName())); + end; + + procedure FreightExpensesRawMatCOGSName(): Text[100] + begin + exit(FreightExpensesRawMatCOGSTok); + end; + + procedure FreightExpensesRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightExpensesRawMatName())); + end; + + procedure FreightExpensesRawMatName(): Text[100] + begin + exit(FreightExpensesRawMatTok); + end; + + procedure DirectCostAppliedRawmat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectCostAppliedRawmatName())); + end; + + procedure DirectCostAppliedRawmatName(): Text[100] + begin + exit(DirectCostAppliedRawmatTok); + end; + + procedure OverheadAppliedRawmat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadAppliedRawmatName())); + end; + + procedure OverheadAppliedRawmatName(): Text[100] + begin + exit(OverheadAppliedRawmatTok); + end; + + procedure PurchaseVarianceRawmat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceRawmatName())); + end; + + procedure PurchaseVarianceRawmatName(): Text[100] + begin + exit(PurchaseVarianceRawmatTok); + end; + + procedure CostOfCapacities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCapacitiesName())); + end; + + procedure CostOfCapacitiesName(): Text[100] + begin + exit(CostOfCapacitiesTok); + end; + + procedure CostOfCapacitiesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCapacitiesBeginTotalName())); + end; + + procedure CostOfCapacitiesBeginTotalName(): Text[100] + begin + exit(CostOfCapacitiesBeginTotalTok); + end; + + procedure DirectCostAppliedCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectCostAppliedCapName())); + end; + + procedure DirectCostAppliedCapName(): Text[100] + begin + exit(DirectCostAppliedCapTok); + end; + + procedure OverheadAppliedCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadAppliedCapName())); + end; + + procedure OverheadAppliedCapName(): Text[100] + begin + exit(OverheadAppliedCapTok); + end; + + procedure PurchaseVarianceCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceCapName())); + end; + + procedure PurchaseVarianceCapName(): Text[100] + begin + exit(PurchaseVarianceCapTok); + end; + + procedure TotalCostOfCapacities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfCapacitiesName())); + end; + + procedure TotalCostOfCapacitiesName(): Text[100] + begin + exit(TotalCostOfCapacitiesTok); + end; + + procedure Variance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VarianceName())); + end; + + procedure VarianceName(): Text[100] + begin + exit(VarianceTok); + end; + + procedure MaterialVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialVarianceName())); + end; + + procedure MaterialVarianceName(): Text[100] + begin + exit(MaterialVarianceTok); + end; + + procedure CapacityVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapacityVarianceName())); + end; + + procedure CapacityVarianceName(): Text[100] + begin + exit(CapacityVarianceTok); + end; + + procedure SubcontractedVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedVarianceName())); + end; + + procedure SubcontractedVarianceName(): Text[100] + begin + exit(SubcontractedVarianceTok); + end; + + procedure CapOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapOverheadVarianceName())); + end; + + procedure CapOverheadVarianceName(): Text[100] + begin + exit(CapOverheadVarianceTok); + end; + + procedure MfgOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MfgOverheadVarianceName())); + end; + + procedure MfgOverheadVarianceName(): Text[100] + begin + exit(MfgOverheadVarianceTok); + end; + + procedure TotalVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVarianceName())); + end; + + procedure TotalVarianceName(): Text[100] + begin + exit(TotalVarianceTok); + end; + + procedure AnnualLeaveExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualLeaveExpensesName())); + end; + + procedure AnnualLeaveExpensesName(): Text[100] + begin + exit(AnnualLeaveExpensesTok); + end; + + procedure Ebitda(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EbitdaName())); + end; + + procedure EbitdaName(): Text[100] + begin + exit(EbitdaTok); + end; + + procedure PurchaseWhtAdjustments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseWhtAdjustmentsName())); + end; + + procedure PurchaseWhtAdjustmentsName(): Text[100] + begin + exit(PurchaseWhtAdjustmentsTok); + end; + + procedure SalesWhtAdjustments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesWhtAdjustmentsName())); + end; + + procedure SalesWhtAdjustmentsName(): Text[100] + begin + exit(SalesWhtAdjustmentsTok); + end; + + procedure TotalGainsAndLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalGainsAndLossesName())); + end; + + procedure TotalGainsAndLossesName(): Text[100] + begin + exit(TotalGainsAndLossesTok); + end; + + procedure NiBefExtrItemsTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NiBefExtrItemsTaxesName())); + end; + + procedure NiBefExtrItemsTaxesName(): Text[100] + begin + exit(NiBefExtrItemsTaxesTok); + end; + + procedure IncomeTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeTaxesName())); + end; + + procedure IncomeTaxesName(): Text[100] + begin + exit(IncomeTaxesTok); + end; + + procedure TotalIncomeTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIncomeTaxesName())); + end; + + procedure TotalIncomeTaxesName(): Text[100] + begin + exit(TotalIncomeTaxesTok); + end; + + procedure OtherComprehensiveNetIncomeTaxForThePeriod(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherComprehensiveNetIncomeTaxForThePeriodName())); + end; + + procedure OtherComprehensiveNetIncomeTaxForThePeriodName(): Text[100] + begin + exit(OtherComprehensiveNetIncomeTaxForThePeriodTok); + end; + + procedure OtherComprehensiveNetIncomeTaxForThePeriodBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherComprehensiveNetIncomeTaxForThePeriodBeginTotalName())); + end; + + procedure OtherComprehensiveNetIncomeTaxForThePeriodBeginTotalName(): Text[100] + begin + exit(OtherComprehensiveNetIncomeTaxForThePeriodBeginTotalTok); + end; + + procedure NetIncomeBeforeExtrItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetIncomeBeforeExtrItemsName())); + end; + + procedure NetIncomeBeforeExtrItemsName(): Text[100] + begin + exit(NetIncomeBeforeExtrItemsTok); + end; + + procedure TotalComprehensiveIncomeForThePeriod(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalComprehensiveIncomeForThePeriodName())); + end; + + procedure TotalComprehensiveIncomeForThePeriodName(): Text[100] + begin + exit(TotalComprehensiveIncomeForThePeriodTok); + end; + + procedure GainsandLossesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsandLossesBeginTotalName())); + end; + + procedure GainsandLossesBeginTotalName(): Text[100] + begin + exit(GainsandLossesBeginTotalLbl); + end; + + procedure MiscellaneousExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscellaneousExpenseName())); + end; + + procedure MiscellaneousExpenseName(): Text[100] + begin + exit(MiscellaneousExpenseLbl); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + StmtOfFinancialPositionTok: Label 'STMT. OF FINANCIAL POSITION', MaxLength = 100; + BankOtherTok: Label 'Bank, Other', MaxLength = 100; + CustomersIntercompanyTok: Label 'Customers, Intercompany', MaxLength = 100; + WipAccountFinishedGoodsTok: Label 'WIP Account, Finished goods', MaxLength = 100; + TotalCurrentAssetsTok: Label 'Total Current Assets', MaxLength = 100; + NonCurrentAssetsTok: Label 'Non-Current Assets', MaxLength = 100; + FinancialAssetsTok: Label 'Financial Assets', MaxLength = 100; + InvestmentsTok: Label 'Investments', MaxLength = 100; + OtherFinancialAssetsTok: Label 'Other Financial assets', MaxLength = 100; + TotalFinancialAssetsTok: Label 'Total Financial Assets', MaxLength = 100; + OfficeEquipmentTok: Label 'Office Equipment', MaxLength = 100; + OfficeEquipmentBeginTotalTok: Label 'Office Equipment,Begin Total', MaxLength = 100; + OfficeEquipmentTotalTok: Label 'Office Equipment, Total', MaxLength = 100; + IntangibleAssetsTok: Label 'Intangible Assets', MaxLength = 100; + IntangibleAssetsBeginTotalTok: Label 'Intangible Assets,Begin Total', MaxLength = 100; + AccAmortnOnIntangiblesTok: Label 'Acc. Amortn on Intangibles', MaxLength = 100; + IntangibleAssetsTotalTok: Label 'Intangible Assets, Total', MaxLength = 100; + RightToUseAssetsTok: Label 'Right to use assets', MaxLength = 100; + RightToUseLeasesTok: Label 'Right to use leases', MaxLength = 100; + AccAmortnOnRightOfUseLeasesTok: Label 'Acc. Amortn on Right of use Leases', MaxLength = 100; + RightToUseAssetsTotalTok: Label 'Right to use assets, Total', MaxLength = 100; + TotalNonCurrentAssetsTok: Label 'Total Non Current Assets', MaxLength = 100; + PrepaidServiceContractsTok: Label 'Prepaid Service Contracts', MaxLength = 100; + DeferredRevenueTok: Label 'Deferred Revenue', MaxLength = 100; + TradeAndOtherPayablesTok: Label 'Trade and Other Payables', MaxLength = 100; + TradeAndOtherPayablesBeginTotalTok: Label 'Trade and Other Payables,Begin-Total', MaxLength = 100; + VendorsIntercompanyTok: Label 'Vendors, Intercompany', MaxLength = 100; + AccruedExpensesTok: Label 'Accrued Expenses', MaxLength = 100; + ProvisionForIncomeTaxTok: Label 'Provision for Income Tax', MaxLength = 100; + ProvisionForAnnualLeaveTok: Label 'Provision for Annual Leave', MaxLength = 100; + SuperannuationClearingTok: Label 'Superannuation clearing', MaxLength = 100; + PayrollClearingTok: Label 'Payroll clearing', MaxLength = 100; + PayrollDeductionsTok: Label 'Payroll Deductions', MaxLength = 100; + TaxesPayablesTok: Label 'Taxes Payables', MaxLength = 100; + GstPayableTok: Label 'GST Payable', MaxLength = 100; + GstReceivableTok: Label 'GST Receivable', MaxLength = 100; + GstClearingTok: Label 'GST Clearing', MaxLength = 100; + GstReconTok: Label 'GST Recon', MaxLength = 100; + WhtTaxPayableTok: Label 'WHT Tax Payable', MaxLength = 100; + WhtPrepaidTok: Label 'WHT Prepaid', MaxLength = 100; + TaxesPayablesTotalTok: Label 'Taxes Payables, Total', MaxLength = 100; + UnearnedRevenueOtherTok: Label 'Unearned Revenue & Other', MaxLength = 100; + FundsReceivedInAdvanceTok: Label 'Funds received in advance', MaxLength = 100; + OtherCurrentLiabilitiesTok: Label 'Other current liabilities', MaxLength = 100; + TotalUnearnedRevenueOtherTok: Label 'Total Unearned Revenue & Other', MaxLength = 100; + NonCurrentLiabilitiesTok: Label 'Non Current Liabilities', MaxLength = 100; + EmployeeProvisionsTok: Label 'Employee Provisions', MaxLength = 100; + LongServiceLeaveTok: Label 'Long service leave', MaxLength = 100; + TotalEmployeeProvisionsTok: Label 'Total Employee Provisions ', MaxLength = 100; + TotalNonCurrentLiabilitiesTok: Label 'Total Non Current Liabilities', MaxLength = 100; + StockSalesTok: Label 'Stock Sales', MaxLength = 100; + HireIncomeTok: Label 'Hire Income', MaxLength = 100; + RentalIncomeTok: Label 'Rental Income', MaxLength = 100; + SalesOfServiceContractsTok: Label 'Sales of Service Contracts', MaxLength = 100; + ServiceContractSaleTok: Label 'Service Contract Sale', MaxLength = 100; + TotalSaleOfServContractsTok: Label 'Total Sale of Serv. Contracts', MaxLength = 100; + FreightExpensesRetailTok: Label 'Freight Expenses, Retail', MaxLength = 100; + DirectCostAppliedRetailTok: Label 'Direct Cost Applied, Retail', MaxLength = 100; + OverheadAppliedRetailTok: Label 'Overhead Applied, Retail', MaxLength = 100; + PurchaseVarianceRetailTok: Label 'Purchase Variance, Retail', MaxLength = 100; + DirectCostAppliedRawmatTok: Label 'Direct Cost Applied, Rawmat.', MaxLength = 100; + OverheadAppliedRawmatTok: Label 'Overhead Applied, Rawmat.', MaxLength = 100; + PurchaseVarianceRawmatTok: Label 'Purchase Variance, Rawmat.', MaxLength = 100; + CostOfCapacitiesTok: Label 'Cost of Capacities', MaxLength = 100; + CostOfCapacitiesBeginTotalTok: Label 'Cost of Capacities,Begin-Total', MaxLength = 100; + DirectCostAppliedCapTok: Label 'Direct Cost Applied, Cap.', MaxLength = 100; + OverheadAppliedCapTok: Label 'Overhead Applied, Cap.', MaxLength = 100; + PurchaseVarianceCapTok: Label 'Purchase Variance, Cap.', MaxLength = 100; + TotalCostOfCapacitiesTok: Label 'Total Cost of Capacities', MaxLength = 100; + VarianceTok: Label 'Variance', MaxLength = 100; + MaterialVarianceTok: Label 'Material Variance', MaxLength = 100; + CapacityVarianceTok: Label 'Capacity Variance', MaxLength = 100; + SubcontractedVarianceTok: Label 'Subcontracted Variance', MaxLength = 100; + CapOverheadVarianceTok: Label 'Cap. Overhead Variance', MaxLength = 100; + MfgOverheadVarianceTok: Label 'Mfg. Overhead Variance', MaxLength = 100; + TotalVarianceTok: Label 'Total Variance', MaxLength = 100; + FreightExpensesRawMatTok: Label 'Freight Expenses, Raw Mat.', MaxLength = 100; + FreightExpensesRawMatCOGSTok: Label 'Freight Expenses, Raw Mat. COGS', MaxLength = 100; + AnnualLeaveExpensesTok: Label 'Annual Leave Expenses', MaxLength = 100; + EbitdaTok: Label 'EBITDA', MaxLength = 100; + PurchaseWhtAdjustmentsTok: Label 'Purchase WHT Adjustments', MaxLength = 100; + SalesWhtAdjustmentsTok: Label 'Sales WHT Adjustments', MaxLength = 100; + TotalGainsAndLossesTok: Label 'TOTAL GAINS AND LOSSES', MaxLength = 100; + NiBefExtrItemsTaxesTok: Label 'NI BEF. EXTR. ITEMS & TAXES', MaxLength = 100; + IncomeTaxesTok: Label 'Income Taxes', MaxLength = 100; + TotalIncomeTaxesTok: Label 'Total Income Taxes', MaxLength = 100; + OtherComprehensiveNetIncomeTaxForThePeriodTok: Label 'Other comprehensive net income tax for the period', MaxLength = 100; + OtherComprehensiveNetIncomeTaxForThePeriodBeginTotalTok: Label 'Other comprehensive net income tax for the period,Begin-Total', MaxLength = 100; + NetIncomeBeforeExtrItemsTok: Label 'NET INCOME BEFORE EXTR. ITEMS', MaxLength = 100; + TotalComprehensiveIncomeForThePeriodTok: Label 'Total comprehensive income for the period', MaxLength = 100; + GainsandLossesBeginTotalLbl: Label 'Gains and Losses, Begin Total', MaxLength = 100; + MiscellaneousExpenseLbl: Label 'Miscellaneous Expense', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGenJournTemplate.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGenJournTemplate.Codeunit.al new file mode 100644 index 0000000000..98250d7cb4 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGenJournTemplate.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 17160 "Create AU Gen. Journ. Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateAUNoSeries: Codeunit "Create AU No. Series"; + begin + ContosoGeneralLedger.InsertGeneralJournalTemplate(Purchase(), PurchasesLbl, Enum::"Gen. Journal Template Type"::Purchases, Page::"Purchase Journal", CreateAUNoSeries.PurchaseJournal(), false); + end; + + procedure Purchase(): Code[10] + begin + exit(PurchaseTok); + end; + + var + PurchasesLbl: Label 'Purchases', MaxLength = 80; + PurchaseTok: Label 'PURCH', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGenJournalBatch.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGenJournalBatch.Codeunit.al new file mode 100644 index 0000000000..544435b051 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGenJournalBatch.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 17161 "Create AU Gen. Journal Batch" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateAUGenJournTemplate: Codeunit "Create AU Gen. Journ. Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateAUNoSeries: Codeunit "Create AU No. Series"; + begin + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateAUGenJournTemplate.Purchase(), CreateGenJournalBatch.Default(), DefaultLbl, Enum::"Gen. Journal Account Type"::"G/L Account", '', CreateAUNoSeries.PurchaseJournal(), false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Batch", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertRecord(var Rec: Record "Gen. Journal Batch") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec.Name = CreateGenJournalBatch.Default()) then + Rec.Validate("No. Series", CreateNoSeries.GeneralJournal()); + end; + + var + DefaultLbl: Label 'Default Journal Batch', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGeneralLedgerSetup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..3f2a745a0a --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 17148 "Create AU General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("Adjustment Mandatory", true); + GeneralLedgerSetup.Validate("Enable GST (Australia)", true); + GeneralLedgerSetup.Validate("Full GST on Prepayment", true); + GeneralLedgerSetup.Validate("Min. WHT Calc only on Inv. Amt", true); + GeneralLedgerSetup.Validate("GST Report", true); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.AUD()); + GeneralLedgerSetup.Validate("Local Currency Symbol", '$'); + GeneralLedgerSetup.Validate("Local Currency Description", AustraliandollarLbl); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Validate("BAS GST Division Factor", 11); + GeneralLedgerSetup.Validate("Enable WHT", true); + GeneralLedgerSetup.Modify(true); + end; + + var + AustraliandollarLbl: Label 'Australian dollar', MaxLength = 60; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUPostingGroups.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUPostingGroups.Codeunit.al new file mode 100644 index 0000000000..237bf85456 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUPostingGroups.Codeunit.al @@ -0,0 +1,198 @@ +codeunit 17138 "Create AU Posting Groups" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertGenPostingGroup(); + UpdateGenProductPostingGroup(); + InsertGenBusinessPostingGroup(); + UpdateGenBusinessPostingGroup(); + InsertGenPostingSetupWithoutGLAccounts(); + end; + + local procedure InsertGenPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(NonGst(), NonGstPostingGroupDescriptionLbl, ''); + ContosoPostingGroup.InsertGenProductPostingGroup(Manufact(), CapacitiesPostingGroupDescriptionLbl, ''); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.MiscPostingGroup(), 'Miscellaneous with Tax', ''); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure UpdateGenProductPostingGroup() + var + GenProductPostingGroup: Record "Gen. Product Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateAUVATPostingGroups: Codeunit "Create AU VAT Posting Groups"; + begin + GenProductPostingGroup.Get(CreatePostingGroups.ServicesPostingGroup()); + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", CreateAUVATPostingGroups.Vat10()); + GenProductPostingGroup.Modify(true); + UpdateVATProdPostingGroupOnGLAccount(CreatePostingGroups.ServicesPostingGroup(), CreateAUVATPostingGroups.Vat10()); + + GenProductPostingGroup.Get(CreatePostingGroups.RawMatPostingGroup()); + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", ''); + GenProductPostingGroup.Modify(true); + UpdateVATProdPostingGroupOnGLAccount(CreatePostingGroups.RawMatPostingGroup(), ''); + + GenProductPostingGroup.Get(CreatePostingGroups.RetailPostingGroup()); + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", ''); + GenProductPostingGroup.Modify(true); + UpdateVATProdPostingGroupOnGLAccount(CreatePostingGroups.RetailPostingGroup(), ''); + + GenProductPostingGroup.Get(CreatePostingGroups.MiscPostingGroup()); + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", ''); + GenProductPostingGroup.Modify(true); + UpdateVATProdPostingGroupOnGLAccount(CreatePostingGroups.MiscPostingGroup(), ''); + + UpdateVATProdPostingGroupOnGLAccount(CreatePostingGroups.ZeroPostingGroup(), ''); + + UpdateVATProdPostingGroupOnGLAccount(CreatePostingGroups.FreightPostingGroup(), ''); + end; + + local procedure UpdateGenBusinessPostingGroup() + var + GenBusinessPostingGroup: Record "Gen. Business Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + GenBusinessPostingGroup.Get(CreatePostingGroups.DomesticPostingGroup()); + GenBusinessPostingGroup.Validate("Def. VAT Bus. Posting Group", ''); + GenBusinessPostingGroup.Modify(true); + GenBusinessPostingGroup.Get(CreatePostingGroups.ExportPostingGroup()); + GenBusinessPostingGroup.Validate("Def. VAT Bus. Posting Group", ''); + GenBusinessPostingGroup.Modify(true); + end; + + local procedure InsertGenBusinessPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenBusinessPostingGroup(IntercompanyPostingGroup(), IntercompanyPostingGroupDescriptionLbl, ''); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure InsertGenPostingSetupWithoutGLAccounts() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', Manufact(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.MiscPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NonGst(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RawMatPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ServicesPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), Manufact(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), NonGst(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), Manufact(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), NonGst(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), Manufact(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.MiscPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), NonGst(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.RetailPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', Manufact(), '', '', CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', '', CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.MiscPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', '', CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NonGst(), '', '', CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', '', CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ServicesPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', '', CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RawMatPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRawMat(), '', '', '', '', '', '', '', CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfRawMatSoldInterim(), CreateGLAccount.InvAdjmtInterimRawMat()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), Manufact(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedCap(), CreateAUGLAccounts.PurchaseVarianceCap(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedRetail(), CreateAUGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), NonGst(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedRetail(), CreateAUGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), CreateGLAccount.SalesRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.InventoryAdjmtRawMat(), CreateAUGLAccounts.DirectCostAppliedRawmat(), CreateAUGLAccounts.OverheadAppliedRawmat(), CreateAUGLAccounts.PurchaseVarianceRawmat(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.CostOfRawMaterialsSold(), CreateGLAccount.CostOfRawMatSoldInterim(), CreateGLAccount.InvAdjmtInterimRawMat()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedRetail(), CreateAUGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedCap(), CreateAUGLAccounts.OverheadAppliedCap(), CreateAUGLAccounts.PurchaseVarianceCap(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), Manufact(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedCap(), CreateAUGLAccounts.PurchaseVarianceCap(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedRetail(), CreateAUGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), NonGst(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRawmat(), CreateAUGLAccounts.OverheadAppliedRawmat(), CreateAUGLAccounts.PurchaseVarianceRawmat(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.InventoryAdjmtRawMat(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedRetail(), CreateAUGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.CostOfRawMaterialsSold(), CreateGLAccount.CostOfRawMatSoldInterim(), CreateGLAccount.InvAdjmtInterimRawMat()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedCap(), CreateAUGLAccounts.OverheadAppliedCap(), CreateAUGLAccounts.PurchaseVarianceCap(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), CreateAUGLAccounts.OverheadAppliedRetail(), CreateAUGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), Manufact(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedCap(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), NonGst(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRawMat(), CreateAUGLAccounts.OverheadAppliedRawmat(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.CostOfRawMaterialsSold(), CreateGLAccount.CostOfRawMatSoldInterim(), CreateGLAccount.InvAdjmtInterimRawMat()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(IntercompanyPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateAUGLAccounts.DirectCostAppliedCap(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.SetOverwriteData(false); + + UpdateGenPostingSetupPrepaymentsAccounts(CreatePostingGroups.DomesticPostingGroup(), Manufact(), CreateGLAccount.SalesPrepayments(), CreateGLAccount.PurchasePrepayments()); + UpdateGenPostingSetupPrepaymentsAccounts(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.SalesPrepayments(), CreateGLAccount.PurchasePrepayments()); + UpdateGenPostingSetupPrepaymentsAccounts(CreatePostingGroups.DomesticPostingGroup(), NonGst(), CreateGLAccount.SalesPrepayments(), CreateGLAccount.PurchasePrepayments()); + UpdateGenPostingSetupPrepaymentsAccounts(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesPrepayments(), CreateGLAccount.PurchasePrepayments()); + UpdateGenPostingSetupPrepaymentsAccounts(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesPrepayments(), CreateGLAccount.PurchasePrepayments()); + end; + + local procedure UpdateGenPostingSetupPrepaymentsAccounts(GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; SalesPrepaymentAcc: Code[20]; PurchPrepaymentAcc: Code[20]) + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + GeneralPostingSetup.Get(GenBusPostingGroup, GenProdPostingGroup); + GeneralPostingSetup.Validate("Sales Prepayments Account", SalesPrepaymentAcc); + GeneralPostingSetup.Validate("Purch. Prepayments Account", PurchPrepaymentAcc); + GeneralPostingSetup.Modify(true); + end; + + local procedure UpdateVATProdPostingGroupOnGLAccount(GenProdPostingGroup: Code[20]; VATProdPostingGroup: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("Gen. Prod. Posting Group", GenProdPostingGroup); + if GLAccount.FindSet() then + repeat + GLAccount.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + GLAccount.Modify(true); + until GLAccount.Next() = 0; + end; + + procedure IntercompanyPostingGroup(): Code[20] + begin + exit(IntercompanyTok); + end; + + procedure Manufact(): Code[20] + begin + exit(ManufactTok); + end; + + procedure NonGst(): Code[20] + begin + exit(NonGstTok); + end; + + var + IntercompanyTok: Label 'INTERCOMP', MaxLength = 20, Locked = true; + ManufactTok: Label 'MANUFACT', MaxLength = 20, Locked = true; + NonGstTok: Label 'NON GST', MaxLength = 20, Locked = true; + IntercompanyPostingGroupDescriptionLbl: Label 'Intercompany', MaxLength = 100, Locked = true; + CapacitiesPostingGroupDescriptionLbl: Label 'Capacities', MaxLength = 100, Locked = true; + NonGstPostingGroupDescriptionLbl: Label 'NON GST', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUResource.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUResource.Codeunit.al new file mode 100644 index 0000000000..62c8bb942f --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUResource.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 17154 "Create AU Resource" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateAUVatPostingGroups: Codeunit "Create AU Vat Posting Groups"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Rec, CanberraLbl, 150, 165, 43.10345, 290, PostCode2600Lbl, CreateAUVatPostingGroups.Vat10()); + CreateResource.Marty(): + ValidateRecordFields(Rec, CanberraLbl, 130, 143, 45, 260, PostCode2600Lbl, CreateAUVatPostingGroups.Vat10()); + CreateResource.Lina(): + ValidateRecordFields(Rec, CanberraLbl, 170, 187, 46.57143, 350, PostCode2600Lbl, CreateAUVatPostingGroups.Vat10()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + CanberraLbl: Label 'CANBERRA', MaxLength = 30, Locked = true; + PostCode2600Lbl: Label '2600', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUVATPostingGroups.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUVATPostingGroups.Codeunit.al new file mode 100644 index 0000000000..09360c08d8 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUVATPostingGroups.Codeunit.al @@ -0,0 +1,92 @@ +codeunit 17121 "Create AU VAT Posting Groups" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + InsertVATBusinessPostingGroups(); + end; + + procedure UpdateVATPostingSetup() + var + ContosoPostingSetup: codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', NonGst(), '', '', NonGst(), 0, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroups.DomesticPostingGroup(), Gst10(), CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), Gst10(), 10, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroups.DomesticPostingGroup(), NonGst(), CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), NonGst(), 0, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroups.ExportPostingGroup(), Gst10(), CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), Gst10(), 10, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroups.ExportPostingGroup(), NonGst(), CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), NonGst(), 0, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroups.MiscPostingGroup(), Gst10(), CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), Gst10(), 10, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroups.MiscPostingGroup(), NonGst(), CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), NonGst(), 0, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroups.ExportPostingGroup(), '', CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), '', 0, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.SetOverwriteData(false); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATProductPostingGroup(Gst10(), Gst10Lbl); + ContosoPostingGroup.InsertVATProductPostingGroup(NoVat(), MiscellaneousWithoutVatLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(NonGst(), NonGstLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Vat10(), Miscellaneous10VatLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Vat15(), Miscellaneous15VatLbl); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure InsertVATBusinessPostingGroups() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATBusinessPostingGroup(CreatePostingGroups.ExportPostingGroup(), 'Other customers and vendors (not MISC)'); + ContosoPostingGroup.InsertVATBusinessPostingGroup(CreatePostingGroups.MiscPostingGroup(), CustomersAndVendorsInMiscLbl); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure Gst10(): Code[20] + begin + exit(Gst10Tok); + end; + + procedure NoVat(): Code[20] + begin + exit(NoVatTok); + end; + + procedure NonGst(): Code[20] + begin + exit(NonGstTok); + end; + + procedure Vat10(): Code[20] + begin + exit(Vat10Tok); + end; + + procedure Vat15(): Code[20] + begin + exit(Vat15Tok); + end; + + var + Gst10Tok: Label 'GST10', MaxLength = 20, Locked = true; + NoVatTok: Label 'NO VAT', MaxLength = 20, Locked = true; + NonGstTok: Label 'NON GST', MaxLength = 20, Locked = true; + Vat10Tok: Label 'VAT10', MaxLength = 20, Locked = true; + Vat15Tok: Label 'VAT15', MaxLength = 20, Locked = true; + Gst10Lbl: Label 'GST10', MaxLength = 100; + MiscellaneousWithoutVatLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + NonGstLbl: Label 'NON GST', MaxLength = 100; + Miscellaneous10VatLbl: Label 'Miscellaneous 10 VAT', MaxLength = 100; + Miscellaneous15VatLbl: Label 'Miscellaneous 15 VAT', MaxLength = 100; + CustomersAndVendorsInMiscLbl: Label 'Customers and vendors in MISC', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUWHTPostingSetup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUWHTPostingSetup.Codeunit.al new file mode 100644 index 0000000000..e0b27e9d76 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUWHTPostingSetup.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 17151 "Create AU WHT Posting Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + WHTPostingSetup: Record "WHT Posting Setup"; + ContosoAUWHT: Codeunit "Contoso AU WHT"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateAUWHTRevenueType: Codeunit "Create AU WHT Revenue Type"; + begin + ContosoAUWHT.SetOverwriteData(true); + ContosoAUWHT.InsertWHTPostingSetup('', '', 46.5, CreateAUGLAccounts.WhtPrepaid(), CreateAUGLAccounts.WhtTaxPayable(), CreateAUWHTRevenueType.Wht(), CreateAUGLAccounts.PurchaseWhtAdjustments(), CreateAUGLAccounts.SalesWhtAdjustments(), WHTPostingSetup."Realized WHT Type"::Payment, 75); + ContosoAUWHT.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUWHTRevenueType.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUWHTRevenueType.Codeunit.al new file mode 100644 index 0000000000..1f423cdc31 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/1.Setup Data/CreateAUWHTRevenueType.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17153 "Create AU WHT Revenue Type" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAUWHT: Codeunit "Contoso AU WHT"; + begin + ContosoAUWHT.SetOverwriteData(true); + ContosoAUWHT.InsertWHTRevenueType(Wht(), WithHoldingTaxLbl, 1); + ContosoAUWHT.SetOverwriteData(false); + end; + + procedure Wht(): Code[10] + begin + exit(WhtTok); + end; + + var + WhtTok: Label 'WHT', MaxLength = 10, Locked = true; + WithHoldingTaxLbl: Label 'Withholding Tax', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUColumnLayout.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUColumnLayout.Codeunit.al new file mode 100644 index 0000000000..972d270442 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUColumnLayout.Codeunit.al @@ -0,0 +1,119 @@ +codeunit 17140 "Create AU Column Layout" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAUAccountSchedule: Codeunit "Contoso AU Account Schedule"; + CreateAUColumnLayoutName: Codeunit "Create AU Column Layout Name"; + begin + ContosoAUAccountSchedule.SetOverwriteData(true); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 10000, '1', BeginningBalanceLbl, Enum::"Column Layout Type"::"Beginning Balance", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 20000, '2', DebitsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Debit Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 30000, '3', CreditsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Credit Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 40000, '4', EndingBalanceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1+2-3', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[2]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[3]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[4]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 50000, '5', MayLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[5]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[6]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[7]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[8]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[9]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[10]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[11]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.BalanceSheetTrend(), 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[12]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 20000, '2', PriorMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 20000, '2', SameMonthPriorYearBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1FY'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[2]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[3]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[4]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 50000, '5', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[5]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[6]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[7]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[8]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[9]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[10]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[11]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[12]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthsNetChangeBudget(), 130000, '13', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '1..12', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 20000, '2', SameMonthPriorYearNetChanLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1FY'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 40000, '4', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 50000, '5', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 60000, '6', SameMonthPriorYearNetChanLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1FY'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '5-6', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 10000, '1', CurrentMonthActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 20000, '2', CurrentMonthBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 40000, '4', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 50000, '5', YearToDateActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 60000, '6', YearToDateBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '5-6', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 80000, '8', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 90000, '9', TotalBudgetPlannedLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1..12]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 100000, '10', TotalBudgetRemainingLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '9-5', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 10000, 'A', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 20000, 'A', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[2]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 30000, 'A', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[3]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 40000, 'A', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[4]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 50000, 'A', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[5]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 60000, 'A', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[6]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 70000, 'A', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[7]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 80000, 'A', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[8]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 90000, 'A', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[9]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 100000, 'A', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[10]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 110000, 'A', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[11]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 120000, 'A', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[12]'); + ContosoAUAccountSchedule.InsertColumnLayout(CreateAUColumnLayoutName.IncomeStatementTrend(), 130000, '', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'A', false, Enum::"Column Layout Show"::Always, ''); + ContosoAUAccountSchedule.SetOverwriteData(false); + end; + + var + BeginningBalanceLbl: Label 'Beginning Balance', MaxLength = 30; + DebitsLbl: Label 'Debits', MaxLength = 30; + CreditsLbl: Label 'Credits', MaxLength = 30; + EndingBalanceLbl: Label 'Ending Balance', MaxLength = 30; + JanuaryLbl: Label 'January', MaxLength = 30; + FebruaryLbl: Label 'February', MaxLength = 30; + MarchLbl: Label 'March', MaxLength = 30; + AprilLbl: Label 'April', MaxLength = 30; + MayLbl: Label 'May', MaxLength = 30; + JuneLbl: Label 'June', MaxLength = 30; + JulyLbl: Label 'July', MaxLength = 30; + AugustLbl: Label 'August', MaxLength = 30; + SeptemberLbl: Label 'September', MaxLength = 30; + OctoberLbl: Label 'October', MaxLength = 30; + NovemberLbl: Label 'November', MaxLength = 30; + DecemberLbl: Label 'December', MaxLength = 30; + CurrentMonthBalanceLbl: Label 'Current Month Balance', MaxLength = 30; + PriorMonthBalanceLbl: Label 'Prior Month Balance', MaxLength = 30; + DifferenceLbl: Label 'Difference', MaxLength = 30; + SameMonthPriorYearBalanceLbl: Label 'Same Month Prior Year Balance', MaxLength = 30; + CurrentMonthNetChangeLbl: Label 'Current Month Net Change', MaxLength = 30; + TotalLbl: Label 'Total', MaxLength = 30; + PriorMonthNetChangeLbl: Label 'Prior Month Net Change', MaxLength = 30; + SameMonthPriorYearNetChanLbl: Label 'Same Month Prior Year Net Chan', MaxLength = 30; + CurrentMonthActualLbl: Label 'Current Month Actual', MaxLength = 30; + CurrentMonthBudgetLbl: Label 'Current Month Budget', MaxLength = 30; + YearToDateActualLbl: Label 'Year to Date Actual', MaxLength = 30; + YearToDateBudgetLbl: Label 'Year to Date Budget', MaxLength = 30; + TotalBudgetPlannedLbl: Label 'Total Budget Planned', MaxLength = 30; + TotalBudgetRemainingLbl: Label 'Total Budget Remaining', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUFinancialReport.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUFinancialReport.Codeunit.al new file mode 100644 index 0000000000..88155cff37 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUFinancialReport.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 17137 "Create AU Financial Report" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + CreateAUAccountScheduleName: Codeunit "Create AU Acc Schedule Name"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertFinancialReport(CreateAUAccountScheduleName.BalanceSheetDetail(), BalanceSheetDetailedLbl, CreateAUAccountScheduleName.BalanceSheetDetail(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateAUAccountScheduleName.BalanceSheetSummarized(), BalanceSheetSummarizedLbl, CreateAUAccountScheduleName.BalanceSheetSummarized(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateAUAccountScheduleName.IncomeStatementDetail(), IncomeStatementDetailedLbl, CreateAUAccountScheduleName.IncomeStatementDetail(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateAUAccountScheduleName.IncomeStatementSummarized(), IncomeStatementSummarizedLbl, CreateAUAccountScheduleName.IncomeStatementSummarized(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateAUAccountScheduleName.TrialBalance(), TrialBalanceLbl, CreateAUAccountScheduleName.TrialBalance(), BeginningBalanceDebitsCreditsEndingBalanceLbl); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + var + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; + BalanceSheetTrendLbl: Label 'BSTREND', MaxLength = 10; + IncomeStatementTrendLbl: Label 'ISTREND', MaxLength = 10; + BeginningBalanceDebitsCreditsEndingBalanceLbl: Label 'BBDRCREB', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUVATStatement.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUVATStatement.Codeunit.al new file mode 100644 index 0000000000..6ee83b5b31 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateAUVATStatement.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 17162 "Create AU VAT Statement" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + ContosoVatStatement.InsertVATStatementTemplate(BASTemplateName(), BASStatementDescLbl, Page::"VAT Statement", Report::"VAT Statement"); + + ContosoVatStatement.InsertVATStatementName(BASTemplateName(), StatementNameLbl, StatementNameDescLbl); + end; + + procedure BASTemplateName(): Code[10] + begin + exit(BASTemplateNameTok); + end; + + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + BASTemplateNameTok: Label 'BAS', Locked = true; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + StatementNameDescLbl: Label 'Default Statement', MaxLength = 100; + BASStatementDescLbl: Label 'Business Activity Statement', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateBASXMLIDAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateBASXMLIDAU.Codeunit.al new file mode 100644 index 0000000000..517bb2dd68 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateBASXMLIDAU.Codeunit.al @@ -0,0 +1,454 @@ +codeunit 17170 "Create BAS XML ID AU" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoAUBAS: Codeunit "Contoso AU BAS"; + begin + ContosoAUBAS.InsertBASXMLFieldID(ABN(), 2); + ContosoAUBAS.InsertBASXMLFieldID(ATOCALCULATEDAMOUNT(), 66); + ContosoAUBAS.InsertBASXMLFieldID(ATOGSTINSTALMENTAMOUNT(), 60); + ContosoAUBAS.InsertBASXMLFieldID(CALG12(), 43); + ContosoAUBAS.InsertBASXMLFieldID(CALG13(), 44); + ContosoAUBAS.InsertBASXMLFieldID(CALG14(), 45); + ContosoAUBAS.InsertBASXMLFieldID(CALG15(), 46); + ContosoAUBAS.InsertBASXMLFieldID(CALG16(), 47); + ContosoAUBAS.InsertBASXMLFieldID(CALG17(), 48); + ContosoAUBAS.InsertBASXMLFieldID(CALG18(), 49); + ContosoAUBAS.InsertBASXMLFieldID(CALG19(), 50); + ContosoAUBAS.InsertBASXMLFieldID(CALG20(), 51); + ContosoAUBAS.InsertBASXMLFieldID(CALG4(), 29); + ContosoAUBAS.InsertBASXMLFieldID(CALG5(), 30); + ContosoAUBAS.InsertBASXMLFieldID(CALG6(), 31); + ContosoAUBAS.InsertBASXMLFieldID(CALG7(), 32); + ContosoAUBAS.InsertBASXMLFieldID(CALG8(), 33); + ContosoAUBAS.InsertBASXMLFieldID(CALG9(), 34); + ContosoAUBAS.InsertBASXMLFieldID(CALCULATEDINSTALMENTAMOUNT(), 69); + ContosoAUBAS.InsertBASXMLFieldID(CAPITALPURCHASES(), 41); + ContosoAUBAS.InsertBASXMLFieldID(COMMISSIONERSINSTALMENTRATE(), 54); + ContosoAUBAS.InsertBASXMLFieldID(CREDITFROMREDUCEDFBTINSTALMENTS(), 24); + ContosoAUBAS.InsertBASXMLFieldID(CREDITFROMREDUCEDPAYGINSTALMENTS(), 23); + ContosoAUBAS.InsertBASXMLFieldID(DIN(), 1); + ContosoAUBAS.InsertBASXMLFieldID(ESTIMATEDFBTTAX(), 40); + ContosoAUBAS.InsertBASXMLFieldID(ESTIMATEDGSTFORYEAR(), 61); + ContosoAUBAS.InsertBASXMLFieldID(ESTIMATEDYEARINCOMETAX(), 67); + ContosoAUBAS.InsertBASXMLFieldID(EXPORTS(), 27); + ContosoAUBAS.InsertBASXMLFieldID(FBTINSTALMENT(), 14); + ContosoAUBAS.InsertBASXMLFieldID(FORMDUEON(), 5); + ContosoAUBAS.InsertBASXMLFieldID(GSTINSTALMENTS(), 64); + ContosoAUBAS.InsertBASXMLFieldID(GSTREASONFORVARIATION(), 63); + ContosoAUBAS.InsertBASXMLFieldID(GSTREFUND(), 18); + ContosoAUBAS.InsertBASXMLFieldID(GSTTAX(), 7); + ContosoAUBAS.InsertBASXMLFieldID(GSTTOTALSALES(), 26); + ContosoAUBAS.InsertBASXMLFieldID(INSTALMENTINCOME(), 37); + ContosoAUBAS.InsertBASXMLFieldID(LUXURYCARTAXPAYABLE(), 9); + ContosoAUBAS.InsertBASXMLFieldID(LUXURYCARTAXREFUNDABLE(), 20); + ContosoAUBAS.InsertBASXMLFieldID(NETAMOUNTFORTHISSTATEMENT(), 17); + ContosoAUBAS.InsertBASXMLFieldID(NONCAPITALPURCHASES(), 42); + ContosoAUBAS.InsertBASXMLFieldID(OTHERGSTFREESUPPLIES(), 28); + ContosoAUBAS.InsertBASXMLFieldID(PAYGINSTALMENT(), 13); + ContosoAUBAS.InsertBASXMLFieldID(PAYGWITHHOLDING(), 12); + ContosoAUBAS.InsertBASXMLFieldID(PAYGIOPTION1(), 70); + ContosoAUBAS.InsertBASXMLFieldID(PAYGIOPTION2(), 71); + ContosoAUBAS.InsertBASXMLFieldID(PAYMENTDUEON(), 6); + ContosoAUBAS.InsertBASXMLFieldID(PERIODDATEFROM(), 3); + ContosoAUBAS.InsertBASXMLFieldID(PERIODDATETO(), 4); + ContosoAUBAS.InsertBASXMLFieldID(REASONFORFBTVARIATION(), 57); + ContosoAUBAS.InsertBASXMLFieldID(REASONVARIATION(), 55); + ContosoAUBAS.InsertBASXMLFieldID(TOTALCREDITS(), 25); + ContosoAUBAS.InsertBASXMLFieldID(TOTALDEBITS(), 16); + ContosoAUBAS.InsertBASXMLFieldID(TOTALPAYMENTSWITHHOLDINGAMOUNT(), 36); + ContosoAUBAS.InsertBASXMLFieldID(TOTALWITHHELDAMOUNT(), 65); + ContosoAUBAS.InsertBASXMLFieldID(VARIEDFBTINSTALMENT(), 56); + ContosoAUBAS.InsertBASXMLFieldID(VARIEDGSTINSTALMENT(), 62); + ContosoAUBAS.InsertBASXMLFieldID(VARIEDINSTALMENT(), 68); + ContosoAUBAS.InsertBASXMLFieldID(VARIEDINSTALMENTRATE(), 38); + ContosoAUBAS.InsertBASXMLFieldID(WINEEQUALISATIONTAXPAYABLE(), 8); + ContosoAUBAS.InsertBASXMLFieldID(WINEEQUALISATIONTAXREFUNDABLE(), 19); + ContosoAUBAS.InsertBASXMLFieldID(WITHHELDFROMINVESTMENTDISTRIBUTIONSAMOUNT(), 52); + ContosoAUBAS.InsertBASXMLFieldID(WITHHELDFROMINVOICESNOABN(), 53); + ContosoAUBAS.InsertBASXMLFieldID(WITHHELDFROMSALARYAMOUNT(), 35); + end; + + procedure ABN(): Text[80] + begin + exit(ABNTok); + end; + + procedure ATOCALCULATEDAMOUNT(): Text[80] + begin + exit(ATOCALCULATEDAMOUNTTok); + end; + + procedure ATOGSTINSTALMENTAMOUNT(): Text[80] + begin + exit(ATOGSTINSTALMENTAMOUNTTok); + end; + + procedure CALG12(): Text[80] + begin + exit(CALG12Tok); + end; + + procedure CALG13(): Text[80] + begin + exit(CALG13Tok); + end; + + procedure CALG14(): Text[80] + begin + exit(CALG14Tok); + end; + + procedure CALG15(): Text[80] + begin + exit(CALG15Tok); + end; + + procedure CALG16(): Text[80] + begin + exit(CALG16Tok); + end; + + procedure CALG17(): Text[80] + begin + exit(CALG17Tok); + end; + + procedure CALG18(): Text[80] + begin + exit(CALG18Tok); + end; + + procedure CALG19(): Text[80] + begin + exit(CALG19Tok); + end; + + procedure CALG20(): Text[80] + begin + exit(CALG20Tok); + end; + + procedure CALG4(): Text[80] + begin + exit(CALG4Tok); + end; + + procedure CALG5(): Text[80] + begin + exit(CALG5Tok); + end; + + procedure CALG6(): Text[80] + begin + exit(CALG6Tok); + end; + + procedure CALG7(): Text[80] + begin + exit(CALG7Tok); + end; + + procedure CALG8(): Text[80] + begin + exit(CALG8Tok); + end; + + procedure CALG9(): Text[80] + begin + exit(CALG9Tok); + end; + + procedure CALCULATEDINSTALMENTAMOUNT(): Text[80] + begin + exit(CALCULATEDINSTALMENTAMOUNTTok); + end; + + procedure CAPITALPURCHASES(): Text[80] + begin + exit(CAPITALPURCHASESTok); + end; + + procedure COMMISSIONERSINSTALMENTRATE(): Text[80] + begin + exit(COMMISSIONERSINSTALMENTRATETok); + end; + + procedure CREDITFROMREDUCEDFBTINSTALMENTS(): Text[80] + begin + exit(CREDITFROMREDUCEDFBTINSTALMENTSTok); + end; + + procedure CREDITFROMREDUCEDPAYGINSTALMENTS(): Text[80] + begin + exit(CREDITFROMREDUCEDPAYGINSTALMENTSTok); + end; + + procedure DIN(): Text[80] + begin + exit(DINTok); + end; + + procedure ESTIMATEDFBTTAX(): Text[80] + begin + exit(ESTIMATEDFBTTAXTok); + end; + + procedure ESTIMATEDGSTFORYEAR(): Text[80] + begin + exit(ESTIMATEDGSTFORYEARTok); + end; + + procedure ESTIMATEDYEARINCOMETAX(): Text[80] + begin + exit(ESTIMATEDYEARINCOMETAXTok); + end; + + procedure EXPORTS(): Text[80] + begin + exit(EXPORTSTok); + end; + + procedure FBTINSTALMENT(): Text[80] + begin + exit(FBTINSTALMENTTok); + end; + + procedure FORMDUEON(): Text[80] + begin + exit(FORMDUEONTok); + end; + + procedure GSTINSTALMENTS(): Text[80] + begin + exit(GSTINSTALMENTSTok); + end; + + procedure GSTREASONFORVARIATION(): Text[80] + begin + exit(GSTREASONFORVARIATIONTok); + end; + + procedure GSTREFUND(): Text[80] + begin + exit(GSTREFUNDTok); + end; + + procedure GSTTAX(): Text[80] + begin + exit(GSTTAXTok); + end; + + procedure GSTTOTALSALES(): Text[80] + begin + exit(GSTTOTALSALESTok); + end; + + procedure INSTALMENTINCOME(): Text[80] + begin + exit(INSTALMENTINCOMETok); + end; + + procedure LUXURYCARTAXPAYABLE(): Text[80] + begin + exit(LUXURYCARTAXPAYABLETok); + end; + + procedure LUXURYCARTAXREFUNDABLE(): Text[80] + begin + exit(LUXURYCARTAXREFUNDABLETok); + end; + + procedure NETAMOUNTFORTHISSTATEMENT(): Text[80] + begin + exit(NETAMOUNTFORTHISSTATEMENTTok); + end; + + procedure NONCAPITALPURCHASES(): Text[80] + begin + exit(NONCAPITALPURCHASESTok); + end; + + procedure OTHERGSTFREESUPPLIES(): Text[80] + begin + exit(OTHERGSTFREESUPPLIESTok); + end; + + procedure PAYGINSTALMENT(): Text[80] + begin + exit(PAYGINSTALMENTTok); + end; + + procedure PAYGWITHHOLDING(): Text[80] + begin + exit(PAYGWITHHOLDINGTok); + end; + + procedure PAYGIOPTION1(): Text[80] + begin + exit(PAYGIOPTION1Tok); + end; + + procedure PAYGIOPTION2(): Text[80] + begin + exit(PAYGIOPTION2Tok); + end; + + procedure PAYMENTDUEON(): Text[80] + begin + exit(PAYMENTDUEONTok); + end; + + procedure PERIODDATEFROM(): Text[80] + begin + exit(PERIODDATEFROMTok); + end; + + procedure PERIODDATETO(): Text[80] + begin + exit(PERIODDATETOTok); + end; + + procedure REASONFORFBTVARIATION(): Text[80] + begin + exit(REASONFORFBTVARIATIONTok); + end; + + procedure REASONVARIATION(): Text[80] + begin + exit(REASONVARIATIONTok); + end; + + procedure TOTALCREDITS(): Text[80] + begin + exit(TOTALCREDITSTok); + end; + + procedure TOTALDEBITS(): Text[80] + begin + exit(TOTALDEBITSTok); + end; + + procedure TOTALPAYMENTSWITHHOLDINGAMOUNT(): Text[80] + begin + exit(TOTALPAYMENTSWITHHOLDINGAMOUNTTok); + end; + + procedure TOTALWITHHELDAMOUNT(): Text[80] + begin + exit(TOTALWITHHELDAMOUNTTok); + end; + + procedure VARIEDFBTINSTALMENT(): Text[80] + begin + exit(VARIEDFBTINSTALMENTTok); + end; + + procedure VARIEDGSTINSTALMENT(): Text[80] + begin + exit(VARIEDGSTINSTALMENTTok); + end; + + procedure VARIEDINSTALMENT(): Text[80] + begin + exit(VARIEDINSTALMENTTok); + end; + + procedure VARIEDINSTALMENTRATE(): Text[80] + begin + exit(VARIEDINSTALMENTRATETok); + end; + + procedure WINEEQUALISATIONTAXPAYABLE(): Text[80] + begin + exit(WINEEQUALISATIONTAXPAYABLETok); + end; + + procedure WINEEQUALISATIONTAXREFUNDABLE(): Text[80] + begin + exit(WINEEQUALISATIONTAXREFUNDABLETok); + end; + + procedure WITHHELDFROMINVESTMENTDISTRIBUTIONSAMOUNT(): Text[80] + begin + exit(WITHHELDFROMINVESTMENTDISTRIBUTIONSAMOUNTTok); + end; + + procedure WITHHELDFROMINVOICESNOABN(): Text[80] + begin + exit(WITHHELDFROMINVOICESNOABNTok); + end; + + procedure WITHHELDFROMSALARYAMOUNT(): Text[80] + begin + exit(WITHHELDFROMSALARYAMOUNTTok); + end; + + var + ABNTok: Label 'ABN', MaxLength = 80, Locked = true; + ATOCALCULATEDAMOUNTTok: Label 'ATO_CALCULATED_AMOUNT', MaxLength = 80, Locked = true; + ATOGSTINSTALMENTAMOUNTTok: Label 'ATO_GST_INSTALMENT_AMOUNT', MaxLength = 80, Locked = true; + CALG12Tok: Label 'CAL_G12', MaxLength = 80, Locked = true; + CALG13Tok: Label 'CAL_G13', MaxLength = 80, Locked = true; + CALG14Tok: Label 'CAL_G14', MaxLength = 80, Locked = true; + CALG15Tok: Label 'CAL_G15', MaxLength = 80, Locked = true; + CALG16Tok: Label 'CAL_G16', MaxLength = 80, Locked = true; + CALG17Tok: Label 'CAL_G17', MaxLength = 80, Locked = true; + CALG18Tok: Label 'CAL_G18', MaxLength = 80, Locked = true; + CALG19Tok: Label 'CAL_G19', MaxLength = 80, Locked = true; + CALG20Tok: Label 'CAL_G20', MaxLength = 80, Locked = true; + CALG4Tok: Label 'CAL_G4', MaxLength = 80, Locked = true; + CALG5Tok: Label 'CAL_G5', MaxLength = 80, Locked = true; + CALG6Tok: Label 'CAL_G6', MaxLength = 80, Locked = true; + CALG7Tok: Label 'CAL_G7', MaxLength = 80, Locked = true; + CALG8Tok: Label 'CAL_G8', MaxLength = 80, Locked = true; + CALG9Tok: Label 'CAL_G9', MaxLength = 80, Locked = true; + CALCULATEDINSTALMENTAMOUNTTok: Label 'CALCULATED_INSTALMENT_AMOUNT', MaxLength = 80, Locked = true; + CAPITALPURCHASESTok: Label 'CAPITAL_PURCHASES', MaxLength = 80, Locked = true; + COMMISSIONERSINSTALMENTRATETok: Label 'COMMISSIONERS_INSTALMENT_RATE', MaxLength = 80, Locked = true; + CREDITFROMREDUCEDFBTINSTALMENTSTok: Label 'CREDIT_FROM_REDUCED_FBT_INSTALMENTS', MaxLength = 80, Locked = true; + CREDITFROMREDUCEDPAYGINSTALMENTSTok: Label 'CREDIT_FROM_REDUCED_PAYG_INSTALMENTS', MaxLength = 80, Locked = true; + DINTok: Label 'DIN', MaxLength = 80, Locked = true; + ESTIMATEDFBTTAXTok: Label 'ESTIMATED_FBT_TAX', MaxLength = 80, Locked = true; + ESTIMATEDGSTFORYEARTok: Label 'ESTIMATED_GST_FOR_YEAR', MaxLength = 80, Locked = true; + ESTIMATEDYEARINCOMETAXTok: Label 'ESTIMATED_YEAR_INCOME_TAX', MaxLength = 80, Locked = true; + EXPORTSTok: Label 'EXPORTS', MaxLength = 80, Locked = true; + FBTINSTALMENTTok: Label 'FBT_INSTALMENT', MaxLength = 80, Locked = true; + FORMDUEONTok: Label 'FORM_DUE_ON', MaxLength = 80, Locked = true; + GSTINSTALMENTSTok: Label 'GST_INSTALMENTS', MaxLength = 80, Locked = true; + GSTREASONFORVARIATIONTok: Label 'GST_REASON_FOR_VARIATION', MaxLength = 80, Locked = true; + GSTREFUNDTok: Label 'GST_REFUND', MaxLength = 80, Locked = true; + GSTTAXTok: Label 'GST_TAX', MaxLength = 80, Locked = true; + GSTTOTALSALESTok: Label 'GST_TOTAL_SALES', MaxLength = 80, Locked = true; + INSTALMENTINCOMETok: Label 'INSTALMENT_INCOME', MaxLength = 80, Locked = true; + LUXURYCARTAXPAYABLETok: Label 'LUXURY_CAR_TAX_PAYABLE', MaxLength = 80, Locked = true; + LUXURYCARTAXREFUNDABLETok: Label 'LUXURY_CAR_TAX_REFUNDABLE', MaxLength = 80, Locked = true; + NETAMOUNTFORTHISSTATEMENTTok: Label 'NET_AMOUNT_FOR_THIS_STATEMENT', MaxLength = 80, Locked = true; + NONCAPITALPURCHASESTok: Label 'NON_CAPITAL_PURCHASES', MaxLength = 80, Locked = true; + OTHERGSTFREESUPPLIESTok: Label 'OTHER_GST_FREE_SUPPLIES', MaxLength = 80, Locked = true; + PAYGINSTALMENTTok: Label 'PAYG_INSTALMENT', MaxLength = 80, Locked = true; + PAYGWITHHOLDINGTok: Label 'PAYG_WITHHOLDING', MaxLength = 80, Locked = true; + PAYGIOPTION1Tok: Label 'PAYGI_OPTION_1', MaxLength = 80, Locked = true; + PAYGIOPTION2Tok: Label 'PAYGI_OPTION_2', MaxLength = 80, Locked = true; + PAYMENTDUEONTok: Label 'PAYMENT_DUE_ON', MaxLength = 80, Locked = true; + PERIODDATEFROMTok: Label 'PERIOD_DATE_FROM', MaxLength = 80, Locked = true; + PERIODDATETOTok: Label 'PERIOD_DATE_TO', MaxLength = 80, Locked = true; + REASONFORFBTVARIATIONTok: Label 'REASON_FOR_FBT_VARIATION', MaxLength = 80, Locked = true; + REASONVARIATIONTok: Label 'REASON_VARIATION', MaxLength = 80, Locked = true; + TOTALCREDITSTok: Label 'TOTAL_CREDITS', MaxLength = 80, Locked = true; + TOTALDEBITSTok: Label 'TOTAL_DEBITS', MaxLength = 80, Locked = true; + TOTALPAYMENTSWITHHOLDINGAMOUNTTok: Label 'TOTAL_PAYMENTS_WITHHOLDING_AMOUNT', MaxLength = 80, Locked = true; + TOTALWITHHELDAMOUNTTok: Label 'TOTAL_WITHHELD_AMOUNT', MaxLength = 80, Locked = true; + VARIEDFBTINSTALMENTTok: Label 'VARIED_FBT_INSTALMENT', MaxLength = 80, Locked = true; + VARIEDGSTINSTALMENTTok: Label 'VARIED_GST_INSTALMENT', MaxLength = 80, Locked = true; + VARIEDINSTALMENTTok: Label 'VARIED_INSTALMENT', MaxLength = 80, Locked = true; + VARIEDINSTALMENTRATETok: Label 'VARIED_INSTALMENT_RATE', MaxLength = 80, Locked = true; + WINEEQUALISATIONTAXPAYABLETok: Label 'WINE_EQUALISATION_TAX_PAYABLE', MaxLength = 80, Locked = true; + WINEEQUALISATIONTAXREFUNDABLETok: Label 'WINE_EQUALISATION_TAX_REFUNDABLE', MaxLength = 80, Locked = true; + WITHHELDFROMINVESTMENTDISTRIBUTIONSAMOUNTTok: Label 'WITHHELD_FROM_INVESTMENT_DISTRIBUTIONS_AMOUNT', MaxLength = 80, Locked = true; + WITHHELDFROMINVOICESNOABNTok: Label 'WITHHELD_FROM_INVOICES_NO_ABN', MaxLength = 80, Locked = true; + WITHHELDFROMSALARYAMOUNTTok: Label 'WITHHELD_FROM_SALARY_AMOUNT', MaxLength = 80, Locked = true; + +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateAU.Codeunit.al new file mode 100644 index 0000000000..4169a1ad96 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateAU.Codeunit.al @@ -0,0 +1,203 @@ +codeunit 17167 "Create Currency Ex. Rate AU" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 291.524, 291.524); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 312.0648, 312.0648); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 299.7251, 299.7251); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 68.1446, 68.1446); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 293.66, 293.66); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 92.1495, 92.1495); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 114.568, 114.568); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 71.4812, 71.4812); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 125.9101, 125.9101); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 158.421, 158.421); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 7.7599, 7.7599); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 34.05, 34.05); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.2701, 3.2701); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 1.8826, 1.8826); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 87.866, 87.866); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 25.5477, 25.5477); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 34.448, 34.448); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.0712, 1.0712); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0281, 0.0281); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.1984, 4.1984); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.9011, 2.9011); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.6923, 1.6923); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.1561, 3.1561); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 24.0032, 24.0032); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 21.0191, 21.0191); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 52.6481, 52.6481); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.1084, 0.1084); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.9824, 1.9824); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 29.9129, 29.9129); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 84.6279, 84.6279); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.9055, 3.9055); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 48.3919, 48.3919); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0765, 0.0765); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.9805, 2.9805); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6.8509, 6.8509); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 53.2917, 53.2917); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 36.9953, 36.9953); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 28.8506, 28.8506); + + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 115.2967, 115.2967); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 27.5034, 27.5034); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.4878, 4.4878); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 183.6926, 183.6926); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 0.9948, 0.9948); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 155.4975, 155.4975); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.1447, 0.1447); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 189.1478, 189.1478); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.3995, 1.3995); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 698.3178, 698.3178); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.1295, 2.1295); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 23.2936, 23.2936); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 254.0198, 254.0198); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 29.6405, 29.6405); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 191.5381, 191.5381); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 253.8359, 253.8359); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 30.5429, 30.5429); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 197.6909, 197.6909); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateVATSetupPostGrpAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateVATSetupPostGrpAU.Codeunit.al new file mode 100644 index 0000000000..ec8c0cf53e --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Finance/2.Master Data/CreateVATSetupPostGrpAU.Codeunit.al @@ -0,0 +1,89 @@ +codeunit 17168 "Create VAT Setup Post.Grp. AU" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + UpdateVatReportSetup(); + CreateVatSetupPostingGrp(); + UpdateVatAssistedSetupBusGrp(); + CreateVATReportsConfiguration(); + end; + + local procedure CreateVatSetupPostingGrp() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateAUVATPostingGroups: Codeunit "Create AU VAT Posting Groups"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + begin + ContosoVATStatement.SetOverwriteData(true); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateAUVATPostingGroups.Gst10(), true, 10, CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), true, 1, GST10DescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateAUVATPostingGroups.NoVat(), true, 0, '', '', true, 1, NoVATDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateAUVATPostingGroups.NonGst(), true, 0, CreateAUGLAccounts.GstPayable(), CreateAUGLAccounts.GstReceivable(), true, 1, NonGSTDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateAUVATPostingGroups.Vat10(), true, 0, '', '', true, 1, Vat10DescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateAUVATPostingGroups.Vat15(), true, 0, '', '', true, 1, Vat15DescriptionLbl); + ContosoVATStatement.SetOverwriteData(false); + end; + + local procedure UpdateVatAssistedSetupBusGrp() + var + CreateVatPostingGroup: Codeunit "Create VAT Posting Groups"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoVATStatement.SetOverwriteData(true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroup.Export(), ExportPostingGroupDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreatePostingGroups.MiscPostingGroup(), MiscPostingGroupDescriptionLbl, true, true); + ContosoVATStatement.SetOverwriteData(false); + end; + + local procedure UpdateVatReportSetup() + var + VATReportSetup: Record "VAT Report Setup"; + CreateAUNoSeries: Codeunit "Create AU No. Series"; + begin + VATReportSetup.Get(); + VATReportSetup.Validate("BAS Report No. Series", CreateAUNoSeries.BASReports()); + VATReportSetup.Modify(true); + end; + + local procedure CreateVATReportsConfiguration() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVATReportSetup: Codeunit "Create VAT Report Setup"; + begin + ContosoVATStatement.InsertVATReportConfiguration(Enum::"VAT Report Configuration"::"BAS Report", CreateVATReportSetup.CurrentVersion(), Codeunit::"VAT Report Suggest Lines", Codeunit::"VAT Report Validate"); + UpdateVatReportConfiguration(); + end; + + local procedure UpdateVatReportConfiguration() + var + VATReportConfiguration: Record "VAT Reports Configuration"; + CreateVATReportSetup: Codeunit "Create VAT Report Setup"; + CreateAUVATStatement: Codeunit "Create AU VAT Statement"; + begin + VATReportConfiguration.Get(VATReportConfiguration."VAT Report Type"::"BAS Report", CreateVATReportSetup.CurrentVersion()); + VATReportConfiguration.Validate("Submission Codeunit ID", Codeunit::"BAS Export"); + VATReportConfiguration.Validate("VAT Statement Template", CreateAUVATStatement.BASTemplateName()); + VATReportConfiguration.Validate("VAT Statement Name", StatementNameLbl); + VATReportConfiguration.Modify(true); + end; + + var + GST10DescriptionLbl: Label 'Setup for MISC / GST10', MaxLength = 100; + NoVATDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + NonGSTDescriptionLbl: Label 'Setup for MISC / NON GST', MaxLength = 100; + Vat10DescriptionLbl: Label 'Miscellaneous 10 VAT', MaxLength = 100; + Vat15DescriptionLbl: Label 'Miscellaneous 15 VAT', MaxLength = 100; + MiscPostingGroupDescriptionLbl: Label 'Customers and vendors in MISC', MaxLength = 100; + ExportPostingGroupDescriptionLbl: Label 'Other customers and vendors (not MISC)', MaxLength = 100; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Fixed Asset/1.Setup Data/CreateAUFAPostingGroup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Fixed Asset/1.Setup Data/CreateAUFAPostingGroup.Codeunit.al new file mode 100644 index 0000000000..c85446d0d3 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Fixed Asset/1.Setup Data/CreateAUFAPostingGroup.Codeunit.al @@ -0,0 +1,60 @@ +codeunit 17147 "Create AU FA Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoFixedAsset.SetOverwriteData(true); + ContosoFixedAsset.InsertFAPostingGroup(Building(), CreateGLAccount.LandAndBuildings(), CreateGLAccount.AccumDepreciationBuildings(), CreateGLAccount.LandAndBuildings(), CreateGLAccount.AccumDepreciationBuildings(), CreateGLAccount.GainsAndLosses(), CreateGLAccount.GainsAndLosses(), CreateGLAccount.RepairsAndMaintenance(), CreateGLAccount.DepreciationBuildings(), CreateGLAccount.LandAndBuildings()); + ContosoFixedAsset.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroups(var Rec: Record "FA Posting Group") + var + CreateFAPostingGrp: Codeunit "Create FA Posting Group"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateFAPostingGrp.Equipment(), + CreateFAPostingGrp.Goodwill(), + CreateFAPostingGrp.Plant(), + CreateFAPostingGrp.Property(): + // CreateFAPostingGrp.IP(), + // CreateFAPostingGrp.LeaseHold(), + // CreateFAPostingGrp.Patents(), + // CreateFAPostingGrp.Furniture(): + ValidateRecordFields(Rec, CreateAUGLAccounts.OfficeEquipment(), CreateGLAccount.AccumDeprOperEquip(), CreateAUGLAccounts.OfficeEquipment(), CreateGLAccount.AccumDeprOperEquip(), CreateGLAccount.GainsAndLosses(), CreateGLAccount.GainsAndLosses(), CreateGLAccount.RepairsAndMaintenance(), CreateGLAccount.DepreciationEquipment(), CreateAUGLAccounts.OfficeEquipment()); + CreateFAPostingGrp.Vehicles(): + ValidateRecordFields(Rec, CreateGLAccount.Vehicles(), CreateGLAccount.AccumDepreciationVehicles(), CreateGLAccount.Vehicles(), CreateGLAccount.AccumDepreciationVehicles(), CreateGLAccount.GainsAndLosses(), CreateGLAccount.GainsAndLosses(), CreateGLAccount.RepairsAndMaintenance(), CreateGLAccount.DepreciationVehicles(), CreateGLAccount.Vehicles()); + end; + end; + + local procedure ValidateRecordFields(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; + + procedure Building(): Code[20] + begin + exit(BuildingTok); + end; + + var + BuildingTok: Label 'BUILDING', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCompanyInformation.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCompanyInformation.Codeunit.al new file mode 100644 index 0000000000..bdb9cc9296 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCompanyInformation.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 17114 "Create AU Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + + CompanyInformation.Validate(City, CityLbl); + CompanyInformation.Validate("Ship-to City", CityLbl); + CompanyInformation.Validate("Post Code", '2600'); + CompanyInformation.Validate(County, NewSouthWalesCountyLbl); + CompanyInformation.Validate("Ship-to Post Code", '2600'); + CompanyInformation.Validate("Ship-to County", NewSouthWalesCountyLbl); + CompanyInformation.Validate(ABN, '53001003000'); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'CANBERRA', MaxLength = 30; + NewSouthWalesCountyLbl: Label 'NSW', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCountryRegion.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCountryRegion.Codeunit.al new file mode 100644 index 0000000000..b649e54273 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCountryRegion.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 17111 "Create AU Country Region" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Country/Region", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Country/Region"; RunTrigger: Boolean) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateCountryRegion.AU(): + ValidateRecordFields(Rec, Enum::"Country/Region Address Format"::"City+County+Post Code (no comma)"); + CreateCountryRegion.NZ(): + ValidateRecordFields(Rec, Enum::"Country/Region Address Format"::"City+County+Post Code (no comma)"); + end; + end; + + local procedure ValidateRecordFields(var CountryRegion: Record "Country/Region"; AddressFormat: Enum "Country/Region Address Format") + begin + CountryRegion.Validate("Address Format", AddressFormat); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCounty.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCounty.Codeunit.al new file mode 100644 index 0000000000..e83d9ec92b --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUCounty.Codeunit.al @@ -0,0 +1,191 @@ +codeunit 17149 "Create AU County" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAUCounty: Codeunit "Contoso AU County"; + begin + ContosoAUCounty.SetOverwriteData(true); + ContosoAUCounty.InsertCounty(Act(), AustralianCapitolTerritoryLbl); + ContosoAUCounty.InsertCounty(Bangkok(), BangkokLbl); + ContosoAUCounty.InsertCounty(BuriRam(), BuriRamLbl); + ContosoAUCounty.InsertCounty(ChaiNat(), ChaiNatLbl); + ContosoAUCounty.InsertCounty(ChiangMai(), ChiangMaiLbl); + ContosoAUCounty.InsertCounty(EdoState(), EdoStateLbl); + ContosoAUCounty.InsertCounty(Guanajuato(), GuanajuatoLbl); + ContosoAUCounty.InsertCounty(KualaLumpur(), KualaLumpurLbl); + ContosoAUCounty.InsertCounty(Nsw(), NewSouthWalesLbl); + ContosoAUCounty.InsertCounty(Nt(), NorthernTerritoryLbl); + ContosoAUCounty.InsertCounty(NuevoLeon(), NuevoLeonLbl); + ContosoAUCounty.InsertCounty(PlateauState(), PlateauStateLbl); + ContosoAUCounty.InsertCounty(Qld(), QueenslandLbl); + ContosoAUCounty.InsertCounty(Sa(), SouthAustraliaLbl); + ContosoAUCounty.InsertCounty(Sabah(), SabahLbl); + ContosoAUCounty.InsertCounty(SanLuis(), SanLuisLbl); + ContosoAUCounty.InsertCounty(Sarawak(), SarawakLbl); + ContosoAUCounty.InsertCounty(Selangor(), SelangorLbl); + ContosoAUCounty.InsertCounty(Sinaloa(), SinaloaLbl); + ContosoAUCounty.InsertCounty(Tas(), TasmaniaLbl); + ContosoAUCounty.InsertCounty(Vic(), VictoriaLbl); + ContosoAUCounty.InsertCounty(Wa(), WesternAustraliaLbl); + ContosoAUCounty.SetOverwriteData(false); + end; + + procedure Act(): Text[30] + begin + exit(ActTok); + end; + + procedure Bangkok(): Text[30] + begin + exit(BangkokTok); + end; + + procedure BuriRam(): Text[30] + begin + exit(BuriRamTok); + end; + + procedure ChaiNat(): Text[30] + begin + exit(ChaiNatTok); + end; + + procedure ChiangMai(): Text[30] + begin + exit(ChiangMaiTok); + end; + + procedure EdoState(): Text[30] + begin + exit(EdoStateTok); + end; + + procedure Guanajuato(): Text[30] + begin + exit(GuanajuatoTok); + end; + + procedure KualaLumpur(): Text[30] + begin + exit(KualaLumpurTok); + end; + + procedure Nsw(): Text[30] + begin + exit(NswTok); + end; + + procedure Nt(): Text[30] + begin + exit(NtTok); + end; + + procedure NuevoLeon(): Text[30] + begin + exit(NuevoLeonTok); + end; + + procedure PlateauState(): Text[30] + begin + exit(PlateauStateTok); + end; + + procedure Qld(): Text[30] + begin + exit(QldTok); + end; + + procedure Sa(): Text[30] + begin + exit(SaTok); + end; + + procedure Sabah(): Text[30] + begin + exit(SabahTok); + end; + + procedure SanLuis(): Text[30] + begin + exit(SanLuisTok); + end; + + procedure Sarawak(): Text[30] + begin + exit(SarawakTok); + end; + + procedure Selangor(): Text[30] + begin + exit(SelangorTok); + end; + + procedure Sinaloa(): Text[30] + begin + exit(SinaloaTok); + end; + + procedure Tas(): Text[30] + begin + exit(TasTok); + end; + + procedure Vic(): Text[30] + begin + exit(VicTok); + end; + + procedure Wa(): Text[30] + begin + exit(WaTok); + end; + + var + ActTok: Label 'ACT', MaxLength = 30; + BangkokTok: Label 'Bangkok', MaxLength = 30; + BuriRamTok: Label 'Buri Ram', MaxLength = 30; + ChaiNatTok: Label 'Chai Nat', MaxLength = 30; + ChiangMaiTok: Label 'Chiang Mai', MaxLength = 30; + EdoStateTok: Label 'Edo state', MaxLength = 30; + GuanajuatoTok: Label 'Guanajuato', MaxLength = 30; + KualaLumpurTok: Label 'KUALA LUMPUR', MaxLength = 30; + NswTok: Label 'NSW', MaxLength = 30; + NtTok: Label 'NT', MaxLength = 30; + NuevoLeonTok: Label 'Nuevo Leon', MaxLength = 30; + PlateauStateTok: Label 'Plateau state', MaxLength = 30; + QldTok: Label 'QLD', MaxLength = 30; + SaTok: Label 'SA', MaxLength = 30; + SabahTok: Label 'Sabah', MaxLength = 30; + SanLuisTok: Label 'San Luis', MaxLength = 30; + SarawakTok: Label 'Sarawak', MaxLength = 30; + SelangorTok: Label 'Selangor', MaxLength = 30; + SinaloaTok: Label 'Sinaloa', MaxLength = 30; + TasTok: Label 'TAS', MaxLength = 30; + VicTok: Label 'VIC', MaxLength = 30; + WaTok: Label 'WA', MaxLength = 30; + AustralianCapitolTerritoryLbl: Label 'Australian Capitol Territory', MaxLength = 30; + BangkokLbl: Label 'Bangkok', MaxLength = 30; + BuriRamLbl: Label 'Buri Ram', MaxLength = 30; + ChaiNatLbl: Label 'Chai Nat', MaxLength = 30; + ChiangMaiLbl: Label 'Chiang Mai', MaxLength = 30; + EdoStateLbl: Label 'Edo state', MaxLength = 30; + GuanajuatoLbl: Label 'Guanajuato', MaxLength = 30; + KualaLumpurLbl: Label 'KUALA LUMPUR', MaxLength = 30; + NewSouthWalesLbl: Label 'New South Wales', MaxLength = 30; + NorthernTerritoryLbl: Label 'Northern Territory', MaxLength = 30; + NuevoLeonLbl: Label 'Nuevo Leon', MaxLength = 30; + PlateauStateLbl: Label 'Plateau state', MaxLength = 30; + QueenslandLbl: Label 'Queensland', MaxLength = 30; + SouthAustraliaLbl: Label 'South Australia', MaxLength = 30; + SabahLbl: Label 'Sabah', MaxLength = 30; + SanLuisLbl: Label 'San Luis', MaxLength = 30; + SarawakLbl: Label 'Sarawak', MaxLength = 30; + SelangorLbl: Label 'Selangor', MaxLength = 30; + SinaloaLbl: Label 'Sinaloa', MaxLength = 30; + TasmaniaLbl: Label 'Tasmania', MaxLength = 30; + VictoriaLbl: Label 'Victoria', MaxLength = 30; + WesternAustraliaLbl: Label 'Western Australia', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUDataExchange.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUDataExchange.Codeunit.al new file mode 100644 index 0000000000..1c204779ed --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUDataExchange.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 17172 "Create AU Data Exchange" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + FolderNameLbl: Label 'PostingExchangeDefinitions', MaxLength = 100, Locked = true; + begin + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + OCRInvoiceAU() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + OCRCreditMemoAU() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + PeppolCreditMemoAU() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + PeppolInvoiceAU() + '.xml'); + end; + + procedure OCRInvoiceAU(): Code[20] + begin + exit('OCRINVOICE-AU'); + end; + + procedure OCRCreditMemoAU(): Code[20] + begin + exit('OCRCREDITMEMO-AU'); + end; + + procedure PeppolCreditMemoAU(): Code[20] + begin + exit('PEPPOLCREDITMEMO-AU'); + end; + + procedure PeppolInvoiceAU(): Code[20] + begin + exit('PEPPOLINVOICE-AU'); + end; +} diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUNoSeries.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUNoSeries.Codeunit.al new file mode 100644 index 0000000000..7a7cdb0218 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUNoSeries.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 17116 "Create AU No. Series" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: Codeunit "Contoso No Series"; + begin + ContosoNoSeries.SetOverwriteData(true); + ContosoNoSeries.InsertNoSeries(BASReports(), BASReportsLbl, 'BASREP-0001', 'BASREP-9999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PurchaseJournal(), PurchaseJournalLbl, 'G03001', 'G04000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.SetOverwriteData(false); + end; + + procedure BASReports(): Code[20] + begin + exit(BASReportsTok); + end; + + procedure PurchaseJournal(): Code[20] + begin + exit(PurchaseJournalTok); + end; + + var + BASReportsTok: Label 'BASREPORTS', MaxLength = 20; + PurchaseJournalTok: Label 'GJNL-PURCH', MaxLength = 20; + BASReportsLbl: Label 'BAS Reports.', MaxLength = 100; + PurchaseJournalLbl: Label 'Purchase Journal', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUPaymentTerms.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUPaymentTerms.Codeunit.al new file mode 100644 index 0000000000..fee3d26de1 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUPaymentTerms.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 17110 "Create AU Payment Terms" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Terms", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Payment Terms"; RunTrigger: Boolean) + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec.Code of + CreatePaymentTerms.PaymentTermsDAYS30(): + ValidateRecordFields(Rec, '<1M+CM>', EndOfNextMonthLbl); + end; + end; + + local procedure ValidateRecordFields(var PaymentTerms: Record "Payment Terms"; DueDateCalculation: Text[30]; Description: Text[100]) + begin + Evaluate(PaymentTerms."Due Date Calculation", DueDateCalculation); + PaymentTerms.Validate("Due Date Calculation"); + PaymentTerms.Validate(Description, Description); + end; + + var + EndOfNextMonthLbl: Label 'End of Next Month', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUPostCode.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUPostCode.Codeunit.al new file mode 100644 index 0000000000..aa63b82bb7 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUPostCode.Codeunit.al @@ -0,0 +1,19463 @@ +codeunit 17112 "Create AU Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // Discuss it + // Maybe a service provide a better list of post codes? + // This can be the same for now, then we convert to a list later. + + // Keep as it is for now + // Wael + trigger OnRun() + var + ContosoAUPostCode: Codeunit "Contoso AU Post Code"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoAUPostCode.SetOverwriteData(true); + ContosoAUPostCode.InsertPostCode('1215', AustraliaSquareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1220', GrosvenorPlaceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1225', RoyalExchangeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1230', QueenVictoriaBuildingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1235', SydneySouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1240', HaymarketLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1300', DarlinghurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1335', PottsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1340', KingsCrossLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1350', WoollahraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1355', BondiJunctionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1360', DoubleBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1435', AlexandriaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1445', RoseberyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1450', CamperdownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1455', BotanyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1460', MascotLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1465', KensingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1466', UnswSydneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1470', DrummoyneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1475', MarrickvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1480', KingsgroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1481', HurstvilleBcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1485', KogarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1490', MirandaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1495', CaringbahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1499', SutherlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1515', WestChatswoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1560', NorthbridgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1565', MilsonsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1570', ArtarmonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1585', CrowsNestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1590', StLeonardsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1595', LaneCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1630', HornsbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1635', HornsbyWestfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1639', FrenchsForestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1640', FrenchsForestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1655', ManlyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1660', MonaValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1670', NorthRydeBcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1675', GladesvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1680', RydeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1685', WestRydeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1700', ErmingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1701', RydalmereBcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1710', EppingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1715', PennantHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1730', SevenHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1750', NorthParramattaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1755', BaulkhamHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1765', CastleHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1790', StMarysLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1800', AshfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1805', BurwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1811', SilverwaterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1825', LidcombeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1835', AuburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1851', WetherillParkDcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1860', FairfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1871', LiverpoolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1875', MoorebankLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1885', BankstownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1890', IngleburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('1891', MilperraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('200', AustralianNationalUniversityLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2000', DarlingHarbourLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2000', DawesPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2000', HaymarketLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2000', MillersPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2000', 'Sydney', CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2000', SydneySouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2000', TheRocksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2001', SydneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2002', WorldSquareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2004', EasternSuburbsMcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2006', TheUniversityOfSydneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2007', BroadwayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2007', UltimoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2008', ChippendaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2008', DarlingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2009', PyrmontLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2010', DarlinghurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2010', SurryHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2011', ElizabethBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2011', PottsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2011', RushcuttersBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2011', WoolloomoolooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2012', StrawberryHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2015', AlexandriaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2015', BeaconsfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2015', EveleighLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2016', RedfernLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2017', WaterlooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2017', ZetlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2018', EastlakesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2018', RoseberyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2019', BanksmeadowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2019', BotanyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2020', MascotLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2020', SydneyDomesticAirportLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2020', SydneyInternationalAirportLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2021', CentennialParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2021', PaddingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2022', BondiJunctionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2022', QueensParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2023', BellevueHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2024', BronteLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2024', WaverleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2025', WoollahraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2026', BondiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2026', BondiBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2026', TamaramaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2027', DarlingPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2027', EdgecliffLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2027', PointPiperLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2028', DoubleBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2029', RoseBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2030', DoverHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2030', RoseBayNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2030', VaucluseLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2030', WatsonsBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2031', ClovellyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2031', ClovellyWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2031', RandwickLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2031', StPaulsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2032', DaceyvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2032', KingsfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2033', KensingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2034', CoogeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2035', MaroubraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2035', PagewoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', ChifleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', EastgardensLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', HillsdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', LaPerouseLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', LittleBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', MalabarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', MatravilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', PhillipBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2036', PortBotanyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2037', GlebeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2038', AnnandaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2039', RozelleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2040', LeichhardtLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2040', LilyfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2041', BalmainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2041', BirchgroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2042', EnmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2042', NewtownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2043', ErskinevilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2044', StPetersLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2044', SydenhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2044', TempeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2045', HaberfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2046', AbbotsfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2046', CanadaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2046', ChiswickLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2046', FiveDockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2046', RoddPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2046', RussellLeaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2046', WareembaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2047', DrummoyneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2048', StanmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2048', WestgateLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2049', LewishamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2049', PetershamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2050', CamperdownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2050', MissendenRoadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2052', UnswSydneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2057', ChatswoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2059', NorthSydneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2060', LavenderBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2060', McmahonsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2060', NorthSydneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2060', NorthSydneyShoppingworldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2060', WavertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2061', KirribilliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2061', MilsonsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2062', CammerayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2063', NorthbridgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2064', ArtarmonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2065', CrowsNestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2065', GreenwichLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2065', NaremburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2065', RoyalNorthShoreHospitalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2065', StLeonardsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2065', WollstonecraftLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2066', LaneCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2066', LaneCoveNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2066', LaneCoveWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2066', LinleyPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2066', LonguevilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2066', NorthwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2066', RiverviewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2067', ChatswoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2067', ChatswoodWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2068', CastlecragLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2068', MiddleCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2068', NorthWilloughbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2068', WilloughbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2069', CastleCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2069', RosevilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2070', EastLindfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2070', LindfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2070', LindfieldWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2071', KillaraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2072', GordonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2073', PymbleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2073', WestPymbleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2074', NorthTurramurraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2074', SouthTurramurraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2074', TurramurraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2074', WarraweeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2075', StIvesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2076', NormanhurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2076', WahroongaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2077', AsquithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2077', HornsbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2077', WaitaraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2079', MountColahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2080', MountKuringGaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2081', BerowraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2081', CowanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2082', BerowraHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2082', BerowraWatersLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2083', BrooklynLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2083', DangarIslandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2083', MilsonsPassageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2083', MooneyMooneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2084', DuffysForestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2084', TerreyHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2085', BelroseLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2085', BelroseWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2085', DavidsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2086', FrenchsForestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2087', ForestvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2087', KillarneyHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2088', MosmanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2088', SpitJunctionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2089', NeutralBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2089', NeutralBayJunctionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2090', CremorneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2090', CremorneJunctionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2092', SeaforthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2093', BalgowlahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2093', ClontarfLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2093', ManlyValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2094', FairlightLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2095', ManlyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2096', CurlCurlLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2096', HarbordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2096', QueenscliffLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2097', CollaroyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2097', CollaroyBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2097', WheelerHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2099', CromerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2099', DeeWhyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2099', NarraweenaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2099', NorthCurlCurlLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2099', WingalaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2100', AllambieHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2100', BeaconHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2100', BrookvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2100', NorthManlyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2100', OxfordFallsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2100', WarringahMallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2101', ElanoraHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2101', InglesideLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2101', NarrabeenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2102', WarriewoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2102', WarriewoodShoppingSquareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2103', MonaValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2104', BayviewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2105', ChurchPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2105', ElvinaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2105', LovettBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2105', ScotlandIslandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2106', NewportLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2106', NewportBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2107', AvalonBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2107', BilgolaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2107', CareelBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2107', WhaleBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2108', PalmBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2108', TheBasinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2109', MacquarieUniversityLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2110', HuntersHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2110', WoolwichLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2111', GladesvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2111', HenleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2111', HuntleysCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2111', HuntleysPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2111', MonashParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2111', TennysonPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2112', DenistoneEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2112', PutneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2112', RydeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2113', BlenheimRoadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2113', EastRydeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2113', MacquarieCentreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2113', MacquarieParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2113', NorthRydeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2114', DenistoneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2114', DenistoneWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2114', MeadowbankLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2114', MelroseParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2114', WestRydeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2115', ErmingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2116', RydalmereLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2117', DundasLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2117', OatlandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2117', TelopeaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2118', CarlingfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2118', CarlingfordCourtLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2118', KingsdeneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2119', BeecroftLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2119', CheltenhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2120', PennantHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2120', ThornleighLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2120', WestleighLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2121', EppingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2122', EastwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2122', MarsfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2123', ParramattaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2124', ParramattaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2125', WestPennantHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2126', CherrybrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2127', HomebushBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2127', NewingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2128', SilverwaterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2129', SydneyMarketsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2130', SummerHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2131', AshfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2132', CroydonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2133', CroydonParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2133', EnfieldSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2134', BurwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2135', StrathfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2136', BurwoodHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2136', EnfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2136', StrathfieldSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2137', CabaritaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2137', ConcordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2137', MortlakeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2137', NorthStrathfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2138', ConcordWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2138', RhodesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2139', ConcordRepatriationHospitalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2140', HomebushLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2141', BeralaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2141', LidcombeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2142', BlaxcellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2142', CamelliaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2142', GranvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2142', HolroydLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2142', RosehillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2143', BirrongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2143', PottsHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2143', RegentsParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2144', AuburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', ConstitutionHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', GirraweenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', GreystanesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', MaysHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', PemulwuyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', PendleHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', WentworthvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2145', WestmeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2146', OldToongabbieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2146', ToongabbieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2146', ToongabbieEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2147', KingsLangleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2147', LalorParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2147', SevenHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2147', SevenHillsWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2148', BlacktownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2148', BlacktownWestpointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2148', KingsParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2148', MarayongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2148', ProspectLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2150', HarrisParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2150', ParramattaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2151', NorthParramattaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2151', NorthRocksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2152', NorthmeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2153', BaulkhamHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2153', BellaVistaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2153', WinstonHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2154', CastleHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2155', BeaumontHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2155', KellyvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2155', KellyvilleRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2155', RouseHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2156', AnnangroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2156', GlenhavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2156', KenthurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2157', GlenorieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2158', DuralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2158', RoundCornerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2159', ArcadiaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2159', BerrileeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2159', FiddletownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2159', GalstonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2160', MerrylandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2160', MerrylandsWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2161', GuildfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2161', GuildfordWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2161', OldGuildfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2161', YennoraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2162', ChesterHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2162', SeftonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2163', CarramarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2163', VillawoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2164', SmithfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2164', SmithfieldWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2164', WetherillParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2165', FairfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2165', FairfieldEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2165', FairfieldHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2165', FairfieldWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2166', CabramattaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2166', CanleyHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2166', CanleyValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2166', LansvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2167', GlenfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', AshcroftLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', BusbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', CartwrightLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', GreenValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', HeckenbergLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', HinchinbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', MillerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2168', SadleirLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', CasulaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', CasulaMallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', ChippingNortonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', HammondvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', LiverpoolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', LiverpoolSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', LurneaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', MoorebankLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', MountPritchardLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', PrestonsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2170', WarwickFarmLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2171', CecilHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2171', HorningseaParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2171', HoxtonParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2171', MiddletonGrangeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2171', WestHoxtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2172', PleasurePointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2172', SandyPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2172', VoyagerPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2173', HolsworthyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2173', WattleGroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2174', EdmondsonParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2175', HorsleyParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2176', AbbotsburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2176', BossleyParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2176', EdensorParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2176', GreenfieldParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2176', PrairiewoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2176', StJohnsParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2176', WakeleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2177', BonnyriggLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2177', BonnyriggHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2178', CecilParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2178', KempsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2178', MountVernonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2179', AustralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2179', LeppingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2190', ChulloraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2190', GreenacreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2190', MountLewisLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2191', BelfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2192', BelmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2193', AshburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2193', CanterburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2193', HurlstoneParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2194', CampsieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2195', LakembaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2195', WileyParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2196', PunchbowlLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2196', RoselandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2197', BassHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2198', GeorgesHallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2199', YagoonaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2199', YagoonaWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2200', BankstownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2200', BankstownNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2200', BankstownSquareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2200', CondellParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2200', ManahanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2200', MountLewisLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2203', DulwichHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2204', MarrickvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2204', MarrickvilleMetroLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2204', MarrickvilleSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2205', ArncliffeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2205', TurrellaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2205', WolliCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2206', ClemtonParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2206', EarlwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2207', BardwellParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2207', BardwellValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2207', BexleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2207', BexleyNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2207', BexleySouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2208', KingsgroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2208', KingswayWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2209', BeverlyHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2209', NarweeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2210', LugarnoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2210', PeakhurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2210', PeakhurstHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2210', RiverwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2211', PadstowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2212', RevesbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2212', RevesbyNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2213', EastHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2213', PananiaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2213', PicnicPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2214', MilperraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2216', BanksiaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2216', BrightonLeSandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2216', KyeemaghLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2216', RockdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2217', BeverleyParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2217', KogarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2217', KogarahBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2217', MontereyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2217', RamsgateLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2217', RamsgateBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2218', AllawahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2218', CarltonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2219', SandringhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2219', SansSouciLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2220', HurstvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2220', HurstvilleWestfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2221', BlakehurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2221', CarssParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2221', ConnellsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2221', KyleBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2221', SouthHurstvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2222', PenshurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2223', MortdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2223', OatleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2224', KangarooPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2224', SylvaniaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2224', SylvaniaSouthgateLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2224', SylvaniaWatersLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2225', OysterBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2226', BonnetBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2226', ComoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2226', JannaliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2227', GymeaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2228', MirandaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2228', YowieBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2229', CaringbahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2229', DolansBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2229', LilliPilliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2229', PortHackingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2229', TarenPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2230', BundeenaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2230', CronullaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2230', MaianbarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2230', WooloowareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2231', KurnellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2232', AudleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2232', GraysPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2232', KareelaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2232', KirraweeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2232', LoftusLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2232', SutherlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2232', WoronoraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2233', EngadineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2233', HeathcoteLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2233', WaterfallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2233', WoronoraHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2233', YarrawarrahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2234', AlfordsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2234', BangorLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2234', BardenRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2234', IllawongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2234', LucasHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2234', MenaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2234', MenaiCentralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', CalgaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', EastGosfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', ErinaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', ErinaFairLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', GosfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', KariongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', KulnuraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', LisarowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', LowerMangroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', MangroveMountainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', MatchamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', MountWhiteLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', NararaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', NiagaraParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', PeatsRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', PointClareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', SomersbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', SpringfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', TascottLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', WendoreeParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', WestGosfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2250', WyomingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', AvocaBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', BensvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', CopacabanaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', DavistownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', GreenPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', KincumberLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', MacmastersBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', SaratogaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2251', YattalungaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2256', BlackwallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2256', KoolewongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2256', PatongaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2256', PearlBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2256', PhegansBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2256', WoyWoyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', BookerBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', DaleysPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', EmpireBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', EttalongBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', HardysBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', KillcareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', PrettyBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', StHubertsIslandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2257', UminaBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2258', KangyAngyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2258', OurimbahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', ChainValleyBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', DooralongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', DurrenDurrenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', GwandalanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', HalloranLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', HamlynTerraceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', JillibyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', KanwalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', LakeMunmorahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', LemonTreeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', ManneringParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', MardiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', RavensdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', SummerlandPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', TacomaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', TuggerahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', TuggerawongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', WallarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', WarnervaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', WatanobbiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', WoongarrahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', WyeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', WyongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', WyongahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2259', YarramalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2260', ErinaHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2260', ForrestersBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2260', NorthAvocaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2260', TerrigalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2260', WamberalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', BateauBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', BayVillageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', BerkeleyValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', BlueBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', ChittawayBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', ChittawayPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', GlenningValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', KillarneyValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', LongJettyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', ShellyBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', TheEntranceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', ToowoonBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2261', TumbiUmbiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2262', BlueHavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2262', BudgewoiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2262', BuffPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2262', DoyalsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2262', HalekulaniLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2262', SanRemoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2263', CharmhavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2263', GorokanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2263', LakeHavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2263', NorahHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2263', NoravilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2263', ToukleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', BonnellsBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', BrightwatersLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', DoraCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', EraringLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', MandalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', MirrabookaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', MorissetLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', SilverwaterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', SunshineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2264', YarrawongaParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2265', CooranbongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2265', MartinsvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2267', WangiWangiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2278', BarnsleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2278', KillingworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2278', WakefieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2280', BelmontLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2280', CroudaceBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2280', FloravilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2280', JewellsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2280', MarksPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2280', ValentineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2281', BlacksmithsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2281', CamsWharfLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2281', CatherineHillBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2281', CavesBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2281', MiddleCampLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2281', NordsWharfLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2281', SwanseaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2282', EleebanaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2282', LakelandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2282', WarnersBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', ArcadiaValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', AwabaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', BalmoralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', BlackallsParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', BoltonPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', ButtabaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', CareyBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', CoalPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', FassifernLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', FennellBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', FishingPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', KilabenBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', RathminesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2283', TorontoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2284', ArgentonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2284', BoolarooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2284', BooragulLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2284', MarmongPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2284', SpeersPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2284', TeralbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2284', WoodrisingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2285', CardiffLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2285', EdgeworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2285', GlendaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2286', HolmesvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2286', WestWallsendLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', BirminghamGardensLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', ElermoreValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', FletcherLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', MarylandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', MinmiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', RankinParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', SummerHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', WallsendLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2287', WallsendSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2289', AdamstownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2289', AdamstownHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2289', GardenSuburbLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2289', HighfieldsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2289', KotaraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2289', KotaraFairLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', BennettsGreenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', CharlestownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', DudleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', GatesheadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', HillsboroughLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', KahibahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', MountHuttonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', RedheadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', TingiraHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2290', WhitebridgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2291', MerewetherLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2291', MerewetherHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2291', TheJunctionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2292', BroadmeadowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2293', MaryvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2293', WickhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2294', CarringtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2295', FernBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2295', StocktonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2296', IslingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2297', TighesHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2298', George_TownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2298', WaratahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2298', WaratahWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2299', JesmondLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2299', LambtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2299', NorthLambtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2300', BarBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2300', CooksHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2300', NewcastleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2300', NewcastleEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2300', TheHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2302', NewcastleWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2303', HamiltonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2303', HamiltonEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2303', HamiltonSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2304', KooragangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2304', MayfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2304', MayfieldEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2304', MayfieldNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2304', MayfieldWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2304', SandgateLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2304', WarabrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2305', KotaraEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2305', NewLambtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2305', NewLambtonHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2306', WindaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2307', ShortlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2308', CallaghanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2308', NewcastleUniversityLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2309', DangarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2310', HunterRegionMcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2311', AllynbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2311', EastGresfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2311', GresfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2311', HaltonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2311', LostockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2312', NabiacLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2314', WilliamtownRaafLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2315', CorletteLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2315', FingalBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2315', NelsonBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2315', ShoalBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2316', AnnaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2316', BoatHarbourLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2316', BobsFarmLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2317', SalamanderBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2317', SoldiersPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2318', CampvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2318', FullertonCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2318', MedowieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2318', OysterCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2318', SaltAshLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2318', WilliamtownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2319', LemonTreePassageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2319', MallabulaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2319', TanilbaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', BolwarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', FarleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', HillsboroughLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', LargsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', LornLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', MaitlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', MaitlandNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', PokolbinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', RothburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', RutherfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2320', TelarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', ClarenceTownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', GilliestonHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', GlenWilliamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', HeddonGretaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', HintonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', LochinvarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', MorpethLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', RaworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2321', WoodvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', BeresfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', BlackHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', HexhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', LenaghanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', TarroLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', ThorntonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', TomagoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2322', WoodberryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', AshtonfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', BrunkervilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', EastMaitlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', FreemansWaterholeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', Green_HillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', MetfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', MetfordDcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', MountVincentLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', MulbringLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2323', TenambitLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', BalickeraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', BrandyHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', BundabahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', CarringtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', CellsRiverLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', EagletonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', EastSeahamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', HeatherbraeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', KaruahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', LimeburnersCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', MillersForestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', NelsonsPlainsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', NorthArmCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', OsterleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', PindimarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', RaymondTerraceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', RaymondTerraceEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', SeahamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', SwanBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', TahleeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', TeaGardensLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2324', TwelveMileCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', AberdareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', AbernethyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', BellbirdLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', CessnockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', CessnockWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', CongewaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', EllalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', ElringtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', KearsleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', KitchenerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', LagunaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', MillfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', MountViewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', NulkabaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', PaxtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', PaynesCrossingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', PeltonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', QuorrobolongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2325', WollombiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2326', AbermainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2326', BishopsBridgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2326', LoxfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2326', WestonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2327', KurriKurriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2327', PelawMainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2327', StanfordMerthyrLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2328', DenmanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2328', HollydeenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2328', KerrabeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2329', BorambilLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2329', CassilisLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2329', MerriwaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2329', UarbryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', BrokeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', BulgaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', CamberwellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', CarrowbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', DuralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', GlenniesCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', GreenlandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', HebdenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', HowesValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', JerrysPlainsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', MirannieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', MitchellsFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', MountOliveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', PuttyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', RavensworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', ReedyCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', SingletonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', StClairLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2330', WarkworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2331', SingletonMilpoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', BaeramiCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', EddertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', GungalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', LiddellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', MccullysGapLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', MuscleCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', MuswellbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', SandyHollowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2333', WybongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2334', GretaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2335', BelfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2335', BranxtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2335', DalwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2335', ElderslieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2335', NorthRothburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2335', StanhopeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2336', AberdeenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2336', DartbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2336', DavisCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2336', RouchelLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2336', UpperRouchelLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', BunnanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', EllerstonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', GundyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', KarsSpringsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', MoonanBrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', MoonanFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', OwensGapLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', ParkvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', SaturLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', SconeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', StewartsBrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', WingenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2337', WooloomaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2338', ArdglenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2338', BlandfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2338', MurrurundiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2339', WarrahCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2339', WillowTreeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', BowlingAlleyPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', CalalaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', CarrollLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', DungowanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', GowrieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', KingswoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', NeminghaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', NundleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', OxleyValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', SomertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', SouthTamworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', TamworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', TamworthSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', WestTamworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', WestdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2340', WoolominLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2341', WerrisCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2342', CurrabubulaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2343', BlackvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2343', CaroonaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2343', CollyBlueLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2343', PineRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2343', QuirindiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2343', SpringRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2343', WallabadahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2344', DuriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2345', AttungaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2345', GarthowenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2346', ManillaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2347', BarrabaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2347', CobbadahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2347', UpperHortonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2348', NewEnglandMcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', ArmidaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', EastArmidaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', EnmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', HillgroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', InvergowrieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', JeoglaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', WestArmidaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2350', WollomombiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2351', UniversityOfNewEnglandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2352', KootingalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2352', LimbriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2353', MoonbiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2354', KentuckyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2354', NiangalaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2354', NowendocLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2354', WalchaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2354', WollunLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2354', WoolbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2355', BendemeerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2355', WatsonsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2356', GwabegarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2357', BugaldieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2357', CoonabarabranLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2357', PurlewaughLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2357', RockyGlenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2357', UlamambriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2358', EnmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2358', KingstownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2358', UrallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2359', BundarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', BukkullaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', ElsmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', GilgaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', GramanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', GumFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', InverellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', LittlePlainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', MountRussellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', NewsteadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', NullamannaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2360', WallangraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2361', AshfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2361', BonshawLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2365', BenLomondLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2365', BlackMountainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2365', GlencoeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2365', GuyraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2365', LlangothlinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2365', WandsworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2369', StanniferLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2369', TinghaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2370', DundeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2370', FurracabadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2370', GlenInnesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2370', MathesonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2370', NewtonBoydLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2370', RedRangeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2370', SwanValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2371', DeepwaterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2371', EmmavilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2371', StannumLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2371', TorringtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', BlackSwampLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', BoliviaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', BoonooBoonooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', BungullaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', ListonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', SandyFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', TenterfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2372', WylieCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2379', MullaleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2380', GunnedahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2380', KelvinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2380', OrangeGroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2381', BreezaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2381', CurlewisLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2381', PremerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2381', TambarSpringsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2382', BoggabriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2386', BurrenJunctionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2387', RowenaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2388', CuttabriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2388', PilligaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2388', WeeWaaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2390', BaanBaaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2390', EdgeroiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2390', NarrabriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2390', TurrawanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2395', BinnawayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2395', WeetalibaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2396', BaradineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2396', KenebriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2397', BellataLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2398', GurleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2399', PallamallawaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2400', AshleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2400', CroobleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2400', MoreeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2400', TerryHieHieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2401', GravesendLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2402', CoolataiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2402', WarialdaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2403', DelungraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2404', BingaraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2404', DinogaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2405', BoomiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2405', GarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2406', MungindiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2408', NorthStarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2409', BoggabillaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2410', YetmanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2411', CroppaCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2415', MonkeraiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2415', StroudRoadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2420', BandonGroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2420', DungogLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2420', HilldaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2420', MarshdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2420', SalisburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2420', WallarobbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2421', PatersonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2421', TrevallynLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2421', VacyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', BarringtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', BelboraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', BrettiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', BundookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', CopelandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', CravenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', GloucesterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', RawdonValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', StratfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', UpperBowmanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2422', WardsRiverLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', BoolambayteLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', BulahdelahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', BungwahlLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', CoolongolookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', MarkwellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', NerongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', SealRocksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', UpperMyallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', WangWaukLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', WillinaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2423', WoottonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2424', CundleFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2424', KnorritFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2424', MountGeorgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2424', NumberOneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2425', AllworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2425', BooralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2425', GirvanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2425', StroudLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2425', WashpoolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2426', CoopernookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2426', LangleyValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2427', CrowdyHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2427', HarringtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', CharlotteBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', ForsterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', ForsterShoppingVillageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', GreenPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', PacificPalmsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', SmithsLakeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', TarbuckBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2428', TuncurryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', BobinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', BunyahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', BurrellCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', CaparraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', ComboyneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', DyersCrossingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', ElandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', FireflyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', KillabakhLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', KimbrikiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', KrambachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', MarleeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', MooralCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', WarriwillahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', WherrolFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2429', WinghamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', BohnockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', ChathamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', CundletownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', DiamondBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', FailfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', GhinniGhinniLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', HallidaysPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', KolodongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', KoorainghatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', ManningPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', OldBarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', PurfleetLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', TareeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', TinoneeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2430', UpperLansdowneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2431', JerseyvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2431', SouthWestRocksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2439', KendallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2439', KewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2439', LorneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', BellbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', BellimbopinniLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', CarraiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', ClybuccaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', CollombattiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', ComaraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', CrescentHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', FredericktonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', GladstoneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', GreenhillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', HatHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', HickeysCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', KempseyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', LowerCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', MillbankLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', SmithtownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', SouthKempseyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', ToorookaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', VergesCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2440', WillawarrinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', BallengarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', BonvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', EungaiCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', EungaiRailLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', GrassyHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', GumScrubLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', KundabungLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', RollandsPlainsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', StuartsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2441', TelegraphPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2442', MidNorthCoastMscLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', CamdenHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', DunboganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', HannamValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', HeronsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', JohnsRiverLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', LaurietonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', MoorlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', NorthHavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2443', WestHavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2444', BlackmansPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2444', FlynnsBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2444', PortMacquarieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2444', PortMacquarieBcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2445', BonnyHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2445', LakeCathieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', BagnooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', BeechwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', BellangryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', ByabarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', EllenboroughLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', HollisdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', HuntingdonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', KingsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', LongFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', PappinbarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', PembrookeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', TomsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2446', WauchopeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2447', MacksvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2447', ScottsHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2447', TaylorsArmLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2447', ThumbCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2447', WarrellCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2448', NambuccaHeadsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2448', VallaBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2449', ArgentsHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2449', BowravilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2449', MissabottiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', BoambeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', CoffsHarbourLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', CoffsHarbourJettyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', CoffsHarbourPlazaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', CorambaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', GlenreaghLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', KarangiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', KororaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', LowannaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', MooneeBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', NanaGlenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', UlongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2450', UpperOraraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2452', BoambeeEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2452', SawtellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2452', ToorminaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2453', BostobrickLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2453', DorrigoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2453', DundurrabinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2453', EborLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2453', HernaniLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2453', MeganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2453', TyringhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2454', BellingenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2454', FernmountLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2454', KalangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2454', MylestomLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2454', RaleighLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2454', ReptonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2454', ThoraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2455', UrungaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2456', ArrawarraHeadlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2456', CorindiBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2456', EmeraldBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2456', RedRockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2456', SafetyBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2456', SandyBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2456', WoolgoolgaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', BaryulgilLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', BrushgroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', CangaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', CoaldaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', CopmanhurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', CouttsCrossingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', CowperLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', GraftonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', GraftonWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', HalfwayCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', JackadgeryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', JunctionHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', KangarooCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', LawrenceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', NymboidaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', SeelandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', SouthArmLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', SouthGraftonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', WaterviewHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2460', WinegroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2462', PillarValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2462', TucabiaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2462', UlmarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2462', WooliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2463', BroomsHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2463', MacleanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2463', TullymorganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2463', WoodfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2464', YambaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2465', HarwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2466', IlukaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2469', BonalboLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2469', ChatsworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2469', MallanganeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2469', OldBonalboLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2469', RappvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2469', TabulamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', BackmedeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', BaraimalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', CasinoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', CoombellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', DobiesBightLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', DoubtfulCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', DyraabaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', DyraabaCentralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', EllangowanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', FairyHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', IrvingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', LeevilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', MongogarieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', NaughtonsGapLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', PioraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', SextonvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', ShannonBrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', SpringGroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', StrathedenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2470', WoodviewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2471', CorakiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2471', SwanBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2471', TathamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2472', BroadwaterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2472', RileysHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2472', WoodburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2473', EvansHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', CawonglaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', EttrickLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', GenevaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', GrevilliaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', KyogleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', LynchsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', RukenvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', TheRiskLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', ToonumbarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2474', WiangareeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2475', UrbenvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2476', AcaciaPlateauLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2476', LegumeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2476', OldKoreelahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2476', WoodenbongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', AlstonvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', CabbageTreeIslandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', DalwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', MeerschaumValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', RousLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', RousMillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', UralbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', WardellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2477', WollongbarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2478', BallinaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2478', EmpireValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2478', KeithHallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2478', LennoxHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2478', PimlicoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2478', TevenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2478', TintenbarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2479', BangalowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2479', BinnaBurraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2479', BrookletLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2479', FernleighLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2479', NashuaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2479', OpossumCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', BentleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', BexhillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', ClunesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', CorndaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', DorroughbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', DunoonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', ElthamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', EurekaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', FederalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', GeorgicaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', GoolmangarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', GoonellabahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', LismoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', MaromCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', MckeesHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', NimbinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', NorthLismoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', NumulgiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', RichmondHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', RockValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', RosebankLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', RuthvenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', TheChannonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', TregeagleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', TuckurimbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', TuncesterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', WhianWhianLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2480', WyrallahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2481', BrokenHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2481', ByronBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2481', SuffolkParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2481', TyagarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2482', GoonengerryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2482', MullumbimbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', BillinudgelLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', BrunswickHeadsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', BurringbarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', CrabbesCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', MooballLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', NewBrightonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', OceanShoresLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', SouthGoldenBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2483', YelgunLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', BackCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', BrayParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', ChillinghamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', CondongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', CrystalCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', CudgeraCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', DoonDoonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', DunbibleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', DungayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', EungellaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', KunghurLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', MurwillumbahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', NuminbahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', PalmvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', StokersSidingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', TyalgumLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2484', UkiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2485', TweedHeadsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2485', TweedHeadsWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2486', BanoraPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2486', BilambilLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2486', CaroolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2486', TerranoraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2486', TweedHeadsSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2487', ChinderahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2487', CudgenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2487', DuranbahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2487', FingalHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2487', KingscliffLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2487', StottsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2488', BogangarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2488', CabaritaBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2489', HastingsPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2489', PottsvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2490', TumbulgumLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', ConistonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', GwynnevilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', KeiravilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', MangertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', MountKeiraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', MountSaintThomasLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', NorthWollongongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', SpringHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', WestWollongongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2500', WollongongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2502', CringilaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2502', LakeHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2502', PrimbeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2502', WarrawongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2505', KemblawarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2505', PortKemblaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2506', BerkeleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2508', CoalcliffLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2508', DarkesForestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2508', HelensburghLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2508', OtfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2508', StanwellParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2508', StanwellTopsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2515', AustinmerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2515', CliftonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2515', ColedaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2515', ScarboroughLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2515', ThirroulLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2515', WombarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2516', BulliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2517', RussellValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2517', WoononaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2518', BellambiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2518', CorrimalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2518', EastCorrimalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2518', TarrawannaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2518', TowradgiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2519', BalgownieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2519', FairyMeadowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2519', MountOusleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2519', MountPleasantLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2520', 'WOLLONGONG', CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2522', UniversityOfWollongongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2525', FigtreeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2526', CordeauxHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2526', FarmboroughHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2526', KemblaGrangeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2526', MountKemblaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2526', UnanderraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2527', AlbionParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2527', AlbionParkRailLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2528', BarrackHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2528', BarrackPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2528', LakeIllawarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2528', MountWarrigalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2528', WarillaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2528', WindangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2529', BlackbuttLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2529', DunmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2529', FlindersLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2529', OakFlatsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2529', OakFlatsDcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2529', ShellCoveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2529', ShellharbourLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2530', BrownsvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2530', DaptoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2530', HorsleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2530', KanahookaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2530', KoonawarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2530', WongawilliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2530', YallahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2533', BomboLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2533', JamberooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2533', KiamaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2533', MinnamurraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2534', FoxgroundLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2534', GerringongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2534', GerroaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2534', ToolijooaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2534', WerriBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', BellawongarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', BerryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', BudderooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', CoolangattaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', JaspersBrushLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', ShoalhavenHeadsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', WattamollaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2535', WoodhillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', BatehavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', BatemansBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', BenandarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', BimbimbieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', BuckenbowraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', CatalinaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', CurrowanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', DenhamsBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', DurrasNorthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', EastLynneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', GuerillaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', JeremadraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', LilliPilliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', LongBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', MaloneysBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', MaluaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', MogoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', NelligenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', NorthBatemansBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', RosedaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', RunnyfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', SouthDurrasLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', SunshineBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', SurfBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', SurfsideLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2536', WoodlandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', BergaliaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', BingieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', BrouleeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', CoilaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', CongoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', DeuaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', DeuaRiverValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', KioraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', MeringoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', MogendouraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', MoruyaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', MoruyaHeadsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', MossyPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', TomakinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', TurlinjahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2537', TurossHeadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2538', MiltonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', BawleyPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', BendalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', BerringerLakeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', BurrillLakeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', ConjolaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', ConjolaParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', CunjurongPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', KioloaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', LakeConjolaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', LakeTabourieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', ManyanaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', MollymookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', TermeilLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', UlladullaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2539', YatteYattahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', BamarangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', BasinViewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', BerraraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', BolongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', BrundeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', BurrierLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', CallalaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', CallalaBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', CambewarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', CudmirrahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', CulburraBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', CurrarongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', ErowalBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', FallsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', GreenwellPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', HmasAlbatrossLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', HmasCreswellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', HuskissonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', HyamsBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', JervisBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', MerooMeadowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', MyolaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', NumbaaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', OldErowalBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', OrientPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', PyreeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', SanctuaryPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', StGeorgesBasinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', SussexInletLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', SwanhavenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', TapitalleeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', TeraraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', TomerongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', VincentiaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', WandandianLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', WoollamiaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', WorrigeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', WrightsBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2540', YalwalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2541', BangaleeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2541', BomaderryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2541', NorthNowraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2541', NowraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2541', NowraDcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2541', SouthNowraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2545', BodallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2545', NerrigundahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', BarraggaBayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', BeautyPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', BermaguiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', CentralTilbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', CuttageeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', DalmenyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', DignamsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', KiangaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', NaroomaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', NorthNaroomaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', TilbaTilbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', TinpotLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', WadbilligaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', WallagaLakeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2546', WallagaLakeHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2548', BerramboolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2548', MerimbulaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2548', TuraBeachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2549', BroadwaterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2549', GreigsFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2549', NethercoteLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2549', PambulaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2549', SouthPambulaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', BegaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', BembokaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', BourndaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', BrogoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', BurragateLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', CandeloLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', CobargoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', DoctorGeorgeMountainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', KingswoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', MogareekaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', MoransCrossingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', MumbullaMountainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', NelsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', QuaamaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', RockyHallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', TathraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', TowambaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', WandellaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', WapengoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', WolumlaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', WyndhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2550', YowrieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2551', EdenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2551', KiahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2551', WonboynLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2551', WonboynLakeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2555', BadgerysCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2556', BringellyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2557', CatherineFieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2557', RossmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2558', EagleValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2558', EscholParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2558', KearnsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2559', BlairmountLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2559', ClaymoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', AirdsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', AmbarvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', AppinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', BlairAtholLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', BradburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', CampbelltownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', EnglorieParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', GileadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', GlenAlpineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', KentlynLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', LeumeahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', RosemeadowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', RuseLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', StHelensParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', WedderburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2560', WoodbineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2563', MenangleParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2564', LongPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2564', MacquarieFieldsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2565', DenhamCourtLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2565', IngleburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2565', MacquarieLinksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2566', BowBowingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2566', MintoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2566', RabyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2566', StAndrewsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2566', VarrovilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2567', CurransHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2567', HarringtonParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2567', MountAnnanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2567', NarellanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2567', NarellanDcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2567', NarellanValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2568', MenangleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2569', DouglasParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', CamdenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', CamdenParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', CawdorLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', CobbittyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', ElderslieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', EllisLaneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', GrasmereLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', MountHunterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', NattaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', OakdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', OrangevilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', TheOaksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2570', WerombiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2571', BalmoralVillageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2571', BuxtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2571', CouridjahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2571', PictonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2571', RazorbackLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2571', WiltonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2572', LakeslandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2572', ThirlmereLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2573', TahmoorLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2574', BargoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2574', PheasantsNestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2574', YanderraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2575', AylmertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2575', ColoValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2575', HillTopLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2575', MittagongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2575', WelbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2575', YerrinboolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2576', BowralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2576', BurradooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2576', KangaloonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', AvocaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', BarrengarryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', BeaumontLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', BerrimaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', BurrawangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', FitzroyFallsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', KangarooValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', MossValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', NewBerrimaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', RobertsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', SuttonForestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', WildesMeadowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2577', YarrungaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2578', BundanoonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2579', ExeterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2579', MarulanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2579', PenroseLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2579', TallongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2579', WingelloLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', BannisterLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', BungoniaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', GolspieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', GoulburnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', KingsdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', LakeBathurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', RoslynLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', TaragoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', TaralgaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', TowrangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', WombeyanCavesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', WoodhouseleeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', YalbraithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2580', YarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2581', BreadalbaneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2581', CollectorLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2581', DaltonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2581', GunningLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2582', BookhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2582', BowningLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2582', BurrinjuckLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2582', MurrumbatemanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2582', WeeJasperLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2582', YassLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', BiggaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', BindaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', BlanketFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', CrookedCornerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', CrookwellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', FullertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', GrabbenGullenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', KiallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', LagganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', LimerickLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', PeelwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', RugbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2583', TuenaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2584', BinalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2585', GalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2586', BoorowaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2586', MurringoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2586', ReidsFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2586', RyeParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2587', HardenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2587', KingsvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2587', MurrumburrahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2587', WombatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2588', WallendbeenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2590', BethungraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2590', CootamundraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2590', IllaboLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2594', BribbareeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2594', MilvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2594', MonteagleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2594', YoungLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', CanberraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', DeakinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', DeakinWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', DuntroonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', HarmanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', ParkesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', ParliamentHouseLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', RussellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', XbartonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2600', YarralumlaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2601', ActonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2601', BlackMountainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2601', CanberraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2601', CityLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2602', AinslieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2602', DicksonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2602', DownerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2602', HackettLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2602', LynehamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2602', OConnorLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2602', WatsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2603', ForrestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2603', GriffithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2603', ManukaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2603', Red_HillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2604', CausewayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2604', KingstonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2604', NarrabundahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2605', CurtinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2605', GarranLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2605', HughesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2606', ChifleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2606', LyonsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2606', OMalleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2606', PhillipLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2606', SwingerHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2606', WodenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2607', FarrerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2607', IsaacsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2607', MawsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2607', PearceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2607', TorrensLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2608', CivicSquareLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2609', FyshwickLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2609', PialligoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2609', SymonstonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2610', CanberraBcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', BrindabellaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', ChapmanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', DuffyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', FisherLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', HolderLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', MountStromloLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', RivettLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', StirlingLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', UriarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', WaramangaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', WestonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2611', WestonCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2612', BraddonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2612', CampbellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2612', ReidLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2612', TurnerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', ArandaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', CookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', HawkerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', JamisonCentreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', MacquarieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', PageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', ScullinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2614', WeetangeraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', CharnwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', DunlopLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', FloreyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', FlynnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', FraserLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', HigginsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', HoltLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', KippaxLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', LathamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', MacgregorLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', MelbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2615', SpenceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2616', BelconnenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', BelconnenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', BruceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', EvattLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', GiralangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', KaleenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', LawsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', MckellarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2617', UniversityOfCanberraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2618', HallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2619', JerrabomberraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', BurraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', CrestwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', GundarooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', HumeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', KarabarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', MichelagoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', QueanbeyanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', QueanbeyanEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', QueanbeyanWestLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', RoyallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', SuttonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', TharwaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', WamboinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2620', WilliamsdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2621', BungendoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', AraluenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', BallalabaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', BoroLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', BraidwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', GundillionLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', JembaicumbeneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', MajorsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', MayfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', MongaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', MongarloweLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', NerrigaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2622', ReidsdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2623', CaptainsFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2624', PerisherValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2624', SmigginHolesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2625', ThredboVillageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2626', BredboLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2627', JindabyneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2628', BerridaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2628', BraemarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2628', DalgetyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2628', EucumbeneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2628', NumblaValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2629', AdaminabyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2629', CabramurraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2629', YaoukLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', BungarbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', BunyanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', ChakolaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', CoomaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', JerangleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', NumerallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', PeakViewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', RockFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2630', RoseValleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2631', AndoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2631', NimmitabelLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2632', BibbenlukeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2632', BombalaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2632', CathcartLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2632', CraigieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2632', MilaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2633', DelegateLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', AlburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', EastAlburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', LavingtonDcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', NorthAlburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', SouthAlburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', TableTopLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', TalmalmoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2640', ThurgoonaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2641', LavingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', BrocklesbyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', BurrumbuttockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', GerogeryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', JinderaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', JingellicLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', KhancobanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', RandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', ToomaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', WalbundrieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2642', YerongCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2643', HowlongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2644', BownaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2644', HolbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2644', MullengandraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2644', WoomargamaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2645', UranaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2646', BalldaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2646', CorowaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2646', DaysdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2646', LowesdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2646', OaklandsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2646', RennieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2646', SavernakeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2647', MulwalaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', CalLalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', CurlwaaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', MourquongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', PalinyewahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', PomonaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', PooncarieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', RufusRiverLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2648', WentworthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2649', LaurelHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', AshmontLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', CarabostLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', CollingullieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', CookardiniaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', DownsideLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', GlenfieldParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', HarefieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', KooringalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', LakeAlbertLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', MountAustinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', TollandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', TurveyParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', WaggaWaggaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2650', WaggaWaggaSouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2651', ForestHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2651', WaggaWaggaRaafLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', BoreeCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', GaloreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', GoolgowiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', GrongGrongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', GumlyGumlyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', HumulaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', LadysmithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', MangoplahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', MarrarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', MatongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', MerriwaggaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', OldJuneeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', RosewoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', TabbitaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', TarcuttaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2652', UranquintyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2653', MannusLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2653', TumbarumbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2655', FrenchParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2655', TheRockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2656', LockhartLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2656', MilbrulongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2656', UrangelineEastLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2658', HentyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2658', PleasantHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2658', RyanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2659', WallaWallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2660', CulcairnLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2660', MorvenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2661', KapookaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2663', JuneeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', ArdlethanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', AriahParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', BarellanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', BeckomLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', BinyaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', KamarahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', MirroolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2665', MoombooldoolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2666', GroganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2666', ReeftonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2666', SebastopolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2666', SpringdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2666', TemoraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2666', TrungleyHallLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2668', BarmedmanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', BygalorieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', ErigoliaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', GirralLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', GubbataLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', NaradhanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', RankinsSpringsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', TallimbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', TullibigealLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', UngarieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2669', WeethalleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2671', BurcherLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2671', WestWyalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2671', WyalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2672', BurgooneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2672', LakeCargelligoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2675', HillstonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2675', RotoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2678', CharlesSturtUniversityLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', BeelbangeraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', BenerembahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', BilbulLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', GriffithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', HanwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', LakeWyanganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', TharbogangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', WidgelliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', WillbriggieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2680', YoogaliLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2681', YendaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2700', CorobimillaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2700', MorundahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2700', NarranderaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2701', CoolamonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2702', GanmainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2703', YancoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2705', CorbieHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2705', LeetonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2705', MurramiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2705', WamoonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2705', WhittonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2706', DarlingtonPointLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2707', ArgoonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2707', ColeamballyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2708', MurrayRegionMcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', CaldwellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', ConargoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', DeniliquinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', GulpaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', MathouraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', MayrungLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', MoiraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', WakoolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2710', WanganellaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2711', BooligalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2711', CarrathoolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2711', GunbarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2711', HayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2711', MaudeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2711', OxleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2712', BerriganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2713', BlightyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2713', FinleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2714', TocumwalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2715', BalranaldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2715', HatfieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2716', JerilderieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2716', MabinsWellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2717', DaretonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2720', GilmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2720', TalbingoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2720', TumutLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2721', QuandiallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2722', BrungleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2722', GundagaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2722', MuttamaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2722', NangusLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2725', StockinbingalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2726', JugiongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2727', AdjungbillyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2727', CoolacLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2729', AdelongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2729', CooleysCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2729', GrahamstownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2729', MountHorebLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2729', TumblongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2729', WondalgaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2730', BatlowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2730', Green_HillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2731', BunnalooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2731', MoamaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2731', WombootaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2732', BarhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2733', MoulameinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2734', KyaliteLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2735', KoraleighLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2736', 'GOODNIGHT', CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2736', TooleybucLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2737', EustonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2738', GolGolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2738', MonakLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2739', BurongaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2745', GlenmoreParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2745', GreendaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2745', LuddenhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2745', MulgoaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2745', RegentvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2745', WallaciaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2747', CambridgeParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2747', KingswoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2747', LlandiloLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2747', ShanesParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2747', WerringtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2747', WerringtonCountyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2747', WerringtonDownsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2748', OrchardHillsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2749', CastlereaghLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2749', CranebrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2750', EmuPlainsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2750', LeonayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2750', PenrithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2751', PenrithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2752', SilverdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2752', WarragambaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2753', BowenMountainLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2753', GroseValeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2753', GroseWoldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2753', HobartvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2753', LondonderryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2753', RichmondLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2753', YarramundiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2754', NorthRichmondLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2754', TennysonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2755', RichmondRaafLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', BlighParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', CattaiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', ClarendonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', ColoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', CornwallisLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', EbenezerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', FreemansReachLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', GlossodiaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', LowerPortlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', MarootaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', McgrathsHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', MulgraveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', PittTownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', ScheyvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', WilberforceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2756', WindsorLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2757', KurmondLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2758', BilpinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2758', BlaxlandsRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2758', KurrajongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2759', ErskineParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2759', StClairLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2760', ColytonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2760', OxleyParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2760', StMarysLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2761', DeanParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2761', GlendenningLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2761', HassallGroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2761', OakhurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2761', PlumptonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2762', SchofieldsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2763', AcaciaGardensLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2763', QuakersHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', BerkshireParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', BoxHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', MaraylyaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', MarsdenParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', NelsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', OakvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', RiverstoneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2765', VineyardLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2766', EasternCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2766', RootyHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2767', DoonsideLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2767', WoodcroftLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2768', GlenwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2768', ParkleaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2768', StanhopeGardensLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', BidwillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', BlackettLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', DharrukLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', EmertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', HebershamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', LethbridgeParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', MinchinburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', MountDruittLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', ShalveyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', TregearLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', WhalanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2770', WillmotLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2773', GlenbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2773', LapstoneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2774', BlaxlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2774', MountRiverviewLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2774', WarrimooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2775', CentralMacdonaldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2775', LaughtondaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2775', LowerHawkesburyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2775', SpencerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2775', StAlbansLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2775', WisemansFerryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2776', FaulconbridgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2777', HawkesburyHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2777', SpringwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2777', ValleyHeightsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2777', WinmaleeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2777', YellowRockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2778', LindenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2778', WoodfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2779', HazelbrookLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2780', KatoombaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2780', LeuraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2780', MedlowBathLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2782', WentworthFallsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2783', LawsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2784', BullaburraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2785', BlackheathLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2785', MegalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2786', BellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2786', DarganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2786', MountIrvineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2786', MountVictoriaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2786', MountWilsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', BlackSpringsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', DuckmaloiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', EdithLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', GingkinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', HazelgroveLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', OberonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', PortersRetreatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', ShootersHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2787', TaranaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', BowenfelsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', ClarenceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', CobarParkLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', CullenBullenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', HamptonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', HartleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', JenolanCavesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', LidsdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', LithgowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', LittleHartleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', LowtherLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', MarrangarooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', RydalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2790', SodwallsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2791', CarcoarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2792', ManduramaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2793', DarbysFallsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2793', WoodstockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2794', BumbaldryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2794', CowraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2794', NoonbinnaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2794', WattamondaraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', BaldRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', BallyroeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', BathurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', BrewongleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', BurragaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', DarkCornerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', DunkeldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', DuramanaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', EglintonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', FreemantleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', GemallaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', GeorgesPlainsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', HobbysYardsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', IsabellaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', JuddsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', KelsoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', LocksleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', MeadowFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', MountDavidLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', NewbridgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', PeelLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', PerthvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', RaglanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', RockleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', SofalaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', SunnyCornerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', TheRocksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', TrunkeyCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', TurondaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', WamboolLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', WattleFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', WestBathurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', WimbledonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', WisemansCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2795', YetholmeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2797', GarlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2797', LyndhurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2798', ForestReefsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2798', MillthorpeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2798', TallwoodLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2799', BarryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2799', BlayneyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2799', BrownsCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2799', NevilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2799', VittoriaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', BorenoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', CargoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', LucknowLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', MarchLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', MullionCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', NashdaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', OrangeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2800', SpringHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2803', BendickMurrellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2803', CrowtherLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2803', WirrimahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2804', CanowindraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2805', GooloogongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2806', EugowraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2807', KoorawathaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2809', GreenethorpeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2810', BimbiLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2810', CaragabalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2810', GrenfellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2810', PullabookaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', ArthurvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', BakersSwampLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', BodangoraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', DripstoneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', FarnhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', MaryvaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', MumbilLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', NeureaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', SpicersCreekLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', StuartTownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', WalmerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2820', WellingtonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2821', NarromineLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2823', TrangieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2824', WarrenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2825', BoganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2825', CanonbaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2825', MiandettaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2825', MullengudgeryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2825', NynganLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2827', CollieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2827', CurbanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2827', GilgandraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2828', GulargamboneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2828', WarrumbungleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2829', CombaraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2829', CoonambleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2830', BallimoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2830', BrocklehurstLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2830', DubboLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2830', MogriguyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', ArmatreeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', BalladoranLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', ByrockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', CarindaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', CoolabahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', ElongElongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', EumungerieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', GeurieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', GirilamboneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', GoodoogaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', HermidaleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', MerrygoenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', NeilrexLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', NevertireLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', NymageeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', QuamboneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', TooraweenahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2831', WongarbonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2832', ComeByChanceLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2832', CryonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2832', CumborahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2832', WalgettLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2833', CollarenebriLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2834', LightningRidgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2835', CobarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2836', WhiteCliffsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2836', WilcanniaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2839', BrewarrinaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2839', WeilmoringleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', BarringunLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', BourkeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', EnngoniaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', FordsBridgeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', LouthLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', TilpaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', UrisinoLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', WanaaringLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2840', YantabullaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2842', MendooranLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2843', CoolahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2844', BirriwaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2844', CobboraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2844', DunedooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2844', LeadvilleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2845', WallerawangLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2846', CaperteeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2846', GlenDavisLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2847', PipersFlatLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2847', PortlandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2848', CharbonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2848', ClandullaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2848', KandosLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2849', BylongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2849', RylstoneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', HargravesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', HavilahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', HillEndLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', IlfordLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', LueLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', MudgeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', RunningStreamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', TurillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', TwelveMileLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', UlanLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', WilbetreeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', WindeyerLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', WollarLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2850', YarrawongaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2852', GoolmaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2852', GulgongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2864', CudalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2864', MurgaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2864', ToogongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2865', ManildraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2866', EuchareenaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2866', GarraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2866', LarrasLeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2866', MolongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2867', BaldryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2867', CumnockLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2868', YeovalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2869', PeakHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2869', TomingleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2869', TrewilgaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2870', AlectownLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2870', CookamidgeraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2870', DaroobalgieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2870', GoonumblaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2870', MandageryLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2870', ParkesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2870', TichborneLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2871', BedgerebongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2871', ForbesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2871', GaremaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2871', WirrinyaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2873', AlbertLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2873', TottenhamLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2874', TullamoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2875', FifieldLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2875', OothaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2875', TrundleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2876', BoganGateLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2876', GunningblandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2876', NelungalooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2877', CondobolinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2877', DerriwongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2877', EuabalongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2877', MountHopeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2878', ConobleLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2878', IvanhoeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2878', MossgielLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2878', TridaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2879', MenindeeLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2880', BrokenHillLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2880', SilvertonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2880', TibooburraLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2890', AustralianDefenceForcesLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2898', LordHoweIslandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2899', NorfolkIslandLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2900', GreenwayLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2900', TuggeranongLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2901', TuggeranongDcLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2902', KambahLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2903', ErindaleCentreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2903', OxleyLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2903', WanniassaLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2904', FaddenLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2904', GowrieLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2904', MacarthurLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2904', MonashLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2905', BonythonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2905', CalwellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2905', ChisholmLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2905', GilmoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2905', IsabellaPlainsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2905', RichardsonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2905', TheodoreLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2906', BanksLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2906', ConderLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2906', GordonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2911', MitchellLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2912', GungahlinLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2913', GinninderraVillageLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2913', NgunnawalLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2913', NichollsLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2913', PalmerstonLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('2914', AmarooLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('3000', 'Melbourne', CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3001', MelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3002', EastMelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3003', WestMelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3004', MelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3005', WorldTradeCentreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3006', SouthbankLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3008', DocklandsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3010', UniversityOfMelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3011', FootscrayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3011', SeddonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3011', SeddonWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3012', BrooklynLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3012', KingsvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3012', MaidstoneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3012', TottenhamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3012', WestFootscrayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3013', YarravilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3013', YarravilleWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3015', NewportLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3015', SouthKingsvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3015', SpotswoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3016', WilliamstownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3018', AltonaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3018', SeaholmeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3019', BraybrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3019', RobinsonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3020', AlbionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3020', SunshineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3021', AlbanvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3021', KealbaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3021', KingsParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3021', StAlbansLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3022', ArdeerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3022', DeerParkEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3023', BurnsideLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3023', CairnleaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3023', CarolineSpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3023', DeerParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3024', MountCottrellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3024', WyndhamValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3025', AltonaNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3026', LavertonNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3028', AltonaMeadowsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3028', LavertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3028', SeabrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3029', HoppersCrossingLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3029', TarneitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3029', TruganinaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3030', DerrimutLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3030', PointCookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3030', WerribeeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3031', FlemingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3031', KensingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3032', AscotValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3032', HighpointCityLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3032', MaribyrnongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3032', TravancoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3033', KeilorEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3034', AvondaleHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3036', KeilorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3036', KeilorNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3037', DelaheyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3037', HillsideLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3037', SydenhamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3038', KeilorDownsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3038', TaylorsLakesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3039', MooneePondsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3040', AberfeldieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3040', EssendonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3040', EssendonWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3041', EssendonNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3041', StrathmoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3041', StrathmoreHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3042', AirportWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3042', KeilorParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3042', NiddrieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3043', GladstoneParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3043', GowanbraeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3043', TullamarineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3044', PascoeValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3044', PascoeValeSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3045', MelbourneAirportLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3046', GlenroyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3046', HadfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3046', OakParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3047', BroadmeadowsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3047', DallasLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3047', JacanaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3048', CoolarooLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3048', MeadowHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3049', AttwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3049', WestmeadowsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3050', RoyalMelbourneHospitalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3051', HothamHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3051', NorthMelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3052', MelbourneUniversityLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3052', ParkvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3053', CarltonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3053', CarltonSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3054', CarltonNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3055', BrunswickWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3056', BrunswickLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3057', BrunswickEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3058', CoburgLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3058', CoburgNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3058', MerlynstonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3058', MorelandLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3059', GreenvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3060', FawknerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3061', CampbellfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3062', SomertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3063', OaklandsJunctionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3063', YurokeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3064', CraigieburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3064', DonnybrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3064', KalkalloLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3064', MicklehamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3064', RoxburghParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3065', FitzroyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3066', CollingwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3067', AbbotsfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3068', CliftonHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3068', FitzroyNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3070', NorthcoteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3071', ThornburyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3072', NorthlandCentreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3072', PrestonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3072', PrestonSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3072', RegentWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3073', KeonParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3073', ReservoirLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3074', ThomastownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3075', LalorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3076', EppingLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3076', EppingDcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3078', AlphingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3078', FairfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3079', IvanhoeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3079', IvanhoeEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3081', HeidelbergHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3081', HeidelbergRghLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3081', HeidelbergWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3082', MillParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3083', BundooraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3083', KingsburyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3084', BanyuleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3084', EaglemontLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3084', HeidelbergLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3084', RosannaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3084', ViewbankLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3085', MacleodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3085', YallambieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3087', WatsoniaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3088', BriarHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3088', GreensboroughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3088', SaintHelenaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3089', DiamondCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3090', PlentyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3091', YarrambatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3093', LowerPlentyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3094', MontmorencyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3095', ElthamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3095', ElthamNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3095', ResearchLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3096', WattleGlenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3097', BendOfIslandsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3097', KangarooGroundLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3097', WatsonsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3099', ArthursCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3099', CottlesBridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3099', HurstbridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3099', NutfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3099', StrathewenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3101', KewLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3102', KewEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3103', BalwynLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3104', BalwynNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3105', BulleenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3106', TemplestoweLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3107', TemplestoweLowerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3108', DoncasterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3109', DoncasterEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3109', DoncasterHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3109', TunstallSquarePoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3110', NunawadingBcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3111', DonvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3113', NorthWarrandyteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3113', WarrandyteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3114', ParkOrchardsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3115', WongaParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3116', ChirnsideParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3121', BurnleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3121', CremorneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3121', RichmondLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3122', HawthornLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3123', HawthornEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3124', CamberwellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3124', CamberwellNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3124', CamberwellSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3124', CamberwellWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3124', MiddleCamberwellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3125', BennettswoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3125', BurwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3126', CamberwellEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3126', CanterburyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3127', MontAlbertLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3127', SurreyHillsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3128', BoxHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3128', BoxHillSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3128', HoustonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3128', WattleParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3129', BoxHillNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3129', KerrimuirLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3129', MontAlbertNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3130', BlackburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3130', BlackburnNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3130', BlackburnSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3130', LaburnumLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3131', BrentfordSquareLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3131', ForestHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3131', NunawadingLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3132', MitchamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3132', RangeviewLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3133', VermontLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3133', VermontSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3134', RingwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3134', RingwoodNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3134', WarrandyteSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3134', WarranwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3135', BedfordRoadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3135', HeathmontLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3135', RingwoodEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3136', CroydonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3136', CroydonHillsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3136', CroydonNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3136', CroydonSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3137', KilsythLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3137', KilsythSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3138', MooroolbarkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3139', HoddlesCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3139', LaunchingPlaceLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3139', SevilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3139', WandinNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3139', WooriYallockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3139', YellingboLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3140', LilydaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3141', SouthYarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3142', HawksburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3142', ToorakLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3143', ArmadaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3143', ArmadaleNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3144', KooyongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3144', MalvernLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3145', CaulfieldEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3145', CentralParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3145', DarlingLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3145', MalvernEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3146', GlenIrisLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3147', AshburtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3147', AshwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3148', ChadstoneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3148', HolmesglenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3149', MountWaverleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3149', SyndalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3150', GlenWaverleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3150', WheelersHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3151', BurwoodEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3151', BurwoodHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3152', KnoxCityCentreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3152', StudfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3152', WantirnaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3152', WantirnaSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3153', BayswaterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3153', BayswaterNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3154', TheBasinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3155', BoroniaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3156', FerntreeGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3156', LysterfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3156', MountainGateLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3156', UpperFerntreeGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3158', UpweyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3159', MenziesCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3159', SelbyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3160', BelgraveLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3160', TecomaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3161', CaulfieldJunctionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3161', CaulfieldNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3162', CaulfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3162', CaulfieldSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3162', HopetounGardensLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3163', CarnegieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3163', GlenHuntlyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3163', MurrumbeenaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3164', DandenongSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3165', BentleighEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3165', CoatesvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3166', HughesdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3166', HuntingdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3166', OakleighLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3166', OakleighEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3167', OakleighSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3168', ClaytonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3168', NottingHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3169', ClarindaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3169', ClaytonSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3170', MulgraveLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3171', SandownVillageLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3171', SpringvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3172', DingleyVillageLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3172', SpringvaleSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3173', KeysboroughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3174', NobleParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3174', NobleParkNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3175', BangholmeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3175', DandenongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3175', DandenongSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3176', ScoresbyBcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3177', DovetonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3178', RowvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3179', ScoresbyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3180', KnoxfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3181', PrahranLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3181', WindsorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3182', StKildaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3182', StKildaSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3182', StKildaWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3183', BalaclavaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3183', StKildaEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3184', BrightonRoadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3184', ElwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3185', ElsternwickLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3185', GardenvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3185', RipponleaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3186', BrightonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3186', DendyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3187', BrightonEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3187', NorthRoadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3188', HamptonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3188', HamptonEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3188', HamptonNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3189', MoorabbinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3189', MoorabbinEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3189', WishartLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3190', HighettLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3191', SandringhamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3192', CheltenhamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3192', CheltenhamEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3192', SouthlandCentreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3193', BeaumarisLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3193', BlackRockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3193', CromerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3194', MentoneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3194', MoorabbinAirportLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3195', AspendaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3195', AspendaleGardensLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3195', BraesideLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3195', MordiallocLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3195', ParkdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3195', WaterwaysLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3196', BonbeachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3196', ChelseaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3196', ChelseaHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3196', EdithvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3197', CarrumLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3197', PattersonLakesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3198', BelvedereParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3198', SeafordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3199', FrankstonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3199', KaringalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3200', FrankstonNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3200', PinesForestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3201', CarrumDownsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3202', HeathertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3204', BentleighLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3204', MckinnonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3204', OrmondLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3205', SouthMelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3205', SouthMelbourneDcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3206', AlbertParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3206', MiddleParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3207', GardenCityLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3207', PortMelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3211', LittleRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3212', LaraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3214', CorioLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3214', NorlaneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3214', NorthShoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3215', BellParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3215', BellPostHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3215', HamlynHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3215', NorthGeelongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', BelmontLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', FreshwaterCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', GrovedaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', HightonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', MarshallLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', MountDuneedLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', WandanaHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3216', WaurnPondsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3217', DeakinUniversityLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3218', GeelongWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3218', HerneHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3218', ManifoldHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3219', BreakwaterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3219', EastGeelongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3219', NewcombLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3219', StAlbansParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3219', WhittingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3220', GeelongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3220', NewtownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', AnakieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', BarraboolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', BatesfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', BellarineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', CeresLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', FyansfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', GnarwarreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', KennettRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', LovelyBanksLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', MoolapLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', MooraboolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', MurghebolucLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', StaughtonValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', StonehavenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', WallingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', WongarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3221', WyeRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3222', CliftonSpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3222', CurlewisLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3222', DrysdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3222', MannerimLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3222', MarcusHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3223', IndentedHeadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3223', PortarlingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3223', StLeonardsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3224', LeopoldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3225', PointLonsdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3225', QueenscliffLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3226', OceanGroveLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3227', BarwonHeadsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3227', BreamleaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3227', ConnewarreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3228', BellbraeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3228', JanJucLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3228', TorquayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3230', AngleseaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3231', AireysInletLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3231', EasternViewLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3231', FairhavenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3231', MoggsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3232', LorneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3233', ApolloBayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3233', SkenesCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3235', DeansMarshLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3236', ForrestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3237', BeechForestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3237', GellibrandLowerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3238', HordernValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3238', JohannaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3238', LaversHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3239', CarlisleRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3239', ChappleValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3239', GellibrandLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3239', KennedysCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3240', BuckleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3240', ModewarreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3240', MoriacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3240', MountMoriacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3241', BambraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3241', WinchelseaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3241', WurdibolucLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3242', BirregurraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3243', BarwonDownsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3243', GerangameteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3243', MurroonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3243', WarncoortLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', AlvieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', BarongarookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', BarramungaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', CoragulacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', CorunnunLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', DreeiteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', IrrewarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', KawarrenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', LarpentLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', NalangilLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', OnditLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', PirronYallockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', SwanMarshLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', WarrionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', WoolWoolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', YeoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3249', YeodeneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3250', ColacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3250', ElliminytLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3251', BeeacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3251', CundareNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3251', WeeringLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3254', CororookeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3260', BungadorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3260', CamperdownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3260', GnotukLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3260', PomborneitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3260', StonyfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3264', TerangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', BoorcanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', CudgeeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', EllerslieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', FramlinghamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', GarvocLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', KoloraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', NooratLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', PanmureLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3265', TheSistersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3266', CobdenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3266', GlenfyneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3266', JancourtLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3266', JancourtEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3266', SimpsonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3267', ScottsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3268', CurdiesRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3268', CurdievaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3268', NirrandaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3268', NullawarreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3268', TimboonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3269', PortCampbellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3269', PrincetownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3270', PeterboroughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3271', DarlingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3271', DundonnellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3271', PuraPuraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3272', MortlakeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3272', WoorndooLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3273', HexhamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3274', CaramutLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3276', WoolsthorpeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3277', AllansfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3277', MepungaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3277', NaringalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3278', PurnimLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3279', WangoomLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3280', DenningtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3280', WarrnamboolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3281', BushfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3281', GrassmereLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3281', WinslowLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3281', WoodfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3282', IllowaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3282', KoroitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3283', KillarneyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3283', KirkstallLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3283', SouthernCrossLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3283', TowerHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3284', PortFairyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3285', NarrawongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3285', RosebrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3285', StHelensLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3285', ToolongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3285', TyrendarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3285', YambukLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3286', MacarthurLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3287', HawkesdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3287', MinhamiteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3289', PenshurstLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3292', NelsonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3293', GlenthompsonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3293', NarrapumelapSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3294', DunkeldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3294', MoutajupLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3294', VictoriaValleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3300', HamiltonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3301', BroadwaterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3301', ByadukLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3301', StrathkellarLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3301', TarringtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3302', BranxholmeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3303', CondahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3304', DartmoorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3304', HeywoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3304', WinnapLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3305', AllestreeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3305', BolwarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3305', GoraeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3305', PortlandLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3309', DigbyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3310', MerinoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3311', CastertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', CarapookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', ChetwyndLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', DergholmLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', HentyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', KillaraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', LakeMundiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', PoolaijeloLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', SandfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', StrathdownieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3312', WandoValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3314', CavendishLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3315', ColeraineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3315', MelvilleForestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3315', NareenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3317', HarrowLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3318', ConnewirricooLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3318', EdenhopeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3318', LangkoopLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3319', ApsleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3319', BenayeoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3321', InverleighLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3322', CressyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3323', BerrybankLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3323', DuverneyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3324', LismoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3325', DerrinallumLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3328', TeesdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3329', BarunahParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3329', ShelfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3330', RokewoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3331', BannockburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3331', GheringhapLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3331', MaudeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3331', RussellsBridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3331', SheOaksLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3331', SteiglitzLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3331', SutherlandsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3332', LethbridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3333', MeredithLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3334', ElaineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3334', MorrisonsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3335', PlumptonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3335', RockbankLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3337', KurunjangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3337', MeltonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3337', ToolernValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3338', BrookfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3338', ExfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3338', MeltonSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3340', BacchusMarshLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3340', BalliangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3340', CoimadaiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3340', GlenmoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3340', ParwanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3340', RowsleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3341', GreendaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3341', KorobeitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3341', MyrniongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3342', BallanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3342', BerembokeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3342', BlakevilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3342', MountWallaceLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3345', GordonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', AlfredtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', BallaratLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', BallaratNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', BallaratWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', BlackHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', BrownHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', CanadianLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', EurekaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', GoldenPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', LakeWendoureeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', MountClearLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', MountHelenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', MountPleasantLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', NerrinaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', RedanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3350', SovereignHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', BerringaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', CapeClearLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', CarnghamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', ChepstoweLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', HaddonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', HillcrestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', IllabarookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', LakeBolacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', MinineraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', NerrinNerrinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', RokewoodJunctionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', RossCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', ScarsdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', SmythesCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', SmythesdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', SnakeValleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', StreathamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3351', WestmereLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', AddingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', BarksteadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', BlowhardLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', BolwarrahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', BullarookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', BungareeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', BurrumbeetLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', CambrianHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', CardiganLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', ClarendonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', ClarkesHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', CorindhapLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', DeanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', DereelLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', DunnstownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', DurhamLeadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', EnfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', InvermayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', LalLalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', LearmonthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', LeighCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', LextonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', MagpieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', MillbrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', MinersRestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', MitchellParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', MollongghipLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', MountEgertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', MountRowanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', NapoleonsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', NavigatorsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', PootillaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', ScotsburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', SpringbankLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', WallaceLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', WarrenheipLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', WaubraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', WeatherboardLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', WernethLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', WindermereLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3352', YendonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3353', BallaratLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3354', BakeryHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3354', BallaratMcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3355', MitchellParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3355', WendoureeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3355', WendoureeVillageLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3356', DelacombeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3356', SebastopolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3357', BuninyongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3360', LintonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3361', CarranballacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3361', SkiptonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3363', CreswickLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', AllendaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', AscotLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', BlampiedLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', BroomfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', CampbelltownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', CoghillsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', KingstonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', NewlynLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', RocklynLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', SmeatonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3364', UllinaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3370', ClunesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3371', EvansfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3371', StonyCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3371', TalbotLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3373', BeaufortLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3373', TrawallaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3375', BayindeenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3375', BuangorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3377', AraratLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3377', CrowlandsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3377', GreatWesternLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3377', MaroonaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3377', MoystonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3377', WarrakLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3378', TatyoonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3379', ChatsworthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3379', StavelyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3379', WickliffeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3379', WillauraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3380', StawellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3381', BarklyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3381', CampbellsBridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3381', HallsGapLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3381', LubeckLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3381', PomonalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3384', LandsboroughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3384', NavarreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3385', DadswellsBridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3385', GlenorchyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3387', MarnooLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3388', BanyenaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3388', RupanyupLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3390', MurtoaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3391', BrimLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3392', MinyipLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3392', SheepHillsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3393', WarracknabealLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3395', BeulahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3396', HopetounLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3400', HorshamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', DooenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', GymbowenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', JungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', KarnakLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', QuantongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', RiversideLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', RocklandsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', TelangatukEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', ToolondoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3401', WallupLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3402', HorshamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3407', BalmoralLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3407', GatumLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3407', VaseyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3409', DouglasLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3409', MitreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3409', NatimukLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3409', NoradjuhaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3409', WombelanoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3412', GorokeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3413', MinimayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3413', NeuarpurrLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3413', OzenkadnookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3413', PeronneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3414', AntwerpLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3414', DimboolaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3414', TarranyurkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3415', MiramLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3418', GerangGerungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3418', KiataLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3418', LawloitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3418', NhillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3418', YanacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3419', KanivaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3420', LillimurLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3420', ServicetonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3423', JeparitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3424', RainbowLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3424', YaapeetLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3427', DiggersRestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3428', BullaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3429', SunburyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3430', ClarkefieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3431', RiddellsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3432', BolindaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3434', KerrieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3434', RomseyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3435', LancefieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3437', BullengarookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3437', GisborneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3438', NewGisborneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3440', MacedonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3441', MountMacedonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3442', AshbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3442', CarlsruheLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3442', HesketLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3442', NewhamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3442', RochfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3442', WoodendLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3444', KynetonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3444', MiaMiaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3444', RedesdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3444', TyldenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3446', DrummondNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3446', MalmsburyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3447', TaradaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3448', ElphinstoneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3448', MetcalfeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3448', SuttonGrangeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3450', CastlemaineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3451', BarkersCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3451', CampbellsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3451', ChewtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3451', FryerstownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3451', GoldenPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3451', GuildfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3451', MucklefordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3453', HarcourtLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3453', RavenswoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3458', BlackwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3458', FernHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3458', LerderdergLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3458', NewburyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3458', TrenthamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3460', DaylesfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', BullartoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', DrummondLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', FranklinfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', GlenlyonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', HepburnSpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', KorweingubooraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', LyonvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', MuskLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3461', YandoitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3462', MucklefordSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3462', NewsteadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3463', BaringhupLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3463', LaanecoorieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3463', MaldonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3463', ShelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3463', WoodstockWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3464', CarisbrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', AlmaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', CraigieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', DaisyHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', GoldenPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', MajorcaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', MaryboroughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', NatteYallockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', RathscarLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', SimsonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3465', WareekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3467', AvocaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3468', AmphitheatreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3468', MountLonarchLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3469', ElmhurstLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3472', BetBetLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3472', BetleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3472', DunollyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3472', EddingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3472', GoldsboroughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3472', InkermanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3472', MoliagulLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3475', BealibaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3475', EmuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3475', LoganLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3478', MoonambelLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3478', RedbankLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3478', StArnaudLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3478', StuartMillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3480', AreegraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3480', CorackLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3480', DonaldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3480', LitchfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3482', WatchemLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3483', BirchipLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3485', WatchupgaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3485', WoomelangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3487', LascellesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3488', SpeedLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3489', TempyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3490', OuyenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3491', PatchewollockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3494', CarwarpLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3494', ColignanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3494', NangilocLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3496', CardrossLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3496', CullulleraineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3496', MeringurLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3496', RedCliffsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3496', SunnycliffsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3496', WerrimullLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3498', IrympleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3500', MilduraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3500', ParingiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3501', KoorlongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3501', MilduraCentrePlazaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3501', NicholsPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3502', MilduraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3505', CabaritaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3505', MerbeinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3506', CowangieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3507', WalpeupLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3509', UnderboolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3512', MurrayvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3515', MarongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3516', BridgewaterOnLoddonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3516', DerbyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3516', LeichardtLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3517', InglewoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3517', JarklinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3517', SalisburyWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3517', SerpentineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3518', BerrimalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3518', BorungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3518', FernihurstLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3518', MysiaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3518', SkinnersFlatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3518', WedderburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3518', WoolshedFlatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3520', KorongValeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3521', PyalongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3522', TooboracLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3523', CosterfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3523', HeathcoteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3523', KnowsleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3525', CharltonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3525', WychitellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3527', WycheproofLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3529', NullawilLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3530', CulgoaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3531', BerriwillockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3533', NandalyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3533', SeaLakeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3537', BoortLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3537', CanaryIslandLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3537', GredgwinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3540', CannieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3540', QuambatookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3542', LalbertLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3544', UltimaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3544', WaitchieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3546', BoltonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3546', ChinkapookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3546', ManangatangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3549', RobinvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', BendigoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', KenningtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', LongGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', NorthBendigoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', QuarryHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', SandhurstEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', SpringGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', StrathdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', TysonsReefLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3550', WhiteHillsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', ArnoldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', AxedaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', EppalockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', EpsomLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', HuntlyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', JunortounLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', LlanellyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', LockwoodSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', LongleaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', MaidenGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', MandurangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', MandurangSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', MurphysCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', NewbridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', PainswickLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', StrathfieldsayeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', TarnagullaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', ToolleenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3551', WoodstockOnLoddonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3552', BendigoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3554', BendigoDcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3555', GoldenSquareLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3555', KangarooFlatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3556', CaliforniaGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3556', CampbellsForestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3556', EaglehawkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3556', MyersFlatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3556', SebastianLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3557', BarnadownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3557', FostervilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3557', GoornongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3558', ElmoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3558', HunterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3559', ColbinabbinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3559', CoropLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3561', BamawmLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3561', NanneellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3561', RochesterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3562', TorrumbarryLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3563', LockingtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3564', EchucaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3564', KanyapellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3564', PathoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3564', SimmieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3565', KottaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3566', GunbowerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3567', LeitchvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3568', CohunaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3570', AuchmoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3570', RaywoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3571', DingeeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3571', KamarookaNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3571', TandarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3572', MillooLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3572', PiavellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3572', PrairieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3572', TennysonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3573', CalivilLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3573', MitiamoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3575', MinchaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3575', PyramidHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3575', YarrawallaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3576', DurhamOxLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3579', KerangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3579', MacornaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3579', MeeringWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3579', MurrabitLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3580', KoondrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3581', LakeCharmLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3583', TrescoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3584', LakeBogaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3585', SwanHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3588', WoorinenSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3589', WoorinenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3590', BeverfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3591', ViniferaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3594', NyahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3595', NyahWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3596', WoodWoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3597', PiangilLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3599', BoundaryBendLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3607', TabilkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3608', BailiestonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3608', GoulburnWeirLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3608', GraytownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3608', NagambieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3608', WahringLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3610', DhurringileLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3610', MurchisonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3612', MooraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3612', RushworthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3612', WanaltaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3614', ToolambaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3616', CoomaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3616', GilliestonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3616', HarstonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3616', TaturaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3617', ByrnesideLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3618', MerrigumLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3619', KyabramLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3620', KyabramLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3620', KyabramSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3620', LancasterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3620', WyunaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3621', KoyugaSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3621', TongalaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3621', YambunaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3622', KoyugaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3622', StrathallanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3623', StanhopeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3624', GirgarreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3629', ArdmonaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3629', CoomboonaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3629', MooroopnaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3629', UnderaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3630', BrandittLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3630', CaniamboLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3630', ColliverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3630', DunkirkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3630', SheppartonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', ArcadiaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', CosgroveLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', KiallaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', KiallaEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', KiallaWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', LemnosLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', PineLodgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', SheppartonEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3631', TamleughWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3632', SheppartonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3633', CongupnaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3634', BunbarthaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3634', InvergordonSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3634', KatandraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3634', MarungiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3634', TallygaroopnaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3635', WunghnuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3636', InvergordonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3636', NumurkahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3637', WaaiaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3638', KotupnaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3638', NathaliaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3639', BarmahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3639', PicolaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3640', KatungaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3641', StrathmertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3643', CobramLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3644', BaroogaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3644', CobramLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3644', YarroweyahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3646', DookieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3646', YabbaNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3646', YouanmiteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3647', DookieCollegeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3649', KatamatiteLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3658', BroadfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3658', ClonbinaneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3658', HazeldeneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3658', ReedyCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3658', StrathCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3659', TallarookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3660', KerrisdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3660', SeymourLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3660', TrawoolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3661', SeymourLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3662', PuckapunyalMilpoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3663', MangaloreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3664', AvenelLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3665', LocksleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3665', LongwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3666', BalmattumLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3666', CreightonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3666', EuroaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3666', GooramLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3666', KithbrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3666', RuffyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3666', StrathbogieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3669', BohoSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3669', CreekJunctionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3669', GowangardieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3669', KoondaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3669', TamleughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3669', VioletTownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3670', BaddaginnieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3670', WarrenbayneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3671', BenallaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3672', BenallaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3673', LimaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3673', MolyullahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3673', SwanpoolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3673', TatongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3673', WintonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3675', GlenrowanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3675', GretaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3675', HansonvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3676', WangarattaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3677', AppinParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3677', WangarattaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3677', YarrungaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3678', BoorhamanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3678', CheshuntLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3678', EvertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3678', MilawaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3678', OxleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3682', LilliputLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3682', NorongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3682', SpringhurstLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3683', ChilternLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3685', BoorhamanNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3685', BrownsPlainsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3685', GooramaddaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3685', PrenticeNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3685', RutherglenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3687', WahgunyahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3688', BarnawarthaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3689', WodongaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3690', WodongaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3690', WodongaPlazaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', AllansFlatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', BarandudaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', BellbridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', BerringamaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', BethangaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', BonegillaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', DederangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', EbdenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', GlenCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', GundowringLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', HumeWeirLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', KergunyahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', KiewaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', KillaraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', LenevaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', LonePineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', LucyvaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', StaghornFlatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', TalgarnoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3691', TangambalangaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3694', BandianaMilpoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3695', CharleroiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3695', HuonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3695', RedBluffLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3695', SandyCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3697', TawongaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3698', TawongaSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3699', BogongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3699', FallsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3699', MountBeautyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3700', TallangattaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3701', DartmouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3701', EskdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3701', GranyaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3701', MittaMittaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3701', ShelleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3704', KoetongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3705', CudgewaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3707', BiggaraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3707', BringenbrongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3707', ColacColacLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3707', CorryongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3707', NarielValleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3707', ThowglaValleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3707', TowongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3708', TintaldraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3709', BurrowyeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3709', GuysForestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3709', MountAlfredLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3709', WalwaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3711', BuxtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3712', RubiconLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3712', ThorntonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3713', EildonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3714', AcheronLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3714', AlexandraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3714', CathkinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3714', KoriellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3714', TaggertyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3715', AnconaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3715', MertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3715', WoodfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3717', FlowerdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3717', GlenburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3717', HomewoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3717', MurrindindiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3717', YeaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3718', MolesworthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3719', GoburLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3719', KanumbraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3719', YarckLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3720', BonnieDoonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3722', MansfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3722', MirimbahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3723', GoughsBayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3723', JamiesonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3723', MatlockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3723', MerrijigLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3723', MountBullerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3723', WoodsPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3724', MansfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3725', BoxwoodLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3725', GoorambatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3726', BungeetLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3726', DevenishLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3726', ThoonaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3727', LakeRowanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3727', StJamesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3727', YundoolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3728', TungamahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3728', WilbyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3730', BundalongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3730', TelfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3730', YarrawongaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3732', MoyhuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3733', WhitfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3735', BowmansForestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3735', WhoroulyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3736', MyrtlefordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3737', BuffaloRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3737', DandongadaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3737', GapstedLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3737', MudgegongaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3737', MyrtlefordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3738', OvensLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3739', EurobinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3740', MountBuffaloLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3740', PorepunkahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3741', BrightLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3741', FreeburghLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3741', HarrietvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3741', HothamHeightsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3741', MountHothamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3744', WandiligongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3746', EldoradoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3747', BaarmuthaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3747', BeechworthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3747', MurmungeeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3747', StanleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3747', WoorageeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3749', YackandandahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3750', WollertLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3751', WoodstockLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3752', SouthMorangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3753', BeveridgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3754', DoreenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3754', MerndaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3755', YanYeanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3756', DarraweitGuimLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3756', HiddenValleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3756', UpperPlentyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3756', WallanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3757', EdenParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3757', HumevaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3757', KinglakeWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3757', PheasantCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3757', WhittleseaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3758', HeathcoteJunctionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3758', WandongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3759', PantonHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3760', SmithsGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3761', StAndrewsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3762', BylandsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3763', KinglakeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3764', KilmoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3765', MontroseLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3766', KaloramaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3767', MountDandenongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3770', ColdstreamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3770', GruyereLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3775', ChristmasHillsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3775', DixonsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3775', SteelsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3775', YarraGlenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3777', HealesvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3777', ToolangiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3778', NarbethongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3779', MarysvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3781', CockatooLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3782', AvonsleighLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3782', ClematisLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3782', EmeraldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3782', MacclesfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3783', GembrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3786', FernyCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3787', SassafrasLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3787', SassafrasGullyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3788', OlindaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3789', SherbrookeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3791', KallistaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3792', ThePatchLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3793', MonbulkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3795', SilvanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3796', MountEvelynLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3797', GilderoyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3797', GladysdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3797', PowelltownLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3797', ThreeBridgesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3797', YarraJunctionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3799', McmahonsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3799', MillgroveLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3799', WarburtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3799', WesburnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3800', MonashUniversityLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3802', EndeavourHillsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3803', HallamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3804', NarreWarrenEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3804', NarreWarrenNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3805', FountainGateLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3805', NarreWarrenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3806', BerwickLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3806', HarkawayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3807', BeaconsfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3807', GuysHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3808', BeaconsfieldUpperLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3809', OfficerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3810', PakenhamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3810', PakenhamUpperLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3812', MaryknollLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3812', NarNarGoonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3813', TynongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3814', CoraLynnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3814', GarfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3814', VervaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3815', BunyipLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3815', IonaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3815', TonimbukLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3816', LabertoucheLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3816', LongwarryLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3816', ModellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3818', AthloneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3818', DrouinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3818', RipplebrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3820', WarragulLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3821', BulnBulnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3821', NilmaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3821', RokebyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3822', DarnumLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3823', YarragonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3824', ChildersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3824', ThorpdaleSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3824', TrafalgarLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', AberfeldyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', CoalvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', EricaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', HernesOakLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', HillEndLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', MoeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', MoondarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', NewboroughLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', RawsonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', TanjilSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', WalhallaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', WillowGroveLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3825', YallournNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3831', NeerimLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3831', NeerimSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3832', NeerimJunctionLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3833', NoojeeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3835', ThorpdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3840', JeeralangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3840', MidValleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3840', MorwellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3841', GippslandMcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3842', ChurchillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3844', CalligneeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3844', CarrajungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3844', FlynnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3844', KoornallaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3844', TraralgonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3844', TyersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3844', WillungSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3847', NambrokLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3847', RosedaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3847', WillungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3850', SaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3850', WurrukLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', BundalaguahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', DarrimanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', KilmanyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', LochSportLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', LongfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', 'MYRTLEBANK', CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', ParadiseBeachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3851', SeasprayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3852', EastSaleRaafLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3853', SaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3854', GlengarryLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3856', ToongabbieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3857', CowwarrLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3858', GlenmaggieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3858', HeyfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3858', LicolaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3858', SeatonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3859', NewryLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3859', TinambaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3860', BoisdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3860', BriagolongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3860', MaffraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3860', ValenciaCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3862', DargoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3862', MeerlieuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3862', StratfordLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3864', FernbankLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3865', LindenowLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3869', JumbukLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3869', YinnarLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3870', BoolarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3871', DarlimurlaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3871', MirbooNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3873', GormandaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3874', CarrajungSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3874', WoodsideLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', BairnsdaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', BengwordenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', CaluluLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', HillsideLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', LindenowSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', LucknowLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', MountTaylorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', NewlandsArmLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', SarsfieldLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', WalpaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3875', WyYungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3878', EaglePointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3880', PaynesvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3880', RaymondIslandLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3882', NicholsonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', BruthenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', BuchanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', ButchersRidgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', GelantipyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', MossifaceLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', TamboUpperLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', WTreeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', WiseleighLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3885', WulgulmerangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3886', NewmerellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3887', LakeTyersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3887', NowaNowaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3887', WairewaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3888', BendocLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3888', BonangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3888', MarloLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3888', OrbostLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3888', TubbutLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3889', BemmRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3889', CabbageTreeCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3889', ClubTerraceLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3889', CombienbarLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3890', CannRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3890', NoorinbeeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3891', GenoaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3891', GipsyPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3892', MallacootaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3893', TamboCrossingLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3895', EnsayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3896', SwiftsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3898', DinnerPlainLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3898', OmeoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3900', BenambraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3902', JohnsonvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3903', SwanReachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3904', MetungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3909', KalimnaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3909', LakeTyersBeachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3909', LakesEntranceLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3910', LangwarrinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3911', BaxterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3911', LangwarrinSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3912', PearcedaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3912', SomervilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3913', TyabbLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3915', HastingsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3915', TuerongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3916', MerricksLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3916', ShorehamLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3918', BitternLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3919', CribPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3920', HmasCerberusLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3921', TankertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3922', CowesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3923', RhyllLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3925', CapeWoolamaiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3925', NewhavenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3925', SanRemoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3926', BalnarringLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3926', MerricksBeachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3926', MerricksNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3927', SomersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3928', MainRidgeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3929', FlindersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3930', KunyungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3930', MountElizaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3931', MorningtonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3933', MoorooducLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3934', MountMarthaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3936', ArthursSeatLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3936', DromanaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3936', SafetyBeachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3937', Red_HillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3937', RedHillSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3938', MccraeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3939', FingalLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3939', RosebudLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3940', RosebudWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3941', RyeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3941', StAndrewsBeachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3941', TootgarookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3942', BlairgowrieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3943', SorrentoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3944', PortseaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3945', JeethoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3945', KroweraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3945', LochLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3945', WoodleighLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3946', BenaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3950', KorumburraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3951', JumbunnaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3951', KardellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3951', KongwakLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3951', OuttrimLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3953', BerrysCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3953', HallstonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3953', LeongathaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3953', NerrenaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3954', KoonwarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3956', DumbalkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3956', MeeniyanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3956', TarwinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3956', TarwinLowerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3956', VenusBayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3956', WalkervilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3956', WalkervilleSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3957', StonyCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3958', BuffaloLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3959', FishCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3959', SandyPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3959', WaratahBayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3960', BennisonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3960', FosterLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3960', MountBestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3960', TidalRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3960', YanakieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3962', AgnesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3962', TooraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3964', PortFranklinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3965', PortWelshpoolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3966', BinginwarriLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3966', WelshpoolLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3967', HedleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', AlbertonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', BalookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', DevonNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', GelliondaleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', MacksCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', PortAlbertLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', TarravilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', WonWronLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3971', YarramLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3975', LynbrookLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3975', LyndhurstLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3976', HamptonParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', CannonsCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', CranbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', CranbourneNorthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', CranbourneSouthLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', DevonMeadowsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', FiveWaysLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', SandhurstLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3977', SkyeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3978', CardiniaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3978', ClydeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3979', AlmurtaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3979', GlenAlvieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3979', KernotLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3980', BlindBightLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3980', TooradinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3980', WarneetLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3981', BaylesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3981', CataniLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3981', DalmoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3981', HeathHillLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3981', KooWeeRupLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3981', YannathanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', CaldermeadeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', CorinellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', CoronetBayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', GrantvilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', JamJerrupLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', LangLangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', MonomeithLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', TenbyPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3984', TheGurdiesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3987', NyoraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3988', PoowongLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3990', GlenForbesLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3991', BassLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3992', DalystonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3995', ArchiesCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3995', CapePatersonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3995', KilcundaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3995', SouthDudleyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3995', WonthaggiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3995', WoolamaiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('3996', InverlochLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('4000', BrisbaneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4000', BrisbaneAdelaideStreetLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4000', SpringHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4001', 'BRISBANE', CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4001', CentralPlazaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4001', RiversideCentreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4001', WaterfrontPlaceLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4002', CityEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4002', WintergardenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4003', GeorgeStreetLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4004', SpringHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4005', NewFarmLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4006', BowenBridgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4006', BowenHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4006', FortitudeValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4006', HerstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4006', NewsteadLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoAUPostCode.InsertPostCode('4007', AscotLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4007', HamiltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4008', PinkenbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4009', EagleFarmLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4010', AlbionLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4011', ClayfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4011', HendraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4012', NundahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4012', ToombulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4012', WavellHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4012', WavellHeightsNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4013', NorthgateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4014', BanyoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4014', NudgeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4014', NudgeeBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4014', VirginiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4017', BrackenRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4017', BrightonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4017', DeagonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4017', SandgateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4017', ShorncliffeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4018', FitzgibbonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4018', TaigumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4019', ClontarfLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4019', MargateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4019', MargateBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4019', WoodyPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4020', RedcliffeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4020', ScarboroughLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4021', KippaRingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4022', RothwellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4025', BulwerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4025', CapeMoretonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4025', CowanCowanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4025', KooringalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4025', TangaloomaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4029', RoyalBrisbaneHospitalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4030', LutwycheLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4030', WindsorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4030', WooloowinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4031', GordonParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4031', KedronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4032', ChermsideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4032', ChermsideWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4034', AspleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4034', BoondallLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4034', CarseldineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4034', GeebungLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4034', ZillmereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4035', AlbanyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4035', BridgemanDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4036', BaldHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4037', EatonsHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4051', AlderleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4051', EnoggeraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4051', GaythorneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4051', GrangeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4051', NewmarketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4051', WilstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4053', BrooksideCentreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4053', EvertonHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4053', EvertonParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4053', McdowallLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4053', MitcheltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4053', StaffordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4053', StaffordHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4054', AranaHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4054', KeperraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4055', BunyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4055', FernyGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4055', FernyHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4055', UpperKedronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4059', KelvinGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4059', KelvinGroveBcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4059', KelvinGroveDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4059', Red_HillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4060', AshgroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4060', DorringtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4061', TheGapLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4064', MiltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4064', PaddingtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4065', BardonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4066', AuchenflowerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4066', MountCootThaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4066', ToowongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4067', StLuciaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4068', ChelmerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4068', IndooroopillyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4068', TaringaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', BrookfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', ChapelHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', FigTreePocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', KenmoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', KenmoreHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', PinjarraHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', PullenvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4069', UpperBrookfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4070', AnsteadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4070', BellbowrieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4070', MoggillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4072', UniversityOfQueenslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4073', SeventeenMileRocksLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4073', SinnamonParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', JamboreeHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', JindaleeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', MiddleParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', MountOmmaneyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', RiverhillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', SumnerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', SumnerParkBcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4074', WestlakeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4075', CorindaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4075', GracevilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4075', GracevilleEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4075', OxleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4075', SherwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4076', DarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4076', WacolLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4077', DoolandellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4077', DurackLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4077', InalaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4077', RichlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4078', EllenGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4078', ForestLakeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4101', HighgateHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4101', SouthBrisbaneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4101', WestEndLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4102', BurandaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4102', DuttonParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4102', WoolloongabbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4103', AnnerleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4103', FairfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4104', YerongaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4105', MoorookaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4105', TennysonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4105', YeerongpillyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4106', BrisbaneMarketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4106', RockleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4106', RockleaDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4107', SalisburyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4108', ArcherfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4108', CoopersPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4109', MacgregorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4109', RobertsonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4109', SunnybankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4109', SunnybankHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4110', AcaciaRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4110', AcaciaRidgeDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4110', HeathwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4110', LarapintaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4110', PallaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4110', WillawongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4111', NathanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4112', KurabyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4113', EightMilePlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4113', RuncornLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4114', KingstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4114', LoganCentralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4114', LoganCityDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4114', WoodridgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4115', AlgesterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4115', ParkinsonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4116', CalamvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4116', DrewvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4116', StrettonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4117', BerrinbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4117', KarawathaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4118', BrownsPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4118', ForestdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4118', HeritageParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4118', HillcrestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4118', RegentsParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4119', UnderwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4120', GreenslopesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4120', StonesCornerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4121', HollandParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4121', HollandParkWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4121', TarragindiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4121', WellersHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4122', MansfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4122', MountGravattLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4122', MountGravattEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4122', UpperMountGravattLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4122', WishartLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4123', RochedaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4123', RochedaleSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4124', BoroniaHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4124', GreenbankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4125', MunrubenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4125', ParkRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4127', DaisyHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4127', PriestdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4127', SlacksCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4127', SpringwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4128', ShailerParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4128', TanahMerahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4129', LoganholmeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4130', CarbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4130', CornubiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4131', LoganleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4131', MeadowbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4132', CrestmeadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4132', MarsdenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4133', ChambersFlatLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4133', LoganReserveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4133', WaterfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4133', WaterfordWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4151', CoorparooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4152', CampHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4152', CarinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4152', CarinaHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4152', CarindaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4153', BelmontLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4154', GumdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4154', RansomeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4154', WakerleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4155', ChandlerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4156', BurbankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4156', MackenzieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4157', CapalabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4157', CapalabaWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4157', SheldonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4158', ThornesideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4159', BirkdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4160', OrmistonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4160', WellingtonPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4161', AlexandraHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4163', ClevelandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4163', RabyBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4164', ThornlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4165', MountCottonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4165', RedlandBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4165', VictoriaPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4169', EastBrisbaneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4169', KangarooPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4170', CannonHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4170', MorningsideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4170', NormanParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4170', SevenHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4171', BalmoralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4171', BulimbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4171', HawthorneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4172', MurarrieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4173', TingalpaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4173', TingalpaBcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4173', TingalpaDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4174', HemmantLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4178', LyttonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4178', PortOfBrisbaneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4178', WynnumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4178', WynnumNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4178', WynnumWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4179', LotaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4179', ManlyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4179', ManlyWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4183', AmityLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4183', AmityPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4183', DunwichLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4183', PointLookoutLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4184', CoochiemudloIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4184', KarragarraIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4184', LambIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4184', MacleayIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4184', PeelIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4184', RussellIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4205', BethaniaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', AlbertonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', BahrsScrubLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', BannockburnLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', BeenleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', BelivahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', BuccanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', CedarCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', EaglebyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', EdensLandingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', HolmviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', LoganVillageLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', LuscombeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', MountWarrenParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', StapyltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', SteiglitzLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', WindarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', WolffdeneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', WoongoolbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4207', YatalaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4208', GilbertonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4208', JacobsWellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4208', KingsholmeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4208', NorwellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4208', OrmeauLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4208', OrmeauHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4209', CoomeraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4209', PimpamaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4209', UpperCoomeraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4209', WillowValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4210', GuanabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4210', MaudslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4210', OxenfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4210', StudioVillageLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4210', WongawallanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', AdvancetownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', BeechmontLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', CarraraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', ClagirabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', GavenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', GilstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', HighlandParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', MountNathanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', NaturalBridgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', NerangLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', NuminbahValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4211', PacificPinesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4212', HelensvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4212', HelensvaleTownCentreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4212', HopeIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4212', SanctuaryCoveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4213', AustinvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4213', BonoginLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4213', MudgeerabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4213', SpringbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4213', TallaiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4213', WorongaryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4214', ArundelLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4214', ArundelBcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4214', ArundelDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4214', AshmoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4214', MolendinarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4214', ParkwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4215', ChirnParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4215', LabradorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4215', SouthportLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4216', BiggeraWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4216', CoombabahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4216', HollywellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4216', ParadisePointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4216', RunawayBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4216', SouthStradbrokeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4217', BenowaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4217', BundallLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4217', ChevronIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4217', IsleOfCapriLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4217', MainBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4217', SurfersParadiseLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4218', BroadbeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4218', BroadbeachWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4218', MermaidBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4218', MermaidWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4218', NobbyBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4218', PacificFairLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4218', QSupercentreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4219', WestBurleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4220', BurleighHeadsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4220', BurleighTownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4220', BurleighWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4220', MiamiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4221', ElanoraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4221', PalmBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4223', CurrumbinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4223', CurrumbinDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4223', CurrumbinValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4223', CurrumbinWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4224', TugunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4225', BilingaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4225', CoolangattaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4226', ClearIslandWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4226', MerrimacLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4226', RobinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4227', ReedyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4227', VarsityLakesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4228', TallebudgeraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4228', TallebudgeraValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4229', BondUniversityLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4230', RobinaTownCentreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4270', TamborineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4271', EagleHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4272', MountTamborineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4272', NorthTamborineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4275', CanungraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4275', LamingtonNationalParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4275', WitherenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4275', WonglepongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4280', JimboombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4285', BeaudesertLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4285', CedarGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4285', CedarValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4285', KooralbynLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4287', PalenCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4287', RathdowneyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', AugustineHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', BellbirdParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', BrookwaterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', CamiraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', CaroleParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', GailesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', GoodnaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', SpringfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4300', SpringfieldLakesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4301', CollingwoodParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4301', RedbankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4301', RedbankPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4303', DinmoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4303', NewChumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4303', RiverviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4304', BlackstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4304', BoovalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4304', BundambaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4304', EbbwValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4304', NorthBoovalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4304', SilkstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', BasinPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', BrassallLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', BremerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', ChurchillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', CoalfallsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', EastIpswichLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', EasternHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', FlindersViewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', IpswichLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', LeichhardtLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', LimestoneRidgesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', MooresPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', NewtownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', NorthIpswichLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', NorthTivoliLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', OneMileLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', RaceviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', SadliersCrossingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', TivoliLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', WestIpswichLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', WoodendLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', WulkurakaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4305', YamantoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', AmberleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', AvocaValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BanksCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BarellanPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BenarkinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BenarkinNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BlackbuttLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BlackbuttNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BlackbuttSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BlacksoilLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', BorallonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', CherryCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', ChuwarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', ColintonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', DeebingHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', FairneyViewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', FernvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', GoogaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', GoolmanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', HaigsleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', HarlinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', IronbarkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', KaraleeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', KaranaDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', KholoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', LakeManchesterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', LinvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', MooreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', MountBingaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', MountCrosbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', MountStanleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', MuirleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', NukkuLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', PeakCrossingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', PineMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', RipleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', SouthRipleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', TeelahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', ThagoonaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', WalloonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4306', WillowbankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4307', HarrisvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4309', AratulaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4309', FrazerviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4309', KalbarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4309', WashpoolLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4310', BoonahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4310', RoadvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', BuarabaSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', ChurchableLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', CoominyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', LockyerWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', LowoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', MindenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', PatrickEstateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4311', WivenhoeHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', BrydenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', CaboonbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', CrossdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', EskLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', GlenEskLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', MoombraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', MountByronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', RedbankCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4312', SomersetDamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', BraemoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', CooeeimbardiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', FulhamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', LowerCressbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', OttabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', ScrubCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', ToogoolawahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4313', YimbunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', GrandchesterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', LanefieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', LowerMountWalkerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', MerryvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', MountMortLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', MountWalkerWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', RosewoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', TallegallaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4340', TheBluffLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4341', KensingtonGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4341', LaidleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4341', LaidleyCreekWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4341', LaidleyHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4341', LaidleyNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4341', PlainlandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4341', TownsonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4342', ForestHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4342', GlenCairnLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4342', GlenoreGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4342', LynfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', AdareLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', BlackDuckCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', CaffeyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', CollegeViewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', EastHaldonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', FordsdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', GattonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', IngoldsbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', JunctionViewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', LakeClarendonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', LawesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', LefthandBranchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', LowerTenthillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', MortonValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', MountSylviaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', PlacidHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', RingwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', RocksideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', RopeleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', SpringCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', UpperTenthillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', VinegarHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', WoodbineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4343', WoodlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', CarpendaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', EgyptLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', FlagstoneCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', HelidonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', HelidonSpaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', LilydaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', LockyerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', RockmountLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', SeventeenMileLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', SilverRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', StockyardLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4344', UpperFlagstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4345', GattonCollegeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4346', MarburgLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4347', GranthamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4347', MaMaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4347', MountWhitestoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4347', VeradillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4347', WinwillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', AtholLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', CentenaryHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', CranleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', DarlingHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', DraytonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', EastToowoombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', FinnieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', GlenvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', HarlaxtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', HarristownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', KearneysSpringLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', MiddleRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', MountKynochLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', MountLoftyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', MountRascalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', NewtownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', NorthToowoombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', NorthlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', PrinceHenryHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', RangevilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', RedwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', RockvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', SouthToowoombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', SouthtownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', ToowoombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', ToowoombaEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', ToowoombaSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', ToowoombaWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', TopCampLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', WellcampLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', WestbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', WilsontonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', WilsontonHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4350', WyallaPlazaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', AmiensLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', BallardLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', BapaumeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', BirnamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', BlanchviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', BranchviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', CabarlahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', CementMillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', CondaminePlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', CutellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', DerrymoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', DjuanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', DoctorCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', EvergreenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', FifteenMileLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', GehamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', GoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', GowrieLittlePlainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', GrapetreeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', GroomsvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', HighfieldsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', HighgroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', IredaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', KararaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', KleintonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', KulpiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', KurrowahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', LilyvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', LyraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MaclaganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MallingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MeringandanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MeringandanWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MerrittsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MountLukeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MuniganeenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', MurphysCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', NarkoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', NorthMaclaganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', OmanAmaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PalmtreeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PampasLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PecheyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PerangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PerseveranceLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PostmansRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PozieresLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', PrestonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', RamsayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', RangemoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', RavensbourneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', SevernleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', SpringBluffLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', StAubynLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', ThornvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', ToowoombaMcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', TummavilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', UmbiramLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', UpperLockyerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', WhichelloLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', WhiteMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', WithcottLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', WoodleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', WoolmerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', WutulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', WyreemaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', YalangurLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4352', YandillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4353', BergenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4353', EastCooyarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4353', HadenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4354', DouglasLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4354', GoombungeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4355', CrowsNestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4355', GlenavenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4355', PiercesCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4355', TheBluffLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', BongeenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', BroxburnLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', EvansleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', IrongateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', KincoraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', LinthorpeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', MotleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', MountTysonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', NorthBranchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', NorwinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', PittsworthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', PurrawundaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', RossvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', ScrubbyMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', SpringsideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', StHelensLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', StoneleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4356', YarranleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', BringalilyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', BulliCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', CanningCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', CaptainsMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', ClontarfLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', CondamineFarmsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', CypressGardensLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', DomvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', ForestRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', GraysGateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', KooroongarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', LavelleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', 'LEMONTREE', CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', MillmerranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', MillmerranDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', MillmerranWoodsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', MillwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', MountEmlynLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', PunchsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', RockyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', StonehengeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', ThePinesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', TurallinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', WattleRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', WesternCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4357', WoondulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4358', CambooyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4358', FeltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4358', FeltonSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4358', ValeViewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4359', AscotLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4359', BudgeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4359', GreenmountLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4359', GreenmountEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4359', WestHaldonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4360', NobbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', CliftonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', EllangowanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', ElphinstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', HeadingtonHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', KingsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', ManapouriLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', MissenFlatLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', MountMolarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', NeviltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', RyefordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', SandyCampLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', SpringCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4361', VictoriaHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4362', AlloraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4362', DeucharLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4362', GoomburraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4362', MountMarshallLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4363', SouthbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4364', BrooksteadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4365', LeyburnLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4370', MaryvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4370', WarwickLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4371', EmuValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4371', YanganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4372', TannymorelLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4373', KillarneyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4374', DalveenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4375', CottonvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4376', ThulimbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4377', TheSummitLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4378', ApplethorpeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4380', KyoombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4380', StanthorpeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4381', GlenAplinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4382', BallandeanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4383', WallangarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4384', LimevaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', BeeboLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', BonshawLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', GlenarbonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', MaidenheadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', RivertonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', SilverSpurLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', SmithleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', TexasLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4385', WatsonsCrossingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', BrushCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', ByberaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', CoolmundaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', GreenupLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', InglewoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', MosquitoCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', TerricaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', WarrooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4387', WhetstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4388', KurumbulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4388', YelarbonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', BillaBillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', CalinguneeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', CallandoonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', GoodarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', GoondiwindiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', KindonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', LundavraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', WondalliLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', WyagaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4390', YagaburneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4400', KingsthorpeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', AclandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', BalgowanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', BooduaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', DevonParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', GreenwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', HighlandPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', KelvinhaughLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', MountIrvingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', MulduLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', OakeyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', RosaliePlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', SabineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', SilverleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4401', YargullenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4402', CooyarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4402', KooralginLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4403', BrymarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4403', JondaryanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4403', MaluLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4403', MountMoriahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4403', QuinalowLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4403', WestPrairieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4404', BowenvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4404', FormartinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4404', IrvingdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4404', WainuiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4405', BunyaMountainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4405', DalbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4405', GrassdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4405', TiptonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', BoondandillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', HannafordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', JimbourLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', KaimkillenbunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', KoganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', MacalisterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', MoonieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', TheGumsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4406', WeirRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4407', CattleCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4407', CecilPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4407', DunmoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4407', NangweeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4408', BellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4410', JandowaeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4411', WarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4412', BrigalowLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4413', ChinchillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4413', HopelandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4413', WieambillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4415', GurulmundiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4415', HookswoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4415', KowguranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4415', MilesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4415', MyallParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4415', PelhamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4416', BarramornieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4416', CondamineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4416', MorabyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4416', NangramLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4416', PineHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4416', SunnysideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4416', YulabillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4417', SuratLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4418', GulugubaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4419', CockatooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4419', GrosmontLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4419', WandoanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', BroadmereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', CooradaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', GhinghindaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', GlenhaughtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', GwambegwineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', HornetBankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', PeekADooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4420', TaroomLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4421', GoranbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4421', TaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4422', MeandarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4423', GlenmorganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4424', DrillhamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4424', DrillhamSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4424', GlenaubynLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4425', DulaccaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4426', JacksonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4426', JacksonNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4426', JacksonSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4427', YulebaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4427', YulebaNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4427', YulebaSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4428', PickanjinnieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4428', WallumbillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4428', WallumbillaNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4428', WallumbillaSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', BaffleWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', BeilbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', DurhamDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', HighlandPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', HuttonCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', InjuneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', MountHuttonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', PonyHillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', SimmieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', UpperDawsonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4454', WestgroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', BlythdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', BungeworgoraiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', BungilLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', BymountLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', CornwallLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', DargalRoadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', EumamurrinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', EuthullaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', GunnewinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', HodgsonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', MoogaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', MountAbundanceLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', MountBindangoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', OralloLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', OrangeHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', RomaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4455', TingunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4461', MuckadillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4462', AmbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4465', MitchellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4467', MungallalaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4468', MorvenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4470', CharlevilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4471', ClavertonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4472', BlackallLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4472', MountEnniskillenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4474', AdavaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4475', CheepieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4477', AugathellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', BayrickLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', CaldervaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', LansdowneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', LumeahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', MacfarlaneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', MinnieDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', ScrubbyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', TamboLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', WindeyerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4478', YandarloLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4479', CooladdiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4480', EromangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4480', QuilpieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4481', TanbarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4481', WindorahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4482', BirdsvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4486', DirranbandiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4486', HebelLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4487', StGeorgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4488', BollonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4488', NebineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4489', WyandraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', BarringunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', CoongoolaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', CunnamullaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', CuttaburraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', HumeburnLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', JobsGateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', LindenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', NooramaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', TuenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', WidgeegoaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4490', YowahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4491', EuloLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4492', ThargomindahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4493', HungerfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4494', BungunyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4494', NorthBungunyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4494', TaraweraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4496', NorthTalwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4496', SouthTalwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4496', TalwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4497', DaymarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4497', ThallonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4497', WeengallonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4498', KiomaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4498', ToobeahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4500', BrayParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4500', BrendaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4500', CashmereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4500', ClearMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4500', JoynerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4500', StrathpineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4500', WarnerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4501', LawntonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4502', PetrieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4503', DakabinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4503', GriffinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4503', KallangurLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4503', KurwongbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4503', MurrumbaDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4503', WhitesideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4504', NarangbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4505', BurpengaryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4506', MorayfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', BanksiaBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', BellaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', BongareeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', BribieIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', BribieIslandNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', WelsbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', WhitePatchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4507', WoorimLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4508', DeceptionBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4509', MangoHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4509', NorthLakesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4510', BeachmereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4510', CabooltureLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4510', CabooltureSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4510', DonnybrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4510', ToorbulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4511', GodwinBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4511', NingiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4511', SandstonePointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4512', BracalbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4512', WamuranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4512', WamuranBasinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4514', CommissionersFlatLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4514', DAguilarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4514', MountArcherLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4514', MountDelaneyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4514', StonyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4514', WoodfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4515', HazeldeanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4515', JimnaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4515', KilcoyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4515', MonsildaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4516', ElimbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4517', BeerburrumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4518', GlassHouseMountainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4519', BeerwahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4519', CoochinCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4519', CrohamhurstLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4519', PeachesterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', ArmstrongCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', CampMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', CedarCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', CloseburnLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', DraperLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', EnoggeraReservoirLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', HighvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', JollysLookoutLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', KobbleCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', MountGloriousLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', MountNeboLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', MountSamsonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', SamfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', SamsonvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', WightsMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4520', YugarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4521', DayboroLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4521', KingScrubLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4521', LaceysCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4521', MountMeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4521', MountPleasantLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4521', OceanViewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4521', RushCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4550', LandsboroughLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', AroonaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', BatteryHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', BellsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', CaloundraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', CaloundraWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', CurrimundiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', DickyBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', GoldenBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', KingsBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', LittleMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', MoffatBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', PelicanWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4551', ShellyBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', BalmoralRidgeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', BooroobinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', CambroonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', ConondaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', CurramoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', ElamanCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', HarperCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', MalenyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', NorthMalenyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4552', WoothaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4553', DiamondValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4553', MooloolahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4553', PalmviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4554', EudloLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4554', IlkleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4555', HunchyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4555', PalmwoodsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4556', BuderimLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4556', KundaParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4556', SippyDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4556', TanawhaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4557', MooloolabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4557', MountainCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4558', CottonTreeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4558', MaroochydoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4558', MaroochydoreBcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4558', SunshinePlazaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4559', DiddillibahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4559', KielsMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4559', WoombyeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4560', BliBliLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4560', DulongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4560', MapletonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4560', MontvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4560', NambourLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4560', PerwillowenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4561', MaroochyRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4561', YandinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4562', EumundiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4563', CooroyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4563', CooroyMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4563', LakeMacdonaldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4563', TinbeerwahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4564', MarcoolaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4564', MudjimbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4564', PacificParadiseLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4564', TwinWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4565', BoreenPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4565', CooroibahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4565', CootharabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4565', NoosaNorthShoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4565', RingtailCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4565', TewantinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4566', NoosavilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4567', CastawaysBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4567', NoosaHeadsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4567', SunriseBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4567', SunshineBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4568', FederalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4568', PinbarrenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4568', PomonaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4569', CooranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', AmamoorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', AmamoorCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', AnderleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', AraluenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', BanksPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', BeenaamValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', BellaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', BollierLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', CalgoaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', CaninaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', ColesCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', CorellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', CurraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', DownsfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', FishermansPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', GilldoraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', GlanmireLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', GlenEchoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', GlenwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', GreensCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', GunaldaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', GympieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', ImbilLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', JonesHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', KandangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', KandangaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', KaniganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', KiaOraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', LakeBorumbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', LongFlatLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', MarodianLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', MarysCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', McintoshCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', MelawondiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', MivaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', MonklandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', MoolooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', MunnaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', NahrundaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', NeusaValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', NorthDeepCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', PatersonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', RossCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', ScotchyPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', ScrubbyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', SextonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', StMaryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', ToolaraForestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', UpperGlastonburyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', UpperKandangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', WidgeeCrossingNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', WidgeeCrossingSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4570', WooloogaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4571', KinKinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4572', AlexandraHeadlandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4573', CoolumBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4573', MarcusBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4573', MountCoolumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4573', PeregianBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4573', PeregianSpringsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4573', YaroombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4574', KenilworthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4574', MoyPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4575', BirtinyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4575', BokarinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4575', BuddinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4575', MinyamaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4575', ParrearraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4575', WaranaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4575', WurtullaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4580', CooloolaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4580', CooloolaCoveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4580', TinCanBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4581', EurongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4581', InskipLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4581', RainbowBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4600', BlackSnakeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4600', KilkivanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4600', MudloLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4600', OakviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', BarambahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', BoonaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', BooubyjanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', GoomeriLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', GoomeribongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', KinbombiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', ManumbarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', ManyungLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', TanseyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4601', WrattensForestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', BarlilLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', CherbourgLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', CloynaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', CobbsHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', GlenrockLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', KitobaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', MerlwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', MoffatdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', MoondoonerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', MurgonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', OakdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', RedgateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', SilverleafLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', SunnyNookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', TablelandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', WarnungLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4605', WooroondenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4606', ChelmsfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4606', FairdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4606', LeafdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4606', MountMceuenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4606', MpCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4606', WheatlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4606', WondaiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4608', CharlestownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4608', TingooraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4608', WilkesdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4608', WooroolinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', AliceCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', BallogieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', BenairLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', BooieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', BoynesideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', ChahpingahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', CoolabuniaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', CorndaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', DangoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', DurongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', DurongSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', GoodgerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', GordonbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', HalyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', HodgleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', InverlawLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', IronpotLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', KingaroyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', KumbiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', MannuemLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', TaabingaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4610', WattleGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4611', MarshlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4611', MondureLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4612', HivesvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4612', KawlKawlLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4612', KeyslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4612', StonelandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4612', WigtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4613', AbbeywoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4613', BoondoomaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4613', CovertyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4613', MelroseLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4613', OkedenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4613', ProstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4614', NeumgnaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4614', UpperYarramanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4614', YarramanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', BarkerCreekFlatLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', BullcampLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', EastNanangoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', GlanDevonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', JohnstownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', KunioonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', MaidenwellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', NanangoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', PimpimbudgeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', RunnymedeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', SandyRidgesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', SouthEastNanangoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', TarongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', WattleCampLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', WengenvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4615', WyallaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', BrooweenaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', DoongulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', GigoomganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', GlenbarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', GungaloonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', MalargaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', NorthAramaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', TeebarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4620', WoocooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', BiggendenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', BoompaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', CoringaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', DegilboLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', DidcotLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', GoldenFleeceLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', WaterangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4621', WoowoongaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', AranbangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', BanBanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', BanBanSpringsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', BarlyneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', BlairmoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', BonAccordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', BranchCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', CampbellCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', DeepCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', DirnbirLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', DundarrahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', GayndahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', GinoondanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', HarrietLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', HumpheryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', IderawayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', MingoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', MountDebateableLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', MountLawlessLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', PenwhaupellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', PileGullyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', ReidsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', StockhavenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', TheLimitsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', ToondahraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', WahoonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', WetheronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', WilsonValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', WoodmillarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4625', YendaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', BeeronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', BoynewoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', BroviniaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', CattleCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', CoonambulaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', DerriDerraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', DykeheadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', GlenraeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', HawkwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', MonogorilbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', MundowranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', MundubberaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', OldCoorangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', PhilpottLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4626', RiverleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', AbercornLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', CeratodusLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', CheltenhamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', CynthiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', EidsvoldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', EidsvoldEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', EidsvoldWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', GrosvenorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', MalmoeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4627', WurumaDamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', BukaliLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', CaniaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', CannindahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', CoominglahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', CoominglahForestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', GlenleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', HarramiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', KalpowarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', KapaldoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', LangleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', MonalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', MontoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', MulgildieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', SeleneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', SplinterCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', TellebangLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', ThreeMoonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', VentnorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4630', YarrolLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', AntiguaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', BaupleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', BaupleForestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', BeaverRockLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', BoonoorooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', BoonoorooPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', DuckinwillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', DundathuLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', DunmoraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', FerneyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', GlenorchyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', GootchieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', GrahamsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', GranvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', GundiahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', MaryboroughLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', MountSteadmanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', MountUrahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', MungarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', NetherbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', OakhurstLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', OwanyillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', PilerwaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', PioneersRestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', StHelensLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TalegallaWeirLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TandoraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TeddingtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TheDimondsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', ThinoombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TiaroLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TinanaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TinanaSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', TuanForestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', WalkersPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4650', YengarieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', BooralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', BunyaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', DundowranBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', EliWatersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', GreatSandyStraitLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', HappyValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', HerveyBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', HerveyBayDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', KawunganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', NikenbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', PialbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', PointVernonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', ScarnessLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', SunshineAcresLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', SusanRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', TorquayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', UranganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', UrraweenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', WalliebumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', WalliganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4655', WondunnaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4659', BeelbiCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4659', BurgowanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4659', BurrumHeadsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4659', BurrumRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4659', BurrumTownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4659', HowardLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4659', PacificHavenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', AbingtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', BuxtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', CherwellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', ChildersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', CordalbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', EurekaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', GoodwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', GregoryRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', HortonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', IsisCentralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', IsisRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', KullogumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', NorthGregoryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', PromisedlandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4660', WoodgateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4662', TorbanleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', AbbotsfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', AllowayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', AshfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', AvenellHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', AvocaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', AvondaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BargaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BranyanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BundabergLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BundabergCentralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BundabergDcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BundabergEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BundabergNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BundabergSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BundabergWestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', BurnettHeadsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', CalavosLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', CoralCoveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', ElectraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', ElliottLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', ElliottHeadsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', GiveldaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', KalkieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', KensingtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', KepnockLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', KinkunaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', MeadowvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', MillbankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', MooreParkBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', MoorlandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', MullettCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', NorvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', QunabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', RubyannaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', SharonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', SouthBingeraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', SouthKolanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', SvenssonHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', ThabebanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', WalkervaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', WatalganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', WelcomeCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4670', WindermereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', BoolboondaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', BooyalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', DalysfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', DamascusLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', DelanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', DoughboyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', DrinanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', DuingalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', GaetaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', Gin_GinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', GoodNightLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', HorseCampLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', KolongaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', LakeMonduranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', MaroondanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', McilwraithLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', MolangulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', MonduranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', MoolboolamanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', MorganvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', MountPerryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', MungyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', NearumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', NewMoontaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', RedhillFarmsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', SkyringReserveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', StAgnesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', StKildaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', TakilberanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', TirroanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', WallavilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', WonbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4671', WonbahForestLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4673', LittabellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4673', MiaraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4673', WaterlooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4673', YandaranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', BaffleCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', BerajondoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', DeepwaterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', EuleilahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', MountMariaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', OysterCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', RosedaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', RulesBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4674', TauntonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4676', GindoranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4676', LowmeadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', AgnesWaterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', CaptainCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', ColosseumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', EurimbulaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', MiriamValeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', MountTomLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', RoundHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4677', SeventeenSeventyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4678', BororenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4678', ForeshoresLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4678', RoddsBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', BarneyPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', BenarabyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', BoyneIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', BoyneValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', BoynedaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', BuilyanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', ByelleeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', CallemondahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', CalliopeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', ClintonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', DiglumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', GladstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', GlenEdenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', HeronIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', IveraghLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', KinKoraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', KirkwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', MountAlmaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', NewAucklandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', OConnellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', RiverRanchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', SouthGladstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', SouthTreesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', SunValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', TablelandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', TannumSandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', TaragoolaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', TelinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', ToolooaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', UboboLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', WestGladstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', WestStoweLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4680', WoodersonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4694', AldogaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4694', TarginieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4694', YarwunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4695', BracewellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4695', DartsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4695', EastEndLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4695', MachineCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4695', MountLarcomLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4695', TheNarrowsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4697', RaglanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4699', BajoolLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4699', PortAlmaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', AllenstownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', FairyBowerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', GreatKeppelIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', PortCurtisLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', RockhamptonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', TheKeppelsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', TheRangeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', WandalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4700', WestRockhamptonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', BerserkerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', CentralQueenslandUniversityLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', FrenchvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', GreenlakeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', KawanaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', KoongalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', LimestoneCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', MountArcherLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', NankinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', NormanGardensLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', NorthRockhamptonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', ParkAvenueLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', RockyviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', SandringhamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4701', TheCommonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', AlbertaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', AlsaceLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', AnakieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', ArgoonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BalcombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BananaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BaralabaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BarnardLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BingegangLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BlackdownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BluffLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BouldercombeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', BushleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', CanalCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', CanoonaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', CentralQueenslandMcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', CometLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', CoomooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', CooroomanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', CoowongaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', DalmaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', DingoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', DixaleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', DululuLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', DumpyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', EtnaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GainsfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GarnantLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GlenroyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GogangoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GoomallyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GoovigenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GoowarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', GracemereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', JambinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', JardineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', JellinbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', JoskeleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', KalapaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', KeppelSandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', KokotungoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', MackenzieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', MidgeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', MimosaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', MorinishLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', MorinishSouthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', MountChalmersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', NineMileLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', ParkhurstLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', PheasantCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', PinkLilyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', RidgelandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', RollestonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', RossmoyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', RubyvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', SapphireLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', ShoalwaterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', SmokyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', SouthYaambaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', StanageLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', StanwellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', StewartonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', ThompsonPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', TungamullLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', UlogieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', WallarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', WestwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', WillowsGemfieldsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', WooleinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', WooroonaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', WowanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', WycarbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4702', YarakaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', AdelaideParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', BangaleeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', BarlowsHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', BarmaryeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', BarmoyaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', ByfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', CausewayLakeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', CobraballLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', CooeeBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', HiddenValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', InvernessLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', LakeMaryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', LammermoorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', MaryvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', MeiklevilleHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', MulambinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', MularaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', PacificHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', RosslynLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', StockyardLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', TanbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', TaranganbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', TaroomballLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', WeerribaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4703', YeppoonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4704', WattlebankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4704', YaambaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4705', ClarkeCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4705', LotusCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4705', MackenzieRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4705', MarlboroughLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4705', MountGardinerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4706', OgmoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4707', CollaroyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4707', StLawrenceLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4707', ThePercyGroupLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4709', TieriLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4710', EmuParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4710', ZilzieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4711', GlendaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4711', GlenleeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4712', DuaringaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4713', WoorabindaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', BareeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', BoulderCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', FletcherCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', HamiltonCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', HorseCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', JohnsonsHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', LeydensHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', LimestoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', MoonganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', MountMorganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', NineMileCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', OakeyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', TheMineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', TrotterCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', WalmulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4714', WuraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', BiloelaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', CallideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', CastleCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', DakenbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', DumgreeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', GreycliffeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', OrangeCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', ProspectLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4715', TarrambaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4716', LawgiDawesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4716', ThangoolLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4717', BlackwaterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', BauhiniaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', DromedaryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', KiangaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', MouraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', MungabundaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', OombabeerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', RhyddingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', RoundstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4718', WarnoahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4719', CamboonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4719', CracowLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4719', GlenmoralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4719', IslaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4719', LonesomeCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4719', TheodoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4720', EmeraldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4721', ArgyllLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4721', ClermontLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4721', PashaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4722', SpringsureLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4723', CapellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4724', AlphaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4725', BarcaldineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4726', AramacLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4727', IlfracombeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4728', JerichoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', CamoolaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', ChorregonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', ErnestinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', LongreachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', ManerooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', MorellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', StonehengeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', TocalLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4730', VergemontLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4731', IsisfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4732', MuttaburraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4733', CorfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4735', DiamantinaLakesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4735', MiddletonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4735', OpaltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4735', WintonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4736', JundahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4737', ArmstrongBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4737', BlueMountainLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4737', CampwinBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4737', FreshwaterPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4737', SarinaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4737', SarinaBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4737', SarinaRangeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4738', KoumalaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4739', CarmilaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', AlexandraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', AlligatorCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', AndergroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', BakersCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', BalberraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', BalnagowanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', BeaconsfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', BelmundaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', BlacksBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', CapeHillsboroughLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', ConingsbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', DolphinHeadsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', DundulaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', 'DUNNROCK', CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', EastMackayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', EimeoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', ErakalaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', FouldenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', GlenellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', GrasstreeBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', HabanaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', HalidayBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', HayPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', HomebushLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', MackayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', McewensBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', MountJukesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', MountPleasantLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', MunburaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', NindarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', NorthMackayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', OoraleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', PagetLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', RacecourseLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', RichmondLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', RosellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', RuralViewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', SandifordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', SladePointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', SouthMackayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', TeKowaiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', TheLeapLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4740', WestMackayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', BramptonIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', CoppabellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', DaydreamIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', EpsomLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', EtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', EtonNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', EungellaHinterlandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', FarleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', GargettLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', HampdenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', HazledeanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', KinchantDamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', KuttabulLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', LindemanIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', LongIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', MackayMcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', MountCharltonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', MountOssaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', MountPelionLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', OwensCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', PinnacleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', PleystoweLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', SeaforthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4741', SouthMolleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', BurtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', EaglefieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', ElphinstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', HailCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', KemmisLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', MtBrittonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', NeboLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', OxfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', StrathfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', TurrawullaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4742', ValkyrieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4743', GlendenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4743', SuttorLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4744', MoranbahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4745', DysartLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4746', MayDownsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4746', MiddlemountLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4750', BucasiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4750', ShoalPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4751', GreenmountLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4751', VictoriaPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4751', WalkerstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4753', DevereuxCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4753', MarianLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4754', BenholmeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4754', DowsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4754', MiaMiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4754', MiraniLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4754', MountMartinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4754', PinevaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4754', SeptimusLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4756', FinchHattonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4756', NetherdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4757', BrokenRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4757', CreditonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4757', DalrympleHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4757', EungellaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4757', EungellaDamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4798', CalenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4798', MentmoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4798', PindiPindiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4799', BloomsburyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', AndromacheLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', BrandyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', BreadalbaneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', CapeConwayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', CapeGloucesterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', ConwayBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', CrystalBrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', DittmerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', FoxdaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', GlenIslaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', GoorgangaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', GoorgangaPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', GregoryRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', GunyarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', HamiltonPlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', HideawayBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', KelseyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', LagunaQuaysLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', LakeProserpineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', LethebrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', MountPlutoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', MyrtlevaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', PalmGroveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', PaulsPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', PrestonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', ProserpineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', SilverCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', SugarloafLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', ThooparaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4800', WilsonBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4801', HaymanIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', AirlieBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', CannonvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', FlametreeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', MandalayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', MountRooperLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', ShuteHarbourLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', WhitsundaysLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4802', WoodwarkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4803', HamiltonIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4804', CollinsvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4804', MountCoolonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4804', MountWyattLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4804', NewlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4804', SpringlandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4805', BogieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4805', BowenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4805', GuthalungraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4805', MerindaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4805', QueensBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', CarstairsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', FredericksfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', HomeHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', InkermanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', KirknieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', OsborneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', RangemoreLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', WangarattaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4806', WunjungaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', AirdmillanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', AirvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', AlvaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', AyrLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', ClareLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', DalbegLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', EightMileCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', JarvisfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', McdesmeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', MillarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', MonaParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', MountKellyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', MulgraveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', ParksideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', RiteIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4807', SwansLagoonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4808', BrandonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4808', ColevaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', BarrattaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', CromartyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', GiruLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', HorseshoeLagoonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', JeronaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', MountSurroundLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', ShirbourneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4809', UpperHaughtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', BelgianGardensLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', CastleHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', NorthWardLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', PallarendaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', RailwayEstateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', RowesBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', ShellyBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', SouthTownsvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', TownCommonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', TownsvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4810', WestEndLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', CludenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', IdaliaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', JamesCookUniversityLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', OakValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', OonoonbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', RoseneathLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', StuartLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4811', WulguruLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', CurrajongLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', GulliverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', HermitParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', HydeParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', MundingburraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', MystertonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', PimlicoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4812', RossleaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4813', TownsvilleMilpoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', AitkenvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', AnnandaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', CranbrookLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', DouglasLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', GarbuttLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', HeatleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', MountLouisaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', MurrayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4814', VincentLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4815', CondonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4815', KelsoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4815', RasmussenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', AlligatorCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', BarringhaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', BrookhillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', CungullaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', GreenvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', HiddenValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', HomesteadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', JulagoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', KennedyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', MacrossanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', MingelaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', MutarneeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', NeliaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', NomeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', PalmIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', PalumaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', PentlandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', PrairieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', RavenswoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', RollingstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', RossRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', SellheimLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', TorrensCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4816', WoodstockLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4817', AliceRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4817', BohlePlainsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4817', HerveyRangeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4817', KirwanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4817', ThuringowaCentralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4817', ThuringowaCentralBcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', BlackRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', BluewaterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', BluewaterParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', BohleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', BushlandBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', DeeragunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', MountStJohnLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', SaundersBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', ToolakeaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4818', YabuluLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4819', ArcadiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4819', HorseshoeBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4819', MagneticIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4819', NellyBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4819', PicnicBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4819', WestPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', AlabamaHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', ChartersTowersLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', ColombiaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', GrandSecretLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', LissnerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', MillchesterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', MosmanParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', QueentonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', RichmondHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', TollLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4820', TowersHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4821', HughendenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4821', StamfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4822', AlbionLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4822', BurleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4822', RichmondLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4823', JuliaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4823', KynunaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4823', MckinlayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4823', WarburtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4824', CloncurryLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4824', OorindiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', BreakawayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', BuckinghamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', CarrandottaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', DajarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', FisherLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', GeorginaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', HappyValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', HealyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', MenziesLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', MicaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', MilesEndLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', MorningtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', MountIsaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', ParksideLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', PioneerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', PiturieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', RyanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', SoldiersHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', SunsetLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', TheGapLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', TheMonumentLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', TownviewLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', WaverleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4825', WinstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4828', CamoowealLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', AmarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', BedourieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', BouliaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', MinMinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', SturtLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', TokoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', WarendaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4829', WillsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4830', BurketownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4830', DoomadgeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4849', CardwellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', AbergowrieLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', AllinghamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', GairlochLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', HalifaxLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', HawkinsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', InghamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', LucindaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', MacknadeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', MountFoxLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', TaylorsBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', UpperStoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4850', VictoriaPlantationLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4852', BingilBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4852', DjiruLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4852', GarnersBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4852', MidgereeBarLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4852', MissionBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4852', WongalingBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4854', CardstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4854', EuramoLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4854', MurrayUpperLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4854', TullyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', DavesonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', ElArishLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', FridayPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', GranadillaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', JaffaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', MaadiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', MariaCreeksLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4855', ShellPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4856', GoolbooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4856', McCutcheonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4856', No4BranchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4856', No5BranchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4856', SilkwoodLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4856', WalterLeverEstateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4857', SilkwoodEastLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4858', ComoonLoopLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4858', EttyBayLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4858', MartyvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4858', MourilyanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4858', MourilyanHarbourLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4858', NewHarbourlineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4859', No6BranchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4859', SouthJohnstoneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', BambooCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', BelvedereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', CoconutsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', CoorooLandsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', CoorumbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', CoquettePointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', CullinaneLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', DaradgeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', EastInnisfailLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', EastPalmerstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', EatonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', EubenangeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', FitzgeraldCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', FlyingFishPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', GarradungaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', GoondiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', GoondiBendLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', GoondiHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', HudsonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', InnisfailLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', InnisfailEstateLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', JubileeHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', MighellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', MundooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', NeradaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', NjatjanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', OBriensHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', PalmerstonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', PinGinHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', SouthInnisfailLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', StotersHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', SundownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', UpperDaradgeeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', VasaViewsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', WanjuruLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', WebbLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4860', WooroonooranLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4861', BabindaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4861', BartleFrereLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4861', EastRussellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4865', GoldsboroughLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4865', GordonvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4865', KammaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4868', BayviewHeightsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4868', MountSheridanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4868', WhiteRockLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4868', WoreeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4869', BentleyParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4869', EdmontonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4869', MountPeterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4869', WrightsCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', AeroglenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', BrinsmeadLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', BungalowLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', CairnsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', CairnsNorthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', CairnsOrchidPlazaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', EarlvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', EdgeHillLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', FreshwaterLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', KamerungaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', KanimblaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', ManooraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', ManundaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', MartynvaleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', MoorooboolLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', ParramattaParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', RedlynchLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', StratfordLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', WestcourtLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4870', WhitfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', AlmadenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', AloombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', AurukunLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', BasiliskLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', BellendenKerLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', BombeetaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', BooganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', CampCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', ChillagoeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', CoenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', CowleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', CowleyBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', CowleyCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', CroydonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', CurrajahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', DeeralLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', EastTrinityLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', EdwardRiverLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', EinasleighLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', FisheryFallsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', ForsaythLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', George_TownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', GermantownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', GlenBoughtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', GreenIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', GununaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', JulattenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', KowanyamaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', KurrimineBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', LauraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', LockhartLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', LowerCowleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', MenaCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', MiriwinniLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', MoresbyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', MountCarbineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', MountMolloyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', MountSurpriseLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', PormpuraawLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', SandyPocketLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', StocktonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', UtcheeCreekLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', WanganLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', WarrubullenLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4871', YarrabahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', BarrineLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', DanbullaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', DimbulahLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', GlenRuthLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', GunnawarraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', InnotHotSpringsLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', KairiLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', KirramaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', KoombooloombaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', LakeTinarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', MinnamoolkaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', MountGarnetLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', MutchilbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', SilverValleyLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', TinarooLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', WairunaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4872', WalkaminLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4873', DaintreeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4873', DiwanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4873', MossmanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4873', NewellLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4873', WongaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4874', EvansLandingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4874', NanumLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4874', RockyPointLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4874', TrundingLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4874', WeipaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4874', WeipaAirportLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4875', BaduIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4875', ThursdayIslandLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4876', BamagaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4877', PortDouglasLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4878', BarronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4878', CaravonicaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4878', HollowaysBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4878', MachansBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4878', SmithfieldLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4878', YorkeysKnobLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4879', CliftonBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4879', EllisBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4879', KewarraBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4879', PalmCoveLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4879', TrinityBeachLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4879', TrinityParkLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4880', MareebaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4881', KurandaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4882', TolgaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4883', AthertonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4883', CarringtonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4883', EastBarronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4883', UpperBarronLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4883', WongabelLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4884', YungaburraLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4885', MalandaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4886', MillaaMillaaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4887', HerbertonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4887', IrvinebankLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4887', MoominLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4887', WatsonvilleLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4887', WondeclaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4888', EvelynLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4888', KabanLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4888', MillstreamLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4888', RavenshoeLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4888', TumoulinLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4890', NormantonLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4891', KarumbaLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('4895', CooktownLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('5000', AdelaideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5000', AdelaideBcLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5000', HalifaxStreetLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5000', HuttStreetLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5000', RundleMallLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5000', StationArcadeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5001', AdelaideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5005', AdelaideUniversityLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5005', TheUniversityOfAdelaideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5006', NorthAdelaideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5006', NorthAdelaideMelbourneStLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5007', BowdenLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5007', BromptonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5007', HindmarshLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5007', WellandLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5007', WestHindmarshLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5008', CroydonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5008', DevonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5008', DudleyParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5008', RenownParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5008', RidleytonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5008', WestCroydonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5009', AllenbyGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5009', BeverleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5009', KilkennyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5010', AngleParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5010', FerrydenParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5010', RegencyParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5010', RegencyParkBcLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5011', WoodvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5011', WoodvilleParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5011', WoodvilleSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5012', AtholParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5012', MansfieldParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5012', WoodvilleGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5012', WoodvilleNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5013', GillmanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5013', OttowayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5013', PenningtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5013', RosewaterLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5013', RosewaterEastLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5013', WingfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5014', AlbertParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5014', AlbertonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5014', CheltenhamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5014', HendonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5014', QueenstownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5014', RoyalParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5015', BirkenheadLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5015', EtheltonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5015', GlanvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5015', PortAdelaideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5016', LargsBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5016', LargsNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5016', PeterheadLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5017', OsborneLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5017', TaperooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5018', NorthHavenLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5018', OuterHarborLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5019', ExeterLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5019', SemaphoreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5020', WestLakesShoreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5021', WestLakesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5022', GrangeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5022', HenleyBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5022', HenleyBeachSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5022', TennysonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5023', FindonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5023', SeatonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5024', FulhamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5024', FulhamGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5024', WestBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5025', FlindersParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5025', KidmanParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5031', MileEndLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5031', ThebartonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5031', TorrensvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5031', TorrensvillePlazaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5032', BrooklynParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5032', LockleysLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5032', UnderdaleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5033', CowandillaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5033', HiltonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5033', HiltonPlazaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5033', MarlestonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5033', RichmondLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5033', WestRichmondLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5034', ClarenceParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5034', GoodwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5034', KingsParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5034', MillswoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5034', WayvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5035', AshfordLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5035', BlackForestLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5035', EverardParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5035', ForestvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5035', KeswickLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5037', GlandoreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5037', KurraltaParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5037', NetleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5037', NorthPlymptonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5038', CamdenParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5038', PlymptonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5038', PlymptonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5038', SouthPlymptonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5039', ClarenceGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5039', EdwardstownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5039', MelroseParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5040', NovarGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5041', ColonelLightGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5041', CumberlandParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5041', DawParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5041', PanoramaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5041', WestbourneParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5042', BedfordParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5042', ClovellyParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5042', FlindersUniversityLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5042', PasadenaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5042', StMarysLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5043', AscotParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5043', MarionLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5043', MitchellParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5043', MorphettvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5043', ParkHolmeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5044', GlengowrieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5044', SomertonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5045', GlenelgLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5045', GlenelgSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5046', OaklandsParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5046', WarradaleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5046', WarradaleNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5047', DarlingtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5047', SeacombeGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5047', SeacombeHeightsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5047', SturtLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5048', BrightonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5048', DoverGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5048', HoveLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5048', SouthBrightonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5049', KingstonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5049', MarinoLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5049', SeacliffLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5049', SeacliffParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5049', SeaviewDownsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5050', BellevueHeightsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5050', EdenHillsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5051', BlackwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5051', CoromandelValleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5051', CraigburnFarmLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5051', HawthorndeneLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5052', BelairLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5052', GlenaltaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5061', HydeParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5061', MalvernLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5061', UnleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', BrownHillCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', ClaphamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', HawthornLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', KingswoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', LowerMitchamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', LyntonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', MitchamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', MitchamShoppingCentreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', NetherbyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', SpringfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5062', TorrensParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5063', EastwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5063', FrewvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5063', FullartonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5063', HighgateLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5063', ParksideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5064', GlenOsmondLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5064', GlenungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5064', MountOsmondLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5064', Myrtle_BankLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5064', StGeorgesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5064', UrrbraeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5065', DulwichLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5065', GlensideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5065', LindenParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5065', ToorakGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5065', TusmoreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5066', BeaumontLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5066', BurnsideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5066', ErindaleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5066', HazelwoodParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5066', StonyfellLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5066', WaterfallGullyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5066', WattleParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5067', BeulahParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5067', KentTownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5067', NorwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5067', NorwoodSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5067', RoseParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', HeathpoolLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', KensingtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', KensingtonGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', KensingtonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', LeabrookLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', MarryatvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', StMorrisLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5068', TrinityGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5069', CollegeParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5069', EvandaleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5069', HackneyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5069', MaylandsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5069', StPetersLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5069', StepneyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', FelixstowLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', FirleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', GlyndeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', GlyndePlazaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', JoslinLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', MardenLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', PaynehamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5070', RoystonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5071', KentTownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5072', AuldanaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5072', MagillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5072', MagillNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5072', RosslynParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5072', SkyeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5072', TeringieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5072', WoodfordeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5073', HectorvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5073', RostrevorLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5073', TranmereLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5073', TranmereNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5074', CampbelltownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5074', NewtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5075', DernancourtLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5075', ParadiseLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5076', AthelstoneLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5076', CastambulLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5081', CollinswoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5081', GilbertonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5081', MedindieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5081', ValeParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5081', WalkervilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5082', FitzroyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5082', OvinghamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5082', ProspectLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5082', ProspectEastLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5082', ThorngateLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5083', BroadviewLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5083', NailsworthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5083', SeftonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5084', BlairAtholLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5084', KilburnLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5084', KilburnNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5085', ClearviewLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5085', EnfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5085', EnfieldPlazaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5085', NorthfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5085', NorthgateLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5086', GillesPlainsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5086', GreenacresLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5086', HampsteadGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5086', HillcrestLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5086', ManninghamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5086', OakdenLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5087', KlemzigLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5087', WindsorGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5088', HoldenHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5089', HighburyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5090', HopeValleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5091', BanksiaParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5091', TeaTreeGullyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5091', VistaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5092', ModburyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5092', ModburyNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5093', ParaVistaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5093', ValleyViewLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5094', CavanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5094', DryCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5094', GeppsCrossLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5095', MawsonLakesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5095', PoorakaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5095', TheLevelsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5096', GulfviewHeightsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5096', ParaHillsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5097', RedwoodParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5097', RidgehavenLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5097', StAgnesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5098', IngleFarmLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5098', WalkleyHeightsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5106', ParafieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5106', SalisburySouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5107', Green_FieldsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5107', ParafieldGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5108', ParalowieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5108', SalisburyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5108', SalisburyDownsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5108', SalisburyNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5109', BrahmaLodgeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5109', SalisburyEastLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5109', SalisburyHeightsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5109', SalisburyParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5109', SalisburyPlainLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5110', BolivarLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5110', BurtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5110', DirekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5110', GlobeDerbyParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5110', StKildaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5110', WaterlooCornerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5111', EdinburghLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5112', ElizabethLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5112', ElizabethEastLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5112', ElizabethGroveLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5112', ElizabethSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5112', ElizabethValeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5112', HillbankLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5113', DavorenParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5113', ElizabethDownsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5113', ElizabethNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5113', ElizabethParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5113', ElizabethWestLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5114', AndrewsFarmLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5114', BlakeviewLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5114', CraigmoreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5114', OneTreeHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5114', SmithfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5114', SmithfieldPlainsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5114', UleyburyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5115', KudlaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5115', MunnoParaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5116', EvanstonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5116', HillierLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5117', AngleValeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5118', BuchfeldeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5118', GawlerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5118', GawlerBeltLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5118', HewettLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5118', KalbeebaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5118', KingsfordLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5118', WillastonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5120', BucklandParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5120', VirginiaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5121', MacdonaldParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5121', PenfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5125', GoldenGroveLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5125', GoldenGroveVillageLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5125', GreenwithLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5126', FairviewParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5126', SurreyDownsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5126', YatalaValeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5127', WynnValeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5131', HoughtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5131', LowerHermitageLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5131', UpperHermitageLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5132', ParacombeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5133', InglewoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5134', CherryvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5134', MontacuteLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5136', NortonSummitLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5137', AshtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5138', BasketRangeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5139', ForestRangeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5140', GreenhillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5141', SummertownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5142', UraidlaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5144', CareyGullyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5150', EagleOnTheHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5150', LeawoodGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5151', PiccadillyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5152', CrafersLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5152', StirlingLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', BiggsFlatLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', BradburyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', EchungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', FlaxleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', HeathfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', IronbankLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', LongwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', MacclesfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', MylorLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5153', ScottCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5154', AldgateLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5155', BridgewaterLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5155', MountGeorgeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5156', UpperSturtLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5157', AshbourneLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5157', CherryGardensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5157', ClarendonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5157', CoromandelEastLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5157', KangarillaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5158', HallettCoveLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5158', OHalloranHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5158', SheidowParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5158', TrottParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5159', AberfoyleParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5159', ChandlersHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5159', FlagstaffHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5159', HappyValleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5160', LonsdaleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5161', ReynellaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5162', MorphettValeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5162', WoodcroftLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5163', HackhamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5163', HuntfieldHeightsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5163', OnkaparingaHillsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5164', ChristieDownsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5165', ChristiesBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5166', OSullivanBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5167', PortNoarlungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5168', NoarlungaCentreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5168', NoarlungaDownsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5168', OldNoarlungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5169', MoanaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5169', SeafordLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5169', SeafordHeightsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5169', SeafordMeadowsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5170', MaslinBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5171', MclarenFlatLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5171', MclarenValeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5171', PedlerCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5172', WillungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5173', AldingaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5173', AldingaBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5173', PortWillungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5174', SellicksBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5174', SellicksHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5201', MeadowsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5201', ProspectHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5202', MypongaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5203', YankalillaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5204', CarrickalingaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5204', DelamereLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5204', NormanvilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5204', RapidBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5204', SecondValleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5210', MountCompassLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5211', EncounterBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5211', HayboroughLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5211', InmanValleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5211', MccrackenLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5211', VictorHarborLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5212', PortElliotLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5213', MiddletonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5214', CurrencyCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5214', GoolwaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5220', ParndanaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5221', AmericanRiverLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5222', PenneshawLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5223', KingscoteLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5231', KersbrookLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5232', CudleeCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5233', GumerachaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5234', BirdwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5235', EdenValleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5235', MountPleasantLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5235', SpringtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5236', TungkilloLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5237', PalmerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5237', SanderstonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5238', BowhillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5238', MannumLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5238', NildottieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5240', LenswoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5241', LobethalLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5242', BalhannahLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5243', OakbankLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5244', CharlestonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5244', MountTorrensLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5244', WoodsideLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5245', HahndorfLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5245', VerdunLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5250', LittlehamptonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5251', BugleRangesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5251', MountBarkerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5251', WistowLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5252', BrukungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5252', KanmantooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5252', NairneLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5253', MurrayBridgeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5254', CallingtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5254', MonartoSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5254', MurrayBridgeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5254', MypolongaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5255', FinnissLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5255', LanghorneCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5255', StrathalbynLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5256', ClaytonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5256', MilangLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5259', JervoisLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5259', NarrungLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5259', PointMcleayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5259', RaukkanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5259', WellingtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5260', TailemBendLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5261', CookePlainsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5261', CoomandookLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5261', CulburraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5261', KiKiLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5261', YumaliLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5262', BinnumLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5262', FrancesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5262', HynamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5262', KybyboliteLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5263', CoonawarraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5264', MeningieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5265', CoonalpynLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5266', TintinaraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5267', KeithLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5268', BordertownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5269', WolseleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5270', MundullaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5271', NaracoorteLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5271', PadthawayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5272', GreenwaysLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5272', LucindaleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5273', AvenueRangeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5275', KingstonSELbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5276', RobeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5277', NangwarryLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5277', PenolaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5277', TarpeenaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5278', KalangadooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5279', MountBurrLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5279', TrihiLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5280', BeachportLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5280', HatherleighLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5280', MillicentLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5280', RendelshamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5280', SouthendLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5280', TantanoolaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5290', MountGambierLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', AllendaleEastLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', CarpenterRocksLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', DonovansLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', GlencoeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', KongorongLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', MilLelLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', MoorakLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', MountGambierLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', MountGambierEastLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', MountGambierWestLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', OBFlatLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', PortMacdonnellLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5291', YahlLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5301', GeraniumLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5301', JabukLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5301', MoorlandsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5301', ParrakieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5301', PeakeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5301', SherlockLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5302', LamerooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5303', ParillaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5304', PeebingaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5304', PinnarooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5306', WynarkaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5307', KaroondaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5307', MaramaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5308', CopevilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5309', SandalwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5310', WanbiLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5311', AlawoonaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5311', ParunaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5311', TaldraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5312', VeitchLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5320', MorganLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5321', CadellLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5322', RamcoLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5330', LowbankLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5330', WaikerieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5331', KingstonOnMurrayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5332', MoorookLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5333', LoxtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5333', LoxtonNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5333', TaplanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5340', ParingaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5341', CooltongLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5341', RenmarkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5342', MonashLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5343', BerriLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5343', LyrupLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5343', WinkieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5344', GlossopLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5345', BarmeraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5345', LovedayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5346', CobdoglaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5350', SandyCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5351', CockatooValleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5351', LyndochLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5351', WilliamstownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5352', BethanyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5352', KrondorfLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5352', RowlandFlatLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5352', StoneWellLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5352', TanundaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5353', AngastonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5353', BlackHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5353', CambraiLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5353', KeynetonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5353', MocultaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5353', SedanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5354', SwanReachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5355', MaranangaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5355', NuriootpaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5355', SeppeltsfieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5355', StockwellLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5356', TruroLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5357', BlanchetownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5357', NewWellLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5360', GreenockLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5360', NainLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5371', RoseworthyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5371', SheaOakLogLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5371', TemplersLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5372', FreelingLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5373', HamiltonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5373', KapundaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5374', BowerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5374', EudundaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5374', SutherlandsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5381', RobertstownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5400', PinkertonPlainsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5400', WasleysLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5401', HamleyBridgeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5410', LinwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5410', StockportLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5411', TarleeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5412', RivertonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5413', MarrabelLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5413', SaddleworthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5414', ManooraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5415', MintaroLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5416', FarrellFlatLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5417', BooborowieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5417', BurraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5418', MountBryanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5419', HallettLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5420', WhyteYarcowieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5421', TerowieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5422', PeterboroughLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5431', HammondLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5431', MorchardLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5431', OrrorooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5431', TarcowieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5432', CarrietonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5432', CradockLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5433', QuornLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5434', HawkerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5440', CockburnLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5440', MannaHillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5440', OlaryLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5440', YuntaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5451', AuburnLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5452', WatervaleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5453', ClareLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5453', HoyletonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5454', SpaldingLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5455', HilltownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5460', OwenLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5461', BalaklavaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5462', BlythLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5464', BrinkworthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5464', KoolungaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5470', YackaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5471', GulnareLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5472', George_TownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5473', GladstoneLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5480', AppilaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5480', LauraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5481', MurrayTownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5481', WirrabaraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5482', BoolerooCentreLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5483', MelroseLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5485', WilmingtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5490', CaltowieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5491', JamestownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5493', YongalaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5495', MambrayCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5495', PortFlindersLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5495', PortGermeinLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5501', DublinLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5501', LewistonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5501', LowerLightLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5501', MiddleBeachLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5501', PortGawlerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5501', TwoWellsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5501', WindsorLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5502', MallalaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5502', ReevesPlainsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5510', LochielLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5520', SnowtownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5521', 'REDHILL', CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5522', PortBroughtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5523', CrystalBrookLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5523', MerritonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5540', PortPirieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5540', PortPirieSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5540', PortPirieWestLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5540', RisdonParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5540', RisdonParkSouthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5540', SolomontownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5550', BowmansLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5550', PortWakefieldLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5552', PaskevilleLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5554', JerichoLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5554', JerusalemLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5554', KadinaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5554', MattaFlatLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5554', 'NEW TOWN', CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5554', WallarooMinesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5555', AlfordLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5555', LakeViewLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5555', MundooraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5556', WallarooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', AgeryLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', CrossRoadsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', EastMoontaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', HamleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', KooroonaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', MoontaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', MoontaBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', MoontaMinesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', NalyappaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', NorthMoontaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', NorthYeltaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', PortHughesLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5558', YeltaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5560', ButeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5570', ClintonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5570', PortClintonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5570', PriceLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5571', ArdrossanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5571', PinePointLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5572', ArthurtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5573', BalgowanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5573', MaitlandLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5573', PointPearceLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5573', PortVictoriaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5573', SouthKilkerranLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5573', WeetultaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', BrentwoodLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', CornyPointLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', MarionBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', MinlatonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', PointTurtonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', PortRickabyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', StenhouseBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5575', WoolBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5576', YorketownLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5577', WarookaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5580', CurramulkaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5581', PortVincentLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5582', StansburyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5583', CoobowieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5583', EdithburghLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5600', IronBaronLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5600', WhyallaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5600', WhyallaPlayfordLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5601', IronKnobLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5602', CowellLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5603', ArnoBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5603', WharmindaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5604', PortNeillLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5605', ButlerLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5605', TumbyBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5606', PortLincolnLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', CoffinBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', CoultaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', LouthBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', MurdingaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', PortLincolnLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', UngarraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', VenusBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', WangaryLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', WanillaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', WarrachieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5607', WarrowLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5608', WhyallaNorrieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5608', WhyallaStuartLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5609', WhyallaJenkinsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5630', EdillilieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5631', CumminsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5632', YeelannaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5633', LockLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5640', CleveLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5641', BucklebooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5641', KimbaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5642', DarkePeakLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5642', KielpaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5642', RudallLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5650', WarrambooLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5651', KyancuttaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5652', WudinnaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5653', YanineeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5654', MinnipaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5655', PoocheraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5660', CungenaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5661', WirrullaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5670', EllistonLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5671', CalcaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5671', PortKennyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5680', HaslamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5680', SmokyBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5680', StreakyBayLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5690', CedunaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5690', CoorabieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5690', PenongLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5690', ThevenardLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5690', YalataLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5700', PortAugustaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5700', PortAugustaNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5700', PortAugustaWestLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5710', CookLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5710', KingoonyaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5710', NonningLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5710', PortAugustaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5710', StirlingNorthLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5710', TarcoolaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5720', WoomeraLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5722', AndamookaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5723', CooberPedyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5724', MarlaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5724', MintabieLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5725', OlympicDamLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5725', RoxbyDownsLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5730', BeltanaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5730', BlinmanLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5730', ParachilnaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5731', LeighCreekLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5731', LyndhurstLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5732', CopleyLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5733', MarreeLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5734', OodnadattaLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5942', RegencyParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5950', AdelaideAirportLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('5950', ExportParkLbl, CreateCountryRegion.AU(), 'SA'); + ContosoAUPostCode.InsertPostCode('6000', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6003', HighgateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6003', NorthbridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6004', EastPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6005', KingsParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6005', WestPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6006', NorthPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6007', LeedervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6007', WestLeedervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6008', DaglishLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6008', ShentonParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6008', SubiacoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6009', BroadwayNedlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6009', CrawleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6009', DalkeithLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6009', NedlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6010', ClaremontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6010', ClaremontNorthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6010', KarrakattaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6010', MountClaremontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6010', SwanbourneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6011', CottesloeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6011', PeppermintGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6012', MosmanParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6014', FloreatLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6014', JolimontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6014', WembleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6015', CityBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6016', GlendaloughLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6016', MountHawthornLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6017', HerdsmanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6017', OsborneParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6018', ChurchlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6018', DoubleviewLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6018', GwelupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6018', InnalooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6018', KarrinyupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6018', WoodlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6019', ScarboroughLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6019', WembleyDownsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6020', CarineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6020', MarmionLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6020', NorthBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6020', SorrentoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6020', WatermansBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6021', BalcattaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6021', StirlingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6022', HamersleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6023', DuncraigLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6024', GreenwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6024', WarwickLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6025', CraigieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6025', HillarysLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6025', KallarooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6025', PadburyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6026', KingsleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6026', WoodvaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6027', BeldonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6027', ConnollyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6027', EdgewaterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6027', HeathridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6027', JoondalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6027', MullalooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6027', OceanReefLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6028', BurnsBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6028', CurrambineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6028', IlukaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6028', KinrossLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6029', TriggLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6030', ClarksonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6030', MerriwaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6030', MindarieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6030', QuinnsRocksLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6030', RidgewoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6030', TamalaParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6031', BanksiaGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6031', CarramarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6031', NeerabupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6032', NowergupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6033', CaraboodaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6034', EglintonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6035', YanchepLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6036', ButlerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6036', JindaleeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6037', TwoRocksLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6038', AlkimosLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6041', CarabanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6041', GabbadahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6041', GuildertonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6041', WilbingaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6041', WoodridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6042', SeabirdLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6043', BretonBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6043', LedgePointLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6044', KarakinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6044', LancelinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6044', NilgenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6044', WedgeIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6050', CoolbiniaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6050', MenoraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6050', MountLawleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6051', MaylandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6052', BedfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6052', InglewoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6053', BayswaterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6054', AshfieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6054', BassendeanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6054', EdenHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6054', KiaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6054', LockridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6055', CavershamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6055', GuildfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6055', HazelmereLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6055', HenleyBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6055', SouthGuildfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6055', WestSwanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', BaskervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', BellevueLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', BoyaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', GreenmountLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', HelenaValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', HerneHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', JaneBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', KoongamiaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', MiddleSwanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', MidlandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', MidvaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', MillendonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', Red_HillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', StrattonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', SwanViewLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', ViveashLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6056', WoodbridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6057', HighWycombeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6057', MaidaValeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6058', ForrestfieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6059', DianellaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6060', DogSwampLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6060', JoondannaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6060', TuartHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6060', YokineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6061', BalgaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6061', MirrabookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6061', NollamaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6061', WestminsterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6062', EmbletonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6062', MorleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6062', NorandaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6063', BeechboroLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6064', AlexanderHeightsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6064', GirrawheenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6064', KoondoolaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6064', MarangarooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', AshbyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', DarchLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', GnangaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', HockingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', JandabupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', KingswayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', LandsdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', LexiaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', MadeleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', MariginiupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', MelaleucaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', PearsallLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', PinjarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', SinagraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', TappingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', WangaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6065', WannerooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6066', BallajuraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6067', CullacabardeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6068', WhitemanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6069', BelhusLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6069', BrigadoonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6069', EllenbrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6069', EllenbrookEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6069', TheVinesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6069', UpperSwanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6070', DarlingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6071', GlenForrestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6071', HoveaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6072', MahoganyCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6073', MundaringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6074', SawyersValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', BickleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', CarmelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', GooseberryHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', HackettsGullyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', KalamundaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', LesmurdieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', PaullsValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', PickeringBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', PiesseBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', ReservoirLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6076', WallistonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6081', ParkervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6081', StonevilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6082', MountHelenaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6083', GidgegannupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6083', MorangupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6084', BullsbrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6084', ChitteringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6084', LowerChitteringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6090', MalagaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6100', BurswoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6100', LathlainLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6100', VictoriaParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6101', CarlisleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6101', EastVictoriaParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6102', BentleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6102', StJamesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6103', RivervaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6104', AscotLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6104', BelmontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6104', RedcliffeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6105', CloverdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6105', KewdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6105', PerthAirportLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6106', WelshpoolLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6107', BeckenhamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6107', CanningtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6107', KenwickLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6107', QueensParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6107', WattleGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6107', WilsonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6108', ThornlieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6109', MaddingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6109', OrangeGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6110', GosnellsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6110', HuntingdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6110', MartinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6110', SouthernRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', AshendonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', CanningMillsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', ChampionLakesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', KarragullenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', KelmscottLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', LesleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', RoleystoneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6111', WestfieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', ArmadaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', BedfordaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', BrookdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', ForrestdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', MountNasuraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', MountRichonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', SevilleGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6112', WungongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6121', OakfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6121', OldburyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6122', ByfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6122', CardupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6122', DarlingDownsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6122', KarrakupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6123', MundijongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6123', WhitbyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6124', JarrahdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6125', HopelandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6125', MardellaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6125', SerpentineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6126', KeysbrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6147', LangfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6147', LynwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6147', ParkwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6148', FerndaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6148', RivertonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6148', RossmoyneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6148', ShelleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6149', BullCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6149', LeemingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6150', BatemanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6150', MurdochLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6150', WinthropLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6151', KensingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6151', SouthPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6152', ComoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6152', KarawaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6152', ManningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6152', SalterPointLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6152', WaterfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6153', ApplecrossLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6153', ApplecrossNorthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6153', ArdrossLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6153', BrentwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6153', CanningBridgeApplecrossLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6153', MountPleasantLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6154', AlfredCoveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6154', BooragoonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6154', MyareeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6155', CanningValeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6155', CanningValeEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6155', CanningValeSouthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6155', WillettonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6156', AttadaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6156', MelvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6156', WillageeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6156', WillageeCentralLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6157', BictonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6157', PalmyraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6158', EastFremantleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6159', NorthFremantleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6160', FremantleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6161', RottnestIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6162', BeaconsfieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6162', SouthFremantleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6162', WhiteGumValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', BibraLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', CoolbellupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', HamiltonHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', HiltonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', KardinyaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', NorthCoogeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', NorthLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', OConnorLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', SamsonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6163', SpearwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', AtwellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', AubinGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', BanjupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', BeeliarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', HammondParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', JandakotLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', SouthLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', SuccessLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6164', YangebupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6165', HopeValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6165', NavalBaseLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6166', CoogeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6166', HendersonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6166', MunsterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6166', WattleupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', AnketellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', BertramLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', CalistaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', CasuarinaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', KwinanaBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', KwinanaTownCentreLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', MandogalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', MedinaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', OreliaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', ParmeliaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', PostansLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', TheSpectaclesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6167', WandiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6168', CooloongupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6168', EastRockinghamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6168', GardenIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6168', HillmanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6168', PeronLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6168', RockinghamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6169', SafetyBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6169', ShoalwaterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6169', WaikikiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6169', WarnbroLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6170', LedaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6170', WellardLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6171', BaldivisLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6172', PortKennedyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6173', SecretHarbourLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6174', GoldenBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6175', SingletonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6176', KarnupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6207', MyaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6207', NambeelupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6207', NorthDandalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6207', SolusLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6207', WhittakerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', BlythewoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', FairbridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', MeelonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', NirimbaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', NorthYunderupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', OakleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', PinjarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', PointGreyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', RavenswoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', SouthYunderupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6208', WestPinjarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', BarragupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', BouvardLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', CliftonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', CoodanupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', DawesvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', DudleyParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', ErskineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', FalconLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', FurnissdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', 'GREENFIELDS', CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', HallsHeadLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', HerronLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', LakelandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', MadoraBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', MandurahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', MandurahEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', MandurahNorthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', MeadowSpringsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', ParklandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', SanRemoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', SilverSandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', StakeHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6210', WannanupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6213', BanksiadaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6213', DwellingupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6213', EtmilynLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6213', HolyoakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6213', InglehopeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6213', MarrinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6213', TeesdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6214', BirchmontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6214', CoolupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6214', WestCoolupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6215', HamelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6215', LakeCliftonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6215', NangaBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6215', PrestonBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6215', WagerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6215', WaroonaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6218', YarloopLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6220', CookernupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6220', HarveyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6220', HoffmanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6220', MyalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6220', UducLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6220', WarawarrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6221', MorningtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6221', WokalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6223', BengerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6224', BeelaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6224', BrunswickLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', AllansonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', BowellingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', BuckinghamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', CardiffLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', CollieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', CollieBurnLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', HarrisRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', LyallsMillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', McalindenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', MujaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', MumballupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', MungalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', NoggerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', PalmerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', PrestonSettlementLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', ShottsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', WorsleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6225', YourdamungLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6226', RoelandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6227', BurekupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6228', WaterlooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6229', PictonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6229', PictonEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', BunburyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', CareyParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', CollegeGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', DalyellupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', DavenportLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', EastBunburyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', GelorupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', GlenIrisLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', PelicanPointLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', SouthBunburyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', UsherLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', VittoriaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6230', WithersLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6231', BunburyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6232', EatonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6232', MillbridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6233', AustralindLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6233', BinningupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6233', LeschenaultLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6233', ParkfieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6233', WellesleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', CrookedBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', DardanupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', DardanupWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', FergusonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', HentyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', ParadiseLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', WellingtonForestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6236', WellingtonMillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6237', BoyanupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6237', ElginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6237', GwindinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6237', NorthBoyanupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6237', StrathamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6237', ThePlainsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', ArgyleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', BeelerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', BrookhamptonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', CharleyCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', DonnybrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', GlenMervynLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', PaynedaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', QueenwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', ThomsonBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', UpperCapelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6239', YabberupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6240', LowdenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6243', WilgaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6243', WilgaWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6244', BoyupBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6244', ChowerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6244', DinninupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6244', KulikupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6244', MayanupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6244', ScottsBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6244', TonebridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6251', BrazierLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6251', KirupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6251', NewlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6252', MullalyupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6253', BalingupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6253', GrimwadeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6253', SouthamptonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6254', GreenbushesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6254', NorthGreenbushesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6255', BenjinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6255', BridgetownLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6255', CatterickLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6255', HesterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6255', HesterBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6255', KangarooGullyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6255', WinnejupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6256', GlenlynnLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6256', KingstonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6256', MaranupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6256', SunnysideLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6256', WandillupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6256', YornupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', BalbarrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', CroweaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', DeanmillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', DiamondTreeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', DingupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', DixvaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', DonnellyRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', GlenoranLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', JardeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', LakeMuirLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', LinfarneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', ManjimupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', MiddlesexLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', MordalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', PalgarupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', PerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', QuinninupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', RingbarkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', SmithBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', UpperWarrenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', WilgarrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6258', YanmahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6260', BiddeliaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6260', EastbrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6260', LakeJasperLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6260', PeerabeelupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6260', PembertonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6262', NorthcliffeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6271', CapelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6271', CapelRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6271', ForrestBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6271', PeppermintGroveBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6271', StirlingEstateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', BarrabupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', CarlottaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', CundinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', DarradupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', EastNannupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', JalbarragupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', JarrahwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', NannupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', ScottRiverEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6275', YoganupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', AbbaRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', AbbeyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', ActonParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', AmbergateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', AnniebrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', BoalliaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', BovellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', BroadwaterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', BusseltonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', CarbunupRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', ChapmanHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', GeographeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', HithergreenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', JindongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', KalgupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', KaloorupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', KealyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', LudlowLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', MarybrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', MetricupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', NorthJindongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', ReinscourtLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', RuabonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', SabinaRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', SiestaParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', TutunupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', VasseLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', WalsallLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', WestBusseltonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', WilyabrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', WonnerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', YalyalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', YelvertonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6280', YoongarillupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6281', DunsboroughLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6281', EagleBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6281', NaturalisteLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6281', QuedjinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6281', QuindalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6282', YallingupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6282', YallingupSidingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6284', BaudinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6284', CowaramupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6284', GracetownLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6284', TreetonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', BramleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', BurnsideLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', GnarabupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', MargaretRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', OsmingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', PrevellyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', RosaBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', RosaGlenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6285', SchroederLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6286', BoranupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6286', ForestGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6286', RedgateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6286', WitchcliffeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6288', AlexandraBridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6288', CourtenayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6288', HamelinBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6288', KarridaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6288', NillupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6288', ScottRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6288', WarnerGlenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6290', AugustaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6290', DeepdeneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6290', EastAugustaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6290', KudardupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6290', LeeuwinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6290', MolloyIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', BadginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', BalladongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', BurgesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', CaljieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', ColdHarbourLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', DaliakLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', FlintLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', FlynnLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', GilgeringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', 'GREENHILLS', CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', GwambygineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', InkpenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', KauringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', MalebellingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', MountHardeyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', MountObservationLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', NarralogganLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', QuellingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', StRonansLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', TalbotLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', TalbotWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', WilberforceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6302', YorkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6304', BallyBallyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6304', BeverleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6304', DaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6304', EastBeverleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6304', KokebyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6304', MorbinningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6304', WestdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6306', AldersydeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6306', BrooktonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6306', BulyeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6306', JelcobineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6306', KwedaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', CodjatotineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', DwardaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', EastPingellyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', GillimanningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', HastingsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', PingellyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', PumphreysBridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', SpringsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', WanderingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6308', WestPingellyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6309', EastPopanyinningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6309', PopanyinningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6309', StratherneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6309', WestPopanyinningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', CommodineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', ContineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', CuballingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', DryandraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', LolGrayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', TownsendaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', WarderingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6311', YornaningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', BoundainLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', DumberningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', HillsideLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', MiniginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', NarroginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', NarroginValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', NomansLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', ToolibinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6312', YilliminningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6313', HighburyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', ArthurRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', BallayingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', CancanningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', CollanillingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', DongolockingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', GundaringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', JaloranLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', LimeLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', MindingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', PiessevilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', WaginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6315', WedgecarrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6316', BoyerineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6316', CartmeticupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6316', GlencoeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6316', KenmareLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6316', WestwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6316', WoodanillingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', BadgebupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', BullockHillsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', CarrolupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', CoblinineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', CoyrecupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', DatatineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', EwlyamartupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', KatanningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', MarracoondaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', MoojebingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', MurdongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', PinwernyingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', SouthDatatineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6317', SouthGlencoeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6318', BroomehillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6318', BroomehillEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6318', BroomehillVillageLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6318', BroomehillWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6320', BobalongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6320', BorderdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6320', DartnallLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6320', LakeToolbrunupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6320', MooniesHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6320', TambellupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6320', WansbroughLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6321', CranbrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6322', TenterdenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6323', KendenupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', DenbarkerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', ForestHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', MountBarkerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', PerillupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', PorongurupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', SouthStirlingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', TakalarupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6324', WoogenellupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6326', NarrikupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6327', RedmondLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6327', RedmondWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', CheynesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', GnowellenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', GreenRangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', KojaneerupSouthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', ManypeaksLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', MettlerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', PalmdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6328', WellsteadLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', AlbanyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', BayonetHeadLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', BigGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', BornholmLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', CentennialParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', CollingwoodHeightsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', CollingwoodParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', CuthbertLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', DromeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', EllekerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', EmuPointLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', FrenchmanBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', GledhowLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', GoodeBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', GreenValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', KalganLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', KingRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', KronkupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', LangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', LittleGroveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', LockyerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', LowerKingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', LowlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MarbelupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MckailLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MiddletonBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MillbrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MilparaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MiraMarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MountClarenceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MountElphinstoneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', MountMelvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', NanarupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', NapierLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', NullakiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', OranaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', PortAlbanyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', RobinsonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', SandpatchLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', SeppingsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', SpencerParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', TorbayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', TorndirrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', VancouverPeninsulaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', WalmsleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', WarrenupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', WestCapeHoweLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', WillyungLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', YakamiaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6330', YoungsSidingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6331', AlbanyDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6332', AlbanyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', BowBridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', DenmarkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', HayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', HazelvaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', KentdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', KordabupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', MountLindesayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', MountRomanceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', NornalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', OceanBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', ParryvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', PeacefulBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', ScotsdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', ShadforthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', TingledaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', TrentLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6333', WilliamBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6335', GnowangerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6335', JackitupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6335', KebaringupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6335', PallinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6336', CowalellupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6336', MillsLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6336', MindarabinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6336', NeedilupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6336', OngerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6336', ToompupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6337', FitzgeraldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6337', GairdnerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6337', JacupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6337', JerramungupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6337', WestFitzgeraldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', AmelupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', BordenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', BoxwoodHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', BremerBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', MagitupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', MonjebupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', NalyerlupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', NorthStirlingsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6338', StirlingRangeNationalParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6341', NyabingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6343', PingrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6346', JerdacuttupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6346', RavensthorpeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6346', WestRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6348', HopetounLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6350', DumbleyungLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6350', NairibinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6350', NipperingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6351', MoulyinningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6351', NorthMoulyinningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6352', KukerinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6352', MerilupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6352', NorthKukerinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6352', SouthKukerinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', BeenongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', BunicheLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', KuenderLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', LakeGraceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', MalleeHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', NeendalingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', NorthBurngupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', NorthLakeGraceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', SouthLakeGraceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6353', TarinRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', Dunn_RockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', EastNewdegateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', HoltRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', LakeBiddyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', LakeCammLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', LittleItalyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', MagentaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', MountSheridanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', NewdegateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', SouthNewdegateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6355', VarleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6356', LakeKingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6356', MountMaddenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6357', PingaringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6358', KarlgarinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6359', ForrestaniaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6359', HydenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6361', HarrismithLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6361', TincurrinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6363', DudininLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6363', WalyurinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6365', JilakinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6365', JitarningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6365', KulinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6365', KulinWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6367', KondininLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6368', SouthKummininLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6369', MountWalkerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6369', NarembeenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6369', WadderinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6369', WestHolletonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6369', WoolocuttyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6370', EastWickepinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6370', KirkRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6370', MalyallingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6370', WickepinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6370', WogolinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6372', YealeringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6373', BullaringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6375', AdamsvaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6375', BilbarinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6375', CorriginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6375', GorgeRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6375', KunjinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6375', KurrenkuttenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', BadjalingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', BalkulingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', CubbineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', DanginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', DoodenanningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', DulbellingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', MountStirlingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', QuairadingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', SouthQuairadingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', WamenuskingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6383', YotingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6384', PantapinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6385', KwolyinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6386', ShackletonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', BannisterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', BoddingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', CrossmanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', LowerHothamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', MarradongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', MountCookeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', MountWellsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', NorthBannisterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', RanfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', UpperMurrayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6390', WuramingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6391', QuindanningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6391', WilliamsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6392', BokalLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6392', BooladingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6392', DarkanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6393', CorderingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6393', DuranillinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6393', MoodiarrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6393', TrigwellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6394', BeaufortRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6394', BoilupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6394', BoscabelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6394', ChangerupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6394', MuradupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6394', OrchidValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6394', QualeupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6395', CherryTreePoolLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6395', JingalupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6395', KojonupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6395', LumeahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6395', MobrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6395', RyansbrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6396', FranklandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6397', RockyGullyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6398', BrokeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6398', NorthWalpoleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6398', WalpoleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', BucklandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', BurlongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', CunjardineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', IrishtownLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', JennacubbineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', JennapullinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', MalabaineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', MeenaarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', MokineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', MuluckineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', MumberkineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', MureskLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', NorthamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', RossmoreLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', SouthernBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', SpencersBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', ThrossellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6401', WongamineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6403', GrassValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6405', GreenwoodsValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6405', MeckeringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6405', QuelagettingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6405', WardingEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6407', CunderdinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6407', WaeelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6407', WatercarrinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6407', WyolaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6407', WyolaWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6407', YoundeginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6409', DoonginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6409', TamminLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6409', YorkrakineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6410', BungullaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6410', DaadenningCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6410', KellerberrinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6410', MountCarolineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6410', NorthKellerberrinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6411', DoodlakineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6411', SouthDoodlakineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6412', BaandeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6412', NorthBaandeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6413', HinesHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6414', NangeenanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6415', GoomarinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6415', KorbelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6415', MerredinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6415', NokaningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6415', NorpaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6415', TandeginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6418', BruceRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6419', ArdathLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6420', CramphorneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6420', MuntadginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6421', BurracoppinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6421', SouthBurracoppinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6422', WalgoolanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6423', BoodarockinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6423', CarrabinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6423', WarrachuppinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6423', WestoniaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6424', BodallinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6424', NorthBodallinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6424', SouthBodallinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6425', DulyalbinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6425', MoorineRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', CorinthiaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', GhooliLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', HolletonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', MarvelLochLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', MountHamptonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', MountHollandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', MountJacksonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', MountPalmerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', ParkerRangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', SkeletonRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', SouthYilgarnLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', SouthernCrossLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', TurkeyHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6426', YellowdineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6427', KoolyanobbingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6428', BabakinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', BoorabbinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', BullabullingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', CoolgardieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', KarramindieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', LondonderryLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', MountBurgesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', VictoriaRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6429', WallarooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', BinduliLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', BroadwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', HannansLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', KalgoorlieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', KarlkurlaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', LamingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', MullingarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', PiccadillyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', SomervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', SouthKalgoorlieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', WestKalgoorlieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', WestLamingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', WilliamstownLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6430', YilkariLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', BooraraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', BrownHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', BulongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', EmuFlatLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', FeysvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', KanownaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', KookynieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', KurnalpiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', LakewoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', OraBandaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', PlumridgeLakesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6431', TrafalgarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6432', BoulderLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6432', FimistonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6432', SouthBoulderLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6432', VictoryHeightsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6433', HannansLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6433', KalgoorlieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6434', CundeeleeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6434', ForrestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6434', ParkestonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6434', RawlinnaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6434', ZanthusLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6436', MenziesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6436', UlarringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6437', LeinsterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6437', SirSamuelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6438', LakeDarlotLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6438', LeonoraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6440', BandyaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6440', BeadellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6440', CosmoNewberyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6440', LakeWellsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6440', LavertonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6440', NealeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6442', KambaldaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', BalladoniaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', CaigunaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', CocklebiddyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', DundasLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', EuclaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', FraserRangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', HigginsvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', MaduraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', MundrabillaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', NorsemanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6443', WidgiemoolthaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6445', NorthCascadeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6445', SalmonGumsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6446', GrassPatchLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6447', LortRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6447', MountNeyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6447', ScaddanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6447', WittenoomHillsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6448', GibsonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', BandyCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', BeaumontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', BoyatupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', CapeLeGrandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', CascadeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', CastletownLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', ChadwickLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', CondingupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', CoomalbidgupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', DalyupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', EastMunglinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', EsperanceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', HowickLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', MerivaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', MonjingupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', MunglinupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', MyrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', NeridupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', NulsenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', PinkLakeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', SinclairLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', WestBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6450', WindaboutLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6452', BuraminyaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6452', CapeAridLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6452', IsraeliteBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6460', GoomallingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6460', HulongineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6460', KarranadginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6460', UcartyWestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6460', WalyormouringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6461', DowerinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6461', KoomberkineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6462', HindmarshLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6462', MinnivaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6462', UcartyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6463', BenjaberringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6465', ManmanningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6466', CadouxLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6467', BurakinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6468', GoodlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6468', KalannieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6468', PetrudorLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6470', KuljaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6472', BeaconLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6472', BimbijyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6472', ClearyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6472', KarrounHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6472', MouroubraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6472', RemlapLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6473', NorthWialkiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6473', WialkiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6475', BadgerinRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6475', BooralamingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6475', DukinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6475', KoordaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6475', LakeMargaretteLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6475', MollerinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6475', NewcarlbeonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6476', GabbinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6477', BencubbinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6477', WelbunginLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', BarbalinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', BonnieRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', DandanningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', ElachbuttingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', KarloningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', LakeBrownLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', MukinbudinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', WattoningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6479', WilgoyneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6480', NukarniLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6484', BullfinchLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6484', EnnuinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6484', LakeDeborahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6485', CowcowingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6485', KorrelockingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6485', NalkainLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6485', NembuddingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6485', WyalkatchemLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6487', NorthYelbeniLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6487', SouthYelbeniLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6487', YelbeniLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6488', NorthTrayningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6488', SouthTrayningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6488', TrayningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6489', KununoppinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6489', NorthKununoppinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6489', SouthKununoppinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6490', BurranRockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6490', ChandlerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6490', ElabbinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6490', KwelkanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6490', NungarinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6490', TalgomineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6501', MucheaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6502', BindoonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6502', BindoonTrainingAreaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', BambunLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', BeermullahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', BoonanarringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', BreeraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', CoonabidgeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', CowallaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', CullallaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', 'GINGIN', CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', GinginupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', GranvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', LennardBrookLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', MindarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', MoondahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', MooreRiverNationalParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', MuckenburraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', NeergabbyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', OrangeSpringsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', RedGullyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', WanerieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6503', YealLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6504', MooliabeeneeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6505', WannamalLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6506', MogumberLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6507', CatabyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6507', CooljarlooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6507', DandaraganLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6507', MimegarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6507', RegansFordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6507', YathrooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6509', GlentromieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6509', NewNorciaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6509', WaddingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6509', YarawindahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6510', BarbertonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6510', BerkshireValleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6510', GillingarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6510', KoojanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6510', MooraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6510', WalebingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6511', CervantesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6512', CoomberdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6512', NambanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6513', GunyidiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6513', WatherooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6514', GreenHeadLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6514', LeemanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6515', CoorowLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6515', EganuLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6515', MarchageeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6515', WaddyForestLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6516', JurienBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6517', CarnamahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6518', EneabbaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6518', WarradargeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6519', ArrinoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6519', ArrowsmithEastLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6519', DudawaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6519', KadathinniLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6519', ThreeSpringsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6519', WomardenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6521', BadgingarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6521', BoothendarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6521', GreyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6521', HillRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6521', NambungLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', BundanoonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', HolmwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', IkewaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', LockierLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', MingenewLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', MooriaryLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', MountBuddLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', NangettyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', YandanookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6522', YarragadeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', AllanookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', ArrowsmithLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', BonniefieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', BookaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', DongaraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', IrwinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', MiloLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', MountAdamsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', MountHornerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', PortDenisonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', SpringfieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6525', YardarinoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6528', MountHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6528', SouthGreenoughLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6528', WalkawayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', BeachlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', BeresfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', BluffPointLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', GeraldtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', KarlooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', MahometsFlatsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', MeruLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', MoresbyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', MountTarcoolaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', RangewayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', SpaldingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', StrathalbynLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', SunsetBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', TarcoolaBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', UtakarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', WaggrakineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', WandinaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', WebbertonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', WestEndLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', WonthellaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6530', WoorreeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6531', GeraldtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', AjanaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', BinnuLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', BootenalLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', BringoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', BullerLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', BurmaRoadLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', CapeBurneyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', CoolcalalayaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', DartmoorLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', DeepdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', DindiloaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', DrummondCoveLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', DurawahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', EastChapmanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', EastNabawaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', EastYunaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', EllendaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', EraduLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', EraduSouthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', EurardyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', GeorginaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', GlenfieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', GreenoughLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', HamelinPoolLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', HicketyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', HowatharraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', KojarenaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', MarrahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', MinnenookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', MoonyoonookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', MountErinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NabawaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NansonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NaralingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NarnguluLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NarraTarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NolbaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NorthEraduLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', NorthernGullyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', OakajeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', RockwellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', RuddsGullyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', SandspringsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', SouthYunaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', TibraddenLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', ValentineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', WandanaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', WestBinnuLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', WhitePeakLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', WicherinaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', WicherinaSouthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', YetnaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6532', YunaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', AlmaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', BowesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', EastBowesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', GregoryLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', HorrocksLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', IssekaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', NorthamptonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', OgilvieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', SandyGullyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6535', YallabatharraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6536', KalbarriLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6536', KalbarriNationalParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6536', ZuytdorpLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6537', DenhamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6537', MonkeyMiaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6537', NangaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6537', UselessLoopLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6556', BeechinaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6556', ChidlowLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6556', GorrieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6556', MalmallingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6556', TheLakesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6558', WoorolooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6560', WundowieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6562', BakersHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6562', CopleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6562', WoottatingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6564', ClacklineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', BejoordingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', CaraniLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', CoondleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', CulhamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', DumbartonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', HoddysWellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', KatrineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', NunileLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', ToodyayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6566', WestToodyayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6567', DewarsPoolLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6567', JulimarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6567', MoondyneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6568', BolgartLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6568', WatteningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6568', WyeningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6569', CalingiriLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6569', OldPlainsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6571', YerecoinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6572', PiawaningLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6574', BindiBindiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6574', GabalongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6575', MilingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6603', KonnongorringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6603', LakeHindsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6603', LakeNinanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6603', MocardyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6603', WonganHillsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6605', KondutLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6606', BalliduLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6606', EastBalliduLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6606', WestBalliduLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6608', EastDamboringLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6608', MarneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6608', PitharaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6609', DalwallinuLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6609', NugadongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6609', XantippeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6612', JibberdingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6612', MiamoonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6612', PaynesFindLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6612', WubinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6613', BuntineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6614', MayaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6616', LathamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6620', PerenjoriLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6620', RothsayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6623', BowgadaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6623', BunjilLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6623', GuthaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6623', KoolanookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6623', MorawaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6623', PintharukaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6625', MerkanookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6627', CannaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6628', TardunLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', DevilsCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', MullewaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', MurchisonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', NerramyneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', NunierraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', WestCasuarinasLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', WongoondyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6630', WoolgorongLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6631', PindarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6632', AmbaniaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6632', TenindewaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6635', SouthMurchisonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6635', YalgooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6638', CooladarHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6638', DaggarHillsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6638', MountMagnetLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6638', PaynesvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6639', SandstoneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6640', CueLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6640', EastMurchisonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6640', LakeAustinLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6640', ReedyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6640', WeldRangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6642', AngeloRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6642', CapricornLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6642', KumarinaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6642', MeekatharraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6642', PeakHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6646', LakeCarnegieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6646', LittleSandyDesertLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6646', WilunaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', BabbageIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', BernierIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', BrockmanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', BrownRangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', CarnarvonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', CoralBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', DorreIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', EastCarnarvonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', GreysPlainLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', InggardaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', KennedyRangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', KingsfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', LyndonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', MacleodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', MasseyBayLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', MinilyaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', MorgantownLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', NingalooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', NorthPlantationsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', SouthCarnarvonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', SouthPlantationsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', WooramelLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6701', YandooCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6705', EastLyonsRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6705', GascoyneJunctionLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6705', GascoyneRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6705', WestLyonsRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6707', CapeRangeNationalParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6707', ExmouthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6707', ExmouthGulfLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6707', LearmonthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6707', NorthWestCapeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6710', CaneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6710', OnslowLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6710', PeedamullaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6710', TalandjiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6710', YannarieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6711', ThevenardIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6712', BarrowIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6713', DampierLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6713', DampierArchipelagoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', AntonymyreLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', BallaBallaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', BayntonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', BulgarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', BurrupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', CleavervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', CooyaPooyaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', GapRidgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', GnooreaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', KarrathaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', KarrathaIndustrialEstateLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', MaitlandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', MardieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', MillarsWellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', MountAnketellLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', MulatagaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', NickolLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', PegsCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', SherlockLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6714', StoveHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6716', FortescueLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6716', HamersleyRangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6716', MillstreamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6716', PannawonicaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6718', RoebourneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6718', WhimCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6720', CossackLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6720', PointSamsonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6720', WickhamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', IndeeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', MundabullanganaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', PardooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', PortHedlandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', RedbankLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', StrelleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', WallareenyaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6721', WedgefieldLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6722', BoodarieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6722', DeGreyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6722', FinucaneLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6722', PippingarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6722', SouthHedlandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', BilingurrLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', BroomeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', DampierPeninsulaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', DjugunLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', EightyMileBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', GingerahLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', LagrangeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', MinyirrLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', RoebuckLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6725', WaterbankLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6726', CableBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6728', DerbyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6733', KoolanIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6740', DrysdaleRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6740', KalumburuLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6740', MitchellPlateauLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6740', OombulgurriLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6740', PrinceRegentRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6740', WyndhamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6743', CambridgeGulfLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6743', DurackLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6743', GibbLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6743', KununurraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6743', LakeArgyleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6743', WarmunLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', ChichesterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', InnawangaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', JunaDownsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', KarijiniLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', MountSheilaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', MulgaDownsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', NanutarraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', RockleaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', TomPriceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6751', WittenoomLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6753', NewmanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6754', ParaburdooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6758', NullagineLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6760', MarbleBarLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6762', TelferLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6765', FitzroyCrossingLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6770', HallsCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6770', McbeathLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6770', MuellerRangesLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6770', OrdRiverLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6770', PurnululuLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6770', SturtCreekLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6770', TanamiLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6798', ChristmasIslandLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6800', 'Perth', CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6831', PerthStGeorgesTceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6832', PerthAdelaideTceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6832', PerthEastStGeorgesTceLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6837', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6838', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6839', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6840', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6841', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6842', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6843', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6844', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6845', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6846', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6847', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6848', PerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6849', PerthBcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6850', CloistersSquareLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6865', NorthbridgeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6872', WestPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6892', EastPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6901', WestLeedervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6902', LeedervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6903', LeedervilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6904', SubiacoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6905', NorthlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6906', NorthPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6907', NedlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6909', NedlandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6910', ClaremontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6911', CottesloeLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6912', MosmanParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6913', WembleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6914', BalcattaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6915', MountHawthornLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6916', OsborneParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6916', OsborneParkDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6917', OsborneParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6918', InnalooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6919', JoondalupDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6920', NorthBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6921', KarrinyupLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6922', ScarboroughLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6923', HillarysLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6924', GreenwoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6925', WallistonDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6926', KalamundaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6929', MountLawleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6931', MaylandsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6932', InglewoodLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6933', BayswaterLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6934', BassendeanLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6935', GuildfordLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6936', MidlandDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6939', TuartHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6941', MirrabookaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6942', BassendeanDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6943', MorleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6944', MalagaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6945', MalagaDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6946', WannerooLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6947', WangaraDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6951', SouthPerthLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6952', ComoLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6953', ApplecrossLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6954', BooragoonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6955', WillettonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6956', MelvilleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6957', PalmyraLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6958', RoyalAustralianNavyWarshipsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6959', FremantleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6960', MyareeBcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6961', PalmyraDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6963', HamiltonHillLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6964', SuccessLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6965', BibraLakeDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6966', KwinanaLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6967', RockinghamDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6968', RockinghamLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6969', RockinghamBeachLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6970', CanningValeDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6979', VictoriaParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6981', EastVictoriaParkLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6982', BentleyLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6983', BentleyDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6984', BelmontLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6985', CloverdaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6986', WelshpoolDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6987', CanningtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6988', ThornlieLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6989', MaddingtonLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6990', GosnellsLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6991', KelmscottLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6992', ArmadaleLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('6997', KelmscottDcLbl, CreateCountryRegion.AU(), 'WA'); + ContosoAUPostCode.InsertPostCode('7000', GlebeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7000', HobartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7000', MountStuartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7000', NorthHobartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7000', WestHobartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7001', HobartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7002', NorthHobartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7004', BatteryPointLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7004', SouthHobartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7005', DynnyrneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7005', SandyBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7005', UniversityOfTasmaniaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7006', SandyBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7007', MountNelsonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7007', TolmansHillLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7008', LenahValleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7008', 'NEW TOWN', CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7009', DerwentParkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7009', LutanaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7009', MoonahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7010', DowsingPointLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7010', GlenorchyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7010', GoodwoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7010', MontroseLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7010', RosettaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7011', AustinsFerryLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7011', BerriedaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7011', ChigwellLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7011', ClaremontLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7012', CollinsvaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7012', GlenluskLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7015', GeilstonBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7015', LindisfarneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7015', RoseBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7016', RisdonValeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7017', GrasstreeHillLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7017', HoneywoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7017', OldBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7017', OtagoLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7017', TeaTreeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', BelleriveLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', HowrahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', MontaguBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', MorningtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', RosnyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', RosnyParkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', TranmereLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7018', WarraneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7019', ClarendonValeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7019', RokebyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7020', CliftonBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7020', SandfordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7021', LauderdaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7022', SouthArmLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7023', OpossumBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7024', CremorneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7025', DulcotLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7025', RichmondLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7026', CampaniaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7027', ColebrookLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', ApsleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', BagdadLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', BothwellLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', BridgewaterLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', BrightonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', BroadmarshLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', DromedaryLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', DysartLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', ElderslieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', GagebrookLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', GrantonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', InterlakenLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', JerichoLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', KemptonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', LowerMarshesLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', MangaloreLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', MeltonMowbrayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', MienaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', PelhamLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', PontvilleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', ShannonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', SteppesLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7030', WaddamanaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7050', KingstonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7050', KingstonBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7051', KingstonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7052', BlackmansBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7053', BonnetHillLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7053', TaroonaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', BarrettaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', ConinghamLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', ElectronaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', FernTreeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', HowdenLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', LeslieValeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', MargateLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', NeikaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', RidgewayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', SnugLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7054', TinderboxLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7055', HuntingfieldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', CrabtreeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', CradocLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', GlaziersBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', GlenHuonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', GlendevieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', GroveLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', HastingsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', HuonvilleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', JudburyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', LonnavaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', LowerLongleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', LucastonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', LuneRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', LymingtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', MountainRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', PetcheysBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', RamineaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', RanelaghLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', SouthportLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', StrathblaneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', WaterlooLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', WattleGroveLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7109', WoodstockLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', AbelsBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', CygnetLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', DeepBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', EggsAndBaconBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', GardenIslandCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', GardnersBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', NichollsRivuletLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', RandallsBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7112', VeronaSandsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7113', FranklinLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7116', CairnsBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7116', CastleForbesBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7116', GeevestonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7116', PolicePointLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7116', PortHuonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7116', SurgesBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7117', DoverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7119', StonorLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', AndoverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', AntillPondsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', BadenLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', LemontLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', LevendaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', MountSeymourLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', OatlandsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', ParattahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', PawtellaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', RhyndastonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', StonehengeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', TiberiasLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', TunbridgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', TunnackLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', WhitefoordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', WoodburyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', WoodsdaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7120', YorkPlainsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7139', StrathgordonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', BlackHillsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', BoyerLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', BradysLakeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', BronteParkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', BushyParkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', ButlersGorgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', DeeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', DerwentBridgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', EllendaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', FentonburyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', FitzgeraldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', GlenfernLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', GlenoraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', GretnaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', HamiltonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', HayesLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', HollowTreeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', KaranjaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', LachlanLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', LakeStClairLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MacquariePlainsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MagraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MalbinaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MaydenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MolesworthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MoogaraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MountFieldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', MountLloydLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', NationalParkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', NewNorfolkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', OsterleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', OuseLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', PlentyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', RosegarlandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', SorellCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', StricklandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', TarraleahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', TyennaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', UxbridgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', VictoriaValleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', WayatinahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7140', WesterwayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', AdventureBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', AllensRivuletLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', AlonnahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', BarnesBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', DennesPointLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', GordonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', GreatBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', KaootaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', KilloraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', LongleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', LunawannaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', OysterCoveLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', PelverataLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', SandflyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', SimpsonsBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7150', UpperWoodstockLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7151', CaseyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7151', DavisLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7151', MacquarieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7151', MacquarieIslandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7151', MawsonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7155', KetteringLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7162', BirchsBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7162', WoodbridgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7163', FlowerpotLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7163', MiddletonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7170', ActonParkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7170', CambridgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7170', MountRumneyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7170', RochesBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7170', SevenMileBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7171', MidwayPointLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7171', PennaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7172', NugentLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7172', OrieltonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7172', PawleenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7172', SorellLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7172', WattleHillLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7173', CarltonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7173', ConnellysMarshLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7173', DodgesFerryLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7173', ForcettLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7173', LewishamLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7173', PrimroseSandsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7174', CoppingLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7175', BreamCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7175', MarionBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7176', KellevieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7177', DunalleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7178', MurdunnaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7179', EaglehawkNeckLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7180', TarannaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7182', PortArthurLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7183', HighcroftLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7184', NubeenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7184', StormleaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7185', PremaydenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7186', SaltwaterRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7187', KoonyaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', ApslawnLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', BucklandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', CranbrookLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', LittleSwanportLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', OrfordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', RunnymedeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', SpringBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', SwanseaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7190', TriabunnaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7209', RossLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7210', 'CAMPBELL TOWN', CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7210', LakeLeakeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7211', ClevelandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7211', ConaraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7211', EppingForestLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7212', BlessingtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7212', BurnsCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7212', DeddingtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7212', EvandaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7212', NileLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7212', WesternJunctionLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7213', AvocaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7213', RossardenLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7213', RoyalGeorgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7214', FingalLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7214', ManganaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7214', MathinnaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7214', UpperEskLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', BeaumarisLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', BichenoLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', ChainOfLagoonsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', ColesBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', CornwallLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', DouglasRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', FalmouthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', FourMileCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', GrayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', ScamanderLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', SeymourLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7215', StMarysLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', AkaroaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', AnsonsBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', BinalongBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', GoshenLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', GouldsCountryLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', LottahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', PyenganaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', StHelensLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7216', StieglitzLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7248', InvermayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7248', MayfieldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7248', MowbrayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7248', NewnhamLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7248', RocherleaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7249', KingsMeadowsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7249', PunchbowlLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7249', SouthLauncestonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7249', YoungtownLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', EastLauncestonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', LauncestonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', NewsteadLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', NorwoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', ProspectLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', ProspectValeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', RavenswoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', RiversideLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', StLeonardsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', 'SUMMERHILL', CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', TravellersRestLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', TrevallynLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', WaverleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7250', WestLauncestonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', BeechfordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', DilstonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', HillwoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', LefroyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', LulworthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', MountDirectionLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', PipersRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', SwanBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', WeymouthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7252', WindermereLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7253', BellBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7253', 'GEORGE TOWN', CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7253', LowHeadLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7254', BellinghamLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7254', GolcondaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7254', LebrinaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7254', PipersBrookLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7254', RetreatLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7254', TunnelLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7254', WyenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', BlueRocksLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', EmitaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', KilliecrankieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', LackranaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', LadyBarronLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', LoccotaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', LughrataLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', MemanaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', PalanaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', RangaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7255', WhitemarkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7256', CurrieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7256', EggLagoonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7256', GrassyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7257', CapeBarrenIslandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7258', BreadalbaneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7258', RelbiaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7258', WhiteHillsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7259', Myrtle_BankLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7259', NunamaraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7259', PatersoniaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7259', TargaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7259', TayeneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', BlumontLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', JetsonvilleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', LietinnaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', LisleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', NabowlaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', ScottsdaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', SpringfieldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', TonganahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7260', TulendeenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7261', BranxholmLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7262', BridportLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7262', TomahawkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7262', WaterhouseLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7263', LegerwoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7263', RingaroomaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', CapePortlandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', DerbyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', GladstoneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', HerrickLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', MoorinaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', MusselroeBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', PioneerLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', SouthMountCameronLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7264', WeldboroughLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7265', WinnaleahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7267', BangorLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7267', KaroolaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7267', LallaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7267', TurnersMarshLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7268', LilydaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7268', NorthLilydaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7268', UnderwoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', BeaconsfieldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', BeautyPointLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', ClarencePointLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', FloweryGullyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', GreensBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', KayenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', KelsoLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', RowellaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7270', SidmouthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', BlackwallLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', DeviotLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', ExeterLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', FrankfordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', GlengarryLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', HolwellLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', LanenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', LoiraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', NotleyHillsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', RobiganaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7275', WinkleighLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7276', GravellyBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7277', BridgenorthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7277', GrindelwaldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7277', LeganaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7277', RosevearsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7290', HadspenLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7291', CarrickLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7292', HagleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7292', RosevaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7292', SelbourneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7292', WestwoodLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7300', DevonHillsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7300', PerthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7300', PowrannaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7301', BishopsbourneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7301', BlackwoodCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7301', LiffeyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7301', LongfordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7301', ToiberryLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7302', BracknellLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7302', CressyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7302', PoatinaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7303', BirraleeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7303', ExtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7303', WestburyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7303', WhitemoreLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', BreonaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', CavesideLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', ChudleighLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', DairyPlainsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', DeloraineLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', DunorlanLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', ElizabethTownLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', GoldenValleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', JackeysMarshLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', KimberleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', MayberryLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', MeanderLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', MerseyForestLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', MoleCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', MoltemaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', MontanaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', NeedlesLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', ParkhamLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', RedHillsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', ReedyMarshLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', WeegenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', WeetahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7304', WesternCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7305', MerseyleaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7305', RailtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7305', SunnysideLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', AcaciaHillsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', BarringtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', BeulahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', ClaudeRoadLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', CradleMountainLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', GowrieParkLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', LorinnaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', NookLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', ParadiseLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', RolandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', SheffieldLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', StavertonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7306', StoodleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', HarfordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', HawleyBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', LatrobeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', MoriartyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', NorthdownLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', PortSorellLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', SassafrasLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', ShearwaterLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', ThirlstaneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7307', WesleyValeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', AberdeenLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', DevonportLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', DonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', ErribaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', EugenanaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', ForthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', KindredLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', LillicoLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', MelroseLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', MiandettaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', MoinaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', PaloonaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', QuoibaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', SpreytonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', WestDevonportLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7310', WilmotLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', AbbotshamLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', GawlerLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', GunnsPlainsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', LeithLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', NiettaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', NorthMottonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', PrestonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', SpalfordLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', SprentLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', TurnersBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', UlverstoneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7315', UpperCastraLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', CamenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', CupronaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', HeybridgeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', HowthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', LoyeteaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', PenguinLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', PreservationBayLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', RianaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', SouthRianaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', SulphurCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7316', WestPineLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', BrooklynLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', BurnieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', CooeeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', HavenviewLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', HillcrestLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', MontelloLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', RomaineLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7320', WivenhoeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', BlackRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', BoatHarbourLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', BoatHarbourBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', HampshireLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', HighclereLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', MawbannaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', NatoneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', ParraweLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', RidgleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', RockyCapeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', SavageRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', SistersBeachLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', StowportLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', TullahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7321', WaratahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7322', SomersetLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', CalderLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', DoctorsRocksLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', ElliottLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', FlowerdaleLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', LapoinyaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', MeunnaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', MilabenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', MoorleahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', MountHicksLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', MyallaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', OldinaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', PreolennaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', SistersCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', TableCapeLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', TakoneLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', WynyardLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7325', YollaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', AlcomieLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', ArthurRiverLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', BrittonsSwampLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', ChristmasHillsLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', EdithCreekLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', ForestLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', IrishtownLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', LileahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', MarrawahLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', MellaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', MenghaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', MontaguLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', NabageenaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', RedpaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', SmithtonLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', ThreeHummockIslandLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', TogariLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', TrowuttaLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7330', WoolnorthLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7331', StanleyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7467', QueenstownLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7468', StrahanLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7469', RenisonBellLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7469', ZeehanLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('7470', RoseberyLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoAUPostCode.InsertPostCode('800', DarwinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8001', MelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8002', EastMelbourneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8003', CollinsStreetEastLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8004', StKildaRoadLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8005', WorldTradeCentreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8006', AbeckettStreetLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8007', CollinsStreetWestLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8008', StKildaRoadCentralLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8009', FlindersLaneLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('801', DarwinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8010', LawCourtsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('804', ParapLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', AlawaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', BrinkinLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', CasuarinaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', CoconutGroveLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', JingiliLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', LeePointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', MillnerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', MoilLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', NakaraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', NightcliffLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', RapidCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', TiwiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', WagamanLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('810', WanguriLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('811', CasuarinaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', AnulaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', KaramaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', LeanyerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', MalakLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', MarraraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', SandersonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', WoodleighGardensLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('812', WulagiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('813', SandersonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('814', NightcliffLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('815', CharlesDarwinUniversityLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', BagotLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', CoonawarraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', EastPointLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', FannieBayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', LarrakeyahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', LudmillaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', ParapLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', StuartParkLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', TheGardensLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', TheNarrowsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', WinnellieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('820', WoolnerLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('821', WinnellieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', AnguruguLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', CrokerIslandLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', DalyRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', DarwinMcLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', DelissavilleLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', GaliwinkuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', GoulburnIslandLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', ManingridaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', MilingimbiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', MinjilangLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', NguiuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', OenpelliLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', PularumpiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', RaminginingLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', UmbakumbaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', WadeyeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('822', WinnellieLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('828', BerrimahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('829', PinelandsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', ArcherLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', DriverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', FarrarLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', GrayLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', MarlowLagoonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', MouldenLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', PalmerstonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', WoodroffeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('830', YarrawongaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('831', PalmerstonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('832', BakewellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('832', BellamackLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('832', GunnLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('832', MitchellLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('832', RoseberyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('835', CoolalingaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('835', HowardSpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('835', VirginiaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('836', HumptyDooLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('837', NoonamahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('838', BerrySpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('840', DundeeBeachLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('845', BatchelorLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('846', AdelaideRiverLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('847', PineCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('850', KatherineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('8507', CarltonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('851', KatherineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', DalyWatersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', KatherineLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', LajamanuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', LarrimahLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', MaranboyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', MatarankaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', NgukurrLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', NumbulwarLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('852', VictoriaRiverDownsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('853', TindalRaafLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('854', BorroloolaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('860', TennantCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('861', TennantCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('862', ElliottLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('862', NewcastleWatersLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('862', TennantCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('862', WarregoLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('870', AliceSpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('871', AliceSpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', AliCurungLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', AliceSpringsLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', AreyongaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', BarrowCreekLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', ErnabellaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', FinkeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', FregonLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', HaastsBluffLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', HermannsburgLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', KaltukatjaraLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', KintoreLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', NyirripiLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', PapunyaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', SantaTeresaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', TiTreeLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', YuendumuLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('872', YularaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('880', NhulunbuyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('880', YirrkalaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('881', NhulunbuyLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('885', AlyangulaLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('886', JabiruLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoAUPostCode.InsertPostCode('909', CharlesDarwinUniversityLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('9726', GoldCoastMcLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoAUPostCode.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-CB3 7GG', CambridgeGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-CF22 1XU', CardiffGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-DY5 4DJ', DudleyGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-E12 5TG', EdinburghGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-EH16 8JS', EdinburghGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-GL1 9HM', GloucesterGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-GL78 5TT', CheltenhamGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-GU3 2SE', GuildfordGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-GU7 5GT', GuildfordGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-L18 6SA', LiverpoolGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-ME5 6RL', MaidstoneGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-MK41 5AE', BedfordGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-NE21 3YG', NewcastleGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-NP5 6GH', NewportGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-PE17 4RN', CambridgeGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-PE21 3TG', PeterboroughGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-SA1 2HS', SwanseaGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-SA3 7HI', StratfordGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-SK21 5DL', MacclesfieldGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-TN27 6YD', AshfordGBLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + ContosoAUPostCode.SetOverwriteData(false); + end; + + var + AustraliaSquareLbl: Label 'AUSTRALIA SQUARE', MaxLength = 30; + GrosvenorPlaceLbl: Label 'GROSVENOR PLACE', MaxLength = 30; + RoyalExchangeLbl: Label 'ROYAL EXCHANGE', MaxLength = 30; + QueenVictoriaBuildingLbl: Label 'QUEEN VICTORIA BUILDING', MaxLength = 30; + SydneySouthLbl: Label 'SYDNEY SOUTH', MaxLength = 30; + HaymarketLbl: Label 'HAYMARKET', MaxLength = 30; + DarlinghurstLbl: Label 'DARLINGHURST', MaxLength = 30; + PottsPointLbl: Label 'POTTS POINT', MaxLength = 30; + KingsCrossLbl: Label 'KINGS CROSS', MaxLength = 30; + WoollahraLbl: Label 'WOOLLAHRA', MaxLength = 30; + BondiJunctionLbl: Label 'BONDI JUNCTION', MaxLength = 30; + DoubleBayLbl: Label 'DOUBLE BAY', MaxLength = 30; + AlexandriaLbl: Label 'ALEXANDRIA', MaxLength = 30; + RoseberyLbl: Label 'ROSEBERY', MaxLength = 30; + CamperdownLbl: Label 'CAMPERDOWN', MaxLength = 30; + BotanyLbl: Label 'BOTANY', MaxLength = 30; + MascotLbl: Label 'MASCOT', MaxLength = 30; + KensingtonLbl: Label 'KENSINGTON', MaxLength = 30; + UnswSydneyLbl: Label 'UNSW SYDNEY', MaxLength = 30; + DrummoyneLbl: Label 'DRUMMOYNE', MaxLength = 30; + MarrickvilleLbl: Label 'MARRICKVILLE', MaxLength = 30; + KingsgroveLbl: Label 'KINGSGROVE', MaxLength = 30; + HurstvilleBcLbl: Label 'HURSTVILLE BC', MaxLength = 30; + KogarahLbl: Label 'KOGARAH', MaxLength = 30; + MirandaLbl: Label 'MIRANDA', MaxLength = 30; + CaringbahLbl: Label 'CARINGBAH', MaxLength = 30; + SutherlandLbl: Label 'SUTHERLAND', MaxLength = 30; + WestChatswoodLbl: Label 'WEST CHATSWOOD', MaxLength = 30; + NorthbridgeLbl: Label 'NORTHBRIDGE', MaxLength = 30; + MilsonsPointLbl: Label 'MILSONS POINT', MaxLength = 30; + ArtarmonLbl: Label 'ARTARMON', MaxLength = 30; + CrowsNestLbl: Label 'CROWS NEST', MaxLength = 30; + StLeonardsLbl: Label 'ST LEONARDS', MaxLength = 30; + LaneCoveLbl: Label 'LANE COVE', MaxLength = 30; + HornsbyLbl: Label 'HORNSBY', MaxLength = 30; + HornsbyWestfieldLbl: Label 'HORNSBY WESTFIELD', MaxLength = 30; + FrenchsForestLbl: Label 'FRENCHS FOREST', MaxLength = 30; + ManlyLbl: Label 'MANLY', MaxLength = 30; + MonaValeLbl: Label 'MONA VALE', MaxLength = 30; + NorthRydeBcLbl: Label 'NORTH RYDE BC', MaxLength = 30; + GladesvilleLbl: Label 'GLADESVILLE', MaxLength = 30; + RydeLbl: Label 'RYDE', MaxLength = 30; + WestRydeLbl: Label 'WEST RYDE', MaxLength = 30; + ErmingtonLbl: Label 'ERMINGTON', MaxLength = 30; + RydalmereBcLbl: Label 'RYDALMERE BC', MaxLength = 30; + EppingLbl: Label 'EPPING', MaxLength = 30; + PennantHillsLbl: Label 'PENNANT HILLS', MaxLength = 30; + SevenHillsLbl: Label 'SEVEN HILLS', MaxLength = 30; + NorthParramattaLbl: Label 'NORTH PARRAMATTA', MaxLength = 30; + BaulkhamHillsLbl: Label 'BAULKHAM HILLS', MaxLength = 30; + CastleHillLbl: Label 'CASTLE HILL', MaxLength = 30; + StMarysLbl: Label 'ST MARYS', MaxLength = 30; + AshfieldLbl: Label 'ASHFIELD', MaxLength = 30; + BurwoodLbl: Label 'BURWOOD', MaxLength = 30; + SilverwaterLbl: Label 'SILVERWATER', MaxLength = 30; + LidcombeLbl: Label 'LIDCOMBE', MaxLength = 30; + AuburnLbl: Label 'AUBURN', MaxLength = 30; + WetherillParkDcLbl: Label 'WETHERILL PARK DC', MaxLength = 30; + FairfieldLbl: Label 'FAIRFIELD', MaxLength = 30; + LiverpoolLbl: Label 'LIVERPOOL', MaxLength = 30; + MoorebankLbl: Label 'MOOREBANK', MaxLength = 30; + BankstownLbl: Label 'BANKSTOWN', MaxLength = 30; + IngleburnLbl: Label 'INGLEBURN', MaxLength = 30; + MilperraLbl: Label 'MILPERRA', MaxLength = 30; + AustralianNationalUniversityLbl: Label 'AUSTRALIAN NATIONAL UNIVERSITY', MaxLength = 30; + DarlingHarbourLbl: Label 'DARLING HARBOUR', MaxLength = 30; + DawesPointLbl: Label 'DAWES POINT', MaxLength = 30; + MillersPointLbl: Label 'MILLERS POINT', MaxLength = 30; + SydneyLbl: Label 'SYDNEY', MaxLength = 30; + TheRocksLbl: Label 'THE ROCKS', MaxLength = 30; + WorldSquareLbl: Label 'WORLD SQUARE', MaxLength = 30; + EasternSuburbsMcLbl: Label 'EASTERN SUBURBS MC', MaxLength = 30; + TheUniversityOfSydneyLbl: Label 'THE UNIVERSITY OF SYDNEY', MaxLength = 30; + BroadwayLbl: Label 'BROADWAY', MaxLength = 30; + UltimoLbl: Label 'ULTIMO', MaxLength = 30; + ChippendaleLbl: Label 'CHIPPENDALE', MaxLength = 30; + DarlingtonLbl: Label 'DARLINGTON', MaxLength = 30; + PyrmontLbl: Label 'PYRMONT', MaxLength = 30; + SurryHillsLbl: Label 'SURRY HILLS', MaxLength = 30; + ElizabethBayLbl: Label 'ELIZABETH BAY', MaxLength = 30; + RushcuttersBayLbl: Label 'RUSHCUTTERS BAY', MaxLength = 30; + WoolloomoolooLbl: Label 'WOOLLOOMOOLOO', MaxLength = 30; + StrawberryHillsLbl: Label 'STRAWBERRY HILLS', MaxLength = 30; + BeaconsfieldLbl: Label 'BEACONSFIELD', MaxLength = 30; + EveleighLbl: Label 'EVELEIGH', MaxLength = 30; + RedfernLbl: Label 'REDFERN', MaxLength = 30; + WaterlooLbl: Label 'WATERLOO', MaxLength = 30; + ZetlandLbl: Label 'ZETLAND', MaxLength = 30; + EastlakesLbl: Label 'EASTLAKES', MaxLength = 30; + BanksmeadowLbl: Label 'BANKSMEADOW', MaxLength = 30; + SydneyDomesticAirportLbl: Label 'SYDNEY DOMESTIC AIRPORT', MaxLength = 30; + SydneyInternationalAirportLbl: Label 'SYDNEY INTERNATIONAL AIRPORT', MaxLength = 30; + CentennialParkLbl: Label 'CENTENNIAL PARK', MaxLength = 30; + PaddingtonLbl: Label 'PADDINGTON', MaxLength = 30; + QueensParkLbl: Label 'QUEENS PARK', MaxLength = 30; + BellevueHillLbl: Label 'BELLEVUE HILL', MaxLength = 30; + BronteLbl: Label 'BRONTE', MaxLength = 30; + WaverleyLbl: Label 'WAVERLEY', MaxLength = 30; + BondiLbl: Label 'BONDI', MaxLength = 30; + BondiBeachLbl: Label 'BONDI BEACH', MaxLength = 30; + TamaramaLbl: Label 'TAMARAMA', MaxLength = 30; + DarlingPointLbl: Label 'DARLING POINT', MaxLength = 30; + EdgecliffLbl: Label 'EDGECLIFF', MaxLength = 30; + PointPiperLbl: Label 'POINT PIPER', MaxLength = 30; + RoseBayLbl: Label 'ROSE BAY', MaxLength = 30; + DoverHeightsLbl: Label 'DOVER HEIGHTS', MaxLength = 30; + RoseBayNorthLbl: Label 'ROSE BAY NORTH', MaxLength = 30; + VaucluseLbl: Label 'VAUCLUSE', MaxLength = 30; + WatsonsBayLbl: Label 'WATSONS BAY', MaxLength = 30; + ClovellyLbl: Label 'CLOVELLY', MaxLength = 30; + ClovellyWestLbl: Label 'CLOVELLY WEST', MaxLength = 30; + RandwickLbl: Label 'RANDWICK', MaxLength = 30; + StPaulsLbl: Label 'ST PAULS', MaxLength = 30; + DaceyvilleLbl: Label 'DACEYVILLE', MaxLength = 30; + KingsfordLbl: Label 'KINGSFORD', MaxLength = 30; + CoogeeLbl: Label 'COOGEE', MaxLength = 30; + MaroubraLbl: Label 'MAROUBRA', MaxLength = 30; + PagewoodLbl: Label 'PAGEWOOD', MaxLength = 30; + ChifleyLbl: Label 'CHIFLEY', MaxLength = 30; + EastgardensLbl: Label 'EASTGARDENS', MaxLength = 30; + HillsdaleLbl: Label 'HILLSDALE', MaxLength = 30; + LaPerouseLbl: Label 'LA PEROUSE', MaxLength = 30; + LittleBayLbl: Label 'LITTLE BAY', MaxLength = 30; + MalabarLbl: Label 'MALABAR', MaxLength = 30; + MatravilleLbl: Label 'MATRAVILLE', MaxLength = 30; + PhillipBayLbl: Label 'PHILLIP BAY', MaxLength = 30; + PortBotanyLbl: Label 'PORT BOTANY', MaxLength = 30; + GlebeLbl: Label 'GLEBE', MaxLength = 30; + AnnandaleLbl: Label 'ANNANDALE', MaxLength = 30; + RozelleLbl: Label 'ROZELLE', MaxLength = 30; + LeichhardtLbl: Label 'LEICHHARDT', MaxLength = 30; + LilyfieldLbl: Label 'LILYFIELD', MaxLength = 30; + BalmainLbl: Label 'BALMAIN', MaxLength = 30; + BirchgroveLbl: Label 'BIRCHGROVE', MaxLength = 30; + EnmoreLbl: Label 'ENMORE', MaxLength = 30; + ErskinevilleLbl: Label 'ERSKINEVILLE', MaxLength = 30; + StPetersLbl: Label 'ST PETERS', MaxLength = 30; + SydenhamLbl: Label 'SYDENHAM', MaxLength = 30; + TempeLbl: Label 'TEMPE', MaxLength = 30; + HaberfieldLbl: Label 'HABERFIELD', MaxLength = 30; + AbbotsfordLbl: Label 'ABBOTSFORD', MaxLength = 30; + CanadaBayLbl: Label 'CANADA BAY', MaxLength = 30; + ChiswickLbl: Label 'CHISWICK', MaxLength = 30; + FiveDockLbl: Label 'FIVE DOCK', MaxLength = 30; + RoddPointLbl: Label 'RODD POINT', MaxLength = 30; + RussellLeaLbl: Label 'RUSSELL LEA', MaxLength = 30; + WareembaLbl: Label 'WAREEMBA', MaxLength = 30; + StanmoreLbl: Label 'STANMORE', MaxLength = 30; + WestgateLbl: Label 'WESTGATE', MaxLength = 30; + LewishamLbl: Label 'LEWISHAM', MaxLength = 30; + PetershamLbl: Label 'PETERSHAM', MaxLength = 30; + MissendenRoadLbl: Label 'MISSENDEN ROAD', MaxLength = 30; + ChatswoodLbl: Label 'CHATSWOOD', MaxLength = 30; + NorthSydneyLbl: Label 'NORTH SYDNEY', MaxLength = 30; + LavenderBayLbl: Label 'LAVENDER BAY', MaxLength = 30; + McmahonsPointLbl: Label 'MCMAHONS POINT', MaxLength = 30; + NorthSydneyShoppingworldLbl: Label 'NORTH SYDNEY SHOPPINGWORLD', MaxLength = 30; + WavertonLbl: Label 'WAVERTON', MaxLength = 30; + KirribilliLbl: Label 'KIRRIBILLI', MaxLength = 30; + CammerayLbl: Label 'CAMMERAY', MaxLength = 30; + GreenwichLbl: Label 'GREENWICH', MaxLength = 30; + NaremburnLbl: Label 'NAREMBURN', MaxLength = 30; + RoyalNorthShoreHospitalLbl: Label 'ROYAL NORTH SHORE HOSPITAL', MaxLength = 30; + WollstonecraftLbl: Label 'WOLLSTONECRAFT', MaxLength = 30; + LaneCoveNorthLbl: Label 'LANE COVE NORTH', MaxLength = 30; + LaneCoveWestLbl: Label 'LANE COVE WEST', MaxLength = 30; + LinleyPointLbl: Label 'LINLEY POINT', MaxLength = 30; + LonguevilleLbl: Label 'LONGUEVILLE', MaxLength = 30; + NorthwoodLbl: Label 'NORTHWOOD', MaxLength = 30; + RiverviewLbl: Label 'RIVERVIEW', MaxLength = 30; + ChatswoodWestLbl: Label 'CHATSWOOD WEST', MaxLength = 30; + CastlecragLbl: Label 'CASTLECRAG', MaxLength = 30; + MiddleCoveLbl: Label 'MIDDLE COVE', MaxLength = 30; + NorthWilloughbyLbl: Label 'NORTH WILLOUGHBY', MaxLength = 30; + WilloughbyLbl: Label 'WILLOUGHBY', MaxLength = 30; + CastleCoveLbl: Label 'CASTLE COVE', MaxLength = 30; + RosevilleLbl: Label 'ROSEVILLE', MaxLength = 30; + EastLindfieldLbl: Label 'EAST LINDFIELD', MaxLength = 30; + LindfieldLbl: Label 'LINDFIELD', MaxLength = 30; + LindfieldWestLbl: Label 'LINDFIELD WEST', MaxLength = 30; + KillaraLbl: Label 'KILLARA', MaxLength = 30; + GordonLbl: Label 'GORDON', MaxLength = 30; + PymbleLbl: Label 'PYMBLE', MaxLength = 30; + WestPymbleLbl: Label 'WEST PYMBLE', MaxLength = 30; + NorthTurramurraLbl: Label 'NORTH TURRAMURRA', MaxLength = 30; + SouthTurramurraLbl: Label 'SOUTH TURRAMURRA', MaxLength = 30; + TurramurraLbl: Label 'TURRAMURRA', MaxLength = 30; + WarraweeLbl: Label 'WARRAWEE', MaxLength = 30; + StIvesLbl: Label 'ST IVES', MaxLength = 30; + NormanhurstLbl: Label 'NORMANHURST', MaxLength = 30; + WahroongaLbl: Label 'WAHROONGA', MaxLength = 30; + AsquithLbl: Label 'ASQUITH', MaxLength = 30; + WaitaraLbl: Label 'WAITARA', MaxLength = 30; + MountColahLbl: Label 'MOUNT COLAH', MaxLength = 30; + MountKuringGaiLbl: Label 'MOUNT KURING-GAI', MaxLength = 30; + BerowraLbl: Label 'BEROWRA', MaxLength = 30; + CowanLbl: Label 'COWAN', MaxLength = 30; + BerowraHeightsLbl: Label 'BEROWRA HEIGHTS', MaxLength = 30; + BerowraWatersLbl: Label 'BEROWRA WATERS', MaxLength = 30; + BrooklynLbl: Label 'BROOKLYN', MaxLength = 30; + DangarIslandLbl: Label 'DANGAR ISLAND', MaxLength = 30; + MilsonsPassageLbl: Label 'MILSONS PASSAGE', MaxLength = 30; + MooneyMooneyLbl: Label 'MOONEY MOONEY', MaxLength = 30; + DuffysForestLbl: Label 'DUFFYS FOREST', MaxLength = 30; + TerreyHillsLbl: Label 'TERREY HILLS', MaxLength = 30; + BelroseLbl: Label 'BELROSE', MaxLength = 30; + BelroseWestLbl: Label 'BELROSE WEST', MaxLength = 30; + DavidsonLbl: Label 'DAVIDSON', MaxLength = 30; + ForestvilleLbl: Label 'FORESTVILLE', MaxLength = 30; + KillarneyHeightsLbl: Label 'KILLARNEY HEIGHTS', MaxLength = 30; + MosmanLbl: Label 'MOSMAN', MaxLength = 30; + SpitJunctionLbl: Label 'SPIT JUNCTION', MaxLength = 30; + NeutralBayLbl: Label 'NEUTRAL BAY', MaxLength = 30; + NeutralBayJunctionLbl: Label 'NEUTRAL BAY JUNCTION', MaxLength = 30; + CremorneLbl: Label 'CREMORNE', MaxLength = 30; + CremorneJunctionLbl: Label 'CREMORNE JUNCTION', MaxLength = 30; + SeaforthLbl: Label 'SEAFORTH', MaxLength = 30; + BalgowlahLbl: Label 'BALGOWLAH', MaxLength = 30; + ClontarfLbl: Label 'CLONTARF', MaxLength = 30; + ManlyValeLbl: Label 'MANLY VALE', MaxLength = 30; + FairlightLbl: Label 'FAIRLIGHT', MaxLength = 30; + CurlCurlLbl: Label 'CURL CURL', MaxLength = 30; + HarbordLbl: Label 'HARBORD', MaxLength = 30; + QueenscliffLbl: Label 'QUEENSCLIFF', MaxLength = 30; + CollaroyLbl: Label 'COLLAROY', MaxLength = 30; + CollaroyBeachLbl: Label 'COLLAROY BEACH', MaxLength = 30; + WheelerHeightsLbl: Label 'WHEELER HEIGHTS', MaxLength = 30; + CromerLbl: Label 'CROMER', MaxLength = 30; + DeeWhyLbl: Label 'DEE WHY', MaxLength = 30; + NarraweenaLbl: Label 'NARRAWEENA', MaxLength = 30; + NorthCurlCurlLbl: Label 'NORTH CURL CURL', MaxLength = 30; + WingalaLbl: Label 'WINGALA', MaxLength = 30; + AllambieHeightsLbl: Label 'ALLAMBIE HEIGHTS', MaxLength = 30; + BeaconHillLbl: Label 'BEACON HILL', MaxLength = 30; + BrookvaleLbl: Label 'BROOKVALE', MaxLength = 30; + NorthManlyLbl: Label 'NORTH MANLY', MaxLength = 30; + OxfordFallsLbl: Label 'OXFORD FALLS', MaxLength = 30; + WarringahMallLbl: Label 'WARRINGAH MALL', MaxLength = 30; + ElanoraHeightsLbl: Label 'ELANORA HEIGHTS', MaxLength = 30; + InglesideLbl: Label 'INGLESIDE', MaxLength = 30; + NarrabeenLbl: Label 'NARRABEEN', MaxLength = 30; + WarriewoodLbl: Label 'WARRIEWOOD', MaxLength = 30; + WarriewoodShoppingSquareLbl: Label 'WARRIEWOOD SHOPPING SQUARE', MaxLength = 30; + BayviewLbl: Label 'BAYVIEW', MaxLength = 30; + ChurchPointLbl: Label 'CHURCH POINT', MaxLength = 30; + ElvinaBayLbl: Label 'ELVINA BAY', MaxLength = 30; + LovettBayLbl: Label 'LOVETT BAY', MaxLength = 30; + ScotlandIslandLbl: Label 'SCOTLAND ISLAND', MaxLength = 30; + NewportLbl: Label 'NEWPORT', MaxLength = 30; + NewportBeachLbl: Label 'NEWPORT BEACH', MaxLength = 30; + AvalonBeachLbl: Label 'AVALON BEACH', MaxLength = 30; + BilgolaLbl: Label 'BILGOLA', MaxLength = 30; + CareelBayLbl: Label 'CAREEL BAY', MaxLength = 30; + WhaleBeachLbl: Label 'WHALE BEACH', MaxLength = 30; + PalmBeachLbl: Label 'PALM BEACH', MaxLength = 30; + TheBasinLbl: Label 'THE BASIN', MaxLength = 30; + MacquarieUniversityLbl: Label 'MACQUARIE UNIVERSITY', MaxLength = 30; + HuntersHillLbl: Label 'HUNTERS HILL', MaxLength = 30; + WoolwichLbl: Label 'WOOLWICH', MaxLength = 30; + HenleyLbl: Label 'HENLEY', MaxLength = 30; + HuntleysCoveLbl: Label 'HUNTLEYS COVE', MaxLength = 30; + HuntleysPointLbl: Label 'HUNTLEYS POINT', MaxLength = 30; + MonashParkLbl: Label 'MONASH PARK', MaxLength = 30; + TennysonPointLbl: Label 'TENNYSON POINT', MaxLength = 30; + DenistoneEastLbl: Label 'DENISTONE EAST', MaxLength = 30; + PutneyLbl: Label 'PUTNEY', MaxLength = 30; + BlenheimRoadLbl: Label 'BLENHEIM ROAD', MaxLength = 30; + EastRydeLbl: Label 'EAST RYDE', MaxLength = 30; + MacquarieCentreLbl: Label 'MACQUARIE CENTRE', MaxLength = 30; + MacquarieParkLbl: Label 'MACQUARIE PARK', MaxLength = 30; + NorthRydeLbl: Label 'NORTH RYDE', MaxLength = 30; + DenistoneLbl: Label 'DENISTONE', MaxLength = 30; + DenistoneWestLbl: Label 'DENISTONE WEST', MaxLength = 30; + MeadowbankLbl: Label 'MEADOWBANK', MaxLength = 30; + MelroseParkLbl: Label 'MELROSE PARK', MaxLength = 30; + RydalmereLbl: Label 'RYDALMERE', MaxLength = 30; + DundasLbl: Label 'DUNDAS', MaxLength = 30; + OatlandsLbl: Label 'OATLANDS', MaxLength = 30; + TelopeaLbl: Label 'TELOPEA', MaxLength = 30; + CarlingfordLbl: Label 'CARLINGFORD', MaxLength = 30; + CarlingfordCourtLbl: Label 'CARLINGFORD COURT', MaxLength = 30; + KingsdeneLbl: Label 'KINGSDENE', MaxLength = 30; + BeecroftLbl: Label 'BEECROFT', MaxLength = 30; + CheltenhamLbl: Label 'CHELTENHAM', MaxLength = 30; + ThornleighLbl: Label 'THORNLEIGH', MaxLength = 30; + WestleighLbl: Label 'WESTLEIGH', MaxLength = 30; + EastwoodLbl: Label 'EASTWOOD', MaxLength = 30; + MarsfieldLbl: Label 'MARSFIELD', MaxLength = 30; + ParramattaLbl: Label 'PARRAMATTA', MaxLength = 30; + WestPennantHillsLbl: Label 'WEST PENNANT HILLS', MaxLength = 30; + CherrybrookLbl: Label 'CHERRYBROOK', MaxLength = 30; + HomebushBayLbl: Label 'HOMEBUSH BAY', MaxLength = 30; + NewingtonLbl: Label 'NEWINGTON', MaxLength = 30; + SydneyMarketsLbl: Label 'SYDNEY MARKETS', MaxLength = 30; + SummerHillLbl: Label 'SUMMER HILL', MaxLength = 30; + CroydonLbl: Label 'CROYDON', MaxLength = 30; + CroydonParkLbl: Label 'CROYDON PARK', MaxLength = 30; + EnfieldSouthLbl: Label 'ENFIELD SOUTH', MaxLength = 30; + StrathfieldLbl: Label 'STRATHFIELD', MaxLength = 30; + BurwoodHeightsLbl: Label 'BURWOOD HEIGHTS', MaxLength = 30; + EnfieldLbl: Label 'ENFIELD', MaxLength = 30; + StrathfieldSouthLbl: Label 'STRATHFIELD SOUTH', MaxLength = 30; + CabaritaLbl: Label 'CABARITA', MaxLength = 30; + ConcordLbl: Label 'CONCORD', MaxLength = 30; + MortlakeLbl: Label 'MORTLAKE', MaxLength = 30; + NorthStrathfieldLbl: Label 'NORTH STRATHFIELD', MaxLength = 30; + ConcordWestLbl: Label 'CONCORD WEST', MaxLength = 30; + RhodesLbl: Label 'RHODES', MaxLength = 30; + ConcordRepatriationHospitalLbl: Label 'CONCORD REPATRIATION HOSPITAL', MaxLength = 30; + HomebushLbl: Label 'HOMEBUSH', MaxLength = 30; + BeralaLbl: Label 'BERALA', MaxLength = 30; + BlaxcellLbl: Label 'BLAXCELL', MaxLength = 30; + CamelliaLbl: Label 'CAMELLIA', MaxLength = 30; + GranvilleLbl: Label 'GRANVILLE', MaxLength = 30; + HolroydLbl: Label 'HOLROYD', MaxLength = 30; + RosehillLbl: Label 'ROSEHILL', MaxLength = 30; + BirrongLbl: Label 'BIRRONG', MaxLength = 30; + PottsHillLbl: Label 'POTTS HILL', MaxLength = 30; + RegentsParkLbl: Label 'REGENTS PARK', MaxLength = 30; + ConstitutionHillLbl: Label 'CONSTITUTION HILL', MaxLength = 30; + GirraweenLbl: Label 'GIRRAWEEN', MaxLength = 30; + GreystanesLbl: Label 'GREYSTANES', MaxLength = 30; + MaysHillLbl: Label 'MAYS HILL', MaxLength = 30; + PemulwuyLbl: Label 'PEMULWUY', MaxLength = 30; + PendleHillLbl: Label 'PENDLE HILL', MaxLength = 30; + WentworthvilleLbl: Label 'WENTWORTHVILLE', MaxLength = 30; + WestmeadLbl: Label 'WESTMEAD', MaxLength = 30; + OldToongabbieLbl: Label 'OLD TOONGABBIE', MaxLength = 30; + ToongabbieLbl: Label 'TOONGABBIE', MaxLength = 30; + ToongabbieEastLbl: Label 'TOONGABBIE EAST', MaxLength = 30; + KingsLangleyLbl: Label 'KINGS LANGLEY', MaxLength = 30; + LalorParkLbl: Label 'LALOR PARK', MaxLength = 30; + SevenHillsWestLbl: Label 'SEVEN HILLS WEST', MaxLength = 30; + BlacktownLbl: Label 'BLACKTOWN', MaxLength = 30; + BlacktownWestpointLbl: Label 'BLACKTOWN WESTPOINT', MaxLength = 30; + KingsParkLbl: Label 'KINGS PARK', MaxLength = 30; + MarayongLbl: Label 'MARAYONG', MaxLength = 30; + ProspectLbl: Label 'PROSPECT', MaxLength = 30; + HarrisParkLbl: Label 'HARRIS PARK', MaxLength = 30; + NorthRocksLbl: Label 'NORTH ROCKS', MaxLength = 30; + NorthmeadLbl: Label 'NORTHMEAD', MaxLength = 30; + BellaVistaLbl: Label 'BELLA VISTA', MaxLength = 30; + WinstonHillsLbl: Label 'WINSTON HILLS', MaxLength = 30; + BeaumontHillsLbl: Label 'BEAUMONT HILLS', MaxLength = 30; + KellyvilleLbl: Label 'KELLYVILLE', MaxLength = 30; + KellyvilleRidgeLbl: Label 'KELLYVILLE RIDGE', MaxLength = 30; + RouseHillLbl: Label 'ROUSE HILL', MaxLength = 30; + AnnangroveLbl: Label 'ANNANGROVE', MaxLength = 30; + GlenhavenLbl: Label 'GLENHAVEN', MaxLength = 30; + KenthurstLbl: Label 'KENTHURST', MaxLength = 30; + GlenorieLbl: Label 'GLENORIE', MaxLength = 30; + DuralLbl: Label 'DURAL', MaxLength = 30; + RoundCornerLbl: Label 'ROUND CORNER', MaxLength = 30; + ArcadiaLbl: Label 'ARCADIA', MaxLength = 30; + BerrileeLbl: Label 'BERRILEE', MaxLength = 30; + FiddletownLbl: Label 'FIDDLETOWN', MaxLength = 30; + GalstonLbl: Label 'GALSTON', MaxLength = 30; + MerrylandsLbl: Label 'MERRYLANDS', MaxLength = 30; + MerrylandsWestLbl: Label 'MERRYLANDS WEST', MaxLength = 30; + GuildfordLbl: Label 'GUILDFORD', MaxLength = 30; + GuildfordWestLbl: Label 'GUILDFORD WEST', MaxLength = 30; + OldGuildfordLbl: Label 'OLD GUILDFORD', MaxLength = 30; + YennoraLbl: Label 'YENNORA', MaxLength = 30; + ChesterHillLbl: Label 'CHESTER HILL', MaxLength = 30; + SeftonLbl: Label 'SEFTON', MaxLength = 30; + CarramarLbl: Label 'CARRAMAR', MaxLength = 30; + VillawoodLbl: Label 'VILLAWOOD', MaxLength = 30; + SmithfieldLbl: Label 'SMITHFIELD', MaxLength = 30; + SmithfieldWestLbl: Label 'SMITHFIELD WEST', MaxLength = 30; + WetherillParkLbl: Label 'WETHERILL PARK', MaxLength = 30; + FairfieldEastLbl: Label 'FAIRFIELD EAST', MaxLength = 30; + FairfieldHeightsLbl: Label 'FAIRFIELD HEIGHTS', MaxLength = 30; + FairfieldWestLbl: Label 'FAIRFIELD WEST', MaxLength = 30; + CabramattaLbl: Label 'CABRAMATTA', MaxLength = 30; + CanleyHeightsLbl: Label 'CANLEY HEIGHTS', MaxLength = 30; + CanleyValeLbl: Label 'CANLEY VALE', MaxLength = 30; + LansvaleLbl: Label 'LANSVALE', MaxLength = 30; + GlenfieldLbl: Label 'GLENFIELD', MaxLength = 30; + AshcroftLbl: Label 'ASHCROFT', MaxLength = 30; + BusbyLbl: Label 'BUSBY', MaxLength = 30; + CartwrightLbl: Label 'CARTWRIGHT', MaxLength = 30; + GreenValleyLbl: Label 'GREEN VALLEY', MaxLength = 30; + HeckenbergLbl: Label 'HECKENBERG', MaxLength = 30; + HinchinbrookLbl: Label 'HINCHINBROOK', MaxLength = 30; + MillerLbl: Label 'MILLER', MaxLength = 30; + SadleirLbl: Label 'SADLEIR', MaxLength = 30; + CasulaLbl: Label 'CASULA', MaxLength = 30; + CasulaMallLbl: Label 'CASULA MALL', MaxLength = 30; + ChippingNortonLbl: Label 'CHIPPING NORTON', MaxLength = 30; + HammondvilleLbl: Label 'HAMMONDVILLE', MaxLength = 30; + LiverpoolSouthLbl: Label 'LIVERPOOL SOUTH', MaxLength = 30; + LurneaLbl: Label 'LURNEA', MaxLength = 30; + MountPritchardLbl: Label 'MOUNT PRITCHARD', MaxLength = 30; + PrestonsLbl: Label 'PRESTONS', MaxLength = 30; + WarwickFarmLbl: Label 'WARWICK FARM', MaxLength = 30; + CecilHillsLbl: Label 'CECIL HILLS', MaxLength = 30; + HorningseaParkLbl: Label 'HORNINGSEA PARK', MaxLength = 30; + HoxtonParkLbl: Label 'HOXTON PARK', MaxLength = 30; + MiddletonGrangeLbl: Label 'MIDDLETON GRANGE', MaxLength = 30; + WestHoxtonLbl: Label 'WEST HOXTON', MaxLength = 30; + PleasurePointLbl: Label 'PLEASURE POINT', MaxLength = 30; + SandyPointLbl: Label 'SANDY POINT', MaxLength = 30; + VoyagerPointLbl: Label 'VOYAGER POINT', MaxLength = 30; + HolsworthyLbl: Label 'HOLSWORTHY', MaxLength = 30; + WattleGroveLbl: Label 'WATTLE GROVE', MaxLength = 30; + EdmondsonParkLbl: Label 'EDMONDSON PARK', MaxLength = 30; + HorsleyParkLbl: Label 'HORSLEY PARK', MaxLength = 30; + AbbotsburyLbl: Label 'ABBOTSBURY', MaxLength = 30; + BossleyParkLbl: Label 'BOSSLEY PARK', MaxLength = 30; + EdensorParkLbl: Label 'EDENSOR PARK', MaxLength = 30; + GreenfieldParkLbl: Label 'GREENFIELD PARK', MaxLength = 30; + PrairiewoodLbl: Label 'PRAIRIEWOOD', MaxLength = 30; + StJohnsParkLbl: Label 'ST JOHNS PARK', MaxLength = 30; + WakeleyLbl: Label 'WAKELEY', MaxLength = 30; + BonnyriggLbl: Label 'BONNYRIGG', MaxLength = 30; + BonnyriggHeightsLbl: Label 'BONNYRIGG HEIGHTS', MaxLength = 30; + CecilParkLbl: Label 'CECIL PARK', MaxLength = 30; + KempsCreekLbl: Label 'KEMPS CREEK', MaxLength = 30; + MountVernonLbl: Label 'MOUNT VERNON', MaxLength = 30; + AustralLbl: Label 'AUSTRAL', MaxLength = 30; + LeppingtonLbl: Label 'LEPPINGTON', MaxLength = 30; + ChulloraLbl: Label 'CHULLORA', MaxLength = 30; + GreenacreLbl: Label 'GREENACRE', MaxLength = 30; + MountLewisLbl: Label 'MOUNT LEWIS', MaxLength = 30; + BelfieldLbl: Label 'BELFIELD', MaxLength = 30; + BelmoreLbl: Label 'BELMORE', MaxLength = 30; + AshburyLbl: Label 'ASHBURY', MaxLength = 30; + CanterburyLbl: Label 'CANTERBURY', MaxLength = 30; + HurlstoneParkLbl: Label 'HURLSTONE PARK', MaxLength = 30; + CampsieLbl: Label 'CAMPSIE', MaxLength = 30; + LakembaLbl: Label 'LAKEMBA', MaxLength = 30; + WileyParkLbl: Label 'WILEY PARK', MaxLength = 30; + PunchbowlLbl: Label 'PUNCHBOWL', MaxLength = 30; + RoselandsLbl: Label 'ROSELANDS', MaxLength = 30; + BassHillLbl: Label 'BASS HILL', MaxLength = 30; + GeorgesHallLbl: Label 'GEORGES HALL', MaxLength = 30; + YagoonaLbl: Label 'YAGOONA', MaxLength = 30; + YagoonaWestLbl: Label 'YAGOONA WEST', MaxLength = 30; + BankstownNorthLbl: Label 'BANKSTOWN NORTH', MaxLength = 30; + BankstownSquareLbl: Label 'BANKSTOWN SQUARE', MaxLength = 30; + CondellParkLbl: Label 'CONDELL PARK', MaxLength = 30; + ManahanLbl: Label 'MANAHAN', MaxLength = 30; + DulwichHillLbl: Label 'DULWICH HILL', MaxLength = 30; + MarrickvilleMetroLbl: Label 'MARRICKVILLE METRO', MaxLength = 30; + MarrickvilleSouthLbl: Label 'MARRICKVILLE SOUTH', MaxLength = 30; + ArncliffeLbl: Label 'ARNCLIFFE', MaxLength = 30; + TurrellaLbl: Label 'TURRELLA', MaxLength = 30; + WolliCreekLbl: Label 'WOLLI CREEK', MaxLength = 30; + ClemtonParkLbl: Label 'CLEMTON PARK', MaxLength = 30; + EarlwoodLbl: Label 'EARLWOOD', MaxLength = 30; + BardwellParkLbl: Label 'BARDWELL PARK', MaxLength = 30; + BardwellValleyLbl: Label 'BARDWELL VALLEY', MaxLength = 30; + BexleyLbl: Label 'BEXLEY', MaxLength = 30; + BexleyNorthLbl: Label 'BEXLEY NORTH', MaxLength = 30; + BexleySouthLbl: Label 'BEXLEY SOUTH', MaxLength = 30; + KingswayWestLbl: Label 'KINGSWAY WEST', MaxLength = 30; + BeverlyHillsLbl: Label 'BEVERLY HILLS', MaxLength = 30; + NarweeLbl: Label 'NARWEE', MaxLength = 30; + LugarnoLbl: Label 'LUGARNO', MaxLength = 30; + PeakhurstLbl: Label 'PEAKHURST', MaxLength = 30; + PeakhurstHeightsLbl: Label 'PEAKHURST HEIGHTS', MaxLength = 30; + RiverwoodLbl: Label 'RIVERWOOD', MaxLength = 30; + PadstowLbl: Label 'PADSTOW', MaxLength = 30; + RevesbyLbl: Label 'REVESBY', MaxLength = 30; + RevesbyNorthLbl: Label 'REVESBY NORTH', MaxLength = 30; + EastHillsLbl: Label 'EAST HILLS', MaxLength = 30; + PananiaLbl: Label 'PANANIA', MaxLength = 30; + PicnicPointLbl: Label 'PICNIC POINT', MaxLength = 30; + BanksiaLbl: Label 'BANKSIA', MaxLength = 30; + BrightonLeSandsLbl: Label 'BRIGHTON-LE-SANDS', MaxLength = 30; + KyeemaghLbl: Label 'KYEEMAGH', MaxLength = 30; + RockdaleLbl: Label 'ROCKDALE', MaxLength = 30; + BeverleyParkLbl: Label 'BEVERLEY PARK', MaxLength = 30; + KogarahBayLbl: Label 'KOGARAH BAY', MaxLength = 30; + MontereyLbl: Label 'MONTEREY', MaxLength = 30; + RamsgateLbl: Label 'RAMSGATE', MaxLength = 30; + RamsgateBeachLbl: Label 'RAMSGATE BEACH', MaxLength = 30; + AllawahLbl: Label 'ALLAWAH', MaxLength = 30; + CarltonLbl: Label 'CARLTON', MaxLength = 30; + SandringhamLbl: Label 'SANDRINGHAM', MaxLength = 30; + SansSouciLbl: Label 'SANS SOUCI', MaxLength = 30; + HurstvilleLbl: Label 'HURSTVILLE', MaxLength = 30; + HurstvilleWestfieldLbl: Label 'HURSTVILLE WESTFIELD', MaxLength = 30; + BlakehurstLbl: Label 'BLAKEHURST', MaxLength = 30; + CarssParkLbl: Label 'CARSS PARK', MaxLength = 30; + ConnellsPointLbl: Label 'CONNELLS POINT', MaxLength = 30; + KyleBayLbl: Label 'KYLE BAY', MaxLength = 30; + SouthHurstvilleLbl: Label 'SOUTH HURSTVILLE', MaxLength = 30; + PenshurstLbl: Label 'PENSHURST', MaxLength = 30; + MortdaleLbl: Label 'MORTDALE', MaxLength = 30; + OatleyLbl: Label 'OATLEY', MaxLength = 30; + KangarooPointLbl: Label 'KANGAROO POINT', MaxLength = 30; + SylvaniaLbl: Label 'SYLVANIA', MaxLength = 30; + SylvaniaSouthgateLbl: Label 'SYLVANIA SOUTHGATE', MaxLength = 30; + SylvaniaWatersLbl: Label 'SYLVANIA WATERS', MaxLength = 30; + OysterBayLbl: Label 'OYSTER BAY', MaxLength = 30; + BonnetBayLbl: Label 'BONNET BAY', MaxLength = 30; + ComoLbl: Label 'COMO', MaxLength = 30; + JannaliLbl: Label 'JANNALI', MaxLength = 30; + GymeaLbl: Label 'GYMEA', MaxLength = 30; + YowieBayLbl: Label 'YOWIE BAY', MaxLength = 30; + DolansBayLbl: Label 'DOLANS BAY', MaxLength = 30; + LilliPilliLbl: Label 'LILLI PILLI', MaxLength = 30; + PortHackingLbl: Label 'PORT HACKING', MaxLength = 30; + TarenPointLbl: Label 'TAREN POINT', MaxLength = 30; + BundeenaLbl: Label 'BUNDEENA', MaxLength = 30; + CronullaLbl: Label 'CRONULLA', MaxLength = 30; + MaianbarLbl: Label 'MAIANBAR', MaxLength = 30; + WooloowareLbl: Label 'WOOLOOWARE', MaxLength = 30; + KurnellLbl: Label 'KURNELL', MaxLength = 30; + AudleyLbl: Label 'AUDLEY', MaxLength = 30; + GraysPointLbl: Label 'GRAYS POINT', MaxLength = 30; + KareelaLbl: Label 'KAREELA', MaxLength = 30; + KirraweeLbl: Label 'KIRRAWEE', MaxLength = 30; + LoftusLbl: Label 'LOFTUS', MaxLength = 30; + WoronoraLbl: Label 'WORONORA', MaxLength = 30; + EngadineLbl: Label 'ENGADINE', MaxLength = 30; + HeathcoteLbl: Label 'HEATHCOTE', MaxLength = 30; + WaterfallLbl: Label 'WATERFALL', MaxLength = 30; + WoronoraHeightsLbl: Label 'WORONORA HEIGHTS', MaxLength = 30; + YarrawarrahLbl: Label 'YARRAWARRAH', MaxLength = 30; + AlfordsPointLbl: Label 'ALFORDS POINT', MaxLength = 30; + BangorLbl: Label 'BANGOR', MaxLength = 30; + BardenRidgeLbl: Label 'BARDEN RIDGE', MaxLength = 30; + IllawongLbl: Label 'ILLAWONG', MaxLength = 30; + LucasHeightsLbl: Label 'LUCAS HEIGHTS', MaxLength = 30; + MenaiLbl: Label 'MENAI', MaxLength = 30; + MenaiCentralLbl: Label 'MENAI CENTRAL', MaxLength = 30; + CalgaLbl: Label 'CALGA', MaxLength = 30; + EastGosfordLbl: Label 'EAST GOSFORD', MaxLength = 30; + ErinaLbl: Label 'ERINA', MaxLength = 30; + ErinaFairLbl: Label 'ERINA FAIR', MaxLength = 30; + GosfordLbl: Label 'GOSFORD', MaxLength = 30; + KariongLbl: Label 'KARIONG', MaxLength = 30; + KulnuraLbl: Label 'KULNURA', MaxLength = 30; + LisarowLbl: Label 'LISAROW', MaxLength = 30; + LowerMangroveLbl: Label 'LOWER MANGROVE', MaxLength = 30; + MangroveMountainLbl: Label 'MANGROVE MOUNTAIN', MaxLength = 30; + MatchamLbl: Label 'MATCHAM', MaxLength = 30; + MountWhiteLbl: Label 'MOUNT WHITE', MaxLength = 30; + NararaLbl: Label 'NARARA', MaxLength = 30; + NiagaraParkLbl: Label 'NIAGARA PARK', MaxLength = 30; + PeatsRidgeLbl: Label 'PEATS RIDGE', MaxLength = 30; + PointClareLbl: Label 'POINT CLARE', MaxLength = 30; + SomersbyLbl: Label 'SOMERSBY', MaxLength = 30; + SpringfieldLbl: Label 'SPRINGFIELD', MaxLength = 30; + TascottLbl: Label 'TASCOTT', MaxLength = 30; + WendoreeParkLbl: Label 'WENDOREE PARK', MaxLength = 30; + WestGosfordLbl: Label 'WEST GOSFORD', MaxLength = 30; + WyomingLbl: Label 'WYOMING', MaxLength = 30; + AvocaBeachLbl: Label 'AVOCA BEACH', MaxLength = 30; + BensvilleLbl: Label 'BENSVILLE', MaxLength = 30; + CopacabanaLbl: Label 'COPACABANA', MaxLength = 30; + DavistownLbl: Label 'DAVISTOWN', MaxLength = 30; + GreenPointLbl: Label 'GREEN POINT', MaxLength = 30; + KincumberLbl: Label 'KINCUMBER', MaxLength = 30; + MacmastersBeachLbl: Label 'MACMASTERS BEACH', MaxLength = 30; + SaratogaLbl: Label 'SARATOGA', MaxLength = 30; + YattalungaLbl: Label 'YATTALUNGA', MaxLength = 30; + BlackwallLbl: Label 'BLACKWALL', MaxLength = 30; + KoolewongLbl: Label 'KOOLEWONG', MaxLength = 30; + PatongaLbl: Label 'PATONGA', MaxLength = 30; + PearlBeachLbl: Label 'PEARL BEACH', MaxLength = 30; + PhegansBayLbl: Label 'PHEGANS BAY', MaxLength = 30; + WoyWoyLbl: Label 'WOY WOY', MaxLength = 30; + BookerBayLbl: Label 'BOOKER BAY', MaxLength = 30; + DaleysPointLbl: Label 'DALEYS POINT', MaxLength = 30; + EmpireBayLbl: Label 'EMPIRE BAY', MaxLength = 30; + EttalongBeachLbl: Label 'ETTALONG BEACH', MaxLength = 30; + HardysBayLbl: Label 'HARDYS BAY', MaxLength = 30; + KillcareLbl: Label 'KILLCARE', MaxLength = 30; + PrettyBeachLbl: Label 'PRETTY BEACH', MaxLength = 30; + StHubertsIslandLbl: Label 'ST HUBERTS ISLAND', MaxLength = 30; + UminaBeachLbl: Label 'UMINA BEACH', MaxLength = 30; + KangyAngyLbl: Label 'KANGY ANGY', MaxLength = 30; + OurimbahLbl: Label 'OURIMBAH', MaxLength = 30; + ChainValleyBayLbl: Label 'CHAIN VALLEY BAY', MaxLength = 30; + DooralongLbl: Label 'DOORALONG', MaxLength = 30; + DurrenDurrenLbl: Label 'DURREN DURREN', MaxLength = 30; + GwandalanLbl: Label 'GWANDALAN', MaxLength = 30; + HalloranLbl: Label 'HALLORAN', MaxLength = 30; + HamlynTerraceLbl: Label 'HAMLYN TERRACE', MaxLength = 30; + JillibyLbl: Label 'JILLIBY', MaxLength = 30; + KanwalLbl: Label 'KANWAL', MaxLength = 30; + LakeMunmorahLbl: Label 'LAKE MUNMORAH', MaxLength = 30; + LemonTreeLbl: Label 'LEMON TREE', MaxLength = 30; + ManneringParkLbl: Label 'MANNERING PARK', MaxLength = 30; + MardiLbl: Label 'MARDI', MaxLength = 30; + RavensdaleLbl: Label 'RAVENSDALE', MaxLength = 30; + SummerlandPointLbl: Label 'SUMMERLAND POINT', MaxLength = 30; + TacomaLbl: Label 'TACOMA', MaxLength = 30; + TuggerahLbl: Label 'TUGGERAH', MaxLength = 30; + TuggerawongLbl: Label 'TUGGERAWONG', MaxLength = 30; + WallarahLbl: Label 'WALLARAH', MaxLength = 30; + WarnervaleLbl: Label 'WARNERVALE', MaxLength = 30; + WatanobbiLbl: Label 'WATANOBBI', MaxLength = 30; + WoongarrahLbl: Label 'WOONGARRAH', MaxLength = 30; + WyeeLbl: Label 'WYEE', MaxLength = 30; + WyongLbl: Label 'WYONG', MaxLength = 30; + WyongahLbl: Label 'WYONGAH', MaxLength = 30; + YarramalongLbl: Label 'YARRAMALONG', MaxLength = 30; + ErinaHeightsLbl: Label 'ERINA HEIGHTS', MaxLength = 30; + ForrestersBeachLbl: Label 'FORRESTERS BEACH', MaxLength = 30; + NorthAvocaLbl: Label 'NORTH AVOCA', MaxLength = 30; + TerrigalLbl: Label 'TERRIGAL', MaxLength = 30; + WamberalLbl: Label 'WAMBERAL', MaxLength = 30; + BateauBayLbl: Label 'BATEAU BAY', MaxLength = 30; + BayVillageLbl: Label 'BAY VILLAGE', MaxLength = 30; + BerkeleyValeLbl: Label 'BERKELEY VALE', MaxLength = 30; + BlueBayLbl: Label 'BLUE BAY', MaxLength = 30; + ChittawayBayLbl: Label 'CHITTAWAY BAY', MaxLength = 30; + ChittawayPointLbl: Label 'CHITTAWAY POINT', MaxLength = 30; + GlenningValleyLbl: Label 'GLENNING VALLEY', MaxLength = 30; + KillarneyValeLbl: Label 'KILLARNEY VALE', MaxLength = 30; + LongJettyLbl: Label 'LONG JETTY', MaxLength = 30; + ShellyBeachLbl: Label 'SHELLY BEACH', MaxLength = 30; + TheEntranceLbl: Label 'THE ENTRANCE', MaxLength = 30; + ToowoonBayLbl: Label 'TOOWOON BAY', MaxLength = 30; + TumbiUmbiLbl: Label 'TUMBI UMBI', MaxLength = 30; + BlueHavenLbl: Label 'BLUE HAVEN', MaxLength = 30; + BudgewoiLbl: Label 'BUDGEWOI', MaxLength = 30; + BuffPointLbl: Label 'BUFF POINT', MaxLength = 30; + DoyalsonLbl: Label 'DOYALSON', MaxLength = 30; + HalekulaniLbl: Label 'HALEKULANI', MaxLength = 30; + SanRemoLbl: Label 'SAN REMO', MaxLength = 30; + CharmhavenLbl: Label 'CHARMHAVEN', MaxLength = 30; + GorokanLbl: Label 'GOROKAN', MaxLength = 30; + LakeHavenLbl: Label 'LAKE HAVEN', MaxLength = 30; + NorahHeadLbl: Label 'NORAH HEAD', MaxLength = 30; + NoravilleLbl: Label 'NORAVILLE', MaxLength = 30; + ToukleyLbl: Label 'TOUKLEY', MaxLength = 30; + BonnellsBayLbl: Label 'BONNELLS BAY', MaxLength = 30; + BrightwatersLbl: Label 'BRIGHTWATERS', MaxLength = 30; + DoraCreekLbl: Label 'DORA CREEK', MaxLength = 30; + EraringLbl: Label 'ERARING', MaxLength = 30; + MandalongLbl: Label 'MANDALONG', MaxLength = 30; + MirrabookaLbl: Label 'MIRRABOOKA', MaxLength = 30; + MorissetLbl: Label 'MORISSET', MaxLength = 30; + SunshineLbl: Label 'SUNSHINE', MaxLength = 30; + YarrawongaParkLbl: Label 'YARRAWONGA PARK', MaxLength = 30; + CooranbongLbl: Label 'COORANBONG', MaxLength = 30; + MartinsvilleLbl: Label 'MARTINSVILLE', MaxLength = 30; + WangiWangiLbl: Label 'WANGI WANGI', MaxLength = 30; + BarnsleyLbl: Label 'BARNSLEY', MaxLength = 30; + KillingworthLbl: Label 'KILLINGWORTH', MaxLength = 30; + WakefieldLbl: Label 'WAKEFIELD', MaxLength = 30; + BelmontLbl: Label 'BELMONT', MaxLength = 30; + CroudaceBayLbl: Label 'CROUDACE BAY', MaxLength = 30; + FloravilleLbl: Label 'FLORAVILLE', MaxLength = 30; + JewellsLbl: Label 'JEWELLS', MaxLength = 30; + MarksPointLbl: Label 'MARKS POINT', MaxLength = 30; + ValentineLbl: Label 'VALENTINE', MaxLength = 30; + BlacksmithsLbl: Label 'BLACKSMITHS', MaxLength = 30; + CamsWharfLbl: Label 'CAMS WHARF', MaxLength = 30; + CatherineHillBayLbl: Label 'CATHERINE HILL BAY', MaxLength = 30; + CavesBeachLbl: Label 'CAVES BEACH', MaxLength = 30; + MiddleCampLbl: Label 'MIDDLE CAMP', MaxLength = 30; + NordsWharfLbl: Label 'NORDS WHARF', MaxLength = 30; + SwanseaLbl: Label 'SWANSEA', MaxLength = 30; + EleebanaLbl: Label 'ELEEBANA', MaxLength = 30; + LakelandsLbl: Label 'LAKELANDS', MaxLength = 30; + WarnersBayLbl: Label 'WARNERS BAY', MaxLength = 30; + ArcadiaValeLbl: Label 'ARCADIA VALE', MaxLength = 30; + AwabaLbl: Label 'AWABA', MaxLength = 30; + BalmoralLbl: Label 'BALMORAL', MaxLength = 30; + BlackallsParkLbl: Label 'BLACKALLS PARK', MaxLength = 30; + BoltonPointLbl: Label 'BOLTON POINT', MaxLength = 30; + ButtabaLbl: Label 'BUTTABA', MaxLength = 30; + CareyBayLbl: Label 'CAREY BAY', MaxLength = 30; + CoalPointLbl: Label 'COAL POINT', MaxLength = 30; + FassifernLbl: Label 'FASSIFERN', MaxLength = 30; + FennellBayLbl: Label 'FENNELL BAY', MaxLength = 30; + FishingPointLbl: Label 'FISHING POINT', MaxLength = 30; + KilabenBayLbl: Label 'KILABEN BAY', MaxLength = 30; + RathminesLbl: Label 'RATHMINES', MaxLength = 30; + TorontoLbl: Label 'TORONTO', MaxLength = 30; + ArgentonLbl: Label 'ARGENTON', MaxLength = 30; + BoolarooLbl: Label 'BOOLAROO', MaxLength = 30; + BooragulLbl: Label 'BOORAGUL', MaxLength = 30; + MarmongPointLbl: Label 'MARMONG POINT', MaxLength = 30; + SpeersPointLbl: Label 'SPEERS POINT', MaxLength = 30; + TeralbaLbl: Label 'TERALBA', MaxLength = 30; + WoodrisingLbl: Label 'WOODRISING', MaxLength = 30; + CardiffLbl: Label 'CARDIFF', MaxLength = 30; + EdgeworthLbl: Label 'EDGEWORTH', MaxLength = 30; + GlendaleLbl: Label 'GLENDALE', MaxLength = 30; + HolmesvilleLbl: Label 'HOLMESVILLE', MaxLength = 30; + WestWallsendLbl: Label 'WEST WALLSEND', MaxLength = 30; + BirminghamGardensLbl: Label 'BIRMINGHAM GARDENS', MaxLength = 30; + ElermoreValeLbl: Label 'ELERMORE VALE', MaxLength = 30; + FletcherLbl: Label 'FLETCHER', MaxLength = 30; + MarylandLbl: Label 'MARYLAND', MaxLength = 30; + MinmiLbl: Label 'MINMI', MaxLength = 30; + RankinParkLbl: Label 'RANKIN PARK', MaxLength = 30; + WallsendLbl: Label 'WALLSEND', MaxLength = 30; + WallsendSouthLbl: Label 'WALLSEND SOUTH', MaxLength = 30; + AdamstownLbl: Label 'ADAMSTOWN', MaxLength = 30; + AdamstownHeightsLbl: Label 'ADAMSTOWN HEIGHTS', MaxLength = 30; + GardenSuburbLbl: Label 'GARDEN SUBURB', MaxLength = 30; + HighfieldsLbl: Label 'HIGHFIELDS', MaxLength = 30; + KotaraLbl: Label 'KOTARA', MaxLength = 30; + KotaraFairLbl: Label 'KOTARA FAIR', MaxLength = 30; + BennettsGreenLbl: Label 'BENNETTS GREEN', MaxLength = 30; + CharlestownLbl: Label 'CHARLESTOWN', MaxLength = 30; + DudleyLbl: Label 'DUDLEY', MaxLength = 30; + DudleyGBLbl: Label 'Dudley', MaxLength = 30; + GatesheadLbl: Label 'GATESHEAD', MaxLength = 30; + HillsboroughLbl: Label 'HILLSBOROUGH', MaxLength = 30; + KahibahLbl: Label 'KAHIBAH', MaxLength = 30; + MountHuttonLbl: Label 'MOUNT HUTTON', MaxLength = 30; + RedheadLbl: Label 'REDHEAD', MaxLength = 30; + TingiraHeightsLbl: Label 'TINGIRA HEIGHTS', MaxLength = 30; + WhitebridgeLbl: Label 'WHITEBRIDGE', MaxLength = 30; + MerewetherLbl: Label 'MEREWETHER', MaxLength = 30; + MerewetherHeightsLbl: Label 'MEREWETHER HEIGHTS', MaxLength = 30; + TheJunctionLbl: Label 'THE JUNCTION', MaxLength = 30; + BroadmeadowLbl: Label 'BROADMEADOW', MaxLength = 30; + MaryvilleLbl: Label 'MARYVILLE', MaxLength = 30; + WickhamLbl: Label 'WICKHAM', MaxLength = 30; + CarringtonLbl: Label 'CARRINGTON', MaxLength = 30; + FernBayLbl: Label 'FERN BAY', MaxLength = 30; + StocktonLbl: Label 'STOCKTON', MaxLength = 30; + IslingtonLbl: Label 'ISLINGTON', MaxLength = 30; + TighesHillLbl: Label 'TIGHES HILL', MaxLength = 30; + WaratahLbl: Label 'WARATAH', MaxLength = 30; + WaratahWestLbl: Label 'WARATAH WEST', MaxLength = 30; + JesmondLbl: Label 'JESMOND', MaxLength = 30; + LambtonLbl: Label 'LAMBTON', MaxLength = 30; + NorthLambtonLbl: Label 'NORTH LAMBTON', MaxLength = 30; + BarBeachLbl: Label 'BAR BEACH', MaxLength = 30; + CooksHillLbl: Label 'COOKS HILL', MaxLength = 30; + NewcastleLbl: Label 'NEWCASTLE', MaxLength = 30; + NewcastleEastLbl: Label 'NEWCASTLE EAST', MaxLength = 30; + TheHillLbl: Label 'THE HILL', MaxLength = 30; + NewcastleWestLbl: Label 'NEWCASTLE WEST', MaxLength = 30; + HamiltonLbl: Label 'HAMILTON', MaxLength = 30; + HamiltonEastLbl: Label 'HAMILTON EAST', MaxLength = 30; + HamiltonSouthLbl: Label 'HAMILTON SOUTH', MaxLength = 30; + KooragangLbl: Label 'KOORAGANG', MaxLength = 30; + MayfieldLbl: Label 'MAYFIELD', MaxLength = 30; + MayfieldEastLbl: Label 'MAYFIELD EAST', MaxLength = 30; + MayfieldNorthLbl: Label 'MAYFIELD NORTH', MaxLength = 30; + MayfieldWestLbl: Label 'MAYFIELD WEST', MaxLength = 30; + SandgateLbl: Label 'SANDGATE', MaxLength = 30; + WarabrookLbl: Label 'WARABROOK', MaxLength = 30; + KotaraEastLbl: Label 'KOTARA EAST', MaxLength = 30; + NewLambtonLbl: Label 'NEW LAMBTON', MaxLength = 30; + NewLambtonHeightsLbl: Label 'NEW LAMBTON HEIGHTS', MaxLength = 30; + WindaleLbl: Label 'WINDALE', MaxLength = 30; + ShortlandLbl: Label 'SHORTLAND', MaxLength = 30; + CallaghanLbl: Label 'CALLAGHAN', MaxLength = 30; + NewcastleUniversityLbl: Label 'NEWCASTLE UNIVERSITY', MaxLength = 30; + DangarLbl: Label 'DANGAR', MaxLength = 30; + HunterRegionMcLbl: Label 'HUNTER REGION MC', MaxLength = 30; + AllynbrookLbl: Label 'ALLYNBROOK', MaxLength = 30; + EastGresfordLbl: Label 'EAST GRESFORD', MaxLength = 30; + GresfordLbl: Label 'GRESFORD', MaxLength = 30; + HaltonLbl: Label 'HALTON', MaxLength = 30; + LostockLbl: Label 'LOSTOCK', MaxLength = 30; + NabiacLbl: Label 'NABIAC', MaxLength = 30; + WilliamtownRaafLbl: Label 'WILLIAMTOWN RAAF', MaxLength = 30; + CorletteLbl: Label 'CORLETTE', MaxLength = 30; + FingalBayLbl: Label 'FINGAL BAY', MaxLength = 30; + NelsonBayLbl: Label 'NELSON BAY', MaxLength = 30; + ShoalBayLbl: Label 'SHOAL BAY', MaxLength = 30; + AnnaBayLbl: Label 'ANNA BAY', MaxLength = 30; + BoatHarbourLbl: Label 'BOAT HARBOUR', MaxLength = 30; + BobsFarmLbl: Label 'BOBS FARM', MaxLength = 30; + SalamanderBayLbl: Label 'SALAMANDER BAY', MaxLength = 30; + SoldiersPointLbl: Label 'SOLDIERS POINT', MaxLength = 30; + CampvaleLbl: Label 'CAMPVALE', MaxLength = 30; + FullertonCoveLbl: Label 'FULLERTON COVE', MaxLength = 30; + MedowieLbl: Label 'MEDOWIE', MaxLength = 30; + OysterCoveLbl: Label 'OYSTER COVE', MaxLength = 30; + SaltAshLbl: Label 'SALT ASH', MaxLength = 30; + WilliamtownLbl: Label 'WILLIAMTOWN', MaxLength = 30; + LemonTreePassageLbl: Label 'LEMON TREE PASSAGE', MaxLength = 30; + MallabulaLbl: Label 'MALLABULA', MaxLength = 30; + TanilbaBayLbl: Label 'TANILBA BAY', MaxLength = 30; + BolwarraLbl: Label 'BOLWARRA', MaxLength = 30; + FarleyLbl: Label 'FARLEY', MaxLength = 30; + LargsLbl: Label 'LARGS', MaxLength = 30; + LornLbl: Label 'LORN', MaxLength = 30; + MaitlandLbl: Label 'MAITLAND', MaxLength = 30; + MaitlandNorthLbl: Label 'MAITLAND NORTH', MaxLength = 30; + PokolbinLbl: Label 'POKOLBIN', MaxLength = 30; + RothburyLbl: Label 'ROTHBURY', MaxLength = 30; + RutherfordLbl: Label 'RUTHERFORD', MaxLength = 30; + TelarahLbl: Label 'TELARAH', MaxLength = 30; + ClarenceTownLbl: Label 'CLARENCE TOWN', MaxLength = 30; + GilliestonHeightsLbl: Label 'GILLIESTON HEIGHTS', MaxLength = 30; + GlenWilliamLbl: Label 'GLEN WILLIAM', MaxLength = 30; + HeddonGretaLbl: Label 'HEDDON GRETA', MaxLength = 30; + HintonLbl: Label 'HINTON', MaxLength = 30; + LochinvarLbl: Label 'LOCHINVAR', MaxLength = 30; + MorpethLbl: Label 'MORPETH', MaxLength = 30; + RaworthLbl: Label 'RAWORTH', MaxLength = 30; + WoodvilleLbl: Label 'WOODVILLE', MaxLength = 30; + BeresfieldLbl: Label 'BERESFIELD', MaxLength = 30; + BlackHillLbl: Label 'BLACK HILL', MaxLength = 30; + HexhamLbl: Label 'HEXHAM', MaxLength = 30; + LenaghanLbl: Label 'LENAGHAN', MaxLength = 30; + TarroLbl: Label 'TARRO', MaxLength = 30; + ThorntonLbl: Label 'THORNTON', MaxLength = 30; + TomagoLbl: Label 'TOMAGO', MaxLength = 30; + WoodberryLbl: Label 'WOODBERRY', MaxLength = 30; + AshtonfieldLbl: Label 'ASHTONFIELD', MaxLength = 30; + BrunkervilleLbl: Label 'BRUNKERVILLE', MaxLength = 30; + EastMaitlandLbl: Label 'EAST MAITLAND', MaxLength = 30; + FreemansWaterholeLbl: Label 'FREEMANS WATERHOLE', MaxLength = 30; + Green_HillsLbl: Label 'GREEN HILLS', MaxLength = 30; + MetfordLbl: Label 'METFORD', MaxLength = 30; + MetfordDcLbl: Label 'METFORD DC', MaxLength = 30; + MountVincentLbl: Label 'MOUNT VINCENT', MaxLength = 30; + MulbringLbl: Label 'MULBRING', MaxLength = 30; + TenambitLbl: Label 'TENAMBIT', MaxLength = 30; + BalickeraLbl: Label 'BALICKERA', MaxLength = 30; + BrandyHillLbl: Label 'BRANDY HILL', MaxLength = 30; + BundabahLbl: Label 'BUNDABAH', MaxLength = 30; + CellsRiverLbl: Label 'CELLS RIVER', MaxLength = 30; + EagletonLbl: Label 'EAGLETON', MaxLength = 30; + EastSeahamLbl: Label 'EAST SEAHAM', MaxLength = 30; + HeatherbraeLbl: Label 'HEATHERBRAE', MaxLength = 30; + KaruahLbl: Label 'KARUAH', MaxLength = 30; + LimeburnersCreekLbl: Label 'LIMEBURNERS CREEK', MaxLength = 30; + MillersForestLbl: Label 'MILLERS FOREST', MaxLength = 30; + NelsonsPlainsLbl: Label 'NELSONS PLAINS', MaxLength = 30; + NorthArmCoveLbl: Label 'NORTH ARM COVE', MaxLength = 30; + OsterleyLbl: Label 'OSTERLEY', MaxLength = 30; + PindimarLbl: Label 'PINDIMAR', MaxLength = 30; + RaymondTerraceLbl: Label 'RAYMOND TERRACE', MaxLength = 30; + RaymondTerraceEastLbl: Label 'RAYMOND TERRACE EAST', MaxLength = 30; + SeahamLbl: Label 'SEAHAM', MaxLength = 30; + SwanBayLbl: Label 'SWAN BAY', MaxLength = 30; + TahleeLbl: Label 'TAHLEE', MaxLength = 30; + TeaGardensLbl: Label 'TEA GARDENS', MaxLength = 30; + TwelveMileCreekLbl: Label 'TWELVE MILE CREEK', MaxLength = 30; + AberdareLbl: Label 'ABERDARE', MaxLength = 30; + AbernethyLbl: Label 'ABERNETHY', MaxLength = 30; + BellbirdLbl: Label 'BELLBIRD', MaxLength = 30; + CessnockLbl: Label 'CESSNOCK', MaxLength = 30; + CessnockWestLbl: Label 'CESSNOCK WEST', MaxLength = 30; + CongewaiLbl: Label 'CONGEWAI', MaxLength = 30; + EllalongLbl: Label 'ELLALONG', MaxLength = 30; + ElringtonLbl: Label 'ELRINGTON', MaxLength = 30; + KearsleyLbl: Label 'KEARSLEY', MaxLength = 30; + KitchenerLbl: Label 'KITCHENER', MaxLength = 30; + LagunaLbl: Label 'LAGUNA', MaxLength = 30; + MillfieldLbl: Label 'MILLFIELD', MaxLength = 30; + MountViewLbl: Label 'MOUNT VIEW', MaxLength = 30; + NulkabaLbl: Label 'NULKABA', MaxLength = 30; + PaxtonLbl: Label 'PAXTON', MaxLength = 30; + PaynesCrossingLbl: Label 'PAYNES CROSSING', MaxLength = 30; + PeltonLbl: Label 'PELTON', MaxLength = 30; + QuorrobolongLbl: Label 'QUORROBOLONG', MaxLength = 30; + WollombiLbl: Label 'WOLLOMBI', MaxLength = 30; + AbermainLbl: Label 'ABERMAIN', MaxLength = 30; + BishopsBridgeLbl: Label 'BISHOPS BRIDGE', MaxLength = 30; + LoxfordLbl: Label 'LOXFORD', MaxLength = 30; + WestonLbl: Label 'WESTON', MaxLength = 30; + KurriKurriLbl: Label 'KURRI KURRI', MaxLength = 30; + PelawMainLbl: Label 'PELAW MAIN', MaxLength = 30; + StanfordMerthyrLbl: Label 'STANFORD MERTHYR', MaxLength = 30; + DenmanLbl: Label 'DENMAN', MaxLength = 30; + HollydeenLbl: Label 'HOLLYDEEN', MaxLength = 30; + KerrabeeLbl: Label 'KERRABEE', MaxLength = 30; + BorambilLbl: Label 'BORAMBIL', MaxLength = 30; + CassilisLbl: Label 'CASSILIS', MaxLength = 30; + MerriwaLbl: Label 'MERRIWA', MaxLength = 30; + UarbryLbl: Label 'UARBRY', MaxLength = 30; + BrokeLbl: Label 'BROKE', MaxLength = 30; + BulgaLbl: Label 'BULGA', MaxLength = 30; + CamberwellLbl: Label 'CAMBERWELL', MaxLength = 30; + CarrowbrookLbl: Label 'CARROWBROOK', MaxLength = 30; + GlenniesCreekLbl: Label 'GLENNIES CREEK', MaxLength = 30; + GreenlandsLbl: Label 'GREENLANDS', MaxLength = 30; + HebdenLbl: Label 'HEBDEN', MaxLength = 30; + HowesValleyLbl: Label 'HOWES VALLEY', MaxLength = 30; + JerrysPlainsLbl: Label 'JERRYS PLAINS', MaxLength = 30; + MirannieLbl: Label 'MIRANNIE', MaxLength = 30; + MitchellsFlatLbl: Label 'MITCHELLS FLAT', MaxLength = 30; + MountOliveLbl: Label 'MOUNT OLIVE', MaxLength = 30; + PuttyLbl: Label 'PUTTY', MaxLength = 30; + RavensworthLbl: Label 'RAVENSWORTH', MaxLength = 30; + ReedyCreekLbl: Label 'REEDY CREEK', MaxLength = 30; + SingletonLbl: Label 'SINGLETON', MaxLength = 30; + StClairLbl: Label 'ST CLAIR', MaxLength = 30; + WarkworthLbl: Label 'WARKWORTH', MaxLength = 30; + SingletonMilpoLbl: Label 'SINGLETON MILPO', MaxLength = 30; + BaeramiCreekLbl: Label 'BAERAMI CREEK', MaxLength = 30; + EddertonLbl: Label 'EDDERTON', MaxLength = 30; + GungalLbl: Label 'GUNGAL', MaxLength = 30; + LiddellLbl: Label 'LIDDELL', MaxLength = 30; + MccullysGapLbl: Label 'MCCULLYS GAP', MaxLength = 30; + MuscleCreekLbl: Label 'MUSCLE CREEK', MaxLength = 30; + MuswellbrookLbl: Label 'MUSWELLBROOK', MaxLength = 30; + SandyHollowLbl: Label 'SANDY HOLLOW', MaxLength = 30; + WybongLbl: Label 'WYBONG', MaxLength = 30; + GretaLbl: Label 'GRETA', MaxLength = 30; + BelfordLbl: Label 'BELFORD', MaxLength = 30; + BranxtonLbl: Label 'BRANXTON', MaxLength = 30; + DalwoodLbl: Label 'DALWOOD', MaxLength = 30; + ElderslieLbl: Label 'ELDERSLIE', MaxLength = 30; + NorthRothburyLbl: Label 'NORTH ROTHBURY', MaxLength = 30; + StanhopeLbl: Label 'STANHOPE', MaxLength = 30; + AberdeenLbl: Label 'ABERDEEN', MaxLength = 30; + DartbrookLbl: Label 'DARTBROOK', MaxLength = 30; + DavisCreekLbl: Label 'DAVIS CREEK', MaxLength = 30; + RouchelLbl: Label 'ROUCHEL', MaxLength = 30; + UpperRouchelLbl: Label 'UPPER ROUCHEL', MaxLength = 30; + BunnanLbl: Label 'BUNNAN', MaxLength = 30; + EllerstonLbl: Label 'ELLERSTON', MaxLength = 30; + GundyLbl: Label 'GUNDY', MaxLength = 30; + KarsSpringsLbl: Label 'KARS SPRINGS', MaxLength = 30; + MoonanBrookLbl: Label 'MOONAN BROOK', MaxLength = 30; + MoonanFlatLbl: Label 'MOONAN FLAT', MaxLength = 30; + OwensGapLbl: Label 'OWENS GAP', MaxLength = 30; + ParkvilleLbl: Label 'PARKVILLE', MaxLength = 30; + SaturLbl: Label 'SATUR', MaxLength = 30; + SconeLbl: Label 'SCONE', MaxLength = 30; + StewartsBrookLbl: Label 'STEWARTS BROOK', MaxLength = 30; + WingenLbl: Label 'WINGEN', MaxLength = 30; + WooloomaLbl: Label 'WOOLOOMA', MaxLength = 30; + ArdglenLbl: Label 'ARDGLEN', MaxLength = 30; + BlandfordLbl: Label 'BLANDFORD', MaxLength = 30; + MurrurundiLbl: Label 'MURRURUNDI', MaxLength = 30; + WarrahCreekLbl: Label 'WARRAH CREEK', MaxLength = 30; + WillowTreeLbl: Label 'WILLOW TREE', MaxLength = 30; + BowlingAlleyPointLbl: Label 'BOWLING ALLEY POINT', MaxLength = 30; + CalalaLbl: Label 'CALALA', MaxLength = 30; + CarrollLbl: Label 'CARROLL', MaxLength = 30; + DungowanLbl: Label 'DUNGOWAN', MaxLength = 30; + GowrieLbl: Label 'GOWRIE', MaxLength = 30; + KingswoodLbl: Label 'KINGSWOOD', MaxLength = 30; + NeminghaLbl: Label 'NEMINGHA', MaxLength = 30; + NundleLbl: Label 'NUNDLE', MaxLength = 30; + OxleyValeLbl: Label 'OXLEY VALE', MaxLength = 30; + SomertonLbl: Label 'SOMERTON', MaxLength = 30; + SouthTamworthLbl: Label 'SOUTH TAMWORTH', MaxLength = 30; + TamworthLbl: Label 'TAMWORTH', MaxLength = 30; + TamworthSouthLbl: Label 'TAMWORTH SOUTH', MaxLength = 30; + WestTamworthLbl: Label 'WEST TAMWORTH', MaxLength = 30; + WestdaleLbl: Label 'WESTDALE', MaxLength = 30; + WoolominLbl: Label 'WOOLOMIN', MaxLength = 30; + WerrisCreekLbl: Label 'WERRIS CREEK', MaxLength = 30; + CurrabubulaLbl: Label 'CURRABUBULA', MaxLength = 30; + BlackvilleLbl: Label 'BLACKVILLE', MaxLength = 30; + CaroonaLbl: Label 'CAROONA', MaxLength = 30; + CollyBlueLbl: Label 'COLLY BLUE', MaxLength = 30; + PineRidgeLbl: Label 'PINE RIDGE', MaxLength = 30; + QuirindiLbl: Label 'QUIRINDI', MaxLength = 30; + SpringRidgeLbl: Label 'SPRING RIDGE', MaxLength = 30; + WallabadahLbl: Label 'WALLABADAH', MaxLength = 30; + DuriLbl: Label 'DURI', MaxLength = 30; + AttungaLbl: Label 'ATTUNGA', MaxLength = 30; + GarthowenLbl: Label 'GARTHOWEN', MaxLength = 30; + ManillaLbl: Label 'MANILLA', MaxLength = 30; + BarrabaLbl: Label 'BARRABA', MaxLength = 30; + CobbadahLbl: Label 'COBBADAH', MaxLength = 30; + UpperHortonLbl: Label 'UPPER HORTON', MaxLength = 30; + NewEnglandMcLbl: Label 'NEW ENGLAND MC', MaxLength = 30; + ArmidaleLbl: Label 'ARMIDALE', MaxLength = 30; + EastArmidaleLbl: Label 'EAST ARMIDALE', MaxLength = 30; + HillgroveLbl: Label 'HILLGROVE', MaxLength = 30; + InvergowrieLbl: Label 'INVERGOWRIE', MaxLength = 30; + JeoglaLbl: Label 'JEOGLA', MaxLength = 30; + WestArmidaleLbl: Label 'WEST ARMIDALE', MaxLength = 30; + WollomombiLbl: Label 'WOLLOMOMBI', MaxLength = 30; + UniversityOfNewEnglandLbl: Label 'UNIVERSITY OF NEW ENGLAND', MaxLength = 30; + KootingalLbl: Label 'KOOTINGAL', MaxLength = 30; + LimbriLbl: Label 'LIMBRI', MaxLength = 30; + MoonbiLbl: Label 'MOONBI', MaxLength = 30; + KentuckyLbl: Label 'KENTUCKY', MaxLength = 30; + NiangalaLbl: Label 'NIANGALA', MaxLength = 30; + NowendocLbl: Label 'NOWENDOC', MaxLength = 30; + WalchaLbl: Label 'WALCHA', MaxLength = 30; + WollunLbl: Label 'WOLLUN', MaxLength = 30; + WoolbrookLbl: Label 'WOOLBROOK', MaxLength = 30; + BendemeerLbl: Label 'BENDEMEER', MaxLength = 30; + WatsonsCreekLbl: Label 'WATSONS CREEK', MaxLength = 30; + GwabegarLbl: Label 'GWABEGAR', MaxLength = 30; + BugaldieLbl: Label 'BUGALDIE', MaxLength = 30; + CoonabarabranLbl: Label 'COONABARABRAN', MaxLength = 30; + PurlewaughLbl: Label 'PURLEWAUGH', MaxLength = 30; + RockyGlenLbl: Label 'ROCKY GLEN', MaxLength = 30; + UlamambriLbl: Label 'ULAMAMBRI', MaxLength = 30; + KingstownLbl: Label 'KINGSTOWN', MaxLength = 30; + UrallaLbl: Label 'URALLA', MaxLength = 30; + BundarraLbl: Label 'BUNDARRA', MaxLength = 30; + BukkullaLbl: Label 'BUKKULLA', MaxLength = 30; + ElsmoreLbl: Label 'ELSMORE', MaxLength = 30; + GilgaiLbl: Label 'GILGAI', MaxLength = 30; + GramanLbl: Label 'GRAMAN', MaxLength = 30; + GumFlatLbl: Label 'GUM FLAT', MaxLength = 30; + InverellLbl: Label 'INVERELL', MaxLength = 30; + LittlePlainLbl: Label 'LITTLE PLAIN', MaxLength = 30; + MountRussellLbl: Label 'MOUNT RUSSELL', MaxLength = 30; + NewsteadLbl: Label 'NEWSTEAD', MaxLength = 30; + NullamannaLbl: Label 'NULLAMANNA', MaxLength = 30; + WallangraLbl: Label 'WALLANGRA', MaxLength = 30; + AshfordLbl: Label 'ASHFORD', MaxLength = 30; + BonshawLbl: Label 'BONSHAW', MaxLength = 30; + BenLomondLbl: Label 'BEN LOMOND', MaxLength = 30; + BlackMountainLbl: Label 'BLACK MOUNTAIN', MaxLength = 30; + GlencoeLbl: Label 'GLENCOE', MaxLength = 30; + GuyraLbl: Label 'GUYRA', MaxLength = 30; + LlangothlinLbl: Label 'LLANGOTHLIN', MaxLength = 30; + WandsworthLbl: Label 'WANDSWORTH', MaxLength = 30; + StanniferLbl: Label 'STANNIFER', MaxLength = 30; + TinghaLbl: Label 'TINGHA', MaxLength = 30; + DundeeLbl: Label 'DUNDEE', MaxLength = 30; + FurracabadLbl: Label 'FURRACABAD', MaxLength = 30; + GlenInnesLbl: Label 'GLEN INNES', MaxLength = 30; + MathesonLbl: Label 'MATHESON', MaxLength = 30; + NewtonBoydLbl: Label 'NEWTON BOYD', MaxLength = 30; + RedRangeLbl: Label 'RED RANGE', MaxLength = 30; + SwanValeLbl: Label 'SWAN VALE', MaxLength = 30; + DeepwaterLbl: Label 'DEEPWATER', MaxLength = 30; + EmmavilleLbl: Label 'EMMAVILLE', MaxLength = 30; + StannumLbl: Label 'STANNUM', MaxLength = 30; + TorringtonLbl: Label 'TORRINGTON', MaxLength = 30; + BlackSwampLbl: Label 'BLACK SWAMP', MaxLength = 30; + BoliviaLbl: Label 'BOLIVIA', MaxLength = 30; + BoonooBoonooLbl: Label 'BOONOO BOONOO', MaxLength = 30; + BungullaLbl: Label 'BUNGULLA', MaxLength = 30; + ListonLbl: Label 'LISTON', MaxLength = 30; + SandyFlatLbl: Label 'SANDY FLAT', MaxLength = 30; + TenterfieldLbl: Label 'TENTERFIELD', MaxLength = 30; + WylieCreekLbl: Label 'WYLIE CREEK', MaxLength = 30; + MullaleyLbl: Label 'MULLALEY', MaxLength = 30; + GunnedahLbl: Label 'GUNNEDAH', MaxLength = 30; + KelvinLbl: Label 'KELVIN', MaxLength = 30; + OrangeGroveLbl: Label 'ORANGE GROVE', MaxLength = 30; + BreezaLbl: Label 'BREEZA', MaxLength = 30; + CurlewisLbl: Label 'CURLEWIS', MaxLength = 30; + PremerLbl: Label 'PREMER', MaxLength = 30; + TambarSpringsLbl: Label 'TAMBAR SPRINGS', MaxLength = 30; + BoggabriLbl: Label 'BOGGABRI', MaxLength = 30; + BurrenJunctionLbl: Label 'BURREN JUNCTION', MaxLength = 30; + RowenaLbl: Label 'ROWENA', MaxLength = 30; + CuttabriLbl: Label 'CUTTABRI', MaxLength = 30; + PilligaLbl: Label 'PILLIGA', MaxLength = 30; + WeeWaaLbl: Label 'WEE WAA', MaxLength = 30; + BaanBaaLbl: Label 'BAAN BAA', MaxLength = 30; + EdgeroiLbl: Label 'EDGEROI', MaxLength = 30; + NarrabriLbl: Label 'NARRABRI', MaxLength = 30; + TurrawanLbl: Label 'TURRAWAN', MaxLength = 30; + BinnawayLbl: Label 'BINNAWAY', MaxLength = 30; + WeetalibaLbl: Label 'WEETALIBA', MaxLength = 30; + BaradineLbl: Label 'BARADINE', MaxLength = 30; + KenebriLbl: Label 'KENEBRI', MaxLength = 30; + BellataLbl: Label 'BELLATA', MaxLength = 30; + GurleyLbl: Label 'GURLEY', MaxLength = 30; + PallamallawaLbl: Label 'PALLAMALLAWA', MaxLength = 30; + AshleyLbl: Label 'ASHLEY', MaxLength = 30; + CroobleLbl: Label 'CROOBLE', MaxLength = 30; + MoreeLbl: Label 'MOREE', MaxLength = 30; + TerryHieHieLbl: Label 'TERRY HIE HIE', MaxLength = 30; + GravesendLbl: Label 'GRAVESEND', MaxLength = 30; + CoolataiLbl: Label 'COOLATAI', MaxLength = 30; + WarialdaLbl: Label 'WARIALDA', MaxLength = 30; + DelungraLbl: Label 'DELUNGRA', MaxLength = 30; + BingaraLbl: Label 'BINGARA', MaxLength = 30; + DinogaLbl: Label 'DINOGA', MaxLength = 30; + BoomiLbl: Label 'BOOMI', MaxLength = 30; + GarahLbl: Label 'GARAH', MaxLength = 30; + MungindiLbl: Label 'MUNGINDI', MaxLength = 30; + NorthStarLbl: Label 'NORTH STAR', MaxLength = 30; + BoggabillaLbl: Label 'BOGGABILLA', MaxLength = 30; + YetmanLbl: Label 'YETMAN', MaxLength = 30; + CroppaCreekLbl: Label 'CROPPA CREEK', MaxLength = 30; + MonkeraiLbl: Label 'MONKERAI', MaxLength = 30; + StroudRoadLbl: Label 'STROUD ROAD', MaxLength = 30; + BandonGroveLbl: Label 'BANDON GROVE', MaxLength = 30; + DungogLbl: Label 'DUNGOG', MaxLength = 30; + HilldaleLbl: Label 'HILLDALE', MaxLength = 30; + MarshdaleLbl: Label 'MARSHDALE', MaxLength = 30; + SalisburyLbl: Label 'SALISBURY', MaxLength = 30; + WallarobbaLbl: Label 'WALLAROBBA', MaxLength = 30; + PatersonLbl: Label 'PATERSON', MaxLength = 30; + TrevallynLbl: Label 'TREVALLYN', MaxLength = 30; + VacyLbl: Label 'VACY', MaxLength = 30; + BarringtonLbl: Label 'BARRINGTON', MaxLength = 30; + BelboraLbl: Label 'BELBORA', MaxLength = 30; + BrettiLbl: Label 'BRETTI', MaxLength = 30; + BundookLbl: Label 'BUNDOOK', MaxLength = 30; + CopelandLbl: Label 'COPELAND', MaxLength = 30; + CravenLbl: Label 'CRAVEN', MaxLength = 30; + GloucesterLbl: Label 'GLOUCESTER', MaxLength = 30; + RawdonValeLbl: Label 'RAWDON VALE', MaxLength = 30; + StratfordLbl: Label 'STRATFORD', MaxLength = 30; + UpperBowmanLbl: Label 'UPPER BOWMAN', MaxLength = 30; + WardsRiverLbl: Label 'WARDS RIVER', MaxLength = 30; + BoolambayteLbl: Label 'BOOLAMBAYTE', MaxLength = 30; + BulahdelahLbl: Label 'BULAHDELAH', MaxLength = 30; + BungwahlLbl: Label 'BUNGWAHL', MaxLength = 30; + CoolongolookLbl: Label 'COOLONGOLOOK', MaxLength = 30; + MarkwellLbl: Label 'MARKWELL', MaxLength = 30; + NerongLbl: Label 'NERONG', MaxLength = 30; + SealRocksLbl: Label 'SEAL ROCKS', MaxLength = 30; + UpperMyallLbl: Label 'UPPER MYALL', MaxLength = 30; + WangWaukLbl: Label 'WANG WAUK', MaxLength = 30; + WillinaLbl: Label 'WILLINA', MaxLength = 30; + WoottonLbl: Label 'WOOTTON', MaxLength = 30; + CundleFlatLbl: Label 'CUNDLE FLAT', MaxLength = 30; + KnorritFlatLbl: Label 'KNORRIT FLAT', MaxLength = 30; + MountGeorgeLbl: Label 'MOUNT GEORGE', MaxLength = 30; + NumberOneLbl: Label 'NUMBER ONE', MaxLength = 30; + AllworthLbl: Label 'ALLWORTH', MaxLength = 30; + BooralLbl: Label 'BOORAL', MaxLength = 30; + GirvanLbl: Label 'GIRVAN', MaxLength = 30; + StroudLbl: Label 'STROUD', MaxLength = 30; + WashpoolLbl: Label 'WASHPOOL', MaxLength = 30; + CoopernookLbl: Label 'COOPERNOOK', MaxLength = 30; + LangleyValeLbl: Label 'LANGLEY VALE', MaxLength = 30; + CrowdyHeadLbl: Label 'CROWDY HEAD', MaxLength = 30; + HarringtonLbl: Label 'HARRINGTON', MaxLength = 30; + CharlotteBayLbl: Label 'CHARLOTTE BAY', MaxLength = 30; + ForsterLbl: Label 'FORSTER', MaxLength = 30; + ForsterShoppingVillageLbl: Label 'FORSTER SHOPPING VILLAGE', MaxLength = 30; + PacificPalmsLbl: Label 'PACIFIC PALMS', MaxLength = 30; + SmithsLakeLbl: Label 'SMITHS LAKE', MaxLength = 30; + TarbuckBayLbl: Label 'TARBUCK BAY', MaxLength = 30; + TuncurryLbl: Label 'TUNCURRY', MaxLength = 30; + BobinLbl: Label 'BOBIN', MaxLength = 30; + BunyahLbl: Label 'BUNYAH', MaxLength = 30; + BurrellCreekLbl: Label 'BURRELL CREEK', MaxLength = 30; + CaparraLbl: Label 'CAPARRA', MaxLength = 30; + ComboyneLbl: Label 'COMBOYNE', MaxLength = 30; + DyersCrossingLbl: Label 'DYERS CROSSING', MaxLength = 30; + ElandsLbl: Label 'ELANDS', MaxLength = 30; + FireflyLbl: Label 'FIREFLY', MaxLength = 30; + KillabakhLbl: Label 'KILLABAKH', MaxLength = 30; + KimbrikiLbl: Label 'KIMBRIKI', MaxLength = 30; + KrambachLbl: Label 'KRAMBACH', MaxLength = 30; + MarleeLbl: Label 'MARLEE', MaxLength = 30; + MooralCreekLbl: Label 'MOORAL CREEK', MaxLength = 30; + WarriwillahLbl: Label 'WARRIWILLAH', MaxLength = 30; + WherrolFlatLbl: Label 'WHERROL FLAT', MaxLength = 30; + WinghamLbl: Label 'WINGHAM', MaxLength = 30; + BohnockLbl: Label 'BOHNOCK', MaxLength = 30; + ChathamLbl: Label 'CHATHAM', MaxLength = 30; + CundletownLbl: Label 'CUNDLETOWN', MaxLength = 30; + DiamondBeachLbl: Label 'DIAMOND BEACH', MaxLength = 30; + FailfordLbl: Label 'FAILFORD', MaxLength = 30; + GhinniGhinniLbl: Label 'GHINNI GHINNI', MaxLength = 30; + HallidaysPointLbl: Label 'HALLIDAYS POINT', MaxLength = 30; + KolodongLbl: Label 'KOLODONG', MaxLength = 30; + KoorainghatLbl: Label 'KOORAINGHAT', MaxLength = 30; + ManningPointLbl: Label 'MANNING POINT', MaxLength = 30; + OldBarLbl: Label 'OLD BAR', MaxLength = 30; + PurfleetLbl: Label 'PURFLEET', MaxLength = 30; + TareeLbl: Label 'TAREE', MaxLength = 30; + TinoneeLbl: Label 'TINONEE', MaxLength = 30; + UpperLansdowneLbl: Label 'UPPER LANSDOWNE', MaxLength = 30; + JerseyvilleLbl: Label 'JERSEYVILLE', MaxLength = 30; + SouthWestRocksLbl: Label 'SOUTH WEST ROCKS', MaxLength = 30; + KendallLbl: Label 'KENDALL', MaxLength = 30; + KewLbl: Label 'KEW', MaxLength = 30; + LorneLbl: Label 'LORNE', MaxLength = 30; + BellbrookLbl: Label 'BELLBROOK', MaxLength = 30; + BellimbopinniLbl: Label 'BELLIMBOPINNI', MaxLength = 30; + CarraiLbl: Label 'CARRAI', MaxLength = 30; + ClybuccaLbl: Label 'CLYBUCCA', MaxLength = 30; + CollombattiLbl: Label 'COLLOMBATTI', MaxLength = 30; + ComaraLbl: Label 'COMARA', MaxLength = 30; + CrescentHeadLbl: Label 'CRESCENT HEAD', MaxLength = 30; + FredericktonLbl: Label 'FREDERICKTON', MaxLength = 30; + GladstoneLbl: Label 'GLADSTONE', MaxLength = 30; + GreenhillLbl: Label 'GREENHILL', MaxLength = 30; + HatHeadLbl: Label 'HAT HEAD', MaxLength = 30; + HickeysCreekLbl: Label 'HICKEYS CREEK', MaxLength = 30; + KempseyLbl: Label 'KEMPSEY', MaxLength = 30; + LowerCreekLbl: Label 'LOWER CREEK', MaxLength = 30; + MillbankLbl: Label 'MILLBANK', MaxLength = 30; + SmithtownLbl: Label 'SMITHTOWN', MaxLength = 30; + SouthKempseyLbl: Label 'SOUTH KEMPSEY', MaxLength = 30; + ToorookaLbl: Label 'TOOROOKA', MaxLength = 30; + VergesCreekLbl: Label 'VERGES CREEK', MaxLength = 30; + WillawarrinLbl: Label 'WILLAWARRIN', MaxLength = 30; + BallengarraLbl: Label 'BALLENGARRA', MaxLength = 30; + BonvilleLbl: Label 'BONVILLE', MaxLength = 30; + EungaiCreekLbl: Label 'EUNGAI CREEK', MaxLength = 30; + EungaiRailLbl: Label 'EUNGAI RAIL', MaxLength = 30; + GrassyHeadLbl: Label 'GRASSY HEAD', MaxLength = 30; + GumScrubLbl: Label 'GUM SCRUB', MaxLength = 30; + KundabungLbl: Label 'KUNDABUNG', MaxLength = 30; + RollandsPlainsLbl: Label 'ROLLANDS PLAINS', MaxLength = 30; + StuartsPointLbl: Label 'STUARTS POINT', MaxLength = 30; + TelegraphPointLbl: Label 'TELEGRAPH POINT', MaxLength = 30; + MidNorthCoastMscLbl: Label 'MID NORTH COAST MSC', MaxLength = 30; + CamdenHeadLbl: Label 'CAMDEN HEAD', MaxLength = 30; + DunboganLbl: Label 'DUNBOGAN', MaxLength = 30; + HannamValeLbl: Label 'HANNAM VALE', MaxLength = 30; + HeronsCreekLbl: Label 'HERONS CREEK', MaxLength = 30; + JohnsRiverLbl: Label 'JOHNS RIVER', MaxLength = 30; + LaurietonLbl: Label 'LAURIETON', MaxLength = 30; + MoorlandLbl: Label 'MOORLAND', MaxLength = 30; + NorthHavenLbl: Label 'NORTH HAVEN', MaxLength = 30; + WestHavenLbl: Label 'WEST HAVEN', MaxLength = 30; + BlackmansPointLbl: Label 'BLACKMANS POINT', MaxLength = 30; + FlynnsBeachLbl: Label 'FLYNNS BEACH', MaxLength = 30; + PortMacquarieLbl: Label 'PORT MACQUARIE', MaxLength = 30; + PortMacquarieBcLbl: Label 'PORT MACQUARIE BC', MaxLength = 30; + BonnyHillsLbl: Label 'BONNY HILLS', MaxLength = 30; + LakeCathieLbl: Label 'LAKE CATHIE', MaxLength = 30; + BagnooLbl: Label 'BAGNOO', MaxLength = 30; + BeechwoodLbl: Label 'BEECHWOOD', MaxLength = 30; + BellangryLbl: Label 'BELLANGRY', MaxLength = 30; + ByabarraLbl: Label 'BYABARRA', MaxLength = 30; + EllenboroughLbl: Label 'ELLENBOROUGH', MaxLength = 30; + HollisdaleLbl: Label 'HOLLISDALE', MaxLength = 30; + HuntingdonLbl: Label 'HUNTINGDON', MaxLength = 30; + KingsCreekLbl: Label 'KINGS CREEK', MaxLength = 30; + LongFlatLbl: Label 'LONG FLAT', MaxLength = 30; + PappinbarraLbl: Label 'PAPPINBARRA', MaxLength = 30; + PembrookeLbl: Label 'PEMBROOKE', MaxLength = 30; + TomsCreekLbl: Label 'TOMS CREEK', MaxLength = 30; + WauchopeLbl: Label 'WAUCHOPE', MaxLength = 30; + MacksvilleLbl: Label 'MACKSVILLE', MaxLength = 30; + ScottsHeadLbl: Label 'SCOTTS HEAD', MaxLength = 30; + TaylorsArmLbl: Label 'TAYLORS ARM', MaxLength = 30; + ThumbCreekLbl: Label 'THUMB CREEK', MaxLength = 30; + WarrellCreekLbl: Label 'WARRELL CREEK', MaxLength = 30; + NambuccaHeadsLbl: Label 'NAMBUCCA HEADS', MaxLength = 30; + VallaBeachLbl: Label 'VALLA BEACH', MaxLength = 30; + ArgentsHillLbl: Label 'ARGENTS HILL', MaxLength = 30; + BowravilleLbl: Label 'BOWRAVILLE', MaxLength = 30; + MissabottiLbl: Label 'MISSABOTTI', MaxLength = 30; + BoambeeLbl: Label 'BOAMBEE', MaxLength = 30; + CoffsHarbourLbl: Label 'COFFS HARBOUR', MaxLength = 30; + CoffsHarbourJettyLbl: Label 'COFFS HARBOUR JETTY', MaxLength = 30; + CoffsHarbourPlazaLbl: Label 'COFFS HARBOUR PLAZA', MaxLength = 30; + CorambaLbl: Label 'CORAMBA', MaxLength = 30; + GlenreaghLbl: Label 'GLENREAGH', MaxLength = 30; + KarangiLbl: Label 'KARANGI', MaxLength = 30; + KororaLbl: Label 'KORORA', MaxLength = 30; + LowannaLbl: Label 'LOWANNA', MaxLength = 30; + MooneeBeachLbl: Label 'MOONEE BEACH', MaxLength = 30; + NanaGlenLbl: Label 'NANA GLEN', MaxLength = 30; + UlongLbl: Label 'ULONG', MaxLength = 30; + UpperOraraLbl: Label 'UPPER ORARA', MaxLength = 30; + BoambeeEastLbl: Label 'BOAMBEE EAST', MaxLength = 30; + SawtellLbl: Label 'SAWTELL', MaxLength = 30; + ToorminaLbl: Label 'TOORMINA', MaxLength = 30; + BostobrickLbl: Label 'BOSTOBRICK', MaxLength = 30; + DorrigoLbl: Label 'DORRIGO', MaxLength = 30; + DundurrabinLbl: Label 'DUNDURRABIN', MaxLength = 30; + EborLbl: Label 'EBOR', MaxLength = 30; + HernaniLbl: Label 'HERNANI', MaxLength = 30; + MeganLbl: Label 'MEGAN', MaxLength = 30; + TyringhamLbl: Label 'TYRINGHAM', MaxLength = 30; + BellingenLbl: Label 'BELLINGEN', MaxLength = 30; + FernmountLbl: Label 'FERNMOUNT', MaxLength = 30; + KalangLbl: Label 'KALANG', MaxLength = 30; + MylestomLbl: Label 'MYLESTOM', MaxLength = 30; + RaleighLbl: Label 'RALEIGH', MaxLength = 30; + ReptonLbl: Label 'REPTON', MaxLength = 30; + ThoraLbl: Label 'THORA', MaxLength = 30; + UrungaLbl: Label 'URUNGA', MaxLength = 30; + ArrawarraHeadlandLbl: Label 'ARRAWARRA HEADLAND', MaxLength = 30; + CorindiBeachLbl: Label 'CORINDI BEACH', MaxLength = 30; + EmeraldBeachLbl: Label 'EMERALD BEACH', MaxLength = 30; + RedRockLbl: Label 'RED ROCK', MaxLength = 30; + SafetyBeachLbl: Label 'SAFETY BEACH', MaxLength = 30; + SandyBeachLbl: Label 'SANDY BEACH', MaxLength = 30; + WoolgoolgaLbl: Label 'WOOLGOOLGA', MaxLength = 30; + BaryulgilLbl: Label 'BARYULGIL', MaxLength = 30; + BrushgroveLbl: Label 'BRUSHGROVE', MaxLength = 30; + CangaiLbl: Label 'CANGAI', MaxLength = 30; + CoaldaleLbl: Label 'COALDALE', MaxLength = 30; + CopmanhurstLbl: Label 'COPMANHURST', MaxLength = 30; + CouttsCrossingLbl: Label 'COUTTS CROSSING', MaxLength = 30; + CowperLbl: Label 'COWPER', MaxLength = 30; + GraftonLbl: Label 'GRAFTON', MaxLength = 30; + GraftonWestLbl: Label 'GRAFTON WEST', MaxLength = 30; + HalfwayCreekLbl: Label 'HALFWAY CREEK', MaxLength = 30; + JackadgeryLbl: Label 'JACKADGERY', MaxLength = 30; + JunctionHillLbl: Label 'JUNCTION HILL', MaxLength = 30; + KangarooCreekLbl: Label 'KANGAROO CREEK', MaxLength = 30; + LawrenceLbl: Label 'LAWRENCE', MaxLength = 30; + NymboidaLbl: Label 'NYMBOIDA', MaxLength = 30; + SeelandsLbl: Label 'SEELANDS', MaxLength = 30; + SouthArmLbl: Label 'SOUTH ARM', MaxLength = 30; + SouthGraftonLbl: Label 'SOUTH GRAFTON', MaxLength = 30; + WaterviewHeightsLbl: Label 'WATERVIEW HEIGHTS', MaxLength = 30; + WinegroveLbl: Label 'WINEGROVE', MaxLength = 30; + PillarValleyLbl: Label 'PILLAR VALLEY', MaxLength = 30; + TucabiaLbl: Label 'TUCABIA', MaxLength = 30; + UlmarraLbl: Label 'ULMARRA', MaxLength = 30; + WooliLbl: Label 'WOOLI', MaxLength = 30; + BroomsHeadLbl: Label 'BROOMS HEAD', MaxLength = 30; + MacleanLbl: Label 'MACLEAN', MaxLength = 30; + TullymorganLbl: Label 'TULLYMORGAN', MaxLength = 30; + WoodfordLbl: Label 'WOODFORD', MaxLength = 30; + YambaLbl: Label 'YAMBA', MaxLength = 30; + HarwoodLbl: Label 'HARWOOD', MaxLength = 30; + IlukaLbl: Label 'ILUKA', MaxLength = 30; + BonalboLbl: Label 'BONALBO', MaxLength = 30; + ChatsworthLbl: Label 'CHATSWORTH', MaxLength = 30; + MallanganeeLbl: Label 'MALLANGANEE', MaxLength = 30; + OldBonalboLbl: Label 'OLD BONALBO', MaxLength = 30; + RappvilleLbl: Label 'RAPPVILLE', MaxLength = 30; + TabulamLbl: Label 'TABULAM', MaxLength = 30; + BackmedeLbl: Label 'BACKMEDE', MaxLength = 30; + BaraimalLbl: Label 'BARAIMAL', MaxLength = 30; + CasinoLbl: Label 'CASINO', MaxLength = 30; + CoombellLbl: Label 'COOMBELL', MaxLength = 30; + DobiesBightLbl: Label 'DOBIES BIGHT', MaxLength = 30; + DoubtfulCreekLbl: Label 'DOUBTFUL CREEK', MaxLength = 30; + DyraabaLbl: Label 'DYRAABA', MaxLength = 30; + DyraabaCentralLbl: Label 'DYRAABA CENTRAL', MaxLength = 30; + EllangowanLbl: Label 'ELLANGOWAN', MaxLength = 30; + FairyHillLbl: Label 'FAIRY HILL', MaxLength = 30; + IrvingtonLbl: Label 'IRVINGTON', MaxLength = 30; + LeevilleLbl: Label 'LEEVILLE', MaxLength = 30; + MongogarieLbl: Label 'MONGOGARIE', MaxLength = 30; + NaughtonsGapLbl: Label 'NAUGHTONS GAP', MaxLength = 30; + PioraLbl: Label 'PIORA', MaxLength = 30; + SextonvilleLbl: Label 'SEXTONVILLE', MaxLength = 30; + ShannonBrookLbl: Label 'SHANNON BROOK', MaxLength = 30; + SpringGroveLbl: Label 'SPRING GROVE', MaxLength = 30; + StrathedenLbl: Label 'STRATHEDEN', MaxLength = 30; + WoodviewLbl: Label 'WOODVIEW', MaxLength = 30; + CorakiLbl: Label 'CORAKI', MaxLength = 30; + TathamLbl: Label 'TATHAM', MaxLength = 30; + BroadwaterLbl: Label 'BROADWATER', MaxLength = 30; + RileysHillLbl: Label 'RILEYS HILL', MaxLength = 30; + WoodburnLbl: Label 'WOODBURN', MaxLength = 30; + EvansHeadLbl: Label 'EVANS HEAD', MaxLength = 30; + CawonglaLbl: Label 'CAWONGLA', MaxLength = 30; + EttrickLbl: Label 'ETTRICK', MaxLength = 30; + GenevaLbl: Label 'GENEVA', MaxLength = 30; + GrevilliaLbl: Label 'GREVILLIA', MaxLength = 30; + KyogleLbl: Label 'KYOGLE', MaxLength = 30; + LynchsCreekLbl: Label 'LYNCHS CREEK', MaxLength = 30; + RukenvaleLbl: Label 'RUKENVALE', MaxLength = 30; + TheRiskLbl: Label 'THE RISK', MaxLength = 30; + ToonumbarLbl: Label 'TOONUMBAR', MaxLength = 30; + WiangareeLbl: Label 'WIANGAREE', MaxLength = 30; + UrbenvilleLbl: Label 'URBENVILLE', MaxLength = 30; + AcaciaPlateauLbl: Label 'ACACIA PLATEAU', MaxLength = 30; + LegumeLbl: Label 'LEGUME', MaxLength = 30; + OldKoreelahLbl: Label 'OLD KOREELAH', MaxLength = 30; + WoodenbongLbl: Label 'WOODENBONG', MaxLength = 30; + AlstonvilleLbl: Label 'ALSTONVILLE', MaxLength = 30; + CabbageTreeIslandLbl: Label 'CABBAGE TREE ISLAND', MaxLength = 30; + MeerschaumValeLbl: Label 'MEERSCHAUM VALE', MaxLength = 30; + RousLbl: Label 'ROUS', MaxLength = 30; + RousMillLbl: Label 'ROUS MILL', MaxLength = 30; + UralbaLbl: Label 'URALBA', MaxLength = 30; + WardellLbl: Label 'WARDELL', MaxLength = 30; + WollongbarLbl: Label 'WOLLONGBAR', MaxLength = 30; + BallinaLbl: Label 'BALLINA', MaxLength = 30; + EmpireValeLbl: Label 'EMPIRE VALE', MaxLength = 30; + KeithHallLbl: Label 'KEITH HALL', MaxLength = 30; + LennoxHeadLbl: Label 'LENNOX HEAD', MaxLength = 30; + PimlicoLbl: Label 'PIMLICO', MaxLength = 30; + TevenLbl: Label 'TEVEN', MaxLength = 30; + TintenbarLbl: Label 'TINTENBAR', MaxLength = 30; + BangalowLbl: Label 'BANGALOW', MaxLength = 30; + BinnaBurraLbl: Label 'BINNA BURRA', MaxLength = 30; + BrookletLbl: Label 'BROOKLET', MaxLength = 30; + FernleighLbl: Label 'FERNLEIGH', MaxLength = 30; + NashuaLbl: Label 'NASHUA', MaxLength = 30; + OpossumCreekLbl: Label 'OPOSSUM CREEK', MaxLength = 30; + BentleyLbl: Label 'BENTLEY', MaxLength = 30; + BexhillLbl: Label 'BEXHILL', MaxLength = 30; + ClunesLbl: Label 'CLUNES', MaxLength = 30; + CorndaleLbl: Label 'CORNDALE', MaxLength = 30; + DorroughbyLbl: Label 'DORROUGHBY', MaxLength = 30; + DunoonLbl: Label 'DUNOON', MaxLength = 30; + ElthamLbl: Label 'ELTHAM', MaxLength = 30; + EurekaLbl: Label 'EUREKA', MaxLength = 30; + FederalLbl: Label 'FEDERAL', MaxLength = 30; + GeorgicaLbl: Label 'GEORGICA', MaxLength = 30; + GoolmangarLbl: Label 'GOOLMANGAR', MaxLength = 30; + GoonellabahLbl: Label 'GOONELLABAH', MaxLength = 30; + LismoreLbl: Label 'LISMORE', MaxLength = 30; + MaromCreekLbl: Label 'MAROM CREEK', MaxLength = 30; + MckeesHillLbl: Label 'MCKEES HILL', MaxLength = 30; + NimbinLbl: Label 'NIMBIN', MaxLength = 30; + NorthLismoreLbl: Label 'NORTH LISMORE', MaxLength = 30; + NumulgiLbl: Label 'NUMULGI', MaxLength = 30; + RichmondHillLbl: Label 'RICHMOND HILL', MaxLength = 30; + RockValleyLbl: Label 'ROCK VALLEY', MaxLength = 30; + RosebankLbl: Label 'ROSEBANK', MaxLength = 30; + RuthvenLbl: Label 'RUTHVEN', MaxLength = 30; + TheChannonLbl: Label 'THE CHANNON', MaxLength = 30; + TregeagleLbl: Label 'TREGEAGLE', MaxLength = 30; + TuckurimbaLbl: Label 'TUCKURIMBA', MaxLength = 30; + TuncesterLbl: Label 'TUNCESTER', MaxLength = 30; + WhianWhianLbl: Label 'WHIAN WHIAN', MaxLength = 30; + WyrallahLbl: Label 'WYRALLAH', MaxLength = 30; + BrokenHeadLbl: Label 'BROKEN HEAD', MaxLength = 30; + ByronBayLbl: Label 'BYRON BAY', MaxLength = 30; + SuffolkParkLbl: Label 'SUFFOLK PARK', MaxLength = 30; + TyagarahLbl: Label 'TYAGARAH', MaxLength = 30; + GoonengerryLbl: Label 'GOONENGERRY', MaxLength = 30; + MullumbimbyLbl: Label 'MULLUMBIMBY', MaxLength = 30; + BillinudgelLbl: Label 'BILLINUDGEL', MaxLength = 30; + BrunswickHeadsLbl: Label 'BRUNSWICK HEADS', MaxLength = 30; + BurringbarLbl: Label 'BURRINGBAR', MaxLength = 30; + CrabbesCreekLbl: Label 'CRABBES CREEK', MaxLength = 30; + MooballLbl: Label 'MOOBALL', MaxLength = 30; + NewBrightonLbl: Label 'NEW BRIGHTON', MaxLength = 30; + OceanShoresLbl: Label 'OCEAN SHORES', MaxLength = 30; + SouthGoldenBeachLbl: Label 'SOUTH GOLDEN BEACH', MaxLength = 30; + YelgunLbl: Label 'YELGUN', MaxLength = 30; + BackCreekLbl: Label 'BACK CREEK', MaxLength = 30; + BrayParkLbl: Label 'BRAY PARK', MaxLength = 30; + ChillinghamLbl: Label 'CHILLINGHAM', MaxLength = 30; + CondongLbl: Label 'CONDONG', MaxLength = 30; + CrystalCreekLbl: Label 'CRYSTAL CREEK', MaxLength = 30; + CudgeraCreekLbl: Label 'CUDGERA CREEK', MaxLength = 30; + DoonDoonLbl: Label 'DOON DOON', MaxLength = 30; + DunbibleLbl: Label 'DUNBIBLE', MaxLength = 30; + DungayLbl: Label 'DUNGAY', MaxLength = 30; + EungellaLbl: Label 'EUNGELLA', MaxLength = 30; + KunghurLbl: Label 'KUNGHUR', MaxLength = 30; + MurwillumbahLbl: Label 'MURWILLUMBAH', MaxLength = 30; + NuminbahLbl: Label 'NUMINBAH', MaxLength = 30; + PalmvaleLbl: Label 'PALMVALE', MaxLength = 30; + StokersSidingLbl: Label 'STOKERS SIDING', MaxLength = 30; + TyalgumLbl: Label 'TYALGUM', MaxLength = 30; + UkiLbl: Label 'UKI', MaxLength = 30; + TweedHeadsLbl: Label 'TWEED HEADS', MaxLength = 30; + TweedHeadsWestLbl: Label 'TWEED HEADS WEST', MaxLength = 30; + BanoraPointLbl: Label 'BANORA POINT', MaxLength = 30; + BilambilLbl: Label 'BILAMBIL', MaxLength = 30; + CaroolLbl: Label 'CAROOL', MaxLength = 30; + TerranoraLbl: Label 'TERRANORA', MaxLength = 30; + TweedHeadsSouthLbl: Label 'TWEED HEADS SOUTH', MaxLength = 30; + ChinderahLbl: Label 'CHINDERAH', MaxLength = 30; + CudgenLbl: Label 'CUDGEN', MaxLength = 30; + DuranbahLbl: Label 'DURANBAH', MaxLength = 30; + FingalHeadLbl: Label 'FINGAL HEAD', MaxLength = 30; + KingscliffLbl: Label 'KINGSCLIFF', MaxLength = 30; + StottsCreekLbl: Label 'STOTTS CREEK', MaxLength = 30; + BogangarLbl: Label 'BOGANGAR', MaxLength = 30; + CabaritaBeachLbl: Label 'CABARITA BEACH', MaxLength = 30; + HastingsPointLbl: Label 'HASTINGS POINT', MaxLength = 30; + PottsvilleLbl: Label 'POTTSVILLE', MaxLength = 30; + TumbulgumLbl: Label 'TUMBULGUM', MaxLength = 30; + ConistonLbl: Label 'CONISTON', MaxLength = 30; + GwynnevilleLbl: Label 'GWYNNEVILLE', MaxLength = 30; + KeiravilleLbl: Label 'KEIRAVILLE', MaxLength = 30; + MangertonLbl: Label 'MANGERTON', MaxLength = 30; + MountKeiraLbl: Label 'MOUNT KEIRA', MaxLength = 30; + MountSaintThomasLbl: Label 'MOUNT SAINT THOMAS', MaxLength = 30; + NorthWollongongLbl: Label 'NORTH WOLLONGONG', MaxLength = 30; + SpringHillLbl: Label 'SPRING HILL', MaxLength = 30; + WestWollongongLbl: Label 'WEST WOLLONGONG', MaxLength = 30; + WollongongLbl: Label 'Wollongong', MaxLength = 30; + CringilaLbl: Label 'CRINGILA', MaxLength = 30; + LakeHeightsLbl: Label 'LAKE HEIGHTS', MaxLength = 30; + PrimbeeLbl: Label 'PRIMBEE', MaxLength = 30; + WarrawongLbl: Label 'WARRAWONG', MaxLength = 30; + KemblawarraLbl: Label 'KEMBLAWARRA', MaxLength = 30; + PortKemblaLbl: Label 'PORT KEMBLA', MaxLength = 30; + BerkeleyLbl: Label 'BERKELEY', MaxLength = 30; + CoalcliffLbl: Label 'COALCLIFF', MaxLength = 30; + DarkesForestLbl: Label 'DARKES FOREST', MaxLength = 30; + HelensburghLbl: Label 'HELENSBURGH', MaxLength = 30; + OtfordLbl: Label 'OTFORD', MaxLength = 30; + StanwellParkLbl: Label 'STANWELL PARK', MaxLength = 30; + StanwellTopsLbl: Label 'STANWELL TOPS', MaxLength = 30; + AustinmerLbl: Label 'AUSTINMER', MaxLength = 30; + CliftonLbl: Label 'CLIFTON', MaxLength = 30; + ColedaleLbl: Label 'COLEDALE', MaxLength = 30; + ScarboroughLbl: Label 'SCARBOROUGH', MaxLength = 30; + ThirroulLbl: Label 'THIRROUL', MaxLength = 30; + WombarraLbl: Label 'WOMBARRA', MaxLength = 30; + BulliLbl: Label 'BULLI', MaxLength = 30; + RussellValeLbl: Label 'RUSSELL VALE', MaxLength = 30; + WoononaLbl: Label 'WOONONA', MaxLength = 30; + BellambiLbl: Label 'BELLAMBI', MaxLength = 30; + CorrimalLbl: Label 'CORRIMAL', MaxLength = 30; + EastCorrimalLbl: Label 'EAST CORRIMAL', MaxLength = 30; + TarrawannaLbl: Label 'TARRAWANNA', MaxLength = 30; + TowradgiLbl: Label 'TOWRADGI', MaxLength = 30; + BalgownieLbl: Label 'BALGOWNIE', MaxLength = 30; + FairyMeadowLbl: Label 'FAIRY MEADOW', MaxLength = 30; + MountOusleyLbl: Label 'MOUNT OUSLEY', MaxLength = 30; + MountPleasantLbl: Label 'MOUNT PLEASANT', MaxLength = 30; + UniversityOfWollongongLbl: Label 'UNIVERSITY OF WOLLONGONG', MaxLength = 30; + FigtreeLbl: Label 'FIGTREE', MaxLength = 30; + CordeauxHeightsLbl: Label 'CORDEAUX HEIGHTS', MaxLength = 30; + FarmboroughHeightsLbl: Label 'FARMBOROUGH HEIGHTS', MaxLength = 30; + KemblaGrangeLbl: Label 'KEMBLA GRANGE', MaxLength = 30; + MountKemblaLbl: Label 'MOUNT KEMBLA', MaxLength = 30; + UnanderraLbl: Label 'UNANDERRA', MaxLength = 30; + AlbionParkLbl: Label 'ALBION PARK', MaxLength = 30; + AlbionParkRailLbl: Label 'ALBION PARK RAIL', MaxLength = 30; + BarrackHeightsLbl: Label 'BARRACK HEIGHTS', MaxLength = 30; + BarrackPointLbl: Label 'BARRACK POINT', MaxLength = 30; + LakeIllawarraLbl: Label 'LAKE ILLAWARRA', MaxLength = 30; + MountWarrigalLbl: Label 'MOUNT WARRIGAL', MaxLength = 30; + WarillaLbl: Label 'WARILLA', MaxLength = 30; + WindangLbl: Label 'WINDANG', MaxLength = 30; + BlackbuttLbl: Label 'BLACKBUTT', MaxLength = 30; + DunmoreLbl: Label 'DUNMORE', MaxLength = 30; + FlindersLbl: Label 'FLINDERS', MaxLength = 30; + OakFlatsLbl: Label 'OAK FLATS', MaxLength = 30; + OakFlatsDcLbl: Label 'OAK FLATS DC', MaxLength = 30; + ShellCoveLbl: Label 'SHELL COVE', MaxLength = 30; + ShellharbourLbl: Label 'SHELLHARBOUR', MaxLength = 30; + BrownsvilleLbl: Label 'BROWNSVILLE', MaxLength = 30; + DaptoLbl: Label 'DAPTO', MaxLength = 30; + HorsleyLbl: Label 'HORSLEY', MaxLength = 30; + KanahookaLbl: Label 'KANAHOOKA', MaxLength = 30; + KoonawarraLbl: Label 'KOONAWARRA', MaxLength = 30; + WongawilliLbl: Label 'WONGAWILLI', MaxLength = 30; + YallahLbl: Label 'YALLAH', MaxLength = 30; + BomboLbl: Label 'BOMBO', MaxLength = 30; + JamberooLbl: Label 'JAMBEROO', MaxLength = 30; + KiamaLbl: Label 'KIAMA', MaxLength = 30; + MinnamurraLbl: Label 'MINNAMURRA', MaxLength = 30; + FoxgroundLbl: Label 'FOXGROUND', MaxLength = 30; + GerringongLbl: Label 'GERRINGONG', MaxLength = 30; + GerroaLbl: Label 'GERROA', MaxLength = 30; + ToolijooaLbl: Label 'TOOLIJOOA', MaxLength = 30; + WerriBeachLbl: Label 'WERRI BEACH', MaxLength = 30; + BellawongarahLbl: Label 'BELLAWONGARAH', MaxLength = 30; + BerryLbl: Label 'BERRY', MaxLength = 30; + BudderooLbl: Label 'BUDDEROO', MaxLength = 30; + CoolangattaLbl: Label 'COOLANGATTA', MaxLength = 30; + JaspersBrushLbl: Label 'JASPERS BRUSH', MaxLength = 30; + ShoalhavenHeadsLbl: Label 'SHOALHAVEN HEADS', MaxLength = 30; + WattamollaLbl: Label 'WATTAMOLLA', MaxLength = 30; + WoodhillLbl: Label 'WOODHILL', MaxLength = 30; + BatehavenLbl: Label 'BATEHAVEN', MaxLength = 30; + BatemansBayLbl: Label 'BATEMANS BAY', MaxLength = 30; + BenandarahLbl: Label 'BENANDARAH', MaxLength = 30; + BimbimbieLbl: Label 'BIMBIMBIE', MaxLength = 30; + BuckenbowraLbl: Label 'BUCKENBOWRA', MaxLength = 30; + CatalinaLbl: Label 'CATALINA', MaxLength = 30; + CurrowanLbl: Label 'CURROWAN', MaxLength = 30; + DenhamsBeachLbl: Label 'DENHAMS BEACH', MaxLength = 30; + DurrasNorthLbl: Label 'DURRAS NORTH', MaxLength = 30; + EastLynneLbl: Label 'EAST LYNNE', MaxLength = 30; + GuerillaBayLbl: Label 'GUERILLA BAY', MaxLength = 30; + JeremadraLbl: Label 'JEREMADRA', MaxLength = 30; + LongBeachLbl: Label 'LONG BEACH', MaxLength = 30; + MaloneysBeachLbl: Label 'MALONEYS BEACH', MaxLength = 30; + MaluaBayLbl: Label 'MALUA BAY', MaxLength = 30; + MogoLbl: Label 'MOGO', MaxLength = 30; + NelligenLbl: Label 'NELLIGEN', MaxLength = 30; + NorthBatemansBayLbl: Label 'NORTH BATEMANS BAY', MaxLength = 30; + RosedaleLbl: Label 'ROSEDALE', MaxLength = 30; + RunnyfordLbl: Label 'RUNNYFORD', MaxLength = 30; + SouthDurrasLbl: Label 'SOUTH DURRAS', MaxLength = 30; + SunshineBayLbl: Label 'SUNSHINE BAY', MaxLength = 30; + SurfBeachLbl: Label 'SURF BEACH', MaxLength = 30; + SurfsideLbl: Label 'SURFSIDE', MaxLength = 30; + WoodlandsLbl: Label 'WOODLANDS', MaxLength = 30; + BergaliaLbl: Label 'BERGALIA', MaxLength = 30; + BingieLbl: Label 'BINGIE', MaxLength = 30; + BrouleeLbl: Label 'BROULEE', MaxLength = 30; + CoilaLbl: Label 'COILA', MaxLength = 30; + CongoLbl: Label 'CONGO', MaxLength = 30; + DeuaLbl: Label 'DEUA', MaxLength = 30; + DeuaRiverValleyLbl: Label 'DEUA RIVER VALLEY', MaxLength = 30; + KioraLbl: Label 'KIORA', MaxLength = 30; + MeringoLbl: Label 'MERINGO', MaxLength = 30; + MogendouraLbl: Label 'MOGENDOURA', MaxLength = 30; + MoruyaLbl: Label 'MORUYA', MaxLength = 30; + MoruyaHeadsLbl: Label 'MORUYA HEADS', MaxLength = 30; + MossyPointLbl: Label 'MOSSY POINT', MaxLength = 30; + TomakinLbl: Label 'TOMAKIN', MaxLength = 30; + TurlinjahLbl: Label 'TURLINJAH', MaxLength = 30; + TurossHeadLbl: Label 'TUROSS HEAD', MaxLength = 30; + MiltonLbl: Label 'MILTON', MaxLength = 30; + BawleyPointLbl: Label 'BAWLEY POINT', MaxLength = 30; + BendalongLbl: Label 'BENDALONG', MaxLength = 30; + BerringerLakeLbl: Label 'BERRINGER LAKE', MaxLength = 30; + BurrillLakeLbl: Label 'BURRILL LAKE', MaxLength = 30; + ConjolaLbl: Label 'CONJOLA', MaxLength = 30; + ConjolaParkLbl: Label 'CONJOLA PARK', MaxLength = 30; + CunjurongPointLbl: Label 'CUNJURONG POINT', MaxLength = 30; + KioloaLbl: Label 'KIOLOA', MaxLength = 30; + LakeConjolaLbl: Label 'LAKE CONJOLA', MaxLength = 30; + LakeTabourieLbl: Label 'LAKE TABOURIE', MaxLength = 30; + ManyanaLbl: Label 'MANYANA', MaxLength = 30; + MollymookLbl: Label 'MOLLYMOOK', MaxLength = 30; + TermeilLbl: Label 'TERMEIL', MaxLength = 30; + UlladullaLbl: Label 'ULLADULLA', MaxLength = 30; + YatteYattahLbl: Label 'YATTE YATTAH', MaxLength = 30; + BamarangLbl: Label 'BAMARANG', MaxLength = 30; + BasinViewLbl: Label 'BASIN VIEW', MaxLength = 30; + BerraraLbl: Label 'BERRARA', MaxLength = 30; + BolongLbl: Label 'BOLONG', MaxLength = 30; + BrundeeLbl: Label 'BRUNDEE', MaxLength = 30; + BurrierLbl: Label 'BURRIER', MaxLength = 30; + CallalaBayLbl: Label 'CALLALA BAY', MaxLength = 30; + CallalaBeachLbl: Label 'CALLALA BEACH', MaxLength = 30; + CambewarraLbl: Label 'CAMBEWARRA', MaxLength = 30; + CudmirrahLbl: Label 'CUDMIRRAH', MaxLength = 30; + CulburraBeachLbl: Label 'CULBURRA BEACH', MaxLength = 30; + CurrarongLbl: Label 'CURRARONG', MaxLength = 30; + ErowalBayLbl: Label 'EROWAL BAY', MaxLength = 30; + FallsCreekLbl: Label 'FALLS CREEK', MaxLength = 30; + GreenwellPointLbl: Label 'GREENWELL POINT', MaxLength = 30; + HmasAlbatrossLbl: Label 'HMAS ALBATROSS', MaxLength = 30; + HmasCreswellLbl: Label 'HMAS CRESWELL', MaxLength = 30; + HuskissonLbl: Label 'HUSKISSON', MaxLength = 30; + HyamsBeachLbl: Label 'HYAMS BEACH', MaxLength = 30; + JervisBayLbl: Label 'JERVIS BAY', MaxLength = 30; + MerooMeadowLbl: Label 'MEROO MEADOW', MaxLength = 30; + MyolaLbl: Label 'MYOLA', MaxLength = 30; + NumbaaLbl: Label 'NUMBAA', MaxLength = 30; + OldErowalBayLbl: Label 'OLD EROWAL BAY', MaxLength = 30; + OrientPointLbl: Label 'ORIENT POINT', MaxLength = 30; + PyreeLbl: Label 'PYREE', MaxLength = 30; + SanctuaryPointLbl: Label 'SANCTUARY POINT', MaxLength = 30; + StGeorgesBasinLbl: Label 'ST GEORGES BASIN', MaxLength = 30; + SussexInletLbl: Label 'SUSSEX INLET', MaxLength = 30; + SwanhavenLbl: Label 'SWANHAVEN', MaxLength = 30; + TapitalleeLbl: Label 'TAPITALLEE', MaxLength = 30; + TeraraLbl: Label 'TERARA', MaxLength = 30; + TomerongLbl: Label 'TOMERONG', MaxLength = 30; + VincentiaLbl: Label 'VINCENTIA', MaxLength = 30; + WandandianLbl: Label 'WANDANDIAN', MaxLength = 30; + WoollamiaLbl: Label 'WOOLLAMIA', MaxLength = 30; + WorrigeeLbl: Label 'WORRIGEE', MaxLength = 30; + WrightsBeachLbl: Label 'WRIGHTS BEACH', MaxLength = 30; + YalwalLbl: Label 'YALWAL', MaxLength = 30; + BangaleeLbl: Label 'BANGALEE', MaxLength = 30; + BomaderryLbl: Label 'BOMADERRY', MaxLength = 30; + NorthNowraLbl: Label 'NORTH NOWRA', MaxLength = 30; + NowraLbl: Label 'NOWRA', MaxLength = 30; + NowraDcLbl: Label 'NOWRA DC', MaxLength = 30; + SouthNowraLbl: Label 'SOUTH NOWRA', MaxLength = 30; + BodallaLbl: Label 'BODALLA', MaxLength = 30; + NerrigundahLbl: Label 'NERRIGUNDAH', MaxLength = 30; + BarraggaBayLbl: Label 'BARRAGGA BAY', MaxLength = 30; + BeautyPointLbl: Label 'BEAUTY POINT', MaxLength = 30; + BermaguiLbl: Label 'BERMAGUI', MaxLength = 30; + CentralTilbaLbl: Label 'CENTRAL TILBA', MaxLength = 30; + CuttageeLbl: Label 'CUTTAGEE', MaxLength = 30; + DalmenyLbl: Label 'DALMENY', MaxLength = 30; + DignamsCreekLbl: Label 'DIGNAMS CREEK', MaxLength = 30; + KiangaLbl: Label 'KIANGA', MaxLength = 30; + NaroomaLbl: Label 'NAROOMA', MaxLength = 30; + NorthNaroomaLbl: Label 'NORTH NAROOMA', MaxLength = 30; + TilbaTilbaLbl: Label 'TILBA TILBA', MaxLength = 30; + TinpotLbl: Label 'TINPOT', MaxLength = 30; + WadbilligaLbl: Label 'WADBILLIGA', MaxLength = 30; + WallagaLakeLbl: Label 'WALLAGA LAKE', MaxLength = 30; + WallagaLakeHeightsLbl: Label 'WALLAGA LAKE HEIGHTS', MaxLength = 30; + BerramboolLbl: Label 'BERRAMBOOL', MaxLength = 30; + MerimbulaLbl: Label 'MERIMBULA', MaxLength = 30; + TuraBeachLbl: Label 'TURA BEACH', MaxLength = 30; + GreigsFlatLbl: Label 'GREIGS FLAT', MaxLength = 30; + NethercoteLbl: Label 'NETHERCOTE', MaxLength = 30; + PambulaLbl: Label 'PAMBULA', MaxLength = 30; + SouthPambulaLbl: Label 'SOUTH PAMBULA', MaxLength = 30; + BegaLbl: Label 'BEGA', MaxLength = 30; + BembokaLbl: Label 'BEMBOKA', MaxLength = 30; + BourndaLbl: Label 'BOURNDA', MaxLength = 30; + BrogoLbl: Label 'BROGO', MaxLength = 30; + BurragateLbl: Label 'BURRAGATE', MaxLength = 30; + CandeloLbl: Label 'CANDELO', MaxLength = 30; + CobargoLbl: Label 'COBARGO', MaxLength = 30; + DoctorGeorgeMountainLbl: Label 'DOCTOR GEORGE MOUNTAIN', MaxLength = 30; + MogareekaLbl: Label 'MOGAREEKA', MaxLength = 30; + MoransCrossingLbl: Label 'MORANS CROSSING', MaxLength = 30; + MumbullaMountainLbl: Label 'MUMBULLA MOUNTAIN', MaxLength = 30; + NelsonLbl: Label 'NELSON', MaxLength = 30; + QuaamaLbl: Label 'QUAAMA', MaxLength = 30; + RockyHallLbl: Label 'ROCKY HALL', MaxLength = 30; + TathraLbl: Label 'TATHRA', MaxLength = 30; + TowambaLbl: Label 'TOWAMBA', MaxLength = 30; + WandellaLbl: Label 'WANDELLA', MaxLength = 30; + WapengoLbl: Label 'WAPENGO', MaxLength = 30; + WolumlaLbl: Label 'WOLUMLA', MaxLength = 30; + WyndhamLbl: Label 'WYNDHAM', MaxLength = 30; + YowrieLbl: Label 'YOWRIE', MaxLength = 30; + EdenLbl: Label 'EDEN', MaxLength = 30; + KiahLbl: Label 'KIAH', MaxLength = 30; + WonboynLbl: Label 'WONBOYN', MaxLength = 30; + WonboynLakeLbl: Label 'WONBOYN LAKE', MaxLength = 30; + BadgerysCreekLbl: Label 'BADGERYS CREEK', MaxLength = 30; + BringellyLbl: Label 'BRINGELLY', MaxLength = 30; + CatherineFieldLbl: Label 'CATHERINE FIELD', MaxLength = 30; + RossmoreLbl: Label 'ROSSMORE', MaxLength = 30; + EagleValeLbl: Label 'EAGLE VALE', MaxLength = 30; + EscholParkLbl: Label 'ESCHOL PARK', MaxLength = 30; + KearnsLbl: Label 'KEARNS', MaxLength = 30; + BlairmountLbl: Label 'BLAIRMOUNT', MaxLength = 30; + ClaymoreLbl: Label 'CLAYMORE', MaxLength = 30; + AirdsLbl: Label 'AIRDS', MaxLength = 30; + AmbarvaleLbl: Label 'AMBARVALE', MaxLength = 30; + AppinLbl: Label 'APPIN', MaxLength = 30; + BlairAtholLbl: Label 'BLAIR ATHOL', MaxLength = 30; + BradburyLbl: Label 'BRADBURY', MaxLength = 30; + EnglorieParkLbl: Label 'ENGLORIE PARK', MaxLength = 30; + GileadLbl: Label 'GILEAD', MaxLength = 30; + GlenAlpineLbl: Label 'GLEN ALPINE', MaxLength = 30; + KentlynLbl: Label 'KENTLYN', MaxLength = 30; + LeumeahLbl: Label 'LEUMEAH', MaxLength = 30; + RosemeadowLbl: Label 'ROSEMEADOW', MaxLength = 30; + RuseLbl: Label 'RUSE', MaxLength = 30; + StHelensParkLbl: Label 'ST HELENS PARK', MaxLength = 30; + WedderburnLbl: Label 'WEDDERBURN', MaxLength = 30; + WoodbineLbl: Label 'WOODBINE', MaxLength = 30; + MenangleParkLbl: Label 'MENANGLE PARK', MaxLength = 30; + LongPointLbl: Label 'LONG POINT', MaxLength = 30; + MacquarieFieldsLbl: Label 'MACQUARIE FIELDS', MaxLength = 30; + DenhamCourtLbl: Label 'DENHAM COURT', MaxLength = 30; + MacquarieLinksLbl: Label 'MACQUARIE LINKS', MaxLength = 30; + BowBowingLbl: Label 'BOW BOWING', MaxLength = 30; + MintoLbl: Label 'MINTO', MaxLength = 30; + RabyLbl: Label 'RABY', MaxLength = 30; + StAndrewsLbl: Label 'ST ANDREWS', MaxLength = 30; + VarrovilleLbl: Label 'VARROVILLE', MaxLength = 30; + CurransHillLbl: Label 'CURRANS HILL', MaxLength = 30; + HarringtonParkLbl: Label 'HARRINGTON PARK', MaxLength = 30; + MountAnnanLbl: Label 'MOUNT ANNAN', MaxLength = 30; + NarellanLbl: Label 'NARELLAN', MaxLength = 30; + NarellanDcLbl: Label 'NARELLAN DC', MaxLength = 30; + NarellanValeLbl: Label 'NARELLAN VALE', MaxLength = 30; + MenangleLbl: Label 'MENANGLE', MaxLength = 30; + DouglasParkLbl: Label 'DOUGLAS PARK', MaxLength = 30; + CamdenLbl: Label 'CAMDEN', MaxLength = 30; + CamdenParkLbl: Label 'CAMDEN PARK', MaxLength = 30; + CawdorLbl: Label 'CAWDOR', MaxLength = 30; + CobbittyLbl: Label 'COBBITTY', MaxLength = 30; + EllisLaneLbl: Label 'ELLIS LANE', MaxLength = 30; + GrasmereLbl: Label 'GRASMERE', MaxLength = 30; + MountHunterLbl: Label 'MOUNT HUNTER', MaxLength = 30; + NattaiLbl: Label 'NATTAI', MaxLength = 30; + OakdaleLbl: Label 'OAKDALE', MaxLength = 30; + OrangevilleLbl: Label 'ORANGEVILLE', MaxLength = 30; + TheOaksLbl: Label 'THE OAKS', MaxLength = 30; + WerombiLbl: Label 'WEROMBI', MaxLength = 30; + BalmoralVillageLbl: Label 'BALMORAL VILLAGE', MaxLength = 30; + BuxtonLbl: Label 'BUXTON', MaxLength = 30; + CouridjahLbl: Label 'COURIDJAH', MaxLength = 30; + PictonLbl: Label 'PICTON', MaxLength = 30; + RazorbackLbl: Label 'RAZORBACK', MaxLength = 30; + WiltonLbl: Label 'WILTON', MaxLength = 30; + LakeslandLbl: Label 'LAKESLAND', MaxLength = 30; + ThirlmereLbl: Label 'THIRLMERE', MaxLength = 30; + TahmoorLbl: Label 'TAHMOOR', MaxLength = 30; + BargoLbl: Label 'BARGO', MaxLength = 30; + PheasantsNestLbl: Label 'PHEASANTS NEST', MaxLength = 30; + YanderraLbl: Label 'YANDERRA', MaxLength = 30; + AylmertonLbl: Label 'AYLMERTON', MaxLength = 30; + ColoValeLbl: Label 'COLO VALE', MaxLength = 30; + HillTopLbl: Label 'HILL TOP', MaxLength = 30; + MittagongLbl: Label 'MITTAGONG', MaxLength = 30; + WelbyLbl: Label 'WELBY', MaxLength = 30; + YerrinboolLbl: Label 'YERRINBOOL', MaxLength = 30; + BowralLbl: Label 'BOWRAL', MaxLength = 30; + BurradooLbl: Label 'BURRADOO', MaxLength = 30; + KangaloonLbl: Label 'KANGALOON', MaxLength = 30; + AvocaLbl: Label 'AVOCA', MaxLength = 30; + BarrengarryLbl: Label 'BARRENGARRY', MaxLength = 30; + BeaumontLbl: Label 'BEAUMONT', MaxLength = 30; + BerrimaLbl: Label 'BERRIMA', MaxLength = 30; + BurrawangLbl: Label 'BURRAWANG', MaxLength = 30; + FitzroyFallsLbl: Label 'FITZROY FALLS', MaxLength = 30; + KangarooValleyLbl: Label 'KANGAROO VALLEY', MaxLength = 30; + MossValeLbl: Label 'MOSS VALE', MaxLength = 30; + NewBerrimaLbl: Label 'NEW BERRIMA', MaxLength = 30; + RobertsonLbl: Label 'ROBERTSON', MaxLength = 30; + SuttonForestLbl: Label 'SUTTON FOREST', MaxLength = 30; + WildesMeadowLbl: Label 'WILDES MEADOW', MaxLength = 30; + YarrungaLbl: Label 'YARRUNGA', MaxLength = 30; + BundanoonLbl: Label 'BUNDANOON', MaxLength = 30; + ExeterLbl: Label 'EXETER', MaxLength = 30; + MarulanLbl: Label 'MARULAN', MaxLength = 30; + PenroseLbl: Label 'PENROSE', MaxLength = 30; + TallongLbl: Label 'TALLONG', MaxLength = 30; + WingelloLbl: Label 'WINGELLO', MaxLength = 30; + BannisterLbl: Label 'BANNISTER', MaxLength = 30; + BungoniaLbl: Label 'BUNGONIA', MaxLength = 30; + GolspieLbl: Label 'GOLSPIE', MaxLength = 30; + GoulburnLbl: Label 'GOULBURN', MaxLength = 30; + KingsdaleLbl: Label 'KINGSDALE', MaxLength = 30; + LakeBathurstLbl: Label 'LAKE BATHURST', MaxLength = 30; + RoslynLbl: Label 'ROSLYN', MaxLength = 30; + TaragoLbl: Label 'TARAGO', MaxLength = 30; + TaralgaLbl: Label 'TARALGA', MaxLength = 30; + TowrangLbl: Label 'TOWRANG', MaxLength = 30; + WombeyanCavesLbl: Label 'WOMBEYAN CAVES', MaxLength = 30; + WoodhouseleeLbl: Label 'WOODHOUSELEE', MaxLength = 30; + YalbraithLbl: Label 'YALBRAITH', MaxLength = 30; + YarraLbl: Label 'YARRA', MaxLength = 30; + BreadalbaneLbl: Label 'BREADALBANE', MaxLength = 30; + CollectorLbl: Label 'COLLECTOR', MaxLength = 30; + DaltonLbl: Label 'DALTON', MaxLength = 30; + GunningLbl: Label 'GUNNING', MaxLength = 30; + BookhamLbl: Label 'BOOKHAM', MaxLength = 30; + BowningLbl: Label 'BOWNING', MaxLength = 30; + BurrinjuckLbl: Label 'BURRINJUCK', MaxLength = 30; + MurrumbatemanLbl: Label 'MURRUMBATEMAN', MaxLength = 30; + WeeJasperLbl: Label 'WEE JASPER', MaxLength = 30; + YassLbl: Label 'YASS', MaxLength = 30; + BiggaLbl: Label 'BIGGA', MaxLength = 30; + BindaLbl: Label 'BINDA', MaxLength = 30; + BlanketFlatLbl: Label 'BLANKET FLAT', MaxLength = 30; + CrookedCornerLbl: Label 'CROOKED CORNER', MaxLength = 30; + CrookwellLbl: Label 'CROOKWELL', MaxLength = 30; + FullertonLbl: Label 'FULLERTON', MaxLength = 30; + GrabbenGullenLbl: Label 'GRABBEN GULLEN', MaxLength = 30; + KiallaLbl: Label 'KIALLA', MaxLength = 30; + LagganLbl: Label 'LAGGAN', MaxLength = 30; + LimerickLbl: Label 'LIMERICK', MaxLength = 30; + PeelwoodLbl: Label 'PEELWOOD', MaxLength = 30; + RugbyLbl: Label 'RUGBY', MaxLength = 30; + TuenaLbl: Label 'TUENA', MaxLength = 30; + BinalongLbl: Label 'BINALONG', MaxLength = 30; + GalongLbl: Label 'GALONG', MaxLength = 30; + BoorowaLbl: Label 'BOOROWA', MaxLength = 30; + MurringoLbl: Label 'MURRINGO', MaxLength = 30; + ReidsFlatLbl: Label 'REIDS FLAT', MaxLength = 30; + RyeParkLbl: Label 'RYE PARK', MaxLength = 30; + HardenLbl: Label 'HARDEN', MaxLength = 30; + KingsvaleLbl: Label 'KINGSVALE', MaxLength = 30; + MurrumburrahLbl: Label 'MURRUMBURRAH', MaxLength = 30; + WombatLbl: Label 'WOMBAT', MaxLength = 30; + WallendbeenLbl: Label 'WALLENDBEEN', MaxLength = 30; + BethungraLbl: Label 'BETHUNGRA', MaxLength = 30; + CootamundraLbl: Label 'COOTAMUNDRA', MaxLength = 30; + IllaboLbl: Label 'ILLABO', MaxLength = 30; + BribbareeLbl: Label 'BRIBBAREE', MaxLength = 30; + MilvaleLbl: Label 'MILVALE', MaxLength = 30; + MonteagleLbl: Label 'MONTEAGLE', MaxLength = 30; + YoungLbl: Label 'YOUNG', MaxLength = 30; + CanberraLbl: Label 'CANBERRA', MaxLength = 30; + DeakinLbl: Label 'DEAKIN', MaxLength = 30; + DeakinWestLbl: Label 'DEAKIN WEST', MaxLength = 30; + DuntroonLbl: Label 'DUNTROON', MaxLength = 30; + HarmanLbl: Label 'HARMAN', MaxLength = 30; + ParkesLbl: Label 'PARKES', MaxLength = 30; + ParliamentHouseLbl: Label 'PARLIAMENT HOUSE', MaxLength = 30; + RussellLbl: Label 'RUSSELL', MaxLength = 30; + XbartonLbl: Label 'XBARTON', MaxLength = 30; + YarralumlaLbl: Label 'YARRALUMLA', MaxLength = 30; + ActonLbl: Label 'ACTON', MaxLength = 30; + CityLbl: Label 'CITY', MaxLength = 30; + AinslieLbl: Label 'AINSLIE', MaxLength = 30; + DicksonLbl: Label 'DICKSON', MaxLength = 30; + DownerLbl: Label 'DOWNER', MaxLength = 30; + HackettLbl: Label 'HACKETT', MaxLength = 30; + LynehamLbl: Label 'LYNEHAM', MaxLength = 30; + WatsonLbl: Label 'WATSON', MaxLength = 30; + ForrestLbl: Label 'FORREST', MaxLength = 30; + GriffithLbl: Label 'GRIFFITH', MaxLength = 30; + ManukaLbl: Label 'MANUKA', MaxLength = 30; + Red_HillLbl: Label 'RED HILL', MaxLength = 30; + CausewayLbl: Label 'CAUSEWAY', MaxLength = 30; + KingstonLbl: Label 'KINGSTON', MaxLength = 30; + NarrabundahLbl: Label 'NARRABUNDAH', MaxLength = 30; + CurtinLbl: Label 'CURTIN', MaxLength = 30; + GarranLbl: Label 'GARRAN', MaxLength = 30; + HughesLbl: Label 'HUGHES', MaxLength = 30; + LyonsLbl: Label 'LYONS', MaxLength = 30; + OMalleyLbl: Label 'OMALLEY', MaxLength = 30; + PhillipLbl: Label 'PHILLIP', MaxLength = 30; + SwingerHillLbl: Label 'SWINGER HILL', MaxLength = 30; + WodenLbl: Label 'WODEN', MaxLength = 30; + FarrerLbl: Label 'FARRER', MaxLength = 30; + IsaacsLbl: Label 'ISAACS', MaxLength = 30; + MawsonLbl: Label 'MAWSON', MaxLength = 30; + PearceLbl: Label 'PEARCE', MaxLength = 30; + TorrensLbl: Label 'TORRENS', MaxLength = 30; + CivicSquareLbl: Label 'CIVIC SQUARE', MaxLength = 30; + FyshwickLbl: Label 'FYSHWICK', MaxLength = 30; + PialligoLbl: Label 'PIALLIGO', MaxLength = 30; + SymonstonLbl: Label 'SYMONSTON', MaxLength = 30; + CanberraBcLbl: Label 'CANBERRA BC', MaxLength = 30; + BrindabellaLbl: Label 'BRINDABELLA', MaxLength = 30; + ChapmanLbl: Label 'CHAPMAN', MaxLength = 30; + DuffyLbl: Label 'DUFFY', MaxLength = 30; + FisherLbl: Label 'FISHER', MaxLength = 30; + HolderLbl: Label 'HOLDER', MaxLength = 30; + MountStromloLbl: Label 'MOUNT STROMLO', MaxLength = 30; + RivettLbl: Label 'RIVETT', MaxLength = 30; + StirlingLbl: Label 'STIRLING', MaxLength = 30; + UriarraLbl: Label 'URIARRA', MaxLength = 30; + WaramangaLbl: Label 'WARAMANGA', MaxLength = 30; + WestonCreekLbl: Label 'WESTON CREEK', MaxLength = 30; + BraddonLbl: Label 'BRADDON', MaxLength = 30; + CampbellLbl: Label 'CAMPBELL', MaxLength = 30; + ReidLbl: Label 'REID', MaxLength = 30; + TurnerLbl: Label 'TURNER', MaxLength = 30; + ArandaLbl: Label 'ARANDA', MaxLength = 30; + CookLbl: Label 'COOK', MaxLength = 30; + HawkerLbl: Label 'HAWKER', MaxLength = 30; + JamisonCentreLbl: Label 'JAMISON CENTRE', MaxLength = 30; + MacquarieLbl: Label 'MACQUARIE', MaxLength = 30; + PageLbl: Label 'PAGE', MaxLength = 30; + ScullinLbl: Label 'SCULLIN', MaxLength = 30; + WeetangeraLbl: Label 'WEETANGERA', MaxLength = 30; + CharnwoodLbl: Label 'CHARNWOOD', MaxLength = 30; + DunlopLbl: Label 'DUNLOP', MaxLength = 30; + FloreyLbl: Label 'FLOREY', MaxLength = 30; + FlynnLbl: Label 'FLYNN', MaxLength = 30; + FraserLbl: Label 'FRASER', MaxLength = 30; + HigginsLbl: Label 'HIGGINS', MaxLength = 30; + HoltLbl: Label 'HOLT', MaxLength = 30; + KippaxLbl: Label 'KIPPAX', MaxLength = 30; + LathamLbl: Label 'LATHAM', MaxLength = 30; + MacgregorLbl: Label 'MACGREGOR', MaxLength = 30; + MelbaLbl: Label 'MELBA', MaxLength = 30; + SpenceLbl: Label 'SPENCE', MaxLength = 30; + BelconnenLbl: Label 'BELCONNEN', MaxLength = 30; + BruceLbl: Label 'BRUCE', MaxLength = 30; + EvattLbl: Label 'EVATT', MaxLength = 30; + GiralangLbl: Label 'GIRALANG', MaxLength = 30; + KaleenLbl: Label 'KALEEN', MaxLength = 30; + LawsonLbl: Label 'LAWSON', MaxLength = 30; + MckellarLbl: Label 'MCKELLAR', MaxLength = 30; + UniversityOfCanberraLbl: Label 'UNIVERSITY OF CANBERRA', MaxLength = 30; + HallLbl: Label 'HALL', MaxLength = 30; + JerrabomberraLbl: Label 'JERRABOMBERRA', MaxLength = 30; + BurraLbl: Label 'BURRA', MaxLength = 30; + CrestwoodLbl: Label 'CRESTWOOD', MaxLength = 30; + GundarooLbl: Label 'GUNDAROO', MaxLength = 30; + HumeLbl: Label 'HUME', MaxLength = 30; + KarabarLbl: Label 'KARABAR', MaxLength = 30; + MichelagoLbl: Label 'MICHELAGO', MaxLength = 30; + QueanbeyanLbl: Label 'QUEANBEYAN', MaxLength = 30; + QueanbeyanEastLbl: Label 'QUEANBEYAN EAST', MaxLength = 30; + QueanbeyanWestLbl: Label 'QUEANBEYAN WEST', MaxLength = 30; + RoyallaLbl: Label 'ROYALLA', MaxLength = 30; + SuttonLbl: Label 'SUTTON', MaxLength = 30; + TharwaLbl: Label 'THARWA', MaxLength = 30; + WamboinLbl: Label 'WAMBOIN', MaxLength = 30; + WilliamsdaleLbl: Label 'WILLIAMSDALE', MaxLength = 30; + BungendoreLbl: Label 'BUNGENDORE', MaxLength = 30; + AraluenLbl: Label 'ARALUEN', MaxLength = 30; + BallalabaLbl: Label 'BALLALABA', MaxLength = 30; + BoroLbl: Label 'BORO', MaxLength = 30; + BraidwoodLbl: Label 'BRAIDWOOD', MaxLength = 30; + GundillionLbl: Label 'GUNDILLION', MaxLength = 30; + JembaicumbeneLbl: Label 'JEMBAICUMBENE', MaxLength = 30; + MajorsCreekLbl: Label 'MAJORS CREEK', MaxLength = 30; + MongaLbl: Label 'MONGA', MaxLength = 30; + MongarloweLbl: Label 'MONGARLOWE', MaxLength = 30; + NerrigaLbl: Label 'NERRIGA', MaxLength = 30; + ReidsdaleLbl: Label 'REIDSDALE', MaxLength = 30; + CaptainsFlatLbl: Label 'CAPTAINS FLAT', MaxLength = 30; + PerisherValleyLbl: Label 'PERISHER VALLEY', MaxLength = 30; + SmigginHolesLbl: Label 'SMIGGIN HOLES', MaxLength = 30; + ThredboVillageLbl: Label 'THREDBO VILLAGE', MaxLength = 30; + BredboLbl: Label 'BREDBO', MaxLength = 30; + JindabyneLbl: Label 'JINDABYNE', MaxLength = 30; + BerridaleLbl: Label 'BERRIDALE', MaxLength = 30; + BraemarLbl: Label 'BRAEMAR', MaxLength = 30; + DalgetyLbl: Label 'DALGETY', MaxLength = 30; + EucumbeneLbl: Label 'EUCUMBENE', MaxLength = 30; + NumblaValeLbl: Label 'NUMBLA VALE', MaxLength = 30; + AdaminabyLbl: Label 'ADAMINABY', MaxLength = 30; + CabramurraLbl: Label 'CABRAMURRA', MaxLength = 30; + YaoukLbl: Label 'YAOUK', MaxLength = 30; + BungarbyLbl: Label 'BUNGARBY', MaxLength = 30; + BunyanLbl: Label 'BUNYAN', MaxLength = 30; + ChakolaLbl: Label 'CHAKOLA', MaxLength = 30; + CoomaLbl: Label 'COOMA', MaxLength = 30; + JerangleLbl: Label 'JERANGLE', MaxLength = 30; + NumerallaLbl: Label 'NUMERALLA', MaxLength = 30; + PeakViewLbl: Label 'PEAK VIEW', MaxLength = 30; + RockFlatLbl: Label 'ROCK FLAT', MaxLength = 30; + RoseValleyLbl: Label 'ROSE VALLEY', MaxLength = 30; + AndoLbl: Label 'ANDO', MaxLength = 30; + NimmitabelLbl: Label 'NIMMITABEL', MaxLength = 30; + BibbenlukeLbl: Label 'BIBBENLUKE', MaxLength = 30; + BombalaLbl: Label 'BOMBALA', MaxLength = 30; + CathcartLbl: Label 'CATHCART', MaxLength = 30; + CraigieLbl: Label 'CRAIGIE', MaxLength = 30; + MilaLbl: Label 'MILA', MaxLength = 30; + DelegateLbl: Label 'DELEGATE', MaxLength = 30; + AlburyLbl: Label 'ALBURY', MaxLength = 30; + EastAlburyLbl: Label 'EAST ALBURY', MaxLength = 30; + LavingtonDcLbl: Label 'LAVINGTON DC', MaxLength = 30; + NorthAlburyLbl: Label 'NORTH ALBURY', MaxLength = 30; + SouthAlburyLbl: Label 'SOUTH ALBURY', MaxLength = 30; + TableTopLbl: Label 'TABLE TOP', MaxLength = 30; + TalmalmoLbl: Label 'TALMALMO', MaxLength = 30; + ThurgoonaLbl: Label 'THURGOONA', MaxLength = 30; + LavingtonLbl: Label 'LAVINGTON', MaxLength = 30; + BrocklesbyLbl: Label 'BROCKLESBY', MaxLength = 30; + BurrumbuttockLbl: Label 'BURRUMBUTTOCK', MaxLength = 30; + GerogeryLbl: Label 'GEROGERY', MaxLength = 30; + JinderaLbl: Label 'JINDERA', MaxLength = 30; + JingellicLbl: Label 'JINGELLIC', MaxLength = 30; + KhancobanLbl: Label 'KHANCOBAN', MaxLength = 30; + RandLbl: Label 'RAND', MaxLength = 30; + ToomaLbl: Label 'TOOMA', MaxLength = 30; + WalbundrieLbl: Label 'WALBUNDRIE', MaxLength = 30; + YerongCreekLbl: Label 'YERONG CREEK', MaxLength = 30; + HowlongLbl: Label 'HOWLONG', MaxLength = 30; + BownaLbl: Label 'BOWNA', MaxLength = 30; + HolbrookLbl: Label 'HOLBROOK', MaxLength = 30; + MullengandraLbl: Label 'MULLENGANDRA', MaxLength = 30; + WoomargamaLbl: Label 'WOOMARGAMA', MaxLength = 30; + UranaLbl: Label 'URANA', MaxLength = 30; + BalldaleLbl: Label 'BALLDALE', MaxLength = 30; + CorowaLbl: Label 'COROWA', MaxLength = 30; + DaysdaleLbl: Label 'DAYSDALE', MaxLength = 30; + LowesdaleLbl: Label 'LOWESDALE', MaxLength = 30; + OaklandsLbl: Label 'OAKLANDS', MaxLength = 30; + RennieLbl: Label 'RENNIE', MaxLength = 30; + SavernakeLbl: Label 'SAVERNAKE', MaxLength = 30; + MulwalaLbl: Label 'MULWALA', MaxLength = 30; + CalLalLbl: Label 'CAL LAL', MaxLength = 30; + CurlwaaLbl: Label 'CURLWAA', MaxLength = 30; + MourquongLbl: Label 'MOURQUONG', MaxLength = 30; + PalinyewahLbl: Label 'PALINYEWAH', MaxLength = 30; + PomonaLbl: Label 'POMONA', MaxLength = 30; + PooncarieLbl: Label 'POONCARIE', MaxLength = 30; + RufusRiverLbl: Label 'RUFUS RIVER', MaxLength = 30; + WentworthLbl: Label 'WENTWORTH', MaxLength = 30; + LaurelHillLbl: Label 'LAUREL HILL', MaxLength = 30; + AshmontLbl: Label 'ASHMONT', MaxLength = 30; + CarabostLbl: Label 'CARABOST', MaxLength = 30; + CollingullieLbl: Label 'COLLINGULLIE', MaxLength = 30; + CookardiniaLbl: Label 'COOKARDINIA', MaxLength = 30; + DownsideLbl: Label 'DOWNSIDE', MaxLength = 30; + GlenfieldParkLbl: Label 'GLENFIELD PARK', MaxLength = 30; + HarefieldLbl: Label 'HAREFIELD', MaxLength = 30; + KooringalLbl: Label 'KOORINGAL', MaxLength = 30; + LakeAlbertLbl: Label 'LAKE ALBERT', MaxLength = 30; + MountAustinLbl: Label 'MOUNT AUSTIN', MaxLength = 30; + TollandLbl: Label 'TOLLAND', MaxLength = 30; + TurveyParkLbl: Label 'TURVEY PARK', MaxLength = 30; + WaggaWaggaLbl: Label 'WAGGA WAGGA', MaxLength = 30; + WaggaWaggaSouthLbl: Label 'WAGGA WAGGA SOUTH', MaxLength = 30; + ForestHillLbl: Label 'FOREST HILL', MaxLength = 30; + WaggaWaggaRaafLbl: Label 'WAGGA WAGGA RAAF', MaxLength = 30; + BoreeCreekLbl: Label 'BOREE CREEK', MaxLength = 30; + GaloreLbl: Label 'GALORE', MaxLength = 30; + GoolgowiLbl: Label 'GOOLGOWI', MaxLength = 30; + GrongGrongLbl: Label 'GRONG GRONG', MaxLength = 30; + GumlyGumlyLbl: Label 'GUMLY GUMLY', MaxLength = 30; + HumulaLbl: Label 'HUMULA', MaxLength = 30; + LadysmithLbl: Label 'LADYSMITH', MaxLength = 30; + MangoplahLbl: Label 'MANGOPLAH', MaxLength = 30; + MarrarLbl: Label 'MARRAR', MaxLength = 30; + MatongLbl: Label 'MATONG', MaxLength = 30; + MerriwaggaLbl: Label 'MERRIWAGGA', MaxLength = 30; + OldJuneeLbl: Label 'OLD JUNEE', MaxLength = 30; + RosewoodLbl: Label 'ROSEWOOD', MaxLength = 30; + TabbitaLbl: Label 'TABBITA', MaxLength = 30; + TarcuttaLbl: Label 'TARCUTTA', MaxLength = 30; + UranquintyLbl: Label 'URANQUINTY', MaxLength = 30; + MannusLbl: Label 'MANNUS', MaxLength = 30; + TumbarumbaLbl: Label 'TUMBARUMBA', MaxLength = 30; + FrenchParkLbl: Label 'FRENCH PARK', MaxLength = 30; + TheRockLbl: Label 'THE ROCK', MaxLength = 30; + LockhartLbl: Label 'LOCKHART', MaxLength = 30; + MilbrulongLbl: Label 'MILBRULONG', MaxLength = 30; + UrangelineEastLbl: Label 'URANGELINE EAST', MaxLength = 30; + HentyLbl: Label 'HENTY', MaxLength = 30; + PleasantHillsLbl: Label 'PLEASANT HILLS', MaxLength = 30; + RyanLbl: Label 'RYAN', MaxLength = 30; + WallaWallaLbl: Label 'WALLA WALLA', MaxLength = 30; + CulcairnLbl: Label 'CULCAIRN', MaxLength = 30; + MorvenLbl: Label 'MORVEN', MaxLength = 30; + KapookaLbl: Label 'KAPOOKA', MaxLength = 30; + JuneeLbl: Label 'JUNEE', MaxLength = 30; + ArdlethanLbl: Label 'ARDLETHAN', MaxLength = 30; + AriahParkLbl: Label 'ARIAH PARK', MaxLength = 30; + BarellanLbl: Label 'BARELLAN', MaxLength = 30; + BeckomLbl: Label 'BECKOM', MaxLength = 30; + BinyaLbl: Label 'BINYA', MaxLength = 30; + KamarahLbl: Label 'KAMARAH', MaxLength = 30; + MirroolLbl: Label 'MIRROOL', MaxLength = 30; + MoombooldoolLbl: Label 'MOOMBOOLDOOL', MaxLength = 30; + GroganLbl: Label 'GROGAN', MaxLength = 30; + ReeftonLbl: Label 'REEFTON', MaxLength = 30; + SebastopolLbl: Label 'SEBASTOPOL', MaxLength = 30; + SpringdaleLbl: Label 'SPRINGDALE', MaxLength = 30; + TemoraLbl: Label 'TEMORA', MaxLength = 30; + TrungleyHallLbl: Label 'TRUNGLEY HALL', MaxLength = 30; + BarmedmanLbl: Label 'BARMEDMAN', MaxLength = 30; + BygalorieLbl: Label 'BYGALORIE', MaxLength = 30; + ErigoliaLbl: Label 'ERIGOLIA', MaxLength = 30; + GirralLbl: Label 'GIRRAL', MaxLength = 30; + GubbataLbl: Label 'GUBBATA', MaxLength = 30; + NaradhanLbl: Label 'NARADHAN', MaxLength = 30; + RankinsSpringsLbl: Label 'RANKINS SPRINGS', MaxLength = 30; + TallimbaLbl: Label 'TALLIMBA', MaxLength = 30; + TullibigealLbl: Label 'TULLIBIGEAL', MaxLength = 30; + UngarieLbl: Label 'UNGARIE', MaxLength = 30; + WeethalleLbl: Label 'WEETHALLE', MaxLength = 30; + BurcherLbl: Label 'BURCHER', MaxLength = 30; + WestWyalongLbl: Label 'WEST WYALONG', MaxLength = 30; + WyalongLbl: Label 'WYALONG', MaxLength = 30; + BurgooneyLbl: Label 'BURGOONEY', MaxLength = 30; + LakeCargelligoLbl: Label 'LAKE CARGELLIGO', MaxLength = 30; + HillstonLbl: Label 'HILLSTON', MaxLength = 30; + RotoLbl: Label 'ROTO', MaxLength = 30; + CharlesSturtUniversityLbl: Label 'CHARLES STURT UNIVERSITY', MaxLength = 30; + BeelbangeraLbl: Label 'BEELBANGERA', MaxLength = 30; + BenerembahLbl: Label 'BENEREMBAH', MaxLength = 30; + BilbulLbl: Label 'BILBUL', MaxLength = 30; + HanwoodLbl: Label 'HANWOOD', MaxLength = 30; + LakeWyanganLbl: Label 'LAKE WYANGAN', MaxLength = 30; + TharbogangLbl: Label 'THARBOGANG', MaxLength = 30; + WidgelliLbl: Label 'WIDGELLI', MaxLength = 30; + WillbriggieLbl: Label 'WILLBRIGGIE', MaxLength = 30; + YoogaliLbl: Label 'YOOGALI', MaxLength = 30; + YendaLbl: Label 'YENDA', MaxLength = 30; + CorobimillaLbl: Label 'COROBIMILLA', MaxLength = 30; + MorundahLbl: Label 'MORUNDAH', MaxLength = 30; + NarranderaLbl: Label 'NARRANDERA', MaxLength = 30; + CoolamonLbl: Label 'COOLAMON', MaxLength = 30; + GanmainLbl: Label 'GANMAIN', MaxLength = 30; + YancoLbl: Label 'YANCO', MaxLength = 30; + CorbieHillLbl: Label 'CORBIE HILL', MaxLength = 30; + LeetonLbl: Label 'LEETON', MaxLength = 30; + MurramiLbl: Label 'MURRAMI', MaxLength = 30; + WamoonLbl: Label 'WAMOON', MaxLength = 30; + WhittonLbl: Label 'WHITTON', MaxLength = 30; + DarlingtonPointLbl: Label 'DARLINGTON POINT', MaxLength = 30; + ArgoonLbl: Label 'ARGOON', MaxLength = 30; + ColeamballyLbl: Label 'COLEAMBALLY', MaxLength = 30; + MurrayRegionMcLbl: Label 'MURRAY REGION MC', MaxLength = 30; + CaldwellLbl: Label 'CALDWELL', MaxLength = 30; + ConargoLbl: Label 'CONARGO', MaxLength = 30; + DeniliquinLbl: Label 'DENILIQUIN', MaxLength = 30; + GulpaLbl: Label 'GULPA', MaxLength = 30; + MathouraLbl: Label 'MATHOURA', MaxLength = 30; + MayrungLbl: Label 'MAYRUNG', MaxLength = 30; + MoiraLbl: Label 'MOIRA', MaxLength = 30; + WakoolLbl: Label 'WAKOOL', MaxLength = 30; + WanganellaLbl: Label 'WANGANELLA', MaxLength = 30; + BooligalLbl: Label 'BOOLIGAL', MaxLength = 30; + CarrathoolLbl: Label 'CARRATHOOL', MaxLength = 30; + GunbarLbl: Label 'GUNBAR', MaxLength = 30; + HayLbl: Label 'HAY', MaxLength = 30; + MaudeLbl: Label 'MAUDE', MaxLength = 30; + OxleyLbl: Label 'OXLEY', MaxLength = 30; + BerriganLbl: Label 'BERRIGAN', MaxLength = 30; + BlightyLbl: Label 'BLIGHTY', MaxLength = 30; + FinleyLbl: Label 'FINLEY', MaxLength = 30; + TocumwalLbl: Label 'TOCUMWAL', MaxLength = 30; + BalranaldLbl: Label 'BALRANALD', MaxLength = 30; + HatfieldLbl: Label 'HATFIELD', MaxLength = 30; + JerilderieLbl: Label 'JERILDERIE', MaxLength = 30; + MabinsWellLbl: Label 'MABINS WELL', MaxLength = 30; + DaretonLbl: Label 'DARETON', MaxLength = 30; + GilmoreLbl: Label 'GILMORE', MaxLength = 30; + TalbingoLbl: Label 'TALBINGO', MaxLength = 30; + TumutLbl: Label 'TUMUT', MaxLength = 30; + QuandiallaLbl: Label 'QUANDIALLA', MaxLength = 30; + BrungleLbl: Label 'BRUNGLE', MaxLength = 30; + GundagaiLbl: Label 'GUNDAGAI', MaxLength = 30; + MuttamaLbl: Label 'MUTTAMA', MaxLength = 30; + NangusLbl: Label 'NANGUS', MaxLength = 30; + StockinbingalLbl: Label 'STOCKINBINGAL', MaxLength = 30; + JugiongLbl: Label 'JUGIONG', MaxLength = 30; + AdjungbillyLbl: Label 'ADJUNGBILLY', MaxLength = 30; + CoolacLbl: Label 'COOLAC', MaxLength = 30; + AdelongLbl: Label 'ADELONG', MaxLength = 30; + CooleysCreekLbl: Label 'COOLEYS CREEK', MaxLength = 30; + GrahamstownLbl: Label 'GRAHAMSTOWN', MaxLength = 30; + MountHorebLbl: Label 'MOUNT HOREB', MaxLength = 30; + TumblongLbl: Label 'TUMBLONG', MaxLength = 30; + WondalgaLbl: Label 'WONDALGA', MaxLength = 30; + BatlowLbl: Label 'BATLOW', MaxLength = 30; + BunnalooLbl: Label 'BUNNALOO', MaxLength = 30; + MoamaLbl: Label 'MOAMA', MaxLength = 30; + WombootaLbl: Label 'WOMBOOTA', MaxLength = 30; + BarhamLbl: Label 'BARHAM', MaxLength = 30; + MoulameinLbl: Label 'MOULAMEIN', MaxLength = 30; + KyaliteLbl: Label 'KYALITE', MaxLength = 30; + KoraleighLbl: Label 'KORALEIGH', MaxLength = 30; + TooleybucLbl: Label 'TOOLEYBUC', MaxLength = 30; + EustonLbl: Label 'EUSTON', MaxLength = 30; + GolGolLbl: Label 'GOL GOL', MaxLength = 30; + MonakLbl: Label 'MONAK', MaxLength = 30; + BurongaLbl: Label 'BURONGA', MaxLength = 30; + GlenmoreParkLbl: Label 'GLENMORE PARK', MaxLength = 30; + GreendaleLbl: Label 'GREENDALE', MaxLength = 30; + LuddenhamLbl: Label 'LUDDENHAM', MaxLength = 30; + MulgoaLbl: Label 'MULGOA', MaxLength = 30; + RegentvilleLbl: Label 'REGENTVILLE', MaxLength = 30; + WallaciaLbl: Label 'WALLACIA', MaxLength = 30; + CambridgeParkLbl: Label 'CAMBRIDGE PARK', MaxLength = 30; + LlandiloLbl: Label 'LLANDILO', MaxLength = 30; + ShanesParkLbl: Label 'SHANES PARK', MaxLength = 30; + WerringtonLbl: Label 'WERRINGTON', MaxLength = 30; + WerringtonCountyLbl: Label 'WERRINGTON COUNTY', MaxLength = 30; + WerringtonDownsLbl: Label 'WERRINGTON DOWNS', MaxLength = 30; + OrchardHillsLbl: Label 'ORCHARD HILLS', MaxLength = 30; + CastlereaghLbl: Label 'CASTLEREAGH', MaxLength = 30; + CranebrookLbl: Label 'CRANEBROOK', MaxLength = 30; + EmuPlainsLbl: Label 'EMU PLAINS', MaxLength = 30; + LeonayLbl: Label 'LEONAY', MaxLength = 30; + PenrithLbl: Label 'PENRITH', MaxLength = 30; + SilverdaleLbl: Label 'SILVERDALE', MaxLength = 30; + WarragambaLbl: Label 'WARRAGAMBA', MaxLength = 30; + BowenMountainLbl: Label 'BOWEN MOUNTAIN', MaxLength = 30; + GroseValeLbl: Label 'GROSE VALE', MaxLength = 30; + GroseWoldLbl: Label 'GROSE WOLD', MaxLength = 30; + HobartvilleLbl: Label 'HOBARTVILLE', MaxLength = 30; + LondonderryLbl: Label 'LONDONDERRY', MaxLength = 30; + RichmondLbl: Label 'RICHMOND', MaxLength = 30; + YarramundiLbl: Label 'YARRAMUNDI', MaxLength = 30; + NorthRichmondLbl: Label 'NORTH RICHMOND', MaxLength = 30; + TennysonLbl: Label 'TENNYSON', MaxLength = 30; + RichmondRaafLbl: Label 'RICHMOND RAAF', MaxLength = 30; + BlighParkLbl: Label 'BLIGH PARK', MaxLength = 30; + CattaiLbl: Label 'CATTAI', MaxLength = 30; + ClarendonLbl: Label 'CLARENDON', MaxLength = 30; + ColoLbl: Label 'COLO', MaxLength = 30; + CornwallisLbl: Label 'CORNWALLIS', MaxLength = 30; + EbenezerLbl: Label 'EBENEZER', MaxLength = 30; + FreemansReachLbl: Label 'FREEMANS REACH', MaxLength = 30; + GlossodiaLbl: Label 'GLOSSODIA', MaxLength = 30; + LowerPortlandLbl: Label 'LOWER PORTLAND', MaxLength = 30; + MarootaLbl: Label 'MAROOTA', MaxLength = 30; + McgrathsHillLbl: Label 'MCGRATHS HILL', MaxLength = 30; + MulgraveLbl: Label 'MULGRAVE', MaxLength = 30; + PittTownLbl: Label 'PITT TOWN', MaxLength = 30; + ScheyvilleLbl: Label 'SCHEYVILLE', MaxLength = 30; + WilberforceLbl: Label 'WILBERFORCE', MaxLength = 30; + WindsorLbl: Label 'WINDSOR', MaxLength = 30; + KurmondLbl: Label 'KURMOND', MaxLength = 30; + BilpinLbl: Label 'BILPIN', MaxLength = 30; + BlaxlandsRidgeLbl: Label 'BLAXLANDS RIDGE', MaxLength = 30; + KurrajongLbl: Label 'KURRAJONG', MaxLength = 30; + ErskineParkLbl: Label 'ERSKINE PARK', MaxLength = 30; + ColytonLbl: Label 'COLYTON', MaxLength = 30; + OxleyParkLbl: Label 'OXLEY PARK', MaxLength = 30; + DeanParkLbl: Label 'DEAN PARK', MaxLength = 30; + GlendenningLbl: Label 'GLENDENNING', MaxLength = 30; + HassallGroveLbl: Label 'HASSALL GROVE', MaxLength = 30; + OakhurstLbl: Label 'OAKHURST', MaxLength = 30; + PlumptonLbl: Label 'PLUMPTON', MaxLength = 30; + SchofieldsLbl: Label 'SCHOFIELDS', MaxLength = 30; + AcaciaGardensLbl: Label 'ACACIA GARDENS', MaxLength = 30; + QuakersHillLbl: Label 'QUAKERS HILL', MaxLength = 30; + BerkshireParkLbl: Label 'BERKSHIRE PARK', MaxLength = 30; + BoxHillLbl: Label 'BOX HILL', MaxLength = 30; + MaraylyaLbl: Label 'MARAYLYA', MaxLength = 30; + MarsdenParkLbl: Label 'MARSDEN PARK', MaxLength = 30; + OakvilleLbl: Label 'OAKVILLE', MaxLength = 30; + RiverstoneLbl: Label 'RIVERSTONE', MaxLength = 30; + VineyardLbl: Label 'VINEYARD', MaxLength = 30; + EasternCreekLbl: Label 'EASTERN CREEK', MaxLength = 30; + RootyHillLbl: Label 'ROOTY HILL', MaxLength = 30; + DoonsideLbl: Label 'DOONSIDE', MaxLength = 30; + WoodcroftLbl: Label 'WOODCROFT', MaxLength = 30; + GlenwoodLbl: Label 'GLENWOOD', MaxLength = 30; + ParkleaLbl: Label 'PARKLEA', MaxLength = 30; + StanhopeGardensLbl: Label 'STANHOPE GARDENS', MaxLength = 30; + BidwillLbl: Label 'BIDWILL', MaxLength = 30; + BlackettLbl: Label 'BLACKETT', MaxLength = 30; + DharrukLbl: Label 'DHARRUK', MaxLength = 30; + EmertonLbl: Label 'EMERTON', MaxLength = 30; + HebershamLbl: Label 'HEBERSHAM', MaxLength = 30; + LethbridgeParkLbl: Label 'LETHBRIDGE PARK', MaxLength = 30; + MinchinburyLbl: Label 'MINCHINBURY', MaxLength = 30; + MountDruittLbl: Label 'MOUNT DRUITT', MaxLength = 30; + ShalveyLbl: Label 'SHALVEY', MaxLength = 30; + TregearLbl: Label 'TREGEAR', MaxLength = 30; + WhalanLbl: Label 'WHALAN', MaxLength = 30; + WillmotLbl: Label 'WILLMOT', MaxLength = 30; + GlenbrookLbl: Label 'GLENBROOK', MaxLength = 30; + LapstoneLbl: Label 'LAPSTONE', MaxLength = 30; + BlaxlandLbl: Label 'BLAXLAND', MaxLength = 30; + MountRiverviewLbl: Label 'MOUNT RIVERVIEW', MaxLength = 30; + WarrimooLbl: Label 'WARRIMOO', MaxLength = 30; + CentralMacdonaldLbl: Label 'CENTRAL MACDONALD', MaxLength = 30; + LaughtondaleLbl: Label 'LAUGHTONDALE', MaxLength = 30; + LowerHawkesburyLbl: Label 'LOWER HAWKESBURY', MaxLength = 30; + SpencerLbl: Label 'SPENCER', MaxLength = 30; + StAlbansLbl: Label 'ST ALBANS', MaxLength = 30; + WisemansFerryLbl: Label 'WISEMANS FERRY', MaxLength = 30; + FaulconbridgeLbl: Label 'FAULCONBRIDGE', MaxLength = 30; + HawkesburyHeightsLbl: Label 'HAWKESBURY HEIGHTS', MaxLength = 30; + SpringwoodLbl: Label 'SPRINGWOOD', MaxLength = 30; + ValleyHeightsLbl: Label 'VALLEY HEIGHTS', MaxLength = 30; + WinmaleeLbl: Label 'WINMALEE', MaxLength = 30; + YellowRockLbl: Label 'YELLOW ROCK', MaxLength = 30; + LindenLbl: Label 'LINDEN', MaxLength = 30; + HazelbrookLbl: Label 'HAZELBROOK', MaxLength = 30; + KatoombaLbl: Label 'KATOOMBA', MaxLength = 30; + LeuraLbl: Label 'LEURA', MaxLength = 30; + MedlowBathLbl: Label 'MEDLOW BATH', MaxLength = 30; + WentworthFallsLbl: Label 'WENTWORTH FALLS', MaxLength = 30; + BullaburraLbl: Label 'BULLABURRA', MaxLength = 30; + BlackheathLbl: Label 'BLACKHEATH', MaxLength = 30; + MegalongLbl: Label 'MEGALONG', MaxLength = 30; + BellLbl: Label 'BELL', MaxLength = 30; + DarganLbl: Label 'DARGAN', MaxLength = 30; + MountIrvineLbl: Label 'MOUNT IRVINE', MaxLength = 30; + MountVictoriaLbl: Label 'MOUNT VICTORIA', MaxLength = 30; + MountWilsonLbl: Label 'MOUNT WILSON', MaxLength = 30; + BlackSpringsLbl: Label 'BLACK SPRINGS', MaxLength = 30; + DuckmaloiLbl: Label 'DUCKMALOI', MaxLength = 30; + EdithLbl: Label 'EDITH', MaxLength = 30; + GingkinLbl: Label 'GINGKIN', MaxLength = 30; + HazelgroveLbl: Label 'HAZELGROVE', MaxLength = 30; + OberonLbl: Label 'OBERON', MaxLength = 30; + PortersRetreatLbl: Label 'PORTERS RETREAT', MaxLength = 30; + ShootersHillLbl: Label 'SHOOTERS HILL', MaxLength = 30; + TaranaLbl: Label 'TARANA', MaxLength = 30; + BowenfelsLbl: Label 'BOWENFELS', MaxLength = 30; + ClarenceLbl: Label 'CLARENCE', MaxLength = 30; + CobarParkLbl: Label 'COBAR PARK', MaxLength = 30; + CullenBullenLbl: Label 'CULLEN BULLEN', MaxLength = 30; + HamptonLbl: Label 'HAMPTON', MaxLength = 30; + HartleyLbl: Label 'HARTLEY', MaxLength = 30; + JenolanCavesLbl: Label 'JENOLAN CAVES', MaxLength = 30; + LidsdaleLbl: Label 'LIDSDALE', MaxLength = 30; + LithgowLbl: Label 'LITHGOW', MaxLength = 30; + LittleHartleyLbl: Label 'LITTLE HARTLEY', MaxLength = 30; + LowtherLbl: Label 'LOWTHER', MaxLength = 30; + MarrangarooLbl: Label 'MARRANGAROO', MaxLength = 30; + RydalLbl: Label 'RYDAL', MaxLength = 30; + SodwallsLbl: Label 'SODWALLS', MaxLength = 30; + CarcoarLbl: Label 'CARCOAR', MaxLength = 30; + ManduramaLbl: Label 'MANDURAMA', MaxLength = 30; + DarbysFallsLbl: Label 'DARBYS FALLS', MaxLength = 30; + WoodstockLbl: Label 'WOODSTOCK', MaxLength = 30; + BumbaldryLbl: Label 'BUMBALDRY', MaxLength = 30; + CowraLbl: Label 'COWRA', MaxLength = 30; + NoonbinnaLbl: Label 'NOONBINNA', MaxLength = 30; + WattamondaraLbl: Label 'WATTAMONDARA', MaxLength = 30; + BaldRidgeLbl: Label 'BALD RIDGE', MaxLength = 30; + BallyroeLbl: Label 'BALLYROE', MaxLength = 30; + BathurstLbl: Label 'BATHURST', MaxLength = 30; + BrewongleLbl: Label 'BREWONGLE', MaxLength = 30; + BurragaLbl: Label 'BURRAGA', MaxLength = 30; + DarkCornerLbl: Label 'DARK CORNER', MaxLength = 30; + DunkeldLbl: Label 'DUNKELD', MaxLength = 30; + DuramanaLbl: Label 'DURAMANA', MaxLength = 30; + EglintonLbl: Label 'EGLINTON', MaxLength = 30; + FreemantleLbl: Label 'FREEMANTLE', MaxLength = 30; + GemallaLbl: Label 'GEMALLA', MaxLength = 30; + GeorgesPlainsLbl: Label 'GEORGES PLAINS', MaxLength = 30; + HobbysYardsLbl: Label 'HOBBYS YARDS', MaxLength = 30; + IsabellaLbl: Label 'ISABELLA', MaxLength = 30; + JuddsCreekLbl: Label 'JUDDS CREEK', MaxLength = 30; + KelsoLbl: Label 'KELSO', MaxLength = 30; + LocksleyLbl: Label 'LOCKSLEY', MaxLength = 30; + MeadowFlatLbl: Label 'MEADOW FLAT', MaxLength = 30; + MountDavidLbl: Label 'MOUNT DAVID', MaxLength = 30; + NewbridgeLbl: Label 'NEWBRIDGE', MaxLength = 30; + PeelLbl: Label 'PEEL', MaxLength = 30; + PerthvilleLbl: Label 'PERTHVILLE', MaxLength = 30; + RaglanLbl: Label 'RAGLAN', MaxLength = 30; + RockleyLbl: Label 'ROCKLEY', MaxLength = 30; + SofalaLbl: Label 'SOFALA', MaxLength = 30; + SunnyCornerLbl: Label 'SUNNY CORNER', MaxLength = 30; + TrunkeyCreekLbl: Label 'TRUNKEY CREEK', MaxLength = 30; + TurondaleLbl: Label 'TURONDALE', MaxLength = 30; + WamboolLbl: Label 'WAMBOOL', MaxLength = 30; + WattleFlatLbl: Label 'WATTLE FLAT', MaxLength = 30; + WestBathurstLbl: Label 'WEST BATHURST', MaxLength = 30; + WimbledonLbl: Label 'WIMBLEDON', MaxLength = 30; + WisemansCreekLbl: Label 'WISEMANS CREEK', MaxLength = 30; + YetholmeLbl: Label 'YETHOLME', MaxLength = 30; + GarlandLbl: Label 'GARLAND', MaxLength = 30; + LyndhurstLbl: Label 'LYNDHURST', MaxLength = 30; + ForestReefsLbl: Label 'FOREST REEFS', MaxLength = 30; + MillthorpeLbl: Label 'MILLTHORPE', MaxLength = 30; + TallwoodLbl: Label 'TALLWOOD', MaxLength = 30; + BarryLbl: Label 'BARRY', MaxLength = 30; + BlayneyLbl: Label 'BLAYNEY', MaxLength = 30; + BrownsCreekLbl: Label 'BROWNS CREEK', MaxLength = 30; + NevilleLbl: Label 'NEVILLE', MaxLength = 30; + VittoriaLbl: Label 'VITTORIA', MaxLength = 30; + BorenoreLbl: Label 'BORENORE', MaxLength = 30; + CargoLbl: Label 'CARGO', MaxLength = 30; + LucknowLbl: Label 'LUCKNOW', MaxLength = 30; + MarchLbl: Label 'MARCH', MaxLength = 30; + MullionCreekLbl: Label 'MULLION CREEK', MaxLength = 30; + NashdaleLbl: Label 'NASHDALE', MaxLength = 30; + OrangeLbl: Label 'ORANGE', MaxLength = 30; + BendickMurrellLbl: Label 'BENDICK MURRELL', MaxLength = 30; + CrowtherLbl: Label 'CROWTHER', MaxLength = 30; + WirrimahLbl: Label 'WIRRIMAH', MaxLength = 30; + CanowindraLbl: Label 'CANOWINDRA', MaxLength = 30; + GooloogongLbl: Label 'GOOLOOGONG', MaxLength = 30; + EugowraLbl: Label 'EUGOWRA', MaxLength = 30; + KoorawathaLbl: Label 'KOORAWATHA', MaxLength = 30; + GreenethorpeLbl: Label 'GREENETHORPE', MaxLength = 30; + BimbiLbl: Label 'BIMBI', MaxLength = 30; + CaragabalLbl: Label 'CARAGABAL', MaxLength = 30; + GrenfellLbl: Label 'GRENFELL', MaxLength = 30; + PullabookaLbl: Label 'PULLABOOKA', MaxLength = 30; + ArthurvilleLbl: Label 'ARTHURVILLE', MaxLength = 30; + BakersSwampLbl: Label 'BAKERS SWAMP', MaxLength = 30; + BodangoraLbl: Label 'BODANGORA', MaxLength = 30; + DripstoneLbl: Label 'DRIPSTONE', MaxLength = 30; + FarnhamLbl: Label 'FARNHAM', MaxLength = 30; + MaryvaleLbl: Label 'MARYVALE', MaxLength = 30; + MumbilLbl: Label 'MUMBIL', MaxLength = 30; + NeureaLbl: Label 'NEUREA', MaxLength = 30; + SpicersCreekLbl: Label 'SPICERS CREEK', MaxLength = 30; + StuartTownLbl: Label 'STUART TOWN', MaxLength = 30; + WalmerLbl: Label 'WALMER', MaxLength = 30; + WellingtonLbl: Label 'WELLINGTON', MaxLength = 30; + NarromineLbl: Label 'NARROMINE', MaxLength = 30; + TrangieLbl: Label 'TRANGIE', MaxLength = 30; + WarrenLbl: Label 'WARREN', MaxLength = 30; + BoganLbl: Label 'BOGAN', MaxLength = 30; + CanonbaLbl: Label 'CANONBA', MaxLength = 30; + MiandettaLbl: Label 'MIANDETTA', MaxLength = 30; + MullengudgeryLbl: Label 'MULLENGUDGERY', MaxLength = 30; + NynganLbl: Label 'NYNGAN', MaxLength = 30; + CollieLbl: Label 'COLLIE', MaxLength = 30; + CurbanLbl: Label 'CURBAN', MaxLength = 30; + GilgandraLbl: Label 'GILGANDRA', MaxLength = 30; + GulargamboneLbl: Label 'GULARGAMBONE', MaxLength = 30; + WarrumbungleLbl: Label 'WARRUMBUNGLE', MaxLength = 30; + CombaraLbl: Label 'COMBARA', MaxLength = 30; + CoonambleLbl: Label 'COONAMBLE', MaxLength = 30; + BallimoreLbl: Label 'BALLIMORE', MaxLength = 30; + BrocklehurstLbl: Label 'BROCKLEHURST', MaxLength = 30; + DubboLbl: Label 'DUBBO', MaxLength = 30; + MogriguyLbl: Label 'MOGRIGUY', MaxLength = 30; + ArmatreeLbl: Label 'ARMATREE', MaxLength = 30; + BalladoranLbl: Label 'BALLADORAN', MaxLength = 30; + ByrockLbl: Label 'BYROCK', MaxLength = 30; + CarindaLbl: Label 'CARINDA', MaxLength = 30; + CoolabahLbl: Label 'COOLABAH', MaxLength = 30; + ElongElongLbl: Label 'ELONG ELONG', MaxLength = 30; + EumungerieLbl: Label 'EUMUNGERIE', MaxLength = 30; + GeurieLbl: Label 'GEURIE', MaxLength = 30; + GirilamboneLbl: Label 'GIRILAMBONE', MaxLength = 30; + GoodoogaLbl: Label 'GOODOOGA', MaxLength = 30; + HermidaleLbl: Label 'HERMIDALE', MaxLength = 30; + MerrygoenLbl: Label 'MERRYGOEN', MaxLength = 30; + NeilrexLbl: Label 'NEILREX', MaxLength = 30; + NevertireLbl: Label 'NEVERTIRE', MaxLength = 30; + NymageeLbl: Label 'NYMAGEE', MaxLength = 30; + QuamboneLbl: Label 'QUAMBONE', MaxLength = 30; + TooraweenahLbl: Label 'TOORAWEENAH', MaxLength = 30; + WongarbonLbl: Label 'WONGARBON', MaxLength = 30; + ComeByChanceLbl: Label 'COME BY CHANCE', MaxLength = 30; + CryonLbl: Label 'CRYON', MaxLength = 30; + CumborahLbl: Label 'CUMBORAH', MaxLength = 30; + WalgettLbl: Label 'WALGETT', MaxLength = 30; + CollarenebriLbl: Label 'COLLARENEBRI', MaxLength = 30; + LightningRidgeLbl: Label 'LIGHTNING RIDGE', MaxLength = 30; + CobarLbl: Label 'COBAR', MaxLength = 30; + WhiteCliffsLbl: Label 'WHITE CLIFFS', MaxLength = 30; + WilcanniaLbl: Label 'WILCANNIA', MaxLength = 30; + BrewarrinaLbl: Label 'BREWARRINA', MaxLength = 30; + WeilmoringleLbl: Label 'WEILMORINGLE', MaxLength = 30; + BarringunLbl: Label 'BARRINGUN', MaxLength = 30; + BourkeLbl: Label 'BOURKE', MaxLength = 30; + EnngoniaLbl: Label 'ENNGONIA', MaxLength = 30; + FordsBridgeLbl: Label 'FORDS BRIDGE', MaxLength = 30; + LouthLbl: Label 'LOUTH', MaxLength = 30; + TilpaLbl: Label 'TILPA', MaxLength = 30; + UrisinoLbl: Label 'URISINO', MaxLength = 30; + WanaaringLbl: Label 'WANAARING', MaxLength = 30; + YantabullaLbl: Label 'YANTABULLA', MaxLength = 30; + MendooranLbl: Label 'MENDOORAN', MaxLength = 30; + CoolahLbl: Label 'COOLAH', MaxLength = 30; + BirriwaLbl: Label 'BIRRIWA', MaxLength = 30; + CobboraLbl: Label 'COBBORA', MaxLength = 30; + DunedooLbl: Label 'DUNEDOO', MaxLength = 30; + LeadvilleLbl: Label 'LEADVILLE', MaxLength = 30; + WallerawangLbl: Label 'WALLERAWANG', MaxLength = 30; + CaperteeLbl: Label 'CAPERTEE', MaxLength = 30; + GlenDavisLbl: Label 'GLEN DAVIS', MaxLength = 30; + PipersFlatLbl: Label 'PIPERS FLAT', MaxLength = 30; + PortlandLbl: Label 'PORTLAND', MaxLength = 30; + CharbonLbl: Label 'CHARBON', MaxLength = 30; + ClandullaLbl: Label 'CLANDULLA', MaxLength = 30; + KandosLbl: Label 'KANDOS', MaxLength = 30; + BylongLbl: Label 'BYLONG', MaxLength = 30; + RylstoneLbl: Label 'RYLSTONE', MaxLength = 30; + HargravesLbl: Label 'HARGRAVES', MaxLength = 30; + HavilahLbl: Label 'HAVILAH', MaxLength = 30; + HillEndLbl: Label 'HILL END', MaxLength = 30; + IlfordLbl: Label 'ILFORD', MaxLength = 30; + LueLbl: Label 'LUE', MaxLength = 30; + MudgeeLbl: Label 'MUDGEE', MaxLength = 30; + RunningStreamLbl: Label 'RUNNING STREAM', MaxLength = 30; + TurillLbl: Label 'TURILL', MaxLength = 30; + TwelveMileLbl: Label 'TWELVE MILE', MaxLength = 30; + UlanLbl: Label 'ULAN', MaxLength = 30; + WilbetreeLbl: Label 'WILBETREE', MaxLength = 30; + WindeyerLbl: Label 'WINDEYER', MaxLength = 30; + WollarLbl: Label 'WOLLAR', MaxLength = 30; + YarrawongaLbl: Label 'YARRAWONGA', MaxLength = 30; + GoolmaLbl: Label 'GOOLMA', MaxLength = 30; + GulgongLbl: Label 'GULGONG', MaxLength = 30; + CudalLbl: Label 'CUDAL', MaxLength = 30; + MurgaLbl: Label 'MURGA', MaxLength = 30; + ToogongLbl: Label 'TOOGONG', MaxLength = 30; + ManildraLbl: Label 'MANILDRA', MaxLength = 30; + EuchareenaLbl: Label 'EUCHAREENA', MaxLength = 30; + GarraLbl: Label 'GARRA', MaxLength = 30; + LarrasLeeLbl: Label 'LARRAS LEE', MaxLength = 30; + MolongLbl: Label 'MOLONG', MaxLength = 30; + BaldryLbl: Label 'BALDRY', MaxLength = 30; + CumnockLbl: Label 'CUMNOCK', MaxLength = 30; + YeovalLbl: Label 'YEOVAL', MaxLength = 30; + PeakHillLbl: Label 'PEAK HILL', MaxLength = 30; + TomingleyLbl: Label 'TOMINGLEY', MaxLength = 30; + TrewilgaLbl: Label 'TREWILGA', MaxLength = 30; + AlectownLbl: Label 'ALECTOWN', MaxLength = 30; + CookamidgeraLbl: Label 'COOKAMIDGERA', MaxLength = 30; + DaroobalgieLbl: Label 'DAROOBALGIE', MaxLength = 30; + GoonumblaLbl: Label 'GOONUMBLA', MaxLength = 30; + MandageryLbl: Label 'MANDAGERY', MaxLength = 30; + TichborneLbl: Label 'TICHBORNE', MaxLength = 30; + BedgerebongLbl: Label 'BEDGEREBONG', MaxLength = 30; + ForbesLbl: Label 'FORBES', MaxLength = 30; + GaremaLbl: Label 'GAREMA', MaxLength = 30; + WirrinyaLbl: Label 'WIRRINYA', MaxLength = 30; + AlbertLbl: Label 'ALBERT', MaxLength = 30; + TottenhamLbl: Label 'TOTTENHAM', MaxLength = 30; + TullamoreLbl: Label 'TULLAMORE', MaxLength = 30; + FifieldLbl: Label 'FIFIELD', MaxLength = 30; + OothaLbl: Label 'OOTHA', MaxLength = 30; + TrundleLbl: Label 'TRUNDLE', MaxLength = 30; + BoganGateLbl: Label 'BOGAN GATE', MaxLength = 30; + GunningblandLbl: Label 'GUNNINGBLAND', MaxLength = 30; + NelungalooLbl: Label 'NELUNGALOO', MaxLength = 30; + CondobolinLbl: Label 'CONDOBOLIN', MaxLength = 30; + DerriwongLbl: Label 'DERRIWONG', MaxLength = 30; + EuabalongLbl: Label 'EUABALONG', MaxLength = 30; + MountHopeLbl: Label 'MOUNT HOPE', MaxLength = 30; + ConobleLbl: Label 'CONOBLE', MaxLength = 30; + IvanhoeLbl: Label 'IVANHOE', MaxLength = 30; + MossgielLbl: Label 'MOSSGIEL', MaxLength = 30; + TridaLbl: Label 'TRIDA', MaxLength = 30; + MenindeeLbl: Label 'MENINDEE', MaxLength = 30; + BrokenHillLbl: Label 'BROKEN HILL', MaxLength = 30; + SilvertonLbl: Label 'SILVERTON', MaxLength = 30; + TibooburraLbl: Label 'TIBOOBURRA', MaxLength = 30; + AustralianDefenceForcesLbl: Label 'AUSTRALIAN DEFENCE FORCES', MaxLength = 30; + LordHoweIslandLbl: Label 'LORD HOWE ISLAND', MaxLength = 30; + NorfolkIslandLbl: Label 'NORFOLK ISLAND', MaxLength = 30; + GreenwayLbl: Label 'GREENWAY', MaxLength = 30; + TuggeranongLbl: Label 'TUGGERANONG', MaxLength = 30; + TuggeranongDcLbl: Label 'TUGGERANONG DC', MaxLength = 30; + KambahLbl: Label 'KAMBAH', MaxLength = 30; + ErindaleCentreLbl: Label 'ERINDALE CENTRE', MaxLength = 30; + WanniassaLbl: Label 'WANNIASSA', MaxLength = 30; + FaddenLbl: Label 'FADDEN', MaxLength = 30; + MacarthurLbl: Label 'MACARTHUR', MaxLength = 30; + MonashLbl: Label 'MONASH', MaxLength = 30; + BonythonLbl: Label 'BONYTHON', MaxLength = 30; + CalwellLbl: Label 'CALWELL', MaxLength = 30; + ChisholmLbl: Label 'CHISHOLM', MaxLength = 30; + IsabellaPlainsLbl: Label 'ISABELLA PLAINS', MaxLength = 30; + RichardsonLbl: Label 'RICHARDSON', MaxLength = 30; + TheodoreLbl: Label 'THEODORE', MaxLength = 30; + BanksLbl: Label 'BANKS', MaxLength = 30; + ConderLbl: Label 'CONDER', MaxLength = 30; + MitchellLbl: Label 'MITCHELL', MaxLength = 30; + GungahlinLbl: Label 'GUNGAHLIN', MaxLength = 30; + GinninderraVillageLbl: Label 'GINNINDERRA VILLAGE', MaxLength = 30; + NgunnawalLbl: Label 'NGUNNAWAL', MaxLength = 30; + NichollsLbl: Label 'NICHOLLS', MaxLength = 30; + PalmerstonLbl: Label 'PALMERSTON', MaxLength = 30; + AmarooLbl: Label 'AMAROO', MaxLength = 30; + MelbourneLbl: Label 'MELBOURNE', MaxLength = 30; + EastMelbourneLbl: Label 'EAST MELBOURNE', MaxLength = 30; + WestMelbourneLbl: Label 'WEST MELBOURNE', MaxLength = 30; + WorldTradeCentreLbl: Label 'WORLD TRADE CENTRE', MaxLength = 30; + SouthbankLbl: Label 'SOUTHBANK', MaxLength = 30; + DocklandsLbl: Label 'DOCKLANDS', MaxLength = 30; + UniversityOfMelbourneLbl: Label 'UNIVERSITY OF MELBOURNE', MaxLength = 30; + FootscrayLbl: Label 'FOOTSCRAY', MaxLength = 30; + SeddonLbl: Label 'SEDDON', MaxLength = 30; + SeddonWestLbl: Label 'SEDDON WEST', MaxLength = 30; + KingsvilleLbl: Label 'KINGSVILLE', MaxLength = 30; + MaidstoneLbl: Label 'MAIDSTONE', MaxLength = 30; + WestFootscrayLbl: Label 'WEST FOOTSCRAY', MaxLength = 30; + YarravilleLbl: Label 'YARRAVILLE', MaxLength = 30; + YarravilleWestLbl: Label 'YARRAVILLE WEST', MaxLength = 30; + SouthKingsvilleLbl: Label 'SOUTH KINGSVILLE', MaxLength = 30; + SpotswoodLbl: Label 'SPOTSWOOD', MaxLength = 30; + WilliamstownLbl: Label 'WILLIAMSTOWN', MaxLength = 30; + AltonaLbl: Label 'ALTONA', MaxLength = 30; + SeaholmeLbl: Label 'SEAHOLME', MaxLength = 30; + BraybrookLbl: Label 'BRAYBROOK', MaxLength = 30; + RobinsonLbl: Label 'ROBINSON', MaxLength = 30; + AlbionLbl: Label 'ALBION', MaxLength = 30; + AlbanvaleLbl: Label 'ALBANVALE', MaxLength = 30; + KealbaLbl: Label 'KEALBA', MaxLength = 30; + ArdeerLbl: Label 'ARDEER', MaxLength = 30; + DeerParkEastLbl: Label 'DEER PARK EAST', MaxLength = 30; + BurnsideLbl: Label 'BURNSIDE', MaxLength = 30; + CairnleaLbl: Label 'CAIRNLEA', MaxLength = 30; + CarolineSpringsLbl: Label 'CAROLINE SPRINGS', MaxLength = 30; + DeerParkLbl: Label 'DEER PARK', MaxLength = 30; + MountCottrellLbl: Label 'MOUNT COTTRELL', MaxLength = 30; + WyndhamValeLbl: Label 'WYNDHAM VALE', MaxLength = 30; + AltonaNorthLbl: Label 'ALTONA NORTH', MaxLength = 30; + LavertonNorthLbl: Label 'LAVERTON NORTH', MaxLength = 30; + AltonaMeadowsLbl: Label 'ALTONA MEADOWS', MaxLength = 30; + LavertonLbl: Label 'LAVERTON', MaxLength = 30; + SeabrookLbl: Label 'SEABROOK', MaxLength = 30; + HoppersCrossingLbl: Label 'HOPPERS CROSSING', MaxLength = 30; + TarneitLbl: Label 'TARNEIT', MaxLength = 30; + TruganinaLbl: Label 'TRUGANINA', MaxLength = 30; + DerrimutLbl: Label 'DERRIMUT', MaxLength = 30; + PointCookLbl: Label 'POINT COOK', MaxLength = 30; + WerribeeLbl: Label 'WERRIBEE', MaxLength = 30; + FlemingtonLbl: Label 'FLEMINGTON', MaxLength = 30; + AscotValeLbl: Label 'ASCOT VALE', MaxLength = 30; + HighpointCityLbl: Label 'HIGHPOINT CITY', MaxLength = 30; + MaribyrnongLbl: Label 'MARIBYRNONG', MaxLength = 30; + TravancoreLbl: Label 'TRAVANCORE', MaxLength = 30; + KeilorEastLbl: Label 'KEILOR EAST', MaxLength = 30; + AvondaleHeightsLbl: Label 'AVONDALE HEIGHTS', MaxLength = 30; + KeilorLbl: Label 'KEILOR', MaxLength = 30; + KeilorNorthLbl: Label 'KEILOR NORTH', MaxLength = 30; + DelaheyLbl: Label 'DELAHEY', MaxLength = 30; + HillsideLbl: Label 'HILLSIDE', MaxLength = 30; + KeilorDownsLbl: Label 'KEILOR DOWNS', MaxLength = 30; + TaylorsLakesLbl: Label 'TAYLORS LAKES', MaxLength = 30; + MooneePondsLbl: Label 'MOONEE PONDS', MaxLength = 30; + AberfeldieLbl: Label 'ABERFELDIE', MaxLength = 30; + EssendonLbl: Label 'ESSENDON', MaxLength = 30; + EssendonWestLbl: Label 'ESSENDON WEST', MaxLength = 30; + EssendonNorthLbl: Label 'ESSENDON NORTH', MaxLength = 30; + StrathmoreLbl: Label 'STRATHMORE', MaxLength = 30; + StrathmoreHeightsLbl: Label 'STRATHMORE HEIGHTS', MaxLength = 30; + AirportWestLbl: Label 'AIRPORT WEST', MaxLength = 30; + KeilorParkLbl: Label 'KEILOR PARK', MaxLength = 30; + NiddrieLbl: Label 'NIDDRIE', MaxLength = 30; + GladstoneParkLbl: Label 'GLADSTONE PARK', MaxLength = 30; + GowanbraeLbl: Label 'GOWANBRAE', MaxLength = 30; + TullamarineLbl: Label 'TULLAMARINE', MaxLength = 30; + PascoeValeLbl: Label 'PASCOE VALE', MaxLength = 30; + PascoeValeSouthLbl: Label 'PASCOE VALE SOUTH', MaxLength = 30; + MelbourneAirportLbl: Label 'MELBOURNE AIRPORT', MaxLength = 30; + GlenroyLbl: Label 'GLENROY', MaxLength = 30; + HadfieldLbl: Label 'HADFIELD', MaxLength = 30; + OakParkLbl: Label 'OAK PARK', MaxLength = 30; + BroadmeadowsLbl: Label 'BROADMEADOWS', MaxLength = 30; + DallasLbl: Label 'DALLAS', MaxLength = 30; + JacanaLbl: Label 'JACANA', MaxLength = 30; + CoolarooLbl: Label 'COOLAROO', MaxLength = 30; + MeadowHeightsLbl: Label 'MEADOW HEIGHTS', MaxLength = 30; + AttwoodLbl: Label 'ATTWOOD', MaxLength = 30; + WestmeadowsLbl: Label 'WESTMEADOWS', MaxLength = 30; + RoyalMelbourneHospitalLbl: Label 'ROYAL MELBOURNE HOSPITAL', MaxLength = 30; + HothamHillLbl: Label 'HOTHAM HILL', MaxLength = 30; + NorthMelbourneLbl: Label 'NORTH MELBOURNE', MaxLength = 30; + MelbourneUniversityLbl: Label 'MELBOURNE UNIVERSITY', MaxLength = 30; + CarltonSouthLbl: Label 'CARLTON SOUTH', MaxLength = 30; + CarltonNorthLbl: Label 'CARLTON NORTH', MaxLength = 30; + BrunswickWestLbl: Label 'BRUNSWICK WEST', MaxLength = 30; + BrunswickLbl: Label 'BRUNSWICK', MaxLength = 30; + BrunswickEastLbl: Label 'BRUNSWICK EAST', MaxLength = 30; + CoburgLbl: Label 'COBURG', MaxLength = 30; + CoburgNorthLbl: Label 'COBURG NORTH', MaxLength = 30; + MerlynstonLbl: Label 'MERLYNSTON', MaxLength = 30; + MorelandLbl: Label 'MORELAND', MaxLength = 30; + GreenvaleLbl: Label 'GREENVALE', MaxLength = 30; + FawknerLbl: Label 'FAWKNER', MaxLength = 30; + CampbellfieldLbl: Label 'CAMPBELLFIELD', MaxLength = 30; + OaklandsJunctionLbl: Label 'OAKLANDS JUNCTION', MaxLength = 30; + YurokeLbl: Label 'YUROKE', MaxLength = 30; + CraigieburnLbl: Label 'CRAIGIEBURN', MaxLength = 30; + DonnybrookLbl: Label 'DONNYBROOK', MaxLength = 30; + KalkalloLbl: Label 'KALKALLO', MaxLength = 30; + MicklehamLbl: Label 'MICKLEHAM', MaxLength = 30; + RoxburghParkLbl: Label 'ROXBURGH PARK', MaxLength = 30; + FitzroyLbl: Label 'FITZROY', MaxLength = 30; + CollingwoodLbl: Label 'COLLINGWOOD', MaxLength = 30; + CliftonHillLbl: Label 'CLIFTON HILL', MaxLength = 30; + FitzroyNorthLbl: Label 'FITZROY NORTH', MaxLength = 30; + NorthcoteLbl: Label 'NORTHCOTE', MaxLength = 30; + ThornburyLbl: Label 'THORNBURY', MaxLength = 30; + NorthlandCentreLbl: Label 'NORTHLAND CENTRE', MaxLength = 30; + PrestonLbl: Label 'PRESTON', MaxLength = 30; + PrestonSouthLbl: Label 'PRESTON SOUTH', MaxLength = 30; + RegentWestLbl: Label 'REGENT WEST', MaxLength = 30; + KeonParkLbl: Label 'KEON PARK', MaxLength = 30; + ReservoirLbl: Label 'RESERVOIR', MaxLength = 30; + ThomastownLbl: Label 'THOMASTOWN', MaxLength = 30; + LalorLbl: Label 'LALOR', MaxLength = 30; + EppingDcLbl: Label 'EPPING DC', MaxLength = 30; + AlphingtonLbl: Label 'ALPHINGTON', MaxLength = 30; + IvanhoeEastLbl: Label 'IVANHOE EAST', MaxLength = 30; + HeidelbergHeightsLbl: Label 'HEIDELBERG HEIGHTS', MaxLength = 30; + HeidelbergRghLbl: Label 'HEIDELBERG RGH', MaxLength = 30; + HeidelbergWestLbl: Label 'HEIDELBERG WEST', MaxLength = 30; + MillParkLbl: Label 'MILL PARK', MaxLength = 30; + BundooraLbl: Label 'BUNDOORA', MaxLength = 30; + KingsburyLbl: Label 'KINGSBURY', MaxLength = 30; + BanyuleLbl: Label 'BANYULE', MaxLength = 30; + EaglemontLbl: Label 'EAGLEMONT', MaxLength = 30; + HeidelbergLbl: Label 'HEIDELBERG', MaxLength = 30; + RosannaLbl: Label 'ROSANNA', MaxLength = 30; + ViewbankLbl: Label 'VIEWBANK', MaxLength = 30; + MacleodLbl: Label 'MACLEOD', MaxLength = 30; + YallambieLbl: Label 'YALLAMBIE', MaxLength = 30; + WatsoniaLbl: Label 'WATSONIA', MaxLength = 30; + BriarHillLbl: Label 'BRIAR HILL', MaxLength = 30; + GreensboroughLbl: Label 'GREENSBOROUGH', MaxLength = 30; + SaintHelenaLbl: Label 'SAINT HELENA', MaxLength = 30; + DiamondCreekLbl: Label 'DIAMOND CREEK', MaxLength = 30; + PlentyLbl: Label 'PLENTY', MaxLength = 30; + YarrambatLbl: Label 'YARRAMBAT', MaxLength = 30; + LowerPlentyLbl: Label 'LOWER PLENTY', MaxLength = 30; + MontmorencyLbl: Label 'MONTMORENCY', MaxLength = 30; + ElthamNorthLbl: Label 'ELTHAM NORTH', MaxLength = 30; + ResearchLbl: Label 'RESEARCH', MaxLength = 30; + WattleGlenLbl: Label 'WATTLE GLEN', MaxLength = 30; + BendOfIslandsLbl: Label 'BEND OF ISLANDS', MaxLength = 30; + KangarooGroundLbl: Label 'KANGAROO GROUND', MaxLength = 30; + ArthursCreekLbl: Label 'ARTHURS CREEK', MaxLength = 30; + CottlesBridgeLbl: Label 'COTTLES BRIDGE', MaxLength = 30; + HurstbridgeLbl: Label 'HURSTBRIDGE', MaxLength = 30; + NutfieldLbl: Label 'NUTFIELD', MaxLength = 30; + StrathewenLbl: Label 'STRATHEWEN', MaxLength = 30; + KewEastLbl: Label 'KEW EAST', MaxLength = 30; + BalwynLbl: Label 'BALWYN', MaxLength = 30; + BalwynNorthLbl: Label 'BALWYN NORTH', MaxLength = 30; + BulleenLbl: Label 'BULLEEN', MaxLength = 30; + TemplestoweLbl: Label 'TEMPLESTOWE', MaxLength = 30; + TemplestoweLowerLbl: Label 'TEMPLESTOWE LOWER', MaxLength = 30; + DoncasterLbl: Label 'DONCASTER', MaxLength = 30; + DoncasterEastLbl: Label 'DONCASTER EAST', MaxLength = 30; + DoncasterHeightsLbl: Label 'DONCASTER HEIGHTS', MaxLength = 30; + TunstallSquarePoLbl: Label 'TUNSTALL SQUARE PO', MaxLength = 30; + NunawadingBcLbl: Label 'NUNAWADING BC', MaxLength = 30; + DonvaleLbl: Label 'DONVALE', MaxLength = 30; + NorthWarrandyteLbl: Label 'NORTH WARRANDYTE', MaxLength = 30; + WarrandyteLbl: Label 'WARRANDYTE', MaxLength = 30; + ParkOrchardsLbl: Label 'PARK ORCHARDS', MaxLength = 30; + WongaParkLbl: Label 'WONGA PARK', MaxLength = 30; + ChirnsideParkLbl: Label 'CHIRNSIDE PARK', MaxLength = 30; + BurnleyLbl: Label 'BURNLEY', MaxLength = 30; + HawthornLbl: Label 'HAWTHORN', MaxLength = 30; + HawthornEastLbl: Label 'HAWTHORN EAST', MaxLength = 30; + CamberwellNorthLbl: Label 'CAMBERWELL NORTH', MaxLength = 30; + CamberwellSouthLbl: Label 'CAMBERWELL SOUTH', MaxLength = 30; + CamberwellWestLbl: Label 'CAMBERWELL WEST', MaxLength = 30; + MiddleCamberwellLbl: Label 'MIDDLE CAMBERWELL', MaxLength = 30; + BennettswoodLbl: Label 'BENNETTSWOOD', MaxLength = 30; + CamberwellEastLbl: Label 'CAMBERWELL EAST', MaxLength = 30; + MontAlbertLbl: Label 'MONT ALBERT', MaxLength = 30; + SurreyHillsLbl: Label 'SURREY HILLS', MaxLength = 30; + BoxHillSouthLbl: Label 'BOX HILL SOUTH', MaxLength = 30; + HoustonLbl: Label 'HOUSTON', MaxLength = 30; + WattleParkLbl: Label 'WATTLE PARK', MaxLength = 30; + BoxHillNorthLbl: Label 'BOX HILL NORTH', MaxLength = 30; + KerrimuirLbl: Label 'KERRIMUIR', MaxLength = 30; + MontAlbertNorthLbl: Label 'MONT ALBERT NORTH', MaxLength = 30; + BlackburnLbl: Label 'BLACKBURN', MaxLength = 30; + BlackburnNorthLbl: Label 'BLACKBURN NORTH', MaxLength = 30; + BlackburnSouthLbl: Label 'BLACKBURN SOUTH', MaxLength = 30; + LaburnumLbl: Label 'LABURNUM', MaxLength = 30; + BrentfordSquareLbl: Label 'BRENTFORD SQUARE', MaxLength = 30; + NunawadingLbl: Label 'NUNAWADING', MaxLength = 30; + MitchamLbl: Label 'MITCHAM', MaxLength = 30; + RangeviewLbl: Label 'RANGEVIEW', MaxLength = 30; + VermontLbl: Label 'VERMONT', MaxLength = 30; + VermontSouthLbl: Label 'VERMONT SOUTH', MaxLength = 30; + RingwoodLbl: Label 'RINGWOOD', MaxLength = 30; + RingwoodNorthLbl: Label 'RINGWOOD NORTH', MaxLength = 30; + WarrandyteSouthLbl: Label 'WARRANDYTE SOUTH', MaxLength = 30; + WarranwoodLbl: Label 'WARRANWOOD', MaxLength = 30; + BedfordRoadLbl: Label 'BEDFORD ROAD', MaxLength = 30; + HeathmontLbl: Label 'HEATHMONT', MaxLength = 30; + RingwoodEastLbl: Label 'RINGWOOD EAST', MaxLength = 30; + CroydonHillsLbl: Label 'CROYDON HILLS', MaxLength = 30; + CroydonNorthLbl: Label 'CROYDON NORTH', MaxLength = 30; + CroydonSouthLbl: Label 'CROYDON SOUTH', MaxLength = 30; + KilsythLbl: Label 'KILSYTH', MaxLength = 30; + KilsythSouthLbl: Label 'KILSYTH SOUTH', MaxLength = 30; + MooroolbarkLbl: Label 'MOOROOLBARK', MaxLength = 30; + HoddlesCreekLbl: Label 'HODDLES CREEK', MaxLength = 30; + LaunchingPlaceLbl: Label 'LAUNCHING PLACE', MaxLength = 30; + SevilleLbl: Label 'SEVILLE', MaxLength = 30; + WandinNorthLbl: Label 'WANDIN NORTH', MaxLength = 30; + WooriYallockLbl: Label 'WOORI YALLOCK', MaxLength = 30; + YellingboLbl: Label 'YELLINGBO', MaxLength = 30; + LilydaleLbl: Label 'LILYDALE', MaxLength = 30; + SouthYarraLbl: Label 'SOUTH YARRA', MaxLength = 30; + HawksburnLbl: Label 'HAWKSBURN', MaxLength = 30; + ToorakLbl: Label 'TOORAK', MaxLength = 30; + ArmadaleLbl: Label 'ARMADALE', MaxLength = 30; + ArmadaleNorthLbl: Label 'ARMADALE NORTH', MaxLength = 30; + KooyongLbl: Label 'KOOYONG', MaxLength = 30; + MalvernLbl: Label 'MALVERN', MaxLength = 30; + CaulfieldEastLbl: Label 'CAULFIELD EAST', MaxLength = 30; + CentralParkLbl: Label 'CENTRAL PARK', MaxLength = 30; + DarlingLbl: Label 'DARLING', MaxLength = 30; + MalvernEastLbl: Label 'MALVERN EAST', MaxLength = 30; + GlenIrisLbl: Label 'GLEN IRIS', MaxLength = 30; + AshburtonLbl: Label 'ASHBURTON', MaxLength = 30; + AshwoodLbl: Label 'ASHWOOD', MaxLength = 30; + ChadstoneLbl: Label 'CHADSTONE', MaxLength = 30; + HolmesglenLbl: Label 'HOLMESGLEN', MaxLength = 30; + MountWaverleyLbl: Label 'MOUNT WAVERLEY', MaxLength = 30; + SyndalLbl: Label 'SYNDAL', MaxLength = 30; + GlenWaverleyLbl: Label 'GLEN WAVERLEY', MaxLength = 30; + WheelersHillLbl: Label 'WHEELERS HILL', MaxLength = 30; + BurwoodEastLbl: Label 'BURWOOD EAST', MaxLength = 30; + KnoxCityCentreLbl: Label 'KNOX CITY CENTRE', MaxLength = 30; + StudfieldLbl: Label 'STUDFIELD', MaxLength = 30; + WantirnaLbl: Label 'WANTIRNA', MaxLength = 30; + WantirnaSouthLbl: Label 'WANTIRNA SOUTH', MaxLength = 30; + BayswaterLbl: Label 'BAYSWATER', MaxLength = 30; + BayswaterNorthLbl: Label 'BAYSWATER NORTH', MaxLength = 30; + BoroniaLbl: Label 'BORONIA', MaxLength = 30; + FerntreeGullyLbl: Label 'FERNTREE GULLY', MaxLength = 30; + LysterfieldLbl: Label 'LYSTERFIELD', MaxLength = 30; + MountainGateLbl: Label 'MOUNTAIN GATE', MaxLength = 30; + UpperFerntreeGullyLbl: Label 'UPPER FERNTREE GULLY', MaxLength = 30; + UpweyLbl: Label 'UPWEY', MaxLength = 30; + MenziesCreekLbl: Label 'MENZIES CREEK', MaxLength = 30; + SelbyLbl: Label 'SELBY', MaxLength = 30; + BelgraveLbl: Label 'BELGRAVE', MaxLength = 30; + TecomaLbl: Label 'TECOMA', MaxLength = 30; + CaulfieldJunctionLbl: Label 'CAULFIELD JUNCTION', MaxLength = 30; + CaulfieldNorthLbl: Label 'CAULFIELD NORTH', MaxLength = 30; + CaulfieldLbl: Label 'CAULFIELD', MaxLength = 30; + CaulfieldSouthLbl: Label 'CAULFIELD SOUTH', MaxLength = 30; + HopetounGardensLbl: Label 'HOPETOUN GARDENS', MaxLength = 30; + CarnegieLbl: Label 'CARNEGIE', MaxLength = 30; + GlenHuntlyLbl: Label 'GLEN HUNTLY', MaxLength = 30; + MurrumbeenaLbl: Label 'MURRUMBEENA', MaxLength = 30; + DandenongSouthLbl: Label 'DANDENONG SOUTH', MaxLength = 30; + BentleighEastLbl: Label 'BENTLEIGH EAST', MaxLength = 30; + CoatesvilleLbl: Label 'COATESVILLE', MaxLength = 30; + HughesdaleLbl: Label 'HUGHESDALE', MaxLength = 30; + HuntingdaleLbl: Label 'HUNTINGDALE', MaxLength = 30; + OakleighLbl: Label 'OAKLEIGH', MaxLength = 30; + OakleighEastLbl: Label 'OAKLEIGH EAST', MaxLength = 30; + OakleighSouthLbl: Label 'OAKLEIGH SOUTH', MaxLength = 30; + ClaytonLbl: Label 'CLAYTON', MaxLength = 30; + NottingHillLbl: Label 'NOTTING HILL', MaxLength = 30; + ClarindaLbl: Label 'CLARINDA', MaxLength = 30; + ClaytonSouthLbl: Label 'CLAYTON SOUTH', MaxLength = 30; + SandownVillageLbl: Label 'SANDOWN VILLAGE', MaxLength = 30; + SpringvaleLbl: Label 'SPRINGVALE', MaxLength = 30; + DingleyVillageLbl: Label 'DINGLEY VILLAGE', MaxLength = 30; + SpringvaleSouthLbl: Label 'SPRINGVALE SOUTH', MaxLength = 30; + KeysboroughLbl: Label 'KEYSBOROUGH', MaxLength = 30; + NobleParkLbl: Label 'NOBLE PARK', MaxLength = 30; + NobleParkNorthLbl: Label 'NOBLE PARK NORTH', MaxLength = 30; + BangholmeLbl: Label 'BANGHOLME', MaxLength = 30; + DandenongLbl: Label 'DANDENONG', MaxLength = 30; + ScoresbyBcLbl: Label 'SCORESBY BC', MaxLength = 30; + DovetonLbl: Label 'DOVETON', MaxLength = 30; + RowvilleLbl: Label 'ROWVILLE', MaxLength = 30; + ScoresbyLbl: Label 'SCORESBY', MaxLength = 30; + KnoxfieldLbl: Label 'KNOXFIELD', MaxLength = 30; + PrahranLbl: Label 'PRAHRAN', MaxLength = 30; + StKildaLbl: Label 'ST KILDA', MaxLength = 30; + StKildaSouthLbl: Label 'ST KILDA SOUTH', MaxLength = 30; + StKildaWestLbl: Label 'ST KILDA WEST', MaxLength = 30; + BalaclavaLbl: Label 'BALACLAVA', MaxLength = 30; + StKildaEastLbl: Label 'ST KILDA EAST', MaxLength = 30; + BrightonRoadLbl: Label 'BRIGHTON ROAD', MaxLength = 30; + ElwoodLbl: Label 'ELWOOD', MaxLength = 30; + ElsternwickLbl: Label 'ELSTERNWICK', MaxLength = 30; + GardenvaleLbl: Label 'GARDENVALE', MaxLength = 30; + RipponleaLbl: Label 'RIPPONLEA', MaxLength = 30; + BrightonLbl: Label 'BRIGHTON', MaxLength = 30; + DendyLbl: Label 'DENDY', MaxLength = 30; + BrightonEastLbl: Label 'BRIGHTON EAST', MaxLength = 30; + NorthRoadLbl: Label 'NORTH ROAD', MaxLength = 30; + HamptonEastLbl: Label 'HAMPTON EAST', MaxLength = 30; + HamptonNorthLbl: Label 'HAMPTON NORTH', MaxLength = 30; + MoorabbinLbl: Label 'MOORABBIN', MaxLength = 30; + MoorabbinEastLbl: Label 'MOORABBIN EAST', MaxLength = 30; + WishartLbl: Label 'WISHART', MaxLength = 30; + HighettLbl: Label 'HIGHETT', MaxLength = 30; + CheltenhamEastLbl: Label 'CHELTENHAM EAST', MaxLength = 30; + SouthlandCentreLbl: Label 'SOUTHLAND CENTRE', MaxLength = 30; + BeaumarisLbl: Label 'BEAUMARIS', MaxLength = 30; + BlackRockLbl: Label 'BLACK ROCK', MaxLength = 30; + MentoneLbl: Label 'MENTONE', MaxLength = 30; + MoorabbinAirportLbl: Label 'MOORABBIN AIRPORT', MaxLength = 30; + AspendaleLbl: Label 'ASPENDALE', MaxLength = 30; + AspendaleGardensLbl: Label 'ASPENDALE GARDENS', MaxLength = 30; + BraesideLbl: Label 'BRAESIDE', MaxLength = 30; + MordiallocLbl: Label 'MORDIALLOC', MaxLength = 30; + ParkdaleLbl: Label 'PARKDALE', MaxLength = 30; + WaterwaysLbl: Label 'WATERWAYS', MaxLength = 30; + BonbeachLbl: Label 'BONBEACH', MaxLength = 30; + ChelseaLbl: Label 'CHELSEA', MaxLength = 30; + ChelseaHeightsLbl: Label 'CHELSEA HEIGHTS', MaxLength = 30; + EdithvaleLbl: Label 'EDITHVALE', MaxLength = 30; + CarrumLbl: Label 'CARRUM', MaxLength = 30; + PattersonLakesLbl: Label 'PATTERSON LAKES', MaxLength = 30; + BelvedereParkLbl: Label 'BELVEDERE PARK', MaxLength = 30; + SeafordLbl: Label 'SEAFORD', MaxLength = 30; + FrankstonLbl: Label 'FRANKSTON', MaxLength = 30; + KaringalLbl: Label 'KARINGAL', MaxLength = 30; + FrankstonNorthLbl: Label 'FRANKSTON NORTH', MaxLength = 30; + PinesForestLbl: Label 'PINES FOREST', MaxLength = 30; + CarrumDownsLbl: Label 'CARRUM DOWNS', MaxLength = 30; + HeathertonLbl: Label 'HEATHERTON', MaxLength = 30; + BentleighLbl: Label 'BENTLEIGH', MaxLength = 30; + MckinnonLbl: Label 'MCKINNON', MaxLength = 30; + OrmondLbl: Label 'ORMOND', MaxLength = 30; + SouthMelbourneLbl: Label 'SOUTH MELBOURNE', MaxLength = 30; + SouthMelbourneDcLbl: Label 'SOUTH MELBOURNE DC', MaxLength = 30; + AlbertParkLbl: Label 'ALBERT PARK', MaxLength = 30; + MiddleParkLbl: Label 'MIDDLE PARK', MaxLength = 30; + GardenCityLbl: Label 'GARDEN CITY', MaxLength = 30; + PortMelbourneLbl: Label 'PORT MELBOURNE', MaxLength = 30; + LittleRiverLbl: Label 'LITTLE RIVER', MaxLength = 30; + LaraLbl: Label 'LARA', MaxLength = 30; + CorioLbl: Label 'CORIO', MaxLength = 30; + NorlaneLbl: Label 'NORLANE', MaxLength = 30; + NorthShoreLbl: Label 'NORTH SHORE', MaxLength = 30; + BellParkLbl: Label 'BELL PARK', MaxLength = 30; + BellPostHillLbl: Label 'BELL POST HILL', MaxLength = 30; + HamlynHeightsLbl: Label 'HAMLYN HEIGHTS', MaxLength = 30; + NorthGeelongLbl: Label 'NORTH GEELONG', MaxLength = 30; + FreshwaterCreekLbl: Label 'FRESHWATER CREEK', MaxLength = 30; + GrovedaleLbl: Label 'GROVEDALE', MaxLength = 30; + HightonLbl: Label 'HIGHTON', MaxLength = 30; + MarshallLbl: Label 'MARSHALL', MaxLength = 30; + MountDuneedLbl: Label 'MOUNT DUNEED', MaxLength = 30; + WandanaHeightsLbl: Label 'WANDANA HEIGHTS', MaxLength = 30; + WaurnPondsLbl: Label 'WAURN PONDS', MaxLength = 30; + DeakinUniversityLbl: Label 'DEAKIN UNIVERSITY', MaxLength = 30; + GeelongWestLbl: Label 'GEELONG WEST', MaxLength = 30; + HerneHillLbl: Label 'HERNE HILL', MaxLength = 30; + ManifoldHeightsLbl: Label 'MANIFOLD HEIGHTS', MaxLength = 30; + BreakwaterLbl: Label 'BREAKWATER', MaxLength = 30; + EastGeelongLbl: Label 'EAST GEELONG', MaxLength = 30; + NewcombLbl: Label 'NEWCOMB', MaxLength = 30; + StAlbansParkLbl: Label 'ST ALBANS PARK', MaxLength = 30; + WhittingtonLbl: Label 'WHITTINGTON', MaxLength = 30; + GeelongLbl: Label 'GEELONG', MaxLength = 30; + AnakieLbl: Label 'ANAKIE', MaxLength = 30; + BarraboolLbl: Label 'BARRABOOL', MaxLength = 30; + BatesfordLbl: Label 'BATESFORD', MaxLength = 30; + BellarineLbl: Label 'BELLARINE', MaxLength = 30; + CeresLbl: Label 'CERES', MaxLength = 30; + FyansfordLbl: Label 'FYANSFORD', MaxLength = 30; + GnarwarreLbl: Label 'GNARWARRE', MaxLength = 30; + KennettRiverLbl: Label 'KENNETT RIVER', MaxLength = 30; + LovelyBanksLbl: Label 'LOVELY BANKS', MaxLength = 30; + MoolapLbl: Label 'MOOLAP', MaxLength = 30; + MooraboolLbl: Label 'MOORABOOL', MaxLength = 30; + MurghebolucLbl: Label 'MURGHEBOLUC', MaxLength = 30; + StaughtonValeLbl: Label 'STAUGHTON VALE', MaxLength = 30; + StonehavenLbl: Label 'STONEHAVEN', MaxLength = 30; + WallingtonLbl: Label 'WALLINGTON', MaxLength = 30; + WongarraLbl: Label 'WONGARRA', MaxLength = 30; + WyeRiverLbl: Label 'WYE RIVER', MaxLength = 30; + CliftonSpringsLbl: Label 'CLIFTON SPRINGS', MaxLength = 30; + DrysdaleLbl: Label 'DRYSDALE', MaxLength = 30; + MannerimLbl: Label 'MANNERIM', MaxLength = 30; + MarcusHillLbl: Label 'MARCUS HILL', MaxLength = 30; + IndentedHeadLbl: Label 'INDENTED HEAD', MaxLength = 30; + PortarlingtonLbl: Label 'PORTARLINGTON', MaxLength = 30; + LeopoldLbl: Label 'LEOPOLD', MaxLength = 30; + PointLonsdaleLbl: Label 'POINT LONSDALE', MaxLength = 30; + OceanGroveLbl: Label 'OCEAN GROVE', MaxLength = 30; + BarwonHeadsLbl: Label 'BARWON HEADS', MaxLength = 30; + BreamleaLbl: Label 'BREAMLEA', MaxLength = 30; + ConnewarreLbl: Label 'CONNEWARRE', MaxLength = 30; + BellbraeLbl: Label 'BELLBRAE', MaxLength = 30; + JanJucLbl: Label 'JAN JUC', MaxLength = 30; + TorquayLbl: Label 'TORQUAY', MaxLength = 30; + AngleseaLbl: Label 'ANGLESEA', MaxLength = 30; + AireysInletLbl: Label 'AIREYS INLET', MaxLength = 30; + EasternViewLbl: Label 'EASTERN VIEW', MaxLength = 30; + FairhavenLbl: Label 'FAIRHAVEN', MaxLength = 30; + MoggsCreekLbl: Label 'MOGGS CREEK', MaxLength = 30; + ApolloBayLbl: Label 'APOLLO BAY', MaxLength = 30; + SkenesCreekLbl: Label 'SKENES CREEK', MaxLength = 30; + DeansMarshLbl: Label 'DEANS MARSH', MaxLength = 30; + BeechForestLbl: Label 'BEECH FOREST', MaxLength = 30; + GellibrandLowerLbl: Label 'GELLIBRAND LOWER', MaxLength = 30; + HordernValeLbl: Label 'HORDERN VALE', MaxLength = 30; + JohannaLbl: Label 'JOHANNA', MaxLength = 30; + LaversHillLbl: Label 'LAVERS HILL', MaxLength = 30; + CarlisleRiverLbl: Label 'CARLISLE RIVER', MaxLength = 30; + ChappleValeLbl: Label 'CHAPPLE VALE', MaxLength = 30; + GellibrandLbl: Label 'GELLIBRAND', MaxLength = 30; + KennedysCreekLbl: Label 'KENNEDYS CREEK', MaxLength = 30; + BuckleyLbl: Label 'BUCKLEY', MaxLength = 30; + ModewarreLbl: Label 'MODEWARRE', MaxLength = 30; + MoriacLbl: Label 'MORIAC', MaxLength = 30; + MountMoriacLbl: Label 'MOUNT MORIAC', MaxLength = 30; + BambraLbl: Label 'BAMBRA', MaxLength = 30; + WinchelseaLbl: Label 'WINCHELSEA', MaxLength = 30; + WurdibolucLbl: Label 'WURDIBOLUC', MaxLength = 30; + BirregurraLbl: Label 'BIRREGURRA', MaxLength = 30; + BarwonDownsLbl: Label 'BARWON DOWNS', MaxLength = 30; + GerangameteLbl: Label 'GERANGAMETE', MaxLength = 30; + MurroonLbl: Label 'MURROON', MaxLength = 30; + WarncoortLbl: Label 'WARNCOORT', MaxLength = 30; + AlvieLbl: Label 'ALVIE', MaxLength = 30; + BarongarookLbl: Label 'BARONGAROOK', MaxLength = 30; + BarramungaLbl: Label 'BARRAMUNGA', MaxLength = 30; + CoragulacLbl: Label 'CORAGULAC', MaxLength = 30; + CorunnunLbl: Label 'CORUNNUN', MaxLength = 30; + DreeiteLbl: Label 'DREEITE', MaxLength = 30; + IrrewarraLbl: Label 'IRREWARRA', MaxLength = 30; + KawarrenLbl: Label 'KAWARREN', MaxLength = 30; + LarpentLbl: Label 'LARPENT', MaxLength = 30; + NalangilLbl: Label 'NALANGIL', MaxLength = 30; + OnditLbl: Label 'ONDIT', MaxLength = 30; + PirronYallockLbl: Label 'PIRRON YALLOCK', MaxLength = 30; + SwanMarshLbl: Label 'SWAN MARSH', MaxLength = 30; + WarrionLbl: Label 'WARRION', MaxLength = 30; + WoolWoolLbl: Label 'WOOL WOOL', MaxLength = 30; + YeoLbl: Label 'YEO', MaxLength = 30; + YeodeneLbl: Label 'YEODENE', MaxLength = 30; + ColacLbl: Label 'COLAC', MaxLength = 30; + ElliminytLbl: Label 'ELLIMINYT', MaxLength = 30; + BeeacLbl: Label 'BEEAC', MaxLength = 30; + CundareNorthLbl: Label 'CUNDARE NORTH', MaxLength = 30; + WeeringLbl: Label 'WEERING', MaxLength = 30; + CororookeLbl: Label 'COROROOKE', MaxLength = 30; + BungadorLbl: Label 'BUNGADOR', MaxLength = 30; + GnotukLbl: Label 'GNOTUK', MaxLength = 30; + PomborneitLbl: Label 'POMBORNEIT', MaxLength = 30; + StonyfordLbl: Label 'STONYFORD', MaxLength = 30; + TerangLbl: Label 'TERANG', MaxLength = 30; + BoorcanLbl: Label 'BOORCAN', MaxLength = 30; + CudgeeLbl: Label 'CUDGEE', MaxLength = 30; + EllerslieLbl: Label 'ELLERSLIE', MaxLength = 30; + FramlinghamLbl: Label 'FRAMLINGHAM', MaxLength = 30; + GarvocLbl: Label 'GARVOC', MaxLength = 30; + KoloraLbl: Label 'KOLORA', MaxLength = 30; + NooratLbl: Label 'NOORAT', MaxLength = 30; + PanmureLbl: Label 'PANMURE', MaxLength = 30; + TheSistersLbl: Label 'THE SISTERS', MaxLength = 30; + CobdenLbl: Label 'COBDEN', MaxLength = 30; + GlenfyneLbl: Label 'GLENFYNE', MaxLength = 30; + JancourtLbl: Label 'JANCOURT', MaxLength = 30; + JancourtEastLbl: Label 'JANCOURT EAST', MaxLength = 30; + SimpsonLbl: Label 'SIMPSON', MaxLength = 30; + ScottsCreekLbl: Label 'SCOTTS CREEK', MaxLength = 30; + CurdiesRiverLbl: Label 'CURDIES RIVER', MaxLength = 30; + CurdievaleLbl: Label 'CURDIEVALE', MaxLength = 30; + NirrandaLbl: Label 'NIRRANDA', MaxLength = 30; + NullawarreLbl: Label 'NULLAWARRE', MaxLength = 30; + TimboonLbl: Label 'TIMBOON', MaxLength = 30; + PortCampbellLbl: Label 'PORT CAMPBELL', MaxLength = 30; + PrincetownLbl: Label 'PRINCETOWN', MaxLength = 30; + PeterboroughLbl: Label 'PETERBOROUGH', MaxLength = 30; + DundonnellLbl: Label 'DUNDONNELL', MaxLength = 30; + PuraPuraLbl: Label 'PURA PURA', MaxLength = 30; + WoorndooLbl: Label 'WOORNDOO', MaxLength = 30; + CaramutLbl: Label 'CARAMUT', MaxLength = 30; + WoolsthorpeLbl: Label 'WOOLSTHORPE', MaxLength = 30; + AllansfordLbl: Label 'ALLANSFORD', MaxLength = 30; + MepungaLbl: Label 'MEPUNGA', MaxLength = 30; + NaringalLbl: Label 'NARINGAL', MaxLength = 30; + PurnimLbl: Label 'PURNIM', MaxLength = 30; + WangoomLbl: Label 'WANGOOM', MaxLength = 30; + DenningtonLbl: Label 'DENNINGTON', MaxLength = 30; + WarrnamboolLbl: Label 'WARRNAMBOOL', MaxLength = 30; + BushfieldLbl: Label 'BUSHFIELD', MaxLength = 30; + GrassmereLbl: Label 'GRASSMERE', MaxLength = 30; + WinslowLbl: Label 'WINSLOW', MaxLength = 30; + IllowaLbl: Label 'ILLOWA', MaxLength = 30; + KoroitLbl: Label 'KOROIT', MaxLength = 30; + KillarneyLbl: Label 'KILLARNEY', MaxLength = 30; + KirkstallLbl: Label 'KIRKSTALL', MaxLength = 30; + SouthernCrossLbl: Label 'SOUTHERN CROSS', MaxLength = 30; + TowerHillLbl: Label 'TOWER HILL', MaxLength = 30; + PortFairyLbl: Label 'PORT FAIRY', MaxLength = 30; + NarrawongLbl: Label 'NARRAWONG', MaxLength = 30; + RosebrookLbl: Label 'ROSEBROOK', MaxLength = 30; + StHelensLbl: Label 'ST HELENS', MaxLength = 30; + ToolongLbl: Label 'TOOLONG', MaxLength = 30; + TyrendarraLbl: Label 'TYRENDARRA', MaxLength = 30; + YambukLbl: Label 'YAMBUK', MaxLength = 30; + HawkesdaleLbl: Label 'HAWKESDALE', MaxLength = 30; + MinhamiteLbl: Label 'MINHAMITE', MaxLength = 30; + GlenthompsonLbl: Label 'GLENTHOMPSON', MaxLength = 30; + NarrapumelapSouthLbl: Label 'NARRAPUMELAP SOUTH', MaxLength = 30; + MoutajupLbl: Label 'MOUTAJUP', MaxLength = 30; + VictoriaValleyLbl: Label 'VICTORIA VALLEY', MaxLength = 30; + ByadukLbl: Label 'BYADUK', MaxLength = 30; + StrathkellarLbl: Label 'STRATHKELLAR', MaxLength = 30; + TarringtonLbl: Label 'TARRINGTON', MaxLength = 30; + BranxholmeLbl: Label 'BRANXHOLME', MaxLength = 30; + CondahLbl: Label 'CONDAH', MaxLength = 30; + DartmoorLbl: Label 'DARTMOOR', MaxLength = 30; + HeywoodLbl: Label 'HEYWOOD', MaxLength = 30; + WinnapLbl: Label 'WINNAP', MaxLength = 30; + AllestreeLbl: Label 'ALLESTREE', MaxLength = 30; + GoraeLbl: Label 'GORAE', MaxLength = 30; + DigbyLbl: Label 'DIGBY', MaxLength = 30; + MerinoLbl: Label 'MERINO', MaxLength = 30; + CastertonLbl: Label 'CASTERTON', MaxLength = 30; + CarapookLbl: Label 'CARAPOOK', MaxLength = 30; + ChetwyndLbl: Label 'CHETWYND', MaxLength = 30; + DergholmLbl: Label 'DERGHOLM', MaxLength = 30; + LakeMundiLbl: Label 'LAKE MUNDI', MaxLength = 30; + PoolaijeloLbl: Label 'POOLAIJELO', MaxLength = 30; + SandfordLbl: Label 'SANDFORD', MaxLength = 30; + StrathdownieLbl: Label 'STRATHDOWNIE', MaxLength = 30; + WandoValeLbl: Label 'WANDO VALE', MaxLength = 30; + CavendishLbl: Label 'CAVENDISH', MaxLength = 30; + ColeraineLbl: Label 'COLERAINE', MaxLength = 30; + MelvilleForestLbl: Label 'MELVILLE FOREST', MaxLength = 30; + NareenLbl: Label 'NAREEN', MaxLength = 30; + HarrowLbl: Label 'HARROW', MaxLength = 30; + ConnewirricooLbl: Label 'CONNEWIRRICOO', MaxLength = 30; + EdenhopeLbl: Label 'EDENHOPE', MaxLength = 30; + LangkoopLbl: Label 'LANGKOOP', MaxLength = 30; + ApsleyLbl: Label 'APSLEY', MaxLength = 30; + BenayeoLbl: Label 'BENAYEO', MaxLength = 30; + InverleighLbl: Label 'INVERLEIGH', MaxLength = 30; + CressyLbl: Label 'CRESSY', MaxLength = 30; + BerrybankLbl: Label 'BERRYBANK', MaxLength = 30; + DuverneyLbl: Label 'DUVERNEY', MaxLength = 30; + DerrinallumLbl: Label 'DERRINALLUM', MaxLength = 30; + TeesdaleLbl: Label 'TEESDALE', MaxLength = 30; + BarunahParkLbl: Label 'BARUNAH PARK', MaxLength = 30; + ShelfordLbl: Label 'SHELFORD', MaxLength = 30; + RokewoodLbl: Label 'ROKEWOOD', MaxLength = 30; + BannockburnLbl: Label 'BANNOCKBURN', MaxLength = 30; + GheringhapLbl: Label 'GHERINGHAP', MaxLength = 30; + RussellsBridgeLbl: Label 'RUSSELLS BRIDGE', MaxLength = 30; + SheOaksLbl: Label 'SHE OAKS', MaxLength = 30; + SteiglitzLbl: Label 'STEIGLITZ', MaxLength = 30; + SutherlandsCreekLbl: Label 'SUTHERLANDS CREEK', MaxLength = 30; + LethbridgeLbl: Label 'LETHBRIDGE', MaxLength = 30; + MeredithLbl: Label 'MEREDITH', MaxLength = 30; + ElaineLbl: Label 'ELAINE', MaxLength = 30; + MorrisonsLbl: Label 'MORRISONS', MaxLength = 30; + RockbankLbl: Label 'ROCKBANK', MaxLength = 30; + KurunjangLbl: Label 'KURUNJANG', MaxLength = 30; + MeltonLbl: Label 'MELTON', MaxLength = 30; + ToolernValeLbl: Label 'TOOLERN VALE', MaxLength = 30; + BrookfieldLbl: Label 'BROOKFIELD', MaxLength = 30; + ExfordLbl: Label 'EXFORD', MaxLength = 30; + MeltonSouthLbl: Label 'MELTON SOUTH', MaxLength = 30; + BacchusMarshLbl: Label 'BACCHUS MARSH', MaxLength = 30; + BalliangLbl: Label 'BALLIANG', MaxLength = 30; + CoimadaiLbl: Label 'COIMADAI', MaxLength = 30; + GlenmoreLbl: Label 'GLENMORE', MaxLength = 30; + ParwanLbl: Label 'PARWAN', MaxLength = 30; + RowsleyLbl: Label 'ROWSLEY', MaxLength = 30; + KorobeitLbl: Label 'KOROBEIT', MaxLength = 30; + MyrniongLbl: Label 'MYRNIONG', MaxLength = 30; + BallanLbl: Label 'BALLAN', MaxLength = 30; + BerembokeLbl: Label 'BEREMBOKE', MaxLength = 30; + BlakevilleLbl: Label 'BLAKEVILLE', MaxLength = 30; + MountWallaceLbl: Label 'MOUNT WALLACE', MaxLength = 30; + AlfredtonLbl: Label 'ALFREDTON', MaxLength = 30; + BallaratLbl: Label 'BALLARAT', MaxLength = 30; + BallaratNorthLbl: Label 'BALLARAT NORTH', MaxLength = 30; + BallaratWestLbl: Label 'BALLARAT WEST', MaxLength = 30; + BrownHillLbl: Label 'BROWN HILL', MaxLength = 30; + CanadianLbl: Label 'CANADIAN', MaxLength = 30; + GoldenPointLbl: Label 'GOLDEN POINT', MaxLength = 30; + LakeWendoureeLbl: Label 'LAKE WENDOUREE', MaxLength = 30; + MountClearLbl: Label 'MOUNT CLEAR', MaxLength = 30; + MountHelenLbl: Label 'MOUNT HELEN', MaxLength = 30; + NerrinaLbl: Label 'NERRINA', MaxLength = 30; + RedanLbl: Label 'REDAN', MaxLength = 30; + SovereignHillLbl: Label 'SOVEREIGN HILL', MaxLength = 30; + BerringaLbl: Label 'BERRINGA', MaxLength = 30; + CapeClearLbl: Label 'CAPE CLEAR', MaxLength = 30; + CarnghamLbl: Label 'CARNGHAM', MaxLength = 30; + ChepstoweLbl: Label 'CHEPSTOWE', MaxLength = 30; + HaddonLbl: Label 'HADDON', MaxLength = 30; + HillcrestLbl: Label 'HILLCREST', MaxLength = 30; + IllabarookLbl: Label 'ILLABAROOK', MaxLength = 30; + LakeBolacLbl: Label 'LAKE BOLAC', MaxLength = 30; + MinineraLbl: Label 'MININERA', MaxLength = 30; + NerrinNerrinLbl: Label 'NERRIN NERRIN', MaxLength = 30; + RokewoodJunctionLbl: Label 'ROKEWOOD JUNCTION', MaxLength = 30; + RossCreekLbl: Label 'ROSS CREEK', MaxLength = 30; + ScarsdaleLbl: Label 'SCARSDALE', MaxLength = 30; + SmythesCreekLbl: Label 'SMYTHES CREEK', MaxLength = 30; + SmythesdaleLbl: Label 'SMYTHESDALE', MaxLength = 30; + SnakeValleyLbl: Label 'SNAKE VALLEY', MaxLength = 30; + StreathamLbl: Label 'STREATHAM', MaxLength = 30; + WestmereLbl: Label 'WESTMERE', MaxLength = 30; + AddingtonLbl: Label 'ADDINGTON', MaxLength = 30; + BarksteadLbl: Label 'BARKSTEAD', MaxLength = 30; + BlowhardLbl: Label 'BLOWHARD', MaxLength = 30; + BolwarrahLbl: Label 'BOLWARRAH', MaxLength = 30; + BullarookLbl: Label 'BULLAROOK', MaxLength = 30; + BungareeLbl: Label 'BUNGAREE', MaxLength = 30; + BurrumbeetLbl: Label 'BURRUMBEET', MaxLength = 30; + CambrianHillLbl: Label 'CAMBRIAN HILL', MaxLength = 30; + CardiganLbl: Label 'CARDIGAN', MaxLength = 30; + ClarkesHillLbl: Label 'CLARKES HILL', MaxLength = 30; + CorindhapLbl: Label 'CORINDHAP', MaxLength = 30; + DeanLbl: Label 'DEAN', MaxLength = 30; + DereelLbl: Label 'DEREEL', MaxLength = 30; + DunnstownLbl: Label 'DUNNSTOWN', MaxLength = 30; + DurhamLeadLbl: Label 'DURHAM LEAD', MaxLength = 30; + InvermayLbl: Label 'INVERMAY', MaxLength = 30; + LalLalLbl: Label 'LAL LAL', MaxLength = 30; + LearmonthLbl: Label 'LEARMONTH', MaxLength = 30; + LeighCreekLbl: Label 'LEIGH CREEK', MaxLength = 30; + LextonLbl: Label 'LEXTON', MaxLength = 30; + MagpieLbl: Label 'MAGPIE', MaxLength = 30; + MillbrookLbl: Label 'MILLBROOK', MaxLength = 30; + MinersRestLbl: Label 'MINERS REST', MaxLength = 30; + MitchellParkLbl: Label 'MITCHELL PARK', MaxLength = 30; + MollongghipLbl: Label 'MOLLONGGHIP', MaxLength = 30; + MountEgertonLbl: Label 'MOUNT EGERTON', MaxLength = 30; + MountRowanLbl: Label 'MOUNT ROWAN', MaxLength = 30; + NapoleonsLbl: Label 'NAPOLEONS', MaxLength = 30; + NavigatorsLbl: Label 'NAVIGATORS', MaxLength = 30; + PootillaLbl: Label 'POOTILLA', MaxLength = 30; + ScotsburnLbl: Label 'SCOTSBURN', MaxLength = 30; + SpringbankLbl: Label 'SPRINGBANK', MaxLength = 30; + WallaceLbl: Label 'WALLACE', MaxLength = 30; + WarrenheipLbl: Label 'WARRENHEIP', MaxLength = 30; + WaubraLbl: Label 'WAUBRA', MaxLength = 30; + WeatherboardLbl: Label 'WEATHERBOARD', MaxLength = 30; + WernethLbl: Label 'WERNETH', MaxLength = 30; + WindermereLbl: Label 'WINDERMERE', MaxLength = 30; + YendonLbl: Label 'YENDON', MaxLength = 30; + BakeryHillLbl: Label 'BAKERY HILL', MaxLength = 30; + BallaratMcLbl: Label 'BALLARAT MC', MaxLength = 30; + WendoureeLbl: Label 'WENDOUREE', MaxLength = 30; + WendoureeVillageLbl: Label 'WENDOUREE VILLAGE', MaxLength = 30; + DelacombeLbl: Label 'DELACOMBE', MaxLength = 30; + BuninyongLbl: Label 'BUNINYONG', MaxLength = 30; + LintonLbl: Label 'LINTON', MaxLength = 30; + CarranballacLbl: Label 'CARRANBALLAC', MaxLength = 30; + SkiptonLbl: Label 'SKIPTON', MaxLength = 30; + CreswickLbl: Label 'CRESWICK', MaxLength = 30; + AllendaleLbl: Label 'ALLENDALE', MaxLength = 30; + AscotLbl: Label 'ASCOT', MaxLength = 30; + BlampiedLbl: Label 'BLAMPIED', MaxLength = 30; + BroomfieldLbl: Label 'BROOMFIELD', MaxLength = 30; + CoghillsCreekLbl: Label 'COGHILLS CREEK', MaxLength = 30; + NewlynLbl: Label 'NEWLYN', MaxLength = 30; + RocklynLbl: Label 'ROCKLYN', MaxLength = 30; + SmeatonLbl: Label 'SMEATON', MaxLength = 30; + UllinaLbl: Label 'ULLINA', MaxLength = 30; + EvansfordLbl: Label 'EVANSFORD', MaxLength = 30; + StonyCreekLbl: Label 'STONY CREEK', MaxLength = 30; + TalbotLbl: Label 'TALBOT', MaxLength = 30; + BeaufortLbl: Label 'BEAUFORT', MaxLength = 30; + TrawallaLbl: Label 'TRAWALLA', MaxLength = 30; + BayindeenLbl: Label 'BAYINDEEN', MaxLength = 30; + BuangorLbl: Label 'BUANGOR', MaxLength = 30; + AraratLbl: Label 'ARARAT', MaxLength = 30; + CrowlandsLbl: Label 'CROWLANDS', MaxLength = 30; + GreatWesternLbl: Label 'GREAT WESTERN', MaxLength = 30; + MaroonaLbl: Label 'MAROONA', MaxLength = 30; + MoystonLbl: Label 'MOYSTON', MaxLength = 30; + WarrakLbl: Label 'WARRAK', MaxLength = 30; + TatyoonLbl: Label 'TATYOON', MaxLength = 30; + StavelyLbl: Label 'STAVELY', MaxLength = 30; + WickliffeLbl: Label 'WICKLIFFE', MaxLength = 30; + WillauraLbl: Label 'WILLAURA', MaxLength = 30; + StawellLbl: Label 'STAWELL', MaxLength = 30; + BarklyLbl: Label 'BARKLY', MaxLength = 30; + CampbellsBridgeLbl: Label 'CAMPBELLS BRIDGE', MaxLength = 30; + HallsGapLbl: Label 'HALLS GAP', MaxLength = 30; + LubeckLbl: Label 'LUBECK', MaxLength = 30; + PomonalLbl: Label 'POMONAL', MaxLength = 30; + LandsboroughLbl: Label 'LANDSBOROUGH', MaxLength = 30; + NavarreLbl: Label 'NAVARRE', MaxLength = 30; + DadswellsBridgeLbl: Label 'DADSWELLS BRIDGE', MaxLength = 30; + GlenorchyLbl: Label 'GLENORCHY', MaxLength = 30; + MarnooLbl: Label 'MARNOO', MaxLength = 30; + BanyenaLbl: Label 'BANYENA', MaxLength = 30; + RupanyupLbl: Label 'RUPANYUP', MaxLength = 30; + MurtoaLbl: Label 'MURTOA', MaxLength = 30; + BrimLbl: Label 'BRIM', MaxLength = 30; + MinyipLbl: Label 'MINYIP', MaxLength = 30; + SheepHillsLbl: Label 'SHEEP HILLS', MaxLength = 30; + WarracknabealLbl: Label 'WARRACKNABEAL', MaxLength = 30; + BeulahLbl: Label 'BEULAH', MaxLength = 30; + HopetounLbl: Label 'HOPETOUN', MaxLength = 30; + HorshamLbl: Label 'HORSHAM', MaxLength = 30; + DooenLbl: Label 'DOOEN', MaxLength = 30; + GymbowenLbl: Label 'GYMBOWEN', MaxLength = 30; + JungLbl: Label 'JUNG', MaxLength = 30; + KarnakLbl: Label 'KARNAK', MaxLength = 30; + QuantongLbl: Label 'QUANTONG', MaxLength = 30; + RiversideLbl: Label 'RIVERSIDE', MaxLength = 30; + RocklandsLbl: Label 'ROCKLANDS', MaxLength = 30; + TelangatukEastLbl: Label 'TELANGATUK EAST', MaxLength = 30; + ToolondoLbl: Label 'TOOLONDO', MaxLength = 30; + WallupLbl: Label 'WALLUP', MaxLength = 30; + GatumLbl: Label 'GATUM', MaxLength = 30; + VaseyLbl: Label 'VASEY', MaxLength = 30; + DouglasLbl: Label 'DOUGLAS', MaxLength = 30; + MitreLbl: Label 'MITRE', MaxLength = 30; + NatimukLbl: Label 'NATIMUK', MaxLength = 30; + NoradjuhaLbl: Label 'NORADJUHA', MaxLength = 30; + WombelanoLbl: Label 'WOMBELANO', MaxLength = 30; + GorokeLbl: Label 'GOROKE', MaxLength = 30; + MinimayLbl: Label 'MINIMAY', MaxLength = 30; + NeuarpurrLbl: Label 'NEUARPURR', MaxLength = 30; + OzenkadnookLbl: Label 'OZENKADNOOK', MaxLength = 30; + PeronneLbl: Label 'PERONNE', MaxLength = 30; + AntwerpLbl: Label 'ANTWERP', MaxLength = 30; + DimboolaLbl: Label 'DIMBOOLA', MaxLength = 30; + TarranyurkLbl: Label 'TARRANYURK', MaxLength = 30; + MiramLbl: Label 'MIRAM', MaxLength = 30; + GerangGerungLbl: Label 'GERANG GERUNG', MaxLength = 30; + KiataLbl: Label 'KIATA', MaxLength = 30; + LawloitLbl: Label 'LAWLOIT', MaxLength = 30; + NhillLbl: Label 'NHILL', MaxLength = 30; + YanacLbl: Label 'YANAC', MaxLength = 30; + KanivaLbl: Label 'KANIVA', MaxLength = 30; + LillimurLbl: Label 'LILLIMUR', MaxLength = 30; + ServicetonLbl: Label 'SERVICETON', MaxLength = 30; + JeparitLbl: Label 'JEPARIT', MaxLength = 30; + RainbowLbl: Label 'RAINBOW', MaxLength = 30; + YaapeetLbl: Label 'YAAPEET', MaxLength = 30; + DiggersRestLbl: Label 'DIGGERS REST', MaxLength = 30; + BullaLbl: Label 'BULLA', MaxLength = 30; + SunburyLbl: Label 'SUNBURY', MaxLength = 30; + ClarkefieldLbl: Label 'CLARKEFIELD', MaxLength = 30; + RiddellsCreekLbl: Label 'RIDDELLS CREEK', MaxLength = 30; + BolindaLbl: Label 'BOLINDA', MaxLength = 30; + KerrieLbl: Label 'KERRIE', MaxLength = 30; + RomseyLbl: Label 'ROMSEY', MaxLength = 30; + LancefieldLbl: Label 'LANCEFIELD', MaxLength = 30; + BullengarookLbl: Label 'BULLENGAROOK', MaxLength = 30; + GisborneLbl: Label 'GISBORNE', MaxLength = 30; + NewGisborneLbl: Label 'NEW GISBORNE', MaxLength = 30; + MacedonLbl: Label 'MACEDON', MaxLength = 30; + MountMacedonLbl: Label 'MOUNT MACEDON', MaxLength = 30; + AshbourneLbl: Label 'ASHBOURNE', MaxLength = 30; + CarlsruheLbl: Label 'CARLSRUHE', MaxLength = 30; + HesketLbl: Label 'HESKET', MaxLength = 30; + NewhamLbl: Label 'NEWHAM', MaxLength = 30; + RochfordLbl: Label 'ROCHFORD', MaxLength = 30; + WoodendLbl: Label 'WOODEND', MaxLength = 30; + KynetonLbl: Label 'KYNETON', MaxLength = 30; + MiaMiaLbl: Label 'MIA MIA', MaxLength = 30; + RedesdaleLbl: Label 'REDESDALE', MaxLength = 30; + TyldenLbl: Label 'TYLDEN', MaxLength = 30; + DrummondNorthLbl: Label 'DRUMMOND NORTH', MaxLength = 30; + MalmsburyLbl: Label 'MALMSBURY', MaxLength = 30; + TaradaleLbl: Label 'TARADALE', MaxLength = 30; + ElphinstoneLbl: Label 'ELPHINSTONE', MaxLength = 30; + MetcalfeLbl: Label 'METCALFE', MaxLength = 30; + SuttonGrangeLbl: Label 'SUTTON GRANGE', MaxLength = 30; + CastlemaineLbl: Label 'CASTLEMAINE', MaxLength = 30; + BarkersCreekLbl: Label 'BARKERS CREEK', MaxLength = 30; + CampbellsCreekLbl: Label 'CAMPBELLS CREEK', MaxLength = 30; + ChewtonLbl: Label 'CHEWTON', MaxLength = 30; + FryerstownLbl: Label 'FRYERSTOWN', MaxLength = 30; + MucklefordLbl: Label 'MUCKLEFORD', MaxLength = 30; + HarcourtLbl: Label 'HARCOURT', MaxLength = 30; + RavenswoodLbl: Label 'RAVENSWOOD', MaxLength = 30; + BlackwoodLbl: Label 'BLACKWOOD', MaxLength = 30; + FernHillLbl: Label 'FERN HILL', MaxLength = 30; + LerderdergLbl: Label 'LERDERDERG', MaxLength = 30; + NewburyLbl: Label 'NEWBURY', MaxLength = 30; + TrenthamLbl: Label 'TRENTHAM', MaxLength = 30; + DaylesfordLbl: Label 'DAYLESFORD', MaxLength = 30; + BullartoLbl: Label 'BULLARTO', MaxLength = 30; + DrummondLbl: Label 'DRUMMOND', MaxLength = 30; + FranklinfordLbl: Label 'FRANKLINFORD', MaxLength = 30; + GlenlyonLbl: Label 'GLENLYON', MaxLength = 30; + HepburnSpringsLbl: Label 'HEPBURN SPRINGS', MaxLength = 30; + KorweingubooraLbl: Label 'KORWEINGUBOORA', MaxLength = 30; + LyonvilleLbl: Label 'LYONVILLE', MaxLength = 30; + MuskLbl: Label 'MUSK', MaxLength = 30; + YandoitLbl: Label 'YANDOIT', MaxLength = 30; + MucklefordSouthLbl: Label 'MUCKLEFORD SOUTH', MaxLength = 30; + BaringhupLbl: Label 'BARINGHUP', MaxLength = 30; + LaanecoorieLbl: Label 'LAANECOORIE', MaxLength = 30; + MaldonLbl: Label 'MALDON', MaxLength = 30; + ShelbourneLbl: Label 'SHELBOURNE', MaxLength = 30; + WoodstockWestLbl: Label 'WOODSTOCK WEST', MaxLength = 30; + CarisbrookLbl: Label 'CARISBROOK', MaxLength = 30; + AlmaLbl: Label 'ALMA', MaxLength = 30; + DaisyHillLbl: Label 'DAISY HILL', MaxLength = 30; + MajorcaLbl: Label 'MAJORCA', MaxLength = 30; + MaryboroughLbl: Label 'MARYBOROUGH', MaxLength = 30; + NatteYallockLbl: Label 'NATTE YALLOCK', MaxLength = 30; + RathscarLbl: Label 'RATHSCAR', MaxLength = 30; + SimsonLbl: Label 'SIMSON', MaxLength = 30; + WareekLbl: Label 'WAREEK', MaxLength = 30; + AmphitheatreLbl: Label 'AMPHITHEATRE', MaxLength = 30; + MountLonarchLbl: Label 'MOUNT LONARCH', MaxLength = 30; + ElmhurstLbl: Label 'ELMHURST', MaxLength = 30; + BetBetLbl: Label 'BET BET', MaxLength = 30; + BetleyLbl: Label 'BETLEY', MaxLength = 30; + DunollyLbl: Label 'DUNOLLY', MaxLength = 30; + EddingtonLbl: Label 'EDDINGTON', MaxLength = 30; + GoldsboroughLbl: Label 'GOLDSBOROUGH', MaxLength = 30; + InkermanLbl: Label 'INKERMAN', MaxLength = 30; + MoliagulLbl: Label 'MOLIAGUL', MaxLength = 30; + BealibaLbl: Label 'BEALIBA', MaxLength = 30; + EmuLbl: Label 'EMU', MaxLength = 30; + LoganLbl: Label 'LOGAN', MaxLength = 30; + MoonambelLbl: Label 'MOONAMBEL', MaxLength = 30; + RedbankLbl: Label 'REDBANK', MaxLength = 30; + StArnaudLbl: Label 'ST ARNAUD', MaxLength = 30; + StuartMillLbl: Label 'STUART MILL', MaxLength = 30; + AreegraLbl: Label 'AREEGRA', MaxLength = 30; + CorackLbl: Label 'CORACK', MaxLength = 30; + DonaldLbl: Label 'DONALD', MaxLength = 30; + LitchfieldLbl: Label 'LITCHFIELD', MaxLength = 30; + WatchemLbl: Label 'WATCHEM', MaxLength = 30; + BirchipLbl: Label 'BIRCHIP', MaxLength = 30; + WatchupgaLbl: Label 'WATCHUPGA', MaxLength = 30; + WoomelangLbl: Label 'WOOMELANG', MaxLength = 30; + LascellesLbl: Label 'LASCELLES', MaxLength = 30; + SpeedLbl: Label 'SPEED', MaxLength = 30; + TempyLbl: Label 'TEMPY', MaxLength = 30; + OuyenLbl: Label 'OUYEN', MaxLength = 30; + PatchewollockLbl: Label 'PATCHEWOLLOCK', MaxLength = 30; + CarwarpLbl: Label 'CARWARP', MaxLength = 30; + ColignanLbl: Label 'COLIGNAN', MaxLength = 30; + NangilocLbl: Label 'NANGILOC', MaxLength = 30; + CardrossLbl: Label 'CARDROSS', MaxLength = 30; + CullulleraineLbl: Label 'CULLULLERAINE', MaxLength = 30; + MeringurLbl: Label 'MERINGUR', MaxLength = 30; + RedCliffsLbl: Label 'RED CLIFFS', MaxLength = 30; + SunnycliffsLbl: Label 'SUNNYCLIFFS', MaxLength = 30; + WerrimullLbl: Label 'WERRIMULL', MaxLength = 30; + IrympleLbl: Label 'IRYMPLE', MaxLength = 30; + MilduraLbl: Label 'MILDURA', MaxLength = 30; + ParingiLbl: Label 'PARINGI', MaxLength = 30; + KoorlongLbl: Label 'KOORLONG', MaxLength = 30; + MilduraCentrePlazaLbl: Label 'MILDURA CENTRE PLAZA', MaxLength = 30; + NicholsPointLbl: Label 'NICHOLS POINT', MaxLength = 30; + MerbeinLbl: Label 'MERBEIN', MaxLength = 30; + CowangieLbl: Label 'COWANGIE', MaxLength = 30; + WalpeupLbl: Label 'WALPEUP', MaxLength = 30; + UnderboolLbl: Label 'UNDERBOOL', MaxLength = 30; + MurrayvilleLbl: Label 'MURRAYVILLE', MaxLength = 30; + MarongLbl: Label 'MARONG', MaxLength = 30; + BridgewaterOnLoddonLbl: Label 'BRIDGEWATER ON LODDON', MaxLength = 30; + DerbyLbl: Label 'DERBY', MaxLength = 30; + LeichardtLbl: Label 'LEICHARDT', MaxLength = 30; + InglewoodLbl: Label 'INGLEWOOD', MaxLength = 30; + JarklinLbl: Label 'JARKLIN', MaxLength = 30; + SalisburyWestLbl: Label 'SALISBURY WEST', MaxLength = 30; + SerpentineLbl: Label 'SERPENTINE', MaxLength = 30; + BerrimalLbl: Label 'BERRIMAL', MaxLength = 30; + BorungLbl: Label 'BORUNG', MaxLength = 30; + FernihurstLbl: Label 'FERNIHURST', MaxLength = 30; + MysiaLbl: Label 'MYSIA', MaxLength = 30; + SkinnersFlatLbl: Label 'SKINNERS FLAT', MaxLength = 30; + WoolshedFlatLbl: Label 'WOOLSHED FLAT', MaxLength = 30; + KorongValeLbl: Label 'KORONG VALE', MaxLength = 30; + PyalongLbl: Label 'PYALONG', MaxLength = 30; + TooboracLbl: Label 'TOOBORAC', MaxLength = 30; + CosterfieldLbl: Label 'COSTERFIELD', MaxLength = 30; + KnowsleyLbl: Label 'KNOWSLEY', MaxLength = 30; + CharltonLbl: Label 'CHARLTON', MaxLength = 30; + WychitellaLbl: Label 'WYCHITELLA', MaxLength = 30; + WycheproofLbl: Label 'WYCHEPROOF', MaxLength = 30; + NullawilLbl: Label 'NULLAWIL', MaxLength = 30; + CulgoaLbl: Label 'CULGOA', MaxLength = 30; + BerriwillockLbl: Label 'BERRIWILLOCK', MaxLength = 30; + NandalyLbl: Label 'NANDALY', MaxLength = 30; + SeaLakeLbl: Label 'SEA LAKE', MaxLength = 30; + BoortLbl: Label 'BOORT', MaxLength = 30; + CanaryIslandLbl: Label 'CANARY ISLAND', MaxLength = 30; + GredgwinLbl: Label 'GREDGWIN', MaxLength = 30; + CannieLbl: Label 'CANNIE', MaxLength = 30; + QuambatookLbl: Label 'QUAMBATOOK', MaxLength = 30; + LalbertLbl: Label 'LALBERT', MaxLength = 30; + UltimaLbl: Label 'ULTIMA', MaxLength = 30; + WaitchieLbl: Label 'WAITCHIE', MaxLength = 30; + BoltonLbl: Label 'BOLTON', MaxLength = 30; + ChinkapookLbl: Label 'CHINKAPOOK', MaxLength = 30; + ManangatangLbl: Label 'MANANGATANG', MaxLength = 30; + RobinvaleLbl: Label 'ROBINVALE', MaxLength = 30; + BendigoLbl: Label 'BENDIGO', MaxLength = 30; + KenningtonLbl: Label 'KENNINGTON', MaxLength = 30; + LongGullyLbl: Label 'LONG GULLY', MaxLength = 30; + NorthBendigoLbl: Label 'NORTH BENDIGO', MaxLength = 30; + QuarryHillLbl: Label 'QUARRY HILL', MaxLength = 30; + SandhurstEastLbl: Label 'SANDHURST EAST', MaxLength = 30; + SpringGullyLbl: Label 'SPRING GULLY', MaxLength = 30; + StrathdaleLbl: Label 'STRATHDALE', MaxLength = 30; + TysonsReefLbl: Label 'TYSONS REEF', MaxLength = 30; + WhiteHillsLbl: Label 'WHITE HILLS', MaxLength = 30; + ArnoldLbl: Label 'ARNOLD', MaxLength = 30; + AxedaleLbl: Label 'AXEDALE', MaxLength = 30; + EppalockLbl: Label 'EPPALOCK', MaxLength = 30; + EpsomLbl: Label 'EPSOM', MaxLength = 30; + HuntlyLbl: Label 'HUNTLY', MaxLength = 30; + JunortounLbl: Label 'JUNORTOUN', MaxLength = 30; + LlanellyLbl: Label 'LLANELLY', MaxLength = 30; + LockwoodSouthLbl: Label 'LOCKWOOD SOUTH', MaxLength = 30; + LongleaLbl: Label 'LONGLEA', MaxLength = 30; + MaidenGullyLbl: Label 'MAIDEN GULLY', MaxLength = 30; + MandurangLbl: Label 'MANDURANG', MaxLength = 30; + MandurangSouthLbl: Label 'MANDURANG SOUTH', MaxLength = 30; + MurphysCreekLbl: Label 'MURPHYS CREEK', MaxLength = 30; + PainswickLbl: Label 'PAINSWICK', MaxLength = 30; + StrathfieldsayeLbl: Label 'STRATHFIELDSAYE', MaxLength = 30; + TarnagullaLbl: Label 'TARNAGULLA', MaxLength = 30; + ToolleenLbl: Label 'TOOLLEEN', MaxLength = 30; + WoodstockOnLoddonLbl: Label 'WOODSTOCK ON LODDON', MaxLength = 30; + BendigoDcLbl: Label 'BENDIGO DC', MaxLength = 30; + GoldenSquareLbl: Label 'GOLDEN SQUARE', MaxLength = 30; + KangarooFlatLbl: Label 'KANGAROO FLAT', MaxLength = 30; + CaliforniaGullyLbl: Label 'CALIFORNIA GULLY', MaxLength = 30; + CampbellsForestLbl: Label 'CAMPBELLS FOREST', MaxLength = 30; + EaglehawkLbl: Label 'EAGLEHAWK', MaxLength = 30; + MyersFlatLbl: Label 'MYERS FLAT', MaxLength = 30; + SebastianLbl: Label 'SEBASTIAN', MaxLength = 30; + BarnadownLbl: Label 'BARNADOWN', MaxLength = 30; + FostervilleLbl: Label 'FOSTERVILLE', MaxLength = 30; + GoornongLbl: Label 'GOORNONG', MaxLength = 30; + ElmoreLbl: Label 'ELMORE', MaxLength = 30; + HunterLbl: Label 'HUNTER', MaxLength = 30; + ColbinabbinLbl: Label 'COLBINABBIN', MaxLength = 30; + CoropLbl: Label 'COROP', MaxLength = 30; + BamawmLbl: Label 'BAMAWM', MaxLength = 30; + NanneellaLbl: Label 'NANNEELLA', MaxLength = 30; + RochesterLbl: Label 'ROCHESTER', MaxLength = 30; + TorrumbarryLbl: Label 'TORRUMBARRY', MaxLength = 30; + LockingtonLbl: Label 'LOCKINGTON', MaxLength = 30; + EchucaLbl: Label 'ECHUCA', MaxLength = 30; + KanyapellaLbl: Label 'KANYAPELLA', MaxLength = 30; + PathoLbl: Label 'PATHO', MaxLength = 30; + SimmieLbl: Label 'SIMMIE', MaxLength = 30; + KottaLbl: Label 'KOTTA', MaxLength = 30; + GunbowerLbl: Label 'GUNBOWER', MaxLength = 30; + LeitchvilleLbl: Label 'LEITCHVILLE', MaxLength = 30; + CohunaLbl: Label 'COHUNA', MaxLength = 30; + AuchmoreLbl: Label 'AUCHMORE', MaxLength = 30; + RaywoodLbl: Label 'RAYWOOD', MaxLength = 30; + DingeeLbl: Label 'DINGEE', MaxLength = 30; + KamarookaNorthLbl: Label 'KAMAROOKA NORTH', MaxLength = 30; + TandarraLbl: Label 'TANDARRA', MaxLength = 30; + MillooLbl: Label 'MILLOO', MaxLength = 30; + PiavellaLbl: Label 'PIAVELLA', MaxLength = 30; + PrairieLbl: Label 'PRAIRIE', MaxLength = 30; + CalivilLbl: Label 'CALIVIL', MaxLength = 30; + MitiamoLbl: Label 'MITIAMO', MaxLength = 30; + MinchaLbl: Label 'MINCHA', MaxLength = 30; + PyramidHillLbl: Label 'PYRAMID HILL', MaxLength = 30; + YarrawallaLbl: Label 'YARRAWALLA', MaxLength = 30; + DurhamOxLbl: Label 'DURHAM OX', MaxLength = 30; + KerangLbl: Label 'KERANG', MaxLength = 30; + MacornaLbl: Label 'MACORNA', MaxLength = 30; + MeeringWestLbl: Label 'MEERING WEST', MaxLength = 30; + MurrabitLbl: Label 'MURRABIT', MaxLength = 30; + KoondrookLbl: Label 'KOONDROOK', MaxLength = 30; + LakeCharmLbl: Label 'LAKE CHARM', MaxLength = 30; + TrescoLbl: Label 'TRESCO', MaxLength = 30; + LakeBogaLbl: Label 'LAKE BOGA', MaxLength = 30; + SwanHillLbl: Label 'SWAN HILL', MaxLength = 30; + WoorinenSouthLbl: Label 'WOORINEN SOUTH', MaxLength = 30; + WoorinenLbl: Label 'WOORINEN', MaxLength = 30; + BeverfordLbl: Label 'BEVERFORD', MaxLength = 30; + ViniferaLbl: Label 'VINIFERA', MaxLength = 30; + NyahLbl: Label 'NYAH', MaxLength = 30; + NyahWestLbl: Label 'NYAH WEST', MaxLength = 30; + WoodWoodLbl: Label 'WOOD WOOD', MaxLength = 30; + PiangilLbl: Label 'PIANGIL', MaxLength = 30; + BoundaryBendLbl: Label 'BOUNDARY BEND', MaxLength = 30; + TabilkLbl: Label 'TABILK', MaxLength = 30; + BailiestonLbl: Label 'BAILIESTON', MaxLength = 30; + GoulburnWeirLbl: Label 'GOULBURN WEIR', MaxLength = 30; + GraytownLbl: Label 'GRAYTOWN', MaxLength = 30; + NagambieLbl: Label 'NAGAMBIE', MaxLength = 30; + WahringLbl: Label 'WAHRING', MaxLength = 30; + DhurringileLbl: Label 'DHURRINGILE', MaxLength = 30; + MurchisonLbl: Label 'MURCHISON', MaxLength = 30; + MooraLbl: Label 'MOORA', MaxLength = 30; + RushworthLbl: Label 'RUSHWORTH', MaxLength = 30; + WanaltaLbl: Label 'WANALTA', MaxLength = 30; + ToolambaLbl: Label 'TOOLAMBA', MaxLength = 30; + GilliestonLbl: Label 'GILLIESTON', MaxLength = 30; + HarstonLbl: Label 'HARSTON', MaxLength = 30; + TaturaLbl: Label 'TATURA', MaxLength = 30; + ByrnesideLbl: Label 'BYRNESIDE', MaxLength = 30; + MerrigumLbl: Label 'MERRIGUM', MaxLength = 30; + KyabramLbl: Label 'KYABRAM', MaxLength = 30; + KyabramSouthLbl: Label 'KYABRAM SOUTH', MaxLength = 30; + LancasterLbl: Label 'LANCASTER', MaxLength = 30; + WyunaLbl: Label 'WYUNA', MaxLength = 30; + KoyugaSouthLbl: Label 'KOYUGA SOUTH', MaxLength = 30; + TongalaLbl: Label 'TONGALA', MaxLength = 30; + YambunaLbl: Label 'YAMBUNA', MaxLength = 30; + KoyugaLbl: Label 'KOYUGA', MaxLength = 30; + StrathallanLbl: Label 'STRATHALLAN', MaxLength = 30; + GirgarreLbl: Label 'GIRGARRE', MaxLength = 30; + ArdmonaLbl: Label 'ARDMONA', MaxLength = 30; + CoomboonaLbl: Label 'COOMBOONA', MaxLength = 30; + MooroopnaLbl: Label 'MOOROOPNA', MaxLength = 30; + UnderaLbl: Label 'UNDERA', MaxLength = 30; + BrandittLbl: Label 'BRANDITT', MaxLength = 30; + CaniamboLbl: Label 'CANIAMBO', MaxLength = 30; + ColliverLbl: Label 'COLLIVER', MaxLength = 30; + DunkirkLbl: Label 'DUNKIRK', MaxLength = 30; + SheppartonLbl: Label 'SHEPPARTON', MaxLength = 30; + CosgroveLbl: Label 'COSGROVE', MaxLength = 30; + KiallaEastLbl: Label 'KIALLA EAST', MaxLength = 30; + KiallaWestLbl: Label 'KIALLA WEST', MaxLength = 30; + LemnosLbl: Label 'LEMNOS', MaxLength = 30; + PineLodgeLbl: Label 'PINE LODGE', MaxLength = 30; + SheppartonEastLbl: Label 'SHEPPARTON EAST', MaxLength = 30; + TamleughWestLbl: Label 'TAMLEUGH WEST', MaxLength = 30; + CongupnaLbl: Label 'CONGUPNA', MaxLength = 30; + BunbarthaLbl: Label 'BUNBARTHA', MaxLength = 30; + InvergordonSouthLbl: Label 'INVERGORDON SOUTH', MaxLength = 30; + KatandraLbl: Label 'KATANDRA', MaxLength = 30; + MarungiLbl: Label 'MARUNGI', MaxLength = 30; + TallygaroopnaLbl: Label 'TALLYGAROOPNA', MaxLength = 30; + WunghnuLbl: Label 'WUNGHNU', MaxLength = 30; + InvergordonLbl: Label 'INVERGORDON', MaxLength = 30; + NumurkahLbl: Label 'NUMURKAH', MaxLength = 30; + WaaiaLbl: Label 'WAAIA', MaxLength = 30; + KotupnaLbl: Label 'KOTUPNA', MaxLength = 30; + NathaliaLbl: Label 'NATHALIA', MaxLength = 30; + BarmahLbl: Label 'BARMAH', MaxLength = 30; + PicolaLbl: Label 'PICOLA', MaxLength = 30; + KatungaLbl: Label 'KATUNGA', MaxLength = 30; + StrathmertonLbl: Label 'STRATHMERTON', MaxLength = 30; + CobramLbl: Label 'COBRAM', MaxLength = 30; + BaroogaLbl: Label 'BAROOGA', MaxLength = 30; + YarroweyahLbl: Label 'YARROWEYAH', MaxLength = 30; + DookieLbl: Label 'DOOKIE', MaxLength = 30; + YabbaNorthLbl: Label 'YABBA NORTH', MaxLength = 30; + YouanmiteLbl: Label 'YOUANMITE', MaxLength = 30; + DookieCollegeLbl: Label 'DOOKIE COLLEGE', MaxLength = 30; + KatamatiteLbl: Label 'KATAMATITE', MaxLength = 30; + BroadfordLbl: Label 'BROADFORD', MaxLength = 30; + ClonbinaneLbl: Label 'CLONBINANE', MaxLength = 30; + HazeldeneLbl: Label 'HAZELDENE', MaxLength = 30; + StrathCreekLbl: Label 'STRATH CREEK', MaxLength = 30; + TallarookLbl: Label 'TALLAROOK', MaxLength = 30; + KerrisdaleLbl: Label 'KERRISDALE', MaxLength = 30; + SeymourLbl: Label 'SEYMOUR', MaxLength = 30; + TrawoolLbl: Label 'TRAWOOL', MaxLength = 30; + PuckapunyalMilpoLbl: Label 'PUCKAPUNYAL MILPO', MaxLength = 30; + MangaloreLbl: Label 'MANGALORE', MaxLength = 30; + AvenelLbl: Label 'AVENEL', MaxLength = 30; + LongwoodLbl: Label 'LONGWOOD', MaxLength = 30; + BalmattumLbl: Label 'BALMATTUM', MaxLength = 30; + CreightonLbl: Label 'CREIGHTON', MaxLength = 30; + EuroaLbl: Label 'EUROA', MaxLength = 30; + GooramLbl: Label 'GOORAM', MaxLength = 30; + KithbrookLbl: Label 'KITHBROOK', MaxLength = 30; + RuffyLbl: Label 'RUFFY', MaxLength = 30; + StrathbogieLbl: Label 'STRATHBOGIE', MaxLength = 30; + BohoSouthLbl: Label 'BOHO SOUTH', MaxLength = 30; + CreekJunctionLbl: Label 'CREEK JUNCTION', MaxLength = 30; + GowangardieLbl: Label 'GOWANGARDIE', MaxLength = 30; + KoondaLbl: Label 'KOONDA', MaxLength = 30; + TamleughLbl: Label 'TAMLEUGH', MaxLength = 30; + VioletTownLbl: Label 'VIOLET TOWN', MaxLength = 30; + BaddaginnieLbl: Label 'BADDAGINNIE', MaxLength = 30; + WarrenbayneLbl: Label 'WARRENBAYNE', MaxLength = 30; + BenallaLbl: Label 'BENALLA', MaxLength = 30; + LimaLbl: Label 'LIMA', MaxLength = 30; + MolyullahLbl: Label 'MOLYULLAH', MaxLength = 30; + SwanpoolLbl: Label 'SWANPOOL', MaxLength = 30; + TatongLbl: Label 'TATONG', MaxLength = 30; + WintonLbl: Label 'WINTON', MaxLength = 30; + GlenrowanLbl: Label 'GLENROWAN', MaxLength = 30; + HansonvilleLbl: Label 'HANSONVILLE', MaxLength = 30; + WangarattaLbl: Label 'WANGARATTA', MaxLength = 30; + AppinParkLbl: Label 'APPIN PARK', MaxLength = 30; + BoorhamanLbl: Label 'BOORHAMAN', MaxLength = 30; + CheshuntLbl: Label 'CHESHUNT', MaxLength = 30; + EvertonLbl: Label 'EVERTON', MaxLength = 30; + MilawaLbl: Label 'MILAWA', MaxLength = 30; + LilliputLbl: Label 'LILLIPUT', MaxLength = 30; + NorongLbl: Label 'NORONG', MaxLength = 30; + SpringhurstLbl: Label 'SPRINGHURST', MaxLength = 30; + ChilternLbl: Label 'CHILTERN', MaxLength = 30; + BoorhamanNorthLbl: Label 'BOORHAMAN NORTH', MaxLength = 30; + BrownsPlainsLbl: Label 'BROWNS PLAINS', MaxLength = 30; + GooramaddaLbl: Label 'GOORAMADDA', MaxLength = 30; + PrenticeNorthLbl: Label 'PRENTICE NORTH', MaxLength = 30; + RutherglenLbl: Label 'RUTHERGLEN', MaxLength = 30; + WahgunyahLbl: Label 'WAHGUNYAH', MaxLength = 30; + BarnawarthaLbl: Label 'BARNAWARTHA', MaxLength = 30; + WodongaLbl: Label 'WODONGA', MaxLength = 30; + WodongaPlazaLbl: Label 'WODONGA PLAZA', MaxLength = 30; + AllansFlatLbl: Label 'ALLANS FLAT', MaxLength = 30; + BarandudaLbl: Label 'BARANDUDA', MaxLength = 30; + BellbridgeLbl: Label 'BELLBRIDGE', MaxLength = 30; + BerringamaLbl: Label 'BERRINGAMA', MaxLength = 30; + BethangaLbl: Label 'BETHANGA', MaxLength = 30; + BonegillaLbl: Label 'BONEGILLA', MaxLength = 30; + DederangLbl: Label 'DEDERANG', MaxLength = 30; + EbdenLbl: Label 'EBDEN', MaxLength = 30; + GlenCreekLbl: Label 'GLEN CREEK', MaxLength = 30; + GundowringLbl: Label 'GUNDOWRING', MaxLength = 30; + HumeWeirLbl: Label 'HUME WEIR', MaxLength = 30; + KergunyahLbl: Label 'KERGUNYAH', MaxLength = 30; + KiewaLbl: Label 'KIEWA', MaxLength = 30; + LenevaLbl: Label 'LENEVA', MaxLength = 30; + LonePineLbl: Label 'LONE PINE', MaxLength = 30; + LucyvaleLbl: Label 'LUCYVALE', MaxLength = 30; + StaghornFlatLbl: Label 'STAGHORN FLAT', MaxLength = 30; + TalgarnoLbl: Label 'TALGARNO', MaxLength = 30; + TangambalangaLbl: Label 'TANGAMBALANGA', MaxLength = 30; + BandianaMilpoLbl: Label 'BANDIANA MILPO', MaxLength = 30; + CharleroiLbl: Label 'CHARLEROI', MaxLength = 30; + HuonLbl: Label 'HUON', MaxLength = 30; + RedBluffLbl: Label 'RED BLUFF', MaxLength = 30; + SandyCreekLbl: Label 'SANDY CREEK', MaxLength = 30; + TawongaLbl: Label 'TAWONGA', MaxLength = 30; + TawongaSouthLbl: Label 'TAWONGA SOUTH', MaxLength = 30; + BogongLbl: Label 'BOGONG', MaxLength = 30; + MountBeautyLbl: Label 'MOUNT BEAUTY', MaxLength = 30; + TallangattaLbl: Label 'TALLANGATTA', MaxLength = 30; + DartmouthLbl: Label 'DARTMOUTH', MaxLength = 30; + EskdaleLbl: Label 'ESKDALE', MaxLength = 30; + GranyaLbl: Label 'GRANYA', MaxLength = 30; + MittaMittaLbl: Label 'MITTA MITTA', MaxLength = 30; + ShelleyLbl: Label 'SHELLEY', MaxLength = 30; + KoetongLbl: Label 'KOETONG', MaxLength = 30; + CudgewaLbl: Label 'CUDGEWA', MaxLength = 30; + BiggaraLbl: Label 'BIGGARA', MaxLength = 30; + BringenbrongLbl: Label 'BRINGENBRONG', MaxLength = 30; + ColacColacLbl: Label 'COLAC COLAC', MaxLength = 30; + CorryongLbl: Label 'CORRYONG', MaxLength = 30; + NarielValleyLbl: Label 'NARIEL VALLEY', MaxLength = 30; + ThowglaValleyLbl: Label 'THOWGLA VALLEY', MaxLength = 30; + TowongLbl: Label 'TOWONG', MaxLength = 30; + TintaldraLbl: Label 'TINTALDRA', MaxLength = 30; + BurrowyeLbl: Label 'BURROWYE', MaxLength = 30; + GuysForestLbl: Label 'GUYS FOREST', MaxLength = 30; + MountAlfredLbl: Label 'MOUNT ALFRED', MaxLength = 30; + WalwaLbl: Label 'WALWA', MaxLength = 30; + RubiconLbl: Label 'RUBICON', MaxLength = 30; + EildonLbl: Label 'EILDON', MaxLength = 30; + AcheronLbl: Label 'ACHERON', MaxLength = 30; + AlexandraLbl: Label 'ALEXANDRA', MaxLength = 30; + CathkinLbl: Label 'CATHKIN', MaxLength = 30; + KoriellaLbl: Label 'KORIELLA', MaxLength = 30; + TaggertyLbl: Label 'TAGGERTY', MaxLength = 30; + AnconaLbl: Label 'ANCONA', MaxLength = 30; + MertonLbl: Label 'MERTON', MaxLength = 30; + WoodfieldLbl: Label 'WOODFIELD', MaxLength = 30; + FlowerdaleLbl: Label 'FLOWERDALE', MaxLength = 30; + GlenburnLbl: Label 'GLENBURN', MaxLength = 30; + HomewoodLbl: Label 'HOMEWOOD', MaxLength = 30; + MurrindindiLbl: Label 'MURRINDINDI', MaxLength = 30; + YeaLbl: Label 'YEA', MaxLength = 30; + MolesworthLbl: Label 'MOLESWORTH', MaxLength = 30; + GoburLbl: Label 'GOBUR', MaxLength = 30; + KanumbraLbl: Label 'KANUMBRA', MaxLength = 30; + YarckLbl: Label 'YARCK', MaxLength = 30; + BonnieDoonLbl: Label 'BONNIE DOON', MaxLength = 30; + MansfieldLbl: Label 'MANSFIELD', MaxLength = 30; + MirimbahLbl: Label 'MIRIMBAH', MaxLength = 30; + GoughsBayLbl: Label 'GOUGHS BAY', MaxLength = 30; + JamiesonLbl: Label 'JAMIESON', MaxLength = 30; + MatlockLbl: Label 'MATLOCK', MaxLength = 30; + MerrijigLbl: Label 'MERRIJIG', MaxLength = 30; + MountBullerLbl: Label 'MOUNT BULLER', MaxLength = 30; + WoodsPointLbl: Label 'WOODS POINT', MaxLength = 30; + BoxwoodLbl: Label 'BOXWOOD', MaxLength = 30; + GoorambatLbl: Label 'GOORAMBAT', MaxLength = 30; + BungeetLbl: Label 'BUNGEET', MaxLength = 30; + DevenishLbl: Label 'DEVENISH', MaxLength = 30; + ThoonaLbl: Label 'THOONA', MaxLength = 30; + LakeRowanLbl: Label 'LAKE ROWAN', MaxLength = 30; + StJamesLbl: Label 'ST JAMES', MaxLength = 30; + YundoolLbl: Label 'YUNDOOL', MaxLength = 30; + TungamahLbl: Label 'TUNGAMAH', MaxLength = 30; + WilbyLbl: Label 'WILBY', MaxLength = 30; + BundalongLbl: Label 'BUNDALONG', MaxLength = 30; + TelfordLbl: Label 'TELFORD', MaxLength = 30; + MoyhuLbl: Label 'MOYHU', MaxLength = 30; + WhitfieldLbl: Label 'WHITFIELD', MaxLength = 30; + BowmansForestLbl: Label 'BOWMANS FOREST', MaxLength = 30; + WhoroulyLbl: Label 'WHOROULY', MaxLength = 30; + MyrtlefordLbl: Label 'MYRTLEFORD', MaxLength = 30; + BuffaloRiverLbl: Label 'BUFFALO RIVER', MaxLength = 30; + DandongadaleLbl: Label 'DANDONGADALE', MaxLength = 30; + GapstedLbl: Label 'GAPSTED', MaxLength = 30; + MudgegongaLbl: Label 'MUDGEGONGA', MaxLength = 30; + OvensLbl: Label 'OVENS', MaxLength = 30; + EurobinLbl: Label 'EUROBIN', MaxLength = 30; + MountBuffaloLbl: Label 'MOUNT BUFFALO', MaxLength = 30; + PorepunkahLbl: Label 'POREPUNKAH', MaxLength = 30; + BrightLbl: Label 'BRIGHT', MaxLength = 30; + FreeburghLbl: Label 'FREEBURGH', MaxLength = 30; + HarrietvilleLbl: Label 'HARRIETVILLE', MaxLength = 30; + HothamHeightsLbl: Label 'HOTHAM HEIGHTS', MaxLength = 30; + MountHothamLbl: Label 'MOUNT HOTHAM', MaxLength = 30; + WandiligongLbl: Label 'WANDILIGONG', MaxLength = 30; + EldoradoLbl: Label 'ELDORADO', MaxLength = 30; + BaarmuthaLbl: Label 'BAARMUTHA', MaxLength = 30; + BeechworthLbl: Label 'BEECHWORTH', MaxLength = 30; + MurmungeeLbl: Label 'MURMUNGEE', MaxLength = 30; + StanleyLbl: Label 'STANLEY', MaxLength = 30; + WoorageeLbl: Label 'WOORAGEE', MaxLength = 30; + YackandandahLbl: Label 'YACKANDANDAH', MaxLength = 30; + WollertLbl: Label 'WOLLERT', MaxLength = 30; + SouthMorangLbl: Label 'SOUTH MORANG', MaxLength = 30; + BeveridgeLbl: Label 'BEVERIDGE', MaxLength = 30; + DoreenLbl: Label 'DOREEN', MaxLength = 30; + MerndaLbl: Label 'MERNDA', MaxLength = 30; + YanYeanLbl: Label 'YAN YEAN', MaxLength = 30; + DarraweitGuimLbl: Label 'DARRAWEIT GUIM', MaxLength = 30; + HiddenValleyLbl: Label 'HIDDEN VALLEY', MaxLength = 30; + UpperPlentyLbl: Label 'UPPER PLENTY', MaxLength = 30; + WallanLbl: Label 'WALLAN', MaxLength = 30; + EdenParkLbl: Label 'EDEN PARK', MaxLength = 30; + HumevaleLbl: Label 'HUMEVALE', MaxLength = 30; + KinglakeWestLbl: Label 'KINGLAKE WEST', MaxLength = 30; + PheasantCreekLbl: Label 'PHEASANT CREEK', MaxLength = 30; + WhittleseaLbl: Label 'WHITTLESEA', MaxLength = 30; + HeathcoteJunctionLbl: Label 'HEATHCOTE JUNCTION', MaxLength = 30; + WandongLbl: Label 'WANDONG', MaxLength = 30; + PantonHillLbl: Label 'PANTON HILL', MaxLength = 30; + SmithsGullyLbl: Label 'SMITHS GULLY', MaxLength = 30; + BylandsLbl: Label 'BYLANDS', MaxLength = 30; + KinglakeLbl: Label 'KINGLAKE', MaxLength = 30; + KilmoreLbl: Label 'KILMORE', MaxLength = 30; + MontroseLbl: Label 'MONTROSE', MaxLength = 30; + KaloramaLbl: Label 'KALORAMA', MaxLength = 30; + MountDandenongLbl: Label 'MOUNT DANDENONG', MaxLength = 30; + ColdstreamLbl: Label 'COLDSTREAM', MaxLength = 30; + GruyereLbl: Label 'GRUYERE', MaxLength = 30; + ChristmasHillsLbl: Label 'CHRISTMAS HILLS', MaxLength = 30; + DixonsCreekLbl: Label 'DIXONS CREEK', MaxLength = 30; + SteelsCreekLbl: Label 'STEELS CREEK', MaxLength = 30; + YarraGlenLbl: Label 'YARRA GLEN', MaxLength = 30; + HealesvilleLbl: Label 'HEALESVILLE', MaxLength = 30; + ToolangiLbl: Label 'TOOLANGI', MaxLength = 30; + NarbethongLbl: Label 'NARBETHONG', MaxLength = 30; + MarysvilleLbl: Label 'MARYSVILLE', MaxLength = 30; + CockatooLbl: Label 'COCKATOO', MaxLength = 30; + AvonsleighLbl: Label 'AVONSLEIGH', MaxLength = 30; + ClematisLbl: Label 'CLEMATIS', MaxLength = 30; + EmeraldLbl: Label 'EMERALD', MaxLength = 30; + MacclesfieldLbl: Label 'MACCLESFIELD', MaxLength = 30; + GembrookLbl: Label 'GEMBROOK', MaxLength = 30; + FernyCreekLbl: Label 'FERNY CREEK', MaxLength = 30; + SassafrasLbl: Label 'SASSAFRAS', MaxLength = 30; + SassafrasGullyLbl: Label 'SASSAFRAS GULLY', MaxLength = 30; + OlindaLbl: Label 'OLINDA', MaxLength = 30; + SherbrookeLbl: Label 'SHERBROOKE', MaxLength = 30; + KallistaLbl: Label 'KALLISTA', MaxLength = 30; + ThePatchLbl: Label 'THE PATCH', MaxLength = 30; + MonbulkLbl: Label 'MONBULK', MaxLength = 30; + SilvanLbl: Label 'SILVAN', MaxLength = 30; + MountEvelynLbl: Label 'MOUNT EVELYN', MaxLength = 30; + GilderoyLbl: Label 'GILDEROY', MaxLength = 30; + GladysdaleLbl: Label 'GLADYSDALE', MaxLength = 30; + PowelltownLbl: Label 'POWELLTOWN', MaxLength = 30; + ThreeBridgesLbl: Label 'THREE BRIDGES', MaxLength = 30; + YarraJunctionLbl: Label 'YARRA JUNCTION', MaxLength = 30; + McmahonsCreekLbl: Label 'MCMAHONS CREEK', MaxLength = 30; + MillgroveLbl: Label 'MILLGROVE', MaxLength = 30; + WarburtonLbl: Label 'WARBURTON', MaxLength = 30; + WesburnLbl: Label 'WESBURN', MaxLength = 30; + MonashUniversityLbl: Label 'MONASH UNIVERSITY', MaxLength = 30; + EndeavourHillsLbl: Label 'ENDEAVOUR HILLS', MaxLength = 30; + HallamLbl: Label 'HALLAM', MaxLength = 30; + NarreWarrenEastLbl: Label 'NARRE WARREN EAST', MaxLength = 30; + NarreWarrenNorthLbl: Label 'NARRE WARREN NORTH', MaxLength = 30; + FountainGateLbl: Label 'FOUNTAIN GATE', MaxLength = 30; + NarreWarrenLbl: Label 'NARRE WARREN', MaxLength = 30; + BerwickLbl: Label 'BERWICK', MaxLength = 30; + HarkawayLbl: Label 'HARKAWAY', MaxLength = 30; + GuysHillLbl: Label 'GUYS HILL', MaxLength = 30; + BeaconsfieldUpperLbl: Label 'BEACONSFIELD UPPER', MaxLength = 30; + OfficerLbl: Label 'OFFICER', MaxLength = 30; + PakenhamLbl: Label 'PAKENHAM', MaxLength = 30; + PakenhamUpperLbl: Label 'PAKENHAM UPPER', MaxLength = 30; + MaryknollLbl: Label 'MARYKNOLL', MaxLength = 30; + NarNarGoonLbl: Label 'NAR NAR GOON', MaxLength = 30; + TynongLbl: Label 'TYNONG', MaxLength = 30; + CoraLynnLbl: Label 'CORA LYNN', MaxLength = 30; + GarfieldLbl: Label 'GARFIELD', MaxLength = 30; + VervaleLbl: Label 'VERVALE', MaxLength = 30; + BunyipLbl: Label 'BUNYIP', MaxLength = 30; + IonaLbl: Label 'IONA', MaxLength = 30; + TonimbukLbl: Label 'TONIMBUK', MaxLength = 30; + LabertoucheLbl: Label 'LABERTOUCHE', MaxLength = 30; + LongwarryLbl: Label 'LONGWARRY', MaxLength = 30; + ModellaLbl: Label 'MODELLA', MaxLength = 30; + AthloneLbl: Label 'ATHLONE', MaxLength = 30; + DrouinLbl: Label 'DROUIN', MaxLength = 30; + RipplebrookLbl: Label 'RIPPLEBROOK', MaxLength = 30; + WarragulLbl: Label 'WARRAGUL', MaxLength = 30; + BulnBulnLbl: Label 'BULN BULN', MaxLength = 30; + NilmaLbl: Label 'NILMA', MaxLength = 30; + RokebyLbl: Label 'ROKEBY', MaxLength = 30; + DarnumLbl: Label 'DARNUM', MaxLength = 30; + YarragonLbl: Label 'YARRAGON', MaxLength = 30; + ChildersLbl: Label 'CHILDERS', MaxLength = 30; + ThorpdaleSouthLbl: Label 'THORPDALE SOUTH', MaxLength = 30; + TrafalgarLbl: Label 'TRAFALGAR', MaxLength = 30; + AberfeldyLbl: Label 'ABERFELDY', MaxLength = 30; + CoalvilleLbl: Label 'COALVILLE', MaxLength = 30; + EricaLbl: Label 'ERICA', MaxLength = 30; + HernesOakLbl: Label 'HERNES OAK', MaxLength = 30; + MoeLbl: Label 'MOE', MaxLength = 30; + MoondarraLbl: Label 'MOONDARRA', MaxLength = 30; + NewboroughLbl: Label 'NEWBOROUGH', MaxLength = 30; + RawsonLbl: Label 'RAWSON', MaxLength = 30; + TanjilSouthLbl: Label 'TANJIL SOUTH', MaxLength = 30; + WalhallaLbl: Label 'WALHALLA', MaxLength = 30; + WillowGroveLbl: Label 'WILLOW GROVE', MaxLength = 30; + YallournNorthLbl: Label 'YALLOURN NORTH', MaxLength = 30; + NeerimLbl: Label 'NEERIM', MaxLength = 30; + NeerimSouthLbl: Label 'NEERIM SOUTH', MaxLength = 30; + NeerimJunctionLbl: Label 'NEERIM JUNCTION', MaxLength = 30; + NoojeeLbl: Label 'NOOJEE', MaxLength = 30; + ThorpdaleLbl: Label 'THORPDALE', MaxLength = 30; + JeeralangLbl: Label 'JEERALANG', MaxLength = 30; + MidValleyLbl: Label 'MID VALLEY', MaxLength = 30; + MorwellLbl: Label 'MORWELL', MaxLength = 30; + GippslandMcLbl: Label 'GIPPSLAND MC', MaxLength = 30; + ChurchillLbl: Label 'CHURCHILL', MaxLength = 30; + CalligneeLbl: Label 'CALLIGNEE', MaxLength = 30; + CarrajungLbl: Label 'CARRAJUNG', MaxLength = 30; + KoornallaLbl: Label 'KOORNALLA', MaxLength = 30; + TraralgonLbl: Label 'TRARALGON', MaxLength = 30; + TyersLbl: Label 'TYERS', MaxLength = 30; + WillungSouthLbl: Label 'WILLUNG SOUTH', MaxLength = 30; + NambrokLbl: Label 'NAMBROK', MaxLength = 30; + WillungLbl: Label 'WILLUNG', MaxLength = 30; + SaleLbl: Label 'SALE', MaxLength = 30; + WurrukLbl: Label 'WURRUK', MaxLength = 30; + BundalaguahLbl: Label 'BUNDALAGUAH', MaxLength = 30; + DarrimanLbl: Label 'DARRIMAN', MaxLength = 30; + KilmanyLbl: Label 'KILMANY', MaxLength = 30; + LochSportLbl: Label 'LOCH SPORT', MaxLength = 30; + LongfordLbl: Label 'LONGFORD', MaxLength = 30; + ParadiseBeachLbl: Label 'PARADISE BEACH', MaxLength = 30; + SeasprayLbl: Label 'SEASPRAY', MaxLength = 30; + EastSaleRaafLbl: Label 'EAST SALE RAAF', MaxLength = 30; + GlengarryLbl: Label 'GLENGARRY', MaxLength = 30; + CowwarrLbl: Label 'COWWARR', MaxLength = 30; + GlenmaggieLbl: Label 'GLENMAGGIE', MaxLength = 30; + HeyfieldLbl: Label 'HEYFIELD', MaxLength = 30; + LicolaLbl: Label 'LICOLA', MaxLength = 30; + SeatonLbl: Label 'SEATON', MaxLength = 30; + NewryLbl: Label 'NEWRY', MaxLength = 30; + TinambaLbl: Label 'TINAMBA', MaxLength = 30; + BoisdaleLbl: Label 'BOISDALE', MaxLength = 30; + BriagolongLbl: Label 'BRIAGOLONG', MaxLength = 30; + MaffraLbl: Label 'MAFFRA', MaxLength = 30; + ValenciaCreekLbl: Label 'VALENCIA CREEK', MaxLength = 30; + DargoLbl: Label 'DARGO', MaxLength = 30; + MeerlieuLbl: Label 'MEERLIEU', MaxLength = 30; + FernbankLbl: Label 'FERNBANK', MaxLength = 30; + LindenowLbl: Label 'LINDENOW', MaxLength = 30; + JumbukLbl: Label 'JUMBUK', MaxLength = 30; + YinnarLbl: Label 'YINNAR', MaxLength = 30; + BoolarraLbl: Label 'BOOLARRA', MaxLength = 30; + DarlimurlaLbl: Label 'DARLIMURLA', MaxLength = 30; + MirbooNorthLbl: Label 'MIRBOO NORTH', MaxLength = 30; + GormandaleLbl: Label 'GORMANDALE', MaxLength = 30; + CarrajungSouthLbl: Label 'CARRAJUNG SOUTH', MaxLength = 30; + WoodsideLbl: Label 'WOODSIDE', MaxLength = 30; + BairnsdaleLbl: Label 'BAIRNSDALE', MaxLength = 30; + BengwordenLbl: Label 'BENGWORDEN', MaxLength = 30; + CaluluLbl: Label 'CALULU', MaxLength = 30; + LindenowSouthLbl: Label 'LINDENOW SOUTH', MaxLength = 30; + MountTaylorLbl: Label 'MOUNT TAYLOR', MaxLength = 30; + NewlandsArmLbl: Label 'NEWLANDS ARM', MaxLength = 30; + SarsfieldLbl: Label 'SARSFIELD', MaxLength = 30; + WalpaLbl: Label 'WALPA', MaxLength = 30; + WyYungLbl: Label 'WY YUNG', MaxLength = 30; + EaglePointLbl: Label 'EAGLE POINT', MaxLength = 30; + PaynesvilleLbl: Label 'PAYNESVILLE', MaxLength = 30; + RaymondIslandLbl: Label 'RAYMOND ISLAND', MaxLength = 30; + NicholsonLbl: Label 'NICHOLSON', MaxLength = 30; + BruthenLbl: Label 'BRUTHEN', MaxLength = 30; + BuchanLbl: Label 'BUCHAN', MaxLength = 30; + ButchersRidgeLbl: Label 'BUTCHERS RIDGE', MaxLength = 30; + GelantipyLbl: Label 'GELANTIPY', MaxLength = 30; + MossifaceLbl: Label 'MOSSIFACE', MaxLength = 30; + TamboUpperLbl: Label 'TAMBO UPPER', MaxLength = 30; + WTreeLbl: Label 'W TREE', MaxLength = 30; + WiseleighLbl: Label 'WISELEIGH', MaxLength = 30; + WulgulmerangLbl: Label 'WULGULMERANG', MaxLength = 30; + NewmerellaLbl: Label 'NEWMERELLA', MaxLength = 30; + LakeTyersLbl: Label 'LAKE TYERS', MaxLength = 30; + NowaNowaLbl: Label 'NOWA NOWA', MaxLength = 30; + WairewaLbl: Label 'WAIREWA', MaxLength = 30; + BendocLbl: Label 'BENDOC', MaxLength = 30; + BonangLbl: Label 'BONANG', MaxLength = 30; + MarloLbl: Label 'MARLO', MaxLength = 30; + OrbostLbl: Label 'ORBOST', MaxLength = 30; + TubbutLbl: Label 'TUBBUT', MaxLength = 30; + BemmRiverLbl: Label 'BEMM RIVER', MaxLength = 30; + CabbageTreeCreekLbl: Label 'CABBAGE TREE CREEK', MaxLength = 30; + ClubTerraceLbl: Label 'CLUB TERRACE', MaxLength = 30; + CombienbarLbl: Label 'COMBIENBAR', MaxLength = 30; + CannRiverLbl: Label 'CANN RIVER', MaxLength = 30; + NoorinbeeLbl: Label 'NOORINBEE', MaxLength = 30; + GenoaLbl: Label 'GENOA', MaxLength = 30; + GipsyPointLbl: Label 'GIPSY POINT', MaxLength = 30; + MallacootaLbl: Label 'MALLACOOTA', MaxLength = 30; + TamboCrossingLbl: Label 'TAMBO CROSSING', MaxLength = 30; + EnsayLbl: Label 'ENSAY', MaxLength = 30; + SwiftsCreekLbl: Label 'SWIFTS CREEK', MaxLength = 30; + DinnerPlainLbl: Label 'DINNER PLAIN', MaxLength = 30; + OmeoLbl: Label 'OMEO', MaxLength = 30; + BenambraLbl: Label 'BENAMBRA', MaxLength = 30; + JohnsonvilleLbl: Label 'JOHNSONVILLE', MaxLength = 30; + SwanReachLbl: Label 'SWAN REACH', MaxLength = 30; + MetungLbl: Label 'METUNG', MaxLength = 30; + KalimnaLbl: Label 'KALIMNA', MaxLength = 30; + LakeTyersBeachLbl: Label 'LAKE TYERS BEACH', MaxLength = 30; + LakesEntranceLbl: Label 'LAKES ENTRANCE', MaxLength = 30; + LangwarrinLbl: Label 'LANGWARRIN', MaxLength = 30; + BaxterLbl: Label 'BAXTER', MaxLength = 30; + LangwarrinSouthLbl: Label 'LANGWARRIN SOUTH', MaxLength = 30; + PearcedaleLbl: Label 'PEARCEDALE', MaxLength = 30; + SomervilleLbl: Label 'SOMERVILLE', MaxLength = 30; + TyabbLbl: Label 'TYABB', MaxLength = 30; + HastingsLbl: Label 'HASTINGS', MaxLength = 30; + TuerongLbl: Label 'TUERONG', MaxLength = 30; + MerricksLbl: Label 'MERRICKS', MaxLength = 30; + ShorehamLbl: Label 'SHOREHAM', MaxLength = 30; + BitternLbl: Label 'BITTERN', MaxLength = 30; + CribPointLbl: Label 'CRIB POINT', MaxLength = 30; + HmasCerberusLbl: Label 'HMAS CERBERUS', MaxLength = 30; + TankertonLbl: Label 'TANKERTON', MaxLength = 30; + CowesLbl: Label 'COWES', MaxLength = 30; + RhyllLbl: Label 'RHYLL', MaxLength = 30; + CapeWoolamaiLbl: Label 'CAPE WOOLAMAI', MaxLength = 30; + NewhavenLbl: Label 'NEWHAVEN', MaxLength = 30; + BalnarringLbl: Label 'BALNARRING', MaxLength = 30; + MerricksBeachLbl: Label 'MERRICKS BEACH', MaxLength = 30; + MerricksNorthLbl: Label 'MERRICKS NORTH', MaxLength = 30; + SomersLbl: Label 'SOMERS', MaxLength = 30; + MainRidgeLbl: Label 'MAIN RIDGE', MaxLength = 30; + KunyungLbl: Label 'KUNYUNG', MaxLength = 30; + MountElizaLbl: Label 'MOUNT ELIZA', MaxLength = 30; + MorningtonLbl: Label 'MORNINGTON', MaxLength = 30; + MoorooducLbl: Label 'MOOROODUC', MaxLength = 30; + MountMarthaLbl: Label 'MOUNT MARTHA', MaxLength = 30; + ArthursSeatLbl: Label 'ARTHURS SEAT', MaxLength = 30; + DromanaLbl: Label 'DROMANA', MaxLength = 30; + RedHillSouthLbl: Label 'RED HILL SOUTH', MaxLength = 30; + MccraeLbl: Label 'MCCRAE', MaxLength = 30; + FingalLbl: Label 'FINGAL', MaxLength = 30; + RosebudLbl: Label 'ROSEBUD', MaxLength = 30; + RosebudWestLbl: Label 'ROSEBUD WEST', MaxLength = 30; + RyeLbl: Label 'RYE', MaxLength = 30; + StAndrewsBeachLbl: Label 'ST ANDREWS BEACH', MaxLength = 30; + TootgarookLbl: Label 'TOOTGAROOK', MaxLength = 30; + BlairgowrieLbl: Label 'BLAIRGOWRIE', MaxLength = 30; + SorrentoLbl: Label 'SORRENTO', MaxLength = 30; + PortseaLbl: Label 'PORTSEA', MaxLength = 30; + JeethoLbl: Label 'JEETHO', MaxLength = 30; + KroweraLbl: Label 'KROWERA', MaxLength = 30; + LochLbl: Label 'LOCH', MaxLength = 30; + WoodleighLbl: Label 'WOODLEIGH', MaxLength = 30; + BenaLbl: Label 'BENA', MaxLength = 30; + KorumburraLbl: Label 'KORUMBURRA', MaxLength = 30; + JumbunnaLbl: Label 'JUMBUNNA', MaxLength = 30; + KardellaLbl: Label 'KARDELLA', MaxLength = 30; + KongwakLbl: Label 'KONGWAK', MaxLength = 30; + OuttrimLbl: Label 'OUTTRIM', MaxLength = 30; + BerrysCreekLbl: Label 'BERRYS CREEK', MaxLength = 30; + HallstonLbl: Label 'HALLSTON', MaxLength = 30; + LeongathaLbl: Label 'LEONGATHA', MaxLength = 30; + NerrenaLbl: Label 'NERRENA', MaxLength = 30; + KoonwarraLbl: Label 'KOONWARRA', MaxLength = 30; + DumbalkLbl: Label 'DUMBALK', MaxLength = 30; + MeeniyanLbl: Label 'MEENIYAN', MaxLength = 30; + TarwinLbl: Label 'TARWIN', MaxLength = 30; + TarwinLowerLbl: Label 'TARWIN LOWER', MaxLength = 30; + VenusBayLbl: Label 'VENUS BAY', MaxLength = 30; + WalkervilleLbl: Label 'WALKERVILLE', MaxLength = 30; + WalkervilleSouthLbl: Label 'WALKERVILLE SOUTH', MaxLength = 30; + BuffaloLbl: Label 'BUFFALO', MaxLength = 30; + FishCreekLbl: Label 'FISH CREEK', MaxLength = 30; + WaratahBayLbl: Label 'WARATAH BAY', MaxLength = 30; + BennisonLbl: Label 'BENNISON', MaxLength = 30; + FosterLbl: Label 'FOSTER', MaxLength = 30; + MountBestLbl: Label 'MOUNT BEST', MaxLength = 30; + TidalRiverLbl: Label 'TIDAL RIVER', MaxLength = 30; + YanakieLbl: Label 'YANAKIE', MaxLength = 30; + AgnesLbl: Label 'AGNES', MaxLength = 30; + TooraLbl: Label 'TOORA', MaxLength = 30; + PortFranklinLbl: Label 'PORT FRANKLIN', MaxLength = 30; + PortWelshpoolLbl: Label 'PORT WELSHPOOL', MaxLength = 30; + BinginwarriLbl: Label 'BINGINWARRI', MaxLength = 30; + WelshpoolLbl: Label 'WELSHPOOL', MaxLength = 30; + HedleyLbl: Label 'HEDLEY', MaxLength = 30; + AlbertonLbl: Label 'ALBERTON', MaxLength = 30; + BalookLbl: Label 'BALOOK', MaxLength = 30; + DevonNorthLbl: Label 'DEVON NORTH', MaxLength = 30; + GelliondaleLbl: Label 'GELLIONDALE', MaxLength = 30; + MacksCreekLbl: Label 'MACKS CREEK', MaxLength = 30; + PortAlbertLbl: Label 'PORT ALBERT', MaxLength = 30; + TarravilleLbl: Label 'TARRAVILLE', MaxLength = 30; + WonWronLbl: Label 'WON WRON', MaxLength = 30; + YarramLbl: Label 'YARRAM', MaxLength = 30; + LynbrookLbl: Label 'LYNBROOK', MaxLength = 30; + HamptonParkLbl: Label 'HAMPTON PARK', MaxLength = 30; + CannonsCreekLbl: Label 'CANNONS CREEK', MaxLength = 30; + CranbourneLbl: Label 'CRANBOURNE', MaxLength = 30; + CranbourneNorthLbl: Label 'CRANBOURNE NORTH', MaxLength = 30; + CranbourneSouthLbl: Label 'CRANBOURNE SOUTH', MaxLength = 30; + DevonMeadowsLbl: Label 'DEVON MEADOWS', MaxLength = 30; + FiveWaysLbl: Label 'FIVE WAYS', MaxLength = 30; + SandhurstLbl: Label 'SANDHURST', MaxLength = 30; + SkyeLbl: Label 'SKYE', MaxLength = 30; + CardiniaLbl: Label 'CARDINIA', MaxLength = 30; + ClydeLbl: Label 'CLYDE', MaxLength = 30; + AlmurtaLbl: Label 'ALMURTA', MaxLength = 30; + GlenAlvieLbl: Label 'GLEN ALVIE', MaxLength = 30; + KernotLbl: Label 'KERNOT', MaxLength = 30; + BlindBightLbl: Label 'BLIND BIGHT', MaxLength = 30; + TooradinLbl: Label 'TOORADIN', MaxLength = 30; + WarneetLbl: Label 'WARNEET', MaxLength = 30; + BaylesLbl: Label 'BAYLES', MaxLength = 30; + CataniLbl: Label 'CATANI', MaxLength = 30; + DalmoreLbl: Label 'DALMORE', MaxLength = 30; + HeathHillLbl: Label 'HEATH HILL', MaxLength = 30; + KooWeeRupLbl: Label 'KOO WEE RUP', MaxLength = 30; + YannathanLbl: Label 'YANNATHAN', MaxLength = 30; + CaldermeadeLbl: Label 'CALDERMEADE', MaxLength = 30; + CorinellaLbl: Label 'CORINELLA', MaxLength = 30; + CoronetBayLbl: Label 'CORONET BAY', MaxLength = 30; + GrantvilleLbl: Label 'GRANTVILLE', MaxLength = 30; + JamJerrupLbl: Label 'JAM JERRUP', MaxLength = 30; + LangLangLbl: Label 'LANG LANG', MaxLength = 30; + MonomeithLbl: Label 'MONOMEITH', MaxLength = 30; + TenbyPointLbl: Label 'TENBY POINT', MaxLength = 30; + TheGurdiesLbl: Label 'THE GURDIES', MaxLength = 30; + NyoraLbl: Label 'NYORA', MaxLength = 30; + PoowongLbl: Label 'POOWONG', MaxLength = 30; + GlenForbesLbl: Label 'GLEN FORBES', MaxLength = 30; + BassLbl: Label 'BASS', MaxLength = 30; + DalystonLbl: Label 'DALYSTON', MaxLength = 30; + ArchiesCreekLbl: Label 'ARCHIES CREEK', MaxLength = 30; + CapePatersonLbl: Label 'CAPE PATERSON', MaxLength = 30; + KilcundaLbl: Label 'KILCUNDA', MaxLength = 30; + SouthDudleyLbl: Label 'SOUTH DUDLEY', MaxLength = 30; + WonthaggiLbl: Label 'WONTHAGGI', MaxLength = 30; + WoolamaiLbl: Label 'WOOLAMAI', MaxLength = 30; + InverlochLbl: Label 'INVERLOCH', MaxLength = 30; + BrisbaneLbl: Label 'Brisbane', MaxLength = 30; + BrisbaneAdelaideStreetLbl: Label 'BRISBANE ADELAIDE STREET', MaxLength = 30; + CentralPlazaLbl: Label 'CENTRAL PLAZA', MaxLength = 30; + RiversideCentreLbl: Label 'RIVERSIDE CENTRE', MaxLength = 30; + WaterfrontPlaceLbl: Label 'WATERFRONT PLACE', MaxLength = 30; + CityEastLbl: Label 'CITY EAST', MaxLength = 30; + WintergardenLbl: Label 'WINTERGARDEN', MaxLength = 30; + GeorgeStreetLbl: Label 'GEORGE STREET', MaxLength = 30; + NewFarmLbl: Label 'NEW FARM', MaxLength = 30; + BowenBridgeLbl: Label 'BOWEN BRIDGE', MaxLength = 30; + BowenHillsLbl: Label 'BOWEN HILLS', MaxLength = 30; + FortitudeValleyLbl: Label 'FORTITUDE VALLEY', MaxLength = 30; + HerstonLbl: Label 'HERSTON', MaxLength = 30; + PinkenbaLbl: Label 'PINKENBA', MaxLength = 30; + EagleFarmLbl: Label 'EAGLE FARM', MaxLength = 30; + ClayfieldLbl: Label 'CLAYFIELD', MaxLength = 30; + HendraLbl: Label 'HENDRA', MaxLength = 30; + NundahLbl: Label 'NUNDAH', MaxLength = 30; + ToombulLbl: Label 'TOOMBUL', MaxLength = 30; + WavellHeightsLbl: Label 'WAVELL HEIGHTS', MaxLength = 30; + WavellHeightsNorthLbl: Label 'WAVELL HEIGHTS NORTH', MaxLength = 30; + NorthgateLbl: Label 'NORTHGATE', MaxLength = 30; + BanyoLbl: Label 'BANYO', MaxLength = 30; + NudgeeLbl: Label 'NUDGEE', MaxLength = 30; + NudgeeBeachLbl: Label 'NUDGEE BEACH', MaxLength = 30; + VirginiaLbl: Label 'VIRGINIA', MaxLength = 30; + BrackenRidgeLbl: Label 'BRACKEN RIDGE', MaxLength = 30; + DeagonLbl: Label 'DEAGON', MaxLength = 30; + ShorncliffeLbl: Label 'SHORNCLIFFE', MaxLength = 30; + FitzgibbonLbl: Label 'FITZGIBBON', MaxLength = 30; + TaigumLbl: Label 'TAIGUM', MaxLength = 30; + MargateLbl: Label 'MARGATE', MaxLength = 30; + MargateBeachLbl: Label 'MARGATE BEACH', MaxLength = 30; + WoodyPointLbl: Label 'WOODY POINT', MaxLength = 30; + RedcliffeLbl: Label 'REDCLIFFE', MaxLength = 30; + KippaRingLbl: Label 'KIPPA-RING', MaxLength = 30; + RothwellLbl: Label 'ROTHWELL', MaxLength = 30; + BulwerLbl: Label 'BULWER', MaxLength = 30; + CapeMoretonLbl: Label 'CAPE MORETON', MaxLength = 30; + CowanCowanLbl: Label 'COWAN COWAN', MaxLength = 30; + TangaloomaLbl: Label 'TANGALOOMA', MaxLength = 30; + RoyalBrisbaneHospitalLbl: Label 'ROYAL BRISBANE HOSPITAL', MaxLength = 30; + LutwycheLbl: Label 'LUTWYCHE', MaxLength = 30; + WooloowinLbl: Label 'WOOLOOWIN', MaxLength = 30; + GordonParkLbl: Label 'GORDON PARK', MaxLength = 30; + KedronLbl: Label 'KEDRON', MaxLength = 30; + ChermsideLbl: Label 'CHERMSIDE', MaxLength = 30; + ChermsideWestLbl: Label 'CHERMSIDE WEST', MaxLength = 30; + AspleyLbl: Label 'ASPLEY', MaxLength = 30; + BoondallLbl: Label 'BOONDALL', MaxLength = 30; + CarseldineLbl: Label 'CARSELDINE', MaxLength = 30; + GeebungLbl: Label 'GEEBUNG', MaxLength = 30; + ZillmereLbl: Label 'ZILLMERE', MaxLength = 30; + AlbanyCreekLbl: Label 'ALBANY CREEK', MaxLength = 30; + BridgemanDownsLbl: Label 'BRIDGEMAN DOWNS', MaxLength = 30; + BaldHillsLbl: Label 'BALD HILLS', MaxLength = 30; + EatonsHillLbl: Label 'EATONS HILL', MaxLength = 30; + AlderleyLbl: Label 'ALDERLEY', MaxLength = 30; + EnoggeraLbl: Label 'ENOGGERA', MaxLength = 30; + GaythorneLbl: Label 'GAYTHORNE', MaxLength = 30; + GrangeLbl: Label 'GRANGE', MaxLength = 30; + NewmarketLbl: Label 'NEWMARKET', MaxLength = 30; + WilstonLbl: Label 'WILSTON', MaxLength = 30; + BrooksideCentreLbl: Label 'BROOKSIDE CENTRE', MaxLength = 30; + EvertonHillsLbl: Label 'EVERTON HILLS', MaxLength = 30; + EvertonParkLbl: Label 'EVERTON PARK', MaxLength = 30; + McdowallLbl: Label 'MCDOWALL', MaxLength = 30; + MitcheltonLbl: Label 'MITCHELTON', MaxLength = 30; + StaffordLbl: Label 'STAFFORD', MaxLength = 30; + StaffordHeightsLbl: Label 'STAFFORD HEIGHTS', MaxLength = 30; + AranaHillsLbl: Label 'ARANA HILLS', MaxLength = 30; + KeperraLbl: Label 'KEPERRA', MaxLength = 30; + BunyaLbl: Label 'BUNYA', MaxLength = 30; + FernyGroveLbl: Label 'FERNY GROVE', MaxLength = 30; + FernyHillsLbl: Label 'FERNY HILLS', MaxLength = 30; + UpperKedronLbl: Label 'UPPER KEDRON', MaxLength = 30; + KelvinGroveLbl: Label 'KELVIN GROVE', MaxLength = 30; + KelvinGroveBcLbl: Label 'KELVIN GROVE BC', MaxLength = 30; + KelvinGroveDcLbl: Label 'KELVIN GROVE DC', MaxLength = 30; + AshgroveLbl: Label 'ASHGROVE', MaxLength = 30; + DorringtonLbl: Label 'DORRINGTON', MaxLength = 30; + TheGapLbl: Label 'THE GAP', MaxLength = 30; + BardonLbl: Label 'BARDON', MaxLength = 30; + AuchenflowerLbl: Label 'AUCHENFLOWER', MaxLength = 30; + MountCootThaLbl: Label 'MOUNT COOT-THA', MaxLength = 30; + ToowongLbl: Label 'TOOWONG', MaxLength = 30; + StLuciaLbl: Label 'ST LUCIA', MaxLength = 30; + ChelmerLbl: Label 'CHELMER', MaxLength = 30; + IndooroopillyLbl: Label 'INDOOROOPILLY', MaxLength = 30; + TaringaLbl: Label 'TARINGA', MaxLength = 30; + ChapelHillLbl: Label 'CHAPEL HILL', MaxLength = 30; + FigTreePocketLbl: Label 'FIG TREE POCKET', MaxLength = 30; + KenmoreLbl: Label 'KENMORE', MaxLength = 30; + KenmoreHillsLbl: Label 'KENMORE HILLS', MaxLength = 30; + PinjarraHillsLbl: Label 'PINJARRA HILLS', MaxLength = 30; + PullenvaleLbl: Label 'PULLENVALE', MaxLength = 30; + UpperBrookfieldLbl: Label 'UPPER BROOKFIELD', MaxLength = 30; + AnsteadLbl: Label 'ANSTEAD', MaxLength = 30; + BellbowrieLbl: Label 'BELLBOWRIE', MaxLength = 30; + MoggillLbl: Label 'MOGGILL', MaxLength = 30; + UniversityOfQueenslandLbl: Label 'UNIVERSITY OF QUEENSLAND', MaxLength = 30; + SeventeenMileRocksLbl: Label 'SEVENTEEN MILE ROCKS', MaxLength = 30; + SinnamonParkLbl: Label 'SINNAMON PARK', MaxLength = 30; + JamboreeHeightsLbl: Label 'JAMBOREE HEIGHTS', MaxLength = 30; + JindaleeLbl: Label 'JINDALEE', MaxLength = 30; + MountOmmaneyLbl: Label 'MOUNT OMMANEY', MaxLength = 30; + RiverhillsLbl: Label 'RIVERHILLS', MaxLength = 30; + SumnerLbl: Label 'SUMNER', MaxLength = 30; + SumnerParkBcLbl: Label 'SUMNER PARK BC', MaxLength = 30; + WestlakeLbl: Label 'WESTLAKE', MaxLength = 30; + CorindaLbl: Label 'CORINDA', MaxLength = 30; + GracevilleLbl: Label 'GRACEVILLE', MaxLength = 30; + GracevilleEastLbl: Label 'GRACEVILLE EAST', MaxLength = 30; + SherwoodLbl: Label 'SHERWOOD', MaxLength = 30; + DarraLbl: Label 'DARRA', MaxLength = 30; + WacolLbl: Label 'WACOL', MaxLength = 30; + DoolandellaLbl: Label 'DOOLANDELLA', MaxLength = 30; + DurackLbl: Label 'DURACK', MaxLength = 30; + InalaLbl: Label 'INALA', MaxLength = 30; + RichlandsLbl: Label 'RICHLANDS', MaxLength = 30; + EllenGroveLbl: Label 'ELLEN GROVE', MaxLength = 30; + ForestLakeLbl: Label 'FOREST LAKE', MaxLength = 30; + HighgateHillLbl: Label 'HIGHGATE HILL', MaxLength = 30; + SouthBrisbaneLbl: Label 'SOUTH BRISBANE', MaxLength = 30; + WestEndLbl: Label 'WEST END', MaxLength = 30; + BurandaLbl: Label 'BURANDA', MaxLength = 30; + DuttonParkLbl: Label 'DUTTON PARK', MaxLength = 30; + WoolloongabbaLbl: Label 'WOOLLOONGABBA', MaxLength = 30; + AnnerleyLbl: Label 'ANNERLEY', MaxLength = 30; + YerongaLbl: Label 'YERONGA', MaxLength = 30; + MoorookaLbl: Label 'MOOROOKA', MaxLength = 30; + YeerongpillyLbl: Label 'YEERONGPILLY', MaxLength = 30; + BrisbaneMarketLbl: Label 'BRISBANE MARKET', MaxLength = 30; + RockleaLbl: Label 'ROCKLEA', MaxLength = 30; + RockleaDcLbl: Label 'ROCKLEA DC', MaxLength = 30; + ArcherfieldLbl: Label 'ARCHERFIELD', MaxLength = 30; + CoopersPlainsLbl: Label 'COOPERS PLAINS', MaxLength = 30; + SunnybankLbl: Label 'SUNNYBANK', MaxLength = 30; + SunnybankHillsLbl: Label 'SUNNYBANK HILLS', MaxLength = 30; + AcaciaRidgeLbl: Label 'ACACIA RIDGE', MaxLength = 30; + AcaciaRidgeDcLbl: Label 'ACACIA RIDGE DC', MaxLength = 30; + HeathwoodLbl: Label 'HEATHWOOD', MaxLength = 30; + LarapintaLbl: Label 'LARAPINTA', MaxLength = 30; + PallaraLbl: Label 'PALLARA', MaxLength = 30; + WillawongLbl: Label 'WILLAWONG', MaxLength = 30; + NathanLbl: Label 'NATHAN', MaxLength = 30; + KurabyLbl: Label 'KURABY', MaxLength = 30; + EightMilePlainsLbl: Label 'EIGHT MILE PLAINS', MaxLength = 30; + RuncornLbl: Label 'RUNCORN', MaxLength = 30; + LoganCentralLbl: Label 'LOGAN CENTRAL', MaxLength = 30; + LoganCityDcLbl: Label 'LOGAN CITY DC', MaxLength = 30; + WoodridgeLbl: Label 'WOODRIDGE', MaxLength = 30; + AlgesterLbl: Label 'ALGESTER', MaxLength = 30; + ParkinsonLbl: Label 'PARKINSON', MaxLength = 30; + CalamvaleLbl: Label 'CALAMVALE', MaxLength = 30; + DrewvaleLbl: Label 'DREWVALE', MaxLength = 30; + StrettonLbl: Label 'STRETTON', MaxLength = 30; + BerrinbaLbl: Label 'BERRINBA', MaxLength = 30; + KarawathaLbl: Label 'KARAWATHA', MaxLength = 30; + ForestdaleLbl: Label 'FORESTDALE', MaxLength = 30; + HeritageParkLbl: Label 'HERITAGE PARK', MaxLength = 30; + UnderwoodLbl: Label 'UNDERWOOD', MaxLength = 30; + GreenslopesLbl: Label 'GREENSLOPES', MaxLength = 30; + StonesCornerLbl: Label 'STONES CORNER', MaxLength = 30; + HollandParkLbl: Label 'HOLLAND PARK', MaxLength = 30; + HollandParkWestLbl: Label 'HOLLAND PARK WEST', MaxLength = 30; + TarragindiLbl: Label 'TARRAGINDI', MaxLength = 30; + WellersHillLbl: Label 'WELLERS HILL', MaxLength = 30; + MountGravattLbl: Label 'MOUNT GRAVATT', MaxLength = 30; + MountGravattEastLbl: Label 'MOUNT GRAVATT EAST', MaxLength = 30; + UpperMountGravattLbl: Label 'UPPER MOUNT GRAVATT', MaxLength = 30; + RochedaleLbl: Label 'ROCHEDALE', MaxLength = 30; + RochedaleSouthLbl: Label 'ROCHEDALE SOUTH', MaxLength = 30; + BoroniaHeightsLbl: Label 'BORONIA HEIGHTS', MaxLength = 30; + GreenbankLbl: Label 'GREENBANK', MaxLength = 30; + MunrubenLbl: Label 'MUNRUBEN', MaxLength = 30; + ParkRidgeLbl: Label 'PARK RIDGE', MaxLength = 30; + PriestdaleLbl: Label 'PRIESTDALE', MaxLength = 30; + SlacksCreekLbl: Label 'SLACKS CREEK', MaxLength = 30; + ShailerParkLbl: Label 'SHAILER PARK', MaxLength = 30; + TanahMerahLbl: Label 'TANAH MERAH', MaxLength = 30; + LoganholmeLbl: Label 'LOGANHOLME', MaxLength = 30; + CarbrookLbl: Label 'CARBROOK', MaxLength = 30; + CornubiaLbl: Label 'CORNUBIA', MaxLength = 30; + LoganleaLbl: Label 'LOGANLEA', MaxLength = 30; + MeadowbrookLbl: Label 'MEADOWBROOK', MaxLength = 30; + CrestmeadLbl: Label 'CRESTMEAD', MaxLength = 30; + MarsdenLbl: Label 'MARSDEN', MaxLength = 30; + ChambersFlatLbl: Label 'CHAMBERS FLAT', MaxLength = 30; + LoganReserveLbl: Label 'LOGAN RESERVE', MaxLength = 30; + WaterfordLbl: Label 'WATERFORD', MaxLength = 30; + WaterfordWestLbl: Label 'WATERFORD WEST', MaxLength = 30; + CoorparooLbl: Label 'COORPAROO', MaxLength = 30; + CampHillLbl: Label 'CAMP HILL', MaxLength = 30; + CarinaLbl: Label 'CARINA', MaxLength = 30; + CarinaHeightsLbl: Label 'CARINA HEIGHTS', MaxLength = 30; + CarindaleLbl: Label 'CARINDALE', MaxLength = 30; + GumdaleLbl: Label 'GUMDALE', MaxLength = 30; + RansomeLbl: Label 'RANSOME', MaxLength = 30; + WakerleyLbl: Label 'WAKERLEY', MaxLength = 30; + ChandlerLbl: Label 'CHANDLER', MaxLength = 30; + BurbankLbl: Label 'BURBANK', MaxLength = 30; + MackenzieLbl: Label 'MACKENZIE', MaxLength = 30; + CapalabaLbl: Label 'CAPALABA', MaxLength = 30; + CapalabaWestLbl: Label 'CAPALABA WEST', MaxLength = 30; + SheldonLbl: Label 'SHELDON', MaxLength = 30; + ThornesideLbl: Label 'THORNESIDE', MaxLength = 30; + BirkdaleLbl: Label 'BIRKDALE', MaxLength = 30; + OrmistonLbl: Label 'ORMISTON', MaxLength = 30; + WellingtonPointLbl: Label 'WELLINGTON POINT', MaxLength = 30; + AlexandraHillsLbl: Label 'ALEXANDRA HILLS', MaxLength = 30; + ClevelandLbl: Label 'CLEVELAND', MaxLength = 30; + RabyBayLbl: Label 'RABY BAY', MaxLength = 30; + ThornlandsLbl: Label 'THORNLANDS', MaxLength = 30; + MountCottonLbl: Label 'MOUNT COTTON', MaxLength = 30; + RedlandBayLbl: Label 'REDLAND BAY', MaxLength = 30; + VictoriaPointLbl: Label 'VICTORIA POINT', MaxLength = 30; + EastBrisbaneLbl: Label 'EAST BRISBANE', MaxLength = 30; + CannonHillLbl: Label 'CANNON HILL', MaxLength = 30; + MorningsideLbl: Label 'MORNINGSIDE', MaxLength = 30; + NormanParkLbl: Label 'NORMAN PARK', MaxLength = 30; + BulimbaLbl: Label 'BULIMBA', MaxLength = 30; + HawthorneLbl: Label 'HAWTHORNE', MaxLength = 30; + MurarrieLbl: Label 'MURARRIE', MaxLength = 30; + TingalpaLbl: Label 'TINGALPA', MaxLength = 30; + TingalpaBcLbl: Label 'TINGALPA BC', MaxLength = 30; + TingalpaDcLbl: Label 'TINGALPA DC', MaxLength = 30; + HemmantLbl: Label 'HEMMANT', MaxLength = 30; + LyttonLbl: Label 'LYTTON', MaxLength = 30; + PortOfBrisbaneLbl: Label 'PORT OF BRISBANE', MaxLength = 30; + WynnumLbl: Label 'WYNNUM', MaxLength = 30; + WynnumNorthLbl: Label 'WYNNUM NORTH', MaxLength = 30; + WynnumWestLbl: Label 'WYNNUM WEST', MaxLength = 30; + LotaLbl: Label 'LOTA', MaxLength = 30; + ManlyWestLbl: Label 'MANLY WEST', MaxLength = 30; + AmityLbl: Label 'AMITY', MaxLength = 30; + AmityPointLbl: Label 'AMITY POINT', MaxLength = 30; + DunwichLbl: Label 'DUNWICH', MaxLength = 30; + PointLookoutLbl: Label 'POINT LOOKOUT', MaxLength = 30; + CoochiemudloIslandLbl: Label 'COOCHIEMUDLO ISLAND', MaxLength = 30; + KarragarraIslandLbl: Label 'KARRAGARRA ISLAND', MaxLength = 30; + LambIslandLbl: Label 'LAMB ISLAND', MaxLength = 30; + MacleayIslandLbl: Label 'MACLEAY ISLAND', MaxLength = 30; + PeelIslandLbl: Label 'PEEL ISLAND', MaxLength = 30; + RussellIslandLbl: Label 'RUSSELL ISLAND', MaxLength = 30; + BethaniaLbl: Label 'BETHANIA', MaxLength = 30; + BahrsScrubLbl: Label 'BAHRS SCRUB', MaxLength = 30; + BeenleighLbl: Label 'BEENLEIGH', MaxLength = 30; + BelivahLbl: Label 'BELIVAH', MaxLength = 30; + BuccanLbl: Label 'BUCCAN', MaxLength = 30; + CedarCreekLbl: Label 'CEDAR CREEK', MaxLength = 30; + EaglebyLbl: Label 'EAGLEBY', MaxLength = 30; + EdensLandingLbl: Label 'EDENS LANDING', MaxLength = 30; + HolmviewLbl: Label 'HOLMVIEW', MaxLength = 30; + LoganVillageLbl: Label 'LOGAN VILLAGE', MaxLength = 30; + LuscombeLbl: Label 'LUSCOMBE', MaxLength = 30; + MountWarrenParkLbl: Label 'MOUNT WARREN PARK', MaxLength = 30; + StapyltonLbl: Label 'STAPYLTON', MaxLength = 30; + WindarooLbl: Label 'WINDAROO', MaxLength = 30; + WolffdeneLbl: Label 'WOLFFDENE', MaxLength = 30; + WoongoolbaLbl: Label 'WOONGOOLBA', MaxLength = 30; + YatalaLbl: Label 'YATALA', MaxLength = 30; + GilbertonLbl: Label 'GILBERTON', MaxLength = 30; + JacobsWellLbl: Label 'JACOBS WELL', MaxLength = 30; + KingsholmeLbl: Label 'KINGSHOLME', MaxLength = 30; + NorwellLbl: Label 'NORWELL', MaxLength = 30; + OrmeauLbl: Label 'ORMEAU', MaxLength = 30; + OrmeauHillsLbl: Label 'ORMEAU HILLS', MaxLength = 30; + CoomeraLbl: Label 'COOMERA', MaxLength = 30; + PimpamaLbl: Label 'PIMPAMA', MaxLength = 30; + UpperCoomeraLbl: Label 'UPPER COOMERA', MaxLength = 30; + WillowValeLbl: Label 'WILLOW VALE', MaxLength = 30; + GuanabaLbl: Label 'GUANABA', MaxLength = 30; + MaudslandLbl: Label 'MAUDSLAND', MaxLength = 30; + OxenfordLbl: Label 'OXENFORD', MaxLength = 30; + StudioVillageLbl: Label 'STUDIO VILLAGE', MaxLength = 30; + WongawallanLbl: Label 'WONGAWALLAN', MaxLength = 30; + AdvancetownLbl: Label 'ADVANCETOWN', MaxLength = 30; + BeechmontLbl: Label 'BEECHMONT', MaxLength = 30; + CarraraLbl: Label 'CARRARA', MaxLength = 30; + ClagirabaLbl: Label 'CLAGIRABA', MaxLength = 30; + GavenLbl: Label 'GAVEN', MaxLength = 30; + GilstonLbl: Label 'GILSTON', MaxLength = 30; + HighlandParkLbl: Label 'HIGHLAND PARK', MaxLength = 30; + MountNathanLbl: Label 'MOUNT NATHAN', MaxLength = 30; + NaturalBridgeLbl: Label 'NATURAL BRIDGE', MaxLength = 30; + NerangLbl: Label 'NERANG', MaxLength = 30; + NuminbahValleyLbl: Label 'NUMINBAH VALLEY', MaxLength = 30; + PacificPinesLbl: Label 'PACIFIC PINES', MaxLength = 30; + HelensvaleLbl: Label 'HELENSVALE', MaxLength = 30; + HelensvaleTownCentreLbl: Label 'HELENSVALE TOWN CENTRE', MaxLength = 30; + HopeIslandLbl: Label 'HOPE ISLAND', MaxLength = 30; + SanctuaryCoveLbl: Label 'SANCTUARY COVE', MaxLength = 30; + AustinvilleLbl: Label 'AUSTINVILLE', MaxLength = 30; + BonoginLbl: Label 'BONOGIN', MaxLength = 30; + MudgeerabaLbl: Label 'MUDGEERABA', MaxLength = 30; + SpringbrookLbl: Label 'SPRINGBROOK', MaxLength = 30; + TallaiLbl: Label 'TALLAI', MaxLength = 30; + WorongaryLbl: Label 'WORONGARY', MaxLength = 30; + ArundelLbl: Label 'ARUNDEL', MaxLength = 30; + ArundelBcLbl: Label 'ARUNDEL BC', MaxLength = 30; + ArundelDcLbl: Label 'ARUNDEL DC', MaxLength = 30; + AshmoreLbl: Label 'ASHMORE', MaxLength = 30; + MolendinarLbl: Label 'MOLENDINAR', MaxLength = 30; + ParkwoodLbl: Label 'PARKWOOD', MaxLength = 30; + ChirnParkLbl: Label 'CHIRN PARK', MaxLength = 30; + LabradorLbl: Label 'LABRADOR', MaxLength = 30; + SouthportLbl: Label 'SOUTHPORT', MaxLength = 30; + BiggeraWatersLbl: Label 'BIGGERA WATERS', MaxLength = 30; + CoombabahLbl: Label 'COOMBABAH', MaxLength = 30; + HollywellLbl: Label 'HOLLYWELL', MaxLength = 30; + ParadisePointLbl: Label 'PARADISE POINT', MaxLength = 30; + RunawayBayLbl: Label 'RUNAWAY BAY', MaxLength = 30; + SouthStradbrokeLbl: Label 'SOUTH STRADBROKE', MaxLength = 30; + BenowaLbl: Label 'BENOWA', MaxLength = 30; + BundallLbl: Label 'BUNDALL', MaxLength = 30; + ChevronIslandLbl: Label 'CHEVRON ISLAND', MaxLength = 30; + IsleOfCapriLbl: Label 'ISLE OF CAPRI', MaxLength = 30; + MainBeachLbl: Label 'MAIN BEACH', MaxLength = 30; + SurfersParadiseLbl: Label 'SURFERS PARADISE', MaxLength = 30; + BroadbeachLbl: Label 'BROADBEACH', MaxLength = 30; + BroadbeachWatersLbl: Label 'BROADBEACH WATERS', MaxLength = 30; + MermaidBeachLbl: Label 'MERMAID BEACH', MaxLength = 30; + MermaidWatersLbl: Label 'MERMAID WATERS', MaxLength = 30; + NobbyBeachLbl: Label 'NOBBY BEACH', MaxLength = 30; + PacificFairLbl: Label 'PACIFIC FAIR', MaxLength = 30; + QSupercentreLbl: Label 'Q SUPERCENTRE', MaxLength = 30; + WestBurleighLbl: Label 'WEST BURLEIGH', MaxLength = 30; + BurleighHeadsLbl: Label 'BURLEIGH HEADS', MaxLength = 30; + BurleighTownLbl: Label 'BURLEIGH TOWN', MaxLength = 30; + BurleighWatersLbl: Label 'BURLEIGH WATERS', MaxLength = 30; + MiamiLbl: Label 'MIAMI', MaxLength = 30; + ElanoraLbl: Label 'ELANORA', MaxLength = 30; + CurrumbinLbl: Label 'CURRUMBIN', MaxLength = 30; + CurrumbinDcLbl: Label 'CURRUMBIN DC', MaxLength = 30; + CurrumbinValleyLbl: Label 'CURRUMBIN VALLEY', MaxLength = 30; + CurrumbinWatersLbl: Label 'CURRUMBIN WATERS', MaxLength = 30; + TugunLbl: Label 'TUGUN', MaxLength = 30; + BilingaLbl: Label 'BILINGA', MaxLength = 30; + ClearIslandWatersLbl: Label 'CLEAR ISLAND WATERS', MaxLength = 30; + MerrimacLbl: Label 'MERRIMAC', MaxLength = 30; + RobinaLbl: Label 'ROBINA', MaxLength = 30; + VarsityLakesLbl: Label 'VARSITY LAKES', MaxLength = 30; + TallebudgeraLbl: Label 'TALLEBUDGERA', MaxLength = 30; + TallebudgeraValleyLbl: Label 'TALLEBUDGERA VALLEY', MaxLength = 30; + BondUniversityLbl: Label 'BOND UNIVERSITY', MaxLength = 30; + RobinaTownCentreLbl: Label 'ROBINA TOWN CENTRE', MaxLength = 30; + TamborineLbl: Label 'TAMBORINE', MaxLength = 30; + EagleHeightsLbl: Label 'EAGLE HEIGHTS', MaxLength = 30; + MountTamborineLbl: Label 'MOUNT TAMBORINE', MaxLength = 30; + NorthTamborineLbl: Label 'NORTH TAMBORINE', MaxLength = 30; + CanungraLbl: Label 'CANUNGRA', MaxLength = 30; + LamingtonNationalParkLbl: Label 'LAMINGTON NATIONAL PARK', MaxLength = 30; + WitherenLbl: Label 'WITHEREN', MaxLength = 30; + WonglepongLbl: Label 'WONGLEPONG', MaxLength = 30; + JimboombaLbl: Label 'JIMBOOMBA', MaxLength = 30; + BeaudesertLbl: Label 'BEAUDESERT', MaxLength = 30; + CedarGroveLbl: Label 'CEDAR GROVE', MaxLength = 30; + CedarValeLbl: Label 'CEDAR VALE', MaxLength = 30; + KooralbynLbl: Label 'KOORALBYN', MaxLength = 30; + PalenCreekLbl: Label 'PALEN CREEK', MaxLength = 30; + RathdowneyLbl: Label 'RATHDOWNEY', MaxLength = 30; + AugustineHeightsLbl: Label 'AUGUSTINE HEIGHTS', MaxLength = 30; + BellbirdParkLbl: Label 'BELLBIRD PARK', MaxLength = 30; + BrookwaterLbl: Label 'BROOKWATER', MaxLength = 30; + CamiraLbl: Label 'CAMIRA', MaxLength = 30; + CaroleParkLbl: Label 'CAROLE PARK', MaxLength = 30; + GailesLbl: Label 'GAILES', MaxLength = 30; + GoodnaLbl: Label 'GOODNA', MaxLength = 30; + SpringfieldLakesLbl: Label 'SPRINGFIELD LAKES', MaxLength = 30; + CollingwoodParkLbl: Label 'COLLINGWOOD PARK', MaxLength = 30; + RedbankPlainsLbl: Label 'REDBANK PLAINS', MaxLength = 30; + DinmoreLbl: Label 'DINMORE', MaxLength = 30; + NewChumLbl: Label 'NEW CHUM', MaxLength = 30; + BlackstoneLbl: Label 'BLACKSTONE', MaxLength = 30; + BoovalLbl: Label 'BOOVAL', MaxLength = 30; + BundambaLbl: Label 'BUNDAMBA', MaxLength = 30; + EbbwValeLbl: Label 'EBBW VALE', MaxLength = 30; + NorthBoovalLbl: Label 'NORTH BOOVAL', MaxLength = 30; + SilkstoneLbl: Label 'SILKSTONE', MaxLength = 30; + BasinPocketLbl: Label 'BASIN POCKET', MaxLength = 30; + BrassallLbl: Label 'BRASSALL', MaxLength = 30; + BremerLbl: Label 'BREMER', MaxLength = 30; + CoalfallsLbl: Label 'COALFALLS', MaxLength = 30; + EastIpswichLbl: Label 'EAST IPSWICH', MaxLength = 30; + EasternHeightsLbl: Label 'EASTERN HEIGHTS', MaxLength = 30; + FlindersViewLbl: Label 'FLINDERS VIEW', MaxLength = 30; + IpswichLbl: Label 'IPSWICH', MaxLength = 30; + LimestoneRidgesLbl: Label 'LIMESTONE RIDGES', MaxLength = 30; + MooresPocketLbl: Label 'MOORES POCKET', MaxLength = 30; + NorthIpswichLbl: Label 'NORTH IPSWICH', MaxLength = 30; + NorthTivoliLbl: Label 'NORTH TIVOLI', MaxLength = 30; + OneMileLbl: Label 'ONE MILE', MaxLength = 30; + RaceviewLbl: Label 'RACEVIEW', MaxLength = 30; + SadliersCrossingLbl: Label 'SADLIERS CROSSING', MaxLength = 30; + TivoliLbl: Label 'TIVOLI', MaxLength = 30; + WestIpswichLbl: Label 'WEST IPSWICH', MaxLength = 30; + WulkurakaLbl: Label 'WULKURAKA', MaxLength = 30; + YamantoLbl: Label 'YAMANTO', MaxLength = 30; + AmberleyLbl: Label 'AMBERLEY', MaxLength = 30; + AvocaValeLbl: Label 'AVOCA VALE', MaxLength = 30; + BanksCreekLbl: Label 'BANKS CREEK', MaxLength = 30; + BarellanPointLbl: Label 'BARELLAN POINT', MaxLength = 30; + BenarkinLbl: Label 'BENARKIN', MaxLength = 30; + BenarkinNorthLbl: Label 'BENARKIN NORTH', MaxLength = 30; + BlackbuttNorthLbl: Label 'BLACKBUTT NORTH', MaxLength = 30; + BlackbuttSouthLbl: Label 'BLACKBUTT SOUTH', MaxLength = 30; + BlacksoilLbl: Label 'BLACKSOIL', MaxLength = 30; + BorallonLbl: Label 'BORALLON', MaxLength = 30; + CherryCreekLbl: Label 'CHERRY CREEK', MaxLength = 30; + ChuwarLbl: Label 'CHUWAR', MaxLength = 30; + ColintonLbl: Label 'COLINTON', MaxLength = 30; + DeebingHeightsLbl: Label 'DEEBING HEIGHTS', MaxLength = 30; + FairneyViewLbl: Label 'FAIRNEY VIEW', MaxLength = 30; + FernvaleLbl: Label 'FERNVALE', MaxLength = 30; + GoogaCreekLbl: Label 'GOOGA CREEK', MaxLength = 30; + GoolmanLbl: Label 'GOOLMAN', MaxLength = 30; + HaigsleaLbl: Label 'HAIGSLEA', MaxLength = 30; + HarlinLbl: Label 'HARLIN', MaxLength = 30; + IronbarkLbl: Label 'IRONBARK', MaxLength = 30; + KaraleeLbl: Label 'KARALEE', MaxLength = 30; + KaranaDownsLbl: Label 'KARANA DOWNS', MaxLength = 30; + KholoLbl: Label 'KHOLO', MaxLength = 30; + LakeManchesterLbl: Label 'LAKE MANCHESTER', MaxLength = 30; + LinvilleLbl: Label 'LINVILLE', MaxLength = 30; + MooreLbl: Label 'MOORE', MaxLength = 30; + MountBingaLbl: Label 'MOUNT BINGA', MaxLength = 30; + MountCrosbyLbl: Label 'MOUNT CROSBY', MaxLength = 30; + MountStanleyLbl: Label 'MOUNT STANLEY', MaxLength = 30; + MuirleaLbl: Label 'MUIRLEA', MaxLength = 30; + NukkuLbl: Label 'NUKKU', MaxLength = 30; + PeakCrossingLbl: Label 'PEAK CROSSING', MaxLength = 30; + PineMountainLbl: Label 'PINE MOUNTAIN', MaxLength = 30; + RipleyLbl: Label 'RIPLEY', MaxLength = 30; + SouthRipleyLbl: Label 'SOUTH RIPLEY', MaxLength = 30; + TeelahLbl: Label 'TEELAH', MaxLength = 30; + ThagoonaLbl: Label 'THAGOONA', MaxLength = 30; + WalloonLbl: Label 'WALLOON', MaxLength = 30; + WillowbankLbl: Label 'WILLOWBANK', MaxLength = 30; + HarrisvilleLbl: Label 'HARRISVILLE', MaxLength = 30; + AratulaLbl: Label 'ARATULA', MaxLength = 30; + FrazerviewLbl: Label 'FRAZERVIEW', MaxLength = 30; + KalbarLbl: Label 'KALBAR', MaxLength = 30; + BoonahLbl: Label 'BOONAH', MaxLength = 30; + RoadvaleLbl: Label 'ROADVALE', MaxLength = 30; + BuarabaSouthLbl: Label 'BUARABA SOUTH', MaxLength = 30; + ChurchableLbl: Label 'CHURCHABLE', MaxLength = 30; + CoominyaLbl: Label 'COOMINYA', MaxLength = 30; + LockyerWatersLbl: Label 'LOCKYER WATERS', MaxLength = 30; + LowoodLbl: Label 'LOWOOD', MaxLength = 30; + MindenLbl: Label 'MINDEN', MaxLength = 30; + PatrickEstateLbl: Label 'PATRICK ESTATE', MaxLength = 30; + WivenhoeHillLbl: Label 'WIVENHOE HILL', MaxLength = 30; + BrydenLbl: Label 'BRYDEN', MaxLength = 30; + CaboonbahLbl: Label 'CABOONBAH', MaxLength = 30; + CrossdaleLbl: Label 'CROSSDALE', MaxLength = 30; + EskLbl: Label 'ESK', MaxLength = 30; + GlenEskLbl: Label 'GLEN ESK', MaxLength = 30; + MoombraLbl: Label 'MOOMBRA', MaxLength = 30; + MountByronLbl: Label 'MOUNT BYRON', MaxLength = 30; + RedbankCreekLbl: Label 'REDBANK CREEK', MaxLength = 30; + SomersetDamLbl: Label 'SOMERSET DAM', MaxLength = 30; + BraemoreLbl: Label 'BRAEMORE', MaxLength = 30; + CooeeimbardiLbl: Label 'COOEEIMBARDI', MaxLength = 30; + FulhamLbl: Label 'FULHAM', MaxLength = 30; + LowerCressbrookLbl: Label 'LOWER CRESSBROOK', MaxLength = 30; + OttabaLbl: Label 'OTTABA', MaxLength = 30; + ScrubCreekLbl: Label 'SCRUB CREEK', MaxLength = 30; + ToogoolawahLbl: Label 'TOOGOOLAWAH', MaxLength = 30; + YimbunLbl: Label 'YIMBUN', MaxLength = 30; + GrandchesterLbl: Label 'GRANDCHESTER', MaxLength = 30; + LanefieldLbl: Label 'LANEFIELD', MaxLength = 30; + LowerMountWalkerLbl: Label 'LOWER MOUNT WALKER', MaxLength = 30; + MerryvaleLbl: Label 'MERRYVALE', MaxLength = 30; + MountMortLbl: Label 'MOUNT MORT', MaxLength = 30; + MountWalkerWestLbl: Label 'MOUNT WALKER WEST', MaxLength = 30; + TallegallaLbl: Label 'TALLEGALLA', MaxLength = 30; + TheBluffLbl: Label 'THE BLUFF', MaxLength = 30; + KensingtonGroveLbl: Label 'KENSINGTON GROVE', MaxLength = 30; + LaidleyLbl: Label 'LAIDLEY', MaxLength = 30; + LaidleyCreekWestLbl: Label 'LAIDLEY CREEK WEST', MaxLength = 30; + LaidleyHeightsLbl: Label 'LAIDLEY HEIGHTS', MaxLength = 30; + LaidleyNorthLbl: Label 'LAIDLEY NORTH', MaxLength = 30; + PlainlandLbl: Label 'PLAINLAND', MaxLength = 30; + TownsonLbl: Label 'TOWNSON', MaxLength = 30; + GlenCairnLbl: Label 'GLEN CAIRN', MaxLength = 30; + GlenoreGroveLbl: Label 'GLENORE GROVE', MaxLength = 30; + LynfordLbl: Label 'LYNFORD', MaxLength = 30; + AdareLbl: Label 'ADARE', MaxLength = 30; + BlackDuckCreekLbl: Label 'BLACK DUCK CREEK', MaxLength = 30; + CaffeyLbl: Label 'CAFFEY', MaxLength = 30; + CollegeViewLbl: Label 'COLLEGE VIEW', MaxLength = 30; + EastHaldonLbl: Label 'EAST HALDON', MaxLength = 30; + FordsdaleLbl: Label 'FORDSDALE', MaxLength = 30; + GattonLbl: Label 'GATTON', MaxLength = 30; + IngoldsbyLbl: Label 'INGOLDSBY', MaxLength = 30; + JunctionViewLbl: Label 'JUNCTION VIEW', MaxLength = 30; + LakeClarendonLbl: Label 'LAKE CLARENDON', MaxLength = 30; + LawesLbl: Label 'LAWES', MaxLength = 30; + LefthandBranchLbl: Label 'LEFTHAND BRANCH', MaxLength = 30; + LowerTenthillLbl: Label 'LOWER TENTHILL', MaxLength = 30; + MortonValeLbl: Label 'MORTON VALE', MaxLength = 30; + MountSylviaLbl: Label 'MOUNT SYLVIA', MaxLength = 30; + PlacidHillsLbl: Label 'PLACID HILLS', MaxLength = 30; + RocksideLbl: Label 'ROCKSIDE', MaxLength = 30; + RopeleyLbl: Label 'ROPELEY', MaxLength = 30; + SpringCreekLbl: Label 'SPRING CREEK', MaxLength = 30; + UpperTenthillLbl: Label 'UPPER TENTHILL', MaxLength = 30; + VinegarHillLbl: Label 'VINEGAR HILL', MaxLength = 30; + CarpendaleLbl: Label 'CARPENDALE', MaxLength = 30; + EgyptLbl: Label 'EGYPT', MaxLength = 30; + FlagstoneCreekLbl: Label 'FLAGSTONE CREEK', MaxLength = 30; + HelidonLbl: Label 'HELIDON', MaxLength = 30; + HelidonSpaLbl: Label 'HELIDON SPA', MaxLength = 30; + LockyerLbl: Label 'LOCKYER', MaxLength = 30; + RockmountLbl: Label 'ROCKMOUNT', MaxLength = 30; + SeventeenMileLbl: Label 'SEVENTEEN MILE', MaxLength = 30; + SilverRidgeLbl: Label 'SILVER RIDGE', MaxLength = 30; + StockyardLbl: Label 'STOCKYARD', MaxLength = 30; + UpperFlagstoneLbl: Label 'UPPER FLAGSTONE', MaxLength = 30; + GattonCollegeLbl: Label 'GATTON COLLEGE', MaxLength = 30; + MarburgLbl: Label 'MARBURG', MaxLength = 30; + GranthamLbl: Label 'GRANTHAM', MaxLength = 30; + MaMaCreekLbl: Label 'MA MA CREEK', MaxLength = 30; + MountWhitestoneLbl: Label 'MOUNT WHITESTONE', MaxLength = 30; + VeradillaLbl: Label 'VERADILLA', MaxLength = 30; + WinwillLbl: Label 'WINWILL', MaxLength = 30; + AtholLbl: Label 'ATHOL', MaxLength = 30; + CentenaryHeightsLbl: Label 'CENTENARY HEIGHTS', MaxLength = 30; + CranleyLbl: Label 'CRANLEY', MaxLength = 30; + DarlingHeightsLbl: Label 'DARLING HEIGHTS', MaxLength = 30; + DraytonLbl: Label 'DRAYTON', MaxLength = 30; + EastToowoombaLbl: Label 'EAST TOOWOOMBA', MaxLength = 30; + FinnieLbl: Label 'FINNIE', MaxLength = 30; + GlenvaleLbl: Label 'GLENVALE', MaxLength = 30; + HarlaxtonLbl: Label 'HARLAXTON', MaxLength = 30; + HarristownLbl: Label 'HARRISTOWN', MaxLength = 30; + KearneysSpringLbl: Label 'KEARNEYS SPRING', MaxLength = 30; + MiddleRidgeLbl: Label 'MIDDLE RIDGE', MaxLength = 30; + MountKynochLbl: Label 'MOUNT KYNOCH', MaxLength = 30; + MountLoftyLbl: Label 'MOUNT LOFTY', MaxLength = 30; + MountRascalLbl: Label 'MOUNT RASCAL', MaxLength = 30; + NorthToowoombaLbl: Label 'NORTH TOOWOOMBA', MaxLength = 30; + NorthlandsLbl: Label 'NORTHLANDS', MaxLength = 30; + PrinceHenryHeightsLbl: Label 'PRINCE HENRY HEIGHTS', MaxLength = 30; + RangevilleLbl: Label 'RANGEVILLE', MaxLength = 30; + RedwoodLbl: Label 'REDWOOD', MaxLength = 30; + RockvilleLbl: Label 'ROCKVILLE', MaxLength = 30; + SouthToowoombaLbl: Label 'SOUTH TOOWOOMBA', MaxLength = 30; + SouthtownLbl: Label 'SOUTHTOWN', MaxLength = 30; + ToowoombaLbl: Label 'TOOWOOMBA', MaxLength = 30; + ToowoombaEastLbl: Label 'TOOWOOMBA EAST', MaxLength = 30; + ToowoombaSouthLbl: Label 'TOOWOOMBA SOUTH', MaxLength = 30; + ToowoombaWestLbl: Label 'TOOWOOMBA WEST', MaxLength = 30; + TopCampLbl: Label 'TOP CAMP', MaxLength = 30; + WellcampLbl: Label 'WELLCAMP', MaxLength = 30; + WestbrookLbl: Label 'WESTBROOK', MaxLength = 30; + WilsontonLbl: Label 'WILSONTON', MaxLength = 30; + WilsontonHeightsLbl: Label 'WILSONTON HEIGHTS', MaxLength = 30; + WyallaPlazaLbl: Label 'WYALLA PLAZA', MaxLength = 30; + AmiensLbl: Label 'AMIENS', MaxLength = 30; + BallardLbl: Label 'BALLARD', MaxLength = 30; + BapaumeLbl: Label 'BAPAUME', MaxLength = 30; + BirnamLbl: Label 'BIRNAM', MaxLength = 30; + BlanchviewLbl: Label 'BLANCHVIEW', MaxLength = 30; + BranchviewLbl: Label 'BRANCHVIEW', MaxLength = 30; + CabarlahLbl: Label 'CABARLAH', MaxLength = 30; + CementMillsLbl: Label 'CEMENT MILLS', MaxLength = 30; + CondaminePlainsLbl: Label 'CONDAMINE PLAINS', MaxLength = 30; + CutellaLbl: Label 'CUTELLA', MaxLength = 30; + DerrymoreLbl: Label 'DERRYMORE', MaxLength = 30; + DjuanLbl: Label 'DJUAN', MaxLength = 30; + DoctorCreekLbl: Label 'DOCTOR CREEK', MaxLength = 30; + EvergreenLbl: Label 'EVERGREEN', MaxLength = 30; + FifteenMileLbl: Label 'FIFTEEN MILE', MaxLength = 30; + GehamLbl: Label 'GEHAM', MaxLength = 30; + GoreLbl: Label 'GORE', MaxLength = 30; + GowrieLittlePlainLbl: Label 'GOWRIE LITTLE PLAIN', MaxLength = 30; + GrapetreeLbl: Label 'GRAPETREE', MaxLength = 30; + GroomsvilleLbl: Label 'GROOMSVILLE', MaxLength = 30; + HighgroveLbl: Label 'HIGHGROVE', MaxLength = 30; + IredaleLbl: Label 'IREDALE', MaxLength = 30; + KararaLbl: Label 'KARARA', MaxLength = 30; + KleintonLbl: Label 'KLEINTON', MaxLength = 30; + KulpiLbl: Label 'KULPI', MaxLength = 30; + KurrowahLbl: Label 'KURROWAH', MaxLength = 30; + LilyvaleLbl: Label 'LILYVALE', MaxLength = 30; + LyraLbl: Label 'LYRA', MaxLength = 30; + MaclaganLbl: Label 'MACLAGAN', MaxLength = 30; + MallingLbl: Label 'MALLING', MaxLength = 30; + MeringandanLbl: Label 'MERINGANDAN', MaxLength = 30; + MeringandanWestLbl: Label 'MERINGANDAN WEST', MaxLength = 30; + MerrittsCreekLbl: Label 'MERRITTS CREEK', MaxLength = 30; + MountLukeLbl: Label 'MOUNT LUKE', MaxLength = 30; + MuniganeenLbl: Label 'MUNIGANEEN', MaxLength = 30; + NarkoLbl: Label 'NARKO', MaxLength = 30; + NorthMaclaganLbl: Label 'NORTH MACLAGAN', MaxLength = 30; + OmanAmaLbl: Label 'OMAN AMA', MaxLength = 30; + PalmtreeLbl: Label 'PALMTREE', MaxLength = 30; + PampasLbl: Label 'PAMPAS', MaxLength = 30; + PecheyLbl: Label 'PECHEY', MaxLength = 30; + PerangaLbl: Label 'PERANGA', MaxLength = 30; + PerseveranceLbl: Label 'PERSEVERANCE', MaxLength = 30; + PostmansRidgeLbl: Label 'POSTMANS RIDGE', MaxLength = 30; + PozieresLbl: Label 'POZIERES', MaxLength = 30; + RamsayLbl: Label 'RAMSAY', MaxLength = 30; + RangemoreLbl: Label 'RANGEMORE', MaxLength = 30; + RavensbourneLbl: Label 'RAVENSBOURNE', MaxLength = 30; + SevernleaLbl: Label 'SEVERNLEA', MaxLength = 30; + SpringBluffLbl: Label 'SPRING BLUFF', MaxLength = 30; + StAubynLbl: Label 'ST AUBYN', MaxLength = 30; + ThornvilleLbl: Label 'THORNVILLE', MaxLength = 30; + ToowoombaMcLbl: Label 'TOOWOOMBA MC', MaxLength = 30; + TummavilleLbl: Label 'TUMMAVILLE', MaxLength = 30; + UmbiramLbl: Label 'UMBIRAM', MaxLength = 30; + UpperLockyerLbl: Label 'UPPER LOCKYER', MaxLength = 30; + WhichelloLbl: Label 'WHICHELLO', MaxLength = 30; + WhiteMountainLbl: Label 'WHITE MOUNTAIN', MaxLength = 30; + WithcottLbl: Label 'WITHCOTT', MaxLength = 30; + WoolmerLbl: Label 'WOOLMER', MaxLength = 30; + WutulLbl: Label 'WUTUL', MaxLength = 30; + WyreemaLbl: Label 'WYREEMA', MaxLength = 30; + YalangurLbl: Label 'YALANGUR', MaxLength = 30; + YandillaLbl: Label 'YANDILLA', MaxLength = 30; + BergenLbl: Label 'BERGEN', MaxLength = 30; + EastCooyarLbl: Label 'EAST COOYAR', MaxLength = 30; + HadenLbl: Label 'HADEN', MaxLength = 30; + GoombungeeLbl: Label 'GOOMBUNGEE', MaxLength = 30; + GlenavenLbl: Label 'GLENAVEN', MaxLength = 30; + PiercesCreekLbl: Label 'PIERCES CREEK', MaxLength = 30; + BongeenLbl: Label 'BONGEEN', MaxLength = 30; + BroxburnLbl: Label 'BROXBURN', MaxLength = 30; + EvansleaLbl: Label 'EVANSLEA', MaxLength = 30; + IrongateLbl: Label 'IRONGATE', MaxLength = 30; + KincoraLbl: Label 'KINCORA', MaxLength = 30; + LinthorpeLbl: Label 'LINTHORPE', MaxLength = 30; + MotleyLbl: Label 'MOTLEY', MaxLength = 30; + MountTysonLbl: Label 'MOUNT TYSON', MaxLength = 30; + NorthBranchLbl: Label 'NORTH BRANCH', MaxLength = 30; + NorwinLbl: Label 'NORWIN', MaxLength = 30; + PittsworthLbl: Label 'PITTSWORTH', MaxLength = 30; + PurrawundaLbl: Label 'PURRAWUNDA', MaxLength = 30; + RossvaleLbl: Label 'ROSSVALE', MaxLength = 30; + ScrubbyMountainLbl: Label 'SCRUBBY MOUNTAIN', MaxLength = 30; + SpringsideLbl: Label 'SPRINGSIDE', MaxLength = 30; + StoneleighLbl: Label 'STONELEIGH', MaxLength = 30; + YarranleaLbl: Label 'YARRANLEA', MaxLength = 30; + BringalilyLbl: Label 'BRINGALILY', MaxLength = 30; + BulliCreekLbl: Label 'BULLI CREEK', MaxLength = 30; + CanningCreekLbl: Label 'CANNING CREEK', MaxLength = 30; + CaptainsMountainLbl: Label 'CAPTAINS MOUNTAIN', MaxLength = 30; + CondamineFarmsLbl: Label 'CONDAMINE FARMS', MaxLength = 30; + CypressGardensLbl: Label 'CYPRESS GARDENS', MaxLength = 30; + DomvilleLbl: Label 'DOMVILLE', MaxLength = 30; + ForestRidgeLbl: Label 'FOREST RIDGE', MaxLength = 30; + GraysGateLbl: Label 'GRAYS GATE', MaxLength = 30; + KooroongarraLbl: Label 'KOOROONGARRA', MaxLength = 30; + LavelleLbl: Label 'LAVELLE', MaxLength = 30; + MillmerranLbl: Label 'MILLMERRAN', MaxLength = 30; + MillmerranDownsLbl: Label 'MILLMERRAN DOWNS', MaxLength = 30; + MillmerranWoodsLbl: Label 'MILLMERRAN WOODS', MaxLength = 30; + MillwoodLbl: Label 'MILLWOOD', MaxLength = 30; + MountEmlynLbl: Label 'MOUNT EMLYN', MaxLength = 30; + PunchsCreekLbl: Label 'PUNCHS CREEK', MaxLength = 30; + RockyCreekLbl: Label 'ROCKY CREEK', MaxLength = 30; + StonehengeLbl: Label 'STONEHENGE', MaxLength = 30; + ThePinesLbl: Label 'THE PINES', MaxLength = 30; + TurallinLbl: Label 'TURALLIN', MaxLength = 30; + WattleRidgeLbl: Label 'WATTLE RIDGE', MaxLength = 30; + WesternCreekLbl: Label 'WESTERN CREEK', MaxLength = 30; + WoondulLbl: Label 'WOONDUL', MaxLength = 30; + CambooyaLbl: Label 'CAMBOOYA', MaxLength = 30; + FeltonLbl: Label 'FELTON', MaxLength = 30; + FeltonSouthLbl: Label 'FELTON SOUTH', MaxLength = 30; + ValeViewLbl: Label 'VALE VIEW', MaxLength = 30; + BudgeeLbl: Label 'BUDGEE', MaxLength = 30; + GreenmountLbl: Label 'GREENMOUNT', MaxLength = 30; + GreenmountEastLbl: Label 'GREENMOUNT EAST', MaxLength = 30; + WestHaldonLbl: Label 'WEST HALDON', MaxLength = 30; + NobbyLbl: Label 'NOBBY', MaxLength = 30; + HeadingtonHillLbl: Label 'HEADINGTON HILL', MaxLength = 30; + ManapouriLbl: Label 'MANAPOURI', MaxLength = 30; + MissenFlatLbl: Label 'MISSEN FLAT', MaxLength = 30; + MountMolarLbl: Label 'MOUNT MOLAR', MaxLength = 30; + NeviltonLbl: Label 'NEVILTON', MaxLength = 30; + RyefordLbl: Label 'RYEFORD', MaxLength = 30; + SandyCampLbl: Label 'SANDY CAMP', MaxLength = 30; + VictoriaHillLbl: Label 'VICTORIA HILL', MaxLength = 30; + AlloraLbl: Label 'ALLORA', MaxLength = 30; + DeucharLbl: Label 'DEUCHAR', MaxLength = 30; + GoomburraLbl: Label 'GOOMBURRA', MaxLength = 30; + MountMarshallLbl: Label 'MOUNT MARSHALL', MaxLength = 30; + SouthbrookLbl: Label 'SOUTHBROOK', MaxLength = 30; + BrooksteadLbl: Label 'BROOKSTEAD', MaxLength = 30; + LeyburnLbl: Label 'LEYBURN', MaxLength = 30; + WarwickLbl: Label 'WARWICK', MaxLength = 30; + EmuValeLbl: Label 'EMU VALE', MaxLength = 30; + YanganLbl: Label 'YANGAN', MaxLength = 30; + TannymorelLbl: Label 'TANNYMOREL', MaxLength = 30; + DalveenLbl: Label 'DALVEEN', MaxLength = 30; + CottonvaleLbl: Label 'COTTONVALE', MaxLength = 30; + ThulimbahLbl: Label 'THULIMBAH', MaxLength = 30; + TheSummitLbl: Label 'THE SUMMIT', MaxLength = 30; + ApplethorpeLbl: Label 'APPLETHORPE', MaxLength = 30; + KyoombaLbl: Label 'KYOOMBA', MaxLength = 30; + StanthorpeLbl: Label 'STANTHORPE', MaxLength = 30; + GlenAplinLbl: Label 'GLEN APLIN', MaxLength = 30; + BallandeanLbl: Label 'BALLANDEAN', MaxLength = 30; + WallangarraLbl: Label 'WALLANGARRA', MaxLength = 30; + LimevaleLbl: Label 'LIMEVALE', MaxLength = 30; + BeeboLbl: Label 'BEEBO', MaxLength = 30; + GlenarbonLbl: Label 'GLENARBON', MaxLength = 30; + MaidenheadLbl: Label 'MAIDENHEAD', MaxLength = 30; + RivertonLbl: Label 'RIVERTON', MaxLength = 30; + SilverSpurLbl: Label 'SILVER SPUR', MaxLength = 30; + SmithleaLbl: Label 'SMITHLEA', MaxLength = 30; + TexasLbl: Label 'TEXAS', MaxLength = 30; + WatsonsCrossingLbl: Label 'WATSONS CROSSING', MaxLength = 30; + BrushCreekLbl: Label 'BRUSH CREEK', MaxLength = 30; + ByberaLbl: Label 'BYBERA', MaxLength = 30; + CoolmundaLbl: Label 'COOLMUNDA', MaxLength = 30; + GreenupLbl: Label 'GREENUP', MaxLength = 30; + MosquitoCreekLbl: Label 'MOSQUITO CREEK', MaxLength = 30; + TerricaLbl: Label 'TERRICA', MaxLength = 30; + WarrooLbl: Label 'WARROO', MaxLength = 30; + WhetstoneLbl: Label 'WHETSTONE', MaxLength = 30; + KurumbulLbl: Label 'KURUMBUL', MaxLength = 30; + YelarbonLbl: Label 'YELARBON', MaxLength = 30; + BillaBillaLbl: Label 'BILLA BILLA', MaxLength = 30; + CalinguneeLbl: Label 'CALINGUNEE', MaxLength = 30; + CallandoonLbl: Label 'CALLANDOON', MaxLength = 30; + GoodarLbl: Label 'GOODAR', MaxLength = 30; + GoondiwindiLbl: Label 'GOONDIWINDI', MaxLength = 30; + KindonLbl: Label 'KINDON', MaxLength = 30; + LundavraLbl: Label 'LUNDAVRA', MaxLength = 30; + WondalliLbl: Label 'WONDALLI', MaxLength = 30; + WyagaLbl: Label 'WYAGA', MaxLength = 30; + YagaburneLbl: Label 'YAGABURNE', MaxLength = 30; + KingsthorpeLbl: Label 'KINGSTHORPE', MaxLength = 30; + AclandLbl: Label 'ACLAND', MaxLength = 30; + BalgowanLbl: Label 'BALGOWAN', MaxLength = 30; + BooduaLbl: Label 'BOODUA', MaxLength = 30; + DevonParkLbl: Label 'DEVON PARK', MaxLength = 30; + GreenwoodLbl: Label 'GREENWOOD', MaxLength = 30; + HighlandPlainsLbl: Label 'HIGHLAND PLAINS', MaxLength = 30; + KelvinhaughLbl: Label 'KELVINHAUGH', MaxLength = 30; + MountIrvingLbl: Label 'MOUNT IRVING', MaxLength = 30; + MulduLbl: Label 'MULDU', MaxLength = 30; + OakeyLbl: Label 'OAKEY', MaxLength = 30; + RosaliePlainsLbl: Label 'ROSALIE PLAINS', MaxLength = 30; + SabineLbl: Label 'SABINE', MaxLength = 30; + SilverleighLbl: Label 'SILVERLEIGH', MaxLength = 30; + YargullenLbl: Label 'YARGULLEN', MaxLength = 30; + CooyarLbl: Label 'COOYAR', MaxLength = 30; + KooralginLbl: Label 'KOORALGIN', MaxLength = 30; + BrymarooLbl: Label 'BRYMAROO', MaxLength = 30; + JondaryanLbl: Label 'JONDARYAN', MaxLength = 30; + MaluLbl: Label 'MALU', MaxLength = 30; + MountMoriahLbl: Label 'MOUNT MORIAH', MaxLength = 30; + QuinalowLbl: Label 'QUINALOW', MaxLength = 30; + WestPrairieLbl: Label 'WEST PRAIRIE', MaxLength = 30; + BowenvilleLbl: Label 'BOWENVILLE', MaxLength = 30; + FormartinLbl: Label 'FORMARTIN', MaxLength = 30; + IrvingdaleLbl: Label 'IRVINGDALE', MaxLength = 30; + WainuiLbl: Label 'WAINUI', MaxLength = 30; + BunyaMountainsLbl: Label 'BUNYA MOUNTAINS', MaxLength = 30; + DalbyLbl: Label 'DALBY', MaxLength = 30; + GrassdaleLbl: Label 'GRASSDALE', MaxLength = 30; + TiptonLbl: Label 'TIPTON', MaxLength = 30; + BoondandillaLbl: Label 'BOONDANDILLA', MaxLength = 30; + HannafordLbl: Label 'HANNAFORD', MaxLength = 30; + JimbourLbl: Label 'JIMBOUR', MaxLength = 30; + KaimkillenbunLbl: Label 'KAIMKILLENBUN', MaxLength = 30; + KoganLbl: Label 'KOGAN', MaxLength = 30; + MacalisterLbl: Label 'MACALISTER', MaxLength = 30; + MoonieLbl: Label 'MOONIE', MaxLength = 30; + TheGumsLbl: Label 'THE GUMS', MaxLength = 30; + WeirRiverLbl: Label 'WEIR RIVER', MaxLength = 30; + CattleCreekLbl: Label 'CATTLE CREEK', MaxLength = 30; + CecilPlainsLbl: Label 'CECIL PLAINS', MaxLength = 30; + NangweeLbl: Label 'NANGWEE', MaxLength = 30; + JandowaeLbl: Label 'JANDOWAE', MaxLength = 30; + WarraLbl: Label 'WARRA', MaxLength = 30; + BrigalowLbl: Label 'BRIGALOW', MaxLength = 30; + ChinchillaLbl: Label 'CHINCHILLA', MaxLength = 30; + HopelandLbl: Label 'HOPELAND', MaxLength = 30; + WieambillaLbl: Label 'WIEAMBILLA', MaxLength = 30; + GurulmundiLbl: Label 'GURULMUNDI', MaxLength = 30; + HookswoodLbl: Label 'HOOKSWOOD', MaxLength = 30; + KowguranLbl: Label 'KOWGURAN', MaxLength = 30; + MilesLbl: Label 'MILES', MaxLength = 30; + MyallParkLbl: Label 'MYALL PARK', MaxLength = 30; + PelhamLbl: Label 'PELHAM', MaxLength = 30; + BarramornieLbl: Label 'BARRAMORNIE', MaxLength = 30; + CondamineLbl: Label 'CONDAMINE', MaxLength = 30; + MorabyLbl: Label 'MORABY', MaxLength = 30; + NangramLbl: Label 'NANGRAM', MaxLength = 30; + PineHillsLbl: Label 'PINE HILLS', MaxLength = 30; + SunnysideLbl: Label 'SUNNYSIDE', MaxLength = 30; + YulabillaLbl: Label 'YULABILLA', MaxLength = 30; + SuratLbl: Label 'SURAT', MaxLength = 30; + GulugubaLbl: Label 'GULUGUBA', MaxLength = 30; + GrosmontLbl: Label 'GROSMONT', MaxLength = 30; + WandoanLbl: Label 'WANDOAN', MaxLength = 30; + BroadmereLbl: Label 'BROADMERE', MaxLength = 30; + CooradaLbl: Label 'COORADA', MaxLength = 30; + GhinghindaLbl: Label 'GHINGHINDA', MaxLength = 30; + GlenhaughtonLbl: Label 'GLENHAUGHTON', MaxLength = 30; + GwambegwineLbl: Label 'GWAMBEGWINE', MaxLength = 30; + HornetBankLbl: Label 'HORNET BANK', MaxLength = 30; + PeekADooLbl: Label 'PEEK-A-DOO', MaxLength = 30; + TaroomLbl: Label 'TAROOM', MaxLength = 30; + GoranbaLbl: Label 'GORANBA', MaxLength = 30; + TaraLbl: Label 'TARA', MaxLength = 30; + MeandarraLbl: Label 'MEANDARRA', MaxLength = 30; + GlenmorganLbl: Label 'GLENMORGAN', MaxLength = 30; + DrillhamLbl: Label 'DRILLHAM', MaxLength = 30; + DrillhamSouthLbl: Label 'DRILLHAM SOUTH', MaxLength = 30; + GlenaubynLbl: Label 'GLENAUBYN', MaxLength = 30; + DulaccaLbl: Label 'DULACCA', MaxLength = 30; + JacksonLbl: Label 'JACKSON', MaxLength = 30; + JacksonNorthLbl: Label 'JACKSON NORTH', MaxLength = 30; + JacksonSouthLbl: Label 'JACKSON SOUTH', MaxLength = 30; + YulebaLbl: Label 'YULEBA', MaxLength = 30; + YulebaNorthLbl: Label 'YULEBA NORTH', MaxLength = 30; + YulebaSouthLbl: Label 'YULEBA SOUTH', MaxLength = 30; + PickanjinnieLbl: Label 'PICKANJINNIE', MaxLength = 30; + WallumbillaLbl: Label 'WALLUMBILLA', MaxLength = 30; + WallumbillaNorthLbl: Label 'WALLUMBILLA NORTH', MaxLength = 30; + WallumbillaSouthLbl: Label 'WALLUMBILLA SOUTH', MaxLength = 30; + BaffleWestLbl: Label 'BAFFLE WEST', MaxLength = 30; + BeilbaLbl: Label 'BEILBA', MaxLength = 30; + DurhamDownsLbl: Label 'DURHAM DOWNS', MaxLength = 30; + HuttonCreekLbl: Label 'HUTTON CREEK', MaxLength = 30; + InjuneLbl: Label 'INJUNE', MaxLength = 30; + PonyHillsLbl: Label 'PONY HILLS', MaxLength = 30; + UpperDawsonLbl: Label 'UPPER DAWSON', MaxLength = 30; + WestgroveLbl: Label 'WESTGROVE', MaxLength = 30; + BlythdaleLbl: Label 'BLYTHDALE', MaxLength = 30; + BungeworgoraiLbl: Label 'BUNGEWORGORAI', MaxLength = 30; + BungilLbl: Label 'BUNGIL', MaxLength = 30; + BymountLbl: Label 'BYMOUNT', MaxLength = 30; + CornwallLbl: Label 'CORNWALL', MaxLength = 30; + DargalRoadLbl: Label 'DARGAL ROAD', MaxLength = 30; + EumamurrinLbl: Label 'EUMAMURRIN', MaxLength = 30; + EuthullaLbl: Label 'EUTHULLA', MaxLength = 30; + GunnewinLbl: Label 'GUNNEWIN', MaxLength = 30; + HodgsonLbl: Label 'HODGSON', MaxLength = 30; + MoogaLbl: Label 'MOOGA', MaxLength = 30; + MountAbundanceLbl: Label 'MOUNT ABUNDANCE', MaxLength = 30; + MountBindangoLbl: Label 'MOUNT BINDANGO', MaxLength = 30; + OralloLbl: Label 'ORALLO', MaxLength = 30; + OrangeHillLbl: Label 'ORANGE HILL', MaxLength = 30; + RomaLbl: Label 'ROMA', MaxLength = 30; + TingunLbl: Label 'TINGUN', MaxLength = 30; + MuckadillaLbl: Label 'MUCKADILLA', MaxLength = 30; + AmbyLbl: Label 'AMBY', MaxLength = 30; + MungallalaLbl: Label 'MUNGALLALA', MaxLength = 30; + CharlevilleLbl: Label 'CHARLEVILLE', MaxLength = 30; + ClavertonLbl: Label 'CLAVERTON', MaxLength = 30; + BlackallLbl: Label 'BLACKALL', MaxLength = 30; + MountEnniskillenLbl: Label 'MOUNT ENNISKILLEN', MaxLength = 30; + AdavaleLbl: Label 'ADAVALE', MaxLength = 30; + CheepieLbl: Label 'CHEEPIE', MaxLength = 30; + AugathellaLbl: Label 'AUGATHELLA', MaxLength = 30; + BayrickLbl: Label 'BAYRICK', MaxLength = 30; + CaldervaleLbl: Label 'CALDERVALE', MaxLength = 30; + LansdowneLbl: Label 'LANSDOWNE', MaxLength = 30; + LumeahLbl: Label 'LUMEAH', MaxLength = 30; + MacfarlaneLbl: Label 'MACFARLANE', MaxLength = 30; + MinnieDownsLbl: Label 'MINNIE DOWNS', MaxLength = 30; + ScrubbyCreekLbl: Label 'SCRUBBY CREEK', MaxLength = 30; + TamboLbl: Label 'TAMBO', MaxLength = 30; + YandarloLbl: Label 'YANDARLO', MaxLength = 30; + CooladdiLbl: Label 'COOLADDI', MaxLength = 30; + EromangaLbl: Label 'EROMANGA', MaxLength = 30; + QuilpieLbl: Label 'QUILPIE', MaxLength = 30; + TanbarLbl: Label 'TANBAR', MaxLength = 30; + WindorahLbl: Label 'WINDORAH', MaxLength = 30; + BirdsvilleLbl: Label 'BIRDSVILLE', MaxLength = 30; + DirranbandiLbl: Label 'DIRRANBANDI', MaxLength = 30; + HebelLbl: Label 'HEBEL', MaxLength = 30; + StGeorgeLbl: Label 'ST GEORGE', MaxLength = 30; + BollonLbl: Label 'BOLLON', MaxLength = 30; + NebineLbl: Label 'NEBINE', MaxLength = 30; + WyandraLbl: Label 'WYANDRA', MaxLength = 30; + CoongoolaLbl: Label 'COONGOOLA', MaxLength = 30; + CunnamullaLbl: Label 'CUNNAMULLA', MaxLength = 30; + CuttaburraLbl: Label 'CUTTABURRA', MaxLength = 30; + HumeburnLbl: Label 'HUMEBURN', MaxLength = 30; + JobsGateLbl: Label 'JOBS GATE', MaxLength = 30; + NooramaLbl: Label 'NOORAMA', MaxLength = 30; + TuenLbl: Label 'TUEN', MaxLength = 30; + WidgeegoaraLbl: Label 'WIDGEEGOARA', MaxLength = 30; + YowahLbl: Label 'YOWAH', MaxLength = 30; + EuloLbl: Label 'EULO', MaxLength = 30; + ThargomindahLbl: Label 'THARGOMINDAH', MaxLength = 30; + HungerfordLbl: Label 'HUNGERFORD', MaxLength = 30; + BungunyaLbl: Label 'BUNGUNYA', MaxLength = 30; + NorthBungunyaLbl: Label 'NORTH BUNGUNYA', MaxLength = 30; + TaraweraLbl: Label 'TARAWERA', MaxLength = 30; + NorthTalwoodLbl: Label 'NORTH TALWOOD', MaxLength = 30; + SouthTalwoodLbl: Label 'SOUTH TALWOOD', MaxLength = 30; + TalwoodLbl: Label 'TALWOOD', MaxLength = 30; + DaymarLbl: Label 'DAYMAR', MaxLength = 30; + ThallonLbl: Label 'THALLON', MaxLength = 30; + WeengallonLbl: Label 'WEENGALLON', MaxLength = 30; + KiomaLbl: Label 'KIOMA', MaxLength = 30; + ToobeahLbl: Label 'TOOBEAH', MaxLength = 30; + BrendaleLbl: Label 'BRENDALE', MaxLength = 30; + CashmereLbl: Label 'CASHMERE', MaxLength = 30; + ClearMountainLbl: Label 'CLEAR MOUNTAIN', MaxLength = 30; + JoynerLbl: Label 'JOYNER', MaxLength = 30; + StrathpineLbl: Label 'STRATHPINE', MaxLength = 30; + WarnerLbl: Label 'WARNER', MaxLength = 30; + LawntonLbl: Label 'LAWNTON', MaxLength = 30; + PetrieLbl: Label 'PETRIE', MaxLength = 30; + DakabinLbl: Label 'DAKABIN', MaxLength = 30; + GriffinLbl: Label 'GRIFFIN', MaxLength = 30; + KallangurLbl: Label 'KALLANGUR', MaxLength = 30; + KurwongbahLbl: Label 'KURWONGBAH', MaxLength = 30; + MurrumbaDownsLbl: Label 'MURRUMBA DOWNS', MaxLength = 30; + WhitesideLbl: Label 'WHITESIDE', MaxLength = 30; + NarangbaLbl: Label 'NARANGBA', MaxLength = 30; + BurpengaryLbl: Label 'BURPENGARY', MaxLength = 30; + MorayfieldLbl: Label 'MORAYFIELD', MaxLength = 30; + BanksiaBeachLbl: Label 'BANKSIA BEACH', MaxLength = 30; + BellaraLbl: Label 'BELLARA', MaxLength = 30; + BongareeLbl: Label 'BONGAREE', MaxLength = 30; + BribieIslandLbl: Label 'BRIBIE ISLAND', MaxLength = 30; + BribieIslandNorthLbl: Label 'BRIBIE ISLAND NORTH', MaxLength = 30; + WelsbyLbl: Label 'WELSBY', MaxLength = 30; + WhitePatchLbl: Label 'WHITE PATCH', MaxLength = 30; + WoorimLbl: Label 'WOORIM', MaxLength = 30; + DeceptionBayLbl: Label 'DECEPTION BAY', MaxLength = 30; + MangoHillLbl: Label 'MANGO HILL', MaxLength = 30; + NorthLakesLbl: Label 'NORTH LAKES', MaxLength = 30; + BeachmereLbl: Label 'BEACHMERE', MaxLength = 30; + CabooltureLbl: Label 'CABOOLTURE', MaxLength = 30; + CabooltureSouthLbl: Label 'CABOOLTURE SOUTH', MaxLength = 30; + ToorbulLbl: Label 'TOORBUL', MaxLength = 30; + GodwinBeachLbl: Label 'GODWIN BEACH', MaxLength = 30; + NingiLbl: Label 'NINGI', MaxLength = 30; + SandstonePointLbl: Label 'SANDSTONE POINT', MaxLength = 30; + BracalbaLbl: Label 'BRACALBA', MaxLength = 30; + WamuranLbl: Label 'WAMURAN', MaxLength = 30; + WamuranBasinLbl: Label 'WAMURAN BASIN', MaxLength = 30; + CommissionersFlatLbl: Label 'COMMISSIONERS FLAT', MaxLength = 30; + DAguilarLbl: Label 'DAGUILAR', MaxLength = 30; + MountArcherLbl: Label 'MOUNT ARCHER', MaxLength = 30; + MountDelaneyLbl: Label 'MOUNT DELANEY', MaxLength = 30; + HazeldeanLbl: Label 'HAZELDEAN', MaxLength = 30; + JimnaLbl: Label 'JIMNA', MaxLength = 30; + KilcoyLbl: Label 'KILCOY', MaxLength = 30; + MonsildaleLbl: Label 'MONSILDALE', MaxLength = 30; + ElimbahLbl: Label 'ELIMBAH', MaxLength = 30; + BeerburrumLbl: Label 'BEERBURRUM', MaxLength = 30; + GlassHouseMountainsLbl: Label 'GLASS HOUSE MOUNTAINS', MaxLength = 30; + BeerwahLbl: Label 'BEERWAH', MaxLength = 30; + CoochinCreekLbl: Label 'COOCHIN CREEK', MaxLength = 30; + CrohamhurstLbl: Label 'CROHAMHURST', MaxLength = 30; + PeachesterLbl: Label 'PEACHESTER', MaxLength = 30; + ArmstrongCreekLbl: Label 'ARMSTRONG CREEK', MaxLength = 30; + CampMountainLbl: Label 'CAMP MOUNTAIN', MaxLength = 30; + CloseburnLbl: Label 'CLOSEBURN', MaxLength = 30; + DraperLbl: Label 'DRAPER', MaxLength = 30; + EnoggeraReservoirLbl: Label 'ENOGGERA RESERVOIR', MaxLength = 30; + HighvaleLbl: Label 'HIGHVALE', MaxLength = 30; + JollysLookoutLbl: Label 'JOLLYS LOOKOUT', MaxLength = 30; + KobbleCreekLbl: Label 'KOBBLE CREEK', MaxLength = 30; + MountGloriousLbl: Label 'MOUNT GLORIOUS', MaxLength = 30; + MountNeboLbl: Label 'MOUNT NEBO', MaxLength = 30; + MountSamsonLbl: Label 'MOUNT SAMSON', MaxLength = 30; + SamfordLbl: Label 'SAMFORD', MaxLength = 30; + SamsonvaleLbl: Label 'SAMSONVALE', MaxLength = 30; + WightsMountainLbl: Label 'WIGHTS MOUNTAIN', MaxLength = 30; + YugarLbl: Label 'YUGAR', MaxLength = 30; + DayboroLbl: Label 'DAYBORO', MaxLength = 30; + KingScrubLbl: Label 'KING SCRUB', MaxLength = 30; + LaceysCreekLbl: Label 'LACEYS CREEK', MaxLength = 30; + MountMeeLbl: Label 'MOUNT MEE', MaxLength = 30; + OceanViewLbl: Label 'OCEAN VIEW', MaxLength = 30; + RushCreekLbl: Label 'RUSH CREEK', MaxLength = 30; + AroonaLbl: Label 'AROONA', MaxLength = 30; + BatteryHillLbl: Label 'BATTERY HILL', MaxLength = 30; + BellsCreekLbl: Label 'BELLS CREEK', MaxLength = 30; + CaloundraLbl: Label 'CALOUNDRA', MaxLength = 30; + CaloundraWestLbl: Label 'CALOUNDRA WEST', MaxLength = 30; + CurrimundiLbl: Label 'CURRIMUNDI', MaxLength = 30; + DickyBeachLbl: Label 'DICKY BEACH', MaxLength = 30; + GoldenBeachLbl: Label 'GOLDEN BEACH', MaxLength = 30; + KingsBeachLbl: Label 'KINGS BEACH', MaxLength = 30; + LittleMountainLbl: Label 'LITTLE MOUNTAIN', MaxLength = 30; + MoffatBeachLbl: Label 'MOFFAT BEACH', MaxLength = 30; + PelicanWatersLbl: Label 'PELICAN WATERS', MaxLength = 30; + BalmoralRidgeLbl: Label 'BALMORAL RIDGE', MaxLength = 30; + BooroobinLbl: Label 'BOOROOBIN', MaxLength = 30; + CambroonLbl: Label 'CAMBROON', MaxLength = 30; + ConondaleLbl: Label 'CONONDALE', MaxLength = 30; + CurramoreLbl: Label 'CURRAMORE', MaxLength = 30; + ElamanCreekLbl: Label 'ELAMAN CREEK', MaxLength = 30; + HarperCreekLbl: Label 'HARPER CREEK', MaxLength = 30; + MalenyLbl: Label 'MALENY', MaxLength = 30; + NorthMalenyLbl: Label 'NORTH MALENY', MaxLength = 30; + WoothaLbl: Label 'WOOTHA', MaxLength = 30; + DiamondValleyLbl: Label 'DIAMOND VALLEY', MaxLength = 30; + MooloolahLbl: Label 'MOOLOOLAH', MaxLength = 30; + PalmviewLbl: Label 'PALMVIEW', MaxLength = 30; + EudloLbl: Label 'EUDLO', MaxLength = 30; + IlkleyLbl: Label 'ILKLEY', MaxLength = 30; + HunchyLbl: Label 'HUNCHY', MaxLength = 30; + PalmwoodsLbl: Label 'PALMWOODS', MaxLength = 30; + BuderimLbl: Label 'BUDERIM', MaxLength = 30; + KundaParkLbl: Label 'KUNDA PARK', MaxLength = 30; + SippyDownsLbl: Label 'SIPPY DOWNS', MaxLength = 30; + TanawhaLbl: Label 'TANAWHA', MaxLength = 30; + MooloolabaLbl: Label 'MOOLOOLABA', MaxLength = 30; + MountainCreekLbl: Label 'MOUNTAIN CREEK', MaxLength = 30; + CottonTreeLbl: Label 'COTTON TREE', MaxLength = 30; + MaroochydoreLbl: Label 'MAROOCHYDORE', MaxLength = 30; + MaroochydoreBcLbl: Label 'MAROOCHYDORE BC', MaxLength = 30; + SunshinePlazaLbl: Label 'SUNSHINE PLAZA', MaxLength = 30; + DiddillibahLbl: Label 'DIDDILLIBAH', MaxLength = 30; + KielsMountainLbl: Label 'KIELS MOUNTAIN', MaxLength = 30; + WoombyeLbl: Label 'WOOMBYE', MaxLength = 30; + BliBliLbl: Label 'BLI BLI', MaxLength = 30; + DulongLbl: Label 'DULONG', MaxLength = 30; + MapletonLbl: Label 'MAPLETON', MaxLength = 30; + MontvilleLbl: Label 'MONTVILLE', MaxLength = 30; + NambourLbl: Label 'NAMBOUR', MaxLength = 30; + PerwillowenLbl: Label 'PERWILLOWEN', MaxLength = 30; + MaroochyRiverLbl: Label 'MAROOCHY RIVER', MaxLength = 30; + YandinaLbl: Label 'YANDINA', MaxLength = 30; + EumundiLbl: Label 'EUMUNDI', MaxLength = 30; + CooroyLbl: Label 'COOROY', MaxLength = 30; + CooroyMountainLbl: Label 'COOROY MOUNTAIN', MaxLength = 30; + LakeMacdonaldLbl: Label 'LAKE MACDONALD', MaxLength = 30; + TinbeerwahLbl: Label 'TINBEERWAH', MaxLength = 30; + MarcoolaLbl: Label 'MARCOOLA', MaxLength = 30; + MudjimbaLbl: Label 'MUDJIMBA', MaxLength = 30; + PacificParadiseLbl: Label 'PACIFIC PARADISE', MaxLength = 30; + TwinWatersLbl: Label 'TWIN WATERS', MaxLength = 30; + BoreenPointLbl: Label 'BOREEN POINT', MaxLength = 30; + CooroibahLbl: Label 'COOROIBAH', MaxLength = 30; + CootharabaLbl: Label 'COOTHARABA', MaxLength = 30; + NoosaNorthShoreLbl: Label 'NOOSA NORTH SHORE', MaxLength = 30; + RingtailCreekLbl: Label 'RINGTAIL CREEK', MaxLength = 30; + TewantinLbl: Label 'TEWANTIN', MaxLength = 30; + NoosavilleLbl: Label 'NOOSAVILLE', MaxLength = 30; + CastawaysBeachLbl: Label 'CASTAWAYS BEACH', MaxLength = 30; + NoosaHeadsLbl: Label 'NOOSA HEADS', MaxLength = 30; + SunriseBeachLbl: Label 'SUNRISE BEACH', MaxLength = 30; + SunshineBeachLbl: Label 'SUNSHINE BEACH', MaxLength = 30; + PinbarrenLbl: Label 'PINBARREN', MaxLength = 30; + CooranLbl: Label 'COORAN', MaxLength = 30; + AmamoorLbl: Label 'AMAMOOR', MaxLength = 30; + AmamoorCreekLbl: Label 'AMAMOOR CREEK', MaxLength = 30; + AnderleighLbl: Label 'ANDERLEIGH', MaxLength = 30; + BanksPocketLbl: Label 'BANKS POCKET', MaxLength = 30; + BeenaamValleyLbl: Label 'BEENAAM VALLEY', MaxLength = 30; + BellaCreekLbl: Label 'BELLA CREEK', MaxLength = 30; + BollierLbl: Label 'BOLLIER', MaxLength = 30; + CalgoaLbl: Label 'CALGOA', MaxLength = 30; + CaninaLbl: Label 'CANINA', MaxLength = 30; + ColesCreekLbl: Label 'COLES CREEK', MaxLength = 30; + CorellaLbl: Label 'CORELLA', MaxLength = 30; + CurraLbl: Label 'CURRA', MaxLength = 30; + DownsfieldLbl: Label 'DOWNSFIELD', MaxLength = 30; + FishermansPocketLbl: Label 'FISHERMANS POCKET', MaxLength = 30; + GilldoraLbl: Label 'GILLDORA', MaxLength = 30; + GlanmireLbl: Label 'GLANMIRE', MaxLength = 30; + GlenEchoLbl: Label 'GLEN ECHO', MaxLength = 30; + GreensCreekLbl: Label 'GREENS CREEK', MaxLength = 30; + GunaldaLbl: Label 'GUNALDA', MaxLength = 30; + GympieLbl: Label 'GYMPIE', MaxLength = 30; + ImbilLbl: Label 'IMBIL', MaxLength = 30; + JonesHillLbl: Label 'JONES HILL', MaxLength = 30; + KandangaLbl: Label 'KANDANGA', MaxLength = 30; + KandangaCreekLbl: Label 'KANDANGA CREEK', MaxLength = 30; + KaniganLbl: Label 'KANIGAN', MaxLength = 30; + KiaOraLbl: Label 'KIA ORA', MaxLength = 30; + LakeBorumbaLbl: Label 'LAKE BORUMBA', MaxLength = 30; + MarodianLbl: Label 'MARODIAN', MaxLength = 30; + MarysCreekLbl: Label 'MARYS CREEK', MaxLength = 30; + McintoshCreekLbl: Label 'MCINTOSH CREEK', MaxLength = 30; + MelawondiLbl: Label 'MELAWONDI', MaxLength = 30; + MivaLbl: Label 'MIVA', MaxLength = 30; + MonklandLbl: Label 'MONKLAND', MaxLength = 30; + MoolooLbl: Label 'MOOLOO', MaxLength = 30; + MunnaCreekLbl: Label 'MUNNA CREEK', MaxLength = 30; + NahrundaLbl: Label 'NAHRUNDA', MaxLength = 30; + NeusaValeLbl: Label 'NEUSA VALE', MaxLength = 30; + NorthDeepCreekLbl: Label 'NORTH DEEP CREEK', MaxLength = 30; + ScotchyPocketLbl: Label 'SCOTCHY POCKET', MaxLength = 30; + SextonLbl: Label 'SEXTON', MaxLength = 30; + StMaryLbl: Label 'ST MARY', MaxLength = 30; + ToolaraForestLbl: Label 'TOOLARA FOREST', MaxLength = 30; + UpperGlastonburyLbl: Label 'UPPER GLASTONBURY', MaxLength = 30; + UpperKandangaLbl: Label 'UPPER KANDANGA', MaxLength = 30; + WidgeeCrossingNorthLbl: Label 'WIDGEE CROSSING NORTH', MaxLength = 30; + WidgeeCrossingSouthLbl: Label 'WIDGEE CROSSING SOUTH', MaxLength = 30; + WooloogaLbl: Label 'WOOLOOGA', MaxLength = 30; + KinKinLbl: Label 'KIN KIN', MaxLength = 30; + AlexandraHeadlandLbl: Label 'ALEXANDRA HEADLAND', MaxLength = 30; + CoolumBeachLbl: Label 'COOLUM BEACH', MaxLength = 30; + MarcusBeachLbl: Label 'MARCUS BEACH', MaxLength = 30; + MountCoolumLbl: Label 'MOUNT COOLUM', MaxLength = 30; + PeregianBeachLbl: Label 'PEREGIAN BEACH', MaxLength = 30; + PeregianSpringsLbl: Label 'PEREGIAN SPRINGS', MaxLength = 30; + YaroombaLbl: Label 'YAROOMBA', MaxLength = 30; + KenilworthLbl: Label 'KENILWORTH', MaxLength = 30; + MoyPocketLbl: Label 'MOY POCKET', MaxLength = 30; + BirtinyaLbl: Label 'BIRTINYA', MaxLength = 30; + BokarinaLbl: Label 'BOKARINA', MaxLength = 30; + BuddinaLbl: Label 'BUDDINA', MaxLength = 30; + MinyamaLbl: Label 'MINYAMA', MaxLength = 30; + ParrearraLbl: Label 'PARREARRA', MaxLength = 30; + WaranaLbl: Label 'WARANA', MaxLength = 30; + WurtullaLbl: Label 'WURTULLA', MaxLength = 30; + CooloolaLbl: Label 'COOLOOLA', MaxLength = 30; + CooloolaCoveLbl: Label 'COOLOOLA COVE', MaxLength = 30; + TinCanBayLbl: Label 'TIN CAN BAY', MaxLength = 30; + EurongLbl: Label 'EURONG', MaxLength = 30; + InskipLbl: Label 'INSKIP', MaxLength = 30; + RainbowBeachLbl: Label 'RAINBOW BEACH', MaxLength = 30; + BlackSnakeLbl: Label 'BLACK SNAKE', MaxLength = 30; + KilkivanLbl: Label 'KILKIVAN', MaxLength = 30; + MudloLbl: Label 'MUDLO', MaxLength = 30; + OakviewLbl: Label 'OAKVIEW', MaxLength = 30; + BarambahLbl: Label 'BARAMBAH', MaxLength = 30; + BoonaraLbl: Label 'BOONARA', MaxLength = 30; + BooubyjanLbl: Label 'BOOUBYJAN', MaxLength = 30; + GoomeriLbl: Label 'GOOMERI', MaxLength = 30; + GoomeribongLbl: Label 'GOOMERIBONG', MaxLength = 30; + KinbombiLbl: Label 'KINBOMBI', MaxLength = 30; + ManumbarLbl: Label 'MANUMBAR', MaxLength = 30; + ManyungLbl: Label 'MANYUNG', MaxLength = 30; + TanseyLbl: Label 'TANSEY', MaxLength = 30; + WrattensForestLbl: Label 'WRATTENS FOREST', MaxLength = 30; + BarlilLbl: Label 'BARLIL', MaxLength = 30; + CherbourgLbl: Label 'CHERBOURG', MaxLength = 30; + CloynaLbl: Label 'CLOYNA', MaxLength = 30; + CobbsHillLbl: Label 'COBBS HILL', MaxLength = 30; + GlenrockLbl: Label 'GLENROCK', MaxLength = 30; + KitobaLbl: Label 'KITOBA', MaxLength = 30; + MerlwoodLbl: Label 'MERLWOOD', MaxLength = 30; + MoffatdaleLbl: Label 'MOFFATDALE', MaxLength = 30; + MoondoonerLbl: Label 'MOONDOONER', MaxLength = 30; + MurgonLbl: Label 'MURGON', MaxLength = 30; + RedgateLbl: Label 'REDGATE', MaxLength = 30; + SilverleafLbl: Label 'SILVERLEAF', MaxLength = 30; + SunnyNookLbl: Label 'SUNNY NOOK', MaxLength = 30; + TablelandsLbl: Label 'TABLELANDS', MaxLength = 30; + WarnungLbl: Label 'WARNUNG', MaxLength = 30; + WooroondenLbl: Label 'WOOROONDEN', MaxLength = 30; + ChelmsfordLbl: Label 'CHELMSFORD', MaxLength = 30; + FairdaleLbl: Label 'FAIRDALE', MaxLength = 30; + LeafdaleLbl: Label 'LEAFDALE', MaxLength = 30; + MountMceuenLbl: Label 'MOUNT MCEUEN', MaxLength = 30; + MpCreekLbl: Label 'MP CREEK', MaxLength = 30; + WheatlandsLbl: Label 'WHEATLANDS', MaxLength = 30; + WondaiLbl: Label 'WONDAI', MaxLength = 30; + TingooraLbl: Label 'TINGOORA', MaxLength = 30; + WilkesdaleLbl: Label 'WILKESDALE', MaxLength = 30; + WooroolinLbl: Label 'WOOROOLIN', MaxLength = 30; + AliceCreekLbl: Label 'ALICE CREEK', MaxLength = 30; + BallogieLbl: Label 'BALLOGIE', MaxLength = 30; + BenairLbl: Label 'BENAIR', MaxLength = 30; + BooieLbl: Label 'BOOIE', MaxLength = 30; + BoynesideLbl: Label 'BOYNESIDE', MaxLength = 30; + ChahpingahLbl: Label 'CHAHPINGAH', MaxLength = 30; + CoolabuniaLbl: Label 'COOLABUNIA', MaxLength = 30; + DangoreLbl: Label 'DANGORE', MaxLength = 30; + DurongLbl: Label 'DURONG', MaxLength = 30; + DurongSouthLbl: Label 'DURONG SOUTH', MaxLength = 30; + GoodgerLbl: Label 'GOODGER', MaxLength = 30; + GordonbrookLbl: Label 'GORDONBROOK', MaxLength = 30; + HalyCreekLbl: Label 'HALY CREEK', MaxLength = 30; + HodgleighLbl: Label 'HODGLEIGH', MaxLength = 30; + InverlawLbl: Label 'INVERLAW', MaxLength = 30; + IronpotLbl: Label 'IRONPOT', MaxLength = 30; + KingaroyLbl: Label 'KINGAROY', MaxLength = 30; + KumbiaLbl: Label 'KUMBIA', MaxLength = 30; + MannuemLbl: Label 'MANNUEM', MaxLength = 30; + TaabingaLbl: Label 'TAABINGA', MaxLength = 30; + MarshlandsLbl: Label 'MARSHLANDS', MaxLength = 30; + MondureLbl: Label 'MONDURE', MaxLength = 30; + HivesvilleLbl: Label 'HIVESVILLE', MaxLength = 30; + KawlKawlLbl: Label 'KAWL KAWL', MaxLength = 30; + KeyslandLbl: Label 'KEYSLAND', MaxLength = 30; + StonelandsLbl: Label 'STONELANDS', MaxLength = 30; + WigtonLbl: Label 'WIGTON', MaxLength = 30; + AbbeywoodLbl: Label 'ABBEYWOOD', MaxLength = 30; + BoondoomaLbl: Label 'BOONDOOMA', MaxLength = 30; + CovertyLbl: Label 'COVERTY', MaxLength = 30; + MelroseLbl: Label 'MELROSE', MaxLength = 30; + OkedenLbl: Label 'OKEDEN', MaxLength = 30; + ProstonLbl: Label 'PROSTON', MaxLength = 30; + NeumgnaLbl: Label 'NEUMGNA', MaxLength = 30; + UpperYarramanLbl: Label 'UPPER YARRAMAN', MaxLength = 30; + YarramanLbl: Label 'YARRAMAN', MaxLength = 30; + BarkerCreekFlatLbl: Label 'BARKER CREEK FLAT', MaxLength = 30; + BullcampLbl: Label 'BULLCAMP', MaxLength = 30; + EastNanangoLbl: Label 'EAST NANANGO', MaxLength = 30; + GlanDevonLbl: Label 'GLAN DEVON', MaxLength = 30; + JohnstownLbl: Label 'JOHNSTOWN', MaxLength = 30; + KunioonLbl: Label 'KUNIOON', MaxLength = 30; + MaidenwellLbl: Label 'MAIDENWELL', MaxLength = 30; + NanangoLbl: Label 'NANANGO', MaxLength = 30; + PimpimbudgeeLbl: Label 'PIMPIMBUDGEE', MaxLength = 30; + RunnymedeLbl: Label 'RUNNYMEDE', MaxLength = 30; + SandyRidgesLbl: Label 'SANDY RIDGES', MaxLength = 30; + SouthEastNanangoLbl: Label 'SOUTH EAST NANANGO', MaxLength = 30; + TarongLbl: Label 'TARONG', MaxLength = 30; + WattleCampLbl: Label 'WATTLE CAMP', MaxLength = 30; + WengenvilleLbl: Label 'WENGENVILLE', MaxLength = 30; + WyallaLbl: Label 'WYALLA', MaxLength = 30; + BrooweenaLbl: Label 'BROOWEENA', MaxLength = 30; + DoongulLbl: Label 'DOONGUL', MaxLength = 30; + GigoomganLbl: Label 'GIGOOMGAN', MaxLength = 30; + GlenbarLbl: Label 'GLENBAR', MaxLength = 30; + GungaloonLbl: Label 'GUNGALOON', MaxLength = 30; + MalargaLbl: Label 'MALARGA', MaxLength = 30; + NorthAramaraLbl: Label 'NORTH ARAMARA', MaxLength = 30; + TeebarLbl: Label 'TEEBAR', MaxLength = 30; + WoocooLbl: Label 'WOOCOO', MaxLength = 30; + BiggendenLbl: Label 'BIGGENDEN', MaxLength = 30; + BoompaLbl: Label 'BOOMPA', MaxLength = 30; + CoringaLbl: Label 'CORINGA', MaxLength = 30; + DegilboLbl: Label 'DEGILBO', MaxLength = 30; + DidcotLbl: Label 'DIDCOT', MaxLength = 30; + GoldenFleeceLbl: Label 'GOLDEN FLEECE', MaxLength = 30; + WaterangaLbl: Label 'WATERANGA', MaxLength = 30; + WoowoongaLbl: Label 'WOOWOONGA', MaxLength = 30; + AranbangaLbl: Label 'ARANBANGA', MaxLength = 30; + BanBanLbl: Label 'BAN BAN', MaxLength = 30; + BanBanSpringsLbl: Label 'BAN BAN SPRINGS', MaxLength = 30; + BarlyneLbl: Label 'BARLYNE', MaxLength = 30; + BlairmoreLbl: Label 'BLAIRMORE', MaxLength = 30; + BonAccordLbl: Label 'BON ACCORD', MaxLength = 30; + BranchCreekLbl: Label 'BRANCH CREEK', MaxLength = 30; + CampbellCreekLbl: Label 'CAMPBELL CREEK', MaxLength = 30; + DeepCreekLbl: Label 'DEEP CREEK', MaxLength = 30; + DirnbirLbl: Label 'DIRNBIR', MaxLength = 30; + DundarrahLbl: Label 'DUNDARRAH', MaxLength = 30; + GayndahLbl: Label 'GAYNDAH', MaxLength = 30; + GinoondanLbl: Label 'GINOONDAN', MaxLength = 30; + HarrietLbl: Label 'HARRIET', MaxLength = 30; + HumpheryLbl: Label 'HUMPHERY', MaxLength = 30; + IderawayLbl: Label 'IDERAWAY', MaxLength = 30; + MingoLbl: Label 'MINGO', MaxLength = 30; + MountDebateableLbl: Label 'MOUNT DEBATEABLE', MaxLength = 30; + MountLawlessLbl: Label 'MOUNT LAWLESS', MaxLength = 30; + PenwhaupellLbl: Label 'PENWHAUPELL', MaxLength = 30; + PileGullyLbl: Label 'PILE GULLY', MaxLength = 30; + ReidsCreekLbl: Label 'REIDS CREEK', MaxLength = 30; + StockhavenLbl: Label 'STOCKHAVEN', MaxLength = 30; + TheLimitsLbl: Label 'THE LIMITS', MaxLength = 30; + ToondahraLbl: Label 'TOONDAHRA', MaxLength = 30; + WahoonLbl: Label 'WAHOON', MaxLength = 30; + WetheronLbl: Label 'WETHERON', MaxLength = 30; + WilsonValleyLbl: Label 'WILSON VALLEY', MaxLength = 30; + WoodmillarLbl: Label 'WOODMILLAR', MaxLength = 30; + BeeronLbl: Label 'BEERON', MaxLength = 30; + BoynewoodLbl: Label 'BOYNEWOOD', MaxLength = 30; + BroviniaLbl: Label 'BROVINIA', MaxLength = 30; + CoonambulaLbl: Label 'COONAMBULA', MaxLength = 30; + DerriDerraLbl: Label 'DERRI DERRA', MaxLength = 30; + DykeheadLbl: Label 'DYKEHEAD', MaxLength = 30; + GlenraeLbl: Label 'GLENRAE', MaxLength = 30; + HawkwoodLbl: Label 'HAWKWOOD', MaxLength = 30; + MonogorilbyLbl: Label 'MONOGORILBY', MaxLength = 30; + MundowranLbl: Label 'MUNDOWRAN', MaxLength = 30; + MundubberaLbl: Label 'MUNDUBBERA', MaxLength = 30; + OldCoorangaLbl: Label 'OLD COORANGA', MaxLength = 30; + PhilpottLbl: Label 'PHILPOTT', MaxLength = 30; + RiverleighLbl: Label 'RIVERLEIGH', MaxLength = 30; + AbercornLbl: Label 'ABERCORN', MaxLength = 30; + CeratodusLbl: Label 'CERATODUS', MaxLength = 30; + CynthiaLbl: Label 'CYNTHIA', MaxLength = 30; + EidsvoldLbl: Label 'EIDSVOLD', MaxLength = 30; + EidsvoldEastLbl: Label 'EIDSVOLD EAST', MaxLength = 30; + EidsvoldWestLbl: Label 'EIDSVOLD WEST', MaxLength = 30; + GrosvenorLbl: Label 'GROSVENOR', MaxLength = 30; + MalmoeLbl: Label 'MALMOE', MaxLength = 30; + WurumaDamLbl: Label 'WURUMA DAM', MaxLength = 30; + BukaliLbl: Label 'BUKALI', MaxLength = 30; + CaniaLbl: Label 'CANIA', MaxLength = 30; + CannindahLbl: Label 'CANNINDAH', MaxLength = 30; + CoominglahLbl: Label 'COOMINGLAH', MaxLength = 30; + CoominglahForestLbl: Label 'COOMINGLAH FOREST', MaxLength = 30; + GlenleighLbl: Label 'GLENLEIGH', MaxLength = 30; + HarramiLbl: Label 'HARRAMI', MaxLength = 30; + KalpowarLbl: Label 'KALPOWAR', MaxLength = 30; + KapaldoLbl: Label 'KAPALDO', MaxLength = 30; + LangleyLbl: Label 'LANGLEY', MaxLength = 30; + MonalLbl: Label 'MONAL', MaxLength = 30; + MontoLbl: Label 'MONTO', MaxLength = 30; + MulgildieLbl: Label 'MULGILDIE', MaxLength = 30; + SeleneLbl: Label 'SELENE', MaxLength = 30; + SplinterCreekLbl: Label 'SPLINTER CREEK', MaxLength = 30; + TellebangLbl: Label 'TELLEBANG', MaxLength = 30; + ThreeMoonLbl: Label 'THREE MOON', MaxLength = 30; + VentnorLbl: Label 'VENTNOR', MaxLength = 30; + YarrolLbl: Label 'YARROL', MaxLength = 30; + AntiguaLbl: Label 'ANTIGUA', MaxLength = 30; + BaupleLbl: Label 'BAUPLE', MaxLength = 30; + BaupleForestLbl: Label 'BAUPLE FOREST', MaxLength = 30; + BeaverRockLbl: Label 'BEAVER ROCK', MaxLength = 30; + BoonoorooLbl: Label 'BOONOOROO', MaxLength = 30; + BoonoorooPlainsLbl: Label 'BOONOOROO PLAINS', MaxLength = 30; + DuckinwillaLbl: Label 'DUCKINWILLA', MaxLength = 30; + DundathuLbl: Label 'DUNDATHU', MaxLength = 30; + DunmoraLbl: Label 'DUNMORA', MaxLength = 30; + FerneyLbl: Label 'FERNEY', MaxLength = 30; + GootchieLbl: Label 'GOOTCHIE', MaxLength = 30; + GrahamsCreekLbl: Label 'GRAHAMS CREEK', MaxLength = 30; + GundiahLbl: Label 'GUNDIAH', MaxLength = 30; + MountSteadmanLbl: Label 'MOUNT STEADMAN', MaxLength = 30; + MountUrahLbl: Label 'MOUNT URAH', MaxLength = 30; + MungarLbl: Label 'MUNGAR', MaxLength = 30; + NetherbyLbl: Label 'NETHERBY', MaxLength = 30; + OwanyillaLbl: Label 'OWANYILLA', MaxLength = 30; + PilerwaLbl: Label 'PILERWA', MaxLength = 30; + PioneersRestLbl: Label 'PIONEERS REST', MaxLength = 30; + TalegallaWeirLbl: Label 'TALEGALLA WEIR', MaxLength = 30; + TandoraLbl: Label 'TANDORA', MaxLength = 30; + TeddingtonLbl: Label 'TEDDINGTON', MaxLength = 30; + TheDimondsLbl: Label 'THE DIMONDS', MaxLength = 30; + ThinoombaLbl: Label 'THINOOMBA', MaxLength = 30; + TiaroLbl: Label 'TIARO', MaxLength = 30; + TinanaLbl: Label 'TINANA', MaxLength = 30; + TinanaSouthLbl: Label 'TINANA SOUTH', MaxLength = 30; + TuanForestLbl: Label 'TUAN FOREST', MaxLength = 30; + WalkersPointLbl: Label 'WALKERS POINT', MaxLength = 30; + YengarieLbl: Label 'YENGARIE', MaxLength = 30; + BunyaCreekLbl: Label 'BUNYA CREEK', MaxLength = 30; + DundowranBeachLbl: Label 'DUNDOWRAN BEACH', MaxLength = 30; + EliWatersLbl: Label 'ELI WATERS', MaxLength = 30; + GreatSandyStraitLbl: Label 'GREAT SANDY STRAIT', MaxLength = 30; + HappyValleyLbl: Label 'HAPPY VALLEY', MaxLength = 30; + HerveyBayLbl: Label 'HERVEY BAY', MaxLength = 30; + HerveyBayDcLbl: Label 'HERVEY BAY DC', MaxLength = 30; + KawunganLbl: Label 'KAWUNGAN', MaxLength = 30; + NikenbahLbl: Label 'NIKENBAH', MaxLength = 30; + PialbaLbl: Label 'PIALBA', MaxLength = 30; + PointVernonLbl: Label 'POINT VERNON', MaxLength = 30; + ScarnessLbl: Label 'SCARNESS', MaxLength = 30; + SunshineAcresLbl: Label 'SUNSHINE ACRES', MaxLength = 30; + SusanRiverLbl: Label 'SUSAN RIVER', MaxLength = 30; + UranganLbl: Label 'URANGAN', MaxLength = 30; + UrraweenLbl: Label 'URRAWEEN', MaxLength = 30; + WalliebumLbl: Label 'WALLIEBUM', MaxLength = 30; + WalliganLbl: Label 'WALLIGAN', MaxLength = 30; + WondunnaLbl: Label 'WONDUNNA', MaxLength = 30; + BeelbiCreekLbl: Label 'BEELBI CREEK', MaxLength = 30; + BurgowanLbl: Label 'BURGOWAN', MaxLength = 30; + BurrumHeadsLbl: Label 'BURRUM HEADS', MaxLength = 30; + BurrumRiverLbl: Label 'BURRUM RIVER', MaxLength = 30; + BurrumTownLbl: Label 'BURRUM TOWN', MaxLength = 30; + HowardLbl: Label 'HOWARD', MaxLength = 30; + PacificHavenLbl: Label 'PACIFIC HAVEN', MaxLength = 30; + AbingtonLbl: Label 'ABINGTON', MaxLength = 30; + CherwellLbl: Label 'CHERWELL', MaxLength = 30; + CordalbaLbl: Label 'CORDALBA', MaxLength = 30; + GoodwoodLbl: Label 'GOODWOOD', MaxLength = 30; + GregoryRiverLbl: Label 'GREGORY RIVER', MaxLength = 30; + HortonLbl: Label 'HORTON', MaxLength = 30; + IsisCentralLbl: Label 'ISIS CENTRAL', MaxLength = 30; + IsisRiverLbl: Label 'ISIS RIVER', MaxLength = 30; + KullogumLbl: Label 'KULLOGUM', MaxLength = 30; + NorthGregoryLbl: Label 'NORTH GREGORY', MaxLength = 30; + PromisedlandLbl: Label 'PROMISEDLAND', MaxLength = 30; + WoodgateLbl: Label 'WOODGATE', MaxLength = 30; + TorbanleaLbl: Label 'TORBANLEA', MaxLength = 30; + AllowayLbl: Label 'ALLOWAY', MaxLength = 30; + AvenellHeightsLbl: Label 'AVENELL HEIGHTS', MaxLength = 30; + AvondaleLbl: Label 'AVONDALE', MaxLength = 30; + BargaraLbl: Label 'BARGARA', MaxLength = 30; + BranyanLbl: Label 'BRANYAN', MaxLength = 30; + BundabergLbl: Label 'BUNDABERG', MaxLength = 30; + BundabergCentralLbl: Label 'BUNDABERG CENTRAL', MaxLength = 30; + BundabergDcLbl: Label 'BUNDABERG DC', MaxLength = 30; + BundabergEastLbl: Label 'BUNDABERG EAST', MaxLength = 30; + BundabergNorthLbl: Label 'BUNDABERG NORTH', MaxLength = 30; + BundabergSouthLbl: Label 'BUNDABERG SOUTH', MaxLength = 30; + BundabergWestLbl: Label 'BUNDABERG WEST', MaxLength = 30; + BurnettHeadsLbl: Label 'BURNETT HEADS', MaxLength = 30; + CalavosLbl: Label 'CALAVOS', MaxLength = 30; + CoralCoveLbl: Label 'CORAL COVE', MaxLength = 30; + ElectraLbl: Label 'ELECTRA', MaxLength = 30; + ElliottLbl: Label 'ELLIOTT', MaxLength = 30; + ElliottHeadsLbl: Label 'ELLIOTT HEADS', MaxLength = 30; + GiveldaLbl: Label 'GIVELDA', MaxLength = 30; + KalkieLbl: Label 'KALKIE', MaxLength = 30; + KepnockLbl: Label 'KEPNOCK', MaxLength = 30; + KinkunaLbl: Label 'KINKUNA', MaxLength = 30; + MeadowvaleLbl: Label 'MEADOWVALE', MaxLength = 30; + MooreParkBeachLbl: Label 'MOORE PARK BEACH', MaxLength = 30; + MullettCreekLbl: Label 'MULLETT CREEK', MaxLength = 30; + NorvilleLbl: Label 'NORVILLE', MaxLength = 30; + QunabaLbl: Label 'QUNABA', MaxLength = 30; + RubyannaLbl: Label 'RUBYANNA', MaxLength = 30; + SharonLbl: Label 'SHARON', MaxLength = 30; + SouthBingeraLbl: Label 'SOUTH BINGERA', MaxLength = 30; + SouthKolanLbl: Label 'SOUTH KOLAN', MaxLength = 30; + SvenssonHeightsLbl: Label 'SVENSSON HEIGHTS', MaxLength = 30; + ThabebanLbl: Label 'THABEBAN', MaxLength = 30; + WalkervaleLbl: Label 'WALKERVALE', MaxLength = 30; + WatalganLbl: Label 'WATALGAN', MaxLength = 30; + WelcomeCreekLbl: Label 'WELCOME CREEK', MaxLength = 30; + BoolboondaLbl: Label 'BOOLBOONDA', MaxLength = 30; + BooyalLbl: Label 'BOOYAL', MaxLength = 30; + DalysfordLbl: Label 'DALYSFORD', MaxLength = 30; + DamascusLbl: Label 'DAMASCUS', MaxLength = 30; + DelanLbl: Label 'DELAN', MaxLength = 30; + DoughboyLbl: Label 'DOUGHBOY', MaxLength = 30; + DrinanLbl: Label 'DRINAN', MaxLength = 30; + DuingalLbl: Label 'DUINGAL', MaxLength = 30; + GaetaLbl: Label 'GAETA', MaxLength = 30; + Gin_GinLbl: Label 'GIN GIN', MaxLength = 30; + GoodNightLbl: Label 'GOOD NIGHT', MaxLength = 30; + HorseCampLbl: Label 'HORSE CAMP', MaxLength = 30; + KolongaLbl: Label 'KOLONGA', MaxLength = 30; + LakeMonduranLbl: Label 'LAKE MONDURAN', MaxLength = 30; + MaroondanLbl: Label 'MAROONDAN', MaxLength = 30; + McilwraithLbl: Label 'MCILWRAITH', MaxLength = 30; + MolangulLbl: Label 'MOLANGUL', MaxLength = 30; + MonduranLbl: Label 'MONDURAN', MaxLength = 30; + MoolboolamanLbl: Label 'MOOLBOOLAMAN', MaxLength = 30; + MorganvilleLbl: Label 'MORGANVILLE', MaxLength = 30; + MountPerryLbl: Label 'MOUNT PERRY', MaxLength = 30; + MungyLbl: Label 'MUNGY', MaxLength = 30; + NearumLbl: Label 'NEARUM', MaxLength = 30; + NewMoontaLbl: Label 'NEW MOONTA', MaxLength = 30; + RedhillFarmsLbl: Label 'REDHILL FARMS', MaxLength = 30; + SkyringReserveLbl: Label 'SKYRING RESERVE', MaxLength = 30; + StAgnesLbl: Label 'ST AGNES', MaxLength = 30; + TakilberanLbl: Label 'TAKILBERAN', MaxLength = 30; + TirroanLbl: Label 'TIRROAN', MaxLength = 30; + WallavilleLbl: Label 'WALLAVILLE', MaxLength = 30; + WonbahLbl: Label 'WONBAH', MaxLength = 30; + WonbahForestLbl: Label 'WONBAH FOREST', MaxLength = 30; + LittabellaLbl: Label 'LITTABELLA', MaxLength = 30; + MiaraLbl: Label 'MIARA', MaxLength = 30; + YandaranLbl: Label 'YANDARAN', MaxLength = 30; + BaffleCreekLbl: Label 'BAFFLE CREEK', MaxLength = 30; + BerajondoLbl: Label 'BERAJONDO', MaxLength = 30; + EuleilahLbl: Label 'EULEILAH', MaxLength = 30; + MountMariaLbl: Label 'MOUNT MARIA', MaxLength = 30; + OysterCreekLbl: Label 'OYSTER CREEK', MaxLength = 30; + RulesBeachLbl: Label 'RULES BEACH', MaxLength = 30; + TauntonLbl: Label 'TAUNTON', MaxLength = 30; + GindoranLbl: Label 'GINDORAN', MaxLength = 30; + LowmeadLbl: Label 'LOWMEAD', MaxLength = 30; + AgnesWaterLbl: Label 'AGNES WATER', MaxLength = 30; + CaptainCreekLbl: Label 'CAPTAIN CREEK', MaxLength = 30; + ColosseumLbl: Label 'COLOSSEUM', MaxLength = 30; + EurimbulaLbl: Label 'EURIMBULA', MaxLength = 30; + MiriamValeLbl: Label 'MIRIAM VALE', MaxLength = 30; + MountTomLbl: Label 'MOUNT TOM', MaxLength = 30; + RoundHillLbl: Label 'ROUND HILL', MaxLength = 30; + SeventeenSeventyLbl: Label 'SEVENTEEN SEVENTY', MaxLength = 30; + BororenLbl: Label 'BOROREN', MaxLength = 30; + ForeshoresLbl: Label 'FORESHORES', MaxLength = 30; + RoddsBayLbl: Label 'RODDS BAY', MaxLength = 30; + BarneyPointLbl: Label 'BARNEY POINT', MaxLength = 30; + BenarabyLbl: Label 'BENARABY', MaxLength = 30; + BoyneIslandLbl: Label 'BOYNE ISLAND', MaxLength = 30; + BoyneValleyLbl: Label 'BOYNE VALLEY', MaxLength = 30; + BoynedaleLbl: Label 'BOYNEDALE', MaxLength = 30; + BuilyanLbl: Label 'BUILYAN', MaxLength = 30; + ByelleeLbl: Label 'BYELLEE', MaxLength = 30; + CallemondahLbl: Label 'CALLEMONDAH', MaxLength = 30; + CalliopeLbl: Label 'CALLIOPE', MaxLength = 30; + ClintonLbl: Label 'CLINTON', MaxLength = 30; + DiglumLbl: Label 'DIGLUM', MaxLength = 30; + GlenEdenLbl: Label 'GLEN EDEN', MaxLength = 30; + HeronIslandLbl: Label 'HERON ISLAND', MaxLength = 30; + IveraghLbl: Label 'IVERAGH', MaxLength = 30; + KinKoraLbl: Label 'KIN KORA', MaxLength = 30; + KirkwoodLbl: Label 'KIRKWOOD', MaxLength = 30; + MountAlmaLbl: Label 'MOUNT ALMA', MaxLength = 30; + NewAucklandLbl: Label 'NEW AUCKLAND', MaxLength = 30; + OConnellLbl: Label 'OCONNELL', MaxLength = 30; + RiverRanchLbl: Label 'RIVER RANCH', MaxLength = 30; + SouthGladstoneLbl: Label 'SOUTH GLADSTONE', MaxLength = 30; + SouthTreesLbl: Label 'SOUTH TREES', MaxLength = 30; + SunValleyLbl: Label 'SUN VALLEY', MaxLength = 30; + TannumSandsLbl: Label 'TANNUM SANDS', MaxLength = 30; + TaragoolaLbl: Label 'TARAGOOLA', MaxLength = 30; + TelinaLbl: Label 'TELINA', MaxLength = 30; + ToolooaLbl: Label 'TOOLOOA', MaxLength = 30; + UboboLbl: Label 'UBOBO', MaxLength = 30; + WestGladstoneLbl: Label 'WEST GLADSTONE', MaxLength = 30; + WestStoweLbl: Label 'WEST STOWE', MaxLength = 30; + WoodersonLbl: Label 'WOODERSON', MaxLength = 30; + AldogaLbl: Label 'ALDOGA', MaxLength = 30; + TarginieLbl: Label 'TARGINIE', MaxLength = 30; + YarwunLbl: Label 'YARWUN', MaxLength = 30; + BracewellLbl: Label 'BRACEWELL', MaxLength = 30; + DartsCreekLbl: Label 'DARTS CREEK', MaxLength = 30; + EastEndLbl: Label 'EAST END', MaxLength = 30; + MachineCreekLbl: Label 'MACHINE CREEK', MaxLength = 30; + MountLarcomLbl: Label 'MOUNT LARCOM', MaxLength = 30; + TheNarrowsLbl: Label 'THE NARROWS', MaxLength = 30; + BajoolLbl: Label 'BAJOOL', MaxLength = 30; + PortAlmaLbl: Label 'PORT ALMA', MaxLength = 30; + AllenstownLbl: Label 'ALLENSTOWN', MaxLength = 30; + FairyBowerLbl: Label 'FAIRY BOWER', MaxLength = 30; + GreatKeppelIslandLbl: Label 'GREAT KEPPEL ISLAND', MaxLength = 30; + PortCurtisLbl: Label 'PORT CURTIS', MaxLength = 30; + RockhamptonLbl: Label 'ROCKHAMPTON', MaxLength = 30; + TheKeppelsLbl: Label 'THE KEPPELS', MaxLength = 30; + TheRangeLbl: Label 'THE RANGE', MaxLength = 30; + WandalLbl: Label 'WANDAL', MaxLength = 30; + WestRockhamptonLbl: Label 'WEST ROCKHAMPTON', MaxLength = 30; + BerserkerLbl: Label 'BERSERKER', MaxLength = 30; + CentralQueenslandUniversityLbl: Label 'CENTRAL QUEENSLAND UNIVERSITY', MaxLength = 30; + FrenchvilleLbl: Label 'FRENCHVILLE', MaxLength = 30; + GreenlakeLbl: Label 'GREENLAKE', MaxLength = 30; + KawanaLbl: Label 'KAWANA', MaxLength = 30; + KoongalLbl: Label 'KOONGAL', MaxLength = 30; + LimestoneCreekLbl: Label 'LIMESTONE CREEK', MaxLength = 30; + NankinLbl: Label 'NANKIN', MaxLength = 30; + NormanGardensLbl: Label 'NORMAN GARDENS', MaxLength = 30; + NorthRockhamptonLbl: Label 'NORTH ROCKHAMPTON', MaxLength = 30; + ParkAvenueLbl: Label 'PARK AVENUE', MaxLength = 30; + RockyviewLbl: Label 'ROCKYVIEW', MaxLength = 30; + TheCommonLbl: Label 'THE COMMON', MaxLength = 30; + AlbertaLbl: Label 'ALBERTA', MaxLength = 30; + AlsaceLbl: Label 'ALSACE', MaxLength = 30; + BalcombaLbl: Label 'BALCOMBA', MaxLength = 30; + BananaLbl: Label 'BANANA', MaxLength = 30; + BaralabaLbl: Label 'BARALABA', MaxLength = 30; + BarnardLbl: Label 'BARNARD', MaxLength = 30; + BingegangLbl: Label 'BINGEGANG', MaxLength = 30; + BlackdownLbl: Label 'BLACKDOWN', MaxLength = 30; + BluffLbl: Label 'BLUFF', MaxLength = 30; + BouldercombeLbl: Label 'BOULDERCOMBE', MaxLength = 30; + BushleyLbl: Label 'BUSHLEY', MaxLength = 30; + CanalCreekLbl: Label 'CANAL CREEK', MaxLength = 30; + CanoonaLbl: Label 'CANOONA', MaxLength = 30; + CentralQueenslandMcLbl: Label 'CENTRAL QUEENSLAND MC', MaxLength = 30; + CometLbl: Label 'COMET', MaxLength = 30; + CoomooLbl: Label 'COOMOO', MaxLength = 30; + CooroomanLbl: Label 'COOROOMAN', MaxLength = 30; + CoowongaLbl: Label 'COOWONGA', MaxLength = 30; + DalmaLbl: Label 'DALMA', MaxLength = 30; + DingoLbl: Label 'DINGO', MaxLength = 30; + DixaleaLbl: Label 'DIXALEA', MaxLength = 30; + DululuLbl: Label 'DULULU', MaxLength = 30; + DumpyCreekLbl: Label 'DUMPY CREEK', MaxLength = 30; + EtnaCreekLbl: Label 'ETNA CREEK', MaxLength = 30; + GainsfordLbl: Label 'GAINSFORD', MaxLength = 30; + GarnantLbl: Label 'GARNANT', MaxLength = 30; + GogangoLbl: Label 'GOGANGO', MaxLength = 30; + GoomallyLbl: Label 'GOOMALLY', MaxLength = 30; + GoovigenLbl: Label 'GOOVIGEN', MaxLength = 30; + GoowarraLbl: Label 'GOOWARRA', MaxLength = 30; + GracemereLbl: Label 'GRACEMERE', MaxLength = 30; + JambinLbl: Label 'JAMBIN', MaxLength = 30; + JardineLbl: Label 'JARDINE', MaxLength = 30; + JellinbahLbl: Label 'JELLINBAH', MaxLength = 30; + JoskeleighLbl: Label 'JOSKELEIGH', MaxLength = 30; + KalapaLbl: Label 'KALAPA', MaxLength = 30; + KeppelSandsLbl: Label 'KEPPEL SANDS', MaxLength = 30; + KokotungoLbl: Label 'KOKOTUNGO', MaxLength = 30; + MidgeeLbl: Label 'MIDGEE', MaxLength = 30; + MimosaLbl: Label 'MIMOSA', MaxLength = 30; + MorinishLbl: Label 'MORINISH', MaxLength = 30; + MorinishSouthLbl: Label 'MORINISH SOUTH', MaxLength = 30; + MountChalmersLbl: Label 'MOUNT CHALMERS', MaxLength = 30; + NineMileLbl: Label 'NINE MILE', MaxLength = 30; + ParkhurstLbl: Label 'PARKHURST', MaxLength = 30; + PinkLilyLbl: Label 'PINK LILY', MaxLength = 30; + RidgelandsLbl: Label 'RIDGELANDS', MaxLength = 30; + RollestonLbl: Label 'ROLLESTON', MaxLength = 30; + RossmoyaLbl: Label 'ROSSMOYA', MaxLength = 30; + RubyvaleLbl: Label 'RUBYVALE', MaxLength = 30; + SapphireLbl: Label 'SAPPHIRE', MaxLength = 30; + ShoalwaterLbl: Label 'SHOALWATER', MaxLength = 30; + SmokyCreekLbl: Label 'SMOKY CREEK', MaxLength = 30; + SouthYaambaLbl: Label 'SOUTH YAAMBA', MaxLength = 30; + StanageLbl: Label 'STANAGE', MaxLength = 30; + StanwellLbl: Label 'STANWELL', MaxLength = 30; + StewartonLbl: Label 'STEWARTON', MaxLength = 30; + ThompsonPointLbl: Label 'THOMPSON POINT', MaxLength = 30; + TungamullLbl: Label 'TUNGAMULL', MaxLength = 30; + UlogieLbl: Label 'ULOGIE', MaxLength = 30; + WallarooLbl: Label 'WALLAROO', MaxLength = 30; + WestwoodLbl: Label 'WESTWOOD', MaxLength = 30; + WillowsGemfieldsLbl: Label 'WILLOWS GEMFIELDS', MaxLength = 30; + WooleinLbl: Label 'WOOLEIN', MaxLength = 30; + WooroonaLbl: Label 'WOOROONA', MaxLength = 30; + WowanLbl: Label 'WOWAN', MaxLength = 30; + WycarbahLbl: Label 'WYCARBAH', MaxLength = 30; + YarakaLbl: Label 'YARAKA', MaxLength = 30; + AdelaideParkLbl: Label 'ADELAIDE PARK', MaxLength = 30; + BarlowsHillLbl: Label 'BARLOWS HILL', MaxLength = 30; + BarmaryeeLbl: Label 'BARMARYEE', MaxLength = 30; + BarmoyaLbl: Label 'BARMOYA', MaxLength = 30; + ByfieldLbl: Label 'BYFIELD', MaxLength = 30; + CausewayLakeLbl: Label 'CAUSEWAY LAKE', MaxLength = 30; + CobraballLbl: Label 'COBRABALL', MaxLength = 30; + CooeeBayLbl: Label 'COOEE BAY', MaxLength = 30; + InvernessLbl: Label 'INVERNESS', MaxLength = 30; + LakeMaryLbl: Label 'LAKE MARY', MaxLength = 30; + LammermoorLbl: Label 'LAMMERMOOR', MaxLength = 30; + MeiklevilleHillLbl: Label 'MEIKLEVILLE HILL', MaxLength = 30; + MulambinLbl: Label 'MULAMBIN', MaxLength = 30; + MularaLbl: Label 'MULARA', MaxLength = 30; + PacificHeightsLbl: Label 'PACIFIC HEIGHTS', MaxLength = 30; + RosslynLbl: Label 'ROSSLYN', MaxLength = 30; + TanbyLbl: Label 'TANBY', MaxLength = 30; + TaranganbaLbl: Label 'TARANGANBA', MaxLength = 30; + TaroomballLbl: Label 'TAROOMBALL', MaxLength = 30; + WeerribaLbl: Label 'WEERRIBA', MaxLength = 30; + YeppoonLbl: Label 'YEPPOON', MaxLength = 30; + WattlebankLbl: Label 'WATTLEBANK', MaxLength = 30; + YaambaLbl: Label 'YAAMBA', MaxLength = 30; + ClarkeCreekLbl: Label 'CLARKE CREEK', MaxLength = 30; + LotusCreekLbl: Label 'LOTUS CREEK', MaxLength = 30; + MackenzieRiverLbl: Label 'MACKENZIE RIVER', MaxLength = 30; + MarlboroughLbl: Label 'MARLBOROUGH', MaxLength = 30; + MountGardinerLbl: Label 'MOUNT GARDINER', MaxLength = 30; + OgmoreLbl: Label 'OGMORE', MaxLength = 30; + StLawrenceLbl: Label 'ST LAWRENCE', MaxLength = 30; + ThePercyGroupLbl: Label 'THE PERCY GROUP', MaxLength = 30; + TieriLbl: Label 'TIERI', MaxLength = 30; + EmuParkLbl: Label 'EMU PARK', MaxLength = 30; + ZilzieLbl: Label 'ZILZIE', MaxLength = 30; + GlenleeLbl: Label 'GLENLEE', MaxLength = 30; + DuaringaLbl: Label 'DUARINGA', MaxLength = 30; + WoorabindaLbl: Label 'WOORABINDA', MaxLength = 30; + BareeLbl: Label 'BAREE', MaxLength = 30; + BoulderCreekLbl: Label 'BOULDER CREEK', MaxLength = 30; + FletcherCreekLbl: Label 'FLETCHER CREEK', MaxLength = 30; + HamiltonCreekLbl: Label 'HAMILTON CREEK', MaxLength = 30; + HorseCreekLbl: Label 'HORSE CREEK', MaxLength = 30; + JohnsonsHillLbl: Label 'JOHNSONS HILL', MaxLength = 30; + LeydensHillLbl: Label 'LEYDENS HILL', MaxLength = 30; + LimestoneLbl: Label 'LIMESTONE', MaxLength = 30; + MoonganLbl: Label 'MOONGAN', MaxLength = 30; + MountMorganLbl: Label 'MOUNT MORGAN', MaxLength = 30; + NineMileCreekLbl: Label 'NINE MILE CREEK', MaxLength = 30; + OakeyCreekLbl: Label 'OAKEY CREEK', MaxLength = 30; + TheMineLbl: Label 'THE MINE', MaxLength = 30; + TrotterCreekLbl: Label 'TROTTER CREEK', MaxLength = 30; + WalmulLbl: Label 'WALMUL', MaxLength = 30; + WuraLbl: Label 'WURA', MaxLength = 30; + BiloelaLbl: Label 'BILOELA', MaxLength = 30; + CallideLbl: Label 'CALLIDE', MaxLength = 30; + CastleCreekLbl: Label 'CASTLE CREEK', MaxLength = 30; + DakenbaLbl: Label 'DAKENBA', MaxLength = 30; + DumgreeLbl: Label 'DUMGREE', MaxLength = 30; + GreycliffeLbl: Label 'GREYCLIFFE', MaxLength = 30; + OrangeCreekLbl: Label 'ORANGE CREEK', MaxLength = 30; + TarrambaLbl: Label 'TARRAMBA', MaxLength = 30; + LawgiDawesLbl: Label 'LAWGI DAWES', MaxLength = 30; + ThangoolLbl: Label 'THANGOOL', MaxLength = 30; + BlackwaterLbl: Label 'BLACKWATER', MaxLength = 30; + BauhiniaLbl: Label 'BAUHINIA', MaxLength = 30; + DromedaryLbl: Label 'DROMEDARY', MaxLength = 30; + MouraLbl: Label 'MOURA', MaxLength = 30; + MungabundaLbl: Label 'MUNGABUNDA', MaxLength = 30; + OombabeerLbl: Label 'OOMBABEER', MaxLength = 30; + RhyddingLbl: Label 'RHYDDING', MaxLength = 30; + RoundstoneLbl: Label 'ROUNDSTONE', MaxLength = 30; + WarnoahLbl: Label 'WARNOAH', MaxLength = 30; + CamboonLbl: Label 'CAMBOON', MaxLength = 30; + CracowLbl: Label 'CRACOW', MaxLength = 30; + GlenmoralLbl: Label 'GLENMORAL', MaxLength = 30; + IslaLbl: Label 'ISLA', MaxLength = 30; + LonesomeCreekLbl: Label 'LONESOME CREEK', MaxLength = 30; + ArgyllLbl: Label 'ARGYLL', MaxLength = 30; + ClermontLbl: Label 'CLERMONT', MaxLength = 30; + PashaLbl: Label 'PASHA', MaxLength = 30; + SpringsureLbl: Label 'SPRINGSURE', MaxLength = 30; + CapellaLbl: Label 'CAPELLA', MaxLength = 30; + AlphaLbl: Label 'ALPHA', MaxLength = 30; + BarcaldineLbl: Label 'BARCALDINE', MaxLength = 30; + AramacLbl: Label 'ARAMAC', MaxLength = 30; + IlfracombeLbl: Label 'ILFRACOMBE', MaxLength = 30; + JerichoLbl: Label 'JERICHO', MaxLength = 30; + CamoolaLbl: Label 'CAMOOLA', MaxLength = 30; + ChorregonLbl: Label 'CHORREGON', MaxLength = 30; + ErnestinaLbl: Label 'ERNESTINA', MaxLength = 30; + LongreachLbl: Label 'LONGREACH', MaxLength = 30; + ManerooLbl: Label 'MANEROO', MaxLength = 30; + MorellaLbl: Label 'MORELLA', MaxLength = 30; + TocalLbl: Label 'TOCAL', MaxLength = 30; + VergemontLbl: Label 'VERGEMONT', MaxLength = 30; + IsisfordLbl: Label 'ISISFORD', MaxLength = 30; + MuttaburraLbl: Label 'MUTTABURRA', MaxLength = 30; + CorfieldLbl: Label 'CORFIELD', MaxLength = 30; + DiamantinaLakesLbl: Label 'DIAMANTINA LAKES', MaxLength = 30; + MiddletonLbl: Label 'MIDDLETON', MaxLength = 30; + OpaltonLbl: Label 'OPALTON', MaxLength = 30; + JundahLbl: Label 'JUNDAH', MaxLength = 30; + ArmstrongBeachLbl: Label 'ARMSTRONG BEACH', MaxLength = 30; + BlueMountainLbl: Label 'BLUE MOUNTAIN', MaxLength = 30; + CampwinBeachLbl: Label 'CAMPWIN BEACH', MaxLength = 30; + FreshwaterPointLbl: Label 'FRESHWATER POINT', MaxLength = 30; + SarinaLbl: Label 'SARINA', MaxLength = 30; + SarinaBeachLbl: Label 'SARINA BEACH', MaxLength = 30; + SarinaRangeLbl: Label 'SARINA RANGE', MaxLength = 30; + KoumalaLbl: Label 'KOUMALA', MaxLength = 30; + CarmilaLbl: Label 'CARMILA', MaxLength = 30; + AlligatorCreekLbl: Label 'ALLIGATOR CREEK', MaxLength = 30; + AndergroveLbl: Label 'ANDERGROVE', MaxLength = 30; + BakersCreekLbl: Label 'BAKERS CREEK', MaxLength = 30; + BalberraLbl: Label 'BALBERRA', MaxLength = 30; + BalnagowanLbl: Label 'BALNAGOWAN', MaxLength = 30; + BelmundaLbl: Label 'BELMUNDA', MaxLength = 30; + BlacksBeachLbl: Label 'BLACKS BEACH', MaxLength = 30; + CapeHillsboroughLbl: Label 'CAPE HILLSBOROUGH', MaxLength = 30; + ConingsbyLbl: Label 'CONINGSBY', MaxLength = 30; + DolphinHeadsLbl: Label 'DOLPHIN HEADS', MaxLength = 30; + DundulaLbl: Label 'DUNDULA', MaxLength = 30; + EastMackayLbl: Label 'EAST MACKAY', MaxLength = 30; + EimeoLbl: Label 'EIMEO', MaxLength = 30; + ErakalaLbl: Label 'ERAKALA', MaxLength = 30; + FouldenLbl: Label 'FOULDEN', MaxLength = 30; + GlenellaLbl: Label 'GLENELLA', MaxLength = 30; + GrasstreeBeachLbl: Label 'GRASSTREE BEACH', MaxLength = 30; + HabanaLbl: Label 'HABANA', MaxLength = 30; + HalidayBayLbl: Label 'HALIDAY BAY', MaxLength = 30; + HayPointLbl: Label 'HAY POINT', MaxLength = 30; + MackayLbl: Label 'MACKAY', MaxLength = 30; + McewensBeachLbl: Label 'MCEWENS BEACH', MaxLength = 30; + MountJukesLbl: Label 'MOUNT JUKES', MaxLength = 30; + MunburaLbl: Label 'MUNBURA', MaxLength = 30; + NindarooLbl: Label 'NINDAROO', MaxLength = 30; + NorthMackayLbl: Label 'NORTH MACKAY', MaxLength = 30; + OoraleaLbl: Label 'OORALEA', MaxLength = 30; + PagetLbl: Label 'PAGET', MaxLength = 30; + RacecourseLbl: Label 'RACECOURSE', MaxLength = 30; + RosellaLbl: Label 'ROSELLA', MaxLength = 30; + RuralViewLbl: Label 'RURAL VIEW', MaxLength = 30; + SandifordLbl: Label 'SANDIFORD', MaxLength = 30; + SladePointLbl: Label 'SLADE POINT', MaxLength = 30; + SouthMackayLbl: Label 'SOUTH MACKAY', MaxLength = 30; + TeKowaiLbl: Label 'TE KOWAI', MaxLength = 30; + TheLeapLbl: Label 'THE LEAP', MaxLength = 30; + WestMackayLbl: Label 'WEST MACKAY', MaxLength = 30; + BramptonIslandLbl: Label 'BRAMPTON ISLAND', MaxLength = 30; + CoppabellaLbl: Label 'COPPABELLA', MaxLength = 30; + DaydreamIslandLbl: Label 'DAYDREAM ISLAND', MaxLength = 30; + EtonLbl: Label 'ETON', MaxLength = 30; + EtonNorthLbl: Label 'ETON NORTH', MaxLength = 30; + EungellaHinterlandLbl: Label 'EUNGELLA HINTERLAND', MaxLength = 30; + FarleighLbl: Label 'FARLEIGH', MaxLength = 30; + GargettLbl: Label 'GARGETT', MaxLength = 30; + HampdenLbl: Label 'HAMPDEN', MaxLength = 30; + HazledeanLbl: Label 'HAZLEDEAN', MaxLength = 30; + KinchantDamLbl: Label 'KINCHANT DAM', MaxLength = 30; + KuttabulLbl: Label 'KUTTABUL', MaxLength = 30; + LindemanIslandLbl: Label 'LINDEMAN ISLAND', MaxLength = 30; + LongIslandLbl: Label 'LONG ISLAND', MaxLength = 30; + MackayMcLbl: Label 'MACKAY MC', MaxLength = 30; + MountCharltonLbl: Label 'MOUNT CHARLTON', MaxLength = 30; + MountOssaLbl: Label 'MOUNT OSSA', MaxLength = 30; + MountPelionLbl: Label 'MOUNT PELION', MaxLength = 30; + OwensCreekLbl: Label 'OWENS CREEK', MaxLength = 30; + PinnacleLbl: Label 'PINNACLE', MaxLength = 30; + PleystoweLbl: Label 'PLEYSTOWE', MaxLength = 30; + SouthMolleLbl: Label 'SOUTH MOLLE', MaxLength = 30; + BurtonLbl: Label 'BURTON', MaxLength = 30; + EaglefieldLbl: Label 'EAGLEFIELD', MaxLength = 30; + HailCreekLbl: Label 'HAIL CREEK', MaxLength = 30; + KemmisLbl: Label 'KEMMIS', MaxLength = 30; + MtBrittonLbl: Label 'MT BRITTON', MaxLength = 30; + NeboLbl: Label 'NEBO', MaxLength = 30; + OxfordLbl: Label 'OXFORD', MaxLength = 30; + TurrawullaLbl: Label 'TURRAWULLA', MaxLength = 30; + ValkyrieLbl: Label 'VALKYRIE', MaxLength = 30; + GlendenLbl: Label 'GLENDEN', MaxLength = 30; + SuttorLbl: Label 'SUTTOR', MaxLength = 30; + MoranbahLbl: Label 'MORANBAH', MaxLength = 30; + DysartLbl: Label 'DYSART', MaxLength = 30; + MayDownsLbl: Label 'MAY DOWNS', MaxLength = 30; + MiddlemountLbl: Label 'MIDDLEMOUNT', MaxLength = 30; + BucasiaLbl: Label 'BUCASIA', MaxLength = 30; + ShoalPointLbl: Label 'SHOAL POINT', MaxLength = 30; + VictoriaPlainsLbl: Label 'VICTORIA PLAINS', MaxLength = 30; + WalkerstonLbl: Label 'WALKERSTON', MaxLength = 30; + DevereuxCreekLbl: Label 'DEVEREUX CREEK', MaxLength = 30; + MarianLbl: Label 'MARIAN', MaxLength = 30; + BenholmeLbl: Label 'BENHOLME', MaxLength = 30; + DowsCreekLbl: Label 'DOWS CREEK', MaxLength = 30; + MiraniLbl: Label 'MIRANI', MaxLength = 30; + MountMartinLbl: Label 'MOUNT MARTIN', MaxLength = 30; + PinevaleLbl: Label 'PINEVALE', MaxLength = 30; + SeptimusLbl: Label 'SEPTIMUS', MaxLength = 30; + FinchHattonLbl: Label 'FINCH HATTON', MaxLength = 30; + NetherdaleLbl: Label 'NETHERDALE', MaxLength = 30; + BrokenRiverLbl: Label 'BROKEN RIVER', MaxLength = 30; + CreditonLbl: Label 'CREDITON', MaxLength = 30; + DalrympleHeightsLbl: Label 'DALRYMPLE HEIGHTS', MaxLength = 30; + EungellaDamLbl: Label 'EUNGELLA DAM', MaxLength = 30; + CalenLbl: Label 'CALEN', MaxLength = 30; + MentmoreLbl: Label 'MENTMORE', MaxLength = 30; + PindiPindiLbl: Label 'PINDI PINDI', MaxLength = 30; + BloomsburyLbl: Label 'BLOOMSBURY', MaxLength = 30; + AndromacheLbl: Label 'ANDROMACHE', MaxLength = 30; + BrandyCreekLbl: Label 'BRANDY CREEK', MaxLength = 30; + CapeConwayLbl: Label 'CAPE CONWAY', MaxLength = 30; + CapeGloucesterLbl: Label 'CAPE GLOUCESTER', MaxLength = 30; + ConwayBeachLbl: Label 'CONWAY BEACH', MaxLength = 30; + CrystalBrookLbl: Label 'CRYSTAL BROOK', MaxLength = 30; + DittmerLbl: Label 'DITTMER', MaxLength = 30; + FoxdaleLbl: Label 'FOXDALE', MaxLength = 30; + GlenIslaLbl: Label 'GLEN ISLA', MaxLength = 30; + GoorgangaCreekLbl: Label 'GOORGANGA CREEK', MaxLength = 30; + GoorgangaPlainsLbl: Label 'GOORGANGA PLAINS', MaxLength = 30; + GunyarraLbl: Label 'GUNYARRA', MaxLength = 30; + HamiltonPlainsLbl: Label 'HAMILTON PLAINS', MaxLength = 30; + HideawayBayLbl: Label 'HIDEAWAY BAY', MaxLength = 30; + KelseyCreekLbl: Label 'KELSEY CREEK', MaxLength = 30; + LagunaQuaysLbl: Label 'LAGUNA QUAYS', MaxLength = 30; + LakeProserpineLbl: Label 'LAKE PROSERPINE', MaxLength = 30; + LethebrookLbl: Label 'LETHEBROOK', MaxLength = 30; + MountPlutoLbl: Label 'MOUNT PLUTO', MaxLength = 30; + MyrtlevaleLbl: Label 'MYRTLEVALE', MaxLength = 30; + PalmGroveLbl: Label 'PALM GROVE', MaxLength = 30; + PaulsPocketLbl: Label 'PAULS POCKET', MaxLength = 30; + ProserpineLbl: Label 'PROSERPINE', MaxLength = 30; + SilverCreekLbl: Label 'SILVER CREEK', MaxLength = 30; + SugarloafLbl: Label 'SUGARLOAF', MaxLength = 30; + ThooparaLbl: Label 'THOOPARA', MaxLength = 30; + WilsonBeachLbl: Label 'WILSON BEACH', MaxLength = 30; + HaymanIslandLbl: Label 'HAYMAN ISLAND', MaxLength = 30; + AirlieBeachLbl: Label 'AIRLIE BEACH', MaxLength = 30; + CannonvaleLbl: Label 'CANNONVALE', MaxLength = 30; + FlametreeLbl: Label 'FLAMETREE', MaxLength = 30; + MandalayLbl: Label 'MANDALAY', MaxLength = 30; + MountRooperLbl: Label 'MOUNT ROOPER', MaxLength = 30; + ShuteHarbourLbl: Label 'SHUTE HARBOUR', MaxLength = 30; + WhitsundaysLbl: Label 'WHITSUNDAYS', MaxLength = 30; + WoodwarkLbl: Label 'WOODWARK', MaxLength = 30; + HamiltonIslandLbl: Label 'HAMILTON ISLAND', MaxLength = 30; + CollinsvilleLbl: Label 'COLLINSVILLE', MaxLength = 30; + MountCoolonLbl: Label 'MOUNT COOLON', MaxLength = 30; + MountWyattLbl: Label 'MOUNT WYATT', MaxLength = 30; + NewlandsLbl: Label 'NEWLANDS', MaxLength = 30; + SpringlandsLbl: Label 'SPRINGLANDS', MaxLength = 30; + BogieLbl: Label 'BOGIE', MaxLength = 30; + BowenLbl: Label 'BOWEN', MaxLength = 30; + GuthalungraLbl: Label 'GUTHALUNGRA', MaxLength = 30; + MerindaLbl: Label 'MERINDA', MaxLength = 30; + QueensBeachLbl: Label 'QUEENS BEACH', MaxLength = 30; + CarstairsLbl: Label 'CARSTAIRS', MaxLength = 30; + FredericksfieldLbl: Label 'FREDERICKSFIELD', MaxLength = 30; + HomeHillLbl: Label 'HOME HILL', MaxLength = 30; + KirknieLbl: Label 'KIRKNIE', MaxLength = 30; + OsborneLbl: Label 'OSBORNE', MaxLength = 30; + WunjungaLbl: Label 'WUNJUNGA', MaxLength = 30; + AirdmillanLbl: Label 'AIRDMILLAN', MaxLength = 30; + AirvilleLbl: Label 'AIRVILLE', MaxLength = 30; + AlvaLbl: Label 'ALVA', MaxLength = 30; + AyrLbl: Label 'AYR', MaxLength = 30; + ClareLbl: Label 'CLARE', MaxLength = 30; + DalbegLbl: Label 'DALBEG', MaxLength = 30; + EightMileCreekLbl: Label 'EIGHT MILE CREEK', MaxLength = 30; + JarvisfieldLbl: Label 'JARVISFIELD', MaxLength = 30; + McdesmeLbl: Label 'MCDESME', MaxLength = 30; + MillarooLbl: Label 'MILLAROO', MaxLength = 30; + MonaParkLbl: Label 'MONA PARK', MaxLength = 30; + MountKellyLbl: Label 'MOUNT KELLY', MaxLength = 30; + ParksideLbl: Label 'PARKSIDE', MaxLength = 30; + RiteIslandLbl: Label 'RITE ISLAND', MaxLength = 30; + SwansLagoonLbl: Label 'SWANS LAGOON', MaxLength = 30; + BrandonLbl: Label 'BRANDON', MaxLength = 30; + ColevaleLbl: Label 'COLEVALE', MaxLength = 30; + BarrattaLbl: Label 'BARRATTA', MaxLength = 30; + CromartyLbl: Label 'CROMARTY', MaxLength = 30; + GiruLbl: Label 'GIRU', MaxLength = 30; + HorseshoeLagoonLbl: Label 'HORSESHOE LAGOON', MaxLength = 30; + JeronaLbl: Label 'JERONA', MaxLength = 30; + MountSurroundLbl: Label 'MOUNT SURROUND', MaxLength = 30; + ShirbourneLbl: Label 'SHIRBOURNE', MaxLength = 30; + UpperHaughtonLbl: Label 'UPPER HAUGHTON', MaxLength = 30; + BelgianGardensLbl: Label 'BELGIAN GARDENS', MaxLength = 30; + NorthWardLbl: Label 'NORTH WARD', MaxLength = 30; + PallarendaLbl: Label 'PALLARENDA', MaxLength = 30; + RailwayEstateLbl: Label 'RAILWAY ESTATE', MaxLength = 30; + RowesBayLbl: Label 'ROWES BAY', MaxLength = 30; + SouthTownsvilleLbl: Label 'SOUTH TOWNSVILLE', MaxLength = 30; + TownCommonLbl: Label 'TOWN COMMON', MaxLength = 30; + TownsvilleLbl: Label 'TOWNSVILLE', MaxLength = 30; + CludenLbl: Label 'CLUDEN', MaxLength = 30; + IdaliaLbl: Label 'IDALIA', MaxLength = 30; + JamesCookUniversityLbl: Label 'JAMES COOK UNIVERSITY', MaxLength = 30; + OakValleyLbl: Label 'OAK VALLEY', MaxLength = 30; + OonoonbaLbl: Label 'OONOONBA', MaxLength = 30; + RoseneathLbl: Label 'ROSENEATH', MaxLength = 30; + StuartLbl: Label 'STUART', MaxLength = 30; + WulguruLbl: Label 'WULGURU', MaxLength = 30; + CurrajongLbl: Label 'CURRAJONG', MaxLength = 30; + GulliverLbl: Label 'GULLIVER', MaxLength = 30; + HermitParkLbl: Label 'HERMIT PARK', MaxLength = 30; + HydeParkLbl: Label 'HYDE PARK', MaxLength = 30; + MundingburraLbl: Label 'MUNDINGBURRA', MaxLength = 30; + MystertonLbl: Label 'MYSTERTON', MaxLength = 30; + RossleaLbl: Label 'ROSSLEA', MaxLength = 30; + TownsvilleMilpoLbl: Label 'TOWNSVILLE MILPO', MaxLength = 30; + AitkenvaleLbl: Label 'AITKENVALE', MaxLength = 30; + CranbrookLbl: Label 'CRANBROOK', MaxLength = 30; + GarbuttLbl: Label 'GARBUTT', MaxLength = 30; + HeatleyLbl: Label 'HEATLEY', MaxLength = 30; + MountLouisaLbl: Label 'MOUNT LOUISA', MaxLength = 30; + MurrayLbl: Label 'MURRAY', MaxLength = 30; + VincentLbl: Label 'VINCENT', MaxLength = 30; + CondonLbl: Label 'CONDON', MaxLength = 30; + RasmussenLbl: Label 'RASMUSSEN', MaxLength = 30; + BarringhaLbl: Label 'BARRINGHA', MaxLength = 30; + BrookhillLbl: Label 'BROOKHILL', MaxLength = 30; + CungullaLbl: Label 'CUNGULLA', MaxLength = 30; + HomesteadLbl: Label 'HOMESTEAD', MaxLength = 30; + JulagoLbl: Label 'JULAGO', MaxLength = 30; + KennedyLbl: Label 'KENNEDY', MaxLength = 30; + MacrossanLbl: Label 'MACROSSAN', MaxLength = 30; + MingelaLbl: Label 'MINGELA', MaxLength = 30; + MutarneeLbl: Label 'MUTARNEE', MaxLength = 30; + NeliaLbl: Label 'NELIA', MaxLength = 30; + NomeLbl: Label 'NOME', MaxLength = 30; + PalmIslandLbl: Label 'PALM ISLAND', MaxLength = 30; + PalumaLbl: Label 'PALUMA', MaxLength = 30; + PentlandLbl: Label 'PENTLAND', MaxLength = 30; + RollingstoneLbl: Label 'ROLLINGSTONE', MaxLength = 30; + RossRiverLbl: Label 'ROSS RIVER', MaxLength = 30; + SellheimLbl: Label 'SELLHEIM', MaxLength = 30; + TorrensCreekLbl: Label 'TORRENS CREEK', MaxLength = 30; + AliceRiverLbl: Label 'ALICE RIVER', MaxLength = 30; + BohlePlainsLbl: Label 'BOHLE PLAINS', MaxLength = 30; + HerveyRangeLbl: Label 'HERVEY RANGE', MaxLength = 30; + KirwanLbl: Label 'KIRWAN', MaxLength = 30; + ThuringowaCentralLbl: Label 'THURINGOWA CENTRAL', MaxLength = 30; + ThuringowaCentralBcLbl: Label 'THURINGOWA CENTRAL BC', MaxLength = 30; + BlackRiverLbl: Label 'BLACK RIVER', MaxLength = 30; + BluewaterLbl: Label 'BLUEWATER', MaxLength = 30; + BluewaterParkLbl: Label 'BLUEWATER PARK', MaxLength = 30; + BohleLbl: Label 'BOHLE', MaxLength = 30; + BushlandBeachLbl: Label 'BUSHLAND BEACH', MaxLength = 30; + DeeragunLbl: Label 'DEERAGUN', MaxLength = 30; + MountStJohnLbl: Label 'MOUNT ST JOHN', MaxLength = 30; + SaundersBeachLbl: Label 'SAUNDERS BEACH', MaxLength = 30; + ToolakeaLbl: Label 'TOOLAKEA', MaxLength = 30; + YabuluLbl: Label 'YABULU', MaxLength = 30; + HorseshoeBayLbl: Label 'HORSESHOE BAY', MaxLength = 30; + MagneticIslandLbl: Label 'MAGNETIC ISLAND', MaxLength = 30; + NellyBayLbl: Label 'NELLY BAY', MaxLength = 30; + PicnicBayLbl: Label 'PICNIC BAY', MaxLength = 30; + WestPointLbl: Label 'WEST POINT', MaxLength = 30; + AlabamaHillLbl: Label 'ALABAMA HILL', MaxLength = 30; + ChartersTowersLbl: Label 'CHARTERS TOWERS', MaxLength = 30; + ColombiaLbl: Label 'Colombia', MaxLength = 30; + GrandSecretLbl: Label 'GRAND SECRET', MaxLength = 30; + LissnerLbl: Label 'LISSNER', MaxLength = 30; + MillchesterLbl: Label 'MILLCHESTER', MaxLength = 30; + MosmanParkLbl: Label 'MOSMAN PARK', MaxLength = 30; + QueentonLbl: Label 'QUEENTON', MaxLength = 30; + TollLbl: Label 'TOLL', MaxLength = 30; + TowersHillLbl: Label 'TOWERS HILL', MaxLength = 30; + HughendenLbl: Label 'HUGHENDEN', MaxLength = 30; + StamfordLbl: Label 'STAMFORD', MaxLength = 30; + BurleighLbl: Label 'BURLEIGH', MaxLength = 30; + JuliaCreekLbl: Label 'JULIA CREEK', MaxLength = 30; + KynunaLbl: Label 'KYNUNA', MaxLength = 30; + MckinlayLbl: Label 'MCKINLAY', MaxLength = 30; + CloncurryLbl: Label 'CLONCURRY', MaxLength = 30; + OorindiLbl: Label 'OORINDI', MaxLength = 30; + BreakawayLbl: Label 'BREAKAWAY', MaxLength = 30; + BuckinghamLbl: Label 'BUCKINGHAM', MaxLength = 30; + CarrandottaLbl: Label 'CARRANDOTTA', MaxLength = 30; + DajarraLbl: Label 'DAJARRA', MaxLength = 30; + GeorginaLbl: Label 'GEORGINA', MaxLength = 30; + HealyLbl: Label 'HEALY', MaxLength = 30; + MenziesLbl: Label 'MENZIES', MaxLength = 30; + MicaCreekLbl: Label 'MICA CREEK', MaxLength = 30; + MilesEndLbl: Label 'MILES END', MaxLength = 30; + MountIsaLbl: Label 'MOUNT ISA', MaxLength = 30; + PioneerLbl: Label 'PIONEER', MaxLength = 30; + PiturieLbl: Label 'PITURIE', MaxLength = 30; + SoldiersHillLbl: Label 'SOLDIERS HILL', MaxLength = 30; + SunsetLbl: Label 'SUNSET', MaxLength = 30; + TheMonumentLbl: Label 'THE MONUMENT', MaxLength = 30; + TownviewLbl: Label 'TOWNVIEW', MaxLength = 30; + WinstonLbl: Label 'WINSTON', MaxLength = 30; + CamoowealLbl: Label 'CAMOOWEAL', MaxLength = 30; + BedourieLbl: Label 'BEDOURIE', MaxLength = 30; + BouliaLbl: Label 'BOULIA', MaxLength = 30; + MinMinLbl: Label 'MIN MIN', MaxLength = 30; + SturtLbl: Label 'STURT', MaxLength = 30; + TokoLbl: Label 'TOKO', MaxLength = 30; + WarendaLbl: Label 'WARENDA', MaxLength = 30; + WillsLbl: Label 'WILLS', MaxLength = 30; + BurketownLbl: Label 'BURKETOWN', MaxLength = 30; + DoomadgeeLbl: Label 'DOOMADGEE', MaxLength = 30; + CardwellLbl: Label 'CARDWELL', MaxLength = 30; + AbergowrieLbl: Label 'ABERGOWRIE', MaxLength = 30; + AllinghamLbl: Label 'ALLINGHAM', MaxLength = 30; + GairlochLbl: Label 'GAIRLOCH', MaxLength = 30; + HalifaxLbl: Label 'HALIFAX', MaxLength = 30; + HawkinsCreekLbl: Label 'HAWKINS CREEK', MaxLength = 30; + InghamLbl: Label 'INGHAM', MaxLength = 30; + LucindaLbl: Label 'LUCINDA', MaxLength = 30; + MacknadeLbl: Label 'MACKNADE', MaxLength = 30; + MountFoxLbl: Label 'MOUNT FOX', MaxLength = 30; + TaylorsBeachLbl: Label 'TAYLORS BEACH', MaxLength = 30; + UpperStoneLbl: Label 'UPPER STONE', MaxLength = 30; + VictoriaPlantationLbl: Label 'VICTORIA PLANTATION', MaxLength = 30; + BingilBayLbl: Label 'BINGIL BAY', MaxLength = 30; + DjiruLbl: Label 'DJIRU', MaxLength = 30; + GarnersBeachLbl: Label 'GARNERS BEACH', MaxLength = 30; + MidgereeBarLbl: Label 'MIDGEREE BAR', MaxLength = 30; + MissionBeachLbl: Label 'MISSION BEACH', MaxLength = 30; + WongalingBeachLbl: Label 'WONGALING BEACH', MaxLength = 30; + CardstoneLbl: Label 'CARDSTONE', MaxLength = 30; + EuramoLbl: Label 'EURAMO', MaxLength = 30; + MurrayUpperLbl: Label 'MURRAY UPPER', MaxLength = 30; + TullyLbl: Label 'TULLY', MaxLength = 30; + DavesonLbl: Label 'DAVESON', MaxLength = 30; + ElArishLbl: Label 'EL ARISH', MaxLength = 30; + FridayPocketLbl: Label 'FRIDAY POCKET', MaxLength = 30; + GranadillaLbl: Label 'GRANADILLA', MaxLength = 30; + JaffaLbl: Label 'JAFFA', MaxLength = 30; + MaadiLbl: Label 'MAADI', MaxLength = 30; + MariaCreeksLbl: Label 'MARIA CREEKS', MaxLength = 30; + ShellPocketLbl: Label 'SHELL POCKET', MaxLength = 30; + GoolbooLbl: Label 'GOOLBOO', MaxLength = 30; + McCutcheonLbl: Label 'MCCUTCHEON', MaxLength = 30; + No4BranchLbl: Label 'NO. 4 BRANCH', MaxLength = 30; + No5BranchLbl: Label 'NO. 5 BRANCH', MaxLength = 30; + SilkwoodLbl: Label 'SILKWOOD', MaxLength = 30; + WalterLeverEstateLbl: Label 'WALTER LEVER ESTATE', MaxLength = 30; + SilkwoodEastLbl: Label 'SILKWOOD EAST', MaxLength = 30; + ComoonLoopLbl: Label 'COMOON LOOP', MaxLength = 30; + EttyBayLbl: Label 'ETTY BAY', MaxLength = 30; + MartyvilleLbl: Label 'MARTYVILLE', MaxLength = 30; + MourilyanLbl: Label 'MOURILYAN', MaxLength = 30; + MourilyanHarbourLbl: Label 'MOURILYAN HARBOUR', MaxLength = 30; + NewHarbourlineLbl: Label 'NEW HARBOURLINE', MaxLength = 30; + No6BranchLbl: Label 'NO. 6 BRANCH', MaxLength = 30; + SouthJohnstoneLbl: Label 'SOUTH JOHNSTONE', MaxLength = 30; + BambooCreekLbl: Label 'BAMBOO CREEK', MaxLength = 30; + BelvedereLbl: Label 'BELVEDERE', MaxLength = 30; + CoconutsLbl: Label 'COCONUTS', MaxLength = 30; + CoorooLandsLbl: Label 'COOROO LANDS', MaxLength = 30; + CoorumbaLbl: Label 'COORUMBA', MaxLength = 30; + CoquettePointLbl: Label 'COQUETTE POINT', MaxLength = 30; + CullinaneLbl: Label 'CULLINANE', MaxLength = 30; + DaradgeeLbl: Label 'DARADGEE', MaxLength = 30; + EastInnisfailLbl: Label 'EAST INNISFAIL', MaxLength = 30; + EastPalmerstonLbl: Label 'EAST PALMERSTON', MaxLength = 30; + EatonLbl: Label 'EATON', MaxLength = 30; + EubenangeeLbl: Label 'EUBENANGEE', MaxLength = 30; + FitzgeraldCreekLbl: Label 'FITZGERALD CREEK', MaxLength = 30; + FlyingFishPointLbl: Label 'FLYING FISH POINT', MaxLength = 30; + GarradungaLbl: Label 'GARRADUNGA', MaxLength = 30; + GoondiLbl: Label 'GOONDI', MaxLength = 30; + GoondiBendLbl: Label 'GOONDI BEND', MaxLength = 30; + GoondiHillLbl: Label 'GOONDI HILL', MaxLength = 30; + HudsonLbl: Label 'HUDSON', MaxLength = 30; + InnisfailLbl: Label 'INNISFAIL', MaxLength = 30; + InnisfailEstateLbl: Label 'INNISFAIL ESTATE', MaxLength = 30; + JubileeHeightsLbl: Label 'JUBILEE HEIGHTS', MaxLength = 30; + MighellLbl: Label 'MIGHELL', MaxLength = 30; + MundooLbl: Label 'MUNDOO', MaxLength = 30; + NeradaLbl: Label 'NERADA', MaxLength = 30; + NjatjanLbl: Label 'NJATJAN', MaxLength = 30; + OBriensHillLbl: Label 'OBRIENS HILL', MaxLength = 30; + PinGinHillLbl: Label 'PIN GIN HILL', MaxLength = 30; + SouthInnisfailLbl: Label 'SOUTH INNISFAIL', MaxLength = 30; + StotersHillLbl: Label 'STOTERS HILL', MaxLength = 30; + SundownLbl: Label 'SUNDOWN', MaxLength = 30; + UpperDaradgeeLbl: Label 'UPPER DARADGEE', MaxLength = 30; + VasaViewsLbl: Label 'VASA VIEWS', MaxLength = 30; + WanjuruLbl: Label 'WANJURU', MaxLength = 30; + WebbLbl: Label 'WEBB', MaxLength = 30; + WooroonooranLbl: Label 'WOOROONOORAN', MaxLength = 30; + BabindaLbl: Label 'BABINDA', MaxLength = 30; + BartleFrereLbl: Label 'BARTLE FRERE', MaxLength = 30; + EastRussellLbl: Label 'EAST RUSSELL', MaxLength = 30; + GordonvaleLbl: Label 'GORDONVALE', MaxLength = 30; + KammaLbl: Label 'KAMMA', MaxLength = 30; + BayviewHeightsLbl: Label 'BAYVIEW HEIGHTS', MaxLength = 30; + MountSheridanLbl: Label 'MOUNT SHERIDAN', MaxLength = 30; + WhiteRockLbl: Label 'WHITE ROCK', MaxLength = 30; + WoreeLbl: Label 'WOREE', MaxLength = 30; + BentleyParkLbl: Label 'BENTLEY PARK', MaxLength = 30; + EdmontonLbl: Label 'EDMONTON', MaxLength = 30; + MountPeterLbl: Label 'MOUNT PETER', MaxLength = 30; + WrightsCreekLbl: Label 'WRIGHTS CREEK', MaxLength = 30; + AeroglenLbl: Label 'AEROGLEN', MaxLength = 30; + BrinsmeadLbl: Label 'BRINSMEAD', MaxLength = 30; + BungalowLbl: Label 'BUNGALOW', MaxLength = 30; + CairnsLbl: Label 'CAIRNS', MaxLength = 30; + CairnsNorthLbl: Label 'CAIRNS NORTH', MaxLength = 30; + CairnsOrchidPlazaLbl: Label 'CAIRNS ORCHID PLAZA', MaxLength = 30; + EarlvilleLbl: Label 'EARLVILLE', MaxLength = 30; + EdgeHillLbl: Label 'EDGE HILL', MaxLength = 30; + FreshwaterLbl: Label 'FRESHWATER', MaxLength = 30; + KamerungaLbl: Label 'KAMERUNGA', MaxLength = 30; + KanimblaLbl: Label 'KANIMBLA', MaxLength = 30; + ManooraLbl: Label 'MANOORA', MaxLength = 30; + ManundaLbl: Label 'MANUNDA', MaxLength = 30; + MartynvaleLbl: Label 'MARTYNVALE', MaxLength = 30; + MoorooboolLbl: Label 'MOOROOBOOL', MaxLength = 30; + ParramattaParkLbl: Label 'PARRAMATTA PARK', MaxLength = 30; + RedlynchLbl: Label 'REDLYNCH', MaxLength = 30; + WestcourtLbl: Label 'WESTCOURT', MaxLength = 30; + AlmadenLbl: Label 'ALMADEN', MaxLength = 30; + AloombaLbl: Label 'ALOOMBA', MaxLength = 30; + AurukunLbl: Label 'AURUKUN', MaxLength = 30; + BasiliskLbl: Label 'BASILISK', MaxLength = 30; + BellendenKerLbl: Label 'BELLENDEN KER', MaxLength = 30; + BombeetaLbl: Label 'BOMBEETA', MaxLength = 30; + BooganLbl: Label 'BOOGAN', MaxLength = 30; + CampCreekLbl: Label 'CAMP CREEK', MaxLength = 30; + ChillagoeLbl: Label 'CHILLAGOE', MaxLength = 30; + CoenLbl: Label 'COEN', MaxLength = 30; + CowleyLbl: Label 'COWLEY', MaxLength = 30; + CowleyBeachLbl: Label 'COWLEY BEACH', MaxLength = 30; + CowleyCreekLbl: Label 'COWLEY CREEK', MaxLength = 30; + CurrajahLbl: Label 'CURRAJAH', MaxLength = 30; + DeeralLbl: Label 'DEERAL', MaxLength = 30; + EastTrinityLbl: Label 'EAST TRINITY', MaxLength = 30; + EdwardRiverLbl: Label 'EDWARD RIVER', MaxLength = 30; + EinasleighLbl: Label 'EINASLEIGH', MaxLength = 30; + FisheryFallsLbl: Label 'FISHERY FALLS', MaxLength = 30; + ForsaythLbl: Label 'FORSAYTH', MaxLength = 30; + GermantownLbl: Label 'GERMANTOWN', MaxLength = 30; + GlenBoughtonLbl: Label 'GLEN BOUGHTON', MaxLength = 30; + GreenIslandLbl: Label 'GREEN ISLAND', MaxLength = 30; + GununaLbl: Label 'GUNUNA', MaxLength = 30; + JulattenLbl: Label 'JULATTEN', MaxLength = 30; + KowanyamaLbl: Label 'KOWANYAMA', MaxLength = 30; + KurrimineBeachLbl: Label 'KURRIMINE BEACH', MaxLength = 30; + LauraLbl: Label 'LAURA', MaxLength = 30; + LowerCowleyLbl: Label 'LOWER COWLEY', MaxLength = 30; + MenaCreekLbl: Label 'MENA CREEK', MaxLength = 30; + MiriwinniLbl: Label 'MIRIWINNI', MaxLength = 30; + MoresbyLbl: Label 'MORESBY', MaxLength = 30; + MountCarbineLbl: Label 'MOUNT CARBINE', MaxLength = 30; + MountMolloyLbl: Label 'MOUNT MOLLOY', MaxLength = 30; + MountSurpriseLbl: Label 'MOUNT SURPRISE', MaxLength = 30; + PormpuraawLbl: Label 'PORMPURAAW', MaxLength = 30; + SandyPocketLbl: Label 'SANDY POCKET', MaxLength = 30; + UtcheeCreekLbl: Label 'UTCHEE CREEK', MaxLength = 30; + WanganLbl: Label 'WANGAN', MaxLength = 30; + WarrubullenLbl: Label 'WARRUBULLEN', MaxLength = 30; + YarrabahLbl: Label 'YARRABAH', MaxLength = 30; + BarrineLbl: Label 'BARRINE', MaxLength = 30; + DanbullaLbl: Label 'DANBULLA', MaxLength = 30; + DimbulahLbl: Label 'DIMBULAH', MaxLength = 30; + GlenRuthLbl: Label 'GLEN RUTH', MaxLength = 30; + GunnawarraLbl: Label 'GUNNAWARRA', MaxLength = 30; + InnotHotSpringsLbl: Label 'INNOT HOT SPRINGS', MaxLength = 30; + KairiLbl: Label 'KAIRI', MaxLength = 30; + KirramaLbl: Label 'KIRRAMA', MaxLength = 30; + KoombooloombaLbl: Label 'KOOMBOOLOOMBA', MaxLength = 30; + LakeTinarooLbl: Label 'LAKE TINAROO', MaxLength = 30; + MinnamoolkaLbl: Label 'MINNAMOOLKA', MaxLength = 30; + MountGarnetLbl: Label 'MOUNT GARNET', MaxLength = 30; + MutchilbaLbl: Label 'MUTCHILBA', MaxLength = 30; + SilverValleyLbl: Label 'SILVER VALLEY', MaxLength = 30; + TinarooLbl: Label 'TINAROO', MaxLength = 30; + WairunaLbl: Label 'WAIRUNA', MaxLength = 30; + WalkaminLbl: Label 'WALKAMIN', MaxLength = 30; + DaintreeLbl: Label 'DAINTREE', MaxLength = 30; + DiwanLbl: Label 'DIWAN', MaxLength = 30; + MossmanLbl: Label 'MOSSMAN', MaxLength = 30; + NewellLbl: Label 'NEWELL', MaxLength = 30; + WongaLbl: Label 'WONGA', MaxLength = 30; + EvansLandingLbl: Label 'EVANS LANDING', MaxLength = 30; + NanumLbl: Label 'NANUM', MaxLength = 30; + RockyPointLbl: Label 'ROCKY POINT', MaxLength = 30; + TrundingLbl: Label 'TRUNDING', MaxLength = 30; + WeipaLbl: Label 'WEIPA', MaxLength = 30; + WeipaAirportLbl: Label 'WEIPA AIRPORT', MaxLength = 30; + BaduIslandLbl: Label 'BADU ISLAND', MaxLength = 30; + ThursdayIslandLbl: Label 'THURSDAY ISLAND', MaxLength = 30; + BamagaLbl: Label 'BAMAGA', MaxLength = 30; + PortDouglasLbl: Label 'PORT DOUGLAS', MaxLength = 30; + BarronLbl: Label 'BARRON', MaxLength = 30; + CaravonicaLbl: Label 'CARAVONICA', MaxLength = 30; + HollowaysBeachLbl: Label 'HOLLOWAYS BEACH', MaxLength = 30; + MachansBeachLbl: Label 'MACHANS BEACH', MaxLength = 30; + YorkeysKnobLbl: Label 'YORKEYS KNOB', MaxLength = 30; + CliftonBeachLbl: Label 'CLIFTON BEACH', MaxLength = 30; + EllisBeachLbl: Label 'ELLIS BEACH', MaxLength = 30; + KewarraBeachLbl: Label 'KEWARRA BEACH', MaxLength = 30; + PalmCoveLbl: Label 'PALM COVE', MaxLength = 30; + TrinityBeachLbl: Label 'TRINITY BEACH', MaxLength = 30; + TrinityParkLbl: Label 'TRINITY PARK', MaxLength = 30; + MareebaLbl: Label 'MAREEBA', MaxLength = 30; + KurandaLbl: Label 'KURANDA', MaxLength = 30; + TolgaLbl: Label 'TOLGA', MaxLength = 30; + AthertonLbl: Label 'ATHERTON', MaxLength = 30; + EastBarronLbl: Label 'EAST BARRON', MaxLength = 30; + UpperBarronLbl: Label 'UPPER BARRON', MaxLength = 30; + WongabelLbl: Label 'WONGABEL', MaxLength = 30; + YungaburraLbl: Label 'YUNGABURRA', MaxLength = 30; + MalandaLbl: Label 'MALANDA', MaxLength = 30; + MillaaMillaaLbl: Label 'MILLAA MILLAA', MaxLength = 30; + HerbertonLbl: Label 'HERBERTON', MaxLength = 30; + IrvinebankLbl: Label 'IRVINEBANK', MaxLength = 30; + MoominLbl: Label 'MOOMIN', MaxLength = 30; + WatsonvilleLbl: Label 'WATSONVILLE', MaxLength = 30; + WondeclaLbl: Label 'WONDECLA', MaxLength = 30; + EvelynLbl: Label 'EVELYN', MaxLength = 30; + KabanLbl: Label 'KABAN', MaxLength = 30; + MillstreamLbl: Label 'MILLSTREAM', MaxLength = 30; + RavenshoeLbl: Label 'RAVENSHOE', MaxLength = 30; + TumoulinLbl: Label 'TUMOULIN', MaxLength = 30; + NormantonLbl: Label 'NORMANTON', MaxLength = 30; + KarumbaLbl: Label 'KARUMBA', MaxLength = 30; + CooktownLbl: Label 'COOKTOWN', MaxLength = 30; + AdelaideLbl: Label 'ADELAIDE', MaxLength = 30; + AdelaideBcLbl: Label 'ADELAIDE BC', MaxLength = 30; + HalifaxStreetLbl: Label 'HALIFAX STREET', MaxLength = 30; + HuttStreetLbl: Label 'HUTT STREET', MaxLength = 30; + RundleMallLbl: Label 'RUNDLE MALL', MaxLength = 30; + StationArcadeLbl: Label 'STATION ARCADE', MaxLength = 30; + AdelaideUniversityLbl: Label 'ADELAIDE UNIVERSITY', MaxLength = 30; + TheUniversityOfAdelaideLbl: Label 'THE UNIVERSITY OF ADELAIDE', MaxLength = 30; + NorthAdelaideLbl: Label 'NORTH ADELAIDE', MaxLength = 30; + NorthAdelaideMelbourneStLbl: Label 'NORTH ADELAIDE MELBOURNE ST', MaxLength = 30; + BowdenLbl: Label 'BOWDEN', MaxLength = 30; + BromptonLbl: Label 'BROMPTON', MaxLength = 30; + HindmarshLbl: Label 'HINDMARSH', MaxLength = 30; + WellandLbl: Label 'WELLAND', MaxLength = 30; + WestHindmarshLbl: Label 'WEST HINDMARSH', MaxLength = 30; + DudleyParkLbl: Label 'DUDLEY PARK', MaxLength = 30; + RenownParkLbl: Label 'RENOWN PARK', MaxLength = 30; + RidleytonLbl: Label 'RIDLEYTON', MaxLength = 30; + WestCroydonLbl: Label 'WEST CROYDON', MaxLength = 30; + AllenbyGardensLbl: Label 'ALLENBY GARDENS', MaxLength = 30; + BeverleyLbl: Label 'BEVERLEY', MaxLength = 30; + KilkennyLbl: Label 'KILKENNY', MaxLength = 30; + AngleParkLbl: Label 'ANGLE PARK', MaxLength = 30; + FerrydenParkLbl: Label 'FERRYDEN PARK', MaxLength = 30; + RegencyParkLbl: Label 'REGENCY PARK', MaxLength = 30; + RegencyParkBcLbl: Label 'REGENCY PARK BC', MaxLength = 30; + WoodvilleParkLbl: Label 'WOODVILLE PARK', MaxLength = 30; + WoodvilleSouthLbl: Label 'WOODVILLE SOUTH', MaxLength = 30; + AtholParkLbl: Label 'ATHOL PARK', MaxLength = 30; + MansfieldParkLbl: Label 'MANSFIELD PARK', MaxLength = 30; + WoodvilleGardensLbl: Label 'WOODVILLE GARDENS', MaxLength = 30; + WoodvilleNorthLbl: Label 'WOODVILLE NORTH', MaxLength = 30; + GillmanLbl: Label 'GILLMAN', MaxLength = 30; + OttowayLbl: Label 'OTTOWAY', MaxLength = 30; + PenningtonLbl: Label 'PENNINGTON', MaxLength = 30; + RosewaterLbl: Label 'ROSEWATER', MaxLength = 30; + RosewaterEastLbl: Label 'ROSEWATER EAST', MaxLength = 30; + WingfieldLbl: Label 'WINGFIELD', MaxLength = 30; + HendonLbl: Label 'HENDON', MaxLength = 30; + QueenstownLbl: Label 'QUEENSTOWN', MaxLength = 30; + RoyalParkLbl: Label 'ROYAL PARK', MaxLength = 30; + BirkenheadLbl: Label 'BIRKENHEAD', MaxLength = 30; + EtheltonLbl: Label 'ETHELTON', MaxLength = 30; + GlanvilleLbl: Label 'GLANVILLE', MaxLength = 30; + PortAdelaideLbl: Label 'PORT ADELAIDE', MaxLength = 30; + LargsBayLbl: Label 'LARGS BAY', MaxLength = 30; + LargsNorthLbl: Label 'LARGS NORTH', MaxLength = 30; + PeterheadLbl: Label 'PETERHEAD', MaxLength = 30; + TaperooLbl: Label 'TAPEROO', MaxLength = 30; + OuterHarborLbl: Label 'OUTER HARBOR', MaxLength = 30; + SemaphoreLbl: Label 'SEMAPHORE', MaxLength = 30; + WestLakesShoreLbl: Label 'WEST LAKES SHORE', MaxLength = 30; + WestLakesLbl: Label 'WEST LAKES', MaxLength = 30; + HenleyBeachLbl: Label 'HENLEY BEACH', MaxLength = 30; + HenleyBeachSouthLbl: Label 'HENLEY BEACH SOUTH', MaxLength = 30; + FindonLbl: Label 'FINDON', MaxLength = 30; + FulhamGardensLbl: Label 'FULHAM GARDENS', MaxLength = 30; + WestBeachLbl: Label 'WEST BEACH', MaxLength = 30; + FlindersParkLbl: Label 'FLINDERS PARK', MaxLength = 30; + KidmanParkLbl: Label 'KIDMAN PARK', MaxLength = 30; + MileEndLbl: Label 'MILE END', MaxLength = 30; + ThebartonLbl: Label 'THEBARTON', MaxLength = 30; + TorrensvilleLbl: Label 'TORRENSVILLE', MaxLength = 30; + TorrensvillePlazaLbl: Label 'TORRENSVILLE PLAZA', MaxLength = 30; + BrooklynParkLbl: Label 'BROOKLYN PARK', MaxLength = 30; + LockleysLbl: Label 'LOCKLEYS', MaxLength = 30; + UnderdaleLbl: Label 'UNDERDALE', MaxLength = 30; + CowandillaLbl: Label 'COWANDILLA', MaxLength = 30; + HiltonLbl: Label 'HILTON', MaxLength = 30; + HiltonPlazaLbl: Label 'HILTON PLAZA', MaxLength = 30; + MarlestonLbl: Label 'MARLESTON', MaxLength = 30; + WestRichmondLbl: Label 'WEST RICHMOND', MaxLength = 30; + ClarenceParkLbl: Label 'CLARENCE PARK', MaxLength = 30; + MillswoodLbl: Label 'MILLSWOOD', MaxLength = 30; + WayvilleLbl: Label 'WAYVILLE', MaxLength = 30; + BlackForestLbl: Label 'BLACK FOREST', MaxLength = 30; + EverardParkLbl: Label 'EVERARD PARK', MaxLength = 30; + KeswickLbl: Label 'KESWICK', MaxLength = 30; + GlandoreLbl: Label 'GLANDORE', MaxLength = 30; + KurraltaParkLbl: Label 'KURRALTA PARK', MaxLength = 30; + NetleyLbl: Label 'NETLEY', MaxLength = 30; + NorthPlymptonLbl: Label 'NORTH PLYMPTON', MaxLength = 30; + PlymptonLbl: Label 'PLYMPTON', MaxLength = 30; + PlymptonParkLbl: Label 'PLYMPTON PARK', MaxLength = 30; + SouthPlymptonLbl: Label 'SOUTH PLYMPTON', MaxLength = 30; + ClarenceGardensLbl: Label 'CLARENCE GARDENS', MaxLength = 30; + EdwardstownLbl: Label 'EDWARDSTOWN', MaxLength = 30; + NovarGardensLbl: Label 'NOVAR GARDENS', MaxLength = 30; + ColonelLightGardensLbl: Label 'COLONEL LIGHT GARDENS', MaxLength = 30; + CumberlandParkLbl: Label 'CUMBERLAND PARK', MaxLength = 30; + DawParkLbl: Label 'DAW PARK', MaxLength = 30; + PanoramaLbl: Label 'PANORAMA', MaxLength = 30; + WestbourneParkLbl: Label 'WESTBOURNE PARK', MaxLength = 30; + BedfordParkLbl: Label 'BEDFORD PARK', MaxLength = 30; + ClovellyParkLbl: Label 'CLOVELLY PARK', MaxLength = 30; + FlindersUniversityLbl: Label 'FLINDERS UNIVERSITY', MaxLength = 30; + PasadenaLbl: Label 'PASADENA', MaxLength = 30; + AscotParkLbl: Label 'ASCOT PARK', MaxLength = 30; + MarionLbl: Label 'MARION', MaxLength = 30; + MorphettvilleLbl: Label 'MORPHETTVILLE', MaxLength = 30; + ParkHolmeLbl: Label 'PARK HOLME', MaxLength = 30; + GlengowrieLbl: Label 'GLENGOWRIE', MaxLength = 30; + SomertonParkLbl: Label 'SOMERTON PARK', MaxLength = 30; + GlenelgLbl: Label 'GLENELG', MaxLength = 30; + GlenelgSouthLbl: Label 'GLENELG SOUTH', MaxLength = 30; + OaklandsParkLbl: Label 'OAKLANDS PARK', MaxLength = 30; + WarradaleLbl: Label 'WARRADALE', MaxLength = 30; + WarradaleNorthLbl: Label 'WARRADALE NORTH', MaxLength = 30; + SeacombeGardensLbl: Label 'SEACOMBE GARDENS', MaxLength = 30; + SeacombeHeightsLbl: Label 'SEACOMBE HEIGHTS', MaxLength = 30; + DoverGardensLbl: Label 'DOVER GARDENS', MaxLength = 30; + HoveLbl: Label 'HOVE', MaxLength = 30; + SouthBrightonLbl: Label 'SOUTH BRIGHTON', MaxLength = 30; + KingstonParkLbl: Label 'KINGSTON PARK', MaxLength = 30; + MarinoLbl: Label 'MARINO', MaxLength = 30; + SeacliffLbl: Label 'SEACLIFF', MaxLength = 30; + SeacliffParkLbl: Label 'SEACLIFF PARK', MaxLength = 30; + SeaviewDownsLbl: Label 'SEAVIEW DOWNS', MaxLength = 30; + BellevueHeightsLbl: Label 'BELLEVUE HEIGHTS', MaxLength = 30; + EdenHillsLbl: Label 'EDEN HILLS', MaxLength = 30; + CoromandelValleyLbl: Label 'COROMANDEL VALLEY', MaxLength = 30; + CraigburnFarmLbl: Label 'CRAIGBURN FARM', MaxLength = 30; + HawthorndeneLbl: Label 'HAWTHORNDENE', MaxLength = 30; + BelairLbl: Label 'BELAIR', MaxLength = 30; + GlenaltaLbl: Label 'GLENALTA', MaxLength = 30; + UnleyLbl: Label 'UNLEY', MaxLength = 30; + BrownHillCreekLbl: Label 'BROWN HILL CREEK', MaxLength = 30; + ClaphamLbl: Label 'CLAPHAM', MaxLength = 30; + LowerMitchamLbl: Label 'LOWER MITCHAM', MaxLength = 30; + LyntonLbl: Label 'LYNTON', MaxLength = 30; + MitchamShoppingCentreLbl: Label 'MITCHAM SHOPPING CENTRE', MaxLength = 30; + TorrensParkLbl: Label 'TORRENS PARK', MaxLength = 30; + FrewvilleLbl: Label 'FREWVILLE', MaxLength = 30; + FullartonLbl: Label 'FULLARTON', MaxLength = 30; + HighgateLbl: Label 'HIGHGATE', MaxLength = 30; + GlenOsmondLbl: Label 'GLEN OSMOND', MaxLength = 30; + GlenungaLbl: Label 'GLENUNGA', MaxLength = 30; + MountOsmondLbl: Label 'MOUNT OSMOND', MaxLength = 30; + Myrtle_BankLbl: Label 'MYRTLE BANK', MaxLength = 30; + StGeorgesLbl: Label 'ST GEORGES', MaxLength = 30; + UrrbraeLbl: Label 'URRBRAE', MaxLength = 30; + DulwichLbl: Label 'DULWICH', MaxLength = 30; + GlensideLbl: Label 'GLENSIDE', MaxLength = 30; + LindenParkLbl: Label 'LINDEN PARK', MaxLength = 30; + ToorakGardensLbl: Label 'TOORAK GARDENS', MaxLength = 30; + TusmoreLbl: Label 'TUSMORE', MaxLength = 30; + ErindaleLbl: Label 'ERINDALE', MaxLength = 30; + HazelwoodParkLbl: Label 'HAZELWOOD PARK', MaxLength = 30; + StonyfellLbl: Label 'STONYFELL', MaxLength = 30; + WaterfallGullyLbl: Label 'WATERFALL GULLY', MaxLength = 30; + BeulahParkLbl: Label 'BEULAH PARK', MaxLength = 30; + KentTownLbl: Label 'KENT TOWN', MaxLength = 30; + NorwoodLbl: Label 'NORWOOD', MaxLength = 30; + NorwoodSouthLbl: Label 'NORWOOD SOUTH', MaxLength = 30; + RoseParkLbl: Label 'ROSE PARK', MaxLength = 30; + HeathpoolLbl: Label 'HEATHPOOL', MaxLength = 30; + KensingtonGardensLbl: Label 'KENSINGTON GARDENS', MaxLength = 30; + KensingtonParkLbl: Label 'KENSINGTON PARK', MaxLength = 30; + LeabrookLbl: Label 'LEABROOK', MaxLength = 30; + MarryatvilleLbl: Label 'MARRYATVILLE', MaxLength = 30; + StMorrisLbl: Label 'ST MORRIS', MaxLength = 30; + TrinityGardensLbl: Label 'TRINITY GARDENS', MaxLength = 30; + CollegeParkLbl: Label 'COLLEGE PARK', MaxLength = 30; + EvandaleLbl: Label 'EVANDALE', MaxLength = 30; + HackneyLbl: Label 'HACKNEY', MaxLength = 30; + MaylandsLbl: Label 'MAYLANDS', MaxLength = 30; + StepneyLbl: Label 'STEPNEY', MaxLength = 30; + FelixstowLbl: Label 'FELIXSTOW', MaxLength = 30; + FirleLbl: Label 'FIRLE', MaxLength = 30; + GlyndeLbl: Label 'GLYNDE', MaxLength = 30; + GlyndePlazaLbl: Label 'GLYNDE PLAZA', MaxLength = 30; + JoslinLbl: Label 'JOSLIN', MaxLength = 30; + MardenLbl: Label 'MARDEN', MaxLength = 30; + PaynehamLbl: Label 'PAYNEHAM', MaxLength = 30; + RoystonParkLbl: Label 'ROYSTON PARK', MaxLength = 30; + AuldanaLbl: Label 'AULDANA', MaxLength = 30; + MagillLbl: Label 'MAGILL', MaxLength = 30; + MagillNorthLbl: Label 'MAGILL NORTH', MaxLength = 30; + RosslynParkLbl: Label 'ROSSLYN PARK', MaxLength = 30; + TeringieLbl: Label 'TERINGIE', MaxLength = 30; + WoodfordeLbl: Label 'WOODFORDE', MaxLength = 30; + HectorvilleLbl: Label 'HECTORVILLE', MaxLength = 30; + RostrevorLbl: Label 'ROSTREVOR', MaxLength = 30; + TranmereLbl: Label 'TRANMERE', MaxLength = 30; + TranmereNorthLbl: Label 'TRANMERE NORTH', MaxLength = 30; + NewtonLbl: Label 'NEWTON', MaxLength = 30; + DernancourtLbl: Label 'DERNANCOURT', MaxLength = 30; + ParadiseLbl: Label 'PARADISE', MaxLength = 30; + AthelstoneLbl: Label 'ATHELSTONE', MaxLength = 30; + CastambulLbl: Label 'CASTAMBUL', MaxLength = 30; + CollinswoodLbl: Label 'COLLINSWOOD', MaxLength = 30; + MedindieLbl: Label 'MEDINDIE', MaxLength = 30; + ValeParkLbl: Label 'VALE PARK', MaxLength = 30; + OvinghamLbl: Label 'OVINGHAM', MaxLength = 30; + ProspectEastLbl: Label 'PROSPECT EAST', MaxLength = 30; + ThorngateLbl: Label 'THORNGATE', MaxLength = 30; + BroadviewLbl: Label 'BROADVIEW', MaxLength = 30; + NailsworthLbl: Label 'NAILSWORTH', MaxLength = 30; + SeftonParkLbl: Label 'SEFTON PARK', MaxLength = 30; + KilburnLbl: Label 'KILBURN', MaxLength = 30; + KilburnNorthLbl: Label 'KILBURN NORTH', MaxLength = 30; + ClearviewLbl: Label 'CLEARVIEW', MaxLength = 30; + EnfieldPlazaLbl: Label 'ENFIELD PLAZA', MaxLength = 30; + NorthfieldLbl: Label 'NORTHFIELD', MaxLength = 30; + GillesPlainsLbl: Label 'GILLES PLAINS', MaxLength = 30; + GreenacresLbl: Label 'GREENACRES', MaxLength = 30; + HampsteadGardensLbl: Label 'HAMPSTEAD GARDENS', MaxLength = 30; + ManninghamLbl: Label 'MANNINGHAM', MaxLength = 30; + OakdenLbl: Label 'OAKDEN', MaxLength = 30; + KlemzigLbl: Label 'KLEMZIG', MaxLength = 30; + WindsorGardensLbl: Label 'WINDSOR GARDENS', MaxLength = 30; + HoldenHillLbl: Label 'HOLDEN HILL', MaxLength = 30; + HighburyLbl: Label 'HIGHBURY', MaxLength = 30; + HopeValleyLbl: Label 'HOPE VALLEY', MaxLength = 30; + BanksiaParkLbl: Label 'BANKSIA PARK', MaxLength = 30; + TeaTreeGullyLbl: Label 'TEA TREE GULLY', MaxLength = 30; + VistaLbl: Label 'VISTA', MaxLength = 30; + ModburyLbl: Label 'MODBURY', MaxLength = 30; + ModburyNorthLbl: Label 'MODBURY NORTH', MaxLength = 30; + ParaVistaLbl: Label 'PARA VISTA', MaxLength = 30; + ValleyViewLbl: Label 'VALLEY VIEW', MaxLength = 30; + CavanLbl: Label 'CAVAN', MaxLength = 30; + DryCreekLbl: Label 'DRY CREEK', MaxLength = 30; + GeppsCrossLbl: Label 'GEPPS CROSS', MaxLength = 30; + MawsonLakesLbl: Label 'MAWSON LAKES', MaxLength = 30; + PoorakaLbl: Label 'POORAKA', MaxLength = 30; + TheLevelsLbl: Label 'THE LEVELS', MaxLength = 30; + GulfviewHeightsLbl: Label 'GULFVIEW HEIGHTS', MaxLength = 30; + ParaHillsLbl: Label 'PARA HILLS', MaxLength = 30; + RedwoodParkLbl: Label 'REDWOOD PARK', MaxLength = 30; + RidgehavenLbl: Label 'RIDGEHAVEN', MaxLength = 30; + IngleFarmLbl: Label 'INGLE FARM', MaxLength = 30; + WalkleyHeightsLbl: Label 'WALKLEY HEIGHTS', MaxLength = 30; + ParafieldLbl: Label 'PARAFIELD', MaxLength = 30; + SalisburySouthLbl: Label 'SALISBURY SOUTH', MaxLength = 30; + Green_FieldsLbl: Label 'GREEN FIELDS', MaxLength = 30; + ParafieldGardensLbl: Label 'PARAFIELD GARDENS', MaxLength = 30; + ParalowieLbl: Label 'PARALOWIE', MaxLength = 30; + SalisburyDownsLbl: Label 'SALISBURY DOWNS', MaxLength = 30; + SalisburyNorthLbl: Label 'SALISBURY NORTH', MaxLength = 30; + BrahmaLodgeLbl: Label 'BRAHMA LODGE', MaxLength = 30; + SalisburyEastLbl: Label 'SALISBURY EAST', MaxLength = 30; + SalisburyHeightsLbl: Label 'SALISBURY HEIGHTS', MaxLength = 30; + SalisburyParkLbl: Label 'SALISBURY PARK', MaxLength = 30; + SalisburyPlainLbl: Label 'SALISBURY PLAIN', MaxLength = 30; + BolivarLbl: Label 'BOLIVAR', MaxLength = 30; + DirekLbl: Label 'DIREK', MaxLength = 30; + GlobeDerbyParkLbl: Label 'GLOBE DERBY PARK', MaxLength = 30; + WaterlooCornerLbl: Label 'WATERLOO CORNER', MaxLength = 30; + EdinburghLbl: Label 'EDINBURGH', MaxLength = 30; + ElizabethLbl: Label 'ELIZABETH', MaxLength = 30; + ElizabethEastLbl: Label 'ELIZABETH EAST', MaxLength = 30; + ElizabethGroveLbl: Label 'ELIZABETH GROVE', MaxLength = 30; + ElizabethSouthLbl: Label 'ELIZABETH SOUTH', MaxLength = 30; + ElizabethValeLbl: Label 'ELIZABETH VALE', MaxLength = 30; + HillbankLbl: Label 'HILLBANK', MaxLength = 30; + DavorenParkLbl: Label 'DAVOREN PARK', MaxLength = 30; + ElizabethDownsLbl: Label 'ELIZABETH DOWNS', MaxLength = 30; + ElizabethNorthLbl: Label 'ELIZABETH NORTH', MaxLength = 30; + ElizabethParkLbl: Label 'ELIZABETH PARK', MaxLength = 30; + ElizabethWestLbl: Label 'ELIZABETH WEST', MaxLength = 30; + AndrewsFarmLbl: Label 'ANDREWS FARM', MaxLength = 30; + BlakeviewLbl: Label 'BLAKEVIEW', MaxLength = 30; + CraigmoreLbl: Label 'CRAIGMORE', MaxLength = 30; + OneTreeHillLbl: Label 'ONE TREE HILL', MaxLength = 30; + SmithfieldPlainsLbl: Label 'SMITHFIELD PLAINS', MaxLength = 30; + UleyburyLbl: Label 'ULEYBURY', MaxLength = 30; + KudlaLbl: Label 'KUDLA', MaxLength = 30; + MunnoParaLbl: Label 'MUNNO PARA', MaxLength = 30; + EvanstonLbl: Label 'EVANSTON', MaxLength = 30; + HillierLbl: Label 'HILLIER', MaxLength = 30; + AngleValeLbl: Label 'ANGLE VALE', MaxLength = 30; + BuchfeldeLbl: Label 'BUCHFELDE', MaxLength = 30; + GawlerLbl: Label 'GAWLER', MaxLength = 30; + GawlerBeltLbl: Label 'GAWLER BELT', MaxLength = 30; + HewettLbl: Label 'HEWETT', MaxLength = 30; + KalbeebaLbl: Label 'KALBEEBA', MaxLength = 30; + WillastonLbl: Label 'WILLASTON', MaxLength = 30; + BucklandParkLbl: Label 'BUCKLAND PARK', MaxLength = 30; + MacdonaldParkLbl: Label 'MACDONALD PARK', MaxLength = 30; + PenfieldLbl: Label 'PENFIELD', MaxLength = 30; + GoldenGroveLbl: Label 'GOLDEN GROVE', MaxLength = 30; + GoldenGroveVillageLbl: Label 'GOLDEN GROVE VILLAGE', MaxLength = 30; + GreenwithLbl: Label 'GREENWITH', MaxLength = 30; + FairviewParkLbl: Label 'FAIRVIEW PARK', MaxLength = 30; + SurreyDownsLbl: Label 'SURREY DOWNS', MaxLength = 30; + YatalaValeLbl: Label 'YATALA VALE', MaxLength = 30; + WynnValeLbl: Label 'WYNN VALE', MaxLength = 30; + HoughtonLbl: Label 'HOUGHTON', MaxLength = 30; + LowerHermitageLbl: Label 'LOWER HERMITAGE', MaxLength = 30; + UpperHermitageLbl: Label 'UPPER HERMITAGE', MaxLength = 30; + ParacombeLbl: Label 'PARACOMBE', MaxLength = 30; + CherryvilleLbl: Label 'CHERRYVILLE', MaxLength = 30; + MontacuteLbl: Label 'MONTACUTE', MaxLength = 30; + NortonSummitLbl: Label 'NORTON SUMMIT', MaxLength = 30; + AshtonLbl: Label 'ASHTON', MaxLength = 30; + BasketRangeLbl: Label 'BASKET RANGE', MaxLength = 30; + ForestRangeLbl: Label 'FOREST RANGE', MaxLength = 30; + SummertownLbl: Label 'SUMMERTOWN', MaxLength = 30; + UraidlaLbl: Label 'URAIDLA', MaxLength = 30; + CareyGullyLbl: Label 'CAREY GULLY', MaxLength = 30; + EagleOnTheHillLbl: Label 'EAGLE ON THE HILL', MaxLength = 30; + LeawoodGardensLbl: Label 'LEAWOOD GARDENS', MaxLength = 30; + PiccadillyLbl: Label 'PICCADILLY', MaxLength = 30; + CrafersLbl: Label 'CRAFERS', MaxLength = 30; + BiggsFlatLbl: Label 'BIGGS FLAT', MaxLength = 30; + EchungaLbl: Label 'ECHUNGA', MaxLength = 30; + FlaxleyLbl: Label 'FLAXLEY', MaxLength = 30; + HeathfieldLbl: Label 'HEATHFIELD', MaxLength = 30; + IronbankLbl: Label 'IRONBANK', MaxLength = 30; + MylorLbl: Label 'MYLOR', MaxLength = 30; + ScottCreekLbl: Label 'SCOTT CREEK', MaxLength = 30; + AldgateLbl: Label 'ALDGATE', MaxLength = 30; + BridgewaterLbl: Label 'BRIDGEWATER', MaxLength = 30; + UpperSturtLbl: Label 'UPPER STURT', MaxLength = 30; + CherryGardensLbl: Label 'CHERRY GARDENS', MaxLength = 30; + CoromandelEastLbl: Label 'COROMANDEL EAST', MaxLength = 30; + KangarillaLbl: Label 'KANGARILLA', MaxLength = 30; + HallettCoveLbl: Label 'HALLETT COVE', MaxLength = 30; + OHalloranHillLbl: Label 'OHALLORAN HILL', MaxLength = 30; + SheidowParkLbl: Label 'SHEIDOW PARK', MaxLength = 30; + TrottParkLbl: Label 'TROTT PARK', MaxLength = 30; + AberfoyleParkLbl: Label 'ABERFOYLE PARK', MaxLength = 30; + ChandlersHillLbl: Label 'CHANDLERS HILL', MaxLength = 30; + FlagstaffHillLbl: Label 'FLAGSTAFF HILL', MaxLength = 30; + LonsdaleLbl: Label 'LONSDALE', MaxLength = 30; + ReynellaLbl: Label 'REYNELLA', MaxLength = 30; + MorphettValeLbl: Label 'MORPHETT VALE', MaxLength = 30; + HackhamLbl: Label 'HACKHAM', MaxLength = 30; + HuntfieldHeightsLbl: Label 'HUNTFIELD HEIGHTS', MaxLength = 30; + OnkaparingaHillsLbl: Label 'ONKAPARINGA HILLS', MaxLength = 30; + ChristieDownsLbl: Label 'CHRISTIE DOWNS', MaxLength = 30; + ChristiesBeachLbl: Label 'CHRISTIES BEACH', MaxLength = 30; + OSullivanBeachLbl: Label 'OSULLIVAN BEACH', MaxLength = 30; + PortNoarlungaLbl: Label 'PORT NOARLUNGA', MaxLength = 30; + NoarlungaCentreLbl: Label 'NOARLUNGA CENTRE', MaxLength = 30; + NoarlungaDownsLbl: Label 'NOARLUNGA DOWNS', MaxLength = 30; + OldNoarlungaLbl: Label 'OLD NOARLUNGA', MaxLength = 30; + MoanaLbl: Label 'MOANA', MaxLength = 30; + SeafordHeightsLbl: Label 'SEAFORD HEIGHTS', MaxLength = 30; + SeafordMeadowsLbl: Label 'SEAFORD MEADOWS', MaxLength = 30; + MaslinBeachLbl: Label 'MASLIN BEACH', MaxLength = 30; + MclarenFlatLbl: Label 'MCLAREN FLAT', MaxLength = 30; + MclarenValeLbl: Label 'MCLAREN VALE', MaxLength = 30; + PedlerCreekLbl: Label 'PEDLER CREEK', MaxLength = 30; + WillungaLbl: Label 'WILLUNGA', MaxLength = 30; + AldingaLbl: Label 'ALDINGA', MaxLength = 30; + AldingaBeachLbl: Label 'ALDINGA BEACH', MaxLength = 30; + PortWillungaLbl: Label 'PORT WILLUNGA', MaxLength = 30; + SellicksBeachLbl: Label 'SELLICKS BEACH', MaxLength = 30; + SellicksHillLbl: Label 'SELLICKS HILL', MaxLength = 30; + MeadowsLbl: Label 'MEADOWS', MaxLength = 30; + ProspectHillLbl: Label 'PROSPECT HILL', MaxLength = 30; + MypongaLbl: Label 'MYPONGA', MaxLength = 30; + YankalillaLbl: Label 'YANKALILLA', MaxLength = 30; + CarrickalingaLbl: Label 'CARRICKALINGA', MaxLength = 30; + DelamereLbl: Label 'DELAMERE', MaxLength = 30; + NormanvilleLbl: Label 'NORMANVILLE', MaxLength = 30; + RapidBayLbl: Label 'RAPID BAY', MaxLength = 30; + SecondValleyLbl: Label 'SECOND VALLEY', MaxLength = 30; + MountCompassLbl: Label 'MOUNT COMPASS', MaxLength = 30; + EncounterBayLbl: Label 'ENCOUNTER BAY', MaxLength = 30; + HayboroughLbl: Label 'HAYBOROUGH', MaxLength = 30; + InmanValleyLbl: Label 'INMAN VALLEY', MaxLength = 30; + MccrackenLbl: Label 'MCCRACKEN', MaxLength = 30; + VictorHarborLbl: Label 'VICTOR HARBOR', MaxLength = 30; + PortElliotLbl: Label 'PORT ELLIOT', MaxLength = 30; + CurrencyCreekLbl: Label 'CURRENCY CREEK', MaxLength = 30; + GoolwaLbl: Label 'GOOLWA', MaxLength = 30; + ParndanaLbl: Label 'PARNDANA', MaxLength = 30; + AmericanRiverLbl: Label 'AMERICAN RIVER', MaxLength = 30; + PenneshawLbl: Label 'PENNESHAW', MaxLength = 30; + KingscoteLbl: Label 'KINGSCOTE', MaxLength = 30; + KersbrookLbl: Label 'KERSBROOK', MaxLength = 30; + CudleeCreekLbl: Label 'CUDLEE CREEK', MaxLength = 30; + GumerachaLbl: Label 'GUMERACHA', MaxLength = 30; + BirdwoodLbl: Label 'BIRDWOOD', MaxLength = 30; + EdenValleyLbl: Label 'EDEN VALLEY', MaxLength = 30; + SpringtonLbl: Label 'SPRINGTON', MaxLength = 30; + TungkilloLbl: Label 'TUNGKILLO', MaxLength = 30; + PalmerLbl: Label 'PALMER', MaxLength = 30; + SanderstonLbl: Label 'SANDERSTON', MaxLength = 30; + BowhillLbl: Label 'BOWHILL', MaxLength = 30; + MannumLbl: Label 'MANNUM', MaxLength = 30; + NildottieLbl: Label 'NILDOTTIE', MaxLength = 30; + LenswoodLbl: Label 'LENSWOOD', MaxLength = 30; + LobethalLbl: Label 'LOBETHAL', MaxLength = 30; + BalhannahLbl: Label 'BALHANNAH', MaxLength = 30; + OakbankLbl: Label 'OAKBANK', MaxLength = 30; + CharlestonLbl: Label 'CHARLESTON', MaxLength = 30; + MountTorrensLbl: Label 'MOUNT TORRENS', MaxLength = 30; + HahndorfLbl: Label 'HAHNDORF', MaxLength = 30; + VerdunLbl: Label 'VERDUN', MaxLength = 30; + LittlehamptonLbl: Label 'LITTLEHAMPTON', MaxLength = 30; + BugleRangesLbl: Label 'BUGLE RANGES', MaxLength = 30; + MountBarkerLbl: Label 'MOUNT BARKER', MaxLength = 30; + WistowLbl: Label 'WISTOW', MaxLength = 30; + BrukungaLbl: Label 'BRUKUNGA', MaxLength = 30; + KanmantooLbl: Label 'KANMANTOO', MaxLength = 30; + NairneLbl: Label 'NAIRNE', MaxLength = 30; + MurrayBridgeLbl: Label 'MURRAY BRIDGE', MaxLength = 30; + CallingtonLbl: Label 'CALLINGTON', MaxLength = 30; + MonartoSouthLbl: Label 'MONARTO SOUTH', MaxLength = 30; + MypolongaLbl: Label 'MYPOLONGA', MaxLength = 30; + FinnissLbl: Label 'FINNISS', MaxLength = 30; + LanghorneCreekLbl: Label 'LANGHORNE CREEK', MaxLength = 30; + StrathalbynLbl: Label 'STRATHALBYN', MaxLength = 30; + MilangLbl: Label 'MILANG', MaxLength = 30; + JervoisLbl: Label 'JERVOIS', MaxLength = 30; + NarrungLbl: Label 'NARRUNG', MaxLength = 30; + PointMcleayLbl: Label 'POINT MCLEAY', MaxLength = 30; + RaukkanLbl: Label 'RAUKKAN', MaxLength = 30; + TailemBendLbl: Label 'TAILEM BEND', MaxLength = 30; + CookePlainsLbl: Label 'COOKE PLAINS', MaxLength = 30; + CoomandookLbl: Label 'COOMANDOOK', MaxLength = 30; + CulburraLbl: Label 'CULBURRA', MaxLength = 30; + KiKiLbl: Label 'KI KI', MaxLength = 30; + YumaliLbl: Label 'YUMALI', MaxLength = 30; + BinnumLbl: Label 'BINNUM', MaxLength = 30; + FrancesLbl: Label 'FRANCES', MaxLength = 30; + HynamLbl: Label 'HYNAM', MaxLength = 30; + KybyboliteLbl: Label 'KYBYBOLITE', MaxLength = 30; + CoonawarraLbl: Label 'COONAWARRA', MaxLength = 30; + MeningieLbl: Label 'MENINGIE', MaxLength = 30; + CoonalpynLbl: Label 'COONALPYN', MaxLength = 30; + TintinaraLbl: Label 'TINTINARA', MaxLength = 30; + KeithLbl: Label 'KEITH', MaxLength = 30; + BordertownLbl: Label 'BORDERTOWN', MaxLength = 30; + WolseleyLbl: Label 'WOLSELEY', MaxLength = 30; + MundullaLbl: Label 'MUNDULLA', MaxLength = 30; + NaracoorteLbl: Label 'NARACOORTE', MaxLength = 30; + PadthawayLbl: Label 'PADTHAWAY', MaxLength = 30; + GreenwaysLbl: Label 'GREENWAYS', MaxLength = 30; + LucindaleLbl: Label 'LUCINDALE', MaxLength = 30; + AvenueRangeLbl: Label 'AVENUE RANGE', MaxLength = 30; + KingstonSELbl: Label 'KINGSTON S.E.', MaxLength = 30; + RobeLbl: Label 'ROBE', MaxLength = 30; + NangwarryLbl: Label 'NANGWARRY', MaxLength = 30; + PenolaLbl: Label 'PENOLA', MaxLength = 30; + TarpeenaLbl: Label 'TARPEENA', MaxLength = 30; + KalangadooLbl: Label 'KALANGADOO', MaxLength = 30; + MountBurrLbl: Label 'MOUNT BURR', MaxLength = 30; + TrihiLbl: Label 'TRIHI', MaxLength = 30; + BeachportLbl: Label 'BEACHPORT', MaxLength = 30; + HatherleighLbl: Label 'HATHERLEIGH', MaxLength = 30; + MillicentLbl: Label 'MILLICENT', MaxLength = 30; + RendelshamLbl: Label 'RENDELSHAM', MaxLength = 30; + SouthendLbl: Label 'SOUTHEND', MaxLength = 30; + TantanoolaLbl: Label 'TANTANOOLA', MaxLength = 30; + MountGambierLbl: Label 'MOUNT GAMBIER', MaxLength = 30; + AllendaleEastLbl: Label 'ALLENDALE EAST', MaxLength = 30; + CarpenterRocksLbl: Label 'CARPENTER ROCKS', MaxLength = 30; + DonovansLbl: Label 'DONOVANS', MaxLength = 30; + KongorongLbl: Label 'KONGORONG', MaxLength = 30; + MilLelLbl: Label 'MIL-LEL', MaxLength = 30; + MoorakLbl: Label 'MOORAK', MaxLength = 30; + MountGambierEastLbl: Label 'MOUNT GAMBIER EAST', MaxLength = 30; + MountGambierWestLbl: Label 'MOUNT GAMBIER WEST', MaxLength = 30; + OBFlatLbl: Label 'O.B. FLAT', MaxLength = 30; + PortMacdonnellLbl: Label 'PORT MACDONNELL', MaxLength = 30; + YahlLbl: Label 'YAHL', MaxLength = 30; + GeraniumLbl: Label 'GERANIUM', MaxLength = 30; + JabukLbl: Label 'JABUK', MaxLength = 30; + MoorlandsLbl: Label 'MOORLANDS', MaxLength = 30; + ParrakieLbl: Label 'PARRAKIE', MaxLength = 30; + PeakeLbl: Label 'PEAKE', MaxLength = 30; + SherlockLbl: Label 'SHERLOCK', MaxLength = 30; + LamerooLbl: Label 'LAMEROO', MaxLength = 30; + ParillaLbl: Label 'PARILLA', MaxLength = 30; + PeebingaLbl: Label 'PEEBINGA', MaxLength = 30; + PinnarooLbl: Label 'PINNAROO', MaxLength = 30; + WynarkaLbl: Label 'WYNARKA', MaxLength = 30; + KaroondaLbl: Label 'KAROONDA', MaxLength = 30; + MaramaLbl: Label 'MARAMA', MaxLength = 30; + CopevilleLbl: Label 'COPEVILLE', MaxLength = 30; + SandalwoodLbl: Label 'SANDALWOOD', MaxLength = 30; + WanbiLbl: Label 'WANBI', MaxLength = 30; + AlawoonaLbl: Label 'ALAWOONA', MaxLength = 30; + ParunaLbl: Label 'PARUNA', MaxLength = 30; + TaldraLbl: Label 'TALDRA', MaxLength = 30; + VeitchLbl: Label 'VEITCH', MaxLength = 30; + MorganLbl: Label 'MORGAN', MaxLength = 30; + CadellLbl: Label 'CADELL', MaxLength = 30; + RamcoLbl: Label 'RAMCO', MaxLength = 30; + LowbankLbl: Label 'LOWBANK', MaxLength = 30; + WaikerieLbl: Label 'WAIKERIE', MaxLength = 30; + KingstonOnMurrayLbl: Label 'KINGSTON ON MURRAY', MaxLength = 30; + MoorookLbl: Label 'MOOROOK', MaxLength = 30; + LoxtonLbl: Label 'LOXTON', MaxLength = 30; + LoxtonNorthLbl: Label 'LOXTON NORTH', MaxLength = 30; + TaplanLbl: Label 'TAPLAN', MaxLength = 30; + ParingaLbl: Label 'PARINGA', MaxLength = 30; + CooltongLbl: Label 'COOLTONG', MaxLength = 30; + RenmarkLbl: Label 'RENMARK', MaxLength = 30; + BerriLbl: Label 'BERRI', MaxLength = 30; + LyrupLbl: Label 'LYRUP', MaxLength = 30; + WinkieLbl: Label 'WINKIE', MaxLength = 30; + GlossopLbl: Label 'GLOSSOP', MaxLength = 30; + BarmeraLbl: Label 'BARMERA', MaxLength = 30; + LovedayLbl: Label 'LOVEDAY', MaxLength = 30; + CobdoglaLbl: Label 'COBDOGLA', MaxLength = 30; + CockatooValleyLbl: Label 'COCKATOO VALLEY', MaxLength = 30; + LyndochLbl: Label 'LYNDOCH', MaxLength = 30; + BethanyLbl: Label 'BETHANY', MaxLength = 30; + KrondorfLbl: Label 'KRONDORF', MaxLength = 30; + RowlandFlatLbl: Label 'ROWLAND FLAT', MaxLength = 30; + StoneWellLbl: Label 'STONE WELL', MaxLength = 30; + TanundaLbl: Label 'TANUNDA', MaxLength = 30; + AngastonLbl: Label 'ANGASTON', MaxLength = 30; + CambraiLbl: Label 'CAMBRAI', MaxLength = 30; + KeynetonLbl: Label 'KEYNETON', MaxLength = 30; + MocultaLbl: Label 'MOCULTA', MaxLength = 30; + SedanLbl: Label 'SEDAN', MaxLength = 30; + MaranangaLbl: Label 'MARANANGA', MaxLength = 30; + NuriootpaLbl: Label 'NURIOOTPA', MaxLength = 30; + SeppeltsfieldLbl: Label 'SEPPELTSFIELD', MaxLength = 30; + StockwellLbl: Label 'STOCKWELL', MaxLength = 30; + TruroLbl: Label 'TRURO', MaxLength = 30; + BlanchetownLbl: Label 'BLANCHETOWN', MaxLength = 30; + NewWellLbl: Label 'NEW WELL', MaxLength = 30; + GreenockLbl: Label 'GREENOCK', MaxLength = 30; + NainLbl: Label 'NAIN', MaxLength = 30; + RoseworthyLbl: Label 'ROSEWORTHY', MaxLength = 30; + SheaOakLogLbl: Label 'SHEA-OAK LOG', MaxLength = 30; + TemplersLbl: Label 'TEMPLERS', MaxLength = 30; + FreelingLbl: Label 'FREELING', MaxLength = 30; + KapundaLbl: Label 'KAPUNDA', MaxLength = 30; + BowerLbl: Label 'BOWER', MaxLength = 30; + EudundaLbl: Label 'EUDUNDA', MaxLength = 30; + SutherlandsLbl: Label 'SUTHERLANDS', MaxLength = 30; + RobertstownLbl: Label 'ROBERTSTOWN', MaxLength = 30; + PinkertonPlainsLbl: Label 'PINKERTON PLAINS', MaxLength = 30; + WasleysLbl: Label 'WASLEYS', MaxLength = 30; + HamleyBridgeLbl: Label 'HAMLEY BRIDGE', MaxLength = 30; + LinwoodLbl: Label 'LINWOOD', MaxLength = 30; + StockportLbl: Label 'STOCKPORT', MaxLength = 30; + TarleeLbl: Label 'TARLEE', MaxLength = 30; + MarrabelLbl: Label 'MARRABEL', MaxLength = 30; + SaddleworthLbl: Label 'SADDLEWORTH', MaxLength = 30; + MintaroLbl: Label 'MINTARO', MaxLength = 30; + FarrellFlatLbl: Label 'FARRELL FLAT', MaxLength = 30; + BooborowieLbl: Label 'BOOBOROWIE', MaxLength = 30; + MountBryanLbl: Label 'MOUNT BRYAN', MaxLength = 30; + HallettLbl: Label 'HALLETT', MaxLength = 30; + WhyteYarcowieLbl: Label 'WHYTE YARCOWIE', MaxLength = 30; + TerowieLbl: Label 'TEROWIE', MaxLength = 30; + HammondLbl: Label 'HAMMOND', MaxLength = 30; + MorchardLbl: Label 'MORCHARD', MaxLength = 30; + OrrorooLbl: Label 'ORROROO', MaxLength = 30; + TarcowieLbl: Label 'TARCOWIE', MaxLength = 30; + CarrietonLbl: Label 'CARRIETON', MaxLength = 30; + CradockLbl: Label 'CRADOCK', MaxLength = 30; + QuornLbl: Label 'QUORN', MaxLength = 30; + CockburnLbl: Label 'COCKBURN', MaxLength = 30; + MannaHillLbl: Label 'MANNA HILL', MaxLength = 30; + OlaryLbl: Label 'OLARY', MaxLength = 30; + YuntaLbl: Label 'YUNTA', MaxLength = 30; + WatervaleLbl: Label 'WATERVALE', MaxLength = 30; + HoyletonLbl: Label 'HOYLETON', MaxLength = 30; + SpaldingLbl: Label 'SPALDING', MaxLength = 30; + HilltownLbl: Label 'HILLTOWN', MaxLength = 30; + OwenLbl: Label 'OWEN', MaxLength = 30; + BalaklavaLbl: Label 'BALAKLAVA', MaxLength = 30; + BlythLbl: Label 'BLYTH', MaxLength = 30; + BrinkworthLbl: Label 'BRINKWORTH', MaxLength = 30; + KoolungaLbl: Label 'KOOLUNGA', MaxLength = 30; + YackaLbl: Label 'YACKA', MaxLength = 30; + GulnareLbl: Label 'GULNARE', MaxLength = 30; + AppilaLbl: Label 'APPILA', MaxLength = 30; + MurrayTownLbl: Label 'MURRAY TOWN', MaxLength = 30; + WirrabaraLbl: Label 'WIRRABARA', MaxLength = 30; + BoolerooCentreLbl: Label 'BOOLEROO CENTRE', MaxLength = 30; + WilmingtonLbl: Label 'WILMINGTON', MaxLength = 30; + CaltowieLbl: Label 'CALTOWIE', MaxLength = 30; + JamestownLbl: Label 'JAMESTOWN', MaxLength = 30; + YongalaLbl: Label 'YONGALA', MaxLength = 30; + MambrayCreekLbl: Label 'MAMBRAY CREEK', MaxLength = 30; + PortFlindersLbl: Label 'PORT FLINDERS', MaxLength = 30; + PortGermeinLbl: Label 'PORT GERMEIN', MaxLength = 30; + DublinLbl: Label 'DUBLIN', MaxLength = 30; + LewistonLbl: Label 'LEWISTON', MaxLength = 30; + LowerLightLbl: Label 'LOWER LIGHT', MaxLength = 30; + MiddleBeachLbl: Label 'MIDDLE BEACH', MaxLength = 30; + PortGawlerLbl: Label 'PORT GAWLER', MaxLength = 30; + TwoWellsLbl: Label 'TWO WELLS', MaxLength = 30; + MallalaLbl: Label 'MALLALA', MaxLength = 30; + ReevesPlainsLbl: Label 'REEVES PLAINS', MaxLength = 30; + LochielLbl: Label 'LOCHIEL', MaxLength = 30; + SnowtownLbl: Label 'SNOWTOWN', MaxLength = 30; + PortBroughtonLbl: Label 'PORT BROUGHTON', MaxLength = 30; + MerritonLbl: Label 'MERRITON', MaxLength = 30; + PortPirieLbl: Label 'PORT PIRIE', MaxLength = 30; + PortPirieSouthLbl: Label 'PORT PIRIE SOUTH', MaxLength = 30; + PortPirieWestLbl: Label 'PORT PIRIE WEST', MaxLength = 30; + RisdonParkLbl: Label 'RISDON PARK', MaxLength = 30; + RisdonParkSouthLbl: Label 'RISDON PARK SOUTH', MaxLength = 30; + SolomontownLbl: Label 'SOLOMONTOWN', MaxLength = 30; + BowmansLbl: Label 'BOWMANS', MaxLength = 30; + PortWakefieldLbl: Label 'PORT WAKEFIELD', MaxLength = 30; + PaskevilleLbl: Label 'PASKEVILLE', MaxLength = 30; + JerusalemLbl: Label 'JERUSALEM', MaxLength = 30; + KadinaLbl: Label 'KADINA', MaxLength = 30; + MattaFlatLbl: Label 'MATTA FLAT', MaxLength = 30; + NewTownLbl: Label 'NEWTOWN', MaxLength = 30; + WallarooMinesLbl: Label 'WALLAROO MINES', MaxLength = 30; + AlfordLbl: Label 'ALFORD', MaxLength = 30; + LakeViewLbl: Label 'LAKE VIEW', MaxLength = 30; + MundooraLbl: Label 'MUNDOORA', MaxLength = 30; + AgeryLbl: Label 'AGERY', MaxLength = 30; + CrossRoadsLbl: Label 'CROSS ROADS', MaxLength = 30; + EastMoontaLbl: Label 'EAST MOONTA', MaxLength = 30; + HamleyLbl: Label 'HAMLEY', MaxLength = 30; + KooroonaLbl: Label 'KOOROONA', MaxLength = 30; + MoontaLbl: Label 'MOONTA', MaxLength = 30; + MoontaBayLbl: Label 'MOONTA BAY', MaxLength = 30; + MoontaMinesLbl: Label 'MOONTA MINES', MaxLength = 30; + NalyappaLbl: Label 'NALYAPPA', MaxLength = 30; + NorthMoontaLbl: Label 'NORTH MOONTA', MaxLength = 30; + NorthYeltaLbl: Label 'NORTH YELTA', MaxLength = 30; + PortHughesLbl: Label 'PORT HUGHES', MaxLength = 30; + YeltaLbl: Label 'YELTA', MaxLength = 30; + ButeLbl: Label 'BUTE', MaxLength = 30; + PortClintonLbl: Label 'PORT CLINTON', MaxLength = 30; + PriceLbl: Label 'PRICE', MaxLength = 30; + ArdrossanLbl: Label 'ARDROSSAN', MaxLength = 30; + PinePointLbl: Label 'PINE POINT', MaxLength = 30; + ArthurtonLbl: Label 'ARTHURTON', MaxLength = 30; + PointPearceLbl: Label 'POINT PEARCE', MaxLength = 30; + PortVictoriaLbl: Label 'PORT VICTORIA', MaxLength = 30; + SouthKilkerranLbl: Label 'SOUTH KILKERRAN', MaxLength = 30; + WeetultaLbl: Label 'WEETULTA', MaxLength = 30; + BrentwoodLbl: Label 'BRENTWOOD', MaxLength = 30; + CornyPointLbl: Label 'CORNY POINT', MaxLength = 30; + MarionBayLbl: Label 'MARION BAY', MaxLength = 30; + MinlatonLbl: Label 'MINLATON', MaxLength = 30; + PointTurtonLbl: Label 'POINT TURTON', MaxLength = 30; + PortRickabyLbl: Label 'PORT RICKABY', MaxLength = 30; + StenhouseBayLbl: Label 'STENHOUSE BAY', MaxLength = 30; + WoolBayLbl: Label 'WOOL BAY', MaxLength = 30; + YorketownLbl: Label 'YORKETOWN', MaxLength = 30; + WarookaLbl: Label 'WAROOKA', MaxLength = 30; + CurramulkaLbl: Label 'CURRAMULKA', MaxLength = 30; + PortVincentLbl: Label 'PORT VINCENT', MaxLength = 30; + StansburyLbl: Label 'STANSBURY', MaxLength = 30; + CoobowieLbl: Label 'COOBOWIE', MaxLength = 30; + EdithburghLbl: Label 'EDITHBURGH', MaxLength = 30; + IronBaronLbl: Label 'IRON BARON', MaxLength = 30; + WhyallaLbl: Label 'WHYALLA', MaxLength = 30; + WhyallaPlayfordLbl: Label 'WHYALLA PLAYFORD', MaxLength = 30; + IronKnobLbl: Label 'IRON KNOB', MaxLength = 30; + CowellLbl: Label 'COWELL', MaxLength = 30; + ArnoBayLbl: Label 'ARNO BAY', MaxLength = 30; + WharmindaLbl: Label 'WHARMINDA', MaxLength = 30; + PortNeillLbl: Label 'PORT NEILL', MaxLength = 30; + ButlerLbl: Label 'BUTLER', MaxLength = 30; + TumbyBayLbl: Label 'TUMBY BAY', MaxLength = 30; + PortLincolnLbl: Label 'PORT LINCOLN', MaxLength = 30; + CoffinBayLbl: Label 'COFFIN BAY', MaxLength = 30; + CoultaLbl: Label 'COULTA', MaxLength = 30; + LouthBayLbl: Label 'LOUTH BAY', MaxLength = 30; + MurdingaLbl: Label 'MURDINGA', MaxLength = 30; + UngarraLbl: Label 'UNGARRA', MaxLength = 30; + WangaryLbl: Label 'WANGARY', MaxLength = 30; + WanillaLbl: Label 'WANILLA', MaxLength = 30; + WarrachieLbl: Label 'WARRACHIE', MaxLength = 30; + WarrowLbl: Label 'WARROW', MaxLength = 30; + WhyallaNorrieLbl: Label 'WHYALLA NORRIE', MaxLength = 30; + WhyallaStuartLbl: Label 'WHYALLA STUART', MaxLength = 30; + WhyallaJenkinsLbl: Label 'WHYALLA JENKINS', MaxLength = 30; + EdillilieLbl: Label 'EDILLILIE', MaxLength = 30; + CumminsLbl: Label 'CUMMINS', MaxLength = 30; + YeelannaLbl: Label 'YEELANNA', MaxLength = 30; + LockLbl: Label 'LOCK', MaxLength = 30; + CleveLbl: Label 'CLEVE', MaxLength = 30; + BucklebooLbl: Label 'BUCKLEBOO', MaxLength = 30; + KimbaLbl: Label 'KIMBA', MaxLength = 30; + DarkePeakLbl: Label 'DARKE PEAK', MaxLength = 30; + KielpaLbl: Label 'KIELPA', MaxLength = 30; + RudallLbl: Label 'RUDALL', MaxLength = 30; + WarrambooLbl: Label 'WARRAMBOO', MaxLength = 30; + KyancuttaLbl: Label 'KYANCUTTA', MaxLength = 30; + WudinnaLbl: Label 'WUDINNA', MaxLength = 30; + YanineeLbl: Label 'YANINEE', MaxLength = 30; + MinnipaLbl: Label 'MINNIPA', MaxLength = 30; + PoocheraLbl: Label 'POOCHERA', MaxLength = 30; + CungenaLbl: Label 'CUNGENA', MaxLength = 30; + WirrullaLbl: Label 'WIRRULLA', MaxLength = 30; + EllistonLbl: Label 'ELLISTON', MaxLength = 30; + CalcaLbl: Label 'CALCA', MaxLength = 30; + PortKennyLbl: Label 'PORT KENNY', MaxLength = 30; + HaslamLbl: Label 'HASLAM', MaxLength = 30; + SmokyBayLbl: Label 'SMOKY BAY', MaxLength = 30; + StreakyBayLbl: Label 'STREAKY BAY', MaxLength = 30; + CedunaLbl: Label 'CEDUNA', MaxLength = 30; + CoorabieLbl: Label 'COORABIE', MaxLength = 30; + PenongLbl: Label 'PENONG', MaxLength = 30; + ThevenardLbl: Label 'THEVENARD', MaxLength = 30; + YalataLbl: Label 'YALATA', MaxLength = 30; + PortAugustaLbl: Label 'PORT AUGUSTA', MaxLength = 30; + PortAugustaNorthLbl: Label 'PORT AUGUSTA NORTH', MaxLength = 30; + PortAugustaWestLbl: Label 'PORT AUGUSTA WEST', MaxLength = 30; + KingoonyaLbl: Label 'KINGOONYA', MaxLength = 30; + NonningLbl: Label 'NONNING', MaxLength = 30; + StirlingNorthLbl: Label 'STIRLING NORTH', MaxLength = 30; + TarcoolaLbl: Label 'TARCOOLA', MaxLength = 30; + WoomeraLbl: Label 'WOOMERA', MaxLength = 30; + AndamookaLbl: Label 'ANDAMOOKA', MaxLength = 30; + CooberPedyLbl: Label 'COOBER PEDY', MaxLength = 30; + MarlaLbl: Label 'MARLA', MaxLength = 30; + MintabieLbl: Label 'MINTABIE', MaxLength = 30; + OlympicDamLbl: Label 'OLYMPIC DAM', MaxLength = 30; + RoxbyDownsLbl: Label 'ROXBY DOWNS', MaxLength = 30; + BeltanaLbl: Label 'BELTANA', MaxLength = 30; + BlinmanLbl: Label 'BLINMAN', MaxLength = 30; + ParachilnaLbl: Label 'PARACHILNA', MaxLength = 30; + CopleyLbl: Label 'COPLEY', MaxLength = 30; + MarreeLbl: Label 'MARREE', MaxLength = 30; + OodnadattaLbl: Label 'OODNADATTA', MaxLength = 30; + AdelaideAirportLbl: Label 'ADELAIDE AIRPORT', MaxLength = 30; + ExportParkLbl: Label 'EXPORT PARK', MaxLength = 30; + PerthLbl: Label 'PERTH', MaxLength = 30; + EastPerthLbl: Label 'EAST PERTH', MaxLength = 30; + WestPerthLbl: Label 'WEST PERTH', MaxLength = 30; + NorthPerthLbl: Label 'NORTH PERTH', MaxLength = 30; + LeedervilleLbl: Label 'LEEDERVILLE', MaxLength = 30; + WestLeedervilleLbl: Label 'WEST LEEDERVILLE', MaxLength = 30; + DaglishLbl: Label 'DAGLISH', MaxLength = 30; + ShentonParkLbl: Label 'SHENTON PARK', MaxLength = 30; + SubiacoLbl: Label 'SUBIACO', MaxLength = 30; + BroadwayNedlandsLbl: Label 'BROADWAY NEDLANDS', MaxLength = 30; + CrawleyLbl: Label 'CRAWLEY', MaxLength = 30; + DalkeithLbl: Label 'DALKEITH', MaxLength = 30; + NedlandsLbl: Label 'NEDLANDS', MaxLength = 30; + ClaremontLbl: Label 'CLAREMONT', MaxLength = 30; + ClaremontNorthLbl: Label 'CLAREMONT NORTH', MaxLength = 30; + KarrakattaLbl: Label 'KARRAKATTA', MaxLength = 30; + MountClaremontLbl: Label 'MOUNT CLAREMONT', MaxLength = 30; + SwanbourneLbl: Label 'SWANBOURNE', MaxLength = 30; + CottesloeLbl: Label 'COTTESLOE', MaxLength = 30; + PeppermintGroveLbl: Label 'PEPPERMINT GROVE', MaxLength = 30; + FloreatLbl: Label 'FLOREAT', MaxLength = 30; + JolimontLbl: Label 'JOLIMONT', MaxLength = 30; + WembleyLbl: Label 'WEMBLEY', MaxLength = 30; + CityBeachLbl: Label 'CITY BEACH', MaxLength = 30; + GlendaloughLbl: Label 'GLENDALOUGH', MaxLength = 30; + MountHawthornLbl: Label 'MOUNT HAWTHORN', MaxLength = 30; + HerdsmanLbl: Label 'HERDSMAN', MaxLength = 30; + OsborneParkLbl: Label 'OSBORNE PARK', MaxLength = 30; + ChurchlandsLbl: Label 'CHURCHLANDS', MaxLength = 30; + DoubleviewLbl: Label 'DOUBLEVIEW', MaxLength = 30; + GwelupLbl: Label 'GWELUP', MaxLength = 30; + InnalooLbl: Label 'INNALOO', MaxLength = 30; + KarrinyupLbl: Label 'KARRINYUP', MaxLength = 30; + WembleyDownsLbl: Label 'WEMBLEY DOWNS', MaxLength = 30; + CarineLbl: Label 'CARINE', MaxLength = 30; + MarmionLbl: Label 'MARMION', MaxLength = 30; + NorthBeachLbl: Label 'NORTH BEACH', MaxLength = 30; + WatermansBayLbl: Label 'WATERMANS BAY', MaxLength = 30; + BalcattaLbl: Label 'BALCATTA', MaxLength = 30; + HamersleyLbl: Label 'HAMERSLEY', MaxLength = 30; + DuncraigLbl: Label 'DUNCRAIG', MaxLength = 30; + HillarysLbl: Label 'HILLARYS', MaxLength = 30; + KallarooLbl: Label 'KALLAROO', MaxLength = 30; + PadburyLbl: Label 'PADBURY', MaxLength = 30; + KingsleyLbl: Label 'KINGSLEY', MaxLength = 30; + WoodvaleLbl: Label 'WOODVALE', MaxLength = 30; + BeldonLbl: Label 'BELDON', MaxLength = 30; + ConnollyLbl: Label 'CONNOLLY', MaxLength = 30; + EdgewaterLbl: Label 'EDGEWATER', MaxLength = 30; + HeathridgeLbl: Label 'HEATHRIDGE', MaxLength = 30; + JoondalupLbl: Label 'JOONDALUP', MaxLength = 30; + MullalooLbl: Label 'MULLALOO', MaxLength = 30; + OceanReefLbl: Label 'OCEAN REEF', MaxLength = 30; + BurnsBeachLbl: Label 'BURNS BEACH', MaxLength = 30; + CurrambineLbl: Label 'CURRAMBINE', MaxLength = 30; + KinrossLbl: Label 'KINROSS', MaxLength = 30; + TriggLbl: Label 'TRIGG', MaxLength = 30; + ClarksonLbl: Label 'CLARKSON', MaxLength = 30; + MindarieLbl: Label 'MINDARIE', MaxLength = 30; + QuinnsRocksLbl: Label 'QUINNS ROCKS', MaxLength = 30; + RidgewoodLbl: Label 'RIDGEWOOD', MaxLength = 30; + TamalaParkLbl: Label 'TAMALA PARK', MaxLength = 30; + BanksiaGroveLbl: Label 'BANKSIA GROVE', MaxLength = 30; + NeerabupLbl: Label 'NEERABUP', MaxLength = 30; + NowergupLbl: Label 'NOWERGUP', MaxLength = 30; + CaraboodaLbl: Label 'CARABOODA', MaxLength = 30; + YanchepLbl: Label 'YANCHEP', MaxLength = 30; + TwoRocksLbl: Label 'TWO ROCKS', MaxLength = 30; + AlkimosLbl: Label 'ALKIMOS', MaxLength = 30; + CarabanLbl: Label 'CARABAN', MaxLength = 30; + GabbadahLbl: Label 'GABBADAH', MaxLength = 30; + GuildertonLbl: Label 'GUILDERTON', MaxLength = 30; + WilbingaLbl: Label 'WILBINGA', MaxLength = 30; + SeabirdLbl: Label 'SEABIRD', MaxLength = 30; + BretonBayLbl: Label 'BRETON BAY', MaxLength = 30; + LedgePointLbl: Label 'LEDGE POINT', MaxLength = 30; + KarakinLbl: Label 'KARAKIN', MaxLength = 30; + LancelinLbl: Label 'LANCELIN', MaxLength = 30; + NilgenLbl: Label 'NILGEN', MaxLength = 30; + WedgeIslandLbl: Label 'WEDGE ISLAND', MaxLength = 30; + CoolbiniaLbl: Label 'COOLBINIA', MaxLength = 30; + MenoraLbl: Label 'MENORA', MaxLength = 30; + MountLawleyLbl: Label 'MOUNT LAWLEY', MaxLength = 30; + BedfordLbl: Label 'BEDFORD', MaxLength = 30; + BedfordGBLbl: Label 'Bedford', MaxLength = 30; + BassendeanLbl: Label 'BASSENDEAN', MaxLength = 30; + EdenHillLbl: Label 'EDEN HILL', MaxLength = 30; + KiaraLbl: Label 'KIARA', MaxLength = 30; + LockridgeLbl: Label 'LOCKRIDGE', MaxLength = 30; + CavershamLbl: Label 'CAVERSHAM', MaxLength = 30; + HazelmereLbl: Label 'HAZELMERE', MaxLength = 30; + HenleyBrookLbl: Label 'HENLEY BROOK', MaxLength = 30; + SouthGuildfordLbl: Label 'SOUTH GUILDFORD', MaxLength = 30; + WestSwanLbl: Label 'WEST SWAN', MaxLength = 30; + BaskervilleLbl: Label 'BASKERVILLE', MaxLength = 30; + BellevueLbl: Label 'BELLEVUE', MaxLength = 30; + BoyaLbl: Label 'BOYA', MaxLength = 30; + HelenaValleyLbl: Label 'HELENA VALLEY', MaxLength = 30; + JaneBrookLbl: Label 'JANE BROOK', MaxLength = 30; + KoongamiaLbl: Label 'KOONGAMIA', MaxLength = 30; + MiddleSwanLbl: Label 'MIDDLE SWAN', MaxLength = 30; + MidlandLbl: Label 'MIDLAND', MaxLength = 30; + MidvaleLbl: Label 'MIDVALE', MaxLength = 30; + MillendonLbl: Label 'MILLENDON', MaxLength = 30; + StrattonLbl: Label 'STRATTON', MaxLength = 30; + SwanViewLbl: Label 'SWAN VIEW', MaxLength = 30; + ViveashLbl: Label 'VIVEASH', MaxLength = 30; + WoodbridgeLbl: Label 'WOODBRIDGE', MaxLength = 30; + HighWycombeLbl: Label 'HIGH WYCOMBE', MaxLength = 30; + MaidaValeLbl: Label 'MAIDA VALE', MaxLength = 30; + ForrestfieldLbl: Label 'FORRESTFIELD', MaxLength = 30; + DianellaLbl: Label 'DIANELLA', MaxLength = 30; + DogSwampLbl: Label 'DOG SWAMP', MaxLength = 30; + JoondannaLbl: Label 'JOONDANNA', MaxLength = 30; + TuartHillLbl: Label 'TUART HILL', MaxLength = 30; + YokineLbl: Label 'YOKINE', MaxLength = 30; + BalgaLbl: Label 'BALGA', MaxLength = 30; + NollamaraLbl: Label 'NOLLAMARA', MaxLength = 30; + WestminsterLbl: Label 'WESTMINSTER', MaxLength = 30; + EmbletonLbl: Label 'EMBLETON', MaxLength = 30; + MorleyLbl: Label 'MORLEY', MaxLength = 30; + NorandaLbl: Label 'NORANDA', MaxLength = 30; + BeechboroLbl: Label 'BEECHBORO', MaxLength = 30; + AlexanderHeightsLbl: Label 'ALEXANDER HEIGHTS', MaxLength = 30; + GirrawheenLbl: Label 'GIRRAWHEEN', MaxLength = 30; + KoondoolaLbl: Label 'KOONDOOLA', MaxLength = 30; + MarangarooLbl: Label 'MARANGAROO', MaxLength = 30; + AshbyLbl: Label 'ASHBY', MaxLength = 30; + DarchLbl: Label 'DARCH', MaxLength = 30; + GnangaraLbl: Label 'GNANGARA', MaxLength = 30; + HockingLbl: Label 'HOCKING', MaxLength = 30; + JandabupLbl: Label 'JANDABUP', MaxLength = 30; + KingswayLbl: Label 'KINGSWAY', MaxLength = 30; + LandsdaleLbl: Label 'LANDSDALE', MaxLength = 30; + LexiaLbl: Label 'LEXIA', MaxLength = 30; + MadeleyLbl: Label 'MADELEY', MaxLength = 30; + MariginiupLbl: Label 'MARIGINIUP', MaxLength = 30; + MelaleucaLbl: Label 'MELALEUCA', MaxLength = 30; + PearsallLbl: Label 'PEARSALL', MaxLength = 30; + PinjarLbl: Label 'PINJAR', MaxLength = 30; + SinagraLbl: Label 'SINAGRA', MaxLength = 30; + TappingLbl: Label 'TAPPING', MaxLength = 30; + WangaraLbl: Label 'WANGARA', MaxLength = 30; + WannerooLbl: Label 'WANNEROO', MaxLength = 30; + BallajuraLbl: Label 'BALLAJURA', MaxLength = 30; + CullacabardeeLbl: Label 'CULLACABARDEE', MaxLength = 30; + WhitemanLbl: Label 'WHITEMAN', MaxLength = 30; + BelhusLbl: Label 'BELHUS', MaxLength = 30; + BrigadoonLbl: Label 'BRIGADOON', MaxLength = 30; + EllenbrookLbl: Label 'ELLENBROOK', MaxLength = 30; + EllenbrookEastLbl: Label 'ELLENBROOK EAST', MaxLength = 30; + TheVinesLbl: Label 'THE VINES', MaxLength = 30; + UpperSwanLbl: Label 'UPPER SWAN', MaxLength = 30; + GlenForrestLbl: Label 'GLEN FORREST', MaxLength = 30; + HoveaLbl: Label 'HOVEA', MaxLength = 30; + MahoganyCreekLbl: Label 'MAHOGANY CREEK', MaxLength = 30; + MundaringLbl: Label 'MUNDARING', MaxLength = 30; + SawyersValleyLbl: Label 'SAWYERS VALLEY', MaxLength = 30; + BickleyLbl: Label 'BICKLEY', MaxLength = 30; + CarmelLbl: Label 'CARMEL', MaxLength = 30; + GooseberryHillLbl: Label 'GOOSEBERRY HILL', MaxLength = 30; + HackettsGullyLbl: Label 'HACKETTS GULLY', MaxLength = 30; + KalamundaLbl: Label 'KALAMUNDA', MaxLength = 30; + LesmurdieLbl: Label 'LESMURDIE', MaxLength = 30; + PaullsValleyLbl: Label 'PAULLS VALLEY', MaxLength = 30; + PickeringBrookLbl: Label 'PICKERING BROOK', MaxLength = 30; + PiesseBrookLbl: Label 'PIESSE BROOK', MaxLength = 30; + WallistonLbl: Label 'WALLISTON', MaxLength = 30; + ParkervilleLbl: Label 'PARKERVILLE', MaxLength = 30; + StonevilleLbl: Label 'STONEVILLE', MaxLength = 30; + MountHelenaLbl: Label 'MOUNT HELENA', MaxLength = 30; + GidgegannupLbl: Label 'GIDGEGANNUP', MaxLength = 30; + MorangupLbl: Label 'MORANGUP', MaxLength = 30; + BullsbrookLbl: Label 'BULLSBROOK', MaxLength = 30; + ChitteringLbl: Label 'CHITTERING', MaxLength = 30; + LowerChitteringLbl: Label 'LOWER CHITTERING', MaxLength = 30; + MalagaLbl: Label 'MALAGA', MaxLength = 30; + BurswoodLbl: Label 'BURSWOOD', MaxLength = 30; + LathlainLbl: Label 'LATHLAIN', MaxLength = 30; + VictoriaParkLbl: Label 'VICTORIA PARK', MaxLength = 30; + CarlisleLbl: Label 'CARLISLE', MaxLength = 30; + EastVictoriaParkLbl: Label 'EAST VICTORIA PARK', MaxLength = 30; + RivervaleLbl: Label 'RIVERVALE', MaxLength = 30; + CloverdaleLbl: Label 'CLOVERDALE', MaxLength = 30; + KewdaleLbl: Label 'KEWDALE', MaxLength = 30; + PerthAirportLbl: Label 'PERTH AIRPORT', MaxLength = 30; + BeckenhamLbl: Label 'BECKENHAM', MaxLength = 30; + CanningtonLbl: Label 'CANNINGTON', MaxLength = 30; + KenwickLbl: Label 'KENWICK', MaxLength = 30; + WilsonLbl: Label 'WILSON', MaxLength = 30; + ThornlieLbl: Label 'THORNLIE', MaxLength = 30; + MaddingtonLbl: Label 'MADDINGTON', MaxLength = 30; + GosnellsLbl: Label 'GOSNELLS', MaxLength = 30; + MartinLbl: Label 'MARTIN', MaxLength = 30; + SouthernRiverLbl: Label 'SOUTHERN RIVER', MaxLength = 30; + AshendonLbl: Label 'ASHENDON', MaxLength = 30; + CanningMillsLbl: Label 'CANNING MILLS', MaxLength = 30; + ChampionLakesLbl: Label 'CHAMPION LAKES', MaxLength = 30; + KarragullenLbl: Label 'KARRAGULLEN', MaxLength = 30; + KelmscottLbl: Label 'KELMSCOTT', MaxLength = 30; + LesleyLbl: Label 'LESLEY', MaxLength = 30; + RoleystoneLbl: Label 'ROLEYSTONE', MaxLength = 30; + WestfieldLbl: Label 'WESTFIELD', MaxLength = 30; + BedfordaleLbl: Label 'BEDFORDALE', MaxLength = 30; + BrookdaleLbl: Label 'BROOKDALE', MaxLength = 30; + ForrestdaleLbl: Label 'FORRESTDALE', MaxLength = 30; + MountNasuraLbl: Label 'MOUNT NASURA', MaxLength = 30; + MountRichonLbl: Label 'MOUNT RICHON', MaxLength = 30; + SevilleGroveLbl: Label 'SEVILLE GROVE', MaxLength = 30; + WungongLbl: Label 'WUNGONG', MaxLength = 30; + OakfordLbl: Label 'OAKFORD', MaxLength = 30; + OldburyLbl: Label 'OLDBURY', MaxLength = 30; + ByfordLbl: Label 'BYFORD', MaxLength = 30; + CardupLbl: Label 'CARDUP', MaxLength = 30; + DarlingDownsLbl: Label 'DARLING DOWNS', MaxLength = 30; + KarrakupLbl: Label 'KARRAKUP', MaxLength = 30; + MundijongLbl: Label 'MUNDIJONG', MaxLength = 30; + WhitbyLbl: Label 'WHITBY', MaxLength = 30; + JarrahdaleLbl: Label 'JARRAHDALE', MaxLength = 30; + MardellaLbl: Label 'MARDELLA', MaxLength = 30; + KeysbrookLbl: Label 'KEYSBROOK', MaxLength = 30; + LangfordLbl: Label 'LANGFORD', MaxLength = 30; + LynwoodLbl: Label 'LYNWOOD', MaxLength = 30; + FerndaleLbl: Label 'FERNDALE', MaxLength = 30; + RossmoyneLbl: Label 'ROSSMOYNE', MaxLength = 30; + BullCreekLbl: Label 'BULL CREEK', MaxLength = 30; + LeemingLbl: Label 'LEEMING', MaxLength = 30; + BatemanLbl: Label 'BATEMAN', MaxLength = 30; + MurdochLbl: Label 'MURDOCH', MaxLength = 30; + WinthropLbl: Label 'WINTHROP', MaxLength = 30; + SouthPerthLbl: Label 'SOUTH PERTH', MaxLength = 30; + KarawaraLbl: Label 'KARAWARA', MaxLength = 30; + ManningLbl: Label 'MANNING', MaxLength = 30; + SalterPointLbl: Label 'SALTER POINT', MaxLength = 30; + ApplecrossLbl: Label 'APPLECROSS', MaxLength = 30; + ApplecrossNorthLbl: Label 'APPLECROSS NORTH', MaxLength = 30; + ArdrossLbl: Label 'ARDROSS', MaxLength = 30; + CanningBridgeApplecrossLbl: Label 'CANNING BRIDGE APPLECROSS', MaxLength = 30; + AlfredCoveLbl: Label 'ALFRED COVE', MaxLength = 30; + BooragoonLbl: Label 'BOORAGOON', MaxLength = 30; + MyareeLbl: Label 'MYAREE', MaxLength = 30; + CanningValeLbl: Label 'CANNING VALE', MaxLength = 30; + CanningValeEastLbl: Label 'CANNING VALE EAST', MaxLength = 30; + CanningValeSouthLbl: Label 'CANNING VALE SOUTH', MaxLength = 30; + WillettonLbl: Label 'WILLETTON', MaxLength = 30; + AttadaleLbl: Label 'ATTADALE', MaxLength = 30; + MelvilleLbl: Label 'MELVILLE', MaxLength = 30; + WillageeLbl: Label 'WILLAGEE', MaxLength = 30; + WillageeCentralLbl: Label 'WILLAGEE CENTRAL', MaxLength = 30; + BictonLbl: Label 'BICTON', MaxLength = 30; + PalmyraLbl: Label 'PALMYRA', MaxLength = 30; + EastFremantleLbl: Label 'EAST FREMANTLE', MaxLength = 30; + NorthFremantleLbl: Label 'NORTH FREMANTLE', MaxLength = 30; + FremantleLbl: Label 'FREMANTLE', MaxLength = 30; + RottnestIslandLbl: Label 'ROTTNEST ISLAND', MaxLength = 30; + SouthFremantleLbl: Label 'SOUTH FREMANTLE', MaxLength = 30; + WhiteGumValleyLbl: Label 'WHITE GUM VALLEY', MaxLength = 30; + BibraLakeLbl: Label 'BIBRA LAKE', MaxLength = 30; + CoolbellupLbl: Label 'COOLBELLUP', MaxLength = 30; + HamiltonHillLbl: Label 'HAMILTON HILL', MaxLength = 30; + KardinyaLbl: Label 'KARDINYA', MaxLength = 30; + NorthCoogeeLbl: Label 'NORTH COOGEE', MaxLength = 30; + NorthLakeLbl: Label 'NORTH LAKE', MaxLength = 30; + OConnorLbl: Label 'OCONNOR', MaxLength = 30; + SamsonLbl: Label 'SAMSON', MaxLength = 30; + SpearwoodLbl: Label 'SPEARWOOD', MaxLength = 30; + AtwellLbl: Label 'ATWELL', MaxLength = 30; + AubinGroveLbl: Label 'AUBIN GROVE', MaxLength = 30; + BanjupLbl: Label 'BANJUP', MaxLength = 30; + BeeliarLbl: Label 'BEELIAR', MaxLength = 30; + HammondParkLbl: Label 'HAMMOND PARK', MaxLength = 30; + JandakotLbl: Label 'JANDAKOT', MaxLength = 30; + SouthLakeLbl: Label 'SOUTH LAKE', MaxLength = 30; + SuccessLbl: Label 'SUCCESS', MaxLength = 30; + YangebupLbl: Label 'YANGEBUP', MaxLength = 30; + NavalBaseLbl: Label 'NAVAL BASE', MaxLength = 30; + HendersonLbl: Label 'HENDERSON', MaxLength = 30; + MunsterLbl: Label 'MUNSTER', MaxLength = 30; + WattleupLbl: Label 'WATTLEUP', MaxLength = 30; + AnketellLbl: Label 'ANKETELL', MaxLength = 30; + BertramLbl: Label 'BERTRAM', MaxLength = 30; + CalistaLbl: Label 'CALISTA', MaxLength = 30; + CasuarinaLbl: Label 'CASUARINA', MaxLength = 30; + KwinanaBeachLbl: Label 'KWINANA BEACH', MaxLength = 30; + KwinanaTownCentreLbl: Label 'KWINANA TOWN CENTRE', MaxLength = 30; + MandogalupLbl: Label 'MANDOGALUP', MaxLength = 30; + MedinaLbl: Label 'MEDINA', MaxLength = 30; + OreliaLbl: Label 'ORELIA', MaxLength = 30; + ParmeliaLbl: Label 'PARMELIA', MaxLength = 30; + PostansLbl: Label 'POSTANS', MaxLength = 30; + TheSpectaclesLbl: Label 'THE SPECTACLES', MaxLength = 30; + WandiLbl: Label 'WANDI', MaxLength = 30; + CooloongupLbl: Label 'COOLOONGUP', MaxLength = 30; + EastRockinghamLbl: Label 'EAST ROCKINGHAM', MaxLength = 30; + GardenIslandLbl: Label 'GARDEN ISLAND', MaxLength = 30; + HillmanLbl: Label 'HILLMAN', MaxLength = 30; + PeronLbl: Label 'PERON', MaxLength = 30; + RockinghamLbl: Label 'ROCKINGHAM', MaxLength = 30; + SafetyBayLbl: Label 'SAFETY BAY', MaxLength = 30; + WaikikiLbl: Label 'WAIKIKI', MaxLength = 30; + WarnbroLbl: Label 'WARNBRO', MaxLength = 30; + LedaLbl: Label 'LEDA', MaxLength = 30; + WellardLbl: Label 'WELLARD', MaxLength = 30; + BaldivisLbl: Label 'BALDIVIS', MaxLength = 30; + PortKennedyLbl: Label 'PORT KENNEDY', MaxLength = 30; + SecretHarbourLbl: Label 'SECRET HARBOUR', MaxLength = 30; + GoldenBayLbl: Label 'GOLDEN BAY', MaxLength = 30; + KarnupLbl: Label 'KARNUP', MaxLength = 30; + MyaraLbl: Label 'MYARA', MaxLength = 30; + NambeelupLbl: Label 'NAMBEELUP', MaxLength = 30; + NorthDandalupLbl: Label 'NORTH DANDALUP', MaxLength = 30; + SolusLbl: Label 'SOLUS', MaxLength = 30; + WhittakerLbl: Label 'WHITTAKER', MaxLength = 30; + BlythewoodLbl: Label 'BLYTHEWOOD', MaxLength = 30; + FairbridgeLbl: Label 'FAIRBRIDGE', MaxLength = 30; + MeelonLbl: Label 'MEELON', MaxLength = 30; + NirimbaLbl: Label 'NIRIMBA', MaxLength = 30; + NorthYunderupLbl: Label 'NORTH YUNDERUP', MaxLength = 30; + OakleyLbl: Label 'OAKLEY', MaxLength = 30; + PinjarraLbl: Label 'PINJARRA', MaxLength = 30; + PointGreyLbl: Label 'POINT GREY', MaxLength = 30; + SouthYunderupLbl: Label 'SOUTH YUNDERUP', MaxLength = 30; + WestPinjarraLbl: Label 'WEST PINJARRA', MaxLength = 30; + BarragupLbl: Label 'BARRAGUP', MaxLength = 30; + BouvardLbl: Label 'BOUVARD', MaxLength = 30; + CoodanupLbl: Label 'COODANUP', MaxLength = 30; + DawesvilleLbl: Label 'DAWESVILLE', MaxLength = 30; + ErskineLbl: Label 'ERSKINE', MaxLength = 30; + FalconLbl: Label 'FALCON', MaxLength = 30; + FurnissdaleLbl: Label 'FURNISSDALE', MaxLength = 30; + HallsHeadLbl: Label 'HALLS HEAD', MaxLength = 30; + HerronLbl: Label 'HERRON', MaxLength = 30; + MadoraBayLbl: Label 'MADORA BAY', MaxLength = 30; + MandurahLbl: Label 'MANDURAH', MaxLength = 30; + MandurahEastLbl: Label 'MANDURAH EAST', MaxLength = 30; + MandurahNorthLbl: Label 'MANDURAH NORTH', MaxLength = 30; + MeadowSpringsLbl: Label 'MEADOW SPRINGS', MaxLength = 30; + ParklandsLbl: Label 'PARKLANDS', MaxLength = 30; + SilverSandsLbl: Label 'SILVER SANDS', MaxLength = 30; + StakeHillLbl: Label 'STAKE HILL', MaxLength = 30; + WannanupLbl: Label 'WANNANUP', MaxLength = 30; + BanksiadaleLbl: Label 'BANKSIADALE', MaxLength = 30; + DwellingupLbl: Label 'DWELLINGUP', MaxLength = 30; + EtmilynLbl: Label 'ETMILYN', MaxLength = 30; + HolyoakeLbl: Label 'HOLYOAKE', MaxLength = 30; + InglehopeLbl: Label 'INGLEHOPE', MaxLength = 30; + MarrinupLbl: Label 'MARRINUP', MaxLength = 30; + BirchmontLbl: Label 'BIRCHMONT', MaxLength = 30; + CoolupLbl: Label 'COOLUP', MaxLength = 30; + WestCoolupLbl: Label 'WEST COOLUP', MaxLength = 30; + HamelLbl: Label 'HAMEL', MaxLength = 30; + LakeCliftonLbl: Label 'LAKE CLIFTON', MaxLength = 30; + NangaBrookLbl: Label 'NANGA BROOK', MaxLength = 30; + PrestonBeachLbl: Label 'PRESTON BEACH', MaxLength = 30; + WagerupLbl: Label 'WAGERUP', MaxLength = 30; + WaroonaLbl: Label 'WAROONA', MaxLength = 30; + YarloopLbl: Label 'YARLOOP', MaxLength = 30; + CookernupLbl: Label 'COOKERNUP', MaxLength = 30; + HarveyLbl: Label 'HARVEY', MaxLength = 30; + HoffmanLbl: Label 'HOFFMAN', MaxLength = 30; + MyalupLbl: Label 'MYALUP', MaxLength = 30; + UducLbl: Label 'UDUC', MaxLength = 30; + WarawarrupLbl: Label 'WARAWARRUP', MaxLength = 30; + WokalupLbl: Label 'WOKALUP', MaxLength = 30; + BengerLbl: Label 'BENGER', MaxLength = 30; + BeelaLbl: Label 'BEELA', MaxLength = 30; + AllansonLbl: Label 'ALLANSON', MaxLength = 30; + BowellingLbl: Label 'BOWELLING', MaxLength = 30; + CollieBurnLbl: Label 'COLLIE BURN', MaxLength = 30; + HarrisRiverLbl: Label 'HARRIS RIVER', MaxLength = 30; + LyallsMillLbl: Label 'LYALLS MILL', MaxLength = 30; + McalindenLbl: Label 'MCALINDEN', MaxLength = 30; + MujaLbl: Label 'MUJA', MaxLength = 30; + MumballupLbl: Label 'MUMBALLUP', MaxLength = 30; + MungalupLbl: Label 'MUNGALUP', MaxLength = 30; + NoggerupLbl: Label 'NOGGERUP', MaxLength = 30; + PrestonSettlementLbl: Label 'PRESTON SETTLEMENT', MaxLength = 30; + ShottsLbl: Label 'SHOTTS', MaxLength = 30; + WorsleyLbl: Label 'WORSLEY', MaxLength = 30; + YourdamungLakeLbl: Label 'YOURDAMUNG LAKE', MaxLength = 30; + RoelandsLbl: Label 'ROELANDS', MaxLength = 30; + BurekupLbl: Label 'BUREKUP', MaxLength = 30; + PictonEastLbl: Label 'PICTON EAST', MaxLength = 30; + BunburyLbl: Label 'BUNBURY', MaxLength = 30; + CareyParkLbl: Label 'CAREY PARK', MaxLength = 30; + CollegeGroveLbl: Label 'COLLEGE GROVE', MaxLength = 30; + DalyellupLbl: Label 'DALYELLUP', MaxLength = 30; + DavenportLbl: Label 'DAVENPORT', MaxLength = 30; + EastBunburyLbl: Label 'EAST BUNBURY', MaxLength = 30; + GelorupLbl: Label 'GELORUP', MaxLength = 30; + PelicanPointLbl: Label 'PELICAN POINT', MaxLength = 30; + SouthBunburyLbl: Label 'SOUTH BUNBURY', MaxLength = 30; + UsherLbl: Label 'USHER', MaxLength = 30; + WithersLbl: Label 'WITHERS', MaxLength = 30; + MillbridgeLbl: Label 'MILLBRIDGE', MaxLength = 30; + AustralindLbl: Label 'AUSTRALIND', MaxLength = 30; + BinningupLbl: Label 'BINNINGUP', MaxLength = 30; + LeschenaultLbl: Label 'LESCHENAULT', MaxLength = 30; + ParkfieldLbl: Label 'PARKFIELD', MaxLength = 30; + WellesleyLbl: Label 'WELLESLEY', MaxLength = 30; + CrookedBrookLbl: Label 'CROOKED BROOK', MaxLength = 30; + DardanupLbl: Label 'DARDANUP', MaxLength = 30; + DardanupWestLbl: Label 'DARDANUP WEST', MaxLength = 30; + FergusonLbl: Label 'FERGUSON', MaxLength = 30; + WellingtonForestLbl: Label 'WELLINGTON FOREST', MaxLength = 30; + WellingtonMillLbl: Label 'WELLINGTON MILL', MaxLength = 30; + BoyanupLbl: Label 'BOYANUP', MaxLength = 30; + ElginLbl: Label 'ELGIN', MaxLength = 30; + GwindinupLbl: Label 'GWINDINUP', MaxLength = 30; + NorthBoyanupLbl: Label 'NORTH BOYANUP', MaxLength = 30; + StrathamLbl: Label 'STRATHAM', MaxLength = 30; + ThePlainsLbl: Label 'THE PLAINS', MaxLength = 30; + ArgyleLbl: Label 'ARGYLE', MaxLength = 30; + BeelerupLbl: Label 'BEELERUP', MaxLength = 30; + BrookhamptonLbl: Label 'BROOKHAMPTON', MaxLength = 30; + CharleyCreekLbl: Label 'CHARLEY CREEK', MaxLength = 30; + GlenMervynLbl: Label 'GLEN MERVYN', MaxLength = 30; + PaynedaleLbl: Label 'PAYNEDALE', MaxLength = 30; + QueenwoodLbl: Label 'QUEENWOOD', MaxLength = 30; + ThomsonBrookLbl: Label 'THOMSON BROOK', MaxLength = 30; + UpperCapelLbl: Label 'UPPER CAPEL', MaxLength = 30; + YabberupLbl: Label 'YABBERUP', MaxLength = 30; + LowdenLbl: Label 'LOWDEN', MaxLength = 30; + WilgaLbl: Label 'WILGA', MaxLength = 30; + WilgaWestLbl: Label 'WILGA WEST', MaxLength = 30; + BoyupBrookLbl: Label 'BOYUP BROOK', MaxLength = 30; + ChowerupLbl: Label 'CHOWERUP', MaxLength = 30; + DinninupLbl: Label 'DINNINUP', MaxLength = 30; + KulikupLbl: Label 'KULIKUP', MaxLength = 30; + MayanupLbl: Label 'MAYANUP', MaxLength = 30; + ScottsBrookLbl: Label 'SCOTTS BROOK', MaxLength = 30; + TonebridgeLbl: Label 'TONEBRIDGE', MaxLength = 30; + BrazierLbl: Label 'BRAZIER', MaxLength = 30; + KirupLbl: Label 'KIRUP', MaxLength = 30; + MullalyupLbl: Label 'MULLALYUP', MaxLength = 30; + BalingupLbl: Label 'BALINGUP', MaxLength = 30; + GrimwadeLbl: Label 'GRIMWADE', MaxLength = 30; + SouthamptonLbl: Label 'SOUTHAMPTON', MaxLength = 30; + GreenbushesLbl: Label 'GREENBUSHES', MaxLength = 30; + NorthGreenbushesLbl: Label 'NORTH GREENBUSHES', MaxLength = 30; + BenjinupLbl: Label 'BENJINUP', MaxLength = 30; + BridgetownLbl: Label 'BRIDGETOWN', MaxLength = 30; + CatterickLbl: Label 'CATTERICK', MaxLength = 30; + HesterLbl: Label 'HESTER', MaxLength = 30; + HesterBrookLbl: Label 'HESTER BROOK', MaxLength = 30; + KangarooGullyLbl: Label 'KANGAROO GULLY', MaxLength = 30; + WinnejupLbl: Label 'WINNEJUP', MaxLength = 30; + GlenlynnLbl: Label 'GLENLYNN', MaxLength = 30; + MaranupLbl: Label 'MARANUP', MaxLength = 30; + WandillupLbl: Label 'WANDILLUP', MaxLength = 30; + YornupLbl: Label 'YORNUP', MaxLength = 30; + BalbarrupLbl: Label 'BALBARRUP', MaxLength = 30; + CroweaLbl: Label 'CROWEA', MaxLength = 30; + DeanmillLbl: Label 'DEANMILL', MaxLength = 30; + DiamondTreeLbl: Label 'DIAMOND TREE', MaxLength = 30; + DingupLbl: Label 'DINGUP', MaxLength = 30; + DixvaleLbl: Label 'DIXVALE', MaxLength = 30; + DonnellyRiverLbl: Label 'DONNELLY RIVER', MaxLength = 30; + GlenoranLbl: Label 'GLENORAN', MaxLength = 30; + JardeeLbl: Label 'JARDEE', MaxLength = 30; + LakeMuirLbl: Label 'LAKE MUIR', MaxLength = 30; + LinfarneLbl: Label 'LINFARNE', MaxLength = 30; + ManjimupLbl: Label 'MANJIMUP', MaxLength = 30; + MiddlesexLbl: Label 'MIDDLESEX', MaxLength = 30; + MordalupLbl: Label 'MORDALUP', MaxLength = 30; + PalgarupLbl: Label 'PALGARUP', MaxLength = 30; + PerupLbl: Label 'PERUP', MaxLength = 30; + QuinninupLbl: Label 'QUINNINUP', MaxLength = 30; + RingbarkLbl: Label 'RINGBARK', MaxLength = 30; + SmithBrookLbl: Label 'SMITH BROOK', MaxLength = 30; + UpperWarrenLbl: Label 'UPPER WARREN', MaxLength = 30; + WilgarrupLbl: Label 'WILGARRUP', MaxLength = 30; + YanmahLbl: Label 'YANMAH', MaxLength = 30; + BiddeliaLbl: Label 'BIDDELIA', MaxLength = 30; + EastbrookLbl: Label 'EASTBROOK', MaxLength = 30; + LakeJasperLbl: Label 'LAKE JASPER', MaxLength = 30; + PeerabeelupLbl: Label 'PEERABEELUP', MaxLength = 30; + PembertonLbl: Label 'PEMBERTON', MaxLength = 30; + NorthcliffeLbl: Label 'NORTHCLIFFE', MaxLength = 30; + CapelLbl: Label 'CAPEL', MaxLength = 30; + CapelRiverLbl: Label 'CAPEL RIVER', MaxLength = 30; + ForrestBeachLbl: Label 'FORREST BEACH', MaxLength = 30; + PeppermintGroveBeachLbl: Label 'PEPPERMINT GROVE BEACH', MaxLength = 30; + StirlingEstateLbl: Label 'STIRLING ESTATE', MaxLength = 30; + BarrabupLbl: Label 'BARRABUP', MaxLength = 30; + CarlottaLbl: Label 'CARLOTTA', MaxLength = 30; + CundinupLbl: Label 'CUNDINUP', MaxLength = 30; + DarradupLbl: Label 'DARRADUP', MaxLength = 30; + EastNannupLbl: Label 'EAST NANNUP', MaxLength = 30; + JalbarragupLbl: Label 'JALBARRAGUP', MaxLength = 30; + JarrahwoodLbl: Label 'JARRAHWOOD', MaxLength = 30; + NannupLbl: Label 'NANNUP', MaxLength = 30; + ScottRiverEastLbl: Label 'SCOTT RIVER EAST', MaxLength = 30; + YoganupLbl: Label 'YOGANUP', MaxLength = 30; + AbbaRiverLbl: Label 'ABBA RIVER', MaxLength = 30; + AbbeyLbl: Label 'ABBEY', MaxLength = 30; + ActonParkLbl: Label 'ACTON PARK', MaxLength = 30; + AmbergateLbl: Label 'AMBERGATE', MaxLength = 30; + AnniebrookLbl: Label 'ANNIEBROOK', MaxLength = 30; + BoalliaLbl: Label 'BOALLIA', MaxLength = 30; + BovellLbl: Label 'BOVELL', MaxLength = 30; + BusseltonLbl: Label 'BUSSELTON', MaxLength = 30; + CarbunupRiverLbl: Label 'CARBUNUP RIVER', MaxLength = 30; + ChapmanHillLbl: Label 'CHAPMAN HILL', MaxLength = 30; + GeographeLbl: Label 'GEOGRAPHE', MaxLength = 30; + HithergreenLbl: Label 'HITHERGREEN', MaxLength = 30; + JindongLbl: Label 'JINDONG', MaxLength = 30; + KalgupLbl: Label 'KALGUP', MaxLength = 30; + KaloorupLbl: Label 'KALOORUP', MaxLength = 30; + KealyLbl: Label 'KEALY', MaxLength = 30; + LudlowLbl: Label 'LUDLOW', MaxLength = 30; + MarybrookLbl: Label 'MARYBROOK', MaxLength = 30; + MetricupLbl: Label 'METRICUP', MaxLength = 30; + NorthJindongLbl: Label 'NORTH JINDONG', MaxLength = 30; + ReinscourtLbl: Label 'REINSCOURT', MaxLength = 30; + RuabonLbl: Label 'RUABON', MaxLength = 30; + SabinaRiverLbl: Label 'SABINA RIVER', MaxLength = 30; + SiestaParkLbl: Label 'SIESTA PARK', MaxLength = 30; + TutunupLbl: Label 'TUTUNUP', MaxLength = 30; + VasseLbl: Label 'VASSE', MaxLength = 30; + WalsallLbl: Label 'WALSALL', MaxLength = 30; + WestBusseltonLbl: Label 'WEST BUSSELTON', MaxLength = 30; + WilyabrupLbl: Label 'WILYABRUP', MaxLength = 30; + WonnerupLbl: Label 'WONNERUP', MaxLength = 30; + YalyalupLbl: Label 'YALYALUP', MaxLength = 30; + YelvertonLbl: Label 'YELVERTON', MaxLength = 30; + YoongarillupLbl: Label 'YOONGARILLUP', MaxLength = 30; + DunsboroughLbl: Label 'DUNSBOROUGH', MaxLength = 30; + EagleBayLbl: Label 'EAGLE BAY', MaxLength = 30; + NaturalisteLbl: Label 'NATURALISTE', MaxLength = 30; + QuedjinupLbl: Label 'QUEDJINUP', MaxLength = 30; + QuindalupLbl: Label 'QUINDALUP', MaxLength = 30; + YallingupLbl: Label 'YALLINGUP', MaxLength = 30; + YallingupSidingLbl: Label 'YALLINGUP SIDING', MaxLength = 30; + BaudinLbl: Label 'BAUDIN', MaxLength = 30; + CowaramupLbl: Label 'COWARAMUP', MaxLength = 30; + GracetownLbl: Label 'GRACETOWN', MaxLength = 30; + TreetonLbl: Label 'TREETON', MaxLength = 30; + BramleyLbl: Label 'BRAMLEY', MaxLength = 30; + GnarabupLbl: Label 'GNARABUP', MaxLength = 30; + MargaretRiverLbl: Label 'MARGARET RIVER', MaxLength = 30; + OsmingtonLbl: Label 'OSMINGTON', MaxLength = 30; + PrevellyLbl: Label 'PREVELLY', MaxLength = 30; + RosaBrookLbl: Label 'ROSA BROOK', MaxLength = 30; + RosaGlenLbl: Label 'ROSA GLEN', MaxLength = 30; + SchroederLbl: Label 'SCHROEDER', MaxLength = 30; + BoranupLbl: Label 'BORANUP', MaxLength = 30; + ForestGroveLbl: Label 'FOREST GROVE', MaxLength = 30; + WitchcliffeLbl: Label 'WITCHCLIFFE', MaxLength = 30; + AlexandraBridgeLbl: Label 'ALEXANDRA BRIDGE', MaxLength = 30; + CourtenayLbl: Label 'COURTENAY', MaxLength = 30; + HamelinBayLbl: Label 'HAMELIN BAY', MaxLength = 30; + KarridaleLbl: Label 'KARRIDALE', MaxLength = 30; + NillupLbl: Label 'NILLUP', MaxLength = 30; + ScottRiverLbl: Label 'SCOTT RIVER', MaxLength = 30; + WarnerGlenLbl: Label 'WARNER GLEN', MaxLength = 30; + AugustaLbl: Label 'AUGUSTA', MaxLength = 30; + DeepdeneLbl: Label 'DEEPDENE', MaxLength = 30; + EastAugustaLbl: Label 'EAST AUGUSTA', MaxLength = 30; + KudardupLbl: Label 'KUDARDUP', MaxLength = 30; + LeeuwinLbl: Label 'LEEUWIN', MaxLength = 30; + MolloyIslandLbl: Label 'MOLLOY ISLAND', MaxLength = 30; + BadginLbl: Label 'BADGIN', MaxLength = 30; + BalladongLbl: Label 'BALLADONG', MaxLength = 30; + BurgesLbl: Label 'BURGES', MaxLength = 30; + CaljieLbl: Label 'CALJIE', MaxLength = 30; + ColdHarbourLbl: Label 'COLD HARBOUR', MaxLength = 30; + DaliakLbl: Label 'DALIAK', MaxLength = 30; + FlintLbl: Label 'FLINT', MaxLength = 30; + GilgeringLbl: Label 'GILGERING', MaxLength = 30; + GwambygineLbl: Label 'GWAMBYGINE', MaxLength = 30; + InkpenLbl: Label 'INKPEN', MaxLength = 30; + KauringLbl: Label 'KAURING', MaxLength = 30; + MalebellingLbl: Label 'MALEBELLING', MaxLength = 30; + MountHardeyLbl: Label 'MOUNT HARDEY', MaxLength = 30; + MountObservationLbl: Label 'MOUNT OBSERVATION', MaxLength = 30; + NarralogganLbl: Label 'NARRALOGGAN', MaxLength = 30; + QuellingtonLbl: Label 'QUELLINGTON', MaxLength = 30; + StRonansLbl: Label 'ST RONANS', MaxLength = 30; + TalbotWestLbl: Label 'TALBOT WEST', MaxLength = 30; + YorkLbl: Label 'YORK', MaxLength = 30; + BallyBallyLbl: Label 'BALLY BALLY', MaxLength = 30; + DaleLbl: Label 'DALE', MaxLength = 30; + EastBeverleyLbl: Label 'EAST BEVERLEY', MaxLength = 30; + KokebyLbl: Label 'KOKEBY', MaxLength = 30; + MorbinningLbl: Label 'MORBINNING', MaxLength = 30; + AldersydeLbl: Label 'ALDERSYDE', MaxLength = 30; + BrooktonLbl: Label 'BROOKTON', MaxLength = 30; + BulyeeLbl: Label 'BULYEE', MaxLength = 30; + JelcobineLbl: Label 'JELCOBINE', MaxLength = 30; + KwedaLbl: Label 'KWEDA', MaxLength = 30; + CodjatotineLbl: Label 'CODJATOTINE', MaxLength = 30; + DwardaLbl: Label 'DWARDA', MaxLength = 30; + EastPingellyLbl: Label 'EAST PINGELLY', MaxLength = 30; + GillimanningLbl: Label 'GILLIMANNING', MaxLength = 30; + PingellyLbl: Label 'PINGELLY', MaxLength = 30; + PumphreysBridgeLbl: Label 'PUMPHREYS BRIDGE', MaxLength = 30; + SpringsLbl: Label 'SPRINGS', MaxLength = 30; + WanderingLbl: Label 'WANDERING', MaxLength = 30; + WestPingellyLbl: Label 'WEST PINGELLY', MaxLength = 30; + EastPopanyinningLbl: Label 'EAST POPANYINNING', MaxLength = 30; + PopanyinningLbl: Label 'POPANYINNING', MaxLength = 30; + StratherneLbl: Label 'STRATHERNE', MaxLength = 30; + WestPopanyinningLbl: Label 'WEST POPANYINNING', MaxLength = 30; + CommodineLbl: Label 'COMMODINE', MaxLength = 30; + ContineLbl: Label 'CONTINE', MaxLength = 30; + CuballingLbl: Label 'CUBALLING', MaxLength = 30; + DryandraLbl: Label 'DRYANDRA', MaxLength = 30; + LolGrayLbl: Label 'LOL GRAY', MaxLength = 30; + TownsendaleLbl: Label 'TOWNSENDALE', MaxLength = 30; + WarderingLbl: Label 'WARDERING', MaxLength = 30; + YornaningLbl: Label 'YORNANING', MaxLength = 30; + BoundainLbl: Label 'BOUNDAIN', MaxLength = 30; + DumberningLbl: Label 'DUMBERNING', MaxLength = 30; + MiniginLbl: Label 'MINIGIN', MaxLength = 30; + NarroginLbl: Label 'NARROGIN', MaxLength = 30; + NarroginValleyLbl: Label 'NARROGIN VALLEY', MaxLength = 30; + NomansLakeLbl: Label 'NOMANS LAKE', MaxLength = 30; + ToolibinLbl: Label 'TOOLIBIN', MaxLength = 30; + YilliminningLbl: Label 'YILLIMINNING', MaxLength = 30; + ArthurRiverLbl: Label 'ARTHUR RIVER', MaxLength = 30; + BallayingLbl: Label 'BALLAYING', MaxLength = 30; + CancanningLbl: Label 'CANCANNING', MaxLength = 30; + CollanillingLbl: Label 'COLLANILLING', MaxLength = 30; + DongolockingLbl: Label 'DONGOLOCKING', MaxLength = 30; + GundaringLbl: Label 'GUNDARING', MaxLength = 30; + JaloranLbl: Label 'JALORAN', MaxLength = 30; + LimeLakeLbl: Label 'LIME LAKE', MaxLength = 30; + MindingLbl: Label 'MINDING', MaxLength = 30; + PiessevilleLbl: Label 'PIESSEVILLE', MaxLength = 30; + WaginLbl: Label 'WAGIN', MaxLength = 30; + WedgecarrupLbl: Label 'WEDGECARRUP', MaxLength = 30; + BoyerineLbl: Label 'BOYERINE', MaxLength = 30; + CartmeticupLbl: Label 'CARTMETICUP', MaxLength = 30; + KenmareLbl: Label 'KENMARE', MaxLength = 30; + WoodanillingLbl: Label 'WOODANILLING', MaxLength = 30; + BadgebupLbl: Label 'BADGEBUP', MaxLength = 30; + BullockHillsLbl: Label 'BULLOCK HILLS', MaxLength = 30; + CarrolupLbl: Label 'CARROLUP', MaxLength = 30; + CoblinineLbl: Label 'COBLININE', MaxLength = 30; + CoyrecupLbl: Label 'COYRECUP', MaxLength = 30; + DatatineLbl: Label 'DATATINE', MaxLength = 30; + EwlyamartupLbl: Label 'EWLYAMARTUP', MaxLength = 30; + KatanningLbl: Label 'KATANNING', MaxLength = 30; + MarracoondaLbl: Label 'MARRACOONDA', MaxLength = 30; + MoojebingLbl: Label 'MOOJEBING', MaxLength = 30; + MurdongLbl: Label 'MURDONG', MaxLength = 30; + PinwernyingLbl: Label 'PINWERNYING', MaxLength = 30; + SouthDatatineLbl: Label 'SOUTH DATATINE', MaxLength = 30; + SouthGlencoeLbl: Label 'SOUTH GLENCOE', MaxLength = 30; + BroomehillLbl: Label 'BROOMEHILL', MaxLength = 30; + BroomehillEastLbl: Label 'BROOMEHILL EAST', MaxLength = 30; + BroomehillVillageLbl: Label 'BROOMEHILL VILLAGE', MaxLength = 30; + BroomehillWestLbl: Label 'BROOMEHILL WEST', MaxLength = 30; + BobalongLbl: Label 'BOBALONG', MaxLength = 30; + BorderdaleLbl: Label 'BORDERDALE', MaxLength = 30; + DartnallLbl: Label 'DARTNALL', MaxLength = 30; + LakeToolbrunupLbl: Label 'LAKE TOOLBRUNUP', MaxLength = 30; + MooniesHillLbl: Label 'MOONIES HILL', MaxLength = 30; + TambellupLbl: Label 'TAMBELLUP', MaxLength = 30; + WansbroughLbl: Label 'WANSBROUGH', MaxLength = 30; + TenterdenLbl: Label 'TENTERDEN', MaxLength = 30; + KendenupLbl: Label 'KENDENUP', MaxLength = 30; + DenbarkerLbl: Label 'DENBARKER', MaxLength = 30; + PerillupLbl: Label 'PERILLUP', MaxLength = 30; + PorongurupLbl: Label 'PORONGURUP', MaxLength = 30; + SouthStirlingLbl: Label 'SOUTH STIRLING', MaxLength = 30; + TakalarupLbl: Label 'TAKALARUP', MaxLength = 30; + WoogenellupLbl: Label 'WOOGENELLUP', MaxLength = 30; + NarrikupLbl: Label 'NARRIKUP', MaxLength = 30; + RedmondLbl: Label 'REDMOND', MaxLength = 30; + RedmondWestLbl: Label 'REDMOND WEST', MaxLength = 30; + CheynesLbl: Label 'CHEYNES', MaxLength = 30; + GnowellenLbl: Label 'GNOWELLEN', MaxLength = 30; + GreenRangeLbl: Label 'GREEN RANGE', MaxLength = 30; + KojaneerupSouthLbl: Label 'KOJANEERUP SOUTH', MaxLength = 30; + ManypeaksLbl: Label 'MANYPEAKS', MaxLength = 30; + MettlerLbl: Label 'METTLER', MaxLength = 30; + PalmdaleLbl: Label 'PALMDALE', MaxLength = 30; + WellsteadLbl: Label 'WELLSTEAD', MaxLength = 30; + AlbanyLbl: Label 'ALBANY', MaxLength = 30; + BayonetHeadLbl: Label 'BAYONET HEAD', MaxLength = 30; + BigGroveLbl: Label 'BIG GROVE', MaxLength = 30; + BornholmLbl: Label 'BORNHOLM', MaxLength = 30; + CollingwoodHeightsLbl: Label 'COLLINGWOOD HEIGHTS', MaxLength = 30; + CuthbertLbl: Label 'CUTHBERT', MaxLength = 30; + DromeLbl: Label 'DROME', MaxLength = 30; + EllekerLbl: Label 'ELLEKER', MaxLength = 30; + EmuPointLbl: Label 'EMU POINT', MaxLength = 30; + FrenchmanBayLbl: Label 'FRENCHMAN BAY', MaxLength = 30; + GledhowLbl: Label 'GLEDHOW', MaxLength = 30; + GoodeBeachLbl: Label 'GOODE BEACH', MaxLength = 30; + KalganLbl: Label 'KALGAN', MaxLength = 30; + KingRiverLbl: Label 'KING RIVER', MaxLength = 30; + KronkupLbl: Label 'KRONKUP', MaxLength = 30; + LangeLbl: Label 'LANGE', MaxLength = 30; + LittleGroveLbl: Label 'LITTLE GROVE', MaxLength = 30; + LowerKingLbl: Label 'LOWER KING', MaxLength = 30; + LowlandsLbl: Label 'LOWLANDS', MaxLength = 30; + MarbelupLbl: Label 'MARBELUP', MaxLength = 30; + MckailLbl: Label 'MCKAIL', MaxLength = 30; + MiddletonBeachLbl: Label 'MIDDLETON BEACH', MaxLength = 30; + MilparaLbl: Label 'MILPARA', MaxLength = 30; + MiraMarLbl: Label 'MIRA MAR', MaxLength = 30; + MountClarenceLbl: Label 'MOUNT CLARENCE', MaxLength = 30; + MountElphinstoneLbl: Label 'MOUNT ELPHINSTONE', MaxLength = 30; + MountMelvilleLbl: Label 'MOUNT MELVILLE', MaxLength = 30; + NanarupLbl: Label 'NANARUP', MaxLength = 30; + NapierLbl: Label 'NAPIER', MaxLength = 30; + NullakiLbl: Label 'NULLAKI', MaxLength = 30; + OranaLbl: Label 'ORANA', MaxLength = 30; + PortAlbanyLbl: Label 'PORT ALBANY', MaxLength = 30; + SandpatchLbl: Label 'SANDPATCH', MaxLength = 30; + SeppingsLbl: Label 'SEPPINGS', MaxLength = 30; + SpencerParkLbl: Label 'SPENCER PARK', MaxLength = 30; + TorbayLbl: Label 'TORBAY', MaxLength = 30; + TorndirrupLbl: Label 'TORNDIRRUP', MaxLength = 30; + VancouverPeninsulaLbl: Label 'VANCOUVER PENINSULA', MaxLength = 30; + WalmsleyLbl: Label 'WALMSLEY', MaxLength = 30; + WarrenupLbl: Label 'WARRENUP', MaxLength = 30; + WestCapeHoweLbl: Label 'WEST CAPE HOWE', MaxLength = 30; + WillyungLbl: Label 'WILLYUNG', MaxLength = 30; + YakamiaLbl: Label 'YAKAMIA', MaxLength = 30; + YoungsSidingLbl: Label 'YOUNGS SIDING', MaxLength = 30; + AlbanyDcLbl: Label 'ALBANY DC', MaxLength = 30; + BowBridgeLbl: Label 'BOW BRIDGE', MaxLength = 30; + DenmarkLbl: Label 'DENMARK', MaxLength = 30; + HazelvaleLbl: Label 'HAZELVALE', MaxLength = 30; + KentdaleLbl: Label 'KENTDALE', MaxLength = 30; + KordabupLbl: Label 'KORDABUP', MaxLength = 30; + MountLindesayLbl: Label 'MOUNT LINDESAY', MaxLength = 30; + MountRomanceLbl: Label 'MOUNT ROMANCE', MaxLength = 30; + NornalupLbl: Label 'NORNALUP', MaxLength = 30; + OceanBeachLbl: Label 'OCEAN BEACH', MaxLength = 30; + ParryvilleLbl: Label 'PARRYVILLE', MaxLength = 30; + PeacefulBayLbl: Label 'PEACEFUL BAY', MaxLength = 30; + ScotsdaleLbl: Label 'SCOTSDALE', MaxLength = 30; + ShadforthLbl: Label 'SHADFORTH', MaxLength = 30; + TingledaleLbl: Label 'TINGLEDALE', MaxLength = 30; + TrentLbl: Label 'TRENT', MaxLength = 30; + WilliamBayLbl: Label 'WILLIAM BAY', MaxLength = 30; + GnowangerupLbl: Label 'GNOWANGERUP', MaxLength = 30; + JackitupLbl: Label 'JACKITUP', MaxLength = 30; + KebaringupLbl: Label 'KEBARINGUP', MaxLength = 30; + PallinupLbl: Label 'PALLINUP', MaxLength = 30; + CowalellupLbl: Label 'COWALELLUP', MaxLength = 30; + MillsLakeLbl: Label 'MILLS LAKE', MaxLength = 30; + MindarabinLbl: Label 'MINDARABIN', MaxLength = 30; + NeedilupLbl: Label 'NEEDILUP', MaxLength = 30; + OngerupLbl: Label 'ONGERUP', MaxLength = 30; + ToompupLbl: Label 'TOOMPUP', MaxLength = 30; + FitzgeraldLbl: Label 'FITZGERALD', MaxLength = 30; + GairdnerLbl: Label 'GAIRDNER', MaxLength = 30; + JacupLbl: Label 'JACUP', MaxLength = 30; + JerramungupLbl: Label 'JERRAMUNGUP', MaxLength = 30; + WestFitzgeraldLbl: Label 'WEST FITZGERALD', MaxLength = 30; + AmelupLbl: Label 'AMELUP', MaxLength = 30; + BordenLbl: Label 'BORDEN', MaxLength = 30; + BoxwoodHillLbl: Label 'BOXWOOD HILL', MaxLength = 30; + BremerBayLbl: Label 'BREMER BAY', MaxLength = 30; + MagitupLbl: Label 'MAGITUP', MaxLength = 30; + MonjebupLbl: Label 'MONJEBUP', MaxLength = 30; + NalyerlupLbl: Label 'NALYERLUP', MaxLength = 30; + NorthStirlingsLbl: Label 'NORTH STIRLINGS', MaxLength = 30; + StirlingRangeNationalParkLbl: Label 'STIRLING RANGE NATIONAL PARK', MaxLength = 30; + NyabingLbl: Label 'NYABING', MaxLength = 30; + PingrupLbl: Label 'PINGRUP', MaxLength = 30; + JerdacuttupLbl: Label 'JERDACUTTUP', MaxLength = 30; + RavensthorpeLbl: Label 'RAVENSTHORPE', MaxLength = 30; + WestRiverLbl: Label 'WEST RIVER', MaxLength = 30; + DumbleyungLbl: Label 'DUMBLEYUNG', MaxLength = 30; + NairibinLbl: Label 'NAIRIBIN', MaxLength = 30; + NipperingLbl: Label 'NIPPERING', MaxLength = 30; + MoulyinningLbl: Label 'MOULYINNING', MaxLength = 30; + NorthMoulyinningLbl: Label 'NORTH MOULYINNING', MaxLength = 30; + KukerinLbl: Label 'KUKERIN', MaxLength = 30; + MerilupLbl: Label 'MERILUP', MaxLength = 30; + NorthKukerinLbl: Label 'NORTH KUKERIN', MaxLength = 30; + SouthKukerinLbl: Label 'SOUTH KUKERIN', MaxLength = 30; + BeenongLbl: Label 'BEENONG', MaxLength = 30; + BunicheLbl: Label 'BUNICHE', MaxLength = 30; + KuenderLbl: Label 'KUENDER', MaxLength = 30; + LakeGraceLbl: Label 'LAKE GRACE', MaxLength = 30; + MalleeHillLbl: Label 'MALLEE HILL', MaxLength = 30; + NeendalingLbl: Label 'NEENDALING', MaxLength = 30; + NorthBurngupLbl: Label 'NORTH BURNGUP', MaxLength = 30; + NorthLakeGraceLbl: Label 'NORTH LAKE GRACE', MaxLength = 30; + SouthLakeGraceLbl: Label 'SOUTH LAKE GRACE', MaxLength = 30; + TarinRockLbl: Label 'TARIN ROCK', MaxLength = 30; + Dunn_RockLbl: Label 'DUNN ROCK', MaxLength = 30; + EastNewdegateLbl: Label 'EAST NEWDEGATE', MaxLength = 30; + HoltRockLbl: Label 'HOLT ROCK', MaxLength = 30; + LakeBiddyLbl: Label 'LAKE BIDDY', MaxLength = 30; + LakeCammLbl: Label 'LAKE CAMM', MaxLength = 30; + LittleItalyLbl: Label 'LITTLE ITALY', MaxLength = 30; + MagentaLbl: Label 'MAGENTA', MaxLength = 30; + NewdegateLbl: Label 'NEWDEGATE', MaxLength = 30; + SouthNewdegateLbl: Label 'SOUTH NEWDEGATE', MaxLength = 30; + VarleyLbl: Label 'VARLEY', MaxLength = 30; + LakeKingLbl: Label 'LAKE KING', MaxLength = 30; + MountMaddenLbl: Label 'MOUNT MADDEN', MaxLength = 30; + PingaringLbl: Label 'PINGARING', MaxLength = 30; + KarlgarinLbl: Label 'KARLGARIN', MaxLength = 30; + ForrestaniaLbl: Label 'FORRESTANIA', MaxLength = 30; + HydenLbl: Label 'HYDEN', MaxLength = 30; + HarrismithLbl: Label 'HARRISMITH', MaxLength = 30; + TincurrinLbl: Label 'TINCURRIN', MaxLength = 30; + DudininLbl: Label 'DUDININ', MaxLength = 30; + WalyurinLbl: Label 'WALYURIN', MaxLength = 30; + JilakinLbl: Label 'JILAKIN', MaxLength = 30; + JitarningLbl: Label 'JITARNING', MaxLength = 30; + KulinLbl: Label 'KULIN', MaxLength = 30; + KulinWestLbl: Label 'KULIN WEST', MaxLength = 30; + KondininLbl: Label 'KONDININ', MaxLength = 30; + SouthKummininLbl: Label 'SOUTH KUMMININ', MaxLength = 30; + MountWalkerLbl: Label 'MOUNT WALKER', MaxLength = 30; + NarembeenLbl: Label 'NAREMBEEN', MaxLength = 30; + WadderinLbl: Label 'WADDERIN', MaxLength = 30; + WestHolletonLbl: Label 'WEST HOLLETON', MaxLength = 30; + WoolocuttyLbl: Label 'WOOLOCUTTY', MaxLength = 30; + EastWickepinLbl: Label 'EAST WICKEPIN', MaxLength = 30; + KirkRockLbl: Label 'KIRK ROCK', MaxLength = 30; + MalyallingLbl: Label 'MALYALLING', MaxLength = 30; + WickepinLbl: Label 'WICKEPIN', MaxLength = 30; + WogolinLbl: Label 'WOGOLIN', MaxLength = 30; + YealeringLbl: Label 'YEALERING', MaxLength = 30; + BullaringLbl: Label 'BULLARING', MaxLength = 30; + AdamsvaleLbl: Label 'ADAMSVALE', MaxLength = 30; + BilbarinLbl: Label 'BILBARIN', MaxLength = 30; + CorriginLbl: Label 'CORRIGIN', MaxLength = 30; + GorgeRockLbl: Label 'GORGE ROCK', MaxLength = 30; + KunjinLbl: Label 'KUNJIN', MaxLength = 30; + KurrenkuttenLbl: Label 'KURRENKUTTEN', MaxLength = 30; + BadjalingLbl: Label 'BADJALING', MaxLength = 30; + BalkulingLbl: Label 'BALKULING', MaxLength = 30; + CubbineLbl: Label 'CUBBINE', MaxLength = 30; + DanginLbl: Label 'DANGIN', MaxLength = 30; + DoodenanningLbl: Label 'DOODENANNING', MaxLength = 30; + DulbellingLbl: Label 'DULBELLING', MaxLength = 30; + MountStirlingLbl: Label 'MOUNT STIRLING', MaxLength = 30; + QuairadingLbl: Label 'QUAIRADING', MaxLength = 30; + SouthQuairadingLbl: Label 'SOUTH QUAIRADING', MaxLength = 30; + WamenuskingLbl: Label 'WAMENUSKING', MaxLength = 30; + YotingLbl: Label 'YOTING', MaxLength = 30; + PantapinLbl: Label 'PANTAPIN', MaxLength = 30; + KwolyinLbl: Label 'KWOLYIN', MaxLength = 30; + ShackletonLbl: Label 'SHACKLETON', MaxLength = 30; + BoddingtonLbl: Label 'BODDINGTON', MaxLength = 30; + CrossmanLbl: Label 'CROSSMAN', MaxLength = 30; + LowerHothamLbl: Label 'LOWER HOTHAM', MaxLength = 30; + MarradongLbl: Label 'MARRADONG', MaxLength = 30; + MountCookeLbl: Label 'MOUNT COOKE', MaxLength = 30; + MountWellsLbl: Label 'MOUNT WELLS', MaxLength = 30; + NorthBannisterLbl: Label 'NORTH BANNISTER', MaxLength = 30; + RanfordLbl: Label 'RANFORD', MaxLength = 30; + UpperMurrayLbl: Label 'UPPER MURRAY', MaxLength = 30; + WuramingLbl: Label 'WURAMING', MaxLength = 30; + QuindanningLbl: Label 'QUINDANNING', MaxLength = 30; + WilliamsLbl: Label 'WILLIAMS', MaxLength = 30; + BokalLbl: Label 'BOKAL', MaxLength = 30; + BooladingLbl: Label 'BOOLADING', MaxLength = 30; + DarkanLbl: Label 'DARKAN', MaxLength = 30; + CorderingLbl: Label 'CORDERING', MaxLength = 30; + DuranillinLbl: Label 'DURANILLIN', MaxLength = 30; + MoodiarrupLbl: Label 'MOODIARRUP', MaxLength = 30; + TrigwellLbl: Label 'TRIGWELL', MaxLength = 30; + BeaufortRiverLbl: Label 'BEAUFORT RIVER', MaxLength = 30; + BoilupLbl: Label 'BOILUP', MaxLength = 30; + BoscabelLbl: Label 'BOSCABEL', MaxLength = 30; + ChangerupLbl: Label 'CHANGERUP', MaxLength = 30; + MuradupLbl: Label 'MURADUP', MaxLength = 30; + OrchidValleyLbl: Label 'ORCHID VALLEY', MaxLength = 30; + QualeupLbl: Label 'QUALEUP', MaxLength = 30; + CherryTreePoolLbl: Label 'CHERRY TREE POOL', MaxLength = 30; + JingalupLbl: Label 'JINGALUP', MaxLength = 30; + KojonupLbl: Label 'KOJONUP', MaxLength = 30; + MobrupLbl: Label 'MOBRUP', MaxLength = 30; + RyansbrookLbl: Label 'RYANSBROOK', MaxLength = 30; + FranklandLbl: Label 'FRANKLAND', MaxLength = 30; + RockyGullyLbl: Label 'ROCKY GULLY', MaxLength = 30; + NorthWalpoleLbl: Label 'NORTH WALPOLE', MaxLength = 30; + WalpoleLbl: Label 'WALPOLE', MaxLength = 30; + BucklandLbl: Label 'BUCKLAND', MaxLength = 30; + BurlongLbl: Label 'BURLONG', MaxLength = 30; + CunjardineLbl: Label 'CUNJARDINE', MaxLength = 30; + IrishtownLbl: Label 'IRISHTOWN', MaxLength = 30; + JennacubbineLbl: Label 'JENNACUBBINE', MaxLength = 30; + JennapullinLbl: Label 'JENNAPULLIN', MaxLength = 30; + MalabaineLbl: Label 'MALABAINE', MaxLength = 30; + MeenaarLbl: Label 'MEENAAR', MaxLength = 30; + MokineLbl: Label 'MOKINE', MaxLength = 30; + MuluckineLbl: Label 'MULUCKINE', MaxLength = 30; + MumberkineLbl: Label 'MUMBERKINE', MaxLength = 30; + MureskLbl: Label 'MURESK', MaxLength = 30; + NorthamLbl: Label 'NORTHAM', MaxLength = 30; + SouthernBrookLbl: Label 'SOUTHERN BROOK', MaxLength = 30; + SpencersBrookLbl: Label 'SPENCERS BROOK', MaxLength = 30; + ThrossellLbl: Label 'THROSSELL', MaxLength = 30; + WongamineLbl: Label 'WONGAMINE', MaxLength = 30; + GrassValleyLbl: Label 'GRASS VALLEY', MaxLength = 30; + GreenwoodsValleyLbl: Label 'GREENWOODS VALLEY', MaxLength = 30; + MeckeringLbl: Label 'MECKERING', MaxLength = 30; + QuelagettingLbl: Label 'QUELAGETTING', MaxLength = 30; + WardingEastLbl: Label 'WARDING EAST', MaxLength = 30; + CunderdinLbl: Label 'CUNDERDIN', MaxLength = 30; + WaeelLbl: Label 'WAEEL', MaxLength = 30; + WatercarrinLbl: Label 'WATERCARRIN', MaxLength = 30; + WyolaLbl: Label 'WYOLA', MaxLength = 30; + WyolaWestLbl: Label 'WYOLA WEST', MaxLength = 30; + YoundeginLbl: Label 'YOUNDEGIN', MaxLength = 30; + DoonginLbl: Label 'DOONGIN', MaxLength = 30; + TamminLbl: Label 'TAMMIN', MaxLength = 30; + YorkrakineLbl: Label 'YORKRAKINE', MaxLength = 30; + DaadenningCreekLbl: Label 'DAADENNING CREEK', MaxLength = 30; + KellerberrinLbl: Label 'KELLERBERRIN', MaxLength = 30; + MountCarolineLbl: Label 'MOUNT CAROLINE', MaxLength = 30; + NorthKellerberrinLbl: Label 'NORTH KELLERBERRIN', MaxLength = 30; + DoodlakineLbl: Label 'DOODLAKINE', MaxLength = 30; + SouthDoodlakineLbl: Label 'SOUTH DOODLAKINE', MaxLength = 30; + BaandeeLbl: Label 'BAANDEE', MaxLength = 30; + NorthBaandeeLbl: Label 'NORTH BAANDEE', MaxLength = 30; + HinesHillLbl: Label 'HINES HILL', MaxLength = 30; + NangeenanLbl: Label 'NANGEENAN', MaxLength = 30; + GoomarinLbl: Label 'GOOMARIN', MaxLength = 30; + KorbelLbl: Label 'KORBEL', MaxLength = 30; + MerredinLbl: Label 'MERREDIN', MaxLength = 30; + NokaningLbl: Label 'NOKANING', MaxLength = 30; + NorpaLbl: Label 'NORPA', MaxLength = 30; + TandeginLbl: Label 'TANDEGIN', MaxLength = 30; + BruceRockLbl: Label 'BRUCE ROCK', MaxLength = 30; + ArdathLbl: Label 'ARDATH', MaxLength = 30; + CramphorneLbl: Label 'CRAMPHORNE', MaxLength = 30; + MuntadginLbl: Label 'MUNTADGIN', MaxLength = 30; + BurracoppinLbl: Label 'BURRACOPPIN', MaxLength = 30; + SouthBurracoppinLbl: Label 'SOUTH BURRACOPPIN', MaxLength = 30; + WalgoolanLbl: Label 'WALGOOLAN', MaxLength = 30; + BoodarockinLbl: Label 'BOODAROCKIN', MaxLength = 30; + CarrabinLbl: Label 'CARRABIN', MaxLength = 30; + WarrachuppinLbl: Label 'WARRACHUPPIN', MaxLength = 30; + WestoniaLbl: Label 'WESTONIA', MaxLength = 30; + BodallinLbl: Label 'BODALLIN', MaxLength = 30; + NorthBodallinLbl: Label 'NORTH BODALLIN', MaxLength = 30; + SouthBodallinLbl: Label 'SOUTH BODALLIN', MaxLength = 30; + DulyalbinLbl: Label 'DULYALBIN', MaxLength = 30; + MoorineRockLbl: Label 'MOORINE ROCK', MaxLength = 30; + CorinthiaLbl: Label 'CORINTHIA', MaxLength = 30; + GhooliLbl: Label 'GHOOLI', MaxLength = 30; + HolletonLbl: Label 'HOLLETON', MaxLength = 30; + MarvelLochLbl: Label 'MARVEL LOCH', MaxLength = 30; + MountHamptonLbl: Label 'MOUNT HAMPTON', MaxLength = 30; + MountHollandLbl: Label 'MOUNT HOLLAND', MaxLength = 30; + MountJacksonLbl: Label 'MOUNT JACKSON', MaxLength = 30; + MountPalmerLbl: Label 'MOUNT PALMER', MaxLength = 30; + ParkerRangeLbl: Label 'PARKER RANGE', MaxLength = 30; + SkeletonRockLbl: Label 'SKELETON ROCK', MaxLength = 30; + SouthYilgarnLbl: Label 'SOUTH YILGARN', MaxLength = 30; + TurkeyHillLbl: Label 'TURKEY HILL', MaxLength = 30; + YellowdineLbl: Label 'YELLOWDINE', MaxLength = 30; + KoolyanobbingLbl: Label 'KOOLYANOBBING', MaxLength = 30; + BabakinLbl: Label 'BABAKIN', MaxLength = 30; + BoorabbinLbl: Label 'BOORABBIN', MaxLength = 30; + BullabullingLbl: Label 'BULLABULLING', MaxLength = 30; + CoolgardieLbl: Label 'COOLGARDIE', MaxLength = 30; + KarramindieLbl: Label 'KARRAMINDIE', MaxLength = 30; + MountBurgesLbl: Label 'MOUNT BURGES', MaxLength = 30; + VictoriaRockLbl: Label 'VICTORIA ROCK', MaxLength = 30; + BinduliLbl: Label 'BINDULI', MaxLength = 30; + BroadwoodLbl: Label 'BROADWOOD', MaxLength = 30; + HannansLbl: Label 'HANNANS', MaxLength = 30; + KalgoorlieLbl: Label 'KALGOORLIE', MaxLength = 30; + KarlkurlaLbl: Label 'KARLKURLA', MaxLength = 30; + LamingtonLbl: Label 'LAMINGTON', MaxLength = 30; + MullingarLbl: Label 'MULLINGAR', MaxLength = 30; + SouthKalgoorlieLbl: Label 'SOUTH KALGOORLIE', MaxLength = 30; + WestKalgoorlieLbl: Label 'WEST KALGOORLIE', MaxLength = 30; + WestLamingtonLbl: Label 'WEST LAMINGTON', MaxLength = 30; + YilkariLbl: Label 'YILKARI', MaxLength = 30; + BooraraLbl: Label 'BOORARA', MaxLength = 30; + BulongLbl: Label 'BULONG', MaxLength = 30; + EmuFlatLbl: Label 'EMU FLAT', MaxLength = 30; + FeysvilleLbl: Label 'FEYSVILLE', MaxLength = 30; + KanownaLbl: Label 'KANOWNA', MaxLength = 30; + KookynieLbl: Label 'KOOKYNIE', MaxLength = 30; + KurnalpiLbl: Label 'KURNALPI', MaxLength = 30; + LakewoodLbl: Label 'LAKEWOOD', MaxLength = 30; + OraBandaLbl: Label 'ORA BANDA', MaxLength = 30; + PlumridgeLakesLbl: Label 'PLUMRIDGE LAKES', MaxLength = 30; + BoulderLbl: Label 'BOULDER', MaxLength = 30; + FimistonLbl: Label 'FIMISTON', MaxLength = 30; + SouthBoulderLbl: Label 'SOUTH BOULDER', MaxLength = 30; + VictoryHeightsLbl: Label 'VICTORY HEIGHTS', MaxLength = 30; + CundeeleeLbl: Label 'CUNDEELEE', MaxLength = 30; + ParkestonLbl: Label 'PARKESTON', MaxLength = 30; + RawlinnaLbl: Label 'RAWLINNA', MaxLength = 30; + ZanthusLbl: Label 'ZANTHUS', MaxLength = 30; + UlarringLbl: Label 'ULARRING', MaxLength = 30; + LeinsterLbl: Label 'LEINSTER', MaxLength = 30; + SirSamuelLbl: Label 'SIR SAMUEL', MaxLength = 30; + LakeDarlotLbl: Label 'LAKE DARLOT', MaxLength = 30; + LeonoraLbl: Label 'LEONORA', MaxLength = 30; + BandyaLbl: Label 'BANDYA', MaxLength = 30; + BeadellLbl: Label 'BEADELL', MaxLength = 30; + CosmoNewberyLbl: Label 'COSMO NEWBERY', MaxLength = 30; + LakeWellsLbl: Label 'LAKE WELLS', MaxLength = 30; + NealeLbl: Label 'NEALE', MaxLength = 30; + KambaldaLbl: Label 'KAMBALDA', MaxLength = 30; + BalladoniaLbl: Label 'BALLADONIA', MaxLength = 30; + CaigunaLbl: Label 'CAIGUNA', MaxLength = 30; + CocklebiddyLbl: Label 'COCKLEBIDDY', MaxLength = 30; + EuclaLbl: Label 'EUCLA', MaxLength = 30; + FraserRangeLbl: Label 'FRASER RANGE', MaxLength = 30; + HigginsvilleLbl: Label 'HIGGINSVILLE', MaxLength = 30; + MaduraLbl: Label 'MADURA', MaxLength = 30; + MundrabillaLbl: Label 'MUNDRABILLA', MaxLength = 30; + NorsemanLbl: Label 'NORSEMAN', MaxLength = 30; + WidgiemoolthaLbl: Label 'WIDGIEMOOLTHA', MaxLength = 30; + NorthCascadeLbl: Label 'NORTH CASCADE', MaxLength = 30; + SalmonGumsLbl: Label 'SALMON GUMS', MaxLength = 30; + GrassPatchLbl: Label 'GRASS PATCH', MaxLength = 30; + LortRiverLbl: Label 'LORT RIVER', MaxLength = 30; + MountNeyLbl: Label 'MOUNT NEY', MaxLength = 30; + ScaddanLbl: Label 'SCADDAN', MaxLength = 30; + WittenoomHillsLbl: Label 'WITTENOOM HILLS', MaxLength = 30; + GibsonLbl: Label 'GIBSON', MaxLength = 30; + BandyCreekLbl: Label 'BANDY CREEK', MaxLength = 30; + BoyatupLbl: Label 'BOYATUP', MaxLength = 30; + CapeLeGrandLbl: Label 'CAPE LE GRAND', MaxLength = 30; + CascadeLbl: Label 'CASCADE', MaxLength = 30; + CastletownLbl: Label 'CASTLETOWN', MaxLength = 30; + ChadwickLbl: Label 'CHADWICK', MaxLength = 30; + CondingupLbl: Label 'CONDINGUP', MaxLength = 30; + CoomalbidgupLbl: Label 'COOMALBIDGUP', MaxLength = 30; + DalyupLbl: Label 'DALYUP', MaxLength = 30; + EastMunglinupLbl: Label 'EAST MUNGLINUP', MaxLength = 30; + EsperanceLbl: Label 'ESPERANCE', MaxLength = 30; + HowickLbl: Label 'HOWICK', MaxLength = 30; + MerivaleLbl: Label 'MERIVALE', MaxLength = 30; + MonjingupLbl: Label 'MONJINGUP', MaxLength = 30; + MunglinupLbl: Label 'MUNGLINUP', MaxLength = 30; + MyrupLbl: Label 'MYRUP', MaxLength = 30; + NeridupLbl: Label 'NERIDUP', MaxLength = 30; + NulsenLbl: Label 'NULSEN', MaxLength = 30; + PinkLakeLbl: Label 'PINK LAKE', MaxLength = 30; + SinclairLbl: Label 'SINCLAIR', MaxLength = 30; + WindaboutLbl: Label 'WINDABOUT', MaxLength = 30; + BuraminyaLbl: Label 'BURAMINYA', MaxLength = 30; + CapeAridLbl: Label 'CAPE ARID', MaxLength = 30; + IsraeliteBayLbl: Label 'ISRAELITE BAY', MaxLength = 30; + GoomallingLbl: Label 'GOOMALLING', MaxLength = 30; + HulongineLbl: Label 'HULONGINE', MaxLength = 30; + KarranadginLbl: Label 'KARRANADGIN', MaxLength = 30; + UcartyWestLbl: Label 'UCARTY WEST', MaxLength = 30; + WalyormouringLbl: Label 'WALYORMOURING', MaxLength = 30; + DowerinLbl: Label 'DOWERIN', MaxLength = 30; + KoomberkineLbl: Label 'KOOMBERKINE', MaxLength = 30; + MinnivaleLbl: Label 'MINNIVALE', MaxLength = 30; + UcartyLbl: Label 'UCARTY', MaxLength = 30; + BenjaberringLbl: Label 'BENJABERRING', MaxLength = 30; + ManmanningLbl: Label 'MANMANNING', MaxLength = 30; + CadouxLbl: Label 'CADOUX', MaxLength = 30; + BurakinLbl: Label 'BURAKIN', MaxLength = 30; + GoodlandsLbl: Label 'GOODLANDS', MaxLength = 30; + KalannieLbl: Label 'KALANNIE', MaxLength = 30; + PetrudorLbl: Label 'PETRUDOR', MaxLength = 30; + KuljaLbl: Label 'KULJA', MaxLength = 30; + BeaconLbl: Label 'BEACON', MaxLength = 30; + BimbijyLbl: Label 'BIMBIJY', MaxLength = 30; + ClearyLbl: Label 'CLEARY', MaxLength = 30; + KarrounHillLbl: Label 'KARROUN HILL', MaxLength = 30; + MouroubraLbl: Label 'MOUROUBRA', MaxLength = 30; + RemlapLbl: Label 'REMLAP', MaxLength = 30; + NorthWialkiLbl: Label 'NORTH WIALKI', MaxLength = 30; + WialkiLbl: Label 'WIALKI', MaxLength = 30; + BadgerinRockLbl: Label 'BADGERIN ROCK', MaxLength = 30; + BooralamingLbl: Label 'BOORALAMING', MaxLength = 30; + DukinLbl: Label 'DUKIN', MaxLength = 30; + KoordaLbl: Label 'KOORDA', MaxLength = 30; + LakeMargaretteLbl: Label 'LAKE MARGARETTE', MaxLength = 30; + MollerinLbl: Label 'MOLLERIN', MaxLength = 30; + NewcarlbeonLbl: Label 'NEWCARLBEON', MaxLength = 30; + GabbinLbl: Label 'GABBIN', MaxLength = 30; + BencubbinLbl: Label 'BENCUBBIN', MaxLength = 30; + WelbunginLbl: Label 'WELBUNGIN', MaxLength = 30; + BarbalinLbl: Label 'BARBALIN', MaxLength = 30; + BonnieRockLbl: Label 'BONNIE ROCK', MaxLength = 30; + DandanningLbl: Label 'DANDANNING', MaxLength = 30; + ElachbuttingLbl: Label 'ELACHBUTTING', MaxLength = 30; + KarloningLbl: Label 'KARLONING', MaxLength = 30; + LakeBrownLbl: Label 'LAKE BROWN', MaxLength = 30; + MukinbudinLbl: Label 'MUKINBUDIN', MaxLength = 30; + WattoningLbl: Label 'WATTONING', MaxLength = 30; + WilgoyneLbl: Label 'WILGOYNE', MaxLength = 30; + NukarniLbl: Label 'NUKARNI', MaxLength = 30; + BullfinchLbl: Label 'BULLFINCH', MaxLength = 30; + EnnuinLbl: Label 'ENNUIN', MaxLength = 30; + LakeDeborahLbl: Label 'LAKE DEBORAH', MaxLength = 30; + CowcowingLbl: Label 'COWCOWING', MaxLength = 30; + KorrelockingLbl: Label 'KORRELOCKING', MaxLength = 30; + NalkainLbl: Label 'NALKAIN', MaxLength = 30; + NembuddingLbl: Label 'NEMBUDDING', MaxLength = 30; + WyalkatchemLbl: Label 'WYALKATCHEM', MaxLength = 30; + NorthYelbeniLbl: Label 'NORTH YELBENI', MaxLength = 30; + SouthYelbeniLbl: Label 'SOUTH YELBENI', MaxLength = 30; + YelbeniLbl: Label 'YELBENI', MaxLength = 30; + NorthTrayningLbl: Label 'NORTH TRAYNING', MaxLength = 30; + SouthTrayningLbl: Label 'SOUTH TRAYNING', MaxLength = 30; + TrayningLbl: Label 'TRAYNING', MaxLength = 30; + KununoppinLbl: Label 'KUNUNOPPIN', MaxLength = 30; + NorthKununoppinLbl: Label 'NORTH KUNUNOPPIN', MaxLength = 30; + SouthKununoppinLbl: Label 'SOUTH KUNUNOPPIN', MaxLength = 30; + BurranRockLbl: Label 'BURRAN ROCK', MaxLength = 30; + ElabbinLbl: Label 'ELABBIN', MaxLength = 30; + KwelkanLbl: Label 'KWELKAN', MaxLength = 30; + NungarinLbl: Label 'NUNGARIN', MaxLength = 30; + TalgomineLbl: Label 'TALGOMINE', MaxLength = 30; + MucheaLbl: Label 'MUCHEA', MaxLength = 30; + BindoonLbl: Label 'BINDOON', MaxLength = 30; + BindoonTrainingAreaLbl: Label 'BINDOON TRAINING AREA', MaxLength = 30; + BambunLbl: Label 'BAMBUN', MaxLength = 30; + BeermullahLbl: Label 'BEERMULLAH', MaxLength = 30; + BoonanarringLbl: Label 'BOONANARRING', MaxLength = 30; + BreeraLbl: Label 'BREERA', MaxLength = 30; + CoonabidgeeLbl: Label 'COONABIDGEE', MaxLength = 30; + CowallaLbl: Label 'COWALLA', MaxLength = 30; + CullallaLbl: Label 'CULLALLA', MaxLength = 30; + GinginupLbl: Label 'GINGINUP', MaxLength = 30; + LennardBrookLbl: Label 'LENNARD BROOK', MaxLength = 30; + MindarraLbl: Label 'MINDARRA', MaxLength = 30; + MoondahLbl: Label 'MOONDAH', MaxLength = 30; + MooreRiverNationalParkLbl: Label 'MOORE RIVER NATIONAL PARK', MaxLength = 30; + MuckenburraLbl: Label 'MUCKENBURRA', MaxLength = 30; + NeergabbyLbl: Label 'NEERGABBY', MaxLength = 30; + OrangeSpringsLbl: Label 'ORANGE SPRINGS', MaxLength = 30; + RedGullyLbl: Label 'RED GULLY', MaxLength = 30; + WanerieLbl: Label 'WANERIE', MaxLength = 30; + YealLbl: Label 'YEAL', MaxLength = 30; + MooliabeeneeLbl: Label 'MOOLIABEENEE', MaxLength = 30; + WannamalLbl: Label 'WANNAMAL', MaxLength = 30; + MogumberLbl: Label 'MOGUMBER', MaxLength = 30; + CatabyLbl: Label 'CATABY', MaxLength = 30; + CooljarlooLbl: Label 'COOLJARLOO', MaxLength = 30; + DandaraganLbl: Label 'DANDARAGAN', MaxLength = 30; + MimegarraLbl: Label 'MIMEGARRA', MaxLength = 30; + RegansFordLbl: Label 'REGANS FORD', MaxLength = 30; + YathrooLbl: Label 'YATHROO', MaxLength = 30; + GlentromieLbl: Label 'GLENTROMIE', MaxLength = 30; + NewNorciaLbl: Label 'NEW NORCIA', MaxLength = 30; + WaddingtonLbl: Label 'WADDINGTON', MaxLength = 30; + YarawindahLbl: Label 'YARAWINDAH', MaxLength = 30; + BarbertonLbl: Label 'BARBERTON', MaxLength = 30; + BerkshireValleyLbl: Label 'BERKSHIRE VALLEY', MaxLength = 30; + GillingarraLbl: Label 'GILLINGARRA', MaxLength = 30; + KoojanLbl: Label 'KOOJAN', MaxLength = 30; + WalebingLbl: Label 'WALEBING', MaxLength = 30; + CervantesLbl: Label 'CERVANTES', MaxLength = 30; + CoomberdaleLbl: Label 'COOMBERDALE', MaxLength = 30; + NambanLbl: Label 'NAMBAN', MaxLength = 30; + GunyidiLbl: Label 'GUNYIDI', MaxLength = 30; + WatherooLbl: Label 'WATHEROO', MaxLength = 30; + GreenHeadLbl: Label 'GREEN HEAD', MaxLength = 30; + LeemanLbl: Label 'LEEMAN', MaxLength = 30; + CoorowLbl: Label 'COOROW', MaxLength = 30; + EganuLbl: Label 'EGANU', MaxLength = 30; + MarchageeLbl: Label 'MARCHAGEE', MaxLength = 30; + WaddyForestLbl: Label 'WADDY FOREST', MaxLength = 30; + JurienBayLbl: Label 'JURIEN BAY', MaxLength = 30; + CarnamahLbl: Label 'CARNAMAH', MaxLength = 30; + EneabbaLbl: Label 'ENEABBA', MaxLength = 30; + WarradargeLbl: Label 'WARRADARGE', MaxLength = 30; + ArrinoLbl: Label 'ARRINO', MaxLength = 30; + ArrowsmithEastLbl: Label 'ARROWSMITH EAST', MaxLength = 30; + DudawaLbl: Label 'DUDAWA', MaxLength = 30; + KadathinniLbl: Label 'KADATHINNI', MaxLength = 30; + ThreeSpringsLbl: Label 'THREE SPRINGS', MaxLength = 30; + WomardenLbl: Label 'WOMARDEN', MaxLength = 30; + BadgingarraLbl: Label 'BADGINGARRA', MaxLength = 30; + BoothendarraLbl: Label 'BOOTHENDARRA', MaxLength = 30; + GreyLbl: Label 'GREY', MaxLength = 30; + HillRiverLbl: Label 'HILL RIVER', MaxLength = 30; + NambungLbl: Label 'NAMBUNG', MaxLength = 30; + HolmwoodLbl: Label 'HOLMWOOD', MaxLength = 30; + IkewaLbl: Label 'IKEWA', MaxLength = 30; + LockierLbl: Label 'LOCKIER', MaxLength = 30; + MingenewLbl: Label 'MINGENEW', MaxLength = 30; + MooriaryLbl: Label 'MOORIARY', MaxLength = 30; + MountBuddLbl: Label 'MOUNT BUDD', MaxLength = 30; + NangettyLbl: Label 'NANGETTY', MaxLength = 30; + YandanookaLbl: Label 'YANDANOOKA', MaxLength = 30; + YarragadeeLbl: Label 'YARRAGADEE', MaxLength = 30; + AllanookaLbl: Label 'ALLANOOKA', MaxLength = 30; + ArrowsmithLbl: Label 'ARROWSMITH', MaxLength = 30; + BonniefieldLbl: Label 'BONNIEFIELD', MaxLength = 30; + BookaraLbl: Label 'BOOKARA', MaxLength = 30; + DongaraLbl: Label 'DONGARA', MaxLength = 30; + IrwinLbl: Label 'IRWIN', MaxLength = 30; + MiloLbl: Label 'MILO', MaxLength = 30; + MountAdamsLbl: Label 'MOUNT ADAMS', MaxLength = 30; + MountHornerLbl: Label 'MOUNT HORNER', MaxLength = 30; + PortDenisonLbl: Label 'PORT DENISON', MaxLength = 30; + YardarinoLbl: Label 'YARDARINO', MaxLength = 30; + MountHillLbl: Label 'MOUNT HILL', MaxLength = 30; + SouthGreenoughLbl: Label 'SOUTH GREENOUGH', MaxLength = 30; + WalkawayLbl: Label 'WALKAWAY', MaxLength = 30; + BeachlandsLbl: Label 'BEACHLANDS', MaxLength = 30; + BeresfordLbl: Label 'BERESFORD', MaxLength = 30; + BluffPointLbl: Label 'BLUFF POINT', MaxLength = 30; + GeraldtonLbl: Label 'GERALDTON', MaxLength = 30; + KarlooLbl: Label 'KARLOO', MaxLength = 30; + MahometsFlatsLbl: Label 'MAHOMETS FLATS', MaxLength = 30; + MeruLbl: Label 'MERU', MaxLength = 30; + MountTarcoolaLbl: Label 'MOUNT TARCOOLA', MaxLength = 30; + RangewayLbl: Label 'RANGEWAY', MaxLength = 30; + SunsetBeachLbl: Label 'SUNSET BEACH', MaxLength = 30; + TarcoolaBeachLbl: Label 'TARCOOLA BEACH', MaxLength = 30; + UtakarraLbl: Label 'UTAKARRA', MaxLength = 30; + WaggrakineLbl: Label 'WAGGRAKINE', MaxLength = 30; + WandinaLbl: Label 'WANDINA', MaxLength = 30; + WebbertonLbl: Label 'WEBBERTON', MaxLength = 30; + WonthellaLbl: Label 'WONTHELLA', MaxLength = 30; + WoorreeLbl: Label 'WOORREE', MaxLength = 30; + AjanaLbl: Label 'AJANA', MaxLength = 30; + BinnuLbl: Label 'BINNU', MaxLength = 30; + BootenalLbl: Label 'BOOTENAL', MaxLength = 30; + BringoLbl: Label 'BRINGO', MaxLength = 30; + BullerLbl: Label 'BULLER', MaxLength = 30; + BurmaRoadLbl: Label 'BURMA ROAD', MaxLength = 30; + CapeBurneyLbl: Label 'CAPE BURNEY', MaxLength = 30; + CoolcalalayaLbl: Label 'COOLCALALAYA', MaxLength = 30; + DeepdaleLbl: Label 'DEEPDALE', MaxLength = 30; + DindiloaLbl: Label 'DINDILOA', MaxLength = 30; + DrummondCoveLbl: Label 'DRUMMOND COVE', MaxLength = 30; + DurawahLbl: Label 'DURAWAH', MaxLength = 30; + EastChapmanLbl: Label 'EAST CHAPMAN', MaxLength = 30; + EastNabawaLbl: Label 'EAST NABAWA', MaxLength = 30; + EastYunaLbl: Label 'EAST YUNA', MaxLength = 30; + EllendaleLbl: Label 'ELLENDALE', MaxLength = 30; + EraduLbl: Label 'ERADU', MaxLength = 30; + EraduSouthLbl: Label 'ERADU SOUTH', MaxLength = 30; + EurardyLbl: Label 'EURARDY', MaxLength = 30; + GreenoughLbl: Label 'GREENOUGH', MaxLength = 30; + HamelinPoolLbl: Label 'HAMELIN POOL', MaxLength = 30; + HicketyLbl: Label 'HICKETY', MaxLength = 30; + HowatharraLbl: Label 'HOWATHARRA', MaxLength = 30; + KojarenaLbl: Label 'KOJARENA', MaxLength = 30; + MarrahLbl: Label 'MARRAH', MaxLength = 30; + MinnenookaLbl: Label 'MINNENOOKA', MaxLength = 30; + MoonyoonookaLbl: Label 'MOONYOONOOKA', MaxLength = 30; + MountErinLbl: Label 'MOUNT ERIN', MaxLength = 30; + NabawaLbl: Label 'NABAWA', MaxLength = 30; + NansonLbl: Label 'NANSON', MaxLength = 30; + NaralingLbl: Label 'NARALING', MaxLength = 30; + NarnguluLbl: Label 'NARNGULU', MaxLength = 30; + NarraTarraLbl: Label 'NARRA TARRA', MaxLength = 30; + NolbaLbl: Label 'NOLBA', MaxLength = 30; + NorthEraduLbl: Label 'NORTH ERADU', MaxLength = 30; + NorthernGullyLbl: Label 'NORTHERN GULLY', MaxLength = 30; + OakajeeLbl: Label 'OAKAJEE', MaxLength = 30; + RockwellLbl: Label 'ROCKWELL', MaxLength = 30; + RuddsGullyLbl: Label 'RUDDS GULLY', MaxLength = 30; + SandspringsLbl: Label 'SANDSPRINGS', MaxLength = 30; + SouthYunaLbl: Label 'SOUTH YUNA', MaxLength = 30; + TibraddenLbl: Label 'TIBRADDEN', MaxLength = 30; + WandanaLbl: Label 'WANDANA', MaxLength = 30; + WestBinnuLbl: Label 'WEST BINNU', MaxLength = 30; + WhitePeakLbl: Label 'WHITE PEAK', MaxLength = 30; + WicherinaLbl: Label 'WICHERINA', MaxLength = 30; + WicherinaSouthLbl: Label 'WICHERINA SOUTH', MaxLength = 30; + YetnaLbl: Label 'YETNA', MaxLength = 30; + YunaLbl: Label 'YUNA', MaxLength = 30; + BowesLbl: Label 'BOWES', MaxLength = 30; + EastBowesLbl: Label 'EAST BOWES', MaxLength = 30; + GregoryLbl: Label 'GREGORY', MaxLength = 30; + HorrocksLbl: Label 'HORROCKS', MaxLength = 30; + IssekaLbl: Label 'ISSEKA', MaxLength = 30; + NorthamptonLbl: Label 'NORTHAMPTON', MaxLength = 30; + OgilvieLbl: Label 'OGILVIE', MaxLength = 30; + SandyGullyLbl: Label 'SANDY GULLY', MaxLength = 30; + YallabatharraLbl: Label 'YALLABATHARRA', MaxLength = 30; + KalbarriLbl: Label 'KALBARRI', MaxLength = 30; + KalbarriNationalParkLbl: Label 'KALBARRI NATIONAL PARK', MaxLength = 30; + ZuytdorpLbl: Label 'ZUYTDORP', MaxLength = 30; + DenhamLbl: Label 'DENHAM', MaxLength = 30; + MonkeyMiaLbl: Label 'MONKEY MIA', MaxLength = 30; + NangaLbl: Label 'NANGA', MaxLength = 30; + UselessLoopLbl: Label 'USELESS LOOP', MaxLength = 30; + BeechinaLbl: Label 'BEECHINA', MaxLength = 30; + ChidlowLbl: Label 'CHIDLOW', MaxLength = 30; + GorrieLbl: Label 'GORRIE', MaxLength = 30; + MalmallingLbl: Label 'MALMALLING', MaxLength = 30; + TheLakesLbl: Label 'THE LAKES', MaxLength = 30; + WoorolooLbl: Label 'WOOROLOO', MaxLength = 30; + WundowieLbl: Label 'WUNDOWIE', MaxLength = 30; + BakersHillLbl: Label 'BAKERS HILL', MaxLength = 30; + WoottatingLbl: Label 'WOOTTATING', MaxLength = 30; + ClacklineLbl: Label 'CLACKLINE', MaxLength = 30; + BejoordingLbl: Label 'BEJOORDING', MaxLength = 30; + CaraniLbl: Label 'CARANI', MaxLength = 30; + CoondleLbl: Label 'COONDLE', MaxLength = 30; + CulhamLbl: Label 'CULHAM', MaxLength = 30; + DumbartonLbl: Label 'DUMBARTON', MaxLength = 30; + HoddysWellLbl: Label 'HODDYS WELL', MaxLength = 30; + KatrineLbl: Label 'KATRINE', MaxLength = 30; + NunileLbl: Label 'NUNILE', MaxLength = 30; + ToodyayLbl: Label 'TOODYAY', MaxLength = 30; + WestToodyayLbl: Label 'WEST TOODYAY', MaxLength = 30; + DewarsPoolLbl: Label 'DEWARS POOL', MaxLength = 30; + JulimarLbl: Label 'JULIMAR', MaxLength = 30; + MoondyneLbl: Label 'MOONDYNE', MaxLength = 30; + BolgartLbl: Label 'BOLGART', MaxLength = 30; + WatteningLbl: Label 'WATTENING', MaxLength = 30; + WyeningLbl: Label 'WYENING', MaxLength = 30; + CalingiriLbl: Label 'CALINGIRI', MaxLength = 30; + OldPlainsLbl: Label 'OLD PLAINS', MaxLength = 30; + YerecoinLbl: Label 'YERECOIN', MaxLength = 30; + PiawaningLbl: Label 'PIAWANING', MaxLength = 30; + BindiBindiLbl: Label 'BINDI BINDI', MaxLength = 30; + GabalongLbl: Label 'GABALONG', MaxLength = 30; + MilingLbl: Label 'MILING', MaxLength = 30; + KonnongorringLbl: Label 'KONNONGORRING', MaxLength = 30; + LakeHindsLbl: Label 'LAKE HINDS', MaxLength = 30; + LakeNinanLbl: Label 'LAKE NINAN', MaxLength = 30; + MocardyLbl: Label 'MOCARDY', MaxLength = 30; + WonganHillsLbl: Label 'WONGAN HILLS', MaxLength = 30; + KondutLbl: Label 'KONDUT', MaxLength = 30; + BalliduLbl: Label 'BALLIDU', MaxLength = 30; + EastBalliduLbl: Label 'EAST BALLIDU', MaxLength = 30; + WestBalliduLbl: Label 'WEST BALLIDU', MaxLength = 30; + EastDamboringLbl: Label 'EAST DAMBORING', MaxLength = 30; + MarneLbl: Label 'MARNE', MaxLength = 30; + PitharaLbl: Label 'PITHARA', MaxLength = 30; + DalwallinuLbl: Label 'DALWALLINU', MaxLength = 30; + NugadongLbl: Label 'NUGADONG', MaxLength = 30; + XantippeLbl: Label 'XANTIPPE', MaxLength = 30; + JibberdingLbl: Label 'JIBBERDING', MaxLength = 30; + MiamoonLbl: Label 'MIAMOON', MaxLength = 30; + PaynesFindLbl: Label 'PAYNES FIND', MaxLength = 30; + WubinLbl: Label 'WUBIN', MaxLength = 30; + BuntineLbl: Label 'BUNTINE', MaxLength = 30; + MayaLbl: Label 'MAYA', MaxLength = 30; + PerenjoriLbl: Label 'PERENJORI', MaxLength = 30; + RothsayLbl: Label 'ROTHSAY', MaxLength = 30; + BowgadaLbl: Label 'BOWGADA', MaxLength = 30; + BunjilLbl: Label 'BUNJIL', MaxLength = 30; + GuthaLbl: Label 'GUTHA', MaxLength = 30; + KoolanookaLbl: Label 'KOOLANOOKA', MaxLength = 30; + MorawaLbl: Label 'MORAWA', MaxLength = 30; + PintharukaLbl: Label 'PINTHARUKA', MaxLength = 30; + MerkanookaLbl: Label 'MERKANOOKA', MaxLength = 30; + CannaLbl: Label 'CANNA', MaxLength = 30; + TardunLbl: Label 'TARDUN', MaxLength = 30; + DevilsCreekLbl: Label 'DEVILS CREEK', MaxLength = 30; + MullewaLbl: Label 'MULLEWA', MaxLength = 30; + NerramyneLbl: Label 'NERRAMYNE', MaxLength = 30; + NunierraLbl: Label 'NUNIERRA', MaxLength = 30; + WestCasuarinasLbl: Label 'WEST CASUARINAS', MaxLength = 30; + WongoondyLbl: Label 'WONGOONDY', MaxLength = 30; + WoolgorongLbl: Label 'WOOLGORONG', MaxLength = 30; + PindarLbl: Label 'PINDAR', MaxLength = 30; + AmbaniaLbl: Label 'AMBANIA', MaxLength = 30; + TenindewaLbl: Label 'TENINDEWA', MaxLength = 30; + SouthMurchisonLbl: Label 'SOUTH MURCHISON', MaxLength = 30; + YalgooLbl: Label 'YALGOO', MaxLength = 30; + CooladarHillLbl: Label 'COOLADAR HILL', MaxLength = 30; + DaggarHillsLbl: Label 'DAGGAR HILLS', MaxLength = 30; + MountMagnetLbl: Label 'MOUNT MAGNET', MaxLength = 30; + SandstoneLbl: Label 'SANDSTONE', MaxLength = 30; + CueLbl: Label 'CUE', MaxLength = 30; + EastMurchisonLbl: Label 'EAST MURCHISON', MaxLength = 30; + LakeAustinLbl: Label 'LAKE AUSTIN', MaxLength = 30; + ReedyLbl: Label 'REEDY', MaxLength = 30; + WeldRangeLbl: Label 'WELD RANGE', MaxLength = 30; + AngeloRiverLbl: Label 'ANGELO RIVER', MaxLength = 30; + CapricornLbl: Label 'CAPRICORN', MaxLength = 30; + KumarinaLbl: Label 'KUMARINA', MaxLength = 30; + MeekatharraLbl: Label 'MEEKATHARRA', MaxLength = 30; + LakeCarnegieLbl: Label 'LAKE CARNEGIE', MaxLength = 30; + LittleSandyDesertLbl: Label 'LITTLE SANDY DESERT', MaxLength = 30; + WilunaLbl: Label 'WILUNA', MaxLength = 30; + BabbageIslandLbl: Label 'BABBAGE ISLAND', MaxLength = 30; + BernierIslandLbl: Label 'BERNIER ISLAND', MaxLength = 30; + BrockmanLbl: Label 'BROCKMAN', MaxLength = 30; + BrownRangeLbl: Label 'BROWN RANGE', MaxLength = 30; + CarnarvonLbl: Label 'CARNARVON', MaxLength = 30; + CoralBayLbl: Label 'CORAL BAY', MaxLength = 30; + DorreIslandLbl: Label 'DORRE ISLAND', MaxLength = 30; + EastCarnarvonLbl: Label 'EAST CARNARVON', MaxLength = 30; + GreysPlainLbl: Label 'GREYS PLAIN', MaxLength = 30; + InggardaLbl: Label 'INGGARDA', MaxLength = 30; + KennedyRangeLbl: Label 'KENNEDY RANGE', MaxLength = 30; + LyndonLbl: Label 'LYNDON', MaxLength = 30; + MasseyBayLbl: Label 'MASSEY BAY', MaxLength = 30; + MinilyaLbl: Label 'MINILYA', MaxLength = 30; + MorgantownLbl: Label 'MORGANTOWN', MaxLength = 30; + NingalooLbl: Label 'NINGALOO', MaxLength = 30; + NorthPlantationsLbl: Label 'NORTH PLANTATIONS', MaxLength = 30; + SouthCarnarvonLbl: Label 'SOUTH CARNARVON', MaxLength = 30; + SouthPlantationsLbl: Label 'SOUTH PLANTATIONS', MaxLength = 30; + WooramelLbl: Label 'WOORAMEL', MaxLength = 30; + YandooCreekLbl: Label 'YANDOO CREEK', MaxLength = 30; + EastLyonsRiverLbl: Label 'EAST LYONS RIVER', MaxLength = 30; + GascoyneJunctionLbl: Label 'GASCOYNE JUNCTION', MaxLength = 30; + GascoyneRiverLbl: Label 'GASCOYNE RIVER', MaxLength = 30; + WestLyonsRiverLbl: Label 'WEST LYONS RIVER', MaxLength = 30; + CapeRangeNationalParkLbl: Label 'CAPE RANGE NATIONAL PARK', MaxLength = 30; + ExmouthLbl: Label 'EXMOUTH', MaxLength = 30; + ExmouthGulfLbl: Label 'EXMOUTH GULF', MaxLength = 30; + NorthWestCapeLbl: Label 'NORTH WEST CAPE', MaxLength = 30; + CaneLbl: Label 'CANE', MaxLength = 30; + OnslowLbl: Label 'ONSLOW', MaxLength = 30; + PeedamullaLbl: Label 'PEEDAMULLA', MaxLength = 30; + TalandjiLbl: Label 'TALANDJI', MaxLength = 30; + YannarieLbl: Label 'YANNARIE', MaxLength = 30; + ThevenardIslandLbl: Label 'THEVENARD ISLAND', MaxLength = 30; + BarrowIslandLbl: Label 'BARROW ISLAND', MaxLength = 30; + DampierLbl: Label 'DAMPIER', MaxLength = 30; + DampierArchipelagoLbl: Label 'DAMPIER ARCHIPELAGO', MaxLength = 30; + AntonymyreLbl: Label 'ANTONYMYRE', MaxLength = 30; + BallaBallaLbl: Label 'BALLA BALLA', MaxLength = 30; + BayntonLbl: Label 'BAYNTON', MaxLength = 30; + BulgarraLbl: Label 'BULGARRA', MaxLength = 30; + BurrupLbl: Label 'BURRUP', MaxLength = 30; + CleavervilleLbl: Label 'CLEAVERVILLE', MaxLength = 30; + CooyaPooyaLbl: Label 'COOYA POOYA', MaxLength = 30; + GapRidgeLbl: Label 'GAP RIDGE', MaxLength = 30; + GnooreaLbl: Label 'GNOOREA', MaxLength = 30; + KarrathaLbl: Label 'KARRATHA', MaxLength = 30; + KarrathaIndustrialEstateLbl: Label 'KARRATHA INDUSTRIAL ESTATE', MaxLength = 30; + MardieLbl: Label 'MARDIE', MaxLength = 30; + MillarsWellLbl: Label 'MILLARS WELL', MaxLength = 30; + MountAnketellLbl: Label 'MOUNT ANKETELL', MaxLength = 30; + MulatagaLbl: Label 'MULATAGA', MaxLength = 30; + NickolLbl: Label 'NICKOL', MaxLength = 30; + PegsCreekLbl: Label 'PEGS CREEK', MaxLength = 30; + StoveHillLbl: Label 'STOVE HILL', MaxLength = 30; + FortescueLbl: Label 'FORTESCUE', MaxLength = 30; + HamersleyRangeLbl: Label 'HAMERSLEY RANGE', MaxLength = 30; + PannawonicaLbl: Label 'PANNAWONICA', MaxLength = 30; + RoebourneLbl: Label 'ROEBOURNE', MaxLength = 30; + WhimCreekLbl: Label 'WHIM CREEK', MaxLength = 30; + CossackLbl: Label 'COSSACK', MaxLength = 30; + PointSamsonLbl: Label 'POINT SAMSON', MaxLength = 30; + IndeeLbl: Label 'INDEE', MaxLength = 30; + MundabullanganaLbl: Label 'MUNDABULLANGANA', MaxLength = 30; + PardooLbl: Label 'PARDOO', MaxLength = 30; + PortHedlandLbl: Label 'PORT HEDLAND', MaxLength = 30; + StrelleyLbl: Label 'STRELLEY', MaxLength = 30; + WallareenyaLbl: Label 'WALLAREENYA', MaxLength = 30; + WedgefieldLbl: Label 'WEDGEFIELD', MaxLength = 30; + BoodarieLbl: Label 'BOODARIE', MaxLength = 30; + DeGreyLbl: Label 'DE GREY', MaxLength = 30; + FinucaneLbl: Label 'FINUCANE', MaxLength = 30; + PippingarraLbl: Label 'PIPPINGARRA', MaxLength = 30; + SouthHedlandLbl: Label 'SOUTH HEDLAND', MaxLength = 30; + BilingurrLbl: Label 'BILINGURR', MaxLength = 30; + BroomeLbl: Label 'BROOME', MaxLength = 30; + DampierPeninsulaLbl: Label 'DAMPIER PENINSULA', MaxLength = 30; + DjugunLbl: Label 'DJUGUN', MaxLength = 30; + EightyMileBeachLbl: Label 'EIGHTY MILE BEACH', MaxLength = 30; + GingerahLbl: Label 'GINGERAH', MaxLength = 30; + LagrangeLbl: Label 'LAGRANGE', MaxLength = 30; + MinyirrLbl: Label 'MINYIRR', MaxLength = 30; + RoebuckLbl: Label 'ROEBUCK', MaxLength = 30; + WaterbankLbl: Label 'WATERBANK', MaxLength = 30; + CableBeachLbl: Label 'CABLE BEACH', MaxLength = 30; + KoolanIslandLbl: Label 'KOOLAN ISLAND', MaxLength = 30; + DrysdaleRiverLbl: Label 'DRYSDALE RIVER', MaxLength = 30; + KalumburuLbl: Label 'KALUMBURU', MaxLength = 30; + MitchellPlateauLbl: Label 'MITCHELL PLATEAU', MaxLength = 30; + OombulgurriLbl: Label 'OOMBULGURRI', MaxLength = 30; + PrinceRegentRiverLbl: Label 'PRINCE REGENT RIVER', MaxLength = 30; + CambridgeGulfLbl: Label 'CAMBRIDGE GULF', MaxLength = 30; + GibbLbl: Label 'GIBB', MaxLength = 30; + KununurraLbl: Label 'KUNUNURRA', MaxLength = 30; + LakeArgyleLbl: Label 'LAKE ARGYLE', MaxLength = 30; + WarmunLbl: Label 'WARMUN', MaxLength = 30; + ChichesterLbl: Label 'CHICHESTER', MaxLength = 30; + InnawangaLbl: Label 'INNAWANGA', MaxLength = 30; + JunaDownsLbl: Label 'JUNA DOWNS', MaxLength = 30; + KarijiniLbl: Label 'KARIJINI', MaxLength = 30; + MountSheilaLbl: Label 'MOUNT SHEILA', MaxLength = 30; + MulgaDownsLbl: Label 'MULGA DOWNS', MaxLength = 30; + NanutarraLbl: Label 'NANUTARRA', MaxLength = 30; + TomPriceLbl: Label 'TOM PRICE', MaxLength = 30; + WittenoomLbl: Label 'WITTENOOM', MaxLength = 30; + NewmanLbl: Label 'NEWMAN', MaxLength = 30; + ParaburdooLbl: Label 'PARABURDOO', MaxLength = 30; + NullagineLbl: Label 'NULLAGINE', MaxLength = 30; + MarbleBarLbl: Label 'MARBLE BAR', MaxLength = 30; + TelferLbl: Label 'TELFER', MaxLength = 30; + FitzroyCrossingLbl: Label 'FITZROY CROSSING', MaxLength = 30; + HallsCreekLbl: Label 'HALLS CREEK', MaxLength = 30; + McbeathLbl: Label 'MCBEATH', MaxLength = 30; + MuellerRangesLbl: Label 'MUELLER RANGES', MaxLength = 30; + OrdRiverLbl: Label 'ORD RIVER', MaxLength = 30; + PurnululuLbl: Label 'PURNULULU', MaxLength = 30; + SturtCreekLbl: Label 'STURT CREEK', MaxLength = 30; + TanamiLbl: Label 'TANAMI', MaxLength = 30; + ChristmasIslandLbl: Label 'CHRISTMAS ISLAND', MaxLength = 30; + PerthStGeorgesTceLbl: Label 'PERTH ST GEORGES TCE', MaxLength = 30; + PerthAdelaideTceLbl: Label 'PERTH ADELAIDE TCE', MaxLength = 30; + PerthEastStGeorgesTceLbl: Label 'PERTH EAST ST GEORGES TCE', MaxLength = 30; + PerthBcLbl: Label 'PERTH BC', MaxLength = 30; + CloistersSquareLbl: Label 'CLOISTERS SQUARE', MaxLength = 30; + OsborneParkDcLbl: Label 'OSBORNE PARK DC', MaxLength = 30; + JoondalupDcLbl: Label 'JOONDALUP DC', MaxLength = 30; + WallistonDcLbl: Label 'WALLISTON DC', MaxLength = 30; + MidlandDcLbl: Label 'MIDLAND DC', MaxLength = 30; + BassendeanDcLbl: Label 'BASSENDEAN DC', MaxLength = 30; + MalagaDcLbl: Label 'MALAGA DC', MaxLength = 30; + WangaraDcLbl: Label 'WANGARA DC', MaxLength = 30; + RoyalAustralianNavyWarshipsLbl: Label 'ROYAL AUSTRALIAN NAVY WARSHIPS', MaxLength = 30; + MyareeBcLbl: Label 'MYAREE BC', MaxLength = 30; + PalmyraDcLbl: Label 'PALMYRA DC', MaxLength = 30; + BibraLakeDcLbl: Label 'BIBRA LAKE DC', MaxLength = 30; + KwinanaLbl: Label 'KWINANA', MaxLength = 30; + RockinghamDcLbl: Label 'ROCKINGHAM DC', MaxLength = 30; + RockinghamBeachLbl: Label 'ROCKINGHAM BEACH', MaxLength = 30; + CanningValeDcLbl: Label 'CANNING VALE DC', MaxLength = 30; + BentleyDcLbl: Label 'BENTLEY DC', MaxLength = 30; + WelshpoolDcLbl: Label 'WELSHPOOL DC', MaxLength = 30; + KelmscottDcLbl: Label 'KELMSCOTT DC', MaxLength = 30; + HobartLbl: Label 'HOBART', MaxLength = 30; + MountStuartLbl: Label 'MOUNT STUART', MaxLength = 30; + NorthHobartLbl: Label 'NORTH HOBART', MaxLength = 30; + WestHobartLbl: Label 'WEST HOBART', MaxLength = 30; + BatteryPointLbl: Label 'BATTERY POINT', MaxLength = 30; + SouthHobartLbl: Label 'SOUTH HOBART', MaxLength = 30; + DynnyrneLbl: Label 'DYNNYRNE', MaxLength = 30; + SandyBayLbl: Label 'SANDY BAY', MaxLength = 30; + UniversityOfTasmaniaLbl: Label 'UNIVERSITY OF TASMANIA', MaxLength = 30; + MountNelsonLbl: Label 'MOUNT NELSON', MaxLength = 30; + TolmansHillLbl: Label 'TOLMANS HILL', MaxLength = 30; + LenahValleyLbl: Label 'LENAH VALLEY', MaxLength = 30; + DerwentParkLbl: Label 'DERWENT PARK', MaxLength = 30; + LutanaLbl: Label 'LUTANA', MaxLength = 30; + MoonahLbl: Label 'MOONAH', MaxLength = 30; + DowsingPointLbl: Label 'DOWSING POINT', MaxLength = 30; + RosettaLbl: Label 'ROSETTA', MaxLength = 30; + AustinsFerryLbl: Label 'AUSTINS FERRY', MaxLength = 30; + BerriedaleLbl: Label 'BERRIEDALE', MaxLength = 30; + ChigwellLbl: Label 'CHIGWELL', MaxLength = 30; + CollinsvaleLbl: Label 'COLLINSVALE', MaxLength = 30; + GlenluskLbl: Label 'GLENLUSK', MaxLength = 30; + GeilstonBayLbl: Label 'GEILSTON BAY', MaxLength = 30; + LindisfarneLbl: Label 'LINDISFARNE', MaxLength = 30; + RisdonValeLbl: Label 'RISDON VALE', MaxLength = 30; + GrasstreeHillLbl: Label 'GRASSTREE HILL', MaxLength = 30; + HoneywoodLbl: Label 'HONEYWOOD', MaxLength = 30; + OldBeachLbl: Label 'OLD BEACH', MaxLength = 30; + OtagoLbl: Label 'OTAGO', MaxLength = 30; + TeaTreeLbl: Label 'TEA TREE', MaxLength = 30; + BelleriveLbl: Label 'BELLERIVE', MaxLength = 30; + HowrahLbl: Label 'HOWRAH', MaxLength = 30; + MontaguBayLbl: Label 'MONTAGU BAY', MaxLength = 30; + RosnyLbl: Label 'ROSNY', MaxLength = 30; + RosnyParkLbl: Label 'ROSNY PARK', MaxLength = 30; + WarraneLbl: Label 'WARRANE', MaxLength = 30; + ClarendonValeLbl: Label 'CLARENDON VALE', MaxLength = 30; + LauderdaleLbl: Label 'LAUDERDALE', MaxLength = 30; + OpossumBayLbl: Label 'OPOSSUM BAY', MaxLength = 30; + DulcotLbl: Label 'DULCOT', MaxLength = 30; + CampaniaLbl: Label 'CAMPANIA', MaxLength = 30; + ColebrookLbl: Label 'COLEBROOK', MaxLength = 30; + BagdadLbl: Label 'BAGDAD', MaxLength = 30; + BothwellLbl: Label 'BOTHWELL', MaxLength = 30; + BroadmarshLbl: Label 'BROADMARSH', MaxLength = 30; + GagebrookLbl: Label 'GAGEBROOK', MaxLength = 30; + GrantonLbl: Label 'GRANTON', MaxLength = 30; + InterlakenLbl: Label 'INTERLAKEN', MaxLength = 30; + KemptonLbl: Label 'KEMPTON', MaxLength = 30; + LowerMarshesLbl: Label 'LOWER MARSHES', MaxLength = 30; + MeltonMowbrayLbl: Label 'MELTON MOWBRAY', MaxLength = 30; + MienaLbl: Label 'MIENA', MaxLength = 30; + PontvilleLbl: Label 'PONTVILLE', MaxLength = 30; + ShannonLbl: Label 'SHANNON', MaxLength = 30; + SteppesLbl: Label 'STEPPES', MaxLength = 30; + WaddamanaLbl: Label 'WADDAMANA', MaxLength = 30; + KingstonBeachLbl: Label 'KINGSTON BEACH', MaxLength = 30; + BlackmansBayLbl: Label 'BLACKMANS BAY', MaxLength = 30; + BonnetHillLbl: Label 'BONNET HILL', MaxLength = 30; + TaroonaLbl: Label 'TAROONA', MaxLength = 30; + BarrettaLbl: Label 'BARRETTA', MaxLength = 30; + ConinghamLbl: Label 'CONINGHAM', MaxLength = 30; + ElectronaLbl: Label 'ELECTRONA', MaxLength = 30; + FernTreeLbl: Label 'FERN TREE', MaxLength = 30; + HowdenLbl: Label 'HOWDEN', MaxLength = 30; + LeslieValeLbl: Label 'LESLIE VALE', MaxLength = 30; + NeikaLbl: Label 'NEIKA', MaxLength = 30; + RidgewayLbl: Label 'RIDGEWAY', MaxLength = 30; + SnugLbl: Label 'SNUG', MaxLength = 30; + TinderboxLbl: Label 'TINDERBOX', MaxLength = 30; + HuntingfieldLbl: Label 'HUNTINGFIELD', MaxLength = 30; + CrabtreeLbl: Label 'CRABTREE', MaxLength = 30; + CradocLbl: Label 'CRADOC', MaxLength = 30; + GlaziersBayLbl: Label 'GLAZIERS BAY', MaxLength = 30; + GlenHuonLbl: Label 'GLEN HUON', MaxLength = 30; + GlendevieLbl: Label 'GLENDEVIE', MaxLength = 30; + GroveLbl: Label 'GROVE', MaxLength = 30; + HuonvilleLbl: Label 'HUONVILLE', MaxLength = 30; + JudburyLbl: Label 'JUDBURY', MaxLength = 30; + LonnavaleLbl: Label 'LONNAVALE', MaxLength = 30; + LowerLongleyLbl: Label 'LOWER LONGLEY', MaxLength = 30; + LucastonLbl: Label 'LUCASTON', MaxLength = 30; + LuneRiverLbl: Label 'LUNE RIVER', MaxLength = 30; + LymingtonLbl: Label 'LYMINGTON', MaxLength = 30; + MountainRiverLbl: Label 'MOUNTAIN RIVER', MaxLength = 30; + PetcheysBayLbl: Label 'PETCHEYS BAY', MaxLength = 30; + RamineaLbl: Label 'RAMINEA', MaxLength = 30; + RanelaghLbl: Label 'RANELAGH', MaxLength = 30; + StrathblaneLbl: Label 'STRATHBLANE', MaxLength = 30; + AbelsBayLbl: Label 'ABELS BAY', MaxLength = 30; + CygnetLbl: Label 'CYGNET', MaxLength = 30; + DeepBayLbl: Label 'DEEP BAY', MaxLength = 30; + EggsAndBaconBayLbl: Label 'EGGS AND BACON BAY', MaxLength = 30; + GardenIslandCreekLbl: Label 'GARDEN ISLAND CREEK', MaxLength = 30; + GardnersBayLbl: Label 'GARDNERS BAY', MaxLength = 30; + NichollsRivuletLbl: Label 'NICHOLLS RIVULET', MaxLength = 30; + RandallsBayLbl: Label 'RANDALLS BAY', MaxLength = 30; + VeronaSandsLbl: Label 'VERONA SANDS', MaxLength = 30; + FranklinLbl: Label 'FRANKLIN', MaxLength = 30; + CairnsBayLbl: Label 'CAIRNS BAY', MaxLength = 30; + CastleForbesBayLbl: Label 'CASTLE FORBES BAY', MaxLength = 30; + GeevestonLbl: Label 'GEEVESTON', MaxLength = 30; + PolicePointLbl: Label 'POLICE POINT', MaxLength = 30; + PortHuonLbl: Label 'PORT HUON', MaxLength = 30; + SurgesBayLbl: Label 'SURGES BAY', MaxLength = 30; + DoverLbl: Label 'DOVER', MaxLength = 30; + StonorLbl: Label 'STONOR', MaxLength = 30; + AndoverLbl: Label 'ANDOVER', MaxLength = 30; + AntillPondsLbl: Label 'ANTILL PONDS', MaxLength = 30; + BadenLbl: Label 'BADEN', MaxLength = 30; + LemontLbl: Label 'LEMONT', MaxLength = 30; + LevendaleLbl: Label 'LEVENDALE', MaxLength = 30; + MountSeymourLbl: Label 'MOUNT SEYMOUR', MaxLength = 30; + ParattahLbl: Label 'PARATTAH', MaxLength = 30; + PawtellaLbl: Label 'PAWTELLA', MaxLength = 30; + RhyndastonLbl: Label 'RHYNDASTON', MaxLength = 30; + TiberiasLbl: Label 'TIBERIAS', MaxLength = 30; + TunbridgeLbl: Label 'TUNBRIDGE', MaxLength = 30; + TunnackLbl: Label 'TUNNACK', MaxLength = 30; + WhitefoordLbl: Label 'WHITEFOORD', MaxLength = 30; + WoodburyLbl: Label 'WOODBURY', MaxLength = 30; + WoodsdaleLbl: Label 'WOODSDALE', MaxLength = 30; + YorkPlainsLbl: Label 'YORK PLAINS', MaxLength = 30; + StrathgordonLbl: Label 'STRATHGORDON', MaxLength = 30; + BlackHillsLbl: Label 'BLACK HILLS', MaxLength = 30; + BoyerLbl: Label 'BOYER', MaxLength = 30; + BradysLakeLbl: Label 'BRADYS LAKE', MaxLength = 30; + BronteParkLbl: Label 'BRONTE PARK', MaxLength = 30; + BushyParkLbl: Label 'BUSHY PARK', MaxLength = 30; + ButlersGorgeLbl: Label 'BUTLERS GORGE', MaxLength = 30; + DeeLbl: Label 'DEE', MaxLength = 30; + DerwentBridgeLbl: Label 'DERWENT BRIDGE', MaxLength = 30; + FentonburyLbl: Label 'FENTONBURY', MaxLength = 30; + GlenfernLbl: Label 'GLENFERN', MaxLength = 30; + GlenoraLbl: Label 'GLENORA', MaxLength = 30; + GretnaLbl: Label 'GRETNA', MaxLength = 30; + HayesLbl: Label 'HAYES', MaxLength = 30; + HollowTreeLbl: Label 'HOLLOW TREE', MaxLength = 30; + KaranjaLbl: Label 'KARANJA', MaxLength = 30; + LachlanLbl: Label 'LACHLAN', MaxLength = 30; + LakeStClairLbl: Label 'LAKE ST CLAIR', MaxLength = 30; + MacquariePlainsLbl: Label 'MACQUARIE PLAINS', MaxLength = 30; + MagraLbl: Label 'MAGRA', MaxLength = 30; + MalbinaLbl: Label 'MALBINA', MaxLength = 30; + MaydenaLbl: Label 'MAYDENA', MaxLength = 30; + MoogaraLbl: Label 'MOOGARA', MaxLength = 30; + MountFieldLbl: Label 'MOUNT FIELD', MaxLength = 30; + MountLloydLbl: Label 'MOUNT LLOYD', MaxLength = 30; + NationalParkLbl: Label 'NATIONAL PARK', MaxLength = 30; + NewNorfolkLbl: Label 'NEW NORFOLK', MaxLength = 30; + OuseLbl: Label 'OUSE', MaxLength = 30; + RosegarlandLbl: Label 'ROSEGARLAND', MaxLength = 30; + SorellCreekLbl: Label 'SORELL CREEK', MaxLength = 30; + StricklandLbl: Label 'STRICKLAND', MaxLength = 30; + TarraleahLbl: Label 'TARRALEAH', MaxLength = 30; + TyennaLbl: Label 'TYENNA', MaxLength = 30; + UxbridgeLbl: Label 'UXBRIDGE', MaxLength = 30; + WayatinahLbl: Label 'WAYATINAH', MaxLength = 30; + WesterwayLbl: Label 'WESTERWAY', MaxLength = 30; + AdventureBayLbl: Label 'ADVENTURE BAY', MaxLength = 30; + AllensRivuletLbl: Label 'ALLENS RIVULET', MaxLength = 30; + AlonnahLbl: Label 'ALONNAH', MaxLength = 30; + BarnesBayLbl: Label 'BARNES BAY', MaxLength = 30; + DennesPointLbl: Label 'DENNES POINT', MaxLength = 30; + GreatBayLbl: Label 'GREAT BAY', MaxLength = 30; + KaootaLbl: Label 'KAOOTA', MaxLength = 30; + KilloraLbl: Label 'KILLORA', MaxLength = 30; + LongleyLbl: Label 'LONGLEY', MaxLength = 30; + LunawannaLbl: Label 'LUNAWANNA', MaxLength = 30; + PelverataLbl: Label 'PELVERATA', MaxLength = 30; + SandflyLbl: Label 'SANDFLY', MaxLength = 30; + SimpsonsBayLbl: Label 'SIMPSONS BAY', MaxLength = 30; + UpperWoodstockLbl: Label 'UPPER WOODSTOCK', MaxLength = 30; + CaseyLbl: Label 'CASEY', MaxLength = 30; + DavisLbl: Label 'DAVIS', MaxLength = 30; + MacquarieIslandLbl: Label 'MACQUARIE ISLAND', MaxLength = 30; + KetteringLbl: Label 'KETTERING', MaxLength = 30; + BirchsBayLbl: Label 'BIRCHS BAY', MaxLength = 30; + FlowerpotLbl: Label 'FLOWERPOT', MaxLength = 30; + CambridgeLbl: Label 'CAMBRIDGE', MaxLength = 30; + MountRumneyLbl: Label 'MOUNT RUMNEY', MaxLength = 30; + RochesBeachLbl: Label 'ROCHES BEACH', MaxLength = 30; + SevenMileBeachLbl: Label 'SEVEN MILE BEACH', MaxLength = 30; + MidwayPointLbl: Label 'MIDWAY POINT', MaxLength = 30; + PennaLbl: Label 'PENNA', MaxLength = 30; + NugentLbl: Label 'NUGENT', MaxLength = 30; + OrieltonLbl: Label 'ORIELTON', MaxLength = 30; + PawleenaLbl: Label 'PAWLEENA', MaxLength = 30; + SorellLbl: Label 'SORELL', MaxLength = 30; + WattleHillLbl: Label 'WATTLE HILL', MaxLength = 30; + ConnellysMarshLbl: Label 'CONNELLYS MARSH', MaxLength = 30; + DodgesFerryLbl: Label 'DODGES FERRY', MaxLength = 30; + ForcettLbl: Label 'FORCETT', MaxLength = 30; + PrimroseSandsLbl: Label 'PRIMROSE SANDS', MaxLength = 30; + CoppingLbl: Label 'COPPING', MaxLength = 30; + BreamCreekLbl: Label 'BREAM CREEK', MaxLength = 30; + KellevieLbl: Label 'KELLEVIE', MaxLength = 30; + DunalleyLbl: Label 'DUNALLEY', MaxLength = 30; + MurdunnaLbl: Label 'Murdunna', MaxLength = 30; + EaglehawkNeckLbl: Label 'EAGLEHAWK NECK', MaxLength = 30; + TarannaLbl: Label 'TARANNA', MaxLength = 30; + PortArthurLbl: Label 'PORT ARTHUR', MaxLength = 30; + HighcroftLbl: Label 'HIGHCROFT', MaxLength = 30; + NubeenaLbl: Label 'NUBEENA', MaxLength = 30; + StormleaLbl: Label 'STORMLEA', MaxLength = 30; + PremaydenaLbl: Label 'PREMAYDENA', MaxLength = 30; + SaltwaterRiverLbl: Label 'SALTWATER RIVER', MaxLength = 30; + KoonyaLbl: Label 'KOONYA', MaxLength = 30; + ApslawnLbl: Label 'APSLAWN', MaxLength = 30; + LittleSwanportLbl: Label 'LITTLE SWANPORT', MaxLength = 30; + OrfordLbl: Label 'ORFORD', MaxLength = 30; + SpringBeachLbl: Label 'SPRING BEACH', MaxLength = 30; + TriabunnaLbl: Label 'TRIABUNNA', MaxLength = 30; + RossLbl: Label 'ROSS', MaxLength = 30; + CampbellTownLbl: Label 'CAMPBELLTOWN', MaxLength = 30; + LakeLeakeLbl: Label 'LAKE LEAKE', MaxLength = 30; + ConaraLbl: Label 'CONARA', MaxLength = 30; + EppingForestLbl: Label 'EPPING FOREST', MaxLength = 30; + BlessingtonLbl: Label 'BLESSINGTON', MaxLength = 30; + BurnsCreekLbl: Label 'BURNS CREEK', MaxLength = 30; + DeddingtonLbl: Label 'DEDDINGTON', MaxLength = 30; + NileLbl: Label 'NILE', MaxLength = 30; + WesternJunctionLbl: Label 'WESTERN JUNCTION', MaxLength = 30; + RossardenLbl: Label 'ROSSARDEN', MaxLength = 30; + RoyalGeorgeLbl: Label 'ROYAL GEORGE', MaxLength = 30; + ManganaLbl: Label 'MANGANA', MaxLength = 30; + MathinnaLbl: Label 'MATHINNA', MaxLength = 30; + UpperEskLbl: Label 'UPPER ESK', MaxLength = 30; + BichenoLbl: Label 'BICHENO', MaxLength = 30; + ChainOfLagoonsLbl: Label 'CHAIN OF LAGOONS', MaxLength = 30; + ColesBayLbl: Label 'COLES BAY', MaxLength = 30; + DouglasRiverLbl: Label 'DOUGLAS RIVER', MaxLength = 30; + FalmouthLbl: Label 'FALMOUTH', MaxLength = 30; + FourMileCreekLbl: Label 'FOUR MILE CREEK', MaxLength = 30; + GrayLbl: Label 'GRAY', MaxLength = 30; + ScamanderLbl: Label 'SCAMANDER', MaxLength = 30; + AkaroaLbl: Label 'AKAROA', MaxLength = 30; + AnsonsBayLbl: Label 'ANSONS BAY', MaxLength = 30; + BinalongBayLbl: Label 'BINALONG BAY', MaxLength = 30; + GoshenLbl: Label 'GOSHEN', MaxLength = 30; + GouldsCountryLbl: Label 'GOULDS COUNTRY', MaxLength = 30; + LottahLbl: Label 'LOTTAH', MaxLength = 30; + PyenganaLbl: Label 'PYENGANA', MaxLength = 30; + StieglitzLbl: Label 'STIEGLITZ', MaxLength = 30; + MowbrayLbl: Label 'MOWBRAY', MaxLength = 30; + NewnhamLbl: Label 'NEWNHAM', MaxLength = 30; + RocherleaLbl: Label 'ROCHERLEA', MaxLength = 30; + KingsMeadowsLbl: Label 'KINGS MEADOWS', MaxLength = 30; + SouthLauncestonLbl: Label 'SOUTH LAUNCESTON', MaxLength = 30; + YoungtownLbl: Label 'YOUNGTOWN', MaxLength = 30; + EastLauncestonLbl: Label 'EAST LAUNCESTON', MaxLength = 30; + LauncestonLbl: Label 'LAUNCESTON', MaxLength = 30; + ProspectValeLbl: Label 'PROSPECT VALE', MaxLength = 30; + TravellersRestLbl: Label 'TRAVELLERS REST', MaxLength = 30; + WestLauncestonLbl: Label 'WEST LAUNCESTON', MaxLength = 30; + BeechfordLbl: Label 'BEECHFORD', MaxLength = 30; + DilstonLbl: Label 'DILSTON', MaxLength = 30; + HillwoodLbl: Label 'HILLWOOD', MaxLength = 30; + LefroyLbl: Label 'LEFROY', MaxLength = 30; + LulworthLbl: Label 'LULWORTH', MaxLength = 30; + MountDirectionLbl: Label 'MOUNT DIRECTION', MaxLength = 30; + PipersRiverLbl: Label 'PIPERS RIVER', MaxLength = 30; + WeymouthLbl: Label 'WEYMOUTH', MaxLength = 30; + BellBayLbl: Label 'BELL BAY', MaxLength = 30; + George_TownLbl: Label 'GEORGETOWN', MaxLength = 30; + LowHeadLbl: Label 'LOW HEAD', MaxLength = 30; + BellinghamLbl: Label 'BELLINGHAM', MaxLength = 30; + GolcondaLbl: Label 'GOLCONDA', MaxLength = 30; + LebrinaLbl: Label 'LEBRINA', MaxLength = 30; + PipersBrookLbl: Label 'PIPERS BROOK', MaxLength = 30; + RetreatLbl: Label 'RETREAT', MaxLength = 30; + TunnelLbl: Label 'TUNNEL', MaxLength = 30; + WyenaLbl: Label 'WYENA', MaxLength = 30; + BlueRocksLbl: Label 'BLUE ROCKS', MaxLength = 30; + EmitaLbl: Label 'EMITA', MaxLength = 30; + KilliecrankieLbl: Label 'KILLIECRANKIE', MaxLength = 30; + LackranaLbl: Label 'LACKRANA', MaxLength = 30; + LadyBarronLbl: Label 'LADY BARRON', MaxLength = 30; + LoccotaLbl: Label 'LOCCOTA', MaxLength = 30; + LughrataLbl: Label 'LUGHRATA', MaxLength = 30; + MemanaLbl: Label 'MEMANA', MaxLength = 30; + PalanaLbl: Label 'PALANA', MaxLength = 30; + RangaLbl: Label 'RANGA', MaxLength = 30; + WhitemarkLbl: Label 'WHITEMARK', MaxLength = 30; + CurrieLbl: Label 'CURRIE', MaxLength = 30; + EggLagoonLbl: Label 'EGG LAGOON', MaxLength = 30; + GrassyLbl: Label 'GRASSY', MaxLength = 30; + CapeBarrenIslandLbl: Label 'CAPE BARREN ISLAND', MaxLength = 30; + RelbiaLbl: Label 'RELBIA', MaxLength = 30; + NunamaraLbl: Label 'NUNAMARA', MaxLength = 30; + PatersoniaLbl: Label 'PATERSONIA', MaxLength = 30; + TargaLbl: Label 'TARGA', MaxLength = 30; + TayeneLbl: Label 'TAYENE', MaxLength = 30; + BlumontLbl: Label 'BLUMONT', MaxLength = 30; + JetsonvilleLbl: Label 'JETSONVILLE', MaxLength = 30; + LietinnaLbl: Label 'LIETINNA', MaxLength = 30; + LisleLbl: Label 'LISLE', MaxLength = 30; + NabowlaLbl: Label 'NABOWLA', MaxLength = 30; + ScottsdaleLbl: Label 'SCOTTSDALE', MaxLength = 30; + TonganahLbl: Label 'TONGANAH', MaxLength = 30; + TulendeenaLbl: Label 'TULENDEENA', MaxLength = 30; + BranxholmLbl: Label 'BRANXHOLM', MaxLength = 30; + BridportLbl: Label 'BRIDPORT', MaxLength = 30; + TomahawkLbl: Label 'TOMAHAWK', MaxLength = 30; + WaterhouseLbl: Label 'WATERHOUSE', MaxLength = 30; + LegerwoodLbl: Label 'LEGERWOOD', MaxLength = 30; + RingaroomaLbl: Label 'RINGAROOMA', MaxLength = 30; + CapePortlandLbl: Label 'CAPE PORTLAND', MaxLength = 30; + HerrickLbl: Label 'HERRICK', MaxLength = 30; + MoorinaLbl: Label 'MOORINA', MaxLength = 30; + MusselroeBayLbl: Label 'MUSSELROE BAY', MaxLength = 30; + SouthMountCameronLbl: Label 'SOUTH MOUNT CAMERON', MaxLength = 30; + WeldboroughLbl: Label 'WELDBOROUGH', MaxLength = 30; + WinnaleahLbl: Label 'WINNALEAH', MaxLength = 30; + KaroolaLbl: Label 'KAROOLA', MaxLength = 30; + LallaLbl: Label 'LALLA', MaxLength = 30; + TurnersMarshLbl: Label 'TURNERS MARSH', MaxLength = 30; + NorthLilydaleLbl: Label 'NORTH LILYDALE', MaxLength = 30; + ClarencePointLbl: Label 'CLARENCE POINT', MaxLength = 30; + FloweryGullyLbl: Label 'FLOWERY GULLY', MaxLength = 30; + GreensBeachLbl: Label 'GREENS BEACH', MaxLength = 30; + KayenaLbl: Label 'KAYENA', MaxLength = 30; + RowellaLbl: Label 'ROWELLA', MaxLength = 30; + SidmouthLbl: Label 'SIDMOUTH', MaxLength = 30; + DeviotLbl: Label 'DEVIOT', MaxLength = 30; + FrankfordLbl: Label 'FRANKFORD', MaxLength = 30; + HolwellLbl: Label 'HOLWELL', MaxLength = 30; + LanenaLbl: Label 'LANENA', MaxLength = 30; + LoiraLbl: Label 'LOIRA', MaxLength = 30; + NotleyHillsLbl: Label 'NOTLEY HILLS', MaxLength = 30; + RobiganaLbl: Label 'ROBIGANA', MaxLength = 30; + WinkleighLbl: Label 'WINKLEIGH', MaxLength = 30; + GravellyBeachLbl: Label 'GRAVELLY BEACH', MaxLength = 30; + BridgenorthLbl: Label 'BRIDGENORTH', MaxLength = 30; + GrindelwaldLbl: Label 'GRINDELWALD', MaxLength = 30; + LeganaLbl: Label 'LEGANA', MaxLength = 30; + RosevearsLbl: Label 'ROSEVEARS', MaxLength = 30; + HadspenLbl: Label 'HADSPEN', MaxLength = 30; + CarrickLbl: Label 'CARRICK', MaxLength = 30; + HagleyLbl: Label 'HAGLEY', MaxLength = 30; + RosevaleLbl: Label 'ROSEVALE', MaxLength = 30; + SelbourneLbl: Label 'SELBOURNE', MaxLength = 30; + DevonHillsLbl: Label 'DEVON HILLS', MaxLength = 30; + PowrannaLbl: Label 'POWRANNA', MaxLength = 30; + BishopsbourneLbl: Label 'BISHOPSBOURNE', MaxLength = 30; + BlackwoodCreekLbl: Label 'BLACKWOOD CREEK', MaxLength = 30; + LiffeyLbl: Label 'LIFFEY', MaxLength = 30; + ToiberryLbl: Label 'TOIBERRY', MaxLength = 30; + BracknellLbl: Label 'BRACKNELL', MaxLength = 30; + PoatinaLbl: Label 'POATINA', MaxLength = 30; + BirraleeLbl: Label 'BIRRALEE', MaxLength = 30; + ExtonLbl: Label 'EXTON', MaxLength = 30; + WestburyLbl: Label 'WESTBURY', MaxLength = 30; + WhitemoreLbl: Label 'WHITEMORE', MaxLength = 30; + BreonaLbl: Label 'BREONA', MaxLength = 30; + CavesideLbl: Label 'CAVESIDE', MaxLength = 30; + ChudleighLbl: Label 'CHUDLEIGH', MaxLength = 30; + DairyPlainsLbl: Label 'DAIRY PLAINS', MaxLength = 30; + DeloraineLbl: Label 'DELORAINE', MaxLength = 30; + DunorlanLbl: Label 'DUNORLAN', MaxLength = 30; + ElizabethTownLbl: Label 'ELIZABETH TOWN', MaxLength = 30; + GoldenValleyLbl: Label 'GOLDEN VALLEY', MaxLength = 30; + JackeysMarshLbl: Label 'JACKEYS MARSH', MaxLength = 30; + KimberleyLbl: Label 'KIMBERLEY', MaxLength = 30; + MayberryLbl: Label 'MAYBERRY', MaxLength = 30; + MeanderLbl: Label 'MEANDER', MaxLength = 30; + MerseyForestLbl: Label 'MERSEY FOREST', MaxLength = 30; + MoleCreekLbl: Label 'MOLE CREEK', MaxLength = 30; + MoltemaLbl: Label 'MOLTEMA', MaxLength = 30; + MontanaLbl: Label 'MONTANA', MaxLength = 30; + NeedlesLbl: Label 'NEEDLES', MaxLength = 30; + ParkhamLbl: Label 'PARKHAM', MaxLength = 30; + RedHillsLbl: Label 'RED HILLS', MaxLength = 30; + ReedyMarshLbl: Label 'REEDY MARSH', MaxLength = 30; + WeegenaLbl: Label 'WEEGENA', MaxLength = 30; + WeetahLbl: Label 'WEETAH', MaxLength = 30; + MerseyleaLbl: Label 'MERSEYLEA', MaxLength = 30; + RailtonLbl: Label 'RAILTON', MaxLength = 30; + AcaciaHillsLbl: Label 'ACACIA HILLS', MaxLength = 30; + ClaudeRoadLbl: Label 'CLAUDE ROAD', MaxLength = 30; + CradleMountainLbl: Label 'CRADLE MOUNTAIN', MaxLength = 30; + GowrieParkLbl: Label 'GOWRIE PARK', MaxLength = 30; + LorinnaLbl: Label 'LORINNA', MaxLength = 30; + NookLbl: Label 'NOOK', MaxLength = 30; + RolandLbl: Label 'ROLAND', MaxLength = 30; + SheffieldLbl: Label 'SHEFFIELD', MaxLength = 30; + StavertonLbl: Label 'STAVERTON', MaxLength = 30; + StoodleyLbl: Label 'STOODLEY', MaxLength = 30; + HarfordLbl: Label 'HARFORD', MaxLength = 30; + HawleyBeachLbl: Label 'HAWLEY BEACH', MaxLength = 30; + LatrobeLbl: Label 'LATROBE', MaxLength = 30; + MoriartyLbl: Label 'MORIARTY', MaxLength = 30; + NorthdownLbl: Label 'NORTHDOWN', MaxLength = 30; + PortSorellLbl: Label 'PORT SORELL', MaxLength = 30; + ShearwaterLbl: Label 'SHEARWATER', MaxLength = 30; + ThirlstaneLbl: Label 'THIRLSTANE', MaxLength = 30; + WesleyValeLbl: Label 'WESLEY VALE', MaxLength = 30; + DevonportLbl: Label 'DEVONPORT', MaxLength = 30; + DonLbl: Label 'DON', MaxLength = 30; + ErribaLbl: Label 'ERRIBA', MaxLength = 30; + EugenanaLbl: Label 'EUGENANA', MaxLength = 30; + ForthLbl: Label 'FORTH', MaxLength = 30; + KindredLbl: Label 'KINDRED', MaxLength = 30; + LillicoLbl: Label 'LILLICO', MaxLength = 30; + MoinaLbl: Label 'MOINA', MaxLength = 30; + PaloonaLbl: Label 'PALOONA', MaxLength = 30; + QuoibaLbl: Label 'QUOIBA', MaxLength = 30; + SpreytonLbl: Label 'SPREYTON', MaxLength = 30; + WestDevonportLbl: Label 'WEST DEVONPORT', MaxLength = 30; + WilmotLbl: Label 'WILMOT', MaxLength = 30; + AbbotshamLbl: Label 'ABBOTSHAM', MaxLength = 30; + GunnsPlainsLbl: Label 'GUNNS PLAINS', MaxLength = 30; + LeithLbl: Label 'LEITH', MaxLength = 30; + NiettaLbl: Label 'NIETTA', MaxLength = 30; + NorthMottonLbl: Label 'NORTH MOTTON', MaxLength = 30; + SpalfordLbl: Label 'SPALFORD', MaxLength = 30; + SprentLbl: Label 'SPRENT', MaxLength = 30; + TurnersBeachLbl: Label 'TURNERS BEACH', MaxLength = 30; + UlverstoneLbl: Label 'ULVERSTONE', MaxLength = 30; + UpperCastraLbl: Label 'UPPER CASTRA', MaxLength = 30; + CamenaLbl: Label 'CAMENA', MaxLength = 30; + CupronaLbl: Label 'CUPRONA', MaxLength = 30; + HeybridgeLbl: Label 'HEYBRIDGE', MaxLength = 30; + HowthLbl: Label 'HOWTH', MaxLength = 30; + LoyeteaLbl: Label 'LOYETEA', MaxLength = 30; + PenguinLbl: Label 'PENGUIN', MaxLength = 30; + PreservationBayLbl: Label 'PRESERVATION BAY', MaxLength = 30; + RianaLbl: Label 'RIANA', MaxLength = 30; + SouthRianaLbl: Label 'SOUTH RIANA', MaxLength = 30; + SulphurCreekLbl: Label 'SULPHUR CREEK', MaxLength = 30; + WestPineLbl: Label 'WEST PINE', MaxLength = 30; + BurnieLbl: Label 'BURNIE', MaxLength = 30; + CooeeLbl: Label 'COOEE', MaxLength = 30; + HavenviewLbl: Label 'HAVENVIEW', MaxLength = 30; + MontelloLbl: Label 'MONTELLO', MaxLength = 30; + RomaineLbl: Label 'ROMAINE', MaxLength = 30; + WivenhoeLbl: Label 'WIVENHOE', MaxLength = 30; + BoatHarbourBeachLbl: Label 'BOAT HARBOUR BEACH', MaxLength = 30; + HampshireLbl: Label 'HAMPSHIRE', MaxLength = 30; + HighclereLbl: Label 'HIGHCLERE', MaxLength = 30; + MawbannaLbl: Label 'MAWBANNA', MaxLength = 30; + NatoneLbl: Label 'NATONE', MaxLength = 30; + ParraweLbl: Label 'PARRAWE', MaxLength = 30; + RidgleyLbl: Label 'RIDGLEY', MaxLength = 30; + RockyCapeLbl: Label 'ROCKY CAPE', MaxLength = 30; + SavageRiverLbl: Label 'SAVAGE RIVER', MaxLength = 30; + SistersBeachLbl: Label 'SISTERS BEACH', MaxLength = 30; + StowportLbl: Label 'STOWPORT', MaxLength = 30; + TullahLbl: Label 'TULLAH', MaxLength = 30; + SomersetLbl: Label 'SOMERSET', MaxLength = 30; + CalderLbl: Label 'CALDER', MaxLength = 30; + DoctorsRocksLbl: Label 'DOCTORS ROCKS', MaxLength = 30; + LapoinyaLbl: Label 'LAPOINYA', MaxLength = 30; + MeunnaLbl: Label 'MEUNNA', MaxLength = 30; + MilabenaLbl: Label 'MILABENA', MaxLength = 30; + MoorleahLbl: Label 'MOORLEAH', MaxLength = 30; + MountHicksLbl: Label 'MOUNT HICKS', MaxLength = 30; + MyallaLbl: Label 'MYALLA', MaxLength = 30; + OldinaLbl: Label 'OLDINA', MaxLength = 30; + PreolennaLbl: Label 'PREOLENNA', MaxLength = 30; + SistersCreekLbl: Label 'SISTERS CREEK', MaxLength = 30; + TableCapeLbl: Label 'TABLE CAPE', MaxLength = 30; + TakoneLbl: Label 'TAKONE', MaxLength = 30; + WynyardLbl: Label 'WYNYARD', MaxLength = 30; + YollaLbl: Label 'YOLLA', MaxLength = 30; + AlcomieLbl: Label 'ALCOMIE', MaxLength = 30; + BrittonsSwampLbl: Label 'BRITTONS SWAMP', MaxLength = 30; + EdithCreekLbl: Label 'EDITH CREEK', MaxLength = 30; + ForestLbl: Label 'FOREST', MaxLength = 30; + LileahLbl: Label 'LILEAH', MaxLength = 30; + MarrawahLbl: Label 'MARRAWAH', MaxLength = 30; + MellaLbl: Label 'MELLA', MaxLength = 30; + MenghaLbl: Label 'MENGHA', MaxLength = 30; + MontaguLbl: Label 'MONTAGU', MaxLength = 30; + NabageenaLbl: Label 'NABAGEENA', MaxLength = 30; + RedpaLbl: Label 'REDPA', MaxLength = 30; + SmithtonLbl: Label 'SMITHTON', MaxLength = 30; + ThreeHummockIslandLbl: Label 'THREE HUMMOCK ISLAND', MaxLength = 30; + TogariLbl: Label 'TOGARI', MaxLength = 30; + TrowuttaLbl: Label 'TROWUTTA', MaxLength = 30; + WoolnorthLbl: Label 'WOOLNORTH', MaxLength = 30; + StrahanLbl: Label 'STRAHAN', MaxLength = 30; + RenisonBellLbl: Label 'RENISON BELL', MaxLength = 30; + ZeehanLbl: Label 'ZEEHAN', MaxLength = 30; + DarwinLbl: Label 'DARWIN', MaxLength = 30; + CollinsStreetEastLbl: Label 'COLLINS STREET EAST', MaxLength = 30; + StKildaRoadLbl: Label 'ST KILDA ROAD', MaxLength = 30; + AbeckettStreetLbl: Label 'ABECKETT STREET', MaxLength = 30; + CollinsStreetWestLbl: Label 'COLLINS STREET WEST', MaxLength = 30; + StKildaRoadCentralLbl: Label 'ST KILDA ROAD CENTRAL', MaxLength = 30; + FlindersLaneLbl: Label 'FLINDERS LANE', MaxLength = 30; + LawCourtsLbl: Label 'LAW COURTS', MaxLength = 30; + ParapLbl: Label 'PARAP', MaxLength = 30; + AlawaLbl: Label 'ALAWA', MaxLength = 30; + BrinkinLbl: Label 'BRINKIN', MaxLength = 30; + CoconutGroveLbl: Label 'COCONUT GROVE', MaxLength = 30; + JingiliLbl: Label 'JINGILI', MaxLength = 30; + LeePointLbl: Label 'LEE POINT', MaxLength = 30; + MillnerLbl: Label 'MILLNER', MaxLength = 30; + MoilLbl: Label 'MOIL', MaxLength = 30; + NakaraLbl: Label 'NAKARA', MaxLength = 30; + NightcliffLbl: Label 'NIGHTCLIFF', MaxLength = 30; + RapidCreekLbl: Label 'RAPID CREEK', MaxLength = 30; + TiwiLbl: Label 'TIWI', MaxLength = 30; + WagamanLbl: Label 'WAGAMAN', MaxLength = 30; + WanguriLbl: Label 'WANGURI', MaxLength = 30; + AnulaLbl: Label 'ANULA', MaxLength = 30; + KaramaLbl: Label 'KARAMA', MaxLength = 30; + LeanyerLbl: Label 'LEANYER', MaxLength = 30; + MalakLbl: Label 'MALAK', MaxLength = 30; + MarraraLbl: Label 'MARRARA', MaxLength = 30; + SandersonLbl: Label 'SANDERSON', MaxLength = 30; + WoodleighGardensLbl: Label 'WOODLEIGH GARDENS', MaxLength = 30; + WulagiLbl: Label 'WULAGI', MaxLength = 30; + CharlesDarwinUniversityLbl: Label 'CHARLES DARWIN UNIVERSITY', MaxLength = 30; + BagotLbl: Label 'BAGOT', MaxLength = 30; + EastPointLbl: Label 'EAST POINT', MaxLength = 30; + FannieBayLbl: Label 'FANNIE BAY', MaxLength = 30; + LarrakeyahLbl: Label 'LARRAKEYAH', MaxLength = 30; + LudmillaLbl: Label 'LUDMILLA', MaxLength = 30; + StuartParkLbl: Label 'STUART PARK', MaxLength = 30; + TheGardensLbl: Label 'THE GARDENS', MaxLength = 30; + WinnellieLbl: Label 'WINNELLIE', MaxLength = 30; + WoolnerLbl: Label 'WOOLNER', MaxLength = 30; + AnguruguLbl: Label 'ANGURUGU', MaxLength = 30; + CrokerIslandLbl: Label 'CROKER ISLAND', MaxLength = 30; + DalyRiverLbl: Label 'DALY RIVER', MaxLength = 30; + DarwinMcLbl: Label 'DARWIN MC', MaxLength = 30; + DelissavilleLbl: Label 'DELISSAVILLE', MaxLength = 30; + GaliwinkuLbl: Label 'GALIWINKU', MaxLength = 30; + GoulburnIslandLbl: Label 'GOULBURN ISLAND', MaxLength = 30; + ManingridaLbl: Label 'MANINGRIDA', MaxLength = 30; + MilingimbiLbl: Label 'MILINGIMBI', MaxLength = 30; + MinjilangLbl: Label 'MINJILANG', MaxLength = 30; + NguiuLbl: Label 'NGUIU', MaxLength = 30; + OenpelliLbl: Label 'OENPELLI', MaxLength = 30; + PularumpiLbl: Label 'PULARUMPI', MaxLength = 30; + RaminginingLbl: Label 'RAMINGINING', MaxLength = 30; + UmbakumbaLbl: Label 'UMBAKUMBA', MaxLength = 30; + WadeyeLbl: Label 'WADEYE', MaxLength = 30; + BerrimahLbl: Label 'BERRIMAH', MaxLength = 30; + PinelandsLbl: Label 'PINELANDS', MaxLength = 30; + ArcherLbl: Label 'ARCHER', MaxLength = 30; + DriverLbl: Label 'DRIVER', MaxLength = 30; + FarrarLbl: Label 'FARRAR', MaxLength = 30; + MarlowLagoonLbl: Label 'MARLOW LAGOON', MaxLength = 30; + MouldenLbl: Label 'MOULDEN', MaxLength = 30; + WoodroffeLbl: Label 'WOODROFFE', MaxLength = 30; + BakewellLbl: Label 'BAKEWELL', MaxLength = 30; + BellamackLbl: Label 'BELLAMACK', MaxLength = 30; + GunnLbl: Label 'GUNN', MaxLength = 30; + CoolalingaLbl: Label 'COOLALINGA', MaxLength = 30; + HowardSpringsLbl: Label 'HOWARD SPRINGS', MaxLength = 30; + HumptyDooLbl: Label 'HUMPTY DOO', MaxLength = 30; + NoonamahLbl: Label 'NOONAMAH', MaxLength = 30; + BerrySpringsLbl: Label 'BERRY SPRINGS', MaxLength = 30; + DundeeBeachLbl: Label 'DUNDEE BEACH', MaxLength = 30; + BatchelorLbl: Label 'BATCHELOR', MaxLength = 30; + AdelaideRiverLbl: Label 'ADELAIDE RIVER', MaxLength = 30; + PineCreekLbl: Label 'PINE CREEK', MaxLength = 30; + KatherineLbl: Label 'KATHERINE', MaxLength = 30; + DalyWatersLbl: Label 'DALY WATERS', MaxLength = 30; + LajamanuLbl: Label 'LAJAMANU', MaxLength = 30; + LarrimahLbl: Label 'LARRIMAH', MaxLength = 30; + MaranboyLbl: Label 'MARANBOY', MaxLength = 30; + MatarankaLbl: Label 'MATARANKA', MaxLength = 30; + NgukurrLbl: Label 'NGUKURR', MaxLength = 30; + NumbulwarLbl: Label 'NUMBULWAR', MaxLength = 30; + VictoriaRiverDownsLbl: Label 'VICTORIA RIVER DOWNS', MaxLength = 30; + TindalRaafLbl: Label 'TINDAL RAAF', MaxLength = 30; + BorroloolaLbl: Label 'BORROLOOLA', MaxLength = 30; + TennantCreekLbl: Label 'TENNANT CREEK', MaxLength = 30; + NewcastleWatersLbl: Label 'NEWCASTLE WATERS', MaxLength = 30; + WarregoLbl: Label 'WARREGO', MaxLength = 30; + AliceSpringsLbl: Label 'ALICE SPRINGS', MaxLength = 30; + AliCurungLbl: Label 'ALI CURUNG', MaxLength = 30; + AreyongaLbl: Label 'AREYONGA', MaxLength = 30; + BarrowCreekLbl: Label 'BARROW CREEK', MaxLength = 30; + ErnabellaLbl: Label 'ERNABELLA', MaxLength = 30; + FinkeLbl: Label 'FINKE', MaxLength = 30; + FregonLbl: Label 'FREGON', MaxLength = 30; + HaastsBluffLbl: Label 'HAASTS BLUFF', MaxLength = 30; + HermannsburgLbl: Label 'HERMANNSBURG', MaxLength = 30; + KaltukatjaraLbl: Label 'KALTUKATJARA', MaxLength = 30; + KintoreLbl: Label 'KINTORE', MaxLength = 30; + NyirripiLbl: Label 'NYIRRIPI', MaxLength = 30; + PapunyaLbl: Label 'PAPUNYA', MaxLength = 30; + SantaTeresaLbl: Label 'SANTA TERESA', MaxLength = 30; + TiTreeLbl: Label 'TI TREE', MaxLength = 30; + YuendumuLbl: Label 'YUENDUMU', MaxLength = 30; + YularaLbl: Label 'YULARA', MaxLength = 30; + NhulunbuyLbl: Label 'NHULUNBUY', MaxLength = 30; + YirrkalaLbl: Label 'YIRRKALA', MaxLength = 30; + AlyangulaLbl: Label 'ALYANGULA', MaxLength = 30; + JabiruLbl: Label 'JABIRU', MaxLength = 30; + GoldCoastMcLbl: Label 'GOLD COAST MC', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + CambridgeGBLbl: Label 'Cambridge', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CardiffGBLbl: Label 'Cardiff', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + EdinburghGBLbl: Label 'Edinburgh', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + GloucesterGBLbl: Label 'Gloucester', MaxLength = 30; + CheltenhamGBLbl: Label 'Cheltenham', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolGBLbl: Label 'Liverpool', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + NewcastleGBLbl: Label 'Newcastle', MaxLength = 30; + MaidstoneGBLbl: Label 'Maidstone', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + NewportGBLbl: Label 'Newport', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + PeterboroughGBLbl: Label 'Peterborough', MaxLength = 30; + MacclesfieldGBLbl: Label 'Macclesfield', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + AshfordGBLbl: Label 'Ashford', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + SwanseaGBLbl: Label 'Swansea', MaxLength = 30; + StratfordGBLbl: Label 'Stratford', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + GuildfordGBLbl: Label 'Guildford', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUShippingAgent.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUShippingAgent.Codeunit.al new file mode 100644 index 0000000000..d6bb6a4614 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUShippingAgent.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 17115 "Create AU Shipping Agent" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoShipping: Codeunit "Contoso Shipping"; + begin + ContosoShipping.InsertShippingAgent(AUPost(), AUPostNameLbl, AUPostInternetAddressLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"Shipping Agent", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record "Shipping Agent"; RunTrigger: Boolean) + var + CreateShippingData: Codeunit "Create Shipping Data"; + begin + case Rec.Code of + CreateShippingData.DHL(): + ValidateRecordFields(Rec, DHLNameLbl); + CreateShippingData.Fedex(): + ValidateRecordFields(Rec, FEDEXNameLbl); + CreateShippingData.UPS(): + ValidateRecordFields(Rec, UPSNameLbl); + end; + end; + + local procedure ValidateRecordFields(var ShippingAgent: Record "Shipping Agent"; Name: Text[50]) + begin + ShippingAgent.Validate(Name, Name); + end; + + procedure AUPost(): Code[10] + begin + exit(AUPostTok); + end; + + var + AUPostTok: Label 'AUPOST', MaxLength = 10; + DHLNameLbl: Label 'DHL Systems, Inc. AU', MaxLength = 50; + FEDEXNameLbl: Label 'Federal Express Corporation AU', MaxLength = 50; + UPSNameLbl: Label 'UPS Australia P/L', MaxLength = 50; + AUPostNameLbl: Label 'AU Post Express Courier International', MaxLength = 50; + AUPostInternetAddressLbl: Label 'ice.auspost.com.au', MaxLength = 250, Comment = 'URL', Locked = true; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUSourceCode.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUSourceCode.Codeunit.al new file mode 100644 index 0000000000..0e5d78444a --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUSourceCode.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 17158 "Create AU Source Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoSourceCode: Codeunit "Contoso Source Code"; + begin + ContosoSourceCode.InsertSourceCode(CompressWHT(), DateCompressWHTEntriesLbl); + ContosoSourceCode.InsertSourceCode(Start(), OpeningEntriesLbl); + ContosoSourceCode.InsertSourceCode(WithholdingTaxStatement(), WithholdingTaxStatementLbl); + end; + + procedure CompressWHT(): Code[10] + begin + exit(CompressWHTTok); + end; + + procedure Start(): Code[10] + begin + exit(StartTok); + end; + + procedure WithholdingTaxStatement(): Code[10] + begin + exit(WithholdingTaxStatementTok); + end; + + var + CompressWHTTok: Label 'COMPRWHT', MaxLength = 10; + StartTok: Label 'START', MaxLength = 10; + WithholdingTaxStatementTok: Label 'WHTSTMT', MaxLength = 10; + DateCompressWHTEntriesLbl: Label 'Date Compress WHT Entries', MaxLength = 100; + OpeningEntriesLbl: Label 'Opening Entries', MaxLength = 100; + WithholdingTaxStatementLbl: Label 'Withholding Tax Statement', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUSourceCodeSetup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUSourceCodeSetup.Codeunit.al new file mode 100644 index 0000000000..f589cf63f1 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Foundation/1.Setup Data/CreateAUSourceCodeSetup.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 17159 "Create AU Source Code Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSourceCodeSetup(); + end; + + local procedure UpdateSourceCodeSetup() + var + SourceCodeSetup: Record "Source Code Setup"; + CreateAUSourceCode: Codeunit "Create AU Source Code"; + begin + SourceCodeSetup.Get(); + + SourceCodeSetup.Validate("WHT Settlement", CreateAUSourceCode.WithholdingTaxStatement()); + SourceCodeSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/HR/2.Master Data/CreateAUEmployee.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/HR/2.Master Data/CreateAUEmployee.Codeunit.al new file mode 100644 index 0000000000..def6488ca8 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/HR/2.Master Data/CreateAUEmployee.Codeunit.al @@ -0,0 +1,81 @@ +codeunit 17146 "Create AU Employee" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployee(CreateEmployee.ManagingDirector()); + UpdateEmployee(CreateEmployee.SalesManager()); + UpdateEmployee(CreateEmployee.Designer()); + UpdateEmployee(CreateEmployee.ProductionAssistant()); + UpdateEmployee(CreateEmployee.ProductionManager()); + UpdateEmployee(CreateEmployee.Secretary()); + UpdateEmployee(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployee(EmployeeNo: Code[20]) + var + Employee: Record Employee; + begin + Employee.Get(EmployeeNo); + Employee.Validate(City, CanberraCityLbl); + Employee."Post Code" := PostCodeLbl; + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate(Initials, GetInitials(Employee)); + Employee.Modify(true) + end; + + [EventSubscriber(ObjectType::Table, Database::Employee, 'OnBeforeOnInsert', '', false, false)] + local procedure OnBeforeInsertEmployee(var Employee: Record Employee) + var + CreateEmployee: Codeunit "Create Employee"; + begin + case Employee."No." of + CreateEmployee.ManagingDirector(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.SalesManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Designer(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionAssistant(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Secretary(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.InventoryManager(): + begin + Employee.Validate("Job Title", ProductionAssistantLbl); + ValidateEmployee(Employee, '', '', ''); + end; + end; + end; + + local procedure ValidateEmployee(var Employee: Record Employee; UnionCode: Code[10]; EmploymentContractCode: Code[10]; StatisticsGroupCode: Code[10]) + begin + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Emplymt. Contract Code", EmploymentContractCode); + Employee.Validate("Statistics Group Code", StatisticsGroupCode); + Employee.Validate("Union Code", UnionCode); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + CanberraCityLbl: Label 'CANBERRA', MaxLength = 30; + PostCodeLbl: Label '2600', MaxLength = 20; + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 + +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/HR/2.Master Data/CreateEmplPostingGroupAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/HR/2.Master Data/CreateEmplPostingGroupAU.Codeunit.al new file mode 100644 index 0000000000..7a188f48bc --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/HR/2.Master Data/CreateEmplPostingGroupAU.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 17169 "Create Empl. Posting Group AU" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeePostingGroup: Codeunit "Create Employee Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateEmployeePostingGroup(CreateEmployeePostingGroup.EmployeeExpenses(), CreateGLAccount.EmployeesPayable(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding()); + end; + + local procedure UpdateEmployeePostingGroup(EmployeePostingGroupCode: Code[20]; PayableAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]) + var + EmployeePostingGroup: Record "Employee Posting Group"; + begin + EmployeePostingGroup.Get(EmployeePostingGroupCode); + EmployeePostingGroup.Validate("Payables Account", PayableAccount); + EmployeePostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + EmployeePostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + EmployeePostingGroup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/1.Setup Data/CreateAUInvPostingGroup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/1.Setup Data/CreateAUInvPostingGroup.Codeunit.al new file mode 100644 index 0000000000..101a1f0213 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/1.Setup Data/CreateAUInvPostingGroup.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 17117 "Create AU Inv Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertInventoryPostingGroup(Finished(), FinishedItemsLbl); + ContosoPostingGroup.InsertInventoryPostingGroup(RAWMAT(), RawMaterialsLbl); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure Finished(): Code[20] + begin + exit(FinishedTok); + end; + + procedure RAWMAT(): Code[20] + begin + exit(RAWMATTok); + end; + + var + FinishedTok: Label 'FINISHED', MaxLength = 20; + FinishedItemsLbl: Label 'Finished items', MaxLength = 100; + RAWMATTok: Label 'RAW MAT', MaxLength = 20; + RawMaterialsLbl: Label 'Raw materials', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUInvPostingSetup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUInvPostingSetup.Codeunit.al new file mode 100644 index 0000000000..e79e586796 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUInvPostingSetup.Codeunit.al @@ -0,0 +1,84 @@ +codeunit 17119 "Create AU Inv Posting Setup" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateAUInvPostingGroup: Codeunit "Create AU Inv Posting Group"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateLocation: Codeunit "Create Location"; + CreateInventoryPostingGroup: Codeunit "Create Inventory Posting Group"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertInventoryPostingSetup(BlankLocationLbl, CreateAUInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(BlankLocationLbl, CreateAUInvPostingGroup.RAWMAT(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateAUInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateAUInvPostingGroup.RAWMAT(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateAUInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateAUInvPostingGroup.RAWMAT(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateAUInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateAUInvPostingGroup.RAWMAT(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.SubcontractedVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateAUInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), '', '', '', '', '', ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateAUInvPostingGroup.RAWMAT(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), '', '', '', '', '', ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateAUInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), '', '', '', '', '', ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateAUInvPostingGroup.RAWMAT(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), '', '', '', '', '', ''); + + ContosoPostingSetup.SetOverwriteData(false); + UpdateInventoryPostingSetupGLAccounts(CreateLocation.OwnLogLocation(), CreateInventoryPostingGroup.Resale()); + UpdateInventoryPostingSetupGLAccounts(CreateLocation.OutLogLocation(), CreateInventoryPostingGroup.Resale()); + end; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Inventory Posting Setup"; RunTrigger: Boolean) + var + CreateInventoryPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateLocation: Codeunit "Create Location"; + begin + case Rec."Location Code" of + BlankLocationLbl, + CreateLocation.EastLocation(), + CreateLocation.MainLocation(), + CreateLocation.OutLogLocation(), + CreateLocation.OwnLogLocation(), + CreateLocation.WestLocation(): + if Rec."Invt. Posting Group Code" = CreateInventoryPostingGroup.Resale() then + ValidateRecordFields(Rec, CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim(), CreateAUGLAccounts.WipAccountFinishedGoods(), CreateAUGLAccounts.MaterialVariance(), CreateAUGLAccounts.CapacityVariance(), CreateAUGLAccounts.MfgOverheadVariance(), CreateAUGLAccounts.CapOverheadVariance(), CreateAUGLAccounts.SubcontractedVariance()); + end; + end; + + local procedure UpdateInventoryPostingSetupGLAccounts(LocationCode: Code[20]; InvtPostingGroupCode: code[20]) + var + InventoryPostingSetup: Record "Inventory Posting Setup"; + begin + InventoryPostingSetup.Get(LocationCode, InvtPostingGroupCode); + InventoryPostingSetup.Validate("WIP Account", ''); + InventoryPostingSetup.Validate("Material Variance Account", ''); + InventoryPostingSetup.Validate("Capacity Variance Account", ''); + InventoryPostingSetup.Validate("Mfg. Overhead Variance Account", ''); + InventoryPostingSetup.Validate("Cap. Overhead Variance Account", ''); + InventoryPostingSetup.Validate("Subcontracted Variance Account", ''); + InventoryPostingSetup.Modify(true); + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]; WIPAccount: Code[20]; MaterialVarianceAccount: Code[20]; CapacityVarianceAccount: Code[20]; MfgOverheadVarianceAccount: Code[20]; CapOverheadVarianceAccount: Code[20]; SubcontractedVarianceAccount: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + InventoryPostingSetup.Validate("WIP Account", WIPAccount); + InventoryPostingSetup.Validate("Material Variance Account", MaterialVarianceAccount); + InventoryPostingSetup.Validate("Capacity Variance Account", CapacityVarianceAccount); + InventoryPostingSetup.Validate("Mfg. Overhead Variance Account", MfgOverheadVarianceAccount); + InventoryPostingSetup.Validate("Cap. Overhead Variance Account", CapOverheadVarianceAccount); + InventoryPostingSetup.Validate("Subcontracted Variance Account", SubcontractedVarianceAccount); + end; + + var + BlankLocationLbl: Label '', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItem.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItem.Codeunit.al new file mode 100644 index 0000000000..d0f3f94920 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItem.Codeunit.al @@ -0,0 +1,63 @@ +codeunit 17118 "Create AU Item" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1893, 1477, ''); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 365, 284, ''); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 820, 640, ''); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 360, 280, ''); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 1225, 956, ''); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 357, 0, ''); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 104, 81, ''); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 442, 0, ''); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 365, 284, ''); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 238, 0, ''); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 365, 284, ''); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 365, 284, ''); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 442, 0, ''); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 360, 280, ''); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 647, 0, ''); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 360, 280, ''); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 360, 280, ''); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 365, 284, ''); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 2643, 2062, ''); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 360, 280, ''); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VATProdPostingGroup: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItemCharge.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItemCharge.Codeunit.al new file mode 100644 index 0000000000..6135dbb5bf --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItemCharge.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 17120 "Create AU Item Charge" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record "Item Charge"; RunTrigger: Boolean) + var + CreateItemCharge: Codeunit "Create Item Charge"; + CreateAUVATPostingGroups: Codeunit "Create AU VAT Posting Groups"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), + CreateItemCharge.PurchAllowance(), + CreateItemCharge.PurchFreight(), + CreateItemCharge.PurchRestock(), + CreateItemCharge.SaleAllowance(), + CreateItemCharge.SaleFreight(), + CreateItemCharge.SaleRestock(): + ValidateRecordFields(Rec, CreateAUVATPostingGroups.Vat10()); + end; + end; + + local procedure ValidateRecordFields(var ItemCharge: Record "Item Charge"; VATProdPostingGroup: Code[20]) + begin + ItemCharge.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItemTemplate.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItemTemplate.Codeunit.al new file mode 100644 index 0000000000..d739075d1b --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAUItemTemplate.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 17122 "Create AU Item Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateAUVATPostingGroups: Codeunit "Create AU VAT Posting Groups"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateAUVATPostingGroups.Vat15()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateAUVATPostingGroups.Vat15()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAULocation.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAULocation.Codeunit.al new file mode 100644 index 0000000000..7dec198543 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Inventory/2.Master Data/CreateAULocation.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 17123 "Create AU Location" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Location) + var + CreateLocations: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocations.EastLocation(): + ValidateRecordFields(Rec, BukkullaLbl, '2360', NSWCountyLbl, CreateCountryRegion.GB()); + CreateLocations.MainLocation(): + ValidateRecordFields(Rec, CanberraLbl, '2600', NSWCountyLbl, CreateCountryRegion.GB()); + CreateLocations.WestLocation(): + ValidateRecordFields(Rec, BowenBridgeLbl, '4006', QLDCountyLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]; County: Text[30]; CountryRegionCode: Code[10]) + begin + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location.Validate(County, County); + Location."Country/Region Code" := CountryRegionCode + end; + + var + BukkullaLbl: Label 'BUKKULLA', MaxLength = 30; + CanberraLbl: Label 'CANBERRA', MaxLength = 30; + BowenBridgeLbl: Label 'BOWEN BRIDGE', MaxLength = 30; + NSWCountyLbl: Label 'NSW', MaxLength = 20; + QLDCountyLbl: Label 'QLD', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Job/1.Setup Data/CreateAUJobPostingGroup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Job/1.Setup Data/CreateAUJobPostingGroup.Codeunit.al new file mode 100644 index 0000000000..0f98680a64 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Job/1.Setup Data/CreateAUJobPostingGroup.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 17157 "Create AU Job Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Job Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnbeforeInsertJobPostingGroup(var Rec: Record "Job Posting Group") + var + CreateJobPostingGroup: Codeunit "Create Job Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateJobPostingGroup.DefaultJobPostingGroup(): + ValidateRecordFields(Rec, CreateGLAccount.WIPJobCosts(), CreateGLAccount.AccruedJobCosts(), CreateGLAccount.JobCostAppliedRetail(), CreateGLAccount.JobCostAdjmtRetail(), CreateGLAccount.WipJobSales(), CreateGLAccount.InvoicedJobSales(), CreateGLAccount.JobSalesAppliedRetail(), CreateGLAccount.JobSalesAdjmtRetail(), CreateGLAccount.JobCosts(), CreateGLAccount.JobSales(), CreateGLAccount.JobCostAppliedRetail(), CreateGLAccount.JobCostAppliedResources(), CreateGLAccount.JobCostAppliedRawMat(), CreateGLAccount.SalesOtherJobExpenses()); + end; + end; + + procedure ValidateRecordFields(JobPostingGroup: Record "Job Posting Group"; WIPCostsAcc: Code[20]; WIPAccruedCostsAcc: Code[20]; JobCostsAppliedAcc: Code[20]; JobCostsAdjAcc: Code[20]; WIPAccruedSalesAcc: Code[20]; WIPInvoicedSalesAcc: Code[20]; JobSalesAppliedAcc: Code[20]; JobSalesAdjAcc: Code[20]; RecognizedCostAcc: Code[20]; RecognizedSalesAcc: Code[20]; ItemCostsAppliedAccount: Code[20]; ResourceCostsAppliedAccount: Code[20]; GLCostsAppliedAccount: Code[20]; GLExpenseAccContract: Code[20]) + begin + JobPostingGroup.Validate("WIP Costs Account", WIPCostsAcc); + JobPostingGroup.Validate("WIP Accrued Costs Account", WIPAccruedCostsAcc); + JobPostingGroup.Validate("Job Costs Applied Account", JobCostsAppliedAcc); + JobPostingGroup.Validate("Job Costs Adjustment Account", JobCostsAdjAcc); + JobPostingGroup.Validate("WIP Accrued Sales Account", WIPAccruedSalesAcc); + JobPostingGroup.Validate("WIP Invoiced Sales Account", WIPInvoicedSalesAcc); + JobPostingGroup.Validate("Job Sales Applied Account", JobSalesAppliedAcc); + JobPostingGroup.Validate("Job Sales Adjustment Account", JobSalesAdjAcc); + JobPostingGroup.Validate("Recognized Costs Account", RecognizedCostAcc); + JobPostingGroup.Validate("Recognized Sales Account", RecognizedSalesAcc); + JobPostingGroup.Validate("Item Costs Applied Account", ItemCostsAppliedAccount); + JobPostingGroup.Validate("Resource Costs Applied Account", ResourceCostsAppliedAccount); + JobPostingGroup.Validate("G/L Costs Applied Account", GLCostsAppliedAccount); + JobPostingGroup.Validate("G/L Expense Acc. (Contract)", GLExpenseAccContract); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/1.Setup Data/CreateAUPurchPayableSetup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/1.Setup Data/CreateAUPurchPayableSetup.Codeunit.al new file mode 100644 index 0000000000..8d9877347d --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/1.Setup Data/CreateAUPurchPayableSetup.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 17142 "Create AU Purch Payable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePurchasePayableSetup(); + end; + + local procedure UpdatePurchasePayableSetup() + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateAUPostingGroups: Codeunit "Create AU Posting Groups"; + begin + PurchasesPayablesSetup.Get(); + + PurchasesPayablesSetup.Validate("Invoice Nos.", CreateNoSeries.PostedPurchaseInvoice()); + PurchasesPayablesSetup.Validate("Credit Memo Nos.", CreateNoSeries.PostedPurchaseCreditMemo()); + PurchasesPayablesSetup.Validate("Copy Line Descr. to G/L Entry", true); + PurchasesPayablesSetup.Validate("GST Prod. Posting Group", CreateAUPostingGroups.NonGst()); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/1.Setup Data/CreateAUVendPostingGroup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/1.Setup Data/CreateAUVendPostingGroup.Codeunit.al new file mode 100644 index 0000000000..2cf19bb133 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/1.Setup Data/CreateAUVendPostingGroup.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 17145 "Create AU Vend Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVendorPostingGroup(Intercomp(), CreateAUGLAccounts.VendorsIntercompany(), CreateGLAccount.OtherCostsOfOperations(), CreateGLAccount.PmtdiscReceivedDecreases(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PaymentToleranceReceived(), IntercompanyLbl, false); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure Intercomp(): Code[20] + begin + exit(IntercompTok); + end; + + var + IntercompTok: Label 'INTERCOMP', MaxLength = 20; + IntercompanyLbl: Label 'Intercompany', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/2.Master Data/CreateAUVendor.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/2.Master Data/CreateAUVendor.Codeunit.al new file mode 100644 index 0000000000..b1928ce20e --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/2.Master Data/CreateAUVendor.Codeunit.al @@ -0,0 +1,81 @@ +codeunit 17144 "Create AU Vendor" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record Vendor; RunTrigger: Boolean) + var + CreateVendor: Codeunit "Create Vendor"; + CreateTerritory: Codeunit "Create Territory"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + begin + ValidateRecordFields(Rec, ExportFabrikamVATLbl, AtlantaCityLbl, 'US-GA 31772', '', CreateTerritory.Foreign(), CreateVendorPostingGroup.Foreign(), CreateCountryRegion.US(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.ExportPostingGroup(), ''); + InsertAddressID(Rec, ExportFabrikamAddressIDLbl); + end; + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, DomesticFirstUpVATLbl, AlbertonCityLbl, '4207', QueenslandCountyLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Domestic(), CreateCountryRegion.AU(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), ''); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, EUGraphicDesignVATLbl, EningenCityLbl, 'DE-72800', '', CreateTerritory.Foreign(), CreateVendorPostingGroup.Foreign(), CreateCountryRegion.DE(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.ExportPostingGroup(), ''); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, DomesticWorldImporterVATLbl, CoorparooCityLbl, '4151', QueenslandCountyLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Domestic(), CreateCountryRegion.AU(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), ''); + CreateVendor.DomesticNodPublisher(): + begin + ValidateRecordFields(Rec, DomesticNodPublisherVATLbl, EastMelbourneCityLbl, '3002', VictoriaCountyLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Domestic(), CreateCountryRegion.AU(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), ''); + InsertAddressID(Rec, DomesticNodPublisherAddressIDLbl); + end; + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; VATRegistrationNo: Code[20]; City: Text[30]; PostCode: Code[20]; County: Code[10]; TerritoryCode: Code[10]; VendorPostingGroup: Code[20]; CountryRegionCode: Code[10]; PaymentTermsCode: Code[10]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate(County, County); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("Vendor Posting Group", VendorPostingGroup); + Vendor.Validate("Country/Region Code", CountryRegionCode); + Vendor.Validate("Payment Terms Code", PaymentTermsCode); + Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Vendor."VAT Registration No." := VATRegistrationNo; + end; + + local procedure InsertAddressID(Vendor: Record Vendor; AddressIDField: Text[10]) + var + AddressID: Record "Address ID"; + begin + AddressID.Init(); + AddressID.Validate("Table No.", Database::Vendor); + AddressID.Validate("Table Key", Vendor.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::Main); + AddressID.Validate("Address ID", AddressIDField); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + end; + + + var + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30; + AlbertonCityLbl: Label 'ALBERTON', MaxLength = 30; + EningenCityLbl: Label 'Eningen', MaxLength = 30; + CoorparooCityLbl: Label 'COORPAROO', MaxLength = 30; + EastMelbourneCityLbl: Label 'EAST MELBOURNE', MaxLength = 30; + ExportFabrikamVATLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVATLbl: Label '274863274B01', MaxLength = 20; + EUGraphicDesignVATLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVATLbl: Label '197548769B01', MaxLength = 20; + DomesticNodPublisherVATLbl: Label '295267495B01', MaxLength = 20; + QueenslandCountyLbl: Label 'QLD', MaxLength = 10; + VictoriaCountyLbl: Label 'VIC', MaxLength = 10; + ExportFabrikamAddressIDLbl: Label '20077917', MaxLength = 10; + DomesticNodPublisherAddressIDLbl: Label '20030073', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueAU.Codeunit.al new file mode 100644 index 0000000000..ff08b50148 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueAU.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 17165 "Create Purch. Dim. Value AU" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/3.Transaction Data/CreateAUPurchaseDocument.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/3.Transaction Data/CreateAUPurchaseDocument.Codeunit.al new file mode 100644 index 0000000000..fd65d86668 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Purchase/3.Transaction Data/CreateAUPurchaseDocument.Codeunit.al @@ -0,0 +1,75 @@ +codeunit 17143 "Create AU Purchase Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + UpdatePaymentTermsOnPurchaseHeader(CreatePaymentTerms.PaymentTermsDAYS30()); + InsertAddressIDForPurchaseHeader(); + end; + + local procedure UpdatePaymentTermsOnPurchaseHeader(PaymentTermsCode: Code[10]); + var + PurchaseHeader: Record "Purchase Header"; + begin + if PurchaseHeader.FindSet() then + repeat + PurchaseHeader.Validate("Payment Terms Code", PaymentTermsCode); + PurchaseHeader.Modify(true); + until PurchaseHeader.Next() = 0; + end; + + local procedure InsertAddressIDForPurchaseHeader() + var + PurchaseHeader: Record "Purchase Header"; + AddressID: Record "Address ID"; + CreateVendor: Codeunit "Create Vendor"; + begin + PurchaseHeader.SetRange("Buy-from Vendor No.", CreateVendor.ExportFabrikam()); + if PurchaseHeader.FindSet() then + repeat + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Purchase Header"); + AddressID.Validate("Table Key", PurchaseHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Buy-from"); + AddressID.Validate("Address ID", ExportFabrikamAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Purchase Header"); + AddressID.Validate("Table Key", PurchaseHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Pay-to"); + AddressID.Validate("Address ID", ExportFabrikamAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + until PurchaseHeader.Next() = 0; + + PurchaseHeader.SetRange("Buy-from Vendor No.", CreateVendor.DomesticNodPublisher()); + if PurchaseHeader.FindSet() then + repeat + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Purchase Header"); + AddressID.Validate("Table Key", PurchaseHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Buy-from"); + AddressID.Validate("Address ID", DomesticNodPublisherAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Purchase Header"); + AddressID.Validate("Table Key", PurchaseHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Pay-to"); + AddressID.Validate("Address ID", DomesticNodPublisherAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + until PurchaseHeader.Next() = 0; + end; + + var + ExportFabrikamAddressIDLbl: Label '20077917', MaxLength = 10; + DomesticNodPublisherAddressIDLbl: Label '20030073', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateAUCustPostingGroup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateAUCustPostingGroup.Codeunit.al new file mode 100644 index 0000000000..0b2cad54d0 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateAUCustPostingGroup.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 17129 "Create AU Cust Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertCustomerPostingGroup(Intercomp(), CreateAUGLAccounts.CustomersIntercompany(), CreateGLAccount.FeesAndChargesRecDom(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesFromCustomers(), CreateGLAccount.FinanceChargesFromCustomers(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PmtdiscGrantedDecreases(), CreateGLAccount.PmtTolGrantedDecreases(), CreateGLAccount.PmtTolGrantedDecreases(), IntercompanyLbl); + ContosoPostingGroup.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCustomerPostingGroup.Domestic(), + CreateCustomerPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PmtTolGrantedDecreases()); + end; + end; + + procedure Intercomp(): Code[20] + begin + exit(IntercompTok); + end; + + local procedure ValidateRecordFields(var CustomerPostingGroup: Record "Customer Posting Group"; PaymentDiscDebitAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + end; + + var + IntercompTok: Label 'INTERCOMP', MaxLength = 20; + IntercompanyLbl: Label 'Intercompany', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateAUSalesRecvSetup.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateAUSalesRecvSetup.Codeunit.al new file mode 100644 index 0000000000..7cfe79d0cd --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateAUSalesRecvSetup.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17130 "Create AU Sales Recv Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + SalesReceivablesSetup.Get(); + + SalesReceivablesSetup.Validate("Invoice Nos.", CreateNoSeries.PostedSalesInvoice()); + SalesReceivablesSetup.Validate("Credit Memo Nos.", CreateNoSeries.PostedSalesCreditMemo()); + SalesReceivablesSetup.Validate("Copy Line Descr. to G/L Entry", true); + SalesReceivablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateReminderLevelAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateReminderLevelAU.Codeunit.al new file mode 100644 index 0000000000..e14968185a --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/1.Setup Data/CreateReminderLevelAU.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 17164 "Create Reminder Level AU" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + ValidateRecordFields(Rec, 15); + if Rec."No." = 2 then + ValidateRecordFields(Rec, 29); + if Rec."No." = 3 then + ValidateRecordFields(Rec, 44); + end; + end; + end; + + procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFee: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFee); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUCustomer.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUCustomer.Codeunit.al new file mode 100644 index 0000000000..dd973f11b9 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUCustomer.Codeunit.al @@ -0,0 +1,81 @@ +codeunit 17132 "Create AU Customer" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record Customer; RunTrigger: Boolean) + var + CreateCustomer: Codeunit "Create Customer"; + CreateTerritory: Codeunit "Create Territory"; + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateLanguage: Codeunit "Create Language"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + begin + ValidateRecordFields(Rec, DomesticAdatumCorporationVATLbl, AdelaideCityLbl, '5000', SouthAustraliaCountyLbl, CreateTerritory.Foreign(), CreateCustomerPostingGroup.Domestic(), CreateLanguage.ENA(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), ''); + InsertAddressID(Rec, DomesticAdatumCorporationAddressIDLbl) + end; + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, DomesticTreyResearchVATLbl, PerthCityLbl, '6800', WesternAustraliaCountyLbl, CreateTerritory.Foreign(), CreateCustomerPostingGroup.Domestic(), CreateLanguage.ENA(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), ''); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, SchoolOfFineArtVATLbl, MiamiCityLbl, 'US-FL 37125', '', CreateTerritory.Foreign(), CreateCustomerPostingGroup.Foreign(), CreateLanguage.ENU(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.ExportPostingGroup(), ''); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, EUAlpineSkiHouseVATLbl, MunchenCityLbl, 'DE-80807', '', CreateTerritory.Foreign(), CreateCustomerPostingGroup.Foreign(), CreateLanguage.DEU(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.ExportPostingGroup(), ''); + CreateCustomer.DomesticRelecloud(): + begin + ValidateRecordFields(Rec, DomesticRelecloudVATLbl, MurdunnaCityLbl, '7178', TasmaniaCountyLbl, CreateTerritory.Foreign(), CreateCustomerPostingGroup.Domestic(), CreateLanguage.ENA(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), ''); + InsertAddressID(Rec, DomesticRelecloudAddressIDLbl) + end; + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; VATRegistrationNo: Code[20]; City: Text[30]; PostCode: Code[20]; County: Code[10]; TerritoryCode: Code[10]; CustomerPostingGroup: Code[20]; LanguageCode: Code[10]; PaymentTermsCode: Code[10]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]) + begin + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer.Validate(County, County); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Customer Posting Group", CustomerPostingGroup); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Payment Terms Code", PaymentTermsCode); + Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Customer.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Customer."VAT Registration No." := VATRegistrationNo; + end; + + local procedure InsertAddressID(Customer: Record Customer; AddressIDField: Text[10]) + var + AddressID: Record "Address ID"; + begin + AddressID.Init(); + AddressID.Validate("Table No.", Database::Customer); + AddressID.Validate("Table Key", Customer.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::Main); + AddressID.Validate("Address ID", AddressIDField); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + end; + + var + AdelaideCityLbl: Label 'ADELAIDE', MaxLength = 30; + PerthCityLbl: Label 'Perth', MaxLength = 30; + MurdunnaCityLbl: Label 'Murdunna', MaxLength = 30; + MiamiCityLbl: Label 'Miami', MaxLength = 30; + MunchenCityLbl: Label 'Munchen', MaxLength = 30; + DomesticAdatumCorporationVATLbl: Label '789456278', MaxLength = 20; + DomesticTreyResearchVATLbl: Label '254687456', MaxLength = 20; + EUAlpineSkiHouseVATLbl: Label '533435789', MaxLength = 20; + DomesticRelecloudVATLbl: Label '582048936', MaxLength = 20; + SchoolOfFineArtVATLbl: Label '733495789', MaxLength = 20; + SouthAustraliaCountyLbl: Label 'SA', MaxLength = 10; + WesternAustraliaCountyLbl: Label 'WA', MaxLength = 10; + TasmaniaCountyLbl: Label 'TAS', MaxLength = 10; + DomesticAdatumCorporationAddressIDLbl: Label '20028478', MaxLength = 10; + DomesticRelecloudAddressIDLbl: Label '20104226', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUCustomerTemplate.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUCustomerTemplate.Codeunit.al new file mode 100644 index 0000000000..5c762562b6 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUCustomerTemplate.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 17133 "Create AU Customer Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Customer Templ."; RunTrigger: Boolean) + var + CreateCustomerTemplate: Codeunit "Create Customer Template"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(): + ValidateRecordFields(Rec, CreateCountryRegion.AU()); + CreateCustomerTemplate.CustomerPerson(): + ValidateRecordFields(Rec, CreateCountryRegion.AU()); + end; + end; + + procedure ValidateRecordFields(var CustomerTempl: Record "Customer Templ."; CountryRegionCode: Code[10]) + begin + CustomerTempl.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUShipToAddress.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUShipToAddress.Codeunit.al new file mode 100644 index 0000000000..7895fbeb2b --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateAUShipToAddress.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 17134 "Create AU Ship-To Address" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Ship-to Address"; RunTrigger: Boolean) + var + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + CreateCustomer: Codeunit "Create Customer"; + begin + case Rec."Customer No." of + CreateCustomer.DomesticAdatumCorporation(): + begin + if Rec.Code = CreateShiptoAddress.Cheltenham() then + ValidateRecordFields(Rec, CanberraLbl, '2600', NSWCountyLbl, ''); + if Rec.Code = CreateShiptoAddress.London() then + ValidateRecordFields(Rec, BukkullaLbl, '2360', NSWCountyLbl, ''); + end; + CreateCustomer.DomesticTreyResearch(): + begin + if Rec.Code = CreateShiptoAddress.Fleet() then + ValidateRecordFields(Rec, BowenBridgeLbl, '4006', QLDCountyLbl, ''); + if Rec.Code = CreateShiptoAddress.TWYCross() then + ValidateRecordFields(Rec, EastMelbourneLbl, '3002', VICCountyLbl, ''); + end; + end; + end; + + local procedure ValidateRecordFields(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]; County: Text[30]; CountryRegionCode: Code[10]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + ShiptoAddress.Validate(County, County); + ShiptoAddress."Country/Region Code" := CountryRegionCode; + end; + + var + CanberraLbl: Label 'CANBERRA', MaxLength = 30; + BukkullaLbl: Label 'BUKKULLA', MaxLength = 30; + BowenBridgeLbl: Label 'BOWEN BRIDGE', MaxLength = 30; + EastMelbourneLbl: Label 'EAST MELBOURNE', MaxLength = 30; + NSWCountyLbl: Label 'NSW', MaxLength = 30; + QLDCountyLbl: Label 'QLD', MaxLength = 30; + VICCountyLbl: Label 'VIC', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateSalesDimValueAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateSalesDimValueAU.Codeunit.al new file mode 100644 index 0000000000..2f5cdd5432 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/2.Master Data/CreateSalesDimValueAU.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 17166 "Create Sales Dim Value AU" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/3.Transaction Data/CreateAUSalesDocument.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/3.Transaction Data/CreateAUSalesDocument.Codeunit.al new file mode 100644 index 0000000000..4ef3500ad6 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoData/Sales/3.Transaction Data/CreateAUSalesDocument.Codeunit.al @@ -0,0 +1,91 @@ +codeunit 17135 "Create AU Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + UpdatePaymentTermsOnSalesHeader(CreatePaymentTerms.PaymentTermsDAYS30()); + InsertAddressIDForSalesHeader(); + end; + + local procedure UpdatePaymentTermsOnSalesHeader(PaymentTermsCode: Code[10]); + var + SalesHeader: Record "Sales Header"; + begin + if SalesHeader.FindSet() then + repeat + SalesHeader.Validate("Payment Terms Code", PaymentTermsCode); + SalesHeader.Modify(true); + until SalesHeader.Next() = 0; + end; + + local procedure InsertAddressIDForSalesHeader() + var + SalesHeader: Record "Sales Header"; + AddressID: Record "Address ID"; + CreateCustomer: Codeunit "Create Customer"; + begin + SalesHeader.SetRange("Sell-to Customer No.", CreateCustomer.DomesticAdatumCorporation()); + if SalesHeader.FindSet() then + repeat + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Sales Header"); + AddressID.Validate("Table Key", SalesHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Bill-to"); + AddressID.Validate("Address ID", DomesticAdatumCorporationAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Sales Header"); + AddressID.Validate("Table Key", SalesHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Ship-to"); + AddressID.Validate("Address ID", DomesticAdatumCorporationAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Sales Header"); + AddressID.Validate("Table Key", SalesHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Sell-to"); + AddressID.Validate("Address ID", DomesticAdatumCorporationAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + until SalesHeader.Next() = 0; + + SalesHeader.SetRange("Sell-to Customer No.", CreateCustomer.DomesticRelecloud()); + if SalesHeader.FindSet() then + repeat + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Sales Header"); + AddressID.Validate("Table Key", SalesHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Bill-to"); + AddressID.Validate("Address ID", DomesticRelecloudAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Sales Header"); + AddressID.Validate("Table Key", SalesHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Ship-to"); + AddressID.Validate("Address ID", DomesticRelecloudAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + + AddressID.Init(); + AddressID.Validate("Table No.", Database::"Sales Header"); + AddressID.Validate("Table Key", SalesHeader.GetPosition()); + AddressID.Validate("Address Type", AddressID."Address Type"::"Sell-to"); + AddressID.Validate("Address ID", DomesticRelecloudAddressIDLbl); + AddressID.Validate("Bar Code System", AddressID."Bar Code System"::"4-State Bar Code"); + AddressID.Insert(); + until SalesHeader.Next() = 0; + end; + + var + DomesticAdatumCorporationAddressIDLbl: Label '20028478', MaxLength = 10; + DomesticRelecloudAddressIDLbl: Label '20104226', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/AUContosoLocalization.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/AUContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..12d69146f1 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/AUContosoLocalization.Codeunit.al @@ -0,0 +1,322 @@ +codeunit 17131 "AU Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + FoundationModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Finance: + FinanceModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Purchase: + PurchaseModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Sales: + SalesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Bank: + BankModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + FixedAssetModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Inventory: + InventoryModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::CRM: + CRMModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::"Human Resources Module": + HumanResourcesModule(ContosoDemoDataLevel); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create AU Industry Group"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create AU Territory"); + end; + end; + + local procedure HumanResourcesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Empl. Posting Group AU"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create AU Employee"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create AU Inv Posting Group"); + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create AU Inv Posting Setup"); + Codeunit.Run(Codeunit::"Create AU Item Template"); + end; + + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create AU FA Posting Group"); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create AU County"); + Codeunit.Run(Codeunit::"Create AU Post Code"); + Codeunit.Run(Codeunit::"Create AU Company Information"); + Codeunit.Run(Codeunit::"Create AU No. Series"); + Codeunit.Run(Codeunit::"Create AU Shipping Agent"); + Codeunit.Run(Codeunit::"Create AU Source Code"); + Codeunit.Run(Codeunit::"Create AU Source Code Setup"); + Codeunit.Run(Codeunit::"Create AU Data Exchange"); + end; + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create AU Purch Payable Setup"); + Codeunit.Run(Codeunit::"Create AU Vend Posting Group"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create AU Purchase Document"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create AU Sales Recv Setup"); + Codeunit.Run(Codeunit::"Create AU Cust Posting Group"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create AU Sales Document"); + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateAUPostingGroups: Codeunit "Create AU Posting Groups"; + CreateAUGLAccounts: Codeunit "Create AU GL Accounts"; + CreateAUVATPostingGroups: Codeunit "Create AU VAT Posting Groups"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create AU General Ledger Setup"); + Codeunit.Run(Codeunit::"Create AU VAT Posting Groups"); + Codeunit.Run(Codeunit::"Create AU Posting Groups"); + CreateAUGLAccounts.AddCategoriesToMiniGLAccounts(); + + CreateAUPostingGroups.UpdateGenPostingSetup(); + CreateAUVATPostingGroups.UpdateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create AU Gen. Journ. Template"); + Codeunit.Run(Codeunit::"Create AU Gen. Journal Batch"); + Codeunit.Run(Codeunit::"Create AU Acc Schedule Name"); + Codeunit.Run(Codeunit::"Create AU Column Layout Name"); + Codeunit.Run(Codeunit::"Create AU WHT Revenue Type"); + Codeunit.Run(Codeunit::"Create AU WHT Posting Setup"); + Codeunit.Run(Codeunit::"Create BAS XML ID AU"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create AU Column Layout"); + Codeunit.Run(Codeunit::"Create AU Financial Report"); + Codeunit.Run(Codeunit::"Create AU VAT Statement"); + Codeunit.Run(Codeunit::"Create Currency Ex. Rate AU"); + Codeunit.Run(Codeunit::"Create VAT Setup Post.Grp. AU"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create AU Bank Acc Posting Grp"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create AU Gen. Journal Line"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateAUInvPostingSetup: Codeunit "Create AU Inv Posting Setup"; + CreateAUBankAccPostingGrp: Codeunit "Create AU Bank Acc Posting Grp"; + CreateAUPaymentMethod: Codeunit "Create AU Payment Method"; + CreateAUBankAccount: Codeunit "Create AU Bank Account"; + CreateAUVendor: Codeunit "Create AU Vendor"; + CreateAUCustomer: Codeunit "Create AU Customer"; + CreateAUEmployee: Codeunit "Create AU Employee"; + CreateAUCountryRegion: Codeunit "Create AU Country Region"; + CreateAUPaymentTerms: Codeunit "Create AU Payment Terms"; + CreateAUShippingAgent: Codeunit "Create AU Shipping Agent"; + CreateAUItem: Codeunit "Create AU Item"; + CreateAUItemCharge: Codeunit "Create AU Item Charge"; + CreateAULocation: Codeunit "Create AU Location"; + CreateAUCustomerTemplate: Codeunit "Create AU Customer Template"; + CreateAUShipToAddress: Codeunit "Create AU Ship-To Address"; + CreateAUFAPostingGroup: Codeunit "Create AU FA Posting Group"; + CreateAUResource: Codeunit "Create AU Resource"; + CreateAUAccScheduleLine: Codeunit "Create AU Acc. Schedule Line"; + CreateAUGenJournalBatch: Codeunit "Create AU Gen. Journal Batch"; + CreateAUJobPostingGroup: Codeunit "Create AU Job Posting Group"; + CreateAUCustPostingGroup: Codeunit "Create AU Cust Posting Group"; + CreateAUCurrency: Codeunit "Create AU Currency"; + CreateReminderLevelAU: Codeunit "Create Reminder Level AU"; + CreateSalesDimValueAU: Codeunit "Create Sales Dim Value AU"; + CreatePurchDimValueAU: Codeunit "Create Purch. Dim. Value AU"; + CreateCurrencyExRateAU: Codeunit "Create Currency Ex. Rate AU"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + BindSubscription(CreateAUCountryRegion); + BindSubscription(CreateAUPaymentTerms); + BindSubscription(CreateAUShippingAgent); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateAUResource); + BindSubscription(CreateAUAccScheduleLine); + BindSubscription(CreateAUGenJournalBatch); + BindSubscription(CreateAUCurrency); + BindSubscription(CreateCurrencyExRateAU); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateAULocation); + BindSubscription(CreateAUInvPostingSetup); + BindSubscription(CreateAUItem); + BindSubscription(CreateAUItemCharge); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateAUBankAccPostingGrp); + BindSubscription(CreateAUPaymentMethod); + BindSubscription(CreateAUBankAccount); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreatePurchDimValueAU); + BindSubscription(CreateAUVendor); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateAUCustPostingGroup); + BindSubscription(CreateAUCustomer); + BindSubscription(CreateAUCustomerTemplate); + BindSubscription(CreateAUShipToAddress); + BindSubscription(CreateReminderLevelAU); + BindSubscription(CreateSalesDimValueAU); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + BindSubscription(CreateAUEmployee); + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateAUFAPostingGroup); + Enum::"Contoso Demo Data Module"::"Job Module": + BindSubscription(CreateAUJobPostingGroup); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateAUInvPostingSetup: Codeunit "Create AU Inv Posting Setup"; + CreateAUBankAccPostingGrp: Codeunit "Create AU Bank Acc Posting Grp"; + CreateAUPaymentMethod: Codeunit "Create AU Payment Method"; + CreateAUBankAccount: Codeunit "Create AU Bank Account"; + CreateAUVendor: Codeunit "Create AU Vendor"; + CreateAUCustomer: Codeunit "Create AU Customer"; + CreateAUEmployee: Codeunit "Create AU Employee"; + CreateAUCountryRegion: Codeunit "Create AU Country Region"; + CreateAUPaymentTerms: Codeunit "Create AU Payment Terms"; + CreateAUShippingAgent: Codeunit "Create AU Shipping Agent"; + CreateAUItemCharge: Codeunit "Create AU Item Charge"; + CreateAUItem: Codeunit "Create AU Item"; + CreateAULocation: Codeunit "Create AU Location"; + CreateAUCustomerTemplate: Codeunit "Create AU Customer Template"; + CreateAUShipToAddress: Codeunit "Create AU Ship-To Address"; + CreateAUFAPostingGroup: Codeunit "Create AU FA Posting Group"; + CreateAUResource: Codeunit "Create AU Resource"; + CreateAUGenJournalBatch: Codeunit "Create AU Gen. Journal Batch"; + CreateAUAccScheduleLine: Codeunit "Create AU Acc. Schedule Line"; + CreateAUJobPostingGroup: Codeunit "Create AU Job Posting Group"; + CreateAUCustPostingGroup: Codeunit "Create AU Cust Posting Group"; + CreateAUCurrency: Codeunit "Create AU Currency"; + CreateReminderLevelAU: Codeunit "Create Reminder Level AU"; + CreateSalesDimValueAU: Codeunit "Create Sales Dim Value AU"; + CreatePurchDimValueAU: Codeunit "Create Purch. Dim. Value AU"; + CreateCurrencyExRateAU: Codeunit "Create Currency Ex. Rate AU"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + UnbindSubscription(CreateAUCountryRegion); + UnbindSubscription(CreateAUPaymentTerms); + UnbindSubscription(CreateAUShippingAgent); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateAUBankAccPostingGrp); + UnbindSubscription(CreateAUPaymentMethod); + UnbindSubscription(CreateAUBankAccount); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateAUInvPostingSetup); + UnbindSubscription(CreateAUItem); + UnbindSubscription(CreateAUItemCharge); + UnbindSubscription(CreateAULocation); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreatePurchDimValueAU); + UnbindSubscription(CreateAUVendor); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateAUCustPostingGroup); + UnbindSubscription(CreateAUCustomer); + UnbindSubscription(CreateAUCustomerTemplate); + UnbindSubscription(CreateAUShipToAddress); + UnbindSubscription(CreateReminderLevelAU); + UnbindSubscription(CreateSalesDimValueAU) + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + UnbindSubscription(CreateAUEmployee); + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnbindSubscription(CreateAUFAPostingGroup); + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateAUResource); + UnbindSubscription(CreateAUAccScheduleLine); + UnbindSubscription(CreateAUGenJournalBatch); + UnbindSubscription(CreateAUCurrency); + UnbindSubscription(CreateCurrencyExRateAU); + end; + Enum::"Contoso Demo Data Module"::"Job Module": + UnbindSubscription(CreateAUJobPostingGroup); + end; + end; +} diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUAccountSchedule.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUAccountSchedule.Codeunit.al new file mode 100644 index 0000000000..41f0df9275 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUAccountSchedule.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 17141 "Contoso AU Account Schedule" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Column Layout" = ri; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]) + var + ColumnLayout: Record "Column Layout"; + Exists: Boolean; + begin + if ColumnLayout.Get(ColumnLayoutName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ColumnLayout.Validate("Column Layout Name", ColumnLayoutName); + ColumnLayout.Validate("Line No.", LineNo); + ColumnLayout.Validate("Column No.", ColumnNo); + ColumnLayout.Validate("Column Header", ColumnHeader); + ColumnLayout.Validate("Column Type", ColumnType); + ColumnLayout.Validate("Ledger Entry Type", LedgerEntryType); + ColumnLayout.Validate(Formula, Formula); + ColumnLayout.Validate("Show Opposite Sign", ShowOppositeSign); + ColumnLayout.Validate(Show, Show); + ColumnLayout.Validate("Comparison Period Formula", ComparisonPeriodFormula); + ColumnLayout.Validate("Amount Type", AmountType); + + if Exists then + ColumnLayout.Modify(true) + else + ColumnLayout.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUBAS.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUBAS.Codeunit.al new file mode 100644 index 0000000000..1d2104a82e --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUBAS.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 17171 "Contoso AU BAS" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "BAS XML Field ID" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertBASXMLFieldID(XMLFieldID: Text[80]; FieldNo: Integer) + var + BASXMLFieldID: Record "BAS XML Field ID"; + Exists: Boolean; + begin + if BASXMLFieldID.Get(XMLFieldID) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + BASXMLFieldID.Validate("XML Field ID", XMLFieldID); + BASXMLFieldID.Validate("Field No.", FieldNo); + + if Exists then + BASXMLFieldID.Modify(true) + else + BASXMLFieldID.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUCounty.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUCounty.Codeunit.al new file mode 100644 index 0000000000..e8c4d0bafb --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUCounty.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 17150 "Contoso AU County" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata County = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertCounty(Name: Text[30]; Description: Text[30]) + var + County: Record County; + Exists: Boolean; + begin + if County.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + County.Validate(Name, Name); + County.Validate(Description, Description); + + if Exists then + County.Modify(true) + else + County.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUPostCode.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUPostCode.Codeunit.al new file mode 100644 index 0000000000..2615826e52 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUPostCode.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 17113 "Contoso AU Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]; County: Text[30]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + PostCode.Validate(County, County); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUWHT.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUWHT.Codeunit.al new file mode 100644 index 0000000000..077d38fa25 --- /dev/null +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoAUWHT.Codeunit.al @@ -0,0 +1,65 @@ +codeunit 17152 "Contoso AU WHT" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "WHT Posting Setup" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertWHTPostingSetup(WHTBusinessPostingGroup: Code[20]; WHTProductPostingGroup: Code[20]; WHTPerc: Decimal; PrepaidWHTAccountCode: Code[20]; PayableWHTAccountCode: Code[20]; RevenueType: Code[10]; PurchWHTAdjAccountNo: Code[20]; SalesWHTAdjAccountNo: Code[20]; RealizedWHTType: Option; WHTMinimumInvoiceAmount: Decimal) + var + WHTPostingSetup: Record "WHT Posting Setup"; + Exists: Boolean; + begin + if WHTPostingSetup.Get(WHTBusinessPostingGroup, WHTProductPostingGroup) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + WHTPostingSetup.Validate("WHT Business Posting Group", WHTBusinessPostingGroup); + WHTPostingSetup.Validate("WHT Product Posting Group", WHTProductPostingGroup); + WHTPostingSetup.Validate("WHT %", WHTPerc); + WHTPostingSetup.Validate("Prepaid WHT Account Code", PrepaidWHTAccountCode); + WHTPostingSetup.Validate("Payable WHT Account Code", PayableWHTAccountCode); + WHTPostingSetup.Validate("Revenue Type", RevenueType); + WHTPostingSetup.Validate("Purch. WHT Adj. Account No.", PurchWHTAdjAccountNo); + WHTPostingSetup.Validate("Sales WHT Adj. Account No.", SalesWHTAdjAccountNo); + WHTPostingSetup.Validate("Realized WHT Type", RealizedWHTType); + WHTPostingSetup.Validate("WHT Minimum Invoice Amount", WHTMinimumInvoiceAmount); + + if Exists then + WHTPostingSetup.Modify(true) + else + WHTPostingSetup.Insert(true); + end; + + procedure InsertWHTRevenueType(Code: Code[10]; Description: Text[50]; Sequence: Integer) + var + WHTRevenueTypes: Record "WHT Revenue Types"; + Exists: Boolean; + begin + if WHTRevenueTypes.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + WHTRevenueTypes.Validate(Code, Code); + WHTRevenueTypes.Validate(Description, Description); + WHTRevenueTypes.Validate(Sequence, Sequence); + + if Exists then + WHTRevenueTypes.Modify(true) + else + WHTRevenueTypes.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/Codeunits/ContosoDemoDataSetupAU.Codeunit.al b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoDemoDataSetupAU.Codeunit.al similarity index 100% rename from Apps/AU/ContosoCoffeeDemoDatasetAU/app/Codeunits/ContosoDemoDataSetupAU.Codeunit.al rename to Apps/AU/ContosoCoffeeDemoDatasetAU/app/DemoTool/Contoso Helpers/ContosoDemoDataSetupAU.Codeunit.al diff --git a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json index a8110114f1..6c4c3f0dfb 100644 --- a/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json +++ b/Apps/AU/ContosoCoffeeDemoDatasetAU/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 17107, - "to": 17110 + "to": 17210 } ], "resourceExposurePolicy": { diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostingGrpBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostingGrpBE.Codeunit.al new file mode 100644 index 0000000000..3eb6a93884 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostingGrpBE.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 11370 "Create Bank Acc Posting Grp BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccPostingGroup(var Rec: Record "Bank Account Posting Group"; RunTrigger: Boolean) + var + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Checking(): + ValidateRecordFields(Rec, CreateBEGLAccount.BankLocalCurrency()); + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateBEGLAccount.BankProcessing()); + CreateBankAccPostingGrp.Savings(): + ValidateRecordFields(Rec, CreateBEGLAccount.PostAccount()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/2. Master Data/CreateBankAccountBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/2. Master Data/CreateBankAccountBE.Codeunit.al new file mode 100644 index 0000000000..cbc91b34a2 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/2. Master Data/CreateBankAccountBE.Codeunit.al @@ -0,0 +1,68 @@ +codeunit 11371 "Create Bank Account BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoBank: Codeunit "Contoso Bank"; + SalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoBank.InsertBankAccount(NBLBank(), NewBankofLondonDescLbl, NBLBankAddressLbl, BruggeCityLbl, HollyDicksonContactLbl, NblBankAccountNoLbl, 0, CreateBankAccPostingGrp.Checking(), SalespersonPurchaser.OtisFalls(), ContosoCoffeeDemoDataSetup."Country/Region Code", LastStateMentNoLbl, '', PostCodeBruggeLbl, '', NblBranchNoLbl, ''); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + CreateBankAccountBE: Codeunit "Create Bank Account BE"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateBankAccount(Rec, BankAccountNoLbl, CityAntwerpenLbl, -1447200, PostcodeAntwerpenLbl, CheckingBankBranchNoLbl); + CreateBankAccountBE.NBLBank(): + begin + Rec.Validate(IBAN, 'BE67 2900 0461 4187'); + Rec.Validate("Protocol No.", NBLProtocolNoLbl); + Rec.Validate("Version Code", NBLVersionCodeLbl); + end; + end; + end; + + local procedure ValidateBankAccount(var BankAccount: Record "Bank Account"; BankAccountNo: Text[30]; BankAccCity: Text[30]; MinBalance: Decimal; PostCode: Code[20]; BankBranchNo: Text[30]) + begin + BankAccount.Validate(City, BankAccCity); + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Bank Branch No.", BankBranchNo); + BankAccount.Validate("Bank Account No.", BankAccountNo); + end; + + procedure NBLBank(): Code[20] + begin + exit(NBLBankTok); + end; + + var + CityAntwerpenLbl: Label 'ANTWERPEN', MaxLength = 30; + BankAccountNoLbl: Label '431-0065952-59', MaxLength = 30; + PostcodeAntwerpenLbl: Label '2000', MaxLength = 20; + CheckingBankBranchNoLbl: Label '431', MaxLength = 20; + NBLBankTok: Label 'NBL', MaxLength = 20, Locked = true; + NewBankofLondonDescLbl: Label 'New Bank of London', MaxLength = 100; + NBLBankAddressLbl: Label '4 Baker Street', MaxLength = 100; + BruggeCityLbl: Label 'BRUGGE', MaxLength = 30; + HollyDicksonContactLbl: Label 'Holly Dickson', MaxLength = 100; + NblBankAccountNoLbl: Label '290-0046141-87', MaxLength = 30; + LastStateMentNoLbl: Label '4', MaxLength = 20; + PostCodeBruggeLbl: Label '8000', MaxLength = 20; + NblBranchNoLbl: Label '290', MaxLength = 20; + NBLProtocolNoLbl: Label '290', MaxLength = 3; + NBLVersionCodeLbl: Label '1', MaxLength = 1; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/3.Transaction Data/CreateCodaDocument.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/3.Transaction Data/CreateCodaDocument.Codeunit.al new file mode 100644 index 0000000000..c8811f4984 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/3.Transaction Data/CreateCodaDocument.Codeunit.al @@ -0,0 +1,169 @@ +codeunit 11415 "Create Coda Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + CodedTransactions(); + CodedBankAccStatement(); + end; + + local procedure CodedTransactions() + var + ContosoCODABE: Codeunit "Contoso CODA BE"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoCODABE.InsertCodedTransaction('', 0, 0, 0, 0, 1, CreateBEGLAccount.CodaTemporaryAccount(), DefaultPostingLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 1, 0, 0, 3, '', YourSingleTransferOrdersLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 5, 0, 0, 1, CreateGLAccount.Wages(), WagesLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 7, 0, 0, 1, CreateBEGLAccount.BankProcessing(), YourCollectiveTransferOrdersLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 37, 0, 0, 1, CreateBEGLAccount.BankCharges(), GlobalBankChargesLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 37, 6, 0, 1, CreateBEGLAccount.BankCharges(), NetBankChargesLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 37, 11, 0, 1, CreateBEGLAccount.VatRecoverable(), BankChargesVATLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 50, 0, 0, 2, '', TransferToYourAccountLbl); + ContosoCODABE.InsertCodedTransaction('', 1, 52, 0, 0, 2, '', PaymentInYourFavourLbl); + ContosoCODABE.InsertCodedTransaction('', 3, 1, 0, 0, 1, CreateBEGLAccount.CodaTemporaryAccount(), YourCheckPaymentLbl); + ContosoCODABE.InsertCodedTransaction('', 3, 52, 0, 0, 1, CreateBEGLAccount.CodaTemporaryAccount(), CheckRemittanceLbl); + ContosoCODABE.InsertCodedTransaction('', 5, 1, 0, 0, 3, '', PaymentOfDomiciledInvoiceLbl); + ContosoCODABE.InsertCodedTransaction('', 5, 3, 0, 0, 2, '', UnpaidDebtDueLbl); + ContosoCODABE.InsertCodedTransaction('', 5, 5, 0, 0, 2, '', ReimbursementLbl); + ContosoCODABE.InsertCodedTransaction('', 11, 1, 0, 0, 1, CreateBEGLAccount.StockBuyIn(), StockBuyInLbl); + ContosoCODABE.InsertCodedTransaction('', 11, 1, 100, 0, 1, CreateBEGLAccount.StockBuyIn(), StockBuyInGrossAmountLbl); + ContosoCODABE.InsertCodedTransaction('', 11, 1, 426, 0, 1, CreateBEGLAccount.Brokerage(), BrokerageOnStocksLbl); + ContosoCODABE.InsertCodedTransaction('', 11, 1, 427, 0, 1, CreateBEGLAccount.StockExchangeTurnoverTax(), StockExchangeTurnoverTaxLbl); + ContosoCODABE.InsertCodedTransaction('', 13, 11, 0, 0, 1, CreateBEGLAccount.RedemptionOfLoan(), TermedLoanLbl); + ContosoCODABE.InsertCodedTransaction('', 13, 11, 2, 0, 1, CreateGLAccount.InterestonBankBalances(), FinanceChargesOnLoansLbl); + ContosoCODABE.InsertCodedTransaction('', 13, 11, 55, 0, 1, CreateBEGLAccount.RedemptionOfLoan(), RedemptionOfLoanLbl); + ContosoCODABE.InsertCodedTransaction('', 30, 54, 0, 1, 1, CreateBEGLAccount.Transfers(), CapitalFinChargesInvestmentsLbl); + ContosoCODABE.InsertCodedTransaction('', 30, 54, 1, 0, 1, CreateBEGLAccount.IncomeFromLoans(), FinanceChargesReceivedLbl); + ContosoCODABE.InsertCodedTransaction('', 30, 54, 51, 0, 1, CreateGLAccount.InterestonBankBalances(), WithholdingTaxOnIncomeLbl); + ContosoCODABE.InsertCodedTransaction('', 41, 37, 0, 1, 1, CreateBEGLAccount.BankCharges(), ForeignTransferCostsLbl); + ContosoCODABE.InsertCodedTransaction('', 41, 37, 11, 1, 1, CreateBEGLAccount.VatRecoverable(), ForeignTransferVATLbl); + ContosoCODABE.InsertCodedTransaction('', 41, 37, 13, 1, 1, CreateBEGLAccount.BankCharges(), ForeignTransfPaymCommisionLbl); + ContosoCODABE.InsertCodedTransaction('', 41, 37, 39, 1, 1, CreateGLAccount.PhoneandFax(), ForeignTransferPhoneCostsLbl); + ContosoCODABE.InsertCodedTransaction('', 41, 37, 100, 1, 1, CreateBEGLAccount.BankCharges(), ForeignTransferGrossAmountLbl); + end; + + local procedure CodedBankAccStatement() + var + Customer: Record Customer; + Vendor: Record Vendor; + ContosoCODABE: Codeunit "Contoso CODA BE"; + CreateBankAccountBE: Codeunit "Create Bank Account BE"; + CreateCustomer: Codeunit "Create Customer"; + CreateVendor: Codeunit "Create Vendor"; + CustomerName: Text[35]; + CustomerAddress: Text[35]; + CustomerCity: Text[35]; + VendorName: Text[35]; + VendorAddress: Text[35]; + VendorCity: Text[35]; + begin + ContosoCODABE.InsertCodedBankAccStatement(CreateBankAccountBE.NBLBank(), StatementNoLbl, 1853323, 20010216D, 983935); + + Customer.Get(CreateCustomer.DomesticAdatumCorporation()); + CustomerName := CopyStr(Customer.Name, 1, 35); + CustomerAddress := CopyStr(Customer.Address, 1, 35); + CustomerCity := CopyStr(Customer.City, 1, 35); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 10000, CodId::Movement, CodType::Global, '230058315713', 498297, 20080217D, 0, 1, 50, 0, MessType::"Non standard format", 0, '*** 00/9906/86864***', 20080217D, '230058315713', CustomerName, CustomerAddress, CustomerCity, 0, '216/1'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 20000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, 'REF. 850719730107 + 498.297 EUR', 0D, '', '', '', '', 10000, '216/1'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 30000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, ByOrderOfLbl + ' ' + '230-0583157-13', 0D, '', '', '', '', 10000, '216/1'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 40000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, CustomerName + ' ' + CustomerAddress, 0D, '', '', '', '', 10000, '216/1'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 50000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, CustomerCity, 0D, '', '', '', '', 10000, '216/1'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 60000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, '*** 00/9906/103001***', 0D, '', '', '', '', 10000, '216/1'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 70000, CodId::Movement, CodType::Global, '4850743000074', 6967, 20080217D, 2, 1, 50, 0, MessType::"Non standard format", 0, 'REF. **/36.9288', 20080217D, '', '', '', '', 0, '216/2'); + + Customer.Get(CreateCustomer.EUAlpineSkiHouse()); + CustomerName := CopyStr(Customer.Name, 1, 35); + CustomerAddress := CopyStr(Customer.Address, 1, 35); + CustomerCity := CopyStr(Customer.City, 1, 35); + + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 80000, CodId::Movement, CodType::Global, '230058315713', 100200, 20080217D, 0, 1, 50, 0, MessType::"Non standard format", 0, '*** 00/9906/84037***', 20080217D, '310054005646', CustomerName, CustomerAddress, CustomerCity, 0, '216/3'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 90000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, 'REF. 850719730107 + 100.200 EUR', 0D, '', '', '', '', 80000, '216/3'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 100000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, ByOrderOfLbl + ' ' + '310-0540056-46', 0D, '', '', '', '', 80000, '216/3'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 110000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, CustomerName + ' ' + CustomerAddress, 0D, '', '', '', '', 80000, '216/3'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 120000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, CustomerCity, 0D, '', '', '', '', 80000, '216/3'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 130000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, PrepaymentShipmentLbl, 0D, '', '', '', '', 80000, '216/3'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 140000, CodId::Movement, CodType::Global, '4850750705981', -1208, 20010216D, 0, 3, 3, 0, MessType::"Standard format", 107, '4001969689460002 00001602010000 ARAL MECHELEN MECHELEN', 20080217D, '', '', '', '', 0, '216/4'); + + Customer.Get(CreateCustomer.DomesticTreyResearch()); + CustomerName := CopyStr(Customer.Name, 1, 35); + CustomerAddress := CopyStr(Customer.Address, 1, 35); + CustomerCity := CopyStr(Customer.City, 1, 35); + + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 150000, CodId::Movement, CodType::Global, '788535710831', 426053, 20080217D, 0, 1, 50, 0, MessType::"Standard format", 101, '000010300285', 20080217D, '788535710831', CustomerName, CustomerAddress, CustomerCity, 0, '216/5'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 160000, CodId::Movement, CodType::Global, '4866447710582', -182, 20080217D, 3, 41, 37, 0, MessType::"Non standard format", 0, '', 20080217D, '', '', '', '', 0, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 170000, CodId::Information, CodType::Global, '4866447710582', 0, 0D, 3, 41, 37, 0, MessType::"Non standard format", 0, RabobankLbl, 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 180000, CodId::Information, CodType::Global, '4866447710582', 0, 0D, 3, 41, 37, 0, MessType::"Non standard format", 0, TransferOrderChargesLbl + ' EUR 5550,00', 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 190000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, 'REF. 866447710582 FOLIO 01', 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 200000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, TransferOrderChargesLbl, 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 210000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, 'EUR 5550,00 O.REF. : 0298077832710582 2311', 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 220000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, CorrespondentLbl + ' ' + RabobankLbl, 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 230000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, ChargesToYourDebitInEURLbl, 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 240000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, PaymentCommissionLbl + ' 150,00', 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 250000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, VATTaxableLbl + ' 150,00 VAT 21,00% 32,00', 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 260000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, TotalToYourDebitLbl + ' VAL. 15.02 EUR 182,00', 0D, '', '', '', '', 160000, '216/6'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 270000, CodId::Movement, CodType::Detail, '4866447710582', -32, 20080217D, 8, 41, 37, 11, MessType::"Standard format", 106, '0000000000320000000150000002100000000 000000000032000', 20080217D, '', '', '', '', 160000, '216/6-1'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 280000, CodId::Movement, CodType::Detail, '4866447710582', -150, 20080217D, 8, 41, 37, 13, MessType::"Non standard format", 0, '', 20080217D, '', '', '', '', 160000, '216/6-2'); + + Vendor.Get(CreateVendor.EUGraphicDesign()); + VendorName := CopyStr(Vendor.Name, 1, 35); + VendorAddress := CopyStr(Vendor.Address, 1, 35); + VendorCity := CopyStr(Vendor.City, 1, 35); + + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 290000, CodId::Movement, CodType::Global, '4850659338955', -220099, 20080217D, 0, 1, 1, 0, MessType::"Non standard format", 0, '101000010802665', 20080217D, '431068010811', VendorName, VendorAddress, VendorCity, 0, '216/7'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 300000, CodId::Movement, CodType::Global, '4850836332760', -1700, 20080217D, 0, 1, 1, 0, MessType::"Standard format", 101, '198411561414', 20080217D, '431068011114', MillersAndCoLbl, '', '', 0, '216/8'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 310000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, AsOfDateYouAreInvitedToLbl, 0D, '', '', '', '', 0, '216/0'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 320000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, NewGovernmentLoanUsingRefLbl, 0D, '', '', '', '', 0, '216/0'); + ContosoCODABE.InsertCodedBankAccStatLine(CreateBankAccountBE.NBLBank(), StatementNoLbl, 330000, CodId::"Free Message", CodType::Global, '', 0, 0D, 0, 0, 0, 0, MessType::"Non standard format", 0, PleaseContactYourBankManagerLbl, 0D, '', '', '', '', 0, '216/0'); + end; + + var + StatementNoLbl: Label '216', MaxLength = 20; + MessType: Option "Non standard format","Standard format"; + CodId: Option ,,Movement,Information,"Free Message"; + CodType: Option Global,Detail; + RedemptionOfLoanLbl: Label 'Redemption of Loan', MaxLength = 50; + StockBuyInLbl: Label 'Stock Buy In', MaxLength = 50; + StockExchangeTurnoverTaxLbl: Label 'Stock Exchange Turnover Tax', MaxLength = 50; + DefaultPostingLbl: Label 'Default Posting', MaxLength = 50; + YourSingleTransferOrdersLbl: Label 'Your single Transfer Orders', MaxLength = 50; + WagesLbl: Label 'Wages', MaxLength = 50; + YourCollectiveTransferOrdersLbl: Label 'Your collective Transfer Orders', MaxLength = 50; + GlobalBankChargesLbl: Label 'Global Bank Charges', MaxLength = 50; + NetBankChargesLbl: Label 'Net Bank Charges', MaxLength = 50; + BankChargesVATLbl: Label 'Bank Charges VAT', MaxLength = 50; + TransferToYourAccountLbl: Label 'Transfer to your Account', MaxLength = 50; + PaymentInYourFavourLbl: Label 'Payment in your Favour', MaxLength = 50; + YourCheckPaymentLbl: Label 'Your Check Payment', MaxLength = 50; + CheckRemittanceLbl: Label 'Check Remittance', MaxLength = 50; + PaymentOfDomiciledInvoiceLbl: Label 'Payment of Domiciled Invoice', MaxLength = 50; + UnpaidDebtDueLbl: Label 'Unpaid Debt Due', MaxLength = 50; + ReimbursementLbl: Label 'Reimbursement', MaxLength = 50; + StockBuyInGrossAmountLbl: Label 'Stock Buy In Gross Amount', MaxLength = 50; + BrokerageOnStocksLbl: Label 'Brokerage on Stocks', MaxLength = 50; + TermedLoanLbl: Label 'Termed Loan', MaxLength = 50; + FinanceChargesOnLoansLbl: Label 'Finance Charges on Loans', MaxLength = 50; + CapitalFinChargesInvestmentsLbl: Label 'Capital/Finance Charges Investments', MaxLength = 50; + FinanceChargesReceivedLbl: Label 'Finance Charges Received', MaxLength = 50; + WithholdingTaxOnIncomeLbl: Label 'Withholding Tax on Income', MaxLength = 50; + ForeignTransferCostsLbl: Label 'Foreign Transfer Costs', MaxLength = 50; + ForeignTransferVATLbl: Label 'Foreign Transfer VAT', MaxLength = 50; + ForeignTransfPaymCommisionLbl: Label 'Foreign Transfer Payment Commision', MaxLength = 50; + ForeignTransferPhoneCostsLbl: Label 'Foreign Transfer Phone Costs', MaxLength = 50; + ForeignTransferGrossAmountLbl: Label 'Foreign Transfer Gross Amount', MaxLength = 50; + ByOrderOfLbl: Label 'BY ORDER OF :', MaxLength = 50; + PrepaymentShipmentLbl: Label 'PREPAYMENT SHIPMENT OF 10/12/99', MaxLength = 50; + RabobankLbl: Label 'RABOBANK NETHERLANDS', MaxLength = 50; + TransferOrderChargesLbl: Label 'TRANSFER ORDER CHARGES :', MaxLength = 50; + CorrespondentLbl: Label 'CORRESPONDENT', MaxLength = 50; + ChargesToYourDebitInEURLbl: Label 'CHARGES TO YOUR DEBIT IN EUR :', MaxLength = 50; + PaymentCommissionLbl: Label 'PAYMENT COMMISSION', MaxLength = 50; + VATTaxableLbl: Label 'VAT TAXABLE', MaxLength = 50; + TotalToYourDebitLbl: Label 'TOTAL TO YOUR DEBIT :', MaxLength = 50; + MillersAndCoLbl: Label 'MILLERS & CO', MaxLength = 35; + AsOfDateYouAreInvitedToLbl: Label 'AS OF 03/03 YOU ARE INVITED TO SUBSCRIBE TO THE', MaxLength = 250; + NewGovernmentLoanUsingRefLbl: Label 'NEW GOVERNMENT LOAN USING REF. 45/66392', MaxLength = 250; + PleaseContactYourBankManagerLbl: Label 'PLEASE CONTACT YOUR BANK MANAGER FOR MORE INFORMATION.', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineBE.Codeunit.al new file mode 100644 index 0000000000..c5efba6d21 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineBE.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11412 "Create Gen. Journal Line BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateGenJournalLine(); + UpdateBankAccReconciliationLine(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -2757.62); + 20000: + Rec.Validate(Amount, -4136.43); + 30000: + Rec.Validate(Amount, -5515.24); + 40000: + Rec.Validate(Amount, -5515.24); + end; + end; + + local procedure UpdateGenJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.Get(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000); + if GenJournalLine."Account No." = '' then begin + GenJournalLine.Validate(Amount, 0); + GenJournalLine.Modify(true); + end; + end; + + local procedure UpdateBankAccReconciliationLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + BankAccount: Record "Bank Account"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccount.Get(CreateBankAccount.Checking()); + + BankAccReconciliationLine.Get(BankAccReconciliationLine."Statement Type"::"Bank Reconciliation", BankAccount."No.", BankAccount."Last Statement No.", 30000); + BankAccReconciliationLine.Validate("Transaction Text", DepositToAccountLbl + Format(BankAccReconciliationLine."Transaction Date", 0, '//')); + BankAccReconciliationLine.Validate(Description, CopyStr(BankAccReconciliationLine."Transaction Text", 1, MaxStrLen(BankAccReconciliationLine.Description))); + BankAccReconciliationLine.Modify(true); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account ', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupBE.Codeunit.al new file mode 100644 index 0000000000..1b71db0c41 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupBE.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11413 "Create Marketing Setup BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMarketingSetup(); + end; + + local procedure UpdateMarketingSetup() + var + MarketingSetup: Record "Marketing Setup"; + begin + MarketingSetup.Get(); + + MarketingSetup.Validate("Default Country/Region Code", ''); + MarketingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/CRM/1.Setup Data/CreateWordTemplateBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/CRM/1.Setup Data/CreateWordTemplateBE.Codeunit.al new file mode 100644 index 0000000000..0a60a2833b --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/CRM/1.Setup Data/CreateWordTemplateBE.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11410 "Create Word Template BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateLanguage: Codeunit "Create Language"; + FolderNameLbl: Label 'WordTemplates', Locked = true; + begin + ContosoCRM.InsertWordTemplate(EventWordTemplateFR(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event_FRB.docx', CreateLanguage.FRB()); + ContosoCRM.InsertWordTemplate(MemoWordTemplateFR(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo_FRB.docx', CreateLanguage.FRB()); + ContosoCRM.InsertWordTemplate(ThanksNoteWordTemplateFR(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote_FRB.docx', CreateLanguage.FRB()); + + ContosoCRM.InsertWordTemplate(EventWordTemplateNL(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event_NLB.docx', CreateLanguage.NLB()); + ContosoCRM.InsertWordTemplate(MemoWordTemplateNL(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo_NLB.docx', CreateLanguage.NLB()); + ContosoCRM.InsertWordTemplate(ThanksNoteWordTemplateNL(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote_NLB.docx', CreateLanguage.NLB()); + end; + + procedure EventWordTemplateFR(): Code[30] + begin + exit(EventFRTok) + end; + + procedure EventWordTemplateNL(): Code[30] + begin + exit(EventNLTok) + end; + + procedure MemoWordTemplateFR(): Code[30] + begin + exit(MemoFRTok) + end; + + procedure MemoWordTemplateNL(): Code[30] + begin + exit(MemoNLTok) + end; + + procedure ThanksNoteWordTemplateFR(): Code[30] + begin + exit(ThanksNoteFRTok) + end; + + procedure ThanksNoteWordTemplateNL(): Code[30] + begin + exit(ThanksNoteNLTok) + end; + + var + EventFRTok: Label 'EVENT-FR', MaxLength = 30, Locked = true; + EventNLTok: Label 'EVENT-NL', MaxLength = 30, Locked = true; + MemoFRTok: Label 'MEMO-FR', MaxLength = 30, Locked = true; + MemoNLTok: Label 'MEMO-NL', MaxLength = 30, Locked = true; + ThanksNoteFRTok: Label 'THANKSNOTE-FR', MaxLength = 30, Locked = true; + ThanksNoteNLTok: Label 'THANKSNOTE-NL', MaxLength = 30, Locked = true; + CustomerEventLbl: Label 'Customer Event', MaxLength = 250; + VendorMemoLbl: Label 'Vendor Memo', MaxLength = 250; + ContactThanksNoteLbl: Label 'Contact Thanks Note', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineBE.Codeunit.al new file mode 100644 index 0000000000..8f91213a41 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineBE.Codeunit.al @@ -0,0 +1,155 @@ +codeunit 11359 "Create Acc. Schedule Line BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, '8', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateBEGLAccount.InventoryAndOrders(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivable(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.Securities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssets(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 110000: + ValidateRecordFields(Rec, CreateBEGLAccount.TransitAccounts(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayable(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 130000: + ValidateRecordFields(Rec, CreateBEGLAccount.TaxesSalariesSocCharges(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 140000: + ValidateRecordFields(Rec, CreateGLAccount.PersonnelrelatedItems(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 150000: + ValidateRecordFields(Rec, '47|48', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateBEGLAccount.ProcessingOfResultDeferred(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '2390', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '5490', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '2190', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000, 60000, 70000, 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '2390', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '5490', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '2990' + '|' + CreateBEGLAccount.BankProcessing(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateBEGLAccount.ProcessingOfResultDeferred(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateBEGLAccount.ProcessingOfResultTransfer(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '8695', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.IncomeStatement(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, '8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, CreateBEGLAccount.MiscCostsOfOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + begin + ValidateRecordFields(Rec, CreateBEGLAccount.ProcessingOfResultDeferred(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + Rec.Validate(Description, TotalRevenueLbl); + end; + 20000: + ValidateRecordFields(Rec, CreateBEGLAccount.ProcessingOfResultTransfer(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, '8695|7|8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 80000: + ValidateRecordFields(Rec, CreateBEGLAccount.MiscCostsOfOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 90000: + ValidateRecordFields(Rec, '9495', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000, 70000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailEU(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 70000: + begin + ValidateRecordFields(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + Rec.Validate("Row No.", ''); + Rec.Validate(Description, ''); + end; + 80000: + begin + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + Rec.Validate("Row No.", ''); + Rec.Validate(Description, RevenueArea1030TotalLbl); + end; + 90000: + begin + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + Rec.Validate(Description, RevenueArea4085TotalLbl); + end; + 100000: + begin + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + Rec.Validate(Description, RevenuenoAreacodeTotalLbl); + end; + 110000: + begin + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + Rec.Validate(Bold, true); + Rec.Validate(Description, RevenueTotalLbl); + end; + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + var + RevenueTotalLbl: Label 'Revenue, Total', MaxLength = 100; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + RevenueArea4085TotalLbl: Label 'Revenue Area 40..85, Total', MaxLength = 100; + RevenuenoAreacodeTotalLbl: Label 'Revenue, no Area code, Total', MaxLength = 100; + RevenueArea1030TotalLbl: Label 'Revenue Area 10..30, Total', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateColumnLayoutNameBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateColumnLayoutNameBE.Codeunit.al new file mode 100644 index 0000000000..d07f85b2ef --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateColumnLayoutNameBE.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 11403 "Create Column Layout Name BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(Balance(), ManagementBalanceDescLbl); + end; + + procedure Balance(): Code[10] + begin + exit(BalanceTok); + end; + + var + BalanceTok: Label 'BALANCE', MaxLength = 10, Locked = true; + ManagementBalanceDescLbl: Label 'Management Balance', MaxLength = 80; +} diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateCurrencyBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateCurrencyBE.Codeunit.al new file mode 100644 index 0000000000..651a8f3f11 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateCurrencyBE.Codeunit.al @@ -0,0 +1,76 @@ +codeunit 11360 "Create Currency BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RUB(), + CreateCurrency.RSD(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, CreateBEGLAccount.RealizedExchRateDiffIncome(), CreateBEGLAccount.RealizedExchRateDiffExpense()); + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec, CreateBEGLAccount.RealizedExchRateDiffIncome(), CreateBEGLAccount.RealizedExchRateDiffExpense()); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGLAccountBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGLAccountBE.Codeunit.al new file mode 100644 index 0000000000..6adc5c9c13 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGLAccountBE.Codeunit.al @@ -0,0 +1,2914 @@ +codeunit 11357 "Create GL Account BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + local procedure AddGLAccountforBE() + var + GLAccountCategory: Record "G/L Account Category"; + GLAccountIndent: Codeunit "G/L Account-Indent"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVatPostingGroupBE: Codeunit "Create VAT Posting Group BE"; + CreateGLAccount: Codeunit "Create G/L Account"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + SubCategory: Text[80]; + begin + ContosoGLAccount.SetOverwriteData(true); + SubCategory := Format(GLAccountCategoryMgt.GetCurrentAssets(), 80); + ContosoGLAccount.InsertGLAccount(CodaTemporaryAccount(), CodaTemporaryAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvestmentsLiquidities(), InvestmentsLiquiditiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '50..599999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OwnersStockEquity(), OwnersStockEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Stocks(), StocksName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Securities(), CreateGLAccount.SecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '520..529999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StockBuyIn(), StockBuyInName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TransitAccounts(), TransitAccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '490..499999', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCash(), 80); + ContosoGLAccount.InsertGLAccount(BankLocalCurrency(), BankLocalCurrencyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankProcessing(), BankProcessingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankForeignCurrency(), BankForeignCurrencyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(PostAccount(), PostAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cash(), CreateGLAccount.CashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(Transfers(), TransfersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiquidAssets(), CreateGLAccount.LiquidAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '550..559999', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(DebtsCreditsDue1Year(), DebtsCreditsDue1YearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '40..499999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsReceivable(), CreateGLAccount.AccountsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '400..409999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersDomestic(), CreateGLAccount.CustomersDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersForeign(), CreateGLAccount.CustomersForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditsReceivable(), CreditsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesPrepayments(), CreateGLAccount.SalesPrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '406..406999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherReceivables(), CreateGLAccount.OtherReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '410..419999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BillsOfExchReceivable(), BillsOfExchReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VatRecoverable(), VatRecoverableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), true, false, false); + ContosoGLAccount.InsertGLAccount(OtherDoubtfulDebtors(), OtherDoubtfulDebtorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DebtsDueWithin1Year(), DebtsDueWithin1YearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '420..429999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RedemptionOfLoan(), RedemptionOfLoanName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinancialDebts(), FinancialDebtsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '430..439999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankAccount(), BankAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DebtsByResultAllocation(), DebtsByResultAllocationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '470..479999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendsFormerFiscalYrs(), DividendsFormerFiscalYrsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DividendsFiscalYear(), DividendsFiscalYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscellaneousDebts(), MiscellaneousDebtsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '480..489999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepayments(), CustomerPrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DoubtfulDebtors(), DoubtfulDebtorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetFixedAssets(), 80); + ContosoGLAccount.InsertGLAccount(FixedAssetsCredits1Year(), FixedAssetsCredits1YearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '20..299999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PreliminaryExpenses(), PreliminaryExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '200..209999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FormationIncrOfCapital(), FormationIncrOfCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), true, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssets(), IntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '210..219999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ResearchDevelopment(), ResearchDevelopmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildingsBeginTotal(), CreateGLAccount.LandandBuildingsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '220..229999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildings(), CreateGLAccount.LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, false, false); + ContosoGLAccount.InsertGLAccount(FurnituresAndRollingStock(), FurnituresAndRollingStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '240..249999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Furnitures(), FurnituresName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, false, false); + ContosoGLAccount.InsertGLAccount(OfficeEquipment(), OfficeEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, false, false); + ContosoGLAccount.InsertGLAccount(ComputerEquipment(), ComputerEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, false, false); + ContosoGLAccount.InsertGLAccount(RollingStock(), RollingStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsOnLeasing(), FixedAssetsOnLeasingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '250..259999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Leasings(), LeasingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, false, false); + ContosoGLAccount.InsertGLAccount(OtherTangibleFaTotal(), OtherTangibleFaTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '260..269999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherTangibleFa(), OtherTangibleFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(EquipmentTotal(), EquipmentTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '230..239999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Equipment(), EquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCommonStock(), 80); + ContosoGLAccount.InsertGLAccount(OwnersEquityDebts1Year(), OwnersEquityDebts1YearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '10..199999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Capital(), CapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '100..109999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StockCapital(), StockCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Equity, 80); + ContosoGLAccount.InsertGLAccount(IssuingPremiums(), IssuingPremiumsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PlusValuesOfReevaluation(), PlusValuesOfReevaluationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reserve(), ReserveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapitalSubventions(), CapitalSubventionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AllowancesForDoubtfulAcc(), AllowancesForDoubtfulAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProcessingOfResultTransfer(), ProcessingOfResultTransferName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '690..699999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossCarrForwFrPrevFy(), LossCarrForwFrPrevFyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AddCapitalIssuingPrem(), AddCapitalIssuingPremName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AddReserves(), AddReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfitToBeCarriedForward(), ProfitToBeCarriedForwardName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ReturnOnCapital(), ReturnOnCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeferredTaxes(), CreateGLAccount.DeferredTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetSalariesExpense(), 80); + ContosoGLAccount.InsertGLAccount(SocialSecurity(), SocialSecurityName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '620..629999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Salaries(), CreateGLAccount.SalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Wages(), CreateGLAccount.WagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PayrollTaxes(), CreateGLAccount.PayrollTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetirementPlanContributions(), CreateGLAccount.RetirementPlanContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPersonnelExpenses(), OtherPersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetTaxExpense(), 80); + ContosoGLAccount.InsertGLAccount(CorporateTaxTotal(), CorporateTaxTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '670..679999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CorporateTax(), CreateGLAccount.CorporateTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 1, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TransferToDutyFreeReserve(), TransferToDutyFreeReserveName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '680..689999', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(DirectorsRemuneration(), DirectorsRemunerationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.INCOMESTATEMENT(), CreateGLAccount.INCOMESTATEMENTName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '70..799999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Revenue(), CreateGLAccount.RevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '700..709999', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesofResources(), CreateGLAccount.SalesofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '7020..702999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesDom(), CreateGLAccount.SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesEU(), CreateGLAccount.SalesResourcesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesofJobs(), CreateGLAccount.SalesofJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '7030..703999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesJobs(), SalesJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesOtherJobExpenses(), CreateGLAccount.SalesOtherJobExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultingFees(), ConsultingFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscGranted(), PaymentDiscGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeProdSales(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesofRetail(), CreateGLAccount.SalesofRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '7000..700999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailDom(), CreateGLAccount.SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailEU(), CreateGLAccount.SalesRetailEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesofRawMaterials(), CreateGLAccount.SalesofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '7010..701999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRawMatDom(), SalesRawMatDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRawMatEu(), SalesRawMatEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRawMatExport(), SalesRawMatExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRentExpense(), 80); + ContosoGLAccount.InsertGLAccount(RentBuildingsRsEquipm(), RentBuildingsRsEquipmName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAdvertisingExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), CreateGLAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Brokerage(), BrokerageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EntertainmentandPR(), CreateGLAccount.EntertainmentandPRName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRetEarnings(), 80); + ContosoGLAccount.InsertGLAccount(NotCalledUpStockCapital(), NotCalledUpStockCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(ServicesAndInvestmentGoods(), ServicesAndInvestmentGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '610..619999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RMBuildingsAndEquipm(), RMBuildingsAndEquipmName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(RMRollingStock(), RMRollingStockName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningProducts(), CleaningProductsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityWaterAndHeating(), ElectricityWaterAndHeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GasolineandMotorOil(), CreateGLAccount.GasolineandMotorOilName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PhoneandFax(), CreateGLAccount.PhoneandFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Software(), CreateGLAccount.SoftwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultantServices(), CreateGLAccount.ConsultantServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherComputerExpenses(), CreateGLAccount.OtherComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(Mailings(), MailingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesRsFire(), InsurancesRsFireName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, false, false); + ContosoGLAccount.InsertGLAccount(LawyersAndAccountants(), LawyersAndAccountantsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(LegalContests(), LegalContestsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(OtherServiceCharges(), OtherServiceChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '613390..613399', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseCostsRawMat(), PurchaseCostsRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseCostsRetail(), PurchaseCostsRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseCostsInterim(), PurchaseCostsInterimName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(TranspCostsPurchRawMat(), TranspCostsPurchRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), true, false, false); + ContosoGLAccount.InsertGLAccount(TranspCostsPurchRetail(), TranspCostsPurchRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherOperatingExpenses(), CreateGLAccount.OtherOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '640..649999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VehicleTaxes(), VehicleTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Fines(), FinesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscCostsOfOperations(), MiscCostsOfOperationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExtraordinaryExpensesTotal(), ExtraordinaryExpensesTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '660..669999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryExpenses(), CreateGLAccount.ExtraordinaryExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LossesDisposalFixedAssets(), LossesDisposalFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventoryAdjustmentsDiscount(), InventoryAdjustmentsDiscountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '710..719999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProducedFixedAssets(), ProducedFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '720..729999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingIncome(), OtherOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '740..749999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjustmentRetailDisc(), JobCostAdjustmentRetailDiscName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjustmentRawMatIncome(), JobCostAdjustmentRawMatIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjustmentResourcesIncome(), JobCostAdjustmentResourcesIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinancialIncome(), FinancialIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '750..759999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromLoans(), IncomeFromLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestOnBankAccountsRec(), InterestOnBankAccountsRecName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscReceived(), PaymentDiscReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnrealizedExchRateDiffIncome(), UnrealizedExchRateDiffIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RealizedExchRateDiffIncome(), RealizedExchRateDiffIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainsOnDisposalFixedAssets(), GainsOnDisposalFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepanciesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExtraordinaryIncomeTotal(), ExtraordinaryIncomeTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '760..769999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryIncome(), CreateGLAccount.ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxesDuePaid(), TaxesDuePaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '770..779999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CorporateTaxDue(), CorporateTaxDueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredFromDutyFreeRes(), DeferredFromDutyFreeResName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '780..789999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProcessingOfResultDeferred(), ProcessingOfResultDeferredName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '790..799999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BenefitCarrFwFrPrevFy(), BenefitCarrFwFrPrevFyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LossToBeCarriedForward(), LossToBeCarriedForwardName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssociateIntervInLoss(), AssociateIntervInLossName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetLongTermLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(DebtsDueAt1Year(), DebtsDueAt1YearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '170..179999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LongtermBankLoans(), CreateGLAccount.LongtermBankLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BEMortgage(), BEMortgageName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsPayable(), CreateGLAccount.AccountsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '440..449999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsDomestic(), CreateGLAccount.VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsForeign(), CreateGLAccount.VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedTaxesPayable(), EstimatedTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsOfExchPayable(), BillsOfExchPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VATPayable(), CreateGLAccount.VATPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), true, false, false); + ContosoGLAccount.InsertGLAccount(TaxesPayable(), TaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(TaxesSalariesSocCharges(), TaxesSalariesSocChargesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '450..459999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PersonnelrelatedItems(), CreateGLAccount.PersonnelrelatedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '4530..459999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RetainedDeductionsAtSource(), RetainedDeductionsAtSourceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, false, false); + ContosoGLAccount.InsertGLAccount(SocialSecurityTotal(), SocialSecurityTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WagesAndSalaries(), WagesAndSalariesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VacationCompensationPayable(), CreateGLAccount.VacationCompensationPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EmployeesPayable(), CreateGLAccount.EmployeesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherSocialCharges(), OtherSocialChargesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInterestExpense(), 80); + ContosoGLAccount.InsertGLAccount(FinancialCharges(), FinancialChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '650..659999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestOnBankAccount(), InterestOnBankAccountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestonBankBalances(), CreateGLAccount.InterestonBankBalancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Mortgage(), CreateGLAccount.MortgageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnrealizedExchRateDiffExpense(), UnrealizedExchRateDiffExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RealizedExchRateDiffExpense(), RealizedExchRateDiffExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankCharges(), BankChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StockExchangeTurnoverTax(), StockExchangeTurnoverTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CashDiscrepanciesFinancial(), CashDiscrepanciesFinancialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAccumDeprec(), 80); + ContosoGLAccount.InsertGLAccount(DeprecFormIncrOfCapDepreciation(), DeprecFormIncrOfCapDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprResearchDevelopment(), DeprResearchDevelopmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecBuildings(), DeprecBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecEquipmentDepreciation(), DeprecEquipmentDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecFurnitures(), DeprecFurnituresName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecOfficeEquipment(), DeprecOfficeEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecComputerEquipment(), DeprecComputerEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecRollingStockFurniture(), DeprecRollingStockFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecLeasings(), DeprecLeasingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecOtherTangibleFa(), DeprecOtherTangibleFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciations(), DepreciationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '630..639999', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInventory(), 80); + ContosoGLAccount.InsertGLAccount(InventoryAndOrders(), InventoryAndOrdersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '30..399999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsTotal(), RawMaterialsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '300..309999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterialsInterim(), CreateGLAccount.RawMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostedDepreciationsAuxiliary(), PostedDepreciationsAuxiliaryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AuxiliaryMaterialsTotal(), AuxiliaryMaterialsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '310..319999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AuxiliaryMaterials(), AuxiliaryMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AuxiliaryMaterialsInterim(), AuxiliaryMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostedDepreciationsRawMaterials(), PostedDepreciationsRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsBeingMadeTotal(), GoodsBeingMadeTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '320..329999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsBeingMade(), GoodsBeingMadeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsBeingMadeInterim(), GoodsBeingMadeInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostedDepreciationsGoods(), PostedDepreciationsGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostedDepreciationsFinishedGoods(), PostedDepreciationsFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsTotal(), GoodsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '340..349999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Goods(), GoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsInterim(), GoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostedDepreciationsGoodsInterim(), PostedDepreciationsGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoodsTotal(), FinishedGoodsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '330..339999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoodsInterim(), CreateGLAccount.FinishedGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchasePrepayments(), CreateGLAccount.PurchasePrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '360..369999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetailName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepayments(), VendorPrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Expenses(), ExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '60..699999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsRawAuxMaterials(), GoodsRawAuxMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, '600..609999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesRawMaterials(), PurchasesRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '6000..600999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesRawMatDom(), PurchasesRawMatDomName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesRawMatEu(), PurchasesRawMatEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesRawMatExport(), PurchasesRawMatExportName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesAuxiliaryMaterials(), PurchasesAuxiliaryMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '6010..601999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesServices(), PurchasesServicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '6020..602999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ResourceUsageCosts(), ResourceUsageCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, false, false); + ContosoGLAccount.InsertGLAccount(GeneralSubcontractings(), GeneralSubcontractingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '6030..603999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesOfGoods(), PurchasesOfGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '6040..604999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesRetailDom(), PurchasesRetailDomName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesRetailEu(), PurchasesRetailEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesRetailExport(), PurchasesRetailExportName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), true, false, false); + ContosoGLAccount.InsertGLAccount(DiscountsReceived(), DiscountsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '6080..608999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoryAdjustmentsSales(), InventoryAdjustmentsSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, '6090..609999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventAdjRetail(), InventAdjRetailName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventAdjRetailInt(), InventAdjRetailIntName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjustmentRetailSales(), JobCostAdjustmentRetailSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, false, false); + ContosoGLAccount.InsertGLAccount(InventAdjRawMat(), InventAdjRawMatName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventAdjRawMatInt(), InventAdjRawMatIntName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjustmentRawMatInventory(), JobCostAdjustmentRawMatInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjustmentResourcesInventory(), JobCostAdjustmentResourcesInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, false, false); + + ContosoGLAccount.InsertGLAccount(DeprecFormIncrOfCapPremilary(), DeprecFormIncrOfCapPremilaryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprecLandAndBuildings(), DeprecLandAndBuildingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationEquipment(), DepreciationEquipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationRollingStock(), DepreciationRollingStockName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.SetOverwriteData(false); + + UpdateGLAccountVatSetup(Formationincrofcapital(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), true, 0); + UpdateGLAccountVatSetup(ResearchDevelopment(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.LandandBuildings(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(Equipment(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(Furnitures(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(OfficeEquipment(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(ComputerEquipment(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(RollingStock(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(Leasings(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), true, 0); + UpdateGLAccountVatSetup(OthertangibleFA(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), true, 0); + UpdateGLAccountVatSetup(VATRecoverable(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), false, 0); + UpdateGLAccountVatSetup(CreateGLAccount.VATPayable(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), false, 0); + UpdateGLAccountVatSetup(RetainedDeductionsatSource(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(SocialSecurity(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(PurchasesRawMatDom(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(ResourceUsageCosts(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.JobCosts(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(PurchasesRetailDom(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(JobCostAdjustmentRetailSales(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(JobCostAdjustmentRawMatInventory(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(JobCostAdjustmentResourcesInventory(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(RentBuildingsRSEquipm(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(RMBuildingsandEquipm(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(RMRollingStock(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CleaningProducts(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(ElectricityWaterandHeating(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.GasolineandMotorOil(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 50); + UpdateGLAccountVatSetup(CreateGLAccount.PhoneandFax(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Postage(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.OfficeSupplies(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Software(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.ConsultantServices(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.OtherComputerExpenses(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(Mailings(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(InsurancesRSFire(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(LawyersandAccountants(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(LegalContests(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(OtherServiceCharges(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(PurchaseCostsRawMat(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(PurchaseCostsRetail(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(PurchaseCostsInterim(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Travel(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(TranspCostspurchRawMat(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(TranspCostspurchRetail(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Advertising(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.EntertainmentandPR(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Salaries(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Wages(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.PayrollTaxes(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(OtherPersonnelExpenses(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.RetirementPlanContributions(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(VehicleTaxes(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(Fines(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(MiscCostsofOperations(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.InterestonBankBalances(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(InterestonBankAccount(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Mortgage(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.ExtraordinaryExpenses(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.CorporateTax(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.SalesRetailDom(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(SalesRawMatDom(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.SalesResourcesDom(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(SalesJobs(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.SalesOtherJobExpenses(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(ConsultingFees(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.InvoiceRounding(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.FinanceChargesfromCustomers(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + UpdateGLAccountVatSetup(PurchasesRawMatEU(), CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(PurchasesRetailEU(), CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.SalesRetailEU(), CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(SalesRawMatEU(), CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.SalesResourcesEU(), CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(PurchasesRawMatExport(), CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(PurchasesRetailExport(), CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.SalesRetailExport(), CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(SalesRawMatExport(), CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), true, 0); + UpdateGLAccountVatSetup(CreateGLAccount.SalesResourcesExport(), CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S3(), true, 0); + UpdateGLAccountVatSetup(VendorPrepayments(), '', CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(CustomerPrepayments(), '', CreateVatPostingGroupBE.G3(), true, 0); + UpdateGLAccountVatSetup(SocialSecurity(), '', '', true, 0); + UpdateGLAccountVatSetup(SocialSecurityTotal(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), true, 0); + + UpdateGLAccountVatSetup(CreateGLAccount.CustomersDomestic(), '', '', false, 0); + UpdateGLAccountVatSetup(CreateGLAccount.CustomersForeign(), '', '', false, 0); + UpdateGLAccountVatSetup(CreateGLAccount.VendorsDomestic(), '', '', false, 0); + UpdateGLAccountVatSetup(CreateGLAccount.VendorsForeign(), '', '', false, 0); + UpdateGLAccountVatSetup(BankLocalCurrency(), '', '', false, 0); + UpdateGLAccountVatSetup(BankProcessing(), '', '', false, 0); + UpdateGLAccountVatSetup(BankForeignCurrency(), '', '', false, 0); + UpdateGLAccountVatSetup(PostAccount(), '', '', false, 0); + UpdateGLAccountVatSetup(CreateGLAccount.Cash(), '', '', false, 0); + GLAccountIndent.Indent(); + end; + + local procedure UpdateGLAccountVatSetup(GLAccountNo: Code[20]; VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; PrintDetails: Boolean; NonDeductibleVAT: Decimal) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.Get(GLAccountNo); + GLAccount.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + GLAccount.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + GLAccount.Validate("Print Details", PrintDetails); + if NonDeductibleVAT <> 0 then + GLAccount.Validate("% Non deductible VAT", NonDeductibleVAT); + GLAccount.Modify(true); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforBE() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ModifyGLAccountForW1(); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), '140000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), '168000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermBankLoansName(), '170000'); + ContosoGLAccount.AddAccountForLocalization(BEMortgageName(), '174000'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsTotalName(), '30'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '300000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), '300010'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsTotalName(), '33'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '330000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), '330010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), '36'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '40'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), '400000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), '400010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), '406'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), '41'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), '44'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '440000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '440010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), '451000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelatedItemsName(), '453'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), '456000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), '457000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '52'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '55'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '602010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), '608000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), '608400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), '612120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), '612200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '612400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '612500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), '612600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), '612610'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), '612620'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), '613900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '614000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), '614500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '620200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), '620300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), '621000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), '624000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), '64'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), '650000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), '650020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), '653000'); + ContosoGLAccount.AddAccountForLocalization(CashDiscrepanciesFinancialName(), '655000'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryExpensesTotalName(), '66'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '660000'); + ContosoGLAccount.AddAccountForLocalization(CorporateTaxTotalName(), '67'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), '670000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), '7'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), '70'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), '700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), '700000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), '700010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), '700020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), '701'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), '702'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), '702000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), '702010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), '702020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), '703'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), '703010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '754200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), '755000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), '756200'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryIncomeTotalName(), '76'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '760000'); + ContosoGLAccount.AddAccountForLocalization(CorporateTaxDueName(), '771000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), '22'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), '220000'); + ContosoGLAccount.AddAccountForLocalization(OwnersEquityDebts1YearName(), '1'); + ContosoGLAccount.AddAccountForLocalization(CapitalName(), '10'); + ContosoGLAccount.AddAccountForLocalization(StockCapitalName(), '100000'); + ContosoGLAccount.AddAccountForLocalization(NotCalledUpStockCapitalName(), '101000'); + ContosoGLAccount.AddAccountForLocalization(IssuingPremiumsName(), '110000'); + ContosoGLAccount.AddAccountForLocalization(PlusValuesOfReevaluationName(), '120000'); + ContosoGLAccount.AddAccountForLocalization(ReserveName(), '130000'); + ContosoGLAccount.AddAccountForLocalization(CapitalSubventionsName(), '150000'); + ContosoGLAccount.AddAccountForLocalization(AllowancesForDoubtfulAccName(), '160000'); + ContosoGLAccount.AddAccountForLocalization(DebtsDueAt1YearName(), '17'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsCredits1YearName(), '2'); + ContosoGLAccount.AddAccountForLocalization(PreliminaryExpensesName(), '20'); + ContosoGLAccount.AddAccountForLocalization(FormationIncrOfCapitalName(), '200000'); + ContosoGLAccount.AddAccountForLocalization(DeprecFormIncrOfCapDepreciationName(), '200009'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsName(), '21'); + ContosoGLAccount.AddAccountForLocalization(ResearchDevelopmentName(), '210000'); + ContosoGLAccount.AddAccountForLocalization(DeprResearchDevelopmentName(), '210009'); + ContosoGLAccount.AddAccountForLocalization(DeprecBuildingsName(), '220009'); + ContosoGLAccount.AddAccountForLocalization(EquipmentTotalName(), '23'); + ContosoGLAccount.AddAccountForLocalization(EquipmentName(), '230000'); + ContosoGLAccount.AddAccountForLocalization(DeprecEquipmentDepreciationName(), '230009'); + ContosoGLAccount.AddAccountForLocalization(FurnituresAndRollingStockName(), '24'); + ContosoGLAccount.AddAccountForLocalization(FurnituresName(), '240000'); + ContosoGLAccount.AddAccountForLocalization(DeprecFurnituresName(), '240009'); + ContosoGLAccount.AddAccountForLocalization(OfficeEquipmentName(), '241000'); + ContosoGLAccount.AddAccountForLocalization(DeprecOfficeEquipmentName(), '241009'); + ContosoGLAccount.AddAccountForLocalization(ComputerEquipmentName(), '242000'); + ContosoGLAccount.AddAccountForLocalization(DeprecComputerEquipmentName(), '242009'); + ContosoGLAccount.AddAccountForLocalization(RollingStockName(), '245000'); + ContosoGLAccount.AddAccountForLocalization(DeprecRollingStockFurnitureName(), '245009'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsOnLeasingName(), '25'); + ContosoGLAccount.AddAccountForLocalization(LeasingsName(), '250000'); + ContosoGLAccount.AddAccountForLocalization(DeprecLeasingsName(), '250009'); + ContosoGLAccount.AddAccountForLocalization(OtherTangibleFaTotalName(), '26'); + ContosoGLAccount.AddAccountForLocalization(OtherTangibleFaName(), '260000'); + ContosoGLAccount.AddAccountForLocalization(DeprecOtherTangibleFaName(), '260009'); + ContosoGLAccount.AddAccountForLocalization(InventoryAndOrdersName(), '3'); + ContosoGLAccount.AddAccountForLocalization(PostedDepreciationsAuxiliaryName(), '309000'); + ContosoGLAccount.AddAccountForLocalization(AuxiliaryMaterialsTotalName(), '31'); + ContosoGLAccount.AddAccountForLocalization(AuxiliaryMaterialsName(), '310000'); + ContosoGLAccount.AddAccountForLocalization(AuxiliaryMaterialsInterimName(), '310010'); + ContosoGLAccount.AddAccountForLocalization(PostedDepreciationsRawMaterialsName(), '319000'); + ContosoGLAccount.AddAccountForLocalization(GoodsBeingMadeTotalName(), '32'); + ContosoGLAccount.AddAccountForLocalization(GoodsBeingMadeName(), '320000'); + ContosoGLAccount.AddAccountForLocalization(GoodsBeingMadeInterimName(), '320010'); + ContosoGLAccount.AddAccountForLocalization(PostedDepreciationsGoodsName(), '329000'); + ContosoGLAccount.AddAccountForLocalization(PostedDepreciationsFinishedGoodsName(), '339000'); + ContosoGLAccount.AddAccountForLocalization(GoodsTotalName(), '34'); + ContosoGLAccount.AddAccountForLocalization(GoodsName(), '340000'); + ContosoGLAccount.AddAccountForLocalization(GoodsInterimName(), '340010'); + ContosoGLAccount.AddAccountForLocalization(PostedDepreciationsGoodsInterimName(), '349000'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsName(), '360000'); + ContosoGLAccount.AddAccountForLocalization(DebtsCreditsDue1YearName(), '4'); + ContosoGLAccount.AddAccountForLocalization(BillsOfExchReceivableName(), '401000'); + ContosoGLAccount.AddAccountForLocalization(CreditsReceivableName(), '404000'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsName(), '406000'); + ContosoGLAccount.AddAccountForLocalization(DoubtfulDebtorsName(), '407000'); + ContosoGLAccount.AddAccountForLocalization(VatRecoverableName(), '411000'); + ContosoGLAccount.AddAccountForLocalization(OtherDoubtfulDebtorsName(), '417000'); + ContosoGLAccount.AddAccountForLocalization(DebtsDueWithin1YearName(), '42'); + ContosoGLAccount.AddAccountForLocalization(RedemptionOfLoanName(), '420000'); + ContosoGLAccount.AddAccountForLocalization(FinancialDebtsName(), '43'); + ContosoGLAccount.AddAccountForLocalization(BankAccountName(), '433000'); + ContosoGLAccount.AddAccountForLocalization(BillsOfExchPayableName(), '441000'); + ContosoGLAccount.AddAccountForLocalization(TaxesSalariesSocChargesName(), '45'); + ContosoGLAccount.AddAccountForLocalization(EstimatedTaxesPayableName(), '450000'); + ContosoGLAccount.AddAccountForLocalization(TaxesPayableName(), '452000'); + ContosoGLAccount.AddAccountForLocalization(RetainedDeductionsAtSourceName(), '453000'); + ContosoGLAccount.AddAccountForLocalization(SocialSecurityTotalName(), '454000'); + ContosoGLAccount.AddAccountForLocalization(WagesAndSalariesName(), '455000'); + ContosoGLAccount.AddAccountForLocalization(OtherSocialChargesName(), '459000'); + ContosoGLAccount.AddAccountForLocalization(DebtsByResultAllocationName(), '47'); + ContosoGLAccount.AddAccountForLocalization(DividendsFormerFiscalYrsName(), '470000'); + ContosoGLAccount.AddAccountForLocalization(DividendsFiscalYearName(), '471000'); + ContosoGLAccount.AddAccountForLocalization(MiscellaneousDebtsName(), '48'); + ContosoGLAccount.AddAccountForLocalization(TransitAccountsName(), '49'); + ContosoGLAccount.AddAccountForLocalization(CodaTemporaryAccountName(), '499999'); + ContosoGLAccount.AddAccountForLocalization(InvestmentsLiquiditiesName(), '5'); + ContosoGLAccount.AddAccountForLocalization(OwnersStockEquityName(), '500000'); + ContosoGLAccount.AddAccountForLocalization(StocksName(), '510000'); + ContosoGLAccount.AddAccountForLocalization(StockBuyInName(), '520000'); + ContosoGLAccount.AddAccountForLocalization(BankLocalCurrencyName(), '550000'); + ContosoGLAccount.AddAccountForLocalization(BankProcessingName(), '550005'); + ContosoGLAccount.AddAccountForLocalization(BankForeignCurrencyName(), '550010'); + ContosoGLAccount.AddAccountForLocalization(PostAccountName(), '560000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '570000'); + ContosoGLAccount.AddAccountForLocalization(TransfersName(), '580000'); + ContosoGLAccount.AddAccountForLocalization(ExpensesName(), '6'); + ContosoGLAccount.AddAccountForLocalization(GoodsRawAuxMaterialsName(), '60'); + ContosoGLAccount.AddAccountForLocalization(PurchasesRawMaterialsName(), '600'); + ContosoGLAccount.AddAccountForLocalization(PurchasesRawMatDomName(), '600000'); + ContosoGLAccount.AddAccountForLocalization(PurchasesRawMatEuName(), '600010'); + ContosoGLAccount.AddAccountForLocalization(PurchasesRawMatExportName(), '600020'); + ContosoGLAccount.AddAccountForLocalization(PurchasesAuxiliaryMaterialsName(), '601'); + ContosoGLAccount.AddAccountForLocalization(PurchasesServicesName(), '602'); + ContosoGLAccount.AddAccountForLocalization(ResourceUsageCostsName(), '602000'); + ContosoGLAccount.AddAccountForLocalization(GeneralSubcontractingsName(), '603'); + ContosoGLAccount.AddAccountForLocalization(PurchasesOfGoodsName(), '604'); + ContosoGLAccount.AddAccountForLocalization(PurchasesRetailDomName(), '604000'); + ContosoGLAccount.AddAccountForLocalization(PurchasesRetailEuName(), '604010'); + ContosoGLAccount.AddAccountForLocalization(PurchasesRetailExportName(), '604020'); + ContosoGLAccount.AddAccountForLocalization(DiscountsReceivedName(), '608'); + ContosoGLAccount.AddAccountForLocalization(InventoryAdjustmentsSalesName(), '609'); + ContosoGLAccount.AddAccountForLocalization(InventAdjRetailName(), '609170'); + ContosoGLAccount.AddAccountForLocalization(InventAdjRetailIntName(), '609171'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjustmentRetailSalesName(), '609180'); + ContosoGLAccount.AddAccountForLocalization(InventAdjRawMatName(), '609270'); + ContosoGLAccount.AddAccountForLocalization(InventAdjRawMatIntName(), '609271'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjustmentRawMatInventoryName(), '609280'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjustmentResourcesInventoryName(), '609480'); + ContosoGLAccount.AddAccountForLocalization(ServicesAndInvestmentGoodsName(), '61'); + ContosoGLAccount.AddAccountForLocalization(RentBuildingsRsEquipmName(), '610000'); + ContosoGLAccount.AddAccountForLocalization(RMBuildingsAndEquipmName(), '611000'); + ContosoGLAccount.AddAccountForLocalization(RMRollingStockName(), '611300'); + ContosoGLAccount.AddAccountForLocalization(CleaningProductsName(), '611400'); + ContosoGLAccount.AddAccountForLocalization(ElectricityWaterAndHeatingName(), '612000'); + ContosoGLAccount.AddAccountForLocalization(MailingsName(), '612800'); + ContosoGLAccount.AddAccountForLocalization(InsurancesRsFireName(), '613100'); + ContosoGLAccount.AddAccountForLocalization(LawyersAndAccountantsName(), '613230'); + ContosoGLAccount.AddAccountForLocalization(LegalContestsName(), '613310'); + ContosoGLAccount.AddAccountForLocalization(OtherServiceChargesName(), '613390'); + ContosoGLAccount.AddAccountForLocalization(PurchaseCostsRawMatName(), '613392'); + ContosoGLAccount.AddAccountForLocalization(PurchaseCostsRetailName(), '613395'); + ContosoGLAccount.AddAccountForLocalization(PurchaseCostsInterimName(), '613399'); + ContosoGLAccount.AddAccountForLocalization(TranspCostsPurchRawMatName(), '613930'); + ContosoGLAccount.AddAccountForLocalization(TranspCostsPurchRetailName(), '613935'); + ContosoGLAccount.AddAccountForLocalization(BrokerageName(), '614200'); + ContosoGLAccount.AddAccountForLocalization(SocialSecurityName(), '62'); + ContosoGLAccount.AddAccountForLocalization(OtherPersonnelExpensesName(), '623000'); + ContosoGLAccount.AddAccountForLocalization(DepreciationsName(), '63'); + ContosoGLAccount.AddAccountForLocalization(DeprecFormIncrOfCapPremilaryName(), '630000'); + ContosoGLAccount.AddAccountForLocalization(DeprecLandAndBuildingsName(), '630200'); + ContosoGLAccount.AddAccountForLocalization(DepreciationEquipmentName(), '630210'); + ContosoGLAccount.AddAccountForLocalization(DepreciationRollingStockName(), '630220'); + ContosoGLAccount.AddAccountForLocalization(VehicleTaxesName(), '640100'); + ContosoGLAccount.AddAccountForLocalization(FinesName(), '640200'); + ContosoGLAccount.AddAccountForLocalization(MiscCostsOfOperationsName(), '643000'); + ContosoGLAccount.AddAccountForLocalization(FinancialChargesName(), '65'); + ContosoGLAccount.AddAccountForLocalization(InterestOnBankAccountName(), '650010'); + ContosoGLAccount.AddAccountForLocalization(UnrealizedExchRateDiffExpenseName(), '654000'); + ContosoGLAccount.AddAccountForLocalization(RealizedExchRateDiffExpenseName(), '654100'); + ContosoGLAccount.AddAccountForLocalization(BankChargesName(), '656000'); + ContosoGLAccount.AddAccountForLocalization(StockExchangeTurnoverTaxName(), '656100'); + ContosoGLAccount.AddAccountForLocalization(LossesDisposalFixedAssetsName(), '663000'); + ContosoGLAccount.AddAccountForLocalization(TransferToDutyFreeReserveName(), '68'); + ContosoGLAccount.AddAccountForLocalization(ProcessingOfResultTransferName(), '69'); + ContosoGLAccount.AddAccountForLocalization(LossCarrForwFrPrevFyName(), '690000'); + ContosoGLAccount.AddAccountForLocalization(AddCapitalIssuingPremName(), '691000'); + ContosoGLAccount.AddAccountForLocalization(AddReservesName(), '692000'); + ContosoGLAccount.AddAccountForLocalization(ProfitToBeCarriedForwardName(), '693000'); + ContosoGLAccount.AddAccountForLocalization(ReturnOnCapitalName(), '694000'); + ContosoGLAccount.AddAccountForLocalization(DirectorsRemunerationName(), '695000'); + ContosoGLAccount.AddAccountForLocalization(SalesRawMatDomName(), '701000'); + ContosoGLAccount.AddAccountForLocalization(SalesRawMatEuName(), '701010'); + ContosoGLAccount.AddAccountForLocalization(SalesRawMatExportName(), '701020'); + ContosoGLAccount.AddAccountForLocalization(SalesJobsName(), '703000'); + ContosoGLAccount.AddAccountForLocalization(ConsultingFeesName(), '704000'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscGrantedName(), '708000'); + ContosoGLAccount.AddAccountForLocalization(InventoryAdjustmentsDiscountName(), '71'); + ContosoGLAccount.AddAccountForLocalization(ProducedFixedAssetsName(), '72'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingIncomeName(), '74'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjustmentRetailDiscName(), '742000'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjustmentRawMatIncomeName(), '742010'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjustmentResourcesIncomeName(), '742020'); + ContosoGLAccount.AddAccountForLocalization(FinancialIncomeName(), '75'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromLoansName(), '750000'); + ContosoGLAccount.AddAccountForLocalization(InterestOnBankAccountsRecName(), '750100'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscReceivedName(), '753000'); + ContosoGLAccount.AddAccountForLocalization(UnrealizedExchRateDiffIncomeName(), '754000'); + ContosoGLAccount.AddAccountForLocalization(RealizedExchRateDiffIncomeName(), '754100'); + ContosoGLAccount.AddAccountForLocalization(GainsOnDisposalFixedAssetsName(), '763000'); + ContosoGLAccount.AddAccountForLocalization(TaxesDuePaidName(), '77'); + ContosoGLAccount.AddAccountForLocalization(DeferredFromDutyFreeResName(), '78'); + ContosoGLAccount.AddAccountForLocalization(ProcessingOfResultDeferredName(), '79'); + ContosoGLAccount.AddAccountForLocalization(BenefitCarrFwFrPrevFyName(), '790000'); + ContosoGLAccount.AddAccountForLocalization(LossToBeCarriedForwardName(), '793000'); + ContosoGLAccount.AddAccountForLocalization(AssociateIntervInLossName(), '794000'); + AddGLAccountforBE(); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResaleSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMatSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLcyName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeForTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Co2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelRelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsForTheFiscalYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesAndChargesRecDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityAndHeatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsAndMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsAndMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalAndAccountingServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationOfFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsAndLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsOfOperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnRevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesToVendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NiBeforeExtrItemsTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeBeforeTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), ''); + end; + + procedure OwnersEquityDebts1YearName(): Text[100] + begin + exit(OwnersEquityDebts1YearLbl); + end; + + procedure CapitalName(): Text[100] + begin + exit(CapitalLbl); + end; + + procedure StockCapitalName(): Text[100] + begin + exit(StockCapitalLbl); + end; + + procedure NotCalledUpStockCapitalName(): Text[100] + begin + exit(NotCalledUpStockCapitalLbl); + end; + + procedure IssuingPremiumsName(): Text[100] + begin + exit(IssuingPremiumsLbl); + end; + + procedure PlusValuesOfReevaluationName(): Text[100] + begin + exit(PlusValuesOfReevaluationLbl); + end; + + procedure ReserveName(): Text[100] + begin + exit(ReserveLbl); + end; + + procedure CapitalSubventionsName(): Text[100] + begin + exit(CapitalSubventionsLbl); + end; + + procedure AllowancesForDoubtfulAccName(): Text[100] + begin + exit(AllowancesForDoubtfulAccLbl); + end; + + procedure DebtsDueAt1YearName(): Text[100] + begin + exit(DebtsDueAt1YearLbl); + end; + + procedure FixedAssetsCredits1YearName(): Text[100] + begin + exit(FixedAssetsCredits1YearLbl); + end; + + procedure PreliminaryExpensesName(): Text[100] + begin + exit(PreliminaryExpensesLbl); + end; + + procedure FormationIncrOfCapitalName(): Text[100] + begin + exit(FormationIncrOfCapitalLbl); + end; + + procedure DeprecFormIncrOfCapDepreciationName(): Text[100] + begin + exit(DeprecFormIncrOfCapDepreciationLbl); + end; + + procedure IntangibleAssetsName(): Text[100] + begin + exit(IntangibleAssetsLbl); + end; + + procedure ResearchDevelopmentName(): Text[100] + begin + exit(ResearchDevelopmentLbl); + end; + + procedure DeprResearchDevelopmentName(): Text[100] + begin + exit(DeprResearchDevelopmentLbl); + end; + + procedure DeprecBuildingsName(): Text[100] + begin + exit(DeprecBuildingsLbl); + end; + + procedure EquipmentTotalName(): Text[100] + begin + exit(EquipmentTotalLbl); + end; + + procedure EquipmentName(): Text[100] + begin + exit(EquipmentLbl); + end; + + procedure DeprecEquipmentDepreciationName(): Text[100] + begin + exit(DeprecEquipmentDepreciationLbl); + end; + + procedure FurnituresAndRollingStockName(): Text[100] + begin + exit(FurnituresAndRollingStockLbl); + end; + + procedure FurnituresName(): Text[100] + begin + exit(FurnituresLbl); + end; + + procedure DeprecFurnituresName(): Text[100] + begin + exit(DeprecFurnituresLbl); + end; + + procedure OfficeEquipmentName(): Text[100] + begin + exit(OfficeEquipmentLbl); + end; + + procedure DeprecOfficeEquipmentName(): Text[100] + begin + exit(DeprecOfficeEquipmentLbl); + end; + + procedure ComputerEquipmentName(): Text[100] + begin + exit(ComputerEquipmentLbl); + end; + + procedure DeprecComputerEquipmentName(): Text[100] + begin + exit(DeprecComputerEquipmentLbl); + end; + + procedure RollingStockName(): Text[100] + begin + exit(RollingStockLbl); + end; + + procedure DeprecRollingStockFurnitureName(): Text[100] + begin + exit(DeprecRollingStockFurnitureLbl); + end; + + procedure FixedAssetsOnLeasingName(): Text[100] + begin + exit(FixedAssetsOnLeasingLbl); + end; + + procedure LeasingsName(): Text[100] + begin + exit(LeasingsLbl); + end; + + procedure DeprecLeasingsName(): Text[100] + begin + exit(DeprecLeasingsLbl); + end; + + procedure OtherTangibleFaTotalName(): Text[100] + begin + exit(OtherTangibleFaTotalLbl); + end; + + procedure OtherTangibleFaName(): Text[100] + begin + exit(OtherTangibleFaLbl); + end; + + procedure DeprecOtherTangibleFaName(): Text[100] + begin + exit(DeprecOtherTangibleFaLbl); + end; + + procedure InventoryAndOrdersName(): Text[100] + begin + exit(InventoryAndOrdersLbl); + end; + + procedure PostedDepreciationsAuxiliaryName(): Text[100] + begin + exit(PostedDepreciationsAuxiliaryLbl); + end; + + procedure AuxiliaryMaterialsTotalName(): Text[100] + begin + exit(AuxiliaryMaterialsTotalLbl); + end; + + procedure AuxiliaryMaterialsName(): Text[100] + begin + exit(AuxiliaryMaterialsLbl); + end; + + procedure AuxiliaryMaterialsInterimName(): Text[100] + begin + exit(AuxiliaryMaterialsInterimLbl); + end; + + procedure PostedDepreciationsRawMaterialsName(): Text[100] + begin + exit(PostedDepreciationsRawMaterialsLbl); + end; + + procedure GoodsBeingMadeTotalName(): Text[100] + begin + exit(GoodsBeingMadeTotalLbl); + end; + + procedure GoodsBeingMadeName(): Text[100] + begin + exit(GoodsBeingMadeLbl); + end; + + procedure GoodsBeingMadeInterimName(): Text[100] + begin + exit(GoodsBeingMadeInterimLbl); + end; + + procedure PostedDepreciationsGoodsName(): Text[100] + begin + exit(PostedDepreciationsGoodsLbl); + end; + + procedure PostedDepreciationsFinishedGoodsName(): Text[100] + begin + exit(PostedDepreciationsFinishedGoodsLbl); + end; + + procedure GoodsTotalName(): Text[100] + begin + exit(GoodsTotalLbl); + end; + + procedure GoodsName(): Text[100] + begin + exit(GoodsLbl); + end; + + procedure GoodsInterimName(): Text[100] + begin + exit(GoodsInterimLbl); + end; + + procedure PostedDepreciationsGoodsInterimName(): Text[100] + begin + exit(PostedDepreciationsGoodsInterimLbl); + end; + + procedure VendorPrepaymentsName(): Text[100] + begin + exit(VendorPrepaymentsLbl); + end; + + procedure DebtsCreditsDue1YearName(): Text[100] + begin + exit(DebtsCreditsDue1YearLbl); + end; + + procedure BillsOfExchReceivableName(): Text[100] + begin + exit(BillsOfExchReceivableLbl); + end; + + procedure CreditsReceivableName(): Text[100] + begin + exit(CreditsReceivableLbl); + end; + + procedure CustomerPrepaymentsName(): Text[100] + begin + exit(CustomerPrepaymentsLbl); + end; + + procedure DoubtfulDebtorsName(): Text[100] + begin + exit(DoubtfulDebtorsLbl); + end; + + procedure VatRecoverableName(): Text[100] + begin + exit(VatRecoverableLbl); + end; + + procedure OtherDoubtfulDebtorsName(): Text[100] + begin + exit(OtherDoubtfulDebtorsLbl); + end; + + procedure DebtsDueWithin1YearName(): Text[100] + begin + exit(DebtsDueWithin1YearLbl); + end; + + procedure RedemptionOfLoanName(): Text[100] + begin + exit(RedemptionOfLoanLbl); + end; + + procedure FinancialDebtsName(): Text[100] + begin + exit(FinancialDebtsLbl); + end; + + procedure BankAccountName(): Text[100] + begin + exit(BankAccountLbl); + end; + + procedure BillsOfExchPayableName(): Text[100] + begin + exit(BillsOfExchPayableLbl); + end; + + procedure TaxesSalariesSocChargesName(): Text[100] + begin + exit(TaxesSalariesSocChargesLbl); + end; + + procedure EstimatedTaxesPayableName(): Text[100] + begin + exit(EstimatedTaxesPayableLbl); + end; + + procedure TaxesPayableName(): Text[100] + begin + exit(TaxesPayableLbl); + end; + + procedure RetainedDeductionsAtSourceName(): Text[100] + begin + exit(RetainedDeductionsAtSourceLbl); + end; + + procedure SocialSecurityTotalName(): Text[100] + begin + exit(SocialSecurityTotalLbl); + end; + + procedure WagesAndSalariesName(): Text[100] + begin + exit(WagesAndSalariesLbl); + end; + + procedure OtherSocialChargesName(): Text[100] + begin + exit(OtherSocialChargesLbl); + end; + + procedure DebtsByResultAllocationName(): Text[100] + begin + exit(DebtsByResultAllocationLbl); + end; + + procedure DividendsFormerFiscalYrsName(): Text[100] + begin + exit(DividendsFormerFiscalYrsLbl); + end; + + procedure DividendsFiscalYearName(): Text[100] + begin + exit(DividendsFiscalYearLbl); + end; + + procedure MiscellaneousDebtsName(): Text[100] + begin + exit(MiscellaneousDebtsLbl); + end; + + procedure TransitAccountsName(): Text[100] + begin + exit(TransitAccountsLbl); + end; + + procedure CodaTemporaryAccountName(): Text[100] + begin + exit(CodaTemporaryAccountLbl); + end; + + procedure InvestmentsLiquiditiesName(): Text[100] + begin + exit(InvestmentsLiquiditiesLbl); + end; + + procedure OwnersStockEquityName(): Text[100] + begin + exit(OwnersStockEquityLbl); + end; + + procedure StocksName(): Text[100] + begin + exit(StocksLbl); + end; + + procedure StockBuyInName(): Text[100] + begin + exit(StockBuyInLbl); + end; + + procedure BankLocalCurrencyName(): Text[100] + begin + exit(BankLocalCurrencyLbl); + end; + + procedure BankProcessingName(): Text[100] + begin + exit(BankProcessingLbl); + end; + + procedure BankForeignCurrencyName(): Text[100] + begin + exit(BankForeignCurrencyLbl); + end; + + procedure PostAccountName(): Text[100] + begin + exit(PostAccountLbl); + end; + + procedure TransfersName(): Text[100] + begin + exit(TransfersLbl); + end; + + procedure ExpensesName(): Text[100] + begin + exit(ExpensesLbl); + end; + + procedure GoodsRawAuxMaterialsName(): Text[100] + begin + exit(GoodsRawAuxMaterialsLbl); + end; + + procedure PurchasesRawMaterialsName(): Text[100] + begin + exit(PurchasesRawMaterialsLbl); + end; + + procedure PurchasesRawMatDomName(): Text[100] + begin + exit(PurchasesRawMatDomLbl); + end; + + procedure PurchasesRawMatEuName(): Text[100] + begin + exit(PurchasesRawMatEuLbl); + end; + + procedure PurchasesRawMatExportName(): Text[100] + begin + exit(PurchasesRawMatExportLbl); + end; + + procedure PurchasesAuxiliaryMaterialsName(): Text[100] + begin + exit(PurchasesAuxiliaryMaterialsLbl); + end; + + procedure PurchasesServicesName(): Text[100] + begin + exit(PurchasesServicesLbl); + end; + + procedure ResourceUsageCostsName(): Text[100] + begin + exit(ResourceUsageCostsLbl); + end; + + procedure GeneralSubcontractingsName(): Text[100] + begin + exit(GeneralSubcontractingsLbl); + end; + + procedure PurchasesOfGoodsName(): Text[100] + begin + exit(PurchasesOfGoodsLbl); + end; + + procedure PurchasesRetailDomName(): Text[100] + begin + exit(PurchasesRetailDomLbl); + end; + + procedure PurchasesRetailEuName(): Text[100] + begin + exit(PurchasesRetailEuLbl); + end; + + procedure PurchasesRetailExportName(): Text[100] + begin + exit(PurchasesRetailExportLbl); + end; + + procedure DiscountsReceivedName(): Text[100] + begin + exit(DiscountsReceivedLbl); + end; + + procedure InventoryAdjustmentsSalesName(): Text[100] + begin + exit(InventoryAdjustmentsSalesLbl); + end; + + procedure InventAdjRetailName(): Text[100] + begin + exit(InventAdjRetailLbl); + end; + + procedure InventAdjRetailIntName(): Text[100] + begin + exit(InventAdjRetailIntLbl); + end; + + procedure JobCostAdjustmentRetailSalesName(): Text[100] + begin + exit(JobCostAdjustmentRetailSalesLbl); + end; + + procedure InventAdjRawMatName(): Text[100] + begin + exit(InventAdjRawMatLbl); + end; + + procedure InventAdjRawMatIntName(): Text[100] + begin + exit(InventAdjRawMatIntLbl); + end; + + procedure JobCostAdjustmentRawMatInventoryName(): Text[100] + begin + exit(JobCostAdjustmentRawMatInventoryLbl); + end; + + procedure JobCostAdjustmentResourcesInventoryName(): Text[100] + begin + exit(JobCostAdjustmentResourcesInventoryLbl); + end; + + procedure ServicesAndInvestmentGoodsName(): Text[100] + begin + exit(ServicesAndInvestmentGoodsLbl); + end; + + procedure RentBuildingsRsEquipmName(): Text[100] + begin + exit(RentBuildingsRsEquipmLbl); + end; + + procedure RMBuildingsAndEquipmName(): Text[100] + begin + exit(RMBuildingsAndEquipmLbl); + end; + + procedure RMRollingStockName(): Text[100] + begin + exit(RMRollingStockLbl); + end; + + procedure CleaningProductsName(): Text[100] + begin + exit(CleaningProductsLbl); + end; + + procedure ElectricityWaterAndHeatingName(): Text[100] + begin + exit(ElectricityWaterAndHeatingLbl); + end; + + procedure MailingsName(): Text[100] + begin + exit(MailingsLbl); + end; + + procedure InsurancesRsFireName(): Text[100] + begin + exit(InsurancesRsFireLbl); + end; + + procedure LawyersAndAccountantsName(): Text[100] + begin + exit(LawyersAndAccountantsLbl); + end; + + procedure LegalContestsName(): Text[100] + begin + exit(LegalContestsLbl); + end; + + procedure OtherServiceChargesName(): Text[100] + begin + exit(OtherServiceChargesLbl); + end; + + procedure PurchaseCostsRawMatName(): Text[100] + begin + exit(PurchaseCostsRawMatLbl); + end; + + procedure PurchaseCostsRetailName(): Text[100] + begin + exit(PurchaseCostsRetailLbl); + end; + + procedure PurchaseCostsInterimName(): Text[100] + begin + exit(PurchaseCostsInterimLbl); + end; + + procedure TranspCostsPurchRawMatName(): Text[100] + begin + exit(TranspCostsPurchRawMatLbl); + end; + + procedure TranspCostsPurchRetailName(): Text[100] + begin + exit(TranspCostsPurchRetailLbl); + end; + + procedure BrokerageName(): Text[100] + begin + exit(BrokerageLbl); + end; + + procedure SocialSecurityName(): Text[100] + begin + exit(SocialSecurityLbl); + end; + + procedure OtherPersonnelExpensesName(): Text[100] + begin + exit(OtherPersonnelExpensesLbl); + end; + + procedure DepreciationsName(): Text[100] + begin + exit(DepreciationsLbl); + end; + + procedure DeprecFormIncrOfCapPremilaryName(): Text[100] + begin + exit(DeprecFormIncrOfCapPremilaryLbl); + end; + + procedure DeprecLandAndBuildingsName(): Text[100] + begin + exit(DeprecLandAndBuildingsLbl); + end; + + procedure DepreciationEquipmentName(): Text[100] + begin + exit(DepreciationEquipmentLbl); + end; + + procedure DepreciationRollingStockName(): Text[100] + begin + exit(DepreciationRollingStockLbl); + end; + + procedure VehicleTaxesName(): Text[100] + begin + exit(VehicleTaxesLbl); + end; + + procedure FinesName(): Text[100] + begin + exit(FinesLbl); + end; + + procedure MiscCostsOfOperationsName(): Text[100] + begin + exit(MiscCostsOfOperationsLbl); + end; + + procedure FinancialChargesName(): Text[100] + begin + exit(FinancialChargesLbl); + end; + + procedure InterestOnBankAccountName(): Text[100] + begin + exit(InterestOnBankAccountLbl); + end; + + procedure UnrealizedExchRateDiffExpenseName(): Text[100] + begin + exit(UnrealizedExchRateDiffExpenseLbl); + end; + + procedure RealizedExchRateDiffExpenseName(): Text[100] + begin + exit(RealizedExchRateDiffExpenseLbl); + end; + + procedure BankChargesName(): Text[100] + begin + exit(BankChargesLbl); + end; + + procedure StockExchangeTurnoverTaxName(): Text[100] + begin + exit(StockExchangeTurnoverTaxLbl); + end; + + procedure LossesDisposalFixedAssetsName(): Text[100] + begin + exit(LossesDisposalFixedAssetsLbl); + end; + + procedure TransferToDutyFreeReserveName(): Text[100] + begin + exit(TransferToDutyFreeReserveLbl); + end; + + procedure ProcessingOfResultTransferName(): Text[100] + begin + exit(ProcessingOfResultTransferLbl); + end; + + procedure LossCarrForwFrPrevFyName(): Text[100] + begin + exit(LossCarrForwFrPrevFyLbl); + end; + + procedure AddCapitalIssuingPremName(): Text[100] + begin + exit(AddCapitalIssuingPremLbl); + end; + + procedure AddReservesName(): Text[100] + begin + exit(AddReservesLbl); + end; + + procedure ProfitToBeCarriedForwardName(): Text[100] + begin + exit(ProfitToBeCarriedForwardLbl); + end; + + procedure ReturnOnCapitalName(): Text[100] + begin + exit(ReturnOnCapitalLbl); + end; + + procedure DirectorsRemunerationName(): Text[100] + begin + exit(DirectorsRemunerationLbl); + end; + + procedure SalesRawMatDomName(): Text[100] + begin + exit(SalesRawMatDomLbl); + end; + + procedure SalesRawMatEuName(): Text[100] + begin + exit(SalesRawMatEuLbl); + end; + + procedure SalesRawMatExportName(): Text[100] + begin + exit(SalesRawMatExportLbl); + end; + + procedure SalesJobsName(): Text[100] + begin + exit(SalesJobsLbl); + end; + + procedure ConsultingFeesName(): Text[100] + begin + exit(ConsultingFeesLbl); + end; + + procedure PaymentDiscGrantedName(): Text[100] + begin + exit(PaymentDiscGrantedLbl); + end; + + procedure InventoryAdjustmentsDiscountName(): Text[100] + begin + exit(InventoryAdjustmentsDiscountLbl); + end; + + procedure ProducedFixedAssetsName(): Text[100] + begin + exit(ProducedFixedAssetsLbl); + end; + + procedure OtherOperatingIncomeName(): Text[100] + begin + exit(OtherOperatingIncomeLbl); + end; + + procedure JobCostAdjustmentRetailDiscName(): Text[100] + begin + exit(JobCostAdjustmentRetailDiscLbl); + end; + + procedure JobCostAdjustmentRawMatIncomeName(): Text[100] + begin + exit(JobCostAdjustmentRawMatIncomeLbl); + end; + + procedure JobCostAdjustmentResourcesIncomeName(): Text[100] + begin + exit(JobCostAdjustmentResourcesIncomeLbl); + end; + + procedure FinancialIncomeName(): Text[100] + begin + exit(FinancialIncomeLbl); + end; + + procedure IncomeFromLoansName(): Text[100] + begin + exit(IncomeFromLoansLbl); + end; + + procedure InterestOnBankAccountsRecName(): Text[100] + begin + exit(InterestOnBankAccountsRecLbl); + end; + + procedure PaymentDiscReceivedName(): Text[100] + begin + exit(PaymentDiscReceivedLbl); + end; + + procedure UnrealizedExchRateDiffIncomeName(): Text[100] + begin + exit(UnrealizedExchRateDiffIncomeLbl); + end; + + procedure RealizedExchRateDiffIncomeName(): Text[100] + begin + exit(RealizedExchRateDiffIncomeLbl); + end; + + procedure GainsOnDisposalFixedAssetsName(): Text[100] + begin + exit(GainsOnDisposalFixedAssetsLbl); + end; + + procedure TaxesDuePaidName(): Text[100] + begin + exit(TaxesDuePaidLbl); + end; + + procedure DeferredFromDutyFreeResName(): Text[100] + begin + exit(DeferredFromDutyFreeResLbl); + end; + + procedure ProcessingOfResultDeferredName(): Text[100] + begin + exit(ProcessingOfResultDeferredLbl); + end; + + procedure BenefitCarrFwFrPrevFyName(): Text[100] + begin + exit(BenefitCarrFwFrPrevFyLbl); + end; + + procedure LossToBeCarriedForwardName(): Text[100] + begin + exit(LossToBeCarriedForwardLbl); + end; + + procedure AssociateIntervInLossName(): Text[100] + begin + exit(AssociateIntervInLossLbl); + end; + + procedure OwnersEquityDebts1Year(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OwnersEquityDebts1YearName())); + end; + + procedure Capital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalName())); + end; + + procedure StockCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StockCapitalName())); + end; + + procedure NotCalledUpStockCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NotCalledUpStockCapitalName())); + end; + + procedure IssuingPremiums(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IssuingPremiumsName())); + end; + + procedure PlusValuesOfReevaluation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PlusValuesOfReevaluationName())); + end; + + procedure Reserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReserveName())); + end; + + procedure CapitalSubventions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalSubventionsName())); + end; + + procedure AllowancesForDoubtfulAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AllowancesForDoubtfulAccName())); + end; + + procedure DebtsDueAt1Year(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsDueAt1YearName())); + end; + + procedure FixedAssetsCredits1Year(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsCredits1YearName())); + end; + + procedure PreliminaryExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PreliminaryExpensesName())); + end; + + procedure FormationIncrOfCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FormationIncrOfCapitalName())); + end; + + procedure DeprecFormIncrOfCapDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecFormIncrOfCapDepreciationName())); + end; + + procedure IntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsName())); + end; + + procedure ResearchDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResearchDevelopmentName())); + end; + + procedure DeprResearchDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprResearchDevelopmentName())); + end; + + procedure DeprecBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecBuildingsName())); + end; + + procedure EquipmentTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquipmentTotalName())); + end; + + procedure Equipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquipmentName())); + end; + + procedure DeprecEquipmentDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecEquipmentDepreciationName())); + end; + + procedure FurnituresAndRollingStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FurnituresAndRollingStockName())); + end; + + procedure Furnitures(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FurnituresName())); + end; + + procedure DeprecFurnitures(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecFurnituresName())); + end; + + procedure OfficeEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeEquipmentName())); + end; + + procedure DeprecOfficeEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecOfficeEquipmentName())); + end; + + procedure ComputerEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ComputerEquipmentName())); + end; + + procedure DeprecComputerEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecComputerEquipmentName())); + end; + + procedure RollingStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RollingStockName())); + end; + + procedure DeprecRollingStockFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecRollingStockFurnitureName())); + end; + + procedure FixedAssetsOnLeasing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsOnLeasingName())); + end; + + procedure Leasings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeasingsName())); + end; + + procedure DeprecLeasings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecLeasingsName())); + end; + + procedure OtherTangibleFaTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTangibleFaTotalName())); + end; + + procedure OtherTangibleFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTangibleFaName())); + end; + + procedure DeprecOtherTangibleFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecOtherTangibleFaName())); + end; + + procedure InventoryAndOrders(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryAndOrdersName())); + end; + + procedure PostedDepreciationsAuxiliary(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostedDepreciationsAuxiliaryName())); + end; + + procedure AuxiliaryMaterialsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuxiliaryMaterialsTotalName())); + end; + + procedure AuxiliaryMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuxiliaryMaterialsName())); + end; + + procedure AuxiliaryMaterialsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuxiliaryMaterialsInterimName())); + end; + + procedure PostedDepreciationsRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostedDepreciationsRawMaterialsName())); + end; + + procedure GoodsBeingMadeTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsBeingMadeTotalName())); + end; + + procedure GoodsBeingMade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsBeingMadeName())); + end; + + procedure GoodsBeingMadeInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsBeingMadeInterimName())); + end; + + procedure PostedDepreciationsGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostedDepreciationsGoodsName())); + end; + + procedure PostedDepreciationsFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostedDepreciationsFinishedGoodsName())); + end; + + procedure GoodsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsTotalName())); + end; + + procedure Goods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsName())); + end; + + procedure GoodsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsInterimName())); + end; + + procedure PostedDepreciationsGoodsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostedDepreciationsGoodsInterimName())); + end; + + procedure VendorPrepayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsName())); + end; + + procedure DebtsCreditsDue1Year(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsCreditsDue1YearName())); + end; + + procedure BillsOfExchReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsOfExchReceivableName())); + end; + + procedure CreditsReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditsReceivableName())); + end; + + procedure CustomerPrepayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsName())); + end; + + procedure DoubtfulDebtors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DoubtfulDebtorsName())); + end; + + procedure VatRecoverable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VatRecoverableName())); + end; + + procedure OtherDoubtfulDebtors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherDoubtfulDebtorsName())); + end; + + procedure DebtsDueWithin1Year(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsDueWithin1YearName())); + end; + + procedure RedemptionOfLoan(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RedemptionOfLoanName())); + end; + + procedure FinancialDebts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialDebtsName())); + end; + + procedure BankAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankAccountName())); + end; + + procedure BillsOfExchPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsOfExchPayableName())); + end; + + procedure TaxesSalariesSocCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesSalariesSocChargesName())); + end; + + procedure EstimatedTaxesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedTaxesPayableName())); + end; + + procedure TaxesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesPayableName())); + end; + + procedure RetainedDeductionsAtSource(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetainedDeductionsAtSourceName())); + end; + + procedure SocialSecurityTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecurityTotalName())); + end; + + procedure WagesAndSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesAndSalariesName())); + end; + + procedure OtherSocialCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSocialChargesName())); + end; + + procedure DebtsByResultAllocation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsByResultAllocationName())); + end; + + procedure DividendsFormerFiscalYrs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendsFormerFiscalYrsName())); + end; + + procedure DividendsFiscalYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendsFiscalYearName())); + end; + + procedure MiscellaneousDebts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscellaneousDebtsName())); + end; + + procedure TransitAccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransitAccountsName())); + end; + + procedure CodaTemporaryAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CodaTemporaryAccountName())); + end; + + procedure InvestmentsLiquidities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentsLiquiditiesName())); + end; + + procedure OwnersStockEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OwnersStockEquityName())); + end; + + procedure Stocks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StocksName())); + end; + + procedure StockBuyIn(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StockBuyInName())); + end; + + procedure BankLocalCurrency(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankLocalCurrencyName())); + end; + + procedure BankProcessing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankProcessingName())); + end; + + procedure BankForeignCurrency(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankForeignCurrencyName())); + end; + + procedure PostAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostAccountName())); + end; + + procedure Transfers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransfersName())); + end; + + procedure Expenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesName())); + end; + + procedure GoodsRawAuxMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsRawAuxMaterialsName())); + end; + + procedure PurchasesRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesRawMaterialsName())); + end; + + procedure PurchasesRawMatDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesRawMatDomName())); + end; + + procedure PurchasesRawMatEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesRawMatEuName())); + end; + + procedure PurchasesRawMatExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesRawMatExportName())); + end; + + procedure PurchasesAuxiliaryMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesAuxiliaryMaterialsName())); + end; + + procedure PurchasesServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesServicesName())); + end; + + procedure ResourceUsageCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResourceUsageCostsName())); + end; + + procedure GeneralSubcontractings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GeneralSubcontractingsName())); + end; + + procedure PurchasesOfGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesOfGoodsName())); + end; + + procedure PurchasesRetailDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesRetailDomName())); + end; + + procedure PurchasesRetailEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesRetailEuName())); + end; + + procedure PurchasesRetailExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesRetailExportName())); + end; + + procedure DiscountsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountsReceivedName())); + end; + + procedure InventoryAdjustmentsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryAdjustmentsSalesName())); + end; + + procedure InventAdjRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventAdjRetailName())); + end; + + procedure InventAdjRetailInt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventAdjRetailIntName())); + end; + + procedure JobCostAdjustmentRetailSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjustmentRetailSalesName())); + end; + + procedure InventAdjRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventAdjRawMatName())); + end; + + procedure InventAdjRawMatInt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventAdjRawMatIntName())); + end; + + procedure JobCostAdjustmentRawMatInventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjustmentRawMatInventoryName())); + end; + + procedure JobCostAdjustmentResourcesInventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjustmentResourcesInventoryName())); + end; + + procedure ServicesAndInvestmentGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServicesAndInvestmentGoodsName())); + end; + + procedure RentBuildingsRsEquipm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentBuildingsRsEquipmName())); + end; + + procedure RMBuildingsAndEquipm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RMBuildingsAndEquipmName())); + end; + + procedure RMRollingStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RMRollingStockName())); + end; + + procedure CleaningProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningProductsName())); + end; + + procedure ElectricityWaterAndHeating(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityWaterAndHeatingName())); + end; + + procedure Mailings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MailingsName())); + end; + + procedure InsurancesRsFire(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesRsFireName())); + end; + + procedure LawyersAndAccountants(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LawyersAndAccountantsName())); + end; + + procedure LegalContests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalContestsName())); + end; + + procedure OtherServiceCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherServiceChargesName())); + end; + + procedure PurchaseCostsRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseCostsRawMatName())); + end; + + procedure PurchaseCostsRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseCostsRetailName())); + end; + + procedure PurchaseCostsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseCostsInterimName())); + end; + + procedure TranspCostsPurchRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TranspCostsPurchRawMatName())); + end; + + procedure TranspCostsPurchRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TranspCostsPurchRetailName())); + end; + + procedure Brokerage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BrokerageName())); + end; + + procedure SocialSecurity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecurityName())); + end; + + procedure OtherPersonnelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPersonnelExpensesName())); + end; + + procedure Depreciations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationsName())); + end; + + procedure DeprecFormIncrOfCapPremilary(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecFormIncrOfCapPremilaryName())); + end; + + procedure DeprecLandAndBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecLandAndBuildingsName())); + end; + + procedure DepreciationEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationEquipmentName())); + end; + + procedure DepreciationRollingStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationRollingStockName())); + end; + + procedure VehicleTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehicleTaxesName())); + end; + + procedure Fines(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinesName())); + end; + + procedure MiscCostsOfOperations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscCostsOfOperationsName())); + end; + + procedure FinancialCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialChargesName())); + end; + + procedure InterestOnBankAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestOnBankAccountName())); + end; + + procedure UnrealizedExchRateDiffExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnrealizedExchRateDiffExpenseName())); + end; + + procedure RealizedExchRateDiffExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedExchRateDiffExpenseName())); + end; + + procedure BankCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankChargesName())); + end; + + procedure StockExchangeTurnoverTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StockExchangeTurnoverTaxName())); + end; + + procedure LossesDisposalFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDisposalFixedAssetsName())); + end; + + procedure TransferToDutyFreeReserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransferToDutyFreeReserveName())); + end; + + procedure ProcessingOfResultTransfer(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProcessingOfResultTransferName())); + end; + + procedure LossCarrForwFrPrevFy(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossCarrForwFrPrevFyName())); + end; + + procedure AddCapitalIssuingPrem(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AddCapitalIssuingPremName())); + end; + + procedure AddReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AddReservesName())); + end; + + procedure ProfitToBeCarriedForward(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitToBeCarriedForwardName())); + end; + + procedure ReturnOnCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReturnOnCapitalName())); + end; + + procedure DirectorsRemuneration(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectorsRemunerationName())); + end; + + procedure SalesRawMatDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRawMatDomName())); + end; + + procedure SalesRawMatEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRawMatEuName())); + end; + + procedure SalesRawMatExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRawMatExportName())); + end; + + procedure SalesJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesJobsName())); + end; + + procedure ConsultingFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingFeesName())); + end; + + procedure PaymentDiscGranted(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscGrantedName())); + end; + + procedure InventoryAdjustmentsDiscount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryAdjustmentsDiscountName())); + end; + + procedure ProducedFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProducedFixedAssetsName())); + end; + + procedure OtherOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingIncomeName())); + end; + + procedure JobCostAdjustmentRetailDisc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjustmentRetailDiscName())); + end; + + procedure JobCostAdjustmentRawMatIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjustmentRawMatIncomeName())); + end; + + procedure JobCostAdjustmentResourcesIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjustmentResourcesIncomeName())); + end; + + procedure FinancialIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialIncomeName())); + end; + + procedure IncomeFromLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromLoansName())); + end; + + procedure InterestOnBankAccountsRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestOnBankAccountsRecName())); + end; + + procedure PaymentDiscReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscReceivedName())); + end; + + procedure UnrealizedExchRateDiffIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnrealizedExchRateDiffIncomeName())); + end; + + procedure RealizedExchRateDiffIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedExchRateDiffIncomeName())); + end; + + procedure GainsOnDisposalFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsOnDisposalFixedAssetsName())); + end; + + procedure TaxesDuePaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesDuePaidName())); + end; + + procedure DeferredFromDutyFreeRes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredFromDutyFreeResName())); + end; + + procedure ProcessingOfResultDeferred(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProcessingOfResultDeferredName())); + end; + + procedure BenefitCarrFwFrPrevFy(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitCarrFwFrPrevFyName())); + end; + + procedure LossToBeCarriedForward(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossToBeCarriedForwardName())); + end; + + procedure AssociateIntervInLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssociateIntervInLossName())); + end; + + procedure ExtraordinaryExpensesTotalName(): Text[100] + begin + exit(ExtraordinaryExpensesTotalLbl); + end; + + procedure ExtraordinaryExpensesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryExpensesTotalName())); + end; + + procedure CorporateTaxTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateTaxTotalName())); + end; + + procedure CorporateTaxTotalName(): Text[100] + begin + exit(CorporateTaxTotalLbl); + end; + + procedure CorporateTaxDue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateTaxDueName())); + end; + + procedure CorporateTaxDueName(): Text[100] + begin + exit(CorporateTaxDueLbl); + end; + + procedure ExtraordinaryIncomeTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryIncomeTotalName())); + end; + + procedure ExtraordinaryIncomeTotalName(): Text[100] + begin + exit(ExtraordinaryIncomeTotalLbl); + end; + + procedure FinishedGoodsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsTotalName())); + end; + + procedure FinishedGoodsTotalName(): Text[100] + begin + exit(FinishedGoodsTotalLbl); + end; + + procedure RawMaterialsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsTotalName())); + end; + + procedure RawMaterialsTotalName(): Text[100] + begin + exit(RawMaterialsTotalLbl); + end; + + procedure CashDiscrepanciesFinancial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashDiscrepanciesFinancialName())); + end; + + procedure CashDiscrepanciesFinancialName(): Text[100] + begin + exit(CashDiscrepanciesFinancialLbl); + end; + + procedure BEMortgage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BEMortgageName())); + end; + + procedure BEMortgageName(): Text[100] + begin + exit(BEMortgageNameLbl); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + OwnersEquityDebts1YearLbl: Label 'OWNER''S EQUITY & DEBTS +1 YEAR', MaxLength = 100; + CapitalLbl: Label 'Capital', MaxLength = 100; + CashDiscrepanciesFinancialLbl: Label 'Cash Discrepancies Financial', MaxLength = 100; + BEMortgageNameLbl: Label 'Mortgage BE', MaxLength = 100; + StockCapitalLbl: Label 'Stock Capital', MaxLength = 100; + NotCalledUpStockCapitalLbl: Label 'Not called up Stock Capital', MaxLength = 100; + IssuingPremiumsLbl: Label 'Issuing premiums', MaxLength = 100; + PlusValuesOfReevaluationLbl: Label 'Plus values of reevaluation', MaxLength = 100; + ReserveLbl: Label 'Reserve', MaxLength = 100; + CapitalSubventionsLbl: Label 'Capital Subventions', MaxLength = 100; + AllowancesForDoubtfulAccLbl: Label 'Allowances for Doubtful Acc.', MaxLength = 100; + DebtsDueAt1YearLbl: Label 'Debts, due at +1 Year', MaxLength = 100; + FixedAssetsCredits1YearLbl: Label 'FIXED ASSETS & CREDITS +1 YEAR', MaxLength = 100; + PreliminaryExpensesLbl: Label 'Preliminary Expenses', MaxLength = 100; + FormationIncrOfCapitalLbl: Label 'Formation & incr. of capital', MaxLength = 100; + DeprecFormIncrOfCapDepreciationLbl: Label 'Deprec., Form. & incr. of cap. - Depreciation', MaxLength = 100; + IntangibleAssetsLbl: Label 'Intangible Assets', MaxLength = 100; + ResearchDevelopmentLbl: Label 'Research & Development', MaxLength = 100; + DeprResearchDevelopmentLbl: Label 'Depr., Research & Development', MaxLength = 100; + DeprecBuildingsLbl: Label 'Deprec., Buildings', MaxLength = 100; + EquipmentTotalLbl: Label 'Equipment - Total', MaxLength = 100; + EquipmentLbl: Label 'Equipment', MaxLength = 100; + DeprecEquipmentDepreciationLbl: Label 'Deprec., Equipment - Depreciation', MaxLength = 100; + FurnituresAndRollingStockLbl: Label 'Furnitures and Rolling Stock', MaxLength = 100; + FurnituresLbl: Label 'Furnitures', MaxLength = 100; + DeprecFurnituresLbl: Label 'Deprec., Furnitures', MaxLength = 100; + OfficeEquipmentLbl: Label 'Office Equipment', MaxLength = 100; + DeprecOfficeEquipmentLbl: Label 'Deprec., Office Equipment', MaxLength = 100; + ComputerEquipmentLbl: Label 'Computer Equipment', MaxLength = 100; + DeprecComputerEquipmentLbl: Label 'Deprec., Computer Equipment', MaxLength = 100; + RollingStockLbl: Label 'Rolling Stock', MaxLength = 100; + DeprecRollingStockFurnitureLbl: Label 'Deprec., Rolling Stock - Furniture', MaxLength = 100; + FixedAssetsOnLeasingLbl: Label 'Fixed Assets on leasing', MaxLength = 100; + LeasingsLbl: Label 'Leasings', MaxLength = 100; + DeprecLeasingsLbl: Label 'Deprec., Leasings', MaxLength = 100; + OtherTangibleFaTotalLbl: Label 'Other tangible FA - Total', MaxLength = 100; + OtherTangibleFaLbl: Label 'Other tangible FA', MaxLength = 100; + DeprecOtherTangibleFaLbl: Label 'Deprec., Other tangible FA', MaxLength = 100; + InventoryAndOrdersLbl: Label 'INVENTORY AND ORDERS', MaxLength = 100; + PostedDepreciationsRawMaterialsLbl: Label 'Posted depreciations - Raw Materials', MaxLength = 100; + AuxiliaryMaterialsTotalLbl: Label 'Auxiliary Materials - Total', MaxLength = 100; + AuxiliaryMaterialsLbl: Label 'Auxiliary Materials', MaxLength = 100; + AuxiliaryMaterialsInterimLbl: Label 'Auxiliary Materials (Interim)', MaxLength = 100; + PostedDepreciationsAuxiliaryLbl: Label 'Posted depreciations - Auxiliary', MaxLength = 100; + GoodsBeingMadeTotalLbl: Label 'Goods being made - Total', MaxLength = 100; + GoodsBeingMadeLbl: Label 'Goods being made', MaxLength = 100; + GoodsBeingMadeInterimLbl: Label 'Goods being made (Interim)', MaxLength = 100; + PostedDepreciationsGoodsLbl: Label 'Posted depreciations - Goods', MaxLength = 100; + PostedDepreciationsFinishedGoodsLbl: Label 'Posted depreciations - Finished Goods', MaxLength = 100; + GoodsTotalLbl: Label 'Goods - Total', MaxLength = 100; + GoodsLbl: Label 'Goods', MaxLength = 100; + GoodsInterimLbl: Label 'Goods (Interim)', MaxLength = 100; + PostedDepreciationsGoodsInterimLbl: Label 'Posted depreciations - Goods Interim', MaxLength = 100; + VendorPrepaymentsLbl: Label 'Vendor Prepayments', MaxLength = 100; + DebtsCreditsDue1YearLbl: Label 'DEBTS/CREDITS DUE -1 YEAR', MaxLength = 100; + BillsOfExchReceivableLbl: Label 'Bills of Exch. Receivable', MaxLength = 100; + CreditsReceivableLbl: Label 'Credits Receivable', MaxLength = 100; + CustomerPrepaymentsLbl: Label 'Customer Prepayments', MaxLength = 100; + DoubtfulDebtorsLbl: Label 'Doubtful Debtors', MaxLength = 100; + VatRecoverableLbl: Label 'VAT Recoverable', MaxLength = 100; + OtherDoubtfulDebtorsLbl: Label 'Other Doubtful Debtors', MaxLength = 100; + DebtsDueWithin1YearLbl: Label 'Debts, due within +1 Year', MaxLength = 100; + RedemptionOfLoanLbl: Label 'Redemption of Loan', MaxLength = 100; + FinancialDebtsLbl: Label 'Financial Debts', MaxLength = 100; + BankAccountLbl: Label 'Bank Account', MaxLength = 100; + BillsOfExchPayableLbl: Label 'Bills of Exch. Payable', MaxLength = 100; + TaxesSalariesSocChargesLbl: Label 'Taxes, Salaries & Soc. Charges', MaxLength = 100; + EstimatedTaxesPayableLbl: Label 'Estimated Taxes Payable', MaxLength = 100; + TaxesPayableLbl: Label 'Taxes Payable', MaxLength = 100; + RetainedDeductionsAtSourceLbl: Label 'Retained Deductions at Source', MaxLength = 100; + SocialSecurityTotalLbl: Label 'Social Security - Total', MaxLength = 100; + WagesAndSalariesLbl: Label 'Wages and Salaries', MaxLength = 100; + OtherSocialChargesLbl: Label 'Other Social Charges', MaxLength = 100; + DebtsByResultAllocationLbl: Label 'Debts by Result Allocation', MaxLength = 100; + DividendsFormerFiscalYrsLbl: Label 'Dividends, Former Fiscal Yrs', MaxLength = 100; + DividendsFiscalYearLbl: Label 'Dividends, Fiscal Year', MaxLength = 100; + MiscellaneousDebtsLbl: Label 'Miscellaneous Debts', MaxLength = 100; + TransitAccountsLbl: Label 'Transit Accounts', MaxLength = 100; + CodaTemporaryAccountLbl: Label 'CODA Temporary Account', MaxLength = 100; + InvestmentsLiquiditiesLbl: Label 'INVESTMENTS & LIQUIDITIES', MaxLength = 100; + OwnersStockEquityLbl: Label 'Owner''s Stock Equity', MaxLength = 100; + StocksLbl: Label 'Stocks', MaxLength = 100; + StockBuyInLbl: Label 'Stock Buy In', MaxLength = 100; + BankLocalCurrencyLbl: Label 'Bank, Local Currency', MaxLength = 100; + BankProcessingLbl: Label 'Bank, Processing', MaxLength = 100; + BankForeignCurrencyLbl: Label 'Bank, Foreign Currency', MaxLength = 100; + PostAccountLbl: Label 'Post Account', MaxLength = 100; + TransfersLbl: Label 'Transfers', MaxLength = 100; + ExpensesLbl: Label 'EXPENSES', MaxLength = 100; + GoodsRawAuxMaterialsLbl: Label 'Goods, Raw & Aux. Materials', MaxLength = 100; + PurchasesRawMaterialsLbl: Label 'Purchases, Raw Materials', MaxLength = 100; + PurchasesRawMatDomLbl: Label 'Purchases, Raw Mat. - Dom.', MaxLength = 100; + PurchasesRawMatEuLbl: Label 'Purchases, Raw Mat. - EU', MaxLength = 100; + PurchasesRawMatExportLbl: Label 'Purchases, Raw Mat. - Export', MaxLength = 100; + PurchasesAuxiliaryMaterialsLbl: Label 'Purchases, Auxiliary Materials', MaxLength = 100; + PurchasesServicesLbl: Label 'Purchases, Services', MaxLength = 100; + ResourceUsageCostsLbl: Label 'Resource Usage Costs', MaxLength = 100; + GeneralSubcontractingsLbl: Label 'General Subcontractings', MaxLength = 100; + PurchasesOfGoodsLbl: Label 'Purchases of Goods', MaxLength = 100; + PurchasesRetailDomLbl: Label 'Purchases, Retail - Dom.', MaxLength = 100; + PurchasesRetailEuLbl: Label 'Purchases, Retail - EU', MaxLength = 100; + PurchasesRetailExportLbl: Label 'Purchases, Retail - Export', MaxLength = 100; + DiscountsReceivedLbl: Label 'Discounts Received', MaxLength = 100; + InventoryAdjustmentsSalesLbl: Label 'Inventory Adjustments - Sales', MaxLength = 100; + InventAdjRetailLbl: Label 'Invent. Adj., Retail', MaxLength = 100; + InventAdjRetailIntLbl: Label 'Invent. Adj., Retail (Int.)', MaxLength = 100; + JobCostAdjustmentRetailSalesLbl: Label 'Job Cost Adjustment, Retail - Sales', MaxLength = 100; + InventAdjRawMatLbl: Label 'Invent. Adj., Raw Mat.', MaxLength = 100; + InventAdjRawMatIntLbl: Label 'Invent. Adj., Raw Mat. (Int.)', MaxLength = 100; + JobCostAdjustmentRawMatInventoryLbl: Label 'Job Cost Adjustment, Raw Mat. - Inv.', MaxLength = 100; + JobCostAdjustmentResourcesInventoryLbl: Label 'Job Cost Adjustment, Resources - Inv.', MaxLength = 100; + ServicesAndInvestmentGoodsLbl: Label 'Services and Investment Goods', MaxLength = 100; + RentBuildingsRsEquipmLbl: Label 'Rent (Buildings, RS, Equipm.)', MaxLength = 100; + RMBuildingsAndEquipmLbl: Label 'R & M., Buildings and Equipm.', MaxLength = 100; + RMRollingStockLbl: Label 'R & M., Rolling Stock', MaxLength = 100; + CleaningProductsLbl: Label 'Cleaning Products', MaxLength = 100; + ElectricityWaterAndHeatingLbl: Label 'Electricity, Water and Heating', MaxLength = 100; + MailingsLbl: Label 'Mailings', MaxLength = 100; + InsurancesRsFireLbl: Label 'Insurances (RS, Fire, ...)', MaxLength = 100; + LawyersAndAccountantsLbl: Label 'Lawyers and Accountants', MaxLength = 100; + LegalContestsLbl: Label 'Legal Contests', MaxLength = 100; + OtherServiceChargesLbl: Label 'Other Service Charges', MaxLength = 100; + PurchaseCostsRawMatLbl: Label 'Purchase Costs, Raw Mat.', MaxLength = 100; + PurchaseCostsRetailLbl: Label 'Purchase Costs, Retail', MaxLength = 100; + PurchaseCostsInterimLbl: Label 'Purchase Costs (Interim)', MaxLength = 100; + TranspCostsPurchRawMatLbl: Label 'Transp. Costs purch. Raw Mat.', MaxLength = 100; + TranspCostsPurchRetailLbl: Label 'Transp. Costs purch. Retail', MaxLength = 100; + BrokerageLbl: Label 'Brokerage', MaxLength = 100; + SocialSecurityLbl: Label 'Social Security', MaxLength = 100; + OtherPersonnelExpensesLbl: Label 'Other Personnel Expenses', MaxLength = 100; + DepreciationsLbl: Label 'Depreciations', MaxLength = 100; + DeprecFormIncrOfCapPremilaryLbl: Label 'Deprec., Form. & incr. of cap. - Premilary', MaxLength = 100; + DeprecLandAndBuildingsLbl: Label 'Deprec., Land and Buildings', MaxLength = 100; + DepreciationEquipmentLbl: Label 'Depreciation, Equipment', MaxLength = 100; + DepreciationRollingStockLbl: Label 'Depreciation, Rolling Stock', MaxLength = 100; + VehicleTaxesLbl: Label 'Vehicle Taxes', MaxLength = 100; + FinesLbl: Label 'Fines', MaxLength = 100; + MiscCostsOfOperationsLbl: Label 'Misc. Costs of Operations', MaxLength = 100; + FinancialChargesLbl: Label 'Financial Charges', MaxLength = 100; + InterestOnBankAccountLbl: Label 'Interest on Bank Account', MaxLength = 100; + UnrealizedExchRateDiffExpenseLbl: Label 'Unrealized Exch. Rate Diff. - Expense', MaxLength = 100; + RealizedExchRateDiffExpenseLbl: Label 'Realized Exch. Rate Diff. - Expense', MaxLength = 100; + BankChargesLbl: Label 'Bank Charges', MaxLength = 100; + StockExchangeTurnoverTaxLbl: Label 'Stock Exchange Turnover Tax', MaxLength = 100; + LossesDisposalFixedAssetsLbl: Label 'Losses/Disposal Fixed Assets', MaxLength = 100; + TransferToDutyFreeReserveLbl: Label 'Transfer to duty-free reserve', MaxLength = 100; + ProcessingOfResultTransferLbl: Label 'Processing of Result - Transfer', MaxLength = 100; + LossCarrForwFrPrevFyLbl: Label 'Loss carr. forw. fr. Prev. FY', MaxLength = 100; + AddCapitalIssuingPremLbl: Label 'Add. capital & issuing prem.', MaxLength = 100; + AddReservesLbl: Label 'Add. reserves', MaxLength = 100; + ProfitToBeCarriedForwardLbl: Label 'Profit to be carried forward', MaxLength = 100; + ReturnOnCapitalLbl: Label 'Return on Capital', MaxLength = 100; + DirectorsRemunerationLbl: Label 'Director''s remuneration', MaxLength = 100; + SalesRawMatDomLbl: Label 'Sales, Raw Mat. - Dom.', MaxLength = 100; + SalesRawMatEuLbl: Label 'Sales, Raw Mat. - EU', MaxLength = 100; + SalesRawMatExportLbl: Label 'Sales, Raw Mat. - Export', MaxLength = 100; + SalesJobsLbl: Label 'Sales, Jobs', MaxLength = 100; + ConsultingFeesLbl: Label 'Consulting Fees', MaxLength = 100; + PaymentDiscGrantedLbl: Label 'Payment Disc. Granted', MaxLength = 100; + InventoryAdjustmentsDiscountLbl: Label 'Inventory Adjustments - Discount', MaxLength = 100; + ProducedFixedAssetsLbl: Label 'Produced Fixed Assets', MaxLength = 100; + OtherOperatingIncomeLbl: Label 'Other Operating Income', MaxLength = 100; + JobCostAdjustmentRetailDiscLbl: Label 'Job Cost Adjustment, Retail - Disc.', MaxLength = 100; + JobCostAdjustmentRawMatIncomeLbl: Label 'Job Cost Adjustment, Raw Mat. - Income', MaxLength = 100; + JobCostAdjustmentResourcesIncomeLbl: Label 'Job Cost Adjustment, Resources - Income', MaxLength = 100; + FinancialIncomeLbl: Label 'Financial Income', MaxLength = 100; + IncomeFromLoansLbl: Label 'Income from Loans', MaxLength = 100; + InterestOnBankAccountsRecLbl: Label 'Interest on Bank Accounts Rec.', MaxLength = 100; + PaymentDiscReceivedLbl: Label 'Payment Disc. Received', MaxLength = 100; + UnrealizedExchRateDiffIncomeLbl: Label 'Unrealized Exch. Rate Diff. - Income', MaxLength = 100; + RealizedExchRateDiffIncomeLbl: Label 'Realized Exch. Rate Diff. - Income', MaxLength = 100; + GainsOnDisposalFixedAssetsLbl: Label 'Gains on Disposal Fixed Assets', MaxLength = 100; + TaxesDuePaidLbl: Label 'Taxes Due Paid', MaxLength = 100; + DeferredFromDutyFreeResLbl: Label 'Deferred from Duty-free Res.', MaxLength = 100; + ProcessingOfResultDeferredLbl: Label 'Processing of Result - Deferred', MaxLength = 100; + BenefitCarrFwFrPrevFyLbl: Label 'Benefit, carr. fw fr. Prev. FY', MaxLength = 100; + LossToBeCarriedForwardLbl: Label 'Loss to be carried forward', MaxLength = 100; + AssociateIntervInLossLbl: Label 'Associate Interv. in Loss', MaxLength = 100; + ExtraordinaryExpensesTotalLbl: Label 'Extraordinary Expenses - Total', MaxLength = 100; + CorporateTaxTotalLbl: Label 'Corporate Tax - Total', MaxLength = 100; + CorporateTaxDueLbl: Label 'Corporate Tax Due', MaxLength = 100; + ExtraordinaryIncomeTotalLbl: Label 'Extraordinary Income BE', MaxLength = 100; + FinishedGoodsTotalLbl: Label 'Finished Goods Total', MaxLength = 100; + RawMaterialsTotalLbl: Label 'Raw Materials - Total', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGenJnlTemplateBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGenJnlTemplateBE.Codeunit.al new file mode 100644 index 0000000000..e245677ba2 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGenJnlTemplateBE.Codeunit.al @@ -0,0 +1,91 @@ +codeunit 11362 "Create Gen. Jnl Template BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateNoSeriesBE: Codeunit "Create No. Series BE"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + ContosoGeneralLedger.InsertGeneralJournalTemplate(NBL(), NBLLbl, Enum::"Gen. Journal Template Type"::Financial, Page::"Financial Journal", '', false); + ContosoGeneralLedger.InsertGeneralJournalTemplate(Purchase(), PurchaseLbl, Enum::"Gen. Journal Template Type"::Purchases, Page::"Purchase Journal", CreateNoSeriesBE.PurchaseJournal(), false); + ContosoGeneralLedger.InsertGeneralJournalTemplate(PurchCreditMemo(), PurchCreditMemoLbl, Enum::"Gen. Journal Template Type"::Purchases, Page::"Purchase Journal", CreateNoSeriesBE.PurchaseCreditMemoJnl(), false); + ContosoGeneralLedger.InsertGeneralJournalTemplate(Sales(), SalesLbl, Enum::"Gen. Journal Template Type"::Sales, Page::"Sales Journal", CreateNoSeriesBE.SalesJournal(), false); + ContosoGeneralLedger.InsertGeneralJournalTemplate(SalesCreditMemo(), SalesCreditMemoLbl, Enum::"Gen. Journal Template Type"::Sales, Page::"Sales Journal", CreateNoSeriesBE.SalesCreditMemoJnl(), false); + + UpdateGeneralJournalTemplate(Purchase(), CreateNoSeries.PostedPurchaseInvoice()); + UpdateGeneralJournalTemplate(PurchCreditMemo(), CreateNoSeries.PostedPurchaseCreditMemo()); + UpdateGeneralJournalTemplate(Sales(), CreateNoSeries.PostedSalesInvoice()); + UpdateGeneralJournalTemplate(SalesCreditMemo(), CreateNoSeries.PostedSalesCreditMemo()); + end; + + procedure UpdateGenJnlTemplate() + var + CreateBankAccountBE: Codeunit "Create Bank Account BE"; + begin + ValidateGenJnlTemplate(NBL(), Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccountBE.NBLBank()); + end; + + local procedure ValidateGenJnlTemplate(TemplateName: Code[10]; BalAccountType: Enum "Gen. Journal Account Type"; BankAccountNo: Code[20]) + var + GenJnlTemplate: Record "Gen. Journal Template"; + begin + if GenJnlTemplate.Get(TemplateName) then begin + GenJnlTemplate.Validate("Bal. Account Type", BalAccountType); + GenJnlTemplate.Validate("Bal. Account No.", BankAccountNo); + GenJnlTemplate.Modify(true); + end; + end; + + local procedure UpdateGeneralJournalTemplate(TemplateName: Code[10]; PostingNoSeries: Code[20]) + var + GenJnlTemplate: Record "Gen. Journal Template"; + begin + if not GenJnlTemplate.Get(TemplateName) then + exit; + + GenJnlTemplate.Validate("Posting No. Series", PostingNoSeries); + GenJnlTemplate.Modify(true); + end; + + procedure NBL(): Code[10] + begin + exit(NBLTok); + end; + + procedure Purchase(): Code[10] + begin + exit(PURCHTok); + end; + + procedure PurchCreditMemo(): Code[10] + begin + exit(PurchCreditMemoTok); + end; + + procedure Sales(): Code[10] + begin + exit(SalesTok); + end; + + procedure SalesCreditMemo(): Code[10] + begin + exit(SalesCreditMemoTok); + end; + + var + NBLTok: Label 'NBL', MaxLength = 10, Locked = true; + PURCHTok: Label 'PURCH', MaxLength = 10, Locked = true; + PurchCreditMemoTok: Label 'PURCH-CR', MaxLength = 10, Locked = true; + SalesTok: Label 'SALES', MaxLength = 10, Locked = true; + SalesCreditMemoTok: Label 'SALES-CR', MaxLength = 10, Locked = true; + NBLLbl: Label 'NBL', MaxLength = 80; + PurchaseLbl: Label 'Purchases', MaxLength = 80; + PurchCreditMemoLbl: Label 'Purch. Credit Memo', MaxLength = 80; + SalesLbl: Label 'Sales', MaxLength = 80; + SalesCreditMemoLbl: Label 'Sales Credit Memo', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupBE.Codeunit.al new file mode 100644 index 0000000000..2fd25e58c0 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupBE.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 11361 "Create General Ledger Setup BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("EMU Currency", true); + GeneralLedgerSetup.Validate("Local Currency Symbol", ''); + GeneralLedgerSetup.Validate("Local Currency Description", ''); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.EUR()); + GeneralLedgerSetup.Validate("Bank Acc. Recon. Template Name", CreateGenJournalTemplate.PaymentJournal()); + GeneralLedgerSetup.Validate("VAT Statement Template Name", CreateVATStatement.VATTemplateName()); + GeneralLedgerSetup.Validate("VAT Statement Name", CreateGenJournalBatch.Default()); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup."Simplified Intrastat Decl." := true; + GeneralLedgerSetup."Journal Templ. Name Mandatory" := true; + GeneralLedgerSetup."Hide Payment Method Code" := true; + GeneralLedgerSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupBE.Codeunit.al new file mode 100644 index 0000000000..6aedbd80f4 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupBE.Codeunit.al @@ -0,0 +1,103 @@ +codeunit 11364 "Create Posting Group BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + InsertGenProdPostingGroup(); + UpdateGenBusinessPostingGroup(); + UpdateGenPostingSetup(); + end; + + local procedure InsertGenProdPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateVATPostingGroupBE: codeunit "Create VAT Posting Group BE"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(NoVATPostingGroup(), MiscDescriptionLbl, CreateVATPostingGroupBE.NOVAT()); + UpdateGenProdPostingGrp(CreatePostingGroup.FreightPostingGroup(), CreateVATPostingGroupBE.G3()); + UpdateGenProdPostingGrp(CreatePostingGroup.RawMatPostingGroup(), CreateVATPostingGroupBE.G3()); + UpdateGenProdPostingGrp(CreatePostingGroup.RetailPostingGroup(), CreateVATPostingGroupBE.G3()); + UpdateGenProdPostingGrp(CreatePostingGroup.MiscPostingGroup(), CreateVATPostingGroupBE.G3()); + UpdateGenProdPostingGrp(CreatePostingGroup.ServicesPostingGroup(), CreateVATPostingGroupBE.S3()); + UpdateGenProdPostingGrp(CreatePostingGroup.ExportPostingGroup(), CreateVATPostingGroupBE.IMPEXP()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure UpdateGenProdPostingGrp(ProdPostingGroup: COde[20]; DefaultVATProdPostingGroup: Code[20]) + var + GenProdPostingGroup: Record "Gen. Product Posting Group"; + begin + if GenProdPostingGroup.Get(ProdPostingGroup) then begin + GenProdPostingGroup.Validate("Def. VAT Prod. Posting Group", DefaultVATProdPostingGroup); + GenProdPostingGroup.Modify(true); + end; + end; + + local procedure UpdateGenBusinessPostingGroup() + var + GenBusinessPostingGroup: Record "Gen. Business Posting Group"; + CreateVatPostingGroupBE: Codeunit "Create VAT Posting Group BE"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + GenBusinessPostingGroup.Get(CreatePostingGroups.ExportPostingGroup()); + GenBusinessPostingGroup.Validate("Def. VAT Bus. Posting Group", CreateVatPostingGroupBE.IMPEXP()); + GenBusinessPostingGroup.Modify(true); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NoVATPostingGroup(), '', '', CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', '', '', '', '', CreateBEGLAccount.PurchaseCostsRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateGLAccount.VATPayable()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroup.RetailPostingGroup(), '', '', CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', '', '', '', '', CreateBEGLAccount.PurchaseCostsRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateGLAccount.VATPayable()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), NoVATPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateBEGLAccount.PurchasesRetailDom(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateBEGLAccount.PurchaseCostsRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateGLAccount.VATPayable()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateBEGLAccount.PurchasesRetailDom(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateBEGLAccount.PurchaseCostsRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateGLAccount.VATPayable()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateBEGLAccount.PurchasesRetailDom(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateBEGLAccount.InventAdjRetailInt()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailEU(), CreateBEGLAccount.PurchasesRetailEu(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateBEGLAccount.PurchaseCostsRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateGLAccount.VATPayable()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), NoVATPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateBEGLAccount.PurchasesRetailExport(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateBEGLAccount.PurchaseCostsRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateGLAccount.VATPayable()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateBEGLAccount.PurchasesRetailExport(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateBEGLAccount.PurchaseCostsRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateGLAccount.VATPayable()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateBEGLAccount.PurchasesRetailExport(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.Goods(), '', '', CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateBEGLAccount.InventAdjRetail(), CreateBEGLAccount.PurchaseCostsInterim(), CreateBEGLAccount.InventAdjRetailInt()); + ContosoGenPostingSetup.SetOverwriteData(false); + + UpdatePmtDiscAccounts(CreatePostingGroup.DomesticPostingGroup(), NoVATPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateBEGLAccount.PurchasesRetailDom()); + UpdatePmtDiscAccounts(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateBEGLAccount.PurchasesRetailDom()); + UpdatePmtDiscAccounts(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateBEGLAccount.PurchasesRetailDom()); + UpdatePmtDiscAccounts(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailEU(), CreateBEGLAccount.PurchasesRetailEu()); + UpdatePmtDiscAccounts(CreatePostingGroup.ExportPostingGroup(), NoVATPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateBEGLAccount.PurchasesRetailExport()); + UpdatePmtDiscAccounts(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateBEGLAccount.PurchasesRetailExport()); + UpdatePmtDiscAccounts(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateBEGLAccount.PurchasesRetailExport()); + end; + + local procedure UpdatePmtDiscAccounts(GenBusPostinGrp: Code[20]; GenProdPostingGrp: Code[20]; SalesCreditMemoAcc: Code[20]; PurchaseCreditMemo: Code[20]) + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + if not GeneralPostingSetup.Get(GenBusPostinGrp, GenProdPostingGrp) then + exit; + + GeneralPostingSetup.Validate("Sales Credit Memo Account", SalesCreditMemoAcc); + GeneralPostingSetup.Validate("Purch. Credit Memo Account", PurchaseCreditMemo); + GeneralPostingSetup.Modify(true); + end; + + procedure NoVATPostingGroup(): Code[20] + begin + exit(NoVATTok); + end; + + var + MiscDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + NoVATTok: Label 'NO VAT', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateVATPostingGroupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateVATPostingGroupBE.Codeunit.al new file mode 100644 index 0000000000..239dd114dd --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateVATPostingGroupBE.Codeunit.al @@ -0,0 +1,212 @@ +codeunit 11365 "Create VAT Posting Group BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + InsertVATBusinessPostingGroups(); + end; + + procedure CreateVATPostingSetup() + var + ContosoPostingSetup: codeunit "Contoso Posting Setup"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + CreatePostingGroup: codeunit "Create Posting Groups"; + CreateGLAccountBE: Codeunit "Create GL Account BE"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup(CC(), S0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S0(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CC(), S1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S1(), 6, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CC(), S3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S3(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), G0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), G1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G1(), 6, Enum::"Tax Calculation Type"::"Normal VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), G2(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G2(), 12, Enum::"Tax Calculation Type"::"Normal VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), G3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G3(), 21, Enum::"Tax Calculation Type"::"Normal VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), I0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), I3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I3(), 21, Enum::"Tax Calculation Type"::"Normal VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), S0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), S1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S1(), 6, Enum::"Tax Calculation Type"::"Normal VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), S3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S3(), 21, Enum::"Tax Calculation Type"::"Normal VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), VAT(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), VAT(), 0, Enum::"Tax Calculation Type"::"Full VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), G0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G0(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), G1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G1(), 6, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), G2(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G2(), 12, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), G3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G3(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), I0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I0(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), I3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I3(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), S0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S0(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), S1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S1(), 6, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), S3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S3(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), G0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), G1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G1(), 10, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), G2(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G2(), 20, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), G3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G3(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), I0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I0(), 10, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), I3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I3(), 20, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), S0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), S1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S1(), 10, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), S3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S3(), 20, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), G0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G0(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), G1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G1(), 6, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), G2(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G2(), 12, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), G3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G3(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), I0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I0(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), I3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I3(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), S0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), S1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S1(), 6, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPREV(), S3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S3(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccountBE.VatRecoverable(), '', false); + + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), G0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), G1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G1(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), G2(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G2(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), G3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), G3(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), I0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), I3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), I3(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), S0(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S0(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), S1(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S1(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(IMPEXP(), S3(), CreateGLAccount.VATPayable(), CreateBEGLAccount.VatRecoverable(), S3(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', CreateGLAccountBE.VatRecoverable(), '', false); + ContosoPostingSetup.SetOverwriteData(false); + + UpdateReverseChrgVATAcc(); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(G0(), StrSubstNo(GoodsVATLbl, 'No')); + ContosoPostingGroup.InsertVATProductPostingGroup(G1(), StrSubstNo(GoodsVATLbl, '6%')); + ContosoPostingGroup.InsertVATProductPostingGroup(G2(), StrSubstNo(GoodsVATLbl, '12%')); + ContosoPostingGroup.InsertVATProductPostingGroup(G3(), StrSubstNo(GoodsVATLbl, '21%')); + ContosoPostingGroup.InsertVATProductPostingGroup(I0(), StrSubstNo(InvestmentVATLbl, '0%')); + ContosoPostingGroup.InsertVATProductPostingGroup(I3(), StrSubstNo(InvestmentVATLbl, '21%')); + ContosoPostingGroup.InsertVATProductPostingGroup(S0(), ServicesNoVATLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(S1(), StrSubstNo(ServicesVATLbl, '6%')); + ContosoPostingGroup.InsertVATProductPostingGroup(S3(), StrSubstNo(ServicesVATLbl, '21%')); + ContosoPostingGroup.InsertVATProductPostingGroup(NoVAT(), MiscellaneousNoVATLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT(), VATDescLbl); + end; + + local procedure InsertVATBusinessPostingGroups() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATBusinessPostingGroup(CC(), CocontractorLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(IMPREV(), ImportReverseChargeLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(IMPEXP(), ImportExportLbl); + end; + + local procedure UpdateReverseChrgVATAcc() + var + VatPostingSetup: Record "VAT Posting Setup"; + CreateGLAccountBE: Codeunit "Create GL Account BE"; + begin + if VatPostingSetup.FindSet() then + repeat + VatPostingSetup.Validate("Reverse Chrg. VAT Acc.", CreateGLAccountBE.VatRecoverable()); + VatPostingSetup.Modify(true); + until VatPostingSetup.Next() = 0; + end; + + procedure NOVAT(): Code[20] + begin + exit(NoVATTok); + end; + + procedure G0(): Code[20] + begin + exit(G0Tok); + end; + + procedure G1(): Code[20] + begin + exit(G1Tok); + end; + + procedure G2(): Code[20] + begin + exit(G2Tok); + end; + + procedure G3(): Code[20] + begin + exit(G3Tok); + end; + + procedure I0(): Code[20] + begin + exit(I0Tok); + end; + + procedure I3(): Code[20] + begin + exit(I3Tok); + end; + + procedure S0(): Code[20] + begin + exit(S0Tok); + end; + + procedure S1(): Code[20] + begin + exit(S1Tok); + end; + + procedure S3(): Code[20] + begin + exit(S3Tok); + end; + + procedure VAT(): Code[20] + begin + exit(VATTok); + end; + + procedure CC(): Code[20] + begin + exit(CCTok); + end; + + procedure IMPREV(): Code[20] + begin + exit(IMPREVTok); + end; + + procedure IMPEXP(): Code[20] + begin + exit(IMPEXPTok); + end; + + var + NoVATTok: Label 'NO VAT', MaxLength = 20, Locked = true; + G0Tok: Label 'G0', MaxLength = 20, Locked = true; + G1Tok: Label 'G1', MaxLength = 20, Locked = true; + G2Tok: Label 'G2', MaxLength = 20, Locked = true; + G3Tok: Label 'G3', MaxLength = 20, Locked = true; + I0Tok: Label 'I0', MaxLength = 20, Locked = true; + I3Tok: Label 'I3', MaxLength = 20, Locked = true; + S0Tok: Label 'S0', MaxLength = 20, Locked = true; + S1Tok: Label 'S1', MaxLength = 20, Locked = true; + S3Tok: Label 'S3', MaxLength = 20, Locked = true; + VATTok: Label 'VAT', MaxLength = 20, Locked = true; + CCTok: Label 'CC', MaxLength = 20, Locked = true; + IMPREVTok: Label 'IMPREV', MaxLength = 20, Locked = true; + IMPEXPTok: Label 'IMPEXP', MaxLength = 20, Locked = true; + InvestmentVATLbl: Label 'Investments %1 VAT', Comment = '%1=a number specifying the VAT percentage'; + GoodsVATLbl: Label 'Goods %1 VAT', Comment = '%1=a number specifying the VAT percentage'; + ServicesVATLbl: Label 'Services %1 VAT', Comment = '%1=a number specifying the VAT percentage'; + ServicesNoVATLbl: Label 'Services No VAT', MaxLength = 100; + VATDescLbl: Label 'Only VAT', MaxLength = 100; + CocontractorLbl: Label 'Cocontractor', MaxLength = 100; + ImportReverseChargeLbl: Label 'Import Reverse Charge VAT', MaxLength = 100; + ImportExportLbl: Label 'Other customers and vendors (not EU)', MaxLength = 100; + MiscellaneousNoVATLbl: Label 'Miscellaneous without VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateVATStatementBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateVATStatementBE.Codeunit.al new file mode 100644 index 0000000000..200ab54531 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/1. Setup Data/CreateVATStatementBE.Codeunit.al @@ -0,0 +1,535 @@ +codeunit 11425 "Create VAT Statement BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoVATStatementBE: Codeunit "Contoso VAT Statement BE"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVatPostingGroupBE: Codeunit "Create VAT Posting Group BE"; + begin + CreateVATStatementName(); + CreateVATStatementTemplate(); + CreateVATRegNoFormat(); + CreateVATAssistedSetupGrp(); + CreateVatSetupPostingGrp(); + + ContosoVATStatementBE.SetOverwriteData(true); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 10000, '0', OUTGOINGACTIVITIESLbl, Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 20000, '', '', Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 30000, '00', Submittedto0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '00.1..00.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 40000, '00.1', Goods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 50000, '00.2', Services0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 60000, '00.3', Investments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 70000, '01', Submittedto6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '01.1..01.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 80000, '01.1', Goods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 90000, '01.2', Services6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 100000, '02', Submittedto12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 110000, '03', Submittedto21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '03.1..03.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 120000, '03.1', Goods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 130000, '03.2', Services21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 140000, '03.3', Investments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 150000, '45', AmountVATexclLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '45.1..45.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 160000, '45.1', Goods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 170000, '45.1', Goods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 180000, '45.1', Goods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 190000, '45.1', Goods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 200000, '45.2', Services0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 210000, '45.2', Services6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 220000, '45.2', Services21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 230000, '45.3', Investments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 240000, '45.3', Investments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 250000, '46', IntraCommunityICDeliveriesLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '46.1..46.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 260000, '46.1', Goods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 270000, '46.1', Goods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 280000, '46.1', Goods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 290000, '46.1', Goods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 300000, '46.3', Investments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 310000, '46.3', Investments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 320000, '47', ExporttocountriesnotmemberEULbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '47.1..47.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 330000, '47.1', Goods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 340000, '47.1', Goods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 350000, '47.1', Goods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 360000, '47.1', Goods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 370000, '47.2', Services0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 380000, '47.2', Services6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 390000, '47.2', Services21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 400000, '47.2', Services0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 410000, '47.2', Services6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 420000, '47.2', Services21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 430000, '47.3', Investments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 440000, '47.3', Investments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 450000, '48', CreditmemosconcRow46Lbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '48.1..48.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 460000, '48.1', Goods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 470000, '48.1', Goods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 480000, '48.1', Goods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 490000, '48.1', Goods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 500000, '48.3', CreditmemosconcRow00Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 510000, '48.3', CreditmemosconcRow00Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 520000, '49', CMconcRow000102034547Lbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '49.1..49.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 530000, '49.1', CreditmemosconcRow00Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 540000, '49.1', CreditmemosconcRow01Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 550000, '49.1', CreditmemosconcRow02Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 560000, '49.1', CreditmemosconcRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 570000, '49.1', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 580000, '49.1', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 590000, '49.1', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 600000, '49.1', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 610000, '49.1', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 620000, '49.1', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 630000, '49.1', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 640000, '49.1', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 650000, '49.2', CreditmemosconcRow00Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 660000, '49.2', CreditmemosconcRow01Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 670000, '49.2', CreditmemosconcRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 680000, '49.2', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 690000, '49.2', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 700000, '49.2', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 710000, '49.2', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 720000, '49.2', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 730000, '49.2', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 740000, '49.2', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 750000, '49.2', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 760000, '49.2', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 770000, '49.3', CreditmemosconcRow00Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 780000, '49.3', CreditmemosconcRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 790000, '49.3', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 800000, '49.3', CreditmemosconcRow45Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 810000, '49.3', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 820000, '49.3', CreditmemosconcRow47Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 830000, '', '', Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 840000, '50', PAYABLEANDDEDUCTIBLETAXESLbl, Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 850000, '', '', Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 860000, '54', TaxespayableforRow00010203Lbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '54.1..54.4', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 870000, '54.1', TaxespayableforRow01Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 880000, '54.1', TaxespayableforRow02Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 890000, '54.1', TaxespayableforRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 900000, '54.2', TaxespayableforRow01Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 910000, '54.2', TaxespayableforRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 920000, '54.3', TaxespayableforRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 930000, '54.4', TaxespayableVATOnlyLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 940000, '55', TaxespayableforICAcquisitionsLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '55.1..55.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 950000, '55.1', RevChrgVATICAcqGoods0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 960000, '55.1', RevChrgVATICAcqGoods6PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 970000, '55.1', RevChrgVATICAcqGoods12PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 980000, '55.1', RevChrgVATICAcqGoods21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 990000, '55.3', RevChrgVATICAcqInvst0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1000000, '55.3', RevChrgVATICAcqInvst21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1010000, '56', RevChrgVATActinvCocontractorsLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '56.1..56.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1020000, '56.1', WIPGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1030000, '56.1', WIPGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1040000, '56.1', WIPGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1050000, '56.1', WIPGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1060000, '56.2', Services0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1070000, '56.2', Services6PERCENTVAT2Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1080000, '56.2', Services21PERCENTVAT2Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1090000, '56.2', WIPServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1100000, '56.2', WIPServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1110000, '56.2', WIPServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1120000, '56.3', WIPInvestments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1130000, '56.3', WIPInvestments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1140000, '57', RevChargeVATforImportLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '57.1..57.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1150000, '57.1', ImportGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1160000, '57.1', ImportGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1170000, '57.1', ImportGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1180000, '57.1', ImportGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1190000, '57.2', ImportServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1200000, '57.2', ImportServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1210000, '57.2', ImportServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1220000, '57.3', ImportInvestments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1230000, '57.3', ImportInvestments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1240000, '59', DeductibleVATLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '59.1..59.4', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1250000, '59.1', IncomingGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1260000, '59.1', IncomingGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1270000, '59.1', IncomingGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1280000, '59.1', IncomingGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1290000, '59.1', ICAcquisofGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1300000, '59.1', ICAcquisofGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1310000, '59.1', ICAcquisofGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1320000, '59.1', ICAcquisofGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1330000, '59.1', WIPGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1340000, '59.1', WIPGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1350000, '59.1', WIPGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1360000, '59.1', WIPGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1370000, '59.1', ImportGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1380000, '59.1', ImportGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1390000, '59.1', ImportGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1400000, '59.1', ImportGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1410000, '59.1', ImpExpGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1420000, '59.1', ImpExpGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1430000, '59.1', ImpExpGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1440000, '59.1', ImpExpGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1450000, '59.2', IncomingServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1460000, '59.2', IncomingServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1470000, '59.2', IncomingServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1480000, '59.2', IncomingServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1490000, '59.2', IncomingServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1500000, '59.2', IncomingServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1510000, '59.2', WIPServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1520000, '59.2', WIPServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1530000, '59.2', WIPServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1540000, '59.2', ImportServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1550000, '59.2', ImportServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1560000, '59.2', ImportServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1570000, '59.2', ImpExpServices0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1580000, '59.2', ImpExpServices6PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1590000, '59.2', ImpExpServices21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1600000, '59.3', IncomingInvestment0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1610000, '59.3', IncomingInvestment21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1620000, '59.3', ICAcqofInvestments0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1630000, '59.3', ICAcqofInvestments21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1640000, '59.3', WIPInvestments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1650000, '59.3', WIPInvestments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1660000, '59.3', ImportInvestments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1670000, '59.3', ImportInvestments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1680000, '59.3', ImpExpInvestments0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1690000, '59.3', ImpExpInvestments21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1700000, '59.4', InvoicesOnlyVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1710000, '61', RevisionsforTotVATPayableLbl, Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 1, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1720000, '62', RevisionsforTotVATDeductibleLbl, Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1730000, '63', ReimbVATReceivedCreditMemosLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '63.1..63.4', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1740000, '63.1', ReimbVATRecCMGoods6PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1750000, '63.1', ReimbVATRecCMGoods12PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1760000, '63.1', ReimbVATRecCMGoods21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1770000, '63.2', ReimbVATRecCMServ6PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1780000, '63.2', ReimbVATRecCMServ21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1790000, '63.3', ReimbVATRecCMInvestm21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1800000, '63.4', CreditMemosOnlyVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1810000, '64', ReimbVATShippedCreditMemosLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '64.1..64.4', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1820000, '64.1', CreditmemosconcRow01Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1830000, '64.1', CreditmemosconcRow02Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1840000, '64.1', CreditmemosconcRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1850000, '64.2', CreditmemosconcRow01Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1860000, '64.2', CreditmemosconcRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1870000, '64.3', CreditmemosconcRow03Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1880000, '64.4', CreditMemosOnlyVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Sale, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.VAT(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1890000, '65', ReservedforVATPayableLbl, Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1900000, '66', ReservedforVATDeductibleLbl, Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1910000, '', '', Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1920000, '71/72', StatementTotalsLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', 'XX|YY', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1930000, 'XX', Left54555657616365Lbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '54|55|56|57|61|63|65', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1940000, 'YY', Right59626466Lbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '59|62|64|66', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1950000, '', '', Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1960000, '81', GoodsinclIncCreditMemosLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '81.1..81.4|84.1|85.01|85.11|85.21|85.41|86.1|87.1', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1970000, '81.1', Goods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1980000, '81.1', Goods6PERCENTVAT2Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 1990000, '81.1', Goods12PERCENTVAT2Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2000000, '81.1', Goods21PERCENTVAT2Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2010000, '81.1', ImportGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2020000, '81.1', ImportGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2030000, '81.1', ImportGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2040000, '81.1', ImportGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2050000, '82', ServinclIncCreditMemosLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '82.2..82.9|85.02|85.12|85.22|85.32|85.42|87.2', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2060000, '82.2', Services0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2070000, '82.2', Services6PERCENTVAT2Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2080000, '82.2', Services21PERCENTVAT2Lbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2090000, '82.2', ImportServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2100000, '82.2', ImportServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2110000, '82.2', ImportServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2120000, '83', InvestGoodsinclIncCreditMemosLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '83.3|84.3|85.03|85.13|85.23|85.43|86.3|87.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2130000, '83.3', Investment0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2140000, '83.3', Investment21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2150000, '83.3', ImportInvestments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2160000, '83.3', ImportInvestments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2170000, '84', CreditMemosconcICAcquisitionsLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '84.1..84.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2180000, '84.1', CMGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2190000, '84.1', CMGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2200000, '84.1', CMGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2210000, '84.1', CMGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2220000, '84.3', CreditMemosInvGoods0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2230000, '84.3', CreditMemosInvGoods21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2240000, '85', CreditMemosconcRow818283Lbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '85.01..85.43', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2250000, '85.01', CMGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2260000, '85.01', CMGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2270000, '85.01', CMGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2280000, '85.01', CMGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2290000, '85.02', CMServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2300000, '85.02', CMServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2310000, '85.02', CMServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2320000, '85.03', CMInvestment0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2330000, '85.03', CMInvestment21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2340000, '85.11', CMGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2350000, '85.11', CMGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2360000, '85.11', CMGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2370000, '85.11', CMGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2380000, '85.12', CMServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2390000, '85.12', CMServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2400000, '85.12', CMServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2410000, '85.13', CMInvestment0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2420000, '85.13', CMInvestment21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2430000, '85.21', CMImportGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2440000, '85.21', CMImportGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2450000, '85.21', CMImportGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2460000, '85.21', CMImportGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2470000, '85.22', CMImportServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2480000, '85.22', CMImportServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2490000, '85.22', CMImportServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2500000, '85.23', CMImportInvestments0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2510000, '85.23', CMImportInvestments21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPEXP(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2520000, '85.32', CMServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2530000, '85.32', CMServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2540000, '85.32', CMServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2550000, '85.41', CMImportGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2560000, '85.41', CMImportGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2570000, '85.41', CMImportGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2580000, '85.41', CMImportGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2590000, '85.42', CMImportServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2600000, '85.42', CMImportServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2610000, '85.42', CMImportServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2620000, '85.43', CMImportInvestments0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2630000, '85.43', CMImportInvestments21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 3, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2640000, '86', AmntIntraCommAcquisitionsICALbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '86.1..86.3|84.1|84.3', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2650000, '86.1', ICAGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2660000, '86.1', ICAGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2670000, '86.1', ICAGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2680000, '86.1', ICAGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2690000, '86.3', ICAInvestmentGoods0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2700000, '86.3', ICAInvestmentGoods21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2710000, '87', OtherOperatingActivitiesLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', 0, Enum::"General Posting Type"::" ", '', '', '87.1..87.3|85.11..85.13|85.31..85.43', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2720000, '87.1', WIPGoods0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2730000, '87.1', WIPGoods6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2740000, '87.1', WIPGoods12PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2750000, '87.1', WIPGoods21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2760000, '87.1', ImportGoodsRevCharge0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2770000, '87.1', ImportGoodsRevCharge6PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2780000, '87.1', ImportGoodsRevCharge12PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G2(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2790000, '87.1', ImportGoodsRevCharge21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.G3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2800000, '87.2', WIPServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2810000, '87.2', WIPServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2820000, '87.2', WIPServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2830000, '87.2', ImportEUServices0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2840000, '87.2', ImportEUServices6PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2850000, '87.2', ImportEUServices21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2860000, '87.2', ImportServRevCharge0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2870000, '87.2', ImportServRevCharge6PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S1(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2880000, '87.2', ImportServRevCharge21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.S3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2890000, '87.3', WIPInvestments0PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2900000, '87.3', WIPInvestments21PERCENTVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.CC(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2910000, '87.3', ImportInvstRevCharge0PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I0(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2920000, '87.3', ImportInvstRevCharge21PERCVATLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', 7, Enum::"General Posting Type"::Purchase, CreateVatPostingGroupBE.IMPREV(), CreateVatPostingGroupBE.I3(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, false); + ContosoVATStatementBE.InsertVATStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 2930000, '91', PrepaymentLbl, Enum::"VAT Statement Line Type"::Description, '', 0, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, false); + ContosoVATStatementBE.SetOverwriteData(false); + end; + + local procedure CreateVATAssistedSetupGrp() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVatPostingGroupBE: Codeunit "Create VAT Posting Group BE"; + begin + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupBE.CC(), CCPostingGroupDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupBE.IMPEXP(), IMPExpPostingGroupDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupBE.IMPREV(), IMPREVPostingGroupDescriptionLbl, true, true); + end; + + local procedure CreateVatSetupPostingGrp() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVatPostingGroupBE: Codeunit "Create VAT Posting Group BE"; + CreateGLAccountBE: Codeunit "Create GL Account BE"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.G0(), true, 0, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / G0'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.G1(), true, 6, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / G1'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.G2(), true, 12, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / G2'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.G3(), true, 21, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / G3'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.I0(), true, 0, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / I0'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.I3(), true, 21, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / I3'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.NOVAT(), true, 0, '', '', true, 1, 'Miscellaneous without VAT'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.S0(), true, 0, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / S0'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.S1(), true, 6, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / S1'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.S3(), true, 21, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for IMPREV / S3'); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupBE.VAT(), true, 0, CreateGLAccount.VATPayable(), CreateGLAccountBE.VatRecoverable(), true, 1, 'Setup for DOMESTIC / VAT'); + end; + + local procedure CreateVATRegNoFormat() + var + CreateCountryRegion: Codeunit "Create Country/Region"; + ContosoCountryOrRegion: Codeunit "Contoso Country Or Region"; + begin + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 40000, CZFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 50000, CZFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 60000, CZFormat2Lbl) + end; + + local procedure CreateVATStatementName() + var + ContosoVATStatementBE: Codeunit "Contoso VAT Statement BE"; + CreateVATStatement: Codeunit "Create VAT Statement"; + begin + ContosoVATStatementBE.InsertVATStatementTemplate(CreateVATStatement.VATTemplateName(), VATStatementDescLbl, Page::"VAT Statement", Report::"VAT Statement"); + end; + + local procedure CreateVATStatementTemplate() + var + ContosoVATStatementBE: Codeunit "Contoso VAT Statement BE"; + CreateVATStatement: Codeunit "Create VAT Statement"; + begin + ContosoVATStatementBE.InsertVATStatementName(CreateVATStatement.VATTemplateName(), StatementNameLbl, StatementNameDescLbl) + end; + + var + VATStatementDescLbl: Label 'VAT Statement', MaxLength = 80; + StatementNameDescLbl: Label 'Default Statement', MaxLength = 100; + CZFormatLbl: Label '########', MaxLength = 20, Locked = true; + CZFormat1Lbl: Label '#########', MaxLength = 20, Locked = true; + CZFormat2Lbl: Label '##########', MaxLength = 20, Locked = true; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + CCPostingGroupDescriptionLbl: Label 'Cocontractor', MaxLength = 100; + IMPREVPostingGroupDescriptionLbl: Label 'Import Reverse Charge VAT', MaxLength = 100; + IMPExpPostingGroupDescriptionLbl: Label 'Other customers and vendors (not EU)', MaxLength = 100; + OUTGOINGACTIVITIESLbl: Label 'OUTGOING ACTIVITIES', MaxLength = 100; + Submittedto0PERCENTVATLbl: Label 'Submitted to 0 % VAT', MaxLength = 100; + Goods0PERCENTVATLbl: Label ' Goods 0% VAT', MaxLength = 100; + Services0PERCENTVATLbl: Label ' Services 0% VAT', MaxLength = 100; + Investments0PERCENTVATLbl: Label ' Investments 0% VAT', MaxLength = 100; + Submittedto6PERCENTVATLbl: Label 'Submitted to 6% VAT', MaxLength = 100; + Goods6PERCENTVATLbl: Label ' Goods 6% VAT', MaxLength = 100; + Services6PERCENTVATLbl: Label ' Services 6% VAT', MaxLength = 100; + Submittedto12PERCENTVATLbl: Label 'Submitted to 12 % VAT', MaxLength = 100; + Submittedto21PERCENTVATLbl: Label 'Submitted to 21 % VAT', MaxLength = 100; + Goods21PERCENTVATLbl: Label ' Goods 21% VAT', MaxLength = 100; + Services21PERCENTVATLbl: Label ' Services 21% VAT', MaxLength = 100; + Investments21PERCENTVATLbl: Label ' Investments 21% VAT', MaxLength = 100; + AmountVATexclLbl: Label 'Amount (VAT excl.)', MaxLength = 100; + Goods12PERCENTVATLbl: Label ' Goods 12% VAT', MaxLength = 100; + IntraCommunityICDeliveriesLbl: Label 'Intra-Community (IC) Deliveries', MaxLength = 100; + CreditmemosconcRow46Lbl: Label 'Credit memos conc. Row 46', MaxLength = 100; + CreditmemosconcRow00Lbl: Label ' Credit memos conc. Row 00', MaxLength = 100; + CMconcRow000102034547Lbl: Label ' Credit memos conc. Row 00,01,02,03,45,47', MaxLength = 100; + CreditmemosconcRow01Lbl: Label ' Credit memos conc. Row 01', MaxLength = 100; + CreditmemosconcRow02Lbl: Label ' Credit memos conc. Row 02', MaxLength = 100; + CreditmemosconcRow03Lbl: Label ' Credit memos conc. Row 03', MaxLength = 100; + CreditmemosconcRow45Lbl: Label ' Credit memos conc. Row 45', MaxLength = 100; + CreditmemosconcRow47Lbl: Label ' Credit memos conc. Row 47', MaxLength = 100; + PAYABLEANDDEDUCTIBLETAXESLbl: Label 'PAYABLE AND DEDUCTIBLE TAXES', MaxLength = 100; + TaxespayableforRow00010203Lbl: Label 'Taxes payable for Row 00,01,02,03', MaxLength = 100; + TaxespayableforRow01Lbl: Label ' Taxes payable for Row 01', MaxLength = 100; + TaxespayableforRow02Lbl: Label ' Taxes payable for Row 02', MaxLength = 100; + TaxespayableforRow03Lbl: Label ' Taxes payable for Row 03', MaxLength = 100; + TaxespayableVATOnlyLbl: Label ' Taxes payable (VAT Only)', MaxLength = 100; + TaxespayableforICAcquisitionsLbl: Label 'Taxes payable for IC Acquisitions', MaxLength = 100; + RevChrgVATICAcqGoods0PERCVATLbl: Label ' Rev. Charge VAT for IC Acquis. Goods 0% VAT', MaxLength = 100; + RevChrgVATICAcqGoods6PERCVATLbl: Label ' Rev. Charge VAT for IC Acquis. Goods 6% VAT', MaxLength = 100; + RevChrgVATICAcqGoods12PERCVATLbl: Label ' Rev. Charge VAT for IC Acquis. Goods 12% VAT', MaxLength = 100; + RevChrgVATICAcqGoods21PERCVATLbl: Label ' Rev. Charge VAT for IC Acquis. Goods 21% VAT', MaxLength = 100; + RevChrgVATICAcqInvst0PERCVATLbl: Label ' Rev. Charge VAT for IC Acquis. Invest. 0% VAT', MaxLength = 100; + RevChrgVATICAcqInvst21PERCVATLbl: Label ' Rev. Charge VAT for IC Acquis. Invest. 21% VAT', MaxLength = 100; + RevChrgVATActinvCocontractorsLbl: Label 'Rev. Charge VAT for Activ inv. Cocontractors', MaxLength = 100; + WIPGoods0PERCENTVATLbl: Label ' WIP Goods 0% VAT', MaxLength = 100; + WIPGoods6PERCENTVATLbl: Label ' WIP Goods 6% VAT', MaxLength = 100; + WIPGoods12PERCENTVATLbl: Label ' WIP Goods 12% VAT', MaxLength = 100; + WIPGoods21PERCENTVATLbl: Label ' WIP Goods 21% VAT', MaxLength = 100; + Services6PERCENTVAT2Lbl: Label ' Services 6% VAT', MaxLength = 100; + Services21PERCENTVAT2Lbl: Label ' Services 21% VAT', MaxLength = 100; + WIPServices0PERCENTVATLbl: Label ' WIP Services 0% VAT', MaxLength = 100; + WIPServices6PERCENTVATLbl: Label ' WIP Services 6% VAT', MaxLength = 100; + WIPServices21PERCENTVATLbl: Label ' WIP Services 21% VAT', MaxLength = 100; + WIPInvestments0PERCENTVATLbl: Label ' WIP Investments 0% VAT', MaxLength = 100; + WIPInvestments21PERCENTVATLbl: Label ' WIP Investments 21% VAT', MaxLength = 100; + RevChargeVATforImportLbl: Label 'Rev. Charge VAT for Import', MaxLength = 100; + ImportGoods0PERCENTVATLbl: Label ' Import Goods 0% VAT', MaxLength = 100; + ImportGoods6PERCENTVATLbl: Label ' Import Goods 6% VAT', MaxLength = 100; + ImportGoods12PERCENTVATLbl: Label ' Import Goods 12% VAT', MaxLength = 100; + ImportGoods21PERCENTVATLbl: Label ' Import Goods 21% VAT', MaxLength = 100; + ImportServices0PERCENTVATLbl: Label ' Import Services 0% VAT', MaxLength = 100; + ImportServices6PERCENTVATLbl: Label ' Import Services 6% VAT', MaxLength = 100; + ImportServices21PERCENTVATLbl: Label ' Import Services 21% VAT', MaxLength = 100; + ImportInvestments0PERCENTVATLbl: Label ' Import Investments 0% VAT', MaxLength = 100; + ImportInvestments21PERCENTVATLbl: Label ' Import Investments 21% VAT', MaxLength = 100; + DeductibleVATLbl: Label 'Deductible VAT', MaxLength = 100; + IncomingGoods0PERCENTVATLbl: Label ' Incoming Goods 0% VAT', MaxLength = 100; + IncomingGoods6PERCENTVATLbl: Label ' Incoming Goods 6% VAT', MaxLength = 100; + IncomingGoods12PERCENTVATLbl: Label ' Incoming Goods 12% VAT', MaxLength = 100; + IncomingGoods21PERCENTVATLbl: Label ' Incoming Goods 21% VAT', MaxLength = 100; + ICAcquisofGoods0PERCENTVATLbl: Label ' IC Acquis. of Goods 0% VAT', MaxLength = 100; + ICAcquisofGoods6PERCENTVATLbl: Label ' IC Acquis. of Goods 6% VAT', MaxLength = 100; + ICAcquisofGoods12PERCENTVATLbl: Label ' IC Acquis. of Goods 12% VAT', MaxLength = 100; + ICAcquisofGoods21PERCENTVATLbl: Label ' IC Acquis. of Goods 21% VAT', MaxLength = 100; + IMPEXPGoods0PERCENTVATLbl: Label ' Import/Export Goods 0% VAT', MaxLength = 100; + IMPEXPGoods6PERCENTVATLbl: Label ' Import/Export Goods 6% VAT', MaxLength = 100; + IMPEXPGoods12PERCENTVATLbl: Label ' Import/Export Goods 12% VAT', MaxLength = 100; + IMPEXPGoods21PERCENTVATLbl: Label ' Import/Export Goods 21% VAT', MaxLength = 100; + IncomingServices0PERCENTVATLbl: Label ' Incoming Services 0% VAT', MaxLength = 100; + IncomingServices6PERCENTVATLbl: Label ' Incoming Services 6% VAT', MaxLength = 100; + IncomingServices21PERCENTVATLbl: Label ' Incoming Services 21% VAT', MaxLength = 100; + IMPEXPServices0PERCVATLbl: Label ' Import/Export Services 0% VAT', MaxLength = 100; + IMPEXPServices6PERCVATLbl: Label ' Import/Export Services 6% VAT', MaxLength = 100; + IMPEXPServices21PERCVATLbl: Label ' Import/Export Services 21% VAT', MaxLength = 100; + IncomingInvestment0PERCVATLbl: Label ' Incoming Investment 0% VAT', MaxLength = 100; + IncomingInvestment21PERCVATLbl: Label ' Incoming Investment 21% VAT', MaxLength = 100; + ICAcqofInvestments0PERCVATLbl: Label ' IC Acquis. of Investments 0% VAT', MaxLength = 100; + ICAcqofInvestments21PERCVATLbl: Label ' IC Acquis. of Investments 21% VAT', MaxLength = 100; + IMPEXPInvestments0PERCVATLbl: Label ' Import/Export Investments 0% VAT', MaxLength = 100; + IMPEXPInvestments21PERCVATLbl: Label ' Import/Export Investments 21% VAT', MaxLength = 100; + InvoicesOnlyVATLbl: Label ' Invoices (Only VAT)', MaxLength = 100; + RevisionsforTotVATPayableLbl: Label 'Revisions for Total VAT Payable', MaxLength = 100; + RevisionsforTotVATDeductibleLbl: Label 'Revisions for Total VAT Deductible', MaxLength = 100; + ReimbVATRecCMGoods6PERCVATLbl: Label ' Reimb. of VAT for Rec. CM Goods (6% VAT)', MaxLength = 100; + ReimbVATRecCMGoods12PERCVATLbl: Label ' Reimb. of VAT for Rec. CM Goods (12% VAT)', MaxLength = 100; + ReimbVATRecCMGoods21PERCVATLbl: Label ' Reimb. of VAT for Rec. CM Goods (21% VAT)', MaxLength = 100; + ReimbVATRecCMServ6PERCVATLbl: Label ' Reimb. of VAT for Rec. CM Services (6% VAT)', MaxLength = 100; + ReimbVATRecCMServ21PERCVATLbl: Label ' Reimb. of VAT for Rec. CM Services (21% VAT)', MaxLength = 100; + ReimbVATRecCMInvestm21PERCVATLbl: Label ' Reimb. of VAT for Rec. CM Investm. (21% VAT)', MaxLength = 100; + CreditMemosOnlyVATLbl: Label ' Credit Memos (Only VAT)', MaxLength = 100; + ReimbVATReceivedCreditMemosLbl: Label 'Reimbursement of VAT for Received Credit Memos', MaxLength = 100; + ReimbVATShippedCreditMemosLbl: Label 'Reimbursement of VAT for Shipped Credit Memos', MaxLength = 100; + ReservedforVATPayableLbl: Label 'Reserved for VAT Payable', MaxLength = 100; + ReservedforVATDeductibleLbl: Label 'Reserved for VAT Deductible', MaxLength = 100; + StatementTotalsLbl: Label 'Statement Totals', MaxLength = 100; + Left54555657616365Lbl: Label 'Left 54+55+56+57+61+63+65', MaxLength = 100; + Right59626466Lbl: Label 'Right 59+62+64+66', MaxLength = 100; + GoodsinclIncCreditMemosLbl: Label 'Goods, incl. Incoming Credit Memos', MaxLength = 100; + Goods6PERCENTVAT2Lbl: Label ' Goods 6% VAT', MaxLength = 100; + Goods12PERCENTVAT2Lbl: Label ' Goods 12% VAT', MaxLength = 100; + Goods21PERCENTVAT2Lbl: Label ' Goods 21% VAT', MaxLength = 100; + ServinclIncCreditMemosLbl: Label 'Services, incl. Incoming Credit Memos', MaxLength = 100; + InvestGoodsinclIncCreditMemosLbl: Label 'Investm. Goods, incl. Incoming Credit Memos', MaxLength = 100; + Investment0PERCENTVATLbl: Label ' Investment 0% VAT', MaxLength = 100; + Investment21PERCENTVATLbl: Label ' Investment 21% VAT', MaxLength = 100; + CreditMemosconcICAcquisitionsLbl: Label 'Credit Memos conc. IC Acquisitions', MaxLength = 100; + CMGoods0PERCENTVATLbl: Label ' CM Goods 0% VAT', MaxLength = 100; + CMGoods6PERCENTVATLbl: Label ' CM Goods 6% VAT', MaxLength = 100; + CMGoods12PERCENTVATLbl: Label ' CM Goods 12% VAT', MaxLength = 100; + CMGoods21PERCENTVATLbl: Label ' CM Goods 21% VAT', MaxLength = 100; + CreditMemosInvGoods0PERCVATLbl: Label ' Credit Memos Investment Goods 0% VAT', MaxLength = 100; + CreditMemosInvGoods21PERCVATLbl: Label ' Credit Memos Investment Goods 21% VAT', MaxLength = 100; + CMServices0PERCENTVATLbl: Label ' CM Services 0% VAT', MaxLength = 100; + CMServices6PERCENTVATLbl: Label ' CM Services 6% VAT', MaxLength = 100; + CMServices21PERCENTVATLbl: Label ' CM Services 21% VAT', MaxLength = 100; + CMInvestment0PERCENTVATLbl: Label ' CM Investment 0% VAT', MaxLength = 100; + CMInvestment21PERCENTVATLbl: Label ' CM Investment 21% VAT', MaxLength = 100; + CMImportGoods0PERCENTVATLbl: Label ' CM Import Goods 0% VAT', MaxLength = 100; + CMImportGoods6PERCENTVATLbl: Label ' CM Import Goods 6% VAT', MaxLength = 100; + CMImportGoods12PERCENTVATLbl: Label ' CM Import Goods 12% VAT', MaxLength = 100; + CMImportGoods21PERCENTVATLbl: Label ' CM Import Goods 21% VAT', MaxLength = 100; + CreditMemosconcRow818283Lbl: Label 'Credit Memos conc. Row 81,82,83', MaxLength = 100; + CMImportServices0PERCENTVATLbl: Label ' CM Import Services 0% VAT', MaxLength = 100; + CMImportServices6PERCENTVATLbl: Label ' CM Import Services 6% VAT', MaxLength = 100; + CMImportServices21PERCENTVATLbl: Label ' CM Import Services 21% VAT', MaxLength = 100; + CMImportInvestments0PERCVATLbl: Label ' CM Import Investments 0% VAT', MaxLength = 100; + CMImportInvestments21PERCVATLbl: Label ' CM Import Investments 21% VAT', MaxLength = 100; + AmntIntraCommAcquisitionsICALbl: Label 'Amount of Intra-Community Acquisitions (ICA)', MaxLength = 100; + ICAGoods0PERCENTVATLbl: Label ' ICA Goods 0% VAT', MaxLength = 100; + ICAGoods6PERCENTVATLbl: Label ' ICA Goods 6% VAT', MaxLength = 100; + ICAGoods12PERCENTVATLbl: Label ' ICA Goods 12% VAT', MaxLength = 100; + ICAGoods21PERCENTVATLbl: Label ' ICA Goods 21% VAT', MaxLength = 100; + ICAInvestmentGoods0PERCVATLbl: Label ' ICA Investment Goods 0% VAT', MaxLength = 100; + ICAInvestmentGoods21PERCVATLbl: Label ' ICA Investment Goods 21% VAT', MaxLength = 100; + OtherOperatingActivitiesLbl: Label 'Other Operating Activities', MaxLength = 100; + ImportGoodsRevCharge0PERCVATLbl: Label ' Import Goods Reverse Charge 0% VAT', MaxLength = 100; + ImportGoodsRevCharge6PERCVATLbl: Label ' Import Goods Reverse Charge 6% VAT', MaxLength = 100; + ImportGoodsRevCharge12PERCVATLbl: Label ' Import Goods Reverse Charge 12% VAT', MaxLength = 100; + ImportGoodsRevCharge21PERCVATLbl: Label ' Import Goods Reverse Charge 21% VAT', MaxLength = 100; + ImportEUServices0PERCENTVATLbl: Label ' Import EU Services 0% VAT', MaxLength = 100; + ImportEUServices6PERCENTVATLbl: Label ' Import EU Services 6% VAT', MaxLength = 100; + ImportEUServices21PERCENTVATLbl: Label ' Import EU Services 21% VAT', MaxLength = 100; + ImportServRevCharge0PERCVATLbl: Label ' Import Services Reverse Charge 0% VAT', MaxLength = 100; + ImportServRevCharge6PERCVATLbl: Label ' Import Services Reverse Charge 6% VAT', MaxLength = 100; + ImportServRevCharge21PERCVATLbl: Label ' Import Services Reverse Charge 21% VAT', MaxLength = 100; + ImportInvstRevCharge0PERCVATLbl: Label ' Import Investments Reverse Charge 0% VAT', MaxLength = 100; + ImportInvstRevCharge21PERCVATLbl: Label ' Import Investments Reverse Charge 21% VAT', MaxLength = 100; + PrepaymentLbl: Label 'Prepayment', MaxLength = 100; + ExporttocountriesnotmemberEULbl: Label 'Export to other countries (not member of EU)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateColumnLayoutBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateColumnLayoutBE.Codeunit.al new file mode 100644 index 0000000000..89ab20bfc7 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateColumnLayoutBE.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 11404 "Create Column Layout BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateColumnLayoutNameBE: Codeunit "Create Column Layout Name BE"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + begin + ContosoAccountSchedule.InsertColumnLayout(CreateColumnLayoutNameBE.Balance(), 10000, '', BalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateColumnLayoutNameBE.Balance(), 20000, '', BalanceLastYearLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertColumnLayout(CreateColumnLayoutName.BalanceOnly(), 10000, '', CreateColumnLayoutNameBE.Balance(), Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.SetOverwriteData(false); + + UpdateColumLayout(); + end; + + local procedure UpdateColumLayout() + var + ColumLayout: Record "Column Layout"; + CreateColumnLayoutNameBE: Codeunit "Create Column Layout Name BE"; + begin + ColumLayout.Get(CreateColumnLayoutNameBE.Balance(), 20000); + + Evaluate(ColumLayout."Comparison Date Formula", '<-1Y>'); + ColumLayout.Validate("Comparison Date Formula"); + ColumLayout.Modify(true); + end; + + var + BalanceLbl: Label 'Balance', MaxLength = 30; + BalanceLastYearLbl: Label 'Balance Last Year', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateCurrencyExRateBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateCurrencyExRateBE.Codeunit.al new file mode 100644 index 0000000000..1d16c1364f --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateCurrencyExRateBE.Codeunit.al @@ -0,0 +1,192 @@ +codeunit 11367 "Create Currency Ex. Rate BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 154.8801, 154.8801); + + date := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 165.793, 165.793); + + date := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 159.2372, 159.2372); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 12.3754, 12.3754); + + date := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.7473, 15.7473); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 101.7599, 101.7599); + + date := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 16.2267, 16.2267); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 105.0287, 105.0287); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateResourceBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateResourceBE.Codeunit.al new file mode 100644 index 0000000000..b1bad18242 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateResourceBE.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 11369 "Create Resource BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateVatPostingGroupBE: Codeunit "Create Vat Posting Group BE"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Rec, BrusselLbl, 77, 84.7, 45.35484, 155, PostCode1000Lbl, CreateVatPostingGroupBE.S3()); + CreateResource.Marty(): + ValidateRecordFields(Rec, BrusselLbl, 70, 77, 44.60432, 139, PostCode1000Lbl, CreateVatPostingGroupBE.S3()); + CreateResource.Lina(): + ValidateRecordFields(Rec, BrusselLbl, 93, 102.3, 45, 186, PostCode1000Lbl, CreateVatPostingGroupBE.S3()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + BrusselLbl: Label 'BRUSSEL', MaxLength = 30, Locked = true; + PostCode1000Lbl: Label '1000', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateTerritoryBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateTerritoryBE.Codeunit.al new file mode 100644 index 0000000000..1c0575f341 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Finance/2. Master Data/CreateTerritoryBE.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11397 "Create Territory BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertTerritory(Coast(), BelgianCoastLbl); + ContosoCRM.InsertTerritory(Hagel(), HagelandLbl); + ContosoCRM.InsertTerritory(Kemplimb(), KempenandLimburgLbl); + ContosoCRM.InsertTerritory(Lierherent(), RegionLierHerentalsLbl); + ContosoCRM.InsertTerritory(NK(), NoorderkempenLbl); + ContosoCRM.InsertTerritory(Voeren(), VoerenFouronsLbl); + end; + + procedure Coast(): Code[10] + begin + exit(CoastTok); + end; + + procedure Hagel(): Code[10] + begin + exit(HagelTok); + end; + + procedure Kemplimb(): Code[10] + begin + exit(KemplimbTok); + end; + + procedure Lierherent(): Code[10] + begin + exit(LierherentTok); + end; + + procedure NK(): Code[10] + begin + exit(NKTok); + end; + + procedure Voeren(): Code[10] + begin + exit(VoerenTok); + end; + + var + CoastTok: Label 'COAST', Locked = true, MaxLength = 10; + HagelTok: Label 'HAGEL', Locked = true, MaxLength = 10; + NKTok: Label 'NK', Locked = true, MaxLength = 10; + KemplimbTok: Label 'KEMPLIMB', Locked = true, MaxLength = 10; + LierherentTok: Label 'LIERHERENT', Locked = true, MaxLength = 10; + VoerenTok: Label 'VOEREN', Locked = true, MaxLength = 10; + BelgianCoastLbl: Label 'Belgian Coast', MaxLength = 50; + HagelandLbl: Label 'Hageland', MaxLength = 50; + KempenandLimburgLbl: Label 'Kempen and Limburg', MaxLength = 50; + RegionLierHerentalsLbl: Label 'Region Lier-Herentals', MaxLength = 50; + NoorderkempenLbl: Label 'Noorderkempen', MaxLength = 50; + VoerenFouronsLbl: Label 'Voeren/Fourons', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookBE.Codeunit.al new file mode 100644 index 0000000000..bf3e744470 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookBE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11396 "Create FA Depreciation Book BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAInsJnlTemplateBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAInsJnlTemplateBE.Codeunit.al new file mode 100644 index 0000000000..780282194a --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAInsJnlTemplateBE.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 11409 "Create FA Ins Jnl. Template BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateFANoSeries: Codeunit "Create FA No Series"; + CreateFAInsJnlTemplate: Codeunit "Create FA Ins Jnl. Template"; + begin + ContosoFixedAsset.SetOverwriteData(true); + ContosoFixedAsset.InsertInsuranceJournalTemplate(CreateFAInsJnlTemplate.Insurance(), InsuranceJournalLbl, CreateFANoSeries.InsuranceJournal()); + ContosoFixedAsset.InsertInsuranceJournalBatch(CreateFAInsJnlTemplate.Insurance(), CreateFAInsJnlTemplate.Default(), DefaultJournalBatchLbl); + ContosoFixedAsset.SetOverwriteData(false); + end; + + var + InsuranceJournalLbl: Label 'Insurance Journal', MaxLength = 50; + DefaultJournalBatchLbl: Label 'Default Journal Batch', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpBE.Codeunit.al new file mode 100644 index 0000000000..373382796a --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpBE.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 11392 "Create FA Posting Grp. BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroup(var Rec: Record "FA Posting Group") + var + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; + CreateBEGlAccount: Codeunit "Create GL Account BE"; + begin + case Rec.Code of + CreateFAPostingGroup.Equipment(), CreateFAPostingGroup.Goodwill(), CreateFAPostingGroup.Plant(), CreateFAPostingGroup.Property(), CreateFAPostingGroup.Vehicles(): + ValidateFAPostingGroup(Rec, CreateBEGlAccount.Equipment(), CreateBEGlAccount.DeprecEquipmentDepreciation(), CreateBEGlAccount.Equipment(), CreateBEGlAccount.DeprecEquipmentDepreciation(), CreateBEGlAccount.LossesDisposalFixedAssets(), CreateBEGlAccount.LossesDisposalFixedAssets(), CreateBEGlAccount.MiscCostsOfOperations(), CreateBEGlAccount.DepreciationEquipment(), CreateBEGlAccount.Equipment()); + end; + end; + + local procedure ValidateFAPostingGroup(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateAreaBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateAreaBE.Codeunit.al new file mode 100644 index 0000000000..1b95f49c2b --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateAreaBE.Codeunit.al @@ -0,0 +1,158 @@ +codeunit 11401 "Create Area BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoMiscellaneousBE: Codeunit "Contoso Miscellaneous BE"; + begin + ContosoMiscellaneousBE.InsertArea(FlemishRegion(), FlemishRegionLbl); + ContosoMiscellaneousBE.InsertArea(WalloonRegion(), WalloonRegionLbl); + ContosoMiscellaneousBE.InsertArea(BrusselsCapitalRegion(), BrusselsCapitalRegionLbl); + InsertDisputeStatus(); + end; + + local procedure InsertDisputeStatus() + var + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + begin + ContosoCustomerVendor.InsertDisputeStatus(Invoice(), InvoiceDesLbl); + ContosoCustomerVendor.InsertDisputeStatus(Price(), PriceDescLbl); + ContosoCustomerVendor.InsertDisputeStatus(Quality(), QualityDescLbl); + InsertExportProtocol(); + end; + + local procedure InsertExportProtocol() + var + ContosoMiscellaneousBE: Codeunit "Contoso Miscellaneous BE"; + begin + ContosoMiscellaneousBE.InsertExportProtocol(DOMESTIC(), DomesticDescLbl, 2000002, 2000001, 0, 1); + ContosoMiscellaneousBE.InsertExportProtocol(INTERNATIONALBEN(), InternationalBenDescLbl, 2000003, 2000002, 0, 2); + ContosoMiscellaneousBE.InsertExportProtocol(INTERNATIONALOUR(), InternationalOURDescLbl, 2000003, 2000002, 0, 3); + ContosoMiscellaneousBE.InsertExportProtocol(INTERNATIONALSHA(), InternationalSHADescLbl, 2000003, 2000002, 0, 1); + ContosoMiscellaneousBE.InsertExportProtocol(NONEUROSEPA(), NonEuroSEPADescLbl, 2000005, 2000006, 0, 1); + ContosoMiscellaneousBE.InsertExportProtocol(NONEUROSEPA00100109(), NonEuroSEPADescLbl, 2000005, 2000008, 0, 1); + ContosoMiscellaneousBE.InsertExportProtocol(SEPA(), SEPADescLbl, 2000004, 2000005, 0, 1); + ContosoMiscellaneousBE.InsertExportProtocol(SEPA00100109(), SEPADescLbl, 2000004, 2000007, 0, 1); + ContosoMiscellaneousBE.InsertExportProtocol(ZERO(), ZeroDescLbl, 0, 1000, 1, 0); + InsertIBLCBLWITransactionCode(); + end; + + local procedure InsertIBLCBLWITransactionCode() + var + ContosoMiscellaneousBE: Codeunit "Contoso Miscellaneous BE"; + begin + ContosoMiscellaneousBE.InsertIBLCBLWITransactionCode('090', TransactionsofgoodscrossingnationalbordersDescLbl); + ContosoMiscellaneousBE.InsertIBLCBLWITransactionCode('091', ReimbursementLbl); + ContosoMiscellaneousBE.InsertIBLCBLWITransactionCode('092', EU3PartyTradeTransitLbl); + end; + + procedure Invoice(): Code[10] + begin + exit(InvoiceTok); + end; + + procedure Price(): Code[10] + begin + exit(PriceTok); + end; + + procedure Quality(): Code[10] + begin + exit(QualityTok); + end; + + procedure FlemishRegion(): Code[10] + begin + exit(FlemishRegionTok); + end; + + procedure WalloonRegion(): Code[10] + begin + exit(WalloonRegionTok); + end; + + procedure BrusselsCapitalRegion(): Code[10] + begin + exit(BrusselsCapitalRegionTok); + end; + + procedure DOMESTIC(): Code[20] + begin + exit(DOMESTICTok); + end; + + procedure INTERNATIONALBEN(): Code[20] + begin + exit(INTERNATIONALBENTok); + end; + + procedure INTERNATIONALOUR(): Code[20] + begin + exit(INTERNATIONALOURTok); + end; + + procedure INTERNATIONALSHA(): Code[20] + begin + exit(INTERNATIONALSHATok); + end; + + procedure NONEUROSEPA(): Code[20] + begin + exit(NONEUROSEPATok); + end; + + procedure NONEUROSEPA00100109(): Code[20] + begin + exit(NONEUROSEPA00100109Tok); + end; + + procedure SEPA(): Code[20] + begin + exit(SEPATok); + end; + + procedure SEPA00100109(): Code[20] + begin + exit(SEPA00100109Tok); + end; + + procedure ZERO(): Code[20] + begin + exit(ZEROTok); + end; + + var + FlemishRegionTok: Label '1', Locked = true, MaxLength = 10; + WalloonRegionTok: Label '2', Locked = true, MaxLength = 10; + BrusselsCapitalRegionTok: Label '3', Locked = true, MaxLength = 10; + FlemishRegionLbl: Label 'Flemish Region', MaxLength = 50; + WalloonRegionLbl: Label 'Walloon Region', MaxLength = 50; + BrusselsCapitalRegionLbl: Label 'Brussels Capital Region', MaxLength = 50; + DOMESTICTok: Label 'DOMESTIC', MaxLength = 20, Locked = true; + INTERNATIONALBENTok: Label 'INTERNATIONAL-BEN', MaxLength = 20, Locked = true; + INTERNATIONALOURTok: Label 'INTERNATIONAL-OUR', MaxLength = 20, Locked = true; + INTERNATIONALSHATok: Label 'INTERNATIONAL-SHA', MaxLength = 20, Locked = true; + NONEUROSEPATok: Label 'NON-EURO SEPA', MaxLength = 20, Locked = true; + NONEUROSEPA00100109Tok: Label 'NONEURO SEPA00100109', MaxLength = 20, Locked = true; + SEPATok: Label 'SEPA', MaxLength = 20, Locked = true; + SEPA00100109Tok: Label 'SEPA00100109', MaxLength = 20, Locked = true; + ZEROTok: Label 'ZERO', MaxLength = 20, Locked = true; + TransactionsofgoodscrossingnationalbordersDescLbl: Label 'Transactions of goods crossing national borders', MaxLength = 132; + ReimbursementLbl: Label 'Reimbursement', MaxLength = 132; + EU3PartyTradeTransitLbl: Label 'EU 3 Party Trade - Transit', MaxLength = 132; + InvoiceTok: Label 'INVOICE', MaxLength = 10, Locked = true; + InvoiceDesLbl: Label 'Duplicate invoice dispute arguments', MaxLength = 100; + PriceTok: Label 'PRICE', MaxLength = 10, Locked = true; + PriceDescLbl: Label 'Disputed invoices relating to the price', MaxLength = 100; + QualityTok: Label 'QUALITY', MaxLength = 10, Locked = true; + QualityDescLbl: Label 'A disputed invoice due to quality', MaxLength = 100; + DomesticDescLbl: Label 'Domestic export protocol.', MaxLength = 50; + InternationalBenDescLbl: Label 'Receiver pays the fees for an intl. payment.', MaxLength = 50; + SEPADescLbl: Label 'Sender pays fees.', MaxLength = 50; + NonEuroSEPADescLbl: Label 'Parties share fees.', MaxLength = 50; + InternationalOURDescLbl: Label 'The sender pays the fees for an intl. payment.', MaxLength = 50; + InternationalSHADescLbl: Label 'Parties share transfer fees for an intl. payment.', MaxLength = 50; + ZeroDescLbl: Label 'The sending bank decides who pays the bank fees.', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationBE.Codeunit.al new file mode 100644 index 0000000000..8192d2a86b --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationBE.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 11356 "Create Company Information BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + UpdateCompanyInformation(CityLbl, PostcodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", '01', EnterpriseNoAccountantLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"Company Information", 'OnBeforeValidateEvent', 'VAT Registration No.', false, false)] + local procedure OnValidateVATRegstrationNo(var Rec: Record "Company Information") + begin + Rec."VAT Registration No." := ''; + end; + + local procedure UpdateCompanyInformation(City: Text[30]; PostCode: Code[20]; CountryCode: Code[10]; IntrastateNo: Text[2]; EnterpriseNo: Text[50]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation."Demo Company" := true; + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCode); + CompanyInformation.Validate("Country/Region Code", CountryCode); + CompanyInformation.Validate("Registration No.", ''); + CompanyInformation.Validate("VAT Registration No.", ''); + CompanyInformation.Validate("Ship-to City", CityLbl); + CompanyInformation.Validate("Ship-to Post Code", PostcodeLbl); + CompanyInformation.Validate("Ship-to Country/Region Code", CountryCode); + CompanyInformation.Validate("Intrastat Establishment No.", IntrastateNo); + CompanyInformation.Validate("Enterprise No. Accountant", EnterpriseNo); + CompanyInformation.Validate("Enterprise No.", EnterpriseNo); + + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'MECHELEN', Maxlength = 30; + PostcodeLbl: Label '2800', MaxLength = 20; + EnterpriseNoAccountantLbl: Label '0058.315.707', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesBE.Codeunit.al new file mode 100644 index 0000000000..1270411071 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesBE.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 11351 "Create No. Series BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: codeunit "Contoso No Series"; + begin + ContosoNoSeries.InsertNoSeries(PurchaseCreditMemoJnl(), PurchCreditMemoJournalLbl, 'G03501', 'G04500', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PurchaseJournal(), PurchaseJournalLbl, 'G03001', 'G04000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(SalesCreditMemoJnl(), SalesCreditMemoJournalLbl, 'G01501', 'G02500', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(SalesJournal(), SalesJournalLbl, 'G01001', 'G02000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + end; + + procedure PurchaseCreditMemoJnl(): Code[20] + begin + exit('GJNL-P-CR'); + end; + + procedure PurchaseJournal(): Code[20] + begin + exit('GJNL-PURCH'); + end; + + procedure SalesJournal(): Code[20] + begin + exit('GJNL-SALES'); + end; + + procedure SalesCreditMemoJnl(): Code[20] + begin + exit('GJNL-S-CR'); + end; + + var + PurchCreditMemoJournalLbl: Label 'Purch. Credit Memo Journal', MaxLength = 100; + PurchaseJournalLbl: Label 'Purchase Journal', MaxLength = 100; + SalesJournalLbl: Label 'Sales Journal', MaxLength = 100; + SalesCreditMemoJournalLbl: Label 'Sales Credit Memo Journal', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeBE.Codeunit.al new file mode 100644 index 0000000000..5b98e122b5 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeBE.Codeunit.al @@ -0,0 +1,5922 @@ +codeunit 11352 "Create Post Code BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + PostCode: Record "Post Code"; + ContosoPostCodeBE: Codeunit "Contoso Post Code BE"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + if PostCode.FindSet() then + repeat + PostCode.Rename(PostCode.Code, UpperCase(PostCode.City)); + until PostCode.Next() = 0; + ContosoPostCodeBE.InsertPostCode('1000', BrusselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1000', BruxellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1005', AssReunComCommCommuneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1005', BrusselseHoofdstedelijkeRaadLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1005', ConseilRegionBruxellesCapLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1005', VerVergGemeenschCommLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1006', RaadVlaamseGemeenschapscommLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1007', AssCommissCommFrancaiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1008', ChambreDesRepresentantsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1008', KamerVanVolksvertegenwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1009', BelgischeSenaatLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1009', SenatDeBelgiqueLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1010', CiteAdministrativeDeLetatLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1010', RijksadministratiefCentrumLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1011', VlaamseRaadVlaamsParlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1012', ParlDeLaCommFrancaiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1020', BrusselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1020', BrusselLakenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1020', BruxellesLaekenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1020', LaekenBruxellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1020', LakenBrusselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1030', BrusselSchaarbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1030', BruxellesSchaerbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1030', SchaarbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1030', SchaerbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1031', ChristSocialeOrganisatiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1031', OrganisationsSocialesChretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1040', BrusselEtterbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1040', BruxellesEtterbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1040', EtterbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1041', InternationalPressCenterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1043', VrtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1044', RtbfLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1045', DIVLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1047', EuropeesParlementLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1047', ParlementEuropeenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1048', EURaadLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1048', UEConseilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1049', EUCommissieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1049', UECommissionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1050', BrusselElseneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1050', BruxellesIxellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1050', ElseneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1050', IxellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1060', BrusselSintGillisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1060', BruxellesSaintGillesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1060', SaintGillesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1060', SintGillisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1070', AnderlechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1070', BrusselAnderlechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1070', BruxellesAnderlechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1080', BrusselSintJansMolenbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1080', BruxellesMolenbeekStJeanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1080', MolenbeekSaintJeanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1080', SintJansMolenbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1081', BrusselKoekelbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1081', BruxellesKoekelbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1081', KoekelbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1082', BerchemSainteAgatheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1082', BrusselSintAgathaBerchemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1082', BruxellesBerchemStAgatheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1082', SintAgathaBerchemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1083', BrusselGanshorenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1083', BruxellesGanshorenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1083', GanshorenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1090', BrusselJetteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1090', BruxellesJetteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1090', JetteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1100', PostchequeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1105', SocLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1110', NavoNatoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1110', OtanNatoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1120', BrusselNederOverHeembeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1120', BruxNederOverHeembeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1120', NederOverHeembeekBruxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1130', BrusselHarenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1130', BruxellesHaerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1130', HarenBrusselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1130', HarenBruxellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1140', BrusselEvereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1140', BruxellesEvereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1140', EvereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1150', BrusselSintPietersWoluweLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1150', BruxellesWoluweStPierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1150', SintPietersWoluweLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1150', WoluweSaintPierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1160', AuderghemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1160', BrusselOudergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1160', BruxellesAuderghemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1160', OudergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1170', BrusselWatermaalBosvoordeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1170', BruxWatermaelBoitsfortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1170', WatermaalBosvoordeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1170', WatermaelBoitsfortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1180', BrusselUkkelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1180', BruxellesUccleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1180', UccleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1180', UkkelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1190', BrusselVorstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1190', BruxellesForestLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1190', ForestLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1190', VorstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1200', BrusselStLambrechtsWoluweLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1200', BruxellesWoluweStLambertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1200', SintLambrechtsWoluweLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1200', WoluweSaintLambertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1201', RTLTVILbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1210', BrusselSintJoostTenNodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1210', BruxellesStJosseTenNoodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1210', SaintJosseTenNoodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1210', SintJoostTenNodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1300', LimalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1300', WavreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1301', BiergesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1310', LaHulpeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1315', GlimesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1315', IncourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1315', OpprebaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1315', PietrebaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1315', RouxMiroirLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1320', BeauvechainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1320', HammeMilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1320', LecluseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1320', NodebaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1320', TourinnesLaGrosseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1325', BonlezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1325', ChaumontGistouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1325', CorroyLeGrandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1325', DionValmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1325', LonguevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1330', RixensartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1331', RosieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1332', GenvalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1340', OttigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1340', OttigniesLouvainLaNeuveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1341', CerouxMoustyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1342', LimeletteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1348', LouvainLaNeuveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', EninesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', FolxLesCavesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', JandrainJandrenouilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', JaucheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', MarillesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', NoduwezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', OrpJaucheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1350', OrpLeGrandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1357', HelecineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1357', LinsmeauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1357', NeerheylissemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1357', OpheylissemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1360', MalevesSainteMarieWastinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1360', OrbaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1360', PerwezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1360', ThorembaisLesBeguinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1360', ThorembaisSaintTrondLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', AutreEgliseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', BomalBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', GeestGerompontPetitRosiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', GerompontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', GrandRosiereHottomontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', HuppayeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', MontSaintAndreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1367', RamilliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', DongelbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', JaucheletteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', JodoigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', JodoigneSouveraineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', LathuyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', MelinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', PietrainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', SaintJeanGeestLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', SaintRemyGeestLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1370', ZetrudLumayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1380', CoutureSaintGermainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1380', LasneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1380', LasneChapelleSaintLambertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1380', MaransartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1380', OhainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1380', PlancenoitLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1390', ArchennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1390', BiezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1390', BossutGottechainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1390', GrezDoiceauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1390', NethenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1400', MonstreuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1400', NivellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1401', BaulersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1402', ThinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1404', BornivalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1410', WaterlooLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1414', PromoControlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1420', BraineLalleudLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1421', OphainBoisSeigneurIsaacLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1428', LilloisWitterzeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1430', BierghesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1430', QuenastLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1430', RebecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1430', RebecqRognonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1435', CorbaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1435', HevillersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1435', MontSaintGuibertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1440', BraineLeChateauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1440', WauthierBraineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1450', ChastreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1450', ChastreVillerouxBlanmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1450', CortilNoirmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1450', GentinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1450', SaintGeryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1457', NilSaintVincentSaintMartinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1457', TourinnesSaintLambertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1457', WalhainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1457', WalhainSaintPaulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1460', IttreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1460', VirginalSammeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1461', HautIttreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1470', BaisyThyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1470', BousvalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1470', GenappeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1471', LoupoigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1472', VieuxGenappeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1473', GlabaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1474', WaysLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1476', HoutainLeValLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1480', ClabecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1480', OisquercqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1480', SaintesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1480', TubizeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1490', CourtSaintEtienneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1495', MarbaisBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1495', MelleryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1495', SartDamesAvelinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1495', TillyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1495', VillersLaVilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1500', HalleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1501', BuizingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1502', LembeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1540', HerfelingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1540', HerneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1541', SintPietersKapelleBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1547', BeverLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1547', BieveneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1560', HoeilaartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1570', GalmaardenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1570', TollembeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1570', VollezeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1600', OudenakenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1600', SintLaureinsBerchemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1600', SintPietersLeeuwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1601', RuisbroekBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1602', VlezenbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1620', DrogenbosLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1630', LinkebeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1640', RhodeSaintGeneseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1640', SintGenesiusRodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1650', BeerselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1651', LotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1652', AlsembergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1653', DworpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1654', HuizingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1670', BogaardenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1670', HeikruisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1670', PepingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1671', ElingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1673', BeertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1674', BellingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1700', DilbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1700', SintMartensBodegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1700', SintUlriksKapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1701', ItterbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1702', GrootBijgaardenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1703', SchepdaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1730', AsseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1730', BekkerzeelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1730', KobbegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1730', MollemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1731', RelegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1731', ZellikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1740', TernatLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1741', WambeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1742', SintKatherinaLombeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1745', MazenzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1745', OpwijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1750', GaasbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1750', LennikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1750', SintKwintensLennikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1750', SintMartensLennikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1755', GooikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1755', KesterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1755', LeerbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1755', OetingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1760', OnzeLieveVrouwLombeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1760', PamelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1760', RoosdaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1760', StrijtemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1761', BorchtlombeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1770', LiedekerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1780', WemmelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1785', BrussegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1785', HammeBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1785', MerchtemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1790', AffligemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1790', EsseneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1790', HekelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1790', TeralfeneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1800', PeutieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1800', VilvoordeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1804', CargovilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1818', VtmLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1820', MelsbroekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1820', PerkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1820', SteenokkerzeelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1830', MachelenBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1831', DiegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1840', LonderzeelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1840', MalderenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1840', SteenhuffelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1850', GrimbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1851', HumbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1852', BeigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1853', StrombeekBeverLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1860', MeiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1861', WolvertemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1880', KapelleOpDenBosLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1880', NieuwenrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1880', RamsdonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1910', BergBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1910', BukenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1910', KampenhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1910', NederokkerzeelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1930', NossegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1930', ZaventemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1931', BrucargoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1932', SintStevensWoluweLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1933', SterrebeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1934', BrusselXLuchthavenRemailingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1934', BruxellesXAeroportRemailingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1950', KraainemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1970', WezembeekOppemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1980', EppegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1980', ZemstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1981', HofstadeBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1982', ElewijtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('1982', WeerdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2000', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2018', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2020', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2030', AntwerpenLbl, CreateCountryRegion.BE()); + + ContosoPostCodeBE.InsertPostCode('2040', BerendrechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2040', LilloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2040', ZandvlietLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2040', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2050', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2060', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2070', BurchtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2070', ZwijndrechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2100', DeurneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2100', DeurneAntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2110', WijnegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2140', BorgerhoutAntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2150', BorsbeekAntwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2160', WommelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2170', MerksemAntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2180', EkerenAntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2200', HerentalsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2200', MorkhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2200', NoorderwijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2220', HallaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2220', HeistOpDenBergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2221', BooischotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2222', ItegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2222', WiekevorstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2223', SchriekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2230', HerseltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2230', RamselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2235', HoutvenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2235', HulshoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2235', WestmeerbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2240', MassenhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2240', VierselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2240', ZandhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2242', PulderbosLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2243', PulleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2250', OlenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2260', OevelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2260', TongerloAntwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2260', WesterloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2260', ZoerleParwijsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2270', HerenthoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2275', GierleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2275', LilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2275', PoederleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2275', WechelderzandeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2280', GrobbendonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2288', BouwelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2290', VorselaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2300', TurnhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2310', RijkevorselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2320', HoogstratenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2321', MeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2322', MinderhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2323', WortelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2328', MeerleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2330', MerksplasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2340', BeerseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2340', VlimmerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2350', VosselaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2360', OudTurnhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2370', ArendonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2380', RavelsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2381', WeeldeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2382', PoppelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2387', BaarleHertogLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2390', MalleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2390', OostmalleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2390', WestmalleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2400', MolLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2430', EindhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2430', LaakdalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2430', VorstKempenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2431', VarendonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2431', VeerleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2440', GeelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2450', MeerhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2460', KasterleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2460', LichtaartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2460', TielenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2470', RetieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2480', DesselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2490', BalenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2491', OlmenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2500', KoningshooiktLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2500', LierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2520', BroechemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2520', EmblemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2520', OelegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2520', RanstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2530', BoechoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2531', VremdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2540', HoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2547', LintLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2550', KontichLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2550', WaarloosLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2560', BevelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2560', KesselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2560', NijlenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2570', DuffelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2580', BeerzelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2580', PutteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2590', BerlaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2590', GestelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2600', BerchemAntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2610', WilrijkAntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2620', HemiksemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2627', SchelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2630', AartselaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2640', MortselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2650', EdegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2660', HobokenAntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2800', WalemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2800', MechelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2801', HeffenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2811', HombeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2811', LeestLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2812', MuizenMechelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2820', BonheidenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2820', RijmenamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2830', BlaasveldLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2830', HeindonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2830', TisseltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2830', WillebroekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2840', ReetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2840', RumstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2840', TerhagenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2845', NielLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2850', BoomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2860', SintKatelijneWaverLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2861', OnzeLieveVrouwWaverLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2870', BreendonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2870', LiezeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2870', PuursLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2870', RuisbroekAntwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2880', BornemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2880', HingeneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2880', MariekerkeBornemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2880', WeertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2890', LippeloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2890', OppuursLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2890', SintAmandsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2900', SchotenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2910', EssenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2920', KalmthoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2930', BrasschaatLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2940', HoevenenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2940', StabroekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2950', KapellenAntwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2960', BrechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2960', SintJobInTGoorLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2960', SintLenaartsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2970', SGravenwezelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2970', SchildeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2980', HalleKempenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2980', ZoerselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2990', LoenhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('2990', WuustwezelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3000', LeuvenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3001', HeverleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3010', KesselLoLeuvenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3012', WilseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3018', WijgmaalBrabantLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3020', HerentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3020', VeltemBeisemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3020', WinkseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3040', HuldenbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3040', LoonbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3040', NeerijseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3040', OttenburgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3040', SintAgathaRodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3050', OudHeverleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3051', SintJorisWeertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3052', BlandenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3053', HaasrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3054', VaalbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3060', BertemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3060', KorbeekDijleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3061', LeefdaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3070', KortenbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3071', ErpsKwerpsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3078', EverbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3078', MeerbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3080', DuisburgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3080', TervurenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3080', VossemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3090', OverijseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3110', RotselaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3111', WezemaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3118', WerchterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3120', TremeloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3128', BaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3130', BegijnendijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3130', BetekomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3140', KeerbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3150', HaachtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3150', TildonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3150', WespelaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3190', BoortmeerbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3191', HeverLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3200', AarschotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3200', GelrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3201', LangdorpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3202', RillaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3210', LindenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3210', LubbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3211', BinkomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3212', PellenbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3220', HolsbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3220', KortrijkDutselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3220', SintPietersRodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3221', NieuwrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3270', ScherpenheuvelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3270', ScherpenheuvelZichemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3271', AverbodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3271', ZichemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3272', MesselbroekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3272', TesteltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3290', DeurneBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3290', DiestLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3290', SchaffenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3290', WebbekomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3293', KaggevinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3294', MolenstedeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', BostLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', GoetsenhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', HakendoverLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', KumtichLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', OorbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', OplinterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', SintMargrieteHoutemTienenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', TienenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3300', VissenakenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3320', HoegaardenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3320', MeldertBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3321', OutgaardenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', DrieslinterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', LinterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', MelkwezerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', NeerhespenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', NeerlinterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', OrsmaalGussenhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', OverhespenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3350', WommersomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3360', BierbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3360', KorbeekLoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3360', LovenjoelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3360', OpvelpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3370', BoutersemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3370', KerkomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3370', NeervelpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3370', RoosbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3370', VertrijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3370', WillebringenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3380', BunsbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3380', GlabbeekZuurbemdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3381', KapellenBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3384', AttenrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3390', HouwaartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3390', SintJorisWingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3390', TieltBtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3390', TieltWingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3391', MeenselKiezegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', EliksemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', EzemaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', LaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', LandenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', NeerwindenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', OverwindenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', RumsdorpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3400', WangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3401', WaasmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3401', WalsbetsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3401', WalshoutemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3401', WezerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3404', AttenhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3404', NeerlandenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3440', BudingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3440', DormaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3440', HalleBooienhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3440', HelenBosLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3440', ZoutleeuwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3450', GeetbetsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3450', GrazenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3454', RummenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3460', AssentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3460', BekkevoortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3461', MolenbeekWersbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3470', KortenakenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3470', RansbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3471', HoeledenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3472', KersbeekMiskomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3473', WaanrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3500', HasseltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3500', SintLambrechtsHerkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3501', WimmertingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3510', KermtHasseltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3510', SpalbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3511', KuringenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3511', StokrooieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3512', StevoortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3520', ZonhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3530', HelchterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3530', HouthalenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3530', HouthalenHelchterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3540', BerbroekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3540', DonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3540', HerkDeStadLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3540', SchulenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3545', HalenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3545', LoksbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3545', ZelemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3550', HeusdenLimbLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3550', HeusdenZolderLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3550', ZolderLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3560', LinkhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3560', LummenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3560', MeldertLimbLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3570', AlkenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3580', BeringenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3581', BeverloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3582', KoerselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3583', PaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3590', DiepenbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3600', GenkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3620', GellikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3620', LanakenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3620', NeerharenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3620', VeldwezeltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3621', RekemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3630', EisdenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3630', LeutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3630', MaasmechelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3630', MechelenAanDeMaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3630', MeeswijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3630', OpgrimbieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3630', VuchtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3631', BoorsemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3631', UikhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3640', KessenichLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3640', KinrooiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3640', MolenbeerselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3640', OphovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3650', DilsenStokkemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3650', ElenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3650', LanklaarLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3650', RotemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3650', StokkemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3660', OpglabbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3665', AsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3668', NielBijAsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3670', EllikomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3670', GruitrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3670', MeeuwenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3670', MeeuwenGruitrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3670', NeerglabbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3670', WijshagenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3680', MaaseikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3680', NeeroeterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3680', OpoeterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3690', ZutendaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', BergLimbLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', DietsHeurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', HarenTongerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', HenisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', KolmontTongerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', KoninksemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', LauwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', MalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', NeerrepenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', NeremLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', OverrepenKolmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', PiringenHarenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', RiksingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', RuttenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', SHerenelderenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', SluizenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', TongerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', VrerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3700', WidooieHarenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3717', HerstappeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3720', KortessemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3721', VliermaalrootLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3722', WintershovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3723', GuigovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3724', VliermaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3730', HoeseltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3730', RomershovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3730', SintHuibrechtsHernLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3730', WermLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3732', SchalkhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', BeverstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', BilzenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', EigenbilzenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', GroteSpouwenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', HeesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', KleineSpouwenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', MopertingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', MunsterbilzenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', RijkhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', RosmeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', SpouwenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3740', WaltwilderLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3742', MartenslindeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3746', HoelbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', GenoelselderenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', HerderenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', KanneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', MembruggenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', MillenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', RiemstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', ValMeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', VlijtingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', VroenhovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3770', ZichenZussenBolderLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3790', FouronsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3790', FouronSaintMartinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3790', MoelingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3790', MoulandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3790', SintMartensVoerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3790', VoerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3791', RemersdaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3792', FouronSaintPierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3792', SintPietersVoerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3793', TeuvenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3798', FouronLeComteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3798', SGravenvoerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', AalstLimbLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', BrustemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', EngelmanshovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', GelindenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', GrootGelmenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', HalmaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', KerkomBijSintTruidenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', OrdingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', SintTruidenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3800', ZepperenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3803', DurasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3803', GorsemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3803', RunkelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3803', WilderenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3806', VelmLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3830', BerlingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3830', WellenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3831', HertenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3832', UlbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', BommershovenHarenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', BorgloonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', BroekomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', GorsOpleeuwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', GotemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', GrootLoonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', HarenBorgloonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', HendriekenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', HoepertingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', JesserenKolmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', KernielLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', KolmontBorgloonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', KuttekovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', RijkelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3840', VoortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3850', BinderveldLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3850', KozenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3850', NieuwerkerkenLimbLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3850', WijerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', BatsheersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', BovelingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', GutschovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', HeersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', HeksLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', HorpmaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', KleinGelmenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', MechelenBovelingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', MettekovenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', OpheersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', RukkelingenLoonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', VechmaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3870', VeulenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3890', BoekhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3890', GingelomLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3890', JeukLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3890', KortijsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3890', MontenakenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3890', NielBijSintTruidenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3890', VorsenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3891', BorloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3891', BuvingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3891', MielenBovenAalstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3891', MuizenLimbLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3900', OverpeltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3910', NeerpeltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3910', SintHuibrechtsLilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3920', LommelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3930', AchelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3930', HamontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3930', HamontAchelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3940', HechtelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3940', HechtelEkselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3941', EkselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3945', HamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3945', KwaadmechelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3945', OosthamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3950', BocholtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3950', KaulilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3950', ReppelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3960', BeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3960', BreeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3960', GerdingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3960', OpitterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3960', TongerloLimbLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3970', LeopoldsburgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3971', HeppenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3980', TessenderloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3990', GroteBrogelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3990', KleineBrogelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3990', PeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('3990', WijchmaalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4000', GlainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4000', LiegeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4000', LuikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4000', RocourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4020', BressouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4020', JupilleSurMeuseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4020', LiegeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4020', WandreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4030', GrivegneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4030', LiegeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4031', AngleurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4032', CheneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4040', HerstalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4041', MilmortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4041', VottemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4042', LiersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4050', ChaudfontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4051', VauxSousChevremontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4052', BeaufaysLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4053', EmbourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4090', BsdBelgStrijdkrDuitslLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4090', FbaForcesBelgesEnAllemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4100', BoncellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4100', SeraingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4101', JemeppeSurMeuseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4102', OugreeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4120', EheinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4120', NeupreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4120', RotheuxRimiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4121', NeuvilleEnCondrozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4122', PlainevauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4130', EsneuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4130', TilffLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4140', DolembreuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4140', GomzeAndoumontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4140', RouvreuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4140', SprimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4141', LouveigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4160', AnthisnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4161', VillersAuxToursLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4162', HodyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4163', TavierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4170', ComblainAuPontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4171', PoulseurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4180', ComblainFaironLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4180', ComblainLaTourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4180', HamoirLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4181', FilotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4190', FerrieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4190', MyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4190', VieuxvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4190', WerbomontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4190', XhorisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4210', BurdinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4210', HannecheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4210', LamontzeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4210', MarneffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4210', OteppeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4217', HeronLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4217', LavoirLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4217', WaretLevequeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4218', CouthuinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4219', AcosseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4219', AmbresinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4219', MeeffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4219', WasseigesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4250', BoelheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4250', GeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4250', HollogneSurGeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4250', LensSaintServaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4252', OmalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4253', DarionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4254', LigneyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4257', BerlozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4257', CorswaremLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4257', RosouxCrenwickLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4260', AvennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4260', BraivesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4260', CipletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4260', FallaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4260', FumalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4260', VilleEnHesbayeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4261', LatinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4263', TourinneLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', AbolensLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', AvernasLeBauduinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', AvinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', BertreeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', BlehenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', CrasAvernasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', CrehenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', GrandHalletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', HannutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', LensSaintRemyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', MerdorpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', MoxheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', PetitHalletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', PoucetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', ThisnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', TrogneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', VillersLePeuplierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4280', WansinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4287', LincentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4287', PellainesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4287', RacourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4300', BettincourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4300', BleretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4300', BovenistierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4300', GrandAxheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4300', LantremangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4300', OleyeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4300', WaremmeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4317', AineffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4317', BorlezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4317', CellesLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4317', FaimesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4317', LesWaleffesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4317', ViemmeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4340', AwansLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4340', FoozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4340', OtheeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4340', VillersLevequeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4342', HognoulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4347', FexheLeHautClocherLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4347', FrelouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4347', NovilleLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4347', RolouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4347', VorouxGoreuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4350', LamineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4350', MomalleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4350', PoussetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4350', RemicourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4351', HodeigeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4357', DonceelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4357', HaneffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4357', JeneffeLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4357', LimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4360', BergilersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4360', GrandvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4360', LensSurGeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4360', OreyeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4360', OtrangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4367', CrisneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4367', FizeLeMarsalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4367', KemexheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4367', OdeurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4367', ThysLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', AwirsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', ChokierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', FlemalleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', FlemalleGrandeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', FlemalleHauteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', GleixheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', IvozRametLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4400', MonsLezLiegeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4420', MontegneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4420', SaintNicolasLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4420', TilleurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4430', AnsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4431', LoncinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4432', AlleurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4432', XhendremaelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4450', JuprelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4450', LantinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4450', SlinsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4451', VorouxLezLiersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4452', PaifveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4452', WihogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4453', VillersSaintSimeonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4458', FexheSlinsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4460', BiersetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4460', GraceBerleurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4460', GraceHollogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4460', HollogneAuxPierresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4460', HorionHozemontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4460', VelrouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4470', SaintGeorgesSurMeuseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4480', ClermontSousHuyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4480', EngisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4480', HermalleSousHuyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4500', BenAhinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4500', HuyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4500', TihangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4520', AntheitLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4520', BasOhaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4520', HuccorgneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4520', MohaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4520', VinalmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4520', WanzeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4530', FizeFontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4530', VauxEtBorsetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4530', VieuxWaleffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4530', VillersLeBouilletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4530', WarnantDreyeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4537', ChaponSeraingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4537', SeraingLeChateauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4537', VerlaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4540', AmayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4540', AmpsinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4540', FloneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4540', JehayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4540', OmbretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4550', NandrinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4550', SaintSeverinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4550', VillersLeTempleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4550', YerneeFraineuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4557', AbeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4557', FraitureLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4557', RamelotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4557', SenyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4557', SoheitTinlotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4557', TinlotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4560', BoisEtBorsuLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4560', ClavierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4560', LesAvinsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4560', OcquierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4560', PailheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4560', TerwagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4570', MarchinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4570', VyleEtTharoulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4577', ModaveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4577', OutrelouxheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4577', StreeLezHuyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4577', ViersetBarseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4590', EllemelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4590', OuffetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4590', WarzeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4600', LanayeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4600', LixheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4600', RichelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4600', ViseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4601', ArgenteauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4602', CheratteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4606', SaintAndreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4607', BerneauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4607', BombayeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4607', DalhemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4607', FeneurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4607', MortrouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4608', NeufchateauLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4608', WarsageLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4610', BellaireLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4610', BeyneHeusayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4610', QueueDuBoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4620', FleronLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4621', RetinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4623', MagneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4624', RomseeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4630', AyeneuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4630', MicherouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4630', SoumagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4630', TigneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4631', EvegneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4632', CerexheHeuseuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4633', MelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4650', ChaineuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4650', GrandRechainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4650', HerveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4650', JulemontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4651', BatticeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4652', XhendelesseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4653', BollandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4654', CharneuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4670', BlegnyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4670', MortierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4670', TrembleurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4671', BarchonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4671', HousseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4671', SaiveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4672', SaintRemyLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4680', HermeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4680', OupeyeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4681', HermalleSousArgenteauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4682', HeureLeRomainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4682', HoutainSaintSimeonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4683', VivegnisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4684', HaccourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4690', BassengeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4690', BoirsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4690', EbenEmaelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4690', GlonsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4690', RoclengeSurGeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4690', WonckLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4700', EupenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4701', KettenisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4710', LontzenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4711', WalhornLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4720', KelmisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4720', LaCalamineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4721', NeuMoresnetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4728', HergenrathLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4730', HausetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4730', RaerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4731', EynattenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4750', ButgenbachLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4750', ElsenbornLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4760', BullangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4760', BullingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4760', ManderfeldLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4761', RocherathLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4770', AmbleveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4770', AmelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4770', MeyerodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4771', HeppenbachLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4780', RechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4780', SaintVithLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4780', SanktVithLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4782', SchoenbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4782', SchonbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4783', LommersweilerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4784', CrombachLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4790', BurgReulandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4790', ReulandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4791', ThommenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4800', EnsivalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4800', LambermontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4800', PetitRechainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4800', VerviersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4801', StembertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4802', HeusyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4820', DisonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4821', AndrimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4830', LimbourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4831', BilstainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4834', GoeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4837', BaelenLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4837', MembachLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4840', WelkenraedtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4841', HenriChapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4845', JalhayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4845', SartLezSpaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4850', MontzenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4850', MoresnetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4850', PlombieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4851', GemmenichLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4851', SippenaekenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4852', HombourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4860', CornesseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4860', PepinsterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4860', WegnezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4861', SoironLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4870', ForetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4870', FraipontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4870', NessonvauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4870', TroozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4877', OlneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4880', AubelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4890', ClermontLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4890', ThimisterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4890', ThimisterClermontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4900', SpaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4910', LaReidLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4910', PolleurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4910', TheuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4920', AywailleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4920', ErnonheidLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4920', HarzeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4920', SougneRemouchampsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4950', FaymonvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4950', RobertvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4950', SourbrodtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4950', WaimesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4950', WeismesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4960', BellevauxLigneuvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4960', BeverceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4960', MalmedyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4970', FrancorchampsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4970', StavelotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4980', FosseLgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4980', TroisPontsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4980', WanneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4983', BasseBodeuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4987', ChevronLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4987', LaGleizeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4987', LorceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4987', RahierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4987', StoumontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4990', ArbrefontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4990', BraLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('4990', LierneuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5000', BeezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5000', NamurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5001', BelgradeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5002', SaintServaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5003', SaintMarcLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5004', BougeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5020', ChampionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5020', DaussoulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5020', FlawinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5020', MalonneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5020', SuarleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5020', TemplouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5020', VedrinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5021', BoninneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5022', CogneleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5024', GelbresseeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5024', MarcheLesDamesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5030', BeuzetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5030', ErnageLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5030', GemblouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5030', GrandManilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5030', LonzeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5030', SauveniereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5031', GrandLeezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5032', BossiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5032', BotheyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5032', CorroyLeChateauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5032', IsnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5032', MazyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', ArsimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', AuvelaisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', FalisolleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', KeumieeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', MoigneleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', SambrevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', TaminesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5060', VelaineSurSambreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5070', AisemontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5070', FossesLaVilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5070', LeRouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5070', SartEustacheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5070', SartSaintLaurentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5070', VitrivalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5080', EminesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5080', LaBruyereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5080', RhisnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5080', VillersLezHeestLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5080', WarisoulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5081', BovesseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5081', MeuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5081', SaintDenisBovesseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5100', DaveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5100', JambesNamurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5100', NaninneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5100', WepionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5100', WierdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5101', ErpentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5101', LivesSurMeuseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5101', LoyersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5140', BoigneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5140', LignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5140', SombreffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5140', TongrinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5150', FloreffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5150', FloriffouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5150', FraniereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5150', SoyeNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5170', ArbreNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5170', BoisDeVillersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5170', LesveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5170', LustinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5170', ProfondevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5170', RiviereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', BalatreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', HamSurSambreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', JemeppeSurSambreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', MornimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', MoustierSurSambreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', OnozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', SaintMartinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5190', SpyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', AndenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', BonnevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', CoutisseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', LandenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', MaizeretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', NamecheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', SclaynLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', SeillesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', ThonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5300', VezinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', AischeEnRefailLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', BolinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', BoneffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', BranchonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', DhuyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', EghezeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', HanretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', LeuzeNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', LiernuLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', LongchampsNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', MehaigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', NovilleSurMehaigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', SaintGermainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', TaviersNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', UpignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5310', WaretLaChausseeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5330', AssesseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5330', MaillenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5330', SartBernardLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5332', CrupetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5333', SorinneLaLongueLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5334', FloreeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5336', CourriereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5340', FaulxLesTombesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5340', GesvesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5340', HaltinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5340', MozetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5340', SoreeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5350', EveletteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5350', OheyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5351', HaillotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5352', PerwezHaillotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5353', GoesnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5354', JalletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5360', HamoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5360', NatoyeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5361', MohivilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5361', ScyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5362', AchetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5363', EmptinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5364', SchaltinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5370', BarvauxCondrozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5370', FlostoyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5370', HavelangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5370', JeneffeNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5370', PorcheresseNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5370', VerleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5372', MeanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5374', MaffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5376', MiecretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', BaillonvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', BonsinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', HeureNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', HogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', NettinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', NoiseuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', SinsinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', SommeLeuzeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5377', WailletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', BierwartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', CortilWodonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', FernelmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', ForvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', FrancWaretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', HemptinneFernelmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', HingeonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', MarchoveletteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', NovilleLesBoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', PontillasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5380', TillierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5500', AnseremmeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5500', BouvignesSurMeuseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5500', DinantLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5500', DrehanceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5500', FalmagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5500', FalmignoulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5500', FurfoozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5501', LisogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5502', ThynesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5503', SorinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5504', FoyNotreDameLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5520', AntheeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5520', OnhayeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5521', ServilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5522', FalaenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5523', SommiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5523', WeillenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5524', GerinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', DorinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', DurnalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', EvrehaillesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', GodinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', HouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', MontNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', PurnodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', SpontinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5530', YvoirLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5537', AnheeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5537', AnnevoieRouillonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5537', BioulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5537', DeneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5537', HautLeWastiaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5537', SosoyeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5537', WarnantLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5540', HastiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5540', HastiereLavauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5540', HermetonSurMeuseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5540', WaulsortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5541', HastiereParDelaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5542', BlaimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5543', HeerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5544', AgimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', AlleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', BagimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', BohanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', ChairiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', LaforetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', MembreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', MouzaiveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', NafraitureLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', OrchimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', PussemangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', SugnyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5550', VresseSurSemoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', BaillamontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', BellefontaineNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', BievreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', CornimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', GraideLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', GrosFaysLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', MonceauEnArdenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', NaomeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', OizyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5555', PetitFaysLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5560', CiergnonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5560', FinnevauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5560', HouyetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5560', HulsonniauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5560', MesnilEgliseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5560', MesnilSaintBlaiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5561', CellesNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5562', CustinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5563', HourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5564', WanlinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', BaronvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', BeauraingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', DionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', FelenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', FeschauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', HonnayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', JavingueLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', VonecheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', WancennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5570', WinenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5571', WiesmeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5572', FocantLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5573', MartouzinNeuvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5574', PondromeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', BourseigneNeuveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', BourseigneVieilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', GedinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', HoudremontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', LouetteSaintDenisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', LouetteSaintPierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', MalvoisinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', PatigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', RienneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', SartCustinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', VencimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5575', WillerzieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5576', FroidfontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', AveEtAuffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', BuissonvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', EpraveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', HanSurLesseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', JemelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', LavauxSainteAnneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', LessiveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', MontGauthierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', RochefortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', VillersSurLesseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5580', WavreilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', AcheneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', BraibantLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', ChevetogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', CineyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', ConneuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', HaversinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', LeignonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', PessouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', SerinchampsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5590', SovetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', FagnolleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', FranchimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', JamagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', JamiolleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', MerlemontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', NeuvillePhilippevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', OmezeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', PhilippevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', RolyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', RomedenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', SamartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', SartEnFagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', SautourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', SuriceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', VillersEnFagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', VillersLeGambonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5600', VodeceeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5620', CorenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5620', FlavionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5620', FlorennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5620', HemptinneLezFlorennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5620', MorvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5620', RoseeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5620', SaintAubinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5621', HanzinelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5621', HanzinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5621', MorialmeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5621', ThyLeBauduinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5630', CerfontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5630', DaussoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5630', SenzeilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5630', SilenrieuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5630', SoumoyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5630', VillersDeuxEglisesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5640', BiesmeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5640', BiesmereeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5640', GrauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5640', MettetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5640', OretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5640', SaintGerardLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5641', FurnauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5644', ErmetonSurBiertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5646', StaveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', CastillonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', ChastresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', ClermontNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', FontenelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', FraireLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', PryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', VogeneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', WalcourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5650', YvesGomezeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5651', BerzeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5651', GourdinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5651', LaneffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5651', RogneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5651', SomzeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5651', TarcienneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5651', ThyLeChateauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', AublainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', BoussuEnFagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', BrulyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', BrulyDePescheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', CouvinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', CulDesSartsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', DaillyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', FrasnesNamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', GonrieuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', MariembourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', PescheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', PetignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', PetiteChapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5660', PresgauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', DourbesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', LeMesnilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', MazeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', NismesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', OigniesEnThieracheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', OlloySurViroinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', TreignesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', ViervesSurViroinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5670', ViroinvalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', DoischeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', GimneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', GocheneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', MatagneLaGrandeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', MatagneLaPetiteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', NiverleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', RomereeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', SoulmeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', VaucellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('5680', VodeleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6000', CharleroiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6001', MarcinelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6010', CouilletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6020', DampremyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6030', GoutrouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6030', MarchienneAuPontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6031', MonceauSurSambreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6032', MontSurMarchienneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6040', JumetCharleroiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6041', GosseliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6042', LodelinsartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6043', RansartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6044', RouxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6060', GillyCharleroiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6061', MontigniesSurSambreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6110', MontignyLeTilleulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6111', LandeliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6120', CourSurHeureLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6120', HamSurHeureLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6120', HamSurHeureNalinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6120', JamioulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6120', MarbaixHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6120', NalinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6140', FontaineLevequeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6141', ForchiesLaMarcheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6142', LeernesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6150', AnderluesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6180', CourcellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6181', GouyLezPietonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6182', SouvretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6183', TrazegniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6200', BouffioulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6200', ChateletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6200', ChatelineauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6210', FrasnesLezGosseliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6210', LesBonsVillersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6210', RevesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6210', VillersPerwinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6210', WayauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6211', MelletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6220', FleurusLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6220', HeppigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6220', LambusartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6220', WangeniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6221', SaintAmandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6222', BryeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6223', WagneleeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6224', WanferceeBauletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6230', BuzetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6230', ObaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6230', PontACellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6230', ThimeonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6230', ViesvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6238', LiberchiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6238', LuttreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6240', FarciennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6240', PironchampsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6250', AiseauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6250', AiseauPreslesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6250', PontDeLoupLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6250', PreslesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6250', RoseliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6280', AcozLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6280', GerpinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6280', GougniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6280', JoncretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6280', LovervalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6280', VillersPoterieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6440', BoussuLezWalcourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6440', FourbechiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6440', FroidchapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6440', VergniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6441', ErpionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6460', BailievreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6460', ChimayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6460', RobechiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6460', SaintRemyHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6460', SallesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6460', VillersLaTourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6461', VirellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6462', VaulxLezChimayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6463', LompretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6464', BaileuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6464', BourlersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6464', ForgesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6464', LescaillereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6464', RiezesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6470', GrandrieuLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6470', MontbliartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6470', RanceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6470', SautinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6470', SivryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6470', SivryRanceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6500', BarbenconLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6500', BeaumontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6500', LeugniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6500', LevalChaudevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6500', RenliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6500', SolreSaintGeryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6500', ThirimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6511', StreeHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6530', LeersEtFosteauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6530', ThuinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6531', BiesmeSousThuinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6532', RagniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6533', BierceeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6534', GozeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6536', DonstiennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6536', ThuilliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6540', LobbesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6540', MontSainteGenevieveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6542', SarsLaBuissiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6543', BienneLezHappartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6560', BersilliesLabbayeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6560', ErquelinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6560', GrandRengLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6560', HantesWiheriesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6560', MontigniesSaintChristopheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6560', SolreSurSambreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6567', FontaineValmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6567', LabuissiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6567', MerbesLeChateauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6567', MerbesSainteMarieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6590', MomigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6591', MaconLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6592', MonceauImbrechiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6593', MacquenoiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6594', BeauwelzLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6596', ForgePhilippeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6596', SeloignesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6600', BastogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6600', LongvillyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6600', NovilleLuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6600', VillersLaBonneEauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6600', WardinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6630', MartelangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6637', FauvillersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6637', HollangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6637', TintangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6640', HompreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6640', MorhetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6640', NivesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6640', SibretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6640', VauxLezRosieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6640', VauxSurSureLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6642', JuseretLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6660', HouffalizeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6660', NadrinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6661', MontLuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6661', TaillesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6662', TavignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6663', MabompreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6666', WibrinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6670', GouvyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6670', LimerleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6671', BovignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6672', BehoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6673', CherainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6674', MontlebanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6680', AmberloupLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6680', SainteOdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6680', TilletLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6681', LavacherieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6686', FlamiergeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6687', BertogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6688', LongchampsLuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6690', BihainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6690', VielsalmLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6692', PetitThierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6698', GrandHalleuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6700', ArlonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6700', BonnertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6700', HeinschLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6700', ToernichLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6704', GuirschLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6706', AutelbasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6717', AttertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6717', NobressartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6717', NothombLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6717', ThiaumontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6717', TontelangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6720', HabayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6720', HabayLaNeuveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6720', HachyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6721', AnlierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6723', HabayLaVieilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6724', HoudemontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6724', MarbehanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6724', RullesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6730', BellefontaineLuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6730', RossignolLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6730', SaintVincentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6730', TintignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6740', EtalleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6740', SainteMarieSurSemoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6740', VillersSurSemoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6741', VanceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6742', ChantemelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6743', BuzenolLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6747', ChatillonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6747', MeixLeTigeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6747', SaintLegerLuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6750', MussonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6750', MussyLaVilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6750', SigneulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6760', BleidLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6760', EtheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6760', RuetteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6760', VirtonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6761', LatourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6762', SaintMardLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6767', DampicourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6767', HarnoncourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6767', LamorteauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6767', RouvroyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6767', TorgnyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6769', GerouvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6769', MeixDevantVirtonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6769', RobelmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6769', SommethonneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6769', VillersLaLoueLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6780', HondelangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6780', MessancyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6780', WolkrangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6781', SelangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6782', HabergyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6790', AubangeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6791', AthusLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6792', HalanzyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6792', RachecourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', BrasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', FreuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', LibramontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', LibramontChevignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', MoircyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', RecogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', RemagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', SainteMarieChevignyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6800', SaintPierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6810', ChinyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6810', IzelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6810', JamoigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6811', LesBullesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6812', SuxyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6813', TermesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6820', FlorenvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6820', FontenoilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6820', MunoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6820', SainteCecileLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6821', LacuisineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6823', VillersDevantOrvalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6824', ChassepierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6830', BouillonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6830', LesHayonsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6830', PoupehanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6830', RochehautLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6831', NoirefontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6832', SensenruthLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6833', UcimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6833', VivyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6834', BellevauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6836', DohanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6838', CorbionLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6840', GrandvoirLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6840', GrapfontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6840', HamipreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6840', LonglierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6840', NeufchateauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6840', TournayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6850', CarlsbourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6850', OffagneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6850', PaliseulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6851', NollevauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6852', MaissinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6852', OpontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6853', FramontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6856', FaysLesVeneursLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6860', AssenoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6860', EblyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6860', LegliseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6860', MellierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6860', WitryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6870', ArvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6870', AwenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6870', HatrivalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6870', MirwartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6870', SaintHubertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6870', VesquevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6880', AubySurSemoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6880', BertrixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6880', CugnonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6880', JehonvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6880', OrgeoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6887', HerbeumontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6887', SaintMedardLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6887', StraimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6890', AnloyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6890', LibinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6890', OchampsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6890', ReduLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6890', SmuidLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6890', TransinneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6890', VillanceLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6900', AyeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6900', HargimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6900', HumainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6900', MarcheEnFamenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6900', OnLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6900', RoyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6900', WahaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6920', SohierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6920', WellinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6921', ChanlyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6922', HalmaLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6924', LomprezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6927', BureLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6927', GrupontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6927', ResteigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6927', TellinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6929', DaverdisseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6929', GembesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6929', HautFaysLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6929', PorcheresseLuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6940', BarvauxSurOurtheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6940', DurbuyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6940', GrandhanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6940', SeptonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6940', WerisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6941', BendeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6941', BomalSurOurtheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6941', BorlonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6941', HeydLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6941', IzierLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6941', TohogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6941', VillersSainteGertrudeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6950', HarsinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6950', NassogneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6951', BandeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6952', GruneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6953', AmblyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6953', ForrieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6953', LesternyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6953', MasbourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6960', DochampsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6960', GrandmenilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6960', HarreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6960', MalempreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6960', ManhayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6960', OdeigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6960', VauxChavanneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6970', TennevilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6971', ChamplonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6972', ErneuvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6980', BeausaintLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6980', LaRocheEnArdenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6982', SamreeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6983', OrthoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6984', HivesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6986', HalleuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6987', BeffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6987', HodisterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6987', MarcourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6987', RendeuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6990', FronvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6990', HampteauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6990', HottonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6990', MarenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6997', AmoninesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6997', ErezeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6997', MormontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('6997', SoyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7000', MonsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7010', SHAPEBelgieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7010', SHAPEBelgiqueLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7011', GhlinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7012', FlenuLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7012', JemappesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7020', MaisieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7020', NimyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7021', HavreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7022', HarmigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7022', HarvengLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7022', HyonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7022', MesvinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7022', NouvellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7024', CiplyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7030', SaintSymphorienLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7031', VillersSaintGhislainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7032', SpiennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7033', CuesmesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7034', ObourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7034', SaintDenisHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', AsquilliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', AulnoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', BlaregniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', BougniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', GenlyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', GoegniesChausseeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', QuevyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', QuevyLeGrandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7040', QuevyLePetitLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7041', GivryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7041', HavayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7050', ErbautLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7050', ErbisoeulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7050', HerchiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7050', JurbiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7050', MasnuySaintJeanJurbiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7050', MasnuySaintPierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7060', HorruesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7060', SoigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7061', CasteauSoigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7061', ThieusiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7062', NaastLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7063', ChausseeNotreDameLouvigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7063', NeufvillesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7070', GottigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7070', LeRoeulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7070', MignaultLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7070', ThieuLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7070', VilleSurHaineLeRoeulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7080', EugiesFrameriesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7080', FrameriesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7080', LaBouverieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7080', NoirchainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7080', SarsLaBruyereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7090', BraineLeComteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7090', HennuyeresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7090', HenripontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7090', PetitRoeulxLezBraineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7090', RonquieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7090', SteenkerqueHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7100', HaineSaintPaulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7100', HaineSaintPierreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7100', LaLouviereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7100', SaintVaastLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7100', TrivieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7110', BoussoitLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7110', HoudengAimeriesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7110', HoudengGoegniesLaLouviereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7110', MaurageLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7110', StrepyBracquegniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', CroixLezRouveroyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', EstinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', EstinnesAuMontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', EstinnesAuValLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', FauroeulxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', HaulchinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', PeissantLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', RouveroyHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', VellereilleLesBrayeuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7120', VellereilleLeSecLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7130', BattigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7130', BincheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7130', BrayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7131', WaudrezLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7133', BuvrinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7134', EpinoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7134', LevalTrahegniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7134', PeronnesLezBincheLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7134', RessaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7140', MorlanwelzLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7140', MorlanwelzMariemontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7141', CarnieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7141', MontSainteAldegondeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7160', ChapelleLezHerlaimontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7160', GodarvilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7160', PietonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7170', BellecourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7170', BoisDhaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7170', FaytLezManageLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7170', LaHestreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7170', ManageLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7180', SeneffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7181', ArquennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7181', FamilleureuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7181', FeluyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7181', PetitRoeulxLezNivellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7190', EcaussinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7190', EcaussinnesDenghienLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7190', MarcheLezEcaussinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7191', EcaussinnesLalaingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7300', BoussuLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7301', HornuLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7320', BernissartLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7321', BlatonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7321', HarchiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7322', PommeroeulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7322', VillePommeroeulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7330', SaintGhislainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7331', BaudourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7332', NeufmaisonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7332', SiraultLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7333', TertreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7334', HautrageLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7334', VillerotLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7340', ColfontaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7340', PaturagesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7340', WarquigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7340', WasmesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7350', HaininLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7350', HensiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7350', MontroeulSurHaineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7350', ThulinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7370', BlaugiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7370', DourLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7370', ElougesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7370', WiheriesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7380', BaisieuxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7380', QuievrainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7382', AudregniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', AngreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', AngreauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', AthisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', AutreppeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', ErquennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', FaytLeFrancLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', HonnellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', MarchipontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', MontigniesSurRocLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', OnneziesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7387', RoisinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7390', QuaregnonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7390', WasmuelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7500', EreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7500', SaintMaurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7500', TournaiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7501', OrcqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7502', EsplechinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7503', FroyennesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7504', FroidmontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7506', WillemeauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7520', RamegniesChinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7520', TempleuveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7521', ChercqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7522', BlandainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7522', HertainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7522', LamainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7522', MarquainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7530', GaurainRamecroixTournaiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7531', HavinnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7532', BeclersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7533', ThimougiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7534', BarryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7534', MauldeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7536', VaulxTournaiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7538', VezonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7540', KainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7540', MellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7540', QuartesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7540', RumilliesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7542', MontSaintAubertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7543', MourcourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7548', WarchinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7600', PeruwelzLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7601', RoucourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7602', BuryLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7603', BonSecoursLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7604', BaugniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7604', BraffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7604', BrasmenilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7604', CallenelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7604', WasmesAudemezBriffoeilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7608', WiersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7610', RumesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7611', LaGlanerieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7618', TaintigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7620', BlehariesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7620', BrunehautLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7620', GuigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7620', HollainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7620', JollainMerlinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7620', WezVelvainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7621', LesdainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7622', LaplaigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7623', RongyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7624', HowardriesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7640', AntoingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7640', MaubrayLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7640', PeronnesLezAntoingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7641', BruyelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7642', CalonneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7643', FontenoyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7700', LuingneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7700', MoeskroenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7700', MouscronLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7711', DottenijsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7711', DottigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7712', HerseauxLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7730', BailleulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7730', EstaimbourgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7730', EstaimpuisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7730', EvregniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7730', LeersNordLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7730', NechinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7730', SaintLegerHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7740', PecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7740', WarcoingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7742', HerinnesLezPecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7743', EsquelmesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7743', ObigiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7750', AmougiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7750', AnseroeulLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7750', MontDeLenclusLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7750', OrroirLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7750', RusseigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7760', CellesHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7760', EscanafflesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7760', MolenbaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7760', PopuellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7760', PottesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7760', VelainesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7780', CominesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7780', CominesWarnetonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7780', KomenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7780', KomenWaastenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7781', HouthemCominesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7782', PloegsteertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7783', BizetLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7784', BasWarnetonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7784', NeerwaastenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7784', WaastenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7784', WarnetonLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7800', AthLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7800', LanquesaintLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7801', IrchonwelzLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7802', OrmeigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7803', BouvigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7804', OstichesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7804', RebaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7810', MaffleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7811', ArbreHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7812', HoutaingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7812', LigneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7812', MainvaultLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7812', MoulbaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7812', VillersNotreDameLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7812', VillersSaintAmandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7822', GhislenghienLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7822', IsieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7822', MeslinLevequeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7823', GibecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', BassillyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', FoulengLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', GondregniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', GratyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', HellebecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', HovesHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', SillyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7830', ThoricourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7850', EdingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7850', EnghienLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7850', LettelingenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7850', MarcqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7850', MarkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7850', PetitEnghienLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7860', LessinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7861', PapigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7861', WannebecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7862', OgyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7863', GhoyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7864', DeuxAcrenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7866', BoisDeLessinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7866', OlligniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7870', BauffeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7870', CambronSaintVincentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7870', LensLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7870', LombiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7870', MontigniesLezLensLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7880', FlobecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7880', VloesbergLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7890', EllezellesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7890', LahamaideLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7890', WodecqLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7900', GrandmetzLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7900', LeuzeEnHainautLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7901', ThieulainLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7903', BlicquyLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7903', ChapelleAOieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7903', ChapelleAWattinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7904', PipaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7904', TourpesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7904', WillaupuisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7906', GallaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', AnvaingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', ArcAinieresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', ArcWattripontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', CordesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', ElligniesLezFrasnesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', ForestHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', FrasnesLezAnvaingLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7910', WattripontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7911', BuissenalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7911', FrasnesLezBuissenalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7911', HacquegniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7911', HerquegiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7911', MontroeulAuBoisLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7911', MoustierHtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7911', OeudeghienLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7912', DergneauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7912', SaintSauveurLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7940', BrugeletteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7940', CambronCasteauLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7941', AttreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7942', MevergniesLezLensLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7943', GagesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7950', ChievresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7950', GrosageLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7950', HuissigniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7950', LadeuzeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7950', TongreSaintMartinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7951', TongreNotreDameLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7970', BeloeilLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7971', BaseclesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7971', RamegniesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7971', ThumaideLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7971', WadelincourtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7972', AubechiesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7972', ElligniesSainteAnneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7972', QuevaucampsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7973', GrandgliseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('7973', StambrugesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8000', BruggeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8000', KoolkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8020', HertsbergeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8020', OostkampLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8020', RuddervoordeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8020', WaardammeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8200', SintAndriesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8200', SintMichielsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8210', LoppemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8210', VeldegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8210', ZedelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8211', AartrijkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8300', KnokkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8300', KnokkeHeistLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8300', WestkapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8301', HeistAanZeeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8301', RamskapelleKnokkeHeistLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8310', AssebroekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8310', SintKruisBruggeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8340', DammeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8340', HoekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8340', LapscheureLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8340', MoerkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8340', OostkerkeDammeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8340', SijseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8370', BlankenbergeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8370', UitkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8377', HoutaveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8377', MeetkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8377', NieuwmunsterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8377', ZuienkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8380', DudzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8380', LissewegeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8380', ZeebruggeBruggeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8400', OostendeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8400', SteneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8400', ZandvoordeOostendeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8420', DeHaanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8420', KlemskerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8420', WenduineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8421', VlissegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8430', MiddelkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8431', WilskerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8432', LeffingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8433', MannekensvereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8433', SchoreLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8433', SintPietersKapelleWVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8433', SlijpeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8433', SpermalieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8434', LombardsijdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8434', WestendeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8450', BredeneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8460', EttelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8460', OudenburgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8460', RoksemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8460', WestkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8470', GistelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8470', MoereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8470', SnaaskerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8470', ZevekoteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8480', BekegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8480', EernegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8480', IchtegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8490', JabbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8490', SnellegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8490', StalhilleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8490', VarsenareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8490', ZerkegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8500', KortrijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8501', BissegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8501', HeuleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8510', BellegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8510', KooigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8510', MarkeKortrijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8510', RollegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8511', AalbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8520', KuurneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8530', HarelbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8531', BavikhoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8531', HulsteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8540', DeerlijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8550', ZwevegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8551', HeestertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8552', MoenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8553', OtegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8554', SintDenijsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8560', GullegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8560', MoorseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8560', WevelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8570', AnzegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8570', GijzelbrechtegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8570', IngooigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8570', VichteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8572', KasterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8573', TiegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8580', AvelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8581', KerkhoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8581', WaarmaardeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8582', OutrijveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8583', BossuitLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8587', EspierresLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8587', EspierresHelchinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8587', HelchinLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8587', HelkijnLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8587', SpiereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8587', SpiereHelkijnLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', BeerstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', DiksmuideLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', DriekapellenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', EsenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', KaaskerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', KeiemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', LampernisseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', LekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', NieuwkapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', OostkerkeDiksmuideLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', OudekapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', PervijzeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', SintJacobsKapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', StuivekenskerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', VladsloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8600', WoumenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8610', HandzameLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8610', KortemarkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8610', WerkenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8610', ZarrenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8620', NieuwpoortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8620', RamskapelleNieuwpoortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8620', SintJorisNieuwpoortLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', AvekapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', BeauvoordeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', BooitshoekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', BulskampLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', DeMoerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', EggewaartskapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', HoutemWVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', SteenkerkeWVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', VeurneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', VinkemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', WulveringemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8630', ZoutenaaieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8640', OostvleterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8640', VleterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8640', WestvleterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8640', WoestenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8647', LoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8647', LoReningeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8647', NoordschoteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8647', PollinkhoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8647', ReningeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8650', HouthulstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8650', KlerkenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8650', MerkemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8660', AdinkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8660', DePanneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8670', KoksijdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8670', OostduinkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8670', WulpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8680', BovekerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8680', KoekelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8680', ZandeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8690', AlveringemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8690', HoogstadeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8690', OerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8690', SintRijkersLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8691', BeverenAanDenIjzerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8691', GijverinkhoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8691', IzenbergeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8691', LeiseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8691', StaveleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8700', AarseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8700', KanegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8700', SchuiferskapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8700', TieltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8710', OoigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8710', SintBaafsVijveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8710', WielsbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8720', DentergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8720', MarkegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8720', OeselgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8720', WakkenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8730', BeernemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8730', OedelemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8730', SintJorisBeernemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8740', EgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8740', PittemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8750', WingeneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8750', ZwevezeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8755', RuiseledeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8760', MeulebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8770', IngelmunsterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8780', OostrozebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8790', WaregemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8791', BeverenLeieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8792', DesselgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8793', SintElooisVijveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8800', BeverenRoeselareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8800', OekeneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8800', RoeselareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8800', RumbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8810', LichterveldeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8820', TorhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8830', GitsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8830', HoogledeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8840', OostnieuwkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8840', StadenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8840', WestrozebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8850', ArdooieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8851', KoolskampLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8860', LendeledeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8870', EmelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8870', IzegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8870', KachtemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8880', LedegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8880', RollegemKapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8880', SintElooisWinkelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8890', DadizeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8890', MoorsledeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8900', BrielenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8900', DikkebusLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8900', IeperLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8900', SintJanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8902', HollebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8902', VoormezeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8902', ZillebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8904', BoezingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8904', ZuidschoteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8906', ElverdingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8908', VlamertingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8920', BikschoteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8920', LangemarkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8920', LangemarkPoelkapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8920', PoelkapelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8930', LauweLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8930', MenenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8930', RekkemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8940', GeluweLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8940', WervikLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8950', HeuvellandLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8950', NieuwkerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8951', DranouterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8952', WulvergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8953', WijtschateLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8954', WestouterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8956', KemmelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8957', MesenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8957', MessinesLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8958', LokerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8970', PoperingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8970', ReningelstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8972', KrombekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8972', ProvenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8972', RoesbruggeHaringeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8978', WatouLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8980', BeselareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8980', GeluveldLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8980', PassendaleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8980', ZandvoordeZonnebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('8980', ZonnebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9000', GentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9030', MariakerkeGentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9031', DrongenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9032', WondelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9040', SintAmandsbergGentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9041', OostakkerLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9042', DesteldonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9042', MendonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9042', SintKruisWinkelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9050', GentbruggeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9050', LedebergGentLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9051', AfsneeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9051', SintDenijsWestremLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9052', ZwijnaardeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9060', ZelzateLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9070', DestelbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9070', HeusdenOVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9080', BeerveldeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9080', LochristiLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9080', ZaffelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9080', ZevenekenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9090', GontrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9090', MelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9100', NieuwkerkenWaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9100', SintNiklaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9111', BelseleSintNiklaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9112', SinaaiWaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9120', BeverenWaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9120', HaasdonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9120', KalloBeverenWaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9120', MelseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9120', VraseneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9130', DoelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9130', KalloKieldrechtLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9130', KieldrechtBeverenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9130', VerrebroekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9140', ElverseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9140', SteendorpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9140', TemseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9140', TielrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9150', BazelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9150', KruibekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9150', RupelmondeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9160', DaknamLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9160', EksaardeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9160', LokerenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9170', DeKlingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9170', MeerdonkLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9170', SintGillisWaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9170', SintPauwelsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9180', MoerbekeWaasLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9185', WachtebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9190', KemzekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9190', StekeneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', AppelsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', BaasrodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', DendermondeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', GrembergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', MespelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', OudegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', SchoonaardeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9200', SintGillisBijDendermondeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9220', HammeOVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9220', MoerzekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9230', MassemenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9230', WestremLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9230', WetterenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9240', ZeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9250', WaasmunsterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9255', BuggenhoutLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9255', OpdorpLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9260', SchellebelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9260', SerskampLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9260', WichelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9270', KalkenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9270', LaarneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9280', DenderbelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9280', LebbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9280', WiezeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9290', BerlareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9290', OvermereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9290', UitbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9300', AalstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9308', GijzegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9308', HofstadeOVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9310', BaardegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9310', HerdersemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9310', MeldertOVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9310', MoorselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9320', ErembodegemAalstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9320', NieuwerkerkenAalstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9340', ImpeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9340', LedeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9340', OordegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9340', SmetledeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9340', WanzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9400', AppelterreEichemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9400', DenderwindekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9400', LieferingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9400', NederhasseltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9400', NinoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9400', OkegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9400', VoordeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9401', PollareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9402', MeerbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9403', NeigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9404', AspelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9406', OuterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', AaigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', BambruggeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', BurstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', ErondegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', ErpeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', ErpeMereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', MereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', OttergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9420', VlekkemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9450', DenderhoutemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9450', HaaltertLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9450', HeldergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9451', KerkskenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9470', DenderleeuwLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9472', IddergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9473', WelleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', GeraardsbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', GoeferdingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', MoerbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', NederboelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', OnkerzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', OphasseltLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', OverboelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', VianeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9500', ZarlardingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9506', GrimmingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9506', IdegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9506', NieuwenhoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9506', SchendelbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9506', SmeerebbeVloerzegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9506', WaarbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9506', ZandbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9520', BavegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9520', SintLievensHoutemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9520', VlierzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9520', ZonnegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9521', LetterhoutemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9550', HerzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9550', HillegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9550', SintAntelinksLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9550', SintLievensEsseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9550', SteenhuizeWijnhuizeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9550', WoubrechtegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9551', RessegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9552', BorsbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9570', DeftingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9570', LierdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9570', SintMariaLierdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9571', HemelveerdegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9572', SintMartensLierdeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9600', RenaixLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9600', RonseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', EleneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', ErwetegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', GodveerdegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', GrotenbergeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', LeeuwergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', OombergenZottegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', SintGoriksOudenhoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', StMariaOudenhoveZottegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', StrijpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', VelzekeRuddershoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9620', ZottegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', BeerlegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', DikkeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', HundelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', MeilegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', MunkzwalmLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', PaulatemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', RoborstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', RozebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', SintBlasiusBoekelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', SintDenijsBoekelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', SintMariaLatemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9630', ZwalmLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9636', NederzwalmHermelgemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9660', BrakelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9660', ElstLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9660', EverbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9660', MichelbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9660', NederbrakelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9660', OpbrakelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9660', ZegelsemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9661', ParikeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9667', HorebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9667', SintKornelisHorebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9667', SintMariaHorebekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9680', EtikhoveLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9680', MaarkedalLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9680', MaarkeKerkemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9681', NukerkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9688', SchorisseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9690', BerchemOVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9690', KluisbergenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9690', KwaremontLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9690', RuienLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9690', ZulzekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', BevereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', EdelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', EineLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', EnameLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', HeurneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', LeupegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', MaterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', MeldenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', MullemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', NederenameLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', OudenaardeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', VolkegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9700', WeldenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9750', HuiseLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9750', OuwegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9750', ZingemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9770', KruishoutemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9771', NokereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9772', WannegemLedeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9790', ElsegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9790', MoregemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9790', OoikeWortegemPetegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9790', PetegemAanDeScheldeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9790', WortegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9790', WortegemPetegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', AsteneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', BachteMariaLeerneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', DeinzeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', GottemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', GrammeneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', MeigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', PetegemAanDeLeieLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', SintMartensLeerneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', VinktLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', WontergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9800', ZeverenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9810', EkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9810', NazarethLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9820', BottelareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9820', LembergeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9820', MelsenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9820', MerelbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9820', MunteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9820', SchelderodeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9830', SintMartensLatemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9831', DeurleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9840', DePinteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9840', ZevergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9850', HansbekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9850', LandegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9850', MerendreeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9850', NeveleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9850', PoeseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9850', VosselareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9860', BalegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9860', GijzenzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9860', LandskouterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9860', MoortseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9860', OosterzeleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9860', ScheldewindekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9870', MachelenOVlLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9870', OlseneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9870', ZulteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9880', AalterLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9880', LotenhulleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9880', PoekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9881', BellemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9890', AsperLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9890', BaaigemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9890', DikkelvenneLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9890', GavereLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9890', SemmerzakeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9890', VursteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9900', EekloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9910', KnesselareLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9910', UrselLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9920', LovendegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9921', VinderhouteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9930', ZomergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9931', OostwinkelLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9932', RonseleLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9940', ErtveldeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9940', EvergemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9940', KluizenLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9940', SleidingeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9950', WaarschootLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9960', AssenedeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9961', BoekhouteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9968', BasseveldeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9968', OosteekloLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9970', KaprijkeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9971', LembekeLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9980', SintLaureinsLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9981', SintMargrieteLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9982', SintJanInEremoLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9988', WaterlandOudemanLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9988', WatervlietLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9990', MaldegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9991', AdegemLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('9992', MiddelburgLbl, CreateCountryRegion.BE()); + ContosoPostCodeBE.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeBE.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + end; + + var + BruxellesLbl: Label 'BRUXELLES', MaxLength = 30; + AssreuncomcommcommuneLbl: Label 'ASS. REUN. COM. COMM. COMMUNE', MaxLength = 30; + BrusselsehoofdstedelijkeraadLbl: Label 'BRUSSELSE HOOFDSTEDELIJKE RAAD', MaxLength = 30; + ConseilregionbruxellescapLbl: Label 'CONSEIL REGION BRUXELLES-CAP.', MaxLength = 30; + VerverggemeenschcommLbl: Label 'VER.VERG.GEMEENSCH.COMM.', MaxLength = 30; + RaadvlaamsegemeenschapscommLbl: Label 'RAAD VLAAMSE GEMEENSCHAPSCOMM.', MaxLength = 30; + AsscommisscommfrancaiseLbl: Label 'ASS. COMMISS. COMM. FRANCAISE', MaxLength = 30; + ChambredesrepresentantsLbl: Label 'CHAMBRE DES REPRESENTANTS', MaxLength = 30; + KamervanvolksvertegenwLbl: Label 'KAMER VAN VOLKSVERTEGENW.', MaxLength = 30; + BelgischesenaatLbl: Label 'BELGISCHE SENAAT', MaxLength = 30; + SenatdebelgiqueLbl: Label 'SENAT DE BELGIQUE', MaxLength = 30; + CiteadministrativedeletatLbl: Label 'CITE ADMINISTRATIVE DE L''ETAT', MaxLength = 30; + RijksadministratiefcentrumLbl: Label 'RIJKSADMINISTRATIEF CENTRUM', MaxLength = 30; + VlaamseraadvlaamsparlLbl: Label 'VLAAMSE RAAD - VLAAMS PARL', MaxLength = 30; + ParldelacommfrancaiseLbl: Label 'PARL. DE LA COMM. FRANCAISE', MaxLength = 30; + BrusselLbl: Label 'BRUSSEL', MaxLength = 30; + BrussellakenLbl: Label 'BRUSSEL (LAKEN)', MaxLength = 30; + BruxelleslaekenLbl: Label 'BRUXELLES (LAEKEN)', MaxLength = 30; + LaekenbruxellesLbl: Label 'LAEKEN (BRUXELLES)', MaxLength = 30; + LakenbrusselLbl: Label 'LAKEN (BRUSSEL)', MaxLength = 30; + BrusselschaarbeekLbl: Label 'BRUSSEL (SCHAARBEEK)', MaxLength = 30; + BruxellesschaerbeekLbl: Label 'BRUXELLES (SCHAERBEEK)', MaxLength = 30; + SchaarbeekLbl: Label 'SCHAARBEEK', MaxLength = 30; + SchaerbeekLbl: Label 'SCHAERBEEK', MaxLength = 30; + ChristsocialeorganisatiesLbl: Label 'CHRIST. SOCIALE ORGANISATIES', MaxLength = 30; + OrganisationssocialeschretLbl: Label 'ORGANISATIONS SOCIALES CHRET.', MaxLength = 30; + BrusseletterbeekLbl: Label 'BRUSSEL (ETTERBEEK)', MaxLength = 30; + BruxellesetterbeekLbl: Label 'BRUXELLES (ETTERBEEK)', MaxLength = 30; + EtterbeekLbl: Label 'ETTERBEEK', MaxLength = 30; + InternationalpresscenterLbl: Label 'INTERNATIONAL PRESS CENTER', MaxLength = 30; + VrtLbl: Label 'VRT', MaxLength = 30; + RtbfLbl: Label 'RTBF', MaxLength = 30; + DivLbl: Label 'D.I.V.', MaxLength = 30; + EuropeesparlementLbl: Label 'EUROPEES PARLEMENT', MaxLength = 30; + ParlementeuropeenLbl: Label 'PARLEMENT EUROPEEN', MaxLength = 30; + EuraadLbl: Label 'E.U.-RAAD', MaxLength = 30; + UeconseilLbl: Label 'U.E.-CONSEIL', MaxLength = 30; + EucommissieLbl: Label 'E.U.-COMMISSIE', MaxLength = 30; + UecommissionLbl: Label 'U.E.-COMMISSION', MaxLength = 30; + BrusselelseneLbl: Label 'BRUSSEL (ELSENE)', MaxLength = 30; + BruxellesixellesLbl: Label 'BRUXELLES (IXELLES)', MaxLength = 30; + ElseneLbl: Label 'ELSENE', MaxLength = 30; + IxellesLbl: Label 'IXELLES', MaxLength = 30; + BrusselsintgillisLbl: Label 'BRUSSEL (SINT-GILLIS)', MaxLength = 30; + BruxellessaintgillesLbl: Label 'BRUXELLES (SAINT-GILLES)', MaxLength = 30; + SaintgillesLbl: Label 'SAINT-GILLES', MaxLength = 30; + SintgillisLbl: Label 'SINT-GILLIS', MaxLength = 30; + AnderlechtLbl: Label 'ANDERLECHT', MaxLength = 30; + BrusselanderlechtLbl: Label 'BRUSSEL (ANDERLECHT)', MaxLength = 30; + BruxellesanderlechtLbl: Label 'BRUXELLES (ANDERLECHT)', MaxLength = 30; + BrusselsintjansmolenbeekLbl: Label 'BRUSSEL (SINT-JANS-MOLENBEEK)', MaxLength = 30; + BruxellesmolenbeekstjeanLbl: Label 'BRUXELLES (MOLENBEEK-ST.-JEAN)', MaxLength = 30; + MolenbeeksaintjeanLbl: Label 'MOLENBEEK-SAINT-JEAN', MaxLength = 30; + SintjansmolenbeekLbl: Label 'SINT-JANS-MOLENBEEK', MaxLength = 30; + BrusselkoekelbergLbl: Label 'BRUSSEL (KOEKELBERG)', MaxLength = 30; + BruxelleskoekelbergLbl: Label 'BRUXELLES (KOEKELBERG)', MaxLength = 30; + KoekelbergLbl: Label 'KOEKELBERG', MaxLength = 30; + BerchemsainteagatheLbl: Label 'BERCHEM-SAINTE-AGATHE', MaxLength = 30; + BrusselsintagathaberchemLbl: Label 'BRUSSEL (SINT-AGATHA-BERCHEM)', MaxLength = 30; + BruxellesberchemstagatheLbl: Label 'BRUXELLES (BERCHEM-ST.-AGATHE)', MaxLength = 30; + SintagathaberchemLbl: Label 'SINT-AGATHA-BERCHEM', MaxLength = 30; + BrusselganshorenLbl: Label 'BRUSSEL (GANSHOREN)', MaxLength = 30; + BruxellesganshorenLbl: Label 'BRUXELLES (GANSHOREN)', MaxLength = 30; + GanshorenLbl: Label 'GANSHOREN', MaxLength = 30; + BrusseljetteLbl: Label 'BRUSSEL (JETTE)', MaxLength = 30; + BruxellesjetteLbl: Label 'BRUXELLES (JETTE)', MaxLength = 30; + JetteLbl: Label 'JETTE', MaxLength = 30; + PostchequeLbl: Label 'POSTCHEQUE', MaxLength = 30; + SocLbl: Label 'SOC', MaxLength = 30; + NavonatoLbl: Label 'NAVO - NATO', MaxLength = 30; + OtannatoLbl: Label 'OTAN - NATO', MaxLength = 30; + BrusselnederoverheembeekLbl: Label 'BRUSSEL (NEDER-OVER-HEEMBEEK)', MaxLength = 30; + BruxnederoverheembeekLbl: Label 'BRUX. (NEDER-OVER-HEEMBEEK)', MaxLength = 30; + NederoverheembeekbruxLbl: Label 'NEDER-OVER-HEEMBEEK (BRUX.)', MaxLength = 30; + BrusselharenLbl: Label 'BRUSSEL (HAREN)', MaxLength = 30; + BruxelleshaerenLbl: Label 'BRUXELLES (HAEREN)', MaxLength = 30; + HarenbrusselLbl: Label 'HAREN (BRUSSEL)', MaxLength = 30; + HarenbruxellesLbl: Label 'HAREN (BRUXELLES)', MaxLength = 30; + BrusselevereLbl: Label 'BRUSSEL (EVERE)', MaxLength = 30; + BruxellesevereLbl: Label 'BRUXELLES (EVERE)', MaxLength = 30; + EvereLbl: Label 'EVERE', MaxLength = 30; + BrusselsintpieterswoluweLbl: Label 'BRUSSEL (SINT-PIETERS-WOLUWE)', MaxLength = 30; + BruxelleswoluwestpierreLbl: Label 'BRUXELLES (WOLUWE-ST.-PIERRE)', MaxLength = 30; + SintpieterswoluweLbl: Label 'SINT-PIETERS-WOLUWE', MaxLength = 30; + WoluwesaintpierreLbl: Label 'WOLUWE-SAINT-PIERRE', MaxLength = 30; + AuderghemLbl: Label 'AUDERGHEM', MaxLength = 30; + BrusseloudergemLbl: Label 'BRUSSEL (OUDERGEM)', MaxLength = 30; + BruxellesauderghemLbl: Label 'BRUXELLES (AUDERGHEM)', MaxLength = 30; + OudergemLbl: Label 'OUDERGEM', MaxLength = 30; + BrusselwatermaalbosvoordeLbl: Label 'BRUSSEL (WATERMAAL-BOSVOORDE)', MaxLength = 30; + BruxwatermaelboitsfortLbl: Label 'BRUX. (WATERMAEL-BOITSFORT)', MaxLength = 30; + WatermaalbosvoordeLbl: Label 'WATERMAAL-BOSVOORDE', MaxLength = 30; + WatermaelboitsfortLbl: Label 'WATERMAEL-BOITSFORT', MaxLength = 30; + BrusselukkelLbl: Label 'BRUSSEL (UKKEL)', MaxLength = 30; + BruxellesuccleLbl: Label 'BRUXELLES (UCCLE)', MaxLength = 30; + UccleLbl: Label 'UCCLE', MaxLength = 30; + UkkelLbl: Label 'UKKEL', MaxLength = 30; + BrusselvorstLbl: Label 'BRUSSEL (VORST)', MaxLength = 30; + BruxellesforestLbl: Label 'BRUXELLES (FOREST)', MaxLength = 30; + ForestLbl: Label 'FOREST', MaxLength = 30; + VorstLbl: Label 'VORST', MaxLength = 30; + BrusselstlambrechtswoluweLbl: Label 'BRUSSEL (ST-LAMBRECHTS-WOLUWE)', MaxLength = 30; + BruxelleswoluwestlambertLbl: Label 'BRUXELLES (WOLUWE-ST.-LAMBERT)', MaxLength = 30; + SintlambrechtswoluweLbl: Label 'SINT-LAMBRECHTS-WOLUWE', MaxLength = 30; + WoluwesaintlambertLbl: Label 'WOLUWE-SAINT-LAMBERT', MaxLength = 30; + RtltviLbl: Label 'R.T.L. - T.V.I.', MaxLength = 30; + BrusselsintjoosttennodeLbl: Label 'BRUSSEL (SINT-JOOST-TEN-NODE)', MaxLength = 30; + BruxellesstjossetennoodeLbl: Label 'BRUXELLES (ST-JOSSE-TEN-NOODE)', MaxLength = 30; + SaintjossetennoodeLbl: Label 'SAINT-JOSSE-TEN-NOODE', MaxLength = 30; + SintjoosttennodeLbl: Label 'SINT-JOOST-TEN-NODE', MaxLength = 30; + LimalLbl: Label 'LIMAL', MaxLength = 30; + WavreLbl: Label 'WAVRE', MaxLength = 30; + BiergesLbl: Label 'BIERGES', MaxLength = 30; + LahulpeLbl: Label 'LA HULPE', MaxLength = 30; + GlimesLbl: Label 'GLIMES', MaxLength = 30; + IncourtLbl: Label 'INCOURT', MaxLength = 30; + OpprebaisLbl: Label 'OPPREBAIS', MaxLength = 30; + PietrebaisLbl: Label 'PIETREBAIS', MaxLength = 30; + RouxmiroirLbl: Label 'ROUX-MIROIR', MaxLength = 30; + BeauvechainLbl: Label 'BEAUVECHAIN', MaxLength = 30; + HammemilleLbl: Label 'HAMME-MILLE', MaxLength = 30; + LecluseLbl: Label 'L''ECLUSE', MaxLength = 30; + NodebaisLbl: Label 'NODEBAIS', MaxLength = 30; + TourinneslagrosseLbl: Label 'TOURINNES-LA-GROSSE', MaxLength = 30; + BonlezLbl: Label 'BONLEZ', MaxLength = 30; + ChaumontgistouxLbl: Label 'CHAUMONT-GISTOUX', MaxLength = 30; + CorroylegrandLbl: Label 'CORROY-LE-GRAND', MaxLength = 30; + DionvalmontLbl: Label 'DION-VALMONT', MaxLength = 30; + LonguevilleLbl: Label 'LONGUEVILLE', MaxLength = 30; + RixensartLbl: Label 'RIXENSART', MaxLength = 30; + RosieresLbl: Label 'ROSIERES', MaxLength = 30; + GenvalLbl: Label 'GENVAL', MaxLength = 30; + OttigniesLbl: Label 'OTTIGNIES', MaxLength = 30; + OttignieslouvainlaneuveLbl: Label 'OTTIGNIES-LOUVAIN-LA-NEUVE', MaxLength = 30; + CerouxmoustyLbl: Label 'CEROUX-MOUSTY', MaxLength = 30; + LimeletteLbl: Label 'LIMELETTE', MaxLength = 30; + LouvainlaneuveLbl: Label 'LOUVAIN-LA-NEUVE', MaxLength = 30; + EninesLbl: Label 'ENINES', MaxLength = 30; + FolxlescavesLbl: Label 'FOLX-LES-CAVES', MaxLength = 30; + JandrainjandrenouilleLbl: Label 'JANDRAIN-JANDRENOUILLE', MaxLength = 30; + JaucheLbl: Label 'JAUCHE', MaxLength = 30; + MarillesLbl: Label 'MARILLES', MaxLength = 30; + NoduwezLbl: Label 'NODUWEZ', MaxLength = 30; + OrpjaucheLbl: Label 'ORP-JAUCHE', MaxLength = 30; + OrplegrandLbl: Label 'ORP-LE-GRAND', MaxLength = 30; + HelecineLbl: Label 'HELECINE', MaxLength = 30; + LinsmeauLbl: Label 'LINSMEAU', MaxLength = 30; + NeerheylissemLbl: Label 'NEERHEYLISSEM', MaxLength = 30; + OpheylissemLbl: Label 'OPHEYLISSEM', MaxLength = 30; + MalevessaintemariewastinesLbl: Label 'MALEVES-SAINTE-MARIE-WASTINES', MaxLength = 30; + OrbaisLbl: Label 'ORBAIS', MaxLength = 30; + PerwezLbl: Label 'PERWEZ', MaxLength = 30; + ThorembaislesbeguinesLbl: Label 'THOREMBAIS-LES-BEGUINES', MaxLength = 30; + ThorembaissainttrondLbl: Label 'THOREMBAIS-SAINT-TROND', MaxLength = 30; + AutreegliseLbl: Label 'AUTRE-EGLISE', MaxLength = 30; + BomalbtLbl: Label 'BOMAL (BT.)', MaxLength = 30; + GeestgerompontpetitrosiereLbl: Label 'GEEST-GEROMPONT-PETIT-ROSIERE', MaxLength = 30; + GerompontLbl: Label 'GEROMPONT', MaxLength = 30; + GrandrosierehottomontLbl: Label 'GRAND-ROSIERE-HOTTOMONT', MaxLength = 30; + HuppayeLbl: Label 'HUPPAYE', MaxLength = 30; + MontsaintandreLbl: Label 'MONT-SAINT-ANDRE', MaxLength = 30; + RamilliesLbl: Label 'RAMILLIES', MaxLength = 30; + DongelbergLbl: Label 'DONGELBERG', MaxLength = 30; + JaucheletteLbl: Label 'JAUCHELETTE', MaxLength = 30; + JodoigneLbl: Label 'JODOIGNE', MaxLength = 30; + JodoignesouveraineLbl: Label 'JODOIGNE-SOUVERAINE', MaxLength = 30; + LathuyLbl: Label 'LATHUY', MaxLength = 30; + MelinLbl: Label 'MELIN', MaxLength = 30; + PietrainLbl: Label 'PIETRAIN', MaxLength = 30; + SaintjeangeestLbl: Label 'SAINT-JEAN-GEEST', MaxLength = 30; + SaintremygeestLbl: Label 'SAINT-REMY-GEEST', MaxLength = 30; + ZetrudlumayLbl: Label 'ZETRUD-LUMAY', MaxLength = 30; + CouturesaintgermainLbl: Label 'COUTURE-SAINT-GERMAIN', MaxLength = 30; + LasneLbl: Label 'LASNE', MaxLength = 30; + LasnechapellesaintlambertLbl: Label 'LASNE-CHAPELLE-SAINT-LAMBERT', MaxLength = 30; + MaransartLbl: Label 'MARANSART', MaxLength = 30; + OhainLbl: Label 'OHAIN', MaxLength = 30; + PlancenoitLbl: Label 'PLANCENOIT', MaxLength = 30; + ArchennesLbl: Label 'ARCHENNES', MaxLength = 30; + BiezLbl: Label 'BIEZ', MaxLength = 30; + BossutgottechainLbl: Label 'BOSSUT-GOTTECHAIN', MaxLength = 30; + GrezdoiceauLbl: Label 'GREZ-DOICEAU', MaxLength = 30; + NethenLbl: Label 'NETHEN', MaxLength = 30; + MonstreuxLbl: Label 'MONSTREUX', MaxLength = 30; + NivellesLbl: Label 'NIVELLES', MaxLength = 30; + BaulersLbl: Label 'BAULERS', MaxLength = 30; + ThinesLbl: Label 'THINES', MaxLength = 30; + BornivalLbl: Label 'BORNIVAL', MaxLength = 30; + WaterlooLbl: Label 'WATERLOO', MaxLength = 30; + PromocontrolLbl: Label 'PROMO-CONTROL', MaxLength = 30; + BrainelalleudLbl: Label 'BRAINE-L''ALLEUD', MaxLength = 30; + OphainboisseigneurisaacLbl: Label 'OPHAIN-BOIS-SEIGNEUR-ISAAC', MaxLength = 30; + LilloiswitterzeeLbl: Label 'LILLOIS-WITTERZEE', MaxLength = 30; + BierghesLbl: Label 'BIERGHES', MaxLength = 30; + QuenastLbl: Label 'QUENAST', MaxLength = 30; + RebecqLbl: Label 'REBECQ', MaxLength = 30; + RebecqrognonLbl: Label 'REBECQ-ROGNON', MaxLength = 30; + CorbaisLbl: Label 'CORBAIS', MaxLength = 30; + HevillersLbl: Label 'HEVILLERS', MaxLength = 30; + MontsaintguibertLbl: Label 'MONT-SAINT-GUIBERT', MaxLength = 30; + BrainelechateauLbl: Label 'BRAINE-LE-CHATEAU', MaxLength = 30; + WauthierbraineLbl: Label 'WAUTHIER-BRAINE', MaxLength = 30; + ChastreLbl: Label 'CHASTRE', MaxLength = 30; + ChastrevillerouxblanmontLbl: Label 'CHASTRE-VILLEROUX-BLANMONT', MaxLength = 30; + CortilnoirmontLbl: Label 'CORTIL-NOIRMONT', MaxLength = 30; + GentinnesLbl: Label 'GENTINNES', MaxLength = 30; + SaintgeryLbl: Label 'SAINT-GERY', MaxLength = 30; + NilsaintvincentsaintmartinLbl: Label 'NIL-SAINT-VINCENT-SAINT-MARTIN', MaxLength = 30; + TourinnessaintlambertLbl: Label 'TOURINNES-SAINT-LAMBERT', MaxLength = 30; + WalhainLbl: Label 'WALHAIN', MaxLength = 30; + WalhainsaintpaulLbl: Label 'WALHAIN-SAINT-PAUL', MaxLength = 30; + IttreLbl: Label 'ITTRE', MaxLength = 30; + VirginalsammeLbl: Label 'VIRGINAL-SAMME', MaxLength = 30; + HautittreLbl: Label 'HAUT-ITTRE', MaxLength = 30; + BaisythyLbl: Label 'BAISY-THY', MaxLength = 30; + BousvalLbl: Label 'BOUSVAL', MaxLength = 30; + GenappeLbl: Label 'GENAPPE', MaxLength = 30; + LoupoigneLbl: Label 'LOUPOIGNE', MaxLength = 30; + VieuxgenappeLbl: Label 'VIEUX-GENAPPE', MaxLength = 30; + GlabaisLbl: Label 'GLABAIS', MaxLength = 30; + WaysLbl: Label 'WAYS', MaxLength = 30; + HoutainlevalLbl: Label 'HOUTAIN-LE-VAL', MaxLength = 30; + ClabecqLbl: Label 'CLABECQ', MaxLength = 30; + OisquercqLbl: Label 'OISQUERCQ', MaxLength = 30; + SaintesLbl: Label 'SAINTES', MaxLength = 30; + TubizeLbl: Label 'TUBIZE', MaxLength = 30; + CourtsaintetienneLbl: Label 'COURT-SAINT-ETIENNE', MaxLength = 30; + MarbaisbtLbl: Label 'MARBAIS (BT.)', MaxLength = 30; + MelleryLbl: Label 'MELLERY', MaxLength = 30; + SartdamesavelinesLbl: Label 'SART-DAMES-AVELINES', MaxLength = 30; + TillyLbl: Label 'TILLY', MaxLength = 30; + VillerslavilleLbl: Label 'VILLERS-LA-VILLE', MaxLength = 30; + HalleLbl: Label 'HALLE', MaxLength = 30; + BuizingenLbl: Label 'BUIZINGEN', MaxLength = 30; + LembeekLbl: Label 'LEMBEEK', MaxLength = 30; + HerfelingenLbl: Label 'HERFELINGEN', MaxLength = 30; + HerneLbl: Label 'HERNE', MaxLength = 30; + SintpieterskapellebtLbl: Label 'SINT-PIETERS-KAPELLE (BT.)', MaxLength = 30; + BeverLbl: Label 'BEVER', MaxLength = 30; + BieveneLbl: Label 'BIEVENE', MaxLength = 30; + HoeilaartLbl: Label 'HOEILAART', MaxLength = 30; + GalmaardenLbl: Label 'GALMAARDEN', MaxLength = 30; + TollembeekLbl: Label 'TOLLEMBEEK', MaxLength = 30; + VollezeleLbl: Label 'VOLLEZELE', MaxLength = 30; + OudenakenLbl: Label 'OUDENAKEN', MaxLength = 30; + SintlaureinsberchemLbl: Label 'SINT-LAUREINS-BERCHEM', MaxLength = 30; + SintpietersleeuwLbl: Label 'SINT-PIETERS-LEEUW', MaxLength = 30; + RuisbroekbtLbl: Label 'RUISBROEK (BT.)', MaxLength = 30; + VlezenbeekLbl: Label 'VLEZENBEEK', MaxLength = 30; + DrogenbosLbl: Label 'DROGENBOS', MaxLength = 30; + LinkebeekLbl: Label 'LINKEBEEK', MaxLength = 30; + RhodesaintgeneseLbl: Label 'RHODE-SAINT-GENESE', MaxLength = 30; + SintgenesiusrodeLbl: Label 'SINT-GENESIUS-RODE', MaxLength = 30; + BeerselLbl: Label 'BEERSEL', MaxLength = 30; + LotLbl: Label 'LOT', MaxLength = 30; + AlsembergLbl: Label 'ALSEMBERG', MaxLength = 30; + DworpLbl: Label 'DWORP', MaxLength = 30; + HuizingenLbl: Label 'HUIZINGEN', MaxLength = 30; + BogaardenLbl: Label 'BOGAARDEN', MaxLength = 30; + HeikruisLbl: Label 'HEIKRUIS', MaxLength = 30; + PepingenLbl: Label 'PEPINGEN', MaxLength = 30; + ElingenLbl: Label 'ELINGEN', MaxLength = 30; + BeertLbl: Label 'BEERT', MaxLength = 30; + BellingenLbl: Label 'BELLINGEN', MaxLength = 30; + DilbeekLbl: Label 'DILBEEK', MaxLength = 30; + SintmartensbodegemLbl: Label 'SINT-MARTENS-BODEGEM', MaxLength = 30; + SintulrikskapelleLbl: Label 'SINT-ULRIKS-KAPELLE', MaxLength = 30; + ItterbeekLbl: Label 'ITTERBEEK', MaxLength = 30; + GrootbijgaardenLbl: Label 'GROOT-BIJGAARDEN', MaxLength = 30; + SchepdaalLbl: Label 'SCHEPDAAL', MaxLength = 30; + AsseLbl: Label 'ASSE', MaxLength = 30; + BekkerzeelLbl: Label 'BEKKERZEEL', MaxLength = 30; + KobbegemLbl: Label 'KOBBEGEM', MaxLength = 30; + MollemLbl: Label 'MOLLEM', MaxLength = 30; + RelegemLbl: Label 'RELEGEM', MaxLength = 30; + ZellikLbl: Label 'ZELLIK', MaxLength = 30; + TernatLbl: Label 'TERNAT', MaxLength = 30; + WambeekLbl: Label 'WAMBEEK', MaxLength = 30; + SintkatherinalombeekLbl: Label 'SINT-KATHERINA-LOMBEEK', MaxLength = 30; + MazenzeleLbl: Label 'MAZENZELE', MaxLength = 30; + OpwijkLbl: Label 'OPWIJK', MaxLength = 30; + GaasbeekLbl: Label 'GAASBEEK', MaxLength = 30; + LennikLbl: Label 'LENNIK', MaxLength = 30; + SintkwintenslennikLbl: Label 'SINT-KWINTENS-LENNIK', MaxLength = 30; + SintmartenslennikLbl: Label 'SINT-MARTENS-LENNIK', MaxLength = 30; + GooikLbl: Label 'GOOIK', MaxLength = 30; + KesterLbl: Label 'KESTER', MaxLength = 30; + LeerbeekLbl: Label 'LEERBEEK', MaxLength = 30; + OetingenLbl: Label 'OETINGEN', MaxLength = 30; + OnzelievevrouwlombeekLbl: Label 'ONZE-LIEVE-VROUW-LOMBEEK', MaxLength = 30; + PamelLbl: Label 'PAMEL', MaxLength = 30; + RoosdaalLbl: Label 'ROOSDAAL', MaxLength = 30; + StrijtemLbl: Label 'STRIJTEM', MaxLength = 30; + BorchtlombeekLbl: Label 'BORCHTLOMBEEK', MaxLength = 30; + LiedekerkeLbl: Label 'LIEDEKERKE', MaxLength = 30; + WemmelLbl: Label 'WEMMEL', MaxLength = 30; + BrussegemLbl: Label 'BRUSSEGEM', MaxLength = 30; + HammebtLbl: Label 'HAMME (BT.)', MaxLength = 30; + MerchtemLbl: Label 'MERCHTEM', MaxLength = 30; + AffligemLbl: Label 'AFFLIGEM', MaxLength = 30; + EsseneLbl: Label 'ESSENE', MaxLength = 30; + HekelgemLbl: Label 'HEKELGEM', MaxLength = 30; + TeralfeneLbl: Label 'TERALFENE', MaxLength = 30; + PeutieLbl: Label 'PEUTIE', MaxLength = 30; + VilvoordeLbl: Label 'VILVOORDE', MaxLength = 30; + CargovilLbl: Label 'CARGOVIL', MaxLength = 30; + VtmLbl: Label 'VTM', MaxLength = 30; + MelsbroekLbl: Label 'MELSBROEK', MaxLength = 30; + PerkLbl: Label 'PERK', MaxLength = 30; + SteenokkerzeelLbl: Label 'STEENOKKERZEEL', MaxLength = 30; + MachelenbtLbl: Label 'MACHELEN (BT.)', MaxLength = 30; + DiegemLbl: Label 'DIEGEM', MaxLength = 30; + LonderzeelLbl: Label 'LONDERZEEL', MaxLength = 30; + MalderenLbl: Label 'MALDEREN', MaxLength = 30; + SteenhuffelLbl: Label 'STEENHUFFEL', MaxLength = 30; + GrimbergenLbl: Label 'GRIMBERGEN', MaxLength = 30; + HumbeekLbl: Label 'HUMBEEK', MaxLength = 30; + BeigemLbl: Label 'BEIGEM', MaxLength = 30; + StrombeekbeverLbl: Label 'STROMBEEK-BEVER', MaxLength = 30; + MeiseLbl: Label 'MEISE', MaxLength = 30; + WolvertemLbl: Label 'WOLVERTEM', MaxLength = 30; + KapelleopdenbosLbl: Label 'KAPELLE-OP-DEN-BOS', MaxLength = 30; + NieuwenrodeLbl: Label 'NIEUWENRODE', MaxLength = 30; + RamsdonkLbl: Label 'RAMSDONK', MaxLength = 30; + BergbtLbl: Label 'BERG (BT.)', MaxLength = 30; + BukenLbl: Label 'BUKEN', MaxLength = 30; + KampenhoutLbl: Label 'KAMPENHOUT', MaxLength = 30; + AntwerpenLbl: Label 'ANTWERPEN', MaxLength = 30; + NederokkerzeelLbl: Label 'NEDEROKKERZEEL', MaxLength = 30; + NossegemLbl: Label 'NOSSEGEM', MaxLength = 30; + ZaventemLbl: Label 'ZAVENTEM', MaxLength = 30; + BrucargoLbl: Label 'BRUCARGO', MaxLength = 30; + SintstevenswoluweLbl: Label 'SINT-STEVENS-WOLUWE', MaxLength = 30; + SterrebeekLbl: Label 'STERREBEEK', MaxLength = 30; + BrusselxluchthavenremailingLbl: Label 'BRUSSEL X-LUCHTHAVEN REMAILING', MaxLength = 30; + BruxellesxaeroportremailingLbl: Label 'BRUXELLES X-AEROPORT REMAILING', MaxLength = 30; + KraainemLbl: Label 'KRAAINEM', MaxLength = 30; + WezembeekoppemLbl: Label 'WEZEMBEEK-OPPEM', MaxLength = 30; + EppegemLbl: Label 'EPPEGEM', MaxLength = 30; + ZemstLbl: Label 'ZEMST', MaxLength = 30; + HofstadebtLbl: Label 'HOFSTADE (BT.)', MaxLength = 30; + ElewijtLbl: Label 'ELEWIJT', MaxLength = 30; + WeerdeLbl: Label 'WEERDE', MaxLength = 30; + BerendrechtLbl: Label 'BERENDRECHT', MaxLength = 30; + LilloLbl: Label 'LILLO', MaxLength = 30; + ZandvlietLbl: Label 'ZANDVLIET', MaxLength = 30; + BurchtLbl: Label 'BURCHT', MaxLength = 30; + ZwijndrechtLbl: Label 'ZWIJNDRECHT', MaxLength = 30; + DeurneLbl: Label 'DEURNE', MaxLength = 30; + DeurneantwerpenLbl: Label 'DEURNE (ANTWERPEN)', MaxLength = 30; + WijnegemLbl: Label 'WIJNEGEM', MaxLength = 30; + BorgerhoutantwerpenLbl: Label 'BORGERHOUT (ANTWERPEN)', MaxLength = 30; + BorsbeekantwLbl: Label 'BORSBEEK (ANTW.)', MaxLength = 30; + WommelgemLbl: Label 'WOMMELGEM', MaxLength = 30; + MerksemantwerpenLbl: Label 'MERKSEM (ANTWERPEN)', MaxLength = 30; + EkerenantwerpenLbl: Label 'EKEREN (ANTWERPEN)', MaxLength = 30; + HerentalsLbl: Label 'HERENTALS', MaxLength = 30; + MorkhovenLbl: Label 'MORKHOVEN', MaxLength = 30; + NoorderwijkLbl: Label 'NOORDERWIJK', MaxLength = 30; + HallaarLbl: Label 'HALLAAR', MaxLength = 30; + HeistopdenbergLbl: Label 'HEIST-OP-DEN-BERG', MaxLength = 30; + BooischotLbl: Label 'BOOISCHOT', MaxLength = 30; + ItegemLbl: Label 'ITEGEM', MaxLength = 30; + WiekevorstLbl: Label 'WIEKEVORST', MaxLength = 30; + SchriekLbl: Label 'SCHRIEK', MaxLength = 30; + HerseltLbl: Label 'HERSELT', MaxLength = 30; + RamselLbl: Label 'RAMSEL', MaxLength = 30; + HoutvenneLbl: Label 'HOUTVENNE', MaxLength = 30; + HulshoutLbl: Label 'HULSHOUT', MaxLength = 30; + WestmeerbeekLbl: Label 'WESTMEERBEEK', MaxLength = 30; + MassenhovenLbl: Label 'MASSENHOVEN', MaxLength = 30; + VierselLbl: Label 'VIERSEL', MaxLength = 30; + ZandhovenLbl: Label 'ZANDHOVEN', MaxLength = 30; + PulderbosLbl: Label 'PULDERBOS', MaxLength = 30; + PulleLbl: Label 'PULLE', MaxLength = 30; + OlenLbl: Label 'OLEN', MaxLength = 30; + OevelLbl: Label 'OEVEL', MaxLength = 30; + TongerloantwLbl: Label 'TONGERLO (ANTW.)', MaxLength = 30; + WesterloLbl: Label 'WESTERLO', MaxLength = 30; + ZoerleparwijsLbl: Label 'ZOERLE-PARWIJS', MaxLength = 30; + HerenthoutLbl: Label 'HERENTHOUT', MaxLength = 30; + GierleLbl: Label 'GIERLE', MaxLength = 30; + LilleLbl: Label 'LILLE', MaxLength = 30; + PoederleeLbl: Label 'POEDERLEE', MaxLength = 30; + WechelderzandeLbl: Label 'WECHELDERZANDE', MaxLength = 30; + GrobbendonkLbl: Label 'GROBBENDONK', MaxLength = 30; + BouwelLbl: Label 'BOUWEL', MaxLength = 30; + VorselaarLbl: Label 'VORSELAAR', MaxLength = 30; + TurnhoutLbl: Label 'TURNHOUT', MaxLength = 30; + RijkevorselLbl: Label 'RIJKEVORSEL', MaxLength = 30; + HoogstratenLbl: Label 'HOOGSTRATEN', MaxLength = 30; + MeerLbl: Label 'MEER', MaxLength = 30; + MinderhoutLbl: Label 'MINDERHOUT', MaxLength = 30; + WortelLbl: Label 'WORTEL', MaxLength = 30; + MeerleLbl: Label 'MEERLE', MaxLength = 30; + MerksplasLbl: Label 'MERKSPLAS', MaxLength = 30; + BeerseLbl: Label 'BEERSE', MaxLength = 30; + VlimmerenLbl: Label 'VLIMMEREN', MaxLength = 30; + VosselaarLbl: Label 'VOSSELAAR', MaxLength = 30; + OudturnhoutLbl: Label 'OUD-TURNHOUT', MaxLength = 30; + ArendonkLbl: Label 'ARENDONK', MaxLength = 30; + RavelsLbl: Label 'RAVELS', MaxLength = 30; + WeeldeLbl: Label 'WEELDE', MaxLength = 30; + PoppelLbl: Label 'POPPEL', MaxLength = 30; + BaarlehertogLbl: Label 'BAARLE-HERTOG', MaxLength = 30; + MalleLbl: Label 'MALLE', MaxLength = 30; + OostmalleLbl: Label 'OOSTMALLE', MaxLength = 30; + WestmalleLbl: Label 'WESTMALLE', MaxLength = 30; + MolLbl: Label 'MOL', MaxLength = 30; + EindhoutLbl: Label 'EINDHOUT', MaxLength = 30; + LaakdalLbl: Label 'LAAKDAL', MaxLength = 30; + VorstkempenLbl: Label 'VORST (KEMPEN)', MaxLength = 30; + VarendonkLbl: Label 'VARENDONK', MaxLength = 30; + VeerleLbl: Label 'VEERLE', MaxLength = 30; + GeelLbl: Label 'GEEL', MaxLength = 30; + MeerhoutLbl: Label 'MEERHOUT', MaxLength = 30; + KasterleeLbl: Label 'KASTERLEE', MaxLength = 30; + LichtaartLbl: Label 'LICHTAART', MaxLength = 30; + TielenLbl: Label 'TIELEN', MaxLength = 30; + RetieLbl: Label 'RETIE', MaxLength = 30; + DesselLbl: Label 'DESSEL', MaxLength = 30; + BalenLbl: Label 'BALEN', MaxLength = 30; + OlmenLbl: Label 'OLMEN', MaxLength = 30; + KoningshooiktLbl: Label 'KONINGSHOOIKT', MaxLength = 30; + LierLbl: Label 'LIER', MaxLength = 30; + BroechemLbl: Label 'BROECHEM', MaxLength = 30; + EmblemLbl: Label 'EMBLEM', MaxLength = 30; + OelegemLbl: Label 'OELEGEM', MaxLength = 30; + RanstLbl: Label 'RANST', MaxLength = 30; + BoechoutLbl: Label 'BOECHOUT', MaxLength = 30; + VremdeLbl: Label 'VREMDE', MaxLength = 30; + HoveLbl: Label 'HOVE', MaxLength = 30; + LintLbl: Label 'LINT', MaxLength = 30; + KontichLbl: Label 'KONTICH', MaxLength = 30; + WaarloosLbl: Label 'WAARLOOS', MaxLength = 30; + BevelLbl: Label 'BEVEL', MaxLength = 30; + KesselLbl: Label 'KESSEL', MaxLength = 30; + NijlenLbl: Label 'NIJLEN', MaxLength = 30; + DuffelLbl: Label 'DUFFEL', MaxLength = 30; + BeerzelLbl: Label 'BEERZEL', MaxLength = 30; + PutteLbl: Label 'PUTTE', MaxLength = 30; + BerlaarLbl: Label 'BERLAAR', MaxLength = 30; + GestelLbl: Label 'GESTEL', MaxLength = 30; + BerchemantwerpenLbl: Label 'BERCHEM (ANTWERPEN)', MaxLength = 30; + WilrijkantwerpenLbl: Label 'WILRIJK (ANTWERPEN)', MaxLength = 30; + HemiksemLbl: Label 'HEMIKSEM', MaxLength = 30; + SchelleLbl: Label 'SCHELLE', MaxLength = 30; + AartselaarLbl: Label 'AARTSELAAR', MaxLength = 30; + MortselLbl: Label 'MORTSEL', MaxLength = 30; + EdegemLbl: Label 'EDEGEM', MaxLength = 30; + HobokenantwerpenLbl: Label 'HOBOKEN (ANTWERPEN)', MaxLength = 30; + MechelenLbl: Label 'MECHELEN', MaxLength = 30; + WalemLbl: Label 'WALEM', MaxLength = 30; + HeffenLbl: Label 'HEFFEN', MaxLength = 30; + HombeekLbl: Label 'HOMBEEK', MaxLength = 30; + LeestLbl: Label 'LEEST', MaxLength = 30; + MuizenmechelenLbl: Label 'MUIZEN (MECHELEN)', MaxLength = 30; + BonheidenLbl: Label 'BONHEIDEN', MaxLength = 30; + RijmenamLbl: Label 'RIJMENAM', MaxLength = 30; + BlaasveldLbl: Label 'BLAASVELD', MaxLength = 30; + HeindonkLbl: Label 'HEINDONK', MaxLength = 30; + TisseltLbl: Label 'TISSELT', MaxLength = 30; + WillebroekLbl: Label 'WILLEBROEK', MaxLength = 30; + ReetLbl: Label 'REET', MaxLength = 30; + RumstLbl: Label 'RUMST', MaxLength = 30; + TerhagenLbl: Label 'TERHAGEN', MaxLength = 30; + NielLbl: Label 'NIEL', MaxLength = 30; + BoomLbl: Label 'BOOM', MaxLength = 30; + SintkatelijnewaverLbl: Label 'SINT-KATELIJNE-WAVER', MaxLength = 30; + OnzelievevrouwwaverLbl: Label 'ONZE-LIEVE-VROUW-WAVER', MaxLength = 30; + BreendonkLbl: Label 'BREENDONK', MaxLength = 30; + LiezeleLbl: Label 'LIEZELE', MaxLength = 30; + PuursLbl: Label 'PUURS', MaxLength = 30; + RuisbroekantwLbl: Label 'RUISBROEK (ANTW.)', MaxLength = 30; + BornemLbl: Label 'BORNEM', MaxLength = 30; + HingeneLbl: Label 'HINGENE', MaxLength = 30; + MariekerkebornemLbl: Label 'MARIEKERKE (BORNEM)', MaxLength = 30; + WeertLbl: Label 'WEERT', MaxLength = 30; + LippeloLbl: Label 'LIPPELO', MaxLength = 30; + OppuursLbl: Label 'OPPUURS', MaxLength = 30; + SintamandsLbl: Label 'SINT-AMANDS', MaxLength = 30; + SchotenLbl: Label 'SCHOTEN', MaxLength = 30; + EssenLbl: Label 'ESSEN', MaxLength = 30; + KalmthoutLbl: Label 'KALMTHOUT', MaxLength = 30; + BrasschaatLbl: Label 'BRASSCHAAT', MaxLength = 30; + HoevenenLbl: Label 'HOEVENEN', MaxLength = 30; + StabroekLbl: Label 'STABROEK', MaxLength = 30; + KapellenantwLbl: Label 'KAPELLEN (ANTW.)', MaxLength = 30; + BrechtLbl: Label 'BRECHT', MaxLength = 30; + SintjobintgoorLbl: Label 'SINT-JOB-IN-''T-GOOR', MaxLength = 30; + SintlenaartsLbl: Label 'SINT-LENAARTS', MaxLength = 30; + SgravenwezelLbl: Label '''S GRAVENWEZEL', MaxLength = 30; + SchildeLbl: Label 'SCHILDE', MaxLength = 30; + HallekempenLbl: Label 'HALLE (KEMPEN)', MaxLength = 30; + ZoerselLbl: Label 'ZOERSEL', MaxLength = 30; + LoenhoutLbl: Label 'LOENHOUT', MaxLength = 30; + WuustwezelLbl: Label 'WUUSTWEZEL', MaxLength = 30; + LeuvenLbl: Label 'LEUVEN', MaxLength = 30; + HeverleeLbl: Label 'HEVERLEE', MaxLength = 30; + KesselloleuvenLbl: Label 'KESSEL-LO (LEUVEN)', MaxLength = 30; + WilseleLbl: Label 'WILSELE', MaxLength = 30; + WijgmaalbrabantLbl: Label 'WIJGMAAL (BRABANT)', MaxLength = 30; + HerentLbl: Label 'HERENT', MaxLength = 30; + VeltembeisemLbl: Label 'VELTEM-BEISEM', MaxLength = 30; + WinkseleLbl: Label 'WINKSELE', MaxLength = 30; + HuldenbergLbl: Label 'HULDENBERG', MaxLength = 30; + LoonbeekLbl: Label 'LOONBEEK', MaxLength = 30; + NeerijseLbl: Label 'NEERIJSE', MaxLength = 30; + OttenburgLbl: Label 'OTTENBURG', MaxLength = 30; + SintagatharodeLbl: Label 'SINT-AGATHA-RODE', MaxLength = 30; + OudheverleeLbl: Label 'OUD-HEVERLEE', MaxLength = 30; + SintjorisweertLbl: Label 'SINT-JORIS-WEERT', MaxLength = 30; + BlandenLbl: Label 'BLANDEN', MaxLength = 30; + HaasrodeLbl: Label 'HAASRODE', MaxLength = 30; + VaalbeekLbl: Label 'VAALBEEK', MaxLength = 30; + BertemLbl: Label 'BERTEM', MaxLength = 30; + KorbeekdijleLbl: Label 'KORBEEK-DIJLE', MaxLength = 30; + LeefdaalLbl: Label 'LEEFDAAL', MaxLength = 30; + KortenbergLbl: Label 'KORTENBERG', MaxLength = 30; + ErpskwerpsLbl: Label 'ERPS-KWERPS', MaxLength = 30; + EverbergLbl: Label 'EVERBERG', MaxLength = 30; + MeerbeekLbl: Label 'MEERBEEK', MaxLength = 30; + DuisburgLbl: Label 'DUISBURG', MaxLength = 30; + TervurenLbl: Label 'TERVUREN', MaxLength = 30; + VossemLbl: Label 'VOSSEM', MaxLength = 30; + OverijseLbl: Label 'OVERIJSE', MaxLength = 30; + RotselaarLbl: Label 'ROTSELAAR', MaxLength = 30; + WezemaalLbl: Label 'WEZEMAAL', MaxLength = 30; + WerchterLbl: Label 'WERCHTER', MaxLength = 30; + TremeloLbl: Label 'TREMELO', MaxLength = 30; + BaalLbl: Label 'BAAL', MaxLength = 30; + BegijnendijkLbl: Label 'BEGIJNENDIJK', MaxLength = 30; + BetekomLbl: Label 'BETEKOM', MaxLength = 30; + KeerbergenLbl: Label 'KEERBERGEN', MaxLength = 30; + HaachtLbl: Label 'HAACHT', MaxLength = 30; + TildonkLbl: Label 'TILDONK', MaxLength = 30; + WespelaarLbl: Label 'WESPELAAR', MaxLength = 30; + BoortmeerbeekLbl: Label 'BOORTMEERBEEK', MaxLength = 30; + HeverLbl: Label 'HEVER', MaxLength = 30; + AarschotLbl: Label 'AARSCHOT', MaxLength = 30; + GelrodeLbl: Label 'GELRODE', MaxLength = 30; + LangdorpLbl: Label 'LANGDORP', MaxLength = 30; + RillaarLbl: Label 'RILLAAR', MaxLength = 30; + LindenLbl: Label 'LINDEN', MaxLength = 30; + LubbeekLbl: Label 'LUBBEEK', MaxLength = 30; + BinkomLbl: Label 'BINKOM', MaxLength = 30; + PellenbergLbl: Label 'PELLENBERG', MaxLength = 30; + HolsbeekLbl: Label 'HOLSBEEK', MaxLength = 30; + KortrijkLbl: Label 'KORTRIJK', MaxLength = 30; + KortrijkdutselLbl: Label 'KORTRIJK-DUTSEL', MaxLength = 30; + SintpietersrodeLbl: Label 'SINT-PIETERS-RODE', MaxLength = 30; + NieuwrodeLbl: Label 'NIEUWRODE', MaxLength = 30; + ScherpenheuvelLbl: Label 'SCHERPENHEUVEL', MaxLength = 30; + ScherpenheuvelzichemLbl: Label 'SCHERPENHEUVEL-ZICHEM', MaxLength = 30; + AverbodeLbl: Label 'AVERBODE', MaxLength = 30; + ZichemLbl: Label 'ZICHEM', MaxLength = 30; + MesselbroekLbl: Label 'MESSELBROEK', MaxLength = 30; + TesteltLbl: Label 'TESTELT', MaxLength = 30; + DeurnebtLbl: Label 'DEURNE (BT.)', MaxLength = 30; + DiestLbl: Label 'DIEST', MaxLength = 30; + SchaffenLbl: Label 'SCHAFFEN', MaxLength = 30; + WebbekomLbl: Label 'WEBBEKOM', MaxLength = 30; + KaggevinneLbl: Label 'KAGGEVINNE', MaxLength = 30; + MolenstedeLbl: Label 'MOLENSTEDE', MaxLength = 30; + BostLbl: Label 'BOST', MaxLength = 30; + GoetsenhovenLbl: Label 'GOETSENHOVEN', MaxLength = 30; + HakendoverLbl: Label 'HAKENDOVER', MaxLength = 30; + KumtichLbl: Label 'KUMTICH', MaxLength = 30; + OorbeekLbl: Label 'OORBEEK', MaxLength = 30; + OplinterLbl: Label 'OPLINTER', MaxLength = 30; + SintmargrietehoutemtienenLbl: Label 'SINT-MARGRIETE-HOUTEM (TIENEN)', MaxLength = 30; + TienenLbl: Label 'TIENEN', MaxLength = 30; + VissenakenLbl: Label 'VISSENAKEN', MaxLength = 30; + HoegaardenLbl: Label 'HOEGAARDEN', MaxLength = 30; + MeldertbtLbl: Label 'MELDERT (BT.)', MaxLength = 30; + OutgaardenLbl: Label 'OUTGAARDEN', MaxLength = 30; + DrieslinterLbl: Label 'DRIESLINTER', MaxLength = 30; + LinterLbl: Label 'LINTER', MaxLength = 30; + MelkwezerLbl: Label 'MELKWEZER', MaxLength = 30; + NeerhespenLbl: Label 'NEERHESPEN', MaxLength = 30; + NeerlinterLbl: Label 'NEERLINTER', MaxLength = 30; + OrsmaalgussenhovenLbl: Label 'ORSMAAL-GUSSENHOVEN', MaxLength = 30; + OverhespenLbl: Label 'OVERHESPEN', MaxLength = 30; + WommersomLbl: Label 'WOMMERSOM', MaxLength = 30; + BierbeekLbl: Label 'BIERBEEK', MaxLength = 30; + KorbeekloLbl: Label 'KORBEEK-LO', MaxLength = 30; + LovenjoelLbl: Label 'LOVENJOEL', MaxLength = 30; + OpvelpLbl: Label 'OPVELP', MaxLength = 30; + BoutersemLbl: Label 'BOUTERSEM', MaxLength = 30; + KerkomLbl: Label 'KERKOM', MaxLength = 30; + NeervelpLbl: Label 'NEERVELP', MaxLength = 30; + RoosbeekLbl: Label 'ROOSBEEK', MaxLength = 30; + VertrijkLbl: Label 'VERTRIJK', MaxLength = 30; + WillebringenLbl: Label 'WILLEBRINGEN', MaxLength = 30; + BunsbeekLbl: Label 'BUNSBEEK', MaxLength = 30; + GlabbeekzuurbemdeLbl: Label 'GLABBEEK-ZUURBEMDE', MaxLength = 30; + KapellenbtLbl: Label 'KAPELLEN (BT.)', MaxLength = 30; + AttenrodeLbl: Label 'ATTENRODE', MaxLength = 30; + HouwaartLbl: Label 'HOUWAART', MaxLength = 30; + SintjoriswingeLbl: Label 'SINT-JORIS-WINGE', MaxLength = 30; + TieltbtLbl: Label 'TIELT (BT.)', MaxLength = 30; + TieltwingeLbl: Label 'TIELT-WINGE', MaxLength = 30; + MeenselkiezegemLbl: Label 'MEENSEL-KIEZEGEM', MaxLength = 30; + EliksemLbl: Label 'ELIKSEM', MaxLength = 30; + EzemaalLbl: Label 'EZEMAAL', MaxLength = 30; + LaarLbl: Label 'LAAR', MaxLength = 30; + LandenLbl: Label 'LANDEN', MaxLength = 30; + NeerwindenLbl: Label 'NEERWINDEN', MaxLength = 30; + OverwindenLbl: Label 'OVERWINDEN', MaxLength = 30; + RumsdorpLbl: Label 'RUMSDORP', MaxLength = 30; + WangeLbl: Label 'WANGE', MaxLength = 30; + WaasmontLbl: Label 'WAASMONT', MaxLength = 30; + WalsbetsLbl: Label 'WALSBETS', MaxLength = 30; + WalshoutemLbl: Label 'WALSHOUTEM', MaxLength = 30; + WezerenLbl: Label 'WEZEREN', MaxLength = 30; + AttenhovenLbl: Label 'ATTENHOVEN', MaxLength = 30; + NeerlandenLbl: Label 'NEERLANDEN', MaxLength = 30; + BudingenLbl: Label 'BUDINGEN', MaxLength = 30; + DormaalLbl: Label 'DORMAAL', MaxLength = 30; + HallebooienhovenLbl: Label 'HALLE-BOOIENHOVEN', MaxLength = 30; + HelenbosLbl: Label 'HELEN-BOS', MaxLength = 30; + ZoutleeuwLbl: Label 'ZOUTLEEUW', MaxLength = 30; + GeetbetsLbl: Label 'GEETBETS', MaxLength = 30; + GrazenLbl: Label 'GRAZEN', MaxLength = 30; + RummenLbl: Label 'RUMMEN', MaxLength = 30; + AssentLbl: Label 'ASSENT', MaxLength = 30; + BekkevoortLbl: Label 'BEKKEVOORT', MaxLength = 30; + MolenbeekwersbeekLbl: Label 'MOLENBEEK-WERSBEEK', MaxLength = 30; + KortenakenLbl: Label 'KORTENAKEN', MaxLength = 30; + RansbergLbl: Label 'RANSBERG', MaxLength = 30; + HoeledenLbl: Label 'HOELEDEN', MaxLength = 30; + KersbeekmiskomLbl: Label 'KERSBEEK-MISKOM', MaxLength = 30; + WaanrodeLbl: Label 'WAANRODE', MaxLength = 30; + HasseltLbl: Label 'HASSELT', MaxLength = 30; + SintlambrechtsherkLbl: Label 'SINT-LAMBRECHTS-HERK', MaxLength = 30; + WimmertingenLbl: Label 'WIMMERTINGEN', MaxLength = 30; + KermthasseltLbl: Label 'KERMT (HASSELT)', MaxLength = 30; + SpalbeekLbl: Label 'SPALBEEK', MaxLength = 30; + KuringenLbl: Label 'KURINGEN', MaxLength = 30; + StokrooieLbl: Label 'STOKROOIE', MaxLength = 30; + StevoortLbl: Label 'STEVOORT', MaxLength = 30; + ZonhovenLbl: Label 'ZONHOVEN', MaxLength = 30; + HelchterenLbl: Label 'HELCHTEREN', MaxLength = 30; + HouthalenLbl: Label 'HOUTHALEN', MaxLength = 30; + HouthalenhelchterenLbl: Label 'HOUTHALEN-HELCHTEREN', MaxLength = 30; + BerbroekLbl: Label 'BERBROEK', MaxLength = 30; + DonkLbl: Label 'DONK', MaxLength = 30; + HerkdestadLbl: Label 'HERK-DE-STAD', MaxLength = 30; + SchulenLbl: Label 'SCHULEN', MaxLength = 30; + HalenLbl: Label 'HALEN', MaxLength = 30; + LoksbergenLbl: Label 'LOKSBERGEN', MaxLength = 30; + ZelemLbl: Label 'ZELEM', MaxLength = 30; + HeusdenlimbLbl: Label 'HEUSDEN (LIMB.)', MaxLength = 30; + HeusdenzolderLbl: Label 'HEUSDEN-ZOLDER', MaxLength = 30; + ZolderLbl: Label 'ZOLDER', MaxLength = 30; + LinkhoutLbl: Label 'LINKHOUT', MaxLength = 30; + LummenLbl: Label 'LUMMEN', MaxLength = 30; + MeldertlimbLbl: Label 'MELDERT (LIMB.)', MaxLength = 30; + AlkenLbl: Label 'ALKEN', MaxLength = 30; + BeringenLbl: Label 'BERINGEN', MaxLength = 30; + BeverloLbl: Label 'BEVERLO', MaxLength = 30; + KoerselLbl: Label 'KOERSEL', MaxLength = 30; + PaalLbl: Label 'PAAL', MaxLength = 30; + DiepenbeekLbl: Label 'DIEPENBEEK', MaxLength = 30; + GenkLbl: Label 'GENK', MaxLength = 30; + GellikLbl: Label 'GELLIK', MaxLength = 30; + LanakenLbl: Label 'LANAKEN', MaxLength = 30; + NeerharenLbl: Label 'NEERHAREN', MaxLength = 30; + VeldwezeltLbl: Label 'VELDWEZELT', MaxLength = 30; + RekemLbl: Label 'REKEM', MaxLength = 30; + EisdenLbl: Label 'EISDEN', MaxLength = 30; + LeutLbl: Label 'LEUT', MaxLength = 30; + MaasmechelenLbl: Label 'MAASMECHELEN', MaxLength = 30; + MechelenaandemaasLbl: Label 'MECHELEN-AAN-DE-MAAS', MaxLength = 30; + MeeswijkLbl: Label 'MEESWIJK', MaxLength = 30; + OpgrimbieLbl: Label 'OPGRIMBIE', MaxLength = 30; + VuchtLbl: Label 'VUCHT', MaxLength = 30; + BoorsemLbl: Label 'BOORSEM', MaxLength = 30; + UikhovenLbl: Label 'UIKHOVEN', MaxLength = 30; + KessenichLbl: Label 'KESSENICH', MaxLength = 30; + KinrooiLbl: Label 'KINROOI', MaxLength = 30; + MolenbeerselLbl: Label 'MOLENBEERSEL', MaxLength = 30; + OphovenLbl: Label 'OPHOVEN', MaxLength = 30; + DilsenstokkemLbl: Label 'DILSEN-STOKKEM', MaxLength = 30; + ElenLbl: Label 'ELEN', MaxLength = 30; + LanklaarLbl: Label 'LANKLAAR', MaxLength = 30; + RotemLbl: Label 'ROTEM', MaxLength = 30; + StokkemLbl: Label 'STOKKEM', MaxLength = 30; + OpglabbeekLbl: Label 'OPGLABBEEK', MaxLength = 30; + AsLbl: Label 'AS', MaxLength = 30; + NielbijasLbl: Label 'NIEL-BIJ-AS', MaxLength = 30; + EllikomLbl: Label 'ELLIKOM', MaxLength = 30; + GruitrodeLbl: Label 'GRUITRODE', MaxLength = 30; + MeeuwenLbl: Label 'MEEUWEN', MaxLength = 30; + MeeuwengruitrodeLbl: Label 'MEEUWEN-GRUITRODE', MaxLength = 30; + NeerglabbeekLbl: Label 'NEERGLABBEEK', MaxLength = 30; + WijshagenLbl: Label 'WIJSHAGEN', MaxLength = 30; + MaaseikLbl: Label 'MAASEIK', MaxLength = 30; + NeeroeterenLbl: Label 'NEEROETEREN', MaxLength = 30; + OpoeterenLbl: Label 'OPOETEREN', MaxLength = 30; + ZutendaalLbl: Label 'ZUTENDAAL', MaxLength = 30; + BerglimbLbl: Label 'BERG (LIMB.)', MaxLength = 30; + DietsheurLbl: Label 'DIETS-HEUR', MaxLength = 30; + HarentongerenLbl: Label 'HAREN (TONGEREN)', MaxLength = 30; + HenisLbl: Label 'HENIS', MaxLength = 30; + KolmonttongerenLbl: Label 'KOLMONT (TONGEREN)', MaxLength = 30; + KoninksemLbl: Label 'KONINKSEM', MaxLength = 30; + LauwLbl: Label 'LAUW', MaxLength = 30; + MalLbl: Label 'MAL', MaxLength = 30; + NeerrepenLbl: Label 'NEERREPEN', MaxLength = 30; + NeremLbl: Label 'NEREM', MaxLength = 30; + OverrepenkolmontLbl: Label 'OVERREPEN (KOLMONT)', MaxLength = 30; + PiringenharenLbl: Label 'PIRINGEN (HAREN)', MaxLength = 30; + RiksingenLbl: Label 'RIKSINGEN', MaxLength = 30; + RuttenLbl: Label 'RUTTEN', MaxLength = 30; + SherenelderenLbl: Label '''S HERENELDEREN', MaxLength = 30; + SluizenLbl: Label 'SLUIZEN', MaxLength = 30; + TongerenLbl: Label 'TONGEREN', MaxLength = 30; + VrerenLbl: Label 'VREREN', MaxLength = 30; + WidooieharenLbl: Label 'WIDOOIE (HAREN)', MaxLength = 30; + HerstappeLbl: Label 'HERSTAPPE', MaxLength = 30; + KortessemLbl: Label 'KORTESSEM', MaxLength = 30; + VliermaalrootLbl: Label 'VLIERMAALROOT', MaxLength = 30; + WintershovenLbl: Label 'WINTERSHOVEN', MaxLength = 30; + GuigovenLbl: Label 'GUIGOVEN', MaxLength = 30; + VliermaalLbl: Label 'VLIERMAAL', MaxLength = 30; + HoeseltLbl: Label 'HOESELT', MaxLength = 30; + RomershovenLbl: Label 'ROMERSHOVEN', MaxLength = 30; + SinthuibrechtshernLbl: Label 'SINT-HUIBRECHTS-HERN', MaxLength = 30; + WermLbl: Label 'WERM', MaxLength = 30; + SchalkhovenLbl: Label 'SCHALKHOVEN', MaxLength = 30; + BeverstLbl: Label 'BEVERST', MaxLength = 30; + BilzenLbl: Label 'BILZEN', MaxLength = 30; + EigenbilzenLbl: Label 'EIGENBILZEN', MaxLength = 30; + GrotespouwenLbl: Label 'GROTE-SPOUWEN', MaxLength = 30; + HeesLbl: Label 'HEES', MaxLength = 30; + KleinespouwenLbl: Label 'KLEINE-SPOUWEN', MaxLength = 30; + MopertingenLbl: Label 'MOPERTINGEN', MaxLength = 30; + MunsterbilzenLbl: Label 'MUNSTERBILZEN', MaxLength = 30; + RijkhovenLbl: Label 'RIJKHOVEN', MaxLength = 30; + RosmeerLbl: Label 'ROSMEER', MaxLength = 30; + SpouwenLbl: Label 'SPOUWEN', MaxLength = 30; + WaltwilderLbl: Label 'WALTWILDER', MaxLength = 30; + MartenslindeLbl: Label 'MARTENSLINDE', MaxLength = 30; + HoelbeekLbl: Label 'HOELBEEK', MaxLength = 30; + GenoelselderenLbl: Label 'GENOELSELDEREN', MaxLength = 30; + HerderenLbl: Label 'HERDEREN', MaxLength = 30; + KanneLbl: Label 'KANNE', MaxLength = 30; + MembruggenLbl: Label 'MEMBRUGGEN', MaxLength = 30; + MillenLbl: Label 'MILLEN', MaxLength = 30; + RiemstLbl: Label 'RIEMST', MaxLength = 30; + ValmeerLbl: Label 'VAL-MEER', MaxLength = 30; + VlijtingenLbl: Label 'VLIJTINGEN', MaxLength = 30; + VroenhovenLbl: Label 'VROENHOVEN', MaxLength = 30; + ZichenzussenbolderLbl: Label 'ZICHEN-ZUSSEN-BOLDER', MaxLength = 30; + FouronsLbl: Label 'FOURONS', MaxLength = 30; + FouronsaintmartinLbl: Label 'FOURON-SAINT-MARTIN', MaxLength = 30; + MoelingenLbl: Label 'MOELINGEN', MaxLength = 30; + MoulandLbl: Label 'MOULAND', MaxLength = 30; + SintmartensvoerenLbl: Label 'SINT-MARTENS-VOEREN', MaxLength = 30; + VoerenLbl: Label 'VOEREN', MaxLength = 30; + RemersdaalLbl: Label 'REMERSDAAL', MaxLength = 30; + FouronsaintpierreLbl: Label 'FOURON-SAINT-PIERRE', MaxLength = 30; + SintpietersvoerenLbl: Label 'SINT-PIETERS-VOEREN', MaxLength = 30; + TeuvenLbl: Label 'TEUVEN', MaxLength = 30; + FouronlecomteLbl: Label 'FOURON-LE-COMTE', MaxLength = 30; + SGravenvoerenLbl: Label '''S GRAVENVOEREN', MaxLength = 30; + AalstlimbLbl: Label 'AALST (LIMB.)', MaxLength = 30; + BrustemLbl: Label 'BRUSTEM', MaxLength = 30; + EngelmanshovenLbl: Label 'ENGELMANSHOVEN', MaxLength = 30; + GelindenLbl: Label 'GELINDEN', MaxLength = 30; + GrootgelmenLbl: Label 'GROOT-GELMEN', MaxLength = 30; + HalmaalLbl: Label 'HALMAAL', MaxLength = 30; + KerkombijsinttruidenLbl: Label 'KERKOM-BIJ-SINT-TRUIDEN', MaxLength = 30; + OrdingenLbl: Label 'ORDINGEN', MaxLength = 30; + SinttruidenLbl: Label 'SINT-TRUIDEN', MaxLength = 30; + ZepperenLbl: Label 'ZEPPEREN', MaxLength = 30; + DurasLbl: Label 'DURAS', MaxLength = 30; + GorsemLbl: Label 'GORSEM', MaxLength = 30; + RunkelenLbl: Label 'RUNKELEN', MaxLength = 30; + WilderenLbl: Label 'WILDEREN', MaxLength = 30; + VelmLbl: Label 'VELM', MaxLength = 30; + BerlingenLbl: Label 'BERLINGEN', MaxLength = 30; + WellenLbl: Label 'WELLEN', MaxLength = 30; + HertenLbl: Label 'HERTEN', MaxLength = 30; + UlbeekLbl: Label 'ULBEEK', MaxLength = 30; + BommershovenharenLbl: Label 'BOMMERSHOVEN (HAREN)', MaxLength = 30; + BorgloonLbl: Label 'BORGLOON', MaxLength = 30; + BroekomLbl: Label 'BROEKOM', MaxLength = 30; + GorsopleeuwLbl: Label 'GORS-OPLEEUW', MaxLength = 30; + GotemLbl: Label 'GOTEM', MaxLength = 30; + GrootloonLbl: Label 'GROOT-LOON', MaxLength = 30; + HarenborgloonLbl: Label 'HAREN (BORGLOON)', MaxLength = 30; + HendriekenLbl: Label 'HENDRIEKEN', MaxLength = 30; + HoepertingenLbl: Label 'HOEPERTINGEN', MaxLength = 30; + JesserenkolmontLbl: Label 'JESSEREN (KOLMONT)', MaxLength = 30; + KernielLbl: Label 'KERNIEL', MaxLength = 30; + KolmontborgloonLbl: Label 'KOLMONT (BORGLOON)', MaxLength = 30; + KuttekovenLbl: Label 'KUTTEKOVEN', MaxLength = 30; + RijkelLbl: Label 'RIJKEL', MaxLength = 30; + VoortLbl: Label 'VOORT', MaxLength = 30; + BinderveldLbl: Label 'BINDERVELD', MaxLength = 30; + KozenLbl: Label 'KOZEN', MaxLength = 30; + NieuwerkerkenlimbLbl: Label 'NIEUWERKERKEN (LIMB.)', MaxLength = 30; + WijerLbl: Label 'WIJER', MaxLength = 30; + BatsheersLbl: Label 'BATSHEERS', MaxLength = 30; + BovelingenLbl: Label 'BOVELINGEN', MaxLength = 30; + GutschovenLbl: Label 'GUTSCHOVEN', MaxLength = 30; + HeersLbl: Label 'HEERS', MaxLength = 30; + HeksLbl: Label 'HEKS', MaxLength = 30; + HorpmaalLbl: Label 'HORPMAAL', MaxLength = 30; + KleingelmenLbl: Label 'KLEIN-GELMEN', MaxLength = 30; + MechelenbovelingenLbl: Label 'MECHELEN-BOVELINGEN', MaxLength = 30; + MettekovenLbl: Label 'METTEKOVEN', MaxLength = 30; + OpheersLbl: Label 'OPHEERS', MaxLength = 30; + RukkelingenloonLbl: Label 'RUKKELINGEN-LOON', MaxLength = 30; + VechmaalLbl: Label 'VECHMAAL', MaxLength = 30; + VeulenLbl: Label 'VEULEN', MaxLength = 30; + BoekhoutLbl: Label 'BOEKHOUT', MaxLength = 30; + GingelomLbl: Label 'GINGELOM', MaxLength = 30; + JeukLbl: Label 'JEUK', MaxLength = 30; + KortijsLbl: Label 'KORTIJS', MaxLength = 30; + MontenakenLbl: Label 'MONTENAKEN', MaxLength = 30; + NielbijsinttruidenLbl: Label 'NIEL-BIJ-SINT-TRUIDEN', MaxLength = 30; + VorsenLbl: Label 'VORSEN', MaxLength = 30; + BorloLbl: Label 'BORLO', MaxLength = 30; + BuvingenLbl: Label 'BUVINGEN', MaxLength = 30; + MielenbovenaalstLbl: Label 'MIELEN-BOVEN-AALST', MaxLength = 30; + MuizenlimbLbl: Label 'MUIZEN (LIMB.)', MaxLength = 30; + OverpeltLbl: Label 'OVERPELT', MaxLength = 30; + NeerpeltLbl: Label 'NEERPELT', MaxLength = 30; + SinthuibrechtslilleLbl: Label 'SINT-HUIBRECHTS-LILLE', MaxLength = 30; + LommelLbl: Label 'LOMMEL', MaxLength = 30; + AchelLbl: Label 'ACHEL', MaxLength = 30; + HamontLbl: Label 'HAMONT', MaxLength = 30; + HamontachelLbl: Label 'HAMONT-ACHEL', MaxLength = 30; + HechtelLbl: Label 'HECHTEL', MaxLength = 30; + HechtelekselLbl: Label 'HECHTEL-EKSEL', MaxLength = 30; + EkselLbl: Label 'EKSEL', MaxLength = 30; + HamLbl: Label 'HAM', MaxLength = 30; + KwaadmechelenLbl: Label 'KWAADMECHELEN', MaxLength = 30; + OosthamLbl: Label 'OOSTHAM', MaxLength = 30; + BocholtLbl: Label 'BOCHOLT', MaxLength = 30; + KaulilleLbl: Label 'KAULILLE', MaxLength = 30; + ReppelLbl: Label 'REPPEL', MaxLength = 30; + BeekLbl: Label 'BEEK', MaxLength = 30; + BreeLbl: Label 'BREE', MaxLength = 30; + GerdingenLbl: Label 'GERDINGEN', MaxLength = 30; + OpitterLbl: Label 'OPITTER', MaxLength = 30; + TongerlolimbLbl: Label 'TONGERLO (LIMB.)', MaxLength = 30; + LeopoldsburgLbl: Label 'LEOPOLDSBURG', MaxLength = 30; + HeppenLbl: Label 'HEPPEN', MaxLength = 30; + TessenderloLbl: Label 'TESSENDERLO', MaxLength = 30; + GrotebrogelLbl: Label 'GROTE-BROGEL', MaxLength = 30; + KleinebrogelLbl: Label 'KLEINE-BROGEL', MaxLength = 30; + PeerLbl: Label 'PEER', MaxLength = 30; + WijchmaalLbl: Label 'WIJCHMAAL', MaxLength = 30; + GlainLbl: Label 'GLAIN', MaxLength = 30; + LiegeLbl: Label 'LIEGE', MaxLength = 30; + LuikLbl: Label 'LUIK', MaxLength = 30; + RocourtLbl: Label 'ROCOURT', MaxLength = 30; + BressouxLbl: Label 'BRESSOUX', MaxLength = 30; + JupillesurmeuseLbl: Label 'JUPILLE-SUR-MEUSE', MaxLength = 30; + WandreLbl: Label 'WANDRE', MaxLength = 30; + GrivegneeLbl: Label 'GRIVEGNEE', MaxLength = 30; + AngleurLbl: Label 'ANGLEUR', MaxLength = 30; + CheneeLbl: Label 'CHENEE', MaxLength = 30; + HerstalLbl: Label 'HERSTAL', MaxLength = 30; + MilmortLbl: Label 'MILMORT', MaxLength = 30; + VottemLbl: Label 'VOTTEM', MaxLength = 30; + LiersLbl: Label 'LIERS', MaxLength = 30; + ChaudfontaineLbl: Label 'CHAUDFONTAINE', MaxLength = 30; + VauxsouschevremontLbl: Label 'VAUX-SOUS-CHEVREMONT', MaxLength = 30; + BeaufaysLbl: Label 'BEAUFAYS', MaxLength = 30; + EmbourgLbl: Label 'EMBOURG', MaxLength = 30; + BsdbelgstrijdkrduitslLbl: Label 'BSD (BELG. STRIJDKR. DUITSL.)', MaxLength = 30; + FbaforcesbelgesenallemLbl: Label 'FBA (FORCES BELGES EN ALLEM.)', MaxLength = 30; + BoncellesLbl: Label 'BONCELLES', MaxLength = 30; + SeraingLbl: Label 'SERAING', MaxLength = 30; + JemeppesurmeuseLbl: Label 'JEMEPPE-SUR-MEUSE', MaxLength = 30; + OugreeLbl: Label 'OUGREE', MaxLength = 30; + EheinLbl: Label 'EHEIN', MaxLength = 30; + NeupreLbl: Label 'NEUPRE', MaxLength = 30; + RotheuxrimiereLbl: Label 'ROTHEUX-RIMIERE', MaxLength = 30; + NeuvilleencondrozLbl: Label 'NEUVILLE-EN-CONDROZ', MaxLength = 30; + PlainevauxLbl: Label 'PLAINEVAUX', MaxLength = 30; + EsneuxLbl: Label 'ESNEUX', MaxLength = 30; + TilffLbl: Label 'TILFF', MaxLength = 30; + DolembreuxLbl: Label 'DOLEMBREUX', MaxLength = 30; + GomzeandoumontLbl: Label 'GOMZE-ANDOUMONT', MaxLength = 30; + RouvreuxLbl: Label 'ROUVREUX', MaxLength = 30; + SprimontLbl: Label 'SPRIMONT', MaxLength = 30; + LouveigneLbl: Label 'LOUVEIGNE', MaxLength = 30; + AnthisnesLbl: Label 'ANTHISNES', MaxLength = 30; + VillersauxtoursLbl: Label 'VILLERS-AUX-TOURS', MaxLength = 30; + HodyLbl: Label 'HODY', MaxLength = 30; + TavierLbl: Label 'TAVIER', MaxLength = 30; + ComblainaupontLbl: Label 'COMBLAIN-AU-PONT', MaxLength = 30; + PoulseurLbl: Label 'POULSEUR', MaxLength = 30; + ComblainfaironLbl: Label 'COMBLAIN-FAIRON', MaxLength = 30; + ComblainlatourLbl: Label 'COMBLAIN-LA-TOUR', MaxLength = 30; + HamoirLbl: Label 'HAMOIR', MaxLength = 30; + FilotLbl: Label 'FILOT', MaxLength = 30; + FerrieresLbl: Label 'FERRIERES', MaxLength = 30; + MyLbl: Label 'MY', MaxLength = 30; + VieuxvilleLbl: Label 'VIEUXVILLE', MaxLength = 30; + WerbomontLbl: Label 'WERBOMONT', MaxLength = 30; + XhorisLbl: Label 'XHORIS', MaxLength = 30; + BurdinneLbl: Label 'BURDINNE', MaxLength = 30; + HannecheLbl: Label 'HANNECHE', MaxLength = 30; + LamontzeeLbl: Label 'LAMONTZEE', MaxLength = 30; + MarneffeLbl: Label 'MARNEFFE', MaxLength = 30; + OteppeLbl: Label 'OTEPPE', MaxLength = 30; + HeronLbl: Label 'HERON', MaxLength = 30; + LavoirLbl: Label 'LAVOIR', MaxLength = 30; + WaretlevequeLbl: Label 'WARET-L''EVEQUE', MaxLength = 30; + CouthuinLbl: Label 'COUTHUIN', MaxLength = 30; + AcosseLbl: Label 'ACOSSE', MaxLength = 30; + AmbresinLbl: Label 'AMBRESIN', MaxLength = 30; + MeeffeLbl: Label 'MEEFFE', MaxLength = 30; + WasseigesLbl: Label 'WASSEIGES', MaxLength = 30; + BoelheLbl: Label 'BOELHE', MaxLength = 30; + GeerLbl: Label 'GEER', MaxLength = 30; + HollognesurgeerLbl: Label 'HOLLOGNE-SUR-GEER', MaxLength = 30; + LenssaintservaisLbl: Label 'LENS-SAINT-SERVAIS', MaxLength = 30; + OmalLbl: Label 'OMAL', MaxLength = 30; + DarionLbl: Label 'DARION', MaxLength = 30; + LigneyLbl: Label 'LIGNEY', MaxLength = 30; + BerlozLbl: Label 'BERLOZ', MaxLength = 30; + CorswaremLbl: Label 'CORSWAREM', MaxLength = 30; + RosouxcrenwickLbl: Label 'ROSOUX-CRENWICK', MaxLength = 30; + AvennesLbl: Label 'AVENNES', MaxLength = 30; + BraivesLbl: Label 'BRAIVES', MaxLength = 30; + CipletLbl: Label 'CIPLET', MaxLength = 30; + FallaisLbl: Label 'FALLAIS', MaxLength = 30; + FumalLbl: Label 'FUMAL', MaxLength = 30; + VilleenhesbayeLbl: Label 'VILLE-EN-HESBAYE', MaxLength = 30; + LatinneLbl: Label 'LATINNE', MaxLength = 30; + TourinnelgLbl: Label 'TOURINNE (LG.)', MaxLength = 30; + AbolensLbl: Label 'ABOLENS', MaxLength = 30; + AvernaslebauduinLbl: Label 'AVERNAS-LE-BAUDUIN', MaxLength = 30; + AvinLbl: Label 'AVIN', MaxLength = 30; + BertreeLbl: Label 'BERTREE', MaxLength = 30; + BlehenLbl: Label 'BLEHEN', MaxLength = 30; + CrasavernasLbl: Label 'CRAS-AVERNAS', MaxLength = 30; + CrehenLbl: Label 'CREHEN', MaxLength = 30; + GrandhalletLbl: Label 'GRAND-HALLET', MaxLength = 30; + HannutLbl: Label 'HANNUT', MaxLength = 30; + LenssaintremyLbl: Label 'LENS-SAINT-REMY', MaxLength = 30; + MerdorpLbl: Label 'MERDORP', MaxLength = 30; + MoxheLbl: Label 'MOXHE', MaxLength = 30; + PetithalletLbl: Label 'PETIT-HALLET', MaxLength = 30; + PoucetLbl: Label 'POUCET', MaxLength = 30; + ThisnesLbl: Label 'THISNES', MaxLength = 30; + TrogneeLbl: Label 'TROGNEE', MaxLength = 30; + VillerslepeuplierLbl: Label 'VILLERS-LE-PEUPLIER', MaxLength = 30; + WansinLbl: Label 'WANSIN', MaxLength = 30; + LincentLbl: Label 'LINCENT', MaxLength = 30; + PellainesLbl: Label 'PELLAINES', MaxLength = 30; + RacourLbl: Label 'RACOUR', MaxLength = 30; + BettincourtLbl: Label 'BETTINCOURT', MaxLength = 30; + BleretLbl: Label 'BLERET', MaxLength = 30; + BovenistierLbl: Label 'BOVENISTIER', MaxLength = 30; + GrandaxheLbl: Label 'GRAND-AXHE', MaxLength = 30; + LantremangeLbl: Label 'LANTREMANGE', MaxLength = 30; + OleyeLbl: Label 'OLEYE', MaxLength = 30; + WaremmeLbl: Label 'WAREMME', MaxLength = 30; + AineffeLbl: Label 'AINEFFE', MaxLength = 30; + BorlezLbl: Label 'BORLEZ', MaxLength = 30; + CelleslgLbl: Label 'CELLES (LG.)', MaxLength = 30; + FaimesLbl: Label 'FAIMES', MaxLength = 30; + LeswaleffesLbl: Label 'LES WALEFFES', MaxLength = 30; + ViemmeLbl: Label 'VIEMME', MaxLength = 30; + AwansLbl: Label 'AWANS', MaxLength = 30; + FoozLbl: Label 'FOOZ', MaxLength = 30; + OtheeLbl: Label 'OTHEE', MaxLength = 30; + VillerslevequeLbl: Label 'VILLERS-L''EVEQUE', MaxLength = 30; + HognoulLbl: Label 'HOGNOUL', MaxLength = 30; + FexhelehautclocherLbl: Label 'FEXHE-LE-HAUT-CLOCHER', MaxLength = 30; + FrelouxLbl: Label 'FRELOUX', MaxLength = 30; + NovillelgLbl: Label 'NOVILLE (LG.)', MaxLength = 30; + RolouxLbl: Label 'ROLOUX', MaxLength = 30; + VorouxgoreuxLbl: Label 'VOROUX-GOREUX', MaxLength = 30; + LamineLbl: Label 'LAMINE', MaxLength = 30; + MomalleLbl: Label 'MOMALLE', MaxLength = 30; + PoussetLbl: Label 'POUSSET', MaxLength = 30; + RemicourtLbl: Label 'REMICOURT', MaxLength = 30; + HodeigeLbl: Label 'HODEIGE', MaxLength = 30; + DonceelLbl: Label 'DONCEEL', MaxLength = 30; + HaneffeLbl: Label 'HANEFFE', MaxLength = 30; + JeneffelgLbl: Label 'JENEFFE (LG.)', MaxLength = 30; + LimontLbl: Label 'LIMONT', MaxLength = 30; + BergilersLbl: Label 'BERGILERS', MaxLength = 30; + GrandvilleLbl: Label 'GRANDVILLE', MaxLength = 30; + LenssurgeerLbl: Label 'LENS-SUR-GEER', MaxLength = 30; + OreyeLbl: Label 'OREYE', MaxLength = 30; + OtrangeLbl: Label 'OTRANGE', MaxLength = 30; + CrisneeLbl: Label 'CRISNEE', MaxLength = 30; + FizelemarsalLbl: Label 'FIZE-LE-MARSAL', MaxLength = 30; + KemexheLbl: Label 'KEMEXHE', MaxLength = 30; + OdeurLbl: Label 'ODEUR', MaxLength = 30; + ThysLbl: Label 'THYS', MaxLength = 30; + AwirsLbl: Label 'AWIRS', MaxLength = 30; + ChokierLbl: Label 'CHOKIER', MaxLength = 30; + FlemalleLbl: Label 'FLEMALLE', MaxLength = 30; + FlemallegrandeLbl: Label 'FLEMALLE-GRANDE', MaxLength = 30; + FlemallehauteLbl: Label 'FLEMALLE-HAUTE', MaxLength = 30; + GleixheLbl: Label 'GLEIXHE', MaxLength = 30; + IvozrametLbl: Label 'IVOZ-RAMET', MaxLength = 30; + MonslezliegeLbl: Label 'MONS-LEZ-LIEGE', MaxLength = 30; + MontegneeLbl: Label 'MONTEGNEE', MaxLength = 30; + SaintnicolaslgLbl: Label 'SAINT-NICOLAS (LG.)', MaxLength = 30; + TilleurLbl: Label 'TILLEUR', MaxLength = 30; + AnsLbl: Label 'ANS', MaxLength = 30; + LoncinLbl: Label 'LONCIN', MaxLength = 30; + AlleurLbl: Label 'ALLEUR', MaxLength = 30; + XhendremaelLbl: Label 'XHENDREMAEL', MaxLength = 30; + JuprelleLbl: Label 'JUPRELLE', MaxLength = 30; + LantinLbl: Label 'LANTIN', MaxLength = 30; + SlinsLbl: Label 'SLINS', MaxLength = 30; + VorouxlezliersLbl: Label 'VOROUX-LEZ-LIERS', MaxLength = 30; + PaifveLbl: Label 'PAIFVE', MaxLength = 30; + WihogneLbl: Label 'WIHOGNE', MaxLength = 30; + VillerssaintsimeonLbl: Label 'VILLERS-SAINT-SIMEON', MaxLength = 30; + FexheslinsLbl: Label 'FEXHE-SLINS', MaxLength = 30; + BiersetLbl: Label 'BIERSET', MaxLength = 30; + GraceberleurLbl: Label 'GRACE-BERLEUR', MaxLength = 30; + GracehollogneLbl: Label 'GRACE-HOLLOGNE', MaxLength = 30; + HollogneauxpierresLbl: Label 'HOLLOGNE-AUX-PIERRES', MaxLength = 30; + HorionhozemontLbl: Label 'HORION-HOZEMONT', MaxLength = 30; + VelrouxLbl: Label 'VELROUX', MaxLength = 30; + SaintgeorgessurmeuseLbl: Label 'SAINT-GEORGES-SUR-MEUSE', MaxLength = 30; + ClermontsoushuyLbl: Label 'CLERMONT-SOUS-HUY', MaxLength = 30; + EngisLbl: Label 'ENGIS', MaxLength = 30; + HermallesoushuyLbl: Label 'HERMALLE-SOUS-HUY', MaxLength = 30; + BenahinLbl: Label 'BEN-AHIN', MaxLength = 30; + HuyLbl: Label 'HUY', MaxLength = 30; + TihangeLbl: Label 'TIHANGE', MaxLength = 30; + AntheitLbl: Label 'ANTHEIT', MaxLength = 30; + BasohaLbl: Label 'BAS-OHA', MaxLength = 30; + HuccorgneLbl: Label 'HUCCORGNE', MaxLength = 30; + MohaLbl: Label 'MOHA', MaxLength = 30; + VinalmontLbl: Label 'VINALMONT', MaxLength = 30; + WanzeLbl: Label 'WANZE', MaxLength = 30; + FizefontaineLbl: Label 'FIZE-FONTAINE', MaxLength = 30; + VauxetborsetLbl: Label 'VAUX-ET-BORSET', MaxLength = 30; + VieuxwaleffeLbl: Label 'VIEUX-WALEFFE', MaxLength = 30; + VillerslebouilletLbl: Label 'VILLERS-LE-BOUILLET', MaxLength = 30; + WarnantdreyeLbl: Label 'WARNANT-DREYE', MaxLength = 30; + ChaponseraingLbl: Label 'CHAPON-SERAING', MaxLength = 30; + SerainglechateauLbl: Label 'SERAING-LE-CHATEAU', MaxLength = 30; + VerlaineLbl: Label 'VERLAINE', MaxLength = 30; + AmayLbl: Label 'AMAY', MaxLength = 30; + AmpsinLbl: Label 'AMPSIN', MaxLength = 30; + FloneLbl: Label 'FLONE', MaxLength = 30; + JehayLbl: Label 'JEHAY', MaxLength = 30; + OmbretLbl: Label 'OMBRET', MaxLength = 30; + NandrinLbl: Label 'NANDRIN', MaxLength = 30; + SaintseverinLbl: Label 'SAINT-SEVERIN', MaxLength = 30; + VillersletempleLbl: Label 'VILLERS-LE-TEMPLE', MaxLength = 30; + YerneefraineuxLbl: Label 'YERNEE-FRAINEUX', MaxLength = 30; + AbeeLbl: Label 'ABEE', MaxLength = 30; + FraitureLbl: Label 'FRAITURE', MaxLength = 30; + RamelotLbl: Label 'RAMELOT', MaxLength = 30; + SenyLbl: Label 'SENY', MaxLength = 30; + SoheittinlotLbl: Label 'SOHEIT-TINLOT', MaxLength = 30; + TinlotLbl: Label 'TINLOT', MaxLength = 30; + BoisetborsuLbl: Label 'BOIS-ET-BORSU', MaxLength = 30; + ClavierLbl: Label 'CLAVIER', MaxLength = 30; + LesavinsLbl: Label 'LES AVINS', MaxLength = 30; + OcquierLbl: Label 'OCQUIER', MaxLength = 30; + PailheLbl: Label 'PAILHE', MaxLength = 30; + TerwagneLbl: Label 'TERWAGNE', MaxLength = 30; + MarchinLbl: Label 'MARCHIN', MaxLength = 30; + VyleettharoulLbl: Label 'VYLE-ET-THAROUL', MaxLength = 30; + ModaveLbl: Label 'MODAVE', MaxLength = 30; + OutrelouxheLbl: Label 'OUTRELOUXHE', MaxLength = 30; + StreelezhuyLbl: Label 'STREE-LEZ-HUY', MaxLength = 30; + ViersetbarseLbl: Label 'VIERSET-BARSE', MaxLength = 30; + EllemelleLbl: Label 'ELLEMELLE', MaxLength = 30; + OuffetLbl: Label 'OUFFET', MaxLength = 30; + WarzeeLbl: Label 'WARZEE', MaxLength = 30; + LanayeLbl: Label 'LANAYE', MaxLength = 30; + LixheLbl: Label 'LIXHE', MaxLength = 30; + RichelleLbl: Label 'RICHELLE', MaxLength = 30; + ViseLbl: Label 'VISE', MaxLength = 30; + ArgenteauLbl: Label 'ARGENTEAU', MaxLength = 30; + CheratteLbl: Label 'CHERATTE', MaxLength = 30; + SaintandreLbl: Label 'SAINT-ANDRE', MaxLength = 30; + BerneauLbl: Label 'BERNEAU', MaxLength = 30; + BombayeLbl: Label 'BOMBAYE', MaxLength = 30; + DalhemLbl: Label 'DALHEM', MaxLength = 30; + FeneurLbl: Label 'FENEUR', MaxLength = 30; + MortrouxLbl: Label 'MORTROUX', MaxLength = 30; + NeufchateaulgLbl: Label 'NEUFCHATEAU (LG.)', MaxLength = 30; + WarsageLbl: Label 'WARSAGE', MaxLength = 30; + BellaireLbl: Label 'BELLAIRE', MaxLength = 30; + BeyneheusayLbl: Label 'BEYNE-HEUSAY', MaxLength = 30; + QueueduboisLbl: Label 'QUEUE-DU-BOIS', MaxLength = 30; + FleronLbl: Label 'FLERON', MaxLength = 30; + RetinneLbl: Label 'RETINNE', MaxLength = 30; + MagneeLbl: Label 'MAGNEE', MaxLength = 30; + RomseeLbl: Label 'ROMSEE', MaxLength = 30; + AyeneuxLbl: Label 'AYENEUX', MaxLength = 30; + MicherouxLbl: Label 'MICHEROUX', MaxLength = 30; + SoumagneLbl: Label 'SOUMAGNE', MaxLength = 30; + TigneeLbl: Label 'TIGNEE', MaxLength = 30; + EvegneeLbl: Label 'EVEGNEE', MaxLength = 30; + CerexheheuseuxLbl: Label 'CEREXHE-HEUSEUX', MaxLength = 30; + MelenLbl: Label 'MELEN', MaxLength = 30; + ChaineuxLbl: Label 'CHAINEUX', MaxLength = 30; + GrandrechainLbl: Label 'GRAND-RECHAIN', MaxLength = 30; + HerveLbl: Label 'HERVE', MaxLength = 30; + JulemontLbl: Label 'JULEMONT', MaxLength = 30; + BatticeLbl: Label 'BATTICE', MaxLength = 30; + XhendelesseLbl: Label 'XHENDELESSE', MaxLength = 30; + BollandLbl: Label 'BOLLAND', MaxLength = 30; + CharneuxLbl: Label 'CHARNEUX', MaxLength = 30; + BlegnyLbl: Label 'BLEGNY', MaxLength = 30; + MortierLbl: Label 'MORTIER', MaxLength = 30; + TrembleurLbl: Label 'TREMBLEUR', MaxLength = 30; + BarchonLbl: Label 'BARCHON', MaxLength = 30; + HousseLbl: Label 'HOUSSE', MaxLength = 30; + SaiveLbl: Label 'SAIVE', MaxLength = 30; + SaintremylgLbl: Label 'SAINT-REMY (LG.)', MaxLength = 30; + HermeeLbl: Label 'HERMEE', MaxLength = 30; + OupeyeLbl: Label 'OUPEYE', MaxLength = 30; + HermallesousargenteauLbl: Label 'HERMALLE-SOUS-ARGENTEAU', MaxLength = 30; + HeureleromainLbl: Label 'HEURE-LE-ROMAIN', MaxLength = 30; + HoutainsaintsimeonLbl: Label 'HOUTAIN-SAINT-SIMEON', MaxLength = 30; + VivegnisLbl: Label 'VIVEGNIS', MaxLength = 30; + HaccourtLbl: Label 'HACCOURT', MaxLength = 30; + BassengeLbl: Label 'BASSENGE', MaxLength = 30; + BoirsLbl: Label 'BOIRS', MaxLength = 30; + EbenemaelLbl: Label 'EBEN-EMAEL', MaxLength = 30; + GlonsLbl: Label 'GLONS', MaxLength = 30; + RoclengesurgeerLbl: Label 'ROCLENGE-SUR-GEER', MaxLength = 30; + WonckLbl: Label 'WONCK', MaxLength = 30; + EupenLbl: Label 'EUPEN', MaxLength = 30; + KettenisLbl: Label 'KETTENIS', MaxLength = 30; + LontzenLbl: Label 'LONTZEN', MaxLength = 30; + WalhornLbl: Label 'WALHORN', MaxLength = 30; + KelmisLbl: Label 'KELMIS', MaxLength = 30; + LacalamineLbl: Label 'LA CALAMINE', MaxLength = 30; + NeumoresnetLbl: Label 'NEU-MORESNET', MaxLength = 30; + HergenrathLbl: Label 'HERGENRATH', MaxLength = 30; + HausetLbl: Label 'HAUSET', MaxLength = 30; + RaerenLbl: Label 'RAEREN', MaxLength = 30; + EynattenLbl: Label 'EYNATTEN', MaxLength = 30; + ButgenbachLbl: Label 'BUTGENBACH', MaxLength = 30; + ElsenbornLbl: Label 'ELSENBORN', MaxLength = 30; + BullangeLbl: Label 'BULLANGE', MaxLength = 30; + BullingenLbl: Label 'BULLINGEN', MaxLength = 30; + ManderfeldLbl: Label 'MANDERFELD', MaxLength = 30; + RocherathLbl: Label 'ROCHERATH', MaxLength = 30; + AmbleveLbl: Label 'AMBLEVE', MaxLength = 30; + AmelLbl: Label 'AMEL', MaxLength = 30; + MeyerodeLbl: Label 'MEYERODE', MaxLength = 30; + HeppenbachLbl: Label 'HEPPENBACH', MaxLength = 30; + RechtLbl: Label 'RECHT', MaxLength = 30; + SaintvithLbl: Label 'SAINT-VITH', MaxLength = 30; + SanktvithLbl: Label 'SANKT VITH', MaxLength = 30; + SchoenbergLbl: Label 'SCHOENBERG', MaxLength = 30; + SchonbergLbl: Label 'SCHONBERG', MaxLength = 30; + LommersweilerLbl: Label 'LOMMERSWEILER', MaxLength = 30; + CrombachLbl: Label 'CROMBACH', MaxLength = 30; + BurgreulandLbl: Label 'BURG-REULAND', MaxLength = 30; + ReulandLbl: Label 'REULAND', MaxLength = 30; + ThommenLbl: Label 'THOMMEN', MaxLength = 30; + EnsivalLbl: Label 'ENSIVAL', MaxLength = 30; + LambermontLbl: Label 'LAMBERMONT', MaxLength = 30; + PetitrechainLbl: Label 'PETIT-RECHAIN', MaxLength = 30; + VerviersLbl: Label 'VERVIERS', MaxLength = 30; + StembertLbl: Label 'STEMBERT', MaxLength = 30; + HeusyLbl: Label 'HEUSY', MaxLength = 30; + DisonLbl: Label 'DISON', MaxLength = 30; + AndrimontLbl: Label 'ANDRIMONT', MaxLength = 30; + LimbourgLbl: Label 'LIMBOURG', MaxLength = 30; + BilstainLbl: Label 'BILSTAIN', MaxLength = 30; + GoeLbl: Label 'GOE', MaxLength = 30; + BaelenlgLbl: Label 'BAELEN (LG.)', MaxLength = 30; + MembachLbl: Label 'MEMBACH', MaxLength = 30; + WelkenraedtLbl: Label 'WELKENRAEDT', MaxLength = 30; + HenrichapelleLbl: Label 'HENRI-CHAPELLE', MaxLength = 30; + JalhayLbl: Label 'JALHAY', MaxLength = 30; + SartlezspaLbl: Label 'SART-LEZ-SPA', MaxLength = 30; + MontzenLbl: Label 'MONTZEN', MaxLength = 30; + MoresnetLbl: Label 'MORESNET', MaxLength = 30; + PlombieresLbl: Label 'PLOMBIERES', MaxLength = 30; + GemmenichLbl: Label 'GEMMENICH', MaxLength = 30; + SippenaekenLbl: Label 'SIPPENAEKEN', MaxLength = 30; + HombourgLbl: Label 'HOMBOURG', MaxLength = 30; + CornesseLbl: Label 'CORNESSE', MaxLength = 30; + PepinsterLbl: Label 'PEPINSTER', MaxLength = 30; + WegnezLbl: Label 'WEGNEZ', MaxLength = 30; + SoironLbl: Label 'SOIRON', MaxLength = 30; + ForetLbl: Label 'FORET', MaxLength = 30; + FraipontLbl: Label 'FRAIPONT', MaxLength = 30; + NessonvauxLbl: Label 'NESSONVAUX', MaxLength = 30; + TroozLbl: Label 'TROOZ', MaxLength = 30; + OlneLbl: Label 'OLNE', MaxLength = 30; + AubelLbl: Label 'AUBEL', MaxLength = 30; + ClermontlgLbl: Label 'CLERMONT (LG.)', MaxLength = 30; + ThimisterLbl: Label 'THIMISTER', MaxLength = 30; + ThimisterclermontLbl: Label 'THIMISTER-CLERMONT', MaxLength = 30; + SpaLbl: Label 'SPA', MaxLength = 30; + LareidLbl: Label 'LA REID', MaxLength = 30; + PolleurLbl: Label 'POLLEUR', MaxLength = 30; + TheuxLbl: Label 'THEUX', MaxLength = 30; + AywailleLbl: Label 'AYWAILLE', MaxLength = 30; + ErnonheidLbl: Label 'ERNONHEID', MaxLength = 30; + HarzeLbl: Label 'HARZE', MaxLength = 30; + SougneremouchampsLbl: Label 'SOUGNE-REMOUCHAMPS', MaxLength = 30; + FaymonvilleLbl: Label 'FAYMONVILLE', MaxLength = 30; + RobertvilleLbl: Label 'ROBERTVILLE', MaxLength = 30; + SourbrodtLbl: Label 'SOURBRODT', MaxLength = 30; + WaimesLbl: Label 'WAIMES', MaxLength = 30; + WeismesLbl: Label 'WEISMES', MaxLength = 30; + BellevauxligneuvilleLbl: Label 'BELLEVAUX-LIGNEUVILLE', MaxLength = 30; + BeverceLbl: Label 'BEVERCE', MaxLength = 30; + MalmedyLbl: Label 'MALMEDY', MaxLength = 30; + FrancorchampsLbl: Label 'FRANCORCHAMPS', MaxLength = 30; + StavelotLbl: Label 'STAVELOT', MaxLength = 30; + FosselgLbl: Label 'FOSSE (LG.)', MaxLength = 30; + TroispontsLbl: Label 'TROIS-PONTS', MaxLength = 30; + WanneLbl: Label 'WANNE', MaxLength = 30; + BassebodeuxLbl: Label 'BASSE-BODEUX', MaxLength = 30; + ChevronLbl: Label 'CHEVRON', MaxLength = 30; + LagleizeLbl: Label 'LA GLEIZE', MaxLength = 30; + LorceLbl: Label 'LORCE', MaxLength = 30; + RahierLbl: Label 'RAHIER', MaxLength = 30; + StoumontLbl: Label 'STOUMONT', MaxLength = 30; + ArbrefontaineLbl: Label 'ARBREFONTAINE', MaxLength = 30; + BraLbl: Label 'BRA', MaxLength = 30; + LierneuxLbl: Label 'LIERNEUX', MaxLength = 30; + BeezLbl: Label 'BEEZ', MaxLength = 30; + NamurLbl: Label 'NAMUR', MaxLength = 30; + BelgradeLbl: Label 'BELGRADE', MaxLength = 30; + SaintservaisLbl: Label 'SAINT-SERVAIS', MaxLength = 30; + SaintmarcLbl: Label 'SAINT-MARC', MaxLength = 30; + BougeLbl: Label 'BOUGE', MaxLength = 30; + ChampionLbl: Label 'CHAMPION', MaxLength = 30; + DaussoulxLbl: Label 'DAUSSOULX', MaxLength = 30; + FlawinneLbl: Label 'FLAWINNE', MaxLength = 30; + MalonneLbl: Label 'MALONNE', MaxLength = 30; + SuarleeLbl: Label 'SUARLEE', MaxLength = 30; + TemplouxLbl: Label 'TEMPLOUX', MaxLength = 30; + VedrinLbl: Label 'VEDRIN', MaxLength = 30; + BoninneLbl: Label 'BONINNE', MaxLength = 30; + CogneleeLbl: Label 'COGNELEE', MaxLength = 30; + GelbresseeLbl: Label 'GELBRESSEE', MaxLength = 30; + MarchelesdamesLbl: Label 'MARCHE-LES-DAMES', MaxLength = 30; + BeuzetLbl: Label 'BEUZET', MaxLength = 30; + ErnageLbl: Label 'ERNAGE', MaxLength = 30; + GemblouxLbl: Label 'GEMBLOUX', MaxLength = 30; + GrandmanilLbl: Label 'GRAND-MANIL', MaxLength = 30; + LonzeeLbl: Label 'LONZEE', MaxLength = 30; + SauveniereLbl: Label 'SAUVENIERE', MaxLength = 30; + GrandleezLbl: Label 'GRAND-LEEZ', MaxLength = 30; + BossiereLbl: Label 'BOSSIERE', MaxLength = 30; + BotheyLbl: Label 'BOTHEY', MaxLength = 30; + CorroylechateauLbl: Label 'CORROY-LE-CHATEAU', MaxLength = 30; + IsnesLbl: Label 'ISNES', MaxLength = 30; + MazyLbl: Label 'MAZY', MaxLength = 30; + ArsimontLbl: Label 'ARSIMONT', MaxLength = 30; + AuvelaisLbl: Label 'AUVELAIS', MaxLength = 30; + FalisolleLbl: Label 'FALISOLLE', MaxLength = 30; + KeumieeLbl: Label 'KEUMIEE', MaxLength = 30; + MoigneleeLbl: Label 'MOIGNELEE', MaxLength = 30; + SambrevilleLbl: Label 'SAMBREVILLE', MaxLength = 30; + TaminesLbl: Label 'TAMINES', MaxLength = 30; + VelainesursambreLbl: Label 'VELAINE-SUR-SAMBRE', MaxLength = 30; + AisemontLbl: Label 'AISEMONT', MaxLength = 30; + FosseslavilleLbl: Label 'FOSSES-LA-VILLE', MaxLength = 30; + LerouxLbl: Label 'LE ROUX', MaxLength = 30; + SarteustacheLbl: Label 'SART-EUSTACHE', MaxLength = 30; + SartsaintlaurentLbl: Label 'SART-SAINT-LAURENT', MaxLength = 30; + VitrivalLbl: Label 'VITRIVAL', MaxLength = 30; + EminesLbl: Label 'EMINES', MaxLength = 30; + LabruyereLbl: Label 'LA BRUYERE', MaxLength = 30; + RhisnesLbl: Label 'RHISNES', MaxLength = 30; + VillerslezheestLbl: Label 'VILLERS-LEZ-HEEST', MaxLength = 30; + WarisoulxLbl: Label 'WARISOULX', MaxLength = 30; + BovesseLbl: Label 'BOVESSE', MaxLength = 30; + MeuxLbl: Label 'MEUX', MaxLength = 30; + SaintdenisbovesseLbl: Label 'SAINT-DENIS-BOVESSE', MaxLength = 30; + DaveLbl: Label 'DAVE', MaxLength = 30; + JambesnamurLbl: Label 'JAMBES (NAMUR)', MaxLength = 30; + NaninneLbl: Label 'NANINNE', MaxLength = 30; + WepionLbl: Label 'WEPION', MaxLength = 30; + WierdeLbl: Label 'WIERDE', MaxLength = 30; + ErpentLbl: Label 'ERPENT', MaxLength = 30; + LivessurmeuseLbl: Label 'LIVES-SUR-MEUSE', MaxLength = 30; + LoyersLbl: Label 'LOYERS', MaxLength = 30; + BoigneeLbl: Label 'BOIGNEE', MaxLength = 30; + LignyLbl: Label 'LIGNY', MaxLength = 30; + SombreffeLbl: Label 'SOMBREFFE', MaxLength = 30; + TongrinneLbl: Label 'TONGRINNE', MaxLength = 30; + FloreffeLbl: Label 'FLOREFFE', MaxLength = 30; + FloriffouxLbl: Label 'FLORIFFOUX', MaxLength = 30; + FraniereLbl: Label 'FRANIERE', MaxLength = 30; + SoyenamLbl: Label 'SOYE (NAM.)', MaxLength = 30; + ArbrenamLbl: Label 'ARBRE (NAM.)', MaxLength = 30; + BoisdevillersLbl: Label 'BOIS-DE-VILLERS', MaxLength = 30; + LesveLbl: Label 'LESVE', MaxLength = 30; + LustinLbl: Label 'LUSTIN', MaxLength = 30; + ProfondevilleLbl: Label 'PROFONDEVILLE', MaxLength = 30; + RiviereLbl: Label 'RIVIERE', MaxLength = 30; + BalatreLbl: Label 'BALATRE', MaxLength = 30; + HamsursambreLbl: Label 'HAM-SUR-SAMBRE', MaxLength = 30; + JemeppesursambreLbl: Label 'JEMEPPE-SUR-SAMBRE', MaxLength = 30; + MornimontLbl: Label 'MORNIMONT', MaxLength = 30; + MoustiersursambreLbl: Label 'MOUSTIER-SUR-SAMBRE', MaxLength = 30; + OnozLbl: Label 'ONOZ', MaxLength = 30; + SaintmartinLbl: Label 'SAINT-MARTIN', MaxLength = 30; + SpyLbl: Label 'SPY', MaxLength = 30; + AndenneLbl: Label 'ANDENNE', MaxLength = 30; + BonnevilleLbl: Label 'BONNEVILLE', MaxLength = 30; + CoutisseLbl: Label 'COUTISSE', MaxLength = 30; + LandenneLbl: Label 'LANDENNE', MaxLength = 30; + MaizeretLbl: Label 'MAIZERET', MaxLength = 30; + NamecheLbl: Label 'NAMECHE', MaxLength = 30; + SclaynLbl: Label 'SCLAYN', MaxLength = 30; + SeillesLbl: Label 'SEILLES', MaxLength = 30; + ThonLbl: Label 'THON', MaxLength = 30; + VezinLbl: Label 'VEZIN', MaxLength = 30; + AischeenrefailLbl: Label 'AISCHE-EN-REFAIL', MaxLength = 30; + BolinneLbl: Label 'BOLINNE', MaxLength = 30; + BoneffeLbl: Label 'BONEFFE', MaxLength = 30; + BranchonLbl: Label 'BRANCHON', MaxLength = 30; + DhuyLbl: Label 'DHUY', MaxLength = 30; + EghezeeLbl: Label 'EGHEZEE', MaxLength = 30; + HanretLbl: Label 'HANRET', MaxLength = 30; + LeuzenamLbl: Label 'LEUZE (NAM.)', MaxLength = 30; + LiernuLbl: Label 'LIERNU', MaxLength = 30; + LongchampsnamLbl: Label 'LONGCHAMPS (NAM.)', MaxLength = 30; + MehaigneLbl: Label 'MEHAIGNE', MaxLength = 30; + NovillesurmehaigneLbl: Label 'NOVILLE-SUR-MEHAIGNE', MaxLength = 30; + SaintgermainLbl: Label 'SAINT-GERMAIN', MaxLength = 30; + TaviersnamLbl: Label 'TAVIERS (NAM.)', MaxLength = 30; + UpignyLbl: Label 'UPIGNY', MaxLength = 30; + WaretlachausseeLbl: Label 'WARET-LA-CHAUSSEE', MaxLength = 30; + AssesseLbl: Label 'ASSESSE', MaxLength = 30; + MaillenLbl: Label 'MAILLEN', MaxLength = 30; + SartbernardLbl: Label 'SART-BERNARD', MaxLength = 30; + CrupetLbl: Label 'CRUPET', MaxLength = 30; + SorinnelalongueLbl: Label 'SORINNE-LA-LONGUE', MaxLength = 30; + FloreeLbl: Label 'FLOREE', MaxLength = 30; + CourriereLbl: Label 'COURRIERE', MaxLength = 30; + FaulxlestombesLbl: Label 'FAULX-LES-TOMBES', MaxLength = 30; + GesvesLbl: Label 'GESVES', MaxLength = 30; + HaltinneLbl: Label 'HALTINNE', MaxLength = 30; + MozetLbl: Label 'MOZET', MaxLength = 30; + SoreeLbl: Label 'SOREE', MaxLength = 30; + EveletteLbl: Label 'EVELETTE', MaxLength = 30; + OheyLbl: Label 'OHEY', MaxLength = 30; + HaillotLbl: Label 'HAILLOT', MaxLength = 30; + PerwezhaillotLbl: Label 'PERWEZ-HAILLOT', MaxLength = 30; + GoesnesLbl: Label 'GOESNES', MaxLength = 30; + JalletLbl: Label 'JALLET', MaxLength = 30; + HamoisLbl: Label 'HAMOIS', MaxLength = 30; + NatoyeLbl: Label 'NATOYE', MaxLength = 30; + MohivilleLbl: Label 'MOHIVILLE', MaxLength = 30; + ScyLbl: Label 'SCY', MaxLength = 30; + AchetLbl: Label 'ACHET', MaxLength = 30; + EmptinneLbl: Label 'EMPTINNE', MaxLength = 30; + SchaltinLbl: Label 'SCHALTIN', MaxLength = 30; + BarvauxcondrozLbl: Label 'BARVAUX-CONDROZ', MaxLength = 30; + FlostoyLbl: Label 'FLOSTOY', MaxLength = 30; + HavelangeLbl: Label 'HAVELANGE', MaxLength = 30; + JeneffenamLbl: Label 'JENEFFE (NAM.)', MaxLength = 30; + PorcheressenamLbl: Label 'PORCHERESSE (NAM.)', MaxLength = 30; + VerleeLbl: Label 'VERLEE', MaxLength = 30; + MeanLbl: Label 'MEAN', MaxLength = 30; + MaffeLbl: Label 'MAFFE', MaxLength = 30; + MiecretLbl: Label 'MIECRET', MaxLength = 30; + BaillonvilleLbl: Label 'BAILLONVILLE', MaxLength = 30; + BonsinLbl: Label 'BONSIN', MaxLength = 30; + HeurenamLbl: Label 'HEURE (NAM.)', MaxLength = 30; + HogneLbl: Label 'HOGNE', MaxLength = 30; + NettinneLbl: Label 'NETTINNE', MaxLength = 30; + NoiseuxLbl: Label 'NOISEUX', MaxLength = 30; + SinsinLbl: Label 'SINSIN', MaxLength = 30; + SommeleuzeLbl: Label 'SOMME-LEUZE', MaxLength = 30; + WailletLbl: Label 'WAILLET', MaxLength = 30; + BierwartLbl: Label 'BIERWART', MaxLength = 30; + CortilwodonLbl: Label 'CORTIL-WODON', MaxLength = 30; + FernelmontLbl: Label 'FERNELMONT', MaxLength = 30; + ForvilleLbl: Label 'FORVILLE', MaxLength = 30; + FrancwaretLbl: Label 'FRANC-WARET', MaxLength = 30; + HemptinnefernelmontLbl: Label 'HEMPTINNE (FERNELMONT)', MaxLength = 30; + HingeonLbl: Label 'HINGEON', MaxLength = 30; + MarchoveletteLbl: Label 'MARCHOVELETTE', MaxLength = 30; + NovillelesboisLbl: Label 'NOVILLE-LES-BOIS', MaxLength = 30; + PontillasLbl: Label 'PONTILLAS', MaxLength = 30; + TillierLbl: Label 'TILLIER', MaxLength = 30; + AnseremmeLbl: Label 'ANSEREMME', MaxLength = 30; + BouvignessurmeuseLbl: Label 'BOUVIGNES-SUR-MEUSE', MaxLength = 30; + DinantLbl: Label 'DINANT', MaxLength = 30; + DrehanceLbl: Label 'DREHANCE', MaxLength = 30; + FalmagneLbl: Label 'FALMAGNE', MaxLength = 30; + FalmignoulLbl: Label 'FALMIGNOUL', MaxLength = 30; + FurfoozLbl: Label 'FURFOOZ', MaxLength = 30; + LisogneLbl: Label 'LISOGNE', MaxLength = 30; + ThynesLbl: Label 'THYNES', MaxLength = 30; + SorinnesLbl: Label 'SORINNES', MaxLength = 30; + FoynotredameLbl: Label 'FOY-NOTRE-DAME', MaxLength = 30; + AntheeLbl: Label 'ANTHEE', MaxLength = 30; + OnhayeLbl: Label 'ONHAYE', MaxLength = 30; + ServilleLbl: Label 'SERVILLE', MaxLength = 30; + FalaenLbl: Label 'FALAEN', MaxLength = 30; + SommiereLbl: Label 'SOMMIERE', MaxLength = 30; + WeillenLbl: Label 'WEILLEN', MaxLength = 30; + GerinLbl: Label 'GERIN', MaxLength = 30; + DorinneLbl: Label 'DORINNE', MaxLength = 30; + DurnalLbl: Label 'DURNAL', MaxLength = 30; + EvrehaillesLbl: Label 'EVREHAILLES', MaxLength = 30; + GodinneLbl: Label 'GODINNE', MaxLength = 30; + HouxLbl: Label 'HOUX', MaxLength = 30; + MontnamLbl: Label 'MONT (NAM.)', MaxLength = 30; + PurnodeLbl: Label 'PURNODE', MaxLength = 30; + SpontinLbl: Label 'SPONTIN', MaxLength = 30; + YvoirLbl: Label 'YVOIR', MaxLength = 30; + AnheeLbl: Label 'ANHEE', MaxLength = 30; + AnnevoierouillonLbl: Label 'ANNEVOIE-ROUILLON', MaxLength = 30; + BioulLbl: Label 'BIOUL', MaxLength = 30; + DeneeLbl: Label 'DENEE', MaxLength = 30; + HautlewastiaLbl: Label 'HAUT-LE-WASTIA', MaxLength = 30; + SosoyeLbl: Label 'SOSOYE', MaxLength = 30; + WarnantLbl: Label 'WARNANT', MaxLength = 30; + HastiereLbl: Label 'HASTIERE', MaxLength = 30; + HastierelavauxLbl: Label 'HASTIERE-LAVAUX', MaxLength = 30; + HermetonsurmeuseLbl: Label 'HERMETON-SUR-MEUSE', MaxLength = 30; + WaulsortLbl: Label 'WAULSORT', MaxLength = 30; + HastierepardelaLbl: Label 'HASTIERE-PAR-DELA', MaxLength = 30; + BlaimontLbl: Label 'BLAIMONT', MaxLength = 30; + HeerLbl: Label 'HEER', MaxLength = 30; + AgimontLbl: Label 'AGIMONT', MaxLength = 30; + AlleLbl: Label 'ALLE', MaxLength = 30; + BagimontLbl: Label 'BAGIMONT', MaxLength = 30; + BohanLbl: Label 'BOHAN', MaxLength = 30; + ChairiereLbl: Label 'CHAIRIERE', MaxLength = 30; + LaforetLbl: Label 'LAFORET', MaxLength = 30; + MembreLbl: Label 'MEMBRE', MaxLength = 30; + MouzaiveLbl: Label 'MOUZAIVE', MaxLength = 30; + NafraitureLbl: Label 'NAFRAITURE', MaxLength = 30; + OrchimontLbl: Label 'ORCHIMONT', MaxLength = 30; + PussemangeLbl: Label 'PUSSEMANGE', MaxLength = 30; + SugnyLbl: Label 'SUGNY', MaxLength = 30; + VressesursemoisLbl: Label 'VRESSE-SUR-SEMOIS', MaxLength = 30; + BaillamontLbl: Label 'BAILLAMONT', MaxLength = 30; + BellefontainenamLbl: Label 'BELLEFONTAINE (NAM.)', MaxLength = 30; + BievreLbl: Label 'BIEVRE', MaxLength = 30; + CornimontLbl: Label 'CORNIMONT', MaxLength = 30; + GraideLbl: Label 'GRAIDE', MaxLength = 30; + GrosfaysLbl: Label 'GROS-FAYS', MaxLength = 30; + MonceauenardenneLbl: Label 'MONCEAU-EN-ARDENNE', MaxLength = 30; + NaomeLbl: Label 'NAOME', MaxLength = 30; + OizyLbl: Label 'OIZY', MaxLength = 30; + PetitfaysLbl: Label 'PETIT-FAYS', MaxLength = 30; + CiergnonLbl: Label 'CIERGNON', MaxLength = 30; + FinnevauxLbl: Label 'FINNEVAUX', MaxLength = 30; + HouyetLbl: Label 'HOUYET', MaxLength = 30; + HulsonniauxLbl: Label 'HULSONNIAUX', MaxLength = 30; + MesnilegliseLbl: Label 'MESNIL-EGLISE', MaxLength = 30; + MesnilsaintblaiseLbl: Label 'MESNIL-SAINT-BLAISE', MaxLength = 30; + CellesnamLbl: Label 'CELLES (NAM.)', MaxLength = 30; + CustinneLbl: Label 'CUSTINNE', MaxLength = 30; + HourLbl: Label 'HOUR', MaxLength = 30; + WanlinLbl: Label 'WANLIN', MaxLength = 30; + BaronvilleLbl: Label 'BARONVILLE', MaxLength = 30; + BeauraingLbl: Label 'BEAURAING', MaxLength = 30; + DionLbl: Label 'DION', MaxLength = 30; + FelenneLbl: Label 'FELENNE', MaxLength = 30; + FeschauxLbl: Label 'FESCHAUX', MaxLength = 30; + HonnayLbl: Label 'HONNAY', MaxLength = 30; + JavingueLbl: Label 'JAVINGUE', MaxLength = 30; + VonecheLbl: Label 'VONECHE', MaxLength = 30; + WancennesLbl: Label 'WANCENNES', MaxLength = 30; + WinenneLbl: Label 'WINENNE', MaxLength = 30; + WiesmeLbl: Label 'WIESME', MaxLength = 30; + FocantLbl: Label 'FOCANT', MaxLength = 30; + MartouzinneuvilleLbl: Label 'MARTOUZIN-NEUVILLE', MaxLength = 30; + PondromeLbl: Label 'PONDROME', MaxLength = 30; + BourseigneneuveLbl: Label 'BOURSEIGNE-NEUVE', MaxLength = 30; + BourseignevieilleLbl: Label 'BOURSEIGNE-VIEILLE', MaxLength = 30; + GedinneLbl: Label 'GEDINNE', MaxLength = 30; + HoudremontLbl: Label 'HOUDREMONT', MaxLength = 30; + LouettesaintdenisLbl: Label 'LOUETTE-SAINT-DENIS', MaxLength = 30; + LouettesaintpierreLbl: Label 'LOUETTE-SAINT-PIERRE', MaxLength = 30; + MalvoisinLbl: Label 'MALVOISIN', MaxLength = 30; + PatigniesLbl: Label 'PATIGNIES', MaxLength = 30; + RienneLbl: Label 'RIENNE', MaxLength = 30; + SartcustinneLbl: Label 'SART-CUSTINNE', MaxLength = 30; + VencimontLbl: Label 'VENCIMONT', MaxLength = 30; + WillerzieLbl: Label 'WILLERZIE', MaxLength = 30; + FroidfontaineLbl: Label 'FROIDFONTAINE', MaxLength = 30; + AveetauffeLbl: Label 'AVE-ET-AUFFE', MaxLength = 30; + BuissonvilleLbl: Label 'BUISSONVILLE', MaxLength = 30; + EpraveLbl: Label 'EPRAVE', MaxLength = 30; + HansurlesseLbl: Label 'HAN-SUR-LESSE', MaxLength = 30; + JemelleLbl: Label 'JEMELLE', MaxLength = 30; + LavauxsainteanneLbl: Label 'LAVAUX-SAINTE-ANNE', MaxLength = 30; + LessiveLbl: Label 'LESSIVE', MaxLength = 30; + MontgauthierLbl: Label 'MONT-GAUTHIER', MaxLength = 30; + RochefortLbl: Label 'ROCHEFORT', MaxLength = 30; + VillerssurlesseLbl: Label 'VILLERS-SUR-LESSE', MaxLength = 30; + WavreilleLbl: Label 'WAVREILLE', MaxLength = 30; + AcheneLbl: Label 'ACHENE', MaxLength = 30; + BraibantLbl: Label 'BRAIBANT', MaxLength = 30; + ChevetogneLbl: Label 'CHEVETOGNE', MaxLength = 30; + CineyLbl: Label 'CINEY', MaxLength = 30; + ConneuxLbl: Label 'CONNEUX', MaxLength = 30; + HaversinLbl: Label 'HAVERSIN', MaxLength = 30; + LeignonLbl: Label 'LEIGNON', MaxLength = 30; + PessouxLbl: Label 'PESSOUX', MaxLength = 30; + SerinchampsLbl: Label 'SERINCHAMPS', MaxLength = 30; + SovetLbl: Label 'SOVET', MaxLength = 30; + FagnolleLbl: Label 'FAGNOLLE', MaxLength = 30; + FranchimontLbl: Label 'FRANCHIMONT', MaxLength = 30; + JamagneLbl: Label 'JAMAGNE', MaxLength = 30; + JamiolleLbl: Label 'JAMIOLLE', MaxLength = 30; + MerlemontLbl: Label 'MERLEMONT', MaxLength = 30; + NeuvillephilippevilleLbl: Label 'NEUVILLE (PHILIPPEVILLE)', MaxLength = 30; + OmezeeLbl: Label 'OMEZEE', MaxLength = 30; + PhilippevilleLbl: Label 'PHILIPPEVILLE', MaxLength = 30; + RolyLbl: Label 'ROLY', MaxLength = 30; + RomedenneLbl: Label 'ROMEDENNE', MaxLength = 30; + SamartLbl: Label 'SAMART', MaxLength = 30; + SartenfagneLbl: Label 'SART-EN-FAGNE', MaxLength = 30; + SautourLbl: Label 'SAUTOUR', MaxLength = 30; + SuriceLbl: Label 'SURICE', MaxLength = 30; + VillersenfagneLbl: Label 'VILLERS-EN-FAGNE', MaxLength = 30; + VillerslegambonLbl: Label 'VILLERS-LE-GAMBON', MaxLength = 30; + VodeceeLbl: Label 'VODECEE', MaxLength = 30; + CorenneLbl: Label 'CORENNE', MaxLength = 30; + FlavionLbl: Label 'FLAVION', MaxLength = 30; + FlorennesLbl: Label 'FLORENNES', MaxLength = 30; + HemptinnelezflorennesLbl: Label 'HEMPTINNE-LEZ-FLORENNES', MaxLength = 30; + MorvilleLbl: Label 'MORVILLE', MaxLength = 30; + RoseeLbl: Label 'ROSEE', MaxLength = 30; + SaintaubinLbl: Label 'SAINT-AUBIN', MaxLength = 30; + HanzinelleLbl: Label 'HANZINELLE', MaxLength = 30; + HanzinneLbl: Label 'HANZINNE', MaxLength = 30; + MorialmeLbl: Label 'MORIALME', MaxLength = 30; + ThylebauduinLbl: Label 'THY-LE-BAUDUIN', MaxLength = 30; + CerfontaineLbl: Label 'CERFONTAINE', MaxLength = 30; + DaussoisLbl: Label 'DAUSSOIS', MaxLength = 30; + SenzeilleLbl: Label 'SENZEILLE', MaxLength = 30; + SilenrieuxLbl: Label 'SILENRIEUX', MaxLength = 30; + SoumoyLbl: Label 'SOUMOY', MaxLength = 30; + VillersdeuxeglisesLbl: Label 'VILLERS-DEUX-EGLISES', MaxLength = 30; + BiesmeLbl: Label 'BIESME', MaxLength = 30; + BiesmereeLbl: Label 'BIESMEREE', MaxLength = 30; + GrauxLbl: Label 'GRAUX', MaxLength = 30; + MettetLbl: Label 'METTET', MaxLength = 30; + OretLbl: Label 'ORET', MaxLength = 30; + SaintgerardLbl: Label 'SAINT-GERARD', MaxLength = 30; + FurnauxLbl: Label 'FURNAUX', MaxLength = 30; + ErmetonsurbiertLbl: Label 'ERMETON-SUR-BIERT', MaxLength = 30; + StaveLbl: Label 'STAVE', MaxLength = 30; + CastillonLbl: Label 'CASTILLON', MaxLength = 30; + ChastresLbl: Label 'CHASTRES', MaxLength = 30; + ClermontnamLbl: Label 'CLERMONT (NAM.)', MaxLength = 30; + FontenelleLbl: Label 'FONTENELLE', MaxLength = 30; + FraireLbl: Label 'FRAIRE', MaxLength = 30; + PryLbl: Label 'PRY', MaxLength = 30; + VogeneeLbl: Label 'VOGENEE', MaxLength = 30; + WalcourtLbl: Label 'WALCOURT', MaxLength = 30; + YvesgomezeeLbl: Label 'YVES-GOMEZEE', MaxLength = 30; + BerzeeLbl: Label 'BERZEE', MaxLength = 30; + GourdinneLbl: Label 'GOURDINNE', MaxLength = 30; + LaneffeLbl: Label 'LANEFFE', MaxLength = 30; + RogneeLbl: Label 'ROGNEE', MaxLength = 30; + SomzeeLbl: Label 'SOMZEE', MaxLength = 30; + TarcienneLbl: Label 'TARCIENNE', MaxLength = 30; + ThylechateauLbl: Label 'THY-LE-CHATEAU', MaxLength = 30; + AublainLbl: Label 'AUBLAIN', MaxLength = 30; + BoussuenfagneLbl: Label 'BOUSSU-EN-FAGNE', MaxLength = 30; + BrulyLbl: Label 'BRULY', MaxLength = 30; + BrulydepescheLbl: Label 'BRULY-DE-PESCHE', MaxLength = 30; + CouvinLbl: Label 'COUVIN', MaxLength = 30; + CuldessartsLbl: Label 'CUL-DES-SARTS', MaxLength = 30; + DaillyLbl: Label 'DAILLY', MaxLength = 30; + FrasnesnamLbl: Label 'FRASNES (NAM.)', MaxLength = 30; + GonrieuxLbl: Label 'GONRIEUX', MaxLength = 30; + MariembourgLbl: Label 'MARIEMBOURG', MaxLength = 30; + PescheLbl: Label 'PESCHE', MaxLength = 30; + PetignyLbl: Label 'PETIGNY', MaxLength = 30; + PetitechapelleLbl: Label 'PETITE-CHAPELLE', MaxLength = 30; + PresgauxLbl: Label 'PRESGAUX', MaxLength = 30; + DourbesLbl: Label 'DOURBES', MaxLength = 30; + LemesnilLbl: Label 'LE MESNIL', MaxLength = 30; + MazeeLbl: Label 'MAZEE', MaxLength = 30; + NismesLbl: Label 'NISMES', MaxLength = 30; + OigniesenthieracheLbl: Label 'OIGNIES-EN-THIERACHE', MaxLength = 30; + OlloysurviroinLbl: Label 'OLLOY-SUR-VIROIN', MaxLength = 30; + TreignesLbl: Label 'TREIGNES', MaxLength = 30; + ViervessurviroinLbl: Label 'VIERVES-SUR-VIROIN', MaxLength = 30; + ViroinvalLbl: Label 'VIROINVAL', MaxLength = 30; + DoischeLbl: Label 'DOISCHE', MaxLength = 30; + GimneeLbl: Label 'GIMNEE', MaxLength = 30; + GocheneeLbl: Label 'GOCHENEE', MaxLength = 30; + MatagnelagrandeLbl: Label 'MATAGNE-LA-GRANDE', MaxLength = 30; + MatagnelapetiteLbl: Label 'MATAGNE-LA-PETITE', MaxLength = 30; + NiverleeLbl: Label 'NIVERLEE', MaxLength = 30; + RomereeLbl: Label 'ROMEREE', MaxLength = 30; + SoulmeLbl: Label 'SOULME', MaxLength = 30; + VaucellesLbl: Label 'VAUCELLES', MaxLength = 30; + VodeleeLbl: Label 'VODELEE', MaxLength = 30; + CharleroiLbl: Label 'CHARLEROI', MaxLength = 30; + MarcinelleLbl: Label 'MARCINELLE', MaxLength = 30; + CouilletLbl: Label 'COUILLET', MaxLength = 30; + DampremyLbl: Label 'DAMPREMY', MaxLength = 30; + GoutrouxLbl: Label 'GOUTROUX', MaxLength = 30; + MarchienneaupontLbl: Label 'MARCHIENNE-AU-PONT', MaxLength = 30; + MonceausursambreLbl: Label 'MONCEAU-SUR-SAMBRE', MaxLength = 30; + MontsurmarchienneLbl: Label 'MONT-SUR-MARCHIENNE', MaxLength = 30; + JumetcharleroiLbl: Label 'JUMET (CHARLEROI)', MaxLength = 30; + GosseliesLbl: Label 'GOSSELIES', MaxLength = 30; + LodelinsartLbl: Label 'LODELINSART', MaxLength = 30; + RansartLbl: Label 'RANSART', MaxLength = 30; + RouxLbl: Label 'ROUX', MaxLength = 30; + GillycharleroiLbl: Label 'GILLY (CHARLEROI)', MaxLength = 30; + MontigniessursambreLbl: Label 'MONTIGNIES-SUR-SAMBRE', MaxLength = 30; + MontignyletilleulLbl: Label 'MONTIGNY-LE-TILLEUL', MaxLength = 30; + LandeliesLbl: Label 'LANDELIES', MaxLength = 30; + CoursurheureLbl: Label 'COUR-SUR-HEURE', MaxLength = 30; + HamsurheureLbl: Label 'HAM-SUR-HEURE', MaxLength = 30; + HamsurheurenalinnesLbl: Label 'HAM-SUR-HEURE-NALINNES', MaxLength = 30; + JamioulxLbl: Label 'JAMIOULX', MaxLength = 30; + MarbaixhtLbl: Label 'MARBAIX (HT.)', MaxLength = 30; + NalinnesLbl: Label 'NALINNES', MaxLength = 30; + FontainelevequeLbl: Label 'FONTAINE-L''EVEQUE', MaxLength = 30; + ForchieslamarcheLbl: Label 'FORCHIES-LA-MARCHE', MaxLength = 30; + LeernesLbl: Label 'LEERNES', MaxLength = 30; + AnderluesLbl: Label 'ANDERLUES', MaxLength = 30; + CourcellesLbl: Label 'COURCELLES', MaxLength = 30; + GouylezpietonLbl: Label 'GOUY-LEZ-PIETON', MaxLength = 30; + SouvretLbl: Label 'SOUVRET', MaxLength = 30; + TrazegniesLbl: Label 'TRAZEGNIES', MaxLength = 30; + BouffioulxLbl: Label 'BOUFFIOULX', MaxLength = 30; + ChateletLbl: Label 'CHATELET', MaxLength = 30; + ChatelineauLbl: Label 'CHATELINEAU', MaxLength = 30; + FrasneslezgosseliesLbl: Label 'FRASNES-LEZ-GOSSELIES', MaxLength = 30; + LesbonsvillersLbl: Label 'LES BONS VILLERS', MaxLength = 30; + RevesLbl: Label 'REVES', MaxLength = 30; + VillersperwinLbl: Label 'VILLERS-PERWIN', MaxLength = 30; + WayauxLbl: Label 'WAYAUX', MaxLength = 30; + MelletLbl: Label 'MELLET', MaxLength = 30; + FleurusLbl: Label 'FLEURUS', MaxLength = 30; + HeppigniesLbl: Label 'HEPPIGNIES', MaxLength = 30; + LambusartLbl: Label 'LAMBUSART', MaxLength = 30; + WangeniesLbl: Label 'WANGENIES', MaxLength = 30; + SaintamandLbl: Label 'SAINT-AMAND', MaxLength = 30; + BryeLbl: Label 'BRYE', MaxLength = 30; + WagneleeLbl: Label 'WAGNELEE', MaxLength = 30; + WanferceebauletLbl: Label 'WANFERCEE-BAULET', MaxLength = 30; + BuzetLbl: Label 'BUZET', MaxLength = 30; + ObaixLbl: Label 'OBAIX', MaxLength = 30; + PontacellesLbl: Label 'PONT-A-CELLES', MaxLength = 30; + ThimeonLbl: Label 'THIMEON', MaxLength = 30; + ViesvilleLbl: Label 'VIESVILLE', MaxLength = 30; + LiberchiesLbl: Label 'LIBERCHIES', MaxLength = 30; + LuttreLbl: Label 'LUTTRE', MaxLength = 30; + FarciennesLbl: Label 'FARCIENNES', MaxLength = 30; + PironchampsLbl: Label 'PIRONCHAMPS', MaxLength = 30; + AiseauLbl: Label 'AISEAU', MaxLength = 30; + AiseaupreslesLbl: Label 'AISEAU-PRESLES', MaxLength = 30; + PontdeloupLbl: Label 'PONT-DE-LOUP', MaxLength = 30; + PreslesLbl: Label 'PRESLES', MaxLength = 30; + RoseliesLbl: Label 'ROSELIES', MaxLength = 30; + AcozLbl: Label 'ACOZ', MaxLength = 30; + GerpinnesLbl: Label 'GERPINNES', MaxLength = 30; + GougniesLbl: Label 'GOUGNIES', MaxLength = 30; + JoncretLbl: Label 'JONCRET', MaxLength = 30; + LovervalLbl: Label 'LOVERVAL', MaxLength = 30; + VillerspoterieLbl: Label 'VILLERS-POTERIE', MaxLength = 30; + BoussulezwalcourtLbl: Label 'BOUSSU-LEZ-WALCOURT', MaxLength = 30; + FourbechiesLbl: Label 'FOURBECHIES', MaxLength = 30; + FroidchapelleLbl: Label 'FROIDCHAPELLE', MaxLength = 30; + VergniesLbl: Label 'VERGNIES', MaxLength = 30; + ErpionLbl: Label 'ERPION', MaxLength = 30; + BailievreLbl: Label 'BAILIEVRE', MaxLength = 30; + ChimayLbl: Label 'CHIMAY', MaxLength = 30; + RobechiesLbl: Label 'ROBECHIES', MaxLength = 30; + SaintremyhtLbl: Label 'SAINT-REMY (HT.)', MaxLength = 30; + SallesLbl: Label 'SALLES', MaxLength = 30; + VillerslatourLbl: Label 'VILLERS-LA-TOUR', MaxLength = 30; + VirellesLbl: Label 'VIRELLES', MaxLength = 30; + VaulxlezchimayLbl: Label 'VAULX-LEZ-CHIMAY', MaxLength = 30; + LompretLbl: Label 'LOMPRET', MaxLength = 30; + BaileuxLbl: Label 'BAILEUX', MaxLength = 30; + BourlersLbl: Label 'BOURLERS', MaxLength = 30; + ForgesLbl: Label 'FORGES', MaxLength = 30; + LescaillereLbl: Label 'L''ESCAILLERE', MaxLength = 30; + RiezesLbl: Label 'RIEZES', MaxLength = 30; + GrandrieuLbl: Label 'GRANDRIEU', MaxLength = 30; + MontbliartLbl: Label 'MONTBLIART', MaxLength = 30; + RanceLbl: Label 'RANCE', MaxLength = 30; + SautinLbl: Label 'SAUTIN', MaxLength = 30; + SivryLbl: Label 'SIVRY', MaxLength = 30; + SivryranceLbl: Label 'SIVRY-RANCE', MaxLength = 30; + BarbenconLbl: Label 'BARBENCON', MaxLength = 30; + BeaumontLbl: Label 'BEAUMONT', MaxLength = 30; + LeugniesLbl: Label 'LEUGNIES', MaxLength = 30; + LevalchaudevilleLbl: Label 'LEVAL-CHAUDEVILLE', MaxLength = 30; + RenliesLbl: Label 'RENLIES', MaxLength = 30; + SolresaintgeryLbl: Label 'SOLRE-SAINT-GERY', MaxLength = 30; + ThirimontLbl: Label 'THIRIMONT', MaxLength = 30; + StreehtLbl: Label 'STREE (HT.)', MaxLength = 30; + LeersetfosteauLbl: Label 'LEERS-ET-FOSTEAU', MaxLength = 30; + ThuinLbl: Label 'THUIN', MaxLength = 30; + BiesmesousthuinLbl: Label 'BIESME-SOUS-THUIN', MaxLength = 30; + RagniesLbl: Label 'RAGNIES', MaxLength = 30; + BierceeLbl: Label 'BIERCEE', MaxLength = 30; + GozeeLbl: Label 'GOZEE', MaxLength = 30; + DonstiennesLbl: Label 'DONSTIENNES', MaxLength = 30; + ThuilliesLbl: Label 'THUILLIES', MaxLength = 30; + LobbesLbl: Label 'LOBBES', MaxLength = 30; + MontsaintegenevieveLbl: Label 'MONT-SAINTE-GENEVIEVE', MaxLength = 30; + SarslabuissiereLbl: Label 'SARS-LA-BUISSIERE', MaxLength = 30; + BiennelezhappartLbl: Label 'BIENNE-LEZ-HAPPART', MaxLength = 30; + BersillieslabbayeLbl: Label 'BERSILLIES-L''ABBAYE', MaxLength = 30; + ErquelinnesLbl: Label 'ERQUELINNES', MaxLength = 30; + GrandrengLbl: Label 'GRAND-RENG', MaxLength = 30; + HanteswiheriesLbl: Label 'HANTES-WIHERIES', MaxLength = 30; + MontigniessaintchristopheLbl: Label 'MONTIGNIES-SAINT-CHRISTOPHE', MaxLength = 30; + SolresursambreLbl: Label 'SOLRE-SUR-SAMBRE', MaxLength = 30; + FontainevalmontLbl: Label 'FONTAINE-VALMONT', MaxLength = 30; + LabuissiereLbl: Label 'LABUISSIERE', MaxLength = 30; + MerbeslechateauLbl: Label 'MERBES-LE-CHATEAU', MaxLength = 30; + MerbessaintemarieLbl: Label 'MERBES-SAINTE-MARIE', MaxLength = 30; + MomigniesLbl: Label 'MOMIGNIES', MaxLength = 30; + MaconLbl: Label 'MACON', MaxLength = 30; + MonceauimbrechiesLbl: Label 'MONCEAU-IMBRECHIES', MaxLength = 30; + MacquenoiseLbl: Label 'MACQUENOISE', MaxLength = 30; + BeauwelzLbl: Label 'BEAUWELZ', MaxLength = 30; + ForgephilippeLbl: Label 'FORGE-PHILIPPE', MaxLength = 30; + SeloignesLbl: Label 'SELOIGNES', MaxLength = 30; + BastogneLbl: Label 'BASTOGNE', MaxLength = 30; + LongvillyLbl: Label 'LONGVILLY', MaxLength = 30; + NovilleluxLbl: Label 'NOVILLE (LUX.)', MaxLength = 30; + VillerslabonneeauLbl: Label 'VILLERS-LA-BONNE-EAU', MaxLength = 30; + WardinLbl: Label 'WARDIN', MaxLength = 30; + MartelangeLbl: Label 'MARTELANGE', MaxLength = 30; + FauvillersLbl: Label 'FAUVILLERS', MaxLength = 30; + HollangeLbl: Label 'HOLLANGE', MaxLength = 30; + TintangeLbl: Label 'TINTANGE', MaxLength = 30; + HompreLbl: Label 'HOMPRE', MaxLength = 30; + MorhetLbl: Label 'MORHET', MaxLength = 30; + NivesLbl: Label 'NIVES', MaxLength = 30; + SibretLbl: Label 'SIBRET', MaxLength = 30; + VauxlezrosieresLbl: Label 'VAUX-LEZ-ROSIERES', MaxLength = 30; + VauxsursureLbl: Label 'VAUX-SUR-SURE', MaxLength = 30; + JuseretLbl: Label 'JUSERET', MaxLength = 30; + HouffalizeLbl: Label 'HOUFFALIZE', MaxLength = 30; + NadrinLbl: Label 'NADRIN', MaxLength = 30; + MontluxLbl: Label 'MONT (LUX.)', MaxLength = 30; + TaillesLbl: Label 'TAILLES', MaxLength = 30; + TavignyLbl: Label 'TAVIGNY', MaxLength = 30; + MabompreLbl: Label 'MABOMPRE', MaxLength = 30; + WibrinLbl: Label 'WIBRIN', MaxLength = 30; + GouvyLbl: Label 'GOUVY', MaxLength = 30; + LimerleLbl: Label 'LIMERLE', MaxLength = 30; + BovignyLbl: Label 'BOVIGNY', MaxLength = 30; + BehoLbl: Label 'BEHO', MaxLength = 30; + CherainLbl: Label 'CHERAIN', MaxLength = 30; + MontlebanLbl: Label 'MONTLEBAN', MaxLength = 30; + AmberloupLbl: Label 'AMBERLOUP', MaxLength = 30; + SainteodeLbl: Label 'SAINTE-ODE', MaxLength = 30; + TilletLbl: Label 'TILLET', MaxLength = 30; + LavacherieLbl: Label 'LAVACHERIE', MaxLength = 30; + FlamiergeLbl: Label 'FLAMIERGE', MaxLength = 30; + BertogneLbl: Label 'BERTOGNE', MaxLength = 30; + LongchampsluxLbl: Label 'LONGCHAMPS (LUX.)', MaxLength = 30; + BihainLbl: Label 'BIHAIN', MaxLength = 30; + VielsalmLbl: Label 'VIELSALM', MaxLength = 30; + PetitthierLbl: Label 'PETIT-THIER', MaxLength = 30; + GrandhalleuxLbl: Label 'GRAND-HALLEUX', MaxLength = 30; + ArlonLbl: Label 'ARLON', MaxLength = 30; + BonnertLbl: Label 'BONNERT', MaxLength = 30; + HeinschLbl: Label 'HEINSCH', MaxLength = 30; + ToernichLbl: Label 'TOERNICH', MaxLength = 30; + GuirschLbl: Label 'GUIRSCH', MaxLength = 30; + AutelbasLbl: Label 'AUTELBAS', MaxLength = 30; + AttertLbl: Label 'ATTERT', MaxLength = 30; + NobressartLbl: Label 'NOBRESSART', MaxLength = 30; + NothombLbl: Label 'NOTHOMB', MaxLength = 30; + ThiaumontLbl: Label 'THIAUMONT', MaxLength = 30; + TontelangeLbl: Label 'TONTELANGE', MaxLength = 30; + HabayLbl: Label 'HABAY', MaxLength = 30; + HabaylaneuveLbl: Label 'HABAY-LA-NEUVE', MaxLength = 30; + HachyLbl: Label 'HACHY', MaxLength = 30; + AnlierLbl: Label 'ANLIER', MaxLength = 30; + HabaylavieilleLbl: Label 'HABAY-LA-VIEILLE', MaxLength = 30; + HoudemontLbl: Label 'HOUDEMONT', MaxLength = 30; + MarbehanLbl: Label 'MARBEHAN', MaxLength = 30; + RullesLbl: Label 'RULLES', MaxLength = 30; + BellefontaineluxLbl: Label 'BELLEFONTAINE (LUX.)', MaxLength = 30; + RossignolLbl: Label 'ROSSIGNOL', MaxLength = 30; + SaintvincentLbl: Label 'SAINT-VINCENT', MaxLength = 30; + TintignyLbl: Label 'TINTIGNY', MaxLength = 30; + EtalleLbl: Label 'ETALLE', MaxLength = 30; + SaintemariesursemoisLbl: Label 'SAINTE-MARIE-SUR-SEMOIS', MaxLength = 30; + VillerssursemoisLbl: Label 'VILLERS-SUR-SEMOIS', MaxLength = 30; + VanceLbl: Label 'VANCE', MaxLength = 30; + ChantemelleLbl: Label 'CHANTEMELLE', MaxLength = 30; + BuzenolLbl: Label 'BUZENOL', MaxLength = 30; + ChatillonLbl: Label 'CHATILLON', MaxLength = 30; + MeixletigeLbl: Label 'MEIX-LE-TIGE', MaxLength = 30; + SaintlegerluxLbl: Label 'SAINT-LEGER (LUX.)', MaxLength = 30; + MussonLbl: Label 'MUSSON', MaxLength = 30; + MussylavilleLbl: Label 'MUSSY-LA-VILLE', MaxLength = 30; + SigneulxLbl: Label 'SIGNEULX', MaxLength = 30; + BleidLbl: Label 'BLEID', MaxLength = 30; + EtheLbl: Label 'ETHE', MaxLength = 30; + RuetteLbl: Label 'RUETTE', MaxLength = 30; + VirtonLbl: Label 'VIRTON', MaxLength = 30; + LatourLbl: Label 'LATOUR', MaxLength = 30; + SaintmardLbl: Label 'SAINT-MARD', MaxLength = 30; + DampicourtLbl: Label 'DAMPICOURT', MaxLength = 30; + HarnoncourtLbl: Label 'HARNONCOURT', MaxLength = 30; + LamorteauLbl: Label 'LAMORTEAU', MaxLength = 30; + RouvroyLbl: Label 'ROUVROY', MaxLength = 30; + TorgnyLbl: Label 'TORGNY', MaxLength = 30; + GerouvilleLbl: Label 'GEROUVILLE', MaxLength = 30; + MeixdevantvirtonLbl: Label 'MEIX-DEVANT-VIRTON', MaxLength = 30; + RobelmontLbl: Label 'ROBELMONT', MaxLength = 30; + SommethonneLbl: Label 'SOMMETHONNE', MaxLength = 30; + VillerslaloueLbl: Label 'VILLERS-LA-LOUE', MaxLength = 30; + HondelangeLbl: Label 'HONDELANGE', MaxLength = 30; + MessancyLbl: Label 'MESSANCY', MaxLength = 30; + WolkrangeLbl: Label 'WOLKRANGE', MaxLength = 30; + SelangeLbl: Label 'SELANGE', MaxLength = 30; + HabergyLbl: Label 'HABERGY', MaxLength = 30; + AubangeLbl: Label 'AUBANGE', MaxLength = 30; + AthusLbl: Label 'ATHUS', MaxLength = 30; + HalanzyLbl: Label 'HALANZY', MaxLength = 30; + RachecourtLbl: Label 'RACHECOURT', MaxLength = 30; + BrasLbl: Label 'BRAS', MaxLength = 30; + FreuxLbl: Label 'FREUX', MaxLength = 30; + LibramontLbl: Label 'LIBRAMONT', MaxLength = 30; + LibramontchevignyLbl: Label 'LIBRAMONT-CHEVIGNY', MaxLength = 30; + MoircyLbl: Label 'MOIRCY', MaxLength = 30; + RecogneLbl: Label 'RECOGNE', MaxLength = 30; + RemagneLbl: Label 'REMAGNE', MaxLength = 30; + SaintemariechevignyLbl: Label 'SAINTE-MARIE-CHEVIGNY', MaxLength = 30; + SaintpierreLbl: Label 'SAINT-PIERRE', MaxLength = 30; + ChinyLbl: Label 'CHINY', MaxLength = 30; + IzelLbl: Label 'IZEL', MaxLength = 30; + JamoigneLbl: Label 'JAMOIGNE', MaxLength = 30; + LesbullesLbl: Label 'LES BULLES', MaxLength = 30; + SuxyLbl: Label 'SUXY', MaxLength = 30; + TermesLbl: Label 'TERMES', MaxLength = 30; + FlorenvilleLbl: Label 'FLORENVILLE', MaxLength = 30; + FontenoilleLbl: Label 'FONTENOILLE', MaxLength = 30; + MunoLbl: Label 'MUNO', MaxLength = 30; + SaintececileLbl: Label 'SAINTE-CECILE', MaxLength = 30; + LacuisineLbl: Label 'LACUISINE', MaxLength = 30; + VillersdevantorvalLbl: Label 'VILLERS-DEVANT-ORVAL', MaxLength = 30; + ChassepierreLbl: Label 'CHASSEPIERRE', MaxLength = 30; + BouillonLbl: Label 'BOUILLON', MaxLength = 30; + LeshayonsLbl: Label 'LES HAYONS', MaxLength = 30; + PoupehanLbl: Label 'POUPEHAN', MaxLength = 30; + RochehautLbl: Label 'ROCHEHAUT', MaxLength = 30; + NoirefontaineLbl: Label 'NOIREFONTAINE', MaxLength = 30; + SensenruthLbl: Label 'SENSENRUTH', MaxLength = 30; + UcimontLbl: Label 'UCIMONT', MaxLength = 30; + VivyLbl: Label 'VIVY', MaxLength = 30; + BellevauxLbl: Label 'BELLEVAUX', MaxLength = 30; + DohanLbl: Label 'DOHAN', MaxLength = 30; + CorbionLbl: Label 'CORBION', MaxLength = 30; + GrandvoirLbl: Label 'GRANDVOIR', MaxLength = 30; + GrapfontaineLbl: Label 'GRAPFONTAINE', MaxLength = 30; + HamipreLbl: Label 'HAMIPRE', MaxLength = 30; + LonglierLbl: Label 'LONGLIER', MaxLength = 30; + NeufchateauLbl: Label 'NEUFCHATEAU', MaxLength = 30; + TournayLbl: Label 'TOURNAY', MaxLength = 30; + CarlsbourgLbl: Label 'CARLSBOURG', MaxLength = 30; + OffagneLbl: Label 'OFFAGNE', MaxLength = 30; + PaliseulLbl: Label 'PALISEUL', MaxLength = 30; + NollevauxLbl: Label 'NOLLEVAUX', MaxLength = 30; + MaissinLbl: Label 'MAISSIN', MaxLength = 30; + OpontLbl: Label 'OPONT', MaxLength = 30; + FramontLbl: Label 'FRAMONT', MaxLength = 30; + FayslesveneursLbl: Label 'FAYS-LES-VENEURS', MaxLength = 30; + AssenoisLbl: Label 'ASSENOIS', MaxLength = 30; + EblyLbl: Label 'EBLY', MaxLength = 30; + LegliseLbl: Label 'LEGLISE', MaxLength = 30; + MellierLbl: Label 'MELLIER', MaxLength = 30; + WitryLbl: Label 'WITRY', MaxLength = 30; + ArvilleLbl: Label 'ARVILLE', MaxLength = 30; + AwenneLbl: Label 'AWENNE', MaxLength = 30; + HatrivalLbl: Label 'HATRIVAL', MaxLength = 30; + MirwartLbl: Label 'MIRWART', MaxLength = 30; + SainthubertLbl: Label 'SAINT-HUBERT', MaxLength = 30; + VesquevilleLbl: Label 'VESQUEVILLE', MaxLength = 30; + AubysursemoisLbl: Label 'AUBY-SUR-SEMOIS', MaxLength = 30; + BertrixLbl: Label 'BERTRIX', MaxLength = 30; + CugnonLbl: Label 'CUGNON', MaxLength = 30; + JehonvilleLbl: Label 'JEHONVILLE', MaxLength = 30; + OrgeoLbl: Label 'ORGEO', MaxLength = 30; + HerbeumontLbl: Label 'HERBEUMONT', MaxLength = 30; + SaintmedardLbl: Label 'SAINT-MEDARD', MaxLength = 30; + StraimontLbl: Label 'STRAIMONT', MaxLength = 30; + AnloyLbl: Label 'ANLOY', MaxLength = 30; + LibinLbl: Label 'LIBIN', MaxLength = 30; + OchampsLbl: Label 'OCHAMPS', MaxLength = 30; + ReduLbl: Label 'REDU', MaxLength = 30; + SmuidLbl: Label 'SMUID', MaxLength = 30; + TransinneLbl: Label 'TRANSINNE', MaxLength = 30; + VillanceLbl: Label 'VILLANCE', MaxLength = 30; + AyeLbl: Label 'AYE', MaxLength = 30; + HargimontLbl: Label 'HARGIMONT', MaxLength = 30; + HumainLbl: Label 'HUMAIN', MaxLength = 30; + MarcheenfamenneLbl: Label 'MARCHE-EN-FAMENNE', MaxLength = 30; + OnLbl: Label 'ON', MaxLength = 30; + RoyLbl: Label 'ROY', MaxLength = 30; + WahaLbl: Label 'WAHA', MaxLength = 30; + SohierLbl: Label 'SOHIER', MaxLength = 30; + WellinLbl: Label 'WELLIN', MaxLength = 30; + ChanlyLbl: Label 'CHANLY', MaxLength = 30; + HalmaLbl: Label 'HALMA', MaxLength = 30; + LomprezLbl: Label 'LOMPREZ', MaxLength = 30; + BureLbl: Label 'BURE', MaxLength = 30; + GrupontLbl: Label 'GRUPONT', MaxLength = 30; + ResteigneLbl: Label 'RESTEIGNE', MaxLength = 30; + TellinLbl: Label 'TELLIN', MaxLength = 30; + DaverdisseLbl: Label 'DAVERDISSE', MaxLength = 30; + GembesLbl: Label 'GEMBES', MaxLength = 30; + HautfaysLbl: Label 'HAUT-FAYS', MaxLength = 30; + PorcheresseluxLbl: Label 'PORCHERESSE (LUX.)', MaxLength = 30; + BarvauxsurourtheLbl: Label 'BARVAUX-SUR-OURTHE', MaxLength = 30; + DurbuyLbl: Label 'DURBUY', MaxLength = 30; + GrandhanLbl: Label 'GRANDHAN', MaxLength = 30; + SeptonLbl: Label 'SEPTON', MaxLength = 30; + WerisLbl: Label 'WERIS', MaxLength = 30; + BendeLbl: Label 'BENDE', MaxLength = 30; + BomalsurourtheLbl: Label 'BOMAL-SUR-OURTHE', MaxLength = 30; + BorlonLbl: Label 'BORLON', MaxLength = 30; + HeydLbl: Label 'HEYD', MaxLength = 30; + IzierLbl: Label 'IZIER', MaxLength = 30; + TohogneLbl: Label 'TOHOGNE', MaxLength = 30; + VillerssaintegertrudeLbl: Label 'VILLERS-SAINTE-GERTRUDE', MaxLength = 30; + HarsinLbl: Label 'HARSIN', MaxLength = 30; + NassogneLbl: Label 'NASSOGNE', MaxLength = 30; + BandeLbl: Label 'BANDE', MaxLength = 30; + GruneLbl: Label 'GRUNE', MaxLength = 30; + AmblyLbl: Label 'AMBLY', MaxLength = 30; + ForrieresLbl: Label 'FORRIERES', MaxLength = 30; + LesternyLbl: Label 'LESTERNY', MaxLength = 30; + MasbourgLbl: Label 'MASBOURG', MaxLength = 30; + DochampsLbl: Label 'DOCHAMPS', MaxLength = 30; + GrandmenilLbl: Label 'GRANDMENIL', MaxLength = 30; + HarreLbl: Label 'HARRE', MaxLength = 30; + MalempreLbl: Label 'MALEMPRE', MaxLength = 30; + ManhayLbl: Label 'MANHAY', MaxLength = 30; + OdeigneLbl: Label 'ODEIGNE', MaxLength = 30; + VauxchavanneLbl: Label 'VAUX-CHAVANNE', MaxLength = 30; + TennevilleLbl: Label 'TENNEVILLE', MaxLength = 30; + ChamplonLbl: Label 'CHAMPLON', MaxLength = 30; + ErneuvilleLbl: Label 'ERNEUVILLE', MaxLength = 30; + BeausaintLbl: Label 'BEAUSAINT', MaxLength = 30; + LarocheenardenneLbl: Label 'LA ROCHE-EN-ARDENNE', MaxLength = 30; + SamreeLbl: Label 'SAMREE', MaxLength = 30; + OrthoLbl: Label 'ORTHO', MaxLength = 30; + HivesLbl: Label 'HIVES', MaxLength = 30; + HalleuxLbl: Label 'HALLEUX', MaxLength = 30; + BeffeLbl: Label 'BEFFE', MaxLength = 30; + HodisterLbl: Label 'HODISTER', MaxLength = 30; + MarcourtLbl: Label 'MARCOURT', MaxLength = 30; + RendeuxLbl: Label 'RENDEUX', MaxLength = 30; + FronvilleLbl: Label 'FRONVILLE', MaxLength = 30; + HampteauLbl: Label 'HAMPTEAU', MaxLength = 30; + HottonLbl: Label 'HOTTON', MaxLength = 30; + MarenneLbl: Label 'MARENNE', MaxLength = 30; + AmoninesLbl: Label 'AMONINES', MaxLength = 30; + ErezeeLbl: Label 'EREZEE', MaxLength = 30; + MormontLbl: Label 'MORMONT', MaxLength = 30; + SoyLbl: Label 'SOY', MaxLength = 30; + MonsLbl: Label 'MONS', MaxLength = 30; + ShapebelgieLbl: Label 'S.H.A.P.E. BELGIE', MaxLength = 30; + ShapebelgiqueLbl: Label 'S.H.A.P.E. BELGIQUE', MaxLength = 30; + GhlinLbl: Label 'GHLIN', MaxLength = 30; + FlenuLbl: Label 'FLENU', MaxLength = 30; + JemappesLbl: Label 'JEMAPPES', MaxLength = 30; + MaisieresLbl: Label 'MAISIERES', MaxLength = 30; + NimyLbl: Label 'NIMY', MaxLength = 30; + HavreLbl: Label 'HAVRE', MaxLength = 30; + HarmigniesLbl: Label 'HARMIGNIES', MaxLength = 30; + HarvengLbl: Label 'HARVENG', MaxLength = 30; + HyonLbl: Label 'HYON', MaxLength = 30; + MesvinLbl: Label 'MESVIN', MaxLength = 30; + NouvellesLbl: Label 'NOUVELLES', MaxLength = 30; + CiplyLbl: Label 'CIPLY', MaxLength = 30; + SaintsymphorienLbl: Label 'SAINT-SYMPHORIEN', MaxLength = 30; + VillerssaintghislainLbl: Label 'VILLERS-SAINT-GHISLAIN', MaxLength = 30; + SpiennesLbl: Label 'SPIENNES', MaxLength = 30; + CuesmesLbl: Label 'CUESMES', MaxLength = 30; + ObourgLbl: Label 'OBOURG', MaxLength = 30; + SaintdenishtLbl: Label 'SAINT-DENIS (HT.)', MaxLength = 30; + AsquilliesLbl: Label 'ASQUILLIES', MaxLength = 30; + AulnoisLbl: Label 'AULNOIS', MaxLength = 30; + BlaregniesLbl: Label 'BLAREGNIES', MaxLength = 30; + BougniesLbl: Label 'BOUGNIES', MaxLength = 30; + GenlyLbl: Label 'GENLY', MaxLength = 30; + GoegnieschausseeLbl: Label 'GOEGNIES-CHAUSSEE', MaxLength = 30; + QuevyLbl: Label 'QUEVY', MaxLength = 30; + QuevylegrandLbl: Label 'QUEVY-LE-GRAND', MaxLength = 30; + QuevylepetitLbl: Label 'QUEVY-LE-PETIT', MaxLength = 30; + GivryLbl: Label 'GIVRY', MaxLength = 30; + HavayLbl: Label 'HAVAY', MaxLength = 30; + ErbautLbl: Label 'ERBAUT', MaxLength = 30; + ErbisoeulLbl: Label 'ERBISOEUL', MaxLength = 30; + HerchiesLbl: Label 'HERCHIES', MaxLength = 30; + JurbiseLbl: Label 'JURBISE', MaxLength = 30; + MasnuysaintjeanjurbiseLbl: Label 'MASNUY-SAINT-JEAN (JURBISE)', MaxLength = 30; + MasnuysaintpierreLbl: Label 'MASNUY-SAINT-PIERRE', MaxLength = 30; + HorruesLbl: Label 'HORRUES', MaxLength = 30; + SoigniesLbl: Label 'SOIGNIES', MaxLength = 30; + CasteausoigniesLbl: Label 'CASTEAU (SOIGNIES)', MaxLength = 30; + ThieusiesLbl: Label 'THIEUSIES', MaxLength = 30; + NaastLbl: Label 'NAAST', MaxLength = 30; + ChausseenotredamelouvigniesLbl: Label 'CHAUSSEE-NOTRE-DAME-LOUVIGNIES', MaxLength = 30; + NeufvillesLbl: Label 'NEUFVILLES', MaxLength = 30; + GottigniesLbl: Label 'GOTTIGNIES', MaxLength = 30; + LeroeulxLbl: Label 'LE ROEULX', MaxLength = 30; + MignaultLbl: Label 'MIGNAULT', MaxLength = 30; + ThieuLbl: Label 'THIEU', MaxLength = 30; + VillesurhaineleroeulxLbl: Label 'VILLE-SUR-HAINE (LE ROEULX)', MaxLength = 30; + EugiesframeriesLbl: Label 'EUGIES (FRAMERIES)', MaxLength = 30; + FrameriesLbl: Label 'FRAMERIES', MaxLength = 30; + LabouverieLbl: Label 'LA BOUVERIE', MaxLength = 30; + NoirchainLbl: Label 'NOIRCHAIN', MaxLength = 30; + SarslabruyereLbl: Label 'SARS-LA-BRUYERE', MaxLength = 30; + BrainelecomteLbl: Label 'BRAINE-LE-COMTE', MaxLength = 30; + HennuyeresLbl: Label 'HENNUYERES', MaxLength = 30; + HenripontLbl: Label 'HENRIPONT', MaxLength = 30; + PetitroeulxlezbraineLbl: Label 'PETIT-ROEULX-LEZ-BRAINE', MaxLength = 30; + RonquieresLbl: Label 'RONQUIERES', MaxLength = 30; + SteenkerquehtLbl: Label 'STEENKERQUE (HT.)', MaxLength = 30; + HainesaintpaulLbl: Label 'HAINE-SAINT-PAUL', MaxLength = 30; + HainesaintpierreLbl: Label 'HAINE-SAINT-PIERRE', MaxLength = 30; + LalouviereLbl: Label 'LA LOUVIERE', MaxLength = 30; + SaintvaastLbl: Label 'SAINT-VAAST', MaxLength = 30; + TrivieresLbl: Label 'TRIVIERES', MaxLength = 30; + BoussoitLbl: Label 'BOUSSOIT', MaxLength = 30; + HoudengaimeriesLbl: Label 'HOUDENG-AIMERIES', MaxLength = 30; + HoudenggoegnieslalouviereLbl: Label 'HOUDENG-GOEGNIES (LA LOUVIERE)', MaxLength = 30; + MaurageLbl: Label 'MAURAGE', MaxLength = 30; + StrepybracquegniesLbl: Label 'STREPY-BRACQUEGNIES', MaxLength = 30; + CroixlezrouveroyLbl: Label 'CROIX-LEZ-ROUVEROY', MaxLength = 30; + EstinnesLbl: Label 'ESTINNES', MaxLength = 30; + EstinnesaumontLbl: Label 'ESTINNES-AU-MONT', MaxLength = 30; + EstinnesauvalLbl: Label 'ESTINNES-AU-VAL', MaxLength = 30; + FauroeulxLbl: Label 'FAUROEULX', MaxLength = 30; + HaulchinLbl: Label 'HAULCHIN', MaxLength = 30; + PeissantLbl: Label 'PEISSANT', MaxLength = 30; + RouveroyhtLbl: Label 'ROUVEROY (HT.)', MaxLength = 30; + VellereillelesbrayeuxLbl: Label 'VELLEREILLE-LES-BRAYEUX', MaxLength = 30; + VellereillelesecLbl: Label 'VELLEREILLE-LE-SEC', MaxLength = 30; + BattigniesLbl: Label 'BATTIGNIES', MaxLength = 30; + BincheLbl: Label 'BINCHE', MaxLength = 30; + BrayLbl: Label 'BRAY', MaxLength = 30; + WaudrezLbl: Label 'WAUDREZ', MaxLength = 30; + BuvrinnesLbl: Label 'BUVRINNES', MaxLength = 30; + EpinoisLbl: Label 'EPINOIS', MaxLength = 30; + LevaltrahegniesLbl: Label 'LEVAL-TRAHEGNIES', MaxLength = 30; + PeronneslezbincheLbl: Label 'PERONNES-LEZ-BINCHE', MaxLength = 30; + RessaixLbl: Label 'RESSAIX', MaxLength = 30; + MorlanwelzLbl: Label 'MORLANWELZ', MaxLength = 30; + MorlanwelzmariemontLbl: Label 'MORLANWELZ-MARIEMONT', MaxLength = 30; + CarnieresLbl: Label 'CARNIERES', MaxLength = 30; + MontsaintealdegondeLbl: Label 'MONT-SAINTE-ALDEGONDE', MaxLength = 30; + ChapellelezherlaimontLbl: Label 'CHAPELLE-LEZ-HERLAIMONT', MaxLength = 30; + GodarvilleLbl: Label 'GODARVILLE', MaxLength = 30; + PietonLbl: Label 'PIETON', MaxLength = 30; + BellecourtLbl: Label 'BELLECOURT', MaxLength = 30; + BoisdhaineLbl: Label 'BOIS-D''HAINE', MaxLength = 30; + FaytlezmanageLbl: Label 'FAYT-LEZ-MANAGE', MaxLength = 30; + LahestreLbl: Label 'LA HESTRE', MaxLength = 30; + ManageLbl: Label 'MANAGE', MaxLength = 30; + SeneffeLbl: Label 'SENEFFE', MaxLength = 30; + ArquennesLbl: Label 'ARQUENNES', MaxLength = 30; + FamilleureuxLbl: Label 'FAMILLEUREUX', MaxLength = 30; + FeluyLbl: Label 'FELUY', MaxLength = 30; + PetitroeulxleznivellesLbl: Label 'PETIT-ROEULX-LEZ-NIVELLES', MaxLength = 30; + EcaussinnesLbl: Label 'ECAUSSINNES', MaxLength = 30; + EcaussinnesdenghienLbl: Label 'ECAUSSINNES-D''ENGHIEN', MaxLength = 30; + MarchelezecaussinnesLbl: Label 'MARCHE-LEZ-ECAUSSINNES', MaxLength = 30; + EcaussinneslalaingLbl: Label 'ECAUSSINNES-LALAING', MaxLength = 30; + BoussuLbl: Label 'BOUSSU', MaxLength = 30; + HornuLbl: Label 'HORNU', MaxLength = 30; + BernissartLbl: Label 'BERNISSART', MaxLength = 30; + BlatonLbl: Label 'BLATON', MaxLength = 30; + HarchiesLbl: Label 'HARCHIES', MaxLength = 30; + PommeroeulLbl: Label 'POMMEROEUL', MaxLength = 30; + VillepommeroeulLbl: Label 'VILLE-POMMEROEUL', MaxLength = 30; + SaintghislainLbl: Label 'SAINT-GHISLAIN', MaxLength = 30; + BaudourLbl: Label 'BAUDOUR', MaxLength = 30; + NeufmaisonLbl: Label 'NEUFMAISON', MaxLength = 30; + SiraultLbl: Label 'SIRAULT', MaxLength = 30; + TertreLbl: Label 'TERTRE', MaxLength = 30; + HautrageLbl: Label 'HAUTRAGE', MaxLength = 30; + VillerotLbl: Label 'VILLEROT', MaxLength = 30; + ColfontaineLbl: Label 'COLFONTAINE', MaxLength = 30; + PaturagesLbl: Label 'PATURAGES', MaxLength = 30; + WarquigniesLbl: Label 'WARQUIGNIES', MaxLength = 30; + WasmesLbl: Label 'WASMES', MaxLength = 30; + HaininLbl: Label 'HAININ', MaxLength = 30; + HensiesLbl: Label 'HENSIES', MaxLength = 30; + MontroeulsurhaineLbl: Label 'MONTROEUL-SUR-HAINE', MaxLength = 30; + ThulinLbl: Label 'THULIN', MaxLength = 30; + BlaugiesLbl: Label 'BLAUGIES', MaxLength = 30; + DourLbl: Label 'DOUR', MaxLength = 30; + ElougesLbl: Label 'ELOUGES', MaxLength = 30; + WiheriesLbl: Label 'WIHERIES', MaxLength = 30; + BaisieuxLbl: Label 'BAISIEUX', MaxLength = 30; + QuievrainLbl: Label 'QUIEVRAIN', MaxLength = 30; + AudregniesLbl: Label 'AUDREGNIES', MaxLength = 30; + AngreLbl: Label 'ANGRE', MaxLength = 30; + AngreauLbl: Label 'ANGREAU', MaxLength = 30; + AthisLbl: Label 'ATHIS', MaxLength = 30; + AutreppeLbl: Label 'AUTREPPE', MaxLength = 30; + ErquennesLbl: Label 'ERQUENNES', MaxLength = 30; + FaytlefrancLbl: Label 'FAYT-LE-FRANC', MaxLength = 30; + HonnellesLbl: Label 'HONNELLES', MaxLength = 30; + MarchipontLbl: Label 'MARCHIPONT', MaxLength = 30; + MontigniessurrocLbl: Label 'MONTIGNIES-SUR-ROC', MaxLength = 30; + OnneziesLbl: Label 'ONNEZIES', MaxLength = 30; + RoisinLbl: Label 'ROISIN', MaxLength = 30; + QuaregnonLbl: Label 'QUAREGNON', MaxLength = 30; + WasmuelLbl: Label 'WASMUEL', MaxLength = 30; + EreLbl: Label 'ERE', MaxLength = 30; + SaintmaurLbl: Label 'SAINT-MAUR', MaxLength = 30; + TournaiLbl: Label 'TOURNAI', MaxLength = 30; + OrcqLbl: Label 'ORCQ', MaxLength = 30; + EsplechinLbl: Label 'ESPLECHIN', MaxLength = 30; + FroyennesLbl: Label 'FROYENNES', MaxLength = 30; + FroidmontLbl: Label 'FROIDMONT', MaxLength = 30; + WillemeauLbl: Label 'WILLEMEAU', MaxLength = 30; + RamegnieschinLbl: Label 'RAMEGNIES-CHIN', MaxLength = 30; + TempleuveLbl: Label 'TEMPLEUVE', MaxLength = 30; + ChercqLbl: Label 'CHERCQ', MaxLength = 30; + BlandainLbl: Label 'BLANDAIN', MaxLength = 30; + HertainLbl: Label 'HERTAIN', MaxLength = 30; + LamainLbl: Label 'LAMAIN', MaxLength = 30; + MarquainLbl: Label 'MARQUAIN', MaxLength = 30; + GaurainramecroixtournaiLbl: Label 'GAURAIN-RAMECROIX (TOURNAI)', MaxLength = 30; + HavinnesLbl: Label 'HAVINNES', MaxLength = 30; + BeclersLbl: Label 'BECLERS', MaxLength = 30; + ThimougiesLbl: Label 'THIMOUGIES', MaxLength = 30; + BarryLbl: Label 'BARRY', MaxLength = 30; + MauldeLbl: Label 'MAULDE', MaxLength = 30; + VaulxtournaiLbl: Label 'VAULX (TOURNAI)', MaxLength = 30; + VezonLbl: Label 'VEZON', MaxLength = 30; + KainLbl: Label 'KAIN', MaxLength = 30; + MellesLbl: Label 'MELLES', MaxLength = 30; + QuartesLbl: Label 'QUARTES', MaxLength = 30; + RumilliesLbl: Label 'RUMILLIES', MaxLength = 30; + MontsaintaubertLbl: Label 'MONT-SAINT-AUBERT', MaxLength = 30; + MourcourtLbl: Label 'MOURCOURT', MaxLength = 30; + WarchinLbl: Label 'WARCHIN', MaxLength = 30; + PeruwelzLbl: Label 'PERUWELZ', MaxLength = 30; + RoucourtLbl: Label 'ROUCOURT', MaxLength = 30; + BuryLbl: Label 'BURY', MaxLength = 30; + BonsecoursLbl: Label 'BON-SECOURS', MaxLength = 30; + BaugniesLbl: Label 'BAUGNIES', MaxLength = 30; + BraffeLbl: Label 'BRAFFE', MaxLength = 30; + BrasmenilLbl: Label 'BRASMENIL', MaxLength = 30; + CallenelleLbl: Label 'CALLENELLE', MaxLength = 30; + WasmesaudemezbriffoeilLbl: Label 'WASMES-AUDEMEZ-BRIFFOEIL', MaxLength = 30; + WiersLbl: Label 'WIERS', MaxLength = 30; + RumesLbl: Label 'RUMES', MaxLength = 30; + LaglanerieLbl: Label 'LA GLANERIE', MaxLength = 30; + TaintigniesLbl: Label 'TAINTIGNIES', MaxLength = 30; + BlehariesLbl: Label 'BLEHARIES', MaxLength = 30; + BrunehautLbl: Label 'BRUNEHAUT', MaxLength = 30; + GuigniesLbl: Label 'GUIGNIES', MaxLength = 30; + HollainLbl: Label 'HOLLAIN', MaxLength = 30; + JollainmerlinLbl: Label 'JOLLAIN-MERLIN', MaxLength = 30; + WezvelvainLbl: Label 'WEZ-VELVAIN', MaxLength = 30; + LesdainLbl: Label 'LESDAIN', MaxLength = 30; + LaplaigneLbl: Label 'LAPLAIGNE', MaxLength = 30; + RongyLbl: Label 'RONGY', MaxLength = 30; + HowardriesLbl: Label 'HOWARDRIES', MaxLength = 30; + AntoingLbl: Label 'ANTOING', MaxLength = 30; + MaubrayLbl: Label 'MAUBRAY', MaxLength = 30; + PeronneslezantoingLbl: Label 'PERONNES-LEZ-ANTOING', MaxLength = 30; + BruyelleLbl: Label 'BRUYELLE', MaxLength = 30; + CalonneLbl: Label 'CALONNE', MaxLength = 30; + FontenoyLbl: Label 'FONTENOY', MaxLength = 30; + LuingneLbl: Label 'LUINGNE', MaxLength = 30; + MoeskroenLbl: Label 'MOESKROEN', MaxLength = 30; + MouscronLbl: Label 'MOUSCRON', MaxLength = 30; + DottenijsLbl: Label 'DOTTENIJS', MaxLength = 30; + DottigniesLbl: Label 'DOTTIGNIES', MaxLength = 30; + HerseauxLbl: Label 'HERSEAUX', MaxLength = 30; + BailleulLbl: Label 'BAILLEUL', MaxLength = 30; + EstaimbourgLbl: Label 'ESTAIMBOURG', MaxLength = 30; + EstaimpuisLbl: Label 'ESTAIMPUIS', MaxLength = 30; + EvregniesLbl: Label 'EVREGNIES', MaxLength = 30; + LeersnordLbl: Label 'LEERS-NORD', MaxLength = 30; + NechinLbl: Label 'NECHIN', MaxLength = 30; + SaintlegerhtLbl: Label 'SAINT-LEGER (HT.)', MaxLength = 30; + PecqLbl: Label 'PECQ', MaxLength = 30; + WarcoingLbl: Label 'WARCOING', MaxLength = 30; + HerinneslezpecqLbl: Label 'HERINNES-LEZ-PECQ', MaxLength = 30; + EsquelmesLbl: Label 'ESQUELMES', MaxLength = 30; + ObigiesLbl: Label 'OBIGIES', MaxLength = 30; + AmougiesLbl: Label 'AMOUGIES', MaxLength = 30; + AnseroeulLbl: Label 'ANSEROEUL', MaxLength = 30; + MontdelenclusLbl: Label 'MONT-DE-L''ENCLUS', MaxLength = 30; + OrroirLbl: Label 'ORROIR', MaxLength = 30; + RusseigniesLbl: Label 'RUSSEIGNIES', MaxLength = 30; + CelleshtLbl: Label 'CELLES (HT.)', MaxLength = 30; + EscanafflesLbl: Label 'ESCANAFFLES', MaxLength = 30; + MolenbaixLbl: Label 'MOLENBAIX', MaxLength = 30; + PopuellesLbl: Label 'POPUELLES', MaxLength = 30; + PottesLbl: Label 'POTTES', MaxLength = 30; + VelainesLbl: Label 'VELAINES', MaxLength = 30; + CominesLbl: Label 'COMINES', MaxLength = 30; + ComineswarnetonLbl: Label 'COMINES-WARNETON', MaxLength = 30; + KomenLbl: Label 'KOMEN', MaxLength = 30; + KomenwaastenLbl: Label 'KOMEN-WAASTEN', MaxLength = 30; + HouthemcominesLbl: Label 'HOUTHEM (COMINES)', MaxLength = 30; + PloegsteertLbl: Label 'PLOEGSTEERT', MaxLength = 30; + BizetLbl: Label 'BIZET', MaxLength = 30; + BaswarnetonLbl: Label 'BAS-WARNETON', MaxLength = 30; + NeerwaastenLbl: Label 'NEERWAASTEN', MaxLength = 30; + WaastenLbl: Label 'WAASTEN', MaxLength = 30; + WarnetonLbl: Label 'WARNETON', MaxLength = 30; + AthLbl: Label 'ATH', MaxLength = 30; + LanquesaintLbl: Label 'LANQUESAINT', MaxLength = 30; + IrchonwelzLbl: Label 'IRCHONWELZ', MaxLength = 30; + OrmeigniesLbl: Label 'ORMEIGNIES', MaxLength = 30; + BouvigniesLbl: Label 'BOUVIGNIES', MaxLength = 30; + OstichesLbl: Label 'OSTICHES', MaxLength = 30; + RebaixLbl: Label 'REBAIX', MaxLength = 30; + MaffleLbl: Label 'MAFFLE', MaxLength = 30; + ArbrehtLbl: Label 'ARBRE (HT.)', MaxLength = 30; + HoutaingLbl: Label 'HOUTAING', MaxLength = 30; + LigneLbl: Label 'LIGNE', MaxLength = 30; + MainvaultLbl: Label 'MAINVAULT', MaxLength = 30; + MoulbaixLbl: Label 'MOULBAIX', MaxLength = 30; + VillersnotredameLbl: Label 'VILLERS-NOTRE-DAME', MaxLength = 30; + VillerssaintamandLbl: Label 'VILLERS-SAINT-AMAND', MaxLength = 30; + GhislenghienLbl: Label 'GHISLENGHIEN', MaxLength = 30; + IsieresLbl: Label 'ISIERES', MaxLength = 30; + MeslinlevequeLbl: Label 'MESLIN-L''EVEQUE', MaxLength = 30; + GibecqLbl: Label 'GIBECQ', MaxLength = 30; + BassillyLbl: Label 'BASSILLY', MaxLength = 30; + FoulengLbl: Label 'FOULENG', MaxLength = 30; + GondregniesLbl: Label 'GONDREGNIES', MaxLength = 30; + GratyLbl: Label 'GRATY', MaxLength = 30; + HellebecqLbl: Label 'HELLEBECQ', MaxLength = 30; + HoveshtLbl: Label 'HOVES (HT.)', MaxLength = 30; + SillyLbl: Label 'SILLY', MaxLength = 30; + ThoricourtLbl: Label 'THORICOURT', MaxLength = 30; + EdingenLbl: Label 'EDINGEN', MaxLength = 30; + EnghienLbl: Label 'ENGHIEN', MaxLength = 30; + LettelingenLbl: Label 'LETTELINGEN', MaxLength = 30; + MarcqLbl: Label 'MARCQ', MaxLength = 30; + MarkLbl: Label 'MARK', MaxLength = 30; + PetitenghienLbl: Label 'PETIT-ENGHIEN', MaxLength = 30; + LessinesLbl: Label 'LESSINES', MaxLength = 30; + PapigniesLbl: Label 'PAPIGNIES', MaxLength = 30; + WannebecqLbl: Label 'WANNEBECQ', MaxLength = 30; + OgyLbl: Label 'OGY', MaxLength = 30; + GhoyLbl: Label 'GHOY', MaxLength = 30; + DeuxacrenLbl: Label 'DEUX-ACREN', MaxLength = 30; + BoisdelessinesLbl: Label 'BOIS-DE-LESSINES', MaxLength = 30; + OlligniesLbl: Label 'OLLIGNIES', MaxLength = 30; + BauffeLbl: Label 'BAUFFE', MaxLength = 30; + CambronsaintvincentLbl: Label 'CAMBRON-SAINT-VINCENT', MaxLength = 30; + LensLbl: Label 'LENS', MaxLength = 30; + LombiseLbl: Label 'LOMBISE', MaxLength = 30; + MontignieslezlensLbl: Label 'MONTIGNIES-LEZ-LENS', MaxLength = 30; + FlobecqLbl: Label 'FLOBECQ', MaxLength = 30; + VloesbergLbl: Label 'VLOESBERG', MaxLength = 30; + EllezellesLbl: Label 'ELLEZELLES', MaxLength = 30; + LahamaideLbl: Label 'LAHAMAIDE', MaxLength = 30; + WodecqLbl: Label 'WODECQ', MaxLength = 30; + GrandmetzLbl: Label 'GRANDMETZ', MaxLength = 30; + LeuzeenhainautLbl: Label 'LEUZE-EN-HAINAUT', MaxLength = 30; + ThieulainLbl: Label 'THIEULAIN', MaxLength = 30; + BlicquyLbl: Label 'BLICQUY', MaxLength = 30; + ChapelleaoieLbl: Label 'CHAPELLE-A-OIE', MaxLength = 30; + ChapelleawattinesLbl: Label 'CHAPELLE-A-WATTINES', MaxLength = 30; + PipaixLbl: Label 'PIPAIX', MaxLength = 30; + TourpesLbl: Label 'TOURPES', MaxLength = 30; + WillaupuisLbl: Label 'WILLAUPUIS', MaxLength = 30; + GallaixLbl: Label 'GALLAIX', MaxLength = 30; + AnvaingLbl: Label 'ANVAING', MaxLength = 30; + ArcainieresLbl: Label 'ARC-AINIERES', MaxLength = 30; + ArcwattripontLbl: Label 'ARC-WATTRIPONT', MaxLength = 30; + CordesLbl: Label 'CORDES', MaxLength = 30; + EllignieslezfrasnesLbl: Label 'ELLIGNIES-LEZ-FRASNES', MaxLength = 30; + ForesthtLbl: Label 'FOREST (HT.)', MaxLength = 30; + FrasneslezanvaingLbl: Label 'FRASNES-LEZ-ANVAING', MaxLength = 30; + WattripontLbl: Label 'WATTRIPONT', MaxLength = 30; + BuissenalLbl: Label 'BUISSENAL', MaxLength = 30; + FrasneslezbuissenalLbl: Label 'FRASNES-LEZ-BUISSENAL', MaxLength = 30; + HacquegniesLbl: Label 'HACQUEGNIES', MaxLength = 30; + HerquegiesLbl: Label 'HERQUEGIES', MaxLength = 30; + MontroeulauboisLbl: Label 'MONTROEUL-AU-BOIS', MaxLength = 30; + MoustierhtLbl: Label 'MOUSTIER (HT.)', MaxLength = 30; + OeudeghienLbl: Label 'OEUDEGHIEN', MaxLength = 30; + DergneauLbl: Label 'DERGNEAU', MaxLength = 30; + SaintsauveurLbl: Label 'SAINT-SAUVEUR', MaxLength = 30; + BrugeletteLbl: Label 'BRUGELETTE', MaxLength = 30; + CambroncasteauLbl: Label 'CAMBRON-CASTEAU', MaxLength = 30; + AttreLbl: Label 'ATTRE', MaxLength = 30; + MevergnieslezlensLbl: Label 'MEVERGNIES-LEZ-LENS', MaxLength = 30; + GagesLbl: Label 'GAGES', MaxLength = 30; + ChievresLbl: Label 'CHIEVRES', MaxLength = 30; + GrosageLbl: Label 'GROSAGE', MaxLength = 30; + HuissigniesLbl: Label 'HUISSIGNIES', MaxLength = 30; + LadeuzeLbl: Label 'LADEUZE', MaxLength = 30; + TongresaintmartinLbl: Label 'TONGRE-SAINT-MARTIN', MaxLength = 30; + TongrenotredameLbl: Label 'TONGRE-NOTRE-DAME', MaxLength = 30; + BeloeilLbl: Label 'BELOEIL', MaxLength = 30; + BaseclesLbl: Label 'BASECLES', MaxLength = 30; + RamegniesLbl: Label 'RAMEGNIES', MaxLength = 30; + ThumaideLbl: Label 'THUMAIDE', MaxLength = 30; + WadelincourtLbl: Label 'WADELINCOURT', MaxLength = 30; + AubechiesLbl: Label 'AUBECHIES', MaxLength = 30; + ElligniessainteanneLbl: Label 'ELLIGNIES-SAINTE-ANNE', MaxLength = 30; + QuevaucampsLbl: Label 'QUEVAUCAMPS', MaxLength = 30; + GrandgliseLbl: Label 'GRANDGLISE', MaxLength = 30; + StambrugesLbl: Label 'STAMBRUGES', MaxLength = 30; + BruggeLbl: Label 'BRUGGE', MaxLength = 30; + KoolkerkeLbl: Label 'KOOLKERKE', MaxLength = 30; + HertsbergeLbl: Label 'HERTSBERGE', MaxLength = 30; + OostkampLbl: Label 'OOSTKAMP', MaxLength = 30; + RuddervoordeLbl: Label 'RUDDERVOORDE', MaxLength = 30; + WaardammeLbl: Label 'WAARDAMME', MaxLength = 30; + SintandriesLbl: Label 'SINT-ANDRIES', MaxLength = 30; + SintmichielsLbl: Label 'SINT-MICHIELS', MaxLength = 30; + LoppemLbl: Label 'LOPPEM', MaxLength = 30; + VeldegemLbl: Label 'VELDEGEM', MaxLength = 30; + ZedelgemLbl: Label 'ZEDELGEM', MaxLength = 30; + AartrijkeLbl: Label 'AARTRIJKE', MaxLength = 30; + KnokkeLbl: Label 'KNOKKE', MaxLength = 30; + KnokkeheistLbl: Label 'KNOKKE-HEIST', MaxLength = 30; + WestkapelleLbl: Label 'WESTKAPELLE', MaxLength = 30; + HeistaanzeeLbl: Label 'HEIST-AAN-ZEE', MaxLength = 30; + RamskapelleknokkeheistLbl: Label 'RAMSKAPELLE (KNOKKE-HEIST)', MaxLength = 30; + AssebroekLbl: Label 'ASSEBROEK', MaxLength = 30; + SintkruisbruggeLbl: Label 'SINT-KRUIS (BRUGGE)', MaxLength = 30; + DammeLbl: Label 'DAMME', MaxLength = 30; + HoekeLbl: Label 'HOEKE', MaxLength = 30; + LapscheureLbl: Label 'LAPSCHEURE', MaxLength = 30; + MoerkerkeLbl: Label 'MOERKERKE', MaxLength = 30; + OostkerkedammeLbl: Label 'OOSTKERKE (DAMME)', MaxLength = 30; + SijseleLbl: Label 'SIJSELE', MaxLength = 30; + BlankenbergeLbl: Label 'BLANKENBERGE', MaxLength = 30; + UitkerkeLbl: Label 'UITKERKE', MaxLength = 30; + HoutaveLbl: Label 'HOUTAVE', MaxLength = 30; + MeetkerkeLbl: Label 'MEETKERKE', MaxLength = 30; + NieuwmunsterLbl: Label 'NIEUWMUNSTER', MaxLength = 30; + ZuienkerkeLbl: Label 'ZUIENKERKE', MaxLength = 30; + DudzeleLbl: Label 'DUDZELE', MaxLength = 30; + LissewegeLbl: Label 'LISSEWEGE', MaxLength = 30; + ZeebruggebruggeLbl: Label 'ZEEBRUGGE (BRUGGE)', MaxLength = 30; + OostendeLbl: Label 'OOSTENDE', MaxLength = 30; + SteneLbl: Label 'STENE', MaxLength = 30; + ZandvoordeoostendeLbl: Label 'ZANDVOORDE (OOSTENDE)', MaxLength = 30; + DehaanLbl: Label 'DE HAAN', MaxLength = 30; + KlemskerkeLbl: Label 'KLEMSKERKE', MaxLength = 30; + WenduineLbl: Label 'WENDUINE', MaxLength = 30; + VlissegemLbl: Label 'VLISSEGEM', MaxLength = 30; + MiddelkerkeLbl: Label 'MIDDELKERKE', MaxLength = 30; + WilskerkeLbl: Label 'WILSKERKE', MaxLength = 30; + LeffingeLbl: Label 'LEFFINGE', MaxLength = 30; + MannekensvereLbl: Label 'MANNEKENSVERE', MaxLength = 30; + SchoreLbl: Label 'SCHORE', MaxLength = 30; + SintpieterskapellewvlLbl: Label 'SINT-PIETERS-KAPELLE (W.-VL.)', MaxLength = 30; + SlijpeLbl: Label 'SLIJPE', MaxLength = 30; + SpermalieLbl: Label 'SPERMALIE', MaxLength = 30; + LombardsijdeLbl: Label 'LOMBARDSIJDE', MaxLength = 30; + WestendeLbl: Label 'WESTENDE', MaxLength = 30; + BredeneLbl: Label 'BREDENE', MaxLength = 30; + EttelgemLbl: Label 'ETTELGEM', MaxLength = 30; + OudenburgLbl: Label 'OUDENBURG', MaxLength = 30; + RoksemLbl: Label 'ROKSEM', MaxLength = 30; + WestkerkeLbl: Label 'WESTKERKE', MaxLength = 30; + GistelLbl: Label 'GISTEL', MaxLength = 30; + MoereLbl: Label 'MOERE', MaxLength = 30; + SnaaskerkeLbl: Label 'SNAASKERKE', MaxLength = 30; + ZevekoteLbl: Label 'ZEVEKOTE', MaxLength = 30; + BekegemLbl: Label 'BEKEGEM', MaxLength = 30; + EernegemLbl: Label 'EERNEGEM', MaxLength = 30; + IchtegemLbl: Label 'ICHTEGEM', MaxLength = 30; + JabbekeLbl: Label 'JABBEKE', MaxLength = 30; + SnellegemLbl: Label 'SNELLEGEM', MaxLength = 30; + StalhilleLbl: Label 'STALHILLE', MaxLength = 30; + VarsenareLbl: Label 'VARSENARE', MaxLength = 30; + ZerkegemLbl: Label 'ZERKEGEM', MaxLength = 30; + BissegemLbl: Label 'BISSEGEM', MaxLength = 30; + HeuleLbl: Label 'HEULE', MaxLength = 30; + BellegemLbl: Label 'BELLEGEM', MaxLength = 30; + KooigemLbl: Label 'KOOIGEM', MaxLength = 30; + MarkekortrijkLbl: Label 'MARKE (KORTRIJK)', MaxLength = 30; + RollegemLbl: Label 'ROLLEGEM', MaxLength = 30; + AalbekeLbl: Label 'AALBEKE', MaxLength = 30; + KuurneLbl: Label 'KUURNE', MaxLength = 30; + HarelbekeLbl: Label 'HARELBEKE', MaxLength = 30; + BavikhoveLbl: Label 'BAVIKHOVE', MaxLength = 30; + HulsteLbl: Label 'HULSTE', MaxLength = 30; + DeerlijkLbl: Label 'DEERLIJK', MaxLength = 30; + ZwevegemLbl: Label 'ZWEVEGEM', MaxLength = 30; + HeestertLbl: Label 'HEESTERT', MaxLength = 30; + MoenLbl: Label 'MOEN', MaxLength = 30; + OtegemLbl: Label 'OTEGEM', MaxLength = 30; + SintdenijsLbl: Label 'SINT-DENIJS', MaxLength = 30; + GullegemLbl: Label 'GULLEGEM', MaxLength = 30; + MoorseleLbl: Label 'MOORSELE', MaxLength = 30; + WevelgemLbl: Label 'WEVELGEM', MaxLength = 30; + AnzegemLbl: Label 'ANZEGEM', MaxLength = 30; + GijzelbrechtegemLbl: Label 'GIJZELBRECHTEGEM', MaxLength = 30; + IngooigemLbl: Label 'INGOOIGEM', MaxLength = 30; + VichteLbl: Label 'VICHTE', MaxLength = 30; + KasterLbl: Label 'KASTER', MaxLength = 30; + TiegemLbl: Label 'TIEGEM', MaxLength = 30; + AvelgemLbl: Label 'AVELGEM', MaxLength = 30; + KerkhoveLbl: Label 'KERKHOVE', MaxLength = 30; + WaarmaardeLbl: Label 'WAARMAARDE', MaxLength = 30; + OutrijveLbl: Label 'OUTRIJVE', MaxLength = 30; + BossuitLbl: Label 'BOSSUIT', MaxLength = 30; + EspierresLbl: Label 'ESPIERRES', MaxLength = 30; + EspierreshelchinLbl: Label 'ESPIERRES-HELCHIN', MaxLength = 30; + HelchinLbl: Label 'HELCHIN', MaxLength = 30; + HelkijnLbl: Label 'HELKIJN', MaxLength = 30; + SpiereLbl: Label 'SPIERE', MaxLength = 30; + SpierehelkijnLbl: Label 'SPIERE-HELKIJN', MaxLength = 30; + BeerstLbl: Label 'BEERST', MaxLength = 30; + DiksmuideLbl: Label 'DIKSMUIDE', MaxLength = 30; + DriekapellenLbl: Label 'DRIEKAPELLEN', MaxLength = 30; + EsenLbl: Label 'ESEN', MaxLength = 30; + KaaskerkeLbl: Label 'KAASKERKE', MaxLength = 30; + KeiemLbl: Label 'KEIEM', MaxLength = 30; + LampernisseLbl: Label 'LAMPERNISSE', MaxLength = 30; + LekeLbl: Label 'LEKE', MaxLength = 30; + NieuwkapelleLbl: Label 'NIEUWKAPELLE', MaxLength = 30; + OostkerkediksmuideLbl: Label 'OOSTKERKE (DIKSMUIDE)', MaxLength = 30; + OudekapelleLbl: Label 'OUDEKAPELLE', MaxLength = 30; + PervijzeLbl: Label 'PERVIJZE', MaxLength = 30; + SintjacobskapelleLbl: Label 'SINT-JACOBS-KAPELLE', MaxLength = 30; + StuivekenskerkeLbl: Label 'STUIVEKENSKERKE', MaxLength = 30; + VladsloLbl: Label 'VLADSLO', MaxLength = 30; + WoumenLbl: Label 'WOUMEN', MaxLength = 30; + HandzameLbl: Label 'HANDZAME', MaxLength = 30; + KortemarkLbl: Label 'KORTEMARK', MaxLength = 30; + WerkenLbl: Label 'WERKEN', MaxLength = 30; + ZarrenLbl: Label 'ZARREN', MaxLength = 30; + NieuwpoortLbl: Label 'NIEUWPOORT', MaxLength = 30; + RamskapellenieuwpoortLbl: Label 'RAMSKAPELLE (NIEUWPOORT)', MaxLength = 30; + SintjorisnieuwpoortLbl: Label 'SINT-JORIS (NIEUWPOORT)', MaxLength = 30; + AvekapelleLbl: Label 'AVEKAPELLE', MaxLength = 30; + BeauvoordeLbl: Label 'BEAUVOORDE', MaxLength = 30; + BooitshoekeLbl: Label 'BOOITSHOEKE', MaxLength = 30; + BulskampLbl: Label 'BULSKAMP', MaxLength = 30; + DemoerenLbl: Label 'DE MOEREN', MaxLength = 30; + EggewaartskapelleLbl: Label 'EGGEWAARTSKAPELLE', MaxLength = 30; + HoutemwvlLbl: Label 'HOUTEM (W.-VL.)', MaxLength = 30; + SteenkerkewvlLbl: Label 'STEENKERKE (W.-VL.)', MaxLength = 30; + VeurneLbl: Label 'VEURNE', MaxLength = 30; + VinkemLbl: Label 'VINKEM', MaxLength = 30; + WulveringemLbl: Label 'WULVERINGEM', MaxLength = 30; + ZoutenaaieLbl: Label 'ZOUTENAAIE', MaxLength = 30; + OostvleterenLbl: Label 'OOSTVLETEREN', MaxLength = 30; + VleterenLbl: Label 'VLETEREN', MaxLength = 30; + WestvleterenLbl: Label 'WESTVLETEREN', MaxLength = 30; + WoestenLbl: Label 'WOESTEN', MaxLength = 30; + LoLbl: Label 'LO', MaxLength = 30; + LoreningeLbl: Label 'LO-RENINGE', MaxLength = 30; + NoordschoteLbl: Label 'NOORDSCHOTE', MaxLength = 30; + PollinkhoveLbl: Label 'POLLINKHOVE', MaxLength = 30; + ReningeLbl: Label 'RENINGE', MaxLength = 30; + HouthulstLbl: Label 'HOUTHULST', MaxLength = 30; + KlerkenLbl: Label 'KLERKEN', MaxLength = 30; + MerkemLbl: Label 'MERKEM', MaxLength = 30; + AdinkerkeLbl: Label 'ADINKERKE', MaxLength = 30; + DepanneLbl: Label 'DE PANNE', MaxLength = 30; + KoksijdeLbl: Label 'KOKSIJDE', MaxLength = 30; + OostduinkerkeLbl: Label 'OOSTDUINKERKE', MaxLength = 30; + WulpenLbl: Label 'WULPEN', MaxLength = 30; + BovekerkeLbl: Label 'BOVEKERKE', MaxLength = 30; + KoekelareLbl: Label 'KOEKELARE', MaxLength = 30; + ZandeLbl: Label 'ZANDE', MaxLength = 30; + AlveringemLbl: Label 'ALVERINGEM', MaxLength = 30; + HoogstadeLbl: Label 'HOOGSTADE', MaxLength = 30; + OerenLbl: Label 'OEREN', MaxLength = 30; + SintrijkersLbl: Label 'SINT-RIJKERS', MaxLength = 30; + BeverenaandenijzerLbl: Label 'BEVEREN-AAN-DEN-IJZER', MaxLength = 30; + GijverinkhoveLbl: Label 'GIJVERINKHOVE', MaxLength = 30; + IzenbergeLbl: Label 'IZENBERGE', MaxLength = 30; + LeiseleLbl: Label 'LEISELE', MaxLength = 30; + StaveleLbl: Label 'STAVELE', MaxLength = 30; + AarseleLbl: Label 'AARSELE', MaxLength = 30; + KanegemLbl: Label 'KANEGEM', MaxLength = 30; + SchuiferskapelleLbl: Label 'SCHUIFERSKAPELLE', MaxLength = 30; + TieltLbl: Label 'TIELT', MaxLength = 30; + OoigemLbl: Label 'OOIGEM', MaxLength = 30; + SintbaafsvijveLbl: Label 'SINT-BAAFS-VIJVE', MaxLength = 30; + WielsbekeLbl: Label 'WIELSBEKE', MaxLength = 30; + DentergemLbl: Label 'DENTERGEM', MaxLength = 30; + MarkegemLbl: Label 'MARKEGEM', MaxLength = 30; + OeselgemLbl: Label 'OESELGEM', MaxLength = 30; + WakkenLbl: Label 'WAKKEN', MaxLength = 30; + BeernemLbl: Label 'BEERNEM', MaxLength = 30; + OedelemLbl: Label 'OEDELEM', MaxLength = 30; + SintjorisbeernemLbl: Label 'SINT-JORIS (BEERNEM)', MaxLength = 30; + EgemLbl: Label 'EGEM', MaxLength = 30; + PittemLbl: Label 'PITTEM', MaxLength = 30; + WingeneLbl: Label 'WINGENE', MaxLength = 30; + ZwevezeleLbl: Label 'ZWEVEZELE', MaxLength = 30; + RuiseledeLbl: Label 'RUISELEDE', MaxLength = 30; + MeulebekeLbl: Label 'MEULEBEKE', MaxLength = 30; + IngelmunsterLbl: Label 'INGELMUNSTER', MaxLength = 30; + OostrozebekeLbl: Label 'OOSTROZEBEKE', MaxLength = 30; + WaregemLbl: Label 'WAREGEM', MaxLength = 30; + BeverenleieLbl: Label 'BEVEREN (LEIE)', MaxLength = 30; + DesselgemLbl: Label 'DESSELGEM', MaxLength = 30; + SintelooisvijveLbl: Label 'SINT-ELOOIS-VIJVE', MaxLength = 30; + BeverenroeselareLbl: Label 'BEVEREN (ROESELARE)', MaxLength = 30; + OekeneLbl: Label 'OEKENE', MaxLength = 30; + RoeselareLbl: Label 'ROESELARE', MaxLength = 30; + RumbekeLbl: Label 'RUMBEKE', MaxLength = 30; + LichterveldeLbl: Label 'LICHTERVELDE', MaxLength = 30; + TorhoutLbl: Label 'TORHOUT', MaxLength = 30; + GitsLbl: Label 'GITS', MaxLength = 30; + HoogledeLbl: Label 'HOOGLEDE', MaxLength = 30; + OostnieuwkerkeLbl: Label 'OOSTNIEUWKERKE', MaxLength = 30; + StadenLbl: Label 'STADEN', MaxLength = 30; + WestrozebekeLbl: Label 'WESTROZEBEKE', MaxLength = 30; + ArdooieLbl: Label 'ARDOOIE', MaxLength = 30; + KoolskampLbl: Label 'KOOLSKAMP', MaxLength = 30; + LendeledeLbl: Label 'LENDELEDE', MaxLength = 30; + EmelgemLbl: Label 'EMELGEM', MaxLength = 30; + IzegemLbl: Label 'IZEGEM', MaxLength = 30; + KachtemLbl: Label 'KACHTEM', MaxLength = 30; + LedegemLbl: Label 'LEDEGEM', MaxLength = 30; + RollegemkapelleLbl: Label 'ROLLEGEM-KAPELLE', MaxLength = 30; + SintelooiswinkelLbl: Label 'SINT-ELOOIS-WINKEL', MaxLength = 30; + DadizeleLbl: Label 'DADIZELE', MaxLength = 30; + MoorsledeLbl: Label 'MOORSLEDE', MaxLength = 30; + BrielenLbl: Label 'BRIELEN', MaxLength = 30; + DikkebusLbl: Label 'DIKKEBUS', MaxLength = 30; + IeperLbl: Label 'IEPER', MaxLength = 30; + SintjanLbl: Label 'SINT-JAN', MaxLength = 30; + HollebekeLbl: Label 'HOLLEBEKE', MaxLength = 30; + VoormezeleLbl: Label 'VOORMEZELE', MaxLength = 30; + ZillebekeLbl: Label 'ZILLEBEKE', MaxLength = 30; + BoezingeLbl: Label 'BOEZINGE', MaxLength = 30; + ZuidschoteLbl: Label 'ZUIDSCHOTE', MaxLength = 30; + ElverdingeLbl: Label 'ELVERDINGE', MaxLength = 30; + VlamertingeLbl: Label 'VLAMERTINGE', MaxLength = 30; + BikschoteLbl: Label 'BIKSCHOTE', MaxLength = 30; + LangemarkLbl: Label 'LANGEMARK', MaxLength = 30; + LangemarkpoelkapelleLbl: Label 'LANGEMARK-POELKAPELLE', MaxLength = 30; + PoelkapelleLbl: Label 'POELKAPELLE', MaxLength = 30; + LauweLbl: Label 'LAUWE', MaxLength = 30; + MenenLbl: Label 'MENEN', MaxLength = 30; + RekkemLbl: Label 'REKKEM', MaxLength = 30; + GeluweLbl: Label 'GELUWE', MaxLength = 30; + WervikLbl: Label 'WERVIK', MaxLength = 30; + HeuvellandLbl: Label 'HEUVELLAND', MaxLength = 30; + NieuwkerkeLbl: Label 'NIEUWKERKE', MaxLength = 30; + DranouterLbl: Label 'DRANOUTER', MaxLength = 30; + WulvergemLbl: Label 'WULVERGEM', MaxLength = 30; + WijtschateLbl: Label 'WIJTSCHATE', MaxLength = 30; + WestouterLbl: Label 'WESTOUTER', MaxLength = 30; + KemmelLbl: Label 'KEMMEL', MaxLength = 30; + MesenLbl: Label 'MESEN', MaxLength = 30; + MessinesLbl: Label 'MESSINES', MaxLength = 30; + LokerLbl: Label 'LOKER', MaxLength = 30; + PoperingeLbl: Label 'POPERINGE', MaxLength = 30; + ReningelstLbl: Label 'RENINGELST', MaxLength = 30; + KrombekeLbl: Label 'KROMBEKE', MaxLength = 30; + ProvenLbl: Label 'PROVEN', MaxLength = 30; + RoesbruggeharingeLbl: Label 'ROESBRUGGE-HARINGE', MaxLength = 30; + WatouLbl: Label 'WATOU', MaxLength = 30; + BeselareLbl: Label 'BESELARE', MaxLength = 30; + GeluveldLbl: Label 'GELUVELD', MaxLength = 30; + PassendaleLbl: Label 'PASSENDALE', MaxLength = 30; + ZandvoordezonnebekeLbl: Label 'ZANDVOORDE (ZONNEBEKE)', MaxLength = 30; + ZonnebekeLbl: Label 'ZONNEBEKE', MaxLength = 30; + GentLbl: Label 'GENT', MaxLength = 30; + MariakerkegentLbl: Label 'MARIAKERKE (GENT)', MaxLength = 30; + DrongenLbl: Label 'DRONGEN', MaxLength = 30; + WondelgemLbl: Label 'WONDELGEM', MaxLength = 30; + SintamandsberggentLbl: Label 'SINT-AMANDSBERG (GENT)', MaxLength = 30; + OostakkerLbl: Label 'OOSTAKKER', MaxLength = 30; + DesteldonkLbl: Label 'DESTELDONK', MaxLength = 30; + MendonkLbl: Label 'MENDONK', MaxLength = 30; + SintkruiswinkelLbl: Label 'SINT-KRUIS-WINKEL', MaxLength = 30; + GentbruggeLbl: Label 'GENTBRUGGE', MaxLength = 30; + LedeberggentLbl: Label 'LEDEBERG (GENT)', MaxLength = 30; + AfsneeLbl: Label 'AFSNEE', MaxLength = 30; + SintdenijswestremLbl: Label 'SINT-DENIJS-WESTREM', MaxLength = 30; + ZwijnaardeLbl: Label 'ZWIJNAARDE', MaxLength = 30; + ZelzateLbl: Label 'ZELZATE', MaxLength = 30; + DestelbergenLbl: Label 'DESTELBERGEN', MaxLength = 30; + HeusdenovlLbl: Label 'HEUSDEN (O.-VL.)', MaxLength = 30; + BeerveldeLbl: Label 'BEERVELDE', MaxLength = 30; + LochristiLbl: Label 'LOCHRISTI', MaxLength = 30; + ZaffelareLbl: Label 'ZAFFELARE', MaxLength = 30; + ZevenekenLbl: Label 'ZEVENEKEN', MaxLength = 30; + GontrodeLbl: Label 'GONTRODE', MaxLength = 30; + MelleLbl: Label 'MELLE', MaxLength = 30; + NieuwkerkenwaasLbl: Label 'NIEUWKERKEN-WAAS', MaxLength = 30; + SintniklaasLbl: Label 'SINT-NIKLAAS', MaxLength = 30; + BelselesintniklaasLbl: Label 'BELSELE (SINT-NIKLAAS)', MaxLength = 30; + SinaaiwaasLbl: Label 'SINAAI-WAAS', MaxLength = 30; + BeverenwaasLbl: Label 'BEVEREN-WAAS', MaxLength = 30; + HaasdonkLbl: Label 'HAASDONK', MaxLength = 30; + KallobeverenwaasLbl: Label 'KALLO (BEVEREN-WAAS)', MaxLength = 30; + MelseleLbl: Label 'MELSELE', MaxLength = 30; + VraseneLbl: Label 'VRASENE', MaxLength = 30; + DoelLbl: Label 'DOEL', MaxLength = 30; + KallokieldrechtLbl: Label 'KALLO (KIELDRECHT)', MaxLength = 30; + KieldrechtbeverenLbl: Label 'KIELDRECHT (BEVEREN)', MaxLength = 30; + VerrebroekLbl: Label 'VERREBROEK', MaxLength = 30; + ElverseleLbl: Label 'ELVERSELE', MaxLength = 30; + SteendorpLbl: Label 'STEENDORP', MaxLength = 30; + TemseLbl: Label 'TEMSE', MaxLength = 30; + TielrodeLbl: Label 'TIELRODE', MaxLength = 30; + BazelLbl: Label 'BAZEL', MaxLength = 30; + KruibekeLbl: Label 'KRUIBEKE', MaxLength = 30; + RupelmondeLbl: Label 'RUPELMONDE', MaxLength = 30; + DaknamLbl: Label 'DAKNAM', MaxLength = 30; + EksaardeLbl: Label 'EKSAARDE', MaxLength = 30; + LokerenLbl: Label 'LOKEREN', MaxLength = 30; + DeklingeLbl: Label 'DE KLINGE', MaxLength = 30; + MeerdonkLbl: Label 'MEERDONK', MaxLength = 30; + SintgilliswaasLbl: Label 'SINT-GILLIS-WAAS', MaxLength = 30; + SintpauwelsLbl: Label 'SINT-PAUWELS', MaxLength = 30; + MoerbekewaasLbl: Label 'MOERBEKE-WAAS', MaxLength = 30; + WachtebekeLbl: Label 'WACHTEBEKE', MaxLength = 30; + KemzekeLbl: Label 'KEMZEKE', MaxLength = 30; + StekeneLbl: Label 'STEKENE', MaxLength = 30; + AppelsLbl: Label 'APPELS', MaxLength = 30; + BaasrodeLbl: Label 'BAASRODE', MaxLength = 30; + DendermondeLbl: Label 'DENDERMONDE', MaxLength = 30; + GrembergenLbl: Label 'GREMBERGEN', MaxLength = 30; + MespelareLbl: Label 'MESPELARE', MaxLength = 30; + OudegemLbl: Label 'OUDEGEM', MaxLength = 30; + SchoonaardeLbl: Label 'SCHOONAARDE', MaxLength = 30; + SintgillisbijdendermondeLbl: Label 'SINT-GILLIS-BIJ-DENDERMONDE', MaxLength = 30; + HammeovlLbl: Label 'HAMME (O.-VL.)', MaxLength = 30; + MoerzekeLbl: Label 'MOERZEKE', MaxLength = 30; + MassemenLbl: Label 'MASSEMEN', MaxLength = 30; + WestremLbl: Label 'WESTREM', MaxLength = 30; + WetterenLbl: Label 'WETTEREN', MaxLength = 30; + ZeleLbl: Label 'ZELE', MaxLength = 30; + WaasmunsterLbl: Label 'WAASMUNSTER', MaxLength = 30; + BuggenhoutLbl: Label 'BUGGENHOUT', MaxLength = 30; + OpdorpLbl: Label 'OPDORP', MaxLength = 30; + SchellebelleLbl: Label 'SCHELLEBELLE', MaxLength = 30; + SerskampLbl: Label 'SERSKAMP', MaxLength = 30; + WichelenLbl: Label 'WICHELEN', MaxLength = 30; + KalkenLbl: Label 'KALKEN', MaxLength = 30; + LaarneLbl: Label 'LAARNE', MaxLength = 30; + DenderbelleLbl: Label 'DENDERBELLE', MaxLength = 30; + LebbekeLbl: Label 'LEBBEKE', MaxLength = 30; + WiezeLbl: Label 'WIEZE', MaxLength = 30; + BerlareLbl: Label 'BERLARE', MaxLength = 30; + OvermereLbl: Label 'OVERMERE', MaxLength = 30; + UitbergenLbl: Label 'UITBERGEN', MaxLength = 30; + AalstLbl: Label 'AALST', MaxLength = 30; + GijzegemLbl: Label 'GIJZEGEM', MaxLength = 30; + HofstadeovlLbl: Label 'HOFSTADE (O.-VL.)', MaxLength = 30; + BaardegemLbl: Label 'BAARDEGEM', MaxLength = 30; + HerdersemLbl: Label 'HERDERSEM', MaxLength = 30; + MeldertovlLbl: Label 'MELDERT (O.-VL.)', MaxLength = 30; + MoorselLbl: Label 'MOORSEL', MaxLength = 30; + ErembodegemaalstLbl: Label 'EREMBODEGEM (AALST)', MaxLength = 30; + NieuwerkerkenaalstLbl: Label 'NIEUWERKERKEN (AALST)', MaxLength = 30; + ImpeLbl: Label 'IMPE', MaxLength = 30; + LedeLbl: Label 'LEDE', MaxLength = 30; + OordegemLbl: Label 'OORDEGEM', MaxLength = 30; + SmetledeLbl: Label 'SMETLEDE', MaxLength = 30; + WanzeleLbl: Label 'WANZELE', MaxLength = 30; + AppelterreeichemLbl: Label 'APPELTERRE-EICHEM', MaxLength = 30; + DenderwindekeLbl: Label 'DENDERWINDEKE', MaxLength = 30; + LieferingeLbl: Label 'LIEFERINGE', MaxLength = 30; + NederhasseltLbl: Label 'NEDERHASSELT', MaxLength = 30; + NinoveLbl: Label 'NINOVE', MaxLength = 30; + OkegemLbl: Label 'OKEGEM', MaxLength = 30; + VoordeLbl: Label 'VOORDE', MaxLength = 30; + PollareLbl: Label 'POLLARE', MaxLength = 30; + MeerbekeLbl: Label 'MEERBEKE', MaxLength = 30; + NeigemLbl: Label 'NEIGEM', MaxLength = 30; + AspelareLbl: Label 'ASPELARE', MaxLength = 30; + OuterLbl: Label 'OUTER', MaxLength = 30; + AaigemLbl: Label 'AAIGEM', MaxLength = 30; + BambruggeLbl: Label 'BAMBRUGGE', MaxLength = 30; + BurstLbl: Label 'BURST', MaxLength = 30; + ErondegemLbl: Label 'ERONDEGEM', MaxLength = 30; + ErpeLbl: Label 'ERPE', MaxLength = 30; + ErpemereLbl: Label 'ERPE-MERE', MaxLength = 30; + MereLbl: Label 'MERE', MaxLength = 30; + OttergemLbl: Label 'OTTERGEM', MaxLength = 30; + VlekkemLbl: Label 'VLEKKEM', MaxLength = 30; + DenderhoutemLbl: Label 'DENDERHOUTEM', MaxLength = 30; + HaaltertLbl: Label 'HAALTERT', MaxLength = 30; + HeldergemLbl: Label 'HELDERGEM', MaxLength = 30; + KerkskenLbl: Label 'KERKSKEN', MaxLength = 30; + DenderleeuwLbl: Label 'DENDERLEEUW', MaxLength = 30; + IddergemLbl: Label 'IDDERGEM', MaxLength = 30; + WelleLbl: Label 'WELLE', MaxLength = 30; + GeraardsbergenLbl: Label 'GERAARDSBERGEN', MaxLength = 30; + GoeferdingeLbl: Label 'GOEFERDINGE', MaxLength = 30; + MoerbekeLbl: Label 'MOERBEKE', MaxLength = 30; + NederboelareLbl: Label 'NEDERBOELARE', MaxLength = 30; + OnkerzeleLbl: Label 'ONKERZELE', MaxLength = 30; + OphasseltLbl: Label 'OPHASSELT', MaxLength = 30; + OverboelareLbl: Label 'OVERBOELARE', MaxLength = 30; + VianeLbl: Label 'VIANE', MaxLength = 30; + ZarlardingeLbl: Label 'ZARLARDINGE', MaxLength = 30; + GrimmingeLbl: Label 'GRIMMINGE', MaxLength = 30; + IdegemLbl: Label 'IDEGEM', MaxLength = 30; + NieuwenhoveLbl: Label 'NIEUWENHOVE', MaxLength = 30; + SchendelbekeLbl: Label 'SCHENDELBEKE', MaxLength = 30; + SmeerebbevloerzegemLbl: Label 'SMEEREBBE-VLOERZEGEM', MaxLength = 30; + WaarbekeLbl: Label 'WAARBEKE', MaxLength = 30; + ZandbergenLbl: Label 'ZANDBERGEN', MaxLength = 30; + BavegemLbl: Label 'BAVEGEM', MaxLength = 30; + SintlievenshoutemLbl: Label 'SINT-LIEVENS-HOUTEM', MaxLength = 30; + VlierzeleLbl: Label 'VLIERZELE', MaxLength = 30; + ZonnegemLbl: Label 'ZONNEGEM', MaxLength = 30; + LetterhoutemLbl: Label 'LETTERHOUTEM', MaxLength = 30; + HerzeleLbl: Label 'HERZELE', MaxLength = 30; + HillegemLbl: Label 'HILLEGEM', MaxLength = 30; + SintantelinksLbl: Label 'SINT-ANTELINKS', MaxLength = 30; + SintlievensesseLbl: Label 'SINT-LIEVENS-ESSE', MaxLength = 30; + SteenhuizewijnhuizeLbl: Label 'STEENHUIZE-WIJNHUIZE', MaxLength = 30; + WoubrechtegemLbl: Label 'WOUBRECHTEGEM', MaxLength = 30; + RessegemLbl: Label 'RESSEGEM', MaxLength = 30; + BorsbekeLbl: Label 'BORSBEKE', MaxLength = 30; + DeftingeLbl: Label 'DEFTINGE', MaxLength = 30; + LierdeLbl: Label 'LIERDE', MaxLength = 30; + SintmarialierdeLbl: Label 'SINT-MARIA-LIERDE', MaxLength = 30; + HemelveerdegemLbl: Label 'HEMELVEERDEGEM', MaxLength = 30; + SintmartenslierdeLbl: Label 'SINT-MARTENS-LIERDE', MaxLength = 30; + RenaixLbl: Label 'RENAIX', MaxLength = 30; + RonseLbl: Label 'RONSE', MaxLength = 30; + EleneLbl: Label 'ELENE', MaxLength = 30; + ErwetegemLbl: Label 'ERWETEGEM', MaxLength = 30; + GodveerdegemLbl: Label 'GODVEERDEGEM', MaxLength = 30; + GrotenbergeLbl: Label 'GROTENBERGE', MaxLength = 30; + LeeuwergemLbl: Label 'LEEUWERGEM', MaxLength = 30; + OombergenzottegemLbl: Label 'OOMBERGEN (ZOTTEGEM)', MaxLength = 30; + SintgoriksoudenhoveLbl: Label 'SINT-GORIKS-OUDENHOVE', MaxLength = 30; + StmariaoudenhovezottegemLbl: Label 'ST.-MARIA-OUDENHOVE (ZOTTEGEM)', MaxLength = 30; + StrijpenLbl: Label 'STRIJPEN', MaxLength = 30; + VelzekeruddershoveLbl: Label 'VELZEKE-RUDDERSHOVE', MaxLength = 30; + ZottegemLbl: Label 'ZOTTEGEM', MaxLength = 30; + BeerlegemLbl: Label 'BEERLEGEM', MaxLength = 30; + DikkeleLbl: Label 'DIKKELE', MaxLength = 30; + HundelgemLbl: Label 'HUNDELGEM', MaxLength = 30; + MeilegemLbl: Label 'MEILEGEM', MaxLength = 30; + MunkzwalmLbl: Label 'MUNKZWALM', MaxLength = 30; + PaulatemLbl: Label 'PAULATEM', MaxLength = 30; + RoborstLbl: Label 'ROBORST', MaxLength = 30; + RozebekeLbl: Label 'ROZEBEKE', MaxLength = 30; + SintblasiusboekelLbl: Label 'SINT-BLASIUS-BOEKEL', MaxLength = 30; + SintdenijsboekelLbl: Label 'SINT-DENIJS-BOEKEL', MaxLength = 30; + SintmarialatemLbl: Label 'SINT-MARIA-LATEM', MaxLength = 30; + ZwalmLbl: Label 'ZWALM', MaxLength = 30; + NederzwalmhermelgemLbl: Label 'NEDERZWALM-HERMELGEM', MaxLength = 30; + BrakelLbl: Label 'BRAKEL', MaxLength = 30; + ElstLbl: Label 'ELST', MaxLength = 30; + EverbeekLbl: Label 'EVERBEEK', MaxLength = 30; + MichelbekeLbl: Label 'MICHELBEKE', MaxLength = 30; + NederbrakelLbl: Label 'NEDERBRAKEL', MaxLength = 30; + OpbrakelLbl: Label 'OPBRAKEL', MaxLength = 30; + ZegelsemLbl: Label 'ZEGELSEM', MaxLength = 30; + ParikeLbl: Label 'PARIKE', MaxLength = 30; + HorebekeLbl: Label 'HOREBEKE', MaxLength = 30; + SintkornelishorebekeLbl: Label 'SINT-KORNELIS-HOREBEKE', MaxLength = 30; + SintmariahorebekeLbl: Label 'SINT-MARIA-HOREBEKE', MaxLength = 30; + EtikhoveLbl: Label 'ETIKHOVE', MaxLength = 30; + MaarkedalLbl: Label 'MAARKEDAL', MaxLength = 30; + MaarkekerkemLbl: Label 'MAARKE-KERKEM', MaxLength = 30; + NukerkeLbl: Label 'NUKERKE', MaxLength = 30; + SchorisseLbl: Label 'SCHORISSE', MaxLength = 30; + BerchemovlLbl: Label 'BERCHEM (O.-VL.)', MaxLength = 30; + KluisbergenLbl: Label 'KLUISBERGEN', MaxLength = 30; + KwaremontLbl: Label 'KWAREMONT', MaxLength = 30; + RuienLbl: Label 'RUIEN', MaxLength = 30; + ZulzekeLbl: Label 'ZULZEKE', MaxLength = 30; + BevereLbl: Label 'BEVERE', MaxLength = 30; + EdelareLbl: Label 'EDELARE', MaxLength = 30; + EineLbl: Label 'EINE', MaxLength = 30; + EnameLbl: Label 'ENAME', MaxLength = 30; + HeurneLbl: Label 'HEURNE', MaxLength = 30; + LeupegemLbl: Label 'LEUPEGEM', MaxLength = 30; + MaterLbl: Label 'MATER', MaxLength = 30; + MeldenLbl: Label 'MELDEN', MaxLength = 30; + MullemLbl: Label 'MULLEM', MaxLength = 30; + NederenameLbl: Label 'NEDERENAME', MaxLength = 30; + OudenaardeLbl: Label 'OUDENAARDE', MaxLength = 30; + VolkegemLbl: Label 'VOLKEGEM', MaxLength = 30; + WeldenLbl: Label 'WELDEN', MaxLength = 30; + HuiseLbl: Label 'HUISE', MaxLength = 30; + OuwegemLbl: Label 'OUWEGEM', MaxLength = 30; + ZingemLbl: Label 'ZINGEM', MaxLength = 30; + KruishoutemLbl: Label 'KRUISHOUTEM', MaxLength = 30; + NokereLbl: Label 'NOKERE', MaxLength = 30; + WannegemledeLbl: Label 'WANNEGEM-LEDE', MaxLength = 30; + ElsegemLbl: Label 'ELSEGEM', MaxLength = 30; + MoregemLbl: Label 'MOREGEM', MaxLength = 30; + OoikewortegempetegemLbl: Label 'OOIKE (WORTEGEM-PETEGEM)', MaxLength = 30; + PetegemaandescheldeLbl: Label 'PETEGEM-AAN-DE-SCHELDE', MaxLength = 30; + WortegemLbl: Label 'WORTEGEM', MaxLength = 30; + WortegempetegemLbl: Label 'WORTEGEM-PETEGEM', MaxLength = 30; + AsteneLbl: Label 'ASTENE', MaxLength = 30; + BachtemarialeerneLbl: Label 'BACHTE-MARIA-LEERNE', MaxLength = 30; + DeinzeLbl: Label 'DEINZE', MaxLength = 30; + GottemLbl: Label 'GOTTEM', MaxLength = 30; + GrammeneLbl: Label 'GRAMMENE', MaxLength = 30; + MeigemLbl: Label 'MEIGEM', MaxLength = 30; + PetegemaandeleieLbl: Label 'PETEGEM-AAN-DE-LEIE', MaxLength = 30; + SintmartensleerneLbl: Label 'SINT-MARTENS-LEERNE', MaxLength = 30; + VinktLbl: Label 'VINKT', MaxLength = 30; + WontergemLbl: Label 'WONTERGEM', MaxLength = 30; + ZeverenLbl: Label 'ZEVEREN', MaxLength = 30; + EkeLbl: Label 'EKE', MaxLength = 30; + NazarethLbl: Label 'NAZARETH', MaxLength = 30; + BottelareLbl: Label 'BOTTELARE', MaxLength = 30; + LembergeLbl: Label 'LEMBERGE', MaxLength = 30; + MelsenLbl: Label 'MELSEN', MaxLength = 30; + MerelbekeLbl: Label 'MERELBEKE', MaxLength = 30; + MunteLbl: Label 'MUNTE', MaxLength = 30; + SchelderodeLbl: Label 'SCHELDERODE', MaxLength = 30; + SintmartenslatemLbl: Label 'SINT-MARTENS-LATEM', MaxLength = 30; + DeurleLbl: Label 'DEURLE', MaxLength = 30; + DepinteLbl: Label 'DE PINTE', MaxLength = 30; + ZevergemLbl: Label 'ZEVERGEM', MaxLength = 30; + HansbekeLbl: Label 'HANSBEKE', MaxLength = 30; + LandegemLbl: Label 'LANDEGEM', MaxLength = 30; + MerendreeLbl: Label 'MERENDREE', MaxLength = 30; + NeveleLbl: Label 'NEVELE', MaxLength = 30; + PoeseleLbl: Label 'POESELE', MaxLength = 30; + VosselareLbl: Label 'VOSSELARE', MaxLength = 30; + BalegemLbl: Label 'BALEGEM', MaxLength = 30; + GijzenzeleLbl: Label 'GIJZENZELE', MaxLength = 30; + LandskouterLbl: Label 'LANDSKOUTER', MaxLength = 30; + MoortseleLbl: Label 'MOORTSELE', MaxLength = 30; + OosterzeleLbl: Label 'OOSTERZELE', MaxLength = 30; + ScheldewindekeLbl: Label 'SCHELDEWINDEKE', MaxLength = 30; + MachelenovlLbl: Label 'MACHELEN (O.-VL.)', MaxLength = 30; + OlseneLbl: Label 'OLSENE', MaxLength = 30; + ZulteLbl: Label 'ZULTE', MaxLength = 30; + AalterLbl: Label 'AALTER', MaxLength = 30; + LotenhulleLbl: Label 'LOTENHULLE', MaxLength = 30; + PoekeLbl: Label 'POEKE', MaxLength = 30; + BellemLbl: Label 'BELLEM', MaxLength = 30; + AsperLbl: Label 'ASPER', MaxLength = 30; + BaaigemLbl: Label 'BAAIGEM', MaxLength = 30; + DikkelvenneLbl: Label 'DIKKELVENNE', MaxLength = 30; + GavereLbl: Label 'GAVERE', MaxLength = 30; + SemmerzakeLbl: Label 'SEMMERZAKE', MaxLength = 30; + VursteLbl: Label 'VURSTE', MaxLength = 30; + EekloLbl: Label 'EEKLO', MaxLength = 30; + KnesselareLbl: Label 'KNESSELARE', MaxLength = 30; + UrselLbl: Label 'URSEL', MaxLength = 30; + LovendegemLbl: Label 'LOVENDEGEM', MaxLength = 30; + VinderhouteLbl: Label 'VINDERHOUTE', MaxLength = 30; + ZomergemLbl: Label 'ZOMERGEM', MaxLength = 30; + OostwinkelLbl: Label 'OOSTWINKEL', MaxLength = 30; + RonseleLbl: Label 'RONSELE', MaxLength = 30; + ErtveldeLbl: Label 'ERTVELDE', MaxLength = 30; + EvergemLbl: Label 'EVERGEM', MaxLength = 30; + KluizenLbl: Label 'KLUIZEN', MaxLength = 30; + SleidingeLbl: Label 'SLEIDINGE', MaxLength = 30; + WaarschootLbl: Label 'WAARSCHOOT', MaxLength = 30; + AssenedeLbl: Label 'ASSENEDE', MaxLength = 30; + BoekhouteLbl: Label 'BOEKHOUTE', MaxLength = 30; + BasseveldeLbl: Label 'BASSEVELDE', MaxLength = 30; + OosteekloLbl: Label 'OOSTEEKLO', MaxLength = 30; + KaprijkeLbl: Label 'KAPRIJKE', MaxLength = 30; + LembekeLbl: Label 'LEMBEKE', MaxLength = 30; + SintlaureinsLbl: Label 'SINT-LAUREINS', MaxLength = 30; + SintmargrieteLbl: Label 'SINT-MARGRIETE', MaxLength = 30; + SintjanineremoLbl: Label 'SINT-JAN-IN-EREMO', MaxLength = 30; + WaterlandoudemanLbl: Label 'WATERLAND-OUDEMAN', MaxLength = 30; + WatervlietLbl: Label 'WATERVLIET', MaxLength = 30; + MaldegemLbl: Label 'MALDEGEM', MaxLength = 30; + AdegemLbl: Label 'ADEGEM', MaxLength = 30; + MiddelburgLbl: Label 'MIDDELBURG', MaxLength = 30; + BirminghamLbl: Label 'BIRMINGHAM', MaxLength = 30; + SparkhillBirminghamLbl: Label 'SPARKHILL, BIRMINGHAM', MaxLength = 30; + BathLbl: Label 'BATH', MaxLength = 30; + CambridgeLbl: Label 'CAMBRIDGE', MaxLength = 30; + BristolLbl: Label 'BRISTOL', MaxLength = 30; + HytheLbl: Label 'HYTHE', MaxLength = 30; + CardiffLbl: Label 'CARDIFF', MaxLength = 30; + CoventryLbl: Label 'COVENTRY', MaxLength = 30; + BromsgroveLbl: Label 'BROMSGROVE', MaxLength = 30; + EdinburghLbl: Label 'EDINBURGH', MaxLength = 30; + DudleyLbl: Label 'DUDLEY', MaxLength = 30; + BromleyLbl: Label 'BROMLEY', MaxLength = 30; + SidcupLbl: Label 'SIDCUP', MaxLength = 30; + GloucesterLbl: Label 'GLOUCESTER', MaxLength = 30; + CheltenhamLbl: Label 'CHELTENHAM', MaxLength = 30; + GainsboroughLbl: Label 'GAINSBOROUGH', MaxLength = 30; + LiverpoolLbl: Label 'LIVERPOOL', MaxLength = 30; + RhylLbl: Label 'RHYL', MaxLength = 30; + LeicesterLbl: Label 'LEICESTER', MaxLength = 30; + LincolnLbl: Label 'LINCOLN', MaxLength = 30; + ManchesterLbl: Label 'MANCHESTER', MaxLength = 30; + BedfordLbl: Label 'BEDFORD', MaxLength = 30; + BletchleyLbl: Label 'BLETCHLEY', MaxLength = 30; + NewcastleLbl: Label 'NEWCASTLE', MaxLength = 30; + MaidstoneLbl: Label 'MAIDSTONE', MaxLength = 30; + LutonLbl: Label 'LUTON', MaxLength = 30; + TringLbl: Label 'TRING', MaxLength = 30; + RiponLbl: Label 'RIPON', MaxLength = 30; + NewportLbl: Label 'NEWPORT', MaxLength = 30; + PlymouthLbl: Label 'PLYMOUTH', MaxLength = 30; + PeterboroughLbl: Label 'PETERBOROUGH', MaxLength = 30; + MacclesfieldLbl: Label 'MACCLESFIELD', MaxLength = 30; + BrixhamLbl: Label 'BRIXHAM', MaxLength = 30; + AshfordLbl: Label 'ASHFORD', MaxLength = 30; + CheddingtonLbl: Label 'CHEDDINGTON', MaxLength = 30; + SwanseaLbl: Label 'SWANSEA', MaxLength = 30; + StratfordLbl: Label 'STRATFORD', MaxLength = 30; + PortsmouthLbl: Label 'PORTSMOUTH', MaxLength = 30; + NewquayLbl: Label 'NEWQUAY', MaxLength = 30; + KingsLynnLbl: Label 'KINGS LYNN', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'SOUTHSEA, PORTSMOUTH', MaxLength = 30; + WestEndLaneLbl: Label 'WEST END LANE', MaxLength = 30; + WatfordLbl: Label 'WATFORD', MaxLength = 30; + LondonLbl: Label 'LONDON', MaxLength = 30; + BorehamwoodLbl: Label 'BOREHAMWOOD', MaxLength = 30; + GuildfordLbl: Label 'GUILDFORD', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateShippingDataBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateShippingDataBE.Codeunit.al new file mode 100644 index 0000000000..ef3389ff5f --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateShippingDataBE.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 11354 "Create Shipping Data BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateShippingData: Codeunit "Create Shipping Data"; + begin + UpdateShipmentMethod(CreateShippingData.CFR(), 'CFR'); + UpdateShipmentMethod(CreateShippingData.CIF(), 'CIF'); + UpdateShipmentMethod(CreateShippingData.CIP(), 'CIP'); + UpdateShipmentMethod(CreateShippingData.CPT(), 'CPT'); + UpdateShipmentMethod(CreateShippingData.DAF(), 'DAF'); + UpdateShipmentMethod(CreateShippingData.DDP(), 'DDP'); + UpdateShipmentMethod(CreateShippingData.DDU(), 'DDU'); + UpdateShipmentMethod(CreateShippingData.DELIVERY(), 'XXX'); + UpdateShipmentMethod(CreateShippingData.DEQ(), 'DEQ'); + UpdateShipmentMethod(CreateShippingData.DES(), 'DES'); + UpdateShipmentMethod(CreateShippingData.EXW(), 'EXW'); + UpdateShipmentMethod(CreateShippingData.FAS(), 'FAS'); + UpdateShipmentMethod(CreateShippingData.FCA(), 'FCA'); + UpdateShipmentMethod(CreateShippingData.FOB(), 'FOB'); + UpdateShipmentMethod(CreateShippingData.PICKUP(), 'XXX'); + end; + + local procedure UpdateShipmentMethod(ShippingCode: Code[10]; IncoterminIntrastatDecl: Code[10]) + var + ShippingMethod: Record "Shipment Method"; + begin + if not ShippingMethod.Get(ShippingCode) then + exit; + + ShippingMethod.Validate("Incoterm in Intrastat Decl.", IncoterminIntrastatDecl); + ShippingMethod.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateTransactionSpecBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateTransactionSpecBE.Codeunit.al new file mode 100644 index 0000000000..21e435688e --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateTransactionSpecBE.Codeunit.al @@ -0,0 +1,133 @@ +codeunit 11393 "Create Transaction Spec. BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertTransactionSpeceficationData(CFR(), CostandFreightLbl); + InsertTransactionSpeceficationData(CIF(), CostInsuranceAndFreightLbl); + InsertTransactionSpeceficationData(CIP(), CarriageAndInsurancePaidLbl); + InsertTransactionSpeceficationData(CPT(), CarriagePaidtoLbl); + InsertTransactionSpeceficationData(DAF(), DeliveredAtFrontierLbl); + InsertTransactionSpeceficationData(DDP(), DeliveredDutyPaidLbl); + InsertTransactionSpeceficationData(DDU(), DeliveredDutyUnpaidLbl); + InsertTransactionSpeceficationData(DEQ(), DeliveredExQuayLbl); + InsertTransactionSpeceficationData(DES(), DeliveredExShipLbl); + InsertTransactionSpeceficationData(EXW(), ExWarehouseLbl); + InsertTransactionSpeceficationData(FAS(), FreeAlongsideShipLbl); + InsertTransactionSpeceficationData(FCA(), FreeCarrierLbl); + InsertTransactionSpeceficationData(FOB(), FreeonBoardLbl); + InsertTransactionSpeceficationData(XXX(), OtherShipmentConditionLbl); + end; + + local procedure InsertTransactionSpeceficationData(TransactionCode: COde[10]; TransactionText: Text[50]) + var + TransactionData: Record "Transaction Specification"; + begin + TransactionData.Init(); + TransactionData.Validate(Code, TransactionCode); + TransactionData.Validate(Text, TransactionText); + TransactionData.Insert(true); + end; + + procedure CFR(): Code[10] + begin + exit(CFRTok); + end; + + procedure CIF(): Code[10] + begin + exit(CIFTok); + end; + + procedure CIP(): Code[10] + begin + exit(CIPTok); + end; + + procedure CPT(): Code[10] + begin + exit(CPTTok); + end; + + procedure DAF(): Code[10] + begin + exit(DAFTok); + end; + + procedure DDP(): Code[10] + begin + exit(DDPTok); + end; + + procedure DDU(): Code[10] + begin + exit(DDUTok); + end; + + procedure DEQ(): Code[10] + begin + exit(DEQTok); + end; + + procedure DES(): Code[10] + begin + exit(DESTok); + end; + + procedure EXW(): Code[10] + begin + exit(EXWTok); + end; + + procedure FAS(): Code[10] + begin + exit(FASTok); + end; + + procedure FCA(): Code[10] + begin + exit(FCATok); + end; + + procedure FOB(): Code[10] + begin + exit(FOBTok); + end; + + procedure XXX(): Code[10] + begin + exit(XXXTok); + end; + + var + CFRTok: Label 'CFR', Locked = true, MaxLength = 10; + CIFTok: Label 'CIF', Locked = true, MaxLength = 10; + CIPTok: Label 'CIP', Locked = true, MaxLength = 10; + CPTTok: Label 'CPT', Locked = true, MaxLength = 10; + DAFTok: Label 'DAF', Locked = true, MaxLength = 10; + DDPTok: Label 'DDP', Locked = true, MaxLength = 10; + DDUTok: Label 'DDU', Locked = true, MaxLength = 10; + DEQTok: Label 'DEQ', Locked = true, MaxLength = 10; + DESTok: Label 'DES', Locked = true, MaxLength = 10; + EXWTok: Label 'EXW', Locked = true, MaxLength = 10; + FASTok: Label 'FAS', Locked = true, MaxLength = 10; + FCATok: Label 'FCA', Locked = true, MaxLength = 10; + FOBTok: Label 'FOB', Locked = true, MaxLength = 10; + XXXTok: Label 'XXX', Locked = true, MaxLength = 10; + CostandFreightLbl: Label 'Cost and Freight', MaxLength = 50; + CostInsuranceAndFreightLbl: Label 'Cost Insurance and Freight', MaxLength = 50; + CarriageAndInsurancePaidLbl: Label 'Carriage and Insurance Paid', MaxLength = 50; + CarriagePaidtoLbl: Label 'Carriage Paid to', MaxLength = 50; + DeliveredAtFrontierLbl: Label 'Delivered at Frontier', MaxLength = 50; + DeliveredDutyPaidLbl: Label 'Delivered Duty Paid', MaxLength = 50; + DeliveredDutyUnpaidLbl: Label 'Delivered Duty Unpaid', MaxLength = 50; + DeliveredExQuayLbl: Label 'Delivered ex Quay', MaxLength = 50; + DeliveredExShipLbl: Label 'Delivered ex Ship', MaxLength = 50; + ExWarehouseLbl: Label 'Ex Warehouse', MaxLength = 50; + FreeAlongsideShipLbl: Label 'Free Alongside Ship', MaxLength = 50; + FreeCarrierLbl: Label 'Free Carrier', MaxLength = 50; + FreeonBoardLbl: Label 'Free on Board', MaxLength = 50; + OtherShipmentConditionLbl: Label 'Other Shipment Condition', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateUOMTranslationBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateUOMTranslationBE.Codeunit.al new file mode 100644 index 0000000000..cd421804d1 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Foundation/1. Setup Data/CreateUOMTranslationBE.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 11417 "Create UOM Translation BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateUnitOfMeasureTranslation(); + end; + + local procedure CreateUnitOfMeasureTranslation() + var + ContosoUnitOfMeasure: codeunit "Contoso Unit of Measure"; + CreateUnitofMeasure: Codeunit "Create Unit of Measure"; + CreateLanguage: Codeunit "Create Language"; + begin + UpdateUnitOfMeasureTranslation(); + + ContosoUnitOfMeasure.InsertUnitOfMeasureTranslation(CreateUnitofMeasure.Piece(), 'pi?áce', CreateLanguage.FRB()); + ContosoUnitOfMeasure.InsertUnitOfMeasureTranslation(CreateUnitofMeasure.Piece(), 'stuk', CreateLanguage.NLB()); + end; + + local procedure UpdateUnitOfMeasureTranslation() + var + UnitOfMeasureTranslation: Record "Unit of Measure Translation"; + CreateUnitofMeasure: Codeunit "Create Unit of Measure"; + CreateLanguage: Codeunit "Create Language"; + begin + UnitOfMeasureTranslation.Get(CreateUnitofMeasure.Piece(), CreateLanguage.DEU()); + UnitOfMeasureTranslation.Validate(Description, 'st?ück'); + UnitOfMeasureTranslation.Modify(true); + end; +} diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Human Resource/1. Setup Data/CreateEmplPostingGroupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Human Resource/1. Setup Data/CreateEmplPostingGroupBE.Codeunit.al new file mode 100644 index 0000000000..7358f11359 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Human Resource/1. Setup Data/CreateEmplPostingGroupBE.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 11398 "Create Empl. Posting Group BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeePostingGroup: Codeunit "Create Employee Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateEmployeePostingGroup(CreateEmployeePostingGroup.EmployeeExpenses(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies()); + end; + + local procedure UpdateEmployeePostingGroup(EmployeePostingGroupCode: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]) + var + EmployeePostingGroup: Record "Employee Posting Group"; + begin + EmployeePostingGroup.Get(EmployeePostingGroupCode); + EmployeePostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + EmployeePostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + EmployeePostingGroup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeBE.Codeunit.al new file mode 100644 index 0000000000..5360c2c8db --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Human Resource/2. Master Data/CreateEmployeeBE.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 11394 "Create Employee BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Employee, 'OnBeforeModifyEvent', '', false, false)] + local procedure OnBeforeInsertEmployee(var Rec: Record Employee) + var + CreateEmployee: Codeunit "Create Employee"; + begin + case Rec."No." of + CreateEmployee.ManagingDirector(): + ValidateEmployee(Rec, '02/704.31.84', '0476/50.71.83'); + CreateEmployee.SalesManager(): + ValidateEmployee(Rec, '0476/50.71.83', '0476/50.71.77'); + CreateEmployee.Designer(): + ValidateEmployee(Rec, '02/704.31.79', '0476/50.71.78'); + CreateEmployee.ProductionAssistant(): + ValidateEmployee(Rec, '02/704.31.85', '0476/50.71.80'); + CreateEmployee.ProductionManager(): + ValidateEmployee(Rec, '02/704.31.76', '0476/50.71.76'); + CreateEmployee.Secretary(): + ValidateEmployee(Rec, '02/704.31.91', '0476/50.71.82'); + CreateEmployee.InventoryManager(): + begin + Rec.Validate("Job Title", ProductionAssistantLbl); + ValidateEmployee(Rec, '02/704.31.96', '0478/55.59.84'); + end; + end; + end; + + local procedure ValidateEmployee(var Employee: Record Employee; PhoneNo: Text[30]; MobilePhoneNo: Text[30]) + begin + Employee.Validate("Phone No.", PhoneNo); + Employee.Validate("Mobile Phone No.", MobilePhoneNo); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/1. Setup Data/CreateInvSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/1. Setup Data/CreateInvSetupBE.Codeunit.al new file mode 100644 index 0000000000..2b0ce1bd45 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/1. Setup Data/CreateInvSetupBE.Codeunit.al @@ -0,0 +1,16 @@ +codeunit 11374 "Create Inv. Setup BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + InventorySetup: Record "Inventory Setup"; + CreateGenJnlBatch: Codeunit "Create Gen. Journal Batch"; + begin + InventorySetup.Get(); + InventorySetup.Validate("Invt. Cost Jnl. Template Name", CreateGenJnlBatch.General()); + InventorySetup.Validate("Invt. Cost Jnl. Batch Name", CreateGenJnlBatch.Default()); + InventorySetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateInvPostingSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateInvPostingSetupBE.Codeunit.al new file mode 100644 index 0000000000..812ddc7a18 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateInvPostingSetupBE.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 11373 "Create Inv. Posting Setup BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInvPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + begin + case Rec."Invt. Posting Group Code" of + CreateInvPostingGroup.Resale(): + ValidateRecordFields(Rec, CreateBEGLAccount.Goods(), CreateBEGLAccount.GoodsInterim()); + end; + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemBE.Codeunit.al new file mode 100644 index 0000000000..57e31b54de --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemBE.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 11375 "Create Item BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateVatPostingGrpBE: Codeunit "Create VAT Posting Group BE"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1005.8, 784.6, CreateVatPostingGrpBE.G3()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpBE.G3()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 435.8, 339.9, CreateVatPostingGrpBE.G3()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpBE.G3()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 651.1, 508, CreateVatPostingGrpBE.G3()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 189.8, 0, CreateVatPostingGrpBE.G3()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 55.2, 43.1, CreateVatPostingGrpBE.G3()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 235, 0, CreateVatPostingGrpBE.G3()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpBE.G3()); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 126.4, 0, CreateVatPostingGrpBE.G3()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpBE.G3()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpBE.G3()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 235, 0, CreateVatPostingGrpBE.G3()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpBE.G3()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 343.5, 0, CreateVatPostingGrpBE.G3()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpBE.G3()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpBE.G3()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateVatPostingGrpBE.G3()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1404.3, 1095.3, CreateVatPostingGrpBE.G3()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 191, 148.9, CreateVatPostingGrpBE.G3()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VatProdPostingGrp: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemChargeBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemChargeBE.Codeunit.al new file mode 100644 index 0000000000..71d2a0895d --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemChargeBE.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 11376 "Create Item Charge BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItemCharge(var Rec: Record "Item Charge") + var + CreateVatPostingGrpBE: Codeunit "Create VAT Posting Group BE"; + CreateItemCharge: Codeunit "Create Item Charge"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), CreateItemCharge.PurchAllowance(), CreateItemCharge.PurchFreight(), CreateItemCharge.PurchRestock(), CreateItemCharge.SaleAllowance(), CreateItemCharge.SaleFreight(), CreateItemCharge.SaleRestock(): + Rec.Validate("VAT Prod. Posting Group", CreateVatPostingGrpBE.G3()); + end; + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemTemplateBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemTemplateBE.Codeunit.al new file mode 100644 index 0000000000..0f5c1cc7e4 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateItemTemplateBE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11377 "Create Item Template BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVatPostingGrp: Codeunit "Create VAT Posting Group BE"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateVatPostingGrp.G3()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateVatPostingGrp.G3()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateLocationBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateLocationBE.Codeunit.al new file mode 100644 index 0000000000..afaa014a9a --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Inventory/2. Master Data/CreateLocationBE.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11378 "Create Location BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocation: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocation.EastLocation(): + ValidateLocation(Rec, LocationCityLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.MainLocation(): + ValidateLocation(Rec, LocationCityLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.WestLocation(): + ValidateLocation(Rec, LocationCityLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateLocation(var Location: Record Location; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[10]) + var + CreateLocation: Codeunit "Create Location"; + begin + if Location.Code <> CreateLocation.MainLocation() then + Location.Validate("Address 2", ''); + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CountryRegionCode; + end; + + var + LocationCityLbl: Label 'BURCHT', MaxLength = 30; + EastLocationPostCodeLbl: Label '2070', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/1. Setup Data/CreatePurchPayableSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/1. Setup Data/CreatePurchPayableSetupBE.Codeunit.al new file mode 100644 index 0000000000..924bf7aabc --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/1. Setup Data/CreatePurchPayableSetupBE.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 11379 "Create Purch. Payable Setup BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateGenJnlTemplateBE: Codeunit "Create Gen. Jnl Template BE"; + begin + UpdatePurchasePayableSetup(CreateGenJnlTemplateBE.Purchase(), CreateGenJnlTemplateBE.PurchCreditMemo(), true); + end; + + local procedure UpdatePurchasePayableSetup(PurchaseInvoiceTemplate: Code[10]; PurchaseInvCrMemoTemplate: Code[10]; CopyLineDesc: Boolean) + var + PurchPayableSetup: Record "Purchases & Payables Setup"; + begin + if PurchPayableSetup.Get() then begin + PurchPayableSetup.Validate("P. Invoice Template Name", PurchaseInvoiceTemplate); + PurchPayableSetup.Validate("P. Cr. Memo Template Name", PurchaseInvCrMemoTemplate); + PurchPayableSetup.Validate("P. Prep. Inv. Template Name", PurchaseInvoiceTemplate); + PurchPayableSetup.Validate("P. Prep. Cr.Memo Template Name", PurchaseInvCrMemoTemplate); + PurchPayableSetup.Validate("Copy Line Descr. to G/L Entry", CopyLineDesc); + PurchPayableSetup.Validate("Allow VAT Difference", true); + PurchPayableSetup.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpBE.Codeunit.al new file mode 100644 index 0000000000..62db72e8d4 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpBE.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 11380 "Create Vendor Posting Grp BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGrp(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGrp: Codeunit "Create Vendor Posting Group"; + CreateBEGLAccount: Codeunit "Create GL Account BE"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateVendorPostingGrp.Domestic(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsDomestic(), CreateBEGLAccount.MiscCostsOfOperations(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.CashDiscrepanciesFinancial(), CreateBEGLAccount.CashDiscrepanciesFinancial()); + CreateVendorPostingGrp.EU(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsDomestic(), CreateBEGLAccount.MiscCostsOfOperations(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.CashDiscrepanciesFinancial(), CreateBEGLAccount.CashDiscrepanciesFinancial()); + CreateVendorPostingGrp.Foreign(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsForeign(), CreateBEGLAccount.MiscCostsOfOperations(), CreateBEGLAccount.PaymentDiscReceived(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateBEGLAccount.PaymentDiscReceived(), CreateBEGLAccount.CashDiscrepanciesFinancial(), CreateBEGLAccount.CashDiscrepanciesFinancial()); + end; + end; + + local procedure ValidateVendorPostingGroup(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueBE.Codeunit.al new file mode 100644 index 0000000000..627378ebac --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueBE.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11381 "Create Purch. Dim. Value BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreateVendorBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreateVendorBE.Codeunit.al new file mode 100644 index 0000000000..d5655fb7d6 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreateVendorBE.Codeunit.al @@ -0,0 +1,56 @@ +codeunit 11382 "Create Vendor BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendor: Codeunit "Create Vendor"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + CreateVATPostingGroupBE: Codeunit "Create VAT Posting Group BE"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec."No." of + CreateVendor.ExportFabrikam(): + begin + Rec.Validate("VAT Registration No.", ExportFabrikamVatRegLbl); + Rec.Validate("VAT Bus. Posting Group", CreateVATPostingGroupBE.IMPEXP()); + end; + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, GenkCityLbl, CreateVendorPostingGroup.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", '', '', PostCode3600Lbl); + CreateVendor.EUGraphicDesign(): + Rec.Validate("VAT Registration No.", EUGraphicDesignVatRegLbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, DeurneCityLbl, CreateVendorPostingGroup.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", '', '', PostCode2100Lbl); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, BurchtCityLbl, CreateVendorPostingGroup.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", '', '', PostCode2070Lbl); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; TerritoryCode: Code[20]; CountryRegionCode: Code[10]; VatRegNo: Text[20]; County: Text[30]; PostCode: Code[20]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("Country/Region Code", CountryRegionCode); + if CountryRegionCode = '' then + Vendor."VAT Registration No." := VatRegNo + else + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate(County, County); + Vendor.Validate("Post Code", PostCode); + end; + + var + GenkCityLbl: Label 'GENK', MaxLength = 30, Locked = true; + DeurneCityLbl: Label 'DEURNE', MaxLength = 30, Locked = true; + BurchtCityLbl: Label 'BURCHT', MaxLength = 30, Locked = true; + ExportFabrikamVatRegLbl: Label '503912693', MaxLength = 20; + EUGraphicDesignVatRegLbl: Label '521478963', MaxLength = 20; + PostCode3600Lbl: Label '3600', MaxLength = 20; + PostCode2100Lbl: Label '2100', MaxLength = 20; + PostCode2070Lbl: Label '2070', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreateVendorTemplateBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreateVendorTemplateBE.Codeunit.al new file mode 100644 index 0000000000..dd53b73e5d --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/2. Master Data/CreateVendorTemplateBE.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 11383 "Create Vendor Template BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorTemplate(var Rec: Record "Vendor Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendorTemplate: Codeunit "Create Vendor Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateVendorTemplate.VendorCompany(), + CreateVendorTemplate.VendorPerson(): + Rec.Validate("Suggest Payments", true); + end; + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/3.Transactions Data/CreatePurchaseDocumentBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/3.Transactions Data/CreatePurchaseDocumentBE.Codeunit.al new file mode 100644 index 0000000000..89f1bf6514 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Purchase/3.Transactions Data/CreatePurchaseDocumentBE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11400 "Create Purchase Document BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdatePurchaseLine(); + end; + + local procedure UpdatePurchaseLine() + var + PurchaseLine: Record "Purchase Line"; + Resource: Record Resource; + begin + PurchaseLine.SetRange(Type, PurchaseLine.Type::Resource); + if PurchaseLine.FindSet() then + repeat + Resource.Get(PurchaseLine."No."); + PurchaseLine.Validate("Direct Unit Cost", Resource."Direct Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateCustPostingGrpBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateCustPostingGrpBE.Codeunit.al new file mode 100644 index 0000000000..1f2acfc0fb --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateCustPostingGrpBE.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 11384 "Create Cust. Posting Grp BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerPostingGrp(var Rec: Record "Customer Posting Group") + var + CreateGLAccountBE: Codeunit "Create GL Account BE"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateCustomerPostingGrp: Codeunit "Create Customer Posting Group"; + begin + case Rec.Code of + CreateCustomerPostingGrp.Domestic(): + ValidateCustomerPostingGroup(Rec, CreateGLAccount.CustomersDomestic(), CreateGLAccountBE.ConsultingFees(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccountBE.CashDiscrepanciesFinancial(), CreateGLAccountBE.CashDiscrepanciesFinancial()); + CreateCustomerPostingGrp.EU(): + ValidateCustomerPostingGroup(Rec, CreateGLAccount.CustomersDomestic(), CreateGLAccountBE.ConsultingFees(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccountBE.CashDiscrepanciesFinancial(), CreateGLAccountBE.CashDiscrepanciesFinancial()); + CreateCustomerPostingGrp.Foreign(): + ValidateCustomerPostingGroup(Rec, CreateGLAccount.CustomersForeign(), CreateGLAccountBE.ConsultingFees(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccountBE.CashDiscrepanciesFinancial(), CreateGLAccountBE.CashDiscrepanciesFinancial()); + end; + end; + + local procedure ValidateCustomerPostingGroup(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateReminderLevelBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateReminderLevelBE.Codeunit.al new file mode 100644 index 0000000000..34699249c1 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateReminderLevelBE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11385 "Create Reminder Level BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + Rec.Validate("Additional Fee (LCY)", 7.8); + 2: + Rec.Validate("Additional Fee (LCY)", 15.6); + 3: + Rec.Validate("Additional Fee (LCY)", 23.2); + end; + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateSalesRecSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateSalesRecSetupBE.Codeunit.al new file mode 100644 index 0000000000..9f505602bd --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/1. Setup Data/CreateSalesRecSetupBE.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 11386 "Create Sales Rec. Setup BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateGenJnlTemplateBE: Codeunit "Create Gen. Jnl Template BE"; + begin + UpdateSaleReceivableSetup(CreateGenJnlTemplateBE.Sales(), CreateGenJnlTemplateBE.SalesCreditMemo()); + end; + + local procedure UpdateSaleReceivableSetup(SalesInvoiceTemplate: Code[10]; SalesInvCrMemoTemplate: Code[10]) + var + SalesReceivableSetup: Record "Sales & Receivables Setup"; + begin + if SalesReceivableSetup.Get() then begin + SalesReceivableSetup.Validate("S. Invoice Template Name", SalesInvoiceTemplate); + SalesReceivableSetup.Validate("S. Cr. Memo Template Name", SalesInvCrMemoTemplate); + SalesReceivableSetup.Validate("S. Prep. Inv. Template Name", SalesInvoiceTemplate); + SalesReceivableSetup.Validate("S. Prep. Cr.Memo Template Name", SalesInvCrMemoTemplate); + SalesReceivableSetup.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateCustomerBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateCustomerBE.Codeunit.al new file mode 100644 index 0000000000..70ac5d26c3 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateCustomerBE.Codeunit.al @@ -0,0 +1,56 @@ +codeunit 11387 "Create Customer BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsert', '', false, false)] + local procedure OnBeforeInsertCustomer(var Customer: Record Customer) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateLanguage: Codeunit "Create Language"; + CreateCustomer: Codeunit "Create Customer"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + CreateVATPostingGroupBE: Codeunit "Create VAT Posting Group BE"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Customer."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateCustomer(Customer, CreateLanguage.NLB(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreateVendorPostingGroup.Foreign(), PostCode2800Lbl, '', MechelenCityLbl); + CreateCustomer.DomesticTreyResearch(): + ValidateCustomer(Customer, CreateLanguage.NLB(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreateVendorPostingGroup.Foreign(), PostCode1020Lbl, '', DomesticTreyResearchCityLbl); + CreateCustomer.DomesticRelecloud(): + ValidateCustomer(Customer, CreateLanguage.NLB(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreateVendorPostingGroup.Foreign(), PostCode6200Lbl, '', DomesticRelecloudCityLbl); + + CreateCustomer.ExportSchoolofArt(): + begin + Customer.Validate("VAT Registration No.", ExportSchoolofArtVatRegLbl); + Customer.Validate("VAT Bus. Posting Group", CreateVATPostingGroupBE.IMPEXP()); + end; + CreateCustomer.EUAlpineSkiHouse(): + Customer.Validate("VAT Registration No.", EUAlpineSkiHouseVatRegLbl); + end; + end; + + local procedure ValidateCustomer(var Customer: Record Customer; LanguageCode: Code[10]; CountryRegionCode: Code[10]; TerritoryCode: Code[20]; PostCode: Code[20]; VatRegistraionNo: Text[20]; City: Text[30]) + begin + Customer.Validate("Language Code", LanguageCode); + Customer."VAT Registration No." := VatRegistraionNo; + if CountryRegionCode <> '' then + Customer.Validate("Country/Region Code", CountryRegionCode); + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer.Validate("Territory Code", TerritoryCode); + end; + + var + MechelenCityLbl: Label 'MECHELEN', MaxLength = 30; + DomesticTreyResearchCityLbl: Label 'BRUSSEL', MaxLength = 30; + DomesticRelecloudCityLbl: Label 'BOUFFIOULX', MaxLength = 30; + ExportSchoolofArtVatRegLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegLbl: Label '533435789', MaxLength = 20; + PostCode2800Lbl: Label '2800', MaxLength = 20; + PostCode1020Lbl: Label '1020', MaxLength = 20; + PostCode6200Lbl: Label '6200', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateSalesDimValueBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateSalesDimValueBE.Codeunit.al new file mode 100644 index 0000000000..a6b8efc58a --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateSalesDimValueBE.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 11389 "Create Sales Dim Value BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateShipToAddressBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateShipToAddressBE.Codeunit.al new file mode 100644 index 0000000000..4fb9a0a02b --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Data/Sales/2. Master Data/CreateShipToAddressBE.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11391 "Create Ship-to Address BE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + CreateShipToAddress: Codeunit "Create Ship-to Address"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + CreateShipToAddress.Cheltenham(), CreateShipToAddress.London(): + ValidateShiptoAddress(Rec, BurchtCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", '2070'); + end; + + if (Rec."Customer No." = CreateCustomer.DomesticTreyResearch()) then + case Rec.Code of + CreateShipToAddress.Fleet(), CreateShipToAddress.TWYCross(): + ValidateShiptoAddress(Rec, BurchtCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", '2070'); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; CountryRegionCode: Code[10]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + var + BurchtCityLbl: Label 'BURCHT', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/CommonModuleBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/CommonModuleBE.Codeunit.al similarity index 100% rename from Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/CommonModuleBE.Codeunit.al rename to Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/CommonModuleBE.Codeunit.al diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoMiscellaneousBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoMiscellaneousBE.Codeunit.al new file mode 100644 index 0000000000..185017d28f --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoMiscellaneousBE.Codeunit.al @@ -0,0 +1,85 @@ +codeunit 11402 "Contoso Miscellaneous BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Area" = rim, + tabledata "Export Protocol" = rim, + tabledata "IBLC/BLWI Transaction Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertArea(Code: Code[10]; Description: Text[50]) + var + AreaBE: Record "Area"; + Exists: Boolean; + begin + if AreaBE.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AreaBE.Validate(Code, Code); + AreaBE.Validate(Text, Description); + + if Exists then + AreaBE.Modify(true) + else + AreaBE.Insert(true); + end; + + procedure InsertExportProtocol(Code: Code[20]; Description: Text[50]; CheckObjectID: Integer; ExportObjectID: Integer; ExportObjectType: Option; CodeExpenses: Option) + var + ExportProtocol: Record "Export Protocol"; + Exists: Boolean; + begin + if ExportProtocol.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ExportProtocol.Validate(Code, Code); + ExportProtocol.Validate(Description, Description); + if CheckObjectID <> 0 then + ExportProtocol.Validate("Check Object ID", CheckObjectID); + ExportProtocol.Validate("Export Object Type", ExportObjectType); + ExportProtocol.Validate("Export Object ID", ExportObjectID); + ExportProtocol.Validate("Code Expenses", CodeExpenses); + + if Exists then + ExportProtocol.Modify(true) + else + ExportProtocol.Insert(true); + end; + + procedure InsertIBLCBLWITransactionCode(TransactionCode: Code[3]; Description: Text[132]) + var + IBLCBLWITransactionCode: Record "IBLC/BLWI Transaction Code"; + Exists: Boolean; + begin + if IBLCBLWITransactionCode.Get(TransactionCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + IBLCBLWITransactionCode.Validate("Transaction Code", TransactionCode); + IBLCBLWITransactionCode.Validate(Description, Description); + + if Exists then + IBLCBLWITransactionCode.Modify(true) + else + IBLCBLWITransactionCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoPostCodeBe.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoPostCodeBe.Codeunit.al new file mode 100644 index 0000000000..41ee49eb83 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoPostCodeBe.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11353 "Contoso Post Code BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoVATStatementBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoVATStatementBE.Codeunit.al new file mode 100644 index 0000000000..dba3748313 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/Contoso Helpers/ContosoVATStatementBE.Codeunit.al @@ -0,0 +1,99 @@ +codeunit 11421 "Contoso VAT Statement BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "VAT Statement Line" = rim, + tabledata "VAT Statement Name" = rim, + tabledata "VAT Statement Template" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVATStatementLine(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementLineNo: Integer; RowNo: Code[10]; Description: Text[100]; Type: Enum "VAT Statement Line Type"; AccountTotaling: Text[30]; DocumentType: Option; GenPostingType: Enum "General Posting Type"; VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalculateWith: Option; Print: Boolean; PrintWith: Option; NewPage: Boolean) + var + VATStatementLine: Record "VAT Statement Line"; + Exists: Boolean; + begin + if VatStatementLine.Get(StatementTemplateName, StatementName, StatementLineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATStatementLine.Validate("Statement Template Name", StatementTemplateName); + VATStatementLine.Validate("Statement Name", StatementName); + VATStatementLine.Validate("Line No.", StatementLineNo); + VATStatementLine.Validate("Row No.", RowNo); + VATStatementLine.Validate(Description, Description); + VATStatementLine.Validate(Type, Type); + VATStatementLine.Validate("Account Totaling", AccountTotaling); + VATStatementLine.Validate("Document Type", DocumentType); + VATStatementLine.Validate("Gen. Posting Type", GenPostingType); + VATStatementLine.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + VATStatementLine.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + VATStatementLine.Validate("Row Totaling", RowTotaling); + VATStatementLine.Validate("Amount Type", AmountType); + VATStatementLine.Validate("Calculate with", CalculateWith); + VATStatementLine.Validate(Print, Print); + VATStatementLine.Validate("Print with", PrintWith); + VATStatementLine.Validate("New Page", NewPage); + VATStatementLine.Validate("Print on Official VAT Form", Print); + + if Exists then + VatStatementLine.Modify(true) + else + VatStatementLine.Insert(true); + end; + + procedure InsertVATStatementTemplate(TemplateName: Code[10]; VatStatementDescription: Text[80]; VatStatementPageID: Integer; VatStatementReportID: Integer) + var + VATStatementTemplate: Record "VAT Statement Template"; + Exists: Boolean; + begin + if VATStatementTemplate.Get(TemplateName) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATStatementTemplate.Validate(Name, TemplateName); + VATStatementTemplate.Validate(Description, VatStatementDescription); + VATStatementTemplate.Validate("Page ID", VatStatementPageID); + VATStatementTemplate.Validate("VAT Statement Report ID", VatStatementReportID); + + if Exists then + VATStatementTemplate.Modify(true) + else + VATStatementTemplate.Insert(true); + end; + + procedure InsertVATStatementName(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementDesc: Text[100]) + var + VatStatementName: Record "VAT Statement Name"; + Exists: Boolean; + begin + if VatStatementName.Get(StatementTemplateName, StatementName) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatStatementName.Validate("Statement Template Name", StatementTemplateName); + VatStatementName.Validate(Name, StatementName); + VatStatementName.Validate(Description, StatementDesc); + + if Exists then + VatStatementName.Modify(true) + else + VatStatementName.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoBELocalization.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoBELocalization.Codeunit.al new file mode 100644 index 0000000000..1c7332de78 --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoBELocalization.Codeunit.al @@ -0,0 +1,288 @@ +codeunit 11355 "Contoso BE Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::"Fixed Asset Module" then + FixedAssetModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResourceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::CRM then + CRMModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create FA Ins Jnl. Template BE"); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Area BE"); + Codeunit.Run(Codeunit::"Create Post Code BE"); + Codeunit.Run(Codeunit::"Create Transaction Spec. BE"); + Codeunit.Run(Codeunit::"Create Company Information BE"); + Codeunit.Run(Codeunit::"Create No. Series BE"); + Codeunit.Run(Codeunit::"Create Shipping Data BE"); + Codeunit.Run(Codeunit::"Create VAT Posting Group BE"); + Codeunit.Run(Codeunit::"Create Column Layout Name BE"); + Codeunit.Run(Codeunit::"Create UOM Translation BE"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVATPostingGrp: Codeunit "Create VAT Posting Group BE"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + CreateVATPostingGrp.CreateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create Posting Group BE"); + Codeunit.Run(Codeunit::"Create Gen. Jnl Template BE"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Currency Ex. Rate BE"); + Codeunit.Run(Codeunit::"Create Gen. Jnl Template BE"); + Codeunit.Run(Codeunit::"Create Territory BE"); + Codeunit.Run(Codeunit::"Create Column Layout BE"); + Codeunit.Run(Codeunit::"Create VAT Statement BE"); + Codeunit.Run(Codeunit::"Create General Ledger Setup BE"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateGenJnlTemplateBE: Codeunit "Create Gen. Jnl Template BE"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Bank Account BE"); + CreateGenJnlTemplateBE.UpdateGenJnlTemplate(); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Coda Document"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line BE"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Inv. Setup BE"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Item Template BE"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Purch. Payable Setup BE"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Purchase Document BE"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Sales Rec. Setup BE"); + end; + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Empl. Posting Group BE"); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Marketing Setup BE"); + Codeunit.Run(Codeunit::"Create Word Template BE"); + end; + + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateResourceBE: Codeunit "Create Resource BE"; + CreateCurrencyExcRate: Codeunit "Create Currency Ex. Rate BE"; + CreateAccScheduleLineBE: Codeunit "Create Acc. Schedule Line BE"; + CreateBankAccPostingGrpBE: Codeunit "Create Bank Acc Posting Grp BE"; + CreateBankAccountBE: Codeunit "Create Bank Account BE"; + CreateFAPostingGrpBE: Codeunit "Create FA Posting Grp. BE"; + CreateInvPostingSetupBE: Codeunit "Create Inv. Posting Setup BE"; + CreateItemBE: Codeunit "Create Item BE"; + CreateItemChargeBE: Codeunit "Create Item Charge BE"; + CreateLoactionBE: Codeunit "Create Location BE"; + CreateVendorPostingGrpBE: Codeunit "Create Vendor Posting Grp BE"; + CreatePurchDimValueBE: Codeunit "Create Purch. Dim. Value BE"; + CreateVendorBE: Codeunit "Create Vendor BE"; + CreateVendorTemplateBE: Codeunit "Create Vendor Template BE"; + CreateCustPostingGrpBE: Codeunit "Create Cust. Posting Grp BE"; + CreateReminderLevelBE: Codeunit "Create Reminder Level BE"; + CreateCustomerBE: Codeunit "Create Customer BE"; + CreateSalesDimValueBE: Codeunit "Create Sales Dim Value BE"; + CreateShiptoAddressBE: Codeunit "Create Ship-to Address BE"; + CreateEmployeeBE: Codeunit "Create Employee BE"; + CreateCompanyInformationBE: Codeunit "Create Company Information BE"; + CreateCurrencyBE: Codeunit "Create Currency BE"; + CreateGenJournalLineBE: Codeunit "Create Gen. Journal Line BE"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + BindSubscription(CreateCompanyInformationBE); + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateResourceBE); + BindSubscription(CreateCurrencyExcRate); + BindSubscription(CreateAccScheduleLineBE); + BindSubscription(CreateCurrencyBE); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccPostingGrpBE); + BindSubscription(CreateBankAccountBE); + BindSubscription(CreateGenJournalLineBE); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateFAPostingGrpBE); + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateInvPostingSetupBE); + BindSubscription(CreateItemBE); + BindSubscription(CreateItemChargeBE); + BindSubscription(CreateLoactionBE); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorPostingGrpBE); + BindSubscription(CreatePurchDimValueBE); + BindSubscription(CreateVendorBE); + BindSubscription(CreateVendorTemplateBE); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustPostingGrpBE); + BindSubscription(CreateReminderLevelBE); + BindSubscription(CreateCustomerBE); + BindSubscription(CreateSalesDimValueBE); + BindSubscription(CreateShiptoAddressBE); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + BindSubscription(CreateEmployeeBE); + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateResourceBE: Codeunit "Create Resource BE"; + CreateCurrencyExcRate: Codeunit "Create Currency Ex. Rate BE"; + CreateAccScheduleLineBE: Codeunit "Create Acc. Schedule Line BE"; + CreateBankAccPostingGrpBE: Codeunit "Create Bank Acc Posting Grp BE"; + CreateBankAccountBE: Codeunit "Create Bank Account BE"; + CreateFAPostingGrpBE: Codeunit "Create FA Posting Grp. BE"; + CreateInvPostingSetupBE: Codeunit "Create Inv. Posting Setup BE"; + CreateItemBE: Codeunit "Create Item BE"; + CreateItemChargeBE: Codeunit "Create Item Charge BE"; + CreateLoactionBE: Codeunit "Create Location BE"; + CreateVendorPostingGrpBE: Codeunit "Create Vendor Posting Grp BE"; + CreatePurchDimValueBE: Codeunit "Create Purch. Dim. Value BE"; + CreateVendorBE: Codeunit "Create Vendor BE"; + CreateVendorTemplateBE: Codeunit "Create Vendor Template BE"; + CreateCustPostingGrpBE: Codeunit "Create Cust. Posting Grp BE"; + CreateReminderLevelBE: Codeunit "Create Reminder Level BE"; + CreateCustomerBE: Codeunit "Create Customer BE"; + CreateSalesDimValueBE: Codeunit "Create Sales Dim Value BE"; + CreateShiptoAddressBE: Codeunit "Create Ship-to Address BE"; + CreateEmployeeBE: Codeunit "Create Employee BE"; + CreateCompanyInformationBE: Codeunit "Create Company Information BE"; + CreateCurrencyBE: Codeunit "Create Currency BE"; + CreateGenJournalLineBE: Codeunit "Create Gen. Journal Line BE"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + UnbindSubscription(CreateCompanyInformationBE); + + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateResourceBE); + UnbindSubscription(CreateCurrencyExcRate); + UnbindSubscription(CreateAccScheduleLineBE); + UnbindSubscription(CreateCurrencyBE); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccPostingGrpBE); + UnbindSubscription(CreateBankAccountBE); + UnbindSubscription(CreateGenJournalLineBE); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnbindSubscription(CreateFAPostingGrpBE); + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateInvPostingSetupBE); + UnbindSubscription(CreateItemBE); + UnbindSubscription(CreateItemChargeBE); + UnbindSubscription(CreateLoactionBE); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateVendorPostingGrpBE); + UnbindSubscription(CreatePurchDimValueBE); + UnbindSubscription(CreateVendorBE); + UnbindSubscription(CreateVendorTemplateBE); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateCustPostingGrpBE); + UnbindSubscription(CreateReminderLevelBE); + UnbindSubscription(CreateCustomerBE); + UnbindSubscription(CreateSalesDimValueBE); + UnbindSubscription(CreateShiptoAddressBE); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + UnbindSubscription(CreateEmployeeBE); + end; + end; +} \ No newline at end of file diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoCODABE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoCODABE.Codeunit.al new file mode 100644 index 0000000000..6969b0067e --- /dev/null +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoCODABE.Codeunit.al @@ -0,0 +1,105 @@ +codeunit 11414 "Contoso CODA BE" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "CODA Statement" = rim, + tabledata "CODA Statement Line" = rim, + tabledata "Transaction Coding" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertCodedTransaction(BankAccountNo: Code[20]; TransactionFamily: Integer; Transaction: Integer; TransactionCategory: Integer; GlobalisationCode: Option; AccountType: Option; AccountNo: Code[20]; Description: Text[50]) + var + TransactionCoding: Record "Transaction Coding"; + Exists: Boolean; + begin + if TransactionCoding.Get(BankAccountNo, TransactionFamily, Transaction, TransactionCategory) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TransactionCoding.Validate("Bank Account No.", BankAccountNo); + TransactionCoding.Validate("Transaction Family", TransactionFamily); + TransactionCoding.Validate(Transaction, Transaction); + TransactionCoding.Validate("Transaction Category", TransactionCategory); + TransactionCoding.Insert(true); + + TransactionCoding.Validate("Globalisation Code", GlobalisationCode); + TransactionCoding.Validate("Account Type", AccountType); + TransactionCoding.Validate("Account No.", AccountNo); + TransactionCoding.Validate(Description, Description); + + if Exists then + TransactionCoding.Insert(true) + else + TransactionCoding.Modify(true); + end; + + procedure InsertCodedBankAccStatement(BankAccountNo: Code[20]; StatementNo: Code[20]; EndingBalance: Decimal; StatementDate: Date; BalanceLastStatement: Decimal) + var + CodBankAccStatement: Record "CODA Statement"; + Exists: Boolean; + begin + if CodBankAccStatement.Get(BankAccountNo, StatementNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CodBankAccStatement.Validate("Bank Account No.", BankAccountNo); + CodBankAccStatement.Validate("Statement No.", StatementNo); + CodBankAccStatement.Validate("Statement Ending Balance", EndingBalance); + CodBankAccStatement.Validate("Statement Date", StatementDate); + CodBankAccStatement.Validate("Balance Last Statement", BalanceLastStatement); + + if Exists then + CodBankAccStatement.Modify(true) + else + CodBankAccStatement.Insert(true); + end; + + procedure InsertCodedBankAccStatLine(BankAccountNo: Code[20]; StatementNo: Code[20]; StatementLineNo: Integer; StatementId: Option; StatType: Option; BankReferenceNo: Text[21]; StatementAmount: Decimal; TransactionDate: Date; TransactionType: Integer; TransactionFamily: Integer; StatementTransaction: Integer; TransactionCategory: Integer; MessageType: Option; TypeStandardFormatMessage: Integer; StatementMessage: Text[250]; PostingDate: Date; BankAccNoOtherParty: Text[34]; NameOtherParty: Text[35]; AddressOtherParty: Text[35]; CityOtherParty: Text[35]; AttachedToLineNo: Integer; DocumentNo: Code[20]) + var + CodBankAccStatLine: Record "CODA Statement Line"; + begin + CodBankAccStatLine.Validate("Bank Account No.", BankAccountNo); + CodBankAccStatLine.Validate("Statement No.", StatementNo); + CodBankAccStatLine.Validate("Statement Line No.", StatementLineNo); + CodBankAccStatLine.Validate(ID, StatementId); + CodBankAccStatLine.Validate(Type, StatType); + CodBankAccStatLine.Validate("Bank Reference No.", BankReferenceNo); + CodBankAccStatLine.Validate("Statement Amount", StatementAmount); + CodBankAccStatLine.Validate("Transaction Date", TransactionDate); + CodBankAccStatLine.Validate("Transaction Type", TransactionType); + CodBankAccStatLine.Validate("Transaction Family", TransactionFamily); + CodBankAccStatLine.Validate(Transaction, StatementTransaction); + CodBankAccStatLine.Validate("Transaction Category", TransactionCategory); + CodBankAccStatLine.Validate("Message Type", MessageType); + CodBankAccStatLine.Validate("Type Standard Format Message", TypeStandardFormatMessage); + CodBankAccStatLine.Validate("Statement Message", StatementMessage); + CodBankAccStatLine.Validate("Posting Date", PostingDate); + CodBankAccStatLine.Validate("Bank Account No. Other Party", BankAccNoOtherParty); + CodBankAccStatLine.Validate("Name Other Party", NameOtherParty); + CodBankAccStatLine.Validate("Address Other Party", AddressOtherParty); + CodBankAccStatLine.Validate("City Other Party", CityOtherParty); + CodBankAccStatLine.Validate("Attached to Line No.", AttachedToLineNo); + CodBankAccStatLine.Validate("Document No.", DocumentNo); + CodBankAccStatLine.Insert(true); + + if StatementAmount <> 0 then begin + CodBankAccStatLine.Validate("Unapplied Amount", StatementAmount); + CodBankAccStatLine.Modify(true) + end; + end; + + var + OverwriteData: Boolean; +} + diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/ContosoDemoDataSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoDemoDataSetupBE.Codeunit.al similarity index 100% rename from Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/ContosoDemoDataSetupBE.Codeunit.al rename to Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/ContosoDemoDataSetupBE.Codeunit.al diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/CreateBEGLAccounts.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/CreateBEGLAccounts.Codeunit.al similarity index 90% rename from Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/CreateBEGLAccounts.Codeunit.al rename to Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/CreateBEGLAccounts.Codeunit.al index c138c41998..d1fc2f60f4 100644 --- a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/CreateBEGLAccounts.Codeunit.al +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/CreateBEGLAccounts.Codeunit.al @@ -21,14 +21,14 @@ codeunit 11345 "Create BE GL Accounts" ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '451000'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '411000'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '609291'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '609191'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), ''); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '609292'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '609192'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), ''); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '609293'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '609193'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '609270'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '609170'); @@ -49,7 +49,7 @@ codeunit 11345 "Create BE GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; SvcGLAccount: Codeunit "Create Svc GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '705000'); + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] @@ -58,18 +58,18 @@ codeunit 11345 "Create BE GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; MfgGLAccount: Codeunit "Create Mfg GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '609791'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '609792'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '609793'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '609890'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '609891'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '609892'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '609893'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '609894'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), ''); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '330000'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '330100'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/WarehouseModuleSetupBE.Codeunit.al b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/WarehouseModuleSetupBE.Codeunit.al similarity index 100% rename from Apps/BE/ContosoCoffeeDemoDatasetBE/app/Codeunits/WarehouseModuleSetupBE.Codeunit.al rename to Apps/BE/ContosoCoffeeDemoDatasetBE/app/Demo Tool/WarehouseModuleSetupBE.Codeunit.al diff --git a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json index 962027062c..2010838032 100644 --- a/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json +++ b/Apps/BE/ContosoCoffeeDemoDatasetBE/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 11345, - "to": 11350 + "to": 11450 } ], "resourceExposurePolicy": { diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/Codeunits/CreateCAGLAccounts.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/Codeunits/CreateCAGLAccounts.Codeunit.al deleted file mode 100644 index de591c8b7e..0000000000 --- a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/Codeunits/CreateCAGLAccounts.Codeunit.al +++ /dev/null @@ -1,115 +0,0 @@ -codeunit 27009 "Create CA GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '13100'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '22300'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '41100'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '54100'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), ''); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), ''); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '53700'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '54710'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '53800'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '54702'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '53850'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '54703'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '14300'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '53100'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '53400'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '54500'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '14100'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '14101') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '44400'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '52450'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '52460'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '52475'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '57100'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '57200'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '57210'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '57300'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '57400'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '14200'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '14600'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '18100'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '18100'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '17200'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '65300'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '71200'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '72900'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '23850'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '15011'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '15231'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '41300'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '44100'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '54599'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '51000'); - end; -} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCABankAccPostingGrp.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCABankAccPostingGrp.Codeunit.al new file mode 100644 index 0000000000..d4c264014d --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCABankAccPostingGrp.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 27014 "Create CA Bank Acc Posting Grp" +{ + InherentPermissions = X; + InherentEntitlements = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + begin + ContosoPostingGroup.InsertBankAccountPostingGroup(FCY(), CreateCAGLAccounts.BankCurrenciesFCYUSD()); + ContosoPostingGroup.InsertBankAccountPostingGroup(LCY(), CreateCAGLAccounts.BankCurrenciesLCY()); + end; + + procedure FCY(): Code[20] + begin + exit(FCYTok); + end; + + procedure LCY(): Code[20] + begin + exit(LCYTok); + end; + + var + FCYTok: Label 'FCY', MaxLength = 20; + LCYTok: Label 'LCY', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCABankExpImpSetup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCABankExpImpSetup.Codeunit.al new file mode 100644 index 0000000000..2930d013cf --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCABankExpImpSetup.Codeunit.al @@ -0,0 +1,51 @@ +codeunit 27016 "Create CA Bank Exp/Imp Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBank: Codeunit "Contoso Bank"; + CreateCADataExchange: Codeunit "Create CA Data Exchange"; + begin + ContosoBank.ContosoBankExportImportSetup(CaEftDefault(), CaEftDefaultLbl, 3, Codeunit::"Exp. Launcher EFT", 0, CreateCADataExchange.CAEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(MxEftDefault(), MxEftDefaultLbl, 3, Codeunit::"Exp. Launcher EFT", 0, CreateCADataExchange.MXEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftCcd(), UsEftCcdTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateCADataExchange.USEFTCCD(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftDefault(), UsEftDefaultTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateCADataExchange.USEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftIatDefault(), UsEftIatDefaultTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateCADataExchange.USEFTIATDEFAULT(), true, 0); + end; + + procedure CaEftDefault(): Code[20] + begin + exit(CaEftDefaultTok) + end; + + procedure MxEftDefault(): Code[20] + begin + exit(MxEftDefaultTok) + end; + + procedure UsEftCcd(): Code[20] + begin + exit(UsEftCcdTok) + end; + + procedure UsEftDefault(): Code[20] + begin + exit(UsEftDefaultTok) + end; + + procedure UsEftIatDefault(): Code[20] + begin + exit(UsEftIatDefaultTok) + end; + + var + CaEftDefaultTok: Label 'CA EFT DEFAULT', MaxLength = 20; + MxEftDefaultTok: Label 'MX EFT DEFAULT', MaxLength = 20; + UsEftCcdTok: Label 'US EFT CCD', MaxLength = 20; + UsEftDefaultTok: Label 'US EFT Default', MaxLength = 20; + UsEftIatDefaultTok: Label 'US EFT IAT Default', MaxLength = 20; + CaEftDefaultLbl: Label 'CA EFT DEFAULT', MaxLength = 100; + MxEftDefaultLbl: Label 'MX EFT Default', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCAPayMethodTrans.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCAPayMethodTrans.Codeunit.al new file mode 100644 index 0000000000..a55f170106 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/1.Setup Data/CreateCAPayMethodTrans.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 27079 "Create CA Pay. Method Trans." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCATranslation: Codeunit "Contoso CA Translation"; + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Account(), CreateLanguage.FRC(), AccountDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Bank(), CreateLanguage.FRC(), BankDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Bnkconvdom(), CreateLanguage.FRC(), BnkconvdomDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Bnkconvint(), CreateLanguage.FRC(), BnkconvintDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Card(), CreateLanguage.FRC(), CardDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Cash(), CreateLanguage.FRC(), CashDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Check(), CreateLanguage.FRC(), CheckDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Giro(), CreateLanguage.FRC(), GiroDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Intercom(), CreateLanguage.FRC(), IntercomDescriptionLbl); + ContosoCATranslation.InsertPaymentMethodTranslation(CreatePaymentMethod.Multiple(), CreateLanguage.FRC(), MultipleDescriptionLbl); + end; + + var + AccountDescriptionLbl: Label 'Acompte', MaxLength = 100; + BankDescriptionLbl: Label 'Virement bancaire', MaxLength = 100; + BnkconvdomDescriptionLbl: Label 'Conversion des données bancaires pour les banques nationales', MaxLength = 100; + BnkconvintDescriptionLbl: Label 'Conversion des données bancaires pour les banques internationales', MaxLength = 100; + CardDescriptionLbl: Label 'Paiement par carte', MaxLength = 100; + CashDescriptionLbl: Label 'Paiement au comptant', MaxLength = 100; + CheckDescriptionLbl: Label 'Paiement par chèque', MaxLength = 100; + GiroDescriptionLbl: Label 'Virement giro', MaxLength = 100; + IntercomDescriptionLbl: Label 'Paiement inter-compagnie', MaxLength = 100; + MultipleDescriptionLbl: Label 'Diverses methodées de paiement', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/2.Master Data/CreateCABankAccount.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/2.Master Data/CreateCABankAccount.Codeunit.al new file mode 100644 index 0000000000..f239348923 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/2.Master Data/CreateCABankAccount.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 27015 "Create CA Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + CreateCABankAccPostingGrp: Codeunit "Create CA Bank Acc Posting Grp"; + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -2163200, CreateCABankAccPostingGrp.LCY(), PostCodeLbl, LastRemittanceAdviceNoLbl, ''); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, CreateBankAccPostingGrp.Cash(), PostCodeLbl, '', ''); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; BankAccPostingGroup: Code[20]; PostCode: Code[20]; LastRemittanceAdviceNo: Code[20]; BankStatementImportFormat: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Bank Acc. Posting Group", BankAccPostingGroup); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Bank Statement Import Format", BankStatementImportFormat); + + if LastRemittanceAdviceNo <> '' then + BankAccount.Validate("Last Remittance Advice No.", LastRemittanceAdviceNo); + end; + + var + PostCodeLbl: Label 'GB-WC1 3DG', MaxLength = 20; + LastRemittanceAdviceNoLbl: Label '1', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/3.Transaction Data/CreateCABankAccReco.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/3.Transaction Data/CreateCABankAccReco.Codeunit.al new file mode 100644 index 0000000000..d3414b9a37 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/3.Transaction Data/CreateCABankAccReco.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 27036 "Create CA Bank Acc. Reco." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateBankAccRecLine(); + end; + + local procedure UpdateBankAccRecLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccReconciliationLine.SetRange("Bank Account No.", CreateBankAccount.Checking()); + BankAccReconciliationLine.SetRange("Statement Line No.", 30000); + if BankAccReconciliationLine.FindFirst() then begin + BankAccReconciliationLine.Validate("Transaction Text", DeposittoAccountLbl); + BankAccReconciliationLine.Validate(Description, DeposittoAccountLbl); + BankAccReconciliationLine.Modify(true); + end; + end; + + var + DeposittoAccountLbl: Label 'Deposit to Account 24-01-18', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/3.Transaction Data/CreateCAGenJournalLine.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/3.Transaction Data/CreateCAGenJournalLine.Codeunit.al new file mode 100644 index 0000000000..5578052f99 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Bank/3.Transaction Data/CreateCAGenJournalLine.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 27025 "Create CA Gen. Journal Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralJournalLine(); + end; + + local procedure UpdateGeneralJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.SetRange("Journal Template Name", CreateGenJournalTemplate.General()); + GenJournalLine.SetRange("Journal Batch Name", CreateBankJnlBatch.Daily()); + if GenJournalLine.FindSet() then + repeat + case GenJournalLine."Line No." of + 10000: + GenJournalLine.Validate(Amount, -4121.95); + 20000: + GenJournalLine.Validate(Amount, -6182.93); + 30000, + 40000: + begin + GenJournalLine.Validate(Amount, -8243.90); + GenJournalLine.Validate(Description, DeposittoAccountLbl); + end; + end; + + GenJournalLine.Modify(true); + until GenJournalLine.Next() = 0; + end; + + var + DeposittoAccountLbl: Label 'Deposit to Account 24-01-18', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/CRM/1.Setup Data/CreateCAMarketingSetup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/CRM/1.Setup Data/CreateCAMarketingSetup.Codeunit.al new file mode 100644 index 0000000000..4889b301b1 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/CRM/1.Setup Data/CreateCAMarketingSetup.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 27074 "Create CA Marketing Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMarketingSetup(); + end; + + local procedure UpdateMarketingSetup() + var + MarketingSetup: Record "Marketing Setup"; + CreateLanguage: Codeunit "Create Language"; + begin + MarketingSetup.Get(); + + MarketingSetup.Validate("Default Language Code", CreateLanguage.ENC()); + MarketingSetup.Validate("Mergefield Language ID", 4105); + MarketingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/CRM/1.Setup Data/CreateCAWordTemplate.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/CRM/1.Setup Data/CreateCAWordTemplate.Codeunit.al new file mode 100644 index 0000000000..60b7c04c55 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/CRM/1.Setup Data/CreateCAWordTemplate.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 27068 "Create CA Word Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateLanguage: Codeunit "Create Language"; + FolderNameLbl: Label 'WordTemplates', Locked = true; + begin + ContosoCRM.InsertWordTemplate(EventWordTemplate(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event_ENC.docx', CreateLanguage.ENC()); + ContosoCRM.InsertWordTemplate(MemoWordTemplate(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo_ENC.docx', CreateLanguage.ENC()); + ContosoCRM.InsertWordTemplate(ThanksNoteWordTemplate(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote_ENC.docx', CreateLanguage.ENC()); + + ContosoCRM.InsertWordTemplate(EventFRWordTemplate(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event_FRC.docx', CreateLanguage.FRC()); + ContosoCRM.InsertWordTemplate(MemoFRWordTemplate(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo_FRC.docx', CreateLanguage.FRC()); + ContosoCRM.InsertWordTemplate(ThanksNoteFRWordTemplate(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote_FRC.docx', CreateLanguage.FRC()); + end; + + procedure EventWordTemplate(): Code[30] + begin + exit(EventTok) + end; + + procedure MemoWordTemplate(): Code[30] + begin + exit(MemoTok) + end; + + procedure ThanksNoteWordTemplate(): Code[30] + begin + exit(ThanksNoteTok) + end; + + procedure EventFRWordTemplate(): Code[30] + begin + exit(EventFRTok) + end; + + procedure MemoFRWordTemplate(): Code[30] + begin + exit(MemoFRTok) + end; + + procedure ThanksNoteFRWordTemplate(): Code[30] + begin + exit(ThanksNoteFRTok) + end; + + var + EventTok: Label 'EVENT-EN', MaxLength = 30; + MemoTok: Label 'MEMO-EN', MaxLength = 30; + ThanksNoteTok: Label 'THANKSNOTE-EN', MaxLength = 30; + EventFRTok: Label 'EVENT-FR', MaxLength = 30; + MemoFRTok: Label 'MEMO-FR', MaxLength = 30; + ThanksNoteFRTok: Label 'THANKSNOTE-FR', MaxLength = 30; + CustomerEventLbl: Label 'Customer Event', MaxLength = 250; + VendorMemoLbl: Label 'Vendor Memo', MaxLength = 250; + ContactThanksNoteLbl: Label 'Contact Thanks Note', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAAccScheduleLine.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..37b6e34e4f --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAAccScheduleLine.Codeunit.al @@ -0,0 +1,209 @@ +codeunit 27043 "Create CA Acc. Schedule Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + // ToDo: Could not find out G/L Accounts 99999, 11700, 22790, 66400, 69999 + + trigger OnRun() + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + AccountScheduleName: Code[10]; + begin + AccountScheduleName := CreateAccountScheduleName.CapitalStructure(); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 190000, '', CAMinusShortTermLiabLbl, '06|16', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', true, false, false, false, 0); + end; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Acc. Schedule Line") + var + CreateAccScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + begin + if (Rec."Schedule Name" = CreateAccScheduleName.AccountCategoriesOverview()) and (Rec."Line No." = 60000) then + ValidateRecordFields(Rec, '4010', IncomeThisYearLbl, '99999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + + if Rec."Schedule Name" = CreateAccScheduleName.CapitalStructure() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '', AcidTestAnalysisLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + 30000: + ValidateRecordFields(Rec, '', CurrentAssetsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + 40000: + ValidateRecordFields(Rec, '01', LiquidAssetsLbl, '11700', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + 50000: + ValidateRecordFields(Rec, '02', SecuritiesLbl, CreateGLAccount.Bonds(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + 60000: + ValidateRecordFields(Rec, '03', AccountsReceivableLbl, CreateCAGLAccounts.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + 70000: + ValidateRecordFields(Rec, '04', InventoryLbl, CreateCAGLAccounts.WipAccountFinishedGoods(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + 80000: + ValidateRecordFields(Rec, '05', WIPLbl, CreateCAGLAccounts.JobWIPTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + 90000: + ValidateRecordFields(Rec, '06', CurrentAssetsTotalLbl, '01..05', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', true, false); + 100000: + ValidateRecordFields(Rec, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 110000: + ValidateRecordFields(Rec, '', ShortTermLiabilitiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + 120000: + ValidateRecordFields(Rec, '11', RevolvingCreditLbl, CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + 130000: + ValidateRecordFields(Rec, '12', AccountsPayableLbl, CreateCAGLAccounts.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + 140000: + ValidateRecordFields(Rec, '13', SalesTaxesPayableLbl, '22790', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + 150000: + ValidateRecordFields(Rec, '14', PersonnelRelatedItemsLbl, CreateCAGLAccounts.TotalPersonnelRelatedItems(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + 160000: + ValidateRecordFields(Rec, '15', OtherLiabilitiesLbl, CreateCAGLAccounts.OtherLiabilitiesTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + 170000: + ValidateRecordFields(Rec, '16', ShortTermLiabilitiesTotalLbl, '11..15', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', true, true); + 180000: + ValidateRecordFields(Rec, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueLbl, CreateCAGLAccounts.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 20000: + ValidateRecordFields(Rec, '20', TotalReceivablesLbl, CreateCAGLAccounts.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 30000: + ValidateRecordFields(Rec, '30', TotalPayablesLbl, CreateCAGLAccounts.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 40000: + ValidateRecordFields(Rec, '40', TotalInventoryLbl, CreateCAGLAccounts.WipAccountFinishedGoods(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 50000, + 60000, + 70000, + 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalReceivablesLbl, CreateCAGLAccounts.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 20000: + ValidateRecordFields(Rec, '20', TotalPayablesLbl, CreateCAGLAccounts.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 30000: + ValidateRecordFields(Rec, '30', TotalLiquidFundsLbl, '11700|' + CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 40000: + ValidateRecordFields(Rec, '40', TotalCashFlowLbl, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueCreditLbl, CreateCAGLAccounts.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 30000: + ValidateRecordFields(Rec, '20', TotalGoodsSoldLbl, CreateCAGLAccounts.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 40000: + ValidateRecordFields(Rec, '30', TotalExternalCostsLbl, CreateCAGLAccounts.TotalOperatingExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 50000: + ValidateRecordFields(Rec, '40', TotalPersonnelCostsLbl, CreateCAGLAccounts.TotalPersonnelExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 60000: + ValidateRecordFields(Rec, '50', TotalDeprOnFALbl, '66400', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 70000: + ValidateRecordFields(Rec, '60', OtherExpensesLbl, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueLbl, CreateCAGLAccounts.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 20000: + ValidateRecordFields(Rec, '20', TotalCostLbl, CreateCAGLAccounts.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 50000: + ValidateRecordFields(Rec, '50', OperatingExpensesLbl, CreateCAGLAccounts.TotalOperatingExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 80000: + ValidateRecordFields(Rec, '80', OtherExpensesLbl, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 90000: + ValidateRecordFields(Rec, '90', IncomeBeforeInterestAndTaxLbl, '69999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 40000, + 70000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.Revenues() then + case Rec."Line No." of + 30000: + Rec.Validate(Bold, true); + 40000: + ValidateRecordFields(Rec, '11', SalesRetailDomLbl, CreateGLAccount.JobSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 50000: + ValidateRecordFields(Rec, '12', SalesRetailEULbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 60000: + ValidateRecordFields(Rec, '13', SalesRetailExportLbl, CreateCAGLAccounts.TotalSalesOfJobs(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 70000: + ValidateRecordFields(Rec, '14', JobSalesAdjmtRetailLbl, '40250|40450', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 80000: + ValidateRecordFields(Rec, '15', SalesofRetailTotalLbl, '11..14', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + 100000: + ValidateRecordFields(Rec, '21', RevenueArea10to55TotalLbl, CreateGLAccount.JobSales() + '|' + CreateCAGLAccounts.TotalSalesOfJobs() + '|40250|40450', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '10..55', false, true); + 110000: + ValidateRecordFields(Rec, '22', RevenueArea60to85TotalLbl, CreateGLAccount.JobSales() + '|' + CreateCAGLAccounts.TotalSalesOfJobs() + '|40250|40450', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '60..85', false, true); + 120000: + ValidateRecordFields(Rec, '23', RevenueNoAreacodeTotalLbl, CreateGLAccount.JobSales() + '|' + CreateCAGLAccounts.TotalSalesOfJobs() + '|40250|40450', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 130000: + ValidateRecordFields(Rec, '24', RevenueTotalLbl, '21..23', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Description: Text[100]; Totaling: Text[250]; TotalingType: Enum "Acc. Schedule Line Totaling Type"; Show: Enum "Acc. Schedule Line Show"; Dimension1Totaling: Text[250]; Bold: Boolean; ShowOppositeSign: Boolean) + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Show, Show); + AccScheduleLine.Validate("Dimension 1 Totaling", Dimension1Totaling); + AccScheduleLine.Validate(Bold, Bold); + AccScheduleLine.Validate("Show Opposite Sign", ShowOppositeSign); + end; + + var + IncomeThisYearLbl: Label 'Income This Year', MaxLength = 100; + AcidTestAnalysisLbl: Label 'ACID-TEST ANALYSIS', MaxLength = 100; + CurrentAssetsLbl: Label 'Current Assets', MaxLength = 100; + InventoryLbl: Label 'Inventory', MaxLength = 100; + AccountsReceivableLbl: Label 'Accounts Receivable', MaxLength = 100; + SecuritiesLbl: Label 'Securities', MaxLength = 100; + LiquidAssetsLbl: Label 'Liquid Assets', MaxLength = 100; + CurrentAssetsTotalLbl: Label 'Current Assets, Total', MaxLength = 100; + ShortTermLiabilitiesLbl: Label 'Short-term Liabilities', MaxLength = 100; + ShortTermLiabilitiesTotalLbl: Label 'Short-term Liabilities, Total', MaxLength = 100; + RevolvingCreditLbl: Label 'Revolving Credit', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payable', MaxLength = 100; + PersonnelRelatedItemsLbl: Label 'Personnel-related Items', MaxLength = 100; + OtherLiabilitiesLbl: Label 'Other Liabilities', MaxLength = 100; + OtherExpensesLbl: Label 'Other Expenses', MaxLength = 100; + TotalCashFlowLbl: Label 'Total Cash Flow', MaxLength = 100; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + TotalReceivablesLbl: Label 'Total Receivables', MaxLength = 100; + TotalPayablesLbl: Label 'Total Payables', MaxLength = 100; + TotalInventoryLbl: Label 'Total Inventory', MaxLength = 100; + TotalLiquidFundsLbl: Label 'Total Liquid Funds', MaxLength = 100; + TotalRevenueCreditLbl: Label 'Total Revenue (Credit)', MaxLength = 100; + TotalGoodsSoldLbl: Label 'Total Goods Sold', MaxLength = 100; + TotalExternalCostsLbl: Label 'Total External Costs ', MaxLength = 100; + TotalPersonnelCostsLbl: Label 'Total Personnel Costs', MaxLength = 100; + TotalDeprOnFALbl: Label 'Total Depr. on Fixed Assets', MaxLength = 100; + TotalCostLbl: Label 'Total Cost', MaxLength = 100; + OperatingExpensesLbl: Label 'Operating Expenses', MaxLength = 100; + IncomeBeforeInterestAndTaxLbl: Label 'Income before Interest and Tax', MaxLength = 100; + SalesofRetailTotalLbl: Label 'Sales of Retail, Total', MaxLength = 100; + RevenueArea10to55TotalLbl: Label 'Revenue Area 10..55, Total', MaxLength = 100; + RevenueArea60to85TotalLbl: Label 'Revenue Area 60..85, Total', MaxLength = 100; + RevenueNoAreacodeTotalLbl: Label 'Revenue, no Area code, Total', MaxLength = 100; + RevenueTotalLbl: Label 'Revenue, Total', MaxLength = 100; + SalesTaxesPayableLbl: Label 'Sales Taxes Payable', MaxLength = 100; + WIPLbl: Label 'WIP', MaxLength = 100; + CAMinusShortTermLiabLbl: Label 'Current Assets minus Short-term Liabilities', MaxLength = 100; + SalesRetailDomLbl: Label 'Sales, Retail - Dom.', MaxLength = 100; + SalesRetailEULbl: Label 'Sales, Retail - EU', MaxLength = 100; + SalesRetailExportLbl: Label 'Sales, Retail - Export', MaxLength = 100; + JobSalesAdjmtRetailLbl: Label 'Job Sales Adjmt, Retail', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAColumnLayoutName.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAColumnLayoutName.Codeunit.al new file mode 100644 index 0000000000..bb97fe59f0 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAColumnLayoutName.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 27017 "Create CA Column Layout Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(PeriodandYeartoDate(), PeriodandYeartoDateLbl); + ContosoAccountSchedule.InsertColumnLayoutName(PeriodandYeartoDatewithPercentofTotalRevenue(), PeriodandYeartoDatewithPercentofTotalRevenueLbl); + ContosoAccountSchedule.InsertColumnLayoutName(ThisYeartoDatevsPriorYeartoDate(), ThisYeartoDatevsPriorYeartoDateLbl); + end; + + procedure PeriodandYeartoDate(): Code[10] + begin + exit(PeriodandYeartoDateTok); + end; + + procedure PeriodandYeartoDatewithPercentofTotalRevenue(): Code[10] + begin + exit(PeriodandYeartoDatewithPercentofTotalRevenueTok); + end; + + procedure ThisYeartoDatevsPriorYeartoDate(): Code[10] + begin + exit(ThisYeartoDatevsPriorYeartoDateTok); + end; + + var + PeriodandYeartoDateTok: Label 'PTD + YTD', MaxLength = 10; + PeriodandYeartoDatewithPercentofTotalRevenueTok: Label 'PTD+YTD+%', MaxLength = 10; + ThisYeartoDatevsPriorYeartoDateTok: Label 'YTDCOMPARE', MaxLength = 10; + PeriodandYeartoDateLbl: Label 'Period and Year to Date', MaxLength = 80; + PeriodandYeartoDatewithPercentofTotalRevenueLbl: Label 'Period and Year to Date with Percent of Total Revenue', MaxLength = 80; + ThisYeartoDatevsPriorYeartoDateLbl: Label 'This Year to Date vs. Prior Year to Date', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCACurrency.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCACurrency.Codeunit.al new file mode 100644 index 0000000000..59de4f5f53 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCACurrency.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 27047 "Create CA Currency" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCurrency.USD(): + ValidateRecordFields(Rec, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXLosses()); + CreateCurrency.EUR(): + ValidateRecordFields(Rec, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXLosses()); + CreateCurrency.MXN(): + ValidateRecordFields(Rec, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXLosses()); + end; + end; + + local procedure ValidateRecordFields(var Currency: Record "Currency"; UnrealizedGainsAcc: Code[20]; UnrealizedLossesAcc: Code[20]) + begin + Currency.Validate("Unrealized Gains Acc.", UnrealizedGainsAcc); + Currency.Validate("Unrealized Losses Acc.", UnrealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGLAccounts.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGLAccounts.Codeunit.al new file mode 100644 index 0000000000..6173f45f2e --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGLAccounts.Codeunit.al @@ -0,0 +1,2434 @@ +codeunit 27009 "Create CA GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '13100'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '22300'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '41100'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '54100'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '53700'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '54710'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '53800'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '54702'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '53850'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '54703'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '14300'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '53100'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '53400'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '54500'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '14100'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '14101') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '44400'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '52450'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '52460'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '52475'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '57100'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '57200'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '57210'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '57300'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '57400'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '14200'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '14600'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '18100'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '18100'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '17200'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '65300'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '71200'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '72900'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '23850'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '15011'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '15231'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '41300'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '44100'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '54599'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '51000'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccount() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ASSETSName(), '10000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), '11000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '11100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '11110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '12000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '12300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '13000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), '13100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), '13200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), '13500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), '14000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), '14100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), '14101'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResaleSoldInterimName(), '14102'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '14200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), '14201'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '14300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), '14301'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMatSoldInterimName(), '14302'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), '14400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPName(), '15000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesName(), '15010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '15011'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), '15012'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsName(), '15230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), '15231'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), '15232'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '16000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), '16100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), '16200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), '16210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), '16300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), '17000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), '17100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), '17200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), '18000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), '18100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LIABILITIESANDEQUITYName(), '20000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), '21000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesName(), '22000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), '22100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), '22150'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), '22200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '22300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '22400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), '22510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), '22530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), '22550'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelRelatedItemsName(), '23000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), '23300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), '23850'); + ContosoGLAccount.AddAccountForLocalization(EmployeesPayableName(), '23890'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '24000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsfortheFiscalYearName(), '24200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), '24300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesName(), '25000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermBankLoansName(), '25100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), '25200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), '25300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), '30100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), '30200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.INCOMESTATEMENTName(), '40000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), '40100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), '41000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), '41100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), '41200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), '41300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), '41400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), '41500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), '42000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), '42100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), '42300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), '42500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), '43000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), '43100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), '43300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), '43500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), '44000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '44100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), '47000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), '47100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), '47200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscReceivedDecreasesName(), '47260'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), '47300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '47400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), '47500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), '47510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), '47520'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), '48000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandChargesRecDomName(), '48100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), '48200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), '50000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '51000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesName(), '52000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesUsedName(), '52200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), '52210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), '52211'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsName(), '53000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), '53100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), '53200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), '53300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), '53350'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), '53400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), '53499'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsSoldName(), '53600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailName(), '54000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), '54100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), '54300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), '54400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), '54500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), '54550'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), '54599'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), '54600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailSoldName(), '54700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), '60000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), '61000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '61100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), '61200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), '61300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), '61350'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '62000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), '62100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '62200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), '62300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), '62400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), '62500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), '63000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), '63100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), '63200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), '63300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), '64000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), '64100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), '64200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), '64300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), '65000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '65100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandHeatingName(), '65200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), '65500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '65600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), '65700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '65800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), '67000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), '67100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), '67200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandAccountingServicesName(), '67300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsofOperationsName(), '67500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationofFixedAssetsName(), '71000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), '71100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), '71200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), '71300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '71500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonRevolvingCreditName(), '71600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankLoansName(), '71700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), '71800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargestoVendorsName(), '71900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscGrantedDecreasesName(), '72000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), '72100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), '72101'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), '72200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), '72500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), '72600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), '72700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), '72800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GAINSANDLOSSESName(), '72900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), '76000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '81100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '81300'); + + //BlankGL + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BALANCESHEETName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLCYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEBEFORETAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + + // New GL + ContosoGLAccount.AddAccountForLocalization(BankCheckingName(), '11120'); + ContosoGLAccount.AddAccountForLocalization(BankCurrenciesLCYName(), '11130'); + ContosoGLAccount.AddAccountForLocalization(BankCurrenciesFCYUSDName(), '11140'); + ContosoGLAccount.AddAccountForLocalization(BankOperationsCashName(), '11150'); + ContosoGLAccount.AddAccountForLocalization(LiquidAssetsTotalName(), '11199'); + ContosoGLAccount.AddAccountForLocalization(ShortTermInvestmentsName(), '12100'); + ContosoGLAccount.AddAccountForLocalization(CanadianTermDepositsName(), '12200'); + ContosoGLAccount.AddAccountForLocalization(OtherMarketableSecuritiesName(), '12400'); + ContosoGLAccount.AddAccountForLocalization(InterestAccruedOnInvestmentName(), '12500'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesTotalName(), '12599'); + ContosoGLAccount.AddAccountForLocalization(OtherReceivablesName(), '13300'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivableTotalName(), '13400'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsServicesName(), '13520'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsRetailName(), '13530'); + ContosoGLAccount.AddAccountForLocalization(PurchasePrepaymentsTotalName(), '13540'); + ContosoGLAccount.AddAccountForLocalization(AllowanceForFinishedGoodsWriteOffsName(), '14450'); + ContosoGLAccount.AddAccountForLocalization(WipAccountFinishedGoodsName(), '14500'); + ContosoGLAccount.AddAccountForLocalization(InventoryTotalName(), '14600'); + ContosoGLAccount.AddAccountForLocalization(WipSalesTotalName(), '15100'); + ContosoGLAccount.AddAccountForLocalization(WipCostsTotalName(), '15240'); + ContosoGLAccount.AddAccountForLocalization(JobWIPTotalName(), '15300'); + ContosoGLAccount.AddAccountForLocalization(CurrentAssetsTotalName(), '15950'); + ContosoGLAccount.AddAccountForLocalization(VehiclesTotalName(), '16400'); + ContosoGLAccount.AddAccountForLocalization(OperatingEquipmentTotalName(), '17300'); + ContosoGLAccount.AddAccountForLocalization(AccumDepreciationBuildingsName(), '18200'); + ContosoGLAccount.AddAccountForLocalization(LandAndBuildingsTotalName(), '18300'); + ContosoGLAccount.AddAccountForLocalization(TangibleFixedAssetsTotalName(), '18400'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsBeginTotalName(), '18500'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsName(), '18510'); + ContosoGLAccount.AddAccountForLocalization(AccAmortnOnIntangiblesName(), '18550'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsTotalName(), '18700'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsTotalName(), '18950'); + ContosoGLAccount.AddAccountForLocalization(TotalAssetsName(), '19950'); + ContosoGLAccount.AddAccountForLocalization(DeferredRevenueName(), '22140'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsServicesName(), '22170'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsRetailName(), '22180'); + ContosoGLAccount.AddAccountForLocalization(PrepaidServiceContractsName(), '22181'); + ContosoGLAccount.AddAccountForLocalization(SalesPrepaymentsTotalName(), '22190'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableEmployeesName(), '22420'); + ContosoGLAccount.AddAccountForLocalization(AccruedPayablesName(), '22450'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableTotalName(), '22500'); + ContosoGLAccount.AddAccountForLocalization(InvAdjmtInterimTotalName(), '22590'); + ContosoGLAccount.AddAccountForLocalization(TaxesPayablesName(), '22600'); + ContosoGLAccount.AddAccountForLocalization(IncomeTaxPayableName(), '22610'); + ContosoGLAccount.AddAccountForLocalization(ProvincialSalesTaxName(), '22700'); + ContosoGLAccount.AddAccountForLocalization(QSTSalesTaxCollectedName(), '22740'); + ContosoGLAccount.AddAccountForLocalization(PurchaseTaxName(), '22750'); + ContosoGLAccount.AddAccountForLocalization(GSTHSTSalesTaxName(), '22780'); + ContosoGLAccount.AddAccountForLocalization(GSTHSTInputCreditsName(), '22800'); + ContosoGLAccount.AddAccountForLocalization(IncomeTaxAccruedName(), '22810'); + ContosoGLAccount.AddAccountForLocalization(QuebecBeerTaxesAccruedName(), '22850'); + ContosoGLAccount.AddAccountForLocalization(TaxesPayablesTotalName(), '22899'); + ContosoGLAccount.AddAccountForLocalization(AccruedSalariesWagesName(), '23050'); + ContosoGLAccount.AddAccountForLocalization(FederalIncomeTaxExpenseName(), '23100'); + ContosoGLAccount.AddAccountForLocalization(ProvincialWithholdingPayableName(), '23200'); + ContosoGLAccount.AddAccountForLocalization(FICAPayableName(), '23400'); + ContosoGLAccount.AddAccountForLocalization(MedicarePayableName(), '23500'); + ContosoGLAccount.AddAccountForLocalization(FUTAPayableName(), '23600'); + ContosoGLAccount.AddAccountForLocalization(SUTAPayableName(), '23700'); + ContosoGLAccount.AddAccountForLocalization(EmployeeBenefitsPayableName(), '23750'); + ContosoGLAccount.AddAccountForLocalization(EmploymentInsuranceEmployeeContribName(), '23760'); + ContosoGLAccount.AddAccountForLocalization(EmploymentInsuranceEmployerContribName(), '23770'); + ContosoGLAccount.AddAccountForLocalization(CanadaPensionFundEmployeeContribName(), '23780'); + ContosoGLAccount.AddAccountForLocalization(CanadaPensionFundEmployerContribName(), '23790'); + ContosoGLAccount.AddAccountForLocalization(QuebecPipPayableEmployeeName(), '23795'); + ContosoGLAccount.AddAccountForLocalization(GarnishmentPayableName(), '23800'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelRelatedItemsName(), '23900'); + ContosoGLAccount.AddAccountForLocalization(OtherLiabilitiesTotalName(), '24400'); + ContosoGLAccount.AddAccountForLocalization(ShortTermLiabilitiesTotalName(), '24500'); + ContosoGLAccount.AddAccountForLocalization(DeferralRevenueName(), '25301'); + ContosoGLAccount.AddAccountForLocalization(LongTermLiabilitiesTotalName(), '25400'); + ContosoGLAccount.AddAccountForLocalization(TotalLiabilitiesName(), '25995'); + ContosoGLAccount.AddAccountForLocalization(EquityName(), '30000'); + ContosoGLAccount.AddAccountForLocalization(NetIncomeForTheYearName(), '30400'); + ContosoGLAccount.AddAccountForLocalization(TotalStockholdersEquityName(), '30500'); + ContosoGLAccount.AddAccountForLocalization(TotalLiabilitiesAndEquityName(), '39950'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesOfRetailName(), '41450'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesOfRawMaterialsName(), '42400'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesOfResourcesName(), '43400'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesOfJobsName(), '44300'); + ContosoGLAccount.AddAccountForLocalization(SalesOfServiceContractsName(), '44399'); + ContosoGLAccount.AddAccountForLocalization(ServiceContractSaleName(), '44400'); + ContosoGLAccount.AddAccountForLocalization(TotalSaleOfServContractsName(), '44500'); + ContosoGLAccount.AddAccountForLocalization(TotalInterestIncomeName(), '48500'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenueName(), '49950'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfResourcesName(), '52300'); + ContosoGLAccount.AddAccountForLocalization(CostOfCapacitiesBeginTotalName(), '52400'); + ContosoGLAccount.AddAccountForLocalization(CostOfCapacitiesName(), '52410'); + ContosoGLAccount.AddAccountForLocalization(DirectCostAppliedCapName(), '52450'); + ContosoGLAccount.AddAccountForLocalization(OverheadAppliedCapName(), '52460'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceCapName(), '52475'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfCapacitiesName(), '52500'); + ContosoGLAccount.AddAccountForLocalization(JobCostAppliedRawMaterialsName(), '53500'); + ContosoGLAccount.AddAccountForLocalization(DirectCostAppliedRawmatName(), '53700'); + ContosoGLAccount.AddAccountForLocalization(OverheadAppliedRawmatName(), '53800'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceRawmatName(), '53850'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfRawMaterialsName(), '53900'); + ContosoGLAccount.AddAccountForLocalization(OverheadAppliedRetailName(), '54702'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceRetailName(), '54703'); + ContosoGLAccount.AddAccountForLocalization(DirectCostAppliedRetailName(), '54710'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscountsGrantedCOGSName(), '54800'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfRetailName(), '54900'); + ContosoGLAccount.AddAccountForLocalization(VarianceName(), '57000'); + ContosoGLAccount.AddAccountForLocalization(MaterialVarianceName(), '57100'); + ContosoGLAccount.AddAccountForLocalization(CapacityVarianceName(), '57200'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedVarianceName(), '57210'); + ContosoGLAccount.AddAccountForLocalization(CapOverheadVarianceName(), '57300'); + ContosoGLAccount.AddAccountForLocalization(MfgOverheadVarianceName(), '57400'); + ContosoGLAccount.AddAccountForLocalization(TotalVarianceName(), '57900'); + ContosoGLAccount.AddAccountForLocalization(TotalCostName(), '59950'); + ContosoGLAccount.AddAccountForLocalization(TotalSellingExpensesName(), '61400'); + ContosoGLAccount.AddAccountForLocalization(HealthInsuranceName(), '62600'); + ContosoGLAccount.AddAccountForLocalization(GroupLifeInsuranceName(), '62700'); + ContosoGLAccount.AddAccountForLocalization(WorkersCompensationName(), '62800'); + ContosoGLAccount.AddAccountForLocalization(FourHounderedOneKContributionsName(), '62900'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelExpensesName(), '62950'); + ContosoGLAccount.AddAccountForLocalization(TaxesName(), '63450'); + ContosoGLAccount.AddAccountForLocalization(TotalVehicleExpensesName(), '63500'); + ContosoGLAccount.AddAccountForLocalization(TotalComputerExpensesName(), '64400'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceExpenseName(), '65300'); + ContosoGLAccount.AddAccountForLocalization(TotalBldgMaintExpensesName(), '65400'); + ContosoGLAccount.AddAccountForLocalization(TotalAdministrativeExpensesName(), '65900'); + ContosoGLAccount.AddAccountForLocalization(MiscellaneousName(), '67400'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingExpTotalName(), '67600'); + ContosoGLAccount.AddAccountForLocalization(TotalOperatingExpensesName(), '69950'); + ContosoGLAccount.AddAccountForLocalization(EBITDAName(), '70000'); + ContosoGLAccount.AddAccountForLocalization(TotalFixedAssetDepreciationName(), '71400'); + ContosoGLAccount.AddAccountForLocalization(TotalInterestExpensesName(), '72300'); + ContosoGLAccount.AddAccountForLocalization(GainsandLossesBeginTotalName(), '72400'); + ContosoGLAccount.AddAccountForLocalization(TotalGainsAndLossesName(), '73000'); + ContosoGLAccount.AddAccountForLocalization(NiBeforeExtrItemsTaxesName(), '74000'); + ContosoGLAccount.AddAccountForLocalization(IncomeTaxesName(), '75000'); + ContosoGLAccount.AddAccountForLocalization(StateIncomeTaxName(), '76100'); + ContosoGLAccount.AddAccountForLocalization(TotalIncomeTaxesName(), '76200'); + ContosoGLAccount.AddAccountForLocalization(NetIncomeBeforeExtrItemsName(), '80000'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryItemsName(), '81000'); + ContosoGLAccount.AddAccountForLocalization(RevaluationSurplusAdjustmentsName(), '81200'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryItemsTotalName(), '81400'); + // New GL + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + SubCategory: Text[80]; + begin + ContosoGLAccount.InsertGLAccount(BankChecking(), BankCheckingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankCurrenciesLCY(), BankCurrenciesLCYName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankCurrenciesFCYUSD(), BankCurrenciesFCYUSDName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankOperationsCash(), BankOperationsCashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildings(), CreateGLAccount.LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiabilitiesAndEquity(), CreateGLAccount.LiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceReceived(), CreateGLAccount.PaymentToleranceReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PmtTolReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FeesandChargesRecDom(), CreateGLAccount.FeesandChargesRecDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.UnrealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFXGains(), CreateGLAccount.RealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFXLosses(), CreateGLAccount.RealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryIncome(), CreateGLAccount.ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersDomestic(), CreateGLAccount.CustomersDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersForeign(), CreateGLAccount.CustomersForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItemsInterim(), CreateGLAccount.ResaleItemsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.CostofResaleSoldInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoodsInterim(), CreateGLAccount.FinishedGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterialsInterim(), CreateGLAccount.RawMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRawMatSoldInterim(), CreateGLAccount.CostofRawMatSoldInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PrimoInventory(), CreateGLAccount.PrimoInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoicedJobSales(), CreateGLAccount.InvoicedJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobCosts(), CreateGLAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccruedJobCosts(), CreateGLAccount.AccruedJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Vehicles(), CreateGLAccount.VehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDepreciationVehicles(), CreateGLAccount.AccumDepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OperatingEquipment(), CreateGLAccount.OperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDeprOperEquip(), CreateGLAccount.AccumDeprOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumDepreciationBuildings(), AccumDepreciationBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RevolvingCredit(), CreateGLAccount.RevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsDomestic(), CreateGLAccount.VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsForeign(), CreateGLAccount.VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.InvAdjmtInterimRetailName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRawMat(), CreateGLAccount.InvAdjmtInterimRawMatName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeferredTaxes(), CreateGLAccount.DeferredTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GainsandLosses(), CreateGLAccount.GainsandLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailDom(), CreateGLAccount.SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRetail(), CreateGLAccount.JobSalesAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtRetail(), CreateGLAccount.JobSalesAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsDom(), CreateGLAccount.SalesRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.SalesRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtRawMat(), CreateGLAccount.JobSalesAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesDom(), CreateGLAccount.SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtResources(), CreateGLAccount.JobSalesAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PaymentDiscountsReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.PmtDiscReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtResources(), CreateGLAccount.JobCostAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedResources(), CreateGLAccount.JobCostAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRawMat(), CreateGLAccount.InventoryAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtRawMaterials(), CreateGLAccount.JobCostAdjmtRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRawMaterialsSold(), CreateGLAccount.CostofRawMaterialsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailDom(), CreateGLAccount.PurchRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailExport(), CreateGLAccount.PurchRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedRetail(), CreateGLAccount.JobCostAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtRetail(), CreateGLAccount.JobCostAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofRetailSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscGrantedDecreases(), CreateGLAccount.PmtDiscGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PaymentToleranceGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolGrantedDecreases(), CreateGLAccount.PmtTolGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LiquidAssetsTotal(), LiquidAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LiquidAssets() + '..' + LiquidAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermInvestments(), ShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CanadianTermDeposits(), CanadianTermDepositsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherMarketableSecurities(), OtherMarketableSecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestAccruedOnInvestment(), InterestAccruedOnInvestmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SecuritiesTotal(), SecuritiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Securities() + '..' + SecuritiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherReceivables(), OtherReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsReceivableTotal(), AccountsReceivableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AccountsReceivable() + '..' + AccountsReceivableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsServices(), VendorPrepaymentsServicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsRetail(), VendorPrepaymentsRetailName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasePrepaymentsTotal(), PurchasePrepaymentsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PurchasePrepayments() + '..' + PurchasePrepaymentsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AllowanceForFinishedGoodsWriteOffs(), AllowanceForFinishedGoodsWriteOffsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WipAccountFinishedGoods(), WipAccountFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventoryTotal(), InventoryTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Inventory() + '..' + InventoryTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WipSalesTotal(), WipSalesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.WIPSales() + '..' + WIPSalesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WipCostsTotal(), WipCostsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.WIPCosts() + '..' + WIPCostsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobWIPTotal(), JobWIPTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.JobWIP() + '..' + JobWIPTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentAssetsTotal(), CurrentAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CurrentAssets() + '..' + CurrentAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VehiclesTotal(), VehiclesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehiclesBeginTotal() + '..' + VehiclesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OperatingEquipmentTotal(), OperatingEquipmentTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OperatingEquipmentBeginTotal() + '..' + OperatingEquipmentTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LandAndBuildingsTotal(), LandAndBuildingsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LandandBuildingsBeginTotal() + '..' + LandandBuildingsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TangibleFixedAssetsTotal(), TangibleFixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.TangibleFixedAssets() + '..' + TangibleFixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssetsBeginTotal(), IntangibleAssetsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssets(), IntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccAmortnOnIntangibles(), AccAmortnOnIntangiblesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssetsTotal(), IntangibleAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, IntangibleAssetsBeginTotal() + '..' + IntangibleAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsTotal(), FixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.FixedAssets() + '..' + FixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalAssets(), TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.ASSETS() + '..' + TOTALASSETS(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeferredRevenue(), DeferredRevenueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsServices(), CustomerPrepaymentsServicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsRetail(), CustomerPrepaymentsRetailName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidServiceContracts(), PrepaidServiceContractsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesPrepaymentsTotal(), SalesPrepaymentsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesPrepayments() + '..' + SalesPrepaymentsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableEmployees(), AccountsPayableEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedPayables(), AccruedPayablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableTotal(), AccountsPayableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AccountsPayable() + '..' + AccountsPayableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvAdjmtInterimTotal(), InvAdjmtInterimTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InvAdjmtInterim() + '..' + InvAdjmtInterimTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxesPayables(), TaxesPayablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeTaxPayable(), IncomeTaxPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvincialSalesTax(), ProvincialSalesTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(QSTSalesTaxCollected(), QSTSalesTaxCollectedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseTax(), PurchaseTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GSTHSTSalesTax(), GSTHSTSalesTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GSTHSTInputCredits(), GSTHSTInputCreditsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeTaxAccrued(), IncomeTaxAccruedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(QuebecBeerTaxesAccrued(), QuebecBeerTaxesAccruedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxesPayablesTotal(), TaxesPayablesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, TaxesPayables() + '..' + TaxesPayablesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedSalariesWages(), AccruedSalariesWagesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FederalIncomeTaxExpense(), FederalIncomeTaxExpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvincialWithholdingPayable(), ProvincialWithholdingPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FICAPayable(), FICAPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MedicarePayable(), MedicarePayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FUTAPayable(), FUTAPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SUTAPayable(), SUTAPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmployeeBenefitsPayable(), EmployeeBenefitsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmploymentInsuranceEmployeeContrib(), EmploymentInsuranceEmployeeContribName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmploymentInsuranceEmployerContrib(), EmploymentInsuranceEmployerContribName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CanadaPensionFundEmployeeContrib(), CanadaPensionFundEmployeeContribName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CanadaPensionFundEmployerContrib(), CanadaPensionFundEmployerContribName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(QuebecPipPayableEmployee(), QuebecPipPayableEmployeeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GarnishmentPayable(), GarnishmentPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnelRelatedItems(), TotalPersonnelRelatedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelRelatedItems() + '..' + TotalPersonnelRelatedItems(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherLiabilitiesTotal(), OtherLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherLiabilities() + '..' + OtherLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermLiabilitiesTotal(), ShortTermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ShortTermLiabilities() + '..' + ShortTermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeferralRevenue(), DeferralRevenueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LongTermLiabilitiesTotal(), LongTermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LongTermLiabilities() + '..' + LongTermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLiabilities(), TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Liabilities() + '..' + TotalLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Equity(), EquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Heading", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NetIncomeForTheYear(), NetIncomeForTheYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalStockholdersEquity(), TotalStockholdersEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLiabilitiesAndEquity(), TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesOfRetail(), TotalSalesOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesofRetail() + '..' + TotalSalesofRetail(), Enum::"General Posting Type"::Sale, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesOfRawMaterials(), TotalSalesOfRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesofRawMaterials() + '..' + TotalSalesofRawMaterials(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesOfResources(), TotalSalesOfResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesofResources() + '..' + TotalSalesofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesOfJobs(), TotalSalesOfJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesofJobs() + '..' + TotalSalesofJobs(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesOfServiceContracts(), SalesOfServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServiceContractSale(), ServiceContractSaleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSaleOfServContracts(), TotalSaleOfServContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesofServiceContracts() + '..' + TotalSaleofServContracts(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalInterestIncome(), TotalInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InterestIncome() + '..' + TotalInterestIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenue(), TotalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Revenue() + '..' + TotalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfResources(), TotalCostOfResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CostofResources() + '..' + TotalCostofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCapacitiesBeginTotal(), CostOfCapacitiesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCapacities(), CostOfCapacitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DirectCostAppliedCap(), DirectCostAppliedCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OverheadAppliedCap(), OverheadAppliedCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceCap(), PurchaseVarianceCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfCapacities(), TotalCostOfCapacitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofCapacities() + '..' + TotalCostofCapacities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAppliedRawMaterials(), JobCostAppliedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DirectCostAppliedRawmat(), DirectCostAppliedRawmatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OverheadAppliedRawmat(), OverheadAppliedRawmatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceRawmat(), PurchaseVarianceRawmatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfRawMaterials(), TotalCostOfRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CostofRawMaterials() + '..' + TotalCostofRawMaterials(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OverheadAppliedRetail(), OverheadAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceRetail(), PurchaseVarianceRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DirectCostAppliedRetail(), DirectCostAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscountsGrantedCOGS(), PaymentDiscountsGrantedCOGSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfRetail(), TotalCostOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CostofRetail() + '..' + TotalCostofRetail(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variance(), VarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MaterialVariance(), MaterialVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapacityVariance(), CapacityVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SubcontractedVariance(), SubcontractedVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapOverheadVariance(), CapOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MfgOverheadVariance(), MfgOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVariance(), TotalVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, Variance() + '..' + TotalVariance(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalCost(), TotalCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Cost() + '..' + TotalCost(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSellingExpenses(), TotalSellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SellingExpenses() + '..' + TotalSellingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HealthInsurance(), HealthInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GroupLifeInsurance(), GroupLifeInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkersCompensation(), WorkersCompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FourHounderedOneKContributions(), FourHounderedOneKContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnelExpenses(), TotalPersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelExpenses() + '..' + TotalPersonnelExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Taxes(), TaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVehicleExpenses(), TotalVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehicleExpenses() + '..' + TotalVehicleExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalComputerExpenses(), TotalComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ComputerExpenses() + '..' + TotalComputerExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenanceExpense(), RepairsandMaintenanceExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBldgMaintExpenses(), TotalBldgMaintExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.BuildingMaintenanceExpenses() + '..' + TotalBldgMaintExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdministrativeExpenses(), TotalAdministrativeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AdministrativeExpenses() + '..' + TotalAdministrativeExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingExpTotal(), OtherOperatingExpTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherOperatingExpenses() + '..' + OtherOperatingExpTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalOperatingExpenses(), TotalOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OperatingExpenses() + '..' + TotalOperatingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EBITDA(), EBITDAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalFixedAssetDepreciation(), TotalFixedAssetDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.DepreciationofFixedAssets() + '..' + TotalFixedAssetDepreciation(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalInterestExpenses(), TotalInterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InterestExpenses() + '..' + TotalInterestExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainsandLossesBeginTotal(), GainsandLossesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalGainsAndLosses(), TotalGainsAndLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, GainsandLossesBeginTotal() + '..' + TOTALGAINSANDLOSSES(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NiBeforeExtrItemsTaxes(), NiBeforeExtrItemsTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeTaxes(), IncomeTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StateIncomeTax(), StateIncomeTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalIncomeTaxes(), TotalIncomeTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, IncomeTaxes() + '..' + TotalIncomeTaxes(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NetIncomeBeforeExtrItems(), NetIncomeBeforeExtrItemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExtraordinaryItems(), ExtraordinaryItemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevaluationSurplusAdjustments(), RevaluationSurplusAdjustmentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExtraordinaryItemsTotal(), ExtraordinaryItemsTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ExtraordinaryItems() + '..' + ExtraordinaryItemsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EmployeesPayable(), EmployeesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VehiclesBeginTotal(), CreateGLAccount.VehiclesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultingFeesDom(), CreateGLAccount.ConsultingFeesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetCOGSMaterials(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cost(), CreateGLAccount.CostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofResources(), CreateGLAccount.CostofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetCash(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cash(), CreateGLAccount.CashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + SubCategory := Format(GLAccountCategoryMgt.GetCOGSMaterials(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRawMat(), CreateGLAccount.DeliveryExpensesRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRetail(), CreateGLAccount.DeliveryExpensesRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetAdvertisingExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), CreateGLAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EntertainmentandPR(), CreateGLAccount.EntertainmentandPRName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpenses(), CreateGLAccount.DeliveryExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GasolineandMotorOil(), CreateGLAccount.GasolineandMotorOilName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.RepairsandMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Software(), CreateGLAccount.SoftwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultantServices(), CreateGLAccount.ConsultantServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherComputerExpenses(), CreateGLAccount.OtherComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cleaning(), CreateGLAccount.CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityandHeating(), CreateGLAccount.ElectricityandHeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PhoneandFax(), CreateGLAccount.PhoneandFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(Miscellaneous(), MiscellaneousName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LegalandAccountingServices(), CreateGLAccount.LegalandAccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.OtherCostsofOperationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + end; + + procedure AddCategoriesToGLAccountsForMini() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccountsForMini(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccountsForMini(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + local procedure AssignCategoryToChartOfAccountsForMini(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ASSETS(), TotalAssets()); + GLAccountCategory."Account Category"::Liabilities: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LIABILITIESANDEQUITY(), TotalLiabilities()); + GLAccountCategory."Account Category"::Equity: + UpdateGLAccounts(GLAccountCategory, Equity(), TotalLiabilitiesAndEquity()); + GLAccountCategory."Account Category"::Income: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.INCOMESTATEMENT(), TotalRevenue()); + UpdateGLAccounts(GLAccountCategory, GainsandLossesBeginTotal(), TotalGainsAndLosses()); + end; + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cost(), TotalCost()); + GLAccountCategory."Account Category"::Expense: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OperatingExpenses(), TotalOperatingExpenses()); + UpdateGLAccounts(GLAccountCategory, EBITDA(), TotalIncomeTaxes()); + UpdateGLAccounts(GLAccountCategory, NetIncomeBeforeExtrItems(), ExtraordinaryItemsTotal()); + end; + end; + end; + + local procedure AssignSubcategoryToChartOfAccountsForMini(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetAR(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CustomersDomestic(), '13350'); + GLAccountCategoryMgt.GetPrepaidExpenses(): + UpdateGLAccounts(GLAccountCategory, '13510', VendorPrepaymentsRetail()); + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ResaleItems(), CreateGLAccount.RawMaterials()); + GLAccountCategoryMgt.GetEquipment(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.VehiclesBeginTotal(), '16220'); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OperatingEquipment(), '17120'); + end; + GLAccountCategoryMgt.GetAccumDeprec(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.AccumDepreciationVehicles(), CreateGLAccount.AccumDepreciationVehicles()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.AccumDeprOperEquip(), CreateGLAccount.AccumDeprOperEquip()); + UpdateGLAccounts(GLAccountCategory, AccumDepreciationBuildings(), AccumDepreciationBuildings()); + end; + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RevolvingCredit(), CreateGLAccount.RevolvingCredit()); + UpdateGLAccounts(GLAccountCategory, '22160', CustomerPrepaymentsRetail()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.VendorsDomestic(), AccruedPayables()); + UpdateGLAccounts(GLAccountCategory, ProvincialSalesTax(), GSTHSTSalesTax()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CorporateTaxesPayable(), CreateGLAccount.CorporateTaxesPayable()); + end; + GLAccountCategoryMgt.GetPayrollLiabilities(): + UpdateGLAccounts(GLAccountCategory, AccruedSalariesWages(), CreateGLAccount.PayrollTaxesPayable()); + GLAccountCategoryMgt.GetLongTermLiabilities(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LongTermBankLoans(), CreateGLAccount.DeferredTaxes()); + GLAccountCategoryMgt.GetCommonStock(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStock()); + GLAccountCategoryMgt.GetRetEarnings(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarnings()); + GLAccountCategoryMgt.GetIncomeService(): + begin + UpdateGLAccounts(GLAccountCategory, TotalSalesOfRetail(), TotalSalesOfRetail()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.JobSalesAdjmtRawMat()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesResourcesExport(), CreateGLAccount.JobSalesAdjmtResources()); + end; + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.JobSales(), TotalSalesOfJobs()); + GLAccountCategoryMgt.GetCOGSLabor(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.JobCosts(), CreateGLAccount.JobCosts()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CostofResourcesUsed(), CreateGLAccount.CostofResourcesUsed()); + end; + GLAccountCategoryMgt.GetCOGSMaterials(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsExport()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cost(), TotalCostOfRawMaterials()); + end; + CostofGoodsSold(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PurchRetailDom(), CreateGLAccount.DeliveryExpensesRetail()); + UpdateGLAccounts(GLAccountCategory, PaymentDiscountsGrantedCOGS(), PaymentDiscountsGrantedCOGS()); + end; + GLAccountCategoryMgt.GetAdvertisingExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Advertising(), CreateGLAccount.EntertainmentandPR()); + GLAccountCategoryMgt.GetTravelExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Travel(), CreateGLAccount.Travel()); + GLAccountCategoryMgt.GetFeesExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFees()); + GLAccountCategoryMgt.GetPayrollExpense(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Wages(), CreateGLAccount.Wages()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RetirementPlanContributions(), WorkersCompensation()); + end; + GLAccountCategoryMgt.GetSalariesExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Salaries(), CreateGLAccount.Salaries()); + GLAccountCategoryMgt.GetVehicleExpenses(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.GasolineandMotorOil(), CreateGLAccount.GasolineandMotorOil()); + GLAccountCategoryMgt.GetRepairsExpense(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.RepairsandMaintenance()); + UpdateGLAccounts(GLAccountCategory, RepairsandMaintenanceExpense(), RepairsandMaintenanceExpense()); + end; + GLAccountCategoryMgt.GetUtilitiesExpense(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cleaning(), CreateGLAccount.ElectricityandHeating()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OfficeSupplies(), CreateGLAccount.Postage()); + end; + GLAccountCategoryMgt.GetOtherIncomeExpense(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.FeesandChargesRecDom(), TotalInterestIncome()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Software(), CreateGLAccount.OtherComputerExpenses()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepancies()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LegalandAccountingServices(), CreateGLAccount.OtherCostsofOperations()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.InvoiceRounding(), CreateGLAccount.PmtTolReceivedDecreases()); + end; + GLAccountCategoryMgt.GetBadDebtExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.BadDebtExpenses(), CreateGLAccount.BadDebtExpenses()); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure BankChecking(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCheckingName())); + end; + + procedure BankCheckingName(): Text[100] + begin + exit(BankCheckingTok); + end; + + procedure BankCurrenciesLCY(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCurrenciesLCYName())); + end; + + procedure BankCurrenciesLCYName(): Text[100] + begin + exit(BankCurrenciesLCYTok); + end; + + procedure BankCurrenciesFCYUSD(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCurrenciesFCYUSDName())); + end; + + procedure BankCurrenciesFCYUSDName(): Text[100] + begin + exit(BankCurrenciesFCYUSDTok); + end; + + procedure BankOperationsCash(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankOperationsCashName())); + end; + + procedure BankOperationsCashName(): Text[100] + begin + exit(BankOperationsCashTok); + end; + + procedure LiquidAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiquidAssetsTotalName())); + end; + + procedure LiquidAssetsTotalName(): Text[100] + begin + exit(LiquidAssetsTotalTok); + end; + + procedure ShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermInvestmentsName())); + end; + + procedure ShortTermInvestmentsName(): Text[100] + begin + exit(ShortTermInvestmentsTok); + end; + + procedure CanadianTermDeposits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CanadianTermDepositsName())); + end; + + procedure CanadianTermDepositsName(): Text[100] + begin + exit(CanadianTermDepositsTok); + end; + + procedure OtherMarketableSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherMarketableSecuritiesName())); + end; + + procedure OtherMarketableSecuritiesName(): Text[100] + begin + exit(OtherMarketableSecuritiesTok); + end; + + procedure InterestAccruedOnInvestment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestAccruedOnInvestmentName())); + end; + + procedure InterestAccruedOnInvestmentName(): Text[100] + begin + exit(InterestAccruedOnInvestmentTok); + end; + + procedure SecuritiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesTotalName())); + end; + + procedure SecuritiesTotalName(): Text[100] + begin + exit(SecuritiesTotalTok); + end; + + procedure OtherReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherReceivablesName())); + end; + + procedure OtherReceivablesName(): Text[100] + begin + exit(OtherReceivablesTok); + end; + + procedure AccountsReceivableTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivableTotalName())); + end; + + procedure AccountsReceivableTotalName(): Text[100] + begin + exit(AccountsReceivableTotalTok); + end; + + procedure VendorPrepaymentsServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsServicesName())); + end; + + procedure VendorPrepaymentsServicesName(): Text[100] + begin + exit(VendorPrepaymentsServicesTok); + end; + + procedure VendorPrepaymentsRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsRetailName())); + end; + + procedure VendorPrepaymentsRetailName(): Text[100] + begin + exit(VendorPrepaymentsRetailTok); + end; + + procedure PurchasePrepaymentsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasePrepaymentsTotalName())); + end; + + procedure PurchasePrepaymentsTotalName(): Text[100] + begin + exit(PurchasePrepaymentsTotalTok); + end; + + procedure AllowanceForFinishedGoodsWriteOffs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AllowanceForFinishedGoodsWriteOffsName())); + end; + + procedure AllowanceForFinishedGoodsWriteOffsName(): Text[100] + begin + exit(AllowanceForFinishedGoodsWriteOffsTok); + end; + + procedure WipAccountFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipAccountFinishedGoodsName())); + end; + + procedure WipAccountFinishedGoodsName(): Text[100] + begin + exit(WipAccountFinishedGoodsTok); + end; + + procedure InventoryTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryTotalName())); + end; + + procedure InventoryTotalName(): Text[100] + begin + exit(InventoryTotalTok); + end; + + procedure WipSalesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipSalesTotalName())); + end; + + procedure WipSalesTotalName(): Text[100] + begin + exit(WipSalesTotalTok); + end; + + procedure WipCostsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipCostsTotalName())); + end; + + procedure WipCostsTotalName(): Text[100] + begin + exit(WipCostsTotalTok); + end; + + procedure JobWIPTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobWIPTotalName())); + end; + + procedure JobWIPTotalName(): Text[100] + begin + exit(JobWIPTotalTok); + end; + + procedure CurrentAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentAssetsTotalName())); + end; + + procedure CurrentAssetsTotalName(): Text[100] + begin + exit(CurrentAssetsTotalTok); + end; + + procedure VehiclesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehiclesTotalName())); + end; + + procedure VehiclesTotalName(): Text[100] + begin + exit(VehiclesTotalTok); + end; + + procedure OperatingEquipmentTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingEquipmentTotalName())); + end; + + procedure OperatingEquipmentTotalName(): Text[100] + begin + exit(OperatingEquipmentTotalTok); + end; + + procedure LandAndBuildingsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandAndBuildingsTotalName())); + end; + + procedure LandAndBuildingsTotalName(): Text[100] + begin + exit(LandAndBuildingsTotalTok); + end; + + procedure TangibleFixedAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleFixedAssetsTotalName())); + end; + + procedure TangibleFixedAssetsTotalName(): Text[100] + begin + exit(TangibleFixedAssetsTotalTok); + end; + + procedure IntangibleAssetsBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsBeginTotalName())); + end; + + procedure IntangibleAssetsBeginTotalName(): Text[100] + begin + exit(IntangibleAssetsBeginTotalTok); + end; + + procedure IntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsName())); + end; + + procedure IntangibleAssetsName(): Text[100] + begin + exit(IntangibleAssetsTok); + end; + + procedure AccAmortnOnIntangibles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccAmortnOnIntangiblesName())); + end; + + procedure AccAmortnOnIntangiblesName(): Text[100] + begin + exit(AccAmortnOnIntangiblesTok); + end; + + procedure IntangibleAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsTotalName())); + end; + + procedure IntangibleAssetsTotalName(): Text[100] + begin + exit(IntangibleAssetsTotalTok); + end; + + procedure FixedAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsTotalName())); + end; + + procedure FixedAssetsTotalName(): Text[100] + begin + exit(FixedAssetsTotalTok); + end; + + procedure TotalAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAssetsName())); + end; + + procedure TotalAssetsName(): Text[100] + begin + exit(TotalAssetsTok); + end; + + procedure DeferredRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredRevenueName())); + end; + + procedure DeferredRevenueName(): Text[100] + begin + exit(DeferredRevenueTok); + end; + + procedure CustomerPrepaymentsServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsServicesName())); + end; + + procedure CustomerPrepaymentsServicesName(): Text[100] + begin + exit(CustomerPrepaymentsServicesTok); + end; + + procedure CustomerPrepaymentsRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsRetailName())); + end; + + procedure CustomerPrepaymentsRetailName(): Text[100] + begin + exit(CustomerPrepaymentsRetailTok); + end; + + procedure PrepaidServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidServiceContractsName())); + end; + + procedure PrepaidServiceContractsName(): Text[100] + begin + exit(PrepaidServiceContractsTok); + end; + + procedure SalesPrepaymentsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesPrepaymentsTotalName())); + end; + + procedure SalesPrepaymentsTotalName(): Text[100] + begin + exit(SalesPrepaymentsTotalTok); + end; + + procedure AccountsPayableEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableEmployeesName())); + end; + + procedure AccountsPayableEmployeesName(): Text[100] + begin + exit(AccountsPayableEmployeesTok); + end; + + procedure AccruedPayables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedPayablesName())); + end; + + procedure AccruedPayablesName(): Text[100] + begin + exit(AccruedPayablesTok); + end; + + procedure AccountsPayableTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableTotalName())); + end; + + procedure AccountsPayableTotalName(): Text[100] + begin + exit(AccountsPayableTotalTok); + end; + + procedure InvAdjmtInterimTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvAdjmtInterimTotalName())); + end; + + procedure InvAdjmtInterimTotalName(): Text[100] + begin + exit(InvAdjmtInterimTotalTok); + end; + + procedure TaxesPayables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesPayablesName())); + end; + + procedure TaxesPayablesName(): Text[100] + begin + exit(TaxesPayablesTok); + end; + + procedure IncomeTaxPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeTaxPayableName())); + end; + + procedure IncomeTaxPayableName(): Text[100] + begin + exit(IncomeTaxPayableTok); + end; + + procedure ProvincialSalesTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvincialSalesTaxName())); + end; + + procedure ProvincialSalesTaxName(): Text[100] + begin + exit(ProvincialSalesTaxTok); + end; + + procedure QSTSalesTaxCollected(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(QSTSalesTaxCollectedName())); + end; + + procedure QSTSalesTaxCollectedName(): Text[100] + begin + exit(QSTSalesTaxCollectedTok); + end; + + procedure PurchaseTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseTaxName())); + end; + + procedure PurchaseTaxName(): Text[100] + begin + exit(PurchaseTaxTok); + end; + + procedure GSTHSTSalesTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GSTHSTSalesTaxName())); + end; + + procedure GSTHSTSalesTaxName(): Text[100] + begin + exit(GSTHSTSalesTaxTok); + end; + + procedure GSTHSTInputCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GSTHSTInputCreditsName())); + end; + + procedure GSTHSTInputCreditsName(): Text[100] + begin + exit(GSTHSTInputCreditsTok); + end; + + procedure IncomeTaxAccrued(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeTaxAccruedName())); + end; + + procedure IncomeTaxAccruedName(): Text[100] + begin + exit(IncomeTaxAccruedTok); + end; + + procedure QuebecBeerTaxesAccrued(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(QuebecBeerTaxesAccruedName())); + end; + + procedure QuebecBeerTaxesAccruedName(): Text[100] + begin + exit(QuebecBeerTaxesAccruedTok); + end; + + procedure TaxesPayablesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesPayablesTotalName())); + end; + + procedure TaxesPayablesTotalName(): Text[100] + begin + exit(TaxesPayablesTotalTok); + end; + + procedure AccruedSalariesWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedSalariesWagesName())); + end; + + procedure AccruedSalariesWagesName(): Text[100] + begin + exit(AccruedSalariesWagesTok); + end; + + procedure FederalIncomeTaxExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FederalIncomeTaxExpenseName())); + end; + + procedure FederalIncomeTaxExpenseName(): Text[100] + begin + exit(FederalIncomeTaxExpenseTok); + end; + + procedure ProvincialWithholdingPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvincialWithholdingPayableName())); + end; + + procedure ProvincialWithholdingPayableName(): Text[100] + begin + exit(ProvincialWithholdingPayableTok); + end; + + procedure FICAPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FICAPayableName())); + end; + + procedure FICAPayableName(): Text[100] + begin + exit(FICAPayableTok); + end; + + procedure MedicarePayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MedicarePayableName())); + end; + + procedure MedicarePayableName(): Text[100] + begin + exit(MedicarePayableTok); + end; + + procedure FUTAPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FUTAPayableName())); + end; + + procedure FUTAPayableName(): Text[100] + begin + exit(FUTAPayableTok); + end; + + procedure SUTAPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SUTAPayableName())); + end; + + procedure SUTAPayableName(): Text[100] + begin + exit(SUTAPayableTok); + end; + + procedure EmployeeBenefitsPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeeBenefitsPayableName())); + end; + + procedure EmployeeBenefitsPayableName(): Text[100] + begin + exit(EmployeeBenefitsPayableTok); + end; + + procedure EmploymentInsuranceEmployeeContrib(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmploymentInsuranceEmployeeContribName())); + end; + + procedure EmploymentInsuranceEmployeeContribName(): Text[100] + begin + exit(EmploymentInsuranceEmployeeContribTok); + end; + + procedure EmploymentInsuranceEmployerContrib(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmploymentInsuranceEmployerContribName())); + end; + + procedure EmploymentInsuranceEmployerContribName(): Text[100] + begin + exit(EmploymentInsuranceEmployerContribTok); + end; + + procedure CanadaPensionFundEmployeeContrib(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CanadaPensionFundEmployeeContribName())); + end; + + procedure CanadaPensionFundEmployeeContribName(): Text[100] + begin + exit(CanadaPensionFundEmployeeContribTok); + end; + + procedure CanadaPensionFundEmployerContrib(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CanadaPensionFundEmployerContribName())); + end; + + procedure CanadaPensionFundEmployerContribName(): Text[100] + begin + exit(CanadaPensionFundEmployerContribTok); + end; + + procedure QuebecPipPayableEmployee(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(QuebecPipPayableEmployeeName())); + end; + + procedure QuebecPipPayableEmployeeName(): Text[100] + begin + exit(QuebecPipPayableEmployeeTok); + end; + + procedure GarnishmentPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GarnishmentPayableName())); + end; + + procedure GarnishmentPayableName(): Text[100] + begin + exit(GarnishmentPayableTok); + end; + + procedure TotalPersonnelRelatedItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelRelatedItemsName())); + end; + + procedure TotalPersonnelRelatedItemsName(): Text[100] + begin + exit(TotalPersonnelRelatedItemsTok); + end; + + procedure OtherLiabilitiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLiabilitiesTotalName())); + end; + + procedure OtherLiabilitiesTotalName(): Text[100] + begin + exit(OtherLiabilitiesTotalTok); + end; + + procedure ShortTermLiabilitiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermLiabilitiesTotalName())); + end; + + procedure ShortTermLiabilitiesTotalName(): Text[100] + begin + exit(ShortTermLiabilitiesTotalTok); + end; + + procedure DeferralRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferralRevenueName())); + end; + + procedure DeferralRevenueName(): Text[100] + begin + exit(DeferralRevenueTok); + end; + + procedure LongTermLiabilitiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermLiabilitiesTotalName())); + end; + + procedure LongTermLiabilitiesTotalName(): Text[100] + begin + exit(LongTermLiabilitiesTotalTok); + end; + + procedure TotalLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiabilitiesName())); + end; + + procedure TotalLiabilitiesName(): Text[100] + begin + exit(TotalLiabilitiesTok); + end; + + procedure Equity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityName())); + end; + + procedure EquityName(): Text[100] + begin + exit(EquityTok); + end; + + procedure NetIncomeForTheYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetIncomeForTheYearName())); + end; + + procedure NetIncomeForTheYearName(): Text[100] + begin + exit(NetIncomeForTheYearTok); + end; + + procedure TotalStockholdersEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalStockholdersEquityName())); + end; + + procedure TotalStockholdersEquityName(): Text[100] + begin + exit(TotalStockholdersEquityTok); + end; + + procedure TotalLiabilitiesAndEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiabilitiesAndEquityName())); + end; + + procedure TotalLiabilitiesAndEquityName(): Text[100] + begin + exit(TotalLiabilitiesAndEquityTok); + end; + + procedure TotalSalesOfRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesOfRetailName())); + end; + + procedure TotalSalesOfRetailName(): Text[100] + begin + exit(TotalSalesOfRetailTok); + end; + + procedure TotalSalesOfRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesOfRawMaterialsName())); + end; + + procedure TotalSalesOfRawMaterialsName(): Text[100] + begin + exit(TotalSalesOfRawMaterialsTok); + end; + + procedure TotalSalesOfResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesOfResourcesName())); + end; + + procedure TotalSalesOfResourcesName(): Text[100] + begin + exit(TotalSalesOfResourcesTok); + end; + + procedure TotalSalesOfJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesOfJobsName())); + end; + + procedure TotalSalesOfJobsName(): Text[100] + begin + exit(TotalSalesOfJobsTok); + end; + + procedure SalesOfServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesOfServiceContractsName())); + end; + + procedure SalesOfServiceContractsName(): Text[100] + begin + exit(SalesOfServiceContractsTok); + end; + + procedure ServiceContractSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceContractSaleName())); + end; + + procedure ServiceContractSaleName(): Text[100] + begin + exit(ServiceContractSaleTok); + end; + + procedure TotalSaleOfServContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSaleOfServContractsName())); + end; + + procedure TotalSaleOfServContractsName(): Text[100] + begin + exit(TotalSaleOfServContractsTok); + end; + + procedure TotalInterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInterestIncomeName())); + end; + + procedure TotalInterestIncomeName(): Text[100] + begin + exit(TotalInterestIncomeTok); + end; + + procedure TotalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenueName())); + end; + + procedure TotalRevenueName(): Text[100] + begin + exit(TotalRevenueTok); + end; + + procedure TotalCostOfResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfResourcesName())); + end; + + procedure TotalCostOfResourcesName(): Text[100] + begin + exit(TotalCostOfResourcesTok); + end; + + procedure CostOfCapacitiesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCapacitiesBeginTotalName())); + end; + + procedure CostOfCapacitiesBeginTotalName(): Text[100] + begin + exit(CostOfCapacitiesBeginTotalTok); + end; + + procedure CostOfCapacities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCapacitiesName())); + end; + + procedure CostOfCapacitiesName(): Text[100] + begin + exit(CostOfCapacitiesTok); + end; + + procedure DirectCostAppliedCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectCostAppliedCapName())); + end; + + procedure DirectCostAppliedCapName(): Text[100] + begin + exit(DirectCostAppliedCapTok); + end; + + procedure OverheadAppliedCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadAppliedCapName())); + end; + + procedure OverheadAppliedCapName(): Text[100] + begin + exit(OverheadAppliedCapTok); + end; + + procedure PurchaseVarianceCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceCapName())); + end; + + procedure PurchaseVarianceCapName(): Text[100] + begin + exit(PurchaseVarianceCapTok); + end; + + procedure TotalCostOfCapacities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfCapacitiesName())); + end; + + procedure TotalCostOfCapacitiesName(): Text[100] + begin + exit(TotalCostOfCapacitiesTok); + end; + + procedure JobCostAppliedRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAppliedRawMaterialsName())); + end; + + procedure JobCostAppliedRawMaterialsName(): Text[100] + begin + exit(JobCostAppliedRawMaterialsTok); + end; + + procedure DirectCostAppliedRawmat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectCostAppliedRawmatName())); + end; + + procedure DirectCostAppliedRawmatName(): Text[100] + begin + exit(DirectCostAppliedRawmatTok); + end; + + procedure OverheadAppliedRawmat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadAppliedRawmatName())); + end; + + procedure OverheadAppliedRawmatName(): Text[100] + begin + exit(OverheadAppliedRawmatTok); + end; + + procedure PurchaseVarianceRawmat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceRawmatName())); + end; + + procedure PurchaseVarianceRawmatName(): Text[100] + begin + exit(PurchaseVarianceRawmatTok); + end; + + procedure TotalCostOfRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfRawMaterialsName())); + end; + + procedure TotalCostOfRawMaterialsName(): Text[100] + begin + exit(TotalCostOfRawMaterialsTok); + end; + + procedure OverheadAppliedRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadAppliedRetailName())); + end; + + procedure OverheadAppliedRetailName(): Text[100] + begin + exit(OverheadAppliedRetailTok); + end; + + procedure PurchaseVarianceRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceRetailName())); + end; + + procedure PurchaseVarianceRetailName(): Text[100] + begin + exit(PurchaseVarianceRetailTok); + end; + + procedure DirectCostAppliedRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectCostAppliedRetailName())); + end; + + procedure DirectCostAppliedRetailName(): Text[100] + begin + exit(DirectCostAppliedRetailTok); + end; + + procedure TotalCostOfRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfRetailName())); + end; + + procedure TotalCostOfRetailName(): Text[100] + begin + exit(TotalCostOfRetailTok); + end; + + procedure Variance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VarianceName())); + end; + + procedure VarianceName(): Text[100] + begin + exit(VarianceTok); + end; + + procedure MaterialVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialVarianceName())); + end; + + procedure MaterialVarianceName(): Text[100] + begin + exit(MaterialVarianceTok); + end; + + procedure CapacityVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapacityVarianceName())); + end; + + procedure CapacityVarianceName(): Text[100] + begin + exit(CapacityVarianceTok); + end; + + procedure SubcontractedVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedVarianceName())); + end; + + procedure SubcontractedVarianceName(): Text[100] + begin + exit(SubcontractedVarianceTok); + end; + + procedure CapOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapOverheadVarianceName())); + end; + + procedure CapOverheadVarianceName(): Text[100] + begin + exit(CapOverheadVarianceTok); + end; + + procedure MfgOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MfgOverheadVarianceName())); + end; + + procedure MfgOverheadVarianceName(): Text[100] + begin + exit(MfgOverheadVarianceTok); + end; + + procedure TotalVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVarianceName())); + end; + + procedure TotalVarianceName(): Text[100] + begin + exit(TotalVarianceTok); + end; + + procedure TotalCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostName())); + end; + + procedure TotalCostName(): Text[100] + begin + exit(TotalCostTok); + end; + + procedure TotalSellingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSellingExpensesName())); + end; + + procedure TotalSellingExpensesName(): Text[100] + begin + exit(TotalSellingExpensesTok); + end; + + procedure HealthInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthInsuranceName())); + end; + + procedure HealthInsuranceName(): Text[100] + begin + exit(HealthInsuranceTok); + end; + + procedure GroupLifeInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GroupLifeInsuranceName())); + end; + + procedure GroupLifeInsuranceName(): Text[100] + begin + exit(GroupLifeInsuranceTok); + end; + + procedure WorkersCompensation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkersCompensationName())); + end; + + procedure WorkersCompensationName(): Text[100] + begin + exit(WorkersCompensationTok); + end; + + procedure FourHounderedOneKContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FourHounderedOneKContributionsName())); + end; + + procedure FourHounderedOneKContributionsName(): Text[100] + begin + exit(FourHounderedOneKContributionsTok); + end; + + procedure TotalPersonnelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelExpensesName())); + end; + + procedure TotalPersonnelExpensesName(): Text[100] + begin + exit(TotalPersonnelExpensesTok); + end; + + procedure Taxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesName())); + end; + + procedure TaxesName(): Text[100] + begin + exit(TaxesTok); + end; + + procedure TotalVehicleExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVehicleExpensesName())); + end; + + procedure TotalVehicleExpensesName(): Text[100] + begin + exit(TotalVehicleExpensesTok); + end; + + procedure TotalComputerExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalComputerExpensesName())); + end; + + procedure TotalComputerExpensesName(): Text[100] + begin + exit(TotalComputerExpensesTok); + end; + + procedure TotalBldgMaintExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBldgMaintExpensesName())); + end; + + procedure TotalBldgMaintExpensesName(): Text[100] + begin + exit(TotalBldgMaintExpensesTok); + end; + + procedure TotalAdministrativeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdministrativeExpensesName())); + end; + + procedure TotalAdministrativeExpensesName(): Text[100] + begin + exit(TotalAdministrativeExpensesTok); + end; + + procedure OtherOperatingExpTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingExpTotalName())); + end; + + procedure OtherOperatingExpTotalName(): Text[100] + begin + exit(OtherOperatingExpTotalTok); + end; + + procedure TotalOperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOperatingExpensesName())); + end; + + procedure TotalOperatingExpensesName(): Text[100] + begin + exit(TotalOperatingExpensesTok); + end; + + procedure EBITDA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EBITDAName())); + end; + + procedure EBITDAName(): Text[100] + begin + exit(EBITDATok); + end; + + procedure TotalFixedAssetDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFixedAssetDepreciationName())); + end; + + procedure TotalFixedAssetDepreciationName(): Text[100] + begin + exit(TotalFixedAssetDepreciationTok); + end; + + procedure TotalInterestExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInterestExpensesName())); + end; + + procedure TotalInterestExpensesName(): Text[100] + begin + exit(TotalInterestExpensesTok); + end; + + procedure GainsandLossesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsandLossesBeginTotalName())); + end; + + procedure GainsandLossesBeginTotalName(): Text[100] + begin + exit(GainsandLossesBeginTotalTok); + end; + + procedure TotalGainsAndLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalGainsAndLossesName())); + end; + + procedure TotalGainsAndLossesName(): Text[100] + begin + exit(TotalGainsAndLossesTok); + end; + + procedure NiBeforeExtrItemsTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NiBeforeExtrItemsTaxesName())); + end; + + procedure NiBeforeExtrItemsTaxesName(): Text[100] + begin + exit(NiBeforeExtrItemsTaxesTok); + end; + + procedure IncomeTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeTaxesName())); + end; + + procedure IncomeTaxesName(): Text[100] + begin + exit(IncomeTaxesTok); + end; + + procedure StateIncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StateIncomeTaxName())); + end; + + procedure StateIncomeTaxName(): Text[100] + begin + exit(StateIncomeTaxTok); + end; + + procedure TotalIncomeTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIncomeTaxesName())); + end; + + procedure TotalIncomeTaxesName(): Text[100] + begin + exit(TotalIncomeTaxesTok); + end; + + procedure NetIncomeBeforeExtrItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetIncomeBeforeExtrItemsName())); + end; + + procedure NetIncomeBeforeExtrItemsName(): Text[100] + begin + exit(NetIncomeBeforeExtrItemsTok); + end; + + procedure ExtraordinaryItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryItemsName())); + end; + + procedure ExtraordinaryItemsName(): Text[100] + begin + exit(ExtraordinaryItemsTok); + end; + + procedure RevaluationSurplusAdjustments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevaluationSurplusAdjustmentsName())); + end; + + procedure RevaluationSurplusAdjustmentsName(): Text[100] + begin + exit(RevaluationSurplusAdjustmentsTok); + end; + + procedure ExtraordinaryItemsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryItemsTotalName())); + end; + + procedure ExtraordinaryItemsTotalName(): Text[100] + begin + exit(ExtraordinaryItemsTotalTok); + end; + + procedure PaymentDiscountsGrantedCOGS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscountsGrantedCOGSName())); + end; + + procedure PaymentDiscountsGrantedCOGSName(): Text[100] + begin + exit(PaymentDiscountsGrantedCOGSTok); + end; + + procedure RepairsandMaintenanceExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceExpenseName())); + end; + + procedure RepairsandMaintenanceExpenseName(): Text[100] + begin + exit(RepairsandMaintenanceExpensesTok); + end; + + procedure AccumDepreciationBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumDepreciationBuildingsName())); + end; + + procedure AccumDepreciationBuildingsName(): Text[100] + begin + exit(AccumDepreciationBuildingsTok); + end; + + procedure EmployeesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeesPayableName())); + end; + + procedure EmployeesPayableName(): Text[100] + begin + exit(EmployeesPayableTok); + end; + + procedure CostofGoodsSold(): Text[80] + begin + exit(CostofGoodsSoldTok); + end; + + procedure Miscellaneous(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscellaneousName())); + end; + + procedure MiscellaneousName(): Text[100] + begin + exit(MiscellaneousTok); + end; + + var + ContosoGLAccount: codeunit "Contoso GL Account"; + BankCheckingTok: Label 'Bank, Checking', MaxLength = 100; + BankCurrenciesLCYTok: Label 'Bank Currencies LCY', MaxLength = 100; + BankCurrenciesFCYUSDTok: Label 'Bank Currencies FCY - USD ', MaxLength = 100; + BankOperationsCashTok: Label 'Bank Operations Cash', MaxLength = 100; + LiquidAssetsTotalTok: Label 'Liquid Assets, Total', MaxLength = 100; + ShortTermInvestmentsTok: Label 'Short Term Investments', MaxLength = 100; + CanadianTermDepositsTok: Label 'Canadian Term Deposits', MaxLength = 100; + OtherMarketableSecuritiesTok: Label 'Other Marketable Securities', MaxLength = 100; + InterestAccruedOnInvestmentTok: Label 'Interest Accrued on investment', MaxLength = 100; + SecuritiesTotalTok: Label 'Securities, Total', MaxLength = 100; + OtherReceivablesTok: Label 'Other Receivables ', MaxLength = 100; + AccountsReceivableTotalTok: Label 'Accounts Receivable, Total', MaxLength = 100; + VendorPrepaymentsServicesTok: Label 'Vendor Prepayments SERVICES', MaxLength = 100; + VendorPrepaymentsRetailTok: Label 'Vendor Prepayments RETAIL', MaxLength = 100; + PurchasePrepaymentsTotalTok: Label 'Purchase Prepayments, Total', MaxLength = 100; + AllowanceForFinishedGoodsWriteOffsTok: Label 'Allowance for Finished Goods Write-Offs', MaxLength = 100; + WipAccountFinishedGoodsTok: Label 'WIP Account, Finished goods', MaxLength = 100; + InventoryTotalTok: Label 'Inventory, Total', MaxLength = 100; + WipSalesTotalTok: Label 'WIP Sales, Total', MaxLength = 100; + WipCostsTotalTok: Label 'WIP Costs, Total', MaxLength = 100; + JobWIPTotalTok: Label 'Job WIP, Total', MaxLength = 100; + CurrentAssetsTotalTok: Label 'Current Assets, Total', MaxLength = 100; + VehiclesTotalTok: Label 'Vehicles, Total', MaxLength = 100; + OperatingEquipmentTotalTok: Label 'Operating Equipment, Total', MaxLength = 100; + LandAndBuildingsTotalTok: Label 'Land and Buildings, Total', MaxLength = 100; + TangibleFixedAssetsTotalTok: Label 'Tangible Fixed Assets, Total', MaxLength = 100; + IntangibleAssetsBeginTotalTok: Label 'Intangible Assets, Begin Total', MaxLength = 100; + IntangibleAssetsTok: Label 'Intangible Assets', MaxLength = 100; + AccAmortnOnIntangiblesTok: Label 'Acc. Amortn on Intangibles', MaxLength = 100; + IntangibleAssetsTotalTok: Label 'Intangible Assets, Total', MaxLength = 100; + FixedAssetsTotalTok: Label 'Fixed Assets, Total', MaxLength = 100; + TotalAssetsTok: Label 'TOTAL ASSETS', MaxLength = 100; + DeferredRevenueTok: Label 'Deferred Revenue', MaxLength = 100; + CustomerPrepaymentsServicesTok: Label 'Customer Prepayments SERVICES', MaxLength = 100; + CustomerPrepaymentsRetailTok: Label 'Customer Prepayments RETAIL', MaxLength = 100; + PrepaidServiceContractsTok: Label 'Prepaid Service Contracts', MaxLength = 100; + SalesPrepaymentsTotalTok: Label 'Sales Prepayments, Total', MaxLength = 100; + AccountsPayableEmployeesTok: Label 'Accounts Payable - Employees', MaxLength = 100; + AccruedPayablesTok: Label 'Accrued Payables', MaxLength = 100; + AccountsPayableTotalTok: Label 'Accounts Payable, Total', MaxLength = 100; + InvAdjmtInterimTotalTok: Label 'Inv. Adjmt. (Interim), Total', MaxLength = 100; + TaxesPayablesTok: Label 'Taxes Payables', MaxLength = 100; + IncomeTaxPayableTok: Label 'Income Tax Payable ', MaxLength = 100; + ProvincialSalesTaxTok: Label 'Provincial Sales Tax', MaxLength = 100; + QSTSalesTaxCollectedTok: Label 'QST - Sales Tax Collected', MaxLength = 100; + PurchaseTaxTok: Label 'Purchase Tax', MaxLength = 100; + GSTHSTSalesTaxTok: Label 'GST/HST - Sales Tax', MaxLength = 100; + GSTHSTInputCreditsTok: Label 'GST/HST -Input Credits', MaxLength = 100; + IncomeTaxAccruedTok: Label 'Income Tax Accrued ', MaxLength = 100; + QuebecBeerTaxesAccruedTok: Label 'Quebec Beer Taxes Accrued', MaxLength = 100; + TaxesPayablesTotalTok: Label 'Taxes Payables, Total', MaxLength = 100; + AccruedSalariesWagesTok: Label 'Accrued Salaries & Wages', MaxLength = 100; + FederalIncomeTaxExpenseTok: Label 'Federal Income Tax Expense', MaxLength = 100; + ProvincialWithholdingPayableTok: Label 'Provincial Withholding Payable', MaxLength = 100; + FICAPayableTok: Label 'FICA Payable', MaxLength = 100; + MedicarePayableTok: Label 'Medicare Payable', MaxLength = 100; + FUTAPayableTok: Label 'FUTA Payable', MaxLength = 100; + SUTAPayableTok: Label 'SUTA Payable', MaxLength = 100; + EmployeeBenefitsPayableTok: Label 'Employee Benefits Payable', MaxLength = 100; + EmploymentInsuranceEmployeeContribTok: Label 'Employment Insurance - Employee Contrib', MaxLength = 100; + EmploymentInsuranceEmployerContribTok: Label 'Employment Insurance - Employer Contrib', MaxLength = 100; + CanadaPensionFundEmployeeContribTok: Label 'Canada Pension Fund - Employee Contrib', MaxLength = 100; + CanadaPensionFundEmployerContribTok: Label 'Canada Pension Fund - Employer Contrib', MaxLength = 100; + QuebecPipPayableEmployeeTok: Label 'Quebec PIP Payable - Employee ', MaxLength = 100; + GarnishmentPayableTok: Label 'Garnishment Payable', MaxLength = 100; + TotalPersonnelRelatedItemsTok: Label 'Total Personnel-related Items', MaxLength = 100; + OtherLiabilitiesTotalTok: Label 'Other Liabilities, Total', MaxLength = 100; + ShortTermLiabilitiesTotalTok: Label 'Short-term Liabilities, Total', MaxLength = 100; + DeferralRevenueTok: Label 'Deferral Revenue', MaxLength = 100; + LongTermLiabilitiesTotalTok: Label 'Long-term Liabilities, Total', MaxLength = 100; + TotalLiabilitiesTok: Label 'Total Liabilities', MaxLength = 100; + EquityTok: Label 'EQUITY', MaxLength = 100; + NetIncomeForTheYearTok: Label 'Net Income for the Year', MaxLength = 100; + TotalStockholdersEquityTok: Label 'Total Stockholders Equity', MaxLength = 100; + TotalLiabilitiesAndEquityTok: Label 'TOTAL LIABILITIES AND EQUITY', MaxLength = 100; + TotalSalesOfRetailTok: Label 'Total Sales of Retail', MaxLength = 100; + TotalSalesOfRawMaterialsTok: Label 'Total Sales of Raw Materials', MaxLength = 100; + TotalSalesOfResourcesTok: Label 'Total Sales of Resources', MaxLength = 100; + TotalSalesOfJobsTok: Label 'Total Sales of Jobs', MaxLength = 100; + SalesOfServiceContractsTok: Label 'Sales of Service Contracts', MaxLength = 100; + ServiceContractSaleTok: Label 'Service Contract Sale', MaxLength = 100; + TotalSaleOfServContractsTok: Label 'Total Sale of Serv. Contracts', MaxLength = 100; + TotalInterestIncomeTok: Label 'Total Interest Income', MaxLength = 100; + TotalRevenueTok: Label 'Total Revenue', MaxLength = 100; + TotalCostOfResourcesTok: Label 'Total Cost of Resources', MaxLength = 100; + CostOfCapacitiesBeginTotalTok: Label 'Cost of Capacities, Begin Total', MaxLength = 100; + CostOfCapacitiesTok: Label 'Cost of Capacities', MaxLength = 100; + DirectCostAppliedCapTok: Label 'Direct Cost Applied, Cap.', MaxLength = 100; + OverheadAppliedCapTok: Label 'Overhead Applied, Cap.', MaxLength = 100; + PurchaseVarianceCapTok: Label 'Purchase Variance, Cap.', MaxLength = 100; + TotalCostOfCapacitiesTok: Label 'Total Cost of Capacities', MaxLength = 100; + JobCostAppliedRawMaterialsTok: Label 'Job Cost Applied, Raw Materials', MaxLength = 100; + DirectCostAppliedRawmatTok: Label 'Direct Cost Applied, Rawmat.', MaxLength = 100; + OverheadAppliedRawmatTok: Label 'Overhead Applied, Rawmat.', MaxLength = 100; + PurchaseVarianceRawmatTok: Label 'Purchase Variance, Rawmat.', MaxLength = 100; + TotalCostOfRawMaterialsTok: Label 'Total Cost of Raw Materials', MaxLength = 100; + OverheadAppliedRetailTok: Label 'Overhead Applied, Retail', MaxLength = 100; + PurchaseVarianceRetailTok: Label 'Purchase Variance, Retail', MaxLength = 100; + DirectCostAppliedRetailTok: Label 'Direct Cost Applied, Retail', MaxLength = 100; + TotalCostOfRetailTok: Label 'Total Cost of Retail', MaxLength = 100; + VarianceTok: Label 'Variance', MaxLength = 100; + MaterialVarianceTok: Label 'Material Variance', MaxLength = 100; + CapacityVarianceTok: Label 'Capacity Variance', MaxLength = 100; + SubcontractedVarianceTok: Label 'Subcontracted Variance', MaxLength = 100; + CapOverheadVarianceTok: Label 'Cap. Overhead Variance', MaxLength = 100; + MfgOverheadVarianceTok: Label 'Mfg. Overhead Variance', MaxLength = 100; + TotalVarianceTok: Label 'Total Variance', MaxLength = 100; + TotalCostTok: Label 'Total Cost', MaxLength = 100; + TotalSellingExpensesTok: Label 'Total Selling Expenses', MaxLength = 100; + HealthInsuranceTok: Label 'Health Insurance', MaxLength = 100; + GroupLifeInsuranceTok: Label 'Group Life Insurance', MaxLength = 100; + WorkersCompensationTok: Label 'Workers Compensation', MaxLength = 100; + FourHounderedOneKContributionsTok: Label '401K Contributions', MaxLength = 100; + TotalPersonnelExpensesTok: Label 'Total Personnel Expenses', MaxLength = 100; + TaxesTok: Label 'Taxes', MaxLength = 100; + TotalVehicleExpensesTok: Label 'Total Vehicle Expenses', MaxLength = 100; + TotalComputerExpensesTok: Label 'Total Computer Expenses', MaxLength = 100; + TotalBldgMaintExpensesTok: Label 'Total Bldg. Maint. Expenses', MaxLength = 100; + TotalAdministrativeExpensesTok: Label 'Total Administrative Expenses', MaxLength = 100; + OtherOperatingExpTotalTok: Label 'Other Operating Exp., Total', MaxLength = 100; + TotalOperatingExpensesTok: Label 'Total Operating Expenses', MaxLength = 100; + EBITDATok: Label 'EBITDA', MaxLength = 100; + TotalFixedAssetDepreciationTok: Label 'Total Fixed Asset Depreciation', MaxLength = 100; + TotalInterestExpensesTok: Label 'Total Interest Expenses', MaxLength = 100; + GainsandLossesBeginTotalTok: Label 'Gains and Losses, Begin Total', MaxLength = 100; + TotalGainsAndLossesTok: Label 'TOTAL GAINS AND LOSSES', MaxLength = 100; + NiBeforeExtrItemsTaxesTok: Label 'NI BEFORE EXTR. ITEMS & TAXES', MaxLength = 100; + IncomeTaxesTok: Label 'Income Taxes', MaxLength = 100; + StateIncomeTaxTok: Label 'State Income Tax', MaxLength = 100; + TotalIncomeTaxesTok: Label 'Total Income Taxes', MaxLength = 100; + NetIncomeBeforeExtrItemsTok: Label 'NET INCOME BEFORE EXTR. ITEMS', MaxLength = 100; + ExtraordinaryItemsTok: Label 'Extraordinary Items', MaxLength = 100; + RevaluationSurplusAdjustmentsTok: Label 'Revaluation Surplus adjustments ', MaxLength = 100; + ExtraordinaryItemsTotalTok: Label 'Extraordinary Items, Total', MaxLength = 100; + PaymentDiscountsGrantedCOGSTok: Label 'Payment Discounts Granted, COGS', MaxLength = 100; + RepairsandMaintenanceExpensesTok: Label 'Repairs and Maintenance, Expenses', MaxLength = 100; + AccumDepreciationBuildingsTok: Label 'Accum. Depreciation, Building', MaxLength = 100; + EmployeesPayableTok: Label 'Employee Payable', MaxLength = 100; + CostofGoodsSoldTok: Label 'Cost of Goods Sold', MaxLength = 80; + MiscellaneousTok: Label 'Miscellaneous.', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGenJournalTemplate.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGenJournalTemplate.Codeunit.al new file mode 100644 index 0000000000..075c95a5e6 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGenJournalTemplate.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 27029 "Create CA Gen Journal Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Template", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Gen. Journal Template") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateFAGenJnlTemplate: Codeunit "Create FA Jnl. Template"; + begin + case Rec.Name of + CreateFAGenJnlTemplate.Assets(): + ValidateRecords(Rec, Report::"General Journal - Test", Report::"G/L Register"); + CreateGenJournalTemplate.CashReceipts(): + ValidateRecords(Rec, Report::"General Journal - Test", Report::"G/L Register"); + CreateGenJournalTemplate.General(): + ValidateRecords(Rec, Report::"General Journal - Test", Report::"G/L Register"); + CreateGenJournalTemplate.InterCompanyGenJnl(): + ValidateRecords(Rec, Report::"General Journal - Test", Report::"G/L Register"); + CreateGenJournalTemplate.PaymentJournal(): + ValidateRecords(Rec, Report::"Payment Journal - Test", Report::"G/L Register"); + end; + end; + + local procedure ValidateRecords(var GenJournalTemplate: Record "Gen. Journal Template"; TestReporID: Integer; PostingReportID: Integer) + begin + GenJournalTemplate.Validate("Test Report ID", TestReporID); + GenJournalTemplate.Validate("Posting Report ID", PostingReportID); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGeneralLedgerSetup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..d02bc8fdcb --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 27069 "Create CA General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("Adjust for Payment Disc.", true); + GeneralLedgerSetup.Validate("Local Address Format", GeneralLedgerSetup."Local Address Format"::"City+County+Post Code"); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.CAD()); + GeneralLedgerSetup.Validate("Max. VAT Difference Allowed", 10); + GeneralLedgerSetup.Validate("Payment Tolerance %", 0.1); + GeneralLedgerSetup.Validate("Max. Payment Tolerance Amount", 1); + GeneralLedgerSetup.Validate("Local Currency Symbol", '$'); + GeneralLedgerSetup.Validate("Local Currency Description", CanadianDollarLbl); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Modify(true); + end; + + var + CanadianDollarLbl: Label 'Canadian dollar', MaxLength = 60; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAPostingGroup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAPostingGroup.Codeunit.al new file mode 100644 index 0000000000..ffee27406e --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAPostingGroup.Codeunit.al @@ -0,0 +1,89 @@ +codeunit 27028 "Create CA Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertGenBusinessPostingGroup(); + InsertGenPostingGroup(); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', Manufact(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', RawMat(), '', '', CreateGLAccount.InventoryAdjmtRawMat(), CreateCAGLAccounts.DirectCostAppliedRawmat(), CreateCAGLAccounts.OverheadAppliedRawmat(), CreateCAGLAccounts.PurchaseVarianceRawmat(), '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofRawMatSoldInterim(), CreateGLAccount.InvAdjmtInterimRawMat()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ServicesPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ZeroPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), Manufact(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), RawMat(), CreateGLAccount.SalesRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.InventoryAdjmtRawMat(), CreateCAGLAccounts.DirectCostAppliedRawmat(), CreateCAGLAccounts.OverheadAppliedRawmat(), CreateCAGLAccounts.PurchaseVarianceRawmat(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.CostofRawMaterialsSold(), CreateGLAccount.CostofRawMatSoldInterim(), CreateGLAccount.InvAdjmtInterimRawMat()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), Manufact(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), RawMat(), CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.InventoryAdjmtRawMat(), CreateCAGLAccounts.DirectCostAppliedRawmat(), CreateCAGLAccounts.OverheadAppliedRawmat(), CreateCAGLAccounts.PurchaseVarianceRawmat(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.CostofRawMaterialsSold(), CreateGLAccount.CostofRawMatSoldInterim(), CreateGLAccount.InvAdjmtInterimRawMat()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateCAGLAccounts.DirectCostAppliedRetail(), CreateCAGLAccounts.OverheadAppliedRetail(), CreateCAGLAccounts.PurchaseVarianceRetail(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.SetOverwriteData(false); + + UpdateSalesAndPurchasePrepaymentAccount(CreatePostingGroups.DomesticPostingGroup(), Manufact(), CreateCAGLAccounts.CustomerPrepaymentsRetail(), CreateCAGLAccounts.VendorPrepaymentsRetail()); + UpdateSalesAndPurchasePrepaymentAccount(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateCAGLAccounts.CustomerPrepaymentsRetail(), CreateCAGLAccounts.VendorPrepaymentsRetail()); + UpdateSalesAndPurchasePrepaymentAccount(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateCAGLAccounts.CustomerPrepaymentsServices(), CreateCAGLAccounts.VendorPrepaymentsServices()); + UpdateSalesAndPurchasePrepaymentAccount(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateCAGLAccounts.CustomerPrepaymentsRetail(), CreateCAGLAccounts.VendorPrepaymentsRetail()); + end; + + local procedure InsertGenBusinessPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertGenBusinessPostingGroup(IntercompanyPostingGroup(), IntercompanyLbl, ''); + end; + + local procedure InsertGenPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertGenProductPostingGroup(Manufact(), CapacitiesLbl, ''); + end; + + local procedure UpdateSalesAndPurchasePrepaymentAccount(GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; SalesPrepaymentsAccount: Code[20]; PurchasePrepaymentsAccount: Code[20]) + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + GeneralPostingSetup.Get(GenBusPostingGroup, GenProdPostingGroup); + + GeneralPostingSetup.Validate("Sales Prepayments Account", SalesPrepaymentsAccount); + GeneralPostingSetup.Validate("Purch. Prepayments Account", PurchasePrepaymentsAccount); + GeneralPostingSetup.Modify(true); + end; + + procedure IntercompanyPostingGroup(): Code[20] + begin + exit(IntercompanyTok); + end; + + procedure Manufact(): Code[20] + begin + exit(ManufactTok); + end; + + procedure RawMat(): Code[20] + begin + exit(RawMatTok); + end; + + var + IntercompanyTok: Label 'INTERCOMP', MaxLength = 20; + IntercompanyLbl: Label 'Intercompany', MaxLength = 100; + ManufactTok: Label 'MANUFACT', MaxLength = 20, Locked = true; + RawMatTok: Label 'RAW MAT', MaxLength = 20, Locked = true; + CapacitiesLbl: Label 'Capacities', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAVatPostingGroup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAVatPostingGroup.Codeunit.al new file mode 100644 index 0000000000..6a4788cf0a --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/1.Setup Data/CreateCAVatPostingGroup.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 27038 "Create CA Vat Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure UpdateVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Sales Tax", 'E', '', '', false); + ContosoPostingSetup.SetOverwriteData(true); + + UpdateDescriptionOnVATPostingSetup('', ''); + end; + + local procedure UpdateDescriptionOnVATPostingSetup(VATBusinessGroupCode: Code[20]; VATProductGroupCode: Code[20]) + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + VATPostingSetup.Get(VATBusinessGroupCode, VATProductGroupCode); + + VATPostingSetup.Validate(Description, ''); + VATPostingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAColumnLayout.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAColumnLayout.Codeunit.al new file mode 100644 index 0000000000..7c7c3c58bd --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAColumnLayout.Codeunit.al @@ -0,0 +1,74 @@ +codeunit 27042 "Create CA Column Layout" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCAColumnLayoutName: Codeunit "Create CA Column Layout Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.PeriodandYeartoDate(), 10000, '', CurrentPeriodLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.PeriodandYeartoDate(), 20000, '', YeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.PeriodandYeartoDatewithPercentofTotalRevenue(), 10000, 'PTD', CurrentPeriodLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.PeriodandYeartoDatewithPercentofTotalRevenue(), 20000, '', '', Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, 'PTD%', true, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.PeriodandYeartoDatewithPercentofTotalRevenue(), 30000, 'YTD', YeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.PeriodandYeartoDatewithPercentofTotalRevenue(), 40000, '', '', Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, 'YTD%', true, Enum::"Column Layout Show"::Always, '', false); + + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.ThisYeartoDatevsPriorYeartoDate(), 10000, 'CUR', CurrentYeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.ThisYeartoDatevsPriorYeartoDate(), 20000, '', '', Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, 'CUR%', true, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.ThisYeartoDatevsPriorYeartoDate(), 30000, 'PRIOR', PriorYeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.ThisYeartoDatevsPriorYeartoDate(), 40000, '', '', Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, 'PRIOR%', true, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCAColumnLayoutName.ThisYeartoDatevsPriorYeartoDate(), 50000, 'DIFF', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, 'CUR-PRIOR', false, Enum::"Column Layout Show"::Always, '', false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Column Layout", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Column Layout") + var + CreateCAColumnLayoutName: Codeunit "Create CA Column Layout Name"; + begin + if Rec."Column Layout Name" = CreateCAColumnLayoutName.PeriodandYeartoDatewithPercentofTotalRevenue() then + case + Rec."Line No." of + 20000: + ValidateRecordFields(Rec, '', '', Enum::"Analysis Rounding Factor"::"1", 0, Enum::"Account Schedule Amount Type"::"Net Amount"); + 40000: + ValidateRecordFields(Rec, '', '', Enum::"Analysis Rounding Factor"::"1", 0, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if Rec."Column Layout Name" = CreateCAColumnLayoutName.ThisYeartoDatevsPriorYeartoDate() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CurrentYeartoDateLbl, '', Enum::"Analysis Rounding Factor"::"1", 0, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, '', '', Enum::"Analysis Rounding Factor"::"1", 0, Enum::"Account Schedule Amount Type"::"Net Amount"); + 30000: + ValidateRecordFields(Rec, PriorYeartoDateLbl, '<-1Y>', Enum::"Analysis Rounding Factor"::"1", 0, Enum::"Account Schedule Amount Type"::"Net Amount"); + 40000: + ValidateRecordFields(Rec, '', '', Enum::"Analysis Rounding Factor"::"1", 0, Enum::"Account Schedule Amount Type"::"Net Amount"); + 50000: + ValidateRecordFields(Rec, DifferenceLbl, '', Enum::"Analysis Rounding Factor"::"1", 0, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + end; + + local procedure ValidateRecordFields(var ColumnLayout: Record "Column Layout"; ColumnHeader: Text[30]; ComparisonDateFormula: Text[10]; RoundingFactor: Enum "Analysis Rounding Factor"; ComparisonPeriodFormulaLCID: Integer; AmountType: Enum "Account Schedule Amount Type") + begin + ColumnLayout.Validate("Column Header", ColumnHeader); + Evaluate(ColumnLayout."Comparison Date Formula", ComparisonDateFormula); + ColumnLayout.Validate("Comparison Date Formula"); + ColumnLayout.Validate("Amount Type", AmountType); + ColumnLayout.Validate("Rounding Factor", RoundingFactor); + ColumnLayout.Validate("Comparison Period Formula LCID", ComparisonPeriodFormulaLCID); + end; + + var + DifferenceLbl: Label 'Difference', MaxLength = 30; + CurrentPeriodLbl: Label 'Current Period', MaxLength = 30; + YeartoDateLbl: Label 'Year to Date', MaxLength = 30; + CurrentYeartoDateLbl: Label 'Current Year to Date', MaxLength = 30; + PriorYeartoDateLbl: Label 'Prior Year to Date', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCACurrExchRate.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCACurrExchRate.Codeunit.al new file mode 100644 index 0000000000..ab7aaaf47a --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCACurrExchRate.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 27045 "Create CA Curr. Exch. Rate" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + + case Rec."Currency Code" of + Currency.EUR(): + if Rec."Starting Date" = date then + ValidateRecordFields(Rec, 1, 1, 1.495, 1.495); + Currency.USD(): + if Rec."Starting Date" = date then + ValidateRecordFields(Rec, 100, 100, 150.2072, 150.2072); + Currency.MXN(): + if Rec."Starting Date" = date then + ValidateRecordFields(Rec, 100, 100, 16.6918, 16.6918); + end; + end; + + local procedure ValidateRecordFields(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAGIFICode.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAGIFICode.Codeunit.al new file mode 100644 index 0000000000..86fc61bfbb --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAGIFICode.Codeunit.al @@ -0,0 +1,1412 @@ +codeunit 27035 "Create CA GIFI Code" +{ + trigger OnRun() + var + ContosoCAGIFI: Codeunit "Contoso CA GIFI"; + begin + ContosoCAGIFI.InsertGIFICode('1000', CashAndDepositsLbl); + ContosoCAGIFI.InsertGIFICode('1001', CashLbl); + ContosoCAGIFI.InsertGIFICode('1002', DepositsInCanadianBanksAndInstitutionsCanadianCurrencyLbl); + ContosoCAGIFI.InsertGIFICode('1003', DepositsInCanadianBanksAndInstitutionsForeignCurrencyLbl); + ContosoCAGIFI.InsertGIFICode('1004', DepositsInForeignBanksCanadianCurrencyLbl); + ContosoCAGIFI.InsertGIFICode('1005', DepositsInForeignBanksForeignCurrencyLbl); + ContosoCAGIFI.InsertGIFICode('1006', CreditUnionCentralDepositsLbl); + ContosoCAGIFI.InsertGIFICode('1007', OtherCashLikeInstrumentsLbl); + ContosoCAGIFI.InsertGIFICode('1060', AccountsReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1061', AllowanceForDoubtfulAccountsLbl); + ContosoCAGIFI.InsertGIFICode('1062', TradeAccountsReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1063', AllowanceForDoubtfulTradeAccountsReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1064', TradeAccountsReceivableFromRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('1065', AllowanceForDoubtfulTradeAccountsReceivableFromRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('1066', TaxesReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1067', InterestReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1068', HoldbacksReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1069', LeasesReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1070', AllowanceForDoubtfulAmountsContainedInLeasesReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1071', AccountsReceivableFromEmployeesLbl); + ContosoCAGIFI.InsertGIFICode('1072', AllowanceForDoubtfulAccountsReceivableFromEmployeesLbl); + ContosoCAGIFI.InsertGIFICode('1073', AmountsReceivableFromMembersOfNposLbl); + ContosoCAGIFI.InsertGIFICode('1120', InventoriesLbl); + ContosoCAGIFI.InsertGIFICode('1121', InventoryOfGoodsForSaleLbl); + ContosoCAGIFI.InsertGIFICode('1122', InventoryPartsAndSuppliesLbl); + ContosoCAGIFI.InsertGIFICode('1123', InventoryPropertiesLbl); + ContosoCAGIFI.InsertGIFICode('1124', InventoryOfAggregatesLbl); + ContosoCAGIFI.InsertGIFICode('1125', WorkInProgressLbl); + ContosoCAGIFI.InsertGIFICode('1126', RawMaterialsLbl); + ContosoCAGIFI.InsertGIFICode('1127', InventoryOfSecuritiesLbl); + ContosoCAGIFI.InsertGIFICode('1180', ShortTermInvestmentsLbl); + ContosoCAGIFI.InsertGIFICode('1181', CanadianTermDepositsLbl); + ContosoCAGIFI.InsertGIFICode('1182', CanadianSharesLbl); + ContosoCAGIFI.InsertGIFICode('1183', CanadianBondsLbl); + ContosoCAGIFI.InsertGIFICode('1184', CanadianTreasuryBillsLbl); + ContosoCAGIFI.InsertGIFICode('1185', SecuritiesPurchasedUnderResaleAgreementsLbl); + ContosoCAGIFI.InsertGIFICode('1186', OtherShortTermCanadianInvestmentsLbl); + ContosoCAGIFI.InsertGIFICode('1187', ShortTermForeignInvestmentsLbl); + ContosoCAGIFI.InsertGIFICode('1240', LoansAndNotesReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1241', DemandLoansReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1242', OtherLoansReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1243', NotesReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1244', MortgagesReceivableLbl); + ContosoCAGIFI.InsertGIFICode('1300', DueFromShareholderSDirectorSLbl); + ContosoCAGIFI.InsertGIFICode('1301', DueFromIndividualShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('1302', DueFromCorporateShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('1303', DueFromDirectorSLbl); + ContosoCAGIFI.InsertGIFICode('1360', InvestmentInJointVentureSPartnershipSLbl); + ContosoCAGIFI.InsertGIFICode('1380', DueFromJointVentureSPartnershipSLbl); + ContosoCAGIFI.InsertGIFICode('1400', DueFromInvestmentInTheRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('1401', DemandNotesFromRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('1402', InterestReceivableFromRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('1403', LoansAdvancesDueFromRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('1460', CustomersLiabilityUnderAcceptancesLbl); + ContosoCAGIFI.InsertGIFICode('1480', OtherCurrentAssetsLbl); + ContosoCAGIFI.InsertGIFICode('1481', DeferredIncomeTaxesLbl); + ContosoCAGIFI.InsertGIFICode('1482', AccruedInvestmentIncomeLbl); + ContosoCAGIFI.InsertGIFICode('1483', TaxesRecoverableRefundableLbl); + ContosoCAGIFI.InsertGIFICode('1484', PrepaidExpensesLbl); + ContosoCAGIFI.InsertGIFICode('1485', DrillingAdvancesLbl); + ContosoCAGIFI.InsertGIFICode('1486', SecurityTenderDepositsLbl); + ContosoCAGIFI.InsertGIFICode('1599', TotalCurrentAssetsLbl); + ContosoCAGIFI.InsertGIFICode('1600', LandLbl); + ContosoCAGIFI.InsertGIFICode('1601', LandImprovementsLbl); + ContosoCAGIFI.InsertGIFICode('1602', AccumulatedAmortizationOfLandImprovementsLbl); + ContosoCAGIFI.InsertGIFICode('1620', DepletableAssetsLbl); + ContosoCAGIFI.InsertGIFICode('1621', AccumulatedAmortizationOfDepletableAssetsLbl); + ContosoCAGIFI.InsertGIFICode('1622', PetroleumAndNaturalGasPropertiesLbl); + ContosoCAGIFI.InsertGIFICode('1623', AccumulatedAmortizationOfPetroleumAndNaturalGasPropertiesLbl); + ContosoCAGIFI.InsertGIFICode('1624', MiningPropertiesLbl); + ContosoCAGIFI.InsertGIFICode('1625', AccumulatedAmortizationOfMiningPropertiesLbl); + ContosoCAGIFI.InsertGIFICode('1626', DeferredExplorationAndDevelopmentChargesLbl); + ContosoCAGIFI.InsertGIFICode('1627', AccumulatedAmortizationOfDeferredExplorationAndDevelopmentChargesLbl); + ContosoCAGIFI.InsertGIFICode('1628', QuarriesLbl); + ContosoCAGIFI.InsertGIFICode('1629', AccumulatedAmortizationOfQuarriesLbl); + ContosoCAGIFI.InsertGIFICode('1630', GravelPitsLbl); + ContosoCAGIFI.InsertGIFICode('1631', AccumulatedAmortizationOfGravelPitsLbl); + ContosoCAGIFI.InsertGIFICode('1632', TimberLimitsLbl); + ContosoCAGIFI.InsertGIFICode('1633', AccumulatedAmortizationOfTimberLimitsLbl); + ContosoCAGIFI.InsertGIFICode('1680', BuildingsLbl); + ContosoCAGIFI.InsertGIFICode('1681', AccumulatedAmortizationOfBuildingsLbl); + ContosoCAGIFI.InsertGIFICode('1682', ManufacturingAndProcessingPlantLbl); + ContosoCAGIFI.InsertGIFICode('1683', AccumulatedAmortizationOfManufacturingAndProcessingPlantLbl); + ContosoCAGIFI.InsertGIFICode('1684', BuildingsUnderConstructionLbl); + ContosoCAGIFI.InsertGIFICode('1740', MachineryEquipmentFurnitureAndFixturesLbl); + ContosoCAGIFI.InsertGIFICode('1741', AccumulatedAmortizationOfMachineryEquipmentFurnitureAndFixturesLbl); + ContosoCAGIFI.InsertGIFICode('1742', MotorVehiclesLbl); + ContosoCAGIFI.InsertGIFICode('1743', AccumulatedAmortizationOfMotorVehiclesLbl); + ContosoCAGIFI.InsertGIFICode('1744', ToolsAndDiesLbl); + ContosoCAGIFI.InsertGIFICode('1745', AccumulatedAmortizationOfToolsAndDiesLbl); + ContosoCAGIFI.InsertGIFICode('1746', ConstructionAndExcavatingEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1747', AccumulatedAmortizationOfConstructionAndExcavationLbl); + ContosoCAGIFI.InsertGIFICode('1748', ForestryAndLoggingEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1749', AccumulatedAmortizationOfForestryAndLoggingLbl); + ContosoCAGIFI.InsertGIFICode('1750', FishingGearAndNetsLbl); + ContosoCAGIFI.InsertGIFICode('1751', AccumulatedAmortizationOfFishingGearAndNetsLbl); + ContosoCAGIFI.InsertGIFICode('1752', MiningEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1753', AccumulatedAmortizationOfMiningEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1754', OilAndGasSystemsLbl); + ContosoCAGIFI.InsertGIFICode('1755', AccumulatedAmortizationOfOilAndGasSystemsLbl); + ContosoCAGIFI.InsertGIFICode('1756', ProductionEquipmentForResourceIndustriesLbl); + ContosoCAGIFI.InsertGIFICode('1757', AccumulatedAmortizationOfProductionEquipmentForResourceIndustriesLbl); + ContosoCAGIFI.InsertGIFICode('1758', ProductionEquipmentForOtherThanResourceIndustriesLbl); + ContosoCAGIFI.InsertGIFICode('1759', AccumulatedAmortizationOfProductionEquipmentForOtherThanResourceIndustriesLbl); + ContosoCAGIFI.InsertGIFICode('1760', ExplorationEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1761', AccumulatedAmortizationOfExplorationEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1762', ShippingEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1763', AccumulatedAmortizationOfShippingEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1764', ShipsAndBoatsLbl); + ContosoCAGIFI.InsertGIFICode('1765', AccumulatedAmortizationOfShipsAndBoatsLbl); + ContosoCAGIFI.InsertGIFICode('1766', AircraftLbl); + ContosoCAGIFI.InsertGIFICode('1767', AccumulatedAmortizationOfAircraftsLbl); + ContosoCAGIFI.InsertGIFICode('1768', SignsLbl); + ContosoCAGIFI.InsertGIFICode('1769', AccumulatedAmortizationOfSignsLbl); + ContosoCAGIFI.InsertGIFICode('1770', SmallToolsLbl); + ContosoCAGIFI.InsertGIFICode('1771', AccumulatedAmortizationOfSmallToolsLbl); + ContosoCAGIFI.InsertGIFICode('1772', RadioAndCommunicationEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1773', AccumulatedAmortizationOfRadioAndCommunicationLbl); + ContosoCAGIFI.InsertGIFICode('1774', ComputerEquipmentSoftwareLbl); + ContosoCAGIFI.InsertGIFICode('1775', AccumulatedAmortizationOfComputerEquipmentAndSoftwareLbl); + ContosoCAGIFI.InsertGIFICode('1776', MusicalInstrumentsLbl); + ContosoCAGIFI.InsertGIFICode('1777', AccumulatedAmortizationOfMusicalInstrumentsLbl); + ContosoCAGIFI.InsertGIFICode('1778', SatellitesLbl); + ContosoCAGIFI.InsertGIFICode('1779', AccumulatedAmortizationOfSatellitesLbl); + ContosoCAGIFI.InsertGIFICode('1780', EarthStationsLbl); + ContosoCAGIFI.InsertGIFICode('1781', AccumulatedAmortizationOfEarthStationsLbl); + ContosoCAGIFI.InsertGIFICode('1782', MachineryAndEquipmentUnderConstructionLbl); + ContosoCAGIFI.InsertGIFICode('1783', TransportationEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1784', AccumulatedAmortizationOfTransportationsEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1785', OtherMachineryAndEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1786', AccumulatedAmortizationOfOtherMachineryAndEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1787', FurnitureAndFixturesLbl); + ContosoCAGIFI.InsertGIFICode('1788', AccumulatedAmortizationOfFurnitureAndFixturesLbl); + ContosoCAGIFI.InsertGIFICode('1900', OtherTangibleCapitalAssetsLbl); + ContosoCAGIFI.InsertGIFICode('1901', AccumulatedAmortizationOfOtherTagibleCapitalAssetsLbl); + ContosoCAGIFI.InsertGIFICode('1902', LoggingRoadsLbl); + ContosoCAGIFI.InsertGIFICode('1903', AccumulatedAmortizationOfLoggingRoadsLbl); + ContosoCAGIFI.InsertGIFICode('1904', AsphaltAndParkingAreasLbl); + ContosoCAGIFI.InsertGIFICode('1905', AccumulatedAmortizationOfAsphaltAndParkingAreasLbl); + ContosoCAGIFI.InsertGIFICode('1906', WharvesLbl); + ContosoCAGIFI.InsertGIFICode('1907', AccumulatedAmortizationOfWharvesLbl); + ContosoCAGIFI.InsertGIFICode('1908', FencesLbl); + ContosoCAGIFI.InsertGIFICode('1909', AccumulatedAmortizationOfFencesLbl); + ContosoCAGIFI.InsertGIFICode('1910', CapitalLeasesBuildingsLbl); + ContosoCAGIFI.InsertGIFICode('1911', AccumulatedAmortizationOfCapitalLeasesBuildingsLbl); + ContosoCAGIFI.InsertGIFICode('1912', CapitalLeasesEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1913', AccumulatedAmortizationOfCapitalLeasesEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('1914', CapitalLeasesVehiclesLbl); + ContosoCAGIFI.InsertGIFICode('1915', AccumulatedAmortizationOfCapitalLeasesVehiclesLbl); + ContosoCAGIFI.InsertGIFICode('1916', CapitalLeasesOthersLbl); + ContosoCAGIFI.InsertGIFICode('1917', AccumulatedAmortizationOfCapitalLeasesOthersLbl); + ContosoCAGIFI.InsertGIFICode('1918', LeaseholdImprovementsLbl); + ContosoCAGIFI.InsertGIFICode('1919', AccumulatedAmortizationOfLeaseholdImprovementsLbl); + ContosoCAGIFI.InsertGIFICode('1920', OtherCapitalAssetsUnderConstructionLbl); + ContosoCAGIFI.InsertGIFICode('1921', CampsitesLbl); + ContosoCAGIFI.InsertGIFICode('1922', AccumulatedAmortizationOfCampsitesLbl); + ContosoCAGIFI.InsertGIFICode('2008', TotalTangibleCapitalAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2009', TotalAccumulatedAmortizationOfTangibleCapitalAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2010', InintangibleAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2011', AccumulatedAmortizationOfIntangibleAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2012', GoodwillLbl); + ContosoCAGIFI.InsertGIFICode('2013', AccumulatedAmortizationOfGoodwillLbl); + ContosoCAGIFI.InsertGIFICode('2014', QuotaLbl); + ContosoCAGIFI.InsertGIFICode('2015', AccumulatedAmortizationOfQuotaLbl); + ContosoCAGIFI.InsertGIFICode('2016', LicensesLbl); + ContosoCAGIFI.InsertGIFICode('2017', AccumulatedAmortizationOfLicensesLbl); + ContosoCAGIFI.InsertGIFICode('2018', IncorporationCostsLbl); + ContosoCAGIFI.InsertGIFICode('2019', AccumulatedAmortizationOfIncorporationCostsLbl); + ContosoCAGIFI.InsertGIFICode('2020', TrademarksPatentsLbl); + ContosoCAGIFI.InsertGIFICode('2021', AccumulatedAmortizationOfTrademarksPatentsLbl); + ContosoCAGIFI.InsertGIFICode('2022', CustomerListsLbl); + ContosoCAGIFI.InsertGIFICode('2023', AccumulatedAmortizationOfCustomerListsLbl); + ContosoCAGIFI.InsertGIFICode('2024', RightsLbl); + ContosoCAGIFI.InsertGIFICode('2025', AccumulatedAmortizationOfRightsLbl); + ContosoCAGIFI.InsertGIFICode('2026', ResearchAndDevelopmentLbl); + ContosoCAGIFI.InsertGIFICode('2027', AccumulatedAmortizationOfResearchAndDevelopmentLbl); + ContosoCAGIFI.InsertGIFICode('2070', ResourceRightsLbl); + ContosoCAGIFI.InsertGIFICode('2071', AccumulatedAmortizationOfResourceRightsLbl); + ContosoCAGIFI.InsertGIFICode('2072', TimberRightsLbl); + ContosoCAGIFI.InsertGIFICode('2073', AccumulatedAmortizationOfTimberRightsLbl); + ContosoCAGIFI.InsertGIFICode('2074', MiningRightsLbl); + ContosoCAGIFI.InsertGIFICode('2075', AccumulatedAmortizationOfMiningRightsLbl); + ContosoCAGIFI.InsertGIFICode('2076', OilAndGasRightsLbl); + ContosoCAGIFI.InsertGIFICode('2077', AccumulatedAmortizationOfOilAndGasRightsLbl); + ContosoCAGIFI.InsertGIFICode('2178', TotalIntangibleCapitalAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2179', TotalAccumulatedAmortizationOfIntangibleCapitalAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2180', DueFromShareholderSDirectorLbl); + ContosoCAGIFI.InsertGIFICode('2181', DueFromIndividualShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('2182', DueFromCorporateShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('2183', DueFromDirectorSLbl); + ContosoCAGIFI.InsertGIFICode('2190', DueFromMembersLbl); + ContosoCAGIFI.InsertGIFICode('2200', InvestmentInJointVentureSPartnershipSLbl); + ContosoCAGIFI.InsertGIFICode('2220', DueFromJointVentureSPartnershipSLbl); + ContosoCAGIFI.InsertGIFICode('2240', DueFromInvestmentInRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2241', DueFromInvestmentInCanadianRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2242', SharesInCanadianRelatedCorporationsLbl); + ContosoCAGIFI.InsertGIFICode('2243', LoansAdvancesToCanadianRelatedCorporationsLbl); + ContosoCAGIFI.InsertGIFICode('2244', InvestmentInCanadianRelatedCorporationsAtCostLbl); + ContosoCAGIFI.InsertGIFICode('2245', InvestmentInCanadianRelatedCorporationsAtEquityLbl); + ContosoCAGIFI.InsertGIFICode('2246', DueFromInvestmentInForeignRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2247', SharesInForeignRelatedCorporationsLbl); + ContosoCAGIFI.InsertGIFICode('2248', LoansAdvancesToForeignRelatedCorporationsLbl); + ContosoCAGIFI.InsertGIFICode('2249', InvestmentInForeignRelatedCorporationsAtCostLbl); + ContosoCAGIFI.InsertGIFICode('2250', InvestmentInForeignRelatedCorporationsAtEquityLbl); + ContosoCAGIFI.InsertGIFICode('2280', InvestmentInCoTenancyLbl); + ContosoCAGIFI.InsertGIFICode('2300', LongTermInvestmentsLbl); + ContosoCAGIFI.InsertGIFICode('2301', ForeignSharesLbl); + ContosoCAGIFI.InsertGIFICode('2302', OtherTypesOfForeignInvestmentsLbl); + ContosoCAGIFI.InsertGIFICode('2303', CanadianSharesLbl); + ContosoCAGIFI.InsertGIFICode('2304', GovernmentOfCanadaDebtLbl); + ContosoCAGIFI.InsertGIFICode('2305', CanadianProvincialAndMunicipalGovernmentDebtLbl); + ContosoCAGIFI.InsertGIFICode('2306', CanadianCorporateBondsAndDebenturesLbl); + ContosoCAGIFI.InsertGIFICode('2307', DebtSecuritiesLbl); + ContosoCAGIFI.InsertGIFICode('2308', EquitySecuritiesLbl); + ContosoCAGIFI.InsertGIFICode('2309', SecuritiesPurchasedUnderResaleAgreementsLbl); + ContosoCAGIFI.InsertGIFICode('2310', CentralCreditUnionSharesLbl); + ContosoCAGIFI.InsertGIFICode('2311', OtherCanadianLongTermInvestmentsLbl); + ContosoCAGIFI.InsertGIFICode('2360', LongTermLoansLbl); + ContosoCAGIFI.InsertGIFICode('2361', MortgagesLbl); + ContosoCAGIFI.InsertGIFICode('2362', PersonalAndCreditCardLoansLbl); + ContosoCAGIFI.InsertGIFICode('2363', BusinessAndGovernmentLoansLbl); + ContosoCAGIFI.InsertGIFICode('2364', LineOfCreditLbl); + ContosoCAGIFI.InsertGIFICode('2420', OtherLongTermAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2421', FutureDeferredIncomeTaxesLbl); + ContosoCAGIFI.InsertGIFICode('2422', DeferredPensionChargesLbl); + ContosoCAGIFI.InsertGIFICode('2423', DeferredUnrealizedExchangeLossesLbl); + ContosoCAGIFI.InsertGIFICode('2424', OtherDeferredItemsChargesLbl); + ContosoCAGIFI.InsertGIFICode('2425', AccumulatedAmortizationOfDeferredChargesLbl); + ContosoCAGIFI.InsertGIFICode('2426', ReserveFundLbl); + ContosoCAGIFI.InsertGIFICode('2427', CashSurrenderValueOfLifeInsuranceLbl); + ContosoCAGIFI.InsertGIFICode('2589', TotalLongTermAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2590', AssetsHeldInTrustLbl); + ContosoCAGIFI.InsertGIFICode('2599', TotalAssetsLbl); + ContosoCAGIFI.InsertGIFICode('2600', BankOverdraftLbl); + ContosoCAGIFI.InsertGIFICode('2620', AmountsPayableAndAccruedLiabilitiesLbl); + ContosoCAGIFI.InsertGIFICode('2621', TradePayablesLbl); + ContosoCAGIFI.InsertGIFICode('2622', TradePayablesToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2623', HoldbacksPayableLbl); + ContosoCAGIFI.InsertGIFICode('2624', WagesPayableLbl); + ContosoCAGIFI.InsertGIFICode('2625', ManagementFeesPayableLbl); + ContosoCAGIFI.InsertGIFICode('2626', BonusesPayablesLbl); + ContosoCAGIFI.InsertGIFICode('2627', EmployeeDeductionsPayableLbl); + ContosoCAGIFI.InsertGIFICode('2628', WithholdingTaxesPayableLbl); + ContosoCAGIFI.InsertGIFICode('2629', InterestPayableLbl); + ContosoCAGIFI.InsertGIFICode('2630', AmountsPayableToMembersOfNposLbl); + ContosoCAGIFI.InsertGIFICode('2680', TaxesPayableLbl); + ContosoCAGIFI.InsertGIFICode('2700', ShortTermDebtLbl); + ContosoCAGIFI.InsertGIFICode('2701', LoansFromCanadianBanksLbl); + ContosoCAGIFI.InsertGIFICode('2702', LiabilityForSecuritiesSoldShortLbl); + ContosoCAGIFI.InsertGIFICode('2703', LiabilityForSecuritiesSoldUnderRepurchaseAgreementsLbl); + ContosoCAGIFI.InsertGIFICode('2704', GoldAndSilverCertificatesLbl); + ContosoCAGIFI.InsertGIFICode('2705', ChequesAndOtherItemsInTransitLbl); + ContosoCAGIFI.InsertGIFICode('2706', LienNotesLbl); + ContosoCAGIFI.InsertGIFICode('2770', DeferredIncomeLbl); + ContosoCAGIFI.InsertGIFICode('2780', DueToShareholderSDirectorSLbl); + ContosoCAGIFI.InsertGIFICode('2781', DueToIndividualShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('2782', DueToCorporateShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('2783', DueToDirectorSLbl); + ContosoCAGIFI.InsertGIFICode('2840', DueToJointVentureSPartnershipSLbl); + ContosoCAGIFI.InsertGIFICode('2860', DueToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2861', DemandNotesDueToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2862', InterestPayableToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2863', AdvancesDueToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('2920', CurrentPortionOfLongTermLiabilityLbl); + ContosoCAGIFI.InsertGIFICode('2940', BankersAcceptancesLbl); + ContosoCAGIFI.InsertGIFICode('2960', OtherCurrentLiabilitiesLbl); + ContosoCAGIFI.InsertGIFICode('2961', DepositsReceivedLbl); + ContosoCAGIFI.InsertGIFICode('2962', DividendsPayableLbl); + ContosoCAGIFI.InsertGIFICode('2963', DeferredIncomeTaxesLbl); + ContosoCAGIFI.InsertGIFICode('2964', ReserveForGuaranteesWarrantiesOrIndemnitiesLbl); + ContosoCAGIFI.InsertGIFICode('2965', GeneralProvisionsReservesLbl); + ContosoCAGIFI.InsertGIFICode('2966', CrewSharesLbl); + ContosoCAGIFI.InsertGIFICode('3139', TotalCurrentLiabilitiesLbl); + ContosoCAGIFI.InsertGIFICode('3140', LongTermDebtLbl); + ContosoCAGIFI.InsertGIFICode('3141', MortgagesLbl); + ContosoCAGIFI.InsertGIFICode('3142', FarmCreditCorporationLoanLbl); + ContosoCAGIFI.InsertGIFICode('3143', CharteredBankLoanLbl); + ContosoCAGIFI.InsertGIFICode('3144', CreditUnionCaissePopulaireLoanLbl); + ContosoCAGIFI.InsertGIFICode('3145', ProvincialGovernmentLoanLbl); + ContosoCAGIFI.InsertGIFICode('3146', SupplyCompanyLoanLbl); + ContosoCAGIFI.InsertGIFICode('3147', PrivateLoanLbl); + ContosoCAGIFI.InsertGIFICode('3148', CentralsLeaguesAndFederationLoansLbl); + ContosoCAGIFI.InsertGIFICode('3149', LineOfCreditLbl); + ContosoCAGIFI.InsertGIFICode('3150', LiabilityForSecuritiesSoldShortLbl); + ContosoCAGIFI.InsertGIFICode('3151', LiabilityForSecuritiesSoldUnderRepurchaseAgreementsLbl); + ContosoCAGIFI.InsertGIFICode('3152', LienNotesLbl); + ContosoCAGIFI.InsertGIFICode('3200', DepositLiabilitiesOfFinancialInstitutionsLbl); + ContosoCAGIFI.InsertGIFICode('3210', BondsAndDebenturesLbl); + ContosoCAGIFI.InsertGIFICode('3220', DeferredIncomeLbl); + ContosoCAGIFI.InsertGIFICode('3240', FutureDeferredIncomeTaxesLbl); + ContosoCAGIFI.InsertGIFICode('3260', DueToShareholderSDirectorSLbl); + ContosoCAGIFI.InsertGIFICode('3261', DueToIndividualShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('3262', DueToCorporateShareholderSLbl); + ContosoCAGIFI.InsertGIFICode('3263', DueToDirectorSLbl); + ContosoCAGIFI.InsertGIFICode('3270', DueToMembersLbl); + ContosoCAGIFI.InsertGIFICode('3280', DueToJointVentureSPartnershipSLbl); + ContosoCAGIFI.InsertGIFICode('3300', DueToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('3301', AmountsOwingToTheCanadianRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('3302', AmountsOwingToTheForeignRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('3320', OtherLongTermLiabilitiesLbl); + ContosoCAGIFI.InsertGIFICode('3321', LongTermObligationsCommitmentsCapitalLeasesLbl); + ContosoCAGIFI.InsertGIFICode('3322', ReservesForGuaranteesWarrantiesOrIndemnitiesLbl); + ContosoCAGIFI.InsertGIFICode('3323', ProvisionForSiteRestorationLbl); + ContosoCAGIFI.InsertGIFICode('3324', ContributionsToQualifyingEnvironmentalTrustLbl); + ContosoCAGIFI.InsertGIFICode('3325', GeneralProvisionsReservesLbl); + ContosoCAGIFI.InsertGIFICode('3326', PreferenceSharesRestatedLbl); + ContosoCAGIFI.InsertGIFICode('3327', MemberAllocationsLbl); + ContosoCAGIFI.InsertGIFICode('3328', DeferredRevenueFromIncompleteContractsLbl); + ContosoCAGIFI.InsertGIFICode('3450', TotalLongTermLiabilitiesLbl); + ContosoCAGIFI.InsertGIFICode('3460', SubordinatedDebtLbl); + ContosoCAGIFI.InsertGIFICode('3470', AmountsHeldInTrustLbl); + ContosoCAGIFI.InsertGIFICode('3499', TotalLiabilitiesLbl); + ContosoCAGIFI.InsertGIFICode('3500', CommonSharesLbl); + ContosoCAGIFI.InsertGIFICode('3520', PreferredSharesLbl); + ContosoCAGIFI.InsertGIFICode('3540', ContributedAndOtherSurplusLbl); + ContosoCAGIFI.InsertGIFICode('3541', ContributedSurplusLbl); + ContosoCAGIFI.InsertGIFICode('3542', AppraisalSurplusLbl); + ContosoCAGIFI.InsertGIFICode('3543', GeneralReserveLbl); + ContosoCAGIFI.InsertGIFICode('3570', HeadOfficeAccountLbl); + ContosoCAGIFI.InsertGIFICode('3600', RetainedEarningsDeficitLbl); + ContosoCAGIFI.InsertGIFICode('3620', TotalShareholderEquityLbl); + ContosoCAGIFI.InsertGIFICode('3640', TotalLiabilitiesAndShareholderEquityLbl); + ContosoCAGIFI.InsertGIFICode('3660', RetainedEarningsDeficitStartLbl); + ContosoCAGIFI.InsertGIFICode('3680', NetIncomeLossLbl); + ContosoCAGIFI.InsertGIFICode('3700', DividendsDeclaredLbl); + ContosoCAGIFI.InsertGIFICode('3701', CashDividendsLbl); + ContosoCAGIFI.InsertGIFICode('3702', PatronageDividendsLbl); + ContosoCAGIFI.InsertGIFICode('3720', PriorPeriodAdjustmentsLbl); + ContosoCAGIFI.InsertGIFICode('3740', OtherItemsAffectingRetainedEarningsLbl); + ContosoCAGIFI.InsertGIFICode('3741', ShareRedemptionsLbl); + ContosoCAGIFI.InsertGIFICode('3742', SpecialReservesLbl); + ContosoCAGIFI.InsertGIFICode('3743', CurrencyAdjustmentsLbl); + ContosoCAGIFI.InsertGIFICode('3744', UnusualRevenueItemsLbl); + ContosoCAGIFI.InsertGIFICode('3745', InterfundTransferLbl); + ContosoCAGIFI.InsertGIFICode('3849', RetainedEarningsDeficitEndLbl); + ContosoCAGIFI.InsertGIFICode('8000', TradeSalesOfGoodsAndServicesLbl); + ContosoCAGIFI.InsertGIFICode('8020', SalesOfGoodsAndServicesToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('8030', InterdivisionalSalesLbl); + ContosoCAGIFI.InsertGIFICode('8040', SalesFromResourcePropertiesLbl); + ContosoCAGIFI.InsertGIFICode('8041', PetroleumAndNaturalGasSalesLbl); + ContosoCAGIFI.InsertGIFICode('8042', PetroleumAndNaturalGasSalesToRelatedPartiesLbl); + ContosoCAGIFI.InsertGIFICode('8043', GasMarketingLbl); + ContosoCAGIFI.InsertGIFICode('8044', ProcessingRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8045', PipelineRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8046', SeismicSalesLbl); + ContosoCAGIFI.InsertGIFICode('8047', MiningRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8048', CoalRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8049', OilSandsRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8050', RoyaltyIncomeLbl); + ContosoCAGIFI.InsertGIFICode('8051', OilAndGasPartnershipJointVentureIncomeLossLbl); + ContosoCAGIFI.InsertGIFICode('8052', MiningPartnershipJointVentureIncomeLossLbl); + ContosoCAGIFI.InsertGIFICode('8053', OtherProductionRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8089', TotalSalesOfGoodsAndServicesLbl); + ContosoCAGIFI.InsertGIFICode('8090', InvestmentRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8091', InterestFromForeignSourcesLbl); + ContosoCAGIFI.InsertGIFICode('8092', InterestFromCanadianBondsAndDebenturesLbl); + ContosoCAGIFI.InsertGIFICode('8093', InterestFromCanadianMortgageLoansLbl); + ContosoCAGIFI.InsertGIFICode('8094', InterestFromOtherCanadianSourcesLbl); + ContosoCAGIFI.InsertGIFICode('8095', DividendIncomeLbl); + ContosoCAGIFI.InsertGIFICode('8096', DividendsFromCanadianSourcesLbl); + ContosoCAGIFI.InsertGIFICode('8097', DividendsFromForeignSourcesLbl); + ContosoCAGIFI.InsertGIFICode('8100', InterestIncomeFinancialInstitutionsLbl); + ContosoCAGIFI.InsertGIFICode('8101', LoanInterestLbl); + ContosoCAGIFI.InsertGIFICode('8102', SecuritiesInterestLbl); + ContosoCAGIFI.InsertGIFICode('8103', DepositsWithBanksInterestLbl); + ContosoCAGIFI.InsertGIFICode('8120', CommissionRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8121', CommissionIncomeOnRealEstateTransactionsLbl); + ContosoCAGIFI.InsertGIFICode('8140', RentalRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8141', RealEstateRentalRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8142', FilmRentalRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8150', VehicleLeasingLbl); + ContosoCAGIFI.InsertGIFICode('8160', FishingRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8161', FishProductsLbl); + ContosoCAGIFI.InsertGIFICode('8162', OtherMarineProductsLbl); + ContosoCAGIFI.InsertGIFICode('8163', FishingGrantsCreditsAndRebatesLbl); + ContosoCAGIFI.InsertGIFICode('8164', FishingSubsidiesLbl); + ContosoCAGIFI.InsertGIFICode('8165', CompensationForLossOfFishingIncomeOrPropertyLbl); + ContosoCAGIFI.InsertGIFICode('8166', SharesmanIncomeLbl); + ContosoCAGIFI.InsertGIFICode('8210', RealizedGainsLossesOnDisposalOfAssetsLbl); + ContosoCAGIFI.InsertGIFICode('8211', RealizedGainsLossesOnSaleOfInvestmentsLbl); + ContosoCAGIFI.InsertGIFICode('8212', RealizedGainsLossesOnSaleOfResourcePropertiesLbl); + ContosoCAGIFI.InsertGIFICode('8220', NpoAmountsReceivedLbl); + ContosoCAGIFI.InsertGIFICode('8221', MembershipFeesLbl); + ContosoCAGIFI.InsertGIFICode('8222', AssessmentsLbl); + ContosoCAGIFI.InsertGIFICode('8223', GiftsLbl); + ContosoCAGIFI.InsertGIFICode('8224', GrossSalesAndRevenuesFromOrganizationalActivitiesLbl); + ContosoCAGIFI.InsertGIFICode('8230', OtherRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8231', ForeignExchangeGainsLossesLbl); + ContosoCAGIFI.InsertGIFICode('8232', IncomeLossOfSubsidiariesAffiliatesLbl); + ContosoCAGIFI.InsertGIFICode('8233', IncomeLossOfOtherDivisionsLbl); + ContosoCAGIFI.InsertGIFICode('8234', IncomeLossOfJointVenturesLbl); + ContosoCAGIFI.InsertGIFICode('8235', IncomeLossOfPartnershipsLbl); + ContosoCAGIFI.InsertGIFICode('8236', RealizationOfDeferredRevenuesLbl); + ContosoCAGIFI.InsertGIFICode('8237', RoyaltyIncomeOtherThanResourceLbl); + ContosoCAGIFI.InsertGIFICode('8238', AlbertaRoyaltyTaxCreditsLbl); + ContosoCAGIFI.InsertGIFICode('8239', ManagementAndAdministrationFeesLbl); + ContosoCAGIFI.InsertGIFICode('8240', TelecommunicationsRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8241', ConsultingFeesLbl); + ContosoCAGIFI.InsertGIFICode('8242', SubsidiesAndGrantsLbl); + ContosoCAGIFI.InsertGIFICode('8243', SaleOfByProductsLbl); + ContosoCAGIFI.InsertGIFICode('8244', DepositServicesLbl); + ContosoCAGIFI.InsertGIFICode('8245', CreditServicesLbl); + ContosoCAGIFI.InsertGIFICode('8246', CardServicesLbl); + ContosoCAGIFI.InsertGIFICode('8247', PatronageDividendsLbl); + ContosoCAGIFI.InsertGIFICode('8248', InsuranceRecoveriesLbl); + ContosoCAGIFI.InsertGIFICode('8249', ExpenseRecoveriesLbl); + ContosoCAGIFI.InsertGIFICode('8250', BadDebtRecoveriesLbl); + ContosoCAGIFI.InsertGIFICode('8299', TotalRevenueLbl); + ContosoCAGIFI.InsertGIFICode('8300', OpeningInventoryLbl); + ContosoCAGIFI.InsertGIFICode('8301', OpeningInventoryFinishedGoodsLbl); + ContosoCAGIFI.InsertGIFICode('8302', OpeningInventoryRawMaterialsLbl); + ContosoCAGIFI.InsertGIFICode('8303', OpeningInventoryGoodsInProcessLbl); + ContosoCAGIFI.InsertGIFICode('8320', PurchasesCostOfMaterialsLbl); + ContosoCAGIFI.InsertGIFICode('8340', DirectWagesLbl); + ContosoCAGIFI.InsertGIFICode('8350', BenefitsOnDirectWagesLbl); + ContosoCAGIFI.InsertGIFICode('8360', TradesAndSubContractsLbl); + ContosoCAGIFI.InsertGIFICode('8370', ProductionCostsOtherThanResourceLbl); + ContosoCAGIFI.InsertGIFICode('8400', ResourceProductionCostsLbl); + ContosoCAGIFI.InsertGIFICode('8401', PipelineOperationsLbl); + ContosoCAGIFI.InsertGIFICode('8402', DrillingLbl); + ContosoCAGIFI.InsertGIFICode('8403', SiteRestorationCostsLbl); + ContosoCAGIFI.InsertGIFICode('8404', GrossOverridingRoyaltyLbl); + ContosoCAGIFI.InsertGIFICode('8405', FreeholdRoyaltiesLbl); + ContosoCAGIFI.InsertGIFICode('8406', OtherProducingPropertiesRentalLbl); + ContosoCAGIFI.InsertGIFICode('8407', ProspectGeologicalLbl); + ContosoCAGIFI.InsertGIFICode('8408', WellOperatingFuelAndEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('8409', WellAbandonmentAndDryHolesLbl); + ContosoCAGIFI.InsertGIFICode('8410', OtherLeaseRentalsLbl); + ContosoCAGIFI.InsertGIFICode('8411', ExplorationExpensesLbl); + ContosoCAGIFI.InsertGIFICode('8412', DevelopmentExpensesLbl); + ContosoCAGIFI.InsertGIFICode('8435', CrownChargesLbl); + ContosoCAGIFI.InsertGIFICode('8436', CrownRoyaltiesLbl); + ContosoCAGIFI.InsertGIFICode('8437', CrownLeaseRentalsLbl); + ContosoCAGIFI.InsertGIFICode('8438', FreeholdMineralTaxLbl); + ContosoCAGIFI.InsertGIFICode('8439', MiningTaxesLbl); + ContosoCAGIFI.InsertGIFICode('8440', OilSandLeasesLbl); + ContosoCAGIFI.InsertGIFICode('8441', SaskatchewanResourceSurchargeLbl); + ContosoCAGIFI.InsertGIFICode('8450', OtherDirectCostsLbl); + ContosoCAGIFI.InsertGIFICode('8451', EquipmentHireAndOperationLbl); + ContosoCAGIFI.InsertGIFICode('8452', LogYardLbl); + ContosoCAGIFI.InsertGIFICode('8453', ForestryCostsLbl); + ContosoCAGIFI.InsertGIFICode('8454', LoggingRoadCostsLbl); + ContosoCAGIFI.InsertGIFICode('8455', StumpageCostsLbl); + ContosoCAGIFI.InsertGIFICode('8456', RoyaltyCostsLbl); + ContosoCAGIFI.InsertGIFICode('8457', FreightInAndDutyLbl); + ContosoCAGIFI.InsertGIFICode('8458', InventoryWriteDownLbl); + ContosoCAGIFI.InsertGIFICode('8459', DirectCostAmortizationOfTangibleAssetsLbl); + ContosoCAGIFI.InsertGIFICode('8460', DirectCostAmortizationOfNaturalResourceAssetsLbl); + ContosoCAGIFI.InsertGIFICode('8461', OverheadExpensesAllocatedToCostOfSalesLbl); + ContosoCAGIFI.InsertGIFICode('8500', ClosingInventoryLbl); + ContosoCAGIFI.InsertGIFICode('8501', ClosingInventoryFinishedGoodsLbl); + ContosoCAGIFI.InsertGIFICode('8502', ClosingInventoryRawMaterialsLbl); + ContosoCAGIFI.InsertGIFICode('8503', ClosingInventoryGoodsInProcessLbl); + ContosoCAGIFI.InsertGIFICode('8518', CostOfSalesLbl); + ContosoCAGIFI.InsertGIFICode('8519', GrossProfitLossLbl); + ContosoCAGIFI.InsertGIFICode('8520', AdvertisingAndPromotionLbl); + ContosoCAGIFI.InsertGIFICode('8521', AdvertisingLbl); + ContosoCAGIFI.InsertGIFICode('8522', DonationsLbl); + ContosoCAGIFI.InsertGIFICode('8523', MealsAndEntertainmentLbl); + ContosoCAGIFI.InsertGIFICode('8524', PromotionLbl); + ContosoCAGIFI.InsertGIFICode('8570', AmortizationOfIntangibleAssetsLbl); + ContosoCAGIFI.InsertGIFICode('8590', BadDebtExpenseLbl); + ContosoCAGIFI.InsertGIFICode('8610', LoanLossesLbl); + ContosoCAGIFI.InsertGIFICode('8611', ProvisionForLoanLossesLbl); + ContosoCAGIFI.InsertGIFICode('8620', EmployeeBenefitsLbl); + ContosoCAGIFI.InsertGIFICode('8621', GroupInsuranceBenefitsLbl); + ContosoCAGIFI.InsertGIFICode('8622', EmployeræsPortionOfEmployeeBenefitsLbl); + ContosoCAGIFI.InsertGIFICode('8623', ContributionsToDeferredIncomePlansLbl); + ContosoCAGIFI.InsertGIFICode('8650', AmortizationOfNaturalResourceAssetsLbl); + ContosoCAGIFI.InsertGIFICode('8670', AmortizationOfTangibleAssetsLbl); + ContosoCAGIFI.InsertGIFICode('8690', InsuranceLbl); + ContosoCAGIFI.InsertGIFICode('8691', LifeInsuranceOnExecutivesLbl); + ContosoCAGIFI.InsertGIFICode('8710', InterestAndBankChargesLbl); + ContosoCAGIFI.InsertGIFICode('8711', InterestOnShortTermDebtLbl); + ContosoCAGIFI.InsertGIFICode('8712', InterestOnBondsAndDebenturesLbl); + ContosoCAGIFI.InsertGIFICode('8713', InterestOnMortgagesLbl); + ContosoCAGIFI.InsertGIFICode('8714', InterestOnLongTermDebtLbl); + ContosoCAGIFI.InsertGIFICode('8715', BankChargesLbl); + ContosoCAGIFI.InsertGIFICode('8716', CreditCardChargesLbl); + ContosoCAGIFI.InsertGIFICode('8717', CollectionAndCreditCostsLbl); + ContosoCAGIFI.InsertGIFICode('8740', InterestPaidFinancialInstitutionsLbl); + ContosoCAGIFI.InsertGIFICode('8741', InterestPaidOnDepositsLbl); + ContosoCAGIFI.InsertGIFICode('8742', InterestPaidOnBondsAndDebenturesLbl); + ContosoCAGIFI.InsertGIFICode('8760', BusinessTaxesLicensesAndMembershipsLbl); + ContosoCAGIFI.InsertGIFICode('8761', MembershipsLbl); + ContosoCAGIFI.InsertGIFICode('8762', BusinessTaxesLbl); + ContosoCAGIFI.InsertGIFICode('8763', FranchiseFeesLbl); + ContosoCAGIFI.InsertGIFICode('8764', GovernmentFeesLbl); + ContosoCAGIFI.InsertGIFICode('8780', NewBrunswickTaxOnLargeCorporationsLbl); + ContosoCAGIFI.InsertGIFICode('8790', NovaScotiaTaxOnLargeCorporationsLbl); + ContosoCAGIFI.InsertGIFICode('8810', OfficeExpensesLbl); + ContosoCAGIFI.InsertGIFICode('8811', OfficeStationeryAndSuppliesLbl); + ContosoCAGIFI.InsertGIFICode('8812', OfficeUtilitiesLbl); + ContosoCAGIFI.InsertGIFICode('8813', DataProcessingLbl); + ContosoCAGIFI.InsertGIFICode('8860', ProfessionalFeesLbl); + ContosoCAGIFI.InsertGIFICode('8861', LegalFeesLbl); + ContosoCAGIFI.InsertGIFICode('8862', AccountingFeesLbl); + ContosoCAGIFI.InsertGIFICode('8863', ConsultingFeesLbl); + ContosoCAGIFI.InsertGIFICode('8864', ArchitectFeesLbl); + ContosoCAGIFI.InsertGIFICode('8865', AppraisalFeesLbl); + ContosoCAGIFI.InsertGIFICode('8866', LaboratoryFeesLbl); + ContosoCAGIFI.InsertGIFICode('8867', MedicalFeesLbl); + ContosoCAGIFI.InsertGIFICode('8868', VeterinaryFeesLbl); + ContosoCAGIFI.InsertGIFICode('8869', BrokerageFeesLbl); + ContosoCAGIFI.InsertGIFICode('8870', TransferFeesLbl); + ContosoCAGIFI.InsertGIFICode('8871', ManagementAndAdministrationFeesLbl); + ContosoCAGIFI.InsertGIFICode('8872', RefiningAndAssayLbl); + ContosoCAGIFI.InsertGIFICode('8873', RegistrarAndTransferAgentFeesLbl); + ContosoCAGIFI.InsertGIFICode('8874', RestructuringCostsLbl); + ContosoCAGIFI.InsertGIFICode('8875', SecurityAndExchangeCommissionFeesLbl); + ContosoCAGIFI.InsertGIFICode('8876', TrainingExpenseLbl); + ContosoCAGIFI.InsertGIFICode('8877', StudioAndRecordingLbl); + ContosoCAGIFI.InsertGIFICode('8910', RentalLbl); + ContosoCAGIFI.InsertGIFICode('8911', RealEstateRentalLbl); + ContosoCAGIFI.InsertGIFICode('8912', OccupancyCostsLbl); + ContosoCAGIFI.InsertGIFICode('8913', CondominiumFeesLbl); + ContosoCAGIFI.InsertGIFICode('8914', EquipmentRentalLbl); + ContosoCAGIFI.InsertGIFICode('8915', MotorVehicleRentalsLbl); + ContosoCAGIFI.InsertGIFICode('8916', MoorageBoatLbl); + ContosoCAGIFI.InsertGIFICode('8917', StorageLbl); + ContosoCAGIFI.InsertGIFICode('8918', QuotaRentalLbl); + ContosoCAGIFI.InsertGIFICode('8960', RepairsAndMaintenanceLbl); + ContosoCAGIFI.InsertGIFICode('8961', RepairsAndMaintenanceBuildingsLbl); + ContosoCAGIFI.InsertGIFICode('8962', RepairsAndMaintenanceVehiclesLbl); + ContosoCAGIFI.InsertGIFICode('8963', RepairsAndMaintenanceBoatsLbl); + ContosoCAGIFI.InsertGIFICode('8964', RepairsAndMaintenanceMachineryAndEquipmentLbl); + ContosoCAGIFI.InsertGIFICode('9010', OtherRepairsAndMaintenanceLbl); + ContosoCAGIFI.InsertGIFICode('9011', MachineShopExpenseLbl); + ContosoCAGIFI.InsertGIFICode('9012', RoadCostsLbl); + ContosoCAGIFI.InsertGIFICode('9013', SecurityLbl); + ContosoCAGIFI.InsertGIFICode('9014', GarbageRemovalLbl); + ContosoCAGIFI.InsertGIFICode('9060', SalariesAndWagesLbl); + ContosoCAGIFI.InsertGIFICode('9061', CommissionsLbl); + ContosoCAGIFI.InsertGIFICode('9062', CrewShareLbl); + ContosoCAGIFI.InsertGIFICode('9063', BonusesLbl); + ContosoCAGIFI.InsertGIFICode('9064', DirectorsFeesLbl); + ContosoCAGIFI.InsertGIFICode('9065', ManagementSalariesLbl); + ContosoCAGIFI.InsertGIFICode('9066', EmployeeSalariesLbl); + ContosoCAGIFI.InsertGIFICode('9110', SubContractsLbl); + ContosoCAGIFI.InsertGIFICode('9130', SuppliesLbl); + ContosoCAGIFI.InsertGIFICode('9131', SmallToolsLbl); + ContosoCAGIFI.InsertGIFICode('9132', ShopExpenseLbl); + ContosoCAGIFI.InsertGIFICode('9133', UniformsLbl); + ContosoCAGIFI.InsertGIFICode('9134', LaundryLbl); + ContosoCAGIFI.InsertGIFICode('9135', FoodAndCateringLbl); + ContosoCAGIFI.InsertGIFICode('9136', FishingGearLbl); + ContosoCAGIFI.InsertGIFICode('9137', NetsAndTrapsLbl); + ContosoCAGIFI.InsertGIFICode('9138', SaltBaitAndIceLbl); + ContosoCAGIFI.InsertGIFICode('9139', CampSuppliesLbl); + ContosoCAGIFI.InsertGIFICode('9150', ComputerRelatedExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9151', UpgradeLbl); + ContosoCAGIFI.InsertGIFICode('9152', InternetLbl); + ContosoCAGIFI.InsertGIFICode('9180', PropertyTaxesLbl); + ContosoCAGIFI.InsertGIFICode('9200', TravelExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9201', MeetingsAndConventionsLbl); + ContosoCAGIFI.InsertGIFICode('9220', UtilitiesLbl); + ContosoCAGIFI.InsertGIFICode('9221', ElectricityLbl); + ContosoCAGIFI.InsertGIFICode('9222', WaterLbl); + ContosoCAGIFI.InsertGIFICode('9223', HeatLbl); + ContosoCAGIFI.InsertGIFICode('9224', FuelCostsLbl); + ContosoCAGIFI.InsertGIFICode('9225', TelephoneAndTelecommunicationsLbl); + ContosoCAGIFI.InsertGIFICode('9270', OtherExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9271', CashOverShortLbl); + ContosoCAGIFI.InsertGIFICode('9272', ReimbursementOfParentCompanyExpenseLbl); + ContosoCAGIFI.InsertGIFICode('9273', SellingExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9274', ShippingAndWarehouseExpenseLbl); + ContosoCAGIFI.InsertGIFICode('9275', DeliveryFreightAndExpressLbl); + ContosoCAGIFI.InsertGIFICode('9276', WarrantyExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9277', RoyaltyExpensesResidentLbl); + ContosoCAGIFI.InsertGIFICode('9278', RoyaltyExpensesNonResidentLbl); + ContosoCAGIFI.InsertGIFICode('9279', DumpingChargesLbl); + ContosoCAGIFI.InsertGIFICode('9280', LandFillFeesLbl); + ContosoCAGIFI.InsertGIFICode('9281', VehicleExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9282', ResearchAndDevelopmentLbl); + ContosoCAGIFI.InsertGIFICode('9283', WithholdingTaxesLbl); + ContosoCAGIFI.InsertGIFICode('9284', GeneralAndAdministrativeExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9285', InterdivisionalExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9286', InterfundtransfersLbl); + ContosoCAGIFI.InsertGIFICode('9367', TotalOperatingExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9368', TotalExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9369', NetNonFarmingIncomeLbl); + ContosoCAGIFI.InsertGIFICode('9370', GrainsAndOilseedsLbl); + ContosoCAGIFI.InsertGIFICode('9371', WheatLbl); + ContosoCAGIFI.InsertGIFICode('9372', OatsLbl); + ContosoCAGIFI.InsertGIFICode('9373', BarleyLbl); + ContosoCAGIFI.InsertGIFICode('9374', MixedGrainsLbl); + ContosoCAGIFI.InsertGIFICode('9375', CornLbl); + ContosoCAGIFI.InsertGIFICode('9376', CanolaLbl); + ContosoCAGIFI.InsertGIFICode('9377', FlaxseedLbl); + ContosoCAGIFI.InsertGIFICode('9378', SoyaBeansLbl); + ContosoCAGIFI.InsertGIFICode('9379', WheatBoardPaymentsLbl); + ContosoCAGIFI.InsertGIFICode('9420', OtherCropRevenuesLbl); + ContosoCAGIFI.InsertGIFICode('9421', FruitLbl); + ContosoCAGIFI.InsertGIFICode('9422', PotatoesLbl); + ContosoCAGIFI.InsertGIFICode('9423', VegetablesLbl); + ContosoCAGIFI.InsertGIFICode('9424', TobaccoLbl); + ContosoCAGIFI.InsertGIFICode('9425', GreenhouseAndNurseryProductsLbl); + ContosoCAGIFI.InsertGIFICode('9426', ForageCropsLbl); + ContosoCAGIFI.InsertGIFICode('9470', LivestockAndAnimalProductsRevenueLbl); + ContosoCAGIFI.InsertGIFICode('9471', CattleLbl); + ContosoCAGIFI.InsertGIFICode('9472', SwineLbl); + ContosoCAGIFI.InsertGIFICode('9473', PoultryLbl); + ContosoCAGIFI.InsertGIFICode('9474', SheepAndLambsLbl); + ContosoCAGIFI.InsertGIFICode('9475', PregnantMareUrinePmuLbl); + ContosoCAGIFI.InsertGIFICode('9476', MilkAndCreamExcludingDairySubsidiesLbl); + ContosoCAGIFI.InsertGIFICode('9477', EggsForConsumptionLbl); + ContosoCAGIFI.InsertGIFICode('9478', HatchingEggsLbl); + ContosoCAGIFI.InsertGIFICode('9479', AquacultureHatchingAndRaisingLbl); + ContosoCAGIFI.InsertGIFICode('9480', HorsesBreedingAndMeatLbl); + ContosoCAGIFI.InsertGIFICode('9520', OtherCommoditiesLbl); + ContosoCAGIFI.InsertGIFICode('9521', MapleProductsLbl); + ContosoCAGIFI.InsertGIFICode('9522', ArtificialInseminationLbl); + ContosoCAGIFI.InsertGIFICode('9523', SemenProductionLbl); + ContosoCAGIFI.InsertGIFICode('9524', EmbryoProductionLbl); + ContosoCAGIFI.InsertGIFICode('9540', ProgramPaymentRevenuesLbl); + ContosoCAGIFI.InsertGIFICode('9541', DairySubsidiesLbl); + ContosoCAGIFI.InsertGIFICode('9542', CropInsuranceLbl); + ContosoCAGIFI.InsertGIFICode('9543', NisaPaymentsLbl); + ContosoCAGIFI.InsertGIFICode('9544', DisasterAssistanceProgramPaymentsLbl); + ContosoCAGIFI.InsertGIFICode('9545', CaisBenefitLbl); + ContosoCAGIFI.InsertGIFICode('9546', ProductionInsurancePremiumBenefitLbl); + ContosoCAGIFI.InsertGIFICode('9570', RebatesLbl); + ContosoCAGIFI.InsertGIFICode('9571', RebatesFuelLbl); + ContosoCAGIFI.InsertGIFICode('9572', RebatesInterestLbl); + ContosoCAGIFI.InsertGIFICode('9573', RebatesPropertyTaxesLbl); + ContosoCAGIFI.InsertGIFICode('9574', ResalesRebatesGstForNisaEligibleExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9575', RebatesGstForNisaNonEligibleExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9600', OtherFarmRevenuesLossesLbl); + ContosoCAGIFI.InsertGIFICode('9601', CustomOrContractWorkLbl); + ContosoCAGIFI.InsertGIFICode('9602', WoodSalesLbl); + ContosoCAGIFI.InsertGIFICode('9603', HorseRacingLbl); + ContosoCAGIFI.InsertGIFICode('9604', InsuranceProceedsLbl); + ContosoCAGIFI.InsertGIFICode('9605', PatronageDividendsLbl); + ContosoCAGIFI.InsertGIFICode('9606', RentalIncomeLbl); + ContosoCAGIFI.InsertGIFICode('9607', InterestIncomeLbl); + ContosoCAGIFI.InsertGIFICode('9608', DividendIncomeLbl); + ContosoCAGIFI.InsertGIFICode('9609', GainsLossesOnDisposalOfAssetsLbl); + ContosoCAGIFI.InsertGIFICode('9610', GravelLbl); + ContosoCAGIFI.InsertGIFICode('9611', TruckingLbl); + ContosoCAGIFI.InsertGIFICode('9612', ResaleOfCommoditiesPurchasedLbl); + ContosoCAGIFI.InsertGIFICode('9613', LeasesGasOilWellSurfaceEtcLbl); + ContosoCAGIFI.InsertGIFICode('9614', MachineRentalsLbl); + ContosoCAGIFI.InsertGIFICode('9615', FarmingPartnershipIncomeLossLbl); + ContosoCAGIFI.InsertGIFICode('9616', FarmingJointVentureIncomeLossLbl); + ContosoCAGIFI.InsertGIFICode('9650', NonFarmingIncomeLbl); + ContosoCAGIFI.InsertGIFICode('9659', TotalFarmRevenueLbl); + ContosoCAGIFI.InsertGIFICode('9660', CropExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9661', ContainersTwineAndBalingWireLbl); + ContosoCAGIFI.InsertGIFICode('9662', FertilizersAndLimeLbl); + ContosoCAGIFI.InsertGIFICode('9663', PesticidesLbl); + ContosoCAGIFI.InsertGIFICode('9664', SeedsAndPlantsLbl); + ContosoCAGIFI.InsertGIFICode('9665', InsurancePremiumsCropNisaAcsLbl); + ContosoCAGIFI.InsertGIFICode('9710', LivestockExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9711', FeedSupplementsStrawAndBeddingLbl); + ContosoCAGIFI.InsertGIFICode('9712', LivestockPurchasesLbl); + ContosoCAGIFI.InsertGIFICode('9713', VeterinaryFeesMedicineAndBreedingFeesLbl); + ContosoCAGIFI.InsertGIFICode('9714', MineralsAndSaltsLbl); + ContosoCAGIFI.InsertGIFICode('9760', MachineryExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9761', MachineryInsuranceLbl); + ContosoCAGIFI.InsertGIFICode('9762', MachineryLicensesLbl); + ContosoCAGIFI.InsertGIFICode('9763', MachineryRepairsLbl); + ContosoCAGIFI.InsertGIFICode('9764', MachineryFuelLbl); + ContosoCAGIFI.InsertGIFICode('9765', MachineryLeaseLbl); + ContosoCAGIFI.InsertGIFICode('9790', GeneralFarmExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9791', AmortizationOfTangibleAssetsLbl); + ContosoCAGIFI.InsertGIFICode('9792', AdvertisingMarketingCostsAndPromotionLbl); + ContosoCAGIFI.InsertGIFICode('9793', BadDebtLbl); + ContosoCAGIFI.InsertGIFICode('9794', BenefitsRelatedToEmployeeSalariesLbl); + ContosoCAGIFI.InsertGIFICode('9795', BuildingRepairsAndMaintenanceLbl); + ContosoCAGIFI.InsertGIFICode('9796', ClearingLevellingAndDrainingLandLbl); + ContosoCAGIFI.InsertGIFICode('9797', CropInsuranceRevenueProtectionProgramAndStabilizationPremiumsLbl); + ContosoCAGIFI.InsertGIFICode('9798', CustomOrContractWorkLbl); + ContosoCAGIFI.InsertGIFICode('9799', ElectricityLbl); + ContosoCAGIFI.InsertGIFICode('9800', FenceRepairsAndMaintenanceLbl); + ContosoCAGIFI.InsertGIFICode('9801', FreightAndTruckingLbl); + ContosoCAGIFI.InsertGIFICode('9802', HeatingFuelAndCuringFuelLbl); + ContosoCAGIFI.InsertGIFICode('9803', InsuranceProgramOverpaymentRecaptureLbl); + ContosoCAGIFI.InsertGIFICode('9804', OtherInsurancePremiumsLbl); + ContosoCAGIFI.InsertGIFICode('9805', InterestAndBankChargesLbl); + ContosoCAGIFI.InsertGIFICode('9806', MarketingBoardFeesLbl); + ContosoCAGIFI.InsertGIFICode('9807', MembershipsSubscriptionFeesLbl); + ContosoCAGIFI.InsertGIFICode('9808', OfficeExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9809', ProfessionalFeesLbl); + ContosoCAGIFI.InsertGIFICode('9810', PropertyTaxesLbl); + ContosoCAGIFI.InsertGIFICode('9811', RentLandAndBuildingsLbl); + ContosoCAGIFI.InsertGIFICode('9812', RentMachineryLbl); + ContosoCAGIFI.InsertGIFICode('9813', OtherRentalExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9814', SalariesAndWagesLbl); + ContosoCAGIFI.InsertGIFICode('9815', SalariesAndWagesOtherThanSpouseOrDependantsLbl); + ContosoCAGIFI.InsertGIFICode('9816', SalariesAndWagesPaidToDependantsLbl); + ContosoCAGIFI.InsertGIFICode('9817', SellingCostsLbl); + ContosoCAGIFI.InsertGIFICode('9818', SuppliesLbl); + ContosoCAGIFI.InsertGIFICode('9819', MotorVehicleExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9820', SmallToolsLbl); + ContosoCAGIFI.InsertGIFICode('9821', SoilTestingLbl); + ContosoCAGIFI.InsertGIFICode('9822', StorageDryingLbl); + ContosoCAGIFI.InsertGIFICode('9823', LicensesPermitsLbl); + ContosoCAGIFI.InsertGIFICode('9824', TelephoneLbl); + ContosoCAGIFI.InsertGIFICode('9825', QuotaRentalTobaccoDairyLbl); + ContosoCAGIFI.InsertGIFICode('9826', GravelLbl); + ContosoCAGIFI.InsertGIFICode('9827', PurchasesOfCommoditiesResoldLbl); + ContosoCAGIFI.InsertGIFICode('9828', SalariesAndWagesPaidToSpouseLbl); + ContosoCAGIFI.InsertGIFICode('9829', MotorVehicleInterestAndLeasingCostsLbl); + ContosoCAGIFI.InsertGIFICode('9830', PreparedFeedLbl); + ContosoCAGIFI.InsertGIFICode('9831', CustomFeedLbl); + ContosoCAGIFI.InsertGIFICode('9832', AmortizationOfIntangibleAssetsLbl); + ContosoCAGIFI.InsertGIFICode('9833', AmortizationOfMilkQuotaLbl); + ContosoCAGIFI.InsertGIFICode('9834', TravelExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9835', CapitalBusinessTaxesLbl); + ContosoCAGIFI.InsertGIFICode('9836', CommissionsAndLeviesLbl); + ContosoCAGIFI.InsertGIFICode('9850', NonFarmingExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9870', NetInventoryAdjustmentLbl); + ContosoCAGIFI.InsertGIFICode('9898', TotalFarmExpensesLbl); + ContosoCAGIFI.InsertGIFICode('9899', NetFarmIncomeLbl); + ContosoCAGIFI.InsertGIFICode('9970', NetIncomeLossBeforeTaxesAndExtraordinaryItemsLbl); + ContosoCAGIFI.InsertGIFICode('9975', ExtraordinaryItemSLbl); + ContosoCAGIFI.InsertGIFICode('9976', LegalSettlementsLbl); + ContosoCAGIFI.InsertGIFICode('9980', UnrealizedGainsLossesLbl); + ContosoCAGIFI.InsertGIFICode('9985', UnusualItemsLbl); + ContosoCAGIFI.InsertGIFICode('9990', CurrentIncomeTaxesLbl); + ContosoCAGIFI.InsertGIFICode('9995', FutureDeferredIncomeTaxProvisionLbl); + ContosoCAGIFI.InsertGIFICode('9999', NetIncomeLossAfterTaxesAndExtraordinaryItemsLbl); + end; + + var + CashAndDepositsLbl: Label 'Cash and deposits', MaxLength = 120; + CashLbl: Label 'Cash', MaxLength = 120; + DepositsInCanadianBanksAndInstitutionsCanadianCurrencyLbl: Label 'Deposits in Canadian banks and institutions - Canadian currency', MaxLength = 120; + DepositsInCanadianBanksAndInstitutionsForeignCurrencyLbl: Label 'Deposits in Canadian banks and institutions - foreign currency', MaxLength = 120; + DepositsInForeignBanksCanadianCurrencyLbl: Label 'Deposits in foreign banks - Canadian currency', MaxLength = 120; + DepositsInForeignBanksForeignCurrencyLbl: Label 'Deposits in foreign banks - foreign currency', MaxLength = 120; + CreditUnionCentralDepositsLbl: Label 'Credit union central deposits', MaxLength = 120; + OtherCashLikeInstrumentsLbl: Label 'Other cash like instruments', MaxLength = 120; + AccountsReceivableLbl: Label 'Accounts receivable', MaxLength = 120; + AllowanceForDoubtfulAccountsLbl: Label 'Allowance for doubtful accounts', MaxLength = 120; + TradeAccountsReceivableLbl: Label 'Trade accounts receivable', MaxLength = 120; + AllowanceForDoubtfulTradeAccountsReceivableLbl: Label 'Allowance for doubtful trade accounts receivable', MaxLength = 120; + TradeAccountsReceivableFromRelatedPartiesLbl: Label 'Trade accounts receivable from related parties', MaxLength = 120; + AllowanceForDoubtfulTradeAccountsReceivableFromRelatedPartiesLbl: Label 'Allowance for doubtful trade accounts receivable from related parties', MaxLength = 120; + TaxesReceivableLbl: Label 'Taxes receivable', MaxLength = 120; + InterestReceivableLbl: Label 'Interest receivable', MaxLength = 120; + HoldbacksReceivableLbl: Label 'Holdbacks receivable', MaxLength = 120; + LeasesReceivableLbl: Label 'Leases receivable', MaxLength = 120; + AllowanceForDoubtfulAmountsContainedInLeasesReceivableLbl: Label 'Allowance for doubtful amounts contained in leases receivable', MaxLength = 120; + AccountsReceivableFromEmployeesLbl: Label 'Accounts receivable from employees', MaxLength = 120; + AllowanceForDoubtfulAccountsReceivableFromEmployeesLbl: Label 'Allowance for doubtful accounts receivable from employees', MaxLength = 120; + AmountsReceivableFromMembersOfNposLbl: Label 'Amounts receivable from members of NPOs', MaxLength = 120; + InventoriesLbl: Label 'Inventories', MaxLength = 120; + InventoryOfGoodsForSaleLbl: Label 'Inventory of goods for sale', MaxLength = 120; + InventoryPartsAndSuppliesLbl: Label 'Inventory parts and supplies', MaxLength = 120; + InventoryPropertiesLbl: Label 'Inventory properties', MaxLength = 120; + InventoryOfAggregatesLbl: Label 'Inventory of aggregates', MaxLength = 120; + WorkInProgressLbl: Label 'Work in progress', MaxLength = 120; + RawMaterialsLbl: Label 'Raw materials', MaxLength = 120; + InventoryOfSecuritiesLbl: Label 'Inventory of securities', MaxLength = 120; + ShortTermInvestmentsLbl: Label 'Short term investments', MaxLength = 120; + CanadianTermDepositsLbl: Label 'Canadian term deposits', MaxLength = 120; + CanadianSharesLbl: Label 'Canadian shares', MaxLength = 120; + CanadianBondsLbl: Label 'Canadian bonds', MaxLength = 120; + CanadianTreasuryBillsLbl: Label 'Canadian treasury bills', MaxLength = 120; + SecuritiesPurchasedUnderResaleAgreementsLbl: Label 'Securities purchased under resale agreements', MaxLength = 120; + OtherShortTermCanadianInvestmentsLbl: Label 'Other short term Canadian investments', MaxLength = 120; + ShortTermForeignInvestmentsLbl: Label 'Short term foreign investments', MaxLength = 120; + LoansAndNotesReceivableLbl: Label 'Loans and notes receivable', MaxLength = 120; + DemandLoansReceivableLbl: Label 'Demand loans receivable', MaxLength = 120; + OtherLoansReceivableLbl: Label 'Other loans receivable', MaxLength = 120; + NotesReceivableLbl: Label 'Notes receivable', MaxLength = 120; + MortgagesReceivableLbl: Label 'Mortgages receivable', MaxLength = 120; + DueFromIndividualShareholderSLbl: Label 'Due from individual shareholder(s)', MaxLength = 120; + DueFromCorporateShareholderSLbl: Label 'Due from corporate shareholder(s)', MaxLength = 120; + DueFromDirectorSLbl: Label 'Due from director(s)', MaxLength = 120; + InvestmentInJointVentureSPartnershipSLbl: Label 'Investment in joint venture(s) / partnership(s)', MaxLength = 120; + DueFromJointVentureSPartnershipSLbl: Label 'Due from joint venture(s) / partnership(s)', MaxLength = 120; + DueFromInvestmentInTheRelatedPartiesLbl: Label 'Due from / investment in the related parties', MaxLength = 120; + DemandNotesFromRelatedPartiesLbl: Label 'Demand notes from related parties', MaxLength = 120; + InterestReceivableFromRelatedPartiesLbl: Label 'Interest receivable from related parties', MaxLength = 120; + LoansAdvancesDueFromRelatedPartiesLbl: Label 'Loans / advances due from related parties', MaxLength = 120; + CustomersLiabilityUnderAcceptancesLbl: Label 'Customers liability under acceptances', MaxLength = 120; + OtherCurrentAssetsLbl: Label 'Other current assets', MaxLength = 120; + DeferredIncomeTaxesLbl: Label 'Deferred income taxes', MaxLength = 120; + AccruedInvestmentIncomeLbl: Label 'Accrued investment income', MaxLength = 120; + TaxesRecoverableRefundableLbl: Label 'Taxes recoverable / refundable', MaxLength = 120; + PrepaidExpensesLbl: Label 'Prepaid expenses', MaxLength = 120; + DrillingAdvancesLbl: Label 'Drilling advances', MaxLength = 120; + SecurityTenderDepositsLbl: Label 'Security / tender deposits', MaxLength = 120; + TotalCurrentAssetsLbl: Label 'Total current assets', MaxLength = 120; + LandLbl: Label 'Land', MaxLength = 120; + LandImprovementsLbl: Label 'Land improvements', MaxLength = 120; + AccumulatedAmortizationOfLandImprovementsLbl: Label 'Accumulated amortization of Land improvements', MaxLength = 120; + DepletableAssetsLbl: Label 'Depletable assets', MaxLength = 120; + AccumulatedAmortizationOfDepletableAssetsLbl: Label 'Accumulated amortization of Depletable assets', MaxLength = 120; + PetroleumAndNaturalGasPropertiesLbl: Label 'Petroleum and natural gas properties', MaxLength = 120; + AccumulatedAmortizationOfPetroleumAndNaturalGasPropertiesLbl: Label 'Accumulated amortization of Petroleum and natural gas properties', MaxLength = 120; + MiningPropertiesLbl: Label 'Mining properties', MaxLength = 120; + AccumulatedAmortizationOfMiningPropertiesLbl: Label 'Accumulated amortization of Mining properties', MaxLength = 120; + DeferredExplorationAndDevelopmentChargesLbl: Label 'Deferred exploration and development charges', MaxLength = 120; + AccumulatedAmortizationOfDeferredExplorationAndDevelopmentChargesLbl: Label 'Accumulated amortization of Deferred exploration and development charges', MaxLength = 120; + QuarriesLbl: Label 'Quarries', MaxLength = 120; + AccumulatedAmortizationOfQuarriesLbl: Label 'Accumulated amortization of Quarries', MaxLength = 120; + GravelPitsLbl: Label 'Gravel pits', MaxLength = 120; + AccumulatedAmortizationOfGravelPitsLbl: Label 'Accumulated amortization of Gravel pits', MaxLength = 120; + TimberLimitsLbl: Label 'Timber limits', MaxLength = 120; + AccumulatedAmortizationOfTimberLimitsLbl: Label 'Accumulated amortization of Timber limits', MaxLength = 120; + BuildingsLbl: Label 'Buildings', MaxLength = 120; + AccumulatedAmortizationOfBuildingsLbl: Label 'Accumulated amortization of Buildings', MaxLength = 120; + ManufacturingAndProcessingPlantLbl: Label 'Manufacturing and processing plant', MaxLength = 120; + AccumulatedAmortizationOfManufacturingAndProcessingPlantLbl: Label 'Accumulated amortization of Manufacturing and processing plant', MaxLength = 120; + BuildingsUnderConstructionLbl: Label 'Buildings under construction', MaxLength = 120; + MachineryEquipmentFurnitureAndFixturesLbl: Label 'Machinery, equipment,furniture and fixtures', MaxLength = 120; + AccumulatedAmortizationOfMachineryEquipmentFurnitureAndFixturesLbl: Label 'Accumulated amortization of Machinery, equipment,furniture and fixtures', MaxLength = 120; + MotorVehiclesLbl: Label 'Motor vehicles', MaxLength = 120; + AccumulatedAmortizationOfMotorVehiclesLbl: Label 'Accumulated amortization of Motor vehicles', MaxLength = 120; + ToolsAndDiesLbl: Label 'Tools and dies', MaxLength = 120; + AccumulatedAmortizationOfToolsAndDiesLbl: Label 'Accumulated amortization of Tools and dies', MaxLength = 120; + ConstructionAndExcavatingEquipmentLbl: Label 'Construction and excavating equipment', MaxLength = 120; + AccumulatedAmortizationOfConstructionAndExcavationLbl: Label 'Accumulated amortization of Construction and excavation', MaxLength = 120; + ForestryAndLoggingEquipmentLbl: Label 'Forestry and logging equipment', MaxLength = 120; + AccumulatedAmortizationOfForestryAndLoggingLbl: Label 'Accumulated amortization of Forestry and logging', MaxLength = 120; + FishingGearAndNetsLbl: Label 'Fishing gear and nets', MaxLength = 120; + AccumulatedAmortizationOfFishingGearAndNetsLbl: Label 'Accumulated amortization of Fishing gear and nets', MaxLength = 120; + MiningEquipmentLbl: Label 'Mining equipment', MaxLength = 120; + AccumulatedAmortizationOfMiningEquipmentLbl: Label 'Accumulated amortization of Mining equipment', MaxLength = 120; + OilAndGasSystemsLbl: Label 'Oil and gas systems', MaxLength = 120; + AccumulatedAmortizationOfOilAndGasSystemsLbl: Label 'Accumulated amortization of Oil and gas systems', MaxLength = 120; + ProductionEquipmentForResourceIndustriesLbl: Label 'Production equipment for resource industries', MaxLength = 120; + AccumulatedAmortizationOfProductionEquipmentForResourceIndustriesLbl: Label 'Accumulated amortization of Production equipment for resource industries', MaxLength = 120; + ProductionEquipmentForOtherThanResourceIndustriesLbl: Label 'Production equipment for other than resource industries', MaxLength = 120; + AccumulatedAmortizationOfProductionEquipmentForOtherThanResourceIndustriesLbl: Label 'Accumulated amortization of Production equipment for other than resource industries', MaxLength = 120; + ExplorationEquipmentLbl: Label 'Exploration equipment', MaxLength = 120; + AccumulatedAmortizationOfExplorationEquipmentLbl: Label 'Accumulated amortization of Exploration equipment', MaxLength = 120; + ShippingEquipmentLbl: Label 'Shipping equipment', MaxLength = 120; + AccumulatedAmortizationOfShippingEquipmentLbl: Label 'Accumulated amortization of Shipping equipment', MaxLength = 120; + ShipsAndBoatsLbl: Label 'Ships and boats', MaxLength = 120; + AccumulatedAmortizationOfShipsAndBoatsLbl: Label 'Accumulated amortization of Ships and boats', MaxLength = 120; + AircraftLbl: Label 'Aircraft', MaxLength = 120; + AccumulatedAmortizationOfAircraftsLbl: Label 'Accumulated amortization of Aircrafts', MaxLength = 120; + SignsLbl: Label 'Signs', MaxLength = 120; + AccumulatedAmortizationOfSignsLbl: Label 'Accumulated amortization of Signs', MaxLength = 120; + SmallToolsLbl: Label 'Small tools', MaxLength = 120; + AccumulatedAmortizationOfSmallToolsLbl: Label 'Accumulated amortization of Small tools', MaxLength = 120; + RadioAndCommunicationEquipmentLbl: Label 'Radio and communication equipment', MaxLength = 120; + AccumulatedAmortizationOfRadioAndCommunicationLbl: Label 'Accumulated amortization of radio and communication', MaxLength = 120; + ComputerEquipmentSoftwareLbl: Label 'Computer equipment / software', MaxLength = 120; + AccumulatedAmortizationOfComputerEquipmentAndSoftwareLbl: Label 'Accumulated amortization of computer equipment and/software', MaxLength = 120; + MusicalInstrumentsLbl: Label 'Musical instruments', MaxLength = 120; + AccumulatedAmortizationOfMusicalInstrumentsLbl: Label 'Accumulated amortization of musical instruments', MaxLength = 120; + SatellitesLbl: Label 'Satellites', MaxLength = 120; + AccumulatedAmortizationOfSatellitesLbl: Label 'Accumulated amortization of satellites ', MaxLength = 120; + EarthStationsLbl: Label 'Earth stations', MaxLength = 120; + AccumulatedAmortizationOfEarthStationsLbl: Label 'Accumulated amortization of earth stations', MaxLength = 120; + MachineryAndEquipmentUnderConstructionLbl: Label 'Machinery and equipment under construction', MaxLength = 120; + TransportationEquipmentLbl: Label 'Transportation equipment', MaxLength = 120; + AccumulatedAmortizationOfTransportationsEquipmentLbl: Label 'Accumulated amortization of transportations equipment', MaxLength = 120; + OtherMachineryAndEquipmentLbl: Label 'Other machinery and equipment', MaxLength = 120; + AccumulatedAmortizationOfOtherMachineryAndEquipmentLbl: Label 'Accumulated amortization of other machinery and equipment', MaxLength = 120; + FurnitureAndFixturesLbl: Label 'Furniture and fixtures', MaxLength = 120; + AccumulatedAmortizationOfFurnitureAndFixturesLbl: Label 'Accumulated amortization of furniture and fixtures', MaxLength = 120; + OtherTangibleCapitalAssetsLbl: Label 'Other tangible capital assets', MaxLength = 120; + AccumulatedAmortizationOfOtherTagibleCapitalAssetsLbl: Label 'Accumulated amortization of Other tagible capital assets', MaxLength = 120; + LoggingRoadsLbl: Label 'Logging roads', MaxLength = 120; + AccumulatedAmortizationOfLoggingRoadsLbl: Label 'Accumulated amortization of Logging roads', MaxLength = 120; + AsphaltAndParkingAreasLbl: Label 'Asphalt and parking areas', MaxLength = 120; + AccumulatedAmortizationOfAsphaltAndParkingAreasLbl: Label 'Accumulated amortization of Asphalt and parking areas', MaxLength = 120; + WharvesLbl: Label 'Wharves', MaxLength = 120; + AccumulatedAmortizationOfWharvesLbl: Label 'Accumulated amortization of wharves', MaxLength = 120; + FencesLbl: Label 'Fences', MaxLength = 120; + AccumulatedAmortizationOfFencesLbl: Label 'Accumulated amortization of fences', MaxLength = 120; + CapitalLeasesBuildingsLbl: Label 'Capital leases - buildings', MaxLength = 120; + AccumulatedAmortizationOfCapitalLeasesBuildingsLbl: Label 'Accumulated amortization of capital leases - buildings', MaxLength = 120; + CapitalLeasesEquipmentLbl: Label 'Capital leases - equipment', MaxLength = 120; + AccumulatedAmortizationOfCapitalLeasesEquipmentLbl: Label 'Accumulated amortization of capital leases - equipment', MaxLength = 120; + CapitalLeasesVehiclesLbl: Label 'Capital leases - vehicles', MaxLength = 120; + AccumulatedAmortizationOfCapitalLeasesVehiclesLbl: Label 'Accumulated amortization of capital leases - vehicles', MaxLength = 120; + CapitalLeasesOthersLbl: Label 'Capital leases - others', MaxLength = 120; + AccumulatedAmortizationOfCapitalLeasesOthersLbl: Label 'Accumulated amortization of capital leases - others', MaxLength = 120; + LeaseholdImprovementsLbl: Label 'Leasehold improvements', MaxLength = 120; + AccumulatedAmortizationOfLeaseholdImprovementsLbl: Label 'Accumulated amortization of leasehold improvements', MaxLength = 120; + OtherCapitalAssetsUnderConstructionLbl: Label 'Other capital assets under construction', MaxLength = 120; + CampsitesLbl: Label 'Campsites', MaxLength = 120; + AccumulatedAmortizationOfCampsitesLbl: Label 'Accumulated amortization of campsites', MaxLength = 120; + TotalTangibleCapitalAssetsLbl: Label 'Total tangible capital assets', MaxLength = 120; + TotalAccumulatedAmortizationOfTangibleCapitalAssetsLbl: Label 'Total accumulated amortization of tangible capital assets', MaxLength = 120; + InintangibleAssetsLbl: Label 'InIntangible assets', MaxLength = 120; + AccumulatedAmortizationOfIntangibleAssetsLbl: Label 'Accumulated amortization of Intangible assets', MaxLength = 120; + GoodwillLbl: Label 'Goodwill', MaxLength = 120; + AccumulatedAmortizationOfGoodwillLbl: Label 'Accumulated amortization of goodwill', MaxLength = 120; + QuotaLbl: Label 'Quota', MaxLength = 120; + AccumulatedAmortizationOfQuotaLbl: Label 'Accumulated amortization of quota', MaxLength = 120; + LicensesLbl: Label 'Licenses', MaxLength = 120; + AccumulatedAmortizationOfLicensesLbl: Label 'Accumulated amortization of licenses', MaxLength = 120; + IncorporationCostsLbl: Label 'Incorporation costs', MaxLength = 120; + AccumulatedAmortizationOfIncorporationCostsLbl: Label 'Accumulated amortization of incorporation costs', MaxLength = 120; + TrademarksPatentsLbl: Label 'Trademarks / patents', MaxLength = 120; + AccumulatedAmortizationOfTrademarksPatentsLbl: Label 'Accumulated amortization of trademarks / patents', MaxLength = 120; + CustomerListsLbl: Label 'Customer lists', MaxLength = 120; + AccumulatedAmortizationOfCustomerListsLbl: Label 'Accumulated amortization of customer lists', MaxLength = 120; + RightsLbl: Label 'Rights', MaxLength = 120; + AccumulatedAmortizationOfRightsLbl: Label 'Accumulated amortization of rights', MaxLength = 120; + ResearchAndDevelopmentLbl: Label 'Research and development', MaxLength = 120; + AccumulatedAmortizationOfResearchAndDevelopmentLbl: Label 'Accumulated amortization of research and development', MaxLength = 120; + ResourceRightsLbl: Label 'Resource rights', MaxLength = 120; + AccumulatedAmortizationOfResourceRightsLbl: Label 'Accumulated amortization of resource rights', MaxLength = 120; + TimberRightsLbl: Label 'Timber rights', MaxLength = 120; + AccumulatedAmortizationOfTimberRightsLbl: Label 'Accumulated amortization of timber rights', MaxLength = 120; + MiningRightsLbl: Label 'Mining rights', MaxLength = 120; + AccumulatedAmortizationOfMiningRightsLbl: Label 'Accumulated amortization of mining rights', MaxLength = 120; + OilAndGasRightsLbl: Label 'Oil and gas rights', MaxLength = 120; + AccumulatedAmortizationOfOilAndGasRightsLbl: Label 'Accumulated amortization of oil and gas rights', MaxLength = 120; + TotalIntangibleCapitalAssetsLbl: Label 'Total intangible capital assets', MaxLength = 120; + TotalAccumulatedAmortizationOfIntangibleCapitalAssetsLbl: Label 'Total accumulated amortization of intangible capital assets', MaxLength = 120; + DueFromShareholderSDirectorSLbl: Label 'Due from shareholder(s)/director(s)', MaxLength = 120; + DueFromShareholderSDirectorLbl: Label 'Due from shareholder(s)/ director(s)', MaxLength = 120; + DueFromMembersLbl: Label 'Due from members', MaxLength = 120; + DueFromInvestmentInRelatedPartiesLbl: Label 'Due from / investment in related parties', MaxLength = 120; + DueFromInvestmentInCanadianRelatedPartiesLbl: Label 'Due from / investment in Canadian related parties', MaxLength = 120; + SharesInCanadianRelatedCorporationsLbl: Label 'Shares in Canadian related corporations', MaxLength = 120; + LoansAdvancesToCanadianRelatedCorporationsLbl: Label 'Loans / advances to Canadian related corporations', MaxLength = 120; + InvestmentInCanadianRelatedCorporationsAtCostLbl: Label 'Investment in Canadian related corporations at cost', MaxLength = 120; + InvestmentInCanadianRelatedCorporationsAtEquityLbl: Label 'Investment in Canadian related corporations at equity', MaxLength = 120; + DueFromInvestmentInForeignRelatedPartiesLbl: Label 'Due from / investment in foreign related parties', MaxLength = 120; + SharesInForeignRelatedCorporationsLbl: Label 'Shares in foreign related corporations', MaxLength = 120; + LoansAdvancesToForeignRelatedCorporationsLbl: Label 'Loans / advances to foreign related corporations', MaxLength = 120; + InvestmentInForeignRelatedCorporationsAtCostLbl: Label 'Investment in foreign related corporations at cost', MaxLength = 120; + InvestmentInForeignRelatedCorporationsAtEquityLbl: Label 'Investment in foreign related corporations at equity', MaxLength = 120; + InvestmentInCoTenancyLbl: Label 'Investment in co-tenancy', MaxLength = 120; + LongTermInvestmentsLbl: Label 'Long term investments', MaxLength = 120; + ForeignSharesLbl: Label 'Foreign shares', MaxLength = 120; + OtherTypesOfForeignInvestmentsLbl: Label 'Other types of foreign investments', MaxLength = 120; + GovernmentOfCanadaDebtLbl: Label 'Government of Canada debt', MaxLength = 120; + CanadianProvincialAndMunicipalGovernmentDebtLbl: Label 'Canadian, provincial and municipal government debt', MaxLength = 120; + CanadianCorporateBondsAndDebenturesLbl: Label 'Canadian corporate bonds and debentures', MaxLength = 120; + DebtSecuritiesLbl: Label 'Debt securities', MaxLength = 120; + EquitySecuritiesLbl: Label 'Equity securities', MaxLength = 120; + CentralCreditUnionSharesLbl: Label 'Central credit union shares', MaxLength = 120; + OtherCanadianLongTermInvestmentsLbl: Label 'Other Canadian long term investments', MaxLength = 120; + LongTermLoansLbl: Label 'Long term loans', MaxLength = 120; + MortgagesLbl: Label 'Mortgages', MaxLength = 120; + PersonalAndCreditCardLoansLbl: Label 'Personal and credit card loans', MaxLength = 120; + BusinessAndGovernmentLoansLbl: Label 'Business and government loans', MaxLength = 120; + LineOfCreditLbl: Label 'Line of credit', MaxLength = 120; + OtherLongTermAssetsLbl: Label 'Other long term assets', MaxLength = 120; + FutureDeferredIncomeTaxesLbl: Label 'Future (deferred) income taxes', MaxLength = 120; + DeferredPensionChargesLbl: Label 'Deferred pension charges', MaxLength = 120; + DeferredUnrealizedExchangeLossesLbl: Label 'Deferred unrealized exchange losses', MaxLength = 120; + OtherDeferredItemsChargesLbl: Label 'Other deferred items / charges', MaxLength = 120; + AccumulatedAmortizationOfDeferredChargesLbl: Label 'Accumulated amortization of deferred charges', MaxLength = 120; + ReserveFundLbl: Label 'Reserve fund', MaxLength = 120; + CashSurrenderValueOfLifeInsuranceLbl: Label 'Cash surrender value of life insurance', MaxLength = 120; + TotalLongTermAssetsLbl: Label 'Total long term assets', MaxLength = 120; + AssetsHeldInTrustLbl: Label 'Assets held in trust', MaxLength = 120; + TotalAssetsLbl: Label 'Total assets', MaxLength = 120; + BankOverdraftLbl: Label 'Bank overdraft', MaxLength = 120; + AmountsPayableAndAccruedLiabilitiesLbl: Label 'Amounts payable and accrued liabilities', MaxLength = 120; + TradePayablesLbl: Label 'Trade payables', MaxLength = 120; + TradePayablesToRelatedPartiesLbl: Label 'Trade payables to related parties', MaxLength = 120; + HoldbacksPayableLbl: Label 'Holdbacks payable', MaxLength = 120; + WagesPayableLbl: Label 'Wages payable', MaxLength = 120; + ManagementFeesPayableLbl: Label 'Management fees payable', MaxLength = 120; + BonusesPayablesLbl: Label 'Bonuses payables', MaxLength = 120; + EmployeeDeductionsPayableLbl: Label 'Employee deductions payable', MaxLength = 120; + WithholdingTaxesPayableLbl: Label 'Withholding taxes payable', MaxLength = 120; + InterestPayableLbl: Label 'Interest payable', MaxLength = 120; + AmountsPayableToMembersOfNposLbl: Label 'Amounts payable to members of NPOs', MaxLength = 120; + TaxesPayableLbl: Label 'Taxes payable', MaxLength = 120; + ShortTermDebtLbl: Label 'Short term debt', MaxLength = 120; + LoansFromCanadianBanksLbl: Label 'Loans from Canadian banks', MaxLength = 120; + LiabilityForSecuritiesSoldShortLbl: Label 'Liability for securities sold short', MaxLength = 120; + LiabilityForSecuritiesSoldUnderRepurchaseAgreementsLbl: Label 'Liability for securities sold under repurchase agreements', MaxLength = 120; + GoldAndSilverCertificatesLbl: Label 'Gold and silver certificates', MaxLength = 120; + ChequesAndOtherItemsInTransitLbl: Label 'Cheques and other items in transit', MaxLength = 120; + LienNotesLbl: Label 'Lien notes', MaxLength = 120; + DeferredIncomeLbl: Label 'Deferred income', MaxLength = 120; + DueToShareholderSDirectorSLbl: Label 'Due to shareholder(s)/director(s)', MaxLength = 120; + DueToIndividualShareholderSLbl: Label 'Due to individual shareholder(s)', MaxLength = 120; + DueToCorporateShareholderSLbl: Label 'Due to corporate shareholder(s)', MaxLength = 120; + DueToDirectorSLbl: Label 'Due to director(s)', MaxLength = 120; + DueToJointVentureSPartnershipSLbl: Label 'Due to joint venture(s) / partnership(s)', MaxLength = 120; + DueToRelatedPartiesLbl: Label 'Due to related parties', MaxLength = 120; + DemandNotesDueToRelatedPartiesLbl: Label 'Demand notes due to related parties', MaxLength = 120; + InterestPayableToRelatedPartiesLbl: Label 'Interest payable to related parties', MaxLength = 120; + AdvancesDueToRelatedPartiesLbl: Label 'Advances due to related parties', MaxLength = 120; + CurrentPortionOfLongTermLiabilityLbl: Label 'Current portion of long term liability', MaxLength = 120; + BankersAcceptancesLbl: Label 'Bankers acceptances', MaxLength = 120; + OtherCurrentLiabilitiesLbl: Label 'Other current liabilities', MaxLength = 120; + DepositsReceivedLbl: Label 'Deposits received', MaxLength = 120; + DividendsPayableLbl: Label 'Dividends payable', MaxLength = 120; + ReserveForGuaranteesWarrantiesOrIndemnitiesLbl: Label 'Reserve for guarantees, warranties or indemnities', MaxLength = 120; + GeneralProvisionsReservesLbl: Label 'General provisions / reserves', MaxLength = 120; + CrewSharesLbl: Label 'Crew shares', MaxLength = 120; + TotalCurrentLiabilitiesLbl: Label 'Total current liabilities', MaxLength = 120; + LongTermDebtLbl: Label 'Long term debt', MaxLength = 120; + FarmCreditCorporationLoanLbl: Label 'Farm credit corporation loan', MaxLength = 120; + CharteredBankLoanLbl: Label 'Chartered bank loan', MaxLength = 120; + CreditUnionCaissePopulaireLoanLbl: Label 'Credit Union / Caisse Populaire loan', MaxLength = 120; + ProvincialGovernmentLoanLbl: Label 'Provincial government loan', MaxLength = 120; + SupplyCompanyLoanLbl: Label 'Supply company loan', MaxLength = 120; + PrivateLoanLbl: Label 'Private loan', MaxLength = 120; + CentralsLeaguesAndFederationLoansLbl: Label 'Centrals, leagues, and federation loans', MaxLength = 120; + DepositLiabilitiesOfFinancialInstitutionsLbl: Label 'Deposit liabilities of financial institutions', MaxLength = 120; + BondsAndDebenturesLbl: Label 'Bonds and debentures', MaxLength = 120; + DueToMembersLbl: Label 'Due to members', MaxLength = 120; + AmountsOwingToTheCanadianRelatedPartiesLbl: Label 'Amounts owing to the Canadian related parties', MaxLength = 120; + AmountsOwingToTheForeignRelatedPartiesLbl: Label 'Amounts owing to the foreign related parties', MaxLength = 120; + OtherLongTermLiabilitiesLbl: Label 'Other long term liabilities', MaxLength = 120; + LongTermObligationsCommitmentsCapitalLeasesLbl: Label 'Long term obligations/commitments/capital leases', MaxLength = 120; + ReservesForGuaranteesWarrantiesOrIndemnitiesLbl: Label 'Reserves for guarantees, warranties or indemnities', MaxLength = 120; + ProvisionForSiteRestorationLbl: Label 'Provision for site restoration', MaxLength = 120; + ContributionsToQualifyingEnvironmentalTrustLbl: Label 'Contributions to qualifying environmental trust', MaxLength = 120; + PreferenceSharesRestatedLbl: Label 'Preference shares restated', MaxLength = 120; + MemberAllocationsLbl: Label 'Member allocations', MaxLength = 120; + DeferredRevenueFromIncompleteContractsLbl: Label 'Deferred revenue from incomplete contracts', MaxLength = 120; + TotalLongTermLiabilitiesLbl: Label 'Total long term liabilities', MaxLength = 120; + SubordinatedDebtLbl: Label 'Subordinated debt', MaxLength = 120; + AmountsHeldInTrustLbl: Label 'Amounts held in trust', MaxLength = 120; + TotalLiabilitiesLbl: Label 'Total liabilities', MaxLength = 120; + CommonSharesLbl: Label 'Common shares', MaxLength = 120; + PreferredSharesLbl: Label 'Preferred shares', MaxLength = 120; + ContributedAndOtherSurplusLbl: Label 'Contributed and other surplus', MaxLength = 120; + ContributedSurplusLbl: Label 'Contributed surplus', MaxLength = 120; + AppraisalSurplusLbl: Label 'Appraisal surplus', MaxLength = 120; + GeneralReserveLbl: Label 'General reserve', MaxLength = 120; + HeadOfficeAccountLbl: Label 'Head office account', MaxLength = 120; + RetainedEarningsDeficitLbl: Label 'Retained earnings / deficit', MaxLength = 120; + TotalShareholderEquityLbl: Label 'Total shareholder equity', MaxLength = 120; + TotalLiabilitiesAndShareholderEquityLbl: Label 'Total liabilities and shareholder equity', MaxLength = 120; + RetainedEarningsDeficitStartLbl: Label 'Retained earnings / deficit - start', MaxLength = 120; + NetIncomeLossLbl: Label 'Net income / loss', MaxLength = 120; + DividendsDeclaredLbl: Label 'Dividends declared*', MaxLength = 120; + CashDividendsLbl: Label 'Cash dividends', MaxLength = 120; + PatronageDividendsLbl: Label 'Patronage dividends', MaxLength = 120; + PriorPeriodAdjustmentsLbl: Label 'Prior period adjustments', MaxLength = 120; + OtherItemsAffectingRetainedEarningsLbl: Label 'Other items affecting retained earnings', MaxLength = 120; + ShareRedemptionsLbl: Label 'Share redemptions', MaxLength = 120; + SpecialReservesLbl: Label 'Special reserves', MaxLength = 120; + CurrencyAdjustmentsLbl: Label 'Currency adjustments', MaxLength = 120; + UnusualRevenueItemsLbl: Label 'Unusual revenue items', MaxLength = 120; + InterfundTransferLbl: Label 'Interfund transfer', MaxLength = 120; + InterfundtransfersLbl: Label 'Interfund Transfer', MaxLength = 120; + RetainedEarningsDeficitEndLbl: Label 'Retained earnings / deficit - end', MaxLength = 120; + TradeSalesOfGoodsAndServicesLbl: Label 'Trade sales of goods and services', MaxLength = 120; + SalesOfGoodsAndServicesToRelatedPartiesLbl: Label 'Sales of goods and services to related parties', MaxLength = 120; + InterdivisionalSalesLbl: Label 'Interdivisional sales', MaxLength = 120; + SalesFromResourcePropertiesLbl: Label 'Sales from resource properties', MaxLength = 120; + PetroleumAndNaturalGasSalesLbl: Label 'Petroleum and natural gas sales', MaxLength = 120; + PetroleumAndNaturalGasSalesToRelatedPartiesLbl: Label 'Petroleum and natural gas sales to related parties', MaxLength = 120; + GasMarketingLbl: Label 'Gas marketing', MaxLength = 120; + ProcessingRevenueLbl: Label 'Processing revenue', MaxLength = 120; + PipelineRevenueLbl: Label 'Pipeline revenue', MaxLength = 120; + SeismicSalesLbl: Label 'Seismic sales', MaxLength = 120; + MiningRevenueLbl: Label 'Mining revenue', MaxLength = 120; + CoalRevenueLbl: Label 'Coal revenue', MaxLength = 120; + OilSandsRevenueLbl: Label 'Oil sands revenue', MaxLength = 120; + RoyaltyIncomeLbl: Label 'Royalty income', MaxLength = 120; + OilAndGasPartnershipJointVentureIncomeLossLbl: Label 'Oil and gas partnership / joint venture income / loss', MaxLength = 120; + MiningPartnershipJointVentureIncomeLossLbl: Label 'Mining partnership / joint venture income / loss', MaxLength = 120; + OtherProductionRevenueLbl: Label 'Other production revenue', MaxLength = 120; + TotalSalesOfGoodsAndServicesLbl: Label 'Total sales of goods and services', MaxLength = 120; + InvestmentRevenueLbl: Label 'Investment revenue', MaxLength = 120; + InterestFromForeignSourcesLbl: Label 'Interest from foreign sources', MaxLength = 120; + InterestFromCanadianBondsAndDebenturesLbl: Label 'Interest from Canadian bonds and debentures', MaxLength = 120; + InterestFromCanadianMortgageLoansLbl: Label 'Interest from Canadian mortgage loans', MaxLength = 120; + InterestFromOtherCanadianSourcesLbl: Label 'Interest from other Canadian sources', MaxLength = 120; + DividendIncomeLbl: Label 'Dividend income', MaxLength = 120; + DividendsFromCanadianSourcesLbl: Label 'Dividends from Canadian sources', MaxLength = 120; + DividendsFromForeignSourcesLbl: Label 'Dividends from foreign sources', MaxLength = 120; + InterestIncomeFinancialInstitutionsLbl: Label 'Interest income (financial institutions)', MaxLength = 120; + LoanInterestLbl: Label 'Loan interest', MaxLength = 120; + SecuritiesInterestLbl: Label 'Securities interest', MaxLength = 120; + DepositsWithBanksInterestLbl: Label 'Deposits with banks interest', MaxLength = 120; + CommissionRevenueLbl: Label 'Commission revenue', MaxLength = 120; + CommissionIncomeOnRealEstateTransactionsLbl: Label 'Commission income on real estate transactions', MaxLength = 120; + RentalRevenueLbl: Label 'Rental revenue', MaxLength = 120; + RealEstateRentalRevenueLbl: Label 'Real estate rental revenue', MaxLength = 120; + FilmRentalRevenueLbl: Label 'Film rental revenue', MaxLength = 120; + VehicleLeasingLbl: Label 'Vehicle leasing', MaxLength = 120; + FishingRevenueLbl: Label 'Fishing revenue', MaxLength = 120; + FishProductsLbl: Label 'Fish products', MaxLength = 120; + OtherMarineProductsLbl: Label 'Other marine products', MaxLength = 120; + FishingGrantsCreditsAndRebatesLbl: Label 'Fishing grants, credits and rebates', MaxLength = 120; + FishingSubsidiesLbl: Label 'Fishing subsidies', MaxLength = 120; + CompensationForLossOfFishingIncomeOrPropertyLbl: Label 'Compensation for loss of fishing income or property ', MaxLength = 120; + SharesmanIncomeLbl: Label 'Sharesman income', MaxLength = 120; + RealizedGainsLossesOnDisposalOfAssetsLbl: Label 'Realized gains / losses on disposal of assets', MaxLength = 120; + RealizedGainsLossesOnSaleOfInvestmentsLbl: Label 'Realized gains / losses on sale of investments', MaxLength = 120; + RealizedGainsLossesOnSaleOfResourcePropertiesLbl: Label 'Realized gains / losses on sale of resource properties', MaxLength = 120; + NpoAmountsReceivedLbl: Label 'NPO amounts received', MaxLength = 120; + MembershipFeesLbl: Label 'Membership fees', MaxLength = 120; + AssessmentsLbl: Label 'Assessments', MaxLength = 120; + GiftsLbl: Label 'Gifts', MaxLength = 120; + GrossSalesAndRevenuesFromOrganizationalActivitiesLbl: Label 'Gross sales and revenues from organizational activities', MaxLength = 120; + OtherRevenueLbl: Label 'Other revenue', MaxLength = 120; + ForeignExchangeGainsLossesLbl: Label 'Foreign exchange gains / losses', MaxLength = 120; + IncomeLossOfSubsidiariesAffiliatesLbl: Label 'Income / loss of subsidiaries / affiliates', MaxLength = 120; + IncomeLossOfOtherDivisionsLbl: Label 'Income / loss of other divisions', MaxLength = 120; + IncomeLossOfJointVenturesLbl: Label 'Income / loss of joint ventures', MaxLength = 120; + IncomeLossOfPartnershipsLbl: Label 'Income / loss of partnerships', MaxLength = 120; + RealizationOfDeferredRevenuesLbl: Label 'Realization of deferred revenues', MaxLength = 120; + RoyaltyIncomeOtherThanResourceLbl: Label 'Royalty income other than resource', MaxLength = 120; + AlbertaRoyaltyTaxCreditsLbl: Label 'Alberta royalty tax credits', MaxLength = 120; + ManagementAndAdministrationFeesLbl: Label 'Management and administration fees', MaxLength = 120; + TelecommunicationsRevenueLbl: Label 'Telecommunications revenue', MaxLength = 120; + ConsultingFeesLbl: Label 'Consulting fees', MaxLength = 120; + SubsidiesAndGrantsLbl: Label 'Subsidies and grants', MaxLength = 120; + SaleOfByProductsLbl: Label 'Sale of by-products', MaxLength = 120; + DepositServicesLbl: Label 'Deposit services', MaxLength = 120; + CreditServicesLbl: Label 'Credit services', MaxLength = 120; + CardServicesLbl: Label 'Card services', MaxLength = 120; + InsuranceRecoveriesLbl: Label 'Insurance recoveries', MaxLength = 120; + ExpenseRecoveriesLbl: Label 'Expense recoveries', MaxLength = 120; + BadDebtRecoveriesLbl: Label 'Bad debt recoveries', MaxLength = 120; + TotalRevenueLbl: Label 'Total revenue', MaxLength = 120; + OpeningInventoryLbl: Label 'Opening inventory', MaxLength = 120; + OpeningInventoryFinishedGoodsLbl: Label 'Opening inventory - finished goods', MaxLength = 120; + OpeningInventoryRawMaterialsLbl: Label 'Opening inventory - raw materials', MaxLength = 120; + OpeningInventoryGoodsInProcessLbl: Label 'Opening inventory - goods in process', MaxLength = 120; + PurchasesCostOfMaterialsLbl: Label 'Purchases / cost of materials', MaxLength = 120; + DirectWagesLbl: Label 'Direct wages', MaxLength = 120; + BenefitsOnDirectWagesLbl: Label 'Benefits on direct wages', MaxLength = 120; + TradesAndSubContractsLbl: Label 'Trades and sub-contracts', MaxLength = 120; + ProductionCostsOtherThanResourceLbl: Label 'Production costs other than resource', MaxLength = 120; + ResourceProductionCostsLbl: Label 'Resource production costs', MaxLength = 120; + PipelineOperationsLbl: Label 'Pipeline operations ', MaxLength = 120; + DrillingLbl: Label 'Drilling', MaxLength = 120; + SiteRestorationCostsLbl: Label 'Site restoration costs', MaxLength = 120; + GrossOverridingRoyaltyLbl: Label 'Gross overriding royalty', MaxLength = 120; + FreeholdRoyaltiesLbl: Label 'Freehold royalties', MaxLength = 120; + OtherProducingPropertiesRentalLbl: Label 'Other producing properties rental', MaxLength = 120; + ProspectGeologicalLbl: Label 'Prospect / geological', MaxLength = 120; + WellOperatingFuelAndEquipmentLbl: Label 'Well operating, fuel and equipment', MaxLength = 120; + WellAbandonmentAndDryHolesLbl: Label 'Well abandonment and dry holes', MaxLength = 120; + OtherLeaseRentalsLbl: Label 'Other lease rentals', MaxLength = 120; + ExplorationExpensesLbl: Label 'Exploration expenses', MaxLength = 120; + DevelopmentExpensesLbl: Label 'Development expenses', MaxLength = 120; + CrownChargesLbl: Label 'Crown charges', MaxLength = 120; + CrownRoyaltiesLbl: Label 'Crown royalties', MaxLength = 120; + CrownLeaseRentalsLbl: Label 'Crown lease rentals', MaxLength = 120; + FreeholdMineralTaxLbl: Label 'Freehold mineral tax', MaxLength = 120; + MiningTaxesLbl: Label 'Mining taxes', MaxLength = 120; + OilSandLeasesLbl: Label 'Oil sand leases', MaxLength = 120; + SaskatchewanResourceSurchargeLbl: Label 'Saskatchewan resource surcharge', MaxLength = 120; + OtherDirectCostsLbl: Label 'Other direct costs', MaxLength = 120; + EquipmentHireAndOperationLbl: Label 'Equipment hire and operation', MaxLength = 120; + LogYardLbl: Label 'Log yard', MaxLength = 120; + ForestryCostsLbl: Label 'Forestry costs', MaxLength = 120; + LoggingRoadCostsLbl: Label 'Logging road costs', MaxLength = 120; + StumpageCostsLbl: Label 'Stumpage costs', MaxLength = 120; + RoyaltyCostsLbl: Label 'Royalty costs', MaxLength = 120; + FreightInAndDutyLbl: Label 'Freight in and duty', MaxLength = 120; + InventoryWriteDownLbl: Label 'Inventory write down', MaxLength = 120; + DirectCostAmortizationOfTangibleAssetsLbl: Label 'Direct cost amortization of tangible assets', MaxLength = 120; + DirectCostAmortizationOfNaturalResourceAssetsLbl: Label 'Direct cost amortization of natural resource assets', MaxLength = 120; + OverheadExpensesAllocatedToCostOfSalesLbl: Label 'Overhead expenses allocated to cost of sales', MaxLength = 120; + ClosingInventoryLbl: Label 'Closing inventory', MaxLength = 120; + ClosingInventoryFinishedGoodsLbl: Label 'Closing inventory - finished goods', MaxLength = 120; + ClosingInventoryRawMaterialsLbl: Label 'Closing inventory - raw materials ', MaxLength = 120; + ClosingInventoryGoodsInProcessLbl: Label 'Closing inventory - goods in process ', MaxLength = 120; + CostOfSalesLbl: Label 'Cost of sales ', MaxLength = 120; + GrossProfitLossLbl: Label 'Gross profit / loss', MaxLength = 120; + AdvertisingAndPromotionLbl: Label 'Advertising and promotion', MaxLength = 120; + AdvertisingLbl: Label 'Advertising', MaxLength = 120; + DonationsLbl: Label 'Donations', MaxLength = 120; + MealsAndEntertainmentLbl: Label 'Meals and entertainment', MaxLength = 120; + PromotionLbl: Label 'Promotion', MaxLength = 120; + AmortizationOfIntangibleAssetsLbl: Label 'Amortization of intangible assets', MaxLength = 120; + BadDebtExpenseLbl: Label 'Bad debt expense', MaxLength = 120; + LoanLossesLbl: Label 'Loan losses', MaxLength = 120; + ProvisionForLoanLossesLbl: Label 'Provision for loan losses', MaxLength = 120; + EmployeeBenefitsLbl: Label 'Employee benefits', MaxLength = 120; + GroupInsuranceBenefitsLbl: Label 'Group insurance benefits', MaxLength = 120; + EmployeræsPortionOfEmployeeBenefitsLbl: Label 'EmployerÆs portion of employee benefits', MaxLength = 120; + ContributionsToDeferredIncomePlansLbl: Label 'Contributions to deferred income plans', MaxLength = 120; + AmortizationOfNaturalResourceAssetsLbl: Label 'Amortization of natural resource assets', MaxLength = 120; + AmortizationOfTangibleAssetsLbl: Label 'Amortization of tangible assets', MaxLength = 120; + InsuranceLbl: Label 'Insurance', MaxLength = 120; + LifeInsuranceOnExecutivesLbl: Label 'Life insurance on executives', MaxLength = 120; + InterestAndBankChargesLbl: Label 'Interest and bank charges', MaxLength = 120; + InterestOnShortTermDebtLbl: Label 'Interest on short term debt', MaxLength = 120; + InterestOnBondsAndDebenturesLbl: Label 'Interest on bonds and debentures', MaxLength = 120; + InterestOnMortgagesLbl: Label 'Interest on mortgages', MaxLength = 120; + InterestOnLongTermDebtLbl: Label 'Interest on long term debt', MaxLength = 120; + BankChargesLbl: Label 'Bank charges', MaxLength = 120; + CreditCardChargesLbl: Label 'Credit card charges', MaxLength = 120; + CollectionAndCreditCostsLbl: Label 'Collection and credit costs', MaxLength = 120; + InterestPaidFinancialInstitutionsLbl: Label 'Interest paid (financial institutions)', MaxLength = 120; + InterestPaidOnDepositsLbl: Label 'Interest paid on deposits', MaxLength = 120; + InterestPaidOnBondsAndDebenturesLbl: Label 'Interest paid on bonds and debentures', MaxLength = 120; + BusinessTaxesLicensesAndMembershipsLbl: Label 'Business taxes, licenses and memberships', MaxLength = 120; + MembershipsLbl: Label 'Memberships', MaxLength = 120; + BusinessTaxesLbl: Label 'Business taxes', MaxLength = 120; + FranchiseFeesLbl: Label 'Franchise fees', MaxLength = 120; + GovernmentFeesLbl: Label 'Government fees', MaxLength = 120; + NewBrunswickTaxOnLargeCorporationsLbl: Label 'New Brunswick tax on large corporations', MaxLength = 120; + NovaScotiaTaxOnLargeCorporationsLbl: Label 'Nova Scotia tax on large corporations', MaxLength = 120; + OfficeExpensesLbl: Label 'Office expenses', MaxLength = 120; + OfficeStationeryAndSuppliesLbl: Label 'Office stationery and supplies', MaxLength = 120; + OfficeUtilitiesLbl: Label 'Office utilities', MaxLength = 120; + DataProcessingLbl: Label 'Data processing', MaxLength = 120; + ProfessionalFeesLbl: Label 'Professional fees', MaxLength = 120; + LegalFeesLbl: Label 'Legal fees', MaxLength = 120; + AccountingFeesLbl: Label 'Accounting fees', MaxLength = 120; + ArchitectFeesLbl: Label 'Architect fees', MaxLength = 120; + AppraisalFeesLbl: Label 'Appraisal fees', MaxLength = 120; + LaboratoryFeesLbl: Label 'Laboratory fees', MaxLength = 120; + MedicalFeesLbl: Label 'Medical fees', MaxLength = 120; + VeterinaryFeesLbl: Label 'Veterinary fees', MaxLength = 120; + BrokerageFeesLbl: Label 'Brokerage fees', MaxLength = 120; + TransferFeesLbl: Label 'Transfer fees', MaxLength = 120; + RefiningAndAssayLbl: Label 'Refining and assay', MaxLength = 120; + RegistrarAndTransferAgentFeesLbl: Label 'Registrar and transfer agent fees', MaxLength = 120; + RestructuringCostsLbl: Label 'Restructuring costs', MaxLength = 120; + SecurityAndExchangeCommissionFeesLbl: Label 'Security and exchange commission fees', MaxLength = 120; + TrainingExpenseLbl: Label 'Training expense', MaxLength = 120; + StudioAndRecordingLbl: Label 'Studio and recording', MaxLength = 120; + RentalLbl: Label 'Rental', MaxLength = 120; + RealEstateRentalLbl: Label 'Real estate rental', MaxLength = 120; + OccupancyCostsLbl: Label 'Occupancy costs', MaxLength = 120; + CondominiumFeesLbl: Label 'Condominium fees', MaxLength = 120; + EquipmentRentalLbl: Label 'Equipment rental', MaxLength = 120; + MotorVehicleRentalsLbl: Label 'Motor vehicle rentals', MaxLength = 120; + MoorageBoatLbl: Label 'Moorage (boat)', MaxLength = 120; + StorageLbl: Label 'Storage', MaxLength = 120; + QuotaRentalLbl: Label 'Quota rental', MaxLength = 120; + RepairsAndMaintenanceLbl: Label 'Repairs and maintenance', MaxLength = 120; + RepairsAndMaintenanceBuildingsLbl: Label 'Repairs and maintenance - buildings', MaxLength = 120; + RepairsAndMaintenanceVehiclesLbl: Label 'Repairs and maintenance - vehicles', MaxLength = 120; + RepairsAndMaintenanceBoatsLbl: Label 'Repairs and maintenance - boats', MaxLength = 120; + RepairsAndMaintenanceMachineryAndEquipmentLbl: Label 'Repairs and maintenance - machinery and equipment', MaxLength = 120; + OtherRepairsAndMaintenanceLbl: Label 'Other repairs and maintenance', MaxLength = 120; + MachineShopExpenseLbl: Label 'Machine shop expense', MaxLength = 120; + RoadCostsLbl: Label 'Road costs', MaxLength = 120; + SecurityLbl: Label 'Security', MaxLength = 120; + GarbageRemovalLbl: Label 'Garbage removal', MaxLength = 120; + SalariesAndWagesLbl: Label 'Salaries and wages', MaxLength = 120; + CommissionsLbl: Label 'Commissions', MaxLength = 120; + CrewShareLbl: Label 'Crew share', MaxLength = 120; + BonusesLbl: Label 'Bonuses', MaxLength = 120; + DirectorsFeesLbl: Label 'Directors fees', MaxLength = 120; + ManagementSalariesLbl: Label 'Management salaries', MaxLength = 120; + EmployeeSalariesLbl: Label 'Employee salaries', MaxLength = 120; + SubContractsLbl: Label 'Sub-contracts', MaxLength = 120; + SuppliesLbl: Label 'Supplies', MaxLength = 120; + ShopExpenseLbl: Label 'Shop expense', MaxLength = 120; + UniformsLbl: Label 'Uniforms', MaxLength = 120; + LaundryLbl: Label 'Laundry', MaxLength = 120; + FoodAndCateringLbl: Label 'Food and catering', MaxLength = 120; + FishingGearLbl: Label 'Fishing gear', MaxLength = 120; + NetsAndTrapsLbl: Label 'Nets and traps', MaxLength = 120; + SaltBaitAndIceLbl: Label 'Salt, bait, and ice', MaxLength = 120; + CampSuppliesLbl: Label 'Camp supplies', MaxLength = 120; + ComputerRelatedExpensesLbl: Label 'Computer-related expenses', MaxLength = 120; + UpgradeLbl: Label 'Upgrade', MaxLength = 120; + InternetLbl: Label 'Internet', MaxLength = 120; + PropertyTaxesLbl: Label 'Property taxes', MaxLength = 120; + TravelExpensesLbl: Label 'Travel expenses', MaxLength = 120; + MeetingsAndConventionsLbl: Label 'Meetings and conventions', MaxLength = 120; + UtilitiesLbl: Label 'Utilities', MaxLength = 120; + ElectricityLbl: Label 'Electricity', MaxLength = 120; + WaterLbl: Label 'Water', MaxLength = 120; + HeatLbl: Label 'Heat', MaxLength = 120; + FuelCostsLbl: Label 'Fuel costs', MaxLength = 120; + TelephoneAndTelecommunicationsLbl: Label 'Telephone and telecommunications', MaxLength = 120; + OtherExpensesLbl: Label 'Other expenses', MaxLength = 120; + CashOverShortLbl: Label 'Cash over / short', MaxLength = 120; + ReimbursementOfParentCompanyExpenseLbl: Label 'Reimbursement of parent company expense', MaxLength = 120; + SellingExpensesLbl: Label 'Selling expenses', MaxLength = 120; + ShippingAndWarehouseExpenseLbl: Label 'Shipping and warehouse expense', MaxLength = 120; + DeliveryFreightAndExpressLbl: Label 'Delivery, freight and express', MaxLength = 120; + WarrantyExpensesLbl: Label 'Warranty expenses', MaxLength = 120; + RoyaltyExpensesResidentLbl: Label 'Royalty expenses - resident', MaxLength = 120; + RoyaltyExpensesNonResidentLbl: Label 'Royalty expenses - non-resident', MaxLength = 120; + DumpingChargesLbl: Label 'Dumping charges', MaxLength = 120; + LandFillFeesLbl: Label 'Land fill fees', MaxLength = 120; + VehicleExpensesLbl: Label 'Vehicle expenses', MaxLength = 120; + WithholdingTaxesLbl: Label 'Withholding taxes', MaxLength = 120; + GeneralAndAdministrativeExpensesLbl: Label 'General and administrative expenses', MaxLength = 120; + InterdivisionalExpensesLbl: Label 'Interdivisional expenses', MaxLength = 120; + TotalOperatingExpensesLbl: Label 'Total operating expenses', MaxLength = 120; + TotalExpensesLbl: Label 'Total expenses', MaxLength = 120; + NetNonFarmingIncomeLbl: Label 'Net non-farming income', MaxLength = 120; + GrainsAndOilseedsLbl: Label 'Grains and oilseeds', MaxLength = 120; + WheatLbl: Label 'Wheat', MaxLength = 120; + OatsLbl: Label 'Oats', MaxLength = 120; + BarleyLbl: Label 'Barley', MaxLength = 120; + MixedGrainsLbl: Label 'Mixed grains', MaxLength = 120; + CornLbl: Label 'Corn', MaxLength = 120; + CanolaLbl: Label 'Canola', MaxLength = 120; + FlaxseedLbl: Label 'Flaxseed', MaxLength = 120; + SoyaBeansLbl: Label 'Soya beans', MaxLength = 120; + WheatBoardPaymentsLbl: Label 'Wheat board payments', MaxLength = 120; + OtherCropRevenuesLbl: Label 'Other crop revenues', MaxLength = 120; + FruitLbl: Label 'Fruit', MaxLength = 120; + PotatoesLbl: Label 'Potatoes', MaxLength = 120; + VegetablesLbl: Label 'Vegetables ', MaxLength = 120; + TobaccoLbl: Label 'Tobacco', MaxLength = 120; + GreenhouseAndNurseryProductsLbl: Label 'Greenhouse and nursery products', MaxLength = 120; + ForageCropsLbl: Label 'Forage crops', MaxLength = 120; + LivestockAndAnimalProductsRevenueLbl: Label 'Livestock and animal products revenue', MaxLength = 120; + CattleLbl: Label 'Cattle', MaxLength = 120; + SwineLbl: Label 'Swine', MaxLength = 120; + PoultryLbl: Label 'Poultry', MaxLength = 120; + SheepAndLambsLbl: Label 'Sheep and lambs', MaxLength = 120; + PregnantMareUrinePmuLbl: Label 'Pregnant mare urine (PMU)', MaxLength = 120; + MilkAndCreamExcludingDairySubsidiesLbl: Label 'Milk and cream (excluding dairy subsidies)', MaxLength = 120; + EggsForConsumptionLbl: Label 'Eggs for consumption', MaxLength = 120; + HatchingEggsLbl: Label 'Hatching eggs', MaxLength = 120; + AquacultureHatchingAndRaisingLbl: Label 'Aquaculture (hatching and raising)', MaxLength = 120; + HorsesBreedingAndMeatLbl: Label 'Horses (breeding and meat) ', MaxLength = 120; + OtherCommoditiesLbl: Label 'Other commodities', MaxLength = 120; + MapleProductsLbl: Label 'Maple products', MaxLength = 120; + ArtificialInseminationLbl: Label 'Artificial insemination', MaxLength = 120; + SemenProductionLbl: Label 'Semen production', MaxLength = 120; + EmbryoProductionLbl: Label 'Embryo production', MaxLength = 120; + ProgramPaymentRevenuesLbl: Label 'Program payment revenues', MaxLength = 120; + DairySubsidiesLbl: Label 'Dairy subsidies', MaxLength = 120; + CropInsuranceLbl: Label 'Crop insurance', MaxLength = 120; + NisaPaymentsLbl: Label 'NISA payments', MaxLength = 120; + DisasterAssistanceProgramPaymentsLbl: Label 'Disaster Assistance Program payments', MaxLength = 120; + CaisBenefitLbl: Label 'CAIS benefit', MaxLength = 120; + ProductionInsurancePremiumBenefitLbl: Label 'Production insurance premium benefit', MaxLength = 120; + RebatesLbl: Label 'Rebates', MaxLength = 120; + RebatesFuelLbl: Label 'Rebates - fuel', MaxLength = 120; + RebatesInterestLbl: Label 'Rebates - interest', MaxLength = 120; + RebatesPropertyTaxesLbl: Label 'Rebates - property taxes ', MaxLength = 120; + ResalesRebatesGstForNisaEligibleExpensesLbl: Label 'Resales, rebates, GST for NISA eligible expenses', MaxLength = 120; + RebatesGstForNisaNonEligibleExpensesLbl: Label 'Rebates, GST for NISA non-eligible expenses', MaxLength = 120; + OtherFarmRevenuesLossesLbl: Label 'Other farm revenues / losses', MaxLength = 120; + CustomOrContractWorkLbl: Label 'Custom or contract work', MaxLength = 120; + WoodSalesLbl: Label 'Wood sales', MaxLength = 120; + HorseRacingLbl: Label 'Horse racing', MaxLength = 120; + InsuranceProceedsLbl: Label 'Insurance proceeds', MaxLength = 120; + RentalIncomeLbl: Label 'Rental income', MaxLength = 120; + InterestIncomeLbl: Label 'Interest income', MaxLength = 120; + GainsLossesOnDisposalOfAssetsLbl: Label 'Gains / losses on disposal of assets', MaxLength = 120; + GravelLbl: Label 'Gravel', MaxLength = 120; + TruckingLbl: Label 'Trucking', MaxLength = 120; + ResaleOfCommoditiesPurchasedLbl: Label 'Resale of commodities purchased', MaxLength = 120; + LeasesGasOilWellSurfaceEtcLbl: Label 'Leases (gas, oil, well, surface, etc.)', MaxLength = 120; + MachineRentalsLbl: Label 'Machine rentals', MaxLength = 120; + FarmingPartnershipIncomeLossLbl: Label 'Farming partnership income / loss', MaxLength = 120; + FarmingJointVentureIncomeLossLbl: Label 'Farming joint venture income / loss', MaxLength = 120; + NonFarmingIncomeLbl: Label 'Non-farming income', MaxLength = 120; + TotalFarmRevenueLbl: Label 'Total farm revenue', MaxLength = 120; + CropExpensesLbl: Label 'Crop expenses', MaxLength = 120; + ContainersTwineAndBalingWireLbl: Label 'Containers, twine and baling wire', MaxLength = 120; + FertilizersAndLimeLbl: Label 'Fertilizers and lime', MaxLength = 120; + PesticidesLbl: Label 'Pesticides', MaxLength = 120; + SeedsAndPlantsLbl: Label 'Seeds and plants', MaxLength = 120; + InsurancePremiumsCropNisaAcsLbl: Label 'Insurance premiums (crop) NISA ACS', MaxLength = 120; + LivestockExpensesLbl: Label 'Livestock expenses', MaxLength = 120; + FeedSupplementsStrawAndBeddingLbl: Label 'Feed, supplements, straw and bedding', MaxLength = 120; + LivestockPurchasesLbl: Label 'Livestock purchases', MaxLength = 120; + VeterinaryFeesMedicineAndBreedingFeesLbl: Label 'Veterinary fees, medicine and breeding fees', MaxLength = 120; + MineralsAndSaltsLbl: Label 'Minerals and salts', MaxLength = 120; + MachineryExpensesLbl: Label 'Machinery expenses', MaxLength = 120; + MachineryInsuranceLbl: Label 'Machinery insurance', MaxLength = 120; + MachineryLicensesLbl: Label 'Machinery licenses', MaxLength = 120; + MachineryRepairsLbl: Label 'Machinery repairs', MaxLength = 120; + MachineryFuelLbl: Label 'Machinery fuel', MaxLength = 120; + MachineryLeaseLbl: Label 'Machinery lease', MaxLength = 120; + GeneralFarmExpensesLbl: Label 'General farm expenses', MaxLength = 120; + AdvertisingMarketingCostsAndPromotionLbl: Label 'Advertising, marketing costs and promotion', MaxLength = 120; + BadDebtLbl: Label 'Bad debt', MaxLength = 120; + BenefitsRelatedToEmployeeSalariesLbl: Label 'Benefits related to employee salaries', MaxLength = 120; + BuildingRepairsAndMaintenanceLbl: Label 'Building repairs and maintenance', MaxLength = 120; + ClearingLevellingAndDrainingLandLbl: Label 'Clearing, levelling and draining land', MaxLength = 120; + CropInsuranceRevenueProtectionProgramAndStabilizationPremiumsLbl: Label 'Crop insurance, Revenue Protection Program and stabilization premiums', MaxLength = 120; + FenceRepairsAndMaintenanceLbl: Label 'Fence repairs and maintenance', MaxLength = 120; + FreightAndTruckingLbl: Label 'Freight and trucking', MaxLength = 120; + HeatingFuelAndCuringFuelLbl: Label 'Heating fuel and curing fuel', MaxLength = 120; + InsuranceProgramOverpaymentRecaptureLbl: Label 'Insurance program overpayment recapture', MaxLength = 120; + OtherInsurancePremiumsLbl: Label 'Other insurance premiums', MaxLength = 120; + MarketingBoardFeesLbl: Label 'Marketing board fees', MaxLength = 120; + MembershipsSubscriptionFeesLbl: Label 'Memberships / subscription fees', MaxLength = 120; + RentLandAndBuildingsLbl: Label 'Rent - land and buildings', MaxLength = 120; + RentMachineryLbl: Label 'Rent - machinery', MaxLength = 120; + OtherRentalExpensesLbl: Label 'Other rental expenses', MaxLength = 120; + SalariesAndWagesOtherThanSpouseOrDependantsLbl: Label 'Salaries and wages other than spouse or dependants', MaxLength = 120; + SalariesAndWagesPaidToDependantsLbl: Label 'Salaries and wages paid to dependants', MaxLength = 120; + SellingCostsLbl: Label 'Selling costs', MaxLength = 120; + MotorVehicleExpensesLbl: Label 'Motor vehicle expenses', MaxLength = 120; + SoilTestingLbl: Label 'Soil testing', MaxLength = 120; + StorageDryingLbl: Label 'Storage / drying', MaxLength = 120; + LicensesPermitsLbl: Label 'Licenses / permits', MaxLength = 120; + TelephoneLbl: Label 'Telephone', MaxLength = 120; + QuotaRentalTobaccoDairyLbl: Label 'Quota rental (tobacco, dairy)', MaxLength = 120; + PurchasesOfCommoditiesResoldLbl: Label 'Purchases of commodities resold', MaxLength = 120; + SalariesAndWagesPaidToSpouseLbl: Label 'Salaries and wages paid to spouse', MaxLength = 120; + MotorVehicleInterestAndLeasingCostsLbl: Label 'Motor vehicle interest and leasing costs ', MaxLength = 120; + PreparedFeedLbl: Label 'Prepared feed', MaxLength = 120; + CustomFeedLbl: Label 'Custom feed', MaxLength = 120; + AmortizationOfMilkQuotaLbl: Label 'Amortization of milk quota', MaxLength = 120; + CapitalBusinessTaxesLbl: Label 'Capital / business taxes', MaxLength = 120; + CommissionsAndLeviesLbl: Label 'Commissions and levies', MaxLength = 120; + NonFarmingExpensesLbl: Label 'Non-farming expenses', MaxLength = 120; + NetInventoryAdjustmentLbl: Label 'Net inventory adjustment', MaxLength = 120; + TotalFarmExpensesLbl: Label 'Total farm expenses', MaxLength = 120; + NetFarmIncomeLbl: Label 'Net farm income', MaxLength = 120; + NetIncomeLossBeforeTaxesAndExtraordinaryItemsLbl: Label 'Net income/loss before taxes and extraordinary items ', MaxLength = 120; + ExtraordinaryItemSLbl: Label 'Extraordinary item(s)', MaxLength = 120; + LegalSettlementsLbl: Label 'Legal settlements', MaxLength = 120; + UnrealizedGainsLossesLbl: Label 'Unrealized gains / losses', MaxLength = 120; + UnusualItemsLbl: Label 'Unusual items', MaxLength = 120; + CurrentIncomeTaxesLbl: Label 'Current income taxes', MaxLength = 120; + FutureDeferredIncomeTaxProvisionLbl: Label 'Future (deferred) income tax provision', MaxLength = 120; + NetIncomeLossAfterTaxesAndExtraordinaryItemsLbl: Label 'Net income / loss after taxes and extraordinary items', MaxLength = 120; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAResource.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAResource.Codeunit.al new file mode 100644 index 0000000000..73bac841a4 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCAResource.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 27065 "Create CA Resource" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //TODO- Post Code Hard coded. + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeOnInsert', '', false, false)] + local procedure OnInsertRecord(var Resource: Record Resource; var IsHandled: Boolean) + var + CreateResource: Codeunit "Create Resource"; + begin + case Resource."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Resource, TorontoLbl, 116, 127.6, 232, 154, 'M5K 1E7', '', ''); + CreateResource.Lina(): + ValidateRecordFields(Resource, LondonLbl, 139, 152.9, 278, 185, 'GB-N16 34Z', '', ''); + CreateResource.Marty(): + ValidateRecordFields(Resource, TorontoLbl, 104, 114.4, 208, 139, 'M5K 1E7', '', ''); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; UnitPrice: Decimal; ProfitPercentage: Decimal; PostCode: Code[20]; County: Code[30]; CountryRegionCode: Code[10]) + begin + Resource.Validate("Country/Region Code", CountryRegionCode); + Resource.Validate("Post Code", PostCode); + Resource.Validate(County, County); + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Unit Price", UnitPrice); + end; + + var + TorontoLbl: Label 'Toronto', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxArea.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxArea.Codeunit.al new file mode 100644 index 0000000000..5c6163c4ea --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxArea.Codeunit.al @@ -0,0 +1,145 @@ +codeunit 27019 "Create CA Tax Area" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + TaxArea: Record "Tax Area"; + ContosoCATax: Codeunit "Contoso CA Tax"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoCATax.InsertTaxArea(Alberta(), AlbertaLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(BritishColumbia(), BritishColumbiaLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(Manitoba(), ManitobaLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(NewBrunswick(), NewBrunswickLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(NewfoundlandandLabrador(), NewfoundlandandLabradorLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(NovaScotia(), NovaScotiaLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(NorthWestTerritories(), NorthWestTerritoriesLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(Nunavut(), NunavutLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(Ontario(), OntarioLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(PrinceEdwardIsland(), PrinceEdwardIslandLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(Quebec(), QuebecLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(Saskatchewan(), SaskatchewanLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + ContosoCATax.InsertTaxArea(Yukon(), YukonLbl, TaxArea."Country/Region"::CA, TaxArea."Round Tax"::"To Nearest"); + + ContosoCATax.InsertTaxAreaTranslation(BritishColumbia(), CreateLanguage.FRC(), BCTaxAreaTranslationLbl); + ContosoCATax.InsertTaxAreaTranslation(NewBrunswick(), CreateLanguage.FRC(), NBTaxAreaTranslationLbl); + ContosoCATax.InsertTaxAreaTranslation(NewfoundlandandLabrador(), CreateLanguage.FRC(), NLTaxAreaTranslationLbl); + ContosoCATax.InsertTaxAreaTranslation(NovaScotia(), CreateLanguage.FRC(), NSTaxAreaTranslationLbl); + ContosoCATax.InsertTaxAreaTranslation(NorthWestTerritories(), CreateLanguage.FRC(), NTTaxAreaTranslationLbl); + ContosoCATax.InsertTaxAreaTranslation(PrinceEdwardIsland(), CreateLanguage.FRC(), PETaxAreaTranslationLbl); + ContosoCATax.InsertTaxAreaTranslation(Quebec(), CreateLanguage.FRC(), QCTaxAreaTranslationLbl); + + UpdateTaxAreaOnCompanyInformation(Ontario()); + end; + + local procedure UpdateTaxAreaOnCompanyInformation(TaxAreaCode: Code[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate("Tax Area Code", TaxAreaCode); + CompanyInformation.Modify(true); + end; + + procedure Alberta(): Code[20] + begin + exit(AlbertaTok); + end; + + procedure BritishColumbia(): Code[20] + begin + exit(BritishColumbiaTok); + end; + + procedure Manitoba(): Code[20] + begin + exit(ManitobaTok); + end; + + procedure NewBrunswick(): Code[20] + begin + exit(NewBrunswickTok); + end; + + procedure NewfoundlandandLabrador(): Code[20] + begin + exit(NewfoundlandandLabradorTok); + end; + + procedure NovaScotia(): Code[20] + begin + exit(NovaScotiaTok); + end; + + procedure NorthWestTerritories(): Code[20] + begin + exit(NorthWestTerritoriesTok); + end; + + procedure Nunavut(): Code[20] + begin + exit(NunavutTok); + end; + + procedure Ontario(): Code[20] + begin + exit(OntarioTok); + end; + + procedure PrinceEdwardIsland(): Code[20] + begin + exit(PrinceEdwardIslandTok); + end; + + procedure Quebec(): Code[20] + begin + exit(QuebecTok); + end; + + procedure Saskatchewan(): Code[20] + begin + exit(SaskatchewanTok); + end; + + procedure Yukon(): Code[20] + begin + exit(YukonTok); + end; + + var + AlbertaTok: Label 'AB', MaxLength = 20; + BritishColumbiaTok: Label 'BC', MaxLength = 20; + ManitobaTok: Label 'MB', MaxLength = 20; + NewBrunswickTok: Label 'NB', MaxLength = 20; + NewfoundlandandLabradorTok: Label 'NL', MaxLength = 20; + NovaScotiaTok: Label 'NS', MaxLength = 20; + NorthWestTerritoriesTok: Label 'NT', MaxLength = 20; + NunavutTok: Label 'NU', MaxLength = 20; + OntarioTok: Label 'ON', MaxLength = 20; + PrinceEdwardIslandTok: Label 'PE', MaxLength = 20; + QuebecTok: Label 'QC', MaxLength = 20; + SaskatchewanTok: Label 'SK', MaxLength = 20; + YukonTok: Label 'YK', MaxLength = 20; + AlbertaLbl: Label 'Alberta', MaxLength = 100; + BritishColumbiaLbl: Label 'British Columbia', MaxLength = 100; + ManitobaLbl: Label 'Manitoba', MaxLength = 100; + NewBrunswickLbl: Label 'New Brunswick', MaxLength = 100; + NewfoundlandandLabradorLbl: Label 'Newfoundland and Labrador', MaxLength = 100; + NovaScotiaLbl: Label 'Nova Scotia', MaxLength = 100; + NorthWestTerritoriesLbl: Label 'North West Territories', MaxLength = 100; + NunavutLbl: Label 'Nunavut', MaxLength = 100; + OntarioLbl: Label 'Ontario', MaxLength = 100; + PrinceEdwardIslandLbl: Label 'Prince Edward Island', MaxLength = 100; + QuebecLbl: Label 'Quebec', MaxLength = 100; + SaskatchewanLbl: Label 'Saskatchewan', MaxLength = 100; + YukonLbl: Label 'Yukon', MaxLength = 100; + BCTaxAreaTranslationLbl: Label 'Colombie-Britannique', MaxLength = 100; + NBTaxAreaTranslationLbl: Label 'Nouveau-Brunswick', MaxLength = 100; + NLTaxAreaTranslationLbl: Label 'Terre-Neuve-et-Labrador', MaxLength = 100; + NSTaxAreaTranslationLbl: Label 'Nouvelle-Écosse', MaxLength = 100; + NTTaxAreaTranslationLbl: Label 'Territoires du Nord-Ouest', MaxLength = 100; + PETaxAreaTranslationLbl: Label 'ÃŽle-du-Prince-Édouard', MaxLength = 100; + QCTaxAreaTranslationLbl: Label 'Québec', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxAreaLine.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxAreaLine.Codeunit.al new file mode 100644 index 0000000000..b6c717c910 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxAreaLine.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 27051 "Create CA Tax Area Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCATax: Codeunit "Contoso CA Tax"; + CreateCATaxArea: Codeunit "Create CA Tax Area"; + CreateCATaxJurisdiction: Codeunit "Create CA Tax Jurisdiction"; + begin + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Alberta(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.BritishColumbia(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.BritishColumbia(), CreateCATaxJurisdiction.ProvinceofBritishColumbiaPST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Manitoba(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Manitoba(), CreateCATaxJurisdiction.ProvinceofManitobaPST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.NewBrunswick(), CreateCATaxJurisdiction.ProvinceofNewBrunswickHST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.NewfoundlandandLabrador(), CreateCATaxJurisdiction.ProvinceofNewfoundlandandLabradorHST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.NovaScotia(), CreateCATaxJurisdiction.ProvinceofNovaScotiaHST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.NorthWestTerritories(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Nunavut(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Ontario(), CreateCATaxJurisdiction.ProvinceofOntarioHST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.PrinceEdwardIsland(), CreateCATaxJurisdiction.ProvinceofPrinceEdwardIslandHST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Quebec(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Quebec(), CreateCATaxJurisdiction.ProvinceofQuebecQST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Saskatchewan(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Saskatchewan(), CreateCATaxJurisdiction.ProvinceofSaskatchewanPST()); + ContosoCATax.InsertTaxAreaLine(CreateCATaxArea.Yukon(), CreateCATaxJurisdiction.GovernmentofCanadaGST()); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxDetail.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxDetail.Codeunit.al new file mode 100644 index 0000000000..f5401495b0 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxDetail.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 27050 "Create CA Tax Detail" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + TaxDetail: Record "Tax Detail"; + ContosoCATax: Codeunit "Contoso CA Tax"; + CreateCATaxGroup: Codeunit "Create CA Tax Group"; + CreateCATaxJurisdiction: Codeunit "Create CA Tax Jurisdiction"; + ContosoUtilities: Codeunit "Contoso Utilities"; + begin + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.GovernmentofCanadaGST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 5); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.GovernmentofCanadaGST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.GovernmentofCanadaGST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 5); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofBritishColumbiaPST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 7); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofBritishColumbiaPST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofBritishColumbiaPST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 7); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofManitobaPST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 7); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofManitobaPST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofManitobaPST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 7); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNewBrunswickHST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNewBrunswickHST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNewBrunswickHST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNewfoundlandandLabradorHST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNewfoundlandandLabradorHST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNewfoundlandandLabradorHST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNovaScotiaHST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNovaScotiaHST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofNovaScotiaHST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofOntarioHST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 13); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofOntarioHST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofOntarioHST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 13); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofPrinceEdwardIslandHST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofPrinceEdwardIslandHST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofPrinceEdwardIslandHST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 15); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofQuebecQST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 9.975); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofQuebecQST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofQuebecQST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 9.975); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofSaskatchewanPST(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 6); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofSaskatchewanPST(), CreateCATaxGroup.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 0); + ContosoCATax.InsertTaxDetail(CreateCATaxJurisdiction.ProvinceofSaskatchewanPST(), CreateCATaxGroup.Taxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(18920101D), 6); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxGroup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxGroup.Codeunit.al new file mode 100644 index 0000000000..81486af6e4 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxGroup.Codeunit.al @@ -0,0 +1,263 @@ +codeunit 27011 "Create CA Tax Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoCATax: Codeunit "Contoso CA Tax"; + CreateResource: Codeunit "Create Resource"; + begin + ContosoCATax.SetOverwriteData(true); + ContosoCATax.InsertTaxGroup(Labor(), LaborLbl); + ContosoCATax.InsertTaxGroup(NonTaxable(), NonTaxableLbl); + ContosoCATax.InsertTaxGroup(Taxable(), TaxableLbl); + ContosoCATax.SetOverwriteData(false); + + UpdateTaxGroupOnResource(CreateResource.Katherine(), Labor()); + UpdateTaxGroupOnResource(CreateResource.Lina(), Labor()); + UpdateTaxGroupOnResource(CreateResource.Marty(), Labor()); + UpdateTaxGroupOnResource(CreateResource.Terry(), Labor()); + end; + + procedure UpdateTaxGroupOnGL() + var + CreateGLAccount: Codeunit "Create G/L Account"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + begin + UpdateTaxGroupOnGLAccount(CreateGLAccount.Cash(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Bonds(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ResaleItems(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ResaleItemsInterim(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CostofResaleSoldInterim(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.FinishedGoods(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.FinishedGoodsInterim(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RawMaterials(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RawMaterialsInterim(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CostofRawMatSoldInterim(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PrimoInventory(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.WIPJobSales(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InvoicedJobSales(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.WIPJobCosts(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.AccruedJobCosts(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Vehicles(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.AccumDepreciationVehicles(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.OperatingEquipment(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.AccumDeprOperEquip(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.LandandBuildings(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RevolvingCredit(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.VendorsDomestic(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.VendorsForeign(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InvAdjmtInterimRawMat(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InvAdjmtInterimRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PayrollTaxesPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.VacationCompensationPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DividendsfortheFiscalYear(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CorporateTaxesPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.LongTermBankLoans(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Mortgage(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DeferredTaxes(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CapitalStock(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RetainedEarnings(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.SalesRetailDom(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.SalesRetailExport(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobSalesAppliedRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobSalesAdjmtRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.SalesRawMaterialsDom(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.SalesRawMaterialsExport(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobSalesAdjmtRawMat(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.SalesResourcesDom(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.SalesResourcesExport(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobSalesAdjmtResources(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.SalesOtherJobExpenses(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobSales(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CustomersDomestic(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InterestonBankBalances(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PmtDiscReceivedDecreases(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PaymentDiscountsReceived(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InvoiceRounding(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ApplicationRounding(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PaymentToleranceReceived(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PmtTolReceivedDecreases(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ConsultingFeesDom(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.FeesandChargesRecDom(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DiscountGranted(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobCosts(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CostofResourcesUsed(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobCostAdjmtResources(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobCostAppliedResources(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PurchRawMaterialsDom(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PurchRawMaterialsExport(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DiscReceivedRawMaterials(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DeliveryExpensesRawMat(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InventoryAdjmtRawMat(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobCostAdjmtRawMaterials(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CostofRawMaterialsSold(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PurchRetailDom(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PurchRetailExport(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DiscReceivedRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InventoryAdjmtRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DeliveryExpensesRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobCostAppliedRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobCostAdjmtRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CostofRetailSold(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PaymentDiscountsGranted(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Advertising(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.EntertainmentandPR(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Travel(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DeliveryExpenses(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Wages(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Salaries(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RetirementPlanContributions(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.VacationCompensation(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PayrollTaxes(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.GasolineandMotorOil(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RegistrationFees(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RepairsandMaintenance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Software(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ConsultantServices(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.OtherComputerExpenses(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Cleaning(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ElectricityandHeating(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RepairsandMaintenance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.OfficeSupplies(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PhoneandFax(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Postage(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CashDiscrepancies(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.BadDebtExpenses(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.LegalandAccountingServices(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.OtherCostsofOperations(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DepreciationBuildings(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DepreciationEquipment(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.DepreciationVehicles(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InterestonRevolvingCredit(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InterestonBankLoans(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.MortgageInterest(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.FinanceChargestoVendors(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PmtDiscGrantedDecreases(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PaymentToleranceGranted(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PaymentDiscountsGranted(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.PmtTolGrantedDecreases(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.UnrealizedFXGains(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.UnrealizedFXLosses(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RealizedFXGains(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RealizedFXLosses(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.GAINSANDLOSSES(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CorporateTax(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ExtraordinaryIncome(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.ExtraordinaryExpenses(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.BankChecking(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.BankCurrenciesLCY(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.BankCurrenciesFCYUSD(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.BankOperationsCash(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.ShortTermInvestments(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CanadianTermDeposits(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.OtherMarketableSecurities(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.InterestAccruedOnInvestment(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.CustomersForeign(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.OtherReceivables(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.VendorPrepaymentsServices(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.VendorPrepaymentsRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.AllowanceForFinishedGoodsWriteOffs(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.WipAccountFinishedGoods(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.IntangibleAssets(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.AccAmortnOnIntangibles(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.DeferredRevenue(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CustomerPrepaymentsServices(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CustomerPrepaymentsRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.PrepaidServiceContracts(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.AccountsPayableEmployees(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.AccruedPayables(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.IncomeTaxPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.ProvincialSalesTax(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.QSTSalesTaxCollected(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.PurchaseTax(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.GSTHSTSalesTax(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.GSTHSTInputCredits(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.IncomeTaxAccrued(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.QuebecBeerTaxesAccrued(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.AccruedSalariesWages(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.FederalIncomeTaxExpense(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.ProvincialWithholdingPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.FICAPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.MedicarePayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.FUTAPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.SUTAPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.EmployeeBenefitsPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.EmploymentInsuranceEmployeeContrib(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.EmploymentInsuranceEmployerContrib(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CanadaPensionFundEmployeeContrib(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CanadaPensionFundEmployerContrib(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.QuebecPipPayableEmployee(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.GarnishmentPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.DeferralRevenue(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.ServiceContractSale(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CostOfCapacities(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.DirectCostAppliedCap(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.OverheadAppliedCap(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.PurchaseVarianceCap(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.JobCostAppliedRawMaterials(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.OverheadAppliedRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.PurchaseVarianceRetail(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.MaterialVariance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CapacityVariance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.SubcontractedVariance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.CapOverheadVariance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.MfgOverheadVariance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.HealthInsurance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.GroupLifeInsurance(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.WorkersCompensation(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.FourHounderedOneKContributions(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.Taxes(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.StateIncomeTax(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.RevaluationSurplusAdjustments(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.PaymentDiscountsGrantedCOGS(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.RepairsandMaintenanceExpense(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.AccumDepreciationBuildings(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.EmployeesPayable(), Taxable()); + UpdateTaxGroupOnGLAccount(CreateCAGLAccounts.Miscellaneous(), Taxable()); + end; + + local procedure UpdateTaxGroupOnResource(ResourceNo: Code[20]; TaxGroupCode: Code[20]) + var + Resource: Record Resource; + begin + Resource.Get(ResourceNo); + + Resource.Validate("Tax Group Code", TaxGroupCode); + Resource.Modify(true); + end; + + local procedure UpdateTaxGroupOnGLAccount(GLAccountNo: Code[20]; TaxGroupCode: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GlAccount.Get(GLAccountNo); + + GLAccount.Validate("Tax Group Code", TaxGroupCode); + GLAccount.Modify(true); + end; + + procedure Labor(): Code[20] + begin + exit(LaborTok); + end; + + procedure NonTaxable(): Code[20] + begin + exit(NonTaxableTok); + end; + + procedure Taxable(): Code[20] + begin + exit(TaxableTok); + end; + + var + LaborTok: Label 'LABOR', MaxLength = 20, Locked = true; + NonTaxableTok: Label 'NONTAXABLE', MaxLength = 20, Locked = true; + TaxableTok: Label 'TAXABLE', MaxLength = 20, Locked = true; + LaborLbl: Label 'Labor on Job', MaxLength = 100; + NonTaxableLbl: Label 'Non-taxable Goods and Services', MaxLength = 100; + TaxableLbl: Label 'Taxable Goods and Services', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxJurisdTransl.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxJurisdTransl.Codeunit.al new file mode 100644 index 0000000000..de2ed6577e --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxJurisdTransl.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 27048 "Create CA Tax Jurisd. Transl." +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoCATax: Codeunit "Contoso CA Tax"; + CreateLanguage: Codeunit "Create Language"; + CreateCATaxJurisdiction: Codeunit "Create CA Tax Jurisdiction"; + begin + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.GovernmentofCanadaGST(), CreateLanguage.FRC(), GovernmentofCanadaGSTLbl, TPSPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofBritishColumbiaPST(), CreateLanguage.FRC(), ProvinceofBritishColumbiaPSTLbl, TVPPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofManitobaPST(), CreateLanguage.FRC(), ProvinceofManitobaPSTLbl, TVPPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofNewBrunswickHST(), CreateLanguage.FRC(), ProvinceofNewBrunswickHSTLbl, TVHPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofNewfoundlandandLabradorHST(), CreateLanguage.FRC(), ProvinceofNewfoundlandandLabradorHSTLbl, TVHPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofNovaScotiaHST(), CreateLanguage.FRC(), ProvinceofNovaScotiaHSTLbl, TVHPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofOntarioHST(), CreateLanguage.FRC(), ProvinceofOntarioHSTLbl, TVHPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofPrinceEdwardIslandHST(), CreateLanguage.FRC(), ProvinceofPrinceEdwardIslandHSTLbl, TVHPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofQuebecQST(), CreateLanguage.FRC(), ProvinceofQuebecQSTLbl, TVQPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdictionTranslation(CreateCATaxJurisdiction.ProvinceofSaskatchewanPST(), CreateLanguage.FRC(), ProvinceofSaskatchewanPSTLbl, TVPPrintDescriptionLbl); + end; + + var + GovernmentofCanadaGSTLbl: Label 'Gouvernement du Canada TPS', MaxLength = 100; + ProvinceofBritishColumbiaPSTLbl: Label 'Province de la Colombie-Britannique TVP', MaxLength = 100; + ProvinceofManitobaPSTLbl: Label 'Province du Manitoba TVP', MaxLength = 100; + ProvinceofNewBrunswickHSTLbl: Label 'Province du Nouveau-Brunswick TVH', MaxLength = 100; + ProvinceofNewfoundlandandLabradorHSTLbl: Label 'Province de Terre-Neuve-et-Labrador TVH', MaxLength = 100; + ProvinceofNovaScotiaHSTLbl: Label 'Province de la Nouvelle-Écosse TVH', MaxLength = 100; + ProvinceofOntarioHSTLbl: Label 'Province de l''Ontario TVH', MaxLength = 100; + ProvinceofPrinceEdwardIslandHSTLbl: Label 'Province de l''ÃŽle-du-Prince-Édouard TVH', MaxLength = 100; + ProvinceofQuebecQSTLbl: Label 'Province de Québec TVQ', MaxLength = 100; + ProvinceofSaskatchewanPSTLbl: Label 'Province de la Saskatchewan TVP', MaxLength = 100; + TPSPrintDescriptionLbl: Label 'TPS', MaxLength = 30; + TVPPrintDescriptionLbl: Label 'TVP', MaxLength = 30; + TVHPrintDescriptionLbl: Label 'TVH', MaxLength = 30; + TVQPrintDescriptionLbl: Label 'TVQ', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxJurisdiction.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxJurisdiction.Codeunit.al new file mode 100644 index 0000000000..5e5ff8529c --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxJurisdiction.Codeunit.al @@ -0,0 +1,98 @@ +codeunit 27052 "Create CA Tax Jurisdiction" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + TaxJurisdiction: Record "Tax Jurisdiction"; + ContosoCATax: Codeunit "Contoso CA Tax"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + begin + ContosoCATax.InsertTaxJurisdiction(GovernmentofCanadaGST(), GovernmentofCanadaGSTLbl, CreateCAGLAccounts.GSTHSTSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), GovernmentofCanadaGSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 1, GSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofBritishColumbiaPST(), ProvinceofBritishColumbiaPSTLbl, CreateCAGLAccounts.ProvincialSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), ProvinceofBritishColumbiaPSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 2, PSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofManitobaPST(), ProvinceofManitobaPSTLbl, CreateCAGLAccounts.ProvincialSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), ProvinceofManitobaPSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 3, PSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofNewBrunswickHST(), ProvinceofNewBrunswickHSTLbl, CreateCAGLAccounts.GSTHSTSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), GovernmentofCanadaGSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 4, HSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofNewfoundlandandLabradorHST(), ProvinceofNewfoundlandandLabradorHSTLbl, CreateCAGLAccounts.GSTHSTSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), GovernmentofCanadaGSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 5, HSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofNovaScotiaHST(), ProvinceofNovaScotiaHSTLbl, CreateCAGLAccounts.GSTHSTSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), GovernmentofCanadaGSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 6, HSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofOntarioHST(), ProvinceofOntarioHSTLbl, CreateCAGLAccounts.GSTHSTSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), GovernmentofCanadaGSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 7, HSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofPrinceEdwardIslandHST(), ProvinceofPrinceEdwardIslandHSTLbl, CreateCAGLAccounts.GSTHSTSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), GovernmentofCanadaGSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 8, HSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofQuebecQST(), ProvinceofQuebecQSTLbl, CreateCAGLAccounts.QSTSalesTaxCollected(), CreateCAGLAccounts.GSTHSTInputCredits(), ProvinceofQuebecQSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 9, QSTPrintDescriptionLbl); + ContosoCATax.InsertTaxJurisdiction(ProvinceofSaskatchewanPST(), ProvinceofSaskatchewanPSTLbl, CreateCAGLAccounts.ProvincialSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), ProvinceofSaskatchewanPSTTok, CreateCAGLAccounts.GSTHSTInputCredits(), TaxJurisdiction."Country/Region"::CA, 10, PSTPrintDescriptionLbl); + end; + + procedure GovernmentofCanadaGST(): Code[10] + begin + exit(GovernmentofCanadaGSTTok); + end; + + procedure ProvinceofBritishColumbiaPST(): Code[10] + begin + exit(ProvinceofBritishColumbiaPSTTok); + end; + + procedure ProvinceofManitobaPST(): Code[10] + begin + exit(ProvinceofManitobaPSTTok); + end; + + procedure ProvinceofNewBrunswickHST(): Code[10] + begin + exit(ProvinceofNewBrunswickHSTTok); + end; + + procedure ProvinceofNewfoundlandandLabradorHST(): Code[10] + begin + exit(ProvinceofNewfoundlandandLabradorHSTTok); + end; + + procedure ProvinceofNovaScotiaHST(): Code[10] + begin + exit(ProvinceofNovaScotiaHSTTok); + end; + + procedure ProvinceofOntarioHST(): Code[10] + begin + exit(ProvinceofOntarioHSTTok); + end; + + procedure ProvinceofPrinceEdwardIslandHST(): Code[10] + begin + exit(ProvinceofPrinceEdwardIslandHSTTok); + end; + + procedure ProvinceofQuebecQST(): Code[10] + begin + exit(ProvinceofQuebecQSTTok); + end; + + procedure ProvinceofSaskatchewanPST(): Code[10] + begin + exit(ProvinceofSaskatchewanPSTTok); + end; + + var + GovernmentofCanadaGSTTok: Label 'CA', MaxLength = 10; + ProvinceofBritishColumbiaPSTTok: Label 'CABC', MaxLength = 10; + ProvinceofManitobaPSTTok: Label 'CAMB', MaxLength = 10; + ProvinceofNewBrunswickHSTTok: Label 'CANB', MaxLength = 10; + ProvinceofNewfoundlandandLabradorHSTTok: Label 'CANL', MaxLength = 10; + ProvinceofNovaScotiaHSTTok: Label 'CANS', MaxLength = 10; + ProvinceofOntarioHSTTok: Label 'CAON', MaxLength = 10; + ProvinceofPrinceEdwardIslandHSTTok: Label 'CAPE', MaxLength = 10; + ProvinceofQuebecQSTTok: Label 'CAQC', MaxLength = 10; + ProvinceofSaskatchewanPSTTok: Label 'CASK', MaxLength = 10; + GovernmentofCanadaGSTLbl: Label 'Government of Canada GST', MaxLength = 100; + ProvinceofBritishColumbiaPSTLbl: Label 'Province of British Columbia PST', MaxLength = 100; + ProvinceofManitobaPSTLbl: Label 'Province of Manitoba PST', MaxLength = 100; + ProvinceofNewBrunswickHSTLbl: Label 'Province of New Brunswick HST', MaxLength = 100; + ProvinceofNewfoundlandandLabradorHSTLbl: Label 'Province of Newfoundland and Labrador HST', MaxLength = 100; + ProvinceofNovaScotiaHSTLbl: Label 'Province of Nova Scotia HST', MaxLength = 100; + ProvinceofOntarioHSTLbl: Label 'Province of Ontario HST', MaxLength = 100; + ProvinceofPrinceEdwardIslandHSTLbl: Label 'Province of Prince Edward Island HST', MaxLength = 100; + ProvinceofQuebecQSTLbl: Label 'Province of Quebec QST', MaxLength = 100; + ProvinceofSaskatchewanPSTLbl: Label 'Province of Saskatchewan PST', MaxLength = 100; + GSTPrintDescriptionLbl: Label 'GST', MaxLength = 30; + PSTPrintDescriptionLbl: Label 'PST', MaxLength = 30; + HSTPrintDescriptionLbl: Label 'HST', MaxLength = 30; + QSTPrintDescriptionLbl: Label 'QST', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxSetup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxSetup.Codeunit.al new file mode 100644 index 0000000000..ad249e31a3 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Finance/2.Master Data/CreateCATaxSetup.Codeunit.al @@ -0,0 +1,14 @@ +codeunit 27049 "Create CA Tax Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCATax: Codeunit "Contoso CA Tax"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + CreateCATaxGroup: Codeunit "Create CA Tax Group"; + begin + ContosoCATax.InsertTaxSetup(true, CreateCATaxGroup.NonTaxable(), CreateCAGLAccounts.ProvincialSalesTax(), CreateCAGLAccounts.GSTHSTInputCredits(), CreateCAGLAccounts.GSTHSTInputCredits()); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCACompanyInformation.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCACompanyInformation.Codeunit.al new file mode 100644 index 0000000000..d9fdf0d811 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCACompanyInformation.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 27018 "Create CA Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //TODO: Post Code hardcoded. + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + var + CompanyInformation: Record "Company Information"; + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + CompanyInformation.Get(); + + CompanyInformation.Validate(Address, YoungStreetLbl); + CompanyInformation.Validate("Address 2", ''); + // CompanyInformation.Validate("Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Validate("Post Code", 'M5E 1G5'); + CompanyInformation.Validate(City, TorontoLbl); + CompanyInformation.Validate(County, OntarioLbl); + CompanyInformation.Validate("Phone No.", '+1 425 555 0100'); + CompanyInformation.Validate("Fax No.", '+1 425 555 0101'); + CompanyInformation.Validate("Ship-to Address", YoungStreetLbl); + CompanyInformation.Validate("Ship-to Address 2", ''); + // CompanyInformation.Validate("Ship-to Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Validate("Ship-to Post Code", 'M5E 1G5'); + CompanyInformation.Validate("Ship-to City", TorontoLbl); + CompanyInformation.Validate("Ship-to County", OntarioLbl); + CompanyInformation.Validate("VAT Registration No.", ''); + CompanyInformation.Modify(true); + end; + + var + YoungStreetLbl: Label '220 Yonge St', MaxLength = 100, Locked = true; + TorontoLbl: Label 'Toronto', MaxLength = 30, Locked = true; + OntarioLbl: Label 'Ontario', MaxLength = 30, Locked = true; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCACountryRegionTrans.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCACountryRegionTrans.Codeunit.al new file mode 100644 index 0000000000..bacdff892a --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCACountryRegionTrans.Codeunit.al @@ -0,0 +1,147 @@ +codeunit 27078 "Create CA CountryRegion Trans." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCATranslation: Codeunit "Contoso CA Translation"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.AE(), CreateLanguage.FRC(), AENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.AT(), CreateLanguage.FRC(), ATNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.AU(), CreateLanguage.FRC(), AUNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.BE(), CreateLanguage.FRC(), BENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.BG(), CreateLanguage.FRC(), BGNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.BN(), CreateLanguage.FRC(), BNNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.BR(), CreateLanguage.FRC(), BRNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.CA(), CreateLanguage.FRC(), CANameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.CH(), CreateLanguage.FRC(), CHNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.CN(), CreateLanguage.FRC(), CNNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.CY(), CreateLanguage.FRC(), CYNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.CZ(), CreateLanguage.FRC(), CZNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.DE(), CreateLanguage.FRC(), DENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.DK(), CreateLanguage.FRC(), DKNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.DZ(), CreateLanguage.FRC(), DZNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.EE(), CreateLanguage.FRC(), EENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.EL(), CreateLanguage.FRC(), ELNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.ES(), CreateLanguage.FRC(), ESNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.FI(), CreateLanguage.FRC(), FINameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.FJ(), CreateLanguage.FRC(), FJNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.FR(), CreateLanguage.FRC(), FRNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.GB(), CreateLanguage.FRC(), GBNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.HR(), CreateLanguage.FRC(), HRNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.HU(), CreateLanguage.FRC(), HUNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.ID(), CreateLanguage.FRC(), IDNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.IE(), CreateLanguage.FRC(), IENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.IND(), CreateLanguage.FRC(), INNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.IS(), CreateLanguage.FRC(), ISNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.IT(), CreateLanguage.FRC(), ITNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.JP(), CreateLanguage.FRC(), JPNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.KE(), CreateLanguage.FRC(), KENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.LT(), CreateLanguage.FRC(), LTNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.LU(), CreateLanguage.FRC(), LUNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.LV(), CreateLanguage.FRC(), LVNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.MA(), CreateLanguage.FRC(), MANameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.ME(), CreateLanguage.FRC(), MENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.MT(), CreateLanguage.FRC(), MTNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.MX(), CreateLanguage.FRC(), MXNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.MY(), CreateLanguage.FRC(), MYNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.MZ(), CreateLanguage.FRC(), MZNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.NG(), CreateLanguage.FRC(), NGNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.NL(), CreateLanguage.FRC(), NLNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.NO(), CreateLanguage.FRC(), NONameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.NZ(), CreateLanguage.FRC(), NZNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.PH(), CreateLanguage.FRC(), PHNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.PL(), CreateLanguage.FRC(), PLNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.PT(), CreateLanguage.FRC(), PTNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.RO(), CreateLanguage.FRC(), RONameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.RS(), CreateLanguage.FRC(), RSNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.RU(), CreateLanguage.FRC(), RUNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.SA(), CreateLanguage.FRC(), SANameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.SB(), CreateLanguage.FRC(), SBNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.SE(), CreateLanguage.FRC(), SENameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.SG(), CreateLanguage.FRC(), SGNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.SI(), CreateLanguage.FRC(), SINameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.SK(), CreateLanguage.FRC(), SKNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.SZ(), CreateLanguage.FRC(), SZNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.TH(), CreateLanguage.FRC(), THNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.TN(), CreateLanguage.FRC(), TNNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.TR(), CreateLanguage.FRC(), TRNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.TZ(), CreateLanguage.FRC(), TZNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.UG(), CreateLanguage.FRC(), UGNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.US(), CreateLanguage.FRC(), USNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.VU(), CreateLanguage.FRC(), VUNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.WS(), CreateLanguage.FRC(), WSNameLbl); + ContosoCATranslation.InsertCountryRegionTranslation(CreateCountryRegion.ZA(), CreateLanguage.FRC(), ZANameLbl); + end; + + var + AENameLbl: Label 'Emirats arabes unis', MaxLength = 50; + ATNameLbl: Label 'Autriche', MaxLength = 50; + AUNameLbl: Label 'Australie', MaxLength = 50; + BENameLbl: Label 'Belgique', MaxLength = 50; + BGNameLbl: Label 'Bulgarie', MaxLength = 50; + BNNameLbl: Label 'Brun´Š¢i Darussalam', MaxLength = 50; + BRNameLbl: Label 'Br´Š¢sil', MaxLength = 50; + CANameLbl: Label 'Canada', MaxLength = 50; + CHNameLbl: Label 'Suisse', MaxLength = 50; + CNNameLbl: Label 'Chine', MaxLength = 50; + CYNameLbl: Label 'Chypre', MaxLength = 50; + CZNameLbl: Label 'R´Š¢publique tch´Š¢que', MaxLength = 50; + DENameLbl: Label 'Allemagne', MaxLength = 50; + DKNameLbl: Label 'Danemark', MaxLength = 50; + DZNameLbl: Label 'Alg´Š¢rie', MaxLength = 50; + EENameLbl: Label 'Estonie', MaxLength = 50; + ELNameLbl: Label 'Gr´Š¢ce', MaxLength = 50; + ESNameLbl: Label 'Espagne', MaxLength = 50; + FINameLbl: Label 'Finlande', MaxLength = 50; + FJNameLbl: Label 'R´Š¢publique des ´Š¢les de Fidji', MaxLength = 50; + FRNameLbl: Label 'France', MaxLength = 50; + GBNameLbl: Label 'Royaume-Uni', MaxLength = 50; + HRNameLbl: Label 'Croatie', MaxLength = 50; + HUNameLbl: Label 'Hongrie', MaxLength = 50; + IDNameLbl: Label 'Indon´Š¢sie', MaxLength = 50; + IENameLbl: Label 'Irlande', MaxLength = 50; + INNameLbl: Label 'Inde', MaxLength = 50; + ISNameLbl: Label 'Islande', MaxLength = 50; + ITNameLbl: Label 'Italie', MaxLength = 50; + JPNameLbl: Label 'Japon', MaxLength = 50; + KENameLbl: Label 'Kenya', MaxLength = 50; + LTNameLbl: Label 'Lituanie', MaxLength = 50; + LUNameLbl: Label 'Luxembourg', MaxLength = 50; + LVNameLbl: Label 'Lettonie', MaxLength = 50; + MANameLbl: Label 'Maroc', MaxLength = 50; + MENameLbl: Label 'Mont´Š¢n´Š¢gro', MaxLength = 50; + MTNameLbl: Label 'Malte', MaxLength = 50; + MXNameLbl: Label 'Mexique', MaxLength = 50; + MYNameLbl: Label 'Malaisie', MaxLength = 50; + MZNameLbl: Label 'Mozambique', MaxLength = 50; + NGNameLbl: Label 'Nigeria', MaxLength = 50; + NLNameLbl: Label 'Pays-Bas', MaxLength = 50; + NONameLbl: Label 'Norv´Š¢ge', MaxLength = 50; + NZNameLbl: Label 'Nouvelle-Z´Š¢lande', MaxLength = 50; + PHNameLbl: Label 'Philippines', MaxLength = 50; + PLNameLbl: Label 'Pologne', MaxLength = 50; + PTNameLbl: Label 'Portugal', MaxLength = 50; + RONameLbl: Label 'Roumanie', MaxLength = 50; + RSNameLbl: Label 'Serbie', MaxLength = 50; + RUNameLbl: Label 'Russie', MaxLength = 50; + SANameLbl: Label 'Arabie Saoudite', MaxLength = 50; + SBNameLbl: Label '´Š¢les Salomon', MaxLength = 50; + SENameLbl: Label 'Su´Š¢de', MaxLength = 50; + SGNameLbl: Label 'Singapour', MaxLength = 50; + SINameLbl: Label 'Slov´Š¢nie', MaxLength = 50; + SKNameLbl: Label 'Slovaquie', MaxLength = 50; + SZNameLbl: Label 'Swaziland', MaxLength = 50; + THNameLbl: Label 'Tha´Š¢lande', MaxLength = 50; + TNNameLbl: Label 'Tunisie', MaxLength = 50; + TRNameLbl: Label 'Turquie', MaxLength = 50; + TZNameLbl: Label 'Tanzanie', MaxLength = 50; + UGNameLbl: Label 'Ouganda', MaxLength = 50; + USNameLbl: Label 'Etats-Unis', MaxLength = 50; + VUNameLbl: Label 'Vanuatu', MaxLength = 50; + WSNameLbl: Label '´Š¢tat ind´Š¢pendant du Samoa', MaxLength = 50; + ZANameLbl: Label 'Afrique du Sud', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCADataExchange.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCADataExchange.Codeunit.al new file mode 100644 index 0000000000..ff2abedbff --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCADataExchange.Codeunit.al @@ -0,0 +1,54 @@ +codeunit 27044 "Create CA Data Exchange" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + FolderNameLbl: Label 'PostingExchangeDefinitions', MaxLength = 100, Locked = true; + begin + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + BANKOFAMERICAPP() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CAEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CITIBANKPP() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + MXEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTCCD() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTIATDEFAULT() + '.xml'); + end; + + procedure BANKOFAMERICAPP(): Code[20] + begin + exit('BANKOFAMERICA-PP'); + end; + + procedure CAEFTDEFAULT(): Code[20] + begin + exit('CA EFT DEFAULT'); + end; + + procedure CITIBANKPP(): Code[20] + begin + exit('CITIBANK-PP'); + end; + + procedure MXEFTDEFAULT(): Code[20] + begin + exit('MX EFT DEFAULT'); + end; + + procedure USEFTCCD(): Code[20] + begin + exit('US EFT CCD'); + end; + + procedure USEFTDEFAULT(): Code[20] + begin + exit('US EFT DEFAULT'); + end; + + procedure USEFTIATDEFAULT(): Code[20] + begin + exit('US EFT IAT DEFAULT'); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCANoSeriesLine.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCANoSeriesLine.Codeunit.al new file mode 100644 index 0000000000..fd2e86a938 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCANoSeriesLine.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 27055 "Create CA No. Series Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"No. Series Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "No. Series Line") + var + CreateNoSeries: Codeunit "Create No. Series"; + begin + case Rec."Series Code" of + CreateNoSeries.SalesCreditMemo(): + ValidateRecordFields(Rec, 'S-CR1001', 'S-CR2999', 'S-CR2995', ''); + CreateNoSeries.PostedSalesCreditMemo(): + ValidateRecordFields(Rec, 'PS-CR104001', 'PS-CR105999', 'PS-CR105995', ''); + CreateNoSeries.FinanceChargeMemo(): + ValidateRecordFields(Rec, 'S-FIN1001', 'S-FIN2999', 'S-FIN2995', ''); + CreateNoSeries.IssuedFinanceChargeMemo(): + ValidateRecordFields(Rec, 'S-FIN106001', 'S-FIN107999', 'S-FIN107995', ''); + CreateNoSeries.SalesInvoice(): + ValidateRecordFields(Rec, 'S-INV102001', 'S-INV103999', 'S-INV103995', ''); + CreateNoSeries.PostedSalesInvoice(): + ValidateRecordFields(Rec, 'PS-INV103001', 'PS-INV104999', 'PS-INV104995', ''); + CreateNoSeries.SalesOrder(): + ValidateRecordFields(Rec, 'S-ORD101001', 'S-ORD102999', 'S-ORD102995', ''); + CreateNoSeries.SalesPriceList(): + ValidateRecordFields(Rec, 'S-PLS00001', 'S-PLS99999', '', ''); + CreateNoSeries.SalesQuote(): + ValidateRecordFields(Rec, 'S-QUO1001', 'S-QUO2999', 'S-QUO2995', ''); + CreateNoSeries.PostedSalesReceipt(): + ValidateRecordFields(Rec, 'S-RCPT107001', 'S-RCPT108999', 'S-RCPT108995', ''); + CreateNoSeries.Reminder(): + ValidateRecordFields(Rec, 'S-REM1001', 'S-REM2999', 'S-REM2995', ''); + CreateNoSeries.IssuedReminder(): + ValidateRecordFields(Rec, 'S-REM105001', 'S-REM106999', 'S-REM106995', ''); + CreateNoSeries.SalesReturnOrder(): + ValidateRecordFields(Rec, 'S-RETORD1001', 'S-RETORD2999', 'S-RETORD2995', ''); + CreateNoSeries.SalesShipment(): + ValidateRecordFields(Rec, 'S-SHPT102001', 'S-SHPT103999', 'S-SHPT103995', ''); + end; + end; + + procedure ValidateRecordFields(var NoSeriesLine: Record "No. Series Line"; StartingNo: Code[20]; EndingNo: Code[20]; WarningNo: Code[20]; LastNoUsed: Code[20]) + begin + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Ending No.", EndingNo); + NoSeriesLine.Validate("Warning No.", WarningNo); + NoSeriesLine.Validate("Last No. Used", LastNoUsed); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAPaymentTermTrans.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAPaymentTermTrans.Codeunit.al new file mode 100644 index 0000000000..fbce3fa194 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAPaymentTermTrans.Codeunit.al @@ -0,0 +1,81 @@ +codeunit 27080 "Create CA Payment Term Trans." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCATranslation: Codeunit "Contoso CA Translation"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS10(), CreateLanguage.ENC(), ENCPaymentTermsDAYS10DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS10(), CreateLanguage.ENU(), ENUPaymentTermsDAYS10DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS10(), CreateLanguage.FRC(), FRCPaymentTermsDAYS10DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS14(), CreateLanguage.ENC(), ENCPaymentTermsDAYS14DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS14(), CreateLanguage.ENU(), ENUPaymentTermsDAYS14DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS14(), CreateLanguage.FRC(), FRCPaymentTermsDAYS14DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS15(), CreateLanguage.ENC(), ENCPaymentTermsDAYS15DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS15(), CreateLanguage.ENU(), ENUPaymentTermsDAYS15DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS15(), CreateLanguage.FRC(), FRCPaymentTermsDAYS15DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsM8D(), CreateLanguage.ENC(), ENCPaymentTermsM8DDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsM8D(), CreateLanguage.ENU(), ENUPaymentTermsM8DDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsM8D(), CreateLanguage.FRC(), FRCPaymentTermsM8DDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS2(), CreateLanguage.ENC(), ENCPaymentTermsDAYS2DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS2(), CreateLanguage.ENU(), ENUPaymentTermsDAYS2DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS2(), CreateLanguage.FRC(), FRCPaymentTermsDAYS2DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS21(), CreateLanguage.ENC(), ENCPaymentTermsDAYS21DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS21(), CreateLanguage.ENU(), ENUPaymentTermsDAYS21DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS21(), CreateLanguage.FRC(), FRCPaymentTermsDAYS21DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS30(), CreateLanguage.ENC(), ENCPaymentTermsDAYS30DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS30(), CreateLanguage.ENU(), ENUPaymentTermsDAYS30DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS30(), CreateLanguage.FRC(), FRCPaymentTermsDAYS30DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS60(), CreateLanguage.ENC(), ENCPaymentTermsDAYS60DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS60(), CreateLanguage.ENU(), ENUPaymentTermsDAYS60DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS60(), CreateLanguage.FRC(), FRCPaymentTermsDAYS60DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS7(), CreateLanguage.ENC(), ENCPaymentTermsDAYS7DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS7(), CreateLanguage.ENU(), ENUPaymentTermsDAYS7DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsDAYS7(), CreateLanguage.FRC(), FRCPaymentTermsDAYS7DescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsCM(), CreateLanguage.ENC(), ENCPaymentTermsCMDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsCM(), CreateLanguage.ENU(), ENUPaymentTermsCMDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsCM(), CreateLanguage.FRC(), FRCPaymentTermsCMDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsCOD(), CreateLanguage.ENC(), ENCPaymentTermsCODDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsCOD(), CreateLanguage.ENU(), ENUPaymentTermsCODDescLbl); + ContosoCATranslation.InsertPaymentTermTranslation(CreatePaymentTerms.PaymentTermsCOD(), CreateLanguage.FRC(), FRCPaymentTermsCODDescLbl); + end; + + var + ENCPaymentTermsDAYS10DescLbl: Label 'Net 10 days', MaxLength = 100; + ENUPaymentTermsDAYS10DescLbl: Label 'Net 10 days', MaxLength = 100; + FRCPaymentTermsDAYS10DescLbl: Label 'Net 10 jours', MaxLength = 100; + ENCPaymentTermsDAYS14DescLbl: Label 'Net 14 days', MaxLength = 100; + ENUPaymentTermsDAYS14DescLbl: Label 'Net 14 days', MaxLength = 100; + FRCPaymentTermsDAYS14DescLbl: Label 'Net 14 jours', MaxLength = 100; + ENCPaymentTermsDAYS15DescLbl: Label 'Net 15 days', MaxLength = 100; + ENUPaymentTermsDAYS15DescLbl: Label 'Net 15 days', MaxLength = 100; + FRCPaymentTermsDAYS15DescLbl: Label 'Net 15 jours', MaxLength = 100; + ENCPaymentTermsM8DDescLbl: Label '1 Month/2% 8 days', MaxLength = 100; + ENUPaymentTermsM8DDescLbl: Label '1 Month/2% 8 days', MaxLength = 100; + FRCPaymentTermsM8DDescLbl: Label '1 Mois/2% 8 jours', MaxLength = 100; + ENCPaymentTermsDAYS2DescLbl: Label 'Net 2 days', MaxLength = 100; + ENUPaymentTermsDAYS2DescLbl: Label 'Net 2 days', MaxLength = 100; + FRCPaymentTermsDAYS2DescLbl: Label 'Net 2 jours', MaxLength = 100; + ENCPaymentTermsDAYS21DescLbl: Label 'Net 21 days', MaxLength = 100; + ENUPaymentTermsDAYS21DescLbl: Label 'Net 21 days', MaxLength = 100; + FRCPaymentTermsDAYS21DescLbl: Label 'Net 21 jours', MaxLength = 100; + ENCPaymentTermsDAYS30DescLbl: Label 'Net 30 days', MaxLength = 100; + ENUPaymentTermsDAYS30DescLbl: Label 'Net 30 days', MaxLength = 100; + FRCPaymentTermsDAYS30DescLbl: Label 'Net 30 jours', MaxLength = 100; + ENCPaymentTermsDAYS60DescLbl: Label 'Net 60 days', MaxLength = 100; + ENUPaymentTermsDAYS60DescLbl: Label 'Net 60 days', MaxLength = 100; + FRCPaymentTermsDAYS60DescLbl: Label 'Net 60 jours', MaxLength = 100; + ENCPaymentTermsDAYS7DescLbl: Label 'Net 7 days', MaxLength = 100; + ENUPaymentTermsDAYS7DescLbl: Label 'Net 7 days', MaxLength = 100; + FRCPaymentTermsDAYS7DescLbl: Label 'Net 7 jours', MaxLength = 100; + ENCPaymentTermsCMDescLbl: Label 'Current Month', MaxLength = 100; + ENUPaymentTermsCMDescLbl: Label 'Current Month', MaxLength = 100; + FRCPaymentTermsCMDescLbl: Label 'Mois en cours', MaxLength = 100; + ENCPaymentTermsCODDescLbl: Label 'Cash on delivery', MaxLength = 100; + ENUPaymentTermsCODDescLbl: Label 'Cash on delivery', MaxLength = 100; + FRCPaymentTermsCODDescLbl: Label 'Paiement … la livraison', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAPostCode.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAPostCode.Codeunit.al new file mode 100644 index 0000000000..8d92226c90 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAPostCode.Codeunit.al @@ -0,0 +1,101 @@ +codeunit 27046 "Create CA Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to update it later + + trigger OnRun() + var + CreatePostCode: Codeunit "Create Post Code"; + begin + CreatePostCode.InsertData('11010', 'New York', 'NEW YORK', 'US', 'NY', ''); + CreatePostCode.InsertData('27136', 'Colombia', 'COLOMBIA', 'US', 'SC', ''); + CreatePostCode.InsertData('31772', 'Atlanta', 'ATLANTA', 'US', 'GA', ''); + CreatePostCode.InsertData('35242', 'Birmingham', 'BIRMINGHAM', 'US', 'AL', ''); + CreatePostCode.InsertData('37125', 'Miami', 'MIAMI', 'US', 'FL', ''); + CreatePostCode.InsertData('61236', 'Chicago', 'CHICAGO', 'US', 'IL', ''); + CreatePostCode.InsertData('GB-B27 4KT', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B31 2AL', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B32 4TF', 'Sparkhill, Birmingham', 'SPARKHILL, BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B68 5TT', 'Bromsgrove', 'BROMSGROVE', 'GB', '', ''); + CreatePostCode.InsertData('GB-BA24 6KS', 'Bath', 'BATH', 'GB', '', ''); + CreatePostCode.InsertData('GB-BR1 2ES', 'Bromley', 'BROMLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-BS3 6KL', 'Bristol', 'BRISTOL', 'GB', '', ''); + CreatePostCode.InsertData('GB-CB3 7GG', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + CreatePostCode.InsertData('GB-CF22 1XU', 'Cardiff', 'CARDIFF', 'GB', '', ''); + CreatePostCode.InsertData('GB-CT6 21ND', 'Hythe', 'HYTHE', 'GB', '', ''); + CreatePostCode.InsertData('GB-CV6 1GY', 'Coventry', 'COVENTRY', 'GB', '', ''); + CreatePostCode.InsertData('GB-DA5 3EF', 'Sidcup', 'SIDCUP', 'GB', '', ''); + CreatePostCode.InsertData('GB-DY5 4DJ', 'Dudley', 'DUDLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-E12 5TG', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-EH16 8JS', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-GL1 9HM', 'Gloucester', 'GLOUCESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-GL78 5TT', 'Cheltenham', 'CHELTENHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-GU3 2SE', 'Guildford', 'GUILDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-GU7 5GT', 'Guildford', 'GUILDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-HG1 7YW', 'Ripon', 'RIPON', 'GB', '', ''); + CreatePostCode.InsertData('GB-HP43 2AY', 'Tring', 'TRING', 'GB', '', ''); + CreatePostCode.InsertData('GB-IB7 7VN', 'Gainsborough', 'GAINSBOROUGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-L18 6SA', 'Liverpool', 'LIVERPOOL', 'GB', '', ''); + CreatePostCode.InsertData('GB-LE16 7YH', 'Leicester', 'LEICESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-LL6 5GB', 'Rhyl', 'RHYL', 'GB', '', ''); + CreatePostCode.InsertData('GB-LN23 6GS', 'Lincoln', 'LINCOLN', 'GB', '', ''); + CreatePostCode.InsertData('GB-LU3 4FY', 'Luton', 'LUTON', 'GB', '', ''); + CreatePostCode.InsertData('GB-M61 2YG', 'Manchester', 'MANCHESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-ME5 6RL', 'Maidstone', 'MAIDSTONE', 'GB', '', ''); + CreatePostCode.InsertData('GB-MK21 7GG', 'Bletchley', 'BLETCHLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-MK41 5AE', 'Bedford', 'BEDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-MO2 4RT', 'Manchester', 'MANCHESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-N12 5XY', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-N16 34Z', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-NE21 3YG', 'Newcastle', 'NEWCASTLE', 'GB', '', ''); + CreatePostCode.InsertData('GB-NP5 6GH', 'Newport', 'NEWPORT', 'GB', '', ''); + CreatePostCode.InsertData('GB-OX16 0UA', 'Cheddington', 'CHEDDINGTON', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE17 4RN', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE21 3TG', 'Peterborough', 'PETERBOROUGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE23 5IK', 'Kings Lynn', 'KINGS LYNN', 'GB', '', ''); + CreatePostCode.InsertData('GB-PL14 5GB', 'Plymouth', 'PLYMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PO21 6HG', 'Southsea, Portsmouth', 'SOUTHSEA, PORTSMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PO7 2HI', 'Portsmouth', 'PORTSMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-SA1 2HS', 'Swansea', 'SWANSEA', 'GB', '', ''); + CreatePostCode.InsertData('GB-SA3 7HI', 'Stratford', 'STRATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-SK21 5DL', 'Macclesfield', 'MACCLESFIELD', 'GB', '', ''); + CreatePostCode.InsertData('GB-TA3 4FD', 'Newquay', 'NEWQUAY', 'GB', '', ''); + CreatePostCode.InsertData('GB-TN27 6YD', 'Ashford', 'ASHFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-TQ17 8HB', 'Brixham', 'BRIXHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-W1 3AL', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-W2 8HG', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-WC1 2GS', 'West End Lane', 'WEST END LANE', 'GB', '', ''); + CreatePostCode.InsertData('GB-WC1 3DG', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD1 6YG', 'Watford', 'WATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD2 4RG', 'Watford', 'WATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD6 8UY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD6 9HY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + CreatePostCode.InsertData('H3A 3H3', 'Montreal', 'MONTREAL', 'CA', 'QC', ''); + CreatePostCode.InsertData('K1P 1J9', 'Ottawa', 'OTTAWA', 'CA', 'ON', ''); + CreatePostCode.InsertData('L5B 2C9', 'Missisauga', 'MISSISAUGA', 'CA', 'ON', ''); + CreatePostCode.InsertData('L5N 8L9', 'Missisauga', 'MISSISAUGA', 'CA', 'ON', ''); + CreatePostCode.InsertData('L6J 3J3', 'Oakville', 'OAKVILLE', 'CA', 'ON', ''); + CreatePostCode.InsertData('M5B 2H1', 'Ottawa', 'OTTAWA', 'CA', 'ON', ''); + CreatePostCode.InsertData('M5E 1G5', 'Toronto', 'TORONTO', 'CA', 'ON', ''); + CreatePostCode.InsertData('M5K 1E7', 'Toronto', 'TORONTO', 'CA', 'ON', ''); + CreatePostCode.InsertData('M5N 2H1', 'Toronto', 'TORONTO', 'CA', 'ON', ''); + CreatePostCode.InsertData('M6A 3A1', 'Toronto', 'TORONTO', 'CA', 'ON', ''); + CreatePostCode.InsertData('N6B 1V7', 'London', 'LONDON', 'CA', 'ON', ''); + CreatePostCode.InsertData('P7A 4K8', 'Thunder Bay', 'THUNDER BAY', 'CA', 'ON', ''); + CreatePostCode.InsertData('P7B 5E2', 'Thunder Bay', 'THUNDER BAY', 'CA', 'ON', ''); + CreatePostCode.InsertData('R0M 0N0', 'Elkhorn', 'ELKHORN', 'CA', 'MB', ''); + CreatePostCode.InsertData('R3C 3Z3', 'Winnipeg', 'WINNIPEG', 'CA', 'MB', ''); + CreatePostCode.InsertData('T2H 0K8', 'Calgary', 'CALGARY', 'CA', 'AB', ''); + CreatePostCode.InsertData('T2P 0T1', 'Calgary', 'CALGARY', 'CA', 'AB', ''); + CreatePostCode.InsertData('T5J 4G8', 'Edmonton', 'EDMONTON', 'CA', 'AB', ''); + CreatePostCode.InsertData('T5T 4J2', 'Calgary', 'CALGARY', 'CA', 'AB', ''); + CreatePostCode.InsertData('V5H 4J2', 'Vancouver', 'VANCOUVER', 'CA', 'BC', ''); + CreatePostCode.InsertData('V6B 1C1', 'Vancouver', 'VANCOUVER', 'CA', 'BC', ''); + CreatePostCode.InsertData('V6E 4M3', 'Vancouver', 'VANCOUVER', 'CA', 'BC', ''); + CreatePostCode.InsertData('V7Y 1G5', 'Vancouver', 'VANCOUVER', 'CA', 'BC', ''); + CreatePostCode.InsertData('V7Y 1GS', 'Vancouver', 'VANCOUVER', 'CA', 'BC', ''); + CreatePostCode.InsertData('V7Y 1L1', 'Vancouver', 'VANCOUVER', 'CA', 'BC', ''); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAUnitOfMeasureTrans.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAUnitOfMeasureTrans.Codeunit.al new file mode 100644 index 0000000000..39bcc9bb82 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Foundation/1.Setup Data/CreateCAUnitOfMeasureTrans.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 27037 "Create CA UnitOfMeasureTrans." +{ + trigger OnRun() + var + CreateUnitofMeasure: Codeunit "Create Unit of Measure"; + ContosoCATranslation: Codeunit "Contoso CA Translation"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Box(), CreateLanguage.FRC(), BoxDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Can(), CreateLanguage.FRC(), CanDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Day(), CreateLanguage.FRC(), DayDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Hour(), CreateLanguage.FRC(), HourDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.KM(), CreateLanguage.FRC(), KmDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Miles(), CreateLanguage.FRC(), MilesDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Pack(), CreateLanguage.FRC(), PackDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Pallet(), CreateLanguage.FRC(), PalletDescriptionLbl); + ContosoCATranslation.InsertUnitofMeasureTranslation(CreateUnitofMeasure.Piece(), CreateLanguage.FRC(), PieceDescriptionLbl); + end; + + var + BoxDescriptionLbl: Label '', MaxLength = 50; + CanDescriptionLbl: Label 'Bidon', MaxLength = 50; + DayDescriptionLbl: Label 'Jour', MaxLength = 50; + HourDescriptionLbl: Label 'Heure', MaxLength = 50; + KmDescriptionLbl: Label 'Kilom?átre', MaxLength = 50; + MilesDescriptionLbl: Label 'Miles', MaxLength = 50; + PackDescriptionLbl: Label 'Paquet', MaxLength = 50; + PalletDescriptionLbl: Label 'Palette', MaxLength = 50; + PieceDescriptionLbl: Label 'Pi?áce', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/HumanResources/2.Master Data/CreateCAEmployee.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/HumanResources/2.Master Data/CreateCAEmployee.Codeunit.al new file mode 100644 index 0000000000..bd0834d8e8 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/HumanResources/2.Master Data/CreateCAEmployee.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 27024 "Create CA Employee" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoEmployee: Codeunit "Contoso Human Resources"; + CreateEmployee: Codeunit "Create Employee"; + begin + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.ManagingDirector(), 19731212D, 20010601D, FifthAvenueLbl, '', '6743', '4564-4564-7831', '4465-4899-4643', '', '1212637665', '4151746513235-45646'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.SalesManager(), 19790212D, 20040301D, WestchesterAvenueLbl, '', '1415', '1234-5678-9012', '0678-9012-3456', '', '1202696486', '3462345-235'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.ProductionManager(), 19670705D, 20010601D, WaltWhitmanRoadLbl, '', '4564', '1546-3124-4646', '6549-3216-7415', '', '1003569468', '541236-654'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.Designer(), 19760310D, 20100801D, ColumbusCircleLbl, '', '3545', '1234-6545-5649', '0678-1234-5466', '', '0708624564', '234654-631'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.Secretary(), 19790507D, 20010601D, CommonsWayLbl, '', '6571', '1234-1643-4384', '0678-2534-2013', '', '0712635465', '234654-631'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.ProductionAssistant(), 19820807D, 20010601D, DestinyUSADriveLbl, '', '4456', '1234-5464-5446', '0678-2135-4649', '', '0507473497', '346246546345-24535'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.InventoryManager(), 19831207D, 20061201D, RouteSouthLbl, '', '4653', '1234-6545-8799', '0678-8712-5466', '', '0705491679', '234654-631'); + end; + + var + FifthAvenueLbl: Label '677 Fifth Avenue', MaxLength = 100, Locked = true; + WestchesterAvenueLbl: Label '125 Westchester Avenue', MaxLength = 100, Locked = true; + ColumbusCircleLbl: Label '10 Columbus Circle', MaxLength = 100, Locked = true; + DestinyUSADriveLbl: Label '10344 Destiny USA Drive', MaxLength = 100, Locked = true; + WaltWhitmanRoadLbl: Label '160 Walt Whitman Road', MaxLength = 100, Locked = true; + CommonsWayLbl: Label '400 Commons Way', MaxLength = 100, Locked = true; + RouteSouthLbl: Label '3710 Route 9 South', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/1.Setup Data/CreateCAInvPostingGroup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/1.Setup Data/CreateCAInvPostingGroup.Codeunit.al new file mode 100644 index 0000000000..9e4b168218 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/1.Setup Data/CreateCAInvPostingGroup.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 27061 "Create CA Inv. Posting Group" +{ + + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertInventoryPostingGroup(RawMaterial(), RawMaterialsLbl); + ContosoPostingGroup.InsertInventoryPostingGroup(Finished(), FinishedItemsLbl); + end; + + procedure RawMaterial(): Code[20] + begin + exit(RawMaterialTok); + end; + + procedure Finished(): Code[20] + begin + exit(FinishedTok); + end; + + var + RawMaterialTok: Label 'RAW MAT', MaxLength = 20; + RawMaterialsLbl: Label 'Raw materials', MaxLength = 100; + FinishedTok: Label 'FINISHED', MaxLength = 20; + FinishedItemsLbl: Label 'Finished items', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/1.Setup Data/CreateCAItemJnlTemplate.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/1.Setup Data/CreateCAItemJnlTemplate.Codeunit.al new file mode 100644 index 0000000000..baeabc1aa9 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/1.Setup Data/CreateCAItemJnlTemplate.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 27058 "Create CA Item Jnl. Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Journal Template", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Item Journal Template") + var + CreateItemJournalTemplate: Codeunit "Create Item Journal Template"; + begin + case Rec.Name of + CreateItemJournalTemplate.ItemJournalTemplate(): + ValidateRecordFields(Rec, Report::"Item Register"); + end; + end; + + local procedure ValidateRecordFields(var ItemJournalTemplate: Record "Item Journal Template"; PostingReportID: Integer) + begin + ItemJournalTemplate.Validate("Posting Report ID", PostingReportID); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAInvPostingSetup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAInvPostingSetup.Codeunit.al new file mode 100644 index 0000000000..2fb69da784 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAInvPostingSetup.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 27060 "Create CA Inv. Posting Setup" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateLocation: Codeunit "Create Location"; + CreateCAInvPostingGroup: Codeunit "Create CA Inv. Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + begin + ContosoPostingSetup.InsertInventoryPostingSetup('', CreateCAInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateCAInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateCAInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateCAInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateCAInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), '', '', '', '', '', ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateCAInvPostingGroup.Finished(), CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsInterim(), '', '', '', '', '', ''); + + ContosoPostingSetup.InsertInventoryPostingSetup('', CreateCAInvPostingGroup.RawMaterial(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateCAInvPostingGroup.RawMaterial(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateCAInvPostingGroup.RawMaterial(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateCAInvPostingGroup.RawMaterial(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateCAInvPostingGroup.RawMaterial(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), '', '', '', '', '', ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateCAInvPostingGroup.RawMaterial(), CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsInterim(), '', '', '', '', '', ''); + + end; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Inventory Posting Setup") + var + CreateLocation: Codeunit "Create Location"; + CreateInventoryPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + begin + if Rec."Invt. Posting Group Code" = CreateInventoryPostingGroup.Resale() then + case Rec."Location Code" of + BlankLocationLbl: + ValidateRecordFields(Rec, CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + CreateLocation.EastLocation(): + ValidateRecordFields(Rec, CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + CreateLocation.MainLocation(): + ValidateRecordFields(Rec, CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + CreateLocation.WestLocation(): + ValidateRecordFields(Rec, CreateCAGLAccounts.WipAccountFinishedGoods(), CreateCAGLAccounts.MaterialVariance(), CreateCAGLAccounts.CapacityVariance(), CreateCAGLAccounts.SubcontractedVariance(), CreateCAGLAccounts.CapOverheadVariance(), CreateCAGLAccounts.MfgOverheadVariance()); + end; + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; WIPAccount: Code[20]; MaterialVarianceAccount: Code[20]; CapacityVarianceAccount: Code[20]; SubcontractedVarianceAccount: Code[20]; CapOverheadVarianceAccount: Code[20]; MfgOverheadVarianceAccount: Code[20]) + begin + InventoryPostingSetup.Validate("WIP Account", WIPAccount); + InventoryPostingSetup.Validate("Material Variance Account", MaterialVarianceAccount); + InventoryPostingSetup.Validate("Capacity Variance Account", CapacityVarianceAccount); + InventoryPostingSetup.Validate("Subcontracted Variance Account", SubcontractedVarianceAccount); + InventoryPostingSetup.Validate("Cap. Overhead Variance Account", CapOverheadVarianceAccount); + InventoryPostingSetup.Validate("Mfg. Overhead Variance Account", MfgOverheadVarianceAccount); + end; + + var + BlankLocationLbl: Label '', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAItem.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAItem.Codeunit.al new file mode 100644 index 0000000000..feebe6064f --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAItem.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 27057 "Create CA Item" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateCATaxGroup: Codeunit "Create CA Tax Group"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1503.4, 1172.7, CreateCATaxGroup.Taxable()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 289.6, 225.8, CreateCATaxGroup.Taxable()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 651.4, 508.1, CreateCATaxGroup.Taxable()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 285.5, 222.5, CreateCATaxGroup.Taxable()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 973.2, 759.3, CreateCATaxGroup.Taxable()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 283.6, 0, CreateCATaxGroup.Taxable()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 82.5, 64.4, CreateCATaxGroup.Taxable()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 351.2, 0, CreateCATaxGroup.Taxable()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 289.6, 225.8, CreateCATaxGroup.Taxable()); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 189, 0, CreateCATaxGroup.Taxable()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 289.6, 225.8, CreateCATaxGroup.Taxable()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 289.6, 225.8, CreateCATaxGroup.Taxable()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 351.2, 0, CreateCATaxGroup.Taxable()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 285.5, 222.5, CreateCATaxGroup.Taxable()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 513.5, 0, CreateCATaxGroup.Taxable()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 285.5, 222.5, CreateCATaxGroup.Taxable()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 285.5, 222.5, CreateCATaxGroup.Taxable()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 289.6, 225.8, CreateCATaxGroup.Taxable()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 2099.1, 1637.3, CreateCATaxGroup.Taxable()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 285.5, 222.5, CreateCATaxGroup.Taxable()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; TaxGroupCode: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("Tax Group Code", TaxGroupCode); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAItemCharge.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAItemCharge.Codeunit.al new file mode 100644 index 0000000000..71f784678e --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCAItemCharge.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 27059 "Create CA Item Charge" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Item Charge") + var + CreateItemCharge: Codeunit "Create Item Charge"; + CreateCATaxGroup: Codeunit "Create CA Tax Group"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(): + ValidateRecordFields(Rec, CreateCATaxGroup.Taxable()); + CreateItemCharge.PurchAllowance(): + ValidateRecordFields(Rec, CreateCATaxGroup.Taxable()); + CreateItemCharge.PurchFreight(): + ValidateRecordFields(Rec, CreateCATaxGroup.Taxable()); + CreateItemCharge.PurchRestock(): + ValidateRecordFields(Rec, CreateCATaxGroup.Taxable()); + CreateItemCharge.SaleAllowance(): + ValidateRecordFields(Rec, CreateCATaxGroup.Taxable()); + CreateItemCharge.SaleFreight(): + ValidateRecordFields(Rec, CreateCATaxGroup.Taxable()); + CreateItemCharge.SaleRestock(): + ValidateRecordFields(Rec, CreateCATaxGroup.Taxable()); + end; + end; + + local procedure ValidateRecordFields(var ItemCharge: Record "Item Charge"; TaxGroupCode: Code[20]) + begin + ItemCharge.Validate("Tax Group Code", TaxGroupCode); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCALocation.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCALocation.Codeunit.al new file mode 100644 index 0000000000..fb3fa5dc7f --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Inventory/2.Master Data/CreateCALocation.Codeunit.al @@ -0,0 +1,54 @@ +codeunit 27056 "Create CA Location" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Location) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateLocations: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocations.EastLocation(): + ValidateRecordFields(Rec, EastLocationAddressLbl, '', EastLocationCityLbl, EastLocationContactLbl, EastLocationPostCodeLbl, CreateCountryRegion.CA(), EastLocationCountyLbl, '', ''); + CreateLocations.MainLocation(): + ValidateRecordFields(Rec, MainLocationAddressLbl, '', MainLocationCityLbl, MainLocationContactLbl, MainLocationPostCodeLbl, CreateCountryRegion.CA(), MainLocationCountyLbl, '', ''); + CreateLocations.WestLocation(): + ValidateRecordFields(Rec, WestLocationAddressLbl, '', WestLocationCityLbl, WestLocationContactLbl, WestLocationPostCodeLbl, CreateCountryRegion.CA(), WestLocationCountyLbl, '', ''); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; Address: Text[100]; Address2: Text[50]; City: Text[30]; Contact: Text[100]; PostCode: Code[20]; CountryRegionCode: Code[10]; County: Text[30]; PhoneNo: Text[30]; FaxNo: Text[30]) + begin + + Location.Validate(Address, Address); + Location.Validate("Address 2", Address2); + Location.Validate("Phone No.", PhoneNo); + Location.Validate("Fax No.", FaxNo); + Location.Validate(Contact, Contact); + Location.Validate("Post Code", PostCode); + Location.Validate(City, City); + Location.Validate("Country/Region Code", CountryRegionCode); + Location.Validate(County, County); + end; + + var + EastLocationAddressLbl: Label '3401, Dufferin Street, Unit 305', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label '220 Yonge Street', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label '701 West Georgia Street', MaxLength = 100, Locked = true; + EastLocationCityLbl: Label 'Toronto', MaxLength = 30, Locked = true; + MainLocationCityLbl: Label 'Toronto', MaxLength = 30, Locked = true; + WestLocationCityLbl: Label 'Vancouver', MaxLength = 30, Locked = true; + EastLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; + MainLocationContactLbl: Label 'Carole Poland', MaxLength = 100; + WestLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + EastLocationPostCodeLbl: Label 'M6A 3A1', MaxLength = 20; + MainLocationPostCodeLbl: Label 'M5N 2H1', MaxLength = 20; + WestLocationPostCodeLbl: Label 'V7Y 1G5', MaxLength = 20; + EastLocationCountyLbl: Label 'ON', MaxLength = 30; + MainLocationCountyLbl: Label 'ON', MaxLength = 30; + WestLocationCountyLbl: Label 'BC', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/1.Setup Data/CreateCAPurchPayableSetup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/1.Setup Data/CreateCAPurchPayableSetup.Codeunit.al new file mode 100644 index 0000000000..ed5ccbff96 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/1.Setup Data/CreateCAPurchPayableSetup.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 27063 "Create CA Purch. Payable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePurchasesPayablesSetup(); + end; + + local procedure UpdatePurchasesPayablesSetup() + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + begin + PurchasesPayablesSetup.Get(); + + PurchasesPayablesSetup.Validate("Allow VAT Difference", true); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/1.Setup Data/CreateCAVendorPostingGroup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/1.Setup Data/CreateCAVendorPostingGroup.Codeunit.al new file mode 100644 index 0000000000..3007466054 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/1.Setup Data/CreateCAVendorPostingGroup.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 27066 "Create CA Vendor Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.InsertVendorPostingGroup(Employees(), CreateCAGLAccounts.AccountsPayableEmployees(), CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PaymentToleranceReceived(), EmployeesLbl, false); + end; + + procedure Employees(): Code[20] + begin + exit(EmployeesTok); + end; + + var + EmployeesLbl: Label 'Employees', MaxLength = 100; + EmployeesTok: Label 'EMPLOYEES', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAPurchDimValue.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAPurchDimValue.Codeunit.al new file mode 100644 index 0000000000..89f540c326 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAPurchDimValue.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 27083 "Create CA Purch. Dim. Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendBankAccount.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendBankAccount.Codeunit.al new file mode 100644 index 0000000000..b5d55c1225 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendBankAccount.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 27073 "Create CA Vend. Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Vendor Bank Account") + var + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateVendor: Codeunit "Create Vendor"; + CreateVendorBankAccount: Codeunit "Create Vendor Bank Account"; + begin + if (Rec."Vendor No." = CreateVendor.ExportFabrikam()) and (Rec.Code = CreateVendorBankAccount.ECA()) then + ValidateRecordField(Rec, CreateCountryRegion.GB()); + + if (Rec."Vendor No." = CreateVendor.DomesticFirstUp()) and (Rec.Code = CreateVendorBankAccount.ECA()) then + ValidateRecordField(Rec, CreateCountryRegion.GB()) + end; + + local procedure ValidateRecordField(var VendorBankAccount: Record "Vendor Bank Account"; CountryRegionCode: Code[10]) + begin + VendorBankAccount.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendor.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendor.Codeunit.al new file mode 100644 index 0000000000..546ae18f16 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendor.Codeunit.al @@ -0,0 +1,65 @@ +codeunit 27067 "Create CA Vendor" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //Todo - Hard Coded Post Code to be replace with Post Code Codeuint. + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeOnInsert', '', false, false)] + local procedure OnInsertRecord(var Vendor: Record Vendor; var IsHandled: Boolean) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendor: Codeunit "Create Vendor"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateCATaxArea: Codeunit "Create CA Tax Area"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + case Vendor."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Vendor, BayStreetSuiteLbl, '', TorontoCityLbl, '', CreateVendorPostingGroup.Domestic(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePostingGroup.DomesticPostingGroup(), 'M5K 1E7', ONLbl, CreateCATaxArea.Ontario(), true, '123456789'); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Vendor, StreetSuiteLbl, '', EdmontonCityLbl, '', CreateVendorPostingGroup.Domestic(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePostingGroup.DomesticPostingGroup(), 'T5J 4G8', ABLbl, CreateCATaxArea.Alberta(), true, ''); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Vendor, WGeorgiaStSuiteLbl, '', VancouverCityLbl, '', CreateVendorPostingGroup.Domestic(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePostingGroup.DomesticPostingGroup(), 'V6E 4M3', BCLbl, CreateCATaxArea.BritishColumbia(), true, ''); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Vendor, GranvilleStSuiteLbl, '', VancouverCityLbl, '', CreateVendorPostingGroup.Domestic(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePostingGroup.DomesticPostingGroup(), 'V7Y 1L1', BCLbl, CreateCATaxArea.BritishColumbia(), true, ''); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Vendor, McGillCollAvSuiteLbl, '', MontrealCityLbl, '', CreateVendorPostingGroup.Domestic(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePostingGroup.DomesticPostingGroup(), 'H3A 3H3', QCLbl, CreateCATaxArea.Quebec(), true, ''); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; Address: Text[100]; Address2: Text[50]; City: Text[30]; TerritoryCode: Code[10]; VendorPostingGroup: Code[20]; CountryOrRegionCode: Code[10]; GenBusPostingGroup: Code[20]; PostCode: Code[20]; County: Code[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; VATRegistrationNo: Code[20]) + begin + Vendor.Validate(Address, Address); + Vendor.Validate("Address 2", Address2); + Vendor.Validate(City, City); + Vendor.Validate("Vendor Posting Group", VendorPostingGroup); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("VAT Registration No.", VATRegistrationNo); + Vendor.Validate("Tax Area Code", TaxAreaCode); + Vendor.Validate("Tax Liable", TaxLiable); + Vendor.Validate("Country/Region Code", CountryOrRegionCode); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate(County, County); + end; + + var + BayStreetSuiteLbl: Label '222 Bay Street, Suite 1201', MaxLength = 100; + StreetSuiteLbl: Label '10155 - 102 Street, Suite 2100', MaxLength = 100; + WGeorgiaStSuiteLbl: Label '1111 W Georgia St., Suite 1100', MaxLength = 100; + GranvilleStSuiteLbl: Label '725 Granville St., Suite 700', MaxLength = 100; + McGillCollAvSuiteLbl: Label '2000 McGill Coll Av, Suite 450', MaxLength = 100; + TorontoCityLbl: Label 'Toronto', MaxLength = 30; + EdmontonCityLbl: Label 'Edmonton', MaxLength = 30; + VancouverCityLbl: Label 'Vancouver', MaxLength = 30; + MontrealCityLbl: Label 'Montreal', MaxLength = 30; + ONLbl: Label 'ON', MaxLength = 20; + ABLbl: Label 'AB', MaxLength = 20; + BCLbl: Label ' BC', MaxLength = 20; + QCLbl: Label 'QC', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendorTempl.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendorTempl.Codeunit.al new file mode 100644 index 0000000000..347e04966f --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/2.Master Data/CreateCAVendorTempl.Codeunit.al @@ -0,0 +1,16 @@ +codeunit 27072 "Create CA Vendor Templ." +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Vendor Templ.") + var + CreateVendorTemplate: Codeunit "Create Vendor Template"; + begin + if Rec.Code = CreateVendorTemplate.VendorPerson() then + Rec.Validate("Prices Including VAT", false); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/3.Transactions/CreateCAPurchaseLine.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/3.Transactions/CreateCAPurchaseLine.Codeunit.al new file mode 100644 index 0000000000..dfabd234ad --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Purchase/3.Transactions/CreateCAPurchaseLine.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 27053 "Create CA Purchase Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePurchaseLine(); + end; + + local procedure UpdatePurchaseLine() + var + PurchaseLine: Record "Purchase Line"; + Resource: Record Resource; + begin + PurchaseLine.SetRange(Type, PurchaseLine.Type::Resource); + if PurchaseLine.FindSet() then + repeat + Resource.Get(PurchaseLine."No."); + PurchaseLine.Validate("Direct Unit Cost", Resource."Direct Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/1.Setup Data/CreateCAReminderLevel.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/1.Setup Data/CreateCAReminderLevel.Codeunit.al new file mode 100644 index 0000000000..35d39b7bc7 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/1.Setup Data/CreateCAReminderLevel.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 27064 "Create CA Reminder Level" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + CreateReminderLevel: Codeunit "Create Reminder Level"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + CreateReminderLevel.DomesticLevel1(): + ValidateRecordFields(Rec, 11.6); + CreateReminderLevel.DomesticLevel2(): + ValidateRecordFields(Rec, 23.3); + CreateReminderLevel.DomesticLevel3(): + ValidateRecordFields(Rec, 34.6); + end; + end; + + local procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFeeLCY: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFeeLCY); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/1.Setup Data/CreateCASalesRecvSetup.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/1.Setup Data/CreateCASalesRecvSetup.Codeunit.al new file mode 100644 index 0000000000..9476092558 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/1.Setup Data/CreateCASalesRecvSetup.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 27062 "Create CA Sales Recv. Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + begin + SalesReceivablesSetup.Get(); + + SalesReceivablesSetup.Validate("Allow VAT Difference", true); + SalesReceivablesSetup.Modify(true); + end; +} diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustBankAccount.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustBankAccount.Codeunit.al new file mode 100644 index 0000000000..e65992549a --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustBankAccount.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 27070 "Create CA Cust. Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Customer Bank Account") + var + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateCustomer: Codeunit "Create Customer"; + CreateCustomerBankAccount: Codeunit "Create Customer Bank Account"; + begin + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) and (Rec.Code = CreateCustomerBankAccount.ECA()) then + ValidateRecordField(Rec, CreateCountryRegion.GB()); + + if (Rec."Customer No." = CreateCustomer.DomesticTreyResearch()) and (Rec.Code = CreateCustomerBankAccount.ECA()) then + ValidateRecordField(Rec, CreateCountryRegion.GB()) + end; + + local procedure ValidateRecordField(var CustomerBankAccount: Record "Customer Bank Account"; CountryRegionCode: Code[10]) + begin + CustomerBankAccount.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustomer.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustomer.Codeunit.al new file mode 100644 index 0000000000..3cd8f9a6ac --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustomer.Codeunit.al @@ -0,0 +1,72 @@ +codeunit 27081 "Create CA Customer" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsert', '', false, false)] + local procedure OnInsertRecord(var Customer: Record Customer) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + CreateReminderTerms: Codeunit "Create Reminder Terms"; + CreateCustomerPostinGroup: Codeunit "Create Customer Posting Group"; + CreateLanguage: Codeunit "Create Language"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateCATaxArea: Codeunit "Create CA Tax Area"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + case Customer."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Customer, AdatumCorporationAddressLbl, WinnipegLbl, '', CreateLanguage.ENC(), '', '', 'R3C 3Z3', MBLbl, '', CreateCATaxArea.Manitoba(), true, '', ''); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Customer, TreyResearchAddressLbl, MissisaugaLbl, '', CreateLanguage.ENC(), '', '', 'L5N 8L9', ONLbl, '', CreateCATaxArea.Ontario(), true, '', ''); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Customer, SchoolofArtAddressLbl, OttawaLbl, CreateCustomerPostinGroup.Domestic(), CreateLanguage.ENC(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePostingGroups.DomesticPostingGroup(), 'K1P 1J9', ONLbl, CreateReminderTerms.Domestic(), CreateCATaxArea.Ontario(), true, '', ''); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Customer, AlpineSkiHouseAddressLbl, CalgaryLbl, CreateCustomerPostinGroup.Domestic(), CreateLanguage.ENC(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePostingGroups.DomesticPostingGroup(), 'T2P 0T1', ABLbl, CreateReminderTerms.Domestic(), CreateCATaxArea.Alberta(), true, '', ''); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Customer, RelecloudAddressLbl, VancouverLbl, '', CreateLanguage.ENC(), '', '', 'V6B 1C1', BCLbl, '', CreateCATaxArea.BritishColumbia(), true, '', ''); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; Address: Text[100]; City: Text[30]; CustomerPostingGroup: Code[20]; LanguageCode: Code[10]; CountryOrRegionCode: Code[10]; GenBusPostingGroup: Code[20]; PostCode: Code[20]; County: Code[20]; ReminderTermsCode: Code[10]; TaxAreaCode: Code[20]; TaxLiable: Boolean; TerritoryCode: Code[10]; DocumentSendingProfile: Code[20]) + begin + Customer.Validate(Address, Address); + Customer.Validate("Address 2", ''); + Customer.Validate(City, City); + if CustomerPostingGroup <> '' then + Customer.Validate("Customer Posting Group", CustomerPostingGroup); + if GenBusPostingGroup <> '' then + Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Customer.Validate("Tax Area Code", TaxAreaCode); + Customer.Validate("Tax Liable", TaxLiable); + Customer.Validate("Document Sending Profile", DocumentSendingProfile); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Language Code", LanguageCode); + if ReminderTermsCode <> '' then + Customer.Validate("Reminder Terms Code", ReminderTermsCode); + if CountryOrRegionCode <> '' then + Customer.Validate("Country/Region Code", CountryOrRegionCode); + Customer.Validate("Post Code", PostCode); + Customer.Validate(County, County); + end; + + var + AdatumCorporationAddressLbl: Label '360 Main Street, Suite 1150', MaxLength = 100, Locked = true; + TreyResearchAddressLbl: Label '1950 Meadowvale Blvd.', MaxLength = 100, Locked = true; + SchoolofArtAddressLbl: Label '100 Queen Street, Suite 500', MaxLength = 100, Locked = true; + AlpineSkiHouseAddressLbl: Label '110 - 9th Avenue SW, 8th Floor', MaxLength = 100, Locked = true; + RelecloudAddressLbl: Label '858 Beatty Street, 6th Floor', MaxLength = 100, Locked = true; + WinnipegLbl: Label 'Winnipeg', MaxLength = 30; + MissisaugaLbl: Label 'Missisauga', MaxLength = 30; + OttawaLbl: Label 'Ottawa', MaxLength = 30; + CalgaryLbl: Label 'Calgary', MaxLength = 30; + VancouverLbl: Label 'Vancouver', MaxLength = 30; + MBLbl: Label 'MB', MaxLength = 20; + ONLbl: Label 'ON', MaxLength = 20; + ABLbl: Label 'AB', MaxLength = 20; + BCLbl: Label ' BC', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustomerTempl.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustomerTempl.Codeunit.al new file mode 100644 index 0000000000..993c8b57ab --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCACustomerTempl.Codeunit.al @@ -0,0 +1,16 @@ +codeunit 27071 "Create CA Customer Templ." +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Customer Templ.") + var + CreateCustomerTemplate: Codeunit "Create Customer Template"; + begin + if Rec.Code = CreateCustomerTemplate.CustomerPerson() then + Rec.Validate("Prices Including VAT", false) + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCASalesDimValue.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCASalesDimValue.Codeunit.al new file mode 100644 index 0000000000..452b87fc28 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCASalesDimValue.Codeunit.al @@ -0,0 +1,73 @@ +codeunit 27082 "Create CA Sales Dim. Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticAdatumCorporation(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticTreyResearch(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.ExportSchoolofArt(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.EUAlpineSkiHouse(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticRelecloud(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.ExportSchoolofArt()) then + case Rec."Dimension Code" of + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.EUAlpineSkiHouse()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCAShipToAddress.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCAShipToAddress.Codeunit.al new file mode 100644 index 0000000000..4cb2edc8c0 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/2.Master Data/CreateCAShipToAddress.Codeunit.al @@ -0,0 +1,81 @@ +codeunit 27027 "Create CA Ship-to Address" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //TODO: PostCode Later to be replaced from Labels + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticAdatumCorporation(), Calgary(), AdatumCorporationLbl, CalgaryAddressLbl, CalgaryCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'T2H 0K8'); + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticAdatumCorporation(), London(), AdatumCorporationLbl, EdmontonAddressLbl, CalgaryCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'T5T 4J2'); + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticTreyResearch(), Fleet(), TreyResearchLbl, TorontoAddressLbl, OttawaCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'M5B 2H1'); + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticTreyResearch(), TWYCross(), TreyResearchLbl, VancouverAddressLbl, VancouverCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'V7Y 1GS'); + + UpdateCountyOnShipToAddress(); + end; + + procedure Calgary(): Code[10] + begin + exit(CalgaryTok); + end; + + procedure London(): Code[10] + begin + exit(EdmontonTok); + end; + + procedure Fleet(): Code[10] + begin + exit(TorontoTok); + end; + + procedure TWYCross(): Code[10] + begin + exit(VancouverTok); + end; + + local procedure UpdateCountyOnShipToAddress() + var + CreateCustomer: Codeunit "Create Customer"; + begin + UpdateCounty(CreateCustomer.DomesticAdatumCorporation(), Calgary(), AbCountyLbl); + UpdateCounty(CreateCustomer.DomesticAdatumCorporation(), London(), AbCountyLbl); + UpdateCounty(CreateCustomer.DomesticTreyResearch(), Fleet(), OnCountyLbl); + UpdateCounty(CreateCustomer.DomesticTreyResearch(), TWYCross(), BcCountyLbl); + end; + + local procedure UpdateCounty(CustomerNo: Code[20]; Code: Code[20]; County: Text[30]) + var + ShiptoAddress: Record "Ship-to Address"; + begin + if ShiptoAddress.Get(CustomerNo, Code) then begin + ShiptoAddress.Validate(County, County); + ShiptoAddress.Modify(true); + end; + end; + + var + CalgaryTok: Label 'CALGARY', MaxLength = 10; + EdmontonTok: Label 'EDMONTON', MaxLength = 10; + TorontoTok: Label 'TORONTO', MaxLength = 10; + VancouverTok: Label 'VANCOUVER', MaxLength = 10; + AdatumCorporationLbl: Label 'Adatum Corporation', MaxLength = 100; + TreyResearchLbl: Label 'Trey Research', MaxLength = 100; + CalgaryAddressLbl: Label '6455 Macleod Trail SW', MaxLength = 100; + EdmontonAddressLbl: Label '1723, 8882 170 Street', MaxLength = 100; + TorontoAddressLbl: Label '220 Yonge Street', MaxLength = 100; + VancouverAddressLbl: Label '701 West Georgia Street', MaxLength = 100; + CalgaryCityLbl: Label 'Calgary', MaxLength = 30; + OttawaCityLbl: Label 'Ottawa', MaxLength = 30; + VancouverCityLbl: Label 'Vancouver', MaxLength = 30; + AbCountyLbl: Label 'AB', MaxLength = 30; + OnCountyLbl: Label 'ON', MaxLength = 30; + BcCountyLbl: Label 'BC', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/3.Transaction Data/CreateCASalesDocument.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/3.Transaction Data/CreateCASalesDocument.Codeunit.al new file mode 100644 index 0000000000..5a87d8d90b --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/Sales/3.Transaction Data/CreateCASalesDocument.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 27013 "Create CA Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + SalesHeader.Get(Enum::"Sales Document Type"::Invoice, SI102201Lbl); + ContosoSales.InsertSalesLineWithGLAccount(SalesHeader, CreateGLAccount.ConsultantServices(), 1, 970); + end; + + var + SI102201Lbl: Label 'S-INV102201', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/eServices/CAIncomingDocument.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/eServices/CAIncomingDocument.Codeunit.al new file mode 100644 index 0000000000..4ee4054863 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoData/eServices/CAIncomingDocument.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 27075 "CA Incoming Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + EServiceDemoDataSetup: Record "EService Demo Data Setup"; + begin + if (Module = Enum::"Contoso Demo Data Module"::"EService") and (ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data") then begin + EServiceDemoDataSetup.InitRecord(); + + EServiceDemoDataSetup.Validate("Invoice Field Name", IncomingDocDescriptionLbl); + EServiceDemoDataSetup.Modify(); + end; + end; + + var + IncomingDocDescriptionLbl: Label 'Fabrikam Invoice CA D365F', Locked = true; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/CAContosoLocalization.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/CAContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..a23c639baf --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/CAContosoLocalization.Codeunit.al @@ -0,0 +1,284 @@ +codeunit 27054 "CA Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + FoundationModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Finance: + FinanceModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Sales: + SalesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Bank: + BankModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::CRM: + CRMModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::"Human Resources Module": + HumanResourcesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Inventory: + InventoryModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Purchase: + PurchaseModule(ContosoDemoDataLevel); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CA Company Information"); + Codeunit.Run(Codeunit::"Create CA Post Code"); + Codeunit.Run(Codeunit::"Create CA CountryRegion Trans."); + Codeunit.Run(Codeunit::"Create CA Payment Term Trans."); + Codeunit.Run(Codeunit::"Create CA Data Exchange"); + Codeunit.Run(Codeunit::"Create CA UnitOfMeasureTrans."); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateCAGLAccounts: Codeunit "Create CA GL Accounts"; + CreateCATaxGroup: Codeunit "Create CA Tax Group"; + CreateCAVatPostingGroup: Codeunit "Create CA Vat Posting Group"; + CreateCAPostingGroup: Codeunit "Create CA Posting Group"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CA General Ledger Setup"); + Codeunit.Run(Codeunit::"Create CA Posting Group"); + CreateCAVatPostingGroup.UpdateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create CA Acc. Schedule Line"); + Codeunit.Run(Codeunit::"Create CA Column Layout Name"); + CreateCAGLAccounts.AddCategoriesToGLAccountsForMini(); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create CA Column Layout"); + Codeunit.Run(Codeunit::"Create CA Tax Group"); + Codeunit.Run(Codeunit::"Create CA Tax Jurisdiction"); + Codeunit.Run(Codeunit::"Create CA Tax Jurisd. Transl."); + Codeunit.Run(Codeunit::"Create CA Tax Setup"); + Codeunit.Run(Codeunit::"Create CA Tax Area"); + Codeunit.Run(Codeunit::"Create CA Tax Area Line"); + Codeunit.Run(Codeunit::"Create CA Tax Detail"); + CreateCATaxGroup.UpdateTaxGroupOnGL(); + CreateCAPostingGroup.UpdateGenPostingSetup(); + Codeunit.Run(Codeunit::"Create CA GIFI Code"); + end; + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create CA Sales Recv. Setup"); + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create CA Sales Dim. Value"); + Codeunit.Run(Codeunit::"Create CA Ship-to Address"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create CA Sales Document"); + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CA Pay. Method Trans."); + Codeunit.Run(Codeunit::"Create CA Bank Acc Posting Grp"); + Codeunit.Run(Codeunit::"Create CA Bank Exp/Imp Setup"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create CA Gen. Journal Line"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create CA Bank Acc. Reco.") + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CA Marketing Setup"); + Codeunit.Run(Codeunit::"Create CA Word Template"); + end; + end; + end; + + local procedure HumanResourcesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create CA Employee"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create CA Inv. Posting Group"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create CA Inv. Posting Setup"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CA Purch. Payable Setup"); + Codeunit.Run(Codeunit::"Create CA Vendor Posting Group"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create CA Purchase Line"); + end; + end; + + // Bind subscription for localization events + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateCANoSeriesLine: Codeunit "Create CA No. Series Line"; + CreateCAGenJournalTemplate: Codeunit "Create CA Gen Journal Template"; + CreateCACurrency: Codeunit "Create CA Currency"; + CreateCACurrExchRate: Codeunit "Create CA Curr. Exch. Rate"; + CreateCAAccScheduleLine: Codeunit "Create CA Acc. Schedule Line"; + CreateCAColumnLayout: Codeunit "Create CA Column Layout"; + CreateCAResource: Codeunit "Create CA Resource"; + CreateCABankAccount: Codeunit "Create CA Bank Account"; + CreateCAItemJnlTemplate: Codeunit "Create CA Item Jnl. Template"; + CreateCAItem: Codeunit "Create CA Item"; + CreateCAInvPostingSetup: Codeunit "Create CA Inv. Posting Setup"; + CreateCAItemCharge: Codeunit "Create CA Item Charge"; + CreateCALocation: Codeunit "Create CA Location"; + CreateCAPurchDimValue: Codeunit "Create CA Purch. Dim. Value"; + CreateCAVendor: Codeunit "Create CA Vendor"; + CreateCAReminderLevel: Codeunit "Create CA Reminder Level"; + CreateCACustomer: Codeunit "Create CA Customer"; + CreateCACustBankAccount: Codeunit "Create CA Cust. Bank Account"; + CreateCAVendBankAccount: Codeunit "Create CA Vend. Bank Account"; + CreateCASalesDimValue: Codeunit "Create CA Sales Dim. Value"; + CreateCACustomerTempl: Codeunit "Create CA Customer Templ."; + CreateCAVendorTempl: Codeunit "Create CA Vendor Templ."; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + BindSubscription(CreateCANoSeriesLine); + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCAGenJournalTemplate); + BindSubscription(CreateCACurrency); + BindSubscription(CreateCACurrExchRate); + BindSubscription(CreateCAAccScheduleLine); + BindSubscription(CreateCAColumnLayout); + BindSubscription(CreateCAResource); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCAReminderLevel); + BindSubscription(CreateCACustomer); + BindSubscription(CreateCACustBankAccount); + BindSubscription(CreateCASalesDimValue); + BindSubscription(CreateCACustomerTempl); + end; + Enum::"Contoso Demo Data Module"::Bank: + BindSubscription(CreateCABankAccount); + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateCAItemJnlTemplate); + BindSubscription(CreateCAItem); + BindSubscription(CreateCAItemCharge); + BindSubscription(CreateCALocation); + BindSubscription(CreateCAInvPostingSetup); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateCAVendor); + BindSubscription(CreateCAVendBankAccount); + BindSubscription(CreateCAPurchDimValue); + BindSubscription(CreateCAVendorTempl); + end; + end; + end; + + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateCANoSeriesLine: Codeunit "Create CA No. Series Line"; + CreateCAGenJournalTemplate: Codeunit "Create CA Gen Journal Template"; + CreateCACurrency: Codeunit "Create CA Currency"; + CreateCACurrExchRate: Codeunit "Create CA Curr. Exch. Rate"; + CreateCAAccScheduleLine: Codeunit "Create CA Acc. Schedule Line"; + CreateCAColumnLayout: Codeunit "Create CA Column Layout"; + CreateCAResource: Codeunit "Create CA Resource"; + CreateCABankAccount: Codeunit "Create CA Bank Account"; + CreateCAItemJnlTemplate: Codeunit "Create CA Item Jnl. Template"; + CreateCAItem: Codeunit "Create CA Item"; + CreateCAItemCharge: Codeunit "Create CA Item Charge"; + CreateCAInvPostingSetup: Codeunit "Create CA Inv. Posting Setup"; + CreateCALocation: Codeunit "Create CA Location"; + CreateCAPurchDimValue: Codeunit "Create CA Purch. Dim. Value"; + CreateCAVendor: Codeunit "Create CA Vendor"; + CreateCAReminderLevel: Codeunit "Create CA Reminder Level"; + CreateCACustomer: Codeunit "Create CA Customer"; + CreateCACustBankAccount: Codeunit "Create CA Cust. Bank Account"; + CreateCAVendBankAccount: Codeunit "Create CA Vend. Bank Account"; + CreateCASalesDimValue: Codeunit "Create CA Sales Dim. Value"; + CreateCACustomerTempl: Codeunit "Create CA Customer Templ."; + CreateCAVendorTempl: Codeunit "Create CA Vendor Templ."; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + UnBindSubscription(CreateCANoSeriesLine); + Enum::"Contoso Demo Data Module"::Finance: + begin + UnBindSubscription(CreateCAGenJournalTemplate); + UnbindSubscription(CreateCACurrency); + UnbindSubscription(CreateCACurrExchRate); + UnbindSubscription(CreateCAAccScheduleLine); + UnbindSubscription(CreateCAColumnLayout); + UnBindSubscription(CreateCAResource); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnBindSubscription(CreateCAReminderLevel); + UnBindSubscription(CreateCACustomer); + UnbindSubscription(CreateCACustBankAccount); + UnBindSubscription(CreateCASalesDimValue); + UnbindSubscription(CreateCACustomerTempl); + end; + Enum::"Contoso Demo Data Module"::Bank: + UnBindSubscription(CreateCABankAccount); + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnBindSubscription(CreateCAItemJnlTemplate); + UnBindSubscription(CreateCAItem); + UnBindSubscription(CreateCAItemCharge); + UnBindSubscription(CreateCALocation); + UnbindSubscription(CreateCAInvPostingSetup); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnBindSubscription(CreateCAVendor); + UnbindSubscription(CreateCAVendBankAccount); + UnBindSubscription(CreateCAPurchDimValue); + UnbindSubscription(CreateCAVendorTempl); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/Codeunits/ContosoDemoDataSetupCA.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoDemoDataSetupCA.Codeunit.al similarity index 100% rename from Apps/CA/ContosoCoffeeDemoDatasetCA/app/Codeunits/ContosoDemoDataSetupCA.Codeunit.al rename to Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoDemoDataSetupCA.Codeunit.al diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCAGIFI.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCAGIFI.Codeunit.al new file mode 100644 index 0000000000..d12203a253 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCAGIFI.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 27034 "Contoso CA GIFI" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "GIFI Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertGIFICode(Code: Code[10]; Name: Text[120]) + var + GIFICode: Record "GIFI Code"; + Exists: Boolean; + begin + if GIFICode.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + GIFICode.Validate(Code, Code); + GIFICode.Validate(Name, Name); + + if Exists then + GIFICode.Modify(true) + else + GIFICode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCATax.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCATax.Codeunit.al new file mode 100644 index 0000000000..fec1148bbc --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCATax.Codeunit.al @@ -0,0 +1,179 @@ +codeunit 27012 "Contoso CA Tax" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Tax Area" = rim, + tabledata "Tax Area Translation" = rim, + tabledata "Tax Detail" = rim, + tabledata "Tax Group" = rim, + tabledata "Tax Setup" = rim, + tabledata "Tax Jurisdiction" = rim, + tabledata "Tax Jurisdiction Translation" = rim, + tabledata "Tax Area Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertTaxArea(Code: Code[20]; Description: Text[100]; CountryRegion: Option; RoundTax: Option) + var + TaxArea: Record "Tax Area"; + Exists: Boolean; + begin + if TaxArea.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxArea.Validate(Code, Code); + TaxArea.Validate(Description, Description); + TaxArea.Validate("Country/Region", CountryRegion); + TaxArea.Validate("Round Tax", RoundTax); + + if Exists then + TaxArea.Modify(true) + else + TaxArea.Insert(true); + end; + + procedure InsertTaxAreaTranslation(TaxAreaCode: Code[20]; LanguageCode: Code[10]; Description: Text[100]) + var + TaxAreaTranslation: Record "Tax Area Translation"; + Exists: Boolean; + begin + if TaxAreaTranslation.Get(TaxAreaCode, LanguageCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxAreaTranslation.Validate("Tax Area Code", TaxAreaCode); + TaxAreaTranslation.Validate("Language Code", LanguageCode); + TaxAreaTranslation.Validate(Description, Description); + + if Exists then + TaxAreaTranslation.Modify(true) + else + TaxAreaTranslation.Insert(true); + end; + + procedure InsertTaxGroup(Code: Code[20]; Description: Text[100]) + var + TaxGroup: Record "Tax Group"; + Exists: Boolean; + begin + if TaxGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxGroup.Validate(Code, Code); + TaxGroup.Validate(Description, Description); + + if Exists then + TaxGroup.Modify(true) + else + TaxGroup.Insert(true); + end; + + procedure InsertTaxSetup(AutoCreateTaxDetails: Boolean; NonTaxableTaxGroupCode: Code[20]; TaxAccountSales: Code[20]; TaxAccountPurchases: Code[20]; ReverseChargePurchases: Code[20]) + var + TaxSetup: Record "Tax Setup"; + begin + if not TaxSetup.Get() then + TaxSetup.Insert(true); + + TaxSetup.Validate("Auto. Create Tax Details", AutoCreateTaxDetails); + TaxSetup.Validate("Non-Taxable Tax Group Code", NonTaxableTaxGroupCode); + TaxSetup.Validate("Tax Account (Sales)", TaxAccountSales); + TaxSetup.Validate("Tax Account (Purchases)", TaxAccountPurchases); + TaxSetup.Validate("Reverse Charge (Purchases)", ReverseChargePurchases); + TaxSetup.Modify(true); + end; + + procedure InsertTaxDetail(TaxJurisdictionCode: Code[10]; TaxGroupCode: Code[20]; TaxType: Option; EffectiveDate: Date; TaxBelowMaximum: Decimal) + var + TaxDetail: Record "Tax Detail"; + Exists: Boolean; + begin + if TaxDetail.Get(TaxJurisdictionCode, TaxGroupCode, TaxType, EffectiveDate) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxDetail.Validate("Tax Jurisdiction Code", TaxJurisdictionCode); + TaxDetail.Validate("Tax Group Code", TaxGroupCode); + TaxDetail.Validate("Tax Type", TaxType); + TaxDetail.Validate("Effective Date", EffectiveDate); + TaxDetail.Validate("Tax Below Maximum", TaxBelowMaximum); + + if Exists then + TaxDetail.Modify(true) + else + TaxDetail.Insert(true); + end; + + procedure InsertTaxJurisdiction(Code: Code[10]; Description: Text[100]; TaxAccountSales: Code[20]; TaxAccountPurchases: Code[20]; ReporttoJurisdiction: Code[10]; ReverseChargePurchases: Code[20]; CountryRegion: Option; PrintOrder: Integer; PrintDescription: Text[30]) + var + TaxJurisdiction: Record "Tax Jurisdiction"; + begin + TaxJurisdiction.Validate(Code, Code); + TaxJurisdiction.Insert(true); + + TaxJurisdiction.Validate(Description, Description); + TaxJurisdiction.Validate("Tax Account (Sales)", TaxAccountSales); + TaxJurisdiction.Validate("Tax Account (Purchases)", TaxAccountPurchases); + TaxJurisdiction.Validate("Report-to Jurisdiction", ReporttoJurisdiction); + TaxJurisdiction.Validate("Reverse Charge (Purchases)", ReverseChargePurchases); + TaxJurisdiction.Validate("Country/Region", CountryRegion); + TaxJurisdiction.Validate("Print Order", PrintOrder); + TaxJurisdiction.Validate("Print Description", PrintDescription); + TaxJurisdiction.Modify(true); + end; + + procedure InsertTaxJurisdictionTranslation(TaxJurisdictionCode: Code[10]; LanguageCode: Code[10]; Description: Text[100]; PrintDescription: Text[30]) + var + TaxJurisdictionTranslation: Record "Tax Jurisdiction Translation"; + begin + TaxJurisdictionTranslation.Validate("Tax Jurisdiction Code", TaxJurisdictionCode); + TaxJurisdictionTranslation.Validate("Language Code", LanguageCode); + TaxJurisdictionTranslation.Insert(true); + + TaxJurisdictionTranslation.Validate(Description, Description); + TaxJurisdictionTranslation.Validate("Print Description", PrintDescription); + TaxJurisdictionTranslation.Modify(true); + end; + + procedure InsertTaxAreaLine(TaxArea: Code[20]; TaxJurisdictionCode: Code[10]) + var + TaxAreaLine: Record "Tax Area Line"; + Exists: Boolean; + begin + if TaxAreaLine.Get(TaxArea, TaxJurisdictionCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxAreaLine.Validate("Tax Area", TaxArea); + TaxAreaLine.Validate("Tax Jurisdiction Code", TaxJurisdictionCode); + + if Exists then + TaxAreaLine.Modify(true) + else + TaxAreaLine.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCATranslation.Codeunit.al b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCATranslation.Codeunit.al new file mode 100644 index 0000000000..22441632a7 --- /dev/null +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/DemoTool/ContosoHelpers/ContosoCATranslation.Codeunit.al @@ -0,0 +1,106 @@ +codeunit 27077 "Contoso CA Translation" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Unit of Measure Translation" = rim, + tabledata "Payment Term Translation" = rim, + tabledata "Payment Method Translation" = rim, + tabledata "Country/Region Translation" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertUnitofMeasureTranslation(Code: Code[10]; LanguageCode: Code[10]; Description: Text[50]) + var + UnitofMeasureTranslation: Record "Unit of Measure Translation"; + Exists: Boolean; + begin + if UnitofMeasureTranslation.Get(Code, LanguageCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + UnitofMeasureTranslation.Validate(Code, Code); + UnitofMeasureTranslation.Validate("Language Code", LanguageCode); + UnitofMeasureTranslation.Validate(Description, Description); + + if Exists then + UnitofMeasureTranslation.Modify(true) + else + UnitofMeasureTranslation.Insert(true); + end; + + procedure InsertPaymentTermTranslation(PaymentTerm: Code[10]; LanguageCode: Code[10]; Description: Text[100]) + var + PaymentTermTranslation: Record "Payment Term Translation"; + Exists: Boolean; + begin + if PaymentTermTranslation.Get(PaymentTerm, LanguageCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PaymentTermTranslation.Validate("Payment Term", PaymentTerm); + PaymentTermTranslation.Validate("Language Code", LanguageCode); + PaymentTermTranslation.Validate(Description, Description); + + if Exists then + PaymentTermTranslation.Modify(true) + else + PaymentTermTranslation.Insert(true); + end; + + procedure InsertPaymentMethodTranslation(PaymentMethodCode: Code[10]; LanguageCode: Code[10]; Description: Text[100]) + var + PaymentMethodTranslation: Record "Payment Method Translation"; + Exists: Boolean; + begin + if PaymentMethodTranslation.Get(PaymentMethodCode, LanguageCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PaymentMethodTranslation.Validate("Payment Method Code", PaymentMethodCode); + PaymentMethodTranslation.Validate("Language Code", LanguageCode); + PaymentMethodTranslation.Validate(Description, Description); + + if Exists then + PaymentMethodTranslation.Modify(true) + else + PaymentMethodTranslation.Insert(true); + end; + + procedure InsertCountryRegionTranslation(CountryRegionCode: Code[10]; LanguageCode: Code[10]; Name: Text[50]) + var + CountryRegionTranslation: Record "Country/Region Translation"; + Exists: Boolean; + begin + if CountryRegionTranslation.Get(CountryRegionCode, LanguageCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CountryRegionTranslation.Validate("Country/Region Code", CountryRegionCode); + CountryRegionTranslation.Validate("Language Code", LanguageCode); + CountryRegionTranslation.Validate(Name, Name); + + if Exists then + CountryRegionTranslation.Modify(true) + else + CountryRegionTranslation.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json index 7415f0bbf6..eb07cd9d53 100644 --- a/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json +++ b/Apps/CA/ContosoCoffeeDemoDatasetCA/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 27009, - "to": 27015 + "to": 27095 } ], "resourceExposurePolicy": { diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/.resources/des_bcbankenstamm.txt b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/.resources/des_bcbankenstamm.txt new file mode 100644 index 0000000000..54df8e11c3 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/.resources/des_bcbankenstamm.txt @@ -0,0 +1,3446 @@ +01100 0000 001008100 120050210111SNB Schweizerische Nationalbank Börsenstrasse 15 Postfach 2800 8022 Zürich 044 631 31 11 87-620350-1 SNBZCHZZXXX +01110 0000 001100100 220020925111SNB Schweizerische Nationalbank Bundesplatz 1 Postfach 3003 Bern 031 327 02 11 SNBZCHZZXXX +01115 0000 001158100 220010519111SNB Schweizerische Nationalbank Bundesverw. / Bundesplatz 1 Postfach 3003 Bern 031 327 03 64 SNBZCHZZXXX +01140 0000 001403100 220020815112BNS Banque Nationale Suisse Rue Diday 8 Case postale 5355 1211 Genève 11 022 311 86 11 SNBZCHZZXXX +01160 0000 001606100 220010519113BNS Banca Nazionale Svizzera Via Canova 12 Casella postale 2858 6901 Lugano 091 911 10 10 SNBZCHZZXXX +08193 0000 001933193 120020829011SECB SECB Swiss Euro Clearing Bank Solmsstrasse 18 60486 Frankfurt am Main 69 97 98 98 0 69 97 98 98 98 ++49 DE SECGDEFFXXX +02202 0000 002020230 220050312111UBS UBS AG Poststrasse 10 Postfach 8610 Uster 1 044 944 91 11 *80-2-2 UBSWCHZH86N +02202 0001 002020230 320050312111UBS UBS AG Bahnhofstrasse 1 Postfach 8600 Dübendorf 1 044 824 41 11 *80-2-2 +02202 0003 002020230 320050312111UBS UBS AG Glattzentrum Postfach 8301 Wallisellen 044 839 51 11 *80-2-2 +02203 0000 002031230 219990917111UBS UBS AG Bahnhofstrasse 26 Postfach 9320 Arbon 071 447 79 79 *80-2-2 UBSWCHZH93A +02204 0000 002046230 219990422111UBS UBS AG Poststrasse Postfach 7050 Arosa 081 378 79 79 *80-2-2 UBSWCHZH70E +02206 0000 002062230 220050304111UBS UBS AG Paradeplatz 6 Postfach 8098 Zürich 044 234 11 11 *80-2-2 UBSWCHZH80V +02206 0001 002062230 320050304111UBS UBS AG Bahnhofstrasse 72 Postfach 8098 Zürich 044 234 11 11 *80-2-2 +02206 0002 002062230 320050304111UBS UBS AG Löwenplatz Postfach 8098 Zürich 044 234 11 11 *80-2-2 +02207 0000 002078230 220050312111UBS UBS AG Bahnhofstrasse 39 Postfach 8180 Bülach 044 872 42 42 *80-2-2 UBSWCHZH81M +02208 0000 002083230 219990422111UBS UBS AG Postplatz Postfach 7002 Chur 081 255 90 00 *80-2-2 UBSWCHZH70A +02208 0001 002083230 320000407111UBS UBS AG Casa Capol Postfach 7017 Flims Dorf 081 928 86 86 *80-2-2 +02208 0002 002083230 320000407111UBS UBS AG Bahnhofstrasse 14 Postfach 7130 Ilanz 081 926 15 00 *80-2-2 +02208 0004 002083230 319990422111UBS UBS AG Voa principala 68 Postfach 7078 Lenzerheide/Lai 081 385 24 00 *80-2-2 +02208 0005 002083230 319990422111UBS UBS AG Grossfeldstrasse 19 Postfach 7320 Sargans 081 725 47 00 *80-2-2 +02208 0006 002083230 320020524111UBS UBS AG Neudorfstrasse 46 Postfach 7430 Thusis 081 632 39 00 *80-2-2 +02208 0007 002083230 320010622111UBS UBS AG Casa Postigliun Postfach 7180 Disentis/Mustér 081 929 59 00 *80-2-2 +02209 0000 002099230 219990821111UBS UBS AG Promenade 48 Postfach 7270 Davos Platz 1 081 415 11 11 *80-2-2 UBSWCHZH72D +02209 0001 002099230 319990917111UBS UBS AG Bahnhofstrasse 6 Postfach 7250 Klosters 081 423 38 00 *80-2-2 +02210 0000 002106230 220041029111UBS UBS AG Neumarkt 2 Postfach 5201 Brugg AG 056 460 81 00 *80-2-2 UBSWCHZH52A +02211 0000 002114230 220041029111UBS UBS AG Hauptstrasse 44 Postfach 3186 Düdingen 026 492 77 77 *80-2-2 UBSWCHZH31A +02213 0000 002138230 219990422111UBS UBS AG Rorschacherstrasse 1 Postfach 9450 Altstätten SG 071 757 56 56 *80-2-2 UBSWCHZH94N +02213 0001 002138230 320000407111UBS UBS AG Kirchstrasse 2 Postfach 9435 Heerbrugg 071 727 91 11 *80-2-2 +02214 0000 002143230 220050312111UBS UBS AG Zugerstrasse 22 Postfach 8810 Horgen 1 044 728 85 11 *80-2-2 UBSWCHZH88A +02214 0001 002143230 320050305111UBS UBS AG Gotthardstrasse 40 Postfach 8801 Thalwil 044 722 93 11 *80-2-2 +02214 0002 002143230 320050312111UBS UBS AG Zugerstrasse 11 Postfach 8820 Wädenswil 044 783 85 85 *80-2-2 +02214 0003 002143230 320050401111UBS UBS AG Seedammstrasse 3 Postfach 8808 Pfäffikon SZ 055 416 37 11 *80-2-2 +02216 0000 002167230 219990422111UBS UBS AG Bahnhofplatz 3 Postfach 8853 Lachen SZ 055 451 66 11 *80-2-2 UBSWCHZH88B +02216 0001 002167230 319990422111UBS UBS AG Klosterplatz Postfach 8840 Einsiedeln 055 418 77 11 *80-2-2 +02217 0000 002175230 219990422111UBS UBS AG Hauptstrasse 37 Postfach 8280 Kreuzlingen 1 071 677 81 11 *80-2-2 UBSWCHZH82P +02219 0000 002191230 219990422111UBS UBS AG Rathausstrasse 11 Postfach 8570 Weinfelden 071 626 46 46 *80-2-2 UBSWCHZH85B +02220 0000 002209230 219990422111UBS UBS AG St. Gallerstrasse 5 Postfach 9471 Buchs SG 1 081 755 42 42 *80-2-2 UBSWCHZH94P +02220 0002 002209230 320030425111UBS UBS AG Valenserstrasse 6 Postfach 7310 Bad Ragaz 081 303 48 00 *80-2-2 +02221 0000 002217230 219990821111UBS UBS AG Plazza Mauritius/Via Maistra 14 Postfach 7500 St. Moritz 1 081 837 70 00 *80-2-2 UBSWCHZH75A +02221 0001 002217230 320000407113UBS UBS SA Plazza da Cumün Casella postale 7742 Poschiavo 081 839 78 00 *80-2-2 +02222 0000 002225230 220050312111UBS UBS AG Neugutstrasse 4 Postfach 8304 Wallisellen 044 877 95 95 *80-2-2 UBSWCHZH83B +02223 0000 002230230 220050312111UBS UBS AG Bahnhofplatz 13 Postfach 8953 Dietikon 1 044 743 85 11 *80-2-2 UBSWCHZH89D +02223 0001 002230230 320050312111UBS UBS AG Zürcherstrasse 18 Postfach 8952 Schlieren 044 733 41 11 *80-2-2 +02225 0000 002256230 220050305111UBS UBS AG Bellevue Postfach 8024 Zürich 044 265 91 11 *80-2-2 UBSWCHZH80G +02226 0000 002264230 220041029112UBS UBS SA Rue du Jura 11 Case postale 2900 Porrentruy 1 032 465 25 25 *80-2-2 UBSWCHZH29A +02226 0001 002264230 320041029112UBS UBS SA Rue de l'Avenir 5 Case postale 2800 Delémont 1 032 424 53 53 *80-2-2 +02227 0000 002272230 220041029111UBS UBS AG Bälliz 1 Postfach 3601 Thun 033 225 51 11 *80-2-2 UBSWCHZH36A +02227 0001 002272230 320041029111UBS UBS AG Promenade Postfach 3780 Gstaad 033 748 85 11 *80-2-2 +02227 0002 002272230 320041029111UBS UBS AG Rawylstrasse Postfach 3775 Lenk im Simmental 033 736 78 88 *80-2-2 +02227 0003 002272230 320041029111UBS UBS AG Kronenplatz Postfach 3700 Spiez 033 655 93 33 *80-2-2 +02227 0004 002272230 320041029111UBS UBS AG Mühlegasse 1 Postfach 3770 Zweisimmen 033 729 77 77 *80-2-2 +02228 0000 002288230 220041029112UBS UBS SA Centre La Combe, R. de la Môrache 6Case postale 1260 Nyon 1 022 363 71 11 *80-2-2 UBSWCHZH12T +02228 0001 002288230 320041029112UBS UBS SA Rue du Borgeaud 2 Case postale 1196 Gland 022 354 93 11 *80-2-2 +02230 0000 002301230 120050305111UBS UBS AG Bahnhofstrasse 45 Postfach 8098 Zürich 044 234 11 11 80-2-2 UBSWCHZH80A +02230 0001 002301230 320050305111UBS UBS AG Shopville, Bahnhofpassage 9 Postfach 8098 Zürich 044 234 69 41 *80-2-2 +02230 0002 002301230 320050305111UBS UBS AG Central 1 Postfach 8098 Zürich 044 234 69 41 *80-2-2 +02231 0000 002316230 220041029111UBS UBS AG Bahnhofstrasse 61 Postfach 5001 Aarau 062 835 91 91 *80-2-2 UBSWCHZH50A +02231 0001 002316230 320041029111UBS UBS AG Bahnhofstrasse 7 Postfach 5600 Lenzburg 1 062 885 25 25 *80-2-2 +02231 0002 002316230 320041029111UBS UBS AG Zentrum "Neue Rheinbrücke" Postfach 4332 Stein AG 062 866 45 45 *80-2-2 +02231 0003 002316230 320041029111UBS UBS AG Niklaus-Thut-Platz Postfach 4800 Zofingen 062 745 85 00 *80-2-2 +02231 0004 002316230 320041029111UBS UBS AG Wynenhof Postfach 5734 Reinach AG 062 765 59 59 *80-2-2 +02232 0000 002324230 220041029111UBS UBS AG Badstrasse 12 Postfach 5401 Baden 056 200 61 11 *80-2-2 UBSWCHZH54A +02232 0001 002324230 320041029111UBS UBS AG Landstrasse 61 Postfach 5430 Wettingen 1 056 437 66 66 *80-2-2 +02232 0002 002324230 320041029111UBS UBS AG Hauptstrasse 55 Postfach 5330 Zurzach 056 269 68 11 *80-2-2 +02233 0000 002332230 220041029111UBS UBS AG Freie Strasse 68 Postfach 4002 Basel 061 288 50 50 *80-2-2 UBSWCHZH40A +02233 0002 002332230 320041029111UBS UBS AG Baslerstrasse 96 Postfach 1216 4123 Allschwil 1 061 486 42 42 *80-2-2 +02233 0003 002332230 320041030111UBS UBS AG Hauptstrasse 31 Postfach 764 4144 Arlesheim 061 706 26 26 *80-2-2 +02233 0005 002332230 320041030111UBS UBS AG Ahornhof, Spalenring 90 Postfach 4009 Basel 061 306 73 73 *80-2-2 +02233 0007 002332230 320041030111UBS UBS AG Austrasse 2 Postfach 4153 Reinach BL 1 061 716 72 72 *80-2-2 +02233 0008 002332230 320041030111UBS UBS AG Baselstrasse 48 Postfach 4125 Riehen 1 061 645 21 21 *80-2-2 +02233 0009 002332230 320041030111UBS UBS AG Gellert, Karl-Barth-Platz 1 Postfach 4020 Basel 061 378 41 41 *80-2-2 +02233 0010 002332230 320041030111UBS UBS AG Tellplatz 12 Postfach 4018 Basel 061 366 57 57 *80-2-2 +02233 0012 002332230 320041030111UBS UBS AG Oberwilerstrasse 2 Postfach 4102 Binningen 1 061 426 52 52 *80-2-2 +02233 0013 002332230 320041030111UBS UBS AG Hauptstrasse 68 Postfach 4132 Muttenz 1 061 467 51 51 *80-2-2 +02233 0014 002332230 320041030111UBS UBS AG Bahnhofstrasse 5 Postfach 4133 Pratteln 1 061 826 71 71 *80-2-2 +02233 0016 002332230 320041030111UBS UBS AG Kleinbasel Postfach 4005 Basel 061 695 20 20 *80-2-2 +02233 0017 002332230 320041030111UBS UBS AG Centralbahnplatz 6 Postfach 4002 Basel 061 270 46 46 *80-2-2 +02233 0018 002332230 320041030111UBS UBS AG Passagierterminal (Abflug) Basel EuroAirport 4030 Basel 061 325 27 01 *80-2-2 +02233 0019 002332230 320041030111UBS UBS AG Lysbüchel / Elsässersrasse 256 Postfach 4013 Basel 061 327 43 43 *80-2-2 +02233 0020 002332230 320041030111UBS UBS AG Neubad / Neubadstrasse 146 Postfach 4015 Basel 061 306 58 58 *80-2-2 +02233 0021 002332230 320041030111UBS UBS AG St. Johann / Elsässerstrasse 16 Postfach 4013 Basel 061 385 24 24 *80-2-2 +02233 0022 002332230 320041030111UBS UBS AG Hauptstrasse 53 Postfach 4127 Birsfelden 061 319 23 23 *80-2-2 +02233 0024 002332230 320041030111UBS UBS AG Bottmingerstrasse 75 Postfach 4104 Oberwil BL 061 406 76 76 *80-2-2 +02233 0025 002332230 320041030111UBS UBS AG Marktplatz 17 Postfach 4001 Basel 061 288 89 00 *80-2-2 +02234 0000 002348230 220041029113UBS UBS SA Largo Elvezia 2 Casella postale 6501 Bellinzona 091 801 31 11 *80-2-2 UBSWCHZH65A +02234 0001 002348230 320041029113UBS UBS SA Viale Stazione Casella postale 6780 Airolo 091 801 39 11 *80-2-2 +02234 0003 002348230 320041029113UBS UBS SA Via A. Pini 34 Casella postale 6710 Biasca 091 801 38 11 *80-2-2 +02234 0006 002348230 320041029113UBS UBS SA Largo Libero Olgiati 79 Casella postale 6512 Giubiasco 091 801 35 11 *80-2-2 +02235 0000 002353230 220041031111UBS UBS AG Bubenbergplatz 3 Postfach 3000 Bern 94 031 336 21 11 *80-2-2 UBSWCHZH30A +02235 0001 002353230 320041030111UBS UBS AG Langenthalstrasse 33 Postfach 4912 Aarwangen 062 916 90 11 *80-2-2 +02235 0002 002353230 320041030111UBS UBS AG Bümpliz, Bottigenstrasse 2 Postfach 3018 Bern 031 998 72 72 *80-2-2 +02235 0003 002353230 320041030111UBS UBS AG Länggassstrasse 29 Postfach 3000 Bern 031 307 83 83 *80-2-2 +02235 0004 002353230 320041030111UBS UBS AG Bolligenstrasse 94 Postfach 3065 Bolligen Station 031 917 63 63 *80-2-2 +02235 0006 002353230 320041030111UBS UBS AG Kramgasse 4 Postfach 3506 Grosshöchstetten 031 710 73 73 *80-2-2 +02235 0007 002353230 320041030111UBS UBS AG Moosstrasse 2 Postfach 3073 Gümligen 031 958 88 88 *80-2-2 +02235 0008 002353230 320041030111UBS UBS AG Wangenstrasse 10 Postfach 3360 Herzogenbuchsee 062 956 86 86 *80-2-2 +02235 0009 002353230 320041030111UBS UBS AG Schwarzenburgstrasse 230 Postfach 3098 Köniz 031 978 68 68 *80-2-2 +02235 0010 002353230 320041030111UBS UBS AG Kreuzplatz 1 Postfach 44 3510 Konolfingen 031 790 92 92 *80-2-2 +02235 0012 002353230 320041030111UBS UBS AG Marktgasse 16 Postfach 4901 Langenthal 062 916 95 11 *80-2-2 +02235 0013 002353230 320041030111UBS UBS AG Thunstrasse 4 Postfach 3110 Münsingen 031 724 74 11 *80-2-2 +02235 0014 002353230 320041030111UBS UBS AG Burgdorfstrasse 3 Postfach 3672 Oberdiessbach 031 770 79 79 *80-2-2 +02235 0015 002353230 320041030111UBS UBS AG Dorfstrasse 2 Postfach 4914 Roggwil BE 062 918 91 11 *80-2-2 +02235 0016 002353230 320041030111UBS UBS AG Chasseralstrasse 156 Postfach 3095 Spiegel b. Bern 031 978 66 66 *80-2-2 +02235 0017 002353230 320041030111UBS UBS AG Dorf Postfach 4937 Ursenbach 062 957 94 94 *80-2-2 +02235 0018 002353230 320041030111UBS UBS AG Vorstadt 30 Postfach 3380 Wangen an der Aare 032 631 61 61 *80-2-2 +02235 0019 002353230 320041030111UBS UBS AG Kirchweg 1 Postfach 3076 Worb 1 031 838 64 64 *80-2-2 +02235 0020 002353230 320041030111UBS UBS AG Bernstrasse 94 Postfach 3052 Zollikofen 031 919 81 81 *80-2-2 +02235 0021 002353230 320041030111UBS UBS AG Bärenplatz 8 Postfach 3000 Bern 94 031 336 21 11 *80-2-2 +02235 0022 002353230 320041030111UBS UBS AG Breitenrainstrasse 10 Postfach 3000 Bern 22 031 336 70 11 *80-2-2 +02235 0023 002353230 320041030111UBS UBS AG Lyssacherstrasse 27 Neumarkt 3400 Burgdorf 034 427 80 11 *80-2-2 +02235 0024 002353230 320041030111UBS UBS AG Bernstrasse 11 Postfach 3175 Flamatt 031 744 13 11 *80-2-2 +02235 0025 002353230 320041030111UBS UBS AG Bahnhofplatz Postfach 3415 Hasle-Rüegsau 034 460 69 11 *80-2-2 +02235 0026 002353230 320041030111UBS UBS AG Dorfstrasse 4 Postfach 3324 Hindelbank 034 411 84 11 *80-2-2 +02235 0027 002353230 320041030111UBS UBS AG Talweg 14 Postfach 3063 Ittigen 031 924 12 11 *80-2-2 +02235 0028 002353230 320041030111UBS UBS AG Solothurnstrasse 4 Postfach 3422 Kirchberg BE 034 448 62 11 *80-2-2 +02235 0030 002353230 320041030111UBS UBS AG Alleestrasse 10 A Postfach 3550 Langnau im Emmental 034 409 16 11 *80-2-2 +02235 0031 002353230 320041030111UBS UBS AG Klosterweg 2 Postfach 3053 Münchenbuchsee 031 868 15 11 *80-2-2 +02235 0032 002353230 320041030111UBS UBS AG Emmentalstrasse 11 Postfach 3414 Oberburg 034 427 87 11 *80-2-2 +02235 0034 002353230 320041030111UBS UBS AG EKZ Shoppyland Postfach 3321 Schönbühl 031 858 65 11 *80-2-2 +02235 0035 002353230 320041030111UBS UBS AG Dorfstrasse 17 Postfach 3054 Schüpfen 031 879 67 11 *80-2-2 +02235 0036 002353230 320041030111UBS UBS AG Grabenstrasse Postfach 3401 Burgdorf 034 426 77 77 *80-2-2 +02236 0000 002369230 220041029113UBS UBS SA Piazza Col. C. Bernasconi 5 Casella postale 6830 Chiasso 1 091 801 51 11 *80-2-2 UBSWCHZH68B +02236 0002 002369230 320041029113UBS UBS SA Via Lavizzari 15 Casella postale 6850 Mendrisio Borgo 091 801 59 59 *80-2-2 +02236 0003 002369230 320041029113UBS UBS SA Viale Serfontana 20 Centro Serfontana 6836 Serfontana 091 801 58 11 *80-2-2 +02236 0004 002369230 320041029113UBS UBS SA Via Giulia 25 Casella postale 6855 Stabio 091 801 58 40 *80-2-2 +02238 0000 002385230 220050312111UBS UBS AG Dorfstrasse 94 Postfach 8706 Meilen 044 925 31 11 *80-2-2 UBSWCHZH87C +02238 0002 002385230 320050312111UBS UBS AG Seestrasse 49 Postfach 8712 Stäfa 044 928 23 23 *80-2-2 +02239 0000 002390230 219991002111UBS UBS AG Zürcherstrasse 144 Postfach 8501 Frauenfeld 052 723 51 51 *80-2-2 UBSWCHZH85A +02239 0001 002390230 320010622111UBS UBS AG Bahnhofstrasse 13 Postfach 8580 Amriswil 071 414 55 55 *80-2-2 +02239 0002 002390230 320010622111UBS UBS AG Obertor 1 Postfach 9220 Bischofszell 071 424 26 55 *80-2-2 +02240 0000 002404230 220041029112UBS UBS SA Rue du Rhône 8 Case postale 1211 Genève 2 022 375 75 75 *80-2-2 UBSWCHZH12A +02240 0002 002404230 320041029112UBS UBS SA Route de St-Julien 114 Case postale 1228 Plan-les-Ouates 022 706 23 88 *80-2-2 +02240 0003 002404230 320041029112UBS UBS SA Rue du Village 28 Case postale 1214 Vernier 022 306 12 11 *80-2-2 +02240 0004 002404230 320041029112UBS UBS SA Rampe de la Gare 2 Case postale 1290 Versoix 022 775 16 88 *80-2-2 +02240 0007 002404230 320041029112UBS UBS SA Place du Petit-Saconnex 11 Case postale 1211 Genève 2 022 749 20 11 *80-2-2 +02240 0009 002404230 320041029112UBS UBS SA Rue de la Servette 75 Case postale 1211 Genève 2 022 748 27 11 *80-2-2 +02240 0010 002404230 320041029112UBS UBS SA Terrassière, Rue Jargonnant 3 Case postale 1211 Genève 2 022 787 29 11 *80-2-2 +02240 0011 002404230 320041029112UBS UBS SA Avenue de Feuillasse 24 Case postale 1217 Meyrin 022 783 21 11 *80-2-2 +02240 0012 002404230 320041029112UBS UBS SA Lancy-Onex, Rue des Bossons 90 Case postale 1211 Genève 2 022 879 16 11 *80-2-2 +02240 0013 002404230 320041029112UBS UBS SA Acacias, Avenue de la Praille 44 Case postale 1211 Genève 2 022 375 93 00 *80-2-2 +02240 0016 002404230 320041029112UBS UBS SA Aéroport Cointrin Case postale 1211 Genève 2 022 306 14 88 *80-2-2 +02240 0017 002404230 320041029112UBS UBS SA Place de Cornavin 12 Case postale 1211 Genève 1 022 375 33 47 *80-2-2 +02240 0018 002404230 320041029112UBS UBS SA Place des Eaux-Vives 2 Case postale 1211 Genève 2 022 787 29 88 *80-2-2 +02240 0019 002404230 320041029112UBS UBS SA Route de Florissant 59 Case postale 1211 Genève 2 022 704 14 04 *80-2-2 +02240 0020 002404230 320041029112UBS UBS SA Place du Manoir 16 1223 Cologny 022 737 20 88 *80-2-2 +02241 0000 002412230 220041029111UBS UBS AG Bahnhofstrasse 20 Postfach 3800 Interlaken 033 826 35 55 *80-2-2 UBSWCHZH38A +02241 0001 002412230 320041029111UBS UBS AG Hauptstrasse Postfach 3818 Grindelwald 033 854 42 11 *80-2-2 +02242 0000 002428230 220041029112UBS UBS SA Avenue Léopold-Robert 16 - 18 Case postale 1573 2301 Chaux-de-Fonds, La 032 910 86 11 *80-2-2 UBSWCHZH23A +02242 0001 002428230 320041029112UBS UBS SA Rue Henry-Grandjean 5 Case postale 2400 Locle, Le 032 930 78 11 *80-2-2 +02243 0000 002433230 220041104112UBS UBS SA Place St-François 1 Case postale 1002 Lausanne 021 215 41 11 *80-2-2 UBSWCHZH10A +02243 0001 002433230 320041030112UBS UBS SA Avenue de Chailly 1 Case postale 326 1000 Lausanne 12 021 654 94 11 *80-2-2 +02243 0003 002433230 320041030112UBS UBS SA Grand-Rue 102 Case postale 1110 Morges 1 021 804 77 11 *80-2-2 +02243 0004 002433230 320041030112UBS UBS SA Route de Cossonay 23 Case postale 1008 Prilly 021 621 76 11 *80-2-2 +02243 0005 002433230 320041030112UBS UBS SA Place Neuve 2 Case postale 1009 Pully 021 721 75 11 *80-2-2 +02243 0007 002433230 320041030112UBS UBS SA Centre universitaire Case postale 1015 Lausanne 021 695 69 11 *80-2-2 +02243 0008 002433230 320041030112UBS UBS SA Avenue d'Ouchy 61 Case postale 1000 Lausanne 6 021 614 92 11 *80-2-2 +02243 0009 002433230 320041030112UBS UBS SA Avenue des Baumettes 23 1020 Renens VD 021 632 37 01 *80-2-2 +02243 0010 002433230 320041030112UBS UBS SA Grand-Rue 47 Case postale 1180 Rolle 021 822 15 11 *80-2-2 +02243 0011 002433230 320041030112UBS UBS SA Rue de la Gare 4 Case postale 1860 Aigle 024 468 69 11 *80-2-2 +02243 0012 002433230 320041030112UBS UBS SA Place de l'Hôtel de Ville Case postale 1040 Echallens 021 886 21 11 *80-2-2 +02243 0013 002433230 320041030112UBS UBS SA Avenue du 14 Avril 5 Case postale 1020 Renens VD 1 021 632 95 11 *80-2-2 +02244 0000 002449230 219990507111UBS UBS AG Hauptgasse 8 Postfach 9620 Lichtensteig 071 987 47 11 *80-2-2 UBSWCHZH96C +02244 0002 002449230 319990422111UBS UBS AG Bahnhofstrasse 9 Postfach 9630 Wattwil 071 987 45 11 *80-2-2 +02245 0000 002457230 220041029111UBS UBS AG Rheinstrasse 12 Postfach 4410 Liestal 061 926 27 27 *80-2-2 UBSWCHZH44A +02245 0001 002457230 320041029111UBS UBS AG Sissacherstrasse 4 Postfach 309 4460 Gelterkinden 061 985 78 78 *80-2-2 +02245 0004 002457230 320041029111UBS UBS AG Hauptstrasse 54 Postfach 4450 Sissach 061 976 54 54 *80-2-2 +02245 0005 002457230 320041029111UBS UBS AG Hauptstrasse 37 Postfach 4242 Laufen 061 766 55 55 *80-2-2 +02245 0007 002457230 320041029111UBS UBS AG Wydehof-Center Postfach 4226 Breitenbach 061 785 75 75 *80-2-2 +02245 0009 002457230 320041029111UBS UBS AG Kaiserstrasse 9 Postfach 4310 Rheinfelden 061 836 49 49 *80-2-2 +02246 0000 002465230 220041029113UBS UBS SA Piazza Grande 1 Casella postale 6601 Locarno 1 091 801 15 11 *80-2-2 UBSWCHZH66A +02246 0001 002465230 320041029113UBS UBS SA Via Locarno 1 Casella postale 6612 Ascona 091 801 13 11 *80-2-2 +02246 0002 002465230 320041029113UBS UBS SA Via R. Leoncavallo 33 Casella postale 6614 Brissago 091 801 12 81 *80-2-2 +02246 0003 002465230 320041029113UBS UBS SA Via San Gottardo 77 Casella postale 6596 Gordola 091 801 12 50 *80-2-2 +02247 0000 002470230 220041031113UBS UBS SA Piazzetta della Posta Casella postale 6901 Lugano 091 801 71 11 *80-2-2 UBSWCHZH69A +02247 0001 002470230 320041030113UBS UBS SA Cassarate, Viale Castagnola 21 Casella postale 6906 Lugano 091 801 80 50 *80-2-2 +02247 0002 002470230 320041030113UBS UBS SA Via G. Guisan 1 Casella postale 6902 Lugano 091 801 80 80 *80-2-2 +02247 0003 002470230 320041030113UBS UBS SA Piazza Riforma Casella postale 6901 Lugano 091 801 80 11 *80-2-2 +02247 0004 002470230 320041030113UBS UBS SA Via Cantonale Casella postale 6928 Manno 091 801 79 30 *80-2-2 +02247 0005 002470230 320041030113UBS UBS SA Via Giulio Pocobelli 1 Casella postale 6815 Melide 091 801 99 11 *80-2-2 +02247 0006 002470230 320041030113UBS UBS SA Via Lugano 2 Casella postale 6988 Ponte Tresa 091 801 98 11 *80-2-2 +02247 0007 002470230 320041030112UBS UBS SA Via Cantonale World Trade Center 6982 Agno 091 801 65 11 *80-2-2 +02247 0009 002470230 320041030113UBS UBS SA Via S. Gottardo 154 6942 Savosa 091 801 64 11 *80-2-2 +02248 0000 002481230 220041029111UBS UBS AG Bahnhofplatz 2 Postfach 6002 Luzern 041 208 11 11 *80-2-2 UBSWCHZH60A +02248 0002 002481230 320041029111UBS UBS AG Seestrasse 20 Postfach 6052 Hergiswil NW 041 632 88 88 *80-2-2 +02248 0003 002481230 320041029111UBS UBS AG Gemeindehausstrasse 1 Postfach 6011 Kriens 041 329 69 40 *80-2-2 +02248 0004 002481230 320041029111UBS UBS AG Schwanenplatz 3 Postfach 6002 Luzern 041 208 11 11 *80-2-2 +02248 0005 002481230 320041029111UBS UBS AG Würzenbachstrasse 21 Postfach 6000 Luzern 15 041 208 16 66 *80-2-2 +02248 0006 002481230 320041029111UBS UBS AG Buochserstrasse 2 Postfach 6371 Stans 041 618 28 30 *80-2-2 +02248 0009 002481230 320041029111UBS UBS AG Bahnhofstrasse 28 Postfach 6403 Küssnacht am Rigi 041 854 26 26 *80-2-2 +02248 0010 002481230 320041029111UBS UBS AG Bahnhofplatz 1 Postfach 6060 Sarnen 041 666 72 72 *80-2-2 +02249 0000 002496230 220041029112UBS UBS SA Avenue du Casino 41 Case postale 1820 Montreux 1 021 966 78 11 *80-2-2 UBSWCHZH18D +02249 0001 002496230 320041029112UBS UBS SA Avenue Centrale Case postale 1884 Villars-sur-Ollon 024 496 20 11 *80-2-2 +02250 0000 002508230 219990427111UBS UBS AG Rathausstrasse 8 Postfach 8640 Rapperswil SG 055 221 31 11 *80-2-2 UBSWCHZH86M +02251 0000 002513230 220050305111UBS UBS AG Römerhofplatz 5 Postfach 8030 Zürich 044 265 81 11 *80-2-2 UBSWCHZH80H +02251 0002 002513230 320050305111UBS UBS AG Witikon, Witikonerstrasse 285 Postfach 8053 Zürich 044 265 85 11 *80-2-2 +02252 0000 002529230 219990422111UBS UBS AG Hauptstrasse 78 Postfach 9401 Rorschach 071 844 41 11 *80-2-2 UBSWCHZH94A +02253 0000 002537230 219990422111UBS UBS AG Bahnhofstrasse 5 Postfach 8630 Rüti ZH 055 251 21 21 *80-2-2 UBSWCHZH86P +02254 0000 002545230 220000407111UBS UBS AG Am Bahnhofplatz Postfach 9001 St. Gallen 071 225 25 25 *80-2-2 UBSWCHZH90A +02254 0001 002545230 319990422111UBS UBS AG Bahnhofstrasse 2 Postfach 9230 Flawil 1 071 394 51 51 *80-2-2 +02254 0002 002545230 319990422111UBS UBS AG Dorfplatz 5 Postfach 9056 Gais 071 791 70 50 *80-2-2 +02254 0003 002545230 320000102111UBS UBS AG St. Gallerstrasse 57 Postfach 9201 Gossau SG 1 071 388 50 50 *80-2-2 +02254 0004 002545230 319990422111UBS UBS AG Kirchplatz 4 Postfach 9410 Heiden 071 898 69 69 *80-2-2 +02254 0005 002545230 319990422111UBS UBS AG Obstmarkt 1 Postfach 9101 Herisau 071 354 60 00 *80-2-2 +02254 0008 002545230 320000407111UBS UBS AG Zaun 55 Postfach 9042 Speicher 071 343 68 00 *80-2-2 +02254 0009 002545230 319990422111UBS UBS AG Ebni 4 Postfach 9053 Teufen AR 071 335 65 65 *80-2-2 +02254 0011 002545230 320020524111UBS UBS AG Herisauer Strasse 5 Postfach 9107 Urnäsch 071 365 68 28 *80-2-2 +02254 0015 002545230 320010622111UBS UBS AG Hauptgasse 11 Postfach 9050 Appenzell 071 788 12 12 *80-2-2 +02254 0019 002545230 320000407111UBS UBS AG Multertor Postfach 9001 St. Gallen 071 225 25 25 *80-2-2 +02255 0000 002550230 220041029112UBS UBS SA Rue de Lausanne 6 Case postale 1800 Vevey 1 021 925 97 11 *80-2-2 UBSWCHZH18A +02256 0000 002561230 219990504111UBS UBS AG Obere Bahnhofstrasse 36 Postfach 9501 Wil SG 1 071 913 22 22 *80-2-2 UBSWCHZH95A +02257 0000 002576230 219990427111UBS UBS AG Stadthausstrasse 18 Postfach 8401 Winterthur 052 264 71 71 *80-2-2 UBSWCHZH84A +02257 0001 002576230 319991013111UBS UBS AG Oberwinterthur, Guggenbühlstrasse 2Postfach 8401 Winterthur 052 264 70 01 *80-2-2 +02257 0002 002576230 320010622111UBS UBS AG Rikonerstrasse 16 Postfach 8307 Effretikon 052 354 66 66 *80-2-2 +02258 0000 002584230 220041029111UBS UBS AG Zentralstrasse 55 Postfach 5610 Wohlen AG 1 056 618 38 38 *80-2-2 UBSWCHZH56B +02258 0001 002584230 320041029111UBS UBS AG Zürcherstrasse 7 Postfach 5620 Bremgarten AG 1 056 648 26 66 *80-2-2 +02258 0002 002584230 320041029111UBS UBS AG Berikon-Mutschellen Postfach 8965 Berikon 1 056 648 43 43 *80-2-2 +02258 0003 002584230 320041029111UBS UBS AG Marktstrasse 7 Postfach 5630 Muri AG 056 675 82 82 *80-2-2 +02259 0000 002592230 220050305111UBS UBS AG Bergstrasse 17 Postfach 8702 Zollikon 044 395 21 11 *80-2-2 UBSWCHZH87B +02259 0001 002592230 320050305111UBS UBS AG Forchstrasse 191 Postfach 8125 Zollikerberg 044 395 25 11 *80-2-2 +02259 0002 002592230 320050305111UBS UBS AG Zürichstrasse 139 Postfach 8700 Küsnacht ZH 044 914 32 32 *80-2-2 +02260 0000 002600230 220041029112UBS UBS SA Rue Saint-Pierre 1 Case postale 1701 Fribourg 026 352 81 11 *80-2-2 UBSWCHZH17A +02260 0001 002600230 320041029112UBS UBS SA Centre Commercial Case postale 1723 Marly 1 026 435 28 52 *80-2-2 +02260 0002 002600230 320041029111UBS UBS AG Hauptgasse 55 Postfach 3280 Murten/Morat 026 672 68 26 *80-2-2 +02260 0003 002600230 320041029112UBS UBS SA Rue de Lausanne 13 Case postale 1530 Payerne 026 661 75 11 *80-2-2 +02260 0005 002600230 320041029112UBS UBS SA Place du Midi 1470 Estavayer-le-Lac 026 669 72 11 *80-2-2 +02260 0006 002600230 320041029112UBS UBS SA Route du Jura 37 Case postale 1701 Fribourg 026 352 81 11 *80-2-2 +02260 0007 002600230 320041029112UBS UBS SA Rue de l'Eglise 96 1680 Romont FR 026 651 74 11 *80-2-2 +02261 0000 002611230 220050305111UBS UBS AG Froburgstrasse 17 Postfach 4603 Olten 062 206 85 11 *80-2-2 UBSWCHZH46A +02261 0002 002611230 320041029111UBS UBS AG Aarauerstrasse 55 Postfach 4600 Olten 062 206 85 11 *80-2-2 +02262 0000 002626230 220041029111UBS UBS AG Amthausplatz 1 Postfach 4502 Solothurn 032 625 11 11 *80-2-2 UBSWCHZH45A +02262 0001 002626230 320041029111UBS UBS AG Oltenstrasse 5 Postfach 4536 Attiswil 032 637 58 00 *80-2-2 +02262 0002 002626230 320041029111UBS UBS AG Dorfstrasse 6 Postfach 4704 Niederbipp 032 633 67 11 *80-2-2 +02262 0003 002626230 320041029111UBS UBS AG St. Niklausstrasse 1 Postfach 3425 Koppigen 034 413 74 11 *80-2-2 +02262 0004 002626230 320041029111UBS UBS AG Bielstrasse 24 Postfach 2543 Lengnau BE 032 654 51 11 *80-2-2 +02262 0006 002626230 320041029111UBS UBS AG Hauptstrasse 14 Postfach 3427 Utzenstorf 032 666 39 11 *80-2-2 +02263 0000 002634230 220041029111UBS UBS AG Sebastiansplatz 4 Postfach 3900 Brig/Brigue 027 922 51 11 *80-2-2 UBSWCHZH39A +02263 0001 002634230 320041029111UBS UBS AG Postfach 10 3992 Bettmeralp 027 928 62 00 *80-2-2 +02263 0002 002634230 320041029111UBS UBS AG Furkastrasse Postfach 3984 Fiesch 027 970 12 00 *80-2-2 +02263 0003 002634230 320041029111UBS UBS AG Furkastrasse 21 Postfach 3904 Naters 027 922 56 66 *80-2-2 +02263 0005 002634230 320041029111UBS UBS AG Marienhof Postfach 56 3906 Saas Fee 027 958 99 11 *80-2-2 +02263 0007 002634230 320041029111UBS UBS AG Bahnhofstrasse Postfach 3920 Zermatt 027 966 98 11 *80-2-2 +02264 0000 002642230 220041029112UBS UBS SA Avenue de la Gare 2 Case postale 1920 Martigny 1 027 721 41 11 *80-2-2 UBSWCHZH19B +02264 0001 002642230 320041029112UBS UBS SA Immeuble Eden Case postale 417 1936 Verbier 1 027 775 47 11 *80-2-2 +02264 0003 002642230 320041029112UBS UBS SA Rue de Gottefrey 14 Case postale 1907 Saxon 027 743 46 11 *80-2-2 +02264 0004 002642230 320041029112UBS UBS SA Rue de la Poste Case postale 1926 Fully 027 747 69 11 *80-2-2 +02265 0000 002658230 220041029112UBS UBS SA Avenue de la Gare 36 Case postale 1951 Sion/Sitten 027 329 31 11 *80-2-2 UBSWCHZH19E +02265 0001 002658230 320041029112UBS UBS SA Centre Commercial Case postale 1997 Haute-Nendaz 027 289 61 11 *80-2-2 +02265 0005 002658230 320041029112UBS UBS SA Rue du Faubourg Case postale 1908 Riddes 027 306 18 04 *80-2-2 +02265 0006 002658230 320041029112UBS UBS SA Saint Germain Case postale 1965 Savièse 027 395 15 01 *80-2-2 +02266 0000 002663230 220041029112UBS UBS SA Avenue de la Gare 12 Case postale 1630 Bulle 026 913 25 11 *80-2-2 UBSWCHZH16C +02266 0001 002663230 320041029112UBS UBS SA Route de Vevey 30 Case postale 1618 Châtel-St-Denis 021 948 26 66 *80-2-2 +02267 0000 002679230 220050305111UBS UBS AG Albisriederplatz 8 Postfach 8040 Zürich 044 497 81 11 *80-2-2 UBSWCHZH80K +02267 0001 002679230 320050305111UBS UBS AG Albisrieden, Albisriederstrasse 361Postfach 8047 Zürich 044 404 35 00 *80-2-2 +02268 0000 002687230 220041029112UBS UBS SA Avenue Général-Guisan 1 Case postale 3960 Sierre/Siders 027 452 81 11 *80-2-2 UBSWCHZH39L +02268 0001 002687230 320041029112UBS UBS SA Rue du Prado Case postale 3963 Crans-sur-Sierre 027 486 91 11 *80-2-2 +02268 0002 002687230 320041029112UBS UBS SA Avenue de la Gare Case postale 434 3963 Montana 027 485 92 11 *80-2-2 +02269 0000 002695230 220050305111UBS UBS AG Oerlikon, Schaffhauserstrasse 339 Postfach 8050 Zürich 044 315 45 45 *80-2-2 UBSWCHZH80M +02270 0000 002705230 220050304111UBS UBS AG Wiedikon, Birmensdorferstrasse 123 Postfach 8036 Zürich 044 208 57 11 *80-2-2 UBSWCHZH80N +02271 0000 002710230 220050305111UBS UBS AG Postfach 8098 Zürich 044 238 11 11 *80-2-2 UBSWCHZH80A +02272 0000 002721230 220041029111UBS UBS AG Nidaugasse 49 Postfach 2501 Biel/Bienne 032 321 81 11 *80-2-2 UBSWCHZH25A +02272 0003 002721230 320041029111UBS UBS AG Marktplatz 6 Postfach 2540 Grenchen 1 032 654 93 11 *80-2-2 +02272 0007 002721230 320041029111UBS UBS AG Murtenstrasse 3 Postfach 3270 Aarberg 032 391 97 11 *80-2-2 +02272 0011 002721230 320041029111UBS UBS AG Bahnhofstrasse 2 Postfach 2555 Brügg BE 032 374 42 11 *80-2-2 +02272 0012 002721230 320041029111UBS UBS AG Centre Brügg / Erlenstrasse 40 Postfach 2555 Brügg BE 032 374 21 11 *80-2-2 +02272 0013 002721230 320041029111UBS UBS AG Hauptgasse 5 Postfach 3294 Büren an der Aare 032 352 13 11 *80-2-2 +02272 0014 002721230 320041029111UBS UBS AG Stadtgraben 4 Postfach 3235 Erlach 032 338 93 11 *80-2-2 +02272 0015 002721230 320041029111UBS UBS AG Bahnhofstrasse 11 Postfach 3232 Ins 032 312 95 11 *80-2-2 +02272 0016 002721230 320041029111UBS UBS AG Murtenstrasse 12 Postfach 3210 Kerzers 031 750 33 11 *80-2-2 +02272 0017 002721230 320041029111UBS UBS AG Marktplatz 9 Postfach 3250 Lyss 032 387 78 11 *80-2-2 +02272 0018 002721230 320041029111UBS UBS AG Hauptstrasse 10 Postfach 2560 Nidau 032 332 96 11 *80-2-2 +02273 0000 002736230 219990422111UBS UBS AG Baarerstrasse 14a Postfach 6301 Zug 041 727 33 33 *80-2-2 UBSWCHZH63A +02273 0001 002736230 320000407111UBS UBS AG Rathausplatz 5 Postfach 6460 Altdorf UR 041 874 44 44 *80-2-2 +02273 0002 002736230 319990422111UBS UBS AG Dorfplatz 2 Postfach 6330 Cham 041 784 42 42 *80-2-2 +02273 0003 002736230 319990422111UBS UBS AG Oberer Steisteg 20 Postfach 6431 Schwyz 041 819 52 52 *80-2-2 +02273 0004 002736230 320010623111UBS UBS AG Dorfstrasse 16 Postfach 6341 Baar 041 767 70 10 *80-2-2 +02274 0000 002744230 220050305111UBS UBS AG Bleicherweg 30 Postfach 8098 Zürich 044 208 51 11 *80-2-2 UBSWCHZH80Q +02275 0000 002752230 220050305111UBS UBS AG Höngg, Limmattalstrasse 180 Postfach 8049 Zürich 044 344 34 34 *80-2-2 UBSWCHZH80R +02276 0000 002768230 220050312111UBS UBS AG Bahnhofplatz 10 Postfach 8910 Affoltern am Albis 044 763 71 11 *80-2-2 UBSWCHZH89E +02276 0001 002768230 320050312111UBS UBS AG Zürcherstrasse 17 Postfach 8903 Birmensdorf ZH 044 739 43 43 *80-2-2 +02277 0000 002773230 220041030112UBS UBS SA Rue du Coppet 14 Case postale 1870 Monthey 1 024 473 71 11 *80-2-2 UBSWCHZH18L +02277 0001 002773230 320041103112UBS UBS SA Place Panaït-Istrati Case postale 1896 Vouvry 024 482 21 11 *80-2-2 +02278 0000 002789230 220050312111UBS UBS AG Schaffhauserstrasse 128 Postfach 8302 Kloten 044 815 85 11 *80-2-2 UBSWCHZH83A +02278 0001 002789230 320050312111UBS UBS AG Flughafen, Terminal A Postfach 8058 Zürich 044 804 84 84 *80-2-2 +02279 0000 002797230 220041029112UBS UBS SA Rue du Rhône 8 Case postale 1211 Genève 2 022 375 75 75 *80-2-2 UBSWCHZH12B +02279 0001 002797230 320041030112UBS UBS SA Rue du Marché 11 Case postale 1211 Genève 2 022 307 13 88 *80-2-2 +02279 0002 002797230 320041030112UBS UBS SA B.I.T. / Route des Morillons 4 Case postale 1211 Genève 22 022 929 15 88 *80-2-2 +02279 0003 002797230 320041030112UBS UBS SA Cern / Route de Meyrin 385 Case postale 1211 Genève 2 022 783 21 88 *80-2-2 +02279 0004 002797230 320041030112UBS UBS SA O.M.C. / Centre W. Rappard Case postale 1211 Genève 2 022 909 12 88 *80-2-2 +02279 0005 002797230 320041030112UBS UBS SA O.M.S. / Avenue Appia 20 Case postale 1211 Genève 27 022 929 15 11 *80-2-2 +02279 0006 002797230 320041030112UBS UBS SA UNO / Palais des Nations Case postale 1211 Genève 10 022 919 22 11 *80-2-2 +02279 0007 002797230 320041030112UBS UBS SA Vermont-Nat./Ch.Louis-Dunant 17 bisCase postale 1211 Genève 2 022 918 26 11 *80-2-2 +02279 0008 002797230 320041030112UBS UBS SA Rue de Genève 18 Case postale 1211 Genève 2 022 869 25 88 *80-2-2 +02279 0013 002797230 320041030112UBS UBS SA Plainpalais / Bv.du Pont-d'Arve 39 Case postale 1211 Genève 2 022 327 13 11 *80-2-2 +02283 0000 002839230 220050312111UBS UBS AG Schaffhauserstrasse 59 Postfach 8152 Glattbrugg 044 809 11 11 *80-2-2 UBSWCHZH81H +02284 0000 002847230 220000913111UBS UBS AG Gemeindehausplatz / Burgstrasse 1 Postfach 8750 Glarus 055 645 48 11 *80-2-2 UBSWCHZH87D +02285 0000 002855230 220050305111UBS UBS AG Altstetten, Badenerstrasse 678 Postfach 8048 Zürich 044 438 11 11 *80-2-2 UBSWCHZH80P +02287 0000 002871230 220010412111UBS UBS AG Schwertstrasse 2 Postfach 8201 Schaffhausen 052 633 77 77 *80-2-2 UBSWCHZH82A +02287 0001 002871230 320010623111UBS UBS AG Neuhausen a.R. / Zentralstrasse 2 Postfach 8201 Schaffhausen 052 633 77 77 *80-2-2 +02287 0004 002871230 320010705111UBS UBS AG Herblingermarkt / Stüdliackerstr. 4Postfach 8201 Schaffhausen 052 633 77 77 *80-2-2 +02288 0000 002886230 220041030111UBS UBS AG Sonnenplatz Postfach 6021 Emmenbrücke 1 041 269 75 75 *80-2-2 UBSWCHZH60G +02288 0001 002886230 320041030111UBS UBS AG Hauptstrasse 5 Postfach 6281 Hochdorf 041 914 71 71 *80-2-2 +02288 0002 002886230 320041030111UBS UBS AG Bahnhofstrasse 31 Postfach 6210 Sursee 041 925 65 65 *80-2-2 +02288 0003 002886230 320041030111UBS UBS AG Centralstrasse 2 Postfach 6215 Beromünster 041 932 45 45 *80-2-2 +02288 0009 002886230 320041030111UBS UBS AG Unterfeld 4 A Postfach 6102 Malters 041 499 68 68 *80-2-2 +02288 0010 002886230 320041030111UBS UBS AG Bahnhofstrasse 20 Postfach 6110 Wolhusen 041 492 57 57 *80-2-2 +02288 0011 002886230 320041030111UBS UBS AG Emmen-Center Postfach 6032 Emmen 041 269 75 75 *80-2-2 +02290 0000 002903230 220041030112UBS UBS SA Place Pury 5 Case postale 2001 Neuchâtel 032 722 41 11 *80-2-2 UBSWCHZH20A +02290 0001 002903230 320041030112UBS UBS SA Avenue de la Gare 3 Case postale 452 2114 Fleurier 032 862 15 11 *80-2-2 +02290 0002 002903230 320041030112UBS UBS SA Place de la Fontaine 4 Case postale 25 2034 Peseux 032 732 14 11 *80-2-2 +02290 0005 002903230 320041030112UBS UBS SA Avenue du Collège 8 Case postale 98 2017 Boudry 032 843 89 11 *80-2-2 +02290 0006 002903230 320041030112UBS UBS SA Rue de la Gare 10 Case postale 348 2525 Landeron, Le 032 752 33 11 *80-2-2 +02291 0000 002919230 220050312111UBS UBS AG Zentrum Postfach 8105 Regensdorf 1 044 842 60 60 *80-2-2 UBSWCHZH81A +02292 0000 002927230 220041030111UBS UBS AG Aeschenvorstadt 1 Postfach 4002 Basel 061 288 50 50 *80-2-2 UBSWCHZH40M +02293 0000 002935230 220050312111UBS UBS AG Bahnhofstrasse 47 Postfach 8803 Rüschlikon 044 704 63 63 *80-2-2 UBSWCHZH88C +02293 0001 002935230 320050312111UBS UBS AG Albisstrasse 6 Postfach 8134 Adliswil 1 044 711 14 14 *80-2-2 +02294 0000 002940230 220050204111UBS UBS AG Bahnhofplatz 14 Postfach 3930 Visp/Viège 027 948 97 11 *80-2-2 UBSWCHZH39G +02294 0001 002940230 320041030111UBS UBS AG Haus Metropol Postfach 69 3940 Steg VS 027 933 93 11 *80-2-2 +02294 0002 002940230 320041030111UBS UBS AG Dorfplatz Postfach 3925 Grächen 027 955 22 00 *80-2-2 +02294 0003 002940230 320041030111UBS UBS AG Haus City, Dorfstrasse 3 Postfach 3954 Leukerbad 027 472 78 11 *80-2-2 +02294 0004 002940230 320041030111UBS UBS AG Sustenstrasse 21 Postfach 3952 Susten 027 474 96 00 *80-2-2 +02295 0000 002951230 219990422111UBS UBS AG Bahnhofplatz 4 Postfach 9430 St. Margrethen SG 071 747 88 11 *80-2-2 UBSWCHZH94F +02296 0000 002966230 220050312111UBS UBS AG Bahnhofstrasse 156 Postfach 8622 Wetzikon ZH 2 044 933 51 11 *80-2-2 UBSWCHZH86Q +02296 0001 002966230 320050312111UBS UBS AG Seestrasse 27 Postfach 8330 Pfäffikon ZH 044 952 11 11 *80-2-2 +02297 0000 002974230 220041030112UBS UBS SA Rue de Neuchâtel 1 Case postale 1401 Yverdon-les-Bains 024 424 16 11 *80-2-2 UBSWCHZH14A +02298 0000 002982230 220050305111UBS UBS AG Bahnhofstrasse 45 Corporate Center 8098 Zürich 044 234 11 11 *80-2-2 UBSWCHZH80A +044003 0000 0400354835 220050319111CS CREDIT SUISSE (4) Bahnhofstrasse 20 Postfach 2503 5001 Aarau 062 836 31 31 062 836 33 00 *30-3200-1 CRESCHZZ50A +044006 0000 0400664835 219990528111CS CREDIT SUISSE (4) Zentralstrasse 42 Case postale 2501 Biel/Bienne 032 329 52 52 032 322 18 58 *30-3200-1 CRESCHZZ25A +044017 0000 0401784835 219990311111CS CREDIT SUISSE (4) Baslerstrasse 62 Postfach 1228 4123 Allschwil 1 061 486 38 38 061 486 38 84 *30-3200-1 CRESCHZZ41D +044020 0000 0402064835 219990311111CS CREDIT SUISSE (4) Tellsgasse 10 Postfach 293 6460 Altdorf UR 041 875 66 44 041 875 65 65 *30-3200-1 CRESCHZZ64K +044023 0000 0402384835 219990311111CS CREDIT SUISSE (4) Marktgasse 52 Postfach 163 9450 Altstätten SG 071 757 76 76 071 757 76 66 *80-500-4 CRESCHZZ94N +044036 0000 0403644835 219990311111CS CREDIT SUISSE (4) Dorfplatz Postfach 335 7050 Arosa 081 378 62 62 081 378 62 63 *80-500-4 CRESCHZZ70E +044041 0000 0404164835 219990522113CS CREDIT SUISSE (4) Viale B. Papio 6 Casella postale 6612 Ascona 091 785 74 11 091 792 17 32 *69-3008-1 CRESCHZZ66C +044047 0000 0404774835 220010808111CS CREDIT SUISSE (4) Dorfstrasse 13 Postfach 68 6341 Baar 041 727 94 44 041 727 94 95 *30-3200-1 CRESCHZZ63K +044049 0000 0404904835 219990311111CS CREDIT SUISSE (4) Dorfplatz 14 Postfach 45 7310 Bad Ragaz 081 303 47 11 081 303 47 12 *80-500-4 CRESCHZZ73C +044050 0000 0405044835 219990311111CS CREDIT SUISSE (4) Badstrasse 11 Postfach 1731 5401 Baden 056 200 26 00 056 200 26 11 *80-500-4 CRESCHZZ54A +044055 0000 0405574835 220000115113CS CREDIT SUISSE (4) Piazza Indipendenza 5 Casella postale 8 6830 Chiasso 091 802 46 46 091 802 42 90 *69-3008-1 CRESCHZZ68F +044060 0000 0406084835 219990528111CS CREDIT SUISSE (4) St. Alban-Graben 1-3 Postfach 2560 4002 Basel 061 266 77 11 061 266 77 33 *30-3200-1 CRESCHZZ40A +044061 0000 0406134835 220010923111CS CREDIT SUISSE (4) Claraplatz, Untere Rebgasse 7 Postfach 84 4005 Basel 061 266 72 11 061 266 72 52 *30-3200-1 CRESCHZZ40A +044073 0000 0407344835 220010526111CS CREDIT SUISSE (4) Schiffsfinanzierungen Postfach 4147 4002 Basel 061 266 77 11 *30-3200-1 CRESCHZZ40A +044083 0000 0408364835 220010923111CS CREDIT SUISSE (4) Spalenberg 65 Postfach 2164 4001 Basel 061 277 88 11 061 277 89 00 *30-3200-1 CRESCHZZ10C +044088 0000 0408894835 220050312111CS CREDIT SUISSE (4) Schaffhauserstrasse 144 Postfach 8302 Kloten 044 804 71 71 044 804 71 70 *80-500-4 CRESCHZZ83A +044090 0000 0409024835 220000602113CS CREDIT SUISSE (4) Viale Stazione 19 Casella postale 2025 6501 Bellinzona 091 821 99 11 091 821 99 01 *69-3008-1 CRESCHZZ65A +044094 0000 0409474835 220030621111CS CREDIT SUISSE (4) Bundesplatz 2 Postfach 5364 3001 Bern 031 358 81 11 031 358 71 68 30-3200-1 CRESCHZZ30A +044097 0000 0409714835 220000407111CS CREDIT SUISSE (4) Bünpliz, Rehhagstrasse 2 Postfach 788 3018 Bern 031 998 18 18 031 991 31 05 *30-3200-1 CRESCHZZ30B +044103 00004893 0410384835 220030123111CS CREDIT SUISSE (4) Postfach 2 8070 Zürich 01 334 40 20 01 334 90 10 *80-500-4 CRESCHZZ80A +044105 00004835 0410594835 120030619111CS CREDIT SUISSE (4) Postfach 2 8070 Zürich 01 334 40 20 01 334 90 10 *80-500-4 CRESCHZZ80A +044106 0000 0410674835 220050305111CS CREDIT SUISSE (4) Postfach 2 8070 Zürich 044 334 40 20 044 334 90 10 *80-500-4 CRESCHZZ80A +044108 0000 0410804835 220000115113CS CREDIT SUISSE (4) Viale Stazione 19 Casella postale 2025 6501 Bellinzona 091 821 99 11 091 821 99 01 *69-3008-1 CRESCHZZ65A +044112 0000 0411254835 219981225112CS CREDIT SUISSE (4) Zentralstrasse 42 Case postale 1165 2501 Biel/Bienne 032 329 52 52 032 322 18 58 *30-3200-1 CRESCHZZ25A +044115 0000 0411564835 219990311111CS CREDIT SUISSE (4) Hauptstrasse 49 Postfach 165 4102 Binningen 061 426 51 11 061 426 51 00 *30-3200-1 CRESCHZZ41A +044132 0000 0413284835 220010623111CS CREDIT SUISSE (4) Bahnhofstrasse 13 Postfach 480 3900 Brig/Brigue 027 922 91 11 027 922 91 81 *30-3200-1 CRESCHZZ39A +044141 0000 0414134835 219990311111CS CREDIT SUISSE (4) Bahnhofstrasse 48 Postfach 248 9471 Buchs SG 1 081 755 66 11 081 755 66 55 *80-500-4 CRESCHZZ94P +044144 0000 0414454835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 28 Postfach 156 8180 Bülach 044 872 21 11 044 872 22 12 *80-500-4 CRESCHZZ81M +044147 0000 0414764835 219990522112CS CREDIT SUISSE (4) Place du Tilleul 9 Case postale 614 1630 Bulle 026 919 17 17 026 919 17 18 *12-35-2 CRESCHZZ16C +044150 0000 0415004835 220010623111CS CREDIT SUISSE (4) Bahnhofplatz Postfach 864 3401 Burgdorf 034 428 63 63 034 423 17 89 *30-3200-1 CRESCHZZ34A +044155 0000 0415584835 220000115113CS CREDIT SUISSE (4) Via G. Vagezzi 1 Casella postale 6901 Lugano 091 802 51 11 091 802 58 60 *69-3008-1 CRESCHZZ69M +044156 0000 0415634835 220000126112CS CREDIT SUISSE (4) Place du Marché 12 Case postale 100 1227 Carouge GE 022 304 42 00 022 304 42 42 *12-35-2 CRESCHZZ12S +044163 0000 0416364835 219990528112CS CREDIT SUISSE (4) Avenue Léopold-Robert 58 Case postale 358 2301 Chaux-de-Fonds, La 032 911 97 11 032 911 97 19 *12-35-2 CRESCHZZ23A +044172 0000 0417234835 219981225113CS CREDIT SUISSE (4) Piazza Indipendenza 5 Casella postale 8 6830 Chiasso 1 091 802 46 46 091 802 42 90 *69-3008-1 CRESCHZZ68B +044175 0000 0417554835 219990311111CS CREDIT SUISSE (4) Bahnhofstrasse 12 Postfach 585 7001 Chur 081 255 60 11 081 255 61 50 *80-500-4 CRESCHZZ70A +044177 0000 0417714835 220000226113CS CREDIT SUISSE (4) Piazza Indipendenza 5 Casella postale 6830 Chiasso 091 802 46 46 091 802 42 90 *69-3008-1 CRESCHZZ68D +044182 0000 0418274835 219990629111CS CREDIT SUISSE (4) Immeuble Grand-Place Case postale 136 3963 Crans-sur-Sierre 027 485 85 11 027 485 85 95 *12-35-2 CRESCHZZ39N +044187 0000 0418744835 219990311111CS CREDIT SUISSE (4) Promenade 65 Postfach 150 7270 Davos Platz 1 081 415 32 11 081 415 32 12 *80-500-4 CRESCHZZ72D +044188 0000 0418824835 219990421111CS CREDIT SUISSE (4) Promenade 65 Postfach 43 7270 Davos Platz 1 081 415 32 11 081 415 32 12 *80-500-4 CRESCHZZ72D +044190 0000 0419074835 219990311112CS CREDIT SUISSE (4) Rue de la Maltière 2 Case postale 237 2800 Delémont 1 032 421 95 55 032 421 95 88 *12-35-2 CRESCHZZ28A +044192 0000 0419204835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 34 Postfach 151 8304 Wallisellen 044 839 24 24 044 839 24 25 *80-500-4 CRESCHZZ83M +044193 0000 0419314835 220050312111CS CREDIT SUISSE (4) Kirchstrasse 20 Postfach 860 8953 Dietikon 1 044 743 81 11 044 743 81 12 *80-500-4 CRESCHZZ89E +044199 0000 0419994835 220050312111CS CREDIT SUISSE (4) Zürichstrasse 8 Postfach 113 8600 Dübendorf 044 802 11 33 044 820 13 09 *80-500-4 CRESCHZZ86A +044204 0000 0420424835 219990311111CS CREDIT SUISSE (4) Riedmattstrasse 12 Postfach 361 6031 Ebikon 041 445 72 72 041 445 72 00 *30-3200-1 CRESCHZZ60K +044209 0000 0420954835 220050312111CS CREDIT SUISSE (4) Friedbergstrasse 9 Postfach 350 8820 Wädenswil 044 783 31 11 044 783 33 11 *80-500-4 CRESCHZZ88H +044210 0000 0421054835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 28 Postfach 8180 Bülach 044 872 21 11 044 872 21 12 *80-500-4 CRESCHZZ81M +044213 0000 0421364835 220010418111CS CREDIT SUISSE (4) Gerliswilstrasse 71 Postfach 1242 6021 Emmenbrücke 1 041 268 62 68 041 268 61 90 *30-3200-1 CRESCHZZ60G +044216 0000 0421684835 220001222111CS CREDIT SUISSE (4) Bahnhofstrasse 2 Postfach 971 6371 Stans 041 618 68 68 041 618 68 33 *30-3200-1 CRESCHZZ63P +044226 0000 0422604835 219990521111CS CREDIT SUISSE (4) Via Gronda Postfach 156 7017 Flims Dorf 081 928 22 11 081 928 22 12 *80-500-4 CRESCHZZ70C +044230 0000 0423034835 220020810111CS CREDIT SUISSE (4) Bankplatz 3 Postfach 931 8501 Frauenfeld 052 728 66 11 052 728 66 66 *80-500-4 CRESCHZZ85A +044235 0000 0423514835 219990522112CS CREDIT SUISSE (4) Avenue de la Gare 13 Case postale 1701 Fribourg 026 350 91 11 026 350 95 00 *12-35-2 CRESCHZZ17A +044243 0000 0424314835 219990311111CS CREDIT SUISSE (4) Allmendmarkt Postfach 360 4460 Gelterkinden 061 985 42 42 061 985 42 24 *30-3200-1 CRESCHZZ44F +044251 0000 0425144835 220030621112CS CREDIT SUISSE (4) Place Bel-Air 2 Case postale 100 1211 Genève 70 022 391 21 11 022 391 25 91 12-35-2 CRESCHZZ12A +044254 0000 0425434835 220000407112CS CREDIT SUISSE (4) Praille, Route des Acacias 80 Case postale 100 1211 Genève 022 391 25 00 022 391 25 07 *12-35-2 CRESCHZZ12B +044266 0000 0426644835 220000407112CS CREDIT SUISSE (4) Balexert, Avenue Louis-Casaï 27 Case postale 100 1211 Genève 022 979 12 00 022 979 12 12 *12-35-2 CRESCHZZ12H +044267 0000 0426724835 220000407112CS CREDIT SUISSE (4) Cornavin, Rue de Lausanne 11 - 19 Case postale 1332 1211 Genève 022 391 21 31 022 391 41 17 *12-35-2 CRESCHZZ12K +044271 0000 0427164835 220000407112CS CREDIT SUISSE (4) Champel, Avenue de Champel 8c Case postale 100 1211 Genève 022 839 48 48 022 839 48 49 *12-35-2 CRESCHZZ12D +044272 0000 0427244835 220000407112CS CREDIT SUISSE (4) Cornavin, Rue de Lausanne 11 - 19 Case postale 100 1211 Genève 022 391 21 31 022 391 41 17 *12-35-2 CRESCHZZ12G +044274 0000 0427484835 220000407112CS CREDIT SUISSE (4) Eaux-Vives, Rue Versonnex 11 Case postale 100 1211 Genève 022 707 71 11 022 707 71 15 *12-35-2 CRESCHZZ12E +044278 0000 0427854835 220000407112CS CREDIT SUISSE (4) Cointrin, Avenue Louis-Casaï 27 Case postale 100 1211 Genève 022 979 12 00 022 979 12 12 *12-35-2 CRESCHZZ12C +044279 0000 0427904835 220000407112CS CREDIT SUISSE (4) Balexert, Avenue Louis-Casaï 27 Case postale 535 1211 Genève 022 979 12 00 022 979 12 12 *12-35-2 CRESCHZZ12C +044280 0000 0428044835 220000602112CS CREDIT SUISSE (4) Cornavin, Rue de Lausanne 11 - 19 Case postale 1384 1211 Genève 022 391 21 31 022 391 41 17 *12-35-2 CRESCHZZ12G +044281 0000 0428124835 220000407112CS CREDIT SUISSE (4) Petit-Lancy, Route de Chancy 59 Case postale 100 1211 Genève 022 391 31 31 022 391 30 90 *12-35-2 CRESCHZZ12I +044322 0000 0432214835 219990421113CS CREDIT SUISSE (4) Viale Stazione 19 Casella postale 2025 6501 Bellinzona 091 821 99 11 091 821 99 01 *69-3008-1 CRESCHZZ65A +044323 0000 0432364835 219990311111CS CREDIT SUISSE (4) Bankgasse 22 Postfach 466 8750 Glarus 055 646 21 11 055 646 22 20 *80-500-4 CRESCHZZ87L +044334 0000 0433474835 219990629111CS CREDIT SUISSE (4) Am Marktplatz Postfach 127 2540 Grenchen 032 654 23 23 032 652 22 65 *30-3200-1 CRESCHZZ25G +044337 0000 0433714835 219990421111CS CREDIT SUISSE (4) Höheweg 3 Postfach 3800 Interlaken 033 826 66 66 033 826 66 65 *30-3200-1 CRESCHZZ38A +044339 0000 0433944835 219981225111CS CREDIT SUISSE (4) Promenade Postfach 315 3780 Gstaad 033 748 97 97 033 744 62 21 *30-3200-1 CRESCHZZ37L +044343 0000 0434354835 219990421111CS CREDIT SUISSE (4) Marktgasse 29 Postfach 4902 Langenthal 062 916 59 59 062 923 23 80 *30-3200-1 CRESCHZZ49A +044353 0000 0435314835 219990421111CS CREDIT SUISSE (4) Gerliswilstrasse 71 Postfach 47 6021 Emmenbrücke 1 041 268 62 68 041 268 61 90 *30-3200-1 CRESCHZZ62L +044355 0000 0435544835 220050312111CS CREDIT SUISSE (4) Alte Landstrasse 24 Postfach 176 8810 Horgen 044 727 71 11 044 727 71 12 *80-500-4 CRESCHZZ88G +044358 0000 0435834835 219990311111CS CREDIT SUISSE (4) Kantonsstrasse 40 Postfach 379 6048 Horw 041 349 63 63 041 349 63 64 *30-3200-1 CRESCHZZ60M +044363 0000 0436384835 219990421111CS CREDIT SUISSE (4) Via Gronda Postfach 156 7017 Flims Dorf 081 928 22 11 081 928 22 12 *80-500-4 CRESCHZZ71A +044367 0000 0436754835 219990421111CS CREDIT SUISSE (4) Höheweg 3 Postfach 193 3800 Interlaken 033 826 66 66 033 826 65 65 *30-3200-1 CRESCHZZ38A +044373 0000 0437304835 219990421111CS CREDIT SUISSE (4) Untere Bahnhofstrasse 28 Postfach 1174 8640 Rapperswil SG 055 222 81 11 055 222 81 16 *80-500-4 CRESCHZZ86M +044381 0000 0438164835 219990311111CS CREDIT SUISSE (4) Bahnhofstrasse 13 Postfach 91 7250 Klosters 081 423 32 11 081 423 32 02 *80-500-4 CRESCHZZ72B +044383 0000 0438324835 220050312111CS CREDIT SUISSE (4) Flughafen Postfach 1482 8058 Zürich 044 804 37 11 044 804 37 13 *80-500-4 CRESCHZZ80V +044384 0000 0438484835 220050312111CS CREDIT SUISSE (4) Schaffhauserstrasse 144 Postfach 875 8302 Kloten 044 804 71 71 044 804 71 70 *80-500-4 CRESCHZZ80V +044396 0000 0439654835 219990421111CS CREDIT SUISSE (4) Bundesplatz 2 Postfach 3001 Bern 031 358 81 11 031 358 71 68 *30-3200-1 CRESCHZZ30A +044400 0000 0440074835 220010623111CS CREDIT SUISSE (4) Hauptstrasse 33 Postfach 1270 8280 Kreuzlingen 1 071 677 44 44 071 677 43 24 *80-500-4 CRESCHZZ82P +044405 0000 0440544835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 4 Postfach 1519 8700 Küsnacht ZH 044 914 15 11 044 914 15 95 *80-500-4 CRESCHZZ87A +044412 0000 0441224835 219990521111CS CREDIT SUISSE (4) Schützenstrasse 7 Postfach 383 8853 Lachen SZ 055 451 81 81 055 451 82 40 *80-500-4 CRESCHZZ88M +044413 0000 0441384835 219990421113CS CREDIT SUISSE (4) Via Vedeggio Casella postale 134 6814 Lamone 091 961 88 11 091 966 36 38 *69-3008-1 CRESCHZZ68E +044419 0000 0441914835 219990421111CS CREDIT SUISSE (4) Marktgasse 29 Postfach 496 4902 Langenthal 062 916 59 59 062 923 23 80 *30-3200-1 CRESCHZZ49A +044424 0000 0442414835 219990629112CS CREDIT SUISSE (4) Rue du Grand Pont 6 Case postale 2493 1002 Lausanne 021 340 11 11 021 340 33 33 *12-35-2 CRESCHZZ10A +044425 0000 0442564835 219990528112CS CREDIT SUISSE (4) Rue du Lion d'Or 5 - 7 Case postale 2493 1002 Lausanne 021 340 11 11 021 340 33 33 *12-35-2 CRESCHZZ10A +044427 0000 0442724835 219990421112CS CREDIT SUISSE (4) Rue du Lion d'Or 5 - 7 Case postale 2493 1002 Lausanne 021 340 11 11 021 340 33 33 *12-35-2 CRESCHZZ10D +044428 0000 0442884835 219990421112CS CREDIT SUISSE (4) Rue du Lion d'Or 5 - 7 Case postale 2493 1002 Lausanne 021 340 11 11 021 340 33 33 *12-35-2 CRESCHZZ10A +044429 0000 0442934835 219990427112CS CREDIT SUISSE (4) Rue du Lion d'Or 5 - 7 Case postale 2493 1002 Lausanne 021 340 11 11 021 340 33 33 *12-35-2 CRESCHZZ10E +044441 0000 0444124730 219990421111NAB Neue Aargauer Bank Bahnhofplatz 1 Postfach 560 5600 Lenzburg 062 888 55 55 062 888 55 45 50-1998-7 AHHBCH2256A +044446 0000 0444654835 220010623111CS CREDIT SUISSE (4) Rheinstrasse 8 Postfach 618 4410 Liestal 061 925 71 11 061 925 72 05 *30-3200-1 CRESCHZZ44A +044451 0000 0445134835 220010623113CS CREDIT SUISSE (4) Via A. Ciseri 10 Casella postale 5600 6601 Locarno 091 756 81 11 091 756 83 71 *69-3008-1 CRESCHZZ66A +044455 0000 0445504835 220010923113CS CREDIT SUISSE (4) Via Canova 15 Casella postale 2836 6901 Lugano 091 802 51 11 091 802 58 60 *69-3008-1 CRESCHZZ69B +044456 0000 0445614835 219990421113CS CREDIT SUISSE (4) Via Canova 15 Casella postale 2836 6901 Lugano 091 802 51 11 091 802 58 60 69-3008-1 CRESCHZZ69A +044457 0000 0445764835 220010526113CS CREDIT SUISSE (4) Via Canova 15 Casella postale 2836 6901 Lugano 091 802 51 11 091 802 58 60 *69-3008-1 CRESCHZZ69A +044458 0000 0445844835 220000407113CS CREDIT SUISSE (4) Via Canova 15 Casella postale 6901 Lugano 091 802 51 11 091 802 58 60 *69-3008-1 CRESCHZZ69A +044459 0000 0445924835 220010623113CS CREDIT SUISSE (4) Casella postale 6901 Lugano 091 802 51 11 091 802 58 60 *69-3008-1 CRESCHZZ69B +044463 0000 0446344835 220010623111CS CREDIT SUISSE (4) Schwanenplatz 8 Postfach 4569 6002 Luzern 041 419 11 11 041 419 12 20 *30-3200-1 CRESCHZZ60A +044465 0000 0446584835 220010623111CS CREDIT SUISSE (4) Schwanenplatz 8 Postfach 4569 6002 Luzern 041 419 11 11 041 419 12 20 *30-3200-1 CRESCHZZ60A +044467 0000 0446794835 220010623111CS CREDIT SUISSE (4) Schwanenplatz 8 Postfach 4569 6002 Luzern 041 419 11 11 041 419 12 20 *30-3200-1 CRESCHZZ60A +044469 0000 0446954835 220030625113CS CREDIT SUISSE (4) Via Canova 15 Casella postale 2836 6901 Lugano 091 802 51 11 091 802 58 60 *69-3008-1 CRESCHZZ69N +044480 0000 0448024835 219990311112CS CREDIT SUISSE (4) Avenue de la Gare 21 Case postale 192 1920 Martigny 1 027 721 11 11 027 721 12 11 *12-35-2 CRESCHZZ19B +044486 0000 0448604835 220050312111CS CREDIT SUISSE (4) Dorfstrasse 93 Postfach 827 8706 Meilen 044 925 08 11 044 925 08 10 *80-500-4 CRESCHZZ87D +044488 0000 0448864835 219990522111CS CREDIT SUISSE (4) Höheweg 3 Postfach 193 3800 Interlaken 033 826 66 66 033 826 65 65 *30-3200-1 CRESCHZZ38A +044490 0000 0449034835 219990421113CS CREDIT SUISSE (4) Via Lavizzari 21 Casella postale 137 6850 Mendrisio 091 640 94 11 091 646 34 43 *69-3008-1 CRESCHZZ68C +044497 0000 0449744835 219981225113CS CREDIT SUISSE (4) Centro Commerciale Borenc Casella postale 1172 6648 Minusio 091 759 11 11 091 759 11 19 *69-3008-1 CRESCHZZ66E +044499 0000 0449984835 220010623111CS CREDIT SUISSE (4) Olten-A Postfach 4601 Olten 062 205 65 11 062 205 65 12 *30-3200-1 CRESCHZZ46A +044500 0000 0450094835 219990311112CS CREDIT SUISSE (4) Avenue de la Gare 8 Case postale 1476 1870 Monthey 2 024 473 55 11 024 473 55 55 *12-35-2 CRESCHZZ18L +044503 0000 0450304835 220010623112CS CREDIT SUISSE (4) Place de la Paix 1 Case postale 176 1820 Montreux 1 021 962 76 11 021 963 53 62 *12-35-2 CRESCHZZ18D +044507 0000 0450724835 219990311112CS CREDIT SUISSE (4) Grand-Rue 52 Case postale 477 1110 Morges 1 021 804 78 11 021 802 16 09 *12-35-2 CRESCHZZ11A +044520 0000 0452044835 219981225111CS CREDIT SUISSE (4) Thunstrasse 70 Postfach 424 3074 Muri b. Bern 031 358 75 00 031 358 86 25 *30-3200-1 CRESCHZZ30N +044528 0000 0452814835 220010623111CS CREDIT SUISSE (4) Hauptstrasse 82 Postfach 512 4132 Muttenz 1 061 467 59 59 061 467 59 55 *30-3200-1 CRESCHZZ41G +044531 0000 0453134835 220010623112CS CREDIT SUISSE (4) Place Pury 4 Case postale 556 2001 Neuchâtel 032 720 95 11 032 720 99 50 *12-35-2 CRESCHZZ20A +044541 0000 0454114835 219990311112CS CREDIT SUISSE (4) Rue de la Gare 45 Case postale 279 1260 Nyon 1 022 994 81 11 022 994 81 80 *12-35-2 CRESCHZZ12T +044556 0000 0455684835 220010623111CS CREDIT SUISSE (4) Froburgstrasse 1 Postfach 410 4601 Olten 062 205 65 11 062 205 65 12 *30-3200-1 CRESCHZZ46A +044565 0000 0456554835 219990629111CS CREDIT SUISSE (4) Bernstrasse 34 Postfach 3072 Ostermundigen 031 939 72 22 031 931 96 15 *30-3200-1 CRESCHZZ30M +044570 0000 0457034835 219990311111CS CREDIT SUISSE (4) Schindellegistrasse 3 Postfach 59 8808 Pfäffikon SZ 055 416 01 01 055 416 02 02 *80-500-4 CRESCHZZ88F +044573 0000 0457354835 219990421113CS CREDIT SUISSE (4) Via Lugano Casella postale 168 6988 Ponte Tresa 091 611 86 11 091 606 26 88 *69-3008-1 CRESCHZZ69L +044574 0000 0457404835 219990311111CS CREDIT SUISSE (4) Villa Bellavita Postfach 120 7504 Pontresina 081 838 92 92 081 838 92 93 *80-500-4 CRESCHZZ75C +044580 0000 0458074835 219990311111CS CREDIT SUISSE (4) Bahnhofstrasse 11 Postfach 1255 4133 Pratteln 1 061 826 15 15 061 826 15 51 *30-3200-1 CRESCHZZ41H +044585 0000 0458544835 219990629112CS CREDIT SUISSE (4) Rue de la Maltière 2 Case postale 237 2800 Delémont 1 032 421 95 55 032 421 95 88 *12-35-2 CRESCHZZ28A +044589 0000 0458994835 219990629112CS CREDIT SUISSE (4) Place de la Gare 1 Case postale 128 1009 Pully 021 721 73 73 021 729 40 37 *12-35-2 CRESCHZZ10N +044595 0000 0459594835 219990421111CS CREDIT SUISSE (4) Untere Bahnhofstrasse 28 Postfach 1174 8640 Rapperswil SG 055 222 81 11 055 222 81 16 *80-500-4 CRESCHZZ86M +044596 0000 0459674835 220010623111CS CREDIT SUISSE (4) Hauptstrasse 36 Postfach 364 4153 Reinach BL 061 715 32 32 061 715 32 55 *30-3200-1 CRESCHZZ41Q +044596 0001 0459674835 320010706111CS CREDIT SUISSE (4) Hauptstrasse 36 Postfach 364 4147 Aesch BL 061 715 32 32 061 715 32 55 *30-3200-1 CRESCHZZ41Q +044598 0000 0459804835 220050312111CS CREDIT SUISSE (4) Watterstrasse 100 Postfach 410 8105 Regensdorf 1 044 871 35 35 044 871 35 36 *80-500-4 CRESCHZZ81A +044605 0000 0460574835 219990311112CS CREDIT SUISSE (4) Avenue de la Poste 1 Case postale 541 1020 Renens VD 1 021 631 95 11 021 635 70 88 *12-35-2 CRESCHZZ10P +044607 0000 0460704835 219990311111CS CREDIT SUISSE (4) Kaiserstrasse 4 Postfach 661 4310 Rheinfelden 1 061 836 33 33 061 836 33 66 *30-3200-1 CRESCHZZ43A +044614 0000 0461454835 219990311111CS CREDIT SUISSE (4) Baselstrasse 20 Postfach 396 4125 Riehen 1 061 645 59 11 061 645 59 22 *30-3200-1 CRESCHZZ41E +044616 0000 0461614835 219990311111CS CREDIT SUISSE (4) Bahnhofstrasse 3 Postfach 90 8590 Romanshorn 1 071 466 91 61 071 466 91 91 *80-500-4 CRESCHZZ85F +044625 0000 0462584835 219981225113CS CREDIT SUISSE (4) Piazzetta Casella postale 141 6535 Roveredo GR 091 820 79 11 091 827 23 49 *69-3008-1 CRESCHZZ65C +044631 0000 0463104835 220010623112CS CREDIT SUISSE (4) Place Pury 4 Case postale 556 2001 Neuchâtel 032 720 95 11 032 720 99 50 *12-35-2 CRESCHZZ20A +044637 0000 0463734835 219990311111CS CREDIT SUISSE (4) St. Leonhardstrasse 33 Postfach 563 9001 St. Gallen 071 226 31 11 071 226 34 34 *80-500-4 CRESCHZZ90A +044642 0000 0464234835 219990629111CS CREDIT SUISSE (4) St. Leonhardstrasse 33 Postfach 563 9001 St. Gallen 071 226 31 11 071 226 34 34 *80-500-4 CRESCHZZ90A +044644 0000 0464474835 219990311111CS CREDIT SUISSE (4) Grenzstrasse 11 Postfach 174 9430 St. Margrethen SG 071 747 63 63 071 747 63 00 *80-500-4 CRESCHZZ94F +044647 0000 0464714835 219990311111CS CREDIT SUISSE (4) Via Maistra 5 Postfach 4500 7500 St. Moritz 1 081 837 81 11 081 837 83 00 *80-500-4 CRESCHZZ75A +044648 0000 0464864835 219990629111CS CREDIT SUISSE (4) Via Maistra 5 Postfach 7500 St. Moritz 1 081 837 81 11 081 837 83 00 *80-500-4 CRESCHZZ75A +044654 0000 0465404835 219990311111CS CREDIT SUISSE (4) Plazzet 3 Postfach 48 7503 Samedan 081 851 11 11 081 851 11 12 *80-500-4 CRESCHZZ75B +044655 0000 0465514835 219990521111CS CREDIT SUISSE (4) Chasa Riva Postfach 122 7563 Samnaun Dorf 081 861 80 50 081 868 54 56 *80-500-4 CRESCHZZ75L +044656 0000 0465664835 219990311111CS CREDIT SUISSE (4) Poststrasse 5 Postfach 1459 6061 Sarnen 1 041 666 78 78 041 666 78 00 *30-3200-1 CRESCHZZ60P +044658 0000 0465824835 219990629112CS CREDIT SUISSE (4) Avenue de la Gare 21 Case postale 192 1920 Martigny 1 027 721 11 11 027 721 12 11 *12-35-2 CRESCHZZ19A +044659 0000 0465984835 220010623111CS CREDIT SUISSE (4) Bahnhofstrasse 22 - 28 Postfach 1336 8201 Schaffhausen 052 630 44 44 052 630 43 85 *80-500-4 CRESCHZZ82A +044660 0000 0466074835 220050305111CS CREDIT SUISSE (4) Postfach 2 8070 Zürich 044 334 40 20 044 334 90 10 *80-500-4 CRESCHZZ80A +044663 0000 0466314835 220050312111CS CREDIT SUISSE (4) Kirchstrasse 20 Postfach 860 8953 Dietikon 1 044 743 81 11 044 743 81 12 *80-500-4 CRESCHZZ89D +044665 0000 0466544835 219990602111CS CREDIT SUISSE (4) Oltnerstrasse 7 Postfach 73 5012 Schönenwerd 062 858 77 00 062 858 77 10 *30-3200-1 CRESCHZZ50B +044667 0000 0466784835 219990521111CS CREDIT SUISSE (4) Center Augustin Postfach 164 7550 Scuol 081 861 02 11 081 861 02 12 *80-500-4 CRESCHZZ75H +044671 0000 0467144835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 36 Postfach 221 8603 Schwerzenbach 044 806 62 11 044 806 62 22 *80-500-4 CRESCHZZ86B +044674 0000 0467434835 220020311111CS CREDIT SUISSE (4) Postplatz 11 Postfach 363 6431 Schwyz 041 819 61 11 041 819 62 89 *30-3200-1 CRESCHZZ64E +044678 0000 0467804835 219990629111CS CREDIT SUISSE (4) Avenue Général-Guisan 6 Postfach 312 3960 Sierre/Siders 027 452 31 11 027 452 32 10 *12-35-2 CRESCHZZ39L +044680 0000 0468094835 219990528112CS CREDIT SUISSE (4) Avenue du Midi 12 Case postale 349 1951 Sion/Sitten 027 329 71 11 027 329 71 79 *12-35-2 CRESCHZZ19E +044685 0000 0468564835 219990629111CS CREDIT SUISSE (4) Wengistrasse 2 Postfach 1047 4502 Solothurn 032 624 52 52 032 624 52 47 *30-3200-1 CRESCHZZ45A +044691 0000 0469164730 219990421111NAB Neue Aargauer Bank Shopping Center Postfach 342 8957 Spreitenbach 056 418 55 11 056 418 55 12 *50-1998-7 AHHBCH2289F +044694 0000 0469484835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 26 Postfach 226 8712 Stäfa 044 928 28 28 044 928 28 29 *80-500-4 CRESCHZZ87F +044697 0000 0469774835 219990311111CS CREDIT SUISSE (4) Bahnhofstrasse 2 Postfach 971 6371 Stans 041 618 68 68 041 618 68 33 *30-3200-1 CRESCHZZ63N +044706 0000 0470604835 219990311111CS CREDIT SUISSE (4) Bahnhofstrasse 18 Postfach 485 6210 Sursee 041 926 38 38 041 926 38 00 *30-3200-1 CRESCHZZ62C +044712 0000 0471274835 219981225113CS CREDIT SUISSE (4) Piazza G. Canevascini Casella postale 284 6598 Tenero 091 735 13 11 091 745 18 59 *69-3008-1 CRESCHZZ65G +044716 0000 0471664835 220050312111CS CREDIT SUISSE (4) Gotthardstrasse 21 Postfach 1082 8801 Thalwil 044 723 91 11 044 723 91 12 *80-500-4 CRESCHZZ88A +044720 0000 0472074835 220000407112CS CREDIT SUISSE (4) Thônex, Rue de Genève 91 Case postale 100 1211 Genève 70 022 869 81 11 022 869 81 00 *12-35-2 CRESCHZZ12V +044721 0000 0472154835 220010623111CS CREDIT SUISSE (4) Bälliz 36 Postfach 1341 3601 Thun 033 225 28 25 033 225 28 50 *30-3200-1 CRESCHZZ36A +044737 0000 0473754835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 36 Postfach 221 8603 Schwerzenbach 044 806 62 11 044 806 62 22 *80-500-4 CRESCHZZ86B +044741 0000 0474174835 219990312111CS CREDIT SUISSE (4) Bahnhofstrasse 76 Postfach 247 9240 Uzwil 071 955 45 11 071 955 45 22 *80-500-4 CRESCHZZ92D +044744 0000 0474414835 219990312112CS CREDIT SUISSE (4) Haus Alpina Case postale 98 1936 Verbier 1 027 775 36 36 027 775 36 37 *12-35-2 CRESCHZZ19D +044747 0000 0474724835 219990629112CS CREDIT SUISSE (4) Rue des Moulins 23 Case postale 636 1290 Versoix 022 775 13 00 022 755 38 01 *12-35-2 CRESCHZZ12U +044748 0000 0474884835 220010623112CS CREDIT SUISSE (4) Chemin du Vieux-Vésenaz 31 Case postale 114 1222 Vésenaz 022 855 98 00 022 752 29 17 *12-35-2 CRESCHZZ12P +044750 0000 0475014835 219990312112CS CREDIT SUISSE (4) Rue du Simplon 50 Case postale 210 1800 Vevey 1 021 925 01 11 021 921 90 87 *12-35-2 CRESCHZZ18A +044758 0000 0475854835 219990521111CS CREDIT SUISSE (4) Bahnhofplatz 4 Postfach 280 3930 Visp/Viège 027 948 88 11 027 948 88 48 *12-35-2 CRESCHZZ39G +044763 0000 0476334835 219990629111CS CREDIT SUISSE (4) Bundesplatz 2 Postfach 3001 Bern 031 358 81 11 031 358 71 68 *30-3200-1 CRESCHZZ30A +044765 0000 0476574835 220050312111CS CREDIT SUISSE (4) Friedbergstrasse 9 Postfach 350 8820 Wädenswil 044 783 31 11 044 783 33 11 *80-500-4 CRESCHZZ88H +044772 0000 0477294835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 34 Postfach 151 8304 Wallisellen 044 839 24 24 044 839 24 25 *80-500-4 CRESCHZZ83C +044777 0000 0477764835 219990312111CS CREDIT SUISSE (4) Bankstrasse 1 Postfach 333 8570 Weinfelden 071 626 42 11 071 626 42 22 *80-500-4 CRESCHZZ85C +044781 0000 0478114730 219990421111NAB Neue Aargauer Bank Landstrasse 81 Postfach 3224 5430 Wettingen 056 437 15 11 056 437 15 12 *50-1998-7 AHHBCH2254C +044784 0000 0478424835 220050312111CS CREDIT SUISSE (4) Bahnhofstrasse 58 Postfach 1267 8620 Wetzikon ZH 1 044 931 55 11 044 931 56 01 *80-500-4 CRESCHZZ86F +044787 0000 0478794835 219990629111CS CREDIT SUISSE (4) Obere Bahnhofstrasse 33 Postfach 237 9500 Wil SG 071 913 77 77 071 913 77 90 *80-500-4 CRESCHZZ95A +044791 0000 0479104835 219990629111CS CREDIT SUISSE (4) Stadthausstrasse 16 Postfach 330 8401 Winterthur 052 260 11 11 052 260 12 96 *80-500-4 CRESCHZZ84A +044795 0000 0479524835 219990421111CS CREDIT SUISSE (4) Stadthausstrasse 16 Postfach 330 8401 Winterthur 052 260 11 111 052 260 12 96 *80-500-4 CRESCHZZ84A +044796 0000 0479684835 220010623111CS CREDIT SUISSE (4) Bahnhof, Bahnhofplatz 6 Postfach 330 8401 Winterthur 052 260 11 11 052 260 13 61 *80-500-4 CRESCHZZ84C +044806 0000 0480694835 219990522112CS CREDIT SUISSE (4) Rue des Remparts 16 Case postale 159 1401 Yverdon-les-Bains 024 423 84 11 024 425 29 00 *12-35-2 CRESCHZZ14A +044811 0000 0481124835 219990312111CS CREDIT SUISSE (4) Bahnhofplatz Postfach 70 3920 Zermatt 027 966 32 66 027 967 42 46 *30-3200-1 CRESCHZZ39E +044814 0000 0481494835 219990312111CS CREDIT SUISSE (4) Untere Grabenstrasse 18 Postfach 4800 Zofingen 062 745 06 06 062 745 06 44 *30-3200-1 CRESCHZZ48A +044818 0000 0481814835 220050305111CS CREDIT SUISSE (4) Alte Landstrasse 91 Postfach 214 8702 Zollikon 044 396 17 11 044 396 18 95 *80-500-4 CRESCHZZ87B +044823 0000 0482374835 219990312111CS CREDIT SUISSE (4) Bahnhofstrasse 17 Postfach 357 6301 Zug 041 727 99 22 041 727 99 43 *30-3200-1 CRESCHZZ63A +044835 0000 0483584835 120050316111CS CREDIT SUISSE (4) Paradeplatz 8 Postfach 100 8070 Zürich 044 333 99 11 044 332 55 55 80-500-4 CRESCHZZ80A +044836 0000 0483634835 220050305111CS CREDIT SUISSE (4) Affoltern, In Böden 174 Postfach 400 8046 Zürich 044 377 64 64 044 377 64 74 *80-500-4 CRESCHZZ80M +044837 0000 0483794835 220050316111CS CREDIT SUISSE (4) Altstetten, Badenerstrasse 697 Postfach 4837 8070 Zürich 044 436 11 11 044 436 11 12 *80-500-4 CRESCHZZ80E +044839 0000 0483954835 220050305111CS CREDIT SUISSE (4) Aussersihl, Badenerstrasse 50 Postfach 4557 8070 Zürich 044 295 31 11 044 295 32 00 *80-500-4 CRESCHZZ80B +044840 0000 0484054835 220050304111CS CREDIT SUISSE (4) Bahnhof, Bahnhofstrasse 89 Postfach 4858 8021 Zürich 044 229 46 11 044 229 46 16 *80-500-4 CRESCHZZ80W +044842 0000 0484214835 220050305111CS CREDIT SUISSE (4) Enge, Bleicherweg 33 Postfach 4842 8070 Zürich 044 287 71 11 044 287 73 00 *80-500-4 CRESCHZZ80C +044845 0000 0484524835 220050305111CS CREDIT SUISSE (4) Uetlihof, Uetlibergstrasse 231 Postfach 150 8070 Zürich 044 287 77 55 044 201 71 37 *80-500-4 CRESCHZZ80N +044848 0000 0484894835 220050304111CS CREDIT SUISSE (4) Höngg, Regensdorferstrasse 15 Postfach 253 8049 Zürich 044 229 44 11 044 229 44 44 *80-500-4 CRESCHZZ80P +044850 0000 0485024835 220050305111CS CREDIT SUISSE (4) Aussersihl, Badenerstrasse 50 Postfach 4557 8021 Zürich 044 295 31 11 044 295 32 00 *80-500-4 CRESCHZZ80B +044852 0000 0485234835 220050305111CS CREDIT SUISSE (4) Aussersihl, Badenerstrasse 50 Postfach 4557 8021 Zürich 044 295 31 11 044 295 32 00 *80-500-4 CRESCHZZ80B +044857 0000 0485714835 220050305111CS CREDIT SUISSE (4) Oerlikon, Albert-Näf-Platz 8 Postfach 4857 8070 Zürich 044 317 41 11 044 317 45 00 *80-500-4 CRESCHZZ80F +044858 0000 0485864835 220050304111CS CREDIT SUISSE (4) Bahnhof, Bahnhofstrasse 89 Postfach 209 8021 Zürich 044 229 46 11 044 229 46 16 *80-500-4 CRESCHZZ80W +044860 0000 0486034835 220050304111CS CREDIT SUISSE (4) Rathausplatz, Limmatquai 58 Postfach 4860 8070 Zürich 044 258 45 11 044 258 45 05 *80-500-4 CRESCHZZ80D +044862 0000 0486274835 220050305111CS CREDIT SUISSE (4) Rigiplatz, Universitätsstrasse 105 Postfach 4862 8070 Zürich 044 368 23 11 044 368 23 19 *80-500-4 CRESCHZZ80G +044864 0000 0486404835 220050305111CS CREDIT SUISSE (4) Oerlikon, Albert-Näf-Platz 8 Postfach 4857 8050 Zürich 044 317 41 11 044 317 45 00 *80-500-4 CRESCHZZ80F +044865 0000 0486514835 220050305111CS CREDIT SUISSE (4) Seefeld, Seefeldstrasse 1 Postfach 4865 8070 Zürich 044 268 14 14 044 268 14 15 *80-500-4 CRESCHZZ80H +044868 0000 0486824835 220050305111CS CREDIT SUISSE (4) Schaffhauserplatz, Weinbergstr. 161Postfach 125 8035 Zürich 044 360 81 11 044 360 81 12 *80-500-4 CRESCHZZ80K +044870 0000 0487074835 220050305111CS CREDIT SUISSE (4) Witikon, Witikonerstrasse 316 Postfach 102 8053 Zürich 044 388 11 11 044 388 11 22 *80-500-4 CRESCHZZ80R +044872 0000 0487204835 220050305111CS CREDIT SUISSE (4) Wollishofen, Mutschellenstrasse 197Postfach 4872 8070 Zürich 044 487 15 15 044 487 16 16 *80-500-4 CRESCHZZ80T +044879 0000 0487994835 220050304111CS CREDIT SUISSE (4) Werdmühleplatz, Uraniastrasse 4 Postfach 4879 8070 Zürich 044 229 41 11 044 229 43 80 *80-500-4 CRESCHZZ80L +044892 0000 0489254835 220050305111CS CREDIT SUISSE (4) Schützengasse 7 Postfach 8070 Zürich 044 333 11 11 *80-500-4 CRESCHZZ80A +044893 0000 0489304835 220050305111CS CREDIT SUISSE (4) Private Banking Postfach 8070 Zürich 044 333 11 11 *80-500-4 CRESCHZZ80A +05501 0000 0050184835 219981225111NAB Neue Aargauer Bank Pilatusstrasse 5 Postfach 63 4663 Aarburg 062 787 47 47 062 787 47 48 *50-1083-6 AHHBCH22XXX +05502 0000 0050234835 219990421111CS CREDIT SUISSE (5) Tellsgasse 10 Postfach 6460 Altdorf UR 041 875 66 44 041 875 65 65 *30-31-4 CRESCHZZ64S +05503 0000 0050394835 220040116111CS CREDIT SUISSE (5) Postfach 90 8590 Romanshorn 1 071 466 91 61 071 466 91 91 *80-500-4 CRESCHZZ85F +05504 0000 0050474835 219990528111CS CREDIT SUISSE (5) St. Alban-Graben 1-3 Postfach 2560 4001 Basel 061 266 77 11 061 266 77 33 *30-31-4 CRESCHZZ40R +05505 0000 0050554835 220000407111CS CREDIT SUISSE (5) Claraplatz, Untere Rebgasse 7 Postfach 4005 Basel 061 266 72 11 061 266 72 52 *30-31-4 CRESCHZZ40S +05506 0000 0050604835 219990421113CS CREDIT SUISSE (5) Viale Stazione 19 Casella postale 6501 Bellinzona 091 821 99 11 091 821 99 01 *69-5626-3 CRESCHZZ65R +055065 0000 0506584835 220050304111LEU AG Bank Leu AG Bahnhofstrasse 32 Postfach 8022 Zürich 044 219 11 11 044 219 31 97 80-475-1 LEUZCHZZ80A +055068 0000 0506874835 220050304111BHZ Bank Hofmann AG Talstrasse 27 Postfach 8022 Zürich 044 217 51 11 044 217 73 68 80-722-9 HOFMCHZZXXX +05507 0000 0050714835 220010706111CS CREDIT SUISSE (5) Bundesplatz 2 Postfach 5322 3001 Bern 031 358 81 11 031 358 71 68 30-31-4 CRESCHZZ30R +05507 0001 0050714835 320010706111CS CREDIT SUISSE (5) Bahnhof Postfach 5322 3011 Bern 031 358 81 11 031 358 71 68 *30-31-4 CRESCHZZ30R +05507 0002 0050714835 320010706111CS CREDIT SUISSE (5) Loeb-Spitalgasse Postfach 5322 3011 Bern 031 358 81 11 031 358 71 68 *30-31-4 CRESCHZZ30R +055071 0000 0507104835 219990422112LEU SA Banque Leu SA 10-12, Place Longemalle Case postale 3286 1211 Genève 3 022 311 77 77 022 310 15 23 *80-475-1 LEUZCHZZ12A +05508 0000 0050864835 220010706112CS CREDIT SUISSE (5) Zentralstrasse 42 Case postale 1165 2501 Biel/Bienne 032 329 52 52 032 322 18 58 *30-31-4 CRESCHZZ25R +05508 0001 0050864835 320010706111CS CREDIT SUISSE (5) Postfach 1165 2560 Nidau 032 328 52 52 032 322 18 58 *30-31-4 CRESCHZZ25R +05509 0000 0050944835 220000418111NAB Neue Aargauer Bank Schulthess-Allee 1 Postfach 285 5201 Brugg AG 056 462 71 11 056 462 77 11 *50-1083-6 AHHBCH22XXX +05510 0000 0051034835 219990312112CS CREDIT SUISSE (5) Place du Tilleul 9 Case postale 496 1630 Bulle 026 919 17 17 026 919 17 18 *12-60-7 CRESCHZZ16C +05511 0000 0051194835 219990312112CS CREDIT SUISSE (5) Grand-Rue 39 Case postale 363 1618 Châtel-St-Denis 021 948 27 63 021 948 27 35 *12-60-7 CRESCHZZ16A +05512 0000 0051274835 219990528113CS CREDIT SUISSE (5) Piazza Indipendenza 5 Casella postale 6830 Chiasso 1 091 802 46 46 091 802 42 90 *69-5626-3 CRESCHZZ68R +05513 0000 0051354835 219990421112CS CREDIT SUISSE (5) Rue de la Maltière 2 Case postale 2800 Delémont 2 032 421 95 55 032 421 95 88 *12-60-7 CRESCHZZ28R +05514 0000 0051404835 220050312111CS CREDIT SUISSE (5) Kirchstrasse 20 Postfach 860 8953 Dietikon 1 044 743 81 11 044 743 91 12 *80-500-4 CRESCHZZ89E +05515 0000 0051514835 220030213111CS CREDIT SUISSE (5) Hauptstrasse 83 Postfach 563 8840 Einsiedeln 055 418 91 11 055 418 91 12 *80-500-4 CRESCHZZ88L +05516 0000 0051664835 219990312113CS CREDIT SUISSE (5) Viale B. Papio 6 Casella postale 731 6612 Ascona 091 785 74 11 091 792 17 32 *69-5626-3 CRESCHZZ66S +05517 0000 0051744835 219990312112CS CREDIT SUISSE (5) Avenue de la Gare 13 Case postale 55 1701 Fribourg 026 350 91 11 026 350 95 00 *12-60-7 CRESCHZZ17R +05518 0000 0051824835 219990421112CS CREDIT SUISSE (5) Rue de Lausanne 11 - 19 Case postale 1211 Genève 70 022 391 21 31 022 391 41 17 12-60-7 CRESCHZZ12L +05519 0000 0051984835 220000407112CS CREDIT SUISSE (5) Acacias, Route des Acacias 80 Case postale 1227 Genève 022 391 25 00 022 391 25 07 *12-60-7 CRESCHZZ12M +055195 0000 0519594835 220050312111CS CREDIT SUISSE (5) Card-Services Postfach 8070 Zürich 044 808 26 26 CRESCHZZ80Q +05520 0000 0052074835 220030213111CS CREDIT SUISSE (5) Bankstrasse 22 Postfach 8750 Glarus 055 646 21 11 055 646 22 20 *80-500-4 CRESCHZZ87S +055205 0000 0520574835 220050305111CS CREDIT SUISSE (5) Liegenschaften GD Postfach 8065 Zürich 044 333 71 04 *80-500-4 CRESCHZZ80O +055209 0000 0520964835 219990421111CS CREDIT SUISSE (5) Führung PRK Postfach 3001 Bern 031 358 62 14 *30-31-4 CRESCHZZ30R +05521 0000 0052154835 220050312111CS CREDIT SUISSE (5) Alte Landstrasse 24 Postfach 8810 Horgen 044 727 71 11 044 727 71 12 *80-500-4 CRESCHZZ88S +055212 0000 0521294835 220050312111CS CREDIT SUISSE (5) PSP/CAPK Postfach 8569 8036 Zürich 044 808 11 11 80-190-8 CRESCHZZ80A +055215 0000 0521504835 220050312111CS CREDIT SUISSE (5) Zürich Positionen Brugg Postfach 631 8021 Zürich 044 808 11 11 *80-500-4 CRESCHZZ80O +05522 0000 0052204835 220030213111CS CREDIT SUISSE (5) Hauptstrasse 33 Postfach 8280 Kreuzlingen 1 071 677 44 44 071 677 43 24 *80-500-4 CRESCHZZ82S +05523 0000 0052314835 219990312111CS CREDIT SUISSE (5) Luzernerstrasse 26 Postfach 304 6010 Kriens 041 329 66 66 041 329 66 50 *30-31-4 CRESCHZZ60F +05524 0000 0052464835 220050312111CS CREDIT SUISSE (5) Dorfstrasse 93 Postfach 827 8706 Meilen 044 925 08 11 044 925 08 10 *80-500-4 CRESCHZZ87R +05525 0000 0052544835 219990312112CS CREDIT SUISSE (5) Rue du Grand Pont 6 Case postale 240 1001 Lausanne 021 340 11 11 021 340 33 33 *12-60-7 CRESCHZZ10R +05526 0000 0052624835 219990417111NAB Neue Aargauer Bank Bahnhofplatz 1 Postfach 5600 Lenzburg 2 062 888 55 55 062 888 55 45 *50-1083-6 AHHBCH22XXX +05527 0000 0052784835 220010706113CS CREDIT SUISSE (5) Via A. Ciseri 10 Casella postale 364 6601 Locarno 091 756 81 11 091 756 83 11 *69-5626-3 CRESCHZZ66R +05528 0000 0052834835 220010706111CS CREDIT SUISSE (5) Schwanenplatz 8 Postfach 4569 6002 Luzern 041 419 11 11 041 419 12 20 *30-31-4 CRESCHZZ60R +055288 0000 0528884835 220050312111CS CREDIT SUISSE (5) Bahnhofstrasse Postfach 100 8070 Zürich 044 808 43 30 *80-500-4 CRESCHZZ81Z +055288 0001 0528884835 320050312111CS CREDIT SUISSE (5) Postfach 8134 Adliswil 044 808 43 30 *80-500-4 CRESCHZZ81Z +055288 0002 0528884835 320050312111CS CREDIT SUISSE (5) Postfach 8805 Richterswil 044 808 43 30 *80-500-4 CRESCHZZ81Z +055288 0003 0528884835 320030213111CS CREDIT SUISSE (5) Heimplatz Postfach 8021 Zürich *80-500-4 CRESCHZZ81Z +055288 0004 0528884835 320030213111CS CREDIT SUISSE (5) Limmatstrasse Postfach 8021 Zürich *80-500-4 CRESCHZZ81Z +055288 0005 0528884835 320030213111CS CREDIT SUISSE (5) Schwamendingen Postfach 8021 Zürich *80-500-4 CRESCHZZ81Z +05529 0000 0052994835 220050312111CS CREDIT SUISSE (5) Dorfstrasse 93 Postfach 827 8706 Meilen 044 925 08 11 044 925 08 10 *80-500-4 CRESCHZZ87R +05530 0000 0053064835 219990421113CS CREDIT SUISSE (5) Via Lavizzari 21 Casella postale 142 6850 Mendrisio 091 640 94 11 091 646 34 43 *69-5626-3 CRESCHZZ68S +055301 0000 0530184835 220030213111CS CREDIT SUISSE (5) Landstrasse 43a Postfach 282 8450 Andelfingen 052 304 23 23 052 304 23 24 *80-500-4 CRESCHZZ19R +055302 0000 0530234835 219990421112CS CREDIT SUISSE (5) Avenue de la Gare 21 Case postale 192 1920 Martigny 1 027 721 11 11 027 721 12 11 *12-60-7 CRESCHZZ19R +055303 0000 0530394835 219990312112CS CREDIT SUISSE (5) Rue de la Maladière 16 Case postale 67 1024 Chavannes 021 694 34 11 021 691 41 38 *12-60-7 CRESCHZZ10H +055304 0000 0530474835 219990312112CS CREDIT SUISSE (5) Avenue d'Ouchy 14 Case postale 240 1001 Lausanne 021 340 11 11 021 340 48 08 *12-60-7 CRESCHZZ10F +055305 0000 0530554835 220050312111CS CREDIT SUISSE (5) Bahnhofstrasse 28 Postfach 156 8180 Bülach 044 872 21 11 044 872 22 12 *80-500-4 CRESCHZZ81B +055306 0000 0530604835 219990312113CS CREDIT SUISSE (5) Piazza Stefano Franscini Casella postale 357 6760 Faido 091 873 59 11 091 866 10 66 *69-5626-3 CRESCHZZ67B +055307 0000 0530714835 219990528111CS CREDIT SUISSE (5) Gundeldingen, Güterstrasse 253 Postfach 228 4018 Basel 061 335 34 34 061 335 34 55 *30-31-4 CRESCHZZ40E +055308 0000 0530864835 219990312111CS CREDIT SUISSE (5) Baselstrasse 12 Postfach 644 4242 Laufen 061 765 23 23 061 765 23 55 *30-31-4 CRESCHZZ42A +055309 0000 0530944835 220050305111CS CREDIT SUISSE (5) Oerlikon, Albert-Näf-Platz Postfach 4857 8050 Zürich 044 317 41 11 044 317 45 00 *80-500-4 CRESCHZZ81G +05531 0000 0053144835 219990312112CS CREDIT SUISSE (5) Place de la Paix 1 Case postale 133 1820 Montreux 1 021 962 76 11 021 963 53 62 *12-60-7 CRESCHZZ18S +055311 0000 0531194835 219981225112CS CREDIT SUISSE (5) Centre Commercial Case postale 100 1219 Lignon, Le 022 979 34 34 022 796 03 65 *12-60-7 CRESCHZZ12X +055312 0000 0531274835 220010706111CS CREDIT SUISSE (5) Immeuble Grand-Place Case postale 136 3963 Crans-sur-Sierre 027 485 85 11 027 485 85 95 *12-60-7 CRESCHZZ39T +055313 0000 0531354835 219990312111CS CREDIT SUISSE (5) Hauptstrasse 40 Postfach 120 4702 Oensingen 062 388 07 88 062 396 14 55 *30-31-4 CRESCHZZ47A +055314 0000 0531404835 220030213111CS CREDIT SUISSE (5) Bahnhofstrasse 22 - 28 Postfach 1336 8201 Schaffhausen 052 630 44 44 052 630 43 85 *80-500-4 CRESCHZZ82R +055315 0000 0531514835 219990421112CS CREDIT SUISSE (5) Rue Centrale 47 Case postale 158 2740 Moutier 032 494 59 45 032 494 59 46 *12-60-7 CRESCHZZ27I +055316 0000 0531664835 220000407112CS CREDIT SUISSE (5) Petite-Lancy, Route de Chancy 59 Case postale 100 1211 Genève 70 022 391 31 31 022 392 30 90 *12-60-7 CRESCHZZ12Y +055317 0000 0531744835 220000407112CS CREDIT SUISSE (5) Petit-Saconnex, Av. Louis-Casaï 27 Case postale 100 1211 Genève 70 022 979 12 00 *12-60-7 CRESCHZZ12Z +055318 0000 0531824835 220010706111CS CREDIT SUISSE (5) Hauptstrasse 36 Postfach 364 4153 Reinach BL 1 061 715 32 32 061 715 32 55 *30-31-4 CRESCHZZ41S +055319 0000 0531984835 219990421111CS CREDIT SUISSE (5) Bahnhofstrasse 18 Postfach 485 6210 Sursee 041 926 38 38 041 926 38 00 *30-31-4 CRESCHZZ62R +05532 0000 0053224835 219990421112CS CREDIT SUISSE (5) Rue Centrale 47 Case postale 158 2740 Moutier 032 494 59 45 032 494 59 46 *12-60-7 CRESCHZZ27F +05532 0001 0053224835 319990522112CS CREDIT SUISSE (5) Case postale 2738 Court 032 494 59 45 032 494 59 46 *12-60-7 CRESCHZZ27F +055321 0000 0532154835 219990421113CS CREDIT SUISSE (5) Casa Comunale Casella postale 86 6574 Vira 091 785 96 11 091 795 25 38 *69-5626-3 CRESCHZZ65V +055322 0000 0532204835 219990421112CS CREDIT SUISSE (5) Avenue de la Gare 21 Case postale 192 1920 Martigny 1 027 721 11 11 027 721 12 11 *12-60-7 CRESCHZZ19R +055323 0000 0532314835 219981225111CS CREDIT SUISSE (5) Bahnhofstrasse 28 Postfach 601 3076 Worb 031 838 41 41 031 838 41 85 *30-31-4 CRESCHZZ30F +055324 0000 0532464835 219981225111NAB Neue Aargauer Bank Zentralstrasse 53 Postfach 1512 5610 Wohlen AG 056 618 51 11 056 618 52 15 *50-1083-6 AHHBCH22XXX +055325 0000 0532544835 220030213111CS CREDIT SUISSE (5) Bahnhofstrasse 12 Postfach 585 7001 Chur 081 255 60 11 081 255 61 50 *80-500-4 CRESCHZZ70S +055326 0000 0532624835 220030213111CS CREDIT SUISSE (5) Rütistrasse 1 Postfach 164 8636 Wald ZH 055 256 76 76 055 256 76 77 *80-500-4 CRESCHZZ86D +055327 0000 0532784835 219990421112CS CREDIT SUISSE (5) Zentralstrasse 42 Case postale 1165 2501 Biel/Bienne 032 329 52 52 032 322 18 58 *30-31-4 CRESCHZZ25C +055328 0000 0532834835 219990421112CS CREDIT SUISSE (5) Rue du Simplon 50 Case postale 210 1800 Vevey 1 021 925 01 11 021 921 90 87 *12-60-7 CRESCHZZ18R +05533 0000 0053384835 219990312111CS CREDIT SUISSE (5) Hauptgasse 13 Postfach 224 3280 Murten/Morat 026 672 88 11 026 672 88 99 *12-60-7 CRESCHZZ32B +055331 0000 0533144835 219990421112CS CREDIT SUISSE (5) Avenue de la Gare 13 Case postale 55 1701 Fribourg 026 350 91 11 026 350 95 00 *12-60-7 CRESCHZZ18P +055332 0000 0533224835 219990421112CS CREDIT SUISSE (5) Rue du Simplon 50 Case postale 210 1800 Vevey 1 021 925 01 11 021 921 90 87 *12-60-7 CRESCHZZ18R +055333 0000 0533384835 219981225111CS CREDIT SUISSE (5) Schwarzenburgstrasse 235 Postfach 496 3098 Köniz 031 978 44 44 031 978 44 85 *30-31-4 CRESCHZZ30E +055334 0000 0533434835 220000407112CS CREDIT SUISSE (5) Eaux-Vives, Rue Versonnex 11 Case postale 100 1211 Genève 70 022 707 71 11 022 707 71 15 *12-60-7 CRESCHZZ13A +055335 0000 0533594835 219990528111CS CREDIT SUISSE (5) Avenue Général-Guisan 6 Postfach 312 3960 Sierre/Siders 027 452 31 11 027 452 32 10 *12-60-7 CRESCHZZ39S +055336 0000 0533674835 220050312111CS CREDIT SUISSE (5) Zürcherstrasse 110 Postfach 370 8102 Oberengstringen 044 751 83 11 044 751 83 12 *80-500-4 CRESCHZZ81E +055337 0000 0533754835 220030213111CS CREDIT SUISSE (5) Bankstrasse 22 Postfach 466 8750 Glarus 055 646 21 11 055 646 22 20 *80-500-4 CRESCHZZ87M +055338 0000 0533804835 219990417111NAB Neue Aargauer Bank Landstrasse 81 Postfach 5430 Wettingen 3 056 437 15 11 056 437 15 12 *50-1083-6 AHHBCH22XXX +055339 0000 0533914835 220010923111CS CREDIT SUISSE (5) Immeuble Grand-Place Case postale 136 3963 Crans-sur-Sierre 027 485 85 11 027 485 85 95 *12-60-7 CRESCHZZ39T +05534 0000 0053434835 219990312112CS CREDIT SUISSE (5) Rue du Temple 5 Case postale 48 1530 Payerne 026 662 06 11 026 662 06 40 *12-60-7 CRESCHZZ15C +055342 0000 0534254835 219990427111CS CREDIT SUISSE (5) Am Marktplatz Postfach 127 2540 Grenchen 1 032 654 23 23 032 652 22 65 *30-31-4 CRESCHZZ25S +055343 0000 0534304835 220050305111CS CREDIT SUISSE (5) Wiedikon, Birmensdorferstrasse 140 Postfach 4563 8036 Zürich 044 456 42 11 044 456 43 43 *80-500-4 CRESCHZZ80Z +055344 0000 0534414835 220030213111CS CREDIT SUISSE (5) St. Leonhardstrasse 3 Postfach 563 9001 St. Gallen 071 226 31 11 071 226 34 34 *80-500-4 CRESCHZZ90C +055345 0000 0534564835 219990629112CS CREDIT SUISSE (5) Rue de Seyon 12 Case postale 2001 Neuchâtel 032 720 95 11 032 720 99 50 *12-60-7 CRESCHZZ25F +055347 0000 0534724835 220010418111CS CREDIT SUISSE (5) Gerliswilstrasse 71 Postfach 1242 6021 Emmenbrücke 1 041 268 62 68 041 268 61 90 *30-31-4 CRESCHZZ60S +055348 0000 0534884835 219990312113CS CREDIT SUISSE (5) Via Leoncavallo 27 Casella postale 244 6614 Brissago 091 786 15 11 091 793 25 10 *69-5626-3 CRESCHZZ66F +055349 0000 0534934835 219990421112CS CREDIT SUISSE (5) Rue des Remparts 16 Case postale 159 1401 Yverdon-les-Bains 024 423 84 11 024 425 29 00 *12-60-7 CRESCHZZ14R +05535 0000 0053594835 219990312112CS CREDIT SUISSE (5) Rue du Temple 2 Case postale 216 2900 Porrentruy 032 465 99 11 032 465 99 12 *12-60-7 CRESCHZZ29A +055351 0000 0535164835 219990312111CS CREDIT SUISSE (5) Dorfstrasse 13 Postfach 329 6341 Baar 041 727 94 94 041 727 94 95 *30-31-4 CRESCHZZ63S +055352 0000 0535244835 219990421111CS CREDIT SUISSE (5) Bahnhofstrasse 17 Postfach 357 6301 Zug 041 727 99 22 041 727 99 43 *30-31-4 CRESCHZZ63R +055353 0000 0535324835 220030213111CS CREDIT SUISSE (5) Hauptstrasse 33 Postfach 1270 8280 Kreuzlingen 1 071 677 44 44 071 677 43 24 *80-500-4 CRESCHZZ82S +055354 0000 0535484835 219981225112CS CREDIT SUISSE (5) Rue de Bernex 293 Case postale 100 1233 Bernex 022 850 94 00 022 757 62 71 *12-60-7 CRESCHZZ12Q +055355 0000 0535534835 219990421111CS CREDIT SUISSE (5) Postplatz 11 Postfach 363 6431 Schwyz 041 819 61 11 041 819 62 89 *30-31-4 CRESCHZZ64R +055356 0000 0535694835 220010706111CS CREDIT SUISSE (5) Bälliz 36 Postfach 1374 3601 Thun 033 225 28 25 033 225 28 50 *30-31-4 CRESCHZZ36R +055357 0000 0535774835 220020311111CS CREDIT SUISSE (5) Seestrasse 15 Postfach 176 6052 Hergiswil NW 041 632 67 67 041 632 67 50 *30-31-4 CRESCHZZ61A +055358 0000 0535854835 219990427111CS CREDIT SUISSE (5) Riedmattstrasse 12 Postfach 361 6030 Ebikon 041 445 72 72 041 445 72 00 *30-31-4 CRESCHZZ60T +055359 0000 0535904835 219981225112CS CREDIT SUISSE (5) Place du Marché 12 Case postale 100 1227 Carouge GE 022 304 42 00 022 304 42 42 *12-60-7 CRESCHZZ12N +05536 0000 0053674835 219981225111NAB Neue Aargauer Bank Handelshof Postfach 764 5734 Reinach AG 062 765 11 11 062 765 11 22 *50-1083-6 AHHBCH22XXX +055361 0000 0536124835 219990427112CS CREDIT SUISSE (5) Avenue de la Gare 21 Case postale 192 1920 Martigny 1 027 721 11 11 027 721 12 11 *12-60-7 CRESCHZZ19R +055362 0000 0536284835 220000407112CS CREDIT SUISSE (5) Thônex, Rue de Genève 91 Case postale 100 1225 Genève 70 022 869 81 11 022 869 81 00 *12-60-7 CRESCHZZ12R +055363 0000 0536334835 220000602111CS CREDIT SUISSE (5) Spalenberg 65 Postfach 2164 4001 Basel 061 277 88 11 061 277 89 00 *30-31-4 CRESCHZZ40D +055364 0000 0536494835 219981225111CS CREDIT SUISSE (5) Bahnhofstrasse 12 Postfach 109 3250 Lyss 032 387 88 88 032 384 70 45 *30-31-4 CRESCHZZ32A +055365 0000 0536574835 220050312111CS CREDIT SUISSE (5) Zürichstrasse 55 Postfach 174 8910 Affoltern am Albis 044 762 65 65 044 762 65 66 *80-500-4 CRESCHZZ89A +055366 0000 0536654835 220010706111CS CREDIT SUISSE (5) Rheinstrasse 8 Postfach 618 4410 Liestal 061 925 71 11 061 925 72 05 *30-31-4 CRESCHZZ44R +055368 0000 0536814835 220030213111CS CREDIT SUISSE (5) Grenzstrasse 11 Postfach 174 9430 St. Margrethen SG 071 747 63 63 071 747 63 00 *80-500-4 CRESCHZZ94S +05537 0000 0053754835 219990312112CS CREDIT SUISSE (5) Grand-Rue 28 Case postale 256 1680 Romont FR 026 652 95 11 026 652 95 35 *12-60-7 CRESCHZZ16B +055371 0000 0537134835 220010706111CS CREDIT SUISSE (5) Bahnhofstrasse 13 Postfach 480 3900 Brig/Brigue 027 922 91 11 027 922 91 81 *12-60-7 CRESCHZZ39R +055373 0000 0537374835 219981225111CS CREDIT SUISSE (5) Marktgasse 29 Postfach 480 4900 Langenthal 062 916 59 59 062 923 23 80 *30-31-4 CRESCHZZ49R +055374 0000 0537454835 219981225111CS CREDIT SUISSE (5) Bernstrasse 34 Postfach 1647 3072 Ostermundigen 031 939 72 22 031 931 96 15 *30-31-4 CRESCHZZ30T +055375 0000 0537504835 219990521111CS CREDIT SUISSE (5) Hauptstrasse 16 Postfach 201 3186 Düdingen 026 492 67 26 026 492 67 27 *12-60-7 CRESCHZZ31A +055376 0000 0537614835 219990421112CS CREDIT SUISSE (5) Grand-Rue 52 Case postale 477 1110 Morges 1 021 804 78 11 021 802 16 09 *12-60-7 CRESCHZZ11R +055377 0000 0537764835 220010923111CS CREDIT SUISSE (5) Poststrasse 5 Postfach 1459 6060 Sarnen 041 666 78 78 041 666 78 00 *30-31-4 CRESCHZZ60P +055378 0000 0537844835 220000118111CS CREDIT SUISSE (5) Bahnhofpaltz Postfach 70 3920 Zermatt 027 966 32 66 027 967 42 46 *12-60-7 CRESCHZZ39R +05538 0000 0053804835 219991217112CS CREDIT SUISSE (5) Rue de la Gare 4 Case postale 366 2350 Saignelégier 032 952 19 20 032 952 19 21 *12-60-7 CRESCHZZ27M +05538 0001 0053804835 319990522112CS CREDIT SUISSE (5) Case postale 2345 Breuleux, Les 032 952 19 20 032 952 19 21 *12-60-7 CRESCHZZ27M +05538 0002 0053804835 319990522112CS CREDIT SUISSE (5) Case postale 2340 Noirmont, Le 032 952 19 20 032 952 19 21 *12-60-7 CRESCHZZ27M +05539 0000 0053914835 220030213111CS CREDIT SUISSE (5) St. Leonhardstrasse 33 Postfach 2064 9001 St. Gallen 071 226 31 11 071 226 34 34 *80-500-4 CRESCHZZ90R +05540 0000 0054094835 220030213111CS CREDIT SUISSE (5) Bankplatz 3 Postfach 931 8500 Frauenfeld 052 728 66 11 052 728 66 66 *80-500-4 CRESCHZZ85R +05541 0000 0054174835 219990312112CS CREDIT SUISSE (5) Place du Marché 5 Case postale 35 2610 St-Imier 032 942 33 11 032 942 33 50 *12-60-7 CRESCHZZ26B +05542 0000 0054254835 220030213111CS CREDIT SUISSE (5) Via Maistra 5 Postfach 4500 7500 St. Moritz 1 081 837 81 11 081 837 83 00 *80-500-4 CRESCHZZ75R +05543 0000 0054304835 220030213111CS CREDIT SUISSE (5) Bahnhofstrasse 22 - 28 Postfach 1336 8201 Schaffhausen 052 630 44 44 052 630 43 85 *80-500-4 CRESCHZZ82R +05544 0000 0054414835 219990312111CS CREDIT SUISSE (5) Wengistrasse 2 Postfach 1047 4502 Solothurn 032 624 52 52 032 624 52 47 *30-31-4 CRESCHZZ45R +05545 0000 0054564835 220010623112CS CREDIT SUISSE (5) Rue H.-F.-Sandoz 24 Case postale 244 2710 Tavannes 032 482 63 11 032 482 63 78 *12-60-7 CRESCHZZ27N +05546 0000 0054644835 220050312111CS CREDIT SUISSE (5) Gotthardstrasse 21 Postfach 1082 8801 Thalwil 044 723 91 11 044 723 91 12 *80-500-4 CRESCHZZ88R +05547 0000 0054724835 219990312112CS CREDIT SUISSE (5) Grand-Rue 129 Case postale 71 2720 Tramelan 032 486 92 11 032 486 92 12 *12-60-7 CRESCHZZ27O +05548 0000 0054884835 220050312111CS CREDIT SUISSE (5) Bankstrasse 5 Postfach 252 8610 Uster 1 044 905 23 11 044 905 23 76 *80-500-4 CRESCHZZ86E +05549 0000 0054934835 220050312111CS CREDIT SUISSE (5) Friedbergstrasse 9 Postfach 350 8820 Wädenswil 044 783 31 11 044 783 33 11 *80-500-4 CRESCHZZ88T +05550 0000 0055014835 220030213111CS CREDIT SUISSE (5) Bankstrasse 1 Postfach 333 8570 Weinfelden 071 626 42 11 071 626 42 22 *80-500-4 CRESCHZZ85S +05551 0000 0055164835 220050312111CS CREDIT SUISSE (5) Bahnhofstrasse 58 Postfach 1267 8620 Wetzikon ZH 1 044 931 55 11 044 931 56 01 *80-500-4 CRESCHZZ86S +05552 0000 0055244835 220030213111CS CREDIT SUISSE (5) Obere Bahnhofstrasse 33 Postfach 237 9500 Wil SG 1 071 913 77 77 071 913 77 90 *80-500-4 CRESCHZZ95R +05553 0000 0055324835 220030213111CS CREDIT SUISSE (5) Stadthausstrasse 16 Postfach 330 8401 Winterthur 052 260 11 11 052 260 12 96 *80-500-4 CRESCHZZ84R +05554 0000 0055484835 220050304111CS CREDIT SUISSE (5) Bahnhofstrasse 53 Postfach 4879 8021 Zürich 044 229 41 11 044 211 81 84 *80-500-4 CRESCHZZ80Q +05555 0000 0055534835 220050305111CS CREDIT SUISSE (5) Altstetten, Badenerstrasse 697 Postfach 4837 8048 Zürich 044 436 11 11 044 436 11 12 *80-500-4 CRESCHZZ80S +05556 0000 0055694835 220050305111CS CREDIT SUISSE (5) Wiedikon, Birmensdorferstrasse 140 Postfach 4563 8039 Zürich 044 456 42 11 044 456 43 43 *80-500-4 CRESCHZZ80Z +05557 0000 0055774835 220050305111CS CREDIT SUISSE (5) Aussersihl, Badenerstrasse 50 Postfach 673 8021 Zürich 044 295 31 11 044 295 32 00 *80-500-4 CRESCHZZ80I +05558 0000 0055854835 220050305111CS CREDIT SUISSE (5) Postfach 4558 8070 Zürich 044 268 84 11 044 268 84 12 *80-500-4 CRESCHZZ80J +05559 0000 0055904835 220050305111CS CREDIT SUISSE (5) Oerlikon, Albert-Näf-Platz Postfach 4857 8050 Zürich 044317 41 11 044 317 45 00 *80-500-4 CRESCHZZ80J +05560 0000 0056044835 220050305111CS CREDIT SUISSE (5) Schaffhauserp. Weinbergstrasse 161 Postfach 4560 8042 Zürich 044 360 81 11 044 360 81 12 *80-500-4 CRESCHZZ80X +05561 0000 0056124835 220050305111CS CREDIT SUISSE (5) Seefeld, Seefeldstrasse 1 Postfach 4865 8034 Zürich 044 268 14 14 044 268 14 15 *80-500-4 CRESCHZZ80Y +055611 0000 0561154835 220030213111CS CREDIT SUISSE (5) Horgen Oberdorf, Neugasse 10 Postfach 8070 Zürich 0848 80 70 61 *80-500-4 CRESCHZZ81Z +05562 0000 0056284835 220050305111CS CREDIT SUISSE (5) Schaffhauserplatz, Weinbergstr. 161Postfach 4560 8042 Zürich 044 360 81 11 044 360 81 12 *80-500-4 CRESCHZZ80X +05563 0000 0056334835 220050305111CS CREDIT SUISSE (5) Wiedikon, Birmensdorferstrasse 140 Postfach 4563 8036 Zürich 044 456 42 11 044 456 43 43 *80-500-4 CRESCHZZ80Z +05564 0000 0056494835 219981225113CS CREDIT SUISSE (5) Via G. Vegezzi 1 Casella postale 2862 6901 Lugano 091 802 51 11 091 802 58 60 69-5626-3 CRESCHZZ69R +05565 0000 0056574835 220030213111CS CREDIT SUISSE (5) Bahnhofstrasse 48 Postfach 248 9470 Buchs SG 081 755 66 11 081 755 66 55 *80-500-4 CRESCHZZ94R +05566 0000 0056654835 219990421112CS CREDIT SUISSE (5) Place de la Paix 1 Case postale 133 1820 Montreux 1 021 962 76 11 021 963 53 62 *12-60-7 CRESCHZZ18S +05567 0000 0056704835 219990421111CS CREDIT SUISSE (5) Bahnhofstrasse 11 Postfach 1255 4133 Pratteln 1 061 826 15 15 061 826 15 51 *30-31-4 CRESCHZZ41R +05568 0000 0056814835 220050312111CS CREDIT SUISSE (5) Bahnhofstrasse 28 Postfach 156 8180 Bülach 044 872 21 11 044 872 22 12 *80-500-4 CRESCHZZ81R +05569 0000 0056964835 219990528112CS CREDIT SUISSE (5) Avenue Léopold-Robert 58 Case postale 368 2301 Chaux-de-Fonds, La 032 911 97 11 032 911 97 19 *12-60-7 CRESCHZZ23R +05570 0000 0057084835 219990312112CS CREDIT SUISSE (5) Avenue du Midi 12 Case postale 349 1951 Sion/Sitten 027 329 71 11 027 329 71 79 *12-60-7 CRESCHZZ19S +05570 0001 0057084835 319990421112CS CREDIT SUISSE (5) Case postale 163 1997 Haute-Nendaz 027 329 71 11 *12-60-7 CRESCHZZ19S +05571 0000 0057134835 220010707111CS CREDIT SUISSE (5) Froburgstrasse 1-5 Postfach 551 4601 Olten 062 205 65 11 062 205 65 12 *30-31-4 CRESCHZZ46R +05572 0000 0057294835 220030213111CS CREDIT SUISSE (5) Bahnhofstrasse 12 Postfach 7001 Chur 081 255 60 11 081 255 61 50 *80-500-4 CRESCHZZ10S +05572 0001 0057294835 320030213111CS CREDIT SUISSE (5) Bahnhofstrasse 12 Postfach 585 7013 Domat/Ems 081 255 60 11 081 255 61 50 *80-500-4 CRESCHZZ70R +05573 0000 0057374835 219990312112CS CREDIT SUISSE (5) Place de la Gare 1 Case postale 128 1009 Pully 021 721 73 73 021 729 40 37 *12-60-7 CRESCHZZ10S +05574 0000 0057454835 219990417111NAB Neue Aargauer Bank Bahnhofstrasse 49 Postfach 3422 5001 Aarau 062 838 80 80 062 838 82 80 *50-1083-6 AHHBCH22XXX +05575 0000 0057504835 220010707111CS CREDIT SUISSE (5) Bahnhofplatz 84 Postfach 864 3401 Burgdorf 034 428 63 63 034 423 17 89 *30-31-4 CRESCHZZ34R +05576 0000 0057614835 220050312111CS CREDIT SUISSE (5) Zürichstrasse 8 Postfach 113 8600 Dübendorf 044 802 11 33 044 820 13 09 *80-500-4 CRESCHZZ86R +05577 0000 0057764835 219990629112CS CREDIT SUISSE (5) Rue du Lion d'Or 5 - 7 Case postale 2493 1002 Lausanne 021 340 11 11 021 340 33 33 *12-60-7 CRESCHZZ10C +05578 0000 0057844835 219990417111NAB Neue Aargauer Bank Bahnhofplatz 1 Postfach 5401 Baden 056 204 11 11 056 204 11 12 *50-1083-6 AHHBCH22XXX +05579 0000 0057924835 219981225113CS CREDIT SUISSE (5) Via Lugano Casella postale 168 6988 Ponte Tresa 091 611 86 11 091 606 26 88 *69-5626-3 CRESCHZZ69S +05580 0000 0058004835 220000407113CS CREDIT SUISSE (5) Via San Salvatore 3 Casella postale 863 6902 Paradiso 091 960 56 11 091 960 56 37 *69-5626-3 CRESCHZZ69G +05581 0000 0058114835 219990421113CS CREDIT SUISSE (5) Piazza G. Canevascini Casella postale 284 6598 Tenero 091 735 13 11 091 745 18 59 *69-5626-3 CRESCHZZ65E +05582 0000 0058264835 219990421111CS CREDIT SUISSE (5) Bundesplatz 2 Postfach 5322 3001 Bern 031 358 81 11 031 358 71 11 *30-31-4 CRESCHZZ30S +05583 0000 0058344835 220030213111CS CREDIT SUISSE (5) Rathausplatz 19 Postfach 324 8260 Stein am Rhein 052 742 22 22 052 741 44 61 *80-500-4 CRESCHZZ82D +05584 0000 0058424835 219990421112CS CREDIT SUISSE (5) Rue de la Gare 45 Case postale 279 1260 Nyon 022 994 81 11 022 994 81 80 *12-60-7 CRESCHZZ12O +05584 0001 0058424835 319990507112CS CREDIT SUISSE (5) Case postale 1196 Gland 022 994 81 11 022 994 81 80 *12-60-7 CRESCHZZ12O +05585 0000 0058584835 220030213111CS CREDIT SUISSE (5) Märtplatz 1 Postfach 55 8307 Effretikon 052 354 62 62 052 354 62 63 *80-500-4 CRESCHZZ83D +05586 0000 0058634835 220050312111CS CREDIT SUISSE (5) Schaffhauserstrasse 144 Postfach 875 8302 Kloten 044 804 71 71 044 804 71 70 *80-500-4 CRESCHZZ83R +05587 0000 0058794835 219990312112CS CREDIT SUISSE (5) Rue de Seyon 12 Case postale 556 2001 Neuchâtel 032 720 95 11 032 720 99 50 *12-60-7 CRESCHZZ20R +05588 0000 0058874835 220020311113CS CREDIT SUISSE (5) Via Mezzana 31 a Casella postale 1246 6616 Losone 091 785 75 11 091 791 19 02 *69-5626-3 CRESCHZZ66D +055881 0000 0588124835 219990417111NAB Neue Aargauer Bank Hauptsitz Bahnhofstrasse 49 Postfach 5001 Aarau 062 838 80 80 062 838 82 80 50-1083-6 AHHBCH22XXX +055882 0000 0588284835 219990521111NAB Neue Aargauer Bank Bahnhofstrasse 49 Postfach 3422 5001 Aarau 062 838 80 80 062 838 82 80 50-1083-6 AHHBCH22XXX +055882 0002 0588284835 320010707111NAB Neue Aargauer Bank Einkaufszentrum/Telli Postfach 5004 Aarau 062 838 81 81 062 838 81 82 *50-1083-6 AHHBCH22XXX +055882 0003 0588284835 319990417111NAB Neue Aargauer Bank Heinrich Wehrli-Strasse 5 Postfach 79 5033 Buchs AG 062 834 41 41 062 834 41 42 *50-1083-6 AHHBCH22XXX +055882 0004 0588284835 319990421111NAB Neue Aargauer Bank Mitteldorfstrasse 27 Postfach 155 5722 Gränichen 062 855 28 28 062 855 28 29 *50-1083-6 AHHBCH22XXX +055882 0005 0588284835 319990421111NAB Neue Aargauer Bank Tramstrasse 25 Postfach 152 5034 Suhr 062 855 27 77 062 855 27 78 *50-1083-6 AHHBCH22XXX +055882 0006 0588284835 319990421111NAB Neue Aargauer Bank Hauptstrasse 25 Postfach 63 5035 Unterentfelden 062 737 29 11 062 737 29 29 *50-1083-6 AHHBCH22XXX +055882 0007 0588284835 319990421111NAB Neue Aargauer Bank Hauptstrasse 21 Postfach 15 5726 Unterkulm 062 768 78 78 062 768 78 79 *50-1083-6 AHHBCH22XXX +055883 0000 0588334835 220030621111NAB Neue Aargauer Bank Schulthess-Allee 1 Postfach 285 5201 Brugg AG 056 462 71 11 056 462 77 11 *50-1083-6 AHHBCH22XXX +055883 0001 0588334835 319990421111NAB Neue Aargauer Bank Hauptstrasse 24 Postfach 82 5312 Döttingen 056 268 88 88 056 268 88 89 *50-1083-6 AHHBCH22XXX +055883 0003 0588334835 319990421111NAB Neue Aargauer Bank Hauptstrasse 48 Postfach 164 5330 Zurzach 056 269 67 67 056 269 67 00 *50-1083-6 AHHBCH22XXX +055884 0000 0588494835 219990626111NAB Neue Aargauer Bank Bahnhofplatz 1 Postfach 5401 Baden 056 204 11 11 056 204 11 12 *50-1083-6 AHHBCH22XXX +055884 0001 0588494835 319990421111NAB Neue Aargauer Bank Zürcherstrasse 109 Postfach 101 5432 Neuenhof 056 416 30 30 056 416 30 31 *50-1083-6 AHHBCH22XXX +055884 0002 0588494835 320010707111NAB Neue Aargauer Bank Shopping-Center Postfach 454 8957 Spreitenbach 056 418 55 11 056 418 55 12 *50-1083-6 AHHBCH22XXX +055884 0003 0588494835 320010707111NAB Neue Aargauer Bank Landstrasse 81 Postfach 5430 Wettingen 056 437 15 11 056 437 15 12 *50-1083-6 AHHBCH22XXX +055885 0000 0588574835 219990626111NAB Neue Aargauer Bank Bahnhofplatz 1 Postfach 930 5401 Baden 056 204 11 11 056 204 11 12 *50-1083-6 AHHBCH22XXX +055885 0001 0588574835 320010707111NAB Neue Aargauer Bank Kantonsspital Postfach 5404 Baden 056 493 26 81 056 493 22 57 *50-1083-6 AHHBCH22XXX +055885 0002 0588574835 319990421111NAB Neue Aargauer Bank Badenerstrasse 2 Postfach 5442 Fislisbach 056 483 41 41 056 483 41 42 *50-1083-6 AHHBCH22XXX +055885 0003 0588574835 320010707111NAB Neue Aargauer Bank Zürcherstrasse 109 Postfach 5432 Neuenhof 056 416 30 30 056 416 30 31 *50-1083-6 AHHBCH22XXX +055885 0004 0588574835 319990521111NAB Neue Aargauer Bank Landstrasse 148 Postfach 23 5415 Nussbaumen b. Baden 056 296 30 30 056 296 30 31 *50-1083-6 AHHBCH22XXX +055885 0005 0588574835 319990421111NAB Neue Aargauer Bank Shopping Center Postfach 454 8957 Spreitenbach 056 418 55 11 056 418 55 12 *50-1083-6 AHHBCH22XXX +055885 0006 0588574835 319990421111NAB Neue Aargauer Bank Bahnhofstrasse 3 Postfach 180 5300 Turgi 056 201 70 70 056 201 70 71 *50-1083-6 AHHBCH22XXX +055885 0007 0588574835 319990421111NAB Neue Aargauer Bank Landstrasse 81 5430 Wettingen 056 437 15 11 056 437 15 12 *50-1083-6 AHHBCH22XXX +055886 0000 0588654835 220030912111NAB Neue Aargauer Bank Zollrain 9 Postfach 464 4310 Rheinfelden 061 836 72 72 061 836 72 00 *50-1083-6 AHHBCH22XXX +055886 0002 0588654835 319990421111NAB Neue Aargauer Bank Winterthurerstrasse 2 Postfach 68 5080 Laufenburg 062 869 45 45 062 869 45 81 *50-1083-6 AHHBCH22XXX +055886 0003 0588654835 319990421111NAB Neue Aargauer Bank Bachstrasse 10 Postfach 118 4313 Möhlin 061 855 71 71 061 855 71 00 *50-1083-6 AHHBCH22XXX +055886 0004 0588654835 320030912111NAB Neue Aargauer Bank Hauptstrasse 53 Postfach 153 5070 Frick 062 865 15 15 062 865 16 16 *50-1083-6 AHHBCH22XXX +055886 0005 0588654835 319990421111NAB Neue Aargauer Bank Langackerstrasse 1 Postfach 228 4332 Stein AG 062 866 18 18 062 866 18 19 *50-1083-6 AHHBCH22XXX +055887 0000 0588704835 219990421111NAB Neue Aargauer Bank Zentralstrasse 53 Postfach 5610 Wohlen AG 056 618 51 11 056 618 52 15 *50-1083-6 AHHBCH22XXX +055887 0001 0588704835 319990421111NAB Neue Aargauer Bank Zürcherstrasse 8 Postfach 364 5620 Bremgarten AG 056 648 20 60 056 648 20 61 *50-1083-6 AHHBCH22XXX +055887 0003 0588704835 319990421111NAB Neue Aargauer Bank Aarauerstrasse 7 Postfach 289 5630 Muri AG 056 675 70 70 056 675 70 71 *50-1083-6 AHHBCH22XXX +055887 0004 0588704835 319990421111NAB Neue Aargauer Bank Bellikerstrasse 1 Postfach 264 8965 Mutschellen 056 648 41 61 056 648 41 62 *50-1083-6 AHHBCH22XXX +055887 0005 0588704835 319990421111NAB Neue Aargauer Bank Dorfplatz Postfach 128 5612 Villmergen 056 618 30 40 056 618 30 41 *50-1083-6 AHHBCH22XXX +055889 0000 0588964835 219981225111NAB Neue Aargauer Bank Vordere Hauptgasse 68 Postfach 655 4800 Zofingen 062 745 15 15 062 745 15 16 *50-1083-6 AHHBCH22XXX +055889 0001 0588964835 320010707111NAB Neue Aargauer Bank Pilatusstrasse 5 Postfach 4663 Aarburg 062 787 47 47 062 787 47 48 *50-1083-6 AHHBCH22XXX +055889 0002 0588964835 319990421111NAB Neue Aargauer Bank Brückenstrasse 2 Postfach 98 4853 Murgenthal 062 917 33 33 062 917 33 44 *50-1083-6 AHHBCH22XXX +055889 0003 0588964835 319990421111NAB Neue Aargauer Bank Bernstrasse 189 Postfach 228 4852 Rothrist 062 785 88 88 062 785 88 77 *50-1083-6 AHHBCH22XXX +05589 0000 0058954835 220030213111CS CREDIT SUISSE (5) Untere Bahnhofstrasse 28 Postfach 8640 8640 Rapperswil SG 055 222 81 11 055 222 81 16 *80-500-4 CRESCHZZ86N +055899 0000 0589924835 220010428111NAB Neue Aargauer Bank Service-Center Brugg Postfach 285 5201 Brugg AG 056 462 71 00 056 462 76 79 *50-1083-6 AHHBCH22XXX +05590 0000 0059054835 219990312111CS CREDIT SUISSE (5) Bahnhofstrasse 35 Postfach 577 6403 Küssnacht am Rigi 041 854 71 71 041 854 71 50 *30-31-4 CRESCHZZ64A +05590 0001 0059054835 319990421111CS CREDIT SUISSE (5) Postfach 6353 Weggis 041 854 71 11 041 854 71 50 *30-31-4 CRESCHZZ64A +05591 0000 0059104835 219990312113CS CREDIT SUISSE (5) Via Bellinzona 12 Casella postale 1569 6710 Biasca 091 873 93 11 091 862 42 32 *69-5626-3 CRESCHZZ67A +05592 0000 0059214835 219980729113CS CREDIT SUISSE (5) Via Vedeggio Casella postale 55 6814 Lamone-Cadempino 091 961 88 11 091 966 36 38 *69-5626-3 CRESCHZZ68T +05593 0000 0059364835 220050312111CS CREDIT SUISSE (5) Bahnhofstrasse 58 Postfach 1267 8620 Wetzikon ZH 1 044 931 55 11 044 931 56 01 *80-500-4 CRESCHZZ86S +05594 0000 0059444835 219990312113CS CREDIT SUISSE (5) Largo Libero Olgiati 81 Casella postale 571 6512 Giubiasco 091 850 94 11 091 857 44 05 *69-5626-3 CRESCHZZ65B +05595 0000 0059524835 220050312111CS CREDIT SUISSE (5) GD-Zürich Postfach 8065 Zürich 044 808 11 11 *80-500-4 CRESCHZZ81G +066156 0000 0615656156 120010622112CEP Noréaz Caisse d'Epargne de Prez, Corserey & Noréaz Route de Corserey 9 Case postale 1746 Prez-vers-Noréaz 026 470 47 00 026 470 47 09 17-145-2 RBABCH22156 +066162 0000768430616296162 220030531112CE le Crêt Caisse d'Epargne de Le Crêt Case postale 7 1611 Crêt, Le 026 918 51 44 026 918 55 30 17-1031-9 RBABCH22162 +066163 0000 0616376163 120030710112CEV Fribourg Caisse d'Epargne de la Ville de Fribourg Rue du Criblet 1 Case postale 262 1701 Fribourg 026 323 14 01 026 322 77 94 30-38190-2 RBABCH22163 +066168 0000 0616846168 119991009112CE Siviriez Caisse d'Epargne de Siviriez Case postale 1678 Siviriez 026 656 13 40 026 656 17 40 17-1881-0 RBABCH22168 +066174 0000 0617426174 119991009112CE VEVEY Caisse d'Epargne du District de Vevey Avenue Paul-Ceresole 3 Case postale 1800 Vevey 1 021 925 80 25 021 925 80 20 30-38248-4 RBABCH22174 +066180 0000 0618056180 119991009112CM le Sentier Crédit Mutuel de la Vallée SA Case postale 1347 Sentier, Le 021 845 56 06 021 845 43 22 10-2201-4 RBABCH22180 +066182 0000 0618216182 120020301112CE Cossonay Caisse d'Epargne du District de Cossonay Rue du Temple 2 Case postale 40 1304 Cossonay-Ville 021 863 13 13 021 863 13 10 10-742-5 RBABCH22182 +066182 0001 0618216182 320000418112CE Cossonay Caisse d'Epargne du District de Cossonay Centre du Village Case postale 15 1036 Sullens 021 732 18 32 021 732 17 77 *10-742-5 RBABCH22182 +066186 0000 0618686186 120040806111Sparkasse SenseSparkasse Sense Mariahilfstrasse 4 Postfach 1712 Tafers/Tavel 026 494 11 13 026 494 31 66 17-97-3 RBABCH22XXX +06618610000 6186146186 220040807111Sparkasse SenseSparkasse Sense F.X. Müllerstrasse 10 Postfach 3185 Schmitten FR 026 496 15 17 026 496 35 40 *17-97-3 RBABCH22XXX +066240 0000 0624086240 120040626112CEC Courtelary Caisse d'Epargne du district de Courtelary Grand-Rue 45 Case postale 104 2608 Courtelary 032 945 10 50 032 945 10 69 30-38150-4 RBABCH22240 +06624010000 6240146240 220040626112CEC Courtelary Caisse d'Epargne du district de Courtelary Grand-Rue 136 Case postale 125 2720 Tramelan 032 487 52 22 032 487 49 94 *30-38150-4 RBABCH22240 +06624020000 6240226240 220040626112CEC Courtelary Caisse d'Epargne du district de Courtelary Rue Francillon 31 Case postale 41 2610 St-Imier 032 941 47 27 032 941 53 70 *30-38150-4 RBABCH22240 +06624030000 6240386240 220040626112CEC Courtelary Caisse d'Epargne du district de Courtelary Rue du Collège 3 Case postale 32 2605 Sonceboz-Sombeval 032 489 24 84 032 489 26 85 *30-38150-4 RBABCH22240 +066250 0000 0625006250 120040708112Banque Laufon Banque Jura Laufon Rue de la Molière 19 Case postale 134 2800 Delémont 1 032 421 96 96 032 421 96 95 30-38195-5 RBABCH22415 +066250 0001 0625006250 320011229112Banque Laufon Banque Jura Laufon La Grangette 122 2906 Chevenez 032 476 70 10 032 476 71 55 *30-38195-5 +066250 0002 0625006250 320031017111Bank Laufen Bank Jura Laufen Röschenzstrasse 12 Postfach 164 4242 Laufen 061 765 53 33 061 765 53 05 *30-38195-5 +066250 0003 0625006250 320031017111Bank Laufen Bank Jura Laufen Wydenmatten 1A Postfach 123 4226 Breitenbach 061 789 96 66 061 789 96 55 *30-38195-5 +066250 0006 0625006250 320031018111Bank Laufen Bank Jura Laufen Unterdorf 6 Postfach 40 4254 Liesberg Dorf 061 775 95 50 061 775 95 55 *30-38195-5 +066250 0007 0625006250 320031018111Bank Laufen Bank Jura Laufen Dorfstrasse 2 Postfach 109 4222 Zwingen 061 765 94 44 061 765 94 45 *30-38195-5 +06625010000 6250116250 220040708112Banque Laufon Banque Jura Laufon Rue de l'Abbé-Monnin 30 Case postale 2854 Bassecourt 032 426 74 22 032 426 50 40 *30-38195-5 RBABCH22415 +06625020000 6250266250 220040708112Banque Laufon Banque Jura Laufon Place des Bennelats 10 Case postale 2900 Porrentruy 032 466 18 67 032 466 21 49 *30-38195-5 RBABCH22415 +06625030000 6250346250 220040708112Banque Laufon Banque Jura Laufon Rue de l'Hôtel-de-Ville 16 Case postale 88 2740 Moutier 032 494 53 53 032 494 53 59 *30-38195-5 RBABCH22415 +06625040000 6250426250 220040708112Banque Laufon Banque Jura Laufon Place du 23 juin 4 Case postale 2350 Saignelégier 032 951 15 44 032 951 17 77 *30-38195-5 RBABCH22415 +066300 0000 0630006300 120010720111Valiant Bank Valiant Bank Bundesplatz 4 Postfach 5333 3001 Bern 031 320 91 11 031 320 91 12 30-38112-0 VABECH22XXX +066300 0001 0630006300 320010720111Valiant Bank Valiant Bank Solothurnstrasse 4 Postfach 43 3315 Bätterkinden 032 665 25 15 032 665 28 44 *30-38112-0 +066300 0002 0630006300 320010714111Valiant Bank Valiant Bank Bernstrasse 10 Postfach 170 3312 Fraubrunnen 031 760 60 60 031 760 60 69 *30-38112-0 +066300 0003 0630006300 320040626111Valiant Bank Valiant Bank Solothurnstrasse 26 Postfach 65 3303 Jegenstorf 031 764 64 64 031 764 64 65 *30-38112-0 +066300 0004 0630006300 319970704111Valiant Bank Valiant Bank Hofwilstrasse 4 Postfach 3302 Moosseedorf 031 859 37 37 031 859 69 97 *30-38112-0 +066300 0005 0630006300 320040626111Valiant Bank Valiant Bank Bernstrasse 4 Postfach 637 3053 Münchenbuchsee 031 868 10 20 031 868 10 29 *30-38112-0 +066300 0006 0630006300 320030710111Valiant Bank Valiant Bank Zentrumsplatz 1 Postfach 3322 Urtenen-Schönbühl 031 859 37 47 031 859 39 79 *30-38112-0 +066300 0007 0630006300 320010714111Valiant Bank Valiant Bank Bahnhofstrasse 23 Postfach 170 3427 Utzenstorf 032 665 33 61 032 665 37 72 *30-38112-0 +066300 0008 0630006300 320010714111Valiant Bank Valiant Bank Bethlehemstrasse 1 Postfach 331 3027 Bern 031 998 30 30 031 998 30 39 *30-38112-0 +066300 0009 0630006300 320010714111Valiant Bank Valiant Bank Schwarzenburgstrasse 252 Postfach 491 3098 Köniz 031 978 30 30 031 978 30 39 *30-38112-0 +066300 0010 0630006300 320040626111Valiant Bank Valiant Bank Bernstrasse 96 Postfach 296 3072 Ostermundigen 031 931 55 56 031 932 27 51 *30-38112-0 +066300 0012 0630006300 320010714111Valiant Bank Valiant Bank Breitenrainplatz 33 Postfach 607 3014 Bern 031 332 32 26 031 331 49 07 *30-38112-0 +066300 0013 0630006300 319990526111Valiant Bank Valiant Bank Kirchenfeld Thunstrasse 14 3005 Bern 031 352 07 77 031 352 88 23 *30-38112-0 +066300 0016 0630006300 320030710111Valiant Bank Valiant Bank Talgut-Zentrum 25 Postfach 49 3063 Ittigen 031 917 10 60 031 917 10 69 *30-38112-0 +066300 0017 0630006300 320010714111Valiant Bank Valiant Bank Marktgasse 19 Postfach 446 4902 Langenthal 062 923 69 33 062 923 69 34 *30-38112-0 +066300 0018 0630006300 320000418111Valiant Bank Valiant Bank Bahnhofstrasse 45 Postfach 3401 Burgdorf 034 423 12 12 034 423 12 13 *30-38112-0 +066300 0019 0630006300 320030710111Valiant Bank Valiant Bank Bottigenstrasse 9 Postfach 573 3018 Bern 031 990 04 90 031 990 04 99 *30-38112-0 +066300 0021 0630006300 320040626111Valiant Bank Valiant Bank Füllerichstrasse 53 Postfach 215 3073 Gümligen 031 954 29 10 031 954 29 15 *30-38112-0 +066300 0022 0630006300 320020801111Valiant Bank Valiant Bank Murtenstrasse 2 Postfach 17 3177 Laupen BE 031 747 66 66 031 747 96 44 *30-38112-0 +066300 0023 0630006300 320040626111Valiant Bank Valiant Bank Kirchstrasse 28 3097 Liebefeld 031 971 86 66 031 971 86 67 *30-38112-0 +066300 0024 0630006300 320020801111Valiant Bank Valiant Bank Bahnhofstrasse 7 Postfach 317 3250 Lyss 032 386 73 50 032 386 73 54 *30-38112-0 +066300 0025 0630006300 320020801111Valiant Bank Valiant Bank Murtenstrasse 28 Postfach 32 3203 Mühleberg 031 751 10 01 031 751 10 43 *30-38112-0 +066300 0026 0630006300 320040626111Valiant Bank Valiant Bank Oeleweg 2 3176 Neuenegg 031 741 33 11 031 741 36 38 *30-38112-0 +066300 0027 0630006300 320020801111Valiant Bank Valiant Bank Hauptstrasse 14 Postfach 187 3033 Wohlen b. Bern 031 829 33 11 031 829 22 78 *30-38112-0 +066300 0028 0630006300 320030710111Valiant Bank Valiant Bank Bahnhofstrasse 8 Postfach 44 3210 Kerzers 031 755 64 64 031 755 75 39 *30-38112-0 +066300 0030 0630006300 320040626111Valiant Bank Valiant Bank Dorf 3537 Eggiwil 034 491 40 85 034 491 40 87 *30-38112-0 +066300 0033 0630006300 320020801111Valiant Bank Valiant Bank Bahnhofplatz 5 Postfach 12 3432 Lützelflüh-Goldbach 034 461 81 71 034 461 81 74 *30-38112-0 +066300 0035 0630006300 320040626111Valiant Bank Valiant Bank Dorfplatz Postfach 10 6197 Schangnau 034 493 50 05 034 493 50 07 *30-38112-0 +066300 0037 0630006300 320020801111Valiant Bank Valiant Bank Dorfstrasse 19 Postfach 116 3534 Signau 034 497 12 49 034 497 11 08 *30-38112-0 +066300 0038 0630006300 320040626111Valiant Bank Valiant Bank altes Dorfschulhaus 3556 Trub 034 495 60 17 034 495 61 41 *30-38112-0 +066300 0039 0630006300 320020801111Valiant Bank Valiant Bank Bahnhofstrasse 9 Postfach 27 3555 Trubschachen 034 495 51 88 034 495 55 48 *30-38112-0 +066300 0040 0630006300 320020801111Valiant Bank Valiant Bank Langnaustrasse 21 Postfach 189 3436 Zollbrück 034 496 94 11 034 496 94 21 *30-38112-0 +066300 0041 0630006300 320020801111Valiant Bank Valiant Bank Bernstrasse 3 Postfach 3122 Kehrsatz 031 961 18 04 031 961 74 01 *30-38112-0 +066300 0042 0630006300 320020801111Valiant Bank Valiant Bank Bahnhofstrasse 19 Postfach 53 3125 Toffen 031 819 45 35 031 819 82 28 *30-38112-0 +066300 0044 0630006300 320030710111Valiant Bank Valiant Bank Bahnhofplatz 7 Postfach 5333 3001 Bern 031 320 91 11 031 320 93 88 *30-38112-0 +066300 0045 0630006300 320020801111Valiant Bank Valiant Bank Bahnhofstrasse 3 Postfach 140 3123 Belp 031 818 21 11 031 818 21 12 *30-38112-0 +066300 0049 0630006300 320010808111Valiant Bank Valiant Bank Dorfstrasse 7 Postfach 511 3550 Langnau im Emmental 034 409 41 11 034 409 41 41 *30-38112-0 VABECH22XXX +066300 0050 0630006300 320020803111Valiant Bank Valiant Bank Schlossgasse 5 Postfach 53 3280 Murten/Morat 026 672 98 30 026 670 30 58 *30-38112-0 +066300 0051 0630006300 320020803111Valiant Bank Valiant Bank Bernstrasse 32 Postfach 1140 3072 Ostermundigen 031 931 84 84 031 931 69 59 *30-38112-0 +066300 0052 0630006300 320040626111Valiant Bank Valiant Bank Bernstrasse 135 3052 Zollikofen 031 915 14 14 031 915 14 19 *30-38112-0 +066300 0053 0630006300 320040626111Valiant Bank Valiant Bank Dorf Postfach 102 1714 Heitenried 026 495 95 95 026 495 16 33 *30-38112-0 +066300 0054 0630006300 320021123111Valiant Bank Valiant Bank Bernstrasse 3 Postfach 14 3175 Flamatt 031 741 03 92 031 741 16 95 *30-38112-0 +066300 0055 0630006300 320040626111Valiant Bank Valiant Bank Hauptstrasse 29 Postfach 126 3186 Düdingen 026 492 51 00 026 492 51 19 *30-38112-0 +066305 0000 0630586305 120021128101Valiant Valiant Privatbank AG Bundesplatz 4 Postfach 5324 3001 Bern 031 310 61 11 031 310 61 12 30-38266-8 VBBECH22XXX +066305 0001 0630586305 320050318101Valiant Valiant Privatbank AG Laurenzenvorstadt 1 5001 Aarau 062 837 80 90 062 837 80 89 *30-38266-8 +066305 0002 0630586305 320050318101Valiant Valiant Privatbank AG Hauptstrasse 29 3186 Düdingen 026 492 51 10 026 492 51 19 *30-38266-8 +066305 0003 0630586305 320050318101Valiant Valiant Privatbank AG Postfach 4903 6002 Luzern 041 248 65 00 041 248 65 15 *30-38266-8 +066313 0000 0631366313 120021024111Bernerland BankBernerland Bank Lütoldstrasse 1 Postfach 3454 Sumiswald 034 432 37 37 034 431 13 74 30-38189-7 RBABCH22313 +066313 0001 0631366313 320030710111Bernerland BankBernerland Bank Rüegsaustrasse 35 Postfach 3415 Hasle-Rüegsau 034 460 67 67 034 460 67 60 *30-38189-7 RBABCH22313 +066313 0002 0631366313 320030710111Bernerland BankBernerland Bank Dorfstrasse 43 Postfach 3432 Lützelflüh-Goldbach 034 461 16 48 031 461 16 51 *30-38189-7 RBABCH22313 +066313 0003 0631366313 320030710111Bernerland BankBernerland Bank Postfach 3435 Ramsei 034 461 83 10 034 461 83 11 *30-38189-7 RBABCH22313 +066313 0005 0631366313 320030710111Bernerland BankBernerland Bank Postfach 4942 Walterswil BE 062 964 12 12 062 964 12 26 *30-38189-7 RBABCH22313 +066313 0006 0631366313 320030710111Bernerland BankBernerland Bank Dorfstrasse 29 Postfach 3457 Wasen im Emmental 034 437 03 33 034 437 15 61 *30-38189-7 RBABCH22313 +066313 0007 0631366313 320030710111Bernerland BankBernerland Bank Dorf Postfach 3465 Dürrenroth 062 959 00 59 062 959 00 49 *30-38189-7 RBABCH22313 +066313 0008 0631366313 320030710111Bernerland BankBernerland Bank Bahnhofstrasse 2 3360 Herzogenbuchsee 062 956 60 20 062 956 60 29 *30-38189-7 RBABCH22313 +066313 0009 0631366313 320030710111Bernerland BankBernerland Bank Unterdorfstrasse 9 Postfach 74 4934 Madiswil 062 957 80 70 062 957 80 75 *30-38189-7 RBABCH22313 +066313 0010 0631366313 320040626111Bernerland BankBernerland Bank Dorf Postfach 4954 Wyssachen 062 957 12 48 062 966 10 82 *30-38189-7 RBABCH22313 +066313 0011 0631366313 320030710111Bernerland BankBernerland Bank Stalden Postfach 4952 Eriswil 062 966 20 22 062 966 20 23 *30-38189-7 RBABCH22313 +066313 0012 0631366313 320030710111Bernerland BankBernerland Bank Käsereistrasse 289 Postfach 4938 Rohrbach 062 965 00 15 062 965 40 22 *30-38189-7 RBABCH22313 +066316 0000 0631686316 119991009111S + L Frutigen Spar- und Leihkasse Frutigen Dorfstrasse 13 Postfach 80 3714 Frutigen 033 672 18 18 033 672 18 88 30-38188-9 RBABCH22316 +066327 0000 0632716327 120030710111OVB Zweisimmen Obersimmentalische Volksbank Bahnhofstrasse Postfach 368 3770 Zweisimmen 033 722 27 55 033 722 39 89 30-38272-3 RBABCH22327 +06632710000 6327106327 220040626111OVB Zweisimmen Obersimmentalische Volksbank Kronenplatz Postfach 356 3775 Lenk im Simmental 033 733 17 35 033 733 17 92 *30-38272-3 RBABCH22327 +066336 0000 0633666336 120050201101Clientis AG Clientis AG Bahnhofplatz 10A Postfach 5319 3001 Bern 031 660 46 44 031 660 46 55 +066337 0000 0633746337 120010105111BBO Bank BBO Bank Brienz Oberhasli Hauptstrasse 115 Postfach 771 3855 Brienz BE 033 952 10 50 033 952 10 69 30-38262-1 RBABCH22337 +066337 0001 0633746337 320010805111BBO Bank BBO Bank Brienz Oberhasli Bahnofstrasse 24 Postfach 236 3860 Meiringen 033 972 19 21 033 972 19 25 *30-38262-1 RBABCH22337 +066342 0000 0634206342 120040626111Saanen Bank SB Saanen Bank Bahnhofstrasse Postfach 7 3792 Saanen 033 748 46 46 033 748 46 56 30-38105-1 RBABCH22342 +066342 0001 0634206342 320040626111Saanen Bank SB Saanen Bank Mühlematte Postfach 3782 Lauenen b. Gstaad 033 765 91 86 033 765 91 89 *30-38105-1 RBABCH22342 +066342 0002 0634206342 320040626111Saanen Bank SB Saanen Bank Dorfstrasse 3785 Gsteig b. Gstaad 033 755 81 86 033 755 81 89 *30-38105-1 RBABCH22342 +066342 0003 0634206342 320040626111Saanen Bank SB Saanen Bank Hauptstrasse Postfach 96 3780 Gstaad 033 748 46 46 033 748 88 29 *30-38105-1 RBABCH22342 +066342 0004 0634206342 320040626111Saanen Bank SB Saanen Bank Hauptstrasse Postfach 3778 Schönried 033 744 02 90 033 744 02 92 *30-38105-1 RBABCH22342 +066342100006342 6342116342 120030719111Saanen Bank SB Saanen Bank Hauptstrasse Promenade 3780 Gstaad 033 748 46 46 033 748 88 29 *30-38105-1 RBABCH22342 +066342200006342 6342266342 120030719111Saanen Bank SB Saanen Bank Hauptstrasse Postfach 3778 Schönried 033 744 02 90 033 744 02 92 *30-38105-1 RBABCH22342 +066348 0000 0634836348 119991009111EK Interlaken Ersparniskasse des Amtsbezirks Interlaken Rosenstrasse 1 Postfach 3800 Interlaken 033 826 17 71 033 826 17 79 30-38252-6 RBABCH22348 +06634810000 6348176348 220041028111EK Interlaken Ersparniskasse des Amtsbezirks Interlaken Haus EKI 3818 Grindelwald 033 853 29 70 033 853 55 70 *30-38252-6 RBABCH22348 +06634820000 6348256348 220010720111EK Interlaken Ersparniskasse des Amtsbezirks Interlaken Beim Bahnhof Postfach 3822 Lauterbrunnen 033 855 36 55 033 855 36 09 *30-38252-6 RBABCH22348 +06634830000 6348306348 220010720111EK Interlaken Ersparniskasse des Amtsbezirks Interlaken Bahnhofplatz Postfach 3812 Wilderswil 033 823 10 70 033 823 11 36 *30-38252-6 RBABCH22348 +06634840000 6348416348 220040626111EK Interlaken Ersparniskasse des Amtsbezirks Interlaken Seestrasse 6 Postfach 3806 Bönigen b. Interlaken 033 821 61 20 033 823 40 51 *30-38252-6 RBABCH22348 +066350 0000 0635066350 119991009111AEK Thun Amtsersparniskasse Thun Hofstettenstrasse 2 Postfach 3601 Thun 033 227 31 00 033 227 32 00 30-38118-3 RBABCH22350 +066350 0002 0635066350 319990424111AEK Thun Amtsersparniskasse Thun Frutigenstrasse 62 Postfach 3604 Thun 033 227 32 35 033 336 67 19 *30-38118-3 +066350 0003 0635066350 319990424111AEK Thun Amtsersparniskasse Thun Lindenweg 2A/Schulstrasse Postfach 3604 Thun 033 227 32 85 033 336 41 47 *30-38118-3 +066350 0004 0635066350 320040626111AEK Thun Amtsersparniskasse Thun Dorfstrasse 43a Postfach 3661 Uetendorf 033 346 62 50 033 345 18 81 *30-38118-3 +066350 0007 0635066350 319990424111AEK Thun Amtsersparniskasse Thun Hauptstrasse 30 Postfach 3752 Wimmis 033 657 85 85 033 657 85 86 *30-38118-3 +066350 0009 0635066350 319970704111AEK Thun Amtsersparniskasse Thun Staatsstrasse 4 Postfach 3653 Oberhofen am Thunersee 033 227 32 55 033 243 57 51 *30-38118-3 +066350 0010 0635066350 320040626111AEK Thun Amtsersparniskasse Thun Oberdorf 743F Postfach 3753 Oey 033 681 81 70 033 681 81 71 *30-38118-3 +066350 0012 0635066350 320040626111AEK Thun Amtsersparniskasse Thun Dorf 864A Postfach 3655 Sigriswil 033 252 82 40 033 252 82 41 *30-38118-3 +066350 0013 0635066350 319970704111AEK Thun Amtsersparniskasse Thun Oberlandstrasse 9 Postfach 3700 Spiez 033 654 23 77 033 654 23 92 *30-38118-3 +066350 0014 0635066350 319990424111AEK Thun Amtsersparniskasse Thun Mühleweg 11 Postfach 3612 Steffisburg 033 227 32 65 033 437 74 72 *30-38118-3 +066350 0016 0635066350 320030710111AEK Thun Amtsersparniskasse Thun Bälliz 46 a Postfach 3601 Thun 033 227 32 73 033 222 79 20 *30-38118-3 +066350 0020 0635066350 319990424111AEK Thun Amtsersparniskasse Thun Staatsstrasse Postfach 3654 Gunten 033 251 11 46 033 251 11 58 *30-38118-3 +066350 0022 0635066350 319990424111AEK Thun Amtsersparniskasse Thun Bahnhofstrasse 6 Postfach 3627 Heimberg 033 437 18 41 033 438 18 43 *30-38118-3 +066350 0025 0635066350 319990424111AEK Thun Amtsersparniskasse Thun Staatsstrasse 144 Postfach 3626 Hünibach 033 227 32 45 033 243 58 10 *30-38118-3 +066357 00006313 0635756357 220030315111Bernerland BankBernerland Bank (ex EK Dürrenroth) Dorf Postfach 3465 Dürrenroth 062 959 00 59 062 959 00 49 30-38107-4 RBABCH22XXX +066363 0000 0636306363 120030710111S + L MünsingenSpar + Leihkasse Münsingen Dorfplatz 5 Postfach 1080 3110 Münsingen 031 724 11 11 031 724 11 55 30-38161-3 RBABCH22363 +066363 0001 0636306363 320010726111S + L MünsingenSpar + Leihkasse Münsingen Bahnhofstrasse 13 3076 Worb 031 839 73 73 031 839 73 75 *30-38161-3 +066363 0002 0636306363 320010726111S + L MünsingenSpar + Leihkasse Münsingen Bernstrasse 6 3114 Wichtrach 031 781 23 23 031 781 33 50 *30-38161-3 +066363 0003 0636306363 320010726111S + L MünsingenSpar + Leihkasse Münsingen Emmentalstrasse 15 3510 Konolfingen 031 790 30 30 031 790 30 39 *30-38161-3 +066363 0004 0636306363 320010726111S + L MünsingenSpar + Leihkasse Münsingen Kirchgasse 18A 3116 Kirchdorf BE 031 781 01 66 031 781 37 11 *30-38161-3 +066365 0000 0636566365 120031129111DC Bank Bern DC Bank Deposito-Cassa der Stadt Bern Kochergasse 6 Postfach 3000 Bern 7 031 328 85 85 031 328 85 86 30-38141-6 RBABCH22365 +066367 0000 0636726367 119991009111S + L Gürbetal Spar + Leihkasse Gürbetal Dorfstrasse 19 Postfach 3127 Mühlethurnen 031 808 19 19 031 809 22 16 30-38186-8 RBABCH22367 +066368 0000 0636886368 120010714111AEK Schwarzenb.Amtsersparniskasse Schwarzenburg Bahnhofstrasse 2 Postfach 3150 Schwarzenburg 031 734 20 20 031 731 26 11 30-38173-4 RBABCH22368 +066372 0000 0637246372 120030410111Bank EEK Bank EEK Amthausgasse 14/Marktgasse 19 Postfach 309 3000 Bern 7 031 310 52 52 031 310 52 99 30-38155-7 EEKBCH22XXX +066374 0000 0637486374 119991009111S+L Riggisberg Spar- und Leihkasse Riggisberg Grabenstrasse 7 Postfach 3132 Riggisberg 031 808 08 08 031 808 08 18 30-38128-0 RBABCH22374 +066380 0000 0638046380 119991009111S+L SteffisburgSpar + Leihkasse Steffisburg Glockentalstrasse 6 Postfach 3612 Steffisburg 1 033 439 22 22 033 439 22 77 30-38220-1 RBABCH22380 +066380 0001 0638046380 320020503111S+L SteffisburgSpar + Leihkasse Steffisburg Maulbeerplatz Postfach 3600 Thun 033 439 22 22 033 221 45 55 *30-38220-1 RBABCH22380 +066382 0000 0638286382 120010527111Burgerl.EK BernBurgerliche Ersparniskasse Bern Marktgasse 37 Postfach 6362 3001 Bern 031 312 03 12 031 312 03 60 30-980-9 RBABCH22XXX +066386 0000 0638656386 120050309111EK Rüeggisberg Ersparniskasse Rüeggisberg Dorf 22f Postfach 3088 Rüeggisberg 031 808 17 77 031 808 17 65 30-38193-9 EKRUCH21XXX +066386 0001 0638656386 320030710111EK Rüeggisberg Ersparniskasse Rüeggisberg Dorf Postfach 3086 Zimmerwald 031 812 11 11 031 812 11 19 *30-38193-9 +066387 0000 0638706387 120030713111EKAffoltern i.EErsparniskasse Affoltern i. E. Postfach 3462 Weier im Emmental 034 435 15 45 034 435 15 24 30-38148-5 RBABCH22387 +066395 0000 0639506395 119990508111RBA-ZentralbankRBA-Zentralbank Lagerhausweg 10 Postfach 3001 Bern 031 660 33 33 031 660 33 13 RBABCH22XXX +066415 00006250 0641586415 220031018111Bank Jura Lauf.Bank Jura Laufen Röschenzstrasse 12 Postfach 164 4242 Laufen 061 765 53 33 061 765 53 05 30-38249-2 RBABCH22415 +066424 00006313 0642446424 220030315111Bernerland BankBernerland Bank (ex S+L Madiswil) Unterdorfstrasse 9 Postfach 4934 Madiswil 062 957 80 70 062 957 80 75 30-38254-2 RBABCH22XXX +066428 0000 0642896428 119991009111SK Oftringen Sparkasse Oftringen Baslerstrasse 1 Postfach 4665 Oftringen 062 797 25 25 062 797 52 64 30-38149-0 RBABCH22428 +066434 0000 0643476434 120030712111Bank im Thal Bank im Thal Goldgasse 11 Postfach 527 4710 Balsthal 062 386 26 26 062 386 26 55 30-38123-8 RBABCH22434 +066434 0001 0643476434 320010722111Bank im Thal Bank im Thal Unterdorf 360 4712 Laupersdorf 062 391 22 12 *30-38123-8 +066434 0002 0643476434 319990427111Bank im Thal Bank im Thal Dorfstrasse 36 Postfach 4713 Matzendorf 062 394 16 16 *30-38123-8 +066434 0003 0643476434 320010726111Bank im Thal Bank im Thal Schmiedestrasse 21 4717 Mümliswil 062 391 21 70 *30-38123-8 +066450 0000 0645076450 120030711111Bank Huttwil Bank Huttwil Stadthausstrasse 1 Postfach 4950 Huttwil 062 959 85 85 062 959 85 00 30-38116-2 RBABCH22450 +066450 0001 0645076450 320010714111Bank Huttwil Bank Huttwil Meiniswilstrasse 2 4912 Aarwangen 062 923 50 15 062 923 50 14 *30-38116-2 RBABCH22450 +066450 0003 0645076450 320030710111Bank Huttwil Bank Huttwil Stalden 44 4952 Eriswil 062 966 02 22 062 966 02 20 *30-38116-2 RBABCH22450 +066450 0006 0645076450 320010714111Bank Huttwil Bank Huttwil Bahnhofstrasse 4 4932 Lotzwil 062 923 77 88 062 923 77 89 *30-38116-2 RBABCH22450 +066450 0007 0645076450 320010714111Bank Huttwil Bank Huttwil Bahnhofstrasse Postfach 4938 Rohrbach 062 965 11 56 062 965 26 56 *30-38116-2 RBABCH22450 +066450 0009 0645076450 320030710111Bank Huttwil Bank Huttwil Gemeindehaus 4937 Ursenbach 062 965 09 00 062 965 09 01 *30-38116-2 RBABCH22450 +066450 0010 0645076450 320030710111Bank Huttwil Bank Huttwil Dorfstrasse 76 Postfach 4917 Melchnau 062 917 70 70 062 917 70 71 *30-38116-2 RBABCH22450 +066450 0011 0645076450 320030710111Bank Huttwil Bank Huttwil Brauihof 2 Postfach 4900 Langenthal 062 916 20 10 062 916 20 11 *30-38116-2 RBABCH22450 +066464 0000 0646436464 120031106111S+L BucheggbergSpar- und Leihkasse Bucheggberg Postfach 4584 Lüterswil-Gächliwil 032 352 10 60 032 352 10 70 30-38206-7 RBABCH22464 +066470 0000 0647096470 119991009111Regio SolothurnRegiobank Solothurn Westbahnhofstrasse 11 Postfach 4502 Solothurn 032 624 15 15 032 624 16 16 30-38168-4 RBABCH22470 +066470 0001 0647096470 320000420111Regio SolothurnRegiobank Solothurn Kirchstrasse 11 Postfach 2540 Grenchen 032 654 68 68 032 654 68 88 *30-38168-4 RBABCH22470 +066470 0002 0647096470 320000420111Regio SolothurnRegiobank Solothurn Dorfstrasse 13 Postfach 4512 Bellach 032 618 37 27 032 618 33 74 *30-38168-4 RBABCH22470 +066470 0003 0647096470 320000420111Regio SolothurnRegiobank Solothurn Hauptstrasse 34 Postfach 4562 Biberist 032 672 24 81 032 672 31 19 *30-38168-4 RBABCH22470 +066470 0005 0647096470 320000426111Regio SolothurnRegiobank Solothurn Hauptstrasse 48 Postfach 4528 Zuchwil 032 685 51 21 032 685 60 25 *30-38168-4 RBABCH22470 +066477 00006313 0647726477 220030315111Bernerland BankBernerland Bank (ex EK Wyssachen-Eriswil) Dorf Postfach 4954 Wyssachen 062 966 12 48 062 966 10 82 30-38142-4 RBABCH22XXX +066477100006313 6477156477 220030315111Bernerland BankBernerland Bank (ex EK Wyssachen-Eriswil) Stalden Postfach 4952 Eriswil 062 966 20 22 062 966 20 23 *30-38142-4 RBABCH22XXX +066477200006313 6477206477 220030315101Bernerland BankBernerland Bank (ex EK Wyssachen-Eriswil) Käsereistrasse 289 Postfach 4938 Rohrbach 062 965 00 15 062 965 40 22 *30-38142-4 +066550 0000 0655086550 120050109111Valiant Bank Valiant Bank (ex IRB) Hauptstrasse 65 Postfach 5734 Reinach AG 062 765 65 65 062 765 65 00 30-38165-0 VABECH22IRB +066550 0001 0655086550 320030710111Valiant Bank Valiant Bank (ex IRB) Laurenzenvorstadt 1 Postfach 5001 Aarau 062 837 80 80 062 837 80 89 *30-38165-0 +066550 0003 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Löwenplatz 6 Postfach 5712 Beinwil am See 062 771 16 49 062 771 17 41 *30-38165-0 +066550 0004 0655086550 320000420111Valiant Bank Valiant Bank (ex IRB) Poststrasse 21 Postfach 5707 Seengen 062 777 25 26 062 777 25 27 *30-38165-0 +066550 0005 0655086550 320030710111Valiant Bank Valiant Bank (ex IRB) Tramstrasse 11 Postfach 5034 Suhr 062 842 53 88 062 842 53 52 *30-38165-0 +066550 0006 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Dorfstrasse 24 Postfach 5723 Teufenthal AG 062 776 23 33 062 776 56 35 *30-38165-0 +066550 0007 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Dorfstrasse 709 Postfach 5728 Gontenschwil 062 773 19 88 062 773 19 89 *30-38165-0 +066550 0008 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Dorfstrasse 2 Postfach 6221 Rickenbach LU 041 930 25 50 041 930 32 04 *30-38165-0 +066550 0009 0655086550 320000420111Valiant Bank Valiant Bank (ex IRB) Oberdorfstrasse 1A Postfach 5703 Seon 062 775 31 55 062 775 31 56 *30-38165-0 +066550 0010 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Dorfstrasse 1 Postfach 5040 Schöftland 062 739 25 25 062 739 25 00 *30-38165-0 +066550 0011 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Hauptstrase 21 Postfach 5742 Kölliken 062 724 89 00 062 724 88 09 *30-38165-0 +066550 0012 0655086550 320010721111Valiant Bank Valiant Bank (ex IRB) Schönenwerderstrasse 5 Postfach 5036 Oberentfelden 062 724 88 30 062 724 88 39 *30-38165-0 +066550 0013 0655086550 320000420111Valiant Bank Valiant Bank (ex IRB) Gemeindezentrum Postfach 5037 Muhen 062 723 72 42 062 723 97 42 *30-38165-0 +066550 0014 0655086550 320000420111Valiant Bank Valiant Bank (ex IRB) Jurastrasse 16 Postfach 5035 Unterentfelden 062 723 87 87 062 723 87 11 *30-38165-0 +066550 0015 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Fläcke Postfach 6215 Beromünster 041 930 37 37 041 930 37 50 *30-38165-0 +066550 0016 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Dinkelhof 1 Postfach 5706 Boniswil 062 767 77 80 062 767 77 88 *30-38165-0 +066550 0017 0655086550 320000420111Valiant Bank Valiant Bank (ex IRB) Mitteldorfstrasse 3 Postfach 5722 Gränichen 062 842 23 45 062 842 03 11 *30-38165-0 +066550 0018 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Hauptstrasse 51 Postfach 5726 Unterkulm 062 768 80 50 062 768 80 59 *30-38165-0 +066550 0019 0655086550 320000420111Valiant Bank Valiant Bank (ex IRB) Waagplatz Postfach 5737 Menziken 062 765 47 70 062 765 47 76 *30-38165-0 +066550 0020 0655086550 320010714111Valiant Bank Valiant Bank (ex IRB) Sarmenstorferstrasse 4 Postfach 5615 Fahrwangen 056 667 93 20 056 667 93 25 *30-38165-0 +066556 0000 0655616556 120040626111EKE Erlinsbach Ersparniskasse Erlinsbach Ochsenweg 1 Postfach 186 5018 Erlinsbach 062 857 44 44 062 857 44 45 50-7308-8 RBABCH22XXX +066575 0000 0657526575 120010527111EG Küttigen Ersparnisgesellschaft Küttigen Hauptstrasse 10 Postfach 5024 Küttigen 062 839 80 20 062 839 80 28 30-38151-2 RBABCH22XXX +066588 0000 0658866588 120000418111Bank Leerau Bank Leerau Dorfstrasse 162 Postfach 1 5054 Kirchleerau 062 738 77 77 062 738 77 87 30-38216-4 RBABCH22588 +066588 0001 0658866588 320000418111Bank Leerau Bank Leerau Holzikerstrasse 2 Postfach 5040 Schöftland 062 739 55 40 062 739 55 45 *30-38216-4 +066600 0000 0660096600 120050108111Valiant Bank Valiant Bank (ex LRB) Pilatusstrasse 22 Postfach 4970 6002 Luzern 041 248 66 55 041 248 67 99 30-38237-0 VABECH22LRB +06660010000 6600166600 220050108111Valiant Bank Valiant Bank (ex LRB) Luzernerstrasse 3 Postfach 68 6252 Dagmersellen 062 748 30 20 062 748 30 29 *30-38237-0 VABECH22LRB +06660020000 6600246600 220050108111Valiant Bank Valiant Bank (ex LRB) Gerliswilstrasse 43 Postfach 1543 6021 Emmenbrücke 041 269 00 69 041 269 00 60 *30-38237-0 VABECH22LRB +06660030000 6600326600 220050108111Valiant Bank Valiant Bank (ex LRB) Dorfstrasse 3 Postfach 55 6022 Grosswangen 041 984 15 15 041 984 15 16 *30-38237-0 VABECH22LRB +06660040000 6600486600 220050108111Valiant Bank Valiant Bank (ex LRB) Gasshofstrasse 1 Postfach 444 6014 Littau 041 259 51 31 041 259 51 49 *30-38237-0 VABECH22LRB +06660050000 6600536600 220050108111Valiant Bank Valiant Bank (ex LRB) Ohmstalerstrasse 9 Postfach 128 6247 Schötz 041 984 22 22 041 984 22 23 *30-38237-0 VABECH22LRB +06660060000 6600696600 220050108111Valiant Bank Valiant Bank (ex LRB) Bahnhofstrasse 12 Postfach 687 6210 Sursee 041 925 69 69 041 925 69 70 *30-38237-0 VABECH22LRB +06660070000 6600776600 220050108111Valiant Bank Valiant Bank (ex LRB) Dorfstrasse 5 Postfach 73 6242 Wauwil 041 984 12 84 041 984 12 85 *30-38237-0 VABECH22LRB +06660080000 6600856600 220050108111Valiant Bank Valiant Bank (ex LRB) Ettiswilerstrasse 4 Postfach 3189 6130 Willisau 041 972 78 78 041 972 78 79 *30-38237-0 VABECH22LRB +06660090000 6600906600 220050108111Valiant Bank Valiant Bank (ex LRB) Entlebucherstrasse 1 Postfach 267 6110 Wolhusen 041 492 63 63 041 492 63 64 *30-38237-0 VABECH22LRB +06660110000 6601126600 220050108111Valiant Bank Valiant Bank (ex LRB) Luzernstrasse 1 Postfach 163 6144 Zell LU 041 989 84 84 041 989 84 85 *30-38237-0 VABECH22LRB +06660120000 6601286600 220050108111Valiant Bank Valiant Bank (ex LRB) Pilatusstrasse 39 Postfach 4970 6002 Luzern 041 248 66 55 041 248 66 99 *30-38237-0 VABECH22LRB +06660140000 6601496600 220050108111Valiant Bank Valiant Bank (ex LRB) Luzernerstrasse 3 Postfach 68 6204 Sempach Stadt 041 460 14 44 041 460 29 01 *30-38237-0 VABECH22LRB +06660150000 6601576600 220050108111Valiant Bank Valiant Bank (ex LRB) Dorfstrasse 37 Postfach 72 6026 Rain 041 459 71 71 041 459 71 72 *30-38237-0 VABECH22LRB +06660160000 6601656600 220050108111Valiant Bank Valiant Bank (ex LRB) Tschannhof Postfach 361 6033 Buchrain 041 444 21 21 041 444 21 25 *30-38237-0 VABECH22LRB +06660170000 6601706600 220050108111Valiant Bank Valiant Bank (ex LRB) Luzernerstrasse 8 Postfach 46 6045 Meggen 041 377 44 88 041 377 44 85 *30-38237-0 VABECH22LRB +06660180000 6601816600 220050108111Valiant Bank Valiant Bank (ex LRB) Bankstrasse 1 Postfach 62 6281 Hochdorf 041 914 02 32 041 914 02 33 *30-38237-0 VABECH22LRB +06660190000 6601966600 220050108111Valiant Bank Valiant Bank (ex LRB) Hellbühlerstrasse 2 Postfach 131 6017 Ruswil 041 496 60 60 041 496 60 70 *30-38237-0 VABECH22LRB +06660190001 6601966600 320011229111Valiant Bank Valiant Bank (ex LRB) Luzernstrasse 3 Postfach 54 6016 Hellbühl 041 467 25 66 041 467 29 88 *30-38237-0 RBABCH22600 +066633 0000 0663376633 119991009111SK Schwyz Sparkasse Schwyz Herrengasse 23 Postfach 564 6431 Schwyz 041 819 02 50 041 819 02 51 30-38163-7 RBABCH22633 +066633 0001 0663376633 320040626111SK Schwyz Sparkasse Schwyz Bahnhofstrasse 5 Postfach 562 6440 Brunnen 041 825 00 30 041 825 00 35 *30-38163-7 +066633 0002 0663376633 320040626111SK Schwyz Sparkasse Schwyz Parkstrasse 13 Postfach 441 6410 Goldau 041 855 43 82 041 855 48 44 *30-38163-7 +066666 0000 0666606666 119991009111SK Engelberg Sparkasse Engelberg Dorfstrasse 34 Postfach 6390 Engelberg 041 639 50 10 041 639 50 15 30-38221-6 RBABCH22666 +066670 0000 0667036670 120000418111EB BANK EB Entlebucher Bank Hauptstrasse 32 Postfach 267 6170 Schüpfheim 041 208 08 08 041 208 08 88 30-38211-7 RBABCH22670 +066670 0001 0667036670 320000418111EB BANK EB Entlebucher Bank Dorf Postfach 6196 Marbach LU 034 493 70 10 034 493 70 17 *30-38211-7 +06667010000 6670176670 220040626111EB BANK EB Entlebucher Bank Kantonsstrasse Postfach 94 6162 Entlebuch 041 208 07 07 041 208 07 77 *30-38211-7 RBABCH22670 +06667020000 6670256670 220010527111EB BANK EB Entlebucher Bank Bahnhofstrasse 2 Postfach 6182 Escholzmatt 041 208 09 09 041 208 09 99 *30-38211-7 RBABCH22670 +066690 0000 0669066690 120010714111Triba Bank Triba Partner Bank Kantonsstrasse Postfach 6234 Triengen 041 935 10 10 041 935 10 11 30-38239-6 RBABCH22690 +06669010000 6690186690 220010714111Triba Bank Triba Partner Bank Schlierbacherstrasse 1 Postfach 6233 Büron 041 933 22 33 041 933 23 43 *30-38239-6 RBABCH22690 +06669020000 6690236690 220010714111Triba Bank Triba Partner Bank Kirchstrasse 15 Postfach 6244 Nebikon 062 748 96 48 062 748 96 49 *30-38239-6 RBABCH22690 +066690300006690 6690396690 120031122111Triba Bank Triba Partner Bank Luzernstrasse 9 Postfach 6206 Neuenkirch 041 469 70 20 041 469 70 21 *30-38239-6 RBABCH22690 +06669050000 6690556690 220010714111Triba Bank Triba Partner Bank Bahnhofstrasse 10 Postfach 6260 Reiden 062 749 20 00 062 749 20 05 *30-38239-6 RBABCH22690 +06669060000 6690606690 220010714111Triba Bank Triba Partner Bank Bahnhofstrasse 9 Postfach 6203 Sempach Station 041 469 70 20 041 469 70 21 *30-38239-6 RBABCH22690 +06669070000 6690716690 220010714111Triba Bank Triba Partner Bank Kantonsstrasse 60 Postfach 6234 Triengen 041 935 10 10 041 935 10 11 *30-38239-6 RBABCH22690 +066805 0000 0680556805 120040908111BSK Dielsdorf Bezirks-Sparkasse Dielsdorf Bahnhofstrasse 29 Postfach 8157 Dielsdorf 044 854 90 00 044 853 07 28 30-38182-1 RBABCH22805 +06680510000 6805136805 220040908111BSK Dielsdorf Bezirks-Sparkasse Dielsdorf Badenerstrasse 2 Postfach 8107 Buchs ZH 044 844 03 50 044 845 10 15 *30-38182-1 RBABCH22805 +06680520000 6805296805 220040909111BSK Dielsdorf Bezirks-Sparkasse Dielsdorf Sonnenbergstrasse 1 Postfach 8172 Niederglatt ZH 044 850 29 94 044 850 33 03 *30-38182-1 RBABCH22805 +06680530000 6805376805 220040909111BSK Dielsdorf Bezirks-Sparkasse Dielsdorf Glattalstrasse 188 Postfach 8153 Rümlang 044 817 27 66 044 818 10 67 *30-38182-1 RBABCH22805 +066807 0000 0680716807 119991009111GRB Schwanden GRB Glarner Regionalbank Hinterdorf Postfach 8765 Engi 055 642 61 30 055 642 61 39 30-38169-2 RBABCH22807 +066807 0001 0680716807 319970704111GRB Schwanden GRB Glarner Regionalbank Dorf Postfach 8767 Elm 055 642 11 61 *30-38169-2 +066807 0004 0680716807 320010714111GRB Schwanden GRB Glarner Regionalbank Hauptstrasse 31 Postfach 8756 Mitlödi 055 644 29 10 055 644 29 10 *30-38169-2 +066807 0005 0680716807 319970704111GRB Schwanden GRB Glarner Regionalbank Bahnhofstrasse 25 Postfach 8762 Schwanden GL 055 647 34 50 055 647 34 59 *30-38169-2 +066807 0006 0680716807 320010714111GRB Schwanden GRB Glarner Regionalbank Burgstrasse 16 Postfach 8750 Glarus 055 645 35 45 055 645 35 49 *30-38169-2 +066808 0000 0680866808 120050304111Sparhafen Bank Sparhafen Zürich Fraumünsterstrasse 23 Postfach 8022 Zürich 044 225 40 50 044 225 40 69 30-38174-2 RBABCH22808 +066810 00008731 0681036810 220040529111Bank Linth Bank Linth Zürcherstrasse 3 Postfach 168 8730 Uznach 055 285 71 11 055 285 72 17 30-38170-0 LINSCH23XXX +066810100008731 6810176810 220040529111Bank Linth Bank Linth Untere Bahnhofstrasse 11 Postfach 8640 Rapperswil SG 055 222 54 11 055 222 54 31 *30-38170-0 LINSCH23XXX +066810200008731 6810256810 220040529111Bank Linth Bank Linth Bahnhofstrasse 5 Postfach 8716 Schmerikon 055 286 11 81 055 286 11 99 *30-38170-0 LINSCH23XXX +066810300008731 6810306810 220040529111Bank Linth Bank Linth Zürcherstrasse 4 Postfach 8854 Siebnen 055 450 25 61 055 450 25 79 *30-38170-0 LINSCH23XXX +066810400008731 6810416810 220040529111Bank Linth Bank Linth Bahnhofplatz 5 Postfach 8853 Lachen SZ 055 451 02 11 055 451 02 29 *30-38170-0 LINSCH23XXX +066810500008731 6810566810 220040529111Bank Linth Bank Linth Molkereistrasse 1 Postfach 8645 Jona 055 224 20 71 055 224 20 79 *30-38170-0 LINSCH23XXX +066810600008731 6810646810 220040529111Bank Linth Bank Linth Churerstrasse 21 Postfach 8808 Pfäffikon SZ 055 415 68 21 055 415 68 29 *30-38170-0 LINSCH23XXX +066810700008731 6810726810 220040529111Bank Linth Bank Linth Hauptstrasse Postfach 8872 Weesen 055 616 61 51 055 616 61 59 *30-38170-0 LINSCH23XXX +066810800008731 6810886810 220040529111Bank Linth Bank Linth Ziegelbrückstrasse 26 Postfach 8867 Niederurnen 055 617 23 11 055 617 23 19 *30-38170-0 LINSCH23XXX +066810900008731 6810936810 220040529111Bank Linth Bank Linth Belsitostrasse 1 Postfach 8640 Kempraten 055 210 56 27 055 210 36 73 *30-38170-0 LINSCH23XXX +066811100008731 6811166810 220040529111Bank Linth Bank Linth Dorfplatz 6 Postfach 8852 Altendorf 055 451 72 31 055 451 72 39 *30-38170-0 LINSCH23XXX +066811200008731 6811246810 220040529111Bank Linth Bank Linth Dorfstrasse 2 Postfach 8630 Rüti ZH 055 251 23 66 055 251 23 63 *30-38170-0 LINSCH23XXX +066811300008731 6811326810 220040529111Bank Linth Bank Linth Rickenstrasse 25 Postfach 8737 Gommiswald 055 285 97 21 055 285 97 19 *30-38170-0 LINSCH23XXX +066811400008731 6811486810 220040529111Bank Linth Bank Linth Bahnhofstrasse Postfach 8890 Flums 081 720 18 31 081 720 18 39 *30-38170-0 LINSCH23XXX +066811500008731 6811536810 220040529111Bank Linth Bank Linth Bahnhofstrasse 10 Postfach 7320 Sargans 081 720 41 71 081 720 41 79 *30-38170-0 LINSCH23XXX +066811600008731 6811696810 220040529111Bank Linth Bank Linth Am Platz Postfach 7310 Bad Ragaz 081 300 45 11 081 300 45 29 *30-38170-0 LINSCH23XXX +066811800008731 6811856810 220040529111Bank Linth Bank Linth Wangserstrasse 44 Postfach 8887 Mels 081 720 41 91 081 720 41 99 *30-38170-0 LINSCH23XXX +066812700008731 6812706810 220040529111Bank Linth Bank Linth Bergstrasse 8 Postfach 8712 Stäfa 01 928 30 30 01 928 30 39 *30-38170-0 LINSCH23XXX +066812800008731 6812816810 220040529111Bank Linth Bank Linth Feldbachstrasse 4 Postfach 8634 Hombrechtikon 055 254 10 51 055 254 10 59 *30-38170-0 LINSCH23XXX +066812900008731 6812966810 220040529111Bank Linth Bank Linth Bergstrasse 143 Postfach 8707 Uetikon am See 043 843 45 61 043 843 45 69 *30-38170-0 LINSCH23XXX +066814 0000 0681406814 120050312111Sparcassa 1816 Sparcassa 1816 Zugerstrasse 18 Postfach 8820 Wädenswil 044 783 51 11 044 783 53 53 30-38138-8 RBABCH22814 +06681410000 6814116814 220050312111Sparcassa 1816 Sparcassa 1816 Dorfstrasse 11a Postfach 8805 Richterswil 044 787 67 40 044 787 67 45 *30-38138-8 RBABCH22814 +06681420000 6814266814 220050312111Sparcassa 1816 Sparcassa 1816 Bahnhofplatz 9 Postfach 8910 Affoltern am Albis 044 762 20 60 044 762 20 65 *30-38138-8 RBABCH22814 +06681430000 6814346814 220050316111Sparcassa 1816 Sparcassa 1816 Stationsstrasse 7 Postfach 8907 Wettswil 044 701 89 90 044 701 89 95 *30-38138-8 RBABCH22814 +06681440000 6814426814 220050312111Sparcassa 1816 Sparcassa 1816 Albisstrasse 5 Postfach 8932 Mettmenstetten 044 768 55 60 044 768 55 65 *30-38138-8 RBABCH22814 +066818 0000812980681826818 220030103111Bank EschenbachBank Eschenbach Rössligass 3 Postfach 42 8733 Eschenbach SG 055 286 24 00 055 286 24 10 90-1124-5 RBABCH22818 +066824 0000 0682466824 120050312111SK Horgen AG Sparkasse Horgen AG Dorfplatz 1 Postfach 229 8810 Horgen 1 044 727 41 41 044 727 41 47 30-38109-8 RBABCH22824 +06682410000 6824186824 220050316111SK Horgen AG Sparkasse Horgen AG Dörflistrasse 4 Postfach 8942 Oberrieden 044 722 70 50 044 722 70 57 *30-38109-8 RBABCH22824 +06682420000 6824236824 220050312111SK Horgen AG Sparkasse Horgen AG Vorderi Siten 1 Postfach 8816 Hirzel 044 729 70 10 044 729 70 17 *30-38109-8 RBABCH22824 +066828 0000 0682836828 120050312111Regiobank Mdf Regiobank Männedorf Bahnhofstrasse 14 Postfach 831 8708 Männedorf 044 922 13 00 044 922 13 09 30-38164-5 RBABCH22828 +066830 0000 0683066830 120050305111Lienhardt PB ZHLienhardt & Partner Privatbank Zürich AG Rämistrasse 23 Postfach 8024 Zürich 044 268 61 61 044 268 61 62 30-38111-5 RBABCH22830 +066835 0000 0683596835 120030712111EKSH Ersparniskasse Schaffhausen Münsterplatz 34 Postfach 372 8201 Schaffhausen 052 632 15 15 052 632 15 00 82-1-7 RBABCH22XXX +066848 00008731 0684886848 220030816111Bank Linth Bank Linth (Ex S+L Kaltbrunn) Schulhausstrasse 3 Postfach 116 8722 Kaltbrunn 055 293 30 60 055 293 30 70 30-38271-8 RBABCH22848 +066850 0000 0685016850 120050312111SZO Sparkasse Zürcher Oberland Bahnhofstrasse 3 Postfach 8620 Wetzikon ZH 044 933 54 00 044 933 54 09 30-38225-3 RBABCH22850 +066850 0001 0685016850 320050304111SZO Sparkasse Zürcher Oberland Bahnhofstrasse 7 8340 Hinwil 044 938 89 89 044 938 89 90 *30-38225-3 +066850 0002 0685016850 320050302111SZO Sparkasse Zürcher Oberland Rütistrasse 9 8636 Wald ZH 055 256 20 80 055 256 20 89 *30-38225-3 +066850 0003 0685016850 320050401111SZO Sparkasse Zürcher Oberland Ferrachstrasse 9 8630 Rüti ZH 055 251 40 50 055 251 40 59 *30-38225-3 +066850 0004 0685016850 320050301111SZO Sparkasse Zürcher Oberland Dorfstrasse 24 8608 Bubikon 055 243 16 17 055 243 35 23 *30-38225-3 +066850 0005 0685016850 320050316111SZO Sparkasse Zürcher Oberland Bahnhofstrasse 16 8330 Pfäffikon ZH 044 952 15 15 044 952 15 00 *30-38225-3 +066850 0006 0685016850 320050301111SZO Sparkasse Zürcher Oberland Bruggwiesenstrasse 5 8307 Effretikon 052 355 11 22 052 355 11 33 *30-38225-3 +066850 0007 0685016850 320050301111SZO Sparkasse Zürcher Oberland Dorfstrasse 46 8494 Bauma 052 386 22 44 052 386 20 10 *30-38225-3 +066850 0008 0685016850 320050301111SZO Sparkasse Zürcher Oberland Usterstrasse 11 8308 Illnau 052 355 22 55 052 355 22 59 *30-38225-3 +066850 0009 0685016850 320050301111SZO Sparkasse Zürcher Oberland Dorfstrasse 30 8484 Weisslingen 052 397 30 10 052 397 30 15 *30-38225-3 +066850 0010 0685016850 320050316111SZO Sparkasse Zürcher Oberland Kempttalstrasse 48 8320 Fehraltorf 044 954 18 88 044 954 17 90 *30-38225-3 +066850100006850 6850106850 120050301111SZO Sparkasse Zürcher Oberland Bahnhofstrasse 7 Postfach 8340 Hinwil 01 938 89 89 01 938 89 90 *30-38225-3 RBABCH22850 +066850200006850 6850216850 120050301111SZO Sparkasse Zürcher Oberland Rütistrasse 9 Postfach 8636 Wald ZH 055 256 20 80 055 256 20 89 *30-38225-3 RBABCH22850 +066850300006850 6850366850 120050301111SZO Sparkasse Zürcher Oberland Ferrachstrasse 8 Postfach 8630 Rüti ZH 055 251 40 50 055 251 40 59 *30-38225-3 RBABCH22850 +066850400006850 6850446850 120050301111SZO Sparkasse Zürcher Oberland Dorfstrasse 24 Postfach 8608 Bubikon 055 243 16 17 055 243 35 23 *30-38225-3 RBABCH22850 +066850500006850 6850526850 120050301111SZO Sparkasse Zürcher Oberland Bahnhofstrasse 16 Postfach 8330 Pfäffikon ZH 01 952 15 15 01 952 15 00 *30-38225-3 RBABCH22850 +066850600006850 6850686850 120050301111SZO Sparkasse Zürcher Oberland Bruggwiesenstrasse 5 Postfach 8307 Effretikon 052 355 11 22 052 355 11 33 *30-38225-3 RBABCH22850 +066850700006850 6850736850 120050301111SZO Sparkasse Zürcher Oberland Dorfstrasse 46 Postfach 8494 Bauma 052 386 22 44 052 386 20 10 *30-38225-3 RBABCH22850 +066850800006850 6850896850 120050301111SZO Sparkasse Zürcher Oberland Usterstrasse 11 Postfach 8308 Illnau 052 355 22 55 052 355 22 59 *30-38225-3 RBABCH22850 +066850900006850 6850976850 120050301111SZO Sparkasse Zürcher Oberland Dorfstrasse 30 Postfach 8484 Weisslingen 052 397 30 10 052 397 30 15 *30-38225-3 RBABCH22850 +066851100006850 6851186850 120050301111SZO Sparkasse Zürcher Oberland Kempttalstrasse 48 Postfach 8320 Fehraltorf 01 954 18 88 01 954 17 90 *30-38225-3 RBABCH22850 +066858 0000 0685856858 120040626111BS Bank BS Bank Schaffhausen Heerengarten 16 Postfach 8215 Hallau 0844 840 850 052 681 41 31 30-38129-1 RBABCH22858 +066858 0004 0685856858 320000418111BS Bank BS Bank Schaffhausen Poststrasse 38 Postfach 134 8226 Schleitheim 0844 840 850 052 680 20 50 *30-38129-1 +066858 0005 0685856858 320000418111BS Bank BS Bank Schaffhausen Hauptstrasse 29 Postfach 8224 Löhningen 0844 840 850 052 685 32 45 *30-38129-1 +066858 0006 0685856858 320000418111BS Bank BS Bank Schaffhausen Dorfstrasse 15 Postfach 66 8217 Wilchingen 0844 840 850 052 681 46 84 *30-38129-1 +066858 0007 0685856858 320000418111BS Bank BS Bank Schaffhausen Zelgstrasse 8 Postfach 205 8222 Beringen 0844 840 850 052 685 34 44 *30-38129-1 +066858 0008 0685856858 320000418111BS Bank BS Bank Schaffhausen Klettgauerplatz 5 Postfach 58 8213 Neunkirch 0844 840 850 052 687 07 10 *30-38129-1 +066858 0010 0685856858 320040626111BS Bank BS Bank Schaffhausen Industriestrasse 12 Postfach 1034 8212 Neuhausen am Rheinfall 0844 840 850 052 675 54 10 *30-38129-1 +066866 0000 0686656866 120021124111S + L Thayngen Spar- und Leihkasse Thayngen Bahnhofstrasse 32 Postfach 8240 Thayngen 052 645 00 50 052 645 00 68 30-38143-2 RBABCH22866 +066866 0001 0686656866 320040626111S + L Thayngen Spar- und Leihkasse Thayngen Hauptstrasse 52 Postfach 8232 Merishausen 052 653 14 00 052 653 15 91 *30-38143-2 RBABCH22866 +066870 0000 0687086870 120050312111SK Thalwil Sparkasse Thalwil Gotthardstrasse 14 Postfach 8800 Thalwil 044 723 88 88 044 723 88 00 30-38147-7 RBABCH22870 +06687010000 6870146870 220050312111SK Thalwil Sparkasse Thalwil Albisstrasse 15 Postfach 8134 Adliswil 1 044 712 60 30 044 712 60 39 *30-38147-7 RBABCH22870 +06687020000 6870226870 220050312111SK Thalwil Sparkasse Thalwil Bahnhofstrasse 7 Postfach 8802 Kilchberg ZH 044 716 50 50 044 716 50 59 *30-38147-7 RBABCH22870 +06687030000 6870386870 220050312111SK Thalwil Sparkasse Thalwil Neue Dorfstrasse 15 Postfach 8135 Langnau am Albis 044 713 22 24 044 713 22 25 *30-38147-7 RBABCH22870 +066873 0000 0687376873 120010527111SK WiesendangenSparkasse Wiesendangen Schulstrasse 21 Postfach 8542 Wiesendangen 052 320 99 66 052 320 99 69 30-38113-1 RBABCH22XXX +066875 0000 0687506875 120010714111LK Stammheim Leihkasse Stammheim Hauptstrasse 6 Postfach 8477 Oberstammheim 052 745 21 15 052 745 26 74 30-38125-9 RBABCH22875 +066877 0000 0687766877 120000418111ZLB ZLB Zürcher Landbank Am Lindenplatz Postfach 373 8353 Elgg 052 368 58 58 052 368 58 59 30-38183-6 RBABCH22877 +066877 0001 0687766877 320000418111ZLB ZLB Zürcher Landbank Dorfstrasse 17 Postfach 62 8523 Hagenbuch 052 364 15 66 052 364 15 66 *30-38183-6 +066877 0002 0687766877 319970704111ZLB ZLB Zürcher Landbank St. Gallerstrasse 66 Postfach 83 8352 Räterschen 052 368 78 78 052 368 78 79 *30-38183-6 +066877 0003 0687766877 320000418111ZLB ZLB Zürcher Landbank Hauptstrasse 9 8545 Rickenbach b. Winterthur 052 320 98 98 052 320 98 99 *30-38183-6 +066886 0000 0688636886 120050312111SK Küsnacht Sparkasse Küsnacht ZH Untere Heslibachstrasse 9 Postfach 8700 Küsnacht ZH 044 913 39 00 044 913 39 15 30-38157-0 RBABCH22886 +066888 0000 0688876888 120050312111BSU Uster Bezirkssparkasse Uster Bankstrasse 21 Postfach 8610 Uster 1 044 905 75 55 044 905 75 56 30-38102-7 RBABCH22888 +066888 0001 0688876888 320050312111BSU Uster Bezirkssparkasse Uster Bahnhofstrasse 36 Postfach 8600 Dübendorf 044 801 95 75 044 801 95 79 *30-38102-7 RBABCH22888 +066890 0000 0689056890 120050305101Pfandbriefbank Pfandbriefbank schweizerischer Hypothekarinstitute Nansenstrasse 16 Postfach 6446 8050 Zürich 044 315 44 55 044 315 44 66 80-19170-8 RBABCH22XXX +066900 0000 0690016900 120040515111Bank CA Bank CA St. Gallen Marktplatz 1 Postfach 9004 St. Gallen 071 226 73 73 071 226 75 00 30-38175-8 CASGCH22XXX +066910 0000 0691046910 120020928111swissregiobank swissregiobank Poststrasse 4 Postfach 9201 Gossau SG 071 388 75 55 071 388 75 50 30-38241-3 RBABCH22910 +066910 0001 0691046910 320030711111swissregiobank swissregiobank Landstrasse 6 Postfach 9606 Bütschwil 071 982 83 11 071 982 83 07 *30-38241-3 RBABCH22910 +066910 0002 0691046910 320030710111swissregiobank swissregiobank Mittlere Bahnhofstrasse 2 Postfach 8853 Lachen SZ 055 451 90 80 055 442 44 37 *30-38241-3 RBABCH22910 +066910 0003 0691046910 320030710111swissregiobank swissregiobank Churerstrasse 24 Postfach 8808 Pfäffikon SZ 055 415 63 00 055 410 52 46 *30-38241-3 RBABCH22910 +066910 0004 0691046910 320030725111swissregiobank swissregiobank Hauptgasse 9 / Stalden 9620 Lichtensteig 071 988 70 70 071 988 70 75 *30-38241-3 RBABCH22910 +066916 0000 0691656916 120010720111SG Mosnang Spargenossenschaft Mosnang Lindenplatz 2 Postfach 9 9607 Mosnang 071 982 80 08 071 982 80 09 30-38214-1 RBABCH22XXX +066920 0000 0692086920 120011202111ALPHA RHEINTAL Alpha RHEINTAL Bank Auerstrasse 1 Postfach 9442 Berneck 071 747 95 95 071 747 95 90 30-38154-9 RBABCH22926 +066920 0001 0692086920 320030725111ALPHA RHEINTAL Alpha RHEINTAL Bank Bahnhofplatz 9430 St. Margrethen SG 071 747 95 95 071 744 91 11 *30-38154-9 +066920 0002 0692086920 320030725111ALPHA RHEINTAL Alpha RHEINTAL Bank Bahnhofstrasse 7 9443 Widnau 071 747 95 95 071 722 45 39 *30-38154-9 +066920 0003 0692086920 320030725111ALPHA RHEINTAL Alpha RHEINTAL Bank Staatsstrasse 103 Postfach 9463 Oberriet SG 071 747 95 95 071 763 90 28 *30-38154-9 +066920 0004 0692086920 320030726111ALPHA RHEINTAL Alpha RHEINTAL Bank Turnhallestrasse 1 Postfach 9436 Balgach 071 747 95 95 071 722 24 32 *30-38154-9 +066920 0005 0692086920 320030725111ALPHA RHEINTAL Alpha RHEINTAL Bank Balgacherstrasse 9436 Heerbrugg 071 747 95 95 071 722 34 87 *30-38154-9 +066924 00006920 0692456924 220030719111SK Oberriet Sparkasse Oberriet Staatsstrasse 103 Postfach 13 9463 Oberriet SG 071 763 90 20 071 763 90 28 30-38108-2 RBABCH22924 +066935 0000 0693586935 120040703111EA Oberuzwil Ersparnisanstalt Oberuzwil Wiesentalstrasse 11 Postfach 9242 Oberuzwil 071 951 52 75 071 951 80 11 30-38122-2 RBABCH22935 +066950 0000 0695026950 120000418111EA St. Gallen Ersparnisanstalt der Stadt St. Gallen Webergasse 8 Postfach 561 9001 St. Gallen 071 228 84 84 071 228 84 85 90-4084-1 RBABCH22950 +066955 0000 0695556955 119991009111SLK Kirchberg Spar- und Leihkasse Kirchberg Gähwilerstrasse 7 Postfach 9533 Kirchberg SG 071 932 36 36 071 932 36 37 30-38124-3 RBABCH22955 +066955 0001 0695556955 320040626111SLK Kirchberg Spar- und Leihkasse Kirchberg Wilerstrasse 15 Postfach 9602 Bazenheid 071 931 10 70 071 931 37 57 *30-38124-3 +066955 0002 0695556955 320040626111SLK Kirchberg Spar- und Leihkasse Kirchberg Kirchbergerstrasse 6 Postfach 9534 Gähwil 071 931 41 81 071 931 41 82 *30-38124-3 +066955100006955 6955136955 120040529111SLK Kirchberg Spar- und Leihkasse Kirchberg Wiler Strasse 15 Postfach 9602 Bazenheid 071 931 10 70 071 931 37 57 *30-38124-3 RBABCH22955 +066955200006955 6955296955 120040529111SLK Kirchberg Spar- und Leihkasse Kirchberg Kirchberger Strasse 6 Postfach 9534 Gähwil 071 931 41 81 071 931 41 82 *30-38124-3 RBABCH22955 +066964 0000 0696406964 120010527111Bank Zuzwil Bank in Zuzwil Mitteldorfstrasse 48 Postfach 9524 Zuzwil SG 071 944 15 51 071 944 27 52 30-38204-3 RBABCH22XXX +066970 00006910 0697076970 220030614111swissregiobank swissregiobank Landstrasse 6 Postfach 9606 Bütschwil 071 982 83 11 071 982 83 80 30-38199-4 RBABCH22970 +066970100006910 6970126970 220030614111swissregiobank swissregiobank Mittlere Bahnhofstrasse 2 Postfach 8853 Lachen SZ 055 451 90 80 055 442 44 37 *30-38199-4 RBABCH22970 +066970200006910 6970286970 220030614111swissregiobank swissregiobank Churerstrasse 24 Postfach 8808 Pfäffikon SZ 055 415 63 00 055 410 52 46 *30-38199-4 RBABCH22970 +066970300006910 6970336970 220021130111swissregiobank swissregiobank Glarnerstrasse 56 Postfach 8854 Siebnen 055 440 49 65 055 440 23 82 *30-38199-4 RBABCH22970 +066977 0000 0697786977 120040626111Bank Thur Bank Thur Kappler Strasse 21 Postfach 9642 Ebnat-Kappel 071 992 35 35 071 992 35 36 30-38245-0 RBABCH22XXX +066977 0001 0697786977 320030710111Bank Thur Bank Thur Stitz 9657 Unterwasser 071 999 12 15 071 999 39 15 *30-38245-0 +066980 0000 0698066980 120000426111Biene - Bank Biene - Bank im Rheintal Rorschacherstrasse 9 Postfach 9450 Altstätten SG 071 757 82 82 071 757 82 83 30-38259-5 RBABCH22980 +066980 0001 0698066980 320040626111Biene - Bank Biene - Bank im Rheintal Staatsstrasse 100 Postfach 9464 Rüthi SG 071 757 83 60 071 757 83 61 *30-38259-5 +066980 0002 0698066980 320040626111Biene - Bank Biene - Bank im Rheintal Bahnhofstrasse 20 Postfach 9443 Widnau 071 757 83 40 071 757 83 41 *30-38259-5 +07700 0000 007005700 120050305111ZKB Zürcher Kantonalbank Postfach 8010 Zürich 044 293 93 93 80-151-4 ZKBKCHZZ80A +07702 0000 007021700 220050305111ZKB Zürcher Kantonalbank Wiedikon (ex. Enge) Postfach 8036 Zürich 044 454 33 33 *80-151-4 ZKBKCHZZ80A +07703 0000 007036700 220050305111ZKB Zürcher Kantonalbank (Limmatquai) Postfach 8010 Zürich 044 265 67 67 *80-151-4 ZKBKCHZZ80A +07703 0001 007036700 320050305111ZKB Zürcher Kantonalbank (Universitätsspital) Postfach 8010 Zürich 044 292 67 57 *80-151-4 ZKBKCHZZ80A +07704 0000 007044700 220050312111ZKB Zürcher Kantonalbank Postfach 8712 Stäfa 044 928 35 35 *80-151-4 ZKBKCHZZ80A +07705 0000 007052700 220050312111ZKB Zürcher Kantonalbank Postfach 8604 Volketswil 044 908 25 25 *80-151-4 ZKBKCHZZ80A +07706 0000 007068700 220050312111ZKB Zürcher Kantonalbank Postfach 8953 Dietikon 1 044 745 36 36 *80-151-4 ZKBKCHZZ80A +07706 0001 007068700 320050312111ZKB Zürcher Kantonalbank Postfach 8954 Geroldswil 044 747 80 77 *80-151-4 ZKBKCHZZ80A +07708 0000 007089700 220050305111ZKB Zürcher Kantonalbank Affoltern Postfach 8046 Zürich 044 377 91 91 *80-151-4 ZKBKCHZZ80A +07709 0000 007097700 220050312111ZKB Zürcher Kantonalbank Postfach 8902 Urdorf 044 735 86 86 *80-151-4 ZKBKCHZZ80A +07710 0000 007102700 220050305111ZKB Zürcher Kantonalbank Postfach 8126 Zumikon 044 918 71 71 *80-151-4 ZKBKCHZZ80A +07710 0001 007102700 320050312111ZKB Zürcher Kantonalbank Postfach 8125 Zollikerberg 044 396 63 33 *80-151-4 ZKBKCHZZ80A +07711 0000 007118700 220050305111ZKB Zürcher Kantonalbank Altstetten Postfach 8048 Zürich 044 434 71 71 *80-151-4 ZKBKCHZZ80A +07712 0000 007123700 220050305111ZKB Zürcher Kantonalbank (Aussersihl) Postfach 8036 Zürich 044 297 71 11 *80-151-4 ZKBKCHZZ80A +07713 0000 007139700 220050305111ZKB Zürcher Kantonalbank Neumünster Postfach 8032 Zürich 044 387 51 51 *80-151-4 ZKBKCHZZ80A +07714 0000 007147700 220050305111ZKB Zürcher Kantonalbank Unterstrass Postfach 8042 Zürich 044 368 18 18 *80-151-4 ZKBKCHZZ80A +07715 0000 007155700 220050305111ZKB Zürcher Kantonalbank Wiedikon Postfach 8036 Zürich 044 454 33 33 *80-151-4 ZKBKCHZZ80A +07716 0000 007160700 220050305111ZKB Zürcher Kantonalbank Wipkingen Postfach 8037 Zürich 044 292 16 16 *80-151-4 ZKBKCHZZ80A +07717 0000 007171700 220050305111ZKB Zürcher Kantonalbank Wollishofen Postfach 8038 Zürich 044 487 21 11 *80-151-4 ZKBKCHZZ80A +07717 0001 007171700 320050312111ZKB Zürcher Kantonalbank Postfach 8802 Kilchberg ZH 044 716 14 14 *80-151-4 ZKBKCHZZ80A +07718 0000 007186700 220050316111ZKB Zürcher Kantonalbank Schwamendingen Postfach 8051 Zürich 044 325 14 14 *80-151-4 ZKBKCHZZ80A +07719 0000 007194700 220050305111ZKB Zürcher Kantonalbank Seebach Postfach 8052 Zürich 044 308 24 24 *80-151-4 ZKBKCHZZ80A +07720 0000 007203700 220050305111ZKB Zürcher Kantonalbank Albisrieden Postfach 8047 Zürich 044 405 95 95 *80-151-4 ZKBKCHZZ80A +07721 0000 007219700 220050311111ZKB Zürcher Kantonalbank Postfach 8910 Affoltern am Albis 044 763 51 11 *80-151-4 ZKBKCHZZ80A +07721 0001 007219700 320050312111ZKB Zürcher Kantonalbank Postfach 8906 Bonstetten 044 701 80 11 *80-151-4 ZKBKCHZZ80A +07721 0002 007219700 320050312111ZKB Zürcher Kantonalbank Postfach 8915 Hausen am Albis 044 764 80 00 *80-151-4 ZKBKCHZZ80A +07722 0000 007227700 220000426111ZKB Zürcher Kantonalbank Postfach 8450 Andelfingen 052 304 25 25 *80-151-4 ZKBKCHZZ80A +07722 0001 007227700 320000426111ZKB Zürcher Kantonalbank Postfach 8460 Marthalen 052 305 40 60 *80-151-4 ZKBKCHZZ80A +07723 0000 007235700 220000426111ZKB Zürcher Kantonalbank Postfach 8494 Bauma 052 396 52 52 *80-151-4 ZKBKCHZZ80A +07723 0001 007235700 320050312111ZKB Zürcher Kantonalbank Postfach 8344 Bäretswil 044 939 90 90 *80-151-4 ZKBKCHZZ80A +07724 0000 007240700 220050312111ZKB Zürcher Kantonalbank Postfach 8180 Bülach 044 872 17 17 *80-151-4 ZKBKCHZZ80A +07724 0001 007240700 320050312111ZKB Zürcher Kantonalbank Postfach 8424 Embrach 044 866 30 66 *80-151-4 ZKBKCHZZ80A +07724 0002 007240700 320050312111ZKB Zürcher Kantonalbank Postfach 8427 Freienstein 044 866 80 80 *80-151-4 ZKBKCHZZ80A +07725 0000 007251700 220050312111ZKB Zürcher Kantonalbank Postfach 8157 Dielsdorf 044 854 91 11 *80-151-4 ZKBKCHZZ80A +07725 0001 007251700 320050312111ZKB Zürcher Kantonalbank Postfach 8172 Niederglatt ZH 044 851 50 30 *80-151-4 ZKBKCHZZ80A +07725 0002 007251700 320050312111ZKB Zürcher Kantonalbank Postfach 8153 Rümlang 044 817 69 99 *80-151-4 ZKBKCHZZ80A +07726 0000 007266700 220050312111ZKB Zürcher Kantonalbank Postfach 8810 Horgen 1 044 727 27 27 *80-151-4 ZKBKCHZZ80A +07727 0000 007274700 220050312111ZKB Zürcher Kantonalbank Postfach 8706 Meilen 044 925 26 11 *80-151-4 ZKBKCHZZ80A +07727 0001 007274700 320050312111ZKB Zürcher Kantonalbank Postfach 8704 Herrliberg 044 915 80 60 *80-151-4 ZKBKCHZZ80A +07728 0000 007282700 220050305111ZKB Zürcher Kantonalbank Oerlikon Postfach 8050 Zürich 044 318 91 11 *80-151-4 ZKBKCHZZ80A +07729 0000 007298700 220000426111ZKB Zürcher Kantonalbank Postfach 8630 Rüti ZH 055 251 43 43 *80-151-4 ZKBKCHZZ80A +07729 0001 007298700 320050312111ZKB Zürcher Kantonalbank Postfach 8625 Gossau ZH 044 936 67 67 *80-151-4 ZKBKCHZZ80A +07729 0002 007298700 320050312111ZKB Zürcher Kantonalbank Postfach 8627 Grüningen 044 936 67 87 *80-151-4 ZKBKCHZZ80A +07730 0000 007307700 220050312111ZKB Zürcher Kantonalbank Postfach 8610 Uster 1 044 905 44 44 *80-151-4 ZKBKCHZZ80A +07730 0001 007307700 320050312111ZKB Zürcher Kantonalbank Postfach 8606 Greifensee 044 905 60 40 *80-151-4 ZKBKCHZZ80A +07730 0002 007307700 320050312111ZKB Zürcher Kantonalbank Postfach 8617 Mönchaltorf 044 949 26 26 *80-151-4 ZKBKCHZZ80A +07731 0000 007315700 220000426111ZKB Zürcher Kantonalbank Postfach 8636 Wald ZH 055 256 55 55 *80-151-4 ZKBKCHZZ80A +07732 0000 007320700 220000426111ZKB Zürcher Kantonalbank Postfach 8401 Winterthur 052 264 61 61 *80-151-4 ZKBKCHZZ80A +07732 0001 007320700 320020821111ZKB Zürcher Kantonalbank Postfach 8483 Kollbrunn 052 264 62 62 *80-151-4 ZKBKCHZZ80A +07732 0002 007320700 320020821111ZKB Zürcher Kantonalbank Postfach 8472 Seuzach 052 305 15 15 *80-151-4 ZKBKCHZZ80A +07732 0003 007320700 320000426111ZKB Zürcher Kantonalbank Kantonsspital Postfach 8401 Winterthur 052 264 62 44 *80-151-4 ZKBKCHZZ80A +07732 0004 007320700 320000426111ZKB Zürcher Kantonalbank Seen Postfach 8405 Winterthur 052 235 00 50 *80-151-4 ZKBKCHZZ80A +07732 0006 007320700 320020821111ZKB Zürcher Kantonalbank Wülflingen Postfach 8408 Winterthur 052 224 60 77 *80-151-4 ZKBKCHZZ80A +07733 0000 007331700 220020821111ZKB Zürcher Kantonalbank Postfach 8307 Effretikon 052 354 75 75 *80-151-4 ZKBKCHZZ80A +07734 0000 007346700 220050305111ZKB Zürcher Kantonalbank Witikon Postfach 8053 Zürich 044 384 85 85 *80-151-4 ZKBKCHZZ80A +07735 0000 007354700 220050312111ZKB Zürcher Kantonalbank Postfach 8132 Egg b. Zürich 044 986 31 11 *80-151-4 ZKBKCHZZ80A +07736 0000 007362700 220050305111ZKB Zürcher Kantonalbank Höngg Postfach 8049 Zürich 044 344 54 54 *80-151-4 ZKBKCHZZ80A +07737 0000 007378700 220050305111ZKB Zürcher Kantonalbank Klusplatz Postfach 8030 Zürich 044 387 93 93 *80-151-4 ZKBKCHZZ80A +07738 0000 007383700 220050312111ZKB Zürcher Kantonalbank Postfach 8152 Glattbrugg 044 874 35 35 *80-151-4 ZKBKCHZZ80A +07739 0000 007399700 220000426111ZKB Zürcher Kantonalbank Postfach 8634 Hombrechtikon 055 254 02 11 *80-151-4 ZKBKCHZZ80A +07740 0000 007406700 220050312111ZKB Zürcher Kantonalbank Postfach 8600 Dübendorf 1 044 802 13 11 *80-151-4 ZKBKCHZZ80A +07740 0001 007406700 320050312111ZKB Zürcher Kantonalbank Postfach 8117 Fällanden 044 806 22 44 *80-151-4 ZKBKCHZZ80A +07741 0000 007414700 220050312111ZKB Zürcher Kantonalbank Postfach 8193 Eglisau 044 868 28 28 *80-151-4 ZKBKCHZZ80A +07741 0001 007414700 320050312111ZKB Zürcher Kantonalbank Postfach 8197 Rafz 044 879 10 40 *80-151-4 ZKBKCHZZ80A +07742 0000 007422700 220050312111ZKB Zürcher Kantonalbank Postfach 8320 Fehraltorf 044 956 61 11 *80-151-4 ZKBKCHZZ80A +07743 0000 007438700 220000426111ZKB Zürcher Kantonalbank Postfach 8245 Feuerthalen 052 647 40 00 *80-151-4 ZKBKCHZZ80A +07744 0000 007443700 220050312111ZKB Zürcher Kantonalbank Postfach 8302 Kloten 044 804 22 11 *80-151-4 ZKBKCHZZ80A +07745 0000 007459700 220050312111ZKB Zürcher Kantonalbank Postfach 8700 Küsnacht ZH 044 914 73 73 *80-151-4 ZKBKCHZZ80A +07745 0001 007459700 320050312111ZKB Zürcher Kantonalbank Postfach 8703 Erlenbach ZH 044 914 20 10 *80-151-4 ZKBKCHZZ80A +07746 0000 007467700 220050312111ZKB Zürcher Kantonalbank Postfach 8708 Männedorf 044 921 61 61 *80-151-4 ZKBKCHZZ80A +07746 0001 007467700 320050312111ZKB Zürcher Kantonalbank Postfach 8618 Oetwil am See 044 929 60 70 *80-151-4 ZKBKCHZZ80A +07747 0000 007475700 220050319111ZKB Zürcher Kantonalbank Postfach 8805 Richterswil 044 787 41 41 *80-151-4 ZKBKCHZZ80A +07748 0000 007480700 220050312111ZKB Zürcher Kantonalbank Postfach 8952 Schlieren 044 738 94 94 *80-151-4 ZKBKCHZZ80A +07748 0001 007480700 320050312111ZKB Zürcher Kantonalbank Postfach 8103 Unterengstringen 044 751 70 60 *80-151-4 ZKBKCHZZ80A +07749 0000 007491700 220050312111ZKB Zürcher Kantonalbank Postfach 8801 Thalwil 044 722 92 92 *80-151-4 ZKBKCHZZ80A +07750 0000 007509700 220000426111ZKB Zürcher Kantonalbank Postfach 8488 Turbenthal 052 397 20 30 *80-151-4 ZKBKCHZZ80A +07751 0000 007517700 220050312111ZKB Zürcher Kantonalbank Postfach 8304 Wallisellen 044 839 31 11 *80-151-4 ZKBKCHZZ80A +07751 0001 007517700 320050312111ZKB Zürcher Kantonalbank Postfach 8305 Dietlikon 044 805 30 50 *80-151-4 ZKBKCHZZ80A +07752 0000 007525700 220050312111ZKB Zürcher Kantonalbank Postfach 8330 Pfäffikon ZH 044 952 19 19 *80-151-4 ZKBKCHZZ80A +07753 0000 007530700 220000426111ZKB Zürcher Kantonalbank Oberwinterthur Postfach 8404 Winterthur 052 244 45 45 *80-151-4 ZKBKCHZZ80A +07754 0000 007541700 220050312111ZKB Zürcher Kantonalbank Postfach 8340 Hinwil 044 938 37 37 *80-151-4 ZKBKCHZZ80A +07755 0000 007556700 220050312111ZKB Zürcher Kantonalbank Postfach 8622 Wetzikon ZH 2 044 933 02 11 *80-151-4 ZKBKCHZZ80A +07756 0000 007564700 220050312111ZKB Zürcher Kantonalbank Postfach 8105 Regensdorf 1 044 871 13 13 *80-151-4 ZKBKCHZZ80A +07757 0000 007572700 220050312111ZKB Zürcher Kantonalbank Postfach 8820 Wädenswil 044 783 91 11 *80-151-4 ZKBKCHZZ80A +07758 0000 007588700 220050312111ZKB Zürcher Kantonalbank Postfach 8134 Adliswil 1 044 711 12 13 *80-151-4 ZKBKCHZZ80A +07758 0001 007588700 320050312111ZKB Zürcher Kantonalbank Postfach 8135 Langnau am Albis 044 714 77 55 *80-151-4 ZKBKCHZZ80A +07759 0000 007593700 220050312111ZKB Zürcher Kantonalbank Postfach 8303 Bassersdorf 044 838 17 17 *80-151-4 ZKBKCHZZ80A +07761 0000 007616761 120010628111AKB Aargauische Kantonalbank Postfach 5001 Aarau 062 835 77 77 062 835 77 84 50-6-9 KBAGCH22XXX +07761 0002 007616761 319990424111AKB Aargauische Kantonalbank Postfach 5722 Gränichen 062 855 50 80 062 855 50 88 *50-6-9 +07761 0003 007616761 319990424111AKB Aargauische Kantonalbank Postfach 5600 Lenzburg 2 062 888 50 60 062 888 50 61 *50-6-9 +07761 0004 007616761 319990424111AKB Aargauische Kantonalbank Postfach 5734 Reinach AG 062 765 80 50 062 765 80 55 *50-6-9 +07761 0005 007616761 319990424111AKB Aargauische Kantonalbank Postfach 5034 Suhr 062 842 89 89 062 842 89 80 *50-6-9 +07761 0006 007616761 319990424111AKB Aargauische Kantonalbank Postfach 5103 Wildegg 062 893 36 36 062 893 22 74 *50-6-9 +07761200000 761209761 220040211111AKB Aargauische Kantonalbank Postfach 5401 Baden 056 203 01 01 056 203 02 02 *50-6-9 KBAGCH2254A +07761200001 761209761 320040207111AKB Aargauische Kantonalbank Postfach 5507 Mellingen 056 491 90 00 056 491 90 09 *50-6-9 +07761200002 761209761 320040207111AKB Aargauische Kantonalbank Postfach 5415 Nussbaumen b. Baden 056 296 20 20 056 296 20 29 *50-6-9 +07761210000 761217761 220040212111AKB Aargauische Kantonalbank Postfach 5430 Wettingen 1 056 437 33 33 056 437 33 99 *50-6-9 KBAGCH2254C +07761300000 761301761 220040212111AKB Aargauische Kantonalbank Postfach 5201 Brugg AG 056 448 95 95 056 448 96 40 *50-6-9 KBAGCH2252A +07761300001 761301761 320040211111AKB Aargauische Kantonalbank Postfach 5242 Birr-Lupfig 056 464 20 80 056 464 20 88 *50-6-9 +07761300002 761301761 320040211111AKB Aargauische Kantonalbank Postfach 5312 Döttingen 056 268 61 11 056 268 61 12 *50-6-9 +07761400000 761404761 220040212111AKB Aargauische Kantonalbank Postfach 4310 Rheinfelden 061 836 31 31 061 836 31 55 *50-6-9 KBAGCH2243A +07761400001 761404761 320040211111AKB Aargauische Kantonalbank Postfach 5070 Frick 062 871 68 78 062 871 68 48 *50-6-9 +07761400002 761404761 320040211111AKB Aargauische Kantonalbank Postfach 5080 Laufenburg 062 874 42 62 062 874 42 60 *50-6-9 +07761400003 761404761 320040211111AKB Aargauische Kantonalbank Postfach 4312 Magden 061 843 73 00 061 843 73 03 *50-6-9 +07761400004 761404761 320040211111AKB Aargauische Kantonalbank Postfach 4313 Möhlin 061 853 73 00 061 853 73 03 *50-6-9 +07761500000 761508761 220040213111AKB Aargauische Kantonalbank Postfach 5610 Wohlen AG 056 619 95 11 056 622 14 38 *50-6-9 KBAGCH2256B +07761500002 761508761 320040211111AKB Aargauische Kantonalbank Postfach 5620 Bremgarten AG 056 648 28 88 056 648 28 99 *50-6-9 +07761500003 761508761 320040211111AKB Aargauische Kantonalbank Postfach 5615 Fahrwangen 056 667 90 00 056 667 90 09 *50-6-9 +07761500004 761508761 320040211111AKB Aargauische Kantonalbank Luzernerstrasse Postfach 5630 Muri AG 056 675 80 80 056 664 20 73 *50-6-9 +07761500005 761508761 320040212111AKB Aargauische Kantonalbank Seetalstrasse Postfach 5630 Muri AG 056 675 80 80 056 675 80 88 *50-6-9 +07761500006 761508761 320040212111AKB Aargauische Kantonalbank Postfach 8965 Mutschellen 056 648 24 24 056 648 24 20 *50-6-9 +07761500007 761508761 320040212111AKB Aargauische Kantonalbank Postfach 5643 Sins 041 789 71 11 041 789 71 10 *50-6-9 +07761600000 761600761 220040213111AKB Aargauische Kantonalbank Postfach 4800 Zofingen 062 745 81 11 062 745 83 33 *50-6-9 KBAGCH2248A +07761600001 761600761 320040212111AKB Aargauische Kantonalbank Postfach 4665 Oftringen 062 789 00 89 062 789 00 88 *50-6-9 +07761600002 761600761 320040212111AKB Aargauische Kantonalbank Postfach 4852 Rothrist 062 785 60 85 062 785 60 88 *50-6-9 +07761600003 761600761 320040212111AKB Aargauische Kantonalbank Postfach 231 4805 Brittnau 062 745 88 44 062 745 88 55 *50-6-9 +07761700000 761705761 220010726111AKB Aargauische Kantonalbank Hauptgasse 29 4600 Olten 062 207 99 99 062 207 99 00 *50-6-9 KBAGCH22XXX +07763 0000 007632763 120010519111AIKB Appenzeller Kantonalbank Postfach 9050 Appenzell 071 788 88 88 071 788 88 89 90-125-8 AIKACH21XXX +07763 0001 007632763 319970704111AIKB Appenzeller Kantonalbank Postfach 9108 Gonten 071 794 12 25 *90-125-8 +07763 0002 007632763 319970704111AIKB Appenzeller Kantonalbank Postfach 9054 Haslen AI 071 333 42 42 *90-125-8 +07763 0003 007632763 319970704111AIKB Appenzeller Kantonalbank Postfach 9413 Oberegg 071 898 80 40 *90-125-8 +07763 0004 007632763 319970704111AIKB Appenzeller Kantonalbank Postfach 9057 Weissbad 071 798 90 50 *90-125-8 +07764 0000 007648764 120011220103BSCT Banca dello Stato del Cantone Ticino Viale H. Guisan 5 Casella postale 6501 Bellinzona 091 803 71 11 091 826 13 64 65-433-5 BSCTCH22XXX +07764 0001 007648764 319990424103BSCT Banca dello Stato del Cantone Ticino Casella postale 6780 Airolo 091 869 15 45 091 869 11 07 *65-433-5 +07764 0002 007648764 319990424103BSCT Banca dello Stato del Cantone Ticino Piazza Collegiata Casella postale 6501 Bellinzona 091 803 71 11 091 803 75 29 *65-433-5 +07764 0003 007648764 319990424103BSCT Banca dello Stato del Cantone Ticino Casella postale 6743 Bodio TI 091 864 11 24 091 864 10 76 *65-433-5 +07764 0004 007648764 320000421103BSCT Banca dello Stato del Cantone Ticino Casella postale 6715 Dongio 091 871 11 52 091 871 27 52 *65-433-5 +07764 0005 007648764 319990424103BSCT Banca dello Stato del Cantone Ticino Casella postale 6760 Faido 091 866 14 44 091 866 14 45 *65-433-5 +07764100000 764103764 220011220103BSCT Banca dello Stato del Cantone Ticino Via Pioda 7 Casella postale 6901 Lugano 091 803 36 11 091 923 82 27 69-45-6 BSCTCH22LUG +07764100001 764103764 320000421103BSCT Banca dello Stato del Cantone Ticino Piazza Riforma Casella postale 6901 Lugano 091 803 36 11 091 803 38 50 *69-45-6 +07764100002 764103764 320010808103BSCT Banca dello Stato del Cantone Ticino Centro Grancia 1 Casella postale 6916 Grancia 091 993 16 61 091 993 16 64 *69-45-6 +07764100003 764103764 320010808103BSCT Banca dello Stato del Cantone Ticino Via G. Pocobelli 14 Casella postale 6815 Melide 091 630 64 30 091 649 30 49 *69-45-6 +07764110000 764119764 220011220103BSCT Banca dello Stato del Cantone Ticino Molino Nuovo Casella postale 6900 Lugano 091 803 35 11 091 971 46 83 69-1691-7 +07764120000 764127764 220011220103BSCT Banca dello Stato del Cantone Ticino Via Pietro Fontana Casella postale 6950 Tesserete 091 943 53 33 091 943 12 75 69-1113-4 +07764200000 764207764 220011220103BSCT Banca dello Stato del Cantone Ticino Via Trevani Casella postale 6601 Locarno 091 759 70 11 091 751 69 78 65-475-3 BSCTCH22LOC +07764200001 764207764 319990424103BSCT Banca dello Stato del Cantone Ticino Casella postale 6614 Brissago 091 793 16 61 091 793 40 03 *65-475-3 +07764200002 764207764 319990424103BSCT Banca dello Stato del Cantone Ticino Casella postale 6675 Cevio 091 754 20 50 091 764 14 06 *65-475-3 +07764200003 764207764 319990424103BSCT Banca dello Stato del Cantone Ticino Via San Francesco 1 Casella postale 6601 Locarno 091 759 70 11 091 760 01 31 *65-475-3 +07764200004 764207764 319990424103BSCT Banca dello Stato del Cantone Ticino Centro Commerciale Cattori Casella postale 6616 Losone 091 791 84 21 091 792 29 58 *65-475-3 +07764300000 764306764 220011220103BSCT Banca dello Stato del Cantone Ticino Corso San Gottardo 4 Casella postale 6830 Chiasso 1 091 695 39 11 091 682 30 48 69-777-3 BSCTCH22CHI +07764400000 764409764 220011220103BSCT Banca dello Stato del Cantone Ticino Corso Bello 3 Casella postale 6850 Mendrisio 091 646 15 85 091 646 43 06 69-570-1 +07764500000 764501764 220011220103BSCT Banca dello Stato del Cantone Ticino Via Pini 2 Casella postale 6710 Biasca 091 862 19 22 091 862 43 31 65-214-6 +07764600000 764604764 220011220103BSCT Banca dello Stato del Cantone Ticino Viale Papio 5 Casella postale 6612 Ascona 091 791 49 12 091 791 65 86 65-348-4 +07764700000 764708764 220011220103BSCT Banca dello Stato del Cantone Ticino Via Cantonale Casella postale 6982 Agno 091 604 52 25 091 605 34 41 69-1937-0 +07765 0000 007653765 120000426112BCVS Banque Cantonale du Valais Case postale 222 1951 Sion/Sitten 027 324 61 11 027 324 66 66 19-81-6 BCVSCH2LXXX +07765110000 765112765 220000426101WKB Walliser Kantonalbank Postfach 3900 Brig/Brigue 027 922 28 11 027 922 28 10 *19-81-6 +07765110001 765112765 320000426101WKB Walliser Kantonalbank Postfach 3984 Fiesch 027 971 27 22 027 971 15 14 *19-81-6 +07765110002 765112765 320000426101WKB Walliser Kantonalbank Postfach 3904 Naters 027 922 28 88 027 922 28 80 *19-81-6 +07765120000 765128765 220000426102BCVS Banque Cantonale du Valais Postfach 3930 Visp/Viège 027 948 80 00 027 948 80 01 *19-81-6 +07765130000 765133765 220000426102BCVS Banque Cantonale du Valais Case postale 3960 Sierre/Siders 027 452 44 00 027 452 44 01 *19-81-6 +07765140000 765149765 220000426102BCVS Banque Cantonale du Valais Case postale 1920 Martigny 1 027 720 51 00 027 720 51 15 *19-81-6 +07765150000 765157765 220000426102BCVS Banque Cantonale du Valais Case postale 1890 St-Maurice 024 485 27 21 024 485 18 30 *19-81-6 +07765160000 765165765 220000426102BCVS Banque Cantonale du Valais Case postale 1870 Monthey 024 473 77 00 027 473 77 01 *19-81-6 +07765170000 765170765 220031018102BCVS Banque Cantonale du Valais Case postale 3963 Montana 027 486 10 00 027 486 10 01 *19-81-6 +07765180000 765181765 220000426102BCVS Banque Cantonale du Valais Case postale 3963 Crans-sur-Sierre 027 481 55 66 027 481 91 41 *19-81-6 +07765190000 765196765 220000426102BCVS Banque Cantonale du Valais Case postale 1874 Champéry 024 479 12 56 024 479 21 75 *19-81-6 +07765200000 765208765 220000426101WKB Walliser Kantonalbank Postfach 3920 Zermatt 027 967 11 55 027 967 49 46 *19-81-6 +07765210000 765213765 220000426101WKB Walliser Kantonalbank Postfach 3906 Saas Fee 027 957 16 12 027 957 17 44 *19-81-6 +07765220000 765229765 220000426102BCVS Banque Cantonale du Valais Case postale 1907 Saxon 027 744 11 53 027 744 26 12 *19-81-6 +07765230000 765237765 220000426102BCVS Banque Cantonale du Valais Case postale 1936 Verbier 027 771 61 61 027 771 40 04 *19-81-6 +07765240000 765245765 220000426102BCVS Banque Cantonale du Valais Case postale 1972 Anzère 027 398 53 33 027 398 45 89 *19-81-6 +07765260000 765261765 220000426101WKB Walliser Kantonalbank Leuk Postfach 3952 Susten 027 473 33 33 027 473 35 05 *19-81-6 +07765260001 765261765 320000426101WKB Walliser Kantonalbank Postfach 3945 Gampel 027 932 36 36 027 932 38 78 *19-81-6 +07765260002 765261765 320000426101WKB Walliser Kantonalbank Postfach 3954 Leukerbad 027 472 78 20 027 472 78 25 *19-81-6 +07766 0000 007669766 120001117112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 275 2001 Neuchâtel 032 723 61 11 20-136-4 BCNNCH22XXX +07766 0002 007669766 320030418112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2416 Brenets, Les 032 932 11 29 *20-136-4 BCNNCH22XXX +07766 0004 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2053 Cernier 032 853 21 52 *20-136-4 BCNNCH22XXX +07766 0005 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2301 Chaux-de-Fonds, La 032 911 88 88 *20-136-4 BCNNCH22XXX +07766 0006 007669766 320030626112BCNeuchâteloiseBanque Cantonale Neuchâteloise Centre Carrefour Case postale 2304 Chaux-de-Fonds, La 032 911 88 88 *20-136-4 BCNNCH22XXX +07766 0007 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2013 Colombier NE 032 843 03 83 *20-136-4 BCNNCH22XXX +07766 0009 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2108 Couvet 032 863 11 40 *20-136-4 BCNNCH22XXX +07766 0011 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2114 Fleurier 032 861 35 61 *20-136-4 BCNNCH22XXX +07766 0013 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2525 Landeron, Le 032 751 37 78 *20-136-4 BCNNCH22XXX +07766 0014 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2400 Locle, Le 032 933 98 78 *20-136-4 BCNNCH22XXX +07766 0015 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2074 Marin-Epagnier 032 753 41 45 *20-136-4 BCNNCH22XXX +07766 0016 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Centre Case postale 2074 Marin-Epagnier 032 753 44 00 *20-136-4 BCNNCH22XXX +07766 0017 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Hôpital 5 Case postale 2001 Neuchâtel 032 723 61 11 *20-136-4 BCNNCH22XXX +07766 0018 007669766 320030418112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2034 Peseux 032 732 97 40 *20-136-4 BCNNCH22XXX +07766 0020 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2024 St-Aubin NE 032 835 11 10 *20-136-4 BCNNCH22XXX +07766 0021 007669766 320000426112BCNeuchâteloiseBanque Cantonale Neuchâteloise Case postale 2126 Verrières, Les 032 866 12 49 *20-136-4 BCNNCH22XXX +07767 0000 007677767 120041222112BCV Banque Cantonale Vaudoise St-François Case postale 300 1001 Lausanne 021 212 12 12 10-725-4 BCVLCH2LXXX +07767 0001 007677767 320000421112BCV Banque Cantonale Vaudoise Athénée Case postale 1003 Lausanne 021 351 38 00 *10-725-4 BCVLCH2LXXX +07767 0002 007677767 320000421112BCV Banque Cantonale Vaudoise Bergières Case postale 1004 Lausanne 021 644 38 60 *10-725-4 BCVLCH2LXXX +07767 0003 007677767 320000421112BCV Banque Cantonale Vaudoise Chauderon Case postale 77 1000 Lausanne 9 021 212 12 12 *10-725-4 BCVLCH2LXXX +07767 0004 007677767 319990424112BCV Banque Cantonale Vaudoise Chuv Case postale 1005 Lausanne 021 351 37 90 *10-725-4 BCVLCH2LXXX +07767 0006 007677767 319990424112BCV Banque Cantonale Vaudoise Pépinet Case postale 1002 Lausanne 021 212 29 80 *10-725-4 BCVLCH2LXXX +07767 0007 007677767 319990424112BCV Banque Cantonale Vaudoise Riponne Case postale 1005 Lausanne 021 351 38 50 *10-725-4 BCVLCH2LXXX +07767110000 767115767 220020323112BCV Banque Cantonale Vaudoise Bel-Air Case postale 1002 Lausanne 021 212 12 12 *10-725-4 BCVLCH2LXXX +07767110001 767115767 320000421112BCV Banque Cantonale Vaudoise WTCL Case postale 1000 Lausanne 021 683 39 00 *10-725-4 BCVLCH2LXXX +07767120000 767120767 220020323112BCV Banque Cantonale Vaudoise Case postale 1860 Aigle 024 468 31 11 *10-725-4 BCVLCH2LXXX +07767130000 767131767 220020323112BCV Banque Cantonale Vaudoise Case postale 1170 Aubonne 021 821 40 40 *10-725-4 BCVLCH2LXXX +07767130001 767131767 319990424112BCV Banque Cantonale Vaudoise Case postale 1145 Bière 021 809 60 60 *10-725-4 BCVLCH2LXXX +07767140000 767146767 220020323112BCV Banque Cantonale Vaudoise Case postale 1580 Avenches 026 676 94 76 *10-725-4 BCVLCH2LXXX +07767150000 767154767 220020323112BCV Banque Cantonale Vaudoise Case postale 1880 Bex 024 463 05 00 *10-725-4 BCVLCH2LXXX +07767160000 767162767 220020928112BCV Banque Cantonale Vaudoise Case postale 1660 Château-d'Oex 026 924 24 44 *10-725-4 BCVLCH2LXXX +07767170000 767178767 220020323112BCV Banque Cantonale Vaudoise Case postale 1304 Cossonay-Ville 021 863 13 70 *10-725-4 BCVLCH2LXXX +07767170002 767178767 319990427112BCV Banque Cantonale Vaudoise Case postale 1315 Sarraz, La 021 866 02 10 *10-725-4 BCVLCH2LXXX +07767180000 767183767 220020323112BCV Banque Cantonale Vaudoise Case postale 1096 Cully 021 799 91 50 021 799 91 69 *10-725-4 BCVLCH2LXXX +07767190000 767199767 220020323112BCV Banque Cantonale Vaudoise Case postale 1040 Echallens 021 886 33 33 *10-725-4 BCVLCH2LXXX +07767190001 767199767 320000421112BCV Banque Cantonale Vaudoise Case postale 1038 Bercher 021 887 81 05 *10-725-4 BCVLCH2LXXX +07767200000 767206767 220020323112BCV Banque Cantonale Vaudoise Case postale 1422 Grandson 024 447 00 30 *10-725-4 BCVLCH2LXXX +07767210000 767214767 220020323112BCV Banque Cantonale Vaudoise Case postale 1095 Lutry 021 796 75 55 *10-725-4 BCVLCH2LXXX +07767210001 767214767 319990424112BCV Banque Cantonale Vaudoise Case postale 1083 Mézières VD 021 903 17 87 *10-725-4 BCVLCH2LXXX +07767220000 767222767 220020323112BCV Banque Cantonale Vaudoise Case postale 1820 Montreux 1 021 962 42 42 *10-725-4 BCVLCH2LXXX +07767230000 767238767 220020323112BCV Banque Cantonale Vaudoise Case postale 1110 Morges 1 021 804 05 55 *10-725-4 BCVLCH2LXXX +07767230001 767238767 320000421112BCV Banque Cantonale Vaudoise Case postale 1162 St-Prex 021 806 23 30 *10-725-4 BCVLCH2LXXX +07767240000 767243767 220020323112BCV Banque Cantonale Vaudoise Case postale 1510 Moudon 021 905 93 00 *10-725-4 BCVLCH2LXXX +07767250000 767259767 220020323112BCV Banque Cantonale Vaudoise Case postale 1260 Nyon 022 365 74 00 *10-725-4 BCVLCH2LXXX +07767260000 767267767 220020323112BCV Banque Cantonale Vaudoise Case postale 1350 Orbe 024 442 82 40 *10-725-4 BCVLCH2LXXX +07767260002 767267767 319990424112BCV Banque Cantonale Vaudoise Case postale 1323 Romainmôtier 024 453 12 12 *10-725-4 BCVLCH2LXXX +07767270000 767275767 220020323112BCV Banque Cantonale Vaudoise Case postale 1610 Oron-la-Ville 021 908 06 30 *10-725-4 BCVLCH2LXXX +07767280000 767280767 220020323112BCV Banque Cantonale Vaudoise Case postale 64 1530 Payerne 026 661 72 00 *10-725-4 BCVLCH2LXXX +07767280001 767280767 319990424112BCV Banque Cantonale Vaudoise Case postale 1523 Granges-près-Marnand 026 668 11 45 *10-725-4 BCVLCH2LXXX +07767290000 767291767 220020323112BCV Banque Cantonale Vaudoise Case postale 1020 Renens VD 021 636 30 90 *10-725-4 BCVLCH2LXXX +07767300000 767309767 220020323112BCV Banque Cantonale Vaudoise Case postale 1180 Rolle 021 822 08 22 *10-725-4 BCVLCH2LXXX +07767310000 767317767 220020323112BCV Banque Cantonale Vaudoise Case postale 1450 Ste-Croix 024 455 43 00 *10-725-4 BCVLCH2LXXX +07767320000 767325767 220020323112BCV Banque Cantonale Vaudoise Case postale 1347 Sentier, Le 021 845 15 70 *10-725-4 BCVLCH2LXXX +07767330000 767330767 220020323112BCV Banque Cantonale Vaudoise Case postale 1337 Vallorbe 021 843 91 50 *10-725-4 BCVLCH2LXXX +07767340000 767341767 220020323112BCV Banque Cantonale Vaudoise Case postale 1800 Vevey 1 021 925 85 85 *10-725-4 BCVLCH2LXXX +07767340001 767341767 320000421112BCV Banque Cantonale Vaudoise Nestlé Case postale 1800 Vevey 1 021 925 85 85 *10-725-4 BCVLCH2LXXX +07767350000 767356767 220020323112BCV Banque Cantonale Vaudoise Case postale 1401 Yverdon-les-Bains 024 423 85 11 *10-725-4 BCVLCH2LXXX +07767360000 767364767 220020323112BCV Banque Cantonale Vaudoise Case postale 1814 Tour-de-Peilz, La 021 944 97 71 *10-725-4 BCVLCH2LXXX +07767370000 767372767 220020323112BCV Banque Cantonale Vaudoise Case postale 1844 Villeneuve VD 021 967 31 50 *10-725-4 BCVLCH2LXXX +07767380000 767388767 220020323112BCV Banque Cantonale Vaudoise Case postale 1008 Prilly 021 621 71 11 *10-725-4 BCVLCH2LXXX +07767380001 767388767 319990424112BCV Banque Cantonale Vaudoise Unil Case postale 1015 Lausanne 15 021 691 15 01 *10-725-4 BCVLCH2LXXX +07767390000 767393767 220020323112BCV Banque Cantonale Vaudoise Place de la Gare Case postale 1000 Lausanne 021 212 33 82 *10-725-4 BCVLCH2LXXX +07767400000 767401767 220020323112BCV Banque Cantonale Vaudoise Case postale 1854 Leysin 024 493 22 30 *10-725-4 BCVLCH2LXXX +07767410000 767416767 220020323112BCV Banque Cantonale Vaudoise Case postale 1884 Villars-sur-Ollon 024 469 37 80 *10-725-4 BCVLCH2LXXX +07767420000 767424767 220020323112BCV Banque Cantonale Vaudoise Case postale 1815 Clarens 021 989 44 50 *10-725-4 BCVLCH2LXXX +07767430000 767432767 220020323112BCV Banque Cantonale Vaudoise Case postale 1196 Gland 022 364 24 22 *10-725-4 BCVLCH2LXXX +07767440000 767448767 220050115112BCV Banque Cantonale Vaudoise Case postale 1009 Pully 021 721 78 74 *10-725-4 BCVLCH2LXXX +07767450000 767453767 220020323112BCV Banque Cantonale Vaudoise Case postale 1033 Cheseaux-sur-Lausanne 021 731 92 44 *10-725-4 BCVLCH2LXXX +07767460000 767469767 220020323112BCV Banque Cantonale Vaudoise Chailly Case postale 1000 Lausanne 12 021 651 37 70 *10-725-4 BCVLCH2LXXX +07767470000 767477767 220020323112BCV Banque Cantonale Vaudoise La Sallaz Case postale 1010 Lausanne 10 021 654 37 40 *10-725-4 BCVLCH2LXXX +07767480000 767485767 220020323112BCV Banque Cantonale Vaudoise Case postale 1865 Diablerets, Les 024 492 09 80 *10-725-4 BCVLCH2LXXX +07767490000 767490767 220020323112BCV Banque Cantonale Vaudoise Ouchy Case postale 1000 Lausanne 6 021 614 38 30 *10-725-4 BCVLCH2LXXX +07767500000 767504767 220020323112BCV Banque Cantonale Vaudoise Case postale 1030 Bussigny-près-Lausanne 021 706 22 22 *10-725-4 BCVLCH2LXXX +07767510000 767512767 220020323112BCV Banque Cantonale Vaudoise Pontaise Case postale 1018 Lausanne 18 021 644 38 80 *10-725-4 BCVLCH2LXXX +07767520000 767528767 220020323112BCV Banque Cantonale Vaudoise Case postale 1305 Penthalaz 021 861 26 56 *10-725-4 BCVLCH2LXXX +07767530000 767533767 220020323112BCV Banque Cantonale Vaudoise Case postale 1296 Coppet 022 960 96 44 *10-725-4 BCVLCH2LXXX +07767540000 767549767 220020323112BCV Banque Cantonale Vaudoise Case postale 1023 Crissier 021 633 07 50 *10-725-4 BCVLCH2LXXX +07767550000 767557767 220020323112BCV Banque Cantonale Vaudoise Bellevaux Case postale 1000 Lausanne 8 021 644 37 20 *10-725-4 BCVLCH2LXXX +07767560000 767565767 220020323112BCV Banque Cantonale Vaudoise Case postale 1522 Lucens 021 906 10 10 *10-725-4 BCVLCH2LXXX +07767580000 767581767 220020323112BCV Banque Cantonale Vaudoise Case postale 1373 Chavornay 024 442 93 30 *10-725-4 BCVLCH2LXXX +07767610000 767613767 220020323112BCV Banque Cantonale Vaudoise Case postale 1807 Blonay 021 943 05 40 *10-725-4 BCVLCH2LXXX +07767620000 767629767 220020323112BCV Banque Cantonale Vaudoise Case postale 1071 Chexbres 021 946 07 40 *10-725-4 BCVLCH2LXXX +07767630000 767637767 220020323112BCV Banque Cantonale Vaudoise Cour Case postale 1000 Lausanne 3 021 614 38 10 *10-725-4 BCVLCH2LXXX +07767640000 767645767 220020323112BCV Banque Cantonale Vaudoise Case postale 1073 Savigny 021 781 25 31 *10-725-4 BCVLCH2LXXX +07767650000 767650767 220020323112BCV Banque Cantonale Vaudoise Route de Divonne Case postale 1260 Nyon 022 362 23 21 *10-725-4 BCVLCH2LXXX +07767660000 767661767 220020323112BCV Banque Cantonale Vaudoise Case postale 1066 Epalinges 021 651 37 00 *10-725-4 BCVLCH2LXXX +07768 0000 007685768 120030801112BCF Banque Cantonale de Fribourg Case postale 1701 Fribourg 0848 223 223 026 350 77 09 17-49-3 BEFRCH22XXX +07768 0001 007685768 320030726112BCF Banque Cantonale de Fribourg Case postale 1741 Cottens 0848 223 223 026 477 31 29 *17-49-3 BEFRCH22XXX +07768220000 768224768 220030801112BCF Banque Cantonale de Fribourg Rue de Romont Case postale 1701 Fribourg 0848 223 223 026 347 38 39 *17-49-3 BEFRCH22XXX +07768230000 768232768 220030726112BCF Banque Cantonale de Fribourg Case postale 1630 Bulle 0848 223 223 026 919 24 99 *17-49-3 BEFRCH22XXX +07768230001 768232768 320030726112BCF Banque Cantonale de Fribourg Case postale 1636 Broc 0848 223 223 026 921 10 10 *17-49-3 BEFRCH22XXX +07768240000 768248768 220030801112BCF Banque Cantonale de Fribourg Case postale 1618 Châtel-St-Denis 0848 223 223 021 948 91 50 *17-49-3 BEFRCH22XXX +07768250000 768253768 220030801111FKB Freiburger Kantonalbank Postfach 3210 Kerzers 0848 352 352 031 755 66 08 *17-49-3 BEFRCH22XXX +07768260000 768269768 220030801112BCF Banque Cantonale de Fribourg Case postale 1564 Domdidier 0848 223 223 026 676 92 99 *17-49-3 BEFRCH22XXX +07768270000 768277768 220030801112BCF Banque Cantonale de Fribourg Case postale 1470 Estavayer-le-Lac 0848 223 223 026 663 96 99 *17-49-3 BEFRCH22XXX +07768280000 768285768 220030801112BCF Banque Cantonale de Fribourg Case postale 1726 Farvagny-le-Grand 0848 223 223 026 411 36 41 *17-49-3 BEFRCH22XXX +07768290000 768290768 220030801111FKB Freiburger Kantonalbank Postfach 3280 Murten/Morat 0848 352 352 026 672 85 98 *17-49-3 BEFRCH22XXX +07768300000 768304768 220030801112BCF Banque Cantonale de Fribourg Case postale 1680 Romont FR 0848 223 223 026 662 41 66 *17-49-3 BEFRCH22XXX +07768310000 768312768 220030801111FKB Freiburger Kantonalbank Postfach 1712 Tafers/Tavel 0848 352 352 026 494 31 14 *17-49-3 BEFRCH22XXX +07768320000 768328768 220030801111FKB Freiburger Kantonalbank Guin Postfach 3186 Düdingen 0848 352 352 026 492 95 99 *17-49-3 BEFRCH22XXX +07768330000 768333768 220030801112BCF Banque Cantonale de Fribourg Bourg Case postale 1702 Fribourg 0848 223 223 026 322 28 46 *17-49-3 BEFRCH22XXX +07768340000 768349768 220030801112BCF Banque Cantonale de Fribourg Case postale 1616 Attalens 0848 223 223 021 947 46 00 *17-49-3 BEFRCH22XXX +07768350000 768357768 220030801112BCF Banque Cantonale de Fribourg Case postale 1784 Courtepin 0848 223 223 026 684 85 89 *17-49-3 BEFRCH22XXX +07768360000 768365768 220030731111FKB Freiburger Kantonalbank Postfach 3175 Flamatt 0848 352 352 031 741 32 29 *17-49-3 BEFRCH22XXX +07768370000 768370768 220030731112BCF Banque Cantonale de Fribourg Case postale 1754 Avry-sur-Matran 0848 223 223 026 470 25 74 *17-49-3 BEFRCH22XXX +07768380000 768381768 220030801112BCF Banque Cantonale de Fribourg Schönberg Case postale 1707 Fribourg 0848 223 223 026 484 84 89 *17-49-3 BEFRCH22XXX +07768390000 768396768 220030801112BCF Banque Cantonale de Fribourg Hôpital Cantonal Case postale 1708 Fribourg 0848 223 223 026 424 20 54 *17-49-3 BEFRCH22XXX +07768400000 768408768 220030801112BCF Banque Cantonale de Fribourg Case postale 1731 Ependes FR 0848 223 223 026 413 38 86 *17-49-3 BEFRCH22XXX +07768410000 768413768 220030801112BCF Banque Cantonale de Fribourg Case postale 1637 Charmey (Gruyère) 0848 223 223 026 927 25 44 *17-49-3 BEFRCH22XXX +07768420000 768429768 220030801112BCF Banque Cantonale de Fribourg Postfach 1716 Plaffeien 0848 352 352 026 419 92 09 *17-49-3 BEFRCH22XXX +07768430000 768437768 220030801112BCF Banque Cantonale de Fribourg Case postale 1611 Crêt, Le 0848 223 223 026 918 55 30 *17-49-3 BEFRCH22XXX +07769 0000 007690769 120010714111BLKB Basellandschaftliche Kantonalbank Postfach 4410 Liestal 061 925 94 94 40-44-0 BLKBCH22XXX +07769100000 769105769 220010714111BLKB Basellandschaftliche Kantonalbank Postfach 4123 Allschwil 1 061 925 94 94 *40-44-0 BLKBCH2241D +07769200000 769202769 220030523111BLKB Basellandschaftliche Kantonalbank Postfach 4144 Arlesheim 061 925 94 94 *40-44-0 BLKBCH2241N +07769300000 769303769 220030523111BLKB Basellandschaftliche Kantonalbank Postfach 4102 Binningen 1 061 925 94 94 *40-44-0 BLKBCH2241A +07769400000 769407769 220030523111BLKB Basellandschaftliche Kantonalbank Postfach 4127 Birsfelden 061 925 94 94 *40-44-0 BLKBCH2241F +07769500000 769506769 220030523111BLKB Basellandschaftliche Kantonalbank Postfach 4460 Gelterkinden 061 925 94 94 *40-44-0 BLKBCH2244F +07769600000 769609769 220010714111BLKB Basellandschaftliche Kantonalbank Postfach 4132 Muttenz 1 061 925 94 94 *40-44-0 BLKBCH2241G +07769700000 769701769 220010714111BLKB Basellandschaftliche Kantonalbank Postfach 4450 Sissach 061 925 94 94 *40-44-0 BLKBCH2244E +07769800000 769804769 220030523111BLKB Basellandschaftliche Kantonalbank Postfach 4436 Oberdorf 061 925 94 94 *40-44-0 BLKBCH2244D +07769900000 769908769 220030523111BLKB Basellandschaftliche Kantonalbank Postfach 4242 Laufen 061 925 94 94 *40-44-0 BLKBCH2242C +07770 0000 007704770 119991118111BS KantonalbankBasler Kantonalbank Spiegelgasse Postfach 2255 4002 Basel 061 266 21 21 061 266 29 15 40-61-4 BKBBCHBBXXX +07770 0001 007704770 319990424111BS KantonalbankBasler Kantonalbank Aeschen Postfach 4002 Basel 061 266 27 66 061 266 20 07 *40-61-4 +07770 0002 007704770 319990424111BS KantonalbankBasler Kantonalbank Brausebad 4055 Basel 061 266 26 11 061 266 20 09 *40-61-4 +07770 0003 007704770 319990424111BS KantonalbankBasler Kantonalbank Breite 4053 Basel 061 266 26 22 061 266 20 15 *40-61-4 +07770 0004 007704770 319990424111BS KantonalbankBasler Kantonalbank Burgfelderplatz 4055 Basel 061 266 26 55 061 266 20 62 *40-61-4 +07770 0005 007704770 319990424111BS KantonalbankBasler Kantonalbank Claraspital 4058 Basel 061 266 27 30 061 266 21 53 *40-61-4 +07770 0006 007704770 320010706111BS KantonalbankBasler Kantonalbank Gundeldingen 4053 Basel 061 266 26 33 061 266 20 16 *40-61-4 +07770 0007 007704770 319990424111BS KantonalbankBasler Kantonalbank Kleinhüningen 4057 Basel 061 266 27 77 061 266 27 80 *40-61-4 +07770 0008 007704770 319990424111BS KantonalbankBasler Kantonalbank Klybeck 4057 Basel 061 266 26 44 061 266 20 35 *40-61-4 +07770 0009 007704770 319990424111BS KantonalbankBasler Kantonalbank Kongresszentrum Postfach 4021 Basel 061 266 26 66 061 266 20 63 *40-61-4 +07770 0010 007704770 319990522111BS KantonalbankBasler Kantonalbank Neubad Postfach 4054 Basel 061 266 26 77 061 266 21 12 *40-61-4 +07770 0011 007704770 319990424111BS KantonalbankBasler Kantonalbank Steinen 4051 Basel 061 266 26 88 061 266 21 83 *40-61-4 +07770 0012 007704770 319990424111BS KantonalbankBasler Kantonalbank Riehen-Dorf Postfach 4125 Riehen 061 266 27 33 061 266 21 82 *40-61-4 +07770 0013 007704770 319990424111BS KantonalbankBasler Kantonalbank Riehen-Rauracher 4125 Riehen 061 266 27 22 061 266 21 13 *40-61-4 +07770 0014 007704770 320050305111BS KantonalbankBasler Kantonalbank Private Banking Postfach 8039 Zürich 044 283 48 48 044 283 49 49 *40-61-4 +07770 0015 007704770 319990424111BS KantonalbankBasler Kantonalbank Bahnhof-SBB 4051 Basel 061 266 30 18 061 266 30 09 *40-61-4 +07770 0016 007704770 320010706111BS KantonalbankBasler Kantonalbank Voltaplatz 4056 Basel 061 266 27 22 061 266 27 90 *40-61-4 +07770 0017 007704770 319990424111BS KantonalbankBasler Kantonalbank Private Banking Postfach 4603 Olten 062 206 84 84 062 206 84 00 *40-61-4 +07770 0018 007704770 320000602112BS KantonalbankBasler Kantonalbank Private Banking Postfach 1211 Genève 3 022 319 46 46 022 319 46 00 *40-61-4 +07770 0019 007704770 320010706111BS KantonalbankBasler Kantonalbank Rosental 4058 Basel 061 266 33 47 061 266 31 30 *40-61-4 +07770 0020 007704770 320010706111BS KantonalbankBasler Kantonalbank Güterstrasse 4053 Basel 061 266 33 88 061 266 33 81 *40-61-4 +07773 0000 007733773 120040909111GLKB Glarner Kantonalbank Postfach 365 8750 Glarus 0844 773 773 055 646 75 98 87-62-5 GLKBCH22XXX +07773 0001 007733773 320040909111GLKB Glarner Kantonalbank Postfach 8865 Bilten 0844 773 773 055 615 14 10 *87-62-5 GLKBCH22XXX +07773 0002 007733773 320040909111GLKB Glarner Kantonalbank Postfach 8783 Linthal 0844 773 773 055 643 27 89 *87-62-5 GLKBCH22XXX +07773 0003 007733773 320040909111GLKB Glarner Kantonalbank Postfach 8753 Mollis 0844 773 773 055 618 40 59 *87-62-5 GLKBCH22XXX +07773 0004 007733773 320040909111GLKB Glarner Kantonalbank Postfach 8752 Näfels 0844 773 773 055 612 43 25 *87-62-5 GLKBCH22XXX +07773 0005 007733773 320040909111GLKB Glarner Kantonalbank Postfach 8754 Netstal 0844 773 773 055 640 61 37 *87-62-5 GLKBCH22XXX +07773 0006 007733773 320040909111GLKB Glarner Kantonalbank Postfach 8867 Niederurnen 0844 773 773 055 610 20 12 *87-62-5 GLKBCH22XXX +07773 0007 007733773 320040909111GLKB Glarner Kantonalbank Postfach 8762 Schwanden GL 0844 773 773 055 644 22 16 *87-62-5 GLKBCH22XXX +07774 0000 007749774 119990608111GRKB Graubündner Kantonalbank Postfach 7002 Chur 081 256 91 11 081 252 67 29 70-216-5 GRKBCH2270A +07774 0001 007749774 320010623111GRKB Graubündner Kantonalbank Center Postfach 7492 Alvaneu Dorf 081 404 19 33 081 404 23 43 *70-216-5 GRKBCH2270A +07774 0002 007749774 320010623111GRKB Graubündner Kantonalbank Vei Granda Postfach 7440 Andeer 081 661 17 85 081 661 18 72 *70-216-5 GRKBCH2270A +07774 0003 007749774 319990424111GRKB Graubündner Kantonalbank Postfach 7546 Ardez 081 862 23 55 *70-216-5 GRKBCH2270A +07774 0004 007749774 320010623111GRKB Graubündner Kantonalbank Plazzet 6 Postfach 7503 Samedan 081 851 08 80 081 851 08 89 *70-216-5 GRKBCH2270A +07774 0005 007749774 320010623111GRKB Graubündner Kantonalbank Haus Hotel Silvretta Postfach 7563 Samnaun Dorf 081 868 52 12 081 868 52 22 *70-216-5 GRKBCH2270A +07774 0006 007749774 319990427111GRKB Graubündner Kantonalbank Postfach 7460 Savognin 081 659 13 13 081 659 13 14 *70-216-5 GRKBCH2270A +07774 0007 007749774 320010623111GRKB Graubündner Kantonalbank Bahnhofstrasse 122 Postfach 7220 Schiers 081 300 22 22 081 300 22 20 *70-216-5 GRKBCH2270A +07774 0008 007749774 320010623111GRKB Graubündner Kantonalbank Stradun Postfach 7550 Scuol 081 861 15 15 081 861 15 25 *70-216-5 GRKBCH2270A +07774 0009 007749774 320010623111GRKB Graubündner Kantonalbank Via Alpsu 58 Postfach 7188 Sedrun 081 949 11 45 081 949 24 70 *70-216-5 GRKBCH2270A +07774 0010 007749774 320010706111GRKB Graubündner Kantonalbank Motta 132 A Postfach 7212 Seewis Dorf 081 325 19 20 *70-216-5 GRKBCH2270A +07774 0011 007749774 320010623111GRKB Graubündner Kantonalbank Haus 76 Postfach 7545 Guarda 081 862 21 88 081 862 21 88 *70-216-5 GRKBCH2270A +07774 0012 007749774 320010711111GRKB Graubündner Kantonalbank Unterdorfstrasse 8 Postfach 7206 Igis 081 300 04 10 081 300 04 19 *70-216-5 GRKBCH2270A +07774 0013 007749774 320010623111GRKB Graubündner Kantonalbank Via Centrala 4 Postfach 7130 Ilanz 081 926 21 21 081 926 21 31 *70-216-5 GRKBCH2270A +07774 0014 007749774 320010706111GRKB Graubündner Kantonalbank Hauptstrasse 60 A Postfach 7233 Jenaz 081 332 31 51 081 332 31 91 *70-216-5 GRKBCH2270A +07774 0015 007749774 320010623111GRKB Graubündner Kantonalbank Alte Bahnhofstrasse 6 Postfach 7250 Klosters 081 410 26 26 081 410 26 36 *70-216-5 GRKBCH2270A +07774 0016 007749774 320010623111GRKB Graubündner Kantonalbank Landstrasse 41 Postfach 7252 Klosters Dorf 081 420 20 41 081 422 61 51 *70-216-5 GRKBCH2270A +07774 0017 007749774 320010706111GRKB Graubündner Kantonalbank Hauptstrasse 14 D Postfach 7240 Küblis 081 332 11 14 081 332 31 21 *70-216-5 GRKBCH2270A +07774 0018 007749774 320010623111GRKB Graubündner Kantonalbank Via Falera, Dorf Postfach 7031 Laax GR 081 921 53 54 081 921 53 72 *70-216-5 GRKBCH2270A +07774 0019 007749774 320010623111GRKB Graubündner Kantonalbank Via Sigmina, Murschetg Postfach 7032 Laax GR 081 921 44 14 081 921 44 30 *70-216-5 GRKBCH2270A +07774 0020 007749774 320010623111GRKB Graubündner Kantonalbank Pradé 135 Postfach 7554 Sent 081 864 00 25 081 864 84 40 *70-216-5 GRKBCH2270A +07774 0021 007749774 320010623111GRKB Graubündner Kantonalbank Serneuserstrasse 64 Postfach 7249 Serneus 081 422 48 10 081 422 66 83 *70-216-5 GRKBCH2270A +07774 0022 007749774 320010623111GRKB Graubündner Kantonalbank Hauptstrasse Postfach 7514 Sils/Segl Maria 081 838 50 10 081 838 50 15 *70-216-5 GRKBCH2270A +07774 0023 007749774 320010623111GRKB Graubündner Kantonalbank Via dal Farrer 2 Postfach 7513 Silvaplana 081 838 60 70 081 838 60 79 *70-216-5 GRKBCH2270A +07774 0024 007749774 319990427111GRKB Graubündner Kantonalbank Postfach 7435 Splügen 081 664 14 24 081 664 18 24 *70-216-5 GRKBCH2270A +07774 0025 007749774 320010623111GRKB Graubündner Kantonalbank Via Maistra Postfach 7558 Strada 081 866 35 33 081 866 37 24 *70-216-5 GRKBCH2270A +07774 0026 007749774 320010623111GRKB Graubündner Kantonalbank Surpunt Postfach 7542 Susch 081 861 30 30 081 861 30 39 *70-216-5 GRKBCH2270A +07774 0027 007749774 320010623111GRKB Graubündner Kantonalbank Dorfplatz 8 Postfach 7015 Tamins 081 641 26 20 081 641 37 20 *70-216-5 GRKBCH2270A +07774 0029 007749774 320010623111GRKB Graubündner Kantonalbank Hauptstrasse 51 Postfach 7408 Cazis 081 651 10 35 *70-216-5 GRKBCH2270A +07774 0030 007749774 320010623111GRKB Graubündner Kantonalbank Hauptstrasse Postfach 7505 Celerina/Schlarigna 081 837 30 00 081 837 30 08 *70-216-5 GRKBCH2270A +07774 0031 007749774 320010623111GRKB Graubündner Kantonalbank Lacuna Postfach 7006 Chur 081 256 86 86 081 256 86 96 *70-216-5 GRKBCH2270A +07774 0032 007749774 319990427111GRKB Graubündner Kantonalbank Ringstrasse Postfach 7004 Chur 081 284 31 30 081 284 20 12 *70-216-5 GRKBCH2270A +07774 0033 007749774 320010623111GRKB Graubündner Kantonalbank Haus Tälligrad Postfach 7075 Churwalden 081 382 12 60 081 382 16 63 *70-216-5 GRKBCH2270A +07774 0034 007749774 319970704111GRKB Graubündner Kantonalbank Postfach 7272 Davos Clavadel 081 414 42 22 *70-216-5 GRKBCH2270A +07774 0035 007749774 320040122111GRKB Graubündner Kantonalbank Promenade 147 Postfach 7260 Davos Dorf 081 416 14 14 081 416 14 17 *70-216-5 GRKBCH2270A +07774 0036 007749774 320010623111GRKB Graubündner Kantonalbank Promenade 56 Postfach 7270 Davos Platz 081 414 14 14 081 414 14 04 *70-216-5 GRKBCH2270A +07774 0037 007749774 320010623111GRKB Graubündner Kantonalbank Via Lucmagn 26 Postfach 7180 Disentis/Mustér 081 947 58 28 081 947 49 79 *70-216-5 GRKBCH2270A +07774 0038 007749774 320010623111GRKB Graubündner Kantonalbank Viamalazentrum / Neudorfstrasse 35 Postfach 7430 Thusis 081 632 31 31 081 632 31 41 *70-216-5 GRKBCH2270A +07774 0039 007749774 320010623111GRKB Graubündner Kantonalbank Vei d'Alvra 14 Postfach 7450 Tiefencastel 081 681 21 31 081 681 21 11 *70-216-5 GRKBCH2270A +07774 0040 007749774 320010623111GRKB Graubündner Kantonalbank Strässli 24 Postfach 7203 Trimmis 081 354 90 00 081 354 90 09 *70-216-5 GRKBCH2270A +07774 0041 007749774 320010623111GRKB Graubündner Kantonalbank Gemeindezentrum Postfach 7014 Trin 081 635 14 14 081 635 14 28 *70-216-5 GRKBCH2270A +07774 0042 007749774 319990427111GRKB Graubündner Kantonalbank Postfach 7166 Trun 081 943 16 07 081 943 25 07 *70-216-5 GRKBCH2270A +07774 0044 007749774 320010623111GRKB Graubündner Kantonalbank Stoz Postfach 7204 Untervaz 081 322 29 29 081 322 29 24 *70-216-5 GRKBCH2270A +07774 0046 007749774 320010623111GRKB Graubündner Kantonalbank Haus Isis A / Poststrasse Postfach 7132 Vals 081 935 14 44 081 935 18 44 *70-216-5 GRKBCH2270A +07774 0047 007749774 320010623111GRKB Graubündner Kantonalbank Bahnhofstrasse 34 Postfach 7302 Landquart 081 307 43 43 081 307 43 53 *70-216-5 GRKBCH2270A +07774 0050 007749774 320010623111GRKB Graubündner Kantonalbank Voa principala Postfach 7078 Lenzerheide/Lai 081 385 23 23 081 385 23 33 *70-216-5 GRKBCH2270A +07774 0052 007749774 320010623111GRKB Graubündner Kantonalbank Postfach 7304 Maienfeld 081 300 47 67 081 300 47 69 *70-216-5 GRKBCH2270A +07774 0054 007749774 320010623111GRKB Graubündner Kantonalbank Löwengasse 205 / Plantahaus Postfach 7208 Malans GR 081 322 50 28 081 322 69 57 *70-216-5 GRKBCH2270A +07774 0055 007749774 320010623111GRKB Graubündner Kantonalbank Plaz Cadruri Postfach 7144 Vella 081 931 16 81 081 931 16 23 *70-216-5 GRKBCH2270A +07774 0056 007749774 320010706113GRKB Graubündner Kantonalbank Hauptstrasse 114 A Postfach 7603 Vicosoprano 081 838 00 50 081 838 00 59 *70-216-5 GRKBCH2270A +07774 0057 007749774 320010623111GRKB Graubündner Kantonalbank Casa da Scola Postfach 7149 Vrin 081 931 21 31 081 931 21 61 *70-216-5 GRKBCH2270A +07774 0058 007749774 320010623111GRKB Graubündner Kantonalbank Postfach 7158 Waltensburg/Vuorz 081 941 23 73 081 941 23 23 *70-216-5 GRKBCH2270A +07774 0059 007749774 320010623111GRKB Graubündner Kantonalbank Haus Freieck Postfach 7494 Wiesen GR 081 404 16 16 081 404 25 26 *70-216-5 GRKBCH2270A +07774 0060 007749774 320010623111GRKB Graubündner Kantonalbank Via Sura 66 Postfach 7530 Zernez 081 856 11 92 081 856 10 01 *70-216-5 GRKBCH2270A +07774 0062 007749774 320010623111GRKB Graubündner Kantonalbank Poststrasse Postfach 7050 Arosa 081 378 57 57 081 378 57 67 *70-216-5 GRKBCH2270A +07774 0063 007749774 320010623111GRKB Graubündner Kantonalbank Hauptstrasse 106 Postfach 7482 Bergün/Bravuogn 081 407 11 70 081 407 13 70 *70-216-5 GRKBCH2270A +07774 0064 007749774 320010623111GRKB Graubündner Kantonalbank Hauptstrasse Postfach 7457 Bivio 081 684 54 44 081 684 54 45 *70-216-5 GRKBCH2270A +07774 0065 007749774 320010623111GRKB Graubündner Kantonalbank Plaz 1 Postfach 7402 Bonaduz 081 650 20 00 081 650 20 09 *70-216-5 GRKBCH2270A +07774 0066 007749774 320010623111GRKB Graubündner Kantonalbank Sentupada Postfach 7165 Breil/Brigels 081 941 17 17 081 941 18 78 *70-216-5 GRKBCH2270A +07774 0067 007749774 320010623113GRKB Graubündner Kantonalbank Strada principale Postfach 7743 Brusio 081 846 58 91 081 846 58 93 *70-216-5 GRKBCH2270A +07774 0068 007749774 320010623113GRKB Graubündner Kantonalbank Hauptstrasse Postfach 7744 Campocologno 081 839 20 40 081 839 20 50 *70-216-5 GRKBCH2270A +07774 0069 007749774 319990424111GRKB Graubündner Kantonalbank Postfach 7608 Castasegna 081 822 14 88 081 822 16 26 *70-216-5 GRKBCH2270A +07774 0071 007749774 320010623111GRKB Graubündner Kantonalbank Torkelgasse 2 Postfach 7205 Zizers 081 300 01 00 081 300 01 09 *70-216-5 GRKBCH2270A +07774 0072 007749774 320010623111GRKB Graubündner Kantonalbank Via Maistra 35 A Postfach 7524 Zuoz 081 854 24 22 081 854 14 19 *70-216-5 GRKBCH2270A +07774 0074 007749774 320010623113GRKB Graubündner Kantonalbank Chasa Cumünala Casella postale 6563 Mesocco 091 831 15 55 091 831 10 82 *70-216-5 GRKBCH2270A +07774 0075 007749774 319990427111GRKB Graubündner Kantonalbank Postfach 7537 Müstair 081 858 52 85 081 858 56 93 *70-216-5 GRKBCH2270A +07774 0076 007749774 319990427111GRKB Graubündner Kantonalbank Postfach 7134 Obersaxen Meierhof 081 933 18 22 081 933 20 10 *70-216-5 GRKBCH2270A +07774 0077 007749774 319970704111GRKB Graubündner Kantonalbank Postfach 7243 Pany 081 332 25 35 *70-216-5 GRKBCH2270A +07774 0079 007749774 320010623111GRKB Graubündner Kantonalbank Via Maistra Postfach 7504 Pontresina 081 842 81 81 081 842 73 07 *70-216-5 GRKBCH2270A +07774 0080 007749774 320010623113GRKB Graubündner Kantonalbank Via da Mez Casella postale 7742 Poschiavo 081 844 31 33 081 844 31 34 *70-216-5 GRKBCH2270A +07774 0082 007749774 320010623111GRKB Graubündner Kantonalbank Via Nova 86 Postfach 7013 Domat/Ems 081 632 46 46 081 632 46 56 *70-216-5 GRKBCH2270A +07774 0083 007749774 320010623111GRKB Graubündner Kantonalbank Via Cantunala Postfach 7153 Falera 081 921 30 33 081 921 33 00 *70-216-5 GRKBCH2270A +07774 0084 007749774 320010623111GRKB Graubündner Kantonalbank Taminserstrasse 6 Postfach 7012 Felsberg 081 252 21 28 081 252 21 08 *70-216-5 GRKBCH2270A +07774 0085 007749774 320010706111GRKB Graubündner Kantonalbank Chesa Arcada Postfach 7477 Filisur 081 404 15 19 081 404 15 22 *70-216-5 GRKBCH2270A +07774 0086 007749774 320010623111GRKB Graubündner Kantonalbank Hauptstrasse Postfach 7017 Flims Dorf 081 920 96 96 081 920 96 99 *70-216-5 GRKBCH2270A +07774 0087 007749774 320010623111GRKB Graubündner Kantonalbank Postfach 123 7018 Flims Waldhaus 081 911 18 44 081 911 39 42 *70-216-5 GRKBCH2270A +07774 0088 007749774 320010706111GRKB Graubündner Kantonalbank Postfach 7551 Ftan 081 864 03 43 081 864 04 43 *70-216-5 GRKBCH2270A +07774 0089 007749774 320010706111GRKB Graubündner Kantonalbank Strada Cantonale 27 B Postfach 6537 Grono 091 827 11 30 091 827 39 81 *70-216-5 GRKBCH2270A +07774 0090 007749774 320010706111GRKB Graubündner Kantonalbank Hauptstrasse 22 A Postfach 7214 Grüsch 081 325 15 18 081 325 15 15 *70-216-5 GRKBCH2270A +07774 0091 007749774 320010623111GRKB Graubündner Kantonalbank Sut Via Postfach 7172 Rabius 081 943 19 17 081 943 19 67 *70-216-5 GRKBCH2270A +07774 0092 007749774 320010623111GRKB Graubündner Kantonalbank Via Baselgia 2 Postfach 7403 Rhäzüns 081 641 22 24 081 641 22 20 *70-216-5 GRKBCH2270A +07774 0093 007749774 320010623113GRKB Graubündner Kantonalbank Piazèta Casella postale 6535 Roveredo GR 091 820 36 35 091 820 35 39 *70-216-5 GRKBCH2270A +07774 0094 007749774 319990428111GRKB Graubündner Kantonalbank Postfach 6565 S. Bernardino 091 835 70 70 091 835 70 71 *70-216-5 GRKBCH2270A +07774 0095 007749774 319990424111GRKB Graubündner Kantonalbank Postfach 7536 Sta. Maria im Münstertal 081 858 56 53 081 858 71 61 *70-216-5 GRKBCH2270A +07774 0096 007749774 320010623111GRKB Graubündner Kantonalbank Via Maistra 1 Postfach 7500 St. Moritz 1 081 837 02 02 081 833 82 00 *70-216-5 GRKBCH2270A +07774 0097 007749774 320010623111GRKB Graubündner Kantonalbank Via dal Bagn 1 Postfach 7500 St. Moritz 3 Bad 081 837 02 70 081 837 02 75 *70-216-5 GRKBCH2270A +07774 0098 007749774 320010623111GRKB Graubündner Kantonalbank Schmittenhaus Postfach 7107 Safien Platz 081 630 60 00 081 630 60 03 *70-216-5 GRKBCH2270A +07777 0000 007770777 119990427111Schwyzer KB Schwyzer Kantonalbank Bahnhofstrasse 3 Postfach 6431 Schwyz 041 819 41 11 041 811 73 55 60-1-5 KBSZCH22XXX +07777110000 777110777 220010526111Schwyzer KB Schwyzer Kantonalbank Hauptstrasse 61 Postfach 8840 Einsiedeln 055 418 95 70 055 418 95 85 *60-1-5 KBSZCH2288L +07777120000 777121777 220010526111Schwyzer KB Schwyzer Kantonalbank Mittlere Bahnhofstrasse 5 Postfach 8853 Lachen SZ 055 451 04 50 055 451 04 65 *60-1-5 KBSZCH2288M +07777130000 777136777 220010526111Schwyzer KB Schwyzer Kantonalbank Glarnerstrasse 7 Postfach 8854 Siebnen 055 450 24 70 055 450 24 85 *60-1-5 KBSZCH2288N +07777140000 777144777 220010526111Schwyzer KB Schwyzer Kantonalbank Bahnhofstrasse 29 Postfach 6440 Brunnen 041 825 40 10 041 825 40 20 *60-1-5 KBSZCH2264G +07777150000 777152777 220010526111Schwyzer KB Schwyzer Kantonalbank Bahnhofstrasse 8 Postfach 6403 Küssnacht am Rigi 041 854 70 10 041 854 70 20 *60-1-5 KBSZCH2264A +07777160000 777168777 220010526111Schwyzer KB Schwyzer Kantonalbank Gotthardstrasse 21 Postfach 6415 Arth 041 855 30 82 041 855 42 20 *60-1-5 KBSZCH2264C +07777170000 777173777 220010526111Schwyzer KB Schwyzer Kantonalbank Bahnhofstrasse 6 Postfach 8808 Pfäffikon SZ 055 415 30 20 055 415 30 25 *60-1-5 KBSZCH2288F +07777180000 777189777 220010526111Schwyzer KB Schwyzer Kantonalbank Parkstrasse 1 Postfach 6410 Goldau 041 859 03 50 041 859 03 60 *60-1-5 KBSZCH2264B +07777190000 777197777 220050312111Schwyzer KB Schwyzer Kantonalbank Hauptstrasse 31 Postfach 8832 Wollerau 044 786 70 50 044 786 70 60 *60-1-5 KBSZCH2288K +07777200000 777202777 220010526111Schwyzer KB Schwyzer Kantonalbank Poststrasse 2 Postfach 6442 Gersau 041 828 11 88 041 828 14 83 *60-1-5 KBSZCH2264H +07777210000 777218777 220010526111Schwyzer KB Schwyzer Kantonalbank Bahnhofstrasse 1 Postfach 6418 Rothenthurm 041 838 12 62 041 838 16 77 *60-1-5 KBSZCH22XXX +07777220000 777223777 220010526111Schwyzer KB Schwyzer Kantonalbank Gotthardstrasse 62 Postfach 6438 Ibach 041 811 55 75 041 811 55 16 *60-1-5 KBSZCH22XXX +07777230000 777239777 220010526111Schwyzer KB Schwyzer Kantonalbank Bahnhofstrasse 132 Postfach 6423 Seewen SZ 041 811 10 13 041 811 10 45 *60-1-5 KBSZCH22XXX +07777240000 777247777 220010526111Schwyzer KB Schwyzer Kantonalbank Postplatz Postfach 6422 Steinen 041 832 16 16 041 832 22 42 *60-1-5 KBSZCH22XXX +07777250000 777255777 220010526111Schwyzer KB Schwyzer Kantonalbank Hauptstrasse 25 Postfach 6436 Muotathal 041 830 18 68 041 830 23 32 *60-1-5 KBSZCH22XXX +07777260000 777260777 220010526111Schwyzer KB Schwyzer Kantonalbank Waagtalstrasse Postfach 8842 Unteriberg 055 414 18 33 055 414 25 55 *60-1-5 KBSZCH22XXX +07777270000 777271777 220010627111Schwyzer KB Schwyzer Kantonalbank Mythen-Center 6438 Ibach 041 819 45 50 041 819 45 08 *60-1-5 KBSZCH22XXX +07777280000 777286777 220010706111Schwyzer KB Schwyzer Kantonalbank Kantonsstrasse 102 Postfach 8807 Freienbach 055 415 30 60 055 415 30 69 *60-1-5 KBSZCH22XXX +07777290000 777294777 220010627111Schwyzer KB Schwyzer Kantonalbank Seedamm-Center 8808 Pfäffikon SZ 055 415 30 70 055 415 30 75 *60-1-5 KBSZCH22XXX +07777300000 777303777 220010526111Schwyzer KB Schwyzer Kantonalbank Dorfstrasse 10 Postfach 6417 Sattel 041 835 15 15 041 835 14 55 *60-1-5 KBSZCH22XXX +07777310000 777319777 220010923111Schwyzer KB Schwyzer Kantonalbank Säntisstrasse 2 Postfach 8856 Tuggen 055 445 10 22 055 445 10 04 *60-1-5 KBSZCH22XXX +07777320000 777327777 220050312111Schwyzer KB Schwyzer Kantonalbank Pfäffikonerstrasse 1 Postfach 8834 Schindellegi 044 786 72 50 044 786 72 51 *60-1-5 KBSZCH22XXX +07777330000 777335777 220010526111Schwyzer KB Schwyzer Kantonalbank Zürcherstrasse 6 Postfach 8852 Altendorf 055 442 60 00 055 442 48 70 *60-1-5 KBSZCH22XXX +07777340000 777340777 220010526111Schwyzer KB Schwyzer Kantonalbank Kreuzwiesmarkt Postfach 8864 Reichenburg 055 444 12 38 055 444 19 36 *60-1-5 KBSZCH22XXX +07778 0000 007781778 120010526111Luzerner KB Luzerner Kantonalbank Postfach 3567 6002 Luzern 041 206 22 22 60-41-2 LUKBCH2260A +07778 0001 007781778 319970704111Luzerner KB Luzerner Kantonalbank Grendel Postfach 6004 Luzern 041 206 22 22 *60-41-2 +07778 0002 007781778 319970704111Luzerner KB Luzerner Kantonalbank Postfach 6353 Weggis 041 206 40 40 *60-41-2 +07778110000 778111778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 79 6130 Willisau 041 206 43 43 *60-41-2 LUKBCH2261C +07778120000 778126778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 14 6170 Schüpfheim 041 206 62 62 *60-41-2 LUKBCH2261F +07778120001 778126778 319970704111Luzerner KB Luzerner Kantonalbank Postfach 8 6174 Sörenberg 041 206 65 65 *60-41-2 +07778130000 778134778 220020504111Luzerner KB Luzerner Kantonalbank Oberstadt Postfach 6210 Sursee 041 206 51 51 *60-41-2 LUKBCH2262C +07778130001 778134778 319970704111Luzerner KB Luzerner Kantonalbank Postfach 36 6221 Rickenbach LU 041 206 57 57 *60-41-2 +07778130002 778134778 319970704111Luzerner KB Luzerner Kantonalbank Einkaufszentrum Postfach 6210 Sursee 041 206 54 54 *60-41-2 +07778130003 778134778 319970704111Luzerner KB Luzerner Kantonalbank Postfach 6234 Triengen 041 206 58 58 *60-41-2 +07778140000 778142778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 70 6281 Hochdorf 041 206 48 48 *60-41-2 LUKBCH2262L +07778150000 778158778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 11 6260 Reiden 062 749 55 55 *60-41-2 LUKBCH2262H +07778160000 778163778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 1367 6020 Emmenbrücke 1 041 206 33 33 *60-41-2 LUKBCH2260G +07778160001 778163778 320010906111Luzerner KB Luzerner Kantonalbank Emmen Center Postfach 3113 6020 Emmenbrücke 3 041 206 32 70 *60-41-2 +07778160002 778163778 319970704111Luzerner KB Luzerner Kantonalbank Sprengi Postfach 6020 Emmenbrücke 2 041 206 32 80 *60-41-2 +07778160003 778163778 319970704111Luzerner KB Luzerner Kantonalbank Postfach 6023 Rothenburg 041 206 32 50 *60-41-2 +07778170000 778179778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 6010 Kriens 041 206 36 36 *60-41-2 LUKBCH2260F +07778180000 778187778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 281 6048 Horw 041 206 39 39 *60-41-2 LUKBCH2260M +07778190000 778195778 220010526111Luzerner KB Luzerner Kantonalbank Löwenplatz Postfach 1985 6000 Luzern 6 041 206 37 00 *60-41-2 LUKBCH22XXX +07778200000 778205778 220031106111Luzerner KB Luzerner Kantonalbank Postfach 1357 6030 Ebikon 041 206 75 75 *60-41-2 LUKBCH2260K +07778200001 778205778 319970704111Luzerner KB Luzerner Kantonalbank Postfach 49 6037 Root 041 206 73 73 *60-41-2 +07778210000 778210778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 6045 Meggen 041 206 44 44 *60-41-2 LUKBCH2260L +07778220000 778221778 220010526111Luzerner KB Luzerner Kantonalbank Schönbühl Postfach 93 6000 Luzern 14 041 206 34 34 *60-41-2 LUKBCH22XXX +07778230000 778236778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 141 6014 Littau 041 206 38 38 *60-41-2 LUKBCH2260S +07778240000 778244778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 265 6110 Wolhusen 041 206 64 64 *60-41-2 LUKBCH2261B +07778250000 778252778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 33 6215 Beromünster 041 206 50 50 *60-41-2 LUKBCH2262D +07778260000 778268778 220020406111Luzerner KB Luzerner Kantonalbank Hauptstrasse 31 Postfach 6170 Schüpfheim 041 206 62 62 *60-41-2 LUKBCH2261F +07778270000 778273778 220010526111Luzerner KB Luzerner Kantonalbank 6274 Eschenbach LU 041 206 48 48 *60-41-2 LUKBCH2262L +07778280000 778289778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 6285 Hitzkirch 041 206 47 47 *60-41-2 LUKBCH2262M +07778290000 778297778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 95 6204 Sempach Stadt 041 206 70 70 *60-41-2 LUKBCH2262A +07778600000 778606778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 319 6017 Ruswil 041 206 61 61 *60-41-2 LUKBCH2260V +07778660000 778667778 220010526111Luzerner KB Luzerner Kantonalbank Postfach 6275 Ballwil 041 206 48 48 *60-41-2 LUKBCH2262L +07779 0000 007796779 120000426111NWKB Nidwaldner Kantonalbank Stansstaderstrasse 54 Postfach 6371 Stans 041 619 22 22 041 619 22 25 60-14-3 NIKACH21XXX +07779 0001 007796779 320000426111NWKB Nidwaldner Kantonalbank Dorfstrasse 47 Postfach 6375 Beckenried 041 624 49 10 041 624 49 11 *60-14-3 NIKACH21XXX +07779 0002 007796779 320000426111NWKB Nidwaldner Kantonalbank Beckenriederstrasse 7 Postfach 6374 Buochs 041 624 49 20 041 624 49 21 *60-14-3 NIKACH21XXX +07779 0003 007796779 320000426111NWKB Nidwaldner Kantonalbank Stanserstrasse 4 Postfach 6373 Ennetbürgen 041 624 49 60 041 624 49 61 *60-14-3 NIKACH21XXX +07779 0004 007796779 320000426111NWKB Nidwaldner Kantonalbank EKZ Länderpark Postfach 6371 Stans 041 619 18 50 041 619 18 51 *60-14-3 NIKACH21XXX +07779 0005 007796779 320000426111NWKB Nidwaldner Kantonalbank Stanserstrasse 10 Postfach 6362 Stansstad 041 619 18 30 041 619 18 31 *60-14-3 NIKACH21XXX +07779 0006 007796779 320000426111NWKB Nidwaldner Kantonalbank Hauptstrasse 20 Postfach 6386 Wolfenschiessen 041 629 70 40 041 629 70 41 *60-14-3 NIKACH21XXX +07779110000 779114779 220000426111NWKB Nidwaldner Kantonalbank Seestrasse 25 Postfach 6052 Hergiswil NW 041 632 54 54 041 632 54 55 *60-14-3 NIKACH21XXX +07780 0000 007808780 120010705111OWKB Obwaldner Kantonalbank Postfach 6061 Sarnen 1 041 666 22 11 041 666 22 60 60-9-9 OBWKCH21XXX +07780 0001 007808780 319990427111OWKB Obwaldner Kantonalbank Postfach 6055 Alpnach Dorf 041 671 02 31 041 670 28 05 *60-9-9 +07780 0002 007808780 320010705111OWKB Obwaldner Kantonalbank Postfach 6391 Engelberg 041 639 50 40 041 639 50 41 *60-9-9 +07780 0003 007808780 319990427111OWKB Obwaldner Kantonalbank Postfach 6074 Giswil 041 675 28 30 041 675 25 47 *60-9-9 +07780 0004 007808780 319990427111OWKB Obwaldner Kantonalbank Postfach 6064 Kerns 041 666 06 66 041 660 85 55 *60-9-9 +07780 0005 007808780 319990427111OWKB Obwaldner Kantonalbank Postfach 6078 Lungern 041 678 11 53 041 678 22 81 *60-9-9 +07780 0006 007808780 319990427111OWKB Obwaldner Kantonalbank Postfach 6072 Sachseln 041 660 56 80 041 660 82 22 *60-9-9 +07780 0007 007808780 320010705111OWKB Obwaldner Kantonalbank Lindenhof 6061 Sarnen 1 041 666 22 55 041 660 16 23 *60-9-9 +07780 0009 007808780 320010808111OWKB Obwaldner Kantonalbank Sarnen-Center 6061 Sarnen 1 041 666 21 61 041 660 21 11 *60-9-9 +07781 0000 007813781 120000701111SG KB St. Galler Kantonalbank Postfach 9001 St. Gallen 071 231 31 31 071 231 32 32 90-219-8 KBSGCH22XXX +07781 0001 007813781 319990427111SG KB St. Galler Kantonalbank Postfach 9302 Kronbühl 071 298 45 45 071 298 45 31 *90-219-8 KBSGCH22XXX +07781 0003 007813781 319990427111SG KB St. Galler Kantonalbank Postfach 9100 Herisau 071 354 85 11 071 351 10 15 *90-219-8 KBSGCH22XXX +07781020000 781024781 220000701111SG KB St. Galler Kantonalbank Neudorf Postfach 9016 St. Gallen 071 288 01 88 071 288 18 04 *90-219-8 KBSGCH22XXX +07781030000 781032781 220000701111SG KB St. Galler Kantonalbank Bruggen Postfach 9014 St. Gallen 071 231 34 00 071 231 39 51 *90-219-8 KBSGCH22XXX +07781110000 781112781 220000701111SG KB St. Galler Kantonalbank Postfach 9450 Altstätten SG 071 755 01 26 071 755 54 83 *90-219-8 KBSGCH22XXX +07781110001 781112781 319990427111SG KB St. Galler Kantonalbank Postfach 9463 Oberriet SG 071 761 24 24 071 761 35 53 *90-219-8 KBSGCH22XXX +07781120000 781128781 220010706111SG KB St. Galler Kantonalbank Postfach 7310 Bad Ragaz 081 303 42 00 081 303 42 42 *90-219-8 KBSGCH22XXX +07781130000 781133781 220000701111SG KB St. Galler Kantonalbank Postfach 9470 Buchs SG 081 756 36 66 081 756 55 14 *90-219-8 KBSGCH22XXX +07781130001 781133781 320010706111SG KB St. Galler Kantonalbank Postfach 9475 Sevelen 081 783 10 11 081 750 14 15 *90-219-8 KBSGCH22XXX +07781130002 781133781 320010706111SG KB St. Galler Kantonalbank Postfach 9478 Azmoos 081 783 10 11 081 750 24 10 *90-219-8 KBSGCH22XXX +07781140000 781149781 220000701111SG KB St. Galler Kantonalbank Postfach 9113 Degersheim 071 371 14 22 071 371 10 01 *90-219-8 KBSGCH22XXX +07781150000 781157781 220000701111SG KB St. Galler Kantonalbank Postfach 8887 Mels 081 723 01 81 081 723 82 49 *90-219-8 KBSGCH22XXX +07781160000 781165781 220000701111SG KB St. Galler Kantonalbank Postfach 8640 Rapperswil SG 055 222 74 11 055 222 74 28 *90-219-8 KBSGCH22XXX +07781160001 781165781 320010706111SG KB St. Galler Kantonalbank Postfach 8733 Eschenbach SG 055 282 20 01 055 286 46 16 *90-219-8 KBSGCH22XXX +07781170000 781170781 220010511111SG KB St. Galler Kantonalbank Postfach 9400 Rorschach 071 844 27 27 071 841 29 36 *90-219-8 KBSGCH22XXX +07781180000 781181781 220000701111SG KB St. Galler Kantonalbank Postfach 9630 Wattwil 071 988 42 42 071 988 21 03 *90-219-8 KBSGCH22XXX +07781190000 781196781 220010222111SG KB St. Galler Kantonalbank Postfach 9501 Wil SG 1 071 913 62 06 071 913 62 11 *90-219-8 KBSGCH22XXX +07781190001 781196781 320010706111SG KB St. Galler Kantonalbank Postfach 9602 Bazenheid 071 931 24 24 071 932 52 01 *90-219-8 KBSGCH22XXX +07781190003 781196781 320010221111SG KB St. Galler Kantonalbank Südquartier Postfach 9500 Wil SG 071 923 77 66 071 912 22 48 *90-219-8 KBSGCH22XXX +07781200000 781208781 220000701111SG KB St. Galler Kantonalbank Postfach 9230 Flawil 071 393 15 25 071 393 66 42 *90-219-8 KBSGCH22XXX +07781210000 781213781 220000701111SG KB St. Galler Kantonalbank Postfach 9473 Gams 081 771 11 41 081 771 35 43 *90-219-8 KBSGCH22XXX +07781220000 781229781 220000701111SG KB St. Galler Kantonalbank Postfach 9201 Gossau SG 071 385 20 20 071 385 96 37 *90-219-8 KBSGCH22XXX +07781230000 781237781 220000701111SG KB St. Galler Kantonalbank Postfach 9435 Heerbrugg 071 722 55 55 071 722 71 38 *90-219-8 KBSGCH22XXX +07781230001 781237781 319990507111SG KB St. Galler Kantonalbank Postfach 9444 Diepoldsau 071 733 77 11 071 733 22 34 *90-219-8 KBSGCH22XXX +07781230002 781237781 319990427111SG KB St. Galler Kantonalbank Postfach 9434 Au SG 071 744 42 42 071 744 42 83 *90-219-8 KBSGCH22XXX +07781240000 781245781 220000701111SG KB St. Galler Kantonalbank Postfach 9424 Rheineck 071 888 52 88 071 888 52 37 *90-219-8 KBSGCH22XXX +07781250000 781250781 220010706111SG KB St. Galler Kantonalbank Postfach 9430 St. Margrethen SG 071 744 01 51 071 744 29 69 *90-219-8 KBSGCH22XXX +07781260000 781261781 220000701111SG KB St. Galler Kantonalbank Postfach 8730 Uznach 055 285 93 41 055 280 41 71 *90-219-8 KBSGCH22XXX +07781260002 781261781 319990427111SG KB St. Galler Kantonalbank Postfach 8718 Schänis 055 619 50 11 055 615 36 56 *90-219-8 KBSGCH22XXX +07781270000 781276781 220010706111SG KB St. Galler Kantonalbank Postfach 9240 Uzwil 071 955 49 49 071 951 80 36 *90-219-8 KBSGCH22XXX +07781280000 781284781 220000701111SG KB St. Galler Kantonalbank Postfach 8880 Walenstadt 081 735 16 22 081 735 29 37 *90-219-8 KBSGCH22XXX +07781280001 781284781 319990427111SG KB St. Galler Kantonalbank Postfach 8890 Flums 081 733 22 23 081 733 32 61 *90-219-8 KBSGCH22XXX +07781290000 781292781 220000701111SG KB St. Galler Kantonalbank Postfach 9650 Nesslau 071 994 14 22 071 994 22 25 *90-219-8 KBSGCH22XXX +07781300000 781300781 220000701111SG KB St. Galler Kantonalbank Postfach 7320 Sargans 081 723 11 43 081 723 83 26 *90-219-8 KBSGCH22XXX +07781310000 781311781 220000701111SG KB St. Galler Kantonalbank Postfach 9403 Goldach 071 844 28 28 071 841 34 14 *90-219-8 KBSGCH22XXX +07781320000 781326781 220000701111SG KB St. Galler Kantonalbank Postfach 9642 Ebnat-Kappel 071 993 26 26 071 993 32 08 *90-219-8 KBSGCH22XXX +07781580000 781586781 220010628111SG KB St. Galler Kantonalbank Zentrale Postfach 9001 St. Gallen 071 231 31 31 071 231 32 32 *90-219-8 KBSGCH22XXX +07782 0000 007829782 119990427111SHKB Schaffhauser Kantonalbank Vorstadt 53 Postfach 8201 Schaffhausen 052 635 22 22 052 625 38 48 82-50-5 SHKBCH2SXXX +07782 0001 007829782 320010714111SHKB Schaffhauser Kantonalbank Bahnhofstrasse 297 Postfach 8262 Ramsen 052 742 84 00 052 743 14 48 *82-50-5 SHKBCH2SXXX +07782 0002 007829782 320010720111SHKB Schaffhauser Kantonalbank Fronwagplatz 3 Postfach 8201 Schaffhausen 052 625 46 96 *82-50-5 SHKBCH2SXXX +07782 0003 007829782 320010714111SHKB Schaffhauser Kantonalbank Bahnhofstrasse 1 Postfach 8240 Thayngen 052 645 36 00 052 649 27 60 *82-50-5 SHKBCH2SXXX +07782120000 782123782 220010714111SHKB Schaffhauser Kantonalbank Wildenstrasse 6 Postfach 8212 Neuhausen am Rheinfall 052 675 30 00 052 672 46 10 82-142-3 SHKBCH2SXXX +07782130000 782139782 220010714111SHKB Schaffhauser Kantonalbank Rathausplatz 4 Postfach 8260 Stein am Rhein 052 742 35 00 052 741 39 00 82-814-2 SHKBCH2SXXX +07784 0000 007845784 120030409111KBTG Thurgauer Kantonalbank Postfach 8570 Weinfelden 0848 111 444 0848 111 445 85-123-0 KBTGCH22XXX +07784 0001 007845784 320010623111KBTG Thurgauer Kantonalbank Postfach 9556 Affeltrangen 071 627 70 41 071 627 70 42 *85-123-0 +07784 0002 007845784 320010623111KBTG Thurgauer Kantonalbank Postfach 8572 Berg TG 071 627 71 31 071 627 71 32 *85-123-0 +07784 0003 007845784 320010623111KBTG Thurgauer Kantonalbank Postfach 8575 Bürglen TG 071 627 71 11 071 627 71 12 *85-123-0 +07784110000 784117784 220010101111KBTG Thurgauer Kantonalbank Postfach 8580 Amriswil 071 414 22 22 071 414 21 21 *85-123-0 KBTGCH2285D +07784110001 784117784 320010623111KBTG Thurgauer Kantonalbank Postfach 8586 Erlen 071 627 71 41 071 627 71 42 *85-123-0 +07784120000 784125784 220030418111KBTG Thurgauer Kantonalbank Postfach 9320 Arbon 0848 111 444 0848 111 445 *85-123-0 KBTGCH2293B +07784120001 784125784 320010623111KBTG Thurgauer Kantonalbank Postfach 9326 Horn 071 627 70 11 071 627 70 12 *85-123-0 +07784130000 784130784 220010623111KBTG Thurgauer Kantonalbank Postfach 9220 Bischofszell 071 424 23 23 071 424 23 24 *85-123-0 KBTGCH2292B +07784140000 784141784 220010526111KBTG Thurgauer Kantonalbank Postfach 8253 Diessenhofen 052 646 43 43 052 646 43 44 *85-123-0 KBTGCH22XXX +07784150000 784156784 220010101111KBTG Thurgauer Kantonalbank Postfach 8501 Frauenfeld 052 728 51 51 052 728 52 52 *85-123-0 KBTGCH2285A +07784150001 784156784 320010623111KBTG Thurgauer Kantonalbank Postfach 9545 Wängi 052 728 50 11 052 728 50 12 *85-123-0 +07784160000 784164784 220010623111KBTG Thurgauer Kantonalbank Postfach 8280 Kreuzlingen 1 071 678 31 30 071 678 31 31 *85-123-0 KBTGCH2282P +07784160002 784164784 320010623111KBTG Thurgauer Kantonalbank Postfach 8274 Tägerwilen 071 678 30 41 071 678 30 42 *85-123-0 +07784170000 784172784 220010101111KBTG Thurgauer Kantonalbank Postfach 8590 Romanshorn 1 071 466 86 86 071 466 86 87 *85-123-0 KBTGCH2285F +07784170001 784172784 320010623111KBTG Thurgauer Kantonalbank Postfach 9315 Neukirch (Egnach) 071 627 70 21 071 627 70 22 *85-123-0 +07784180000 784188784 220010101111KBTG Thurgauer Kantonalbank Postfach 8370 Sirnach 071 969 39 39 071 969 39 40 *85-123-0 KBTGCH2283L +07784180001 784188784 320010623111KBTG Thurgauer Kantonalbank Postfach 8360 Eschlikon TG 071 627 70 51 071 627 70 52 *85-123-0 +07784180002 784188784 320010623111KBTG Thurgauer Kantonalbank Postfach 9532 Rickenbach b. Wil 071 627 70 61 071 627 70 62 *85-123-0 +07784190000 784193784 220010623111KBTG Thurgauer Kantonalbank Postfach 8266 Steckborn 052 762 28 28 052 762 28 29 *85-123-0 KBTGCH2282M +07784200000 784201784 220010526111KBTG Thurgauer Kantonalbank Postfach 8355 Aadorf 052 368 47 47 052 368 47 48 *85-123-0 KBTGCH22XXX +07784210000 784216784 220010526111KBTG Thurgauer Kantonalbank Hauptstrasse 121 Postfach 169 8272 Ermatingen 071 663 36 36 071 663 36 37 *85-123-0 KBTGCH22XXX +07784220000 784224784 220010623111KBTG Thurgauer Kantonalbank Postfach 8555 Müllheim Dorf 052 762 80 80 052 762 80 81 *85-123-0 KBTGCH22XXX +07784220001 784224784 320010623111KBTG Thurgauer Kantonalbank Postfach 8556 Wigoltingen 052 728 50 31 052 728 50 32 *85-123-0 +07784230000 784232784 220010526111KBTG Thurgauer Kantonalbank Postfach 8583 Sulgen 071 644 82 82 071 644 82 83 *85-123-0 KBTGCH22XXX +07784240000 784248784 220010623111KBTG Thurgauer Kantonalbank Postfach 9542 Münchwilen TG 071 969 59 59 071 969 59 60 *85-123-0 KBTGCH22XXX +07785 0000 007850785 120020911111UKB Urner Kantonalbank Postfach 6460 Altdorf UR 041 875 60 00 041 875 63 13 60-34-8 URKNCH22XXX +07785 0001 007850785 320020911111UKB Urner Kantonalbank Postfach 6490 Andermatt 041 887 02 12 041 887 02 30 *60-34-8 URKNCH22XXX +07785 0002 007850785 320020911111UKB Urner Kantonalbank Postfach 6463 Bürglen UR 041 870 32 33 041 871 02 32 *60-34-8 URKNCH22XXX +07785 0003 007850785 320020911111UKB Urner Kantonalbank Postfach 6472 Erstfeld 041 880 21 31 041 880 00 31 *60-34-8 URKNCH22XXX +07785 0004 007850785 320020911111UKB Urner Kantonalbank Postfach 6467 Schattdorf 041 874 00 40 041 870 52 86 *60-34-8 URKNCH22XXX +07787 0000 007876787 119990427111ZGKB Zuger Kantonalbank Postfach 6301 Zug 041 709 11 11 041 709 15 55 80-192-9 KBZGCH22XXX +07787 0001 007876787 319990507111ZGKB Zuger Kantonalbank Postfach 6341 Baar 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0002 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6330 Cham 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0003 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6331 Hünenberg 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0004 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6313 Menzingen 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0005 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6345 Neuheim 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0006 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6315 Oberägeri 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0007 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6343 Rotkreuz 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0008 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6312 Steinhausen 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0009 007876787 319990427111ZGKB Zuger Kantonalbank EKZ Zugerland Postfach 6312 Steinhausen 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0010 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6314 Unterägeri 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0011 007876787 319990427111ZGKB Zuger Kantonalbank Postfach 6318 Walchwil 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0012 007876787 319990427111ZGKB Zuger Kantonalbank Herti Postfach 6300 Zug 3 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07787 0013 007876787 319990427111ZGKB Zuger Kantonalbank Neustadt Postfach 6301 Zug 041 709 11 11 041 709 15 55 *80-192-9 KBZGCH22XXX +07788 0000 007884788 120000407112BCGE Banque Cantonale de Genève Case postale 2251 1211 Genève 2 022 317 27 27 022 809 23 45 12-1-2 BCGECHGGXXX +07789 0000 007892789 120041027112BCJ Banque Cantonale du Jura Case postale 278 2900 Porrentruy 2 032 465 13 01 032 465 14 91 25-63-7 BCJUCH22XXX +07789 0001 007892789 320000415112BCJ Banque Cantonale du Jura Case postale 2942 Alle 032 471 32 75 032 471 32 76 *25-63-7 BCJUCH22XXX +07789 0002 007892789 320000415112BCJ Banque Cantonale du Jura Case postale 2926 Boncourt 032 475 62 08 032 475 62 09 *25-63-7 BCJUCH22XXX +07789 0003 007892789 320000428112BCJ Banque Cantonale du Jura Case postale 2950 Courgenay 032 471 32 78 032 471 32 80 *25-63-7 BCJUCH22XXX +07789 0004 007892789 320000428112BCJ Banque Cantonale du Jura Gare Case postale 2900 Porrentruy 032 467 12 77 032 467 12 79 *25-63-7 BCJUCH22XXX +07789 0005 007892789 320000415112BCJ Banque Cantonale du Jura Case postale 2882 St-Ursanne 032 461 32 44 032 461 32 52 *25-63-7 BCJUCH22XXX +07789100000 789108789 220000415102BCJ Banque Cantonale du Jura Case postale 2800 Delémont 1 032 421 15 01 032 421 15 99 25-298-4 BCJUCH22XXX +07789100001 789108789 320000415102BCJ Banque Cantonale du Jura Case postale 2854 Bassecourt 032 426 42 25 032 426 42 26 *25-298-4 BCJUCH22XXX +07789100002 789108789 320000415102BCJ Banque Cantonale du Jura Case postale 2830 Courrendlin 032 435 72 11 032 435 72 16 *25-298-4 BCJUCH22XXX +07789100003 789108789 320000415102BCJ Banque Cantonale du Jura Case postale 2822 Courroux 032 423 52 35 032 423 52 36 *25-298-4 BCJUCH22XXX +07789100004 789108789 320000415102BCJ Banque Cantonale du Jura Ville Case postale 2800 Delémont 2 032 423 52 62 032 423 52 63 *25-298-4 BCJUCH22XXX +07789200000 789200789 219991217102BCJ Banque Cantonale du Jura Case postale 2350 Saignelégier 032 952 16 01 032 952 16 99 23-261-5 BCJUCH22XXX +07789200001 789200789 320000428102BCJ Banque Cantonale du Jura Case postale 2340 Noirmont, Le 032 953 22 10 032 953 22 12 *23-261-5 BCJUCH22XXX +07790 0000 007900790 120011208111BEKB / BCBE Berner Kantonalbank Postfach 3001 Bern 031 666 11 11 30-106-9 KBBECH22XXX +07790 0001 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3123 Belp 031 812 45 40 *30-106-9 +07790 0003 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3063 Ittigen 031 918 45 60 *30-106-9 +07790 0004 007900790 320010803111BEKB / BCBE Berner Kantonalbank Stapfenstrasse 1 3098 Köniz 031 974 45 70 *30-106-9 +07790 0005 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3177 Laupen BE 031 748 45 90 *30-106-9 +07790 0006 007900790 320010720111BEKB / BCBE Berner Kantonalbank Postfach 3110 Münsingen 031 722 46 00 *30-106-9 +07790 0007 007900790 320010720111BEKB / BCBE Berner Kantonalbank Postfach 3074 Muri b. Bern 031 954 46 10 *30-106-9 +07790 0008 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3072 Ostermundigen 1 031 939 46 60 *30-106-9 +07790 0010 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3150 Schwarzenburg 031 732 46 20 *30-106-9 +07790 0011 007900790 320010720111BEKB / BCBE Berner Kantonalbank Altstadt Postfach 3011 Bern 031 318 49 10 *30-106-9 +07790 0012 007900790 320010720111BEKB / BCBE Berner Kantonalbank Breitenrain Postfach 3014 Bern 031 348 45 00 *30-106-9 +07790 0013 007900790 320010720111BEKB / BCBE Berner Kantonalbank Bümpliz Postfach 3018 Bern 031 994 45 30 *30-106-9 +07790 0014 007900790 320010720111BEKB / BCBE Berner Kantonalbank Eigerplatz Postfach 3007 Bern 031 376 46 10 *30-106-9 +07790 0015 007900790 320010720111BEKB / BCBE Berner Kantonalbank Inselspital Postfach 3010 Bern 031 398 45 20 *30-106-9 +07790 0016 007900790 319990427111BEKB / BCBE Berner Kantonalbank Schwanengasse Postfach 3001 Bern 031 666 11 11 *30-106-9 +07790 0017 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3065 Bolligen 031 918 45 50 *30-106-9 +07790 0018 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3084 Wabern 031 964 46 30 *30-106-9 +07790 0019 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3076 Worb 031 832 46 40 *30-106-9 +07790 0020 007900790 320001229111BEKB / BCBE Berner Kantonalbank Postfach 3052 Zollikofen 031 914 46 50 *30-106-9 +07790050000 790058790 220011206112BEKB / BCBE Banque Cantonale Bernoise Case postale 290 2610 St-Imier 032 942 34 23 *30-106-9 +07790050001 790058790 319971022112BEKB / BCBE Banque Cantonale Bernoise Case postale 2606 Corgémont 032 489 25 15 *30-106-9 +07790100000 790105790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 2501 Biel/Bienne 032 327 47 47 *30-106-9 +07790100001 790105790 319990428111BEKB / BCBE Berner Kantonalbank Bözingen Postfach 2500 Biel/Bienne 6 032 342 42 56 *30-106-9 +07790100002 790105790 319990428111BEKB / BCBE Berner Kantonalbank Mett Postfach 2500 Biel/Bienne 8 032 342 44 55 *30-106-9 +07790100003 790105790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3294 Büren an der Aare 032 351 57 57 *30-106-9 +07790100004 790105790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3232 Ins 032 312 96 20 *30-106-9 +07790100005 790105790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 2560 Nidau 032 331 82 51 *30-106-9 +07790100006 790105790 319990427111BEKB / BCBE Berner Kantonalbank Postfach 2552 Orpund 032 355 22 22 *30-106-9 +07790100007 790105790 319990427111BEKB / BCBE Berner Kantonalbank Postfach 2542 Pieterlen 032 372 15 30 *30-106-9 +07790100008 790105790 320010720111BEKB / BCBE Berner Kantonalbank Hauptstrasse 14 4500 Solothurn 032 621 09 88 *30-106-9 +07790110000 790110790 220011206102BEKB / BCBE Banque Cantonale Bernoise Case postale 2520 Neuveville, La 032 752 35 23 *30-106-9 +07790120000 790121790 220011206101BEKB / BCBE Berner Kantonalbank Postfach 2543 Lengnau BE 032 653 84 50 *30-106-9 +07790150000 790152790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 3250 Lyss 032 387 85 11 *30-106-9 +07790150001 790152790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3270 Aarberg 032 392 42 14 *30-106-9 +07790150002 790152790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3255 Rapperswil BE 031 879 12 22 *30-106-9 +07790150003 790152790 319990427111BEKB / BCBE Berner Kantonalbank Postfach 3054 Schüpfen 031 879 22 82 *30-106-9 +07790200000 790202790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 3401 Burgdorf 034 428 41 11 *30-106-9 +07790200001 790202790 319971022111BEKB / BCBE Berner Kantonalbank Alchenflüh Postfach 3422 Kirchberg BE 034 445 58 11 *30-106-9 +07790200002 790202790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3425 Koppigen 034 413 03 03 *30-106-9 +07790200003 790202790 319980403111BEKB / BCBE Berner Kantonalbank Postfach 3427 Utzenstorf 032 665 46 44 *30-106-9 +07790250000 790255790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 3601 Thun 033 227 11 11 *30-106-9 +07790250002 790255790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3672 Oberdiessbach 031 771 05 97 *30-106-9 +07790250003 790255790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3662 Seftigen 033 345 11 61 *30-106-9 +07790250004 790255790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3612 Steffisburg 1 033 437 54 12 *30-106-9 +07790250005 790255790 319971022111BEKB / BCBE Berner Kantonalbank Marktgasse Postfach 3601 Thun 033 227 11 11 *30-106-9 +07790250007 790255790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3665 Wattenwil 033 356 16 55 *30-106-9 +07790250008 790255790 319990427111BEKB / BCBE Berner Kantonalbank Postfach 3655 Sigriswil 033 251 02 30 *30-106-9 +07790250009 790255790 319990427111BEKB / BCBE Berner Kantonalbank Postfach 3654 Gunten 033 251 01 30 *30-106-9 +07790250010 790255790 319990427111BEKB / BCBE Berner Kantonalbank Postfach 3626 Hünibach 033 243 05 30 *30-106-9 +07790250011 790255790 320010720111BEKB / BCBE Berner Kantonalbank Postfach 3658 Merligen 033 251 03 10 *30-106-9 +07790300000 790303790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 3700 Spiez 033 655 55 55 *30-106-9 +07790300001 790303790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3718 Kandersteg 033 675 15 48 *30-106-9 +07790300002 790303790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3775 Lenk im Simmental 033 733 18 14 *30-106-9 +07790300003 790303790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3753 Oey 033 681 80 12 *30-106-9 +07790300004 790303790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3752 Wimmis 033 657 26 26 *30-106-9 +07790310000 790319790 220011206101BEKB / BCBE Berner Kantonalbank Postfach 3780 Gstaad 033 748 74 44 *30-106-9 +07790310002 790319790 320001229101BEKB / BCBE Berner Kantonalbank Postfach 3778 Schönried 033 744 52 11 *30-106-9 +07790320000 790327790 220011206101BEKB / BCBE Berner Kantonalbank Postfach 3715 Adelboden 033 673 71 71 *30-106-9 +07790350000 790351790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 4901 Langenthal 062 916 25 25 *30-106-9 +07790350001 790351790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 4914 Roggwil BE 062 929 28 88 *30-106-9 +07790450000 790454790 220011206112BEKB / BCBE Banque Cantonale Bernoise Case postale 2740 Moutier 032 494 62 00 *30-106-9 +07790460000 790462790 220011206102BEKB / BCBE Banque Cantonale Bernoise Case postale 2735 Malleray 032 492 18 10 *30-106-9 +07790500000 790506790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 3800 Interlaken 033 826 61 31 *30-106-9 +07790500001 790506790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3803 Beatenberg 033 841 14 44 *30-106-9 +07790500002 790506790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3855 Brienz BE 033 951 20 53 *30-106-9 +07790500003 790506790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3825 Mürren 033 855 20 76 *30-106-9 +07790500004 790506790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3800 Unterseen 033 826 62 80 *30-106-9 +07790500005 790506790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3823 Wengen 033 855 12 18 *30-106-9 +07790510000 790514790 220011206101BEKB / BCBE Berner Kantonalbank Postfach 3818 Grindelwald 033 854 13 31 *30-106-9 +07790520000 790522790 220011206101BEKB / BCBE Berner Kantonalbank Postfach 3860 Meiringen 033 971 36 16 *30-106-9 +07790520001 790522790 319971022101BEKB / BCBE Berner Kantonalbank Postfach 6084 Hasliberg Wasserwendi 033 971 33 45 *30-106-9 +07790550000 790559790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 3360 Herzogenbuchsee 062 956 65 11 *30-106-9 +07790550001 790559790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 4704 Niederbipp 032 633 23 44 *30-106-9 +07790550003 790559790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3380 Wangen an der Aare 032 631 27 77 *30-106-9 +07790550004 790559790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 4537 Wiedlisbach 032 636 10 70 *30-106-9 +07790650000 790656790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 3550 Langnau im Emmental 034 408 30 30 *30-106-9 +07790650001 790656790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3506 Grosshöchstetten 031 711 24 25 *30-106-9 +07790650002 790656790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3510 Konolfingen 031 791 02 47 *30-106-9 +07790650003 790656790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 3436 Zollbrück 034 496 81 08 *30-106-9 +07790700000 790701790 220011206112BEKB / BCBE Banque Cantonale Bernoise Case postale 2720 Tramelan 032 486 88 10 *30-106-9 +07790700001 790701790 319971022112BEKB / BCBE Banque Cantonale Bernoise Case postale 2732 Reconvilier 032 481 42 33 *30-106-9 +07790710000 790716790 220011206102BEKB / BCBE Banque Cantonale Bernoise Case postale 2710 Tavannes 032 481 23 40 *30-106-9 +07790750000 790753790 220011206111BEKB / BCBE Berner Kantonalbank Postfach 4950 Huttwil 062 959 92 50 *30-106-9 +07790750001 790753790 319971022111BEKB / BCBE Berner Kantonalbank Postfach 4936 Kleindietwil 062 965 11 20 *30-106-9 +07790750002 790753790 320000428111BEKB / BCBE Berner Kantonalbank Bahnhof Sumiswald-Grünen 3455 Grünen 034 431 51 35 *30-106-9 +07790850000 790857790 220021228111BEKB / BCBE Berner Kantonalbank Gurzelngasse 24 4500 Solothurn 032 626 31 40 032 621 83 63 *30-106-9 +07790950000 790950790 220011201111BEKB / BCBE Berner Kantonalbank BEKB/BCBE net Postfach 3001 Bern 031 666 11 11 *30-106-9 +07795 0000 007958790 219990501101SBTCC Swiss Bankers Travellers Cheque Centre Kramgasse 4 Postfach 3506 Grosshöchstetten 031 710 11 11 031 710 12 00 30-254-1 SWBTCH21XXX +08800000000 80000180000119980116111Raiffeisen Schweizer Verband der Raiffeisenbanken Postfach 9001 St. Gallen 071 225 88 88 071 225 88 87 90-970-5 RAIFCH22XXX +08800020000 80002480000220010726112Raiffeisen Banque Raiffeisen Région Delémont Rte de Châtillon 8 2830 Courrendlin 032 435 61 14 032 435 70 76 25-2133-0 RAIFCH22XXX +08800020003 80002480000319990427112Raiffeisen Banque Raiffeisen Région Delémont 2800 Delémont 032 423 03 17 032 423 03 19 *25-2133-0 RAIFCH22XXX +08800040000 80004880000220040225112Raiffeisen Banque Raiffeisen de La Haute-Sorne Rue de la poste 10 Case postale 114 2853 Courfaivre 032 427 36 00 032 426 83 88 25-12975-2 RAIFCH22XXX +08800040001 80004880000320000420112Raiffeisen Banque Raiffeisen de La Haute-Sorne 2856 Boécourt 032 426 56 54 032 426 50 75 *25-12975-2 RAIFCH22XXX +08800040003 80004880000320000420112Raiffeisen Banque Raiffeisen de La Haute-Sorne 2863 Undervelier 032 426 57 33 032 426 61 57 *25-12975-2 RAIFCH22XXX +08800040004 80004880000320000420112Raiffeisen Banque Raiffeisen de La Haute-Sorne 2855 Glovelier 032 426 62 57 032 426 81 56 *25-12975-2 RAIFCH22XXX +08800040005 80004880000320011228112Raiffeisen Banque Raiffeisen de La Haute-Sorne Rue du Col. Hoffmeyer 16 Case postale 153 2854 Bassecourt 032 426 45 61 032 426 45 62 *25-12975-2 RAIFCH22XXX +08800050000 80005380000220021003111Raiffeisen Raiffeisenbank St. Gallen Vadianstrasse 17 Postfach 9001 St. Gallen 071 226 60 00 071 226 60 80 90-788788-7 RAIFCH22XXX +08800050001 80005380000320030315111Raiffeisen Raiffeisenbank St. Gallen Langgasse 16 9008 St. Gallen 071 245 50 30 071 226 60 83 *90-788788-7RAIFCH22XXX +08800070000 80007780000220020315112Raiffeisen Banque Raiffeisen du Vallon de St-Imier Rue B.-Savoye 68 Case postale 238 2610 St-Imier 032 941 33 00 032 941 38 71 23-2830-4 RAIFCH22XXX +08800070001 80007780000320000420112Raiffeisen Banque Raiffeisen du Vallon de St-Imier 2608 Courtelary 032 944 10 22 032 944 20 22 *23-2830-4 RAIFCH22XXX +08800070003 80007780000320000420112Raiffeisen Banque Raiffeisen du Vallon de St-Imier 2616 Renan BE 032 963 15 85 032 963 14 50 *23-2830-4 RAIFCH22XXX +08800080000 80008580000220010803112Raiffeisen Banque Raiffeisen de Courtételle-Develier Rue Préfet-Comte 11 2852 Courtételle 032 423 36 53 032 422 72 04 25-1701-4 RAIFCH22XXX +08800080002 80008580000320000426112Raiffeisen Banque Raiffeisen de Courtételle-Develier 2802 Develier 032 423 50 33 032 423 50 35 *25-1701-4 RAIFCH22XXX +08800100000 80010480000219980514112Raiffeisen Banque Raiffeisen Epis d'Ajoie Case postale 8 2942 Alle 032 471 25 15 032 471 20 26 25-3369-9 RAIFCH22XXX +08800100001 80010480000320000420112Raiffeisen Banque Raiffeisen Epis d'Ajoie 2943 Vendlincourt 032 474 49 18 032 474 49 18 *25-3369-9 RAIFCH22XXX +08800100002 80010480000320031018112Raiffeisen Banque Raiffeisen Epis d'Ajoie 2932 Coeuve 032 466 79 29 032 466 79 29 *25-3369-9 RAIFCH22XXX +08800140000 80014980000220040722112Raiffeisen Banque Raiffeisen du Haut-Doubs Les Bois, rue Guillaume-Triponez 21 2336 Bois, Les 032 961 13 57 032 961 17 83 23-3961-1 RAIFCH22XXX +08800140001 80014980000320020530112Raiffeisen Banque Raiffeisen du Haut-Doubs Au Village 2333 Ferrière, La 032 961 16 60 *23-3961-1 RAIFCH22XXX +08800140002 80014980000320000426112Raiffeisen Banque Raiffeisen du Haut-Doubs 2340 Noirmont, Le 032 953 14 14 032 953 13 85 *23-3961-1 RAIFCH22XXX +08800150000 80015780000220010803112Raiffeisen Banque Raiffeisen de l'Allaine Centre "Allaine" 2926 Boncourt 032 475 54 79 032 475 59 61 25-6640-5 RAIFCH22XXX +08800150001 80015780000320010218112Raiffeisen Banque Raiffeisen de l'Allaine 2925 Buix 032 475 61 40 032 475 50 26 *25-6640-5 RAIFCH22XXX +08800150002 80015780000320010218112Raiffeisen Banque Raiffeisen de l'Allaine 2923 Courtemaîche 032 466 61 16 032 466 16 11 *25-6640-5 RAIFCH22XXX +08800150003 80015780000320010218112Raiffeisen Banque Raiffeisen de l'Allaine 2924 Montignez 032 475 54 67 032 475 50 15 *25-6640-5 RAIFCH22XXX +08800250000 80025080000220011229112Raiffeisen Banque Raiffeisen de la Baroche Rue de la Poste 18 2952 Cornol 032 462 02 02 032 462 02 00 25-14269-5 RAIFCH22XXX +08800250001 80025080000320010623112Raiffeisen Banque Raiffeisen de la Baroche 2946 Miécourt 032 462 31 66 032 462 31 66 *25-14269-5 RAIFCH22XXX +08800250002 80025080000320010623112Raiffeisen Banque Raiffeisen de la Baroche 2954 Asuel 032 462 32 77 032 462 32 77 *25-14269-5 RAIFCH22XXX +08800250003 80025080000320000722112Raiffeisen Banque Raiffeisen de la Baroche 2944 Bonfol 032 474 48 07 032 474 50 64 *25-14269-5 RAIFCH22XXX +08800250004 80025080000320000426112Raiffeisen Banque Raiffeisen de la Baroche 2947 Charmoille 032 462 26 19 032 462 29 16 *25-14269-5 RAIFCH22XXX +08800270000 80027680000220020602112Raiffeisen Banque Raiffeisen du Mont-Terri Rue P.-Péquignat 8 Case postale 112 2950 Courgenay 032 471 16 06 032 471 26 47 25-7895-8 RAIFCH22XXX +08800270001 80027680000320050126112Raiffeisen Banque Raiffeisen du Mont-Terri Place de la Fontaine 2902 Fontenais 032 466 13 84 032 466 73 04 *25-7895-8 RAIFCH22XXX +08800270002 80027680000320020524112Raiffeisen Banque Raiffeisen du Mont-Terri Case postale 251 2900 Porrentruy 032 466 36 13 032 466 36 14 *25-7895-8 RAIFCH22XXX +08800280000 80028480000219980116112Raiffeisen Banque Raiffeisen de Courroux-Courcelon Case postale 100 2822 Courroux 032 422 44 63 032 423 22 43 25-13180-6 RAIFCH22XXX +08800280001 80028480000320030626112Raiffeisen Banque Raiffeisen de Courroux-Courcelon Rue de France 36 2805 Soyhières 032 422 04 92 *25-13180-6 RAIFCH22XXX +08800370000 80037980000220000531112Raiffeisen Banque Raiffeisen de Haute-Ajoie Case postale 26 2916 Fahy 032 476 67 87 032 476 64 87 25-11736-4 RAIFCH22XXX +08800370001 80037980000320000123112Raiffeisen Banque Raiffeisen de Haute-Ajoie 2905 Courtedoux 032 466 77 56 032 466 77 56 *25-11736-4 RAIFCH22XXX +08800370002 80037980000319980827112Raiffeisen Banque Raiffeisen de Haute-Ajoie 2915 Bure 032 466 49 49 032 466 49 49 *25-11736-4 RAIFCH22XXX +08800370004 80037980000320000420112Raiffeisen Banque Raiffeisen de Haute-Ajoie 2912 Réclère 032 476 72 40 032 476 72 40 *25-11736-4 RAIFCH22XXX +08800370005 80037980000320000420112Raiffeisen Banque Raiffeisen de Haute-Ajoie 2908 Grandfontaine 032 476 64 65 032 476 64 65 *25-11736-4 RAIFCH22XXX +08800510000 80051880000220031113112Raiffeisen Banque Raiffeisen de Chasseral Place du Village 1 Case postale 38 2534 Orvin 032 358 18 43 032 358 21 77 25-11011-1 RAIFCH22XXX +08800510001 80051880000319990427112Raiffeisen Banque Raiffeisen de Chasseral 2515 Prêles 032 315 70 70 032 315 70 71 *25-11011-1 RAIFCH22XXX +08800510002 80051880000319990523112Raiffeisen Banque Raiffeisen de Chasseral 2516 Lamboing 032 315 20 47 *25-11011-1 RAIFCH22XXX +08800510003 80051880000320031018112Raiffeisen Banque Raiffeisen de Chasseral 2518 Nods 032 751 51 91 032 751 51 91 *25-11011-1 RAIFCH22XXX +08800510004 80051880000320030628112Raiffeisen Banque Raiffeisen de Chasseral Route Principale 38/38a 2533 Evilard 032 323 54 84 032 323 54 85 *25-11011-1 RAIFCH22XXX +08800580000 80058680000220021024112Raiffeisen Banque Raiffeisen du Clos du Doubs Rue de l'Hôpital 5 Case postale 54 2882 St-Ursanne 032 461 00 10 032 461 00 19 25-7168-8 RAIFCH22XXX +08800580001 80058680000319980225112Raiffeisen Banque Raiffeisen du Clos du Doubs 2885 Epauvillers 032 461 34 77 032 461 34 33 *25-7168-8 RAIFCH22XXX +08800590000 80059480000220040422112Raiffeisen Banque Raiffeisen Franches-Montagnes Centre Rue de l'Hôpital 8 Case postale 165 2350 Saignelégier 032 952 42 52 032 952 42 53 23-2428-3 RAIFCH22XXX +08800590001 80059480000320000426112Raiffeisen Banque Raiffeisen Franches-Montagnes Centre 2345 Breuleux, Les 032 954 11 47 032 954 13 00 *23-2428-3 RAIFCH22XXX +08800590002 80059480000320030822112Raiffeisen Banque Raiffeisen Franches-Montagnes Centre Route du Pré-Petitjean 128 2875 Montfaucon 032 955 15 28 032 955 15 30 *23-2428-3 RAIFCH22XXX +08800590003 80059480000320020426112Raiffeisen Banque Raiffeisen Franches-Montagnes Centre Route Principale 24 2874 St-Brais 032 433 41 33 *23-2428-3 RAIFCH22XXX +08800600000 80060380000220031231112Raiffeisen Banque Raiffeisen Courtival Route Principale 20F 2873 Saulcy 032 484 95 60 032 484 97 66 25-14048-3 RAIFCH22XXX +08800600004 80060380000320021228112Raiffeisen Banque Raiffeisen Courtival Bas du Village Case postale 47 2714 Genevez JU, Les 032 484 95 60 032 484 97 66 *25-14048-3 RAIFCH22XXX +08800600005 80060380000320031001112Raiffeisen Banque Raiffeisen Courtival rte Principale 59 B 2718 Lajoux JU 032 484 97 43 032 484 97 43 *25-14048-3 RAIFCH22XXX +08800730000 80073180000220011229112Raiffeisen Banque Raiffeisen du Val-Terbi Route Principale 51 2824 Vicques 032 435 64 33 032 435 69 70 25-8373-3 RAIFCH22XXX +08800730001 80073180000320030822112Raiffeisen Banque Raiffeisen du Val-Terbi Rte Principale 15 2825 Courchapoix 032 438 88 66 032 438 88 66 *25-8373-3 RAIFCH22XXX +08800730004 80073180000320020503112Raiffeisen Banque Raiffeisen du Val-Terbi Route de Mervelier 70 2828 Montsevelier 032 438 86 25 032 438 86 25 *25-8373-3 RAIFCH22XXX +08800730005 80073180000320020503112Raiffeisen Banque Raiffeisen du Val-Terbi Au Village 37 2826 Corban 032 438 85 44 032 438 85 44 *25-8373-3 RAIFCH22XXX +08800730006 80073180000320000420112Raiffeisen Banque Raiffeisen du Val-Terbi 2827 Mervelier 032 438 80 81 032 438 80 81 *25-8373-3 RAIFCH22XXX +08800730007 80073180000320020503112Raiffeisen Banque Raiffeisen du Val-Terbi Route Principale 49 2829 Vermes 032 438 84 34 032 438 88 71 *25-8373-3 RAIFCH22XXX +08800930000 80093080000220020926112Raiffeisen Banque Raiffeisen Haute Birse Rue Aimé Charpilloz 2 Case postale 461 2735 Bévilard 032 491 66 44 032 491 66 46 25-11574-6 RAIFCH22XXX +08800930001 80093080000320000524112Raiffeisen Banque Raiffeisen Haute Birse 2710 Tavannes 032 481 26 32 032 481 44 04 *25-11574-6 RAIFCH22XXX +08800930003 80093080000320000426112Raiffeisen Banque Raiffeisen Haute Birse 2746 Crémines 032 499 90 88 032 499 94 88 *25-11574-6 RAIFCH22XXX +08800930004 80093080000320021002112Raiffeisen Banque Raiffeisen Haute Birse Grand-Rue 136 2720 Tramelan 032 487 41 38 032 487 52 69 *25-11574-6 RAIFCH22XXX +08800940000 80094180000220021026111Raiffeisen Raiffeisenbank Worblen-Emmental Postfach 131 3507 Biglen 031 838 55 55 031 700 00 80 30-9405-2 RAIFCH22XXX +08800940001 80094180000320020921111Raiffeisen Raiffeisenbank Worblen-Emmental 3512 Walkringen 031 838 55 55 031 701 17 79 *30-9405-2 RAIFCH22XXX +08800940005 80094180000320020921111Raiffeisen Raiffeisenbank Worblen-Emmental 3067 Boll 031 838 55 55 031 832 11 54 *30-9405-2 RAIFCH22XXX +08800940006 80094180000320020921111Raiffeisen Raiffeisenbank Worblen-Emmental 3072 Ostermundigen 031 838 55 55 031 934 79 30 *30-9405-2 RAIFCH22XXX +08800940007 80094180000320021002111Raiffeisen Raiffeisenbank Worblen-Emmental Bahnhofplatz 5 3076 Worb 031 838 55 55 031 838 55 56 *30-9405-2 RAIFCH22XXX +08800970000 80097280000220010519111Raiffeisen Raiffeisenbank Region Laufen Postfach 560 4242 Laufen 061 766 95 55 061 766 95 56 40-12286-8 RAIFCH22XXX +08800970001 80097280000320000426111Raiffeisen Raiffeisenbank Region Laufen 4245 Kleinlützel 061 771 08 16 061 771 02 37 *40-12286-8 RAIFCH22XXX +08800970002 80097280000320010720111Raiffeisen Raiffeisenbank Region Laufen Postfach 4 4252 Bärschwil 061 761 34 20 061 761 44 85 *40-12286-8 RAIFCH22XXX +08800980000 80098880000220040529111Raiffeisen Raiffeisenbank Gürbe Dorfstrasse 11 Postfach 115 3123 Belp 031 818 20 40 031 818 20 41 30-4423-9 RAIFCH22XXX +08800980001 80098880000320040522111Raiffeisen Raiffeisenbank Gürbe 3638 Blumenstein 031 818 20 40 031 818 20 41 *30-4423-9 RAIFCH22XXX +08800980004 80098880000320040526111Raiffeisen Raiffeisenbank Gürbe Postfach 3634 Thierachern 031 818 20 40 031 818 20 41 *30-4423-9 RAIFCH22XXX +08800980005 80098880000320040522111Raiffeisen Raiffeisenbank Gürbe Schindlern 49c 3631 Höfen bei Thun 031 818 20 40 031 818 20 41 *30-4423-9 RAIFCH22XXX +08800980006 80098880000320040522111Raiffeisen Raiffeisenbank Gürbe Postfach 3665 Wattenwil 031 818 20 40 031 818 20 41 *30-4423-9 RAIFCH22XXX +088009900008081980099380000220040529111Raiffeisen Raiffeisenbank Uettligen-Zollikofen Bernstrasse 101 Postfach 634 3052 Zollikofen 031 910 64 00 031 910 64 01 30-8304-9 RAIFCH22XXX +088010100008089680101080000220030701112Raiffeisen Banque Raiffeisen du Haut-Lac Case postale 118 1784 Courtepin 026 684 82 82 026 684 82 83 17-2848-0 RAIFCH22XXX +08801020000 80102180000220020830112Raiffeisen Banque Raiffeisen Sarine-Ouest 7, Route de Lossy Case postale 66 1782 Belfaux 026 476 62 00 026 476 62 09 17-1048-3 RAIFCH22XXX +08801020001 80102180000320020822112Raiffeisen Banque Raiffeisen Sarine-Ouest Case postale 55 1772 Grolley 026 476 62 00 026 476 62 09 *17-1048-3 RAIFCH22XXX +08801020002 80102180000320020822112Raiffeisen Banque Raiffeisen Sarine-Ouest 1756 Onnens FR 026 476 62 00 026 476 62 09 *17-1048-3 RAIFCH22XXX +08801050000 80105280000220020426112Raiffeisen Banque Raiffeisen de Marly Route du Chevalier 3 Case postale 287 1723 Marly 1 026 439 94 40 026 439 94 41 17-863-9 RAIFCH22XXX +08801050001 80105280000320040529112Raiffeisen Banque Raiffeisen de Marly Route de Treyvaux 2 1732 Arconciel 026 413 03 60 026 413 03 61 *17-863-9 RAIFCH22XXX +08801050003 80105280000320000420112Raiffeisen Banque Raiffeisen de Marly 1700 Fribourg 026 429 03 35 026 429 03 36 *17-863-9 RAIFCH22XXX +08801050005 80105280000320011130112Raiffeisen Banque Raiffeisen de Marly Nouveau marché 1 1723 Marly 026 430 03 20 026 430 03 21 *17-863-9 RAIFCH22XXX +08801070000 80107380000220030726112Raiffeisen Banque Raiffeisen de Sâles/St-Martin Clos Capillon Case postale 27 1625 Sâles (Gruyère) 026 917 90 90 026 917 90 91 17-3451-2 RAIFCH22XXX +08801070001 80107380000319980422112Raiffeisen Banque Raiffeisen de Sâles/St-Martin 1609 St-Martin FR 021 907 86 24 021 907 92 20 *17-3451-2 RAIFCH22XXX +08801080000 80108980000220031213112Raiffeisen Banque Raiffeisen de la Glâne Route de Billens 14 Case postale 289 1680 Romont FR 026 651 90 00 026 651 90 09 10-4818-7 RAIFCH22XXX +08801080001 80108980000320010519112Raiffeisen Banque Raiffeisen de la Glâne Le Clos 1698 Bouloz 021 907 12 82 021 907 14 41 *10-4818-7 RAIFCH22XXX +08801080003 80108980000320020530112Raiffeisen Banque Raiffeisen de la Glâne Pré de la Cure 1679 Villaraboud 026 655 12 88 026 655 12 88 *10-4818-7 RAIFCH22XXX +08801080004 80108980000320030427112Raiffeisen Banque Raiffeisen de la Glâne 1670 Ursy 021 909 51 33 021 909 56 95 *10-4818-7 RAIFCH22XXX +08801080005 80108980000320031018112Raiffeisen Banque Raiffeisen de la Glâne Au Village 19 1694 Orsonnens 026 653 21 84 026 653 22 20 *10-4818-7 RAIFCH22XXX +08801080006 80108980000320030527112Raiffeisen Banque Raiffeisen de la Glâne 1745 Lentigny 026 477 17 00 026 477 20 17 *10-4818-7 RAIFCH22XXX +088011600008011780116080000220021101112Raiffeisen Banque Raiffeisen de Cerniat 1654 Cerniat FR 026 927 19 53 026 912 03 86 17-3528-5 RAIFCH22XXX +08801170000 80117180000220021010112Raiffeisen Banque Raiffeisen Vallée de la Jogne Rue du Centre 44 1637 Charmey (Gruyère) 026 927 11 53 026 927 24 55 17-5413-8 RAIFCH22XXX +08801170001 80117180000319981128112Raiffeisen Banque Raiffeisen Vallée de la Jogne 1636 Broc 026 921 01 50 026 921 01 51 *17-5413-8 RAIFCH22XXX +08801170002 80117180000320031113112Raiffeisen Banque Raiffeisen Vallée de la Jogne 1654 Cerniat FR 026 927 19 53 *17-5413-8 RAIFCH22XXX +08801230000 80123580000220031121112Raiffeisen Banque Raiffeisen Basse Broye Vully Pré de la Cour 29 Case postale 30 1564 Domdidier 026 675 12 60 026 675 31 42 17-6872-4 RAIFCH22XXX +08801230003 80123580000320000314112Raiffeisen Banque Raiffeisen Basse Broye Vully 1580 Avenches 026 675 39 39 026 675 39 42 *17-6872-4 RAIFCH22XXX +08801230004 80123580000320040825111Raiffeisen Banque Raiffeisen Basse Broye Vully Route Principale 20 1786 Sugiez 026 673 91 91 026 673 91 99 *17-6872-4 +08801290000 80129880000220020202112Raiffeisen Banque Raiffeisen Moléson Rue Ancien Comté 33 1635 Tour-de-Trême, La 026 919 61 11 026 919 61 15 17-237-8 RAIFCH22XXX +08801290001 80129880000320041124112Raiffeisen Banque Raiffeisen Moléson Rue du Moléson 19 1669 Albeuve 026 928 19 20 026 928 20 16 *17-237-8 RAIFCH22XXX +08801290002 80129880000320041124112Raiffeisen Banque Raiffeisen Moléson Rte de l'Intyamon 347 1663 Epagny 026 921 28 38 026 921 28 86 *17-237-8 RAIFCH22XXX +08801290003 80129880000320041124112Raiffeisen Banque Raiffeisen Moléson Rue St-Jacques 5 1666 Grandvillard 026 928 16 88 026 928 28 14 *17-237-8 RAIFCH22XXX +08801290007 80129880000320020530112Raiffeisen Banque Raiffeisen Moléson Rue de la Gruyère 1632 Riaz 026 912 13 43 026 912 83 13 *17-237-8 RAIFCH22XXX +08801340000 80134680000220040527112Raiffeisen Banque Raiffeisen de Marsens-Morlon Case postale 24 1633 Marsens 026 915 90 90 026 915 90 99 17-6876-9 RAIFCH22XXX +08801340001 80134680000320000420112Raiffeisen Banque Raiffeisen de Marsens-Morlon 1638 Morlon 026 912 52 12 026 912 52 69 *17-6876-9 RAIFCH22XXX +088013600008013980136280000220040529112Raiffeisen Banque Raiffeisen de Montagny-Léchelles Rue Centrale Case postale 22 1776 Montagny-la-Ville 026 662 46 30 026 662 46 35 17-1747-5 RAIFCH22XXX +08801390000 80139980000220040529112Raiffeisen Banque Raiffeisen Estavayer-Montagny Rue du Four 14 Case postale 855 1470 Estavayer-le-Lac 026 663 95 50 026 663 95 59 17-1378-2 RAIFCH22XXX +08801390004 80139980000320020530112Raiffeisen Banque Raiffeisen Estavayer-Montagny Le Village 142 1532 Fétigny 026 660 53 32 026 660 53 31 *17-1378-2 RAIFCH22XXX +08801390005 80139980000320040516112Raiffeisen Banque Raiffeisen Estavayer-Montagny 1484 Aumont 026 665 14 94 *17-1378-2 RAIFCH22XXX +08801390006 80139980000320040529112Raiffeisen Banque Raiffeisen Estavayer-Montagny Rue Centrale Case postale 22 1776 Montagny-la-Ville 026 662 46 30 026 662 46 35 *17-1378-2 RAIFCH22XXX +08801390007 80139980000320040529112Raiffeisen Banque Raiffeisen Estavayer-Montagny 1773 Léchelles 026 660 27 95 026 660 27 90 *17-1378-2 RAIFCH22XXX +088014200008010880142280000220030531112Raiffeisen Banque Raiffeisen Orsonnens-Lentigny Au Village 19 1693 Orsonnens 026 653 21 84 026 653 22 20 17-5578-2 RAIFCH22XXX +08801480000 80148080000220020323112Raiffeisen Banque Raiffeisen de la Veveyse Place du Village 1617 Remaufens 021 948 95 93 021 948 93 90 17-2152-2 RAIFCH22XXX +08801480001 80148080000320020323112Raiffeisen Banque Raiffeisen de la Veveyse Case postale 48 1623 Semsales 026 918 56 88 026 918 59 88 *17-2152-2 RAIFCH22XXX +08801480002 80148080000320011130112Raiffeisen Banque Raiffeisen de la Veveyse La poste 1624 Verrerie, La 026 918 56 45 026 918 50 75 *17-2152-2 RAIFCH22XXX +08801500000 80150980000220040529112Raiffeisen Banque Raiffeisen Cousimbert Scherwyl Case postale 110 1634 Roche FR, La 026 413 90 20 026 413 90 59 17-2191-3 RAIFCH22XXX +08801500001 80150980000320040626112Raiffeisen Banque Raiffeisen Cousimbert Rte du Pafuet 1 1724 Mouret, Le 026 413 90 20 026 413 90 39 *17-2191-3 RAIFCH22XXX +08801500002 80150980000320040626112Raiffeisen Banque Raiffeisen Cousimbert Route d'Arconciel 3 1733 Treyvaux 026 413 90 20 026 413 90 29 *17-2191-3 RAIFCH22XXX +08801500003 80150980000320040626112Raiffeisen Banque Raiffeisen Cousimbert 1728 Rossens FR 026 413 90 20 026 411 90 49 *17-2191-3 RAIFCH22XXX +08801550000 80155680000220020622112Raiffeisen Banque Raiffeisen du Gibloux Au Village 1642 Sorens 026 915 11 77 026 915 33 77 17-3743-5 RAIFCH22XXX +08801550001 80155680000320031018112Raiffeisen Banque Raiffeisen du Gibloux 1643 Gumefens 026 915 27 60 026 915 27 60 *17-3743-5 RAIFCH22XXX +08801550002 80155680000320000419112Raiffeisen Banque Raiffeisen du Gibloux 1648 Hauteville 026 915 33 36 026 915 33 37 *17-3743-5 RAIFCH22XXX +088015700008015080157280000220040529112Raiffeisen Banque Raiffeisen de Treyvaux et du Bas-Gibloux Route d'Arconciel 3 1733 Treyvaux 026 413 29 35 026 413 21 12 17-4974-5 RAIFCH22XXX +08801590000 80159380000220000419112Raiffeisen Banque Raiffeisen Fribourg-Ouest Case postale 16 1752 Villars-sur-Glâne 026 409 74 20 026 409 74 21 17-5101-4 RAIFCH22XXX +08801590001 80159380000320000419112Raiffeisen Banque Raiffeisen Fribourg-Ouest 1730 Ecuvillens 026 411 02 60 026 411 02 61 *17-5101-4 RAIFCH22XXX +08801590002 80159380000320000419112Raiffeisen Banque Raiffeisen Fribourg-Ouest 1762 Givisiez 026 469 05 80 026 469 05 81 *17-5101-4 RAIFCH22XXX +08801810000 80181380000220041023112Raiffeisen Banque Raiffeisen de la Champagne Rue de Bernex 259A 1233 Bernex 022 879 10 10 022 879 10 00 12-359-3 RAIFCH22XXX +08801810001 80181380000320020822112Raiffeisen Banque Raiffeisen de la Champagne 28, Rte de Chancy 1213 Petit-Lancy, Le 022 879 11 00 022 879 11 01 *12-359-3 RAIFCH22XXX +08801840000 80184580000220031231112Raiffeisen Banque Raiffeisen Confignon-Perly-Certoux-Onex Place de l'Eglise 2 Case postale 1 1232 Confignon 022 850 94 00 022 850 94 05 12-6488-4 RAIFCH22XXX +08801870000 80187680000220001123112Raiffeisen Banque Raiffeisen du Salève et des Communes-Réunies Case postale 160 1255 Veyrier 022 784 20 00 022 784 07 13 12-10362-0 RAIFCH22XXX +08801870001 80187680000320030124112Raiffeisen Banque Raiffeisen du Salève et des Communes-Réunies Rte de St-Julien 145 1228 Plan des Ouates 022 784 20 00 022 794 91 31 *12-10362-0 RAIFCH22XXX +08801870002 80187680000320030124112Raiffeisen Banque Raiffeisen du Salève et des Communes-Réunies Avenue Krieg 15 1208 Genève 022 784 20 00 022 839 30 19 *12-10362-0 RAIFCH22XXX +08801870003 80187680000320030124112Raiffeisen Banque Raiffeisen du Salève et des Communes-Réunies Rue de Marché 11 1227 Carouge 022 784 20 00 022 308 12 00 *12-10362-0 RAIFCH22XXX +08801880000 80188480000220040901112Raiffeisen Banque Raiffeisen d'Arve et Lac Rue Peillonnex 2 Case postale 77 1225 Chêne-Bourg 022 869 25 00 022 869 25 05 12-6616-4 RAIFCH22XXX +08801880007 80188480000320000418112Raiffeisen Banque Raiffeisen d'Arve et Lac 1252 Meinier 022 752 24 39 022 752 21 41 *12-6616-4 RAIFCH22XXX +08801880008 80188480000320020626112Raiffeisen Banque Raiffeisen d'Arve et Lac Case postale 36 1241 Puplinge 022 348 68 00 022 348 67 22 *12-6616-4 RAIFCH22XXX +08801980000 80198780000220040515112Raiffeisen Banque Raiffeisen Rive Gauche 116, rte d'Hermance Case postale 18 1245 Collonge-Bellerive 022 855 90 00 022 855 90 09 12-11251-6 RAIFCH22XXX +08801980003 80198780000320000418112Raiffeisen Banque Raiffeisen Rive Gauche Case postale 1248 Hermance 022 751 28 07 022 752 56 20 *12-11251-6 RAIFCH22XXX +08802060000 80206680000219990427112Raiffeisen Banque Raiffeisen de Meyrin Case postale 80 1217 Meyrin 022 782 06 90 022 785 54 35 12-5714-6 RAIFCH22XXX +08802100000 80210780000220020921112Raiffeisen Banque Raiffeisen Genève Ouest Case postale 155 1242 Satigny 022 930 91 91 022 930 91 11 12-1354-2 RAIFCH22XXX +08802100001 80210780000320020921112Raiffeisen Banque Raiffeisen Genève Ouest Chemin de Champ-Claude 1 1214 Vernier 022 930 91 91 022 930 91 11 *12-1354-2 RAIFCH22XXX +08802100002 80210780000320020921112Raiffeisen Banque Raiffeisen Genève Ouest 1218 Grand-Saconnex, Le 022 930 91 91 022 930 91 11 *12-1354-2 RAIFCH22XXX +08802150000 80215480000220000418112Raiffeisen Banque Raiffeisen de la Versoix Place Charles David 11 1290 Versoix 022 950 98 60 022 779 16 86 12-5333-6 RAIFCH22XXX +08802150002 80215480000319970704112Raiffeisen Banque Raiffeisen de la Versoix Case postale 1294 Genthod 022 774 23 92 022 774 32 06 *12-5333-6 RAIFCH22XXX +08802150003 80215480000319990130112Raiffeisen Banque Raiffeisen de la Versoix Case postale 1298 Céligny 022 776 02 60 022 776 89 81 *12-5333-6 RAIFCH22XXX +08802150004 80215480000320040722112Raiffeisen Banque Raiffeisen de la Versoix Rue François Bonivard 12 1201 Genève 022 716 07 10 022 716 07 11 *12-5333-6 RAIFCH22XXX +08802370000 80237280000220040109112Raiffeisen Banque Raiffeisen des Montagnes Neuchâteloises Rue du Temple 19 2400 Locle, Le 032 933 94 00 032 933 94 09 23-3107-0 RAIFCH22XXX +08802370001 80237280000320040123112Raiffeisen Banque Raiffeisen des Montagnes Neuchâteloises 2300 Chaux-de-Fonds, La 032 910 52 00 032 910 52 09 *23-3107-0 RAIFCH22XXX +08802390000 80239380000220020302112Raiffeisen Banque Raiffeisen des Vallées Industrie 7 2316 Ponts-de-Martel, Les 032 937 12 53 032 937 12 81 23-4266-9 RAIFCH22XXX +08802390001 80239380000320050126112Raiffeisen Banque Raiffeisen des Vallées 2416 Brenets, Les 032 932 12 33 032 932 15 68 *23-4266-9 RAIFCH22XXX +08802390005 80239380000320000418112Raiffeisen Banque Raiffeisen des Vallées 2314 Sagne NE, La 032 931 53 64 032 931 56 24 *23-4266-9 RAIFCH22XXX +08802390006 80239380000320000624112Raiffeisen Banque Raiffeisen des Vallées 2406 Brévine, La 032 935 20 00 032 935 20 01 *23-4266-9 RAIFCH22XXX +08802410000 80241680000220020302112Raiffeisen Banque Raiffeisen du Vignoble Rue du Centre 8 2023 Gorgier 032 835 34 44 032 835 25 68 20-7356-3 RAIFCH22XXX +08802410001 80241680000320000418112Raiffeisen Banque Raiffeisen du Vignoble 2022 Bevaix 032 846 10 44 032 846 27 39 *20-7356-3 RAIFCH22XXX +08802410002 80241680000320000418112Raiffeisen Banque Raiffeisen du Vignoble 2013 Colombier NE 032 841 21 41 032 841 28 18 *20-7356-3 RAIFCH22XXX +08802410004 80241680000320000418112Raiffeisen Banque Raiffeisen du Vignoble 2525 Landeron, Le 032 751 41 61 032 751 41 70 *20-7356-3 RAIFCH22XXX +08802410005 80241680000320000418112Raiffeisen Banque Raiffeisen du Vignoble 2523 Lignières 032 751 33 73 032 751 35 22 *20-7356-3 RAIFCH22XXX +08802410006 80241680000320000418112Raiffeisen Banque Raiffeisen du Vignoble 2072 St-Blaise 032 753 23 33 032 753 31 11 *20-7356-3 RAIFCH22XXX +08802510000 80251280000220020302112Raiffeisen Banque Raiffeisen du Val-de-Ruz Place du village 2207 Coffrane 032 857 14 74 032 857 21 69 20-6586-6 RAIFCH22XXX +08802510001 80251280000319980225112Raiffeisen Banque Raiffeisen du Val-de-Ruz 2054 Chézard-St-Martin 032 853 10 50 032 853 60 50 *20-6586-6 RAIFCH22XXX +08802510002 80251280000320000418112Raiffeisen Banque Raiffeisen du Val-de-Ruz 2065 Savagnier 032 853 18 58 032 853 26 76 *20-6586-6 RAIFCH22XXX +08802510003 80251280000320020323112Raiffeisen Banque Raiffeisen du Val-de-Ruz Le Tombet 2 2063 Vilars NE 032 853 22 44 032 853 35 30 *20-6586-6 RAIFCH22XXX +08802510004 80251280000319990428112Raiffeisen Banque Raiffeisen du Val-de-Ruz 2053 Cernier 032 853 62 63 032 853 62 64 *20-6586-6 RAIFCH22XXX +08802510005 80251280000320000418112Raiffeisen Banque Raiffeisen du Val-de-Ruz 2056 Dombresson 032 853 68 30 032 853 68 30 *20-6586-6 RAIFCH22XXX +08802530000 80253380000219980116112Raiffeisen Banque Raiffeisen de la Côte-aux-Fées Case postale 2117 Côte-aux-Fées, La 032 865 14 65 032 865 12 62 20-2469-0 RAIFCH22XXX +08802570000 80257080000220020302112Raiffeisen Banque Raiffeisen Fontainemelon et environs Avenue Robert 18 2052 Fontainemelon 032 853 60 88 032 853 32 40 20-7495-0 RAIFCH22XXX +08802570001 80257080000320000426112Raiffeisen Banque Raiffeisen Fontainemelon et environs 2043 Boudevilliers 032 857 23 34 *20-7495-0 RAIFCH22XXX +08802570004 80257080000320020530111Raiffeisen Banque Raiffeisen Fontainemelon et environs Bas du Village 2058 Pâquier NE, Le 032 853 43 73 032 853 43 73 *20-7495-0 RAIFCH22XXX +08802610000 80261380000220040922112Raiffeisen Banque Raiffeisen Val-de-Travers Avenue de la Gare 12 Case postale 376 2114 Fleurier 032 862 22 30 032 862 22 39 20-7781-5 RAIFCH22XXX +08802610003 80261380000320010623112Raiffeisen Banque Raiffeisen Val-de-Travers 2108 Couvet 032 862 22 30 *20-7781-5 RAIFCH22XXX +08802610005 80261380000320010218112Raiffeisen Banque Raiffeisen Val-de-Travers 2105 Travers 032 862 22 30 *20-7781-5 RAIFCH22XXX +08802720000 80272680000220040802113Raiffeisen Banca Raiffeisen del Basso Mendrisiotto Corso San Gottardo 54A Casella postale 2863 6830 Chiasso 091 690 55 11 091 690 55 22 69-5160-5 RAIFCH22XXX +08802720001 80272680000320040724113Raiffeisen Banca Raiffeisen del Basso Mendrisiotto Via San Gottardo 56a 6828 Balerna 091 690 55 00 091 690 55 22 *69-5160-5 RAIFCH22XXX +08802720002 80272680000320040724113Raiffeisen Banca Raiffeisen del Basso Mendrisiotto Piazza Tarchini 6828 Balerna 091 690 55 11 091 690 55 22 *69-5160-5 RAIFCH22XXX +08802790000 80279580000220020622113Raiffeisen Banca Raiffeisen Cugnasco-Gudo-Riazzino Via Cantonale 6516 Cugnasco 091 850 59 59 091 850 59 57 65-6113-3 RAIFCH22XXX +08802790001 80279580000320020119113Raiffeisen Banca Raiffeisen Cugnasco-Gudo-Riazzino Centro 2000 6595 Riazzino 091 859 22 66 091 859 04 65 *65-6113-3 RAIFCH22XXX +08802800000 80280580000220010824113Raiffeisen Banca Raiffeisen Gordola e Valle Verzasca Casella postale 1033 6596 Gordola 091 735 16 40 091 735 16 49 65-2072-1 RAIFCH22XXX +08802800001 80280580000319980924113Raiffeisen Banca Raiffeisen Gordola e Valle Verzasca 6632 Vogorno 091 745 46 80 091 745 46 80 *65-2072-1 RAIFCH22XXX +08802800002 80280580000319980924113Raiffeisen Banca Raiffeisen Gordola e Valle Verzasca 6647 Mergoscia 091 745 39 04 *65-2072-1 RAIFCH22XXX +08802800003 80280580000320000418113Raiffeisen Banca Raiffeisen Gordola e Valle Verzasca 6634 Brione (Verzasca) 091 746 13 55 091 746 17 56 *65-2072-1 RAIFCH22XXX +08802810000 80281080000219990506113Raiffeisen Banca Raiffeisen Centovalli Pedemonte Onsernone Casella postale 70 6653 Verscio 091 785 61 10 091 785 61 14 65-4765-0 RAIFCH22XXX +08802810004 80281080000320031018113Raiffeisen Banca Raiffeisen Centovalli Pedemonte Onsernone 6655 Intragna 091 785 61 10 091 785 61 14 *65-4765-0 RAIFCH22XXX +08802810005 80281080000320031018113Raiffeisen Banca Raiffeisen Centovalli Pedemonte Onsernone Via XXI Settembre 6661 Loco 091 785 61 10 091 785 61 14 *65-4765-0 RAIFCH22XXX +08802830000 80283680000220050202113Raiffeisen Banca Raiffeisen Medio Vedeggio e Alto Malcantone Via Cantonale 19 6814 Lamone 091 960 30 10 091 960 30 11 69-7333-5 RAIFCH22XXX +08802830002 80283680000320000223113Raiffeisen Banca Raiffeisen Medio Vedeggio e Alto Malcantone 6807 Taverne 091 960 30 10 091 945 40 35 *69-7333-5 RAIFCH22XXX +08802830003 80283680000320000223113Raiffeisen Banca Raiffeisen Medio Vedeggio e Alto Malcantone 6929 Gravesano 091 960 30 10 091 604 65 45 *69-7333-5 RAIFCH22XXX +08802830004 80283680000320050224113Raiffeisen Banca Raiffeisen Medio Vedeggio e Alto Malcantone Via Sirana 54 6814 Lamone 091 960 30 10 091 960 30 11 *69-7333-5 RAIFCH22XXX +08802830005 80283680000320030720113Raiffeisen Banca Raiffeisen Medio Vedeggio e Alto Malcantone 6939 Mugena 091 960 30 10 091 609 15 57 *69-7333-5 RAIFCH22XXX +08802870000 80287380000220000719113Raiffeisen Banca Raiffeisen del Generoso 6818 Melano 091 648 27 17 091 648 37 17 69-8463-3 RAIFCH22XXX +08802870001 80287380000320000418113Raiffeisen Banca Raiffeisen del Generoso 6822 Arogno 091 649 82 84 091 649 57 22 *69-8463-3 RAIFCH22XXX +08802870002 80287380000320001019113Raiffeisen Banca Raiffeisen del Generoso Piazza Fontana 6821 Rovio 091 649 66 68 091 649 66 52 *69-8463-3 RAIFCH22XXX +08802870003 80287380000320001019113Raiffeisen Banca Raiffeisen del Generoso Via Cantonale 6817 Maroggia 091 649 73 91 091 649 44 18 *69-8463-3 RAIFCH22XXX +08802870004 80287380000320040701113Raiffeisen Banca Raiffeisen del Generoso Piazza Zorzi Casella postale 80 6816 Bissone 091 649 85 37 091 649 65 19 *69-8463-3 RAIFCH22XXX +08802900000 80290280000220020301113Raiffeisen Banca Raiffeisen Morbio Inferiore Via Cereghetti 2 Casella postale 260 6834 Morbio Inferiore 091 695 42 50 091 695 42 55 69-1195-7 RAIFCH22XXX +088029200008027280292380000220040731113Raiffeisen Banca Raiffeisen Chiasso Corso San Gottardo 54 A Casella postale 2863 6830 Chiasso 091 696 63 00 091 696 63 01 69-452-6 RAIFCH22XXX +08802960000 80296080000220030822113Raiffeisen Banca Raiffeisen Riva San Vitale Via dell'Indipendenza 8 Casella postale 91 6826 Riva S. Vitale 091 648 14 42 091 648 27 15 69-6410-4 RAIFCH22XXX +08802970000 80297180000220010824113Raiffeisen Banca Raiffeisen Vacallo Via Gen. Guisan 2 Casella postale 112 6833 Vacallo 091 683 70 43 091 683 49 09 69-4640-4 RAIFCH22XXX +08803010000 80301480000220001019113Raiffeisen Banca Raiffeisen Regione della Montagna Casella postale 35 6862 Rancate 091 640 50 00 091 646 02 61 69-1079-0 RAIFCH22XXX +08803010001 80301480000320021221113Raiffeisen Banca Raiffeisen Regione della Montagna Via A. Salvatore Aglio 6864 Arzo 091 646 70 21 091 646 62 67 *69-1079-0 RAIFCH22XXX +08803010002 80301480000319981203113Raiffeisen Banca Raiffeisen Regione della Montagna 6863 Besazio 091 646 70 26 091 646 70 26 *69-1079-0 RAIFCH22XXX +08803010003 80301480000320021228113Raiffeisen Banca Raiffeisen Regione della Montagna 6866 Meride 091 630 23 05 *69-1079-0 RAIFCH22XXX +08803070000 80307580000220020302113Raiffeisen Banca Raiffeisen Bioggio-Cademario-Agno Via Cademario 6934 Bioggio 091 605 40 09 091 605 35 93 69-7842-5 RAIFCH22XXX +08803070001 80307580000320010217113Raiffeisen Banca Raiffeisen Bioggio-Cademario-Agno 6936 Cademario 091 605 39 77 091 605 62 68 *69-7842-5 RAIFCH22XXX +08803070002 80307580000319990501113Raiffeisen Banca Raiffeisen Bioggio-Cademario-Agno 6982 Agno 091 600 19 70 091 604 52 20 *69-7842-5 RAIFCH22XXX +088030900008028780309180000220040701113Raiffeisen Banca Raiffeisen Bissone Piazza Zorzi Casella postale 80 6816 Bissone 091 649 85 37 091 649 65 19 69-4195-8 RAIFCH22XXX +08803120000 80312580000220020530113Raiffeisen Banca Raiffeisen Cadro Piazza Sant'Agata Casella postale 223 6965 Cadro 091 943 35 46 091 943 59 58 69-5492-7 RAIFCH22XXX +08803130000 80313080000220000426113Raiffeisen Banca Raiffeisen Camorino S. Antonino Casella postale 255 6528 Camorino 091 850 05 00 091 850 05 01 65-6952-7 RAIFCH22XXX +08803130001 80313080000319991002113Raiffeisen Banca Raiffeisen Camorino S. Antonino 6592 S. Antonino 091 850 05 00 091 850 05 01 *65-6952-7 RAIFCH22XXX +08803150000 80315680000220020829113Raiffeisen Banca Raiffeisen Canobbio-Comano-Cureglia Via S. Bernardo 20 6952 Canobbio 091 935 14 14 091 942 18 78 69-6762-1 RAIFCH22XXX +08803150001 80315680000320031122113Raiffeisen Banca Raiffeisen Canobbio-Comano-Cureglia Via Cantonale 42 6949 Comano 091 935 14 24 091 940 49 52 *69-6762-1 RAIFCH22XXX +08803150002 80315680000320031122113Raiffeisen Banca Raiffeisen Canobbio-Comano-Cureglia Via Cantonale 12A 6944 Cureglia 091 935 14 54 091 935 14 59 *69-6762-1 RAIFCH22XXX +08803160000 80316480000220010707113Raiffeisen Banca Raiffeisen Capolago Brusino-Arsizio Casella postale 34 6825 Capolago 091 648 15 84 091 648 25 26 69-8824-8 RAIFCH22XXX +08803160001 80316480000320000426113Raiffeisen Banca Raiffeisen Capolago Brusino-Arsizio 6827 Brusino Arsizio 091 996 10 13 *69-8824-8 RAIFCH22XXX +08803170000 80317280000220020309113Raiffeisen Banca Raiffeisen della Magliasina Via Stazione 6987 Caslano 091 606 26 33 091 606 89 49 69-3056-6 RAIFCH22XXX +08803170001 80317280000320000426112Raiffeisen Banca Raiffeisen della Magliasina 6983 Magliaso 091 606 10 78 091 606 62 78 *69-3056-6 RAIFCH22XXX +08803170002 80317280000320010224113Raiffeisen Banca Raiffeisen della Magliasina 6984 Pura 091 606 38 75 091 606 11 77 *69-3056-6 RAIFCH22XXX +08803180000 80318880000219980924113Raiffeisen Banca Raiffeisen Valle di Muggio Casella postale 6874 Castel S. Pietro 091 640 64 64 091 640 64 65 69-7790-1 RAIFCH22XXX +08803180001 80318880000319980718113Raiffeisen Banca Raiffeisen Valle di Muggio 6837 Bruzella 091 684 17 13 *69-7790-1 RAIFCH22XXX +08803180002 80318880000319980718113Raiffeisen Banca Raiffeisen Valle di Muggio 6837 Caneggio 091 684 15 26 *69-7790-1 RAIFCH22XXX +08803180003 80318880000319980718113Raiffeisen Banca Raiffeisen Valle di Muggio 6835 Morbio Superiore 091 683 55 25 091 682 90 82 *69-7790-1 RAIFCH22XXX +08803180004 80318880000319980718113Raiffeisen Banca Raiffeisen Valle di Muggio 6838 Muggio 091 684 15 49 *69-7790-1 RAIFCH22XXX +08803200000 80320180000220010824113Raiffeisen Banca Raiffeisen Cavergno-Cevio Casella postale 6675 Cevio 091 759 02 50 091 759 02 59 65-3863-3 RAIFCH22XXX +08803200001 80320180000320010623113Raiffeisen Banca Raiffeisen Cavergno-Cevio 6690 Cavergno 091 754 17 77 091 754 02 59 *65-3863-3 RAIFCH22XXX +08803210000 80321680000220000418113Raiffeisen Banca Raiffeisen Claro Cresciano Osogna Preonzo e Moleno 6702 Claro 091 863 10 33 091 863 33 73 65-6529-4 RAIFCH22XXX +08803210001 80321680000320000418113Raiffeisen Banca Raiffeisen Claro Cresciano Osogna Preonzo e Moleno 6705 Cresciano 091 863 26 31 091 863 33 73 *65-6529-4 RAIFCH22XXX +08803210002 80321680000319980515113Raiffeisen Banca Raiffeisen Claro Cresciano Osogna Preonzo e Moleno 6523 Preonzo 091 863 21 84 091 863 25 77 *65-6529-4 RAIFCH22XXX +08803210003 80321680000319980515113Raiffeisen Banca Raiffeisen Claro Cresciano Osogna Preonzo e Moleno 6703 Osogna 091 863 36 31 091 863 37 73 *65-6529-4 RAIFCH22XXX +08803220000 80322480000220010218113Raiffeisen Banca Raiffeisen Coldrerio Via Mola 12 6877 Coldrerio 091 640 37 10 091 640 37 11 69-7421-0 RAIFCH22XXX +08803240000 80324880000220040722113Raiffeisen Banca Raiffeisen di Contone-Cadenazzo Casella postale 130 6594 Contone 091 851 76 76 091 851 76 80 65-6465-2 RAIFCH22XXX +08803240001 80324880000320040923113Raiffeisen Banca Raiffeisen di Contone-Cadenazzo Via Stazione 6593 Cadenazzo 091 851 76 76 091 851 76 77 *65-6465-2 RAIFCH22XXX +08803310000 80331280000220000418113Raiffeisen Banca Raiffeisen Media e Bassa Blenio Comprovasco 6716 Acquarossa 091 871 18 50 091 871 20 50 65-6653-1 RAIFCH22XXX +08803310001 80331280000320000418113Raiffeisen Banca Raiffeisen Media e Bassa Blenio 6713 Malvaglia 091 870 13 49 091 870 24 28 *65-6653-1 RAIFCH22XXX +08803320000 80332880000220031001113Raiffeisen Banca Raiffeisen Ligornetto Via Mastri Ligornettesi 17 Case postale 59 6853 Ligornetto 091 647 21 41 091 647 24 11 69-6364-9 RAIFCH22XXX +08803330000 80333380000220000418113Raiffeisen Banca Raiffeisen Losone-Circolo delle Isole Casella postale 741 6616 Losone 091 785 10 20 091 785 10 29 65-6555-9 RAIFCH22XXX +08803330001 80333380000320000819113Raiffeisen Banca Raiffeisen Losone-Circolo delle Isole Casella postale 6612 Ascona 091 785 19 70 091 785 19 79 *65-6555-9 RAIFCH22XXX +08803340000 80334980000220031115113Raiffeisen Banca Raiffeisen del Gambarogno Via Cantonale 145 6573 Magadino 091 785 90 00 091 785 90 01 65-1469-5 RAIFCH22XXX +08803340001 80334980000320000426113Raiffeisen Banca Raiffeisen del Gambarogno 6575 S. Nazzaro 091 794 12 72 091 794 11 08 *65-1469-5 RAIFCH22XXX +08803350000 80335780000220020622113Raiffeisen Banca Raiffeisen Maggia e Valli Via Cantonale 6673 Maggia 091 753 17 28 091 753 19 34 65-6427-7 RAIFCH22XXX +08803350002 80335780000320010623113Raiffeisen Banca Raiffeisen Maggia e Valli 6685 Bosco/Gurin 091 754 13 22 091 754 14 11 *65-6427-7 RAIFCH22XXX +08803350003 80335780000320011130113Raiffeisen Banca Raiffeisen Maggia e Valli 6695 Peccia 091 755 14 34 091 755 14 35 *65-6427-7 RAIFCH22XXX +08803400000 80340880000220030822113Raiffeisen Banca Raiffeisen Mendrisio Via Lavizzari 19A Casella postale 73 6850 Mendrisio 091 640 60 10 091 646 23 53 69-7191-8 RAIFCH22XXX +08803440000 80344580000220030222113Raiffeisen Banca Raiffeisen Monte-Carasso-Sementina 6513 Monte Carasso 091 820 28 80 091 820 28 89 65-6841-1 RAIFCH22XXX +08803440001 80344580000320030222113Raiffeisen Banca Raiffeisen Monte-Carasso-Sementina 6514 Sementina 091 851 34 60 091 857 76 25 *65-6841-1 RAIFCH22XXX +08803450000 80345080000220030822113Raiffeisen Banca Raiffeisen Monteggio-Croglio Via Cantonale Casella postale 167 6995 Molinazzo di Monteggio 091 608 16 26 091 608 22 00 69-5154-2 RAIFCH22XXX +08803450001 80345080000320011130113Raiffeisen Banca Raiffeisen Monteggio-Croglio 6980 Castelrotto 091 608 11 41 *69-5154-2 RAIFCH22XXX +08803480000 80348480000220000426113Raiffeisen Banca Raiffeisen Medio Malcantone 6986 Novaggio 091 606 18 16 091 606 63 17 69-7913-3 RAIFCH22XXX +08803480002 80348480000319980718113Raiffeisen Banca Raiffeisen Medio Malcantone 6997 Sessa 091 608 23 33 091 608 25 49 *69-7913-3 RAIFCH22XXX +08803480004 80348480000320011130113Raiffeisen Banca Raiffeisen Medio Malcantone 6981 Banco 091 608 10 59 091 608 10 59 *69-7913-3 RAIFCH22XXX +08803490000 80349280000220010824113Raiffeisen Banca Raiffeisen Novazzano-Genestrerio Casella postale 22 6883 Novazzano 091 641 64 11 091 647 47 45 69-4324-8 RAIFCH22XXX +08803490001 80349280000319980718113Raiffeisen Banca Raiffeisen Novazzano-Genestrerio 6852 Genestrerio 091 647 19 61 091 647 19 61 *69-4324-8 RAIFCH22XXX +08803500000 80350080000220011026113Raiffeisen Banca Raiffeisen Olivone 6718 Olivone 091 874 21 21 091 874 21 20 65-7122-1 RAIFCH22XXX +08803500001 80350080000320040321113Raiffeisen Banca Raiffeisen Olivone 6717 Dangio-Torre 091 871 20 20 091 871 20 55 *65-7122-1 RAIFCH22XXX +08803570000 80357980000220000426113Raiffeisen Banca Raiffeisen Alto Vedeggio 6802 Rivera 091 935 50 60 091 935 50 61 69-4046-8 RAIFCH22XXX +08803570003 80357980000320000426113Raiffeisen Banca Raiffeisen Alto Vedeggio 6803 Camignolo 091 935 50 50 091 935 50 59 *69-4046-8 RAIFCH22XXX +08803570004 80357980000320000426113Raiffeisen Banca Raiffeisen Alto Vedeggio 6810 Isone 091 946 28 36 091 946 45 62 *69-4046-8 RAIFCH22XXX +08803570005 80357980000320000426113Raiffeisen Banca Raiffeisen Alto Vedeggio 6805 Mezzovico 091 946 26 01 091 946 22 73 *69-4046-8 RAIFCH22XXX +08803570006 80357980000320000426113Raiffeisen Banca Raiffeisen Alto Vedeggio 6809 Medeglia 091 946 23 33 091 946 30 21 *69-4046-8 RAIFCH22XXX +08803620000 80362180000220000418113Raiffeisen Banca Raiffeisen Savosa Via Cantonale 10 6942 Savosa 091 966 41 41 091 950 07 21 69-8897-8 RAIFCH22XXX +08803620001 80362180000319970827113Raiffeisen Banca Raiffeisen Savosa 6943 Vezia 091 966 68 68 091 966 19 74 *69-8897-8 RAIFCH22XXX +08803640000 80364480000220000520113Raiffeisen Banca Raiffeisen Medio Cassarate 6968 Sonvico 091 936 00 60 091 943 51 33 69-6180-7 RAIFCH22XXX +08803640001 80364480000320000426113Raiffeisen Banca Raiffeisen Medio Cassarate 6964 Davesco-Soragno 091 942 31 34 091 942 13 45 *69-6180-7 RAIFCH22XXX +08803650000 80365280000220000418113Raiffeisen Banca Raiffeisen Stabio Via Ligornetto 4 6855 Stabio 091 647 25 22 091 647 27 22 69-7222-4 RAIFCH22XXX +08803660000 80366880000220040123113Raiffeisen Banca Raiffeisen Capriasca e Val Colla Piazza Motta Casella postale 162 6950 Tesserete 091 936 36 36 091 936 36 37 69-3514-1 RAIFCH22XXX +08803660001 80366880000320040123113Raiffeisen Banca Raiffeisen Capriasca e Val Colla 6946 Ponte Capriasca 091 936 36 56 091 936 36 57 *69-3514-1 RAIFCH22XXX +08803660002 80366880000319970801113Raiffeisen Banca Raiffeisen Capriasca e Val Colla 6959 Maglio di Colla 091 944 12 09 091 944 10 64 *69-3514-1 RAIFCH22XXX +08803740000 80374780000220030507113Raiffeisen Banca Raiffeisen Leventina Sede amministrativa Casella postale 1347 6760 Faido 091 873 52 52 091 873 52 59 65-988-7 RAIFCH22XXX +08803740002 80374780000320030427113Raiffeisen Banca Raiffeisen Leventina 6745 Giornico 091 864 26 10 091 864 26 12 *65-988-7 RAIFCH22XXX +08803740003 80374780000320000418113Raiffeisen Banca Raiffeisen Leventina 6776 Piotta 091 880 20 40 091 880 20 44 *65-988-7 RAIFCH22XXX +08803740004 80374780000320000418113Raiffeisen Banca Raiffeisen Leventina 6742 Pollegio 091 880 01 20 091 880 01 24 *65-988-7 RAIFCH22XXX +08803740005 80374780000320000418113Raiffeisen Banca Raiffeisen Leventina 6772 Rodi-Fiesso 091 881 10 00 091 881 10 04 *65-988-7 RAIFCH22XXX +08803740006 80374780000320000418113Raiffeisen Banca Raiffeisen Leventina 6780 Airolo 091 880 54 40 091 880 54 44 *65-988-7 RAIFCH22XXX +08803750000 80375580000220030926113Raiffeisen Banca Raiffeisen Lugano Via Pretorio 22 6900 Lugano 091 911 90 01 091 911 90 50 69-9762-5 RAIFCH22XXX +08803750001 80375580000320030926113Raiffeisen Banca Raiffeisen Lugano 6963 Pregassona 091 935 03 00 091 935 03 09 *69-9762-5 RAIFCH22XXX +08803750002 80375580000320050320113Raiffeisen Banca Raiffeisen Lugano 6962 Viganello 091 973 50 10 091 970 37 15 *69-9762-5 RAIFCH22XXX +08803780000 80378680000220020829113Raiffeisen Banca Raiffeisen di Giubiasco e Valle Morobbia Piazza Grande 99 6512 Giubiasco 091 857 35 69 091 857 26 64 65-8247-4 RAIFCH22XXX +08803780001 80378680000320010817112Raiffeisen Banca Raiffeisen di Giubiasco e Valle Morobbia 6582 Pianezzo 091 857 39 05 091 857 02 80 *65-8247-4 RAIFCH22XXX +08803790000 80379480000220000421113Raiffeisen Banca Raiffeisen Solduno Casella postale 248 6600 Locarno 091 756 10 70 091 756 10 79 65-4671-2 RAIFCH22XXX +08803820000 80382780000220020530113Raiffeisen Banca Raiffeisen Biasca-Lodrino Piazzale Comunale 6 Casella postale 1537 6710 Biasca 091 862 31 52 091 862 41 10 65-4434-3 RAIFCH22XXX +08803820001 80382780000319980718113Raiffeisen Banca Raiffeisen Biasca-Lodrino 6527 Lodrino 091 880 60 15 091 863 20 12 *65-4434-3 RAIFCH22XXX +08803830000 80383580000220011026113Raiffeisen Banca Raiffeisen Minusio-Brione-Muralto Piazza Stazione 4A Casella postale 931 6602 Muralto 091 759 10 20 091 759 10 29 65-4706-6 RAIFCH22XXX +08803830001 80383580000319980827113Raiffeisen Banca Raiffeisen Minusio-Brione-Muralto 6648 Minusio 091 743 69 61 091 743 97 39 *65-4706-6 RAIFCH22XXX +08803840000 80384080000220000420113Raiffeisen Banca Raiffeisen Breganzona Via Polar 69 6932 Breganzona 091 960 37 70 091 960 37 77 69-4084-3 RAIFCH22XXX +08803840001 80384080000320000420113Raiffeisen Banca Raiffeisen Breganzona 6926 Montagnola 091 994 74 74 091 994 15 93 *69-4084-3 RAIFCH22XXX +08803870000 80387480000220040220113Raiffeisen Banca Raiffeisen Bellinzonese Via G. Jauch 1 Casella postale 2056 6501 Bellinzona 091 826 16 76 091 825 22 26 65-5333-4 RAIFCH22XXX +08803870002 80387480000319980924113Raiffeisen Banca Raiffeisen Bellinzonese 6533 Lumino 091 829 34 55 091 829 40 19 *65-5333-4 RAIFCH22XXX +08803870003 80387480000319980924113Raiffeisen Banca Raiffeisen Bellinzonese 6517 Arbedo 091 829 29 60 091 829 00 61 *65-5333-4 RAIFCH22XXX +08803870004 80387480000319980924113Raiffeisen Banca Raiffeisen Bellinzonese 6532 Castione 091 829 28 14 091 829 04 11 *65-5333-4 RAIFCH22XXX +08803870005 80387480000319980924113Raiffeisen Banca Raiffeisen Bellinzonese 6518 Gorduno 091 829 34 56 091 829 05 66 *65-5333-4 RAIFCH22XXX +08803870006 80387480000320011130113Raiffeisen Banca Raiffeisen Bellinzonese Via Galbisio 2 6503 Bellinzona 091 826 43 31 091 826 49 11 *65-5333-4 RAIFCH22XXX +08804000000 80400080000220020622112Raiffeisen Banque Raiffeisen des Alpes Vaudoises Au Village 1863 Sépey, Le 024 491 14 52 024 491 15 47 18-907-6 RAIFCH22XXX +08804000001 80400080000320000420112Raiffeisen Banque Raiffeisen des Alpes Vaudoises 1854 Leysin 024 494 23 00 024 494 23 20 *18-907-6 RAIFCH22XXX +08804000002 80400080000319980108112Raiffeisen Banque Raiffeisen des Alpes Vaudoises 1865 Diablerets, Les 024 492 10 93 024 492 10 94 *18-907-6 RAIFCH22XXX +08804010000 80401180000220000420112Raiffeisen Banque Raiffeisen du Mont-Aubert Le Pontet 1426 Concise 024 434 62 10 024 434 62 15 10-22418-4 RAIFCH22XXX +08804010001 80401180000320020530112Raiffeisen Banque Raiffeisen du Mont-Aubert Rue des Paquières 1424 Champagne 024 436 21 12 024 436 21 12 *10-22418-4 RAIFCH22XXX +08804010002 80401180000320000420112Raiffeisen Banque Raiffeisen du Mont-Aubert 1428 Provence-Mutrux 024 434 18 28 024 434 18 28 *10-22418-4 RAIFCH22XXX +08804010003 80401180000320030222112Raiffeisen Banque Raiffeisen du Mont-Aubert Rue Haute 3 1422 Grandson 024 447 21 80 024 447 21 85 *10-22418-4 RAIFCH22XXX +08804010004 80401180000320020530113Raiffeisen Banque Raiffeisen du Mont-Aubert Grand-Rue 1443 Champvent 024 459 20 19 *10-22418-4 RAIFCH22XXX +08804010006 80401180000320000823113Raiffeisen Banque Raiffeisen du Mont-Aubert 1446 Baulmes 024 459 60 00 024 459 60 05 *10-22418-4 RAIFCH22XXX +08804010007 80401180000320000819112Raiffeisen Banque Raiffeisen du Mont-Aubert Case postale 1450 Ste-Croix 024 455 44 20 024 455 44 25 *10-22418-4 RAIFCH22XXX +08804030000 80403480000220020622112Raiffeisen Banque Raiffeisen Talent-Menthue Rue du Château Case postele 28 1376 Goumoens-la-Ville 021 886 02 02 021 886 02 03 10-25837-3 RAIFCH22XXX +08804030001 80403480000320020530112Raiffeisen Banque Raiffeisen Talent-Menthue Rue de l'Ancien Collège 1040 Villars-le-Terroir 021 882 22 02 021 882 22 05 *10-25837-3 RAIFCH22XXX +08804030004 80403480000320010804112Raiffeisen Banque Raiffeisen Talent-Menthue Rue du Village 13 1038 Bercher 021 887 70 74 021 887 70 75 *10-25837-3 RAIFCH22XXX +08804140000 80414480000220021228112Raiffeisen Banque Raiffeisen d'Assens Rte St-Germain 3 1042 Assens 021 886 06 06 021 886 06 07 10-10091-1 RAIFCH22XXX +08804140001 80414480000319980516112Raiffeisen Banque Raiffeisen d'Assens 1041 Bottens 021 881 22 24 021 881 22 24 *10-10091-1 RAIFCH22XXX +08804140002 80414480000319990430112Raiffeisen Banque Raiffeisen d'Assens 1033 Cheseaux-sur-Lausanne 021 847 00 47 021 847 00 48 *10-10091-1 RAIFCH22XXX +08804180000 80418980000220020829112Raiffeisen Banque Raiffeisen de Bière-Ballens La Vy de Ballens 1145 Bière 021 809 50 50 021 809 58 17 10-1391-0 RAIFCH22XXX +08804230000 80423980000220000420112Raiffeisen Banque Raiffeisen Vallée de Joux Case postale 46 1348 Brassus, Le 021 845 50 55 021 845 65 39 10-1364-9 RAIFCH22XXX +08804280000 80428680000220021124112Raiffeisen Banque Raiffeisen du Pays-d'Enhaut Les Bossons Case postale 1660 Château-d'Oex 026 924 62 95 026 924 57 40 10-6145-1 RAIFCH22XXX +08804280001 80428680000320020323112Raiffeisen Banque Raiffeisen du Pays-d'Enhaut 1658 Rossinière 026 924 72 00 026 924 69 46 *10-6145-1 RAIFCH22XXX +08804280002 80428680000320020323112Raiffeisen Banque Raiffeisen du Pays-d'Enhaut Case postale 41 1659 Rougemont 026 925 80 44 026 925 89 91 *10-6145-1 RAIFCH22XXX +08804300000 80430380000220000426112Raiffeisen Banque Raiffeisen de La Riviera Case postale 78 1804 Corsier-sur-Vevey 021 921 32 88 021 921 44 59 18-449-7 RAIFCH22XXX +08804300001 80430380000319980108112Raiffeisen Banque Raiffeisen de La Riviera 1803 Chardonne 021 922 92 75 021 923 58 45 *18-449-7 RAIFCH22XXX +08804300002 80430380000319980827112Raiffeisen Banque Raiffeisen de La Riviera 1807 Blonay 021 943 25 62 021 943 39 46 *18-449-7 RAIFCH22XXX +08804300003 80430380000319980827112Raiffeisen Banque Raiffeisen de La Riviera 1806 St-Légier-La Chiésaz 021 943 35 56 021 943 48 55 *18-449-7 RAIFCH22XXX +08804300006 80430380000320000620112Raiffeisen Banque Raiffeisen de La Riviera Grand-Rue 49 1844 Villeneuve VD 021 960 13 32 021 968 14 51 *18-449-7 RAIFCH22XXX +08804340000 80434080000219991105112Raiffeisen Banque Raiffeisen du Gros-de-Vaud Case postale 291 1040 Echallens 021 886 20 40 021 886 20 49 10-4733-5 RAIFCH22XXX +08804340002 80434080000320000421112Raiffeisen Banque Raiffeisen du Gros-de-Vaud 1052 Mont-sur-Lausanne, Le 021 652 05 72 021 652 06 56 *10-4733-5 RAIFCH22XXX +08804340003 80434080000319980423112Raiffeisen Banque Raiffeisen du Gros-de-Vaud 1418 Vuarrens 021 887 82 55 021 887 82 02 *10-4733-5 RAIFCH22XXX +08804340005 80434080000319990428112Raiffeisen Banque Raiffeisen du Gros-de-Vaud 1055 Froideville 021 881 15 35 021 881 26 25 *10-4733-5 RAIFCH22XXX +08804380000 80438280000220040101112Raiffeisen Banque Raiffeisen de Forel (Lavaux) Case postale 18 1072 Forel (Lavaux) 021 781 13 25 021 781 28 37 10-8820-9 RAIFCH22XXX +08804420000 80442080000220020823112Raiffeisen Banque Raiffeisen de La Côte-Ouest Vy-de-Montorge 1 Case postale 37 1295 Mies 022 775 05 05 022 775 05 00 12-9772-0 RAIFCH22XXX +08804420001 80442080000320000421112Raiffeisen Banque Raiffeisen de La Côte-Ouest 1279 Chavannes-de-Bogis 022 776 49 59 022 776 71 10 *12-9772-0 RAIFCH22XXX +08804430000 80443180000220000421112Raiffeisen Banque Raiffeisen de Molondin 1415 Molondin 024 433 13 12 024 433 17 87 10-3473-7 RAIFCH22XXX +08804450000 80445480000220020130112Raiffeisen Banque Raiffeisen du Veyron Rue du Bourg Case postale 28 1147 Montricher 021 864 57 45 021 864 52 43 10-18516-9 RAIFCH22XXX +08804450001 80445480000320000421112Raiffeisen Banque Raiffeisen du Veyron 1148 Isle, L' 021 864 57 58 021 864 57 50 *10-18516-9 RAIFCH22XXX +08804450002 80445480000320000421112Raiffeisen Banque Raiffeisen du Veyron 1142 Pampigny 021 800 46 77 021 800 51 05 *10-18516-9 RAIFCH22XXX +08804470000 80447880000219990506112Raiffeisen Banque Raiffeisen du Chablais Vaudois Case postale 415 1860 Aigle 024 466 93 22 024 466 93 66 18-226-3 RAIFCH22XXX +08804470002 80447880000320031122112Raiffeisen Banque Raiffeisen du Chablais Vaudois Rue Centrale 37 1880 Bex 024 463 22 76 024 463 42 31 *18-226-3 RAIFCH22XXX +08804470006 80447880000320000601112Raiffeisen Banque Raiffeisen du Chablais Vaudois 1867 Ollon VD 024 499 11 31 024 499 18 94 *18-226-3 RAIFCH22XXX +08804510000 80451480000220000601112Raiffeisen Banque Raiffeisen de Haute-Broye-Jorat Case postale 34 1607 Palézieux-Village 021 908 08 88 021 908 08 89 10-8060-7 RAIFCH22XXX +08804510001 80451480000320000421112Raiffeisen Banque Raiffeisen de Haute-Broye-Jorat 1083 Mézières VD 021 903 03 30 021 903 03 49 *10-8060-7 RAIFCH22XXX +08804510004 80451480000319980421112Raiffeisen Banque Raiffeisen de Haute-Broye-Jorat 1610 Oron-la-Ville 021 907 64 65 021 907 64 68 *10-8060-7 RAIFCH22XXX +08804510005 80451480000319980421112Raiffeisen Banque Raiffeisen de Haute-Broye-Jorat 1066 Epalinges 021 784 84 00 021 784 84 09 *10-8060-7 RAIFCH22XXX +08804510007 80451480000320041127112Raiffeisen Banque Raiffeisen de Haute-Broye-Jorat Rue Etraz 5 1003 Lausanne 021 321 27 47 021 321 27 48 *10-8060-7 RAIFCH22XXX +08804530000 80453880000220011228112Raiffeisen Banque Raiffeisen de Puidoux-Chexbres Centre Commercial de Publoz 1070 Puidoux 021 946 00 80 021 946 00 88 10-4819-5 RAIFCH22XXX +08804540000 80454380000220000421112Raiffeisen Banque Raiffeisen de Lavaux Case postale 152 1095 Lutry 021 796 13 60 021 796 13 69 18-1616-9 RAIFCH22XXX +08804540001 80454380000320000421112Raiffeisen Banque Raiffeisen de Lavaux 1096 Cully 021 799 30 93 021 799 32 93 *18-1616-9 RAIFCH22XXX +08804600000 80460980000220021208112Raiffeisen Banque Raiffeisen Morges Venoge Rue de la Gare 27 Case postale 192 1110 Morges 1 021 811 22 44 021 811 22 45 10-1933-9 RAIFCH22XXX +08804600003 80460980000320020530112Raiffeisen Banque Raiffeisen Morges Venoge Case postale 8 1306 Daillens 021 862 91 92 021 862 91 93 *10-1933-9 RAIFCH22XXX +08804600004 80460980000319990428112Raiffeisen Banque Raiffeisen Morges Venoge 1026 Echandens-Denges 021 701 24 24 021 701 53 77 *10-1933-9 RAIFCH22XXX +08804600005 80460980000320010804112Raiffeisen Banque Raiffeisen Morges Venoge Chemin Neuf 4 1163 Etoy 021 808 73 73 021 808 73 88 *10-1933-9 RAIFCH22XXX +08804600006 80460980000320030801112Raiffeisen Banque Raiffeisen Morges Venoge Rue Grand-Vigne 1169 Yens 021 800 37 40 021 800 46 33 *10-1933-9 RAIFCH22XXX +08804600007 80460980000320020323112Raiffeisen Banque Raiffeisen Morges Venoge Rue du Chêne 1 Case postale 1315 Sarraz, La 021 866 06 06 021 866 06 07 *10-1933-9 RAIFCH22XXX +08804650000 80465680000220000421112Raiffeisen Banque Raiffeisen du Plateau du Jorat Centre du Village 1410 Thierrens 021 905 30 97 021 905 40 24 10-1121-2 RAIFCH22XXX +08804650002 80465680000320000421112Raiffeisen Banque Raiffeisen du Plateau du Jorat 1059 Peney-le-Jorat 021 903 30 90 021 903 21 84 *10-1121-2 RAIFCH22XXX +08804680000 80468880000220000421112Raiffeisen Banque Raiffeisen d'Apples Case postale 123 1143 Apples 021 800 32 57 021 800 54 71 10-13738-5 RAIFCH22XXX +08804720000 80472480000220020803112Raiffeisen Banque Raiffeisen d'Yverdon-les-Bains Case postale 255 1401 Yverdon-les-Bains 024 423 53 53 024 423 53 59 10-9374-7 RAIFCH22XXX +08804720001 80472480000320020426112Raiffeisen Banque Raiffeisen d'Yverdon-les-Bains Grand-Rue 87 1373 Chavornay 024 441 73 43 024 441 85 51 *10-9374-7 RAIFCH22XXX +08804720003 80472480000320020530111Raiffeisen Banque Raiffeisen d'Yverdon-les-Bains Rue du Village Case postale 1407 Donneloye 024 433 11 19 024 433 17 67 *10-9374-7 RAIFCH22XXX +08804720004 80472480000320020501112Raiffeisen Banque Raiffeisen d'Yverdon-les-Bains Av. de la Gare 6 1462 Yvonand 024 430 03 03 024 430 03 00 *10-9374-7 RAIFCH22XXX +08804790000 80479080000220000421112Raiffeisen Banque Raiffeisen de la Broye Case postale 29 1523 Granges-près-Marnand 026 668 94 94 026 668 94 99 10-351-5 RAIFCH22XXX +08804790001 80479080000320041117112Raiffeisen Banque Raiffeisen de la Broye 1536 Combremont-le-Petit 026 668 94 94 026 666 16 09 *10-351-5 RAIFCH22XXX +08804790004 80479080000320030626112Raiffeisen Banque Raiffeisen de la Broye Pré du Château 1482 Cugy FR 026 662 46 00 026 660 83 80 *10-351-5 RAIFCH22XXX +08804790007 80479080000320030626112Raiffeisen Banque Raiffeisen de la Broye Grand-Rue 20 1530 Payerne 026 662 46 00 026 662 46 09 *10-351-5 RAIFCH22XXX +08804790008 80479080000320030626112Raiffeisen Banque Raiffeisen de la Broye Maison de Ville 1543 Grandcour 026 662 46 00 026 667 09 04 *10-351-5 RAIFCH22XXX +08804800000 80480480000220010824112Raiffeisen Banque Raiffeisen Orbe Case postale 187 1350 Orbe 024 442 88 20 024 442 88 24 10-23-8 RAIFCH22XXX +08804800004 80480480000320050224112Raiffeisen Banque Raiffeisen Orbe 1325 Vaulion 021 843 28 19 024 442 88 24 *10-23-8 RAIFCH22XXX +08804800006 80480480000320010621112Raiffeisen Banque Raiffeisen Orbe 1337 Vallorbe 021 843 99 99 021 843 99 90 *10-23-8 RAIFCH22XXX +08804820000 80482880000220020724112Raiffeisen Banque Raiffeisen du District de Moudon Avenue de Cerjat 2b Case postale 49 1510 Moudon 021 905 06 66 021 905 06 67 10-477-3 RAIFCH22XXX +08804820001 80482880000319981128112Raiffeisen Banque Raiffeisen du District de Moudon 1522 Lucens 021 906 71 81 021 906 71 82 *10-477-3 RAIFCH22XXX +08804850000 80485780000220000421112Raiffeisen Banque Raiffeisen de Gimel Case postale 132 1188 Gimel 021 828 00 12 021 828 00 13 10-1472-0 RAIFCH22XXX +08804850001 80485780000320000421112Raiffeisen Banque Raiffeisen de Gimel 1261 Marchissy 022 368 14 08 022 368 20 86 *10-1472-0 RAIFCH22XXX +08804850002 80485780000320030124112Raiffeisen Banque Raiffeisen de Gimel Route de Lausanne 5 1180 Rolle 021 822 52 32 021 822 52 33 *10-1472-0 RAIFCH22XXX +08804920000 80492980000220040814111Raiffeisen Raiffeisenbank Aletsch Furkastrasse 106 Postfach 3982 Bitsch 027 928 67 10 027 928 67 11 19-8568-5 RAIFCH22XXX +08804920001 80492980000320040814111Raiffeisen Raiffeisenbank Aletsch Furkastrasse 20 3983 Mörel 027 928 67 20 027 928 67 21 *19-8568-5 RAIFCH22XXX +08804920002 80492980000320010624111Raiffeisen Raiffeisenbank Aletsch 3987 Riederalp 027 928 67 25 027 928 67 26 *19-8568-5 RAIFCH22XXX +08804920004 80492980000320000722111Raiffeisen Raiffeisenbank Aletsch 3992 Bettmeralp 027 928 67 30 027 928 67 31 *19-8568-5 RAIFCH22XXX +08804920005 80492980000320040814111Raiffeisen Raiffeisenbank Aletsch 3986 Ried-Mörel 027 928 67 05 027 928 67 06 *19-8568-5 RAIFCH22XXX +08804930000 80493780000219980429111Raiffeisen Raiffeisenbank Bürchen-Unterbäch-Eischoll Postfach 77 3935 Bürchen 027 934 11 03 027 934 39 03 19-5819-1 RAIFCH22XXX +08804930001 80493780000320041223111Raiffeisen Raiffeisenbank Bürchen-Unterbäch-Eischoll 3944 Unterbäch VS 027 934 11 03 027 934 39 03 *19-5819-1 RAIFCH22XXX +08804930002 80493780000320041223111Raiffeisen Raiffeisenbank Bürchen-Unterbäch-Eischoll 3943 Eischoll 027 934 11 03 027 934 39 03 *19-5819-1 RAIFCH22XXX +08804960000 80496180000219990610111Raiffeisen Raiffeisenbank Nikolai-Zermatt Postfach 3924 St. Niklaus VS 027 955 69 10 027 955 69 11 19-2407-5 RAIFCH22XXX +08804960001 80496180000320000426111Raiffeisen Raiffeisenbank Nikolai-Zermatt 3925 Grächen 027 955 69 40 027 955 69 41 *19-2407-5 RAIFCH22XXX +08804960002 80496180000319990429111Raiffeisen Raiffeisenbank Nikolai-Zermatt 3928 Randa 027 966 69 50 027 966 69 51 *19-2407-5 RAIFCH22XXX +08804960003 80496180000319990429111Raiffeisen Raiffeisenbank Nikolai-Zermatt 3929 Täsch 027 966 69 60 027 966 69 61 *19-2407-5 RAIFCH22XXX +08804960004 80496180000320000426111Raiffeisen Raiffeisenbank Nikolai-Zermatt 3920 Zermatt 027 966 69 70 027 966 69 71 *19-2407-5 RAIFCH22XXX +08804960005 80496180000320020530111Raiffeisen Raiffeisenbank Nikolai-Zermatt Flüogassa 3926 Embd 027 953 69 90 027 953 69 91 *19-2407-5 RAIFCH22XXX +08804990000 80499280000220000420111Raiffeisen Raiffeisenbank Visperterminen Postfach 99 3932 Visperterminen 027 948 02 20 027 948 02 25 19-6902-3 RAIFCH22XXX +08805200000 80520580000220000420111Raiffeisen Raiffeisenbank Unnergoms Furkastrasse 3984 Fiesch 027 970 12 30 027 970 12 35 19-7231-9 RAIFCH22XXX +08805200001 80520580000320000420111Raiffeisen Raiffeisenbank Unnergoms 3997 Bellwald 027 971 29 00 *19-7231-9 RAIFCH22XXX +08805200002 80520580000320000420111Raiffeisen Raiffeisenbank Unnergoms 3996 Binn 027 971 45 20 *19-7231-9 RAIFCH22XXX +08805200003 80520580000319970827111Raiffeisen Raiffeisenbank Unnergoms 3994 Lax 027 971 24 21 027 971 47 16 *19-7231-9 RAIFCH22XXX +08805200004 80520580000320000420111Raiffeisen Raiffeisenbank Unnergoms 3995 Ernen 027 971 23 50 027 971 44 23 *19-7231-9 RAIFCH22XXX +08805210000 80521080000220030315111Raiffeisen Raiffeisenbank Gampel-Steg Postfach 108 3945 Gampel 027 933 13 13 027 933 13 14 19-2087-9 RAIFCH22XXX +08805210004 80521080000320010624111Raiffeisen Raiffeisenbank Gampel-Steg 3957 Erschmatt 027 932 27 77 027 932 27 78 *19-2087-9 RAIFCH22XXX +08805210005 80521080000320011219111Raiffeisen Raiffeisenbank Gampel-Steg Grächmatten 3956 Guttet-Feschel 027 473 42 82 027 473 42 84 *19-2087-9 RAIFCH22XXX +08805210007 80521080000320000727111Raiffeisen Raiffeisenbank Gampel-Steg Postfach 50 3918 Wiler (Lötschen) 027 939 11 39 027 939 10 69 *19-2087-9 RAIFCH22XXX +08805210008 80521080000320030425111Raiffeisen Raiffeisenbank Gampel-Steg 3919 Blatten (Lötschen) 027 939 19 33 027 939 17 45 *19-2087-9 RAIFCH22XXX +08805220000 80522180000219990429111Raiffeisen Raiffeisenbank Brig-Glis Postfach 220 3902 Glis 027 922 99 55 027 922 99 59 19-4041-3 RAIFCH22XXX +08805220002 80522180000320000530111Raiffeisen Raiffeisenbank Brig-Glis 3900 Brig/Brigue 027 922 99 55 027 922 99 59 *19-4041-3 RAIFCH22XXX +08805240000 80524480000220030822111Raiffeisen Raiffeisenbank Grengiols Dorfplatz Postfach 3 3993 Grengiols 027 927 23 00 027 927 35 20 19-4644-1 RAIFCH22XXX +088052500008055380525280000220030701111Raiffeisen Raiffeisenbank Sonnige Halden Postfach 3931 Lalden 027 945 60 20 027 945 60 24 19-8041-2 RAIFCH22XXX +08805270000 80527380000220010624111Raiffeisen Raiffeisenbank Leuk-Leukerbad Postfach 160 3952 Susten 027 474 61 40 027 474 61 45 19-899-9 RAIFCH22XXX +08805270002 80527380000320000426111Raiffeisen Raiffeisenbank Leuk-Leukerbad 3953 Leuk Stadt 027 474 61 20 027 474 61 24 *19-899-9 RAIFCH22XXX +08805270003 80527380000320000426111Raiffeisen Raiffeisenbank Leuk-Leukerbad 3954 Leukerbad 027 472 78 80 027 472 78 85 *19-899-9 RAIFCH22XXX +08805300000 80530280000220031126111Raiffeisen Raiffeisenbank Mund Postfach 11 3903 Mund 027 923 75 70 027 924 52 48 19-5676-9 RAIFCH22XXX +08805320000 80532380000219980723111Raiffeisen Raiffeisenbank Naters Postfach 100 3904 Naters 027 922 40 40 027 922 40 45 19-1527-5 RAIFCH22XXX +08805380000 80538680000220041124111Raiffeisen Raiffeisenbank Raron-St. German-Niedergesteln Brückenmoosstrasse 2 Postfach 48 3942 Raron 027 934 29 29 027 934 25 11 19-3135-5 RAIFCH22XXX +08805380001 80538680000320000421111Raiffeisen Raiffeisenbank Raron-St. German-Niedergesteln 3936 St. German 027 934 29 29 027 934 25 11 *19-3135-5 RAIFCH22XXX +08805380002 80538680000320031018111Raiffeisen Raiffeisenbank Raron-St. German-Niedergesteln 3942 Niedergesteln 027 934 29 29 027 934 25 11 *19-3135-5 RAIFCH22XXX +08805390000 80539480000220020622111Raiffeisen Raiffeisenbank Obergoms Bahnhofstrasse 4 3998 Reckingen VS 027 973 13 14 027 973 31 12 19-6989-5 RAIFCH22XXX +08805390001 80539480000320030927111Raiffeisen Raiffeisenbank Obergoms Furkastrasse 3985 Münster VS 027 973 21 20 027 973 37 18 *19-6989-5 RAIFCH22XXX +08805390002 80539480000320031018111Raiffeisen Raiffeisenbank Obergoms Dorf 3989 Selkingen 027 973 16 67 027 973 28 29 *19-6989-5 RAIFCH22XXX +08805390003 80539480000320031122111Raiffeisen Raiffeisenbank Obergoms Unterdorf 25 3988 Obergesteln 027 973 28 73 027 973 28 00 *19-6989-5 RAIFCH22XXX +08805390004 80539480000320010621111Raiffeisen Raiffeisenbank Obergoms 3999 Oberwald 027 973 28 20 *19-6989-5 RAIFCH22XXX +08805390005 80539480000320010621111Raiffeisen Raiffeisenbank Obergoms 3988 Ulrichen 027 973 22 56 *19-6989-5 RAIFCH22XXX +08805400000 80540380000220000421111Raiffeisen Raiffeisenbank Brigerberg Postfach 2 3911 Ried - Brig 027 921 64 10 027 921 64 15 19-6998-9 RAIFCH22XXX +08805400002 80540380000319990429111Raiffeisen Raiffeisenbank Brigerberg 3912 Termen 027 921 64 20 027 921 64 25 *19-6998-9 RAIFCH22XXX +08805420000 80542780000220020926111Raiffeisen Raiffeisenbank Saas-Fee beim Dorfplatz Postfach 52 3906 Saas Fee 027 958 62 00 027 958 62 01 19-8911-1 RAIFCH22XXX +08805430000 80543580000220030926111Raiffeisen Raiffeisenbank Salgesch-Varen Postfach 89 3970 Salgesch 027 452 61 66 027 452 61 67 19-5755-4 RAIFCH22XXX +08805430001 80543580000320020724112Raiffeisen Raiffeisenbank Salgesch-Varen 3953 Varen 027 473 49 49 027 473 49 50 *19-5755-4 RAIFCH22XXX +08805440000 80544080000220000421111Raiffeisen Raiffeisenbank Simplon 3907 Simplon Dorf 027 979 12 21 027 979 14 71 19-2464-4 RAIFCH22XXX +08805450000 80545180000219990429111Raiffeisen Raiffeisenbank Vispertal Postfach 45 3922 Stalden VS 027 953 68 10 027 953 68 11 19-887-4 RAIFCH22XXX +08805450001 80545180000320040717111Raiffeisen Raiffeisenbank Vispertal 3922 Eisten 027 953 68 25 *19-887-4 RAIFCH22XXX +08805450002 80545180000319990429111Raiffeisen Raiffeisenbank Vispertal 3923 Törbel 027 953 68 20 027 953 68 21 *19-887-4 RAIFCH22XXX +08805450003 80545180000319990430111Raiffeisen Raiffeisenbank Vispertal 3933 Staldenried 027 953 68 30 027 953 68 31 *19-887-4 RAIFCH22XXX +08805500000 80550780000220000426111Raiffeisen Raiffeisenbank Turtmann-Agarn-Ergisch-Ems 3946 Turtmann 027 933 65 10 027 933 65 19 19-6021-3 RAIFCH22XXX +08805500001 80550780000320010817111Raiffeisen Raiffeisenbank Turtmann-Agarn-Ergisch-Ems 3947 Ergisch 027 933 65 20 027 933 65 19 *19-6021-3 RAIFCH22XXX +08805500002 80550780000320020601111Raiffeisen Raiffeisenbank Turtmann-Agarn-Ergisch-Ems Dorfstrasse 11 3951 Agarn 027 474 65 40 027 474 65 44 *19-6021-3 RAIFCH22XXX +08805500003 80550780000320010817111Raiffeisen Raiffeisenbank Turtmann-Agarn-Ergisch-Ems 3948 Oberems 027 933 65 35 027 933 65 19 *19-6021-3 RAIFCH22XXX +08805500004 80550780000320010817111Raiffeisen Raiffeisenbank Turtmann-Agarn-Ergisch-Ems 3948 Unterems 027 933 65 30 027 933 65 19 *19-6021-3 RAIFCH22XXX +08805530000 80553180000220040122111Raiffeisen Raiffeisenbank Region Visp Überbielstrasse 10 Postfach 448 3930 Visp/Viège 027 948 04 48 027 948 04 44 19-2517-3 RAIFCH22XXX +08805530001 80553180000320000426111Raiffeisen Raiffeisenbank Region Visp 3934 Zeneggen 027 945 60 70 027 945 60 75 *19-2517-3 RAIFCH22XXX +08805530002 80553180000320040123111Raiffeisen Raiffeisenbank Region Visp Dorfstrasse 3931 Lalden 027 945 60 10 027 945 60 14 *19-2517-3 RAIFCH22XXX +08805530003 80553180000320040703111Raiffeisen Raiffeisenbank Region Visp 3938 Ausserberg 027 945 60 25 027 945 60 29 *19-2517-3 RAIFCH22XXX +08805530004 80553180000320030625111Raiffeisen Raiffeisenbank Region Visp 3937 Baltschieder 027 945 60 20 027 945 60 24 *19-2517-3 RAIFCH22XXX +08805530005 80553180000320040123111Raiffeisen Raiffeisenbank Region Visp Bahnhofstrasse 3939 Eggerberg 027 945 60 15 027 945 60 19 *19-2517-3 RAIFCH22XXX +08805560000 80556280000220020724111Raiffeisen Raiffeisenbank Saas Grund Dorfplatz 3910 Saas Grund 027 958 55 55 027 958 55 56 19-4152-2 RAIFCH22XXX +08805560001 80556280000320020724111Raiffeisen Raiffeisenbank Saas Grund 3905 Saas Almagell 027 958 66 44 027 958 66 45 *19-4152-2 RAIFCH22XXX +08805710000 80571780000220020525112Raiffeisen Banque Raiffeisen Riddes-Saxon-Isérables Case postale 76 1908 Riddes 027 305 15 50 027 305 15 51 19-2388-9 RAIFCH22XXX +08805710001 80571780000320040422112Raiffeisen Banque Raiffeisen Riddes-Saxon-Isérables 1918 Mayens-de-Riddes 027 305 15 50 027 305 15 51 *19-2388-9 RAIFCH22XXX +08805710002 80571780000320040422112Raiffeisen Banque Raiffeisen Riddes-Saxon-Isérables 1907 Saxon 027 305 15 50 027 305 15 51 *19-2388-9 RAIFCH22XXX +08805710003 80571780000320040422112Raiffeisen Banque Raiffeisen Riddes-Saxon-Isérables Rue du Téléphérique 1914 Isérables 027 305 15 50 027 305 15 51 *19-2388-9 RAIFCH22XXX +08805720000 80572580000220020524112Raiffeisen Banque Raiffeisen de Sion-Région Rue des Tonneliers 5 Case postale 2136 1950 Sion/Sitten 2 027 327 20 00 027 327 20 01 19-82-4 RAIFCH22XXX +08805720004 80572580000319980718112Raiffeisen Banque Raiffeisen de Sion-Région 1971 Grimisuat 027 398 35 38 027 398 38 32 *19-82-4 RAIFCH22XXX +08805720005 80572580000320000421112Raiffeisen Banque Raiffeisen de Sion-Région 1965 Savièse 027 395 14 35 027 395 20 86 *19-82-4 RAIFCH22XXX +08805720006 80572580000320000421112Raiffeisen Banque Raiffeisen de Sion-Région 1993 Veysonnaz 027 207 17 30 027 207 36 41 *19-82-4 RAIFCH22XXX +08805720007 80572580000320000421112Raiffeisen Banque Raiffeisen de Sion-Région 1967 Bramois 027 203 14 74 027 203 56 32 *19-82-4 RAIFCH22XXX +08805720008 80572580000320011201112Raiffeisen Banque Raiffeisen de Sion-Région Rue des Casernes 20 1950 Sion/Sitten 027 203 76 77 027 203 76 29 *19-82-4 RAIFCH22XXX +08805730000 80573080000220000421112Raiffeisen Banque Raiffeisen de Vétroz Case postale 138 1963 Vétroz 027 346 52 37 027 346 60 72 19-5680-4 RAIFCH22XXX +08805740000 80574180000220000616112Raiffeisen Banque Raiffeisen d'Anniviers Case postale 14 3961 Vissoie 027 475 11 59 027 475 42 67 19-3445-5 RAIFCH22XXX +08805740001 80574180000320000421112Raiffeisen Banque Raiffeisen d'Anniviers 3961 Chandolin 027 475 18 66 027 475 11 01 *19-3445-5 RAIFCH22XXX +08805740002 80574180000320010624112Raiffeisen Banque Raiffeisen d'Anniviers 3961 St-Luc 027 475 32 15 027 475 33 36 *19-3445-5 RAIFCH22XXX +08805770000 80577280000220020605112Raiffeisen Banque Raiffeisen de Nendaz Route Principale Case postale 9 1996 Basse-Nendaz 027 288 15 31 027 288 42 85 19-1232-2 RAIFCH22XXX +08805770001 80577280000320020601112Raiffeisen Banque Raiffeisen de Nendaz Station 1997 Haute-Nendaz 027 288 11 71 027 288 11 88 *19-1232-2 RAIFCH22XXX +08805800000 80580180000220030201112Raiffeisen Banque Raiffeisen Lienne-Sionne Route de Lens 1958 St-Léonard 027 203 27 78 027 203 24 93 19-4858-8 RAIFCH22XXX +08805800001 80580180000320000426112Raiffeisen Banque Raiffeisen Lienne-Sionne 1974 Arbaz 027 398 35 05 027 398 18 03 *19-4858-8 RAIFCH22XXX +08805800002 80580180000319990429112Raiffeisen Banque Raiffeisen Lienne-Sionne 1966 Ayent 027 398 45 00 027 398 42 82 *19-4858-8 RAIFCH22XXX +08805800003 80580180000320011228112Raiffeisen Banque Raiffeisen Lienne-Sionne Immeuble Grand-Roc 1972 Anzère 027 398 74 25 027 398 74 29 *19-4858-8 RAIFCH22XXX +08805810000 80581680000220020830112Raiffeisen Banque Raiffeisen Bagnes-Vollèges Villette Case postale 41 1934 Châble VS, Le 027 777 17 70 027 777 17 71 19-931-9 RAIFCH22XXX +08805810001 80581680000320020822112Raiffeisen Banque Raiffeisen Bagnes-Vollèges 1942 Levron 027 785 18 14 027 785 18 46 *19-931-9 RAIFCH22XXX +08805810002 80581680000320020822112Raiffeisen Banque Raiffeisen Bagnes-Vollèges 1941 Vollèges 027 785 17 78 027 785 17 92 *19-931-9 RAIFCH22XXX +08805810003 80581680000320030625112Raiffeisen Banque Raiffeisen Bagnes-Vollèges 1936 Verbier 027 771 54 54 027 771 54 55 *19-931-9 RAIFCH22XXX +08805840000 80584880000220000426112Raiffeisen Banque Raiffeisen de Chalais-Vercorin Case postale 62 3966 Chalais 027 458 27 42 027 458 27 51 19-1331-1 RAIFCH22XXX +08805840001 80584880000320000426112Raiffeisen Banque Raiffeisen de Chalais-Vercorin 3967 Vercorin 027 455 26 80 027 455 55 13 *19-1331-1 RAIFCH22XXX +08805850000 80585380000220000421112Raiffeisen Banque Raiffeisen du Haut-de-Cry 1955 Chamoson 027 306 38 48 027 306 61 48 19-2549-9 RAIFCH22XXX +08805850002 80585380000319971129112Raiffeisen Banque Raiffeisen du Haut-de-Cry 1957 Ardon 027 306 22 72 027 306 61 18 *19-2549-9 RAIFCH22XXX +08805880000 80588580000220040701112Raiffeisen Banque Raiffeisen du Haut-Léman Route du Léman 10 Case postale 12 1895 Vionnaz 024 482 42 20 024 481 36 31 19-2664-3 RAIFCH22XXX +08805880001 80588580000320040923112Raiffeisen Banque Raiffeisen du Haut-Léman 1893 Muraz (Collombey) 024 473 40 77 024 472 81 55 *19-2664-3 RAIFCH22XXX +08805880002 80588580000320040703112Raiffeisen Banque Raiffeisen du Haut-Léman Case postale 57 1868 Collombey 024 473 40 70 024 473 40 73 *19-2664-3 RAIFCH22XXX +08805880003 80588580000320040701112Raiffeisen Banque Raiffeisen du Haut-Léman Case postale 112 1896 Vouvry 024 481 17 87 024 481 18 58 *19-2664-3 RAIFCH22XXX +08805880004 80588580000320040701112Raiffeisen Banque Raiffeisen du Haut-Léman 1898 St-Gingolph 024 481 82 79 024 481 82 79 *19-2664-3 RAIFCH22XXX +08805880005 80588580000320040701112Raiffeisen Banque Raiffeisen du Haut-Léman 1897 Bouveret 024 481 41 61 024 481 43 40 *19-2664-3 RAIFCH22XXX +08805890000 80589080000220031113112Raiffeisen Banque Raiffeisen de Conthey Rue centrale 57 Case postale 40 1964 Conthey 027 345 38 50 027 345 38 57 19-2528-6 RAIFCH22XXX +08805890002 80589080000319990506112Raiffeisen Banque Raiffeisen de Conthey 1976 Erde 027 346 40 50 027 346 40 50 *19-2528-6 RAIFCH22XXX +08805920000 80592880000220021228112Raiffeisen Banque Raiffeisen du Salentin Case postale 21 1902 Evionnaz 027 767 16 80 027 767 17 64 19-3427-9 RAIFCH22XXX +08805920001 80592880000319981203112Raiffeisen Banque Raiffeisen du Salentin 1904 Vernayaz 027 764 11 92 027 764 11 92 *19-3427-9 RAIFCH22XXX +088059300008059980593380000220030501112Raiffeisen Banque Raiffeisen d'Evolène 1983 Evolène 027 283 13 92 027 283 16 88 19-1063-9 RAIFCH22XXX +08805950000 80595780000220000420112Raiffeisen Banque Raiffeisen du Rhône et du Trient Case postale 194 1926 Fully 027 747 16 20 027 747 16 29 19-1454-1 RAIFCH22XXX +08805950001 80595780000320011128112Raiffeisen Banque Raiffeisen du Rhône et du Trient Rue de la poste 7 1920 Martigny 027 720 48 60 027 720 48 79 *19-1454-1 RAIFCH22XXX +08805950002 80595780000319980718112Raiffeisen Banque Raiffeisen du Rhône et du Trient 1922 Salvan 027 761 19 13 027 761 19 16 *19-1454-1 RAIFCH22XXX +08805950003 80595780000320011125112Raiffeisen Banque Raiffeisen du Rhône et du Trient 1923 Marécottes, Les 027 761 12 20 027 761 11 64 *19-1454-1 RAIFCH22XXX +08805950005 80595780000320011125112Raiffeisen Banque Raiffeisen du Rhône et du Trient 1925 Finhaut 027 768 12 27 027 768 10 13 *19-1454-1 RAIFCH22XXX +08805950006 80595780000320011128112Raiffeisen Banque Raiffeisen du Rhône et du Trient Place des Chênes 5 1906 Charrat 027 746 19 94 027 746 40 15 *19-1454-1 RAIFCH22XXX +08805950007 80595780000319990429112Raiffeisen Banque Raiffeisen du Rhône et du Trient 1929 Trient 027 768 12 27 *19-1454-1 RAIFCH22XXX +08805980000 80598180000220020126112Raiffeisen Banque Raiffeisen Sierre et Région Place de la Gare 7 Case postale 824 3960 Sierre/Siders 027 452 27 27 027 452 27 29 19-5683-3 RAIFCH22XXX +08805980002 80598180000320000426112Raiffeisen Banque Raiffeisen Sierre et Région 1973 Nax 027 203 25 70 027 203 25 70 *19-5683-3 RAIFCH22XXX +08805980004 80598180000320020601112Raiffeisen Banque Raiffeisen Sierre et Région le Morestel 3979 Grône 027 459 27 30 027 459 27 39 *19-5683-3 RAIFCH22XXX +08805980005 80598180000320000426112Raiffeisen Banque Raiffeisen Sierre et Région 3965 Chippis 027 455 19 76 027 455 32 89 *19-5683-3 RAIFCH22XXX +08805990000 80599680000220041124112Raiffeisen Banque Raiffeisen Hérens Rue de l'Eglise Case postale 10 1987 Hérémence 027 282 50 00 027 281 33 50 19-871-8 RAIFCH22XXX +08805990001 80599680000319981128112Raiffeisen Banque Raiffeisen Hérens 1982 Euseigne 027 281 33 52 027 281 33 54 *19-871-8 RAIFCH22XXX +08805990002 80599680000320030424112Raiffeisen Banque Raiffeisen Hérens 1983 Evolène 027 283 13 92 027 283 16 88 *19-871-8 RAIFCH22XXX +08805990003 80599680000320030504112Raiffeisen Banque Raiffeisen Hérens 1969 St-Martin VS 027 281 17 08 027 281 29 28 *19-871-8 RAIFCH22XXX +08805990004 80599680000320030504112Raiffeisen Banque Raiffeisen Hérens 1969 Mase/St-Martin 027 281 23 23 027 281 23 23 *19-871-8 RAIFCH22XXX +08806020000 80602080000220000426112Raiffeisen Banque Raiffeisen de Leytron-Saillon Case postale 88 1912 Leytron 027 306 29 85 027 306 64 44 19-217-7 RAIFCH22XXX +08806020001 80602080000319980718112Raiffeisen Banque Raiffeisen de Leytron-Saillon 1913 Saillon 027 744 27 67 027 744 37 57 *19-217-7 RAIFCH22XXX +08806030000 80603180000220020622112Raiffeisen Banque Raiffeisen Liddes et Bourg St-Pierre Rue de l'Eglise 1945 Liddes 027 783 22 88 027 783 22 00 19-2716-7 RAIFCH22XXX +08806060000 80606280000220010214112Raiffeisen Banque Raiffeisen Massongex-St-Maurice-Vérossaz Case postale 2 1869 Massongex 024 471 85 77 024 471 34 39 19-4585-6 RAIFCH22XXX +08806060001 80606280000320020323112Raiffeisen Banque Raiffeisen Massongex-St-Maurice-Vérossaz Place St-Maurice du Val-de-Marne 8 1890 St-Maurice 024 485 27 79 *19-4585-6 RAIFCH22XXX +08806060002 80606280000320000722112Raiffeisen Banque Raiffeisen Massongex-St-Maurice-Vérossaz 1891 Vérossaz 024 485 24 56 024 485 24 53 *19-4585-6 RAIFCH22XXX +08806080000 80608380000220000421112Raiffeisen Banque Raiffeisen de Miège-Venthône-Veyras 3972 Miège 027 455 53 03 027 455 52 03 19-6130-7 RAIFCH22XXX +08806080001 80608380000320020602112Raiffeisen Banque Raiffeisen de Miège-Venthône-Veyras Route de Montana 3973 Venthône 027 455 71 32 027 456 52 24 *19-6130-7 RAIFCH22XXX +08806110000 80611480000220020621112Raiffeisen Banque Raiffeisen de Monthey Avenue de la Gare 24 Case postale 1151 1870 Monthey 2 024 473 47 00 024 473 47 19 19-242-6 RAIFCH22XXX +08806130000 80613880000220020426112Raiffeisen Banque Raiffeisen d'Orsières Rue de la Commune Case postale 61 1937 Orsières 027 783 13 09 027 783 35 05 19-3327-0 RAIFCH22XXX +08806150000 80615980000220011101112Raiffeisen Banque Raiffeisen des Communes du Haut Plateau Case postale 4 3971 Chermignon 027 483 23 46 027 483 44 46 19-8313-5 RAIFCH22XXX +08806150001 80615980000320000421112Raiffeisen Banque Raiffeisen des Communes du Haut Plateau 3974 Mollens VS 027 481 76 76 *19-8313-5 RAIFCH22XXX +08806150002 80615980000320011101112Raiffeisen Banque Raiffeisen des Communes du Haut Plateau Imm. Anc. Laiterie 1978 Lens 027 483 19 93 *19-8313-5 RAIFCH22XXX +08806150003 80615980000320011101112Raiffeisen Banque Raiffeisen des Communes du Haut Plateau 3975 Randogne 027 481 84 14 027 480 13 74 *19-8313-5 RAIFCH22XXX +08806150004 80615980000320031018112Raiffeisen Banque Raiffeisen des Communes du Haut Plateau Village 3963 Montana 027 481 80 33 027 481 74 33 *19-8313-5 RAIFCH22XXX +088061900008059980619180000220030501112Raiffeisen Banque Raiffeisen de Mase/St-Martin Case postale 11 1969 St-Martin VS 027 281 17 08 027 281 29 28 19-9328-6 RAIFCH22XXX +08806250000 80625680000220020622112Raiffeisen Banque Raiffeisen de Sembrancher et Bovernier Route Grand-St. Bernard 1933 Sembrancher 027 785 17 16 027 785 21 47 19-8855-9 RAIFCH22XXX +08806250001 80625680000320000421112Raiffeisen Banque Raiffeisen de Sembrancher et Bovernier 1932 Bovernier 027 722 63 13 027 723 30 33 *19-8855-9 RAIFCH22XXX +08806260000 80626480000220010817112Raiffeisen Banque Raiffeisen de Troistorrents Place du Village 5 Case postale 49 1872 Troistorrents 024 476 87 38 024 476 87 39 19-1168-3 RAIFCH22XXX +08806260001 80626480000320010824112Raiffeisen Banque Raiffeisen de Troistorrents Route de france 25 1875 Morgins 024 477 12 11 024 477 49 39 *19-1168-3 RAIFCH22XXX +08806270000 80627280000220021124112Raiffeisen Banque Raiffeisen de Val-d'Illiez-Champéry Place Centrale Case postale 55 1873 Val-d'Illiez 024 476 80 70 024 476 80 71 19-8178-2 RAIFCH22XXX +08806270001 80627280000320000421112Raiffeisen Banque Raiffeisen de Val-d'Illiez-Champéry 1874 Champéry 024 479 13 43 024 479 30 63 *19-8178-2 RAIFCH22XXX +08806310000 80631680000219980116112Raiffeisen Banque Raiffeisen de Vex Case postale 53 1981 Vex 027 207 20 27 027 207 20 28 19-7445-7 RAIFCH22XXX +088063300008058880633280000220040701112Raiffeisen Banque Raiffeisen de Vionnaz Case postale 44 1895 Vionnaz 024 481 26 51 024 481 36 31 19-7425-6 RAIFCH22XXX +088063500008058880635380000220040701112Raiffeisen Banque Raiffeisen du Haut-Léman Case postale 112 1896 Vouvry 024 481 17 87 024 481 18 58 19-693-4 RAIFCH22XXX +08806510000 80651380000220021124111Raiffeisen Raiffeisenbank Auw Sinserstrasse 2 Postfach 80 5644 Auw 056 677 70 30 056 677 70 31 50-4106-2 RAIFCH22XXX +08806520000 80652980000220031113111Raiffeisen Raiffeisenbank Böttstein Hauptstrasse 18 Postfach 5314 Kleindöttingen 056 269 10 60 056 245 43 35 50-4883-5 RAIFCH22XXX +08806520001 80652980000320000421111Raiffeisen Raiffeisenbank Böttstein 5312 Döttingen 056 269 10 50 056 245 64 50 *50-4883-5 RAIFCH22XXX +08806520002 80652980000320000421111Raiffeisen Raiffeisenbank Böttstein 5234 Villigen 056 290 22 30 056 284 21 50 *50-4883-5 RAIFCH22XXX +08806520003 80652980000320030522111Raiffeisen Raiffeisenbank Böttstein Postfach 26 5313 Klingnau 056 268 70 10 056 268 70 11 *50-4883-5 RAIFCH22XXX +08806530000 80653780000220000421111Raiffeisen Raiffeisenbank Dietwil Vorderdorfstr. 2 6042 Dietwil 041 787 30 30 041 787 30 60 50-5609-1 RAIFCH22XXX +088065600008065280656180000220030501111Raiffeisen Raiffeisenbank Klingnau Postfach 26 5313 Klingnau 056 245 42 43 056 245 42 03 50-3549-6 RAIFCH22XXX +088065700008074080657680000220030501111Raiffeisen Raiffeisenbank Ehrendingen Dorfstr. 14 5422 Oberehrendingen 056 222 94 94 056 222 09 77 50-5149-4 RAIFCH22XXX +08806630000 80663480000220000426111Raiffeisen Raiffeisenbank Bözberg West Oberzeiherstrasse 4 5079 Zeihen 062 867 40 60 062 876 40 69 50-10420-8 RAIFCH22XXX +08806640000 80664280000220000421111Raiffeisen Raiffeisenbank Wölflinswil-Oberhof Dorfplatz 5063 Wölflinswil 062 877 11 10 062 877 11 29 50-8732-6 RAIFCH22XXX +08806660000 80666380000220041023111Raiffeisen Raiffeisenbank Bergdietikon Bergstrasse 35a 8962 Bergdietikon 044 744 54 54 044 744 54 55 50-14030-6 RAIFCH22XXX +08806660001 80666380000320041023111Raiffeisen Raiffeisenbank Bergdietikon 8953 Dietikon 044 744 54 54 044 744 54 55 *50-14030-6 RAIFCH22XXX +08806680000 80668780000220000421111Raiffeisen Raiffeisenbank Herznach-Ueken Hauptstr. 37 5027 Herznach 062 867 90 50 062 867 90 59 50-4076-4 RAIFCH22XXX +08806690000 80669580000220020614111Raiffeisen Raiffeisenbank Beinwil-Mühlau-Geltwil Wiggwilerstrasse 1 Postfach 45 5637 Beinwil (Freiamt) 056 668 16 71 056 668 16 22 50-5274-5 RAIFCH22XXX +08806690001 80669580000320000421111Raiffeisen Raiffeisenbank Beinwil-Mühlau-Geltwil 5642 Mühlau 056 668 10 88 056 668 25 60 *50-5274-5 RAIFCH22XXX +08806700000 80670580000220040724111Raiffeisen Raiffeisenbank Abtwil AG Schulhausstr. 2 Postfach 12 5646 Abtwil AG 041 787 15 17 041 787 24 61 50-9801-5 RAIFCH22XXX +08806730000 80673680000220020721111Raiffeisen Raiffeisenbank Mutschellen-Reppischtal Bellikerstrasse 8 Postfach 291 8964 Rudolfstetten 056 648 49 49 056 648 49 40 50-2808-7 RAIFCH22XXX +08806730001 80673680000320041023111Raiffeisen Raiffeisenbank Mutschellen-Reppischtal Zürcherstrasse 9 8903 Birmensdorf ZH 044 739 80 40 044 739 80 50 *50-2808-7 RAIFCH22XXX +08806750000 80675280000220010425111Raiffeisen Raiffeisenbank Boswil-Bünzen Zentralstr. 18 5623 Boswil 056 666 16 70 056 666 25 30 50-909-4 RAIFCH22XXX +08806750001 80675280000320020829111Raiffeisen Raiffeisenbank Boswil-Bünzen Moosweg 2 5624 Bünzen 056 666 12 51 056 666 35 12 *50-909-4 RAIFCH22XXX +08806830000 80683980000220040401111Raiffeisen Raiffeisenbank Eiken Schupfarterstrasse 7 Postfach 62 5074 Eiken 062 865 60 60 062 865 60 66 50-6982-5 RAIFCH22XXX +08806830001 80683980000320000419111Raiffeisen Raiffeisenbank Eiken 4333 Münchwilen AG 062 873 10 10 062 873 02 12 *50-6982-5 RAIFCH22XXX +08806830002 80683980000320021024111Raiffeisen Raiffeisenbank Eiken 4325 Schupfart 062 871 52 32 062 871 52 57 *50-6982-5 RAIFCH22XXX +08806830003 80683980000320000419111Raiffeisen Raiffeisenbank Eiken 4334 Sisseln AG 062 873 25 05 062 873 35 85 *50-6982-5 RAIFCH22XXX +088068500008070080685580000220030501111Raiffeisen Raiffeisenbank Endingen Marktgasse 5 5304 Endingen 056 242 15 85 056 242 10 91 50-4473-7 RAIFCH22XXX +088068700008071980687180000220030503111Raiffeisen Raiffeisenbank Fislisbach Postfach 31 5442 Fislisbach 056 493 37 37 056 493 74 84 50-1943-8 RAIFCH22XXX +08806890000 80689480000220000517111Raiffeisen Raiffeisenbank Mettauertal Galterstr. 3 5272 Gansingen 062 867 20 70 062 867 20 79 50-13193-2 RAIFCH22XXX +08806900000 80690380000220000922111Raiffeisen Raiffeisenbank Gebenstorf-Turgi-Windisch Unterriedenstr. 1 5412 Gebenstorf 056 201 00 50 056 201 00 51 50-4158-4 RAIFCH22XXX +08806900001 80690380000320000419111Raiffeisen Raiffeisenbank Gebenstorf-Turgi-Windisch 5300 Turgi 056 223 18 23 056 223 18 28 *50-4158-4 RAIFCH22XXX +08806900002 80690380000320000419111Raiffeisen Raiffeisenbank Gebenstorf-Turgi-Windisch 5210 Windisch 056 442 52 38 056 442 60 71 *50-4158-4 RAIFCH22XXX +08806910000 80691980000220021124111Raiffeisen Raiffeisenbank Regio Frick Landstrasse 40 Postfach 48 5073 Gipf-Oberfrick 062 865 88 10 062 871 93 79 50-2709-1 RAIFCH22XXX +08806910001 80691980000319980519111Raiffeisen Raiffeisenbank Regio Frick 5064 Wittnau 062 871 36 63 062 871 36 21 *50-2709-1 RAIFCH22XXX +08806910002 80691980000320000727111Raiffeisen Raiffeisenbank Regio Frick Vorstadt 278 5072 Oeschgen 062 871 31 31 062 871 02 32 *50-2709-1 RAIFCH22XXX +08806910003 80691980000320000930111Raiffeisen Raiffeisenbank Regio Frick 5070 Frick 062 865 88 10 062 865 88 29 *50-2709-1 RAIFCH22XXX +08806960000 80696680000220040412111Raiffeisen Raiffeisenbank Regio Laufenburg Mitteldorf 2 5082 Kaisten 062 869 80 20 062 869 80 21 50-12428-3 RAIFCH22XXX +08806960001 80696680000320040429111Raiffeisen Raiffeisenbank Regio Laufenburg Hauptstrasse 89 5085 Sulz AG 062 867 21 21 062 867 21 20 *50-12428-3 RAIFCH22XXX +08806980000 80698280000220000719111Raiffeisen Raiffeisenbank Kölliken-Entfelden Hauptstrasse 56 5742 Kölliken 062 737 07 37 062 737 07 57 50-2947-4 RAIFCH22XXX +08806980002 80698280000320010817111Raiffeisen Raiffeisenbank Kölliken-Entfelden 4814 Bottenwil 062 737 07 37 062 721 70 15 *50-2947-4 RAIFCH22XXX +08806980003 80698280000320010817111Raiffeisen Raiffeisenbank Kölliken-Entfelden Postfach 21 5036 Oberentfelden 062 737 07 37 062 737 46 56 *50-2947-4 RAIFCH22XXX +08806980004 80698280000320040422111Raiffeisen Raiffeisenbank Kölliken-Entfelden Dorfchärn 1 5037 Muhen 062 737 07 37 062 724 83 85 *50-2947-4 RAIFCH22XXX +08806980006 80698280000320010818111Raiffeisen Raiffeisenbank Kölliken-Entfelden 5001 Aarau 062 737 07 37 062 834 76 77 *50-2947-4 RAIFCH22XXX +088069900008070180699880000220040529111Raiffeisen Raiffeisenbank Leibstadt Leuggernstr. 487 5325 Leibstadt 056 267 63 63 056 267 63 69 50-4873-9 RAIFCH22XXX +08807000000 80700980000220030601111Raiffeisen Raiffeisenbank Surbtal-Wehntal Zürichstr. 5 5426 Lengnau AG 056 266 57 00 056 266 57 29 50-4162-6 RAIFCH22XXX +08807000001 80700980000320030601111Raiffeisen Raiffeisenbank Surbtal-Wehntal Marktgasse 5 5304 Endingen 056 266 57 40 056 266 57 59 *50-4162-6 RAIFCH22XXX +08807000002 80700980000320030601111Raiffeisen Raiffeisenbank Surbtal-Wehntal Postfach 5425 Schneisingen 056 266 57 60 056 266 57 79 *50-4162-6 RAIFCH22XXX +08807000003 80700980000320030601111Raiffeisen Raiffeisenbank Surbtal-Wehntal 5466 Kaiserstuhl AG 056 266 57 90 056 266 57 99 *50-4162-6 RAIFCH22XXX +08807000004 80700980000320030601111Raiffeisen Raiffeisenbank Surbtal-Wehntal 8166 Niederweningen 056 266 57 80 056 266 57 89 *50-4162-6 RAIFCH22XXX +08807000005 80700980000320030601111Raiffeisen Raiffeisenbank Surbtal-Wehntal Staltig 1 5306 Tegerfelden 056 266 57 30 056 266 57 39 *50-4162-6 RAIFCH22XXX +08807010000 80701780000220040529111Raiffeisen Raiffeisenbank Aare-Rhein Schulweg 1 Postfach 45 5316 Leuggern 056 268 60 70 056 268 60 99 50-4467-0 RAIFCH22XXX +08807010001 80701780000320000419111Raiffeisen Raiffeisenbank Aare-Rhein 5322 Koblenz 056 267 50 00 056 267 50 09 *50-4467-0 RAIFCH22XXX +08807010002 80701780000320000419111Raiffeisen Raiffeisenbank Aare-Rhein 5330 Zurzach 056 269 60 00 056 269 60 09 *50-4467-0 RAIFCH22XXX +08807010003 80701780000320040529111Raiffeisen Raiffeisenbank Aare-Rhein Dorfstrasse 229 5326 Schwaderloch 056 247 18 74 056 247 18 03 *50-4467-0 RAIFCH22XXX +08807010004 80701780000320040703111Raiffeisen Raiffeisenbank Aare-Rhein Leuggernstrasse 487 5325 Leibstadt 056 267 63 63 056 267 63 69 *50-4467-0 RAIFCH22XXX +08807020000 80702580000220040501111Raiffeisen Raiffeisenbank Kelleramt-Albis Postfach 75 8917 Oberlunkhofen 056 649 91 00 056 649 91 09 50-1608-1 RAIFCH22XXX +08807020001 80702580000320000419111Raiffeisen Raiffeisenbank Kelleramt-Albis 8905 Arni AG 056 634 11 46 056 634 15 66 *50-1608-1 RAIFCH22XXX +08807020002 80702580000320000419111Raiffeisen Raiffeisenbank Kelleramt-Albis 8916 Jonen 056 634 11 73 056 634 41 80 *50-1608-1 RAIFCH22XXX +08807020003 80702580000320040422111Raiffeisen Raiffeisenbank Kelleramt-Albis Bahnhofplatz 5a 8910 Affoltern am Albis 044 762 40 40 044 762 40 49 *50-1608-1 RAIFCH22XXX +08807040000 80704180000220020823111Raiffeisen Raiffeisenbank Reusstal Bahnhofstrasse 8 Postfach 118 5507 Mellingen 056 481 82 62 056 481 82 63 50-2675-8 RAIFCH22XXX +08807040004 80704180000319990429111Raiffeisen Raiffeisenbank Reusstal 5242 Lupfig 056 464 40 50 056 464 40 55 *50-2675-8 RAIFCH22XXX +08807040005 80704180000320020822111Raiffeisen Raiffeisenbank Reusstal Postfach 5608 Stetten AG 056 470 16 70 056 496 52 09 *50-2675-8 RAIFCH22XXX +08807050000 80705680000220000419111Raiffeisen Raiffeisenbank Merenschwand Postfach 175 5634 Merenschwand 056 675 40 60 056 675 40 70 50-2269-9 RAIFCH22XXX +08807060000 80706480000219980723111Raiffeisen Raiffeisenbank Möhlin Postfach 125 4313 Möhlin 061 855 46 46 061 855 46 47 40-10169-3 RAIFCH22XXX +08807060001 80706480000320000419111Raiffeisen Raiffeisenbank Möhlin 4322 Mumpf 062 873 38 00 062 873 38 55 *40-10169-3 RAIFCH22XXX +08807060002 80706480000320020524111Raiffeisen Raiffeisenbank Möhlin Schiffstrasse 16 4323 Wallbach 061 861 15 65 061 861 13 51 *40-10169-3 RAIFCH22XXX +08807060004 80706480000320011128111Raiffeisen Raiffeisenbank Möhlin Albrechtsplatz 1 4310 Rheinfelden 061 833 76 76 061 833 76 77 *40-10169-3 RAIFCH22XXX +08807060005 80706480000320041124111Raiffeisen Raiffeisenbank Möhlin Dorfstrasse 33 4303 Kaiseraugst 061 815 90 90 061 815 90 91 *40-10169-3 RAIFCH22XXX +08807160000 80716980000220041023111Raiffeisen Raiffeisenbank Obersiggenthal Hertensteinstr. 16 5415 Nussbaumen AG 056 296 33 33 056 296 33 35 50-3417-9 RAIFCH22XXX +08807180000 80718580000220000419111Raiffeisen Raiffeisenbank Reitnau Weinhalden 244 5057 Reitnau 062 726 11 64 062 726 12 14 50-4082-4 RAIFCH22XXX +08807190000 80719080000220030719111Raiffeisen Raiffeisenbank Rohrdorferberg-Fislisbach Bremgartenstrasse 20 Postfach 60 5443 Niederrohrdorf 056 483 53 53 056 483 53 55 50-1084-4 RAIFCH22XXX +08807190001 80719080000320030719111Raiffeisen Raiffeisenbank Rohrdorferberg-Fislisbach 5454 Bellikon 056 483 53 53 056 483 53 58 *50-1084-4 RAIFCH22XXX +08807190003 80719080000320030719111Raiffeisen Raiffeisenbank Rohrdorferberg-Fislisbach 5444 Künten 056 483 53 53 056 483 53 57 *50-1084-4 RAIFCH22XXX +08807190004 80719080000320030726111Raiffeisen Raiffeisenbank Rohrdorferberg-Fislisbach 5452 Oberrohrdorf 056 483 53 53 056 483 53 56 *50-1084-4 RAIFCH22XXX +08807190005 80719080000320030719111Raiffeisen Raiffeisenbank Rohrdorferberg-Fislisbach Postfach 31 5442 Fislisbach 056 483 53 53 056 483 53 54 *50-1084-4 RAIFCH22XXX +08807210000 80721280000220010627111Raiffeisen Raiffeisenbank Region Zofingen Postfach 160 4665 Oftringen 062 789 50 50 062 789 50 55 50-5311-2 RAIFCH22XXX +08807210002 80721280000320000419111Raiffeisen Raiffeisenbank Region Zofingen 4800 Zofingen 062 746 20 00 062 746 20 05 *50-5311-2 RAIFCH22XXX +08807210003 80721280000320010627111Raiffeisen Raiffeisenbank Region Zofingen 4803 Vordemwald 062 745 02 40 062 745 02 43 *50-5311-2 RAIFCH22XXX +08807210004 80721280000320010627111Raiffeisen Raiffeisenbank Region Zofingen 4802 Strengelbach 062 746 00 80 062 746 00 81 *50-5311-2 RAIFCH22XXX +08807210005 80721280000320030522111Raiffeisen Raiffeisenbank Region Zofingen 5745 Safenwil 062 789 10 00 062 789 10 01 *50-5311-2 RAIFCH22XXX +08807220000 80722880000220000419111Raiffeisen Raiffeisenbank Schinznach-Villnachern Oberdorfstr. 8 5107 Schinznach Dorf 056 443 29 76 056 443 29 78 50-3596-6 RAIFCH22XXX +08807220001 80722880000319980423111Raiffeisen Raiffeisenbank Schinznach-Villnachern 5213 Villnachern 056 442 16 82 056 442 16 14 *50-3596-6 RAIFCH22XXX +08807230000 80723380000220000426111Raiffeisen Raiffeisenbank Rued Turnhallenstrasse 435 5044 Schlossrued 062 739 20 20 062 739 20 25 50-9699-2 RAIFCH22XXX +08807230001 80723380000319990429111Raiffeisen Raiffeisenbank Rued 5046 Schmiedrued-Walde 062 726 17 27 062 726 10 31 *50-9699-2 RAIFCH22XXX +088072500008070080725780000220030501111Raiffeisen Raiffeisenbank Schneisingen Postfach 5425 Schneisingen 056 241 26 30 056 241 26 34 50-4605-2 RAIFCH22XXX +08807280000 80728180000220031002111Raiffeisen Raiffeisenbank Oberfreiamt Bremgartenstrasse 12 Postfach 90 5643 Sins 041 789 60 30 041 789 60 36 50-1914-7 RAIFCH22XXX +08807280001 80728180000320000419111Raiffeisen Raiffeisenbank Oberfreiamt 5647 Oberrüti 041 787 18 33 041 787 18 35 *50-1914-7 RAIFCH22XXX +08807280002 80728180000320020724111Raiffeisen Raiffeisenbank Oberfreiamt Postfach 315 5630 Muri AG 056 675 53 33 056 675 53 36 *50-1914-7 RAIFCH22XXX +08807280003 80728180000320020724111Raiffeisen Raiffeisenbank Oberfreiamt 5632 Buttwil 056 664 56 34 056 664 56 81 *50-1914-7 RAIFCH22XXX +088073000008069680730880000220040501111Raiffeisen Raiffeisenbank Sulz Hauptstr. 89 5085 Sulz AG 062 875 22 32 062 875 24 85 50-4828-5 RAIFCH22XXX +088073200008070080732980000220030501111Raiffeisen Raiffeisenbank Tegerfelden Staltig 1 5306 Tegerfelden 056 245 25 15 056 245 49 43 50-10634-1 RAIFCH22XXX +08807330000 80733780000220000419111Raiffeisen Raiffeisenbank Thalheim-Oberflachs Hegi 360 5112 Thalheim AG 056 443 22 64 056 443 22 75 50-2062-6 RAIFCH22XXX +08807330001 80733780000320010427111Raiffeisen Raiffeisenbank Thalheim-Oberflachs 5108 Oberflachs 056 443 13 14 *50-2062-6 RAIFCH22XXX +08807360000 80736180000220000419111Raiffeisen Raiffeisenbank Villmergen Postfach 187 5612 Villmergen 056 618 77 11 056 618 77 37 50-977-6 RAIFCH22XXX +08807360001 80736180000320000419111Raiffeisen Raiffeisenbank Villmergen 5605 Dottikon 056 616 90 80 056 616 90 87 *50-977-6 RAIFCH22XXX +08807360002 80736180000320000419111Raiffeisen Raiffeisenbank Villmergen 5607 Hägglingen 056 616 90 90 056 616 90 97 *50-977-6 RAIFCH22XXX +08807360003 80736180000320040222111Raiffeisen Raiffeisenbank Villmergen Im Zentrum 1b 5614 Sarmenstorf 056 667 20 08 056 667 20 28 *50-977-6 RAIFCH22XXX +08807360004 80736180000319980827111Raiffeisen Raiffeisenbank Villmergen 5606 Dintikon 056 624 11 78 056 624 41 09 *50-977-6 RAIFCH22XXX +08807390000 80739280000219980116111Raiffeisen Raiffeisenbank Wegenstetten Postfach 4317 Wegenstetten 061 871 07 51 061 873 90 10 40-3077-7 RAIFCH22XXX +08807400000 80740080000220030504111Raiffeisen Raiffeisenbank Lägern-Baregg St. Bernhardstrasse 4 Postfach 2263 5430 Wettingen 056 437 47 47 056 437 47 77 50-2572-8 RAIFCH22XXX +08807400001 80740080000320040214111Raiffeisen Raiffeisenbank Lägern-Baregg 5400 Baden 056 437 47 47 056 222 94 10 *50-2572-8 RAIFCH22XXX +08807400002 80740080000320020503111Raiffeisen Raiffeisenbank Lägern-Baregg Postfach 64 5413 Birmenstorf AG 056 437 47 47 056 225 20 16 *50-2572-8 RAIFCH22XXX +08807400003 80740080000320050126111Raiffeisen Raiffeisenbank Lägern-Baregg Dorfstrasse 41 5422 Oberehrendingen 056 437 47 47 056 222 09 77 *50-2572-8 RAIFCH22XXX +08807440000 80744280000220031016111Raiffeisen Raiffeisenbank Wohlen Stegmattweg 1 Postfach 12 5610 Wohlen 2 056 618 48 48 056 618 48 38 50-6418-8 RAIFCH22XXX +08807440002 80744280000320030222111Raiffeisen Raiffeisenbank Wohlen 5622 Waltenschwil 056 618 48 80 056 618 48 81 *50-6418-8 RAIFCH22XXX +08807440004 80744280000320000603111Raiffeisen Raiffeisenbank Wohlen 5524 Niederwil AG 056 618 70 60 056 621 13 93 *50-6418-8 RAIFCH22XXX +08807460000 80746380000220020501111Raiffeisen Raiffeisenbank Untersiggenthal-Würenlingen Postfach 48 5303 Würenlingen 056 297 41 41 056 297 41 51 50-752-1 RAIFCH22XXX +08807460001 80746380000320020426111Raiffeisen Raiffeisenbank Untersiggenthal-Würenlingen Postfach 5417 Untersiggenthal 056 298 52 52 056 298 52 62 *50-752-1 RAIFCH22XXX +08807470000 80747980000220000823111Raiffeisen Raiffeisenbank Würenlos Postfach 5436 Würenlos 056 436 70 20 056 436 70 39 50-2919-5 RAIFCH22XXX +08807470001 80747980000320020921111Raiffeisen Raiffeisenbank Würenlos Albertstrasse 4 5432 Neuenhof 056 436 70 20 056 436 70 39 *50-2919-5 RAIFCH22XXX +08807470002 80747980000320020921111Raiffeisen Raiffeisenbank Würenlos Dorfstrasse 62 8957 Spreitenbach 056 436 70 20 056 436 70 39 *50-2919-5 RAIFCH22XXX +08807480000 80748780000220000419111Raiffeisen Raiffeisenbank Zeiningen-Zuzgen Haldengasse 1 4314 Zeiningen 061 855 90 20 061 855 90 39 50-10014-3 RAIFCH22XXX +08807480001 80748780000320000419111Raiffeisen Raiffeisenbank Zeiningen-Zuzgen 4316 Hellikon 061 871 00 41 061 871 00 51 *50-10014-3 RAIFCH22XXX +08807490000 80749580000220040825111Raiffeisen Raiffeisenbank Zufikon Oberdorfstrasse 4 5621 Zufikon 056 648 20 30 056 633 96 19 50-12998-4 RAIFCH22XXX +08807490001 80749580000319990429111Raiffeisen Raiffeisenbank Zufikon 5620 Bremgarten AG 056 648 20 20 056 648 20 28 *50-12998-4 RAIFCH22XXX +08807710000 80771980000220050101111Raiffeisen Raiffeisenbank Oberbaselbiet Poststrasse 5 Postfach 4460 Gelterkinden 061 985 98 00 061 985 98 01 40-35060-9 RAIFCH22XXX +08807710006 80771980000320050126111Raiffeisen Raiffeisenbank Oberbaselbiet Hauptstrasse 5 4463 Buus 061 985 98 00 061 985 98 01 *40-35060-9 RAIFCH22XXX +08807730000 80773580000220020601111Raiffeisen Raiffeisenbank Liestal Rathausstrasse 58 Postfach 162 4410 Liestal 061 926 60 60 061 926 60 66 40-31200-6 RAIFCH22XXX +08807730001 80773580000319990523111Raiffeisen Raiffeisenbank Liestal 4456 Tenniken 061 971 16 76 061 971 90 40 *40-31200-6 RAIFCH22XXX +08807730002 80773580000320020601111Raiffeisen Raiffeisenbank Liestal Ausserdorf 5 4438 Langenbruck 062 390 11 06 062 390 00 79 *40-31200-6 RAIFCH22XXX +08807730003 80773580000320021201111Raiffeisen Raiffeisenbank Liestal Hofackerstrasse 2 4412 Nuglar 061 915 99 00 061 911 08 80 *40-31200-6 RAIFCH22XXX +08807730004 80773580000320021201111Raiffeisen Raiffeisenbank Liestal Brühlweg 8 4413 Büren SO 061 911 04 41 061 911 04 42 *40-31200-6 RAIFCH22XXX +08807740000 80774080000220050414111Raiffeisen Raiffeisenbank Oberwil Bottmingen Biel-Benken Binningen Hauptstrasse 16 Postfach 648 4104 Oberwil BL 061 406 92 00 061 406 92 01 40-5034-4 RAIFCH22XXX +08807740002 80774080000320030522111Raiffeisen Raiffeisenbank Oberwil Bottmingen Biel-Benken Binningen Hauptstrasse 50 4102 Binningen 061 425 90 60 061 425 90 61 *40-5034-4 RAIFCH22XXX +08807750000 80775180000220021011111Raiffeisen Raiffeisenbank Allschwil-Schönenbuch Baslerstrasse 70 Postfach 4123 Allschwil 2 061 487 80 80 061 487 80 81 40-8710-9 RAIFCH22XXX +08807750001 80775180000320020426111Raiffeisen Raiffeisenbank Allschwil-Schönenbuch Neuweilerstrasse 10 4124 Schönenbuch 061 483 16 00 *40-8710-9 RAIFCH22XXX +08807760000 80776680000220000419111Raiffeisen Raiffeisenbank Arlesheim-Münchenstein Hauptstr. 3 4144 Arlesheim 061 701 15 10 061 701 15 18 40-6868-3 RAIFCH22XXX +08807760001 80776680000320000419111Raiffeisen Raiffeisenbank Arlesheim-Münchenstein 4142 Münchenstein 061 411 08 88 061 411 13 63 *40-6868-3 RAIFCH22XXX +08807760002 80776680000320030424111Raiffeisen Raiffeisenbank Arlesheim-Münchenstein Hauptstrasse 81 4132 Muttenz 061 465 74 74 *40-6868-3 RAIFCH22XXX +08807770000 80777480000220000419111Raiffeisen Raiffeisenbank Ettingen Hauptstr. 20 4107 Ettingen 061 721 10 60 061 721 33 30 40-7973-3 RAIFCH22XXX +08807790000 80779880000220020127111Raiffeisen Raiffeisenbank Aesch-Pfeffingen Postfach 460 4147 Aesch BL 061 756 50 50 061 756 50 51 40-1440-6 RAIFCH22XXX +08807800000 80780780000220031011111Raiffeisen Raiffeisenbank Reinach BL Hauptstrasse 9 Postfach 460 4153 Reinach BL 061 717 98 68 061 711 43 90 40-6417-3 RAIFCH22XXX +08807840000 80784680000220000419111Raiffeisen Raiffeisenbank Therwil Bahnhofstr. 21 4106 Therwil 061 726 90 00 061 726 90 10 40-7242-0 RAIFCH22XXX +08807940000 80794380000220000419111Raiffeisen Raiffeisenbank Diemtigen Postfach 36 3753 Oey 033 681 80 40 033 681 80 41 30-7961-9 RAIFCH22XXX +08807940001 80794380000320000601111Raiffeisen Raiffeisenbank Diemtigen 3752 Wimmis 033 657 80 40 033 657 80 41 *30-7961-9 RAIFCH22XXX +08807940002 80794380000320000419111Raiffeisen Raiffeisenbank Diemtigen 3647 Reutigen 033 657 80 50 033 657 80 51 *30-7961-9 RAIFCH22XXX +08807950000 80795980000220000419111Raiffeisen Raiffeisenbank Innertkirchen Postfach 62 3862 Innertkirchen 033 972 10 80 033 972 10 88 30-18273-1 RAIFCH22XXX +08807950001 80795980000320010824111Raiffeisen Raiffeisenbank Innertkirchen 3864 Guttannen 033 973 13 73 033 973 13 75 *30-18273-1 RAIFCH22XXX +08808010000 80801280000220030926111Raiffeisen Raiffeisenbank Wilderswil Gsteigwiler Saxeten Lehngasse 16 Postfach 104 3812 Wilderswil 033 827 90 10 033 822 92 41 30-20066-9 RAIFCH22XXX +08808110000 80811380000220020908111Raiffeisen Raiffeisenbank Kiesental Postfach 3533 Bowil 031 712 15 15 031 712 15 19 30-32156-2 RAIFCH22XXX +08808110001 80811380000320000419111Raiffeisen Raiffeisenbank Kiesental 3672 Oberdiessbach 031 771 39 49 031 771 39 50 *30-32156-2 RAIFCH22XXX +08808110003 80811380000320000620111Raiffeisen Raiffeisenbank Kiesental Badhaus 3615 Heimenschwand 033 453 25 33 033 453 25 30 *30-32156-2 RAIFCH22XXX +08808110004 80811380000320040825111Raiffeisen Raiffeisenbank Kiesental Dorf 3673 Linden 031 771 22 32 031 771 34 63 *30-32156-2 RAIFCH22XXX +08808110006 80811380000320001019111Raiffeisen Raiffeisenbank Kiesental 3110 Münsingen 031 724 14 14 031 724 14 15 *30-32156-2 RAIFCH22XXX +08808110007 80811380000320020426111Raiffeisen Raiffeisenbank Kiesental Kreuzplatz 6 3510 Konolfingen 031 790 90 20 031 790 90 29 *30-32156-2 RAIFCH22XXX +08808160000 80816180000220011228111Raiffeisen Raiffeisenbank Niedersimmental-West Postfach 50 3762 Erlenbach im Simmental 033 681 80 30 033 681 24 12 30-7676-6 RAIFCH22XXX +08808160001 80816180000320010628111Raiffeisen Raiffeisenbank Niedersimmental-West Postfach 26 3763 Därstetten 033 783 83 83 033 783 83 80 *30-7676-6 RAIFCH22XXX +08808160002 80816180000320021228111Raiffeisen Raiffeisenbank Niedersimmental-West Hüpbach 3765 Oberwil im Simmental 033 783 83 53 033 783 18 40 *30-7676-6 RAIFCH22XXX +08808170000 80817680000220040122111Raiffeisen Raiffeisenbank Steffisburg Höchhusweg 4 Postfach 267 3612 Steffisburg 033 439 23 92 033 439 23 93 30-22804-5 RAIFCH22XXX +08808170002 80817680000320031219111Raiffeisen Raiffeisenbank Steffisburg 3657 Schwanden (Sigriswil) 033 439 23 92 033 439 23 93 *30-22804-5 RAIFCH22XXX +08808170003 80817680000320040123111Raiffeisen Raiffeisenbank Steffisburg Dorfstrasse 44 3622 Homberg b. Thun 033 439 23 92 033 439 23 93 *30-22804-5 RAIFCH22XXX +08808170006 80817680000320031219111Raiffeisen Raiffeisenbank Steffisburg 3617 Fahrni b. Thun 033 439 23 92 033 439 23 93 *30-22804-5 RAIFCH22XXX +08808170007 80817680000320030604111Raiffeisen Raiffeisenbank Steffisburg Ried 75 K 3614 Unterlangenegg 033 453 81 00 033 453 16 24 *30-22804-5 RAIFCH22XXX +08808170008 80817680000320031219111Raiffeisen Raiffeisenbank Steffisburg 3619 Eriz 033 453 81 00 033 453 16 24 *30-22804-5 RAIFCH22XXX +08808170009 80817680000320031219111Raiffeisen Raiffeisenbank Steffisburg Weiher 3616 Schwarzenegg 033 453 81 00 033 453 16 24 *30-22804-5 RAIFCH22XXX +08808170010 80817680000320031219111Raiffeisen Raiffeisenbank Steffisburg Dorf 3618 Süderen 033 453 81 00 033 453 16 24 *30-22804-5 RAIFCH22XXX +08808190000 80819280000220040529111Raiffeisen Raiffeisenbank Grauholz Bernstrasse 16 3312 Fraubrunnen 031 760 17 17 031 760 17 15 30-15426-9 RAIFCH22XXX +08808190001 80819280000320000419111Raiffeisen Raiffeisenbank Grauholz 3054 Schüpfen 031 879 15 55 031 879 29 55 *30-15426-9 RAIFCH22XXX +08808190002 80819280000320030908111Raiffeisen Raiffeisenbank Grauholz Zentrumsplatz 9 3322 Urtenen-Schönbühl 031 859 86 86 031 859 86 80 *30-15426-9 RAIFCH22XXX +08808190003 80819280000320040529111Raiffeisen Raiffeisenbank Grauholz Bernstrasse 101 Postfach 634 3052 Zollikofen 031 910 64 00 031 910 64 01 *30-15426-9 RAIFCH22XXX +08808190004 80819280000320040529111Raiffeisen Raiffeisenbank Grauholz Säriswilstrasse 13 3043 Uettligen 031 829 30 81 031 829 30 24 *30-15426-9 RAIFCH22XXX +08808190005 80819280000320040529111Raiffeisen Raiffeisenbank Grauholz 3046 Wahlendorf 031 829 30 81 031 829 30 24 *30-15426-9 RAIFCH22XXX +08808200000 80820080000220020823111Raiffeisen Raiffeisenbank Frutigland Marktplatz Postfach 32 3714 Frutigen 033 672 80 10 033 672 80 19 30-8660-1 RAIFCH22XXX +08808200001 80820080000320021124111Raiffeisen Raiffeisenbank Frutigland Mosimatte / Landstrasse 6B 3715 Adelboden 033 673 33 66 033 673 33 58 *30-8660-1 RAIFCH22XXX +08808200002 80820080000320021124111Raiffeisen Raiffeisenbank Frutigland Dorfstrasse 3703 Aeschi b. Spiez 033 654 99 09 033 654 99 86 *30-8660-1 RAIFCH22XXX +08808200003 80820080000320000419111Raiffeisen Raiffeisenbank Frutigland 3713 Reichenbach im Kandertal 033 676 21 76 033 676 21 14 *30-8660-1 RAIFCH22XXX +08808230000 80823480000220000419111Raiffeisen Raiffeisenbank Saanenland Anderhalbacher 3784 Feutersoey 033 755 19 20 033 755 19 46 34-4189-8 RAIFCH22XXX +08808230001 80823480000320000419111Raiffeisen Raiffeisenbank Saanenland 3781 Turbach 033 744 35 03 *34-4189-8 RAIFCH22XXX +08808330000 80833680000220030508111Raiffeisen Raiffeisenbank Bielersee Hauptstrasse 17 Postfach 92 2563 Ipsach 032 331 63 64 032 331 98 62 25-5389-7 RAIFCH22XXX +08808330001 80833680000320000426111Raiffeisen Raiffeisenbank Bielersee 2512 Tüscherz-Alfermée 032 322 61 91 032 322 28 15 *25-5389-7 RAIFCH22XXX +08808330005 80833680000320030925111Raiffeisen Raiffeisenbank Bielersee Dorfplatz 8 3232 Ins 032 312 80 50 032 312 80 51 *25-5389-7 RAIFCH22XXX +08808370000 80837380000220031212111Raiffeisen Raiffeisenbank Lütschinentäler im Raiffeisenhaus Postfach 3822 Lauterbrunnen 033 854 11 11 033 856 22 28 30-7593-5 RAIFCH22XXX +08808370001 80837380000320010628111Raiffeisen Raiffeisenbank Lütschinentäler 3818 Grindelwald 033 854 11 11 033 854 11 12 *30-7593-5 RAIFCH22XXX +08808370003 80837380000320020127111Raiffeisen Raiffeisenbank Lütschinentäler Gemeindeschreiberei 3816 Lütschental 033 854 11 11 033 854 11 12 *30-7593-5 RAIFCH22XXX +08808370004 80837380000320000603111Raiffeisen Raiffeisenbank Lütschinentäler 3823 Wengen 033 854 11 11 033 856 22 29 *30-7593-5 RAIFCH22XXX +08808370005 80837380000320011130111Raiffeisen Raiffeisenbank Lütschinentäler Grafbödeli 3815 Zweilütschinen 033 855 22 21 *30-7593-5 RAIFCH22XXX +08808380000 80838980000220020615111Raiffeisen Raiffeisenbank Thunersee-Süd Bahnhofstrasse 12 Postfach 566 3700 Spiez 033 655 88 88 033 655 88 89 30-2028-5 RAIFCH22XXX +08808380001 80838980000320040123111Raiffeisen Raiffeisenbank Thunersee-Süd Dorfstrasse 20 3704 Krattigen 033 654 82 62 033 654 82 02 *30-2028-5 RAIFCH22XXX +08808380002 80838980000320050224111Raiffeisen Raiffeisenbank Thunersee-Süd 3706 Leissigen 033 847 88 88 033 847 88 89 *30-2028-5 RAIFCH22XXX +08808420000 80842380000220030701111Raiffeisen Raiffeisenbank Interlaken-Unterseen Beim Ostbahnhof Postfach 652 3800 Interlaken 033 828 82 88 033 828 82 80 30-8158-4 RAIFCH22XXX +08808420001 80842380000320000426111Raiffeisen Raiffeisenbank Interlaken-Unterseen 3806 Bönigen b. Interlaken 033 822 04 10 033 822 04 25 *30-8158-4 RAIFCH22XXX +08808420002 80842380000320000123111Raiffeisen Raiffeisenbank Interlaken-Unterseen 3800 Matten b. Interlaken 033 822 23 22 033 823 15 79 *30-8158-4 RAIFCH22XXX +08808420003 80842380000320030626111Raiffeisen Raiffeisenbank Interlaken-Unterseen Postfach 263 3800 Unterseen 033 826 72 72 033 826 72 73 *30-8158-4 RAIFCH22XXX +08808430000 80843980000219980924111Raiffeisen Raiffeisenbank Meiringen Postfach 628 3860 Meiringen 033 972 10 10 033 972 10 18 30-13929-4 RAIFCH22XXX +08808430001 80843980000320010317111Raiffeisen Raiffeisenbank Meiringen 6085 Hasliberg Goldern 033 972 11 50 033 972 11 58 *30-13929-4 RAIFCH22XXX +08808430002 80843980000320020227111Raiffeisen Raiffeisenbank Meiringen 3856 Brienzwiler 033 951 17 90 *30-13929-4 RAIFCH22XXX +08808430003 80843980000319980827111Raiffeisen Raiffeisenbank Meiringen 3855 Brienz BE 033 951 34 33 033 951 20 25 *30-13929-4 RAIFCH22XXX +08808430005 80843980000320020227111Raiffeisen Raiffeisenbank Meiringen Hauptstrasse 3854 Oberried am Brienzersee 033 849 13 33 033 849 13 16 *30-13929-4 RAIFCH22XXX +08808530000 80853580000219990430111Raiffeisen Raiffeisenbank Ringgenberg Postfach 8 3852 Ringgenberg BE 033 828 61 61 033 828 61 60 30-1347-9 RAIFCH22XXX +08808530001 80853580000320020427111Raiffeisen Raiffeisenbank Ringgenberg 3805 Goldswil b. Interlaken 033 828 61 65 *30-1347-9 RAIFCH22XXX +08808530002 80853580000320000426111Raiffeisen Raiffeisenbank Ringgenberg 3804 Habkern 033 843 14 14 033 843 14 74 *30-1347-9 RAIFCH22XXX +08808530003 80853580000320030522111Raiffeisen Raiffeisenbank Ringgenberg 3807 Iseltwald 033 845 12 33 033 828 61 60 *30-1347-9 RAIFCH22XXX +08808530004 80853580000320020427111Raiffeisen Raiffeisenbank Ringgenberg 3853 Niederried b. Interlaken 033 828 61 61 *30-1347-9 RAIFCH22XXX +08808530005 80853580000320020426111Raiffeisen Raiffeisenbank Ringgenberg Haus Raiffeisen 3803 Beatenberg 033 841 12 43 033 841 12 49 *30-1347-9 RAIFCH22XXX +08808560000 80856680000220010223111Raiffeisen Raiffeisenbank Obersimmental 3770 Zweisimmen 033 729 12 22 033 729 12 23 30-7246-1 RAIFCH22XXX +08808560001 80856680000320010628111Raiffeisen Raiffeisenbank Obersimmental 3766 Boltigen 033 773 84 55 033 773 84 56 *30-7246-1 RAIFCH22XXX +08808560002 80856680000320010628111Raiffeisen Raiffeisenbank Obersimmental Postfach 310 3775 Lenk im Simmental 033 736 35 15 033 736 35 16 *30-7246-1 RAIFCH22XXX +08808560003 80856680000320001230111Raiffeisen Raiffeisenbank Obersimmental Nageldach 3772 St. Stephan 033 729 80 40 033 729 80 41 *30-7246-1 RAIFCH22XXX +08808600000 80860780000220010628111Raiffeisen Raiffeisenbank Schwarzwasser Postfach 111 3150 Schwarzenburg 031 734 55 55 031 734 55 54 30-30296-8 RAIFCH22XXX +08808600002 80860780000320050320111Raiffeisen Raiffeisenbank Schwarzwasser 3145 Niederscherli 031 734 55 55 031 734 55 54 *30-30296-8 RAIFCH22XXX +08808600004 80860780000320050320111Raiffeisen Raiffeisenbank Schwarzwasser Bankgässli 3 3096 Oberbalm 031 734 55 55 031 734 55 54 *30-30296-8 RAIFCH22XXX +08808600006 80860780000320050320111Raiffeisen Raiffeisenbank Schwarzwasser Stockmatt 3154 Rüschegg Heubach 031 734 55 55 031 734 55 54 *30-30296-8 RAIFCH22XXX +08808600007 80860780000320050320111Raiffeisen Raiffeisenbank Schwarzwasser Bläuacker 4 3098 Köniz 031 734 55 55 031 734 55 54 *30-30296-8 RAIFCH22XXX +08808620000 80862080000220040321111Raiffeisen Raiffeisenbank Seeland Postfach 2557 Studen BE 032 387 21 21 032 387 21 20 25-914-7 RAIFCH22XXX +08808620002 80862080000320040326111Raiffeisen Raiffeisenbank Seeland 2555 Brügg BE 032 387 21 21 032 374 71 40 *25-914-7 RAIFCH22XXX +08808620003 80862080000320040326111Raiffeisen Raiffeisenbank Seeland 3294 Büren an der Aare 032 387 21 21 032 352 17 70 *25-914-7 RAIFCH22XXX +08808620005 80862080000320040321111Raiffeisen Raiffeisenbank Seeland 3292 Busswil b. Büren 032 387 21 21 032 387 84 50 *25-914-7 RAIFCH22XXX +08808620006 80862080000320040321111Raiffeisen Raiffeisenbank Seeland Stadtplatz 29 3270 Aarberg 032 387 21 21 032 391 74 60 *25-914-7 RAIFCH22XXX +08808620007 80862080000320001019111Raiffeisen Raiffeisenbank Seeland 3250 Lyss 032 387 21 21 032 387 21 20 *25-914-7 RAIFCH22XXX +08808670000 80867880000220031009111Raiffeisen Raiffeisenbank Region Uetendorf-Thun Dorfstrasse 5 3661 Uetendorf 033 227 83 60 033 227 83 61 30-23367-6 RAIFCH22XXX +08808670001 80867880000320030425111Raiffeisen Raiffeisenbank Region Uetendorf-Thun 3627 Heimberg 033 227 83 60 033 346 83 89 *30-23367-6 RAIFCH22XXX +08808670003 80867880000320030523111Raiffeisen Raiffeisenbank Region Uetendorf-Thun Burgstrasse 20 3600 Thun 033 227 83 60 033 227 83 61 *30-23367-6 RAIFCH22XXX +088086800008081780868380000220030604111Raiffeisen Raiffeisenbank Schwarzenegg Ried 75 K 3614 Unterlangenegg 033 453 81 00 033 453 16 24 30-29441-0 RAIFCH22XXX +088086900008084280869980000220030701111Raiffeisen Raiffeisenbank Unterseen Postfach 263 3800 Unterseen 033 826 72 72 033 826 72 73 30-5017-8 RAIFCH22XXX +08808730000 80873880000220020622111Raiffeisen Raiffeisenbank Oberemmental Dorf 3538 Röthenbach im Emmental 034 491 10 60 034 491 24 60 34-3343-7 RAIFCH22XXX +08808730001 80873880000320020503111Raiffeisen Raiffeisenbank Oberemmental 3537 Eggiwil 034 491 18 66 034 491 20 94 *34-3343-7 RAIFCH22XXX +08808730002 80873880000320020427111Raiffeisen Raiffeisenbank Oberemmental 6197 Schangnau 034 493 41 44 034 493 41 33 *34-3343-7 RAIFCH22XXX +08808750000 80875980000220040401111Raiffeisen Raiffeisenbank Unteremmental Dorfstr. 16 3432 Lützelflüh-Goldbach 034 460 60 00 034 460 60 01 34-4154-2 RAIFCH22XXX +08808750001 80875980000320021228111Raiffeisen Raiffeisenbank Unteremmental 3457 Wasen im Emmental 034 437 10 20 034 437 04 03 *34-4154-2 RAIFCH22XXX +08808750002 80875980000319980718111Raiffeisen Raiffeisenbank Unteremmental 3453 Heimisbach 034 431 16 41 034 431 31 38 *34-4154-2 RAIFCH22XXX +08808750003 80875980000320010519111Raiffeisen Raiffeisenbank Unteremmental 4950 Huttwil 062 962 00 04 062 962 07 30 *34-4154-2 RAIFCH22XXX +08808820000 80882580000220010218111Raiffeisen Raiffeisenbank Signau-Trub Dorfstr. 49 3534 Signau 034 497 19 42 034 497 29 42 30-5108-0 RAIFCH22XXX +08808820001 80882580000320000419111Raiffeisen Raiffeisenbank Signau-Trub 3556 Trub 034 495 61 00 034 495 61 63 *30-5108-0 RAIFCH22XXX +08808820002 80882580000320000520111Raiffeisen Raiffeisenbank Signau-Trub 3550 Langnau im Emmental 034 402 81 66 034 402 81 65 *30-5108-0 RAIFCH22XXX +08808850000 80885680000220000419111Raiffeisen Raiffeisenbank Zäziwil Postfach 183 3532 Zäziwil 031 711 27 25 031 711 57 25 34-1513-7 RAIFCH22XXX +08808880000 80888880000220040529111Raiffeisen Raiffeisenbank Region Burgdorf Bahnhofstrasse 20 Postfach 3401 Burgdorf 034 420 85 85 034 420 85 86 34-55-9 RAIFCH22XXX +08808880004 80888880000320020724111Raiffeisen Raiffeisenbank Region Burgdorf 3415 Hasle-Rüegsau 034 420 85 85 034 420 85 86 *34-55-9 RAIFCH22XXX +088089100008090180891680000220040401111Raiffeisen Raiffeisenbank Alterswil Hauptstrasse 67 Postfach 31 1715 Alterswil FR 026 494 22 64 026 494 25 87 17-479-4 RAIFCH22XXX +08808930000 80893280000220040123111Raiffeisen Raiffeisenbank Bösingen Freiburgstrasse 8 Postfach 3178 Bösingen 031 747 71 45 031 747 69 76 17-3246-8 RAIFCH22XXX +08808940000 80894880000220040922111Raiffeisen Raiffeisenbank Düdingen Bahnhofplatz 1 3186 Düdingen 026 492 52 52 026 492 52 50 17-1797-9 RAIFCH22XXX +08808950000 80895380000220040412111Raiffeisen Raiffeisenbank Aergera-Galtera Dorfplatz 7 1735 Giffers 026 418 93 55 026 418 93 50 17-2889-2 RAIFCH22XXX +08808950001 80895380000320040422111Raiffeisen Raiffeisenbank Aergera-Galtera 1736 St. Silvester 026 418 93 69 026 418 25 26 *17-2889-2 RAIFCH22XXX +08808950002 80895380000320040429111Raiffeisen Raiffeisenbank Aergera-Galtera Amselweg 6 1718 Rechthalten 026 418 93 65 026 418 25 09 *17-2889-2 RAIFCH22XXX +08808950003 80895380000320040429111Raiffeisen Raiffeisenbank Aergera-Galtera 1717 St. Ursen 026 494 22 22 026 494 22 22 *17-2889-2 RAIFCH22XXX +08808960000 80896980000220030927111Raiffeisen Raiffeisenbank See-Lac St. Germanstrasse 222 3212 Gurmels 026 674 30 30 026 674 13 17 17-391-8 RAIFCH22XXX +08808960001 80896980000320030704112Raiffeisen Banque Raiffeisen See-Lac Case postale 118 1784 Courtepin 026 684 82 82 026 684 82 83 *17-391-8 RAIFCH22XXX +08808960002 80896980000320031218111Raiffeisen Raiffeisenbank See-Lac Bernstrasse 30 3280 Murten 026 672 30 90 026 672 30 99 *17-391-8 RAIFCH22XXX +08808970000 80897780000220000419111Raiffeisen Raiffeisenbank Heitenried Dorfzentrum 1714 Heitenried 026 495 15 15 026 495 12 35 17-693-3 RAIFCH22XXX +08808980000 80898580000220020829111Raiffeisen Raiffeisenbank Jaun Dorfstrasse 5 1656 Jaun 026 929 82 33 026 929 85 97 17-3327-4 RAIFCH22XXX +08808990000 80899080000220020524111Raiffeisen Raiffeisenbank Plaffeien-Plasselb Hauptstrasse 7 Postfach 128 1716 Plaffeien 026 419 95 00 026 419 95 09 17-849-5 RAIFCH22XXX +08808990002 80899080000320041124111Raiffeisen Raiffeisenbank Plaffeien-Plasselb 1737 Plasselb 026 419 95 00 026 419 31 57 *17-849-5 RAIFCH22XXX +088090000008089580900280000220040501111Raiffeisen Raiffeisenbank Rechthalten-St. Ursen Postfach 1718 Rechthalten 026 418 12 22 026 418 25 09 17-886-2 RAIFCH22XXX +08809010000 80901880000220040401111Raiffeisen Raiffeisenbank Freiburg Ost Santonihus 1713 St. Antoni 026 495 90 90 026 495 90 95 17-256-4 RAIFCH22XXX +08809010001 80901880000319990429112Raiffeisen Banque Raiffeisen Fribourg Est 1701 Fribourg 026 347 34 20 026 347 34 24 *17-256-4 RAIFCH22XXX +08809010002 80901880000320040325111Raiffeisen Raiffeisenbank Freiburg Ost Hauptstrasse 67 Postfach 31 1715 Alterswil FR 026 494 22 64 026 494 25 87 *17-256-4 RAIFCH22XXX +08809040000 80904780000220000419111Raiffeisen Raiffeisenbank Ueberstorf Albigenstrasse 10 3182 Ueberstorf 031 741 03 30 031 741 03 96 17-3502-2 RAIFCH22XXX +08809050000 80905580000220000419111Raiffeisen Raiffeisenbank Wünnewil-Flamatt Postfach 70 3184 Wünnewil 026 497 55 77 026 497 55 87 17-692-8 RAIFCH22XXX +08809050001 80905580000320030522111Raiffeisen Raiffeisenbank Wünnewil-Flamatt 3176 Neuenegg 031 744 14 14 031 744 14 10 *17-692-8 RAIFCH22XXX +08809050002 80905580000320020607111Raiffeisen Raiffeisenbank Wünnewil-Flamatt Bodenmattstrasse 5 3185 Schmitten FR 026 497 50 50 026 497 50 55 *17-692-8 RAIFCH22XXX +08809110000 80911980000220030307111Raiffeisen Raiffeisenbank Dulliken-Starrkirch Bahnhofstrasse 40 4657 Dulliken 062 285 40 30 062 285 40 35 46-777-5 RAIFCH22XXX +08809120000 80912780000220020427111Raiffeisen Raiffeisenbank Zentralgäu Kornhausplatz 2 Postfach 4622 Egerkingen 062 387 99 33 062 387 99 44 46-693-8 RAIFCH22XXX +08809120001 80912780000320020503111Raiffeisen Raiffeisenbank Zentralgäu Hauptgasse 13 Postfach 4624 Härkingen 062 388 99 55 062 388 99 56 *46-693-8 RAIFCH22XXX +08809120002 80912780000320020301111Raiffeisen Raiffeisenbank Zentralgäu Dorfstrasse 70 4623 Neuendorf 062 398 11 34 062 398 11 26 *46-693-8 RAIFCH22XXX +08809130000 80913580000220030823111Raiffeisen Raiffeisenbank Flumenthal-Günsberg Baselstrasse 3 4534 Flumenthal 032 637 29 19 032 637 27 24 45-1325-1 RAIFCH22XXX +08809130002 80913580000320030425111Raiffeisen Raiffeisenbank Flumenthal-Günsberg Gasse 4 4524 Günsberg 032 637 11 73 032 637 32 66 *45-1325-1 RAIFCH22XXX +08809140000 80914080000220020525111Raiffeisen Raiffeisenbank Fulenbach-Murgenthal-Langenthal Postfach 60 4629 Fulenbach 062 917 01 40 062 917 01 49 46-3808-8 RAIFCH22XXX +08809140001 80914080000320040625111Raiffeisen Raiffeisenbank Fulenbach-Murgenthal-Langenthal Hauptstrasse 145 4853 Murgenthal 062 917 02 70 062 917 02 88 *46-3808-8 RAIFCH22XXX +08809140002 80914080000319990520111Raiffeisen Raiffeisenbank Fulenbach-Murgenthal-Langenthal 4900 Langenthal 062 919 42 30 062 919 42 39 *46-3808-8 RAIFCH22XXX +088091500008097180915180000220030501111Raiffeisen Raiffeisenbank Gerlafingen Postfach 308 4563 Gerlafingen 032 674 55 00 032 674 55 01 45-2278-7 RAIFCH22XXX +08809170000 80917480000220020427111Raiffeisen Raiffeisenbank Kappel-Boningen-Gunzgen Mittelgäustrasse 23 4616 Kappel SO 062 209 22 66 062 209 22 77 46-2896-5 RAIFCH22XXX +08809170001 80917480000320031122111Raiffeisen Raiffeisenbank Kappel-Boningen-Gunzgen Allmendstrasse 2 4617 Gunzgen 062 209 22 88 062 209 22 89 *46-2896-5 RAIFCH22XXX +08809180000 80918280000220000420111Raiffeisen Raiffeisenbank Lostorf-Obergösgen Hauptstr. 7 4654 Lostorf 062 298 00 00 062 298 27 63 46-3767-9 RAIFCH22XXX +08809180001 80918280000319990429111Raiffeisen Raiffeisenbank Lostorf-Obergösgen 4653 Obergösgen 062 298 00 00 062 295 03 77 *46-3767-9 RAIFCH22XXX +08809240000 80924680000220030926111Raiffeisen Raiffeisenbank Gilgenberg Kleine Seite 6 Postfach 30 4208 Nunningen 061 795 96 96 061 791 08 04 40-5837-7 RAIFCH22XXX +08809240001 80924680000320040222111Raiffeisen Raiffeisenbank Gilgenberg 4204 Himmelried 061 741 22 00 061 791 08 04 *40-5837-7 RAIFCH22XXX +08809240002 80924680000320040222111Raiffeisen Raiffeisenbank Gilgenberg Hauptstrasse 76 4233 Meltingen 061 791 93 92 061 791 08 04 *40-5837-7 RAIFCH22XXX +08809240003 80924680000320040222111Raiffeisen Raiffeisenbank Gilgenberg Postfach 13 4234 Zullwil 061 791 06 37 061 791 08 04 *40-5837-7 RAIFCH22XXX +08809240004 80924680000320040222111Raiffeisen Raiffeisenbank Gilgenberg Dorfstrasse 5 4206 Seewen SO 061 911 06 53 061 791 08 04 *40-5837-7 RAIFCH22XXX +08809250000 80925480000220020503111Raiffeisen Raiffeisenbank Oensingen Hauptstrasse 2 Postfach 165 4702 Oensingen 062 388 30 40 062 388 30 45 46-990-9 RAIFCH22XXX +08809250001 80925480000319980515111Raiffeisen Raiffeisenbank Oensingen 4537 Wiedlisbach 032 636 06 66 032 636 06 65 *46-990-9 RAIFCH22XXX +08809260000 80926280000219980429111Raiffeisen Raiffeisenbank Witterswil Bättwil Rodersdorf Postfach 101 4108 Witterswil 061 721 66 11 061 721 66 15 40-12050-2 RAIFCH22XXX +08809260001 80926280000319980425111Raiffeisen Raiffeisenbank Witterswil Bättwil Rodersdorf 4118 Rodersdorf 061 731 30 10 061 731 38 64 *40-12050-2 RAIFCH22XXX +08809280000 80928380000220000420111Raiffeisen Raiffeisenbank Aeschi Luzernstr. 5 4556 Aeschi SO 062 961 13 84 062 961 64 71 45-630-6 RAIFCH22XXX +08809300000 80930680000220020622111Raiffeisen Raiffeisenbank Balsthal-Laupersdorf Goldgasse 16 Postfach 244 4710 Balsthal 062 386 10 10 062 386 10 11 46-1211-6 RAIFCH22XXX +08809300001 80930680000320041023111Raiffeisen Raiffeisenbank Balsthal-Laupersdorf 4714 Aedermannsdorf 062 386 10 10 062 394 22 64 *46-1211-6 RAIFCH22XXX +08809300002 80930680000320020426111Raiffeisen Raiffeisenbank Balsthal-Laupersdorf Unterdorfstrasse 35 4712 Laupersdorf 062 386 70 60 062 386 70 69 *46-1211-6 RAIFCH22XXX +088093200008096880932280000220040731111Raiffeisen Raiffeisenbank Bellach Dorfstrasse Postfach 510 4512 Bellach 032 625 28 48 032 625 28 49 45-753-9 RAIFCH22XXX +08809330000 80933880000220030626111Raiffeisen Raiffeisenbank Biberist Bernstrasse 11 Postfach 4562 Biberist 032 672 25 63 032 672 35 41 45-3702-3 RAIFCH22XXX +08809350000 80935980000220000420111Raiffeisen Raiffeisenbank Lüsseltal Breitenbachstr. 38 4227 Büsserach 061 789 96 00 061 789 96 09 40-12758-9 RAIFCH22XXX +08809350001 80935980000320000420111Raiffeisen Raiffeisenbank Lüsseltal 4228 Erschwil 061 781 32 46 061 781 42 46 *40-12758-9 RAIFCH22XXX +08809360000 80936780000220000420111Raiffeisen Raiffeisenbank Däniken-Gretzenbach Oberdorfstr. 10 4658 Däniken SO 062 288 77 77 062 288 77 78 46-739-7 RAIFCH22XXX +08809360001 80936780000319970704111Raiffeisen Raiffeisenbank Däniken-Gretzenbach Postfach 5014 Gretzenbach 062 849 23 13 062 849 02 62 *46-739-7 RAIFCH22XXX +08809370000 80937580000220000420111Raiffeisen Raiffeisenbank Deitingen Bahnhofstr. 33 4543 Deitingen 032 614 26 26 032 614 38 18 45-2237-2 RAIFCH22XXX +08809380000 80938080000220010824111Raiffeisen Raiffeisenbank Derendingen Postfach 143 4552 Derendingen 032 681 50 10 032 681 50 11 45-3537-6 RAIFCH22XXX +08809390000 80939180000220000420111Raiffeisen Raiffeisenbank Dornach Postfach 137 4143 Dornach 1 061 706 86 86 061 706 86 87 40-9606-4 RAIFCH22XXX +08809390002 80939180000320001230111Raiffeisen Raiffeisenbank Dornach Hauptstrasse 4 Postfach 4146 Hochwald 061 751 37 55 061 751 31 81 *40-9606-4 RAIFCH22XXX +08809390004 80939180000320011201111Raiffeisen Raiffeisenbank Dornach Amthausstrasse 21 4143 Dornach 061 706 87 77 061 706 87 75 *40-9606-4 RAIFCH22XXX +08809400000 80940980000220010518111Raiffeisen Raiffeisenbank Erlinsbach Postfach 5015 Niedererlinsbach 062 857 00 00 062 857 00 01 50-4377-5 RAIFCH22XXX +08809400001 80940980000319981202111Raiffeisen Raiffeisenbank Erlinsbach 5026 Densbüren 062 878 15 53 062 878 10 72 *50-4377-5 RAIFCH22XXX +08809400002 80940980000320000420111Raiffeisen Raiffeisenbank Erlinsbach 4468 Kienberg 062 844 30 33 062 844 07 35 *50-4377-5 RAIFCH22XXX +08809400003 80940980000320020822111Raiffeisen Raiffeisenbank Erlinsbach Hauptstrasse 15 5024 Küttigen 062 839 00 00 062 839 00 01 *50-4377-5 RAIFCH22XXX +08809470000 80947280000220000420111Raiffeisen Raiffeisenbank Hägendorf-Rickenbach Eigasse 8 4614 Hägendorf 062 209 40 80 062 209 40 84 46-349-9 RAIFCH22XXX +08809480000 80948880000220001019111Raiffeisen Raiffeisenbank Halten Postfach 4566 Halten 032 674 44 00 032 674 44 01 45-1931-3 RAIFCH22XXX +08809540000 80954880000220000620111Raiffeisen Raiffeisenbank Oberes Leimental Ettingerstrasse 17/19 4114 Hofstetten SO 061 735 91 00 061 735 91 01 40-4128-6 RAIFCH22XXX +08809540001 80954880000320000620111Raiffeisen Raiffeisenbank Oberes Leimental Hauptstrasse 4 4116 Metzerlen 061 735 90 90 061 735 90 99 *40-4128-6 RAIFCH22XXX +08809550000 80955380000220020426111Raiffeisen Raiffeisenbank Kestenholz Neue Strasse 2 Postfach 50 4703 Kestenholz 062 393 12 22 062 393 12 19 46-3027-8 RAIFCH22XXX +08809590000 80959080000220010628111Raiffeisen Raiffeisenbank Luterbach Postfach 217 4542 Luterbach 032 681 30 50 032 681 30 51 45-1553-4 RAIFCH22XXX +08809620000 80962880000220020921111Raiffeisen Raiffeisenbank Mümliswil-Ramiswil und Holderbank Postfach 109 4717 Mümliswil 062 386 10 30 062 386 10 49 46-370-1 RAIFCH22XXX +08809620001 80962880000320000721111Raiffeisen Raiffeisenbank Mümliswil-Ramiswil und Holderbank Dorfzentrum 4718 Holderbank SO 062 390 15 32 062 390 10 13 *46-370-1 RAIFCH22XXX +08809640000 80964980000220000420111Raiffeisen Raiffeisenbank Niederbuchsiten Hauptstr. 237 4626 Niederbuchsiten 062 393 11 47 062 393 28 10 46-1517-0 RAIFCH22XXX +08809650000 80965780000220000420111Raiffeisen Raiffeisenbank Niedergösgen-Schönenwerd-Eppenberg Hauptstr. 17 5013 Niedergösgen 062 858 73 73 062 858 73 83 50-2945-1 RAIFCH22XXX +08809650001 80965780000320031018111Raiffeisen Raiffeisenbank Niedergösgen-Schönenwerd-Eppenberg Hauptstrasse 30 4655 Stüsslingen 062 858 73 73 062 858 73 83 *50-2945-1 RAIFCH22XXX +088096600008077380966580000220021130111Raiffeisen Raiffeisenbank Oristal Hofackerstr. 2 4412 Nuglar 061 915 99 00 061 911 08 80 40-347-1 RAIFCH22XXX +08809670000 80967080000219980116111Raiffeisen Raiffeisenbank Oberbuchsiten Postfach 4625 Oberbuchsiten 062 393 11 33 062 393 31 03 46-676-6 RAIFCH22XXX +08809680000 80968180000220040626111Raiffeisen Raiffeisenbank Weissenstein Weissensteinstr. 95 4515 Oberdorf SO 032 625 28 28 032 625 28 29 45-3635-2 RAIFCH22XXX +08809680001 80968180000320040626111Raiffeisen Raiffeisenbank Weissenstein 4513 Langendorf 032 625 28 68 032 625 28 69 *45-3635-2 RAIFCH22XXX +08809680002 80968180000320040626111Raiffeisen Raiffeisenbank Weissenstein 4522 Rüttenen 032 625 28 78 032 625 28 79 *45-3635-2 RAIFCH22XXX +08809680003 80968180000320040802111Raiffeisen Raiffeisenbank Weissenstein Dorfstrasse 4512 Bellach 032 625 28 48 032 625 28 49 *45-3635-2 RAIFCH22XXX +08809700000 80970880000220020323111Raiffeisen Raiffeisenbank Olten Ringstrasse 15 Postfach 4603 Olten 062 205 05 05 062 205 05 06 46-90-0 RAIFCH22XXX +08809710000 80971380000220030926111Raiffeisen Raiffeisenbank Recherswil-Gerlafingen-Koppigen Hauptstr. 109 4565 Recherswil 032 674 40 40 032 674 40 41 45-5220-1 RAIFCH22XXX +08809710001 80971380000320000420111Raiffeisen Raiffeisenbank Recherswil-Gerlafingen-Koppigen 3425 Koppigen 034 413 20 20 034 413 20 25 *45-5220-1 RAIFCH22XXX +08809710002 80971380000320030926111Raiffeisen Raiffeisenbank Recherswil-Gerlafingen-Koppigen Postfach 308 4563 Gerlafingen 032 674 40 70 032 674 40 71 *45-5220-1 RAIFCH22XXX +08809760000 80976180000220040930111Raiffeisen Raiffeisenbank Wandflue Postfach 321 2545 Selzach 032 654 74 74 032 654 74 95 45-1381-3 RAIFCH22XXX +08809760002 80976180000320041023111Raiffeisen Raiffeisenbank Wandflue 2544 Bettlach 032 654 74 74 032 654 74 85 *45-1381-3 RAIFCH22XXX +08809760003 80976180000320040722111Raiffeisen Raiffeisenbank Wandflue 2540 Grenchen 032 654 74 74 032 654 74 75 *45-1381-3 RAIFCH22XXX +08809770000 80977680000220000420111Raiffeisen Raiffeisenbank Solothurn Kronengasse 12 4501 Solothurn 032 624 11 11 032 624 11 24 45-2677-3 RAIFCH22XXX +08809770001 80977680000320020426111Raiffeisen Raiffeisenbank Solothurn Rötistrasse 4 4532 Feldbrunnen 032 623 15 25 032 623 15 34 *45-2677-3 RAIFCH22XXX +08809770002 80977680000320010628111Raiffeisen Raiffeisenbank Solothurn 4533 Riedholz 032 622 81 55 032 623 46 81 *45-2677-3 RAIFCH22XXX +088097800008096580978480000220030501111Raiffeisen Raiffeisenbank Stüsslingen-Rohr Hauptstrasse 30 4655 Stüsslingen 062 298 22 33 062 298 14 07 46-2226-2 RAIFCH22XXX +08809790000 80979280000220000420111Raiffeisen Raiffeisenbank Subingen-Horriwil Bahnhofstrasse 9 4553 Subingen 032 613 32 10 032 613 32 11 45-848-0 RAIFCH22XXX +08809790001 80979280000320020426111Raiffeisen Raiffeisenbank Subingen-Horriwil Hauptstrasse 35 4557 Horriwil 032 614 15 17 032 614 16 23 *45-848-0 RAIFCH22XXX +08809810000 80981180000220020614111Raiffeisen Raiffeisenbank Wangen b. Olten Dorfstrasse 71 Postfach 368 4612 Wangen b. Olten 062 206 77 77 062 206 77 66 46-1306-5 RAIFCH22XXX +08809820000 80982680000220030823111Raiffeisen Raiffeisenbank Dünnerntal Hauptstrasse 550 4716 Welschenrohr 032 639 16 16 032 639 16 17 45-856-4 RAIFCH22XXX +08809820001 80982680000320000420111Raiffeisen Raiffeisenbank Dünnerntal Postfach 4715 Herbetswil 062 394 12 52 062 394 19 64 *45-856-4 RAIFCH22XXX +08809820002 80982680000320000420111Raiffeisen Raiffeisenbank Dünnerntal Postfach 4713 Matzendorf 062 394 14 14 062 394 14 67 *45-856-4 RAIFCH22XXX +08809830000 80983480000220020227111Raiffeisen Raiffeisenbank Winznau Unterdorfstrasse 2 Postfach 32 4652 Winznau 062 295 03 50 062 295 03 25 46-1317-6 RAIFCH22XXX +08809850000 80985880000220030316111Raiffeisen Raiffeisenbank Wolfwil-Schwarzhäusern-Bannwil Hauptstrasse 28 Postfach 4628 Wolfwil 062 917 40 00 062 917 40 04 46-4211-4 RAIFCH22XXX +08809860000 80986380000219980421111Raiffeisen Raiffeisenbank Zuchwil Postfach 365 4528 Zuchwil 032 686 61 11 032 686 61 10 45-4402-4 RAIFCH22XXX +08810110000 81011580000219990521111Raiffeisen Raiffeisenbank Appenzeller Hinterland Postfach 9102 Herisau 071 354 80 60 071 351 12 02 90-1573-2 RAIFCH22XXX +08810110001 81011580000320000420111Raiffeisen Raiffeisenbank Appenzeller Hinterland 9104 Waldstatt 071 351 20 17 071 351 20 46 *90-1573-2 RAIFCH22XXX +08810110002 81011580000320030522111Raiffeisen Raiffeisenbank Appenzeller Hinterland Dorfplatz 16 9107 Urnäsch 071 364 19 60 071 364 19 90 *90-1573-2 RAIFCH22XXX +08810120000 81012080000220030823111Raiffeisen Raiffeisenbank Heiden Freihof / Poststrasse 21 9410 Heiden 071 898 83 60 071 898 83 61 90-9682-9 RAIFCH22XXX +08810120001 81012080000320020602111Raiffeisen Raiffeisenbank Heiden Dorf 25 9044 Wald AR 071 877 11 62 071 877 14 07 *90-9682-9 RAIFCH22XXX +08810120002 81012080000320000420111Raiffeisen Raiffeisenbank Heiden 9427 Wolfhalden 071 898 83 70 071 898 83 71 *90-9682-9 RAIFCH22XXX +08810220000 81022280000220020613111Raiffeisen Raiffeisenbank Gonten-Brülisau Dorf Postfach 33 9108 Gonten 071 795 40 80 071 795 40 81 90-10020-0 RAIFCH22XXX +08810220001 81022280000320000420111Raiffeisen Raiffeisenbank Gonten-Brülisau 9058 Brülisau 071 799 15 22 071 799 15 84 *90-10020-0 RAIFCH22XXX +08810230000 81023880000220000420111Raiffeisen Raiffeisenbank Appenzell Postfach 241 9050 Appenzell 071 788 80 80 071 788 80 81 90-1608-4 RAIFCH22XXX +08810230001 81023880000320000420111Raiffeisen Raiffeisenbank Appenzell 9055 Bühler 071 790 00 66 071 790 00 69 *90-1608-4 RAIFCH22XXX +08810230002 81023880000320041023111Raiffeisen Raiffeisenbank Appenzell Am Bahnhof, Ebni 3 9053 Teufen AR 071 335 03 70 071 335 03 71 *90-1608-4 RAIFCH22XXX +08810310000 81031780000220011228111Raiffeisen Raiffeisenbank Glarnerland Rösslistrasse 10 Postfach 141 8752 Näfels 055 618 45 45 055 618 45 40 87-842-4 RAIFCH22XXX +08810310001 81031780000320030523111Raiffeisen Raiffeisenbank Glarnerland Stampfgasse 10 8750 Glarus 055 618 45 45 055 618 45 40 *87-842-4 RAIFCH22XXX +08810430000 81043280000220031119111Raiffeisen Raiffeisenbank Imboden Plaz 1 Postfach 35 7013 Domat/Ems 081 633 10 10 081 633 20 35 70-4154-9 RAIFCH22XXX +08810430001 81043280000320020427111Raiffeisen Raiffeisenbank Imboden 7404 Feldis/Veulden 081 655 15 06 081 655 15 06 *70-4154-9 RAIFCH22XXX +08810430002 81043280000320020427111Raiffeisen Raiffeisenbank Imboden 7012 Felsberg 081 252 22 72 081 252 01 49 *70-4154-9 RAIFCH22XXX +08810430003 81043280000320030626111Raiffeisen Raiffeisenbank Imboden 7403 Rhäzüns 081 641 26 08 081 641 10 51 *70-4154-9 RAIFCH22XXX +08810430004 81043280000320030610111Raiffeisen Raiffeisenbank Imboden Postfach 54 7402 Bonnaduz 081 641 23 21 081 641 23 41 *70-4154-9 RAIFCH22XXX +08810430005 81043280000320031219111Raiffeisen Raiffeisenbank Imboden Afuris 22 7015 Tamins 081 641 23 38 *70-4154-9 RAIFCH22XXX +08810430006 81043280000320030610111Raiffeisen Raiffeisenbank Imboden 7106 Tenna 081 645 11 47 081 645 11 47 *70-4154-9 RAIFCH22XXX +08810430007 81043280000320030626111Raiffeisen Raiffeisenbank Imboden Hauptstrasse 7104 Versam 081 645 12 44 *70-4154-9 RAIFCH22XXX +08810450000 81045380000220010824111Raiffeisen Raiffeisenbank Bündner Rheintal Bahnhofstrasse 37 Postfach 278 7302 Landquart 081 300 65 65 081 300 65 66 70-1960-4 RAIFCH22XXX +08810450001 81045380000320021228111Raiffeisen Raiffeisenbank Bündner Rheintal 7307 Jenins 081 300 65 65 081 302 77 15 *70-1960-4 RAIFCH22XXX +08810450002 81045380000320031018111Raiffeisen Raiffeisenbank Bündner Rheintal Bungertweg 5 7206 Igis 081 300 65 65 081 322 69 68 *70-1960-4 RAIFCH22XXX +08810450004 81045380000320040222111Raiffeisen Raiffeisenbank Bündner Rheintal Kirchgasse 1 7208 Malans GR 081 300 65 65 081 330 00 28 *70-1960-4 RAIFCH22XXX +08810450005 81045380000319980225111Raiffeisen Raiffeisenbank Bündner Rheintal 7004 Chur 081 286 92 80 081 286 92 81 *70-1960-4 RAIFCH22XXX +08810450006 81045380000320021228111Raiffeisen Raiffeisenbank Bündner Rheintal 7057 Langwies 081 300 65 65 *70-1960-4 RAIFCH22XXX +08810450007 81045380000320021228111Raiffeisen Raiffeisenbank Bündner Rheintal Postfach 220 7075 Churwalden 081 300 65 65 081 382 21 27 *70-1960-4 RAIFCH22XXX +08810470000 81047780000220011026111Raiffeisen Raiffeisenbank Vorderprättigau Dorfplatz 17A Postfach 47 7220 Schiers 081 300 20 20 081 300 20 21 70-2396-5 RAIFCH22XXX +08810470001 81047780000320020602111Raiffeisen Raiffeisenbank Vorderprättigau Bim Anhora 7232 Furna 081 332 31 13 081 332 27 82 *70-2396-5 RAIFCH22XXX +08810470002 81047780000320000420111Raiffeisen Raiffeisenbank Vorderprättigau 7214 Grüsch 081 325 23 53 081 325 32 45 *70-2396-5 RAIFCH22XXX +08810470004 81047780000320000420111Raiffeisen Raiffeisenbank Vorderprättigau 7212 Seewis Dorf 081 325 11 43 081 325 11 16 *70-2396-5 RAIFCH22XXX +08810470005 81047780000320030927111Raiffeisen Raiffeisenbank Vorderprättigau Platz 7215 Fanas 081 325 22 66 *70-2396-5 RAIFCH22XXX +08810480000 81048580000220020613111Raiffeisen Raiffeisenbank Calanda Kantonsstrasse 60 Postfach 28 7205 Zizers 081 300 06 20 081 300 06 21 70-165-7 RAIFCH22XXX +08810480001 81048580000320000420111Raiffeisen Raiffeisenbank Calanda 7203 Trimmis 081 353 44 97 081 353 77 46 *70-165-7 RAIFCH22XXX +08810480002 81048580000320020426111Raiffeisen Raiffeisenbank Calanda Postfach 44 7204 Untervaz 081 300 06 80 081 300 06 88 *70-165-7 RAIFCH22XXX +08810540000 81054980000220000420113Raiffeisen Banca Raiffeisen del Moesano Casella postale 269 6558 Lostallo 091 820 51 11 091 820 51 19 65-4252-1 RAIFCH22XXX +08810540001 81054980000320000530113Raiffeisen Banca Raiffeisen del Moesano 6537 Grono 091 827 16 66 091 827 32 63 *65-4252-1 RAIFCH22XXX +08810540002 81054980000320000420113Raiffeisen Banca Raiffeisen del Moesano 6535 Roveredo GR 091 827 27 75 091 827 17 37 *65-4252-1 RAIFCH22XXX +08810540003 81054980000319970801113Raiffeisen Banca Raiffeisen del Moesano 6543 Arvigo 091 828 14 55 091 828 10 11 *65-4252-1 RAIFCH22XXX +08810540004 81054980000320010628113Raiffeisen Banca Raiffeisen del Moesano 6563 Mesocco 091 831 15 75 091 831 20 35 *65-4252-1 RAIFCH22XXX +088106100008104381061380000220030607111Raiffeisen Raiffeisenbank Bonaduz Postfach 54 7402 Bonaduz 081 641 23 21 081 641 23 41 70-5316-1 RAIFCH22XXX +08810630000 81063780000220040701111Raiffeisen Raiffeisenbank Mittelbünden Postfach 56 7408 Cazis 081 651 45 00 081 651 40 72 70-2357-8 RAIFCH22XXX +08810630002 81063780000320000420111Raiffeisen Raiffeisenbank Mittelbünden 7460 Savognin 081 684 27 47 081 684 32 38 *70-2357-8 RAIFCH22XXX +08810630005 81063780000320011219111Raiffeisen Raiffeisenbank Mittelbünden Neudorfstrasse 13 7430 Thusis 081 630 07 88 081 630 08 75 *70-2357-8 RAIFCH22XXX +08810630006 81063780000320010628111Raiffeisen Raiffeisenbank Mittelbünden 7417 Paspels 081 655 12 40 081 655 17 30 *70-2357-8 RAIFCH22XXX +08810630007 81063780000320010628111Raiffeisen Raiffeisenbank Mittelbünden 7411 Sils im Domleschg 081 651 33 72 081 651 33 94 *70-2357-8 RAIFCH22XXX +08810630008 81063780000320020427111Raiffeisen Raiffeisenbank Mittelbünden Gemeindehaus 7412 Scharans 081 651 39 65 081 651 39 66 *70-2357-8 RAIFCH22XXX +08810630009 81063780000320040923111Raiffeisen Raiffeisenbank Mittelbünden Postfach 2 7435 Splügen 081 664 12 32 081 664 10 68 *70-2357-8 RAIFCH22XXX +08810630010 81063780000320040923111Raiffeisen Raiffeisenbank Mittelbünden 7447 Cresta (Avers) 081 667 11 56 081 630 80 06 *70-2357-8 RAIFCH22XXX +08810630011 81063780000320040701111Raiffeisen Raiffeisenbank Mittelbünden 7433 Donath 081 661 16 16 081 661 19 04 *70-2357-8 RAIFCH22XXX +08810720000 81072680000220021228111Raiffeisen Raiffeisenbank Disentis/Cadi Via Cons 1 7180 Disentis/Mustér 081 920 30 60 081 920 30 61 70-1479-0 RAIFCH22XXX +08810720001 81072680000319971106111Raiffeisen Raiffeisenbank Disentis/Cadi 7176 Cumpadials 081 943 25 35 081 943 25 35 *70-1479-0 RAIFCH22XXX +08810720002 81072680000319971106111Raiffeisen Raiffeisenbank Disentis/Cadi 7175 Sumvitg 081 943 10 78 081 943 10 78 *70-1479-0 RAIFCH22XXX +08810720003 81072680000319971106111Raiffeisen Raiffeisenbank Disentis/Cadi 7173 Surrein 081 943 13 62 *70-1479-0 RAIFCH22XXX +08810720004 81072680000320000520111Raiffeisen Raiffeisenbank Disentis/Cadi 7184 Curaglia 081 947 52 53 081 947 40 65 *70-1479-0 RAIFCH22XXX +08810720005 81072680000320000520111Raiffeisen Raiffeisenbank Disentis/Cadi 7166 Trun 081 943 11 81 081 943 26 66 *70-1479-0 RAIFCH22XXX +08810730000 81073480000220020602111Raiffeisen Raiffeisenbank Surselva Bahnhofstrasse 33 Postfach 264 7130 Ilanz 081 920 01 01 081 920 01 02 70-9631-4 RAIFCH22XXX +08810730001 81073480000320041124111Raiffeisen Raiffeisenbank Surselva 7017 Flims Dorf 081 911 42 88 081 911 42 58 *70-9631-4 RAIFCH22XXX +08810730003 81073480000320000420111Raiffeisen Raiffeisenbank Surselva 7152 Sagogn 081 921 67 27 081 921 67 27 *70-9631-4 RAIFCH22XXX +08810730004 81073480000319980515111Raiffeisen Raiffeisenbank Surselva 7132 Vals 081 935 11 45 081 935 11 45 *70-9631-4 RAIFCH22XXX +08810730005 81073480000320020823111Raiffeisen Raiffeisenbank Surselva Gemeindekanzlei 7122 Valendas 081 921 60 60 081 921 60 64 *70-9631-4 RAIFCH22XXX +08810730006 81073480000320030301111Raiffeisen Raiffeisenbank Surselva Canzlia communala 7154 Ruschein 081 925 18 29 081 925 19 30 *70-9631-4 RAIFCH22XXX +08810730007 81073480000319980515111Raiffeisen Raiffeisenbank Surselva 7156 Rueun 081 925 11 60 081 925 11 60 *70-9631-4 RAIFCH22XXX +08810730008 81073480000319980822111Raiffeisen Raiffeisenbank Surselva 7157 Siat 081 925 17 05 *70-9631-4 RAIFCH22XXX +08810730009 81073480000320000420111Raiffeisen Raiffeisenbank Surselva 7153 Falera 081 921 38 38 081 921 46 47 *70-9631-4 RAIFCH22XXX +08810730010 81073480000320000420111Raiffeisen Raiffeisenbank Surselva 7159 Andiast 081 941 21 41 *70-9631-4 RAIFCH22XXX +08810730011 81073480000320000420111Raiffeisen Raiffeisenbank Surselva 7143 Morissen 081 931 22 21 081 931 22 21 *70-9631-4 RAIFCH22XXX +08810730012 81073480000320000420111Raiffeisen Raiffeisenbank Surselva 7147 Vignogn 081 931 10 32 081 931 33 52 *70-9631-4 RAIFCH22XXX +08810730013 81073480000320011228111Raiffeisen Raiffeisenbank Surselva 7145 Degen 081 936 80 30 081 936 80 31 *70-9631-4 RAIFCH22XXX +08810730014 81073480000320011228111Raiffeisen Raiffeisenbank Surselva 7142 Cumbel 081 936 81 00 081 936 81 01 *70-9631-4 RAIFCH22XXX +08810730015 81073480000320010628111Raiffeisen Raiffeisenbank Surselva Postfach 17 7134 Obersaxen Meierhof 081 933 18 80 081 933 13 91 *70-9631-4 RAIFCH22XXX +08810730016 81073480000320030725111Raiffeisen Raiffeisenbank Surselva Center Communal / via Prinicpala 91 7031 Laax GR 081 921 56 56 081 921 56 50 *70-9631-4 RAIFCH22XXX +08810750000 81075880000220000426111Raiffeisen Raiffeisenbank Heinzenberg Postfach 50 7427 Urmein 081 630 00 96 081 630 00 97 70-3482-2 RAIFCH22XXX +08810750001 81075880000320000426111Raiffeisen Raiffeisenbank Heinzenberg 7423 Sarn 081 630 08 25 081 630 08 26 *70-3482-2 RAIFCH22XXX +088107900008107381079580000220030508111Raiffeisen Raiffeisenbank Laax Center Communal 7031 Laax GR 081 921 56 56 081 921 56 50 70-6699-9 RAIFCH22XXX +08810840000 81084480000220040107111Raiffeisen Raiffeisenbank Mittelprättigau-Davos Postfach 7240 Küblis 081 300 32 32 081 300 32 33 70-6222-0 RAIFCH22XXX +08810840002 81084480000320000420111Raiffeisen Raiffeisenbank Mittelprättigau-Davos 7246 St. Antönien 081 330 54 60 081 330 54 61 *70-6222-0 RAIFCH22XXX +08810840003 81084480000320000420111Raiffeisen Raiffeisenbank Mittelprättigau-Davos 7235 Fideris 081 330 54 50 081 330 54 51 *70-6222-0 RAIFCH22XXX +08810840004 81084480000320000420111Raiffeisen Raiffeisenbank Mittelprättigau-Davos 7233 Jenaz 081 330 54 54 081 330 54 55 *70-6222-0 RAIFCH22XXX +08810840005 81084480000320040602111Raiffeisen Raiffeisenbank Mittelprättigau-Davos Lagrischa SA 7243 Pany 081 330 54 56 *70-6222-0 RAIFCH22XXX +08810840006 81084480000320000420111Raiffeisen Raiffeisenbank Mittelprättigau-Davos 7250 Klosters 081 420 27 30 081 420 27 31 *70-6222-0 RAIFCH22XXX +08810840007 81084480000320010621111Raiffeisen Raiffeisenbank Mittelprättigau-Davos Postfach 7270 Davos Platz 081 410 62 20 081 410 62 21 *70-6222-0 RAIFCH22XXX +08810840008 81084480000320010628111Raiffeisen Raiffeisenbank Mittelprättigau-Davos 7494 Wiesen GR 081 404 15 72 081 420 41 68 *70-6222-0 RAIFCH22XXX +08810840009 81084480000320040522111Raiffeisen Raiffeisenbank Mittelprättigau-Davos Untergasse 41 Postfach 7247 Saas im Prättigau 081 332 14 23 081 332 41 08 *70-6222-0 RAIFCH22XXX +08810920000 81092380000220000426111Raiffeisen Raiffeisenbank Val Müstair Plazza da Posta 7537 Müstair 081 851 60 80 081 851 60 81 70-654-3 RAIFCH22XXX +08810920001 81092380000319971126111Raiffeisen Raiffeisenbank Val Müstair 7535 Valchava 081 858 58 88 081 850 36 21 *70-654-3 RAIFCH22XXX +08810920002 81092380000319990429111Raiffeisen Raiffeisenbank Val Müstair 7533 Fuldera 081 858 55 22 081 850 36 22 *70-654-3 RAIFCH22XXX +08811030000 81103880000220000426113Raiffeisen Banca Raiffeisen Valposchiavo 7745 Curt, Li 081 844 15 25 081 844 33 16 70-6614-1 RAIFCH22XXX +08811030002 81103880000320000426113Raiffeisen Banca Raiffeisen Valposchiavo 7743 Brusio 081 846 53 04 081 846 56 55 *70-6614-1 RAIFCH22XXX +08811040000 81104380000220010628113Raiffeisen Banca Raiffeisen San Carlo (Poschiavo) Via Principale 7741 S. Carlo (Poschiavo) 081 844 16 39 081 844 09 25 70-6584-4 RAIFCH22XXX +088110700008108481107580000220040529111Raiffeisen Raiffeisenbank Saas im Prättigau Untergasse 41 Postfach 7247 Saas im Prättigau 081 332 14 23 081 332 41 08 70-9144-6 RAIFCH22XXX +08811210000 81121680000220000426111Raiffeisen Raiffeisenbank Tujetsch Via Alpsu 91 7188 Sedrun 081 920 40 50 081 920 40 59 70-6167-8 RAIFCH22XXX +08811210001 81121680000320040522111Raiffeisen Raiffeisenbank Tujetsch 7189 Rueras 081 949 10 20 081 920 40 59 *70-6167-8 RAIFCH22XXX +08811240000 81124880000220020829111Raiffeisen Raiffeisenbank Albula Albulastrasse 11 7450 Tiefencastel 081 681 10 60 081 681 23 76 70-3768-9 RAIFCH22XXX +08811240003 81124880000320010628111Raiffeisen Raiffeisenbank Albula 7477 Filisur 081 404 13 55 081 420 40 10 *70-3768-9 RAIFCH22XXX +08811240006 81124880000320010628111Raiffeisen Raiffeisenbank Albula 7083 Lantsch/Lenz 081 681 16 56 081 681 16 56 *70-3768-9 RAIFCH22XXX +08811240007 81124880000320020602111Raiffeisen Raiffeisenbank Albula Hauptstrasse 12 7492 Alvaneu Dorf 081 404 14 72 081 420 41 51 *70-3768-9 RAIFCH22XXX +08811240008 81124880000320030626111Raiffeisen Raiffeisenbank Albula 7482 Bergün/Bravuogn 081 407 15 15 081 420 50 33 *70-3768-9 RAIFCH22XXX +08811240010 81124880000320000421111Raiffeisen Raiffeisenbank Albula 7077 Valbella 081 384 19 50 081 384 22 68 *70-3768-9 RAIFCH22XXX +08811240011 81124880000320030626111Raiffeisen Raiffeisenbank Albula 7463 Riom 081 684 11 66 081 684 17 43 *70-3768-9 RAIFCH22XXX +08811240012 81124880000320010628111Raiffeisen Raiffeisenbank Albula 7462 Salouf 081 637 12 60 081 637 12 61 *70-3768-9 RAIFCH22XXX +08811240014 81124880000320030626111Raiffeisen Raiffeisenbank Albula 7082 Vaz/Obervaz 081 384 65 13 081 384 39 29 *70-3768-9 RAIFCH22XXX +08811370000 81137080000220000420111Raiffeisen Raiffeisenbank Tumpiv Casa Quader 7165 Breil/Brigels 081 941 12 30 081 941 12 33 70-10313-7 RAIFCH22XXX +08811370001 81137080000320000420111Raiffeisen Raiffeisenbank Tumpiv 7158 Waltensburg/Vuorz 081 941 10 84 081 941 10 84 *70-10313-7 RAIFCH22XXX +08811370003 81137080000320000420111Raiffeisen Raiffeisenbank Tumpiv 7163 Danis 081 941 15 07 081 941 15 07 *70-10313-7 RAIFCH22XXX +088114100008106381141380000220040701111Raiffeisen Raiffeisenbank Hinterrhein Postfach 2 7435 Splügen 081 664 12 32 081 664 12 32 70-1093-0 RAIFCH22XXX +08811440000 81144580000220000426111Raiffeisen Raiffeisenbank Engiadina Postfach 7550 Scuol 081 861 23 23 081 861 23 20 70-577-1 RAIFCH22XXX +08811440002 81144580000320000426113Raiffeisen Raiffeisenbank Engiadina 7530 Zernez 081 856 18 78 081 856 18 38 *70-577-1 RAIFCH22XXX +08811440003 81144580000319980530113Raiffeisen Raiffeisenbank Engiadina 7524 Zuoz 081 854 11 72 081 854 11 88 *70-577-1 RAIFCH22XXX +08811440004 81144580000320020427113Raiffeisen Raiffeisenbank Engiadina 7525 S-chanf 081 854 13 48 081 850 17 65 *70-577-1 RAIFCH22XXX +08811440005 81144580000320010817113Raiffeisen Raiffeisenbank Engiadina 7522 Punt-Chamues-ch, La 081 854 33 33 081 854 33 25 *70-577-1 RAIFCH22XXX +08811440006 81144580000320040321111Raiffeisen Raiffeisenbank Engiadina 7503 Samedan 081 851 00 33 081 851 00 44 *70-577-1 RAIFCH22XXX +08811610000 81161080000220010519111Raiffeisen Raiffeisenbank Altbüron und Melchnau Postfach 6147 Altbüron 062 927 22 55 062 927 18 49 60-8837-3 RAIFCH22XXX +08811610001 81161080000320040101111Raiffeisen Raiffeisenbank Altbüron und Melchnau Dorfstrasse 39 4917 Melchnau 062 927 66 00 062 927 66 01 *60-8837-3 RAIFCH22XXX +088116200008118381162180000220030515111Raiffeisen Raiffeisenbank Flühli-Sörenberg Postfach 6173 Flühli LU 041 488 12 20 041 488 28 20 60-5168-0 RAIFCH22XXX +08811640000 81164480000220000420111Raiffeisen Raiffeisenbank Hildisrieden Luzernerstrasse 19 6024 Hildisrieden 041 460 26 33 041 460 26 73 60-4249-1 RAIFCH22XXX +08811650000 81165280000219980116111Raiffeisen Raiffeisenbank Kriens Postfach 72 6010 Kriens 041 320 48 80 041 320 88 28 60-2456-9 RAIFCH22XXX +08811680000 81168980000220030605111Raiffeisen Raiffeisenbank Adligenswil-Udligenswil Postfach 429 6043 Adligenswil 041 375 81 11 041 375 81 12 60-15568-5 RAIFCH22XXX +08811680001 81168980000320010628111Raiffeisen Raiffeisenbank Adligenswil-Udligenswil Meierskappelstrasse 3 6044 Udligenswil 041 375 70 30 041 375 70 31 *60-15568-5 RAIFCH22XXX +08811690000 81169780000220010504111Raiffeisen Raiffeisenbank Hitzkirchertal 6285 Hitzkirch 041 917 30 20 041 917 34 20 60-22788-0 RAIFCH22XXX +08811690001 81169780000320010504111Raiffeisen Raiffeisenbank Hitzkirchertal 6287 Aesch LU 041 917 19 76 041 917 39 93 *60-22788-0 RAIFCH22XXX +08811690002 81169780000320020829111Raiffeisen Raiffeisenbank Hitzkirchertal Dorf 1 6027 Römerswil LU 041 910 28 66 041 910 50 68 *60-22788-0 RAIFCH22XXX +08811700000 81170280000219980421111Raiffeisen Raiffeisenbank Beromünster Postfach 6215 Beromünster 041 932 10 50 041 932 10 59 60-5900-6 RAIFCH22XXX +08811700001 81170280000320000420111Raiffeisen Raiffeisenbank Beromünster 6205 Eich 041 460 13 09 041 460 13 32 *60-5900-6 RAIFCH22XXX +08811720000 81172380000219980724111Raiffeisen Raiffeisenbank Buttisholz Postfach 164 6018 Buttisholz 041 928 11 61 041 928 17 93 60-5378-2 RAIFCH22XXX +08811770000 81177180000220010202111Raiffeisen Raiffeisenbank Emmen Postfach 6020 Emmenbrücke 2 041 289 19 20 041 289 19 29 60-6768-2 RAIFCH22XXX +08811770001 81177180000320010127111Raiffeisen Raiffeisenbank Emmen Postfach 342 6032 Emmen 041 268 60 70 041 268 60 79 *60-6768-2 RAIFCH22XXX +08811790000 81179480000220030619111Raiffeisen Raiffeisenbank Escholzmatt Hauptstrasse 113 Postfach 106 6182 Escholzmatt 041 487 90 00 041 487 90 09 60-543-8 RAIFCH22XXX +08811790001 81179480000320041223111Raiffeisen Raiffeisenbank Escholzmatt Dorfplatz 1 6196 Marbach LU 034 493 36 26 034 493 41 59 *60-543-8 RAIFCH22XXX +088118000008121481180380000220030501111Raiffeisen Raiffeisenbank Luzerner Surental Chäppelimatt 1 6232 Geuensee 041 921 03 53 041 921 03 55 60-23801-5 RAIFCH22XXX +08811830000 81183580000220030515111Raiffeisen Raiffeisenbank Hasle-Flühli-Romoos Heiligkreuzstrasse 1 6166 Hasle LU 041 480 20 30 041 480 20 31 60-5311-6 RAIFCH22XXX +08811830001 81183580000320040825111Raiffeisen Raiffeisenbank Hasle-Flühli-Romoos Postfach 6173 Flühli LU 041 480 20 30 041 480 20 31 *60-5311-6 RAIFCH22XXX +08811830002 81183580000320040825111Raiffeisen Raiffeisenbank Hasle-Flühli-Romoos Raiffeisenhaus 6113 Romoos 041 480 20 30 041 480 20 31 *60-5311-6 RAIFCH22XXX +08811840000 81184080000220011228111Raiffeisen Raiffeisenbank Hergiswil LU Dorf Postfach 144 6133 Hergiswil b. Willisau 041 979 13 14 041 979 15 66 60-22499-1 RAIFCH22XXX +08811850000 81185180000220030626111Raiffeisen Raiffeisenbank Hohenrain Unterdorfstrasse 7 Postfach 15 6276 Hohenrain 041 914 10 00 041 914 10 09 60-13650-8 RAIFCH22XXX +08811860000 81186680000220030222111Raiffeisen Raiffeisenbank Horw Postfach 6048 Horw 041 348 20 20 041 348 20 40 60-4987-2 RAIFCH22XXX +08811870000 81187480000220000420111Raiffeisen Raiffeisenbank Eschenbach-Inwil-Ballwil Postfach 158 6274 Eschenbach LU 041 449 90 50 041 449 90 59 60-14128-5 RAIFCH22XXX +08811870001 81187480000320000420111Raiffeisen Raiffeisenbank Eschenbach-Inwil-Ballwil 6034 Inwil 041 449 50 10 041 449 50 19 *60-14128-5 RAIFCH22XXX +088118800008119681188280000220040501111Raiffeisen Raiffeisenbank Knutwil Rösslimatte 2 6213 Knutwil 041 921 06 06 041 921 96 06 60-15014-3 RAIFCH22XXX +08811900000 81190780000220000420111Raiffeisen Raiffeisenbank Littau-Reussbühl Luzernstrasse 150 6014 Littau 041 259 40 80 041 259 40 89 60-1292-0 RAIFCH22XXX +08811900001 81190780000320040923111Raiffeisen Raiffeisenbank Littau-Reussbühl Ruopigenplatz 1 6015 Reussbühl 041 259 40 80 041 259 40 89 *60-1292-0 RAIFCH22XXX +08811910000 81191580000220000420111Raiffeisen Raiffeisenbank Luthern 6154 Hofstatt 041 978 16 77 041 978 15 54 60-14702-3 RAIFCH22XXX +08811920000 81192080000220040122111Raiffeisen Raiffeisenbank Malters Mettlenweg 2 Postfach 344 6102 Malters 041 499 91 40 041 499 91 50 60-4306-6 RAIFCH22XXX +08811940000 81194680000220040602111Raiffeisen Raiffeisenbank Menznau-Wolhusen Unterdorfstrasse 1 Postfach 6122 Menznau 041 493 12 52 041 493 13 52 60-5624-5 RAIFCH22XXX +088119500008119681195480000220040501111Raiffeisen Raiffeisenbank Neuenkirch Postfach 68 6206 Neuenkirch 041 469 71 11 041 469 71 33 60-8545-1 RAIFCH22XXX +08811960000 81196280000220040825111Raiffeisen Raiffeisenbank Sempachersee West Zentrum Sagi 6207 Nottwil 041 489 89 89 041 489 89 99 60-8545-1 RAIFCH22XXX +08811960001 81196280000320041124111Raiffeisen Raiffeisenbank Sempachersee West Rösslimatte 2 6213 Knutwil 041 489 89 00 041 489 89 09 *60-8545-1 RAIFCH22XXX +08811960002 81196280000320041124111Raiffeisen Raiffeisenbank Sempachersee West Postfach 68 6206 Neuenkirch 041 489 89 49 041 489 89 39 *60-8545-1 RAIFCH22XXX +08811970000 81197880000220020724111Raiffeisen Raiffeisenbank Pfaffnau-Roggliswil-Grossdietwil Dorfstrasse 17 Postfach 53 6264 Pfaffnau 062 747 30 50 062 747 30 55 46-1168-7 RAIFCH22XXX +08811970002 81197880000320000426111Raiffeisen Raiffeisenbank Pfaffnau-Roggliswil-Grossdietwil 6265 Roggliswil 062 754 11 81 062 754 13 27 *46-1168-7 RAIFCH22XXX +08811970003 81197880000320010628111Raiffeisen Raiffeisenbank Pfaffnau-Roggliswil-Grossdietwil Luzernerstrasse 3 6146 Grossdietwil 062 927 22 72 062 927 26 37 *46-1168-7 RAIFCH22XXX +088120200008118381202680000220030515111Raiffeisen Raiffeisenbank Romoos-Doppleschwand Raiffeisenhaus 6113 Romoos 041 480 14 88 041 480 35 48 60-9495-1 RAIFCH22XXX +08812030000 81203480000220020227111Raiffeisen Raiffeisenbank Luzern Bahnhofstrasse 5 6003 Luzern 041 226 20 00 041 226 20 02 60-2339-7 RAIFCH22XXX +08812030001 81203480000320030927111Raiffeisen Raiffeisenbank Luzern Schulstrasse 1 6037 Root 041 226 20 00 041 226 20 02 *60-2339-7 RAIFCH22XXX +08812030002 81203480000320030927111Raiffeisen Raiffeisenbank Luzern Zentralstrasse 28 6030 Ebikon 041 226 20 00 041 226 20 02 *60-2339-7 RAIFCH22XXX +08812030003 81203480000320030927111Raiffeisen Raiffeisenbank Luzern Rigistrasse 8 6036 Dierikon 041 226 20 00 041 226 20 02 *60-2339-7 RAIFCH22XXX +08812040000 81204280000220031219111Raiffeisen Raiffeisenbank Rothenburg Stationsstrasse 7 Postfach 455 6023 Rothenburg 041 289 11 11 041 289 11 55 60-4021-5 RAIFCH22XXX +08812110000 81211080000220010425111Raiffeisen Raiffeisenbank Willisau-Gettnau-Ufhusen Postfach 6130 Willisau 041 972 50 50 041 972 50 60 60-5074-8 RAIFCH22XXX +08812110001 81211080000320000420111Raiffeisen Raiffeisenbank Willisau-Gettnau-Ufhusen 6142 Gettnau 041 972 50 70 041 972 50 71 *60-5074-8 RAIFCH22XXX +08812110002 81211080000320020829111Raiffeisen Raiffeisenbank Willisau-Gettnau-Ufhusen Dorf 6153 Ufhusen 041 988 10 50 041 988 13 83 *60-5074-8 RAIFCH22XXX +08812120000 81212180000220000420111Raiffeisen Raiffeisenbank Ettiswil-Alberswil-Kottwil Dorf 7 6218 Ettiswil 041 984 10 10 041 984 10 11 60-9829-2 RAIFCH22XXX +08812140000 81214480000220030428111Raiffeisen Raiffeisenbank Surental-Wiggertal Dorfchärn 2 6247 Schötz 041 984 10 50 041 984 10 51 60-2357-4 RAIFCH22XXX +08812140006 81214480000320000426111Raiffeisen Raiffeisenbank Surental-Wiggertal 6252 Dagmersellen 062 756 36 86 062 756 36 83 *60-2357-4 RAIFCH22XXX +08812140008 81214480000320000426111Raiffeisen Raiffeisenbank Surental-Wiggertal 6260 Reiden 062 758 28 19 062 758 34 05 *60-2357-4 RAIFCH22XXX +08812140009 81214480000320000426111Raiffeisen Raiffeisenbank Surental-Wiggertal 4806 Wikon 062 751 56 70 062 751 78 32 *60-2357-4 RAIFCH22XXX +08812140011 81214480000320030522111Raiffeisen Raiffeisenbank Surental-Wiggertal Bahnhofstrasse 7A 6210 Sursee 041 922 20 30 041 922 20 31 *60-2357-4 RAIFCH22XXX +08812140013 81214480000320030425111Raiffeisen Raiffeisenbank Surental-Wiggertal Chäppelimatt 1 6232 Geuensee 041 921 03 53 041 921 03 55 *60-2357-4 RAIFCH22XXX +08812140014 81214480000320030425111Raiffeisen Raiffeisenbank Surental-Wiggertal 6234 Triengen 041 933 34 34 041 933 34 36 *60-2357-4 RAIFCH22XXX +08812210000 81221880000220020921111Raiffeisen Raiffeisenbank Hergiswil-Stansstad Dorfplatz 3 Postfach 6052 Hergiswil NW 041 632 33 22 041 632 33 11 60-6536-8 RAIFCH22XXX +08812210001 81221880000320000420111Raiffeisen Raiffeisenbank Hergiswil-Stansstad 6362 Stansstad 041 610 65 70 041 610 52 29 *60-6536-8 RAIFCH22XXX +08812220000 81222380000220000426111Raiffeisen Raiffeisenbank Vierwaldstättersee Süd Postfach 344 6374 Buochs 041 624 90 30 041 624 90 44 60-2372-2 RAIFCH22XXX +08812220001 81222380000320020227111Raiffeisen Raiffeisenbank Vierwaldstättersee Süd 6373 Ennetbürgen 041 624 93 49 041 624 93 48 *60-2372-2 RAIFCH22XXX +08812220002 81222380000320000426111Raiffeisen Raiffeisenbank Vierwaldstättersee Süd 6376 Emmetten 041 620 50 15 041 620 17 63 *60-2372-2 RAIFCH22XXX +08812220003 81222380000320021124111Raiffeisen Raiffeisenbank Vierwaldstättersee Süd am Tanzplatz 6377 Seelisberg 041 820 28 82 041 820 28 02 *60-2372-2 RAIFCH22XXX +08812230000 81223980000220020127111Raiffeisen Raiffeisenbank Stans-Dallenwil-Wolfenschiessen Postfach 130 6383 Dallenwil 041 629 77 77 041 628 21 55 60-7178-4 RAIFCH22XXX +08812230001 81223980000320000722111Raiffeisen Raiffeisenbank Stans-Dallenwil-Wolfenschiessen Hauptstrasse 26 6386 Wolfenschiessen 041 629 77 88 041 628 22 20 *60-7178-4 RAIFCH22XXX +08812230002 81223980000320000819111Raiffeisen Raiffeisenbank Stans-Dallenwil-Wolfenschiessen Postfach 6370 Stans 041 619 17 20 041 619 17 30 *60-7178-4 RAIFCH22XXX +08812310000 81231980000220011026111Raiffeisen Raiffeisenbank Sachseln Brünigstrasse 97 Postfach 261 6072 Sachseln 041 666 56 56 041 666 56 57 60-10082-8 RAIFCH22XXX +08812310001 81231980000319990429111Raiffeisen Raiffeisenbank Sachseln 6074 Giswil 041 676 06 06 041 676 06 07 *60-10082-8 RAIFCH22XXX +08812320000 81232780000220020127111Raiffeisen Raiffeisenbank Alpnach-Kerns-Sarnen Postfach 241 6055 Alpnach Dorf 041 672 73 33 041 670 22 60 60-10083-3 RAIFCH22XXX +08812320001 81232780000319980108111Raiffeisen Raiffeisenbank Alpnach-Kerns-Sarnen 6060 Sarnen 041 666 26 26 041 666 26 27 *60-10083-3 RAIFCH22XXX +08812320002 81232780000319980507111Raiffeisen Raiffeisenbank Alpnach-Kerns-Sarnen 6064 Kerns 041 660 54 88 041 660 54 60 *60-10083-3 RAIFCH22XXX +08812320003 81232780000320010519111Raiffeisen Raiffeisenbank Alpnach-Kerns-Sarnen Postfach 64 6067 Melchtal 041 669 10 44 041 669 11 60 *60-10083-3 RAIFCH22XXX +08812410000 81241580000220020829111Raiffeisen Raiffeisenbank Abtwil-St.-Josefen Hauptstrasse 17 9030 Abtwil SG 071 313 80 00 071 311 61 11 90-5541-9 RAIFCH22XXX +088124300008130281243180000220040529111Raiffeisen Raiffeisenbank Amden Postfach 8873 Amden 055 611 12 39 055 611 22 84 87-1448-7 RAIFCH22XXX +08812440000 81244680000220031219111Raiffeisen Raiffeisenbank Eggersriet-Grub Heidenerstrasse 10 Postfach 141 9034 Eggersriet 071 878 60 40 071 878 60 41 90-1085-8 RAIFCH22XXX +08812450000 81245480000220020525111Raiffeisen Raiffeisenbank Goldingen-Wald Dorfstr. 21 8638 Goldingen 055 284 63 53 055 284 63 59 90-2976-0 RAIFCH22XXX +08812450001 81245480000320020524111Raiffeisen Raiffeisenbank Goldingen-Wald Bahnhofstrasse 37 8636 Wald ZH 055 256 80 80 055 256 80 88 *90-2976-0 RAIFCH22XXX +08812510000 81251480000220040923111Raiffeisen Raiffeisenbank Grabs-Werdenberg Bahnhofstrasse 12 Postfach 62 9470 Buchs SG 081 758 00 00 081 758 00 05 90-862-2 RAIFCH22XXX +08812510003 81251480000320040529111Raiffeisen Raiffeisenbank Grabs-Werdenberg Staatsstrasse 62 Postfach 62 9472 Grabs 081 758 00 00 081 758 00 07 *90-862-2 RAIFCH22XXX +08812520000 81252280000220000420111Raiffeisen Raiffeisenbank Alt St. Johann-Wildhaus Dörfli 391 9656 Alt St. Johann 071 999 11 22 071 999 38 22 90-3929-1 RAIFCH22XXX +08812520001 81252280000320000420111Raiffeisen Raiffeisenbank Alt St. Johann-Wildhaus 9658 Wildhaus 071 999 22 33 071 999 38 33 *90-3929-1 RAIFCH22XXX +08812530000 81253880000220000420111Raiffeisen Raiffeisenbank Andwil-Arnegg Arneggerstr. 9 9204 Andwil SG 071 388 10 10 071 388 10 11 90-4893-5 RAIFCH22XXX +08812530001 81253880000320000420111Raiffeisen Raiffeisenbank Andwil-Arnegg 9212 Arnegg 071 388 10 20 071 388 10 21 *90-4893-5 RAIFCH22XXX +088125400008130181254380000220030403111Raiffeisen Raiffeisenbank Bad Ragaz-Vorderes Taminatal Maienfelderstr. 6 7310 Bad Ragaz 081 300 49 00 081 300 49 09 70-1728-1 RAIFCH22XXX +08812560000 81256780000220010824111Raiffeisen Raiffeisenbank Benken Dorfstrasse 18 8717 Benken SG 055 293 35 35 055 293 35 39 90-5115-5 RAIFCH22XXX +08812560001 81256780000320031101111Raiffeisen Raiffeisenbank Benken Dorfstrasse 3 8722 Kaltbrunn 055 293 35 35 055 293 35 59 *90-5115-5 RAIFCH22XXX +08812560002 81256780000320040207111Raiffeisen Raiffeisenbank Benken Bahnhofstrasse 10 8730 Uznach 055 293 35 35 055 293 35 69 *90-5115-5 RAIFCH22XXX +08812580000 81258080000220000420111Raiffeisen Raiffeisenbank Berneck-Au Postfach 9442 Berneck 071 747 55 66 071 747 55 67 90-3677-6 RAIFCH22XXX +08812580001 81258080000320000420111Raiffeisen Raiffeisenbank Berneck-Au 9434 Au SG 071 747 55 66 071 747 55 67 *90-3677-6 RAIFCH22XXX +08812590000 81259180000220000420111Raiffeisen Raiffeisenbank Bernhardzell St. Gallerstr. 31 9304 Bernhardzell 071 434 66 33 071 434 66 34 90-7029-3 RAIFCH22XXX +088126000008132581260980000220030531111Raiffeisen Raiffeisenbank Bichwil-Oberuzwil Postfach 9242 Oberuzwil 071 955 77 99 071 955 77 90 90-4417-8 RAIFCH22XXX +08812610000 81261780000220010720111Raiffeisen Raiffeisenbank Bütschwil-Ganterschwil Landstrasse 13 9606 Bütschwil 071 982 89 00 071 982 89 19 90-4733-9 RAIFCH22XXX +08812610001 81261780000320010824111Raiffeisen Raiffeisenbank Bütschwil-Ganterschwil 9608 Ganterschwil 071 982 89 10 071 982 89 11 *90-4733-9 RAIFCH22XXX +08812620000 81262580000219980116111Raiffeisen Raiffeisenbank Diepoldsau-Schmitter Postfach 9444 Diepoldsau 071 737 80 40 071 737 80 49 90-8222-4 RAIFCH22XXX +08812630000 81263080000220000420111Raiffeisen Raiffeisenbank Ebnat-Kappel Postfach 141 9642 Ebnat-Kappel 071 993 31 31 071 993 34 08 90-3109-5 RAIFCH22XXX +08812650000 81265680000220000420111Raiffeisen Raiffeisenbank Engelburg Postfach 162 9032 Engelburg 071 274 20 10 071 274 20 12 90-2394-3 RAIFCH22XXX +08812670000 81267280000220020622111Raiffeisen Raiffeisenbank Flums Postfach 92 8890 Flums 081 720 12 12 081 720 12 13 70-2295-0 RAIFCH22XXX +08812690000 81269380000220000420111Raiffeisen Raiffeisenbank Goldach Postfach 9403 Goldach 071 846 82 00 071 845 82 19 90-6844-4 RAIFCH22XXX +08812690002 81269380000320000420111Raiffeisen Raiffeisenbank Goldach 9327 Tübach 071 841 25 37 071 841 25 47 *90-6844-4 RAIFCH22XXX +08812690003 81269380000320000420111Raiffeisen Raiffeisenbank Goldach 9033 Untereggen 071 866 11 47 071 866 25 40 *90-6844-4 RAIFCH22XXX +08812700000 81270180000220000420111Raiffeisen Raiffeisenbank Gommiswald Dorfplatz 14 8737 Gommiswald 055 285 20 00 055 285 20 01 90-654-2 RAIFCH22XXX +08812710000 81271680000219981203111Raiffeisen Raiffeisenbank Gossau-Niederwil Postfach 9201 Gossau SG 071 388 40 20 071 388 40 10 90-1664-3 RAIFCH22XXX +08812710001 81271680000319980827111Raiffeisen Raiffeisenbank Gossau-Niederwil 9203 Niederwil SG 071 393 52 82 071 393 52 74 *90-1664-3 RAIFCH22XXX +08812730000 81273280000220020328111Raiffeisen Raiffeisenbank Häggenschwil Dorfstrasse 16 9312 Häggenschwil 071 292 17 17 071 292 17 18 90-4523-2 RAIFCH22XXX +08812740000 81274880000220010817111Raiffeisen Raiffeisenbank Jona-Oetwil am See Postfach 2033 8645 Jona 055 224 30 60 055 224 30 61 90-5525-2 RAIFCH22XXX +08812740001 81274880000320040321111Raiffeisen Raiffeisenbank Jona-Oetwil am See 8618 Oetwil am See 044 929 62 30 044 929 62 31 *90-5525-2 RAIFCH22XXX +08812750000 81275380000220030425111Raiffeisen Raiffeisenbank Kriessern Oberdorfstr. 17 9451 Kriessern 071 757 72 72 071 757 72 73 90-12523-3 RAIFCH22XXX +08812780000 81278580000219990429111Raiffeisen Raiffeisenbank Lüchingen-Altstätten Postfach 9450 Lüchingen 071 755 71 76 071 755 71 80 90-18200-7 RAIFCH22XXX +08812780001 81278580000320000420111Raiffeisen Raiffeisenbank Lüchingen-Altstätten 9450 Altstätten SG 071 755 49 20 071 755 50 17 *90-18200-7 RAIFCH22XXX +08812800000 81280480000220040621111Raiffeisen Raiffeisenbank Wolfertswil-Mogelsberg Hauptstr. 30 9116 Wolfertswil 071 394 19 70 071 394 19 77 90-4130-6 RAIFCH22XXX +08812800001 81280480000320010817111Raiffeisen Raiffeisenbank Wolfertswil-Mogelsberg Dorfstrasse 42 9122 Mogelsberg 071 374 11 38 071 374 25 02 *90-4130-6 RAIFCH22XXX +08812800002 81280480000320040625111Raiffeisen Raiffeisenbank Wolfertswil-Mogelsberg Hauptstrasse 69 9113 Degersheim 071 372 05 70 071 372 05 77 *90-4130-6 RAIFCH22XXX +08812810000 81281280000220000420111Raiffeisen Raiffeisenbank Mels Oberdorfstr. 11 8887 Mels 081 725 38 38 081 725 38 33 70-1012-8 RAIFCH22XXX +08812810001 81281280000319980924111Raiffeisen Raiffeisenbank Mels 7326 Weisstannen 081 723 28 82 081 723 57 00 *70-1012-8 RAIFCH22XXX +08812810002 81281280000320000420111Raiffeisen Raiffeisenbank Mels 7324 Vilters 081 720 47 77 081 720 47 78 *70-1012-8 RAIFCH22XXX +08812840000 81284980000220000909111Raiffeisen Raiffeisenbank Mörschwil Schulstrasse 1 Postfach 75 9402 Mörschwil 071 868 90 20 071 868 90 29 90-5579-3 RAIFCH22XXX +08812850000 81285780000220020626111Raiffeisen Raiffeisenbank Lütisburg-Mosnang Bütschwilerstrasse 14 9607 Mosnang 071 983 17 42 071 980 01 80 90-3086-6 RAIFCH22XXX +08812850001 81285780000320000426111Raiffeisen Raiffeisenbank Lütisburg-Mosnang 9614 Libingen 071 983 24 60 *90-3086-6 RAIFCH22XXX +08812850002 81285780000320000426111Raiffeisen Raiffeisenbank Lütisburg-Mosnang 9604 Lütisburg 071 931 18 16 071 931 18 37 *90-3086-6 RAIFCH22XXX +08812860000 81286580000220000420111Raiffeisen Raiffeisenbank Muolen Dorfstr. 30 9313 Muolen 071 414 01 81 071 414 01 89 90-977-3 RAIFCH22XXX +08812870000 81287080000220000420111Raiffeisen Raiffeisenbank Nesslau-Krummenau-Stein Postfach 9652 Neu St. Johann 071 995 50 66 071 995 50 75 90-3520-0 RAIFCH22XXX +08812870001 81287080000320021024111Raiffeisen Raiffeisenbank Nesslau-Krummenau-Stein 9655 Stein SG 071 995 50 66 071 995 50 75 *90-3520-0 RAIFCH22XXX +08812890000 81289680000220000420111Raiffeisen Raiffeisenbank Niederhelfenschwil Neudorf 1 9527 Niederhelfenschwil 071 948 70 50 071 948 70 59 90-4441-6 RAIFCH22XXX +08812910000 81291380000220000524111Raiffeisen Raiffeisenbank Oberbüren-Niederbüren-Uzwil Neudorf 8 9245 Oberbüren 071 951 73 73 071 951 76 26 90-4972-7 RAIFCH22XXX +08812910001 81291380000319990122111Raiffeisen Raiffeisenbank Oberbüren-Niederbüren-Uzwil Postfach 9244 Niederuzwil 071 950 07 77 071 950 08 77 *90-4972-7 RAIFCH22XXX +08812910002 81291380000320010628111Raiffeisen Raiffeisenbank Oberbüren-Niederbüren-Uzwil 9246 Niederbüren 071 422 12 20 071 422 52 34 *90-4972-7 RAIFCH22XXX +088129200008130081292980000220040501111Raiffeisen Raiffeisenbank Oberhelfenschwil-Brunnadern Dorfstr. 17 9621 Oberhelfenschwil 071 375 60 50 071 375 60 56 90-2421-1 RAIFCH22XXX +08812940000 81294580000220020621111Raiffeisen Raiffeisenbank Quarten Quartnerstr. 8882 Unterterzen 081 720 30 00 081 720 30 09 70-3605-1 RAIFCH22XXX +08812940001 81294580000320000722111Raiffeisen Raiffeisenbank Quarten Hauptstrasse 8877 Murg 081 738 16 26 081 738 25 34 *70-3605-1 RAIFCH22XXX +08812950000 81295080000220010621111Raiffeisen Raiffeisenbank Rheineck Postfach 147 9424 Rheineck 071 886 90 50 071 886 90 51 90-3490-6 RAIFCH22XXX +08812960000 81296180000220010517111Raiffeisen Raiffeisenbank Rorschacherberg Postfach 261 9404 Rorschacherberg 071 855 10 90 071 855 39 93 90-2263-4 RAIFCH22XXX +08812970000 81297680000220010927111Raiffeisen Raiffeisenbank Oberes Rheintal Postfach 55 9464 Rüthi SG 071 767 70 40 071 767 70 41 90-6978-1 RAIFCH22XXX +08812970001 81297680000320030927111Raiffeisen Raiffeisenbank Oberes Rheintal Bahnhofstrasse 5 9463 Oberriet SG 071 763 72 30 071 763 72 31 *90-6978-1 RAIFCH22XXX +08812970003 81297680000320041023111Raiffeisen Raiffeisenbank Oberes Rheintal Rietblickstrasse 5 9453 Eichberg 071 755 02 22 071 755 78 22 *90-6978-1 RAIFCH22XXX +08812970004 81297680000320030927111Raiffeisen Raiffeisenbank Oberes Rheintal Hinterburgstrasse 2 9462 Montlingen 071 763 72 50 071 763 72 51 *90-6978-1 RAIFCH22XXX +08812970007 81297680000320031122111Raiffeisen Raiffeisenbank Oberes Rheintal Hauptstrasse 5 9464 Lienz 071 766 22 50 071 767 70 41 *90-6978-1 RAIFCH22XXX +08812980000 81298480000220030904111Raiffeisen Raiffeisenbank am Ricken Rössligass 3 8733 Eschenbach SG 055 286 24 00 055 286 24 30 90-3184-9 RAIFCH22XXX +08812980001 81298480000320030926111Raiffeisen Raiffeisenbank am Ricken 8725 Ernetschwil 055 286 24 00 055 280 25 46 *90-3184-9 RAIFCH22XXX +08812980002 81298480000320030425111Raiffeisen Raiffeisenbank am Ricken Rickenstrasse 30 8735 St. Gallenkappel 055 286 24 00 055 284 62 51 *90-3184-9 RAIFCH22XXX +08812990000 81299280000220000420111Raiffeisen Raiffeisenbank St. Margrethen SG Bahnhofstr. 2 9430 St. Margrethen SG 071 747 12 12 071 747 12 22 90-893-3 RAIFCH22XXX +08813000000 81300880000220040501111Raiffeisen Raiffeisenbank Neckertal Postfach 22 9105 Schönengrund 071 362 67 10 071 362 67 15 90-8031-5 RAIFCH22XXX +08813000001 81300880000320010413111Raiffeisen Raiffeisenbank Neckertal Dorf 9633 Hemberg 071 377 19 56 071 377 19 38 *90-8031-5 RAIFCH22XXX +08813000002 81300880000320040501111Raiffeisen Raiffeisenbank Neckertal Dorfstrasse 17 9621 Oberhelfenschwil 071 375 60 50 071 375 60 56 *90-8031-5 RAIFCH22XXX +08813000003 81300880000320040501111Raiffeisen Raiffeisenbank Neckertal 9125 Brunnadern 071 374 33 55 *90-8031-5 RAIFCH22XXX +08813010000 81301380000220030409111Raiffeisen Raiffeisenbank Oberes Sarganserland Bahnhofstrasse 7 Postfach 180 7320 Sargans 081 720 04 04 081 720 04 05 70-3823-9 RAIFCH22XXX +08813010001 81301380000320031018111Raiffeisen Raiffeisenbank Oberes Sarganserland Maienfeldstrasse 6 7310 Bad Ragaz 081 300 49 00 081 300 49 09 *70-3823-9 RAIFCH22XXX +08813010002 81301380000320050320111Raiffeisen Raiffeisenbank Oberes Sarganserland 7312 Pfäfers 081 720 04 04 081 720 04 05 *70-3823-9 RAIFCH22XXX +08813010003 81301380000320050320111Raiffeisen Raiffeisenbank Oberes Sarganserland Unterdorf 7315 Vättis 081 720 04 04 081 720 04 05 *70-3823-9 RAIFCH22XXX +08813020000 81302980000220040529111Raiffeisen Raiffeisenbank Schänis-Amden Oberdorf 7 Postfach 62 8718 Schänis 055 615 46 16 055 615 34 74 87-608-5 RAIFCH22XXX +08813020001 81302980000320040529111Raiffeisen Raiffeisenbank Schänis-Amden Postfach 8873 Amden 055 611 12 39 055 611 22 84 *87-608-5 RAIFCH22XXX +08813030000 81303780000220000420111Raiffeisen Raiffeisenbank Schwarzenbach Postfach 57 9536 Schwarzenbach SG 071 929 58 88 071 929 58 89 90-5247-7 RAIFCH22XXX +08813040000 81304580000220030222111Raiffeisen Raiffeisenbank Sennwald Äugstiriet 7 Postfach 42 9466 Sennwald 081 750 40 40 081 750 40 41 90-5728-1 RAIFCH22XXX +08813040001 81304580000320031018111Raiffeisen Raiffeisenbank Sennwald Sennwalderstrasse 10 9465 Salez 081 757 17 35 081 757 17 35 *90-5728-1 RAIFCH22XXX +08813050000 81305080000220000520111Raiffeisen Raiffeisenbank Staad-Thal Postfach 9422 Staad SG 071 858 39 39 071 858 39 49 90-11226-7 RAIFCH22XXX +08813050001 81305080000320000420111Raiffeisen Raiffeisenbank Staad-Thal 9425 Thal 071 888 20 63 071 888 69 29 *90-11226-7 RAIFCH22XXX +08813070000 81307680000220000420111Raiffeisen Raiffeisenbank Steinach Berg Freidorf Postfach 45 9323 Steinach 071 447 18 47 071 447 18 40 90-1965-4 RAIFCH22XXX +08813070002 81307680000320031128111Raiffeisen Raiffeisenbank Steinach Berg Freidorf Dorfstrasse 15 9305 Berg SG 071 454 60 38 071 454 60 39 *90-1965-4 RAIFCH22XXX +088131100008130181311180000220050401111Raiffeisen Raiffeisenbank Vättis Unterdorf 7315 Vättis 081 306 11 57 081 306 13 43 70-2902-1 RAIFCH22XXX +08813130000 81313480000220000420111Raiffeisen Raiffeisenbank Waldkirch Arneggerstr. 2 Postfach 9205 Waldkirch 071 434 60 70 071 434 60 80 90-1905-7 RAIFCH22XXX +08813130001 81313480000320000420111Raiffeisen Raiffeisenbank Waldkirch 9213 Hauptwil 071 422 13 41 071 422 53 58 *90-1905-7 RAIFCH22XXX +08813140000 81314280000220000420111Raiffeisen Raiffeisenbank Walenstadt Postfach 141 8880 Walenstadt 081 720 20 70 081 720 20 79 70-915-3 RAIFCH22XXX +08813150000 81315880000220000420111Raiffeisen Raiffeisenbank Wangs Postfach 8 7323 Wangs 081 720 47 80 081 720 47 81 70-4196-0 RAIFCH22XXX +08813160000 81316380000220020801111Raiffeisen Raiffeisenbank Wartau-Sevelen Postfach 9479 Oberschan 081 750 21 50 081 750 21 55 90-4350-9 RAIFCH22XXX +08813160002 81316380000319981202111Raiffeisen Raiffeisenbank Wartau-Sevelen 9475 Sevelen 081 750 14 14 081 750 14 19 *90-4350-9 RAIFCH22XXX +08813160003 81316380000320010223111Raiffeisen Raiffeisenbank Wartau-Sevelen 9477 Trübbach 081 750 22 22 081 750 22 25 *90-4350-9 RAIFCH22XXX +08813170000 81317980000220030626111Raiffeisen Raiffeisenbank Wattwil Poststrasse 27 Postfach 144 9630 Wattwil 071 987 30 30 071 987 30 36 90-2722-7 RAIFCH22XXX +08813170001 81317980000320000420111Raiffeisen Raiffeisenbank Wattwil 9622 Krinau 071 988 40 40 071 988 48 32 *90-2722-7 RAIFCH22XXX +08813190000 81319580000219980724111Raiffeisen Raiffeisenbank Mittelrheintal Postfach 9443 Widnau 071 727 15 15 071 727 15 00 90-3031-2 RAIFCH22XXX +08813190001 81319580000320000420111Raiffeisen Raiffeisenbank Mittelrheintal 9436 Balgach 071 727 15 85 071 727 15 04 *90-3031-2 RAIFCH22XXX +08813190002 81319580000320000420111Raiffeisen Raiffeisenbank Mittelrheintal 9443 Widnau 071 727 15 80 071 727 15 03 *90-3031-2 RAIFCH22XXX +08813200000 81320580000219990429111Raiffeisen Raiffeisenbank Wil und Umgebung Postfach 239 9500 Wil SG 071 913 55 55 071 913 55 66 90-2163-8 RAIFCH22XXX +08813200001 81320580000320000420111Raiffeisen Raiffeisenbank Wil und Umgebung 9552 Bronschhofen 071 910 08 80 071 910 08 81 *90-2163-8 RAIFCH22XXX +08813220000 81322180000220010824111Raiffeisen Raiffeisenbank Winkeln Postfach 316 9015 St. Gallen 071 314 00 10 071 314 00 19 90-2368-6 RAIFCH22XXX +08813230000 81323680000220020807111Raiffeisen Raiffeisenbank Wittenbach-Kronbühl St. Gallerstrasse 10 Postfach 59 9302 Kronbühl 071 292 20 40 071 292 20 41 90-1854-4 RAIFCH22XXX +08813240000 81324480000220000420111Raiffeisen Raiffeisenbank Marbach-Rebstein Staatstr. 17a 9437 Marbach SG 071 775 81 81 071 775 81 82 90-3487-8 RAIFCH22XXX +08813240001 81324480000320020227111Raiffeisen Raiffeisenbank Marbach-Rebstein Staatsstrasse 99 9445 Rebstein 071 775 81 81 071 775 81 88 *90-3487-8 RAIFCH22XXX +08813250000 81325280000220030529111Raiffeisen Raiffeisenbank Flawil-Bichwil-Oberuzwil Bahnhofstrasse 27 Postfach 264 9230 Flawil 071 394 16 66 071 394 16 60 90-440-6 RAIFCH22XXX +08813250001 81325280000320030527111Raiffeisen Raiffeisenbank Flawil-Bichwil-Oberuzwil Postfach 9242 Oberuzwil 071 955 77 99 071 955 77 90 *90-440-6 RAIFCH22XXX +088134300008147581343580000220040529111Raiffeisen Raiffeisenbank Buchberg Ausserdorf 122 8454 Buchberg 01 867 22 55 01 867 22 56 82-4781-6 RAIFCH22XXX +08813440000 81344080000220000420111Raiffeisen Raiffeisenbank Schaffhausen Postfach 84 8226 Schleitheim 052 680 13 48 052 680 18 17 82-220-7 RAIFCH22XXX +08813440002 81344080000320041105111Raiffeisen Raiffeisenbank Schaffhausen Hauptstrasse 13 8215 Hallau 052 681 44 40 052 681 44 34 *82-220-7 RAIFCH22XXX +08813440004 81344080000320000420111Raiffeisen Raiffeisenbank Schaffhausen 8201 Schaffhausen 052 630 04 30 052 630 04 39 *82-220-7 RAIFCH22XXX +08813510000 81351580000220000420111Raiffeisen Raiffeisenbank am Rigi Postfach 59 6405 Immensee 041 850 19 23 041 850 19 43 60-28134-8 RAIFCH22XXX +08813510001 81351580000319980423111Raiffeisen Raiffeisenbank am Rigi 6404 Greppen 041 390 33 22 041 390 33 25 *60-28134-8 RAIFCH22XXX +08813510002 81351580000319980826111Raiffeisen Raiffeisenbank am Rigi 6403 Küssnacht am Rigi 041 850 55 07 041 850 55 06 *60-28134-8 RAIFCH22XXX +08813550000 81355480000220050320111Raiffeisen Raiffeisenbank Arth-Goldau Postfach 56 6410 Goldau 041 859 19 19 041 859 19 99 60-2231-3 RAIFCH22XXX +08813560000 81356280000220041023111Raiffeisen Raiffeisenbank Höfe Hauptstrasse 13 Postfach 99 8832 Wollerau 044 787 31 51 044 787 31 52 90-602-2 RAIFCH22XXX +08813560001 81356280000320041023111Raiffeisen Raiffeisenbank Höfe 8834 Schindellegi 044 787 31 41 044 787 31 42 *90-602-2 RAIFCH22XXX +08813570000 81357880000220000420111Raiffeisen Raiffeisenbank Illgau Dörfli 6434 Illgau 041 830 21 13 041 830 21 17 60-14221-8 RAIFCH22XXX +08813580000 81358380000220040202111Raiffeisen Raiffeisenbank Waldstätte Parkstrasse 1 Postfach 462 6440 Brunnen 041 818 50 50 041 815 50 45 60-9699-0 RAIFCH22XXX +08813580004 81358380000320000420111Raiffeisen Raiffeisenbank Waldstätte 6430 Schwyz 041 818 50 50 041 818 50 55 *60-9699-0 RAIFCH22XXX +08813600000 81360680000219990625111Raiffeisen Raiffeisenbank Muotathal Postfach 246 6436 Muotathal 041 831 80 40 041 831 80 50 60-3767-2 RAIFCH22XXX +08813610000 81361480000219980724111Raiffeisen Raiffeisenbank Einsiedeln Postfach 442 8840 Einsiedeln 055 418 46 46 055 418 46 47 80-18222-1 RAIFCH22XXX +08813630000 81363880000220030508111Raiffeisen Raiffeisenbank March Herrengasse 1 Postfach 117 8856 Tuggen 055 465 65 55 055 465 65 56 90-4932-9 RAIFCH22XXX +08813640000 81364380000220000421111Raiffeisen Raiffeisenbank Yberg/Oberiberg/Unteriberg Postfach 71 8843 Oberiberg 055 414 61 21 055 414 61 22 90-885-3 RAIFCH22XXX +08813640001 81364380000320010218111Raiffeisen Raiffeisenbank Yberg/Oberiberg/Unteriberg 8842 Unteriberg 055 414 61 21 055 414 61 12 *90-885-3 RAIFCH22XXX +08813710000 81371780000220010317111Raiffeisen Raiffeisenbank Regio Altnau Bahnhofstr. 12 8595 Altnau 071 694 56 94 071 694 56 95 85-932-7 RAIFCH22XXX +08813710001 81371780000320010628111Raiffeisen Raiffeisenbank Regio Altnau 8597 Landschlacht 071 694 56 24 071 694 56 95 *85-932-7 RAIFCH22XXX +08813710002 81371780000320020829111Raiffeisen Raiffeisenbank Regio Altnau Sommeristrasse 3 8594 Güttingen 071 694 56 04 071 694 56 95 *85-932-7 RAIFCH22XXX +08813710003 81371780000320010628111Raiffeisen Raiffeisenbank Regio Altnau 8574 Lengwil-Oberhofen 071 694 56 54 071 694 56 95 *85-932-7 RAIFCH22XXX +08813710004 81371780000320010628111Raiffeisen Raiffeisenbank Regio Altnau Herrenhof 8585 Langrickenbach 071 694 56 44 071 694 56 95 *85-932-7 RAIFCH22XXX +08813710005 81371780000320040422111Raiffeisen Raiffeisenbank Regio Altnau Hauptstrasse 4 8598 Bottighofen 071 694 56 64 071 694 56 65 *85-932-7 RAIFCH22XXX +08813720000 81372580000220030720111Raiffeisen Raiffeisenbank Basadingen Rychgass 2 8254 Basadingen 052 646 08 40 052 646 08 41 82-3254-6 RAIFCH22XXX +08813720001 81372580000319981202111Raiffeisen Raiffeisenbank Basadingen 8253 Diessenhofen 052 654 15 30 052 654 15 31 *82-3254-6 RAIFCH22XXX +08813730000 81373080000220030427111Raiffeisen Raiffeisenbank Amriswil-Dozwil-Sommeri Kirchstrasse 13 Postfach 1282 8580 Amriswil 071 414 75 75 071 414 75 73 85-799-4 RAIFCH22XXX +08813730001 81373080000320040522111Raiffeisen Raiffeisenbank Amriswil-Dozwil-Sommeri 8580 Sommeri 071 414 75 85 071 414 75 84 *85-799-4 RAIFCH22XXX +08813730002 81373080000320040522111Raiffeisen Raiffeisenbank Amriswil-Dozwil-Sommeri 8580 Dozwil 071 414 75 65 071 414 75 64 *85-799-4 RAIFCH22XXX +08813740000 81374180000219980116111Raiffeisen Raiffeisenbank Eschlikon Postfach 128 8360 Eschlikon TG 071 973 70 40 071 973 70 45 85-1027-0 RAIFCH22XXX +088137600008138481376480000220040701111Raiffeisen Raiffeisenbank Hüttlingen-Felben Hauptstr. 52 8553 Hüttlingen-Mettendorf 052 765 22 22 052 765 27 17 85-2687-7 RAIFCH22XXX +08813770000 81377280000220000420111Raiffeisen Raiffeisenbank Aadorf Postfach 181 8355 Aadorf 052 368 00 00 052 368 00 09 84-159-7 RAIFCH22XXX +08813770001 81377280000320020626111Raiffeisen Raiffeisenbank Aadorf 8353 Elgg 052 368 00 00 052 368 00 70 *84-159-7 RAIFCH22XXX +08813780000 81378880000220000420111Raiffeisen Raiffeisenbank Bichelsee-Turbenthal Hauptstr. 10 8363 Bichelsee 071 973 93 73 071 973 93 70 85-532-6 RAIFCH22XXX +08813780002 81378880000319980423111Raiffeisen Raiffeisenbank Bichelsee-Turbenthal 8488 Turbenthal 052 397 29 29 052 397 29 20 *85-532-6 RAIFCH22XXX +08813790000 81379380000220000420111Raiffeisen Raiffeisenbank Birwinken Dorfstr. 31 8585 Mattwil 071 649 30 30 071 649 30 40 85-1858-3 RAIFCH22XXX +08813790001 81379380000320041023111Raiffeisen Raiffeisenbank Birwinken Postfach 8572 Berg TG 071 637 60 60 071 637 60 70 *85-1858-3 RAIFCH22XXX +08813790002 81379380000320000420111Raiffeisen Raiffeisenbank Birwinken 8586 Erlen 071 648 24 24 071 648 24 50 *85-1858-3 RAIFCH22XXX +08813800000 81380180000220020524111Raiffeisen Raiffeisenbank Regio Weinfelden Postfach 233 8575 Bürglen TG 071 634 60 60 071 634 60 70 85-4611-9 RAIFCH22XXX +08813800002 81380180000319980924111Raiffeisen Raiffeisenbank Regio Weinfelden 8570 Weinfelden 071 626 60 60 071 626 60 65 *85-4611-9 RAIFCH22XXX +08813810000 81381680000220000420111Raiffeisen Raiffeisenbank Dussnang-Fischingen Postfach 27 8374 Dussnang 071 978 70 10 071 978 70 19 84-368-1 RAIFCH22XXX +08813820000 81382480000220000420111Raiffeisen Raiffeisenbank Eschenz-Steckborn Postfach 68 8264 Eschenz 052 742 04 72 052 742 04 79 82-1303-5 RAIFCH22XXX +08813820001 81382480000320020126111Raiffeisen Raiffeisenbank Eschenz-Steckborn Seestrasse 129 8266 Steckborn 052 761 16 61 052 761 16 70 *82-1303-5 RAIFCH22XXX +08813840000 81384880000220041124111Raiffeisen Raiffeisenbank Frauenfeld Holdertor, St. Gallerstrasse 4 Postfach 8501 Frauenfeld 052 723 28 00 052 723 28 08 85-708-2 RAIFCH22XXX +08813840001 81384880000320000420111Raiffeisen Raiffeisenbank Frauenfeld 8512 Thundorf 052 376 31 86 052 376 25 55 *85-708-2 RAIFCH22XXX +08813840002 81384880000320040825111Raiffeisen Raiffeisenbank Frauenfeld Hauptstrasse 52 8553 Hüttlingen 052 765 22 22 052 765 27 17 *85-708-2 RAIFCH22XXX +08813840003 81384880000320040701111Raiffeisen Raiffeisenbank Frauenfeld 8552 Felben-Wellhausen 052 765 30 60 052 765 30 61 *85-708-2 RAIFCH22XXX +08813880000 81388580000220010728111Raiffeisen Raiffeisenbank Herdern Frauenfelderstrasse 4 8535 Herdern 052 748 00 66 052 748 00 60 85-1485-0 RAIFCH22XXX +08813920000 81392880000220020426111Raiffeisen Raiffeisenbank Wagenhausen-Kaltenbach Postfach 18 8259 Wagenhausen 052 741 45 75 052 741 46 95 82-5039-5 RAIFCH22XXX +08813950000 81395780000219981203111Raiffeisen Raiffeisenbank Lipperswil Postfach 8564 Hefenhausen 071 659 00 90 071 659 00 91 85-1202-3 RAIFCH22XXX +08813960000 81396580000219980116111Raiffeisen Raiffeisenbank Matzingen Postfach 39 9548 Matzingen 052 376 11 29 052 376 24 90 85-5290-9 RAIFCH22XXX +08813970000 81397080000220000426111Raiffeisen Raiffeisenbank Münchwilen Eschlikonerstrasse 2 9542 Münchwilen TG 071 969 46 00 071 969 46 09 85-3654-7 RAIFCH22XXX +08813980000 81398180000220000421111Raiffeisen Raiffeisenbank Neukirch-Romanshorn Postfach 71 9315 Neukirch (Egnach) 071 474 74 44 071 474 74 45 85-253-6 RAIFCH22XXX +08813980001 81398180000320000601111Raiffeisen Raiffeisenbank Neukirch-Romanshorn 9322 Egnach 071 474 74 44 071 474 74 47 *85-253-6 RAIFCH22XXX +08813980002 81398180000320000601111Raiffeisen Raiffeisenbank Neukirch-Romanshorn 8590 Romanshorn 071 474 74 44 071 466 09 51 *85-253-6 RAIFCH22XXX +08814010000 81401580000219981128111Raiffeisen Raiffeisenbank Pfyn-Homburg Postfach 11 8505 Pfyn 052 766 00 66 052 766 00 60 85-930-3 RAIFCH22XXX +08814010003 81401580000319981203111Raiffeisen Raiffeisenbank Pfyn-Homburg 8508 Homburg 052 763 24 84 052 763 37 19 *85-930-3 RAIFCH22XXX +08814020000 81402080000220000420111Raiffeisen Raiffeisenbank Rickenbach-Wilen Wilenstr. 23 9532 Rickenbach b. Wil 071 929 90 90 071 929 90 91 85-1250-1 RAIFCH22XXX +08814030000 81403180000220000426111Raiffeisen Raiffeisenbank Roggwil TG St. Gallerstrasse 51 9325 Roggwil TG 071 454 77 77 071 454 77 78 90-2905-9 RAIFCH22XXX +08814030001 81403180000319980826111Raiffeisen Raiffeisenbank Roggwil TG 9320 Arbon 071 447 11 11 071 447 11 12 *90-2905-9 RAIFCH22XXX +08814060000 81406280000220031121111Raiffeisen Raiffeisenbank Schlatt b. Diessenhofen Mettschlatterstrasse 6 Postfach 8252 Schlatt TG 052 657 21 40 052 657 25 40 82-4141-7 RAIFCH22XXX +08814080000 81408380000220031219111Raiffeisen Raiffeisenbank Kemmental Postweg 1 8573 Siegershausen 071 698 60 10 071 698 60 11 85-3123-6 RAIFCH22XXX +08814090000 81409980000220000420111Raiffeisen Raiffeisenbank Sirnach Postfach 36 8370 Sirnach 071 969 69 00 071 969 69 01 90-4326-6 RAIFCH22XXX +08814110000 81411480000220000420111Raiffeisen Raiffeisenbank Sulgen Postfach 60 8583 Sulgen 071 644 80 80 071 642 41 40 85-1966-3 RAIFCH22XXX +08814110002 81411480000320000420111Raiffeisen Raiffeisenbank Sulgen 8577 Schönholzerswilen 071 633 27 27 071 633 27 28 *85-1966-3 RAIFCH22XXX +08814120000 81412280000220000420111Raiffeisen Raiffeisenbank Tägerwilen Hauptstr. 58 8274 Tägerwilen 071 666 88 11 071 666 88 21 85-3043-1 RAIFCH22XXX +08814120001 81412280000320010927111Raiffeisen Raiffeisenbank Tägerwilen 8272 Ermatingen 071 664 20 80 071 664 20 39 *85-3043-1 RAIFCH22XXX +08814120002 81412280000319981031111Raiffeisen Raiffeisenbank Tägerwilen 8280 Kreuzlingen 071 677 04 04 071 677 04 05 *85-3043-1 RAIFCH22XXX +08814140000 81414380000220000420111Raiffeisen Raiffeisenbank Tobel Hauptstr. 10 9555 Tobel 071 918 70 70 071 918 70 75 85-320-0 RAIFCH22XXX +08814160000 81416780000220000420111Raiffeisen Raiffeisenbank Wängi Postfach 19 9545 Wängi 052 369 78 78 052 369 78 80 85-927-1 RAIFCH22XXX +08814170000 81417580000220000420111Raiffeisen Raiffeisenbank Zihlschlacht Postfach 100 8588 Zihlschlacht 071 424 29 29 071 424 29 20 90-10333-1 RAIFCH22XXX +08814170001 81417580000320000420111Raiffeisen Raiffeisenbank Zihlschlacht 9220 Bischofszell 071 424 29 39 071 424 29 30 *90-10333-1 RAIFCH22XXX +08814310000 81431680000220020627111Raiffeisen Raiffeisenbank Urner Unterland Lehnplatz 20 Postfach 855 6460 Altdorf UR 041 874 31 61 041 870 10 26 60-1719-2 RAIFCH22XXX +08814310001 81431680000320001019111Raiffeisen Raiffeisenbank Urner Unterland Burgstrasse 5 6468 Attinghausen 041 874 31 51 041 870 58 60 *60-1719-2 RAIFCH22XXX +08814310002 81431680000320000420111Raiffeisen Raiffeisenbank Urner Unterland 6467 Schattdorf 041 874 31 71 041 870 47 86 *60-1719-2 RAIFCH22XXX +08814320000 81432480000220021024111Raiffeisen Raiffeisenbank Bürglen UR Postfach 181 6463 Bürglen UR 041 874 54 74 041 874 54 84 60-6517-6 RAIFCH22XXX +08814330000 81433280000220000420111Raiffeisen Raiffeisenbank Urner Oberland Postfach 228 6472 Erstfeld 041 880 20 21 041 880 20 29 60-3263-3 RAIFCH22XXX +08814330001 81433280000319970801111Raiffeisen Raiffeisenbank Urner Oberland 6484 Wassen UR 041 885 11 44 041 885 11 59 *60-3263-3 RAIFCH22XXX +08814330003 81433280000319970801111Raiffeisen Raiffeisenbank Urner Oberland 6482 Gurtnellen 041 885 10 30 041 885 10 45 *60-3263-3 RAIFCH22XXX +08814330004 81433280000320010628111Raiffeisen Raiffeisenbank Urner Oberland 6491 Realp 041 887 04 10 041 887 04 10 *60-3263-3 RAIFCH22XXX +08814340000 81434880000220000426111Raiffeisen Raiffeisenbank Isenthal-Seedorf Dorf 6461 Isenthal 041 878 12 92 041 878 12 32 60-15962-2 RAIFCH22XXX +08814340001 81434880000320010628111Raiffeisen Raiffeisenbank Isenthal-Seedorf 6462 Seedorf UR 041 870 88 20 041 870 88 80 *60-15962-2 RAIFCH22XXX +08814440000 81444980000220000426111Raiffeisen Raiffeisenbank Silenen-Amsteg-Bristen Dorf 34 6475 Bristen 041 883 18 22 041 883 01 41 60-3188-8 RAIFCH22XXX +08814440001 81444980000320020427111Raiffeisen Raiffeisenbank Silenen-Amsteg-Bristen 6474 Amsteg 041 883 14 77 041 883 15 11 *60-3188-8 RAIFCH22XXX +08814440002 81444980000320010628111Raiffeisen Raiffeisenbank Silenen-Amsteg-Bristen 6473 Silenen 041 883 01 15 041 883 03 18 *60-3188-8 RAIFCH22XXX +08814470000 81447080000220010921111Raiffeisen Raiffeisenbank Schächental Kirchstrasse Postfach 6465 Unterschächen 041 879 13 71 041 879 17 73 60-15520-3 RAIFCH22XXX +08814470001 81447080000320010921111Raiffeisen Raiffeisenbank Schächental Post 8751 Urnerboden 055 643 17 05 055 643 17 05 *60-15520-3 RAIFCH22XXX +08814470002 81447080000320010927111Raiffeisen Raiffeisenbank Schächental Dörflihaus 6464 Spiringen 041 879 17 88 041 879 18 85 *60-15520-3 RAIFCH22XXX +08814520000 81452980000219980116111Raiffeisen Raiffeisenbank Steinhausen Postfach 425 6312 Steinhausen 041 741 25 51 041 741 25 50 60-5553-2 RAIFCH22XXX +08814530000 81453780000220000420111Raiffeisen Raiffeisenbank Allenwinden Sonnmatt 3 6319 Allenwinden 041 710 39 44 041 711 64 10 60-1439-4 RAIFCH22XXX +08814540000 81454580000220040701111Raiffeisen Raiffeisenbank Zug Rathausstrasse 10 Postfach 6341 Baar 041 766 01 30 041 766 01 31 60-8774-0 RAIFCH22XXX +08814540001 81454580000320000620111Raiffeisen Raiffeisenbank Zug Postfach 86 6318 Walchwil 041 758 20 58 041 758 20 68 *60-8774-0 RAIFCH22XXX +08814550000 81455080000220040429111Raiffeisen Raiffeisenbank Cham Postfach 765 6330 Cham 1 041 785 05 05 041 785 05 85 60-9596-7 RAIFCH22XXX +08814560000 81456180000220030716111Raiffeisen Raiffeisenbank Hünenberg Chamerstr. 15 Postfach 542 6331 Hünenberg 041 785 61 85 041 780 09 58 60-7423-8 RAIFCH22XXX +08814570000 81457680000220040123111Raiffeisen Raiffeisenbank Menzingen-Neuheim Neudorfstrasse 3 Postfach 361 6313 Menzingen 041 757 20 50 041 757 20 60 60-6187-0 RAIFCH22XXX +08814570001 81457680000320000426111Raiffeisen Raiffeisenbank Menzingen-Neuheim 6345 Neuheim 041 757 20 80 041 755 24 25 *60-6187-0 RAIFCH22XXX +08814590000 81459280000220000620111Raiffeisen Raiffeisenbank Oberägeri-Sattel Postfach 450 6315 Oberägeri 041 754 50 20 041 754 50 21 60-7369-0 RAIFCH22XXX +08814590001 81459280000320000603111Raiffeisen Raiffeisenbank Oberägeri-Sattel 6417 Sattel 041 835 10 35 041 835 18 56 *60-7369-0 RAIFCH22XXX +08814600000 81460080000220000420111Raiffeisen Raiffeisenbank Risch-Rotkreuz Waldeggstr. 32 6343 Rotkreuz 041 790 17 28 041 790 47 28 60-5726-6 RAIFCH22XXX +08814610000 81461180000219980425111Raiffeisen Raiffeisenbank Unterägeri Postfach 463 6314 Unterägeri 041 754 40 50 041 754 40 60 60-10221-7 RAIFCH22XXX +08814710000 81471080000220050312111Raiffeisen Raiffeisenbank Zürcher Oberland Bahnhofstrasse 2 Postfach 1255 8610 Uster 044 905 29 50 044 905 29 60 80-18578-0 RAIFCH22XXX +08814710001 81471080000320050312111Raiffeisen Raiffeisenbank Zürcher Oberland 8620 Wetzikon ZH 044 970 21 20 044 970 21 23 *80-18578-0 RAIFCH22XXX +08814710002 81471080000320050312111Raiffeisen Raiffeisenbank Zürcher Oberland Postfach 8625 Gossau ZH 044 936 60 80 044 936 15 27 *80-18578-0 RAIFCH22XXX +08814720000 81472180000220010126111Raiffeisen Raiffeisenbank Guntalingen-Neunforn Dorfstr. 32 8468 Guntalingen 052 744 02 20 052 744 02 22 84-6935-6 RAIFCH22XXX +08814720001 81472180000319980423111Raiffeisen Raiffeisenbank Guntalingen-Neunforn 8526 Oberneunforn 052 745 24 48 052 745 24 55 *84-6935-6 RAIFCH22XXX +08814740000 81474480000220040903111Raiffeisen Raiffeisenbank Embrach-Kloten-Dübendorf Dorfstr. 76 8424 Embrach 044 866 76 00 044 866 76 76 84-3431-5 RAIFCH22XXX +08814740001 81474480000320040923111Raiffeisen Raiffeisenbank Embrach-Kloten-Dübendorf 8302 Kloten 044 815 84 00 044 815 84 84 *84-3431-5 RAIFCH22XXX +08814740002 81474480000320040422111Raiffeisen Raiffeisenbank Embrach-Kloten-Dübendorf Wallisellenstrasse 7a 8600 Dübendorf 044 823 66 66 044 823 66 00 *84-3431-5 RAIFCH22XXX +08814750000 81475280000220041023111Raiffeisen Raiffeisenbank Züri-Unterland Marktgasse 7 Postfach 269 8180 Bülach 044 864 30 60 044 864 30 64 80-35822-3 RAIFCH22XXX +08814750001 81475280000320041023111Raiffeisen Raiffeisenbank Züri-Unterland Riedpark Zürcherstrasse 17 8173 Neerach 044 858 01 03 044 858 01 04 *80-35822-3 RAIFCH22XXX +08814750002 81475280000320041023111Raiffeisen Raiffeisenbank Züri-Unterland Feldwiesenstrasse 2 8181 Höri 044 860 82 44 044 860 82 08 *80-35822-3 RAIFCH22XXX +08814750003 81475280000320041023111Raiffeisen Raiffeisenbank Züri-Unterland Watterstrasse 31 8105 Regensdorf 044 871 40 00 044 871 40 18 *80-35822-3 RAIFCH22XXX +08814750004 81475280000320041023111Raiffeisen Raiffeisenbank Züri-Unterland Ausserdorf 122 8454 Buchberg 044 867 22 55 044 867 22 56 *80-35822-3 RAIFCH22XXX +08814770000 81477380000220041023111Raiffeisen Raiffeisenbank Oberembrach-Bassersdorf Jakob Bosshart-Strasse 2 Postfach 23 8425 Oberembrach 044 888 66 55 044 888 66 56 84-5464-6 RAIFCH22XXX +08814770001 81477380000320041023111Raiffeisen Raiffeisenbank Oberembrach-Bassersdorf 8303 Bassersdorf 044 888 66 55 044 888 66 56 *84-5464-6 RAIFCH22XXX +08814770002 81477380000320041023111Raiffeisen Raiffeisenbank Oberembrach-Bassersdorf Bahnhofstrasse 1 8304 Wallisellen 044 877 70 00 044 877 70 09 *84-5464-6 RAIFCH22XXX +08814790000 81479780000220000420111Raiffeisen Raiffeisenbank Rheinau Ochsengasse 1 8462 Rheinau 052 319 12 75 052 319 27 31 80-33153-0 RAIFCH22XXX +08814810000 81481880000220041124111Raiffeisen Raiffeisenbank rechter Zürichsee Bahnhofstrasse 20 Postfach 8708 Männedorf 044 922 19 19 044 922 19 18 30-38153-3 RAIFCH22XXX +08814810001 81481880000320041124111Raiffeisen Raiffeisenbank rechter Zürichsee Dorfstrasse 18 8700 Küsnacht 044 913 18 18 044 913 18 17 *30-38153-3 RAIFCH22XXX +08814850000 81485580000220021003111Raiffeisen Raiffeisenbank Winterthur Postfach 8402 Winterthur 052 269 20 20 052 269 20 30 90-99200-4 RAIFCH22XXX +08814860000 81486080000220021003111Raiffeisen Raiffeisenbank Basel St. Jakobstrasse 7 Postfach 4002 Basel 061 226 27 28 061 226 27 00 40-712553-5 RAIFCH22XXX +08814870000 81487180000220030702111Raiffeisen Raiffeisenbank Zürich Limmatquai 68 Postfach 8022 Zürich 043 244 78 78 043 244 79 79 87-71996-7 RAIFCH22XXX +08814870001 81487180000320030702111Raiffeisen Raiffeisenbank Zürich Schaffhauserstrasse 336 8050 Zürich 043 244 78 78 043 244 79 79 *87-71996-7 RAIFCH22XXX +08814880000 81488680000220030423111Raiffeisen Raiffeisenbank Bern Waisenhausplatz 26 Postfach 546 3000 Bern 7 031 326 05 05 031 326 05 55 30-507790-7 RAIFCH22XXX +08820010000 82001582001120030629011LGT Bank DE LGT Bank in Liechtenstein & Co. OHG Schwindstrasse 10 60325 Frankfurt am Main 69 90 746 0 ++49 DE BLFLDEFFXXX +088252 0000 0825248252 120041021103POPSOS ISSELUG Banca Popolare di Sondrio (Suisse) Casella postale 5832 6901 Lugano 1 091 973 36 00 091 695 82 92 69-10314-2 POSOCH22XXX +088254 00008615 0825488254 220040115101Union Investm. Union Investment Privatbank AG Talacker 42 Postfach 8022 Zürich 01 215 94 00 01 215 94 86 30-491422-5 GENOCHZGXXX +088255 0000 0825538255 120010621101Volksb.BodenseeVolksbank Bodensee AG Grenzstrasse 14 Postfach 850 9430 St. Margrethen SG 071 747 55 30 071 747 55 39 80-400000-0 +088255 0001 0825538255 320010621101Volksb.BodenseeVolksbank Bodensee AG Adlerstrasse 35 Postfach 517 4020 Basel 061 378 85 80 061 378 85 89 *80-400000-0 +088256 0000 0825698256 120050305111Finter Bank Finter Bank Zürich Postfach 4989 8022 Zürich 044 289 55 00 044 289 56 00 80-6606-8 FBZUCHZZXXX +088256 0001 0825698256 320010707113Finter Bank Finter Bank Zürich Casella postale 6901 Lugano 091 910 21 21 091 910 21 41 *80-6606-8 +088256 0002 0825698256 320010707113Finter Bank Finter Bank Zürich corso S. Gottardo 35 6830 Chiasso 091 695 24 24 091 695 24 44 *80-6606-8 +088260 0000 0826048260 120050304111AIG AIG Private Bank Ltd. Pelikanstrasse 37 Postfach 1376 8021 Zürich 044 227 55 55 044 211 55 11 80-8313-1 UEBECHZZXXX +088261 0000 0826128261 120040515102KREDIETBANK KREDIETBANK (SUISSE) SA Bd Georges-Favon 7 Case postale 1211 Genève 11 022 316 63 22 022 316 64 44 12-9511-3 KSUICHGGXXX +088261 0001 0826128261 320030928102KREDIETBANK KREDIETBANK (SUISSE) SA Avenue d'Ouchi 10 Case postale 135 1001 Lausanne 021 613 17 40 021 613 17 95 *12-9511-3 +088263 0000 0826338263 120050304111SALOPPI Bank Sal. Oppenheim jr. & Cie. (Schweiz) AG Postfach 8022 Zürich 044 214 22 14 80-415-3 BOPSCHZZXXX +088264 0000 0826498264 120010713112BNP PARIBAS BNP Paribas (Suisse) SA Place de Hollande 2 Case postale 1211 Genève 11 022 787 71 11 022 787 80 00 12-1244-8 UEBGCHGGXXX +088264 0001 0826498264 320050304111BNP PARIBAS BNP Paribas (Suisse) SA Talstrasse 41 Postfach 8022 Zürich 044 229 61 11 *12-1244-8 +088264 0002 0826498264 320010726111BNP PARIBAS BNP Paribas (Suisse) SA Postfach 4002 Basel 061 276 11 11 *12-1244-8 +088265 0000 0826578265 120050304101Commerzbank Commerzbank (Schweiz) AG Postfach 7383 8023 Zürich 044 219 71 11 044 211 72 40 80-903-5 COBACHZXXXX +088265 0001 0826578265 320010622102Commerzbank Commerzbank (Schweiz) AG Case postale 3081 1211 Genève 3 022 316 61 00 022 316 61 16 *80-903-5 +088267 0000 0826708267 120050305101Jyske Bank Jyske Bank (Schweiz) Postfach 8035 Zürich 044 368 73 73 80-9547-2 JYBACHZZXXX +088268 0000 0826818268 120050305101Dexia Dexia Privatbank (Schweiz) Postfach 970 8039 Zürich 044 286 92 92 044 201 14 71 80-7604-3 BILSCHZZXXX +088270 0000 0827088270 120050305111BBVA (Suiza) SABBVA (Suiza) SA Zeltweg 63 Postfach 3930 8021 Zürich 044 265 95 11 044 265 98 91 80-13760-7 BBVACHZZXXX +088271 0000 0827138271 120050304111HGUZB HSBC Guyerzeller Bank AG Genferstrasse 8 Postfach 8027 Zürich 044 206 71 11 044 201 51 39 80-3119-3 GUYECHZZXXX +088273 00008741 0827378273 220031004101IntesaBci IntesaBci Bank (Suisse) Rämistrasse 31 Postfach 8024 Zürich 01 269 82 11 01 269 82 09 80-7336-3 BSUICH22120 +088277 0000 0827768277 120030522102Bque Safdié SA Banque Safdié SA 1, rue de la Tour de l'Ile Case postale 5415 1211 Genève 11 022 310 88 33 12-253-9 MCBACHGGXXX +08827710000 8277188277 220050304101Bque Safdié SA Banque Safdié SA Postfach 4630 8022 Zürich 044 215 19 00 80-1038-9 MCBACHGGZUR +088278 0000 0827848278 120050304111G S+CoBank Goldman, Sachs & Co Bank Postfach 8022 Zürich 044 224 10 00 80-3040-1 GOLDCHZZXXX +088279 0000 0827928279 120050304101AnkerBank Anker Bank Lintheschergasse 19 Postfach 8023 Zürich 044 224 65 65 044 211 99 54 80-756-0 ANKBCH2LXXX +088279 0001 0827928279 319990528102AnkerBank Anker Bank 19, Rue de la Croix-d'Or Case postale 5605 1211 Genève 3 022 312 03 12 022 312 03 57 12-1377-1 ANKBCH2LXXX +088279 0002 0827928279 319990528102AnkerBank Anker Bank 50, Avenue de la Gare Case postale 159 1001 Lausanne 021 321 07 07 021 323 97 67 10-14213-8 ANKBCH2LXXX +088279 0003 0827928279 320020829101AnkerBank Anker Bank Riva Caccia 1a 6900 Lugano 091 985 90 50 091 985 90 59 *80-756-0 ANKBCH2LXXX +088280 0000 0828008280 120040220102Bque. Franck SABanque Franck, Galland & Cie SA Rue Töpfer 1 Case postale 3254 1211 Genève 3 022 839 46 46 022 839 46 50 12-4453-1 BAFRCHGGXXX +088281 0000 0828118281 120050305111Hapoalim Bank Hapoalim (Schweiz) AG Stockerstrasse 33 Postfach 8039 Zürich 044 283 81 81 044 202 77 40 80-584-1 POALCHZZXXX +088282 0000 0828268282 120040907113BIPIELLE Bank BIPIELLE Bank (Suisse) Via Nassa 11 Casella postale 2812 6901 Lugano 091 911 01 11 091 911 01 51 69-731-6 BPLSCH22XXX +088282100008282 8282188282 120040129111BIPIELLE Bank BIPIELLE Bank (Suisse) Gerbergasse 6 Postfach 7583 8023 Zürich 01 228 66 50 01 211 98 49 80-653-2 ADAMCH22ZHR +088283 0000 0828348283 120050305101AKB PRIVATBANK AKB Privatbank Zürich AG Postfach 8039 Zürich 044 283 83 83 044 283 84 85 80-2455-9 AKBPCHZZXXX +088285 0000 0828588285 120050305101BAGEFI Banque de Gestion Financière BAGEFI Postfach 8032 Zürich 044 268 53 00 044 268 53 53 BGFBCHZZXXX +088288 0000 0828878288 120050305111LB(SWISS) LB(Swiss) Privatbank AG Börsenstrasse 16 Postfach 8022 Zürich 044 265 44 44 044 265 45 55 80-4427-6 BYLACHZZXXX +088289 0000 0828958289 120050317111BHF-BANK BHF-BANK (Schweiz) AG Schulhausstrasse 6 Postfach 8027 Zürich 044 209 75 11 044 202 56 06 80-7493-4 BHFBCHZZXXX +088295 00008563 0829528295 220030801101PBS AG PBS Privat Bank Schweiz AG Utoquai 55 Postfach 8034 Zürich 01 259 96 96 01 259 97 97 80-1632-7 +088296 0000 0829688296 120050320101GEFS (Suisse) GEFS (Suisse) AG Löwenstrasse 52 Postfach 8023 Zürich 044 227 70 40 80-2233-0 +08829610000 8296148296 220050320102GEFS (Suisse) GEFS (Suisse) SA Rue de la Banque 1 Case postale 1701 Fribourg 026 321 11 31 17-277-0 +08829620000 8296228296 220050319102GEFS (Suisse) GEFS (Suisse) SA Rue du Cendrier 17 Case postale 1201 Genève 022 908 65 90 022 908 65 99 12-2647-1 +08829630000 8296388296 220050320101GEFS (Suisse) GEFS (Suisse) AG Freie Strasse 39 Postfach 4001 Basel 061 264 95 11 40-18459-5 +08829640000 8296438296 220050320101GEFS (Suisse) GEFS (Suisse) AG Oberer Graben 3 Postfach 9004 St. Gallen 071 227 19 19 90-19321-7 +08829650000 8296598296 220050320101GEFS (Suisse) GEFS (Suisse) AG Bahnhofstrasse 8 Postfach 5001 Aarau 062 832 30 50 50-8130-3 +08829660000 8296678296 220050320101GEFS (Suisse) GEFS (Suisse) AG Schwanengasse 1 Postfach 3001 Bern 031 311 82 22 30-5050-4 +08829670000 8296758296 220050320101GEFS (Suisse) GEFS (Suisse) AG Weggisgasse 1 / Falkenplatz Postfach 6000 Luzern 5 041 410 64 44 60-4979-1 +08829680000 8296808296 220050319102GEFS (Suisse) GEFS (Suisse) SA Avenue Ruchonnet 1 Case postale 1003 Lausanne 021 310 40 50 10-992-6 +08829690000 8296918296 220050319102GEFS (Suisse) GEFS (Suisse) SA Faubourg de l'Hôpital 1 Case postale 2001 Neuchâtel 032 724 63 63 20-246-1 +08829710000 8297178296 220050320101GEFS (Suisse) GEFS (Suisse) AG Dufourstrasse 12 Postfach 2500 Biel/Bienne 3 032 323 59 51 25-10053-0 +08829720000 8297258296 220050319102GEFS (Suisse) GEFS (Suisse) SA Avenue Léopold-Robert 25 Case postale 2301 Chaux-de-Fonds, La 032 913 16 12 23-921-0 +08829730000 8297308296 220050320101GEFS (Suisse) GEFS (Suisse) AG Hauptbahnhofstrasse 12 Postfach 4501 Solothurn 032 622 82 92 45-671-3 +08829750000 8297568296 220050320103GEFS (Svizzera)GEFS (Svizzera) SA Via E. Bossi 1 Casella postale 6901 Lugano 091 923 66 71 69-55-3 +08829760000 8297648296 220050319102GEFS (Suisse) GEFS (Suisse) SA Avenue des Mayennets 5 Case postale 1951 Sion/Sitten 027 323 50 23 19-178-9 +08829770000 8297728296 220050320101GEFS (Suisse) GEFS (Suisse) AG Schmidgasse 7 Postfach 8401 Winterthur 052 212 78 21 84-287-2 +08829790000 8297938296 220050320101GEFS (Suisse) GEFS (Suisse) AG Bahnhofstrasse 14 Postfach 5401 Baden 056 221 54 00 50-2655-7 +08829810000 8298168296 220050320101GEFS (Suisse) GEFS (Suisse) AG Jurastrasse 19 Postfach 4601 Olten 062 212 00 62 46-21-9 +08829820000 8298248296 220050320101GEFS (Suisse) GEFS (Suisse) AG Auenstrasse 6 Postfach 8600 Dübendorf 1 044 802 71 11 80-17190-4 +08829830000 8298328296 220050320101GEFS (Suisse) GEFS (Suisse) AG Schaffhauserstrasse 315 Postfach 8218 8050 Zürich 044 312 67 00 80-11522-8 +08829840000 8298488296 220050320101GEFS (Suisse) GEFS (Suisse) AG Alexanderstrasse 18 Postfach 351 7001 Chur 081 257 05 25 70-805-4 +08829860000 8298698296 220050319102GEFS (Suisse) GEFS (Suisse) SA Rue Igor Stravinsky 2 Case postale 103 1820 Montreux 2 021 963 53 46 18-6140-7 +08829920000 8299288296 220050320101GEFS (Suisse) GEFS (Suisse) AG Kaiserstrasse 9 4310 Rheinfelden 061 836 99 77 45-7979-7 +08829930000 8299338296 220050319101GEFS (Suisse) GEFS (Suisse) AG Badenerstrasse 3 5200 Brugg AG 056 461 83 44 *80-2233-0 +08829940000 8299498296 220050319103GEFS (Svizzera)GEFS (Svizzera) SA Via Monda 2 6528 Camorino 056 461 83 44 *80-2233-0 +08829950000 8299578296 220050319102GEFS (Suisse) GEFS (Suisse) SA Rue de l'industrie 58 1030 Bussigny 056 461 83 44 *80-2233-0 +088300 0000 0830018300 119990522101SLWynigen Spar- und Leihkasse Wynigen Postfach 180 3472 Wynigen 034 415 77 77 34-50-6 +088300 0001 0830018300 319970704101SLWynigen Spar- und Leihkasse Wynigen Postfach 3473 Alchenstorf 034 415 11 03 *34-50-6 +088300 0002 0830018300 319970704101SLWynigen Spar- und Leihkasse Wynigen Postfach 3423 Ersigen 034 445 74 09 *34-50-6 +088300 0003 0830018300 319970704101SLWynigen Spar- und Leihkasse Wynigen Postfach 3412 Heimiswil 034 420 40 40 *34-50-6 +088300 0004 0830018300 319970704101SLWynigen Spar- und Leihkasse Wynigen Postfach 3367 Ochlenberg 062 961 71 54 *34-50-6 +088307 0000 0830778307 119990428111HYPI Lenzburg Hypothekarbank Lenzburg Bahnhofstrasse 2 Postfach 5600 Lenzburg 1 062 885 11 11 062 885 15 95 50-69-8 HYPLCH22XXX +088307 0001 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Kreuzplatz Postfach 5103 Wildegg 062 887 18 70 062 887 18 99 *50-69-8 +088307 0002 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Bahnhofstrasse 20 Postfach 5605 Dottikon 056 616 79 40 056 616 79 51 *50-69-8 +088307 0003 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Gärtliackerweg Postfach 5502 Hunzenschwil 062 889 46 80 062 889 46 90 *50-69-8 +088307 0004 0830778307 320010810111HYPI Lenzburg Hypothekarbank Lenzburg Augustin Keller-Strasse 26 Postfach 5600 Lenzburg 062 885 16 10 062 885 16 14 *50-69-8 +088307 0005 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Hauptstrasse 37 Postfach 5616 Meisterschwanden 056 676 69 60 056 676 69 79 *50-69-8 +088307 0006 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Lenzburgerstr. 15 + Zentralplatz 2 Postfach 5507 Mellingen 056 481 86 20 056 481 86 21 *50-69-8 +088307 0007 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Hauptstrasse 16 Postfach 5702 Niederlenz 062 888 49 80 062 888 49 99 *50-69-8 +088307 0008 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Zentrum 1 Postfach 5452 Oberrohrdorf 056 485 99 00 056 485 99 08 *50-69-8 +088307 0009 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Mitteldorf 2 Postfach 5102 Rupperswil 062 889 28 00 062 889 28 03 *50-69-8 +088307 0010 0830778307 320010714111HYPI Lenzburg Hypothekarbank Lenzburg Seetalstrasse 47 Postfach 5703 Seon 062 769 78 40 062 769 78 69 *50-69-8 +088307 0011 0830778307 320030719111HYPI Lenzburg Hypothekarbank Lenzburg Hauptstrasse 60 5032 Rohr AG 062 836 30 18 062 836 30 10 *50-69-8 +088309 0000 0830908309 120020115102SYZ & CO. Banque Syz & Co SA 30, rue du Rhône Case postale 5015 1211 Genève 11 022 819 09 09 022 819 09 00 12-100616-5 SYCOCHGGXXX +088320 0000 0832088320 120000409102CEPY SA Caisse d'Epargne et de Prévoyance d'Yverdon-les-Bains SA Rue du Milieu 5 Case postale 1401 Yverdon-les-Bains 024 424 10 10 024 426 20 15 10-665-4 +088326 0000 0832618326 119990629102CEN Caisse d'Epargne de Nyon Case postale 1260 Nyon 022 994 77 77 022 994 77 75 12-1517-9 +088327 0000 0832768327 119990522102CEA Caisse d'Epargne d'Aubonne Rue de l'Hôtel-de-Ville 21 Case postale 56 1170 Aubonne 021 821 12 60 021 808 79 42 10-538-4 +088328 0000 0832848328 120040722102Caisse épargne Caisse d'épargne de Vuisternens-devant-Romont Aux Chaussies 1687 Vuisternens-devant-Romont 026 655 12 28 026 655 12 68 17-922-6 +088329 0000 0832928329 120010804101EKS Ersparniskasse Speicher Hauptstrasse 21 9042 Speicher 071 344 10 66 071 344 41 22 90-2730-7 +088330 0000 0833008330 120040507102CBES Compagnie Bancaire Espirito Santo SA 15, avenue de Montchoisi Case postale 390 1001 Lausanne 021 619 55 55 021 619 55 56 10-1686-8 CFESCH22XXX +088334 0000 0833428334 120010804111SoBa Baloise Bank SoBa Amthausplatz 4 4502 Solothurn 032 626 02 02 032 623 36 92 45-87-4 KBSOCH22XXX +088334 0001 0833428334 320010804111SoBa Baloise Bank SoBa Herrengasse 10 4710 Balsthal 062 386 71 71 062 391 42 62 *45-87-4 KBSOCH22XXX +088334 0002 0833428334 320010804111SoBa Baloise Bank SoBa Dorfstrasse 41 2544 Bettlach 032 644 20 20 032 645 17 13 *45-87-4 KBSOCH22XXX +088334 0003 0833428334 320010804111SoBa Baloise Bank SoBa Hauptstrasse 24 4562 Biberist 032 671 28 28 032 672 26 10 *45-87-4 KBSOCH22XXX +088334 0004 0833428334 320041105111SoBa Baloise Bank SoBa Passwangstrasse 27 4226 Breitenbach 061 789 21 21 061 781 31 47 *45-87-4 KBSOCH22XXX +088334 0005 0833428334 319990528111SoBa Baloise Bank SoBa Solothurnerstrasse 8 4573 Lohn SO 032 677 59 59 032 677 59 58 *45-87-4 KBSOCH22XXX +088334 0007 0833428334 319990428111SoBa Baloise Bank SoBa Bienkenstrasse 22 4702 Oensingen 062 388 48 48 062 396 24 73 *45-87-4 KBSOCH22XXX +088334 0008 0833428334 319990428111SoBa Baloise Bank SoBa Froburgstrasse 4 4601 Olten 062 205 77 77 062 212 58 72 *45-87-4 KBSOCH22XXX +088334 0009 0833428334 319990428111SoBa Baloise Bank SoBa Gösgerstrasse 2 5012 Schönenwerd 062 858 48 48 062 849 32 75 *45-87-4 KBSOCH22XXX +088334 0011 0833428334 319990428111SoBa Baloise Bank SoBa Hauptstrasse 60 4528 Zuchwil 032 686 60 60 032 685 56 61 *45-87-4 KBSOCH22XXX +088334 0012 0833428334 320041105111SoBa Baloise Bank SoBa Steinmattstrasse 26 4552 Derendingen 032 681 44 44 032 682 40 92 *45-87-4 KBSOCH22XXX +088334 0013 0833428334 320041105111SoBa Baloise Bank SoBa Amthausstrasse 4143 Dornach 061 706 45 45 061 701 25 64 *45-87-4 KBSOCH22XXX +088334 0014 0833428334 319990428111SoBa Baloise Bank SoBa Jurastrasse 3 4657 Dulliken 062 285 52 72 062 295 34 27 *45-87-4 KBSOCH22XXX +088334 0015 0833428334 320000407111SoBa Baloise Bank SoBa Bahnhofstrasse 4 4622 Egerkingen 062 388 93 93 062 398 31 44 *45-87-4 KBSOCH22XXX +088334 0017 0833428334 319990428111SoBa Baloise Bank SoBa Kriegstettenstrasse 4 4563 Gerlafingen 032 674 58 58 032 675 30 41 *45-87-4 KBSOCH22XXX +088334 0018 0833428334 319990428111SoBa Baloise Bank SoBa Centralstrasse 8 2540 Grenchen 032 654 86 86 032 652 78 07 *45-87-4 KBSOCH22XXX +088334 0019 0833428334 319990428111SoBa Baloise Bank SoBa Hauptstrasse 60 4566 Kriegstetten 032 674 54 54 032 675 28 27 *45-87-4 KBSOCH22XXX +088334 0020 0833428334 319990428111SoBa Baloise Bank SoBa Ladendorf 4513 Langendorf 032 625 60 60 032 625 60 66 *45-87-4 KBSOCH22XXX +088334 0021 0833428334 320000407111SoBa Baloise Bank SoBa Biziusstrasse 15 3360 Herzogenbuchsee 062 956 25 25 062 961 41 88 *45-87-4 KBSOCH22XXX +088334 0022 0833428334 320010804111SoBa Baloise Bank SoBa Aeschengraben 25 4051 Basel 061 270 86 11 061 270 86 21 *45-87-4 KBSOCH22XXX +088334 0023 0833428334 320010705111SoBa Baloise Bank SoBa Museumstrasse 35 9000 St. Gallen 071 243 48 48 071 243 48 28 *45-87-4 KBSOCH22XXX +088334 0024 0833428334 320050305111SoBa Baloise Bank SoBa Lintheschergasse 10 8001 Zürich 044 543 19 11 044 543 19 21 *45-87-4 KBSOCH22XXX +088334 0025 0833428334 320010905111SoBa Baloise Bank SoBa Kramgasse 2 3011 Bern 031 313 85 85 031 313 85 51 *45-87-4 KBSOCH22XXX +088335 0000 0833588335 120040309111LGT Bank LGT Bank (Schweiz) AG Lange Gasse 15 Postfach 4002 Basel 061 277 56 00 061 277 55 88 40-7944-3 BLFLCHB1XXX +088335 0001 0833588335 320050317111LGT Bank LGT Bank (Schweiz) AG Spitalgasse 2 3001 Bern 031 326 73 10 031 326 73 33 *40-7944-3 +088335 0002 0833588335 320050317113LGT Bank LGT Bank (Schweiz) AG Via Bossi 9 6901 Lugano 091 912 69 69 091 912 69 70 *40-7944-3 +088335 0003 0833588335 320050317111LGT Bank LGT Bank (Schweiz) AG Glärnischstrasse 36 8022 Zürich 044 250 81 81 044 250 81 82 *40-7944-3 +088335 0004 0833588335 320050318112LGT Bank LGT Bank (Schweiz) AG Avenue C.F. Ramuz 43 1001 Lausanne 021 711 87 00 021 711 88 05 *40-7944-3 +088339 0000 0833958339 120031129101Reisebank AG Reisebank AG Schwarzwaldallee 200 Postfach 231 4016 Basel 061 692 74 83 061 691 95 03 30-252616-8 +088346 0000 0834688346 120050304111BACE Banque Algérienne du Commerce Extérieur SA Talacker 41 Postfach 7484 8023 Zürich 044 218 50 60 044 211 36 27 80-10550-7 AEXTCHZZXXX +088347 0000 0834738347 120010907101SPARKASSE LEUK Spar- und Leihkasse Leuk Schulhausstrasse 12 3953 Leuk Stadt 027 473 25 39 027 473 42 06 19-3272-1 +088348 0000 0834898348 120010901102CAISSE D'EP Caisse d'Epargne et de Crédit Mutuel de Chermignon Postfach 3971 Chermignon 027 483 44 51 027 483 43 51 19-1720-2 +088352 0000 0835238352 120020103101MAT Securities MAT Securitas Express AG Erlenstrasse 95 Postfach 4002 Basel 061 686 80 00 061 686 80 15 +088353 0000 0835398353 120040701101Protectas SA Protectas Cash Handling SA Glattalstrasse 519 8153 Rümlang 043 211 25 25 043 211 25 26 +088354 0000 0835478354 120030614101Zürny ag Zürny AG Gen. Guisan-Strasse 4-8 Postfach 5001 Aarau 062 824 83 24 062 824 83 24 +088355 0000 0835558355 120050312101Brink's SchweizBrink's Schweiz AG Postfach 34 8058 Zürich-Flughafen 044 800 30 70 044 800 30 71 +088387 0000 0838758387 120030705112ING Belgique ING Belgique, Bruxelles 6, rue Jean-Petitot Case postale 5613 1211 Genève 11 022 592 30 00 022 592 30 04 17-415869-3 BBRUCHGTXXX +088388 0000 0838808388 120050101112Bque Baring Banque Baring Brothers (Suisse) SA Rue du Rhône 112 Case postale 3024 1211 Genève 3 022 317 98 11 022 310 38 80 12-506-7 BABRCHGGXXX +088390 0000 0839098390 119990428101ABS Alternative Bank ABS Leberngasse Postfach 4601 Olten 062 206 16 16 062 206 16 17 87-260325-7 +088391 0000 0839178391 120000407101WIR WIR Bank Auberg 1 Postfach 4002 Basel 061 277 91 11 061 277 92 39 40-10970-0 +088391 0001 0839178391 320000407101WIR WIR Bank Helvetiastrasse 35 3000 Bern 6 031 350 50 50 031 350 50 79 *40-10970-0 +088391 0002 0839178391 320000407101WIR WIR Bank Obergrundstrasse 88 Postfach 6000 Luzern 4 041 318 60 20 041 318 60 49 *40-10970-0 +088391 0003 0839178391 320000407101WIR WIR Bank Blumenbergplatz 7 9001 St. Gallen 071 225 20 40 071 225 20 69 *40-10970-0 +088391 0004 0839178391 320050316101WIR WIR Bank Rötelstrasse 37 8042 Zürich 044 368 49 49 044 361 98 48 *40-10970-0 +088391 0005 0839178391 320000407102WIR Banque WIR 3, rue du Simplon 1001 Lausanne 021 613 06 70 021 613 06 89 *40-10970-0 +088391 0006 0839178391 320000407103WIR Banca WIR Riva Caccia 1 6900 Lugano 091 985 90 90 091 985 90 99 *40-10970-0 +088392 0000 0839258392 120010929101BCL, Basel Freie Gemeinschaftsbank BCL Gerbergasse 30 Postfach 248 4001 Basel 061 269 81 00 061 269 81 49 40-963-0 +088401 0000 0840108401 120050304111MIGROSBANK MIGROSBANK Postfach 8023 Zürich 044 229 81 11 80-533-6 MIGRCHZZXXX +088401 0001 0840108401 319970704111MIGROSBANK MIGROSBANK Postfach 5400 Baden 056 203 74 74 *80-533-6 +088401 0002 0840108401 319970704111MIGROSBANK MIGROSBANK Postfach 5033 Buchs AG 062 834 75 75 *80-533-6 +088401 0003 0840108401 320050305111MIGROSBANK MIGROSBANK Postfach 8301 Glattzentrum b. Wallisellen 044 839 93 10 *80-533-6 +088401 0004 0840108401 319970704111MIGROSBANK MIGROSBANK Postfach 4600 Olten 062 206 76 76 *80-533-6 +088401 0005 0840108401 320030802111MIGROSBANK MIGROSBANK Postfach 6300 Zug 041 725 28 28 *80-533-6 +088401 0006 0840108401 320050305111MIGROSBANK MIGROSBANK Altstetten Postfach 8048 Zürich 044 431 94 90 *80-533-6 +088401 0007 0840108401 320050305111MIGROSBANK MIGROSBANK Limmatplatz Postfach 8031 Zürich 044 447 72 72 *80-533-6 +088401 0008 0840108401 320050305111MIGROSBANK MIGROSBANK Oerlikon Postfach 8050 Zürich 044 318 77 77 *80-533-6 +088401 0009 0840108401 320050305111MIGROSBANK MIGROSBANK Stockerstrasse Postfach 8027 Zürich 044 281 17 66 *80-533-6 +088404 0000 0840448401 220010715111MIGROSBANK MIGROSBANK Postfach 8401 Winterthur 052 260 23 23 84-704-3 MIGRCHZZ84A +088404 0001 0840448401 319980424111MIGROSBANK MIGROSBANK Postfach 8640 Rapperswil SG 055 220 29 29 *84-704-3 +088404 0002 0840448401 319970704111MIGROSBANK MIGROSBANK Postfach 8201 Schaffhausen 052 632 27 27 *84-704-3 +088404 0003 0840448401 320021130111MIGROSBANK MIGROSBANK Postfach 9500 Wil SG 1 071 913 21 21 *84-704-3 +088410 0000 0841028401 220010715111MIGROSBANK MIGROSBANK Postfach 9001 St. Gallen 071 228 53 53 90-2601-6 MIGRCHZZ90A +088410 0001 0841028401 319970704111MIGROSBANK MIGROSBANK Postfach 9030 Abtwil SG 071 313 29 10 *90-2601-6 +088410 0002 0841028401 319970704111MIGROSBANK MIGROSBANK Postfach 8280 Kreuzlingen 1 071 677 52 52 *90-2601-6 +088410 0003 0841028401 319981223111MIGROSBANK MIGROSBANK 7001 Chur 081 258 51 51 *90-2601-6 +088411 0000 0841188401 220040324111MIGROSBANK MIGROSBANK Bahnhofstrasse 6 Postfach 6002 Luzern 041 227 25 25 60-8780-7 MIGRCHZZ60A +088413 0000 0841398401 220021024111MIGROSBANK MIGROSBANK Postfach 4051 Basel 061 287 66 66 40-898-3 MIGRCHZZ40A +088413 0001 0841398401 320021004111MIGROSBANK MIGROSBANK Claraplatz Postfach 4058 Basel 061 690 61 61 *40-898-3 +088413 0002 0841398401 320021004111MIGROSBANK MIGROSBANK Gundelitor Postfach 4053 Basel 061 367 64 64 *40-898-3 +088413 0003 0841398401 319970704111MIGROSBANK MIGROSBANK Postfach 4410 Liestal 061 927 62 62 40-2020-7 +088413 0004 0841398401 320020130111MIGROSBANK MIGROSBANK Hauptstrasse 15 4153 Reinach 061 717 63 63 061 717 63 11 *40-898-3 +088413 0005 0841398401 320020130111MIGROSBANK MIGROSBANK Rössligasse 20 4125 Riehen 061 645 63 63 061 645 63 11 *40-898-3 +088422 0000 0842278401 220010726111MIGROSBANK MIGROSBANK Postfach 3001 Bern 031 320 38 38 30-590-8 MIGRCHZZ30A +088422 0001 0842278401 319970704111MIGROSBANK MIGROSBANK Postfach 2502 Biel/Bienne 032 329 31 31 *30-590-8 +088422 0002 0842278401 319990521111MIGROSBANK MIGROSBANK EKZ Shoppyland Postfach 3322 Schönbühl-Urtenen 031 859 25 35 *30-590-8 +088422 0003 0842278401 320000407111MIGROSBANK MIGROSBANK Postfach 3601 Thun 033 225 32 32 *30-590-8 +088422 0004 0842278401 320030828112BANQUEMIGROS BANQUEMIGROS Avenue du 1er Mars 11 2000 Neuchâtel 032 720 18 18 032 720 18 88 *30-590-8 +088430 0000 0843078401 220010726112BANQUEMIGROS BANQUEMIGROS Case postale 1211 Genève 3 022 707 12 12 12-4028-2 MIGRCHZZ12A +088432 0000 0843208401 220011109112BANQUEMIGROS BANQUEMIGROS Case postale 1000 Lausanne 9 021 321 11 11 10-2044-3 MIGRCHZZ10A +088432 0001 0843208401 320020628112BANQUEMIGROS BANQUEMIGROS Case postale 1800 Vevey 021 923 34 34 021 923 34 11 *10-2044-3 +088433 0000 0843318401 220050414112BANQUEMIGROS BANQUEMIGROS Case postale 1032 1701 Fribourg 026 351 14 14 026 351 14 19 17-360-8 MIGRCHZZ17A +088434 0000 0843468401 220011109112BANQUEMIGROS BANQUEMIGROS Case postale 139 1951 Sion/Sitten 027 328 16 16 027 328 16 17 19-847-6 MIGRCHZZ19A +088434 0001 0843468401 319990520111MIGROSBANK MIGROSBANK Center Saltina 3902 Glis 027 922 15 15 *19-847-6 +088437 0000 0843788401 220010726113BANCAMIGROS BANCAMIGROS Casella postale 6901 Lugano 091 911 08 11 69-763-4 MIGRCHZZ69A +088437 0001 0843788401 319970704113BANCAMIGROS BANCAMIGROS Casella postale 6501 Bellinzona 091 825 53 64 *69-763-4 +088437 0002 0843788401 319970704113BANCAMIGROS BANCAMIGROS Casella postale 6830 Chiasso 091 682 73 72 *69-763-4 +088439 0000 0843998401 220011109111MIGROSBANK MIGROSBANK Bahnhofstrasse 74 5000 Aarau 062 832 26 26 062 832 26 11 50-79797-2 MIGRCHZZ50A +088440 0000 0844068440 119990427111Coop Bank Coop AG Postfach 4002 Basel 061 286 21 21 40-8888-1 COOPCHBBXXX +088441 0000 0844148440 220000713111Coop Bank Coop AG Gundeldingen Postfach 4018 Basel 061 366 58 58 *40-8888-1 COOPCHBBXXX +088441 0001 0844148440 319990427111Coop Bank Coop AG Lysbüchel Postfach 4056 Basel 061 322 58 50 *40-8888-1 COOPCHBBXXX +088442 0000 0844228440 219990427111Coop Bank Coop AG Kleinbasel Postfach 4005 Basel 061 681 00 44 *40-8888-1 COOPCHBBXXX +088443 0000 0844388440 219990427111Coop Bank Coop AG Postfach 3001 Bern 031 327 75 75 *40-8888-1 COOPCHBB30A +088443 0001 0844388440 319990427111Coop Bank Coop AG Ryfflihof Postfach 3011 Bern 031 327 75 65 *40-8888-1 COOPCHBB30A +088443 0003 0844388440 319990428111Coop Bank Coop AG Postfach 3601 Thun 033 225 36 36 *40-8888-1 COOPCHBB30A +088444 0000 0844438440 219990605112Coop Banque Coop SA Case postale 2501 Biel/Bienne 032 323 23 51 *40-8888-1 COOPCHBB25A +088444 0001 0844438440 319990428111Coop Bank Coop AG Postfach 2540 Grenchen 1 032 652 81 66 *40-8888-1 COOPCHBB25A +088445 0000 0844598440 220020921111Coop Bank Coop AG Neumarkt 2 Postfach 5201 Brugg AG 056 461 74 74 *40-8888-1 COOPCHBB52A +088445 0001 0844598440 319990721111Coop Bank Coop AG Postfach 5001 Aarau 062 836 40 80 *40-8888-1 COOPCHBB52A +088445 0002 0844598440 319990427111Coop Bank Coop AG Postfach 5430 Wettingen 1 056 426 22 88 *40-8888-1 COOPCHBB52A +088446 0000 0844678440 220000713112Coop Banque Coop SA Case postale 2001 Neuchâtel 032 722 59 59 *40-8888-1 COOPCHBB20A +088446 0001 0844678440 319990427112Coop Banque Coop SA Case postale 2301 Chaux-de-Fonds, La 032 910 93 93 *40-8888-1 COOPCHBB20A +088446 0002 0844678440 319990522112Coop Banque Coop SA Case postale 2800 Delémont 1 032 422 22 71 *40-8888-1 COOPCHBB20A +088447 0000 0844758440 219990427112Coop Banque Coop SA Case postale 1204 Genève 3 022 818 44 44 *40-8888-1 COOPCHBB12A +088447 0001 0844758440 319990522112Coop Banque Coop SA Servette Case postale 1202 Genève 7 022 733 21 30 *40-8888-1 COOPCHBB12A +088447 0002 0844758440 319990427112Coop Banque Coop SA 1274 Signy 2 022 363 03 60 *40-8888-1 COOPCHBB10A +088448 0000 0844808440 220041023112Coop Banque Coop SA Case postale 5783 1002 Lausanne 021 310 63 11 *40-8888-1 COOPCHBB10A +088448 0001 0844808440 319990522112Coop Banque Coop SA Case postale 1951 Sion/Sitten 027 327 44 20 *40-8888-1 COOPCHBB10A +088448 0002 0844808440 319990522112Coop Banque Coop SA Case postale 1800 Vevey 1 021 925 93 20 *40-8888-1 COOPCHBB10A +088448 0003 0844808440 319990522112Coop Banque Coop SA Case postale 1401 Yverdon-les-Bains 024 425 51 88 *40-8888-1 COOPCHBB10A +088449 0000 0844918440 219990427113Coop Banca Coop SA Casella postale 6901 Lugano 091 911 31 11 *40-8888-1 COOPCHBB69A +088450 0000 0845098440 219990427111Coop Bank Coop AG Postfach 6002 Luzern 041 226 46 46 *40-8888-1 COOPCHBB60A +088450 0001 0845098440 319990427111Coop Bank Coop AG Postfach 6460 Altdorf UR 041 870 83 33 *40-8888-1 COOPCHBB60A +088451 0000 0845178440 219990427111Coop Bank Coop AG Postfach 4603 Olten 062 205 25 25 *40-8888-1 COOPCHBB46A +088452 0000 0845258440 219990427111Coop Bank Coop AG Postfach 8201 Schaffhausen 052 632 32 32 *40-8888-1 COOPCHBB82A +088452 0001 0845258440 319990427111Coop Bank Coop AG Postfach 8400 Winterthur 052 269 12 22 *40-8888-1 COOPCHBB80A +088453 0000 0845308440 220050304111Coop Bank Coop AG Postfach 8023 Zürich 044 218 63 11 *40-8888-1 COOPCHBB80A +088453 0001 0845308440 319990427111Coop Bank Coop AG Postfach 8645 Jona 055 212 21 71 *40-8888-1 COOPCHBB80A +088453 0002 0845308440 319990427111Coop Bank Coop AG Postfach 6301 Zug 041 710 85 35 *40-8888-1 COOPCHBB60A +088453 0003 0845308440 320050305111Coop Bank Coop AG Wiedikon Postfach 8055 Zürich 044 463 10 22 *40-8888-1 COOPCHBB80A +088454 0000 0845418440 220050305111Coop Bank Coop AG Oerlikon Postfach 8050 Zürich 044 317 28 28 *40-8888-1 COOPCHBB80A +088455 0000 0845568440 219990427113Coop Banca Coop SA Casella postale 6501 Bellinzona 091 820 60 20 *40-8888-1 COOPCHBB69A +088456 0000 0845648440 220010411111Coop Bank Coop AG Postfach 9001 St. Gallen 071 227 65 65 *40-8888-1 COOPCHBB90A +088457 0000 0845728440 220041117112Coop Banque Coop SA 35, Rue de Romont 1701 Fribourg 026 347 45 60 *40-8888-1 COOPCHBBXXX +088465 0000 0846538465 120010526103BSI SA BSI SA Casella postale 2833 6901 Lugano 091 809 31 11 69-50-1 BSILCH22XXX +088468 0000 0846858465 220031011102BSI SA BSI SA Case postale 1211 Genève 11 022 705 12 12 *69-50-1 BSILCH2212A +088471 0000 0847128465 220031011103BSI SA BSI SA Casella postale 6501 Bellinzona 091 821 65 11 *69-50-1 BSILCH2265A +088472 0000 0847288465 220031011103BSI SA BSI SA Casella postale 35 6830 Chiasso 1 091 697 61 11 *69-50-1 BSILCH2268B +088473 0000 0847338465 220031011103BSI SA BSI SA Casella postale 1982 6601 Locarno 091 756 63 11 *69-50-1 BSILCH2266A +088486 0000 0848618465 220050304101BSI AG BSI AG Postfach 8022 Zürich 044 205 81 11 *69-50-1 BSILCH2280A +088487 0000 0848768465 220031011101BSI AG BSI AG Postfach 7500 St. Moritz 1 082 833 21 01 *69-50-1 BSILCH2275A +088490 0000 0849008490 119990428113Cornèr Cornèr Banca SA Casella postale 2835 6901 Lugano 091 800 51 11 091 800 53 49 69-5872-0 CBLUCH22XXX +088490 0001 0849008490 319990428113Cornèr Cornèr Banca SA Cassarate Casella postale 66 6906 Lugano 091 800 51 11 091 800 53 49 *69-5872-0 CBLUCH22XXX +088490 0002 0849008490 319990521113Cornèr Cornèr Banca SA Paradiso Casella postale 144 6902 Lugano 091 800 51 11 091 800 53 49 *69-5872-0 CBLUCH22XXX +088490 0003 0849008490 319990428113Cornèr Cornèr Banca SA Casella postale 188 6900 Massagno 091 800 51 11 091 800 53 49 *69-5872-0 CBLUCH22XXX +088490 0004 0849008490 319990428113Cornèr Cornèr Banca SA Casella postale 25 6963 Pregassona 091 800 51 11 091 800 53 49 *69-5872-0 CBLUCH22XXX +088490 0005 0849008490 319990428113Cornèr Cornèr Banca SA Casella postale 1262 6601 Locarno 091 756 36 11 091 756 36 59 *69-5872-0 CBLUCH22XXX +088490 0006 0849008490 319990428113Cornèr Cornèr Banca SA Casella postale 603 6612 Ascona 091 756 36 11 091 756 36 59 *69-5872-0 CBLUCH22XXX +088490 0007 0849008490 319990602112Cornèr Cornèr Banca SA Case postale 64 1000 Lausanne 20 021 625 02 52 021 625 82 73 *69-5872-0 CBLUCH22XXX +088509 0000 0850988509 120050316101Banco MercantilBanco Mercantil (Schweiz) AG Stockerstrasse 38 Postfach 1052 8039 Zürich 0433 444 555 0433 444 550 87-91337-4 BAMRCHZZXXX +088515 0000 0851548515 120041023111BANK BÄR Bank Julius Bär & Co AG Bahnhofstrasse 36 Postfach 8010 Zürich 058 888 1111 058 888 1122 80-3244-6 BAERCHZZXXX +088515 0001 0851548515 319990428111BANK BÄR Bank Julius Bär & Co AG Schwanenplatz 2 Postfach 6002 Luzern 041 418 79 00 041 418 79 70 *80-3244-6 BAERCHZZXXX +088515 0002 0851548515 320010623112BANQUE BAER Banque Julius Baer & Cie S.A. Rue du Petit-Chêne 16 Case postale 1002 Lausanne 021 345 34 00 021 345 34 49 *80-3244-6 BAERCHZZXXX +088515 0003 0851548515 320000224112BANQUE BAER Banque Julius Baer & Cie S.A. 2, Bvd du Théâtre Case postale 1211 Genève 11 022 317 60 00 022 312 23 42 *80-3244-6 BAERCHZZXXX +088515 0004 0851548515 320000225111BANK BÄR Bank Julius Bär & Co AG Rittergasse 35 Postfach 4001 Basel 061 270 82 82 061 283 51 71 *80-3244-6 BAERCHZZXXX +088515 0005 0851548515 320000225111BANK BÄR Bank Julius Bär & Co AG Spitalgasse 35 Postfach 3001 Bern 031 313 27 27 031 318 99 70 *80-3244-6 BAERCHZZXXX +088515 0006 0851548515 320000407113BANCA BAER Banca Julius Baer & Cie S.A. Via Marconi 2 Casella postale 2797 6901 Lugano 091 911 33 44 091 923 59 29 *80-3244-6 BAERCHZZXXX +088520 0000 0852068520 120050305111EAV Ehinger & Armand von Ernst AG Postfach 8039 Zürich 044 295 21 11 80-19248-9 CANTCHZZXXX +088520 0001 0852068520 320031218111EAV Ehinger & Armand von Ernst AG Freie Strasse 107 Postfach 4001 Basel 061 295 44 00 061 295 44 01 *80-19248-9 +088520 0002 0852068520 320040102111EAV Ehinger & Armand von Ernst AG Bundesgasse 30 Postfach 3001 Bern 031 313 55 55 031 313 55 00 *80-19248-9 +088522 0000 0852228522 120010628103SBT Società Bancaria Ticinese Casella postale 2062 6501 Bellinzona 091 825 51 21 091 825 66 18 65-64-0 SBTICH21XXX +088523 0000 0852388523 120041009103BANCA GESFID BANCA GESFID Via Adamini 10a Casella postale 5681 6901 Lugano 091 985 74 00 091 993 09 70 BGFLCH22XXX +088524 0000 0852438524 120031115113E de RothschildBanca Privata Edmond de Rothschild Lugano SA Via Ginevra 2 Casella postale 5882 6901 Lugano 091 913 45 00 091 913 45 01 69-2415-3 SOLBCH22XXX +088525 0000 0852598525 120041030111Bank für Tirol Bank für Tirol und Vorarlberg Aktiengesellschaft, Innsbruck Hauptstrasse 19 9422 Staad SG 071 858 10 10 BTVACH22XXX +088526 0000 0852678526 120040205103BCL LUGANO Banca Commerciale Lugano Viale Carlo Cattaneo 9 Casella postale 5877 6901 Lugano 091 910 43 43 091 923 55 73 69-10-3 BCLUCH22XXX +088528 0000 0852808528 120050303111Privatbank IhagPrivatbank IHAG Zürich AG Postfach 8022 Zürich 044 205 11 11 044 205 12 85 80-3282-8 IHZUCHZZXXX +088529 0000 0852918529 120050305101Bay. Hypo Bayerische Hypo- und Vereinsbank Aktiengesellschaft, MünchenPostfach Tödistrasse 61 8039 Zürich 044 288 71 11 044 288 71 05 87-191578-2 HYVEGB2LSMK +088530 0000 0853098530 120050304111HYPOSWISS HYPOSWISS Privatbank AG Schützengasse 4 Postfach 6990 8023 Zürich 044 214 31 11 044 211 52 23 80-17735-4 SHHBCHZZXXX +088542 0000 0854248542 120030425101Sella Bank AG Sella Bank AG Postfach 823 8039 Zürich 043 210 31 00 043 210 31 01 80-8168-2 SLBACHZZXXX +088543 0000 0854328543 119990428101SCO Scobag AG Postfach 4010 Basel 061 205 12 12 061 205 12 79 40-11239-5 +088544 0000 0854488544 120020809112Banque VontobelBanque Vontobel Genève SA Place de l'université 6 Case postale 268 1211 Genève 4 022 809 90 90 022 809 90 91 12-1250-4 VTGECHGGXXX +088545 0000 0854538545 120050304111Rüd, Blass Rüd, Blass & Cie AG Bankgeschäft Postfach 8039 Zürich 044 217 21 11 044 211 70 57 80-838-3 RUBLCHZZXXX +088547 0000 0854778547 120030115102BJS GENEVE Banque Jacob Safra (Suisse) SA 70, rue du Rhône Case postale 5809 1211 Genève 11 022 317 45 55 022 317 45 56 17-589669-5 BJSBCHGGXXX +088548 0000 0854858548 119990629102ANGLO IRISH ANGLO IRISH BANK (SUISSE) SA 7, Rue des Alpes Case postale 1380 1211 Genève 1 022 716 36 36 022 716 36 77 17-499297-2 CCIECHGGXXX +088549 0000 0854908549 120050304101OZ Bankers OZ Bankers AG Churerstrasse 47 8808 Pfäffikon SZ 044 215 63 60 044 215 63 90 87-300623-5 OZBACHZZXXX +088550 0000 0855048550 120020801102BDG Banque de Dépôts et de Gestion Avenue du Théâtre 14 Case postale 2380 1002 Lausanne 021 341 85 11 021 341 85 10 10-865-1 DEPOCH2LXXX +08855020000 8550278550 220021002103BDG Banque de Dépôts et de Gestion Via Franscini 6 Case postale 1159 6850 Mendrisio 091 640 69 11 65-105605-0 DEPOCH2LXXX +088551 0000 0855128550 220040207103BDG Banque de Dépôts et de Gestion Piazza Riforma 3 Casella postale 5839 6901 Lugano 091 911 38 11 091 911 38 08 69-7108-2 DEPOCH2L69A +088552 0000 0855288550 220010630102BDG Banque de Dépôts et de Gestion Faubourg de l'Hôpital 21 Case postale 1856 2001 Neuchâtel 032 727 67 11 032 727 67 08 20-1472-9 DEPOCH2L20A +088553 0000 0855338553 120050312101BZ Bank AG BZ Bank Aktiengesellschaft Egglirain 15 Postfach 8832 Wilen b. Wollerau 044 786 61 11 044 786 61 15 80-17-2 +088559 0000 0855968559 120050305101BAB, Zürich Bank am Bellevue Seestrasse 16 Postfach 1366 8700 Küsnacht 044 267 67 67 044 267 67 50 80-7311-2 BELLCHZ1XXX +088563 0000 0856378563 120050304111Clariden Bank Clariden Bank Claridenstrasse 26 Postfach 8022 Zürich 044 205 62 62 044 205 63 03 80-24348-5 CLARCHZZXXX +088564 0000 0856458564 120030926101Von GraffenriedPrivatbank Von Graffenried AG Postfach 3000 Bern 7 031 320 52 22 031 320 52 11 30-1961-0 GRAFCH22XXX +088565 0000 0856508565 119990427111Dreyfus Söhne Dreyfus Söhne & Cie AG, Banquiers Aeschenvorstadt 16 Postfach 2656 4002 Basel 061 286 66 66 061 272 24 38 40-570-7 DREYCHBBXXX +088568 0000 0856848568 120000407102Bank New York Bank of New York - Inter Maritime Bank, Geneva Case postale 1683 1211 Genève 1 022 906 88 88 022 906 89 89 12-9762-7 BNYICHGGXXX +088570 0000 0857008570 120010628112Bonhôte & Cie Banque Bonhôte & Cie SA 16, Rue du Bassin Case postale 2001 Neuchâtel 032 722 10 00 032 721 43 42 20-492-8 BONHCH22XXX +088571 0000 0857118571 120001025112ROTHSCHILD Banque Privée Edmond de Rothschild SA Case postale 1211 Genève 11 022 818 91 11 022 818 91 21 12-23-4 PRIBCHGGXXX +088571 0001 0857118571 319990427112ROTHSCHILD Banque Privée Edmond de Rothschild SA Case postale 1700 Fribourg 026 347 24 24 026 347 24 20 *12-23-4 +088571 0002 0857118571 320021228112ROTHSCHILD Banque Privée Edmond de Rothschild SA Avenue Agassiz 2 Case postale 2520 1002 Lausanne 021 318 88 88 021 323 29 22 *12-23-4 +088572 0000 0857268572 119990427101Trafina, Basel Trafina Privatbank AG Rennweg 50 Postfach 4020 Basel 061 317 17 17 061 317 12 80 40-766-1 TRAPCHBBXXX +088573 0000 0857348573 120050305111MBC Maerki, Baumann & Co AG Postfach 4688 8022 Zürich 044 286 25 25 044 286 25 00 80-15616-4 MAEBCHZZXXX +088575 0000 0857588575 120050304111Warburg SchweizM.M. Warburg Bank (Schweiz) AG Parkring 12 Postfach 1960 8027 Zürich 044 206 23 23 044 206 23 01 80-12438-7 WBWCCHZZXXX +088578 0000 0857878578 120020921102Morval & Cie Morval & Cie SA, Banque 18 rue Charles-Galland Case postale 339 1211 Genève 12 022 839 92 00 022 347 42 31 69-1312-4 MORVCH22XXX +088578 0001 0857878578 320010530102Morval & Cie Morval & Cie SA, Banque 6900 Lugano 091 985 23 23 *69-1312-4 MORVCH22XXX +088579 00008520 0857958579 220040101101Ehinger Bank Ehinger & Cie AG Freie Strasse 107 Postfach 4001 Basel 061 295 44 00 061 295 44 01 40-259-7 EHBACHBBXXX +088580 0000 0858058580 120031206102MeesPierson BGLBanque MeesPierson BGL SA 20, boulevard des philosophes Case postale 458 1211 Genève 4 022 322 03 22 12-2021-4 MPCHCHGGXXX +088581 0000 0858108580 220050304101MeesPierson BGLBanque MeesPierson BGL SA Rennweg 57 Postfach 8023 Zürich 044 225 67 67 044 225 68 68 80-965-0 MPCHCHGG010 +088582 0000 0858218582 120050128112SG Priv.BankingSG Private Banking (Suisse) SA Rue de la Corraterie 6 Case postale 5022 1211 Genève 11 022 819 02 02 022 819 04 03 80-9638-7 RUEGCHZZXXX +088582 0001 0858218582 320050101111SG Priv.BankingSG Private Banking (Suisse) SA Talstrasse 66 Postfach 8039 Zürich 044 218 56 11 044 211 64 16 *80-9638-7 +088582 0002 0858218582 320050101112SG Priv.BankingSG Private Banking (Suisse) SA Avenue de Rumine 20 Case postale 220 1001 Lausanne 021 343 12 12 021 343 12 13 *80-9638-7 +088583 0000 0858368583 120050304111Adler & Co Adler & Co Privatbank AG Claridenstrasse 22 Postfach 2055 8022 Zürich 044 206 99 00 044 206 99 99 80-8773-6 ADCOCHZZXXX +088584 0000 0858448584 119990427113BDC Banca del Ceresio SA Casella postale 2860 6901 Lugano 091 923 84 22 091 923 55 08 69-715-9 BACECH22XXX +088585 0000781 0858528585 220030523101Bank Thorbecke Bank Thorbecke AG Poststrasse 6 Postfach 262 9001 St. Gallen 071 228 02 28 071 228 02 29 90-8236-5 BTHOCH22XXX +088587 0000 0858738587 120010526102BGG BGG Banque Genevoise de Gestion Case postale 3271 1211 Genève 3 022 347 90 40 12-3696-0 BGGECHGGXXX +088588 00008261 0858898588 220031001102BLP BLP Banque de Portefeuilles Avenue d'Ouchy 10 Case postale 135 1001 Lausanne 021 613 17 40 021 613 17 95 10-2260-5 BLLACH2LXXX +088597 00008575 0859718597 220040701101TEMPUS TEMPUS Privatbank AG Stockerhof Stockerstrasse 23 8022 Zürich 01 289 29 00 80-703-2 TPUSCHZZXXX +088598 0000 0859868598 120030515103BGP BGP Banca di Gestione Patrimoniale SA Via Serafino Balestra 10 Casella postale 2827 6901 Lugano 091 911 16 00 091 911 17 01 65-193971-9 BGPLCH22XXX +088599 0000 0859948599 120050305101Bank Hugo Kahn Bank Hugo Kahn & Co. AG Limmatquai/Torgasse 2 Postfach 475 8024 Zürich 044 265 34 34 044 265 34 45 80-37566-6 +088610 0000 0861098610 120031106113Bca Gottardo Banca del Gottardo Viale S.Franscini 8 Casella postale 5848 6901 Lugano 091 808 11 11 091 923 94 87 69-6966-7 BDGLCH22XXX +08861010000 8610168610 219990427113Bca Gottardo Banca del Gottardo Viale Stazione 25 Casella postale 2057 6501 Bellinzona 091 822 71 11 091 822 71 22 *69-6966-7 BDGLCH2265A +08861020000 8610248610 220050313112Bca Gottardo Banca del Gottardo Rive Case postale 3569 1211 Genève 3 022 318 77 22 022 318 77 20 *69-6966-7 BDGLCH2212A +088611 0000 0861178610 219990427113Bca Gottardo Banca del Gottardo Piazza Grande Casella postale 661 6601 Locarno 091 759 72 11 091 759 72 22 *69-6966-7 BDGLCH2266A +088612 0000 0861258610 219990427113Bca Gottardo Banca del Gottardo Via Livio 12 Casella postale 41 6830 Chiasso 1 091 695 76 11 091 695 76 22 *69-6966-7 BDGLCH2268B +088613 0000 0861308610 220041211112Bca Gottardo Banca del Gottardo Avenue de Rumine 3 Case postale 5411 1002 Lausanne 021 341 74 11 021 341 74 22 *69-6966-7 BDGLCH2210A +088614 0000 0861418610 220050304111Bca Gottardo Banca del Gottardo Schützengasse 31 Postfach 7490 8023 Zürich 044 215 73 11 044 215 73 15 *69-6966-7 BDGLCH2280A +088615 0000 0861568615 120050304111cosba cosba private banking ag Postfach 5178 8022 Zürich 044 214 91 11 044 214 92 85 80-3354-6 GENOCHZZXXX +088616 0000 0861648616 120050224102EFG EFG Bank European Financial Group 24, Quai du Seujet Case postale 1211 Genève 2 022 906 72 72 022 906 72 73 12-12046-4 EFGBCHGGXXX +088619 0000 0861938619 120050305101Nomura Bank Nomura Bank (Switzerland) Ltd Postfach 8021 Zürich 044 295 71 11 80-525-8 NBSZCHZZXXX +088620 0000 0862018620 120041001101Coutts BvE AG Coutts Bank von Ernst AG Stauffacherstrasse 1 Postfach 8022 Zürich 043 245 51 11 043 245 53 96 80-17692-5 COUTCHZZXXX +088621 0000 0862168620 220041001102Coutts BvE AG Coutts Bank von Ernst SA Case postale 1211 Genève 11 022 319 03 19 022 310 38 57 *80-17692-5 COUTCHGGXXX +088623 0000 0862328623 120010622102Banque Pasche Banque Pasche SA Rue de Hollande 10 Case postale 5760 1211 Genève 11 022 818 82 22 022 818 82 25 12-9116-8 BPGECHGGXXX +088624 0000 0862488624 120000407102Banque Audi Banque Audi (Suisse) SA Case postale 384 1211 Genève 12 022 704 11 11 022 704 11 00 12-616-8 AUDSCHGGXXX +088625 00008657 0862538625 220030103102DISCOUNT BANK Discount Bank and Trust Company 3, Quai de l'île Case postale 5430 1211 Genève 11 022 705 31 11 022 310 17 03 12-7095-2 DBTCCHGGXXX +088626 00008657 0862698625 220030103101DISCOUNT BANK Discount Bank and Trust Company Gartenstrasse 14-16 Postfach 8039 Zürich 01 206 44 44 01 206 44 85 80-1600-0 DBTCCHGGZUR +088627 00008657 0862778625 220030103102DISCOUNT BANK Discount Bank and Trust Company Viale S.Franscini 5 Casella postale 6901 Lugano 091 911 52 22 091 922 76 05 69-4911-9 DBTCCHGGLUG +088629 0000 0862908629 120010628102B. Placements Banque de Commerce et de Placements SA Case postale 1211 Genève 1 022 909 19 19 12-946-3 BPCPCHGGXXX +088634 0000 0863498634 120050304111Schroder Schroder & Co Bank AG Central 2 Postfach 1820 8021 Zürich 044 250 11 11 044 250 13 12 80-9295-1 BJHSCHZZXXX +088635 0000 0863578635 120050304101JPMCB JPMorgan Chase Bank, New York Dreikönigstrasse 21 Postfach 2623 8022 Zürich 044 206 81 11 044 206 82 75 17-599732-8 CHASCHGXXXX +088637 00008261 0863708261 120030103103KREDIETBANK KREDIETBANK (SUISSE) SA Casella postale 6901 Lugano 091 911 06 36 69-509-5 KSUICH22LUG +088638 0000 0863818638 120050304101CITIBANK (CH) Citibank (Switzerland) Seestrasse 25 Postfach 3760 8021 Zürich 044 205 71 71 044 202 15 32 80-7475-7 CBSWCHZZXXX +088638 0001 0863818638 319990427102CITIBANK (CH) Citibank (Switzerland) Case postale 3946 1211 Genève 3 022 317 51 11 022 317 55 88 *80-7475-7 +088638 0003 0863818638 319990602103CITIBANK (CH) Citibank (Switzerland) Casella postale 2859 6901 Lugano 091 910 06 11 091 910 06 05 *80-7475-7 +088640 0000 0864088640 120030904112ING Banque ING Bank (Suisse) SA 30, avenue de Frontenex Case postale 6405 1211 Genève 6 022 787 11 11 022 735 72 18 12-86-4 BBRUCHGGXXX +088640 0001 0864088640 320030719111ING Banque ING Bank (Suisse) SA Postfach 4001 Basel 061 264 44 44 40-28868-5 +088642 0000 0864298640 220031114112ING Banque ING Bank (Suisse) SA Casella postale 6901 Lugano 091 923 48 21 69-8-6 BBRUCHGGXXX +088644 0000 0864458644 120050304101MIZUHO BANK Mizuho Bank (Schweiz) AG Löwenstrasse 32 Postfach 8023 Zürich 044 216 91 11 044 216 92 22 80-9395-9 MHSCCHZZXXX +088645 0000 0864508645 120050305101ABM AMRO ABN AMRO Bank (Schweiz) Beethovenstrasse 33 Postfach 5239 8022 Zürich 044 631 41 11 044 631 41 81 80-779-9 ABNACHZZ80A +088645 0001 0864508645 319990427101ABM AMRO ABN AMRO Bank (Schweiz) Aeschengraben 9 Postfach 2143 4002 Basel 061 206 30 00 061 206 30 01 *80-779-9 ABNACHZZ40A +088645 0003 0864508645 319990427102ABM AMRO ABN AMRO Bank (Schweiz) 12, Quai Général-Guisan Case postale 3026 1211 Genève 3 022 819 77 77 022 819 77 55 *80-779-9 ABNACHZZ12A +088645 0004 0864508645 320041218103ABM AMRO ABN AMRO Bank (Schweiz) Via Balestra 11 Casella postale 5828 6901 Lugano 091 913 81 01 091 913 81 91 *80-779-9 ABNACHZZ68B +088650 0000 0865008650 120031126103BDL BDL Banco di Lugano Casella postale 5847 6901 Lugano 091 910 81 11 69-48-8 BLUGCH22XXX +088656 0000 0865638656 120050304111Lavoro Bank AG Lavoro Bank AG Talacker 21 Postfach 8039 Zürich 044 217 95 95 044 221 12 41 80-35249-4 LAVOCHZZXXX +088656 0001 0865638656 320010707112Banque Lavoro Banque Lavoro SA rue Versonnex 7 Case postale 1211 Genève 3 022 707 93 00 022 786 24 21 12-1138-3 LAVOCHZZGEN +088657 0000 0865798657 120010623112UBP UNION BANCAIRE PRIVEE, UBP Case postale 1320 1211 Genève 1 022 819 21 11 022 819 22 00 12-8409-6 UBPGCHGGXXX +088657 0001 0865798657 320030613113UBP UNION BANCAIRE PRIVEE, UBP Casella postale 6900 Lugano 091 910 60 00 091 910 61 90 69-8138-5 UBPGCHGGLUG +088657 0002 0865798657 320050304111UBP UNION BANCAIRE PRIVEE, UBP Postfach 8022 Zürich 044 219 61 11 044 211 39 28 80-8330-9 UBPGCHZZXXX +088659 0000 0865958659 120030718112Deutsche Bank Deutsche Bank (Suisse) S.A. Place des Bergues 3 Private Banking 1211 Genève 1 022 739 01 11 022 739 07 00 12-1225-9 DEUTCHGGXXX +088659 0001 0865958659 320030718111Deutsche Bank Deutsche Bank (Schweiz) AG Bahnhofquai 3 Private Banking 8023 Zürich 022 739 01 11 022 739 07 00 *12-1225-9 +088659 0002 0865958659 320030718113Deutsche Bank Deutsche Bank (Svizzera) S.A. Via Ferruccio Pelli 1 Private Banking 6901 Lugano 022 739 01 11 022 739 07 00 *12-1225-9 +088660 0000 0866058660 120050305101RKB ZÜRICH Russische Kommerzial Bank AG Hofackerstrasse 32 Postfach 1274 8032 Zürich 044 386 86 86 044 386 86 87 80-944-8 RKBZCHZZXXX +088661 0000 0866108661 120050305111RBZ Rothschild Bank AG Postfach 8034 Zürich 044 384 71 11 80-13756-6 ROTACHZZXXX +088662 00008667 0866218662 220040508102B. E. Constant Banque Edouard Constant SA Cours de Rive 11 Case postale 1211 Genève 3 022 787 31 11 022 735 33 70 12-261-9 BECWCHGGXXX +088663 0000 0866368663 120050303111PKB Privatbank PKB PRIVATBANK AG Tödistrasse 47 Postfach 8022 Zürich 044 204 34 34 044 204 34 35 69-8670-4 PKBSCH22XXX +088664 0000 0866448663 220010927113PKB Privatbank PKB PRIVATBANK AG Via S. Balestra 1 Casella postale 6901 Lugano 091 913 35 35 091 923 35 22 *69-8670-4 PKBSCH2269A +088665 0000 0866528663 220010927112PKB Privatbank PKB PRIVATBANK AG 12, Charles Galland Case postale 1206 Genève 022 346 91 55 022 346 42 56 *69-8670-4 PKBSCH2212A +088666 0000 0866688666 119990427103BDS Banca del Sempione Via Peri 5 Casella postale 2825 6901 Lugano 1 091 910 71 11 091 922 60 40 69-216-0 BASECH22XXX +088666 0001 0866688666 319990427103BDS Banca del Sempione Viale Stazione 8a Casella postale 2021 6501 Bellinzona 091 820 66 11 091 825 81 34 *69-216-0 BASECH2265A +088666 0002 0866688666 319990427103BDS Banca del Sempione Piazza Boffalora 4 Casella postale 146 6830 Chiasso 1 091 695 67 11 091 683 99 06 *69-216-0 BASECH2268B +088666 0003 0866688666 319990507103BDS Banca del Sempione Piazza Stazione 9, 6601 Muralto Casella postale 664 6600 Locarno 091 743 49 77 091 743 63 49 *69-216-0 BASECH2266A +088666 0004 0866688666 320050304101BDS Simplon Bank Löwenstrasse 53 Postfach 4374 8022 Zürich 044 212 48 68 044 212 49 00 *69-216-0 BASECH2280A +088667 0000 0866738667 120050414102EFG Bank EFG Bank Bahnhofstrasse 16 Postfach 2255 8022 Zürich 044 226 17 17 044 226 17 26 80-11887-5 EFGBCHZZXXX +088667 0001 0866738667 320000428102EFG Bank EFG Bank 24, Quai du Seujet Case postale 1211 Genève 2 022 906 71 71 022 906 71 72 *80-11887-5 +088670 0000 0867028670 119990424113BUC Banca Unione di Credito Casella postale 2861 6901 Lugano 091 806 31 11 091 922 70 09 69-46-4 BUCLCH22XXX +088670 0001 0867028670 320000407112BUC Banque Union de Crédit Case postale 1176 1211 Genève 1 022 909 67 11 022 732 50 89 12-5401-8 +088670 0002 0867028670 320050304111BUC Kredit Union Bank Postfach 5022 8022 Zürich 044 206 66 11 044 206 66 88 80-6204-1 +088672 0000 0867238672 120010519102RBC Suisse Royal Bank of Canada (Suisse) Case postale 5696 1211 Genève 11 022 819 42 42 022 819 43 43 12-1701-7 ROYCCHGGXXX +088675 00008620 0867558675 220041006101Coutts BvE AG Coutts Bank von Ernst AG Stauffacherstrasse 1 Postfach 8022 Zürich 043 245 51 11 043 245 53 96 80-4164-7 BVERCHZZXXX +088679 0000 0867948679 120050304101BMSZ BANK MORGAN STANLEY AG Bahnhofstrasse 92 Postfach 8023 Zürich 044 220 91 11 044 220 98 01 80-13299-9 MSSACHZXXXX +088684 0000 0868408684 120050304101Leumi Bank Leumi le-Israel (Schweiz) Postfach 5131 8022 Zürich 044 207 91 11 044 207 91 00 80-9493-2 LUMICHZZXXX +088685 0000 0868518684 220010519101Leumi Bank Leumi le-Israel (Schweiz) Case postale 3414 1211 Genève 3 022 318 35 55 022 310 83 18 12-3122-8 LUMICHZZ12D +088686 0000 0868668686 120011117112BNP Par Priv BkBNP Paribas Private Bank (Switzerland) SA Place de Hollande, 2 1211 Genève 11 022 787 71 11 022 787 80 00 BPPBCHGGXXX +088689 0000 0868988689 120040218112HSBC Private BkHSBC Private Bank (Suisse) SA Quai Général-Guisan 2 Case postale 3580 1211 Genève 3 022 705 55 55 022 705 57 30 12-165-7 BLICCHGGXXX +088694 0000 0869468694 120050305111UFJ BANK UFJ Bank (Schweiz) AG Badenerstrasse 6 Postfach 1380 8021 Zürich 044 296 14 00 044 296 14 96 SANWCHZ1XXX +088695 0000 0869548695 120050304101UMB UNITED MIZRAHI BANK (Schweiz) AG Löwenstrasse 1 Postfach 1330 8021 Zürich 044 226 86 86 044 226 86 87 80-14402-3 UMBLCHZZXXX +088697 0000 0869788697 120050305101Swissnetbank Swissnetbank.com AG Bahnhofstrasse 84 Postfach 8023 Zürich 044 560 10 80 044 212 11 88 80-79177-3 SNETCHZZXXX +088700 0000 0870008700 120050304101CITIBANK N.A. Citibank N.A., New York Postfach 5081 8022 Zürich 044 205 71 11 044 202 15 32 80-1355-6 CITICHZZXXX +088700 0001 0870008700 319990522102CITIBANK N.A. Citibank N.A., New York Case postale 3946 1211 Genève 3 022 317 51 11 022 317 55 88 *80-1355-6 +088705 0000 0870588705 120050305111SocGen Société Générale Sihlquai 253 Postfach 2101 8031 Zürich 044 445 51 11 80-13139-3 SGABCHZZXXX +088707 0000 0870798707 120050305101ABN AMRO ABN AMRO Bank N.V., Amsterdam, Zweigniederlassung Zürich Beethovenstrasse 33 Postfach 5239 8022 Zürich 044 631 41 11 044 631 41 81 85-45678-7 ABNACHZ8ZRH +088709 0000 0870958709 120031218113SG Priv.BankingSG Private Banking (Lugano-Svizzera) SA Viale Stefano Franscini 22 Casella postale 5830 6901 Lugano 091 923 76 42 091 922 08 08 69-9534-1 CANTCH22XXX +088710 0000 0871058710 120050217111CIAL Bank CIAL (SCHWEIZ) Postfach 4001 Basel 061 264 12 00 061 264 12 01 40-108-3 CIALCHBBXXX +08871010000 8710138710 220020928102CIAL Banque CIAL (SUISSE) Case postale 327 1211 Genève 12 022 839 35 00 12-2326-8 CIALCHBB12A +08871050000 8710508710 220050301101CIAL Bank CIAL (SCHWEIZ) CIC-Group Postfach 4001 Basel 061 264 12 00 061 264 12 01 *40-108-3 CIALCHBBXXX +088711 0000 0871108710 220010923112CIAL Banque CIAL (SUISSE) Case postale 1001 Lausanne 021 614 03 60 021 614 03 65 10-1011-4 CIALCHBB10A +088712 0000 0871218710 220050304111CIAL Bank CIAL (SCHWEIZ) Postfach 8023 Zürich 044 225 22 11 80-9198-1 CIALCHBB80A +088713 0000 0871368710 220050311113CIAL Banque CIAL (SUISSE) Casella postale 6901 Lugano 091 911 63 63 45-249235-3 CIALCHBB69A +088716 0000 0871688716 120010104112Lloyds TSB Lloyds TSB Bank plc, London Place Bel-Air 1 Case postale 5145 1211 Genève 11 022 307 33 33 12-2348-2 LOYDCHGGXXX +088718 0000 0871898716 220050305111Lloyds TSB Lloyds TSB Bank plc, London St. Peterstrasse 16 Postfach 2556 8022 Zürich 044 265 21 11 044 265 22 22 80-1198-9 LOYDCHGGXXX +088719 0000 0871978719 120050305101Arab Bank Arab Bank (Switzerland) Limmatquai 92 Postfach 2023 8022 Zürich 044 265 71 11 044 265 73 30 80-2969-6 ARBSCHZZXXX +088721 0000 0872188721 120031129102Gonet & Cie Gonet & Cie Boulevard du Théâtre 6 Case postale 5009 1211 Genève 11 022 311 72 66 022 311 09 42 12-6206-0 +088724 00008741 0872478724 220050319112Credit LyonnaisCrédit Lyonnais (Suisse) SA Case postale 5260 1211 Genève 11 022 705 66 66 022 705 62 40 12-24-2 CRLYCHGGXXX +088726 0000 0872608726 120020727102Bank of AmericaBank of America, N.A. 40, Rue du Marché Case postale 3042 1211 Genève 3 022 318 69 38 022 318 69 39 45-518725-5 BOFACH2XXXX +088727 0000 0872718727 120040401112Banque Cramer Banque Cramer & Cie SA 5-7, Rue du Général Dufour Case postale 5239 1211 Genève 11 022 818 60 00 022 311 34 81 12-5390-1 CRAMCHGGXXX +088729 0000 0872948729 120021207112Banque Bauer Banque Bauer (Suisse) SA Rue Jean-Petitot 7 Case postale 5735 1211 Genève 11 022 819 15 70 022 819 15 99 12-100172-5 BBAUCHGGXXX +088731 0000 0873198731 120040731111Bank Linth Bank Linth Zürcherstrasse 3 Postfach 168 8730 Uznach 055 285 71 11 055 285 72 17 30-38170-0 LINSCH23XXX +088731 0001 0873198731 320040604111Bank Linth Bank Linth Schulhausstrasse 3 Postfach 116 8722 Kaltbrunn 055 293 30 60 055 293 30 70 *30-38170-0 +088731 0002 0873198731 320050312111Bank Linth Bank Linth Ritterhausstrasse 9 Postfach 8713 Uerikon 044 926 44 44 044 926 36 68 *30-38170-0 +088731 0003 0873198731 320040604111Bank Linth Bank Linth Untere Bahnhofstrasse 11 Postfach 8640 Rapperswil SG 055 222 54 11 055 222 54 31 *30-38170-0 +088731 0004 0873198731 320040604111Bank Linth Bank Linth Bahnhofstrasse 5 8716 Schmerikon 055 286 11 81 055 286 11 99 *30-38170-0 +088731 0005 0873198731 320040604111Bank Linth Bank Linth Zürcherstrasse 4 Postfach 8854 Siebnen 055 450 25 61 055 450 25 79 *30-38170-0 +088731 0006 0873198731 320040604111Bank Linth Bank Linth Bahnhofplatz 5 Postfach 8853 Lachen SZ 055 451 02 11 055 451 02 29 *30-38170-0 +088731 0007 0873198731 320040604111Bank Linth Bank Linth Molkereistrasse 1 Postfach 8645 Jona 055 224 20 71 055 224 20 79 *30-38170-0 +088731 0008 0873198731 320040604111Bank Linth Bank Linth Churerstrasse 21 Postfach 8808 Pfäffikon SZ 055 415 68 21 055 415 68 29 *30-38170-0 +088731 0009 0873198731 320040604111Bank Linth Bank Linth Hauptstrasse Postfach 8872 Weesen 055 616 61 51 055 616 61 59 *30-38170-0 +088731 0010 0873198731 320040604111Bank Linth Bank Linth Ziegelbrückstrasse 26 Postfach 8867 Niederurnen 055 617 23 11 055 617 23 19 *30-38170-0 +088731 0011 0873198731 320040604111Bank Linth Bank Linth Belsitostrasse 1 Postfach 8640 Kempraten 055 210 56 27 055 210 36 73 *30-38170-0 +088731 0012 0873198731 320040604111Bank Linth Bank Linth Dorfplatz 6 Postfach 8852 Altendorf 055 451 72 31 055 451 72 39 *30-38170-0 +088731 0013 0873198731 320040604111Bank Linth Bank Linth Dorfstrasse 2 Postfach 8630 Rüti ZH 055 251 23 66 055 251 23 63 *30-38170-0 +088731 0014 0873198731 320040714111Bank Linth Bank Linth Rickenstrasse 25 Postfach 8737 Gommiswald 055 285 97 21 055 285 97 29 *30-38170-0 +088731 0015 0873198731 320040604111Bank Linth Bank Linth Bahnhofstrasse Postfach 8890 Flums 081 720 18 31 081 720 18 39 *30-38170-0 +088731 0016 0873198731 320040604111Bank Linth Bank Linth Bahnhofstrasse 10 Postfach 7320 Sargans 081 720 41 71 081 720 41 79 *30-38170-0 +088731 0017 0873198731 320040604111Bank Linth Bank Linth Am Platz Postfach 7310 Bad Ragaz 081 300 45 11 081 300 45 29 *30-38170-0 +088731 0018 0873198731 320040604111Bank Linth Bank Linth Wangserstrasse 44 Postfach 8887 Mels 081 720 41 91 081 720 41 99 *30-38170-0 +088731 0019 0873198731 320050312111Bank Linth Bank Linth Bergstrasse 8 Postfach 8712 Stäfa 044 928 30 30 044 928 30 39 *30-38170-0 +088731 0020 0873198731 320040604111Bank Linth Bank Linth Feldbachstrasse 4 Postfach 8634 Hombrechtikon 055 254 10 51 055 254 10 59 *30-38170-0 +088731 0021 0873198731 320040604111Bank Linth Bank Linth Bergstrasse 143 Postfach 8707 Uetikon am See 043 843 45 61 043 843 45 69 *30-38170-0 +088735 0000 0873518735 120010519102Barclays Bank Barclays Bank (Suisse) SA 8 - 10, rue d'Italie Case postale 3941 1211 Genève 3 022 819 51 11 022 819 54 94 12-1623-0 BARCCHGGXXX +088735 0001 0873518735 320010707102Barclays Bank Barclays Bank (Suisse) SA Via Marconi 2 6901 Lugano 091 912 58 58 091 912 58 50 *12-1623-0 BARCCHGGXXX +088736 0000 0873668736 120050305111Dresdner Bank Dresdner Bank (Schweiz) AG Utoquai 55 Postfach 264 8034 Zürich 044 258 51 11 044 258 53 15 80-1906-4 DRESCHZZXXX +088736 0001 0873668736 320010803112Dresdner Bank Dresdner Bank (Suisse) SA Place du Rhône, 2 1211 Genève 11 022 318 94 94 022 318 95 95 *80-1906-4 DRESCHZZGEN +088736 0002 0873668736 319990423113Dresdner Bank Dresdner Bank (Svizzera) SA Piazza Riforma Crocichio Cortogna 6 6900 Lugano 091 922 98 02 091 923 31 77 *80-1906-4 DRESCHZZLUG +088740 0000 0874078740 120050414112Crédit AgricoleCrédit Agricole (Suisse) SA Chemin de Bérée 46-48 Case postale 1010 Lausanne 021 651 51 51 021 651 51 77 10-10765-4 BSUICH22XXX +088741 0000 0874158740 220050414112Crédit AgricoleCrédit Agricole (Suisse) SA Quai Général Guisan 4 Case postale 1211 Genève 3 022 319 91 91 022 312 20 54 *10-10765-4 BSUICH22120 +088742 0000 0874208740 220050414113Crédit AgricoleCrédit Agricole (Suisse) SA Via F. Pelli 3 Casella postale 6901 Lugano 091 911 91 11 091 911 91 80 69-9873-0 BSUICH22690 +088743 0000 0874318740 220050414111Crédit AgricoleCrédit Agricole (Suisse) SA Lintheschergasse 15 Postfach 7476 8023 Zürich 044 215 53 53 044 215 53 55 *10-10765-4 BSUICH22800 +088745 0000 0874548745 120041023102DRYDEN BANK SA DRYDEN BANK SA 7, Quai du Mont-Blanc Case postale 1560 1211 Genève 1 022 906 01 11 022 906 01 22 12-1181-3 PPBKCHGGXXX +088747 0000 0874788747 120040507112SOCIETE BANC. SOCIETE BANCAIRE PRIVEE SA 3, rue Maurice Case postale 3668 1211 Genève 3 022 818 31 31 022 818 31 00 17-488058-5 SFPICHGGXXX +088749 0000 0874998749 120031205102Patrimoines Banque de Patrimoines Privés Genève BPG SA 20-22, avenue de Miremont Case postale 403 1211 Genève 12 022 839 16 16 022 347 10 78 12-3442-1 BPPGCHGGXXX +088750 0000 0875068750 120020801111Bank Sarasin Bank Sarasin & CIE AG Elisabethenstrasse 62 Postfach 4002 Basel 061 277 77 77 061 272 02 05 40-106-2 SARACHBBXXX +088751 0000 0875148750 220050304111Bank Sarasin Bank Sarasin & CIE AG Löwenstrasse 11 Postfach 8022 Zürich 044 213 91 91 044 221 04 54 80-6315-0 SARACHBBXXX +088752 0000 0875228750 220031008101Bank Sarasin Bank Sarasin & CIE AG (ex Direkt Anlage Bank) Elisabethenstrasse 62 4002 Basel 061 277 77 77 061 272 02 05 *40-106-2 SARACHBBXXX +088755 0000 0875598755 120020822112PICTET Pictet & Cie 29, boulevard Georges-Favon Case postale 5130 1211 Genève 11 058 323 23 23 058 323 23 24 12-109-4 PICTCHGGXXX +088756 0000 0875678756 120030924101Baumann Baumann & Cie St. Jakobs-Strasse 46 Postfach 4002 Basel 061 279 41 41 061 279 41 05 40-3512-7 BAUMCHBBXXX +088757 0000 0875758757 120050305111Vontobel Bank Vontobel AG Bahnhofstrasse 3 Postfach 8022 Zürich 044 283 71 11 80-6090-4 VONTCHZZXXX +088758 00008760 0875808758 220040101102HHC Lausanne HENTSCH HENCHOZ & CIE Case postale 2972 1002 Lausanne 021 321 18 18 021 320 44 58 10-441-2 +088759 00008520 0875918759 220040101111AVECO Armand von Ernst & Cie AG Postfach 3001 Bern 031 313 55 55 031 313 55 00 30-157-1 AVEBCH22XXX +088760 0000 0876098760 120030201112LOMBARD ODIER Lombard Odier Darier Hentsch & Cie Rue de la Corraterie 11 Case postale 5215 1211 Genève 11 022 709 21 11 022 709 29 11 12-2150-0 LOCYCHGGXXX +088761 0000 0876178761 120040206101Reichmuth & Co Reichmuth & Co Rütligasse 1 Postfach 6000 Luzern 7 041 249 49 29 60-32542-8 REICCH22XXX +088762 0000 0876258762 120040304112SCS Alliance Banque SCS Alliance SA Route de Chancy 6B Case postale 1211 Genève 8 022 839 01 00 022 346 15 30 12-1955-3 BSSACHGGXXX +088763 0000 0876308763 120030613112FERRIER Ferrier Lullin & Cie SA 7 rue Pierre-Fatio Case postale 3142 1211 Genève 3 022 708 38 38 022 708 38 12 12-118-2 FERLCHGGXXX +088764 0000 0876418764 120050303111swissfirst swissfirst Bank AG Bellariastrasse 23 Postfach 8027 Zürich 044 204 80 00 044 204 80 80 90-117779-0 SFBKCHZZXXX +088765 0000 0876568765 120020202111WEGELIN & CO Wegelin & Co. Privatbankiers Postfach 9004 St. Gallen 071 242 64 64 071 242 64 65 90-134-4 WEGECH2GXXX +088766 0000 0876648766 120050305101Hottinger Hottinger & Cie Dreikönigstrasse Postfach 8027 Zürich 044 284 12 00 044 284 12 99 80-6295-9 HOTTCHZZXXX +088766 0001 0876648766 319990602102Hottinger Hottinger & Cie Place des Bergues 3 Case postale 1620 1211 Genève 022 908 12 00 022 908 12 99 *80-6295-9 +088767 0000 0876728767 120030626102BORDIER & Cie Bordier & Cie 16, rue de Hollande Case postale 5515 1211 Genève 11 022 317 12 12 022 781 81 27 12-966-0 BORDCHGGXXX +088767 0001 0876728767 320000428101BORDIER & Cie Bordier & Cie Zeughausgasse 28 3011 Bern 031 313 12 12 031 313 12 00 *12-966-0 BORDCHGGXXX +088767 0002 0876728767 320050304101BORDIER & Cie Bordier & Cie Bahnhofstrasse 62 8001 Zürich 044 213 12 12 044 213 12 00 *12-966-0 BORDCHGGXXX +088768 0000 0876888768 120041124102Landolt & Cie. Landolt & Cie, Banquiers Rue du Lion d'Or 6 Case postale 6739 1002 Lausanne 021 320 33 11 021 323 94 25 10-1260-7 LANBCH2LXXX +088769 0000 0876938769 119991021101La Roche & Co La Roche & Co Banquiers Postfach 4001 Basel 061 286 44 00 061 286 43 24 40-1010-1 LRBSCHBBXXX +088770 0000 0877018770 120000407112MIRABAUD Mirabaud & Cie Case postale 5815 1211 Genève 11 022 818 22 22 022 311 64 02 12-532-8 MIRACHGGXXX +088771 00008760 0877168771 220030201112DH & Cie Darier, Hentsch & Cie Case postale 5045 1211 Genève 11 022 708 60 00 022 708 67 71 12-914-8 DACOCHGGXXX +088772 00008582 0877248772 220050101102SG Priv.BankingSG Private Banking (Suisse) SA (ex CBG) Rue de la Corraterie 6 Case postale 5022 1211 Genève 11 022 819 02 02 022 819 04 03 10-703824-0 BCLACH22XXX +088774 0000 0877488774 120050304101ISBANK GMBH Isbank GmbH Löwenstrasse 61 Postfach 6275 8023 Zürich 044 226 41 00 044 226 41 09 80-50565-5 ISBKDEFXZUR +088775 0000 0877538775 120010622111Gutzwiller E. Gutzwiller & Cie Banquiers Postfach 1216 4001 Basel 061 205 21 00 061 205 21 01 40-39-4 GUTZCHBBXXX +088776 0000 0877698776 120040326102UEB UEB (Switzerland) Quai des Bergues 15-17 Case postale 1211 Genève 11 022 906 30 02 UEBGCHGPXXX +088777 0000 0877778777 119990423112Piguet Banque Piguet & Cie SA Rue de la Plaine 14 Case postale 575 1401 Yverdon-les-Bains 024 423 43 00 024 423 43 05 10-664-6 PIGUCH22XXX +088777 0001 0877778777 319990423112Piguet Banque Piguet & Cie SA 5, Place de l'Université Case postale 3456 1211 Genève 022 322 88 00 022 322 88 22 *10-664-6 PIGUCH22XXX +088777 0002 0877778777 319990522112Piguet Banque Piguet & Cie SA Rue du Grand-Chêne 8 Case postale 3492 1002 Lausanne 021 310 10 10 022 310 10 20 *10-664-6 PIGUCH22XXX +088777 0003 0877778777 320000407113Piguet Banque Piguet & Cie SA Via S. Balestra 17 Case postale 2840 6901 Lugano 091 913 44 50 091 913 44 55 *10-664-6 PIGUCH22XXX +088778 0000 0877858778 120020115103BANCA ARNER SA Banca Arner SA Piazza Manzoni 8 Casella postale 2830 6901 Lugano 091 912 62 22 091 912 61 20 65-110319-7 ARNECH22XXX +088779 0000 0877908779 120050305111Rahn Rahn & Bodmer Banquiers Postfach 4522 8022 Zürich 044 639 11 11 044 639 11 22 80-1353-0 RAHNCHZZXXX +088780 0000 0878048780 120050309101DB ZUERICH Deutsche Bank AG Zürich Branch Uraniastrasse 9 Postfach 7370 8023 Zürich 044 227 30 00 044 227 30 70 87-710768-1 DEUTCHZZXXX +08878010000 8780198780 220050310101DB ZUERICH Deutsche Bank AG Zürich Branch Postfach 7370 / Uraniastrasse 9 Kommerzielles Geschäft 8023 Zürich 044 227 30 00 044 227 30 70 *87-710768-1DEUTCHZZXXX +08878020000 8780278780 220050310101DB ZUERICH Deutsche Bank AG Zürich Branch Postfach 7370 / Uraniastrasse 9 Hausinternes Clearing 8023 Zürich 044 227 30 00 044 227 30 70 *87-710768-1DEUTCHZZXXX +088781 0000 0878128781 120021018111SWISSQUOTE BANKSwissquote Bank 16, route des Avouillons Case postale 319 1196 Gland 022 999 94 11 022 999 94 42 87-112233-4 SWQBCHZZXXX +088782 0000 0878288782 120050308101NZB NZB Neue Zürcher Bank Brandschenkestrasse 10 Postfach 779 8039 Zürich 044 288 82 00 044 201 64 76 +088792 0000 0879298792 120050305111BNP PAR SEC SERBNP PARIBAS SECURITIES SERVICES Limmatquai 4 Postfach 823 8024 Zürich 044 267 93 35 044 267 93 24 87-230511-3 PARBCHZZXXX diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/Codeunits/CreateCHGLAccounts.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/Codeunits/CreateCHGLAccounts.Codeunit.al deleted file mode 100644 index 99cf959fd0..0000000000 --- a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/Codeunits/CreateCHGLAccounts.Codeunit.al +++ /dev/null @@ -1,115 +0,0 @@ -codeunit 11580 "Create CH GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1102'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2002'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '3400'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '4400'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2200'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '2200'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '7291'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '7191'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7292'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7192'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '4199'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '4399'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1210'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '4000'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '3080'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '3280'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1200'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1201') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '3909'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7791'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7792'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7793'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7890'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7891'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '7892'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '7893'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '4892'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1260'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '2140'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1500'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1500'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1509'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6780'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '6920'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '7910'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '2001'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '4421'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1280'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '3421'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '3420'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '4421'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '4420'); - end; -} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankAccPostingGrp.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankAccPostingGrp.Codeunit.al new file mode 100644 index 0000000000..fba221cc8b --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankAccPostingGrp.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 11586 "Create CH Bank Acc Posting Grp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account Posting Group") + var + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Cash(): + ValidateRecordFields(Rec, CreateGLAccount.Cash()); + CreateBankAccPostingGrp.Checking(): + ValidateRecordFields(Rec, CreateCHGLAccounts.BankCredit()); + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateCHGLAccounts.BankOverdraft()); + CreateBankAccPostingGrp.Savings(): + ValidateRecordFields(Rec, CreateCHGLAccounts.PostAcc()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankDirectory.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankDirectory.Codeunit.al new file mode 100644 index 0000000000..3cbc0b861d --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankDirectory.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 11635 "Create CH Bank Directory" +{ + trigger OnRun() + var + BankDirectory: Record "Bank Directory"; + TempBlob: Codeunit "Temp Blob"; + OutStream: OutStream; + InStream: InStream; + NoOfRecsRead, NoOfRecsWritten : Integer; + begin + NavApp.GetResource('des_bcbankenstamm.txt', InStream, TextEncoding::Windows); + + OutStream := TempBlob.CreateOutStream(TextEncoding::Windows); + CopyStream(OutStream, InStream); + + BankDirectory.ImportBankDirectoryFromTempBlob(TempBlob, NoOfRecsRead, NoOfRecsWritten); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankExImport.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankExImport.Codeunit.al new file mode 100644 index 0000000000..deb4e31e52 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHBankExImport.Codeunit.al @@ -0,0 +1,82 @@ +codeunit 11587 "Create CH Bank Ex/Import" +{ + trigger OnRun() + var + ContosoBank: Codeunit "Contoso Bank"; + CreateCHDataExchange: Codeunit "Create CH Data Exchange"; + begin + ContosoBank.ContosoBankExportImportSetup(SEPACAMT054(), SEPACAMT054Tok, 1, Codeunit::"Exp. Launcher Gen. Jnl.", 0, CreateCHDataExchange.CEPACAMT054(), true, 0); + ContosoBank.ContosoBankExportImportSetup(SEPACAMT05302(), SEPACAMT05302Tok, 1, Codeunit::"Exp. Launcher Gen. Jnl.", 0, CreateCHDataExchange.CEPACAMT05302(), true, 0); + ContosoBank.ContosoBankExportImportSetup(SEPACAMT05304(), SEPACAMT05304Tok, 1, Codeunit::"Exp. Launcher Gen. Jnl.", 0, CreateCHDataExchange.CEPACAMT05304(), true, 0); + + ContosoBank.ContosoBankExportImportSetup(SEPASwiss(), SEPASwissLbl, 0, Codeunit::"Swiss SEPA CT-Export File", Xmlport::"SEPA CT pain.001.001.03", '', false, Codeunit::"SEPA CT-Check Line"); + ContosoBank.ContosoBankExportImportSetup(SEPACTPAIN00100109(), SEPACTPAIN00100109Lbl, 0, Codeunit::"SEPA CT-Export File", Xmlport::"SEPA CT pain.001.001.09", '', false, Codeunit::"SEPA CT-Check Line"); + ContosoBank.ContosoBankExportImportSetup(SEPACTSWISS00100109(), SEPACTSWISS00100109Lbl, 0, Codeunit::"Swiss SEPA CT-Export File", Xmlport::"SEPA CT pain.001.001.09", '', false, Codeunit::"SEPA CT-Check Line"); + + ContosoBank.ContosoBankExportImportSetup(SEPADDSwiss(), SEPADDSwissLbl, 0, Codeunit::"Swiss SEPA DD-Export File", Xmlport::"SEPA DD pain.008.001.02.ch03", '', false, Codeunit::"SEPA DD-Check Line"); + ContosoBank.ContosoBankExportImportSetup(SEPADDPAIN00800108(), SEPADDPAIN00800108Lbl, 0, Codeunit::"SEPA DD-Export File", Xmlport::"SEPA DD pain.008.001.08", '', false, Codeunit::"SEPA DD-Check Line"); + ContosoBank.ContosoBankExportImportSetup(SEPADDSWISS00800108(), SEPADDSWISS00800108Lbl, 0, Codeunit::"Swiss SEPA DD-Export File", Xmlport::"SEPA DD pain.008.001.08", '', false, Codeunit::"SEPA DD-Check Line"); + end; + + procedure SEPACAMT054(): Code[20] + begin + exit(SEPACAMT054Tok); + end; + + procedure SEPACAMT05302(): Code[20] + begin + exit(SEPACAMT05302Tok); + end; + + procedure SEPACAMT05304(): Code[20] + begin + exit(SEPACAMT05304Tok); + end; + + procedure SEPASwiss(): Code[20] + begin + exit(SEPASwissTok); + end; + + procedure SEPACTPAIN00100109(): Code[20] + begin + exit(SEPACTPAIN00100109Tok); + end; + + procedure SEPACTSWISS00100109(): Code[20] + begin + exit(SEPACTSWISS00100109Tok); + end; + + procedure SEPADDSwiss(): Code[20] + begin + exit(SEPADDSwissTok); + end; + + procedure SEPADDPAIN00800108(): Code[20] + begin + exit(SEPADDPAIN00800108Tok); + end; + + procedure SEPADDSWISS00800108(): Code[20] + begin + exit(SEPADDSWISS00800108Tok); + end; + + var + SEPACAMT054Tok: Label 'SEPA CAMT 054', MaxLength = 20; + SEPACAMT05302Tok: Label 'SEPA CAMT 053-02', MaxLength = 20; + SEPACAMT05304Tok: Label 'SEPA CAMT 053-04', MaxLength = 20; + SEPASwissTok: Label 'SEPA SWISS', MaxLength = 20; + SEPASwissLbl: Label 'Swiss SEPA Credit Transfer', MaxLength = 100; + SEPACTPAIN00100109Tok: Label 'SEPACTPAIN00100109', MaxLength = 20; + SEPACTPAIN00100109Lbl: Label 'SEPA Credit Transfer pain.001.001.09', MaxLength = 100; + SEPACTSWISS00100109Tok: Label 'SEPACTSWISS 00100109', MaxLength = 20; + SEPACTSWISS00100109Lbl: Label 'Swiss SEPA Credit Transfer pain.001.001.09', MaxLength = 100; + SEPADDSwissTok: Label 'SEPADD SWISS', MaxLength = 20; + SEPADDSwissLbl: Label 'Swiss SEPA Direct Debit', MaxLength = 100; + SEPADDPAIN00800108Tok: Label 'SEPADD PAIN00800108', MaxLength = 20; + SEPADDPAIN00800108Lbl: Label 'SEPA Direct Debit pain.008.001.08', MaxLength = 100; + SEPADDSWISS00800108Tok: Label 'SEPADD SWISS00800108', MaxLength = 20; + SEPADDSWISS00800108Lbl: Label 'Swiss SEPA Direct Debit pain.008.001.08', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHESRSetup.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHESRSetup.Codeunit.al new file mode 100644 index 0000000000..ce7b1f1054 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHESRSetup.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11628 "Create CH ESR Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCHBank: Codeunit "Contoso CH Bank"; + CreateCHPaymentMethod: Codeunit "Create CH Payment Method"; + CreateCurrency: Codeunit "Create Currency"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + begin + ContosoCHBank.InsertESRSetup(GiroBankCode(), CreateCHGLAccounts.PostAcc(), ESRFilenameLbl, '00000000000', GiroESRAccountNoLbl, '', CronusInternationalLtdLbl, TheRingLbl, ZugLbl, '', '', '', '', CreateCHPaymentMethod.ESRPost(), false); + ContosoCHBank.InsertESRSetup(NBLBankCode(), CreateCHGLAccounts.BankCredit(), ESRFilenameLbl, '68705010000', NBLESRAccountNoLbl, CreateCurrency.EUR(), ZugerKantonalbankLbl, BahnhofstrasseLbl, Zug1Lbl, InFavorLbl, CronusInternationalLtdLbl, TheRingLbl, ZugLbl, CreateCHPaymentMethod.ESR(), true); + end; + + procedure GiroBankCode(): Code[20] + begin + exit(GiroBankCodeTok); + end; + + procedure NBLBankCode(): Code[20] + begin + exit(NBLBankCodeTok); + end; + + var + GiroBankCodeTok: Label 'GIRO', MaxLength = 20; + NBLBankCodeTok: Label 'NBL', MaxLength = 20; + NBLESRAccountNoLbl: Label '01-13980-3', MaxLength = 11; + GiroESRAccountNoLbl: Label '60-9-9', MaxLength = 11; + ESRFilenameLbl: Label 'c:\cronus.v11', MaxLength = 50; + CronusInternationalLtdLbl: Label 'CRONUS International Ltd.', MaxLength = 30; + TheRingLbl: Label '5 The Ring', MaxLength = 30; + ZugLbl: Label '6300 Zug', MaxLength = 30; + ZugerKantonalbankLbl: Label 'Zuger Kantonalbank', MaxLength = 30; + BahnhofstrasseLbl: Label 'Bahnhofstrasse 1', MaxLength = 30; + Zug1Lbl: Label '6301 Zug', MaxLength = 30; + InFavorLbl: Label 'In favor:', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHLSVSetup.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHLSVSetup.Codeunit.al new file mode 100644 index 0000000000..e6be6b3d04 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHLSVSetup.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 11626 "Create CH LSV Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCHBank: Codeunit "Contoso CH Bank"; + CreateCHPaymentMethod: Codeunit "Create CH Payment Method"; + CreateCurrency: Codeunit "Create Currency"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreateCHESRSetup: Codeunit "Create CH ESR Setup"; + begin + ContosoCHBank.InsertLSVSetup(GiroBankCode(), LSVCustomerIDLbl, LSVCustomerIDLbl, LSVSenderClearingLbl, CreateCHPaymentMethod.LSV(), CreateCHESRSetup.GiroBankCode(), CreateCurrency.CHF(), 'CH9300762011623852957', LSVCustomerBankCodeLbl, DebitDirectCustomernoLbl, CreateCHGLAccounts.BankCredit(), LSVFileFolderLbl, LSVFilenameLbl, TextLbl, Text2Lbl, ComputerBureauNameLbl, ComputerBureauName2Lbl, ComputerBureauAddressLbl, '8021', ComputerBureauCityLbl, LSVBankNameLbl, LSVBankAddressLbl, '6301', LSVBankCityLbl, LSVBankTransferHyperlinkLbl); + ContosoCHBank.InsertLSVSetup(WWBEURBankCode(), LSVCustomerIDLbl, LSVCustomerIDLbl, LSVSenderClearingLbl, CreateCHPaymentMethod.LSV(), CreateCHESRSetup.NBLBankCode(), CreateCurrency.EUR(), 'CH9300762011623852957', LSVCustomerBankCodeLbl, DebitDirectCustomernoLbl, CreateCHGLAccounts.BankCredit(), LSVFileFolderLbl, LSVFilenameLbl, TextLbl, Text2Lbl, ComputerBureauNameLbl, ComputerBureauName2Lbl, ComputerBureauAddressLbl, '8021', ComputerBureauCityLbl, LSVBankNameLbl, LSVBankAddressLbl, '6301', LSVBankCityLbl, ''); + end; + + procedure GiroBankCode(): Code[20] + begin + exit(GiroBankCodeTok); + end; + + procedure WWBEURBankCode(): Code[20] + begin + exit(WWBEURBankCodeTok); + end; + + + var + GiroBankCodeTok: Label 'GIRO', MaxLength = 20; + WWBEURBankCodeTok: Label 'WWB-EUR', MaxLength = 20; + LSVCustomerIDLbl: Label 'CRON2', MaxLength = 10; + LSVSenderClearingLbl: Label '100', MaxLength = 5; + LSVCustomerBankCodeLbl: Label 'LSV', MaxLength = 10; + DebitDirectCustomernoLbl: Label '909700', MaxLength = 6; + LSVFileFolderLbl: Label 'C:\', MaxLength = 40; + LSVFilenameLbl: Label 'DTALSV', MaxLength = 11; + TextLbl: Label 'Dear Sir or Madam', MaxLength = 250; + Text2Lbl: Label 'Next year we would like to reduce the administrative costs for payments for you and us. We ask you to please return this form with the required information included and signed.', MaxLength = 250; + ComputerBureauNameLbl: Label 'Telekurs Payserv AG', MaxLength = 30; + ComputerBureauName2Lbl: Label 'Computer Bureau', MaxLength = 30; + ComputerBureauAddressLbl: Label 'Parcel Post Box', MaxLength = 30; + ComputerBureauCityLbl: Label 'Zürich 1', MaxLength = 30; + LSVBankNameLbl: Label 'Credit Suisse', MaxLength = 30; + LSVBankAddressLbl: Label 'Bahnhofstrasse 17', MaxLength = 30; + LSVBankCityLbl: Label 'Zug', MaxLength = 30; + LSVBankTransferHyperlinkLbl: Label 'https://gate.sic.ch', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHPaymentMethod.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHPaymentMethod.Codeunit.al new file mode 100644 index 0000000000..5d23bf24a6 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/1.Setup Data/CreateCHPaymentMethod.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 11609 "Create CH Payment Method" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPayments: Codeunit "Contoso Payments"; + begin + ContosoPayments.InsertBankPaymentMethod(ESR(), ESRWithCSLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(ESRPost(), ESRWithPostLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(LSV(), CustomerLSVCollectionLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + end; + + procedure ESR(): Code[10] + begin + exit(ESRTok); + end; + + procedure ESRPost(): Code[10] + begin + exit(ESRPostTok); + end; + + procedure LSV(): Code[10] + begin + exit(LSVTok); + end; + + var + ESRTok: Label 'ESR', MaxLength = 10; + ESRWithCSLbl: Label 'ESR with CS', MaxLength = 100; + ESRPostTok: Label 'ESR POST', MaxLength = 10; + ESRWithPostLbl: Label 'ESR with POST', MaxLength = 100; + LSVTok: Label 'LSV', MaxLength = 10; + CustomerLSVCollectionLbl: Label 'Customer with LSV Collection', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/2.Master Data/CreateCHBankAccount.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/2.Master Data/CreateCHBankAccount.Codeunit.al new file mode 100644 index 0000000000..ddcac0e358 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/2.Master Data/CreateCHBankAccount.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 11585 "Create CH Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, ZugCityLbl, -1719200, PostCodeLbl, ''); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, ZugCityLbl, 0, PostCodeLbl, ''); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; City: Text[30]; MinBalance: Decimal; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate(City, City); + BankAccount.Validate("Country/Region Code", CountryRegionCode); + BankAccount.Validate(County, ''); + end; + + var + ZugCityLbl: Label 'Zug', MaxLength = 30; + PostCodeLbl: Label '6300', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/3.Transactions/CreateCHBankAccRec.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/3.Transactions/CreateCHBankAccRec.Codeunit.al new file mode 100644 index 0000000000..ac28cd0d8d --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/3.Transactions/CreateCHBankAccRec.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 11632 "Create CH Bank Acc. Rec." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateBankAccRecLine(); + end; + + local procedure UpdateBankAccRecLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccReconciliationLine.SetRange("Bank Account No.", CreateBankAccount.Checking()); + BankAccReconciliationLine.SetRange("Statement Line No.", 30000); + if BankAccReconciliationLine.FindFirst() then begin + BankAccReconciliationLine.Validate("Transaction Text", DeposittoAccountLbl); + BankAccReconciliationLine.Validate(Description, DeposittoAccountLbl); + BankAccReconciliationLine.Modify(true); + end; + end; + + var + DeposittoAccountLbl: Label 'Deposit to Account 18.01.24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/3.Transactions/CreateCHGenJournalLine.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/3.Transactions/CreateCHGenJournalLine.Codeunit.al new file mode 100644 index 0000000000..b4e40eab67 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Bank/3.Transactions/CreateCHGenJournalLine.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 11631 "Create CH Gen. Journal Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralJournalLine(); + end; + + local procedure UpdateGeneralJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.SetRange("Journal Template Name", CreateGenJournalTemplate.General()); + GenJournalLine.SetRange("Journal Batch Name", CreateBankJnlBatch.Daily()); + if GenJournalLine.FindSet() then + repeat + case GenJournalLine."Line No." of + 10000: + GenJournalLine.Validate(Amount, -3275.91); + 20000: + GenJournalLine.Validate(Amount, -4913.87); + 30000: + GenJournalLine.Validate(Amount, -6551.83); + 40000: + GenJournalLine.Validate(Amount, -6551.83); + end; + + GenJournalLine.Modify(); + until GenJournalLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/CRM/CreateCHWordTemplates.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/CRM/CreateCHWordTemplates.Codeunit.al new file mode 100644 index 0000000000..928da22778 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/CRM/CreateCHWordTemplates.Codeunit.al @@ -0,0 +1,81 @@ +codeunit 11634 "Create CH Word Templates" +{ + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateLanguage: Codeunit "Create Language"; + FolderNameLbl: Label 'WordTemplates', Locked = true; + begin + ContosoCRM.InsertWordTemplate(EventDEWordTemplate(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event_DES.docx', CreateLanguage.DES()); + ContosoCRM.InsertWordTemplate(EventFRWordTemplate(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event_FRS.docx', CreateLanguage.FRS()); + ContosoCRM.InsertWordTemplate(EventITWordTemplate(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event_ITS.docx', CreateLanguage.ITS()); + + ContosoCRM.InsertWordTemplate(MemoDEWordTemplate(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo_DES.docx', CreateLanguage.DES()); + ContosoCRM.InsertWordTemplate(MemoFRWordTemplate(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo_FRS.docx', CreateLanguage.FRS()); + ContosoCRM.InsertWordTemplate(MemoITWordTemplate(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo_ITS.docx', CreateLanguage.ITS()); + + ContosoCRM.InsertWordTemplate(ThanksNoteDEWordTemplate(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote_DES.docx', CreateLanguage.DES()); + ContosoCRM.InsertWordTemplate(ThanksNoteFRWordTemplate(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote_FRS.docx', CreateLanguage.FRS()); + ContosoCRM.InsertWordTemplate(ThanksNoteITWordTemplate(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote_ITS.docx', CreateLanguage.ITS()); + end; + + procedure EventDEWordTemplate(): Code[30] + begin + exit(EventDETok); + end; + + procedure EventFRWordTemplate(): Code[30] + begin + exit(EventFRTok); + end; + + procedure EventITWordTemplate(): Code[30] + begin + exit(EventITTok); + end; + + procedure ThanksNoteDEWordTemplate(): Code[30] + begin + exit(ThanksNoteDETok); + end; + + procedure ThanksNoteFRWordTemplate(): Code[30] + begin + exit(ThanksNoteFRTok); + end; + + procedure ThanksNoteITWordTemplate(): Code[30] + begin + exit(ThanksNoteITTok); + end; + + procedure MemoDEWordTemplate(): Code[30] + begin + exit(MemoDETok); + end; + + procedure MemoFRWordTemplate(): Code[30] + begin + exit(MemoFRTok); + end; + + procedure MemoITWordTemplate(): Code[30] + begin + exit(MemoITTok); + end; + + var + EventDETok: Label 'Event-DE', MaxLength = 30; + EventFRTok: Label 'Event-FR', MaxLength = 30; + EventITTok: Label 'Event-IT', MaxLength = 30; + ThanksNoteDETok: Label 'THANKSNOTE-DE', MaxLength = 30; + ThanksNoteFRTok: Label 'THANKSNOTE-FR', MaxLength = 30; + ThanksNoteITTok: Label 'THANKSNOTE-IT', MaxLength = 30; + MemoDETok: Label 'MEMO-DE', MaxLength = 30; + MemoFRTok: Label 'MEMO-FR', MaxLength = 30; + MemoITTok: Label 'MEMO-IT', MaxLength = 30; + CustomerEventLbl: Label 'Customer Event'; + ContactThanksNoteLbl: Label 'Contact Thanks Note'; + VendorMemoLbl: Label 'Vendor Memo'; + +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHAccScheduleLine.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..11c4e46bda --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHAccScheduleLine.Codeunit.al @@ -0,0 +1,182 @@ +codeunit 11583 "Create CH Acc Schedule Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Acc. Schedule Line"; RunTrigger: Boolean) + var + CreateAccScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + begin + if (Rec."Schedule Name" = CreateAccScheduleName.AccountCategoriesOverview()) and (Rec."Line No." = 60000) then + ValidateRecordFields(Rec, '4010', IncomeThisYearLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + + if Rec."Schedule Name" = CreateAccScheduleName.CapitalStructure() then + case + Rec."Line No." of + 40000: + ValidateRecordFields(Rec, '101', InventoryLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 50000: + ValidateRecordFields(Rec, '102', AccountsReceivableLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 60000: + ValidateRecordFields(Rec, '103', SecuritiesLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 70000: + ValidateRecordFields(Rec, '104', LiquidAssetsLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 110000: + ValidateRecordFields(Rec, '111', RevolvingCreditLbl, CreateCHGLAccounts.BankOverdraft(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 120000: + ValidateRecordFields(Rec, '112', AccountsPayableLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 130000: + ValidateRecordFields(Rec, '113', VATLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 140000: + ValidateRecordFields(Rec, '114', PersonnelRelatedItemsLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 150000: + ValidateRecordFields(Rec, '115', OtherLiabilitiesLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 20000: + ValidateRecordFields(Rec, '20', TotalReceivablesLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 30000: + ValidateRecordFields(Rec, '30', TotalPayablesLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 40000: + ValidateRecordFields(Rec, '40', TotalInventoryLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 50000: + ValidateRecordFields(Rec, '100', DaysofSalesOutstandingLbl, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true); + 60000: + ValidateRecordFields(Rec, '110', DaysofPaymentOutstandingLbl, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true); + 70000: + ValidateRecordFields(Rec, '120', DaysSalesofInventoryLbl, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true); + 80000: + ValidateRecordFields(Rec, '200', CashCycleDaysLbl, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalReceivablesLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 20000: + ValidateRecordFields(Rec, '20', TotalPayablesLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 30000: + ValidateRecordFields(Rec, '30', TotalLiquidFundsLbl, 'XXXX' + '|' + CreateCHGLAccounts.BankOverdraft(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 40000: + ValidateRecordFields(Rec, '40', TotalCashFlowLbl, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueCreditLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 30000: + ValidateRecordFields(Rec, '20', TotalGoodsSoldLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 40000: + ValidateRecordFields(Rec, '30', TotalExternalCostsLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 50000: + ValidateRecordFields(Rec, '40', TotalPersonnelCostsLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 60000: + ValidateRecordFields(Rec, '50', TotalDeprOnFALbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 70000: + ValidateRecordFields(Rec, '60', OtherExpensesLbl, CreateCHGLAccounts.MiscCosts(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 20000: + ValidateRecordFields(Rec, '20', TotalCostLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 40000: + ValidateRecordFields(Rec, '40', GrossMarginPerLbl, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true); + 50000: + ValidateRecordFields(Rec, '50', OperatingExpensesLbl, 'XXXX|XXXX|XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 70000: + ValidateRecordFields(Rec, '70', OperatingMarginPerLbl, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true); + 80000: + ValidateRecordFields(Rec, '80', OtherExpensesLbl, CreateCHGLAccounts.MiscCosts(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 90000: + ValidateRecordFields(Rec, '90', IncomeBeforeInterestAndTaxLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.Revenues() then + case + Rec."Line No." of + 40000: + ValidateRecordFields(Rec, '11', SalesRetailDomLbl, CreateCHGLAccounts.TradeDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 50000: + ValidateRecordFields(Rec, '12', SalesRetailEULbl, CreateCHGLAccounts.TradeEurope(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 60000: + ValidateRecordFields(Rec, '13', SalesRetailExportLbl, CreateCHGLAccounts.TradeInternat(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 70000: + ValidateRecordFields(Rec, '14', JobSalesAdjmtRetailLbl, CreateCHGLAccounts.JobSalesAppliedAccount(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 80000: + ValidateRecordFields(Rec, '15', SalesofRetailTotalLbl, 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 100000: + ValidateRecordFields(Rec, '', RevenueArea10to30TotalLbl, CreateCHGLAccounts.TradeDomestic() + '..' + 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '10..30', false); + 110000: + ValidateRecordFields(Rec, '', RevenueArea40to85TotalLbl, CreateCHGLAccounts.TradeDomestic() + '..' + 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '40..85', false); + 120000: + ValidateRecordFields(Rec, '', RevenueNoAreacodeTotalLbl, CreateCHGLAccounts.TradeDomestic() + '..' + 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + 130000: + ValidateRecordFields(Rec, '', RevenueTotalLbl, CreateCHGLAccounts.TradeDomestic() + '..' + 'XXXX', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Description: Text[100]; Totaling: Text[250]; TotalingType: Enum "Acc. Schedule Line Totaling Type"; Show: Enum "Acc. Schedule Line Show"; Dimension1Totaling: Text[250]; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Show, Show); + AccScheduleLine.Validate("Dimension 1 Totaling", Dimension1Totaling); + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + IncomeThisYearLbl: Label 'Income This Year', MaxLength = 100; + InventoryLbl: Label 'Inventory', MaxLength = 100; + AccountsReceivableLbl: Label 'Accounts Receivable', MaxLength = 100; + SecuritiesLbl: Label 'Securities', MaxLength = 100; + LiquidAssetsLbl: Label 'Liquid Assets', MaxLength = 100; + RevolvingCreditLbl: Label 'Revolving Credit', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payable', MaxLength = 100; + VATLbl: Label 'VAT', MaxLength = 100; + PersonnelRelatedItemsLbl: Label 'Personnel-related Items', MaxLength = 100; + OtherLiabilitiesLbl: Label 'Other Liabilities', MaxLength = 100; + SalesofRetailTotalLbl: Label 'Sales of Retail, Total', MaxLength = 100; + RevenueNoAreacodeTotalLbl: Label 'Revenue, no Area code, Total', MaxLength = 100; + RevenueTotalLbl: Label 'Revenue, Total', MaxLength = 100; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + TotalReceivablesLbl: Label 'Total Receivables', MaxLength = 100; + TotalPayablesLbl: Label 'Total Payables', MaxLength = 100; + TotalInventoryLbl: Label 'Total Inventory', MaxLength = 100; + DaysofSalesOutstandingLbl: Label 'Days of Sales Outstanding', MaxLength = 100; + DaysofPaymentOutstandingLbl: Label 'Days of Payment Outstanding', MaxLength = 100; + DaysSalesofInventoryLbl: Label 'Days Sales of Inventory', MaxLength = 100; + CashCycleDaysLbl: Label 'Cash Cycle (Days)', MaxLength = 100; + SalesRetailDomLbl: Label 'Sales, Retail - Dom.', MaxLength = 100; + SalesRetailEULbl: Label 'Sales, Retail - EU', MaxLength = 100; + SalesRetailExportLbl: Label 'Sales, Retail - Export', MaxLength = 100; + JobSalesAdjmtRetailLbl: Label 'Job Sales Adjmt, Retail', MaxLength = 100; + RevenueArea10to30TotalLbl: Label 'Revenue Area 10..30, Total', MaxLength = 100; + RevenueArea40to85TotalLbl: Label 'Revenue Area 40..85, Total', MaxLength = 100; + OtherExpensesLbl: Label 'Other Expenses', MaxLength = 100; + TotalCashFlowLbl: Label 'Total Cash Flow', MaxLength = 100; + TotalLiquidFundsLbl: Label 'Total Liquid Funds', MaxLength = 100; + TotalRevenueCreditLbl: Label 'Total Revenue (Credit)', MaxLength = 100; + TotalGoodsSoldLbl: Label 'Total Goods Sold', MaxLength = 100; + TotalExternalCostsLbl: Label 'Total External Costs ', MaxLength = 100; + TotalPersonnelCostsLbl: Label 'Total Personnel Costs', MaxLength = 100; + TotalDeprOnFALbl: Label 'Total Depr. on Fixed Assets', MaxLength = 100; + TotalCostLbl: Label 'Total Cost', MaxLength = 100; + GrossMarginPerLbl: Label 'Gross Margin %', MaxLength = 100; + OperatingExpensesLbl: Label 'Operating Expenses', MaxLength = 100; + OperatingMarginPerLbl: Label 'Operating Margin %', MaxLength = 100; + IncomeBeforeInterestAndTaxLbl: Label 'Income before Interest and Tax', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHAccScheduleName.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHAccScheduleName.Codeunit.al new file mode 100644 index 0000000000..bc3933e164 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHAccScheduleName.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 11584 "Create CH Acc. Schedule Name" +{ + InherentPermissions = X; + InherentEntitlements = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetDetailed(), BalanceSheetDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementDetailed(), IncomeStatementDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(TrialBalance(), TrialBalanceLbl, ''); + end; + + procedure BalanceSheetDetailed(): Code[10] + begin + exit(BalanceSheetDetailedTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetailed(): Code[10] + begin + exit(IncomeStatementDetailedTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummarizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + BalanceSheetDetailedTok: Label 'BS DET', MaxLength = 10; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10; + IncomeStatementDetailedTok: Label 'IS DET', MaxLength = 10; + IncomeStatementSummarizedTok: Label 'IS SUM', MaxLength = 10; + TrialBalanceTok: Label 'TB', MaxLength = 10; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHColumnLayoutName.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHColumnLayoutName.Codeunit.al new file mode 100644 index 0000000000..72151e295f --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHColumnLayoutName.Codeunit.al @@ -0,0 +1,109 @@ +codeunit 11588 "Create CH Column Layout Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(BeginningBalanceDebitsCreditsEndingBalance(), TBBeginningBalanceDebitsCreditsEndingBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BalanceSheetTrend(), BS12MonthsBalanceTrendingCurrentFiscalYearLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalance(), BSCurrentMonthBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalancePriorMonthBalance(), BSCurrentMonthBalancevPriorMonthBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalancevSameMonthPriorYearBalance(), BSCurrentMonthBalancevSameMonthPriorYearBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChange(), ISCurrentMonthNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthsNetChangeBudget(), IS12MonthsNetChangeBudgetOnlyLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangePriorMonthNetChange(), ISCurrentMonthNetChangevPriorMonthNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangeSameMonthPriorYearNetChange(), ISCurrentMonthNetChangevSameMonthPriorYearNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), ISCurrentMonthvPriorMonthforCYandCurrentMonthvPriorMonthforPYLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), ISCurrentMonthvBudgetYeartoDatevBudgetandBudTotalandBudRemainingLbl); + ContosoAccountSchedule.InsertColumnLayoutName(IncomeStatementTrend(), IS12MonthsNetChangeTrendingCurrentFiscalYearLbl); + end; + + procedure BeginningBalanceDebitsCreditsEndingBalance(): Code[10] + begin + exit(BeginningBalanceDebitsCreditsEndingBalanceTok); + end; + + procedure BalanceSheetTrend(): Code[10] + begin + exit(BalanceSheetTok); + end; + + procedure CurrentMonthBalance(): Code[10] + begin + exit(CurrentMonthBalanceTok); + end; + + procedure CurrentMonthBalancePriorMonthBalance(): Code[10] + begin + exit(CurrentMonthBalancePriorMonthBalanceTok); + end; + + procedure CurrentMonthBalancevSameMonthPriorYearBalance(): Code[10] + begin + exit(CurrentMonthBalancevSameMonthPriorYearBalanceTok); + end; + + procedure CurrentMonthNetChange(): Code[10] + begin + exit(CurrentMonthNetChangeTok); + end; + + procedure CurrentMonthsNetChangeBudget(): Code[10] + begin + exit(CurrentMonthsNetChangeBudgetTok); + end; + + procedure CurrentMonthNetChangePriorMonthNetChange(): Code[10] + begin + exit(CurrentMonthNetChangePriorMonthNetChangeTok); + end; + + procedure CurrentMonthNetChangeSameMonthPriorYearNetChange(): Code[10] + begin + exit(CurrentMonthNetChangeSameMonthPriorYearNetChangeTok); + end; + + procedure CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(): Code[10] + begin + exit(CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPYTok); + end; + + procedure CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(): Code[10] + begin + exit(CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemainingTok); + end; + + procedure IncomeStatementTrend(): Code[10] + begin + exit(IncomeStatementTrendTok); + end; + + var + BeginningBalanceDebitsCreditsEndingBalanceTok: Label 'BBDRCREB', MaxLength = 10; + BalanceSheetTok: Label 'BSTREND', MaxLength = 10; + CurrentMonthBalanceTok: Label 'CB', MaxLength = 10; + CurrentMonthBalancePriorMonthBalanceTok: Label 'CB V PB', MaxLength = 10; + CurrentMonthBalancevSameMonthPriorYearBalanceTok: Label 'CB V SPYB', MaxLength = 10; + CurrentMonthNetChangeTok: Label 'CNC', MaxLength = 10; + CurrentMonthsNetChangeBudgetTok: Label 'CNC BUD', MaxLength = 10; + CurrentMonthNetChangePriorMonthNetChangeTok: Label 'CNC V PNC', MaxLength = 10; + CurrentMonthNetChangeSameMonthPriorYearNetChangeTok: Label 'CNC VSPYNC', MaxLength = 10; + CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPYTok: Label 'CNCVPNCYOY', MaxLength = 10; + CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemainingTok: Label 'CVC YTDBUD', MaxLength = 10; + IncomeStatementTrendTok: Label 'ISTREND', MaxLength = 10; + TBBeginningBalanceDebitsCreditsEndingBalanceLbl: Label 'TB Beginning Balance Debits Credits Ending Balance', MaxLength = 80; + BS12MonthsBalanceTrendingCurrentFiscalYearLbl: Label 'BS 12 Months Balance Trending Current Fiscal Year', MaxLength = 80; + BSCurrentMonthBalanceLbl: Label 'BS Current Month Balance', MaxLength = 80; + BSCurrentMonthBalancevPriorMonthBalanceLbl: Label 'BS Current Month Balance v Prior Month Balance', MaxLength = 80; + BSCurrentMonthBalancevSameMonthPriorYearBalanceLbl: Label 'BS Current Month Balance v Same Month Prior Year Balance', MaxLength = 80; + ISCurrentMonthNetChangeLbl: Label 'IS Current Month Net Change', MaxLength = 80; + IS12MonthsNetChangeBudgetOnlyLbl: Label 'IS 12 Months Net Change Budget Only', MaxLength = 80; + ISCurrentMonthNetChangevPriorMonthNetChangeLbl: Label 'IS Current Month Net Change v Prior Month Net Change', MaxLength = 80; + ISCurrentMonthNetChangevSameMonthPriorYearNetChangeLbl: Label 'IS Current Month Net Change v Same Month Prior Year Net Change', MaxLength = 80; + ISCurrentMonthvPriorMonthforCYandCurrentMonthvPriorMonthforPYLbl: Label 'IS Current Month v Prior Month for CY and Current Month v Prior Month for PY', MaxLength = 80; + ISCurrentMonthvBudgetYeartoDatevBudgetandBudTotalandBudRemainingLbl: Label 'IS Current Month v Budget Year to Date v Budget and Bud Total and Bud Remaining ', MaxLength = 80; + IS12MonthsNetChangeTrendingCurrentFiscalYearLbl: Label 'IS 12 Months Net Change Trending Current Fiscal Year', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHCurrency.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHCurrency.Codeunit.al new file mode 100644 index 0000000000..e4bdefece0 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHCurrency.Codeunit.al @@ -0,0 +1,75 @@ +codeunit 11629 "Create CH Currency" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HRK(), + CreateCurrency.HUF(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NGN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.RUB(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TOP(), + CreateCurrency.TRY(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, CreateCHGLAccounts.UnrealizedExchRateAdjmts(), CreateCHGLAccounts.UnrealizedExchRateAdjmts()); + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec, CreateCHGLAccounts.UnrealizedExchRateAdjmts(), CreateCHGLAccounts.UnrealizedExchRateAdjmts()); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; RealizedGainAcc: Code[20]; RealizedLossAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossAcc); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHGLAccounts.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHGLAccounts.Codeunit.al new file mode 100644 index 0000000000..f7f41f0d73 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHGLAccounts.Codeunit.al @@ -0,0 +1,4560 @@ +codeunit 11580 "Create CH GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1102'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2002'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '3400'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '4400'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2200'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '2200'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '7291'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '7191'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7292'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7192'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '4199'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '4399'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '4000'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '3080'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '3280'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1200'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1201') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '3909'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7791'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7792'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7793'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7890'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7891'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '7892'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '7893'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '4892'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1260'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '2140'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1509'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6780'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '6920'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '7910'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '2001'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '4421'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1280'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '3421'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '3420'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '4421'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '4420'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccount() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ASSETSName(), '1'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), '10'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '14'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), '1530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), '2'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesName(), '20'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesName(), '24'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), '2800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.INCOMESTATEMENTName(), '2999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '4420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), '6'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '6040'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '6512'); + + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResaleSoldInterimName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMatSoldInterimName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLCYName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomefortheYearName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermBankLoansName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT10Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10EUName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelatedItemsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelrelatedItemsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsfortheFiscalYearName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRawMaterialsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofJobsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandChargesRecDomName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailSoldName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRetailName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsSoldName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRawMaterialsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesUsedName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofResourcesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandHeatingName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandAccountingServicesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationofFixedAssetsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandLossesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsofOperationsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscReceivedDecreasesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonRevolvingCreditName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankLoansName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargestoVendorsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscGrantedDecreasesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeBeforeTaxesName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), ' '); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), ' '); + + ContosoGLAccount.AddAccountForLocalization(PostAccName(), '1010'); + ContosoGLAccount.AddAccountForLocalization(BankCreditName(), '1020'); + ContosoGLAccount.AddAccountForLocalization(BankCreditForeignCurrencyName(), '1022'); + ContosoGLAccount.AddAccountForLocalization(BankCreditEurName(), '1026'); + ContosoGLAccount.AddAccountForLocalization(BankCreditUsdName(), '1028'); + ContosoGLAccount.AddAccountForLocalization(BankCreditDkkName(), '1030'); + ContosoGLAccount.AddAccountForLocalization(FixedTermDepInvName(), '1050'); + ContosoGLAccount.AddAccountForLocalization(MoneyTransAccountName(), '1090'); + ContosoGLAccount.AddAccountForLocalization(TotalLiquidAssetsName(), '1099'); + ContosoGLAccount.AddAccountForLocalization(AcctsReceivableName(), '110'); + ContosoGLAccount.AddAccountForLocalization(ArsFromShipAndServicesName(), '110.0'); + ContosoGLAccount.AddAccountForLocalization(CustomerCreditDomesticName(), '1100'); + ContosoGLAccount.AddAccountForLocalization(CustomerCreditEuName(), '1101'); + ContosoGLAccount.AddAccountForLocalization(CustomerCreditForeignName(), '1102'); + ContosoGLAccount.AddAccountForLocalization(CustomerCreditIcName(), '1105'); + ContosoGLAccount.AddAccountForLocalization(AcctsRecWithShareholdersName(), '1120'); + ContosoGLAccount.AddAccountForLocalization(OtherStAcctsReceivablesName(), '114.0'); + ContosoGLAccount.AddAccountForLocalization(StAcctsReceivablesName(), '1140'); + ContosoGLAccount.AddAccountForLocalization(StLoanShareholderName(), '1160'); + ContosoGLAccount.AddAccountForLocalization(AcctsReceivablesOnGovLocName(), '117.0'); + ContosoGLAccount.AddAccountForLocalization(PurchVatMatDlName(), '1170'); + ContosoGLAccount.AddAccountForLocalization(PurchVatInvOperatingExpName(), '1171'); + ContosoGLAccount.AddAccountForLocalization(PurchVatOnImports100PercentName(), '1174'); + ContosoGLAccount.AddAccountForLocalization(CreditWithholdingTaxName(), '1176'); + ContosoGLAccount.AddAccountForLocalization(RemainStAcctsReceivablesName(), '119.0'); + ContosoGLAccount.AddAccountForLocalization(WirCreditName(), '1190'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVat0PercentName(), '1192'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVat80PercentName(), '1193'); + ContosoGLAccount.AddAccountForLocalization(TotAcctsReceivablesName(), '1199'); + ContosoGLAccount.AddAccountForLocalization(InventoriesWipName(), '120'); + ContosoGLAccount.AddAccountForLocalization(InvCommercialGoodsName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(InvCommercialGoodsInterimName(), '1201'); + ContosoGLAccount.AddAccountForLocalization(WbInvCommercialGoodsName(), '1209'); + ContosoGLAccount.AddAccountForLocalization(InvRawMaterialsName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(InvRawMaterialsInterimName(), '1211'); + ContosoGLAccount.AddAccountForLocalization(WbInvRawMaterialsName(), '1219'); + ContosoGLAccount.AddAccountForLocalization(InvFinishedProductsName(), '1260'); + ContosoGLAccount.AddAccountForLocalization(InvFinProductsInterimName(), '1261'); + ContosoGLAccount.AddAccountForLocalization(WbInvFinishProductsName(), '1269'); + ContosoGLAccount.AddAccountForLocalization(StartedProjectsName(), '1280'); + ContosoGLAccount.AddAccountForLocalization(WbStartedProjectsName(), '1282'); + ContosoGLAccount.AddAccountForLocalization(StartedProductionOrdersName(), '1285'); + ContosoGLAccount.AddAccountForLocalization(TotalInventoriesWipName(), '1299'); + ContosoGLAccount.AddAccountForLocalization(AccruedIncomeName(), '130'); + ContosoGLAccount.AddAccountForLocalization(PrepaidExpensesName(), '1300'); + ContosoGLAccount.AddAccountForLocalization(EarningsNotYetReceivedName(), '1301'); + ContosoGLAccount.AddAccountForLocalization(TotalActiveDeferredItemsName(), '1398'); + ContosoGLAccount.AddAccountForLocalization(TotalCurrentAssetsName(), '1399'); + ContosoGLAccount.AddAccountForLocalization(FinancialAssetsName(), '140'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesName(), '1400'); + ContosoGLAccount.AddAccountForLocalization(FaAccountName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(InvestmentsName(), '1420'); + ContosoGLAccount.AddAccountForLocalization(LtAcctsReceivablesName(), '1440'); + ContosoGLAccount.AddAccountForLocalization(LoanShareholderName(), '1460'); + ContosoGLAccount.AddAccountForLocalization(TotalFinancialAssetsName(), '1499'); + ContosoGLAccount.AddAccountForLocalization(MobileFixedAssetsName(), '150'); + ContosoGLAccount.AddAccountForLocalization(MachinesAndEquipmentName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(WbMachinesAndEquipmentName(), '1509'); + ContosoGLAccount.AddAccountForLocalization(BusinessFurnitureName(), '1510'); + ContosoGLAccount.AddAccountForLocalization(WbBusinessFurnitureName(), '1519'); + ContosoGLAccount.AddAccountForLocalization(OfficeMachinesName(), '1520'); + ContosoGLAccount.AddAccountForLocalization(ItHardwareAndSoftwareName(), '1521'); + ContosoGLAccount.AddAccountForLocalization(WbOfficeMachinesAndItName(), '1529'); + ContosoGLAccount.AddAccountForLocalization(WbVehiclesName(), '1539'); + ContosoGLAccount.AddAccountForLocalization(VehiclesEquipmentName(), '1540'); + ContosoGLAccount.AddAccountForLocalization(WbVehiclesEquipmentName(), '1549'); + ContosoGLAccount.AddAccountForLocalization(TotalMobileFixedAssetsName(), '1599'); + ContosoGLAccount.AddAccountForLocalization(RealPropertyFaName(), '160'); + ContosoGLAccount.AddAccountForLocalization(RealEstateName(), '1600'); + ContosoGLAccount.AddAccountForLocalization(WbRealEstateName(), '1609'); + ContosoGLAccount.AddAccountForLocalization(TotalRealPropertyFaName(), '1699'); + ContosoGLAccount.AddAccountForLocalization(IntangibleFaName(), '170'); + ContosoGLAccount.AddAccountForLocalization(PatentsKnowledgeRecipesName(), '1700'); + ContosoGLAccount.AddAccountForLocalization(BrandsPrototypesModelsPlansName(), '1710'); + ContosoGLAccount.AddAccountForLocalization(TotalIntangibleFaName(), '1798'); + ContosoGLAccount.AddAccountForLocalization(TotalFixedAssetsName(), '1799'); + ContosoGLAccount.AddAccountForLocalization(ActiveCorrectingEntriesName(), '18'); + ContosoGLAccount.AddAccountForLocalization(StartUpExpensesName(), '1800'); + ContosoGLAccount.AddAccountForLocalization(ExcludedCapitalStockName(), '1850'); + ContosoGLAccount.AddAccountForLocalization(TotalActCorrectingEntriesName(), '1899'); + ContosoGLAccount.AddAccountForLocalization(NonOperationalAssetsHeadingName(), '19'); + ContosoGLAccount.AddAccountForLocalization(NonOperationalAssetsName(), '1900'); + ContosoGLAccount.AddAccountForLocalization(TotalAssetsName(), '1999'); + ContosoGLAccount.AddAccountForLocalization(StLiabShipServName(), '200'); + ContosoGLAccount.AddAccountForLocalization(VendorsDomesticName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(VendorsEuName(), '2001'); + ContosoGLAccount.AddAccountForLocalization(VendorsForeignName(), '2002'); + ContosoGLAccount.AddAccountForLocalization(VendorsIcName(), '2005'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVat0PercentName(), '2030'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVat80PercentName(), '2031'); + ContosoGLAccount.AddAccountForLocalization(BankOverdraftName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(StLoanToShareholdersName(), '2160'); + ContosoGLAccount.AddAccountForLocalization(OtherShortTermLiabilitiesName(), '220'); + ContosoGLAccount.AddAccountForLocalization(VatOwedName(), '2200'); + ContosoGLAccount.AddAccountForLocalization(VendorVatName(), '2210'); + ContosoGLAccount.AddAccountForLocalization(DividendsDueName(), '2230'); + ContosoGLAccount.AddAccountForLocalization(LiabilitiesAccruedExpensesName(), '230'); + ContosoGLAccount.AddAccountForLocalization(UnpaidExpensesName(), '2300'); + ContosoGLAccount.AddAccountForLocalization(EarningsReceivedInAdvanceName(), '2301'); + ContosoGLAccount.AddAccountForLocalization(WarrantyReserveName(), '2330'); + ContosoGLAccount.AddAccountForLocalization(TaxationReserveName(), '2340'); + ContosoGLAccount.AddAccountForLocalization(TotalShortTermLiabilitiesName(), '2399'); + ContosoGLAccount.AddAccountForLocalization(LongTermLoansName(), '240'); + ContosoGLAccount.AddAccountForLocalization(BankLoansName(), '2400'); + ContosoGLAccount.AddAccountForLocalization(MortgageLoansName(), '2440'); + ContosoGLAccount.AddAccountForLocalization(LongTermReservesName(), '260'); + ContosoGLAccount.AddAccountForLocalization(LtReserveRepairsName(), '2600'); + ContosoGLAccount.AddAccountForLocalization(LongTermWarrantyWorkName(), '2630'); + ContosoGLAccount.AddAccountForLocalization(LtReserveDeferredTaxName(), '2640'); + ContosoGLAccount.AddAccountForLocalization(TotalLongTermLiabilitiesName(), '2798'); + ContosoGLAccount.AddAccountForLocalization(TotalLiabilitiesName(), '2799'); + ContosoGLAccount.AddAccountForLocalization(ShareholdersEquityName(), '28'); + ContosoGLAccount.AddAccountForLocalization(CapitalName(), '280'); + ContosoGLAccount.AddAccountForLocalization(ReservesAndRetainedEarningsName(), '290'); + ContosoGLAccount.AddAccountForLocalization(LegalReservesName(), '2900'); + ContosoGLAccount.AddAccountForLocalization(StatutoryReservesName(), '2910'); + ContosoGLAccount.AddAccountForLocalization(FreeReservesName(), '2915'); + ContosoGLAccount.AddAccountForLocalization(RetEarningsLossCarriedFwdName(), '2989'); + ContosoGLAccount.AddAccountForLocalization(RetainedEarningsLossName(), '2990'); + ContosoGLAccount.AddAccountForLocalization(AnnualEarningsLossName(), '2991'); + ContosoGLAccount.AddAccountForLocalization(EarnedCapitalName(), '2995'); + ContosoGLAccount.AddAccountForLocalization(TotalShareholdersEquityName(), '2996'); + ContosoGLAccount.AddAccountForLocalization(TotalLiabilitiesEndTotalName(), '2997'); + ContosoGLAccount.AddAccountForLocalization(GainLossLiabilitiesName(), '2998'); + ContosoGLAccount.AddAccountForLocalization(OpIncomeShipServName(), '3'); + ContosoGLAccount.AddAccountForLocalization(ProdEarningsName(), '30'); + ContosoGLAccount.AddAccountForLocalization(ProdEarningsDomesticName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(ProdEarningsEuropeName(), '3002'); + ContosoGLAccount.AddAccountForLocalization(ProdEarningsInternatName(), '3004'); + ContosoGLAccount.AddAccountForLocalization(InvChangeFinishedProductsName(), '3080'); + ContosoGLAccount.AddAccountForLocalization(InvChgFinishedProdProvName(), '3081'); + ContosoGLAccount.AddAccountForLocalization(TradeEarningName(), '32'); + ContosoGLAccount.AddAccountForLocalization(TradeDomesticName(), '3200'); + ContosoGLAccount.AddAccountForLocalization(TradeEuropeName(), '3202'); + ContosoGLAccount.AddAccountForLocalization(TradeInternatName(), '3204'); + ContosoGLAccount.AddAccountForLocalization(InvChangeCommGoodsName(), '3280'); + ContosoGLAccount.AddAccountForLocalization(InvChangeTradeProvName(), '3281'); + ContosoGLAccount.AddAccountForLocalization(ServiceEarningsName(), '34'); + ContosoGLAccount.AddAccountForLocalization(ServiceEarningsDomesticName(), '3400'); + ContosoGLAccount.AddAccountForLocalization(ServiceEarningsEuropeName(), '3402'); + ContosoGLAccount.AddAccountForLocalization(ServiceEarningsInternatName(), '3404'); + ContosoGLAccount.AddAccountForLocalization(ProjectEarningsName(), '3420'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedAccountName(), '3421'); + ContosoGLAccount.AddAccountForLocalization(ConsultancyEarningsName(), '3430'); + ContosoGLAccount.AddAccountForLocalization(InventoryChangeReqWorkName(), '3480'); + ContosoGLAccount.AddAccountForLocalization(OtherEarningsHeadingName(), '36'); + ContosoGLAccount.AddAccountForLocalization(OtherEarningsName(), '3600'); + ContosoGLAccount.AddAccountForLocalization(OwnContributionOwnUseName(), '3700'); + ContosoGLAccount.AddAccountForLocalization(InventoryChangesName(), '3800'); + ContosoGLAccount.AddAccountForLocalization(DropInEarningsName(), '39'); + ContosoGLAccount.AddAccountForLocalization(CashDiscountsName(), '3900'); + ContosoGLAccount.AddAccountForLocalization(DiscountsName(), '3901'); + ContosoGLAccount.AddAccountForLocalization(LossFromAccountsRecName(), '3905'); + ContosoGLAccount.AddAccountForLocalization(UnrealizedExchRateAdjmtsName(), '3906'); + ContosoGLAccount.AddAccountForLocalization(RealizedExchangeRateAdjmtsName(), '3907'); + ContosoGLAccount.AddAccountForLocalization(RoundingDifferencesSalesName(), '3908'); + ContosoGLAccount.AddAccountForLocalization(TotalOpIncomeShipServName(), '3999'); + ContosoGLAccount.AddAccountForLocalization(CostGoodsMaterialDlName(), '4'); + ContosoGLAccount.AddAccountForLocalization(CostOfMaterialsName(), '40'); + ContosoGLAccount.AddAccountForLocalization(CostOfMaterialDomesticName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(CostOfMaterialsEuropeName(), '4002'); + ContosoGLAccount.AddAccountForLocalization(CostOfMaterialsInternatName(), '4004'); + ContosoGLAccount.AddAccountForLocalization(VariancePurchMaterialsName(), '4050'); + ContosoGLAccount.AddAccountForLocalization(SubcontractingName(), '4060'); + ContosoGLAccount.AddAccountForLocalization(OverheadCostsMatProdName(), '4070'); + ContosoGLAccount.AddAccountForLocalization(CostOfCommercialGoodsName(), '42'); + ContosoGLAccount.AddAccountForLocalization(CostOfCommGoodsDomesticName(), '4200'); + ContosoGLAccount.AddAccountForLocalization(CostOfCommGoodsEuropeName(), '4202'); + ContosoGLAccount.AddAccountForLocalization(CostOfCommGoodsIntlName(), '4204'); + ContosoGLAccount.AddAccountForLocalization(VariancePurchTradeName(), '4250'); + ContosoGLAccount.AddAccountForLocalization(OverheadCostsCommGoodName(), '4270'); + ContosoGLAccount.AddAccountForLocalization(CostOfSubcontractsName(), '44'); + ContosoGLAccount.AddAccountForLocalization(SubcontrOfSpOperationsName(), '4400'); + ContosoGLAccount.AddAccountForLocalization(JobCostsWipName(), '4421'); + ContosoGLAccount.AddAccountForLocalization(OtherCostsName(), '45'); + ContosoGLAccount.AddAccountForLocalization(EnergyCostsCOGSName(), '4500'); + ContosoGLAccount.AddAccountForLocalization(PackagingCostsName(), '4650'); + ContosoGLAccount.AddAccountForLocalization(DirectPurchCostsName(), '4700'); + ContosoGLAccount.AddAccountForLocalization(InvChangeProductionMatName(), '4800'); + ContosoGLAccount.AddAccountForLocalization(InvChangeCommGoodsCOGSName(), '4820'); + ContosoGLAccount.AddAccountForLocalization(InvChangeProjectsName(), '4830'); + ContosoGLAccount.AddAccountForLocalization(MaterialLossName(), '4880'); + ContosoGLAccount.AddAccountForLocalization(GoodsLossName(), '4886'); + ContosoGLAccount.AddAccountForLocalization(MaterialVarianceProductionName(), '4890'); + ContosoGLAccount.AddAccountForLocalization(CapacityVarianceProductionName(), '4891'); + ContosoGLAccount.AddAccountForLocalization(VarianceMatOverheadCostsName(), '4892'); + ContosoGLAccount.AddAccountForLocalization(VarianceCapOverheadCostsName(), '4893'); + ContosoGLAccount.AddAccountForLocalization(VarianceSubcontractingName(), '4894'); + ContosoGLAccount.AddAccountForLocalization(CostReductionsName(), '49'); + ContosoGLAccount.AddAccountForLocalization(PurchaseDiscName(), '4900'); + ContosoGLAccount.AddAccountForLocalization(CostReductionDiscountName(), '4901'); + ContosoGLAccount.AddAccountForLocalization(UnrealExchangeRateAdjmtsName(), '4906'); + ContosoGLAccount.AddAccountForLocalization(RealizedExchangeRateAdjmtsCOGSName(), '4907'); + ContosoGLAccount.AddAccountForLocalization(RoundingDifferencesPurchaseName(), '4908'); + ContosoGLAccount.AddAccountForLocalization(TotalCostsGoodsMatDlName(), '4999'); + ContosoGLAccount.AddAccountForLocalization(PersonnelCostsName(), '5'); + ContosoGLAccount.AddAccountForLocalization(WagesProductionName(), '5000'); + ContosoGLAccount.AddAccountForLocalization(WagesSalesName(), '5200'); + ContosoGLAccount.AddAccountForLocalization(WagesManagementName(), '5600'); + ContosoGLAccount.AddAccountForLocalization(AhvIvEoAlvName(), '5700'); + ContosoGLAccount.AddAccountForLocalization(PensionPlanningName(), '5720'); + ContosoGLAccount.AddAccountForLocalization(CasualtyInsuranceName(), '5730'); + ContosoGLAccount.AddAccountForLocalization(HealthInsuranceName(), '5740'); + ContosoGLAccount.AddAccountForLocalization(IncomeTaxName(), '5790'); + ContosoGLAccount.AddAccountForLocalization(TrngAndContinuingEdName(), '5810'); + ContosoGLAccount.AddAccountForLocalization(ReimbursementOfExpensesName(), '5820'); + ContosoGLAccount.AddAccountForLocalization(OtherPersonnelCostsName(), '5830'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelCostsName(), '5999'); + ContosoGLAccount.AddAccountForLocalization(PremisesCostsName(), '60'); + ContosoGLAccount.AddAccountForLocalization(RentName(), '6000'); + ContosoGLAccount.AddAccountForLocalization(RentalValueForUsedPropertyName(), '6010'); + ContosoGLAccount.AddAccountForLocalization(AddCostsName(), '6030'); + ContosoGLAccount.AddAccountForLocalization(MaintOfBusinessPremisesName(), '6050'); + ContosoGLAccount.AddAccountForLocalization(TotalPremisesCostsName(), '6099'); + ContosoGLAccount.AddAccountForLocalization(MaintRepairsName(), '61'); + ContosoGLAccount.AddAccountForLocalization(MaintProductionPlantsName(), '6100'); + ContosoGLAccount.AddAccountForLocalization(MaintSalesEquipmentName(), '6110'); + ContosoGLAccount.AddAccountForLocalization(MaintStorageFacilitiesName(), '6120'); + ContosoGLAccount.AddAccountForLocalization(MaintOfficeEquipmentName(), '6130'); + ContosoGLAccount.AddAccountForLocalization(LeasingMobileFixedAssetsName(), '6160'); + ContosoGLAccount.AddAccountForLocalization(TotalMaintRepairsName(), '6199'); + ContosoGLAccount.AddAccountForLocalization(VehicleAndTransportCostsName(), '62'); + ContosoGLAccount.AddAccountForLocalization(VehicleMaintName(), '6200'); + ContosoGLAccount.AddAccountForLocalization(OpMaterialsName(), '6210'); + ContosoGLAccount.AddAccountForLocalization(AutoInsuranceName(), '6220'); + ContosoGLAccount.AddAccountForLocalization(TransportTaxRatesName(), '6230'); + ContosoGLAccount.AddAccountForLocalization(TransportCostsName(), '6280'); + ContosoGLAccount.AddAccountForLocalization(ShippingChargeCustomerName(), '6290'); + ContosoGLAccount.AddAccountForLocalization(TotalVehicleAndTransportName(), '6299'); + ContosoGLAccount.AddAccountForLocalization(PropertyInsuranceRatesName(), '63'); + ContosoGLAccount.AddAccountForLocalization(PropertyInsuranceName(), '6300'); + ContosoGLAccount.AddAccountForLocalization(OperatingLiabilityName(), '6310'); + ContosoGLAccount.AddAccountForLocalization(DowntimeInsuranceName(), '6320'); + ContosoGLAccount.AddAccountForLocalization(TaxRatesName(), '6360'); + ContosoGLAccount.AddAccountForLocalization(PermitsPatentsName(), '6370'); + ContosoGLAccount.AddAccountForLocalization(TotalInsuranceFeesName(), '6399'); + ContosoGLAccount.AddAccountForLocalization(EnergyWasteCostsName(), '64'); + ContosoGLAccount.AddAccountForLocalization(EnergyCostsName(), '6400'); + ContosoGLAccount.AddAccountForLocalization(WasteCostsName(), '6460'); + ContosoGLAccount.AddAccountForLocalization(TotalEnergyWasteName(), '6499'); + ContosoGLAccount.AddAccountForLocalization(ManagementInformationCostsName(), '65'); + ContosoGLAccount.AddAccountForLocalization(AdministrativeCostsName(), '650'); + ContosoGLAccount.AddAccountForLocalization(OfficeMatPrintSuppliesName(), '6500'); + ContosoGLAccount.AddAccountForLocalization(TechDocName(), '6503'); + ContosoGLAccount.AddAccountForLocalization(CommunicationTelephoneName(), '6510'); + ContosoGLAccount.AddAccountForLocalization(DeductionsName(), '6520'); + ContosoGLAccount.AddAccountForLocalization(AccountingConsultancyName(), '6530'); + ContosoGLAccount.AddAccountForLocalization(BoardOfDirectorsGvRevisionName(), '6540'); + ContosoGLAccount.AddAccountForLocalization(InformationCostsName(), '656'); + ContosoGLAccount.AddAccountForLocalization(ItLeasingName(), '6560'); + ContosoGLAccount.AddAccountForLocalization(ItProgramLicensesMaintName(), '6570'); + ContosoGLAccount.AddAccountForLocalization(ItSuppliesName(), '6573'); + ContosoGLAccount.AddAccountForLocalization(ConsultingAndDevelopmentName(), '6580'); + ContosoGLAccount.AddAccountForLocalization(TotalAdministrationItName(), '6599'); + ContosoGLAccount.AddAccountForLocalization(AdvertisingCostsName(), '66'); + ContosoGLAccount.AddAccountForLocalization(AdvertisementsAndMediaName(), '6600'); + ContosoGLAccount.AddAccountForLocalization(AdMaterialsName(), '6610'); + ContosoGLAccount.AddAccountForLocalization(ExhibitsName(), '6620'); + ContosoGLAccount.AddAccountForLocalization(TravelCostsCustomerServiceName(), '6640'); + ContosoGLAccount.AddAccountForLocalization(AdvertContribSponsoringName(), '6660'); + ContosoGLAccount.AddAccountForLocalization(PublicRelationsPrName(), '6670'); + ContosoGLAccount.AddAccountForLocalization(AdConsultancyMarketAnalyName(), '6680'); + ContosoGLAccount.AddAccountForLocalization(TotalAdvertisingCostsName(), '6699'); + ContosoGLAccount.AddAccountForLocalization(OtherOpExpensesName(), '67'); + ContosoGLAccount.AddAccountForLocalization(EconomicInformationName(), '6700'); + ContosoGLAccount.AddAccountForLocalization(OperReliabilityMonitoringName(), '6710'); + ContosoGLAccount.AddAccountForLocalization(ResearchAndDevelopmentName(), '6720'); + ContosoGLAccount.AddAccountForLocalization(MiscCostsName(), '6780'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherOperatingExpensesName(), '6799'); + ContosoGLAccount.AddAccountForLocalization(FinancialIncomeName(), '68'); + ContosoGLAccount.AddAccountForLocalization(FinancialExpensesName(), '680'); + ContosoGLAccount.AddAccountForLocalization(BankInterestRateCostsName(), '6800'); + ContosoGLAccount.AddAccountForLocalization(MortgageIntRateCostsName(), '6802'); + ContosoGLAccount.AddAccountForLocalization(BankAndPcCostsName(), '6840'); + ContosoGLAccount.AddAccountForLocalization(FinancialProfitName(), '685'); + ContosoGLAccount.AddAccountForLocalization(InterestReceiptBankPostName(), '6850'); + ContosoGLAccount.AddAccountForLocalization(IntReceivedFinAssetsName(), '6860'); + ContosoGLAccount.AddAccountForLocalization(FinChargesRecName(), '6890'); + ContosoGLAccount.AddAccountForLocalization(TotalFinIncomeName(), '6899'); + ContosoGLAccount.AddAccountForLocalization(DepreciationName(), '69'); + ContosoGLAccount.AddAccountForLocalization(DepFinAssetsName(), '6900'); + ContosoGLAccount.AddAccountForLocalization(DepInvestmentName(), '6910'); + ContosoGLAccount.AddAccountForLocalization(DepMobileFixedAssetsName(), '6920'); + ContosoGLAccount.AddAccountForLocalization(DepCommercialPropertyName(), '6930'); + ContosoGLAccount.AddAccountForLocalization(DepIntangibleFixedAssetsName(), '6940'); + ContosoGLAccount.AddAccountForLocalization(DepStartUpExpensesName(), '6950'); + ContosoGLAccount.AddAccountForLocalization(TotalDepreciationsName(), '6998'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherOperatingExpensesEndTotalName(), '6999'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingIncomeName(), '7'); + ContosoGLAccount.AddAccountForLocalization(SubsidiaryIncomeName(), '7000'); + ContosoGLAccount.AddAccountForLocalization(SubsidiaryExpensesName(), '7010'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromFinAssetsName(), '7400'); + ContosoGLAccount.AddAccountForLocalization(ExpensesFromFinAssetsName(), '7410'); + ContosoGLAccount.AddAccountForLocalization(PropertyIncomeName(), '7500'); + ContosoGLAccount.AddAccountForLocalization(PropertyExpensesName(), '7510'); + ContosoGLAccount.AddAccountForLocalization(GainFromSaleOfFixedAssetsName(), '7900'); + ContosoGLAccount.AddAccountForLocalization(GainLossFromSaleOfAssetsName(), '7910'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherOperatingIncomeName(), '7999'); + ContosoGLAccount.AddAccountForLocalization(NRNonOperatingTaxName(), '8'); + ContosoGLAccount.AddAccountForLocalization(NonRegularIncomeName(), '8000'); + ContosoGLAccount.AddAccountForLocalization(NonRegularExpensesName(), '8010'); + ContosoGLAccount.AddAccountForLocalization(NonOperatingIncomeName(), '8200'); + ContosoGLAccount.AddAccountForLocalization(NonOperatingExpensesName(), '8210'); + ContosoGLAccount.AddAccountForLocalization(GainCapitalTaxName(), '8900'); + ContosoGLAccount.AddAccountForLocalization(TotalNRNOTaxName(), '8998'); + ContosoGLAccount.AddAccountForLocalization(GainLossIncomeName(), '8999'); + ContosoGLAccount.AddAccountForLocalization(ClosingName(), '9'); + ContosoGLAccount.AddAccountForLocalization(IncomeStatementName(), '9000'); + ContosoGLAccount.AddAccountForLocalization(OpeningBalanceName(), '9100'); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CurrentAssets(), CreateGLAccount.CurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LongtermLiabilities(), CreateGLAccount.LongtermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherOperatingExpenses(), CreateGLAccount.OtherOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Vehicles(), CreateGLAccount.VehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cleaning(), CreateGLAccount.CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostAcc(), PostAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankCredit(), BankCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankCreditForeignCurrency(), BankCreditForeignCurrencyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankCreditEur(), BankCreditEurName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankCreditUsd(), BankCreditUsdName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankCreditDkk(), BankCreditDkkName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(FixedTermDepInv(), FixedTermDepInvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(MoneyTransAccount(), MoneyTransAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(TotalLiquidAssets(), TotalLiquidAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LiquidAssets() + '..' + TotalLiquidAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AcctsReceivable(), AcctsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ArsFromShipAndServices(), ArsFromShipAndServicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerCreditDomestic(), CustomerCreditDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerCreditEu(), CustomerCreditEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerCreditForeign(), CustomerCreditForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerCreditIc(), CustomerCreditIcName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AcctsRecWithShareholders(), AcctsRecWithShareholdersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherStAcctsReceivables(), OtherStAcctsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StAcctsReceivables(), StAcctsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StLoanShareholder(), StLoanShareholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AcctsReceivablesOnGovLoc(), AcctsReceivablesOnGovLocName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchVatMatDl(), PurchVatMatDlName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchVatInvOperatingExp(), PurchVatInvOperatingExpName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchVatOnImports100Percent(), PurchVatOnImports100PercentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreditWithholdingTax(), CreditWithholdingTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RemainStAcctsReceivables(), RemainStAcctsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WirCredit(), WirCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVat0Percent(), VendorPrepaymentsVat0PercentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVat80Percent(), VendorPrepaymentsVat80PercentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotAcctsReceivables(), TotAcctsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, AcctsReceivable() + '..' + TotAcctsReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoriesWip(), InventoriesWipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvCommercialGoods(), InvCommercialGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvCommercialGoodsInterim(), InvCommercialGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WbInvCommercialGoods(), WbInvCommercialGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvRawMaterials(), InvRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvRawMaterialsInterim(), InvRawMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WbInvRawMaterials(), WbInvRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvFinishedProducts(), InvFinishedProductsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvFinProductsInterim(), InvFinProductsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WbInvFinishProducts(), WbInvFinishProductsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StartedProjects(), StartedProjectsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WbStartedProjects(), WbStartedProjectsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StartedProductionOrders(), StartedProductionOrdersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInventoriesWip(), TotalInventoriesWipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, InventoriesWip() + '..' + TotalInventoriesWip(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedIncome(), AccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Heading", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidExpenses(), PrepaidExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EarningsNotYetReceived(), EarningsNotYetReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalActiveDeferredItems(), TotalActiveDeferredItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCurrentAssets(), TotalCurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CurrentAssets() + '..' + TotalCurrentAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialAssets(), FinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Securities(), SecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FaAccount(), FaAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Investments(), InvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LtAcctsReceivables(), LtAcctsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LoanShareholder(), LoanShareholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinancialAssets(), TotalFinancialAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, FinancialAssets() + '..' + TotalFinancialAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MobileFixedAssets(), MobileFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MachinesAndEquipment(), MachinesAndEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(WbMachinesAndEquipment(), WbMachinesAndEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessFurniture(), BusinessFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(WbBusinessFurniture(), WbBusinessFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OfficeMachines(), OfficeMachinesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ItHardwareAndSoftware(), ItHardwareAndSoftwareName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(WbOfficeMachinesAndIt(), WbOfficeMachinesAndItName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WbVehicles(), WbVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VehiclesEquipment(), VehiclesEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(WbVehiclesEquipment(), WbVehiclesEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMobileFixedAssets(), TotalMobileFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, MobileFixedAssets() + '..' + TotalMobileFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RealPropertyFa(), RealPropertyFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RealEstate(), RealEstateName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WbRealEstate(), WbRealEstateName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRealPropertyFa(), TotalRealPropertyFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, RealPropertyFa() + '..' + TotalRealPropertyFa(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleFa(), IntangibleFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PatentsKnowledgeRecipes(), PatentsKnowledgeRecipesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(BrandsPrototypesModelsPlans(), BrandsPrototypesModelsPlansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalIntangibleFa(), TotalIntangibleFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, IntangibleFa() + '..' + TotalIntangibleFa(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalFixedAssets(), TotalFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.FixedAssets() + '..' + TotalFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ActiveCorrectingEntries(), ActiveCorrectingEntriesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StartUpExpenses(), StartUpExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExcludedCapitalStock(), ExcludedCapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalActCorrectingEntries(), TotalActCorrectingEntriesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, ActiveCorrectingEntries() + '..' + TotalActCorrectingEntries(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonOperationalAssetsHeading(), NonOperationalAssetsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Heading", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonOperationalAssets(), NonOperationalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAssets(), TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ASSETS() + '..' + TotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLiabShipServ(), StLiabShipServName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsDomestic(), VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsEu(), VendorsEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsForeign(), VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsIc(), VendorsIcName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVat0Percent(), CustomerPrepaymentsVat0PercentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVat80Percent(), CustomerPrepaymentsVat80PercentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankOverdraft(), BankOverdraftName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StLoanToShareholders(), StLoanToShareholdersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherShortTermLiabilities(), OtherShortTermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VatOwed(), VatOwedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VendorVat(), VendorVatName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DividendsDue(), DividendsDueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LiabilitiesAccruedExpenses(), LiabilitiesAccruedExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(UnpaidExpenses(), UnpaidExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EarningsReceivedInAdvance(), EarningsReceivedInAdvanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WarrantyReserve(), WarrantyReserveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxationReserve(), TaxationReserveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalShortTermLiabilities(), TotalShortTermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ShorttermLiabilities() + '..' + TotalShortTermLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongTermLoans(), LongTermLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankLoans(), BankLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MortgageLoans(), MortgageLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LongTermReserves(), LongTermReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtReserveRepairs(), LtReserveRepairsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LongTermWarrantyWork(), LongTermWarrantyWorkName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LtReserveDeferredTax(), LtReserveDeferredTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalLongTermLiabilities(), TotalLongTermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LongtermLiabilities() + '..' + TotalLongTermLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLiabilities(), TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Total", '', '', 1, VendorsDomestic() + '..' + TotalLongTermLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShareholdersEquity(), ShareholdersEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Capital(), CapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReservesAndRetainedEarnings(), ReservesAndRetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LegalReserves(), LegalReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StatutoryReserves(), StatutoryReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FreeReserves(), FreeReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RetEarningsLossCarriedFwd(), RetEarningsLossCarriedFwdName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RetainedEarningsLoss(), RetainedEarningsLossName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualEarningsLoss(), AnnualEarningsLossName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EarnedCapital(), EarnedCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Total", '', '', 0, LegalReserves() + '..' + AnnualEarningsLoss(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalShareholdersEquity(), TotalShareholdersEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, ShareholdersEquity() + '..' + TotalShareholdersEquity(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLiabilitiesEndTotal(), TotalLiabilitiesEndTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.Liabilities() + '..' + TotalLiabilitiesEndTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainLossLiabilities(), GainLossLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Total", '', '', 1, CreateGLAccount.Cash() + '..' + TotalLiabilitiesEndTotal(), Enum::"General Posting Type"::" ", '', '', false, false, true); + ContosoGLAccount.InsertGLAccount(OpIncomeShipServ(), OpIncomeShipServName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProdEarnings(), ProdEarningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProdEarningsDomestic(), ProdEarningsDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProdEarningsEurope(), ProdEarningsEuropeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProdEarningsInternat(), ProdEarningsInternatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvChangeFinishedProducts(), InvChangeFinishedProductsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvChgFinishedProdProv(), InvChgFinishedProdProvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeEarning(), TradeEarningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeDomestic(), TradeDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeEurope(), TradeEuropeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeInternat(), TradeInternatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvChangeCommGoods(), InvChangeCommGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvChangeTradeProv(), InvChangeTradeProvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ServiceEarnings(), ServiceEarningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServiceEarningsDomestic(), ServiceEarningsDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ServiceEarningsEurope(), ServiceEarningsEuropeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ServiceEarningsInternat(), ServiceEarningsInternatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectEarnings(), ProjectEarningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesAppliedAccount(), JobSalesAppliedAccountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultancyEarnings(), ConsultancyEarningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventoryChangeReqWork(), InventoryChangeReqWorkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherEarningsHeading(), OtherEarningsHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherEarnings(), OtherEarningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OwnContributionOwnUse(), OwnContributionOwnUseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventoryChanges(), InventoryChangesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DropInEarnings(), DropInEarningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashDiscounts(), CashDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(Discounts(), DiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(LossFromAccountsRec(), LossFromAccountsRecName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnrealizedExchRateAdjmts(), UnrealizedExchRateAdjmtsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RealizedExchangeRateAdjmts(), RealizedExchangeRateAdjmtsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RoundingDifferencesSales(), RoundingDifferencesSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOpIncomeShipServ(), TotalOpIncomeShipServName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, OpIncomeShipServ() + '..' + TotalOpIncomeShipServ(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostGoodsMaterialDl(), CostGoodsMaterialDlName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfMaterials(), CostOfMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfMaterialDomestic(), CostOfMaterialDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfMaterialsEurope(), CostOfMaterialsEuropeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfMaterialsInternat(), CostOfMaterialsInternatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(VariancePurchMaterials(), VariancePurchMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Subcontracting(), SubcontractingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OverheadCostsMatProd(), OverheadCostsMatProdName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCommercialGoods(), CostOfCommercialGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCommGoodsDomestic(), CostOfCommGoodsDomesticName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCommGoodsEurope(), CostOfCommGoodsEuropeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfCommGoodsIntl(), CostOfCommGoodsIntlName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(VariancePurchTrade(), VariancePurchTradeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OverheadCostsCommGood(), OverheadCostsCommGoodName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfSubcontracts(), CostOfSubcontractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubcontrOfSpOperations(), SubcontrOfSpOperationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobCostsWip(), JobCostsWipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherCosts(), OtherCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EnergyCostsCOGS(), EnergyCostsCOGSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(PackagingCosts(), PackagingCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(DirectPurchCosts(), DirectPurchCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvChangeProductionMat(), InvChangeProductionMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvChangeCommGoodsCOGS(), InvChangeCommGoodsCOGSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvChangeProjects(), InvChangeProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MaterialLoss(), MaterialLossName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsLoss(), GoodsLossName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MaterialVarianceProduction(), MaterialVarianceProductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapacityVarianceProduction(), CapacityVarianceProductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VarianceMatOverheadCosts(), VarianceMatOverheadCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VarianceCapOverheadCosts(), VarianceCapOverheadCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VarianceSubcontracting(), VarianceSubcontractingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostReductions(), CostReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseDisc(), PurchaseDiscName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostReductionDiscount(), CostReductionDiscountName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnrealExchangeRateAdjmts(), UnrealExchangeRateAdjmtsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RealizedExchangeRateAdjmtsCOGS(), RealizedExchangeRateAdjmtsCOGSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RoundingDifferencesPurchase(), RoundingDifferencesPurchaseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostsGoodsMatDl(), TotalCostsGoodsMatDlName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostGoodsMaterialDl() + '..' + TotalCostsGoodsMatDl(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PersonnelCosts(), PersonnelCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesProduction(), WagesProductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WagesSales(), WagesSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WagesManagement(), WagesManagementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AhvIvEoAlv(), AhvIvEoAlvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PensionPlanning(), PensionPlanningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CasualtyInsurance(), CasualtyInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HealthInsurance(), HealthInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeTax(), IncomeTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TrngAndContinuingEd(), TrngAndContinuingEdName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ReimbursementOfExpenses(), ReimbursementOfExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPersonnelCosts(), OtherPersonnelCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnelCosts(), TotalPersonnelCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, PersonnelCosts() + '..' + TotalPersonnelCosts(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PremisesCosts(), PremisesCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Rent(), RentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RentalValueForUsedProperty(), RentalValueForUsedPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AddCosts(), AddCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MaintOfBusinessPremises(), MaintOfBusinessPremisesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPremisesCosts(), TotalPremisesCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, PremisesCosts() + '..' + TotalPremisesCosts(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MaintRepairs(), MaintRepairsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MaintProductionPlants(), MaintProductionPlantsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(MaintSalesEquipment(), MaintSalesEquipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(MaintStorageFacilities(), MaintStorageFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(MaintOfficeEquipment(), MaintOfficeEquipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(LeasingMobileFixedAssets(), LeasingMobileFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMaintRepairs(), TotalMaintRepairsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, MaintRepairs() + '..' + TotalMaintRepairs(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VehicleAndTransportCosts(), VehicleAndTransportCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VehicleMaint(), VehicleMaintName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(OpMaterials(), OpMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(AutoInsurance(), AutoInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TransportTaxRates(), TransportTaxRatesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TransportCosts(), TransportCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShippingChargeCustomer(), ShippingChargeCustomerName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVehicleAndTransport(), TotalVehicleAndTransportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, VehicleAndTransportCosts() + '..' + TotalVehicleAndTransport(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PropertyInsuranceRates(), PropertyInsuranceRatesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PropertyInsurance(), PropertyInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(OperatingLiability(), OperatingLiabilityName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(DowntimeInsurance(), DowntimeInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxRates(), TaxRatesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(PermitsPatents(), PermitsPatentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsuranceFees(), TotalInsuranceFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, PropertyInsuranceRates() + '..' + TotalInsuranceFees(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EnergyWasteCosts(), EnergyWasteCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EnergyCosts(), EnergyCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(WasteCosts(), WasteCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalEnergyWaste(), TotalEnergyWasteName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, EnergyWasteCosts() + '..' + TotalEnergyWaste(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ManagementInformationCosts(), ManagementInformationCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdministrativeCosts(), AdministrativeCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Heading", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeMatPrintSupplies(), OfficeMatPrintSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TechDoc(), TechDocName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(CommunicationTelephone(), CommunicationTelephoneName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deductions(), DeductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountingConsultancy(), AccountingConsultancyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(BoardOfDirectorsGvRevision(), BoardOfDirectorsGvRevisionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(InformationCosts(), InformationCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Heading", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', false, false, false); + ContosoGLAccount.InsertGLAccount(ItLeasing(), ItLeasingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ItProgramLicensesMaint(), ItProgramLicensesMaintName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ItSupplies(), ItSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultingAndDevelopment(), ConsultingAndDevelopmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdministrationIt(), TotalAdministrationItName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ManagementInformationCosts() + '..' + TotalAdministrationIt(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvertisingCosts(), AdvertisingCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvertisementsAndMedia(), AdvertisementsAndMediaName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdMaterials(), AdMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exhibits(), ExhibitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TravelCostsCustomerService(), TravelCostsCustomerServiceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvertContribSponsoring(), AdvertContribSponsoringName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(PublicRelationsPr(), PublicRelationsPrName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdConsultancyMarketAnaly(), AdConsultancyMarketAnalyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdvertisingCosts(), TotalAdvertisingCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, AdvertisingCosts() + '..' + TotalAdvertisingCosts(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherOpExpenses(), OtherOpExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EconomicInformation(), EconomicInformationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(OperReliabilityMonitoring(), OperReliabilityMonitoringName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResearchAndDevelopment(), ResearchAndDevelopmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscCosts(), MiscCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherOperatingExpenses(), TotalOtherOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherOpExpenses() + '..' + TotalOtherOperatingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialIncome(), FinancialIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialExpenses(), FinancialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankInterestRateCosts(), BankInterestRateCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MortgageIntRateCosts(), MortgageIntRateCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankAndPcCosts(), BankAndPcCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinancialProfit(), FinancialProfitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Heading", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestReceiptBankPost(), InterestReceiptBankPostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IntReceivedFinAssets(), IntReceivedFinAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinChargesRec(), FinChargesRecName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinIncome(), TotalFinIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, FinancialIncome() + '..' + TotalFinIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation(), DepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepFinAssets(), DepFinAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepInvestment(), DepInvestmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepMobileFixedAssets(), DepMobileFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepCommercialProperty(), DepCommercialPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepIntangibleFixedAssets(), DepIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepStartUpExpenses(), DepStartUpExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalDepreciations(), TotalDepreciationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Depreciation() + '..' + TotalDepreciations(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherOperatingExpensesEndTotal(), TotalOtherOperatingExpensesEndTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.OtherOperatingExpenses() + '..' + TotalOtherOperatingExpensesEndTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingIncome(), OtherOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubsidiaryIncome(), SubsidiaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SubsidiaryExpenses(), SubsidiaryExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromFinAssets(), IncomeFromFinAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExpensesFromFinAssets(), ExpensesFromFinAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PropertyIncome(), PropertyIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PropertyExpenses(), PropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainFromSaleOfFixedAssets(), GainFromSaleOfFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainLossFromSaleOfAssets(), GainLossFromSaleOfAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherOperatingIncome(), TotalOtherOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherOperatingIncome() + '..' + TotalOtherOperatingIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NRNonOperatingTax(), NRNonOperatingTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonRegularIncome(), NonRegularIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonRegularExpenses(), NonRegularExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonOperatingIncome(), NonOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonOperatingExpenses(), NonOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainCapitalTax(), GainCapitalTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalNRNOTax(), TotalNRNOTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, NRNonOperatingTax() + '..' + TotalNRNOTax(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainLossIncome(), GainLossIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Total", '', '', 1, ProdEarningsDomestic() + '..' + TotalNRNOTax(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Closing(), ClosingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeStatement(), IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OpeningBalance(), OpeningBalanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Posting", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + end; + + procedure AddCategoriesToGLAccounts() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + local procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + //CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, '1', '1999'); + GLAccountCategory."Account Category"::Liabilities: + begin + UpdateGLAccounts(GLAccountCategory, '2', '2799'); + UpdateGLAccounts(GLAccountCategory, '2997', '2998'); + end; + GLAccountCategory."Account Category"::Equity: + UpdateGLAccounts(GLAccountCategory, '28', '2996'); + GLAccountCategory."Account Category"::Income: + begin + UpdateGLAccounts(GLAccountCategory, '2999', '3480'); + UpdateGLAccounts(GLAccountCategory, '39', '3999'); + UpdateGLAccounts(GLAccountCategory, '68', '6899'); + UpdateGLAccounts(GLAccountCategory, '7900', '8000'); + UpdateGLAccounts(GLAccountCategory, '8210', '8210'); + UpdateGLAccounts(GLAccountCategory, '8998', '9'); + end; + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, '4', '4999'); + GLAccountCategory."Account Category"::Expense: + begin + UpdateGLAccounts(GLAccountCategory, '36', '3800'); + UpdateGLAccounts(GLAccountCategory, '5', '6799'); + UpdateGLAccounts(GLAccountCategory, '69', '7510'); + UpdateGLAccounts(GLAccountCategory, '8010', '8200'); + UpdateGLAccounts(GLAccountCategory, '8900', '8900'); + end; + end; + end; + + local procedure AssignSubcategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + // CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetCurrentAssets(): + begin + UpdateGLAccounts(GLAccountCategory, '10', '10'); + UpdateGLAccounts(GLAccountCategory, '1399', '1399'); + end; + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, '100', '1099'); + GLAccountCategoryMgt.GetAR(): + UpdateGLAccounts(GLAccountCategory, '110', '1199'); + GLAccountCategoryMgt.GetPrepaidExpenses(): + UpdateGLAccounts(GLAccountCategory, '130', '1398'); + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, '120', '1299'); + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, '1798', '1798'); + UpdateGLAccounts(GLAccountCategory, '20', '2399'); + end; + GLAccountCategoryMgt.GetLongTermLiabilities(): + UpdateGLAccounts(GLAccountCategory, '24', '2799'); + GLAccountCategoryMgt.GetIncomeService(): + UpdateGLAccounts(GLAccountCategory, '34', '3480'); + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, '2999', '3281'); + GLAccountCategoryMgt.GetIncomeSalesDiscounts(): + UpdateGLAccounts(GLAccountCategory, '39', '3999'); + GLAccountCategoryMgt.GetIncomeInterest(): + UpdateGLAccounts(GLAccountCategory, '68', '6899'); + GLAccountCategoryMgt.GetCOGSMaterials(): + begin + UpdateGLAccounts(GLAccountCategory, '4', '4270'); + UpdateGLAccounts(GLAccountCategory, '49', '4999'); + end; + GLAccountCategoryMgt.GetJobsCost(): + UpdateGLAccounts(GLAccountCategory, '44', '4894'); + GLAccountCategoryMgt.GetRentExpense(): + UpdateGLAccounts(GLAccountCategory, '6000', '6010'); + GLAccountCategoryMgt.GetAdvertisingExpense(): + UpdateGLAccounts(GLAccountCategory, '66', '6699'); + GLAccountCategoryMgt.GetPayrollExpense(): + UpdateGLAccounts(GLAccountCategory, '5', '5999'); + GLAccountCategoryMgt.GetRepairsExpense(): + begin + UpdateGLAccounts(GLAccountCategory, '6050', '6050'); + UpdateGLAccounts(GLAccountCategory, '61', '6199'); + end; + GLAccountCategoryMgt.GetUtilitiesExpense(): + begin + UpdateGLAccounts(GLAccountCategory, '6', '60'); + UpdateGLAccounts(GLAccountCategory, '6030', '6040'); + UpdateGLAccounts(GLAccountCategory, '6099', '6099'); + UpdateGLAccounts(GLAccountCategory, '62', '6599'); + end; + GLAccountCategoryMgt.GetOtherIncomeExpense(): + begin + UpdateGLAccounts(GLAccountCategory, '36', '3800'); + UpdateGLAccounts(GLAccountCategory, '67', '6799'); + UpdateGLAccounts(GLAccountCategory, '7', '7510'); + end; + GLAccountCategoryMgt.GetTaxExpense(): + UpdateGLAccounts(GLAccountCategory, '8900', '8900'); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure PostAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostAccName())); + end; + + procedure PostAccName(): Text[100] + begin + exit(PostAccTok); + end; + + procedure BankCredit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCreditName())); + end; + + procedure BankCreditName(): Text[100] + begin + exit(BankCreditTok); + end; + + procedure BankCreditForeignCurrency(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCreditForeignCurrencyName())); + end; + + procedure BankCreditForeignCurrencyName(): Text[100] + begin + exit(BankCreditForeignCurrencyTok); + end; + + procedure BankCreditEur(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCreditEurName())); + end; + + procedure BankCreditEurName(): Text[100] + begin + exit(BankCreditEurTok); + end; + + procedure BankCreditUsd(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCreditUsdName())); + end; + + procedure BankCreditUsdName(): Text[100] + begin + exit(BankCreditUsdTok); + end; + + procedure BankCreditDkk(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCreditDkkName())); + end; + + procedure BankCreditDkkName(): Text[100] + begin + exit(BankCreditDkkTok); + end; + + procedure FixedTermDepInv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedTermDepInvName())); + end; + + procedure FixedTermDepInvName(): Text[100] + begin + exit(FixedTermDepInvTok); + end; + + procedure MoneyTransAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MoneyTransAccountName())); + end; + + procedure MoneyTransAccountName(): Text[100] + begin + exit(MoneyTransAccountTok); + end; + + procedure TotalLiquidAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiquidAssetsName())); + end; + + procedure TotalLiquidAssetsName(): Text[100] + begin + exit(TotalLiquidAssetsTok); + end; + + procedure AcctsReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcctsReceivableName())); + end; + + procedure AcctsReceivableName(): Text[100] + begin + exit(AcctsReceivableTok); + end; + + procedure ArsFromShipAndServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ArsFromShipAndServicesName())); + end; + + procedure ArsFromShipAndServicesName(): Text[100] + begin + exit(ArsFromShipAndServicesTok); + end; + + procedure CustomerCreditDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerCreditDomesticName())); + end; + + procedure CustomerCreditDomesticName(): Text[100] + begin + exit(CustomerCreditDomesticTok); + end; + + procedure CustomerCreditEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerCreditEuName())); + end; + + procedure CustomerCreditEuName(): Text[100] + begin + exit(CustomerCreditEuTok); + end; + + procedure CustomerCreditForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerCreditForeignName())); + end; + + procedure CustomerCreditForeignName(): Text[100] + begin + exit(CustomerCreditForeignTok); + end; + + procedure CustomerCreditIc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerCreditIcName())); + end; + + procedure CustomerCreditIcName(): Text[100] + begin + exit(CustomerCreditIcTok); + end; + + procedure AcctsRecWithShareholders(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcctsRecWithShareholdersName())); + end; + + procedure AcctsRecWithShareholdersName(): Text[100] + begin + exit(AcctsRecWithShareholdersTok); + end; + + procedure OtherStAcctsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherStAcctsReceivablesName())); + end; + + procedure OtherStAcctsReceivablesName(): Text[100] + begin + exit(OtherStAcctsReceivablesTok); + end; + + procedure StAcctsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StAcctsReceivablesName())); + end; + + procedure StAcctsReceivablesName(): Text[100] + begin + exit(StAcctsReceivablesTok); + end; + + procedure StLoanShareholder(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoanShareholderName())); + end; + + procedure StLoanShareholderName(): Text[100] + begin + exit(StLoanShareholderTok); + end; + + procedure AcctsReceivablesOnGovLoc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcctsReceivablesOnGovLocName())); + end; + + procedure AcctsReceivablesOnGovLocName(): Text[100] + begin + exit(AcctsReceivablesOnGovLocTok); + end; + + procedure PurchVatMatDl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchVatMatDlName())); + end; + + procedure PurchVatMatDlName(): Text[100] + begin + exit(PurchVatMatDlTok); + end; + + procedure PurchVatInvOperatingExp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchVatInvOperatingExpName())); + end; + + procedure PurchVatInvOperatingExpName(): Text[100] + begin + exit(PurchVatInvOperatingExpTok); + end; + + procedure PurchVatOnImports100Percent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchVatOnImports100PercentName())); + end; + + procedure PurchVatOnImports100PercentName(): Text[100] + begin + exit(PurchVatOnImports100PercentTok); + end; + + procedure CreditWithholdingTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditWithholdingTaxName())); + end; + + procedure CreditWithholdingTaxName(): Text[100] + begin + exit(CreditWithholdingTaxTok); + end; + + procedure RemainStAcctsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RemainStAcctsReceivablesName())); + end; + + procedure RemainStAcctsReceivablesName(): Text[100] + begin + exit(RemainStAcctsReceivablesTok); + end; + + procedure WirCredit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WirCreditName())); + end; + + procedure WirCreditName(): Text[100] + begin + exit(WirCreditTok); + end; + + procedure VendorPrepaymentsVat0Percent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVat0PercentName())); + end; + + procedure VendorPrepaymentsVat0PercentName(): Text[100] + begin + exit(VendorPrepaymentsVat0PercentTok); + end; + + procedure VendorPrepaymentsVat80Percent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVat80PercentName())); + end; + + procedure VendorPrepaymentsVat80PercentName(): Text[100] + begin + exit(VendorPrepaymentsVat80PercentTok); + end; + + procedure TotAcctsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotAcctsReceivablesName())); + end; + + procedure TotAcctsReceivablesName(): Text[100] + begin + exit(TotAcctsReceivablesTok); + end; + + procedure InventoriesWip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoriesWipName())); + end; + + procedure InventoriesWipName(): Text[100] + begin + exit(InventoriesWipTok); + end; + + procedure InvCommercialGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvCommercialGoodsName())); + end; + + procedure InvCommercialGoodsName(): Text[100] + begin + exit(InvCommercialGoodsTok); + end; + + procedure InvCommercialGoodsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvCommercialGoodsInterimName())); + end; + + procedure InvCommercialGoodsInterimName(): Text[100] + begin + exit(InvCommercialGoodsInterimTok); + end; + + procedure WbInvCommercialGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbInvCommercialGoodsName())); + end; + + procedure WbInvCommercialGoodsName(): Text[100] + begin + exit(WbInvCommercialGoodsTok); + end; + + procedure InvRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvRawMaterialsName())); + end; + + procedure InvRawMaterialsName(): Text[100] + begin + exit(InvRawMaterialsTok); + end; + + procedure InvRawMaterialsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvRawMaterialsInterimName())); + end; + + procedure InvRawMaterialsInterimName(): Text[100] + begin + exit(InvRawMaterialsInterimTok); + end; + + procedure WbInvRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbInvRawMaterialsName())); + end; + + procedure WbInvRawMaterialsName(): Text[100] + begin + exit(WbInvRawMaterialsTok); + end; + + procedure InvFinishedProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvFinishedProductsName())); + end; + + procedure InvFinishedProductsName(): Text[100] + begin + exit(InvFinishedProductsTok); + end; + + procedure InvFinProductsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvFinProductsInterimName())); + end; + + procedure InvFinProductsInterimName(): Text[100] + begin + exit(InvFinProductsInterimTok); + end; + + procedure WbInvFinishProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbInvFinishProductsName())); + end; + + procedure WbInvFinishProductsName(): Text[100] + begin + exit(WbInvFinishProductsTok); + end; + + procedure StartedProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StartedProjectsName())); + end; + + procedure StartedProjectsName(): Text[100] + begin + exit(StartedProjectsTok); + end; + + procedure WbStartedProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbStartedProjectsName())); + end; + + procedure WbStartedProjectsName(): Text[100] + begin + exit(WbStartedProjectsTok); + end; + + procedure StartedProductionOrders(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StartedProductionOrdersName())); + end; + + procedure StartedProductionOrdersName(): Text[100] + begin + exit(StartedProductionOrdersTok); + end; + + procedure TotalInventoriesWip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInventoriesWipName())); + end; + + procedure TotalInventoriesWipName(): Text[100] + begin + exit(TotalInventoriesWipTok); + end; + + procedure AccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedIncomeName())); + end; + + procedure AccruedIncomeName(): Text[100] + begin + exit(AccruedIncomeTok); + end; + + procedure PrepaidExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidExpensesName())); + end; + + procedure PrepaidExpensesName(): Text[100] + begin + exit(PrepaidExpensesTok); + end; + + procedure EarningsNotYetReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EarningsNotYetReceivedName())); + end; + + procedure EarningsNotYetReceivedName(): Text[100] + begin + exit(EarningsNotYetReceivedTok); + end; + + procedure TotalActiveDeferredItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalActiveDeferredItemsName())); + end; + + procedure TotalActiveDeferredItemsName(): Text[100] + begin + exit(TotalActiveDeferredItemsTok); + end; + + procedure TotalCurrentAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCurrentAssetsName())); + end; + + procedure TotalCurrentAssetsName(): Text[100] + begin + exit(TotalCurrentAssetsTok); + end; + + procedure FinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialAssetsName())); + end; + + procedure FinancialAssetsName(): Text[100] + begin + exit(FinancialAssetsTok); + end; + + procedure Securities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesName())); + end; + + procedure SecuritiesName(): Text[100] + begin + exit(SecuritiesTok); + end; + + procedure FaAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FaAccountName())); + end; + + procedure FaAccountName(): Text[100] + begin + exit(FaAccountTok); + end; + + procedure Investments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentsName())); + end; + + procedure InvestmentsName(): Text[100] + begin + exit(InvestmentsTok); + end; + + procedure LtAcctsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtAcctsReceivablesName())); + end; + + procedure LtAcctsReceivablesName(): Text[100] + begin + exit(LtAcctsReceivablesTok); + end; + + procedure LoanShareholder(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoanShareholderName())); + end; + + procedure LoanShareholderName(): Text[100] + begin + exit(LoanShareholderTok); + end; + + procedure TotalFinancialAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinancialAssetsName())); + end; + + procedure TotalFinancialAssetsName(): Text[100] + begin + exit(TotalFinancialAssetsTok); + end; + + procedure MobileFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MobileFixedAssetsName())); + end; + + procedure MobileFixedAssetsName(): Text[100] + begin + exit(MobileFixedAssetsTok); + end; + + procedure MachinesAndEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachinesAndEquipmentName())); + end; + + procedure MachinesAndEquipmentName(): Text[100] + begin + exit(MachinesAndEquipmentTok); + end; + + procedure WbMachinesAndEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbMachinesAndEquipmentName())); + end; + + procedure WbMachinesAndEquipmentName(): Text[100] + begin + exit(WbMachinesAndEquipmentTok); + end; + + procedure BusinessFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessFurnitureName())); + end; + + procedure BusinessFurnitureName(): Text[100] + begin + exit(BusinessFurnitureTok); + end; + + procedure WbBusinessFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbBusinessFurnitureName())); + end; + + procedure WbBusinessFurnitureName(): Text[100] + begin + exit(WbBusinessFurnitureTok); + end; + + procedure OfficeMachines(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeMachinesName())); + end; + + procedure OfficeMachinesName(): Text[100] + begin + exit(OfficeMachinesTok); + end; + + procedure ItHardwareAndSoftware(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItHardwareAndSoftwareName())); + end; + + procedure ItHardwareAndSoftwareName(): Text[100] + begin + exit(ItHardwareAndSoftwareTok); + end; + + procedure WbOfficeMachinesAndIt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbOfficeMachinesAndItName())); + end; + + procedure WbOfficeMachinesAndItName(): Text[100] + begin + exit(WbOfficeMachinesAndItTok); + end; + + procedure WbVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbVehiclesName())); + end; + + procedure WbVehiclesName(): Text[100] + begin + exit(WbVehiclesTok); + end; + + procedure VehiclesEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehiclesEquipmentName())); + end; + + procedure VehiclesEquipmentName(): Text[100] + begin + exit(VehiclesEquipmentTok); + end; + + procedure WbVehiclesEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbVehiclesEquipmentName())); + end; + + procedure WbVehiclesEquipmentName(): Text[100] + begin + exit(WbVehiclesEquipmentTok); + end; + + procedure TotalMobileFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMobileFixedAssetsName())); + end; + + procedure TotalMobileFixedAssetsName(): Text[100] + begin + exit(TotalMobileFixedAssetsTok); + end; + + procedure RealPropertyFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealPropertyFaName())); + end; + + procedure RealPropertyFaName(): Text[100] + begin + exit(RealPropertyFaTok); + end; + + procedure RealEstate(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealEstateName())); + end; + + procedure RealEstateName(): Text[100] + begin + exit(RealEstateTok); + end; + + procedure WbRealEstate(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WbRealEstateName())); + end; + + procedure WbRealEstateName(): Text[100] + begin + exit(WbRealEstateTok); + end; + + procedure TotalRealPropertyFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRealPropertyFaName())); + end; + + procedure TotalRealPropertyFaName(): Text[100] + begin + exit(TotalRealPropertyFaTok); + end; + + procedure IntangibleFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleFaName())); + end; + + procedure IntangibleFaName(): Text[100] + begin + exit(IntangibleFaTok); + end; + + procedure PatentsKnowledgeRecipes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PatentsKnowledgeRecipesName())); + end; + + procedure PatentsKnowledgeRecipesName(): Text[100] + begin + exit(PatentsKnowledgeRecipesTok); + end; + + procedure BrandsPrototypesModelsPlans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BrandsPrototypesModelsPlansName())); + end; + + procedure BrandsPrototypesModelsPlansName(): Text[100] + begin + exit(BrandsPrototypesModelsPlansTok); + end; + + procedure TotalIntangibleFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIntangibleFaName())); + end; + + procedure TotalIntangibleFaName(): Text[100] + begin + exit(TotalIntangibleFaTok); + end; + + procedure TotalFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFixedAssetsName())); + end; + + procedure TotalFixedAssetsName(): Text[100] + begin + exit(TotalFixedAssetsTok); + end; + + procedure ActiveCorrectingEntries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ActiveCorrectingEntriesName())); + end; + + procedure ActiveCorrectingEntriesName(): Text[100] + begin + exit(ActiveCorrectingEntriesTok); + end; + + procedure StartUpExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StartUpExpensesName())); + end; + + procedure StartUpExpensesName(): Text[100] + begin + exit(StartUpExpensesTok); + end; + + procedure ExcludedCapitalStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExcludedCapitalStockName())); + end; + + procedure ExcludedCapitalStockName(): Text[100] + begin + exit(ExcludedCapitalStockTok); + end; + + procedure TotalActCorrectingEntries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalActCorrectingEntriesName())); + end; + + procedure TotalActCorrectingEntriesName(): Text[100] + begin + exit(TotalActCorrectingEntriesTok); + end; + + procedure NonOperationalAssetsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonOperationalAssetsHeadingName())); + end; + + procedure NonOperationalAssetsHeadingName(): Text[100] + begin + exit(NonOperationalAssetsHeadingTok); + end; + + procedure NonOperationalAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonOperationalAssetsName())); + end; + + procedure NonOperationalAssetsName(): Text[100] + begin + exit(NonOperationalAssetsTok); + end; + + procedure TotalAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAssetsName())); + end; + + procedure TotalAssetsName(): Text[100] + begin + exit(TotalAssetsTok); + end; + + procedure StLiabShipServ(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLiabShipServName())); + end; + + procedure StLiabShipServName(): Text[100] + begin + exit(StLiabShipServTok); + end; + + procedure VendorsDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsDomesticName())); + end; + + procedure VendorsDomesticName(): Text[100] + begin + exit(VendorsDomesticTok); + end; + + procedure VendorsEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsEuName())); + end; + + procedure VendorsEuName(): Text[100] + begin + exit(VendorsEuTok); + end; + + procedure VendorsForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsForeignName())); + end; + + procedure VendorsForeignName(): Text[100] + begin + exit(VendorsForeignTok); + end; + + procedure VendorsIc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsIcName())); + end; + + procedure VendorsIcName(): Text[100] + begin + exit(VendorsIcTok); + end; + + procedure CustomerPrepaymentsVat0Percent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVat0PercentName())); + end; + + procedure CustomerPrepaymentsVat0PercentName(): Text[100] + begin + exit(CustomerPrepaymentsVat0PercentTok); + end; + + procedure CustomerPrepaymentsVat80Percent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVat80PercentName())); + end; + + procedure CustomerPrepaymentsVat80PercentName(): Text[100] + begin + exit(CustomerPrepaymentsVat80PercentTok); + end; + + procedure BankOverdraft(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankOverdraftName())); + end; + + procedure BankOverdraftName(): Text[100] + begin + exit(BankOverdraftTok); + end; + + procedure StLoanToShareholders(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoanToShareholdersName())); + end; + + procedure StLoanToShareholdersName(): Text[100] + begin + exit(StLoanToShareholdersTok); + end; + + procedure OtherShortTermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherShortTermLiabilitiesName())); + end; + + procedure OtherShortTermLiabilitiesName(): Text[100] + begin + exit(OtherShortTermLiabilitiesTok); + end; + + procedure VatOwed(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VatOwedName())); + end; + + procedure VatOwedName(): Text[100] + begin + exit(VatOwedTok); + end; + + procedure VendorVat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorVatName())); + end; + + procedure VendorVatName(): Text[100] + begin + exit(VendorVatTok); + end; + + procedure DividendsDue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendsDueName())); + end; + + procedure DividendsDueName(): Text[100] + begin + exit(DividendsDueTok); + end; + + procedure LiabilitiesAccruedExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilitiesAccruedExpensesName())); + end; + + procedure LiabilitiesAccruedExpensesName(): Text[100] + begin + exit(LiabilitiesAccruedExpensesTok); + end; + + procedure UnpaidExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnpaidExpensesName())); + end; + + procedure UnpaidExpensesName(): Text[100] + begin + exit(UnpaidExpensesTok); + end; + + procedure EarningsReceivedInAdvance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EarningsReceivedInAdvanceName())); + end; + + procedure EarningsReceivedInAdvanceName(): Text[100] + begin + exit(EarningsReceivedInAdvanceTok); + end; + + procedure WarrantyReserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WarrantyReserveName())); + end; + + procedure WarrantyReserveName(): Text[100] + begin + exit(WarrantyReserveTok); + end; + + procedure TaxationReserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxationReserveName())); + end; + + procedure TaxationReserveName(): Text[100] + begin + exit(TaxationReserveTok); + end; + + procedure TotalShortTermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalShortTermLiabilitiesName())); + end; + + procedure TotalShortTermLiabilitiesName(): Text[100] + begin + exit(TotalShortTermLiabilitiesTok); + end; + + procedure LongTermLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermLoansName())); + end; + + procedure LongTermLoansName(): Text[100] + begin + exit(LongTermLoansTok); + end; + + procedure BankLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankLoansName())); + end; + + procedure BankLoansName(): Text[100] + begin + exit(BankLoansTok); + end; + + procedure MortgageLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MortgageLoansName())); + end; + + procedure MortgageLoansName(): Text[100] + begin + exit(MortgageLoansTok); + end; + + procedure LongTermReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermReservesName())); + end; + + procedure LongTermReservesName(): Text[100] + begin + exit(LongTermReservesTok); + end; + + procedure LtReserveRepairs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtReserveRepairsName())); + end; + + procedure LtReserveRepairsName(): Text[100] + begin + exit(LtReserveRepairsTok); + end; + + procedure LongTermWarrantyWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermWarrantyWorkName())); + end; + + procedure LongTermWarrantyWorkName(): Text[100] + begin + exit(LongTermWarrantyWorkTok); + end; + + procedure LtReserveDeferredTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtReserveDeferredTaxName())); + end; + + procedure LtReserveDeferredTaxName(): Text[100] + begin + exit(LtReserveDeferredTaxTok); + end; + + procedure TotalLongTermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLongTermLiabilitiesName())); + end; + + procedure TotalLongTermLiabilitiesName(): Text[100] + begin + exit(TotalLongTermLiabilitiesTok); + end; + + procedure TotalLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiabilitiesName())); + end; + + procedure TotalLiabilitiesName(): Text[100] + begin + exit(TotalLiabilitiesTok); + end; + + procedure ShareholdersEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareholdersEquityName())); + end; + + procedure ShareholdersEquityName(): Text[100] + begin + exit(ShareholdersEquityTok); + end; + + procedure Capital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalName())); + end; + + procedure CapitalName(): Text[100] + begin + exit(CapitalTok); + end; + + procedure ReservesAndRetainedEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReservesAndRetainedEarningsName())); + end; + + procedure ReservesAndRetainedEarningsName(): Text[100] + begin + exit(ReservesAndRetainedEarningsTok); + end; + + procedure LegalReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalReservesName())); + end; + + procedure LegalReservesName(): Text[100] + begin + exit(LegalReservesTok); + end; + + procedure StatutoryReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutoryReservesName())); + end; + + procedure StatutoryReservesName(): Text[100] + begin + exit(StatutoryReservesTok); + end; + + procedure FreeReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreeReservesName())); + end; + + procedure FreeReservesName(): Text[100] + begin + exit(FreeReservesTok); + end; + + procedure RetEarningsLossCarriedFwd(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetEarningsLossCarriedFwdName())); + end; + + procedure RetEarningsLossCarriedFwdName(): Text[100] + begin + exit(RetEarningsLossCarriedFwdTok); + end; + + procedure RetainedEarningsLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetainedEarningsLossName())); + end; + + procedure RetainedEarningsLossName(): Text[100] + begin + exit(RetainedEarningsLossTok); + end; + + procedure AnnualEarningsLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualEarningsLossName())); + end; + + procedure AnnualEarningsLossName(): Text[100] + begin + exit(AnnualEarningsLossTok); + end; + + procedure EarnedCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EarnedCapitalName())); + end; + + procedure EarnedCapitalName(): Text[100] + begin + exit(EarnedCapitalTok); + end; + + procedure TotalShareholdersEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalShareholdersEquityName())); + end; + + procedure TotalShareholdersEquityName(): Text[100] + begin + exit(TotalShareholdersEquityTok); + end; + + procedure TotalLiabilitiesEndTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiabilitiesEndTotalName())); + end; + + procedure TotalLiabilitiesEndTotalName(): Text[100] + begin + exit(TotalLiabilitiesEndTotalTok); + end; + + procedure GainLossIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainLossIncomeName())); + end; + + procedure GainLossIncomeName(): Text[100] + begin + exit(GainLossIncomeTok); + end; + + procedure OpIncomeShipServ(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OpIncomeShipServName())); + end; + + procedure OpIncomeShipServName(): Text[100] + begin + exit(OpIncomeShipServTok); + end; + + procedure ProdEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProdEarningsName())); + end; + + procedure ProdEarningsName(): Text[100] + begin + exit(ProdEarningsTok); + end; + + procedure ProdEarningsDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProdEarningsDomesticName())); + end; + + procedure ProdEarningsDomesticName(): Text[100] + begin + exit(ProdEarningsDomesticTok); + end; + + procedure ProdEarningsEurope(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProdEarningsEuropeName())); + end; + + procedure ProdEarningsEuropeName(): Text[100] + begin + exit(ProdEarningsEuropeTok); + end; + + procedure ProdEarningsInternat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProdEarningsInternatName())); + end; + + procedure ProdEarningsInternatName(): Text[100] + begin + exit(ProdEarningsInternatTok); + end; + + procedure InvChangeFinishedProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvChangeFinishedProductsName())); + end; + + procedure InvChangeFinishedProductsName(): Text[100] + begin + exit(InvChangeFinishedProductsTok); + end; + + procedure InvChgFinishedProdProv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvChgFinishedProdProvName())); + end; + + procedure InvChgFinishedProdProvName(): Text[100] + begin + exit(InvChgFinishedProdProvTok); + end; + + procedure TradeEarning(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeEarningName())); + end; + + procedure TradeEarningName(): Text[100] + begin + exit(TradeEarningTok); + end; + + procedure TradeDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeDomesticName())); + end; + + procedure TradeDomesticName(): Text[100] + begin + exit(TradeDomesticTok); + end; + + procedure TradeEurope(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeEuropeName())); + end; + + procedure TradeEuropeName(): Text[100] + begin + exit(TradeEuropeTok); + end; + + procedure TradeInternat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeInternatName())); + end; + + procedure TradeInternatName(): Text[100] + begin + exit(TradeInternatTok); + end; + + procedure InvChangeCommGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvChangeCommGoodsName())); + end; + + procedure InvChangeCommGoodsName(): Text[100] + begin + exit(InvChangeCommGoodsTok); + end; + + procedure InvChangeTradeProv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvChangeTradeProvName())); + end; + + procedure InvChangeTradeProvName(): Text[100] + begin + exit(InvChangeTradeProvTok); + end; + + procedure ServiceEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceEarningsName())); + end; + + procedure ServiceEarningsName(): Text[100] + begin + exit(ServiceEarningsTok); + end; + + procedure ServiceEarningsDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceEarningsDomesticName())); + end; + + procedure ServiceEarningsDomesticName(): Text[100] + begin + exit(ServiceEarningsDomesticTok); + end; + + procedure ServiceEarningsEurope(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceEarningsEuropeName())); + end; + + procedure ServiceEarningsEuropeName(): Text[100] + begin + exit(ServiceEarningsEuropeTok); + end; + + procedure ServiceEarningsInternat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceEarningsInternatName())); + end; + + procedure ServiceEarningsInternatName(): Text[100] + begin + exit(ServiceEarningsInternatTok); + end; + + procedure ProjectEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectEarningsName())); + end; + + procedure ProjectEarningsName(): Text[100] + begin + exit(ProjectEarningsTok); + end; + + procedure JobSalesAppliedAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedAccountName())); + end; + + procedure JobSalesAppliedAccountName(): Text[100] + begin + exit(JobSalesAppliedAccountTok); + end; + + procedure ConsultancyEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultancyEarningsName())); + end; + + procedure ConsultancyEarningsName(): Text[100] + begin + exit(ConsultancyEarningsTok); + end; + + procedure InventoryChangeReqWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryChangeReqWorkName())); + end; + + procedure InventoryChangeReqWorkName(): Text[100] + begin + exit(InventoryChangeReqWorkTok); + end; + + procedure OtherEarningsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherEarningsHeadingName())); + end; + + procedure OtherEarningsHeadingName(): Text[100] + begin + exit(OtherEarningsHeadingTok); + end; + + procedure OtherEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherEarningsName())); + end; + + procedure OtherEarningsName(): Text[100] + begin + exit(OtherEarningsTok); + end; + + procedure OwnContributionOwnUse(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OwnContributionOwnUseName())); + end; + + procedure OwnContributionOwnUseName(): Text[100] + begin + exit(OwnContributionOwnUseTok); + end; + + procedure InventoryChanges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryChangesName())); + end; + + procedure InventoryChangesName(): Text[100] + begin + exit(InventoryChangesTok); + end; + + procedure DropInEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DropInEarningsName())); + end; + + procedure DropInEarningsName(): Text[100] + begin + exit(DropInEarningsTok); + end; + + procedure CashDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashDiscountsName())); + end; + + procedure CashDiscountsName(): Text[100] + begin + exit(CashDiscountsTok); + end; + + procedure Discounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountsName())); + end; + + procedure DiscountsName(): Text[100] + begin + exit(DiscountsTok); + end; + + procedure LossFromAccountsRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossFromAccountsRecName())); + end; + + procedure LossFromAccountsRecName(): Text[100] + begin + exit(LossFromAccountsRecTok); + end; + + procedure UnrealizedExchRateAdjmts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnrealizedExchRateAdjmtsName())); + end; + + procedure UnrealizedExchRateAdjmtsName(): Text[100] + begin + exit(UnrealizedExchRateAdjmtsTok); + end; + + procedure RealizedExchangeRateAdjmts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedExchangeRateAdjmtsName())); + end; + + procedure RealizedExchangeRateAdjmtsName(): Text[100] + begin + exit(RealizedExchangeRateAdjmtsTok); + end; + + procedure RoundingDifferencesSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RoundingDifferencesSalesName())); + end; + + procedure RoundingDifferencesSalesName(): Text[100] + begin + exit(RoundingDifferencesSalesTok); + end; + + procedure TotalOpIncomeShipServ(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOpIncomeShipServName())); + end; + + procedure TotalOpIncomeShipServName(): Text[100] + begin + exit(TotalOpIncomeShipServTok); + end; + + procedure CostGoodsMaterialDl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostGoodsMaterialDlName())); + end; + + procedure CostGoodsMaterialDlName(): Text[100] + begin + exit(CostGoodsMaterialDlTok); + end; + + procedure CostOfMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfMaterialsName())); + end; + + procedure CostOfMaterialsName(): Text[100] + begin + exit(CostOfMaterialsTok); + end; + + procedure CostOfMaterialDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfMaterialDomesticName())); + end; + + procedure CostOfMaterialDomesticName(): Text[100] + begin + exit(CostOfMaterialDomesticTok); + end; + + procedure CostOfMaterialsEurope(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfMaterialsEuropeName())); + end; + + procedure CostOfMaterialsEuropeName(): Text[100] + begin + exit(CostOfMaterialsEuropeTok); + end; + + procedure CostOfMaterialsInternat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfMaterialsInternatName())); + end; + + procedure CostOfMaterialsInternatName(): Text[100] + begin + exit(CostOfMaterialsInternatTok); + end; + + procedure VariancePurchMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VariancePurchMaterialsName())); + end; + + procedure VariancePurchMaterialsName(): Text[100] + begin + exit(VariancePurchMaterialsTok); + end; + + procedure Subcontracting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractingName())); + end; + + procedure SubcontractingName(): Text[100] + begin + exit(SubcontractingTok); + end; + + procedure OverheadCostsMatProd(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadCostsMatProdName())); + end; + + procedure OverheadCostsMatProdName(): Text[100] + begin + exit(OverheadCostsMatProdTok); + end; + + procedure CostOfCommercialGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCommercialGoodsName())); + end; + + procedure CostOfCommercialGoodsName(): Text[100] + begin + exit(CostOfCommercialGoodsTok); + end; + + procedure CostOfCommGoodsDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCommGoodsDomesticName())); + end; + + procedure CostOfCommGoodsDomesticName(): Text[100] + begin + exit(CostOfCommGoodsDomesticTok); + end; + + procedure CostOfCommGoodsEurope(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCommGoodsEuropeName())); + end; + + procedure CostOfCommGoodsEuropeName(): Text[100] + begin + exit(CostOfCommGoodsEuropeTok); + end; + + procedure CostOfCommGoodsIntl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfCommGoodsIntlName())); + end; + + procedure CostOfCommGoodsIntlName(): Text[100] + begin + exit(CostOfCommGoodsIntlTok); + end; + + procedure VariancePurchTrade(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VariancePurchTradeName())); + end; + + procedure VariancePurchTradeName(): Text[100] + begin + exit(VariancePurchTradeTok); + end; + + procedure OverheadCostsCommGood(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OverheadCostsCommGoodName())); + end; + + procedure OverheadCostsCommGoodName(): Text[100] + begin + exit(OverheadCostsCommGoodTok); + end; + + procedure CostOfSubcontracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfSubcontractsName())); + end; + + procedure CostOfSubcontractsName(): Text[100] + begin + exit(CostOfSubcontractsTok); + end; + + procedure SubcontrOfSpOperations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontrOfSpOperationsName())); + end; + + procedure SubcontrOfSpOperationsName(): Text[100] + begin + exit(SubcontrOfSpOperationsTok); + end; + + procedure JobCostsWip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsWipName())); + end; + + procedure JobCostsWipName(): Text[100] + begin + exit(JobCostsWipTok); + end; + + procedure OtherCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCostsName())); + end; + + procedure OtherCostsName(): Text[100] + begin + exit(OtherCostsTok); + end; + + procedure EnergyCostsCOGS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EnergyCostsCOGSName())); + end; + + procedure EnergyCostsCOGSName(): Text[100] + begin + exit(EnergyCostsCOGSTok); + end; + + procedure PackagingCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PackagingCostsName())); + end; + + procedure PackagingCostsName(): Text[100] + begin + exit(PackagingCostsTok); + end; + + procedure DirectPurchCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectPurchCostsName())); + end; + + procedure DirectPurchCostsName(): Text[100] + begin + exit(DirectPurchCostsTok); + end; + + procedure InvChangeProductionMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvChangeProductionMatName())); + end; + + procedure InvChangeProductionMatName(): Text[100] + begin + exit(InvChangeProductionMatTok); + end; + + procedure InvChangeCommGoodsCOGS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvChangeCommGoodsCOGSName())); + end; + + procedure InvChangeCommGoodsCOGSName(): Text[100] + begin + exit(InvChangeCommGoodsCOGSTok); + end; + + procedure InvChangeProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvChangeProjectsName())); + end; + + procedure InvChangeProjectsName(): Text[100] + begin + exit(InvChangeProjectsTok); + end; + + procedure MaterialLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialLossName())); + end; + + procedure MaterialLossName(): Text[100] + begin + exit(MaterialLossTok); + end; + + procedure GoodsLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsLossName())); + end; + + procedure GoodsLossName(): Text[100] + begin + exit(GoodsLossTok); + end; + + procedure MaterialVarianceProduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialVarianceProductionName())); + end; + + procedure MaterialVarianceProductionName(): Text[100] + begin + exit(MaterialVarianceProductionTok); + end; + + procedure CapacityVarianceProduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapacityVarianceProductionName())); + end; + + procedure CapacityVarianceProductionName(): Text[100] + begin + exit(CapacityVarianceProductionTok); + end; + + procedure VarianceMatOverheadCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VarianceMatOverheadCostsName())); + end; + + procedure VarianceMatOverheadCostsName(): Text[100] + begin + exit(VarianceMatOverheadCostsTok); + end; + + procedure VarianceCapOverheadCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VarianceCapOverheadCostsName())); + end; + + procedure VarianceCapOverheadCostsName(): Text[100] + begin + exit(VarianceCapOverheadCostsTok); + end; + + procedure VarianceSubcontracting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VarianceSubcontractingName())); + end; + + procedure VarianceSubcontractingName(): Text[100] + begin + exit(VarianceSubcontractingTok); + end; + + procedure CostReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostReductionsName())); + end; + + procedure CostReductionsName(): Text[100] + begin + exit(CostReductionsTok); + end; + + procedure PurchaseDisc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseDiscName())); + end; + + procedure PurchaseDiscName(): Text[100] + begin + exit(PurchaseDiscTok); + end; + + procedure CostReductionDiscount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostReductionDiscountName())); + end; + + procedure CostReductionDiscountName(): Text[100] + begin + exit(CostReductionDiscountTok); + end; + + procedure UnrealExchangeRateAdjmts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnrealExchangeRateAdjmtsName())); + end; + + procedure UnrealExchangeRateAdjmtsName(): Text[100] + begin + exit(UnrealExchangeRateAdjmtsTok); + end; + + procedure RealizedExchangeRateAdjmtsCOGS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedExchangeRateAdjmtsCOGSName())); + end; + + procedure RealizedExchangeRateAdjmtsCOGSName(): Text[100] + begin + exit(RealizedExchangeRateAdjmtsCOGSTok); + end; + + procedure RoundingDifferencesPurchase(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RoundingDifferencesPurchaseName())); + end; + + procedure RoundingDifferencesPurchaseName(): Text[100] + begin + exit(RoundingDifferencesPurchaseTok); + end; + + procedure TotalCostsGoodsMatDl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostsGoodsMatDlName())); + end; + + procedure TotalCostsGoodsMatDlName(): Text[100] + begin + exit(TotalCostsGoodsMatDlTok); + end; + + procedure PersonnelCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelCostsName())); + end; + + procedure PersonnelCostsName(): Text[100] + begin + exit(PersonnelCostsTok); + end; + + procedure WagesProduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesProductionName())); + end; + + procedure WagesProductionName(): Text[100] + begin + exit(WagesProductionTok); + end; + + procedure WagesSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesSalesName())); + end; + + procedure WagesSalesName(): Text[100] + begin + exit(WagesSalesTok); + end; + + procedure WagesManagement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesManagementName())); + end; + + procedure WagesManagementName(): Text[100] + begin + exit(WagesManagementTok); + end; + + procedure AhvIvEoAlv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AhvIvEoAlvName())); + end; + + procedure AhvIvEoAlvName(): Text[100] + begin + exit(AhvIvEoAlvTok); + end; + + procedure PensionPlanning(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionPlanningName())); + end; + + procedure PensionPlanningName(): Text[100] + begin + exit(PensionPlanningTok); + end; + + procedure CasualtyInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CasualtyInsuranceName())); + end; + + procedure CasualtyInsuranceName(): Text[100] + begin + exit(CasualtyInsuranceTok); + end; + + procedure HealthInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthInsuranceName())); + end; + + procedure HealthInsuranceName(): Text[100] + begin + exit(HealthInsuranceTok); + end; + + procedure IncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeTaxName())); + end; + + procedure IncomeTaxName(): Text[100] + begin + exit(IncomeTaxTok); + end; + + procedure TrngAndContinuingEd(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrngAndContinuingEdName())); + end; + + procedure TrngAndContinuingEdName(): Text[100] + begin + exit(TrngAndContinuingEdTok); + end; + + procedure ReimbursementOfExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReimbursementOfExpensesName())); + end; + + procedure ReimbursementOfExpensesName(): Text[100] + begin + exit(ReimbursementOfExpensesTok); + end; + + procedure OtherPersonnelCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPersonnelCostsName())); + end; + + procedure OtherPersonnelCostsName(): Text[100] + begin + exit(OtherPersonnelCostsTok); + end; + + procedure TotalPersonnelCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelCostsName())); + end; + + procedure TotalPersonnelCostsName(): Text[100] + begin + exit(TotalPersonnelCostsTok); + end; + + procedure PremisesCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PremisesCostsName())); + end; + + procedure PremisesCostsName(): Text[100] + begin + exit(PremisesCostsTok); + end; + + procedure Rent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentName())); + end; + + procedure RentName(): Text[100] + begin + exit(RentTok); + end; + + procedure RentalValueForUsedProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalValueForUsedPropertyName())); + end; + + procedure RentalValueForUsedPropertyName(): Text[100] + begin + exit(RentalValueForUsedPropertyTok); + end; + + procedure AddCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AddCostsName())); + end; + + procedure AddCostsName(): Text[100] + begin + exit(AddCostsTok); + end; + + procedure MaintOfBusinessPremises(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintOfBusinessPremisesName())); + end; + + procedure MaintOfBusinessPremisesName(): Text[100] + begin + exit(MaintOfBusinessPremisesTok); + end; + + procedure TotalPremisesCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPremisesCostsName())); + end; + + procedure TotalPremisesCostsName(): Text[100] + begin + exit(TotalPremisesCostsTok); + end; + + procedure MaintRepairs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintRepairsName())); + end; + + procedure MaintRepairsName(): Text[100] + begin + exit(MaintRepairsTok); + end; + + procedure MaintProductionPlants(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintProductionPlantsName())); + end; + + procedure MaintProductionPlantsName(): Text[100] + begin + exit(MaintProductionPlantsTok); + end; + + procedure MaintSalesEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintSalesEquipmentName())); + end; + + procedure MaintSalesEquipmentName(): Text[100] + begin + exit(MaintSalesEquipmentTok); + end; + + procedure MaintStorageFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintStorageFacilitiesName())); + end; + + procedure MaintStorageFacilitiesName(): Text[100] + begin + exit(MaintStorageFacilitiesTok); + end; + + procedure MaintOfficeEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintOfficeEquipmentName())); + end; + + procedure MaintOfficeEquipmentName(): Text[100] + begin + exit(MaintOfficeEquipmentTok); + end; + + procedure LeasingMobileFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeasingMobileFixedAssetsName())); + end; + + procedure LeasingMobileFixedAssetsName(): Text[100] + begin + exit(LeasingMobileFixedAssetsTok); + end; + + procedure TotalMaintRepairs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMaintRepairsName())); + end; + + procedure TotalMaintRepairsName(): Text[100] + begin + exit(TotalMaintRepairsTok); + end; + + procedure VehicleAndTransportCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehicleAndTransportCostsName())); + end; + + procedure VehicleAndTransportCostsName(): Text[100] + begin + exit(VehicleAndTransportCostsTok); + end; + + procedure VehicleMaint(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehicleMaintName())); + end; + + procedure VehicleMaintName(): Text[100] + begin + exit(VehicleMaintTok); + end; + + procedure OpMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OpMaterialsName())); + end; + + procedure OpMaterialsName(): Text[100] + begin + exit(OpMaterialsTok); + end; + + procedure AutoInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AutoInsuranceName())); + end; + + procedure AutoInsuranceName(): Text[100] + begin + exit(AutoInsuranceTok); + end; + + procedure TransportTaxRates(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportTaxRatesName())); + end; + + procedure TransportTaxRatesName(): Text[100] + begin + exit(TransportTaxRatesTok); + end; + + procedure TransportCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportCostsName())); + end; + + procedure TransportCostsName(): Text[100] + begin + exit(TransportCostsTok); + end; + + procedure ShippingChargeCustomer(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShippingChargeCustomerName())); + end; + + procedure ShippingChargeCustomerName(): Text[100] + begin + exit(ShippingChargeCustomerTok); + end; + + procedure TotalVehicleAndTransport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVehicleAndTransportName())); + end; + + procedure TotalVehicleAndTransportName(): Text[100] + begin + exit(TotalVehicleAndTransportTok); + end; + + procedure PropertyInsuranceRates(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyInsuranceRatesName())); + end; + + procedure PropertyInsuranceRatesName(): Text[100] + begin + exit(PropertyInsuranceRatesTok); + end; + + procedure PropertyInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyInsuranceName())); + end; + + procedure PropertyInsuranceName(): Text[100] + begin + exit(PropertyInsuranceTok); + end; + + procedure OperatingLiability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingLiabilityName())); + end; + + procedure OperatingLiabilityName(): Text[100] + begin + exit(OperatingLiabilityTok); + end; + + procedure DowntimeInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DowntimeInsuranceName())); + end; + + procedure DowntimeInsuranceName(): Text[100] + begin + exit(DowntimeInsuranceTok); + end; + + procedure TaxRates(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxRatesName())); + end; + + procedure TaxRatesName(): Text[100] + begin + exit(TaxRatesTok); + end; + + procedure PermitsPatents(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PermitsPatentsName())); + end; + + procedure PermitsPatentsName(): Text[100] + begin + exit(PermitsPatentsTok); + end; + + procedure TotalInsuranceFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsuranceFeesName())); + end; + + procedure TotalInsuranceFeesName(): Text[100] + begin + exit(TotalInsuranceFeesTok); + end; + + procedure EnergyWasteCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EnergyWasteCostsName())); + end; + + procedure EnergyWasteCostsName(): Text[100] + begin + exit(EnergyWasteCostsTok); + end; + + procedure EnergyCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EnergyCostsName())); + end; + + procedure EnergyCostsName(): Text[100] + begin + exit(EnergyCostsTok); + end; + + procedure WasteCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WasteCostsName())); + end; + + procedure WasteCostsName(): Text[100] + begin + exit(WasteCostsTok); + end; + + procedure TotalEnergyWaste(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalEnergyWasteName())); + end; + + procedure TotalEnergyWasteName(): Text[100] + begin + exit(TotalEnergyWasteTok); + end; + + procedure ManagementInformationCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementInformationCostsName())); + end; + + procedure ManagementInformationCostsName(): Text[100] + begin + exit(ManagementInformationCostsTok); + end; + + procedure AdministrativeCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdministrativeCostsName())); + end; + + procedure AdministrativeCostsName(): Text[100] + begin + exit(AdministrativeCostsTok); + end; + + procedure OfficeMatPrintSupplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeMatPrintSuppliesName())); + end; + + procedure OfficeMatPrintSuppliesName(): Text[100] + begin + exit(OfficeMatPrintSuppliesTok); + end; + + procedure TechDoc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TechDocName())); + end; + + procedure TechDocName(): Text[100] + begin + exit(TechDocTok); + end; + + procedure CommunicationTelephone(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommunicationTelephoneName())); + end; + + procedure CommunicationTelephoneName(): Text[100] + begin + exit(CommunicationTelephoneTok); + end; + + procedure Deductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeductionsName())); + end; + + procedure DeductionsName(): Text[100] + begin + exit(DeductionsTok); + end; + + procedure AccountingConsultancy(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountingConsultancyName())); + end; + + procedure AccountingConsultancyName(): Text[100] + begin + exit(AccountingConsultancyTok); + end; + + procedure BoardOfDirectorsGvRevision(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BoardOfDirectorsGvRevisionName())); + end; + + procedure BoardOfDirectorsGvRevisionName(): Text[100] + begin + exit(BoardOfDirectorsGvRevisionTok); + end; + + procedure InformationCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InformationCostsName())); + end; + + procedure InformationCostsName(): Text[100] + begin + exit(InformationCostsTok); + end; + + procedure ItLeasing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItLeasingName())); + end; + + procedure ItLeasingName(): Text[100] + begin + exit(ItLeasingTok); + end; + + procedure ItProgramLicensesMaint(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItProgramLicensesMaintName())); + end; + + procedure ItProgramLicensesMaintName(): Text[100] + begin + exit(ItProgramLicensesMaintTok); + end; + + procedure ItSupplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItSuppliesName())); + end; + + procedure ItSuppliesName(): Text[100] + begin + exit(ItSuppliesTok); + end; + + procedure ConsultingAndDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingAndDevelopmentName())); + end; + + procedure ConsultingAndDevelopmentName(): Text[100] + begin + exit(ConsultingAndDevelopmentTok); + end; + + procedure TotalAdministrationIt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdministrationItName())); + end; + + procedure TotalAdministrationItName(): Text[100] + begin + exit(TotalAdministrationItTok); + end; + + procedure AdvertisingCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisingCostsName())); + end; + + procedure AdvertisingCostsName(): Text[100] + begin + exit(AdvertisingCostsTok); + end; + + procedure AdvertisementsAndMedia(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisementsAndMediaName())); + end; + + procedure AdvertisementsAndMediaName(): Text[100] + begin + exit(AdvertisementsAndMediaTok); + end; + + procedure AdMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdMaterialsName())); + end; + + procedure AdMaterialsName(): Text[100] + begin + exit(AdMaterialsTok); + end; + + procedure Exhibits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExhibitsName())); + end; + + procedure ExhibitsName(): Text[100] + begin + exit(ExhibitsTok); + end; + + procedure TravelCostsCustomerService(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelCostsCustomerServiceName())); + end; + + procedure TravelCostsCustomerServiceName(): Text[100] + begin + exit(TravelCostsCustomerServiceTok); + end; + + procedure AdvertContribSponsoring(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertContribSponsoringName())); + end; + + procedure AdvertContribSponsoringName(): Text[100] + begin + exit(AdvertContribSponsoringTok); + end; + + procedure PublicRelationsPr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PublicRelationsPrName())); + end; + + procedure PublicRelationsPrName(): Text[100] + begin + exit(PublicRelationsPrTok); + end; + + procedure AdConsultancyMarketAnaly(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdConsultancyMarketAnalyName())); + end; + + procedure AdConsultancyMarketAnalyName(): Text[100] + begin + exit(AdConsultancyMarketAnalyTok); + end; + + procedure TotalAdvertisingCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdvertisingCostsName())); + end; + + procedure TotalAdvertisingCostsName(): Text[100] + begin + exit(TotalAdvertisingCostsTok); + end; + + procedure OtherOpExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOpExpensesName())); + end; + + procedure OtherOpExpensesName(): Text[100] + begin + exit(OtherOpExpensesTok); + end; + + procedure EconomicInformation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EconomicInformationName())); + end; + + procedure EconomicInformationName(): Text[100] + begin + exit(EconomicInformationTok); + end; + + procedure OperReliabilityMonitoring(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperReliabilityMonitoringName())); + end; + + procedure OperReliabilityMonitoringName(): Text[100] + begin + exit(OperReliabilityMonitoringTok); + end; + + procedure ResearchAndDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResearchAndDevelopmentName())); + end; + + procedure ResearchAndDevelopmentName(): Text[100] + begin + exit(ResearchAndDevelopmentTok); + end; + + procedure MiscCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscCostsName())); + end; + + procedure MiscCostsName(): Text[100] + begin + exit(MiscCostsTok); + end; + + procedure TotalOtherOperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherOperatingExpensesName())); + end; + + procedure TotalOtherOperatingExpensesName(): Text[100] + begin + exit(TotalOtherOperatingExpensesTok); + end; + + procedure FinancialIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialIncomeName())); + end; + + procedure FinancialIncomeName(): Text[100] + begin + exit(FinancialIncomeTok); + end; + + procedure FinancialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialExpensesName())); + end; + + procedure FinancialExpensesName(): Text[100] + begin + exit(FinancialExpensesTok); + end; + + procedure BankInterestRateCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankInterestRateCostsName())); + end; + + procedure BankInterestRateCostsName(): Text[100] + begin + exit(BankInterestRateCostsTok); + end; + + procedure MortgageIntRateCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MortgageIntRateCostsName())); + end; + + procedure MortgageIntRateCostsName(): Text[100] + begin + exit(MortgageIntRateCostsTok); + end; + + procedure BankAndPcCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankAndPcCostsName())); + end; + + procedure BankAndPcCostsName(): Text[100] + begin + exit(BankAndPcCostsTok); + end; + + procedure FinancialProfit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialProfitName())); + end; + + procedure FinancialProfitName(): Text[100] + begin + exit(FinancialProfitTok); + end; + + procedure InterestReceiptBankPost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestReceiptBankPostName())); + end; + + procedure InterestReceiptBankPostName(): Text[100] + begin + exit(InterestReceiptBankPostTok); + end; + + procedure IntReceivedFinAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntReceivedFinAssetsName())); + end; + + procedure IntReceivedFinAssetsName(): Text[100] + begin + exit(IntReceivedFinAssetsTok); + end; + + procedure FinChargesRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinChargesRecName())); + end; + + procedure FinChargesRecName(): Text[100] + begin + exit(FinChargesRecTok); + end; + + procedure TotalFinIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinIncomeName())); + end; + + procedure TotalFinIncomeName(): Text[100] + begin + exit(TotalFinIncomeTok); + end; + + procedure Depreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationName())); + end; + + procedure DepreciationName(): Text[100] + begin + exit(DepreciationTok); + end; + + procedure DepFinAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepFinAssetsName())); + end; + + procedure DepFinAssetsName(): Text[100] + begin + exit(DepFinAssetsTok); + end; + + procedure DepInvestment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepInvestmentName())); + end; + + procedure DepInvestmentName(): Text[100] + begin + exit(DepInvestmentTok); + end; + + procedure DepMobileFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepMobileFixedAssetsName())); + end; + + procedure DepMobileFixedAssetsName(): Text[100] + begin + exit(DepMobileFixedAssetsTok); + end; + + procedure DepCommercialProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepCommercialPropertyName())); + end; + + procedure DepCommercialPropertyName(): Text[100] + begin + exit(DepCommercialPropertyTok); + end; + + procedure DepIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepIntangibleFixedAssetsName())); + end; + + procedure DepIntangibleFixedAssetsName(): Text[100] + begin + exit(DepIntangibleFixedAssetsTok); + end; + + procedure DepStartUpExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepStartUpExpensesName())); + end; + + procedure DepStartUpExpensesName(): Text[100] + begin + exit(DepStartUpExpensesTok); + end; + + procedure TotalDepreciations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalDepreciationsName())); + end; + + procedure TotalDepreciationsName(): Text[100] + begin + exit(TotalDepreciationsTok); + end; + + procedure TotalOtherOperatingExpensesEndTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherOperatingExpensesEndTotalName())); + end; + + procedure TotalOtherOperatingExpensesEndTotalName(): Text[100] + begin + exit(TotalOtherOperatingExpensesEndTotalTok); + end; + + procedure OtherOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingIncomeName())); + end; + + procedure OtherOperatingIncomeName(): Text[100] + begin + exit(OtherOperatingIncomeTok); + end; + + procedure SubsidiaryIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubsidiaryIncomeName())); + end; + + procedure SubsidiaryIncomeName(): Text[100] + begin + exit(SubsidiaryIncomeTok); + end; + + procedure SubsidiaryExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubsidiaryExpensesName())); + end; + + procedure SubsidiaryExpensesName(): Text[100] + begin + exit(SubsidiaryExpensesTok); + end; + + procedure IncomeFromFinAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromFinAssetsName())); + end; + + procedure IncomeFromFinAssetsName(): Text[100] + begin + exit(IncomeFromFinAssetsTok); + end; + + procedure ExpensesFromFinAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesFromFinAssetsName())); + end; + + procedure ExpensesFromFinAssetsName(): Text[100] + begin + exit(ExpensesFromFinAssetsTok); + end; + + procedure PropertyIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyIncomeName())); + end; + + procedure PropertyIncomeName(): Text[100] + begin + exit(PropertyIncomeTok); + end; + + procedure PropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyExpensesName())); + end; + + procedure PropertyExpensesName(): Text[100] + begin + exit(PropertyExpensesTok); + end; + + procedure GainFromSaleOfFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainFromSaleOfFixedAssetsName())); + end; + + procedure GainFromSaleOfFixedAssetsName(): Text[100] + begin + exit(GainFromSaleOfFixedAssetsTok); + end; + + procedure GainLossFromSaleOfAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainLossFromSaleOfAssetsName())); + end; + + procedure GainLossFromSaleOfAssetsName(): Text[100] + begin + exit(GainLossFromSaleOfAssetsTok); + end; + + procedure TotalOtherOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherOperatingIncomeName())); + end; + + procedure TotalOtherOperatingIncomeName(): Text[100] + begin + exit(TotalOtherOperatingIncomeTok); + end; + + procedure NRNonOperatingTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NRNonOperatingTaxName())); + end; + + procedure NRNonOperatingTaxName(): Text[100] + begin + exit(NRNonOperatingTaxTok); + end; + + procedure NonRegularIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRegularIncomeName())); + end; + + procedure NonRegularIncomeName(): Text[100] + begin + exit(NonRegularIncomeTok); + end; + + procedure NonRegularExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRegularExpensesName())); + end; + + procedure NonRegularExpensesName(): Text[100] + begin + exit(NonRegularExpensesTok); + end; + + procedure NonOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonOperatingIncomeName())); + end; + + procedure NonOperatingIncomeName(): Text[100] + begin + exit(NonOperatingIncomeTok); + end; + + procedure NonOperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonOperatingExpensesName())); + end; + + procedure NonOperatingExpensesName(): Text[100] + begin + exit(NonOperatingExpensesTok); + end; + + procedure GainCapitalTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainCapitalTaxName())); + end; + + procedure GainCapitalTaxName(): Text[100] + begin + exit(GainCapitalTaxTok); + end; + + procedure TotalNRNOTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalNRNOTaxName())); + end; + + procedure TotalNRNOTaxName(): Text[100] + begin + exit(TotalNRNOTaxTok); + end; + + procedure GainLossLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainLossLiabilitiesName())); + end; + + procedure GainLossLiabilitiesName(): Text[100] + begin + exit(GainLossLiabilitiesTok); + end; + + procedure Closing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClosingName())); + end; + + procedure ClosingName(): Text[100] + begin + exit(ClosingTok); + end; + + procedure IncomeStatement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeStatementName())); + end; + + procedure IncomeStatementName(): Text[100] + begin + exit(IncomeStatementTok); + end; + + procedure OpeningBalance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OpeningBalanceName())); + end; + + procedure OpeningBalanceName(): Text[100] + begin + exit(OpeningBalanceTok); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + PostAccTok: Label 'Post Acc.', MaxLength = 100; + BankCreditTok: Label 'Bank Credit', MaxLength = 100; + BankCreditForeignCurrencyTok: Label 'Bank Credit Foreign Currency', MaxLength = 100; + BankCreditEurTok: Label 'Bank Credit EUR', MaxLength = 100; + BankCreditUsdTok: Label 'Bank Credit USD', MaxLength = 100; + BankCreditDkkTok: Label 'Bank Credit DKK', MaxLength = 100; + FixedTermDepInvTok: Label 'Fixed-term Dep. Inv.', MaxLength = 100; + MoneyTransAccountTok: Label 'Money Trans. Account', MaxLength = 100; + TotalLiquidAssetsTok: Label 'Total Liquid Assets', MaxLength = 100; + AcctsReceivableTok: Label 'Accts Receivable', MaxLength = 100; + ArsFromShipAndServicesTok: Label 'ARs from Ship. and Services', MaxLength = 100; + CustomerCreditDomesticTok: Label 'Customer Credit Domestic', MaxLength = 100; + CustomerCreditEuTok: Label 'Customer Credit EU', MaxLength = 100; + CustomerCreditForeignTok: Label 'Customer Credit Foreign', MaxLength = 100; + CustomerCreditIcTok: Label 'Customer Credit IC', MaxLength = 100; + AcctsRecWithShareholdersTok: Label 'Accts Rec. with Shareholders', MaxLength = 100; + OtherStAcctsReceivablesTok: Label 'Other ST Accts Receivables', MaxLength = 100; + StAcctsReceivablesTok: Label 'ST Accts Receivables', MaxLength = 100; + StLoanShareholderTok: Label 'ST Loan Shareholder', MaxLength = 100; + AcctsReceivablesOnGovLocTok: Label 'Accts Receivables on Gov. Loc.', MaxLength = 100; + PurchVatMatDlTok: Label 'Purch. VAT Mat./DL', MaxLength = 100; + PurchVatInvOperatingExpTok: Label 'Purch.VAT Inv./Operating Exp.', MaxLength = 100; + PurchVatOnImports100PercentTok: Label '100% Purch. VAT on Imports', MaxLength = 100; + CreditWithholdingTaxTok: Label 'Credit withholding Tax', MaxLength = 100; + RemainStAcctsReceivablesTok: Label 'Remain. ST Accts Receivables', MaxLength = 100; + WirCreditTok: Label 'WIR Credit', MaxLength = 100; + VendorPrepaymentsVat0PercentTok: Label 'Vendor Prepayments VAT 0%', MaxLength = 100; + VendorPrepaymentsVat80PercentTok: Label 'Vendor Prepayments VAT 8.0%', MaxLength = 100; + TotAcctsReceivablesTok: Label 'Tot. Accts Receivables', MaxLength = 100; + InventoriesWipTok: Label 'Inventories, WIP', MaxLength = 100; + InvCommercialGoodsTok: Label 'Inv. Commercial Goods', MaxLength = 100; + InvCommercialGoodsInterimTok: Label 'Inv. Commercial Goods(Interim)', MaxLength = 100; + WbInvCommercialGoodsTok: Label 'WB Inv. Commercial Goods', MaxLength = 100; + InvRawMaterialsTok: Label 'Inv. Raw Materials', MaxLength = 100; + InvRawMaterialsInterimTok: Label 'Inv. Raw Materials (Interim)', MaxLength = 100; + WbInvRawMaterialsTok: Label 'WB Inv. Raw Materials', MaxLength = 100; + InvFinishedProductsTok: Label 'Inv. Finished Products', MaxLength = 100; + InvFinProductsInterimTok: Label 'Inv. Fin. Products (Interim)', MaxLength = 100; + WbInvFinishProductsTok: Label 'WB Inv. Finish Products', MaxLength = 100; + StartedProjectsTok: Label 'Started Projects', MaxLength = 100; + WbStartedProjectsTok: Label 'WB Started Projects', MaxLength = 100; + StartedProductionOrdersTok: Label 'Started Production Orders', MaxLength = 100; + TotalInventoriesWipTok: Label 'Total Inventories, WIP', MaxLength = 100; + AccruedIncomeTok: Label 'Accrued Income', MaxLength = 100; + PrepaidExpensesTok: Label 'Prepaid Expenses', MaxLength = 100; + EarningsNotYetReceivedTok: Label 'Earnings not yet received', MaxLength = 100; + TotalActiveDeferredItemsTok: Label 'Total Active Deferred Items', MaxLength = 100; + TotalCurrentAssetsTok: Label 'Total Current Assets', MaxLength = 100; + FinancialAssetsTok: Label 'Financial Assets', MaxLength = 100; + SecuritiesTok: Label 'Securities', MaxLength = 100; + FaAccountTok: Label 'FA Account', MaxLength = 100; + InvestmentsTok: Label 'Investments', MaxLength = 100; + LtAcctsReceivablesTok: Label 'LT Accts Receivables', MaxLength = 100; + LoanShareholderTok: Label 'Loan Shareholder', MaxLength = 100; + TotalFinancialAssetsTok: Label 'Total Financial Assets', MaxLength = 100; + MobileFixedAssetsTok: Label 'Mobile Fixed Assets', MaxLength = 100; + MachinesAndEquipmentTok: Label 'Machines and Equipment', MaxLength = 100; + WbMachinesAndEquipmentTok: Label 'WB Machines and Equipment', MaxLength = 100; + BusinessFurnitureTok: Label 'Business Furniture', MaxLength = 100; + WbBusinessFurnitureTok: Label 'WB Business Furniture', MaxLength = 100; + OfficeMachinesTok: Label 'Office Machines', MaxLength = 100; + ItHardwareAndSoftwareTok: Label 'IT Hardware and Software', MaxLength = 100; + WbOfficeMachinesAndItTok: Label 'WB Office Machines and IT', MaxLength = 100; + WbVehiclesTok: Label 'WB Vehicles', MaxLength = 100; + VehiclesEquipmentTok: Label 'Vehicles, Equipment', MaxLength = 100; + WbVehiclesEquipmentTok: Label 'WB Vehicles, Equipment', MaxLength = 100; + TotalMobileFixedAssetsTok: Label 'Total Mobile Fixed Assets', MaxLength = 100; + RealPropertyFaTok: Label 'Real Property FA', MaxLength = 100; + RealEstateTok: Label 'Real Estate', MaxLength = 100; + WbRealEstateTok: Label 'WB Real Estate', MaxLength = 100; + TotalRealPropertyFaTok: Label 'Total Real Property FA', MaxLength = 100; + IntangibleFaTok: Label 'Intangible FA', MaxLength = 100; + PatentsKnowledgeRecipesTok: Label 'Patents, Knowledge, Recipes', MaxLength = 100; + BrandsPrototypesModelsPlansTok: Label 'Brands,Prototypes,Models,Plans', MaxLength = 100; + TotalIntangibleFaTok: Label 'Total Intangible FA', MaxLength = 100; + TotalFixedAssetsTok: Label 'Total Fixed Assets', MaxLength = 100; + ActiveCorrectingEntriesTok: Label 'Active Correcting Entries', MaxLength = 100; + StartUpExpensesTok: Label 'Start-up Expenses', MaxLength = 100; + ExcludedCapitalStockTok: Label 'Excluded Capital Stock', MaxLength = 100; + TotalActCorrectingEntriesTok: Label 'Total Act. Correcting Entries', MaxLength = 100; + NonOperationalAssetsHeadingTok: Label 'Non-operational Assets, Heading', MaxLength = 100; + NonOperationalAssetsTok: Label 'Non-operational Assets', MaxLength = 100; + TotalAssetsTok: Label 'Total Assets', MaxLength = 100; + StLiabShipServTok: Label 'ST Liab. Ship/Serv.', MaxLength = 100; + VendorsDomesticTok: Label 'Vendors Domestic', MaxLength = 100; + VendorsEuTok: Label 'Vendors EU', MaxLength = 100; + VendorsForeignTok: Label 'Vendors Foreign', MaxLength = 100; + VendorsIcTok: Label 'Vendors IC', MaxLength = 100; + CustomerPrepaymentsVat0PercentTok: Label 'Customer Prepayments VAT 0%', MaxLength = 100; + CustomerPrepaymentsVat80PercentTok: Label 'Customer Prepayments VAT 8.0%', MaxLength = 100; + BankOverdraftTok: Label 'Bank Overdraft', MaxLength = 100; + StLoanToShareholdersTok: Label 'ST Loan to Shareholders', MaxLength = 100; + OtherShortTermLiabilitiesTok: Label 'Other Short-term Liabilities', MaxLength = 100; + VatOwedTok: Label 'VAT Owed', MaxLength = 100; + VendorVatTok: Label 'Vendor VAT', MaxLength = 100; + DividendsDueTok: Label 'Dividends Due', MaxLength = 100; + LiabilitiesAccruedExpensesTok: Label 'Liabilities Accrued Expenses', MaxLength = 100; + UnpaidExpensesTok: Label 'Unpaid Expenses', MaxLength = 100; + EarningsReceivedInAdvanceTok: Label 'Earnings received in advance', MaxLength = 100; + WarrantyReserveTok: Label 'Warranty Reserve', MaxLength = 100; + TaxationReserveTok: Label 'Taxation Reserve', MaxLength = 100; + TotalShortTermLiabilitiesTok: Label 'Total Short-term Liabilities', MaxLength = 100; + LongTermLoansTok: Label 'Long-term Loans', MaxLength = 100; + BankLoansTok: Label 'Bank Loans', MaxLength = 100; + MortgageLoansTok: Label 'Mortgage Loans', MaxLength = 100; + LongTermReservesTok: Label 'Long-term Reserves', MaxLength = 100; + LtReserveRepairsTok: Label 'LT Reserve Repairs', MaxLength = 100; + LongTermWarrantyWorkTok: Label 'Long-term Warranty Work', MaxLength = 100; + LtReserveDeferredTaxTok: Label 'LT Reserve Deferred Tax', MaxLength = 100; + TotalLongTermLiabilitiesTok: Label 'Total Long-term Liabilities', MaxLength = 100; + TotalLiabilitiesTok: Label 'Total Liabilities', MaxLength = 100; + ShareholdersEquityTok: Label 'Shareholders Equity', MaxLength = 100; + CapitalTok: Label 'Capital', MaxLength = 100; + ReservesAndRetainedEarningsTok: Label 'Reserves and Retained Earnings', MaxLength = 100; + LegalReservesTok: Label 'Legal Reserves', MaxLength = 100; + StatutoryReservesTok: Label 'Statutory Reserves', MaxLength = 100; + FreeReservesTok: Label 'Free Reserves', MaxLength = 100; + RetEarningsLossCarriedFwdTok: Label 'Ret. Earnings/Loss Carried Fwd', MaxLength = 100; + RetainedEarningsLossTok: Label 'Retained Earnings/Loss', MaxLength = 100; + AnnualEarningsLossTok: Label 'Annual Earnings/Loss', MaxLength = 100; + EarnedCapitalTok: Label 'Earned Capital', MaxLength = 100; + TotalShareholdersEquityTok: Label 'Total Shareholders Equity', MaxLength = 100; + TotalLiabilitiesEndTotalTok: Label 'Total Liabilities, End Total', MaxLength = 100; + GainLossIncomeTok: Label 'Gain/Loss, Income', MaxLength = 100; + OpIncomeShipServTok: Label 'OP. INCOME SHIP/SERV.', MaxLength = 100; + ProdEarningsTok: Label 'Prod. Earnings', MaxLength = 100; + ProdEarningsDomesticTok: Label 'Prod. Earnings Domestic', MaxLength = 100; + ProdEarningsEuropeTok: Label 'Prod. Earnings Europe', MaxLength = 100; + ProdEarningsInternatTok: Label 'Prod. Earnings Internat.', MaxLength = 100; + InvChangeFinishedProductsTok: Label 'Inv. Change Finished Products', MaxLength = 100; + InvChgFinishedProdProvTok: Label 'Inv. Chg Finished Prod.(Prov.)', MaxLength = 100; + TradeEarningTok: Label 'Trade Earning', MaxLength = 100; + TradeDomesticTok: Label 'Trade Domestic', MaxLength = 100; + TradeEuropeTok: Label 'Trade Europe', MaxLength = 100; + TradeInternatTok: Label 'Trade Internat.', MaxLength = 100; + InvChangeCommGoodsTok: Label 'Inv. Change Comm. Goods', MaxLength = 100; + InvChangeTradeProvTok: Label 'Inv. Change Trade (Prov.)', MaxLength = 100; + ServiceEarningsTok: Label 'Service Earnings', MaxLength = 100; + ServiceEarningsDomesticTok: Label 'Service Earnings Domestic', MaxLength = 100; + ServiceEarningsEuropeTok: Label 'Service Earnings Europe', MaxLength = 100; + ServiceEarningsInternatTok: Label 'Service Earnings Internat.', MaxLength = 100; + ProjectEarningsTok: Label 'Project Earnings', MaxLength = 100; + JobSalesAppliedAccountTok: Label 'Job Sales Applied Account', MaxLength = 100; + ConsultancyEarningsTok: Label 'Consultancy Earnings', MaxLength = 100; + InventoryChangeReqWorkTok: Label 'Inventory Change Req. Work', MaxLength = 100; + OtherEarningsHeadingTok: Label 'Other Earnings, Heading', MaxLength = 100; + OtherEarningsTok: Label 'Other Earnings', MaxLength = 100; + OwnContributionOwnUseTok: Label 'Own Contribution, Own Use', MaxLength = 100; + InventoryChangesTok: Label 'Inventory Changes', MaxLength = 100; + DropInEarningsTok: Label 'Drop in Earnings', MaxLength = 100; + CashDiscountsTok: Label 'Cash Discounts', MaxLength = 100; + DiscountsTok: Label 'Discounts', MaxLength = 100; + LossFromAccountsRecTok: Label 'Loss from Accounts Rec.', MaxLength = 100; + UnrealizedExchRateAdjmtsTok: Label 'Unrealized Exch. Rate Adjmts.', MaxLength = 100; + RealizedExchangeRateAdjmtsTok: Label 'Realized Exchange Rate Adjmts.', MaxLength = 100; + RoundingDifferencesSalesTok: Label 'Rounding Differences Sales', MaxLength = 100; + TotalOpIncomeShipServTok: Label 'Total Op. Income Ship/Serv.', MaxLength = 100; + CostGoodsMaterialDlTok: Label 'COST GOODS, MATERIAL, DL.', MaxLength = 100; + CostOfMaterialsTok: Label 'Cost of Materials', MaxLength = 100; + CostOfMaterialDomesticTok: Label 'Cost of Material Domestic', MaxLength = 100; + CostOfMaterialsEuropeTok: Label 'Cost of Materials Europe', MaxLength = 100; + CostOfMaterialsInternatTok: Label 'Cost of Materials Internat.', MaxLength = 100; + VariancePurchMaterialsTok: Label 'Variance Purch. Materials', MaxLength = 100; + SubcontractingTok: Label 'Subcontracting', MaxLength = 100; + OverheadCostsMatProdTok: Label 'Overhead Costs Mat./Prod.', MaxLength = 100; + CostOfCommercialGoodsTok: Label 'Cost of Commercial Goods', MaxLength = 100; + CostOfCommGoodsDomesticTok: Label 'Cost of Comm. Goods Domestic', MaxLength = 100; + CostOfCommGoodsEuropeTok: Label 'Cost of Comm. Goods Europe', MaxLength = 100; + CostOfCommGoodsIntlTok: Label 'Cost of Comm. Goods Intl.', MaxLength = 100; + VariancePurchTradeTok: Label 'Variance Purch. Trade', MaxLength = 100; + OverheadCostsCommGoodTok: Label 'Overhead Costs Comm. Good', MaxLength = 100; + CostOfSubcontractsTok: Label 'Cost of Subcontracts', MaxLength = 100; + SubcontrOfSpOperationsTok: Label 'Subcontr. of SP Operations', MaxLength = 100; + JobCostsWipTok: Label 'Job Costs WIP', MaxLength = 100; + OtherCostsTok: Label 'Other Costs', MaxLength = 100; + EnergyCostsCOGSTok: Label 'Energy Costs, COGS', MaxLength = 100; + PackagingCostsTok: Label 'Packaging Costs', MaxLength = 100; + DirectPurchCostsTok: Label 'Direct Purch. Costs', MaxLength = 100; + InvChangeProductionMatTok: Label 'Inv. Change Production Mat.', MaxLength = 100; + InvChangeCommGoodsCOGSTok: Label 'Inv. Change Comm. Goods, COGS', MaxLength = 100; + InvChangeProjectsTok: Label 'Inv. Change Projects', MaxLength = 100; + MaterialLossTok: Label 'Material Loss', MaxLength = 100; + GoodsLossTok: Label 'Goods Loss', MaxLength = 100; + MaterialVarianceProductionTok: Label 'Material Variance Production', MaxLength = 100; + CapacityVarianceProductionTok: Label 'Capacity Variance Production', MaxLength = 100; + VarianceMatOverheadCostsTok: Label 'Variance Mat. Overhead Costs', MaxLength = 100; + VarianceCapOverheadCostsTok: Label 'Variance Cap. Overhead Costs', MaxLength = 100; + VarianceSubcontractingTok: Label 'Variance Subcontracting', MaxLength = 100; + CostReductionsTok: Label 'Cost Reductions', MaxLength = 100; + PurchaseDiscTok: Label 'Purchase Disc.', MaxLength = 100; + CostReductionDiscountTok: Label 'Cost Reduction, Discount', MaxLength = 100; + UnrealExchangeRateAdjmtsTok: Label 'Unreal. Exchange Rate Adjmts.', MaxLength = 100; + RealizedExchangeRateAdjmtsCOGSTok: Label 'Realized Exchange Rate Adjmts., COGS', MaxLength = 100; + RoundingDifferencesPurchaseTok: Label 'Rounding Differences Purchase', MaxLength = 100; + TotalCostsGoodsMatDlTok: Label 'Total Costs Goods, Mat, Dl.', MaxLength = 100; + PersonnelCostsTok: Label 'PERSONNEL COSTS', MaxLength = 100; + WagesProductionTok: Label 'Wages Production', MaxLength = 100; + WagesSalesTok: Label 'Wages Sales', MaxLength = 100; + WagesManagementTok: Label 'Wages Management', MaxLength = 100; + AhvIvEoAlvTok: Label 'AHV, IV, EO, ALV', MaxLength = 100; + PensionPlanningTok: Label 'Pension Planning', MaxLength = 100; + CasualtyInsuranceTok: Label 'Casualty Insurance', MaxLength = 100; + HealthInsuranceTok: Label 'Health Insurance', MaxLength = 100; + IncomeTaxTok: Label 'Income tax', MaxLength = 100; + TrngAndContinuingEdTok: Label 'Trng and Continuing Ed.', MaxLength = 100; + ReimbursementOfExpensesTok: Label 'Reimbursement of Expenses', MaxLength = 100; + OtherPersonnelCostsTok: Label 'Other Personnel Costs', MaxLength = 100; + TotalPersonnelCostsTok: Label 'Total Personnel Costs', MaxLength = 100; + PremisesCostsTok: Label 'Premises Costs', MaxLength = 100; + RentTok: Label 'Rent', MaxLength = 100; + RentalValueForUsedPropertyTok: Label 'Rental Value for Used Property', MaxLength = 100; + AddCostsTok: Label 'Add. Costs', MaxLength = 100; + MaintOfBusinessPremisesTok: Label 'Maint. of Business Premises', MaxLength = 100; + TotalPremisesCostsTok: Label 'Total Premises Costs', MaxLength = 100; + MaintRepairsTok: Label 'Maint., Repairs', MaxLength = 100; + MaintProductionPlantsTok: Label 'Maint. Production Plants', MaxLength = 100; + MaintSalesEquipmentTok: Label 'Maint. Sales Equipment', MaxLength = 100; + MaintStorageFacilitiesTok: Label 'Maint. Storage Facilities', MaxLength = 100; + MaintOfficeEquipmentTok: Label 'Maint. Office Equipment', MaxLength = 100; + LeasingMobileFixedAssetsTok: Label 'Leasing Mobile Fixed Assets', MaxLength = 100; + TotalMaintRepairsTok: Label 'Total Maint., Repairs', MaxLength = 100; + VehicleAndTransportCostsTok: Label 'Vehicle and Transport Costs', MaxLength = 100; + VehicleMaintTok: Label 'Vehicle Maint.', MaxLength = 100; + OpMaterialsTok: Label 'Op. Materials', MaxLength = 100; + AutoInsuranceTok: Label 'Auto Insurance', MaxLength = 100; + TransportTaxRatesTok: Label 'Transport Tax, Rates', MaxLength = 100; + TransportCostsTok: Label 'Transport Costs', MaxLength = 100; + ShippingChargeCustomerTok: Label 'Shipping Charge Customer', MaxLength = 100; + TotalVehicleAndTransportTok: Label 'Total Vehicle and Transport', MaxLength = 100; + PropertyInsuranceRatesTok: Label 'Property Insurance, Rates', MaxLength = 100; + PropertyInsuranceTok: Label 'Property Insurance', MaxLength = 100; + OperatingLiabilityTok: Label 'Operating Liability', MaxLength = 100; + DowntimeInsuranceTok: Label 'Downtime Insurance.', MaxLength = 100; + TaxRatesTok: Label 'Tax, Rates', MaxLength = 100; + PermitsPatentsTok: Label 'Permits, Patents', MaxLength = 100; + TotalInsuranceFeesTok: Label 'Total Insurance, Fees', MaxLength = 100; + EnergyWasteCostsTok: Label 'Energy, Waste Costs', MaxLength = 100; + EnergyCostsTok: Label 'Energy Costs', MaxLength = 100; + WasteCostsTok: Label 'Waste Costs', MaxLength = 100; + TotalEnergyWasteTok: Label 'Total Energy, Waste', MaxLength = 100; + ManagementInformationCostsTok: Label 'Management, Information Costs', MaxLength = 100; + AdministrativeCostsTok: Label 'Administrative Costs', MaxLength = 100; + OfficeMatPrintSuppliesTok: Label 'Office Mat., Print Supplies', MaxLength = 100; + TechDocTok: Label 'Tech. Doc.', MaxLength = 100; + CommunicationTelephoneTok: Label 'Communication, Telephone', MaxLength = 100; + DeductionsTok: Label 'Deductions', MaxLength = 100; + AccountingConsultancyTok: Label 'Accounting, Consultancy', MaxLength = 100; + BoardOfDirectorsGvRevisionTok: Label 'Board of Directors,GV,Revision', MaxLength = 100; + InformationCostsTok: Label 'Information Costs', MaxLength = 100; + ItLeasingTok: Label 'IT Leasing', MaxLength = 100; + ItProgramLicensesMaintTok: Label 'IT Program Licenses, Maint.', MaxLength = 100; + ItSuppliesTok: Label 'IT Supplies', MaxLength = 100; + ConsultingAndDevelopmentTok: Label 'Consulting and Development', MaxLength = 100; + TotalAdministrationItTok: Label 'Total Administration, IT', MaxLength = 100; + AdvertisingCostsTok: Label 'Advertising Costs', MaxLength = 100; + AdvertisementsAndMediaTok: Label 'Advertisements and Media', MaxLength = 100; + AdMaterialsTok: Label 'Ad. Materials', MaxLength = 100; + ExhibitsTok: Label 'Exhibits', MaxLength = 100; + TravelCostsCustomerServiceTok: Label 'Travel Costs, Customer Service', MaxLength = 100; + AdvertContribSponsoringTok: Label 'Advert. Contrib., Sponsoring', MaxLength = 100; + PublicRelationsPrTok: Label 'Public Relations / PR', MaxLength = 100; + AdConsultancyMarketAnalyTok: Label 'Ad. Consultancy, Market Analy.', MaxLength = 100; + TotalAdvertisingCostsTok: Label 'Total Advertising Costs', MaxLength = 100; + OtherOpExpensesTok: Label 'Other Op. Expenses', MaxLength = 100; + EconomicInformationTok: Label 'Economic Information', MaxLength = 100; + OperReliabilityMonitoringTok: Label 'Oper. Reliability, Monitoring', MaxLength = 100; + ResearchAndDevelopmentTok: Label 'Research and Development', MaxLength = 100; + MiscCostsTok: Label 'Misc. Costs', MaxLength = 100; + TotalOtherOperatingExpensesTok: Label 'Total Other Operating Expenses', MaxLength = 100; + FinancialIncomeTok: Label 'Financial Income', MaxLength = 100; + FinancialExpensesTok: Label 'Financial Expenses', MaxLength = 100; + BankInterestRateCostsTok: Label 'Bank Interest Rate Costs', MaxLength = 100; + MortgageIntRateCostsTok: Label 'Mortgage Int. Rate Costs', MaxLength = 100; + BankAndPcCostsTok: Label 'Bank and PC Costs', MaxLength = 100; + FinancialProfitTok: Label 'Financial Profit', MaxLength = 100; + InterestReceiptBankPostTok: Label 'Interest Receipt Bank/Post', MaxLength = 100; + IntReceivedFinAssetsTok: Label 'Int. Received Fin. Assets', MaxLength = 100; + FinChargesRecTok: Label 'Fin. Charges Rec.', MaxLength = 100; + TotalFinIncomeTok: Label 'Total Fin. Income', MaxLength = 100; + DepreciationTok: Label 'Depreciation', MaxLength = 100; + DepFinAssetsTok: Label 'Dep. Fin. Assets', MaxLength = 100; + DepInvestmentTok: Label 'Dep. Investment', MaxLength = 100; + DepMobileFixedAssetsTok: Label 'Dep. Mobile Fixed Assets', MaxLength = 100; + DepCommercialPropertyTok: Label 'Dep. Commercial Property', MaxLength = 100; + DepIntangibleFixedAssetsTok: Label 'Dep. Intangible Fixed Assets', MaxLength = 100; + DepStartUpExpensesTok: Label 'Dep. Start-up Expenses', MaxLength = 100; + TotalDepreciationsTok: Label 'Total Depreciations', MaxLength = 100; + TotalOtherOperatingExpensesEndTotalTok: Label 'Total Other Operating Expenses, End Total', MaxLength = 100; + OtherOperatingIncomeTok: Label 'OTHER OPERATING INCOME', MaxLength = 100; + SubsidiaryIncomeTok: Label 'Subsidiary Income', MaxLength = 100; + SubsidiaryExpensesTok: Label 'Subsidiary Expenses', MaxLength = 100; + IncomeFromFinAssetsTok: Label 'Income from Fin. Assets', MaxLength = 100; + ExpensesFromFinAssetsTok: Label 'Expenses from Fin. Assets', MaxLength = 100; + PropertyIncomeTok: Label 'Property Income', MaxLength = 100; + PropertyExpensesTok: Label 'Property Expenses', MaxLength = 100; + GainFromSaleOfFixedAssetsTok: Label 'Gain from Sale of Fixed Assets', MaxLength = 100; + GainLossFromSaleOfAssetsTok: Label 'Gain/Loss from Sale of Assets', MaxLength = 100; + TotalOtherOperatingIncomeTok: Label 'Total Other Operating Income', MaxLength = 100; + NRNonOperatingTaxTok: Label 'N.R.., NON-OPERATING, TAX', MaxLength = 100; + NonRegularIncomeTok: Label 'Non-regular Income', MaxLength = 100; + NonRegularExpensesTok: Label 'Non-regular Expenses', MaxLength = 100; + NonOperatingIncomeTok: Label 'Non-operating Income', MaxLength = 100; + NonOperatingExpensesTok: Label 'Non-operating Expenses', MaxLength = 100; + GainCapitalTaxTok: Label 'Gain/Capital Tax', MaxLength = 100; + TotalNRNOTaxTok: Label 'Total N.R. N.O., Tax', MaxLength = 100; + GainLossLiabilitiesTok: Label 'Gain/Loss', MaxLength = 100; + ClosingTok: Label 'CLOSING', MaxLength = 100; + IncomeStatementTok: Label 'Income Statement', MaxLength = 100; + OpeningBalanceTok: Label 'Opening Balance', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHGeneralLedgerSetup.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..60882c8e91 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 11621 "Create CH General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.CHF()); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Validate("Local Currency Symbol", ''); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrecySwissLbl); + GeneralLedgerSetup.Validate("Adjust for Payment Disc.", false); + GeneralLedgerSetup.Validate("Prepayment Unrealized VAT", false); + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrecySwissLbl: Label 'Swiss franc', MaxLength = 60; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHPostingGroups.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHPostingGroups.Codeunit.al new file mode 100644 index 0000000000..6109d42fd6 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHPostingGroups.Codeunit.al @@ -0,0 +1,88 @@ +codeunit 11602 "Create CH Posting Groups" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + InsertGenProdPostingGroup(); + UpdateGenPostingSetup(); + end; + + local procedure InsertGenProdPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(ManufactPostingGroup(), CapacitiesLbl, ''); + ContosoPostingGroup.InsertGenProductPostingGroup(NoVATPostingGroup(), MiscDescriptionLbl, ''); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure UpdateVATProdPostingGroup(Code: Code[20]; VATProductPostingGroup: Code[20]) + var + GenProductPostingGroup: Record "Gen. Product Posting Group"; + begin + if not GenProductPostingGroup.Get(Code) then + exit; + + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", VATProductPostingGroup); + GenProductPostingGroup.Modify(true); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroup.RetailPostingGroup(), '', '', CreateCHGLAccounts.InvChangeCommGoods(), '', '', '', '', '', '', '', CreateCHGLAccounts.InvChangeCommGoods(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroup.ServicesPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateCHGLAccounts.TradeDomestic(), CreateCHGLAccounts.CostOfCommGoodsDomestic(), CreateCHGLAccounts.InvChangeCommGoods(), CreateCHGLAccounts.InvChangeCommGoods(), '', '', CreateCHGLAccounts.TradeDomestic(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.CostOfCommGoodsDomestic(), CreateCHGLAccounts.CostReductionDiscount(), CreateCHGLAccounts.InvChangeCommGoods(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateCHGLAccounts.ServiceEarningsDomestic(), CreateCHGLAccounts.SubcontrOfSpOperations(), CreateCHGLAccounts.InvChangeFinishedProducts(), '', '', '', CreateCHGLAccounts.ServiceEarningsDomestic(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.SubcontrOfSpOperations(), CreateCHGLAccounts.CostReductionDiscount(), CreateCHGLAccounts.InvChangeFinishedProducts(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateCHGLAccounts.TradeEurope(), CreateCHGLAccounts.CostOfCommGoodsEurope(), CreateCHGLAccounts.InvChangeCommGoods(), CreateCHGLAccounts.InvChangeCommGoods(), '', '', CreateCHGLAccounts.TradeEurope(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.CostOfCommGoodsEurope(), CreateCHGLAccounts.CostReductionDiscount(), CreateCHGLAccounts.InvChangeCommGoods(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateCHGLAccounts.ProdEarningsEurope(), CreateCHGLAccounts.CostOfMaterialsEurope(), CreateCHGLAccounts.InvChangeFinishedProducts(), '', '', '', CreateCHGLAccounts.ProdEarningsEurope(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.CostOfMaterialsEurope(), CreateCHGLAccounts.CostReductionDiscount(), CreateCHGLAccounts.InvChangeFinishedProducts(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateCHGLAccounts.TradeInternat(), CreateCHGLAccounts.CostOfCommGoodsIntl(), CreateCHGLAccounts.InvChangeCommGoods(), CreateCHGLAccounts.InvChangeCommGoods(), '', '', CreateCHGLAccounts.TradeInternat(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.CostOfCommGoodsIntl(), CreateCHGLAccounts.CostReductionDiscount(), CreateCHGLAccounts.InvChangeCommGoods(), '', ''); + ContosoGenPostingSetup.SetOverwriteData(false); + + UpdateGeneralPostingSetup('', CreatePostingGroup.RetailPostingGroup(), '', '', CreateCHGLAccounts.VendorPrepaymentsVat0Percent(), CreateCHGLAccounts.CustomerPrepaymentsVat0Percent()); + UpdateGeneralPostingSetup('', CreatePostingGroup.ServicesPostingGroup(), '', '', CreateCHGLAccounts.VendorPrepaymentsVat0Percent(), CreateCHGLAccounts.CustomerPrepaymentsVat0Percent()); + UpdateGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateCHGLAccounts.TradeDomestic(), CreateCHGLAccounts.CostOfCommGoodsDomestic(), CreateCHGLAccounts.VendorPrepaymentsVat80Percent(), CreateCHGLAccounts.CustomerPrepaymentsVat80Percent()); + UpdateGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateCHGLAccounts.ServiceEarningsDomestic(), CreateCHGLAccounts.SubcontrOfSpOperations(), CreateCHGLAccounts.VendorPrepaymentsVat80Percent(), CreateCHGLAccounts.CustomerPrepaymentsVat80Percent()); + UpdateGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateCHGLAccounts.TradeEurope(), CreateCHGLAccounts.CostOfCommGoodsEurope(), CreateCHGLAccounts.VendorPrepaymentsVat0Percent(), CreateCHGLAccounts.CustomerPrepaymentsVat0Percent()); + UpdateGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateCHGLAccounts.ProdEarningsEurope(), CreateCHGLAccounts.CostOfMaterialsEurope(), CreateCHGLAccounts.VendorPrepaymentsVat0Percent(), CreateCHGLAccounts.CustomerPrepaymentsVat0Percent()); + UpdateGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateCHGLAccounts.TradeInternat(), CreateCHGLAccounts.CostOfCommGoodsIntl(), CreateCHGLAccounts.VendorPrepaymentsVat0Percent(), CreateCHGLAccounts.CustomerPrepaymentsVat0Percent()); + end; + + local procedure UpdateGeneralPostingSetup(GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; SalesCreditMemoAccount: Code[20]; PurchCreditMemoAccount: Code[20]; SalesPrepaymentsAccount: Code[20]; PurchPrepaymentsAccount: Code[20]) + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + if not GeneralPostingSetup.Get(GenBusPostingGroup, GenProdPostingGroup) then + exit; + + GeneralPostingSetup.Validate("Sales Credit Memo Account", SalesCreditMemoAccount); + GeneralPostingSetup.Validate("Purch. Credit Memo Account", PurchCreditMemoAccount); + GeneralPostingSetup.Validate("Sales Prepayments Account", SalesPrepaymentsAccount); + GeneralPostingSetup.Validate("Purch. Prepayments Account", PurchPrepaymentsAccount); + GeneralPostingSetup.Modify(true); + end; + + procedure NoVATPostingGroup(): Code[20] + begin + exit(NoVATTok); + end; + + procedure ManufactPostingGroup(): Code[20] + begin + exit(ManufactTok); + end; + + var + CapacitiesLbl: Label 'Capacities', MaxLength = 100; + MiscDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + NoVATTok: Label 'NO VAT', MaxLength = 20; + ManufactTok: Label 'MANUFACT', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATCipher.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATCipher.Codeunit.al new file mode 100644 index 0000000000..c2051aa421 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATCipher.Codeunit.al @@ -0,0 +1,85 @@ +codeunit 11625 "Create CH VAT Cipher" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateVATCipherCode(); + CreateVATCipherSetup(); + end; + + local procedure CreateVATCipherCode() + var + ContosoCHVATCipher: Codeunit "Contoso CH VAT Cipher"; + begin + ContosoCHVATCipher.InsertVATCipherCode('200', TotalAmountOfAgreedOrCollectedConsiderationLbl); + ContosoCHVATCipher.InsertVATCipherCode('205', RevenueOfNonTaxableServicesLbl); + ContosoCHVATCipher.InsertVATCipherCode('220', DeductionOfTaxExemptServicesLbl); + ContosoCHVATCipher.InsertVATCipherCode('221', DeductionOfServicesAbroadLbl); + ContosoCHVATCipher.InsertVATCipherCode('225', DeductionOfTransferLbl); + ContosoCHVATCipher.InsertVATCipherCode('230', DeductionOfNonTaxableServicesLbl); + ContosoCHVATCipher.InsertVATCipherCode('235', ReductionInPaymentsLbl); + ContosoCHVATCipher.InsertVATCipherCode('280', MiscellaneousTaxationLbl); + ContosoCHVATCipher.InsertVATCipherCode('289', TotalDeductionsLbl); + ContosoCHVATCipher.InsertVATCipherCode('299', TotalTaxableTurnoverLbl); + ContosoCHVATCipher.InsertVATCipherCode('302', TaxServicesAtNormalRateBeforePeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('303', TaxServicesAtNormalRateFromPeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('312', TaxServicesAtReducedRateBeforePeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('313', TaxServicesAtReducedRateFromPeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('342', TaxServicesAtHotelRateBeforePeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('343', TaxServicesAtHotelRateFromPeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('382', AcquisitionTaxBeforePeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('383', AcquisitionTaxFromPeriodLbl); + ContosoCHVATCipher.InsertVATCipherCode('399', TotalOwnedTaxLbl); + ContosoCHVATCipher.InsertVATCipherCode('400', InputTaxOnCostOfMaterialsAndServicesLbl); + ContosoCHVATCipher.InsertVATCipherCode('405', InputTaxOnInvestmentsLbl); + ContosoCHVATCipher.InsertVATCipherCode('410', DeTaxationLbl); + ContosoCHVATCipher.InsertVATCipherCode('415', CorrectionOfTheInputTaxDeductionLbl); + ContosoCHVATCipher.InsertVATCipherCode('420', ReductionOfTheInputTaxDeductionLbl); + ContosoCHVATCipher.InsertVATCipherCode('479', TotalAmountOfTaxDueLbl); + ContosoCHVATCipher.InsertVATCipherCode('500', AmountToBePaidLbl); + ContosoCHVATCipher.InsertVATCipherCode('510', CreditInFavourOfTheTaxablePersonLbl); + ContosoCHVATCipher.InsertVATCipherCode('900', CashFlowTaxesSubsidiesFundsLbl); + ContosoCHVATCipher.InsertVATCipherCode('910', CashFlowCompensationsDonationsDividendsLbl); + end; + + local procedure CreateVATCipherSetup() + var + ContosoCHVATCipher: Codeunit "Contoso CH VAT Cipher"; + begin + ContosoCHVATCipher.InsertVATCipherSetup('200', '205', '220', '221', '225', '230', '235', '280', '289', '299', '302', '303', '312', '313', '342', '343', '382', '383', '399', '400', '405', '410', '415', '420', '479', '500', '510', '900', '910'); + end; + + var + TotalAmountOfAgreedOrCollectedConsiderationLbl: Label 'Total amount of agreed or collected consideration', MaxLength = 50; + RevenueOfNonTaxableServicesLbl: Label 'Revenue of non-taxable services', MaxLength = 50; + DeductionOfTaxExemptServicesLbl: Label 'Deduction of tax-exempt services', MaxLength = 50; + DeductionOfServicesAbroadLbl: Label 'Deduction of services abroad', MaxLength = 50; + DeductionOfTransferLbl: Label 'Deduction of transfer', MaxLength = 50; + DeductionOfNonTaxableServicesLbl: Label 'Deduction of non-taxable services', MaxLength = 50; + ReductionInPaymentsLbl: Label 'Reduction in payments', MaxLength = 50; + MiscellaneousTaxationLbl: Label 'Miscellaneous taxation', MaxLength = 50; + TotalDeductionsLbl: Label 'Total deductions', MaxLength = 50; + TotalTaxableTurnoverLbl: Label 'Total taxable turnover', MaxLength = 50; + TaxServicesAtNormalRateBeforePeriodLbl: Label 'Tax services at normal rate before period', MaxLength = 50; + TaxServicesAtNormalRateFromPeriodLbl: Label 'Tax services at normal rate from period', MaxLength = 50; + TaxServicesAtReducedRateBeforePeriodLbl: Label 'Tax services at reduced rate before period', MaxLength = 50; + TaxServicesAtReducedRateFromPeriodLbl: Label 'Tax services at reduced rate from period', MaxLength = 50; + TaxServicesAtHotelRateBeforePeriodLbl: Label 'Tax services at hotel rate before period', MaxLength = 50; + TaxServicesAtHotelRateFromPeriodLbl: Label 'Tax services at hotel rate from period', MaxLength = 50; + AcquisitionTaxBeforePeriodLbl: Label 'Acquisition tax before period', MaxLength = 50; + AcquisitionTaxFromPeriodLbl: Label 'Acquisition tax from period', MaxLength = 50; + TotalOwnedTaxLbl: Label 'Total owned tax', MaxLength = 50; + InputTaxOnCostOfMaterialsAndServicesLbl: Label 'Input tax on cost of materials and services', MaxLength = 50; + InputTaxOnInvestmentsLbl: Label 'Input tax on investments', MaxLength = 50; + DeTaxationLbl: Label 'De-taxation', MaxLength = 50; + CorrectionOfTheInputTaxDeductionLbl: Label 'Correction of the input tax deduction', MaxLength = 50; + ReductionOfTheInputTaxDeductionLbl: Label 'Reduction of the input tax deduction', MaxLength = 50; + TotalAmountOfTaxDueLbl: Label 'Total amount of tax due', MaxLength = 50; + AmountToBePaidLbl: Label 'Amount to be paid', MaxLength = 50; + CreditInFavourOfTheTaxablePersonLbl: Label 'Credit in favour of the taxable person', MaxLength = 50; + CashFlowTaxesSubsidiesFundsLbl: Label 'Cash flow taxes: subsidies, funds', MaxLength = 50; + CashFlowCompensationsDonationsDividendsLbl: Label 'Cash flow compensations: donations, dividends', MaxLength = 50; + +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATPostingGroups.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATPostingGroups.Codeunit.al new file mode 100644 index 0000000000..51f6ec96eb --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATPostingGroups.Codeunit.al @@ -0,0 +1,286 @@ +codeunit 11616 "Create CH VAT Posting Groups" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateVATProductPostingGroup(); + CreateVATPostingSetup(); + end; + + local procedure CreateVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoPostingSetup.InsertVATPostingSetup('', NOVAT(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Normal(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', OperatingExpense(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatInvOperatingExp(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Reduced(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), HalfNormal(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatInvOperatingExp(), 'D', 3.66089, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Hotel(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'C', 3.6, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Import(), '', CreateCHGLAccounts.PurchVatOnImports100Percent(), 'H', 100, Enum::"Tax Calculation Type"::"Full VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), NOVAT(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Normal(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'A', 8, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), OperatingExpense(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatInvOperatingExp(), 'A', 8, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Reduced(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'B', 2.4, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), Hotel(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), NOVAT(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), Normal(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), OperatingExpense(), '', CreateCHGLAccounts.PurchVatInvOperatingExp(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), Reduced(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), NOVAT(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), Normal(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), OperatingExpense(), '', CreateCHGLAccounts.PurchVatInvOperatingExp(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), Reduced(), CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), 'Z', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + UpdateAdjustforPaymentDiscountOnVATPostingSetup(); + end; + + procedure CreateVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateCHPostingGroups: Codeunit "Create CH Posting Groups"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(HalfNormal(), HalfStandardRateLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Hotel(), HotelsLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Import(), ImportFullTaxLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(NoVAT(), TaxExemptLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Normal(), NormalVATRateLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(OperatingExpense(), VATOperatingExpensesLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Reduced(), ReducedRateLbl); + + CreateCHPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroup.RawMatPostingGroup(), Normal()); + CreateCHPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroup.RetailPostingGroup(), Normal()); + CreateCHPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroup.MiscPostingGroup(), Normal()); + CreateCHPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroup.ServicesPostingGroup(), Normal()); + CreateCHPostingGroups.UpdateVATProdPostingGroup(CreateCHPostingGroups.NoVATPostingGroup(), NOVAT()); + + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.PurchVatOnImports100Percent(), Import()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.VendorPrepaymentsVat0Percent(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.VendorPrepaymentsVat80Percent(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.MachinesAndEquipment(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.BusinessFurniture(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.OfficeMachines(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ItHardwareAndSoftware(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateGLAccount.Vehicles(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.VehiclesEquipment(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.PatentsKnowledgeRecipes(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.BrandsPrototypesModelsPlans(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CustomerPrepaymentsVat0Percent(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CustomerPrepaymentsVat80Percent(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ProdEarningsDomestic(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ProdEarningsEurope(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ProdEarningsInternat(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TradeDomestic(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TradeEurope(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TradeInternat(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ServiceEarningsDomestic(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ServiceEarningsEurope(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ServiceEarningsInternat(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ProjectEarnings(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.JobSalesAppliedAccount(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ConsultancyEarnings(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CashDiscounts(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.Discounts(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.RoundingDifferencesSales(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CostOfMaterialDomestic(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CostOfMaterialsEurope(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CostOfMaterialsInternat(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CostOfCommGoodsDomestic(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CostOfCommGoodsEurope(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CostOfCommGoodsIntl(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.SubcontrOfSpOperations(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateGLAccount.JobCosts(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.JobCostsWip(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.EnergyCostsCOGS(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.PackagingCosts(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.DirectPurchCosts(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.PurchaseDisc(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CostReductionDiscount(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.RoundingDifferencesPurchase(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.MaintProductionPlants(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.MaintSalesEquipment(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.MaintStorageFacilities(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.MaintOfficeEquipment(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.LeasingMobileFixedAssets(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.VehicleMaint(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.OpMaterials(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.AutoInsurance(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TransportTaxRates(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TransportCosts(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ShippingChargeCustomer(), Normal()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.PropertyInsurance(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.OperatingLiability(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.DowntimeInsurance(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TaxRates(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.PermitsPatents(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.EnergyCosts(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.WasteCosts(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.AdministrativeCosts(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.OfficeMatPrintSupplies(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TechDoc(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.CommunicationTelephone(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateGLAccount.Postage(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.Deductions(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.AccountingConsultancy(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.BoardOfDirectorsGvRevision(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.InformationCosts(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ItLeasing(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ItProgramLicensesMaint(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ItSupplies(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ConsultingAndDevelopment(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.AdvertisementsAndMedia(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.AdMaterials(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.Exhibits(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.TravelCostsCustomerService(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.AdvertContribSponsoring(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.PublicRelationsPr(), NOVAT()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.AdConsultancyMarketAnaly(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.EconomicInformation(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.OperReliabilityMonitoring(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.ResearchAndDevelopment(), OperatingExpense()); + UpdateVATProductPostingGroupOnGLAccount(CreateCHGLAccounts.MiscCosts(), OperatingExpense()); + + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.ProdEarningsEurope(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.ProdEarningsInternat(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.TradeEurope(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.TradeInternat(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.ServiceEarningsEurope(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.ServiceEarningsInternat(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.CostofMaterialsEurope(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.CostofMaterialsInternat(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.CostofCommGoodsEurope(), CreateVATPostingGroups.Export()); + UpdateVATBusPostingGroupOnGLAccount(CreateCHGLAccounts.CostOfCommGoodsIntl(), CreateVATPostingGroups.Export()); + end; + + local procedure UpdateVATProductPostingGroupOnGLAccount(GLAccountNo: Code[20]; VATProductPostingGroup: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + if not GLAccount.Get(GLAccountNo) then + exit; + + GLAccount.Validate("VAT Prod. Posting Group", VATProductPostingGroup); + GLAccount.Modify(true); + end; + + local procedure UpdateVATBusPostingGroupOnGLAccount(GLAccountNo: Code[20]; VATBusPostingGroup: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + if not GLAccount.Get(GLAccountNo) then + exit; + + GLAccount.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + GLAccount.Modify(true); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATPostingSetup(var Rec: Record "VAT Posting Setup") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + UpdateAdjustforPaymentDiscountOnGeneralLedgerSetup(); + + case Rec."VAT Bus. Posting Group" of + CreateVATPostingGroups.Domestic(), + CreateVATPostingGroups.EU(), + CreateVATPostingGroups.Export(), + '': + begin + Rec.Validate("Adjust for Payment Discount", false); + Rec.Validate(Description, ''); + end; + end; + end; + + local procedure UpdateAdjustforPaymentDiscountOnGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + VATPostingSetup: Record "VAT Posting Setup"; + begin + GeneralLedgerSetup.Get(); + + if not GeneralLedgerSetup."Adjust for Payment Disc." then + exit; + + if VATPostingSetup.Get('', '') then begin + VATPostingSetup.Validate("Adjust for Payment Discount", false); + VATPostingSetup.Modify(true); + + GeneralLedgerSetup.Validate("Adjust for Payment Disc.", false); + GeneralLedgerSetup.Modify(true); + end; + end; + + local procedure UpdateAdjustforPaymentDiscountOnVATPostingSetup() + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + if VATPostingSetup.FindSet() then + repeat + VATPostingSetup."Adjust for Payment Discount" := true; + VATPostingSetup.Modify(true); + until VATPostingSetup.Next() = 0; + end; + + procedure NOVAT(): Code[20] + begin + exit(NoVATTok); + end; + + procedure HalfNormal(): Code[20] + begin + exit(HalfNormalTok); + end; + + procedure Hotel(): Code[20] + begin + exit(HotelTok); + end; + + procedure Import(): Code[20] + begin + exit(ImportTok); + end; + + procedure Normal(): Code[20] + begin + exit(NormalTok); + end; + + procedure OperatingExpense(): Code[20] + begin + exit(OperatingExpenseTok); + end; + + procedure Reduced(): Code[20] + begin + exit(ReducedTok); + end; + + + var + NoVATTok: Label 'NO VAT', MaxLength = 20, Locked = true; + HalfNormalTok: Label 'HALF NORM', MaxLength = 20, Locked = true; + HotelTok: Label 'HOTEL', MaxLength = 20, Locked = true; + ImportTok: Label 'IMPORT', MaxLength = 20, Locked = true; + NormalTok: Label 'NORMAL', MaxLength = 20, Locked = true; + OperatingExpenseTok: Label 'OPEXP', MaxLength = 20, Locked = true; + ReducedTok: Label 'RED', MaxLength = 20, Locked = true; + HalfStandardRateLbl: Label 'Half Standard Rate', MaxLength = 100; + NormalVATRateLbl: Label 'Normal VAT Rate, 8.0%', MaxLength = 100; + HotelsLbl: Label 'Hotels, 3.6%', MaxLength = 100; + ImportFullTaxLbl: Label 'Import, Full Tax 100%', MaxLength = 100; + VATOperatingExpensesLbl: Label 'Purch. VAT Operating Expenses 8.0%', MaxLength = 100; + ReducedRateLbl: Label 'Reduced Rate, 2.4%', MaxLength = 100; + TaxExemptLbl: Label 'Tax Exempt', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATSetupPostGrp.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATSetupPostGrp.Codeunit.al new file mode 100644 index 0000000000..92de401dcc --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/1.Setup Data/CreateCHVATSetupPostGrp.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11623 "Create CH VAT Setup Post. Grp." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreateCHVatPostingGroups: Codeunit "Create CH VAT Posting Groups"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + begin + ContosoVATStatement.InsertVatSetupPostingGrp(CreateCHVatPostingGroups.HalfNormal(), true, 3.66089, CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatInvOperatingExp(), true, 1, ''); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateCHVatPostingGroups.Hotel(), true, 3.6, CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), true, 1, ''); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateCHVatPostingGroups.Import(), true, 100, ' ', CreateCHGLAccounts.PurchVatOnImports100Percent(), true, 1, ''); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateCHVatPostingGroups.NOVAT(), true, 0, CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), true, 1, ''); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateCHVatPostingGroups.Normal(), true, 8, CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), true, 1, ''); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateCHVatPostingGroups.OperatingExpense(), true, 8, CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatInvOperatingExp(), true, 1, ''); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateCHVatPostingGroups.Reduced(), true, 2.4, CreateCHGLAccounts.VatOwed(), CreateCHGLAccounts.PurchVatMatDl(), true, 1, ''); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHColumnLayout.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHColumnLayout.Codeunit.al new file mode 100644 index 0000000000..08c133cd91 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHColumnLayout.Codeunit.al @@ -0,0 +1,299 @@ +codeunit 11589 "Create CH Column Layout" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCHColumnLayoutName: Codeunit "Create CH Column Layout Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 10000, '1', BeginningBalanceLbl, Enum::"Column Layout Type"::"Beginning Balance", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 20000, '2', DebitsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 30000, '3', CreditsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 40000, '4', EndingBalanceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '1+2-3', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[2]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[3]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[4]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 50000, '5', MayLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[5]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[6]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[7]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[8]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[9]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[10]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[11]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.BalanceSheetTrend(), 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[12]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 20000, '2', PriorMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 20000, '2', SameMonthPriorYearBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[1]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[2]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[3]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[4]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 50000, '5', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[5]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[6]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[7]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[8]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[9]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[10]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[11]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[12]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget(), 130000, '13', TotalLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::"Budget Entries", '1..12', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 20000, '2', SameMonthPriorYearNetChanLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 40000, '4', '', Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 50000, '5', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 60000, '6', SameMonthPriorYearNetChanLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '5-6', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 10000, '1', CurrentMonthActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 20000, '2', CurrentMonthBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 40000, '4', '', Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 50000, '5', YeartoDateActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 60000, '6', YeartoDateBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '5-6', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 80000, '8', '', Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 90000, '9', TotalBudgetPlannedLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 100000, '10', TotalBudgetRemainingLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::"Budget Entries", '9-5', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 10000, 'A', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 20000, 'A', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[2]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 30000, 'A', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[3]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 40000, 'A', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[4]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 50000, 'A', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[5]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 60000, 'A', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[6]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 70000, 'A', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[7]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 80000, 'A', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[8]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 90000, 'A', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[9]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 100000, 'A', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[10]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 110000, 'A', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[11]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 120000, 'A', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[12]', false); + ContosoAccountSchedule.InsertColumnLayout(CreateCHColumnLayoutName.IncomeStatementTrend(), 130000, '', TotalLbl, Enum::"Column Layout Type"::"Formula", Enum::"Column Layout Entry Type"::Entries, 'A', false, Enum::"Column Layout Show"::Always, '', false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Column Layout", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Column Layout") + var + CreateCHColumnLayoutName: Codeunit "Create CH Column Layout Name"; + begin + if Rec."Column Layout Name" = CreateCHColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, BeginningBalanceLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, DebitsLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Debit Amount"); + 30000: + ValidateRecordFields(Rec, CreditsLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Credit Amount"); + end; + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.BalanceSheetTrend() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, JanuaryLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, FebruaryLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 30000: + ValidateRecordFields(Rec, MarchLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 40000: + ValidateRecordFields(Rec, AprilLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 50000: + ValidateRecordFields(Rec, MayLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 60000: + ValidateRecordFields(Rec, JuneLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 70000: + ValidateRecordFields(Rec, JulyLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 80000: + ValidateRecordFields(Rec, AugustLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 90000: + ValidateRecordFields(Rec, SeptemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 100000: + ValidateRecordFields(Rec, OctoberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 110000: + ValidateRecordFields(Rec, NovemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 120000: + ValidateRecordFields(Rec, DecemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if (Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthBalance()) and (Rec."Line No." = 10000) then + ValidateRecordFields(Rec, CurrentMonthBalanceLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthBalancePriorMonthBalance() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CurrentMonthBalanceLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, PriorMonthBalanceLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CurrentMonthBalanceLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, SameMonthPriorYearBalanceLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if (Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthNetChange()) and (Rec."Line No." = 10000) then + ValidateRecordFields(Rec, CurrentMonthNetChangeLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + + if (Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthsNetChangeBudget()) then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, JanuaryLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, FebruaryLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 30000: + ValidateRecordFields(Rec, MarchLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 40000: + ValidateRecordFields(Rec, AprilLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 50000: + ValidateRecordFields(Rec, MayLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 60000: + ValidateRecordFields(Rec, JuneLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 70000: + ValidateRecordFields(Rec, JulyLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 80000: + ValidateRecordFields(Rec, AugustLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 90000: + ValidateRecordFields(Rec, SeptemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 100000: + ValidateRecordFields(Rec, OctoberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 110000: + ValidateRecordFields(Rec, NovemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 120000: + ValidateRecordFields(Rec, DecemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CurrentMonthNetChangeLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, PriorMonthNetChangeLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CurrentMonthNetChangeLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, SameMonthPriorYearNetChanLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CurrentMonthNetChangeLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, PriorMonthNetChangeLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 50000: + ValidateRecordFields(Rec, CurrentMonthNetChangeLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 60000: + ValidateRecordFields(Rec, SameMonthPriorYearNetChanLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CurrentMonthActualLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, CurrentMonthBudgetLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 50000: + ValidateRecordFields(Rec, YeartoDateActualLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 60000: + ValidateRecordFields(Rec, YeartoDateBudgetLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 90000: + ValidateRecordFields(Rec, TotalBudgetPlannedLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + + if Rec."Column Layout Name" = CreateCHColumnLayoutName.IncomeStatementTrend() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, JanuaryLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 20000: + ValidateRecordFields(Rec, FebruaryLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 30000: + ValidateRecordFields(Rec, MarchLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 40000: + ValidateRecordFields(Rec, AprilLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 50000: + ValidateRecordFields(Rec, MayLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 60000: + ValidateRecordFields(Rec, JuneLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 70000: + ValidateRecordFields(Rec, JulyLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 80000: + ValidateRecordFields(Rec, AugustLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 90000: + ValidateRecordFields(Rec, SeptemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 100000: + ValidateRecordFields(Rec, OctoberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 110000: + ValidateRecordFields(Rec, NovemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + 120000: + ValidateRecordFields(Rec, DecemberLbl, '', Enum::"Analysis Rounding Factor"::None, 1033, Enum::"Account Schedule Amount Type"::"Net Amount"); + end; + end; + + local procedure ValidateRecordFields(var ColumnLayout: Record "Column Layout"; ColumnHeader: Text[30]; ComparisonDateFormula: Text[10]; RoundingFactor: Enum "Analysis Rounding Factor"; ComparisonPeriodFormulaLCID: Integer; AmountType: Enum "Account Schedule Amount Type") + begin + ColumnLayout.Validate("Column Header", ColumnHeader); + Evaluate(ColumnLayout."Comparison Date Formula", ComparisonDateFormula); + ColumnLayout.Validate("Comparison Date Formula"); + ColumnLayout.Validate("Amount Type", AmountType); + ColumnLayout.Validate("Rounding Factor", RoundingFactor); + ColumnLayout.Validate("Comparison Period Formula LCID", ComparisonPeriodFormulaLCID); + end; + + var + BeginningBalanceLbl: Label 'Beginning Balance', MaxLength = 30; + DebitsLbl: Label 'Debits', MaxLength = 30; + CreditsLbl: Label 'Credits', MaxLength = 30; + EndingBalanceLbl: Label 'Ending Balance', MaxLength = 30; + CurrentMonthBalanceLbl: Label 'Current Month Balance', MaxLength = 30; + PriorMonthBalanceLbl: Label 'Prior Month Balance', MaxLength = 30; + SameMonthPriorYearBalanceLbl: Label 'Same Month Prior Year Balance', MaxLength = 30; + CurrentMonthNetChangeLbl: Label 'Current Month Net Change', MaxLength = 30; + SameMonthPriorYearNetChanLbl: Label 'Same Month Prior Year Net Chan', MaxLength = 30; + PriorMonthNetChangeLbl: Label 'Prior Month Net Change', MaxLength = 30; + DifferenceLbl: Label 'Difference', MaxLength = 30; + CurrentMonthActualLbl: Label 'Current Month Actual', MaxLength = 30; + CurrentMonthBudgetLbl: Label 'Current Month Budget', MaxLength = 30; + YeartoDateActualLbl: Label 'Year to Date Actual', MaxLength = 30; + YeartoDateBudgetLbl: Label 'Year to Date Budget', MaxLength = 30; + TotalBudgetPlannedLbl: Label 'Total Budget Planned', MaxLength = 30; + TotalBudgetRemainingLbl: Label 'Total Budget Remaining', MaxLength = 30; + JanuaryLbl: Label 'January', MaxLength = 30; + FebruaryLbl: Label 'February', MaxLength = 30; + MarchLbl: Label 'March', MaxLength = 30; + AprilLbl: Label 'April', MaxLength = 30; + MayLbl: Label 'May', MaxLength = 30; + JuneLbl: Label 'June', MaxLength = 30; + JulyLbl: Label 'July', MaxLength = 30; + AugustLbl: Label 'August', MaxLength = 30; + SeptemberLbl: Label 'September', MaxLength = 30; + OctoberLbl: Label 'October', MaxLength = 30; + NovemberLbl: Label 'November', MaxLength = 30; + DecemberLbl: Label 'December', MaxLength = 30; + TotalLbl: Label 'Total', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHCurrencyExRate.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHCurrencyExRate.Codeunit.al new file mode 100644 index 0000000000..2ed92aae33 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHCurrencyExRate.Codeunit.al @@ -0,0 +1,196 @@ +codeunit 11630 "Create CH Currency Ex. Rate" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + date: Date; + begin + date := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 196.9537, 196.9537); + date := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 189.1657, 189.1657); + date := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 183.9897, 183.9897); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 43.0082, 43.0082); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 63.1075, 63.1075); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 58.1584, 58.1584); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 72.3074, 72.3074); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 45.114, 45.114); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 79.4657, 79.4657); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 4.8975, 4.8975); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 21.49, 21.49); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.0639, 2.0639); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.1882, 1.1882); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 55.4549, 55.4549); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 16.1239, 16.1239); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 21.7412, 21.7412); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.6761, 0.6761); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0178, 0.0178); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.6497, 2.6497); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.8309, 1.8309); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.0681, 1.0681); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.9919, 1.9919); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.1491, 15.1491); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 13.2658, 13.2658); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 33.2278, 33.2278); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0684, 0.0684); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.2512, 1.2512); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.879, 18.879); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 53.4112, 53.4112); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.4649, 2.4649); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 30.5416, 30.5416); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0483, 0.0483); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.8811, 1.8811); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 4.3238, 4.3238); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 33.634, 33.634); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 23.3489, 23.3489); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.2085, 18.2085); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 72.7673, 72.7673); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 17.3583, 17.3583); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.8324, 2.8324); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 115.934, 115.934); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.6278, 0.6278); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 98.1392, 98.1392); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0913, 0.0913); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 119.377, 119.377); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.8832, 0.8832); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 440.7298, 440.7298); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.344, 1.344); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 14.7013, 14.7013); + + date := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 160.3197, 160.3197); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.707, 18.707); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 120.8855, 120.8855); + + date := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 160.2037, 160.2037); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 19.2765, 19.2765); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 124.7688, 124.7688); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHFinancialReport.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHFinancialReport.Codeunit.al new file mode 100644 index 0000000000..935088378d --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHFinancialReport.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 11601 "Create CH Financial Report" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCHColumnLayoutName: Codeunit "Create CH Column Layout Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + CreateCHAccScheduleName: Codeunit "Create CH Acc. Schedule Name"; + begin + ContosoAccountSchedule.InsertFinancialReport(BalanceSheetDetailed(), BalanceSheetDetailedLbl, CreateCHAccScheduleName.BalanceSheetDetailed(), CreateCHColumnLayoutName.BalanceSheetTrend()); + ContosoAccountSchedule.InsertFinancialReport(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, CreateCHAccScheduleName.BalanceSheetSummarized(), CreateCHColumnLayoutName.BalanceSheetTrend()); + ContosoAccountSchedule.InsertFinancialReport(IncomeStatementDetailed(), IncomeStatementDetailedLbl, CreateCHAccScheduleName.IncomeStatementDetailed(), CreateCHColumnLayoutName.IncomeStatementTrend()); + ContosoAccountSchedule.InsertFinancialReport(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, CreateCHAccScheduleName.IncomeStatementSummarized(), CreateCHColumnLayoutName.IncomeStatementTrend()); + ContosoAccountSchedule.InsertFinancialReport(TrialBalance(), TrialBalanceLbl, CreateCHAccScheduleName.TrialBalance(), CreateCHColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance()); + end; + + procedure BalanceSheetDetailed(): Code[10] + begin + exit(BalanceSheetDetailedTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetailed(): Code[10] + begin + exit(IncomeStatementDetailedTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummarizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + BalanceSheetDetailedTok: Label 'BS DET', MaxLength = 10; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10; + IncomeStatementDetailedTok: Label 'IS DET', MaxLength = 10; + IncomeStatementSummarizedTok: Label 'IS SUM', MaxLength = 10; + TrialBalanceTok: Label 'TB', MaxLength = 10; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHResource.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHResource.Codeunit.al new file mode 100644 index 0000000000..5f22066ab6 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHResource.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 11613 "Create CH Resource" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateCHVatPostingGroups: Codeunit "Create CH VAT Posting Groups"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, BernLbl, 92, 101.2, 45, 184, '3000', '', CreateCHVatPostingGroups.Normal()); + CreateResource.Lina(): + ValidateRecordFields(Rec, BallwilLbl, 110, 121, 45.24887, 221, '6275', '', CreateCHVatPostingGroups.Normal()); + CreateResource.Marty(): + ValidateRecordFields(Rec, BernLbl, 83, 91.3, 45, 166, '3000', '', CreateCHVatPostingGroups.Normal()); + CreateResource.Terry(): + ValidateRecordFields(Rec, BernLbl, 92, 101.2, 45, 184, '3000', '', CreateCHVatPostingGroups.Normal()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercent: Decimal; UnitPrice: Decimal; PostCode: Code[20]; County: Text[30]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Profit %", ProfitPercent); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Post Code", PostCode); + Resource.Validate(County, County); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + BernLbl: Label 'Bern', MaxLength = 30; + BallwilLbl: Label 'Ballwil', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHVATRegNoFormat.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHVATRegNoFormat.Codeunit.al new file mode 100644 index 0000000000..07a9cca9c0 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHVATRegNoFormat.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11617 "Create CH VAT Reg. No. Format" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCountryRegion: Codeunit "Create Country/Region"; + ContosoCountryOrRegion: Codeunit "Contoso Country Or Region"; + begin + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 40000, CZFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 50000, CZFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 60000, CZFormat2Lbl); + end; + + var + CZFormatLbl: Label '########', MaxLength = 20, Locked = true; + CZFormat1Lbl: Label '#########', MaxLength = 20, Locked = true; + CZFormat2Lbl: Label '##########', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHVATStatement.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHVATStatement.Codeunit.al new file mode 100644 index 0000000000..c94dc69a6c --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Finance/2.Master Data/CreateCHVATStatement.Codeunit.al @@ -0,0 +1,179 @@ +codeunit 11622 "Create CH VAT Statement" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Template", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATStatementTemplate(var Rec: Record "VAT Statement Template") + var + CreateVATStatement: Codeunit "Create VAT Statement"; + begin + case Rec.Name of + CreateVATStatement.VATTemplateName(): + Rec.Validate("VAT Statement Report ID", Report::"Swiss VAT Statement"); + end; + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATStatementLine(var Rec: Record "VAT Statement Line") + var + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateCHVATPostingGroups: Codeunit "Create CH VAT Posting Groups"; + begin + if (Rec."Statement Template Name" = CreateVATStatement.VATTemplateName()) and (Rec."Statement Name" = StatementNameLbl) then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '0010', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, RevenueLbl); + 20000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 30000: + ValidateRecordFields(Rec, '0020', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SalesLbl); + 40000: + ValidateRecordFields(Rec, '0022', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Base", 1, true, 0, NormalVATRateLbl); + 50000: + ValidateRecordFields(Rec, '0026', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 1, true, 0, ReducedVATRateLbl); + 60000: + ValidateRecordFields(Rec, '0032', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Base", 1, false, 0, ExportAtNormallVATRateLbl); + 70000: + ValidateRecordFields(Rec, '0036', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 1, false, 0, ExportAtRedlVATRateLbl); + 80000: + ValidateRecordFields(Rec, '0040', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0030..0039', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ExportRevenueLbl); + 90000: + ValidateRecordFields(Rec, '0048', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0020..0039', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalRevenueLbl); + 100000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 110000: + ValidateRecordFields(Rec, '0060', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, DeductionsLbl); + 120000: + ValidateRecordFields(Rec, '0062', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, true, 0, ExportAtNormallVATRateLbl); + 130000: + ValidateRecordFields(Rec, '0064', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, true, 0, ExportAtRedlVATRateLbl); + 140000: + ValidateRecordFields(Rec, '0098', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0060..0097', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalDeductionsLbl); + 150000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 160000: + ValidateRecordFields(Rec, '0099', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0048|0098', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TAXABLEREVENUELbl); + 170000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 180000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 190000: + ValidateRecordFields(Rec, '0100', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VATSTATEMENTLbl); + 200000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 210000: + ValidateRecordFields(Rec, '0124', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, NormalVATRateLbl); + 220000: + ValidateRecordFields(Rec, '0126', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, ReducedVATRateLbl); + 230000: + ValidateRecordFields(Rec, '0199', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0101..0198', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TOTALVATLbl); + 240000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 250000: + ValidateRecordFields(Rec, '0200', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, AccountablePurchaseVATLbl); + 260000: + ValidateRecordFields(Rec, '0222', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, NormalVATRateLbl); + 270000: + ValidateRecordFields(Rec, '0224', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, ReducedVATRateLbl); + 280000: + ValidateRecordFields(Rec, '0262', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, ImportNormalVATRateLbl); + 290000: + ValidateRecordFields(Rec, '0264', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, ImportRedVATRateLbl); + 300000: + ValidateRecordFields(Rec, '0280', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Import(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, FullImportTaxToShippingAgentLbl); + 310000: + ValidateRecordFields(Rec, '0299', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0200..0298', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalPurchaseVATMatServicesLbl); + 320000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 330000: + ValidateRecordFields(Rec, '0300', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.OperatingExpense(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, InvestmentAndBusinessExpensesLbl); + 340000: + ValidateRecordFields(Rec, '0310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.HalfNormal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, BusinessExpensesWithPurchVATLbl); + 350000: + ValidateRecordFields(Rec, '0320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.Hotel(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, true, 0, BusinessExpHotelLbl); + 360000: + ValidateRecordFields(Rec, '0399', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0300..0398', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalPurchaseVATBusinessExpenseLbl); + 370000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 380000: + ValidateRecordFields(Rec, '0400', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0299|0399', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalPurchVATLbl); + 390000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 400000: + ValidateRecordFields(Rec, '0500', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0199|0400', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, AmountPayableLbl); + 410000: + ValidateRecordFields(Rec, '1230', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, ValueOfEUExportsLbl); + 420000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1230..1238', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOflVATExports16Lbl); + 430000: + ValidateRecordFields(Rec, '1240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Hotel(), '', Enum::"VAT Statement Line Amount Type"::"Base", 1, false, 1, ValueOfEUExportsLbl); + 440000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1240..1248', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOflVATExports7Lbl); + 450000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + 460000: + ValidateRecordFields(Rec, '1310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Normal(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, CountryExportOverseasLbl); + 470000: + ValidateRecordFields(Rec, '1312', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateCHVATPostingGroups.Hotel(), '', Enum::"VAT Statement Line Amount Type"::"Base", 1, false, 0, CountryExportOverseasLbl); + 480000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1310..1318', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, CountryExportOverseasLbl); + 490000: + ValidateRecordFields(Rec, '1320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateCHVATPostingGroups.NOVAT(), '', Enum::"VAT Statement Line Amount Type"::"Base", 1, false, 0, TaxFreeSalesDomesticLbl); + 500000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1320..1328', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TaxFreeSalesDomesticLbl); + + end; + end; + + + local procedure ValidateRecordFields(var VATStatementLine: Record "VAT Statement Line"; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; GenPostingType: Enum "General Posting Type"; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]) + begin + VatStatementLine.Validate("Row No.", StatementRowNo); + VatStatementLine.Validate(Description, StatementDesc); + VatStatementLine.Validate(Type, StatementLineType); + VatStatementLine.Validate("Gen. Posting Type", GenPostingType); + VatStatementLine.Validate("VAT Bus. Posting Group", VatBusPostingGrp); + VatStatementLine.Validate("VAT Prod. Posting Group", VAtProdPostingGrp); + VatStatementLine.Validate("Row Totaling", RowTotaling); + VatStatementLine.Validate("Amount Type", AmountType); + VatStatementLine.Validate("Calculate with", CalulationWith); + VatStatementLine.Validate(Print, StatementPrint); + VatStatementLine.Validate("Print with", PrintWith); + end; + + var + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + RevenueLbl: Label 'I. REVENUE', MaxLength = 100; + SalesLbl: Label '1. Sales', MaxLength = 100; + NormalVATRateLbl: Label 'Normal VAT rate', MaxLength = 100; + ReducedVATRateLbl: Label 'Reduced VAT rate', MaxLength = 100; + ExportAtNormallVATRateLbl: Label 'Export at normal VAT rate', MaxLength = 100; + ExportAtRedlVATRateLbl: Label 'Export at red. VAT rate', MaxLength = 100; + ExportRevenueLbl: Label 'Export Revenue', MaxLength = 100; + TotalRevenueLbl: Label '3. Total Revenue', MaxLength = 100; + DeductionsLbl: Label '4. Deductions', MaxLength = 100; + TotalDeductionsLbl: Label '5. Total Deductions', MaxLength = 100; + TAXABLEREVENUELbl: Label '6. TAXABLE REVENUE', MaxLength = 100; + VATSTATEMENTLbl: Label 'II. VAT STATEMENT', MaxLength = 100; + TOTALVATLbl: Label '10. TOTAL VAT', MaxLength = 100; + AccountablePurchaseVATLbl: Label '11. Accountable purchase VAT', MaxLength = 100; + ImportNormalVATRateLbl: Label 'Import normal VAT rate', MaxLength = 100; + ImportRedVATRateLbl: Label 'Import red. VAT rate', MaxLength = 100; + FullImportTaxToShippingAgentLbl: Label 'Full import Tax (to shipping agent)', MaxLength = 100; + TotalPurchaseVATMatServicesLbl: Label '11a Total purchase VAT mat. & services', MaxLength = 100; + InvestmentAndBusinessExpensesLbl: Label 'Investment and business expenses', MaxLength = 100; + BusinessExpensesWithPurchVATLbl: Label 'Business expenses with1/2 purch. VAT', MaxLength = 100; + BusinessExpHotelLbl: Label 'Business exp. Hotel', MaxLength = 100; + TotalPurchaseVATBusinessExpenseLbl: Label '11b Total purch. VAT business expenses', MaxLength = 100; + TotalPurchVATLbl: Label '12. Total purch. VAT', MaxLength = 100; + AmountPayableLbl: Label '15. Amount Payable', MaxLength = 100; + ValueOflVATExports16Lbl: Label 'Value of EU exports 16%', MaxLength = 100; + ValueOfEUExportsLbl: Label 'Value of EU exports', MaxLength = 100; + ValueOflVATExports7Lbl: Label 'Value of EU exports 7%', MaxLength = 100; + CountryExportOverseasLbl: Label '3rd Country Export, overseas', MaxLength = 100; + TaxFreeSalesDomesticLbl: Label 'Tax-Free sales, domestic', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Fixed Asset/1.Setup Data/CreateCHFADepreciationBook.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Fixed Asset/1.Setup Data/CreateCHFADepreciationBook.Codeunit.al new file mode 100644 index 0000000000..71bb8f37f6 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Fixed Asset/1.Setup Data/CreateCHFADepreciationBook.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11597 "Create CH FA Depreciation Book" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, true); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; MarkErrorsAsCorrections: Boolean) + begin + DepreciationBook.Validate("Mark Errors as Corrections", MarkErrorsAsCorrections); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Fixed Asset/1.Setup Data/CreateCHFAPostingGrp.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Fixed Asset/1.Setup Data/CreateCHFAPostingGrp.Codeunit.al new file mode 100644 index 0000000000..7b566dcc9e --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Fixed Asset/1.Setup Data/CreateCHFAPostingGrp.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 11600 "Create CH FA Posting Grp." +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroup(var Rec: Record "FA Posting Group") + var + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; + CreateCHGlAccounts: Codeunit "Create CH GL Accounts"; + begin + case Rec.Code of + CreateFAPostingGroup.Equipment(), + CreateFAPostingGroup.Goodwill(), + CreateFAPostingGroup.Plant(), + CreateFAPostingGroup.Property(), + CreateFAPostingGroup.Vehicles(): + ValidateRecordFields(Rec, CreateCHGlAccounts.MachinesAndEquipment(), CreateCHGlAccounts.WbMachinesAndEquipment(), CreateCHGlAccounts.MachinesAndEquipment(), CreateCHGlAccounts.WbMachinesAndEquipment(), CreateCHGlAccounts.GainLossFromSaleOfAssets(), CreateCHGlAccounts.GainLossFromSaleOfAssets(), CreateCHGlAccounts.MiscCosts(), CreateCHGlAccounts.DepMobileFixedAssets(), CreateCHGlAccounts.MachinesAndEquipment()); + end; + end; + + local procedure ValidateRecordFields(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHCompanyInformation.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHCompanyInformation.Codeunit.al new file mode 100644 index 0000000000..4b77acd7d9 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHCompanyInformation.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11590 "Create CH Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //TODO: Post Code hardcoded. + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + var + CompanyInformation: Record "Company Information"; + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + CompanyInformation.Get(); + + CompanyInformation.Validate("Post Code", '6300'); + CompanyInformation.Validate(City, ZugCityLbl); + CompanyInformation.Validate(County, ''); + CompanyInformation.Validate("Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Validate("Bank Branch No.", BankBranchNoLbl); + CompanyInformation.Validate("Ship-to Post Code", '6300'); + CompanyInformation.Validate("Ship-to City", ZugCityLbl); + CompanyInformation.Validate("Ship-to County", ''); + CompanyInformation.Validate("Ship-to Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Validate("VAT Registration No.", VATRegistrationNoLbl); + CompanyInformation.Modify(true); + end; + + var + ZugCityLbl: Label 'Zug', MaxLength = 30, Locked = true; + BankBranchNoLbl: Label '100', MaxLength = 20, Locked = true; + VATRegistrationNoLbl: Label 'CHE-777.777.777MWST', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHDataExchange.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHDataExchange.Codeunit.al new file mode 100644 index 0000000000..0f9eed1aab --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHDataExchange.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 11633 "Create CH Data Exchange" +{ + trigger OnRun() + var + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + FolderNameLbl: Label 'PostingExchangeDefinitions', MaxLength = 100, Locked = true; + begin + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CEPACAMT054() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CEPACAMT05302() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CEPACAMT05304() + '.xml'); + end; + + procedure CEPACAMT054(): Code[20] + begin + exit('SEPA CAMT 054'); + end; + + procedure CEPACAMT05302(): Code[20] + begin + exit('SEPA CAMT 053-02'); + end; + + procedure CEPACAMT05304(): Code[20] + begin + exit('SEPA CAMT 053-04'); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHNoSeries.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHNoSeries.Codeunit.al new file mode 100644 index 0000000000..541022590c --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHNoSeries.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 11608 "Create CH No. Series" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: codeunit "Contoso No Series"; + begin + ContosoNoSeries.InsertNoSeries(PurchaseDeliveryReminder(), DeliveryReminderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PurchaseIssueDeliveryReminder(), IssueDeliveryReminderLbl, '104001', '105999', '105995', '', 1, Enum::"No. Series Implementation"::Normal, false); + end; + + procedure PurchaseDeliveryReminder(): Code[20] + begin + exit('P-DELREM'); + end; + + procedure PurchaseIssueDeliveryReminder(): Code[20] + begin + exit('P-DELREM+'); + end; + + var + DeliveryReminderLbl: Label 'Purchase Delivery Reminder', MaxLength = 100; + IssueDeliveryReminderLbl: Label 'Issued Purch. Deliv. Reminder', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHPostCode.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHPostCode.Codeunit.al new file mode 100644 index 0000000000..0a9b5717af --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Foundation/1.Setup Data/CreateCHPostCode.Codeunit.al @@ -0,0 +1,5663 @@ +codeunit 11610 "Create CH Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // Discuss it + // Maybe a service provide a better list of post codes? + // This can be the same for now, then we convert to a list later. + + // Keep as it is for now + // Wael + + trigger OnRun() + var + CreatePostCode: Codeunit "Create Post Code"; + begin + CreatePostCode.InsertData('1000', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 1 Dépôt', 'LAUSANNE 1 DÉPÔT', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 10', 'LAUSANNE 10', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 12', 'LAUSANNE 12', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 14', 'LAUSANNE 14', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 16', 'LAUSANNE 16', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 17', 'LAUSANNE 17', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 18', 'LAUSANNE 18', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 19', 'LAUSANNE 19', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 2', 'LAUSANNE 2', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 20', 'LAUSANNE 20', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 22', 'LAUSANNE 22', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 23', 'LAUSANNE 23', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 24 Vennes', 'LAUSANNE 24 VENNES', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 25', 'LAUSANNE 25', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 26', 'LAUSANNE 26', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 27', 'LAUSANNE 27', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 3', 'LAUSANNE 3', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 7', 'LAUSANNE 7', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne 8', 'LAUSANNE 8', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne CT', 'LAUSANNE CT', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne Distribution', 'LAUSANNE DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne Grangette', 'LAUSANNE GRANGETTE', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne Ouchy', 'LAUSANNE OUCHY', '', 'VD', ''); + CreatePostCode.InsertData('1000', 'Lausanne SPS', 'LAUSANNE SPS', '', 'VD', ''); + CreatePostCode.InsertData('1001', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1001', 'Lausanne Arc Jurassien', 'LAUSANNE ARC JURASSIEN', '', 'VD', ''); + CreatePostCode.InsertData('1001', 'Lausanne PF 331-120', 'LAUSANNE PF 331-120', '', 'VD', ''); + CreatePostCode.InsertData('1001', 'Lausanne PF 331-140', 'LAUSANNE PF 331-140', '', 'VD', ''); + CreatePostCode.InsertData('1001', 'Lausanne Sozialberatung', 'LAUSANNE SOZIALBERATUNG', '', 'VD', ''); + CreatePostCode.InsertData('1002', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1003', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1003', 'Lausanne Parking du Centre', 'LAUSANNE PARKING DU CENTRE', '', 'VD', ''); + CreatePostCode.InsertData('1003', 'Lausanne Terreaux PF', 'LAUSANNE TERREAUX PF', '', 'VD', ''); + CreatePostCode.InsertData('1004', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1005', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1006', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1006', 'Lausanne Parking d''Ouchy', 'LAUSANNE PARKING D''OUCHY', '', 'VD', ''); + CreatePostCode.InsertData('1007', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1008', 'Jouxtens-Mézery', 'JOUXTENS-MÉZERY', '', 'VD', ''); + CreatePostCode.InsertData('1008', 'Prilly', 'PRILLY', '', 'VD', ''); + CreatePostCode.InsertData('1009', 'Pully', 'PULLY', '', 'VD', ''); + CreatePostCode.InsertData('1010', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1011', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1012', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1014', 'Lausanne Adm cant VD', 'LAUSANNE ADM CANT VD', '', 'VD', ''); + CreatePostCode.InsertData('1015', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1017', 'Lausanne Charles Veillon SA', 'LAUSANNE CHARLES VEILLON SA', '', 'VD', ''); + CreatePostCode.InsertData('1018', 'Lausanne', 'LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1019', 'Lausanne Services spéciaux', 'LAUSANNE SERVICES SPÉCIAUX', '', 'VD', ''); + CreatePostCode.InsertData('1020', 'Renens Gare CFF', 'RENENS GARE CFF', '', 'VD', ''); + CreatePostCode.InsertData('1020', 'Renens VD', 'RENENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1020', 'Renens VD 1', 'RENENS VD 1', '', 'VD', ''); + CreatePostCode.InsertData('1020', 'Renens VD 1 Distribution', 'RENENS VD 1 DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1020', 'Renens VD 2', 'RENENS VD 2', '', 'VD', ''); + CreatePostCode.InsertData('1022', 'Chavannes-près-Renens', 'CHAVANNES-PRÈS-RENENS', '', 'VD', ''); + CreatePostCode.InsertData('1023', 'Crissier', 'CRISSIER', '', 'VD', ''); + CreatePostCode.InsertData('1023', 'Crissier 1', 'CRISSIER 1', '', 'VD', ''); + CreatePostCode.InsertData('1023', 'Crissier 2', 'CRISSIER 2', '', 'VD', ''); + CreatePostCode.InsertData('1023', 'Crissier Distribution', 'CRISSIER DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1024', 'Ecublens VD', 'ECUBLENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1025', 'St-Sulpice VD', 'ST-SULPICE VD', '', 'VD', ''); + CreatePostCode.InsertData('1026', 'Denges', 'DENGES', '', 'VD', ''); + CreatePostCode.InsertData('1026', 'Echandens', 'ECHANDENS', '', 'VD', ''); + CreatePostCode.InsertData('1026', 'Echandens-Denges', 'ECHANDENS-DENGES', '', 'VD', ''); + CreatePostCode.InsertData('1027', 'Lonay', 'LONAY', '', 'VD', ''); + CreatePostCode.InsertData('1028', 'Préverenges', 'PRÉVERENGES', '', 'VD', ''); + CreatePostCode.InsertData('1029', 'Villars-Ste-Croix', 'VILLARS-STE-CROIX', '', 'VD', ''); + CreatePostCode.InsertData('1030', 'Bussigny', 'BUSSIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1030', 'Bussigny Distribution', 'BUSSIGNY DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1031', 'Mex VD', 'MEX VD', '', 'VD', ''); + CreatePostCode.InsertData('1032', 'Romanel-sur-Lausanne', 'ROMANEL-SUR-LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1032', 'Romanel-sur-Lausanne Shell', 'ROMANEL-SUR-LAUSANNE SHELL', '', 'VD', ''); + CreatePostCode.InsertData('1033', 'Cheseaux-Laus Distribution', 'CHESEAUX-LAUS DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1033', 'Cheseaux-sur-Lausanne', 'CHESEAUX-SUR-LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1034', 'Boussens', 'BOUSSENS', '', 'VD', ''); + CreatePostCode.InsertData('1035', 'Bournens', 'BOURNENS', '', 'VD', ''); + CreatePostCode.InsertData('1036', 'Sullens', 'SULLENS', '', 'VD', ''); + CreatePostCode.InsertData('1037', 'Etagnières', 'ETAGNIÈRES', '', 'VD', ''); + CreatePostCode.InsertData('1038', 'Bercher', 'BERCHER', '', 'VD', ''); + CreatePostCode.InsertData('1039', 'Cheseaux Polyval', 'CHESEAUX POLYVAL', '', 'VD', ''); + CreatePostCode.InsertData('1040', 'Echallens', 'ECHALLENS', '', 'VD', ''); + CreatePostCode.InsertData('1040', 'Echallens Distribution', 'ECHALLENS DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1040', 'St-Barthélemy VD', 'ST-BARTHÉLEMY VD', '', 'VD', ''); + CreatePostCode.InsertData('1040', 'Villars-le-Terroir', 'VILLARS-LE-TERROIR', '', 'VD', ''); + CreatePostCode.InsertData('1041', 'Bottens', 'BOTTENS', '', 'VD', ''); + CreatePostCode.InsertData('1041', 'Dommartin', 'DOMMARTIN', '', 'VD', ''); + CreatePostCode.InsertData('1041', 'Montaubion-Chardonney', 'MONTAUBION-CHARDONNEY', '', 'VD', ''); + CreatePostCode.InsertData('1041', 'Naz', 'NAZ', '', 'VD', ''); + CreatePostCode.InsertData('1041', 'Poliez-le-Grand', 'POLIEZ-LE-GRAND', '', 'VD', ''); + CreatePostCode.InsertData('1041', 'Poliez-Pittet', 'POLIEZ-PITTET', '', 'VD', ''); + CreatePostCode.InsertData('1042', 'Assens', 'ASSENS', '', 'VD', ''); + CreatePostCode.InsertData('1042', 'Bettens', 'BETTENS', '', 'VD', ''); + CreatePostCode.InsertData('1042', 'Bioley-Orjulaz', 'BIOLEY-ORJULAZ', '', 'VD', ''); + CreatePostCode.InsertData('1043', 'Sugnens', 'SUGNENS', '', 'VD', ''); + CreatePostCode.InsertData('1044', 'Fey', 'FEY', '', 'VD', ''); + CreatePostCode.InsertData('1045', 'Ogens', 'OGENS', '', 'VD', ''); + CreatePostCode.InsertData('1046', 'Rueyres', 'RUEYRES', '', 'VD', ''); + CreatePostCode.InsertData('1047', 'Oppens', 'OPPENS', '', 'VD', ''); + CreatePostCode.InsertData('1052', 'Le Mont-sur-Lausanne', 'LE MONT-SUR-LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1052', 'Le Mont-sur-Lausanne Dist', 'LE MONT-SUR-LAUSANNE DIST', '', 'VD', ''); + CreatePostCode.InsertData('1053', 'Bretigny-sur-Morrens', 'BRETIGNY-SUR-MORRENS', '', 'VD', ''); + CreatePostCode.InsertData('1053', 'Cugy VD', 'CUGY VD', '', 'VD', ''); + CreatePostCode.InsertData('1054', 'Morrens VD', 'MORRENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1055', 'Froideville', 'FROIDEVILLE', '', 'VD', ''); + CreatePostCode.InsertData('1058', 'Villars-Tiercelin', 'VILLARS-TIERCELIN', '', 'VD', ''); + CreatePostCode.InsertData('1059', 'Peney-le-Jorat', 'PENEY-LE-JORAT', '', 'VD', ''); + CreatePostCode.InsertData('1061', 'Villars-Mendraz', 'VILLARS-MENDRAZ', '', 'VD', ''); + CreatePostCode.InsertData('1062', 'Sottens', 'SOTTENS', '', 'VD', ''); + CreatePostCode.InsertData('1063', 'Boulens', 'BOULENS', '', 'VD', ''); + CreatePostCode.InsertData('1063', 'Chapelle-sur-Moudon', 'CHAPELLE-SUR-MOUDON', '', 'VD', ''); + CreatePostCode.InsertData('1063', 'Martherenges', 'MARTHERENGES', '', 'VD', ''); + CreatePostCode.InsertData('1063', 'Peyres-Possens', 'PEYRES-POSSENS', '', 'VD', ''); + CreatePostCode.InsertData('1066', 'Epalinges', 'EPALINGES', '', 'VD', ''); + CreatePostCode.InsertData('1066', 'Epalinges Distribution', 'EPALINGES DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1068', 'Les Monts-de-Pully', 'LES MONTS-DE-PULLY', '', 'VD', ''); + CreatePostCode.InsertData('1070', 'Puidoux', 'PUIDOUX', '', 'VD', ''); + CreatePostCode.InsertData('1071', 'Chexbres', 'CHEXBRES', '', 'VD', ''); + CreatePostCode.InsertData('1071', 'Chexbres Distribution', 'CHEXBRES DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1071', 'Rivaz', 'RIVAZ', '', 'VD', ''); + CreatePostCode.InsertData('1071', 'St-Saphorin (Lavaux)', 'ST-SAPHORIN (LAVAUX)', '', 'VD', ''); + CreatePostCode.InsertData('1072', 'Forel (Lavaux)', 'FOREL (LAVAUX)', '', 'VD', ''); + CreatePostCode.InsertData('1073', 'Mollie-Margot', 'MOLLIE-MARGOT', '', 'VD', ''); + CreatePostCode.InsertData('1073', 'Savigny', 'SAVIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1076', 'Ferlens VD', 'FERLENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1077', 'Servion', 'SERVION', '', 'VD', ''); + CreatePostCode.InsertData('1078', 'Essertes', 'ESSERTES', '', 'VD', ''); + CreatePostCode.InsertData('1080', 'Les Cullayes', 'LES CULLAYES', '', 'VD', ''); + CreatePostCode.InsertData('1081', 'Montpreveyres', 'MONTPREVEYRES', '', 'VD', ''); + CreatePostCode.InsertData('1082', 'Corcelles-le-Jorat', 'CORCELLES-LE-JORAT', '', 'VD', ''); + CreatePostCode.InsertData('1083', 'Mézières VD', 'MÉZIÈRES VD', '', 'VD', ''); + CreatePostCode.InsertData('1084', 'Carrouge VD', 'CARROUGE VD', '', 'VD', ''); + CreatePostCode.InsertData('1085', 'Vulliens', 'VULLIENS', '', 'VD', ''); + CreatePostCode.InsertData('1088', 'Ropraz', 'ROPRAZ', '', 'VD', ''); + CreatePostCode.InsertData('1090', 'La Croix (Lutry)', 'LA CROIX (LUTRY)', '', 'VD', ''); + CreatePostCode.InsertData('1091', 'Aran', 'ARAN', '', 'VD', ''); + CreatePostCode.InsertData('1091', 'Chenaux', 'CHENAUX', '', 'VD', ''); + CreatePostCode.InsertData('1091', 'Grandvaux', 'GRANDVAUX', '', 'VD', ''); + CreatePostCode.InsertData('1092', 'Belmont-sur-Lausanne', 'BELMONT-SUR-LAUSANNE', '', 'VD', ''); + CreatePostCode.InsertData('1093', 'La Conversion', 'LA CONVERSION', '', 'VD', ''); + CreatePostCode.InsertData('1094', 'Paudex', 'PAUDEX', '', 'VD', ''); + CreatePostCode.InsertData('1095', 'Lutry', 'LUTRY', '', 'VD', ''); + CreatePostCode.InsertData('1095', 'Lutry Distribution', 'LUTRY DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1096', 'Cully', 'CULLY', '', 'VD', ''); + CreatePostCode.InsertData('1096', 'Villette (Lavaux)', 'VILLETTE (LAVAUX)', '', 'VD', ''); + CreatePostCode.InsertData('1097', 'Riex', 'RIEX', '', 'VD', ''); + CreatePostCode.InsertData('1098', 'Epesses', 'EPESSES', '', 'VD', ''); + CreatePostCode.InsertData('1110', 'Morges', 'MORGES', '', 'VD', ''); + CreatePostCode.InsertData('1110', 'Morges 1', 'MORGES 1', '', 'VD', ''); + CreatePostCode.InsertData('1110', 'Morges 2', 'MORGES 2', '', 'VD', ''); + CreatePostCode.InsertData('1110', 'Morges 3', 'MORGES 3', '', 'VD', ''); + CreatePostCode.InsertData('1110', 'Morges Distribution', 'MORGES DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1112', 'Echichens', 'ECHICHENS', '', 'VD', ''); + CreatePostCode.InsertData('1113', 'St-Saphorin-sur-Morges', 'ST-SAPHORIN-SUR-MORGES', '', 'VD', ''); + CreatePostCode.InsertData('1114', 'Colombier VD', 'COLOMBIER VD', '', 'VD', ''); + CreatePostCode.InsertData('1115', 'Vullierens', 'VULLIERENS', '', 'VD', ''); + CreatePostCode.InsertData('1116', 'Cottens VD', 'COTTENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1117', 'Grancy', 'GRANCY', '', 'VD', ''); + CreatePostCode.InsertData('1121', 'Bremblens', 'BREMBLENS', '', 'VD', ''); + CreatePostCode.InsertData('1122', 'Romanel-sur-Morges', 'ROMANEL-SUR-MORGES', '', 'VD', ''); + CreatePostCode.InsertData('1123', 'Aclens', 'ACLENS', '', 'VD', ''); + CreatePostCode.InsertData('1124', 'Gollion', 'GOLLION', '', 'VD', ''); + CreatePostCode.InsertData('1125', 'Monnaz', 'MONNAZ', '', 'VD', ''); + CreatePostCode.InsertData('1126', 'Vaux-sur-Morges', 'VAUX-SUR-MORGES', '', 'VD', ''); + CreatePostCode.InsertData('1127', 'Clarmont', 'CLARMONT', '', 'VD', ''); + CreatePostCode.InsertData('1128', 'Reverolle', 'REVEROLLE', '', 'VD', ''); + CreatePostCode.InsertData('1131', 'Tolochenaz', 'TOLOCHENAZ', '', 'VD', ''); + CreatePostCode.InsertData('1132', 'Lully VD', 'LULLY VD', '', 'VD', ''); + CreatePostCode.InsertData('1134', 'Chigny', 'CHIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1134', 'Vufflens-le-Château', 'VUFFLENS-LE-CHÂTEAU', '', 'VD', ''); + CreatePostCode.InsertData('1135', 'Denens', 'DENENS', '', 'VD', ''); + CreatePostCode.InsertData('1136', 'Bussy-Chardonney', 'BUSSY-CHARDONNEY', '', 'VD', ''); + CreatePostCode.InsertData('1141', 'Sévery', 'SÉVERY', '', 'VD', ''); + CreatePostCode.InsertData('1142', 'Pampigny', 'PAMPIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1143', 'Apples', 'APPLES', '', 'VD', ''); + CreatePostCode.InsertData('1144', 'Ballens', 'BALLENS', '', 'VD', ''); + CreatePostCode.InsertData('1145', 'Bière', 'BIÈRE', '', 'VD', ''); + CreatePostCode.InsertData('1145', 'Bière Caserne', 'BIÈRE CASERNE', '', 'VD', ''); + CreatePostCode.InsertData('1146', 'Mollens VD', 'MOLLENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1147', 'Montricher', 'MONTRICHER', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'Chavannes-le-Veyron', 'CHAVANNES-LE-VEYRON', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'Cuarnens', 'CUARNENS', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'La Coudre', 'LA COUDRE', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'La Praz', 'LA PRAZ', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'L''Isle', 'L''ISLE', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'Mauraz', 'MAURAZ', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'Moiry VD', 'MOIRY VD', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'Mont-la-Ville', 'MONT-LA-VILLE', '', 'VD', ''); + CreatePostCode.InsertData('1148', 'Villars-Bozon', 'VILLARS-BOZON', '', 'VD', ''); + CreatePostCode.InsertData('1149', 'Berolle', 'BEROLLE', '', 'VD', ''); + CreatePostCode.InsertData('1162', 'St-Prex', 'ST-PREX', '', 'VD', ''); + CreatePostCode.InsertData('1162', 'St-Prex Distribution', 'ST-PREX DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1163', 'Etoy', 'ETOY', '', 'VD', ''); + CreatePostCode.InsertData('1164', 'Buchillon', 'BUCHILLON', '', 'VD', ''); + CreatePostCode.InsertData('1165', 'Allaman', 'ALLAMAN', '', 'VD', ''); + CreatePostCode.InsertData('1166', 'Perroy', 'PERROY', '', 'VD', ''); + CreatePostCode.InsertData('1167', 'Lussy-sur-Morges', 'LUSSY-SUR-MORGES', '', 'VD', ''); + CreatePostCode.InsertData('1168', 'Villars-sous-Yens', 'VILLARS-SOUS-YENS', '', 'VD', ''); + CreatePostCode.InsertData('1169', 'Yens', 'YENS', '', 'VD', ''); + CreatePostCode.InsertData('1170', 'Aubonne', 'AUBONNE', '', 'VD', ''); + CreatePostCode.InsertData('1172', 'Bougy-Villars', 'BOUGY-VILLARS', '', 'VD', ''); + CreatePostCode.InsertData('1173', 'Féchy', 'FÉCHY', '', 'VD', ''); + CreatePostCode.InsertData('1174', 'Montherod', 'MONTHEROD', '', 'VD', ''); + CreatePostCode.InsertData('1174', 'Pizy', 'PIZY', '', 'VD', ''); + CreatePostCode.InsertData('1175', 'Lavigny', 'LAVIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1176', 'St-Livres', 'ST-LIVRES', '', 'VD', ''); + CreatePostCode.InsertData('1180', 'Rolle', 'ROLLE', '', 'VD', ''); + CreatePostCode.InsertData('1180', 'Rolle Distribution', 'ROLLE DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1180', 'Tartegnin', 'TARTEGNIN', '', 'VD', ''); + CreatePostCode.InsertData('1182', 'Gilly', 'GILLY', '', 'VD', ''); + CreatePostCode.InsertData('1183', 'Bursins', 'BURSINS', '', 'VD', ''); + CreatePostCode.InsertData('1184', 'Luins', 'LUINS', '', 'VD', ''); + CreatePostCode.InsertData('1184', 'Vinzel', 'VINZEL', '', 'VD', ''); + CreatePostCode.InsertData('1185', 'Mont-sur-Rolle', 'MONT-SUR-ROLLE', '', 'VD', ''); + CreatePostCode.InsertData('1186', 'Essertines-sur-Rolle', 'ESSERTINES-SUR-ROLLE', '', 'VD', ''); + CreatePostCode.InsertData('1187', 'St-Oyens', 'ST-OYENS', '', 'VD', ''); + CreatePostCode.InsertData('1188', 'Gimel', 'GIMEL', '', 'VD', ''); + CreatePostCode.InsertData('1188', 'St-George', 'ST-GEORGE', '', 'VD', ''); + CreatePostCode.InsertData('1189', 'Saubraz', 'SAUBRAZ', '', 'VD', ''); + CreatePostCode.InsertData('1195', 'Bursinel', 'BURSINEL', '', 'VD', ''); + CreatePostCode.InsertData('1195', 'Dully', 'DULLY', '', 'VD', ''); + CreatePostCode.InsertData('1195', 'Dully-Bursinel', 'DULLY-BURSINEL', '', 'VD', ''); + CreatePostCode.InsertData('1196', 'Gland', 'GLAND', '', 'VD', ''); + CreatePostCode.InsertData('1196', 'Gland Dist Fil', 'GLAND DIST FIL', '', 'VD', ''); + CreatePostCode.InsertData('1196', 'Gland Distribution', 'GLAND DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1197', 'Prangins', 'PRANGINS', '', 'VD', ''); + CreatePostCode.InsertData('1200', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 1', 'GENÈVE 1', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 11', 'GENÈVE 11', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 12', 'GENÈVE 12', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 13', 'GENÈVE 13', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 17', 'GENÈVE 17', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 18', 'GENÈVE 18', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 19', 'GENÈVE 19', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 2 Cornavin Dépôt', 'GENÈVE 2 CORNAVIN DÉPÔT', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 2 Distribution', 'GENÈVE 2 DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 2 Transit', 'GENÈVE 2 TRANSIT', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 20', 'GENÈVE 20', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 21', 'GENÈVE 21', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 26', 'GENÈVE 26', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 28 Balexert', 'GENÈVE 28 BALEXERT', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 3', 'GENÈVE 3', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 4', 'GENÈVE 4', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 6', 'GENÈVE 6', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 7', 'GENÈVE 7', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève 8', 'GENÈVE 8', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève Centre logistique', 'GENÈVE CENTRE LOGISTIQUE', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève Dist Ba', 'GENÈVE DIST BA', '', 'GE', ''); + CreatePostCode.InsertData('1200', 'Genève Les Acacias', 'GENÈVE LES ACACIAS', '', 'GE', ''); + CreatePostCode.InsertData('1201', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1202', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1203', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1204', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1205', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1206', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1207', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1208', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1209', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 1', 'GENÈVE 1', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 10', 'GENÈVE 10', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 11', 'GENÈVE 11', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 12', 'GENÈVE 12', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 13', 'GENÈVE 13', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 14', 'GENÈVE 14', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 17', 'GENÈVE 17', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 19', 'GENÈVE 19', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 2', 'GENÈVE 2', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 20', 'GENÈVE 20', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 21', 'GENÈVE 21', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 22', 'GENÈVE 22', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 23', 'GENÈVE 23', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 26', 'GENÈVE 26', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 26 Caserne', 'GENÈVE 26 CASERNE', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 27', 'GENÈVE 27', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 28', 'GENÈVE 28', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 3', 'GENÈVE 3', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 4', 'GENÈVE 4', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 5', 'GENÈVE 5', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 5 Dépôt', 'GENÈVE 5 DÉPÔT', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 6', 'GENÈVE 6', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 7', 'GENÈVE 7', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 70', 'GENÈVE 70', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 71 CS CP', 'GENÈVE 71 CS CP', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 73', 'GENÈVE 73', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 8', 'GENÈVE 8', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genève 84 Votations', 'GENÈVE 84 VOTATIONS', '', 'GE', ''); + CreatePostCode.InsertData('1211', 'Genf SPS', 'GENF SPS', '', 'GE', ''); + CreatePostCode.InsertData('1212', 'Grand-Lancy', 'GRAND-LANCY', '', 'GE', ''); + CreatePostCode.InsertData('1212', 'Grand-Lancy 1', 'GRAND-LANCY 1', '', 'GE', ''); + CreatePostCode.InsertData('1212', 'Grand-Lancy 1 Distribution', 'GRAND-LANCY 1 DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1213', 'Onex', 'ONEX', '', 'GE', ''); + CreatePostCode.InsertData('1213', 'Petit-Lancy', 'PETIT-LANCY', '', 'GE', ''); + CreatePostCode.InsertData('1213', 'Petit-Lancy 1', 'PETIT-LANCY 1', '', 'GE', ''); + CreatePostCode.InsertData('1213', 'Petit-Lancy 2', 'PETIT-LANCY 2', '', 'GE', ''); + CreatePostCode.InsertData('1213', 'Petit-Lancy Distribution', 'PETIT-LANCY DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1214', 'Vernier', 'VERNIER', '', 'GE', ''); + CreatePostCode.InsertData('1214', 'Vernier Distribution', 'VERNIER DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1215', 'Genève 15 Aéroport', 'GENÈVE 15 AÉROPORT', '', 'GE', ''); + CreatePostCode.InsertData('1215', 'Genève 15 Aéroport Dépôt', 'GENÈVE 15 AÉROPORT DÉPÔT', '', 'GE', ''); + CreatePostCode.InsertData('1215', 'Genève ICC OLS', 'GENÈVE ICC OLS', '', 'GE', ''); + CreatePostCode.InsertData('1216', 'Cointrin', 'COINTRIN', '', 'GE', ''); + CreatePostCode.InsertData('1217', 'Meyrin', 'MEYRIN', '', 'GE', ''); + CreatePostCode.InsertData('1217', 'Meyrin 1', 'MEYRIN 1', '', 'GE', ''); + CreatePostCode.InsertData('1217', 'Meyrin 2', 'MEYRIN 2', '', 'GE', ''); + CreatePostCode.InsertData('1217', 'Meyrin Distribution', 'MEYRIN DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1218', 'Grand-Saconnex Distribution', 'GRAND-SACONNEX DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1218', 'Le Grand-Saconnex', 'LE GRAND-SACONNEX', '', 'GE', ''); + CreatePostCode.InsertData('1219', 'Aïre', 'AÃRE', '', 'GE', ''); + CreatePostCode.InsertData('1219', 'Châtelaine', 'CHÂTELAINE', '', 'GE', ''); + CreatePostCode.InsertData('1219', 'Le Lignon', 'LE LIGNON', '', 'GE', ''); + CreatePostCode.InsertData('1219', 'Le Lignon Distribution', 'LE LIGNON DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1219', 'Lignon B&V GK', 'LIGNON B&V GK', '', 'GE', ''); + CreatePostCode.InsertData('1219', 'Lignon B&V GK 2', 'LIGNON B&V GK 2', '', 'GE', ''); + CreatePostCode.InsertData('1220', 'Les Avanchets', 'LES AVANCHETS', '', 'GE', ''); + CreatePostCode.InsertData('1222', 'Vésenaz', 'VÉSENAZ', '', 'GE', ''); + CreatePostCode.InsertData('1222', 'Vésenaz Distribution', 'VÉSENAZ DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1223', 'Cologny', 'COLOGNY', '', 'GE', ''); + CreatePostCode.InsertData('1223', 'Cologny Distribution', 'COLOGNY DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1224', 'Chêne-Bougeries', 'CHÊNE-BOUGERIES', '', 'GE', ''); + CreatePostCode.InsertData('1225', 'Chêne-Bourg', 'CHÊNE-BOURG', '', 'GE', ''); + CreatePostCode.InsertData('1225', 'Chêne-Bourg Distribution', 'CHÊNE-BOURG DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1226', 'Thônex', 'THÔNEX', '', 'GE', ''); + CreatePostCode.InsertData('1227', 'Carouge GE', 'CAROUGE GE', '', 'GE', ''); + CreatePostCode.InsertData('1227', 'Carouge GE Distribution', 'CAROUGE GE DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1227', 'Genève Carouge PostFinance', 'GENÈVE CAROUGE POSTFINANCE', '', 'GE', ''); + CreatePostCode.InsertData('1227', 'Les Acacias', 'LES ACACIAS', '', 'GE', ''); + CreatePostCode.InsertData('1228', 'Plan-les-Ouates', 'PLAN-LES-OUATES', '', 'GE', ''); + CreatePostCode.InsertData('1231', 'Conches', 'CONCHES', '', 'GE', ''); + CreatePostCode.InsertData('1232', 'Confignon', 'CONFIGNON', '', 'GE', ''); + CreatePostCode.InsertData('1232', 'Confignon Cressy', 'CONFIGNON CRESSY', '', 'GE', ''); + CreatePostCode.InsertData('1233', 'Bernex', 'BERNEX', '', 'GE', ''); + CreatePostCode.InsertData('1233', 'Bernex Distribution', 'BERNEX DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1234', 'Vessy', 'VESSY', '', 'GE', ''); + CreatePostCode.InsertData('1236', 'Cartigny', 'CARTIGNY', '', 'GE', ''); + CreatePostCode.InsertData('1237', 'Avully', 'AVULLY', '', 'GE', ''); + CreatePostCode.InsertData('1239', 'Collex', 'COLLEX', '', 'GE', ''); + CreatePostCode.InsertData('1240', 'Genève', 'GENÈVE', '', 'GE', ''); + CreatePostCode.InsertData('1241', 'Puplinge', 'PUPLINGE', '', 'GE', ''); + CreatePostCode.InsertData('1242', 'Satigny', 'SATIGNY', '', 'GE', ''); + CreatePostCode.InsertData('1243', 'Presinge', 'PRESINGE', '', 'GE', ''); + CreatePostCode.InsertData('1244', 'Choulex', 'CHOULEX', '', 'GE', ''); + CreatePostCode.InsertData('1245', 'Collonge-Bellerive', 'COLLONGE-BELLERIVE', '', 'GE', ''); + CreatePostCode.InsertData('1246', 'Corsier GE', 'CORSIER GE', '', 'GE', ''); + CreatePostCode.InsertData('1247', 'Anières', 'ANIÈRES', '', 'GE', ''); + CreatePostCode.InsertData('1248', 'Hermance', 'HERMANCE', '', 'GE', ''); + CreatePostCode.InsertData('1251', 'Gy', 'GY', '', 'GE', ''); + CreatePostCode.InsertData('1252', 'Meinier', 'MEINIER', '', 'GE', ''); + CreatePostCode.InsertData('1253', 'Vandoeuvres', 'VANDOEUVRES', '', 'GE', ''); + CreatePostCode.InsertData('1254', 'Jussy', 'JUSSY', '', 'GE', ''); + CreatePostCode.InsertData('1255', 'Veyrier', 'VEYRIER', '', 'GE', ''); + CreatePostCode.InsertData('1256', 'Troinex', 'TROINEX', '', 'GE', ''); + CreatePostCode.InsertData('1257', 'La Croix-de-Rozon', 'LA CROIX-DE-ROZON', '', 'GE', ''); + CreatePostCode.InsertData('1258', 'Perly', 'PERLY', '', 'GE', ''); + CreatePostCode.InsertData('1260', 'Nyon', 'NYON', '', 'VD', ''); + CreatePostCode.InsertData('1260', 'Nyon 1', 'NYON 1', '', 'VD', ''); + CreatePostCode.InsertData('1260', 'Nyon 1 Distribution', 'NYON 1 DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1260', 'Nyon 2', 'NYON 2', '', 'VD', ''); + CreatePostCode.InsertData('1260', 'Nyon car postal La Côte-Ju', 'NYON CAR POSTAL LA CÔTE-JU', '', 'VD', ''); + CreatePostCode.InsertData('1260', 'Nyon Gare CFF', 'NYON GARE CFF', '', 'VD', ''); + CreatePostCode.InsertData('1261', 'Le Vaud', 'LE VAUD', '', 'VD', ''); + CreatePostCode.InsertData('1261', 'Longirod', 'LONGIROD', '', 'VD', ''); + CreatePostCode.InsertData('1261', 'Marchissy', 'MARCHISSY', '', 'VD', ''); + CreatePostCode.InsertData('1262', 'Eysins', 'EYSINS', '', 'VD', ''); + CreatePostCode.InsertData('1263', 'Crassier', 'CRASSIER', '', 'VD', ''); + CreatePostCode.InsertData('1264', 'St-Cergue', 'ST-CERGUE', '', 'VD', ''); + CreatePostCode.InsertData('1265', 'La Cure', 'LA CURE', '', 'VD', ''); + CreatePostCode.InsertData('1266', 'Duillier', 'DUILLIER', '', 'VD', ''); + CreatePostCode.InsertData('1267', 'Coinsins', 'COINSINS', '', 'VD', ''); + CreatePostCode.InsertData('1267', 'Vich', 'VICH', '', 'VD', ''); + CreatePostCode.InsertData('1267', 'Vich-Coinsins', 'VICH-COINSINS', '', 'VD', ''); + CreatePostCode.InsertData('1268', 'Begnins', 'BEGNINS', '', 'VD', ''); + CreatePostCode.InsertData('1268', 'Burtigny', 'BURTIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1269', 'Bassins', 'BASSINS', '', 'VD', ''); + CreatePostCode.InsertData('1270', 'Trélex', 'TRÉLEX', '', 'VD', ''); + CreatePostCode.InsertData('1271', 'Givrins', 'GIVRINS', '', 'VD', ''); + CreatePostCode.InsertData('1272', 'Genolier', 'GENOLIER', '', 'VD', ''); + CreatePostCode.InsertData('1273', 'Arzier-Le Muids', 'ARZIER-LE MUIDS', '', 'VD', ''); + CreatePostCode.InsertData('1274', 'Grens', 'GRENS', '', 'VD', ''); + CreatePostCode.InsertData('1274', 'Signy', 'SIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1274', 'Signy-Centre', 'SIGNY-CENTRE', '', 'VD', ''); + CreatePostCode.InsertData('1275', 'Chéserex', 'CHÉSEREX', '', 'VD', ''); + CreatePostCode.InsertData('1276', 'Gingins', 'GINGINS', '', 'VD', ''); + CreatePostCode.InsertData('1277', 'Arnex-sur-Nyon', 'ARNEX-SUR-NYON', '', 'VD', ''); + CreatePostCode.InsertData('1277', 'Borex', 'BOREX', '', 'VD', ''); + CreatePostCode.InsertData('1278', 'La Rippe', 'LA RIPPE', '', 'VD', ''); + CreatePostCode.InsertData('1279', 'Bogis-Bossey', 'BOGIS-BOSSEY', '', 'VD', ''); + CreatePostCode.InsertData('1279', 'Chavannes-de-Bogis', 'CHAVANNES-DE-BOGIS', '', 'VD', ''); + CreatePostCode.InsertData('1279', 'Chavannes-de-Bogis OLS', 'CHAVANNES-DE-BOGIS OLS', '', 'VD', ''); + CreatePostCode.InsertData('1281', 'Russin', 'RUSSIN', '', 'GE', ''); + CreatePostCode.InsertData('1283', 'Dardagny', 'DARDAGNY', '', 'GE', ''); + CreatePostCode.InsertData('1283', 'La Plaine', 'LA PLAINE', '', 'GE', ''); + CreatePostCode.InsertData('1284', 'Chancy', 'CHANCY', '', 'GE', ''); + CreatePostCode.InsertData('1285', 'Athenaz (Avusy)', 'ATHENAZ (AVUSY)', '', 'GE', ''); + CreatePostCode.InsertData('1286', 'Soral', 'SORAL', '', 'GE', ''); + CreatePostCode.InsertData('1287', 'Laconnex', 'LACONNEX', '', 'GE', ''); + CreatePostCode.InsertData('1288', 'Aire-la-Ville', 'AIRE-LA-VILLE', '', 'GE', ''); + CreatePostCode.InsertData('1289', 'Genève Services Spéciaux', 'GENÈVE SERVICES SPÉCIAUX', '', 'GE', ''); + CreatePostCode.InsertData('1290', 'Chavannes-des-Bois', 'CHAVANNES-DES-BOIS', '', 'VD', ''); + CreatePostCode.InsertData('1290', 'Versoix', 'VERSOIX', '', 'GE', ''); + CreatePostCode.InsertData('1290', 'Versoix Distribution', 'VERSOIX DISTRIBUTION', '', 'GE', ''); + CreatePostCode.InsertData('1291', 'Commugny', 'COMMUGNY', '', 'VD', ''); + CreatePostCode.InsertData('1292', 'Chambésy', 'CHAMBÉSY', '', 'GE', ''); + CreatePostCode.InsertData('1293', 'Bellevue', 'BELLEVUE', '', 'GE', ''); + CreatePostCode.InsertData('1294', 'Genthod', 'GENTHOD', '', 'GE', ''); + CreatePostCode.InsertData('1295', 'Mies', 'MIES', '', 'VD', ''); + CreatePostCode.InsertData('1295', 'Mies-Tannay', 'MIES-TANNAY', '', 'VD', ''); + CreatePostCode.InsertData('1295', 'Tannay', 'TANNAY', '', 'VD', ''); + CreatePostCode.InsertData('1296', 'Coppet', 'COPPET', '', 'VD', ''); + CreatePostCode.InsertData('1296', 'Coppet Distribution', 'COPPET DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1297', 'Founex', 'FOUNEX', '', 'VD', ''); + CreatePostCode.InsertData('1298', 'Céligny', 'CÉLIGNY', '', 'GE', ''); + CreatePostCode.InsertData('1299', 'Crans-près-Céligny', 'CRANS-PRÈS-CÉLIGNY', '', 'VD', ''); + CreatePostCode.InsertData('1300', 'Eclépens CC AP', 'ECLÉPENS CC AP', '', 'VD', ''); + CreatePostCode.InsertData('1300', 'Eclépens CC Dépôt', 'ECLÉPENS CC DÉPÔT', '', 'VD', ''); + CreatePostCode.InsertData('1300', 'Eclépens Centre Courrier', 'ECLÉPENS CENTRE COURRIER', '', 'VD', ''); + CreatePostCode.InsertData('1300', 'Eclépens Clinique', 'ECLÉPENS CLINIQUE', '', 'VD', ''); + CreatePostCode.InsertData('1300', 'Eclépens SAB', 'ECLÉPENS SAB', '', 'VD', ''); + CreatePostCode.InsertData('1302', 'Vufflens-la-Ville', 'VUFFLENS-LA-VILLE', '', 'VD', ''); + CreatePostCode.InsertData('1303', 'Penthaz', 'PENTHAZ', '', 'VD', ''); + CreatePostCode.InsertData('1304', 'Allens', 'ALLENS', '', 'VD', ''); + CreatePostCode.InsertData('1304', 'Cossonay-Ville', 'COSSONAY-VILLE', '', 'VD', ''); + CreatePostCode.InsertData('1304', 'Dizy', 'DIZY', '', 'VD', ''); + CreatePostCode.InsertData('1304', 'Senarclens', 'SENARCLENS', '', 'VD', ''); + CreatePostCode.InsertData('1305', 'Penthalaz', 'PENTHALAZ', '', 'VD', ''); + CreatePostCode.InsertData('1305', 'Penthalaz Distribution', 'PENTHALAZ DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1306', 'Daillens', 'DAILLENS', '', 'VD', ''); + CreatePostCode.InsertData('1307', 'Lussery-Villars', 'LUSSERY-VILLARS', '', 'VD', ''); + CreatePostCode.InsertData('1308', 'La Chaux (Cossonay)', 'LA CHAUX (COSSONAY)', '', 'VD', ''); + CreatePostCode.InsertData('1310', 'Daillens Centre Colis', 'DAILLENS CENTRE COLIS', '', 'VD', ''); + CreatePostCode.InsertData('1310', 'Daillens Dist Ba', 'DAILLENS DIST BA', '', 'VD', ''); + CreatePostCode.InsertData('1310', 'Daillens PL3', 'DAILLENS PL3', '', 'VD', ''); + CreatePostCode.InsertData('1311', 'Eclépens Scanning-Center', 'ECLÉPENS SCANNING-CENTER', '', 'VD', ''); + CreatePostCode.InsertData('1312', 'Eclépens', 'ECLÉPENS', '', 'VD', ''); + CreatePostCode.InsertData('1313', 'Ferreyres', 'FERREYRES', '', 'VD', ''); + CreatePostCode.InsertData('1315', 'La Sarraz', 'LA SARRAZ', '', 'VD', ''); + CreatePostCode.InsertData('1316', 'Chevilly', 'CHEVILLY', '', 'VD', ''); + CreatePostCode.InsertData('1317', 'Orny', 'ORNY', '', 'VD', ''); + CreatePostCode.InsertData('1318', 'Pompaples', 'POMPAPLES', '', 'VD', ''); + CreatePostCode.InsertData('1320', 'Daillens ST PP 1', 'DAILLENS ST PP 1', '', 'VD', ''); + CreatePostCode.InsertData('1321', 'Arnex-sur-Orbe', 'ARNEX-SUR-ORBE', '', 'VD', ''); + CreatePostCode.InsertData('1322', 'Croy', 'CROY', '', 'VD', ''); + CreatePostCode.InsertData('1323', 'Romainmôtier', 'ROMAINMÔTIER', '', 'VD', ''); + CreatePostCode.InsertData('1324', 'Premier', 'PREMIER', '', 'VD', ''); + CreatePostCode.InsertData('1325', 'Vaulion', 'VAULION', '', 'VD', ''); + CreatePostCode.InsertData('1326', 'Juriens', 'JURIENS', '', 'VD', ''); + CreatePostCode.InsertData('1329', 'Bretonnières', 'BRETONNIÈRES', '', 'VD', ''); + CreatePostCode.InsertData('1330', 'Daillens CALL', 'DAILLENS CALL', '', 'VD', ''); + CreatePostCode.InsertData('1337', 'Vallorbe', 'VALLORBE', '', 'VD', ''); + CreatePostCode.InsertData('1338', 'Ballaigues', 'BALLAIGUES', '', 'VD', ''); + CreatePostCode.InsertData('1341', 'Orient', 'ORIENT', '', 'VD', ''); + CreatePostCode.InsertData('1342', 'Le Pont', 'LE PONT', '', 'VD', ''); + CreatePostCode.InsertData('1343', 'Les Charbonnières', 'LES CHARBONNIÈRES', '', 'VD', ''); + CreatePostCode.InsertData('1344', 'L''Abbaye', 'L''ABBAYE', '', 'VD', ''); + CreatePostCode.InsertData('1345', 'Le Lieu', 'LE LIEU', '', 'VD', ''); + CreatePostCode.InsertData('1345', 'Le Séchey', 'LE SÉCHEY', '', 'VD', ''); + CreatePostCode.InsertData('1346', 'Les Bioux', 'LES BIOUX', '', 'VD', ''); + CreatePostCode.InsertData('1347', 'Le Sentier', 'LE SENTIER', '', 'VD', ''); + CreatePostCode.InsertData('1347', 'Le Sentier Distribution', 'LE SENTIER DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1347', 'Le Solliat', 'LE SOLLIAT', '', 'VD', ''); + CreatePostCode.InsertData('1348', 'Le Brassus', 'LE BRASSUS', '', 'VD', ''); + CreatePostCode.InsertData('1350', 'Orbe', 'ORBE', '', 'VD', ''); + CreatePostCode.InsertData('1350', 'Orbe Distribution', 'ORBE DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1352', 'Agiez', 'AGIEZ', '', 'VD', ''); + CreatePostCode.InsertData('1353', 'Bofflens', 'BOFFLENS', '', 'VD', ''); + CreatePostCode.InsertData('1354', 'Montcherand', 'MONTCHERAND', '', 'VD', ''); + CreatePostCode.InsertData('1355', 'L''Abergement', 'L''ABERGEMENT', '', 'VD', ''); + CreatePostCode.InsertData('1355', 'Sergey', 'SERGEY', '', 'VD', ''); + CreatePostCode.InsertData('1356', 'La Russille', 'LA RUSSILLE', '', 'VD', ''); + CreatePostCode.InsertData('1356', 'Les Clées', 'LES CLÉES', '', 'VD', ''); + CreatePostCode.InsertData('1357', 'Lignerolle', 'LIGNEROLLE', '', 'VD', ''); + CreatePostCode.InsertData('1358', 'Valeyres-sous-Rances', 'VALEYRES-SOUS-RANCES', '', 'VD', ''); + CreatePostCode.InsertData('1372', 'Bavois', 'BAVOIS', '', 'VD', ''); + CreatePostCode.InsertData('1373', 'Chavornay', 'CHAVORNAY', '', 'VD', ''); + CreatePostCode.InsertData('1374', 'Corcelles-sur-Chavornay', 'CORCELLES-SUR-CHAVORNAY', '', 'VD', ''); + CreatePostCode.InsertData('1375', 'Penthéréaz', 'PENTHÉRÉAZ', '', 'VD', ''); + CreatePostCode.InsertData('1376', 'Eclagnens', 'ECLAGNENS', '', 'VD', ''); + CreatePostCode.InsertData('1376', 'Goumoens-la-Ville', 'GOUMOENS-LA-VILLE', '', 'VD', ''); + CreatePostCode.InsertData('1376', 'Goumoens-le-Jux', 'GOUMOENS-LE-JUX', '', 'VD', ''); + CreatePostCode.InsertData('1377', 'Oulens-sous-Echallens', 'OULENS-SOUS-ECHALLENS', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Cheseaux-Noréaz', 'CHESEAUX-NORÉAZ', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon', 'YVERDON', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon 2', 'YVERDON 2', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon car postal VD-Broye', 'YVERDON CAR POSTAL VD-BROYE', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon Caserne', 'YVERDON CASERNE', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon Distribution', 'YVERDON DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon-les-Bains', 'YVERDON-LES-BAINS', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon-les-Bains 1', 'YVERDON-LES-BAINS 1', '', 'VD', ''); + CreatePostCode.InsertData('1400', 'Yverdon-les-Bains Gare CFF', 'YVERDON-LES-BAINS GARE CFF', '', 'VD', ''); + CreatePostCode.InsertData('1401', 'Yverdon Conseil et vente', 'YVERDON CONSEIL ET VENTE', '', 'VD', ''); + CreatePostCode.InsertData('1401', 'Yverdon-les-Bains', 'YVERDON-LES-BAINS', '', 'VD', ''); + CreatePostCode.InsertData('1404', 'Cuarny', 'CUARNY', '', 'VD', ''); + CreatePostCode.InsertData('1404', 'Villars-Epeney', 'VILLARS-EPENEY', '', 'VD', ''); + CreatePostCode.InsertData('1405', 'Pomy', 'POMY', '', 'VD', ''); + CreatePostCode.InsertData('1406', 'Cronay', 'CRONAY', '', 'VD', ''); + CreatePostCode.InsertData('1407', 'Bioley-Magnoux', 'BIOLEY-MAGNOUX', '', 'VD', ''); + CreatePostCode.InsertData('1407', 'Donneloye', 'DONNELOYE', '', 'VD', ''); + CreatePostCode.InsertData('1407', 'Gossens', 'GOSSENS', '', 'VD', ''); + CreatePostCode.InsertData('1407', 'Mézery-près-Donneloye', 'MÉZERY-PRÈS-DONNELOYE', '', 'VD', ''); + CreatePostCode.InsertData('1408', 'Prahins', 'PRAHINS', '', 'VD', ''); + CreatePostCode.InsertData('1409', 'Chanéaz', 'CHANÉAZ', '', 'VD', ''); + CreatePostCode.InsertData('1410', 'Correvon', 'CORREVON', '', 'VD', ''); + CreatePostCode.InsertData('1410', 'Denezy', 'DENEZY', '', 'VD', ''); + CreatePostCode.InsertData('1410', 'Prévondavaux', 'PRÉVONDAVAUX', '', 'FR', ''); + CreatePostCode.InsertData('1410', 'St-Cierges', 'ST-CIERGES', '', 'VD', ''); + CreatePostCode.InsertData('1410', 'Thierrens', 'THIERRENS', '', 'VD', ''); + CreatePostCode.InsertData('1412', 'Ursins', 'URSINS', '', 'VD', ''); + CreatePostCode.InsertData('1412', 'Valeyres-sous-Ursins', 'VALEYRES-SOUS-URSINS', '', 'VD', ''); + CreatePostCode.InsertData('1413', 'Orzens', 'ORZENS', '', 'VD', ''); + CreatePostCode.InsertData('1415', 'Démoret', 'DÉMORET', '', 'VD', ''); + CreatePostCode.InsertData('1415', 'Molondin', 'MOLONDIN', '', 'VD', ''); + CreatePostCode.InsertData('1416', 'Pailly', 'PAILLY', '', 'VD', ''); + CreatePostCode.InsertData('1417', 'Epautheyres', 'EPAUTHEYRES', '', 'VD', ''); + CreatePostCode.InsertData('1417', 'Essertines-sur-Yverdon', 'ESSERTINES-SUR-YVERDON', '', 'VD', ''); + CreatePostCode.InsertData('1418', 'Vuarrens', 'VUARRENS', '', 'VD', ''); + CreatePostCode.InsertData('1420', 'Fiez', 'FIEZ', '', 'VD', ''); + CreatePostCode.InsertData('1421', 'Fontaines-sur-Grandson', 'FONTAINES-SUR-GRANDSON', '', 'VD', ''); + CreatePostCode.InsertData('1421', 'Grandevent', 'GRANDEVENT', '', 'VD', ''); + CreatePostCode.InsertData('1422', 'Grandson', 'GRANDSON', '', 'VD', ''); + CreatePostCode.InsertData('1423', 'Fontanezier', 'FONTANEZIER', '', 'VD', ''); + CreatePostCode.InsertData('1423', 'Romairon', 'ROMAIRON', '', 'VD', ''); + CreatePostCode.InsertData('1423', 'Vaugondry', 'VAUGONDRY', '', 'VD', ''); + CreatePostCode.InsertData('1423', 'Villars-Burquin', 'VILLARS-BURQUIN', '', 'VD', ''); + CreatePostCode.InsertData('1424', 'Champagne', 'CHAMPAGNE', '', 'VD', ''); + CreatePostCode.InsertData('1425', 'Onnens VD', 'ONNENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1426', 'Concise', 'CONCISE', '', 'VD', ''); + CreatePostCode.InsertData('1426', 'Corcelles-près-Concise', 'CORCELLES-PRÈS-CONCISE', '', 'VD', ''); + CreatePostCode.InsertData('1427', 'Bonvillars', 'BONVILLARS', '', 'VD', ''); + CreatePostCode.InsertData('1428', 'Mutrux', 'MUTRUX', '', 'VD', ''); + CreatePostCode.InsertData('1428', 'Provence', 'PROVENCE', '', 'VD', ''); + CreatePostCode.InsertData('1429', 'Giez', 'GIEZ', '', 'VD', ''); + CreatePostCode.InsertData('1430', 'Orges', 'ORGES', '', 'VD', ''); + CreatePostCode.InsertData('1431', 'Novalles', 'NOVALLES', '', 'VD', ''); + CreatePostCode.InsertData('1431', 'Vugelles-La Mothe', 'VUGELLES-LA MOTHE', '', 'VD', ''); + CreatePostCode.InsertData('1432', 'Belmont-sur-Yverdon', 'BELMONT-SUR-YVERDON', '', 'VD', ''); + CreatePostCode.InsertData('1432', 'Gressy', 'GRESSY', '', 'VD', ''); + CreatePostCode.InsertData('1433', 'Suchy', 'SUCHY', '', 'VD', ''); + CreatePostCode.InsertData('1434', 'Ependes VD', 'EPENDES VD', '', 'VD', ''); + CreatePostCode.InsertData('1435', 'Essert-Pittet', 'ESSERT-PITTET', '', 'VD', ''); + CreatePostCode.InsertData('1436', 'Chamblon', 'CHAMBLON', '', 'VD', ''); + CreatePostCode.InsertData('1436', 'Treycovagnes', 'TREYCOVAGNES', '', 'VD', ''); + CreatePostCode.InsertData('1437', 'Suscévaz', 'SUSCÉVAZ', '', 'VD', ''); + CreatePostCode.InsertData('1438', 'Mathod', 'MATHOD', '', 'VD', ''); + CreatePostCode.InsertData('1439', 'Rances', 'RANCES', '', 'VD', ''); + CreatePostCode.InsertData('1440', 'Montagny-Chamard', 'MONTAGNY-CHAMARD', '', 'VD', ''); + CreatePostCode.InsertData('1441', 'Valeyres-sous-Montagny', 'VALEYRES-SOUS-MONTAGNY', '', 'VD', ''); + CreatePostCode.InsertData('1442', 'Montagny-près-Yverdon', 'MONTAGNY-PRÈS-YVERDON', '', 'VD', ''); + CreatePostCode.InsertData('1443', 'Champvent', 'CHAMPVENT', '', 'VD', ''); + CreatePostCode.InsertData('1443', 'Essert-sous-Champvent', 'ESSERT-SOUS-CHAMPVENT', '', 'VD', ''); + CreatePostCode.InsertData('1443', 'Villars-sous-Champvent', 'VILLARS-SOUS-CHAMPVENT', '', 'VD', ''); + CreatePostCode.InsertData('1445', 'Vuiteboeuf', 'VUITEBOEUF', '', 'VD', ''); + CreatePostCode.InsertData('1446', 'Baulmes', 'BAULMES', '', 'VD', ''); + CreatePostCode.InsertData('1450', 'La Sagne (Ste-Croix)', 'LA SAGNE (STE-CROIX)', '', 'VD', ''); + CreatePostCode.InsertData('1450', 'Le Château-de-Ste-Croix', 'LE CHÂTEAU-DE-STE-CROIX', '', 'VD', ''); + CreatePostCode.InsertData('1450', 'Ste-Croix', 'STE-CROIX', '', 'VD', ''); + CreatePostCode.InsertData('1450', 'Ste-Croix Distribution', 'STE-CROIX DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1452', 'Les Rasses', 'LES RASSES', '', 'VD', ''); + CreatePostCode.InsertData('1453', 'Bullet', 'BULLET', '', 'VD', ''); + CreatePostCode.InsertData('1453', 'Mauborget', 'MAUBORGET', '', 'VD', ''); + CreatePostCode.InsertData('1454', 'La Vraconnaz', 'LA VRACONNAZ', '', 'VD', ''); + CreatePostCode.InsertData('1454', 'L''Auberson', 'L''AUBERSON', '', 'VD', ''); + CreatePostCode.InsertData('1462', 'Yvonand', 'YVONAND', '', 'VD', ''); + CreatePostCode.InsertData('1463', 'Rovray', 'ROVRAY', '', 'VD', ''); + CreatePostCode.InsertData('1464', 'Chavannes-le-Chêne', 'CHAVANNES-LE-CHÊNE', '', 'VD', ''); + CreatePostCode.InsertData('1464', 'Chêne-Pâquier', 'CHÊNE-PÂQUIER', '', 'VD', ''); + CreatePostCode.InsertData('1468', 'Cheyres', 'CHEYRES', '', 'FR', ''); + CreatePostCode.InsertData('1470', 'Bollion', 'BOLLION', '', 'FR', ''); + CreatePostCode.InsertData('1470', 'Estavayer-le-Lac', 'ESTAVAYER-LE-LAC', '', 'FR', ''); + CreatePostCode.InsertData('1470', 'Lully FR', 'LULLY FR', '', 'FR', ''); + CreatePostCode.InsertData('1470', 'Seiry', 'SEIRY', '', 'FR', ''); + CreatePostCode.InsertData('1473', 'Châtillon FR', 'CHÂTILLON FR', '', 'FR', ''); + CreatePostCode.InsertData('1473', 'Font', 'FONT', '', 'FR', ''); + CreatePostCode.InsertData('1474', 'Châbles FR', 'CHÂBLES FR', '', 'FR', ''); + CreatePostCode.InsertData('1475', 'Autavaux', 'AUTAVAUX', '', 'FR', ''); + CreatePostCode.InsertData('1475', 'Forel FR', 'FOREL FR', '', 'FR', ''); + CreatePostCode.InsertData('1475', 'Montbrelloz', 'MONTBRELLOZ', '', 'FR', ''); + CreatePostCode.InsertData('1482', 'Cugy FR', 'CUGY FR', '', 'FR', ''); + CreatePostCode.InsertData('1483', 'Frasses', 'FRASSES', '', 'FR', ''); + CreatePostCode.InsertData('1483', 'Montet (Broye)', 'MONTET (BROYE)', '', 'FR', ''); + CreatePostCode.InsertData('1483', 'Vesin', 'VESIN', '', 'FR', ''); + CreatePostCode.InsertData('1484', 'Aumont', 'AUMONT', '', 'FR', ''); + CreatePostCode.InsertData('1484', 'Granges-de-Vesin', 'GRANGES-DE-VESIN', '', 'FR', ''); + CreatePostCode.InsertData('1485', 'Nuvilly', 'NUVILLY', '', 'FR', ''); + CreatePostCode.InsertData('1486', 'Vuissens', 'VUISSENS', '', 'FR', ''); + CreatePostCode.InsertData('1489', 'Murist', 'MURIST', '', 'FR', ''); + CreatePostCode.InsertData('1509', 'Vucherens', 'VUCHERENS', '', 'VD', ''); + CreatePostCode.InsertData('1510', 'Moudon', 'MOUDON', '', 'VD', ''); + CreatePostCode.InsertData('1510', 'Moudon Caserne', 'MOUDON CASERNE', '', 'VD', ''); + CreatePostCode.InsertData('1510', 'Moudon Distribution', 'MOUDON DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1510', 'Syens', 'SYENS', '', 'VD', ''); + CreatePostCode.InsertData('1512', 'Chavannes-sur-Moudon', 'CHAVANNES-SUR-MOUDON', '', 'VD', ''); + CreatePostCode.InsertData('1513', 'Hermenches', 'HERMENCHES', '', 'VD', ''); + CreatePostCode.InsertData('1513', 'Rossenges', 'ROSSENGES', '', 'VD', ''); + CreatePostCode.InsertData('1514', 'Bussy-sur-Moudon', 'BUSSY-SUR-MOUDON', '', 'VD', ''); + CreatePostCode.InsertData('1515', 'Neyruz-sur-Moudon', 'NEYRUZ-SUR-MOUDON', '', 'VD', ''); + CreatePostCode.InsertData('1515', 'Villars-le-Comte', 'VILLARS-LE-COMTE', '', 'VD', ''); + CreatePostCode.InsertData('1521', 'Curtilles', 'CURTILLES', '', 'VD', ''); + CreatePostCode.InsertData('1522', 'Lucens', 'LUCENS', '', 'VD', ''); + CreatePostCode.InsertData('1522', 'Oulens-sur-Lucens', 'OULENS-SUR-LUCENS', '', 'VD', ''); + CreatePostCode.InsertData('1523', 'Granges-près-Marnand', 'GRANGES-PRÈS-MARNAND', '', 'VD', ''); + CreatePostCode.InsertData('1524', 'Marnand', 'MARNAND', '', 'VD', ''); + CreatePostCode.InsertData('1525', 'Henniez', 'HENNIEZ', '', 'VD', ''); + CreatePostCode.InsertData('1525', 'Seigneux', 'SEIGNEUX', '', 'VD', ''); + CreatePostCode.InsertData('1526', 'Cremin', 'CREMIN', '', 'VD', ''); + CreatePostCode.InsertData('1526', 'Forel-sur-Lucens', 'FOREL-SUR-LUCENS', '', 'VD', ''); + CreatePostCode.InsertData('1527', 'Villeneuve FR', 'VILLENEUVE FR', '', 'FR', ''); + CreatePostCode.InsertData('1528', 'Praratoud', 'PRARATOUD', '', 'FR', ''); + CreatePostCode.InsertData('1528', 'Surpierre', 'SURPIERRE', '', 'FR', ''); + CreatePostCode.InsertData('1529', 'Cheiry', 'CHEIRY', '', 'FR', ''); + CreatePostCode.InsertData('1530', 'Payerne', 'PAYERNE', '', 'VD', ''); + CreatePostCode.InsertData('1530', 'Payerne Caserne', 'PAYERNE CASERNE', '', 'VD', ''); + CreatePostCode.InsertData('1530', 'Payerne Distribution', 'PAYERNE DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1532', 'Fétigny', 'FÉTIGNY', '', 'FR', ''); + CreatePostCode.InsertData('1532', 'Fétigny Dist Fil', 'FÉTIGNY DIST FIL', '', 'FR', ''); + CreatePostCode.InsertData('1532', 'Fétigny PL3', 'FÉTIGNY PL3', '', 'FR', ''); + CreatePostCode.InsertData('1533', 'Ménières', 'MÉNIÈRES', '', 'FR', ''); + CreatePostCode.InsertData('1534', 'Chapelle (Broye)', 'CHAPELLE (BROYE)', '', 'FR', ''); + CreatePostCode.InsertData('1534', 'Sassel', 'SASSEL', '', 'VD', ''); + CreatePostCode.InsertData('1535', 'Combremont-le-Grand', 'COMBREMONT-LE-GRAND', '', 'VD', ''); + CreatePostCode.InsertData('1536', 'Combremont-le-Petit', 'COMBREMONT-LE-PETIT', '', 'VD', ''); + CreatePostCode.InsertData('1537', 'Champtauroz', 'CHAMPTAUROZ', '', 'VD', ''); + CreatePostCode.InsertData('1538', 'Treytorrens (Payerne)', 'TREYTORRENS (PAYERNE)', '', 'VD', ''); + CreatePostCode.InsertData('1541', 'Bussy FR', 'BUSSY FR', '', 'FR', ''); + CreatePostCode.InsertData('1541', 'Morens FR', 'MORENS FR', '', 'FR', ''); + CreatePostCode.InsertData('1541', 'Sévaz', 'SÉVAZ', '', 'FR', ''); + CreatePostCode.InsertData('1542', 'Rueyres-les-Prés', 'RUEYRES-LES-PRÉS', '', 'FR', ''); + CreatePostCode.InsertData('1543', 'Grandcour', 'GRANDCOUR', '', 'VD', ''); + CreatePostCode.InsertData('1544', 'Gletterens', 'GLETTERENS', '', 'FR', ''); + CreatePostCode.InsertData('1545', 'Chevroux', 'CHEVROUX', '', 'VD', ''); + CreatePostCode.InsertData('1551', 'Vers-chez-Perrin', 'VERS-CHEZ-PERRIN', '', 'VD', ''); + CreatePostCode.InsertData('1552', 'Trey', 'TREY', '', 'VD', ''); + CreatePostCode.InsertData('1553', 'Châtonnaye', 'CHÂTONNAYE', '', 'FR', ''); + CreatePostCode.InsertData('1554', 'Rossens VD', 'ROSSENS VD', '', 'VD', ''); + CreatePostCode.InsertData('1554', 'Sédeilles', 'SÉDEILLES', '', 'VD', ''); + CreatePostCode.InsertData('1555', 'Villarzel', 'VILLARZEL', '', 'VD', ''); + CreatePostCode.InsertData('1562', 'Corcelles-près-Payerne', 'CORCELLES-PRÈS-PAYERNE', '', 'VD', ''); + CreatePostCode.InsertData('1563', 'Dompierre FR', 'DOMPIERRE FR', '', 'FR', ''); + CreatePostCode.InsertData('1564', 'Domdidier', 'DOMDIDIER', '', 'FR', ''); + CreatePostCode.InsertData('1565', 'Missy', 'MISSY', '', 'VD', ''); + CreatePostCode.InsertData('1565', 'Vallon', 'VALLON', '', 'FR', ''); + CreatePostCode.InsertData('1566', 'Les Friques', 'LES FRIQUES', '', 'FR', ''); + CreatePostCode.InsertData('1566', 'St-Aubin FR', 'ST-AUBIN FR', '', 'FR', ''); + CreatePostCode.InsertData('1567', 'Delley', 'DELLEY', '', 'FR', ''); + CreatePostCode.InsertData('1568', 'Portalban', 'PORTALBAN', '', 'FR', ''); + CreatePostCode.InsertData('1580', 'Avenches', 'AVENCHES', '', 'VD', ''); + CreatePostCode.InsertData('1580', 'Avenches Distribution', 'AVENCHES DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1580', 'Donatyre', 'DONATYRE', '', 'VD', ''); + CreatePostCode.InsertData('1580', 'Oleyres', 'OLEYRES', '', 'VD', ''); + CreatePostCode.InsertData('1583', 'Villarepos', 'VILLAREPOS', '', 'FR', ''); + CreatePostCode.InsertData('1584', 'Villars-le-Grand', 'VILLARS-LE-GRAND', '', 'VD', ''); + CreatePostCode.InsertData('1585', 'Bellerive VD', 'BELLERIVE VD', '', 'VD', ''); + CreatePostCode.InsertData('1585', 'Cotterd', 'COTTERD', '', 'VD', ''); + CreatePostCode.InsertData('1585', 'Salavaux', 'SALAVAUX', '', 'VD', ''); + CreatePostCode.InsertData('1586', 'Vallamand', 'VALLAMAND', '', 'VD', ''); + CreatePostCode.InsertData('1587', 'Constantine', 'CONSTANTINE', '', 'VD', ''); + CreatePostCode.InsertData('1587', 'Montmagny', 'MONTMAGNY', '', 'VD', ''); + CreatePostCode.InsertData('1588', 'Cudrefin', 'CUDREFIN', '', 'VD', ''); + CreatePostCode.InsertData('1589', 'Chabrey', 'CHABREY', '', 'VD', ''); + CreatePostCode.InsertData('1595', 'Clavaleyres', 'CLAVALEYRES', '', 'BE', ''); + CreatePostCode.InsertData('1595', 'Faoug', 'FAOUG', '', 'VD', ''); + CreatePostCode.InsertData('1607', 'Les Tavernes', 'LES TAVERNES', '', 'VD', ''); + CreatePostCode.InsertData('1607', 'Les Thioleyres', 'LES THIOLEYRES', '', 'VD', ''); + CreatePostCode.InsertData('1607', 'Palézieux', 'PALÉZIEUX', '', 'VD', ''); + CreatePostCode.InsertData('1607', 'Palézieux Distribution', 'PALÉZIEUX DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1607', 'Palézieux-Village', 'PALÉZIEUX-VILLAGE', '', 'VD', ''); + CreatePostCode.InsertData('1608', 'Bussigny-sur-Oron', 'BUSSIGNY-SUR-ORON', '', 'VD', ''); + CreatePostCode.InsertData('1608', 'Chapelle (Glâne)', 'CHAPELLE (GLÂNE)', '', 'FR', ''); + CreatePostCode.InsertData('1608', 'Chesalles-sur-Oron', 'CHESALLES-SUR-ORON', '', 'VD', ''); + CreatePostCode.InsertData('1608', 'Oron-le-Châtel', 'ORON-LE-CHÂTEL', '', 'VD', ''); + CreatePostCode.InsertData('1609', 'Besencens', 'BESENCENS', '', 'FR', ''); + CreatePostCode.InsertData('1609', 'Fiaugères', 'FIAUGÈRES', '', 'FR', ''); + CreatePostCode.InsertData('1609', 'St-Martin FR', 'ST-MARTIN FR', '', 'FR', ''); + CreatePostCode.InsertData('1610', 'Châtillens', 'CHÂTILLENS', '', 'VD', ''); + CreatePostCode.InsertData('1610', 'Oron-la-Ville', 'ORON-LA-VILLE', '', 'VD', ''); + CreatePostCode.InsertData('1610', 'Vuibroye', 'VUIBROYE', '', 'VD', ''); + CreatePostCode.InsertData('1611', 'Le Crêt-près-Semsales', 'LE CRÊT-PRÈS-SEMSALES', '', 'FR', ''); + CreatePostCode.InsertData('1612', 'Ecoteaux', 'ECOTEAUX', '', 'VD', ''); + CreatePostCode.InsertData('1613', 'Maracon', 'MARACON', '', 'VD', ''); + CreatePostCode.InsertData('1614', 'Granges (Veveyse)', 'GRANGES (VEVEYSE)', '', 'FR', ''); + CreatePostCode.InsertData('1615', 'Bossonnens', 'BOSSONNENS', '', 'FR', ''); + CreatePostCode.InsertData('1616', 'Attalens', 'ATTALENS', '', 'FR', ''); + CreatePostCode.InsertData('1617', 'Remaufens', 'REMAUFENS', '', 'FR', ''); + CreatePostCode.InsertData('1617', 'Tatroz', 'TATROZ', '', 'FR', ''); + CreatePostCode.InsertData('1618', 'Châtel-St-Denis', 'CHÂTEL-ST-DENIS', '', 'FR', ''); + CreatePostCode.InsertData('1618', 'Châtel-St-Denis Dist', 'CHÂTEL-ST-DENIS DIST', '', 'FR', ''); + CreatePostCode.InsertData('1619', 'Les Paccots', 'LES PACCOTS', '', 'FR', ''); + CreatePostCode.InsertData('1623', 'Semsales', 'SEMSALES', '', 'FR', ''); + CreatePostCode.InsertData('1624', 'Grattavache', 'GRATTAVACHE', '', 'FR', ''); + CreatePostCode.InsertData('1624', 'La Verrerie', 'LA VERRERIE', '', 'FR', ''); + CreatePostCode.InsertData('1624', 'Progens', 'PROGENS', '', 'FR', ''); + CreatePostCode.InsertData('1625', 'Maules', 'MAULES', '', 'FR', ''); + CreatePostCode.InsertData('1625', 'Sâles (Gruyère)', 'SÂLES (GRUYÈRE)', '', 'FR', ''); + CreatePostCode.InsertData('1626', 'Romanens', 'ROMANENS', '', 'FR', ''); + CreatePostCode.InsertData('1626', 'Rueyres-Treyfayes', 'RUEYRES-TREYFAYES', '', 'FR', ''); + CreatePostCode.InsertData('1626', 'Treyfayes', 'TREYFAYES', '', 'FR', ''); + CreatePostCode.InsertData('1627', 'Vaulruz', 'VAULRUZ', '', 'FR', ''); + CreatePostCode.InsertData('1628', 'Vuadens', 'VUADENS', '', 'FR', ''); + CreatePostCode.InsertData('1630', 'Bulle', 'BULLE', '', 'FR', ''); + CreatePostCode.InsertData('1630', 'Bulle 1', 'BULLE 1', '', 'FR', ''); + CreatePostCode.InsertData('1630', 'Bulle 1 Distribution', 'BULLE 1 DISTRIBUTION', '', 'FR', ''); + CreatePostCode.InsertData('1630', 'Bulle 2', 'BULLE 2', '', 'FR', ''); + CreatePostCode.InsertData('1630', 'Bulle Dist Fil', 'BULLE DIST FIL', '', 'FR', ''); + CreatePostCode.InsertData('1631', 'Bulle', 'BULLE', '', 'FR', ''); + CreatePostCode.InsertData('1632', 'Riaz', 'RIAZ', '', 'FR', ''); + CreatePostCode.InsertData('1633', 'Marsens', 'MARSENS', '', 'FR', ''); + CreatePostCode.InsertData('1633', 'Vuippens', 'VUIPPENS', '', 'FR', ''); + CreatePostCode.InsertData('1634', 'La Roche FR', 'LA ROCHE FR', '', 'FR', ''); + CreatePostCode.InsertData('1635', 'La Tour-de-Trême', 'LA TOUR-DE-TRÊME', '', 'FR', ''); + CreatePostCode.InsertData('1636', 'Broc', 'BROC', '', 'FR', ''); + CreatePostCode.InsertData('1637', 'Charmey (Gruyère)', 'CHARMEY (GRUYÈRE)', '', 'FR', ''); + CreatePostCode.InsertData('1638', 'Morlon', 'MORLON', '', 'FR', ''); + CreatePostCode.InsertData('1642', 'Sorens', 'SORENS', '', 'FR', ''); + CreatePostCode.InsertData('1643', 'Gumefens', 'GUMEFENS', '', 'FR', ''); + CreatePostCode.InsertData('1644', 'Avry-devant-Pont', 'AVRY-DEVANT-PONT', '', 'FR', ''); + CreatePostCode.InsertData('1645', 'Le Bry', 'LE BRY', '', 'FR', ''); + CreatePostCode.InsertData('1646', 'Echarlens', 'ECHARLENS', '', 'FR', ''); + CreatePostCode.InsertData('1647', 'Corbières', 'CORBIÈRES', '', 'FR', ''); + CreatePostCode.InsertData('1648', 'Hauteville', 'HAUTEVILLE', '', 'FR', ''); + CreatePostCode.InsertData('1649', 'Pont-la-Ville', 'PONT-LA-VILLE', '', 'FR', ''); + CreatePostCode.InsertData('1651', 'Villarvolard', 'VILLARVOLARD', '', 'FR', ''); + CreatePostCode.InsertData('1652', 'Botterens', 'BOTTERENS', '', 'FR', ''); + CreatePostCode.InsertData('1652', 'Villarbeney', 'VILLARBENEY', '', 'FR', ''); + CreatePostCode.InsertData('1653', 'Châtel-sur-Montsalvens', 'CHÂTEL-SUR-MONTSALVENS', '', 'FR', ''); + CreatePostCode.InsertData('1653', 'Crésuz', 'CRÉSUZ', '', 'FR', ''); + CreatePostCode.InsertData('1654', 'Cerniat FR', 'CERNIAT FR', '', 'FR', ''); + CreatePostCode.InsertData('1656', 'Im Fang', 'IM FANG', '', 'FR', ''); + CreatePostCode.InsertData('1656', 'Jaun', 'JAUN', '', 'FR', ''); + CreatePostCode.InsertData('1657', 'Abländschen', 'ABLÄNDSCHEN', '', 'BE', ''); + CreatePostCode.InsertData('1658', 'La Tine', 'LA TINE', '', 'VD', ''); + CreatePostCode.InsertData('1658', 'Rossinière', 'ROSSINIÈRE', '', 'VD', ''); + CreatePostCode.InsertData('1659', 'Flendruz', 'FLENDRUZ', '', 'VD', ''); + CreatePostCode.InsertData('1659', 'Rougemont', 'ROUGEMONT', '', 'VD', ''); + CreatePostCode.InsertData('1660', 'Château-d''Oex', 'CHÂTEAU-D''OEX', '', 'VD', ''); + CreatePostCode.InsertData('1660', 'La Lécherette', 'LA LÉCHERETTE', '', 'VD', ''); + CreatePostCode.InsertData('1660', 'Les Moulins', 'LES MOULINS', '', 'VD', ''); + CreatePostCode.InsertData('1660', 'L''Etivaz', 'L''ETIVAZ', '', 'VD', ''); + CreatePostCode.InsertData('1661', 'Le Pâquier-Montbarry', 'LE PÂQUIER-MONTBARRY', '', 'FR', ''); + CreatePostCode.InsertData('1663', 'Epagny', 'EPAGNY', '', 'FR', ''); + CreatePostCode.InsertData('1663', 'Gruyères', 'GRUYÈRES', '', 'FR', ''); + CreatePostCode.InsertData('1663', 'Gruyères Vieille Ville', 'GRUYÈRES VIEILLE VILLE', '', 'FR', ''); + CreatePostCode.InsertData('1663', 'Moléson-sur-Gruyères', 'MOLÉSON-SUR-GRUYÈRES', '', 'FR', ''); + CreatePostCode.InsertData('1663', 'Pringy', 'PRINGY', '', 'FR', ''); + CreatePostCode.InsertData('1665', 'Estavannens', 'ESTAVANNENS', '', 'FR', ''); + CreatePostCode.InsertData('1666', 'Grandvillard', 'GRANDVILLARD', '', 'FR', ''); + CreatePostCode.InsertData('1666', 'Grandvillard Dist', 'GRANDVILLARD DIST', '', 'FR', ''); + CreatePostCode.InsertData('1666', 'Villars-sous-Mont', 'VILLARS-SOUS-MONT', '', 'FR', ''); + CreatePostCode.InsertData('1667', 'Enney', 'ENNEY', '', 'FR', ''); + CreatePostCode.InsertData('1669', 'Albeuve', 'ALBEUVE', '', 'FR', ''); + CreatePostCode.InsertData('1669', 'Les Sciernes-d''Albeuve', 'LES SCIERNES-D''ALBEUVE', '', 'FR', ''); + CreatePostCode.InsertData('1669', 'Lessoc', 'LESSOC', '', 'FR', ''); + CreatePostCode.InsertData('1669', 'Montbovon', 'MONTBOVON', '', 'FR', ''); + CreatePostCode.InsertData('1669', 'Neirivue', 'NEIRIVUE', '', 'FR', ''); + CreatePostCode.InsertData('1670', 'Bionnens', 'BIONNENS', '', 'FR', ''); + CreatePostCode.InsertData('1670', 'Esmonts', 'ESMONTS', '', 'FR', ''); + CreatePostCode.InsertData('1670', 'Ursy', 'URSY', '', 'FR', ''); + CreatePostCode.InsertData('1673', 'Auboranges', 'AUBORANGES', '', 'FR', ''); + CreatePostCode.InsertData('1673', 'Ecublens FR', 'ECUBLENS FR', '', 'FR', ''); + CreatePostCode.InsertData('1673', 'Gillarens', 'GILLARENS', '', 'FR', ''); + CreatePostCode.InsertData('1673', 'Promasens', 'PROMASENS', '', 'FR', ''); + CreatePostCode.InsertData('1673', 'Rue', 'RUE', '', 'FR', ''); + CreatePostCode.InsertData('1674', 'Montet (Glâne)', 'MONTET (GLÂNE)', '', 'FR', ''); + CreatePostCode.InsertData('1674', 'Morlens', 'MORLENS', '', 'FR', ''); + CreatePostCode.InsertData('1674', 'Vuarmarens', 'VUARMARENS', '', 'FR', ''); + CreatePostCode.InsertData('1675', 'Blessens', 'BLESSENS', '', 'FR', ''); + CreatePostCode.InsertData('1675', 'Mossel', 'MOSSEL', '', 'FR', ''); + CreatePostCode.InsertData('1675', 'Vauderens', 'VAUDERENS', '', 'FR', ''); + CreatePostCode.InsertData('1676', 'Chavannes-les-Forts', 'CHAVANNES-LES-FORTS', '', 'FR', ''); + CreatePostCode.InsertData('1677', 'Prez-vers-Siviriez', 'PREZ-VERS-SIVIRIEZ', '', 'FR', ''); + CreatePostCode.InsertData('1678', 'Siviriez', 'SIVIRIEZ', '', 'FR', ''); + CreatePostCode.InsertData('1679', 'Villaraboud', 'VILLARABOUD', '', 'FR', ''); + CreatePostCode.InsertData('1680', 'Berlens', 'BERLENS', '', 'FR', ''); + CreatePostCode.InsertData('1680', 'Romont Caserne', 'ROMONT CASERNE', '', 'FR', ''); + CreatePostCode.InsertData('1680', 'Romont FR', 'ROMONT FR', '', 'FR', ''); + CreatePostCode.InsertData('1680', 'Romont FR Distribution', 'ROMONT FR DISTRIBUTION', '', 'FR', ''); + CreatePostCode.InsertData('1681', 'Billens', 'BILLENS', '', 'FR', ''); + CreatePostCode.InsertData('1681', 'Hennens', 'HENNENS', '', 'FR', ''); + CreatePostCode.InsertData('1682', 'Cerniaz VD', 'CERNIAZ VD', '', 'VD', ''); + CreatePostCode.InsertData('1682', 'Dompierre VD', 'DOMPIERRE VD', '', 'VD', ''); + CreatePostCode.InsertData('1682', 'Lovatens', 'LOVATENS', '', 'VD', ''); + CreatePostCode.InsertData('1682', 'Prévonloup', 'PRÉVONLOUP', '', 'VD', ''); + CreatePostCode.InsertData('1682', 'Villars-Bramard', 'VILLARS-BRAMARD', '', 'VD', ''); + CreatePostCode.InsertData('1683', 'Brenles', 'BRENLES', '', 'VD', ''); + CreatePostCode.InsertData('1683', 'Chesalles-sur-Moudon', 'CHESALLES-SUR-MOUDON', '', 'VD', ''); + CreatePostCode.InsertData('1683', 'Sarzens', 'SARZENS', '', 'VD', ''); + CreatePostCode.InsertData('1684', 'Mézières FR', 'MÉZIÈRES FR', '', 'FR', ''); + CreatePostCode.InsertData('1685', 'Villariaz', 'VILLARIAZ', '', 'FR', ''); + CreatePostCode.InsertData('1686', 'Grangettes-près-Romont', 'GRANGETTES-PRÈS-ROMONT', '', 'FR', ''); + CreatePostCode.InsertData('1686', 'La Neirigue', 'LA NEIRIGUE', '', 'FR', ''); + CreatePostCode.InsertData('1687', 'Estévenens', 'ESTÉVENENS', '', 'FR', ''); + CreatePostCode.InsertData('1687', 'La Magne', 'LA MAGNE', '', 'FR', ''); + CreatePostCode.InsertData('1687', 'Vuisternens-devant-Romont', 'VUISTERNENS-DEVANT-ROMONT', '', 'FR', ''); + CreatePostCode.InsertData('1688', 'Lieffrens', 'LIEFFRENS', '', 'FR', ''); + CreatePostCode.InsertData('1688', 'Sommentier', 'SOMMENTIER', '', 'FR', ''); + CreatePostCode.InsertData('1689', 'Le Châtelard-près-Romont', 'LE CHÂTELARD-PRÈS-ROMONT', '', 'FR', ''); + CreatePostCode.InsertData('1690', 'Lussy FR', 'LUSSY FR', '', 'FR', ''); + CreatePostCode.InsertData('1690', 'Villaz-St-Pierre', 'VILLAZ-ST-PIERRE', '', 'FR', ''); + CreatePostCode.InsertData('1691', 'Villarimboud', 'VILLARIMBOUD', '', 'FR', ''); + CreatePostCode.InsertData('1692', 'Massonnens', 'MASSONNENS', '', 'FR', ''); + CreatePostCode.InsertData('1694', 'Chavannes-sous-Orsonnens', 'CHAVANNES-SOUS-ORSONNENS', '', 'FR', ''); + CreatePostCode.InsertData('1694', 'Orsonnens', 'ORSONNENS', '', 'FR', ''); + CreatePostCode.InsertData('1694', 'Villargiroud', 'VILLARGIROUD', '', 'FR', ''); + CreatePostCode.InsertData('1694', 'Villarsiviriaux', 'VILLARSIVIRIAUX', '', 'FR', ''); + CreatePostCode.InsertData('1695', 'Estavayer-le-Gibloux', 'ESTAVAYER-LE-GIBLOUX', '', 'FR', ''); + CreatePostCode.InsertData('1695', 'Rueyres-St-Laurent', 'RUEYRES-ST-LAURENT', '', 'FR', ''); + CreatePostCode.InsertData('1695', 'Villarlod', 'VILLARLOD', '', 'FR', ''); + CreatePostCode.InsertData('1695', 'Villarsel-le-Gibloux', 'VILLARSEL-LE-GIBLOUX', '', 'FR', ''); + CreatePostCode.InsertData('1696', 'Vuisternens-en-Ogoz', 'VUISTERNENS-EN-OGOZ', '', 'FR', ''); + CreatePostCode.InsertData('1697', 'La Joux FR', 'LA JOUX FR', '', 'FR', ''); + CreatePostCode.InsertData('1697', 'Les Ecasseys', 'LES ECASSEYS', '', 'FR', ''); + CreatePostCode.InsertData('1699', 'Bouloz', 'BOULOZ', '', 'FR', ''); + CreatePostCode.InsertData('1699', 'Pont (Veveyse)', 'PONT (VEVEYSE)', '', 'FR', ''); + CreatePostCode.InsertData('1699', 'Porsel', 'PORSEL', '', 'FR', ''); + CreatePostCode.InsertData('1700', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1700', 'Fribourg 1', 'FRIBOURG 1', '', 'FR', ''); + CreatePostCode.InsertData('1700', 'Fribourg 1 Dépôt', 'FRIBOURG 1 DÉPÔT', '', 'FR', ''); + CreatePostCode.InsertData('1700', 'Fribourg 1 Distribution', 'FRIBOURG 1 DISTRIBUTION', '', 'FR', ''); + CreatePostCode.InsertData('1700', 'Fribourg Caserne', 'FRIBOURG CASERNE', '', 'FR', ''); + CreatePostCode.InsertData('1700', 'Fribourg PostFinance Fil.', 'FRIBOURG POSTFINANCE FIL.', '', 'FR', ''); + CreatePostCode.InsertData('1701', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1702', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1704', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1705', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1707', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1708', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1709', 'Fribourg', 'FRIBOURG', '', 'FR', ''); + CreatePostCode.InsertData('1712', 'Tafers', 'TAFERS', '', 'FR', ''); + CreatePostCode.InsertData('1713', 'St. Antoni', 'ST. ANTONI', '', 'FR', ''); + CreatePostCode.InsertData('1714', 'Heitenried', 'HEITENRIED', '', 'FR', ''); + CreatePostCode.InsertData('1715', 'Alterswil FR', 'ALTERSWIL FR', '', 'FR', ''); + CreatePostCode.InsertData('1716', 'Oberschrot', 'OBERSCHROT', '', 'FR', ''); + CreatePostCode.InsertData('1716', 'Plaffeien', 'PLAFFEIEN', '', 'FR', ''); + CreatePostCode.InsertData('1716', 'Schwarzsee', 'SCHWARZSEE', '', 'FR', ''); + CreatePostCode.InsertData('1717', 'St. Ursen', 'ST. URSEN', '', 'FR', ''); + CreatePostCode.InsertData('1718', 'Rechthalten', 'RECHTHALTEN', '', 'FR', ''); + CreatePostCode.InsertData('1719', 'Brünisried', 'BRÃœNISRIED', '', 'FR', ''); + CreatePostCode.InsertData('1719', 'Zumholz', 'ZUMHOLZ', '', 'FR', ''); + CreatePostCode.InsertData('1720', 'Chésopelloz', 'CHÉSOPELLOZ', '', 'FR', ''); + CreatePostCode.InsertData('1720', 'Corminboeuf', 'CORMINBOEUF', '', 'FR', ''); + CreatePostCode.InsertData('1721', 'Cormérod', 'CORMÉROD', '', 'FR', ''); + CreatePostCode.InsertData('1721', 'Cournillens', 'COURNILLENS', '', 'FR', ''); + CreatePostCode.InsertData('1721', 'Courtion', 'COURTION', '', 'FR', ''); + CreatePostCode.InsertData('1721', 'Misery', 'MISERY', '', 'FR', ''); + CreatePostCode.InsertData('1721', 'Misery-Courtion', 'MISERY-COURTION', '', 'FR', ''); + CreatePostCode.InsertData('1722', 'Bourguillon', 'BOURGUILLON', '', 'FR', ''); + CreatePostCode.InsertData('1723', 'Marly', 'MARLY', '', 'FR', ''); + CreatePostCode.InsertData('1723', 'Marly 1', 'MARLY 1', '', 'FR', ''); + CreatePostCode.InsertData('1723', 'Marly Grand Pré', 'MARLY GRAND PRÉ', '', 'FR', ''); + CreatePostCode.InsertData('1723', 'Pierrafortscha', 'PIERRAFORTSCHA', '', 'FR', ''); + CreatePostCode.InsertData('1723', 'Villarsel-sur-Marly', 'VILLARSEL-SUR-MARLY', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Bonnefontaine', 'BONNEFONTAINE', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Essert FR', 'ESSERT FR', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Ferpicloz', 'FERPICLOZ', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Le Mouret', 'LE MOURET', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Montévraz', 'MONTÉVRAZ', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Oberried FR', 'OBERRIED FR', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Senèdes', 'SENÈDES', '', 'FR', ''); + CreatePostCode.InsertData('1724', 'Zénauva', 'ZÉNAUVA', '', 'FR', ''); + CreatePostCode.InsertData('1725', 'Posieux', 'POSIEUX', '', 'FR', ''); + CreatePostCode.InsertData('1726', 'Farvagny', 'FARVAGNY', '', 'FR', ''); + CreatePostCode.InsertData('1726', 'Farvagny-le-Petit', 'FARVAGNY-LE-PETIT', '', 'FR', ''); + CreatePostCode.InsertData('1726', 'Grenilles', 'GRENILLES', '', 'FR', ''); + CreatePostCode.InsertData('1726', 'Posat', 'POSAT', '', 'FR', ''); + CreatePostCode.InsertData('1727', 'Corpataux-Magnedens', 'CORPATAUX-MAGNEDENS', '', 'FR', ''); + CreatePostCode.InsertData('1727', 'Magnedens', 'MAGNEDENS', '', 'FR', ''); + CreatePostCode.InsertData('1728', 'Rossens FR', 'ROSSENS FR', '', 'FR', ''); + CreatePostCode.InsertData('1730', 'Ecuvillens', 'ECUVILLENS', '', 'FR', ''); + CreatePostCode.InsertData('1731', 'Ependes FR', 'EPENDES FR', '', 'FR', ''); + CreatePostCode.InsertData('1732', 'Arconciel', 'ARCONCIEL', '', 'FR', ''); + CreatePostCode.InsertData('1733', 'Treyvaux', 'TREYVAUX', '', 'FR', ''); + CreatePostCode.InsertData('1734', 'Tentlingen', 'TENTLINGEN', '', 'FR', ''); + CreatePostCode.InsertData('1735', 'Giffers', 'GIFFERS', '', 'FR', ''); + CreatePostCode.InsertData('1736', 'St. Silvester', 'ST. SILVESTER', '', 'FR', ''); + CreatePostCode.InsertData('1737', 'Plasselb', 'PLASSELB', '', 'FR', ''); + CreatePostCode.InsertData('1738', 'Sangernboden', 'SANGERNBODEN', '', 'BE', ''); + CreatePostCode.InsertData('1740', 'Neyruz FR', 'NEYRUZ FR', '', 'FR', ''); + CreatePostCode.InsertData('1741', 'Cottens FR', 'COTTENS FR', '', 'FR', ''); + CreatePostCode.InsertData('1742', 'Autigny', 'AUTIGNY', '', 'FR', ''); + CreatePostCode.InsertData('1744', 'Chénens', 'CHÉNENS', '', 'FR', ''); + CreatePostCode.InsertData('1745', 'Lentigny', 'LENTIGNY', '', 'FR', ''); + CreatePostCode.InsertData('1746', 'Prez-vers-Noréaz', 'PREZ-VERS-NORÉAZ', '', 'FR', ''); + CreatePostCode.InsertData('1747', 'Corserey', 'CORSEREY', '', 'FR', ''); + CreatePostCode.InsertData('1748', 'Torny-le-Grand', 'TORNY-LE-GRAND', '', 'FR', ''); + CreatePostCode.InsertData('1749', 'Middes', 'MIDDES', '', 'FR', ''); + CreatePostCode.InsertData('1752', 'Villars-sur-Glâne', 'VILLARS-SUR-GLÂNE', '', 'FR', ''); + CreatePostCode.InsertData('1752', 'Villars-sur-Glâne 1', 'VILLARS-SUR-GLÂNE 1', '', 'FR', ''); + CreatePostCode.InsertData('1752', 'Villars-sur-Glâne 2', 'VILLARS-SUR-GLÂNE 2', '', 'FR', ''); + CreatePostCode.InsertData('1753', 'Matran', 'MATRAN', '', 'FR', ''); + CreatePostCode.InsertData('1754', 'Avry-Centre FR', 'AVRY-CENTRE FR', '', 'FR', ''); + CreatePostCode.InsertData('1754', 'Avry-sur-Matran', 'AVRY-SUR-MATRAN', '', 'FR', ''); + CreatePostCode.InsertData('1754', 'Corjolens', 'CORJOLENS', '', 'FR', ''); + CreatePostCode.InsertData('1754', 'Rosé', 'ROSÉ', '', 'FR', ''); + CreatePostCode.InsertData('1756', 'Lovens', 'LOVENS', '', 'FR', ''); + CreatePostCode.InsertData('1756', 'Onnens FR', 'ONNENS FR', '', 'FR', ''); + CreatePostCode.InsertData('1757', 'Noréaz', 'NORÉAZ', '', 'FR', ''); + CreatePostCode.InsertData('1762', 'Givisiez', 'GIVISIEZ', '', 'FR', ''); + CreatePostCode.InsertData('1762', 'Givisiez DB AFP', 'GIVISIEZ DB AFP', '', 'FR', ''); + CreatePostCode.InsertData('1762', 'Givisiez Dist Ba', 'GIVISIEZ DIST BA', '', 'FR', ''); + CreatePostCode.InsertData('1762', 'Givisiez PickPost', 'GIVISIEZ PICKPOST', '', 'FR', ''); + CreatePostCode.InsertData('1763', 'Granges-Paccot', 'GRANGES-PACCOT', '', 'FR', ''); + CreatePostCode.InsertData('1772', 'Grolley', 'GROLLEY', '', 'FR', ''); + CreatePostCode.InsertData('1772', 'Nierlet-les-Bois', 'NIERLET-LES-BOIS', '', 'FR', ''); + CreatePostCode.InsertData('1772', 'Ponthaux', 'PONTHAUX', '', 'FR', ''); + CreatePostCode.InsertData('1773', 'Chandon', 'CHANDON', '', 'FR', ''); + CreatePostCode.InsertData('1773', 'Léchelles', 'LÉCHELLES', '', 'FR', ''); + CreatePostCode.InsertData('1773', 'Russy', 'RUSSY', '', 'FR', ''); + CreatePostCode.InsertData('1774', 'Cousset', 'COUSSET', '', 'FR', ''); + CreatePostCode.InsertData('1774', 'Montagny-les-Monts', 'MONTAGNY-LES-MONTS', '', 'FR', ''); + CreatePostCode.InsertData('1775', 'Grandsivaz', 'GRANDSIVAZ', '', 'FR', ''); + CreatePostCode.InsertData('1775', 'Mannens', 'MANNENS', '', 'FR', ''); + CreatePostCode.InsertData('1776', 'Montagny-la-Ville', 'MONTAGNY-LA-VILLE', '', 'FR', ''); + CreatePostCode.InsertData('1782', 'Autafond', 'AUTAFOND', '', 'FR', ''); + CreatePostCode.InsertData('1782', 'Belfaux', 'BELFAUX', '', 'FR', ''); + CreatePostCode.InsertData('1782', 'Cormagens', 'CORMAGENS', '', 'FR', ''); + CreatePostCode.InsertData('1782', 'Formangueires', 'FORMANGUEIRES', '', 'FR', ''); + CreatePostCode.InsertData('1782', 'La Corbaz', 'LA CORBAZ', '', 'FR', ''); + CreatePostCode.InsertData('1782', 'Lossy', 'LOSSY', '', 'FR', ''); + CreatePostCode.InsertData('1783', 'Barberêche', 'BARBERÊCHE', '', 'FR', ''); + CreatePostCode.InsertData('1783', 'Pensier', 'PENSIER', '', 'FR', ''); + CreatePostCode.InsertData('1784', 'Courtepin', 'COURTEPIN', '', 'FR', ''); + CreatePostCode.InsertData('1784', 'Wallenried', 'WALLENRIED', '', 'FR', ''); + CreatePostCode.InsertData('1785', 'Cressier FR', 'CRESSIER FR', '', 'FR', ''); + CreatePostCode.InsertData('1786', 'Sugiez', 'SUGIEZ', '', 'FR', ''); + CreatePostCode.InsertData('1787', 'Môtier (Vully)', 'MÔTIER (VULLY)', '', 'FR', ''); + CreatePostCode.InsertData('1787', 'Mur (Vully) FR', 'MUR (VULLY) FR', '', 'FR', ''); + CreatePostCode.InsertData('1787', 'Mur (Vully) VD', 'MUR (VULLY) VD', '', 'VD', ''); + CreatePostCode.InsertData('1788', 'Praz (Vully)', 'PRAZ (VULLY)', '', 'FR', ''); + CreatePostCode.InsertData('1789', 'Lugnorre', 'LUGNORRE', '', 'FR', ''); + CreatePostCode.InsertData('1791', 'Courtaman', 'COURTAMAN', '', 'FR', ''); + CreatePostCode.InsertData('1792', 'Cordast', 'CORDAST', '', 'FR', ''); + CreatePostCode.InsertData('1792', 'Guschelmuth', 'GUSCHELMUTH', '', 'FR', ''); + CreatePostCode.InsertData('1793', 'Jeuss', 'JEUSS', '', 'FR', ''); + CreatePostCode.InsertData('1794', 'Salvenach', 'SALVENACH', '', 'FR', ''); + CreatePostCode.InsertData('1795', 'Courlevon', 'COURLEVON', '', 'FR', ''); + CreatePostCode.InsertData('1796', 'Courgevaux', 'COURGEVAUX', '', 'FR', ''); + CreatePostCode.InsertData('1797', 'Münchenwiler', 'MÃœNCHENWILER', '', 'BE', ''); + CreatePostCode.InsertData('1800', 'Vevey', 'VEVEY', '', 'VD', ''); + CreatePostCode.InsertData('1800', 'Vevey 1', 'VEVEY 1', '', 'VD', ''); + CreatePostCode.InsertData('1800', 'Vevey 1 Distribution', 'VEVEY 1 DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1800', 'Vevey Orient', 'VEVEY ORIENT', '', 'VD', ''); + CreatePostCode.InsertData('1801', 'Le Mont-Pèlerin', 'LE MONT-PÈLERIN', '', 'VD', ''); + CreatePostCode.InsertData('1802', 'Corseaux', 'CORSEAUX', '', 'VD', ''); + CreatePostCode.InsertData('1803', 'Chardonne', 'CHARDONNE', '', 'VD', ''); + CreatePostCode.InsertData('1804', 'Corsier-sur-Vevey', 'CORSIER-SUR-VEVEY', '', 'VD', ''); + CreatePostCode.InsertData('1805', 'Jongny', 'JONGNY', '', 'VD', ''); + CreatePostCode.InsertData('1805', 'Jongny Distribution', 'JONGNY DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1806', 'St-Légier/Blonay Dist', 'ST-LÉGIER/BLONAY DIST', '', 'VD', ''); + CreatePostCode.InsertData('1806', 'St-Légier-La Chiésaz', 'ST-LÉGIER-LA CHIÉSAZ', '', 'VD', ''); + CreatePostCode.InsertData('1807', 'Blonay', 'BLONAY', '', 'VD', ''); + CreatePostCode.InsertData('1808', 'Les Monts-de-Corsier', 'LES MONTS-DE-CORSIER', '', 'VD', ''); + CreatePostCode.InsertData('1809', 'Fenil-sur-Corsier', 'FENIL-SUR-CORSIER', '', 'VD', ''); + CreatePostCode.InsertData('1811', 'Vevey Services spéciaux', 'VEVEY SERVICES SPÉCIAUX', '', 'VD', ''); + CreatePostCode.InsertData('1814', 'La Tour-de-Peilz', 'LA TOUR-DE-PEILZ', '', 'VD', ''); + CreatePostCode.InsertData('1815', 'Clarens', 'CLARENS', '', 'VD', ''); + CreatePostCode.InsertData('1816', 'Chailly-Montreux', 'CHAILLY-MONTREUX', '', 'VD', ''); + CreatePostCode.InsertData('1816', 'Chailly-Montreux Dist', 'CHAILLY-MONTREUX DIST', '', 'VD', ''); + CreatePostCode.InsertData('1817', 'Brent', 'BRENT', '', 'VD', ''); + CreatePostCode.InsertData('1818', 'Montreux La Redoute', 'MONTREUX LA REDOUTE', '', 'VD', ''); + CreatePostCode.InsertData('1820', 'Montreux', 'MONTREUX', '', 'VD', ''); + CreatePostCode.InsertData('1820', 'Montreux 1', 'MONTREUX 1', '', 'VD', ''); + CreatePostCode.InsertData('1820', 'Montreux 1 Distribution', 'MONTREUX 1 DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1820', 'Montreux 2', 'MONTREUX 2', '', 'VD', ''); + CreatePostCode.InsertData('1820', 'Territet', 'TERRITET', '', 'VD', ''); + CreatePostCode.InsertData('1820', 'Territet-Veytaux', 'TERRITET-VEYTAUX', '', 'VD', ''); + CreatePostCode.InsertData('1820', 'Veytaux', 'VEYTAUX', '', 'VD', ''); + CreatePostCode.InsertData('1822', 'Chernex', 'CHERNEX', '', 'VD', ''); + CreatePostCode.InsertData('1823', 'Glion', 'GLION', '', 'VD', ''); + CreatePostCode.InsertData('1824', 'Caux', 'CAUX', '', 'VD', ''); + CreatePostCode.InsertData('1832', 'Chamby', 'CHAMBY', '', 'VD', ''); + CreatePostCode.InsertData('1832', 'Villard-sur-Chamby', 'VILLARD-SUR-CHAMBY', '', 'VD', ''); + CreatePostCode.InsertData('1833', 'Les Avants', 'LES AVANTS', '', 'VD', ''); + CreatePostCode.InsertData('1844', 'Villeneuve VD', 'VILLENEUVE VD', '', 'VD', ''); + CreatePostCode.InsertData('1844', 'Villeneuve VD Distribution', 'VILLENEUVE VD DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1845', 'Noville', 'NOVILLE', '', 'VD', ''); + CreatePostCode.InsertData('1846', 'Chessel', 'CHESSEL', '', 'VD', ''); + CreatePostCode.InsertData('1847', 'Rennaz', 'RENNAZ', '', 'VD', ''); + CreatePostCode.InsertData('1852', 'Roche VD', 'ROCHE VD', '', 'VD', ''); + CreatePostCode.InsertData('1853', 'Yvorne', 'YVORNE', '', 'VD', ''); + CreatePostCode.InsertData('1854', 'Leysin', 'LEYSIN', '', 'VD', ''); + CreatePostCode.InsertData('1854', 'Leysin Distribution', 'LEYSIN DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1856', 'Corbeyrier', 'CORBEYRIER', '', 'VD', ''); + CreatePostCode.InsertData('1860', 'Aigle', 'AIGLE', '', 'VD', ''); + CreatePostCode.InsertData('1860', 'Aigle Distribution', 'AIGLE DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1860', 'Aigle Gare CFF', 'AIGLE GARE CFF', '', 'VD', ''); + CreatePostCode.InsertData('1862', 'La Comballaz', 'LA COMBALLAZ', '', 'VD', ''); + CreatePostCode.InsertData('1862', 'Les Mosses', 'LES MOSSES', '', 'VD', ''); + CreatePostCode.InsertData('1863', 'Le Sépey', 'LE SÉPEY', '', 'VD', ''); + CreatePostCode.InsertData('1864', 'Vers-l''Eglise', 'VERS-L''EGLISE', '', 'VD', ''); + CreatePostCode.InsertData('1865', 'Les Diablerets', 'LES DIABLERETS', '', 'VD', ''); + CreatePostCode.InsertData('1866', 'La Forclaz VD', 'LA FORCLAZ VD', '', 'VD', ''); + CreatePostCode.InsertData('1867', 'Ollon VD', 'OLLON VD', '', 'VD', ''); + CreatePostCode.InsertData('1867', 'Panex', 'PANEX', '', 'VD', ''); + CreatePostCode.InsertData('1867', 'St-Triphon', 'ST-TRIPHON', '', 'VD', ''); + CreatePostCode.InsertData('1868', 'Collombey', 'COLLOMBEY', '', 'VS', ''); + CreatePostCode.InsertData('1869', 'Massongex', 'MASSONGEX', '', 'VS', ''); + CreatePostCode.InsertData('1870', 'Monthey', 'MONTHEY', '', 'VS', ''); + CreatePostCode.InsertData('1870', 'Monthey 1', 'MONTHEY 1', '', 'VS', ''); + CreatePostCode.InsertData('1870', 'Monthey 1 Distribution', 'MONTHEY 1 DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1870', 'Monthey 2', 'MONTHEY 2', '', 'VS', ''); + CreatePostCode.InsertData('1871', 'Choëx', 'CHOËX', '', 'VS', ''); + CreatePostCode.InsertData('1871', 'Les Giettes', 'LES GIETTES', '', 'VS', ''); + CreatePostCode.InsertData('1872', 'Troistorrents', 'TROISTORRENTS', '', 'VS', ''); + CreatePostCode.InsertData('1873', 'Champoussin', 'CHAMPOUSSIN', '', 'VS', ''); + CreatePostCode.InsertData('1873', 'Les Crosets', 'LES CROSETS', '', 'VS', ''); + CreatePostCode.InsertData('1873', 'Val-d''Illiez', 'VAL-D''ILLIEZ', '', 'VS', ''); + CreatePostCode.InsertData('1874', 'Champéry', 'CHAMPÉRY', '', 'VS', ''); + CreatePostCode.InsertData('1875', 'Morgins', 'MORGINS', '', 'VS', ''); + CreatePostCode.InsertData('1880', 'Bex', 'BEX', '', 'VD', ''); + CreatePostCode.InsertData('1880', 'Bex Dist Fil', 'BEX DIST FIL', '', 'VD', ''); + CreatePostCode.InsertData('1880', 'Bex Distribution', 'BEX DISTRIBUTION', '', 'VD', ''); + CreatePostCode.InsertData('1880', 'Fenalet-sur-Bex', 'FENALET-SUR-BEX', '', 'VD', ''); + CreatePostCode.InsertData('1880', 'Frenières-sur-Bex', 'FRENIÈRES-SUR-BEX', '', 'VD', ''); + CreatePostCode.InsertData('1880', 'Les Plans-sur-Bex', 'LES PLANS-SUR-BEX', '', 'VD', ''); + CreatePostCode.InsertData('1880', 'Les Posses-sur-Bex', 'LES POSSES-SUR-BEX', '', 'VD', ''); + CreatePostCode.InsertData('1882', 'Gryon', 'GRYON', '', 'VD', ''); + CreatePostCode.InsertData('1884', 'Arveyes', 'ARVEYES', '', 'VD', ''); + CreatePostCode.InsertData('1884', 'Huémoz', 'HUÉMOZ', '', 'VD', ''); + CreatePostCode.InsertData('1884', 'Villars-sur-Ollon', 'VILLARS-SUR-OLLON', '', 'VD', ''); + CreatePostCode.InsertData('1885', 'Chesières', 'CHESIÈRES', '', 'VD', ''); + CreatePostCode.InsertData('1890', 'Mex VS', 'MEX VS', '', 'VS', ''); + CreatePostCode.InsertData('1890', 'St-Maurice', 'ST-MAURICE', '', 'VS', ''); + CreatePostCode.InsertData('1890', 'St-Maurice Caserne', 'ST-MAURICE CASERNE', '', 'VS', ''); + CreatePostCode.InsertData('1891', 'Vérossaz', 'VÉROSSAZ', '', 'VS', ''); + CreatePostCode.InsertData('1892', 'Lavey-les-Bains', 'LAVEY-LES-BAINS', '', 'VD', ''); + CreatePostCode.InsertData('1892', 'Lavey-Village', 'LAVEY-VILLAGE', '', 'VD', ''); + CreatePostCode.InsertData('1892', 'Morcles', 'MORCLES', '', 'VD', ''); + CreatePostCode.InsertData('1893', 'Muraz (Collombey)', 'MURAZ (COLLOMBEY)', '', 'VS', ''); + CreatePostCode.InsertData('1895', 'Vionnaz', 'VIONNAZ', '', 'VS', ''); + CreatePostCode.InsertData('1896', 'Miex', 'MIEX', '', 'VS', ''); + CreatePostCode.InsertData('1896', 'Vouvry', 'VOUVRY', '', 'VS', ''); + CreatePostCode.InsertData('1897', 'Bouveret', 'BOUVERET', '', 'VS', ''); + CreatePostCode.InsertData('1897', 'Les Evouettes', 'LES EVOUETTES', '', 'VS', ''); + CreatePostCode.InsertData('1897', 'Port-Valais', 'PORT-VALAIS', '', 'VS', ''); + CreatePostCode.InsertData('1898', 'St-Gingolph', 'ST-GINGOLPH', '', 'VS', ''); + CreatePostCode.InsertData('1899', 'Torgon', 'TORGON', '', 'VS', ''); + CreatePostCode.InsertData('1902', 'Evionnaz', 'EVIONNAZ', '', 'VS', ''); + CreatePostCode.InsertData('1903', 'Collonges', 'COLLONGES', '', 'VS', ''); + CreatePostCode.InsertData('1904', 'Vernayaz', 'VERNAYAZ', '', 'VS', ''); + CreatePostCode.InsertData('1905', 'Dorénaz', 'DORÉNAZ', '', 'VS', ''); + CreatePostCode.InsertData('1905', 'Dorénaz PostAuto AG Schweiz', 'DORÉNAZ POSTAUTO AG SCHWEIZ', '', 'VS', ''); + CreatePostCode.InsertData('1906', 'Charrat', 'CHARRAT', '', 'VS', ''); + CreatePostCode.InsertData('1907', 'Saxon', 'SAXON', '', 'VS', ''); + CreatePostCode.InsertData('1908', 'Riddes', 'RIDDES', '', 'VS', ''); + CreatePostCode.InsertData('1911', 'Mayens-de-Chamoson', 'MAYENS-DE-CHAMOSON', '', 'VS', ''); + CreatePostCode.InsertData('1911', 'Ovronnaz', 'OVRONNAZ', '', 'VS', ''); + CreatePostCode.InsertData('1912', 'Dugny (Leytron)', 'DUGNY (LEYTRON)', '', 'VS', ''); + CreatePostCode.InsertData('1912', 'Leytron', 'LEYTRON', '', 'VS', ''); + CreatePostCode.InsertData('1912', 'Montagnon (Leytron)', 'MONTAGNON (LEYTRON)', '', 'VS', ''); + CreatePostCode.InsertData('1912', 'Produit (Leytron)', 'PRODUIT (LEYTRON)', '', 'VS', ''); + CreatePostCode.InsertData('1913', 'Saillon', 'SAILLON', '', 'VS', ''); + CreatePostCode.InsertData('1914', 'Auddes-sur-Riddes', 'AUDDES-SUR-RIDDES', '', 'VS', ''); + CreatePostCode.InsertData('1914', 'Isérables', 'ISÉRABLES', '', 'VS', ''); + CreatePostCode.InsertData('1918', 'La Tzoumaz', 'LA TZOUMAZ', '', 'VS', ''); + CreatePostCode.InsertData('1919', 'Martigny Groupe Mutuel', 'MARTIGNY GROUPE MUTUEL', '', 'VS', ''); + CreatePostCode.InsertData('1920', 'Martigny', 'MARTIGNY', '', 'VS', ''); + CreatePostCode.InsertData('1920', 'Martigny 1', 'MARTIGNY 1', '', 'VS', ''); + CreatePostCode.InsertData('1920', 'Martigny 1 Distribution', 'MARTIGNY 1 DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1920', 'Martigny 2', 'MARTIGNY 2', '', 'VS', ''); + CreatePostCode.InsertData('1920', 'Martigny Gare CFF', 'MARTIGNY GARE CFF', '', 'VS', ''); + CreatePostCode.InsertData('1920', 'Martigny PF 331-130', 'MARTIGNY PF 331-130', '', 'VS', ''); + CreatePostCode.InsertData('1920', 'Martigny PostFinance', 'MARTIGNY POSTFINANCE', '', 'VS', ''); + CreatePostCode.InsertData('1921', 'Martigny-Croix', 'MARTIGNY-CROIX', '', 'VS', ''); + CreatePostCode.InsertData('1922', 'Les Granges (Salvan)', 'LES GRANGES (SALVAN)', '', 'VS', ''); + CreatePostCode.InsertData('1922', 'Salvan', 'SALVAN', '', 'VS', ''); + CreatePostCode.InsertData('1923', 'Le Trétien', 'LE TRÉTIEN', '', 'VS', ''); + CreatePostCode.InsertData('1923', 'Les Marécottes', 'LES MARÉCOTTES', '', 'VS', ''); + CreatePostCode.InsertData('1925', 'Finhaut', 'FINHAUT', '', 'VS', ''); + CreatePostCode.InsertData('1925', 'Le Châtelard VS', 'LE CHÂTELARD VS', '', 'VS', ''); + CreatePostCode.InsertData('1926', 'Fully', 'FULLY', '', 'VS', ''); + CreatePostCode.InsertData('1926', 'Fully Distribution', 'FULLY DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1927', 'Chemin', 'CHEMIN', '', 'VS', ''); + CreatePostCode.InsertData('1928', 'Ravoire', 'RAVOIRE', '', 'VS', ''); + CreatePostCode.InsertData('1929', 'Trient', 'TRIENT', '', 'VS', ''); + CreatePostCode.InsertData('1932', 'Bovernier', 'BOVERNIER', '', 'VS', ''); + CreatePostCode.InsertData('1932', 'Les Valettes (Bovernier)', 'LES VALETTES (BOVERNIER)', '', 'VS', ''); + CreatePostCode.InsertData('1933', 'Chamoille (Sembrancher)', 'CHAMOILLE (SEMBRANCHER)', '', 'VS', ''); + CreatePostCode.InsertData('1933', 'La Garde (Sembrancher)', 'LA GARDE (SEMBRANCHER)', '', 'VS', ''); + CreatePostCode.InsertData('1933', 'Sembrancher', 'SEMBRANCHER', '', 'VS', ''); + CreatePostCode.InsertData('1933', 'Vens (Sembrancher)', 'VENS (SEMBRANCHER)', '', 'VS', ''); + CreatePostCode.InsertData('1934', 'Bruson', 'BRUSON', '', 'VS', ''); + CreatePostCode.InsertData('1934', 'Le Châble VS', 'LE CHÂBLE VS', '', 'VS', ''); + CreatePostCode.InsertData('1934', 'Le Châble VS Distribution', 'LE CHÂBLE VS DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1936', 'Verbier', 'VERBIER', '', 'VS', ''); + CreatePostCode.InsertData('1937', 'Orsières', 'ORSIÈRES', '', 'VS', ''); + CreatePostCode.InsertData('1938', 'Champex-Lac', 'CHAMPEX-LAC', '', 'VS', ''); + CreatePostCode.InsertData('1941', 'Cries (Vollèges)', 'CRIES (VOLLÈGES)', '', 'VS', ''); + CreatePostCode.InsertData('1941', 'Vollèges', 'VOLLÈGES', '', 'VS', ''); + CreatePostCode.InsertData('1942', 'Levron', 'LEVRON', '', 'VS', ''); + CreatePostCode.InsertData('1943', 'Praz-de-Fort', 'PRAZ-DE-FORT', '', 'VS', ''); + CreatePostCode.InsertData('1944', 'La Fouly VS', 'LA FOULY VS', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Chandonne (Liddes)', 'CHANDONNE (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Chez Petit (Liddes)', 'CHEZ PETIT (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Dranse (Liddes)', 'DRANSE (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Fontaine Dessous (Liddes)', 'FONTAINE DESSOUS (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Fontaine Dessus (Liddes)', 'FONTAINE DESSUS (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Fornex (Liddes)', 'FORNEX (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Les Moulins VS (Liddes)', 'LES MOULINS VS (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Liddes', 'LIDDES', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Palasuit (Liddes)', 'PALASUIT (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Petit Vichères (Liddes)', 'PETIT VICHÈRES (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Rive Haute (Liddes)', 'RIVE HAUTE (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1945', 'Vichères (Liddes)', 'VICHÈRES (LIDDES)', '', 'VS', ''); + CreatePostCode.InsertData('1946', 'Bourg-St-Pierre', 'BOURG-ST-PIERRE', '', 'VS', ''); + CreatePostCode.InsertData('1947', 'Champsec', 'CHAMPSEC', '', 'VS', ''); + CreatePostCode.InsertData('1947', 'Versegères', 'VERSEGÈRES', '', 'VS', ''); + CreatePostCode.InsertData('1948', 'Fionnay', 'FIONNAY', '', 'VS', ''); + CreatePostCode.InsertData('1948', 'Lourtier', 'LOURTIER', '', 'VS', ''); + CreatePostCode.InsertData('1948', 'Sarreyer', 'SARREYER', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion', 'SION', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion 1', 'SION 1', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion 1 Distribution', 'SION 1 DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion 2', 'SION 2', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion 3', 'SION 3', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion 4', 'SION 4', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion Base de distribution', 'SION BASE DE DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1950', 'Sion Caserne', 'SION CASERNE', '', 'VS', ''); + CreatePostCode.InsertData('1951', 'Sion', 'SION', '', 'VS', ''); + CreatePostCode.InsertData('1951', 'Sion car postal VS-Léman', 'SION CAR POSTAL VS-LÉMAN', '', 'VS', ''); + CreatePostCode.InsertData('1951', 'Sion Centre logistique', 'SION CENTRE LOGISTIQUE', '', 'VS', ''); + CreatePostCode.InsertData('1953', 'Sion RZ', 'SION RZ', '', 'VS', ''); + CreatePostCode.InsertData('1955', 'Chamoson', 'CHAMOSON', '', 'VS', ''); + CreatePostCode.InsertData('1955', 'Grugnay (Chamoson)', 'GRUGNAY (CHAMOSON)', '', 'VS', ''); + CreatePostCode.InsertData('1955', 'Les Vérines (Chamoson)', 'LES VÉRINES (CHAMOSON)', '', 'VS', ''); + CreatePostCode.InsertData('1955', 'Némiaz (Chamoson)', 'NÉMIAZ (CHAMOSON)', '', 'VS', ''); + CreatePostCode.InsertData('1955', 'St-Pierre-de-Clages', 'ST-PIERRE-DE-CLAGES', '', 'VS', ''); + CreatePostCode.InsertData('1957', 'Ardon', 'ARDON', '', 'VS', ''); + CreatePostCode.InsertData('1958', 'St-Léonard', 'ST-LÉONARD', '', 'VS', ''); + CreatePostCode.InsertData('1958', 'Uvrier', 'UVRIER', '', 'VS', ''); + CreatePostCode.InsertData('1961', 'Vernamiège', 'VERNAMIÈGE', '', 'VS', ''); + CreatePostCode.InsertData('1962', 'Pont-de-la-Morge (Sion)', 'PONT-DE-LA-MORGE (SION)', '', 'VS', ''); + CreatePostCode.InsertData('1963', 'Vétroz', 'VÉTROZ', '', 'VS', ''); + CreatePostCode.InsertData('1964', 'Conthey', 'CONTHEY', '', 'VS', ''); + CreatePostCode.InsertData('1964', 'Conthey Distribution', 'CONTHEY DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Chandolin (Savièse)', 'CHANDOLIN (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Diolly (Savièse)', 'DIOLLY (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Drône (Savièse)', 'DRÔNE (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Granois (Savièse)', 'GRANOIS (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'La Muraz (Savièse)', 'LA MURAZ (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Mayens-de-la-Zour (Savièse)', 'MAYENS-DE-LA-ZOUR (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Monteiller (Savièse)', 'MONTEILLER (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Ormône (Savièse)', 'ORMÔNE (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Roumaz (Savièse)', 'ROUMAZ (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Savièse', 'SAVIÈSE', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'Savièse Distribution', 'SAVIÈSE DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('1965', 'St-Germain (Savièse)', 'ST-GERMAIN (SAVIÈSE)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Argnou (Ayent)', 'ARGNOU (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Ayent', 'AYENT', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Blignou (Ayent)', 'BLIGNOU (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Botyre (Ayent)', 'BOTYRE (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Fortunau (Ayent)', 'FORTUNAU (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'La Place (Ayent)', 'LA PLACE (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Luc (Ayent)', 'LUC (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Saxonne (Ayent)', 'SAXONNE (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Signèse (Ayent)', 'SIGNÈSE (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'St-Romain (Ayent)', 'ST-ROMAIN (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1966', 'Villa (Ayent)', 'VILLA (AYENT)', '', 'VS', ''); + CreatePostCode.InsertData('1967', 'Bramois', 'BRAMOIS', '', 'VS', ''); + CreatePostCode.InsertData('1968', 'Mase', 'MASE', '', 'VS', ''); + CreatePostCode.InsertData('1969', 'Eison (St-Martin)', 'EISON (ST-MARTIN)', '', 'VS', ''); + CreatePostCode.InsertData('1969', 'Liez (St-Martin)', 'LIEZ (ST-MARTIN)', '', 'VS', ''); + CreatePostCode.InsertData('1969', 'St-Martin VS', 'ST-MARTIN VS', '', 'VS', ''); + CreatePostCode.InsertData('1969', 'Suen (St-Martin)', 'SUEN (ST-MARTIN)', '', 'VS', ''); + CreatePostCode.InsertData('1969', 'Trogne (St-Martin)', 'TROGNE (ST-MARTIN)', '', 'VS', ''); + CreatePostCode.InsertData('1971', 'Champlan (Grimisuat)', 'CHAMPLAN (GRIMISUAT)', '', 'VS', ''); + CreatePostCode.InsertData('1971', 'Grimisuat', 'GRIMISUAT', '', 'VS', ''); + CreatePostCode.InsertData('1972', 'Anzère', 'ANZÈRE', '', 'VS', ''); + CreatePostCode.InsertData('1973', 'Nax', 'NAX', '', 'VS', ''); + CreatePostCode.InsertData('1974', 'Arbaz', 'ARBAZ', '', 'VS', ''); + CreatePostCode.InsertData('1975', 'St-Séverin', 'ST-SÉVERIN', '', 'VS', ''); + CreatePostCode.InsertData('1976', 'Aven', 'AVEN', '', 'VS', ''); + CreatePostCode.InsertData('1976', 'Daillon', 'DAILLON', '', 'VS', ''); + CreatePostCode.InsertData('1976', 'Erde', 'ERDE', '', 'VS', ''); + CreatePostCode.InsertData('1977', 'Icogne', 'ICOGNE', '', 'VS', ''); + CreatePostCode.InsertData('1978', 'Lens', 'LENS', '', 'VS', ''); + CreatePostCode.InsertData('1981', 'Vex', 'VEX', '', 'VS', ''); + CreatePostCode.InsertData('1982', 'Euseigne', 'EUSEIGNE', '', 'VS', ''); + CreatePostCode.InsertData('1983', 'Evolène', 'EVOLÈNE', '', 'VS', ''); + CreatePostCode.InsertData('1983', 'Lanna', 'LANNA', '', 'VS', ''); + CreatePostCode.InsertData('1984', 'La Tour VS', 'LA TOUR VS', '', 'VS', ''); + CreatePostCode.InsertData('1984', 'Les Haudères', 'LES HAUDÈRES', '', 'VS', ''); + CreatePostCode.InsertData('1985', 'La Forclaz VS', 'LA FORCLAZ VS', '', 'VS', ''); + CreatePostCode.InsertData('1985', 'La Sage', 'LA SAGE', '', 'VS', ''); + CreatePostCode.InsertData('1985', 'Villa (Evolène)', 'VILLA (EVOLÈNE)', '', 'VS', ''); + CreatePostCode.InsertData('1986', 'Arolla', 'AROLLA', '', 'VS', ''); + CreatePostCode.InsertData('1987', 'Hérémence', 'HÉRÉMENCE', '', 'VS', ''); + CreatePostCode.InsertData('1988', 'Les Collons', 'LES COLLONS', '', 'VS', ''); + CreatePostCode.InsertData('1988', 'Thyon', 'THYON', '', 'VS', ''); + CreatePostCode.InsertData('1988', 'Thyon-Les Collons', 'THYON-LES COLLONS', '', 'VS', ''); + CreatePostCode.InsertData('1991', 'Arvillard (Salins)', 'ARVILLARD (SALINS)', '', 'VS', ''); + CreatePostCode.InsertData('1991', 'Misériez (Salins)', 'MISÉRIEZ (SALINS)', '', 'VS', ''); + CreatePostCode.InsertData('1991', 'Pravidondaz (Salins)', 'PRAVIDONDAZ (SALINS)', '', 'VS', ''); + CreatePostCode.InsertData('1991', 'Salins', 'SALINS', '', 'VS', ''); + CreatePostCode.InsertData('1991', 'Turin (Salins)', 'TURIN (SALINS)', '', 'VS', ''); + CreatePostCode.InsertData('1992', 'Crête-à-l''Oeil(Les Agettes)', 'CRÊTE-À-L''OEIL(LES AGETTES)', '', 'VS', ''); + CreatePostCode.InsertData('1992', 'La Vernaz (Les Agettes)', 'LA VERNAZ (LES AGETTES)', '', 'VS', ''); + CreatePostCode.InsertData('1992', 'Les Agettes', 'LES AGETTES', '', 'VS', ''); + CreatePostCode.InsertData('1992', 'Les Mayens-de-Sion', 'LES MAYENS-DE-SION', '', 'VS', ''); + CreatePostCode.InsertData('1993', 'Clèbes (Nendaz)', 'CLÈBES (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1993', 'Veysonnaz', 'VEYSONNAZ', '', 'VS', ''); + CreatePostCode.InsertData('1994', 'Aproz (Nendaz)', 'APROZ (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Baar (Nendaz)', 'BAAR (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Basse-Nendaz', 'BASSE-NENDAZ', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Beuson (Nendaz)', 'BEUSON (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Bieudron (Nendaz)', 'BIEUDRON (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Brignon (Nendaz)', 'BRIGNON (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Condémines (Nendaz)', 'CONDÉMINES (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Fey (Nendaz)', 'FEY (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1996', 'Saclentse', 'SACLENTSE', '', 'VS', ''); + CreatePostCode.InsertData('1997', 'Haute-Nendaz', 'HAUTE-NENDAZ', '', 'VS', ''); + CreatePostCode.InsertData('1997', 'Siviez (Nendaz)', 'SIVIEZ (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('1997', 'Sornard (Nendaz)', 'SORNARD (NENDAZ)', '', 'VS', ''); + CreatePostCode.InsertData('2000', 'Neuchâtel', 'NEUCHÂTEL', '', 'NE', ''); + CreatePostCode.InsertData('2000', 'Neuchâtel 2', 'NEUCHÂTEL 2', '', 'NE', ''); + CreatePostCode.InsertData('2000', 'Neuchâtel 2 Distribution', 'NEUCHÂTEL 2 DISTRIBUTION', '', 'NE', ''); + CreatePostCode.InsertData('2001', 'Neuchâtel 1', 'NEUCHÂTEL 1', '', 'NE', ''); + CreatePostCode.InsertData('2001', 'Neuchâtel 1 Dépôt', 'NEUCHÂTEL 1 DÉPÔT', '', 'NE', ''); + CreatePostCode.InsertData('2002', 'Neuchâtel 2', 'NEUCHÂTEL 2', '', 'NE', ''); + CreatePostCode.InsertData('2003', 'Neuchâtel 3', 'NEUCHÂTEL 3', '', 'NE', ''); + CreatePostCode.InsertData('2004', 'Neuchâtel 4', 'NEUCHÂTEL 4', '', 'NE', ''); + CreatePostCode.InsertData('2006', 'Neuchâtel 6', 'NEUCHÂTEL 6', '', 'NE', ''); + CreatePostCode.InsertData('2007', 'Neuchâtel 7', 'NEUCHÂTEL 7', '', 'NE', ''); + CreatePostCode.InsertData('2008', 'Neuchâtel', 'NEUCHÂTEL', '', 'NE', ''); + CreatePostCode.InsertData('2009', 'Neuchâtel 9', 'NEUCHÂTEL 9', '', 'NE', ''); + CreatePostCode.InsertData('2010', 'Neuchâtel OFS', 'NEUCHÂTEL OFS', '', 'NE', ''); + CreatePostCode.InsertData('2012', 'Auvernier', 'AUVERNIER', '', 'NE', ''); + CreatePostCode.InsertData('2013', 'Boudry Dist Ba', 'BOUDRY DIST BA', '', 'NE', ''); + CreatePostCode.InsertData('2013', 'Colombier NE', 'COLOMBIER NE', '', 'NE', ''); + CreatePostCode.InsertData('2013', 'Colombier NE Caserne', 'COLOMBIER NE CASERNE', '', 'NE', ''); + CreatePostCode.InsertData('2013', 'Colombier NE Distribution', 'COLOMBIER NE DISTRIBUTION', '', 'NE', ''); + CreatePostCode.InsertData('2014', 'Bôle', 'BÔLE', '', 'NE', ''); + CreatePostCode.InsertData('2015', 'Areuse', 'AREUSE', '', 'NE', ''); + CreatePostCode.InsertData('2016', 'Cortaillod', 'CORTAILLOD', '', 'NE', ''); + CreatePostCode.InsertData('2017', 'Boudry', 'BOUDRY', '', 'NE', ''); + CreatePostCode.InsertData('2019', 'Chambrelien', 'CHAMBRELIEN', '', 'NE', ''); + CreatePostCode.InsertData('2019', 'Rochefort', 'ROCHEFORT', '', 'NE', ''); + CreatePostCode.InsertData('2022', 'Bevaix', 'BEVAIX', '', 'NE', ''); + CreatePostCode.InsertData('2023', 'Gorgier', 'GORGIER', '', 'NE', ''); + CreatePostCode.InsertData('2024', 'St-Aubin-Sauges', 'ST-AUBIN-SAUGES', '', 'NE', ''); + CreatePostCode.InsertData('2025', 'Chez-le-Bart', 'CHEZ-LE-BART', '', 'NE', ''); + CreatePostCode.InsertData('2027', 'Fresens', 'FRESENS', '', 'NE', ''); + CreatePostCode.InsertData('2027', 'Montalchez', 'MONTALCHEZ', '', 'NE', ''); + CreatePostCode.InsertData('2028', 'Vaumarcus', 'VAUMARCUS', '', 'NE', ''); + CreatePostCode.InsertData('2034', 'Peseux', 'PESEUX', '', 'NE', ''); + CreatePostCode.InsertData('2035', 'Corcelles NE', 'CORCELLES NE', '', 'NE', ''); + CreatePostCode.InsertData('2035', 'Corcelles NE Distribution', 'CORCELLES NE DISTRIBUTION', '', 'NE', ''); + CreatePostCode.InsertData('2036', 'Cormondrèche', 'CORMONDRÈCHE', '', 'NE', ''); + CreatePostCode.InsertData('2037', 'Montezillon', 'MONTEZILLON', '', 'NE', ''); + CreatePostCode.InsertData('2037', 'Montmollin', 'MONTMOLLIN', '', 'NE', ''); + CreatePostCode.InsertData('2042', 'Valangin', 'VALANGIN', '', 'NE', ''); + CreatePostCode.InsertData('2043', 'Boudevilliers', 'BOUDEVILLIERS', '', 'NE', ''); + CreatePostCode.InsertData('2046', 'Fontaines NE', 'FONTAINES NE', '', 'NE', ''); + CreatePostCode.InsertData('2052', 'Fontainemelon', 'FONTAINEMELON', '', 'NE', ''); + CreatePostCode.InsertData('2052', 'La Vue-des-Alpes', 'LA VUE-DES-ALPES', '', 'NE', ''); + CreatePostCode.InsertData('2053', 'Cernier', 'CERNIER', '', 'NE', ''); + CreatePostCode.InsertData('2054', 'Chézard-St-Martin', 'CHÉZARD-ST-MARTIN', '', 'NE', ''); + CreatePostCode.InsertData('2054', 'Les Vieux-Prés', 'LES VIEUX-PRÉS', '', 'NE', ''); + CreatePostCode.InsertData('2056', 'Dombresson', 'DOMBRESSON', '', 'NE', ''); + CreatePostCode.InsertData('2057', 'Villiers', 'VILLIERS', '', 'NE', ''); + CreatePostCode.InsertData('2058', 'Le Pâquier NE', 'LE PÂQUIER NE', '', 'NE', ''); + CreatePostCode.InsertData('2063', 'Engollon', 'ENGOLLON', '', 'NE', ''); + CreatePostCode.InsertData('2063', 'Fenin', 'FENIN', '', 'NE', ''); + CreatePostCode.InsertData('2063', 'Saules', 'SAULES', '', 'NE', ''); + CreatePostCode.InsertData('2063', 'Vilars NE', 'VILARS NE', '', 'NE', ''); + CreatePostCode.InsertData('2065', 'Savagnier', 'SAVAGNIER', '', 'NE', ''); + CreatePostCode.InsertData('2067', 'Chaumont', 'CHAUMONT', '', 'NE', ''); + CreatePostCode.InsertData('2068', 'Hauterive NE', 'HAUTERIVE NE', '', 'NE', ''); + CreatePostCode.InsertData('2072', 'St-Blaise', 'ST-BLAISE', '', 'NE', ''); + CreatePostCode.InsertData('2073', 'Enges', 'ENGES', '', 'NE', ''); + CreatePostCode.InsertData('2074', 'Marin-Centre', 'MARIN-CENTRE', '', 'NE', ''); + CreatePostCode.InsertData('2074', 'Marin-Epagnier', 'MARIN-EPAGNIER', '', 'NE', ''); + CreatePostCode.InsertData('2074', 'Marin-Epagnier Distribution', 'MARIN-EPAGNIER DISTRIBUTION', '', 'NE', ''); + CreatePostCode.InsertData('2075', 'Thielle', 'THIELLE', '', 'NE', ''); + CreatePostCode.InsertData('2075', 'Wavre', 'WAVRE', '', 'NE', ''); + CreatePostCode.InsertData('2087', 'Cornaux NE', 'CORNAUX NE', '', 'NE', ''); + CreatePostCode.InsertData('2088', 'Cressier NE', 'CRESSIER NE', '', 'NE', ''); + CreatePostCode.InsertData('2103', 'Noiraigue', 'NOIRAIGUE', '', 'NE', ''); + CreatePostCode.InsertData('2105', 'Travers', 'TRAVERS', '', 'NE', ''); + CreatePostCode.InsertData('2108', 'Couvet', 'COUVET', '', 'NE', ''); + CreatePostCode.InsertData('2112', 'Môtiers NE', 'MÔTIERS NE', '', 'NE', ''); + CreatePostCode.InsertData('2113', 'Boveresse', 'BOVERESSE', '', 'NE', ''); + CreatePostCode.InsertData('2114', 'Fleurier', 'FLEURIER', '', 'NE', ''); + CreatePostCode.InsertData('2115', 'Buttes', 'BUTTES', '', 'NE', ''); + CreatePostCode.InsertData('2116', 'Mont-de-Buttes', 'MONT-DE-BUTTES', '', 'NE', ''); + CreatePostCode.InsertData('2117', 'La Côte-aux-Fées', 'LA CÔTE-AUX-FÉES', '', 'NE', ''); + CreatePostCode.InsertData('2123', 'St-Sulpice NE', 'ST-SULPICE NE', '', 'NE', ''); + CreatePostCode.InsertData('2124', 'Les Sagnettes', 'LES SAGNETTES', '', 'NE', ''); + CreatePostCode.InsertData('2126', 'Les Verrières', 'LES VERRIÈRES', '', 'NE', ''); + CreatePostCode.InsertData('2127', 'Les Bayards', 'LES BAYARDS', '', 'NE', ''); + CreatePostCode.InsertData('2149', 'Brot-Dessous', 'BROT-DESSOUS', '', 'NE', ''); + CreatePostCode.InsertData('2149', 'Champ-du-Moulin', 'CHAMP-DU-MOULIN', '', 'NE', ''); + CreatePostCode.InsertData('2149', 'Fretereules', 'FRETEREULES', '', 'NE', ''); + CreatePostCode.InsertData('2206', 'Les Geneveys-sur-Coffrane', 'LES GENEVEYS-SUR-COFFRANE', '', 'NE', ''); + CreatePostCode.InsertData('2207', 'Coffrane', 'COFFRANE', '', 'NE', ''); + CreatePostCode.InsertData('2208', 'Les Hauts-Geneveys', 'LES HAUTS-GENEVEYS', '', 'NE', ''); + CreatePostCode.InsertData('2300', 'La Chaux-de-Fonds', 'LA CHAUX-DE-FONDS', '', 'NE', ''); + CreatePostCode.InsertData('2300', 'La Chaux-de-Fonds 1', 'LA CHAUX-DE-FONDS 1', '', 'NE', ''); + CreatePostCode.InsertData('2300', 'La Chaux-de-Fonds 1 Dist', 'LA CHAUX-DE-FONDS 1 DIST', '', 'NE', ''); + CreatePostCode.InsertData('2300', 'La Cibourg', 'LA CIBOURG', '', 'NE', ''); + CreatePostCode.InsertData('2301', 'La Chaux-de-Fonds', 'LA CHAUX-DE-FONDS', '', 'NE', ''); + CreatePostCode.InsertData('2301', 'La Chx-de-F. Combe-à-l''Ours', 'LA CHX-DE-F. COMBE-À-L''OURS', '', 'NE', ''); + CreatePostCode.InsertData('2302', 'La Chaux-de-Fonds', 'LA CHAUX-DE-FONDS', '', 'NE', ''); + CreatePostCode.InsertData('2303', 'La Chaux-de-Fonds', 'LA CHAUX-DE-FONDS', '', 'NE', ''); + CreatePostCode.InsertData('2304', 'La Chaux-de-Fonds', 'LA CHAUX-DE-FONDS', '', 'NE', ''); + CreatePostCode.InsertData('2305', 'La Chaux-de-Fonds', 'LA CHAUX-DE-FONDS', '', 'NE', ''); + CreatePostCode.InsertData('2314', 'La Sagne NE', 'LA SAGNE NE', '', 'NE', ''); + CreatePostCode.InsertData('2316', 'Les Ponts-de-Martel', 'LES PONTS-DE-MARTEL', '', 'NE', ''); + CreatePostCode.InsertData('2316', 'Petit-Martel', 'PETIT-MARTEL', '', 'NE', ''); + CreatePostCode.InsertData('2318', 'Brot-Plamboz', 'BROT-PLAMBOZ', '', 'NE', ''); + CreatePostCode.InsertData('2322', 'Le Crêt-du-Locle', 'LE CRÊT-DU-LOCLE', '', 'NE', ''); + CreatePostCode.InsertData('2325', 'Les Planchettes', 'LES PLANCHETTES', '', 'NE', ''); + CreatePostCode.InsertData('2333', 'La Cibourg', 'LA CIBOURG', '', 'BE', ''); + CreatePostCode.InsertData('2333', 'La Ferrière', 'LA FERRIÈRE', '', 'BE', ''); + CreatePostCode.InsertData('2336', 'Les Bois', 'LES BOIS', '', 'JU', ''); + CreatePostCode.InsertData('2338', 'Les Emibois', 'LES EMIBOIS', '', 'JU', ''); + CreatePostCode.InsertData('2338', 'Muriaux', 'MURIAUX', '', 'JU', ''); + CreatePostCode.InsertData('2340', 'Le Noirmont', 'LE NOIRMONT', '', 'JU', ''); + CreatePostCode.InsertData('2340', 'Le Noirmont Distribution', 'LE NOIRMONT DISTRIBUTION', '', 'JU', ''); + CreatePostCode.InsertData('2345', 'La Chaux-des-Breuleux', 'LA CHAUX-DES-BREULEUX', '', 'JU', ''); + CreatePostCode.InsertData('2345', 'Le Cerneux-Veusil', 'LE CERNEUX-VEUSIL', '', 'JU', ''); + CreatePostCode.InsertData('2345', 'Les Breuleux', 'LES BREULEUX', '', 'JU', ''); + CreatePostCode.InsertData('2350', 'Saignelégier', 'SAIGNELÉGIER', '', 'JU', ''); + CreatePostCode.InsertData('2353', 'Les Pommerats', 'LES POMMERATS', '', 'JU', ''); + CreatePostCode.InsertData('2354', 'Goumois', 'GOUMOIS', '', 'JU', ''); + CreatePostCode.InsertData('2360', 'Le Bémont JU', 'LE BÉMONT JU', '', 'JU', ''); + CreatePostCode.InsertData('2362', 'Montfaucon', 'MONTFAUCON', '', 'JU', ''); + CreatePostCode.InsertData('2362', 'Montfavergier', 'MONTFAVERGIER', '', 'JU', ''); + CreatePostCode.InsertData('2363', 'Les Enfers', 'LES ENFERS', '', 'JU', ''); + CreatePostCode.InsertData('2364', 'St-Brais', 'ST-BRAIS', '', 'JU', ''); + CreatePostCode.InsertData('2400', 'Le Locle', 'LE LOCLE', '', 'NE', ''); + CreatePostCode.InsertData('2400', 'Le Locle Distribution', 'LE LOCLE DISTRIBUTION', '', 'NE', ''); + CreatePostCode.InsertData('2400', 'Le Prévoux', 'LE PRÉVOUX', '', 'NE', ''); + CreatePostCode.InsertData('2405', 'La Chaux-du-Milieu', 'LA CHAUX-DU-MILIEU', '', 'NE', ''); + CreatePostCode.InsertData('2406', 'La Brévine', 'LA BRÉVINE', '', 'NE', ''); + CreatePostCode.InsertData('2406', 'La Châtagne', 'LA CHÂTAGNE', '', 'NE', ''); + CreatePostCode.InsertData('2406', 'Le Brouillet', 'LE BROUILLET', '', 'NE', ''); + CreatePostCode.InsertData('2406', 'Les Taillères', 'LES TAILLÈRES', '', 'NE', ''); + CreatePostCode.InsertData('2414', 'Le Cerneux-Péquignot', 'LE CERNEUX-PÉQUIGNOT', '', 'NE', ''); + CreatePostCode.InsertData('2416', 'Les Brenets', 'LES BRENETS', '', 'NE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne', 'BIEL/BIENNE', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 1', 'BIEL/BIENNE 1', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 1 Annahme', 'BIEL/BIENNE 1 ANNAHME', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 1 Zustellung', 'BIEL/BIENNE 1 ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 10', 'BIEL/BIENNE 10', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 3', 'BIEL/BIENNE 3', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 4', 'BIEL/BIENNE 4', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 6', 'BIEL/BIENNE 6', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 7', 'BIEL/BIENNE 7', '', 'BE', ''); + CreatePostCode.InsertData('2500', 'Biel/Bienne 8', 'BIEL/BIENNE 8', '', 'BE', ''); + CreatePostCode.InsertData('2501', 'Biel/Bienne', 'BIEL/BIENNE', '', 'BE', ''); + CreatePostCode.InsertData('2502', 'Biel/Bienne', 'BIEL/BIENNE', '', 'BE', ''); + CreatePostCode.InsertData('2503', 'Biel/Bienne', 'BIEL/BIENNE', '', 'BE', ''); + CreatePostCode.InsertData('2504', 'Biel/Bienne', 'BIEL/BIENNE', '', 'BE', ''); + CreatePostCode.InsertData('2505', 'Biel/Bienne', 'BIEL/BIENNE', '', 'BE', ''); + CreatePostCode.InsertData('2510', 'Biel/Bienne Dist Ba', 'BIEL/BIENNE DIST BA', '', 'BE', ''); + CreatePostCode.InsertData('2512', 'Tüscherz-Alfermée', 'TÃœSCHERZ-ALFERMÉE', '', 'BE', ''); + CreatePostCode.InsertData('2513', 'Twann', 'TWANN', '', 'BE', ''); + CreatePostCode.InsertData('2514', 'Ligerz', 'LIGERZ', '', 'BE', ''); + CreatePostCode.InsertData('2515', 'Prêles', 'PRÊLES', '', 'BE', ''); + CreatePostCode.InsertData('2516', 'Lamboing', 'LAMBOING', '', 'BE', ''); + CreatePostCode.InsertData('2517', 'Diesse', 'DIESSE', '', 'BE', ''); + CreatePostCode.InsertData('2518', 'Nods', 'NODS', '', 'BE', ''); + CreatePostCode.InsertData('2520', 'La Neuveville', 'LA NEUVEVILLE', '', 'BE', ''); + CreatePostCode.InsertData('2520', 'La Neuveville Distribution', 'LA NEUVEVILLE DISTRIBUTION', '', 'BE', ''); + CreatePostCode.InsertData('2523', 'Lignières', 'LIGNIÈRES', '', 'NE', ''); + CreatePostCode.InsertData('2525', 'Le Landeron', 'LE LANDERON', '', 'NE', ''); + CreatePostCode.InsertData('2532', 'Magglingen/Macolin', 'MAGGLINGEN/MACOLIN', '', 'BE', ''); + CreatePostCode.InsertData('2533', 'Evilard', 'EVILARD', '', 'BE', ''); + CreatePostCode.InsertData('2534', 'Les Prés-d''Orvin', 'LES PRÉS-D''ORVIN', '', 'BE', ''); + CreatePostCode.InsertData('2534', 'Orvin', 'ORVIN', '', 'BE', ''); + CreatePostCode.InsertData('2535', 'Frinvillier', 'FRINVILLIER', '', 'BE', ''); + CreatePostCode.InsertData('2536', 'Plagne', 'PLAGNE', '', 'BE', ''); + CreatePostCode.InsertData('2537', 'Vauffelin', 'VAUFFELIN', '', 'BE', ''); + CreatePostCode.InsertData('2538', 'Romont BE', 'ROMONT BE', '', 'BE', ''); + CreatePostCode.InsertData('2540', 'Grenchen', 'GRENCHEN', '', 'SO', ''); + CreatePostCode.InsertData('2540', 'Grenchen 1', 'GRENCHEN 1', '', 'SO', ''); + CreatePostCode.InsertData('2540', 'Grenchen 1 Zustellung', 'GRENCHEN 1 ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('2540', 'Grenchen Schmelzi', 'GRENCHEN SCHMELZI', '', 'SO', ''); + CreatePostCode.InsertData('2542', 'Pieterlen', 'PIETERLEN', '', 'BE', ''); + CreatePostCode.InsertData('2543', 'Lengnau BE', 'LENGNAU BE', '', 'BE', ''); + CreatePostCode.InsertData('2544', 'Bettlach', 'BETTLACH', '', 'SO', ''); + CreatePostCode.InsertData('2545', 'Selzach', 'SELZACH', '', 'SO', ''); + CreatePostCode.InsertData('2552', 'Orpund', 'ORPUND', '', 'BE', ''); + CreatePostCode.InsertData('2553', 'Safnern', 'SAFNERN', '', 'BE', ''); + CreatePostCode.InsertData('2554', 'Meinisberg', 'MEINISBERG', '', 'BE', ''); + CreatePostCode.InsertData('2555', 'Brügg BE', 'BRÃœGG BE', '', 'BE', ''); + CreatePostCode.InsertData('2556', 'Scheuren', 'SCHEUREN', '', 'BE', ''); + CreatePostCode.InsertData('2556', 'Schwadernau', 'SCHWADERNAU', '', 'BE', ''); + CreatePostCode.InsertData('2557', 'Studen BE', 'STUDEN BE', '', 'BE', ''); + CreatePostCode.InsertData('2558', 'Aegerten', 'AEGERTEN', '', 'BE', ''); + CreatePostCode.InsertData('2560', 'Nidau', 'NIDAU', '', 'BE', ''); + CreatePostCode.InsertData('2562', 'Port', 'PORT', '', 'BE', ''); + CreatePostCode.InsertData('2563', 'Ipsach', 'IPSACH', '', 'BE', ''); + CreatePostCode.InsertData('2564', 'Bellmund', 'BELLMUND', '', 'BE', ''); + CreatePostCode.InsertData('2565', 'Jens', 'JENS', '', 'BE', ''); + CreatePostCode.InsertData('2572', 'Mörigen', 'MÖRIGEN', '', 'BE', ''); + CreatePostCode.InsertData('2572', 'Sutz', 'SUTZ', '', 'BE', ''); + CreatePostCode.InsertData('2575', 'Gerolfingen', 'GEROLFINGEN', '', 'BE', ''); + CreatePostCode.InsertData('2575', 'Hagneck', 'HAGNECK', '', 'BE', ''); + CreatePostCode.InsertData('2575', 'Täuffelen', 'TÄUFFELEN', '', 'BE', ''); + CreatePostCode.InsertData('2576', 'Lüscherz', 'LÃœSCHERZ', '', 'BE', ''); + CreatePostCode.InsertData('2577', 'Finsterhennen', 'FINSTERHENNEN', '', 'BE', ''); + CreatePostCode.InsertData('2577', 'Siselen BE', 'SISELEN BE', '', 'BE', ''); + CreatePostCode.InsertData('2603', 'Péry', 'PÉRY', '', 'BE', ''); + CreatePostCode.InsertData('2604', 'La Heutte', 'LA HEUTTE', '', 'BE', ''); + CreatePostCode.InsertData('2605', 'Sonceboz-Sombeval', 'SONCEBOZ-SOMBEVAL', '', 'BE', ''); + CreatePostCode.InsertData('2606', 'Corgémont', 'CORGÉMONT', '', 'BE', ''); + CreatePostCode.InsertData('2607', 'Cortébert', 'CORTÉBERT', '', 'BE', ''); + CreatePostCode.InsertData('2608', 'Courtelary', 'COURTELARY', '', 'BE', ''); + CreatePostCode.InsertData('2608', 'Montagne-de-Courtelary', 'MONTAGNE-DE-COURTELARY', '', 'BE', ''); + CreatePostCode.InsertData('2610', 'Les Pontins', 'LES PONTINS', '', 'BE', ''); + CreatePostCode.InsertData('2610', 'Mont-Crosin', 'MONT-CROSIN', '', 'BE', ''); + CreatePostCode.InsertData('2610', 'Mont-Soleil', 'MONT-SOLEIL', '', 'BE', ''); + CreatePostCode.InsertData('2610', 'St-Imier', 'ST-IMIER', '', 'BE', ''); + CreatePostCode.InsertData('2610', 'St-Imier Distribution', 'ST-IMIER DISTRIBUTION', '', 'BE', ''); + CreatePostCode.InsertData('2612', 'Cormoret', 'CORMORET', '', 'BE', ''); + CreatePostCode.InsertData('2613', 'Villeret', 'VILLERET', '', 'BE', ''); + CreatePostCode.InsertData('2615', 'Montagne-de-Sonvilier', 'MONTAGNE-DE-SONVILIER', '', 'BE', ''); + CreatePostCode.InsertData('2615', 'Sonvilier', 'SONVILIER', '', 'BE', ''); + CreatePostCode.InsertData('2616', 'La Cibourg', 'LA CIBOURG', '', 'BE', ''); + CreatePostCode.InsertData('2616', 'Renan BE', 'RENAN BE', '', 'BE', ''); + CreatePostCode.InsertData('2710', 'Tavannes', 'TAVANNES', '', 'BE', ''); + CreatePostCode.InsertData('2712', 'Le Fuet', 'LE FUET', '', 'BE', ''); + CreatePostCode.InsertData('2713', 'Bellelay', 'BELLELAY', '', 'BE', ''); + CreatePostCode.InsertData('2714', 'Le Prédame', 'LE PRÉDAME', '', 'JU', ''); + CreatePostCode.InsertData('2714', 'Les Genevez JU', 'LES GENEVEZ JU', '', 'JU', ''); + CreatePostCode.InsertData('2715', 'Châtelat', 'CHÂTELAT', '', 'BE', ''); + CreatePostCode.InsertData('2715', 'Châtelat-Monible', 'CHÂTELAT-MONIBLE', '', 'BE', ''); + CreatePostCode.InsertData('2715', 'Monible', 'MONIBLE', '', 'BE', ''); + CreatePostCode.InsertData('2716', 'Sornetan', 'SORNETAN', '', 'BE', ''); + CreatePostCode.InsertData('2717', 'Fornet-Dessous', 'FORNET-DESSOUS', '', 'BE', ''); + CreatePostCode.InsertData('2717', 'Rebévelier', 'REBÉVELIER', '', 'BE', ''); + CreatePostCode.InsertData('2718', 'Fornet-Dessus', 'FORNET-DESSUS', '', 'JU', ''); + CreatePostCode.InsertData('2718', 'Lajoux JU', 'LAJOUX JU', '', 'JU', ''); + CreatePostCode.InsertData('2720', 'La Tanne', 'LA TANNE', '', 'BE', ''); + CreatePostCode.InsertData('2720', 'Tramelan', 'TRAMELAN', '', 'BE', ''); + CreatePostCode.InsertData('2720', 'Tramelan Distribution', 'TRAMELAN DISTRIBUTION', '', 'BE', ''); + CreatePostCode.InsertData('2722', 'Les Reussilles', 'LES REUSSILLES', '', 'BE', ''); + CreatePostCode.InsertData('2723', 'Mont-Tramelan', 'MONT-TRAMELAN', '', 'BE', ''); + CreatePostCode.InsertData('2732', 'Loveresse', 'LOVERESSE', '', 'BE', ''); + CreatePostCode.InsertData('2732', 'Reconvilier', 'RECONVILIER', '', 'BE', ''); + CreatePostCode.InsertData('2732', 'Saicourt', 'SAICOURT', '', 'BE', ''); + CreatePostCode.InsertData('2732', 'Saules BE', 'SAULES BE', '', 'BE', ''); + CreatePostCode.InsertData('2733', 'Pontenet', 'PONTENET', '', 'BE', ''); + CreatePostCode.InsertData('2735', 'Bévilard', 'BÉVILARD', '', 'BE', ''); + CreatePostCode.InsertData('2735', 'Champoz', 'CHAMPOZ', '', 'BE', ''); + CreatePostCode.InsertData('2735', 'Malleray', 'MALLERAY', '', 'BE', ''); + CreatePostCode.InsertData('2735', 'Malleray-Bévilard', 'MALLERAY-BÉVILARD', '', 'BE', ''); + CreatePostCode.InsertData('2736', 'Sorvilier', 'SORVILIER', '', 'BE', ''); + CreatePostCode.InsertData('2738', 'Court', 'COURT', '', 'BE', ''); + CreatePostCode.InsertData('2740', 'Moutier', 'MOUTIER', '', 'BE', ''); + CreatePostCode.InsertData('2740', 'Moutier 1 Distribution', 'MOUTIER 1 DISTRIBUTION', '', 'BE', ''); + CreatePostCode.InsertData('2742', 'Perrefitte', 'PERREFITTE', '', 'BE', ''); + CreatePostCode.InsertData('2743', 'Eschert', 'ESCHERT', '', 'BE', ''); + CreatePostCode.InsertData('2744', 'Belprahon', 'BELPRAHON', '', 'BE', ''); + CreatePostCode.InsertData('2745', 'Grandval', 'GRANDVAL', '', 'BE', ''); + CreatePostCode.InsertData('2746', 'Crémines', 'CRÉMINES', '', 'BE', ''); + CreatePostCode.InsertData('2747', 'Corcelles BE', 'CORCELLES BE', '', 'BE', ''); + CreatePostCode.InsertData('2747', 'Seehof', 'SEEHOF', '', 'BE', ''); + CreatePostCode.InsertData('2748', 'Les Ecorcheresses', 'LES ECORCHERESSES', '', 'BE', ''); + CreatePostCode.InsertData('2748', 'Souboz', 'SOUBOZ', '', 'BE', ''); + CreatePostCode.InsertData('2762', 'Roches BE', 'ROCHES BE', '', 'BE', ''); + CreatePostCode.InsertData('2800', 'Delémont', 'DELÉMONT', '', 'JU', ''); + CreatePostCode.InsertData('2800', 'Delémont 1', 'DELÉMONT 1', '', 'JU', ''); + CreatePostCode.InsertData('2800', 'Delémont 1 Distribution', 'DELÉMONT 1 DISTRIBUTION', '', 'JU', ''); + CreatePostCode.InsertData('2800', 'Delémont 2', 'DELÉMONT 2', '', 'JU', ''); + CreatePostCode.InsertData('2800', 'Delémont car postal JU-NE', 'DELÉMONT CAR POSTAL JU-NE', '', 'JU', ''); + CreatePostCode.InsertData('2800', 'Delémont Dist Ba', 'DELÉMONT DIST BA', '', 'JU', ''); + CreatePostCode.InsertData('2802', 'Develier', 'DEVELIER', '', 'JU', ''); + CreatePostCode.InsertData('2802', 'Develier PostAuto AG', 'DEVELIER POSTAUTO AG', '', 'JU', ''); + CreatePostCode.InsertData('2803', 'Bourrignon', 'BOURRIGNON', '', 'JU', ''); + CreatePostCode.InsertData('2805', 'Soyhières', 'SOYHIÈRES', '', 'JU', ''); + CreatePostCode.InsertData('2806', 'Mettembert', 'METTEMBERT', '', 'JU', ''); + CreatePostCode.InsertData('2807', 'Lucelle', 'LUCELLE', '', 'JU', ''); + CreatePostCode.InsertData('2807', 'Pleigne', 'PLEIGNE', '', 'JU', ''); + CreatePostCode.InsertData('2812', 'Movelier', 'MOVELIER', '', 'JU', ''); + CreatePostCode.InsertData('2813', 'Ederswiler', 'EDERSWILER', '', 'JU', ''); + CreatePostCode.InsertData('2814', 'Roggenburg', 'ROGGENBURG', '', 'BL', ''); + CreatePostCode.InsertData('2822', 'Courroux', 'COURROUX', '', 'JU', ''); + CreatePostCode.InsertData('2823', 'Courcelon', 'COURCELON', '', 'JU', ''); + CreatePostCode.InsertData('2824', 'Vicques', 'VICQUES', '', 'JU', ''); + CreatePostCode.InsertData('2825', 'Courchapoix', 'COURCHAPOIX', '', 'JU', ''); + CreatePostCode.InsertData('2826', 'Corban', 'CORBAN', '', 'JU', ''); + CreatePostCode.InsertData('2827', 'Mervelier', 'MERVELIER', '', 'JU', ''); + CreatePostCode.InsertData('2827', 'Schelten', 'SCHELTEN', '', 'BE', ''); + CreatePostCode.InsertData('2828', 'Montsevelier', 'MONTSEVELIER', '', 'JU', ''); + CreatePostCode.InsertData('2829', 'Vermes', 'VERMES', '', 'JU', ''); + CreatePostCode.InsertData('2830', 'Courrendlin', 'COURRENDLIN', '', 'JU', ''); + CreatePostCode.InsertData('2830', 'Vellerat', 'VELLERAT', '', 'JU', ''); + CreatePostCode.InsertData('2832', 'Rebeuvelier', 'REBEUVELIER', '', 'JU', ''); + CreatePostCode.InsertData('2842', 'Rossemaison', 'ROSSEMAISON', '', 'JU', ''); + CreatePostCode.InsertData('2843', 'Châtillon JU', 'CHÂTILLON JU', '', 'JU', ''); + CreatePostCode.InsertData('2852', 'Courtételle', 'COURTÉTELLE', '', 'JU', ''); + CreatePostCode.InsertData('2853', 'Courfaivre', 'COURFAIVRE', '', 'JU', ''); + CreatePostCode.InsertData('2854', 'Bassecourt', 'BASSECOURT', '', 'JU', ''); + CreatePostCode.InsertData('2855', 'Glovelier', 'GLOVELIER', '', 'JU', ''); + CreatePostCode.InsertData('2856', 'Boécourt', 'BOÉCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2857', 'Montavon', 'MONTAVON', '', 'JU', ''); + CreatePostCode.InsertData('2863', 'Undervelier', 'UNDERVELIER', '', 'JU', ''); + CreatePostCode.InsertData('2864', 'Soulce', 'SOULCE', '', 'JU', ''); + CreatePostCode.InsertData('2873', 'Saulcy', 'SAULCY', '', 'JU', ''); + CreatePostCode.InsertData('2882', 'St-Ursanne', 'ST-URSANNE', '', 'JU', ''); + CreatePostCode.InsertData('2883', 'Montmelon', 'MONTMELON', '', 'JU', ''); + CreatePostCode.InsertData('2884', 'Montenol', 'MONTENOL', '', 'JU', ''); + CreatePostCode.InsertData('2885', 'Epauvillers', 'EPAUVILLERS', '', 'JU', ''); + CreatePostCode.InsertData('2886', 'Epiquerez', 'EPIQUEREZ', '', 'JU', ''); + CreatePostCode.InsertData('2887', 'Soubey', 'SOUBEY', '', 'JU', ''); + CreatePostCode.InsertData('2888', 'Seleute', 'SELEUTE', '', 'JU', ''); + CreatePostCode.InsertData('2889', 'Ocourt', 'OCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2900', 'Porrentruy', 'PORRENTRUY', '', 'JU', ''); + CreatePostCode.InsertData('2900', 'Porrentruy 1', 'PORRENTRUY 1', '', 'JU', ''); + CreatePostCode.InsertData('2900', 'Porrentruy 1 Distribution', 'PORRENTRUY 1 DISTRIBUTION', '', 'JU', ''); + CreatePostCode.InsertData('2900', 'Porrentruy 2', 'PORRENTRUY 2', '', 'JU', ''); + CreatePostCode.InsertData('2900', 'Porrentruy Caserne', 'PORRENTRUY CASERNE', '', 'JU', ''); + CreatePostCode.InsertData('2902', 'Fontenais', 'FONTENAIS', '', 'JU', ''); + CreatePostCode.InsertData('2903', 'Villars-sur-Fontenais', 'VILLARS-SUR-FONTENAIS', '', 'JU', ''); + CreatePostCode.InsertData('2904', 'Bressaucourt', 'BRESSAUCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2905', 'Courtedoux', 'COURTEDOUX', '', 'JU', ''); + CreatePostCode.InsertData('2906', 'Chevenez', 'CHEVENEZ', '', 'JU', ''); + CreatePostCode.InsertData('2907', 'Rocourt', 'ROCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2908', 'Grandfontaine', 'GRANDFONTAINE', '', 'JU', ''); + CreatePostCode.InsertData('2912', 'Réclère', 'RÉCLÈRE', '', 'JU', ''); + CreatePostCode.InsertData('2912', 'Roche-d''Or ', 'ROCHE-D''OR', '', 'JU', ''); + CreatePostCode.InsertData('2914', 'Damvant', 'DAMVANT', '', 'JU', ''); + CreatePostCode.InsertData('2915', 'Bure', 'BURE', '', 'JU', ''); + CreatePostCode.InsertData('2916', 'Fahy', 'FAHY', '', 'JU', ''); + CreatePostCode.InsertData('2922', 'Courchavon', 'COURCHAVON', '', 'JU', ''); + CreatePostCode.InsertData('2923', 'Courtemaîche', 'COURTEMAÃŽCHE', '', 'JU', ''); + CreatePostCode.InsertData('2924', 'Montignez', 'MONTIGNEZ', '', 'JU', ''); + CreatePostCode.InsertData('2925', 'Buix', 'BUIX', '', 'JU', ''); + CreatePostCode.InsertData('2926', 'Boncourt', 'BONCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2932', 'Coeuve', 'COEUVE', '', 'JU', ''); + CreatePostCode.InsertData('2933', 'Damphreux', 'DAMPHREUX', '', 'JU', ''); + CreatePostCode.InsertData('2933', 'Lugnez', 'LUGNEZ', '', 'JU', ''); + CreatePostCode.InsertData('2935', 'Beurnevésin', 'BEURNEVÉSIN', '', 'JU', ''); + CreatePostCode.InsertData('2942', 'Alle', 'ALLE', '', 'JU', ''); + CreatePostCode.InsertData('2943', 'Vendlincourt', 'VENDLINCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2944', 'Bonfol', 'BONFOL', '', 'JU', ''); + CreatePostCode.InsertData('2946', 'Miécourt', 'MIÉCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2947', 'Charmoille', 'CHARMOILLE', '', 'JU', ''); + CreatePostCode.InsertData('2950', 'Courgenay', 'COURGENAY', '', 'JU', ''); + CreatePostCode.InsertData('2950', 'Courtemautruy', 'COURTEMAUTRUY', '', 'JU', ''); + CreatePostCode.InsertData('2952', 'Cornol', 'CORNOL', '', 'JU', ''); + CreatePostCode.InsertData('2953', 'Fregiécourt', 'FREGIÉCOURT', '', 'JU', ''); + CreatePostCode.InsertData('2953', 'Fregiécourt-Pleujouse', 'FREGIÉCOURT-PLEUJOUSE', '', 'JU', ''); + CreatePostCode.InsertData('2953', 'Pleujouse', 'PLEUJOUSE', '', 'JU', ''); + CreatePostCode.InsertData('2954', 'Asuel', 'ASUEL', '', 'JU', ''); + CreatePostCode.InsertData('3000', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 1 PostParc', 'BERN 1 POSTPARC', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 1 Schanzenpost', 'BERN 1 SCHANZENPOST', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 13', 'BERN 13', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 14', 'BERN 14', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 15', 'BERN 15', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 21', 'BERN 21', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 22', 'BERN 22', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 22 Kaserne', 'BERN 22 KASERNE', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 23', 'BERN 23', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 25', 'BERN 25', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 31', 'BERN 31', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 5', 'BERN 5', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 6', 'BERN 6', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 60 UPD', 'BERN 60 UPD', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 65 SBB', 'BERN 65 SBB', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 7 Bärenplatz', 'BERN 7 BÄRENPLATZ', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 71 CS PZ', 'BERN 71 CS PZ', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 77 SBV', 'BERN 77 SBV', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 8', 'BERN 8', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 9', 'BERN 9', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 90', 'BERN 90', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern 94 UBS', 'BERN 94 UBS', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern Brünnen', 'BERN BRÃœNNEN', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern Postauto BE-FB-SO', 'BERN POSTAUTO BE-FB-SO', '', 'BE', ''); + CreatePostCode.InsertData('3000', 'Bern Radio Schweiz', 'BERN RADIO SCHWEIZ', '', 'BE', ''); + CreatePostCode.InsertData('3001', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3001', 'Bern SPS', 'BERN SPS', '', 'BE', ''); + CreatePostCode.InsertData('3002', 'Bern PostFinance', 'BERN POSTFINANCE', '', 'BE', ''); + CreatePostCode.InsertData('3003', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3003', 'Bern 3 Nationalrat', 'BERN 3 NATIONALRAT', '', 'BE', ''); + CreatePostCode.InsertData('3003', 'Bern 3 Ständerat', 'BERN 3 STÄNDERAT', '', 'BE', ''); + CreatePostCode.InsertData('3004', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3005', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3006', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3007', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3008', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3010', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3011', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3012', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3013', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3014', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3015', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3017', 'Bern Zustellung', 'BERN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3018', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3019', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3020', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3024', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3027', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3029', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3030', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3030', 'Bern KC PK 4', 'BERN KC PK 4', '', 'BE', ''); + CreatePostCode.InsertData('3030', 'Bern KC PK 5', 'BERN KC PK 5', '', 'BE', ''); + CreatePostCode.InsertData('3030', 'Bern Logistikcenter', 'BERN LOGISTIKCENTER', '', 'BE', ''); + CreatePostCode.InsertData('3030', 'Bern PAS', 'BERN PAS', '', 'BE', ''); + CreatePostCode.InsertData('3030', 'Bern PL3', 'BERN PL3', '', 'BE', ''); + CreatePostCode.InsertData('3032', 'Hinterkappelen', 'HINTERKAPPELEN', '', 'BE', ''); + CreatePostCode.InsertData('3033', 'Wohlen b. Bern', 'WOHLEN B. BERN', '', 'BE', ''); + CreatePostCode.InsertData('3034', 'Murzelen', 'MURZELEN', '', 'BE', ''); + CreatePostCode.InsertData('3035', 'Frieswil', 'FRIESWIL', '', 'BE', ''); + CreatePostCode.InsertData('3036', 'Detligen', 'DETLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3037', 'Herrenschwanden', 'HERRENSCHWANDEN', '', 'BE', ''); + CreatePostCode.InsertData('3038', 'Kirchlindach', 'KIRCHLINDACH', '', 'BE', ''); + CreatePostCode.InsertData('3039', 'Bern PF Operations Center', 'BERN PF OPERATIONS CENTER', '', 'BE', ''); + CreatePostCode.InsertData('3040', 'Bern', 'BERN', '', 'BE', ''); + CreatePostCode.InsertData('3041', 'Bern UBS', 'BERN UBS', '', 'BE', ''); + CreatePostCode.InsertData('3042', 'Ortschwaben', 'ORTSCHWABEN', '', 'BE', ''); + CreatePostCode.InsertData('3043', 'Uettligen', 'UETTLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3044', 'Innerberg', 'INNERBERG', '', 'BE', ''); + CreatePostCode.InsertData('3045', 'Meikirch', 'MEIKIRCH', '', 'BE', ''); + CreatePostCode.InsertData('3046', 'Wahlendorf', 'WAHLENDORF', '', 'BE', ''); + CreatePostCode.InsertData('3047', 'Bremgarten b. Bern', 'BREMGARTEN B. BERN', '', 'BE', ''); + CreatePostCode.InsertData('3048', 'Worblaufen', 'WORBLAUFEN', '', 'BE', ''); + CreatePostCode.InsertData('3049', 'Säriswil', 'SÄRISWIL', '', 'BE', ''); + CreatePostCode.InsertData('3050', 'Bern DocumentServices', 'BERN DOCUMENTSERVICES', '', 'BE', ''); + CreatePostCode.InsertData('3050', 'Bern Swisscom', 'BERN SWISSCOM', '', 'BE', ''); + CreatePostCode.InsertData('3052', 'Zollikofen', 'ZOLLIKOFEN', '', 'BE', ''); + CreatePostCode.InsertData('3052', 'Zollikofen Zustellung', 'ZOLLIKOFEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3053', 'Deisswil b. Münchenbuchsee', 'DEISSWIL B. MÃœNCHENBUCHSEE', '', 'BE', ''); + CreatePostCode.InsertData('3053', 'Diemerswil', 'DIEMERSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3053', 'Lätti', 'LÄTTI', '', 'BE', ''); + CreatePostCode.InsertData('3053', 'Münchenbuchsee', 'MÃœNCHENBUCHSEE', '', 'BE', ''); + CreatePostCode.InsertData('3053', 'Münchenbuchsee Zustellung', 'MÃœNCHENBUCHSEE ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3053', 'Wiggiswil', 'WIGGISWIL', '', 'BE', ''); + CreatePostCode.InsertData('3054', 'Schüpfen', 'SCHÃœPFEN', '', 'BE', ''); + CreatePostCode.InsertData('3063', 'Ittigen', 'ITTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3065', 'Bolligen', 'BOLLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3065', 'Bolligen Dorf', 'BOLLIGEN DORF', '', 'BE', ''); + CreatePostCode.InsertData('3066', 'Stettlen', 'STETTLEN', '', 'BE', ''); + CreatePostCode.InsertData('3067', 'Boll', 'BOLL', '', 'BE', ''); + CreatePostCode.InsertData('3068', 'Utzigen', 'UTZIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3070', 'Ostermundigen (LZB)', 'OSTERMUNDIGEN (LZB)', '', 'BE', ''); + CreatePostCode.InsertData('3070', 'Ostermundigen LZB BHS-AF', 'OSTERMUNDIGEN LZB BHS-AF', '', 'BE', ''); + CreatePostCode.InsertData('3071', 'Ostermundigen Dist Ba', 'OSTERMUNDIGEN DIST BA', '', 'BE', ''); + CreatePostCode.InsertData('3071', 'Ostermundigen KATA', 'OSTERMUNDIGEN KATA', '', 'BE', ''); + CreatePostCode.InsertData('3071', 'Ostermundigen Zustellung', 'OSTERMUNDIGEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3072', 'Ostermundigen', 'OSTERMUNDIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3072', 'Ostermundigen 1', 'OSTERMUNDIGEN 1', '', 'BE', ''); + CreatePostCode.InsertData('3072', 'Ostermundigen Oberdorf', 'OSTERMUNDIGEN OBERDORF', '', 'BE', ''); + CreatePostCode.InsertData('3072', 'Ostermundigen Rüti Fächer', 'OSTERMUNDIGEN RÃœTI FÄCHER', '', 'BE', ''); + CreatePostCode.InsertData('3073', 'Gümligen', 'GÃœMLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3073', 'Gümligen Zustellung', 'GÃœMLIGEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3074', 'Muri b. Bern', 'MURI B. BERN', '', 'BE', ''); + CreatePostCode.InsertData('3075', 'Rüfenacht BE', 'RÃœFENACHT BE', '', 'BE', ''); + CreatePostCode.InsertData('3075', 'Vielbringen b. Worb', 'VIELBRINGEN B. WORB', '', 'BE', ''); + CreatePostCode.InsertData('3076', 'Worb', 'WORB', '', 'BE', ''); + CreatePostCode.InsertData('3076', 'Worb Zustellung', 'WORB ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3077', 'Enggistein', 'ENGGISTEIN', '', 'BE', ''); + CreatePostCode.InsertData('3078', 'Richigen', 'RICHIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3082', 'Schlosswil', 'SCHLOSSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3083', 'Trimstein', 'TRIMSTEIN', '', 'BE', ''); + CreatePostCode.InsertData('3084', 'Wabern', 'WABERN', '', 'BE', ''); + CreatePostCode.InsertData('3085', 'Wabern 2 x Weihnachten', 'WABERN 2 X WEIHNACHTEN', '', 'BE', ''); + CreatePostCode.InsertData('3086', 'Englisberg', 'ENGLISBERG', '', 'BE', ''); + CreatePostCode.InsertData('3086', 'Zimmerwald', 'ZIMMERWALD', '', 'BE', ''); + CreatePostCode.InsertData('3087', 'Niedermuhlern', 'NIEDERMUHLERN', '', 'BE', ''); + CreatePostCode.InsertData('3088', 'Oberbütschel', 'OBERBÃœTSCHEL', '', 'BE', ''); + CreatePostCode.InsertData('3088', 'Rüeggisberg', 'RÃœEGGISBERG', '', 'BE', ''); + CreatePostCode.InsertData('3089', 'Hinterfultigen', 'HINTERFULTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3095', 'Spiegel b. Bern', 'SPIEGEL B. BERN', '', 'BE', ''); + CreatePostCode.InsertData('3096', 'Oberbalm', 'OBERBALM', '', 'BE', ''); + CreatePostCode.InsertData('3097', 'Liebefeld', 'LIEBEFELD', '', 'BE', ''); + CreatePostCode.InsertData('3098', 'Köniz', 'KÖNIZ', '', 'BE', ''); + CreatePostCode.InsertData('3098', 'Schliern b. Köniz', 'SCHLIERN B. KÖNIZ', '', 'BE', ''); + CreatePostCode.InsertData('3099', 'Rüti b. Riggisberg', 'RÃœTI B. RIGGISBERG', '', 'BE', ''); + CreatePostCode.InsertData('3110', 'Münsingen', 'MÃœNSINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3110', 'Münsingen Zustellung', 'MÃœNSINGEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3111', 'Tägertschi', 'TÄGERTSCHI', '', 'BE', ''); + CreatePostCode.InsertData('3112', 'Allmendingen b. Bern', 'ALLMENDINGEN B. BERN', '', 'BE', ''); + CreatePostCode.InsertData('3113', 'Rubigen', 'RUBIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3114', 'Wichtrach', 'WICHTRACH', '', 'BE', ''); + CreatePostCode.InsertData('3115', 'Gerzensee', 'GERZENSEE', '', 'BE', ''); + CreatePostCode.InsertData('3116', 'Kirchdorf BE', 'KIRCHDORF BE', '', 'BE', ''); + CreatePostCode.InsertData('3116', 'Mühledorf BE', 'MÃœHLEDORF BE', '', 'BE', ''); + CreatePostCode.InsertData('3116', 'Noflen BE', 'NOFLEN BE', '', 'BE', ''); + CreatePostCode.InsertData('3122', 'Kehrsatz', 'KEHRSATZ', '', 'BE', ''); + CreatePostCode.InsertData('3123', 'Belp', 'BELP', '', 'BE', ''); + CreatePostCode.InsertData('3123', 'Belp Zustellung', 'BELP ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3124', 'Belpberg', 'BELPBERG', '', 'BE', ''); + CreatePostCode.InsertData('3125', 'Toffen', 'TOFFEN', '', 'BE', ''); + CreatePostCode.InsertData('3126', 'Gelterfingen', 'GELTERFINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3126', 'Kaufdorf', 'KAUFDORF', '', 'BE', ''); + CreatePostCode.InsertData('3127', 'Lohnstorf', 'LOHNSTORF', '', 'BE', ''); + CreatePostCode.InsertData('3127', 'Mühlethurnen', 'MÃœHLETHURNEN', '', 'BE', ''); + CreatePostCode.InsertData('3128', 'Kirchenthurnen', 'KIRCHENTHURNEN', '', 'BE', ''); + CreatePostCode.InsertData('3128', 'Rümligen', 'RÃœMLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3132', 'Riggisberg', 'RIGGISBERG', '', 'BE', ''); + CreatePostCode.InsertData('3144', 'Gasel', 'GASEL', '', 'BE', ''); + CreatePostCode.InsertData('3145', 'Niederscherli', 'NIEDERSCHERLI', '', 'BE', ''); + CreatePostCode.InsertData('3147', 'Mittelhäusern', 'MITTELHÄUSERN', '', 'BE', ''); + CreatePostCode.InsertData('3148', 'Lanzenhäusern', 'LANZENHÄUSERN', '', 'BE', ''); + CreatePostCode.InsertData('3150', 'Schwarzenburg', 'SCHWARZENBURG', '', 'BE', ''); + CreatePostCode.InsertData('3150', 'Schwarzenburg Zustellung', 'SCHWARZENBURG ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3152', 'Mamishaus', 'MAMISHAUS', '', 'BE', ''); + CreatePostCode.InsertData('3153', 'Rüschegg Gambach', 'RÃœSCHEGG GAMBACH', '', 'BE', ''); + CreatePostCode.InsertData('3154', 'Rüschegg Heubach', 'RÃœSCHEGG HEUBACH', '', 'BE', ''); + CreatePostCode.InsertData('3155', 'Helgisried-Rohrbach', 'HELGISRIED-ROHRBACH', '', 'BE', ''); + CreatePostCode.InsertData('3156', 'Riffenmatt', 'RIFFENMATT', '', 'BE', ''); + CreatePostCode.InsertData('3157', 'Milken', 'MILKEN', '', 'BE', ''); + CreatePostCode.InsertData('3158', 'Guggisberg', 'GUGGISBERG', '', 'BE', ''); + CreatePostCode.InsertData('3159', 'Riedstätt', 'RIEDSTÄTT', '', 'BE', ''); + CreatePostCode.InsertData('3172', 'Niederwangen b. Bern', 'NIEDERWANGEN B. BERN', '', 'BE', ''); + CreatePostCode.InsertData('3173', 'Oberwangen b. Bern', 'OBERWANGEN B. BERN', '', 'BE', ''); + CreatePostCode.InsertData('3174', 'Thörishaus', 'THÖRISHAUS', '', 'BE', ''); + CreatePostCode.InsertData('3175', 'Flamatt', 'FLAMATT', '', 'FR', ''); + CreatePostCode.InsertData('3175', 'Flamatt Zustellung', 'FLAMATT ZUSTELLUNG', '', 'FR', ''); + CreatePostCode.InsertData('3176', 'Neuenegg', 'NEUENEGG', '', 'BE', ''); + CreatePostCode.InsertData('3177', 'Laupen BE', 'LAUPEN BE', '', 'BE', ''); + CreatePostCode.InsertData('3177', 'Laupen BE Zustellung', 'LAUPEN BE ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3178', 'Bösingen', 'BÖSINGEN', '', 'FR', ''); + CreatePostCode.InsertData('3179', 'Kriechenwil', 'KRIECHENWIL', '', 'BE', ''); + CreatePostCode.InsertData('3182', 'Ueberstorf', 'UEBERSTORF', '', 'FR', ''); + CreatePostCode.InsertData('3183', 'Albligen', 'ALBLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3184', 'Wünnewil', 'WÃœNNEWIL', '', 'FR', ''); + CreatePostCode.InsertData('3185', 'Schmitten FR', 'SCHMITTEN FR', '', 'FR', ''); + CreatePostCode.InsertData('3186', 'Düdingen', 'DÃœDINGEN', '', 'FR', ''); + CreatePostCode.InsertData('3186', 'Düdingen Zustellung', 'DÃœDINGEN ZUSTELLUNG', '', 'FR', ''); + CreatePostCode.InsertData('3202', 'Frauenkappelen', 'FRAUENKAPPELEN', '', 'BE', ''); + CreatePostCode.InsertData('3203', 'Mühleberg', 'MÃœHLEBERG', '', 'BE', ''); + CreatePostCode.InsertData('3204', 'Rosshäusern', 'ROSSHÄUSERN', '', 'BE', ''); + CreatePostCode.InsertData('3205', 'Gümmenen', 'GÃœMMENEN', '', 'BE', ''); + CreatePostCode.InsertData('3206', 'Biberen', 'BIBEREN', '', 'BE', ''); + CreatePostCode.InsertData('3206', 'Ferenbalm', 'FERENBALM', '', 'BE', ''); + CreatePostCode.InsertData('3206', 'Gammen', 'GAMMEN', '', 'BE', ''); + CreatePostCode.InsertData('3206', 'Rizenbach', 'RIZENBACH', '', 'BE', ''); + CreatePostCode.InsertData('3206', 'Wallenbuch', 'WALLENBUCH', '', 'FR', ''); + CreatePostCode.InsertData('3207', 'Golaten', 'GOLATEN', '', 'BE', ''); + CreatePostCode.InsertData('3207', 'Wileroltigen', 'WILEROLTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3208', 'Gurbrü', 'GURBRÃœ', '', 'BE', ''); + CreatePostCode.InsertData('3210', 'Kerzers', 'KERZERS', '', 'FR', ''); + CreatePostCode.InsertData('3210', 'Kerzers Zustellung', 'KERZERS ZUSTELLUNG', '', 'FR', ''); + CreatePostCode.InsertData('3212', 'Gurmels', 'GURMELS', '', 'FR', ''); + CreatePostCode.InsertData('3212', 'Kleingurmels', 'KLEINGURMELS', '', 'FR', ''); + CreatePostCode.InsertData('3213', 'Kleinbösingen', 'KLEINBÖSINGEN', '', 'FR', ''); + CreatePostCode.InsertData('3213', 'Liebistorf', 'LIEBISTORF', '', 'FR', ''); + CreatePostCode.InsertData('3214', 'Ulmiz', 'ULMIZ', '', 'FR', ''); + CreatePostCode.InsertData('3215', 'Büchslen', 'BÃœCHSLEN', '', 'FR', ''); + CreatePostCode.InsertData('3215', 'Gempenach', 'GEMPENACH', '', 'FR', ''); + CreatePostCode.InsertData('3215', 'Lurtigen', 'LURTIGEN', '', 'FR', ''); + CreatePostCode.InsertData('3216', 'Agriswil', 'AGRISWIL', '', 'FR', ''); + CreatePostCode.InsertData('3216', 'Ried b. Kerzers', 'RIED B. KERZERS', '', 'FR', ''); + CreatePostCode.InsertData('3225', 'Müntschemier', 'MÃœNTSCHEMIER', '', 'BE', ''); + CreatePostCode.InsertData('3226', 'Treiten', 'TREITEN', '', 'BE', ''); + CreatePostCode.InsertData('3232', 'Ins', 'INS', '', 'BE', ''); + CreatePostCode.InsertData('3233', 'Tschugg', 'TSCHUGG', '', 'BE', ''); + CreatePostCode.InsertData('3234', 'Vinelz', 'VINELZ', '', 'BE', ''); + CreatePostCode.InsertData('3235', 'Erlach', 'ERLACH', '', 'BE', ''); + CreatePostCode.InsertData('3236', 'Gampelen', 'GAMPELEN', '', 'BE', ''); + CreatePostCode.InsertData('3237', 'Brüttelen', 'BRÃœTTELEN', '', 'BE', ''); + CreatePostCode.InsertData('3238', 'Gals', 'GALS', '', 'BE', ''); + CreatePostCode.InsertData('3250', 'Lyss', 'LYSS', '', 'BE', ''); + CreatePostCode.InsertData('3250', 'Lyss Kaserne', 'LYSS KASERNE', '', 'BE', ''); + CreatePostCode.InsertData('3250', 'Lyss Zustellung', 'LYSS ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3251', 'Ruppoldsried', 'RUPPOLDSRIED', '', 'BE', ''); + CreatePostCode.InsertData('3251', 'Wengi b. Büren', 'WENGI B. BÃœREN', '', 'BE', ''); + CreatePostCode.InsertData('3252', 'Worben', 'WORBEN', '', 'BE', ''); + CreatePostCode.InsertData('3253', 'Schnottwil', 'SCHNOTTWIL', '', 'SO', ''); + CreatePostCode.InsertData('3254', 'Balm b. Messen', 'BALM B. MESSEN', '', 'SO', ''); + CreatePostCode.InsertData('3254', 'Messen', 'MESSEN', '', 'SO', ''); + CreatePostCode.InsertData('3255', 'Rapperswil BE', 'RAPPERSWIL BE', '', 'BE', ''); + CreatePostCode.InsertData('3256', 'Bangerten b. Dieterswil', 'BANGERTEN B. DIETERSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3256', 'Dieterswil', 'DIETERSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3256', 'Seewil', 'SEEWIL', '', 'BE', ''); + CreatePostCode.InsertData('3257', 'Ammerzwil BE', 'AMMERZWIL BE', '', 'BE', ''); + CreatePostCode.InsertData('3257', 'Grossaffoltern', 'GROSSAFFOLTERN', '', 'BE', ''); + CreatePostCode.InsertData('3262', 'Suberg', 'SUBERG', '', 'BE', ''); + CreatePostCode.InsertData('3263', 'Büetigen', 'BÃœETIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3264', 'Diessbach b. Büren', 'DIESSBACH B. BÃœREN', '', 'BE', ''); + CreatePostCode.InsertData('3266', 'Wiler b. Seedorf', 'WILER B. SEEDORF', '', 'BE', ''); + CreatePostCode.InsertData('3267', 'Seedorf BE', 'SEEDORF BE', '', 'BE', ''); + CreatePostCode.InsertData('3268', 'Lobsigen', 'LOBSIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3270', 'Aarberg', 'AARBERG', '', 'BE', ''); + CreatePostCode.InsertData('3271', 'Radelfingen b. Aarberg', 'RADELFINGEN B. AARBERG', '', 'BE', ''); + CreatePostCode.InsertData('3272', 'Epsach', 'EPSACH', '', 'BE', ''); + CreatePostCode.InsertData('3272', 'Walperswil', 'WALPERSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3273', 'Kappelen', 'KAPPELEN', '', 'BE', ''); + CreatePostCode.InsertData('3274', 'Bühl b. Aarberg', 'BÃœHL B. AARBERG', '', 'BE', ''); + CreatePostCode.InsertData('3274', 'Hermrigen', 'HERMRIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3274', 'Merzligen', 'MERZLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3280', 'Greng', 'GRENG', '', 'FR', ''); + CreatePostCode.InsertData('3280', 'Meyriez', 'MEYRIEZ', '', 'FR', ''); + CreatePostCode.InsertData('3280', 'Murten', 'MURTEN', '', 'FR', ''); + CreatePostCode.InsertData('3280', 'Murten Zustellung', 'MURTEN ZUSTELLUNG', '', 'FR', ''); + CreatePostCode.InsertData('3282', 'Bargen BE', 'BARGEN BE', '', 'BE', ''); + CreatePostCode.InsertData('3283', 'Kallnach', 'KALLNACH', '', 'BE', ''); + CreatePostCode.InsertData('3283', 'Niederried b. Kallnach', 'NIEDERRIED B. KALLNACH', '', 'BE', ''); + CreatePostCode.InsertData('3284', 'Fräschels', 'FRÄSCHELS', '', 'FR', ''); + CreatePostCode.InsertData('3285', 'Galmiz', 'GALMIZ', '', 'FR', ''); + CreatePostCode.InsertData('3286', 'Muntelier', 'MUNTELIER', '', 'FR', ''); + CreatePostCode.InsertData('3292', 'Busswil BE', 'BUSSWIL BE', '', 'BE', ''); + CreatePostCode.InsertData('3293', 'Dotzigen', 'DOTZIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3294', 'Büren an der Aare', 'BÃœREN AN DER AARE', '', 'BE', ''); + CreatePostCode.InsertData('3294', 'Büren an der Aare Zust', 'BÃœREN AN DER AARE ZUST', '', 'BE', ''); + CreatePostCode.InsertData('3294', 'Meienried', 'MEIENRIED', '', 'BE', ''); + CreatePostCode.InsertData('3295', 'Rüti b. Büren', 'RÃœTI B. BÃœREN', '', 'BE', ''); + CreatePostCode.InsertData('3296', 'Arch', 'ARCH', '', 'BE', ''); + CreatePostCode.InsertData('3297', 'Leuzigen', 'LEUZIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3298', 'Oberwil b. Büren', 'OBERWIL B. BÃœREN', '', 'BE', ''); + CreatePostCode.InsertData('3302', 'Moosseedorf', 'MOOSSEEDORF', '', 'BE', ''); + CreatePostCode.InsertData('3303', 'Ballmoos', 'BALLMOOS', '', 'BE', ''); + CreatePostCode.InsertData('3303', 'Jegenstorf', 'JEGENSTORF', '', 'BE', ''); + CreatePostCode.InsertData('3303', 'Jegenstorf Zustellung', 'JEGENSTORF ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3303', 'Münchringen', 'MÃœNCHRINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3303', 'Zuzwil BE', 'ZUZWIL BE', '', 'BE', ''); + CreatePostCode.InsertData('3305', 'Iffwil', 'IFFWIL', '', 'BE', ''); + CreatePostCode.InsertData('3305', 'Scheunen', 'SCHEUNEN', '', 'BE', ''); + CreatePostCode.InsertData('3306', 'Etzelkofen', 'ETZELKOFEN', '', 'BE', ''); + CreatePostCode.InsertData('3307', 'Brunnenthal', 'BRUNNENTHAL', '', 'SO', ''); + CreatePostCode.InsertData('3308', 'Grafenried', 'GRAFENRIED', '', 'BE', ''); + CreatePostCode.InsertData('3309', 'Kernenried', 'KERNENRIED', '', 'BE', ''); + CreatePostCode.InsertData('3309', 'Zauggenried', 'ZAUGGENRIED', '', 'BE', ''); + CreatePostCode.InsertData('3312', 'Fraubrunnen', 'FRAUBRUNNEN', '', 'BE', ''); + CreatePostCode.InsertData('3313', 'Büren zum Hof', 'BÃœREN ZUM HOF', '', 'BE', ''); + CreatePostCode.InsertData('3314', 'Schalunen', 'SCHALUNEN', '', 'BE', ''); + CreatePostCode.InsertData('3315', 'Bätterkinden', 'BÄTTERKINDEN', '', 'BE', ''); + CreatePostCode.InsertData('3315', 'Kräiligen', 'KRÄILIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3317', 'Limpach', 'LIMPACH', '', 'BE', ''); + CreatePostCode.InsertData('3317', 'Mülchi', 'MÃœLCHI', '', 'BE', ''); + CreatePostCode.InsertData('3321', 'Schönbühl Einkaufszentrum', 'SCHÖNBÃœHL EINKAUFSZENTRUM', '', 'BE', ''); + CreatePostCode.InsertData('3322', 'Mattstetten', 'MATTSTETTEN', '', 'BE', ''); + CreatePostCode.InsertData('3322', 'Urtenen-Schönbühl', 'URTENEN-SCHÖNBÃœHL', '', 'BE', ''); + CreatePostCode.InsertData('3322', 'Urtenen-Schönbühl Zust', 'URTENEN-SCHÖNBÃœHL ZUST', '', 'BE', ''); + CreatePostCode.InsertData('3323', 'Bäriswil BE', 'BÄRISWIL BE', '', 'BE', ''); + CreatePostCode.InsertData('3324', 'Hindelbank', 'HINDELBANK', '', 'BE', ''); + CreatePostCode.InsertData('3324', 'Mötschwil', 'MÖTSCHWIL', '', 'BE', ''); + CreatePostCode.InsertData('3325', 'Hettiswil b. Hindelbank', 'HETTISWIL B. HINDELBANK', '', 'BE', ''); + CreatePostCode.InsertData('3326', 'Krauchthal', 'KRAUCHTHAL', '', 'BE', ''); + CreatePostCode.InsertData('3360', 'Herzogenbuchsee', 'HERZOGENBUCHSEE', '', 'BE', ''); + CreatePostCode.InsertData('3360', 'Herzogenbuchsee Zustellung', 'HERZOGENBUCHSEE ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3362', 'Niederönz', 'NIEDERÖNZ', '', 'BE', ''); + CreatePostCode.InsertData('3363', 'Oberönz', 'OBERÖNZ', '', 'BE', ''); + CreatePostCode.InsertData('3365', 'Grasswil', 'GRASSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3365', 'Seeberg', 'SEEBERG', '', 'BE', ''); + CreatePostCode.InsertData('3366', 'Bettenhausen', 'BETTENHAUSEN', '', 'BE', ''); + CreatePostCode.InsertData('3366', 'Bollodingen', 'BOLLODINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3367', 'Ochlenberg', 'OCHLENBERG', '', 'BE', ''); + CreatePostCode.InsertData('3367', 'Thörigen', 'THÖRIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3368', 'Bleienbach', 'BLEIENBACH', '', 'BE', ''); + CreatePostCode.InsertData('3372', 'Wanzwil', 'WANZWIL', '', 'BE', ''); + CreatePostCode.InsertData('3373', 'Heimenhausen', 'HEIMENHAUSEN', '', 'BE', ''); + CreatePostCode.InsertData('3373', 'Röthenbach Herzogenbuchsee', 'RÖTHENBACH HERZOGENBUCHSEE', '', 'BE', ''); + CreatePostCode.InsertData('3374', 'Wangenried', 'WANGENRIED', '', 'BE', ''); + CreatePostCode.InsertData('3375', 'Inkwil', 'INKWIL', '', 'BE', ''); + CreatePostCode.InsertData('3376', 'Berken', 'BERKEN', '', 'BE', ''); + CreatePostCode.InsertData('3376', 'Graben', 'GRABEN', '', 'BE', ''); + CreatePostCode.InsertData('3377', 'Walliswil b. Wangen', 'WALLISWIL B. WANGEN', '', 'BE', ''); + CreatePostCode.InsertData('3380', 'Walliswil b. Niederbipp', 'WALLISWIL B. NIEDERBIPP', '', 'BE', ''); + CreatePostCode.InsertData('3380', 'Wangen a. A. Kaserne', 'WANGEN A. A. KASERNE', '', 'BE', ''); + CreatePostCode.InsertData('3380', 'Wangen an der Aare', 'WANGEN AN DER AARE', '', 'BE', ''); + CreatePostCode.InsertData('3400', 'Burgdorf', 'BURGDORF', '', 'BE', ''); + CreatePostCode.InsertData('3400', 'Burgdorf 1', 'BURGDORF 1', '', 'BE', ''); + CreatePostCode.InsertData('3400', 'Burgdorf Dist Fil', 'BURGDORF DIST FIL', '', 'BE', ''); + CreatePostCode.InsertData('3400', 'Burgdorf Filiale', 'BURGDORF FILIALE', '', 'BE', ''); + CreatePostCode.InsertData('3400', 'Burgdorf PostFinance mob', 'BURGDORF POSTFINANCE MOB', '', 'BE', ''); + CreatePostCode.InsertData('3400', 'Burgdorf Zustellung', 'BURGDORF ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3401', 'Burgdorf', 'BURGDORF', '', 'BE', ''); + CreatePostCode.InsertData('3402', 'Burgdorf', 'BURGDORF', '', 'BE', ''); + CreatePostCode.InsertData('3412', 'Heimiswil', 'HEIMISWIL', '', 'BE', ''); + CreatePostCode.InsertData('3413', 'Kaltacker', 'KALTACKER', '', 'BE', ''); + CreatePostCode.InsertData('3414', 'Oberburg', 'OBERBURG', '', 'BE', ''); + CreatePostCode.InsertData('3415', 'Hasle b. Burgdorf', 'HASLE B. BURGDORF', '', 'BE', ''); + CreatePostCode.InsertData('3415', 'Hasle-Rüegsau', 'HASLE-RÃœEGSAU', '', 'BE', ''); + CreatePostCode.InsertData('3415', 'Hasle-Rüegsau Zustellung', 'HASLE-RÃœEGSAU ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3415', 'Rüegsauschachen', 'RÃœEGSAUSCHACHEN', '', 'BE', ''); + CreatePostCode.InsertData('3415', 'Schafhausen im Emmental', 'SCHAFHAUSEN IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3416', 'Affoltern im Emmental', 'AFFOLTERN IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3417', 'Rüegsau', 'RÃœEGSAU', '', 'BE', ''); + CreatePostCode.InsertData('3418', 'Rüegsbach', 'RÃœEGSBACH', '', 'BE', ''); + CreatePostCode.InsertData('3419', 'Biembach im Emmental', 'BIEMBACH IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3421', 'Lyssach', 'LYSSACH', '', 'BE', ''); + CreatePostCode.InsertData('3421', 'Rüti b. Lyssach', 'RÃœTI B. LYSSACH', '', 'BE', ''); + CreatePostCode.InsertData('3422', 'Alchenflüh', 'ALCHENFLÃœH', '', 'BE', ''); + CreatePostCode.InsertData('3422', 'Kirchberg BE', 'KIRCHBERG BE', '', 'BE', ''); + CreatePostCode.InsertData('3422', 'Kirchberg BE Zustellung', 'KIRCHBERG BE ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3422', 'Rüdtligen', 'RÃœDTLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3423', 'Ersigen', 'ERSIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3424', 'Niederösch', 'NIEDERÖSCH', '', 'BE', ''); + CreatePostCode.InsertData('3424', 'Oberösch', 'OBERÖSCH', '', 'BE', ''); + CreatePostCode.InsertData('3425', 'Koppigen', 'KOPPIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3425', 'Willadingen', 'WILLADINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3426', 'Aefligen', 'AEFLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3427', 'Utzenstorf', 'UTZENSTORF', '', 'BE', ''); + CreatePostCode.InsertData('3428', 'Wiler b. Utzenstorf', 'WILER B. UTZENSTORF', '', 'BE', ''); + CreatePostCode.InsertData('3429', 'Hellsau', 'HELLSAU', '', 'BE', ''); + CreatePostCode.InsertData('3429', 'Höchstetten', 'HÖCHSTETTEN', '', 'BE', ''); + CreatePostCode.InsertData('3429', 'Höchstetten-Hellsau', 'HÖCHSTETTEN-HELLSAU', '', 'BE', ''); + CreatePostCode.InsertData('3432', 'Lützelflüh-Goldbach', 'LÃœTZELFLÃœH-GOLDBACH', '', 'BE', ''); + CreatePostCode.InsertData('3433', 'Schwanden im Emmental', 'SCHWANDEN IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3434', 'Landiswil', 'LANDISWIL', '', 'BE', ''); + CreatePostCode.InsertData('3434', 'Obergoldbach', 'OBERGOLDBACH', '', 'BE', ''); + CreatePostCode.InsertData('3435', 'Ramsei', 'RAMSEI', '', 'BE', ''); + CreatePostCode.InsertData('3436', 'Zollbrück', 'ZOLLBRÃœCK', '', 'BE', ''); + CreatePostCode.InsertData('3436', 'Zollbrück Zustellung', 'ZOLLBRÃœCK ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3437', 'Rüderswil', 'RÃœDERSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3438', 'Lauperswil', 'LAUPERSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3439', 'Ranflüh', 'RANFLÃœH', '', 'BE', ''); + CreatePostCode.InsertData('3452', 'Grünenmatt', 'GRÃœNENMATT', '', 'BE', ''); + CreatePostCode.InsertData('3453', 'Heimisbach', 'HEIMISBACH', '', 'BE', ''); + CreatePostCode.InsertData('3454', 'Sumiswald', 'SUMISWALD', '', 'BE', ''); + CreatePostCode.InsertData('3454', 'Sumiswald Zustellung', 'SUMISWALD ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3455', 'Grünen', 'GRÃœNEN', '', 'BE', ''); + CreatePostCode.InsertData('3456', 'Trachselwald', 'TRACHSELWALD', '', 'BE', ''); + CreatePostCode.InsertData('3457', 'Wasen im Emmental', 'WASEN IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3462', 'Weier im Emmental', 'WEIER IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3463', 'Häusernmoos im Emmental', 'HÄUSERNMOOS IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3464', 'Schmidigen-Mühleweg', 'SCHMIDIGEN-MÃœHLEWEG', '', 'BE', ''); + CreatePostCode.InsertData('3465', 'Dürrenroth', 'DÃœRRENROTH', '', 'BE', ''); + CreatePostCode.InsertData('3472', 'Rumendingen', 'RUMENDINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3472', 'Wynigen', 'WYNIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3473', 'Alchenstorf', 'ALCHENSTORF', '', 'BE', ''); + CreatePostCode.InsertData('3474', 'Rüedisbach', 'RÃœEDISBACH', '', 'BE', ''); + CreatePostCode.InsertData('3475', 'Hermiswil', 'HERMISWIL', '', 'BE', ''); + CreatePostCode.InsertData('3475', 'Riedtwil', 'RIEDTWIL', '', 'BE', ''); + CreatePostCode.InsertData('3476', 'Oschwand', 'OSCHWAND', '', 'BE', ''); + CreatePostCode.InsertData('3503', 'Gysenstein', 'GYSENSTEIN', '', 'BE', ''); + CreatePostCode.InsertData('3504', 'Niederhünigen', 'NIEDERHÃœNIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3504', 'Oberhünigen', 'OBERHÃœNIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3506', 'Grosshöchstetten', 'GROSSHÖCHSTETTEN', '', 'BE', ''); + CreatePostCode.InsertData('3507', 'Biglen', 'BIGLEN', '', 'BE', ''); + CreatePostCode.InsertData('3508', 'Arni BE', 'ARNI BE', '', 'BE', ''); + CreatePostCode.InsertData('3510', 'Freimettigen', 'FREIMETTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3510', 'Häutligen', 'HÄUTLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3510', 'Konolfingen', 'KONOLFINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3512', 'Walkringen', 'WALKRINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3513', 'Bigenthal', 'BIGENTHAL', '', 'BE', ''); + CreatePostCode.InsertData('3531', 'Oberthal', 'OBERTHAL', '', 'BE', ''); + CreatePostCode.InsertData('3532', 'Mirchel', 'MIRCHEL', '', 'BE', ''); + CreatePostCode.InsertData('3532', 'Zäziwil', 'ZÄZIWIL', '', 'BE', ''); + CreatePostCode.InsertData('3533', 'Bowil', 'BOWIL', '', 'BE', ''); + CreatePostCode.InsertData('3534', 'Signau', 'SIGNAU', '', 'BE', ''); + CreatePostCode.InsertData('3535', 'Schüpbach', 'SCHÃœPBACH', '', 'BE', ''); + CreatePostCode.InsertData('3536', 'Aeschau', 'AESCHAU', '', 'BE', ''); + CreatePostCode.InsertData('3537', 'Eggiwil', 'EGGIWIL', '', 'BE', ''); + CreatePostCode.InsertData('3537', 'Eggiwil Zustellung', 'EGGIWIL ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3538', 'Röthenbach im Emmental', 'RÖTHENBACH IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3543', 'Emmenmatt', 'EMMENMATT', '', 'BE', ''); + CreatePostCode.InsertData('3550', 'Langnau i. E. Zustellung', 'LANGNAU I. E. ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3550', 'Langnau im Emmental', 'LANGNAU IM EMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3551', 'Oberfrittenbach', 'OBERFRITTENBACH', '', 'BE', ''); + CreatePostCode.InsertData('3552', 'Bärau', 'BÄRAU', '', 'BE', ''); + CreatePostCode.InsertData('3553', 'Gohl', 'GOHL', '', 'BE', ''); + CreatePostCode.InsertData('3555', 'Trubschachen', 'TRUBSCHACHEN', '', 'BE', ''); + CreatePostCode.InsertData('3556', 'Trub', 'TRUB', '', 'BE', ''); + CreatePostCode.InsertData('3557', 'Fankhaus (Trub)', 'FANKHAUS (TRUB)', '', 'BE', ''); + CreatePostCode.InsertData('3600', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3600', 'Thun 2 Zustellung', 'THUN 2 ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3600', 'Thun Dist Ba', 'THUN DIST BA', '', 'BE', ''); + CreatePostCode.InsertData('3601', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3602', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3603', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3604', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3605', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3607', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3608', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3609', 'Thun', 'THUN', '', 'BE', ''); + CreatePostCode.InsertData('3612', 'Steffisburg', 'STEFFISBURG', '', 'BE', ''); + CreatePostCode.InsertData('3612', 'Steffisburg 1 Zustellung', 'STEFFISBURG 1 ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3613', 'Steffisburg', 'STEFFISBURG', '', 'BE', ''); + CreatePostCode.InsertData('3614', 'Unterlangenegg', 'UNTERLANGENEGG', '', 'BE', ''); + CreatePostCode.InsertData('3615', 'Heimenschwand', 'HEIMENSCHWAND', '', 'BE', ''); + CreatePostCode.InsertData('3616', 'Schwarzenegg', 'SCHWARZENEGG', '', 'BE', ''); + CreatePostCode.InsertData('3617', 'Fahrni b. Thun', 'FAHRNI B. THUN', '', 'BE', ''); + CreatePostCode.InsertData('3618', 'Süderen', 'SÃœDEREN', '', 'BE', ''); + CreatePostCode.InsertData('3619', 'Eriz', 'ERIZ', '', 'BE', ''); + CreatePostCode.InsertData('3619', 'Innereriz', 'INNERERIZ', '', 'BE', ''); + CreatePostCode.InsertData('3622', 'Homberg b. Thun', 'HOMBERG B. THUN', '', 'BE', ''); + CreatePostCode.InsertData('3623', 'Buchen BE', 'BUCHEN BE', '', 'BE', ''); + CreatePostCode.InsertData('3623', 'Horrenbach', 'HORRENBACH', '', 'BE', ''); + CreatePostCode.InsertData('3623', 'Teuffenthal b. Thun', 'TEUFFENTHAL B. THUN', '', 'BE', ''); + CreatePostCode.InsertData('3624', 'Goldiwil (Thun)', 'GOLDIWIL (THUN)', '', 'BE', ''); + CreatePostCode.InsertData('3624', 'Schwendibach', 'SCHWENDIBACH', '', 'BE', ''); + CreatePostCode.InsertData('3625', 'Heiligenschwendi', 'HEILIGENSCHWENDI', '', 'BE', ''); + CreatePostCode.InsertData('3626', 'Hünibach', 'HÃœNIBACH', '', 'BE', ''); + CreatePostCode.InsertData('3627', 'Heimberg', 'HEIMBERG', '', 'BE', ''); + CreatePostCode.InsertData('3627', 'Heimberg Zustellung', 'HEIMBERG ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3628', 'Uttigen', 'UTTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3629', 'Jaberg', 'JABERG', '', 'BE', ''); + CreatePostCode.InsertData('3629', 'Kiesen', 'KIESEN', '', 'BE', ''); + CreatePostCode.InsertData('3629', 'Oppligen', 'OPPLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3631', 'Höfen b. Thun', 'HÖFEN B. THUN', '', 'BE', ''); + CreatePostCode.InsertData('3632', 'Niederstocken', 'NIEDERSTOCKEN', '', 'BE', ''); + CreatePostCode.InsertData('3632', 'Oberstocken', 'OBERSTOCKEN', '', 'BE', ''); + CreatePostCode.InsertData('3633', 'Amsoldingen', 'AMSOLDINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3634', 'Thierachern', 'THIERACHERN', '', 'BE', ''); + CreatePostCode.InsertData('3635', 'Uebeschi', 'UEBESCHI', '', 'BE', ''); + CreatePostCode.InsertData('3636', 'Forst b. Längenbühl', 'FORST B. LÄNGENBÃœHL', '', 'BE', ''); + CreatePostCode.InsertData('3636', 'Längenbühl', 'LÄNGENBÃœHL', '', 'BE', ''); + CreatePostCode.InsertData('3638', 'Blumenstein', 'BLUMENSTEIN', '', 'BE', ''); + CreatePostCode.InsertData('3638', 'Pohlern', 'POHLERN', '', 'BE', ''); + CreatePostCode.InsertData('3645', 'Gwatt (Thun)', 'GWATT (THUN)', '', 'BE', ''); + CreatePostCode.InsertData('3645', 'Gwatt (Thun) Spiezstrasse', 'GWATT (THUN) SPIEZSTRASSE', '', 'BE', ''); + CreatePostCode.InsertData('3645', 'Zwieselberg', 'ZWIESELBERG', '', 'BE', ''); + CreatePostCode.InsertData('3646', 'Einigen', 'EINIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3647', 'Reutigen', 'REUTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3652', 'Hilterfingen', 'HILTERFINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3653', 'Oberhofen am Thunersee', 'OBERHOFEN AM THUNERSEE', '', 'BE', ''); + CreatePostCode.InsertData('3654', 'Gunten', 'GUNTEN', '', 'BE', ''); + CreatePostCode.InsertData('3655', 'Sigriswil', 'SIGRISWIL', '', 'BE', ''); + CreatePostCode.InsertData('3656', 'Aeschlen ob Gunten', 'AESCHLEN OB GUNTEN', '', 'BE', ''); + CreatePostCode.InsertData('3656', 'Ringoldswil', 'RINGOLDSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3656', 'Tschingel ob Gunten', 'TSCHINGEL OB GUNTEN', '', 'BE', ''); + CreatePostCode.InsertData('3657', 'Schwanden (Sigriswil)', 'SCHWANDEN (SIGRISWIL)', '', 'BE', ''); + CreatePostCode.InsertData('3658', 'Merligen', 'MERLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3661', 'Uetendorf', 'UETENDORF', '', 'BE', ''); + CreatePostCode.InsertData('3661', 'Uetendorf Zustellung', 'UETENDORF ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3662', 'Seftigen', 'SEFTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3663', 'Gurzelen', 'GURZELEN', '', 'BE', ''); + CreatePostCode.InsertData('3664', 'Burgistein', 'BURGISTEIN', '', 'BE', ''); + CreatePostCode.InsertData('3665', 'Wattenwil', 'WATTENWIL', '', 'BE', ''); + CreatePostCode.InsertData('3671', 'Brenzikofen', 'BRENZIKOFEN', '', 'BE', ''); + CreatePostCode.InsertData('3671', 'Herbligen', 'HERBLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3672', 'Aeschlen b. Oberdiessbach', 'AESCHLEN B. OBERDIESSBACH', '', 'BE', ''); + CreatePostCode.InsertData('3672', 'Oberdiessbach', 'OBERDIESSBACH', '', 'BE', ''); + CreatePostCode.InsertData('3673', 'Linden', 'LINDEN', '', 'BE', ''); + CreatePostCode.InsertData('3674', 'Bleiken b. Oberdiessbach', 'BLEIKEN B. OBERDIESSBACH', '', 'BE', ''); + CreatePostCode.InsertData('3700', 'Spiez', 'SPIEZ', '', 'BE', ''); + CreatePostCode.InsertData('3700', 'Spiez Zustellung', 'SPIEZ ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3700', 'Spiezwiler', 'SPIEZWILER', '', 'BE', ''); + CreatePostCode.InsertData('3702', 'Hondrich', 'HONDRICH', '', 'BE', ''); + CreatePostCode.InsertData('3703', 'Aeschi b. Spiez', 'AESCHI B. SPIEZ', '', 'BE', ''); + CreatePostCode.InsertData('3703', 'Aeschiried', 'AESCHIRIED', '', 'BE', ''); + CreatePostCode.InsertData('3704', 'Krattigen', 'KRATTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3705', 'Faulensee', 'FAULENSEE', '', 'BE', ''); + CreatePostCode.InsertData('3706', 'Leissigen', 'LEISSIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3707', 'Därligen', 'DÄRLIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3711', 'Emdthal', 'EMDTHAL', '', 'BE', ''); + CreatePostCode.InsertData('3711', 'Mülenen', 'MÃœLENEN', '', 'BE', ''); + CreatePostCode.InsertData('3713', 'Reichenbach im Kandertal', 'REICHENBACH IM KANDERTAL', '', 'BE', ''); + CreatePostCode.InsertData('3714', 'Frutigen', 'FRUTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3714', 'Frutigen Zustellung', 'FRUTIGEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3714', 'Wengi b. Frutigen', 'WENGI B. FRUTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3715', 'Adelboden', 'ADELBODEN', '', 'BE', ''); + CreatePostCode.InsertData('3715', 'Adelboden Zustellung', 'ADELBODEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3716', 'Kandergrund', 'KANDERGRUND', '', 'BE', ''); + CreatePostCode.InsertData('3717', 'Blausee-Mitholz', 'BLAUSEE-MITHOLZ', '', 'BE', ''); + CreatePostCode.InsertData('3718', 'Kandersteg', 'KANDERSTEG', '', 'BE', ''); + CreatePostCode.InsertData('3722', 'Scharnachtal', 'SCHARNACHTAL', '', 'BE', ''); + CreatePostCode.InsertData('3723', 'Kiental', 'KIENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3724', 'Ried (Frutigen)', 'RIED (FRUTIGEN)', '', 'BE', ''); + CreatePostCode.InsertData('3725', 'Achseten', 'ACHSETEN', '', 'BE', ''); + CreatePostCode.InsertData('3752', 'Wimmis', 'WIMMIS', '', 'BE', ''); + CreatePostCode.InsertData('3753', 'Oey', 'OEY', '', 'BE', ''); + CreatePostCode.InsertData('3754', 'Diemtigen', 'DIEMTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3755', 'Horboden', 'HORBODEN', '', 'BE', ''); + CreatePostCode.InsertData('3756', 'Zwischenflüh', 'ZWISCHENFLÜH', '', 'BE', ''); + CreatePostCode.InsertData('3757', 'Schwenden im Diemtigtal', 'SCHWENDEN IM DIEMTIGTAL', '', 'BE', ''); + CreatePostCode.InsertData('3758', 'Latterbach', 'LATTERBACH', '', 'BE', ''); + CreatePostCode.InsertData('3762', 'Erlenbach im Simmental', 'ERLENBACH IM SIMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3763', 'Därstetten', 'DÄRSTETTEN', '', 'BE', ''); + CreatePostCode.InsertData('3764', 'Weissenburg', 'WEISSENBURG', '', 'BE', ''); + CreatePostCode.InsertData('3765', 'Oberwil im Simmental', 'OBERWIL IM SIMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3766', 'Boltigen', 'BOLTIGEN', '', 'BE', ''); + CreatePostCode.InsertData('3770', 'Zweisimmen', 'ZWEISIMMEN', '', 'BE', ''); + CreatePostCode.InsertData('3770', 'Zweisimmen Zustellung', 'ZWEISIMMEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3771', 'Blankenburg', 'BLANKENBURG', '', 'BE', ''); + CreatePostCode.InsertData('3772', 'St. Stephan', 'ST. STEPHAN', '', 'BE', ''); + CreatePostCode.InsertData('3773', 'Matten (St. Stephan)', 'MATTEN (ST. STEPHAN)', '', 'BE', ''); + CreatePostCode.InsertData('3775', 'Lenk i. S. Zustellung', 'LENK I. S. ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3775', 'Lenk im Simmental', 'LENK IM SIMMENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3776', 'Oeschseite', 'OESCHSEITE', '', 'BE', ''); + CreatePostCode.InsertData('3777', 'Saanenmöser', 'SAANENMÖSER', '', 'BE', ''); + CreatePostCode.InsertData('3778', 'Schönried', 'SCHÖNRIED', '', 'BE', ''); + CreatePostCode.InsertData('3780', 'Gstaad', 'GSTAAD', '', 'BE', ''); + CreatePostCode.InsertData('3780', 'Gstaad Zustellung', 'GSTAAD ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3781', 'Turbach', 'TURBACH', '', 'BE', ''); + CreatePostCode.InsertData('3782', 'Lauenen b. Gstaad', 'LAUENEN B. GSTAAD', '', 'BE', ''); + CreatePostCode.InsertData('3783', 'Grund b. Gstaad', 'GRUND B. GSTAAD', '', 'BE', ''); + CreatePostCode.InsertData('3784', 'Feutersoey', 'FEUTERSOEY', '', 'BE', ''); + CreatePostCode.InsertData('3785', 'Gsteig b. Gstaad', 'GSTEIG B. GSTAAD', '', 'BE', ''); + CreatePostCode.InsertData('3792', 'Saanen', 'SAANEN', '', 'BE', ''); + CreatePostCode.InsertData('3800', 'Interlaken', 'INTERLAKEN', '', 'BE', ''); + CreatePostCode.InsertData('3800', 'Interlaken Postauto BE Ober', 'INTERLAKEN POSTAUTO BE OBER', '', 'BE', ''); + CreatePostCode.InsertData('3800', 'Interlaken Zustellung', 'INTERLAKEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3800', 'Matten b. Interlaken', 'MATTEN B. INTERLAKEN', '', 'BE', ''); + CreatePostCode.InsertData('3800', 'Sundlauenen', 'SUNDLAUENEN', '', 'BE', ''); + CreatePostCode.InsertData('3800', 'Unterseen', 'UNTERSEEN', '', 'BE', ''); + CreatePostCode.InsertData('3801', 'Jungfraujoch', 'JUNGFRAUJOCH', '', 'VS', ''); + CreatePostCode.InsertData('3803', 'Beatenberg', 'BEATENBERG', '', 'BE', ''); + CreatePostCode.InsertData('3804', 'Habkern', 'HABKERN', '', 'BE', ''); + CreatePostCode.InsertData('3805', 'Goldswil b. Interlaken', 'GOLDSWIL B. INTERLAKEN', '', 'BE', ''); + CreatePostCode.InsertData('3806', 'Bönigen b. Interlaken', 'BÖNIGEN B. INTERLAKEN', '', 'BE', ''); + CreatePostCode.InsertData('3807', 'Iseltwald', 'ISELTWALD', '', 'BE', ''); + CreatePostCode.InsertData('3812', 'Wilderswil', 'WILDERSWIL', '', 'BE', ''); + CreatePostCode.InsertData('3813', 'Saxeten', 'SAXETEN', '', 'BE', ''); + CreatePostCode.InsertData('3814', 'Gsteigwiler', 'GSTEIGWILER', '', 'BE', ''); + CreatePostCode.InsertData('3815', 'Gündlischwand', 'GÜNDLISCHWAND', '', 'BE', ''); + CreatePostCode.InsertData('3815', 'Zweilütschinen', 'ZWEILÜTSCHINEN', '', 'BE', ''); + CreatePostCode.InsertData('3816', 'Burglauenen', 'BURGLAUENEN', '', 'BE', ''); + CreatePostCode.InsertData('3816', 'Lütschental', 'LÜTSCHENTAL', '', 'BE', ''); + CreatePostCode.InsertData('3818', 'Grindelwald', 'GRINDELWALD', '', 'BE', ''); + CreatePostCode.InsertData('3818', 'Grindelwald Zustellung', 'GRINDELWALD ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3822', 'Isenfluh', 'ISENFLUH', '', 'BE', ''); + CreatePostCode.InsertData('3822', 'Lauterbrunnen', 'LAUTERBRUNNEN', '', 'BE', ''); + CreatePostCode.InsertData('3823', 'Eigergletscher', 'EIGERGLETSCHER', '', 'BE', ''); + CreatePostCode.InsertData('3823', 'Kleine Scheidegg', 'KLEINE SCHEIDEGG', '', 'BE', ''); + CreatePostCode.InsertData('3823', 'Wengen', 'WENGEN', '', 'BE', ''); + CreatePostCode.InsertData('3824', 'Stechelberg', 'STECHELBERG', '', 'BE', ''); + CreatePostCode.InsertData('3825', 'Mürren', 'MÜRREN', '', 'BE', ''); + CreatePostCode.InsertData('3826', 'Gimmelwald', 'GIMMELWALD', '', 'BE', ''); + CreatePostCode.InsertData('3852', 'Ringgenberg BE', 'RINGGENBERG BE', '', 'BE', ''); + CreatePostCode.InsertData('3853', 'Niederried b. Interlaken', 'NIEDERRIED B. INTERLAKEN', '', 'BE', ''); + CreatePostCode.InsertData('3854', 'Oberried am Brienzersee', 'OBERRIED AM BRIENZERSEE', '', 'BE', ''); + CreatePostCode.InsertData('3855', 'Axalp', 'AXALP', '', 'BE', ''); + CreatePostCode.InsertData('3855', 'Brienz BE', 'BRIENZ BE', '', 'BE', ''); + CreatePostCode.InsertData('3855', 'Brienz BE Zustellung', 'BRIENZ BE ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3855', 'Schwanden b. Brienz', 'SCHWANDEN B. BRIENZ', '', 'BE', ''); + CreatePostCode.InsertData('3856', 'Brienzwiler', 'BRIENZWILER', '', 'BE', ''); + CreatePostCode.InsertData('3857', 'Unterbach BE', 'UNTERBACH BE', '', 'BE', ''); + CreatePostCode.InsertData('3858', 'Hofstetten b. Brienz', 'HOFSTETTEN B. BRIENZ', '', 'BE', ''); + CreatePostCode.InsertData('3860', 'Brünig', 'BRÜNIG', '', 'BE', ''); + CreatePostCode.InsertData('3860', 'Meiringen', 'MEIRINGEN', '', 'BE', ''); + CreatePostCode.InsertData('3860', 'Meiringen Zustellung', 'MEIRINGEN ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('3860', 'Rosenlaui', 'ROSENLAUI', '', 'BE', ''); + CreatePostCode.InsertData('3860', 'Schattenhalb', 'SCHATTENHALB', '', 'BE', ''); + CreatePostCode.InsertData('3862', 'Innertkirchen', 'INNERTKIRCHEN', '', 'BE', ''); + CreatePostCode.InsertData('3863', 'Gadmen', 'GADMEN', '', 'BE', ''); + CreatePostCode.InsertData('3864', 'Guttannen', 'GUTTANNEN', '', 'BE', ''); + CreatePostCode.InsertData('3900', 'Brig', 'BRIG', '', 'VS', ''); + CreatePostCode.InsertData('3900', 'Brig Distributionsbasis', 'BRIG DISTRIBUTIONSBASIS', '', 'VS', ''); + CreatePostCode.InsertData('3900', 'Brig Postauto Oberwallis', 'BRIG POSTAUTO OBERWALLIS', '', 'VS', ''); + CreatePostCode.InsertData('3900', 'Brig Zustellung', 'BRIG ZUSTELLUNG', '', 'VS', ''); + CreatePostCode.InsertData('3900', 'Brigerbad', 'BRIGERBAD', '', 'VS', ''); + CreatePostCode.InsertData('3900', 'Gamsen', 'GAMSEN', '', 'VS', ''); + CreatePostCode.InsertData('3901', 'Rothwald', 'ROTHWALD', '', 'VS', ''); + CreatePostCode.InsertData('3902', 'Glis', 'GLIS', '', 'VS', ''); + CreatePostCode.InsertData('3903', 'Birgisch', 'BIRGISCH', '', 'VS', ''); + CreatePostCode.InsertData('3903', 'Mund', 'MUND', '', 'VS', ''); + CreatePostCode.InsertData('3904', 'Naters', 'NATERS', '', 'VS', ''); + CreatePostCode.InsertData('3905', 'Saas-Almagell', 'SAAS-ALMAGELL', '', 'VS', ''); + CreatePostCode.InsertData('3906', 'Saas-Fee', 'SAAS-FEE', '', 'VS', ''); + CreatePostCode.InsertData('3907', 'Gabi (Simplon)', 'GABI (SIMPLON)', '', 'VS', ''); + CreatePostCode.InsertData('3907', 'Gondo', 'GONDO', '', 'VS', ''); + CreatePostCode.InsertData('3907', 'Simplon Dorf', 'SIMPLON DORF', '', 'VS', ''); + CreatePostCode.InsertData('3907', 'Simplon Hospiz', 'SIMPLON HOSPIZ', '', 'VS', ''); + CreatePostCode.InsertData('3908', 'Saas-Balen', 'SAAS-BALEN', '', 'VS', ''); + CreatePostCode.InsertData('3910', 'Saas-Grund', 'SAAS-GRUND', '', 'VS', ''); + CreatePostCode.InsertData('3911', 'Ried-Brig', 'RIED-BRIG', '', 'VS', ''); + CreatePostCode.InsertData('3912', 'Termen', 'TERMEN', '', 'VS', ''); + CreatePostCode.InsertData('3913', 'Rosswald', 'ROSSWALD', '', 'VS', ''); + CreatePostCode.InsertData('3914', 'Belalp', 'BELALP', '', 'VS', ''); + CreatePostCode.InsertData('3914', 'Blatten b. Naters', 'BLATTEN B. NATERS', '', 'VS', ''); + CreatePostCode.InsertData('3916', 'Ferden', 'FERDEN', '', 'VS', ''); + CreatePostCode.InsertData('3917', 'Goppenstein', 'GOPPENSTEIN', '', 'VS', ''); + CreatePostCode.InsertData('3917', 'Kippel', 'KIPPEL', '', 'VS', ''); + CreatePostCode.InsertData('3918', 'Wiler (Lötschen)', 'WILER (LÖTSCHEN)', '', 'VS', ''); + CreatePostCode.InsertData('3919', 'Blatten (Lötschen)', 'BLATTEN (LÖTSCHEN)', '', 'VS', ''); + CreatePostCode.InsertData('3920', 'Zermatt', 'ZERMATT', '', 'VS', ''); + CreatePostCode.InsertData('3920', 'Zermatt Zustellung', 'ZERMATT ZUSTELLUNG', '', 'VS', ''); + CreatePostCode.InsertData('3922', 'Eisten', 'EISTEN', '', 'VS', ''); + CreatePostCode.InsertData('3922', 'Kalpetran', 'KALPETRAN', '', 'VS', ''); + CreatePostCode.InsertData('3922', 'Stalden VS', 'STALDEN VS', '', 'VS', ''); + CreatePostCode.InsertData('3923', 'Törbel', 'TÖRBEL', '', 'VS', ''); + CreatePostCode.InsertData('3924', 'St. Niklaus VS', 'ST. NIKLAUS VS', '', 'VS', ''); + CreatePostCode.InsertData('3925', 'Grächen', 'GRÄCHEN', '', 'VS', ''); + CreatePostCode.InsertData('3926', 'Embd', 'EMBD', '', 'VS', ''); + CreatePostCode.InsertData('3927', 'Herbriggen', 'HERBRIGGEN', '', 'VS', ''); + CreatePostCode.InsertData('3928', 'Randa', 'RANDA', '', 'VS', ''); + CreatePostCode.InsertData('3929', 'Täsch', 'TÄSCH', '', 'VS', ''); + CreatePostCode.InsertData('3930', 'Eyholz', 'EYHOLZ', '', 'VS', ''); + CreatePostCode.InsertData('3930', 'Visp', 'VISP', '', 'VS', ''); + CreatePostCode.InsertData('3930', 'Visp Bahnhof SBB', 'VISP BAHNHOF SBB', '', 'VS', ''); + CreatePostCode.InsertData('3930', 'Visp Verkaufssupport', 'VISP VERKAUFSSUPPORT', '', 'VS', ''); + CreatePostCode.InsertData('3930', 'Visp Zustellung', 'VISP ZUSTELLUNG', '', 'VS', ''); + CreatePostCode.InsertData('3931', 'Lalden', 'LALDEN', '', 'VS', ''); + CreatePostCode.InsertData('3932', 'Visperterminen', 'VISPERTERMINEN', '', 'VS', ''); + CreatePostCode.InsertData('3933', 'Staldenried', 'STALDENRIED', '', 'VS', ''); + CreatePostCode.InsertData('3934', 'Zeneggen', 'ZENEGGEN', '', 'VS', ''); + CreatePostCode.InsertData('3935', 'Bürchen', 'BÜRCHEN', '', 'VS', ''); + CreatePostCode.InsertData('3937', 'Baltschieder', 'BALTSCHIEDER', '', 'VS', ''); + CreatePostCode.InsertData('3938', 'Ausserberg', 'AUSSERBERG', '', 'VS', ''); + CreatePostCode.InsertData('3939', 'Eggerberg', 'EGGERBERG', '', 'VS', ''); + CreatePostCode.InsertData('3940', 'Steg VS', 'STEG VS', '', 'VS', ''); + CreatePostCode.InsertData('3940', 'Steg-Gampel', 'STEG-GAMPEL', '', 'VS', ''); + CreatePostCode.InsertData('3942', 'Niedergesteln', 'NIEDERGESTELN', '', 'VS', ''); + CreatePostCode.InsertData('3942', 'Raron', 'RARON', '', 'VS', ''); + CreatePostCode.InsertData('3942', 'St. German', 'ST. GERMAN', '', 'VS', ''); + CreatePostCode.InsertData('3943', 'Eischoll', 'EISCHOLL', '', 'VS', ''); + CreatePostCode.InsertData('3944', 'Unterbäch VS', 'UNTERBÄCH VS', '', 'VS', ''); + CreatePostCode.InsertData('3945', 'Gampel', 'GAMPEL', '', 'VS', ''); + CreatePostCode.InsertData('3945', 'Niedergampel', 'NIEDERGAMPEL', '', 'VS', ''); + CreatePostCode.InsertData('3946', 'Gruben', 'GRUBEN', '', 'VS', ''); + CreatePostCode.InsertData('3946', 'Turtmann', 'TURTMANN', '', 'VS', ''); + CreatePostCode.InsertData('3947', 'Ergisch', 'ERGISCH', '', 'VS', ''); + CreatePostCode.InsertData('3948', 'Oberems', 'OBEREMS', '', 'VS', ''); + CreatePostCode.InsertData('3948', 'Unterems', 'UNTEREMS', '', 'VS', ''); + CreatePostCode.InsertData('3949', 'Hohtenn', 'HOHTENN', '', 'VS', ''); + CreatePostCode.InsertData('3951', 'Agarn', 'AGARN', '', 'VS', ''); + CreatePostCode.InsertData('3952', 'Susten', 'SUSTEN', '', 'VS', ''); + CreatePostCode.InsertData('3953', 'Inden', 'INDEN', '', 'VS', ''); + CreatePostCode.InsertData('3953', 'Leuk Stadt', 'LEUK STADT', '', 'VS', ''); + CreatePostCode.InsertData('3953', 'Varen', 'VAREN', '', 'VS', ''); + CreatePostCode.InsertData('3954', 'Leukerbad', 'LEUKERBAD', '', 'VS', ''); + CreatePostCode.InsertData('3955', 'Albinen', 'ALBINEN', '', 'VS', ''); + CreatePostCode.InsertData('3956', 'Feschel', 'FESCHEL', '', 'VS', ''); + CreatePostCode.InsertData('3956', 'Guttet', 'GUTTET', '', 'VS', ''); + CreatePostCode.InsertData('3956', 'Guttet-Feschel', 'GUTTET-FESCHEL', '', 'VS', ''); + CreatePostCode.InsertData('3957', 'Bratsch', 'BRATSCH', '', 'VS', ''); + CreatePostCode.InsertData('3957', 'Erschmatt', 'ERSCHMATT', '', 'VS', ''); + CreatePostCode.InsertData('3960', 'Corin-de-la-Crête', 'CORIN-DE-LA-CRÊTE', '', 'VS', ''); + CreatePostCode.InsertData('3960', 'Loc', 'LOC', '', 'VS', ''); + CreatePostCode.InsertData('3960', 'Muraz (Sierre)', 'MURAZ (SIERRE)', '', 'VS', ''); + CreatePostCode.InsertData('3960', 'Niouc', 'NIOUC', '', 'VS', ''); + CreatePostCode.InsertData('3960', 'Sierre', 'SIERRE', '', 'VS', ''); + CreatePostCode.InsertData('3960', 'Sierre Dist Fil', 'SIERRE DIST FIL', '', 'VS', ''); + CreatePostCode.InsertData('3960', 'Sierre Distribution', 'SIERRE DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'Ayer', 'AYER', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'Chandolin', 'CHANDOLIN', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'Grimentz', 'GRIMENTZ', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'Mission', 'MISSION', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'St-Jean VS', 'ST-JEAN VS', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'St-Luc', 'ST-LUC', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'Vissoie', 'VISSOIE', '', 'VS', ''); + CreatePostCode.InsertData('3961', 'Zinal', 'ZINAL', '', 'VS', ''); + CreatePostCode.InsertData('3963', 'Aminona', 'AMINONA', '', 'VS', ''); + CreatePostCode.InsertData('3963', 'Crans-Montana', 'CRANS-MONTANA', '', 'VS', ''); + CreatePostCode.InsertData('3963', 'Crans-Montana 1', 'CRANS-MONTANA 1', '', 'VS', ''); + CreatePostCode.InsertData('3963', 'Crans-Montana 1 Dist', 'CRANS-MONTANA 1 DIST', '', 'VS', ''); + CreatePostCode.InsertData('3963', 'Crans-Montana 2', 'CRANS-MONTANA 2', '', 'VS', ''); + CreatePostCode.InsertData('3963', 'Montana', 'MONTANA', '', 'VS', ''); + CreatePostCode.InsertData('3965', 'Chippis', 'CHIPPIS', '', 'VS', ''); + CreatePostCode.InsertData('3966', 'Chalais', 'CHALAIS', '', 'VS', ''); + CreatePostCode.InsertData('3966', 'Réchy', 'RÉCHY', '', 'VS', ''); + CreatePostCode.InsertData('3967', 'Vercorin', 'VERCORIN', '', 'VS', ''); + CreatePostCode.InsertData('3968', 'Veyras', 'VEYRAS', '', 'VS', ''); + CreatePostCode.InsertData('3970', 'Salgesch', 'SALGESCH', '', 'VS', ''); + CreatePostCode.InsertData('3971', 'Chermignon', 'CHERMIGNON', '', 'VS', ''); + CreatePostCode.InsertData('3971', 'Chermignon-d''en-Bas', 'CHERMIGNON-D''EN-BAS', '', 'VS', ''); + CreatePostCode.InsertData('3971', 'Ollon VS', 'OLLON VS', '', 'VS', ''); + CreatePostCode.InsertData('3972', 'Miège', 'MIÈGE', '', 'VS', ''); + CreatePostCode.InsertData('3973', 'Venthône', 'VENTHÔNE', '', 'VS', ''); + CreatePostCode.InsertData('3974', 'Mollens VS', 'MOLLENS VS', '', 'VS', ''); + CreatePostCode.InsertData('3975', 'Randogne', 'RANDOGNE', '', 'VS', ''); + CreatePostCode.InsertData('3976', 'Champzabé', 'CHAMPZABÉ', '', 'VS', ''); + CreatePostCode.InsertData('3976', 'Noës', 'NOËS', '', 'VS', ''); + CreatePostCode.InsertData('3977', 'Granges VS', 'GRANGES VS', '', 'VS', ''); + CreatePostCode.InsertData('3977', 'Granges VS Distribution', 'GRANGES VS DISTRIBUTION', '', 'VS', ''); + CreatePostCode.InsertData('3978', 'Flanthey', 'FLANTHEY', '', 'VS', ''); + CreatePostCode.InsertData('3979', 'Grône', 'GRÔNE', '', 'VS', ''); + CreatePostCode.InsertData('3982', 'Bitsch', 'BITSCH', '', 'VS', ''); + CreatePostCode.InsertData('3983', 'Bister', 'BISTER', '', 'VS', ''); + CreatePostCode.InsertData('3983', 'Filet', 'FILET', '', 'VS', ''); + CreatePostCode.InsertData('3983', 'Goppisberg', 'GOPPISBERG', '', 'VS', ''); + CreatePostCode.InsertData('3983', 'Greich', 'GREICH', '', 'VS', ''); + CreatePostCode.InsertData('3983', 'Mörel', 'MÖREL', '', 'VS', ''); + CreatePostCode.InsertData('3984', 'Fiesch', 'FIESCH', '', 'VS', ''); + CreatePostCode.InsertData('3984', 'Fieschertal', 'FIESCHERTAL', '', 'VS', ''); + CreatePostCode.InsertData('3985', 'Geschinen', 'GESCHINEN', '', 'VS', ''); + CreatePostCode.InsertData('3985', 'Münster VS', 'MÜNSTER VS', '', 'VS', ''); + CreatePostCode.InsertData('3986', 'Ried-Mörel', 'RIED-MÖREL', '', 'VS', ''); + CreatePostCode.InsertData('3987', 'Riederalp', 'RIEDERALP', '', 'VS', ''); + CreatePostCode.InsertData('3988', 'Obergesteln', 'OBERGESTELN', '', 'VS', ''); + CreatePostCode.InsertData('3988', 'Ulrichen', 'ULRICHEN', '', 'VS', ''); + CreatePostCode.InsertData('3989', 'Biel VS', 'BIEL VS', '', 'VS', ''); + CreatePostCode.InsertData('3989', 'Blitzingen', 'BLITZINGEN', '', 'VS', ''); + CreatePostCode.InsertData('3989', 'Grafschaft', 'GRAFSCHAFT', '', 'VS', ''); + CreatePostCode.InsertData('3989', 'Niederwald', 'NIEDERWALD', '', 'VS', ''); + CreatePostCode.InsertData('3989', 'Ritzingen', 'RITZINGEN', '', 'VS', ''); + CreatePostCode.InsertData('3989', 'Selkingen', 'SELKINGEN', '', 'VS', ''); + CreatePostCode.InsertData('3991', 'Betten', 'BETTEN', '', 'VS', ''); + CreatePostCode.InsertData('3992', 'Bettmeralp', 'BETTMERALP', '', 'VS', ''); + CreatePostCode.InsertData('3993', 'Grengiols', 'GRENGIOLS', '', 'VS', ''); + CreatePostCode.InsertData('3994', 'Lax', 'LAX', '', 'VS', ''); + CreatePostCode.InsertData('3994', 'Martisberg', 'MARTISBERG', '', 'VS', ''); + CreatePostCode.InsertData('3995', 'Ausserbinn', 'AUSSERBINN', '', 'VS', ''); + CreatePostCode.InsertData('3995', 'Ernen', 'ERNEN', '', 'VS', ''); + CreatePostCode.InsertData('3995', 'Mühlebach (Goms)', 'MÜHLEBACH (GOMS)', '', 'VS', ''); + CreatePostCode.InsertData('3995', 'Steinhaus', 'STEINHAUS', '', 'VS', ''); + CreatePostCode.InsertData('3996', 'Binn', 'BINN', '', 'VS', ''); + CreatePostCode.InsertData('3997', 'Bellwald', 'BELLWALD', '', 'VS', ''); + CreatePostCode.InsertData('3998', 'Gluringen', 'GLURINGEN', '', 'VS', ''); + CreatePostCode.InsertData('3998', 'Reckingen VS', 'RECKINGEN VS', '', 'VS', ''); + CreatePostCode.InsertData('3999', 'Oberwald', 'OBERWALD', '', 'VS', ''); + CreatePostCode.InsertData('4000', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4000', 'Basel 2 Zustellung', 'BASEL 2 ZUSTELLUNG', '', 'BS', ''); + CreatePostCode.InsertData('4000', 'Basel Dist Ba', 'BASEL DIST BA', '', 'BS', ''); + CreatePostCode.InsertData('4000', 'Basel Postauto Nordwestschw', 'BASEL POSTAUTO NORDWESTSCHW', '', 'BS', ''); + CreatePostCode.InsertData('4001', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4002', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4002', 'Basel 2 Annahme', 'BASEL 2 ANNAHME', '', 'BS', ''); + CreatePostCode.InsertData('4002', 'Basel Logistikzentrum', 'BASEL LOGISTIKZENTRUM', '', 'BS', ''); + CreatePostCode.InsertData('4002', 'Basel SPS', 'BASEL SPS', '', 'BS', ''); + CreatePostCode.InsertData('4003', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4004', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4005', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4007', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4009', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4010', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4011', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4012', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4013', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4015', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4016', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4017', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4018', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4019', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4020', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4023', 'Basel', 'BASEL', '', 'BL', ''); + CreatePostCode.InsertData('4024', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4025', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4028', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4030', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4031', 'Basel Universitätsspital', 'BASEL UNIVERSITÄTSSPITAL', '', 'BS', ''); + CreatePostCode.InsertData('4032', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4033', 'Basel 33 Novartis', 'BASEL 33 NOVARTIS', '', 'BS', ''); + CreatePostCode.InsertData('4034', 'Basel 34 Breite', 'BASEL 34 BREITE', '', 'BS', ''); + CreatePostCode.InsertData('4035', 'Basel 35 Bäumlihof', 'BASEL 35 BÄUMLIHOF', '', 'BS', ''); + CreatePostCode.InsertData('4039', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4040', 'Basel', 'BASEL', '', 'BL', ''); + CreatePostCode.InsertData('4041', 'Basel UBS', 'BASEL UBS', '', 'BS', ''); + CreatePostCode.InsertData('4042', 'Basel PF Operations Center', 'BASEL PF OPERATIONS CENTER', '', 'BL', ''); + CreatePostCode.InsertData('4051', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4052', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4053', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4053', 'Basel Shell Dreispitz', 'BASEL SHELL DREISPITZ', '', 'BS', ''); + CreatePostCode.InsertData('4054', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4055', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4056', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4057', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4058', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4059', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4070', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4075', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4078', 'Basel Reader''s Digest', 'BASEL READER''S DIGEST', '', 'BS', ''); + CreatePostCode.InsertData('4089', 'Basel SPI GLS Retour', 'BASEL SPI GLS RETOUR', '', 'BS', ''); + CreatePostCode.InsertData('4089', 'Basel SPILOG', 'BASEL SPILOG', '', 'BS', ''); + CreatePostCode.InsertData('4091', 'Basel', 'BASEL', '', 'BS', ''); + CreatePostCode.InsertData('4101', 'Bruderholz', 'BRUDERHOLZ', '', 'BL', ''); + CreatePostCode.InsertData('4102', 'Binningen', 'BINNINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4102', 'Binningen 1', 'BINNINGEN 1', '', 'BL', ''); + CreatePostCode.InsertData('4102', 'Binningen 1 Zustellung', 'BINNINGEN 1 ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4102', 'Binningen Gorenmatt', 'BINNINGEN GORENMATT', '', 'BL', ''); + CreatePostCode.InsertData('4103', 'Bottmingen', 'BOTTMINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4104', 'Oberwil BL', 'OBERWIL BL', '', 'BL', ''); + CreatePostCode.InsertData('4104', 'Oberwil BL Zustellung', 'OBERWIL BL ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4105', 'Biel-Benken BL', 'BIEL-BENKEN BL', '', 'BL', ''); + CreatePostCode.InsertData('4106', 'Therwil', 'THERWIL', '', 'BL', ''); + CreatePostCode.InsertData('4106', 'Therwil Shell', 'THERWIL SHELL', '', 'BL', ''); + CreatePostCode.InsertData('4106', 'Therwil Zustellung', 'THERWIL ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4107', 'Ettingen', 'ETTINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4108', 'Witterswil', 'WITTERSWIL', '', 'SO', ''); + CreatePostCode.InsertData('4112', 'Bättwil', 'BÄTTWIL', '', 'SO', ''); + CreatePostCode.InsertData('4112', 'Bättwil-Flüh', 'BÄTTWIL-FLÜH', '', 'SO', ''); + CreatePostCode.InsertData('4112', 'Flüh', 'FLÜH', '', 'SO', ''); + CreatePostCode.InsertData('4114', 'Hofstetten SO', 'HOFSTETTEN SO', '', 'SO', ''); + CreatePostCode.InsertData('4115', 'Mariastein', 'MARIASTEIN', '', 'SO', ''); + CreatePostCode.InsertData('4116', 'Metzerlen', 'METZERLEN', '', 'SO', ''); + CreatePostCode.InsertData('4117', 'Burg im Leimental', 'BURG IM LEIMENTAL', '', 'BL', ''); + CreatePostCode.InsertData('4118', 'Rodersdorf', 'RODERSDORF', '', 'SO', ''); + CreatePostCode.InsertData('4123', 'Allschwil', 'ALLSCHWIL', '', 'BL', ''); + CreatePostCode.InsertData('4123', 'Allschwil 1', 'ALLSCHWIL 1', '', 'BL', ''); + CreatePostCode.InsertData('4123', 'Allschwil Dorf', 'ALLSCHWIL DORF', '', 'BL', ''); + CreatePostCode.InsertData('4123', 'Allschwil Lindenplatz', 'ALLSCHWIL LINDENPLATZ', '', 'BL', ''); + CreatePostCode.InsertData('4123', 'Allschwil Zustellung', 'ALLSCHWIL ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4124', 'Schönenbuch', 'SCHÖNENBUCH', '', 'BL', ''); + CreatePostCode.InsertData('4125', 'Riehen', 'RIEHEN', '', 'BS', ''); + CreatePostCode.InsertData('4125', 'Riehen 1', 'RIEHEN 1', '', 'BS', ''); + CreatePostCode.InsertData('4125', 'Riehen 1 Zustellung', 'RIEHEN 1 ZUSTELLUNG', '', 'BS', ''); + CreatePostCode.InsertData('4125', 'Riehen 2', 'RIEHEN 2', '', 'BS', ''); + CreatePostCode.InsertData('4126', 'Bettingen', 'BETTINGEN', '', 'BS', ''); + CreatePostCode.InsertData('4127', 'Birsfelden', 'BIRSFELDEN', '', 'BL', ''); + CreatePostCode.InsertData('4127', 'Birsfelden Zustellung', 'BIRSFELDEN ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4132', 'Muttenz', 'MUTTENZ', '', 'BL', ''); + CreatePostCode.InsertData('4132', 'Muttenz 1', 'MUTTENZ 1', '', 'BL', ''); + CreatePostCode.InsertData('4132', 'Muttenz 1 Zustellung', 'MUTTENZ 1 ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4132', 'Muttenz Lutzert', 'MUTTENZ LUTZERT', '', 'BL', ''); + CreatePostCode.InsertData('4133', 'Pratteln', 'PRATTELN', '', 'BL', ''); + CreatePostCode.InsertData('4133', 'Pratteln 1', 'PRATTELN 1', '', 'BL', ''); + CreatePostCode.InsertData('4133', 'Pratteln 1 Zustellung', 'PRATTELN 1 ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4133', 'Pratteln PL3', 'PRATTELN PL3', '', 'BL', ''); + CreatePostCode.InsertData('4133', 'Pratteln SPI Logistics', 'PRATTELN SPI LOGISTICS', '', 'BL', ''); + CreatePostCode.InsertData('4142', 'Münchenstein', 'MÜNCHENSTEIN', '', 'BL', ''); + CreatePostCode.InsertData('4142', 'Münchenstein 1', 'MÜNCHENSTEIN 1', '', 'BL', ''); + CreatePostCode.InsertData('4142', 'Münchenstein 1 Zustellung', 'MÜNCHENSTEIN 1 ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4142', 'Münchenstein Zollweiden', 'MÜNCHENSTEIN ZOLLWEIDEN', '', 'BL', ''); + CreatePostCode.InsertData('4143', 'Dornach', 'DORNACH', '', 'SO', ''); + CreatePostCode.InsertData('4144', 'Arlesheim', 'ARLESHEIM', '', 'BL', ''); + CreatePostCode.InsertData('4144', 'Arlesheim Postlogistics Hub', 'ARLESHEIM POSTLOGISTICS HUB', '', 'BL', ''); + CreatePostCode.InsertData('4144', 'Arlesheim Zustellung', 'ARLESHEIM ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4145', 'Gempen', 'GEMPEN', '', 'SO', ''); + CreatePostCode.InsertData('4146', 'Hochwald', 'HOCHWALD', '', 'SO', ''); + CreatePostCode.InsertData('4147', 'Aesch BL', 'AESCH BL', '', 'BL', ''); + CreatePostCode.InsertData('4148', 'Pfeffingen', 'PFEFFINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4153', 'Reinach BL', 'REINACH BL', '', 'BL', ''); + CreatePostCode.InsertData('4153', 'Reinach BL 1', 'REINACH BL 1', '', 'BL', ''); + CreatePostCode.InsertData('4153', 'Reinach BL Surbaum', 'REINACH BL SURBAUM', '', 'BL', ''); + CreatePostCode.InsertData('4153', 'Reinach BL Zustellung', 'REINACH BL ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4202', 'Duggingen', 'DUGGINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4203', 'Grellingen', 'GRELLINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4204', 'Himmelried', 'HIMMELRIED', '', 'SO', ''); + CreatePostCode.InsertData('4204', 'Himmelried PostAuto AG', 'HIMMELRIED POSTAUTO AG', '', 'SO', ''); + CreatePostCode.InsertData('4206', 'Seewen SO', 'SEEWEN SO', '', 'SO', ''); + CreatePostCode.InsertData('4207', 'Bretzwil', 'BRETZWIL', '', 'BL', ''); + CreatePostCode.InsertData('4208', 'Nunningen', 'NUNNINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4222', 'Zwingen', 'ZWINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4223', 'Blauen', 'BLAUEN', '', 'BL', ''); + CreatePostCode.InsertData('4224', 'Nenzlingen', 'NENZLINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4225', 'Brislach', 'BRISLACH', '', 'BL', ''); + CreatePostCode.InsertData('4226', 'Breitenbach', 'BREITENBACH', '', 'SO', ''); + CreatePostCode.InsertData('4227', 'Büsserach', 'BÜSSERACH', '', 'SO', ''); + CreatePostCode.InsertData('4228', 'Erschwil', 'ERSCHWIL', '', 'SO', ''); + CreatePostCode.InsertData('4229', 'Beinwil SO', 'BEINWIL SO', '', 'SO', ''); + CreatePostCode.InsertData('4232', 'Fehren', 'FEHREN', '', 'SO', ''); + CreatePostCode.InsertData('4233', 'Meltingen', 'MELTINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4234', 'Zullwil', 'ZULLWIL', '', 'SO', ''); + CreatePostCode.InsertData('4242', 'Laufen', 'LAUFEN', '', 'BL', ''); + CreatePostCode.InsertData('4242', 'Laufen Zustellung', 'LAUFEN ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4243', 'Dittingen', 'DITTINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4244', 'Röschenz', 'RÖSCHENZ', '', 'BL', ''); + CreatePostCode.InsertData('4245', 'Kleinlützel', 'KLEINLÜTZEL', '', 'SO', ''); + CreatePostCode.InsertData('4246', 'Wahlen b. Laufen', 'WAHLEN B. LAUFEN', '', 'BL', ''); + CreatePostCode.InsertData('4247', 'Grindel', 'GRINDEL', '', 'SO', ''); + CreatePostCode.InsertData('4252', 'Bärschwil', 'BÄRSCHWIL', '', 'SO', ''); + CreatePostCode.InsertData('4252', 'Bärschwil Dorf', 'BÄRSCHWIL DORF', '', 'SO', ''); + CreatePostCode.InsertData('4253', 'Liesberg', 'LIESBERG', '', 'BL', ''); + CreatePostCode.InsertData('4254', 'Liesberg Dorf', 'LIESBERG DORF', '', 'BL', ''); + CreatePostCode.InsertData('4302', 'Augst BL', 'AUGST BL', '', 'BL', ''); + CreatePostCode.InsertData('4303', 'Kaiseraugst', 'KAISERAUGST', '', 'AG', ''); + CreatePostCode.InsertData('4303', 'Kaiseraugst Liebrüti', 'KAISERAUGST LIEBRÜTI', '', 'AG', ''); + CreatePostCode.InsertData('4304', 'Giebenach', 'GIEBENACH', '', 'BL', ''); + CreatePostCode.InsertData('4305', 'Olsberg', 'OLSBERG', '', 'AG', ''); + CreatePostCode.InsertData('4310', 'Rheinfelden', 'RHEINFELDEN', '', 'AG', ''); + CreatePostCode.InsertData('4310', 'Rheinfelden 1', 'RHEINFELDEN 1', '', 'AG', ''); + CreatePostCode.InsertData('4310', 'Rheinfelden 1 Zustellung', 'RHEINFELDEN 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('4310', 'Rheinfelden 2', 'RHEINFELDEN 2', '', 'AG', ''); + CreatePostCode.InsertData('4310', 'Rheinfelden Bahnhof SBB', 'RHEINFELDEN BAHNHOF SBB', '', 'AG', ''); + CreatePostCode.InsertData('4310', 'Rheinfelden PostAuto AG', 'RHEINFELDEN POSTAUTO AG', '', 'AG', ''); + CreatePostCode.InsertData('4310', 'Rheinfelden SPI Logistics A', 'RHEINFELDEN SPI LOGISTICS A', '', 'AG', ''); + CreatePostCode.InsertData('4312', 'Magden', 'MAGDEN', '', 'AG', ''); + CreatePostCode.InsertData('4313', 'Möhlin', 'MÖHLIN', '', 'AG', ''); + CreatePostCode.InsertData('4313', 'Möhlin Zustellung', 'MÖHLIN ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('4314', 'Zeiningen', 'ZEININGEN', '', 'AG', ''); + CreatePostCode.InsertData('4315', 'Zuzgen', 'ZUZGEN', '', 'AG', ''); + CreatePostCode.InsertData('4316', 'Hellikon', 'HELLIKON', '', 'AG', ''); + CreatePostCode.InsertData('4317', 'Wegenstetten', 'WEGENSTETTEN', '', 'AG', ''); + CreatePostCode.InsertData('4322', 'Mumpf', 'MUMPF', '', 'AG', ''); + CreatePostCode.InsertData('4323', 'Wallbach', 'WALLBACH', '', 'AG', ''); + CreatePostCode.InsertData('4324', 'Obermumpf', 'OBERMUMPF', '', 'AG', ''); + CreatePostCode.InsertData('4325', 'Schupfart', 'SCHUPFART', '', 'AG', ''); + CreatePostCode.InsertData('4332', 'Stein AG', 'STEIN AG', '', 'AG', ''); + CreatePostCode.InsertData('4333', 'Münchwilen AG', 'MÜNCHWILEN AG', '', 'AG', ''); + CreatePostCode.InsertData('4334', 'Sisseln AG', 'SISSELN AG', '', 'AG', ''); + CreatePostCode.InsertData('4402', 'Frenkendorf', 'FRENKENDORF', '', 'BL', ''); + CreatePostCode.InsertData('4410', 'Liestal', 'LIESTAL', '', 'BL', ''); + CreatePostCode.InsertData('4410', 'Liestal Bahnhof SBB', 'LIESTAL BAHNHOF SBB', '', 'BL', ''); + CreatePostCode.InsertData('4410', 'Liestal Dist Fil', 'LIESTAL DIST FIL', '', 'BL', ''); + CreatePostCode.InsertData('4410', 'Liestal Kaserne', 'LIESTAL KASERNE', '', 'BL', ''); + CreatePostCode.InsertData('4410', 'Liestal Zustellung', 'LIESTAL ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4411', 'Seltisberg', 'SELTISBERG', '', 'BL', ''); + CreatePostCode.InsertData('4412', 'Nuglar', 'NUGLAR', '', 'SO', ''); + CreatePostCode.InsertData('4413', 'Büren SO', 'BÜREN SO', '', 'SO', ''); + CreatePostCode.InsertData('4414', 'Füllinsdorf', 'FÜLLINSDORF', '', 'BL', ''); + CreatePostCode.InsertData('4414', 'Füllinsdorf Zustellung', 'FÜLLINSDORF ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4415', 'Lausen', 'LAUSEN', '', 'BL', ''); + CreatePostCode.InsertData('4416', 'Bubendorf', 'BUBENDORF', '', 'BL', ''); + CreatePostCode.InsertData('4416', 'Bubendorf Zustellung', 'BUBENDORF ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4417', 'Ziefen', 'ZIEFEN', '', 'BL', ''); + CreatePostCode.InsertData('4418', 'Reigoldswil', 'REIGOLDSWIL', '', 'BL', ''); + CreatePostCode.InsertData('4419', 'Lupsingen', 'LUPSINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4421', 'St. Pantaleon', 'ST. PANTALEON', '', 'SO', ''); + CreatePostCode.InsertData('4422', 'Arisdorf', 'ARISDORF', '', 'BL', ''); + CreatePostCode.InsertData('4423', 'Hersberg', 'HERSBERG', '', 'BL', ''); + CreatePostCode.InsertData('4424', 'Arboldswil', 'ARBOLDSWIL', '', 'BL', ''); + CreatePostCode.InsertData('4425', 'Titterten', 'TITTERTEN', '', 'BL', ''); + CreatePostCode.InsertData('4426', 'Lauwil', 'LAUWIL', '', 'BL', ''); + CreatePostCode.InsertData('4431', 'Bennwil', 'BENNWIL', '', 'BL', ''); + CreatePostCode.InsertData('4432', 'Lampenberg', 'LAMPENBERG', '', 'BL', ''); + CreatePostCode.InsertData('4433', 'Ramlinsburg', 'RAMLINSBURG', '', 'BL', ''); + CreatePostCode.InsertData('4434', 'Hölstein', 'HÖLSTEIN', '', 'BL', ''); + CreatePostCode.InsertData('4435', 'Niederdorf', 'NIEDERDORF', '', 'BL', ''); + CreatePostCode.InsertData('4436', 'Liedertswil', 'LIEDERTSWIL', '', 'BL', ''); + CreatePostCode.InsertData('4436', 'Oberdorf BL', 'OBERDORF BL', '', 'BL', ''); + CreatePostCode.InsertData('4437', 'Waldenburg', 'WALDENBURG', '', 'BL', ''); + CreatePostCode.InsertData('4438', 'Langenbruck', 'LANGENBRUCK', '', 'BL', ''); + CreatePostCode.InsertData('4441', 'Thürnen', 'THÜRNEN', '', 'BL', ''); + CreatePostCode.InsertData('4442', 'Diepflingen', 'DIEPFLINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4443', 'Wittinsburg', 'WITTINSBURG', '', 'BL', ''); + CreatePostCode.InsertData('4444', 'Rümlingen', 'RÜMLINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4445', 'Häfelfingen', 'HÄFELFINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4446', 'Buckten', 'BUCKTEN', '', 'BL', ''); + CreatePostCode.InsertData('4447', 'Känerkinden', 'KÄNERKINDEN', '', 'BL', ''); + CreatePostCode.InsertData('4448', 'Läufelfingen', 'LÄUFELFINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4450', 'Sissach', 'SISSACH', '', 'BL', ''); + CreatePostCode.InsertData('4450', 'Sissach Zustellung', 'SISSACH ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4451', 'Wintersingen', 'WINTERSINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4452', 'Itingen', 'ITINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4453', 'Nusshof', 'NUSSHOF', '', 'BL', ''); + CreatePostCode.InsertData('4455', 'Zunzgen', 'ZUNZGEN', '', 'BL', ''); + CreatePostCode.InsertData('4456', 'Tenniken', 'TENNIKEN', '', 'BL', ''); + CreatePostCode.InsertData('4457', 'Diegten', 'DIEGTEN', '', 'BL', ''); + CreatePostCode.InsertData('4458', 'Eptingen', 'EPTINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4460', 'Gelterkinden', 'GELTERKINDEN', '', 'BL', ''); + CreatePostCode.InsertData('4460', 'Gelterkinden Zustellung', 'GELTERKINDEN ZUSTELLUNG', '', 'BL', ''); + CreatePostCode.InsertData('4461', 'Böckten', 'BÖCKTEN', '', 'BL', ''); + CreatePostCode.InsertData('4462', 'Rickenbach BL', 'RICKENBACH BL', '', 'BL', ''); + CreatePostCode.InsertData('4463', 'Buus', 'BUUS', '', 'BL', ''); + CreatePostCode.InsertData('4464', 'Maisprach', 'MAISPRACH', '', 'BL', ''); + CreatePostCode.InsertData('4465', 'Hemmiken', 'HEMMIKEN', '', 'BL', ''); + CreatePostCode.InsertData('4466', 'Ormalingen', 'ORMALINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4467', 'Rothenfluh', 'ROTHENFLUH', '', 'BL', ''); + CreatePostCode.InsertData('4468', 'Kienberg', 'KIENBERG', '', 'SO', ''); + CreatePostCode.InsertData('4469', 'Anwil', 'ANWIL', '', 'BL', ''); + CreatePostCode.InsertData('4492', 'Tecknau', 'TECKNAU', '', 'BL', ''); + CreatePostCode.InsertData('4493', 'Wenslingen', 'WENSLINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4494', 'Oltingen', 'OLTINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4495', 'Zeglingen', 'ZEGLINGEN', '', 'BL', ''); + CreatePostCode.InsertData('4496', 'Kilchberg BL', 'KILCHBERG BL', '', 'BL', ''); + CreatePostCode.InsertData('4497', 'Rünenberg', 'RÜNENBERG', '', 'BL', ''); + CreatePostCode.InsertData('4500', 'Solothurn', 'SOLOTHURN', '', 'SO', ''); + CreatePostCode.InsertData('4500', 'Solothurn 1', 'SOLOTHURN 1', '', 'SO', ''); + CreatePostCode.InsertData('4500', 'Solothurn 1 Zustellung', 'SOLOTHURN 1 ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('4500', 'Solothurn Bahnhof SBB', 'SOLOTHURN BAHNHOF SBB', '', 'SO', ''); + CreatePostCode.InsertData('4501', 'Solothurn', 'SOLOTHURN', '', 'SO', ''); + CreatePostCode.InsertData('4501', 'Solothurn 1 Annahme', 'SOLOTHURN 1 ANNAHME', '', 'SO', ''); + CreatePostCode.InsertData('4502', 'Solothurn', 'SOLOTHURN', '', 'SO', ''); + CreatePostCode.InsertData('4503', 'Solothurn', 'SOLOTHURN', '', 'SO', ''); + CreatePostCode.InsertData('4504', 'Solothurn', 'SOLOTHURN', '', 'SO', ''); + CreatePostCode.InsertData('4509', 'Solothurn', 'SOLOTHURN', '', 'SO', ''); + CreatePostCode.InsertData('4512', 'Bellach', 'BELLACH', '', 'SO', ''); + CreatePostCode.InsertData('4512', 'Bellach Zustellung', 'BELLACH ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('4513', 'Langendorf', 'LANGENDORF', '', 'SO', ''); + CreatePostCode.InsertData('4514', 'Lommiswil', 'LOMMISWIL', '', 'SO', ''); + CreatePostCode.InsertData('4515', 'Oberdorf SO', 'OBERDORF SO', '', 'SO', ''); + CreatePostCode.InsertData('4515', 'Weissenstein b. Solothurn', 'WEISSENSTEIN B. SOLOTHURN', '', 'SO', ''); + CreatePostCode.InsertData('4522', 'Rüttenen', 'RÜTTENEN', '', 'SO', ''); + CreatePostCode.InsertData('4523', 'Niederwil SO', 'NIEDERWIL SO', '', 'SO', ''); + CreatePostCode.InsertData('4524', 'Balmberg', 'BALMBERG', '', 'SO', ''); + CreatePostCode.InsertData('4524', 'Günsberg', 'GÜNSBERG', '', 'SO', ''); + CreatePostCode.InsertData('4524', 'Oberbalmberg', 'OBERBALMBERG', '', 'SO', ''); + CreatePostCode.InsertData('4525', 'Balm b. Günsberg', 'BALM B. GÜNSBERG', '', 'SO', ''); + CreatePostCode.InsertData('4528', 'Zuchwil', 'ZUCHWIL', '', 'SO', ''); + CreatePostCode.InsertData('4532', 'Feldbrunnen', 'FELDBRUNNEN', '', 'SO', ''); + CreatePostCode.InsertData('4533', 'Riedholz', 'RIEDHOLZ', '', 'SO', ''); + CreatePostCode.InsertData('4534', 'Flumenthal', 'FLUMENTHAL', '', 'SO', ''); + CreatePostCode.InsertData('4535', 'Hubersdorf', 'HUBERSDORF', '', 'SO', ''); + CreatePostCode.InsertData('4535', 'Kammersrohr', 'KAMMERSROHR', '', 'SO', ''); + CreatePostCode.InsertData('4536', 'Attiswil', 'ATTISWIL', '', 'BE', ''); + CreatePostCode.InsertData('4537', 'Wiedlisbach', 'WIEDLISBACH', '', 'BE', ''); + CreatePostCode.InsertData('4538', 'Oberbipp', 'OBERBIPP', '', 'BE', ''); + CreatePostCode.InsertData('4539', 'Farnern', 'FARNERN', '', 'BE', ''); + CreatePostCode.InsertData('4539', 'Rumisberg', 'RUMISBERG', '', 'BE', ''); + CreatePostCode.InsertData('4542', 'Luterbach', 'LUTERBACH', '', 'SO', ''); + CreatePostCode.InsertData('4543', 'Deitingen', 'DEITINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4551', 'Derendingen Swisscom', 'DERENDINGEN SWISSCOM', '', 'SO', ''); + CreatePostCode.InsertData('4552', 'Derendingen', 'DERENDINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4553', 'Subingen', 'SUBINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4554', 'Etziken', 'ETZIKEN', '', 'SO', ''); + CreatePostCode.InsertData('4554', 'Hüniken', 'HÜNIKEN', '', 'SO', ''); + CreatePostCode.InsertData('4556', 'Aeschi SO', 'AESCHI SO', '', 'SO', ''); + CreatePostCode.InsertData('4556', 'Bolken', 'BOLKEN', '', 'SO', ''); + CreatePostCode.InsertData('4556', 'Burgäschi', 'BURGÄSCHI', '', 'SO', ''); + CreatePostCode.InsertData('4556', 'Steinhof SO', 'STEINHOF SO', '', 'SO', ''); + CreatePostCode.InsertData('4557', 'Horriwil', 'HORRIWIL', '', 'SO', ''); + CreatePostCode.InsertData('4558', 'Heinrichswil', 'HEINRICHSWIL', '', 'SO', ''); + CreatePostCode.InsertData('4558', 'Hersiwil', 'HERSIWIL', '', 'SO', ''); + CreatePostCode.InsertData('4558', 'Winistorf', 'WINISTORF', '', 'SO', ''); + CreatePostCode.InsertData('4562', 'Biberist', 'BIBERIST', '', 'SO', ''); + CreatePostCode.InsertData('4563', 'Gerlafingen', 'GERLAFINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4563', 'Gerlafingen Zustellung', 'GERLAFINGEN ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('4564', 'Obergerlafingen', 'OBERGERLAFINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4564', 'Zielebach', 'ZIELEBACH', '', 'BE', ''); + CreatePostCode.InsertData('4565', 'Recherswil', 'RECHERSWIL', '', 'SO', ''); + CreatePostCode.InsertData('4566', 'Halten', 'HALTEN', '', 'SO', ''); + CreatePostCode.InsertData('4566', 'Kriegstetten', 'KRIEGSTETTEN', '', 'SO', ''); + CreatePostCode.InsertData('4566', 'Oekingen', 'OEKINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4571', 'Ichertswil', 'ICHERTSWIL', '', 'SO', ''); + CreatePostCode.InsertData('4571', 'Lüterkofen', 'LÜTERKOFEN', '', 'SO', ''); + CreatePostCode.InsertData('4571', 'Lüterkofen-Ichertswil', 'LÜTERKOFEN-ICHERTSWIL', '', 'SO', ''); + CreatePostCode.InsertData('4573', 'Lohn-Ammannsegg', 'LOHN-AMMANNSEGG', '', 'SO', ''); + CreatePostCode.InsertData('4574', 'Lüsslingen', 'LÜSSLINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4574', 'Nennigkofen', 'NENNIGKOFEN', '', 'SO', ''); + CreatePostCode.InsertData('4576', 'Tscheppach', 'TSCHEPPACH', '', 'SO', ''); + CreatePostCode.InsertData('4577', 'Hessigkofen', 'HESSIGKOFEN', '', 'SO', ''); + CreatePostCode.InsertData('4578', 'Bibern SO', 'BIBERN SO', '', 'SO', ''); + CreatePostCode.InsertData('4579', 'Gossliwil', 'GOSSLIWIL', '', 'SO', ''); + CreatePostCode.InsertData('4581', 'Küttigkofen', 'KÜTTIGKOFEN', '', 'SO', ''); + CreatePostCode.InsertData('4582', 'Brügglen', 'BRÜGGLEN', '', 'SO', ''); + CreatePostCode.InsertData('4583', 'Aetigkofen', 'AETIGKOFEN', '', 'SO', ''); + CreatePostCode.InsertData('4583', 'Mühledorf SO', 'MÜHLEDORF SO', '', 'SO', ''); + CreatePostCode.InsertData('4584', 'Gächliwil', 'GÄCHLIWIL', '', 'SO', ''); + CreatePostCode.InsertData('4584', 'Lüterswil', 'LÜTERSWIL', '', 'SO', ''); + CreatePostCode.InsertData('4585', 'Biezwil', 'BIEZWIL', '', 'SO', ''); + CreatePostCode.InsertData('4586', 'Kyburg-Buchegg', 'KYBURG-BUCHEGG', '', 'SO', ''); + CreatePostCode.InsertData('4587', 'Aetingen', 'AETINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4588', 'Brittern', 'BRITTERN', '', 'SO', ''); + CreatePostCode.InsertData('4588', 'Oberramsern', 'OBERRAMSERN', '', 'SO', ''); + CreatePostCode.InsertData('4588', 'Unterramsern', 'UNTERRAMSERN', '', 'SO', ''); + CreatePostCode.InsertData('4600', 'Olten', 'OLTEN', '', 'SO', ''); + CreatePostCode.InsertData('4600', 'Olten 1', 'OLTEN 1', '', 'SO', ''); + CreatePostCode.InsertData('4600', 'Olten 2 Zustellung', 'OLTEN 2 ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('4600', 'Olten Personal', 'OLTEN PERSONAL', '', 'SO', ''); + CreatePostCode.InsertData('4601', 'Olten 1 Fächer', 'OLTEN 1 FÄCHER', '', 'SO', ''); + CreatePostCode.InsertData('4603', 'Olten', 'OLTEN', '', 'SO', ''); + CreatePostCode.InsertData('4604', 'Olten 4 Hammer', 'OLTEN 4 HAMMER', '', 'SO', ''); + CreatePostCode.InsertData('4609', 'Olten Sonderdienste', 'OLTEN SONDERDIENSTE', '', 'SO', ''); + CreatePostCode.InsertData('4611', 'Härkingen Scanning-Center', 'HÄRKINGEN SCANNING-CENTER', '', 'SO', ''); + CreatePostCode.InsertData('4612', 'Wangen b. Olten', 'WANGEN B. OLTEN', '', 'SO', ''); + CreatePostCode.InsertData('4613', 'Rickenbach SO', 'RICKENBACH SO', '', 'SO', ''); + CreatePostCode.InsertData('4614', 'Hägendorf', 'HÄGENDORF', '', 'SO', ''); + CreatePostCode.InsertData('4614', 'Hägendorf Zustellung', 'HÄGENDORF ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('4615', 'Allerheiligenberg', 'ALLERHEILIGENBERG', '', 'SO', ''); + CreatePostCode.InsertData('4616', 'Kappel SO', 'KAPPEL SO', '', 'SO', ''); + CreatePostCode.InsertData('4617', 'Gunzgen', 'GUNZGEN', '', 'SO', ''); + CreatePostCode.InsertData('4618', 'Boningen', 'BONINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4620', 'Härkingen Dist Ba', 'HÄRKINGEN DIST BA', '', 'SO', ''); + CreatePostCode.InsertData('4620', 'Härkingen Paketzentrum', 'HÄRKINGEN PAKETZENTRUM', '', 'SO', ''); + CreatePostCode.InsertData('4621', 'Härkingen Briefzentrum', 'HÄRKINGEN BRIEFZENTRUM', '', 'SO', ''); + CreatePostCode.InsertData('4621', 'Härkingen BZ Briefklinik', 'HÄRKINGEN BZ BRIEFKLINIK', '', 'SO', ''); + CreatePostCode.InsertData('4621', 'Härkingen BZ FP', 'HÄRKINGEN BZ FP', '', 'SO', ''); + CreatePostCode.InsertData('4621', 'Härkingen SPS AG', 'HÄRKINGEN SPS AG', '', 'SO', ''); + CreatePostCode.InsertData('4621', 'Härkingen SPS DO', 'HÄRKINGEN SPS DO', '', 'SO', ''); + CreatePostCode.InsertData('4622', 'Egerkingen', 'EGERKINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4623', 'Neuendorf', 'NEUENDORF', '', 'SO', ''); + CreatePostCode.InsertData('4624', 'Härkingen', 'HÄRKINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4625', 'Oberbuchsiten', 'OBERBUCHSITEN', '', 'SO', ''); + CreatePostCode.InsertData('4626', 'Niederbuchsiten', 'NIEDERBUCHSITEN', '', 'SO', ''); + CreatePostCode.InsertData('4628', 'Wolfwil', 'WOLFWIL', '', 'SO', ''); + CreatePostCode.InsertData('4629', 'Fulenbach', 'FULENBACH', '', 'SO', ''); + CreatePostCode.InsertData('4630', 'Härkingen CALL', 'HÄRKINGEN CALL', '', 'SO', ''); + CreatePostCode.InsertData('4632', 'Trimbach', 'TRIMBACH', '', 'SO', ''); + CreatePostCode.InsertData('4633', 'Hauenstein', 'HAUENSTEIN', '', 'SO', ''); + CreatePostCode.InsertData('4634', 'Wisen SO', 'WISEN SO', '', 'SO', ''); + CreatePostCode.InsertData('4640', 'Härkingen ST PP 1', 'HÄRKINGEN ST PP 1', '', 'SO', ''); + CreatePostCode.InsertData('4652', 'Winznau', 'WINZNAU', '', 'SO', ''); + CreatePostCode.InsertData('4653', 'Obergösgen', 'OBERGÖSGEN', '', 'SO', ''); + CreatePostCode.InsertData('4654', 'Lostorf', 'LOSTORF', '', 'SO', ''); + CreatePostCode.InsertData('4655', 'Rohr b. Olten', 'ROHR B. OLTEN', '', 'SO', ''); + CreatePostCode.InsertData('4655', 'Stüsslingen', 'STÜSSLINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4656', 'Starrkirch-Wil', 'STARRKIRCH-WIL', '', 'SO', ''); + CreatePostCode.InsertData('4657', 'Dulliken', 'DULLIKEN', '', 'SO', ''); + CreatePostCode.InsertData('4658', 'Däniken SO', 'DÄNIKEN SO', '', 'SO', ''); + CreatePostCode.InsertData('4663', 'Aarburg', 'AARBURG', '', 'AG', ''); + CreatePostCode.InsertData('4663', 'Aarburg Zustellung', 'AARBURG ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('4665', 'Oftringen', 'OFTRINGEN', '', 'AG', ''); + CreatePostCode.InsertData('4665', 'Oftringen 1', 'OFTRINGEN 1', '', 'AG', ''); + CreatePostCode.InsertData('4665', 'Oftringen 1 Zustellung', 'OFTRINGEN 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('4665', 'Oftringen 2', 'OFTRINGEN 2', '', 'AG', ''); + CreatePostCode.InsertData('4665', 'Oftringen PL3', 'OFTRINGEN PL3', '', 'AG', ''); + CreatePostCode.InsertData('4665', 'Oftringen SPN', 'OFTRINGEN SPN', '', 'AG', ''); + CreatePostCode.InsertData('4702', 'Oensingen', 'OENSINGEN', '', 'SO', ''); + CreatePostCode.InsertData('4702', 'Oensingen Bahnhof SBB', 'OENSINGEN BAHNHOF SBB', '', 'SO', ''); + CreatePostCode.InsertData('4702', 'Oensingen Hub SecurePost', 'OENSINGEN HUB SECUREPOST', '', 'SO', ''); + CreatePostCode.InsertData('4702', 'Oensingen Zustellung', 'OENSINGEN ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('4703', 'Kestenholz', 'KESTENHOLZ', '', 'SO', ''); + CreatePostCode.InsertData('4704', 'Niederbipp', 'NIEDERBIPP', '', 'BE', ''); + CreatePostCode.InsertData('4704', 'Niederbipp PL3', 'NIEDERBIPP PL3', '', 'BE', ''); + CreatePostCode.InsertData('4704', 'Wolfisberg', 'WOLFISBERG', '', 'BE', ''); + CreatePostCode.InsertData('4710', 'Balsthal', 'BALSTHAL', '', 'SO', ''); + CreatePostCode.InsertData('4710', 'Balsthal Postauto Thal-Gäu', 'BALSTHAL POSTAUTO THAL-GÄU', '', 'SO', ''); + CreatePostCode.InsertData('4710', 'Balsthal Zustellung', 'BALSTHAL ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('4712', 'Laupersdorf', 'LAUPERSDORF', '', 'SO', ''); + CreatePostCode.InsertData('4713', 'Matzendorf', 'MATZENDORF', '', 'SO', ''); + CreatePostCode.InsertData('4714', 'Aedermannsdorf', 'AEDERMANNSDORF', '', 'SO', ''); + CreatePostCode.InsertData('4715', 'Herbetswil', 'HERBETSWIL', '', 'SO', ''); + CreatePostCode.InsertData('4716', 'Gänsbrunnen', 'GÄNSBRUNNEN', '', 'SO', ''); + CreatePostCode.InsertData('4716', 'Welschenrohr', 'WELSCHENROHR', '', 'SO', ''); + CreatePostCode.InsertData('4717', 'Mümliswil', 'MÜMLISWIL', '', 'SO', ''); + CreatePostCode.InsertData('4718', 'Holderbank SO', 'HOLDERBANK SO', '', 'SO', ''); + CreatePostCode.InsertData('4719', 'Ramiswil', 'RAMISWIL', '', 'SO', ''); + CreatePostCode.InsertData('4800', 'Zofingen', 'ZOFINGEN', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen Abg. St', 'ZOFINGEN ABG. ST', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen B&V GK', 'ZOFINGEN B&V GK', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen Bahnhof SBB', 'ZOFINGEN BAHNHOF SBB', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen KC PK 2', 'ZOFINGEN KC PK 2', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen KC PK/GK 3', 'ZOFINGEN KC PK/GK 3', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen KC PK/GK 4', 'ZOFINGEN KC PK/GK 4', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen KC PK/GK 5', 'ZOFINGEN KC PK/GK 5', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen PostFinance', 'ZOFINGEN POSTFINANCE', '', 'AG', ''); + CreatePostCode.InsertData('4800', 'Zofingen Zustellung', 'ZOFINGEN ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('4801', 'Zofingen Ringier AG', 'ZOFINGEN RINGIER AG', '', 'AG', ''); + CreatePostCode.InsertData('4802', 'Strengelbach', 'STRENGELBACH', '', 'AG', ''); + CreatePostCode.InsertData('4803', 'Vordemwald', 'VORDEMWALD', '', 'AG', ''); + CreatePostCode.InsertData('4805', 'Brittnau', 'BRITTNAU', '', 'AG', ''); + CreatePostCode.InsertData('4806', 'Wikon', 'WIKON', '', 'LU', ''); + CreatePostCode.InsertData('4807', 'Zofingen PostFinance', 'ZOFINGEN POSTFINANCE', '', 'AG', ''); + CreatePostCode.InsertData('4808', 'Zofingen PostFinance', 'ZOFINGEN POSTFINANCE', '', 'AG', ''); + CreatePostCode.InsertData('4809', 'Zofingen PF UBS Verarb.', 'ZOFINGEN PF UBS VERARB.', '', 'AG', ''); + CreatePostCode.InsertData('4809', 'Zofingen Postfinance UBS', 'ZOFINGEN POSTFINANCE UBS', '', 'AG', ''); + CreatePostCode.InsertData('4812', 'Mühlethal', 'MÜHLETHAL', '', 'AG', ''); + CreatePostCode.InsertData('4813', 'Uerkheim', 'UERKHEIM', '', 'AG', ''); + CreatePostCode.InsertData('4814', 'Bottenwil', 'BOTTENWIL', '', 'AG', ''); + CreatePostCode.InsertData('4852', 'Rothrist', 'ROTHRIST', '', 'AG', ''); + CreatePostCode.InsertData('4853', 'Murgenthal', 'MURGENTHAL', '', 'AG', ''); + CreatePostCode.InsertData('4853', 'Riken AG', 'RIKEN AG', '', 'AG', ''); + CreatePostCode.InsertData('4856', 'Glashütten', 'GLASHÜTTEN', '', 'AG', ''); + CreatePostCode.InsertData('4900', 'Langenthal', 'LANGENTHAL', '', 'BE', ''); + CreatePostCode.InsertData('4900', 'Langenthal 1', 'LANGENTHAL 1', '', 'BE', ''); + CreatePostCode.InsertData('4900', 'Langenthal 1 Zustellung', 'LANGENTHAL 1 ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('4901', 'Langenthal', 'LANGENTHAL', '', 'BE', ''); + CreatePostCode.InsertData('4902', 'Langenthal', 'LANGENTHAL', '', 'BE', ''); + CreatePostCode.InsertData('4911', 'Schwarzhäusern', 'SCHWARZHÄUSERN', '', 'BE', ''); + CreatePostCode.InsertData('4912', 'Aarwangen', 'AARWANGEN', '', 'BE', ''); + CreatePostCode.InsertData('4913', 'Bannwil', 'BANNWIL', '', 'BE', ''); + CreatePostCode.InsertData('4914', 'Roggwil BE', 'ROGGWIL BE', '', 'BE', ''); + CreatePostCode.InsertData('4915', 'St. Urban', 'ST. URBAN', '', 'LU', ''); + CreatePostCode.InsertData('4916', 'Untersteckholz', 'UNTERSTECKHOLZ', '', 'BE', ''); + CreatePostCode.InsertData('4917', 'Busswil b. Melchnau', 'BUSSWIL B. MELCHNAU', '', 'BE', ''); + CreatePostCode.InsertData('4917', 'Melchnau', 'MELCHNAU', '', 'BE', ''); + CreatePostCode.InsertData('4919', 'Reisiswil', 'REISISWIL', '', 'BE', ''); + CreatePostCode.InsertData('4922', 'Bützberg', 'BÜTZBERG', '', 'BE', ''); + CreatePostCode.InsertData('4922', 'Thunstetten', 'THUNSTETTEN', '', 'BE', ''); + CreatePostCode.InsertData('4923', 'Wynau', 'WYNAU', '', 'BE', ''); + CreatePostCode.InsertData('4924', 'Obersteckholz', 'OBERSTECKHOLZ', '', 'BE', ''); + CreatePostCode.InsertData('4932', 'Gutenburg', 'GUTENBURG', '', 'BE', ''); + CreatePostCode.InsertData('4932', 'Lotzwil', 'LOTZWIL', '', 'BE', ''); + CreatePostCode.InsertData('4933', 'Rütschelen', 'RÜTSCHELEN', '', 'BE', ''); + CreatePostCode.InsertData('4934', 'Madiswil', 'MADISWIL', '', 'BE', ''); + CreatePostCode.InsertData('4935', 'Leimiswil', 'LEIMISWIL', '', 'BE', ''); + CreatePostCode.InsertData('4936', 'Kleindietwil', 'KLEINDIETWIL', '', 'BE', ''); + CreatePostCode.InsertData('4937', 'Ursenbach', 'URSENBACH', '', 'BE', ''); + CreatePostCode.InsertData('4938', 'Rohrbach', 'ROHRBACH', '', 'BE', ''); + CreatePostCode.InsertData('4938', 'Rohrbachgraben', 'ROHRBACHGRABEN', '', 'BE', ''); + CreatePostCode.InsertData('4942', 'Walterswil BE', 'WALTERSWIL BE', '', 'BE', ''); + CreatePostCode.InsertData('4943', 'Oeschenbach', 'OESCHENBACH', '', 'BE', ''); + CreatePostCode.InsertData('4944', 'Auswil', 'AUSWIL', '', 'BE', ''); + CreatePostCode.InsertData('4950', 'Huttwil', 'HUTTWIL', '', 'BE', ''); + CreatePostCode.InsertData('4950', 'Huttwil Zustellung', 'HUTTWIL ZUSTELLUNG', '', 'BE', ''); + CreatePostCode.InsertData('4952', 'Eriswil', 'ERISWIL', '', 'BE', ''); + CreatePostCode.InsertData('4953', 'Schwarzenbach (Huttwil)', 'SCHWARZENBACH (HUTTWIL)', '', 'BE', ''); + CreatePostCode.InsertData('4954', 'Wyssachen', 'WYSSACHEN', '', 'BE', ''); + CreatePostCode.InsertData('4955', 'Gondiswil', 'GONDISWIL', '', 'BE', ''); + CreatePostCode.InsertData('5000', 'Aarau', 'AARAU', '', 'AG', ''); + CreatePostCode.InsertData('5000', 'Aarau 1', 'AARAU 1', '', 'AG', ''); + CreatePostCode.InsertData('5000', 'Aarau 1 Zustellung', 'AARAU 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5000', 'Aarau Altstadt', 'AARAU ALTSTADT', '', 'AG', ''); + CreatePostCode.InsertData('5000', 'Aarau Kaserne', 'AARAU KASERNE', '', 'AG', ''); + CreatePostCode.InsertData('5000', 'Aarau Postauto Aargau', 'AARAU POSTAUTO AARGAU', '', 'AG', ''); + CreatePostCode.InsertData('5001', 'Aarau 1 Fächer', 'AARAU 1 FÄCHER', '', 'AG', ''); + CreatePostCode.InsertData('5001', 'Aarau SPS', 'AARAU SPS', '', 'AG', ''); + CreatePostCode.InsertData('5004', 'Aarau', 'AARAU', '', 'AG', ''); + CreatePostCode.InsertData('5004', 'Aarau Tellistrasse', 'AARAU TELLISTRASSE', '', 'AG', ''); + CreatePostCode.InsertData('5010', 'Däniken Postzentrum', 'DÄNIKEN POSTZENTRUM', '', 'SO', ''); + CreatePostCode.InsertData('5012', 'Eppenberg', 'EPPENBERG', '', 'SO', ''); + CreatePostCode.InsertData('5012', 'Schönenwerd', 'SCHÖNENWERD', '', 'SO', ''); + CreatePostCode.InsertData('5012', 'Schönenwerd Zustellung', 'SCHÖNENWERD ZUSTELLUNG', '', 'SO', ''); + CreatePostCode.InsertData('5012', 'Wöschnau', 'WÖSCHNAU', '', 'SO', ''); + CreatePostCode.InsertData('5013', 'Niedergösgen', 'NIEDERGÖSGEN', '', 'SO', ''); + CreatePostCode.InsertData('5014', 'Gretzenbach', 'GRETZENBACH', '', 'SO', ''); + CreatePostCode.InsertData('5015', 'Erlinsbach SO', 'ERLINSBACH SO', '', 'SO', ''); + CreatePostCode.InsertData('5017', 'Barmelweid', 'BARMELWEID', '', 'AG', ''); + CreatePostCode.InsertData('5018', 'Erlinsbach', 'ERLINSBACH', '', 'AG', ''); + CreatePostCode.InsertData('5022', 'Rombach', 'ROMBACH', '', 'AG', ''); + CreatePostCode.InsertData('5023', 'Biberstein', 'BIBERSTEIN', '', 'AG', ''); + CreatePostCode.InsertData('5024', 'Küttigen', 'KÜTTIGEN', '', 'AG', ''); + CreatePostCode.InsertData('5025', 'Asp', 'ASP', '', 'AG', ''); + CreatePostCode.InsertData('5026', 'Densbüren', 'DENSBÜREN', '', 'AG', ''); + CreatePostCode.InsertData('5027', 'Herznach', 'HERZNACH', '', 'AG', ''); + CreatePostCode.InsertData('5028', 'Ueken', 'UEKEN', '', 'AG', ''); + CreatePostCode.InsertData('5032', 'Aarau Rohr', 'AARAU ROHR', '', 'AG', ''); + CreatePostCode.InsertData('5033', 'Buchs AG', 'BUCHS AG', '', 'AG', ''); + CreatePostCode.InsertData('5034', 'Suhr', 'SUHR', '', 'AG', ''); + CreatePostCode.InsertData('5035', 'Unterentfelden', 'UNTERENTFELDEN', '', 'AG', ''); + CreatePostCode.InsertData('5036', 'Oberentfelden', 'OBERENTFELDEN', '', 'AG', ''); + CreatePostCode.InsertData('5036', 'Oberentfelden Zustellung', 'OBERENTFELDEN ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5037', 'Muhen', 'MUHEN', '', 'AG', ''); + CreatePostCode.InsertData('5040', 'Schöftland', 'SCHÖFTLAND', '', 'AG', ''); + CreatePostCode.InsertData('5042', 'Hirschthal', 'HIRSCHTHAL', '', 'AG', ''); + CreatePostCode.InsertData('5043', 'Holziken', 'HOLZIKEN', '', 'AG', ''); + CreatePostCode.InsertData('5044', 'Schlossrued', 'SCHLOSSRUED', '', 'AG', ''); + CreatePostCode.InsertData('5046', 'Schmiedrued', 'SCHMIEDRUED', '', 'AG', ''); + CreatePostCode.InsertData('5046', 'Schmiedrued-Walde', 'SCHMIEDRUED-WALDE', '', 'AG', ''); + CreatePostCode.InsertData('5046', 'Walde AG', 'WALDE AG', '', 'AG', ''); + CreatePostCode.InsertData('5053', 'Staffelbach', 'STAFFELBACH', '', 'AG', ''); + CreatePostCode.InsertData('5053', 'Wittwil', 'WITTWIL', '', 'AG', ''); + CreatePostCode.InsertData('5054', 'Kirchleerau', 'KIRCHLEERAU', '', 'AG', ''); + CreatePostCode.InsertData('5054', 'Kirchleerau-Moosleerau', 'KIRCHLEERAU-MOOSLEERAU', '', 'AG', ''); + CreatePostCode.InsertData('5054', 'Moosleerau', 'MOOSLEERAU', '', 'AG', ''); + CreatePostCode.InsertData('5056', 'Attelwil', 'ATTELWIL', '', 'AG', ''); + CreatePostCode.InsertData('5057', 'Reitnau', 'REITNAU', '', 'AG', ''); + CreatePostCode.InsertData('5058', 'Wiliberg', 'WILIBERG', '', 'AG', ''); + CreatePostCode.InsertData('5062', 'Oberhof', 'OBERHOF', '', 'AG', ''); + CreatePostCode.InsertData('5063', 'Wölflinswil', 'WÖLFLINSWIL', '', 'AG', ''); + CreatePostCode.InsertData('5064', 'Wittnau', 'WITTNAU', '', 'AG', ''); + CreatePostCode.InsertData('5070', 'Frick', 'FRICK', '', 'AG', ''); + CreatePostCode.InsertData('5070', 'Frick Zustellung', 'FRICK ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5072', 'Oeschgen', 'OESCHGEN', '', 'AG', ''); + CreatePostCode.InsertData('5073', 'Gipf-Oberfrick', 'GIPF-OBERFRICK', '', 'AG', ''); + CreatePostCode.InsertData('5074', 'Eiken', 'EIKEN', '', 'AG', ''); + CreatePostCode.InsertData('5075', 'Hornussen', 'HORNUSSEN', '', 'AG', ''); + CreatePostCode.InsertData('5076', 'Bözen', 'BÖZEN', '', 'AG', ''); + CreatePostCode.InsertData('5077', 'Elfingen', 'ELFINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5078', 'Effingen', 'EFFINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5079', 'Zeihen', 'ZEIHEN', '', 'AG', ''); + CreatePostCode.InsertData('5080', 'Laufenburg', 'LAUFENBURG', '', 'AG', ''); + CreatePostCode.InsertData('5082', 'Kaisten', 'KAISTEN', '', 'AG', ''); + CreatePostCode.InsertData('5083', 'Ittenthal', 'ITTENTHAL', '', 'AG', ''); + CreatePostCode.InsertData('5084', 'Rheinsulz', 'RHEINSULZ', '', 'AG', ''); + CreatePostCode.InsertData('5085', 'Sulz AG', 'SULZ AG', '', 'AG', ''); + CreatePostCode.InsertData('5102', 'Rupperswil', 'RUPPERSWIL', '', 'AG', ''); + CreatePostCode.InsertData('5103', 'Möriken AG', 'MÖRIKEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5103', 'Wildegg', 'WILDEGG', '', 'AG', ''); + CreatePostCode.InsertData('5105', 'Auenstein', 'AUENSTEIN', '', 'AG', ''); + CreatePostCode.InsertData('5106', 'Veltheim AG', 'VELTHEIM AG', '', 'AG', ''); + CreatePostCode.InsertData('5107', 'Schinznach Dorf', 'SCHINZNACH DORF', '', 'AG', ''); + CreatePostCode.InsertData('5108', 'Oberflachs', 'OBERFLACHS', '', 'AG', ''); + CreatePostCode.InsertData('5112', 'Thalheim AG', 'THALHEIM AG', '', 'AG', ''); + CreatePostCode.InsertData('5113', 'Holderbank AG', 'HOLDERBANK AG', '', 'AG', ''); + CreatePostCode.InsertData('5116', 'Schinznach Bad', 'SCHINZNACH BAD', '', 'AG', ''); + CreatePostCode.InsertData('5200', 'Brugg AG', 'BRUGG AG', '', 'AG', ''); + CreatePostCode.InsertData('5200', 'Brugg AG 1', 'BRUGG AG 1', '', 'AG', ''); + CreatePostCode.InsertData('5200', 'Brugg AG 1 Zustellung', 'BRUGG AG 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5200', 'Brugg AG Kaserne', 'BRUGG AG KASERNE', '', 'AG', ''); + CreatePostCode.InsertData('5200', 'Brugg Bahnhof SBB', 'BRUGG BAHNHOF SBB', '', 'AG', ''); + CreatePostCode.InsertData('5201', 'Brugg AG', 'BRUGG AG', '', 'AG', ''); + CreatePostCode.InsertData('5201', 'Brugg SPS', 'BRUGG SPS', '', 'AG', ''); + CreatePostCode.InsertData('5210', 'Windisch', 'WINDISCH', '', 'AG', ''); + CreatePostCode.InsertData('5212', 'Hausen AG', 'HAUSEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5213', 'Villnachern', 'VILLNACHERN', '', 'AG', ''); + CreatePostCode.InsertData('5222', 'Umiken', 'UMIKEN', '', 'AG', ''); + CreatePostCode.InsertData('5223', 'Riniken', 'RINIKEN', '', 'AG', ''); + CreatePostCode.InsertData('5225', 'Bözberg', 'BÖZBERG', '', 'AG', ''); + CreatePostCode.InsertData('5232', 'Villigen PSI', 'VILLIGEN PSI', '', 'AG', ''); + CreatePostCode.InsertData('5233', 'Stilli', 'STILLI', '', 'AG', ''); + CreatePostCode.InsertData('5234', 'Villigen', 'VILLIGEN', '', 'AG', ''); + CreatePostCode.InsertData('5235', 'Rüfenach AG', 'RÜFENACH AG', '', 'AG', ''); + CreatePostCode.InsertData('5236', 'Remigen', 'REMIGEN', '', 'AG', ''); + CreatePostCode.InsertData('5237', 'Mönthal', 'MÖNTHAL', '', 'AG', ''); + CreatePostCode.InsertData('5242', 'Birr', 'BIRR', '', 'AG', ''); + CreatePostCode.InsertData('5242', 'Birr-Lupfig', 'BIRR-LUPFIG', '', 'AG', ''); + CreatePostCode.InsertData('5242', 'Birr-Lupfig Zustellung', 'BIRR-LUPFIG ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5242', 'Lupfig', 'LUPFIG', '', 'AG', ''); + CreatePostCode.InsertData('5243', 'Mülligen', 'MÜLLIGEN', '', 'AG', ''); + CreatePostCode.InsertData('5244', 'Birrhard', 'BIRRHARD', '', 'AG', ''); + CreatePostCode.InsertData('5245', 'Habsburg', 'HABSBURG', '', 'AG', ''); + CreatePostCode.InsertData('5246', 'Scherz', 'SCHERZ', '', 'AG', ''); + CreatePostCode.InsertData('5272', 'Gansingen', 'GANSINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5273', 'Oberhofen AG', 'OBERHOFEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5274', 'Mettau', 'METTAU', '', 'AG', ''); + CreatePostCode.InsertData('5275', 'Etzgen', 'ETZGEN', '', 'AG', ''); + CreatePostCode.InsertData('5276', 'Wil AG', 'WIL AG', '', 'AG', ''); + CreatePostCode.InsertData('5277', 'Hottwil', 'HOTTWIL', '', 'AG', ''); + CreatePostCode.InsertData('5300', 'Turgi', 'TURGI', '', 'AG', ''); + CreatePostCode.InsertData('5301', 'Siggenthal Station', 'SIGGENTHAL STATION', '', 'AG', ''); + CreatePostCode.InsertData('5303', 'Würenlingen', 'WÜRENLINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5304', 'Endingen', 'ENDINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5305', 'Unterendingen', 'UNTERENDINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5306', 'Tegerfelden', 'TEGERFELDEN', '', 'AG', ''); + CreatePostCode.InsertData('5312', 'Döttingen', 'DÖTTINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5312', 'Döttingen Zustellung', 'DÖTTINGEN ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5312', 'Döttingen-Klingnau', 'DÖTTINGEN-KLINGNAU', '', 'AG', ''); + CreatePostCode.InsertData('5313', 'Klingnau', 'KLINGNAU', '', 'AG', ''); + CreatePostCode.InsertData('5313', 'Klingnau Wiesenweg', 'KLINGNAU WIESENWEG', '', 'AG', ''); + CreatePostCode.InsertData('5314', 'Kleindöttingen', 'KLEINDÖTTINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5315', 'Böttstein', 'BÖTTSTEIN', '', 'AG', ''); + CreatePostCode.InsertData('5316', 'Leuggern', 'LEUGGERN', '', 'AG', ''); + CreatePostCode.InsertData('5317', 'Hettenschwil', 'HETTENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5318', 'Mandach', 'MANDACH', '', 'AG', ''); + CreatePostCode.InsertData('5322', 'Koblenz', 'KOBLENZ', '', 'AG', ''); + CreatePostCode.InsertData('5323', 'Rietheim', 'RIETHEIM', '', 'AG', ''); + CreatePostCode.InsertData('5324', 'Full-Reuenthal', 'FULL-REUENTHAL', '', 'AG', ''); + CreatePostCode.InsertData('5325', 'Leibstadt', 'LEIBSTADT', '', 'AG', ''); + CreatePostCode.InsertData('5326', 'Schwaderloch', 'SCHWADERLOCH', '', 'AG', ''); + CreatePostCode.InsertData('5330', 'Bad Zurzach', 'BAD ZURZACH', '', 'AG', ''); + CreatePostCode.InsertData('5332', 'Rekingen AG', 'REKINGEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5333', 'Baldingen', 'BALDINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5334', 'Böbikon', 'BÖBIKON', '', 'AG', ''); + CreatePostCode.InsertData('5400', 'Baden', 'BADEN', '', 'AG', ''); + CreatePostCode.InsertData('5400', 'Baden 1', 'BADEN 1', '', 'AG', ''); + CreatePostCode.InsertData('5400', 'Baden 1 Postautodienst', 'BADEN 1 POSTAUTODIENST', '', 'AG', ''); + CreatePostCode.InsertData('5400', 'Baden 1 Zustellung', 'BADEN 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5400', 'Baden IM', 'BADEN IM', '', 'AG', ''); + CreatePostCode.InsertData('5401', 'Baden', 'BADEN', '', 'AG', ''); + CreatePostCode.InsertData('5402', 'Baden', 'BADEN', '', 'AG', ''); + CreatePostCode.InsertData('5404', 'Baden', 'BADEN', '', 'AG', ''); + CreatePostCode.InsertData('5405', 'Baden', 'BADEN', '', 'AG', ''); + CreatePostCode.InsertData('5405', 'Baden B&V GK', 'BADEN B&V GK', '', 'AG', ''); + CreatePostCode.InsertData('5405', 'Baden B&V GK 2', 'BADEN B&V GK 2', '', 'AG', ''); + CreatePostCode.InsertData('5405', 'Baden Täfern Gewerbe', 'BADEN TÄFERN GEWERBE', '', 'AG', ''); + CreatePostCode.InsertData('5405', 'Dättwil AG', 'DÄTTWIL AG', '', 'AG', ''); + CreatePostCode.InsertData('5406', 'Baden', 'BADEN', '', 'AG', ''); + CreatePostCode.InsertData('5406', 'Rütihof', 'RÜTIHOF', '', 'AG', ''); + CreatePostCode.InsertData('5408', 'Ennetbaden', 'ENNETBADEN', '', 'AG', ''); + CreatePostCode.InsertData('5412', 'Gebenstorf', 'GEBENSTORF', '', 'AG', ''); + CreatePostCode.InsertData('5412', 'Vogelsang AG', 'VOGELSANG AG', '', 'AG', ''); + CreatePostCode.InsertData('5413', 'Birmenstorf AG', 'BIRMENSTORF AG', '', 'AG', ''); + CreatePostCode.InsertData('5415', 'Hertenstein AG', 'HERTENSTEIN AG', '', 'AG', ''); + CreatePostCode.InsertData('5415', 'Nussbaumen AG', 'NUSSBAUMEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5415', 'Nussbaumen AG Zustellung', 'NUSSBAUMEN AG ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5415', 'Rieden AG', 'RIEDEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5416', 'Kirchdorf AG', 'KIRCHDORF AG', '', 'AG', ''); + CreatePostCode.InsertData('5417', 'Untersiggenthal', 'UNTERSIGGENTHAL', '', 'AG', ''); + CreatePostCode.InsertData('5420', 'Ehrendingen', 'EHRENDINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5423', 'Freienwil', 'FREIENWIL', '', 'AG', ''); + CreatePostCode.InsertData('5425', 'Schneisingen', 'SCHNEISINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5426', 'Lengnau AG', 'LENGNAU AG', '', 'AG', ''); + CreatePostCode.InsertData('5430', 'Wettingen', 'WETTINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5430', 'Wettingen 1', 'WETTINGEN 1', '', 'AG', ''); + CreatePostCode.InsertData('5430', 'Wettingen 1 Zustellung', 'WETTINGEN 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5430', 'Wettingen 2', 'WETTINGEN 2', '', 'AG', ''); + CreatePostCode.InsertData('5430', 'Wettingen 3', 'WETTINGEN 3', '', 'AG', ''); + CreatePostCode.InsertData('5431', 'Wettingen Sonderdienste', 'WETTINGEN SONDERDIENSTE', '', 'AG', ''); + CreatePostCode.InsertData('5432', 'Neuenhof', 'NEUENHOF', '', 'AG', ''); + CreatePostCode.InsertData('5436', 'Würenlos', 'WÜRENLOS', '', 'AG', ''); + CreatePostCode.InsertData('5442', 'Fislisbach', 'FISLISBACH', '', 'AG', ''); + CreatePostCode.InsertData('5443', 'Niederrohrdorf', 'NIEDERROHRDORF', '', 'AG', ''); + CreatePostCode.InsertData('5444', 'Künten', 'KÜNTEN', '', 'AG', ''); + CreatePostCode.InsertData('5445', 'Eggenwil', 'EGGENWIL', '', 'AG', ''); + CreatePostCode.InsertData('5452', 'Oberrohrdorf', 'OBERROHRDORF', '', 'AG', ''); + CreatePostCode.InsertData('5453', 'Remetschwil', 'REMETSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5454', 'Bellikon', 'BELLIKON', '', 'AG', ''); + CreatePostCode.InsertData('5462', 'Siglistorf', 'SIGLISTORF', '', 'AG', ''); + CreatePostCode.InsertData('5463', 'Wislikofen', 'WISLIKOFEN', '', 'AG', ''); + CreatePostCode.InsertData('5463', 'Wislikofen Probsteiweg', 'WISLIKOFEN PROBSTEIWEG', '', 'AG', ''); + CreatePostCode.InsertData('5464', 'Rümikon AG', 'RÜMIKON AG', '', 'AG', ''); + CreatePostCode.InsertData('5465', 'Mellikon', 'MELLIKON', '', 'AG', ''); + CreatePostCode.InsertData('5466', 'Kaiserstuhl AG', 'KAISERSTUHL AG', '', 'AG', ''); + CreatePostCode.InsertData('5467', 'Fisibach', 'FISIBACH', '', 'AG', ''); + CreatePostCode.InsertData('5502', 'Hunzenschwil', 'HUNZENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5503', 'Schafisheim', 'SCHAFISHEIM', '', 'AG', ''); + CreatePostCode.InsertData('5504', 'Othmarsingen', 'OTHMARSINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5505', 'Brunegg', 'BRUNEGG', '', 'AG', ''); + CreatePostCode.InsertData('5506', 'Mägenwil', 'MÄGENWIL', '', 'AG', ''); + CreatePostCode.InsertData('5506', 'Mägenwil Dist Ba', 'MÄGENWIL DIST BA', '', 'AG', ''); + CreatePostCode.InsertData('5506', 'Mägenwil GKA', 'MÄGENWIL GKA', '', 'AG', ''); + CreatePostCode.InsertData('5506', 'Mägenwil HUB', 'MÄGENWIL HUB', '', 'AG', ''); + CreatePostCode.InsertData('5506', 'Mägenwil PL Hub SK Blitz', 'MÄGENWIL PL HUB SK BLITZ', '', 'AG', ''); + CreatePostCode.InsertData('5506', 'Mägenwil PL3i', 'MÄGENWIL PL3I', '', 'AG', ''); + CreatePostCode.InsertData('5507', 'Mellingen', 'MELLINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5512', 'Wohlenschwil', 'WOHLENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5522', 'Tägerig', 'TÄGERIG', '', 'AG', ''); + CreatePostCode.InsertData('5524', 'Nesselnbach', 'NESSELNBACH', '', 'AG', ''); + CreatePostCode.InsertData('5524', 'Niederwil AG', 'NIEDERWIL AG', '', 'AG', ''); + CreatePostCode.InsertData('5525', 'Fischbach-Göslikon', 'FISCHBACH-GÖSLIKON', '', 'AG', ''); + CreatePostCode.InsertData('5600', 'Ammerswil AG', 'AMMERSWIL AG', '', 'AG', ''); + CreatePostCode.InsertData('5600', 'Lenzburg', 'LENZBURG', '', 'AG', ''); + CreatePostCode.InsertData('5600', 'Lenzburg 1', 'LENZBURG 1', '', 'AG', ''); + CreatePostCode.InsertData('5600', 'Lenzburg 2', 'LENZBURG 2', '', 'AG', ''); + CreatePostCode.InsertData('5600', 'Lenzburg Bahnhof SBB', 'LENZBURG BAHNHOF SBB', '', 'AG', ''); + CreatePostCode.InsertData('5600', 'Lenzburg Zustellung', 'LENZBURG ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5601', 'Lenzburg Sonderdienste', 'LENZBURG SONDERDIENSTE', '', 'AG', ''); + CreatePostCode.InsertData('5603', 'Staufen', 'STAUFEN', '', 'AG', ''); + CreatePostCode.InsertData('5604', 'Hendschiken', 'HENDSCHIKEN', '', 'AG', ''); + CreatePostCode.InsertData('5605', 'Dottikon', 'DOTTIKON', '', 'AG', ''); + CreatePostCode.InsertData('5605', 'Dottikon Zustellung', 'DOTTIKON ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5606', 'Dintikon', 'DINTIKON', '', 'AG', ''); + CreatePostCode.InsertData('5606', 'Dintikon PL3', 'DINTIKON PL3', '', 'AG', ''); + CreatePostCode.InsertData('5607', 'Hägglingen', 'HÄGGLINGEN', '', 'AG', ''); + CreatePostCode.InsertData('5608', 'Stetten AG', 'STETTEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5610', 'Dintikon LCD', 'DINTIKON LCD', '', 'AG', ''); + CreatePostCode.InsertData('5610', 'Wohlen AG', 'WOHLEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5610', 'Wohlen AG 1', 'WOHLEN AG 1', '', 'AG', ''); + CreatePostCode.InsertData('5610', 'Wohlen AG 1 Zustellung', 'WOHLEN AG 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5610', 'Wohlen AG 2', 'WOHLEN AG 2', '', 'AG', ''); + CreatePostCode.InsertData('5611', 'Anglikon', 'ANGLIKON', '', 'AG', ''); + CreatePostCode.InsertData('5612', 'Villmergen', 'VILLMERGEN', '', 'AG', ''); + CreatePostCode.InsertData('5612', 'Villmergen PL3', 'VILLMERGEN PL3', '', 'AG', ''); + CreatePostCode.InsertData('5613', 'Hilfikon', 'HILFIKON', '', 'AG', ''); + CreatePostCode.InsertData('5614', 'Sarmenstorf', 'SARMENSTORF', '', 'AG', ''); + CreatePostCode.InsertData('5615', 'Fahrwangen', 'FAHRWANGEN', '', 'AG', ''); + CreatePostCode.InsertData('5616', 'Meisterschwanden', 'MEISTERSCHWANDEN', '', 'AG', ''); + CreatePostCode.InsertData('5617', 'Tennwil', 'TENNWIL', '', 'AG', ''); + CreatePostCode.InsertData('5618', 'Bettwil', 'BETTWIL', '', 'AG', ''); + CreatePostCode.InsertData('5619', 'Büttikon AG', 'BÜTTIKON AG', '', 'AG', ''); + CreatePostCode.InsertData('5619', 'Uezwil', 'UEZWIL', '', 'AG', ''); + CreatePostCode.InsertData('5620', 'Bremgarten AG', 'BREMGARTEN AG', '', 'AG', ''); + CreatePostCode.InsertData('5620', 'Bremgarten AG 1', 'BREMGARTEN AG 1', '', 'AG', ''); + CreatePostCode.InsertData('5620', 'Bremgarten AG 1 Zustellung', 'BREMGARTEN AG 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5620', 'Bremgarten AG Kaserne', 'BREMGARTEN AG KASERNE', '', 'AG', ''); + CreatePostCode.InsertData('5620', 'Bremgarten AG West', 'BREMGARTEN AG WEST', '', 'AG', ''); + CreatePostCode.InsertData('5621', 'Zufikon', 'ZUFIKON', '', 'AG', ''); + CreatePostCode.InsertData('5622', 'Waltenschwil', 'WALTENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5623', 'Boswil', 'BOSWIL', '', 'AG', ''); + CreatePostCode.InsertData('5624', 'Bünzen', 'BÜNZEN', '', 'AG', ''); + CreatePostCode.InsertData('5624', 'Waldhäusern AG', 'WALDHÄUSERN AG', '', 'AG', ''); + CreatePostCode.InsertData('5625', 'Kallern', 'KALLERN', '', 'AG', ''); + CreatePostCode.InsertData('5626', 'Hermetschwil-Staffeln', 'HERMETSCHWIL-STAFFELN', '', 'AG', ''); + CreatePostCode.InsertData('5627', 'Besenbüren', 'BESENBÜREN', '', 'AG', ''); + CreatePostCode.InsertData('5628', 'Aristau', 'ARISTAU', '', 'AG', ''); + CreatePostCode.InsertData('5630', 'Muri AG', 'MURI AG', '', 'AG', ''); + CreatePostCode.InsertData('5630', 'Muri AG Zustellung', 'MURI AG ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5632', 'Buttwil', 'BUTTWIL', '', 'AG', ''); + CreatePostCode.InsertData('5634', 'Merenschwand', 'MERENSCHWAND', '', 'AG', ''); + CreatePostCode.InsertData('5636', 'Benzenschwil', 'BENZENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5637', 'Beinwil (Freiamt)', 'BEINWIL (FREIAMT)', '', 'AG', ''); + CreatePostCode.InsertData('5637', 'Geltwil', 'GELTWIL', '', 'AG', ''); + CreatePostCode.InsertData('5642', 'Mühlau', 'MÜHLAU', '', 'AG', ''); + CreatePostCode.InsertData('5643', 'Alikon', 'ALIKON', '', 'AG', ''); + CreatePostCode.InsertData('5643', 'Meienberg', 'MEIENBERG', '', 'AG', ''); + CreatePostCode.InsertData('5643', 'Sins', 'SINS', '', 'AG', ''); + CreatePostCode.InsertData('5644', 'Auw', 'AUW', '', 'AG', ''); + CreatePostCode.InsertData('5645', 'Aettenschwil', 'AETTENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5645', 'Fenkrieden', 'FENKRIEDEN', '', 'AG', ''); + CreatePostCode.InsertData('5646', 'Abtwil AG', 'ABTWIL AG', '', 'AG', ''); + CreatePostCode.InsertData('5647', 'Oberrüti', 'OBERRÜTI', '', 'AG', ''); + CreatePostCode.InsertData('5702', 'Niederlenz', 'NIEDERLENZ', '', 'AG', ''); + CreatePostCode.InsertData('5703', 'Seon', 'SEON', '', 'AG', ''); + CreatePostCode.InsertData('5703', 'Seon Zustellung', 'SEON ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5704', 'Egliswil', 'EGLISWIL', '', 'AG', ''); + CreatePostCode.InsertData('5705', 'Hallwil', 'HALLWIL', '', 'AG', ''); + CreatePostCode.InsertData('5706', 'Boniswil', 'BONISWIL', '', 'AG', ''); + CreatePostCode.InsertData('5707', 'Seengen', 'SEENGEN', '', 'AG', ''); + CreatePostCode.InsertData('5708', 'Birrwil', 'BIRRWIL', '', 'AG', ''); + CreatePostCode.InsertData('5712', 'Beinwil am See', 'BEINWIL AM SEE', '', 'AG', ''); + CreatePostCode.InsertData('5722', 'Gränichen', 'GRÄNICHEN', '', 'AG', ''); + CreatePostCode.InsertData('5722', 'Gränichen Zustellung', 'GRÄNICHEN ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5723', 'Teufenthal AG', 'TEUFENTHAL AG', '', 'AG', ''); + CreatePostCode.InsertData('5724', 'Dürrenäsch', 'DÜRRENÄSCH', '', 'AG', ''); + CreatePostCode.InsertData('5725', 'Leutwil', 'LEUTWIL', '', 'AG', ''); + CreatePostCode.InsertData('5726', 'Unterkulm', 'UNTERKULM', '', 'AG', ''); + CreatePostCode.InsertData('5726', 'Unterkulm Zustellung', 'UNTERKULM ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5727', 'Oberkulm', 'OBERKULM', '', 'AG', ''); + CreatePostCode.InsertData('5728', 'Gontenschwil', 'GONTENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('5732', 'Zetzwil', 'ZETZWIL', '', 'AG', ''); + CreatePostCode.InsertData('5733', 'Leimbach AG', 'LEIMBACH AG', '', 'AG', ''); + CreatePostCode.InsertData('5734', 'Reinach AG', 'REINACH AG', '', 'AG', ''); + CreatePostCode.InsertData('5734', 'Reinach AG Zustellung', 'REINACH AG ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('5735', 'Pfeffikon LU', 'PFEFFIKON LU', '', 'LU', ''); + CreatePostCode.InsertData('5736', 'Burg AG', 'BURG AG', '', 'AG', ''); + CreatePostCode.InsertData('5737', 'Menziken', 'MENZIKEN', '', 'AG', ''); + CreatePostCode.InsertData('5742', 'Kölliken', 'KÖLLIKEN', '', 'AG', ''); + CreatePostCode.InsertData('5745', 'Safenwil', 'SAFENWIL', '', 'AG', ''); + CreatePostCode.InsertData('5746', 'Walterswil SO', 'WALTERSWIL SO', '', 'SO', ''); + CreatePostCode.InsertData('6000', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 1 Annahme', 'LUZERN 1 ANNAHME', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 1 PF', 'LUZERN 1 PF', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 10', 'LUZERN 10', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 11', 'LUZERN 11', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 14', 'LUZERN 14', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 15', 'LUZERN 15', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 16', 'LUZERN 16', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 2 Universität', 'LUZERN 2 UNIVERSITÄT', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 30 AAL', 'LUZERN 30 AAL', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 31', 'LUZERN 31', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 4', 'LUZERN 4', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 6', 'LUZERN 6', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern 7', 'LUZERN 7', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern Altstadt', 'LUZERN ALTSTADT', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern Bahnhof SBB', 'LUZERN BAHNHOF SBB', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern Kaserne', 'LUZERN KASERNE', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern Postauto Zentralschw', 'LUZERN POSTAUTO ZENTRALSCHW', '', 'LU', ''); + CreatePostCode.InsertData('6000', 'Luzern Zustellung', 'LUZERN ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6002', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6002', 'Luzern SPS', 'LUZERN SPS', '', 'LU', ''); + CreatePostCode.InsertData('6003', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6004', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6005', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6005', 'St. Niklausen LU', 'ST. NIKLAUSEN LU', '', 'LU', ''); + CreatePostCode.InsertData('6006', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6007', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6009', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens', 'KRIENS', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens 1', 'KRIENS 1', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens 2', 'KRIENS 2', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens 2 Sternmatt', 'KRIENS 2 STERNMATT', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens 2 Zustellung', 'KRIENS 2 ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens Contact Center', 'KRIENS CONTACT CENTER', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens KC PG/GK 2', 'KRIENS KC PG/GK 2', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Kriens Logistikzentrum', 'KRIENS LOGISTIKZENTRUM', '', 'LU', ''); + CreatePostCode.InsertData('6010', 'Pilatus Kulm', 'PILATUS KULM', '', 'OW', ''); + CreatePostCode.InsertData('6011', 'Kriens', 'KRIENS', '', 'LU', ''); + CreatePostCode.InsertData('6012', 'Obernau', 'OBERNAU', '', 'LU', ''); + CreatePostCode.InsertData('6013', 'Eigenthal', 'EIGENTHAL', '', 'LU', ''); + CreatePostCode.InsertData('6014', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6015', 'Luzern', 'LUZERN', '', 'LU', ''); + CreatePostCode.InsertData('6015', 'Luzern Reussbühl Zustellung', 'LUZERN REUSSBÜHL ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6016', 'Hellbühl', 'HELLBÜHL', '', 'LU', ''); + CreatePostCode.InsertData('6017', 'Ruswil', 'RUSWIL', '', 'LU', ''); + CreatePostCode.InsertData('6017', 'Ruswil Zustellung', 'RUSWIL ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6018', 'Buttisholz', 'BUTTISHOLZ', '', 'LU', ''); + CreatePostCode.InsertData('6019', 'Sigigen', 'SIGIGEN', '', 'LU', ''); + CreatePostCode.InsertData('6020', 'Emmenbrücke', 'EMMENBRÜCKE', '', 'LU', ''); + CreatePostCode.InsertData('6020', 'Emmenbrücke 1', 'EMMENBRÜCKE 1', '', 'LU', ''); + CreatePostCode.InsertData('6020', 'Emmenbrücke 1 Zustellung', 'EMMENBRÜCKE 1 ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6020', 'Emmenbrücke 2', 'EMMENBRÜCKE 2', '', 'LU', ''); + CreatePostCode.InsertData('6020', 'Emmenbrücke 3', 'EMMENBRÜCKE 3', '', 'LU', ''); + CreatePostCode.InsertData('6021', 'Emmenbrücke 1', 'EMMENBRÜCKE 1', '', 'LU', ''); + CreatePostCode.InsertData('6022', 'Grosswangen', 'GROSSWANGEN', '', 'LU', ''); + CreatePostCode.InsertData('6023', 'Rothenburg', 'ROTHENBURG', '', 'LU', ''); + CreatePostCode.InsertData('6023', 'Rothenburg DIST BA', 'ROTHENBURG DIST BA', '', 'LU', ''); + CreatePostCode.InsertData('6023', 'Rothenburg Zustellung', 'ROTHENBURG ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6024', 'Hildisrieden', 'HILDISRIEDEN', '', 'LU', ''); + CreatePostCode.InsertData('6025', 'Neudorf', 'NEUDORF', '', 'LU', ''); + CreatePostCode.InsertData('6026', 'Rain', 'RAIN', '', 'LU', ''); + CreatePostCode.InsertData('6027', 'Römerswil LU', 'RÖMERSWIL LU', '', 'LU', ''); + CreatePostCode.InsertData('6028', 'Herlisberg', 'HERLISBERG', '', 'LU', ''); + CreatePostCode.InsertData('6030', 'Ebikon', 'EBIKON', '', 'LU', ''); + CreatePostCode.InsertData('6030', 'Ebikon Zustellung', 'EBIKON ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6031', 'Ebikon', 'EBIKON', '', 'LU', ''); + CreatePostCode.InsertData('6032', 'Emmen', 'EMMEN', '', 'LU', ''); + CreatePostCode.InsertData('6032', 'Emmen Kaserne', 'EMMEN KASERNE', '', 'LU', ''); + CreatePostCode.InsertData('6033', 'Buchrain', 'BUCHRAIN', '', 'LU', ''); + CreatePostCode.InsertData('6034', 'Inwil', 'INWIL', '', 'LU', ''); + CreatePostCode.InsertData('6035', 'Perlen', 'PERLEN', '', 'LU', ''); + CreatePostCode.InsertData('6036', 'Dierikon', 'DIERIKON', '', 'LU', ''); + CreatePostCode.InsertData('6037', 'Root', 'ROOT', '', 'LU', ''); + CreatePostCode.InsertData('6037', 'Root Zustellung', 'ROOT ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6038', 'Gisikon', 'GISIKON', '', 'LU', ''); + CreatePostCode.InsertData('6038', 'Honau', 'HONAU', '', 'LU', ''); + CreatePostCode.InsertData('6039', 'Root D4', 'ROOT D4', '', 'LU', ''); + CreatePostCode.InsertData('6039', 'Root Längenbold SH', 'ROOT LÄNGENBOLD SH', '', 'LU', ''); + CreatePostCode.InsertData('6042', 'Dietwil', 'DIETWIL', '', 'AG', ''); + CreatePostCode.InsertData('6043', 'Adligenswil', 'ADLIGENSWIL', '', 'LU', ''); + CreatePostCode.InsertData('6043', 'Adligenswil Zustellung', 'ADLIGENSWIL ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6044', 'Udligenswil', 'UDLIGENSWIL', '', 'LU', ''); + CreatePostCode.InsertData('6045', 'Meggen', 'MEGGEN', '', 'LU', ''); + CreatePostCode.InsertData('6045', 'Meggen Zustellung', 'MEGGEN ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6047', 'Kastanienbaum', 'KASTANIENBAUM', '', 'LU', ''); + CreatePostCode.InsertData('6048', 'Horw', 'HORW', '', 'LU', ''); + CreatePostCode.InsertData('6052', 'Hergiswil NW', 'HERGISWIL NW', '', 'NW', ''); + CreatePostCode.InsertData('6052', 'Hergiswil NW Zustellung', 'HERGISWIL NW ZUSTELLUNG', '', 'NW', ''); + CreatePostCode.InsertData('6053', 'Alpnachstad', 'ALPNACHSTAD', '', 'OW', ''); + CreatePostCode.InsertData('6055', 'Alpnach Dorf', 'ALPNACH DORF', '', 'OW', ''); + CreatePostCode.InsertData('6055', 'Alpnach Zustellung', 'ALPNACH ZUSTELLUNG', '', 'OW', ''); + CreatePostCode.InsertData('6056', 'Kägiswil', 'KÄGISWIL', '', 'OW', ''); + CreatePostCode.InsertData('6060', 'Ramersberg', 'RAMERSBERG', '', 'OW', ''); + CreatePostCode.InsertData('6060', 'Sarnen', 'SARNEN', '', 'OW', ''); + CreatePostCode.InsertData('6060', 'Sarnen 1', 'SARNEN 1', '', 'OW', ''); + CreatePostCode.InsertData('6060', 'Sarnen 2', 'SARNEN 2', '', 'OW', ''); + CreatePostCode.InsertData('6060', 'Sarnen 2 Büntenpark', 'SARNEN 2 BÜNTENPARK', '', 'OW', ''); + CreatePostCode.InsertData('6060', 'Sarnen 2 Zustellung', 'SARNEN 2 ZUSTELLUNG', '', 'OW', ''); + CreatePostCode.InsertData('6061', 'Sarnen 1', 'SARNEN 1', '', 'OW', ''); + CreatePostCode.InsertData('6062', 'Wilen (Sarnen)', 'WILEN (SARNEN)', '', 'OW', ''); + CreatePostCode.InsertData('6063', 'Stalden (Sarnen)', 'STALDEN (SARNEN)', '', 'OW', ''); + CreatePostCode.InsertData('6064', 'Kerns', 'KERNS', '', 'OW', ''); + CreatePostCode.InsertData('6066', 'St. Niklausen OW', 'ST. NIKLAUSEN OW', '', 'OW', ''); + CreatePostCode.InsertData('6067', 'Melchtal', 'MELCHTAL', '', 'OW', ''); + CreatePostCode.InsertData('6068', 'Melchsee-Frutt', 'MELCHSEE-FRUTT', '', 'OW', ''); + CreatePostCode.InsertData('6072', 'Sachseln', 'SACHSELN', '', 'OW', ''); + CreatePostCode.InsertData('6073', 'Flüeli-Ranft', 'FLÜELI-RANFT', '', 'OW', ''); + CreatePostCode.InsertData('6074', 'Giswil', 'GISWIL', '', 'OW', ''); + CreatePostCode.InsertData('6078', 'Bürglen OW', 'BÜRGLEN OW', '', 'OW', ''); + CreatePostCode.InsertData('6078', 'Lungern', 'LUNGERN', '', 'OW', ''); + CreatePostCode.InsertData('6083', 'Hasliberg Hohfluh', 'HASLIBERG HOHFLUH', '', 'BE', ''); + CreatePostCode.InsertData('6084', 'Hasliberg Wasserwendi', 'HASLIBERG WASSERWENDI', '', 'BE', ''); + CreatePostCode.InsertData('6085', 'Hasliberg Goldern', 'HASLIBERG GOLDERN', '', 'BE', ''); + CreatePostCode.InsertData('6086', 'Hasliberg Reuti', 'HASLIBERG REUTI', '', 'BE', ''); + CreatePostCode.InsertData('6102', 'Malters', 'MALTERS', '', 'LU', ''); + CreatePostCode.InsertData('6102', 'Malters Zustellung', 'MALTERS ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6103', 'Schwarzenberg LU', 'SCHWARZENBERG LU', '', 'LU', ''); + CreatePostCode.InsertData('6105', 'Schachen LU', 'SCHACHEN LU', '', 'LU', ''); + CreatePostCode.InsertData('6106', 'Werthenstein', 'WERTHENSTEIN', '', 'LU', ''); + CreatePostCode.InsertData('6110', 'Fontannen b. Wolhusen', 'FONTANNEN B. WOLHUSEN', '', 'LU', ''); + CreatePostCode.InsertData('6110', 'Wolhusen', 'WOLHUSEN', '', 'LU', ''); + CreatePostCode.InsertData('6110', 'Wolhusen Zustellung', 'WOLHUSEN ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6112', 'Doppleschwand', 'DOPPLESCHWAND', '', 'LU', ''); + CreatePostCode.InsertData('6113', 'Romoos', 'ROMOOS', '', 'LU', ''); + CreatePostCode.InsertData('6114', 'Steinhuserberg', 'STEINHUSERBERG', '', 'LU', ''); + CreatePostCode.InsertData('6122', 'Menznau', 'MENZNAU', '', 'LU', ''); + CreatePostCode.InsertData('6123', 'Geiss', 'GEISS', '', 'LU', ''); + CreatePostCode.InsertData('6125', 'Menzberg', 'MENZBERG', '', 'LU', ''); + CreatePostCode.InsertData('6126', 'Daiwil', 'DAIWIL', '', 'LU', ''); + CreatePostCode.InsertData('6130', 'Wilisau Bahnhofstrasse', 'WILISAU BAHNHOFSTRASSE', '', 'LU', ''); + CreatePostCode.InsertData('6130', 'Willisau', 'WILLISAU', '', 'LU', ''); + CreatePostCode.InsertData('6130', 'Willisau Zustellung', 'WILLISAU ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6132', 'Rohrmatt', 'ROHRMATT', '', 'LU', ''); + CreatePostCode.InsertData('6133', 'Hergiswil b. Willisau', 'HERGISWIL B. WILLISAU', '', 'LU', ''); + CreatePostCode.InsertData('6142', 'Gettnau', 'GETTNAU', '', 'LU', ''); + CreatePostCode.InsertData('6143', 'Ohmstal', 'OHMSTAL', '', 'LU', ''); + CreatePostCode.InsertData('6144', 'Zell LU', 'ZELL LU', '', 'LU', ''); + CreatePostCode.InsertData('6145', 'Fischbach LU', 'FISCHBACH LU', '', 'LU', ''); + CreatePostCode.InsertData('6146', 'Grossdietwil', 'GROSSDIETWIL', '', 'LU', ''); + CreatePostCode.InsertData('6147', 'Altbüron', 'ALTBÜRON', '', 'LU', ''); + CreatePostCode.InsertData('6152', 'Hüswil', 'HÜSWIL', '', 'LU', ''); + CreatePostCode.InsertData('6153', 'Ufhusen', 'UFHUSEN', '', 'LU', ''); + CreatePostCode.InsertData('6154', 'Hofstatt', 'HOFSTATT', '', 'LU', ''); + CreatePostCode.InsertData('6156', 'Luthern', 'LUTHERN', '', 'LU', ''); + CreatePostCode.InsertData('6156', 'Luthern Bad', 'LUTHERN BAD', '', 'LU', ''); + CreatePostCode.InsertData('6160', 'Entlebuch Businesszentrum', 'ENTLEBUCH BUSINESSZENTRUM', '', 'LU', ''); + CreatePostCode.InsertData('6161', 'Entlebuch Versandzentrum', 'ENTLEBUCH VERSANDZENTRUM', '', 'LU', ''); + CreatePostCode.InsertData('6162', 'Entlebuch', 'ENTLEBUCH', '', 'LU', ''); + CreatePostCode.InsertData('6162', 'Entlebuch Zustellung', 'ENTLEBUCH ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6162', 'Finsterwald b. Entlebuch', 'FINSTERWALD B. ENTLEBUCH', '', 'LU', ''); + CreatePostCode.InsertData('6162', 'Rengg', 'RENGG', '', 'LU', ''); + CreatePostCode.InsertData('6163', 'Ebnet', 'EBNET', '', 'LU', ''); + CreatePostCode.InsertData('6166', 'Hasle LU', 'HASLE LU', '', 'LU', ''); + CreatePostCode.InsertData('6167', 'Bramboden', 'BRAMBODEN', '', 'LU', ''); + CreatePostCode.InsertData('6170', 'Schüpfheim', 'SCHÜPFHEIM', '', 'LU', ''); + CreatePostCode.InsertData('6170', 'Schüpfheim Zustellung', 'SCHÜPFHEIM ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6173', 'Flühli LU', 'FLÜHLI LU', '', 'LU', ''); + CreatePostCode.InsertData('6174', 'Sörenberg', 'SÖRENBERG', '', 'LU', ''); + CreatePostCode.InsertData('6182', 'Escholzmatt', 'ESCHOLZMATT', '', 'LU', ''); + CreatePostCode.InsertData('6182', 'Escholzmatt Zustellung', 'ESCHOLZMATT ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6192', 'Wiggen', 'WIGGEN', '', 'LU', ''); + CreatePostCode.InsertData('6196', 'Marbach LU', 'MARBACH LU', '', 'LU', ''); + CreatePostCode.InsertData('6197', 'Schangnau', 'SCHANGNAU', '', 'BE', ''); + CreatePostCode.InsertData('6203', 'Sempach Bahnhof GK', 'SEMPACH BAHNHOF GK', '', 'LU', ''); + CreatePostCode.InsertData('6203', 'Sempach Station', 'SEMPACH STATION', '', 'LU', ''); + CreatePostCode.InsertData('6204', 'Sempach', 'SEMPACH', '', 'LU', ''); + CreatePostCode.InsertData('6204', 'Sempach Stadt', 'SEMPACH STADT', '', 'LU', ''); + CreatePostCode.InsertData('6205', 'Eich', 'EICH', '', 'LU', ''); + CreatePostCode.InsertData('6206', 'Neuenkirch', 'NEUENKIRCH', '', 'LU', ''); + CreatePostCode.InsertData('6207', 'Nottwil', 'NOTTWIL', '', 'LU', ''); + CreatePostCode.InsertData('6207', 'Nottwil Paraplegikerzentrum', 'NOTTWIL PARAPLEGIKERZENTRUM', '', 'LU', ''); + CreatePostCode.InsertData('6208', 'Oberkirch LU', 'OBERKIRCH LU', '', 'LU', ''); + CreatePostCode.InsertData('6210', 'Sursee', 'SURSEE', '', 'LU', ''); + CreatePostCode.InsertData('6210', 'Sursee Bahnhof SBB', 'SURSEE BAHNHOF SBB', '', 'LU', ''); + CreatePostCode.InsertData('6210', 'Sursee Zustellung', 'SURSEE ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6211', 'Buchs LU', 'BUCHS LU', '', 'LU', ''); + CreatePostCode.InsertData('6212', 'Kaltbach', 'KALTBACH', '', 'LU', ''); + CreatePostCode.InsertData('6212', 'St. Erhard', 'ST. ERHARD', '', 'LU', ''); + CreatePostCode.InsertData('6213', 'Knutwil', 'KNUTWIL', '', 'LU', ''); + CreatePostCode.InsertData('6214', 'Schenkon', 'SCHENKON', '', 'LU', ''); + CreatePostCode.InsertData('6215', 'Beromünster', 'BEROMÜNSTER', '', 'LU', ''); + CreatePostCode.InsertData('6215', 'Schwarzenbach LU', 'SCHWARZENBACH LU', '', 'LU', ''); + CreatePostCode.InsertData('6216', 'Mauensee', 'MAUENSEE', '', 'LU', ''); + CreatePostCode.InsertData('6217', 'Kottwil', 'KOTTWIL', '', 'LU', ''); + CreatePostCode.InsertData('6218', 'Ettiswil', 'ETTISWIL', '', 'LU', ''); + CreatePostCode.InsertData('6221', 'Rickenbach LU', 'RICKENBACH LU', '', 'LU', ''); + CreatePostCode.InsertData('6222', 'Gunzwil', 'GUNZWIL', '', 'LU', ''); + CreatePostCode.InsertData('6231', 'Schlierbach', 'SCHLIERBACH', '', 'LU', ''); + CreatePostCode.InsertData('6232', 'Geuensee', 'GEUENSEE', '', 'LU', ''); + CreatePostCode.InsertData('6233', 'Büron', 'BÜRON', '', 'LU', ''); + CreatePostCode.InsertData('6234', 'Kulmerau', 'KULMERAU', '', 'LU', ''); + CreatePostCode.InsertData('6234', 'Triengen', 'TRIENGEN', '', 'LU', ''); + CreatePostCode.InsertData('6235', 'Winikon', 'WINIKON', '', 'LU', ''); + CreatePostCode.InsertData('6236', 'Wilihof', 'WILIHOF', '', 'LU', ''); + CreatePostCode.InsertData('6242', 'Wauwil', 'WAUWIL', '', 'LU', ''); + CreatePostCode.InsertData('6242', 'Wauwil Dorfstrasse', 'WAUWIL DORFSTRASSE', '', 'LU', ''); + CreatePostCode.InsertData('6243', 'Egolzwil', 'EGOLZWIL', '', 'LU', ''); + CreatePostCode.InsertData('6244', 'Nebikon', 'NEBIKON', '', 'LU', ''); + CreatePostCode.InsertData('6245', 'Ebersecken', 'EBERSECKEN', '', 'LU', ''); + CreatePostCode.InsertData('6246', 'Altishofen', 'ALTISHOFEN', '', 'LU', ''); + CreatePostCode.InsertData('6247', 'Schötz', 'SCHÖTZ', '', 'LU', ''); + CreatePostCode.InsertData('6248', 'Alberswil', 'ALBERSWIL', '', 'LU', ''); + CreatePostCode.InsertData('6252', 'Dagmersellen', 'DAGMERSELLEN', '', 'LU', ''); + CreatePostCode.InsertData('6253', 'Uffikon', 'UFFIKON', '', 'LU', ''); + CreatePostCode.InsertData('6260', 'Hintermoos', 'HINTERMOOS', '', 'LU', ''); + CreatePostCode.InsertData('6260', 'Mehlsecken', 'MEHLSECKEN', '', 'LU', ''); + CreatePostCode.InsertData('6260', 'Reiden', 'REIDEN', '', 'LU', ''); + CreatePostCode.InsertData('6260', 'Reiden Zustellung', 'REIDEN ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6260', 'Reidermoos', 'REIDERMOOS', '', 'LU', ''); + CreatePostCode.InsertData('6262', 'Langnau b. Reiden', 'LANGNAU B. REIDEN', '', 'LU', ''); + CreatePostCode.InsertData('6263', 'Richenthal', 'RICHENTHAL', '', 'LU', ''); + CreatePostCode.InsertData('6264', 'Pfaffnau', 'PFAFFNAU', '', 'LU', ''); + CreatePostCode.InsertData('6265', 'Roggliswil', 'ROGGLISWIL', '', 'LU', ''); + CreatePostCode.InsertData('6274', 'Eschenbach LU', 'ESCHENBACH LU', '', 'LU', ''); + CreatePostCode.InsertData('6275', 'Ballwil', 'BALLWIL', '', 'LU', ''); + CreatePostCode.InsertData('6276', 'Hohenrain', 'HOHENRAIN', '', 'LU', ''); + CreatePostCode.InsertData('6277', 'Kleinwangen', 'KLEINWANGEN', '', 'LU', ''); + CreatePostCode.InsertData('6277', 'Lieli LU', 'LIELI LU', '', 'LU', ''); + CreatePostCode.InsertData('6280', 'Hochdorf', 'HOCHDORF', '', 'LU', ''); + CreatePostCode.InsertData('6280', 'Hochdorf Zustellung', 'HOCHDORF ZUSTELLUNG', '', 'LU', ''); + CreatePostCode.InsertData('6280', 'Urswil', 'URSWIL', '', 'LU', ''); + CreatePostCode.InsertData('6281', 'Hochdorf', 'HOCHDORF', '', 'LU', ''); + CreatePostCode.InsertData('6283', 'Baldegg', 'BALDEGG', '', 'LU', ''); + CreatePostCode.InsertData('6284', 'Gelfingen', 'GELFINGEN', '', 'LU', ''); + CreatePostCode.InsertData('6284', 'Sulz LU', 'SULZ LU', '', 'LU', ''); + CreatePostCode.InsertData('6285', 'Hitzkirch', 'HITZKIRCH', '', 'LU', ''); + CreatePostCode.InsertData('6285', 'Retschwil', 'RETSCHWIL', '', 'LU', ''); + CreatePostCode.InsertData('6286', 'Altwis', 'ALTWIS', '', 'LU', ''); + CreatePostCode.InsertData('6287', 'Aesch LU', 'AESCH LU', '', 'LU', ''); + CreatePostCode.InsertData('6288', 'Schongau', 'SCHONGAU', '', 'LU', ''); + CreatePostCode.InsertData('6289', 'Hämikon', 'HÄMIKON', '', 'LU', ''); + CreatePostCode.InsertData('6289', 'Müswangen', 'MÜSWANGEN', '', 'LU', ''); + CreatePostCode.InsertData('6294', 'Ermensee', 'ERMENSEE', '', 'LU', ''); + CreatePostCode.InsertData('6295', 'Mosen', 'MOSEN', '', 'LU', ''); + CreatePostCode.InsertData('6300', 'Zug', 'ZUG', '', 'ZG', ''); + CreatePostCode.InsertData('6300', 'Zug 1', 'ZUG 1', '', 'ZG', ''); + CreatePostCode.InsertData('6300', 'Zugerberg', 'ZUGERBERG', '', 'ZG', ''); + CreatePostCode.InsertData('6301', 'Zug', 'ZUG', '', 'ZG', ''); + CreatePostCode.InsertData('6301', 'Zug SPS', 'ZUG SPS', '', 'ZG', ''); + CreatePostCode.InsertData('6302', 'Zug', 'ZUG', '', 'ZG', ''); + CreatePostCode.InsertData('6303', 'Zug', 'ZUG', '', 'ZG', ''); + CreatePostCode.InsertData('6304', 'Zug', 'ZUG', '', 'ZG', ''); + CreatePostCode.InsertData('6304', 'Zug Bahnhof SBB', 'ZUG BAHNHOF SBB', '', 'ZG', ''); + CreatePostCode.InsertData('6310', 'Zug Sonderdienste', 'ZUG SONDERDIENSTE', '', 'ZG', ''); + CreatePostCode.InsertData('6312', 'Steinhausen', 'STEINHAUSEN', '', 'ZG', ''); + CreatePostCode.InsertData('6313', 'Edlibach', 'EDLIBACH', '', 'ZG', ''); + CreatePostCode.InsertData('6313', 'Finstersee', 'FINSTERSEE', '', 'ZG', ''); + CreatePostCode.InsertData('6313', 'Menzingen', 'MENZINGEN', '', 'ZG', ''); + CreatePostCode.InsertData('6314', 'Neuägeri', 'NEUÄGERI', '', 'ZG', ''); + CreatePostCode.InsertData('6314', 'Unterägeri', 'UNTERÄGERI', '', 'ZG', ''); + CreatePostCode.InsertData('6314', 'Unterägeri Zustellung', 'UNTERÄGERI ZUSTELLUNG', '', 'ZG', ''); + CreatePostCode.InsertData('6315', 'Alosen', 'ALOSEN', '', 'ZG', ''); + CreatePostCode.InsertData('6315', 'Morgarten', 'MORGARTEN', '', 'ZG', ''); + CreatePostCode.InsertData('6315', 'Oberägeri', 'OBERÄGERI', '', 'ZG', ''); + CreatePostCode.InsertData('6317', 'Oberwil b. Zug', 'OBERWIL B. ZUG', '', 'ZG', ''); + CreatePostCode.InsertData('6318', 'Walchwil', 'WALCHWIL', '', 'ZG', ''); + CreatePostCode.InsertData('6319', 'Allenwinden', 'ALLENWINDEN', '', 'ZG', ''); + CreatePostCode.InsertData('6330', 'Cham', 'CHAM', '', 'ZG', ''); + CreatePostCode.InsertData('6330', 'Cham 1', 'CHAM 1', '', 'ZG', ''); + CreatePostCode.InsertData('6330', 'Cham 2', 'CHAM 2', '', 'ZG', ''); + CreatePostCode.InsertData('6330', 'Cham Zustellung', 'CHAM ZUSTELLUNG', '', 'ZG', ''); + CreatePostCode.InsertData('6331', 'Hünenberg', 'HÜNENBERG', '', 'ZG', ''); + CreatePostCode.InsertData('6331', 'Hünenberg Zustellung', 'HÜNENBERG ZUSTELLUNG', '', 'ZG', ''); + CreatePostCode.InsertData('6332', 'Hagendorn', 'HAGENDORN', '', 'ZG', ''); + CreatePostCode.InsertData('6333', 'Hünenberg See', 'HÜNENBERG SEE', '', 'ZG', ''); + CreatePostCode.InsertData('6340', 'Baar', 'BAAR', '', 'ZG', ''); + CreatePostCode.InsertData('6340', 'Sihlbrugg', 'SIHLBRUGG', '', 'ZG', ''); + CreatePostCode.InsertData('6341', 'Baar', 'BAAR', '', 'ZG', ''); + CreatePostCode.InsertData('6343', 'Buonas', 'BUONAS', '', 'ZG', ''); + CreatePostCode.InsertData('6343', 'Holzhäusern ZG', 'HOLZHÄUSERN ZG', '', 'ZG', ''); + CreatePostCode.InsertData('6343', 'Risch', 'RISCH', '', 'ZG', ''); + CreatePostCode.InsertData('6343', 'Rotkreuz', 'ROTKREUZ', '', 'ZG', ''); + CreatePostCode.InsertData('6343', 'Rotkreuz Bahnhof SBB', 'ROTKREUZ BAHNHOF SBB', '', 'ZG', ''); + CreatePostCode.InsertData('6343', 'Rotkreuz Zustellung', 'ROTKREUZ ZUSTELLUNG', '', 'ZG', ''); + CreatePostCode.InsertData('6344', 'Meierskappel', 'MEIERSKAPPEL', '', 'LU', ''); + CreatePostCode.InsertData('6345', 'Neuheim', 'NEUHEIM', '', 'ZG', ''); + CreatePostCode.InsertData('6346', 'Baar 3', 'BAAR 3', '', 'ZG', ''); + CreatePostCode.InsertData('6346', 'Baar 3 Dist Ba', 'BAAR 3 DIST BA', '', 'ZG', ''); + CreatePostCode.InsertData('6349', 'Baar Sonderdienste', 'BAAR SONDERDIENSTE', '', 'ZG', ''); + CreatePostCode.InsertData('6353', 'Weggis', 'WEGGIS', '', 'LU', ''); + CreatePostCode.InsertData('6354', 'Vitznau', 'VITZNAU', '', 'LU', ''); + CreatePostCode.InsertData('6356', 'Rigi Kaltbad', 'RIGI KALTBAD', '', 'LU', ''); + CreatePostCode.InsertData('6362', 'Stansstad', 'STANSSTAD', '', 'NW', ''); + CreatePostCode.InsertData('6363', 'Bürgenstock', 'BÜRGENSTOCK', '', 'NW', ''); + CreatePostCode.InsertData('6363', 'Fürigen', 'FÜRIGEN', '', 'NW', ''); + CreatePostCode.InsertData('6363', 'Obbürgen', 'OBBÜRGEN', '', 'NW', ''); + CreatePostCode.InsertData('6365', 'Kehrsiten', 'KEHRSITEN', '', 'NW', ''); + CreatePostCode.InsertData('6370', 'Oberdorf NW', 'OBERDORF NW', '', 'NW', ''); + CreatePostCode.InsertData('6370', 'Stans', 'STANS', '', 'NW', ''); + CreatePostCode.InsertData('6370', 'Stans Kaserne', 'STANS KASERNE', '', 'NW', ''); + CreatePostCode.InsertData('6370', 'Stans Zustellung', 'STANS ZUSTELLUNG', '', 'NW', ''); + CreatePostCode.InsertData('6371', 'Stans', 'STANS', '', 'NW', ''); + CreatePostCode.InsertData('6372', 'Ennetmoos', 'ENNETMOOS', '', 'NW', ''); + CreatePostCode.InsertData('6373', 'Ennetbürgen', 'ENNETBÜRGEN', '', 'NW', ''); + CreatePostCode.InsertData('6374', 'Buochs', 'BUOCHS', '', 'NW', ''); + CreatePostCode.InsertData('6374', 'Buochs Zustellung', 'BUOCHS ZUSTELLUNG', '', 'NW', ''); + CreatePostCode.InsertData('6375', 'Beckenried', 'BECKENRIED', '', 'NW', ''); + CreatePostCode.InsertData('6376', 'Emmetten', 'EMMETTEN', '', 'NW', ''); + CreatePostCode.InsertData('6377', 'Seelisberg', 'SEELISBERG', '', 'UR', ''); + CreatePostCode.InsertData('6382', 'Büren NW', 'BÜREN NW', '', 'NW', ''); + CreatePostCode.InsertData('6383', 'Dallenwil', 'DALLENWIL', '', 'NW', ''); + CreatePostCode.InsertData('6383', 'Niederrickenbach', 'NIEDERRICKENBACH', '', 'NW', ''); + CreatePostCode.InsertData('6383', 'Wiesenberg', 'WIESENBERG', '', 'NW', ''); + CreatePostCode.InsertData('6383', 'Wirzweli', 'WIRZWELI', '', 'NW', ''); + CreatePostCode.InsertData('6386', 'Wolfenschiessen', 'WOLFENSCHIESSEN', '', 'NW', ''); + CreatePostCode.InsertData('6387', 'Oberrickenbach', 'OBERRICKENBACH', '', 'NW', ''); + CreatePostCode.InsertData('6388', 'Grafenort', 'GRAFENORT', '', 'OW', ''); + CreatePostCode.InsertData('6390', 'Engelberg', 'ENGELBERG', '', 'OW', ''); + CreatePostCode.InsertData('6390', 'Engelberg Zustellung', 'ENGELBERG ZUSTELLUNG', '', 'OW', ''); + CreatePostCode.InsertData('6391', 'Engelberg', 'ENGELBERG', '', 'OW', ''); + CreatePostCode.InsertData('6402', 'Merlischachen', 'MERLISCHACHEN', '', 'SZ', ''); + CreatePostCode.InsertData('6403', 'Küssnacht am Rigi', 'KÜSSNACHT AM RIGI', '', 'SZ', ''); + CreatePostCode.InsertData('6403', 'Küssnacht am Rigi Zust', 'KÜSSNACHT AM RIGI ZUST', '', 'SZ', ''); + CreatePostCode.InsertData('6404', 'Greppen', 'GREPPEN', '', 'LU', ''); + CreatePostCode.InsertData('6405', 'Immensee', 'IMMENSEE', '', 'SZ', ''); + CreatePostCode.InsertData('6410', 'Goldau', 'GOLDAU', '', 'SZ', ''); + CreatePostCode.InsertData('6410', 'Goldau Zustellung', 'GOLDAU ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('6410', 'Rigi Klösterli', 'RIGI KLÖSTERLI', '', 'SZ', ''); + CreatePostCode.InsertData('6410', 'Rigi Kulm', 'RIGI KULM', '', 'SZ', ''); + CreatePostCode.InsertData('6410', 'Rigi Scheidegg', 'RIGI SCHEIDEGG', '', 'SZ', ''); + CreatePostCode.InsertData('6410', 'Rigi Staffel', 'RIGI STAFFEL', '', 'SZ', ''); + CreatePostCode.InsertData('6414', 'Oberarth', 'OBERARTH', '', 'SZ', ''); + CreatePostCode.InsertData('6415', 'Arth', 'ARTH', '', 'SZ', ''); + CreatePostCode.InsertData('6416', 'Steinerberg', 'STEINERBERG', '', 'SZ', ''); + CreatePostCode.InsertData('6417', 'Sattel', 'SATTEL', '', 'SZ', ''); + CreatePostCode.InsertData('6418', 'Rothenthurm', 'ROTHENTHURM', '', 'SZ', ''); + CreatePostCode.InsertData('6422', 'Steinen', 'STEINEN', '', 'SZ', ''); + CreatePostCode.InsertData('6422', 'Steinen Zustellung', 'STEINEN ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('6423', 'Seewen SZ', 'SEEWEN SZ', '', 'SZ', ''); + CreatePostCode.InsertData('6424', 'Lauerz', 'LAUERZ', '', 'SZ', ''); + CreatePostCode.InsertData('6430', 'Schwyz', 'SCHWYZ', '', 'SZ', ''); + CreatePostCode.InsertData('6430', 'Schwyz Kantonalbank', 'SCHWYZ KANTONALBANK', '', 'SZ', ''); + CreatePostCode.InsertData('6430', 'Schwyz Zustellung', 'SCHWYZ ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('6431', 'Schwyz', 'SCHWYZ', '', 'SZ', ''); + CreatePostCode.InsertData('6432', 'Rickenbach b. Schwyz', 'RICKENBACH B. SCHWYZ', '', 'SZ', ''); + CreatePostCode.InsertData('6433', 'Stoos SZ', 'STOOS SZ', '', 'SZ', ''); + CreatePostCode.InsertData('6434', 'Illgau', 'ILLGAU', '', 'SZ', ''); + CreatePostCode.InsertData('6436', 'Bisisthal', 'BISISTHAL', '', 'SZ', ''); + CreatePostCode.InsertData('6436', 'Muotathal', 'MUOTATHAL', '', 'SZ', ''); + CreatePostCode.InsertData('6436', 'Ried (Muotathal)', 'RIED (MUOTATHAL)', '', 'SZ', ''); + CreatePostCode.InsertData('6438', 'Ibach', 'IBACH', '', 'SZ', ''); + CreatePostCode.InsertData('6440', 'Brunnen', 'BRUNNEN', '', 'SZ', ''); + CreatePostCode.InsertData('6440', 'Brunnen Bahnhof SBB', 'BRUNNEN BAHNHOF SBB', '', 'SZ', ''); + CreatePostCode.InsertData('6440', 'Brunnen Zustellung', 'BRUNNEN ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('6441', 'Rütli', 'RÜTLI', '', 'UR', ''); + CreatePostCode.InsertData('6442', 'Gersau', 'GERSAU', '', 'SZ', ''); + CreatePostCode.InsertData('6443', 'Morschach', 'MORSCHACH', '', 'SZ', ''); + CreatePostCode.InsertData('6452', 'Riemenstalden', 'RIEMENSTALDEN', '', 'SZ', ''); + CreatePostCode.InsertData('6452', 'Sisikon', 'SISIKON', '', 'UR', ''); + CreatePostCode.InsertData('6454', 'Flüelen', 'FLÜELEN', '', 'UR', ''); + CreatePostCode.InsertData('6460', 'Altdorf UR', 'ALTDORF UR', '', 'UR', ''); + CreatePostCode.InsertData('6460', 'Altdorf UR 1', 'ALTDORF UR 1', '', 'UR', ''); + CreatePostCode.InsertData('6460', 'Altdorf UR 2', 'ALTDORF UR 2', '', 'UR', ''); + CreatePostCode.InsertData('6460', 'Altdorf UR 2 Rynächt', 'ALTDORF UR 2 RYNÄCHT', '', 'UR', ''); + CreatePostCode.InsertData('6460', 'Altdorf UR 2 Zustellung', 'ALTDORF UR 2 ZUSTELLUNG', '', 'UR', ''); + CreatePostCode.InsertData('6461', 'Isenthal', 'ISENTHAL', '', 'UR', ''); + CreatePostCode.InsertData('6462', 'Seedorf UR', 'SEEDORF UR', '', 'UR', ''); + CreatePostCode.InsertData('6463', 'Bürglen UR', 'BÜRGLEN UR', '', 'UR', ''); + CreatePostCode.InsertData('6464', 'Spiringen', 'SPIRINGEN', '', 'UR', ''); + CreatePostCode.InsertData('6465', 'Unterschächen', 'UNTERSCHÄCHEN', '', 'UR', ''); + CreatePostCode.InsertData('6466', 'Bauen', 'BAUEN', '', 'UR', ''); + CreatePostCode.InsertData('6467', 'Schattdorf', 'SCHATTDORF', '', 'UR', ''); + CreatePostCode.InsertData('6468', 'Attinghausen', 'ATTINGHAUSEN', '', 'UR', ''); + CreatePostCode.InsertData('6469', 'Haldi b. Schattdorf', 'HALDI B. SCHATTDORF', '', 'UR', ''); + CreatePostCode.InsertData('6472', 'Erstfeld', 'ERSTFELD', '', 'UR', ''); + CreatePostCode.InsertData('6473', 'Silenen', 'SILENEN', '', 'UR', ''); + CreatePostCode.InsertData('6474', 'Amsteg', 'AMSTEG', '', 'UR', ''); + CreatePostCode.InsertData('6475', 'Bristen', 'BRISTEN', '', 'UR', ''); + CreatePostCode.InsertData('6476', 'Intschi', 'INTSCHI', '', 'UR', ''); + CreatePostCode.InsertData('6482', 'Gurtnellen', 'GURTNELLEN', '', 'UR', ''); + CreatePostCode.InsertData('6484', 'Wassen UR', 'WASSEN UR', '', 'UR', ''); + CreatePostCode.InsertData('6485', 'Meien', 'MEIEN', '', 'UR', ''); + CreatePostCode.InsertData('6487', 'Göschenen', 'GÖSCHENEN', '', 'UR', ''); + CreatePostCode.InsertData('6490', 'Andermatt', 'ANDERMATT', '', 'UR', ''); + CreatePostCode.InsertData('6491', 'Realp', 'REALP', '', 'UR', ''); + CreatePostCode.InsertData('6493', 'Hospental', 'HOSPENTAL', '', 'UR', ''); + CreatePostCode.InsertData('6500', 'Bellinzona', 'BELLINZONA', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona 1', 'BELLINZONA 1', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona 2', 'BELLINZONA 2', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona 4', 'BELLINZONA 4', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona 5', 'BELLINZONA 5', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona Caserma', 'BELLINZONA CASERMA', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona centro servici', 'BELLINZONA CENTRO SERVICI', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona Distribuzione', 'BELLINZONA DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona Stazione FFS', 'BELLINZONA STAZIONE FFS', '', 'TI', ''); + CreatePostCode.InsertData('6500', 'Bellinzona VZ', 'BELLINZONA VZ', '', 'TI', ''); + CreatePostCode.InsertData('6501', 'Bellinzona', 'BELLINZONA', '', 'TI', ''); + CreatePostCode.InsertData('6501', 'Bellinzona SPS', 'BELLINZONA SPS', '', 'TI', ''); + CreatePostCode.InsertData('6503', 'Bellinzona', 'BELLINZONA', '', 'TI', ''); + CreatePostCode.InsertData('6506', 'Bellinzona 6 Autopostale TI', 'BELLINZONA 6 AUTOPOSTALE TI', '', 'TI', ''); + CreatePostCode.InsertData('6511', 'Cadenazzo Scanning-Center', 'CADENAZZO SCANNING-CENTER', '', 'TI', ''); + CreatePostCode.InsertData('6512', 'Giubiasco', 'GIUBIASCO', '', 'TI', ''); + CreatePostCode.InsertData('6513', 'Monte Carasso', 'MONTE CARASSO', '', 'TI', ''); + CreatePostCode.InsertData('6514', 'Sementina', 'SEMENTINA', '', 'TI', ''); + CreatePostCode.InsertData('6515', 'Gudo', 'GUDO', '', 'TI', ''); + CreatePostCode.InsertData('6516', 'Cugnasco', 'CUGNASCO', '', 'TI', ''); + CreatePostCode.InsertData('6517', 'Arbedo', 'ARBEDO', '', 'TI', ''); + CreatePostCode.InsertData('6518', 'Gorduno', 'GORDUNO', '', 'TI', ''); + CreatePostCode.InsertData('6523', 'Preonzo', 'PREONZO', '', 'TI', ''); + CreatePostCode.InsertData('6524', 'Moleno', 'MOLENO', '', 'TI', ''); + CreatePostCode.InsertData('6525', 'Gnosca', 'GNOSCA', '', 'TI', ''); + CreatePostCode.InsertData('6526', 'Prosito', 'PROSITO', '', 'TI', ''); + CreatePostCode.InsertData('6527', 'Lodrino', 'LODRINO', '', 'TI', ''); + CreatePostCode.InsertData('6528', 'Camorino', 'CAMORINO', '', 'TI', ''); + CreatePostCode.InsertData('6532', 'Castione', 'CASTIONE', '', 'TI', ''); + CreatePostCode.InsertData('6533', 'Lumino', 'LUMINO', '', 'TI', ''); + CreatePostCode.InsertData('6534', 'S. Vittore', 'S. VITTORE', '', 'GR', ''); + CreatePostCode.InsertData('6535', 'Roveredo GR', 'ROVEREDO GR', '', 'GR', ''); + CreatePostCode.InsertData('6537', 'Grono', 'GRONO', '', 'GR', ''); + CreatePostCode.InsertData('6538', 'Verdabbio', 'VERDABBIO', '', 'GR', ''); + CreatePostCode.InsertData('6540', 'Castaneda', 'CASTANEDA', '', 'GR', ''); + CreatePostCode.InsertData('6541', 'Sta. Maria in Calanca', 'STA. MARIA IN CALANCA', '', 'GR', ''); + CreatePostCode.InsertData('6542', 'Buseno', 'BUSENO', '', 'GR', ''); + CreatePostCode.InsertData('6543', 'Arvigo', 'ARVIGO', '', 'GR', ''); + CreatePostCode.InsertData('6544', 'Braggio', 'BRAGGIO', '', 'GR', ''); + CreatePostCode.InsertData('6545', 'Selma', 'SELMA', '', 'GR', ''); + CreatePostCode.InsertData('6546', 'Cauco', 'CAUCO', '', 'GR', ''); + CreatePostCode.InsertData('6547', 'Augio', 'AUGIO', '', 'GR', ''); + CreatePostCode.InsertData('6548', 'Rossa', 'ROSSA', '', 'GR', ''); + CreatePostCode.InsertData('6549', 'Laura', 'LAURA', '', 'GR', ''); + CreatePostCode.InsertData('6556', 'Leggia', 'LEGGIA', '', 'GR', ''); + CreatePostCode.InsertData('6557', 'Cama', 'CAMA', '', 'GR', ''); + CreatePostCode.InsertData('6558', 'Cabbiolo', 'CABBIOLO', '', 'GR', ''); + CreatePostCode.InsertData('6558', 'Lostallo', 'LOSTALLO', '', 'GR', ''); + CreatePostCode.InsertData('6562', 'Soazza', 'SOAZZA', '', 'GR', ''); + CreatePostCode.InsertData('6563', 'Mesocco', 'MESOCCO', '', 'GR', ''); + CreatePostCode.InsertData('6565', 'S. Bernardino', 'S. BERNARDINO', '', 'GR', ''); + CreatePostCode.InsertData('6571', 'Indemini', 'INDEMINI', '', 'TI', ''); + CreatePostCode.InsertData('6572', 'Quartino', 'QUARTINO', '', 'TI', ''); + CreatePostCode.InsertData('6573', 'Magadino', 'MAGADINO', '', 'TI', ''); + CreatePostCode.InsertData('6574', 'Vira (Gambarogno)', 'VIRA (GAMBAROGNO)', '', 'TI', ''); + CreatePostCode.InsertData('6575', 'S. Nazzaro', 'S. NAZZARO', '', 'TI', ''); + CreatePostCode.InsertData('6575', 'Vairano', 'VAIRANO', '', 'TI', ''); + CreatePostCode.InsertData('6576', 'Gerra (Gambarogno)', 'GERRA (GAMBAROGNO)', '', 'TI', ''); + CreatePostCode.InsertData('6577', 'Ranzo', 'RANZO', '', 'TI', ''); + CreatePostCode.InsertData('6578', 'Caviano', 'CAVIANO', '', 'TI', ''); + CreatePostCode.InsertData('6579', 'Piazzogna', 'PIAZZOGNA', '', 'TI', ''); + CreatePostCode.InsertData('6582', 'Pianezzo', 'PIANEZZO', '', 'TI', ''); + CreatePostCode.InsertData('6583', 'S. Antonio (Val Morobbia)', 'S. ANTONIO (VAL MOROBBIA)', '', 'TI', ''); + CreatePostCode.InsertData('6584', 'Carena', 'CARENA', '', 'TI', ''); + CreatePostCode.InsertData('6590', 'Cadenazzo Centro logistico', 'CADENAZZO CENTRO LOGISTICO', '', 'TI', ''); + CreatePostCode.InsertData('6590', 'Cadenazzo CLL AP', 'CADENAZZO CLL AP', '', 'TI', ''); + CreatePostCode.InsertData('6592', 'S. Antonino', 'S. ANTONINO', '', 'TI', ''); + CreatePostCode.InsertData('6593', 'Cadenazzo', 'CADENAZZO', '', 'TI', ''); + CreatePostCode.InsertData('6593', 'Cadenazzo Dist Ba', 'CADENAZZO DIST BA', '', 'TI', ''); + CreatePostCode.InsertData('6593', 'Cadenazzo Distribuzione', 'CADENAZZO DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6593', 'Cadenazzo PL3', 'CADENAZZO PL3', '', 'TI', ''); + CreatePostCode.InsertData('6594', 'Contone', 'CONTONE', '', 'TI', ''); + CreatePostCode.InsertData('6595', 'Riazzino', 'RIAZZINO', '', 'TI', ''); + CreatePostCode.InsertData('6595', 'Riazzino Distribuzione', 'RIAZZINO DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6596', 'Gordola', 'GORDOLA', '', 'TI', ''); + CreatePostCode.InsertData('6597', 'Agarone', 'AGARONE', '', 'TI', ''); + CreatePostCode.InsertData('6598', 'Tenero', 'TENERO', '', 'TI', ''); + CreatePostCode.InsertData('6599', 'Robasacco', 'ROBASACCO', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Locarno', 'LOCARNO', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Locarno 1', 'LOCARNO 1', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Locarno 3 Stazione Autopost', 'LOCARNO 3 STAZIONE AUTOPOST', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Locarno 4 Solduno', 'LOCARNO 4 SOLDUNO', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Locarno Distribuzione', 'LOCARNO DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Locarno Stazione FFS', 'LOCARNO STAZIONE FFS', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Muralto', 'MURALTO', '', 'TI', ''); + CreatePostCode.InsertData('6600', 'Solduno', 'SOLDUNO', '', 'TI', ''); + CreatePostCode.InsertData('6601', 'Locarno', 'LOCARNO', '', 'TI', ''); + CreatePostCode.InsertData('6601', 'Locarno SPS', 'LOCARNO SPS', '', 'TI', ''); + CreatePostCode.InsertData('6602', 'Muralto', 'MURALTO', '', 'TI', ''); + CreatePostCode.InsertData('6604', 'Locarno', 'LOCARNO', '', 'TI', ''); + CreatePostCode.InsertData('6605', 'Locarno', 'LOCARNO', '', 'TI', ''); + CreatePostCode.InsertData('6605', 'Monte Brè sopra Locarno', 'MONTE BRÈ SOPRA LOCARNO', '', 'TI', ''); + CreatePostCode.InsertData('6611', 'Crana', 'CRANA', '', 'TI', ''); + CreatePostCode.InsertData('6611', 'Gresso', 'GRESSO', '', 'TI', ''); + CreatePostCode.InsertData('6611', 'Mosogno', 'MOSOGNO', '', 'TI', ''); + CreatePostCode.InsertData('6612', 'Ascona', 'ASCONA', '', 'TI', ''); + CreatePostCode.InsertData('6613', 'Porto Ronco', 'PORTO RONCO', '', 'TI', ''); + CreatePostCode.InsertData('6614', 'Brissago', 'BRISSAGO', '', 'TI', ''); + CreatePostCode.InsertData('6614', 'Isole di Brissago', 'ISOLE DI BRISSAGO', '', 'TI', ''); + CreatePostCode.InsertData('6616', 'Losone', 'LOSONE', '', 'TI', ''); + CreatePostCode.InsertData('6616', 'Losone Caserma', 'LOSONE CASERMA', '', 'TI', ''); + CreatePostCode.InsertData('6618', 'Arcegno', 'ARCEGNO', '', 'TI', ''); + CreatePostCode.InsertData('6622', 'Ronco sopra Ascona', 'RONCO SOPRA ASCONA', '', 'TI', ''); + CreatePostCode.InsertData('6631', 'Corippo', 'CORIPPO', '', 'TI', ''); + CreatePostCode.InsertData('6632', 'Vogorno', 'VOGORNO', '', 'TI', ''); + CreatePostCode.InsertData('6633', 'Lavertezzo', 'LAVERTEZZO', '', 'TI', ''); + CreatePostCode.InsertData('6634', 'Brione (Verzasca)', 'BRIONE (VERZASCA)', '', 'TI', ''); + CreatePostCode.InsertData('6635', 'Gerra (Verzasca)', 'GERRA (VERZASCA)', '', 'TI', ''); + CreatePostCode.InsertData('6636', 'Frasco', 'FRASCO', '', 'TI', ''); + CreatePostCode.InsertData('6637', 'Sonogno', 'SONOGNO', '', 'TI', ''); + CreatePostCode.InsertData('6644', 'Orselina', 'ORSELINA', '', 'TI', ''); + CreatePostCode.InsertData('6645', 'Brione sopra Minusio', 'BRIONE SOPRA MINUSIO', '', 'TI', ''); + CreatePostCode.InsertData('6646', 'Contra', 'CONTRA', '', 'TI', ''); + CreatePostCode.InsertData('6647', 'Mergoscia', 'MERGOSCIA', '', 'TI', ''); + CreatePostCode.InsertData('6648', 'Minusio', 'MINUSIO', '', 'TI', ''); + CreatePostCode.InsertData('6652', 'Tegna', 'TEGNA', '', 'TI', ''); + CreatePostCode.InsertData('6653', 'Verscio', 'VERSCIO', '', 'TI', ''); + CreatePostCode.InsertData('6654', 'Cavigliano', 'CAVIGLIANO', '', 'TI', ''); + CreatePostCode.InsertData('6655', 'Intragna', 'INTRAGNA', '', 'TI', ''); + CreatePostCode.InsertData('6655', 'Rasa', 'RASA', '', 'TI', ''); + CreatePostCode.InsertData('6655', 'Verdasio', 'VERDASIO', '', 'TI', ''); + CreatePostCode.InsertData('6656', 'Golino', 'GOLINO', '', 'TI', ''); + CreatePostCode.InsertData('6657', 'Palagnedra', 'PALAGNEDRA', '', 'TI', ''); + CreatePostCode.InsertData('6658', 'Borgnone', 'BORGNONE', '', 'TI', ''); + CreatePostCode.InsertData('6659', 'Camedo', 'CAMEDO', '', 'TI', ''); + CreatePostCode.InsertData('6659', 'Moneto', 'MONETO', '', 'TI', ''); + CreatePostCode.InsertData('6661', 'Auressio', 'AURESSIO', '', 'TI', ''); + CreatePostCode.InsertData('6661', 'Berzona', 'BERZONA', '', 'TI', ''); + CreatePostCode.InsertData('6661', 'Loco', 'LOCO', '', 'TI', ''); + CreatePostCode.InsertData('6662', 'Russo', 'RUSSO', '', 'TI', ''); + CreatePostCode.InsertData('6663', 'Comologno', 'COMOLOGNO', '', 'TI', ''); + CreatePostCode.InsertData('6663', 'Spruga', 'SPRUGA', '', 'TI', ''); + CreatePostCode.InsertData('6664', 'Vergeletto', 'VERGELETTO', '', 'TI', ''); + CreatePostCode.InsertData('6670', 'Avegno', 'AVEGNO', '', 'TI', ''); + CreatePostCode.InsertData('6672', 'Gordevio', 'GORDEVIO', '', 'TI', ''); + CreatePostCode.InsertData('6673', 'Maggia', 'MAGGIA', '', 'TI', ''); + CreatePostCode.InsertData('6674', 'Riveo', 'RIVEO', '', 'TI', ''); + CreatePostCode.InsertData('6674', 'Someo', 'SOMEO', '', 'TI', ''); + CreatePostCode.InsertData('6675', 'Cevio', 'CEVIO', '', 'TI', ''); + CreatePostCode.InsertData('6676', 'Bignasco', 'BIGNASCO', '', 'TI', ''); + CreatePostCode.InsertData('6677', 'Aurigeno', 'AURIGENO', '', 'TI', ''); + CreatePostCode.InsertData('6677', 'Moghegno', 'MOGHEGNO', '', 'TI', ''); + CreatePostCode.InsertData('6678', 'Coglio', 'COGLIO', '', 'TI', ''); + CreatePostCode.InsertData('6678', 'Giumaglio', 'GIUMAGLIO', '', 'TI', ''); + CreatePostCode.InsertData('6678', 'Lodano', 'LODANO', '', 'TI', ''); + CreatePostCode.InsertData('6682', 'Linescio', 'LINESCIO', '', 'TI', ''); + CreatePostCode.InsertData('6683', 'Cerentino', 'CERENTINO', '', 'TI', ''); + CreatePostCode.InsertData('6683', 'Niva (Vallemaggia)', 'NIVA (VALLEMAGGIA)', '', 'TI', ''); + CreatePostCode.InsertData('6684', 'Campo (Vallemaggia)', 'CAMPO (VALLEMAGGIA)', '', 'TI', ''); + CreatePostCode.InsertData('6684', 'Cimalmotto', 'CIMALMOTTO', '', 'TI', ''); + CreatePostCode.InsertData('6685', 'Bosco/Gurin', 'BOSCO/GURIN', '', 'TI', ''); + CreatePostCode.InsertData('6690', 'Cavergno', 'CAVERGNO', '', 'TI', ''); + CreatePostCode.InsertData('6690', 'S. Carlo (Val Bavona)', 'S. CARLO (VAL BAVONA)', '', 'TI', ''); + CreatePostCode.InsertData('6692', 'Brontallo', 'BRONTALLO', '', 'TI', ''); + CreatePostCode.InsertData('6692', 'Menzonio', 'MENZONIO', '', 'TI', ''); + CreatePostCode.InsertData('6693', 'Broglio', 'BROGLIO', '', 'TI', ''); + CreatePostCode.InsertData('6694', 'Prato-Sornico', 'PRATO-SORNICO', '', 'TI', ''); + CreatePostCode.InsertData('6695', 'Peccia', 'PECCIA', '', 'TI', ''); + CreatePostCode.InsertData('6695', 'Piano di Peccia', 'PIANO DI PECCIA', '', 'TI', ''); + CreatePostCode.InsertData('6696', 'Fusio', 'FUSIO', '', 'TI', ''); + CreatePostCode.InsertData('6702', 'Claro', 'CLARO', '', 'TI', ''); + CreatePostCode.InsertData('6703', 'Osogna', 'OSOGNA', '', 'TI', ''); + CreatePostCode.InsertData('6705', 'Cresciano', 'CRESCIANO', '', 'TI', ''); + CreatePostCode.InsertData('6707', 'Iragna', 'IRAGNA', '', 'TI', ''); + CreatePostCode.InsertData('6710', 'Biasca', 'BIASCA', '', 'TI', ''); + CreatePostCode.InsertData('6710', 'Biasca Distribuzione', 'BIASCA DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6710', 'Biasca Stazione', 'BIASCA STAZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6713', 'Malvaglia', 'MALVAGLIA', '', 'TI', ''); + CreatePostCode.InsertData('6714', 'Semione', 'SEMIONE', '', 'TI', ''); + CreatePostCode.InsertData('6715', 'Dongio', 'DONGIO', '', 'TI', ''); + CreatePostCode.InsertData('6716', 'Acquarossa', 'ACQUAROSSA', '', 'TI', ''); + CreatePostCode.InsertData('6716', 'Leontica', 'LEONTICA', '', 'TI', ''); + CreatePostCode.InsertData('6716', 'Lottigna', 'LOTTIGNA', '', 'TI', ''); + CreatePostCode.InsertData('6717', 'Dangio', 'DANGIO', '', 'TI', ''); + CreatePostCode.InsertData('6717', 'Torre', 'TORRE', '', 'TI', ''); + CreatePostCode.InsertData('6718', 'Camperio', 'CAMPERIO', '', 'TI', ''); + CreatePostCode.InsertData('6718', 'Olivone', 'OLIVONE', '', 'TI', ''); + CreatePostCode.InsertData('6719', 'Aquila', 'AQUILA', '', 'TI', ''); + CreatePostCode.InsertData('6720', 'Campo (Blenio)', 'CAMPO (BLENIO)', '', 'TI', ''); + CreatePostCode.InsertData('6720', 'Ghirone', 'GHIRONE', '', 'TI', ''); + CreatePostCode.InsertData('6721', 'Ludiano', 'LUDIANO', '', 'TI', ''); + CreatePostCode.InsertData('6721', 'Motto (Blenio)', 'MOTTO (BLENIO)', '', 'TI', ''); + CreatePostCode.InsertData('6722', 'Corzoneso', 'CORZONESO', '', 'TI', ''); + CreatePostCode.InsertData('6723', 'Castro', 'CASTRO', '', 'TI', ''); + CreatePostCode.InsertData('6723', 'Marolta', 'MAROLTA', '', 'TI', ''); + CreatePostCode.InsertData('6723', 'Prugiasco', 'PRUGIASCO', '', 'TI', ''); + CreatePostCode.InsertData('6724', 'Largario', 'LARGARIO', '', 'TI', ''); + CreatePostCode.InsertData('6724', 'Ponto Valentino', 'PONTO VALENTINO', '', 'TI', ''); + CreatePostCode.InsertData('6742', 'Pollegio', 'POLLEGIO', '', 'TI', ''); + CreatePostCode.InsertData('6743', 'Bodio TI', 'BODIO TI', '', 'TI', ''); + CreatePostCode.InsertData('6744', 'Personico', 'PERSONICO', '', 'TI', ''); + CreatePostCode.InsertData('6745', 'Giornico', 'GIORNICO', '', 'TI', ''); + CreatePostCode.InsertData('6746', 'Calonico', 'CALONICO', '', 'TI', ''); + CreatePostCode.InsertData('6746', 'Lavorgo', 'LAVORGO', '', 'TI', ''); + CreatePostCode.InsertData('6746', 'Nivo', 'NIVO', '', 'TI', ''); + CreatePostCode.InsertData('6747', 'Chironico', 'CHIRONICO', '', 'TI', ''); + CreatePostCode.InsertData('6748', 'Anzonico', 'ANZONICO', '', 'TI', ''); + CreatePostCode.InsertData('6749', 'Cavagnago', 'CAVAGNAGO', '', 'TI', ''); + CreatePostCode.InsertData('6749', 'Sobrio', 'SOBRIO', '', 'TI', ''); + CreatePostCode.InsertData('6760', 'Calpiogna', 'CALPIOGNA', '', 'TI', ''); + CreatePostCode.InsertData('6760', 'Campello', 'CAMPELLO', '', 'TI', ''); + CreatePostCode.InsertData('6760', 'Carì', 'CARÌ', '', 'TI', ''); + CreatePostCode.InsertData('6760', 'Faido', 'FAIDO', '', 'TI', ''); + CreatePostCode.InsertData('6760', 'Molare', 'MOLARE', '', 'TI', ''); + CreatePostCode.InsertData('6760', 'Rossura', 'ROSSURA', '', 'TI', ''); + CreatePostCode.InsertData('6763', 'Mairengo', 'MAIRENGO', '', 'TI', ''); + CreatePostCode.InsertData('6763', 'Osco', 'OSCO', '', 'TI', ''); + CreatePostCode.InsertData('6764', 'Chiggiogna', 'CHIGGIOGNA', '', 'TI', ''); + CreatePostCode.InsertData('6772', 'Rodi-Fiesso', 'RODI-FIESSO', '', 'TI', ''); + CreatePostCode.InsertData('6773', 'Prato (Leventina)', 'PRATO (LEVENTINA)', '', 'TI', ''); + CreatePostCode.InsertData('6774', 'Dalpe', 'DALPE', '', 'TI', ''); + CreatePostCode.InsertData('6775', 'Ambrì', 'AMBRÌ', '', 'TI', ''); + CreatePostCode.InsertData('6776', 'Piotta', 'PIOTTA', '', 'TI', ''); + CreatePostCode.InsertData('6777', 'Quinto', 'QUINTO', '', 'TI', ''); + CreatePostCode.InsertData('6777', 'Varenzo', 'VARENZO', '', 'TI', ''); + CreatePostCode.InsertData('6780', 'Airolo', 'AIROLO', '', 'TI', ''); + CreatePostCode.InsertData('6780', 'Airolo Caserma', 'AIROLO CASERMA', '', 'TI', ''); + CreatePostCode.InsertData('6780', 'Madrano', 'MADRANO', '', 'TI', ''); + CreatePostCode.InsertData('6781', 'Bedretto', 'BEDRETTO', '', 'TI', ''); + CreatePostCode.InsertData('6781', 'Villa Bedretto', 'VILLA BEDRETTO', '', 'TI', ''); + CreatePostCode.InsertData('6802', 'Rivera', 'RIVERA', '', 'TI', ''); + CreatePostCode.InsertData('6802', 'Rivera Caserma', 'RIVERA CASERMA', '', 'TI', ''); + CreatePostCode.InsertData('6803', 'Camignolo', 'CAMIGNOLO', '', 'TI', ''); + CreatePostCode.InsertData('6804', 'Bironico', 'BIRONICO', '', 'TI', ''); + CreatePostCode.InsertData('6805', 'Mezzovico', 'MEZZOVICO', '', 'TI', ''); + CreatePostCode.InsertData('6806', 'Sigirino', 'SIGIRINO', '', 'TI', ''); + CreatePostCode.InsertData('6807', 'Taverne', 'TAVERNE', '', 'TI', ''); + CreatePostCode.InsertData('6808', 'Torricella', 'TORRICELLA', '', 'TI', ''); + CreatePostCode.InsertData('6809', 'Medeglia', 'MEDEGLIA', '', 'TI', ''); + CreatePostCode.InsertData('6810', 'Isone', 'ISONE', '', 'TI', ''); + CreatePostCode.InsertData('6810', 'Isone Caserma', 'ISONE CASERMA', '', 'TI', ''); + CreatePostCode.InsertData('6814', 'Cadempino', 'CADEMPINO', '', 'TI', ''); + CreatePostCode.InsertData('6814', 'Lamone', 'LAMONE', '', 'TI', ''); + CreatePostCode.InsertData('6814', 'Lamone-Cadempino', 'LAMONE-CADEMPINO', '', 'TI', ''); + CreatePostCode.InsertData('6815', 'Melide', 'MELIDE', '', 'TI', ''); + CreatePostCode.InsertData('6816', 'Bissone', 'BISSONE', '', 'TI', ''); + CreatePostCode.InsertData('6817', 'Maroggia', 'MAROGGIA', '', 'TI', ''); + CreatePostCode.InsertData('6818', 'Melano', 'MELANO', '', 'TI', ''); + CreatePostCode.InsertData('6821', 'Rovio', 'ROVIO', '', 'TI', ''); + CreatePostCode.InsertData('6822', 'Arogno', 'AROGNO', '', 'TI', ''); + CreatePostCode.InsertData('6823', 'Pugerna', 'PUGERNA', '', 'TI', ''); + CreatePostCode.InsertData('6825', 'Capolago', 'CAPOLAGO', '', 'TI', ''); + CreatePostCode.InsertData('6826', 'Riva San Vitale', 'RIVA SAN VITALE', '', 'TI', ''); + CreatePostCode.InsertData('6827', 'Brusino Arsizio', 'BRUSINO ARSIZIO', '', 'TI', ''); + CreatePostCode.InsertData('6828', 'Balerna', 'BALERNA', '', 'TI', ''); + CreatePostCode.InsertData('6830', 'Chiasso', 'CHIASSO', '', 'TI', ''); + CreatePostCode.InsertData('6830', 'Chiasso 1', 'CHIASSO 1', '', 'TI', ''); + CreatePostCode.InsertData('6830', 'Chiasso 1 ZF', 'CHIASSO 1 ZF', '', 'TI', ''); + CreatePostCode.InsertData('6830', 'Chiasso 3', 'CHIASSO 3', '', 'TI', ''); + CreatePostCode.InsertData('6830', 'Chiasso SPS', 'CHIASSO SPS', '', 'TI', ''); + CreatePostCode.InsertData('6830', 'Chiasso Stazione FFS', 'CHIASSO STAZIONE FFS', '', 'TI', ''); + CreatePostCode.InsertData('6832', 'Pedrinate', 'PEDRINATE', '', 'TI', ''); + CreatePostCode.InsertData('6832', 'Seseglio', 'SESEGLIO', '', 'TI', ''); + CreatePostCode.InsertData('6833', 'Vacallo', 'VACALLO', '', 'TI', ''); + CreatePostCode.InsertData('6834', 'Morbio Inferiore', 'MORBIO INFERIORE', '', 'TI', ''); + CreatePostCode.InsertData('6835', 'Morbio Superiore', 'MORBIO SUPERIORE', '', 'TI', ''); + CreatePostCode.InsertData('6836', 'Serfontana', 'SERFONTANA', '', 'TI', ''); + CreatePostCode.InsertData('6837', 'Bruzella', 'BRUZELLA', '', 'TI', ''); + CreatePostCode.InsertData('6837', 'Caneggio', 'CANEGGIO', '', 'TI', ''); + CreatePostCode.InsertData('6838', 'Cabbio', 'CABBIO', '', 'TI', ''); + CreatePostCode.InsertData('6838', 'Muggio', 'MUGGIO', '', 'TI', ''); + CreatePostCode.InsertData('6838', 'Scudellate', 'SCUDELLATE', '', 'TI', ''); + CreatePostCode.InsertData('6839', 'Sagno', 'SAGNO', '', 'TI', ''); + CreatePostCode.InsertData('6850', 'Mendrisio', 'MENDRISIO', '', 'TI', ''); + CreatePostCode.InsertData('6850', 'Mendrisio Borgo', 'MENDRISIO BORGO', '', 'TI', ''); + CreatePostCode.InsertData('6850', 'Mendrisio Distribuzione', 'MENDRISIO DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6850', 'Mendrisio Stazione', 'MENDRISIO STAZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6852', 'Genestrerio', 'GENESTRERIO', '', 'TI', ''); + CreatePostCode.InsertData('6853', 'Ligornetto', 'LIGORNETTO', '', 'TI', ''); + CreatePostCode.InsertData('6854', 'S. Pietro', 'S. PIETRO', '', 'TI', ''); + CreatePostCode.InsertData('6855', 'Stabio', 'STABIO', '', 'TI', ''); + CreatePostCode.InsertData('6862', 'Rancate', 'RANCATE', '', 'TI', ''); + CreatePostCode.InsertData('6863', 'Besazio', 'BESAZIO', '', 'TI', ''); + CreatePostCode.InsertData('6864', 'Arzo', 'ARZO', '', 'TI', ''); + CreatePostCode.InsertData('6865', 'Tremona', 'TREMONA', '', 'TI', ''); + CreatePostCode.InsertData('6866', 'Meride', 'MERIDE', '', 'TI', ''); + CreatePostCode.InsertData('6867', 'Serpiano', 'SERPIANO', '', 'TI', ''); + CreatePostCode.InsertData('6872', 'Salorino', 'SALORINO', '', 'TI', ''); + CreatePostCode.InsertData('6872', 'Somazzo', 'SOMAZZO', '', 'TI', ''); + CreatePostCode.InsertData('6873', 'Corteglia', 'CORTEGLIA', '', 'TI', ''); + CreatePostCode.InsertData('6874', 'Castel San Pietro', 'CASTEL SAN PIETRO', '', 'TI', ''); + CreatePostCode.InsertData('6875', 'Campora', 'CAMPORA', '', 'TI', ''); + CreatePostCode.InsertData('6875', 'Casima', 'CASIMA', '', 'TI', ''); + CreatePostCode.InsertData('6875', 'Monte', 'MONTE', '', 'TI', ''); + CreatePostCode.InsertData('6877', 'Coldrerio', 'COLDRERIO', '', 'TI', ''); + CreatePostCode.InsertData('6883', 'Novazzano', 'NOVAZZANO', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano', 'LUGANO', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano 1', 'LUGANO 1', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano 2', 'LUGANO 2', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano 3', 'LUGANO 3', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano 4', 'LUGANO 4', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano 6', 'LUGANO 6', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano 7', 'LUGANO 7', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano 8', 'LUGANO 8', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano Distribuzione', 'LUGANO DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano MailSource', 'LUGANO MAILSOURCE', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Lugano Stazione FSS', 'LUGANO STAZIONE FSS', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Massagno', 'MASSAGNO', '', 'TI', ''); + CreatePostCode.InsertData('6900', 'Paradiso', 'PARADISO', '', 'TI', ''); + CreatePostCode.InsertData('6901', 'Lugano', 'LUGANO', '', 'TI', ''); + CreatePostCode.InsertData('6901', 'Lugano SPS', 'LUGANO SPS', '', 'TI', ''); + CreatePostCode.InsertData('6902', 'Lugano 2 Paradiso Caselle', 'LUGANO 2 PARADISO CASELLE', '', 'TI', ''); + CreatePostCode.InsertData('6903', 'Lugano', 'LUGANO', '', 'TI', ''); + CreatePostCode.InsertData('6904', 'Lugano 4 Molino Nuovo Casel', 'LUGANO 4 MOLINO NUOVO CASEL', '', 'TI', ''); + CreatePostCode.InsertData('6905', 'Lugano 5 Serv Autopostali', 'LUGANO 5 SERV AUTOPOSTALI', '', 'TI', ''); + CreatePostCode.InsertData('6906', 'Lugano 6 Cassarate Caselle', 'LUGANO 6 CASSARATE CASELLE', '', 'TI', ''); + CreatePostCode.InsertData('6907', 'Lugano 7 Loreto Caselle', 'LUGANO 7 LORETO CASELLE', '', 'TI', ''); + CreatePostCode.InsertData('6908', 'Massagno Caselle', 'MASSAGNO CASELLE', '', 'TI', ''); + CreatePostCode.InsertData('6911', 'Campione d''Italia', 'CAMPIONE D''ITALIA', '', 'IT', ''); + CreatePostCode.InsertData('6912', 'Pazzallo', 'PAZZALLO', '', 'TI', ''); + CreatePostCode.InsertData('6913', 'Carabbia', 'CARABBIA', '', 'TI', ''); + CreatePostCode.InsertData('6914', 'Carona', 'CARONA', '', 'TI', ''); + CreatePostCode.InsertData('6915', 'Pambio-Noranco', 'PAMBIO-NORANCO', '', 'TI', ''); + CreatePostCode.InsertData('6916', 'Grancia', 'GRANCIA', '', 'TI', ''); + CreatePostCode.InsertData('6917', 'Barbengo', 'BARBENGO', '', 'TI', ''); + CreatePostCode.InsertData('6918', 'Figino', 'FIGINO', '', 'TI', ''); + CreatePostCode.InsertData('6919', 'Carabietta', 'CARABIETTA', '', 'TI', ''); + CreatePostCode.InsertData('6921', 'Vico Morcote', 'VICO MORCOTE', '', 'TI', ''); + CreatePostCode.InsertData('6922', 'Morcote', 'MORCOTE', '', 'TI', ''); + CreatePostCode.InsertData('6924', 'Sorengo', 'SORENGO', '', 'TI', ''); + CreatePostCode.InsertData('6925', 'Gentilino', 'GENTILINO', '', 'TI', ''); + CreatePostCode.InsertData('6926', 'Montagnola', 'MONTAGNOLA', '', 'TI', ''); + CreatePostCode.InsertData('6927', 'Agra', 'AGRA', '', 'TI', ''); + CreatePostCode.InsertData('6928', 'Manno', 'MANNO', '', 'TI', ''); + CreatePostCode.InsertData('6929', 'Gravesano', 'GRAVESANO', '', 'TI', ''); + CreatePostCode.InsertData('6930', 'Bedano', 'BEDANO', '', 'TI', ''); + CreatePostCode.InsertData('6932', 'Breganzona', 'BREGANZONA', '', 'TI', ''); + CreatePostCode.InsertData('6933', 'Muzzano', 'MUZZANO', '', 'TI', ''); + CreatePostCode.InsertData('6934', 'Bioggio', 'BIOGGIO', '', 'TI', ''); + CreatePostCode.InsertData('6935', 'Bosco Luganese', 'BOSCO LUGANESE', '', 'TI', ''); + CreatePostCode.InsertData('6936', 'Cademario', 'CADEMARIO', '', 'TI', ''); + CreatePostCode.InsertData('6937', 'Breno', 'BRENO', '', 'TI', ''); + CreatePostCode.InsertData('6938', 'Fescoggia', 'FESCOGGIA', '', 'TI', ''); + CreatePostCode.InsertData('6938', 'Vezio', 'VEZIO', '', 'TI', ''); + CreatePostCode.InsertData('6939', 'Arosio', 'AROSIO', '', 'TI', ''); + CreatePostCode.InsertData('6939', 'Arosio-Mugena', 'AROSIO-MUGENA', '', 'TI', ''); + CreatePostCode.InsertData('6939', 'Mugena', 'MUGENA', '', 'TI', ''); + CreatePostCode.InsertData('6942', 'Savosa', 'SAVOSA', '', 'TI', ''); + CreatePostCode.InsertData('6943', 'Vezia', 'VEZIA', '', 'TI', ''); + CreatePostCode.InsertData('6944', 'Cureglia', 'CUREGLIA', '', 'TI', ''); + CreatePostCode.InsertData('6945', 'Origlio', 'ORIGLIO', '', 'TI', ''); + CreatePostCode.InsertData('6946', 'Ponte Capriasca', 'PONTE CAPRIASCA', '', 'TI', ''); + CreatePostCode.InsertData('6947', 'Vaglio', 'VAGLIO', '', 'TI', ''); + CreatePostCode.InsertData('6948', 'Porza', 'PORZA', '', 'TI', ''); + CreatePostCode.InsertData('6949', 'Comano', 'COMANO', '', 'TI', ''); + CreatePostCode.InsertData('6950', 'Tesserete', 'TESSERETE', '', 'TI', ''); + CreatePostCode.InsertData('6951', 'Bogno', 'BOGNO', '', 'TI', ''); + CreatePostCode.InsertData('6951', 'Colla', 'COLLA', '', 'TI', ''); + CreatePostCode.InsertData('6951', 'Cozzo', 'COZZO', '', 'TI', ''); + CreatePostCode.InsertData('6951', 'Insone', 'INSONE', '', 'TI', ''); + CreatePostCode.InsertData('6951', 'Odogno', 'ODOGNO', '', 'TI', ''); + CreatePostCode.InsertData('6951', 'Scareglia', 'SCAREGLIA', '', 'TI', ''); + CreatePostCode.InsertData('6951', 'Signôra', 'SIGNÔRA', '', 'TI', ''); + CreatePostCode.InsertData('6952', 'Canobbio', 'CANOBBIO', '', 'TI', ''); + CreatePostCode.InsertData('6953', 'Lugaggia', 'LUGAGGIA', '', 'TI', ''); + CreatePostCode.InsertData('6954', 'Bigorio', 'BIGORIO', '', 'TI', ''); + CreatePostCode.InsertData('6954', 'Sala Capriasca', 'SALA CAPRIASCA', '', 'TI', ''); + CreatePostCode.InsertData('6955', 'Cagiallo', 'CAGIALLO', '', 'TI', ''); + CreatePostCode.InsertData('6955', 'Oggio', 'OGGIO', '', 'TI', ''); + CreatePostCode.InsertData('6956', 'Lopagno', 'LOPAGNO', '', 'TI', ''); + CreatePostCode.InsertData('6957', 'Roveredo TI', 'ROVEREDO TI', '', 'TI', ''); + CreatePostCode.InsertData('6958', 'Bidogno', 'BIDOGNO', '', 'TI', ''); + CreatePostCode.InsertData('6958', 'Corticiasca', 'CORTICIASCA', '', 'TI', ''); + CreatePostCode.InsertData('6959', 'Certara', 'CERTARA', '', 'TI', ''); + CreatePostCode.InsertData('6959', 'Cimadera', 'CIMADERA', '', 'TI', ''); + CreatePostCode.InsertData('6959', 'Curtina', 'CURTINA', '', 'TI', ''); + CreatePostCode.InsertData('6959', 'Maglio di Colla', 'MAGLIO DI COLLA', '', 'TI', ''); + CreatePostCode.InsertData('6959', 'Piandera Paese', 'PIANDERA PAESE', '', 'TI', ''); + CreatePostCode.InsertData('6962', 'Viganello', 'VIGANELLO', '', 'TI', ''); + CreatePostCode.InsertData('6963', 'Cureggia', 'CUREGGIA', '', 'TI', ''); + CreatePostCode.InsertData('6963', 'Pregassona', 'PREGASSONA', '', 'TI', ''); + CreatePostCode.InsertData('6963', 'Pregassona Distribuzione', 'PREGASSONA DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6964', 'Davesco-Soragno', 'DAVESCO-SORAGNO', '', 'TI', ''); + CreatePostCode.InsertData('6965', 'Cadro', 'CADRO', '', 'TI', ''); + CreatePostCode.InsertData('6966', 'Villa Luganese', 'VILLA LUGANESE', '', 'TI', ''); + CreatePostCode.InsertData('6967', 'Dino', 'DINO', '', 'TI', ''); + CreatePostCode.InsertData('6968', 'Sonvico', 'SONVICO', '', 'TI', ''); + CreatePostCode.InsertData('6974', 'Aldesago', 'ALDESAGO', '', 'TI', ''); + CreatePostCode.InsertData('6976', 'Castagnola', 'CASTAGNOLA', '', 'TI', ''); + CreatePostCode.InsertData('6977', 'Ruvigliana', 'RUVIGLIANA', '', 'TI', ''); + CreatePostCode.InsertData('6978', 'Gandria', 'GANDRIA', '', 'TI', ''); + CreatePostCode.InsertData('6979', 'Brè sopra Lugano', 'BRÈ SOPRA LUGANO', '', 'TI', ''); + CreatePostCode.InsertData('6980', 'Castelrotto', 'CASTELROTTO', '', 'TI', ''); + CreatePostCode.InsertData('6981', 'Banco', 'BANCO', '', 'TI', ''); + CreatePostCode.InsertData('6981', 'Bedigliora', 'BEDIGLIORA', '', 'TI', ''); + CreatePostCode.InsertData('6981', 'Biogno-Beride', 'BIOGNO-BERIDE', '', 'TI', ''); + CreatePostCode.InsertData('6981', 'Bombinasco', 'BOMBINASCO', '', 'TI', ''); + CreatePostCode.InsertData('6982', 'Agno', 'AGNO', '', 'TI', ''); + CreatePostCode.InsertData('6983', 'Magliaso', 'MAGLIASO', '', 'TI', ''); + CreatePostCode.InsertData('6984', 'Pura', 'PURA', '', 'TI', ''); + CreatePostCode.InsertData('6986', 'Curio', 'CURIO', '', 'TI', ''); + CreatePostCode.InsertData('6986', 'Miglieglia', 'MIGLIEGLIA', '', 'TI', ''); + CreatePostCode.InsertData('6986', 'Novaggio', 'NOVAGGIO', '', 'TI', ''); + CreatePostCode.InsertData('6987', 'Caslano', 'CASLANO', '', 'TI', ''); + CreatePostCode.InsertData('6987', 'Caslano Distribuzione', 'CASLANO DISTRIBUZIONE', '', 'TI', ''); + CreatePostCode.InsertData('6988', 'Ponte Tresa', 'PONTE TRESA', '', 'TI', ''); + CreatePostCode.InsertData('6989', 'Purasca', 'PURASCA', '', 'TI', ''); + CreatePostCode.InsertData('6990', 'Cassina d''Agno', 'CASSINA D''AGNO', '', 'TI', ''); + CreatePostCode.InsertData('6991', 'Neggio', 'NEGGIO', '', 'TI', ''); + CreatePostCode.InsertData('6992', 'Cimo', 'CIMO', '', 'TI', ''); + CreatePostCode.InsertData('6992', 'Vernate', 'VERNATE', '', 'TI', ''); + CreatePostCode.InsertData('6993', 'Iseo', 'ISEO', '', 'TI', ''); + CreatePostCode.InsertData('6994', 'Aranno', 'ARANNO', '', 'TI', ''); + CreatePostCode.InsertData('6995', 'Madonna del Piano', 'MADONNA DEL PIANO', '', 'TI', ''); + CreatePostCode.InsertData('6995', 'Molinazzo di Monteggio', 'MOLINAZZO DI MONTEGGIO', '', 'TI', ''); + CreatePostCode.InsertData('6996', 'Ponte Cremenaga', 'PONTE CREMENAGA', '', 'TI', ''); + CreatePostCode.InsertData('6997', 'Sessa', 'SESSA', '', 'TI', ''); + CreatePostCode.InsertData('6998', 'Termine', 'TERMINE', '', 'TI', ''); + CreatePostCode.InsertData('6999', 'Astano', 'ASTANO', '', 'TI', ''); + CreatePostCode.InsertData('7000', 'Chur', 'CHUR', '', 'GR', ''); + CreatePostCode.InsertData('7000', 'Chur 1 Annahme', 'CHUR 1 ANNAHME', '', 'GR', ''); + CreatePostCode.InsertData('7000', 'Chur 1 Zustellung', 'CHUR 1 ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7000', 'Chur B&V GK', 'CHUR B&V GK', '', 'GR', ''); + CreatePostCode.InsertData('7000', 'Chur B&V GK 2', 'CHUR B&V GK 2', '', 'GR', ''); + CreatePostCode.InsertData('7000', 'Chur Kaserne', 'CHUR KASERNE', '', 'GR', ''); + CreatePostCode.InsertData('7000', 'Chur Logistikzentrum', 'CHUR LOGISTIKZENTRUM', '', 'GR', ''); + CreatePostCode.InsertData('7001', 'Chur', 'CHUR', '', 'GR', ''); + CreatePostCode.InsertData('7002', 'Chur', 'CHUR', '', 'GR', ''); + CreatePostCode.InsertData('7003', 'Chur Postauto GR Reg. Chur', 'CHUR POSTAUTO GR REG. CHUR', '', 'GR', ''); + CreatePostCode.InsertData('7004', 'Chur', 'CHUR', '', 'GR', ''); + CreatePostCode.InsertData('7006', 'Chur', 'CHUR', '', 'GR', ''); + CreatePostCode.InsertData('7007', 'Chur', 'CHUR', '', 'GR', ''); + CreatePostCode.InsertData('7012', 'Felsberg', 'FELSBERG', '', 'GR', ''); + CreatePostCode.InsertData('7013', 'Domat/Ems', 'DOMAT/EMS', '', 'GR', ''); + CreatePostCode.InsertData('7013', 'Domat/Ems Zustellung', 'DOMAT/EMS ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7014', 'Trin', 'TRIN', '', 'GR', ''); + CreatePostCode.InsertData('7015', 'Tamins', 'TAMINS', '', 'GR', ''); + CreatePostCode.InsertData('7016', 'Trin Mulin', 'TRIN MULIN', '', 'GR', ''); + CreatePostCode.InsertData('7017', 'Flims Dorf', 'FLIMS DORF', '', 'GR', ''); + CreatePostCode.InsertData('7018', 'Flims Waldhaus', 'FLIMS WALDHAUS', '', 'GR', ''); + CreatePostCode.InsertData('7019', 'Fidaz', 'FIDAZ', '', 'GR', ''); + CreatePostCode.InsertData('7023', 'Haldenstein', 'HALDENSTEIN', '', 'GR', ''); + CreatePostCode.InsertData('7026', 'Maladers', 'MALADERS', '', 'GR', ''); + CreatePostCode.InsertData('7027', 'Calfreisen', 'CALFREISEN', '', 'GR', ''); + CreatePostCode.InsertData('7027', 'Castiel', 'CASTIEL', '', 'GR', ''); + CreatePostCode.InsertData('7027', 'Lüen', 'LÜEN', '', 'GR', ''); + CreatePostCode.InsertData('7028', 'Pagig', 'PAGIG', '', 'GR', ''); + CreatePostCode.InsertData('7028', 'St. Peter', 'ST. PETER', '', 'GR', ''); + CreatePostCode.InsertData('7029', 'Peist', 'PEIST', '', 'GR', ''); + CreatePostCode.InsertData('7031', 'Laax GR', 'LAAX GR', '', 'GR', ''); + CreatePostCode.InsertData('7031', 'Laax GR 1', 'LAAX GR 1', '', 'GR', ''); + CreatePostCode.InsertData('7032', 'Laax GR 2', 'LAAX GR 2', '', 'GR', ''); + CreatePostCode.InsertData('7050', 'Arosa', 'AROSA', '', 'GR', ''); + CreatePostCode.InsertData('7050', 'Arosa Zustellung', 'AROSA ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7056', 'Molinis', 'MOLINIS', '', 'GR', ''); + CreatePostCode.InsertData('7057', 'Langwies', 'LANGWIES', '', 'GR', ''); + CreatePostCode.InsertData('7058', 'Litzirüti', 'LITZIRÜTI', '', 'GR', ''); + CreatePostCode.InsertData('7062', 'Passugg', 'PASSUGG', '', 'GR', ''); + CreatePostCode.InsertData('7063', 'Praden', 'PRADEN', '', 'GR', ''); + CreatePostCode.InsertData('7064', 'Tschiertschen', 'TSCHIERTSCHEN', '', 'GR', ''); + CreatePostCode.InsertData('7074', 'Malix', 'MALIX', '', 'GR', ''); + CreatePostCode.InsertData('7075', 'Churwalden', 'CHURWALDEN', '', 'GR', ''); + CreatePostCode.InsertData('7076', 'Parpan', 'PARPAN', '', 'GR', ''); + CreatePostCode.InsertData('7077', 'Valbella', 'VALBELLA', '', 'GR', ''); + CreatePostCode.InsertData('7078', 'Lenzerheide Zustellung', 'LENZERHEIDE ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7078', 'Lenzerheide/Lai', 'LENZERHEIDE/LAI', '', 'GR', ''); + CreatePostCode.InsertData('7082', 'Vaz/Obervaz', 'VAZ/OBERVAZ', '', 'GR', ''); + CreatePostCode.InsertData('7083', 'Lantsch/Lenz', 'LANTSCH/LENZ', '', 'GR', ''); + CreatePostCode.InsertData('7084', 'Brienz/Brinzauls GR', 'BRIENZ/BRINZAULS GR', '', 'GR', ''); + CreatePostCode.InsertData('7104', 'Arezen', 'AREZEN', '', 'GR', ''); + CreatePostCode.InsertData('7104', 'Versam', 'VERSAM', '', 'GR', ''); + CreatePostCode.InsertData('7106', 'Tenna', 'TENNA', '', 'GR', ''); + CreatePostCode.InsertData('7107', 'Safien Platz', 'SAFIEN PLATZ', '', 'GR', ''); + CreatePostCode.InsertData('7109', 'Thalkirch', 'THALKIRCH', '', 'GR', ''); + CreatePostCode.InsertData('7110', 'Peiden', 'PEIDEN', '', 'GR', ''); + CreatePostCode.InsertData('7111', 'Pitasch', 'PITASCH', '', 'GR', ''); + CreatePostCode.InsertData('7112', 'Duvin', 'DUVIN', '', 'GR', ''); + CreatePostCode.InsertData('7113', 'Camuns', 'CAMUNS', '', 'GR', ''); + CreatePostCode.InsertData('7114', 'Uors (Lumnezia)', 'UORS (LUMNEZIA)', '', 'GR', ''); + CreatePostCode.InsertData('7115', 'Surcasti', 'SURCASTI', '', 'GR', ''); + CreatePostCode.InsertData('7116', 'St. Martin (Lugnez)', 'ST. MARTIN (LUGNEZ)', '', 'GR', ''); + CreatePostCode.InsertData('7116', 'Tersnaus', 'TERSNAUS', '', 'GR', ''); + CreatePostCode.InsertData('7122', 'Carrera', 'CARRERA', '', 'GR', ''); + CreatePostCode.InsertData('7122', 'Valendas', 'VALENDAS', '', 'GR', ''); + CreatePostCode.InsertData('7126', 'Castrisch', 'CASTRISCH', '', 'GR', ''); + CreatePostCode.InsertData('7127', 'Sevgein', 'SEVGEIN', '', 'GR', ''); + CreatePostCode.InsertData('7128', 'Riein', 'RIEIN', '', 'GR', ''); + CreatePostCode.InsertData('7130', 'Ilanz', 'ILANZ', '', 'GR', ''); + CreatePostCode.InsertData('7130', 'Ilanz Zustellung', 'ILANZ ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7130', 'Schnaus', 'SCHNAUS', '', 'GR', ''); + CreatePostCode.InsertData('7132', 'Vals', 'VALS', '', 'GR', ''); + CreatePostCode.InsertData('7134', 'Obersaxen', 'OBERSAXEN', '', 'GR', ''); + CreatePostCode.InsertData('7137', 'Flond', 'FLOND', '', 'GR', ''); + CreatePostCode.InsertData('7138', 'Surcuolm', 'SURCUOLM', '', 'GR', ''); + CreatePostCode.InsertData('7141', 'Luven', 'LUVEN', '', 'GR', ''); + CreatePostCode.InsertData('7142', 'Cumbel', 'CUMBEL', '', 'GR', ''); + CreatePostCode.InsertData('7143', 'Morissen', 'MORISSEN', '', 'GR', ''); + CreatePostCode.InsertData('7144', 'Vella', 'VELLA', '', 'GR', ''); + CreatePostCode.InsertData('7145', 'Degen', 'DEGEN', '', 'GR', ''); + CreatePostCode.InsertData('7146', 'Vattiz', 'VATTIZ', '', 'GR', ''); + CreatePostCode.InsertData('7147', 'Vignogn', 'VIGNOGN', '', 'GR', ''); + CreatePostCode.InsertData('7148', 'Lumbrein', 'LUMBREIN', '', 'GR', ''); + CreatePostCode.InsertData('7148', 'Surin', 'SURIN', '', 'GR', ''); + CreatePostCode.InsertData('7149', 'Vrin', 'VRIN', '', 'GR', ''); + CreatePostCode.InsertData('7151', 'Schluein', 'SCHLUEIN', '', 'GR', ''); + CreatePostCode.InsertData('7152', 'Sagogn', 'SAGOGN', '', 'GR', ''); + CreatePostCode.InsertData('7153', 'Falera', 'FALERA', '', 'GR', ''); + CreatePostCode.InsertData('7154', 'Ruschein', 'RUSCHEIN', '', 'GR', ''); + CreatePostCode.InsertData('7155', 'Ladir', 'LADIR', '', 'GR', ''); + CreatePostCode.InsertData('7156', 'Pigniu', 'PIGNIU', '', 'GR', ''); + CreatePostCode.InsertData('7156', 'Rueun', 'RUEUN', '', 'GR', ''); + CreatePostCode.InsertData('7157', 'Siat', 'SIAT', '', 'GR', ''); + CreatePostCode.InsertData('7158', 'Waltensburg/Vuorz', 'WALTENSBURG/VUORZ', '', 'GR', ''); + CreatePostCode.InsertData('7159', 'Andiast', 'ANDIAST', '', 'GR', ''); + CreatePostCode.InsertData('7162', 'Tavanasa', 'TAVANASA', '', 'GR', ''); + CreatePostCode.InsertData('7163', 'Danis', 'DANIS', '', 'GR', ''); + CreatePostCode.InsertData('7164', 'Dardin', 'DARDIN', '', 'GR', ''); + CreatePostCode.InsertData('7165', 'Breil/Brigels', 'BREIL/BRIGELS', '', 'GR', ''); + CreatePostCode.InsertData('7166', 'Trun', 'TRUN', '', 'GR', ''); + CreatePostCode.InsertData('7167', 'Zignau', 'ZIGNAU', '', 'GR', ''); + CreatePostCode.InsertData('7168', 'Schlans', 'SCHLANS', '', 'GR', ''); + CreatePostCode.InsertData('7172', 'Rabius', 'RABIUS', '', 'GR', ''); + CreatePostCode.InsertData('7173', 'Surrein', 'SURREIN', '', 'GR', ''); + CreatePostCode.InsertData('7174', 'S. Benedetg', 'S. BENEDETG', '', 'GR', ''); + CreatePostCode.InsertData('7175', 'Sumvitg', 'SUMVITG', '', 'GR', ''); + CreatePostCode.InsertData('7176', 'Cumpadials', 'CUMPADIALS', '', 'GR', ''); + CreatePostCode.InsertData('7180', 'Disentis/Mustér', 'DISENTIS/MUSTÉR', '', 'GR', ''); + CreatePostCode.InsertData('7182', 'Cavardiras', 'CAVARDIRAS', '', 'GR', ''); + CreatePostCode.InsertData('7183', 'Mumpé Medel', 'MUMPÉ MEDEL', '', 'GR', ''); + CreatePostCode.InsertData('7184', 'Curaglia', 'CURAGLIA', '', 'GR', ''); + CreatePostCode.InsertData('7185', 'Platta', 'PLATTA', '', 'GR', ''); + CreatePostCode.InsertData('7186', 'Segnas', 'SEGNAS', '', 'GR', ''); + CreatePostCode.InsertData('7187', 'Camischolas', 'CAMISCHOLAS', '', 'GR', ''); + CreatePostCode.InsertData('7188', 'Sedrun', 'SEDRUN', '', 'GR', ''); + CreatePostCode.InsertData('7189', 'Rueras', 'RUERAS', '', 'GR', ''); + CreatePostCode.InsertData('7201', 'Untervaz Bahnhof', 'UNTERVAZ BAHNHOF', '', 'GR', ''); + CreatePostCode.InsertData('7202', 'Says', 'SAYS', '', 'GR', ''); + CreatePostCode.InsertData('7203', 'Trimmis', 'TRIMMIS', '', 'GR', ''); + CreatePostCode.InsertData('7204', 'Untervaz', 'UNTERVAZ', '', 'GR', ''); + CreatePostCode.InsertData('7205', 'Zizers', 'ZIZERS', '', 'GR', ''); + CreatePostCode.InsertData('7206', 'Igis', 'IGIS', '', 'GR', ''); + CreatePostCode.InsertData('7208', 'Malans GR', 'MALANS GR', '', 'GR', ''); + CreatePostCode.InsertData('7212', 'Seewis Dorf', 'SEEWIS DORF', '', 'GR', ''); + CreatePostCode.InsertData('7212', 'Seewis-Pardisla', 'SEEWIS-PARDISLA', '', 'GR', ''); + CreatePostCode.InsertData('7212', 'Seewis-Schmitten', 'SEEWIS-SCHMITTEN', '', 'GR', ''); + CreatePostCode.InsertData('7213', 'Valzeina', 'VALZEINA', '', 'GR', ''); + CreatePostCode.InsertData('7214', 'Grüsch', 'GRÜSCH', '', 'GR', ''); + CreatePostCode.InsertData('7215', 'Fanas', 'FANAS', '', 'GR', ''); + CreatePostCode.InsertData('7220', 'Schiers', 'SCHIERS', '', 'GR', ''); + CreatePostCode.InsertData('7222', 'Lunden', 'LUNDEN', '', 'GR', ''); + CreatePostCode.InsertData('7223', 'Buchen im Prättigau', 'BUCHEN IM PRÄTTIGAU', '', 'GR', ''); + CreatePostCode.InsertData('7224', 'Putz', 'PUTZ', '', 'GR', ''); + CreatePostCode.InsertData('7226', 'Fajauna', 'FAJAUNA', '', 'GR', ''); + CreatePostCode.InsertData('7226', 'Stels', 'STELS', '', 'GR', ''); + CreatePostCode.InsertData('7228', 'Pusserein', 'PUSSEREIN', '', 'GR', ''); + CreatePostCode.InsertData('7228', 'Schuders', 'SCHUDERS', '', 'GR', ''); + CreatePostCode.InsertData('7231', 'Pragg-Jenaz', 'PRAGG-JENAZ', '', 'GR', ''); + CreatePostCode.InsertData('7232', 'Furna', 'FURNA', '', 'GR', ''); + CreatePostCode.InsertData('7233', 'Jenaz', 'JENAZ', '', 'GR', ''); + CreatePostCode.InsertData('7235', 'Fideris', 'FIDERIS', '', 'GR', ''); + CreatePostCode.InsertData('7240', 'Küblis', 'KÜBLIS', '', 'GR', ''); + CreatePostCode.InsertData('7241', 'Conters im Prättigau', 'CONTERS IM PRÄTTIGAU', '', 'GR', ''); + CreatePostCode.InsertData('7242', 'Luzein', 'LUZEIN', '', 'GR', ''); + CreatePostCode.InsertData('7243', 'Pany', 'PANY', '', 'GR', ''); + CreatePostCode.InsertData('7244', 'Gadenstätt', 'GADENSTÄTT', '', 'GR', ''); + CreatePostCode.InsertData('7245', 'Ascharina', 'ASCHARINA', '', 'GR', ''); + CreatePostCode.InsertData('7246', 'St. Antönien', 'ST. ANTÖNIEN', '', 'GR', ''); + CreatePostCode.InsertData('7247', 'Saas im Prättigau', 'SAAS IM PRÄTTIGAU', '', 'GR', ''); + CreatePostCode.InsertData('7249', 'Serneus', 'SERNEUS', '', 'GR', ''); + CreatePostCode.InsertData('7250', 'Klosters', 'KLOSTERS', '', 'GR', ''); + CreatePostCode.InsertData('7250', 'Klosters Zustellung', 'KLOSTERS ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7252', 'Klosters Dorf', 'KLOSTERS DORF', '', 'GR', ''); + CreatePostCode.InsertData('7260', 'Davos Dorf', 'DAVOS DORF', '', 'GR', ''); + CreatePostCode.InsertData('7265', 'Davos Wolfgang', 'DAVOS WOLFGANG', '', 'GR', ''); + CreatePostCode.InsertData('7270', 'Davos Platz', 'DAVOS PLATZ', '', 'GR', ''); + CreatePostCode.InsertData('7270', 'Davos Platz 1', 'DAVOS PLATZ 1', '', 'GR', ''); + CreatePostCode.InsertData('7270', 'Davos Zustellung', 'DAVOS ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7272', 'Davos Clavadel', 'DAVOS CLAVADEL', '', 'GR', ''); + CreatePostCode.InsertData('7276', 'Davos Frauenkirch', 'DAVOS FRAUENKIRCH', '', 'GR', ''); + CreatePostCode.InsertData('7277', 'Davos Glaris', 'DAVOS GLARIS', '', 'GR', ''); + CreatePostCode.InsertData('7278', 'Davos Monstein', 'DAVOS MONSTEIN', '', 'GR', ''); + CreatePostCode.InsertData('7302', 'Landquart', 'LANDQUART', '', 'GR', ''); + CreatePostCode.InsertData('7302', 'Landquart Bahnhof SBB', 'LANDQUART BAHNHOF SBB', '', 'GR', ''); + CreatePostCode.InsertData('7302', 'Landquart Dist Ba', 'LANDQUART DIST BA', '', 'GR', ''); + CreatePostCode.InsertData('7302', 'Landquart Zustellung', 'LANDQUART ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7303', 'Mastrils', 'MASTRILS', '', 'GR', ''); + CreatePostCode.InsertData('7304', 'Maienfeld', 'MAIENFELD', '', 'GR', ''); + CreatePostCode.InsertData('7306', 'Fläsch', 'FLÄSCH', '', 'GR', ''); + CreatePostCode.InsertData('7307', 'Jenins', 'JENINS', '', 'GR', ''); + CreatePostCode.InsertData('7310', 'Bad Ragaz', 'BAD RAGAZ', '', 'SG', ''); + CreatePostCode.InsertData('7310', 'Bad Ragaz Zustellung', 'BAD RAGAZ ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('7312', 'Pfäfers', 'PFÄFERS', '', 'SG', ''); + CreatePostCode.InsertData('7313', 'St. Margrethenberg', 'ST. MARGRETHENBERG', '', 'SG', ''); + CreatePostCode.InsertData('7314', 'Vadura', 'VADURA', '', 'SG', ''); + CreatePostCode.InsertData('7315', 'Vättis', 'VÄTTIS', '', 'SG', ''); + CreatePostCode.InsertData('7317', 'Valens', 'VALENS', '', 'SG', ''); + CreatePostCode.InsertData('7317', 'Vasön', 'VASÖN', '', 'SG', ''); + CreatePostCode.InsertData('7320', 'Sargans', 'SARGANS', '', 'SG', ''); + CreatePostCode.InsertData('7320', 'Sargans Zustellung', 'SARGANS ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('7323', 'Wangs', 'WANGS', '', 'SG', ''); + CreatePostCode.InsertData('7324', 'Vilters', 'VILTERS', '', 'SG', ''); + CreatePostCode.InsertData('7325', 'Schwendi im Weisstannental', 'SCHWENDI IM WEISSTANNENTAL', '', 'SG', ''); + CreatePostCode.InsertData('7326', 'Weisstannen', 'WEISSTANNEN', '', 'SG', ''); + CreatePostCode.InsertData('7402', 'Bonaduz', 'BONADUZ', '', 'GR', ''); + CreatePostCode.InsertData('7403', 'Rhäzüns', 'RHÄZÜNS', '', 'GR', ''); + CreatePostCode.InsertData('7404', 'Feldis/Veulden', 'FELDIS/VEULDEN', '', 'GR', ''); + CreatePostCode.InsertData('7405', 'Rothenbrunnen', 'ROTHENBRUNNEN', '', 'GR', ''); + CreatePostCode.InsertData('7407', 'Trans', 'TRANS', '', 'GR', ''); + CreatePostCode.InsertData('7408', 'Cazis', 'CAZIS', '', 'GR', ''); + CreatePostCode.InsertData('7408', 'Realta', 'REALTA', '', 'GR', ''); + CreatePostCode.InsertData('7411', 'Sils im Domleschg', 'SILS IM DOMLESCHG', '', 'GR', ''); + CreatePostCode.InsertData('7412', 'Scharans', 'SCHARANS', '', 'GR', ''); + CreatePostCode.InsertData('7413', 'Fürstenaubruck', 'FÜRSTENAUBRUCK', '', 'GR', ''); + CreatePostCode.InsertData('7414', 'Fürstenau', 'FÜRSTENAU', '', 'GR', ''); + CreatePostCode.InsertData('7415', 'Pratval', 'PRATVAL', '', 'GR', ''); + CreatePostCode.InsertData('7415', 'Rodels', 'RODELS', '', 'GR', ''); + CreatePostCode.InsertData('7416', 'Almens', 'ALMENS', '', 'GR', ''); + CreatePostCode.InsertData('7417', 'Paspels', 'PASPELS', '', 'GR', ''); + CreatePostCode.InsertData('7418', 'Tumegl/Tomils', 'TUMEGL/TOMILS', '', 'GR', ''); + CreatePostCode.InsertData('7419', 'Scheid', 'SCHEID', '', 'GR', ''); + CreatePostCode.InsertData('7421', 'Summaprada', 'SUMMAPRADA', '', 'GR', ''); + CreatePostCode.InsertData('7422', 'Tartar', 'TARTAR', '', 'GR', ''); + CreatePostCode.InsertData('7423', 'Portein', 'PORTEIN', '', 'GR', ''); + CreatePostCode.InsertData('7423', 'Sarn', 'SARN', '', 'GR', ''); + CreatePostCode.InsertData('7424', 'Dalin', 'DALIN', '', 'GR', ''); + CreatePostCode.InsertData('7424', 'Präz', 'PRÄZ', '', 'GR', ''); + CreatePostCode.InsertData('7425', 'Masein', 'MASEIN', '', 'GR', ''); + CreatePostCode.InsertData('7426', 'Flerden', 'FLERDEN', '', 'GR', ''); + CreatePostCode.InsertData('7427', 'Urmein', 'URMEIN', '', 'GR', ''); + CreatePostCode.InsertData('7428', 'Glaspass', 'GLASPASS', '', 'GR', ''); + CreatePostCode.InsertData('7428', 'Tschappina', 'TSCHAPPINA', '', 'GR', ''); + CreatePostCode.InsertData('7430', 'Rongellen', 'RONGELLEN', '', 'GR', ''); + CreatePostCode.InsertData('7430', 'Thusis', 'THUSIS', '', 'GR', ''); + CreatePostCode.InsertData('7430', 'Thusis Zustellung', 'THUSIS ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7431', 'Mutten', 'MUTTEN', '', 'GR', ''); + CreatePostCode.InsertData('7431', 'Obermutten', 'OBERMUTTEN', '', 'GR', ''); + CreatePostCode.InsertData('7432', 'Zillis', 'ZILLIS', '', 'GR', ''); + CreatePostCode.InsertData('7433', 'Donat', 'DONAT', '', 'GR', ''); + CreatePostCode.InsertData('7433', 'Farden', 'FARDEN', '', 'GR', ''); + CreatePostCode.InsertData('7433', 'Lohn GR', 'LOHN GR', '', 'GR', ''); + CreatePostCode.InsertData('7433', 'Mathon', 'MATHON', '', 'GR', ''); + CreatePostCode.InsertData('7433', 'Wergenstein', 'WERGENSTEIN', '', 'GR', ''); + CreatePostCode.InsertData('7434', 'Sufers', 'SUFERS', '', 'GR', ''); + CreatePostCode.InsertData('7435', 'Splügen', 'SPLÜGEN', '', 'GR', ''); + CreatePostCode.InsertData('7436', 'Medels im Rheinwald', 'MEDELS IM RHEINWALD', '', 'GR', ''); + CreatePostCode.InsertData('7437', 'Nufenen', 'NUFENEN', '', 'GR', ''); + CreatePostCode.InsertData('7438', 'Hinterrhein', 'HINTERRHEIN', '', 'GR', ''); + CreatePostCode.InsertData('7440', 'Andeer', 'ANDEER', '', 'GR', ''); + CreatePostCode.InsertData('7442', 'Clugin', 'CLUGIN', '', 'GR', ''); + CreatePostCode.InsertData('7443', 'Pignia', 'PIGNIA', '', 'GR', ''); + CreatePostCode.InsertData('7444', 'Ausserferrera', 'AUSSERFERRERA', '', 'GR', ''); + CreatePostCode.InsertData('7445', 'Innerferrera', 'INNERFERRERA', '', 'GR', ''); + CreatePostCode.InsertData('7446', 'Campsut-Cröt', 'CAMPSUT-CRÖT', '', 'GR', ''); + CreatePostCode.InsertData('7447', 'Am Bach (Avers)', 'AM BACH (AVERS)', '', 'GR', ''); + CreatePostCode.InsertData('7447', 'Cresta (Avers)', 'CRESTA (AVERS)', '', 'GR', ''); + CreatePostCode.InsertData('7448', 'Juf', 'JUF', '', 'GR', ''); + CreatePostCode.InsertData('7450', 'Tiefencastel', 'TIEFENCASTEL', '', 'GR', ''); + CreatePostCode.InsertData('7451', 'Alvaschein', 'ALVASCHEIN', '', 'GR', ''); + CreatePostCode.InsertData('7452', 'Cunter', 'CUNTER', '', 'GR', ''); + CreatePostCode.InsertData('7453', 'Tinizong', 'TINIZONG', '', 'GR', ''); + CreatePostCode.InsertData('7454', 'Rona', 'RONA', '', 'GR', ''); + CreatePostCode.InsertData('7455', 'Mulegns', 'MULEGNS', '', 'GR', ''); + CreatePostCode.InsertData('7456', 'Marmorera', 'MARMORERA', '', 'GR', ''); + CreatePostCode.InsertData('7456', 'Sur', 'SUR', '', 'GR', ''); + CreatePostCode.InsertData('7457', 'Bivio', 'BIVIO', '', 'GR', ''); + CreatePostCode.InsertData('7458', 'Mon', 'MON', '', 'GR', ''); + CreatePostCode.InsertData('7459', 'Stierva', 'STIERVA', '', 'GR', ''); + CreatePostCode.InsertData('7460', 'Savognin', 'SAVOGNIN', '', 'GR', ''); + CreatePostCode.InsertData('7462', 'Salouf', 'SALOUF', '', 'GR', ''); + CreatePostCode.InsertData('7463', 'Riom', 'RIOM', '', 'GR', ''); + CreatePostCode.InsertData('7464', 'Parsonz', 'PARSONZ', '', 'GR', ''); + CreatePostCode.InsertData('7472', 'Surava', 'SURAVA', '', 'GR', ''); + CreatePostCode.InsertData('7473', 'Alvaneu Bad', 'ALVANEU BAD', '', 'GR', ''); + CreatePostCode.InsertData('7477', 'Filisur', 'FILISUR', '', 'GR', ''); + CreatePostCode.InsertData('7482', 'Bergün/Bravuogn', 'BERGÜN/BRAVUOGN', '', 'GR', ''); + CreatePostCode.InsertData('7482', 'Preda', 'PREDA', '', 'GR', ''); + CreatePostCode.InsertData('7482', 'Stugl/Stuls', 'STUGL/STULS', '', 'GR', ''); + CreatePostCode.InsertData('7484', 'Latsch', 'LATSCH', '', 'GR', ''); + CreatePostCode.InsertData('7492', 'Alvaneu Dorf', 'ALVANEU DORF', '', 'GR', ''); + CreatePostCode.InsertData('7493', 'Schmitten (Albula)', 'SCHMITTEN (ALBULA)', '', 'GR', ''); + CreatePostCode.InsertData('7494', 'Davos Wiesen', 'DAVOS WIESEN', '', 'GR', ''); + CreatePostCode.InsertData('7500', 'St. Moritz', 'ST. MORITZ', '', 'GR', ''); + CreatePostCode.InsertData('7500', 'St. Moritz 1', 'ST. MORITZ 1', '', 'GR', ''); + CreatePostCode.InsertData('7500', 'St. Moritz 3', 'ST. MORITZ 3', '', 'GR', ''); + CreatePostCode.InsertData('7502', 'Bever', 'BEVER', '', 'GR', ''); + CreatePostCode.InsertData('7503', 'Samedan', 'SAMEDAN', '', 'GR', ''); + CreatePostCode.InsertData('7503', 'Samedan Zustellung', 'SAMEDAN ZUSTELLUNG', '', 'GR', ''); + CreatePostCode.InsertData('7504', 'Pontresina', 'PONTRESINA', '', 'GR', ''); + CreatePostCode.InsertData('7505', 'Celerina/Schlarigna', 'CELERINA/SCHLARIGNA', '', 'GR', ''); + CreatePostCode.InsertData('7512', 'Champfèr', 'CHAMPFÈR', '', 'GR', ''); + CreatePostCode.InsertData('7513', 'Silvaplana', 'SILVAPLANA', '', 'GR', ''); + CreatePostCode.InsertData('7513', 'Silvaplana-Surlej', 'SILVAPLANA-SURLEJ', '', 'GR', ''); + CreatePostCode.InsertData('7514', 'Fex', 'FEX', '', 'GR', ''); + CreatePostCode.InsertData('7514', 'Sils/Segl Maria', 'SILS/SEGL MARIA', '', 'GR', ''); + CreatePostCode.InsertData('7515', 'Sils/Segl Baselgia', 'SILS/SEGL BASELGIA', '', 'GR', ''); + CreatePostCode.InsertData('7516', 'Maloja', 'MALOJA', '', 'GR', ''); + CreatePostCode.InsertData('7517', 'Plaun da Lej', 'PLAUN DA LEJ', '', 'GR', ''); + CreatePostCode.InsertData('7522', 'La Punt-Chamues-ch', 'LA PUNT-CHAMUES-CH', '', 'GR', ''); + CreatePostCode.InsertData('7523', 'Madulain', 'MADULAIN', '', 'GR', ''); + CreatePostCode.InsertData('7524', 'Zuoz', 'ZUOZ', '', 'GR', ''); + CreatePostCode.InsertData('7525', 'S-chanf', 'S-CHANF', '', 'GR', ''); + CreatePostCode.InsertData('7526', 'Cinuos-chel', 'CINUOS-CHEL', '', 'GR', ''); + CreatePostCode.InsertData('7527', 'Brail', 'BRAIL', '', 'GR', ''); + CreatePostCode.InsertData('7530', 'Zernez', 'ZERNEZ', '', 'GR', ''); + CreatePostCode.InsertData('7532', 'Tschierv', 'TSCHIERV', '', 'GR', ''); + CreatePostCode.InsertData('7533', 'Fuldera', 'FULDERA', '', 'GR', ''); + CreatePostCode.InsertData('7534', 'Lü', 'LÜ', '', 'GR', ''); + CreatePostCode.InsertData('7535', 'Valchava', 'VALCHAVA', '', 'GR', ''); + CreatePostCode.InsertData('7536', 'Sta. Maria Val Müstair', 'STA. MARIA VAL MÜSTAIR', '', 'GR', ''); + CreatePostCode.InsertData('7537', 'Müstair', 'MÜSTAIR', '', 'GR', ''); + CreatePostCode.InsertData('7542', 'Susch', 'SUSCH', '', 'GR', ''); + CreatePostCode.InsertData('7543', 'Lavin', 'LAVIN', '', 'GR', ''); + CreatePostCode.InsertData('7545', 'Guarda', 'GUARDA', '', 'GR', ''); + CreatePostCode.InsertData('7546', 'Ardez', 'ARDEZ', '', 'GR', ''); + CreatePostCode.InsertData('7550', 'Scuol', 'SCUOL', '', 'GR', ''); + CreatePostCode.InsertData('7551', 'Ftan', 'FTAN', '', 'GR', ''); + CreatePostCode.InsertData('7552', 'Vulpera', 'VULPERA', '', 'GR', ''); + CreatePostCode.InsertData('7553', 'Tarasp', 'TARASP', '', 'GR', ''); + CreatePostCode.InsertData('7554', 'Crusch', 'CRUSCH', '', 'GR', ''); + CreatePostCode.InsertData('7554', 'Sent', 'SENT', '', 'GR', ''); + CreatePostCode.InsertData('7556', 'Ramosch', 'RAMOSCH', '', 'GR', ''); + CreatePostCode.InsertData('7557', 'Vnà', 'VNÀ', '', 'GR', ''); + CreatePostCode.InsertData('7558', 'Strada', 'STRADA', '', 'GR', ''); + CreatePostCode.InsertData('7559', 'Tschlin', 'TSCHLIN', '', 'GR', ''); + CreatePostCode.InsertData('7560', 'Martina', 'MARTINA', '', 'GR', ''); + CreatePostCode.InsertData('7562', 'Samnaun-Compatsch', 'SAMNAUN-COMPATSCH', '', 'GR', ''); + CreatePostCode.InsertData('7563', 'Samnaun Dorf', 'SAMNAUN DORF', '', 'GR', ''); + CreatePostCode.InsertData('7602', 'Casaccia', 'CASACCIA', '', 'GR', ''); + CreatePostCode.InsertData('7603', 'Vicosoprano', 'VICOSOPRANO', '', 'GR', ''); + CreatePostCode.InsertData('7604', 'Borgonovo', 'BORGONOVO', '', 'GR', ''); + CreatePostCode.InsertData('7605', 'Stampa', 'STAMPA', '', 'GR', ''); + CreatePostCode.InsertData('7606', 'Promontogno', 'PROMONTOGNO', '', 'GR', ''); + CreatePostCode.InsertData('7608', 'Castasegna', 'CASTASEGNA', '', 'GR', ''); + CreatePostCode.InsertData('7610', 'Soglio', 'SOGLIO', '', 'GR', ''); + CreatePostCode.InsertData('7710', 'Alp Grüm', 'ALP GRÜM', '', 'GR', ''); + CreatePostCode.InsertData('7710', 'Ospizio Bernina', 'OSPIZIO BERNINA', '', 'GR', ''); + CreatePostCode.InsertData('7741', 'S. Carlo (Poschiavo)', 'S. CARLO (POSCHIAVO)', '', 'GR', ''); + CreatePostCode.InsertData('7742', 'La Rösa', 'LA RÖSA', '', 'GR', ''); + CreatePostCode.InsertData('7742', 'Poschiavo', 'POSCHIAVO', '', 'GR', ''); + CreatePostCode.InsertData('7742', 'Sfazù', 'SFAZÙ', '', 'GR', ''); + CreatePostCode.InsertData('7743', 'Brusio', 'BRUSIO', '', 'GR', ''); + CreatePostCode.InsertData('7743', 'Miralago', 'MIRALAGO', '', 'GR', ''); + CreatePostCode.InsertData('7744', 'Campocologno', 'CAMPOCOLOGNO', '', 'GR', ''); + CreatePostCode.InsertData('7745', 'Li Curt', 'LI CURT', '', 'GR', ''); + CreatePostCode.InsertData('7746', 'Le Prese', 'LE PRESE', '', 'GR', ''); + CreatePostCode.InsertData('7747', 'Viano', 'VIANO', '', 'GR', ''); + CreatePostCode.InsertData('7748', 'Campascio', 'CAMPASCIO', '', 'GR', ''); + CreatePostCode.InsertData('8000', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8001', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8002', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8002', 'Zürich Enge PF Filiale', 'ZÜRICH ENGE PF FILIALE', '', 'ZH', ''); + CreatePostCode.InsertData('8003', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8004', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8005', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8006', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8006', 'Zürich Asendia', 'ZÜRICH ASENDIA', '', 'ZH', ''); + CreatePostCode.InsertData('8008', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8008', 'Zürich Tiefenbrunnen SBB', 'ZÜRICH TIEFENBRUNNEN SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich Briefzentrum', 'ZÜRICH BRIEFZENTRUM', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich BZ Annahme', 'ZÜRICH BZ ANNAHME', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich BZ Brieflklinik', 'ZÜRICH BZ BRIEFLKLINIK', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich BZ FP', 'ZÜRICH BZ FP', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich BZI DE', 'ZÜRICH BZI DE', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich CS Annahme', 'ZÜRICH CS ANNAHME', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich Helsana Annahme', 'ZÜRICH HELSANA ANNAHME', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich Kanton Annahme', 'ZÜRICH KANTON ANNAHME', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich Mülligen PL', 'ZÜRICH MÜLLIGEN PL', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich SPS', 'ZÜRICH SPS', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich-Mülligen BZI', 'ZÜRICH-MÜLLIGEN BZI', '', 'ZH', ''); + CreatePostCode.InsertData('8010', 'Zürich-Mülligen SPS AG', 'ZÜRICH-MÜLLIGEN SPS AG', '', 'ZH', ''); + CreatePostCode.InsertData('8011', 'Zürich Mülligen SC', 'ZÜRICH MÜLLIGEN SC', '', 'ZH', ''); + CreatePostCode.InsertData('8012', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8015', 'Zürich 15', 'ZÜRICH 15', '', 'ZH', ''); + CreatePostCode.InsertData('8016', 'Zürich 16 Zustellung', 'ZÜRICH 16 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8020', 'Zürich 1', 'ZÜRICH 1', '', 'ZH', ''); + CreatePostCode.InsertData('8021', 'Zürich 1', 'ZÜRICH 1', '', 'ZH', ''); + CreatePostCode.InsertData('8021', 'Zürich 1 Sihlpost', 'ZÜRICH 1 SIHLPOST', '', 'ZH', ''); + CreatePostCode.InsertData('8022', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8023', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8024', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8026', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8027', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8030', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8031', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8032', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8032', 'Zürich 32 Zustellung', 'ZÜRICH 32 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8033', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8034', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8036', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8036', 'Zürich Corona', 'ZÜRICH CORONA', '', 'ZH', ''); + CreatePostCode.InsertData('8037', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8037', 'Zürich 37 Zustellung', 'ZÜRICH 37 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8038', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8039', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8040', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8041', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8042', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8044', 'Gockhausen', 'GOCKHAUSEN', '', 'ZH', ''); + CreatePostCode.InsertData('8044', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8045', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8046', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8047', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8048', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8049', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8049', 'Zürich Rütihof (Höngg)', 'ZÜRICH RÜTIHOF (HÖNGG)', '', 'ZH', ''); + CreatePostCode.InsertData('8050', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8050', 'Zürich 50 Zustellung', 'ZÜRICH 50 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8050', 'Zürich Dist Ba', 'ZÜRICH DIST BA', '', 'ZH', ''); + CreatePostCode.InsertData('8050', 'Zürich Nord VZ', 'ZÜRICH NORD VZ', '', 'ZH', ''); + CreatePostCode.InsertData('8050', 'Zürich Oerlikon DB PickPost', 'ZÜRICH OERLIKON DB PICKPOST', '', 'ZH', ''); + CreatePostCode.InsertData('8050', 'Zürich Postauto Zürich', 'ZÜRICH POSTAUTO ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8051', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8052', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8053', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8055', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8057', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8058', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8059', 'Zürich 59 Ausland', 'ZÜRICH 59 AUSLAND', '', 'ZH', ''); + CreatePostCode.InsertData('8059', 'Zürich 59 Exchange Office', 'ZÜRICH 59 EXCHANGE OFFICE', '', 'ZH', ''); + CreatePostCode.InsertData('8060', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8061', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8063', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8064', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8066', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8068', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8070', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8071', 'Zürich CS PZ', 'ZÜRICH CS PZ', '', 'ZH', ''); + CreatePostCode.InsertData('8074', 'Zürich Voice Publishing', 'ZÜRICH VOICE PUBLISHING', '', 'ZH', ''); + CreatePostCode.InsertData('8075', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8080', 'Zürich 80', 'ZÜRICH 80', '', 'ZH', ''); + CreatePostCode.InsertData('8080', 'Zürich PV', 'ZÜRICH PV', '', 'ZH', ''); + CreatePostCode.InsertData('8080', 'Zürich West SPS', 'ZÜRICH WEST SPS', '', 'ZH', ''); + CreatePostCode.InsertData('8081', 'Zürich Helsana', 'ZÜRICH HELSANA', '', 'ZH', ''); + CreatePostCode.InsertData('8085', 'Zürich Versicherung', 'ZÜRICH VERSICHERUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8086', 'Zürich Reader''s Digest', 'ZÜRICH READER''S DIGEST', '', 'ZH', ''); + CreatePostCode.InsertData('8087', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8088', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8090', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8091', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8092', 'Zürich ETH-Zentrum', 'ZÜRICH ETH-ZENTRUM', '', 'ZH', ''); + CreatePostCode.InsertData('8093', 'Zürich ETH-Hönggerberg', 'ZÜRICH ETH-HÖNGGERBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8096', 'Zürich IBRS local', 'ZÜRICH IBRS LOCAL', '', 'ZH', ''); + CreatePostCode.InsertData('8098', 'Zürich', 'ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8099', 'Zürich Sonderdienste', 'ZÜRICH SONDERDIENSTE', '', 'ZH', ''); + CreatePostCode.InsertData('8102', 'Oberengstringen', 'OBERENGSTRINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8103', 'Unterengstringen', 'UNTERENGSTRINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8104', 'Weiningen ZH', 'WEININGEN ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8105', 'Regensdorf', 'REGENSDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8105', 'Regensdorf 1 Zustellung', 'REGENSDORF 1 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8105', 'Watt', 'WATT', '', 'ZH', ''); + CreatePostCode.InsertData('8106', 'Adlikon b. Regensdorf', 'ADLIKON B. REGENSDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8107', 'Buchs ZH', 'BUCHS ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8107', 'Buchs ZH Zustellung', 'BUCHS ZH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8108', 'Dällikon', 'DÄLLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8109', 'Kloster Fahr', 'KLOSTER FAHR', '', 'AG', ''); + CreatePostCode.InsertData('8112', 'Otelfingen', 'OTELFINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8113', 'Boppelsen', 'BOPPELSEN', '', 'ZH', ''); + CreatePostCode.InsertData('8114', 'Dänikon ZH', 'DÄNIKON ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8115', 'Hüttikon', 'HÜTTIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8117', 'Fällanden', 'FÄLLANDEN', '', 'ZH', ''); + CreatePostCode.InsertData('8118', 'Pfaffhausen', 'PFAFFHAUSEN', '', 'ZH', ''); + CreatePostCode.InsertData('8121', 'Benglen', 'BENGLEN', '', 'ZH', ''); + CreatePostCode.InsertData('8122', 'Binz', 'BINZ', '', 'ZH', ''); + CreatePostCode.InsertData('8123', 'Ebmatingen', 'EBMATINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8124', 'Maur', 'MAUR', '', 'ZH', ''); + CreatePostCode.InsertData('8125', 'Zollikerberg', 'ZOLLIKERBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8126', 'Zumikon', 'ZUMIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8126', 'Zumikon Zustellung', 'ZUMIKON ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8127', 'Forch', 'FORCH', '', 'ZH', ''); + CreatePostCode.InsertData('8132', 'Egg b. Zürich', 'EGG B. ZÜRICH', '', 'ZH', ''); + CreatePostCode.InsertData('8132', 'Egg b. Zürich Zustellung', 'EGG B. ZÜRICH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8132', 'Hinteregg', 'HINTEREGG', '', 'ZH', ''); + CreatePostCode.InsertData('8133', 'Esslingen', 'ESSLINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8134', 'Adliswil', 'ADLISWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8134', 'Adliswil 1', 'ADLISWIL 1', '', 'ZH', ''); + CreatePostCode.InsertData('8134', 'Adliswil 1 Zustellung', 'ADLISWIL 1 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8134', 'Adliswil Sood', 'ADLISWIL SOOD', '', 'ZH', ''); + CreatePostCode.InsertData('8135', 'Langnau am Albis', 'LANGNAU AM ALBIS', '', 'ZH', ''); + CreatePostCode.InsertData('8135', 'Sihlbrugg Station', 'SIHLBRUGG STATION', '', 'ZH', ''); + CreatePostCode.InsertData('8135', 'Sihlwald', 'SIHLWALD', '', 'ZH', ''); + CreatePostCode.InsertData('8136', 'Gattikon', 'GATTIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8142', 'Uitikon Waldegg', 'UITIKON WALDEGG', '', 'ZH', ''); + CreatePostCode.InsertData('8143', 'Stallikon', 'STALLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8143', 'Uetliberg', 'UETLIBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8152', 'Glattbrugg', 'GLATTBRUGG', '', 'ZH', ''); + CreatePostCode.InsertData('8152', 'Glattbrugg Zustellung', 'GLATTBRUGG ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8152', 'Glattpark (Opfikon)', 'GLATTPARK (OPFIKON)', '', 'ZH', ''); + CreatePostCode.InsertData('8152', 'Opfikon', 'OPFIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8153', 'Rümlang', 'RÜMLANG', '', 'ZH', ''); + CreatePostCode.InsertData('8153', 'Rümlang Tankstelle Shell', 'RÜMLANG TANKSTELLE SHELL', '', 'ZH', ''); + CreatePostCode.InsertData('8154', 'Oberglatt ZH', 'OBERGLATT ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8155', 'Nassenwil', 'NASSENWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8155', 'Niederhasli', 'NIEDERHASLI', '', 'ZH', ''); + CreatePostCode.InsertData('8156', 'Oberhasli', 'OBERHASLI', '', 'ZH', ''); + CreatePostCode.InsertData('8157', 'Dielsdorf', 'DIELSDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8157', 'Dielsdorf Zustellung', 'DIELSDORF ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8158', 'Regensberg', 'REGENSBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8162', 'Steinmaur', 'STEINMAUR', '', 'ZH', ''); + CreatePostCode.InsertData('8162', 'Sünikon', 'SÜNIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8164', 'Bachs', 'BACHS', '', 'ZH', ''); + CreatePostCode.InsertData('8165', 'Oberweningen', 'OBERWENINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8165', 'Schleinikon', 'SCHLEINIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8165', 'Schöfflisdorf', 'SCHÖFFLISDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8166', 'Niederweningen', 'NIEDERWENINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8172', 'Niederglatt ZH', 'NIEDERGLATT ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8173', 'Neerach', 'NEERACH', '', 'ZH', ''); + CreatePostCode.InsertData('8174', 'Stadel b. Niederglatt', 'STADEL B. NIEDERGLATT', '', 'ZH', ''); + CreatePostCode.InsertData('8175', 'Windlach', 'WINDLACH', '', 'ZH', ''); + CreatePostCode.InsertData('8180', 'Bülach', 'BÜLACH', '', 'ZH', ''); + CreatePostCode.InsertData('8180', 'Bülach Bahnhof SBB', 'BÜLACH BAHNHOF SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8180', 'Bülach Kaserne', 'BÜLACH KASERNE', '', 'ZH', ''); + CreatePostCode.InsertData('8180', 'Bülach Zustellung', 'BÜLACH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8181', 'Höri', 'HÖRI', '', 'ZH', ''); + CreatePostCode.InsertData('8182', 'Hochfelden', 'HOCHFELDEN', '', 'ZH', ''); + CreatePostCode.InsertData('8183', 'Bülach Dist Ba', 'BÜLACH DIST BA', '', 'ZH', ''); + CreatePostCode.InsertData('8184', 'Bachenbülach', 'BACHENBÜLACH', '', 'ZH', ''); + CreatePostCode.InsertData('8185', 'Winkel', 'WINKEL', '', 'ZH', ''); + CreatePostCode.InsertData('8187', 'Weiach', 'WEIACH', '', 'ZH', ''); + CreatePostCode.InsertData('8192', 'Glattfelden', 'GLATTFELDEN', '', 'ZH', ''); + CreatePostCode.InsertData('8192', 'Zweidlen', 'ZWEIDLEN', '', 'ZH', ''); + CreatePostCode.InsertData('8193', 'Eglisau', 'EGLISAU', '', 'ZH', ''); + CreatePostCode.InsertData('8194', 'Hüntwangen', 'HÜNTWANGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8195', 'Wasterkingen', 'WASTERKINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8196', 'Wil ZH', 'WIL ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8197', 'Rafz', 'RAFZ', '', 'ZH', ''); + CreatePostCode.InsertData('8200', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8200', 'Schaffhausen 1', 'SCHAFFHAUSEN 1', '', 'SH', ''); + CreatePostCode.InsertData('8200', 'Schaffhausen 1 Zust', 'SCHAFFHAUSEN 1 ZUST', '', 'SH', ''); + CreatePostCode.InsertData('8200', 'Schaffhausen PF', 'SCHAFFHAUSEN PF', '', 'SH', ''); + CreatePostCode.InsertData('8201', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8202', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8203', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8204', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8205', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8207', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8208', 'Schaffhausen', 'SCHAFFHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8210', 'Schaffhausen Dist Ba', 'SCHAFFHAUSEN DIST BA', '', 'SH', ''); + CreatePostCode.InsertData('8212', 'Neuhausen am Rheinfall', 'NEUHAUSEN AM RHEINFALL', '', 'SH', ''); + CreatePostCode.InsertData('8212', 'Neuhausen am Rheinfall 1', 'NEUHAUSEN AM RHEINFALL 1', '', 'SH', ''); + CreatePostCode.InsertData('8212', 'Neuhausen Rundbuck', 'NEUHAUSEN RUNDBUCK', '', 'SH', ''); + CreatePostCode.InsertData('8212', 'Nohl', 'NOHL', '', 'ZH', ''); + CreatePostCode.InsertData('8213', 'Neunkirch', 'NEUNKIRCH', '', 'SH', ''); + CreatePostCode.InsertData('8214', 'Gächlingen', 'GÄCHLINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8215', 'Hallau', 'HALLAU', '', 'SH', ''); + CreatePostCode.InsertData('8216', 'Oberhallau', 'OBERHALLAU', '', 'SH', ''); + CreatePostCode.InsertData('8217', 'Wilchingen', 'WILCHINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8218', 'Osterfingen', 'OSTERFINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8219', 'Trasadingen', 'TRASADINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8222', 'Beringen', 'BERINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8223', 'Guntmadingen', 'GUNTMADINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8224', 'Löhningen', 'LÖHNINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8225', 'Siblingen', 'SIBLINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8226', 'Schleitheim', 'SCHLEITHEIM', '', 'SH', ''); + CreatePostCode.InsertData('8228', 'Beggingen', 'BEGGINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8231', 'Hemmental', 'HEMMENTAL', '', 'SH', ''); + CreatePostCode.InsertData('8232', 'Merishausen', 'MERISHAUSEN', '', 'SH', ''); + CreatePostCode.InsertData('8233', 'Bargen SH', 'BARGEN SH', '', 'SH', ''); + CreatePostCode.InsertData('8234', 'Stetten SH', 'STETTEN SH', '', 'SH', ''); + CreatePostCode.InsertData('8235', 'Lohn SH', 'LOHN SH', '', 'SH', ''); + CreatePostCode.InsertData('8236', 'Büttenhardt', 'BÜTTENHARDT', '', 'SH', ''); + CreatePostCode.InsertData('8236', 'Opfertshofen SH', 'OPFERTSHOFEN SH', '', 'SH', ''); + CreatePostCode.InsertData('8238', 'Büsingen', 'BÜSINGEN', '', 'DE', ''); + CreatePostCode.InsertData('8239', 'Dörflingen', 'DÖRFLINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8240', 'Thayngen', 'THAYNGEN', '', 'SH', ''); + CreatePostCode.InsertData('8240', 'Thayngen Zustellung', 'THAYNGEN ZUSTELLUNG', '', 'SH', ''); + CreatePostCode.InsertData('8241', 'Barzheim', 'BARZHEIM', '', 'SH', ''); + CreatePostCode.InsertData('8242', 'Bibern SH', 'BIBERN SH', '', 'SH', ''); + CreatePostCode.InsertData('8242', 'Hofen SH', 'HOFEN SH', '', 'SH', ''); + CreatePostCode.InsertData('8243', 'Altdorf SH', 'ALTDORF SH', '', 'SH', ''); + CreatePostCode.InsertData('8245', 'Feuerthalen', 'FEUERTHALEN', '', 'ZH', ''); + CreatePostCode.InsertData('8246', 'Langwiesen', 'LANGWIESEN', '', 'ZH', ''); + CreatePostCode.InsertData('8247', 'Flurlingen', 'FLURLINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8248', 'Uhwiesen', 'UHWIESEN', '', 'ZH', ''); + CreatePostCode.InsertData('8252', 'Schlatt TG', 'SCHLATT TG', '', 'TG', ''); + CreatePostCode.InsertData('8253', 'Diessenhofen', 'DIESSENHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8253', 'Diessenhofen Zustellung', 'DIESSENHOFEN ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('8253', 'Willisdorf', 'WILLISDORF', '', 'TG', ''); + CreatePostCode.InsertData('8254', 'Basadingen', 'BASADINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8255', 'Schlattingen', 'SCHLATTINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8259', 'Etzwilen', 'ETZWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8259', 'Kaltenbach', 'KALTENBACH', '', 'TG', ''); + CreatePostCode.InsertData('8259', 'Rheinklingen', 'RHEINKLINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8259', 'Wagenhausen', 'WAGENHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8260', 'Stein am Rhein', 'STEIN AM RHEIN', '', 'SH', ''); + CreatePostCode.InsertData('8260', 'Stein am Rhein 1', 'STEIN AM RHEIN 1', '', 'SH', ''); + CreatePostCode.InsertData('8260', 'Stein am Rhein 1 Zustellung', 'STEIN AM RHEIN 1 ZUSTELLUNG', '', 'SH', ''); + CreatePostCode.InsertData('8260', 'Stein am Rhein 2 Stadt', 'STEIN AM RHEIN 2 STADT', '', 'SH', ''); + CreatePostCode.InsertData('8261', 'Hemishofen', 'HEMISHOFEN', '', 'SH', ''); + CreatePostCode.InsertData('8262', 'Ramsen', 'RAMSEN', '', 'SH', ''); + CreatePostCode.InsertData('8263', 'Buch SH', 'BUCH SH', '', 'SH', ''); + CreatePostCode.InsertData('8264', 'Eschenz', 'ESCHENZ', '', 'TG', ''); + CreatePostCode.InsertData('8265', 'Mammern', 'MAMMERN', '', 'TG', ''); + CreatePostCode.InsertData('8266', 'Steckborn', 'STECKBORN', '', 'TG', ''); + CreatePostCode.InsertData('8267', 'Berlingen', 'BERLINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8268', 'Mannenbach-Salenstein', 'MANNENBACH-SALENSTEIN', '', 'TG', ''); + CreatePostCode.InsertData('8268', 'Salenstein', 'SALENSTEIN', '', 'TG', ''); + CreatePostCode.InsertData('8269', 'Fruthwilen', 'FRUTHWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8272', 'Ermatingen', 'ERMATINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8273', 'Triboltingen', 'TRIBOLTINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8274', 'Gottlieben', 'GOTTLIEBEN', '', 'TG', ''); + CreatePostCode.InsertData('8274', 'Tägerwilen', 'TÄGERWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8280', 'Kreuzlingen', 'KREUZLINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8280', 'Kreuzlingen 1', 'KREUZLINGEN 1', '', 'TG', ''); + CreatePostCode.InsertData('8280', 'Kreuzlingen 1 Zustellung', 'KREUZLINGEN 1 ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('8280', 'Kreuzlingen 2', 'KREUZLINGEN 2', '', 'TG', ''); + CreatePostCode.InsertData('8280', 'Kreuzlingen 3', 'KREUZLINGEN 3', '', 'TG', ''); + CreatePostCode.InsertData('8285', 'Kreuzlingen Ifolor AG', 'KREUZLINGEN IFOLOR AG', '', 'TG', ''); + CreatePostCode.InsertData('8301', 'Glattzentrum b. Wallisellen', 'GLATTZENTRUM B. WALLISELLEN', '', 'ZH', ''); + CreatePostCode.InsertData('8302', 'Kloten', 'KLOTEN', '', 'ZH', ''); + CreatePostCode.InsertData('8302', 'Kloten Bahnhof SBB', 'KLOTEN BAHNHOF SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8302', 'Kloten Kaserne', 'KLOTEN KASERNE', '', 'ZH', ''); + CreatePostCode.InsertData('8302', 'Kloten Zustellung', 'KLOTEN ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8303', 'Bassersdorf', 'BASSERSDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8304', 'Wallisellen', 'WALLISELLEN', '', 'ZH', ''); + CreatePostCode.InsertData('8304', 'Wallisellen Zustellung', 'WALLISELLEN ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8305', 'Dietlikon', 'DIETLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8305', 'Dietlikon Shell', 'DIETLIKON SHELL', '', 'ZH', ''); + CreatePostCode.InsertData('8306', 'Brüttisellen', 'BRÜTTISELLEN', '', 'ZH', ''); + CreatePostCode.InsertData('8307', 'Effretikon', 'EFFRETIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8307', 'Effretikon Bahnhof SBB', 'EFFRETIKON BAHNHOF SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8307', 'Effretikon PostAuto AG', 'EFFRETIKON POSTAUTO AG', '', 'ZH', ''); + CreatePostCode.InsertData('8307', 'Effretikon Zustellung', 'EFFRETIKON ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8307', 'Ottikon b. Kemptthal', 'OTTIKON B. KEMPTTHAL', '', 'ZH', ''); + CreatePostCode.InsertData('8308', 'Agasul', 'AGASUL', '', 'ZH', ''); + CreatePostCode.InsertData('8308', 'Illnau', 'ILLNAU', '', 'ZH', ''); + CreatePostCode.InsertData('8309', 'Nürensdorf', 'NÜRENSDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8310', 'Grafstal', 'GRAFSTAL', '', 'ZH', ''); + CreatePostCode.InsertData('8310', 'Kemptthal', 'KEMPTTHAL', '', 'ZH', ''); + CreatePostCode.InsertData('8311', 'Brütten', 'BRÜTTEN', '', 'ZH', ''); + CreatePostCode.InsertData('8312', 'Winterberg ZH', 'WINTERBERG ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8314', 'Kyburg', 'KYBURG', '', 'ZH', ''); + CreatePostCode.InsertData('8315', 'Lindau', 'LINDAU', '', 'ZH', ''); + CreatePostCode.InsertData('8317', 'Tagelswangen', 'TAGELSWANGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8320', 'Fehraltorf', 'FEHRALTORF', '', 'ZH', ''); + CreatePostCode.InsertData('8322', 'Gündisau', 'GÜNDISAU', '', 'ZH', ''); + CreatePostCode.InsertData('8322', 'Madetswil', 'MADETSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8325', 'Effretikon Dist Ba', 'EFFRETIKON DIST BA', '', 'ZH', ''); + CreatePostCode.InsertData('8330', 'Pfäffikon ZH', 'PFÄFFIKON ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8330', 'Pfäffikon ZH Zustellung', 'PFÄFFIKON ZH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8331', 'Auslikon', 'AUSLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8332', 'Rumlikon', 'RUMLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8332', 'Russikon', 'RUSSIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8335', 'Hittnau', 'HITTNAU', '', 'ZH', ''); + CreatePostCode.InsertData('8340', 'Hinwil', 'HINWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8340', 'Hinwil VZ', 'HINWIL VZ', '', 'ZH', ''); + CreatePostCode.InsertData('8340', 'Hinwil Zustellung', 'HINWIL ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8342', 'Wernetshausen', 'WERNETSHAUSEN', '', 'ZH', ''); + CreatePostCode.InsertData('8343', 'Hinwil Dist Ba', 'HINWIL DIST BA', '', 'ZH', ''); + CreatePostCode.InsertData('8344', 'Bäretswil', 'BÄRETSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8345', 'Adetswil', 'ADETSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8352', 'Elsau', 'ELSAU', '', 'ZH', ''); + CreatePostCode.InsertData('8352', 'Ricketwil (Winterthur)', 'RICKETWIL (WINTERTHUR)', '', 'ZH', ''); + CreatePostCode.InsertData('8353', 'Elgg', 'ELGG', '', 'ZH', ''); + CreatePostCode.InsertData('8354', 'Hofstetten ZH', 'HOFSTETTEN ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8355', 'Aadorf', 'AADORF', '', 'TG', ''); + CreatePostCode.InsertData('8356', 'Ettenhausen TG', 'ETTENHAUSEN TG', '', 'TG', ''); + CreatePostCode.InsertData('8357', 'Guntershausen b. Aadorf', 'GUNTERSHAUSEN B. AADORF', '', 'TG', ''); + CreatePostCode.InsertData('8360', 'Eschlikon TG', 'ESCHLIKON TG', '', 'TG', ''); + CreatePostCode.InsertData('8360', 'Wallenwil', 'WALLENWIL', '', 'TG', ''); + CreatePostCode.InsertData('8362', 'Balterswil', 'BALTERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8362', 'Bichelsee-Balterswil', 'BICHELSEE-BALTERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8363', 'Bichelsee', 'BICHELSEE', '', 'TG', ''); + CreatePostCode.InsertData('8370', 'Sirnach', 'SIRNACH', '', 'TG', ''); + CreatePostCode.InsertData('8371', 'Busswil TG', 'BUSSWIL TG', '', 'TG', ''); + CreatePostCode.InsertData('8372', 'Wiezikon b. Sirnach', 'WIEZIKON B. SIRNACH', '', 'TG', ''); + CreatePostCode.InsertData('8374', 'Dussnang', 'DUSSNANG', '', 'TG', ''); + CreatePostCode.InsertData('8374', 'Oberwangen TG', 'OBERWANGEN TG', '', 'TG', ''); + CreatePostCode.InsertData('8376', 'Au TG', 'AU TG', '', 'TG', ''); + CreatePostCode.InsertData('8376', 'Fischingen', 'FISCHINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8400', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8400', 'Winterthur 1 Annahme', 'WINTERTHUR 1 ANNAHME', '', 'ZH', ''); + CreatePostCode.InsertData('8400', 'Winterthur Kaserne', 'WINTERTHUR KASERNE', '', 'ZH', ''); + CreatePostCode.InsertData('8400', 'Winterthur Zustellung', 'WINTERTHUR ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8401', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8402', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8403', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8404', 'Reutlingen (Winterthur)', 'REUTLINGEN (WINTERTHUR)', '', 'ZH', ''); + CreatePostCode.InsertData('8404', 'Stadel (Winterthur)', 'STADEL (WINTERTHUR)', '', 'ZH', ''); + CreatePostCode.InsertData('8404', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8404', 'Winterthur im LInk', 'WINTERTHUR IM LINK', '', 'ZH', ''); + CreatePostCode.InsertData('8405', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8405', 'Winterthur 5 Zustellung', 'WINTERTHUR 5 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8405', 'Winterthur Tösstalerstrasse', 'WINTERTHUR TÖSSTALERSTRASSE', '', 'ZH', ''); + CreatePostCode.InsertData('8406', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8406', 'Winterthur 6 Zustellung', 'WINTERTHUR 6 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8408', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8408', 'Winterthur 8 Zustellung', 'WINTERTHUR 8 ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8409', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8410', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8411', 'Winterthur', 'WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8411', 'Winterthur Pflanzschulstr', 'WINTERTHUR PFLANZSCHULSTR', '', 'ZH', ''); + CreatePostCode.InsertData('8412', 'Aesch (Neftenbach)', 'AESCH (NEFTENBACH)', '', 'ZH', ''); + CreatePostCode.InsertData('8412', 'Hünikon (Neftenbach)', 'HÜNIKON (NEFTENBACH)', '', 'ZH', ''); + CreatePostCode.InsertData('8412', 'Riet (Neftenbach)', 'RIET (NEFTENBACH)', '', 'ZH', ''); + CreatePostCode.InsertData('8413', 'Neftenbach', 'NEFTENBACH', '', 'ZH', ''); + CreatePostCode.InsertData('8414', 'Buch am Irchel', 'BUCH AM IRCHEL', '', 'ZH', ''); + CreatePostCode.InsertData('8415', 'Berg am Irchel', 'BERG AM IRCHEL', '', 'ZH', ''); + CreatePostCode.InsertData('8415', 'Gräslikon', 'GRÄSLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8416', 'Flaach', 'FLAACH', '', 'ZH', ''); + CreatePostCode.InsertData('8418', 'Schlatt b. Winterthur', 'SCHLATT B. WINTERTHUR', '', 'ZH', ''); + CreatePostCode.InsertData('8421', 'Dättlikon', 'DÄTTLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8422', 'Pfungen', 'PFUNGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8422', 'Pfungen PL3', 'PFUNGEN PL3', '', 'ZH', ''); + CreatePostCode.InsertData('8423', 'Embrach-Embraport', 'EMBRACH-EMBRAPORT', '', 'ZH', ''); + CreatePostCode.InsertData('8424', 'Embrach', 'EMBRACH', '', 'ZH', ''); + CreatePostCode.InsertData('8424', 'Embrach Zustellung', 'EMBRACH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8425', 'Oberembrach', 'OBEREMBRACH', '', 'ZH', ''); + CreatePostCode.InsertData('8426', 'Lufingen', 'LUFINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8427', 'Freienstein', 'FREIENSTEIN', '', 'ZH', ''); + CreatePostCode.InsertData('8427', 'Rorbas', 'RORBAS', '', 'ZH', ''); + CreatePostCode.InsertData('8427', 'Rorbas-Freienstein', 'RORBAS-FREIENSTEIN', '', 'ZH', ''); + CreatePostCode.InsertData('8428', 'Teufen ZH', 'TEUFEN ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8442', 'Hettlingen', 'HETTLINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8444', 'Henggart', 'HENGGART', '', 'ZH', ''); + CreatePostCode.InsertData('8447', 'Dachsen', 'DACHSEN', '', 'ZH', ''); + CreatePostCode.InsertData('8450', 'Andelfingen', 'ANDELFINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8450', 'Andelfingen Zustellung', 'ANDELFINGEN ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8451', 'Kleinandelfingen', 'KLEINANDELFINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8452', 'Adlikon b. Andelfingen', 'ADLIKON B. ANDELFINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8453', 'Alten', 'ALTEN', '', 'ZH', ''); + CreatePostCode.InsertData('8454', 'Buchberg', 'BUCHBERG', '', 'SH', ''); + CreatePostCode.InsertData('8455', 'Rüdlingen', 'RÜDLINGEN', '', 'SH', ''); + CreatePostCode.InsertData('8457', 'Humlikon', 'HUMLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8458', 'Dorf', 'DORF', '', 'ZH', ''); + CreatePostCode.InsertData('8459', 'Volken', 'VOLKEN', '', 'ZH', ''); + CreatePostCode.InsertData('8460', 'Marthalen', 'MARTHALEN', '', 'ZH', ''); + CreatePostCode.InsertData('8461', 'Oerlingen', 'OERLINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8462', 'Rheinau', 'RHEINAU', '', 'ZH', ''); + CreatePostCode.InsertData('8463', 'Benken ZH', 'BENKEN ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8464', 'Ellikon am Rhein', 'ELLIKON AM RHEIN', '', 'ZH', ''); + CreatePostCode.InsertData('8465', 'Rudolfingen', 'RUDOLFINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8465', 'Wildensbuch', 'WILDENSBUCH', '', 'ZH', ''); + CreatePostCode.InsertData('8466', 'Trüllikon', 'TRÜLLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8467', 'Truttikon', 'TRUTTIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8468', 'Guntalingen', 'GUNTALINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8468', 'Waltalingen', 'WALTALINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8471', 'Bänk (Dägerlen)', 'BÄNK (DÄGERLEN)', '', 'ZH', ''); + CreatePostCode.InsertData('8471', 'Berg (Dägerlen)', 'BERG (DÄGERLEN)', '', 'ZH', ''); + CreatePostCode.InsertData('8471', 'Dägerlen', 'DÄGERLEN', '', 'ZH', ''); + CreatePostCode.InsertData('8471', 'Oberwil (Dägerlen)', 'OBERWIL (DÄGERLEN)', '', 'ZH', ''); + CreatePostCode.InsertData('8471', 'Rutschwil (Dägerlen)', 'RUTSCHWIL (DÄGERLEN)', '', 'ZH', ''); + CreatePostCode.InsertData('8472', 'Seuzach', 'SEUZACH', '', 'ZH', ''); + CreatePostCode.InsertData('8472', 'Seuzach Zustellung', 'SEUZACH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8474', 'Dinhard', 'DINHARD', '', 'ZH', ''); + CreatePostCode.InsertData('8475', 'Ossingen', 'OSSINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8476', 'Unterstammheim', 'UNTERSTAMMHEIM', '', 'ZH', ''); + CreatePostCode.InsertData('8477', 'Oberstammheim', 'OBERSTAMMHEIM', '', 'ZH', ''); + CreatePostCode.InsertData('8478', 'Thalheim an der Thur', 'THALHEIM AN DER THUR', '', 'ZH', ''); + CreatePostCode.InsertData('8479', 'Altikon', 'ALTIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8482', 'Sennhof (Winterthur)', 'SENNHOF (WINTERTHUR)', '', 'ZH', ''); + CreatePostCode.InsertData('8483', 'Kollbrunn', 'KOLLBRUNN', '', 'ZH', ''); + CreatePostCode.InsertData('8484', 'Neschwil', 'NESCHWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8484', 'Theilingen', 'THEILINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8484', 'Weisslingen', 'WEISSLINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8486', 'Rikon im Tösstal', 'RIKON IM TÖSSTAL', '', 'ZH', ''); + CreatePostCode.InsertData('8487', 'Rämismühle', 'RÄMISMÜHLE', '', 'ZH', ''); + CreatePostCode.InsertData('8487', 'Zell ZH', 'ZELL ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8488', 'Turbenthal', 'TURBENTHAL', '', 'ZH', ''); + CreatePostCode.InsertData('8488', 'Turbenthal Zustellung', 'TURBENTHAL ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8489', 'Wildberg', 'WILDBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8492', 'Wila', 'WILA', '', 'ZH', ''); + CreatePostCode.InsertData('8493', 'Saland', 'SALAND', '', 'ZH', ''); + CreatePostCode.InsertData('8494', 'Bauma', 'BAUMA', '', 'ZH', ''); + CreatePostCode.InsertData('8494', 'Bauma Zustellung', 'BAUMA ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8495', 'Schmidrüti', 'SCHMIDRÜTI', '', 'ZH', ''); + CreatePostCode.InsertData('8496', 'Steg im Tösstal', 'STEG IM TÖSSTAL', '', 'ZH', ''); + CreatePostCode.InsertData('8497', 'Fischenthal', 'FISCHENTHAL', '', 'ZH', ''); + CreatePostCode.InsertData('8498', 'Gibswil', 'GIBSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8499', 'Sternenberg', 'STERNENBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8500', 'Frauenfeld', 'FRAUENFELD', '', 'TG', ''); + CreatePostCode.InsertData('8500', 'Frauenfeld 1', 'FRAUENFELD 1', '', 'TG', ''); + CreatePostCode.InsertData('8500', 'Frauenfeld 1 Zustellung', 'FRAUENFELD 1 ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('8500', 'Frauenfeld Kaserne', 'FRAUENFELD KASERNE', '', 'TG', ''); + CreatePostCode.InsertData('8500', 'Frauenfeld Postauto TG-SH', 'FRAUENFELD POSTAUTO TG-SH', '', 'TG', ''); + CreatePostCode.InsertData('8500', 'Gerlikon', 'GERLIKON', '', 'TG', ''); + CreatePostCode.InsertData('8501', 'Frauenfeld', 'FRAUENFELD', '', 'TG', ''); + CreatePostCode.InsertData('8502', 'Frauenfeld', 'FRAUENFELD', '', 'TG', ''); + CreatePostCode.InsertData('8503', 'Frauenfeld', 'FRAUENFELD', '', 'TG', ''); + CreatePostCode.InsertData('8505', 'Dettighofen', 'DETTIGHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8505', 'Pfyn', 'PFYN', '', 'TG', ''); + CreatePostCode.InsertData('8506', 'Lanzenneunforn', 'LANZENNEUNFORN', '', 'TG', ''); + CreatePostCode.InsertData('8507', 'Hörhausen', 'HÖRHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8508', 'Homburg', 'HOMBURG', '', 'TG', ''); + CreatePostCode.InsertData('8509', 'Frauenfeld', 'FRAUENFELD', '', 'TG', ''); + CreatePostCode.InsertData('8510', 'Frauenfeld Kant. Verwaltung', 'FRAUENFELD KANT. VERWALTUNG', '', 'TG', ''); + CreatePostCode.InsertData('8512', 'Lustdorf', 'LUSTDORF', '', 'TG', ''); + CreatePostCode.InsertData('8512', 'Thundorf', 'THUNDORF', '', 'TG', ''); + CreatePostCode.InsertData('8512', 'Wetzikon TG', 'WETZIKON TG', '', 'TG', ''); + CreatePostCode.InsertData('8514', 'Amlikon-Bissegg', 'AMLIKON-BISSEGG', '', 'TG', ''); + CreatePostCode.InsertData('8520', 'Frauenfeld Dist Ba', 'FRAUENFELD DIST BA', '', 'TG', ''); + CreatePostCode.InsertData('8520', 'Frauenfeld Paketzentrum', 'FRAUENFELD PAKETZENTRUM', '', 'TG', ''); + CreatePostCode.InsertData('8522', 'Aawangen', 'AAWANGEN', '', 'TG', ''); + CreatePostCode.InsertData('8522', 'Häuslenen', 'HÄUSLENEN', '', 'TG', ''); + CreatePostCode.InsertData('8523', 'Hagenbuch ZH', 'HAGENBUCH ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8524', 'Buch b. Frauenfeld', 'BUCH B. FRAUENFELD', '', 'TG', ''); + CreatePostCode.InsertData('8524', 'Uesslingen', 'UESSLINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8525', 'Niederneunforn', 'NIEDERNEUNFORN', '', 'TG', ''); + CreatePostCode.InsertData('8525', 'Wilen b. Neunforn', 'WILEN B. NEUNFORN', '', 'TG', ''); + CreatePostCode.InsertData('8526', 'Oberneunforn', 'OBERNEUNFORN', '', 'TG', ''); + CreatePostCode.InsertData('8530', 'Frauenfeld CALL', 'FRAUENFELD CALL', '', 'TG', ''); + CreatePostCode.InsertData('8532', 'Warth', 'WARTH', '', 'TG', ''); + CreatePostCode.InsertData('8532', 'Weiningen TG', 'WEININGEN TG', '', 'TG', ''); + CreatePostCode.InsertData('8535', 'Herdern', 'HERDERN', '', 'TG', ''); + CreatePostCode.InsertData('8536', 'Hüttwilen', 'HÜTTWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8537', 'Nussbaumen TG', 'NUSSBAUMEN TG', '', 'TG', ''); + CreatePostCode.InsertData('8537', 'Uerschhausen', 'UERSCHHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8540', 'Frauenfeld ST PP 1', 'FRAUENFELD ST PP 1', '', 'TG', ''); + CreatePostCode.InsertData('8542', 'Wiesendangen', 'WIESENDANGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8543', 'Bertschikon', 'BERTSCHIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8543', 'Gundetswil', 'GUNDETSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8543', 'Kefikon ZH', 'KEFIKON ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8544', 'Attikon', 'ATTIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8545', 'Rickenbach Sulz', 'RICKENBACH SULZ', '', 'ZH', ''); + CreatePostCode.InsertData('8545', 'Rickenbach ZH', 'RICKENBACH ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8546', 'Islikon', 'ISLIKON', '', 'TG', ''); + CreatePostCode.InsertData('8546', 'Kefikon TG', 'KEFIKON TG', '', 'TG', ''); + CreatePostCode.InsertData('8546', 'Menzengrüt', 'MENZENGRÜT', '', 'ZH', ''); + CreatePostCode.InsertData('8547', 'Gachnang', 'GACHNANG', '', 'TG', ''); + CreatePostCode.InsertData('8548', 'Ellikon an der Thur', 'ELLIKON AN DER THUR', '', 'ZH', ''); + CreatePostCode.InsertData('8552', 'Felben-Wellhausen', 'FELBEN-WELLHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8553', 'Eschikofen', 'ESCHIKOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8553', 'Harenwilen', 'HARENWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8553', 'Hüttlingen', 'HÜTTLINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8553', 'Hüttlingen-Mettendorf', 'HÜTTLINGEN-METTENDORF', '', 'TG', ''); + CreatePostCode.InsertData('8553', 'Mettendorf TG', 'METTENDORF TG', '', 'TG', ''); + CreatePostCode.InsertData('8554', 'Bonau', 'BONAU', '', 'TG', ''); + CreatePostCode.InsertData('8554', 'Müllheim-Wigoltingen', 'MÜLLHEIM-WIGOLTINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8555', 'Müllheim Dorf', 'MÜLLHEIM DORF', '', 'TG', ''); + CreatePostCode.InsertData('8556', 'Engwang', 'ENGWANG', '', 'TG', ''); + CreatePostCode.InsertData('8556', 'Illhart', 'ILLHART', '', 'TG', ''); + CreatePostCode.InsertData('8556', 'Lamperswil TG', 'LAMPERSWIL TG', '', 'TG', ''); + CreatePostCode.InsertData('8556', 'Wigoltingen', 'WIGOLTINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8558', 'Raperswilen', 'RAPERSWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8560', 'Märstetten', 'MÄRSTETTEN', '', 'TG', ''); + CreatePostCode.InsertData('8561', 'Ottoberg', 'OTTOBERG', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Engwilen', 'ENGWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Gunterswilen', 'GUNTERSWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Hattenhausen', 'HATTENHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Hefenhausen', 'HEFENHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Lipperswil', 'LIPPERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Sonterswil', 'SONTERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Wagerswil', 'WAGERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8564', 'Wäldi', 'WÄLDI', '', 'TG', ''); + CreatePostCode.InsertData('8565', 'Hugelshofen', 'HUGELSHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8566', 'Dotnacht', 'DOTNACHT', '', 'TG', ''); + CreatePostCode.InsertData('8566', 'Ellighausen', 'ELLIGHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8566', 'Lippoldswilen', 'LIPPOLDSWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8566', 'Neuwilen', 'NEUWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8570', 'Weinfelden', 'WEINFELDEN', '', 'TG', ''); + CreatePostCode.InsertData('8570', 'Weinfelden Zustellung', 'WEINFELDEN ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('8572', 'Andhausen', 'ANDHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8572', 'Berg TG', 'BERG TG', '', 'TG', ''); + CreatePostCode.InsertData('8572', 'Graltshausen', 'GRALTSHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8572', 'Guntershausen b. Berg', 'GUNTERSHAUSEN B. BERG', '', 'TG', ''); + CreatePostCode.InsertData('8573', 'Alterswilen', 'ALTERSWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8573', 'Altishausen', 'ALTISHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8573', 'Siegershausen', 'SIEGERSHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8574', 'Dettighofen (Lengwil)', 'DETTIGHOFEN (LENGWIL)', '', 'TG', ''); + CreatePostCode.InsertData('8574', 'Illighausen', 'ILLIGHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8574', 'Lengwil', 'LENGWIL', '', 'TG', ''); + CreatePostCode.InsertData('8574', 'Oberhofen TG', 'OBERHOFEN TG', '', 'TG', ''); + CreatePostCode.InsertData('8575', 'Bürglen TG', 'BÜRGLEN TG', '', 'TG', ''); + CreatePostCode.InsertData('8575', 'Istighofen', 'ISTIGHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8576', 'Mauren TG', 'MAUREN TG', '', 'TG', ''); + CreatePostCode.InsertData('8577', 'Schönholzerswilen', 'SCHÖNHOLZERSWILEN', '', 'TG', ''); + CreatePostCode.InsertData('8580', 'Amriswil', 'AMRISWIL', '', 'TG', ''); + CreatePostCode.InsertData('8580', 'Amriswil Zustellung', 'AMRISWIL ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('8580', 'Biessenhofen', 'BIESSENHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8580', 'Hagenwil b. Amriswil', 'HAGENWIL B. AMRISWIL', '', 'TG', ''); + CreatePostCode.InsertData('8580', 'Hefenhofen', 'HEFENHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8580', 'Sommeri', 'SOMMERI', '', 'TG', ''); + CreatePostCode.InsertData('8581', 'Schocherswil', 'SCHOCHERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8582', 'Dozwil', 'DOZWIL', '', 'TG', ''); + CreatePostCode.InsertData('8583', 'Donzhausen', 'DONZHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8583', 'Götighofen', 'GÖTIGHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8583', 'Sulgen', 'SULGEN', '', 'TG', ''); + CreatePostCode.InsertData('8584', 'Leimbach TG', 'LEIMBACH TG', '', 'TG', ''); + CreatePostCode.InsertData('8584', 'Opfershofen TG', 'OPFERSHOFEN TG', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Birwinken', 'BIRWINKEN', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Happerswil', 'HAPPERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Herrenhof', 'HERRENHOF', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Klarsreuti', 'KLARSREUTI', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Langrickenbach', 'LANGRICKENBACH', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Mattwil', 'MATTWIL', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Schönenbaumgarten', 'SCHÖNENBAUMGARTEN', '', 'TG', ''); + CreatePostCode.InsertData('8585', 'Zuben', 'ZUBEN', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Andwil TG', 'ANDWIL TG', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Buch b. Kümmertshausen', 'BUCH B. KÜMMERTSHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Buchackern', 'BUCHACKERN', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Engishofen', 'ENGISHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Ennetaach', 'ENNETAACH', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Erlen', 'ERLEN', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Kümmertshausen', 'KÜMMERTSHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('8586', 'Riedt b. Erlen', 'RIEDT B. ERLEN', '', 'TG', ''); + CreatePostCode.InsertData('8587', 'Oberaach', 'OBERAACH', '', 'TG', ''); + CreatePostCode.InsertData('8588', 'Zihlschlacht', 'ZIHLSCHLACHT', '', 'TG', ''); + CreatePostCode.InsertData('8589', 'Sitterdorf', 'SITTERDORF', '', 'TG', ''); + CreatePostCode.InsertData('8590', 'Romanshorn', 'ROMANSHORN', '', 'TG', ''); + CreatePostCode.InsertData('8590', 'Romanshorn Zustellung', 'ROMANSHORN ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('8592', 'Uttwil', 'UTTWIL', '', 'TG', ''); + CreatePostCode.InsertData('8593', 'Kesswil', 'KESSWIL', '', 'TG', ''); + CreatePostCode.InsertData('8594', 'Güttingen', 'GÜTTINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8595', 'Altnau', 'ALTNAU', '', 'TG', ''); + CreatePostCode.InsertData('8596', 'Münsterlingen', 'MÜNSTERLINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8596', 'Scherzingen', 'SCHERZINGEN', '', 'TG', ''); + CreatePostCode.InsertData('8597', 'Landschlacht', 'LANDSCHLACHT', '', 'TG', ''); + CreatePostCode.InsertData('8598', 'Bottighofen', 'BOTTIGHOFEN', '', 'TG', ''); + CreatePostCode.InsertData('8599', 'Salmsach', 'SALMSACH', '', 'TG', ''); + CreatePostCode.InsertData('8600', 'Dübendorf', 'DÜBENDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8600', 'Dübendorf 1', 'DÜBENDORF 1', '', 'ZH', ''); + CreatePostCode.InsertData('8600', 'Dübendorf 2', 'DÜBENDORF 2', '', 'ZH', ''); + CreatePostCode.InsertData('8600', 'Dübendorf 3', 'DÜBENDORF 3', '', 'ZH', ''); + CreatePostCode.InsertData('8600', 'Dübendorf Kaserne', 'DÜBENDORF KASERNE', '', 'ZH', ''); + CreatePostCode.InsertData('8602', 'Wangen b. Dübendorf', 'WANGEN B. DÜBENDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8603', 'Schwerzenbach', 'SCHWERZENBACH', '', 'ZH', ''); + CreatePostCode.InsertData('8604', 'Volketswil', 'VOLKETSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8605', 'Gutenswil', 'GUTENSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8606', 'Greifensee', 'GREIFENSEE', '', 'ZH', ''); + CreatePostCode.InsertData('8606', 'Nänikon', 'NÄNIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8606', 'Nänikon Zustellung', 'NÄNIKON ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8607', 'Aathal-Seegräben', 'AATHAL-SEEGRÄBEN', '', 'ZH', ''); + CreatePostCode.InsertData('8608', 'Bubikon', 'BUBIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8610', 'Uster', 'USTER', '', 'ZH', ''); + CreatePostCode.InsertData('8610', 'Uster 1', 'USTER 1', '', 'ZH', ''); + CreatePostCode.InsertData('8612', 'Uster 2', 'USTER 2', '', 'ZH', ''); + CreatePostCode.InsertData('8613', 'Uster 3', 'USTER 3', '', 'ZH', ''); + CreatePostCode.InsertData('8614', 'Bertschikon (Gossau ZH)', 'BERTSCHIKON (GOSSAU ZH)', '', 'ZH', ''); + CreatePostCode.InsertData('8614', 'Sulzbach', 'SULZBACH', '', 'ZH', ''); + CreatePostCode.InsertData('8615', 'Freudwil', 'FREUDWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8615', 'Wermatswil', 'WERMATSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8616', 'Riedikon', 'RIEDIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8617', 'Mönchaltorf', 'MÖNCHALTORF', '', 'ZH', ''); + CreatePostCode.InsertData('8618', 'Oetwil am See', 'OETWIL AM SEE', '', 'ZH', ''); + CreatePostCode.InsertData('8620', 'Wetzikon Kastellstrasse', 'WETZIKON KASTELLSTRASSE', '', 'ZH', ''); + CreatePostCode.InsertData('8620', 'Wetzikon ZH', 'WETZIKON ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8620', 'Wetzikon ZH 1', 'WETZIKON ZH 1', '', 'ZH', ''); + CreatePostCode.InsertData('8621', 'Wetzikon ZH Robenhausen', 'WETZIKON ZH ROBENHAUSEN', '', 'ZH', ''); + CreatePostCode.InsertData('8622', 'Wetzikon ZH', 'WETZIKON ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8623', 'Wetzikon ZH', 'WETZIKON ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8624', 'Grüt (Gossau ZH)', 'GRÜT (GOSSAU ZH)', '', 'ZH', ''); + CreatePostCode.InsertData('8625', 'Gossau ZH', 'GOSSAU ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8626', 'Ottikon (Gossau ZH)', 'OTTIKON (GOSSAU ZH)', '', 'ZH', ''); + CreatePostCode.InsertData('8627', 'Grüningen', 'GRÜNINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8630', 'Rüti Bahnhof SBB', 'RÜTI BAHNHOF SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8630', 'Rüti ZH', 'RÜTI ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8630', 'Rüti ZH Zustellung', 'RÜTI ZH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8632', 'Tann', 'TANN', '', 'ZH', ''); + CreatePostCode.InsertData('8633', 'Wolfhausen', 'WOLFHAUSEN', '', 'ZH', ''); + CreatePostCode.InsertData('8634', 'Hombrechtikon', 'HOMBRECHTIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8634', 'Hombrechtikon Zustellung', 'HOMBRECHTIKON ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8635', 'Dürnten', 'DÜRNTEN', '', 'ZH', ''); + CreatePostCode.InsertData('8636', 'Wald ZH', 'WALD ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8636', 'Wald ZH Zustellung', 'WALD ZH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8637', 'Laupen ZH', 'LAUPEN ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8638', 'Goldingen', 'GOLDINGEN', '', 'SG', ''); + CreatePostCode.InsertData('8639', 'Faltigberg', 'FALTIGBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8640', 'Hurden', 'HURDEN', '', 'SZ', ''); + CreatePostCode.InsertData('8640', 'Kempraten', 'KEMPRATEN', '', 'SG', ''); + CreatePostCode.InsertData('8640', 'Rapperswil SG', 'RAPPERSWIL SG', '', 'SG', ''); + CreatePostCode.InsertData('8640', 'Rapperswil SG Zustellung', 'RAPPERSWIL SG ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('8645', 'Jona', 'JONA', '', 'SG', ''); + CreatePostCode.InsertData('8645', 'Jona Buech Gewerbe', 'JONA BUECH GEWERBE', '', 'SG', ''); + CreatePostCode.InsertData('8646', 'Wagen', 'WAGEN', '', 'SG', ''); + CreatePostCode.InsertData('8700', 'Küsnacht ZH', 'KÜSNACHT ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8700', 'Küsnacht ZH Zustellung', 'KÜSNACHT ZH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8702', 'Zollikon', 'ZOLLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8702', 'Zollikon Dorf', 'ZOLLIKON DORF', '', 'ZH', ''); + CreatePostCode.InsertData('8703', 'Erlenbach ZH', 'ERLENBACH ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8704', 'Herrliberg', 'HERRLIBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8706', 'Meilen', 'MEILEN', '', 'ZH', ''); + CreatePostCode.InsertData('8706', 'Meilen Zustellung', 'MEILEN ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8707', 'Uetikon am See', 'UETIKON AM SEE', '', 'ZH', ''); + CreatePostCode.InsertData('8708', 'Männedorf', 'MÄNNEDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8708', 'Männedorf Zustellung', 'MÄNNEDORF ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8712', 'Stäfa', 'STÄFA', '', 'ZH', ''); + CreatePostCode.InsertData('8712', 'Stäfa Zustellung', 'STÄFA ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8713', 'Uerikon', 'UERIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8714', 'Feldbach', 'FELDBACH', '', 'ZH', ''); + CreatePostCode.InsertData('8715', 'Bollingen', 'BOLLINGEN', '', 'SG', ''); + CreatePostCode.InsertData('8716', 'Schmerikon', 'SCHMERIKON', '', 'SG', ''); + CreatePostCode.InsertData('8717', 'Benken SG', 'BENKEN SG', '', 'SG', ''); + CreatePostCode.InsertData('8718', 'Schänis', 'SCHÄNIS', '', 'SG', ''); + CreatePostCode.InsertData('8722', 'Kaltbrunn', 'KALTBRUNN', '', 'SG', ''); + CreatePostCode.InsertData('8722', 'Kaltbrunn Zustellung', 'KALTBRUNN ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('8723', 'Maseltrangen', 'MASELTRANGEN', '', 'SG', ''); + CreatePostCode.InsertData('8723', 'Rufi', 'RUFI', '', 'SG', ''); + CreatePostCode.InsertData('8725', 'Ernetschwil', 'ERNETSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('8725', 'Gebertingen', 'GEBERTINGEN', '', 'SG', ''); + CreatePostCode.InsertData('8726', 'Ricken SG', 'RICKEN SG', '', 'SG', ''); + CreatePostCode.InsertData('8727', 'Walde SG', 'WALDE SG', '', 'SG', ''); + CreatePostCode.InsertData('8730', 'Uznach', 'UZNACH', '', 'SG', ''); + CreatePostCode.InsertData('8730', 'Uznach Postauto Linth-SZ-GL', 'UZNACH POSTAUTO LINTH-SZ-GL', '', 'SG', ''); + CreatePostCode.InsertData('8730', 'Uznach Zustellung', 'UZNACH ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('8732', 'Neuhaus SG', 'NEUHAUS SG', '', 'SG', ''); + CreatePostCode.InsertData('8733', 'Eschenbach SG', 'ESCHENBACH SG', '', 'SG', ''); + CreatePostCode.InsertData('8734', 'Ermenswil', 'ERMENSWIL', '', 'SG', ''); + CreatePostCode.InsertData('8735', 'Rüeterswil', 'RÜETERSWIL', '', 'SG', ''); + CreatePostCode.InsertData('8735', 'St. Gallenkappel', 'ST. GALLENKAPPEL', '', 'SG', ''); + CreatePostCode.InsertData('8737', 'Gommiswald', 'GOMMISWALD', '', 'SG', ''); + CreatePostCode.InsertData('8738', 'Uetliburg SG', 'UETLIBURG SG', '', 'SG', ''); + CreatePostCode.InsertData('8739', 'Rieden SG', 'RIEDEN SG', '', 'SG', ''); + CreatePostCode.InsertData('8740', 'Uznach Vögele Versandhaus', 'UZNACH VÖGELE VERSANDHAUS', '', 'SG', ''); + CreatePostCode.InsertData('8750', 'Glarus', 'GLARUS', '', 'GL', ''); + CreatePostCode.InsertData('8750', 'Glarus Zustellung', 'GLARUS ZUSTELLUNG', '', 'GL', ''); + CreatePostCode.InsertData('8750', 'Klöntal', 'KLÖNTAL', '', 'GL', ''); + CreatePostCode.InsertData('8750', 'Riedern', 'RIEDERN', '', 'GL', ''); + CreatePostCode.InsertData('8751', 'Urnerboden', 'URNERBODEN', '', 'UR', ''); + CreatePostCode.InsertData('8752', 'Näfels', 'NÄFELS', '', 'GL', ''); + CreatePostCode.InsertData('8753', 'Mollis', 'MOLLIS', '', 'GL', ''); + CreatePostCode.InsertData('8754', 'Netstal', 'NETSTAL', '', 'GL', ''); + CreatePostCode.InsertData('8755', 'Ennenda', 'ENNENDA', '', 'GL', ''); + CreatePostCode.InsertData('8756', 'Mitlödi', 'MITLÖDI', '', 'GL', ''); + CreatePostCode.InsertData('8757', 'Filzbach', 'FILZBACH', '', 'GL', ''); + CreatePostCode.InsertData('8758', 'Obstalden', 'OBSTALDEN', '', 'GL', ''); + CreatePostCode.InsertData('8759', 'Netstal', 'NETSTAL', '', 'GL', ''); + CreatePostCode.InsertData('8762', 'Schwanden GL', 'SCHWANDEN GL', '', 'GL', ''); + CreatePostCode.InsertData('8762', 'Schwanden GL Zustellung', 'SCHWANDEN GL ZUSTELLUNG', '', 'GL', ''); + CreatePostCode.InsertData('8762', 'Schwändi b. Schwanden', 'SCHWÄNDI B. SCHWANDEN', '', 'GL', ''); + CreatePostCode.InsertData('8762', 'Sool', 'SOOL', '', 'GL', ''); + CreatePostCode.InsertData('8765', 'Engi', 'ENGI', '', 'GL', ''); + CreatePostCode.InsertData('8766', 'Matt', 'MATT', '', 'GL', ''); + CreatePostCode.InsertData('8767', 'Elm', 'ELM', '', 'GL', ''); + CreatePostCode.InsertData('8772', 'Nidfurn', 'NIDFURN', '', 'GL', ''); + CreatePostCode.InsertData('8773', 'Haslen GL', 'HASLEN GL', '', 'GL', ''); + CreatePostCode.InsertData('8774', 'Leuggelbach', 'LEUGGELBACH', '', 'GL', ''); + CreatePostCode.InsertData('8775', 'Hätzingen', 'HÄTZINGEN', '', 'GL', ''); + CreatePostCode.InsertData('8775', 'Luchsingen', 'LUCHSINGEN', '', 'GL', ''); + CreatePostCode.InsertData('8775', 'Luchsingen-Hätzingen', 'LUCHSINGEN-HÄTZINGEN', '', 'GL', ''); + CreatePostCode.InsertData('8777', 'Betschwanden', 'BETSCHWANDEN', '', 'GL', ''); + CreatePostCode.InsertData('8777', 'Diesbach GL', 'DIESBACH GL', '', 'GL', ''); + CreatePostCode.InsertData('8782', 'Rüti GL', 'RÜTI GL', '', 'GL', ''); + CreatePostCode.InsertData('8783', 'Linthal', 'LINTHAL', '', 'GL', ''); + CreatePostCode.InsertData('8784', 'Braunwald', 'BRAUNWALD', '', 'GL', ''); + CreatePostCode.InsertData('8800', 'Thalwil', 'THALWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8800', 'Thalwil Bahnhof SBB', 'THALWIL BAHNHOF SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8800', 'Thalwil Zustellung', 'THALWIL ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8802', 'Kilchberg ZH', 'KILCHBERG ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8803', 'Rüschlikon', 'RÜSCHLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8804', 'Au ZH', 'AU ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8804', 'Au ZH Seestrasse', 'AU ZH SEESTRASSE', '', 'ZH', ''); + CreatePostCode.InsertData('8805', 'Richterswil', 'RICHTERSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8805', 'Richterswil Burghalden SOB', 'RICHTERSWIL BURGHALDEN SOB', '', 'ZH', ''); + CreatePostCode.InsertData('8806', 'Bäch SZ', 'BÄCH SZ', '', 'SZ', ''); + CreatePostCode.InsertData('8807', 'Freienbach', 'FREIENBACH', '', 'SZ', ''); + CreatePostCode.InsertData('8808', 'Pfäffikon Bahnhof SBB', 'PFÄFFIKON BAHNHOF SBB', '', 'SZ', ''); + CreatePostCode.InsertData('8808', 'Pfäffikon SZ', 'PFÄFFIKON SZ', '', 'SZ', ''); + CreatePostCode.InsertData('8808', 'Pfäffikon SZ Zustellung', 'PFÄFFIKON SZ ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('8810', 'Horgen', 'HORGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8810', 'Horgen 1', 'HORGEN 1', '', 'ZH', ''); + CreatePostCode.InsertData('8812', 'Horgen Bahnhof Oberdorf', 'HORGEN BAHNHOF OBERDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8813', 'Horgen', 'HORGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8815', 'Horgenberg', 'HORGENBERG', '', 'ZH', ''); + CreatePostCode.InsertData('8816', 'Hirzel', 'HIRZEL', '', 'ZH', ''); + CreatePostCode.InsertData('8820', 'Wädenswil', 'WÄDENSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8820', 'Wädenswil Bahnhof SBB', 'WÄDENSWIL BAHNHOF SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8820', 'Wädenswil Dist Ba', 'WÄDENSWIL DIST BA', '', 'ZH', ''); + CreatePostCode.InsertData('8820', 'Wädenswil Zustellung', 'WÄDENSWIL ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8824', 'Schönenberg ZH', 'SCHÖNENBERG ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8825', 'Hütten', 'HÜTTEN', '', 'ZH', ''); + CreatePostCode.InsertData('8832', 'Wilen b. Wollerau', 'WILEN B. WOLLERAU', '', 'SZ', ''); + CreatePostCode.InsertData('8832', 'Wollerau', 'WOLLERAU', '', 'SZ', ''); + CreatePostCode.InsertData('8832', 'Wollerau Zustellung', 'WOLLERAU ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('8833', 'Samstagern', 'SAMSTAGERN', '', 'ZH', ''); + CreatePostCode.InsertData('8834', 'Schindellegi', 'SCHINDELLEGI', '', 'SZ', ''); + CreatePostCode.InsertData('8835', 'Feusisberg', 'FEUSISBERG', '', 'SZ', ''); + CreatePostCode.InsertData('8836', 'Bennau', 'BENNAU', '', 'SZ', ''); + CreatePostCode.InsertData('8840', 'Einsiedeln', 'EINSIEDELN', '', 'SZ', ''); + CreatePostCode.InsertData('8840', 'Einsiedeln Zustellung', 'EINSIEDELN ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('8840', 'Trachslau', 'TRACHSLAU', '', 'SZ', ''); + CreatePostCode.InsertData('8841', 'Gross', 'GROSS', '', 'SZ', ''); + CreatePostCode.InsertData('8842', 'Unteriberg', 'UNTERIBERG', '', 'SZ', ''); + CreatePostCode.InsertData('8843', 'Oberiberg', 'OBERIBERG', '', 'SZ', ''); + CreatePostCode.InsertData('8844', 'Euthal', 'EUTHAL', '', 'SZ', ''); + CreatePostCode.InsertData('8845', 'Studen SZ', 'STUDEN SZ', '', 'SZ', ''); + CreatePostCode.InsertData('8846', 'Willerzell', 'WILLERZELL', '', 'SZ', ''); + CreatePostCode.InsertData('8847', 'Egg SZ', 'EGG SZ', '', 'SZ', ''); + CreatePostCode.InsertData('8849', 'Alpthal', 'ALPTHAL', '', 'SZ', ''); + CreatePostCode.InsertData('8852', 'Altendorf', 'ALTENDORF', '', 'SZ', ''); + CreatePostCode.InsertData('8852', 'Altendorf B&V GK', 'ALTENDORF B&V GK', '', 'SZ', ''); + CreatePostCode.InsertData('8852', 'Altendorf B&V GK 2', 'ALTENDORF B&V GK 2', '', 'SZ', ''); + CreatePostCode.InsertData('8853', 'Lachen SZ', 'LACHEN SZ', '', 'SZ', ''); + CreatePostCode.InsertData('8854', 'Galgenen', 'GALGENEN', '', 'SZ', ''); + CreatePostCode.InsertData('8854', 'Siebnen', 'SIEBNEN', '', 'SZ', ''); + CreatePostCode.InsertData('8854', 'Siebnen Zustellung', 'SIEBNEN ZUSTELLUNG', '', 'SZ', ''); + CreatePostCode.InsertData('8855', 'Wangen SZ', 'WANGEN SZ', '', 'SZ', ''); + CreatePostCode.InsertData('8856', 'Tuggen', 'TUGGEN', '', 'SZ', ''); + CreatePostCode.InsertData('8857', 'Vorderthal', 'VORDERTHAL', '', 'SZ', ''); + CreatePostCode.InsertData('8858', 'Innerthal', 'INNERTHAL', '', 'SZ', ''); + CreatePostCode.InsertData('8862', 'Schübelbach', 'SCHÜBELBACH', '', 'SZ', ''); + CreatePostCode.InsertData('8863', 'Buttikon SZ', 'BUTTIKON SZ', '', 'SZ', ''); + CreatePostCode.InsertData('8864', 'Reichenburg', 'REICHENBURG', '', 'SZ', ''); + CreatePostCode.InsertData('8865', 'Bilten', 'BILTEN', '', 'GL', ''); + CreatePostCode.InsertData('8866', 'Ziegelbrücke', 'ZIEGELBRÜCKE', '', 'GL', ''); + CreatePostCode.InsertData('8866', 'Ziegelbrücke Bahnhof SBB', 'ZIEGELBRÜCKE BAHNHOF SBB', '', 'GL', ''); + CreatePostCode.InsertData('8867', 'Niederurnen', 'NIEDERURNEN', '', 'GL', ''); + CreatePostCode.InsertData('8867', 'Niederurnen Dist Fil', 'NIEDERURNEN DIST FIL', '', 'GL', ''); + CreatePostCode.InsertData('8868', 'Oberurnen', 'OBERURNEN', '', 'GL', ''); + CreatePostCode.InsertData('8872', 'Weesen', 'WEESEN', '', 'SG', ''); + CreatePostCode.InsertData('8873', 'Amden', 'AMDEN', '', 'SG', ''); + CreatePostCode.InsertData('8874', 'Mühlehorn', 'MÜHLEHORN', '', 'GL', ''); + CreatePostCode.InsertData('8877', 'Murg', 'MURG', '', 'SG', ''); + CreatePostCode.InsertData('8878', 'Quinten', 'QUINTEN', '', 'SG', ''); + CreatePostCode.InsertData('8879', 'Pizolpark (Mels)', 'PIZOLPARK (MELS)', '', 'SG', ''); + CreatePostCode.InsertData('8880', 'Walenstadt', 'WALENSTADT', '', 'SG', ''); + CreatePostCode.InsertData('8881', 'Knoblisbühl', 'KNOBLISBÜHL', '', 'SG', ''); + CreatePostCode.InsertData('8881', 'Tscherlach', 'TSCHERLACH', '', 'SG', ''); + CreatePostCode.InsertData('8881', 'Walenstadtberg', 'WALENSTADTBERG', '', 'SG', ''); + CreatePostCode.InsertData('8882', 'Unterterzen', 'UNTERTERZEN', '', 'SG', ''); + CreatePostCode.InsertData('8883', 'Quarten', 'QUARTEN', '', 'SG', ''); + CreatePostCode.InsertData('8884', 'Oberterzen', 'OBERTERZEN', '', 'SG', ''); + CreatePostCode.InsertData('8885', 'Mols', 'MOLS', '', 'SG', ''); + CreatePostCode.InsertData('8886', 'Mädris-Vermol', 'MÄDRIS-VERMOL', '', 'SG', ''); + CreatePostCode.InsertData('8887', 'Mels', 'MELS', '', 'SG', ''); + CreatePostCode.InsertData('8887', 'Mels Kaserne', 'MELS KASERNE', '', 'SG', ''); + CreatePostCode.InsertData('8887', 'Mels Zustellung', 'MELS ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('8888', 'Heiligkreuz (Mels)', 'HEILIGKREUZ (MELS)', '', 'SG', ''); + CreatePostCode.InsertData('8889', 'Plons', 'PLONS', '', 'SG', ''); + CreatePostCode.InsertData('8890', 'Flums', 'FLUMS', '', 'SG', ''); + CreatePostCode.InsertData('8890', 'Flums Zustellung', 'FLUMS ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('8892', 'Berschis', 'BERSCHIS', '', 'SG', ''); + CreatePostCode.InsertData('8893', 'Flums Hochwiese', 'FLUMS HOCHWIESE', '', 'SG', ''); + CreatePostCode.InsertData('8894', 'Flumserberg Saxli', 'FLUMSERBERG SAXLI', '', 'SG', ''); + CreatePostCode.InsertData('8895', 'Flumserberg Portels', 'FLUMSERBERG PORTELS', '', 'SG', ''); + CreatePostCode.InsertData('8896', 'Flumserberg Bergheim', 'FLUMSERBERG BERGHEIM', '', 'SG', ''); + CreatePostCode.InsertData('8897', 'Flumserberg Tannenheim', 'FLUMSERBERG TANNENHEIM', '', 'SG', ''); + CreatePostCode.InsertData('8898', 'Flumserberg Tannenbodenalp', 'FLUMSERBERG TANNENBODENALP', '', 'SG', ''); + CreatePostCode.InsertData('8901', 'Urdorf RRD', 'URDORF RRD', '', 'ZH', ''); + CreatePostCode.InsertData('8902', 'Urdorf', 'URDORF', '', 'ZH', ''); + CreatePostCode.InsertData('8902', 'Urdorf Dist Ba', 'URDORF DIST BA', '', 'ZH', ''); + CreatePostCode.InsertData('8902', 'Urdorf PL3', 'URDORF PL3', '', 'ZH', ''); + CreatePostCode.InsertData('8902', 'Urdorf Sortierstelle', 'URDORF SORTIERSTELLE', '', 'ZH', ''); + CreatePostCode.InsertData('8903', 'Birmensdorf ZH', 'BIRMENSDORF ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8903', 'Birmensdorf ZH Kaserne', 'BIRMENSDORF ZH KASERNE', '', 'ZH', ''); + CreatePostCode.InsertData('8903', 'Birmensdorf ZH Zustellung', 'BIRMENSDORF ZH ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8904', 'Aesch ZH', 'AESCH ZH', '', 'ZH', ''); + CreatePostCode.InsertData('8905', 'Arni AG', 'ARNI AG', '', 'AG', ''); + CreatePostCode.InsertData('8905', 'Arni-Islisberg', 'ARNI-ISLISBERG', '', 'AG', ''); + CreatePostCode.InsertData('8905', 'Islisberg', 'ISLISBERG', '', 'AG', ''); + CreatePostCode.InsertData('8906', 'Bonstetten', 'BONSTETTEN', '', 'ZH', ''); + CreatePostCode.InsertData('8907', 'Wettswil', 'WETTSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8907', 'Wettswil Zustellung', 'WETTSWIL ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8908', 'Hedingen', 'HEDINGEN', '', 'ZH', ''); + CreatePostCode.InsertData('8909', 'Zwillikon', 'ZWILLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8910', 'Affoltern am A. Zustellung', 'AFFOLTERN AM A. ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8910', 'Affoltern am Albis', 'AFFOLTERN AM ALBIS', '', 'ZH', ''); + CreatePostCode.InsertData('8911', 'Rifferswil', 'RIFFERSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8912', 'Obfelden', 'OBFELDEN', '', 'ZH', ''); + CreatePostCode.InsertData('8913', 'Ottenbach', 'OTTENBACH', '', 'ZH', ''); + CreatePostCode.InsertData('8914', 'Aeugst am Albis', 'AEUGST AM ALBIS', '', 'ZH', ''); + CreatePostCode.InsertData('8914', 'Aeugstertal', 'AEUGSTERTAL', '', 'ZH', ''); + CreatePostCode.InsertData('8915', 'Hausen am Albis', 'HAUSEN AM ALBIS', '', 'ZH', ''); + CreatePostCode.InsertData('8916', 'Jonen', 'JONEN', '', 'AG', ''); + CreatePostCode.InsertData('8917', 'Oberlunkhofen', 'OBERLUNKHOFEN', '', 'AG', ''); + CreatePostCode.InsertData('8918', 'Unterlunkhofen', 'UNTERLUNKHOFEN', '', 'AG', ''); + CreatePostCode.InsertData('8919', 'Rottenschwil', 'ROTTENSCHWIL', '', 'AG', ''); + CreatePostCode.InsertData('8925', 'Ebertswil', 'EBERTSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8926', 'Hauptikon', 'HAUPTIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8926', 'Kappel am Albis', 'KAPPEL AM ALBIS', '', 'ZH', ''); + CreatePostCode.InsertData('8926', 'Uerzlikon', 'UERZLIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8932', 'Mettmenstetten', 'METTMENSTETTEN', '', 'ZH', ''); + CreatePostCode.InsertData('8932', 'Mettmenstetten Zustellung', 'METTMENSTETTEN ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8933', 'Maschwanden', 'MASCHWANDEN', '', 'ZH', ''); + CreatePostCode.InsertData('8934', 'Knonau', 'KNONAU', '', 'ZH', ''); + CreatePostCode.InsertData('8942', 'Oberrieden', 'OBERRIEDEN', '', 'ZH', ''); + CreatePostCode.InsertData('8951', 'Fahrweid', 'FAHRWEID', '', 'ZH', ''); + CreatePostCode.InsertData('8952', 'Schlieren', 'SCHLIEREN', '', 'ZH', ''); + CreatePostCode.InsertData('8952', 'Schlieren DocumentServices', 'SCHLIEREN DOCUMENTSERVICES', '', 'ZH', ''); + CreatePostCode.InsertData('8952', 'Schlieren Zustellung', 'SCHLIEREN ZUSTELLUNG', '', 'ZH', ''); + CreatePostCode.InsertData('8953', 'Dietikon', 'DIETIKON', '', 'ZH', ''); + CreatePostCode.InsertData('8953', 'Dietikon 1', 'DIETIKON 1', '', 'ZH', ''); + CreatePostCode.InsertData('8953', 'Dietikon 2', 'DIETIKON 2', '', 'ZH', ''); + CreatePostCode.InsertData('8953', 'Dietikon Bahnhof SBB', 'DIETIKON BAHNHOF SBB', '', 'ZH', ''); + CreatePostCode.InsertData('8953', 'Dietikon Silbern', 'DIETIKON SILBERN', '', 'ZH', ''); + CreatePostCode.InsertData('8954', 'Geroldswil', 'GEROLDSWIL', '', 'ZH', ''); + CreatePostCode.InsertData('8955', 'Oetwil an der Limmat', 'OETWIL AN DER LIMMAT', '', 'ZH', ''); + CreatePostCode.InsertData('8956', 'Killwangen', 'KILLWANGEN', '', 'AG', ''); + CreatePostCode.InsertData('8957', 'Spreitenbach', 'SPREITENBACH', '', 'AG', ''); + CreatePostCode.InsertData('8957', 'Spreitenbach Zustellung', 'SPREITENBACH ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('8962', 'Bergdietikon', 'BERGDIETIKON', '', 'AG', ''); + CreatePostCode.InsertData('8964', 'Rudolfstetten', 'RUDOLFSTETTEN', '', 'AG', ''); + CreatePostCode.InsertData('8965', 'Berikon', 'BERIKON', '', 'AG', ''); + CreatePostCode.InsertData('8965', 'Berikon 1', 'BERIKON 1', '', 'AG', ''); + CreatePostCode.InsertData('8965', 'Berikon 1 Zustellung', 'BERIKON 1 ZUSTELLUNG', '', 'AG', ''); + CreatePostCode.InsertData('8965', 'Berikon 2 Dorf', 'BERIKON 2 DORF', '', 'AG', ''); + CreatePostCode.InsertData('8966', 'Oberwil-Lieli', 'OBERWIL-LIELI', '', 'AG', ''); + CreatePostCode.InsertData('8967', 'Widen', 'WIDEN', '', 'AG', ''); + CreatePostCode.InsertData('8970', 'Urdorf Exchange', 'URDORF EXCHANGE', '', 'ZH', ''); + CreatePostCode.InsertData('8970', 'Urdorf Exchange PL', 'URDORF EXCHANGE PL', '', 'ZH', ''); + CreatePostCode.InsertData('9000', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9000', 'St. Gallen 1 Annahme', 'ST. GALLEN 1 ANNAHME', '', 'SG', ''); + CreatePostCode.InsertData('9000', 'St. Gallen Dist Ba', 'ST. GALLEN DIST BA', '', 'SG', ''); + CreatePostCode.InsertData('9000', 'St. Gallen Kaserne', 'ST. GALLEN KASERNE', '', 'SG', ''); + CreatePostCode.InsertData('9001', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9001', 'St. Gallen Postauto SG-Azel', 'ST. GALLEN POSTAUTO SG-AZEL', '', 'SG', ''); + CreatePostCode.InsertData('9004', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9006', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9007', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9008', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9010', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9011', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9012', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9013', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9014', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9014', 'St. Gallen 14 Zustellung', 'ST. GALLEN 14 ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9015', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9016', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9020', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9020', 'St. Gallen KC PKGK 5', 'ST. GALLEN KC PKGK 5', '', 'SG', ''); + CreatePostCode.InsertData('9022', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9023', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9024', 'St. Gallen Presse-Serv.Güll', 'ST. GALLEN PRESSE-SERV.GÜLL', '', 'SG', ''); + CreatePostCode.InsertData('9025', 'St. Gallen Quelle', 'ST. GALLEN QUELLE', '', 'SG', ''); + CreatePostCode.InsertData('9026', 'St. Gallen Künzler AG', 'ST. GALLEN KÜNZLER AG', '', 'SG', ''); + CreatePostCode.InsertData('9027', 'St. Gallen Mona Versand', 'ST. GALLEN MONA VERSAND', '', 'SG', ''); + CreatePostCode.InsertData('9028', 'St. Gallen', 'ST. GALLEN', '', 'SG', ''); + CreatePostCode.InsertData('9029', 'St. Gallen Sonderdienste', 'ST. GALLEN SONDERDIENSTE', '', 'SG', ''); + CreatePostCode.InsertData('9030', 'Abtwil SG', 'ABTWIL SG', '', 'SG', ''); + CreatePostCode.InsertData('9030', 'Gaiserwald', 'GAISERWALD', '', 'SG', ''); + CreatePostCode.InsertData('9030', 'St. Josefen', 'ST. JOSEFEN', '', 'SG', ''); + CreatePostCode.InsertData('9032', 'Engelburg', 'ENGELBURG', '', 'SG', ''); + CreatePostCode.InsertData('9033', 'Untereggen', 'UNTEREGGEN', '', 'SG', ''); + CreatePostCode.InsertData('9034', 'Eggersriet', 'EGGERSRIET', '', 'SG', ''); + CreatePostCode.InsertData('9035', 'Grub AR', 'GRUB AR', '', 'AR', ''); + CreatePostCode.InsertData('9036', 'Grub SG', 'GRUB SG', '', 'SG', ''); + CreatePostCode.InsertData('9037', 'Speicherschwendi', 'SPEICHERSCHWENDI', '', 'AR', ''); + CreatePostCode.InsertData('9038', 'Rehetobel', 'REHETOBEL', '', 'AR', ''); + CreatePostCode.InsertData('9042', 'Speicher', 'SPEICHER', '', 'AR', ''); + CreatePostCode.InsertData('9043', 'Trogen', 'TROGEN', '', 'AR', ''); + CreatePostCode.InsertData('9044', 'Wald AR', 'WALD AR', '', 'AR', ''); + CreatePostCode.InsertData('9050', 'Appenzell', 'APPENZELL', '', 'AI', ''); + CreatePostCode.InsertData('9050', 'Appenzell Eggerstanden', 'APPENZELL EGGERSTANDEN', '', 'AI', ''); + CreatePostCode.InsertData('9050', 'Appenzell Enggenhütten', 'APPENZELL ENGGENHÜTTEN', '', 'AI', ''); + CreatePostCode.InsertData('9050', 'Appenzell Meistersrüte', 'APPENZELL MEISTERSRÜTE', '', 'AI', ''); + CreatePostCode.InsertData('9050', 'Appenzell Schlatt', 'APPENZELL SCHLATT', '', 'AI', ''); + CreatePostCode.InsertData('9050', 'Appenzell Steinegg', 'APPENZELL STEINEGG', '', 'AI', ''); + CreatePostCode.InsertData('9050', 'Appenzell Zustellung', 'APPENZELL ZUSTELLUNG', '', 'AI', ''); + CreatePostCode.InsertData('9052', 'Niederteufen', 'NIEDERTEUFEN', '', 'AR', ''); + CreatePostCode.InsertData('9053', 'Teufen AR', 'TEUFEN AR', '', 'AR', ''); + CreatePostCode.InsertData('9053', 'Teufen AR Zustellung', 'TEUFEN AR ZUSTELLUNG', '', 'AR', ''); + CreatePostCode.InsertData('9054', 'Haslen AI', 'HASLEN AI', '', 'AI', ''); + CreatePostCode.InsertData('9055', 'Bühler', 'BÜHLER', '', 'AR', ''); + CreatePostCode.InsertData('9056', 'Gais', 'GAIS', '', 'AR', ''); + CreatePostCode.InsertData('9057', 'Schwende', 'SCHWENDE', '', 'AI', ''); + CreatePostCode.InsertData('9057', 'Wasserauen', 'WASSERAUEN', '', 'AI', ''); + CreatePostCode.InsertData('9057', 'Weissbad', 'WEISSBAD', '', 'AI', ''); + CreatePostCode.InsertData('9058', 'Brülisau', 'BRÜLISAU', '', 'AI', ''); + CreatePostCode.InsertData('9062', 'Lustmühle', 'LUSTMÜHLE', '', 'AR', ''); + CreatePostCode.InsertData('9063', 'Stein AR', 'STEIN AR', '', 'AR', ''); + CreatePostCode.InsertData('9064', 'Hundwil', 'HUNDWIL', '', 'AR', ''); + CreatePostCode.InsertData('9100', 'Herisau', 'HERISAU', '', 'AR', ''); + CreatePostCode.InsertData('9100', 'Herisau 1', 'HERISAU 1', '', 'AR', ''); + CreatePostCode.InsertData('9100', 'Herisau 1 Zustellung', 'HERISAU 1 ZUSTELLUNG', '', 'AR', ''); + CreatePostCode.InsertData('9101', 'Herisau', 'HERISAU', '', 'AR', ''); + CreatePostCode.InsertData('9102', 'Herisau', 'HERISAU', '', 'AR', ''); + CreatePostCode.InsertData('9103', 'Schwellbrunn', 'SCHWELLBRUNN', '', 'AR', ''); + CreatePostCode.InsertData('9104', 'Waldstatt', 'WALDSTATT', '', 'AR', ''); + CreatePostCode.InsertData('9105', 'Schönengrund', 'SCHÖNENGRUND', '', 'AR', ''); + CreatePostCode.InsertData('9107', 'Urnäsch', 'URNÄSCH', '', 'AR', ''); + CreatePostCode.InsertData('9108', 'Gonten', 'GONTEN', '', 'AI', ''); + CreatePostCode.InsertData('9108', 'Gontenbad', 'GONTENBAD', '', 'AI', ''); + CreatePostCode.InsertData('9108', 'Jakobsbad', 'JAKOBSBAD', '', 'AI', ''); + CreatePostCode.InsertData('9112', 'Schachen b. Herisau', 'SCHACHEN B. HERISAU', '', 'AR', ''); + CreatePostCode.InsertData('9113', 'Degersheim', 'DEGERSHEIM', '', 'SG', ''); + CreatePostCode.InsertData('9113', 'Degersheim Zustellung', 'DEGERSHEIM ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9114', 'Hoffeld', 'HOFFELD', '', 'SG', ''); + CreatePostCode.InsertData('9115', 'Dicken', 'DICKEN', '', 'SG', ''); + CreatePostCode.InsertData('9116', 'Wolfertswil', 'WOLFERTSWIL', '', 'SG', ''); + CreatePostCode.InsertData('9122', 'Ebersol', 'EBERSOL', '', 'SG', ''); + CreatePostCode.InsertData('9122', 'Mogelsberg', 'MOGELSBERG', '', 'SG', ''); + CreatePostCode.InsertData('9123', 'Nassen', 'NASSEN', '', 'SG', ''); + CreatePostCode.InsertData('9125', 'Brunnadern', 'BRUNNADERN', '', 'SG', ''); + CreatePostCode.InsertData('9126', 'Necker', 'NECKER', '', 'SG', ''); + CreatePostCode.InsertData('9127', 'St. Peterzell', 'ST. PETERZELL', '', 'SG', ''); + CreatePostCode.InsertData('9200', 'Gossau SG', 'GOSSAU SG', '', 'SG', ''); + CreatePostCode.InsertData('9200', 'Gossau SG 1', 'GOSSAU SG 1', '', 'SG', ''); + CreatePostCode.InsertData('9200', 'Gossau SG 1 Zustellung', 'GOSSAU SG 1 ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9200', 'Gossau SG 2', 'GOSSAU SG 2', '', 'SG', ''); + CreatePostCode.InsertData('9200', 'Gossau SG Logistikzentrum', 'GOSSAU SG LOGISTIKZENTRUM', '', 'SG', ''); + CreatePostCode.InsertData('9200', 'Gossau SG LZB FP', 'GOSSAU SG LZB FP', '', 'SG', ''); + CreatePostCode.InsertData('9201', 'Gossau SG', 'GOSSAU SG', '', 'SG', ''); + CreatePostCode.InsertData('9203', 'Niederwil SG', 'NIEDERWIL SG', '', 'SG', ''); + CreatePostCode.InsertData('9204', 'Andwil SG', 'ANDWIL SG', '', 'SG', ''); + CreatePostCode.InsertData('9205', 'Waldkirch', 'WALDKIRCH', '', 'SG', ''); + CreatePostCode.InsertData('9212', 'Arnegg', 'ARNEGG', '', 'SG', ''); + CreatePostCode.InsertData('9213', 'Hauptwil', 'HAUPTWIL', '', 'TG', ''); + CreatePostCode.InsertData('9214', 'Kradolf', 'KRADOLF', '', 'TG', ''); + CreatePostCode.InsertData('9214', 'Kradolf-Schönenberg', 'KRADOLF-SCHÖNENBERG', '', 'TG', ''); + CreatePostCode.InsertData('9215', 'Buhwil', 'BUHWIL', '', 'TG', ''); + CreatePostCode.InsertData('9215', 'Schönenberg an der Thur', 'SCHÖNENBERG AN DER THUR', '', 'TG', ''); + CreatePostCode.InsertData('9216', 'Heldswil', 'HELDSWIL', '', 'TG', ''); + CreatePostCode.InsertData('9216', 'Hohentannen', 'HOHENTANNEN', '', 'TG', ''); + CreatePostCode.InsertData('9217', 'Neukirch an der Thur', 'NEUKIRCH AN DER THUR', '', 'TG', ''); + CreatePostCode.InsertData('9220', 'Bischofszell', 'BISCHOFSZELL', '', 'TG', ''); + CreatePostCode.InsertData('9220', 'Bischofszell Zustellung', 'BISCHOFSZELL ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('9223', 'Halden', 'HALDEN', '', 'TG', ''); + CreatePostCode.InsertData('9223', 'Schweizersholz', 'SCHWEIZERSHOLZ', '', 'TG', ''); + CreatePostCode.InsertData('9225', 'St. Pelagiberg', 'ST. PELAGIBERG', '', 'TG', ''); + CreatePostCode.InsertData('9225', 'Wilen (Gottshaus)', 'WILEN (GOTTSHAUS)', '', 'TG', ''); + CreatePostCode.InsertData('9230', 'Flawil', 'FLAWIL', '', 'SG', ''); + CreatePostCode.InsertData('9230', 'Flawil 1', 'FLAWIL 1', '', 'SG', ''); + CreatePostCode.InsertData('9230', 'Flawil 1 Zustellung', 'FLAWIL 1 ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9230', 'Flawil 2 Botsberg', 'FLAWIL 2 BOTSBERG', '', 'SG', ''); + CreatePostCode.InsertData('9231', 'Egg (Flawil)', 'EGG (FLAWIL)', '', 'SG', ''); + CreatePostCode.InsertData('9240', 'Niederglatt SG', 'NIEDERGLATT SG', '', 'SG', ''); + CreatePostCode.InsertData('9240', 'Uzwil', 'UZWIL', '', 'SG', ''); + CreatePostCode.InsertData('9240', 'Uzwil Zustellung', 'UZWIL ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9242', 'Oberuzwil', 'OBERUZWIL', '', 'SG', ''); + CreatePostCode.InsertData('9243', 'Jonschwil', 'JONSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9244', 'Niederuzwil', 'NIEDERUZWIL', '', 'SG', ''); + CreatePostCode.InsertData('9245', 'Oberbüren', 'OBERBÜREN', '', 'SG', ''); + CreatePostCode.InsertData('9245', 'Sonnental', 'SONNENTAL', '', 'SG', ''); + CreatePostCode.InsertData('9246', 'Niederbüren', 'NIEDERBÜREN', '', 'SG', ''); + CreatePostCode.InsertData('9247', 'Henau', 'HENAU', '', 'SG', ''); + CreatePostCode.InsertData('9248', 'Bichwil', 'BICHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9249', 'Algetshausen', 'ALGETSHAUSEN', '', 'SG', ''); + CreatePostCode.InsertData('9249', 'Niederstetten', 'NIEDERSTETTEN', '', 'SG', ''); + CreatePostCode.InsertData('9249', 'Oberstetten', 'OBERSTETTEN', '', 'SG', ''); + CreatePostCode.InsertData('9300', 'Wittenbach', 'WITTENBACH', '', 'SG', ''); + CreatePostCode.InsertData('9300', 'Wittenbach Zustellung', 'WITTENBACH ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9301', 'Wittenbach', 'WITTENBACH', '', 'SG', ''); + CreatePostCode.InsertData('9304', 'Bernhardzell', 'BERNHARDZELL', '', 'SG', ''); + CreatePostCode.InsertData('9305', 'Berg SG', 'BERG SG', '', 'SG', ''); + CreatePostCode.InsertData('9306', 'Freidorf TG', 'FREIDORF TG', '', 'TG', ''); + CreatePostCode.InsertData('9308', 'Lömmenschwil', 'LÖMMENSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9312', 'Häggenschwil', 'HÄGGENSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9313', 'Muolen', 'MUOLEN', '', 'SG', ''); + CreatePostCode.InsertData('9314', 'Steinebrunn', 'STEINEBRUNN', '', 'TG', ''); + CreatePostCode.InsertData('9315', 'Neukirch (Egnach)', 'NEUKIRCH (EGNACH)', '', 'TG', ''); + CreatePostCode.InsertData('9315', 'Winden', 'WINDEN', '', 'TG', ''); + CreatePostCode.InsertData('9320', 'Arbon', 'ARBON', '', 'TG', ''); + CreatePostCode.InsertData('9320', 'Arbon Zustellung', 'ARBON ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('9320', 'Frasnacht', 'FRASNACHT', '', 'TG', ''); + CreatePostCode.InsertData('9320', 'Stachen', 'STACHEN', '', 'TG', ''); + CreatePostCode.InsertData('9322', 'Egnach', 'EGNACH', '', 'TG', ''); + CreatePostCode.InsertData('9323', 'Steinach', 'STEINACH', '', 'SG', ''); + CreatePostCode.InsertData('9325', 'Roggwil TG', 'ROGGWIL TG', '', 'TG', ''); + CreatePostCode.InsertData('9326', 'Horn', 'HORN', '', 'TG', ''); + CreatePostCode.InsertData('9327', 'Tübach', 'TÜBACH', '', 'SG', ''); + CreatePostCode.InsertData('9400', 'Rorschach', 'RORSCHACH', '', 'SG', ''); + CreatePostCode.InsertData('9400', 'Rorschach Zustellung', 'RORSCHACH ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9401', 'Rorschach', 'RORSCHACH', '', 'SG', ''); + CreatePostCode.InsertData('9402', 'Mörschwil', 'MÖRSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9403', 'Goldach', 'GOLDACH', '', 'SG', ''); + CreatePostCode.InsertData('9404', 'Rorschacherberg', 'RORSCHACHERBERG', '', 'SG', ''); + CreatePostCode.InsertData('9405', 'Wienacht-Tobel', 'WIENACHT-TOBEL', '', 'AR', ''); + CreatePostCode.InsertData('9410', 'Heiden', 'HEIDEN', '', 'AR', ''); + CreatePostCode.InsertData('9410', 'Heiden Zustellung', 'HEIDEN ZUSTELLUNG', '', 'AR', ''); + CreatePostCode.InsertData('9411', 'Reute AR', 'REUTE AR', '', 'AR', ''); + CreatePostCode.InsertData('9413', 'Oberegg', 'OBEREGG', '', 'AI', ''); + CreatePostCode.InsertData('9414', 'Schachen b. Reute', 'SCHACHEN B. REUTE', '', 'AR', ''); + CreatePostCode.InsertData('9422', 'Staad SG', 'STAAD SG', '', 'SG', ''); + CreatePostCode.InsertData('9423', 'Altenrhein', 'ALTENRHEIN', '', 'SG', ''); + CreatePostCode.InsertData('9423', 'Altenrhein Dorfstrasse', 'ALTENRHEIN DORFSTRASSE', '', 'SG', ''); + CreatePostCode.InsertData('9424', 'Rheineck', 'RHEINECK', '', 'SG', ''); + CreatePostCode.InsertData('9424', 'Rheineck Zustellung', 'RHEINECK ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9425', 'Thal', 'THAL', '', 'SG', ''); + CreatePostCode.InsertData('9426', 'Lutzenberg', 'LUTZENBERG', '', 'AR', ''); + CreatePostCode.InsertData('9427', 'Wolfhalden', 'WOLFHALDEN', '', 'AR', ''); + CreatePostCode.InsertData('9428', 'Platz AR', 'PLATZ AR', '', 'AR', ''); + CreatePostCode.InsertData('9428', 'Walzenhausen', 'WALZENHAUSEN', '', 'AR', ''); + CreatePostCode.InsertData('9430', 'St. Margrethen SG', 'ST. MARGRETHEN SG', '', 'SG', ''); + CreatePostCode.InsertData('9430', 'St. Margrethen SG Zust', 'ST. MARGRETHEN SG ZUST', '', 'SG', ''); + CreatePostCode.InsertData('9434', 'Au SG', 'AU SG', '', 'SG', ''); + CreatePostCode.InsertData('9435', 'Heerbrugg', 'HEERBRUGG', '', 'SG', ''); + CreatePostCode.InsertData('9435', 'Heerbrugg Zustellung', 'HEERBRUGG ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9436', 'Balgach', 'BALGACH', '', 'SG', ''); + CreatePostCode.InsertData('9437', 'Marbach SG', 'MARBACH SG', '', 'SG', ''); + CreatePostCode.InsertData('9442', 'Berneck Zustellung', 'Berneck Zustellung', '', 'SG', ''); + CreatePostCode.InsertData('9442', 'Berneck', 'BERNECK', '', 'SG', ''); + CreatePostCode.InsertData('9442', 'Berneck Dist Ba', 'BERNECK DIST BA', '', 'SG', ''); + CreatePostCode.InsertData('9442', 'Büriswilen', 'BÜRISWILEN', '', 'AI', ''); + CreatePostCode.InsertData('9443', 'Widnau', 'WIDNAU', '', 'SG', ''); + CreatePostCode.InsertData('9444', 'Diepoldsau', 'DIEPOLDSAU', '', 'SG', ''); + CreatePostCode.InsertData('9444', 'Diepoldsau Zustellung', 'DIEPOLDSAU ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9445', 'Rebstein', 'REBSTEIN', '', 'SG', ''); + CreatePostCode.InsertData('9450', 'Altstätten SG', 'ALTSTÄTTEN SG', '', 'SG', ''); + CreatePostCode.InsertData('9450', 'Altstätten SG Zustellung', 'ALTSTÄTTEN SG ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9450', 'Lüchingen', 'LÜCHINGEN', '', 'SG', ''); + CreatePostCode.InsertData('9451', 'Kriessern', 'KRIESSERN', '', 'SG', ''); + CreatePostCode.InsertData('9452', 'Hinterforst', 'HINTERFORST', '', 'SG', ''); + CreatePostCode.InsertData('9453', 'Eichberg', 'EICHBERG', '', 'SG', ''); + CreatePostCode.InsertData('9462', 'Montlingen', 'MONTLINGEN', '', 'SG', ''); + CreatePostCode.InsertData('9463', 'Oberriet SG', 'OBERRIET SG', '', 'SG', ''); + CreatePostCode.InsertData('9463', 'Oberriet SG Zustellung', 'OBERRIET SG ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9464', 'Lienz', 'LIENZ', '', 'SG', ''); + CreatePostCode.InsertData('9464', 'Rüthi (Rheintal)', 'RÜTHI (RHEINTAL)', '', 'SG', ''); + CreatePostCode.InsertData('9464', 'Rüthi (Rheintal) Staatstr', 'RÜTHI (RHEINTAL) STAATSTR', '', 'SG', ''); + CreatePostCode.InsertData('9465', 'Salez', 'SALEZ', '', 'SG', ''); + CreatePostCode.InsertData('9466', 'Sennwald', 'SENNWALD', '', 'SG', ''); + CreatePostCode.InsertData('9467', 'Frümsen', 'FRÜMSEN', '', 'SG', ''); + CreatePostCode.InsertData('9468', 'Sax', 'SAX', '', 'SG', ''); + CreatePostCode.InsertData('9469', 'Haag (Rheintal)', 'HAAG (RHEINTAL)', '', 'SG', ''); + CreatePostCode.InsertData('9470', 'Buchs SG', 'BUCHS SG', '', 'SG', ''); + CreatePostCode.InsertData('9470', 'Buchs SG 1', 'BUCHS SG 1', '', 'SG', ''); + CreatePostCode.InsertData('9470', 'Buchs SG 1 Zustellung', 'BUCHS SG 1 ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9470', 'Buchs SG Dist Fil', 'BUCHS SG DIST FIL', '', 'SG', ''); + CreatePostCode.InsertData('9470', 'Buchs SG Räfis', 'BUCHS SG RÄFIS', '', 'SG', ''); + CreatePostCode.InsertData('9470', 'Werdenberg', 'WERDENBERG', '', 'SG', ''); + CreatePostCode.InsertData('9471', 'Buchs Bahnhof SBB', 'BUCHS BAHNHOF SBB', '', 'SG', ''); + CreatePostCode.InsertData('9471', 'Buchs SG 1', 'BUCHS SG 1', '', 'SG', ''); + CreatePostCode.InsertData('9471', 'Buchs SG 3', 'BUCHS SG 3', '', 'SG', ''); + CreatePostCode.InsertData('9472', 'Grabs', 'GRABS', '', 'SG', ''); + CreatePostCode.InsertData('9472', 'Grabserberg', 'GRABSERBERG', '', 'SG', ''); + CreatePostCode.InsertData('9473', 'Gams', 'GAMS', '', 'SG', ''); + CreatePostCode.InsertData('9475', 'Sevelen', 'SEVELEN', '', 'SG', ''); + CreatePostCode.InsertData('9476', 'Fontnas', 'FONTNAS', '', 'SG', ''); + CreatePostCode.InsertData('9476', 'Weite', 'WEITE', '', 'SG', ''); + CreatePostCode.InsertData('9477', 'Trübbach', 'TRÜBBACH', '', 'SG', ''); + CreatePostCode.InsertData('9478', 'Azmoos', 'AZMOOS', '', 'SG', ''); + CreatePostCode.InsertData('9479', 'Gretschins', 'GRETSCHINS', '', 'SG', ''); + CreatePostCode.InsertData('9479', 'Malans SG', 'MALANS SG', '', 'SG', ''); + CreatePostCode.InsertData('9479', 'Oberschan', 'OBERSCHAN', '', 'SG', ''); + CreatePostCode.InsertData('9485', 'Nendeln', 'NENDELN', '', 'FL', ''); + CreatePostCode.InsertData('9486', 'Schaanwald', 'SCHAANWALD', '', 'FL', ''); + CreatePostCode.InsertData('9487', 'Gamprin-Bendern', 'GAMPRIN-BENDERN', '', 'FL', ''); + CreatePostCode.InsertData('9488', 'Schellenberg', 'SCHELLENBERG', '', 'FL', ''); + CreatePostCode.InsertData('9489', 'Schaan Log', 'SCHAAN LOG', '', 'FL', ''); + CreatePostCode.InsertData('9490', 'Vaduz', 'VADUZ', '', 'FL', ''); + CreatePostCode.InsertData('9491', 'Ruggell', 'RUGGELL', '', 'FL', ''); + CreatePostCode.InsertData('9492', 'Eschen', 'ESCHEN', '', 'FL', ''); + CreatePostCode.InsertData('9493', 'Mauren FL', 'MAUREN FL', '', 'FL', ''); + CreatePostCode.InsertData('9494', 'Schaan', 'SCHAAN', '', 'FL', ''); + CreatePostCode.InsertData('9494', 'Schaan Betriebszentrum', 'SCHAAN BETRIEBSZENTRUM', '', 'FL', ''); + CreatePostCode.InsertData('9494', 'Schaan BZ GKS', 'SCHAAN BZ GKS', '', 'FL', ''); + CreatePostCode.InsertData('9494', 'Schaan IMPCA', 'SCHAAN IMPCA', '', 'FL', ''); + CreatePostCode.InsertData('9494', 'Schaan Zustellung', 'SCHAAN ZUSTELLUNG', '', 'FL', ''); + CreatePostCode.InsertData('9495', 'Triesen', 'TRIESEN', '', 'FL', ''); + CreatePostCode.InsertData('9496', 'Balzers', 'BALZERS', '', 'FL', ''); + CreatePostCode.InsertData('9497', 'Triesenberg', 'TRIESENBERG', '', 'FL', ''); + CreatePostCode.InsertData('9498', 'Planken', 'PLANKEN', '', 'FL', ''); + CreatePostCode.InsertData('9500', 'Wil SG', 'WIL SG', '', 'SG', ''); + CreatePostCode.InsertData('9500', 'Wil SG 1', 'WIL SG 1', '', 'SG', ''); + CreatePostCode.InsertData('9500', 'Wil SG 1 Zustellung', 'WIL SG 1 ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9500', 'Wil SG 2', 'WIL SG 2', '', 'SG', ''); + CreatePostCode.InsertData('9501', 'Wil SG 1', 'WIL SG 1', '', 'SG', ''); + CreatePostCode.InsertData('9502', 'Braunau', 'BRAUNAU', '', 'TG', ''); + CreatePostCode.InsertData('9503', 'Lanterswil', 'LANTERSWIL', '', 'TG', ''); + CreatePostCode.InsertData('9503', 'Stehrenberg', 'STEHRENBERG', '', 'TG', ''); + CreatePostCode.InsertData('9504', 'Friltschen', 'FRILTSCHEN', '', 'TG', ''); + CreatePostCode.InsertData('9506', 'Lommis', 'LOMMIS', '', 'TG', ''); + CreatePostCode.InsertData('9507', 'Stettfurt', 'STETTFURT', '', 'TG', ''); + CreatePostCode.InsertData('9508', 'Weingarten-Kalthäusern', 'WEINGARTEN-KALTHÄUSERN', '', 'TG', ''); + CreatePostCode.InsertData('9510', 'Wil SG Distributionsbasis', 'WIL SG DISTRIBUTIONSBASIS', '', 'SG', ''); + CreatePostCode.InsertData('9512', 'Rossrüti', 'ROSSRÜTI', '', 'SG', ''); + CreatePostCode.InsertData('9514', 'Wuppenau', 'WUPPENAU', '', 'TG', ''); + CreatePostCode.InsertData('9515', 'Hosenruck', 'HOSENRUCK', '', 'TG', ''); + CreatePostCode.InsertData('9517', 'Mettlen', 'METTLEN', '', 'TG', ''); + CreatePostCode.InsertData('9523', 'Züberwangen', 'ZÜBERWANGEN', '', 'SG', ''); + CreatePostCode.InsertData('9524', 'Zuzwil SG', 'ZUZWIL SG', '', 'SG', ''); + CreatePostCode.InsertData('9525', 'Lenggenwil', 'LENGGENWIL', '', 'SG', ''); + CreatePostCode.InsertData('9526', 'Zuckenriet', 'ZUCKENRIET', '', 'SG', ''); + CreatePostCode.InsertData('9527', 'Niederhelfenschwil', 'NIEDERHELFENSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9532', 'Rickenbach b. Wil', 'RICKENBACH B. WIL', '', 'TG', ''); + CreatePostCode.InsertData('9533', 'Dietschwil', 'DIETSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9533', 'Kirchberg SG', 'KIRCHBERG SG', '', 'SG', ''); + CreatePostCode.InsertData('9534', 'Gähwil', 'GÄHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9535', 'Wilen b. Wil', 'WILEN B. WIL', '', 'TG', ''); + CreatePostCode.InsertData('9536', 'Schwarzenbach SG', 'SCHWARZENBACH SG', '', 'SG', ''); + CreatePostCode.InsertData('9542', 'Münchwilen TG', 'MÜNCHWILEN TG', '', 'TG', ''); + CreatePostCode.InsertData('9543', 'St. Margarethen TG', 'ST. MARGARETHEN TG', '', 'TG', ''); + CreatePostCode.InsertData('9545', 'Wängi', 'WÄNGI', '', 'TG', ''); + CreatePostCode.InsertData('9545', 'Wängi Zustellung', 'WÄNGI ZUSTELLUNG', '', 'TG', ''); + CreatePostCode.InsertData('9546', 'Tuttwil', 'TUTTWIL', '', 'TG', ''); + CreatePostCode.InsertData('9547', 'Wittenwil', 'WITTENWIL', '', 'TG', ''); + CreatePostCode.InsertData('9548', 'Matzingen', 'MATZINGEN', '', 'TG', ''); + CreatePostCode.InsertData('9552', 'Bronschhofen', 'BRONSCHHOFEN', '', 'SG', ''); + CreatePostCode.InsertData('9553', 'Bettwiesen', 'BETTWIESEN', '', 'TG', ''); + CreatePostCode.InsertData('9554', 'Tägerschen', 'TÄGERSCHEN', '', 'TG', ''); + CreatePostCode.InsertData('9555', 'Tobel', 'TOBEL', '', 'TG', ''); + CreatePostCode.InsertData('9556', 'Affeltrangen', 'AFFELTRANGEN', '', 'TG', ''); + CreatePostCode.InsertData('9556', 'Zezikon', 'ZEZIKON', '', 'TG', ''); + CreatePostCode.InsertData('9562', 'Buch b. Märwil', 'BUCH B. MÄRWIL', '', 'TG', ''); + CreatePostCode.InsertData('9562', 'Märwil', 'MÄRWIL', '', 'TG', ''); + CreatePostCode.InsertData('9565', 'Bussnang', 'BUSSNANG', '', 'TG', ''); + CreatePostCode.InsertData('9565', 'Oberbussnang', 'OBERBUSSNANG', '', 'TG', ''); + CreatePostCode.InsertData('9565', 'Oppikon', 'OPPIKON', '', 'TG', ''); + CreatePostCode.InsertData('9565', 'Rothenhausen', 'ROTHENHAUSEN', '', 'TG', ''); + CreatePostCode.InsertData('9565', 'Schmidshof', 'SCHMIDSHOF', '', 'TG', ''); + CreatePostCode.InsertData('9573', 'Littenheid', 'LITTENHEID', '', 'TG', ''); + CreatePostCode.InsertData('9601', 'Lütisburg Station', 'LÜTISBURG STATION', '', 'SG', ''); + CreatePostCode.InsertData('9602', 'Bazenheid', 'BAZENHEID', '', 'SG', ''); + CreatePostCode.InsertData('9602', 'Bazenheid Zustellung', 'BAZENHEID ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9602', 'Müselbach', 'MÜSELBACH', '', 'SG', ''); + CreatePostCode.InsertData('9604', 'Lütisburg', 'LÜTISBURG', '', 'SG', ''); + CreatePostCode.InsertData('9604', 'Oberrindal', 'OBERRINDAL', '', 'SG', ''); + CreatePostCode.InsertData('9604', 'Unterrindal', 'UNTERRINDAL', '', 'SG', ''); + CreatePostCode.InsertData('9606', 'Bütschwil', 'BÜTSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9607', 'Mosnang', 'MOSNANG', '', 'SG', ''); + CreatePostCode.InsertData('9608', 'Ganterschwil', 'GANTERSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9612', 'Dreien', 'DREIEN', '', 'SG', ''); + CreatePostCode.InsertData('9613', 'Mühlrüti', 'MÜHLRÜTI', '', 'SG', ''); + CreatePostCode.InsertData('9614', 'Libingen', 'LIBINGEN', '', 'SG', ''); + CreatePostCode.InsertData('9615', 'Dietfurt', 'DIETFURT', '', 'SG', ''); + CreatePostCode.InsertData('9620', 'Lichtensteig', 'LICHTENSTEIG', '', 'SG', ''); + CreatePostCode.InsertData('9621', 'Oberhelfenschwil', 'OBERHELFENSCHWIL', '', 'SG', ''); + CreatePostCode.InsertData('9622', 'Krinau', 'KRINAU', '', 'SG', ''); + CreatePostCode.InsertData('9630', 'Wattwil', 'WATTWIL', '', 'SG', ''); + CreatePostCode.InsertData('9630', 'Wattwil Zustellung', 'WATTWIL ZUSTELLUNG', '', 'SG', ''); + CreatePostCode.InsertData('9631', 'Ulisbach', 'ULISBACH', '', 'SG', ''); + CreatePostCode.InsertData('9633', 'Bächli (Hemberg)', 'BÄCHLI (HEMBERG)', '', 'SG', ''); + CreatePostCode.InsertData('9633', 'Hemberg', 'HEMBERG', '', 'SG', ''); + CreatePostCode.InsertData('9642', 'Ebnat-Kappel', 'EBNAT-KAPPEL', '', 'SG', ''); + CreatePostCode.InsertData('9643', 'Krummenau', 'KRUMMENAU', '', 'SG', ''); + CreatePostCode.InsertData('9650', 'Nesslau', 'NESSLAU', '', 'SG', ''); + CreatePostCode.InsertData('9651', 'Ennetbühl', 'ENNETBÜHL', '', 'SG', ''); + CreatePostCode.InsertData('9652', 'Neu St. Johann', 'NEU ST. JOHANN', '', 'SG', ''); + CreatePostCode.InsertData('9655', 'Stein SG', 'STEIN SG', '', 'SG', ''); + CreatePostCode.InsertData('9656', 'Alt St. Johann', 'ALT ST. JOHANN', '', 'SG', ''); + CreatePostCode.InsertData('9657', 'Unterwasser', 'UNTERWASSER', '', 'SG', ''); + CreatePostCode.InsertData('9658', 'Wildhaus', 'WILDHAUS', '', 'SG', ''); + CreatePostCode.InsertData('AT-1100', 'Wien', 'WIEN', 'AT', '', ''); + CreatePostCode.InsertData('AT-1230', 'Wien', 'WIEN', 'AT', '', ''); + CreatePostCode.InsertData('AT-2355', 'Wr. Neudorf', 'WR. NEUDORF', 'AT', '', ''); + CreatePostCode.InsertData('AT-4810', 'Gmunden', 'GMUNDEN', 'AT', '', ''); + CreatePostCode.InsertData('AT-5730', 'Mittersill', 'MITTERSILL', 'AT', '', ''); + CreatePostCode.InsertData('AT-8850', 'Murau', 'MURAU', 'AT', '', ''); + CreatePostCode.InsertData('AU-2000', 'Sydney, NSW', 'SYDNEY, NSW', 'AU', '', ''); + CreatePostCode.InsertData('AU-2500', 'Wollongong, NSW', 'WOLLONGONG, NSW', 'AU', '', ''); + CreatePostCode.InsertData('AU-3000', 'Melbourne, VIC', 'MELBOURNE, VIC', 'AU', '', ''); + CreatePostCode.InsertData('AU-4000', 'Brisbane, QLD', 'BRISBANE, QLD', 'AU', '', ''); + CreatePostCode.InsertData('AU-6800', 'Perth, WA', 'PERTH, WA', 'AU', '', ''); + CreatePostCode.InsertData('AU-7178', 'Murdunna, TAS', 'MURDUNNA, TAS', 'AU', '', ''); + CreatePostCode.InsertData('BE-1851', 'Humbeek', 'HUMBEEK', 'BE', '', ''); + CreatePostCode.InsertData('BE-2050', 'Antwerpen', 'ANTWERPEN', 'BE', '', ''); + CreatePostCode.InsertData('BE-2200', 'Herentals', 'HERENTALS', 'BE', '', ''); + CreatePostCode.InsertData('BE-2800', 'Mechelen', 'MECHELEN', 'BE', '', ''); + CreatePostCode.InsertData('BE-3000', 'Leuven', 'LEUVEN', 'BE', '', ''); + CreatePostCode.InsertData('BE-8500', 'Kortrijk', 'KORTRIJK', 'BE', '', ''); + CreatePostCode.InsertData('BG-1000', 'Sofia', 'SOFIA', 'BG', '', ''); + CreatePostCode.InsertData('BG-2500', 'Kustendil', 'KUSTENDIL', 'BG', '', ''); + CreatePostCode.InsertData('BG-2700', 'Blagoevgrad', 'BLAGOEVGRAD', 'BG', '', ''); + CreatePostCode.InsertData('BG-4000', 'Plovdiv', 'PLOVDIV', 'BG', '', ''); + CreatePostCode.InsertData('BG-8700', 'Elhovo', 'ELHOVO', 'BG', '', ''); + CreatePostCode.InsertData('BG-9000', 'Varna', 'VARNA', 'BG', '', ''); + CreatePostCode.InsertData('BR 05428-002', 'Sao Paulo SP', 'SAO PAULO SP', 'BR', '', ''); + CreatePostCode.InsertData('BR 22291-040', 'Rio de Janeiro RJ', 'RIO DE JANEIRO RJ', 'BR', '', ''); + CreatePostCode.InsertData('BR 51021-040', 'Recife PE', 'RECIFE PE', 'BR', '', ''); + CreatePostCode.InsertData('BR 70710-926', 'Brasilia DF', 'BRASILIA DF', 'BR', '', ''); + CreatePostCode.InsertData('BR 80020-290', 'Curitiba PR', 'CURITIBA PR', 'BR', '', ''); + CreatePostCode.InsertData('BR 90040-130', 'Porto Alegre RS', 'PORTO ALEGRE RS', 'BR', '', ''); + CreatePostCode.InsertData('CA-MB R0M 0N0', 'Elkhorn', 'ELKHORN', 'CA', '', ''); + CreatePostCode.InsertData('CA-ON L6J 3J3', 'Oakville', 'OAKVILLE', 'CA', '', ''); + CreatePostCode.InsertData('CA-ON M5E 1G5', 'Toronto', 'TORONTO', 'CA', '', ''); + CreatePostCode.InsertData('CA-ON N6B 1V7', 'London', 'LONDON', 'CA', '', ''); + CreatePostCode.InsertData('CA-ON P7A 4K8', 'Thunder Bay', 'THUNDER BAY', 'CA', '', ''); + CreatePostCode.InsertData('CA-ON P7B 5E2', 'Thunder Bay', 'THUNDER BAY', 'CA', '', ''); + CreatePostCode.InsertData('CZ-669 02', 'Znojmo', 'ZNOJMO', 'CZ', '', ''); + CreatePostCode.InsertData('CZ-678 01', 'Blansko', 'BLANSKO', 'CZ', '', ''); + CreatePostCode.InsertData('CZ-687 71', 'Bojkovice', 'BOJKOVICE', 'CZ', '', ''); + CreatePostCode.InsertData('CZ-696 42', 'Vracov', 'VRACOV', 'CZ', '', ''); + CreatePostCode.InsertData('CZ-697 01', 'Kyjov', 'KYJOV', 'CZ', '', ''); + CreatePostCode.InsertData('CZ-779 00', 'Olomouch', 'OLOMOUCH', 'CZ', '', ''); + CreatePostCode.InsertData('DE-20097', 'Hamburg', 'HAMBURG', 'DE', '', ''); + CreatePostCode.InsertData('DE-22417', 'Hamburg 36', 'HAMBURG 36', 'DE', '', ''); + CreatePostCode.InsertData('DE-40593', 'Dusseldorf', 'DUSSELDORF', 'DE', '', ''); + CreatePostCode.InsertData('DE-60320', 'Frankfurt/Main', 'FRANKFURT/MAIN', 'DE', '', ''); + CreatePostCode.InsertData('DE-72800', 'Eningen', 'ENINGEN', 'DE', '', ''); + CreatePostCode.InsertData('DE-80807', 'Munchen', 'MUNCHEN', 'DE', '', ''); + CreatePostCode.InsertData('DE-80997', 'Munchen', 'MUNCHEN', 'DE', '', ''); + CreatePostCode.InsertData('DE-86899', 'Landsberg am Lech', 'LANDSBERG AM LECH', 'DE', '', ''); + CreatePostCode.InsertData('DK-2100', 'Copenhagen', 'COPENHAGEN', 'DK', '', ''); + CreatePostCode.InsertData('DK-2950', 'Vedbaek', 'VEDBAEK', 'DK', '', ''); + CreatePostCode.InsertData('DK-4600', 'Koge', 'KOGE', 'DK', '', ''); + CreatePostCode.InsertData('DK-5000', 'Odense C', 'ODENSE C', 'DK', '', ''); + CreatePostCode.InsertData('DK-5800', 'Nyborg', 'NYBORG', 'DK', '', ''); + CreatePostCode.InsertData('DK-8000', 'Arhus C', 'ARHUS C', 'DK', '', ''); + CreatePostCode.InsertData('DK-8200', 'Arhus N', 'ARHUS N', 'DK', '', ''); + CreatePostCode.InsertData('DK-9000', 'Alborg', 'ALBORG', 'DK', '', ''); + CreatePostCode.InsertData('DZ-05400', 'BARIKA', 'BARIKA', 'DZ', '', ''); + CreatePostCode.InsertData('DZ-16000', 'ALGIERS', 'ALGIERS', 'DZ', '', ''); + CreatePostCode.InsertData('DZ-16012', 'ALGIERS', 'ALGIERS', 'DZ', '', ''); + CreatePostCode.InsertData('DZ-16027', 'ALGIERS', 'ALGIERS', 'DZ', '', ''); + CreatePostCode.InsertData('DZ-21000', 'MOSTAGANCU', 'MOSTAGANCU', 'DZ', '', ''); + CreatePostCode.InsertData('DZ-40000', 'KHENCHE', 'KHENCHE', 'DZ', '', ''); + CreatePostCode.InsertData('EE-10127', 'Tallinn', 'TALLINN', 'EE', '', ''); + CreatePostCode.InsertData('EE-20607', 'Narva', 'NARVA', 'EE', '', ''); + CreatePostCode.InsertData('EE-44313', 'Rakvere', 'RAKVERE', 'EE', '', ''); + CreatePostCode.InsertData('EE-45109', 'Tapa', 'TAPA', 'EE', '', ''); + CreatePostCode.InsertData('EE-49603', 'Mustvee', 'MUSTVEE', 'EE', '', ''); + CreatePostCode.InsertData('EE-76806', 'Paldiski', 'PALDISKI', 'EE', '', ''); + CreatePostCode.InsertData('EL-106 75', 'Athens', 'ATHENS', 'EL', '', ''); + CreatePostCode.InsertData('EL-106 82', 'Athens', 'ATHENS', 'EL', '', ''); + CreatePostCode.InsertData('EL-185 40', 'Piraeus', 'PIRAEUS', 'EL', '', ''); + CreatePostCode.InsertData('EL-546 35', 'Thessaloniki', 'THESSALONIKI', 'EL', '', ''); + CreatePostCode.InsertData('EL-731 33', 'Chania', 'CHANIA', 'EL', '', ''); + CreatePostCode.InsertData('EL-851 03', 'Kolymbia', 'KOLYMBIA', 'EL', '', ''); + CreatePostCode.InsertData('ES-03003', 'Alicante', 'ALICANTE', 'ES', '', ''); + CreatePostCode.InsertData('ES-07001', 'Palma Mallorca', 'PALMA MALLORCA', 'ES', '', ''); + CreatePostCode.InsertData('ES-08010', 'Barcelona', 'BARCELONA', 'ES', '', ''); + CreatePostCode.InsertData('ES-10003', 'Caceres', 'CACERES', 'ES', '', ''); + CreatePostCode.InsertData('ES-28003', 'Madrid', 'MADRID', 'ES', '', ''); + CreatePostCode.InsertData('ES-36004', 'Pontevedra', 'PONTEVEDRA', 'ES', '', ''); + CreatePostCode.InsertData('ES-37001', 'Salamanca', 'SALAMANCA', 'ES', '', ''); + CreatePostCode.InsertData('ES-41006', 'Sevilla', 'SEVILLA', 'ES', '', ''); + CreatePostCode.InsertData('ES-46007', 'Valencia', 'VALENCIA', 'ES', '', ''); + CreatePostCode.InsertData('ES-47002', 'Valladolid', 'VALLADOLID', 'ES', '', ''); + CreatePostCode.InsertData('ES-50001', 'Zaragoza', 'ZARAGOZA', 'ES', '', ''); + CreatePostCode.InsertData('FI-00100', 'Helsinki', 'HELSINKI', 'FI', '', ''); + CreatePostCode.InsertData('FI-00101', 'Helsinki', 'HELSINKI', 'FI', '', ''); + CreatePostCode.InsertData('FI-00260', 'Helsinki', 'HELSINKI', 'FI', '', ''); + CreatePostCode.InsertData('FI-01800', 'Klaukkala', 'KLAUKKALA', 'FI', '', ''); + CreatePostCode.InsertData('FI-05400', 'Jokela', 'JOKELA', 'FI', '', ''); + CreatePostCode.InsertData('FI-88900', 'Kuhmo', 'KUHMO', 'FI', '', ''); + CreatePostCode.InsertData('FR-44450', 'LA CHAPELLE BASSE MER', 'LA CHAPELLE BASSE MER', 'FR', '', ''); + CreatePostCode.InsertData('FR-50670', 'CASSEL', 'CASSEL', 'FR', '', ''); + CreatePostCode.InsertData('FR-75000', 'PARIS', 'PARIS', 'FR', '', ''); + CreatePostCode.InsertData('FR-77450', 'ESBLY', 'ESBLY', 'FR', '', ''); + CreatePostCode.InsertData('FR-78370', 'PLAISIR', 'PLAISIR', 'FR', '', ''); + CreatePostCode.InsertData('FR-83250', 'LA LONDE LES MAURES', 'LA LONDE LES MAURES', 'FR', '', ''); + CreatePostCode.InsertData('GB-B27 4KT', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B31 2AL', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B32 4TF', 'Sparkhill, Birmingham', 'SPARKHILL, BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B68 5TT', 'Bromsgrove', 'BROMSGROVE', 'GB', '', ''); + CreatePostCode.InsertData('GB-BA24 6KS', 'Bath', 'BATH', 'GB', '', ''); + CreatePostCode.InsertData('GB-BR1 2ES', 'Bromley', 'BROMLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-BS3 6KL', 'Bristol', 'BRISTOL', 'GB', '', ''); + CreatePostCode.InsertData('GB-CB3 7GG', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + CreatePostCode.InsertData('GB-CF22 1XU', 'Cardiff', 'CARDIFF', 'GB', '', ''); + CreatePostCode.InsertData('GB-CT6 21ND', 'Hythe', 'HYTHE', 'GB', '', ''); + CreatePostCode.InsertData('GB-CV6 1GY', 'Coventry', 'COVENTRY', 'GB', '', ''); + CreatePostCode.InsertData('GB-DA5 3EF', 'Sidcup', 'SIDCUP', 'GB', '', ''); + CreatePostCode.InsertData('GB-DY5 4DJ', 'Dudley', 'DUDLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-E12 5TG', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-EH16 8JS', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-GL1 9HM', 'Gloucester', 'GLOUCESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-GL78 5TT', 'Cheltenham', 'CHELTENHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-GU3 2SE', 'Guildford', 'GUILDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-GU7 5GT', 'Guildford', 'GUILDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-HG1 7YW', 'Ripon', 'RIPON', 'GB', '', ''); + CreatePostCode.InsertData('GB-HP43 2AY', 'Tring', 'TRING', 'GB', '', ''); + CreatePostCode.InsertData('GB-IB7 7VN', 'Gainsborough', 'GAINSBOROUGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-L18 6SA', 'Liverpool', 'LIVERPOOL', 'GB', '', ''); + CreatePostCode.InsertData('GB-LE16 7YH', 'Leicester', 'LEICESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-LL6 5GB', 'Rhyl', 'RHYL', 'GB', '', ''); + CreatePostCode.InsertData('GB-LN23 6GS', 'Lincoln', 'LINCOLN', 'GB', '', ''); + CreatePostCode.InsertData('GB-LU3 4FY', 'Luton', 'LUTON', 'GB', '', ''); + CreatePostCode.InsertData('GB-M61 2YG', 'Manchester', 'MANCHESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-ME5 6RL', 'Maidstone', 'MAIDSTONE', 'GB', '', ''); + CreatePostCode.InsertData('GB-MK21 7GG', 'Bletchley', 'BLETCHLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-MK41 5AE', 'Bedford', 'BEDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-MO2 4RT', 'Manchester', 'MANCHESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-N12 5XY', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-N16 34Z', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-NE21 3YG', 'Newcastle', 'NEWCASTLE', 'GB', '', ''); + CreatePostCode.InsertData('GB-NP5 6GH', 'Newport', 'NEWPORT', 'GB', '', ''); + CreatePostCode.InsertData('GB-OX16 0UA', 'Cheddington', 'CHEDDINGTON', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE17 4RN', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE21 3TG', 'Peterborough', 'PETERBOROUGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE23 5IK', 'Kings Lynn', 'KINGS LYNN', 'GB', '', ''); + CreatePostCode.InsertData('GB-PL14 5GB', 'Plymouth', 'PLYMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PO21 6HG', 'Southsea, Portsmouth', 'SOUTHSEA, PORTSMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PO7 2HI', 'Portsmouth', 'PORTSMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-SA1 2HS', 'Swansea', 'SWANSEA', 'GB', '', ''); + CreatePostCode.InsertData('GB-SA3 7HI', 'Stratford', 'STRATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-SK21 5DL', 'Macclesfield', 'MACCLESFIELD', 'GB', '', ''); + CreatePostCode.InsertData('GB-TA3 4FD', 'Newquay', 'NEWQUAY', 'GB', '', ''); + CreatePostCode.InsertData('GB-TN27 6YD', 'Ashford', 'ASHFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-TQ17 8HB', 'Brixham', 'BRIXHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-W1 3AL', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-W2 8HG', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-WC1 2GS', 'West End Lane', 'WEST END LANE', 'GB', '', ''); + CreatePostCode.InsertData('GB-WC1 3DG', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD1 6YG', 'Watford', 'WATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD2 4RG', 'Watford', 'WATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD6 8UY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD6 9HY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + CreatePostCode.InsertData('HR-10000', 'Zagreb', 'ZAGREB', 'HR', '', ''); + CreatePostCode.InsertData('HR-20000', 'Dubrovnik', 'DUBROVNIK', 'HR', '', ''); + CreatePostCode.InsertData('HR-21000', 'Split', 'SPLIT', 'HR', '', ''); + CreatePostCode.InsertData('HR-22000', 'Sibenik', 'SIBENIK', 'HR', '', ''); + CreatePostCode.InsertData('HR-43000', 'Bjelovar', 'BJELOVAR', 'HR', '', ''); + CreatePostCode.InsertData('HR-52210', 'Rovinj', 'ROVINJ', 'HR', '', ''); + CreatePostCode.InsertData('HU-1107', 'Budapest', 'BUDAPEST', 'HU', '', ''); + CreatePostCode.InsertData('HU-1161', 'Budapest', 'BUDAPEST', 'HU', '', ''); + CreatePostCode.InsertData('HU-1204', 'Budapest', 'BUDAPEST', 'HU', '', ''); + CreatePostCode.InsertData('HU-2500', 'Esztergom', 'ESZTERGOM', 'HU', '', ''); + CreatePostCode.InsertData('HU-3258', 'Tarnalelesz', 'TARNALELESZ', 'HU', '', ''); + CreatePostCode.InsertData('HU-3325', 'Noszvaj', 'NOSZVAJ', 'HU', '', ''); + CreatePostCode.InsertData('ID-10310', 'Jakarta', 'JAKARTA', 'ID', '', ''); + CreatePostCode.InsertData('ID-10440', 'Jakarta', 'JAKARTA', 'ID', '', ''); + CreatePostCode.InsertData('ID-11470', 'Jakarta', 'JAKARTA', 'ID', '', ''); + CreatePostCode.InsertData('ID-15156', 'Tangerang', 'TANGERANG', 'ID', '', ''); + CreatePostCode.InsertData('ID-40135', 'Bandung', 'BANDUNG', 'ID', '', ''); + CreatePostCode.InsertData('ID-60172', 'Surabaya', 'SURABAYA', 'ID', '', ''); + CreatePostCode.InsertData('IN-110002', 'Delhi', 'DELHI', 'IN', '', ''); + CreatePostCode.InsertData('IN-400001', 'Mumbai', 'MUMBAI', 'IN', '', ''); + CreatePostCode.InsertData('IN-440001', 'Nagpur', 'NAGPUR', 'IN', '', ''); + CreatePostCode.InsertData('IN-560001', 'Bengaluru', 'BENGALURU', 'IN', '', ''); + CreatePostCode.InsertData('IN-600001', 'Chennai', 'CHENNAI', 'IN', '', ''); + CreatePostCode.InsertData('IN-700001', 'Kolkata', 'KOLKATA', 'IN', '', ''); + CreatePostCode.InsertData('IS-101', 'Reykjavik', 'REYKJAVIK', 'IS', '', ''); + CreatePostCode.InsertData('IS-108', 'Reykjavik', 'REYKJAVIK', 'IS', '', ''); + CreatePostCode.InsertData('IS-112', 'Reykjavik', 'REYKJAVIK', 'IS', '', ''); + CreatePostCode.InsertData('IS-200', 'Kopavogur', 'KOPAVOGUR', 'IS', '', ''); + CreatePostCode.InsertData('IS-220', 'Hafnafjordur', 'HAFNAFJORDUR', 'IS', '', ''); + CreatePostCode.InsertData('IS-300', 'Akranes', 'AKRANES', 'IS', '', ''); + CreatePostCode.InsertData('IT-00100', 'ROMA RM', 'ROMA RM', 'IT', '', ''); + CreatePostCode.InsertData('IT-10100', 'TORINO TO', 'TORINO TO', 'IT', '', ''); + CreatePostCode.InsertData('IT-20100', 'MILANO MI', 'MILANO MI', 'IT', '', ''); + CreatePostCode.InsertData('IT-39100', 'BOLZANO BZ', 'BOLZANO BZ', 'IT', '', ''); + CreatePostCode.InsertData('IT-61100', 'SANTA VENERANDA PS', 'SANTA VENERANDA PS', 'IT', '', ''); + CreatePostCode.InsertData('IT-67067', 'PESCINA AQ', 'PESCINA AQ', 'IT', '', ''); + CreatePostCode.InsertData('KE-0 0100', 'Nairobi', 'NAIROBI', 'KE', '', ''); + CreatePostCode.InsertData('KE-0 1007', 'Kairi', 'KAIRI', 'KE', '', ''); + CreatePostCode.InsertData('KE-5 0413', 'Adungosi', 'ADUNGOSI', 'KE', '', ''); + CreatePostCode.InsertData('KE-6 0500', 'Marsabit', 'MARSABIT', 'KE', '', ''); + CreatePostCode.InsertData('KE-8 0100', 'Mombasa', 'MOMBASA', 'KE', '', ''); + CreatePostCode.InsertData('KE-8 0200', 'Malindi', 'MALINDI', 'KE', '', ''); + CreatePostCode.InsertData('LT-2600', 'Vilnius', 'VILNIUS', 'LT', '', ''); + CreatePostCode.InsertData('LT-2700', 'Vilnius', 'VILNIUS', 'LT', '', ''); + CreatePostCode.InsertData('LT-3000', 'Kaunas', 'KAUNAS', 'LT', '', ''); + CreatePostCode.InsertData('LT-3042', 'Kaunas', 'KAUNAS', 'LT', '', ''); + CreatePostCode.InsertData('LT-4600', 'Rudiskes', 'RUDISKES', 'LT', '', ''); + CreatePostCode.InsertData('LT-5800', 'Klaipeda', 'KLAIPEDA', 'LT', '', ''); + CreatePostCode.InsertData('LV-1011', 'Riga', 'RIGA', 'LV', '', ''); + CreatePostCode.InsertData('LV-1039', 'Riga', 'RIGA', 'LV', '', ''); + CreatePostCode.InsertData('LV-3270', 'Dundaga', 'DUNDAGA', 'LV', '', ''); + CreatePostCode.InsertData('LV-3900', 'Bauska', 'BAUSKA', 'LV', '', ''); + CreatePostCode.InsertData('LV-5002', 'Ogre', 'OGRE', 'LV', '', ''); + CreatePostCode.InsertData('LV-5113', 'Koknese', 'KOKNESE', 'LV', '', ''); + CreatePostCode.InsertData('MA-10100', 'AGDAL-RABAT', 'AGDAL-RABAT', 'MA', '', ''); + CreatePostCode.InsertData('MA-10101', 'RIAD-RABAT', 'RIAD-RABAT', 'MA', '', ''); + CreatePostCode.InsertData('MA-12000', 'TEMARA', 'TEMARA', 'MA', '', ''); + CreatePostCode.InsertData('MA-20000', 'CASABLANCA', 'CASABLANCA', 'MA', '', ''); + CreatePostCode.InsertData('MA-20200', 'CASABLANCA', 'CASABLANCA', 'MA', '', ''); + CreatePostCode.InsertData('MA-20800', 'MOHAMMEDIA', 'MOHAMMEDIA', 'MA', '', ''); + CreatePostCode.InsertData('MA-90000', 'KASBAH TANGER', 'KASBAH TANGER', 'MA', '', ''); + CreatePostCode.InsertData('MX-01030', 'Mexico City, DF', 'MEXICO CITY, DF', 'MX', '', ''); + CreatePostCode.InsertData('MX-06000', 'Mexico City, DF', 'MEXICO CITY, DF', 'MX', '', ''); + CreatePostCode.InsertData('MX-37500', 'Leon, Guanajuato', 'LEON, GUANAJUATO', 'MX', '', ''); + CreatePostCode.InsertData('MX-64640', 'Monterrey, Nuevo Leon', 'MONTERREY, NUEVO LEON', 'MX', '', ''); + CreatePostCode.InsertData('MX-78030', 'San Luis Potosi, San Luis', 'SAN LUIS POTOSI, SAN LUIS', 'MX', '', ''); + CreatePostCode.InsertData('MX-82100', 'Mazatlan, Sinaloa', 'MAZATLAN, SINALOA', 'MX', '', ''); + CreatePostCode.InsertData('MY-42000', 'PELABUHAN KLANG, Selangor', 'PELABUHAN KLANG, SELANGOR', 'MY', '', ''); + CreatePostCode.InsertData('MY-47400', 'PETALING JAYA, Selangor', 'PETALING JAYA, SELANGOR', 'MY', '', ''); + CreatePostCode.InsertData('MY-50450', 'AMPANG, Kuala Lumpur', 'AMPANG, KUALA LUMPUR', 'MY', '', ''); + CreatePostCode.InsertData('MY-57000', 'KUALA LUMPUR', 'KUALA LUMPUR', 'MY', '', ''); + CreatePostCode.InsertData('MY-88100', 'KOTA KINABALU, Sabah', 'KOTA KINABALU, SABAH', 'MY', '', ''); + CreatePostCode.InsertData('MY-93450', 'KUCHING, Sarawak', 'KUCHING, SARAWAK', 'MY', '', ''); + CreatePostCode.InsertData('MZ-00300', 'Maputo', 'MAPUTO', 'MZ', '', ''); + CreatePostCode.InsertData('NG-300001', 'BENIN, Edo state', 'BENIN, EDO STATE', 'NG', '', ''); + CreatePostCode.InsertData('NG-900001', 'ABUJA', 'ABUJA', 'NG', '', ''); + CreatePostCode.InsertData('NG-930283', 'JOS, Plateau state', 'JOS, PLATEAU STATE', 'NG', '', ''); + CreatePostCode.InsertData('NG-931104', 'GHOH, Plateau state', 'GHOH, PLATEAU STATE', 'NG', '', ''); + CreatePostCode.InsertData('NL-1009 AG', 'Amsterdam', 'AMSTERDAM', 'NL', '', ''); + CreatePostCode.InsertData('NL-1530 JM', 'Zaandam', 'ZAANDAM', 'NL', '', ''); + CreatePostCode.InsertData('NL-5132 EE', 'Waalwijk', 'WAALWIJK', 'NL', '', ''); + CreatePostCode.InsertData('NL-6827 BP', 'Arnhem', 'ARNHEM', 'NL', '', ''); + CreatePostCode.InsertData('NL-7202 BP', 'Zutphen', 'ZUTPHEN', 'NL', '', ''); + CreatePostCode.InsertData('NL-7321 HE', 'Apeldoorn', 'APELDOORN', 'NL', '', ''); + CreatePostCode.InsertData('NO-0552', 'Oslo', 'OSLO', 'NO', '', ''); + CreatePostCode.InsertData('NO-0661', 'Oslo', 'OSLO', 'NO', '', ''); + CreatePostCode.InsertData('NO-1300', 'Sandvika', 'SANDVIKA', 'NO', '', ''); + CreatePostCode.InsertData('NO-1324', 'Lysaker', 'LYSAKER', 'NO', '', ''); + CreatePostCode.InsertData('NO-1344', 'Haslum', 'HASLUM', 'NO', '', ''); + CreatePostCode.InsertData('NO-1370', 'Asker', 'ASKER', 'NO', '', ''); + CreatePostCode.InsertData('NO-1400', 'Ski', 'SKI', 'NO', '', ''); + CreatePostCode.InsertData('NZ-1001', 'Auckland', 'AUCKLAND', 'NZ', '', ''); + CreatePostCode.InsertData('NZ-5473', 'Woodville', 'WOODVILLE', 'NZ', '', ''); + CreatePostCode.InsertData('NZ-5491', 'Dannevirke', 'DANNEVIRKE', 'NZ', '', ''); + CreatePostCode.InsertData('NZ-6001', 'Wellington', 'WELLINGTON', 'NZ', '', ''); + CreatePostCode.InsertData('NZ-7900', 'Hokitika', 'HOKITIKA', 'NZ', '', ''); + CreatePostCode.InsertData('NZ-8001', 'Christchurch', 'CHRISTCHURCH', 'NZ', '', ''); + CreatePostCode.InsertData('PH-1000', 'Manila', 'MANILA', 'PH', '', ''); + CreatePostCode.InsertData('PH-1003', 'Santa Cruz, Manila', 'SANTA CRUZ, MANILA', 'PH', '', ''); + CreatePostCode.InsertData('PH-1012', 'Tondo, Manila', 'TONDO, MANILA', 'PH', '', ''); + CreatePostCode.InsertData('PH-1117', 'Capri, Quezon City', 'CAPRI, QUEZON CITY', 'PH', '', ''); + CreatePostCode.InsertData('PH-1440', 'Valenzuela', 'VALENZUELA', 'PH', '', ''); + CreatePostCode.InsertData('PH-7000', 'Zamboanga City', 'ZAMBOANGA CITY', 'PH', '', ''); + CreatePostCode.InsertData('PL 02-515', 'Warszawa', 'WARSZAWA', 'PL', '', ''); + CreatePostCode.InsertData('PL 11-430', 'Korsze', 'KORSZE', 'PL', '', ''); + CreatePostCode.InsertData('PL 14-510', 'Orneta', 'ORNETA', 'PL', '', ''); + CreatePostCode.InsertData('PL 15-660', 'Bialystok', 'BIALYSTOK', 'PL', '', ''); + CreatePostCode.InsertData('PL 45-418', 'Opole', 'OPOLE', 'PL', '', ''); + CreatePostCode.InsertData('PL 59-300', 'Lubin', 'LUBIN', 'PL', '', ''); + CreatePostCode.InsertData('PT 1050-042', 'LISBOA', 'LISBOA', 'PT', '', ''); + CreatePostCode.InsertData('PT 1100-150', 'LISBOA', 'LISBOA', 'PT', '', ''); + CreatePostCode.InsertData('PT 3000-337', 'COIMBRA', 'COIMBRA', 'PT', '', ''); + CreatePostCode.InsertData('PT 4000-322', 'PORTO', 'PORTO', 'PT', '', ''); + CreatePostCode.InsertData('PT 9000-064', 'FUNCHAL', 'FUNCHAL', 'PT', '', ''); + CreatePostCode.InsertData('PT 9500-101', 'PONTA DELGADA', 'PONTA DELGADA', 'PT', '', ''); + CreatePostCode.InsertData('RO-050724', 'Bucuresti', 'BUCURESTI', 'RO', '', ''); + CreatePostCode.InsertData('RO-050729', 'Bucuresti', 'BUCURESTI', 'RO', '', ''); + CreatePostCode.InsertData('RO-051511', 'Bucuresti', 'BUCURESTI', 'RO', '', ''); + CreatePostCode.InsertData('RO-200331', 'Craiova', 'CRAIOVA', 'RO', '', ''); + CreatePostCode.InsertData('RO-500209', 'Brasov', 'BRASOV', 'RO', '', ''); + CreatePostCode.InsertData('RO-550264', 'Sibiu', 'SIBIU', 'RO', '', ''); + CreatePostCode.InsertData('RS-11000', 'Beograd', 'BEOGRAD', 'RS', '', ''); + CreatePostCode.InsertData('RS-11001', 'Beograd', 'BEOGRAD', 'RS', '', ''); + CreatePostCode.InsertData('RS-19210', 'Bor', 'BOR', 'RS', '', ''); + CreatePostCode.InsertData('RS-21000', 'Novi Sad', 'NOVI SAD', 'RS', '', ''); + CreatePostCode.InsertData('RS-24000', 'Subotica', 'SUBOTICA', 'RS', '', ''); + CreatePostCode.InsertData('RS-34000', 'Kragujevac', 'KRAGUJEVAC', 'RS', '', ''); + CreatePostCode.InsertData('RU-103054', 'Moskva', 'MOSKVA', 'RU', '', ''); + CreatePostCode.InsertData('RU-109456', 'Moskva', 'MOSKVA', 'RU', '', ''); + CreatePostCode.InsertData('RU-197342', 'Sankt Petersburg', 'SANKT PETERSBURG', 'RU', '', ''); + CreatePostCode.InsertData('RU-443008', 'Samara', 'SAMARA', 'RU', '', ''); + CreatePostCode.InsertData('RU-603061', 'Nizhny Novgorod', 'NIZHNY NOVGOROD', 'RU', '', ''); + CreatePostCode.InsertData('RU-690001', 'Vladivostok', 'VLADIVOSTOK', 'RU', '', ''); + CreatePostCode.InsertData('SE-114 32', 'Stockholm', 'STOCKHOLM', 'SE', '', ''); + CreatePostCode.InsertData('SE-302 50', 'Halmstad', 'HALMSTAD', 'SE', '', ''); + CreatePostCode.InsertData('SE-415 06', 'Goteborg', 'GOTEBORG', 'SE', '', ''); + CreatePostCode.InsertData('SE-521 03', 'Kinnared', 'KINNARED', 'SE', '', ''); + CreatePostCode.InsertData('SE-550 05', 'Jonkobing', 'JONKOBING', 'SE', '', ''); + CreatePostCode.InsertData('SE-600 03', 'Norrkobing', 'NORRKOBING', 'SE', '', ''); + CreatePostCode.InsertData('SE-852 33', 'Sundsvall', 'SUNDSVALL', 'SE', '', ''); + CreatePostCode.InsertData('SG-038988', 'Singapore', 'SINGAPORE', 'SG', '', ''); + CreatePostCode.InsertData('SI-1000', 'Ljubljana', 'LJUBLJANA', 'SI', '', ''); + CreatePostCode.InsertData('SI-2000', 'Maribor', 'MARIBOR', 'SI', '', ''); + CreatePostCode.InsertData('SI-3231', 'Grobelno', 'GROBELNO', 'SI', '', ''); + CreatePostCode.InsertData('SI-4502', 'Kranj', 'KRANJ', 'SI', '', ''); + CreatePostCode.InsertData('SI-6000', 'Koper', 'KOPER', 'SI', '', ''); + CreatePostCode.InsertData('SI-8283', 'Blanca', 'BLANCA', 'SI', '', ''); + CreatePostCode.InsertData('SK-026 01', 'Dolny Kubin', 'DOLNY KUBIN', 'SK', '', ''); + CreatePostCode.InsertData('SK-049 21', 'Betliar', 'BETLIAR', 'SK', '', ''); + CreatePostCode.InsertData('SK-813 38', 'Bratislava', 'BRATISLAVA', 'SK', '', ''); + CreatePostCode.InsertData('SK-821 04', 'Bratislava', 'BRATISLAVA', 'SK', '', ''); + CreatePostCode.InsertData('SK-905 01', 'Senica', 'SENICA', 'SK', '', ''); + CreatePostCode.InsertData('SK-985 01', 'Kalinovo', 'KALINOVO', 'SK', '', ''); + CreatePostCode.InsertData('SZ-H100', 'Mbabane', 'MBABANE', 'SZ', '', ''); + CreatePostCode.InsertData('SZ-H101', 'Swazi Plaza', 'SWAZI PLAZA', 'SZ', '', ''); + CreatePostCode.InsertData('SZ-H108', 'Piggs Peak', 'PIGGS PEAK', 'SZ', '', ''); + CreatePostCode.InsertData('SZ-H200', 'Manzini', 'MANZINI', 'SZ', '', ''); + CreatePostCode.InsertData('SZ-L300', 'Siteki', 'SITEKI', 'SZ', '', ''); + CreatePostCode.InsertData('SZ-S400', 'Nhlangano', 'NHLANGANO', 'SZ', '', ''); + CreatePostCode.InsertData('TH-10260', 'Bang Na, Bangkok', 'BANG NA, BANGKOK', 'TH', '', ''); + CreatePostCode.InsertData('TH-10500', 'Bang Rak, Bangkok', 'BANG RAK, BANGKOK', 'TH', '', ''); + CreatePostCode.InsertData('TH-10510', 'Khlong Samwa, Bangkok', 'KHLONG SAMWA, BANGKOK', 'TH', '', ''); + CreatePostCode.InsertData('TH-17120', 'Wat Sing, Chai Nat', 'WAT SING, CHAI NAT', 'TH', '', ''); + CreatePostCode.InsertData('TH-31260', 'Non Dindaeng, Buri Ram', 'NON DINDAENG, BURI RAM', 'TH', '', ''); + CreatePostCode.InsertData('TH-50120', 'San Pa Tong, Chiang Mai', 'SAN PA TONG, CHIANG MAI', 'TH', '', ''); + CreatePostCode.InsertData('TN-1002', 'Tunis Belvedere', 'TUNIS BELVEDERE', 'TN', '', ''); + CreatePostCode.InsertData('TN-1030', 'Tunis', 'TUNIS', 'TN', '', ''); + CreatePostCode.InsertData('TN-1111', 'Zaghouan', 'ZAGHOUAN', 'TN', '', ''); + CreatePostCode.InsertData('TN-3100', 'Kairouan', 'KAIROUAN', 'TN', '', ''); + CreatePostCode.InsertData('TN-8129', 'Ain Draham', 'AIN DRAHAM', 'TN', '', ''); + CreatePostCode.InsertData('TN-8170', 'Bou Salem', 'BOU SALEM', 'TN', '', ''); + CreatePostCode.InsertData('TR-06531', 'Ankara', 'ANKARA', 'TR', '', ''); + CreatePostCode.InsertData('TR-42020', 'Konya', 'KONYA', 'TR', '', ''); + CreatePostCode.InsertData('TR-45030', 'Manisa', 'MANISA', 'TR', '', ''); + CreatePostCode.InsertData('TR-80080', 'Istanbul', 'ISTANBUL', 'TR', '', ''); + CreatePostCode.InsertData('TR-81420', 'Kartal-Istanbul', 'KARTAL-ISTANBUL', 'TR', '', ''); + CreatePostCode.InsertData('TR-81700', 'Tuzla-Istanbul', 'TUZLA-ISTANBUL', 'TR', '', ''); + CreatePostCode.InsertData('TZ-DSM', 'Dar Es Salaam', 'DAR ES SALAAM', 'TZ', '', ''); + CreatePostCode.InsertData('UG-EBB', 'Entebbe', 'ENTEBBE', 'UG', '', ''); + CreatePostCode.InsertData('UG-KLA', 'Kampala', 'KAMPALA', 'UG', '', ''); + CreatePostCode.InsertData('US-AL 35242', 'Birmingham', 'BIRMINGHAM', 'US', '', ''); + CreatePostCode.InsertData('US-FL 37125', 'Miami', 'MIAMI', 'US', 'FL', ''); + CreatePostCode.InsertData('US-GA 31772', 'Atlanta', 'ATLANTA', 'US', 'GA', ''); + CreatePostCode.InsertData('US-IL 61236', 'Chicago', 'CHICAGO', 'US', '', ''); + CreatePostCode.InsertData('US-NY 11010', 'New York', 'NEW YORK', 'US', '', ''); + CreatePostCode.InsertData('US-SC 27136', 'Colombia', 'COLOMBIA', 'US', '', ''); + CreatePostCode.InsertData('ZA-0001', 'Pretoria', 'PRETORIA', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-0700', 'Pietersburg', 'PIETERSBURG', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-2000', 'Johannesburg', 'JOHANNESBURG', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-2500', 'Carletonville', 'CARLETONVILLE', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-2940', 'Newcastle', 'NEWCASTLE', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-3600', 'Durban', 'DURBAN', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-3900', 'Richards Bay', 'RICHARDS BAY', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-6000', 'Port Elizabeth', 'PORT ELIZABETH', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-8000', 'Cape Town', 'CAPE TOWN', 'ZA', '', ''); + CreatePostCode.InsertData('ZA-9300', 'Bloemfontein', 'BLOEMFONTEIN', 'ZA', '', ''); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Human Resources/2.Master Data/CreateCHEmployee.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Human Resources/2.Master Data/CreateCHEmployee.Codeunit.al new file mode 100644 index 0000000000..6fbd295e0d --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Human Resources/2.Master Data/CreateCHEmployee.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 11599 "Create CH Employee" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoEmployee: Codeunit "Contoso Human Resources"; + CreateEmployee: Codeunit "Create Employee"; + begin + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.ManagingDirector(), 19631212D, 19960601D, RusselStreetLbl, '8400', '6743', '4564-4564-7831', '4465-4899-4643', '', '1212637665', '4151746513235-45646'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.SalesManager(), 19690212D, 20010101D, MainStreetLbl, '3000', '1415', '1234-5678-9012', '0678-9012-3456', '', '1202696486', '3462345-235'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.ProductionManager(), 19470705D, 19910101D, ElmwoodStreetLbl, '3000', '4564', '1546-3124-4646', '6549-3216-7415', '', '1003569468', '541236-654'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.Designer(), 19560310D, 19990101D, HighStreetLbl, '6275', '3545', '1234-6545-5649', '0678-1234-5466', '', '0708624564', '234654-631'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.Secretary(), 19490507D, 19960301D, MaddistonRoadLbl, '3000', '6571', '1234-1643-4384', '0678-2534-2013', '', '0712635465', '234654-631'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.ProductionAssistant(), 19620807D, 19960301D, GrahamsRoadLbl, '3000', '4456', '1234-5464-5446', '0678-2135-4649', '', '0507473497', '346246546345-24535'); + ContosoEmployee.UpdateEmployeeDetails(CreateEmployee.InventoryManager(), 19631207D, 19960301D, BJamesRoadLbl, '3000', '4653', '1234-6545-8799', '0678-8712-5466', '', '0705491679', '234654-631'); + end; + + var + RusselStreetLbl: Label '5 Russel Street', MaxLength = 100; + MainStreetLbl: Label '47 Main Street', MaxLength = 100; + ElmwoodStreetLbl: Label '327 Elmwood Street', MaxLength = 100; + HighStreetLbl: Label '10 High Street', MaxLength = 100; + MaddistonRoadLbl: Label '7 Maddiston Road', MaxLength = 100; + GrahamsRoadLbl: Label '49 Grahams Road', MaxLength = 100; + BJamesRoadLbl: Label '66B James Road', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Human Resources/2.Master Data/CreateCHEmployeeTemplate.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Human Resources/2.Master Data/CreateCHEmployeeTemplate.Codeunit.al new file mode 100644 index 0000000000..ccdd1edfed --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Human Resources/2.Master Data/CreateCHEmployeeTemplate.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 11598 "Create CH Employee Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Employee Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertEmployeeTempl(var Rec: Record "Employee Templ.") + var + CreateEmployeeTemplate: Codeunit "Create Employee Template"; + begin + case Rec.Code of + CreateEmployeeTemplate.AdminCode(), + CreateEmployeeTemplate.ITCode(): + ValidateRecordFields(Rec, ''); + end; + end; + + local procedure ValidateRecordFields(var EmployeeTempl: Record "Employee Templ."; EmployeePostingGroup: Code[20]) + begin + EmployeeTempl.Validate("Employee Posting Group", EmployeePostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/1.Setup Data/CreateCHInvPostingSetup.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/1.Setup Data/CreateCHInvPostingSetup.Codeunit.al new file mode 100644 index 0000000000..af3a6c4b0e --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/1.Setup Data/CreateCHInvPostingSetup.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 11603 "Create CH Inv. Posting Setup" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInventoryPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateLocation: Codeunit "Create Location"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreateInventoryPostingGroup: Codeunit "Create Inventory Posting Group"; + begin + if Rec."Invt. Posting Group Code" = CreateInventoryPostingGroup.Resale() then + case Rec."Location Code" of + CreateLocation.EastLocation(), + CreateLocation.MainLocation(), + CreateLocation.OutLogLocation(), + CreateLocation.OwnLogLocation(), + CreateLocation.WestLocation(), + '': + ValidateInventoryPostingSetup(Rec, CreateCHGLAccounts.InvCommercialGoods(), CreateCHGLAccounts.InvCommercialGoodsInterim()); + end; + end; + + local procedure ValidateInventoryPostingSetup(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItem.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItem.Codeunit.al new file mode 100644 index 0000000000..dc5aa8de0f --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItem.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 11606 "Create CH Item" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeOnInsert', '', false, false)] + local procedure OnBeforeOnInsertItem(var Item: Record Item) + var + CreateCHVatPostingGroups: Codeunit "Create CH VAT Posting Groups"; + CreateItem: Codeunit "Create Item"; + begin + case Item."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Item, 1190, 932, CreateCHVatPostingGroups.Normal()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Item, 230, 179.5, CreateCHVatPostingGroups.Normal()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Item, 520, 404, CreateCHVatPostingGroups.Normal()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Item, 230, 177, CreateCHVatPostingGroups.Normal()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Item, 770, 603.5, CreateCHVatPostingGroups.Normal()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Item, 230, 0, CreateCHVatPostingGroups.Normal()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Item, 66, 51, CreateCHVatPostingGroups.Normal()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Item, 280, 0, CreateCHVatPostingGroups.Normal()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Item, 230, 179.5, CreateCHVatPostingGroups.Normal()); + CreateItem.GuestSection1(): + ValidateRecordFields(Item, 150, 0, CreateCHVatPostingGroups.Normal()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Item, 230, 179.5, CreateCHVatPostingGroups.Normal()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Item, 230, 179.5, CreateCHVatPostingGroups.Normal()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Item, 280, 0, CreateCHVatPostingGroups.Normal()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Item, 230, 177, CreateCHVatPostingGroups.Normal()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Item, 410, 0, CreateCHVatPostingGroups.Normal()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Item, 230, 177, CreateCHVatPostingGroups.Normal()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Item, 230, 177, CreateCHVatPostingGroups.Normal()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Item, 230, 179.5, CreateCHVatPostingGroups.Normal()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Item, 1670, 1301, CreateCHVatPostingGroups.Normal()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Item, 230, 177, CreateCHVatPostingGroups.Normal()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VatProdPostingGroup: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VatProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItemCharge.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItemCharge.Codeunit.al new file mode 100644 index 0000000000..62256ee733 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItemCharge.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 11604 "Create CH Item Charge" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItemCharge(var Rec: Record "Item Charge") + var + CreateCHVatPostingGroup: Codeunit "Create CH VAT Posting Groups"; + CreateItemCharge: Codeunit "Create Item Charge"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), + CreateItemCharge.PurchAllowance(), + CreateItemCharge.PurchFreight(), + CreateItemCharge.PurchRestock(), + CreateItemCharge.SaleAllowance(), + CreateItemCharge.SaleFreight(), + CreateItemCharge.SaleRestock(): + Rec.Validate("VAT Prod. Posting Group", CreateCHVatPostingGroup.Normal()); + end; + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItemTemplate.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItemTemplate.Codeunit.al new file mode 100644 index 0000000000..b47e857d87 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHItemTemplate.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11605 "Create CH Item Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCHVatPostingGroups: Codeunit "Create CH VAT Posting Groups"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateCHVatPostingGroups.Normal()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateCHVatPostingGroups.Normal()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHLocation.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHLocation.Codeunit.al new file mode 100644 index 0000000000..a34040621d --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Inventory/2.Master Data/CreateCHLocation.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 11607 "Create CH Location" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocation: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocation.EastLocation(): + ValidateRecordFields(Rec, EastLocationAddressLbl, '', EastLocationCityLbl, EastLocationContactLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.MainLocation(): + ValidateRecordFields(Rec, MainLocationAddressLbl, '', MainLocationCityLbl, MainLocationContactLbl, MainLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.WestLocation(): + ValidateRecordFields(Rec, WestLocationAddressLbl, '', WestLocationCityLbl, WestLocationContactLbl, WestLocationPostCodeLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; Address: Text[100]; Address2: Text[50]; City: Text[30]; Contact: Text[100]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + Location.Validate(Address, Address); + Location.Validate("Address 2", Address2); + Location.Validate(Contact, Contact); + Location.Validate("Post Code", PostCode); + Location.Validate(City, City); + Location.Validate("Country/Region Code", CountryRegionCode); + end; + + var + EastLocationAddressLbl: Label 'Main Liverpool Street, 5', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label 'Main Bristol Street, 10', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label 'South East Street, 3', MaxLength = 100, Locked = true; + EastLocationCityLbl: Label 'Thun', MaxLength = 30; + MainLocationCityLbl: Label 'Köniz', MaxLength = 30; + WestLocationCityLbl: Label 'Luzern', MaxLength = 30; + EastLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + MainLocationContactLbl: Label 'Jeanne Bosworth', MaxLength = 100; + WestLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; + EastLocationPostCodeLbl: Label '3600', MaxLength = 20; + MainLocationPostCodeLbl: Label '3098', MaxLength = 20; + WestLocationPostCodeLbl: Label '6000', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/1.Setup Data/CreateCHPurchPayableSetup.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/1.Setup Data/CreateCHPurchPayableSetup.Codeunit.al new file mode 100644 index 0000000000..34af866a69 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/1.Setup Data/CreateCHPurchPayableSetup.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11611 "Create CH Purch. Payable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCHNoSeries: Codeunit "Create CH No. Series"; + begin + UpdatePurchasePayableSetup(CreateCHNoSeries.PurchaseDeliveryReminder(), CreateCHNoSeries.PurchaseIssueDeliveryReminder()); + end; + + local procedure UpdatePurchasePayableSetup(DeliveryReminderNos: Code[20]; IssuedDeliveryReminderNos: Code[20]) + var + PurchPayableSetup: Record "Purchases & Payables Setup"; + begin + if PurchPayableSetup.Get() then begin + PurchPayableSetup.Validate("Delivery Reminder Nos.", DeliveryReminderNos); + PurchPayableSetup.Validate("Issued Delivery Reminder Nos.", IssuedDeliveryReminderNos); + PurchPayableSetup.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/1.Setup Data/CreateCHVendorPostingGrp.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/1.Setup Data/CreateCHVendorPostingGrp.Codeunit.al new file mode 100644 index 0000000000..551230360e --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/1.Setup Data/CreateCHVendorPostingGrp.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11618 "Create CH Vendor Posting Grp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGrp(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGrp: Codeunit "Create Vendor Posting Group"; + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + begin + case Rec.Code of + CreateVendorPostingGrp.Domestic(): + ValidateVendorPostingGroup(Rec, CreateCHGLAccounts.VendorsDomestic(), CreateCHGLAccounts.MiscCosts(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.PurchaseDisc()); + CreateVendorPostingGrp.EU(): + ValidateVendorPostingGroup(Rec, CreateCHGLAccounts.VendorsEu(), CreateCHGLAccounts.MiscCosts(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.PurchaseDisc()); + CreateVendorPostingGrp.Foreign(): + ValidateVendorPostingGroup(Rec, CreateCHGLAccounts.VendorsForeign(), CreateCHGLAccounts.MiscCosts(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.PurchaseDisc(), CreateCHGLAccounts.PurchaseDisc()); + end; + end; + + local procedure ValidateVendorPostingGroup(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/2.Master Data/CreateCHPurchDimValue.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/2.Master Data/CreateCHPurchDimValue.Codeunit.al new file mode 100644 index 0000000000..fd6de0cf41 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/2.Master Data/CreateCHPurchDimValue.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11596 "Create CH Purch. Dim. Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory") + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/2.Master Data/CreateCHVendor.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/2.Master Data/CreateCHVendor.Codeunit.al new file mode 100644 index 0000000000..5abe1fd5b8 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Purchase/2.Master Data/CreateCHVendor.Codeunit.al @@ -0,0 +1,58 @@ +codeunit 11619 "Create CH Vendor" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //TODO -Hard coded values pending to replace - Post Code + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateTerritory: Codeunit "Create Territory"; + CreateVendor: Codeunit "Create Vendor"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, AtlantaCityLbl, CreateTerritory.Foreign(), CreateCountryRegion.US(), 'US-GA 31772', GACountyLbl, FabrikamVATRegNoLbl, ''); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, FontannenbWolhusenCityLbl, CreateTerritory.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", '6110', LUCountyLbl, FirstUpVATRegNoLbl, ''); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, EningenCityLbl, CreateTerritory.Foreign(), CreateCountryRegion.DE(), 'DE-72800', '', GraphicDesignVATRegNoLbl, ''); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, BallwilCityLbl, CreateTerritory.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", '6275', LUCountyLbl, WorldImporterVATRegNoLbl, ''); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, BuchrainCityLbl, CreateTerritory.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", '6033', LUCountyLbl, NodPublisherVATRegNoLbl, ''); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; TerritoryCode: Code[10]; CountryRegionCode: Code[10]; PostCode: Code[20]; County: Text[30]; VatRegistraionNo: Text[20]; Email: Text[80]) + begin + Vendor.Validate("Post Code", PostCode); + Vendor.Validate(City, City); + Vendor.Validate("Country/Region Code", CountryRegionCode); + Vendor.Validate(County, County); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("VAT Registration No.", VatRegistraionNo); + Vendor.Validate("E-Mail", Email); + end; + + var + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30; + FontannenbWolhusenCityLbl: Label 'Fontannen b. Wolhusen', MaxLength = 30; + EningenCityLbl: Label 'Eningen', MaxLength = 30; + BallwilCityLbl: Label 'Ballwil', MaxLength = 30; + BuchrainCityLbl: Label 'Buchrain', MaxLength = 30; + FabrikamVATRegNoLbl: Label '503912693', MaxLength = 20; + FirstUpVATRegNoLbl: Label 'CHE-274.863.274MWST', MaxLength = 20; + GraphicDesignVATRegNoLbl: Label '521478963', MaxLength = 20; + WorldImporterVATRegNoLbl: Label 'CHE-197.548.769MWST', MaxLength = 20; + NodPublisherVATRegNoLbl: Label 'CHE-295.267.495MWST', MaxLength = 20; + LUCountyLbl: Label 'LU', MaxLength = 30; + GACountyLbl: Label 'GA', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHCustPostingGrp.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHCustPostingGrp.Codeunit.al new file mode 100644 index 0000000000..868d779b6e --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHCustPostingGrp.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11593 "Create CH Cust. Posting Grp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerPostingGrp(var Rec: Record "Customer Posting Group") + var + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + CreateCustomerPostingGrp: Codeunit "Create Customer Posting Group"; + begin + case Rec.Code of + CreateCustomerPostingGrp.Domestic(): + ValidateCustomerPostingGroup(Rec, CreateCHGLAccounts.CustomerCreditDomestic(), CreateCHGLAccounts.ConsultancyEarnings(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.RoundingDifferencesSales(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.CashDiscounts()); + CreateCustomerPostingGrp.EU(): + ValidateCustomerPostingGroup(Rec, CreateCHGLAccounts.CustomerCreditEu(), CreateCHGLAccounts.ConsultancyEarnings(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.RoundingDifferencesSales(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.CashDiscounts()); + CreateCustomerPostingGrp.Foreign(): + ValidateCustomerPostingGroup(Rec, CreateCHGLAccounts.CustomerCreditForeign(), CreateCHGLAccounts.ConsultancyEarnings(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.RoundingDifferencesSales(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.Discounts(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.RoundingDifferencesPurchase(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.CashDiscounts(), CreateCHGLAccounts.CashDiscounts()); + end; + end; + + local procedure ValidateCustomerPostingGroup(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHReminderLevel.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHReminderLevel.Codeunit.al new file mode 100644 index 0000000000..e966bb520b --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHReminderLevel.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11612 "Create CH Reminder Level" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + Rec.Validate("Additional Fee (LCY)", 9.2); + 2: + Rec.Validate("Additional Fee (LCY)", 18.5); + 3: + Rec.Validate("Additional Fee (LCY)", 27.5); + end; + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHSalesRecevSetup.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHSalesRecevSetup.Codeunit.al new file mode 100644 index 0000000000..37463feeb3 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/1.Setup Data/CreateCHSalesRecevSetup.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11614 "Create CH Sales Recev. Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSalesReceivableSetup(); + end; + + local procedure UpdateSalesReceivableSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + begin + if SalesReceivablesSetup.Get() then begin + SalesReceivablesSetup.Validate("Shipment on Invoice", true); + SalesReceivablesSetup.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHCustBankAccount.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHCustBankAccount.Codeunit.al new file mode 100644 index 0000000000..25551e7665 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHCustBankAccount.Codeunit.al @@ -0,0 +1,58 @@ +codeunit 11591 "Create CH Cust. Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCHCustomerVendor: Codeunit "Contoso CH Customer Vendor"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCHCustomerVendor.InsertCustomerBankAccount(CreateCustomer.DomesticAdatumCorporation(), LSV(), RaiffeisenbankAlpnachLbl, '', AlpnachDorfCityLbl, '6055', RaiffeisenbankAlpnachBranchNoLbl, RaiffeisenbankAlpnachAccountNoLbl, RaiffeisenbankAlpnachGiroNoLbl); + ContosoCHCustomerVendor.InsertCustomerBankAccount(CreateCustomer.DomesticTreyResearch(), LSV(), ObwaldnerKantonalbankLbl, "BrünigstrasseLbl", AlpnachDorfCityLbl, '6055', ObwaldnerKantonalbankBranchNoLbl, ObwaldnerKantonalbankAccountNoLbl, ObwaldnerKantonalbankGiroNoLbl); + ContosoCHCustomerVendor.InsertCustomerBankAccount(CreateCustomer.ExportSchoolofArt(), LSV(), MigrosbankLuzernLbl, StadthofstrasseLbl, LuzernCityLbl, '6002', MigrosbankLuzernBranchNoLbl, MigrosbankLuzernAccountNoLbl, MigrosbankLuzernGiroNoLbl); + ContosoCHCustomerVendor.InsertCustomerBankAccount(CreateCustomer.EUAlpineSkiHouse(), LSV(), CoopBankLbl, '', LuzernCityLbl, '6002', CoopBankBranchNoLbl, CoopBankAccountNoLbl, CoopBankGiroNoLbl); + ContosoCHCustomerVendor.InsertCustomerBankAccount(CreateCustomer.DomesticRelecloud(), LSV(), LuzernerKantonalbankLbl, '', LuzernCityLbl, '6002', LuzernerKantonalbankBranchNoLbl, LuzernerKantonalbankAccountNoLbl, LuzernerKantonalbankGiroNoLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"Customer Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Customer Bank Account") + begin + if Rec.Code = LSV() then + Rec.Validate(County, ''); + end; + + procedure LSV(): Code[20] + begin + exit(LSVTok); + end; + + var + LSVTok: Label 'LSV', MaxLength = 20; + RaiffeisenbankAlpnachLbl: Label 'Raiffeisenbank Alpnach', MaxLength = 100, Locked = true; + ObwaldnerKantonalbankLbl: Label 'Obwaldner Kantonalbank', MaxLength = 100, Locked = true; + MigrosbankLuzernLbl: Label 'Migrosbank Luzern', MaxLength = 100, Locked = true; + CoopBankLbl: Label 'Coop Bank', MaxLength = 100, Locked = true; + LuzernerKantonalbankLbl: Label 'Luzerner Kantonalbank', MaxLength = 100, Locked = true; + BrünigstrasseLbl: Label 'Brünigstrasse', MaxLength = 100, Locked = true; + StadthofstrasseLbl: Label 'Stadthofstrasse', MaxLength = 100, Locked = true; + AlpnachDorfCityLbl: Label 'Alpnach Dorf', MaxLength = 30, Locked = true; + LuzernCityLbl: Label 'Luzern', MaxLength = 30, Locked = true; + RaiffeisenbankAlpnachBranchNoLbl: Label '81232', MaxLength = 5, Locked = true; + ObwaldnerKantonalbankBranchNoLbl: Label '780', MaxLength = 5, Locked = true; + MigrosbankLuzernBranchNoLbl: Label '8411', MaxLength = 5, Locked = true; + CoopBankBranchNoLbl: Label '8450', MaxLength = 5, Locked = true; + LuzernerKantonalbankBranchNoLbl: Label '778', MaxLength = 5, Locked = true; + RaiffeisenbankAlpnachAccountNoLbl: Label '34124.24', MaxLength = 30, Locked = true; + ObwaldnerKantonalbankAccountNoLbl: Label '01-30-033237-00', MaxLength = 30, Locked = true; + MigrosbankLuzernAccountNoLbl: Label '421-740-018.10', MaxLength = 30, Locked = true; + CoopBankAccountNoLbl: Label '4178933000506', MaxLength = 30, Locked = true; + LuzernerKantonalbankAccountNoLbl: Label '01-00-036430-00', MaxLength = 30, Locked = true; + RaiffeisenbankAlpnachGiroNoLbl: Label '01-28302-7', MaxLength = 11, Locked = true; + ObwaldnerKantonalbankGiroNoLbl: Label '01-17601-2', MaxLength = 11, Locked = true; + MigrosbankLuzernGiroNoLbl: Label '01-1760-2', MaxLength = 11, Locked = true; + CoopBankGiroNoLbl: Label '10-1010-6', MaxLength = 11, Locked = true; + LuzernerKantonalbankGiroNoLbl: Label '80-70-2', MaxLength = 11, Locked = true; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHCustomer.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHCustomer.Codeunit.al new file mode 100644 index 0000000000..09d05dd4c3 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHCustomer.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11594 "Create CH Customer" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //TODO -Hard coded values pending to replace - Post Code + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsert', '', false, false)] + local procedure OnBeforeInsertCustomer(var Customer: Record Customer) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateLanguage: Codeunit "Create Language"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateTerritory: Codeunit "Create Territory"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + case Customer."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Customer, LuzernCityLbl, CreateTerritory.Foreign(), CreateLanguage.DES(), ContosoCoffeeDemoDataSetup."Country/Region Code", '6000', LUCountyLbl, AdatumCorporationVATRegNoLbl, ''); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Customer, MeggenCityLbl, CreateTerritory.Foreign(), CreateLanguage.DES(), ContosoCoffeeDemoDataSetup."Country/Region Code", '6045', LUCountyLbl, TreyResearchVATRegNoLbl, ''); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Customer, MiamiCityLbl, CreateTerritory.Foreign(), CreateLanguage.ENU(), CreateCountryRegion.US(), 'US-FL 37125', FLCountyLbl, SchoolofFineArtVATRegNoLbl, ''); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Customer, MunchenCityLbl, CreateTerritory.Foreign(), CreateLanguage.DEU(), CreateCountryRegion.DE(), 'DE-80807', '', AlpineSkiHouseVATRegNoLbl, ''); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Customer, RamersbergCityLbl, CreateTerritory.Foreign(), CreateLanguage.DES(), ContosoCoffeeDemoDataSetup."Country/Region Code", '6060', OWCountyLbl, RelecloudVATRegNoLbl, ''); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; City: Text[30]; TerritoryCode: Code[10]; LanguageCode: Code[10]; CountryRegionCode: Code[10]; PostCode: Code[20]; County: Text[30]; VatRegistraionNo: Text[20]; Email: Text[80]) + begin + Customer.Validate("Post Code", PostCode); + Customer.Validate(City, City); + Customer.Validate("Country/Region Code", CountryRegionCode); + Customer.Validate(County, County); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("VAT Registration No.", VatRegistraionNo); + Customer.Validate("E-Mail", Email); + end; + + var + LuzernCityLbl: Label 'Luzern', MaxLength = 30; + MeggenCityLbl: Label 'Meggen', MaxLength = 30; + MiamiCityLbl: Label 'Miami', MaxLength = 30; + MunchenCityLbl: Label 'Munchen', MaxLength = 30; + RamersbergCityLbl: Label 'Ramersberg', MaxLength = 30; + AdatumCorporationVATRegNoLbl: Label 'CHE-789.456.278MWST', MaxLength = 20; + TreyResearchVATRegNoLbl: Label 'CHE-254.687.456MWST', MaxLength = 20; + SchoolofFineArtVATRegNoLbl: Label '733495789', MaxLength = 20; + AlpineSkiHouseVATRegNoLbl: Label '533435789', MaxLength = 20; + RelecloudVATRegNoLbl: Label 'CHE-582.048.936MWST', MaxLength = 20; + LUCountyLbl: Label 'LU', MaxLength = 30; + OWCountyLbl: Label 'OW', MaxLength = 30; + FLCountyLbl: Label 'FL', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHSalesDimValue.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHSalesDimValue.Codeunit.al new file mode 100644 index 0000000000..123fc96566 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHSalesDimValue.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11595 "Create CH Sales Dim. Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory") + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHShiptoAddress.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHShiptoAddress.Codeunit.al new file mode 100644 index 0000000000..f898cdd4a5 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoData/Sales/2.Master Data/CreateCHShiptoAddress.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 11615 "Create CH Ship-to Address" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + CreateCustomer: Codeunit "Create Customer"; + begin + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) and (Rec.Code = CreateShiptoAddress.Cheltenham()) then + ValidateRecordFields(Rec, '', '3000'); + + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) and (Rec.Code = CreateShiptoAddress.London()) then + ValidateRecordFields(Rec, '', '6343'); + + if (Rec."Customer No." = CreateCustomer.DomesticTreyResearch()) and (Rec.Code = CreateShiptoAddress.Fleet()) then + ValidateRecordFields(Rec, '', '6440'); + + if (Rec."Customer No." = CreateCustomer.DomesticTreyResearch()) and (Rec.Code = CreateShiptoAddress.TWYCross()) then + ValidateRecordFields(Rec, '', '6440'); + end; + + local procedure ValidateRecordFields(var ShiptoAddress: Record "Ship-to Address"; CountryRegionCode: Code[10]; PostCode: Code[20]) + begin + ShiptoAddress.Validate("Post Code", PostCode); + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/CHContosoLocalization.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/CHContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..05de1c3617 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/CHContosoLocalization.Codeunit.al @@ -0,0 +1,291 @@ +codeunit 11620 "CH Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationVATPostingSetup(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResource(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::CRM then + CRMModule(ContosoDemoDataLevel); + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create CH Word Templates"); + end; + end; + + local procedure HumanResource(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create CH Employee"); + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CH Payment Method"); + Codeunit.Run(Codeunit::"Create CH ESR Setup"); + Codeunit.Run(Codeunit::"Create CH LSV Setup"); + Codeunit.Run(Codeunit::"Create CH Bank Ex/Import"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create CH Gen. Journal Line"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create CH Bank Acc. Rec."); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CH No. Series"); + Codeunit.Run(Codeunit::"Create CH Post Code"); + Codeunit.Run(Codeunit::"Create CH Company Information"); + Codeunit.Run(Codeunit::"Create CH Data Exchange"); + end; + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create CH Item Template"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create CH Purch. Payable Setup"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create CH Sales Recev. Setup"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create CH Cust. Bank Account"); + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateCHGLAccounts: Codeunit "Create CH GL Accounts"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create CH General Ledger Setup"); + Codeunit.Run(Codeunit::"Create CH GL Accounts"); + CreateCHGLAccounts.AddCategoriesToGLAccounts(); + Codeunit.Run(Codeunit::"Create CH Posting Groups"); + Codeunit.Run(Codeunit::"Create CH VAT Posting Groups"); + Codeunit.Run(Codeunit::"Create CH Acc. Schedule Name"); + Codeunit.Run(Codeunit::"Create CH Column Layout Name"); + Codeunit.Run(Codeunit::"Create CH VAT Cipher"); + Codeunit.Run(Codeunit::"Create CH VAT Setup Post. Grp."); + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create CH Currency Ex. Rate"); + Codeunit.Run(Codeunit::"Create CH Column Layout"); + Codeunit.Run(Codeunit::"Create CH Financial Report"); + Codeunit.Run(Codeunit::"Create CH VAT Reg. No. Format"); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateCHAccScheduleLine: Codeunit "Create CH Acc Schedule Line"; + CreateCHColumnLayout: Codeunit "Create CH Column Layout"; + CreateCHVATPostingGroups: Codeunit "Create CH VAT Posting Groups"; + CreateCHVATStatement: Codeunit "Create CH VAT Statement"; + CreateCHCurrency: Codeunit "Create CH Currency"; + CreateCHCurrencyExRate: Codeunit "Create CH Currency Ex. Rate"; + CreateCHPurchDimValue: Codeunit "Create CH Purch. Dim. Value"; + CreateCHSalesDimValue: Codeunit "Create CH Sales Dim. Value"; + CreateCHBankAccPostingGrp: Codeunit "Create CH Bank Acc Posting Grp"; + CreateCHBankAccount: Codeunit "Create CH Bank Account"; + CreateCHFACHpreciation: Codeunit "Create CH FA Depreciation Book"; + CreateCHFAPostingGrp: Codeunit "Create CH FA Posting Grp."; + CreateCHInvPostingSetup: Codeunit "Create CH Inv. Posting Setup"; + CreateCHItem: Codeunit "Create CH Item"; + CreateCHItemCharge: Codeunit "Create CH Item Charge"; + CreateCHLocation: Codeunit "Create CH Location"; + CreateCHResource: Codeunit "Create CH Resource"; + CreatCHVendorPostingGrp: Codeunit "Create CH Vendor Posting Grp"; + CreateCHVendor: Codeunit "Create CH Vendor"; + CreateCHCustPostingGrp: Codeunit "Create CH Cust. Posting Grp"; + CreateCHReminderLevel: Codeunit "Create CH Reminder Level"; + CreateCHCustomer: Codeunit "Create CH Customer"; + CreateCHCustBankAccount: Codeunit "Create CH Cust. Bank Account"; + CreateCHShipToAddress: Codeunit "Create CH Ship-to Address"; + CreateCHEmployeeTemplate: Codeunit "Create CH Employee Template"; + begin + case Module of + Enum::"Contoso Demo Data Module"::"Human Resources Module": + BindSubscription(CreateCHEmployeeTemplate); + + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCHAccScheduleLine); + BindSubscription(CreateCHColumnLayout); + BindSubscription(CreateCHCurrency); + BindSubscription(CreateCHCurrencyExRate); + BindSubscription(CreateCHVATPostingGroups); + BindSubscription(CreateCHResource); + BindSubscription(CreateCHVATStatement); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + Codeunit.Run(Codeunit::"Create CH Bank Directory"); + BindSubscription(CreateCHBankAccPostingGrp); + BindSubscription(CreateCHBankAccount); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + BindSubscription(CreateCHFACHpreciation); + BindSubscription(CreateCHFAPostingGrp); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateCHInvPostingSetup); + BindSubscription(CreateCHItem); + BindSubscription(CreateCHItemCharge); + BindSubscription(CreateCHLocation); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreatCHVendorPostingGrp); + BindSubscription(CreateCHVendor); + BindSubscription(CreateCHPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCHCustPostingGrp); + BindSubscription(CreateCHReminderLevel); + BindSubscription(CreateCHCustomer); + BindSubscription(CreateCHShipToAddress); + BindSubscription(CreateCHSalesDimValue); + BindSubscription(CreateCHCustBankAccount); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateCHAccScheduleLine: Codeunit "Create CH Acc Schedule Line"; + CreateCHColumnLayout: Codeunit "Create CH Column Layout"; + CreateCHVATPostingGroups: Codeunit "Create CH VAT Posting Groups"; + CreateCHVATStatement: Codeunit "Create CH VAT Statement"; + CreateCHCurrency: Codeunit "Create CH Currency"; + CreateCHCurrencyExRate: Codeunit "Create CH Currency Ex. Rate"; + CreateCHPurchDimValue: Codeunit "Create CH Purch. Dim. Value"; + CreateCHSalesDimValue: Codeunit "Create CH Sales Dim. Value"; + CreateCHBankAccPostingGrp: Codeunit "Create CH Bank Acc Posting Grp"; + CreateCHBankAccount: Codeunit "Create CH Bank Account"; + CreateCHFACHpreciation: Codeunit "Create CH FA Depreciation Book"; + CreateCHFAPostingGrp: Codeunit "Create CH FA Posting Grp."; + CreateCHInvPostingSetup: Codeunit "Create CH Inv. Posting Setup"; + CreateCHItem: Codeunit "Create CH Item"; + CreateCHItemCharge: Codeunit "Create CH Item Charge"; + CreateCHLocation: Codeunit "Create CH Location"; + CreateCHResource: Codeunit "Create CH Resource"; + CreatCHVendorPostingGrp: Codeunit "Create CH Vendor Posting Grp"; + CreateCHVendor: Codeunit "Create CH Vendor"; + CreateCHCustPostingGrp: Codeunit "Create CH Cust. Posting Grp"; + CreateCHCustBankAccount: Codeunit "Create CH Cust. Bank Account"; + CreateCHReminderLevel: Codeunit "Create CH Reminder Level"; + CreateCHCustomer: Codeunit "Create CH Customer"; + CreateCHShipToAddress: Codeunit "Create CH Ship-to Address"; + CreateCHEmployeeTemplate: Codeunit "Create CH Employee Template"; + begin + case Module of + Enum::"Contoso Demo Data Module"::"Human Resources Module": + UnbindSubscription(CreateCHEmployeeTemplate); + + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateCHAccScheduleLine); + UnbindSubscription(CreateCHColumnLayout); + UnbindSubscription(CreateCHCurrency); + UnbindSubscription(CreateCHCurrencyExRate); + UnbindSubscription(CreateCHVATPostingGroups); + UnbindSubscription(CreateCHResource); + UnbindSubscription(CreateCHVATStatement); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateCHBankAccPostingGrp); + UnbindSubscription(CreateCHBankAccount); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + UnbindSubscription(CreateCHFACHpreciation); + UnbindSubscription(CreateCHFAPostingGrp); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateCHInvPostingSetup); + UnbindSubscription(CreateCHItem); + UnbindSubscription(CreateCHItemCharge); + UnbindSubscription(CreateCHLocation); + end; + + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreatCHVendorPostingGrp); + UnbindSubscription(CreateCHVendor); + UnbindSubscription(CreateCHPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateCHCustPostingGrp); + UnbindSubscription(CreateCHReminderLevel); + UnbindSubscription(CreateCHCustomer); + UnbindSubscription(CreateCHShipToAddress); + UnbindSubscription(CreateCHSalesDimValue); + UnbindSubscription(CreateCHCustBankAccount); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/Codeunits/CommonModuleCH.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/CommonModuleCH.Codeunit.al similarity index 100% rename from Apps/CH/ContosoCoffeeDemoDatasetCH/app/Codeunits/CommonModuleCH.Codeunit.al rename to Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/CommonModuleCH.Codeunit.al diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHBank.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHBank.Codeunit.al new file mode 100644 index 0000000000..fb6e9884e0 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHBank.Codeunit.al @@ -0,0 +1,96 @@ +codeunit 11627 "Contoso CH Bank" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "LSV Setup" = rim, + tabledata "ESR Setup" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertLSVSetup(BankCode: Code[20]; LSVCustomerID: Code[10]; LSVSenderID: Code[10]; LSVSenderClearing: Code[5]; LSVPaymentMethodCode: Code[10]; ESRBankCode: Code[20]; LSVCurrencyCode: Code[10]; LSVSenderIBAN: Code[50]; LSVCustomerBankCode: Code[10]; DebitDirectCustomerno: Code[6]; BalAccountNo: Code[20]; LSVFileFolder: Code[40]; LSVFilename: Code[11]; TextVar: Text[250]; Text2: Text[250]; ComputerBureauName: Text[30]; ComputerBureauName2: Text[30]; ComputerBureauAddress: Text[30]; ComputerBureauPostCode: Code[20]; ComputerBureauCity: Text[30]; LSVBankName: Text[30]; LSVBankAddress: Text[30]; LSVBankPostCode: Code[20]; LSVBankCity: Text[30]; LSVBankTransferHyperlink: Text[50]) + var + LSVSetup: Record "LSV Setup"; + Exists: Boolean; + begin + if LSVSetup.Get(BankCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + LSVSetup.Validate("Bank Code", BankCode); + LSVSetup.Validate("LSV Customer ID", LSVCustomerID); + LSVSetup.Validate("LSV Sender ID", LSVSenderID); + LSVSetup."LSV Sender Clearing" := LSVSenderClearing; + LSVSetup.Validate("LSV Payment Method Code", LSVPaymentMethodCode); + LSVSetup.Validate("ESR Bank Code", ESRBankCode); + LSVSetup.Validate("LSV Currency Code", LSVCurrencyCode); + LSVSetup.Validate("LSV Sender IBAN", LSVSenderIBAN); + LSVSetup.Validate("LSV Customer Bank Code", LSVCustomerBankCode); + LSVSetup.Validate("DebitDirect Customerno.", DebitDirectCustomerno); + LSVSetup.Validate("Bal. Account No.", BalAccountNo); + LSVSetup.Validate("LSV File Folder", LSVFileFolder); + LSVSetup.Validate("LSV Filename", LSVFilename); + LSVSetup.Validate(Text, TextVar); + LSVSetup.Validate("Text 2", Text2); + LSVSetup.Validate("Computer Bureau Name", ComputerBureauName); + LSVSetup.Validate("Computer Bureau Name 2", ComputerBureauName2); + LSVSetup.Validate("Computer Bureau Address", ComputerBureauAddress); + LSVSetup.Validate("Computer Bureau Post Code", ComputerBureauPostCode); + LSVSetup.Validate("Computer Bureau City", ComputerBureauCity); + LSVSetup.Validate("LSV Bank Name", LSVBankName); + LSVSetup.Validate("LSV Bank Address", LSVBankAddress); + LSVSetup.Validate("LSV Bank Post Code", LSVBankPostCode); + LSVSetup.Validate("LSV Bank City", LSVBankCity); + LSVSetup.Validate("LSV Bank Transfer Hyperlink", LSVBankTransferHyperlink); + + if Exists then + LSVSetup.Modify(true) + else + LSVSetup.Insert(true); + end; + + procedure InsertESRSetup(BankCode: Code[20]; BalAccountNo: Code[20]; ESRFileName: Text[50]; BESRCustomerID: Code[11]; ESRAccountNo: Code[11]; ESRCurrencyCode: Code[10]; ESRMemberName1: Text[30]; ESRMemberName2: Text[30]; ESRMemberName3: Text[30]; BeneficiaryText: Text[30]; Beneficiary: Text[30]; Beneficiary2: Text[30]; Beneficiary3: Text[30]; ESRPaymentMethodCode: Code[10]; ESRMainBank: Boolean) + var + ESRSetup: Record "ESR Setup"; + Exists: Boolean; + begin + if ESRSetup.Get(BankCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ESRSetup.Validate("Bank Code", BankCode); + ESRSetup.Validate("ESR System", ESRSetup."ESR System"::ESR); + ESRSetup.Validate("Bal. Account Type", ESRSetup."Bal. Account Type"::"G/L Account"); + ESRSetup.Validate("Bal. Account No.", BalAccountNo); + ESRSetup.Validate("ESR Filename", ESRFileName); + ESRSetup.Validate("BESR Customer ID", BESRCustomerID); + ESRSetup.Validate("ESR Account No.", ESRAccountNo); + ESRSetup.Validate("ESR Currency Code", ESRCurrencyCode); + ESRSetup.Validate("ESR Member Name 1", ESRMemberName1); + ESRSetup.Validate("ESR Member Name 2", ESRMemberName2); + ESRSetup.Validate("ESR Member Name 3", ESRMemberName3); + ESRSetup.Validate("Beneficiary Text", BeneficiaryText); + ESRSetup.Validate(Beneficiary, Beneficiary); + ESRSetup.Validate("Beneficiary 2", Beneficiary2); + ESRSetup.Validate("Beneficiary 3", Beneficiary3); + ESRSetup.Validate("ESR Payment Method Code", ESRPaymentMethodCode); + ESRSetup.Validate("ESR Main Bank", ESRMainBank); + + if Exists then + ESRSetup.Modify(true) + else + ESRSetup.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHCustomervendor.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHCustomervendor.Codeunit.al new file mode 100644 index 0000000000..424f05b2cd --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHCustomervendor.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 11592 "Contoso CH Customer Vendor" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Customer Bank Account" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertCustomerBankAccount(CustomerNo: Code[20]; Code: Code[20]; Name: Text[100]; Address: Text[100]; City: Text[30]; PostCode: Code[20]; BankBranchNo: Code[5]; BankAccountNo: Text[30]; GiroAccountNo: Code[11]) + var + CustomerBankAccount: Record "Customer Bank Account"; + Exists: Boolean; + begin + if CustomerBankAccount.Get(CustomerNo, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CustomerBankAccount.Validate("Customer No.", CustomerNo); + CustomerBankAccount.Validate(Code, Code); + CustomerBankAccount.Validate(Name, Name); + CustomerBankAccount.Validate(Address, Address); + CustomerBankAccount.Validate("Post Code", PostCode); + CustomerBankAccount.Validate(City, City); + CustomerBankAccount."Bank Branch No." := BankBranchNo; + CustomerBankAccount.Validate("Bank Account No.", BankAccountNo); + CustomerBankAccount.Validate("Giro Account No.", GiroAccountNo); + + if Exists then + CustomerBankAccount.Modify(true) + else + CustomerBankAccount.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHVATCipher.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHVATCipher.Codeunit.al new file mode 100644 index 0000000000..045ff14a52 --- /dev/null +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/Contoso Helpers/ContosoCHVATCipher.Codeunit.al @@ -0,0 +1,76 @@ +codeunit 11624 "Contoso CH VAT Cipher" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "VAT Cipher Code" = rim, + tabledata "VAT Cipher Setup" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVATCipherSetup(TotalRevenue: Code[20]; RevenueofNonTaxServices: Code[20]; DeductionofTaxExempt: Code[20]; DeductionofServicesAbroad: Code[20]; DeductionofTransfer: Code[20]; DeductionofNonTaxServices: Code[20]; ReductioninPayments: Code[20]; Miscellaneous: Code[20]; TotalDeductions: Code[20]; TotalTaxableRevenue: Code[20]; TaxNormalRateServBefore: Code[20]; TaxNormalRateServAfter: Code[20]; TaxReducedRateServBefore: Code[20]; TaxReducedRateServAfter: Code[20]; TaxHotelRateServBefore: Code[20]; TaxHotelRateServAfter: Code[20]; AcquisitionTaxBefore: Code[20]; AcquisitionTaxAfter: Code[20]; TotalOwnedTax: Code[20]; InputTaxonMaterialandServ: Code[20]; InputTaxonInvestsments: Code[20]; DepositTax: Code[20]; InputTaxCorrections: Code[20]; InputTaxCutbacks: Code[20]; TotalInputTax: Code[20]; TaxAmounttoPay: Code[20]; CreditofTaxablePerson: Code[20]; CashFlowTaxes: Code[20]; CashFlowCompensations: Code[20]) + var + VATCipherSetup: Record "VAT Cipher Setup"; + begin + if not VATCipherSetup.Get() then + VATCipherSetup.Insert(); + + VATCipherSetup.Validate("Total Revenue", TotalRevenue); + VATCipherSetup.Validate("Revenue of Non-Tax. Services", RevenueofNonTaxServices); + VATCipherSetup.Validate("Deduction of Tax-Exempt", DeductionofTaxExempt); + VATCipherSetup.Validate("Deduction of Services Abroad", DeductionofServicesAbroad); + VATCipherSetup.Validate("Deduction of Transfer", DeductionofTransfer); + VATCipherSetup.Validate("Deduction of Non-Tax. Services", DeductionofNonTaxServices); + VATCipherSetup.Validate("Reduction in Payments", ReductioninPayments); + VATCipherSetup.Validate("Miscellaneous", Miscellaneous); + VATCipherSetup.Validate("Total Deductions", TotalDeductions); + VATCipherSetup.Validate("Total Taxable Revenue", TotalTaxableRevenue); + VATCipherSetup.Validate("Tax Normal Rate Serv. Before", TaxNormalRateServBefore); + VATCipherSetup.Validate("Tax Normal Rate Serv. After", TaxNormalRateServAfter); + VATCipherSetup.Validate("Tax Reduced Rate Serv. Before", TaxReducedRateServBefore); + VATCipherSetup.Validate("Tax Reduced Rate Serv. After", TaxReducedRateServAfter); + VATCipherSetup.Validate("Tax Hotel Rate Serv. Before", TaxHotelRateServBefore); + VATCipherSetup.Validate("Tax Hotel Rate Serv. After", TaxHotelRateServAfter); + VATCipherSetup.Validate("Acquisition Tax Before", AcquisitionTaxBefore); + VATCipherSetup.Validate("Acquisition Tax After", AcquisitionTaxAfter); + VATCipherSetup.Validate("Total Owned Tax", TotalOwnedTax); + VATCipherSetup.Validate("Input Tax on Material and Serv", InputTaxonMaterialandServ); + VATCipherSetup.Validate("Input Tax on Investsments", InputTaxonInvestsments); + VATCipherSetup.Validate("Deposit Tax", DepositTax); + VATCipherSetup.Validate("Input Tax Corrections", InputTaxCorrections); + VATCipherSetup.Validate("Input Tax Cutbacks", InputTaxCutbacks); + VATCipherSetup.Validate("Total Input Tax", TotalInputTax); + VATCipherSetup.Validate("Tax Amount to Pay", TaxAmounttoPay); + VATCipherSetup.Validate("Credit of Taxable Person", CreditofTaxablePerson); + VATCipherSetup.Validate("Cash Flow Taxes", CashFlowTaxes); + VATCipherSetup.Validate("Cash Flow Compensations", CashFlowCompensations); + VATCipherSetup.Modify(true); + end; + + procedure InsertVATCipherCode(Code: Code[20]; Description: Text[50]) + var + VATCipherCode: Record "VAT Cipher Code"; + Exists: Boolean; + begin + if VATCipherCode.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATCipherCode.Validate(Code, Code); + VATCipherCode.Validate(Description, Description); + + if Exists then + VATCipherCode.Modify(true) + else + VATCipherCode.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/Codeunits/ContosoDemoDataSetupCH.Codeunit.al b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/ContosoDemoDataSetupCH.Codeunit.al similarity index 100% rename from Apps/CH/ContosoCoffeeDemoDatasetCH/app/Codeunits/ContosoDemoDataSetupCH.Codeunit.al rename to Apps/CH/ContosoCoffeeDemoDatasetCH/app/DemoTool/ContosoDemoDataSetupCH.Codeunit.al diff --git a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json index 9cc673da27..f3d930bd44 100644 --- a/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json +++ b/Apps/CH/ContosoCoffeeDemoDatasetCH/app/app.json @@ -22,10 +22,14 @@ "screenshots": [], "platform": "26.0.0.0", "application": "26.0.0.0", + "target": "OnPrem", + "resourceFolders": [ + ".resources" + ], "idRanges": [ { "from": 11580, - "to": 11585 + "to": 11679 } ], "resourceExposurePolicy": { diff --git a/Apps/CH/SwissQRBill/app/src/SwissQRBillInstall.Codeunit.al b/Apps/CH/SwissQRBill/app/src/SwissQRBillInstall.Codeunit.al index 9074c0e444..ce2776cdd1 100644 --- a/Apps/CH/SwissQRBill/app/src/SwissQRBillInstall.Codeunit.al +++ b/Apps/CH/SwissQRBill/app/src/SwissQRBillInstall.Codeunit.al @@ -162,57 +162,8 @@ codeunit 11517 "Swiss QR-Bill Install" local procedure MoveOldTables() var - OldSwissQRBillSetup: Record "Swiss QRBill Setup"; - OldSwissQRBillLayout: Record "Swiss QRBill Layout"; - OldSwissQRBillBillingInfo: Record "Swiss QRBill Billing Info"; - SwissQRBillSetup: Record "Swiss QR-Bill Setup"; - SwissQRBillLayout: Record "Swiss QR-Bill Layout"; - SwissQRBillBillingInfo: Record "Swiss QR-Bill Billing Info"; UpgradeTag: Codeunit "Upgrade Tag"; begin - if OldSwissQRBillSetup.Get() then begin - SwissQRBillSetup.Init(); - SwissQRBillSetup."Address Type" := MapAddressType(OldSwissQRBillSetup."Address Type"); - SwissQRBillSetup."Default Layout" := OldSwissQRBillSetup."Default Layout"; - SwissQRBillSetup."Last Used Reference No." := OldSwissQRBillSetup."Last Used Reference No."; - SwissQRBillSetup."Journal Template" := OldSwissQRBillSetup."Journal Template"; - SwissQRBillSetup."Journal Batch" := OldSwissQRBillSetup."Journal Batch"; - if SwissQRBillSetup.Insert() then; - OldSwissQRBillSetup.Delete(); - end; - - if OldSwissQRBillLayout.FindSet() then begin - repeat - SwissQRBillLayout.Init(); - SwissQRBillLayout.Code := OldSwissQRBillLayout.Code; - SwissQRBillLayout."IBAN Type" := MapIBANType(OldSwissQRBillLayout."IBAN Type"); - SwissQRBillLayout."Unstr. Message" := OldSwissQRBillLayout."Unstr. Message"; - SwissQRBillLayout."Billing Information" := OldSwissQRBillLayout."Billing Information"; - SwissQRBillLayout."Payment Reference Type" := MapPaymentReferenceType(OldSwissQRBillLayout."Payment Reference Type"); - SwissQRBillLayout."Alt. Procedure Name 1" := OldSwissQRBillLayout."Alt. Procedure Name 1"; - SwissQRBillLayout."Alt. Procedure Value 1" := OldSwissQRBillLayout."Alt. Procedure Value 1"; - SwissQRBillLayout."Alt. Procedure Name 2" := OldSwissQRBillLayout."Alt. Procedure Name 2"; - SwissQRBillLayout."Alt. Procedure Value 2" := OldSwissQRBillLayout."Alt. Procedure Value 2"; - if SwissQRBillLayout.Insert() then; - until OldSwissQRBillLayout.Next() = 0; - OldSwissQRBillLayout.DeleteAll(); - end; - - if OldSwissQRBillBillingInfo.FindSet() then begin - repeat - SwissQRBillBillingInfo.Init(); - SwissQRBillBillingInfo.Code := OldSwissQRBillBillingInfo.Code; - SwissQRBillBillingInfo."Document No." := OldSwissQRBillBillingInfo."Document No."; - SwissQRBillBillingInfo."Document Date" := OldSwissQRBillBillingInfo."Document Date"; - SwissQRBillBillingInfo."VAT Number" := OldSwissQRBillBillingInfo."VAT Number"; - SwissQRBillBillingInfo."VAT Date" := OldSwissQRBillBillingInfo."VAT Date"; - SwissQRBillBillingInfo."VAT Details" := OldSwissQRBillBillingInfo."VAT Details"; - SwissQRBillBillingInfo."Payment Terms" := OldSwissQRBillBillingInfo."Payment Terms"; - if SwissQRBillBillingInfo.Insert() then; - until OldSwissQRBillBillingInfo.Next() = 0; - OldSwissQRBillBillingInfo.DeleteAll(); - end; - UpgradeTag.SetAllUpgradeTags(); end; diff --git a/Apps/CH/SwissQRBill/app/src/core/SwissQRBillMgt.Codeunit.al b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillMgt.Codeunit.al index 4bd6f99232..5e6c9f989b 100644 --- a/Apps/CH/SwissQRBill/app/src/core/SwissQRBillMgt.Codeunit.al +++ b/Apps/CH/SwissQRBill/app/src/core/SwissQRBillMgt.Codeunit.al @@ -127,11 +127,17 @@ codeunit 11518 "Swiss QR-Bill Mgt." FileManagement.DownloadFromStreamHandler(PDFFileInStream, 'Save QR-Bill', '', 'pdf', SwissQRBillBuffer."File Name"); end; - local procedure ReportPrintToStream(var SwissQRBillBuffer: Record "Swiss QR-Bill Buffer"; var PDFFileTempBlob: Codeunit "Temp Blob"): Boolean + local procedure ReportPrintToStream(var SwissQRBillBuffer: Record "Swiss QR-Bill Buffer"; var PDFFileTempBlob: Codeunit "Temp Blob") Result: Boolean var SwissQRBillPrint: Report "Swiss QR-Bill Print"; PDFFileOutStream: OutStream; + IsHandled: Boolean; begin + IsHandled := false; + OnBeforeReportPrintToStream(SwissQRBillBuffer, PDFFileTempBlob, Result, IsHandled); + if IsHandled then + exit(Result); + SwissQRBillPrint.SetBuffer(SwissQRBillBuffer); PDFFileTempBlob.CreateOutStream(PDFFileOutStream); exit(SwissQRBillPrint.SaveAs('', ReportFormat::Pdf, PDFFileOutStream)); @@ -485,4 +491,9 @@ codeunit 11518 "Swiss QR-Bill Mgt." TempDirectDebitCollectionEntry."Payment Reference", 1, MaxStrLen(PaymentExportData."Message to Recipient 1")); end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeReportPrintToStream(var SwissQRBillBuffer: Record "Swiss QR-Bill Buffer"; var PDFFileTempBlob: Codeunit "Temp Blob"; var Result: Boolean; var IsHandled: Boolean) + begin + end; } diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CopyDocumentMgtCZZ.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CopyDocumentMgtCZZ.Codeunit.al new file mode 100644 index 0000000000..e6d16f0017 --- /dev/null +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/CopyDocumentMgtCZZ.Codeunit.al @@ -0,0 +1,236 @@ +// ------------------------------------------------------------------------------------------------ +// 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.AdvancePayments; + +using System.Utilities; + +codeunit 31178 "Copy Document Mgt. CZZ" +{ + var + ErrorMessageManagement: Codeunit "Error Message Management"; + ConfirmManagement: Codeunit "Confirm Management"; + IncludeHeader: Boolean; + RecalculateLines: Boolean; + DeleteLinesQst: Label 'The existing lines for %1 will be deleted.\\Do you want to continue?', Comment = '%1=Advance Letter No., e.g. 001'; + ErrorContextMsg: Label 'Copy advance letter %1', Comment = '%1 - Advance Letter No.'; + CopyDocumentItselfErr: Label 'Advance Letter %1 cannot be copied onto itself.', Comment = '%1=Advance Letter No., e.g. 001'; + EnterDocumentNoErr: Label 'Please enter a Document No.'; + + #region Sales Advance Letter + procedure CopyDocument(FromDocNo: Code[20]; var ToSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + var + FromSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + FormSalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + OldSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + ToSalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; + ErrorContextElement: Codeunit "Error Context Element"; + ErrorMessageHandler: Codeunit "Error Message Handler"; + NextLineNo: Integer; + begin + ToSalesAdvLetterHeaderCZZ.TestField(Status, ToSalesAdvLetterHeaderCZZ.Status::New); + if FromDocNo = '' then + Error(EnterDocumentNoErr); + ToSalesAdvLetterHeaderCZZ.Find(); + + FromSalesAdvLetterHeaderCZZ.Get(FromDocNo); + CheckDocumentItselfCopy(ToSalesAdvLetterHeaderCZZ, FromSalesAdvLetterHeaderCZZ); + + if not IncludeHeader and not RecalculateLines then + CheckFromDocumentHeader(FromSalesAdvLetterHeaderCZZ, ToSalesAdvLetterHeaderCZZ); + + ToSalesAdvLetterLineCZZ.LockTable(); + ToSalesAdvLetterLineCZZ.SetRange("Document No.", ToSalesAdvLetterHeaderCZZ."No."); + if IncludeHeader then + if not ToSalesAdvLetterLineCZZ.IsEmpty() then begin + Commit(); + if not ConfirmManagement.GetResponseOrDefault(StrSubstNo(DeleteLinesQst, ToSalesAdvLetterHeaderCZZ."No."), true) then + exit; + ToSalesAdvLetterLineCZZ.DeleteAll(true); + end; + + if ToSalesAdvLetterLineCZZ.FindLast() then + NextLineNo := ToSalesAdvLetterLineCZZ."Line No." + else + NextLineNo := 0; + + if IncludeHeader then begin + OldSalesAdvLetterHeaderCZZ := ToSalesAdvLetterHeaderCZZ; + ToSalesAdvLetterHeaderCZZ.TransferFields(FromSalesAdvLetterHeaderCZZ, false); + ToSalesAdvLetterHeaderCZZ.Status := ToSalesAdvLetterHeaderCZZ.Status::New; + CopyFieldsFromOldSalesAdvLetterHeader(ToSalesAdvLetterHeaderCZZ, OldSalesAdvLetterHeaderCZZ); + if RecalculateLines then + ToSalesAdvLetterHeaderCZZ.CreateDimFromDefaultDim(0); + ToSalesAdvLetterHeaderCZZ."No. Printed" := 0; + ToSalesAdvLetterHeaderCZZ.Modify(); + end; + + ErrorMessageManagement.Activate(ErrorMessageHandler); + ErrorMessageManagement.PushContext(ErrorContextElement, ToSalesAdvLetterHeaderCZZ.RecordId, 0, StrSubstNo(ErrorContextMsg, FromDocNo)); + + FormSalesAdvLetterLineCZZ.Reset(); + FormSalesAdvLetterLineCZZ.SetRange("Document No.", FromSalesAdvLetterHeaderCZZ."No."); + if FormSalesAdvLetterLineCZZ.FindSet() then + repeat + CopyDocumentLine(ToSalesAdvLetterHeaderCZZ, ToSalesAdvLetterLineCZZ, FormSalesAdvLetterLineCZZ, NextLineNo); + until FormSalesAdvLetterLineCZZ.Next() = 0; + + if ErrorMessageManagement.GetLastErrorID() > 0 then + ErrorMessageHandler.NotifyAboutErrors(); + end; + + local procedure CheckDocumentItselfCopy(FromSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; ToSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + CheckDocumentItselfCopy(FromSalesAdvLetterHeaderCZZ."No.", ToSalesAdvLetterHeaderCZZ."No."); + end; + + local procedure CheckFromDocumentHeader(FromSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; ToSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + FromSalesAdvLetterHeaderCZZ.TestField("Currency Code", ToSalesAdvLetterHeaderCZZ."Currency Code"); + end; + + local procedure CopyFieldsFromOldSalesAdvLetterHeader(var ToSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; OldSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + ToSalesAdvLetterHeaderCZZ."No. Series" := OldSalesAdvLetterHeaderCZZ."No. Series"; + ToSalesAdvLetterHeaderCZZ."Job No." := OldSalesAdvLetterHeaderCZZ."Job No."; + ToSalesAdvLetterHeaderCZZ."Job Task No." := OldSalesAdvLetterHeaderCZZ."Job Task No."; + end; + + local procedure CopyDocumentLine(var ToSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var ToSalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; var FromSalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; var NextLineNo: Integer): Boolean + begin + if RecalculateLines then + ToSalesAdvLetterLineCZZ.Init() + else + ToSalesAdvLetterLineCZZ := FromSalesAdvLetterLineCZZ; + + NextLineNo += 10000; + ToSalesAdvLetterLineCZZ."Document No." := ToSalesAdvLetterHeaderCZZ."No."; + ToSalesAdvLetterLineCZZ."Line No." := NextLineNo; + + if RecalculateLines then begin + ToSalesAdvLetterLineCZZ."VAT Bus. Posting Group" := FromSalesAdvLetterLineCZZ."VAT Bus. Posting Group"; + ToSalesAdvLetterLineCZZ.Validate("VAT Prod. Posting Group", FromSalesAdvLetterLineCZZ."VAT Prod. Posting Group"); + ToSalesAdvLetterLineCZZ.Validate("Amount Including VAT", FromSalesAdvLetterLineCZZ."Amount Including VAT"); + ToSalesAdvLetterLineCZZ.Description := FromSalesAdvLetterLineCZZ.Description; + end; + + ToSalesAdvLetterLineCZZ.Insert(); + exit(true); + end; + #endregion + + #region Purchase Advance Letter + procedure CopyDocument(FromDocNo: Code[20]; var ToPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + var + FromPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + FormPurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + OldPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + ToPurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; + ErrorContextElement: Codeunit "Error Context Element"; + ErrorMessageHandler: Codeunit "Error Message Handler"; + NextLineNo: Integer; + begin + ToPurchAdvLetterHeaderCZZ.TestField(Status, ToPurchAdvLetterHeaderCZZ.Status::New); + if FromDocNo = '' then + Error(EnterDocumentNoErr); + ToPurchAdvLetterHeaderCZZ.Find(); + + FromPurchAdvLetterHeaderCZZ.Get(FromDocNo); + CheckDocumentItselfCopy(ToPurchAdvLetterHeaderCZZ, FromPurchAdvLetterHeaderCZZ); + + if not IncludeHeader and not RecalculateLines then + CheckFromDocumentHeader(FromPurchAdvLetterHeaderCZZ, ToPurchAdvLetterHeaderCZZ); + + ToPurchAdvLetterLineCZZ.LockTable(); + ToPurchAdvLetterLineCZZ.SetRange("Document No.", ToPurchAdvLetterHeaderCZZ."No."); + if IncludeHeader then + if not ToPurchAdvLetterLineCZZ.IsEmpty() then begin + Commit(); + if not ConfirmManagement.GetResponseOrDefault(StrSubstNo(DeleteLinesQst, ToPurchAdvLetterHeaderCZZ."No."), true) then + exit; + ToPurchAdvLetterLineCZZ.DeleteAll(true); + end; + + if ToPurchAdvLetterLineCZZ.FindLast() then + NextLineNo := ToPurchAdvLetterLineCZZ."Line No." + else + NextLineNo := 0; + + if IncludeHeader then begin + OldPurchAdvLetterHeaderCZZ := ToPurchAdvLetterHeaderCZZ; + ToPurchAdvLetterHeaderCZZ.TransferFields(FromPurchAdvLetterHeaderCZZ, false); + ToPurchAdvLetterHeaderCZZ.Status := ToPurchAdvLetterHeaderCZZ.Status::New; + CopyFieldsFromOldPurchAdvLetterHeader(ToPurchAdvLetterHeaderCZZ, OldPurchAdvLetterHeaderCZZ); + if RecalculateLines then + ToPurchAdvLetterHeaderCZZ.CreateDimFromDefaultDim(0); + ToPurchAdvLetterHeaderCZZ."No. Printed" := 0; + ToPurchAdvLetterHeaderCZZ.Modify(); + end; + + ErrorMessageManagement.Activate(ErrorMessageHandler); + ErrorMessageManagement.PushContext(ErrorContextElement, ToPurchAdvLetterHeaderCZZ.RecordId, 0, StrSubstNo(ErrorContextMsg, FromDocNo)); + + FormPurchAdvLetterLineCZZ.Reset(); + FormPurchAdvLetterLineCZZ.SetRange("Document No.", FromPurchAdvLetterHeaderCZZ."No."); + if FormPurchAdvLetterLineCZZ.FindSet() then + repeat + CopyDocumentLine(ToPurchAdvLetterHeaderCZZ, ToPurchAdvLetterLineCZZ, FormPurchAdvLetterLineCZZ, NextLineNo); + until FormPurchAdvLetterLineCZZ.Next() = 0; + + if ErrorMessageManagement.GetLastErrorID() > 0 then + ErrorMessageHandler.NotifyAboutErrors(); + end; + + local procedure CheckDocumentItselfCopy(FromPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; ToPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + CheckDocumentItselfCopy(FromPurchAdvLetterHeaderCZZ."No.", ToPurchAdvLetterHeaderCZZ."No."); + end; + + local procedure CheckFromDocumentHeader(FromPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; ToPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + FromPurchAdvLetterHeaderCZZ.TestField("Currency Code", ToPurchAdvLetterHeaderCZZ."Currency Code"); + end; + + local procedure CopyFieldsFromOldPurchAdvLetterHeader(var ToPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; OldPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + ToPurchAdvLetterHeaderCZZ."No. Series" := OldPurchAdvLetterHeaderCZZ."No. Series"; + end; + + local procedure CopyDocumentLine(var ToPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var ToPurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; var FromPurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; var NextLineNo: Integer): Boolean + begin + if RecalculateLines then + ToPurchAdvLetterLineCZZ.Init() + else + ToPurchAdvLetterLineCZZ := FromPurchAdvLetterLineCZZ; + + NextLineNo += 10000; + ToPurchAdvLetterLineCZZ."Document No." := ToPurchAdvLetterHeaderCZZ."No."; + ToPurchAdvLetterLineCZZ."Line No." := NextLineNo; + + if RecalculateLines then begin + ToPurchAdvLetterLineCZZ."VAT Bus. Posting Group" := FromPurchAdvLetterLineCZZ."VAT Bus. Posting Group"; + ToPurchAdvLetterLineCZZ.Validate("VAT Prod. Posting Group", FromPurchAdvLetterLineCZZ."VAT Prod. Posting Group"); + ToPurchAdvLetterLineCZZ.Validate("Amount Including VAT", FromPurchAdvLetterLineCZZ."Amount Including VAT"); + ToPurchAdvLetterLineCZZ.Description := FromPurchAdvLetterLineCZZ.Description; + end; + + ToPurchAdvLetterLineCZZ.Insert(); + exit(true); + end; + #endregion + + #region General + procedure SetProperties(NewIncludeHeader: Boolean; NewRecalculateLines: Boolean) + begin + IncludeHeader := NewIncludeHeader; + RecalculateLines := NewRecalculateLines; + end; + + local procedure CheckDocumentItselfCopy(FromDocumentNo: Code[20]; ToDocumentNo: Code[20]) + begin + if FromDocumentNo = ToDocumentNo then + Error(CopyDocumentItselfErr, ToDocumentNo); + end; + #endregion +} diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplicationCZZ.Codeunit.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplicationCZZ.Codeunit.al index 9663a6ed5e..f2faaa8872 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplicationCZZ.Codeunit.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/InstallApplicationCZZ.Codeunit.al @@ -17,17 +17,11 @@ using Microsoft.Finance.VAT.Ledger; using Microsoft.Finance.VAT.Reporting; using Microsoft.Finance.VAT.Setup; using Microsoft.Foundation.Company; -using Microsoft.Foundation.Enums; using Microsoft.Foundation.Reporting; -using Microsoft.Purchases.Document; using Microsoft.Purchases.History; using Microsoft.Purchases.Payables; -using Microsoft.Purchases.Vendor; -using Microsoft.Sales.Customer; -using Microsoft.Sales.Document; using Microsoft.Sales.History; using Microsoft.Sales.Receivables; -using System.Reflection; using System.Upgrade; using Microsoft.Finance.CashDesk; @@ -35,8 +29,7 @@ using Microsoft.Finance.CashDesk; codeunit 31087 "Install Application CZZ" { Subtype = Install; - Permissions = tabledata "Advance Letter Line Relation" = d, - tabledata "Advance Letter Template CZZ" = i, + Permissions = tabledata "Advance Letter Template CZZ" = i, tabledata "Acc. Schedule Extension CZL" = rm, tabledata "Purch. Adv. Letter Header CZZ" = i, tabledata "Purch. Adv. Letter Line CZZ" = i, @@ -62,20 +55,13 @@ codeunit 31087 "Install Application CZZ" tabledata "Incoming Document" = m; var - VATPostingSetup: Record "VAT Posting Setup"; InstallApplicationsMgtCZL: Codeunit "Install Applications Mgt. CZL"; AppInfo: ModuleInfo; - trigger OnInstallAppPerDatabase() - begin - CopyPermission(); - end; - trigger OnInstallAppPerCompany() begin if not InitializeDone() then begin BindSubscription(InstallApplicationsMgtCZL); - CopyUsage(); CopyData(); UnbindSubscription(InstallApplicationsMgtCZL); end; @@ -88,914 +74,24 @@ codeunit 31087 "Install Application CZZ" exit(AppInfo.DataVersion() <> Version.Create('0.0.0.0')); end; - local procedure CopyPermission(); - begin - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Purchase Adv. Payment Template", Database::"Advance Letter Template CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Purch. Advance Letter Header", Database::"Purch. Adv. Letter Header CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Purch. Advance Letter Line", Database::"Purch. Adv. Letter Line CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Purch. Advance Letter Entry", Database::"Purch. Adv. Letter Entry CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Sales Adv. Payment Template", Database::"Advance Letter Template CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Sales Advance Letter Header", Database::"Sales Adv. Letter Header CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Sales Advance Letter Line", Database::"Sales Adv. Letter Line CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Sales Advance Letter Entry", Database::"Sales Adv. Letter Entry CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Advance Link", Database::"Advance Letter Application CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Advance Letter Line Relation", Database::"Advance Letter Application CZZ"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Advance Link Buffer", Database::"Advance Letter Link Buffer CZZ"); - end; - - local procedure CopyUsage(); - begin - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Purchase Adv. Payment Template", Database::"Advance Letter Template CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Purch. Advance Letter Header", Database::"Purch. Adv. Letter Header CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Purch. Advance Letter Line", Database::"Purch. Adv. Letter Line CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Purch. Advance Letter Entry", Database::"Purch. Adv. Letter Entry CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Sales Adv. Payment Template", Database::"Advance Letter Template CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Sales Advance Letter Header", Database::"Sales Adv. Letter Header CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Sales Advance Letter Line", Database::"Sales Adv. Letter Line CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Sales Advance Letter Entry", Database::"Sales Adv. Letter Entry CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Advance Link", Database::"Advance Letter Application CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Advance Letter Line Relation", Database::"Advance Letter Application CZZ"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Advance Link Buffer", Database::"Advance Letter Link Buffer CZZ"); - end; - procedure CopyData() - var - PurchaseAdvPaymentTemplate: Record "Purchase Adv. Payment Template"; - SalesAdvPaymentTemplate: Record "Sales Adv. Payment Template"; begin - if PurchaseAdvPaymentTemplate.IsEmpty() and SalesAdvPaymentTemplate.IsEmpty() then - exit; - - CopyPurchaseAdvanceTemplates(); - CopySalesAdvanceTemplates(); - CopyPurchaseAdvances(); - CopySalesAdvances(); - CopyVATPostingSetup(); - CopyVATEntries(); CopyCustomerLedgerEntries(); CopyVendorLedgerEntries(); - CopyGenJournalLines(); - CopyCashDocumentLinesCZP(); - CopyPaymentOrderLinesCZB(); - CopyIssPaymentOrderLinesCZB(); - CopyCashFlowSetup(); CopyAccScheduleExtension(); MoveIncomingDocument(); ModifyReportSelections(); end; - local procedure CopyPurchaseAdvanceTemplates() - var - PurchaseAdvPaymentTemplate: Record "Purchase Adv. Payment Template"; - AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; - VendorPostingGroup: Record "Vendor Posting Group"; - begin - if PurchaseAdvPaymentTemplate.FindSet() then - repeat - if not AdvanceLetterTemplateCZZ.Get('N_' + PurchaseAdvPaymentTemplate.Code) then begin - AdvanceLetterTemplateCZZ.Init(); - AdvanceLetterTemplateCZZ.Code := 'N_' + PurchaseAdvPaymentTemplate.Code; - AdvanceLetterTemplateCZZ.Description := CopyStr(PurchaseAdvPaymentTemplate.Description, 1, MaxStrLen(AdvanceLetterTemplateCZZ.Description)); - AdvanceLetterTemplateCZZ."Sales/Purchase" := AdvanceLetterTemplateCZZ."Sales/Purchase"::Purchase; - if VendorPostingGroup.Get(PurchaseAdvPaymentTemplate."Vendor Posting Group") then - AdvanceLetterTemplateCZZ."Advance Letter G/L Account" := VendorPostingGroup."Advance Account"; - AdvanceLetterTemplateCZZ."Advance Letter Document Nos." := PurchaseAdvPaymentTemplate."Advance Letter Nos."; - AdvanceLetterTemplateCZZ."Advance Letter Invoice Nos." := PurchaseAdvPaymentTemplate."Advance Invoice Nos."; - AdvanceLetterTemplateCZZ."Advance Letter Cr. Memo Nos." := PurchaseAdvPaymentTemplate."Advance Credit Memo Nos."; - AdvanceLetterTemplateCZZ."Automatic Post VAT Document" := true; - AdvanceLetterTemplateCZZ.SystemId := PurchaseAdvPaymentTemplate.SystemId; - AdvanceLetterTemplateCZZ.Insert(false, true); - end; - until PurchaseAdvPaymentTemplate.Next() = 0; - end; - - local procedure CopySalesAdvanceTemplates() - var - SalesAdvPaymentTemplate: Record "Sales Adv. Payment Template"; - AdvanceLetterTemplateCZZ: Record "Advance Letter Template CZZ"; - CustomerPostingGroup: Record "Customer Posting Group"; - begin - if SalesAdvPaymentTemplate.FindSet() then - repeat - if not AdvanceLetterTemplateCZZ.Get('P_' + SalesAdvPaymentTemplate.Code) then begin - AdvanceLetterTemplateCZZ.Init(); - AdvanceLetterTemplateCZZ.Code := 'P_' + SalesAdvPaymentTemplate.Code; - AdvanceLetterTemplateCZZ.Description := CopyStr(SalesAdvPaymentTemplate.Description, 1, MaxStrLen(AdvanceLetterTemplateCZZ.Description)); - AdvanceLetterTemplateCZZ."Sales/Purchase" := AdvanceLetterTemplateCZZ."Sales/Purchase"::Sales; - if CustomerPostingGroup.Get(SalesAdvPaymentTemplate."Customer Posting Group") then - AdvanceLetterTemplateCZZ."Advance Letter G/L Account" := CustomerPostingGroup."Advance Account"; - AdvanceLetterTemplateCZZ."Advance Letter Document Nos." := SalesAdvPaymentTemplate."Advance Letter Nos."; - AdvanceLetterTemplateCZZ."Advance Letter Invoice Nos." := SalesAdvPaymentTemplate."Advance Invoice Nos."; - AdvanceLetterTemplateCZZ."Advance Letter Cr. Memo Nos." := SalesAdvPaymentTemplate."Advance Credit Memo Nos."; - AdvanceLetterTemplateCZZ."Automatic Post VAT Document" := true; - AdvanceLetterTemplateCZZ.SystemId := SalesAdvPaymentTemplate.SystemId; - AdvanceLetterTemplateCZZ.Insert(false, true); - end; - until SalesAdvPaymentTemplate.Next() = 0; - end; - - local procedure CopyPurchaseAdvances() - var - PurchAdvanceLetterHeader: Record "Purch. Advance Letter Header"; - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - PurchAdvanceLetterLine: Record "Purch. Advance Letter Line"; - PurchAdvLetterLineCZZ: Record "Purch. Adv. Letter Line CZZ"; - begin - if PurchAdvanceLetterHeader.FindSet() then - repeat - if not PurchAdvLetterHeaderCZZ.Get(PurchAdvanceLetterHeader."No.") then begin - PurchAdvLetterHeaderCZZ.Init(); - PurchAdvLetterHeaderCZZ."No." := PurchAdvanceLetterHeader."No."; - if PurchAdvanceLetterHeader."Template Code" <> '' then - PurchAdvLetterHeaderCZZ."Advance Letter Code" := 'N_' + PurchAdvanceLetterHeader."Template Code"; - PurchAdvLetterHeaderCZZ."Pay-to Vendor No." := PurchAdvanceLetterHeader."Pay-to Vendor No."; - PurchAdvLetterHeaderCZZ."Pay-to Name" := PurchAdvanceLetterHeader."Pay-to Name"; - PurchAdvLetterHeaderCZZ."Pay-to Name 2" := PurchAdvanceLetterHeader."Pay-to Name 2"; - PurchAdvLetterHeaderCZZ."Pay-to Address" := PurchAdvanceLetterHeader."Pay-to Address"; - PurchAdvLetterHeaderCZZ."Pay-to Address 2" := PurchAdvanceLetterHeader."Pay-to Address 2"; - PurchAdvLetterHeaderCZZ."Pay-to City" := PurchAdvanceLetterHeader."Pay-to City"; - PurchAdvLetterHeaderCZZ."Pay-to Post Code" := PurchAdvanceLetterHeader."Pay-to Post Code"; - PurchAdvLetterHeaderCZZ."Pay-to County" := PurchAdvanceLetterHeader."Pay-to County"; - PurchAdvLetterHeaderCZZ."Pay-to Country/Region Code" := PurchAdvanceLetterHeader."Pay-to Country/Region Code"; - PurchAdvLetterHeaderCZZ."Language Code" := PurchAdvanceLetterHeader."Language Code"; - PurchAdvLetterHeaderCZZ."Format Region" := PurchAdvanceLetterHeader."Format Region"; - PurchAdvLetterHeaderCZZ."Pay-to Contact" := PurchAdvanceLetterHeader."Pay-to Contact"; - PurchAdvLetterHeaderCZZ."Purchaser Code" := PurchAdvanceLetterHeader."Purchaser Code"; - PurchAdvLetterHeaderCZZ."Shortcut Dimension 1 Code" := PurchAdvanceLetterHeader."Shortcut Dimension 1 Code"; - PurchAdvLetterHeaderCZZ."Shortcut Dimension 2 Code" := PurchAdvanceLetterHeader."Shortcut Dimension 2 Code"; - PurchAdvLetterHeaderCZZ."VAT Bus. Posting Group" := PurchAdvanceLetterHeader."VAT Bus. Posting Group"; - PurchAdvLetterHeaderCZZ."Posting Date" := PurchAdvanceLetterHeader."Posting Date"; - PurchAdvLetterHeaderCZZ."Advance Due Date" := PurchAdvanceLetterHeader."Advance Due Date"; - PurchAdvLetterHeaderCZZ."Document Date" := PurchAdvanceLetterHeader."Document Date"; - PurchAdvLetterHeaderCZZ."VAT Date" := PurchAdvanceLetterHeader."VAT Date"; - PurchAdvLetterHeaderCZZ."Posting Description" := PurchAdvanceLetterHeader."Posting Description"; - PurchAdvLetterHeaderCZZ."Payment Method Code" := PurchAdvanceLetterHeader."Payment Method Code"; - PurchAdvLetterHeaderCZZ."Payment Terms Code" := PurchAdvanceLetterHeader."Payment Terms Code"; - PurchAdvLetterHeaderCZZ."Registration No." := PurchAdvanceLetterHeader."Registration No."; - PurchAdvLetterHeaderCZZ."Tax Registration No." := PurchAdvanceLetterHeader."Tax Registration No."; - PurchAdvLetterHeaderCZZ."VAT Registration No." := PurchAdvanceLetterHeader."VAT Registration No."; - PurchAdvLetterHeaderCZZ."No. Printed" := PurchAdvanceLetterHeader."No. Printed"; - PurchAdvLetterHeaderCZZ."Order No." := PurchAdvanceLetterHeader."Order No."; - PurchAdvLetterHeaderCZZ."Vendor Adv. Letter No." := PurchAdvanceLetterHeader."Vendor Adv. Payment No."; - PurchAdvLetterHeaderCZZ."No. Series" := PurchAdvanceLetterHeader."No. Series"; - PurchAdvLetterHeaderCZZ."Bank Account Code" := PurchAdvanceLetterHeader."Bank Account Code"; - PurchAdvLetterHeaderCZZ."Bank Account No." := PurchAdvanceLetterHeader."Bank Account No."; - PurchAdvLetterHeaderCZZ."Bank Branch No." := PurchAdvanceLetterHeader."Bank Branch No."; - PurchAdvLetterHeaderCZZ."Specific Symbol" := PurchAdvanceLetterHeader."Specific Symbol"; - PurchAdvLetterHeaderCZZ."Variable Symbol" := PurchAdvanceLetterHeader."Variable Symbol"; - PurchAdvLetterHeaderCZZ."Constant Symbol" := PurchAdvanceLetterHeader."Constant Symbol"; - PurchAdvLetterHeaderCZZ.IBAN := PurchAdvanceLetterHeader.IBAN; - PurchAdvLetterHeaderCZZ."SWIFT Code" := PurchAdvanceLetterHeader."SWIFT Code"; - PurchAdvLetterHeaderCZZ."Bank Name" := PurchAdvanceLetterHeader."Bank Name"; - PurchAdvLetterHeaderCZZ."Transit No." := PurchAdvanceLetterHeader."Transit No."; - PurchAdvLetterHeaderCZZ."Responsibility Center" := PurchAdvanceLetterHeader."Responsibility Center"; - PurchAdvLetterHeaderCZZ."Currency Code" := PurchAdvanceLetterHeader."Currency Code"; - PurchAdvLetterHeaderCZZ."Currency Factor" := PurchAdvanceLetterHeader."Currency Factor"; - PurchAdvLetterHeaderCZZ."VAT Country/Region Code" := PurchAdvanceLetterHeader."VAT Country/Region Code"; - PurchAdvanceLetterHeader.CalcFields(Status); - PurchAdvLetterHeaderCZZ.Status := GetStatus(PurchAdvanceLetterHeader.Status); - PurchAdvLetterHeaderCZZ."Automatic Post VAT Usage" := true; - PurchAdvLetterHeaderCZZ."Dimension Set ID" := PurchAdvanceLetterHeader."Dimension Set ID"; - PurchAdvLetterHeaderCZZ."Incoming Document Entry No." := PurchAdvanceLetterHeader."Incoming Document Entry No."; - PurchAdvLetterHeaderCZZ.SystemId := PurchAdvanceLetterHeader.SystemId; - PurchAdvLetterHeaderCZZ.Insert(false, true); - - PurchAdvanceLetterLine.SetRange("Letter No.", PurchAdvanceLetterHeader."No."); - if PurchAdvanceLetterLine.FindSet() then - repeat - PurchAdvLetterLineCZZ.Init(); - PurchAdvLetterLineCZZ."Document No." := PurchAdvanceLetterLine."Letter No."; - PurchAdvLetterLineCZZ."Line No." := PurchAdvanceLetterLine."Line No."; - PurchAdvLetterLineCZZ.Description := PurchAdvanceLetterLine.Description; - PurchAdvLetterLineCZZ."VAT Bus. Posting Group" := PurchAdvanceLetterLine."VAT Bus. Posting Group"; - PurchAdvLetterLineCZZ."VAT Prod. Posting Group" := PurchAdvanceLetterLine."VAT Prod. Posting Group"; - PurchAdvLetterLineCZZ.Amount := PurchAdvanceLetterLine.Amount; - PurchAdvLetterLineCZZ."VAT Amount" := PurchAdvanceLetterLine."VAT Amount"; - PurchAdvLetterLineCZZ."Amount Including VAT" := PurchAdvanceLetterLine."Amount Including VAT"; - if (PurchAdvLetterHeaderCZZ."Currency Factor" = 0) or (PurchAdvLetterHeaderCZZ."Currency Code" = '') then begin - PurchAdvLetterLineCZZ."Amount (LCY)" := PurchAdvLetterLineCZZ.Amount; - PurchAdvLetterLineCZZ."VAT Amount (LCY)" := PurchAdvLetterLineCZZ."VAT Amount"; - PurchAdvLetterLineCZZ."Amount Including VAT (LCY)" := PurchAdvLetterLineCZZ."Amount Including VAT"; - end else begin - PurchAdvLetterLineCZZ."Amount Including VAT (LCY)" := Round(PurchAdvLetterLineCZZ."Amount Including VAT" / PurchAdvLetterHeaderCZZ."Currency Factor"); - PurchAdvLetterLineCZZ."VAT Amount (LCY)" := Round(PurchAdvLetterLineCZZ."VAT Amount" / PurchAdvLetterHeaderCZZ."Currency Factor"); - PurchAdvLetterLineCZZ."Amount (LCY)" := PurchAdvLetterLineCZZ."Amount Including VAT (LCY)" - PurchAdvLetterLineCZZ."VAT Amount (LCY)"; - end; - PurchAdvLetterLineCZZ."VAT %" := PurchAdvanceLetterLine."VAT %"; - PurchAdvLetterLineCZZ."VAT Calculation Type" := PurchAdvanceLetterLine."VAT Calculation Type"; - if VATPostingSetup.Get(PurchAdvLetterLineCZZ."VAT Bus. Posting Group", PurchAdvLetterLineCZZ."VAT Prod. Posting Group") then - PurchAdvLetterLineCZZ."VAT Clause Code" := VATPostingSetup."VAT Clause Code"; - PurchAdvLetterLineCZZ."VAT Calculation Type" := PurchAdvanceLetterLine."VAT Calculation Type"; - PurchAdvLetterLineCZZ."VAT Identifier" := PurchAdvanceLetterLine."VAT Identifier"; - PurchAdvLetterLineCZZ.SystemId := PurchAdvanceLetterLine.SystemId; - PurchAdvLetterLineCZZ.Insert(false, true); - until PurchAdvanceLetterLine.Next() = 0; - - UpdatePurchEntry(PurchAdvLetterHeaderCZZ); - UpdatePurchAdvanceApplication(PurchAdvLetterHeaderCZZ); - end; - until PurchAdvanceLetterHeader.Next() = 0; - end; - - local procedure UpdatePurchEntry(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") - var - AdvanceLink: Record "Advance Link"; - PurchAdvanceLetterEntry1: Record "Purch. Advance Letter Entry"; - PurchAdvanceLetterEntry2: Record "Purch. Advance Letter Entry"; - PurchAdvLetterEntryCZZ1: Record "Purch. Adv. Letter Entry CZZ"; - PurchAdvLetterEntryCZZ2: Record "Purch. Adv. Letter Entry CZZ"; - TempPurchAdvLetterEntryCZZ: Record "Purch. Adv. Letter Entry CZZ" temporary; - VATEntry2: Record "VAT Entry"; - VendorLedgerEntry: Record "Vendor Ledger Entry"; - PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; - CurrFactor: Decimal; - LastClosedDate: Date; - begin - if PurchAdvLetterHeaderCZZ.Status.AsInteger() = PurchAdvLetterHeaderCZZ.Status::New.AsInteger() then - exit; - - PurchAdvLetterEntryCZZ1.LockTable(); - if PurchAdvLetterEntryCZZ1.FindLast() then; - - PurchAdvLetterHeaderCZZ.CalcFields("Amount Including VAT", "Amount Including VAT (LCY)"); - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"Initial Entry", PurchAdvLetterHeaderCZZ."No.", PurchAdvLetterHeaderCZZ."Posting Date", - -PurchAdvLetterHeaderCZZ."Amount Including VAT", -PurchAdvLetterHeaderCZZ."Amount Including VAT (LCY)", - PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."Currency Factor", PurchAdvLetterHeaderCZZ."No.", '', - PurchAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", PurchAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", PurchAdvLetterHeaderCZZ."Dimension Set ID", false); - - LastClosedDate := 0D; - AdvanceLink.Reset(); - AdvanceLink.SetRange(Type, AdvanceLink.Type::Purchase); - AdvanceLink.SetRange("Document No.", PurchAdvLetterHeaderCZZ."No."); - AdvanceLink.SetRange("Entry Type", AdvanceLink."Entry Type"::"Link To Letter"); - if AdvanceLink.FindSet(true) then - repeat - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - PurchAdvLetterManagementCZZ.AdvEntryInitVendLedgEntryNo(AdvanceLink."CV Ledger Entry No."); - if not VendorLedgerEntry.Get(AdvanceLink."CV Ledger Entry No.") then - VendorLedgerEntry.Init(); - if LastClosedDate < VendorLedgerEntry."Closed at Date" then - LastClosedDate := VendorLedgerEntry."Closed at Date"; - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Payment, PurchAdvLetterHeaderCZZ."No.", VendorLedgerEntry."Posting Date", - -AdvanceLink.Amount, -AdvanceLink."Amount (LCY)", - PurchAdvLetterHeaderCZZ."Currency Code", VendorLedgerEntry."Original Currency Factor", VendorLedgerEntry."Document No.", VendorLedgerEntry."External Document No.", - VendorLedgerEntry."Global Dimension 1 Code", VendorLedgerEntry."Global Dimension 2 Code", VendorLedgerEntry."Dimension Set ID", false); - - PurchAdvLetterEntryCZZ1.FindLast(); - - PurchAdvanceLetterEntry1.Reset(); - PurchAdvanceLetterEntry1.SetRange("Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvanceLetterEntry1.SetRange("Letter Line No.", AdvanceLink."Line No."); - PurchAdvanceLetterEntry1.SetRange("Vendor Entry No.", AdvanceLink."CV Ledger Entry No."); - PurchAdvanceLetterEntry1.SetRange("Entry Type", PurchAdvanceLetterEntry1."Entry Type"::VAT); - if PurchAdvanceLetterEntry1.FindSet() then - repeat - VATEntry2.Get(PurchAdvanceLetterEntry1."VAT Entry No."); - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - if PurchAdvanceLetterEntry1.Cancelled then - PurchAdvLetterManagementCZZ.AdvEntryInitCancel(); - PurchAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(PurchAdvLetterEntryCZZ1."Entry No."); - PurchAdvLetterManagementCZZ.AdvEntryInitVAT(PurchAdvanceLetterEntry1."VAT Bus. Posting Group", PurchAdvanceLetterEntry1."VAT Prod. Posting Group", PurchAdvanceLetterEntry1."VAT Date", - PurchAdvanceLetterEntry1."VAT Date", PurchAdvanceLetterEntry1."VAT Entry No.", PurchAdvanceLetterEntry1."VAT %", PurchAdvanceLetterEntry1."VAT Identifier", "TAX Calculation Type"::"Normal VAT", - PurchAdvanceLetterEntry1."VAT Amount", PurchAdvanceLetterEntry1."VAT Amount (LCY)", PurchAdvanceLetterEntry1."VAT Base Amount", PurchAdvanceLetterEntry1."VAT Base Amount (LCY)"); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Payment", PurchAdvLetterHeaderCZZ."No.", PurchAdvanceLetterEntry1."Posting Date", - PurchAdvanceLetterEntry1."VAT Base Amount" + PurchAdvanceLetterEntry1."VAT Amount", PurchAdvanceLetterEntry1."VAT Base Amount (LCY)" + PurchAdvanceLetterEntry1."VAT Amount (LCY)", - PurchAdvLetterEntryCZZ1."Currency Code", PurchAdvLetterEntryCZZ1."Currency Factor", PurchAdvanceLetterEntry1."Document No.", VATEntry2."External Document No.", - PurchAdvLetterEntryCZZ1."Global Dimension 1 Code", PurchAdvLetterEntryCZZ1."Global Dimension 2 Code", PurchAdvLetterEntryCZZ1."Dimension Set ID", false); - until PurchAdvanceLetterEntry1.Next() = 0; - - PurchAdvanceLetterEntry1.SetRange("Entry Type", PurchAdvanceLetterEntry1."Entry Type"::Deduction); - if PurchAdvanceLetterEntry1.FindSet() then - repeat - if not VendorLedgerEntry.Get(PurchAdvanceLetterEntry1."Vendor Entry No.") then - VendorLedgerEntry.Init(); - CurrFactor := VendorLedgerEntry."Original Currency Factor"; - if CurrFactor = 0 then - CurrFactor := 1; - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - if PurchAdvanceLetterEntry1.Cancelled then - PurchAdvLetterManagementCZZ.AdvEntryInitCancel(); - PurchAdvLetterManagementCZZ.AdvEntryInitVendLedgEntryNo(PurchAdvanceLetterEntry1."Vendor Entry No."); - PurchAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(PurchAdvLetterEntryCZZ1."Entry No."); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Usage, PurchAdvLetterHeaderCZZ."No.", PurchAdvanceLetterEntry1."Posting Date", - PurchAdvanceLetterEntry1.Amount, Round(PurchAdvanceLetterEntry1.Amount / CurrFactor), - PurchAdvanceLetterEntry1."Currency Code", VendorLedgerEntry."Original Currency Factor", PurchAdvanceLetterEntry1."Document No.", VendorLedgerEntry."External Document No.", - VendorLedgerEntry."Global Dimension 1 Code", VendorLedgerEntry."Global Dimension 2 Code", VendorLedgerEntry."Dimension Set ID", false); - - PurchAdvLetterEntryCZZ2.FindLast(); - - PurchAdvanceLetterEntry2.Reset(); - PurchAdvanceLetterEntry2.SetRange("Letter No.", PurchAdvanceLetterEntry1."Letter No."); - PurchAdvanceLetterEntry2.SetRange("Letter Line No.", PurchAdvanceLetterEntry1."Letter Line No."); - PurchAdvanceLetterEntry2.SetRange("Entry Type", PurchAdvanceLetterEntry2."Entry Type"::"VAT Deduction"); - PurchAdvanceLetterEntry2.SetRange("Document Type", PurchAdvanceLetterEntry1."Document Type"); - PurchAdvanceLetterEntry2.SetRange("Document No.", PurchAdvanceLetterEntry1."Document No."); - PurchAdvanceLetterEntry2.SetRange("Purchase Line No.", PurchAdvanceLetterEntry1."Purchase Line No."); - PurchAdvanceLetterEntry2.SetRange("Deduction Line No.", PurchAdvanceLetterEntry1."Deduction Line No."); - PurchAdvanceLetterEntry2.SetRange("Vendor Entry No.", PurchAdvanceLetterEntry1."Vendor Entry No."); - if PurchAdvanceLetterEntry2.FindSet() then - repeat - VATEntry2.Get(PurchAdvanceLetterEntry2."VAT Entry No."); - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - if PurchAdvanceLetterEntry2.Cancelled then - PurchAdvLetterManagementCZZ.AdvEntryInitCancel(); - PurchAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(PurchAdvLetterEntryCZZ2."Entry No."); - PurchAdvLetterManagementCZZ.AdvEntryInitVAT(PurchAdvanceLetterEntry2."VAT Bus. Posting Group", PurchAdvanceLetterEntry2."VAT Prod. Posting Group", PurchAdvanceLetterEntry2."VAT Date", - PurchAdvanceLetterEntry2."VAT Date", PurchAdvanceLetterEntry2."VAT Entry No.", PurchAdvanceLetterEntry2."VAT %", PurchAdvanceLetterEntry2."VAT Identifier", "TAX Calculation Type"::"Normal VAT", - PurchAdvanceLetterEntry2."VAT Amount", PurchAdvanceLetterEntry2."VAT Amount (LCY)", PurchAdvanceLetterEntry2."VAT Base Amount", PurchAdvanceLetterEntry2."VAT Base Amount (LCY)"); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Usage", PurchAdvLetterHeaderCZZ."No.", PurchAdvanceLetterEntry2."Posting Date", - PurchAdvanceLetterEntry2."VAT Base Amount" + PurchAdvanceLetterEntry2."VAT Amount", PurchAdvanceLetterEntry2."VAT Base Amount (LCY)" + PurchAdvanceLetterEntry2."VAT Amount (LCY)", - PurchAdvanceLetterEntry2."Currency Code", VendorLedgerEntry."Original Currency Factor", PurchAdvanceLetterEntry2."Document No.", VATEntry2."External Document No.", - VendorLedgerEntry."Global Dimension 1 Code", VendorLedgerEntry."Global Dimension 2 Code", VendorLedgerEntry."Dimension Set ID", false); - until PurchAdvanceLetterEntry2.Next() = 0; - - PurchAdvanceLetterEntry2.SetRange("Entry Type", PurchAdvanceLetterEntry2."Entry Type"::"VAT Rate"); - if PurchAdvanceLetterEntry2.FindSet() then - repeat - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - if PurchAdvanceLetterEntry2.Cancelled then - PurchAdvLetterManagementCZZ.AdvEntryInitCancel(); - PurchAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(PurchAdvLetterEntryCZZ2."Entry No."); - PurchAdvLetterManagementCZZ.AdvEntryInitVAT(PurchAdvanceLetterEntry2."VAT Bus. Posting Group", PurchAdvanceLetterEntry2."VAT Prod. Posting Group", PurchAdvanceLetterEntry2."VAT Date", - PurchAdvanceLetterEntry2."VAT Date", 0, PurchAdvanceLetterEntry2."VAT %", PurchAdvanceLetterEntry2."VAT Identifier", "TAX Calculation Type"::"Normal VAT", - 0, PurchAdvanceLetterEntry2."VAT Amount (LCY)", 0, PurchAdvanceLetterEntry2."VAT Base Amount (LCY)"); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Rate", PurchAdvLetterHeaderCZZ."No.", PurchAdvanceLetterEntry2."Posting Date", - 0, PurchAdvanceLetterEntry2."VAT Base Amount (LCY)" + PurchAdvanceLetterEntry2."VAT Amount (LCY)", '', 0, PurchAdvanceLetterEntry2."Document No.", VendorLedgerEntry."External Document No.", - VendorLedgerEntry."Global Dimension 1 Code", VendorLedgerEntry."Global Dimension 2 Code", VendorLedgerEntry."Dimension Set ID", false); - until PurchAdvanceLetterEntry2.Next() = 0; - until PurchAdvanceLetterEntry1.Next() = 0; - - AdvanceLink.Amount := 0; - AdvanceLink."Amount (LCY)" := 0; - AdvanceLink.Modify(false); - until AdvanceLink.Next() = 0; - - if PurchAdvLetterHeaderCZZ.Status = PurchAdvLetterHeaderCZZ.Status::Closed then begin - if LastClosedDate = 0D then - LastClosedDate := PurchAdvLetterHeaderCZZ."Posting Date"; - PurchAdvLetterHeaderCZZ.CalcFields("To Use", "To Use (LCY)"); - if (PurchAdvLetterHeaderCZZ."To Use" <> 0) or (PurchAdvLetterHeaderCZZ."To Use (LCY)" <> 0) then begin - PurchAdvanceLetterEntry1.Reset(); - PurchAdvanceLetterEntry1.SetRange("Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvanceLetterEntry1.SetRange("Entry Type", PurchAdvanceLetterEntry1."Entry Type"::VAT); - PurchAdvanceLetterEntry1.SetRange("Document Type", PurchAdvanceLetterEntry1."Document Type"::"Credit Memo"); - if not PurchAdvanceLetterEntry1.FindLast() then - PurchAdvanceLetterEntry1."Document No." := PurchAdvLetterHeaderCZZ."No."; - - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, PurchAdvLetterHeaderCZZ."No.", LastClosedDate, - -PurchAdvLetterHeaderCZZ."To Use", -PurchAdvLetterHeaderCZZ."To Use (LCY)", - PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."Currency Factor", PurchAdvanceLetterEntry1."Document No.", '', - PurchAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", PurchAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", PurchAdvLetterHeaderCZZ."Dimension Set ID", false); - - PurchAdvLetterEntryCZZ1.Reset(); - PurchAdvLetterEntryCZZ1.SetRange("Purch. Adv. Letter No.", PurchAdvLetterHeaderCZZ."No."); - PurchAdvLetterEntryCZZ1.SetFilter("Entry Type", '%1|%2|%3', - PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Payment", - PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Usage", - PurchAdvLetterEntryCZZ1."Entry Type"::"VAT Rate"); - if PurchAdvLetterEntryCZZ1.FindSet() then - repeat - TempPurchAdvLetterEntryCZZ.SetRange("VAT Bus. Posting Group", PurchAdvLetterEntryCZZ1."VAT Bus. Posting Group"); - TempPurchAdvLetterEntryCZZ.SetRange("VAT Prod. Posting Group", PurchAdvLetterEntryCZZ1."VAT Prod. Posting Group"); - if not TempPurchAdvLetterEntryCZZ.FindFirst() then begin - TempPurchAdvLetterEntryCZZ.Init(); - TempPurchAdvLetterEntryCZZ := PurchAdvLetterEntryCZZ1; - TempPurchAdvLetterEntryCZZ.Insert(); - end else begin - TempPurchAdvLetterEntryCZZ.Amount += PurchAdvLetterEntryCZZ1.Amount; - TempPurchAdvLetterEntryCZZ."Amount (LCY)" += PurchAdvLetterEntryCZZ1."Amount (LCY)"; - TempPurchAdvLetterEntryCZZ."VAT Amount" += PurchAdvLetterEntryCZZ1."VAT Amount"; - TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)" += PurchAdvLetterEntryCZZ1."VAT Amount (LCY)"; - TempPurchAdvLetterEntryCZZ."VAT Base Amount" += PurchAdvLetterEntryCZZ1."VAT Base Amount"; - TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)" += PurchAdvLetterEntryCZZ1."VAT Base Amount (LCY)"; - TempPurchAdvLetterEntryCZZ.Modify(); - end; - until PurchAdvLetterEntryCZZ1.Next() = 0; - - TempPurchAdvLetterEntryCZZ.Reset(); - if TempPurchAdvLetterEntryCZZ.FindSet() then - repeat - if (TempPurchAdvLetterEntryCZZ.Amount <> 0) or (TempPurchAdvLetterEntryCZZ."Amount (LCY)" <> 0) or - (TempPurchAdvLetterEntryCZZ."VAT Amount" <> 0) or (TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)" <> 0) or - (TempPurchAdvLetterEntryCZZ."VAT Base Amount" <> 0) or (TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)" <> 0) - then begin - PurchAdvLetterManagementCZZ.AdvEntryInit(false); - PurchAdvLetterManagementCZZ.AdvEntryInitVAT( - TempPurchAdvLetterEntryCZZ."VAT Bus. Posting Group", TempPurchAdvLetterEntryCZZ."VAT Prod. Posting Group", - LastClosedDate, LastClosedDate, 0, TempPurchAdvLetterEntryCZZ."VAT %", TempPurchAdvLetterEntryCZZ."VAT Identifier", TempPurchAdvLetterEntryCZZ."VAT Calculation Type", - -TempPurchAdvLetterEntryCZZ."VAT Amount", -TempPurchAdvLetterEntryCZZ."VAT Amount (LCY)", - -TempPurchAdvLetterEntryCZZ."VAT Base Amount", -TempPurchAdvLetterEntryCZZ."VAT Base Amount (LCY)"); - PurchAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Close", PurchAdvLetterHeaderCZZ."No.", LastClosedDate, - -TempPurchAdvLetterEntryCZZ.Amount, -TempPurchAdvLetterEntryCZZ."Amount (LCY)", - PurchAdvLetterHeaderCZZ."Currency Code", PurchAdvLetterHeaderCZZ."Currency Factor", PurchAdvanceLetterEntry1."Document No.", '', - PurchAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", PurchAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", PurchAdvLetterHeaderCZZ."Dimension Set ID", false); - end; - until TempPurchAdvLetterEntryCZZ.Next() = 0; - PurchAdvLetterManagementCZZ.CancelInitEntry(PurchAdvLetterHeaderCZZ, LastClosedDate, false); - end; - end; - end; - - local procedure UpdatePurchAdvanceApplication(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") - var - AdvanceLetterLineRelation: Record "Advance Letter Line Relation"; - AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; - PurchaseHeader: Record "Purchase Header"; - AmtToDeduct: Decimal; - Continue: Boolean; - begin - if PurchAdvLetterHeaderCZZ.Status = PurchAdvLetterHeaderCZZ.Status::Closed then - exit; - - AdvanceLetterLineRelation.SetRange(Type, AdvanceLetterLineRelation.Type::Purchase); - AdvanceLetterLineRelation.SetRange("Letter No.", PurchAdvLetterHeaderCZZ."No."); - if AdvanceLetterLineRelation.FindSet() then begin - repeat - case AdvanceLetterLineRelation."Document Type" of - AdvanceLetterLineRelation."Document Type"::Order: - Continue := PurchaseHeader.Get(PurchaseHeader."Document Type"::Order, AdvanceLetterLineRelation."Document No."); - AdvanceLetterLineRelation."Document Type"::Invoice: - Continue := PurchaseHeader.Get(PurchaseHeader."Document Type"::Invoice, AdvanceLetterLineRelation."Document No."); - else - Continue := false; - end; - if Continue then begin - AdvanceLetterApplicationCZZ.Init(); - AdvanceLetterApplicationCZZ."Advance Letter Type" := AdvanceLetterApplicationCZZ."Advance Letter Type"::Purchase; - AdvanceLetterApplicationCZZ."Advance Letter No." := AdvanceLetterLineRelation."Letter No."; - case AdvanceLetterLineRelation."Document Type" of - AdvanceLetterLineRelation."Document Type"::Invoice: - AdvanceLetterApplicationCZZ."Document Type" := AdvanceLetterApplicationCZZ."Document Type"::"Purchase Invoice"; - AdvanceLetterLineRelation."Document Type"::Order: - AdvanceLetterApplicationCZZ."Document Type" := AdvanceLetterApplicationCZZ."Document Type"::"Purchase Order"; - end; - AdvanceLetterApplicationCZZ."Document No." := AdvanceLetterLineRelation."Document No."; - if AdvanceLetterLineRelation."Primary Link" then - AmtToDeduct := AdvanceLetterLineRelation.Amount - else - AmtToDeduct := AdvanceLetterLineRelation."Amount To Deduct"; - - if AdvanceLetterApplicationCZZ.Find() then begin - AdvanceLetterApplicationCZZ.Amount += AmtToDeduct; - AdvanceLetterApplicationCZZ.Modify(); - end else begin - AdvanceLetterApplicationCZZ.Amount := AmtToDeduct; - AdvanceLetterApplicationCZZ.Insert(); - end; - end; - until AdvanceLetterLineRelation.Next() = 0; - - AdvanceLetterLineRelation.DeleteAll(); - end; - end; - - local procedure CopySalesAdvances() - var - SalesAdvanceLetterHeader: Record "Sales Advance Letter Header"; - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - SalesAdvanceLetterLine: Record "Sales Advance Letter Line"; - SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; - begin - if SalesAdvanceLetterHeader.FindSet() then - repeat - if not SalesAdvLetterHeaderCZZ.Get(SalesAdvanceLetterHeader."No.") then begin - SalesAdvLetterHeaderCZZ.Init(); - SalesAdvLetterHeaderCZZ."No." := SalesAdvanceLetterHeader."No."; - if SalesAdvanceLetterHeader."Template Code" <> '' then - SalesAdvLetterHeaderCZZ."Advance Letter Code" := 'P_' + SalesAdvanceLetterHeader."Template Code"; - SalesAdvLetterHeaderCZZ."Bill-to Customer No." := SalesAdvanceLetterHeader."Bill-to Customer No."; - SalesAdvLetterHeaderCZZ."Bill-to Name" := SalesAdvanceLetterHeader."Bill-to Name"; - SalesAdvLetterHeaderCZZ."Bill-to Name 2" := SalesAdvanceLetterHeader."Bill-to Name 2"; - SalesAdvLetterHeaderCZZ."Bill-to Address" := SalesAdvanceLetterHeader."Bill-to Address"; - SalesAdvLetterHeaderCZZ."Bill-to Address 2" := SalesAdvanceLetterHeader."Bill-to Address 2"; - SalesAdvLetterHeaderCZZ."Bill-to City" := SalesAdvanceLetterHeader."Bill-to City"; - SalesAdvLetterHeaderCZZ."Bill-to Post Code" := SalesAdvanceLetterHeader."Bill-to Post Code"; - SalesAdvLetterHeaderCZZ."Bill-to County" := SalesAdvanceLetterHeader."Bill-to County"; - SalesAdvLetterHeaderCZZ."Bill-to Country/Region Code" := SalesAdvanceLetterHeader."Bill-to Country/Region Code"; - SalesAdvLetterHeaderCZZ."Language Code" := SalesAdvanceLetterHeader."Language Code"; - SalesAdvLetterHeaderCZZ."Format Region" := SalesAdvanceLetterHeader."Format Region"; - SalesAdvLetterHeaderCZZ."Bill-to Contact" := SalesAdvanceLetterHeader."Bill-to Contact"; - SalesAdvLetterHeaderCZZ."Salesperson Code" := SalesAdvanceLetterHeader."Salesperson Code"; - SalesAdvLetterHeaderCZZ."Shortcut Dimension 1 Code" := SalesAdvanceLetterHeader."Shortcut Dimension 1 Code"; - SalesAdvLetterHeaderCZZ."Shortcut Dimension 2 Code" := SalesAdvanceLetterHeader."Shortcut Dimension 2 Code"; - SalesAdvLetterHeaderCZZ."VAT Bus. Posting Group" := SalesAdvanceLetterHeader."VAT Bus. Posting Group"; - SalesAdvLetterHeaderCZZ."Posting Date" := SalesAdvanceLetterHeader."Posting Date"; - SalesAdvLetterHeaderCZZ."Advance Due Date" := SalesAdvanceLetterHeader."Advance Due Date"; - SalesAdvLetterHeaderCZZ."Document Date" := SalesAdvanceLetterHeader."Document Date"; - SalesAdvLetterHeaderCZZ."VAT Date" := SalesAdvanceLetterHeader."VAT Date"; - SalesAdvLetterHeaderCZZ."Posting Description" := SalesAdvanceLetterHeader."Posting Description"; - SalesAdvLetterHeaderCZZ."Payment Method Code" := SalesAdvanceLetterHeader."Payment Method Code"; - SalesAdvLetterHeaderCZZ."Payment Terms Code" := SalesAdvanceLetterHeader."Payment Terms Code"; - SalesAdvLetterHeaderCZZ."Registration No." := SalesAdvanceLetterHeader."Registration No."; - SalesAdvLetterHeaderCZZ."Tax Registration No." := SalesAdvanceLetterHeader."Tax Registration No."; - SalesAdvLetterHeaderCZZ."VAT Registration No." := SalesAdvanceLetterHeader."VAT Registration No."; - SalesAdvLetterHeaderCZZ."No. Printed" := SalesAdvanceLetterHeader."No. Printed"; - SalesAdvLetterHeaderCZZ."Order No." := SalesAdvanceLetterHeader."Order No."; - SalesAdvLetterHeaderCZZ."No. Series" := SalesAdvanceLetterHeader."No. Series"; - SalesAdvLetterHeaderCZZ."Bank Account Code" := SalesAdvanceLetterHeader."Bank Account Code"; - SalesAdvLetterHeaderCZZ."Bank Account No." := SalesAdvanceLetterHeader."Bank Account No."; - SalesAdvLetterHeaderCZZ."Bank Branch No." := SalesAdvanceLetterHeader."Bank Branch No."; - SalesAdvLetterHeaderCZZ."Specific Symbol" := SalesAdvanceLetterHeader."Specific Symbol"; - SalesAdvLetterHeaderCZZ."Variable Symbol" := SalesAdvanceLetterHeader."Variable Symbol"; - SalesAdvLetterHeaderCZZ."Constant Symbol" := SalesAdvanceLetterHeader."Constant Symbol"; - SalesAdvLetterHeaderCZZ.IBAN := SalesAdvanceLetterHeader.IBAN; - SalesAdvLetterHeaderCZZ."SWIFT Code" := SalesAdvanceLetterHeader."SWIFT Code"; - SalesAdvLetterHeaderCZZ."Bank Name" := SalesAdvanceLetterHeader."Bank Name"; - SalesAdvLetterHeaderCZZ."Transit No." := SalesAdvanceLetterHeader."Transit No."; - SalesAdvLetterHeaderCZZ."Responsibility Center" := SalesAdvanceLetterHeader."Responsibility Center"; - SalesAdvLetterHeaderCZZ."Currency Code" := SalesAdvanceLetterHeader."Currency Code"; - SalesAdvLetterHeaderCZZ."Currency Factor" := SalesAdvanceLetterHeader."Currency Factor"; - SalesAdvLetterHeaderCZZ."VAT Country/Region Code" := SalesAdvanceLetterHeader."VAT Country/Region Code"; - SalesAdvanceLetterHeader.CalcFields(Status); - SalesAdvLetterHeaderCZZ.Status := GetStatus(SalesAdvanceLetterHeader.Status); - SalesAdvLetterHeaderCZZ."Automatic Post VAT Document" := true; - SalesAdvLetterHeaderCZZ."Dimension Set ID" := SalesAdvanceLetterHeader."Dimension Set ID"; - SalesAdvLetterHeaderCZZ."Incoming Document Entry No." := SalesAdvanceLetterHeader."Incoming Document Entry No."; - SalesAdvLetterHeaderCZZ.SystemId := SalesAdvanceLetterHeader.SystemId; - SalesAdvLetterHeaderCZZ.Insert(false, true); - - SalesAdvanceLetterLine.SetRange("Letter No.", SalesAdvanceLetterHeader."No."); - if SalesAdvanceLetterLine.FindSet() then - repeat - SalesAdvLetterLineCZZ.Init(); - SalesAdvLetterLineCZZ."Document No." := SalesAdvanceLetterLine."Letter No."; - SalesAdvLetterLineCZZ."Line No." := SalesAdvanceLetterLine."Line No."; - SalesAdvLetterLineCZZ.Description := SalesAdvanceLetterLine.Description; - SalesAdvLetterLineCZZ."VAT Bus. Posting Group" := SalesAdvanceLetterLine."VAT Bus. Posting Group"; - SalesAdvLetterLineCZZ."VAT Prod. Posting Group" := SalesAdvanceLetterLine."VAT Prod. Posting Group"; - SalesAdvLetterLineCZZ.Amount := SalesAdvanceLetterLine.Amount; - SalesAdvLetterLineCZZ."VAT Amount" := SalesAdvanceLetterLine."VAT Amount"; - SalesAdvLetterLineCZZ."Amount Including VAT" := SalesAdvanceLetterLine."Amount Including VAT"; - if (SalesAdvLetterHeaderCZZ."Currency Factor" = 0) or (SalesAdvLetterHeaderCZZ."Currency Code" = '') then begin - SalesAdvLetterLineCZZ."Amount (LCY)" := SalesAdvLetterLineCZZ.Amount; - SalesAdvLetterLineCZZ."VAT Amount (LCY)" := SalesAdvLetterLineCZZ."VAT Amount"; - SalesAdvLetterLineCZZ."Amount Including VAT (LCY)" := SalesAdvLetterLineCZZ."Amount Including VAT"; - end else begin - SalesAdvLetterLineCZZ."Amount Including VAT (LCY)" := Round(SalesAdvLetterLineCZZ."Amount Including VAT" / SalesAdvLetterHeaderCZZ."Currency Factor"); - SalesAdvLetterLineCZZ."VAT Amount (LCY)" := Round(SalesAdvLetterLineCZZ."VAT Amount" / SalesAdvLetterHeaderCZZ."Currency Factor"); - SalesAdvLetterLineCZZ."Amount (LCY)" := SalesAdvLetterLineCZZ."Amount Including VAT (LCY)" - SalesAdvLetterLineCZZ."VAT Amount (LCY)"; - end; - SalesAdvLetterLineCZZ."VAT %" := SalesAdvanceLetterLine."VAT %"; - SalesAdvLetterLineCZZ."VAT Calculation Type" := SalesAdvanceLetterLine."VAT Calculation Type"; - if VATPostingSetup.Get(SalesAdvLetterLineCZZ."VAT Bus. Posting Group", SalesAdvLetterLineCZZ."VAT Prod. Posting Group") then - SalesAdvLetterLineCZZ."VAT Clause Code" := VATPostingSetup."VAT Clause Code"; - SalesAdvLetterLineCZZ."VAT Calculation Type" := SalesAdvanceLetterLine."VAT Calculation Type"; - SalesAdvLetterLineCZZ."VAT Identifier" := SalesAdvanceLetterLine."VAT Identifier"; - SalesAdvLetterLineCZZ.SystemId := SalesAdvanceLetterLine.SystemId; - SalesAdvLetterLineCZZ.Insert(false, true); - until SalesAdvanceLetterLine.Next() = 0; - - UpdateSalesEntry(SalesAdvLetterHeaderCZZ); - UpdateSalesAdvanceApplication(SalesAdvLetterHeaderCZZ); - end; - until SalesAdvanceLetterHeader.Next() = 0; - end; - - local procedure UpdateSalesEntry(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") - var - AdvanceLink: Record "Advance Link"; - SalesAdvanceLetterEntry1: Record "Sales Advance Letter Entry"; - SalesAdvanceLetterEntry2: Record "Sales Advance Letter Entry"; - SalesAdvLetterEntryCZZ1: Record "Sales Adv. Letter Entry CZZ"; - SalesAdvLetterEntryCZZ2: Record "Sales Adv. Letter Entry CZZ"; - TempSalesAdvLetterEntryCZZ: Record "Sales Adv. Letter Entry CZZ" temporary; - CustLedgerEntry: Record "Cust. Ledger Entry"; - SalesAdvLetterManagementCZZ: Codeunit "SalesAdvLetterManagement CZZ"; - CurrFactor: Decimal; - LastClosedDate: Date; - begin - if SalesAdvLetterHeaderCZZ.Status.AsInteger() = SalesAdvLetterHeaderCZZ.Status::New.AsInteger() then - exit; - - SalesAdvLetterEntryCZZ1.LockTable(); - if SalesAdvLetterEntryCZZ1.FindLast() then; - - SalesAdvLetterHeaderCZZ.CalcFields("Amount Including VAT", "Amount Including VAT (LCY)"); - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"Initial Entry", SalesAdvLetterHeaderCZZ."No.", SalesAdvLetterHeaderCZZ."Posting Date", - SalesAdvLetterHeaderCZZ."Amount Including VAT", SalesAdvLetterHeaderCZZ."Amount Including VAT (LCY)", - SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."Currency Factor", SalesAdvLetterHeaderCZZ."No.", - SalesAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", SalesAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", SalesAdvLetterHeaderCZZ."Dimension Set ID", false); - - LastClosedDate := 0D; - AdvanceLink.Reset(); - AdvanceLink.SetRange(Type, AdvanceLink.Type::Sale); - AdvanceLink.SetRange("Document No.", SalesAdvLetterHeaderCZZ."No."); - AdvanceLink.SetRange("Entry Type", AdvanceLink."Entry Type"::"Link To Letter"); - if AdvanceLink.FindSet(true) then - repeat - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - SalesAdvLetterManagementCZZ.AdvEntryInitCustLedgEntryNo(AdvanceLink."CV Ledger Entry No."); - if not CustLedgerEntry.Get(AdvanceLink."CV Ledger Entry No.") then - CustLedgerEntry.Init(); - if LastClosedDate < CustLedgerEntry."Closed at Date" then - LastClosedDate := CustLedgerEntry."Closed at Date"; - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Payment, SalesAdvLetterHeaderCZZ."No.", CustLedgerEntry."Posting Date", - -AdvanceLink.Amount, -AdvanceLink."Amount (LCY)", - SalesAdvLetterHeaderCZZ."Currency Code", CustLedgerEntry."Original Currency Factor", CustLedgerEntry."Document No.", - CustLedgerEntry."Global Dimension 1 Code", CustLedgerEntry."Global Dimension 2 Code", CustLedgerEntry."Dimension Set ID", false); - - SalesAdvLetterEntryCZZ1.FindLast(); - - SalesAdvanceLetterEntry1.Reset(); - SalesAdvanceLetterEntry1.SetRange("Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvanceLetterEntry1.SetRange("Letter Line No.", AdvanceLink."Line No."); - SalesAdvanceLetterEntry1.SetRange("Customer Entry No.", AdvanceLink."CV Ledger Entry No."); - SalesAdvanceLetterEntry1.SetRange("Entry Type", SalesAdvanceLetterEntry1."Entry Type"::VAT); - if SalesAdvanceLetterEntry1.FindSet() then - repeat - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - if SalesAdvanceLetterEntry1.Cancelled then - SalesAdvLetterManagementCZZ.AdvEntryInitCancel(); - SalesAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(SalesAdvLetterEntryCZZ1."Entry No."); - SalesAdvLetterManagementCZZ.AdvEntryInitVAT(SalesAdvanceLetterEntry1."VAT Bus. Posting Group", SalesAdvanceLetterEntry1."VAT Prod. Posting Group", SalesAdvanceLetterEntry1."VAT Date", - SalesAdvanceLetterEntry1."VAT Entry No.", SalesAdvanceLetterEntry1."VAT %", SalesAdvanceLetterEntry1."VAT Identifier", "TAX Calculation Type"::"Normal VAT", - SalesAdvanceLetterEntry1."VAT Amount", SalesAdvanceLetterEntry1."VAT Amount (LCY)", SalesAdvanceLetterEntry1."VAT Base Amount", SalesAdvanceLetterEntry1."VAT Base Amount (LCY)"); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Payment", SalesAdvLetterHeaderCZZ."No.", SalesAdvanceLetterEntry1."Posting Date", - SalesAdvanceLetterEntry1."VAT Base Amount" + SalesAdvanceLetterEntry1."VAT Amount", SalesAdvanceLetterEntry1."VAT Base Amount (LCY)" + SalesAdvanceLetterEntry1."VAT Amount (LCY)", - SalesAdvLetterEntryCZZ1."Currency Code", SalesAdvLetterEntryCZZ1."Currency Factor", SalesAdvanceLetterEntry1."Document No.", - SalesAdvLetterEntryCZZ1."Global Dimension 1 Code", SalesAdvLetterEntryCZZ1."Global Dimension 2 Code", SalesAdvLetterEntryCZZ1."Dimension Set ID", false); - until SalesAdvanceLetterEntry1.Next() = 0; - - SalesAdvanceLetterEntry1.SetRange("Entry Type", SalesAdvanceLetterEntry1."Entry Type"::Deduction); - if SalesAdvanceLetterEntry1.FindSet() then - repeat - if not CustLedgerEntry.Get(SalesAdvanceLetterEntry1."Customer Entry No.") then - CustLedgerEntry.Init(); - CurrFactor := CustLedgerEntry."Original Currency Factor"; - if CurrFactor = 0 then - CurrFactor := 1; - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - if SalesAdvanceLetterEntry1.Cancelled then - SalesAdvLetterManagementCZZ.AdvEntryInitCancel(); - SalesAdvLetterManagementCZZ.AdvEntryInitCustLedgEntryNo(SalesAdvanceLetterEntry1."Customer Entry No."); - SalesAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(SalesAdvLetterEntryCZZ1."Entry No."); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Usage, SalesAdvLetterHeaderCZZ."No.", SalesAdvanceLetterEntry1."Posting Date", - SalesAdvanceLetterEntry1.Amount, Round(SalesAdvanceLetterEntry1.Amount / CurrFactor), - SalesAdvanceLetterEntry1."Currency Code", CustLedgerEntry."Original Currency Factor", SalesAdvanceLetterEntry1."Document No.", - CustLedgerEntry."Global Dimension 1 Code", CustLedgerEntry."Global Dimension 2 Code", CustLedgerEntry."Dimension Set ID", false); - - SalesAdvLetterEntryCZZ2.FindLast(); - - SalesAdvanceLetterEntry2.Reset(); - SalesAdvanceLetterEntry2.SetRange("Letter No.", SalesAdvanceLetterEntry1."Letter No."); - SalesAdvanceLetterEntry2.SetRange("Letter Line No.", SalesAdvanceLetterEntry1."Letter Line No."); - SalesAdvanceLetterEntry2.SetRange("Entry Type", SalesAdvanceLetterEntry2."Entry Type"::"VAT Deduction"); - SalesAdvanceLetterEntry2.SetRange("Document Type", SalesAdvanceLetterEntry1."Document Type"); - SalesAdvanceLetterEntry2.SetRange("Document No.", SalesAdvanceLetterEntry1."Document No."); - SalesAdvanceLetterEntry2.SetRange("Sale Line No.", SalesAdvanceLetterEntry1."Sale Line No."); - SalesAdvanceLetterEntry2.SetRange("Deduction Line No.", SalesAdvanceLetterEntry1."Deduction Line No."); - SalesAdvanceLetterEntry2.SetRange("Customer Entry No.", SalesAdvanceLetterEntry1."Customer Entry No."); - if SalesAdvanceLetterEntry2.FindSet() then - repeat - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - if SalesAdvanceLetterEntry2.Cancelled then - SalesAdvLetterManagementCZZ.AdvEntryInitCancel(); - SalesAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(SalesAdvLetterEntryCZZ2."Entry No."); - SalesAdvLetterManagementCZZ.AdvEntryInitVAT(SalesAdvanceLetterEntry2."VAT Bus. Posting Group", SalesAdvanceLetterEntry2."VAT Prod. Posting Group", SalesAdvanceLetterEntry2."VAT Date", - SalesAdvanceLetterEntry2."VAT Entry No.", SalesAdvanceLetterEntry2."VAT %", SalesAdvanceLetterEntry2."VAT Identifier", "TAX Calculation Type"::"Normal VAT", - SalesAdvanceLetterEntry2."VAT Amount", SalesAdvanceLetterEntry2."VAT Amount (LCY)", SalesAdvanceLetterEntry2."VAT Base Amount", SalesAdvanceLetterEntry2."VAT Base Amount (LCY)"); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Usage", SalesAdvLetterHeaderCZZ."No.", SalesAdvanceLetterEntry2."Posting Date", - SalesAdvanceLetterEntry2."VAT Base Amount" + SalesAdvanceLetterEntry2."VAT Amount", SalesAdvanceLetterEntry2."VAT Base Amount (LCY)" + SalesAdvanceLetterEntry2."VAT Amount (LCY)", - SalesAdvanceLetterEntry2."Currency Code", CustLedgerEntry."Original Currency Factor", SalesAdvanceLetterEntry2."Document No.", - CustLedgerEntry."Global Dimension 1 Code", CustLedgerEntry."Global Dimension 2 Code", CustLedgerEntry."Dimension Set ID", false); - until SalesAdvanceLetterEntry2.Next() = 0; - - SalesAdvanceLetterEntry2.SetRange("Entry Type", SalesAdvanceLetterEntry2."Entry Type"::"VAT Rate"); - if SalesAdvanceLetterEntry2.FindSet() then - repeat - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - if SalesAdvanceLetterEntry2.Cancelled then - SalesAdvLetterManagementCZZ.AdvEntryInitCancel(); - SalesAdvLetterManagementCZZ.AdvEntryInitRelatedEntry(SalesAdvLetterEntryCZZ2."Entry No."); - SalesAdvLetterManagementCZZ.AdvEntryInitVAT(SalesAdvanceLetterEntry2."VAT Bus. Posting Group", SalesAdvanceLetterEntry2."VAT Prod. Posting Group", SalesAdvanceLetterEntry2."VAT Date", - 0, SalesAdvanceLetterEntry2."VAT %", SalesAdvanceLetterEntry2."VAT Identifier", "TAX Calculation Type"::"Normal VAT", - 0, SalesAdvanceLetterEntry2."VAT Amount (LCY)", 0, SalesAdvanceLetterEntry2."VAT Base Amount (LCY)"); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Rate", SalesAdvLetterHeaderCZZ."No.", SalesAdvanceLetterEntry2."Posting Date", - 0, SalesAdvanceLetterEntry2."VAT Base Amount (LCY)" + SalesAdvanceLetterEntry2."VAT Amount (LCY)", '', 0, SalesAdvanceLetterEntry2."Document No.", - CustLedgerEntry."Global Dimension 1 Code", CustLedgerEntry."Global Dimension 2 Code", CustLedgerEntry."Dimension Set ID", false); - until SalesAdvanceLetterEntry2.Next() = 0; - until SalesAdvanceLetterEntry1.Next() = 0; - - AdvanceLink.Amount := 0; - AdvanceLink."Amount (LCY)" := 0; - AdvanceLink.Modify(false); - until AdvanceLink.Next() = 0; - - if SalesAdvLetterHeaderCZZ.Status = SalesAdvLetterHeaderCZZ.Status::Closed then begin - if LastClosedDate = 0D then - LastClosedDate := SalesAdvLetterHeaderCZZ."Posting Date"; - SalesAdvLetterHeaderCZZ.CalcFields("To Use", "To Use (LCY)"); - if (SalesAdvLetterHeaderCZZ."To Use" <> 0) or (SalesAdvLetterHeaderCZZ."To Use (LCY)" <> 0) then begin - SalesAdvanceLetterEntry1.Reset(); - SalesAdvanceLetterEntry1.SetRange("Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvanceLetterEntry1.SetRange("Entry Type", SalesAdvanceLetterEntry1."Entry Type"::VAT); - SalesAdvanceLetterEntry1.SetRange("Document Type", SalesAdvanceLetterEntry1."Document Type"::"Credit Memo"); - if not SalesAdvanceLetterEntry1.FindLast() then - SalesAdvanceLetterEntry1."Document No." := SalesAdvLetterHeaderCZZ."No."; - - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::Close, SalesAdvLetterHeaderCZZ."No.", LastClosedDate, - SalesAdvLetterHeaderCZZ."To Use", SalesAdvLetterHeaderCZZ."To Use (LCY)", - SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."Currency Factor", SalesAdvanceLetterEntry1."Document No.", - SalesAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", SalesAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", SalesAdvLetterHeaderCZZ."Dimension Set ID", false); - - SalesAdvLetterEntryCZZ1.Reset(); - SalesAdvLetterEntryCZZ1.SetRange("Sales Adv. Letter No.", SalesAdvLetterHeaderCZZ."No."); - SalesAdvLetterEntryCZZ1.SetFilter("Entry Type", '%1|%2|%3', - SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Payment", - SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Usage", - SalesAdvLetterEntryCZZ1."Entry Type"::"VAT Rate"); - if SalesAdvLetterEntryCZZ1.FindSet() then - repeat - TempSalesAdvLetterEntryCZZ.SetRange("VAT Bus. Posting Group", SalesAdvLetterEntryCZZ1."VAT Bus. Posting Group"); - TempSalesAdvLetterEntryCZZ.SetRange("VAT Prod. Posting Group", SalesAdvLetterEntryCZZ1."VAT Prod. Posting Group"); - if not TempSalesAdvLetterEntryCZZ.FindFirst() then begin - TempSalesAdvLetterEntryCZZ.Init(); - TempSalesAdvLetterEntryCZZ := SalesAdvLetterEntryCZZ1; - TempSalesAdvLetterEntryCZZ.Insert(); - end else begin - TempSalesAdvLetterEntryCZZ.Amount += SalesAdvLetterEntryCZZ1.Amount; - TempSalesAdvLetterEntryCZZ."Amount (LCY)" += SalesAdvLetterEntryCZZ1."Amount (LCY)"; - TempSalesAdvLetterEntryCZZ."VAT Amount" += SalesAdvLetterEntryCZZ1."VAT Amount"; - TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)" += SalesAdvLetterEntryCZZ1."VAT Amount (LCY)"; - TempSalesAdvLetterEntryCZZ."VAT Base Amount" += SalesAdvLetterEntryCZZ1."VAT Base Amount"; - TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)" += SalesAdvLetterEntryCZZ1."VAT Base Amount (LCY)"; - TempSalesAdvLetterEntryCZZ.Modify(); - end; - until SalesAdvLetterEntryCZZ1.Next() = 0; - - TempSalesAdvLetterEntryCZZ.Reset(); - if TempSalesAdvLetterEntryCZZ.FindSet() then - repeat - if (TempSalesAdvLetterEntryCZZ.Amount <> 0) or (TempSalesAdvLetterEntryCZZ."Amount (LCY)" <> 0) or - (TempSalesAdvLetterEntryCZZ."VAT Amount" <> 0) or (TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)" <> 0) or - (TempSalesAdvLetterEntryCZZ."VAT Base Amount" <> 0) or (TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)" <> 0) - then begin - SalesAdvLetterManagementCZZ.AdvEntryInit(false); - SalesAdvLetterManagementCZZ.AdvEntryInitVAT( - TempSalesAdvLetterEntryCZZ."VAT Bus. Posting Group", TempSalesAdvLetterEntryCZZ."VAT Prod. Posting Group", - LastClosedDate, 0, TempSalesAdvLetterEntryCZZ."VAT %", TempSalesAdvLetterEntryCZZ."VAT Identifier", TempSalesAdvLetterEntryCZZ."VAT Calculation Type", - -TempSalesAdvLetterEntryCZZ."VAT Amount", -TempSalesAdvLetterEntryCZZ."VAT Amount (LCY)", - -TempSalesAdvLetterEntryCZZ."VAT Base Amount", -TempSalesAdvLetterEntryCZZ."VAT Base Amount (LCY)"); - SalesAdvLetterManagementCZZ.AdvEntryInsert("Advance Letter Entry Type CZZ"::"VAT Close", SalesAdvLetterHeaderCZZ."No.", LastClosedDate, - -TempSalesAdvLetterEntryCZZ.Amount, -TempSalesAdvLetterEntryCZZ."Amount (LCY)", - SalesAdvLetterHeaderCZZ."Currency Code", SalesAdvLetterHeaderCZZ."Currency Factor", SalesAdvanceLetterEntry1."Document No.", - SalesAdvLetterHeaderCZZ."Shortcut Dimension 1 Code", SalesAdvLetterHeaderCZZ."Shortcut Dimension 2 Code", SalesAdvLetterHeaderCZZ."Dimension Set ID", false); - end; - until TempSalesAdvLetterEntryCZZ.Next() = 0; - SalesAdvLetterManagementCZZ.CancelInitEntry(SalesAdvLetterHeaderCZZ, LastClosedDate, false); - end; - end; - end; - - local procedure UpdateSalesAdvanceApplication(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") - var - AdvanceLetterLineRelation: Record "Advance Letter Line Relation"; - AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; - SalesHeader: Record "Sales Header"; - AmtToDeduct: Decimal; - Continue: Boolean; - begin - if SalesAdvLetterHeaderCZZ.Status = SalesAdvLetterHeaderCZZ.Status::Closed then - exit; - - AdvanceLetterLineRelation.SetRange(Type, AdvanceLetterLineRelation.Type::Sale); - AdvanceLetterLineRelation.SetRange("Letter No.", SalesAdvLetterHeaderCZZ."No."); - if AdvanceLetterLineRelation.FindSet() then begin - repeat - case AdvanceLetterLineRelation."Document Type" of - AdvanceLetterLineRelation."Document Type"::Order: - Continue := SalesHeader.Get(SalesHeader."Document Type"::Order, AdvanceLetterLineRelation."Document No."); - AdvanceLetterLineRelation."Document Type"::Invoice: - Continue := SalesHeader.Get(SalesHeader."Document Type"::Invoice, AdvanceLetterLineRelation."Document No."); - else - Continue := false; - end; - if Continue then begin - AdvanceLetterApplicationCZZ.Init(); - AdvanceLetterApplicationCZZ."Advance Letter Type" := AdvanceLetterApplicationCZZ."Advance Letter Type"::Sales; - AdvanceLetterApplicationCZZ."Advance Letter No." := AdvanceLetterLineRelation."Letter No."; - case AdvanceLetterLineRelation."Document Type" of - AdvanceLetterLineRelation."Document Type"::Invoice: - AdvanceLetterApplicationCZZ."Document Type" := AdvanceLetterApplicationCZZ."Document Type"::"Sales Invoice"; - AdvanceLetterLineRelation."Document Type"::Order: - AdvanceLetterApplicationCZZ."Document Type" := AdvanceLetterApplicationCZZ."Document Type"::"Sales Order"; - end; - AdvanceLetterApplicationCZZ."Document No." := AdvanceLetterLineRelation."Document No."; - if AdvanceLetterLineRelation."Primary Link" then - AmtToDeduct := AdvanceLetterLineRelation.Amount - else - AmtToDeduct := AdvanceLetterLineRelation."Amount To Deduct"; - - if AdvanceLetterApplicationCZZ.Find() then begin - AdvanceLetterApplicationCZZ.Amount += AmtToDeduct; - AdvanceLetterApplicationCZZ.Modify(); - end else begin - AdvanceLetterApplicationCZZ.Amount := AmtToDeduct; - AdvanceLetterApplicationCZZ.Insert(); - end; - end; - until AdvanceLetterLineRelation.Next() = 0; - - AdvanceLetterLineRelation.DeleteAll(); - end; - end; - - local procedure CopyVATPostingSetup() - var - RecModify: Boolean; - begin - VATPostingSetup.SetLoadFields("Sales Adv. Letter Account CZZ", "Sales Advance Offset VAT Acc.", "Sales Advance VAT Account", "Purch. Advance Offset VAT Acc.", "Purch. Advance VAT Account"); - if VATPostingSetup.FindSet() then - repeat - RecModify := false; - if VATPostingSetup."Sales Adv. Letter Account CZZ" = '' then begin - VATPostingSetup."Sales Adv. Letter Account CZZ" := VATPostingSetup."Sales Advance Offset VAT Acc."; - RecModify := true; - end; - if VATPostingSetup."Sales Adv. Letter VAT Acc. CZZ" = '' then begin - VATPostingSetup."Sales Adv. Letter VAT Acc. CZZ" := VATPostingSetup."Sales Advance VAT Account"; - RecModify := true; - end; - if VATPostingSetup."Purch. Adv. Letter Account CZZ" = '' then begin - VATPostingSetup."Purch. Adv. Letter Account CZZ" := VATPostingSetup."Purch. Advance Offset VAT Acc."; - RecModify := true; - end; - if VATPostingSetup."Purch. Adv.Letter VAT Acc. CZZ" = '' then begin - VATPostingSetup."Purch. Adv.Letter VAT Acc. CZZ" := VATPostingSetup."Purch. Advance VAT Account"; - RecModify := true; - end; - if RecModify then - VATPostingSetup.Modify(); - until VATPostingSetup.Next() = 0; - end; - - local procedure GetStatus(OldStatus: Option Open,"Pending Payment","Pending Invoice","Pending Final Invoice",Closed,"Pending Approval"): Enum "Advance Letter Doc. Status CZZ" - begin - case OldStatus of - OldStatus::Open: - exit("Advance Letter Doc. Status CZZ"::New); - OldStatus::"Pending Payment", OldStatus::"Pending Approval": - exit("Advance Letter Doc. Status CZZ"::"To Pay"); - OldStatus::"Pending Invoice", OldStatus::"Pending Final Invoice": - exit("Advance Letter Doc. Status CZZ"::"To Use"); - OldStatus::Closed: - exit("Advance Letter Doc. Status CZZ"::Closed); - end; - end; - - local procedure CopyVATEntries() - var - VATEntry: Record "VAT Entry"; - VATEntry2: Record "VAT Entry"; - begin - VATEntry.SetRange("Prepayment Type", VATEntry."Prepayment Type"::Advance); - VATEntry.SetFilter("Advance Base", '<>0'); - if VATEntry.FindSet() then - repeat - VATEntry2 := VATEntry; - VATEntry2.Base := VATEntry2."Advance Base"; - VATEntry2."Advance Base" := 0; - VATEntry2."Advance Letter No. CZZ" := VATEntry2."Advance Letter No."; - VATEntry2.Modify(); - until VATEntry.Next() = 0; - end; - local procedure CopyCustomerLedgerEntries() var CustLedgerEntry: Record "Cust. Ledger Entry"; - SalesAdvanceLetterEntry: Record "Sales Advance Letter Entry"; - SalesAdvanceLetterHeader: Record "Sales Advance Letter Header"; - AdvanceLink: Record "Advance Link"; AppliedCustLedgerEntry: Record "Cust. Ledger Entry"; begin CustLedgerEntry.SetLoadFields("Entry No.", "Advance Letter No. CZZ", "Adv. Letter Template Code CZZ", "Closed by Entry No."); CustLedgerEntry.SetRange(Prepayment, true); - CustLedgerEntry.SetRange("Prepayment Type", CustLedgerEntry."Prepayment Type"::Advance); if CustLedgerEntry.FindSet(true) then repeat - SalesAdvanceLetterEntry.SetLoadFields("Letter No.", "Template Name"); - SalesAdvanceLetterEntry.SetRange("Customer Entry No.", CustLedgerEntry."Entry No."); - if SalesAdvanceLetterEntry.FindFirst() then begin - CustLedgerEntry.Validate("Advance Letter No. CZZ", SalesAdvanceLetterEntry."Letter No."); - CustLedgerEntry."Adv. Letter Template Code CZZ" := 'P_' + SalesAdvanceLetterEntry."Template Name"; - end else begin - AdvanceLink.SetLoadFields("Document No."); - AdvanceLink.SetRange("CV Ledger Entry No.", CustLedgerEntry."Entry No."); - AdvanceLink.SetRange(Type, AdvanceLink.Type::Sale); - AdvanceLink.SetRange("Entry Type", AdvanceLink."Entry Type"::"Link To Letter"); - if AdvanceLink.FindFirst() and (AdvanceLink.Count() = 1) then begin - SalesAdvanceLetterHeader.Get(AdvanceLink."Document No."); - CustLedgerEntry.Validate("Advance Letter No. CZZ", SalesAdvanceLetterHeader."No."); - CustLedgerEntry."Adv. Letter Template Code CZZ" := 'P_' + SalesAdvanceLetterHeader."Template Code"; - end; - end; - CustLedgerEntry.Modify(); - if CustLedgerEntry."Advance Letter No. CZZ" <> '' then begin if CustLedgerEntry."Closed by Entry No." <> 0 then if AppliedCustLedgerEntry.Get(CustLedgerEntry."Closed by Entry No.") then @@ -1021,32 +117,12 @@ codeunit 31087 "Install Application CZZ" local procedure CopyVendorLedgerEntries() var VendorLedgerEntry: Record "Vendor Ledger Entry"; - PurchAdvanceLetterEntry: Record "Purch. Advance Letter Entry"; - PurchAdvanceLetterHeader: Record "Purch. Advance Letter Header"; - AdvanceLink: Record "Advance Link"; AppliedVendorLedgerEntry: Record "Vendor Ledger Entry"; begin VendorLedgerEntry.SetLoadFields("Entry No.", "Advance Letter No. CZZ", "Adv. Letter Template Code CZZ", "Closed by Entry No."); VendorLedgerEntry.SetRange(Prepayment, true); - VendorLedgerEntry.SetRange("Prepayment Type", VendorLedgerEntry."Prepayment Type"::Advance); if VendorLedgerEntry.FindSet(true) then repeat - PurchAdvanceLetterEntry.SetRange("Vendor Entry No.", VendorLedgerEntry."Entry No."); - if PurchAdvanceLetterEntry.FindFirst() then begin - VendorLedgerEntry.Validate("Advance Letter No. CZZ", PurchAdvanceLetterEntry."Letter No."); - VendorLedgerEntry."Adv. Letter Template Code CZZ" := 'N_' + PurchAdvanceLetterEntry."Template Name"; - end else begin - AdvanceLink.SetRange("CV Ledger Entry No.", VendorLedgerEntry."Entry No."); - AdvanceLink.SetRange(Type, AdvanceLink.Type::Purchase); - AdvanceLink.SetRange("Entry Type", AdvanceLink."Entry Type"::"Link To Letter"); - if AdvanceLink.FindFirst() and (AdvanceLink.Count() = 1) then begin - PurchAdvanceLetterHeader.Get(AdvanceLink."Document No."); - VendorLedgerEntry.Validate("Advance Letter No. CZZ", PurchAdvanceLetterHeader."No."); - VendorLedgerEntry."Adv. Letter Template Code CZZ" := 'N_' + PurchAdvanceLetterHeader."Template Code"; - end; - end; - VendorLedgerEntry.Modify(); - if VendorLedgerEntry."Advance Letter No. CZZ" <> '' then begin if VendorLedgerEntry."Closed by Entry No." <> 0 then if AppliedVendorLedgerEntry.Get(VendorLedgerEntry."Closed by Entry No.") then @@ -1069,68 +145,6 @@ codeunit 31087 "Install Application CZZ" until VendorLedgerEntry.Next() = 0; end; - local procedure CopyGenJournalLines() - var - GenJournalLine: Record "Gen. Journal Line"; - GenJournalLine2: Record "Gen. Journal Line"; - begin - GenJournalLine.SetFilter("Advance Letter Link Code", '<>%1', ''); - if GenJournalLine.FindSet() then - repeat - GenJournalLine2 := GenJournalLine; - GenJournalLine2.Validate("Advance Letter Link Code", ''); - GenJournalLine2.Validate(Prepayment, false); - GenJournalLine2.Validate("Prepayment Type", GenJournalLine2."Prepayment Type"::" "); - GenJournalLine2.Modify(); - until GenJournalLine.Next() = 0; - end; - - local procedure CopyCashDocumentLinesCZP() - var - CashDocumentLineCZP: Record "Cash Document Line CZP"; - CashDocumentLineCZP2: Record "Cash Document Line CZP"; - begin - CashDocumentLineCZP.SetFilter("Advance Letter Link Code", '<>%1', ''); - if CashDocumentLineCZP.FindSet() then - repeat - CashDocumentLineCZP2 := CashDocumentLineCZP; - CashDocumentLineCZP2.Validate("Advance Letter Link Code", ''); - CashDocumentLineCZP2.Modify(); - until CashDocumentLineCZP.Next() = 0; - end; - - local procedure CopyPaymentOrderLinesCZB() - var - PaymentOrderLine: Record "Payment Order Line"; - PaymentOrderLineCZB: Record "Payment Order Line CZB"; - begin - PaymentOrderLine.SetLoadFields("No.", "Line No.", "Letter No."); - PaymentOrderLine.SetFilter("Letter No.", '<>%1', ''); - if PaymentOrderLine.FindSet() then - repeat - if PaymentOrderLineCZB.Get(PaymentOrderLine."Payment Order No.", PaymentOrderLine."Line No.") then begin - PaymentOrderLineCZB."Purch. Advance Letter No. CZZ" := PaymentOrderLine."Letter No."; - PaymentOrderLineCZB.Modify(false); - end; - until PaymentOrderLine.Next() = 0; - end; - - local procedure CopyIssPaymentOrderLinesCZB() - var - IssuedPaymentOrderLine: Record "Issued Payment Order Line"; - IssPaymentOrderLineCZB: Record "Iss. Payment Order Line CZB"; - begin - IssuedPaymentOrderLine.SetLoadFields("No.", "Line No.", "Letter No."); - IssuedPaymentOrderLine.SetFilter("Letter No.", '<>%1', ''); - if IssuedPaymentOrderLine.FindSet() then - repeat - if IssPaymentOrderLineCZB.Get(IssuedPaymentOrderLine."Payment Order No.", IssuedPaymentOrderLine."Line No.") then begin - IssPaymentOrderLineCZB."Purch. Advance Letter No. CZZ" := IssuedPaymentOrderLine."Letter No."; - IssPaymentOrderLineCZB.Modify(false); - end; - until IssuedPaymentOrderLine.Next() = 0; - end; - local procedure ModifyReportSelections() var ReportSelections: Record "Report Selections"; @@ -1153,18 +167,6 @@ codeunit 31087 "Install Application CZZ" until ReportSelections.Next() = 0; end; - local procedure CopyCashFlowSetup() - var - CashFlowSetup: Record "Cash Flow Setup"; - begin - CashFlowSetup.SetLoadFields("S. Adv. Letter CF Account No.", "P. Adv. Letter CF Account No."); - if CashFlowSetup.Get() then begin - CashFlowSetup."S. Adv. Letter CF Acc. No. CZZ" := CashFlowSetup."S. Adv. Letter CF Account No."; - CashFlowSetup."P. Adv. Letter CF Acc. No. CZZ" := CashFlowSetup."P. Adv. Letter CF Account No."; - CashFlowSetup.Modify(false); - end; - end; - local procedure CopyAccScheduleExtension() var AccScheduleExtensionCZL: Record "Acc. Schedule Extension CZL"; @@ -1184,7 +186,6 @@ codeunit 31087 "Install Application CZZ" if IncomingDocument.FindSet(true) then repeat PrevIncomingDocument := IncomingDocument; - IncomingDocument."Related Record ID" := GetRelatedRecordId(IncomingDocument); IncomingDocument."Document Type" := GetDocumentType(IncomingDocument); if (IncomingDocument."Related Record ID" <> PrevIncomingDocument."Related Record ID") or (IncomingDocument."Document Type" <> PrevIncomingDocument."Document Type") @@ -1193,42 +194,6 @@ codeunit 31087 "Install Application CZZ" until IncomingDocument.Next() = 0; end; - local procedure GetRelatedRecordId(IncomingDocument: Record "Incoming Document"): RecordId - var - PurchAdvanceLetterHeader: Record "Purch. Advance Letter Header"; - PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; - SalesAdvanceLetterHeader: Record "Sales Advance Letter Header"; - SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; - DataTypeManagement: Codeunit "Data Type Management"; - RelatedRecordRef, NewRelatedRecordRef : RecordRef; - RelatedRecordVariant: Variant; - begin - if not IncomingDocument.GetRecord(RelatedRecordVariant) then - exit(IncomingDocument."Related Record ID"); - - DataTypeManagement.GetRecordRef(RelatedRecordVariant, RelatedRecordRef); - case RelatedRecordRef.Number of - Database::"Purch. Advance Letter Header": - begin - RelatedRecordRef.SetTable(PurchAdvanceLetterHeader); - if PurchAdvLetterHeaderCZZ.Get(PurchAdvanceLetterHeader."No.") then begin - NewRelatedRecordRef.GetTable(PurchAdvLetterHeaderCZZ); - exit(NewRelatedRecordRef.RecordId); - end; - end; - Database::"Sales Advance Letter Header": - begin - RelatedRecordRef.SetTable(SalesAdvanceLetterHeader); - if SalesAdvLetterHeaderCZZ.Get(SalesAdvanceLetterHeader."No.") then begin - NewRelatedRecordRef.GetTable(SalesAdvLetterHeaderCZZ); - exit(NewRelatedRecordRef.RecordId); - end; - end; - else - exit(IncomingDocument."Related Record ID"); - end; - end; - local procedure GetDocumentType(IncomingDocument: Record "Incoming Document"): Enum "Incoming Related Document Type" begin case IncomingDocument."Document Type" of diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterCZZ.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterCZZ.Page.al index 62a2b2099d..856f8a63f5 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterCZZ.Page.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLetterCZZ.Page.al @@ -635,6 +635,22 @@ page 31181 "Purch. Advance Letter CZZ" PurchAdvLetterManagement.CloseAdvanceLetter(Rec); end; } + action(CopyDocument) + { + ApplicationArea = Suite; + Caption = 'Copy Document'; + Ellipsis = true; + Enabled = Rec."No." <> ''; + Image = CopyDocument; + ToolTip = 'Copy document lines and header information from another purchase advance letter to this document. You can copy a purchase advance letter into a new purchase advance letter to quickly create a similar document.'; + + trigger OnAction() + begin + Rec.CopyDocument(); + if Rec.Get(Rec."No.") then; + CurrPage.Update(); + end; + } } group("Request Approval") { diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLettersCZZ.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLettersCZZ.Page.al index a879b17e9a..06b96ed175 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLettersCZZ.Page.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/PurchAdvanceLettersCZZ.Page.al @@ -111,12 +111,17 @@ page 31180 "Purch. Advance Letters CZZ" ToolTip = 'Specifies to pay amount.'; Visible = false; } +#if not CLEAN26 field("To Pay (LCY)"; Rec."To Pay (LCY)") { ApplicationArea = Basic, Suite; ToolTip = 'Specifies to pay (LCY) amount.'; Visible = false; + ObsoleteTag = '26.0'; + ObsoleteReason = 'This field is obsolete and will be removed in a future release.'; + ObsoleteState = Pending; } +#endif field("To Use"; Rec."To Use") { ApplicationArea = Basic, Suite; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterCZZ.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterCZZ.Page.al index 402a374711..2496bd44c4 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterCZZ.Page.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterCZZ.Page.al @@ -603,6 +603,22 @@ page 31171 "Sales Advance Letter CZZ" SalesAdvLetterManagement.CloseAdvanceLetter(Rec); end; } + action(CopyDocument) + { + ApplicationArea = Suite; + Caption = 'Copy Document'; + Ellipsis = true; + Enabled = Rec."No." <> ''; + Image = CopyDocument; + ToolTip = 'Copy document lines and header information from another sales advance letter to this document. You can copy a sales advance letter into a new sales advance letter to quickly create a similar document.'; + + trigger OnAction() + begin + Rec.CopyDocument(); + if Rec.Get(Rec."No.") then; + CurrPage.Update(); + end; + } } group("Request Approval") { diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLineCZZ.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLineCZZ.Page.al index 4131b6a2f4..1172fe54b9 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLineCZZ.Page.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLetterLineCZZ.Page.al @@ -67,7 +67,7 @@ page 31172 "Sales Advance Letter Line CZZ" field("Amount Including VAT"; Rec."Amount Including VAT") { ApplicationArea = Basic, Suite; - ToolTip = 'Specifie amount including VAT.'; + ToolTip = 'Specifies amount including VAT.'; BlankZero = true; trigger OnValidate() diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLettersCZZ.Page.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLettersCZZ.Page.al index 728a0337e7..7692355b3c 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLettersCZZ.Page.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Pages/SalesAdvanceLettersCZZ.Page.al @@ -105,12 +105,6 @@ page 31170 "Sales Advance Letters CZZ" ToolTip = 'Specifies to pay amount.'; Visible = false; } - field("To Pay (LCY)"; Rec."To Pay (LCY)") - { - ApplicationArea = Basic, Suite; - ToolTip = 'Specifies to pay (LCY) amount.'; - Visible = false; - } field("To Use"; Rec."To Use") { ApplicationArea = Basic, Suite; diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CopyAdvLetterDocumentCZZ.Report.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CopyAdvLetterDocumentCZZ.Report.al new file mode 100644 index 0000000000..69532ca023 --- /dev/null +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CopyAdvLetterDocumentCZZ.Report.al @@ -0,0 +1,205 @@ +// ------------------------------------------------------------------------------------------------ +// 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.AdvancePayments; + +report 31040 "Copy Adv. Letter Document CZZ" +{ + Caption = 'Copy Advance Letter Document'; + ProcessingOnly = true; + + requestpage + { + SaveValues = true; + + layout + { + area(content) + { + group(Options) + { + Caption = 'Options'; + + field(DocumentNo; FromDocNo) + { + ApplicationArea = Suite; + Caption = 'Document No.'; + ShowMandatory = true; + ToolTip = 'Specifies the number of the document that is processed by the report or batch job.'; + + trigger OnLookup(var Text: Text): Boolean + begin + LookupDocNo(); + end; + + trigger OnValidate() + begin + ValidateDocNo(); + end; + } + field(IncludeHeaderAction; IncludeHeader) + { + ApplicationArea = Suite; + Caption = 'Include Header'; + ToolTip = 'Specifies if you also want to copy the information from the document header. When you copy quotes, if the posting date field of the new document is empty, the work date is used as the posting date of the new document.'; + + trigger OnValidate() + begin + ValidateIncludeHeader(); + end; + } + field(RecalculateLinesAction; RecalculateLines) + { + ApplicationArea = Suite; + Caption = 'Recalculate Lines'; + ToolTip = 'Specifies that lines are recalculate and inserted on the advance letter document you are creating. The batch job retains the item numbers and item quantities but recalculates the amounts on the lines based on the customer information on the new document header. In this way, the batch job accounts for item prices and discounts that are specifically linked to the customer on the new header.'; + } + } + } + } + + trigger OnOpenPage() + begin + if FromDocNo <> '' then + if not GetDocument() then + FromDocNo := ''; + + ValidateDocNo(); + end; + + trigger OnQueryClosePage(CloseAction: Action): Boolean + begin + if CloseAction = Action::OK then + if FromDocNo = '' then + Error(DocNoNotSerErr) + end; + } + + trigger OnPreReport() + begin + CopyDocumentMgtCZZ.SetProperties(IncludeHeader, RecalculateLines); + if IsSales then + CopyDocumentMgtCZZ.CopyDocument(FromDocNo, SalesAdvLetterHeaderCZZ) + else + CopyDocumentMgtCZZ.CopyDocument(FromDocNo, PurchAdvLetterHeaderCZZ); + end; + + var + DocNoNotSerErr: Label 'Select a document number to continue, or choose Cancel to close the page.'; + + protected var + SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + FromSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; + FromPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; + CopyDocumentMgtCZZ: Codeunit "Copy Document Mgt. CZZ"; + FromDocNo: Code[20]; + IncludeHeader: Boolean; + RecalculateLines: Boolean; + IsSales: Boolean; + + procedure SetSalesAdvLetterHeader(var NewSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ") + begin + NewSalesAdvLetterHeaderCZZ.TestField("No."); + NewSalesAdvLetterHeaderCZZ.TestField(Status, "Advance Letter Doc. Status CZZ"::New); + SalesAdvLetterHeaderCZZ := NewSalesAdvLetterHeaderCZZ; + IsSales := true; + end; + + procedure SetPurchAdvLetterHeader(var NewPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + NewPurchAdvLetterHeaderCZZ.TestField("No."); + NewPurchAdvLetterHeaderCZZ.TestField(Status, "Advance Letter Doc. Status CZZ"::New); + PurchAdvLetterHeaderCZZ := NewPurchAdvLetterHeaderCZZ; + IsSales := false; + end; + + local procedure GetDocument(): Boolean + begin + if IsSales then + exit(FromSalesAdvLetterHeaderCZZ.Get(FromDocNo)); + exit(FromPurchAdvLetterHeaderCZZ.Get(FromDocNo)); + end; + + local procedure ValidateDocNo() + begin + if IsSales then + ValidateSalesAdvLetterNo() + else + ValidatePurchAdvLetterNo(); + end; + + local procedure ValidateSalesAdvLetterNo() + begin + if FromDocNo = '' then + FromSalesAdvLetterHeaderCZZ.Init() + else + if FromSalesAdvLetterHeaderCZZ."No." = '' then begin + FromSalesAdvLetterHeaderCZZ.Init(); + FromSalesAdvLetterHeaderCZZ.Get(FromDocNo); + end; + + FromSalesAdvLetterHeaderCZZ."No." := ''; + + ValidateIncludeHeader(); + end; + + local procedure ValidatePurchAdvLetterNo() + begin + if FromDocNo = '' then + FromPurchAdvLetterHeaderCZZ.Init() + else + if FromPurchAdvLetterHeaderCZZ."No." = '' then begin + FromPurchAdvLetterHeaderCZZ.Init(); + FromPurchAdvLetterHeaderCZZ.Get(FromDocNo); + end; + + FromPurchAdvLetterHeaderCZZ."No." := ''; + + ValidateIncludeHeader(); + end; + + procedure LookupDocNo() + begin + if IsSales then + LookupSalesAdvanceLetterNo() + else + LookupPurchAdvanceLetterNo(); + + ValidateDocNo(); + end; + + local procedure LookupSalesAdvanceLetterNo() + begin + FromSalesAdvLetterHeaderCZZ.FilterGroup := 0; + FromSalesAdvLetterHeaderCZZ.SetFilter("No.", '<>%1', SalesAdvLetterHeaderCZZ."No."); + FromSalesAdvLetterHeaderCZZ.FilterGroup := 2; + FromSalesAdvLetterHeaderCZZ."No." := FromDocNo; + if Page.RunModal(0, FromSalesAdvLetterHeaderCZZ) = Action::LookupOK then + FromDocNo := FromSalesAdvLetterHeaderCZZ."No."; + end; + + local procedure LookupPurchAdvanceLetterNo() + begin + FromPurchAdvLetterHeaderCZZ.FilterGroup := 0; + FromPurchAdvLetterHeaderCZZ.SetFilter("No.", '<>%1', PurchAdvLetterHeaderCZZ."No."); + FromPurchAdvLetterHeaderCZZ.FilterGroup := 2; + FromPurchAdvLetterHeaderCZZ."No." := FromDocNo; + if Page.RunModal(0, FromPurchAdvLetterHeaderCZZ) = Action::LookupOK then + FromDocNo := FromPurchAdvLetterHeaderCZZ."No."; + end; + + local procedure ValidateIncludeHeader() + begin + RecalculateLines := not IncludeHeader; + end; + + procedure SetParameters(NewFromDocNo: Code[20]; NewIncludeHeader: Boolean; NewRecalcLines: Boolean) + begin + FromDocNo := NewFromDocNo; + IncludeHeader := NewIncludeHeader; + RecalculateLines := NewRecalcLines; + end; +} + diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplicationCZZ.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplicationCZZ.Table.al index 9cb3a1bdf6..2dec4f9d8f 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplicationCZZ.Table.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/AdvanceLetterApplicationCZZ.Table.al @@ -211,8 +211,10 @@ table 31007 "Advance Letter Application CZZ" NewAdvanceLetterApplicationCZZ."Amount (LCY)" -= AdvanceLetterApplicationCZZ."Amount (LCY)"; NewAdvanceLetterApplicationCZZ."Document Type" := NewFromAdvLetterUsageDocTypeCZZ; NewAdvanceLetterApplicationCZZ."Document No." := NewFromDocumentNo; - if NewAdvanceLetterApplicationCZZ.Amount > 0 then + if NewAdvanceLetterApplicationCZZ.Amount > 0 then begin + OnGetPossibleSalesAdvanceOnBeforeInsertNewAdvanceLetterApplication(NewAdvanceLetterApplicationCZZ, AdvanceLetterApplicationCZZ); NewAdvanceLetterApplicationCZZ.Insert(); + end; until SalesAdvLetterHeaderCZZ.Next() = 0; end; @@ -506,6 +508,11 @@ table 31007 "Advance Letter Application CZZ" begin end; + [IntegrationEvent(false, false)] + local procedure OnGetPossibleSalesAdvanceOnBeforeInsertNewAdvanceLetterApplication(var NewAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ") + begin + end; + [IntegrationEvent(false, false)] local procedure OnGetAssignedAdvanceOnBeforeInsertNewAdvanceLetterApplication(var NewAdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ"; AdvanceLetterApplicationCZZ: Record "Advance Letter Application CZZ") begin diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeaderCZZ.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeaderCZZ.Table.al index 14f8c74268..5bff2fbdd3 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeaderCZZ.Table.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/PurchAdvLetterHeaderCZZ.Table.al @@ -1623,6 +1623,20 @@ table 31008 "Purch. Adv. Letter Header CZZ" PurchAdvLetterManagementCZZ.UpdateStatus(Rec, AdvanceLetterDocStatus); end; + procedure CopyDocument() + var + CopyAdvLetterDocumentCZZ: Report "Copy Adv. Letter Document CZZ"; + IsHandled: Boolean; + begin + IsHandled := false; + OnBeforeCopyDocument(Rec, IsHandled); + if IsHandled then + exit; + + CopyAdvLetterDocumentCZZ.SetPurchAdvLetterHeader(Rec); + CopyAdvLetterDocumentCZZ.RunModal(); + end; + [IntegrationEvent(false, false)] local procedure OnValidatePaymentTermsCodeOnBeforeCalcDueDate(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var xPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; CalledByFieldNo: Integer; CallingFieldNo: Integer; var IsHandled: Boolean) begin @@ -1797,4 +1811,9 @@ table 31008 "Purch. Adv. Letter Header CZZ" local procedure OnBeforeValidateDocumentDateWithPostingDate(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; CurrFieldNo: Integer; var IsHandled: Boolean; xPurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") begin end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeCopyDocument(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var IsHandled: Boolean) + begin + end; } diff --git a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al index 0a92a0923d..54fecef654 100644 --- a/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al +++ b/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al @@ -1820,6 +1820,20 @@ table 31004 "Sales Adv. Letter Header CZZ" SalesAdvLetterManagementCZZ.UpdateStatus(Rec, AdvanceLetterDocStatus); end; + procedure CopyDocument() + var + CopyAdvLetterDocumentCZZ: Report "Copy Adv. Letter Document CZZ"; + IsHandled: Boolean; + begin + IsHandled := false; + OnBeforeCopyDocument(Rec, IsHandled); + if IsHandled then + exit; + + CopyAdvLetterDocumentCZZ.SetSalesAdvLetterHeader(Rec); + CopyAdvLetterDocumentCZZ.RunModal(); + end; + [IntegrationEvent(false, false)] local procedure OnBeforeValidateBillToPostCode(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var PostCodeRec: Record "Post Code") begin @@ -2064,4 +2078,9 @@ table 31004 "Sales Adv. Letter Header CZZ" local procedure OnIsConfirmDialogAllowed(var IsAllowed: Boolean) begin end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeCopyDocument(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean) + begin + end; } diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditCZA.Codeunit.al index 63b8b304cf..0336c8d13c 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditCZA.Codeunit.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEAN26 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -8,6 +9,9 @@ codeunit 31381 "G/L Entry - Edit CZA" { Permissions = tabledata "G/L Entry" = rim; TableNo = "G/L Entry"; + ObsoleteState = Pending; + ObsoleteTag = '26.0'; + ObsoleteReason = 'Use the standard G/L Entry-Edit codeunit instead. The same funcionality of this codeunit is available in codeunit 31177 G/L Entry Edit Handler CZA.'; trigger OnRun() begin @@ -24,3 +28,4 @@ codeunit 31381 "G/L Entry - Edit CZA" GLEntry: Record "G/L Entry"; } +#endif \ No newline at end of file diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditHandlerCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditHandlerCZA.Codeunit.al new file mode 100644 index 0000000000..ab80f12710 --- /dev/null +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryEditHandlerCZA.Codeunit.al @@ -0,0 +1,19 @@ +// ------------------------------------------------------------------------------------------------ +// 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.GeneralLedger.Ledger; + +codeunit 31177 "G/L Entry Edit Handler CZA" +{ + Access = Internal; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"G/L Entry-Edit", 'OnBeforeGLLedgEntryModify', '', false, false)] + local procedure ModifyFieldsOnBeforeGLLedgEntryModify(var GLEntry: Record "G/L Entry"; FromGLEntry: Record "G/L Entry") + begin + GLEntry."Applying Entry CZA" := FromGLEntry."Applying Entry CZA"; + GLEntry."Applies-to ID CZA" := FromGLEntry."Applies-to ID CZA"; + GLEntry.Validate("Amount to Apply CZA", FromGLEntry."Amount to Apply CZA"); + end; +} + diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplicationCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplicationCZA.Codeunit.al index b51cb61d43..6ec5370f78 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplicationCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GLEntryPostApplicationCZA.Codeunit.al @@ -372,17 +372,15 @@ codeunit 31370 "G/L Entry Post Application CZA" procedure ApplyGLEntry(var ApplGLEntry: Record "G/L Entry") var SelectedGLEntry: Record "G/L Entry"; - ApplyGLEntriesCZA: Page "Apply G/L Entries CZA"; + ApplyGenLedgerEntriesCZA: Page "Apply Gen. Ledger Entries CZA"; begin if ApplGLEntry."Closed CZA" then Error(ClosedEntryErr); - SelectedGLEntry.SetCurrentKey("G/L Account No."); SelectedGLEntry.SetRange("G/L Account No.", ApplGLEntry."G/L Account No."); - SelectedGLEntry.SetRange("Closed CZA", false); - ApplyGLEntriesCZA.SetAplEntry(ApplGLEntry."Entry No."); - ApplyGLEntriesCZA.SetTableView(SelectedGLEntry); - ApplyGLEntriesCZA.RunModal(); + ApplyGenLedgerEntriesCZA.InsertEntry(SelectedGLEntry); + ApplyGenLedgerEntriesCZA.SetApplyingEntry(ApplGLEntry."Entry No."); + ApplyGenLedgerEntriesCZA.RunModal(); end; procedure AutomatedGLEntryApplication(var GenJournalLine: Record "Gen. Journal Line"; var VarGLEntry: Record "G/L Entry") diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandlerCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandlerCZA.Codeunit.al index a4cbc8a7e5..e3ae1e47e2 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandlerCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJnlApplyHandlerCZA.Codeunit.al @@ -51,13 +51,12 @@ codeunit 31379 "Gen. Jnl.-Apply Handler CZA" local procedure ApplyGLEntryCZA(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; AccBalance: Boolean) var GLEntry: Record "G/L Entry"; - ApplyGLEntriesCZA: Page "Apply G/L Entries CZA"; + ApplyGenLedgerEntriesCZA: Page "Apply Gen. Ledger Entries CZA"; + PreviousAppliesToID: Code[50]; EntrySelected: Boolean; MustSpecifyErr: Label 'You must specify %1 or %2.', Comment = '%1 = FieldCaption Document No., %2 = FieldCaption Applies-to ID'; begin - GLEntry.SetCurrentKey("G/L Account No.", "Closed CZA"); GLEntry.SetRange("G/L Account No.", AccNo); - GLEntry.SetRange("Closed CZA", false); if GenJournalLine.Amount > 0 then if AccBalance then GLEntry.SetFilter(Amount, '>0') @@ -68,6 +67,7 @@ codeunit 31379 "Gen. Jnl.-Apply Handler CZA" GLEntry.SetFilter(Amount, '<0') else GLEntry.SetFilter(Amount, '>0'); + PreviousAppliesToID := GenJournalLine."Applies-to ID"; if GenJournalLine."Applies-to ID" = '' then GenJournalLine."Applies-to ID" := GenJournalLine."Document No."; if GenJournalLine."Applies-to ID" = '' then @@ -75,13 +75,23 @@ codeunit 31379 "Gen. Jnl.-Apply Handler CZA" MustSpecifyErr, GenJournalLine.FieldCaption("Document No."), GenJournalLine.FieldCaption("Applies-to ID")); - ApplyGLEntriesCZA.SetTableView(GLEntry); - ApplyGLEntriesCZA.SetGenJnlLine(GenJournalLine, GenJournalLine.FieldNo("Applies-to ID")); - ApplyGLEntriesCZA.LookupMode(true); - EntrySelected := ApplyGLEntriesCZA.RunModal() = ACTION::LookupOK; - Clear(ApplyGLEntriesCZA); - if not EntrySelected then + if GLEntry.IsEmpty() then + exit; + + GLEntry.SetAutoCalcFields("Applied Amount CZA"); + GLEntry.SetLoadFields("Applies-to ID CZA", "Posting Date", "Document Type", "Document No.", "G/L Account No.", Description, Amount, "Amount to Apply CZA", "Applying Entry CZA", "Applied Amount CZA", + "Gen. Bus. Posting Group", "Gen. Prod. Posting Group", "VAT Bus. Posting Group", "VAT Prod. Posting Group"); + + ApplyGenLedgerEntriesCZA.InsertEntry(GLEntry); + ApplyGenLedgerEntriesCZA.SetGenJournalLine(GenJournalLine); + ApplyGenLedgerEntriesCZA.LookupMode(true); + EntrySelected := ApplyGenLedgerEntriesCZA.RunModal() = Action::LookupOK; + Clear(ApplyGenLedgerEntriesCZA); + if not EntrySelected then begin + GenJournalLine."Applies-to ID" := PreviousAppliesToID; exit; + end; + GLEntry.Reset(); GLEntry.SetCurrentKey("G/L Account No.", "Applies-to ID CZA"); GLEntry.SetRange("G/L Account No.", AccNo); diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZA.Codeunit.al index 35d26570c9..858464d54b 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/GenJournalLineHandlerCZA.Codeunit.al @@ -26,7 +26,7 @@ codeunit 31380 "Gen. Journal Line Handler CZA" repeat GLEntry."Amount to Apply CZA" := 0; GLEntry."Applies-to ID CZA" := ''; - Codeunit.Run(Codeunit::"G/L Entry - Edit CZA", GLEntry); + Codeunit.Run(Codeunit::"G/L Entry-Edit", GLEntry); until GLEntry.Next() = 0; end else if xGenJournalLine."Applies-to Doc. No." <> '' then begin @@ -39,7 +39,7 @@ codeunit 31380 "Gen. Journal Line Handler CZA" repeat GLEntry."Amount to Apply CZA" := 0; GLEntry."Applies-to ID CZA" := ''; - Codeunit.Run(Codeunit::"G/L Entry - Edit CZA", GLEntry); + Codeunit.Run(Codeunit::"G/L Entry-Edit", GLEntry); until GLEntry.Next() = 0; end; end; diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplicationCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplicationCZA.Codeunit.al index d560806273..af21b50a93 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplicationCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/InstallApplicationCZA.Codeunit.al @@ -54,16 +54,10 @@ codeunit 31250 "Install Application CZA" InstallApplicationsMgtCZL: Codeunit "Install Applications Mgt. CZL"; AppInfo: ModuleInfo; - trigger OnInstallAppPerDatabase() - begin - CopyPermission(); - end; - trigger OnInstallAppPerCompany() begin if not InitializeDone() then begin BindSubscription(InstallApplicationsMgtCZL); - CopyUsage(); CopyData(); UnbindSubscription(InstallApplicationsMgtCZL); end; @@ -76,298 +70,24 @@ codeunit 31250 "Install Application CZA" exit(AppInfo.DataVersion() <> Version.Create('0.0.0.0')); end; - local procedure CopyPermission(); - begin - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Detailed G/L Entry", Database::"Detailed G/L Entry CZA"); - end; - - local procedure CopyUsage(); - begin - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Detailed G/L Entry", Database::"Detailed G/L Entry CZA"); - end; - local procedure CopyData() begin - CopyInventorySetup(); - CopyManufacturingSetup(); - CopyAssemblySetup(); - CopyAssemblyHeader(); - CopyAssemblyLine(); - CopyPostedAssemblyHeader(); - CopyPostedAssemblyLine(); - CopyNonstockItemSetup(); - CopyItemLedgerEntry(); - CopyValueEntry(); - CopyCapacityLedgerEntry(); - CopyItemJournalLine(); - CopyTransferRoute(); - CopyTransferHeader(); - CopyTransferLine(); - CopyTransferShipmentHeader(); CopyTransferShipmentLine(); - CopyTransferReceiptHeader(); - CopyTransferReceiptLine(); - CopyDetailedGLEntry(); - CopyGLEntry(); CopyItemEntryRelation(); - CopyDefaultDimension(); CopyStandardItemJournalLine(); end; - local procedure CopyInventorySetup(); - var - InventorySetup: Record "Inventory Setup"; - begin - if InventorySetup.Get() then begin - InventorySetup."Use GPPG from SKU CZA" := InventorySetup."Use GPPG from SKU"; - InventorySetup."Skip Update SKU on Posting CZA" := InventorySetup."Skip Update SKU on Posting"; - InventorySetup."Exact Cost Revers. Mandat. CZA" := InventorySetup."Exact Cost Reversing Mandatory"; - InventorySetup.Modify(false); - end; - end; - - local procedure CopyManufacturingSetup(); - var - ManufacturingSetup: Record "Manufacturing Setup"; - begin - if ManufacturingSetup.Get() then begin - ManufacturingSetup."Default Gen.Bus.Post. Grp. CZA" := ManufacturingSetup."Default Gen.Bus. Posting Group"; - ManufacturingSetup."Exact Cost Rev.Mand. Cons. CZA" := ManufacturingSetup."Exact Cost Rev.Manda. (Cons.)"; - ManufacturingSetup.Modify(false); - end; - end; - - local procedure CopyAssemblySetup(); - var - AssemblySetup: Record "Assembly Setup"; - begin - if AssemblySetup.Get() then begin - AssemblySetup."Default Gen.Bus.Post. Grp. CZA" := AssemblySetup."Gen. Bus. Posting Group"; - AssemblySetup.Modify(false); - end; - end; - - local procedure CopyAssemblyHeader(); - var - AssemblyHeader: Record "Assembly Header"; - AssemblyHeaderDataTransfer: DataTransfer; - begin - AssemblyHeaderDataTransfer.SetTables(Database::"Assembly Header", Database::"Assembly Header"); - AssemblyHeaderDataTransfer.AddFieldValue(AssemblyHeader.FieldNo("Gen. Bus. Posting Group"), AssemblyHeader.FieldNo("Gen. Bus. Posting Group CZA")); - AssemblyHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyAssemblyLine(); - var - AssemblyLine: Record "Assembly Line"; - AssemblyLineDataTransfer: DataTransfer; - begin - AssemblyLineDataTransfer.SetTables(Database::"Assembly Line", Database::"Assembly Line"); - AssemblyLineDataTransfer.AddFieldValue(AssemblyLine.FieldNo("Gen. Bus. Posting Group"), AssemblyLine.FieldNo("Gen. Bus. Posting Group CZA")); - AssemblyLineDataTransfer.CopyFields(); - end; - - local procedure CopyPostedAssemblyHeader(); - var - PostedAssemblyHeader: Record "Posted Assembly Header"; - PostedAssemblyHeaderDataTransfer: DataTransfer; - begin - PostedAssemblyHeaderDataTransfer.SetTables(Database::"Posted Assembly Header", Database::"Posted Assembly Header"); - PostedAssemblyHeaderDataTransfer.AddFieldValue(PostedAssemblyHeader.FieldNo("Gen. Bus. Posting Group"), PostedAssemblyHeader.FieldNo("Gen. Bus. Posting Group CZA")); - PostedAssemblyHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyPostedAssemblyLine(); - var - PostedAssemblyLine: Record "Posted Assembly Line"; - PostedAssemblyLineDataTransfer: DataTransfer; - begin - PostedAssemblyLineDataTransfer.SetTables(Database::"Posted Assembly Line", Database::"Posted Assembly Line"); - PostedAssemblyLineDataTransfer.AddFieldValue(PostedAssemblyLine.FieldNo("Gen. Bus. Posting Group"), PostedAssemblyLine.FieldNo("Gen. Bus. Posting Group CZA")); - PostedAssemblyLineDataTransfer.CopyFields(); - end; - - local procedure CopyNonstockItemSetup(); - var - NonstockItemSetup: Record "Nonstock Item Setup"; - begin - if NonstockItemSetup.Get() then begin - if NonstockItemSetup."No. From No. Series" then - NonstockItemSetup."No. Format" := NonstockItemSetup."No. Format"::"Item No. Series"; - NonstockItemSetup.Modify(false); - end; - end; - - local procedure CopyItemLedgerEntry(); - var - ItemLedgerEntry: Record "Item Ledger Entry"; - ItemLedgerEntryDataTransfer: DataTransfer; - begin - ItemLedgerEntryDataTransfer.SetTables(Database::"Item Ledger Entry", Database::"Item Ledger Entry"); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Source No. 2"), ItemLedgerEntry.FieldNo("Invoice-to Source No. CZA")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Source No. 3"), ItemLedgerEntry.FieldNo("Delivery-to Source No. CZA")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Source Code"), ItemLedgerEntry.FieldNo("Source Code CZA")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Reason Code"), ItemLedgerEntry.FieldNo("Reason Code CZA")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Currency Code"), ItemLedgerEntry.FieldNo("Currency Code CZA")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Currency Factor"), ItemLedgerEntry.FieldNo("Currency Factor CZA")); - ItemLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyValueEntry(); - var - ValueEntry: Record "Value Entry"; - ValueEntryDataTransfer: DataTransfer; - begin - ValueEntryDataTransfer.SetTables(Database::"Value Entry", Database::"Value Entry"); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Source No. 2"), ValueEntry.FieldNo("Invoice-to Source No. CZA")); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Source No. 3"), ValueEntry.FieldNo("Delivery-to Source No. CZA")); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Currency Code"), ValueEntry.FieldNo("Currency Code CZA")); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Currency Factor"), ValueEntry.FieldNo("Currency Factor CZA")); - ValueEntryDataTransfer.CopyFields(); - end; - - local procedure CopyCapacityLedgerEntry(); - var - CapacityLedgerEntry: Record "Capacity Ledger Entry"; - CapacityLedgerEntryDataTransfer: DataTransfer; - begin - CapacityLedgerEntryDataTransfer.SetTables(Database::"Capacity Ledger Entry", Database::"Capacity Ledger Entry"); - CapacityLedgerEntryDataTransfer.AddFieldValue(CapacityLedgerEntry.FieldNo("User ID"), CapacityLedgerEntry.FieldNo("User ID CZA")); - CapacityLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyItemJournalLine(); - var - ItemJournalLine: Record "Item Journal Line"; - ItemJournalLineDataTransfer: DataTransfer; - begin - ItemJournalLineDataTransfer.SetTables(Database::"Item Journal Line", Database::"Item Journal Line"); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Source No. 3"), ItemJournalLine.FieldNo("Delivery-to Source No. CZA")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Currency Code"), ItemJournalLine.FieldNo("Currency Code CZA")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Currency Factor"), ItemJournalLine.FieldNo("Currency Factor CZA")); - ItemJournalLineDataTransfer.CopyFields(); - end; - - local procedure CopyTransferRoute(); - var - TransferRoute: Record "Transfer Route"; - TransferRouteDataTransfer: DataTransfer; - begin - TransferRouteDataTransfer.SetTables(Database::"Transfer Route", Database::"Transfer Route"); - TransferRouteDataTransfer.AddFieldValue(TransferRoute.FieldNo("Gen. Bus. Post. Group Ship"), TransferRoute.FieldNo("Gen.Bus.Post.Group Ship CZA")); - TransferRouteDataTransfer.AddFieldValue(TransferRoute.FieldNo("Gen. Bus. Post. Group Receive"), TransferRoute.FieldNo("Gen.Bus.Post.Group Receive CZA")); - TransferRouteDataTransfer.CopyFields(); - end; - - local procedure CopyTransferHeader(); - var - TransferHeader: Record "Transfer Header"; - TransferHeaderDataTransfer: DataTransfer; - begin - TransferHeaderDataTransfer.SetTables(Database::"Transfer Header", Database::"Transfer Header"); - TransferHeaderDataTransfer.AddFieldValue(TransferHeader.FieldNo("Gen. Bus. Post. Group Ship"), TransferHeader.FieldNo("Gen.Bus.Post.Group Ship CZA")); - TransferHeaderDataTransfer.AddFieldValue(TransferHeader.FieldNo("Gen. Bus. Post. Group Receive"), TransferHeader.FieldNo("Gen.Bus.Post.Group Receive CZA")); - TransferHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyTransferLine(); - var - TransferLine: Record "Transfer Line"; - TransferLineDataTransfer: DataTransfer; - begin - TransferLineDataTransfer.SetTables(Database::"Transfer Line", Database::"Transfer Line"); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Gen. Bus. Post. Group Ship"), TransferLine.FieldNo("Gen.Bus.Post.Group Ship CZA")); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Gen. Bus. Post. Group Receive"), TransferLine.FieldNo("Gen.Bus.Post.Group Receive CZA")); - TransferLineDataTransfer.CopyFields(); - end; - - local procedure CopyTransferShipmentHeader(); - var - TransferShipmentHeader: Record "Transfer Shipment Header"; - TransferShipmentHeaderDataTransfer: DataTransfer; - begin - TransferShipmentHeaderDataTransfer.SetTables(Database::"Transfer Shipment Header", Database::"Transfer Shipment Header"); - TransferShipmentHeaderDataTransfer.AddFieldValue(TransferShipmentHeader.FieldNo("Gen. Bus. Post. Group Ship"), TransferShipmentHeader.FieldNo("Gen.Bus.Post.Group Ship CZA")); - TransferShipmentHeaderDataTransfer.AddFieldValue(TransferShipmentHeader.FieldNo("Gen. Bus. Post. Group Receive"), TransferShipmentHeader.FieldNo("Gen.Bus.Post.Group Receive CZA")); - TransferShipmentHeaderDataTransfer.CopyFields(); - end; - local procedure CopyTransferShipmentLine(); var TransferShipmentLine: Record "Transfer Shipment Line"; TransferShipmentLineDataTransfer: DataTransfer; begin TransferShipmentLineDataTransfer.SetTables(Database::"Transfer Shipment Line", Database::"Transfer Shipment Line"); - TransferShipmentLineDataTransfer.AddFieldValue(TransferShipmentLine.FieldNo("Gen. Bus. Post. Group Ship"), TransferShipmentLine.FieldNo("Gen.Bus.Post.Group Ship CZA")); - TransferShipmentLineDataTransfer.AddFieldValue(TransferShipmentLine.FieldNo("Gen. Bus. Post. Group Receive"), TransferShipmentLine.FieldNo("Gen.Bus.Post.Group Receive CZA")); TransferShipmentLineDataTransfer.AddFieldValue(TransferShipmentLine.FieldNo(Correction), TransferShipmentLine.FieldNo("Correction CZA")); TransferShipmentLineDataTransfer.AddFieldValue(TransferShipmentLine.FieldNo("Transfer Order Line No."), TransferShipmentLine.FieldNo("Transfer Order Line No. CZA")); TransferShipmentLineDataTransfer.CopyFields(); end; - local procedure CopyTransferReceiptHeader(); - var - TransferReceiptHeader: Record "Transfer Receipt Header"; - TransferReceiptHeaderDataTransfer: DataTransfer; - begin - TransferReceiptHeaderDataTransfer.SetTables(Database::"Transfer Receipt Header", Database::"Transfer Receipt Header"); - TransferReceiptHeaderDataTransfer.AddFieldValue(TransferReceiptHeader.FieldNo("Gen. Bus. Post. Group Ship"), TransferReceiptHeader.FieldNo("Gen.Bus.Post.Group Ship CZA")); - TransferReceiptHeaderDataTransfer.AddFieldValue(TransferReceiptHeader.FieldNo("Gen. Bus. Post. Group Receive"), TransferReceiptHeader.FieldNo("Gen.Bus.Post.Group Receive CZA")); - TransferReceiptHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyTransferReceiptLine(); - var - TransferReceiptLine: Record "Transfer Receipt Line"; - TransferReceiptLineDataTransfer: DataTransfer; - begin - TransferReceiptLineDataTransfer.SetTables(Database::"Transfer Receipt Line", Database::"Transfer Receipt Line"); - TransferReceiptLineDataTransfer.AddFieldValue(TransferReceiptLine.FieldNo("Gen. Bus. Post. Group Ship"), TransferReceiptLine.FieldNo("Gen.Bus.Post.Group Ship CZA")); - TransferReceiptLineDataTransfer.AddFieldValue(TransferReceiptLine.FieldNo("Gen. Bus. Post. Group Receive"), TransferReceiptLine.FieldNo("Gen.Bus.Post.Group Receive CZA")); - TransferReceiptLineDataTransfer.CopyFields(); - end; - - local procedure CopyDetailedGLEntry() - var - DetailedGLEntry: Record "Detailed G/L Entry"; - DetailedGLEntryCZA: Record "Detailed G/L Entry CZA"; - begin - if DetailedGLEntry.FindSet() then - repeat - if not DetailedGLEntryCZA.Get(DetailedGLEntry."Entry No.") then begin - DetailedGLEntryCZA.Init(); - DetailedGLEntryCZA."Entry No." := DetailedGLEntry."Entry No."; - DetailedGLEntryCZA.SystemId := DetailedGLEntry.SystemId; - DetailedGLEntryCZA.Insert(false, true); - end; - DetailedGLEntryCZA."G/L Entry No." := DetailedGLEntry."G/L Entry No."; - DetailedGLEntryCZA."Applied G/L Entry No." := DetailedGLEntry."Applied G/L Entry No."; - DetailedGLEntryCZA."G/L Account No." := DetailedGLEntry."G/L Account No."; - DetailedGLEntryCZA."Posting Date" := DetailedGLEntry."Posting Date"; - DetailedGLEntryCZA."Document No." := DetailedGLEntry."Document No."; - DetailedGLEntryCZA."Transaction No." := DetailedGLEntry."Transaction No."; - DetailedGLEntryCZA.Amount := DetailedGLEntry.Amount; - DetailedGLEntryCZA.Unapplied := DetailedGLEntry.Unapplied; - DetailedGLEntryCZA."Unapplied by Entry No." := DetailedGLEntry."Unapplied by Entry No."; - DetailedGLEntryCZA."User ID" := DetailedGLEntry."User ID"; - DetailedGLEntryCZA.Modify(false); - until DetailedGLEntry.Next() = 0; - end; - - local procedure CopyGLEntry(); - var - GLEntry: Record "G/L Entry"; - GLEntryDataTransfer: DataTransfer; - begin - GLEntryDataTransfer.SetTables(Database::"G/L Entry", Database::"G/L Entry"); - GLEntryDataTransfer.AddFieldValue(GLEntry.FieldNo(Closed), GLEntry.FieldNo("Closed CZA")); - GLEntryDataTransfer.AddFieldValue(GLEntry.FieldNo("Closed at Date"), GLEntry.FieldNo("Closed at Date CZA")); - GLEntryDataTransfer.AddFieldValue(GLEntry.FieldNo("Amount to Apply"), GLEntry.FieldNo("Amount to Apply CZA")); - GLEntryDataTransfer.AddFieldValue(GLEntry.FieldNo("Applies-to ID"), GLEntry.FieldNo("Applies-to ID CZA")); - GLEntryDataTransfer.CopyFields(); - end; - local procedure CopyItemEntryRelation(); var ItemEntryRelation: Record "Item Entry Relation"; @@ -378,38 +98,6 @@ codeunit 31250 "Install Application CZA" ItemEntryRelationDataTransfer.CopyFields(); end; - local procedure CopyDefaultDimension(); - var - DefaultDimension: Record "Default Dimension"; - begin - DefaultDimension.SetLoadFields("Automatic Create", "Dimension Description Field ID", "Dimension Description Format", "Dimension Description Update", "Automatic Cr. Value Posting"); - if DefaultDimension.FindSet(true) then - repeat - if DefaultDimension."Automatic Create" then begin - DefaultDimension."Automatic Create CZA" := DefaultDimension."Automatic Create"; - DefaultDimension."Dim. Description Field ID CZA" := DefaultDimension."Dimension Description Field ID"; - DefaultDimension."Dim. Description Format CZA" := DefaultDimension."Dimension Description Format"; - DefaultDimension."Dim. Description Update CZA" := DefaultDimension."Dimension Description Update"; - case DefaultDimension."Automatic Cr. Value Posting" of - DefaultDimension."Automatic Cr. Value Posting"::" ": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::" "; - DefaultDimension."Automatic Cr. Value Posting"::"No Code": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::"No Code"; - DefaultDimension."Automatic Cr. Value Posting"::"Same Code": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::"Same Code"; - DefaultDimension."Automatic Cr. Value Posting"::"Code Mandatory": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::"Code Mandatory"; - end; - Clear(DefaultDimension."Automatic Create"); - Clear(DefaultDimension."Dimension Description Field ID"); - Clear(DefaultDimension."Dimension Description Format"); - Clear(DefaultDimension."Dimension Description Update"); - Clear(DefaultDimension."Automatic Cr. Value Posting"); - DefaultDimension.Modify(false); - end; - until DefaultDimension.Next() = 0; - end; - local procedure CopyStandardItemJournalLine(); var StandardItemJournalLine: Record "Standard Item Journal Line"; diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZA.Codeunit.al index f50e1ca952..9cdc2a74a6 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/ItemJnlPostLineHandlerCZA.Codeunit.al @@ -23,16 +23,10 @@ codeunit 31305 "Item Jnl-Post Line Handler CZA" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Jnl.-Post Line", 'OnPostItemOnBeforeSetAverageTransfer', '', false, false)] local procedure CheckInventoryPostingGroupOnPostItemOnBeforeSetAverageTransfer(var ItemJnlLine: Record "Item Journal Line"; CalledFromAdjustment: Boolean) - var - Item: Record Item; begin - if ItemJnlLine."Item No." = '' then + if CalledFromAdjustment then exit; - - Item.Get(ItemJnlLine."Item No."); - if not (ItemJnlLine."Inventory Posting Group" = '') and (Item.Type = Item.Type::Inventory) then - if not CalledFromAdjustment and (Item.Type = Item.Type::Inventory) then - ItemJnlLine.TestField("Inventory Posting Group", Item."Inventory Posting Group"); + ItemJnlLine.CheckInventoryPostingGroupCZA(); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Jnl.-Post Line", 'OnPostFlushedConsumpOnAfterCopyProdOrderFieldsToItemJnlLine', '', false, false)] diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZA.Codeunit.al index b5a238e3d8..353f0db9fc 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZA.Codeunit.al @@ -5,7 +5,6 @@ namespace System.Upgrade; using Microsoft; -using Microsoft.Finance.Dimension; using Microsoft.Finance.GeneralLedger.Ledger; using Microsoft.Inventory.Item; using Microsoft.Inventory.Journal; @@ -30,12 +29,10 @@ codeunit 31251 "Upgrade Application CZA" UpgradeTag: Codeunit "Upgrade Tag"; UpgradeTagDefinitionsCZA: Codeunit "Upgrade Tag Definitions CZA"; InstallApplicationsMgtCZL: Codeunit "Install Applications Mgt. CZL"; - AppInfo: ModuleInfo; trigger OnUpgradePerDatabase() begin DataUpgradeMgt.SetUpgradeInProgress(); - UpgradePermission(); SetDatabaseUpgradeTags(); end; @@ -43,147 +40,18 @@ codeunit 31251 "Upgrade Application CZA" begin DataUpgradeMgt.SetUpgradeInProgress(); BindSubscription(InstallApplicationsMgtCZL); - UpgradeUsage(); UpgradeData(); UnbindSubscription(InstallApplicationsMgtCZL); SetCompanyUpgradeTags(); end; - local procedure UpgradePermission() - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion182PerDatabaseUpgradeTag()) then - exit; - - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Detailed G/L Entry", Database::"Detailed G/L Entry CZA"); - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion182PerDatabaseUpgradeTag()); - end; - - local procedure UpgradeUsage() - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion182PerDatabaseUpgradeTag()) then - exit; - - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Detailed G/L Entry", Database::"Detailed G/L Entry CZA"); - end; - local procedure UpgradeData() begin - UpgradeDetailedGLEntry(); - UpgradeGLEntry(); - UpgradeDefaultDimension(); - UpgradeInventorySetup(); - UpgradeManufacturingSetup(); UpgradeTransferShipmentLine(); UpgradeItemEntryRelation(); UpgradeStandardItemJournalLine(); end; - local procedure UpgradeDetailedGLEntry() - var - DetailedGLEntry: Record "Detailed G/L Entry"; - DetailedGLEntryCZA: Record "Detailed G/L Entry CZA"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion182PerCompanyUpgradeTag()) then - exit; - - if DetailedGLEntry.FindSet() then - repeat - if not DetailedGLEntryCZA.Get(DetailedGLEntry."Entry No.") then begin - DetailedGLEntryCZA.Init(); - DetailedGLEntryCZA."Entry No." := DetailedGLEntry."Entry No."; - DetailedGLEntryCZA.SystemId := DetailedGLEntry.SystemId; - DetailedGLEntryCZA.Insert(false, true); - end; - DetailedGLEntryCZA."G/L Entry No." := DetailedGLEntry."G/L Entry No."; - DetailedGLEntryCZA."Applied G/L Entry No." := DetailedGLEntry."Applied G/L Entry No."; - DetailedGLEntryCZA."G/L Account No." := DetailedGLEntry."G/L Account No."; - DetailedGLEntryCZA."Posting Date" := DetailedGLEntry."Posting Date"; - DetailedGLEntryCZA."Document No." := DetailedGLEntry."Document No."; - DetailedGLEntryCZA."Transaction No." := DetailedGLEntry."Transaction No."; - DetailedGLEntryCZA.Amount := DetailedGLEntry.Amount; - DetailedGLEntryCZA.Unapplied := DetailedGLEntry.Unapplied; - DetailedGLEntryCZA."Unapplied by Entry No." := DetailedGLEntry."Unapplied by Entry No."; - DetailedGLEntryCZA."User ID" := DetailedGLEntry."User ID"; - DetailedGLEntryCZA.Modify(false); - until DetailedGLEntry.Next() = 0; - end; - - local procedure UpgradeGLEntry(); - var - GLEntry: Record "G/L Entry"; - GLEntryDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion182PerCompanyUpgradeTag()) then - exit; - - GLEntryDataTransfer.SetTables(Database::"G/L Entry", Database::"G/L Entry"); - GLEntryDataTransfer.AddFieldValue(GLEntry.FieldNo(Closed), GLEntry.FieldNo("Closed CZA")); - GLEntryDataTransfer.AddFieldValue(GLEntry.FieldNo("Closed at Date"), GLEntry.FieldNo("Closed at Date CZA")); - GLEntryDataTransfer.AddSourceFilter(GLEntry.FieldNo(Closed), '%1', true); - GLEntryDataTransfer.CopyFields(); - end; - - local procedure UpgradeDefaultDimension(); - var - DefaultDimension: Record "Default Dimension"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - DefaultDimension.SetLoadFields("Automatic Create", "Dimension Description Field ID", "Dimension Description Format", "Dimension Description Update", "Automatic Cr. Value Posting"); - DefaultDimension.SetRange("Automatic Create", true); - if DefaultDimension.FindSet(true) then - repeat - DefaultDimension."Automatic Create CZA" := DefaultDimension."Automatic Create"; - DefaultDimension."Dim. Description Field ID CZA" := DefaultDimension."Dimension Description Field ID"; - DefaultDimension."Dim. Description Format CZA" := DefaultDimension."Dimension Description Format"; - DefaultDimension."Dim. Description Update CZA" := DefaultDimension."Dimension Description Update"; - case DefaultDimension."Automatic Cr. Value Posting" of - DefaultDimension."Automatic Cr. Value Posting"::" ": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::" "; - DefaultDimension."Automatic Cr. Value Posting"::"No Code": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::"No Code"; - DefaultDimension."Automatic Cr. Value Posting"::"Same Code": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::"Same Code"; - DefaultDimension."Automatic Cr. Value Posting"::"Code Mandatory": - DefaultDimension."Auto. Create Value Posting CZA" := DefaultDimension."Auto. Create Value Posting CZA"::"Code Mandatory"; - end; - Clear(DefaultDimension."Automatic Create"); - Clear(DefaultDimension."Dimension Description Field ID"); - Clear(DefaultDimension."Dimension Description Format"); - Clear(DefaultDimension."Dimension Description Update"); - Clear(DefaultDimension."Automatic Cr. Value Posting"); - DefaultDimension.Modify(false); - until DefaultDimension.Next() = 0; - end; - - local procedure UpgradeInventorySetup(); - var - InventorySetup: Record "Inventory Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion182PerCompanyUpgradeTag()) then - exit; - - if InventorySetup.Get() then begin - InventorySetup."Exact Cost Revers. Mandat. CZA" := InventorySetup."Exact Cost Reversing Mandatory"; - InventorySetup.Modify(false); - end; - end; - - local procedure UpgradeManufacturingSetup(); - var - ManufacturingSetup: Record "Manufacturing Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZA.GetDataVersion182PerCompanyUpgradeTag()) then - exit; - - if ManufacturingSetup.Get() then begin - ManufacturingSetup."Exact Cost Rev.Mand. Cons. CZA" := ManufacturingSetup."Exact Cost Rev.Manda. (Cons.)"; - ManufacturingSetup.Modify(false); - end; - end; - local procedure UpgradeTransferShipmentLine(); var TransferShipmentLine: Record "Transfer Shipment Line"; diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenterCZA.PageExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenterCZA.PageExt.al index b87d971fbb..4619ee1f1c 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenterCZA.PageExt.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/PageExtensions/AccountantCZRoleCenterCZA.PageExt.al @@ -19,7 +19,7 @@ pageextension 31201 "Accountant CZ Role Center CZA" extends "Accountant CZ Role Caption = 'Apply G/L Entries'; Ellipsis = true; Image = ApplicationWorksheet; - RunObject = Page "Apply G/L Entries CZA"; + RunObject = Page "Apply Gen. Ledger Entries CZA"; ToolTip = 'Handle application of G/L entries.'; } } diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntriesCZA.Page.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntriesCZA.Page.al index 5359049da8..9d51941962 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntriesCZA.Page.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGLEntriesCZA.Page.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEAN26 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -18,6 +19,9 @@ page 31284 "Apply G/L Entries CZA" PageType = Worksheet; Permissions = tabledata "G/L Entry" = m; SourceTable = "G/L Entry"; + ObsoleteState = Pending; + ObsoleteTag = '26.0'; + ObsoleteReason = 'Replaced by "Apply Gen. Ledger Entries CZA" page. The new page is optimized using temporary table.'; layout { @@ -638,3 +642,4 @@ page 31284 "Apply G/L Entries CZA" begin end; } +#endif \ No newline at end of file diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGenLedgerEntriesCZA.Page.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGenLedgerEntriesCZA.Page.al new file mode 100644 index 0000000000..0d969c1358 --- /dev/null +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Pages/ApplyGenLedgerEntriesCZA.Page.al @@ -0,0 +1,692 @@ +// ------------------------------------------------------------------------------------------------ +// 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.GeneralLedger.Ledger; + +using Microsoft.Finance.GeneralLedger.Account; +using Microsoft.Finance.GeneralLedger.Journal; +using Microsoft.Finance.GeneralLedger.Posting; +using Microsoft.Foundation.Navigate; + +page 31287 "Apply Gen. Ledger Entries CZA" +{ + Caption = 'Apply General Ledger Entries'; + DataCaptionFields = "G/L Account No."; + DeleteAllowed = false; + InsertAllowed = false; + LinksAllowed = false; + PageType = Worksheet; + SourceTable = "G/L Entry"; + SourceTableTemporary = true; + + layout + { + area(content) + { + group(General) + { + Caption = 'General'; + field(ApplyingGLEntryPostingDate; TempApplyingGLEntry."Posting Date") + { + ApplicationArea = Basic, Suite; + Caption = 'Posting Date'; + Editable = false; + ToolTip = 'Specifies the entry''s Posting Date.'; + } + field(ApplyingGLEntryDocumentType; TempApplyingGLEntry."Document Type") + { + ApplicationArea = Basic, Suite; + Caption = 'Document Type'; + Editable = false; + ToolTip = 'Specifies the original document type which will be applied.'; + } + field(ApplyingGLEntryDocumentNo; TempApplyingGLEntry."Document No.") + { + ApplicationArea = Basic, Suite; + Caption = 'Document No.'; + Editable = false; + ToolTip = 'Specifies the entry''s Document No.'; + } + field(ApplyingGLEntryGLAccountNo; TempApplyingGLEntry."G/L Account No.") + { + ApplicationArea = Basic, Suite; + Caption = 'G/L Account No.'; + Editable = false; + ToolTip = 'Specifies the number of the account that the entry has been posted to.'; + } + field(ApplyingGLEntryDescription; TempApplyingGLEntry.Description) + { + ApplicationArea = Basic, Suite; + Caption = 'Description'; + Editable = false; + ToolTip = 'Specifies the description of the entry.'; + } + field(ApplyingGLEntryAmount; TempApplyingGLEntry.Amount) + { + ApplicationArea = Basic, Suite; + Caption = 'Amount'; + Editable = false; + ToolTip = 'Specifies the amount to apply.'; + } + field(ApplyingRemainingAmountField; ApplyingRemainingAmount) + { + ApplicationArea = Basic, Suite; + Caption = 'Remaining Amount'; + Editable = false; + ToolTip = 'Specifies the remaining amount of general ledger entries'; + } + } + repeater(Lines) + { + ShowCaption = false; + field("Applies-to ID"; Rec."Applies-to ID CZA") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the ID to apply to the general ledger entry.'; + + trigger OnValidate() + begin + AppliestoIDOnAfterValidate(); + end; + } + field("Posting Date"; Rec."Posting Date") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the date when the posting of the apply general ledger entries will be recorded.'; + } + field("Document Type"; Rec."Document Type") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the original document type which will be applied.'; + Visible = false; + } + field("Document No."; Rec."Document No.") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the entry''s Document No.'; + } + field("G/L Account No."; Rec."G/L Account No.") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the number of the account that the entry has been posted to.'; + } + field(Description; Rec.Description) + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the description of the entry to be applied.'; + } + field(Amount; Rec.Amount) + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the amount of the entry.'; + } + field("Amount to Apply"; Rec."Amount to Apply CZA") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the amount to apply.'; + + trigger OnValidate() + begin + AmounttoApplyOnAfterValidate(); + end; + } + field("Applying Entry"; Rec."Applying Entry CZA") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies that the general ledger entry is an applying entry.'; + Visible = false; + } + field("Applied Amount"; Rec."Applied Amount CZA") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the applied amount for the general ledger entry.'; + } + field(RemainingAmountField; Remaining) + { + ApplicationArea = Basic, Suite; + Caption = 'Remaining Amount'; + ToolTip = 'Specifies the remaining amount of general ledger entries'; + Visible = false; + } + field("Gen. Bus. Posting Group"; Rec."Gen. Bus. Posting Group") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the code for the Gen. Bus. Posting Group that applies to the entry.'; + Visible = false; + } + field("Gen. Prod. Posting Group"; Rec."Gen. Prod. Posting Group") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies the code for the Gen. Prod. Posting Group that applies to the entry.'; + Visible = false; + } + field("VAT Bus. Posting Group"; Rec."VAT Bus. Posting Group") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies a VAT business posting group code.'; + Visible = false; + } + field("VAT Prod. Posting Group"; Rec."VAT Prod. Posting Group") + { + ApplicationArea = Basic, Suite; + Editable = false; + ToolTip = 'Specifies a VAT product posting group code for the VAT Statement.'; + Visible = false; + } + } + group(Amounts) + { + ShowCaption = false; + fixed(AmountFields) + { + ShowCaption = false; + group(AmmountToApply) + { + Caption = 'Amount to Apply'; + field(ApplyingAmountField; ApplyingAmount) + { + ApplicationArea = Basic, Suite; + AutoFormatType = 1; + Caption = 'Amount to Apply'; + Editable = false; + ShowCaption = false; + ToolTip = 'Specifies the apply amount for the general ledger entry.'; + } + } + group(AvailableAmount) + { + Caption = 'Available Amount'; + field(AvailableAmountField; AvailableAmount) + { + ApplicationArea = Basic, Suite; + AutoFormatType = 1; + Caption = 'Available Amount'; + Editable = false; + ToolTip = 'Specifies the amount of the journal entry that you have selected as the applying entry.'; + } + } + group(Balance) + { + Caption = 'Balance'; + field(AvailableAmountPlusApplyingAmountField; AvailableAmount + ApplyingAmount) + { + ApplicationArea = Basic, Suite; + AutoFormatType = 1; + Caption = 'Balance'; + Editable = false; + ToolTip = 'Specifies the description of the entry to be applied.'; + } + } + } + } + } + } + + actions + { + area(navigation) + { + group(Entry) + { + Caption = 'Entry'; + action("Applied E&ntries") + { + ApplicationArea = Basic, Suite; + Caption = 'Applied E&ntries'; + Image = Approve; + RunObject = Page "Applied G/L Entries CZA"; + RunPageOnRec = true; + ToolTip = 'Specifies the apllied entries.'; + } + action(Dimensions) + { + ApplicationArea = Basic, Suite; + Caption = 'Dimensions'; + Image = Dimensions; + ShortCutKey = 'Shift+Ctrl+D'; + ToolTip = 'View the dimension sets that are set up for the entry.'; + + trigger OnAction() + begin + Rec.ShowDimensions(); + end; + } + action("Detailed &Ledger Entries") + { + ApplicationArea = Basic, Suite; + Caption = 'Detailed &Ledger Entries'; + Image = View; + RunObject = Page "Detailed G/L Entries CZA"; + RunPageLink = "G/L Entry No." = field("Entry No."); + RunPageView = sorting("G/L Entry No.", "Posting Date"); + ShortCutKey = 'Ctrl+F7'; + ToolTip = 'Specifies the detailed ledger entries of the entry.'; + } + } + group(Application) + { + Caption = 'Application'; + action("Set Applying Entry") + { + ApplicationArea = Basic, Suite; + Caption = 'Set Applying Entry'; + Visible = not GenJnlLineApply; + Image = Line; + ShortCutKey = 'Shift+F11'; + ToolTip = 'Sets applying entry'; + + trigger OnAction() + begin + if GenJnlLineApply then + exit; + + if TempApplyingGLEntry."Entry No." <> 0 then + RemoveApplyingGLEntry(); + SetApplyingGLEntry(Rec."Entry No."); + end; + } + action("Remove Applying Entry") + { + ApplicationArea = Basic, Suite; + Caption = 'Remove Applying Entry'; + Visible = not GenJnlLineApply; + Image = CancelLine; + ShortCutKey = 'Ctrl+F11'; + ToolTip = 'Removes applying entry'; + + trigger OnAction() + begin + if GenJnlLineApply then + exit; + + RemoveApplyingGLEntry(); + end; + } + action("Set Applies-to ID") + { + ApplicationArea = Basic, Suite; + Caption = 'Set Applies-to ID'; + Image = SelectLineToApply; + ShortCutKey = 'F7'; + ToolTip = 'Sets applies to id'; + + trigger OnAction() + begin + SetAppliesToID(); + end; + } + action("Post Application") + { + ApplicationArea = Basic, Suite; + Caption = 'Post Application'; + Visible = not GenJnlLineApply; + Ellipsis = true; + Image = PostApplication; + ShortCutKey = 'F9'; + ToolTip = 'This batch job posts G/L entries application.'; + + trigger OnAction() + var + CompareOneGLEntry: Record "G/L Entry"; + CompareTwoGLEntry: Record "G/L Entry"; + begin + if not GenJnlLineApply then begin + if TempApplyingGLEntry."Entry No." <> 0 then begin + CompareTwoGLEntry.Get(TempApplyingGLEntry."Entry No."); + CompareTwoGLEntry.CalcFields("Applied Amount CZA"); + WriteToDatabase(); + WriteToDatabase(TempApplyingGLEntry."Entry No."); + + GLEntryPostApplicationCZA.PostApplyGLEntry(TempApplyingGLEntry); + RefreshFromDatabase(); + CurrPage.Update(false); + CompareOneGLEntry.Get(TempApplyingGLEntry."Entry No."); + CompareOneGLEntry.CalcFields("Applied Amount CZA"); + if CompareTwoGLEntry."Applied Amount CZA" <> CompareOneGLEntry."Applied Amount CZA" then + RemoveApplyingGLEntry(); + end else + Error(AppEntryNeedErr); + end else + Error(AppFromWindowErr); + end; + } + action("Show Only Selected Entries to Be Applied") + { + ApplicationArea = Basic, Suite; + Caption = 'Show Only Selected Entries to Be Applied'; + Image = ShowSelected; + ToolTip = 'View the selected ledger entries that will be applied to the specified record. '; + + trigger OnAction() + begin + ShowAppliedEntries := not ShowAppliedEntries; + if ShowAppliedEntries then + Rec.SetRange("Applies-to ID CZA", AppliesToID) + else + Rec.SetRange("Applies-to ID CZA"); + end; + } + } + } + area(processing) + { + action(Navigate) + { + ApplicationArea = Basic, Suite; + Caption = 'Find Entries'; + Image = Navigate; + Ellipsis = true; + ShortCutKey = 'Ctrl+Alt+Q'; + ToolTip = 'Find all entries and documents that exist for the document number and posting date on the selected entry or document.'; + + trigger OnAction() + begin + PageNavigate.SetDoc(Rec."Posting Date", Rec."Document No."); + PageNavigate.Run(); + end; + } + } + area(Promoted) + { + group(Category_Process) + { + actionref("Set Applies-to ID_Promoted"; "Set Applies-to ID") + { + } + actionref("Post Application_Promoted"; "Post Application") + { + } + actionref("Show Only Selected Entries to Be Applied_Promoted"; "Show Only Selected Entries to Be Applied") + { + } + } + group(Category_Category5) + { + Caption = 'Entry'; + + actionref(Navigate_Promoted; Navigate) + { + } + actionref(Dimensions_Promoted; Dimensions) + { + } + actionref("Applied E&ntries_Promoted"; "Applied E&ntries") + { + } + actionref("Detailed &Ledger Entries_Promoted"; "Detailed &Ledger Entries") + { + } + } + } + } + + trigger OnAfterGetRecord() + begin + Remaining := Rec.Amount - Rec."Applied Amount CZA"; + end; + + trigger OnClosePage() + begin + ShowAppliedEntries := false; + WriteToDatabase(); + end; + + trigger OnOpenPage() + var + GLAccount: Record "G/L Account"; + begin + if Rec.GetFilter("G/L Account No.") <> '' then + GLAccount.Get(Rec.GetFilter("G/L Account No.")); + + if GenJnlLineApply then + CalcApplyingAmount() + else + FindApplyingGLEntry(); + end; + + var + PageNavigate: Page Navigate; + ShowAppliedEntries: Boolean; + AppliesToID: Code[50]; + Remaining: Decimal; + ApplyingEntryNo: Integer; + GenJnlLineApply: Boolean; + AppEntryNeedErr: Label 'You must select an applying entry before posting the application.'; + AppFromWindowErr: Label 'You must post the application from the window where you entered the applying entry.'; + ApplyingAmount: Decimal; + + protected var + GLEntry: Record "G/L Entry"; + TempApplyingGLEntry: Record "G/L Entry" temporary; + TempModifiedGLEntry: Record "G/L Entry" temporary; + GLEntryPostApplicationCZA: Codeunit "G/L Entry Post Application CZA"; + ApplyingRemainingAmount: Decimal; + AvailableAmount: Decimal; + + procedure SetApplyingEntry(NewApplyingEntryNo: Integer) + begin + ApplyingEntryNo := NewApplyingEntryNo; + end; + + procedure SetGenJournalLine(NewGenJournalLine: Record "Gen. Journal Line") + begin + GenJnlLineApply := true; + AppliesToID := NewGenJournalLine."Applies-to ID"; + + if NewGenJournalLine."Bal. Account Type" = NewGenJournalLine."Bal. Account Type"::"G/L Account" then + ApplyingAmount := -NewGenJournalLine.Amount; + if NewGenJournalLine."Account Type" = NewGenJournalLine."Account Type"::"G/L Account" then + ApplyingAmount := NewGenJournalLine.Amount; + + TempApplyingGLEntry."Entry No." := 1; + TempApplyingGLEntry."Posting Date" := NewGenJournalLine."Posting Date"; + TempApplyingGLEntry."Document Type" := NewGenJournalLine."Document Type"; + TempApplyingGLEntry."Document No." := NewGenJournalLine."Document No."; + TempApplyingGLEntry."G/L Account No." := NewGenJournalLine."Account No."; + TempApplyingGLEntry.Description := NewGenJournalLine.Description; + TempApplyingGLEntry.Amount := NewGenJournalLine.Amount; + ApplyingRemainingAmount := NewGenJournalLine.Amount; + CalcApplyingAmount(); + end; + + procedure InsertEntry(var NewGLEntry: Record "G/L Entry") + begin + NewGLEntry.FindSet(); + Rec.Copy(NewGLEntry); + repeat + Rec := NewGLEntry; + if not Rec."Closed CZA" then // there is a performance reason why it is not in the filter + Rec.Insert(); + until NewGLEntry.Next() = 0; + end; + + local procedure FindApplyingGLEntry() + begin + AppliesToID := Rec.GetDefaultAppliesToID(); + + if ApplyingEntryNo <> 0 then begin + SetApplyingGLEntry(ApplyingEntryNo); + ApplyingEntryNo := 0; + end else begin + GLEntry.SetCurrentKey("G/L Account No.", "Posting Date"); + GLEntry.SetRange("G/L Account No.", Rec."G/L Account No."); + GLEntry.SetRange("Applies-to ID CZA", AppliesToID); + GLEntry.SetRange("Closed CZA", false); + GLEntry.SetRange("Applying Entry CZA", true); + if GLEntry.FindFirst() then + SetApplyingGLEntry(GLEntry."Entry No."); + end; + CalcApplyingAmount(); + end; + + local procedure SetApplyingGLEntry(EntryNo: Integer) + begin + Rec.Get(EntryNo); + GLEntryPostApplicationCZA.SetApplyingGLEntry(Rec, true, AppliesToID); + if Rec.Amount > 0 then + Rec.SetFilter(Amount, '<0') + else + Rec.SetFilter(Amount, '>0'); + OnSetApplyingGLEntryByEntryNoOnAfterSetFilters(Rec, GLEntryPostApplicationCZA); + Rec."Applying Entry CZA" := true; + Rec.Modify(); + + TempApplyingGLEntry := Rec; + Rec.SetCurrentKey("Entry No."); + Rec.SetFilter("Entry No.", '<> %1', Rec."Entry No."); + AvailableAmount := Rec.Amount - Rec."Applied Amount CZA"; + ApplyingRemainingAmount := Rec.Amount - Rec."Applied Amount CZA"; + CalcApplyingAmount(); + Rec.SetCurrentKey("G/L Account No."); + + if TempModifiedGLEntry.Get(TempApplyingGLEntry."Entry No.") then + TempModifiedGLEntry.Delete(); + end; + + local procedure RemoveApplyingGLEntry() + begin + if Rec.Get(TempApplyingGLEntry."Entry No.") then begin + GLEntryPostApplicationCZA.SetApplyingGLEntry(Rec, false, ''); + Rec.SetRange(Amount); + Rec."Applying Entry CZA" := false; + Rec.Modify(); + + Clear(TempApplyingGLEntry); + Rec.SetCurrentKey("Entry No."); + Rec.SetRange("Entry No."); + AvailableAmount := 0; + ApplyingRemainingAmount := 0; + CalcApplyingAmount(); + end; + end; + + local procedure SetAppliesToID() + var + TempGLEntry: Record "G/L Entry" temporary; + begin + TempGLEntry.Copy(Rec, true); + CurrPage.SetSelectionFilter(TempGLEntry); + if TempGLEntry.FindSet() then + repeat + Rec := TempGLEntry; + SetApplyingGLEntry(Rec, false, AppliesToID); + until TempGLEntry.Next() = 0; + CalcApplyingAmount(); + end; + + local procedure SetApplyingGLEntry(var ApplyingGLEntry: Record "G/L Entry"; IsApplyingEntry: Boolean; AppliesToID: Code[50]) + var + IsHandled: Boolean; + begin + OnBeforeSetApplyingGLEntry(ApplyingGLEntry, IsApplyingEntry, AppliesToID, GLEntryPostApplicationCZA, IsHandled); + if IsHandled then + exit; + GLEntryPostApplicationCZA.SetApplyingGLEntry(ApplyingGLEntry, false, AppliesToID); + SaveSourceRecord(); + end; + + local procedure CalcApplyingAmount() + var + TempGLEntry: Record "G/L Entry" temporary; + begin + ApplyingAmount := 0; + TempGLEntry.Copy(Rec, true); + TempGLEntry.SetRange("Applies-to ID CZA", AppliesToID); + TempGLEntry.CalcSums("Amount to Apply CZA"); + ApplyingAmount := TempGLEntry."Amount to Apply CZA"; + CurrPage.Update(false); + end; + + local procedure AppliestoIDOnAfterValidate() + begin + if (Rec."Applies-to ID CZA" = AppliesToID) and (Rec."Amount to Apply CZA" = 0) then + SetAppliesToID(); + + if Rec."Applies-to ID CZA" = '' then begin + Rec."Applies-to ID CZA" := ''; + Rec."Amount to Apply CZA" := 0; + ModifySourceRecord(); + end; + end; + + local procedure AmounttoApplyOnAfterValidate() + begin + if Rec."Amount to Apply CZA" <> 0 then + Rec."Applies-to ID CZA" := AppliesToID + else + Rec."Applies-to ID CZA" := ''; + ModifySourceRecord(); + CalcApplyingAmount(); + end; + + local procedure ModifySourceRecord() + begin + Rec.Modify(); + SaveSourceRecord(); + end; + + local procedure SaveSourceRecord() + begin + if not TempModifiedGLEntry.Get(Rec."Entry No.") then begin + TempModifiedGLEntry := Rec; + TempModifiedGLEntry.Insert(); + end; + end; + + local procedure WriteToDatabase() + begin + TempModifiedGLEntry.Reset(); + if TempModifiedGLEntry.FindSet() then + repeat + WriteToDatabase(TempModifiedGLEntry."Entry No."); + until TempModifiedGLEntry.Next() = 0; + end; + + local procedure WriteToDatabase(EntryNo: Integer) + begin + Rec.Get(EntryNo); + Codeunit.Run(Codeunit::"G/L Entry-Edit", Rec); + end; + + local procedure RefreshFromDatabase() + var + TempGLEntry: Record "G/L Entry" temporary; + begin + TempModifiedGLEntry.SetRange("Applies-to ID CZA", TempApplyingGLEntry."Applies-to ID CZA"); + TempModifiedGLEntry.DeleteAll(); + + TempGLEntry.Copy(Rec, true); + TempGLEntry.SetRange("Applies-to ID CZA", TempApplyingGLEntry."Applies-to ID CZA"); + if TempGLEntry.FindSet() then + repeat + GLEntry.Get(TempGLEntry."Entry No."); + Rec := GLEntry; + if GLEntry."Closed CZA" then + Rec.Delete() + else + Rec.Modify(); + until TempGLEntry.Next() = 0; + end; + + [IntegrationEvent(true, false)] + local procedure OnBeforeSetApplyingGLEntry(var GLEntry: Record "G/L Entry"; IsApplyingEntry: Boolean; AppliesToID: Code[50]; var GLEntryPostApplicationCZA: Codeunit "G/L Entry Post Application CZA"; var IsHandled: Boolean); + begin + end; + + [IntegrationEvent(true, false)] + local procedure OnSetApplyingGLEntryByEntryNoOnAfterSetFilters(var GLEntry: Record "G/L Entry"; var GLEntryPostApplicationCZA: Codeunit Microsoft.Finance.GeneralLedger.Posting."G/L Entry Post Application CZA") + begin + end; +} diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjectsCZA.PermissionSet.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjectsCZA.PermissionSet.al index 95364daf70..580ad1b639 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjectsCZA.PermissionSet.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/Permissions/CZAdvancePackObjectsCZA.PermissionSet.al @@ -15,7 +15,12 @@ codeunit "Gen. Jnl.-Apply Handler CZA" = X, codeunit "Gen. Jnl.Post Line Handler CZA" = X, codeunit "Gen. Journal Line Handler CZA" = X, +#if not CLEAN26 +#pragma warning disable AL0432 codeunit "G/L Entry - Edit CZA" = X, +#pragma warning restore AL0432 +#endif + codeunit "G/L Entry Edit Handler CZA" = X, codeunit "G/L Entry Post Application CZA" = X, codeunit "Install Application CZA" = X, codeunit "ItemJnl-Check Line Handler CZA" = X, @@ -39,7 +44,12 @@ codeunit "Upgrade Application CZA" = X, codeunit "Upgrade Tag Definitions CZA" = X, page "Applied G/L Entries CZA" = X, +#if not CLEAN26 +#pragma warning disable AL0432 page "Apply G/L Entries CZA" = X, +#pragma warning restore AL0432 +#endif + page "Apply Gen. Ledger Entries CZA" = X, page "Detailed G/L Entries CZA" = X, page "Unapply G/L Entries CZA" = X, report "G/L Entry Applying CZA" = X, diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntryCZA.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntryCZA.TableExt.al index 5567144f94..6fe8654c6b 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntryCZA.TableExt.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/GLEntryCZA.TableExt.al @@ -16,13 +16,6 @@ tableextension 31265 "G/L Entry CZA" extends "G/L Entry" field(11783; "Applies-to ID CZA"; Code[50]) { Caption = 'Applies-to ID'; - - trigger OnValidate() - var - ApplyGLEntriesCZA: Page "Apply G/L Entries CZA"; - begin - ApplyGLEntriesCZA.CheckAppliesToID(Rec); - end; } field(11784; "Date Filter CZA"; Date) { @@ -73,6 +66,9 @@ tableextension 31265 "G/L Entry CZA" extends "G/L Entry" } } + var + DefaultAppliesToIDTok: Label '***', Locked = true; + procedure RemainingAmountCZA() Result: Decimal var IsHandled: Boolean; @@ -90,6 +86,19 @@ tableextension 31265 "G/L Entry CZA" extends "G/L Entry" exit(Result); end; + procedure GetDefaultAppliesToID() AppliesToID: Code[50] + begin + AppliesToID := CopyStr(UserId, 1, MaxStrLen(AppliesToID)); + if AppliesToID = '' then + AppliesToID := DefaultAppliesToIDTok; + end; + + procedure CheckAppliesToID() + begin + if "Applies-to ID CZA" <> '' then + TestField("Applies-to ID CZA", GetDefaultAppliesToID()); + end; + [IntegrationEvent(true, false)] local procedure OnBeforeRemainingAmountCZA(var GLEntry: Record "G/L Entry"; var Result: Decimal; var IsHandled: Boolean) begin diff --git a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZA.TableExt.al b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZA.TableExt.al index e1e94f26eb..1d99741975 100644 --- a/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZA.TableExt.al +++ b/Apps/CZ/AdvancedLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZA.TableExt.al @@ -65,4 +65,26 @@ tableextension 31251 "Item Journal Line CZA" extends "Item Journal Line" if "Gen. Bus. Posting Group" <> '' then GeneralPostingSetup.Get("Gen. Bus. Posting Group", "Gen. Prod. Posting Group"); end; + + procedure CheckInventoryPostingGroupCZA() + var + Item: Record Item; + IsHandled: Boolean; + begin + OnBeforeCheckInventoryPostingGroupCZA(Rec, IsHandled); + if IsHandled then + exit; + + if ("Item No." = '') or ("Inventory Posting Group" = '') then + exit; + + Item.Get("Item No."); + if Item.Type = Item.Type::Inventory then + TestField("Inventory Posting Group", Item."Inventory Posting Group"); + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeCheckInventoryPostingGroupCZA(ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean) + begin + end; } diff --git a/Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntriesCZA.Codeunit.al b/Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntriesCZA.Codeunit.al index 329b051a71..eed6eb89fd 100644 --- a/Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntriesCZA.Codeunit.al +++ b/Apps/CZ/AdvancedLocalizationPack/test/Src/ApplyingGLEntriesCZA.Codeunit.al @@ -239,23 +239,23 @@ codeunit 148081 "Applying G/L Entries CZA" end; [ModalPageHandler] - procedure ModalApplyGLEntriesHandler(var ApplyGLEntriesCZA: TestPage "Apply G/L Entries CZA") + procedure ModalApplyGLEntriesHandler(var ApplyGenLedgerEntriesCZA: TestPage "Apply Gen. Ledger Entries CZA") var FieldVariant: Variant; begin LibraryVariableStorage.Dequeue(FieldVariant); - ApplyGLEntriesCZA.Filter.SetFilter("Document No.", FieldVariant); - ApplyGLEntriesCZA.First(); + ApplyGenLedgerEntriesCZA.Filter.SetFilter("Document No.", FieldVariant); + ApplyGenLedgerEntriesCZA.First(); LibraryVariableStorage.Dequeue(FieldVariant); if FieldVariant.IsCode then begin - ApplyGLEntriesCZA."Set Applies-to ID".Invoke(); - ApplyGLEntriesCZA."Applies-to ID".AssertEquals(FieldVariant); + ApplyGenLedgerEntriesCZA."Set Applies-to ID".Invoke(); + ApplyGenLedgerEntriesCZA."Applies-to ID".AssertEquals(FieldVariant); end; if FieldVariant.IsDecimal then begin - ApplyGLEntriesCZA."Amount to Apply".SetValue(FieldVariant); - ApplyGLEntriesCZA."Post Application".Invoke(); + ApplyGenLedgerEntriesCZA."Amount to Apply".SetValue(FieldVariant); + ApplyGenLedgerEntriesCZA."Post Application".Invoke(); end; - ApplyGLEntriesCZA.OK().Invoke(); + ApplyGenLedgerEntriesCZA.OK().Invoke(); end; [ModalPageHandler] diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplicationCZB.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplicationCZB.Codeunit.al index 927ced19b4..a19c107dea 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplicationCZB.Codeunit.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/InstallApplicationCZB.Codeunit.al @@ -11,7 +11,6 @@ using Microsoft.Bank.Payment; using Microsoft.Bank.Reconciliation; using Microsoft.Bank.Setup; using Microsoft.Foundation.Company; -using System.Security.User; using System.Upgrade; #pragma warning disable AL0432,AL0603 @@ -60,43 +59,17 @@ codeunit 31330 "Install Application CZB" local procedure CopyPermission(); begin NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Bank Statement Header", Database::"Bank Statement Header CZB"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Bank Statement Line", Database::"Bank Statement Line CZB"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Issued Bank Statement Header", Database::"Iss. Bank Statement Header CZB"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Issued Bank Statement Line", Database::"Iss. Bank Statement Line CZB"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Payment Order Header", Database::"Payment Order Header CZB"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Payment Order Line", Database::"Payment Order Line CZB"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Issued Payment Order Header", Database::"Iss. Payment Order Header CZB"); InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Iss. Payment Order Line CZB", Database::"Iss. Payment Order Line CZB"); end; local procedure CopyUsage(); begin - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Bank Statement Header", Database::"Bank Statement Header CZB"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Bank Statement Line", Database::"Bank Statement Line CZB"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Issued Bank Statement Header", Database::"Iss. Bank Statement Header CZB"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Issued Bank Statement Line", Database::"Iss. Bank Statement Line CZB"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Payment Order Header", Database::"Payment Order Header CZB"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Payment Order Line", Database::"Payment Order Line CZB"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Issued Payment Order Header", Database::"Iss. Payment Order Header CZB"); InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Iss. Payment Order Line CZB", Database::"Iss. Payment Order Line CZB"); end; local procedure CopyData() begin CopyBankAccount(); - CopyBankAccReconciliation(); - CopyBankStatementHeader(); - CopyBankStatementLine(); - CopyPaymentOrderHeader(); - CopyPaymentOrderLine(); - CopyIssuedBankStatementHeader(); - CopyIssuedBankStatementLine(); - CopyIssuedPaymentOrderHeader(); - CopyIssuedPaymentOrderLine(); - CopyUserSetup(); - CopyBankExportImportSetup(); - CopyPaymentExportData(); InitExpLauncherSEPA(); end; @@ -106,396 +79,12 @@ codeunit 31330 "Install Application CZB" begin if BankAccount.FindSet() then repeat - BankAccount."Default Constant Symbol CZB" := BankAccount."Default Constant Symbol"; - BankAccount."Default Specific Symbol CZB" := BankAccount."Default Specific Symbol"; BankAccount."Domestic Payment Order ID CZB" := Report::"Iss. Payment Order CZB"; BankAccount."Foreign Payment Order ID CZB" := Report::"Iss. Payment Order CZB"; - BankAccount."Dimension from Apply Entry CZB" := BankAccount."Dimension from Apply Entry"; - BankAccount."Check Ext. No. Curr. Year CZB" := BankAccount."Check Ext. No. by Current Year"; - BankAccount."Check CZ Format on Issue CZB" := BankAccount."Check Czech Format on Issue"; - BankAccount."Variable S. to Description CZB" := BankAccount."Variable S. to Description"; - BankAccount."Variable S. to Variable S. CZB" := BankAccount."Variable S. to Variable S."; - BankAccount."Variable S. to Ext.Doc.No. CZB" := BankAccount."Variable S. to Ext. Doc.No."; - BankAccount."Foreign Payment Orders CZB" := BankAccount."Foreign Payment Orders"; - BankAccount."Post Per Line CZB" := BankAccount."Post Per Line"; - BankAccount."Payment Partial Suggestion CZB" := BankAccount."Payment Partial Suggestion"; - BankAccount."Payment Order Line Descr. CZB" := BankAccount."Payment Order Line Description"; - BankAccount."Non Assoc. Payment Account CZB" := BankAccount."Non Associated Payment Account"; - BankAccount."Base Calendar Code CZB" := BankAccount."Base Calendar Code"; - BankAccount."Payment Jnl. Template Name CZB" := BankAccount."Payment Jnl. Template Name"; - BankAccount."Payment Jnl. Batch Name CZB" := BankAccount."Payment Jnl. Batch Name"; - BankAccount."Foreign Payment Ex. Format CZB" := BankAccount."Foreign Payment Export Format"; - BankAccount."Payment Import Format CZB" := BankAccount."Payment Import Format"; - BankAccount."Payment Order Nos. CZB" := BankAccount."Payment Order Nos."; - BankAccount."Issued Payment Order Nos. CZB" := BankAccount."Issued Payment Order Nos."; - BankAccount."Bank Statement Nos. CZB" := BankAccount."Bank Statement Nos."; - BankAccount."Issued Bank Statement Nos. CZB" := BankAccount."Issued Bank Statement Nos."; BankAccount.Modify(false); until BankAccount.Next() = 0; end; - local procedure CopyBankAccReconciliation(); - var - BankAccReconciliation: Record "Bank Acc. Reconciliation"; - BankAccReconciliationDataTransfer: DataTransfer; - begin - BankAccReconciliationDataTransfer.SetTables(Database::"Bank Acc. Reconciliation", Database::"Bank Acc. Reconciliation"); - BankAccReconciliationDataTransfer.AddFieldValue(BankAccReconciliation.FieldNo("Created From Iss. Bank Stat."), BankAccReconciliation.FieldNo("Created From Bank Stat. CZB")); - BankAccReconciliationDataTransfer.CopyFields(); - end; - - local procedure CopyBankStatementHeader(); - var - BankStatementHeader: Record "Bank Statement Header"; - BankStatementHeaderCZB: Record "Bank Statement Header CZB"; - begin - if BankStatementHeader.FindSet() then - repeat - if not BankStatementHeaderCZB.Get(BankStatementHeader."No.") then begin - BankStatementHeaderCZB.Init(); - BankStatementHeaderCZB."No." := BankStatementHeader."No."; - BankStatementHeaderCZB.SystemId := BankStatementHeader.SystemId; - BankStatementHeaderCZB.Insert(false, true); - end; - BankStatementHeaderCZB."No. Series" := BankStatementHeader."No. Series"; - BankStatementHeaderCZB."Bank Account No." := BankStatementHeader."Bank Account No."; - BankStatementHeaderCZB."Account No." := BankStatementHeader."Account No."; - BankStatementHeaderCZB."Document Date" := BankStatementHeader."Document Date"; - BankStatementHeaderCZB."Currency Code" := BankStatementHeader."Currency Code"; - BankStatementHeaderCZB."Currency Factor" := BankStatementHeader."Currency Factor"; - BankStatementHeaderCZB."Bank Statement Currency Code" := BankStatementHeader."Bank Statement Currency Code"; - BankStatementHeaderCZB."Bank Statement Currency Factor" := BankStatementHeader."Bank Statement Currency Factor"; - BankStatementHeaderCZB."Last Issuing No." := BankStatementHeader."Last Issuing No."; - BankStatementHeaderCZB."External Document No." := BankStatementHeader."External Document No."; - BankStatementHeaderCZB."File Name" := BankStatementHeader."File Name"; - BankStatementHeaderCZB."Check Amount" := BankStatementHeader."Check Amount"; - BankStatementHeaderCZB."Check Amount (LCY)" := BankStatementHeader."Check Amount (LCY)"; - BankStatementHeaderCZB."Check Debit" := BankStatementHeader."Check Debit"; - BankStatementHeaderCZB."Check Debit (LCY)" := BankStatementHeader."Check Debit (LCY)"; - BankStatementHeaderCZB."Check Credit" := BankStatementHeader."Check Credit"; - BankStatementHeaderCZB."Check Credit (LCY)" := BankStatementHeader."Check Credit (LCY)"; - BankStatementHeaderCZB.IBAN := BankStatementHeader.IBAN; - BankStatementHeaderCZB."SWIFT Code" := BankStatementHeader."SWIFT Code"; - BankStatementHeaderCZB.Modify(false); - until BankStatementHeader.Next() = 0; - end; - - local procedure CopyBankStatementLine(); - var - BankStatementLine: Record "Bank Statement Line"; - BankStatementLineCZB: Record "Bank Statement Line CZB"; - begin - if BankStatementLine.FindSet() then - repeat - if not BankStatementLineCZB.Get(BankStatementLine."Bank Statement No.", BankStatementLine."Line No.") then begin - BankStatementLineCZB.Init(); - BankStatementLineCZB."Bank Statement No." := BankStatementLine."Bank Statement No."; - BankStatementLineCZB."Line No." := BankStatementLine."Line No."; - BankStatementLineCZB.SystemId := BankStatementLine.SystemId; - BankStatementLineCZB.Insert(false, true); - end; - BankStatementLineCZB.Type := BankStatementLine.Type; - BankStatementLineCZB."No." := BankStatementLine."No."; - BankStatementLineCZB."Cust./Vendor Bank Account Code" := BankStatementLine."Cust./Vendor Bank Account Code"; - BankStatementLineCZB.Description := BankStatementLine.Description; - BankStatementLineCZB."Account No." := BankStatementLine."Account No."; - BankStatementLineCZB."Variable Symbol" := BankStatementLine."Variable Symbol"; - BankStatementLineCZB."Constant Symbol" := BankStatementLine."Constant Symbol"; - BankStatementLineCZB."Specific Symbol" := BankStatementLine."Specific Symbol"; - BankStatementLineCZB.Amount := BankStatementLine.Amount; - BankStatementLineCZB."Amount (LCY)" := BankStatementLine."Amount (LCY)"; - BankStatementLineCZB.Positive := BankStatementLine.Positive; - BankStatementLineCZB."Transit No." := BankStatementLine."Transit No."; - BankStatementLineCZB."Currency Code" := BankStatementLine."Currency Code"; - BankStatementLineCZB."Bank Statement Currency Code" := BankStatementLine."Bank Statement Currency Code"; - BankStatementLineCZB."Amount (Bank Stat. Currency)" := BankStatementLine."Amount (Bank Stat. Currency)"; - BankStatementLineCZB."Bank Statement Currency Factor" := BankStatementLine."Bank Statement Currency Factor"; - BankStatementLineCZB.IBAN := BankStatementLine.IBAN; - BankStatementLineCZB."SWIFT Code" := BankStatementLine."SWIFT Code"; - BankStatementLineCZB.Name := BankStatementLine.Name; - BankStatementLineCZB.Modify(false); - until BankStatementLine.Next() = 0; - end; - - local procedure CopyPaymentOrderHeader(); - var - PaymentOrderHeader: Record "Payment Order Header"; - PaymentOrderHeaderCZB: Record "Payment Order Header CZB"; - begin - if PaymentOrderHeader.FindSet() then - repeat - if not PaymentOrderHeaderCZB.Get(PaymentOrderHeader."No.") then begin - PaymentOrderHeaderCZB.Init(); - PaymentOrderHeaderCZB."No." := PaymentOrderHeader."No."; - PaymentOrderHeaderCZB.SystemId := PaymentOrderHeader.SystemId; - PaymentOrderHeaderCZB.Insert(false, true); - end; - PaymentOrderHeaderCZB."No. Series" := PaymentOrderHeader."No. Series"; - PaymentOrderHeaderCZB."Bank Account No." := PaymentOrderHeader."Bank Account No."; - PaymentOrderHeaderCZB."Account No." := PaymentOrderHeader."Account No."; - PaymentOrderHeaderCZB."Document Date" := PaymentOrderHeader."Document Date"; - PaymentOrderHeaderCZB."Currency Code" := PaymentOrderHeader."Currency Code"; - PaymentOrderHeaderCZB."Currency Factor" := PaymentOrderHeader."Currency Factor"; - PaymentOrderHeaderCZB."Payment Order Currency Code" := PaymentOrderHeader."Payment Order Currency Code"; - PaymentOrderHeaderCZB."Payment Order Currency Factor" := PaymentOrderHeader."Payment Order Currency Factor"; - PaymentOrderHeaderCZB."Last Issuing No." := PaymentOrderHeader."Last Issuing No."; - PaymentOrderHeaderCZB."External Document No." := PaymentOrderHeader."External Document No."; - PaymentOrderHeaderCZB."File Name" := PaymentOrderHeader."File Name"; - PaymentOrderHeaderCZB."Foreign Payment Order" := PaymentOrderHeader."Foreign Payment Order"; - PaymentOrderHeaderCZB.IBAN := PaymentOrderHeader.IBAN; - PaymentOrderHeaderCZB."SWIFT Code" := PaymentOrderHeader."SWIFT Code"; - PaymentOrderHeaderCZB."Unreliable Pay. Check DateTime" := PaymentOrderHeader."Uncertainty Pay.Check DateTime"; - PaymentOrderHeaderCZB.Modify(false); - until PaymentOrderHeader.Next() = 0; - end; - - local procedure CopyPaymentOrderLine(); - var - PaymentOrderLine: Record "Payment Order Line"; - PaymentOrderLineCZB: Record "Payment Order Line CZB"; - begin - if PaymentOrderLine.FindSet() then - repeat - if not PaymentOrderLineCZB.Get(PaymentOrderLine."Payment Order No.", PaymentOrderLine."Line No.") then begin - PaymentOrderLineCZB.Init(); - PaymentOrderLineCZB."Payment Order No." := PaymentOrderLine."Payment Order No."; - PaymentOrderLineCZB."Line No." := PaymentOrderLine."Line No."; - PaymentOrderLineCZB.SystemId := PaymentOrderLine.SystemId; - PaymentOrderLineCZB.Insert(false, true); - end; - PaymentOrderLineCZB.Type := PaymentOrderLine.Type; - PaymentOrderLineCZB."No." := PaymentOrderLine."No."; - PaymentOrderLineCZB."Cust./Vendor Bank Account Code" := PaymentOrderLine."Cust./Vendor Bank Account Code"; - PaymentOrderLineCZB.Description := PaymentOrderLine.Description; - PaymentOrderLineCZB."Account No." := PaymentOrderLine."Account No."; - PaymentOrderLineCZB."Variable Symbol" := PaymentOrderLine."Variable Symbol"; - PaymentOrderLineCZB."Constant Symbol" := PaymentOrderLine."Constant Symbol"; - PaymentOrderLineCZB."Specific Symbol" := PaymentOrderLine."Specific Symbol"; - PaymentOrderLineCZB.Amount := PaymentOrderLine."Amount to Pay"; - PaymentOrderLineCZB."Amount (LCY)" := PaymentOrderLine."Amount (LCY) to Pay"; - PaymentOrderLineCZB."Applies-to Doc. Type" := PaymentOrderLine."Applies-to Doc. Type"; - PaymentOrderLineCZB."Applies-to Doc. No." := PaymentOrderLine."Applies-to Doc. No."; - PaymentOrderLineCZB."Applies-to C/V/E Entry No." := PaymentOrderLine."Applies-to C/V/E Entry No."; - PaymentOrderLineCZB.Positive := PaymentOrderLine.Positive; - PaymentOrderLineCZB."Transit No." := PaymentOrderLine."Transit No."; - PaymentOrderLineCZB."Currency Code" := PaymentOrderLine."Currency Code"; - PaymentOrderLineCZB."Applied Currency Code" := PaymentOrderLine."Applied Currency Code"; - PaymentOrderLineCZB."Payment Order Currency Code" := PaymentOrderLine."Payment Order Currency Code"; - PaymentOrderLineCZB."Amount (Paym. Order Currency)" := PaymentOrderLine."Amount(Pay.Order Curr.) to Pay"; - PaymentOrderLineCZB."Payment Order Currency Factor" := PaymentOrderLine."Payment Order Currency Factor"; - PaymentOrderLineCZB."Due Date" := PaymentOrderLine."Due Date"; - PaymentOrderLineCZB.IBAN := PaymentOrderLine.IBAN; - PaymentOrderLineCZB."SWIFT Code" := PaymentOrderLine."SWIFT Code"; - PaymentOrderLineCZB."Amount Must Be Checked" := PaymentOrderLine."Amount Must Be Checked"; - PaymentOrderLineCZB.Name := PaymentOrderLine.Name; - PaymentOrderLineCZB."Original Amount" := PaymentOrderLine."Original Amount"; - PaymentOrderLineCZB."Original Amount (LCY)" := PaymentOrderLine."Original Amount (LCY)"; - PaymentOrderLineCZB."Orig. Amount(Pay.Order Curr.)" := PaymentOrderLine."Orig. Amount(Pay.Order Curr.)"; - PaymentOrderLineCZB."Original Due Date" := PaymentOrderLine."Original Due Date"; - PaymentOrderLineCZB."Skip Payment" := PaymentOrderLine."Skip Payment"; - PaymentOrderLineCZB."Pmt. Discount Date" := PaymentOrderLine."Pmt. Discount Date"; - PaymentOrderLineCZB."Pmt. Discount Possible" := PaymentOrderLine."Pmt. Discount Possible"; - PaymentOrderLineCZB."VAT Unreliable Payer" := PaymentOrderLine."VAT Uncertainty Payer"; - PaymentOrderLineCZB."Public Bank Account" := PaymentOrderLine."Public Bank Account"; - PaymentOrderLineCZB."Payment Method Code" := PaymentOrderLine."Payment Method Code"; - PaymentOrderLineCZB.Modify(false); - until PaymentOrderLine.Next() = 0; - end; - - local procedure CopyIssuedBankStatementHeader(); - var - IssuedBankStatementHeader: Record "Issued Bank Statement Header"; - IssBankStatementHeaderCZB: Record "Iss. Bank Statement Header CZB"; - begin - if IssuedBankStatementHeader.FindSet() then - repeat - if not IssBankStatementHeaderCZB.Get(IssuedBankStatementHeader."No.") then begin - IssBankStatementHeaderCZB.Init(); - IssBankStatementHeaderCZB."No." := IssuedBankStatementHeader."No."; - IssBankStatementHeaderCZB.SystemId := IssuedBankStatementHeader.SystemId; - IssBankStatementHeaderCZB.Insert(false, true); - end; - IssBankStatementHeaderCZB."No. Series" := IssuedBankStatementHeader."No. Series"; - IssBankStatementHeaderCZB."Bank Account No." := IssuedBankStatementHeader."Bank Account No."; - IssBankStatementHeaderCZB."Account No." := IssuedBankStatementHeader."Account No."; - IssBankStatementHeaderCZB."Document Date" := IssuedBankStatementHeader."Document Date"; - IssBankStatementHeaderCZB."Currency Code" := IssuedBankStatementHeader."Currency Code"; - IssBankStatementHeaderCZB."Currency Factor" := IssuedBankStatementHeader."Currency Factor"; - IssBankStatementHeaderCZB."Bank Statement Currency Code" := IssuedBankStatementHeader."Bank Statement Currency Code"; - IssBankStatementHeaderCZB."Bank Statement Currency Factor" := IssuedBankStatementHeader."Bank Statement Currency Factor"; - IssBankStatementHeaderCZB."Pre-Assigned No. Series" := IssuedBankStatementHeader."Pre-Assigned No. Series"; - IssBankStatementHeaderCZB."Pre-Assigned No." := IssuedBankStatementHeader."Pre-Assigned No."; - IssBankStatementHeaderCZB."Pre-Assigned User ID" := IssuedBankStatementHeader."Pre-Assigned User ID"; - IssBankStatementHeaderCZB."External Document No." := IssuedBankStatementHeader."External Document No."; - IssBankStatementHeaderCZB."File Name" := IssuedBankStatementHeader."File Name"; - IssBankStatementHeaderCZB."Check Amount" := IssuedBankStatementHeader."Check Amount"; - IssBankStatementHeaderCZB."Check Amount (LCY)" := IssuedBankStatementHeader."Check Amount (LCY)"; - IssBankStatementHeaderCZB."Check Debit" := IssuedBankStatementHeader."Check Debit"; - IssBankStatementHeaderCZB."Check Debit (LCY)" := IssuedBankStatementHeader."Check Debit (LCY)"; - IssBankStatementHeaderCZB."Check Credit" := IssuedBankStatementHeader."Check Credit"; - IssBankStatementHeaderCZB."Check Credit (LCY)" := IssuedBankStatementHeader."Check Credit (LCY)"; - IssBankStatementHeaderCZB.IBAN := IssuedBankStatementHeader.IBAN; - IssBankStatementHeaderCZB."SWIFT Code" := IssuedBankStatementHeader."SWIFT Code"; - IssBankStatementHeaderCZB."Payment Reconciliation Status" := IssuedBankStatementHeader."Payment Reconciliation Status"; - IssBankStatementHeaderCZB.Modify(false); - until IssuedBankStatementHeader.Next() = 0; - end; - - local procedure CopyIssuedBankStatementLine(); - var - IssuedBankStatementLine: Record "Issued Bank Statement Line"; - IssBankStatementLineCZB: Record "Iss. Bank Statement Line CZB"; - begin - if IssuedBankStatementLine.FindSet() then - repeat - if not IssBankStatementLineCZB.Get(IssuedBankStatementLine."Bank Statement No.", IssuedBankStatementLine."Line No.") then begin - IssBankStatementLineCZB.Init(); - IssBankStatementLineCZB."Bank Statement No." := IssuedBankStatementLine."Bank Statement No."; - IssBankStatementLineCZB."Line No." := IssuedBankStatementLine."Line No."; - IssBankStatementLineCZB.SystemId := IssuedBankStatementLine.SystemId; - IssBankStatementLineCZB.Insert(false, true); - end; - IssBankStatementLineCZB.Type := IssuedBankStatementLine.Type; - IssBankStatementLineCZB."No." := IssuedBankStatementLine."No."; - IssBankStatementLineCZB."Cust./Vendor Bank Account Code" := IssuedBankStatementLine."Cust./Vendor Bank Account Code"; - IssBankStatementLineCZB.Description := IssuedBankStatementLine.Description; - IssBankStatementLineCZB."Account No." := IssuedBankStatementLine."Account No."; - IssBankStatementLineCZB."Variable Symbol" := IssuedBankStatementLine."Variable Symbol"; - IssBankStatementLineCZB."Constant Symbol" := IssuedBankStatementLine."Constant Symbol"; - IssBankStatementLineCZB."Specific Symbol" := IssuedBankStatementLine."Specific Symbol"; - IssBankStatementLineCZB.Amount := IssuedBankStatementLine.Amount; - IssBankStatementLineCZB."Amount (LCY)" := IssuedBankStatementLine."Amount (LCY)"; - IssBankStatementLineCZB.Positive := IssuedBankStatementLine.Positive; - IssBankStatementLineCZB."Transit No." := IssuedBankStatementLine."Transit No."; - IssBankStatementLineCZB."Currency Code" := IssuedBankStatementLine."Currency Code"; - IssBankStatementLineCZB."Bank Statement Currency Code" := IssuedBankStatementLine."Bank Statement Currency Code"; - IssBankStatementLineCZB."Amount (Bank Stat. Currency)" := IssuedBankStatementLine."Amount (Bank Stat. Currency)"; - IssBankStatementLineCZB."Bank Statement Currency Factor" := IssuedBankStatementLine."Bank Statement Currency Factor"; - IssBankStatementLineCZB.IBAN := IssuedBankStatementLine.IBAN; - IssBankStatementLineCZB."SWIFT Code" := IssuedBankStatementLine."SWIFT Code"; - IssBankStatementLineCZB.Name := IssuedBankStatementLine.Name; - IssBankStatementLineCZB.Modify(false); - until IssuedBankStatementLine.Next() = 0; - end; - - local procedure CopyIssuedPaymentOrderHeader(); - var - IssuedPaymentOrderHeader: Record "Issued Payment Order Header"; - IssPaymentOrderHeaderCZB: Record "Iss. Payment Order Header CZB"; - begin - if IssuedPaymentOrderHeader.FindSet() then - repeat - if not IssPaymentOrderHeaderCZB.Get(IssuedPaymentOrderHeader."No.") then begin - IssPaymentOrderHeaderCZB.Init(); - IssPaymentOrderHeaderCZB."No." := IssuedPaymentOrderHeader."No."; - IssPaymentOrderHeaderCZB.SystemId := IssuedPaymentOrderHeader.SystemId; - IssPaymentOrderHeaderCZB.Insert(false, true); - end; - IssPaymentOrderHeaderCZB."No. Series" := IssuedPaymentOrderHeader."No. Series"; - IssPaymentOrderHeaderCZB."Bank Account No." := IssuedPaymentOrderHeader."Bank Account No."; - IssPaymentOrderHeaderCZB."Account No." := IssuedPaymentOrderHeader."Account No."; - IssPaymentOrderHeaderCZB."Document Date" := IssuedPaymentOrderHeader."Document Date"; - IssPaymentOrderHeaderCZB."Currency Code" := IssuedPaymentOrderHeader."Currency Code"; - IssPaymentOrderHeaderCZB."Currency Factor" := IssuedPaymentOrderHeader."Currency Factor"; - IssPaymentOrderHeaderCZB."Payment Order Currency Code" := IssuedPaymentOrderHeader."Payment Order Currency Code"; - IssPaymentOrderHeaderCZB."Payment Order Currency Factor" := IssuedPaymentOrderHeader."Payment Order Currency Factor"; - IssPaymentOrderHeaderCZB."Pre-Assigned No. Series" := IssuedPaymentOrderHeader."Pre-Assigned No. Series"; - IssPaymentOrderHeaderCZB."Pre-Assigned No." := IssuedPaymentOrderHeader."Pre-Assigned No."; - IssPaymentOrderHeaderCZB."Pre-Assigned User ID" := IssuedPaymentOrderHeader."Pre-Assigned User ID"; - IssPaymentOrderHeaderCZB."External Document No." := IssuedPaymentOrderHeader."External Document No."; - IssPaymentOrderHeaderCZB."No. Exported" := IssuedPaymentOrderHeader."No. Exported"; - IssPaymentOrderHeaderCZB."File Name" := IssuedPaymentOrderHeader."File Name"; - IssPaymentOrderHeaderCZB."Foreign Payment Order" := IssuedPaymentOrderHeader."Foreign Payment Order"; - IssPaymentOrderHeaderCZB.IBAN := IssuedPaymentOrderHeader.IBAN; - IssPaymentOrderHeaderCZB."SWIFT Code" := IssuedPaymentOrderHeader."SWIFT Code"; - IssPaymentOrderHeaderCZB."Unreliable Pay. Check DateTime" := IssuedPaymentOrderHeader."Uncertainty Pay.Check DateTime"; - IssPaymentOrderHeaderCZB.Modify(false); - until IssuedPaymentOrderHeader.Next() = 0; - end; - - local procedure CopyIssuedPaymentOrderLine(); - var - IssuedPaymentOrderLine: Record "Issued Payment Order Line"; - IssPaymentOrderLineCZB: Record "Iss. Payment Order Line CZB"; - begin - if IssuedPaymentOrderLine.FindSet() then - repeat - if not IssPaymentOrderLineCZB.Get(IssuedPaymentOrderLine."Payment Order No.", IssuedPaymentOrderLine."Line No.") then begin - IssPaymentOrderLineCZB.Init(); - IssPaymentOrderLineCZB."Payment Order No." := IssuedPaymentOrderLine."Payment Order No."; - IssPaymentOrderLineCZB."Line No." := IssuedPaymentOrderLine."Line No."; - IssPaymentOrderLineCZB.SystemId := IssuedPaymentOrderLine.SystemId; - IssPaymentOrderLineCZB.Insert(false, true); - end; - IssPaymentOrderLineCZB.Type := IssuedPaymentOrderLine.Type; - IssPaymentOrderLineCZB."No." := IssuedPaymentOrderLine."No."; - IssPaymentOrderLineCZB."Cust./Vendor Bank Account Code" := IssuedPaymentOrderLine."Cust./Vendor Bank Account Code"; - IssPaymentOrderLineCZB.Description := IssuedPaymentOrderLine.Description; - IssPaymentOrderLineCZB."Account No." := IssuedPaymentOrderLine."Account No."; - IssPaymentOrderLineCZB."Variable Symbol" := IssuedPaymentOrderLine."Variable Symbol"; - IssPaymentOrderLineCZB."Constant Symbol" := IssuedPaymentOrderLine."Constant Symbol"; - IssPaymentOrderLineCZB."Specific Symbol" := IssuedPaymentOrderLine."Specific Symbol"; - IssPaymentOrderLineCZB.Amount := IssuedPaymentOrderLine.Amount; - IssPaymentOrderLineCZB."Amount (LCY)" := IssuedPaymentOrderLine."Amount (LCY)"; - IssPaymentOrderLineCZB."Applies-to Doc. Type" := IssuedPaymentOrderLine."Applies-to Doc. Type"; - IssPaymentOrderLineCZB."Applies-to Doc. No." := IssuedPaymentOrderLine."Applies-to Doc. No."; - IssPaymentOrderLineCZB."Applies-to C/V/E Entry No." := IssuedPaymentOrderLine."Applies-to C/V/E Entry No."; - IssPaymentOrderLineCZB.Positive := IssuedPaymentOrderLine.Positive; - IssPaymentOrderLineCZB."Transit No." := IssuedPaymentOrderLine."Transit No."; - IssPaymentOrderLineCZB."Currency Code" := IssuedPaymentOrderLine."Currency Code"; - IssPaymentOrderLineCZB."Applied Currency Code" := IssuedPaymentOrderLine."Applied Currency Code"; - IssPaymentOrderLineCZB."Payment Order Currency Code" := IssuedPaymentOrderLine."Payment Order Currency Code"; - IssPaymentOrderLineCZB."Amount(Payment Order Currency)" := IssuedPaymentOrderLine."Amount(Payment Order Currency)"; - IssPaymentOrderLineCZB."Payment Order Currency Factor" := IssuedPaymentOrderLine."Payment Order Currency Factor"; - IssPaymentOrderLineCZB."Due Date" := IssuedPaymentOrderLine."Due Date"; - IssPaymentOrderLineCZB.IBAN := IssuedPaymentOrderLine.IBAN; - IssPaymentOrderLineCZB."SWIFT Code" := IssuedPaymentOrderLine."SWIFT Code"; - IssPaymentOrderLineCZB.Status := IssuedPaymentOrderLine.Status; - IssPaymentOrderLineCZB.Name := IssuedPaymentOrderLine.Name; - IssPaymentOrderLineCZB."VAT Unreliable Payer" := IssuedPaymentOrderLine."VAT Uncertainty Payer"; - IssPaymentOrderLineCZB."Public Bank Account" := IssuedPaymentOrderLine."Public Bank Account"; - IssPaymentOrderLineCZB."Third Party Bank Account" := IssuedPaymentOrderLine."Third Party Bank Account"; - IssPaymentOrderLineCZB."Payment Method Code" := IssuedPaymentOrderLine."Payment Method Code"; - IssPaymentOrderLineCZB.Modify(false); - until IssuedPaymentOrderLine.Next() = 0; - end; - - local procedure CopyUserSetup(); - var - UserSetup: Record "User Setup"; - UserSetupDataTransfer: DataTransfer; - begin - UserSetupDataTransfer.SetTables(Database::"User Setup", Database::"User Setup"); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Payment Orders"), UserSetup.FieldNo("Check Payment Orders CZB")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Bank Statements"), UserSetup.FieldNo("Check Bank Statements CZB")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Bank Amount Approval Limit"), UserSetup.FieldNo("Bank Amount Approval Limit CZB")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Unlimited Bank Approval"), UserSetup.FieldNo("Unlimited Bank Approval CZB")); - UserSetupDataTransfer.CopyFields(); - end; - - local procedure CopyBankExportImportSetup(); - var - BankExportImportSetup: Record "Bank Export/Import Setup"; - BankExportImportSetupDataTransfer: DataTransfer; - begin - BankExportImportSetupDataTransfer.SetTables(Database::"Bank Export/Import Setup", Database::"Bank Export/Import Setup"); - BankExportImportSetupDataTransfer.AddFieldValue(BankExportImportSetup.FieldNo("Processing Report ID"), BankExportImportSetup.FieldNo("Processing Report ID CZB")); - BankExportImportSetupDataTransfer.AddFieldValue(BankExportImportSetup.FieldNo("Default File Type"), BankExportImportSetup.FieldNo("Default File Type CZB")); - BankExportImportSetupDataTransfer.CopyFields(); - end; - - local procedure CopyPaymentExportData(); - var - PaymentExportData: Record "Payment Export Data"; - PaymentExportDataDataTransfer: DataTransfer; - begin - PaymentExportDataDataTransfer.SetTables(Database::"Payment Export Data", Database::"Payment Export Data"); - PaymentExportDataDataTransfer.AddFieldValue(PaymentExportData.FieldNo("Specific Symbol"), PaymentExportData.FieldNo("Specific Symbol CZB")); - PaymentExportDataDataTransfer.AddFieldValue(PaymentExportData.FieldNo("Variable Symbol"), PaymentExportData.FieldNo("Variable Symbol CZB")); - PaymentExportDataDataTransfer.AddFieldValue(PaymentExportData.FieldNo("Constant Symbol"), PaymentExportData.FieldNo("Constant Symbol CZB")); - PaymentExportDataDataTransfer.CopyFields(); - end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Company-Initialize", 'OnCompanyInitialize', '', false, false)] local procedure CompanyInitialize() var diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPaymentCZB.Codeunit.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPaymentCZB.Codeunit.al index d7614056c5..0c113132bf 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPaymentCZB.Codeunit.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Codeunits/MatchBankPaymentCZB.Codeunit.al @@ -138,8 +138,18 @@ codeunit 31362 "Match Bank Payment CZB" SearchRuleLineCZB."Search Scope"::Employee: FillMatchBankPaymentBufferEmployee(); end; + OnAfterFillMatchBankPaymentBuffer(TempMatchBankPaymentBufferCZB, SearchRuleLineCZB, GenJournalLine, MinAmount, MaxAmount); + TempMatchBankPaymentBufferCZB.Reset(); + if TempMatchBankPaymentBufferCZB.IsEmpty() then + if SearchRuleLineCZB.IsPossibleToMatchWithPartnerBankAccount() then begin + FillMatchBankPaymentBufferCustomerBankAccount(); + FillMatchBankPaymentBufferVendorBankAccount(); + end; + + OnAfterExtraFillMatchBankPaymentBuffer(TempMatchBankPaymentBufferCZB, SearchRuleLineCZB, GenJournalLine, MinAmount, MaxAmount); + if TempMatchBankPaymentBufferCZB.Count() > 0 then begin case SearchRuleLineCZB."Multiple Result" of "Multiple Search Result CZB"::"First Created Entry": @@ -415,6 +425,44 @@ codeunit 31362 "Match Bank Payment CZB" until EmployeeLedgerEntry.Next() = 0; end; + local procedure FillMatchBankPaymentBufferCustomerBankAccount() + var + CustomerBankAccount: Record "Customer Bank Account"; + begin + if (GenJournalLine."Bank Account No. CZL" = '') and + (GenJournalLine."IBAN CZL" = '') + then + exit; + + if GenJournalLine."Bank Account No. CZL" <> '' then + CustomerBankAccount.SetRange("Bank Account No.", GenJournalLine."Bank Account No. CZL"); + if GenJournalLine."IBAN CZL" <> '' then + CustomerBankAccount.SetRange(IBAN, GenJournalLine."IBAN CZL"); + if CustomerBankAccount.FindSet() then + repeat + TempMatchBankPaymentBufferCZB.InsertFromCustomerBankAccount(CustomerBankAccount); + until CustomerBankAccount.Next() = 0; + end; + + local procedure FillMatchBankPaymentBufferVendorBankAccount() + var + VendorBankAccount: Record "Vendor Bank Account"; + begin + if (GenJournalLine."Bank Account No. CZL" = '') and + (GenJournalLine."IBAN CZL" = '') + then + exit; + + if GenJournalLine."Bank Account No. CZL" <> '' then + VendorBankAccount.SetRange("Bank Account No.", GenJournalLine."Bank Account No. CZL"); + if GenJournalLine."IBAN CZL" <> '' then + VendorBankAccount.SetRange(IBAN, GenJournalLine."IBAN CZL"); + if VendorBankAccount.FindSet() then + repeat + TempMatchBankPaymentBufferCZB.InsertFromVendorBankAccount(VendorBankAccount); + until VendorBankAccount.Next() = 0; + end; + procedure GetAmountRangeForTolerance(BankAccount: Record "Bank Account"; StatementAmount: Decimal; var MinAmount: Decimal; var MaxAmount: Decimal) var TempAmount: Decimal; @@ -450,6 +498,11 @@ codeunit 31362 "Match Bank Payment CZB" begin end; + [IntegrationEvent(false, false)] + local procedure OnAfterExtraFillMatchBankPaymentBuffer(var TempMatchBankPaymentBufferCZB: Record "Match Bank Payment Buffer CZB"; SearchRuleLineCZB: Record "Search Rule Line CZB"; GenJournalLine: Record "Gen. Journal Line"; MinAmount: Decimal; MaxAmount: Decimal) + begin + end; + [IntegrationEvent(false, false)] local procedure OnAfterValidateGenJournalLine(var TempMatchBankPaymentBufferCZB: Record "Match Bank Payment Buffer CZB"; var GenJournalLine: Record "Gen. Journal Line"; SearchRuleLineCZB: Record "Search Rule Line CZB") begin diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLineCZB.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLineCZB.Table.al index da6d62b4ed..4a6b0114fc 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLineCZB.Table.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/IssPaymentOrderLineCZB.Table.al @@ -187,31 +187,6 @@ table 31259 "Iss. Payment Order Line CZB" Caption = 'Name'; DataClassification = CustomerContent; } -#if not CLEANSCHEMA22 - field(150; "Letter Type"; Option) - { - Caption = 'Letter Type'; - OptionCaption = ' ,,Purchase'; - OptionMembers = " ",,Purchase; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after new Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - } - field(151; "Letter No."; Code[20]) - { - Caption = 'Letter No.'; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after new Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - } - field(152; "Letter Line No."; Integer) - { - Caption = 'Letter Line No.'; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after new Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - } -#endif field(190; "VAT Unreliable Payer"; Boolean) { Caption = 'VAT Unreliable Payer'; @@ -285,4 +260,3 @@ table 31259 "Iss. Payment Order Line CZB" begin end; } - diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBufferCZB.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBufferCZB.Table.al index 18cbea62c9..202108f136 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBufferCZB.Table.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/MatchBankPaymentBufferCZB.Table.al @@ -8,6 +8,8 @@ using Microsoft.Bank.Setup; using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.HumanResources.Payables; using Microsoft.Purchases.Payables; +using Microsoft.Purchases.Vendor; +using Microsoft.Sales.Customer; using Microsoft.Sales.Receivables; table 31260 "Match Bank Payment Buffer CZB" @@ -92,15 +94,6 @@ table 31260 "Match Bank Payment Buffer CZB" Caption = 'Dimension Set ID'; DataClassification = SystemMetadata; } -#if not CLEANSCHEMA22 - field(45; "Letter No."; Code[20]) - { - Caption = 'Letter No.'; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after new Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - } -#endif } keys @@ -202,6 +195,24 @@ table 31260 "Match Bank Payment Buffer CZB" Insert(true); end; + procedure InsertFromCustomerBankAccount(CustomerBankAccount: Record "Customer Bank Account") + begin + Clear(Rec); + "Account Type" := "Account Type"::Customer; + "Account No." := CustomerBankAccount."Customer No."; + OnBeforeInsertFromCustomerBankAccount(Rec, CustomerBankAccount); + Insert(true); + end; + + procedure InsertFromVendorBankAccount(VendorBankAccount: Record "Vendor Bank Account") + begin + Clear(Rec); + "Account Type" := "Account Type"::Vendor; + "Account No." := VendorBankAccount."Vendor No."; + OnBeforeInsertFromVendorBankAccount(Rec, VendorBankAccount); + Insert(true); + end; + local procedure GetCustomerLedgerEntryDiscountDueDate(CustLedgerEntry: Record "Cust. Ledger Entry"): Date begin if CustLedgerEntry."Remaining Pmt. Disc. Possible" = 0 then @@ -234,4 +245,14 @@ table 31260 "Match Bank Payment Buffer CZB" local procedure OnBeforeInsertFromEmployeeLedgerEntry(var MatchBankPaymentBufferCZB: Record "Match Bank Payment Buffer CZB"; EmployeeLedgerEntry: Record "Employee Ledger Entry") begin end; -} + + [IntegrationEvent(false, false)] + local procedure OnBeforeInsertFromCustomerBankAccount(var MatchBankPaymentBufferCZB: Record "Match Bank Payment Buffer CZB"; CustomerBankAccount: Record "Customer Bank Account") + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeInsertFromVendorBankAccount(var MatchBankPaymentBufferCZB: Record "Match Bank Payment Buffer CZB"; VendorBankAccount: Record "Vendor Bank Account") + begin + end; +} \ No newline at end of file diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeaderCZB.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeaderCZB.Table.al index c077058736..3a2ebbcad2 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeaderCZB.Table.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderHeaderCZB.Table.al @@ -450,6 +450,8 @@ table 31256 "Payment Order Header CZB" else PaymentOrderLineCZB.Validate("Amount (LCY)"); end; + else + OnUpdatePaymentOrderLineOnElseChangedFieldName(Rec, xRec, PaymentOrderLineCZB, ChangedFieldName) end; PaymentOrderLineCZB.Modify(true); until PaymentOrderLineCZB.Next() = 0; @@ -641,4 +643,9 @@ table 31256 "Payment Order Header CZB" local procedure OnBeforeDeleteRecordInApprovalRequest(var PaymentOrderHeaderCZB: Record "Payment Order Header CZB"; var IsHandled: Boolean); begin end; + + [IntegrationEvent(false, false)] + local procedure OnUpdatePaymentOrderLineOnElseChangedFieldName(var PaymentOrderHeaderCZB: Record "Payment Order Header CZB"; xPaymentOrderHeaderCZB: Record "Payment Order Header CZB"; var PaymentOrderLineCZB: Record "Payment Order Line CZB"; ChangedFieldName: Text) + begin + end; } diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLineCZB.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLineCZB.Table.al index 851c93ad3b..1d3116ebc5 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLineCZB.Table.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/PaymentOrderLineCZB.Table.al @@ -754,33 +754,6 @@ table 31257 "Payment Order Line CZB" Editable = false; DataClassification = CustomerContent; } -#if not CLEANSCHEMA22 -#pragma warning disable AL0432 - field(150; "Letter Type"; Option) - { - Caption = 'Letter Type'; - OptionCaption = ' ,,Purchase'; - OptionMembers = " ",,Purchase; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after new Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - } - field(151; "Letter No."; Code[20]) - { - Caption = 'Letter No.'; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after new Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - } - field(152; "Letter Line No."; Integer) - { - Caption = 'Letter Line No.'; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after new Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - } -#pragma warning restore AL0432 -#endif field(190; "VAT Unreliable Payer"; Boolean) { Caption = 'VAT Unreliable Payer'; @@ -1410,4 +1383,3 @@ table 31257 "Payment Order Line CZB" begin end; } - diff --git a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLineCZB.Table.al b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLineCZB.Table.al index 7707926aab..629e35001a 100644 --- a/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLineCZB.Table.al +++ b/Apps/CZ/BankingDocumentsLocalization/app/Src/Tables/SearchRuleLineCZB.Table.al @@ -329,4 +329,18 @@ table 31251 "Search Rule Line CZB" DescriptionBuilder.AppendLine(FirstTxt); exit(CopyStr(DescriptionBuilder.ToText().Replace(TypeHelper.CRLFSeparator(), SeparatorTok).TrimEnd(SeparatorTok), 1, 100)); end; + + internal procedure IsPossibleToMatchWithPartnerBankAccount() IsPossible: Boolean + begin + IsPossible := + "Bank Account No." and "Match Related Party Only" and + not ("Search Scope" = "Search Scope"::"Account Mapping") and + not ("Variable Symbol" or "Constant Symbol" or "Specific Symbol" or Amount); + OnAfterIsMatchingWithPartnerBankAccountEnabled(Rec, IsPossible); + end; + + [IntegrationEvent(false, false)] + local procedure OnAfterIsMatchingWithPartnerBankAccountEnabled(SearchRuleLineCZB: Record "Search Rule Line CZB"; var IsPossible: Boolean) + begin + end; } diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplicationCZP.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplicationCZP.Codeunit.al index e236b4cefe..c0fd896b0f 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplicationCZP.Codeunit.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/InstallApplicationCZP.Codeunit.al @@ -80,532 +80,20 @@ codeunit 31054 "Install Application CZP" local procedure CopyPermission(); begin NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Document Header", Database::"Cash Document Header CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Document Line", Database::"Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Posted Cash Document Header", Database::"Posted Cash Document Hdr. CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Posted Cash Document Line", Database::"Posted Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Currency Nominal Value", Database::"Currency Nominal Value CZP"); InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Bank Account", Database::"Cash Desk CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk User", Database::"Cash Desk User CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk Event", Database::"Cash Desk Event CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk Cue", Database::"Cash Desk Cue CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk Report Selections", Database::"Cash Desk Rep. Selections CZP"); end; local procedure CopyUsage(); begin - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Document Header", Database::"Cash Document Header CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Document Line", Database::"Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Posted Cash Document Header", Database::"Posted Cash Document Hdr. CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Posted Cash Document Line", Database::"Posted Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Currency Nominal Value", Database::"Currency Nominal Value CZP"); InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Bank Account", Database::"Cash Desk CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk User", Database::"Cash Desk User CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk Event", Database::"Cash Desk Event CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk Cue", Database::"Cash Desk Cue CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk Report Selections", Database::"Cash Desk Rep. Selections CZP"); end; local procedure CopyData() begin - CopyCashDesk(); - CopyCashDeskUser(); - CopyCashDeskEvent(); - CopyCashDocumentHeader(); - CopyCashDocumentLine(); - CopyPostedCashDocumentHeader(); - CopyPostedCashDocumentLine(); - CopyPaymentMethod(); - CopySalesHeader(); - CopySalesInvoiceHeader(); - CopySalesCrMemoHeader(); - CopyPurchaseHeader(); - CopyPurchaseInvoiceHeader(); - CopyPurchaseCrMemoHeader(); - CopyServiceHeader(); - CopyServiceInvoiceHeader(); - CopyServiceCrMemoHeader(); CopySourceCodeSetup(); - CopyUserSetup(); - CopyGeneralLedgerSetup(); - CopyCurrencyNominalValue(); InitCashDeskSourceCode(); end; - local procedure CopyCashDesk(); - var - BankAccount: Record "Bank Account"; - CashDeskCZP: Record "Cash Desk CZP"; - BankAccountCommentLine: Record "Comment Line"; - CashDeskCommentLine: Record "Comment Line"; - BankAccountDefaultDimension: Record "Default Dimension"; - CashDeskDefaultDimension: Record "Default Dimension"; - begin - BankAccount.SetRange("Account Type", BankAccount."Account Type"::"Cash Desk"); - if BankAccount.FindSet(true) then - repeat - if not CashDeskCZP.Get(BankAccount."No.") then begin - CashDeskCZP.Init(); - CashDeskCZP."No." := BankAccount."No."; - CashDeskCZP.SystemId := BankAccount.SystemId; - CashDeskCZP.Insert(false, true); - end; - CashDeskCZP.Name := BankAccount.Name; - CashDeskCZP."Search Name" := BankAccount."Search Name"; - CashDeskCZP."Name 2" := BankAccount."Name 2"; - CashDeskCZP.Address := BankAccount.Address; - CashDeskCZP."Address 2" := BankAccount."Address 2"; - CashDeskCZP.City := BankAccount.City; - CashDeskCZP.Contact := BankAccount.Contact; - CashDeskCZP."Phone No." := BankAccount."Phone No."; - CashDeskCZP."Global Dimension 1 Code" := BankAccount."Global Dimension 1 Code"; - CashDeskCZP."Global Dimension 2 Code" := BankAccount."Global Dimension 2 Code"; - CashDeskCZP."Bank Acc. Posting Group" := BankAccount."Bank Acc. Posting Group"; - CashDeskCZP."Currency Code" := BankAccount."Currency Code"; - CashDeskCZP."Language Code" := BankAccount."Language Code"; - CashDeskCZP."Country/Region Code" := BankAccount."Country/Region Code"; - CashDeskCZP."Post Code" := BankAccount."Post Code"; - CashDeskCZP.County := BankAccount.County; - CashDeskCZP."E-Mail" := BankAccount."E-Mail"; - CashDeskCZP.Blocked := BankAccount.Blocked; - CashDeskCZP."No. Series" := BankAccount."No. Series"; - CashDeskCZP."Min. Balance" := BankAccount."Min. Balance"; - CashDeskCZP."Min. Balance Checking" := BankAccount."Min. Balance Checking"; - CashDeskCZP."Max. Balance" := BankAccount."Max. Balance"; - CashDeskCZP."Max. Balance Checking" := BankAccount."Max. Balance Checking"; - CashDeskCZP."Allow VAT Difference" := BankAccount."Allow VAT Difference"; - CashDeskCZP."Payed To/By Checking" := BankAccount."Payed To/By Checking"; - CashDeskCZP."Reason Code" := BankAccount."Reason Code"; - CashDeskCZP."Amounts Including VAT" := BankAccount."Amounts Including VAT"; - CashDeskCZP."Confirm Inserting of Document" := BankAccount."Confirm Inserting of Document"; - CashDeskCZP."Debit Rounding Account" := BankAccount."Debit Rounding Account"; - CashDeskCZP."Credit Rounding Account" := BankAccount."Credit Rounding Account"; - CashDeskCZP."Rounding Method Code" := BankAccount."Rounding Method Code"; - CashDeskCZP."Responsibility ID (Release)" := BankAccount."Responsibility ID (Release)"; - CashDeskCZP."Responsibility ID (Post)" := BankAccount."Responsibility ID (Post)"; - CashDeskCZP."Responsibility Center" := BankAccount."Responsibility Center"; - CashDeskCZP."Amount Rounding Precision" := BankAccount."Amount Rounding Precision"; - CashDeskCZP."Cash Document Receipt Nos." := BankAccount."Cash Document Receipt Nos."; - CashDeskCZP."Cash Document Withdrawal Nos." := BankAccount."Cash Document Withdrawal Nos."; - CashDeskCZP."Cash Receipt Limit" := BankAccount."Cash Receipt Limit"; - CashDeskCZP."Cash Withdrawal Limit" := BankAccount."Cash Withdrawal Limit"; - CashDeskCZP."Exclude from Exch. Rate Adj." := BankAccount."Exclude from Exch. Rate Adj."; - CashDeskCZP."Cashier No." := BankAccount."Cashier No."; - CashDeskCZP.Modify(false); - - BankAccount."Account Type CZP" := BankAccount."Account Type CZP"::"Cash Desk"; - BankAccount.Modify(false); - - BankAccountCommentLine.SetRange("Table Name", BankAccountCommentLine."Table Name"::"Bank Account"); - BankAccountCommentLine.SetRange("No.", BankAccount."No."); - if BankAccountCommentLine.FindSet() then - repeat - CashDeskCommentLine := BankAccountCommentLine; - CashDeskCommentLine."Table Name" := BankAccountCommentLine."Table Name"::"Cash Desk CZP"; - CashDeskCommentLine.Insert(false); - until BankAccountCommentLine.Next() = 0; - - BankAccountDefaultDimension.SetRange("Table ID", Database::"Bank Account"); - BankAccountDefaultDimension.SetRange("No.", BankAccount."No."); - if BankAccountDefaultDimension.FindSet() then - repeat - CashDeskDefaultDimension := BankAccountDefaultDimension; - CashDeskDefaultDimension."Table ID" := Database::"Cash Desk CZP"; - CashDeskDefaultDimension.Insert(false); - until BankAccountDefaultDimension.Next() = 0; - until BankAccount.Next() = 0; - end; - - local procedure CopyCashDeskUser(); - var - CashDeskUser: Record "Cash Desk User"; - CashDeskUserCZP: Record "Cash Desk User CZP"; - begin - if CashDeskUser.FindSet() then - repeat - if not CashDeskUserCZP.Get(CashDeskUser."Cash Desk No.", CashDeskUser."User ID") then begin - CashDeskUserCZP.Init(); - CashDeskUserCZP."Cash Desk No." := CashDeskUser."Cash Desk No."; - CashDeskUserCZP."User ID" := CashDeskUser."User ID"; - CashDeskUserCZP.SystemId := CashDeskUser.SystemId; - CashDeskUserCZP.Insert(false, true); - end; - CashDeskUserCZP.Create := CashDeskUser.Create; - CashDeskUserCZP.Issue := CashDeskUser.Issue; - CashDeskUserCZP.Post := CashDeskUser.Post; - CashDeskUserCZP."Post EET Only" := CashDeskUser."Post EET Only"; - CashDeskUserCZP."User Full Name" := CashDeskUser."User Name"; - CashDeskUserCZP.Modify(false); - until CashDeskUser.Next() = 0; - end; - - local procedure CopyCashDeskEvent(); - var - CashDeskEvent: Record "Cash Desk Event"; - CashDeskEventCZP: Record "Cash Desk Event CZP"; - begin - if CashDeskEvent.FindSet() then - repeat - if not CashDeskEventCZP.Get(CashDeskEvent.Code) then begin - CashDeskEventCZP.Init(); - CashDeskEventCZP.Code := CashDeskEvent.Code; - CashDeskEventCZP.SystemId := CashDeskEvent.SystemId; - CashDeskEventCZP.Insert(false, true); - end; - CashDeskEventCZP."Cash Desk No." := CashDeskEvent."Cash Desk No."; - CashDeskEventCZP."Document Type" := CashDeskEvent."Cash Document Type"; - CashDeskEventCZP.Description := CashDeskEvent.Description; - CashDeskEventCZP."Account Type" := CashDeskEvent."Account Type"; - CashDeskEventCZP."Account No." := CashDeskEvent."Account No."; - CashDeskEventCZP."Gen. Document Type" := "Cash Document Gen.Doc.Type CZP".FromInteger(CashDeskEvent."Document Type"); - CashDeskEventCZP."Global Dimension 1 Code" := CashDeskEvent."Global Dimension 1 Code"; - CashDeskEventCZP."Global Dimension 2 Code" := CashDeskEvent."Global Dimension 2 Code"; - CashDeskEventCZP."Gen. Posting Type" := CashDeskEvent."Gen. Posting Type"; - CashDeskEventCZP."EET Transaction" := CashDeskEvent."EET Transaction"; - CashDeskEventCZP."VAT Bus. Posting Group" := CashDeskEvent."VAT Bus. Posting Group"; - CashDeskEventCZP."VAT Prod. Posting Group" := CashDeskEventCZP."VAT Prod. Posting Group"; - CashDeskEventCZP.Modify(false); - until CashDeskEvent.Next() = 0; - end; - - local procedure CopyCashDocumentHeader(); - var - CashDocumentHeader: Record "Cash Document Header"; - CashDocumentHeaderCZP: Record "Cash Document Header CZP"; - begin - if CashDocumentHeader.FindSet() then - repeat - if not CashDocumentHeaderCZP.Get(CashDocumentHeader."Cash Desk No.", CashDocumentHeader."No.") then begin - CashDocumentHeaderCZP.Init(); - CashDocumentHeaderCZP."Cash Desk No." := CashDocumentHeader."Cash Desk No."; - CashDocumentHeaderCZP."No." := CashDocumentHeader."No."; - CashDocumentHeaderCZP.SystemId := CashDocumentHeader.SystemId; - CashDocumentHeaderCZP.Insert(false, true); - end; - CashDocumentHeaderCZP."Pay-to/Receive-from Name" := CashDocumentHeader."Pay-to/Receive-from Name"; - CashDocumentHeaderCZP."Pay-to/Receive-from Name 2" := CashDocumentHeader."Pay-to/Receive-from Name 2"; - CashDocumentHeaderCZP."Posting Date" := CashDocumentHeader."Posting Date"; - CashDocumentHeaderCZP.Status := CashDocumentHeader.Status; - CashDocumentHeaderCZP."No. Printed" := CashDocumentHeader."No. Printed"; - CashDocumentHeaderCZP."Created ID" := CashDocumentHeader."Created ID"; - CashDocumentHeaderCZP."Released ID" := CashDocumentHeader."Released ID"; - CashDocumentHeaderCZP."Document Type" := CashDocumentHeader."Cash Document Type"; - CashDocumentHeaderCZP."No. Series" := CashDocumentHeader."No. Series"; - CashDocumentHeaderCZP."Currency Code" := CashDocumentHeader."Currency Code"; - CashDocumentHeaderCZP."Shortcut Dimension 1 Code" := CashDocumentHeader."Shortcut Dimension 1 Code"; - CashDocumentHeaderCZP."Shortcut Dimension 2 Code" := CashDocumentHeader."Shortcut Dimension 2 Code"; - CashDocumentHeaderCZP."Currency Factor" := CashDocumentHeader."Currency Factor"; - CashDocumentHeaderCZP."Document Date" := CashDocumentHeader."Document Date"; - CashDocumentHeaderCZP."VAT Date" := CashDocumentHeader."VAT Date"; - CashDocumentHeaderCZP."Created Date" := CashDocumentHeader."Created Date"; - CashDocumentHeaderCZP.Description := CashDocumentHeader.Description; - CashDocumentHeaderCZP."Salespers./Purch. Code" := CashDocumentHeader."Salespers./Purch. Code"; - CashDocumentHeaderCZP."Amounts Including VAT" := CashDocumentHeader."Amounts Including VAT"; - CashDocumentHeaderCZP."Released Amount" := CashDocumentHeader."Released Amount"; - CashDocumentHeaderCZP."Reason Code" := CashDocumentHeader."Reason Code"; - CashDocumentHeaderCZP."External Document No." := CashDocumentHeader."External Document No."; - CashDocumentHeaderCZP."Responsibility Center" := CashDocumentHeader."Responsibility Center"; - CashDocumentHeaderCZP."Payment Purpose" := CashDocumentHeader."Payment Purpose"; - CashDocumentHeaderCZP."Received By" := CashDocumentHeader."Received By"; - CashDocumentHeaderCZP."Identification Card No." := CashDocumentHeader."Identification Card No."; - CashDocumentHeaderCZP."Paid By" := CashDocumentHeader."Paid By"; - CashDocumentHeaderCZP."Received From" := CashDocumentHeader."Received From"; - CashDocumentHeaderCZP."Paid To" := CashDocumentHeader."Paid To"; - CashDocumentHeaderCZP."Registration No." := CashDocumentHeader."Registration No."; - CashDocumentHeaderCZP."VAT Registration No." := CashDocumentHeader."VAT Registration No."; - CashDocumentHeaderCZP."Partner Type" := CashDocumentHeader."Partner Type"; - CashDocumentHeaderCZP."Partner No." := CashDocumentHeader."Partner No."; - CashDocumentHeaderCZP."Canceled Document" := CashDocumentHeader."Canceled Document"; - CashDocumentHeaderCZP."Dimension Set ID" := CashDocumentHeader."Dimension Set ID"; - CashDocumentHeaderCZP.Modify(false); - until CashDocumentHeader.Next() = 0; - end; - - local procedure CopyCashDocumentLine(); - var - CashDocumentLine: Record "Cash Document Line"; - CashDocumentLineCZP: Record "Cash Document Line CZP"; - begin - if CashDocumentLine.FindSet() then - repeat - if not CashDocumentLineCZP.Get(CashDocumentLine."Cash Desk No.", CashDocumentLine."Cash Document No.", CashDocumentLine."Line No.") then begin - CashDocumentLineCZP.Init(); - CashDocumentLineCZP."Cash Desk No." := CashDocumentLine."Cash Desk No."; - CashDocumentLineCZP."Cash Document No." := CashDocumentLine."Cash Document No."; - CashDocumentLineCZP."Line No." := CashDocumentLine."Line No."; - CashDocumentLineCZP.SystemId := CashDocumentLine.SystemId; - CashDocumentLineCZP.Insert(false, true); - end; - CashDocumentLineCZP."Gen. Document Type" := CashDocumentLine."Document Type"; - CashDocumentLineCZP."Account Type" := CashDocumentLine."Account Type"; - CashDocumentLineCZP."Account No." := CashDocumentLine."Account No."; - CashDocumentLineCZP."External Document No." := CashDocumentLine."External Document No."; - CashDocumentLineCZP."Posting Group" := CashDocumentLine."Posting Group"; - CashDocumentLineCZP."Applies-To Doc. Type" := CashDocumentLine."Applies-To Doc. Type"; - CashDocumentLineCZP."Applies-To Doc. No." := CashDocumentLine."Applies-To Doc. No."; - CashDocumentLineCZP.Description := CashDocumentLine.Description; - CashDocumentLineCZP.Amount := CashDocumentLine.Amount; - CashDocumentLineCZP."Amount (LCY)" := CashDocumentLine."Amount (LCY)"; - CashDocumentLineCZP."Description 2" := CashDocumentLine."Description 2"; - CashDocumentLineCZP."Shortcut Dimension 1 Code" := CashDocumentLine."Shortcut Dimension 1 Code"; - CashDocumentLineCZP."Shortcut Dimension 2 Code" := CashDocumentLine."Shortcut Dimension 2 Code"; - CashDocumentLineCZP."Document Type" := CashDocumentLine."Cash Document Type"; - CashDocumentLineCZP."Applies-to ID" := CashDocumentLine."Applies-to ID"; - CashDocumentLineCZP."Currency Code" := CashDocumentLine."Currency Code"; - CashDocumentLineCZP."Cash Desk Event" := CashDocumentLine."Cash Desk Event"; - CashDocumentLineCZP."Salespers./Purch. Code" := CashDocumentLine."Salespers./Purch. Code"; - CashDocumentLineCZP."Reason Code" := CashDocumentLine."Reason Code"; - CashDocumentLineCZP."VAT Base Amount" := CashDocumentLine."VAT Base Amount"; - CashDocumentLineCZP."Amount Including VAT" := CashDocumentLine."Amount Including VAT"; - CashDocumentLineCZP."VAT Amount" := CashDocumentLine."VAT Amount"; - CashDocumentLineCZP."VAT Base Amount (LCY)" := CashDocumentLine."VAT Base Amount (LCY)"; - CashDocumentLineCZP."Amount Including VAT (LCY)" := CashDocumentLine."Amount Including VAT (LCY)"; - CashDocumentLineCZP."VAT Amount (LCY)" := CashDocumentLine."VAT Amount (LCY)"; - CashDocumentLineCZP."VAT Difference" := CashDocumentLine."VAT Difference"; - CashDocumentLineCZP."VAT %" := CashDocumentLine."VAT %"; - CashDocumentLineCZP."VAT Identifier" := CashDocumentLine."VAT Identifier"; - CashDocumentLineCZP."System-Created Entry" := CashDocumentLine."System-Created Entry"; - CashDocumentLineCZP."Gen. Posting Type" := CashDocumentLine."Gen. Posting Type"; - CashDocumentLineCZP."VAT Calculation Type" := CashDocumentLine."VAT Calculation Type"; - CashDocumentLineCZP."VAT Bus. Posting Group" := CashDocumentLine."VAT Bus. Posting Group"; - CashDocumentLineCZP."VAT Prod. Posting Group" := CashDocumentLine."VAT Prod. Posting Group"; - CashDocumentLineCZP."Use Tax" := CashDocumentLine."Use Tax"; - CashDocumentLineCZP."FA Posting Type" := CashDocumentLine."FA Posting Type"; - CashDocumentLineCZP."Depreciation Book Code" := CashDocumentLine."Depreciation Book Code"; - CashDocumentLineCZP."Maintenance Code" := CashDocumentLine."Maintenance Code"; - CashDocumentLineCZP."Duplicate in Depreciation Book" := CashDocumentLine."Duplicate in Depreciation Book"; - CashDocumentLineCZP."Use Duplication List" := CashDocumentLine."Use Duplication List"; - CashDocumentLineCZP."Responsibility Center" := CashDocumentLine."Responsibility Center"; - CashDocumentLineCZP."EET Transaction" := CashDocumentLine."EET Transaction"; - CashDocumentLineCZP."Dimension Set ID" := CashDocumentLine."Dimension Set ID"; - CashDocumentLineCZP.Modify(false); - until CashDocumentLine.Next() = 0; - end; - - local procedure CopyPostedCashDocumentHeader(); - var - PostedCashDocumentHeader: Record "Posted Cash Document Header"; - PostedCashDocumentHdrCZP: Record "Posted Cash Document Hdr. CZP"; - begin - if PostedCashDocumentHeader.FindSet() then - repeat - if not PostedCashDocumentHdrCZP.Get(PostedCashDocumentHeader."Cash Desk No.", PostedCashDocumentHeader."No.") then begin - PostedCashDocumentHdrCZP.Init(); - PostedCashDocumentHdrCZP."Cash Desk No." := PostedCashDocumentHeader."Cash Desk No."; - PostedCashDocumentHdrCZP."No." := PostedCashDocumentHeader."No."; - PostedCashDocumentHdrCZP.SystemId := PostedCashDocumentHeader.SystemId; - PostedCashDocumentHdrCZP.Insert(false, true); - end; - PostedCashDocumentHdrCZP."Pay-to/Receive-from Name" := PostedCashDocumentHeader."Pay-to/Receive-from Name"; - PostedCashDocumentHdrCZP."Pay-to/Receive-from Name 2" := PostedCashDocumentHeader."Pay-to/Receive-from Name 2"; - PostedCashDocumentHdrCZP."Posting Date" := PostedCashDocumentHeader."Posting Date"; - PostedCashDocumentHdrCZP."No. Printed" := PostedCashDocumentHeader."No. Printed"; - PostedCashDocumentHdrCZP."Created ID" := PostedCashDocumentHeader."Created ID"; - PostedCashDocumentHdrCZP."Released ID" := PostedCashDocumentHeader."Released ID"; - PostedCashDocumentHdrCZP."Document Type" := PostedCashDocumentHeader."Cash Document Type"; - PostedCashDocumentHdrCZP."No. Series" := PostedCashDocumentHeader."No. Series"; - PostedCashDocumentHdrCZP."Currency Code" := PostedCashDocumentHeader."Currency Code"; - PostedCashDocumentHdrCZP."Shortcut Dimension 1 Code" := PostedCashDocumentHeader."Shortcut Dimension 1 Code"; - PostedCashDocumentHdrCZP."Shortcut Dimension 2 Code" := PostedCashDocumentHeader."Shortcut Dimension 2 Code"; - PostedCashDocumentHdrCZP."Currency Factor" := PostedCashDocumentHeader."Currency Factor"; - PostedCashDocumentHdrCZP."Document Date" := PostedCashDocumentHeader."Document Date"; - PostedCashDocumentHdrCZP."VAT Date" := PostedCashDocumentHeader."VAT Date"; - PostedCashDocumentHdrCZP."Created Date" := PostedCashDocumentHeader."Created Date"; - PostedCashDocumentHdrCZP.Description := PostedCashDocumentHeader.Description; - PostedCashDocumentHdrCZP."Salespers./Purch. Code" := PostedCashDocumentHeader."Salespers./Purch. Code"; - PostedCashDocumentHdrCZP."Amounts Including VAT" := PostedCashDocumentHeader."Amounts Including VAT"; - PostedCashDocumentHdrCZP."Reason Code" := PostedCashDocumentHeader."Reason Code"; - PostedCashDocumentHdrCZP."External Document No." := PostedCashDocumentHeader."External Document No."; - PostedCashDocumentHdrCZP."Responsibility Center" := PostedCashDocumentHeader."Responsibility Center"; - PostedCashDocumentHdrCZP."Payment Purpose" := PostedCashDocumentHeader."Payment Purpose"; - PostedCashDocumentHdrCZP."Received By" := PostedCashDocumentHeader."Received By"; - PostedCashDocumentHdrCZP."Identification Card No." := PostedCashDocumentHeader."Identification Card No."; - PostedCashDocumentHdrCZP."Paid By" := PostedCashDocumentHeader."Paid By"; - PostedCashDocumentHdrCZP."Received From" := PostedCashDocumentHeader."Received From"; - PostedCashDocumentHdrCZP."Paid To" := PostedCashDocumentHeader."Paid To"; - PostedCashDocumentHdrCZP."Registration No." := PostedCashDocumentHeader."Registration No."; - PostedCashDocumentHdrCZP."VAT Registration No." := PostedCashDocumentHeader."VAT Registration No."; - PostedCashDocumentHdrCZP."Partner Type" := PostedCashDocumentHeader."Partner Type"; - PostedCashDocumentHdrCZP."Partner No." := PostedCashDocumentHeader."Partner No."; - PostedCashDocumentHdrCZP."Canceled Document" := PostedCashDocumentHeader."Canceled Document"; - PostedCashDocumentHdrCZP."EET Entry No." := PostedCashDocumentHeader."EET Entry No."; - PostedCashDocumentHdrCZP."Dimension Set ID" := PostedCashDocumentHeader."Dimension Set ID"; - PostedCashDocumentHdrCZP.Modify(false); - until PostedCashDocumentHeader.Next() = 0; - end; - - local procedure CopyPostedCashDocumentLine(); - var - PostedCashDocumentLine: Record "Posted Cash Document Line"; - PostedCashDocumentLineCZP: Record "Posted Cash Document Line CZP"; - begin - if PostedCashDocumentLine.FindSet() then - repeat - if not PostedCashDocumentLineCZP.Get(PostedCashDocumentLine."Cash Desk No.", PostedCashDocumentLine."Cash Document No.", PostedCashDocumentLine."Line No.") then begin - PostedCashDocumentLineCZP.Init(); - PostedCashDocumentLineCZP."Cash Desk No." := PostedCashDocumentLine."Cash Desk No."; - PostedCashDocumentLineCZP."Cash Document No." := PostedCashDocumentLine."Cash Document No."; - PostedCashDocumentLineCZP."Line No." := PostedCashDocumentLine."Line No."; - PostedCashDocumentLineCZP.SystemId := PostedCashDocumentLine.SystemId; - PostedCashDocumentLineCZP.Insert(false, true); - end; - PostedCashDocumentLineCZP."Gen. Document Type" := PostedCashDocumentLine."Document Type"; - PostedCashDocumentLineCZP."Account Type" := PostedCashDocumentLine."Account Type"; - PostedCashDocumentLineCZP."Account No." := PostedCashDocumentLine."Account No."; - PostedCashDocumentLineCZP."External Document No." := PostedCashDocumentLine."External Document No."; - PostedCashDocumentLineCZP."Posting Group" := PostedCashDocumentLine."Posting Group"; - PostedCashDocumentLineCZP.Description := PostedCashDocumentLine.Description; - PostedCashDocumentLineCZP.Amount := PostedCashDocumentLine.Amount; - PostedCashDocumentLineCZP."Amount (LCY)" := PostedCashDocumentLine."Amount (LCY)"; - PostedCashDocumentLineCZP."Description 2" := PostedCashDocumentLine."Description 2"; - PostedCashDocumentLineCZP."Shortcut Dimension 1 Code" := PostedCashDocumentLine."Shortcut Dimension 1 Code"; - PostedCashDocumentLineCZP."Shortcut Dimension 2 Code" := PostedCashDocumentLine."Shortcut Dimension 2 Code"; - PostedCashDocumentLineCZP."Document Type" := PostedCashDocumentLine."Cash Document Type"; - PostedCashDocumentLineCZP."Currency Code" := PostedCashDocumentLine."Currency Code"; - PostedCashDocumentLineCZP."Cash Desk Event" := PostedCashDocumentLine."Cash Desk Event"; - PostedCashDocumentLineCZP."Salespers./Purch. Code" := PostedCashDocumentLine."Salespers./Purch. Code"; - PostedCashDocumentLineCZP."Reason Code" := PostedCashDocumentLine."Reason Code"; - PostedCashDocumentLineCZP."VAT Base Amount" := PostedCashDocumentLine."VAT Base Amount"; - PostedCashDocumentLineCZP."Amount Including VAT" := PostedCashDocumentLine."Amount Including VAT"; - PostedCashDocumentLineCZP."VAT Amount" := PostedCashDocumentLine."VAT Amount"; - PostedCashDocumentLineCZP."VAT Base Amount (LCY)" := PostedCashDocumentLine."VAT Base Amount (LCY)"; - PostedCashDocumentLineCZP."Amount Including VAT (LCY)" := PostedCashDocumentLine."Amount Including VAT (LCY)"; - PostedCashDocumentLineCZP."VAT Amount (LCY)" := PostedCashDocumentLine."VAT Amount (LCY)"; - PostedCashDocumentLineCZP."VAT Difference" := PostedCashDocumentLine."VAT Difference"; - PostedCashDocumentLineCZP."VAT %" := PostedCashDocumentLine."VAT %"; - PostedCashDocumentLineCZP."VAT Identifier" := PostedCashDocumentLine."VAT Identifier"; - PostedCashDocumentLineCZP."System-Created Entry" := PostedCashDocumentLine."System-Created Entry"; - PostedCashDocumentLineCZP."Gen. Posting Type" := PostedCashDocumentLine."Gen. Posting Type"; - PostedCashDocumentLineCZP."VAT Calculation Type" := PostedCashDocumentLine."VAT Calculation Type"; - PostedCashDocumentLineCZP."VAT Bus. Posting Group" := PostedCashDocumentLine."VAT Bus. Posting Group"; - PostedCashDocumentLineCZP."VAT Prod. Posting Group" := PostedCashDocumentLine."VAT Prod. Posting Group"; - PostedCashDocumentLineCZP."Use Tax" := PostedCashDocumentLine."Use Tax"; - PostedCashDocumentLineCZP."FA Posting Type" := PostedCashDocumentLine."FA Posting Type"; - PostedCashDocumentLineCZP."Depreciation Book Code" := PostedCashDocumentLine."Depreciation Book Code"; - PostedCashDocumentLineCZP."Maintenance Code" := PostedCashDocumentLine."Maintenance Code"; - PostedCashDocumentLineCZP."Duplicate in Depreciation Book" := PostedCashDocumentLine."Duplicate in Depreciation Book"; - PostedCashDocumentLineCZP."Use Duplication List" := PostedCashDocumentLine."Use Duplication List"; - PostedCashDocumentLineCZP."Responsibility Center" := PostedCashDocumentLine."Responsibility Center"; - PostedCashDocumentLineCZP."EET Transaction" := PostedCashDocumentLine."EET Transaction"; - PostedCashDocumentLineCZP."Dimension Set ID" := PostedCashDocumentLine."Dimension Set ID"; - PostedCashDocumentLineCZP.Modify(false); - until PostedCashDocumentLine.Next() = 0; - end; - - local procedure CopyPaymentMethod(); - var - PaymentMethod: Record "Payment Method"; - begin - PaymentMethod.SetLoadFields("Cash Desk Code", "Cash Document Status"); - if PaymentMethod.FindSet(true) then - repeat - PaymentMethod."Cash Desk Code CZP" := PaymentMethod."Cash Desk Code"; - PaymentMethod."Cash Document Action CZP" := PaymentMethod."Cash Document Status"; - PaymentMethod."Cash Desk Code" := ''; - PaymentMethod."Cash Document Status" := PaymentMethod."Cash Document Status"::" "; - PaymentMethod.Modify(false); - until PaymentMethod.Next() = 0; - end; - - local procedure CopySalesHeader(); - var - SalesHeader: Record "Sales Header"; - SalesHeaderDataTransfer: DataTransfer; - begin - SalesHeaderDataTransfer.SetTables(Database::"Sales Header", Database::"Sales Header"); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Cash Desk Code"), SalesHeader.FieldNo("Cash Desk Code CZP")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Cash Document Status"), SalesHeader.FieldNo("Cash Document Action CZP")); - SalesHeaderDataTransfer.CopyFields(); - end; - - local procedure CopySalesInvoiceHeader(); - var - SalesInvoiceHeader: Record "Sales Invoice Header"; - SalesInvoiceHeaderDataTransfer: DataTransfer; - begin - SalesInvoiceHeaderDataTransfer.SetTables(Database::"Sales Invoice Header", Database::"Sales Invoice Header"); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Cash Desk Code"), SalesInvoiceHeader.FieldNo("Cash Desk Code CZP")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Cash Document Status"), SalesInvoiceHeader.FieldNo("Cash Document Action CZP")); - SalesInvoiceHeaderDataTransfer.CopyFields(); - end; - - local procedure CopySalesCrMemoHeader(); - var - SalesCrMemoHeader: Record "Sales Cr.Memo Header"; - SalesCrMemoHeaderDataTransfer: DataTransfer; - begin - SalesCrMemoHeaderDataTransfer.SetTables(Database::"Sales Cr.Memo Header", Database::"Sales Cr.Memo Header"); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Cash Desk Code"), SalesCrMemoHeader.FieldNo("Cash Desk Code CZP")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Cash Document Status"), SalesCrMemoHeader.FieldNo("Cash Document Action CZP")); - SalesCrMemoHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyPurchaseHeader(); - var - PurchaseHeader: Record "Purchase Header"; - PurchaseHeaderDataTransfer: DataTransfer; - begin - PurchaseHeaderDataTransfer.SetTables(Database::"Purchase Header", Database::"Purchase Header"); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Cash Desk Code"), PurchaseHeader.FieldNo("Cash Desk Code CZP")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Cash Document Status"), PurchaseHeader.FieldNo("Cash Document Action CZP")); - PurchaseHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyPurchaseInvoiceHeader(); - var - PurchInvHeader: Record "Purch. Inv. Header"; - PurchInvHeaderDataTransfer: DataTransfer; - begin - PurchInvHeaderDataTransfer.SetTables(Database::"Purch. Inv. Header", Database::"Purch. Inv. Header"); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Cash Desk Code"), PurchInvHeader.FieldNo("Cash Desk Code CZP")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Cash Document Status"), PurchInvHeader.FieldNo("Cash Document Action CZP")); - PurchInvHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyPurchaseCrMemoHeader(); - var - PurchCrMemoHdr: Record "Purch. Cr. Memo Hdr."; - PurchCrMemoHdrDataTransfer: DataTransfer; - begin - PurchCrMemoHdrDataTransfer.SetTables(Database::"Purch. Cr. Memo Hdr.", Database::"Purch. Cr. Memo Hdr."); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Cash Desk Code"), PurchCrMemoHdr.FieldNo("Cash Desk Code CZP")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Cash Document Status"), PurchCrMemoHdr.FieldNo("Cash Document Action CZP")); - PurchCrMemoHdrDataTransfer.CopyFields(); - end; - - local procedure CopyServiceHeader(); - var - ServiceHeader: Record "Service Header"; - ServiceHeaderDataTransfer: DataTransfer; - begin - ServiceHeaderDataTransfer.SetTables(Database::"Service Header", Database::"Service Header"); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Cash Desk Code"), ServiceHeader.FieldNo("Cash Desk Code CZP")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Cash Document Status"), ServiceHeader.FieldNo("Cash Document Action CZP")); - ServiceHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyServiceInvoiceHeader(); - var - ServiceInvoiceHeader: Record "Service Invoice Header"; - ServiceInvoiceHeaderDataTransfer: DataTransfer; - begin - ServiceInvoiceHeaderDataTransfer.SetTables(Database::"Service Invoice Header", Database::"Service Invoice Header"); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Cash Desk Code"), ServiceInvoiceHeader.FieldNo("Cash Desk Code CZP")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Cash Document Status"), ServiceInvoiceHeader.FieldNo("Cash Document Action CZP")); - ServiceInvoiceHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyServiceCrMemoHeader(); - var - ServiceCrMemoHeader: Record "Service Cr.Memo Header"; - ServiceCrMemoHeaderDataTransfer: DataTransfer; - begin - ServiceCrMemoHeaderDataTransfer.SetTables(Database::"Service Cr.Memo Header", Database::"Service Cr.Memo Header"); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Cash Desk Code"), ServiceCrMemoHeader.FieldNo("Cash Desk Code CZP")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Cash Document Status"), ServiceCrMemoHeader.FieldNo("Cash Document Action CZP")); - ServiceCrMemoHeaderDataTransfer.CopyFields(); - end; - local procedure CopySourceCodeSetup(); var SourceCodeSetup: Record "Source Code Setup"; @@ -617,47 +105,6 @@ codeunit 31054 "Install Application CZP" end; end; - local procedure CopyUserSetup(); - var - UserSetup: Record "User Setup"; - UserSetupDataTransfer: DataTransfer; - begin - UserSetupDataTransfer.SetTables(Database::"User Setup", Database::"User Setup"); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Cash Resp. Ctr. Filter"), UserSetup.FieldNo("Cash Resp. Ctr. Filter CZP")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Cash Desk Amt. Approval Limit"), UserSetup.FieldNo("Cash Desk Amt. Appr. Limit CZP")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Unlimited Cash Desk Approval"), UserSetup.FieldNo("Unlimited Cash Desk Appr. CZP")); - UserSetupDataTransfer.CopyFields(); - end; - - local procedure CopyGeneralLedgerSetup(); - var - GeneralLedgerSetup: Record "General Ledger Setup"; - begin - GeneralLedgerSetup.SetLoadFields("Cash Desk Nos.", "Cash Payment Limit (LCY)"); - if GeneralLedgerSetup.Get() then begin - GeneralLedgerSetup."Cash Desk Nos. CZP" := GeneralLedgerSetup."Cash Desk Nos."; - GeneralLedgerSetup."Cash Payment Limit (LCY) CZP" := GeneralLedgerSetup."Cash Payment Limit (LCY)"; - GeneralLedgerSetup.Modify(false); - end; - end; - - local procedure CopyCurrencyNominalValue(); - var - CurrencyNominalValue: Record "Currency Nominal Value"; - CurrencyNominalValueCZP: Record "Currency Nominal Value CZP"; - begin - if CurrencyNominalValue.FindSet() then - repeat - if not CurrencyNominalValueCZP.Get(CurrencyNominalValue."Currency Code", CurrencyNominalValue.Value) then begin - CurrencyNominalValueCZP.Init(); - CurrencyNominalValueCZP."Currency Code" := CurrencyNominalValue."Currency Code"; - CurrencyNominalValueCZP."Nominal Value" := CurrencyNominalValue.Value; - CurrencyNominalValueCZP.SystemId := CurrencyNominalValue.SystemId; - CurrencyNominalValueCZP.Insert(false, true); - end; - until CurrencyNominalValue.Next() = 0; - end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Company-Initialize", 'OnCompanyInitialize', '', false, false)] local procedure CompanyInitialize() var diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplicationCZP.Codeunit.al b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplicationCZP.Codeunit.al index 0d93170b19..b182b0790e 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplicationCZP.Codeunit.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Codeunits/UpgradeApplicationCZP.Codeunit.al @@ -6,7 +6,6 @@ namespace Microsoft.Finance.CashDesk; using Microsoft; using Microsoft.Bank.BankAccount; -using Microsoft.Finance.GeneralLedger.Setup; using System.Environment.Configuration; using System.Upgrade; @@ -39,7 +38,6 @@ codeunit 31107 "Upgrade Application CZP" DataUpgradeMgt.SetUpgradeInProgress(); BindSubscription(InstallApplicationsMgtCZL); UpgradeUsage(); - UpgradeData(); UnbindSubscription(InstallApplicationsMgtCZL); SetCompanyUpgradeTags(); end; @@ -50,16 +48,7 @@ codeunit 31107 "Upgrade Application CZP" exit; NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Document Header", Database::"Cash Document Header CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Document Line", Database::"Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Posted Cash Document Header", Database::"Posted Cash Document Hdr. CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Posted Cash Document Line", Database::"Posted Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Currency Nominal Value", Database::"Currency Nominal Value CZP"); InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Bank Account", Database::"Cash Desk CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk User", Database::"Cash Desk User CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk Event", Database::"Cash Desk Event CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk Cue", Database::"Cash Desk Cue CZP"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Cash Desk Report Selections", Database::"Cash Desk Rep. Selections CZP"); end; local procedure UpgradeUsage() @@ -67,125 +56,7 @@ codeunit 31107 "Upgrade Application CZP" if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion174PerDatabaseUpgradeTag()) then exit; - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Document Header", Database::"Cash Document Header CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Document Line", Database::"Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Posted Cash Document Header", Database::"Posted Cash Document Hdr. CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Posted Cash Document Line", Database::"Posted Cash Document Line CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Currency Nominal Value", Database::"Currency Nominal Value CZP"); InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Bank Account", Database::"Cash Desk CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk User", Database::"Cash Desk User CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk Event", Database::"Cash Desk Event CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk Cue", Database::"Cash Desk Cue CZP"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Cash Desk Report Selections", Database::"Cash Desk Rep. Selections CZP"); - end; - - local procedure UpgradeData() - begin - UpgradeCashDeskEvent(); - UpgradeCashDeskUser(); - UpgradeCashDocumentLine(); - UpgradePostedCashDocumentHeader(); - UpgradePostedCashDocumentLine(); - end; - - local procedure UpgradeCashDeskUser(); - var - CashDeskUser: Record "Cash Desk User"; - CashDeskUserCZP: Record "Cash Desk User CZP"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - CashDeskUser.SetLoadFields("Cash Desk No.", "User ID", "Post EET Only"); - if CashDeskUser.FindSet() then - repeat - if CashDeskUserCZP.Get(CashDeskUser."Cash Desk No.", CashDeskUser."User ID") then begin - CashDeskUserCZP."Post EET Only" := CashDeskUser."Post EET Only"; - CashDeskUserCZP.Modify(false); - end; - until CashDeskUser.Next() = 0; - end; - - local procedure UpgradeCashDeskEvent(); - var - CashDeskEvent: Record "Cash Desk Event"; - CashDeskEventCZP: Record "Cash Desk Event CZP"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - CashDeskEvent.SetLoadFields(Code, "EET Transaction"); - if CashDeskEvent.FindSet() then - repeat - if CashDeskEventCZP.Get(CashDeskEvent.Code) then begin - CashDeskEventCZP."EET Transaction" := CashDeskEvent."EET Transaction"; - CashDeskEventCZP.Modify(false); - end; - until CashDeskEvent.Next() = 0; - end; - - local procedure UpgradeCashDocumentLine(); - var - CashDocumentLine: Record "Cash Document Line"; - CashDocumentLineCZP: Record "Cash Document Line CZP"; - GeneralLedgerSetup: Record "General Ledger Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion173PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion174PerCompanyUpgradeTag()) - then - exit; - - if not GeneralLedgerSetup.Get() then - GeneralLedgerSetup.Init(); - CashDocumentLine.SetLoadFields("Cash Desk No.", "Cash Document No.", "Line No.", Prepayment, "Advance Letter Link Code", "EET Transaction"); - if CashDocumentLine.FindSet() then - repeat - if CashDocumentLineCZP.Get(CashDocumentLine."Cash Desk No.", CashDocumentLine."Cash Document No.", CashDocumentLine."Line No.") then begin - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion173PerCompanyUpgradeTag()) then - if GeneralLedgerSetup."Prepayment Type" = GeneralLedgerSetup."Prepayment Type"::Advances then - if CashDocumentLine.Prepayment then - CashDocumentLineCZP."Advance Letter Link Code" := CashDocumentLine."Advance Letter Link Code"; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion174PerCompanyUpgradeTag()) then - CashDocumentLineCZP."EET Transaction" := CashDocumentLine."EET Transaction"; - CashDocumentLineCZP.Modify(false); - end; - until CashDocumentLine.Next() = 0; - end; - - local procedure UpgradePostedCashDocumentHeader(); - var - PostedCashDocumentHeader: Record "Posted Cash Document Header"; - PostedCashDocumentHdrCZP: Record "Posted Cash Document Hdr. CZP"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - PostedCashDocumentHeader.SetLoadFields("Cash Desk No.", "No.", "EET Entry No."); - if PostedCashDocumentHeader.FindSet() then - repeat - if PostedCashDocumentHdrCZP.Get(PostedCashDocumentHeader."Cash Desk No.", PostedCashDocumentHeader."No.") then begin - PostedCashDocumentHdrCZP."EET Entry No." := PostedCashDocumentHeader."EET Entry No."; - PostedCashDocumentHdrCZP.Modify(false); - end; - until PostedCashDocumentHeader.Next() = 0; - end; - - local procedure UpgradePostedCashDocumentLine(); - var - PostedCashDocumentLine: Record "Posted Cash Document Line"; - PostedCashDocumentLineCZP: Record "Posted Cash Document Line CZP"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZP.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - PostedCashDocumentLine.SetLoadFields("Cash Desk No.", "Cash Document No.", "Line No.", "EET Transaction"); - if PostedCashDocumentLine.FindSet() then - repeat - if PostedCashDocumentLineCZP.Get(PostedCashDocumentLine."Cash Desk No.", PostedCashDocumentLine."Cash Document No.", PostedCashDocumentLine."Line No.") then begin - PostedCashDocumentLineCZP."EET Transaction" := PostedCashDocumentLine."EET Transaction"; - PostedCashDocumentLineCZP.Modify(false); - end; - until PostedCashDocumentLine.Next() = 0; end; local procedure SetDatabaseUpgradeTags(); diff --git a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLineCZP.Table.al b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLineCZP.Table.al index b923d41e5c..958b7a52ef 100644 --- a/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLineCZP.Table.al +++ b/Apps/CZ/CashDeskLocalization/app/Src/Tables/CashDocumentLineCZP.Table.al @@ -1022,21 +1022,6 @@ table 11733 "Cash Document Line CZP" DataClassification = CustomerContent; TableRelation = "Allocation Account"; } -#if not CLEANSCHEMA22 - field(31001; "Advance Letter Link Code"; Code[30]) - { - Caption = 'Advance Letter Link Code'; - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteReason = 'Remove after Advance Payment Localization for Czech will be implemented.'; - ObsoleteTag = '22.0'; - - trigger OnValidate() - begin - UpdateEETTransaction(); - end; - } -#endif } keys @@ -2046,4 +2031,4 @@ table 11733 "Cash Document Line CZP" local procedure OnBeforeShowDimensions(var CashDocumentLineCZP: Record "Cash Document Line CZP"; xCashDocumentLineCZP: Record "Cash Document Line CZP"; var IsHandled: Boolean) begin end; -} +} \ No newline at end of file diff --git a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplicationCZC.Codeunit.al b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplicationCZC.Codeunit.al index 9b91b90b92..6581fe7752 100644 --- a/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplicationCZC.Codeunit.al +++ b/Apps/CZ/CompensationLocalization/app/Src/Codeunits/InstallApplicationCZC.Codeunit.al @@ -33,19 +33,12 @@ codeunit 31270 "Install Application CZC" var InstallApplicationsMgtCZL: Codeunit "Install Applications Mgt. CZL"; - UpgradeApplicationCZC: Codeunit "Upgrade Application CZC"; AppInfo: ModuleInfo; - trigger OnInstallAppPerDatabase() - begin - CopyPermission(); - end; - trigger OnInstallAppPerCompany() begin if not InitializeDone() then begin BindSubscription(InstallApplicationsMgtCZL); - CopyUsage(); CopyData(); UnbindSubscription(InstallApplicationsMgtCZL); end; @@ -58,39 +51,9 @@ codeunit 31270 "Install Application CZC" exit(AppInfo.DataVersion() <> Version.Create('0.0.0.0')); end; - local procedure CopyPermission(); - begin - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Credits Setup", Database::"Compensations Setup CZC"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Credit Report Selections", Database::"Compens. Report Selections CZC"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Credit Header", Database::"Compensation Line CZC"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Credit Line", Database::"Compensation Line CZC"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Posted Credit Header", Database::"Posted Compensation Header CZC"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Posted Credit Line", Database::"Posted Compensation Line CZC"); - end; - - local procedure CopyUsage(); - begin - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Credits Setup", Database::"Compensations Setup CZC"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Credit Report Selections", Database::"Compens. Report Selections CZC"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Credit Header", Database::"Compensation Line CZC"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Credit Line", Database::"Compensation Line CZC"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Posted Credit Header", Database::"Posted Compensation Header CZC"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Posted Credit Line", Database::"Posted Compensation Line CZC"); - end; - local procedure CopyData() begin CopySourceCodeSetup(); - CopyCompensationSetup(); - CopyCustLedgerEntry(); - CopyVendLedgerEntry(); - CopyGenJournalLine(); - CopyCreditHeader(); - CopyCreditLine(); - CopyPostedCreditHeader(); - CopyPostedCreditLine(); - CopyPostedGenJournalLine(); MoveIncomingDocument(); InitCompensationSourceCode(); end; @@ -106,222 +69,6 @@ codeunit 31270 "Install Application CZC" end; end; - local procedure CopyCompensationSetup(); - var - CreditsSetup: Record "Credits Setup"; - CompensationsSetupCZC: Record "Compensations Setup CZC"; - begin - if CreditsSetup.Get() then begin - if not CompensationsSetupCZC.Get() then begin - CompensationsSetupCZC.Init(); - CompensationsSetupCZC.Insert(); - end; - CompensationsSetupCZC."Compensation Nos." := CreditsSetup."Credit Nos."; - CompensationsSetupCZC."Compensation Bal. Account No." := CreditsSetup."Credit Bal. Account No."; - CompensationsSetupCZC."Max. Rounding Amount" := CreditsSetup."Max. Rounding Amount"; - CompensationsSetupCZC."Debit Rounding Account" := CreditsSetup."Debit Rounding Account"; - CompensationsSetupCZC."Credit Rounding Account" := CreditsSetup."Credit Rounding Account"; - CompensationsSetupCZC."Compensation Proposal Method" := CreditsSetup."Credit Proposal By"; - CompensationsSetupCZC."Show Empty when not Found" := CreditsSetup."Show Empty when not Found"; - CompensationsSetupCZC.Modify(false); - end; - end; - - local procedure CopyCustLedgerEntry(); - var - CustLedgerEntry: Record "Cust. Ledger Entry"; - CustLedgerEntryDataTransfer: DataTransfer; - begin - CustLedgerEntryDataTransfer.SetTables(Database::"Cust. Ledger Entry", Database::"Cust. Ledger Entry"); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo(Compensation), CustLedgerEntry.FieldNo("Compensation CZC")); - CustLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyVendLedgerEntry(); - var - VendorLedgerEntry: Record "Vendor Ledger Entry"; - VendorLedgerEntryDataTransfer: DataTransfer; - begin - VendorLedgerEntryDataTransfer.SetTables(Database::"Vendor Ledger Entry", Database::"Vendor Ledger Entry"); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo(Compensation), VendorLedgerEntry.FieldNo("Compensation CZC")); - VendorLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyGenJournalLine(); - var - GenJournalLine: Record "Gen. Journal Line"; - GenJournalLineDataTransfer: DataTransfer; - begin - GenJournalLineDataTransfer.SetTables(Database::"Gen. Journal Line", Database::"Gen. Journal Line"); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo(Compensation), GenJournalLine.FieldNo("Compensation CZC")); - GenJournalLineDataTransfer.CopyFields(); - end; - - local procedure CopyCreditHeader(); - var - CreditHeader: Record "Credit Header"; - CompensationHeaderCZC: Record "Compensation Header CZC"; - begin - if CreditHeader.FindSet() then - repeat - if not CompensationHeaderCZC.Get(CreditHeader."No.") then begin - CompensationHeaderCZC.Init(); - CompensationHeaderCZC."No." := CreditHeader."No."; - CompensationHeaderCZC.SystemId := CreditHeader.SystemId; - CompensationHeaderCZC.Insert(false, true); - end; - CompensationHeaderCZC.Description := CreditHeader.Description; - CompensationHeaderCZC."Company No." := CreditHeader."Company No."; - CompensationHeaderCZC."Company Name" := CreditHeader."Company Name"; - CompensationHeaderCZC."Company Name 2" := CreditHeader."Company Name 2"; - CompensationHeaderCZC."Company Address" := CreditHeader."Company Address"; - CompensationHeaderCZC."Company Address 2" := CreditHeader."Company Address 2"; - CompensationHeaderCZC."Company City" := CreditHeader."Company City"; - CompensationHeaderCZC."Company Contact" := CreditHeader."Company Contact"; - CompensationHeaderCZC."Company County" := CreditHeader."Company County"; - CompensationHeaderCZC."Company Country/Region Code" := CreditHeader."Company Country/Region Code"; - CompensationHeaderCZC."Company Post Code" := CreditHeader."Company Post Code"; - CompensationHeaderCZC."User ID" := CreditHeader."User ID"; - CompensationHeaderCZC.Status := CreditHeader.Status; - CompensationHeaderCZC."Salesperson/Purchaser Code" := CreditHeader."Salesperson Code"; - CompensationHeaderCZC."Document Date" := CreditHeader."Document Date"; - CompensationHeaderCZC."Posting Date" := CreditHeader."Posting Date"; - CompensationHeaderCZC."No. Series" := CreditHeader."No. Series"; - CompensationHeaderCZC."Company Type" := CreditHeader.Type; - CompensationHeaderCZC."Incoming Document Entry No." := CreditHeader."Incoming Document Entry No."; - CompensationHeaderCZC."Language Code" := UpgradeApplicationCZC.GetLanguageCode(CompensationHeaderCZC."Company Type", CompensationHeaderCZC."Company No."); - CompensationHeaderCZC."Format Region" := UpgradeApplicationCZC.GetFormatRegion(CompensationHeaderCZC."Company Type", CompensationHeaderCZC."Company No."); - CompensationHeaderCZC.Modify(false); - until CreditHeader.Next() = 0; - end; - - local procedure CopyCreditLine(); - var - CreditLine: Record "Credit Line"; - CompensationLineCZC: Record "Compensation Line CZC"; - begin - if CreditLine.FindSet() then - repeat - if not CompensationLineCZC.Get(CreditLine."Credit No.", CreditLine."Line No.") then begin - CompensationLineCZC.Init(); - CompensationLineCZC."Compensation No." := CreditLine."Credit No."; - CompensationLineCZC."Line No." := CreditLine."Line No."; - CompensationLineCZC.SystemId := CreditLine.SystemId; - CompensationLineCZC.Insert(false, true); - end; - CompensationLineCZC."Source Type" := CreditLine."Source Type"; - CompensationLineCZC."Source No." := CreditLine."Source No."; - CompensationLineCZC."Posting Group" := CreditLine."Posting Group"; - CompensationLineCZC."Shortcut Dimension 1 Code" := CreditLine."Global Dimension 1 Code"; - CompensationLineCZC."Shortcut Dimension 2 Code" := CreditLine."Global Dimension 2 Code"; - CompensationLineCZC."Source Entry No." := CreditLine."Source Entry No."; - CompensationLineCZC."Posting Date" := CreditLine."Posting Date"; - CompensationLineCZC."Document Type" := CreditLine."Document Type"; - CompensationLineCZC."Document No." := CreditLine."Document No."; - CompensationLineCZC.Description := CreditLine.Description; - CompensationLineCZC."Variable Symbol" := CreditLine."Variable Symbol"; - CompensationLineCZC."Currency Code" := CreditLine."Currency Code"; - CompensationLineCZC."Currency Factor" := CreditLine."Currency Factor"; - CompensationLineCZC."Ledg. Entry Original Amount" := CreditLine."Ledg. Entry Original Amount"; - CompensationLineCZC."Ledg. Entry Remaining Amount" := CreditLine."Ledg. Entry Remaining Amount"; - CompensationLineCZC.Amount := CreditLine.Amount; - CompensationLineCZC."Remaining Amount" := CreditLine."Remaining Amount"; - CompensationLineCZC."Ledg. Entry Original Amt.(LCY)" := CreditLine."Ledg. Entry Original Amt.(LCY)"; - CompensationLineCZC."Ledg. Entry Rem. Amt. (LCY)" := CreditLine."Ledg. Entry Rem. Amt. (LCY)"; - CompensationLineCZC."Amount (LCY)" := CreditLine."Amount (LCY)"; - CompensationLineCZC."Remaining Amount (LCY)" := CreditLine."Remaining Amount (LCY)"; - CompensationLineCZC."Manual Change Only" := CreditLine."Manual Change Only"; - CompensationLineCZC."Dimension Set ID" := CreditLine."Dimension Set ID"; - CompensationLineCZC.Modify(false); - until CreditLine.Next() = 0; - end; - - local procedure CopyPostedCreditHeader(); - var - PostedCreditHeader: Record "Posted Credit Header"; - PostedCompensationHeaderCZC: Record "Posted Compensation Header CZC"; - begin - if PostedCreditHeader.FindSet() then - repeat - if not PostedCompensationHeaderCZC.Get(PostedCreditHeader."No.") then begin - PostedCompensationHeaderCZC.Init(); - PostedCompensationHeaderCZC."No." := PostedCreditHeader."No."; - PostedCompensationHeaderCZC.SystemId := PostedCreditHeader.SystemId; - PostedCompensationHeaderCZC.Insert(false, true); - end; - PostedCompensationHeaderCZC.Description := PostedCreditHeader.Description; - PostedCompensationHeaderCZC."Company No." := PostedCreditHeader."Company No."; - PostedCompensationHeaderCZC."Company Name" := PostedCreditHeader."Company Name"; - PostedCompensationHeaderCZC."Company Name 2" := PostedCreditHeader."Company Name 2"; - PostedCompensationHeaderCZC."Company Address" := PostedCreditHeader."Company Address"; - PostedCompensationHeaderCZC."Company Address 2" := PostedCreditHeader."Company Address 2"; - PostedCompensationHeaderCZC."Company City" := PostedCreditHeader."Company City"; - PostedCompensationHeaderCZC."Company Contact" := PostedCreditHeader."Company Contact"; - PostedCompensationHeaderCZC."Company County" := PostedCreditHeader."Company County"; - PostedCompensationHeaderCZC."Company Country/Region Code" := PostedCreditHeader."Company Country/Region Code"; - PostedCompensationHeaderCZC."Company Post Code" := PostedCreditHeader."Company Post Code"; - PostedCompensationHeaderCZC."User ID" := PostedCreditHeader."User ID"; - PostedCompensationHeaderCZC."Salesperson/Purchaser Code" := PostedCreditHeader."Salesperson Code"; - PostedCompensationHeaderCZC."Document Date" := PostedCreditHeader."Document Date"; - PostedCompensationHeaderCZC."Posting Date" := PostedCreditHeader."Posting Date"; - PostedCompensationHeaderCZC."No. Series" := PostedCreditHeader."No. Series"; - PostedCompensationHeaderCZC."Company Type" := PostedCreditHeader.Type; - PostedCompensationHeaderCZC."Language Code" := UpgradeApplicationCZC.GetLanguageCode(PostedCompensationHeaderCZC."Company Type", PostedCompensationHeaderCZC."Company No."); - PostedCompensationHeaderCZC."Format Region" := UpgradeApplicationCZC.GetFormatRegion(PostedCompensationHeaderCZC."Company Type", PostedCompensationHeaderCZC."Company No."); - PostedCompensationHeaderCZC.Modify(false); - until PostedCreditHeader.Next() = 0; - end; - - local procedure CopyPostedCreditLine(); - var - PostedCreditLine: Record "Posted Credit Line"; - PostedCompensationLineCZC: Record "Posted Compensation Line CZC"; - begin - if PostedCreditLine.FindSet() then - repeat - if not PostedCompensationLineCZC.Get(PostedCreditLine."Credit No.", PostedCreditLine."Line No.") then begin - PostedCompensationLineCZC.Init(); - PostedCompensationLineCZC."Compensation No." := PostedCreditLine."Credit No."; - PostedCompensationLineCZC."Line No." := PostedCreditLine."Line No."; - PostedCompensationLineCZC.SystemId := PostedCreditLine.SystemId; - PostedCompensationLineCZC.Insert(false, true); - end; - PostedCompensationLineCZC."Source Type" := PostedCreditLine."Source Type"; - PostedCompensationLineCZC."Source No." := PostedCreditLine."Source No."; - PostedCompensationLineCZC."Posting Group" := PostedCreditLine."Posting Group"; - PostedCompensationLineCZC."Shortcut Dimension 1 Code" := PostedCreditLine."Global Dimension 1 Code"; - PostedCompensationLineCZC."Shortcut Dimension 2 Code" := PostedCreditLine."Global Dimension 2 Code"; - PostedCompensationLineCZC."Source Entry No." := PostedCreditLine."Source Entry No."; - PostedCompensationLineCZC."Posting Date" := PostedCreditLine."Posting Date"; - PostedCompensationLineCZC."Document Type" := PostedCreditLine."Document Type"; - PostedCompensationLineCZC."Document No." := PostedCreditLine."Document No."; - PostedCompensationLineCZC.Description := PostedCreditLine.Description; - PostedCompensationLineCZC."Variable Symbol" := PostedCreditLine."Variable Symbol"; - PostedCompensationLineCZC."Currency Code" := PostedCreditLine."Currency Code"; - PostedCompensationLineCZC."Currency Factor" := PostedCreditLine."Currency Factor"; - PostedCompensationLineCZC."Ledg. Entry Original Amount" := PostedCreditLine."Ledg. Entry Original Amount"; - PostedCompensationLineCZC."Ledg. Entry Remaining Amount" := PostedCreditLine."Ledg. Entry Remaining Amount"; - PostedCompensationLineCZC.Amount := PostedCreditLine.Amount; - PostedCompensationLineCZC."Remaining Amount" := PostedCreditLine."Remaining Amount"; - PostedCompensationLineCZC."Ledg. Entry Original Amt.(LCY)" := PostedCreditLine."Ledg. Entry Original Amt.(LCY)"; - PostedCompensationLineCZC."Ledg. Entry Rem. Amt. (LCY)" := PostedCreditLine."Ledg. Entry Rem. Amt. (LCY)"; - PostedCompensationLineCZC."Amount (LCY)" := PostedCreditLine."Amount (LCY)"; - PostedCompensationLineCZC."Remaining Amount (LCY)" := PostedCreditLine."Remaining Amount (LCY)"; - PostedCompensationLineCZC."Dimension Set ID" := PostedCreditLine."Dimension Set ID"; - PostedCompensationLineCZC.Modify(false); - until PostedCreditLine.Next() = 0; - end; - - local procedure CopyPostedGenJournalLine(); - var - PostedGenJournalLine: Record "Posted Gen. Journal Line"; - PostedGenJournalLineDataTransfer: DataTransfer; - begin - PostedGenJournalLineDataTransfer.SetTables(Database::"Posted Gen. Journal Line", Database::"Posted Gen. Journal Line"); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo(Compensation), PostedGenJournalLine.FieldNo("Compensation CZC")); - PostedGenJournalLineDataTransfer.CopyFields(); - end; - local procedure MoveIncomingDocument() var IncomingDocument: Record "Incoming Document"; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationCZL.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationCZL.Codeunit.al index 4f211f640e..2a8f8db952 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationCZL.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/InstallApplicationCZL.Codeunit.al @@ -173,7 +173,6 @@ codeunit 11748 "Install Application CZL" tabledata "Service Cr.Memo Line" = m, tabledata "Service Shipment Line" = m, tabledata "Isolated Certificate" = m, - tabledata "EET Service Setup" = m, tabledata "Bank Account" = m, tabledata "Depreciation Book" = m, tabledata "Value Entry" = m, @@ -203,11 +202,6 @@ codeunit 11748 "Install Application CZL" InstallApplicationsMgtCZL: Codeunit "Install Applications Mgt. CZL"; AppInfo: ModuleInfo; - trigger OnInstallAppPerDatabase() - begin - CopyPermission(); - end; - trigger OnInstallAppPerCompany() begin if not InitializeDone() then begin @@ -225,184 +219,28 @@ codeunit 11748 "Install Application CZL" exit(AppInfo.DataVersion() <> Version.Create('0.0.0.0')); end; - local procedure CopyPermission(); - begin - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Constant Symbol", Database::"Constant Symbol CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Excel Template", Database::"Excel Template CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Statement File Mapping", Database::"Acc. Schedule File Mapping CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Attribute Code", Database::"VAT Attribute Code CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Uncertainty Payer Entry", Database::"Unreliable Payer Entry CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Electronically Govern. Setup", Database::"Unrel. Payer Service Setup CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Reg. No. Srv Config", Database::"Reg. No. Service Config CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Registration Log", Database::"Registration Log CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Period", Database::"VAT Period CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Statement Comment Line", Database::"VAT Statement Comment Line CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Statement Attachment", Database::"VAT Statement Attachment CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Company Officials", Database::"Company Official CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Stockkeeping Unit Template", Database::"Stockkeeping Unit Template CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Whse. Net Change Template", Database::"Invt. Movement Template CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Statistic Indication", Database::"Statistic Indication CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VIES Declaration Header", Database::"VIES Declaration Header CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VIES Declaration Line", Database::"VIES Declaration Line CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Commodity", Database::"Commodity CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Commodity Setup", Database::"Commodity Setup CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Stat. Reporting Setup", Database::"Statutory Reporting Setup CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Control Report Header", Database::"VAT Ctrl. Report Header CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Control Report Line", Database::"VAT Ctrl. Report Line CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Control Report Section", Database::"VAT Ctrl. Report Section CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Control Report Buffer", Database::"VAT Ctrl. Report Buffer CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"VAT Ctrl.Rep. - VAT Entry Link", Database::"VAT Ctrl. Report Ent. Link CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Document Footer", Database::"Document Footer CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Certificate CZ Code", Database::"Certificate Code CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Business Premises", Database::"EET Business Premises CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Cash Register", Database::"EET Cash Register CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Entry", Database::"EET Entry CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Entry Status", Database::"EET Entry Status Log CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Service Setup", Database::"EET Service Setup CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Subst. Customer Posting Group", Database::"Alt. Customer Posting Group"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Subst. Vendor Posting Group", Database::"Alt. Vendor Posting Group"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Specific Movement", Database::"Specific Movement CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Intrastat Delivery Group", Database::"Intrastat Delivery Group CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Extension", Database::"Acc. Schedule Extension CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Line", Database::"Acc. Schedule Result Line CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Column", Database::"Acc. Schedule Result Col. CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Value", Database::"Acc. Schedule Result Value CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Header", Database::"Acc. Schedule Result Hdr. CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result History", Database::"Acc. Schedule Result Hist. CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"User Setup Line", Database::"User Setup Line CZL"); - end; - local procedure CopyData() begin CopyCompanyInformation(); - CopyResponsibilityCenter(); CopyCustomer(); CopyVendor(); - CopyVendorBankAccount(); - CopyContact(); - CopyUncertaintyPayerEntry(); - CopyRegistrationLog(); - CopyWhseNetChangeTemplate(); - CopyItemJournalLine(); - CopyJobJournalLine(); - CopyPhysInvtOrderLine(); - CopyInventorySetup(); CopyGLSetup(); - CopySalesSetup(); - CopyPurchaseSetup(); - CopyServiceSetup(); - CopyUserSetup(); - CopyVATPeriod(); - CopyGLEntry(); - CopyCustLedgerEntry(); - CopyDetailedCustLedgEntry(); - CopyVendLedgerEntry(); - CopyDetailedVendorLedgEntry(); - CopyVATEntry(); - CopyGenJournalLine(); CopySalesHeader(); - CopySalesShipmentHeader(); CopySalesInvoiceHeader(); CopySalesCrMemoHeader(); - CopyReturnReceiptHeader(); CopySalesHeaderArchive(); CopyPurchaseHeader(); - CopyPurchaseReceiptHeader(); CopyPurchaseInvoiceHeader(); CopyPurchaseCrMemoHeader(); - CopyReturnShipmentHeader(); CopyPurchaseHeaderArchive(); CopyServiceHeader(); - CopyServiceShipmentHeader(); CopyServiceInvoiceHeader(); CopyServiceCrMemoHeader(); - CopyReminderHeader(); CopyIssuedReminderHeader(); - CopyFinanceChargeMemoHeader(); - CopyIssuedFinanceChargeMemoHeader(); - CopyStatutoryReportingSetup(); - CopyVATControlReportSection(); - CopyVATControlReportHeader(); - CopyVATControlReportLine(); - CopyVATControlReportEntryLink(); - CopyVATPostingSetup(); CopyVATStatementTemplate(); CopyVATStatementLine(); - CopyVIESDeclarationHeader(); - CopyVIESDeclarationLine(); - CopyCompanyOfficials(); - CopyDocumentFooter(); - CopyGLAccount(); - CopyVATAttributeCode(); - CopyVATStatementCommentLine(); - CopyVATStatementAttachment(); - CopyAccScheduleName(); CopyAccScheduleLine(); - CopyExcelTemplate(); - CopyStatementFileMapping(); - CopyPurchaseLine(); - CopyPurchCrMemoLine(); - CopyPurchInvLine(); - CopyPurchRcptLine(); - CopySalesCrMemoLine(); - CopySalesInvoiceLine(); - CopySalesLine(); - CopySalesShipmentLine(); - CopyTariffNumber(); - CopyCommodity(); - CopyCommoditySetup(); - CopyStatisticIndication(); CopySourceCodeSetup(); - CopyStockkeepingUnitTemplate(); - CopyStockkeepingUnit(); - CopyItem(); - CopyResource(); - CopyServiceLine(); - CopyServiceInvoiceLine(); - CopyServiceCrMemoLine(); - CopyServiceShipmentLine(); - CopyCertificateCZCode(); - CopyIsolatedCertificate(); - CopyEETServiceSetup(); - CopyEETBusinessPremises(); - CopyEETCashRegister(); - CopyEETEntry(); - CopyEETEntryStatus(); - CopyBankAccount(); - CopyConstantSymbol(); - CopyDepreciationBook(); - CopyValueEntry(); - CopySubstCustomerPostingGroup(); - CopySubstVendorPostingGroup(); - CopyShipmentMethod(); - CopySpecificMovement(); - CopyIntrastatDeliveryGroup(); - CopyUnitofMeasure(); - CopySalesLineArchive(); - CopyPurchaseLineArchive(); - CopyTransferHeader(); - CopyTransferLine(); - CopyTransferReceiptHeader(); - CopyTransferShipmentHeader(); - CopyItemLedgerEntry(); - CopyJobLedgerEntry(); - CopyItemCharge(); - CopyItemChargeAssignmentPurch(); - CopyItemChargeAssignmentSales(); - CopyPostedGenJournalLine(); - CopyIntrastatJournalBatch(); - CopyIntrastatJournalLine(); - CopyInventoryPostingSetup(); - CopyGeneralPostingSetup(); - CopyUserSetupLine(); - CopyAccScheduleExtension(); - CopyAccScheduleResultLine(); - CopyAccScheduleResultColumn(); - CopyAccScheduleResultValue(); - CopyAccScheduleResultHeader(); - CopyAccScheduleResultHistory(); - CopyGenJournalTemplate(); InitUnreliablePayerServiceSetup(); InitVATCtrlReportSections(); InitStatutoryReportingSetup(); @@ -418,43 +256,12 @@ codeunit 11748 "Install Application CZL" local procedure CopyCompanyInformation(); var - CompanyInformation: Record "Company Information"; StatutoryReportingSetupCZL: Record "Statutory Reporting Setup CZL"; begin - CompanyInformation.SetLoadFields("Default Bank Account Code", "Bank Account Format Check", "Tax Registration No.", "Primary Business Activity", - "Court Authority No.", "Tax Authority No.", "Registration Date", "Equity Capital", "Paid Equity Capital", - "General Manager No.", "Accounting Manager No.", "Finance Manager No."); - if CompanyInformation.Get() then begin - CompanyInformation."Default Bank Account Code CZL" := CompanyInformation."Default Bank Account Code"; - CompanyInformation."Bank Account Format Check CZL" := CompanyInformation."Bank Account Format Check"; - CompanyInformation."Tax Registration No. CZL" := CompanyInformation."Tax Registration No."; - CompanyInformation.Modify(false); - end; - if not StatutoryReportingSetupCZL.Get() then begin StatutoryReportingSetupCZL.Init(); StatutoryReportingSetupCZL.Insert(); end; - StatutoryReportingSetupCZL."Primary Business Activity" := CompanyInformation."Primary Business Activity"; - StatutoryReportingSetupCZL."Court Authority No." := CompanyInformation."Court Authority No."; - StatutoryReportingSetupCZL."Tax Authority No." := CompanyInformation."Tax Authority No."; - StatutoryReportingSetupCZL."Registration Date" := CompanyInformation."Registration Date"; - StatutoryReportingSetupCZL."Equity Capital" := CompanyInformation."Equity Capital"; - StatutoryReportingSetupCZL."Paid Equity Capital" := CompanyInformation."Paid Equity Capital"; - StatutoryReportingSetupCZL."General Manager No." := CompanyInformation."General Manager No."; - StatutoryReportingSetupCZL."Accounting Manager No." := CompanyInformation."Accounting Manager No."; - StatutoryReportingSetupCZL."Finance Manager No." := CompanyInformation."Finance Manager No."; - StatutoryReportingSetupCZL.Modify(); - end; - - local procedure CopyResponsibilityCenter(); - var - ResponsibilityCenter: Record "Responsibility Center"; - ResponsibilityCenterDataTransfer: DataTransfer; - begin - ResponsibilityCenterDataTransfer.SetTables(Database::"Responsibility Center", Database::"Responsibility Center"); - ResponsibilityCenterDataTransfer.AddFieldValue(ResponsibilityCenter.FieldNo("Bank Account Code"), ResponsibilityCenter.FieldNo("Default Bank Account Code CZL")); - ResponsibilityCenterDataTransfer.CopyFields(); end; local procedure CopyCustomer(); @@ -463,11 +270,6 @@ codeunit 11748 "Install Application CZL" CustomerDataTransfer: DataTransfer; begin CustomerDataTransfer.SetTables(Database::Customer, Database::Customer); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Registration No."), Customer.FieldNo("Registration Number")); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Tax Registration No."), Customer.FieldNo("Tax Registration No. CZL")); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Transaction Type"), Customer.FieldNo("Transaction Type CZL")); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Transaction Specification"), Customer.FieldNo("Transaction Specification CZL")); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Transport Method"), Customer.FieldNo("Transport Method CZL")); CustomerDataTransfer.AddConstantValue(true, Customer.FieldNo("Allow Multiple Posting Groups")); CustomerDataTransfer.CopyFields(); end; @@ -478,173 +280,10 @@ codeunit 11748 "Install Application CZL" VendorDataTransfer: DataTransfer; begin VendorDataTransfer.SetTables(Database::Vendor, Database::Vendor); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Registration No."), Vendor.FieldNo("Registration Number")); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Tax Registration No."), Vendor.FieldNo("Tax Registration No. CZL")); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Disable Uncertainty Check"), Vendor.FieldNo("Disable Unreliab. Check CZL")); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Transaction Type"), Vendor.FieldNo("Transaction Type CZL")); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Transaction Specification"), Vendor.FieldNo("Transaction Specification CZL")); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Transport Method"), Vendor.FieldNo("Transport Method CZL")); VendorDataTransfer.AddConstantValue(true, Vendor.FieldNo("Allow Multiple Posting Groups")); VendorDataTransfer.CopyFields(); end; - local procedure CopyVendorBankAccount(); - var - VendorBankAccount: Record "Vendor Bank Account"; - VendorBankAccountDataTransfer: DataTransfer; - begin - VendorBankAccountDataTransfer.SetTables(Database::"Vendor Bank Account", Database::"Vendor Bank Account"); - VendorBankAccountDataTransfer.AddFieldValue(VendorBankAccount.FieldNo("Third Party Bank Account"), VendorBankAccount.FieldNo("Third Party Bank Account CZL")); - VendorBankAccountDataTransfer.CopyFields(); - end; - - local procedure CopyContact(); - var - Contact: Record Contact; - ContactDataTransfer: DataTransfer; - begin - ContactDataTransfer.SetTables(Database::Contact, Database::Contact); - ContactDataTransfer.AddFieldValue(Contact.FieldNo("Registration No."), Contact.FieldNo("Registration Number")); - ContactDataTransfer.AddFieldValue(Contact.FieldNo("Tax Registration No."), Contact.FieldNo("Tax Registration No. CZL")); - ContactDataTransfer.CopyFields(); - end; - - local procedure CopyUncertaintyPayerEntry(); - var - UncertaintyPayerEntry: Record "Uncertainty Payer Entry"; - UnreliablePayerEntryCZL: Record "Unreliable Payer Entry CZL"; - begin - if UncertaintyPayerEntry.FindSet() then - repeat - if not UnreliablePayerEntryCZL.Get(UncertaintyPayerEntry."Entry No.") then begin - UnreliablePayerEntryCZL.Init(); - UnreliablePayerEntryCZL."Entry No." := UncertaintyPayerEntry."Entry No."; - UnreliablePayerEntryCZL.SystemId := UncertaintyPayerEntry.SystemId; - UnreliablePayerEntryCZL.Insert(false, true); - end; - UnreliablePayerEntryCZL."Vendor No." := UncertaintyPayerEntry."Vendor No."; - UnreliablePayerEntryCZL."Check Date" := UncertaintyPayerEntry."Check Date"; - UnreliablePayerEntryCZL."Public Date" := UncertaintyPayerEntry."Public Date"; - UnreliablePayerEntryCZL."End Public Date" := UncertaintyPayerEntry."End Public Date"; - UnreliablePayerEntryCZL."Unreliable Payer" := UncertaintyPayerEntry."Uncertainty Payer"; - UnreliablePayerEntryCZL."Entry Type" := UncertaintyPayerEntry."Entry Type"; - UnreliablePayerEntryCZL."VAT Registration No." := UncertaintyPayerEntry."VAT Registration No."; - UnreliablePayerEntryCZL."Tax Office Number" := UncertaintyPayerEntry."Tax Office Number"; - UnreliablePayerEntryCZL."Full Bank Account No." := UncertaintyPayerEntry."Full Bank Account No."; - UnreliablePayerEntryCZL."Bank Account No. Type" := UncertaintyPayerEntry."Bank Account No. Type"; - UnreliablePayerEntryCZL.Modify(false); - until UncertaintyPayerEntry.Next() = 0; - end; - - local procedure CopyRegistrationLog(); - var - RegistrationLog: Record "Registration Log"; - RegistrationLogCZL: Record "Registration Log CZL"; - begin - if RegistrationLog.FindSet() then - repeat - if not RegistrationLogCZL.Get(RegistrationLog."Entry No.") then begin - RegistrationLogCZL.Init(); - RegistrationLogCZL."Entry No." := RegistrationLog."Entry No."; - RegistrationLogCZL.SystemId := RegistrationLog.SystemId; - RegistrationLogCZL.Insert(false, true); - end; - RegistrationLogCZL."Registration No." := RegistrationLog."Registration No."; - RegistrationLogCZL."Account Type" := RegistrationLog."Account Type"; - RegistrationLogCZL."Account No." := RegistrationLog."Account No."; - RegistrationLogCZL.Status := RegistrationLog.Status; - RegistrationLogCZL."Verified Name" := RegistrationLog."Verified Name"; - RegistrationLogCZL."Verified Address" := RegistrationLog."Verified Address"; - RegistrationLogCZL."Verified City" := RegistrationLog."Verified City"; - RegistrationLogCZL."Verified Post Code" := RegistrationLog."Verified Post Code"; - RegistrationLogCZL."Verified VAT Registration No." := RegistrationLog."Verified VAT Registration No."; - RegistrationLogCZL."Verified Date" := RegistrationLog."Verified Date"; - RegistrationLogCZL."Verified Result" := RegistrationLog."Verified Result"; - RegistrationLogCZL."User ID" := RegistrationLog."User ID"; - RegistrationLogCZL.Modify(false); - until RegistrationLog.Next() = 0; - end; - - local procedure CopyWhseNetChangeTemplate(); - var - WhseNetChangeTemplate: Record "Whse. Net Change Template"; - InvtMovementTemplateCZL: Record "Invt. Movement Template CZL"; - begin - if WhseNetChangeTemplate.FindSet() then - repeat - if not InvtMovementTemplateCZL.Get(WhseNetChangeTemplate.Name) then begin - InvtMovementTemplateCZL.Init(); - InvtMovementTemplateCZL.Name := WhseNetChangeTemplate.Name; - InvtMovementTemplateCZL.SystemId := WhseNetChangeTemplate.SystemId; - InvtMovementTemplateCZL.Insert(false, true); - end; - InvtMovementTemplateCZL.Description := WhseNetChangeTemplate.Description; - InvtMovementTemplateCZL."Entry Type" := WhseNetChangeTemplate."Entry Type"; - InvtMovementTemplateCZL."Gen. Bus. Posting Group" := WhseNetChangeTemplate."Gen. Bus. Posting Group"; - InvtMovementTemplateCZL.Modify(false); - until WhseNetChangeTemplate.Next() = 0; - end; - - local procedure CopyItemJournalLine(); - var - ItemJournalLine: Record "Item Journal Line"; - ItemJournalLineDataTransfer: DataTransfer; - begin - ItemJournalLineDataTransfer.SetTables(Database::"Item Journal Line", Database::"Item Journal Line"); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Tariff No."), ItemJournalLine.FieldNo("Tariff No. CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Physical Transfer"), ItemJournalLine.FieldNo("Physical Transfer CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Incl. in Intrastat Amount"), ItemJournalLine.FieldNo("Incl. in Intrastat Amount CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Incl. in Intrastat Stat. Value"), ItemJournalLine.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Net Weight"), ItemJournalLine.FieldNo("Net Weight CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Country/Region of Origin Code"), ItemJournalLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Statistic Indication"), ItemJournalLine.FieldNo("Statistic Indication CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Intrastat Transaction"), ItemJournalLine.FieldNo("Intrastat Transaction CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Whse. Net Change Template"), ItemJournalLine.FieldNo("Invt. Movement Template CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("G/L Correction"), ItemJournalLine.FieldNo("G/L Correction CZL")); - ItemJournalLineDataTransfer.CopyFields(); - end; - - local procedure CopyJobJournalLine(); - var - JobJournalLine: Record "Job Journal Line"; - JobJournalLineDataTransfer: DataTransfer; - begin - JobJournalLineDataTransfer.SetTables(Database::"Job Journal Line", Database::"Job Journal Line"); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Whse. Net Change Template"), JobJournalLine.FieldNo("Invt. Movement Template CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Correction"), JobJournalLine.FieldNo("Correction CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Tariff No."), JobJournalLine.FieldNo("Tariff No. CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Net Weight"), JobJournalLine.FieldNo("Net Weight CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Country/Region of Origin Code"), JobJournalLine.FieldNo("Country/Reg. of Orig. Code CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Statistic Indication"), JobJournalLine.FieldNo("Statistic Indication CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Intrastat Transaction"), JobJournalLine.FieldNo("Intrastat Transaction CZL")); - JobJournalLineDataTransfer.CopyFields(); - end; - - local procedure CopyPhysInvtOrderLine(); - var - PhysInvtOrderLine: Record "Phys. Invt. Order Line"; - PhysInvtOrderLineDataTransfer: DataTransfer; - begin - PhysInvtOrderLineDataTransfer.SetTables(Database::"Phys. Invt. Order Line", Database::"Phys. Invt. Order Line"); - PhysInvtOrderLineDataTransfer.AddFieldValue(PhysInvtOrderLine.FieldNo("Whse. Net Change Template"), PhysInvtOrderLine.FieldNo("Invt. Movement Template CZL")); - PhysInvtOrderLineDataTransfer.CopyFields(); - end; - - local procedure CopyInventorySetup(); - var - InventorySetup: Record "Inventory Setup"; - begin - InventorySetup.SetLoadFields("Date Order Inventory Change", "Def.Template for Phys.Pos.Adj", "Def.Template for Phys.Neg.Adj", "Post Exp. Cost Conv. as Corr.", "Post Neg. Transfers as Corr."); - if InventorySetup.Get() then begin - InventorySetup."Date Order Invt. Change CZL" := InventorySetup."Date Order Inventory Change"; - InventorySetup."Def.Tmpl. for Phys.Pos.Adj CZL" := InventorySetup."Def.Template for Phys.Pos.Adj"; - InventorySetup."Def.Tmpl. for Phys.Neg.Adj CZL" := InventorySetup."Def.Template for Phys.Neg.Adj"; - InventorySetup."Post Exp.Cost Conv.As Corr.CZL" := InventorySetup."Post Exp. Cost Conv. as Corr."; - InventorySetup."Post Neg.Transf. As Corr.CZL" := InventorySetup."Post Neg. Transfers as Corr."; - InventorySetup.Modify(false); - end; - end; - local procedure CopyGLSetup(); var GeneralLedgerSetup: Record "General Ledger Setup"; @@ -652,308 +291,20 @@ codeunit 11748 "Install Application CZL" VATSetup: Record "VAT Setup"; begin if GeneralLedgerSetup.Get() then begin - if GeneralLedgerSetup."Use VAT Date" then - GeneralLedgerSetup."VAT Reporting Date Usage" := GeneralLedgerSetup."VAT Reporting Date Usage"::"Enabled (Prevent modification)" - else - GeneralLedgerSetup."VAT Reporting Date Usage" := GeneralLedgerSetup."VAT Reporting Date Usage"::Disabled; - GeneralLedgerSetup."Allow VAT Posting From CZL" := GeneralLedgerSetup."Allow VAT Posting From"; - GeneralLedgerSetup."Allow VAT Posting To CZL" := GeneralLedgerSetup."Allow VAT Posting To"; - GeneralLedgerSetup."Do Not Check Dimensions CZL" := GeneralLedgerSetup."Dont Check Dimension"; - GeneralLedgerSetup."Check Posting Debit/Credit CZL" := GeneralLedgerSetup."Check Posting Debit/Credit"; - GeneralLedgerSetup."Mark Neg. Qty as Correct. CZL" := GeneralLedgerSetup."Mark Neg. Qty as Correction"; - GeneralLedgerSetup."Rounding Date CZL" := GeneralLedgerSetup."Rounding Date"; - GeneralLedgerSetup."Closed Per. Entry Pos.Date CZL" := GeneralLedgerSetup."Closed Period Entry Pos.Date"; - GeneralLedgerSetup."User Checks Allowed CZL" := GeneralLedgerSetup."User Checks Allowed"; - GeneralLedgerSetup."Shared Account Schedule CZL" := GeneralLedgerSetup."Shared Account Schedule"; - GeneralLedgerSetup."Acc. Schedule Results Nos. CZL" := GeneralLedgerSetup."Acc. Schedule Results Nos."; + GeneralLedgerSetup."VAT Reporting Date Usage" := GeneralLedgerSetup."VAT Reporting Date Usage"::Disabled; GeneralLedgerSetup.Modify(false); if not StatutoryReportingSetupCZL.Get() then begin StatutoryReportingSetupCZL.Init(); StatutoryReportingSetupCZL.Insert(); end; - StatutoryReportingSetupCZL."Company Official Nos." := GeneralLedgerSetup."Company Officials Nos."; - StatutoryReportingSetupCZL.Modify(); if not VATSetup.Get() then begin VATSetup.Init(); VATSetup.Insert(); end; - VATSetup."Allow VAT Date From" := GeneralLedgerSetup."Allow VAT Posting From"; - VATSetup."Allow VAT Date To" := GeneralLedgerSetup."Allow VAT Posting To"; - VATSetup.Modify(); - end; - end; - - local procedure CopySalesSetup(); - var - SalesReceivablesSetup: Record "Sales & Receivables Setup"; - begin - SalesReceivablesSetup.SetLoadFields("Default VAT Date", "Allow Alter Posting Groups"); - if SalesReceivablesSetup.Get() then begin - SalesReceivablesSetup."Default VAT Date CZL" := SalesReceivablesSetup."Default VAT Date"; - SalesReceivablesSetup."Allow Multiple Posting Groups" := SalesReceivablesSetup."Allow Alter Posting Groups"; - SalesReceivablesSetup.Modify(false); - end; - end; - - local procedure CopyPurchaseSetup(); - var - GeneralLedgerSetup: Record "General Ledger Setup"; - PurchasesPayablesSetup: Record "Purchases & Payables Setup"; - begin - PurchasesPayablesSetup.SetLoadFields("Default VAT Date", "Allow Alter Posting Groups", "Default Orig. Doc. VAT Date"); - if PurchasesPayablesSetup.Get() then begin - PurchasesPayablesSetup."Default VAT Date CZL" := PurchasesPayablesSetup."Default VAT Date"; - PurchasesPayablesSetup."Allow Multiple Posting Groups" := PurchasesPayablesSetup."Allow Alter Posting Groups"; - GeneralLedgerSetup.Get(); - case PurchasesPayablesSetup."Default Orig. Doc. VAT Date" of - PurchasesPayablesSetup."Default Orig. Doc. VAT Date"::Blank: - GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL" := Enum::"Default Orig.Doc. VAT Date CZL"::Blank; - PurchasesPayablesSetup."Default Orig. Doc. VAT Date"::"Posting Date": - GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL" := Enum::"Default Orig.Doc. VAT Date CZL"::"Posting Date"; - PurchasesPayablesSetup."Default Orig. Doc. VAT Date"::"VAT Date": - GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL" := Enum::"Default Orig.Doc. VAT Date CZL"::"VAT Date"; - PurchasesPayablesSetup."Default Orig. Doc. VAT Date"::"Document Date": - GeneralLedgerSetup."Def. Orig. Doc. VAT Date CZL" := Enum::"Default Orig.Doc. VAT Date CZL"::"Document Date"; - end; - - GeneralLedgerSetup.Modify(false); - PurchasesPayablesSetup.Modify(false); - end; - end; - - local procedure CopyServiceSetup(); - var - ServiceMgtSetup: Record "Service Mgt. Setup"; - begin - ServiceMgtSetup.SetLoadFields("Default VAT Date", "Allow Alter Cust. Post. Groups"); - if ServiceMgtSetup.Get() then begin - ServiceMgtSetup."Default VAT Date CZL" := ServiceMgtSetup."Default VAT Date"; - ServiceMgtSetup."Allow Multiple Posting Groups" := ServiceMgtSetup."Allow Alter Cust. Post. Groups"; - ServiceMgtSetup.Modify(false); - end; - end; - - local procedure CopyUserSetup(); - var - UserSetup: Record "User Setup"; - UserSetupDataTransfer: DataTransfer; - begin - UserSetupDataTransfer.SetTables(Database::"User Setup", Database::"User Setup"); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow VAT Posting From"), UserSetup.FieldNo("Allow VAT Posting From CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow VAT Posting To"), UserSetup.FieldNo("Allow VAT Posting To CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow VAT Posting From"), UserSetup.FieldNo("Allow VAT Date From")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow VAT Posting To"), UserSetup.FieldNo("Allow VAT Date To")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Document Date(work date)"), UserSetup.FieldNo("Check Doc. Date(work date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Document Date(sys. date)"), UserSetup.FieldNo("Check Doc. Date(sys. date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Posting Date (work date)"), UserSetup.FieldNo("Check Post.Date(work date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Posting Date (sys. date)"), UserSetup.FieldNo("Check Post.Date(sys. date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Bank Accounts"), UserSetup.FieldNo("Check Bank Accounts CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Journal Templates"), UserSetup.FieldNo("Check Journal Templates CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Dimension Values"), UserSetup.FieldNo("Check Dimension Values CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow Posting to Closed Period"), UserSetup.FieldNo("Allow Post.toClosed Period CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow Complete Job"), UserSetup.FieldNo("Allow Complete Job CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Employee No."), UserSetup.FieldNo("Employee No. CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("User Name"), UserSetup.FieldNo("User Name CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow Item Unapply"), UserSetup.FieldNo("Allow Item Unapply CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Location Code"), UserSetup.FieldNo("Check Location Code CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Release Location Code"), UserSetup.FieldNo("Check Release LocationCode CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Whse. Net Change Temp."), UserSetup.FieldNo("Check Invt. Movement Temp. CZL")); - UserSetupDataTransfer.CopyFields(); - end; - - local procedure CopyVATPeriod(); - var - VATPeriod: Record "VAT Period"; - VATPeriodCZL: Record "VAT Period CZL"; - begin - if VATPeriod.FindSet(true) then - repeat - if not VATPeriodCZL.Get(VATPeriod."Starting Date") then begin - VATPeriodCZL.Init(); - VATPeriodCZL."Starting Date" := VATPeriod."Starting Date"; - VATPeriodCZL.SystemId := VATPeriod.SystemId; - VATPeriodCZL.Insert(false, true); - end; - VATPeriodCZL.Name := VATPeriod.Name; - VATPeriodCZL."New VAT Year" := VATPeriod."New VAT Year"; - VATPeriodCZL.Closed := VATPeriod.Closed; - VATPeriodCZL.Modify(false); - until VATPeriod.Next() = 0; - end; - - local procedure CopyGLEntry(); - var - GLEntry: Record "G/L Entry"; - GLEntryDataTransfer: DataTransfer; - TotalRows: Integer; - FromNo, ToNo : Integer; - begin - - GLEntry.Reset(); - TotalRows := GLEntry.Count(); - ToNo := 0; - - while ToNo < TotalRows do begin - // Batch size 5 million - FromNo := ToNo + 1; - ToNo := FromNo + 5000000; - - if ToNo > TotalRows then - ToNo := TotalRows; - - GLEntryDataTransfer.SetTables(Database::"G/L Entry", Database::"G/L Entry"); - GLEntryDataTransfer.AddSourceFilter(GLEntry.FieldNo("Entry No."), '%1..%2', FromNo, ToNo); - GLEntryDataTransfer.AddSourceFilter(GLEntry.FieldNo("VAT Date"), '<>%1', 0D); - GLEntryDataTransfer.AddFieldValue(GLEntry.FieldNo("VAT Date"), GLEntry.FieldNo("VAT Reporting Date")); - GLEntryDataTransfer.CopyFields(); - Clear(GLEntryDataTransfer); - end; - end; - - local procedure CopyCustLedgerEntry(); - var - CustLedgerEntry: Record "Cust. Ledger Entry"; - CustLedgerEntryDataTransfer: DataTransfer; - begin - CustLedgerEntryDataTransfer.SetTables(Database::"Cust. Ledger Entry", Database::"Cust. Ledger Entry"); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Specific Symbol"), CustLedgerEntry.FieldNo("Specific Symbol CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Variable Symbol"), CustLedgerEntry.FieldNo("Variable Symbol CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Constant Symbol"), CustLedgerEntry.FieldNo("Constant Symbol CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Bank Account Code"), CustLedgerEntry.FieldNo("Bank Account Code CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Bank Account No."), CustLedgerEntry.FieldNo("Bank Account No. CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Transit No."), CustLedgerEntry.FieldNo("Transit No. CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo(IBAN), CustLedgerEntry.FieldNo("IBAN CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("SWIFT Code"), CustLedgerEntry.FieldNo("SWIFT Code CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("VAT Date"), CustLedgerEntry.FieldNo("VAT Date CZL")); - CustLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyDetailedCustLedgEntry(); - var - DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; - begin - DetailedCustLedgEntry.SetLoadFields("Entry No.", "Customer Posting Group", "Entry Type", "Transaction No."); - if DetailedCustLedgEntry.FindSet(true) then - repeat - DetailedCustLedgEntry."Posting Group" := DetailedCustLedgEntry."Customer Posting Group"; - DetailedCustLedgEntry.Modify(false); - until DetailedCustLedgEntry.Next() = 0; - end; - - internal procedure IsCustomerApplAcrossPostGrpTransaction(TransactionNo: Integer; var ApplTransactionDictionary: Dictionary of [Integer, Boolean]) ApplAcrossPostGroups: Boolean - var - DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; - FirstCustomerPostingGroup: Code[20]; - begin - if not ApplTransactionDictionary.Get(TransactionNo, ApplAcrossPostGroups) then begin - FirstCustomerPostingGroup := ''; - DetailedCustLedgEntry.SetLoadFields("Customer Posting Group"); - DetailedCustLedgEntry.SetCurrentKey("Transaction No.", "Customer No.", "Entry Type"); - DetailedCustLedgEntry.SetRange("Transaction No.", TransactionNo); - DetailedCustLedgEntry.SetRange("Entry Type", DetailedCustLedgEntry."Entry Type"::Application); - if DetailedCustLedgEntry.FindSet() then - repeat - if FirstCustomerPostingGroup = '' then - FirstCustomerPostingGroup := DetailedCustLedgEntry."Customer Posting Group"; - ApplAcrossPostGroups := FirstCustomerPostingGroup <> DetailedCustLedgEntry."Customer Posting Group"; - until ApplAcrossPostGroups or (DetailedCustLedgEntry.Next() = 0); - ApplTransactionDictionary.Add(TransactionNo, ApplAcrossPostGroups); - end; - end; - - local procedure CopyVendLedgerEntry(); - var - VendorLedgerEntry: Record "Vendor Ledger Entry"; - VendorLedgerEntryDataTransfer: DataTransfer; - begin - VendorLedgerEntryDataTransfer.SetTables(Database::"Vendor Ledger Entry", Database::"Vendor Ledger Entry"); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Specific Symbol"), VendorLedgerEntry.FieldNo("Specific Symbol CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Variable Symbol"), VendorLedgerEntry.FieldNo("Variable Symbol CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Constant Symbol"), VendorLedgerEntry.FieldNo("Constant Symbol CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Bank Account Code"), VendorLedgerEntry.FieldNo("Bank Account Code CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Bank Account No."), VendorLedgerEntry.FieldNo("Bank Account No. CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Transit No."), VendorLedgerEntry.FieldNo("Transit No. CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo(IBAN), VendorLedgerEntry.FieldNo("IBAN CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("SWIFT Code"), VendorLedgerEntry.FieldNo("SWIFT Code CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("VAT Date"), VendorLedgerEntry.FieldNo("VAT Date CZL")); - VendorLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyDetailedVendorLedgEntry(); - var - DetailedVendorLedgEntry: Record "Detailed Vendor Ledg. Entry"; - begin - DetailedVendorLedgEntry.SetLoadFields("Entry No.", "Vendor Posting Group", "Entry Type", "Transaction No."); - if DetailedVendorLedgEntry.FindSet(true) then - repeat - DetailedVendorLedgEntry."Posting Group" := DetailedVendorLedgEntry."Vendor Posting Group"; - DetailedVendorLedgEntry.Modify(false); - until DetailedVendorLedgEntry.Next() = 0; - end; - - internal procedure IsVendorApplAcrossPostGrpTransaction(TransactionNo: Integer; var ApplTransactionDictionary: Dictionary of [Integer, Boolean]) ApplAcrossPostGroups: Boolean - var - DetailedVendorLedgEntry: Record "Detailed Vendor Ledg. Entry"; - FirstVendorPostingGroup: Code[20]; - begin - if not ApplTransactionDictionary.Get(TransactionNo, ApplAcrossPostGroups) then begin - FirstVendorPostingGroup := ''; - DetailedVendorLedgEntry.SetCurrentKey("Transaction No.", "Vendor No.", "Entry Type"); - DetailedVendorLedgEntry.SetLoadFields("Vendor Posting Group"); - DetailedVendorLedgEntry.SetRange("Transaction No.", TransactionNo); - DetailedVendorLedgEntry.SetRange("Entry Type", DetailedVendorLedgEntry."Entry Type"::Application); - if DetailedVendorLedgEntry.FindSet() then - repeat - if FirstVendorPostingGroup = '' then - FirstVendorPostingGroup := DetailedVendorLedgEntry."Vendor Posting Group"; - ApplAcrossPostGroups := FirstVendorPostingGroup <> DetailedVendorLedgEntry."Vendor Posting Group"; - until ApplAcrossPostGroups or (DetailedVendorLedgEntry.Next() = 0); - ApplTransactionDictionary.Add(TransactionNo, ApplAcrossPostGroups); end; end; - local procedure CopyVATEntry(); - var - VATEntry: Record "VAT Entry"; - VATEntryDataTransfer: DataTransfer; - begin - VATEntryDataTransfer.SetTables(Database::"VAT Entry", Database::"VAT Entry"); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("VAT Date"), VATEntry.FieldNo("VAT Reporting Date")); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("Registration No."), VATEntry.FieldNo("Registration No. CZL")); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("VAT Settlement No."), VATEntry.FieldNo("VAT Settlement No. CZL")); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("Original Document VAT Date"), VATEntry.FieldNo("Original Doc. VAT Date CZL")); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("EU 3-Party Intermediate Role"), VATEntry.FieldNo("EU 3-Party Intermed. Role CZL")); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("VAT Delay"), VATEntry.FieldNo("VAT Delay CZL")); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("VAT Identifier"), VATEntry.FieldNo("VAT Identifier CZL")); - VATEntryDataTransfer.CopyFields(); - end; - local procedure CopyGenJournalLine(); - var - GenJournalLine: Record "Gen. Journal Line"; - GenJournalLineDataTransfer: DataTransfer; - begin - GenJournalLineDataTransfer.SetTables(Database::"Gen. Journal Line", Database::"Gen. Journal Line"); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Specific Symbol"), GenJournalLine.FieldNo("Specific Symbol CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Variable Symbol"), GenJournalLine.FieldNo("Variable Symbol CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Constant Symbol"), GenJournalLine.FieldNo("Constant Symbol CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Bank Account Code"), GenJournalLine.FieldNo("Bank Account Code CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Bank Account No."), GenJournalLine.FieldNo("Bank Account No. CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Transit No."), GenJournalLine.FieldNo("Transit No. CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo(IBAN), GenJournalLine.FieldNo("IBAN CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("SWIFT Code"), GenJournalLine.FieldNo("SWIFT Code CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("VAT Date"), GenJournalLine.FieldNo("VAT Reporting Date")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Registration No."), GenJournalLine.FieldNo("Registration No. CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Tax Registration No."), GenJournalLine.FieldNo("Tax Registration No. CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("EU 3-Party Intermediate Role"), GenJournalLine.FieldNo("EU 3-Party Intermed. Role CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Original Document VAT Date"), GenJournalLine.FieldNo("Original Doc. VAT Date CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Original Document Partner Type"), GenJournalLine.FieldNo("Original Doc. Partner Type CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Original Document Partner No."), GenJournalLine.FieldNo("Original Doc. Partner No. CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Currency Factor VAT"), GenJournalLine.FieldNo("VAT Currency Factor CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Currency Code VAT"), GenJournalLine.FieldNo("VAT Currency Code CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("VAT Delay"), GenJournalLine.FieldNo("VAT Delay CZL")); - GenJournalLineDataTransfer.CopyFields(); - end; local procedure CopySalesHeader(); var @@ -961,66 +312,16 @@ codeunit 11748 "Install Application CZL" SalesHeaderDataTransfer: DataTransfer; begin SalesHeaderDataTransfer.SetTables(Database::"Sales Header", Database::"Sales Header"); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Specific Symbol"), SalesHeader.FieldNo("Specific Symbol CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Variable Symbol"), SalesHeader.FieldNo("Variable Symbol CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Constant Symbol"), SalesHeader.FieldNo("Constant Symbol CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Account Code"), SalesHeader.FieldNo("Bank Account Code CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Account No."), SalesHeader.FieldNo("Bank Account No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Branch No."), SalesHeader.FieldNo("Bank Branch No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Name"), SalesHeader.FieldNo("Bank Name CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Transit No."), SalesHeader.FieldNo("Transit No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo(IBAN), SalesHeader.FieldNo("IBAN CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("SWIFT Code"), SalesHeader.FieldNo("SWIFT Code CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("VAT Date"), SalesHeader.FieldNo("VAT Reporting Date")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Registration No."), SalesHeader.FieldNo("Registration No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Tax Registration No."), SalesHeader.FieldNo("Tax Registration No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Credit Memo Type"), SalesHeader.FieldNo("Credit Memo Type CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Physical Transfer"), SalesHeader.FieldNo("Physical Transfer CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Intrastat Exclude"), SalesHeader.FieldNo("Intrastat Exclude CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("EU 3-Party Intermediate Role"), SalesHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Original Document VAT Date"), SalesHeader.FieldNo("Original Doc. VAT Date CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("VAT Currency Factor"), SalesHeader.FieldNo("VAT Currency Factor CZL")); SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Currency Code"), SalesHeader.FieldNo("VAT Currency Code CZL")); SalesHeaderDataTransfer.CopyFields(); end; - local procedure CopySalesShipmentHeader(); - var - SalesShipmentHeader: Record "Sales Shipment Header"; - SalesShipmentHeaderDataTransfer: DataTransfer; - begin - SalesShipmentHeaderDataTransfer.SetTables(Database::"Sales Shipment Header", Database::"Sales Shipment Header"); - SalesShipmentHeaderDataTransfer.AddFieldValue(SalesShipmentHeader.FieldNo("Registration No."), SalesShipmentHeader.FieldNo("Registration No. CZL")); - SalesShipmentHeaderDataTransfer.AddFieldValue(SalesShipmentHeader.FieldNo("Tax Registration No."), SalesShipmentHeader.FieldNo("Tax Registration No. CZL")); - SalesShipmentHeaderDataTransfer.AddFieldValue(SalesShipmentHeader.FieldNo("Physical Transfer"), SalesShipmentHeader.FieldNo("Physical Transfer CZL")); - SalesShipmentHeaderDataTransfer.AddFieldValue(SalesShipmentHeader.FieldNo("Intrastat Exclude"), SalesShipmentHeader.FieldNo("Intrastat Exclude CZL")); - SalesShipmentHeaderDataTransfer.AddFieldValue(SalesShipmentHeader.FieldNo("EU 3-Party Intermediate Role"), SalesShipmentHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - SalesShipmentHeaderDataTransfer.CopyFields(); - end; - local procedure CopySalesInvoiceHeader(); var SalesInvoiceHeader: Record "Sales Invoice Header"; SalesInvoiceHeaderDataTransfer: DataTransfer; begin SalesInvoiceHeaderDataTransfer.SetTables(Database::"Sales Invoice Header", Database::"Sales Invoice Header"); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Specific Symbol"), SalesInvoiceHeader.FieldNo("Specific Symbol CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Variable Symbol"), SalesInvoiceHeader.FieldNo("Variable Symbol CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Constant Symbol"), SalesInvoiceHeader.FieldNo("Constant Symbol CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Account Code"), SalesInvoiceHeader.FieldNo("Bank Account Code CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Account No."), SalesInvoiceHeader.FieldNo("Bank Account No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Branch No."), SalesInvoiceHeader.FieldNo("Bank Branch No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Name"), SalesInvoiceHeader.FieldNo("Bank Name CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Transit No."), SalesInvoiceHeader.FieldNo("Transit No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo(IBAN), SalesInvoiceHeader.FieldNo("IBAN CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("SWIFT Code"), SalesInvoiceHeader.FieldNo("SWIFT Code CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("VAT Date"), SalesInvoiceHeader.FieldNo("VAT Reporting Date")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Registration No."), SalesInvoiceHeader.FieldNo("Registration No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Tax Registration No."), SalesInvoiceHeader.FieldNo("Tax Registration No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Physical Transfer"), SalesInvoiceHeader.FieldNo("Physical Transfer CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Intrastat Exclude"), SalesInvoiceHeader.FieldNo("Intrastat Exclude CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("EU 3-Party Intermediate Role"), SalesInvoiceHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("VAT Currency Factor"), SalesInvoiceHeader.FieldNo("VAT Currency Factor CZL")); SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Currency Code"), SalesInvoiceHeader.FieldNo("VAT Currency Code CZL")); SalesInvoiceHeaderDataTransfer.CopyFields(); end; @@ -1031,40 +332,10 @@ codeunit 11748 "Install Application CZL" SalesCrMemoHeaderDataTransfer: DataTransfer; begin SalesCrMemoHeaderDataTransfer.SetTables(Database::"Sales Cr.Memo Header", Database::"Sales Cr.Memo Header"); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Specific Symbol"), SalesCrMemoHeader.FieldNo("Specific Symbol CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Variable Symbol"), SalesCrMemoHeader.FieldNo("Variable Symbol CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Constant Symbol"), SalesCrMemoHeader.FieldNo("Constant Symbol CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Account Code"), SalesCrMemoHeader.FieldNo("Bank Account Code CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Account No."), SalesCrMemoHeader.FieldNo("Bank Account No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Branch No."), SalesCrMemoHeader.FieldNo("Bank Branch No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Name"), SalesCrMemoHeader.FieldNo("Bank Name CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Transit No."), SalesCrMemoHeader.FieldNo("Transit No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo(IBAN), SalesCrMemoHeader.FieldNo("IBAN CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("SWIFT Code"), SalesCrMemoHeader.FieldNo("SWIFT Code CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("VAT Date"), SalesCrMemoHeader.FieldNo("VAT Reporting Date")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Registration No."), SalesCrMemoHeader.FieldNo("Registration No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Tax Registration No."), SalesCrMemoHeader.FieldNo("Tax Registration No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Physical Transfer"), SalesCrMemoHeader.FieldNo("Physical Transfer CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Intrastat Exclude"), SalesCrMemoHeader.FieldNo("Intrastat Exclude CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Credit Memo Type"), SalesCrMemoHeader.FieldNo("Credit Memo Type CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("EU 3-Party Intermediate Role"), SalesCrMemoHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("VAT Currency Factor"), SalesCrMemoHeader.FieldNo("VAT Currency Factor CZL")); SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Currency Code"), SalesCrMemoHeader.FieldNo("VAT Currency Code CZL")); SalesCrMemoHeaderDataTransfer.CopyFields(); end; - local procedure CopyReturnReceiptHeader(); - var - ReturnReceiptHeader: Record "Return Receipt Header"; - ReturnReceiptHeaderDataTransfer: DataTransfer; - begin - ReturnReceiptHeaderDataTransfer.SetTables(Database::"Return Receipt Header", Database::"Return Receipt Header"); - ReturnReceiptHeaderDataTransfer.AddFieldValue(ReturnReceiptHeader.FieldNo("Registration No."), ReturnReceiptHeader.FieldNo("Registration No. CZL")); - ReturnReceiptHeaderDataTransfer.AddFieldValue(ReturnReceiptHeader.FieldNo("Tax Registration No."), ReturnReceiptHeader.FieldNo("Tax Registration No. CZL")); - ReturnReceiptHeaderDataTransfer.AddFieldValue(ReturnReceiptHeader.FieldNo("Physical Transfer"), ReturnReceiptHeader.FieldNo("Physical Transfer CZL")); - ReturnReceiptHeaderDataTransfer.AddFieldValue(ReturnReceiptHeader.FieldNo("Intrastat Exclude"), ReturnReceiptHeader.FieldNo("Intrastat Exclude CZL")); - ReturnReceiptHeaderDataTransfer.CopyFields(); - end; local procedure CopySalesHeaderArchive(); var @@ -1072,21 +343,6 @@ codeunit 11748 "Install Application CZL" SalesHeaderArchiveDataTransfer: DataTransfer; begin SalesHeaderArchiveDataTransfer.SetTables(Database::"Sales Header Archive", Database::"Sales Header Archive"); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Specific Symbol"), SalesHeaderArchive.FieldNo("Specific Symbol CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Variable Symbol"), SalesHeaderArchive.FieldNo("Variable Symbol CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Constant Symbol"), SalesHeaderArchive.FieldNo("Constant Symbol CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Bank Account Code"), SalesHeaderArchive.FieldNo("Bank Account Code CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Bank Account No."), SalesHeaderArchive.FieldNo("Bank Account No. CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Transit No."), SalesHeaderArchive.FieldNo("Transit No. CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo(IBAN), SalesHeaderArchive.FieldNo("IBAN CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("SWIFT Code"), SalesHeaderArchive.FieldNo("SWIFT Code CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("VAT Date"), SalesHeaderArchive.FieldNo("VAT Reporting Date")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Registration No."), SalesHeaderArchive.FieldNo("Registration No. CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Tax Registration No."), SalesHeaderArchive.FieldNo("Tax Registration No. CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Physical Transfer"), SalesHeaderArchive.FieldNo("Physical Transfer CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Intrastat Exclude"), SalesHeaderArchive.FieldNo("Intrastat Exclude CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("EU 3-Party Intermediate Role"), SalesHeaderArchive.FieldNo("EU 3-Party Intermed. Role CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("VAT Currency Factor"), SalesHeaderArchive.FieldNo("VAT Currency Factor CZL")); SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Currency Code"), SalesHeaderArchive.FieldNo("VAT Currency Code CZL")); SalesHeaderArchiveDataTransfer.CopyFields(); end; @@ -1097,67 +353,16 @@ codeunit 11748 "Install Application CZL" PurchaseHeaderDataTransfer: DataTransfer; begin PurchaseHeaderDataTransfer.SetTables(Database::"Purchase Header", Database::"Purchase Header"); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Specific Symbol"), PurchaseHeader.FieldNo("Specific Symbol CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Variable Symbol"), PurchaseHeader.FieldNo("Variable Symbol CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Constant Symbol"), PurchaseHeader.FieldNo("Constant Symbol CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Account Code"), PurchaseHeader.FieldNo("Bank Account Code CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Account No."), PurchaseHeader.FieldNo("Bank Account No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Branch No."), PurchaseHeader.FieldNo("Bank Branch No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Name"), PurchaseHeader.FieldNo("Bank Name CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Transit No."), PurchaseHeader.FieldNo("Transit No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo(IBAN), PurchaseHeader.FieldNo("IBAN CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("SWIFT Code"), PurchaseHeader.FieldNo("SWIFT Code CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("VAT Date"), PurchaseHeader.FieldNo("VAT Reporting Date")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Registration No."), PurchaseHeader.FieldNo("Registration No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Tax Registration No."), PurchaseHeader.FieldNo("Tax Registration No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Physical Transfer"), PurchaseHeader.FieldNo("Physical Transfer CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Intrastat Exclude"), PurchaseHeader.FieldNo("Intrastat Exclude CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("EU 3-Party Intermediate Role"), PurchaseHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("EU 3-Party Trade"), PurchaseHeader.FieldNo("EU 3 Party Trade")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Original Document VAT Date"), PurchaseHeader.FieldNo("Original Doc. VAT Date CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("VAT Currency Factor"), PurchaseHeader.FieldNo("VAT Currency Factor CZL")); PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Currency Code"), PurchaseHeader.FieldNo("VAT Currency Code CZL")); PurchaseHeaderDataTransfer.CopyFields(); end; - local procedure CopyPurchaseReceiptHeader(); - var - PurchRcptHeader: Record "Purch. Rcpt. Header"; - PurchRcptHeaderDataTransfer: DataTransfer; - begin - PurchRcptHeaderDataTransfer.SetTables(Database::"Purch. Rcpt. Header", Database::"Purch. Rcpt. Header"); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("Registration No."), PurchRcptHeader.FieldNo("Registration No. CZL")); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("Tax Registration No."), PurchRcptHeader.FieldNo("Tax Registration No. CZL")); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("Physical Transfer"), PurchRcptHeader.FieldNo("Physical Transfer CZL")); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("Intrastat Exclude"), PurchRcptHeader.FieldNo("Intrastat Exclude CZL")); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("EU 3-Party Intermediate Role"), PurchRcptHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("EU 3-Party Trade"), PurchRcptHeader.FieldNo("EU 3-Party Trade CZL")); - PurchRcptHeaderDataTransfer.CopyFields(); - end; - local procedure CopyPurchaseInvoiceHeader(); var PurchInvHeader: Record "Purch. Inv. Header"; PurchInvHeaderDataTransfer: DataTransfer; begin PurchInvHeaderDataTransfer.SetTables(Database::"Purch. Inv. Header", Database::"Purch. Inv. Header"); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Specific Symbol"), PurchInvHeader.FieldNo("Specific Symbol CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Variable Symbol"), PurchInvHeader.FieldNo("Variable Symbol CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Constant Symbol"), PurchInvHeader.FieldNo("Constant Symbol CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Bank Account Code"), PurchInvHeader.FieldNo("Bank Account Code CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Bank Account No."), PurchInvHeader.FieldNo("Bank Account No. CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Transit No."), PurchInvHeader.FieldNo("Transit No. CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo(IBAN), PurchInvHeader.FieldNo("IBAN CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("SWIFT Code"), PurchInvHeader.FieldNo("SWIFT Code CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("VAT Date"), PurchInvHeader.FieldNo("VAT Reporting Date")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Registration No."), PurchInvHeader.FieldNo("Registration No. CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Tax Registration No."), PurchInvHeader.FieldNo("Tax Registration No. CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Physical Transfer"), PurchInvHeader.FieldNo("Physical Transfer CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Intrastat Exclude"), PurchInvHeader.FieldNo("Intrastat Exclude CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("EU 3-Party Intermediate Role"), PurchInvHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("EU 3-Party Trade"), PurchInvHeader.FieldNo("EU 3 Party Trade")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Original Document VAT Date"), PurchInvHeader.FieldNo("Original Doc. VAT Date CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("VAT Currency Factor"), PurchInvHeader.FieldNo("VAT Currency Factor CZL")); PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Currency Code"), PurchInvHeader.FieldNo("VAT Currency Code CZL")); PurchInvHeaderDataTransfer.CopyFields(); end; @@ -1168,62 +373,16 @@ codeunit 11748 "Install Application CZL" PurchCrMemoHdrDataTransfer: DataTransfer; begin PurchCrMemoHdrDataTransfer.SetTables(Database::"Purch. Cr. Memo Hdr.", Database::"Purch. Cr. Memo Hdr."); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Specific Symbol"), PurchCrMemoHdr.FieldNo("Specific Symbol CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Variable Symbol"), PurchCrMemoHdr.FieldNo("Variable Symbol CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Constant Symbol"), PurchCrMemoHdr.FieldNo("Constant Symbol CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Bank Account Code"), PurchCrMemoHdr.FieldNo("Bank Account Code CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Bank Account No."), PurchCrMemoHdr.FieldNo("Bank Account No. CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Transit No."), PurchCrMemoHdr.FieldNo("Transit No. CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo(IBAN), PurchCrMemoHdr.FieldNo("IBAN CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("SWIFT Code"), PurchCrMemoHdr.FieldNo("SWIFT Code CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("VAT Date"), PurchCrMemoHdr.FieldNo("VAT Reporting Date")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Registration No."), PurchCrMemoHdr.FieldNo("Registration No. CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Tax Registration No."), PurchCrMemoHdr.FieldNo("Tax Registration No. CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Physical Transfer"), PurchCrMemoHdr.FieldNo("Physical Transfer CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Intrastat Exclude"), PurchCrMemoHdr.FieldNo("Intrastat Exclude CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("EU 3-Party Intermediate Role"), PurchCrMemoHdr.FieldNo("EU 3-Party Intermed. Role CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("EU 3-Party Trade"), PurchCrMemoHdr.FieldNo("EU 3 Party Trade")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Original Document VAT Date"), PurchCrMemoHdr.FieldNo("Original Doc. VAT Date CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("VAT Currency Factor"), PurchCrMemoHdr.FieldNo("VAT Currency Factor CZL")); PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Currency Code"), PurchCrMemoHdr.FieldNo("VAT Currency Code CZL")); PurchCrMemoHdrDataTransfer.CopyFields(); end; - local procedure CopyReturnShipmentHeader(); - var - ReturnShipmentHeader: Record "Return Shipment Header"; - ReturnShipmentHeaderDataTransfer: DataTransfer; - begin - ReturnShipmentHeaderDataTransfer.SetTables(Database::"Return Shipment Header", Database::"Return Shipment Header"); - ReturnShipmentHeaderDataTransfer.AddFieldValue(ReturnShipmentHeader.FieldNo("Registration No."), ReturnShipmentHeader.FieldNo("Registration No. CZL")); - ReturnShipmentHeaderDataTransfer.AddFieldValue(ReturnShipmentHeader.FieldNo("Tax Registration No."), ReturnShipmentHeader.FieldNo("Tax Registration No. CZL")); - ReturnShipmentHeaderDataTransfer.AddFieldValue(ReturnShipmentHeader.FieldNo("Physical Transfer"), ReturnShipmentHeader.FieldNo("Physical Transfer CZL")); - ReturnShipmentHeaderDataTransfer.AddFieldValue(ReturnShipmentHeader.FieldNo("Intrastat Exclude"), ReturnShipmentHeader.FieldNo("Intrastat Exclude CZL")); - ReturnShipmentHeaderDataTransfer.AddFieldValue(ReturnShipmentHeader.FieldNo("EU 3-Party Trade"), ReturnShipmentHeader.FieldNo("EU 3-Party Trade CZL")); - ReturnShipmentHeaderDataTransfer.CopyFields(); - end; - local procedure CopyPurchaseHeaderArchive(); var PurchaseHeaderArchive: Record "Purchase Header Archive"; PurchaseHeaderArchiveDataTransfer: DataTransfer; begin PurchaseHeaderArchiveDataTransfer.SetTables(Database::"Purchase Header Archive", Database::"Purchase Header Archive"); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Specific Symbol"), PurchaseHeaderArchive.FieldNo("Specific Symbol CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Variable Symbol"), PurchaseHeaderArchive.FieldNo("Variable Symbol CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Constant Symbol"), PurchaseHeaderArchive.FieldNo("Constant Symbol CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Bank Account Code"), PurchaseHeaderArchive.FieldNo("Bank Account Code CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Bank Account No."), PurchaseHeaderArchive.FieldNo("Bank Account No. CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Transit No."), PurchaseHeaderArchive.FieldNo("Transit No. CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo(IBAN), PurchaseHeaderArchive.FieldNo("IBAN CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("SWIFT Code"), PurchaseHeaderArchive.FieldNo("SWIFT Code CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("VAT Date"), PurchaseHeaderArchive.FieldNo("VAT Reporting Date")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Registration No."), PurchaseHeaderArchive.FieldNo("Registration No. CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Tax Registration No."), PurchaseHeaderArchive.FieldNo("Tax Registration No. CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Physical Transfer"), PurchaseHeaderArchive.FieldNo("Physical Transfer CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Intrastat Exclude"), PurchaseHeaderArchive.FieldNo("Intrastat Exclude CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("EU 3-Party Intermediate Role"), PurchaseHeaderArchive.FieldNo("EU 3-Party Intermed. Role CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("VAT Currency Factor"), PurchaseHeaderArchive.FieldNo("VAT Currency Factor CZL")); PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Currency Code"), PurchaseHeaderArchive.FieldNo("VAT Currency Code CZL")); PurchaseHeaderArchiveDataTransfer.CopyFields(); end; @@ -1234,65 +393,16 @@ codeunit 11748 "Install Application CZL" ServiceHeaderDataTransfer: DataTransfer; begin ServiceHeaderDataTransfer.SetTables(Database::"Service Header", Database::"Service Header"); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Specific Symbol"), ServiceHeader.FieldNo("Specific Symbol CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Variable Symbol"), ServiceHeader.FieldNo("Variable Symbol CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Constant Symbol"), ServiceHeader.FieldNo("Constant Symbol CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Account Code"), ServiceHeader.FieldNo("Bank Account Code CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Account No."), ServiceHeader.FieldNo("Bank Account No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Branch No."), ServiceHeader.FieldNo("Bank Branch No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Name"), ServiceHeader.FieldNo("Bank Name CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Transit No."), ServiceHeader.FieldNo("Transit No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo(IBAN), ServiceHeader.FieldNo("IBAN CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("SWIFT Code"), ServiceHeader.FieldNo("SWIFT Code CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("VAT Date"), ServiceHeader.FieldNo("VAT Reporting Date")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Registration No."), ServiceHeader.FieldNo("Registration No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Tax Registration No."), ServiceHeader.FieldNo("Tax Registration No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Physical Transfer"), ServiceHeader.FieldNo("Physical Transfer CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Intrastat Exclude"), ServiceHeader.FieldNo("Intrastat Exclude CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Credit Memo Type"), ServiceHeader.FieldNo("Credit Memo Type CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("EU 3-Party Intermediate Role"), ServiceHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("VAT Currency Factor"), ServiceHeader.FieldNo("VAT Currency Factor CZL")); ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Currency Code"), ServiceHeader.FieldNo("VAT Currency Code CZL")); ServiceHeaderDataTransfer.CopyFields(); end; - local procedure CopyServiceShipmentHeader(); - var - ServiceShipmentHeader: Record "Service Shipment Header"; - ServiceShipmentHeaderDataTransfer: DataTransfer; - begin - ServiceShipmentHeaderDataTransfer.SetTables(Database::"Service Shipment Header", Database::"Service Shipment Header"); - ServiceShipmentHeaderDataTransfer.AddFieldValue(ServiceShipmentHeader.FieldNo("Registration No."), ServiceShipmentHeader.FieldNo("Registration No. CZL")); - ServiceShipmentHeaderDataTransfer.AddFieldValue(ServiceShipmentHeader.FieldNo("Tax Registration No."), ServiceShipmentHeader.FieldNo("Tax Registration No. CZL")); - ServiceShipmentHeaderDataTransfer.AddFieldValue(ServiceShipmentHeader.FieldNo("Physical Transfer"), ServiceShipmentHeader.FieldNo("Physical Transfer CZL")); - ServiceShipmentHeaderDataTransfer.AddFieldValue(ServiceShipmentHeader.FieldNo("Intrastat Exclude"), ServiceShipmentHeader.FieldNo("Intrastat Exclude CZL")); - ServiceShipmentHeaderDataTransfer.AddFieldValue(ServiceShipmentHeader.FieldNo("EU 3-Party Intermediate Role"), ServiceShipmentHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - ServiceShipmentHeaderDataTransfer.CopyFields(); - end; - local procedure CopyServiceInvoiceHeader(); var ServiceInvoiceHeader: Record "Service Invoice Header"; ServiceInvoiceHeaderDataTransfer: DataTransfer; begin ServiceInvoiceHeaderDataTransfer.SetTables(Database::"Service Invoice Header", Database::"Service Invoice Header"); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Specific Symbol"), ServiceInvoiceHeader.FieldNo("Specific Symbol CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Variable Symbol"), ServiceInvoiceHeader.FieldNo("Variable Symbol CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Constant Symbol"), ServiceInvoiceHeader.FieldNo("Constant Symbol CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Account Code"), ServiceInvoiceHeader.FieldNo("Bank Account Code CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Account No."), ServiceInvoiceHeader.FieldNo("Bank Account No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Branch No."), ServiceInvoiceHeader.FieldNo("Bank Branch No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Name"), ServiceInvoiceHeader.FieldNo("Bank Name CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Transit No."), ServiceInvoiceHeader.FieldNo("Transit No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo(IBAN), ServiceInvoiceHeader.FieldNo("IBAN CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("SWIFT Code"), ServiceInvoiceHeader.FieldNo("SWIFT Code CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("VAT Date"), ServiceInvoiceHeader.FieldNo("VAT Reporting Date")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Registration No."), ServiceInvoiceHeader.FieldNo("Registration No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Tax Registration No."), ServiceInvoiceHeader.FieldNo("Tax Registration No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Physical Transfer"), ServiceInvoiceHeader.FieldNo("Physical Transfer CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Intrastat Exclude"), ServiceInvoiceHeader.FieldNo("Intrastat Exclude CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("EU 3-Party Intermediate Role"), ServiceInvoiceHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("VAT Currency Factor"), ServiceInvoiceHeader.FieldNo("VAT Currency Factor CZL")); ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Currency Code"), ServiceInvoiceHeader.FieldNo("VAT Currency Code CZL")); ServiceInvoiceHeaderDataTransfer.CopyFields(); end; @@ -1303,49 +413,10 @@ codeunit 11748 "Install Application CZL" ServiceCrMemoHeaderDataTransfer: DataTransfer; begin ServiceCrMemoHeaderDataTransfer.SetTables(Database::"Service Cr.Memo Header", Database::"Service Cr.Memo Header"); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Specific Symbol"), ServiceCrMemoHeader.FieldNo("Specific Symbol CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Variable Symbol"), ServiceCrMemoHeader.FieldNo("Variable Symbol CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Constant Symbol"), ServiceCrMemoHeader.FieldNo("Constant Symbol CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Account Code"), ServiceCrMemoHeader.FieldNo("Bank Account Code CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Account No."), ServiceCrMemoHeader.FieldNo("Bank Account No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Branch No."), ServiceCrMemoHeader.FieldNo("Bank Branch No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Name"), ServiceCrMemoHeader.FieldNo("Bank Name CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Transit No."), ServiceCrMemoHeader.FieldNo("Transit No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo(IBAN), ServiceCrMemoHeader.FieldNo("IBAN CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("SWIFT Code"), ServiceCrMemoHeader.FieldNo("SWIFT Code CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("VAT Date"), ServiceCrMemoHeader.FieldNo("VAT Reporting Date")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Registration No."), ServiceCrMemoHeader.FieldNo("Registration No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Tax Registration No."), ServiceCrMemoHeader.FieldNo("Tax Registration No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Physical Transfer"), ServiceCrMemoHeader.FieldNo("Physical Transfer CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Intrastat Exclude"), ServiceCrMemoHeader.FieldNo("Intrastat Exclude CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Credit Memo Type"), ServiceCrMemoHeader.FieldNo("Credit Memo Type CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("EU 3-Party Intermediate Role"), ServiceCrMemoHeader.FieldNo("EU 3-Party Intermed. Role CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("VAT Currency Factor"), ServiceCrMemoHeader.FieldNo("VAT Currency Factor CZL")); ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Currency Code"), ServiceCrMemoHeader.FieldNo("VAT Currency Code CZL")); ServiceCrMemoHeaderDataTransfer.CopyFields(); end; - local procedure CopyReminderHeader(); - var - ReminderHeader: Record "Reminder Header"; - ReminderHeaderDataTransfer: DataTransfer; - begin - ReminderHeaderDataTransfer.SetTables(Database::"Reminder Header", Database::"Reminder Header"); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Specific Symbol"), ReminderHeader.FieldNo("Specific Symbol CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Variable Symbol"), ReminderHeader.FieldNo("Variable Symbol CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Constant Symbol"), ReminderHeader.FieldNo("Constant Symbol CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank No."), ReminderHeader.FieldNo("Bank Account Code CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank Account No."), ReminderHeader.FieldNo("Bank Account No. CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank Branch No."), ReminderHeader.FieldNo("Bank Branch No. CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank Name"), ReminderHeader.FieldNo("Bank Name CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Transit No."), ReminderHeader.FieldNo("Transit No. CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo(IBAN), ReminderHeader.FieldNo("IBAN CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("SWIFT Code"), ReminderHeader.FieldNo("SWIFT Code CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Registration No."), ReminderHeader.FieldNo("Registration No. CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Tax Registration No."), ReminderHeader.FieldNo("Tax Registration No. CZL")); - ReminderHeaderDataTransfer.CopyFields(); - end; - local procedure CopyIssuedReminderHeader(); var IssuedReminderHeader: Record "Issued Reminder Header"; @@ -1362,265 +433,16 @@ codeunit 11748 "Install Application CZL" IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Transit No."), IssuedReminderHeader.FieldNo("Transit No. CZL")); IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo(IBAN), IssuedReminderHeader.FieldNo("IBAN CZL")); IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("SWIFT Code"), IssuedReminderHeader.FieldNo("SWIFT Code CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Registration No."), IssuedReminderHeader.FieldNo("Registration No. CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Tax Registration No."), IssuedReminderHeader.FieldNo("Tax Registration No. CZL")); IssuedReminderHeaderDataTransfer.CopyFields(); end; - local procedure CopyFinanceChargeMemoHeader(); - var - FinanceChargeMemoHeader: Record "Finance Charge Memo Header"; - FinanceChargeMemoHeaderDataTransfer: DataTransfer; - begin - FinanceChargeMemoHeaderDataTransfer.SetTables(Database::"Finance Charge Memo Header", Database::"Finance Charge Memo Header"); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Specific Symbol"), FinanceChargeMemoHeader.FieldNo("Specific Symbol CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Variable Symbol"), FinanceChargeMemoHeader.FieldNo("Variable Symbol CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Constant Symbol"), FinanceChargeMemoHeader.FieldNo("Constant Symbol CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank No."), FinanceChargeMemoHeader.FieldNo("Bank Account Code CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank Account No."), FinanceChargeMemoHeader.FieldNo("Bank Account No. CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank Branch No."), FinanceChargeMemoHeader.FieldNo("Bank Branch No. CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank Name"), FinanceChargeMemoHeader.FieldNo("Bank Name CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Transit No."), FinanceChargeMemoHeader.FieldNo("Transit No. CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo(IBAN), FinanceChargeMemoHeader.FieldNo("IBAN CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("SWIFT Code"), FinanceChargeMemoHeader.FieldNo("SWIFT Code CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Registration No."), FinanceChargeMemoHeader.FieldNo("Registration No. CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Tax Registration No."), FinanceChargeMemoHeader.FieldNo("Tax Registration No. CZL")); - FinanceChargeMemoHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyIssuedFinanceChargeMemoHeader(); - var - IssuedFinChargeMemoHeader: Record "Issued Fin. Charge Memo Header"; - IssuedFinChargeMemoHeaderDataTransfer: DataTransfer; - begin - IssuedFinChargeMemoHeaderDataTransfer.SetTables(Database::"Issued Fin. Charge Memo Header", Database::"Issued Fin. Charge Memo Header"); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Specific Symbol"), IssuedFinChargeMemoHeader.FieldNo("Specific Symbol CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Variable Symbol"), IssuedFinChargeMemoHeader.FieldNo("Variable Symbol CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Constant Symbol"), IssuedFinChargeMemoHeader.FieldNo("Constant Symbol CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank No."), IssuedFinChargeMemoHeader.FieldNo("Bank Account Code CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank Account No."), IssuedFinChargeMemoHeader.FieldNo("Bank Account No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank Branch No."), IssuedFinChargeMemoHeader.FieldNo("Bank Branch No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank Name"), IssuedFinChargeMemoHeader.FieldNo("Bank Name CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Transit No."), IssuedFinChargeMemoHeader.FieldNo("Transit No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo(IBAN), IssuedFinChargeMemoHeader.FieldNo("IBAN CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("SWIFT Code"), IssuedFinChargeMemoHeader.FieldNo("SWIFT Code CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Registration No."), IssuedFinChargeMemoHeader.FieldNo("Registration No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Tax Registration No."), IssuedFinChargeMemoHeader.FieldNo("Tax Registration No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyStatutoryReportingSetup(); - var - StatReportingSetup: Record "Stat. Reporting Setup"; - StatutoryReportingSetupCZL: Record "Statutory Reporting Setup CZL"; - begin - if StatReportingSetup.Get() then begin - if not StatutoryReportingSetupCZL.Get() then begin - StatutoryReportingSetupCZL.Init(); - StatutoryReportingSetupCZL.Insert(); - end; - StatutoryReportingSetupCZL."Primary Key" := StatReportingSetup."Primary Key"; - StatutoryReportingSetupCZL."Company Trade Name" := StatReportingSetup."Company Trade Name"; - StatutoryReportingSetupCZL."Company Trade Name Appendix" := StatReportingSetup."Company Trade Name Appendix"; - StatutoryReportingSetupCZL."Municipality No." := StatReportingSetup."Municipality No."; - StatutoryReportingSetupCZL.Street := StatReportingSetup.Street; - StatutoryReportingSetupCZL."House No." := StatReportingSetup."House No."; - StatutoryReportingSetupCZL."Apartment No." := StatReportingSetup."Apartment No."; - StatutoryReportingSetupCZL."VAT Control Report Nos." := StatReportingSetup."VAT Control Report Nos."; - StatutoryReportingSetupCZL."Simplified Tax Document Limit" := StatReportingSetup."Simplified Tax Document Limit"; - StatutoryReportingSetupCZL."Data Box ID" := StatReportingSetup."Data Box ID"; - StatutoryReportingSetupCZL."VAT Control Report E-mail" := StatReportingSetup."VAT Control Report E-mail"; - StatutoryReportingSetupCZL."VAT Control Report XML Format" := StatReportingSetup."VAT Control Report Xml Format"; - StatutoryReportingSetupCZL."Tax Office Number" := StatReportingSetup."Tax Office Number"; - StatutoryReportingSetupCZL."Tax Office Region Number" := StatReportingSetup."Tax Office Region Number"; - case StatReportingSetup."Taxpayer Type" of - StatReportingSetup."Taxpayer Type"::Corporation: - StatutoryReportingSetupCZL."Company Type" := StatutoryReportingSetupCZL."Company Type"::Corporate; - StatReportingSetup."Taxpayer Type"::Individual: - StatutoryReportingSetupCZL."Company Type" := StatutoryReportingSetupCZL."Company Type"::Individual; - end; - StatutoryReportingSetupCZL."Individual First Name" := StatReportingSetup."Natural Person First Name"; - StatutoryReportingSetupCZL."Individual Surname" := StatReportingSetup."Natural Person Surname"; - StatutoryReportingSetupCZL."Individual Title" := StatReportingSetup."Natural Person Title"; - StatutoryReportingSetupCZL."Individual Employee No." := StatReportingSetup."Natural Employee No."; - StatutoryReportingSetupCZL."Official Code" := StatReportingSetup."Official Code"; - StatutoryReportingSetupCZL."Official Name" := StatReportingSetup."Official Name"; - StatutoryReportingSetupCZL."Official First Name" := StatReportingSetup."Official First Name"; - StatutoryReportingSetupCZL."Official Surname" := StatReportingSetup."Official Surname"; - StatutoryReportingSetupCZL."Official Birth Date" := StatReportingSetup."Official Birth Date"; - StatutoryReportingSetupCZL."Official Reg.No.of Tax Adviser" := StatReportingSetup."Official Reg.No.of Tax Adviser"; - StatutoryReportingSetupCZL."Official Registration No." := StatReportingSetup."Official Registration No."; - StatutoryReportingSetupCZL."Official Type" := StatReportingSetup."Official Type"; - StatutoryReportingSetupCZL."VAT Statement Country Name" := StatReportingSetup."VAT Statement Country Name"; - StatutoryReportingSetupCZL."VAT Stat. Auth. Employee No." := StatReportingSetup."VAT Stat. Auth.Employee No."; - StatutoryReportingSetupCZL."VAT Stat. Filled Employee No." := StatReportingSetup."VAT Stat. Filled by Empl. No."; - StatutoryReportingSetupCZL."Tax Payer Status" := StatReportingSetup."Tax Payer Status"; - StatutoryReportingSetupCZL."Primary Business Activity Code" := StatReportingSetup."Main Economic Activity I Code"; - StatutoryReportingSetupCZL."VIES Declaration Nos." := StatReportingSetup."VIES Declaration Nos."; - StatutoryReportingSetupCZL."VIES Decl. Auth. Employee No." := StatReportingSetup."VIES Decl. Auth. Employee No."; - StatutoryReportingSetupCZL."VIES Decl. Filled Employee No." := StatReportingSetup."VIES Decl. Filled by Empl. No."; - StatutoryReportingSetupCZL."VIES Number of Lines" := StatReportingSetup."VIES Number of Lines"; - if StatReportingSetup."VIES Declaration Report No." = 31060 then - StatutoryReportingSetupCZL."VIES Declaration Report No." := Report::"VIES Declaration CZL"; - if (StatReportingSetup."VIES Decl. Exp. Obj. Type" = StatReportingSetup."VIES Decl. Exp. Obj. Type"::Report) and (StatReportingSetup."VIES Decl. Exp. Obj. No." = 31066) then - StatutoryReportingSetupCZL."VIES Declaration Export No." := Xmlport::"VIES Declaration CZL"; - StatutoryReportingSetupCZL."Transaction Type Mandatory" := StatReportingSetup."Transaction Type Mandatory"; - StatutoryReportingSetupCZL."Transaction Spec. Mandatory" := StatReportingSetup."Transaction Spec. Mandatory"; - StatutoryReportingSetupCZL."Transport Method Mandatory" := StatReportingSetup."Transport Method Mandatory"; - StatutoryReportingSetupCZL."Shipment Method Mandatory" := StatReportingSetup."Shipment Method Mandatory"; - StatutoryReportingSetupCZL."Tariff No. Mandatory" := StatReportingSetup."Tariff No. Mandatory"; - StatutoryReportingSetupCZL."Net Weight Mandatory" := StatReportingSetup."Net Weight Mandatory"; - StatutoryReportingSetupCZL."Country/Region of Origin Mand." := StatReportingSetup."Country/Region of Origin Mand."; - StatutoryReportingSetupCZL."Get Tariff No. From" := "Intrastat Detail Source CZL".FromInteger(StatReportingSetup."Get Tariff No. From"); - StatutoryReportingSetupCZL."Get Net Weight From" := "Intrastat Detail Source CZL".FromInteger(StatReportingSetup."Get Net Weight From"); - StatutoryReportingSetupCZL."Get Country/Region of Origin" := "Intrastat Detail Source CZL".FromInteger(StatReportingSetup."Get Country/Region of Origin"); - StatutoryReportingSetupCZL."Intrastat Rounding Type" := StatReportingSetup."Intrastat Rounding Type"; - StatutoryReportingSetupCZL."No Item Charges in Intrastat" := StatReportingSetup."No Item Charges in Intrastat"; - StatutoryReportingSetupCZL."Intrastat Declaration Nos." := StatReportingSetup."Intrastat Declaration Nos."; - StatutoryReportingSetupCZL."Stat. Value Reporting" := StatReportingSetup."Stat. Value Reporting"; - StatutoryReportingSetupCZL."Cost Regulation %" := StatReportingSetup."Cost Regulation %"; - StatutoryReportingSetupCZL."Include other Period add.Costs" := StatReportingSetup."Include other Period add.Costs"; - StatutoryReportingSetupCZL.Modify(false); - end; - end; - - local procedure CopyVATControlReportSection(); - var - VATControlReportSection: Record "VAT Control Report Section"; - VATCtrlReportSectionCZL: Record "VAT Ctrl. Report Section CZL"; - begin - if VATControlReportSection.FindSet() then - repeat - if not VATCtrlReportSectionCZL.Get(VATControlReportSection.Code) then begin - VATCtrlReportSectionCZL.Init(); - VATCtrlReportSectionCZL.Code := VATControlReportSection.Code; - VATCtrlReportSectionCZL.SystemId := VATControlReportSection.SystemId; - VATCtrlReportSectionCZL.Insert(false, true); - end; - VATCtrlReportSectionCZL.Description := VATControlReportSection.Description; - VATCtrlReportSectionCZL."Group By" := VATControlReportSection."Group By"; - VATCtrlReportSectionCZL."Simplified Tax Doc. Sect. Code" := VATControlReportSection."Simplified Tax Doc. Sect. Code"; - VATCtrlReportSectionCZL.Modify(false); - until VATControlReportSection.Next() = 0; - end; - - local procedure CopyVATControlReportHeader(); - var - VATControlReportHeader: Record "VAT Control Report Header"; - VATCtrlReportHeaderCZL: Record "VAT Ctrl. Report Header CZL"; - begin - if VATControlReportHeader.FindSet() then - repeat - if not VATCtrlReportHeaderCZL.Get(VATControlReportHeader."No.") then begin - VATCtrlReportHeaderCZL.Init(); - VATCtrlReportHeaderCZL."No." := VATControlReportHeader."No."; - VATCtrlReportHeaderCZL.SystemId := VATControlReportHeader.SystemId; - VATCtrlReportHeaderCZL.Insert(false, true); - end; - VATCtrlReportHeaderCZL.Description := VATControlReportHeader.Description; - VATCtrlReportHeaderCZL."Report Period" := VATControlReportHeader."Report Period"; - VATCtrlReportHeaderCZL."Period No." := VATControlReportHeader."Period No."; - VATCtrlReportHeaderCZL.Year := VATControlReportHeader.Year; - VATCtrlReportHeaderCZL."Start Date" := VATControlReportHeader."Start Date"; - VATCtrlReportHeaderCZL."End Date" := VATControlReportHeader."End Date"; - VATCtrlReportHeaderCZL."Created Date" := VATControlReportHeader."Created Date"; - VATCtrlReportHeaderCZL.Status := VATControlReportHeader.Status; - VATCtrlReportHeaderCZL."VAT Statement Template Name" := VATControlReportHeader."VAT Statement Template Name"; - VATCtrlReportHeaderCZL."VAT Statement Name" := VATControlReportHeader."VAT Statement Name"; - VATCtrlReportHeaderCZL."No. Series" := VATControlReportHeader."No. Series"; - VATCtrlReportHeaderCZL.Modify(false); - until VATControlReportHeader.Next() = 0; - end; - - local procedure CopyVATControlReportLine(); - var - VATControlReportLine: Record "VAT Control Report Line"; - VATCtrlReportLineCZL: Record "VAT Ctrl. Report Line CZL"; - begin - if VATControlReportLine.FindSet() then - repeat - if not VATCtrlReportLineCZL.Get(VATControlReportLine."Control Report No.", VATControlReportLine."Line No.") then begin - VATCtrlReportLineCZL.Init(); - VATCtrlReportLineCZL."VAT Ctrl. Report No." := VATControlReportLine."Control Report No."; - VATCtrlReportLineCZL."Line No." := VATControlReportLine."Line No."; - VATCtrlReportLineCZL.SystemId := VATControlReportLine.SystemId; - VATCtrlReportLineCZL.Insert(false, true); - end; - VATCtrlReportLineCZL."VAT Ctrl. Report Section Code" := VATControlReportLine."VAT Control Rep. Section Code"; - VATCtrlReportLineCZL."Posting Date" := VATControlReportLine."Posting Date"; - VATCtrlReportLineCZL."VAT Date" := VATControlReportLine."VAT Date"; - VATCtrlReportLineCZL."Original Document VAT Date" := VATControlReportLine."Original Document VAT Date"; - VATCtrlReportLineCZL."Bill-to/Pay-to No." := VATControlReportLine."Bill-to/Pay-to No."; - VATCtrlReportLineCZL."VAT Registration No." := VATControlReportLine."VAT Registration No."; - VATCtrlReportLineCZL."Registration No." := VATControlReportLine."Registration No."; - VATCtrlReportLineCZL."Tax Registration No." := VATControlReportLine."Tax Registration No."; - VATCtrlReportLineCZL."Document No." := VATControlReportLine."Document No."; - VATCtrlReportLineCZL."External Document No." := VATControlReportLine."External Document No."; - VATCtrlReportLineCZL.Type := VATControlReportLine.Type; - VATCtrlReportLineCZL."VAT Bus. Posting Group" := VATControlReportLine."VAT Bus. Posting Group"; - VATCtrlReportLineCZL."VAT Prod. Posting Group" := VATControlReportLine."VAT Prod. Posting Group"; - VATCtrlReportLineCZL.Base := VATControlReportLine.Base; - VATCtrlReportLineCZL.Amount := VATControlReportLine.Amount; - VATCtrlReportLineCZL."VAT Rate" := VATControlReportLine."VAT Rate"; - VATCtrlReportLineCZL."Commodity Code" := VATControlReportLine."Commodity Code"; - VATCtrlReportLineCZL."Supplies Mode Code" := VATControlReportLine."Supplies Mode Code"; - VATCtrlReportLineCZL."Corrections for Bad Receivable" := VATControlReportLine."Corrections for Bad Receivable"; - VATCtrlReportLineCZL."Ratio Use" := VATControlReportLine."Ratio Use"; - VATCtrlReportLineCZL.Name := VATControlReportLine.name; - VATCtrlReportLineCZL."Birth Date" := VATControlReportLine."Birth Date"; - VATCtrlReportLineCZL."Place of Stay" := VATControlReportLine."Place of Stay"; - VATCtrlReportLineCZL."Exclude from Export" := VATControlReportLine."Exclude from Export"; - VATCtrlReportLineCZL."Closed by Document No." := VATControlReportLine."Closed by Document No."; - VATCtrlReportLineCZL."Closed Date" := VATControlReportLine."Closed Date"; - VATCtrlReportLineCZL.Modify(false); - until VATControlReportLine.Next() = 0; - end; - - local procedure CopyVATControlReportEntryLink(); - var - VATCtrlRepVATEntryLink: Record "VAT Ctrl.Rep. - VAT Entry Link"; - VATCtrlReportEntLinkCZL: Record "VAT Ctrl. Report Ent. Link CZL"; - begin - if VATCtrlRepVATEntryLink.FindSet() then - repeat - if not VATCtrlReportEntLinkCZL.Get(VATCtrlRepVATEntryLink."Control Report No.", VATCtrlRepVATEntryLink."Line No.", VATCtrlRepVATEntryLink."VAT Entry No.") then begin - VATCtrlReportEntLinkCZL.Init(); - VATCtrlReportEntLinkCZL."VAT Ctrl. Report No." := VATCtrlRepVATEntryLink."Control Report No."; - VATCtrlReportEntLinkCZL."Line No." := VATCtrlRepVATEntryLink."Line No."; - VATCtrlReportEntLinkCZL."VAT Entry No." := VATCtrlRepVATEntryLink."VAT Entry No."; - VATCtrlReportEntLinkCZL.SystemId := VATCtrlRepVATEntryLink.SystemId; - VATCtrlReportEntLinkCZL.Insert(false, true); - end; - until VATCtrlRepVATEntryLink.Next() = 0; - end; - - local procedure CopyVATPostingSetup(); - var - VATPostingSetup: Record "VAT Posting Setup"; - VATPostingSetupDataTransfer: DataTransfer; - begin - VATPostingSetupDataTransfer.SetTables(Database::"VAT Posting Setup", Database::"VAT Posting Setup"); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("VAT Rate"), VATPostingSetup.FieldNo("VAT Rate CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Supplies Mode Code"), VATPostingSetup.FieldNo("Supplies Mode Code CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Ratio Coefficient"), VATPostingSetup.FieldNo("Ratio Coefficient CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Corrections for Bad Receivable"), VATPostingSetup.FieldNo("Corrections Bad Receivable CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Reverse Charge Check"), VATPostingSetup.FieldNo("Reverse Charge Check CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Sales VAT Delay Account"), VATPostingSetup.FieldNo("Sales VAT Curr. Exch. Acc CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Purchase VAT Delay Account"), VATPostingSetup.FieldNo("Purch. VAT Curr. Exch. Acc CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("VIES Purchases"), VATPostingSetup.FieldNo("VIES Purchase CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("VIES Sales"), VATPostingSetup.FieldNo("VIES Sales CZL")); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Intrastat Service"), VATPostingSetup.FieldNo("Intrastat Service CZL")); - VATPostingSetupDataTransfer.CopyFields(); - end; - local procedure CopyVATStatementTemplate(); var VATStatementTemplate: Record "VAT Statement Template"; begin - VATStatementTemplate.SetLoadFields("Allow Comments/Attachments"); + VATStatementTemplate.SetLoadFields("XML Format CZL"); if VATStatementTemplate.FindSet() then repeat - VATStatementTemplate."Allow Comments/Attachments CZL" := VATStatementTemplate."Allow Comments/Attachments"; VATStatementTemplate."XML Format CZL" := VATStatementTemplate."XML Format CZL"::DPHDP3; VATStatementTemplate.Modify(false); until VATStatementTemplate.Next() = 0; @@ -1630,26 +452,9 @@ codeunit 11748 "Install Application CZL" var VATStatementLine: Record "VAT Statement Line"; begin - VATStatementLine.SetLoadFields("Attribute Code", "G/L Amount Type", "Gen. Bus. Posting Group", "Gen. Prod. Posting Group", Show, "EU 3-Party Intermediate Role", - "EU-3 Party Trade", "VAT Control Rep. Section Code", "Ignore Simpl. Tax Doc. Limit", Type); + VATStatementLine.SetLoadFields(Type); if VATStatementLine.FindSet() then repeat - VATStatementLine."Attribute Code CZL" := VATStatementLine."Attribute Code"; - VATStatementLine."G/L Amount Type CZL" := VATStatementLine."G/L Amount Type"; - VATStatementLine."Gen. Bus. Posting Group CZL" := VATStatementLine."Gen. Bus. Posting Group"; - VATStatementLine."Gen. Prod. Posting Group CZL" := VATStatementLine."Gen. Prod. Posting Group"; - VATStatementLine."Show CZL" := VATStatementLine.Show; - VATStatementLine."EU 3-Party Intermed. Role CZL" := VATStatementLine."EU 3-Party Intermediate Role"; - case VATStatementLine."EU-3 Party Trade" of - VATStatementLine."EU-3 Party Trade"::" ": - VATStatementLine."EU 3 Party Trade" := VATStatementLine."EU 3 Party Trade"::All; - VATStatementLine."EU-3 Party Trade"::Yes: - VATStatementLine."EU 3 Party Trade" := VATStatementLine."EU 3 Party Trade"::EU3; - VATStatementLine."EU-3 Party Trade"::No: - VATStatementLine."EU 3 Party Trade" := VATStatementLine."EU 3 Party Trade"::"non-EU3"; - end; - VATStatementLine."VAT Ctrl. Report Section CZL" := VATStatementLine."VAT Control Rep. Section Code"; - VATStatementLine."Ignore Simpl. Doc. Limit CZL" := VATStatementLine."Ignore Simpl. Tax Doc. Limit"; ConvertVATStatementLineDeprEnumValues(VATStatementLine); VATStatementLine.Modify(false); until VATStatementLine.Next() = 0; @@ -1661,245 +466,14 @@ codeunit 11748 "Install Application CZL" VATStatementLine.Type := VATStatementLine.Type::"Formula CZL"; end; - local procedure CopyVIESDeclarationHeader(); - var - VIESDeclarationHeader: Record "VIES Declaration Header"; - VIESDeclarationHeaderCZL: Record "VIES Declaration Header CZL"; - begin - if VIESDeclarationHeader.FindSet() then - repeat - if not VIESDeclarationHeaderCZL.Get(VIESDeclarationHeader."No.") then begin - VIESDeclarationHeaderCZL.Init(); - VIESDeclarationHeaderCZL."No." := VIESDeclarationHeader."No."; - VIESDeclarationHeaderCZL.SystemId := VIESDeclarationHeader.SystemId; - VIESDeclarationHeaderCZL.Insert(false, true); - end; - VIESDeclarationHeaderCZL."VAT Registration No." := VIESDeclarationHeader."VAT Registration No."; - VIESDeclarationHeaderCZL."Trade Type" := VIESDeclarationHeader."Trade Type"; - VIESDeclarationHeaderCZL."Period No." := VIESDeclarationHeader."Period No."; - VIESDeclarationHeaderCZL.Year := VIESDeclarationHeader.Year; - VIESDeclarationHeaderCZL."Start Date" := VIESDeclarationHeader."Start Date"; - VIESDeclarationHeaderCZL."End Date" := VIESDeclarationHeader."End Date"; - VIESDeclarationHeaderCZL.Name := VIESDeclarationHeader.Name; - VIESDeclarationHeaderCZL."Name 2" := VIESDeclarationHeader."Name 2"; - VIESDeclarationHeaderCZL."Country/Region Name" := VIESDeclarationHeader."Country/Region Name"; - VIESDeclarationHeaderCZL.County := VIESDeclarationHeader.County; - VIESDeclarationHeaderCZL."Municipality No." := VIESDeclarationHeader."Municipality No."; - VIESDeclarationHeaderCZL.Street := VIESDeclarationHeader.Street; - VIESDeclarationHeaderCZL."House No." := VIESDeclarationHeader."House No."; - VIESDeclarationHeaderCZL."Apartment No." := VIESDeclarationHeader."Apartment No."; - VIESDeclarationHeaderCZL.City := VIESDeclarationHeader.City; - VIESDeclarationHeaderCZL."Post Code" := VIESDeclarationHeader."Post Code"; - VIESDeclarationHeaderCZL."Tax Office Number" := VIESDeclarationHeader."Tax Office Number"; - VIESDeclarationHeaderCZL."Declaration Period" := VIESDeclarationHeader."Declaration Period"; - VIESDeclarationHeaderCZL."Declaration Type" := VIESDeclarationHeader."Declaration Type"; - VIESDeclarationHeaderCZL."Corrected Declaration No." := VIESDeclarationHeader."Corrected Declaration No."; - VIESDeclarationHeaderCZL."Document Date" := VIESDeclarationHeader."Document Date"; - VIESDeclarationHeaderCZL."Sign-off Date" := VIESDeclarationHeader."Sign-off Date"; - VIESDeclarationHeaderCZL."Sign-off Place" := VIESDeclarationHeader."Sign-off Place"; - VIESDeclarationHeaderCZL."EU Goods/Services" := VIESDeclarationHeader."EU Goods/Services"; - VIESDeclarationHeaderCZL.Status := VIESDeclarationHeader.Status; - VIESDeclarationHeaderCZL."No. Series" := VIESDeclarationHeader."No. Series"; - VIESDeclarationHeaderCZL."Authorized Employee No." := VIESDeclarationHeader."Authorized Employee No."; - VIESDeclarationHeaderCZL."Filled by Employee No." := VIESDeclarationHeader."Filled by Employee No."; - VIESDeclarationHeaderCZL."Individual First Name" := VIESDeclarationHeader."Natural Person First Name"; - VIESDeclarationHeaderCZL."Individual Surname" := VIESDeclarationHeader."Natural Person Surname"; - VIESDeclarationHeaderCZL."Individual Title" := VIESDeclarationHeader."Natural Person Title"; - VIESDeclarationHeaderCZL."Company Type" := VIESDeclarationHeader."Taxpayer Type"; - VIESDeclarationHeaderCZL."Individual Employee No." := VIESDeclarationHeader."Natural Employee No."; - VIESDeclarationHeaderCZL."Company Trade Name Appendix" := VIESDeclarationHeader."Company Trade Name Appendix"; - VIESDeclarationHeaderCZL."Tax Office Region Number" := VIESDeclarationHeader."Tax Office Region Number"; - VIESDeclarationHeaderCZL.Modify(false); - until VIESDeclarationHeader.Next() = 0; - end; - - local procedure CopyVIESDeclarationLine(); - var - VIESDeclarationLine: Record "VIES Declaration Line"; - VIESDeclarationLineCZL: Record "VIES Declaration Line CZL"; - begin - if VIESDeclarationLine.FindSet() then - repeat - if not VIESDeclarationLineCZL.Get(VIESDeclarationLine."VIES Declaration No.", VIESDeclarationLine."Line No.") then begin - VIESDeclarationLineCZL.Init(); - VIESDeclarationLineCZL."VIES Declaration No." := VIESDeclarationLine."VIES Declaration No."; - VIESDeclarationLineCZL."Line No." := VIESDeclarationLine."Line No."; - VIESDEclarationLineCZL.SystemId := VIESDeclarationLine.SystemId; - VIESDeclarationLineCZL.Insert(false, true); - end; - VIESDeclarationLineCZL."Trade Type" := VIESDeclarationLine."Trade Type"; - VIESDeclarationLineCZL."Line Type" := VIESDeclarationLine."Line Type"; - VIESDeclarationLineCZL."Related Line No." := VIESDeclarationLine."Related Line No."; - VIESDeclarationLineCZL."EU Service" := VIESDeclarationLine."EU Service"; - VIESDeclarationLineCZL."Country/Region Code" := VIESDeclarationLine."Country/Region Code"; - VIESDeclarationLineCZL."VAT Registration No." := VIESDeclarationLine."VAT Registration No."; - VIESDeclarationLineCZL."Amount (LCY)" := VIESDeclarationLine."Amount (LCY)"; - VIESDeclarationLineCZL."EU 3-Party Trade" := VIESDeclarationLine."EU 3-Party Trade"; - VIESDeclarationLineCZL."Registration No." := VIESDeclarationLine."Registration No."; - VIESDeclarationLineCZL."EU 3-Party Intermediate Role" := VIESDeclarationLine."EU 3-Party Intermediate Role"; - VIESDeclarationLineCZL."Number of Supplies" := VIESDeclarationLine."Number of Supplies"; - VIESDeclarationLineCZL."Corrected Reg. No." := VIESDeclarationLine."Corrected Reg. No."; - VIESDeclarationLineCZL."Corrected Amount" := VIESDeclarationLine."Corrected Amount"; - VIESDeclarationLineCZL."Trade Role Type" := VIESDeclarationLine."Trade Role Type"; - VIESDeclarationLineCZL."System-Created" := VIESDeclarationLine."System-Created"; - VIESDeclarationLineCZL."Report Page Number" := VIESDeclarationLine."Report Page Number"; - VIESDeclarationLineCZL."Report Line Number" := VIESDeclarationLine."Report Line Number"; - VIESDeclarationLineCZL."Record Code" := VIESDeclarationLine."Record Code"; - VIESDeclarationLineCZL."VAT Reg. No. of Original Cust." := VIESDeclarationLine."VAT Reg. No. of Original Cust."; - VIESDeclarationLineCZL.Modify(false); - until VIESDeclarationLine.Next() = 0; - end; - - local procedure CopyCompanyOfficials(); - var - CompanyOfficials: Record "Company Officials"; - CompanyOfficialCZL: Record "Company Official CZL"; - begin - if CompanyOfficials.FindSet(true) then - repeat - if not CompanyOfficialCZL.Get(CompanyOfficials."No.") then begin - CompanyOfficialCZL.Init(); - CompanyOfficialCZL."No." := CompanyOfficials."No."; - CompanyOfficialCZL.SystemId := CompanyOfficials.SystemId; - CompanyOfficialCZL.Insert(false, true); - end; - CompanyOfficialCZL."First Name" := CompanyOfficials."First Name"; - CompanyOfficialCZL."Middle Name" := CompanyOfficials."Middle Name"; - CompanyOfficialCZL."Last Name" := CompanyOfficials."Last Name"; - CompanyOfficialCZL.Initials := CompanyOfficials.Initials; - CompanyOfficialCZL."Job Title" := CompanyOfficials."Job Title"; - CompanyOfficialCZL."Search Name" := CompanyOfficials."Search Name"; - CompanyOfficialCZL.Address := CompanyOfficials.Address; - CompanyOfficialCZL."Address 2" := CompanyOfficials."Address 2"; - CompanyOfficialCZL.City := CompanyOfficials.City; - CompanyOfficialCZL."Post Code" := CompanyOfficials."Post Code"; - CompanyOfficialCZL.County := CompanyOfficials.County; - CompanyOfficialCZL."Phone No." := CompanyOfficials."Phone No."; - CompanyOfficialCZL."Mobile Phone No." := CompanyOfficials."Mobile Phone No."; - CompanyOfficialCZL."E-Mail" := CompanyOfficials."E-Mail"; - CompanyOfficialCZL."Country/Region Code" := CompanyOfficials."Country/Region Code"; - CompanyOfficialCZL."Last Date Modified" := CompanyOfficials."Last Date Modified"; - CompanyOfficialCZL."Fax No." := CompanyOfficials."Fax No."; - CompanyOfficialCZL."No. Series" := CompanyOfficials."No. Series"; - CompanyOfficialCZL."Employee No." := CompanyOfficials."Employee No."; - CompanyOfficialCZL.Modify(false); - until CompanyOfficials.Next() = 0; - end; - - local procedure CopyDocumentFooter(); - var - DocumentFooter: Record "Document Footer"; - DocumentFooterCZL: Record "Document Footer CZL"; - begin - if DocumentFooter.FindSet() then - repeat - if not DocumentFooterCZL.Get(DocumentFooter."Language Code") then begin - DocumentFooterCZL.Init(); - DocumentFooterCZL."Language Code" := DocumentFooter."Language Code"; - DocumentFooterCZL.SystemId := DocumentFooter.SystemId; - DocumentFooterCZL.Insert(false, true); - end; - DocumentFooterCZL."Footer Text" := DocumentFooter."Footer Text"; - DocumentFooterCZL.Modify(false); - until DocumentFooter.Next() = 0; - end; - - local procedure CopyGLAccount(); - var - GLAccount: Record "G/L Account"; - GLAccountDataTransfer: DataTransfer; - begin - GLAccountDataTransfer.SetTables(Database::"G/L Account", Database::"G/L Account"); - GLAccountDataTransfer.AddFieldValue(GLAccount.FieldNo("G/L Account Group"), GLAccount.FieldNo("G/L Account Group CZL")); - GLAccountDataTransfer.CopyFields(); - end; - - local procedure CopyVATAttributeCode(); - var - VATAttributeCode: Record "VAT Attribute Code"; - VATAttributeCodeCZL: Record "VAT Attribute Code CZL"; - begin - if VATAttributeCode.FindSet() then - repeat - if not VATAttributeCodeCZL.Get(VATAttributeCode."VAT Statement Template Name", VATAttributeCode."Code") then begin - VATAttributeCodeCZL.Init(); - VATAttributeCodeCZL."VAT Statement Template Name" := VATAttributeCode."VAT Statement Template Name"; - VATAttributeCodeCZL."Code" := VATAttributeCode."Code"; - VATAttributeCodeCZL.SystemId := VATAttributeCode.SystemId; - VATAttributeCodeCZL.Insert(false, true); - end; - VATAttributeCodeCZL.Description := VATAttributeCode.Description; - VATAttributeCodeCZL."XML Code" := VATAttributeCode."XML Code"; - VATAttributeCodeCZL.Modify(false); - until VATAttributeCode.Next() = 0; - end; - - local procedure CopyVATStatementCommentLine(); - var - VATStatementCommentLine: Record "VAT Statement Comment Line"; - VATStatementCommentLineCZL: Record "VAT Statement Comment Line CZL"; - begin - if VATStatementCommentLine.FindSet() then - repeat - if not VATStatementCommentLineCZL.Get(VATStatementCommentLine."VAT Statement Template Name", VATStatementCommentLine."VAT Statement Name", VATStatementCommentLine."Line No.") then begin - VATStatementCommentLineCZL.Init(); - VATStatementCommentLineCZL."VAT Statement Template Name" := VATStatementCommentLine."VAT Statement Template Name"; - VATStatementCommentLineCZL."VAT Statement Name" := VATStatementCommentLine."VAT Statement Name"; - VATStatementCommentLineCZL."Line No." := VATStatementCommentLine."Line No."; - VATStatementCommentLineCZL.SystemId := VATStatementCommentLine.SystemId; - VATStatementCommentLineCZL.Insert(false, true); - end; - VATStatementCommentLineCZL.Date := VATStatementCommentLine.Date; - VATStatementCommentLineCZL.Comment := VATStatementCommentLine.Comment; - VATStatementCommentLineCZL.Modify(false); - until VATStatementCommentLine.Next() = 0; - end; - - local procedure CopyVATStatementAttachment(); - var - VATStatementAttachment: Record "VAT Statement Attachment"; - VATStatementAttachmentCZL: Record "VAT Statement Attachment CZL"; - begin - if VATStatementAttachment.FindSet() then - repeat - if not VATStatementAttachmentCZL.Get(VATStatementAttachment."VAT Statement Template Name", VATStatementAttachment."VAT Statement Name", VATStatementAttachment."Line No.") then begin - VATStatementAttachmentCZL.Init(); - VATStatementAttachmentCZL."VAT Statement Template Name" := VATStatementAttachment."VAT Statement Template Name"; - VATStatementAttachmentCZL."VAT Statement Name" := VATStatementAttachment."VAT Statement Name"; - VATStatementAttachmentCZL."Line No." := VATStatementAttachment."Line No."; - VATStatementAttachmentCZL.SystemId := VATStatementAttachment.SystemId; - VATStatementAttachmentCZL.Insert(false, true); - end; - VATStatementAttachmentCZL.Date := VATStatementAttachment.Date; - VATStatementAttachmentCZL.Description := VATStatementAttachment.Description; - VATStatementAttachment.CalcFields(VATStatementAttachment.Attachment); - VATStatementAttachmentCZL.Attachment := VATStatementAttachment.Attachment; - VATStatementAttachmentCZL."File Name" := VATStatementAttachment."File Name"; - VATStatementAttachmentCZL.Modify(false); - until VATStatementAttachment.Next() = 0; - end; - - local procedure CopyAccScheduleName(); - var - AccScheduleName: Record "Acc. Schedule Name"; - AccScheduleNameDataTransfer: DataTransfer; - begin - AccScheduleNameDataTransfer.SetTables(Database::"Acc. Schedule Name", Database::"Acc. Schedule Name"); - AccScheduleNameDataTransfer.AddFieldValue(AccScheduleName.FieldNo("Acc. Schedule Type"), AccScheduleName.FieldNo("Acc. Schedule Type CZL")); - AccScheduleNameDataTransfer.CopyFields(); - end; local procedure CopyAccScheduleLine(); var AccScheduleLine: Record "Acc. Schedule Line"; begin - AccScheduleLine.SetLoadFields(Calc, "Row Correction", "Assets/Liabilities Type", "Source Table", "Totaling Type"); + AccScheduleLine.SetLoadFields("Totaling Type"); if AccScheduleLine.FindSet() then repeat - AccScheduleLine."Calc CZL" := AccScheduleLine.Calc; - AccScheduleLine."Row Correction CZL" := AccScheduleLine."Row Correction"; - AccScheduleLine."Assets/Liabilities Type CZL" := AccScheduleLine."Assets/Liabilities Type"; - AccScheduleLine."Source Table CZL" := AccScheduleLine."Source Table"; ConvertAccScheduleLineTotalingTypeEnumValues(AccScheduleLine); AccScheduleLine.Modify(false); until AccScheduleLine.Next() = 0; @@ -1913,243 +487,9 @@ codeunit 11748 "Install Application CZL" AccScheduleLine."Totaling Type" := AccScheduleLine."Totaling Type"::"Constant CZL"; end; - local procedure CopyExcelTemplate(); + local procedure CopySourceCodeSetup(); var - ExcelTemplate: Record "Excel Template"; - ExcelTemplateCZL: Record "Excel Template CZL"; - ExcelTemplateOutStream: OutStream; - ExcelTemplateInStream: InStream; - begin - if ExcelTemplate.FindSet() then - repeat - if not ExcelTemplateCZL.Get(ExcelTemplate.Code) then begin - ExcelTemplateCZL.Init(); - ExcelTemplateCZL.Code := ExcelTemplate.Code; - ExcelTemplateCZL.SystemId := ExcelTemplate.SystemId; - ExcelTemplateCZL.Insert(false, true); - end; - ExcelTemplateCZL.Description := ExcelTemplate.Description; - ExcelTemplateCZL.Sheet := ExcelTemplate.Sheet; - ExcelTemplateCZL.Blocked := ExcelTemplate.Blocked; - if ExcelTemplate.Template.HasValue() then begin - ExcelTemplate.CalcFields(ExcelTemplate.Template); - ExcelTemplate.Template.CreateInStream(ExcelTemplateInStream); - ExcelTemplateCZL.Template.CreateOutStream(ExcelTemplateOutStream); - CopyStream(ExcelTemplateOutStream, ExcelTemplateInStream); - end; - ExcelTemplateCZL.Modify(false); - until ExcelTemplate.Next() = 0; - end; - - local procedure CopyStatementFileMapping(); - var - StatementFileMapping: Record "Statement File Mapping"; - AccScheduleFileMappingCZL: Record "Acc. Schedule File Mapping CZL"; - begin - if StatementFileMapping.FindSet() then - repeat - if not AccScheduleFileMappingCZL.Get(StatementFileMapping."Schedule Name", StatementFileMapping."Schedule Line No.", StatementFileMapping."Schedule Column Layout Name", StatementFileMapping."Schedule Column No.", StatementFileMapping."Excel Cell") then begin - AccScheduleFileMappingCZL.Init(); - AccScheduleFileMappingCZL."Schedule Name" := StatementFileMapping."Schedule Name"; - AccScheduleFileMappingCZL."Schedule Line No." := StatementFileMapping."Schedule Line No."; - AccScheduleFileMappingCZL."Schedule Column Layout Name" := StatementFileMapping."Schedule Column Layout Name"; - AccScheduleFileMappingCZL."Schedule Column No." := StatementFileMapping."Schedule Column No."; - AccScheduleFileMappingCZL."Excel Cell" := StatementFileMapping."Excel Cell"; - AccScheduleFileMappingCZL.SystemId := StatementFileMapping.SystemId; - AccScheduleFileMappingCZL.Insert(false, true); - end; - AccScheduleFileMappingCZL."Excel Row No." := StatementFileMapping."Excel Row No."; - AccScheduleFileMappingCZL."Excel Column No." := StatementFileMapping."Excel Column No."; - AccScheduleFileMappingCZL.Split := StatementFileMapping.Split; - AccScheduleFileMappingCZL.Offset := StatementFileMapping.Offset; - AccScheduleFileMappingCZL.Modify(false); - until StatementFileMapping.Next() = 0; - end; - - local procedure CopyPurchaseLine(); - var - PurchaseLine: Record "Purchase Line"; - PurchaseLineDataTransfer: DataTransfer; - begin - PurchaseLineDataTransfer.SetTables(Database::"Purchase Line", Database::"Purchase Line"); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Negative"), PurchaseLine.FieldNo("Negative CZL")); -#if not CLEAN24 - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Ext. Amount (LCY)"), PurchaseLine.FieldNo("Ext. Amount CZL")); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Ext.Amount Including VAT (LCY)"), PurchaseLine.FieldNo("Ext. Amount Incl. VAT CZL")); -#endif - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Physical Transfer"), PurchaseLine.FieldNo("Physical Transfer CZL")); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Tariff No."), PurchaseLine.FieldNo("Tariff No. CZL")); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Statistic Indication"), PurchaseLine.FieldNo("Statistic Indication CZL")); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Country/Region of Origin Code"), PurchaseLine.FieldNo("Country/Reg. of Orig. Code CZL")); - PurchaseLineDataTransfer.CopyFields(); - end; - - local procedure CopyPurchCrMemoLine(); - var - PurchCrMemoLine: Record "Purch. Cr. Memo Line"; - PurchCrMemoLineDataTransfer: DataTransfer; - begin - PurchCrMemoLineDataTransfer.SetTables(Database::"Purch. Cr. Memo Line", Database::"Purch. Cr. Memo Line"); - PurchCrMemoLineDataTransfer.AddFieldValue(PurchCrMemoLine.FieldNo("Tariff No."), PurchCrMemoLine.FieldNo("Tariff No. CZL")); - PurchCrMemoLineDataTransfer.AddFieldValue(PurchCrMemoLine.FieldNo("Statistic Indication"), PurchCrMemoLine.FieldNo("Statistic Indication CZL")); - PurchCrMemoLineDataTransfer.AddFieldValue(PurchCrMemoLine.FieldNo("Country/Region of Origin Code"), PurchCrMemoLine.FieldNo("Country/Reg. of Orig. Code CZL")); - PurchCrMemoLineDataTransfer.CopyFields(); - end; - - local procedure CopyPurchInvLine(); - var - PurchInvLine: Record "Purch. Inv. Line"; - PurchInvLineDataTransfer: DataTransfer; - begin - PurchInvLineDataTransfer.SetTables(Database::"Purch. Inv. Line", Database::"Purch. Inv. Line"); - PurchInvLineDataTransfer.AddFieldValue(PurchInvLine.FieldNo("Tariff No."), PurchInvLine.FieldNo("Tariff No. CZL")); - PurchInvLineDataTransfer.AddFieldValue(PurchInvLine.FieldNo("Statistic Indication"), PurchInvLine.FieldNo("Statistic Indication CZL")); - PurchInvLineDataTransfer.AddFieldValue(PurchInvLine.FieldNo("Country/Region of Origin Code"), PurchInvLine.FieldNo("Country/Reg. of Orig. Code CZL")); - PurchInvLineDataTransfer.CopyFields(); - end; - - local procedure CopyPurchRcptLine(); - var - PurchRcptLine: Record "Purch. Rcpt. Line"; - PurchRcptLineDataTransfer: DataTransfer; - begin - PurchRcptLineDataTransfer.SetTables(Database::"Purch. Rcpt. Line", Database::"Purch. Rcpt. Line"); - PurchRcptLineDataTransfer.AddFieldValue(PurchRcptLine.FieldNo("Tariff No."), PurchRcptLine.FieldNo("Tariff No. CZL")); - PurchRcptLineDataTransfer.AddFieldValue(PurchRcptLine.FieldNo("Statistic Indication"), PurchRcptLine.FieldNo("Statistic Indication CZL")); - PurchRcptLineDataTransfer.AddFieldValue(PurchRcptLine.FieldNo("Country/Region of Origin Code"), PurchRcptLine.FieldNo("Country/Reg. of Orig. Code CZL")); - PurchRcptLineDataTransfer.CopyFields(); - end; - - local procedure CopySalesCrMemoLine(); - var - SalesCrMemoLine: Record "Sales Cr.Memo Line"; - SalesCrMemoLineDataTransfer: DataTransfer; - begin - SalesCrMemoLineDataTransfer.SetTables(Database::"Sales Cr.Memo Line", Database::"Sales Cr.Memo Line"); - SalesCrMemoLineDataTransfer.AddFieldValue(SalesCrMemoLine.FieldNo("Tariff No."), SalesCrMemoLine.FieldNo("Tariff No. CZL")); - SalesCrMemoLineDataTransfer.AddFieldValue(SalesCrMemoLine.FieldNo("Statistic Indication"), SalesCrMemoLine.FieldNo("Statistic Indication CZL")); - SalesCrMemoLineDataTransfer.AddFieldValue(SalesCrMemoLine.FieldNo("Country/Region of Origin Code"), SalesCrMemoLine.FieldNo("Country/Reg. of Orig. Code CZL")); - SalesCrMemoLineDataTransfer.CopyFields(); - end; - - local procedure CopySalesInvoiceLine(); - var - SalesInvoiceLine: Record "Sales Invoice Line"; - SalesInvoicelineDataTransfer: DataTransfer; - begin - SalesInvoicelineDataTransfer.SetTables(Database::"Sales Invoice Line", Database::"Sales Invoice Line"); - SalesInvoicelineDataTransfer.AddFieldValue(SalesInvoiceLine.FieldNo("Tariff No."), SalesInvoiceLine.FieldNo("Tariff No. CZL")); - SalesInvoicelineDataTransfer.AddFieldValue(SalesInvoiceLine.FieldNo("Statistic Indication"), SalesInvoiceLine.FieldNo("Statistic Indication CZL")); - SalesInvoicelineDataTransfer.AddFieldValue(SalesInvoiceLine.FieldNo("Country/Region of Origin Code"), SalesInvoiceLine.FieldNo("Country/Reg. of Orig. Code CZL")); - SalesInvoicelineDataTransfer.CopyFields(); - end; - - local procedure CopySalesLine(); - var - SalesLine: Record "Sales Line"; - SalesLineDataTransfer: DataTransfer; - begin - SalesLineDataTransfer.SetTables(Database::"Sales Line", Database::"Sales Line"); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Negative"), SalesLine.FieldNo("Negative CZL")); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Physical Transfer"), SalesLine.FieldNo("Physical Transfer CZL")); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Tariff No."), SalesLine.FieldNo("Tariff No. CZL")); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Statistic Indication"), SalesLine.FieldNo("Statistic Indication CZL")); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Country/Region of Origin Code"), SalesLine.FieldNo("Country/Reg. of Orig. Code CZL")); - SalesLineDataTransfer.CopyFields(); - end; - - local procedure CopySalesShipmentLine(); - var - SalesShipmentLine: Record "Sales Shipment Line"; - SalesShipmentLineDataTransfer: DataTransfer; - begin - SalesShipmentLineDataTransfer.SetTables(Database::"Sales Shipment Line", Database::"Sales Shipment Line"); - SalesShipmentLineDataTransfer.AddFieldValue(SalesShipmentLine.FieldNo("Tariff No."), SalesShipmentLine.FieldNo("Tariff No. CZL")); - SalesShipmentLineDataTransfer.AddFieldValue(SalesShipmentLine.FieldNo("Statistic Indication"), SalesShipmentLine.FieldNo("Statistic Indication CZL")); - SalesShipmentLineDataTransfer.CopyFields(); - end; - - local procedure CopyTariffNumber(); - var - UnitOfMeasure: Record "Unit of Measure"; - TariffNumber: Record "Tariff Number"; - begin - TariffNumber.SetLoadFields("Statement Code", "Statement Limit Code", "VAT Stat. Unit of Measure Code", "Allow Empty Unit of Meas.Code", "Full Name ENG", "Description EN CZL", - "Supplem. Unit of Measure Code", "Supplem. Unit of Measure Code"); - if TariffNumber.FindSet() then - repeat - TariffNumber."Statement Code CZL" := TariffNumber."Statement Code"; - TariffNumber."Statement Limit Code CZL" := TariffNumber."Statement Limit Code"; - TariffNumber."VAT Stat. UoM Code CZL" := TariffNumber."VAT Stat. Unit of Measure Code"; - TariffNumber."Allow Empty UoM Code CZL" := TariffNumber."Allow Empty Unit of Meas.Code"; - TariffNumber."Description EN CZL" := CopyStr(TariffNumber."Full Name ENG", 1, MaxStrLen(TariffNumber."Description EN CZL")); - TariffNumber."Suppl. Unit of Meas. Code CZL" := TariffNumber."Supplem. Unit of Measure Code"; - TariffNumber."Supplementary Units" := UnitOfMeasure.Get(TariffNumber."Supplem. Unit of Measure Code"); - TariffNumber.Modify(false); - until TariffNumber.Next() = 0; - end; - - local procedure CopyCommodity(); - var - Commodity: Record Commodity; - CommodityCZL: Record "Commodity CZL"; - begin - if Commodity.FindSet() then - repeat - if not CommodityCZL.Get(Commodity.Code) then begin - CommodityCZL.Init(); - CommodityCZL.Code := Commodity.Code; - CommodityCZL.SystemId := Commodity.SystemId; - CommodityCZL.Insert(false, true); - end; - CommodityCZL.Description := Commodity.Description; - CommodityCZL.Modify(false); - until Commodity.Next() = 0; - end; - - local procedure CopyCommoditySetup(); - var - CommoditySetup: Record "Commodity Setup"; - CommoditySetupCZL: Record "Commodity Setup CZL"; - begin - if CommoditySetup.FindSet() then - repeat - if not CommoditySetupCZL.Get(CommoditySetup."Commodity Code", CommoditySetup."Valid From") then begin - CommoditySetupCZL.Init(); - CommoditySetupCZL."Commodity Code" := CommoditySetup."Commodity Code"; - CommoditySetupCZL."Valid From" := CommoditySetup."Valid From"; - CommoditySetupCZL.SystemId := CommoditySetup.SystemId; - CommoditySetupCZL.Insert(false, true); - end; - CommoditySetupCZL."Commodity Limit Amount LCY" := CommoditySetup."Commodity Limit Amount LCY"; - CommoditySetupCZL."Valid To" := CommoditySetup."Valid To"; - CommoditySetupCZL.Modify(false); - until CommoditySetup.Next() = 0; - end; - - local procedure CopyStatisticIndication(); - var - StatisticIndication: Record "Statistic Indication"; - StatisticIndicationCZL: Record "Statistic Indication CZL"; - begin - if StatisticIndication.FindSet() then - repeat - if not StatisticIndicationCZL.Get(StatisticIndication."Tariff No.", StatisticIndication.Code) then begin - StatisticIndicationCZL.Init(); - StatisticIndicationCZL."Tariff No." := StatisticIndication."Tariff No."; - StatisticIndicationCZL.Code := StatisticIndication.Code; - StatisticIndicationCZL.SystemId := StatisticIndication.SystemId; - StatisticIndicationCZL.Insert(false, true); - end; - StatisticIndicationCZL.Description := StatisticIndication.Description; - StatisticIndicationCZL."Description EN" := CopyStr(StatisticIndication."Full Name ENG", 1, MaxStrLen(StatisticIndicationCZL."Description EN")); - StatisticIndication.Modify(false); - until StatisticIndication.Next() = 0; - end; - - local procedure CopySourceCodeSetup(); - var - SourceCodeSetup: Record "Source Code Setup"; + SourceCodeSetup: Record "Source Code Setup"; begin SourceCodeSetup.SetLoadFields("Sales VAT Delay", "Purchase VAT Delay"); if SourceCodeSetup.Get() then begin @@ -2160,44 +500,6 @@ codeunit 11748 "Install Application CZL" end; - local procedure CopyStockkeepingUnitTemplate(); - var - StockkeepingUnitTemplate: Record "Stockkeeping Unit Template"; - StockkeepingUnitTemplateCZL: Record "Stockkeeping Unit Template CZL"; - StockkeepingUnit: Record "Stockkeeping Unit"; - ConfigTemplateHeader: Record "Config. Template Header"; - begin - if StockkeepingUnitTemplate.FindSet() then - repeat - CreateTemplateHeader(ConfigTemplateHeader, GetNextDataTemplateAvailableCode(), - GetDataTemplateDescription(StockkeepingUnitTemplate), - Database::"Stockkeeping Unit"); - if StockkeepingUnitTemplate."Components at Location" <> '' then - CreateTemplateLine(ConfigTemplateHeader, StockkeepingUnit.FieldNo("Components at Location"), StockkeepingUnitTemplate."Components at Location"); - if StockkeepingUnitTemplate."Replenishment System" <> StockkeepingUnitTemplate."Replenishment System"::Purchase then - CreateTemplateLine(ConfigTemplateHeader, StockkeepingUnit.FieldNo("Replenishment System"), Format(StockkeepingUnitTemplate."Replenishment System")); - if StockkeepingUnitTemplate."Reordering Policy" <> StockkeepingUnitTemplate."Reordering Policy"::" " then - CreateTemplateLine(ConfigTemplateHeader, StockkeepingUnit.FieldNo("Reordering Policy"), Format(StockkeepingUnitTemplate."Reordering Policy")); - if StockkeepingUnitTemplate."Include Inventory" then - CreateTemplateLine(ConfigTemplateHeader, StockkeepingUnit.FieldNo("Include Inventory"), Format(StockkeepingUnitTemplate."Include Inventory")); - if StockkeepingUnitTemplate."Transfer-from Code" <> '' then - CreateTemplateLine(ConfigTemplateHeader, StockkeepingUnit.FieldNo("Transfer-from Code"), StockkeepingUnitTemplate."Transfer-from Code"); - if StockkeepingUnitTemplate."Gen. Prod. Posting Group" <> '' then - CreateTemplateLine(ConfigTemplateHeader, StockkeepingUnit.FieldNo("Gen. Prod. Posting Group"), StockkeepingUnitTemplate."Gen. Prod. Posting Group"); - - if not StockkeepingUnitTemplateCZL.Get(StockkeepingUnitTemplate."Item Category Code", StockkeepingUnitTemplate."Location Code") then begin - StockkeepingUnitTemplateCZL.Init(); - StockkeepingUnitTemplateCZL."Item Category Code" := StockkeepingUnitTemplate."Item Category Code"; - StockkeepingUnitTemplateCZL."Location Code" := StockkeepingUnitTemplate."Location Code"; - StockkeepingUnitTemplateCZL.SystemId := StockkeepingUnitTemplate.SystemId; - StockkeepingUnitTemplateCZL.Insert(false, true); - end; - StockkeepingUnitTemplateCZL.Description := StockkeepingUnitTemplateCZL.GetDefaultDescription(); - StockkeepingUnitTemplateCZL."Configuration Template Code" := ConfigTemplateHeader.Code; - StockkeepingUnitTemplateCZL.Modify(false); - until StockkeepingUnitTemplate.Next() = 0; - end; - local procedure CreateTemplateHeader(var ConfigTemplateHeader: Record "Config. Template Header"; "Code": Code[10]; Description: Text[100]; TableID: Integer) begin ConfigTemplateHeader.Init(); @@ -2241,812 +543,6 @@ codeunit 11748 "Install Application CZL" exit(StockkeepingUnitConfigTemplCode); end; - local procedure GetDataTemplateDescription(StockkeepingUnitTemplate1: Record "Stockkeeping Unit Template"): Text[100] - var - StockkeepingUnit: Record "Stockkeeping Unit"; - StockkeepingUnitConfigTemplDescTok: Label '%1 %2 %3', Comment = '%1 = Stockkeeping Unit TableCaption, %2 = "Item Category Code", %3 = "Location Code"', Locked = true; - begin - exit(CopyStr(StrSubstNo(StockkeepingUnitConfigTemplDescTok, - StockkeepingUnit.TableCaption(), - StockkeepingUnitTemplate1."Item Category Code", - StockkeepingUnitTemplate1."Location Code"), 1, 100)); - end; - - local procedure CopyStockkeepingUnit(); - var - StockkeepingUnit: Record "Stockkeeping Unit"; - StockkeepingUnitDataTransfer: DataTransfer; - begin - StockkeepingUnitDataTransfer.SetTables(Database::"Stockkeeping Unit", Database::"Stockkeeping Unit"); - StockkeepingUnitDataTransfer.AddFieldValue(StockkeepingUnit.FieldNo("Gen. Prod. Posting Group"), StockkeepingUnit.FieldNo("Gen. Prod. Posting Group CZL")); - StockkeepingUnitDataTransfer.CopyFields(); - end; - - local procedure CopyItem(); - var - Item: Record Item; - ItemDataTransfer: DataTransfer; - begin - ItemDataTransfer.SetTables(Database::Item, Database::Item); - ItemDataTransfer.AddFieldValue(Item.FieldNo("Statistic Indication"), Item.FieldNo("Statistic Indication CZL")); - ItemDataTransfer.AddFieldValue(Item.FieldNo("Specific Movement"), Item.FieldNo("Specific Movement CZL")); - ItemDataTransfer.CopyFields(); - end; - - local procedure CopyResource(); - var - Resource: Record Resource; - ResourceDataTransfer: DataTransfer; - begin - ResourceDataTransfer.SetTables(Database::Resource, Database::Resource); - ResourceDataTransfer.AddFieldValue(Resource.FieldNo("Tariff No."), Resource.FieldNo("Tariff No. CZL")); - ResourceDataTransfer.CopyFields(); - end; - - local procedure CopyServiceLine(); - var - ServiceLine: Record "Service Line"; - ServiceLineDataTransfer: DataTransfer; - begin - ServiceLineDataTransfer.SetTables(Database::"Service Line", Database::"Service Line"); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Negative"), ServiceLine.FieldNo("Negative CZL")); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Physical Transfer"), ServiceLine.FieldNo("Physical Transfer CZL")); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Tariff No."), ServiceLine.FieldNo("Tariff No. CZL")); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Statistic Indication"), ServiceLine.FieldNo("Statistic Indication CZL")); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Country/Region of Origin Code"), ServiceLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ServiceLineDataTransfer.CopyFields(); - end; - - local procedure CopyServiceInvoiceLine(); - var - ServiceInvoiceLine: Record "Service Invoice Line"; - ServiceInvoiceLineDataTransfer: DataTransfer; - begin - ServiceInvoiceLineDataTransfer.SetTables(Database::"Service Invoice Line", Database::"Service Invoice Line"); - ServiceInvoiceLineDataTransfer.AddFieldValue(ServiceInvoiceLine.FieldNo("Tariff No."), ServiceInvoiceLine.FieldNo("Tariff No. CZL")); - ServiceInvoiceLineDataTransfer.AddFieldValue(ServiceInvoiceLine.FieldNo("Statistic Indication"), ServiceInvoiceLine.FieldNo("Statistic Indication CZL")); - ServiceInvoiceLineDataTransfer.AddFieldValue(ServiceInvoiceLine.FieldNo("Country/Region of Origin Code"), ServiceInvoiceLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ServiceInvoiceLineDataTransfer.CopyFields(); - end; - - local procedure CopyServiceCrMemoLine(); - var - ServiceCrMemoLine: Record "Service Cr.Memo Line"; - ServiceCrMemoLineDataTransfer: DataTransfer; - begin - ServiceCrMemoLineDataTransfer.SetTables(Database::"Service Cr.Memo Line", Database::"Service Cr.Memo Line"); - ServiceCrMemoLineDataTransfer.AddFieldValue(ServiceCrMemoLine.FieldNo("Tariff No."), ServiceCrMemoLine.FieldNo("Tariff No. CZL")); - ServiceCrMemoLineDataTransfer.AddFieldValue(ServiceCrMemoLine.FieldNo("Statistic Indication"), ServiceCrMemoLine.FieldNo("Statistic Indication CZL")); - ServiceCrMemoLineDataTransfer.AddFieldValue(ServiceCrMemoLine.FieldNo("Country/Region of Origin Code"), ServiceCrMemoLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ServiceCrMemoLineDataTransfer.CopyFields(); - end; - - local procedure CopyServiceShipmentLine(); - var - ServiceShipmentLine: Record "Service Shipment Line"; - ServiceShipmentLineDataTransfer: DataTransfer; - begin - ServiceShipmentLineDataTransfer.SetTables(Database::"Service Shipment Line", Database::"Service Shipment Line"); - ServiceShipmentLineDataTransfer.AddFieldValue(ServiceShipmentLine.FieldNo("Tariff No."), ServiceShipmentLine.FieldNo("Tariff No. CZL")); - ServiceShipmentLineDataTransfer.AddFieldValue(ServiceShipmentLine.FieldNo("Statistic Indication"), ServiceShipmentLine.FieldNo("Statistic Indication CZL")); - ServiceShipmentLineDataTransfer.CopyFields(); - end; - - local procedure CopyCertificateCZCode() - var - CertificateCZCode: Record "Certificate CZ Code"; - CertificateCodeCZL: Record "Certificate Code CZL"; - begin - if CertificateCZCode.FindSet() then - repeat - if not CertificateCodeCZL.Get(CertificateCZCode.Code) then begin - CertificateCodeCZL.Init(); - CertificateCodeCZL.Code := CertificateCZCode.Code; - CertificateCodeCZL.SystemId := CertificateCZCode.SystemId; - CertificateCodeCZL.Insert(false, true); - end; - CertificateCodeCZL.Description := CertificateCZCode.Description; - CertificateCodeCZL.Modify(false); - until CertificateCZCode.Next() = 0; - end; - - local procedure CopyIsolatedCertificate() - var - IsolatedCertificate: Record "Isolated Certificate"; - IsolatedCertificateDataTransfer: DataTransfer; - begin - IsolatedCertificateDataTransfer.SetTables(Database::"Isolated Certificate", Database::"Isolated Certificate"); - IsolatedCertificateDataTransfer.AddFieldValue(IsolatedCertificate.FieldNo("Certificate Code"), IsolatedCertificate.FieldNo("Certificate Code CZL")); - IsolatedCertificateDataTransfer.CopyFields(); - end; - - local procedure CopyEETServiceSetup() - var - EETServiceSetup: Record "EET Service Setup"; - EETServiceSetupCZL: Record "EET Service Setup CZL"; - begin - if EETServiceSetup.Get() then begin - if not EETServiceSetupCZL.Get() then begin - EETServiceSetupCZL.Init(); - EETServiceSetupCZL.SystemId := EETServiceSetup.SystemId; - EETServiceSetupCZL.Insert(false, true); - end; - EETServiceSetupCZL."Service URL" := EETServiceSetup."Service URL"; - EETServiceSetupCZL."Sales Regime" := EETServiceSetup."Sales Regime"; - EETServiceSetupCZL."Limit Response Time" := EETServiceSetup."Limit Response Time"; - EETServiceSetupCZL."Appointing VAT Reg. No." := EETServiceSetup."Appointing VAT Reg. No."; - EETServiceSetupCZL."Certificate Code" := EETServiceSetup."Certificate Code"; - if EETServiceSetup.Enabled then begin - EETServiceSetupCZL.Enabled := true; - EETServiceSetup.Validate(Enabled, false); - EETServiceSetup.Modify(false); - end; - EETServiceSetupCZL.Modify(false); - end; - end; - - local procedure CopyEETBusinessPremises() - var - EETBusinessPremises: Record "EET Business Premises"; - EETBusinessPremisesCZL: Record "EET Business Premises CZL"; - begin - if EETBusinessPremises.FindSet() then - repeat - if not EETBusinessPremisesCZL.Get(EETBusinessPremises.Code) then begin - EETBusinessPremisesCZL.Init(); - EETBusinessPremisesCZL.Code := EETBusinessPremises.Code; - EETBusinessPremisesCZL.SystemId := EETBusinessPremises.SystemId; - EETBusinessPremisesCZL.Insert(false, true); - end; - EETBusinessPremisesCZL.Description := EETBusinessPremises.Description; - EETBusinessPremisesCZL.Identification := EETBusinessPremises.Identification; - EETBusinessPremisesCZL."Certificate Code" := EETBusinessPremises."Certificate Code"; - EETBusinessPremisesCZL.Modify(false); - until EETBusinessPremises.Next() = 0; - end; - - local procedure CopyEETCashRegister() - var - EETCashRegister: Record "EET Cash Register"; - EETCashRegisterCZL: Record "EET Cash Register CZL"; - begin - if EETCashRegister.FindSet() then - repeat - if not EETCashRegisterCZL.Get(EETCashRegister."Business Premises Code", EETCashRegister.Code) then begin - EETCashRegisterCZL.Init(); - EETCashRegisterCZL."Business Premises Code" := EETCashRegister."Business Premises Code"; - EETCashRegisterCZL.Code := EETCashRegister.Code; - EETCashRegisterCZL.SystemId := EETCashRegister.SystemId; - EETCashRegisterCZL.Insert(false, true); - end; - EETCashRegisterCZL."Cash Register Type" := "EET Cash Register Type CZL".FromInteger(EETCashRegister."Register Type"); - EETCashRegisterCZL."Cash Register No." := EETCashRegister."Register No."; - EETCashRegisterCZL."Cash Register Name" := EETCashRegister."Register Name"; - EETCashRegisterCZL."Certificate Code" := EETCashRegister."Certificate Code"; - EETCashRegisterCZL."Receipt Serial Nos." := EETCashRegister."Receipt Serial Nos."; - EETCashRegisterCZL.Modify(false); - until EETCashRegister.Next() = 0; - end; - - local procedure CopyEETEntry() - var - EETEntry: Record "EET Entry"; - EETEntryCZL: Record "EET Entry CZL"; - begin - if EETEntry.FindSet() then - repeat - if not EETEntryCZL.Get(EETEntry."Entry No.") then begin - EETEntryCZL.Init(); - EETEntryCZL."Entry No." := EETEntry."Entry No."; - EETEntryCZL.SystemId := EETEntry.SystemId; - EETEntryCZL.Insert(false, true); - end; - EETEntryCZL."Cash Register Type" := "EET Cash Register Type CZL".FromInteger(EETEntry."Source Type"); - EETEntryCZL."Cash Register No." := EETEntry."Source No."; - EETEntryCZL."Business Premises Code" := EETEntry."Business Premises Code"; - EETEntryCZL."Cash Register Code" := EETEntry."Cash Register Code"; - EETEntryCZL."Document No." := EETEntry."Document No."; - EETEntryCZL.Description := EETEntry.Description; - EETEntryCZL."Applied Document Type" := EETEntry."Applied Document Type"; - EETEntryCZL."Applied Document No." := EETEntry."Applied Document No."; - EETEntryCZL."Created By" := EETEntry."User ID"; - EETEntryCZL."Created At" := EETEntry."Creation Datetime"; - EETEntryCZL."Status" := "EET Status CZL".FromInteger(EETEntry."EET Status"); - EETEntryCZL."Status Last Changed At" := EETEntry."EET Status Last Changed"; - EETEntryCZL."Message UUID" := EETEntry."Message UUID"; - EETEntry.CalcFields("Signature Code (PKP)"); - EETEntryCZL."Taxpayer's Signature Code" := EETEntry."Signature Code (PKP)"; - EETEntryCZL."Taxpayer's Security Code" := EETEntry."Security Code (BKP)"; - EETEntryCZL."Fiscal Identification Code" := EETEntry."Fiscal Identification Code"; - EETEntryCZL."Receipt Serial No." := EETEntry."Receipt Serial No."; - EETEntryCZL."Total Sales Amount" := EETEntry."Total Sales Amount"; - EETEntryCZL."Amount Exempted From VAT" := EETEntry."Amount Exempted From VAT"; - EETEntryCZL."VAT Base (Basic)" := EETEntry."VAT Base (Basic)"; - EETEntryCZL."VAT Amount (Basic)" := EETEntry."VAT Amount (Basic)"; - EETEntryCZL."VAT Base (Reduced)" := EETEntry."VAT Base (Reduced)"; - EETEntryCZL."VAT Amount (Reduced)" := EETEntry."VAT Amount (Reduced)"; - EETEntryCZL."VAT Base (Reduced 2)" := EETEntry."VAT Base (Reduced 2)"; - EETEntryCZL."VAT Amount (Reduced 2)" := EETEntry."VAT Amount (Reduced 2)"; - EETEntryCZL."Amount - Art.89" := EETEntry."Amount - Art.89"; - EETEntryCZL."Amount (Basic) - Art.90" := EETEntry."Amount (Basic) - Art.90"; - EETEntryCZL."Amount (Reduced) - Art.90" := EETEntry."Amount (Reduced) - Art.90"; - EETEntryCZL."Amount (Reduced 2) - Art.90" := EETEntry."Amount (Reduced 2) - Art.90"; - EETEntryCZL."Amt. For Subseq. Draw/Settle" := EETEntry."Amt. For Subseq. Draw/Settle"; - EETEntryCZL."Amt. Subseq. Drawn/Settled" := EETEntry."Amt. Subseq. Drawn/Settled"; - EETEntryCZL."Canceled By Entry No." := EETEntry."Canceled By Entry No."; - EETEntryCZL."Simple Registration" := EETEntry."Simple Registration"; - EETEntryCZL.Modify(false); - until EETEntry.Next() = 0; - end; - - local procedure CopyEETEntryStatus() - var - EETEntryStatus: Record "EET Entry Status"; - EETEntryStatusLogCZL: Record "EET Entry Status Log CZL"; - begin - if EETEntryStatus.FindSet() then - repeat - if not EETEntryStatusLogCZL.Get(EETEntryStatus."Entry No.") then begin - EETEntryStatusLogCZL.Init(); - EETEntryStatusLogCZL."Entry No." := EETEntryStatus."Entry No."; - EETEntryStatusLogCZL.SystemId := EETEntryStatus.SystemId; - EETEntryStatusLogCZL.Insert(false, true); - end; - EETEntryStatusLogCZL."EET Entry No." := EETEntryStatus."EET Entry No."; - EETEntryStatusLogCZL.Description := EETEntryStatus.Description; - EETEntryStatusLogCZL.Status := "EET Status CZL".FromInteger(EETEntryStatus.Status); - EETEntryStatusLogCZL."Changed At" := EETEntryStatus."Change Datetime"; - EETEntryStatusLogCZL.Modify(false); - until EETEntryStatus.Next() = 0; - end; - - local procedure CopyBankAccount(); - var - BankAccount: Record "Bank Account"; - BankAccountDataTransfer: DataTransfer; - begin - BankAccountDataTransfer.SetTables(Database::"Bank Account", Database::"Bank Account"); - BankAccountDataTransfer.AddFieldValue(BankAccount.FieldNo("Exclude from Exch. Rate Adj."), BankAccount.FieldNo("Excl. from Exch. Rate Adj. CZL")); - BankAccountDataTransfer.CopyFields(); - end; - - local procedure CopyConstantSymbol(); - var - ConstantSymbol: Record "Constant Symbol"; - ConstantSymbolCZL: Record "Constant Symbol CZL"; - begin - if ConstantSymbol.FindSet() then - repeat - if not ConstantSymbolCZL.Get(ConstantSymbol.Code) then begin - ConstantSymbolCZL.Init(); - ConstantSymbolCZL.Code := ConstantSymbol.Code; - ConstantSymbolCZL.SystemId := ConstantSymbol.SystemId; - ConstantSymbolCZL.Insert(false, true); - end; - ConstantSymbolCZL.Description := ConstantSymbol.Description; - ConstantSymbolCZL.Modify(false); - until ConstantSymbol.Next() = 0; - end; - - local procedure CopyDepreciationBook(); - var - DepreciationBook: Record "Depreciation Book"; - DepreciationBookDataTransfer: DataTransfer; - begin - DepreciationBookDataTransfer.SetTables(Database::"Depreciation Book", Database::"Depreciation Book"); - DepreciationBookDataTransfer.AddFieldValue(DepreciationBook.FieldNo("Mark Reclass. as Corrections"), DepreciationBook.FieldNo("Mark Reclass. as Correct. CZL")); - DepreciationBookDataTransfer.CopyFields(); - end; - - local procedure CopyValueEntry(); - var - ValueEntry: Record "Value Entry"; - ValueEntryDataTransfer: DataTransfer; - begin - ValueEntryDataTransfer.SetTables(Database::"Value Entry", Database::"Value Entry"); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("G/L Correction"), ValueEntry.FieldNo("G/L Correction CZL")); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Incl. in Intrastat Amount"), ValueEntry.FieldNo("Incl. in Intrastat Amount CZL")); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Incl. in Intrastat Stat. Value"), ValueEntry.FieldNo("Incl. in Intrastat S.Value CZL")); - ValueEntryDataTransfer.CopyFields(); - end; - - local procedure CopySubstCustomerPostingGroup(); - var - AltCustomerPostingGroup: Record "Alt. Customer Posting Group"; - SubstCustomerPostingGroup: Record "Subst. Customer Posting Group"; - begin - if SubstCustomerPostingGroup.FindSet() then - repeat - if not AltCustomerPostingGroup.Get(SubstCustomerPostingGroup."Parent Cust. Posting Group", SubstCustomerPostingGroup."Customer Posting Group") then begin - AltCustomerPostingGroup.Init(); - AltCustomerPostingGroup."Customer Posting Group" := SubstCustomerPostingGroup."Parent Cust. Posting Group"; - AltCustomerPostingGroup."Alt. Customer Posting Group" := SubstCustomerPostingGroup."Customer Posting Group"; - AltCustomerPostingGroup.SystemId := SubstCustomerPostingGroup.SystemId; - AltCustomerPostingGroup.Insert(false, true); - end; - until SubstCustomerPostingGroup.Next() = 0; - end; - - local procedure CopySubstVendorPostingGroup(); - var - AltVendorPostingGroup: Record "Alt. Vendor Posting Group"; - SubstVendorPostingGroup: Record "Subst. Vendor Posting Group"; - begin - if SubstVendorPostingGroup.FindSet() then - repeat - if not AltVendorPostingGroup.Get(SubstVendorPostingGroup."Parent Vend. Posting Group", SubstVendorPostingGroup."Vendor Posting Group") then begin - AltVendorPostingGroup.Init(); - AltVendorPostingGroup."Vendor Posting Group" := SubstVendorPostingGroup."Parent Vend. Posting Group"; - AltVendorPostingGroup."Alt. Vendor Posting Group" := SubstVendorPostingGroup."Vendor Posting Group"; - AltVendorPostingGroup.SystemId := SubstVendorPostingGroup.SystemId; - AltVendorPostingGroup.Insert(false, true); - end; - until SubstVendorPostingGroup.Next() = 0; - end; - - local procedure CopyShipmentMethod(); - var - ShipmentMethod: Record "Shipment Method"; - ShipmentMethodDataTransfer: DataTransfer; - begin - ShipmentMethodDataTransfer.SetTables(Database::"Shipment Method", Database::"Shipment Method"); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Include Item Charges (Amount)"), ShipmentMethod.FieldNo("Incl. Item Charges (Amt.) CZL")); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Intrastat Delivery Group Code"), ShipmentMethod.FieldNo("Intrastat Deliv. Grp. Code CZL")); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Incl. Item Charges (Stat.Val.)"), ShipmentMethod.FieldNo("Incl. Item Charges (S.Val) CZL")); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Adjustment %"), ShipmentMethod.FieldNo("Adjustment % CZL")); - ShipmentMethodDataTransfer.CopyFields(); - end; - - local procedure CopySpecificMovement() - var - SpecificMovement: Record "Specific Movement"; - SpecificMovementCZL: Record "Specific Movement CZL"; - begin - if SpecificMovement.FindSet() then - repeat - if not SpecificMovementCZL.Get(SpecificMovement.Code) then begin - SpecificMovementCZL.Init(); - SpecificMovementCZL.Code := SpecificMovement.Code; - SpecificMovementCZL.SystemId := SpecificMovement.SystemId; - SpecificMovementCZL.Insert(false, true); - end; - SpecificMovementCZL.Description := SpecificMovement.Description; - SpecificMovementCZL.Modify(false); - until SpecificMovement.Next() = 0; - end; - - local procedure CopyIntrastatDeliveryGroup() - var - IntrastatDeliveryGroup: Record "Intrastat Delivery Group"; - IntrastatDeliveryGroupCZL: Record "Intrastat Delivery Group CZL"; - begin - if IntrastatDeliveryGroup.FindSet() then - repeat - if not IntrastatDeliveryGroupCZL.Get(IntrastatDeliveryGroup.Code) then begin - IntrastatDeliveryGroupCZL.Init(); - IntrastatDeliveryGroupCZL.Code := IntrastatDeliveryGroup.Code; - IntrastatDeliveryGroupCZL.SystemId := IntrastatDeliveryGroup.SystemId; - IntrastatDeliveryGroupCZL.Insert(false, true); - end; - IntrastatDeliveryGroupCZL.Description := IntrastatDeliveryGroup.Description; - IntrastatDeliveryGroupCZL.Modify(false); - until IntrastatDeliveryGroup.Next() = 0; - end; - - local procedure CopyUnitofMeasure(); - var - UnitofMeasure: Record "Unit of Measure"; - begin - UnitofMeasure.SetLoadFields("Tariff Number UOM Code"); - if UnitofMeasure.FindSet() then - repeat - UnitofMeasure."Tariff Number UOM Code CZL" := CopyStr(UnitofMeasure."Tariff Number UOM Code", 1, 10); - UnitofMeasure.Modify(false); - until UnitofMeasure.Next() = 0; - end; - - local procedure CopySalesLineArchive(); - var - SalesLineArchive: Record "Sales Line Archive"; - SalesLineArchiveDataTransfer: DataTransfer; - begin - SalesLineArchiveDataTransfer.SetTables(Database::"Sales Line Archive", Database::"Sales Line Archive"); - SalesLineArchiveDataTransfer.AddFieldValue(SalesLineArchive.FieldNo("Physical Transfer"), SalesLineArchive.FieldNo("Physical Transfer CZL")); - SalesLineArchiveDataTransfer.CopyFields(); - end; - - local procedure CopyPurchaseLineArchive(); - var - PurchaseLineArchive: Record "Purchase Line Archive"; - PurchaseLineArchiveDataTransfer: DataTransfer; - begin - PurchaseLineArchiveDataTransfer.SetTables(Database::"Purchase Line Archive", Database::"Purchase Line Archive"); - PurchaseLineArchiveDataTransfer.AddFieldValue(PurchaseLineArchive.FieldNo("Physical Transfer"), PurchaseLineArchive.FieldNo("Physical Transfer CZL")); - PurchaseLineArchiveDataTransfer.CopyFields(); - end; - - local procedure CopyTransferHeader(); - var - TransferHeader: Record "Transfer Header"; - TransferHeaderDataTransfer: DataTransfer; - begin - TransferHeaderDataTransfer.SetTables(Database::"Transfer Header", Database::"Transfer Header"); - TransferHeaderDataTransfer.AddFieldValue(TransferHeader.FieldNo("Intrastat Exclude"), TransferHeader.FieldNo("Intrastat Exclude CZL")); - TransferHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyTransferLine(); - var - TransferLine: Record "Transfer Line"; - TransferLineDataTransfer: DataTransfer; - begin - TransferLineDataTransfer.SetTables(Database::"Transfer Line", Database::"Transfer Line"); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Tariff No."), TransferLine.FieldNo("Tariff No. CZL")); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Statistic Indication"), TransferLine.FieldNo("Statistic Indication CZL")); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Country/Region of Origin Code"), TransferLine.FieldNo("Country/Reg. of Orig. Code CZL")); - TransferLineDataTransfer.CopyFields(); - end; - - local procedure CopyTransferReceiptHeader(); - var - TransferReceiptHeader: Record "Transfer Receipt Header"; - TransferReceiptHeaderDataTransfer: DataTransfer; - begin - TransferReceiptHeaderDataTransfer.SetTables(Database::"Transfer Receipt Header", Database::"Transfer Receipt Header"); - TransferReceiptHeaderDataTransfer.AddFieldValue(TransferReceiptHeader.FieldNo("Intrastat Exclude"), TransferReceiptHeader.FieldNo("Intrastat Exclude CZL")); - TransferReceiptHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyTransferShipmentHeader(); - var - TransferShipmentHeader: Record "Transfer Shipment Header"; - TransferShipmentHeaderDataTransfer: DataTransfer; - begin - TransferShipmentHeaderDataTransfer.SetTables(Database::"Transfer Shipment Header", Database::"Transfer Shipment Header"); - TransferShipmentHeaderDataTransfer.AddFieldValue(TransferShipmentHeader.FieldNo("Intrastat Exclude"), TransferShipmentHeader.FieldNo("Intrastat Exclude CZL")); - TransferShipmentHeaderDataTransfer.CopyFields(); - end; - - local procedure CopyItemLedgerEntry(); - var - ItemLedgerEntry: Record "Item Ledger Entry"; - ItemLedgerEntryDataTransfer: DataTransfer; - begin - ItemLedgerEntryDataTransfer.SetTables(Database::"Item Ledger Entry", Database::"Item Ledger Entry"); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Tariff No."), ItemLedgerEntry.FieldNo("Tariff No. CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Physical Transfer"), ItemLedgerEntry.FieldNo("Physical Transfer CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Net Weight"), ItemLedgerEntry.FieldNo("Net Weight CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Country/Region of Origin Code"), ItemLedgerEntry.FieldNo("Country/Reg. of Orig. Code CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Statistic Indication"), ItemLedgerEntry.FieldNo("Statistic Indication CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Intrastat Transaction"), ItemLedgerEntry.FieldNo("Intrastat Transaction CZL")); - ItemLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyJobLedgerEntry(); - var - JobLedgerEntry: Record "Job Ledger Entry"; - JobLedgerEntryDataTransfer: DataTransfer; - begin - JobLedgerEntryDataTransfer.SetTables(Database::"Job Ledger Entry", Database::"Job Ledger Entry"); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Tariff No."), JobLedgerEntry.FieldNo("Tariff No. CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Net Weight"), JobLedgerEntry.FieldNo("Net Weight CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Country/Region of Origin Code"), JobLedgerEntry.FieldNo("Country/Reg. of Orig. Code CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Statistic Indication"), JobLedgerEntry.FieldNo("Statistic Indication CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Intrastat Transaction"), JobLedgerEntry.FieldNo("Intrastat Transaction CZL")); - JobLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure CopyItemCharge(); - var - ItemCharge: Record "Item Charge"; - ItemChargeDataTransfer: DataTransfer; - begin - ItemChargeDataTransfer.SetTables(Database::"Item Charge", Database::"Item Charge"); - ItemChargeDataTransfer.AddFieldValue(ItemCharge.FieldNo("Incl. in Intrastat Amount"), ItemCharge.FieldNo("Incl. in Intrastat Amount CZL")); - ItemChargeDataTransfer.AddFieldValue(ItemCharge.FieldNo("Incl. in Intrastat Stat. Value"), ItemCharge.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemChargeDataTransfer.CopyFields(); - end; - - local procedure CopyItemChargeAssignmentPurch(); - var - ItemChargeAssignmentPurch: Record "Item Charge Assignment (Purch)"; - ItemChargeAssignmentPurchDataTransfer: DataTransfer; - begin - ItemChargeAssignmentPurchDataTransfer.SetTables(Database::"Item Charge Assignment (Purch)", Database::"Item Charge Assignment (Purch)"); - ItemChargeAssignmentPurchDataTransfer.AddFieldValue(ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat Amount"), ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat Amount CZL")); - ItemChargeAssignmentPurchDataTransfer.AddFieldValue(ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat Stat. Value"), ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemChargeAssignmentPurchDataTransfer.CopyFields(); - end; - - local procedure CopyItemChargeAssignmentSales(); - var - ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; - ItemChargeAssignmentSalesDataTransfer: DataTransfer; - begin - ItemChargeAssignmentSalesDataTransfer.SetTables(Database::"Item Charge Assignment (Sales)", Database::"Item Charge Assignment (Sales)"); - ItemChargeAssignmentSalesDataTransfer.AddFieldValue(ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat Amount"), ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat Amount CZL")); - ItemChargeAssignmentSalesDataTransfer.AddFieldValue(ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat Stat. Value"), ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemChargeAssignmentSalesDataTransfer.CopyFields(); - end; - - local procedure CopyPostedGenJournalLine(); - var - PostedGenJournalLine: Record "Posted Gen. Journal Line"; - PostedGenJournalLineDataTransfer: DataTransfer; - begin - PostedGenJournalLineDataTransfer.SetTables(Database::"Posted Gen. Journal Line", Database::"Posted Gen. Journal Line"); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Specific Symbol"), PostedGenJournalLine.FieldNo("Specific Symbol CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Variable Symbol"), PostedGenJournalLine.FieldNo("Variable Symbol CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Constant Symbol"), PostedGenJournalLine.FieldNo("Constant Symbol CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Bank Account Code"), PostedGenJournalLine.FieldNo("Bank Account Code CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Bank Account No."), PostedGenJournalLine.FieldNo("Bank Account No. CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Transit No."), PostedGenJournalLine.FieldNo("Transit No. CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo(IBAN), PostedGenJournalLine.FieldNo("IBAN CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("SWIFT Code"), PostedGenJournalLine.FieldNo("SWIFT Code CZL")); - PostedGenJournalLineDataTransfer.CopyFields(); - end; - - local procedure CopyIntrastatJournalBatch(); - var - IntrastatJnlBatch: Record "Intrastat Jnl. Batch"; - begin - IntrastatJnlBatch.SetLoadFields("Declaration No.", "Statement Type"); - if IntrastatJnlBatch.FindSet(true) then - repeat - IntrastatJnlBatch."Declaration No. CZL" := IntrastatJnlBatch."Declaration No."; - IntrastatJnlBatch."Statement Type CZL" := "Intrastat Statement Type CZL".FromInteger(IntrastatJnlBatch."Statement Type"); - IntrastatJnlBatch.Modify(false); - until IntrastatJnlBatch.Next() = 0; - end; - - local procedure CopyIntrastatJournalLine(); - var - IntrastatJnlLine: Record "Intrastat Jnl. Line"; - begin - IntrastatJnlLine.SetLoadFields("Additional Costs", "Source Entry Date", "Statistic Indication", "Statistics Period", "Declaration No.", "Statement Type", "Prev. Declaration No.", - "Prev. Declaration Line No.", "Specific Movement", "Supplem. UoM Code", "Supplem. UoM Quantity", "Supplem. UoM Net Weight", "Base Unit of Measure"); - if IntrastatJnlLine.FindSet(true) then - repeat - IntrastatJnlLine."Additional Costs CZL" := IntrastatJnlLine."Additional Costs"; - IntrastatJnlLine."Source Entry Date CZL" := IntrastatJnlLine."Source Entry Date"; - IntrastatJnlLine."Statistic Indication CZL" := IntrastatJnlLine."Statistic Indication"; - IntrastatJnlLine."Statistics Period CZL" := IntrastatJnlLine."Statistics Period"; - IntrastatJnlLine."Declaration No. CZL" := IntrastatJnlLine."Declaration No."; - IntrastatJnlLine."Statement Type CZL" := "Intrastat Statement Type CZL".FromInteger(IntrastatJnlLine."Statement Type"); - IntrastatJnlLine."Prev. Declaration No. CZL" := IntrastatJnlLine."Prev. Declaration No."; - IntrastatJnlLine."Prev. Declaration Line No. CZL" := IntrastatJnlLine."Prev. Declaration Line No."; - IntrastatJnlLine."Specific Movement CZL" := IntrastatJnlLine."Specific Movement"; - IntrastatJnlLine."Supplem. UoM Code CZL" := IntrastatJnlLine."Supplem. UoM Code"; - IntrastatJnlLine."Supplem. UoM Quantity CZL" := IntrastatJnlLine."Supplem. UoM Quantity"; - IntrastatJnlLine."Supplem. UoM Net Weight CZL" := IntrastatJnlLine."Supplem. UoM Net Weight"; - IntrastatJnlLine."Base Unit of Measure CZL" := IntrastatJnlLine."Base Unit of Measure"; - IntrastatJnlLine.Modify(false); - until IntrastatJnlLine.Next() = 0; - end; - - local procedure CopyInventoryPostingSetup(); - var - InventoryPostingSetup: Record "Inventory Posting Setup"; - InventoryPostingSetupDataTransfer: DataTransfer; - begin - InventoryPostingSetupDataTransfer.SetTables(Database::"Inventory Posting Setup", Database::"Inventory Posting Setup"); - InventoryPostingSetupDataTransfer.AddFieldValue(InventoryPostingSetup.FieldNo("Change In Inv.Of Product Acc."), InventoryPostingSetup.FieldNo("Change In Inv.OfProd. Acc. CZL")); - InventoryPostingSetupDataTransfer.AddFieldValue(InventoryPostingSetup.FieldNo("Change In Inv.Of WIP Acc."), InventoryPostingSetup.FieldNo("Change In Inv.Of WIP Acc. CZL")); - InventoryPostingSetupDataTransfer.AddFieldValue(InventoryPostingSetup.FieldNo("Consumption Account"), InventoryPostingSetup.FieldNo("Consumption Account CZL")); - InventoryPostingSetupDataTransfer.CopyFields(); - end; - - local procedure CopyGeneralPostingSetup(); - var - GeneralPostingSetup: Record "General Posting Setup"; - GeneralPostingSetupDataTransfer: DataTransfer; - begin - GeneralPostingSetupDataTransfer.SetTables(Database::"General Posting Setup", Database::"General Posting Setup"); - GeneralPostingSetupDataTransfer.AddFieldValue(GeneralPostingSetup.FieldNo("Invt. Rounding Adj. Account"), GeneralPostingSetup.FieldNo("Invt. Rounding Adj. Acc. CZL")); - GeneralPostingSetupDataTransfer.CopyFields(); - end; - - local procedure CopyUserSetupLine(); - var - UserSetupLine: Record "User Setup Line"; - UserSetupLineCZL: Record "User Setup Line CZL"; - begin - if UserSetupLine.FindSet() then - repeat - if not UserSetupLineCZL.Get(UserSetupLine."User ID", UserSetupLine.Type, UserSetupLine."Line No.") then begin - UserSetupLineCZL.Init(); - UserSetupLineCZL."User ID" := UserSetupLine."User ID"; - UserSetupLineCZL.Type := UserSetupLine.Type; - UserSetupLineCZL."Line No." := UserSetupLine."Line No."; - UserSetupLineCZL.SystemId := UserSetupLine.SystemId; - UserSetupLineCZL.Insert(false, true); - end; - UserSetupLineCZL."Code / Name" := UserSetupLine."Code / Name"; - UserSetupLineCZL.Modify(false); - until UserSetupLine.Next() = 0; - end; - - local procedure CopyAccScheduleExtension(); - var - AccScheduleExtension: Record "Acc. Schedule Extension"; - AccScheduleExtensionCZL: Record "Acc. Schedule Extension CZL"; - begin - if AccScheduleExtension.FindSet() then - repeat - if not AccScheduleExtensionCZL.Get(AccScheduleExtension.Code) then begin - AccScheduleExtensionCZL.Init(); - AccScheduleExtensionCZL.Code := AccScheduleExtension.Code; - AccScheduleExtensionCZL.SystemId := AccScheduleExtension.SystemId; - AccScheduleExtensionCZL.Insert(false, true); - end; - AccScheduleExtensionCZL.Description := AccScheduleExtension.Description; - AccScheduleExtensionCZL."Source Table" := AccScheduleExtension."Source Table"; - AccScheduleExtensionCZL."Source Type" := AccScheduleExtension."Source Type"; - AccScheduleExtensionCZL."Source Filter" := AccScheduleExtension."Source Filter"; - AccScheduleExtensionCZL."G/L Account Filter" := AccScheduleExtension."G/L Account Filter"; - AccScheduleExtensionCZL."G/L Amount Type" := AccScheduleExtension."G/L Amount Type"; - AccScheduleExtensionCZL."Amount Sign" := AccScheduleExtension."Amount Sign"; - AccScheduleExtensionCZL."Entry Type" := AccScheduleExtension."Entry Type"; - AccScheduleExtensionCZL.Prepayment := AccScheduleExtension.Prepayment; - AccScheduleExtensionCZL."Reverse Sign" := AccScheduleExtension."Reverse Sign"; - AccScheduleExtensionCZL."VAT Amount Type" := AccScheduleExtension."VAT Amount Type"; - AccScheduleExtensionCZL."VAT Bus. Post. Group Filter" := AccScheduleExtension."VAT Bus. Post. Group Filter"; - AccScheduleExtensionCZL."VAT Prod. Post. Group Filter" := AccScheduleExtension."VAT Prod. Post. Group Filter"; - AccScheduleExtensionCZL."Location Filter" := AccScheduleExtension."Location Filter"; - AccScheduleExtensionCZL."Bin Filter" := AccScheduleExtension."Bin Filter"; - AccScheduleExtensionCZL."Posting Group Filter" := AccScheduleExtension."Posting Group Filter"; - AccScheduleExtensionCZL."Posting Date Filter" := AccScheduleExtension."Posting Date Filter"; - AccScheduleExtensionCZL."Due Date Filter" := AccScheduleExtension."Due Date Filter"; - AccScheduleExtensionCZL."Document Type Filter" := AccScheduleExtension."Document Type Filter"; - AccScheduleExtensionCZL.Modify(false); - until AccScheduleExtension.Next() = 0; - end; - - local procedure CopyAccScheduleResultLine(); - var - AccScheduleResultLine: Record "Acc. Schedule Result Line"; - AccScheduleResultLineCZL: Record "Acc. Schedule Result Line CZL"; - begin - if AccScheduleResultLine.FindSet() then - repeat - if not AccScheduleResultLineCZL.Get(AccScheduleResultLine."Result Code", AccScheduleResultLine."Line No.") then begin - AccScheduleResultLineCZL.Init(); - AccScheduleResultLineCZL."Result Code" := AccScheduleResultLine."Result Code"; - AccScheduleResultLineCZL."Line No." := AccScheduleResultLine."Line No."; - AccScheduleResultLineCZL.SystemId := AccScheduleResultLine.SystemId; - AccScheduleResultLineCZL.Insert(false, true); - end; - AccScheduleResultLineCZL."Row No." := AccScheduleResultLine."Row No."; - AccScheduleResultLineCZL.Description := AccScheduleResultLine.Description; - AccScheduleResultLineCZL.Totaling := AccScheduleResultLine.Totaling; - AccScheduleResultLineCZL."Totaling Type" := AccScheduleResultLine."Totaling Type"; - AccScheduleResultLineCZL."New Page" := AccScheduleResultLine."New Page"; - AccScheduleResultLineCZL.Show := AccScheduleResultLine.Show; - AccScheduleResultLineCZL.Bold := AccScheduleResultLine.Bold; - AccScheduleResultLineCZL.Italic := AccScheduleResultLine.Italic; - AccScheduleResultLineCZL.Underline := AccScheduleResultLine.Underline; - AccScheduleResultLineCZL."Show Opposite Sign" := AccScheduleResultLine."Show Opposite Sign"; - AccScheduleResultLineCZL."Row Type" := AccScheduleResultLine."Row Type"; - AccScheduleResultLineCZL."Amount Type" := AccScheduleResultLine."Amount Type"; - AccScheduleResultLineCZL.Modify(false); - until AccScheduleResultLine.Next() = 0; - end; - - local procedure CopyAccScheduleResultColumn(); - var - AccScheduleResultColumn: Record "Acc. Schedule Result Column"; - AccScheduleResultColCZL: Record "Acc. Schedule Result Col. CZL"; - begin - if AccScheduleResultColumn.FindSet() then - repeat - if not AccScheduleResultColCZL.Get(AccScheduleResultColumn."Result Code", AccScheduleResultColumn."Line No.") then begin - AccScheduleResultColCZL.Init(); - AccScheduleResultColCZL."Result Code" := AccScheduleResultColumn."Result Code"; - AccScheduleResultColCZL."Line No." := AccScheduleResultColumn."Line No."; - AccScheduleResultColCZL.SystemId := AccScheduleResultColumn.SystemId; - AccScheduleResultColCZL.Insert(false, true); - end; - AccScheduleResultColCZL."Column No." := AccScheduleResultColumn."Column No."; - AccScheduleResultColCZL."Column Header" := AccScheduleResultColumn."Column Header"; - AccScheduleResultColCZL."Column Type" := AccScheduleResultColumn."Column Type"; - AccScheduleResultColCZL."Ledger Entry Type" := AccScheduleResultColumn."Ledger Entry Type"; - AccScheduleResultColCZL."Amount Type" := AccScheduleResultColumn."Amount Type"; - AccScheduleResultColCZL.Formula := AccScheduleResultColumn.Formula; - AccScheduleResultColCZL."Comparison Date Formula" := AccScheduleResultColumn."Comparison Date Formula"; - AccScheduleResultColCZL."Show Opposite Sign" := AccScheduleResultColumn."Show Opposite Sign"; - AccScheduleResultColCZL.Show := AccScheduleResultColumn.Show; - AccScheduleResultColCZL."Rounding Factor" := AccScheduleResultColumn."Rounding Factor"; - AccScheduleResultColCZL."Comparison Period Formula" := AccScheduleResultColumn."Comparison Period Formula"; - AccScheduleResultColCZL.Modify(false); - until AccScheduleResultColumn.Next() = 0; - end; - - local procedure CopyAccScheduleResultValue(); - var - AccScheduleResultValue: Record "Acc. Schedule Result Value"; - AccScheduleResultValueCZL: Record "Acc. Schedule Result Value CZL"; - begin - if AccScheduleResultValue.FindSet() then - repeat - if not AccScheduleResultValueCZL.Get(AccScheduleResultValue."Result Code", AccScheduleResultValue."Row No.", AccScheduleResultValue."Column No.") then begin - AccScheduleResultValueCZL.Init(); - AccScheduleResultValueCZL."Result Code" := AccScheduleResultValue."Result Code"; - AccScheduleResultValueCZL."Row No." := AccScheduleResultValue."Row No."; - AccScheduleResultValueCZL."Column No." := AccScheduleResultValue."Column No."; - AccScheduleResultValueCZL.SystemId := AccScheduleResultValue.SystemId; - AccScheduleResultValueCZL.Insert(false, true); - end; - AccScheduleResultValueCZL.Value := AccScheduleResultValue.Value; - AccScheduleResultValueCZL.Modify(false); - until AccScheduleResultValue.Next() = 0; - end; - - local procedure CopyAccScheduleResultHeader(); - var - AccScheduleResultHeader: Record "Acc. Schedule Result Header"; - AccScheduleResultHdrCZL: Record "Acc. Schedule Result Hdr. CZL"; - begin - if AccScheduleResultHeader.FindSet() then - repeat - if not AccScheduleResultHdrCZL.Get(AccScheduleResultHeader."Result Code") then begin - AccScheduleResultHdrCZL.Init(); - AccScheduleResultHdrCZL."Result Code" := AccScheduleResultHeader."Result Code"; - AccScheduleResultHdrCZL.SystemId := AccScheduleResultHeader.SystemId; - AccScheduleResultHdrCZL.Insert(false, true); - end; - AccScheduleResultHdrCZL.Description := AccScheduleResultHeader.Description; - AccScheduleResultHdrCZL."Date Filter" := AccScheduleResultHeader."Date Filter"; - AccScheduleResultHdrCZL."Acc. Schedule Name" := AccScheduleResultHeader."Acc. Schedule Name"; - AccScheduleResultHdrCZL."Column Layout Name" := AccScheduleResultHeader."Column Layout Name"; - AccScheduleResultHdrCZL."Dimension 1 Filter" := AccScheduleResultHeader."Dimension 1 Filter"; - AccScheduleResultHdrCZL."Dimension 2 Filter" := AccScheduleResultHeader."Dimension 2 Filter"; - AccScheduleResultHdrCZL."Dimension 3 Filter" := AccScheduleResultHeader."Dimension 3 Filter"; - AccScheduleResultHdrCZL."Dimension 4 Filter" := AccScheduleResultHeader."Dimension 4 Filter"; - AccScheduleResultHdrCZL."User ID" := AccScheduleResultHeader."User ID"; - AccScheduleResultHdrCZL."Result Date" := AccScheduleResultHeader."Result Date"; - AccScheduleResultHdrCZL."Result Time" := AccScheduleResultHeader."Result Time"; - AccScheduleResultHdrCZL.Modify(false); - until AccScheduleResultHeader.Next() = 0; - end; - - local procedure CopyAccScheduleResultHistory(); - var - AccScheduleResultHistory: Record "Acc. Schedule Result History"; - AccScheduleResultHistCZL: Record "Acc. Schedule Result Hist. CZL"; - begin - if AccScheduleResultHistory.FindSet() then - repeat - if not AccScheduleResultHistCZL.Get(AccScheduleResultHistory."Result Code", AccScheduleResultHistory."Row No.", - AccScheduleResultHistory."Column No.", AccScheduleResultHistory."Variant No.") then begin - AccScheduleResultHistCZL.Init(); - AccScheduleResultHistCZL."Result Code" := AccScheduleResultHistory."Result Code"; - AccScheduleResultHistCZL."Row No." := AccScheduleResultHistory."Row No."; - AccScheduleResultHistCZL."Column No." := AccScheduleResultHistory."Column No."; - AccScheduleResultHistCZL."Variant No." := AccScheduleResultHistory."Variant No."; - AccScheduleResultHistCZL.SystemId := AccScheduleResultHistory.SystemId; - AccScheduleResultHistCZL.Insert(false, true); - end; - AccScheduleResultHistCZL."New Value" := AccScheduleResultHistory."New Value"; - AccScheduleResultHistCZL."Old Value" := AccScheduleResultHistory."Old Value"; - AccScheduleResultHistCZL."User ID" := AccScheduleResultHistory."User ID"; - AccScheduleResultHistCZL."Modified DateTime" := AccScheduleResultHistory."Modified DateTime"; - AccScheduleResultHistCZL.Modify(false); - until AccScheduleResultHistory.Next() = 0; - end; - - local procedure CopyGenJournalTemplate(); - var - GenJournalTemplate: Record "Gen. Journal Template"; - begin - GenJournalTemplate.SetLoadFields("Not Check Doc. Type"); - GenJournalTemplate.SetRange("Not Check Doc. Type", true); - if GenJournalTemplate.FindSet() then - repeat - GenJournalTemplate."Not Check Doc. Type CZL" := GenJournalTemplate."Not Check Doc. Type"; - GenJournalTemplate.Modify(false); - until GenJournalTemplate.Next() = 0; - end; - local procedure ModifyGenJournalTemplate() var GenJournalTemplate: Record "Gen. Journal Template"; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgtCZL.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgtCZL.Codeunit.al index dd7041ec00..5887b17b68 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgtCZL.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/RegistrationLogMgtCZL.Codeunit.al @@ -279,7 +279,12 @@ codeunit 11755 "Registration Log Mgt. CZL" local procedure AssistEditRegNo(AccountType: Enum "Reg. Log Account Type CZL"; AccountNo: Code[20]) var AssistedRegistrationLogCZL: Record "Registration Log CZL"; + IsHandled: Boolean; begin + OnBeforeAssistEditRegNo(AccountType, AccountNo, IsHandled); + if IsHandled then + exit; + CheckAndLogUnloggedRegistrationNumbers(AssistedRegistrationLogCZL, AccountType, AccountNo); Commit(); Page.RunModal(Page::"Registration Log CZL", AssistedRegistrationLogCZL); @@ -439,4 +444,9 @@ codeunit 11755 "Registration Log Mgt. CZL" ServiceConnection.InsertServiceConnection( ServiceConnection, ServiceConfigRecordRef.RecordId, DescriptionLbl, RegNoServiceConfigCZL."Service Endpoint", Page::"Reg. No. Service Config CZL"); end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeAssistEditRegNo(AccountType: Enum "Reg. Log Account Type CZL"; AccountNo: Code[20]; var IsHandled: Boolean) + begin + end; } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZL.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZL.Codeunit.al index 794ecf6944..bd799f5b81 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZL.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/UpgradeApplicationCZL.Codeunit.al @@ -39,10 +39,8 @@ using Microsoft.Purchases.Vendor; using Microsoft.Sales.Archive; using Microsoft.Sales.Customer; using Microsoft.Sales.Document; -using Microsoft.Sales.FinanceCharge; using Microsoft.Sales.History; using Microsoft.Sales.Receivables; -using Microsoft.Sales.Reminder; using Microsoft.Sales.Setup; using Microsoft.Service.Document; using Microsoft.Service.History; @@ -91,7 +89,6 @@ codeunit 31017 "Upgrade Application CZL" tabledata "Detailed Cust. Ledg. Entry" = m, tabledata "Detailed Vendor Ledg. Entry" = m, tabledata "Isolated Certificate" = m, - tabledata "EET Service Setup" = m, tabledata "Shipment Method" = m, tabledata "Tariff Number" = m, tabledata "Statistic Indication CZL" = m, @@ -151,7 +148,6 @@ codeunit 31017 "Upgrade Application CZL" UpgradeTag: Codeunit "Upgrade Tag"; UpgradeTagDefinitionsCZL: Codeunit "Upgrade Tag Definitions CZL"; InstallApplicationsMgtCZL: Codeunit "Install Applications Mgt. CZL"; - InstallApplicationCZL: Codeunit "Install Application CZL"; AppInfo: ModuleInfo; trigger OnUpgradePerDatabase() @@ -172,99 +168,6 @@ codeunit 31017 "Upgrade Application CZL" local procedure UpgradeData() begin - UpgradeGeneralLedgerSetup(); - UpgradeSalesSetup(); - UpgradePurchaseSetup(); - UpgradeServiceSetup(); - UpgradeInventorySetup(); - UpgradeDepreciationBook(); - UpgradeItemJournalLine(); - UpgradeJobJournalLine(); - UpgradeSalesLine(); - UpgradePurchaseLine(); - UpgradeServiceLine(); - UpgradeValueEntry(); - UpgradeDetailedCustLedgEntry(); - UpgradeDetailedVendorLedgEntry(); - UpgradeSubstCustomerPostingGroup(); - UpgradeSubstVendorPostingGroup(); - UpgradeCertificateCZCode(); - UpgradeIsolatedCertificate(); - UpgradeEETServiceSetup(); - UpgradeEETBusinessPremises(); - UpgradeEETCashRegister(); - UpgradeEETEntry(); - UpgradeEETEntryStatus(); - UpgradeConstantSymbol(); - UpgradeShipmentMethod(); - UpgradeTariffNumber(); - UpgradeStatisticIndication(); - UpgradeSpecificMovement(); - UpgradeIntrastatDeliveryGroup(); - UpgradeStatutoryReportingSetup(); - UpgradeCustomer(); - UpgradeVendor(); - UpgradeItem(); - UpgradeUnitofMeasure(); - UpgradeVATPostingSetup(); - UpgradeSalesHeader(); - UpgradeSalesShipmentHeader(); - UpgradeSalesInvoiceHeader(); - UpgradeSalesInvoiceLine(); - UpgradeSalesCrMemoLine(); - UpgradeSalesCrMemoLine(); - UpgradeSalesCrMemoHeader(); - UpgradeSalesHeaderArchive(); - UpgradeSalesLineArchive(); - UpgradePurchaseHeader(); - UpgradePurchRcptHeader(); - UpgradePurchRcptLine(); - UpgradePurchInvHeader(); - UpgradePurchInvLine(); - UpgradePurchCrMemoHdr(); - UpgradePurchCrMemoLine(); - UpgradePurchaseHeaderArchive(); - UpgradePurchaseLineArchive(); - UpgradeServiceHeader(); - UpgradeServiceShipmentHeader(); - UpgradeServiceInvoiceHeader(); - UpgradeServiceInvoiceLine(); - UpgradeServiceCrMemoHeader(); - UpgradeServiceCrMemoLine(); - UpgradeReturnShipmentHeader(); - UpgradeReturnReceiptHeader(); - UpgradeTransferHeader(); - UpgradeTransferLine(); - UpgradeTransferReceiptHeader(); - UpgradeTransferShipmentHeader(); - UpgradeItemLedgerEntry(); - UpgradeJobLedgerEntry(); - UpgradeItemCharge(); - UpgradeItemChargeAssignmentPurch(); - UpgradeItemChargeAssignmentSales(); - UpgradePostedGenJournalLine(); - UpgradeIntrastatJournalBatch(); - UpgradeIntrastatJournalLine(); - UpgradeGeneralPostingSetup(); - UpgradeInventoryPostingSetup(); - UpgradeUserSetup(); - UpgradeUserSetupLine(); - UpgradeAccScheduleLine(); - UpgradeAccScheduleExtension(); - UpgradeAccScheduleResultLine(); - UpgradeAccScheduleResultColumn(); - UpgradeAccScheduleResultValue(); - UpgradeAccScheduleResultHeader(); - UpgradeAccScheduleResultHistory(); - UpgradeGenJournalTemplate(); - UpgradeVATEntry(); - UpgradeCustLedgerEntry(); - UpgradeVendLedgerEntry(); - UpgradeGenJournalLine(); - UpgradeReminderHeader(); - UpgradeIssuedReminderHeader(); - UpgradeFinanceChargeMemoHeader(); - UpgradeIssuedFinanceChargeMemoHeader(); UpgradeReportSelections(); UpgradeReplaceVATDateCZL(); UpgradeReplaceAllowAlterPostingGroups(); @@ -282,1861 +185,6 @@ codeunit 31017 "Upgrade Application CZL" UpgradeSetEnableNonDeductibleVATCZ(); end; - local procedure UpgradeGeneralLedgerSetup(); - var - GeneralLedgerSetup: Record "General Ledger Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) - then - exit; - - if GeneralLedgerSetup.Get() then begin - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then begin - GeneralLedgerSetup."Shared Account Schedule CZL" := GeneralLedgerSetup."Shared Account Schedule"; - GeneralLedgerSetup."Acc. Schedule Results Nos. CZL" := GeneralLedgerSetup."Acc. Schedule Results Nos."; - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - GeneralLedgerSetup."Check Posting Debit/Credit CZL" := GeneralLedgerSetup."Check Posting Debit/Credit"; - GeneralLedgerSetup."Mark Neg. Qty as Correct. CZL" := GeneralLedgerSetup."Mark Neg. Qty as Correction"; - GeneralLedgerSetup."Rounding Date CZL" := GeneralLedgerSetup."Rounding Date"; - GeneralLedgerSetup."Closed Per. Entry Pos.Date CZL" := GeneralLedgerSetup."Closed Period Entry Pos.Date"; - GeneralLedgerSetup."User Checks Allowed CZL" := GeneralLedgerSetup."User Checks Allowed"; - end; - GeneralLedgerSetup.Modify(false); - end; - end; - - local procedure UpgradeSalesSetup(); - var - SalesReceivablesSetup: Record "Sales & Receivables Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - if SalesReceivablesSetup.Get() then begin - SalesReceivablesSetup."Allow Alter Posting Groups CZL" := SalesReceivablesSetup."Allow Alter Posting Groups"; - SalesReceivablesSetup.Modify(false); - end; - end; - - local procedure UpgradePurchaseSetup(); - var - PurchasesPayablesSetup: Record "Purchases & Payables Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if PurchasesPayablesSetup.Get() then begin - PurchasesPayablesSetup."Allow Alter Posting Groups CZL" := PurchasesPayablesSetup."Allow Alter Posting Groups"; - PurchasesPayablesSetup.Modify(false); - end; - end; - - local procedure UpgradeServiceSetup(); - var - ServiceMgtSetup: Record "Service Mgt. Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if ServiceMgtSetup.Get() then begin - ServiceMgtSetup."Allow Alter Posting Groups CZL" := ServiceMgtSetup."Allow Alter Cust. Post. Groups"; - ServiceMgtSetup.Modify(false); - end; - end; - - local procedure UpgradeInventorySetup(); - var - InventorySetup: Record "Inventory Setup"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - InventorySetup.SetLoadFields("Date Order Inventory Change", "Post Neg. Transfers as Corr.", "Post Exp. Cost Conv. as Corr."); - if InventorySetup.Get() then begin - InventorySetup."Date Order Invt. Change CZL" := InventorySetup."Date Order Inventory Change"; - InventorySetup."Post Neg.Transf. As Corr.CZL" := InventorySetup."Post Neg. Transfers as Corr."; - InventorySetup."Post Exp.Cost Conv.As Corr.CZL" := InventorySetup."Post Exp. Cost Conv. as Corr."; - InventorySetup.Modify(false); - end; - end; - - local procedure UpgradeDepreciationBook(); - var - DepreciationBook: Record "Depreciation Book"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - DepreciationBook.SetLoadFields("Mark Reclass. as Corrections"); - if DepreciationBook.FindSet(true) then - repeat - DepreciationBook."Mark Reclass. as Correct. CZL" := DepreciationBook."Mark Reclass. as Corrections"; - DepreciationBook.Modify(false); - until DepreciationBook.Next() = 0; - end; - - local procedure UpgradeItemJournalLine(); - var - ItemJournalLine: Record "Item Journal Line"; - ItemJournalLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ItemJournalLineDataTransfer.SetTables(Database::"Item Journal Line", Database::"Item Journal Line"); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Tariff No."), ItemJournalLine.FieldNo("Tariff No. CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Physical Transfer"), ItemJournalLine.FieldNo("Physical Transfer CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Incl. in Intrastat Amount"), ItemJournalLine.FieldNo("Incl. in Intrastat Amount CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Incl. in Intrastat Stat. Value"), ItemJournalLine.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Net Weight"), ItemJournalLine.FieldNo("Net Weight CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Country/Region of Origin Code"), ItemJournalLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Statistic Indication"), ItemJournalLine.FieldNo("Statistic Indication CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("Intrastat Transaction"), ItemJournalLine.FieldNo("Intrastat Transaction CZL")); - ItemJournalLineDataTransfer.AddFieldValue(ItemJournalLine.FieldNo("G/L Correction"), ItemJournalLine.FieldNo("G/L Correction CZL")); - ItemJournalLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeJobJournalLine(); - var - JobJournalLine: Record "Job Journal Line"; - JobJournalLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - JobJournalLineDataTransfer.SetTables(Database::"Job Journal Line", Database::"Job Journal Line"); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Correction"), JobJournalLine.FieldNo("Correction CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Tariff No."), JobJournalLine.FieldNo("Tariff No. CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Net Weight"), JobJournalLine.FieldNo("Net Weight CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Country/Region of Origin Code"), JobJournalLine.FieldNo("Country/Reg. of Orig. Code CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Statistic Indication"), JobJournalLine.FieldNo("Statistic Indication CZL")); - JobJournalLineDataTransfer.AddFieldValue(JobJournalLine.FieldNo("Intrastat Transaction"), JobJournalLine.FieldNo("Intrastat Transaction CZL")); - JobJournalLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesLine(); - var - SalesLine: Record "Sales Line"; - SalesLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - SalesLineDataTransfer.SetTables(Database::"Sales Line", Database::"Sales Line"); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Negative"), SalesLine.FieldNo("Negative CZL")); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Physical Transfer"), SalesLine.FieldNo("Physical Transfer CZL")); - SalesLineDataTransfer.AddFieldValue(SalesLine.FieldNo("Country/Region of Origin Code"), SalesLine.FieldNo("Country/Reg. of Orig. Code CZL")); - SalesLineDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchaseLine(); - var - PurchaseLine: Record "Purchase Line"; - PurchaseLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion200PerCompanyUpgradeTag()) - then - exit; - - PurchaseLineDataTransfer.SetTables(Database::"Purchase Line", Database::"Purchase Line"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Negative"), PurchaseLine.FieldNo("Negative CZL")); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Physical Transfer"), PurchaseLine.FieldNo("Physical Transfer CZL")); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Country/Region of Origin Code"), PurchaseLine.FieldNo("Country/Reg. of Orig. Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion200PerCompanyUpgradeTag()) then begin - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Ext. Amount (LCY)"), PurchaseLine.FieldNo("Ext. Amount CZL")); - PurchaseLineDataTransfer.AddFieldValue(PurchaseLine.FieldNo("Ext.Amount Including VAT (LCY)"), PurchaseLine.FieldNo("Ext. Amount Incl. VAT CZL")); - end; - PurchaseLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeServiceLine(); - var - ServiceLine: Record "Service Line"; - ServiceLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ServiceLineDataTransfer.SetTables(Database::"Service Line", Database::"Service Line"); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Negative"), ServiceLine.FieldNo("Negative CZL")); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Physical Transfer"), ServiceLine.FieldNo("Physical Transfer CZL")); - ServiceLineDataTransfer.AddFieldValue(ServiceLine.FieldNo("Country/Region of Origin Code"), ServiceLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ServiceLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeValueEntry(); - var - ValueEntry: Record "Value Entry"; - ValueEntryDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ValueEntryDataTransfer.SetTables(Database::"Value Entry", Database::"Value Entry"); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("G/L Correction"), ValueEntry.FieldNo("G/L Correction CZL")); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Incl. in Intrastat Amount"), ValueEntry.FieldNo("Incl. in Intrastat Amount CZL")); - ValueEntryDataTransfer.AddFieldValue(ValueEntry.FieldNo("Incl. in Intrastat Stat. Value"), ValueEntry.FieldNo("Incl. in Intrastat S.Value CZL")); - ValueEntryDataTransfer.CopyFields(); - end; - - local procedure UpgradeDetailedCustLedgEntry() - var - DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; - ApplTransactionDictionary: Dictionary of [Integer, Boolean]; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - DetailedCustLedgEntry.SetLoadFields("Entry No.", "Customer Posting Group", "Entry Type", "Transaction No."); - if DetailedCustLedgEntry.FindSet(true) then - repeat - DetailedCustLedgEntry."Customer Posting Group CZL" := DetailedCustLedgEntry."Customer Posting Group"; - if DetailedCustLedgEntry."Entry Type" = DetailedCustLedgEntry."Entry Type"::Application then - DetailedCustLedgEntry."Appl. Across Post. Groups CZL" := - InstallApplicationCZL.IsCustomerApplAcrossPostGrpTransaction(DetailedCustLedgEntry."Transaction No.", ApplTransactionDictionary); - DetailedCustLedgEntry.Modify(false); - until DetailedCustLedgEntry.Next() = 0; - end; - - local procedure UpgradeDetailedVendorLedgEntry() - var - DetailedVendorLedgEntry: Record "Detailed Vendor Ledg. Entry"; - ApplTransactionDictionary: Dictionary of [Integer, Boolean]; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if DetailedVendorLedgEntry.FindSet(true) then - repeat - DetailedVendorLedgEntry."Vendor Posting Group CZL" := DetailedVendorLedgEntry."Vendor Posting Group"; - if DetailedVendorLedgEntry."Entry Type" = DetailedVendorLedgEntry."Entry Type"::Application then - DetailedVendorLedgEntry."Appl. Across Post. Groups CZL" := - InstallApplicationCZL.IsVendorApplAcrossPostGrpTransaction(DetailedVendorLedgEntry."Transaction No.", ApplTransactionDictionary); - DetailedVendorLedgEntry.Modify(false); - until DetailedVendorLedgEntry.Next() = 0; - end; - - local procedure UpgradeSubstCustomerPostingGroup(); - var - SubstCustomerPostingGroup: Record "Subst. Customer Posting Group"; - SubstCustPostingGroupCZL: Record "Subst. Cust. Posting Group CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if SubstCustomerPostingGroup.FindSet() then - repeat - if not SubstCustPostingGroupCZL.Get(SubstCustomerPostingGroup."Parent Cust. Posting Group", SubstCustomerPostingGroup."Customer Posting Group") then begin - SubstCustPostingGroupCZL.Init(); - SubstCustPostingGroupCZL."Parent Customer Posting Group" := SubstCustomerPostingGroup."Parent Cust. Posting Group"; - SubstCustPostingGroupCZL."Customer Posting Group" := SubstCustomerPostingGroup."Customer Posting Group"; - SubstCustPostingGroupCZL.SystemId := SubstCustomerPostingGroup.SystemId; - SubstCustPostingGroupCZL.Insert(false, true); - end; - until SubstCustomerPostingGroup.Next() = 0; - end; - - local procedure UpgradeSubstVendorPostingGroup(); - var - SubstVendorPostingGroup: Record "Subst. Vendor Posting Group"; - SubstVendPostingGroupCZL: Record "Subst. Vend. Posting Group CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if SubstVendorPostingGroup.FindSet() then - repeat - if not SubstVendPostingGroupCZL.Get(SubstVendorPostingGroup."Parent Vend. Posting Group", SubstVendorPostingGroup."Vendor Posting Group") then begin - SubstVendPostingGroupCZL.Init(); - SubstVendPostingGroupCZL."Parent Vendor Posting Group" := SubstVendorPostingGroup."Parent Vend. Posting Group"; - SubstVendPostingGroupCZL."Vendor Posting Group" := SubstVendorPostingGroup."Vendor Posting Group"; - SubstVendPostingGroupCZL.SystemId := SubstVendorPostingGroup.SystemId; - SubstVendPostingGroupCZL.Insert(false, true); - end; - until SubstVendorPostingGroup.Next() = 0; - end; - - local procedure UpgradeCertificateCZCode() - var - CertificateCZCode: Record "Certificate CZ Code"; - CertificateCodeCZL: Record "Certificate Code CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - if CertificateCZCode.FindSet() then - repeat - if not CertificateCodeCZL.Get(CertificateCZCode.Code) then begin - CertificateCodeCZL.Init(); - CertificateCodeCZL.Code := CertificateCZCode.Code; - CertificateCodeCZL.SystemId := CertificateCZCode.SystemId; - CertificateCodeCZL.Insert(false, true); - end; - CertificateCodeCZL.Description := CertificateCZCode.Description; - CertificateCodeCZL.Modify(false); - until CertificateCZCode.Next() = 0; - end; - - local procedure UpgradeIsolatedCertificate() - var - IsolatedCertificate: Record "Isolated Certificate"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - IsolatedCertificate.SetLoadFields("Certificate Code"); - if IsolatedCertificate.FindSet() then - repeat - IsolatedCertificate."Certificate Code CZL" := IsolatedCertificate."Certificate Code"; - IsolatedCertificate.Modify(false); - until IsolatedCertificate.Next() = 0; - end; - - local procedure UpgradeEETServiceSetup() - var - EETServiceSetup: Record "EET Service Setup"; - EETServiceSetupCZL: Record "EET Service Setup CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - if EETServiceSetup.Get() then begin - if not EETServiceSetupCZL.Get() then begin - EETServiceSetupCZL.Init(); - EETServiceSetupCZL.SystemId := EETServiceSetup.SystemId; - EETServiceSetupCZL.Insert(false, true); - end; - EETServiceSetupCZL."Service URL" := EETServiceSetup."Service URL"; - EETServiceSetupCZL."Sales Regime" := "EET Sales Regime CZL".FromInteger(EETServiceSetup."Sales Regime"); - EETServiceSetupCZL."Limit Response Time" := EETServiceSetup."Limit Response Time"; - EETServiceSetupCZL."Appointing VAT Reg. No." := EETServiceSetup."Appointing VAT Reg. No."; - EETServiceSetupCZL."Certificate Code" := EETServiceSetup."Certificate Code"; - if EETServiceSetup.Enabled then begin - EETServiceSetupCZL.Enabled := true; - EETServiceSetup.Validate(Enabled, false); - EETServiceSetup.Modify(false); - end; - EETServiceSetupCZL.Modify(false); - end; - end; - - local procedure UpgradeEETBusinessPremises() - var - EETBusinessPremises: Record "EET Business Premises"; - EETBusinessPremisesCZL: Record "EET Business Premises CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - if EETBusinessPremises.FindSet() then - repeat - if not EETBusinessPremisesCZL.Get(EETBusinessPremises.Code) then begin - EETBusinessPremisesCZL.Init(); - EETBusinessPremisesCZL.Code := EETBusinessPremises.Code; - EETBusinessPremisesCZL.SystemId := EETBusinessPremises.SystemId; - EETBusinessPremisesCZL.Insert(false, true); - end; - EETBusinessPremisesCZL.Description := EETBusinessPremises.Description; - EETBusinessPremisesCZL.Identification := EETBusinessPremises.Identification; - EETBusinessPremisesCZL."Certificate Code" := EETBusinessPremises."Certificate Code"; - EETBusinessPremisesCZL.Modify(false); - until EETBusinessPremises.Next() = 0; - end; - - local procedure UpgradeEETCashRegister() - var - EETCashRegister: Record "EET Cash Register"; - EETCashRegisterCZL: Record "EET Cash Register CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - if EETCashRegister.FindSet() then - repeat - if not EETCashRegisterCZL.Get(EETCashRegister."Business Premises Code", EETCashRegister.Code) then begin - EETCashRegisterCZL.Init(); - EETCashRegisterCZL."Business Premises Code" := EETCashRegister."Business Premises Code"; - EETCashRegisterCZL.Code := EETCashRegister.Code; - EETCashRegisterCZL.SystemId := EETCashRegister.SystemId; - EETCashRegisterCZL.Insert(false, true); - end; - EETCashRegisterCZL."Cash Register Type" := "EET Cash Register Type CZL".FromInteger(EETCashRegister."Register Type"); - EETCashRegisterCZL."Cash Register No." := EETCashRegister."Register No."; - EETCashRegisterCZL."Cash Register Name" := EETCashRegister."Register Name"; - EETCashRegisterCZL."Certificate Code" := EETCashRegister."Certificate Code"; - EETCashRegisterCZL."Receipt Serial Nos." := EETCashRegister."Receipt Serial Nos."; - EETCashRegisterCZL.Modify(false); - until EETCashRegister.Next() = 0; - end; - - local procedure UpgradeEETEntry() - var - EETEntry: Record "EET Entry"; - EETEntryCZL: Record "EET Entry CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - if EETEntry.FindSet() then - repeat - if not EETEntryCZL.Get(EETEntry."Entry No.") then begin - EETEntryCZL.Init(); - EETEntryCZL."Entry No." := EETEntry."Entry No."; - EETEntryCZL.SystemId := EETEntry.SystemId; - EETEntryCZL.Insert(false, true); - end; - EETEntryCZL."Cash Register Type" := "EET Cash Register Type CZL".FromInteger(EETEntry."Source Type"); - EETEntryCZL."Cash Register No." := EETEntry."Source No."; - EETEntryCZL."Business Premises Code" := EETEntry."Business Premises Code"; - EETEntryCZL."Cash Register Code" := EETEntry."Cash Register Code"; - EETEntryCZL."Document No." := EETEntry."Document No."; - EETEntryCZL.Description := EETEntry.Description; - EETEntryCZL."Applied Document Type" := "EET Applied Document Type CZL".FromInteger(EETEntry."Applied Document Type"); - EETEntryCZL."Applied Document No." := EETEntry."Applied Document No."; - EETEntryCZL."Created By" := EETEntry."User ID"; - EETEntryCZL."Created At" := EETEntry."Creation Datetime"; - EETEntryCZL."Status" := "EET Status CZL".FromInteger(EETEntry."EET Status"); - EETEntryCZL."Status Last Changed At" := EETEntry."EET Status Last Changed"; - EETEntryCZL."Message UUID" := EETEntry."Message UUID"; - EETEntry.CalcFields("Signature Code (PKP)"); - EETEntryCZL."Taxpayer's Signature Code" := EETEntry."Signature Code (PKP)"; - EETEntryCZL."Taxpayer's Security Code" := EETEntry."Security Code (BKP)"; - EETEntryCZL."Fiscal Identification Code" := EETEntry."Fiscal Identification Code"; - EETEntryCZL."Receipt Serial No." := EETEntry."Receipt Serial No."; - EETEntryCZL."Total Sales Amount" := EETEntry."Total Sales Amount"; - EETEntryCZL."Amount Exempted From VAT" := EETEntry."Amount Exempted From VAT"; - EETEntryCZL."VAT Base (Basic)" := EETEntry."VAT Base (Basic)"; - EETEntryCZL."VAT Amount (Basic)" := EETEntry."VAT Amount (Basic)"; - EETEntryCZL."VAT Base (Reduced)" := EETEntry."VAT Base (Reduced)"; - EETEntryCZL."VAT Amount (Reduced)" := EETEntry."VAT Amount (Reduced)"; - EETEntryCZL."VAT Base (Reduced 2)" := EETEntry."VAT Base (Reduced 2)"; - EETEntryCZL."VAT Amount (Reduced 2)" := EETEntry."VAT Amount (Reduced 2)"; - EETEntryCZL."Amount - Art.89" := EETEntry."Amount - Art.89"; - EETEntryCZL."Amount (Basic) - Art.90" := EETEntry."Amount (Basic) - Art.90"; - EETEntryCZL."Amount (Reduced) - Art.90" := EETEntry."Amount (Reduced) - Art.90"; - EETEntryCZL."Amount (Reduced 2) - Art.90" := EETEntry."Amount (Reduced 2) - Art.90"; - EETEntryCZL."Amt. For Subseq. Draw/Settle" := EETEntry."Amt. For Subseq. Draw/Settle"; - EETEntryCZL."Amt. Subseq. Drawn/Settled" := EETEntry."Amt. Subseq. Drawn/Settled"; - EETEntryCZL."Canceled By Entry No." := EETEntry."Canceled By Entry No."; - EETEntryCZL."Simple Registration" := EETEntry."Simple Registration"; - EETEntryCZL.Modify(false); - until EETEntry.Next() = 0; - end; - - local procedure UpgradeEETEntryStatus() - var - EETEntryStatus: Record "EET Entry Status"; - EETEntryStatusLogCZL: Record "EET Entry Status Log CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerCompanyUpgradeTag()) then - exit; - - if EETEntryStatus.FindSet() then - repeat - if not EETEntryStatusLogCZL.Get(EETEntryStatus."Entry No.") then begin - EETEntryStatusLogCZL.Init(); - EETEntryStatusLogCZL."Entry No." := EETEntryStatus."Entry No."; - EETEntryStatusLogCZL.SystemId := EETEntryStatus.SystemId; - EETEntryStatusLogCZL.Insert(false, true); - end; - EETEntryStatusLogCZL."EET Entry No." := EETEntryStatus."EET Entry No."; - EETEntryStatusLogCZL.Description := EETEntryStatus.Description; - EETEntryStatusLogCZL.Status := "EET Status CZL".FromInteger(EETEntryStatus.Status); - EETEntryStatusLogCZL."Changed At" := EETEntryStatus."Change Datetime"; - EETEntryStatusLogCZL.Modify(false); - until EETEntryStatus.Next() = 0; - end; - - local procedure UpgradeConstantSymbol(); - var - ConstantSymbol: Record "Constant Symbol"; - ConstantSymbolCZL: Record "Constant Symbol CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if ConstantSymbol.FindSet() then - repeat - if not ConstantSymbolCZL.Get(ConstantSymbol.Code) then begin - ConstantSymbolCZL.Init(); - ConstantSymbolCZL.Code := ConstantSymbol.Code; - ConstantSymbolCZL.Description := ConstantSymbol.Description; - ConstantSymbolCZL.SystemId := ConstantSymbol.SystemId; - ConstantSymbolCZL.Insert(false, true); - end; - until ConstantSymbol.Next() = 0; - end; - - local procedure UpgradeShipmentMethod() - var - ShipmentMethod: Record "Shipment Method"; - ShipmentMethodDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ShipmentMethodDataTransfer.SetTables(Database::"Shipment Method", Database::"Shipment Method"); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Include Item Charges (Amount)"), ShipmentMethod.FieldNo("Incl. Item Charges (Amt.) CZL")); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Intrastat Delivery Group Code"), ShipmentMethod.FieldNo("Intrastat Deliv. Grp. Code CZL")); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Incl. Item Charges (Stat.Val.)"), ShipmentMethod.FieldNo("Incl. Item Charges (S.Val) CZL")); - ShipmentMethodDataTransfer.AddFieldValue(ShipmentMethod.FieldNo("Adjustment %"), ShipmentMethod.FieldNo("Adjustment % CZL")); - ShipmentMethodDataTransfer.CopyFields(); - end; - - local procedure UpgradeTariffNumber() - var - UnitOfMeasure: Record "Unit of Measure"; - TariffNumber: Record "Tariff Number"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - TariffNumber.SetLoadFields("Full Name ENG", "Description EN CZL", "Supplem. Unit of Measure Code", "Supplem. Unit of Measure Code"); - if TariffNumber.FindSet() then - repeat - TariffNumber."Description EN CZL" := CopyStr(TariffNumber."Full Name ENG", 1, MaxStrLen(TariffNumber."Description EN CZL")); - TariffNumber."Suppl. Unit of Meas. Code CZL" := TariffNumber."Supplem. Unit of Measure Code"; - TariffNumber."Supplementary Units" := UnitOfMeasure.Get(TariffNumber."Supplem. Unit of Measure Code"); - TariffNumber.Modify(false); - until TariffNumber.Next() = 0; - end; - - local procedure UpgradeStatisticIndication() - var - StatisticIndication: Record "Statistic Indication"; - StatisticIndicationCZL: Record "Statistic Indication CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - StatisticIndication.SetLoadFields(Code, "Full Name ENG"); - if StatisticIndication.FindSet() then - repeat - if StatisticIndicationCZL.Get(StatisticIndication.Code) then begin - StatisticIndicationCZL."Description EN" := CopyStr(StatisticIndication."Full Name ENG", 1, MaxStrLen(StatisticIndicationCZL."Description EN")); - StatisticIndicationCZL.Modify(false); - end; - until StatisticIndication.Next() = 0; - end; - - local procedure UpgradeSpecificMovement() - var - SpecificMovement: Record "Specific Movement"; - SpecificMovementCZL: Record "Specific Movement CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if SpecificMovement.FindSet() then - repeat - if not SpecificMovementCZL.Get(SpecificMovement.Code) then begin - SpecificMovementCZL.Init(); - SpecificMovementCZL.Code := SpecificMovement.Code; - SpecificMOvementCZL.SystemId := SpecificMovement.SystemId; - SpecificMovementCZL.Insert(false, true); - end; - SpecificMovementCZL.Description := SpecificMovement.Description; - SpecificMovementCZL.Modify(false); - until SpecificMovement.Next() = 0; - end; - - local procedure UpgradeIntrastatDeliveryGroup() - var - IntrastatDeliveryGroup: Record "Intrastat Delivery Group"; - IntrastatDeliveryGroupCZL: Record "Intrastat Delivery Group CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if IntrastatDeliveryGroup.FindSet() then - repeat - if not IntrastatDeliveryGroupCZL.Get(IntrastatDeliveryGroup.Code) then begin - IntrastatDeliveryGroupCZL.Init(); - IntrastatDeliveryGroupCZL.Code := IntrastatDeliveryGroup.Code; - IntrastatDeliveryGroupCZL.SystemId := IntrastatDeliveryGroup.SystemId; - IntrastatDeliveryGroupCZL.Insert(false, true); - end; - IntrastatDeliveryGroupCZL.Description := IntrastatDeliveryGroup.Description; - IntrastatDeliveryGroupCZL.Modify(false); - until IntrastatDeliveryGroup.Next() = 0; - end; - - local procedure UpgradeStatutoryReportingSetup(); - var - StatReportingSetup: Record "Stat. Reporting Setup"; - StatutoryReportingSetupCZL: Record "Statutory Reporting Setup CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - if not StatReportingSetup.Get() then - exit; - if not StatutoryReportingSetupCZL.Get() then - exit; - StatutoryReportingSetupCZL."Transaction Type Mandatory" := StatReportingSetup."Transaction Type Mandatory"; - StatutoryReportingSetupCZL."Transaction Spec. Mandatory" := StatReportingSetup."Transaction Spec. Mandatory"; - StatutoryReportingSetupCZL."Transport Method Mandatory" := StatReportingSetup."Transport Method Mandatory"; - StatutoryReportingSetupCZL."Shipment Method Mandatory" := StatReportingSetup."Shipment Method Mandatory"; - StatutoryReportingSetupCZL."Tariff No. Mandatory" := StatReportingSetup."Tariff No. Mandatory"; - StatutoryReportingSetupCZL."Net Weight Mandatory" := StatReportingSetup."Net Weight Mandatory"; - StatutoryReportingSetupCZL."Country/Region of Origin Mand." := StatReportingSetup."Country/Region of Origin Mand."; - StatutoryReportingSetupCZL."Get Tariff No. From" := "Intrastat Detail Source CZL".FromInteger(StatReportingSetup."Get Tariff No. From"); - StatutoryReportingSetupCZL."Get Net Weight From" := "Intrastat Detail Source CZL".FromInteger(StatReportingSetup."Get Net Weight From"); - StatutoryReportingSetupCZL."Get Country/Region of Origin" := "Intrastat Detail Source CZL".FromInteger(StatReportingSetup."Get Country/Region of Origin"); - StatutoryReportingSetupCZL."Intrastat Rounding Type" := StatReportingSetup."Intrastat Rounding Type"; - StatutoryReportingSetupCZL."No Item Charges in Intrastat" := StatReportingSetup."No Item Charges in Intrastat"; - StatutoryReportingSetupCZL."Intrastat Declaration Nos." := StatReportingSetup."Intrastat Declaration Nos."; - StatutoryReportingSetupCZL."Stat. Value Reporting" := StatReportingSetup."Stat. Value Reporting"; - StatutoryReportingSetupCZL."Cost Regulation %" := StatReportingSetup."Cost Regulation %"; - StatutoryReportingSetupCZL."Include other Period add.Costs" := StatReportingSetup."Include other Period add.Costs"; - StatutoryReportingSetupCZL.Modify(false); - end; - - local procedure UpgradeCustomer(); - var - Customer: Record Customer; - CustomerDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - CustomerDataTransfer.SetTables(Database::Customer, Database::Customer); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Transaction Type"), Customer.FieldNo("Transaction Type CZL")); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Transaction Specification"), Customer.FieldNo("Transaction Specification CZL")); - CustomerDataTransfer.AddFieldValue(Customer.FieldNo("Transport Method"), Customer.FieldNo("Transport Method CZL")); - CustomerDataTransfer.CopyFields(); - end; - - local procedure UpgradeVendor(); - var - Vendor: Record Vendor; - VendorDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - VendorDataTransfer.SetTables(Database::Vendor, Database::Vendor); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Transaction Type"), Vendor.FieldNo("Transaction Type CZL")); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Transaction Specification"), Vendor.FieldNo("Transaction Specification CZL")); - VendorDataTransfer.AddFieldValue(Vendor.FieldNo("Transport Method"), Vendor.FieldNo("Transport Method CZL")); - VendorDataTransfer.CopyFields(); - end; - - local procedure UpgradeItem(); - var - Item: Record Item; - ItemDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ItemDataTransfer.SetTables(Database::Item, Database::Item); - ItemDataTransfer.AddFieldValue(Item.FieldNo("Specific Movement"), Item.FieldNo("Specific Movement CZL")); - ItemDataTransfer.CopyFields(); - end; - - local procedure UpgradeUnitofMeasure(); - var - UnitofMeasure: Record "Unit of Measure"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - UnitofMeasure.SetLoadFields("Tariff Number UOM Code"); - if UnitofMeasure.FindSet(true) then - repeat - UnitofMeasure."Tariff Number UOM Code CZL" := CopyStr(UnitofMeasure."Tariff Number UOM Code", 1, 10); - UnitofMeasure.Modify(false); - until UnitofMeasure.Next() = 0; - end; - - local procedure UpgradeVATPostingSetup(); - var - VATPostingSetup: Record "VAT Posting Setup"; - VATPostingSetupDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - VATPostingSetupDataTransfer.SetTables(Database::"VAT Posting Setup", Database::"VAT Posting Setup"); - VATPostingSetupDataTransfer.AddFieldValue(VATPostingSetup.FieldNo("Intrastat Service"), VATPostingSetup.FieldNo("Intrastat Service CZL")); - VATPostingSetupDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesHeader(); - var - SalesHeader: Record "Sales Header"; - SalesHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - SalesHeaderDataTransfer.SetTables(Database::"Sales Header", Database::"Sales Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Specific Symbol"), SalesHeader.FieldNo("Specific Symbol CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Variable Symbol"), SalesHeader.FieldNo("Variable Symbol CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Constant Symbol"), SalesHeader.FieldNo("Constant Symbol CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Account Code"), SalesHeader.FieldNo("Bank Account Code CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Account No."), SalesHeader.FieldNo("Bank Account No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Branch No."), SalesHeader.FieldNo("Bank Branch No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Bank Name"), SalesHeader.FieldNo("Bank Name CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Transit No."), SalesHeader.FieldNo("Transit No. CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo(IBAN), SalesHeader.FieldNo("IBAN CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("SWIFT Code"), SalesHeader.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Physical Transfer"), SalesHeader.FieldNo("Physical Transfer CZL")); - SalesHeaderDataTransfer.AddFieldValue(SalesHeader.FieldNo("Intrastat Exclude"), SalesHeader.FieldNo("Intrastat Exclude CZL")); - end; - SalesHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesShipmentHeader(); - var - SalesShipmentHeader: Record "Sales Shipment Header"; - SalesShipmentHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - SalesShipmentHeaderDataTransfer.SetTables(Database::"Sales Shipment Header", Database::"Sales Shipment Header"); - SalesShipmentHeaderDataTransfer.AddFieldValue(SalesShipmentHeader.FieldNo("Physical Transfer"), SalesShipmentHeader.FieldNo("Physical Transfer CZL")); - SalesShipmentHeaderDataTransfer.AddFieldValue(SalesShipmentHeader.FieldNo("Intrastat Exclude"), SalesShipmentHeader.FieldNo("Intrastat Exclude CZL")); - SalesShipmentHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesInvoiceHeader(); - var - SalesInvoiceHeader: Record "Sales Invoice Header"; - SalesInvoiceHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - SalesInvoiceHeaderDataTransfer.SetTables(Database::"Sales Invoice Header", Database::"Sales Invoice Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Specific Symbol"), SalesInvoiceHeader.FieldNo("Specific Symbol CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Variable Symbol"), SalesInvoiceHeader.FieldNo("Variable Symbol CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Constant Symbol"), SalesInvoiceHeader.FieldNo("Constant Symbol CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Account Code"), SalesInvoiceHeader.FieldNo("Bank Account Code CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Account No."), SalesInvoiceHeader.FieldNo("Bank Account No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Branch No."), SalesInvoiceHeader.FieldNo("Bank Branch No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Bank Name"), SalesInvoiceHeader.FieldNo("Bank Name CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Transit No."), SalesInvoiceHeader.FieldNo("Transit No. CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo(IBAN), SalesInvoiceHeader.FieldNo("IBAN CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("SWIFT Code"), SalesInvoiceHeader.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Physical Transfer"), SalesInvoiceHeader.FieldNo("Physical Transfer CZL")); - SalesInvoiceHeaderDataTransfer.AddFieldValue(SalesInvoiceHeader.FieldNo("Intrastat Exclude"), SalesInvoiceHeader.FieldNo("Intrastat Exclude CZL")); - end; - SalesInvoiceHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesInvoiceLine(); - var - SalesInvoiceLine: Record "Sales Invoice Line"; - SalesInvoicelineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - SalesInvoicelineDataTransfer.SetTables(Database::"Sales Invoice Line", Database::"Sales Invoice Line"); - SalesInvoicelineDataTransfer.AddFieldValue(SalesInvoiceLine.FieldNo("Country/Region of Origin Code"), SalesInvoiceLine.FieldNo("Country/Reg. of Orig. Code CZL")); - SalesInvoicelineDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesCrMemoHeader(); - var - SalesCrMemoHeader: Record "Sales Cr.Memo Header"; - SalesCrMemoHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - SalesCrMemoHeaderDataTransfer.SetTables(Database::"Sales Cr.Memo Header", Database::"Sales Cr.Memo Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Specific Symbol"), SalesCrMemoHeader.FieldNo("Specific Symbol CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Variable Symbol"), SalesCrMemoHeader.FieldNo("Variable Symbol CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Constant Symbol"), SalesCrMemoHeader.FieldNo("Constant Symbol CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Account Code"), SalesCrMemoHeader.FieldNo("Bank Account Code CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Account No."), SalesCrMemoHeader.FieldNo("Bank Account No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Branch No."), SalesCrMemoHeader.FieldNo("Bank Branch No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Bank Name"), SalesCrMemoHeader.FieldNo("Bank Name CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Transit No."), SalesCrMemoHeader.FieldNo("Transit No. CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo(IBAN), SalesCrMemoHeader.FieldNo("IBAN CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("SWIFT Code"), SalesCrMemoHeader.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Physical Transfer"), SalesCrMemoHeader.FieldNo("Physical Transfer CZL")); - SalesCrMemoHeaderDataTransfer.AddFieldValue(SalesCrMemoHeader.FieldNo("Intrastat Exclude"), SalesCrMemoHeader.FieldNo("Intrastat Exclude CZL")); - end; - SalesCrMemoHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesCrMemoLine(); - var - SalesCrMemoLine: Record "Sales Cr.Memo Line"; - SalesCrMemoLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - SalesCrMemoLineDataTransfer.SetTables(Database::"Sales Cr.Memo Line", Database::"Sales Cr.Memo Line"); - SalesCrMemoLineDataTransfer.AddFieldValue(SalesCrMemoLine.FieldNo("Country/Region of Origin Code"), SalesCrMemoLine.FieldNo("Country/Reg. of Orig. Code CZL")); - SalesCrMemoLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesHeaderArchive(); - var - SalesHeaderArchive: Record "Sales Header Archive"; - SalesHeaderArchiveDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - SalesHeaderArchiveDataTransfer.SetTables(Database::"Sales Header Archive", Database::"Sales Header Archive"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Specific Symbol"), SalesHeaderArchive.FieldNo("Specific Symbol CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Variable Symbol"), SalesHeaderArchive.FieldNo("Variable Symbol CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Constant Symbol"), SalesHeaderArchive.FieldNo("Constant Symbol CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Bank Account Code"), SalesHeaderArchive.FieldNo("Bank Account Code CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Bank Account No."), SalesHeaderArchive.FieldNo("Bank Account No. CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Transit No."), SalesHeaderArchive.FieldNo("Transit No. CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo(IBAN), SalesHeaderArchive.FieldNo("IBAN CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("SWIFT Code"), SalesHeaderArchive.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Physical Transfer"), SalesHeaderArchive.FieldNo("Physical Transfer CZL")); - SalesHeaderArchiveDataTransfer.AddFieldValue(SalesHeaderArchive.FieldNo("Intrastat Exclude"), SalesHeaderArchive.FieldNo("Intrastat Exclude CZL")); - end; - SalesHeaderArchiveDataTransfer.CopyFields(); - end; - - local procedure UpgradeSalesLineArchive(); - var - SalesLineArchive: Record "Sales Line Archive"; - SalesLineArchiveDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - SalesLineArchiveDataTransfer.SetTables(Database::"Sales Line Archive", Database::"Sales Line Archive"); - SalesLineArchiveDataTransfer.AddFieldValue(SalesLineArchive.FieldNo("Physical Transfer"), SalesLineArchive.FieldNo("Physical Transfer CZL")); - SalesLineArchiveDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchaseHeader(); - var - PurchaseHeader: Record "Purchase Header"; - PurchaseHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - PurchaseHeaderDataTransfer.SetTables(Database::"Purchase Header", Database::"Purchase Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Specific Symbol"), PurchaseHeader.FieldNo("Specific Symbol CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Variable Symbol"), PurchaseHeader.FieldNo("Variable Symbol CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Constant Symbol"), PurchaseHeader.FieldNo("Constant Symbol CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Account Code"), PurchaseHeader.FieldNo("Bank Account Code CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Account No."), PurchaseHeader.FieldNo("Bank Account No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Branch No."), PurchaseHeader.FieldNo("Bank Branch No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Bank Name"), PurchaseHeader.FieldNo("Bank Name CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Transit No."), PurchaseHeader.FieldNo("Transit No. CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo(IBAN), PurchaseHeader.FieldNo("IBAN CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("SWIFT Code"), PurchaseHeader.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Physical Transfer"), PurchaseHeader.FieldNo("Physical Transfer CZL")); - PurchaseHeaderDataTransfer.AddFieldValue(PurchaseHeader.FieldNo("Intrastat Exclude"), PurchaseHeader.FieldNo("Intrastat Exclude CZL")); - end; - PurchaseHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchRcptHeader(); - var - PurchRcptHeader: Record "Purch. Rcpt. Header"; - PurchRcptHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - PurchRcptHeaderDataTransfer.SetTables(Database::"Purch. Rcpt. Header", Database::"Purch. Rcpt. Header"); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("Physical Transfer"), PurchRcptHeader.FieldNo("Physical Transfer CZL")); - PurchRcptHeaderDataTransfer.AddFieldValue(PurchRcptHeader.FieldNo("Intrastat Exclude"), PurchRcptHeader.FieldNo("Intrastat Exclude CZL")); - PurchRcptHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchRcptLine(); - var - PurchRcptLine: Record "Purch. Rcpt. Line"; - PurchRcptLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - PurchRcptLineDataTransfer.SetTables(Database::"Purch. Rcpt. Line", Database::"Purch. Rcpt. Line"); - PurchRcptLineDataTransfer.AddFieldValue(PurchRcptLine.FieldNo("Country/Region of Origin Code"), PurchRcptLine.FieldNo("Country/Reg. of Orig. Code CZL")); - PurchRcptLineDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchInvHeader(); - var - PurchInvHeader: Record "Purch. Inv. Header"; - PurchInvHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - PurchInvHeaderDataTransfer.SetTables(Database::"Purch. Inv. Header", Database::"Purch. Inv. Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Specific Symbol"), PurchInvHeader.FieldNo("Specific Symbol CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Variable Symbol"), PurchInvHeader.FieldNo("Variable Symbol CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Constant Symbol"), PurchInvHeader.FieldNo("Constant Symbol CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Bank Account Code"), PurchInvHeader.FieldNo("Bank Account Code CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Bank Account No."), PurchInvHeader.FieldNo("Bank Account No. CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Transit No."), PurchInvHeader.FieldNo("Transit No. CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo(IBAN), PurchInvHeader.FieldNo("IBAN CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("SWIFT Code"), PurchInvHeader.FieldNo("SWIFT Code CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("VAT Date"), PurchInvHeader.FieldNo("VAT Date CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Physical Transfer"), PurchInvHeader.FieldNo("Physical Transfer CZL")); - PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("Intrastat Exclude"), PurchInvHeader.FieldNo("Intrastat Exclude CZL")); - end; - PurchInvHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchInvLine(); - var - PurchInvLine: Record "Purch. Inv. Line"; - PurchInvLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - PurchInvLineDataTransfer.SetTables(Database::"Purch. Inv. Line", Database::"Purch. Inv. Line"); - PurchInvLineDataTransfer.AddFieldValue(PurchInvLine.FieldNo("Country/Region of Origin Code"), PurchInvLine.FieldNo("Country/Reg. of Orig. Code CZL")); - PurchInvLineDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchCrMemoHdr(); - var - PurchCrMemoHdr: Record "Purch. Cr. Memo Hdr."; - PurchCrMemoHdrDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - PurchCrMemoHdrDataTransfer.SetTables(Database::"Purch. Cr. Memo Hdr.", Database::"Purch. Cr. Memo Hdr."); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Specific Symbol"), PurchCrMemoHdr.FieldNo("Specific Symbol CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Variable Symbol"), PurchCrMemoHdr.FieldNo("Variable Symbol CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Constant Symbol"), PurchCrMemoHdr.FieldNo("Constant Symbol CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Bank Account Code"), PurchCrMemoHdr.FieldNo("Bank Account Code CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Bank Account No."), PurchCrMemoHdr.FieldNo("Bank Account No. CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Transit No."), PurchCrMemoHdr.FieldNo("Transit No. CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo(IBAN), PurchCrMemoHdr.FieldNo("IBAN CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("SWIFT Code"), PurchCrMemoHdr.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Physical Transfer"), PurchCrMemoHdr.FieldNo("Physical Transfer CZL")); - PurchCrMemoHdrDataTransfer.AddFieldValue(PurchCrMemoHdr.FieldNo("Intrastat Exclude"), PurchCrMemoHdr.FieldNo("Intrastat Exclude CZL")); - end; - PurchCrMemoHdrDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchCrMemoLine(); - var - PurchCrMemoLine: Record "Purch. Cr. Memo Line"; - PurchCrMemoLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - PurchCrMemoLineDataTransfer.SetTables(Database::"Purch. Cr. Memo Line", Database::"Purch. Cr. Memo Line"); - PurchCrMemoLineDataTransfer.AddFieldValue(PurchCrMemoLine.FieldNo("Country/Region of Origin Code"), PurchCrMemoLine.FieldNo("Country/Reg. of Orig. Code CZL")); - PurchCrMemoLineDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchaseHeaderArchive(); - var - PurchaseHeaderArchive: Record "Purchase Header Archive"; - PurchaseHeaderArchiveDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - PurchaseHeaderArchiveDataTransfer.SetTables(Database::"Purchase Header Archive", Database::"Purchase Header Archive"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Specific Symbol"), PurchaseHeaderArchive.FieldNo("Specific Symbol CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Variable Symbol"), PurchaseHeaderArchive.FieldNo("Variable Symbol CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Constant Symbol"), PurchaseHeaderArchive.FieldNo("Constant Symbol CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Bank Account Code"), PurchaseHeaderArchive.FieldNo("Bank Account Code CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Bank Account No."), PurchaseHeaderArchive.FieldNo("Bank Account No. CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Transit No."), PurchaseHeaderArchive.FieldNo("Transit No. CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo(IBAN), PurchaseHeaderArchive.FieldNo("IBAN CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("SWIFT Code"), PurchaseHeaderArchive.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Physical Transfer"), PurchaseHeaderArchive.FieldNo("Physical Transfer CZL")); - PurchaseHeaderArchiveDataTransfer.AddFieldValue(PurchaseHeaderArchive.FieldNo("Intrastat Exclude"), PurchaseHeaderArchive.FieldNo("Intrastat Exclude CZL")); - end; - PurchaseHeaderArchiveDataTransfer.CopyFields(); - end; - - local procedure UpgradePurchaseLineArchive(); - var - PurchaseLineArchive: Record "Purchase Line Archive"; - PurchaseLineArchiveDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - PurchaseLineArchiveDataTransfer.SetTables(Database::"Purchase Line Archive", Database::"Purchase Line Archive"); - PurchaseLineArchiveDataTransfer.AddFieldValue(PurchaseLineArchive.FieldNo("Physical Transfer"), PurchaseLineArchive.FieldNo("Physical Transfer CZL")); - PurchaseLineArchiveDataTransfer.CopyFields(); - end; - - local procedure UpgradeServiceHeader(); - var - ServiceHeader: Record "Service Header"; - ServiceHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - ServiceHeaderDataTransfer.SetTables(Database::"Service Header", Database::"Service Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Specific Symbol"), ServiceHeader.FieldNo("Specific Symbol CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Variable Symbol"), ServiceHeader.FieldNo("Variable Symbol CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Constant Symbol"), ServiceHeader.FieldNo("Constant Symbol CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Account Code"), ServiceHeader.FieldNo("Bank Account Code CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Account No."), ServiceHeader.FieldNo("Bank Account No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Branch No."), ServiceHeader.FieldNo("Bank Branch No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Bank Name"), ServiceHeader.FieldNo("Bank Name CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Transit No."), ServiceHeader.FieldNo("Transit No. CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo(IBAN), ServiceHeader.FieldNo("IBAN CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("SWIFT Code"), ServiceHeader.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Physical Transfer"), ServiceHeader.FieldNo("Physical Transfer CZL")); - ServiceHeaderDataTransfer.AddFieldValue(ServiceHeader.FieldNo("Intrastat Exclude"), ServiceHeader.FieldNo("Intrastat Exclude CZL")); - end; - ServiceHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeServiceShipmentHeader(); - var - ServiceShipmentHeader: Record "Service Shipment Header"; - ServiceShipmentHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ServiceShipmentHeaderDataTransfer.SetTables(Database::"Service Shipment Header", Database::"Service Shipment Header"); - ServiceShipmentHeaderDataTransfer.AddFieldValue(ServiceShipmentHeader.FieldNo("Physical Transfer"), ServiceShipmentHeader.FieldNo("Physical Transfer CZL")); - ServiceShipmentHeaderDataTransfer.AddFieldValue(ServiceShipmentHeader.FieldNo("Intrastat Exclude"), ServiceShipmentHeader.FieldNo("Intrastat Exclude CZL")); - ServiceShipmentHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeServiceInvoiceHeader(); - var - ServiceInvoiceHeader: Record "Service Invoice Header"; - ServiceInvoiceHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - ServiceInvoiceHeaderDataTransfer.SetTables(Database::"Service Invoice Header", Database::"Service Invoice Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Specific Symbol"), ServiceInvoiceHeader.FieldNo("Specific Symbol CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Variable Symbol"), ServiceInvoiceHeader.FieldNo("Variable Symbol CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Constant Symbol"), ServiceInvoiceHeader.FieldNo("Constant Symbol CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Account Code"), ServiceInvoiceHeader.FieldNo("Bank Account Code CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Account No."), ServiceInvoiceHeader.FieldNo("Bank Account No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Branch No."), ServiceInvoiceHeader.FieldNo("Bank Branch No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Bank Name"), ServiceInvoiceHeader.FieldNo("Bank Name CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Transit No."), ServiceInvoiceHeader.FieldNo("Transit No. CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo(IBAN), ServiceInvoiceHeader.FieldNo("IBAN CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("SWIFT Code"), ServiceInvoiceHeader.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Physical Transfer"), ServiceInvoiceHeader.FieldNo("Physical Transfer CZL")); - ServiceInvoiceHeaderDataTransfer.AddFieldValue(ServiceInvoiceHeader.FieldNo("Intrastat Exclude"), ServiceInvoiceHeader.FieldNo("Intrastat Exclude CZL")); - end; - ServiceInvoiceHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeServiceInvoiceLine(); - var - ServiceInvoiceLine: Record "Service Invoice Line"; - ServiceInvoiceLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ServiceInvoiceLineDataTransfer.SetTables(Database::"Service Invoice Line", Database::"Service Invoice Line"); - ServiceInvoiceLineDataTransfer.AddFieldValue(ServiceInvoiceLine.FieldNo("Country/Region of Origin Code"), ServiceInvoiceLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ServiceInvoiceLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeServiceCrMemoHeader(); - var - ServiceCrMemoHeader: Record "Service Cr.Memo Header"; - ServiceCrMemoHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) and - UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) - then - exit; - - ServiceCrMemoHeaderDataTransfer.SetTables(Database::"Service Cr.Memo Header", Database::"Service Cr.Memo Header"); - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then begin - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Specific Symbol"), ServiceCrMemoHeader.FieldNo("Specific Symbol CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Variable Symbol"), ServiceCrMemoHeader.FieldNo("Variable Symbol CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Constant Symbol"), ServiceCrMemoHeader.FieldNo("Constant Symbol CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Account Code"), ServiceCrMemoHeader.FieldNo("Bank Account Code CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Account No."), ServiceCrMemoHeader.FieldNo("Bank Account No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Branch No."), ServiceCrMemoHeader.FieldNo("Bank Branch No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Bank Name"), ServiceCrMemoHeader.FieldNo("Bank Name CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Transit No."), ServiceCrMemoHeader.FieldNo("Transit No. CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo(IBAN), ServiceCrMemoHeader.FieldNo("IBAN CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("SWIFT Code"), ServiceCrMemoHeader.FieldNo("SWIFT Code CZL")); - end; - if not UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then begin - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Physical Transfer"), ServiceCrMemoHeader.FieldNo("Physical Transfer CZL")); - ServiceCrMemoHeaderDataTransfer.AddFieldValue(ServiceCrMemoHeader.FieldNo("Intrastat Exclude"), ServiceCrMemoHeader.FieldNo("Intrastat Exclude CZL")); - end; - ServiceCrMemoHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeServiceCrMemoLine(); - var - ServiceCrMemoLine: Record "Service Cr.Memo Line"; - ServiceCrMemoLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ServiceCrMemoLineDataTransfer.SetTables(Database::"Service Cr.Memo Line", Database::"Service Cr.Memo Line"); - ServiceCrMemoLineDataTransfer.AddFieldValue(ServiceCrMemoLine.FieldNo("Country/Region of Origin Code"), ServiceCrMemoLine.FieldNo("Country/Reg. of Orig. Code CZL")); - ServiceCrMemoLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeReturnShipmentHeader(); - var - ReturnShipmentHeader: Record "Return Shipment Header"; - ReturnShipmentHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ReturnShipmentHeaderDataTransfer.SetTables(Database::"Return Shipment Header", Database::"Return Shipment Header"); - ReturnShipmentHeaderDataTransfer.AddFieldValue(ReturnShipmentHeader.FieldNo("Physical Transfer"), ReturnShipmentHeader.FieldNo("Physical Transfer CZL")); - ReturnShipmentHeaderDataTransfer.AddFieldValue(ReturnShipmentHeader.FieldNo("Intrastat Exclude"), ReturnShipmentHeader.FieldNo("Intrastat Exclude CZL")); - ReturnShipmentHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeReturnReceiptHeader(); - var - ReturnReceiptHeader: Record "Return Receipt Header"; - ReturnReceiptHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ReturnReceiptHeaderDataTransfer.SetTables(Database::"Return Receipt Header", Database::"Return Receipt Header"); - ReturnReceiptHeaderDataTransfer.AddFieldValue(ReturnReceiptHeader.FieldNo("Physical Transfer"), ReturnReceiptHeader.FieldNo("Physical Transfer CZL")); - ReturnReceiptHeaderDataTransfer.AddFieldValue(ReturnReceiptHeader.FieldNo("Intrastat Exclude"), ReturnReceiptHeader.FieldNo("Intrastat Exclude CZL")); - ReturnReceiptHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeTransferHeader(); - var - TransferHeader: Record "Transfer Header"; - TransferHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - TransferHeaderDataTransfer.SetTables(Database::"Transfer Header", Database::"Transfer Header"); - TransferHeaderDataTransfer.AddFieldValue(TransferHeader.FieldNo("Intrastat Exclude"), TransferHeader.FieldNo("Intrastat Exclude CZL")); - TransferHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeTransferLine(); - var - TransferLine: Record "Transfer Line"; - TransferLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - TransferLineDataTransfer.SetTables(Database::"Transfer Line", Database::"Transfer Line"); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Tariff No."), TransferLine.FieldNo("Tariff No. CZL")); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Statistic Indication"), TransferLine.FieldNo("Statistic Indication CZL")); - TransferLineDataTransfer.AddFieldValue(TransferLine.FieldNo("Country/Region of Origin Code"), TransferLine.FieldNo("Country/Reg. of Orig. Code CZL")); - TransferLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeTransferReceiptHeader(); - var - TransferReceiptHeader: Record "Transfer Receipt Header"; - TransferReceiptHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - TransferReceiptHeaderDataTransfer.SetTables(Database::"Transfer Receipt Header", Database::"Transfer Receipt Header"); - TransferReceiptHeaderDataTransfer.AddFieldValue(TransferReceiptHeader.FieldNo("Intrastat Exclude"), TransferReceiptHeader.FieldNo("Intrastat Exclude CZL")); - TransferReceiptHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeTransferShipmentHeader(); - var - TransferShipmentHeader: Record "Transfer Shipment Header"; - TransferShipmentHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - TransferShipmentHeaderDataTransfer.SetTables(Database::"Transfer Shipment Header", Database::"Transfer Shipment Header"); - TransferShipmentHeaderDataTransfer.AddFieldValue(TransferShipmentHeader.FieldNo("Intrastat Exclude"), TransferShipmentHeader.FieldNo("Intrastat Exclude CZL")); - TransferShipmentHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeItemLedgerEntry(); - var - ItemLedgerEntry: Record "Item Ledger Entry"; - ItemLedgerEntryDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ItemLedgerEntryDataTransfer.SetTables(Database::"Item Ledger Entry", Database::"Item Ledger Entry"); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Tariff No."), ItemLedgerEntry.FieldNo("Tariff No. CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Physical Transfer"), ItemLedgerEntry.FieldNo("Physical Transfer CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Net Weight"), ItemLedgerEntry.FieldNo("Net Weight CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Country/Region of Origin Code"), ItemLedgerEntry.FieldNo("Country/Reg. of Orig. Code CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Statistic Indication"), ItemLedgerEntry.FieldNo("Statistic Indication CZL")); - ItemLedgerEntryDataTransfer.AddFieldValue(ItemLedgerEntry.FieldNo("Intrastat Transaction"), ItemLedgerEntry.FieldNo("Intrastat Transaction CZL")); - ItemLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure UpgradeJobLedgerEntry(); - var - JobLedgerEntry: Record "Job Ledger Entry"; - JobLedgerEntryDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - JobLedgerEntryDataTransfer.SetTables(Database::"Job Ledger Entry", Database::"Job Ledger Entry"); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Tariff No."), JobLedgerEntry.FieldNo("Tariff No. CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Net Weight"), JobLedgerEntry.FieldNo("Net Weight CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Country/Region of Origin Code"), JobLedgerEntry.FieldNo("Country/Reg. of Orig. Code CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Statistic Indication"), JobLedgerEntry.FieldNo("Statistic Indication CZL")); - JobLedgerEntryDataTransfer.AddFieldValue(JobLedgerEntry.FieldNo("Intrastat Transaction"), JobLedgerEntry.FieldNo("Intrastat Transaction CZL")); - JobLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure UpgradeItemCharge(); - var - ItemCharge: Record "Item Charge"; - ItemChargeDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ItemChargeDataTransfer.SetTables(Database::"Item Charge", Database::"Item Charge"); - ItemChargeDataTransfer.AddFieldValue(ItemCharge.FieldNo("Incl. in Intrastat Amount"), ItemCharge.FieldNo("Incl. in Intrastat Amount CZL")); - ItemChargeDataTransfer.AddFieldValue(ItemCharge.FieldNo("Incl. in Intrastat Stat. Value"), ItemCharge.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemChargeDataTransfer.CopyFields(); - end; - - local procedure UpgradeItemChargeAssignmentPurch(); - var - ItemChargeAssignmentPurch: Record "Item Charge Assignment (Purch)"; - ItemChargeAssignmentPurchDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ItemChargeAssignmentPurchDataTransfer.SetTables(Database::"Item Charge Assignment (Purch)", Database::"Item Charge Assignment (Purch)"); - ItemChargeAssignmentPurchDataTransfer.AddFieldValue(ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat Amount"), ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat Amount CZL")); - ItemChargeAssignmentPurchDataTransfer.AddFieldValue(ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat Stat. Value"), ItemChargeAssignmentPurch.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemChargeAssignmentPurchDataTransfer.CopyFields(); - end; - - local procedure UpgradeItemChargeAssignmentSales(); - var - ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)"; - ItemChargeAssignmentSalesDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - ItemChargeAssignmentSalesDataTransfer.SetTables(Database::"Item Charge Assignment (Sales)", Database::"Item Charge Assignment (Sales)"); - ItemChargeAssignmentSalesDataTransfer.AddFieldValue(ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat Amount"), ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat Amount CZL")); - ItemChargeAssignmentSalesDataTransfer.AddFieldValue(ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat Stat. Value"), ItemChargeAssignmentSales.FieldNo("Incl. in Intrastat S.Value CZL")); - ItemChargeAssignmentSalesDataTransfer.CopyFields(); - end; - - local procedure UpgradePostedGenJournalLine(); - var - PostedGenJournalLine: Record "Posted Gen. Journal Line"; - PostedGenJournalLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - PostedGenJournalLineDataTransfer.SetTables(Database::"Posted Gen. Journal Line", Database::"Posted Gen. Journal Line"); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Specific Symbol"), PostedGenJournalLine.FieldNo("Specific Symbol CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Variable Symbol"), PostedGenJournalLine.FieldNo("Variable Symbol CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Constant Symbol"), PostedGenJournalLine.FieldNo("Constant Symbol CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Bank Account Code"), PostedGenJournalLine.FieldNo("Bank Account Code CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Bank Account No."), PostedGenJournalLine.FieldNo("Bank Account No. CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("Transit No."), PostedGenJournalLine.FieldNo("Transit No. CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo(IBAN), PostedGenJournalLine.FieldNo("IBAN CZL")); - PostedGenJournalLineDataTransfer.AddFieldValue(PostedGenJournalLine.FieldNo("SWIFT Code"), PostedGenJournalLine.FieldNo("SWIFT Code CZL")); - PostedGenJournalLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeIntrastatJournalBatch(); - var - IntrastatJnlBatch: Record "Intrastat Jnl. Batch"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - IntrastatJnlBatch.SetLoadFields("Declaration No.", "Statement Type"); - if IntrastatJnlBatch.FindSet(true) then - repeat - IntrastatJnlBatch."Declaration No. CZL" := IntrastatJnlBatch."Declaration No."; - IntrastatJnlBatch."Statement Type CZL" := "Intrastat Statement Type CZL".FromInteger(IntrastatJnlBatch."Statement Type"); - IntrastatJnlBatch.Modify(false); - until IntrastatJnlBatch.Next() = 0; - end; - - local procedure UpgradeIntrastatJournalLine(); - var - IntrastatJnlLine: Record "Intrastat Jnl. Line"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - IntrastatJnlLine.SetLoadFields("Additional Costs", "Source Entry Date", "Statistic Indication", "Statistics Period", "Declaration No.", "Statement Type", - "Prev. Declaration No.", "Prev. Declaration Line No.", "Specific Movement", "Supplem. UoM Code", "Supplem. UoM Quantity", - "Supplem. UoM Net Weight", "Base Unit of Measure"); - if IntrastatJnlLine.FindSet(true) then - repeat - IntrastatJnlLine."Additional Costs CZL" := IntrastatJnlLine."Additional Costs"; - IntrastatJnlLine."Source Entry Date CZL" := IntrastatJnlLine."Source Entry Date"; - IntrastatJnlLine."Statistic Indication CZL" := IntrastatJnlLine."Statistic Indication"; - IntrastatJnlLine."Statistics Period CZL" := IntrastatJnlLine."Statistics Period"; - IntrastatJnlLine."Declaration No. CZL" := IntrastatJnlLine."Declaration No."; - IntrastatJnlLine."Statement Type CZL" := "Intrastat Statement Type CZL".FromInteger(IntrastatJnlLine."Statement Type"); - IntrastatJnlLine."Prev. Declaration No. CZL" := IntrastatJnlLine."Prev. Declaration No."; - IntrastatJnlLine."Prev. Declaration Line No. CZL" := IntrastatJnlLine."Prev. Declaration Line No."; - IntrastatJnlLine."Specific Movement CZL" := IntrastatJnlLine."Specific Movement"; - IntrastatJnlLine."Supplem. UoM Code CZL" := IntrastatJnlLine."Supplem. UoM Code"; - IntrastatJnlLine."Supplem. UoM Quantity CZL" := IntrastatJnlLine."Supplem. UoM Quantity"; - IntrastatJnlLine."Supplem. UoM Net Weight CZL" := IntrastatJnlLine."Supplem. UoM Net Weight"; - IntrastatJnlLine."Base Unit of Measure CZL" := IntrastatJnlLine."Base Unit of Measure"; - IntrastatJnlLine.Modify(false); - until IntrastatJnlLine.Next() = 0; - end; - - local procedure UpgradeInventoryPostingSetup(); - var - InventoryPostingSetup: Record "Inventory Posting Setup"; - InventoryPostingSetupDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - InventoryPostingSetupDataTransfer.SetTables(Database::"Inventory Posting Setup", Database::"Inventory Posting Setup"); - InventoryPostingSetupDataTransfer.AddFieldValue(InventoryPostingSetup.FieldNo("Change In Inv.Of Product Acc."), InventoryPostingSetup.FieldNo("Change In Inv.OfProd. Acc. CZL")); - InventoryPostingSetupDataTransfer.AddFieldValue(InventoryPostingSetup.FieldNo("Change In Inv.Of WIP Acc."), InventoryPostingSetup.FieldNo("Change In Inv.Of WIP Acc. CZL")); - InventoryPostingSetupDataTransfer.AddFieldValue(InventoryPostingSetup.FieldNo("Consumption Account"), InventoryPostingSetup.FieldNo("Consumption Account CZL")); - InventoryPostingSetupDataTransfer.CopyFields(); - end; - - local procedure UpgradeGeneralPostingSetup(); - var - GeneralPostingSetup: Record "General Posting Setup"; - GeneralPostingSetupDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - GeneralPostingSetupDataTransfer.SetTables(Database::"General Posting Setup", Database::"General Posting Setup"); - GeneralPostingSetupDataTransfer.AddFieldValue(GeneralPostingSetup.FieldNo("Invt. Rounding Adj. Account"), GeneralPostingSetup.FieldNo("Invt. Rounding Adj. Acc. CZL")); - GeneralPostingSetupDataTransfer.CopyFields(); - end; - - local procedure UpgradeUserSetup(); - var - UserSetup: Record "User Setup"; - UserSetupDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - UserSetupDataTransfer.SetTables(Database::"User Setup", Database::"User Setup"); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Document Date(work date)"), UserSetup.FieldNo("Check Doc. Date(work date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Document Date(sys. date)"), UserSetup.FieldNo("Check Doc. Date(sys. date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Posting Date (work date)"), UserSetup.FieldNo("Check Post.Date(work date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Posting Date (sys. date)"), UserSetup.FieldNo("Check Post.Date(sys. date) CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Bank Accounts"), UserSetup.FieldNo("Check Bank Accounts CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Journal Templates"), UserSetup.FieldNo("Check Journal Templates CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Dimension Values"), UserSetup.FieldNo("Check Dimension Values CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow Posting to Closed Period"), UserSetup.FieldNo("Allow Post.toClosed Period CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow Complete Job"), UserSetup.FieldNo("Allow Complete Job CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Employee No."), UserSetup.FieldNo("Employee No. CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("User Name"), UserSetup.FieldNo("User Name CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Allow Item Unapply"), UserSetup.FieldNo("Allow Item Unapply CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Location Code"), UserSetup.FieldNo("Check Location Code CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Release Location Code"), UserSetup.FieldNo("Check Release LocationCode CZL")); - UserSetupDataTransfer.AddFieldValue(UserSetup.FieldNo("Check Whse. Net Change Temp."), UserSetup.FieldNo("Check Invt. Movement Temp. CZL")); - UserSetupDataTransfer.CopyFields(); - end; - - local procedure UpgradeUserSetupLine(); - var - UserSetupLine: Record "User Setup Line"; - UserSetupLineCZL: Record "User Setup Line CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - if UserSetupLine.FindSet() then - repeat - if not UserSetupLineCZL.Get(UserSetupLine."User ID", UserSetupLine.Type, UserSetupLine."Line No.") then begin - UserSetupLineCZL.Init(); - UserSetupLineCZL."User ID" := UserSetupLine."User ID"; - UserSetupLineCZL.Type := UserSetupLine.Type; - UserSetupLineCZL."Line No." := UserSetupLine."Line No."; - UserSetupLineCZL.SystemId := UserSetupLine.SystemId; - UserSetupLineCZL.Insert(false, true); - end; - UserSetupLineCZL."Code / Name" := UserSetupLine."Code / Name"; - UserSetupLineCZL.Modify(false); - until UserSetupLine.Next() = 0; - end; - - local procedure UpgradeAccScheduleLine(); - var - AccScheduleLine: Record "Acc. Schedule Line"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - AccScheduleLine.SetLoadFields("Source Table", "Totaling Type"); - if AccScheduleLine.FindSet(true) then - repeat - AccScheduleLine."Source Table CZL" := AccScheduleLine."Source Table"; - ConvertAccScheduleLineTotalingTypeEnumValues(AccScheduleLine); - AccScheduleLine.Modify(false); - until AccScheduleLine.Next() = 0; - end; - - local procedure ConvertAccScheduleLineTotalingTypeEnumValues(var AccScheduleLine: Record "Acc. Schedule Line"); - begin - if AccScheduleLine."Totaling Type" = 14 then //14 = AccScheduleLine.Type::Custom - AccScheduleLine."Totaling Type" := AccScheduleLine."Totaling Type"::"Custom CZL"; - if AccScheduleLine."Totaling Type" = 15 then //15 = AccScheduleLine.Type::Constant - AccScheduleLine."Totaling Type" := AccScheduleLine."Totaling Type"::"Constant CZL"; - end; - - local procedure UpgradeAccScheduleExtension(); - var - AccScheduleExtension: Record "Acc. Schedule Extension"; - AccScheduleExtensionCZL: Record "Acc. Schedule Extension CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - if AccScheduleExtension.FindSet() then - repeat - if not AccScheduleExtensionCZL.Get(AccScheduleExtension.Code) then begin - AccScheduleExtensionCZL.Init(); - AccScheduleExtensionCZL.Code := AccScheduleExtension.Code; - AccScheduleExtensionCZL.SystemId := AccScheduleExtension.SystemId; - AccScheduleExtensionCZL.Insert(false, true); - end; - AccScheduleExtensionCZL.Description := AccScheduleExtension.Description; - AccScheduleExtensionCZL."Source Table" := AccScheduleExtension."Source Table"; - AccScheduleExtensionCZL."Source Type" := AccScheduleExtension."Source Type"; - AccScheduleExtensionCZL."Source Filter" := AccScheduleExtension."Source Filter"; - AccScheduleExtensionCZL."G/L Account Filter" := AccScheduleExtension."G/L Account Filter"; - AccScheduleExtensionCZL."G/L Amount Type" := AccScheduleExtension."G/L Amount Type"; - AccScheduleExtensionCZL."Amount Sign" := AccScheduleExtension."Amount Sign"; - AccScheduleExtensionCZL."Entry Type" := AccScheduleExtension."Entry Type"; - AccScheduleExtensionCZL.Prepayment := AccScheduleExtension.Prepayment; - AccScheduleExtensionCZL."Reverse Sign" := AccScheduleExtension."Reverse Sign"; - AccScheduleExtensionCZL."VAT Amount Type" := AccScheduleExtension."VAT Amount Type"; - AccScheduleExtensionCZL."VAT Bus. Post. Group Filter" := AccScheduleExtension."VAT Bus. Post. Group Filter"; - AccScheduleExtensionCZL."VAT Prod. Post. Group Filter" := AccScheduleExtension."VAT Prod. Post. Group Filter"; - AccScheduleExtensionCZL."Location Filter" := AccScheduleExtension."Location Filter"; - AccScheduleExtensionCZL."Bin Filter" := AccScheduleExtension."Bin Filter"; - AccScheduleExtensionCZL."Posting Group Filter" := AccScheduleExtension."Posting Group Filter"; - AccScheduleExtensionCZL."Posting Date Filter" := AccScheduleExtension."Posting Date Filter"; - AccScheduleExtensionCZL."Due Date Filter" := AccScheduleExtension."Due Date Filter"; - AccScheduleExtensionCZL."Document Type Filter" := AccScheduleExtension."Document Type Filter"; - AccScheduleExtensionCZL.Modify(false); - until AccScheduleExtension.Next() = 0; - end; - - local procedure UpgradeAccScheduleResultLine(); - var - AccScheduleResultLine: Record "Acc. Schedule Result Line"; - AccScheduleResultLineCZL: Record "Acc. Schedule Result Line CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - if AccScheduleResultLine.FindSet() then - repeat - if not AccScheduleResultLineCZL.Get(AccScheduleResultLine."Result Code", AccScheduleResultLine."Line No.") then begin - AccScheduleResultLineCZL.Init(); - AccScheduleResultLineCZL."Result Code" := AccScheduleResultLine."Result Code"; - AccScheduleResultLineCZL."Line No." := AccScheduleResultLine."Line No."; - AccScheduleResultLineCZL.SystemId := AccScheduleResultLine.SystemId; - AccScheduleResultLineCZL.Insert(false, true); - end; - AccScheduleResultLineCZL."Row No." := AccScheduleResultLine."Row No."; - AccScheduleResultLineCZL.Description := AccScheduleResultLine.Description; - AccScheduleResultLineCZL.Totaling := AccScheduleResultLine.Totaling; - AccScheduleResultLineCZL."Totaling Type" := AccScheduleResultLine."Totaling Type"; - AccScheduleResultLineCZL."New Page" := AccScheduleResultLine."New Page"; - AccScheduleResultLineCZL.Show := AccScheduleResultLine.Show; - AccScheduleResultLineCZL.Bold := AccScheduleResultLine.Bold; - AccScheduleResultLineCZL.Italic := AccScheduleResultLine.Italic; - AccScheduleResultLineCZL.Underline := AccScheduleResultLine.Underline; - AccScheduleResultLineCZL."Show Opposite Sign" := AccScheduleResultLine."Show Opposite Sign"; - AccScheduleResultLineCZL."Row Type" := AccScheduleResultLine."Row Type"; - AccScheduleResultLineCZL."Amount Type" := AccScheduleResultLine."Amount Type"; - AccScheduleResultLineCZL.Modify(false); - until AccScheduleResultLine.Next() = 0; - end; - - local procedure UpgradeAccScheduleResultColumn(); - var - AccScheduleResultColumn: Record "Acc. Schedule Result Column"; - AccScheduleResultColCZL: Record "Acc. Schedule Result Col. CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - if AccScheduleResultColumn.FindSet() then - repeat - if not AccScheduleResultColCZL.Get(AccScheduleResultColumn."Result Code", AccScheduleResultColumn."Line No.") then begin - AccScheduleResultColCZL.Init(); - AccScheduleResultColCZL."Result Code" := AccScheduleResultColumn."Result Code"; - AccScheduleResultColCZL."Line No." := AccScheduleResultColumn."Line No."; - AccScheduleResultColCZL.SystemId := AccScheduleResultColumn.SystemId; - AccScheduleResultColCZL.Insert(false, true); - end; - AccScheduleResultColCZL."Column No." := AccScheduleResultColumn."Column No."; - AccScheduleResultColCZL."Column Header" := AccScheduleResultColumn."Column Header"; - AccScheduleResultColCZL."Column Type" := AccScheduleResultColumn."Column Type"; - AccScheduleResultColCZL."Ledger Entry Type" := AccScheduleResultColumn."Ledger Entry Type"; - AccScheduleResultColCZL."Amount Type" := AccScheduleResultColumn."Amount Type"; - AccScheduleResultColCZL.Formula := AccScheduleResultColumn.Formula; - AccScheduleResultColCZL."Comparison Date Formula" := AccScheduleResultColumn."Comparison Date Formula"; - AccScheduleResultColCZL."Show Opposite Sign" := AccScheduleResultColumn."Show Opposite Sign"; - AccScheduleResultColCZL.Show := AccScheduleResultColumn.Show; - AccScheduleResultColCZL."Rounding Factor" := AccScheduleResultColumn."Rounding Factor"; - AccScheduleResultColCZL."Comparison Period Formula" := AccScheduleResultColumn."Comparison Period Formula"; - AccScheduleResultColCZL.Modify(false); - until AccScheduleResultColumn.Next() = 0; - end; - - local procedure UpgradeAccScheduleResultValue(); - var - AccScheduleResultValue: Record "Acc. Schedule Result Value"; - AccScheduleResultValueCZL: Record "Acc. Schedule Result Value CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - if AccScheduleResultValue.FindSet() then - repeat - if not AccScheduleResultValueCZL.Get(AccScheduleResultValue."Result Code", AccScheduleResultValue."Row No.", AccScheduleResultValue."Column No.") then begin - AccScheduleResultValueCZL.Init(); - AccScheduleResultValueCZL."Result Code" := AccScheduleResultValue."Result Code"; - AccScheduleResultValueCZL."Row No." := AccScheduleResultValue."Row No."; - AccScheduleResultValueCZL."Column No." := AccScheduleResultValue."Column No."; - AccScheduleResultValueCZL.SystemId := AccScheduleResultValue.SystemId; - AccScheduleResultValueCZL.Insert(false, true); - end; - AccScheduleResultValueCZL.Value := AccScheduleResultValue.Value; - AccScheduleResultValueCZL.Modify(false); - until AccScheduleResultValue.Next() = 0; - end; - - local procedure UpgradeAccScheduleResultHeader(); - var - AccScheduleResultHeader: Record "Acc. Schedule Result Header"; - AccScheduleResultHdrCZL: Record "Acc. Schedule Result Hdr. CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - if AccScheduleResultHeader.FindSet() then - repeat - if not AccScheduleResultHdrCZL.Get(AccScheduleResultHeader."Result Code") then begin - AccScheduleResultHdrCZL.Init(); - AccScheduleResultHdrCZL."Result Code" := AccScheduleResultHeader."Result Code"; - AccScheduleResultHdrCZL.SystemId := AccScheduleResultHeader.SystemId; - AccScheduleResultHdrCZL.Insert(false, true); - end; - AccScheduleResultHdrCZL.Description := AccScheduleResultHeader.Description; - AccScheduleResultHdrCZL."Date Filter" := AccScheduleResultHeader."Date Filter"; - AccScheduleResultHdrCZL."Acc. Schedule Name" := AccScheduleResultHeader."Acc. Schedule Name"; - AccScheduleResultHdrCZL."Column Layout Name" := AccScheduleResultHeader."Column Layout Name"; - AccScheduleResultHdrCZL."Dimension 1 Filter" := AccScheduleResultHeader."Dimension 1 Filter"; - AccScheduleResultHdrCZL."Dimension 2 Filter" := AccScheduleResultHeader."Dimension 2 Filter"; - AccScheduleResultHdrCZL."Dimension 3 Filter" := AccScheduleResultHeader."Dimension 3 Filter"; - AccScheduleResultHdrCZL."Dimension 4 Filter" := AccScheduleResultHeader."Dimension 4 Filter"; - AccScheduleResultHdrCZL."User ID" := AccScheduleResultHeader."User ID"; - AccScheduleResultHdrCZL."Result Date" := AccScheduleResultHeader."Result Date"; - AccScheduleResultHdrCZL."Result Time" := AccScheduleResultHeader."Result Time"; - AccScheduleResultHdrCZL.Modify(false); - until AccScheduleResultHeader.Next() = 0; - end; - - local procedure UpgradeAccScheduleResultHistory(); - var - AccScheduleResultHistory: Record "Acc. Schedule Result History"; - AccScheduleResultHistCZL: Record "Acc. Schedule Result Hist. CZL"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerCompanyUpgradeTag()) then - exit; - - if AccScheduleResultHistory.FindSet() then - repeat - if not AccScheduleResultHistCZL.Get(AccScheduleResultHistory."Result Code", AccScheduleResultHistory."Row No.", - AccScheduleResultHistory."Column No.", AccScheduleResultHistory."Variant No.") then begin - AccScheduleResultHistCZL.Init(); - AccScheduleResultHistCZL."Result Code" := AccScheduleResultHistory."Result Code"; - AccScheduleResultHistCZL."Row No." := AccScheduleResultHistory."Row No."; - AccScheduleResultHistCZL."Column No." := AccScheduleResultHistory."Column No."; - AccScheduleResultHistCZL."Variant No." := AccScheduleResultHistory."Variant No."; - AccScheduleResultHistCZL.SystemId := AccScheduleResultHistory.SystemId; - AccScheduleResultHistCZL.Insert(false, true); - end; - AccScheduleResultHistCZL."New Value" := AccScheduleResultHistory."New Value"; - AccScheduleResultHistCZL."Old Value" := AccScheduleResultHistory."Old Value"; - AccScheduleResultHistCZL."User ID" := AccScheduleResultHistory."User ID"; - AccScheduleResultHistCZL."Modified DateTime" := AccScheduleResultHistory."Modified DateTime"; - AccScheduleResultHistCZL.Modify(false); - until AccScheduleResultHistory.Next() = 0; - end; - - local procedure UpgradeGenJournalTemplate(); - var - GenJournalTemplate: Record "Gen. Journal Template"; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - GenJournalTemplate.SetLoadFields("Not Check Doc. Type"); - GenJournalTemplate.SetRange("Not Check Doc. Type", true); - if GenJournalTemplate.FindSet() then - repeat - GenJournalTemplate."Not Check Doc. Type CZL" := GenJournalTemplate."Not Check Doc. Type"; - GenJournalTemplate.Modify(false); - until GenJournalTemplate.Next() = 0; - end; - - local procedure UpgradeVATEntry(); - var - VATEntry: Record "VAT Entry"; - VATEntryDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerCompanyUpgradeTag()) then - exit; - - VATEntryDataTransfer.SetTables(Database::"VAT Entry", Database::"VAT Entry"); - VATEntryDataTransfer.AddSourceFilter(VATEntry.FieldNo("VAT Identifier"), '<>%1', ''); - VATEntryDataTransfer.AddFieldValue(VATEntry.FieldNo("VAT Identifier"), VATEntry.FieldNo("VAT Identifier CZL")); - VATEntryDataTransfer.CopyFields(); - end; - - local procedure UpgradeCustLedgerEntry(); - var - CustLedgerEntry: Record "Cust. Ledger Entry"; - CustLedgerEntryDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then - exit; - - CustLedgerEntryDataTransfer.SetTables(Database::"Cust. Ledger Entry", Database::"Cust. Ledger Entry"); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Specific Symbol"), CustLedgerEntry.FieldNo("Specific Symbol CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Variable Symbol"), CustLedgerEntry.FieldNo("Variable Symbol CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Constant Symbol"), CustLedgerEntry.FieldNo("Constant Symbol CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Bank Account Code"), CustLedgerEntry.FieldNo("Bank Account Code CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Bank Account No."), CustLedgerEntry.FieldNo("Bank Account No. CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("Transit No."), CustLedgerEntry.FieldNo("Transit No. CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo(IBAN), CustLedgerEntry.FieldNo("IBAN CZL")); - CustLedgerEntryDataTransfer.AddFieldValue(CustLedgerEntry.FieldNo("SWIFT Code"), CustLedgerEntry.FieldNo("SWIFT Code CZL")); - CustLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure UpgradeVendLedgerEntry(); - var - VendorLedgerEntry: Record "Vendor Ledger Entry"; - VendorLedgerEntryDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then - exit; - - VendorLedgerEntryDataTransfer.SetTables(Database::"Vendor Ledger Entry", Database::"Vendor Ledger Entry"); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Specific Symbol"), VendorLedgerEntry.FieldNo("Specific Symbol CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Variable Symbol"), VendorLedgerEntry.FieldNo("Variable Symbol CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Constant Symbol"), VendorLedgerEntry.FieldNo("Constant Symbol CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Bank Account Code"), VendorLedgerEntry.FieldNo("Bank Account Code CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Bank Account No."), VendorLedgerEntry.FieldNo("Bank Account No. CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("Transit No."), VendorLedgerEntry.FieldNo("Transit No. CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo(IBAN), VendorLedgerEntry.FieldNo("IBAN CZL")); - VendorLedgerEntryDataTransfer.AddFieldValue(VendorLedgerEntry.FieldNo("SWIFT Code"), VendorLedgerEntry.FieldNo("SWIFT Code CZL")); - VendorLedgerEntryDataTransfer.CopyFields(); - end; - - local procedure UpgradeGenJournalLine(); - var - GenJournalLine: Record "Gen. Journal Line"; - GenJournalLineDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then - exit; - - GenJournalLineDataTransfer.SetTables(Database::"Gen. Journal Line", Database::"Gen. Journal Line"); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Specific Symbol"), GenJournalLine.FieldNo("Specific Symbol CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Variable Symbol"), GenJournalLine.FieldNo("Variable Symbol CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Constant Symbol"), GenJournalLine.FieldNo("Constant Symbol CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Bank Account Code"), GenJournalLine.FieldNo("Bank Account Code CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Bank Account No."), GenJournalLine.FieldNo("Bank Account No. CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("Transit No."), GenJournalLine.FieldNo("Transit No. CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo(IBAN), GenJournalLine.FieldNo("IBAN CZL")); - GenJournalLineDataTransfer.AddFieldValue(GenJournalLine.FieldNo("SWIFT Code"), GenJournalLine.FieldNo("SWIFT Code CZL")); - GenJournalLineDataTransfer.CopyFields(); - end; - - local procedure UpgradeReminderHeader(); - var - ReminderHeader: Record "Reminder Header"; - ReminderHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then - exit; - - ReminderHeaderDataTransfer.SetTables(Database::"Reminder Header", Database::"Reminder Header"); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Specific Symbol"), ReminderHeader.FieldNo("Specific Symbol CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Variable Symbol"), ReminderHeader.FieldNo("Variable Symbol CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Constant Symbol"), ReminderHeader.FieldNo("Constant Symbol CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank No."), ReminderHeader.FieldNo("Bank Account Code CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank Account No."), ReminderHeader.FieldNo("Bank Account No. CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank Branch No."), ReminderHeader.FieldNo("Bank Branch No. CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Bank Name"), ReminderHeader.FieldNo("Bank Name CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("Transit No."), ReminderHeader.FieldNo("Transit No. CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo(IBAN), ReminderHeader.FieldNo("IBAN CZL")); - ReminderHeaderDataTransfer.AddFieldValue(ReminderHeader.FieldNo("SWIFT Code"), ReminderHeader.FieldNo("SWIFT Code CZL")); - ReminderHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeIssuedReminderHeader(); - var - IssuedReminderHeader: Record "Issued Reminder Header"; - IssuedReminderHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then - exit; - - IssuedReminderHeaderDataTransfer.SetTables(Database::"Issued Reminder Header", Database::"Issued Reminder Header"); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Specific Symbol"), IssuedReminderHeader.FieldNo("Specific Symbol CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Variable Symbol"), IssuedReminderHeader.FieldNo("Variable Symbol CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Constant Symbol"), IssuedReminderHeader.FieldNo("Constant Symbol CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Bank No."), IssuedReminderHeader.FieldNo("Bank Account Code CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Bank Account No."), IssuedReminderHeader.FieldNo("Bank Account No. CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Bank Branch No."), IssuedReminderHeader.FieldNo("Bank Branch No. CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Bank Name"), IssuedReminderHeader.FieldNo("Bank Name CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("Transit No."), IssuedReminderHeader.FieldNo("Transit No. CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo(IBAN), IssuedReminderHeader.FieldNo("IBAN CZL")); - IssuedReminderHeaderDataTransfer.AddFieldValue(IssuedReminderHeader.FieldNo("SWIFT Code"), IssuedReminderHeader.FieldNo("SWIFT Code CZL")); - IssuedReminderHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeFinanceChargeMemoHeader(); - var - FinanceChargeMemoHeader: Record "Finance Charge Memo Header"; - FinanceChargeMemoHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then - exit; - - FinanceChargeMemoHeaderDataTransfer.SetTables(Database::"Finance Charge Memo Header", Database::"Finance Charge Memo Header"); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Specific Symbol"), FinanceChargeMemoHeader.FieldNo("Specific Symbol CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Variable Symbol"), FinanceChargeMemoHeader.FieldNo("Variable Symbol CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Constant Symbol"), FinanceChargeMemoHeader.FieldNo("Constant Symbol CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank No."), FinanceChargeMemoHeader.FieldNo("Bank Account Code CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank Account No."), FinanceChargeMemoHeader.FieldNo("Bank Account No. CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank Branch No."), FinanceChargeMemoHeader.FieldNo("Bank Branch No. CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Bank Name"), FinanceChargeMemoHeader.FieldNo("Bank Name CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("Transit No."), FinanceChargeMemoHeader.FieldNo("Transit No. CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo(IBAN), FinanceChargeMemoHeader.FieldNo("IBAN CZL")); - FinanceChargeMemoHeaderDataTransfer.AddFieldValue(FinanceChargeMemoHeader.FieldNo("SWIFT Code"), FinanceChargeMemoHeader.FieldNo("SWIFT Code CZL")); - FinanceChargeMemoHeaderDataTransfer.CopyFields(); - end; - - local procedure UpgradeIssuedFinanceChargeMemoHeader(); - var - IssuedFinChargeMemoHeader: Record "Issued Fin. Charge Memo Header"; - IssuedFinChargeMemoHeaderDataTransfer: DataTransfer; - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion189PerCompanyUpgradeTag()) then - exit; - - IssuedFinChargeMemoHeaderDataTransfer.SetTables(Database::"Issued Fin. Charge Memo Header", Database::"Issued Fin. Charge Memo Header"); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Specific Symbol"), IssuedFinChargeMemoHeader.FieldNo("Specific Symbol CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Variable Symbol"), IssuedFinChargeMemoHeader.FieldNo("Variable Symbol CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Constant Symbol"), IssuedFinChargeMemoHeader.FieldNo("Constant Symbol CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank No."), IssuedFinChargeMemoHeader.FieldNo("Bank Account Code CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank Account No."), IssuedFinChargeMemoHeader.FieldNo("Bank Account No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank Branch No."), IssuedFinChargeMemoHeader.FieldNo("Bank Branch No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Bank Name"), IssuedFinChargeMemoHeader.FieldNo("Bank Name CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("Transit No."), IssuedFinChargeMemoHeader.FieldNo("Transit No. CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo(IBAN), IssuedFinChargeMemoHeader.FieldNo("IBAN CZL")); - IssuedFinChargeMemoHeaderDataTransfer.AddFieldValue(IssuedFinChargeMemoHeader.FieldNo("SWIFT Code"), IssuedFinChargeMemoHeader.FieldNo("SWIFT Code CZL")); - IssuedFinChargeMemoHeaderDataTransfer.CopyFields(); - end; - local procedure UpgradeReplaceVATDateCZL() begin UpgradeReplaceVATDateCZLVATEntries(); @@ -2441,7 +489,6 @@ codeunit 31017 "Upgrade Application CZL" PurchaseHeader: Record "Purchase Header"; PurchCrMemoHdr: Record "Purch. Cr. Memo Hdr."; PurchInvHeader: Record "Purch. Inv. Header"; - VATStatementLine: Record "VAT Statement Line"; PurchCrMemoHdrDataTransfer: DataTransfer; PurchInvHeaderDataTransfer: DataTransfer; PurchHeaderDataTransfer: DataTransfer; @@ -2461,78 +508,14 @@ codeunit 31017 "Upgrade Application CZL" PurchInvHeaderDataTransfer.AddFieldValue(PurchInvHeader.FieldNo("EU 3-Party Trade CZL"), PurchInvHeader.FieldNo("EU 3 Party Trade")); PurchInvHeaderDataTransfer.CopyFields(); - if VATStatementLine.FindSet() then - repeat - case VATStatementLine."EU-3 Party Trade" of - VATStatementLine."EU-3 Party Trade"::" ": - VATStatementLine."EU 3 Party Trade" := VATStatementLine."EU 3 Party Trade"::All; - VATStatementLine."EU-3 Party Trade"::Yes: - VATStatementLine."EU 3 Party Trade" := VATStatementLine."EU 3 Party Trade"::EU3; - VATStatementLine."EU-3 Party Trade"::No: - VATStatementLine."EU 3 Party Trade" := VATStatementLine."EU 3 Party Trade"::"non-EU3"; - end; - VATStatementLine.Modify(false); - until VATStatementLine.Next() = 0; - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitionsCZL.GetEU3PartyTradePurchaseUpgradeTag()); end; local procedure UpgradePermission() begin - UpgradePermissionVersion174(); - UpgradePermissionVersion180(); - UpgradePermissionVersion190(); UpgradePermissionReplaceAllowAlterPostingGroups(); end; - local procedure UpgradePermissionVersion174() - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerDatabaseUpgradeTag()) then - exit; - - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Certificate CZ Code", Database::"Certificate Code CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Business Premises", Database::"EET Business Premises CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Cash Register", Database::"EET Cash Register CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Entry", Database::"EET Entry CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Entry Status", Database::"EET Entry Status Log CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"EET Service Setup", Database::"EET Service Setup CZL"); - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion174PerDatabaseUpgradeTag()); - end; - - local procedure UpgradePermissionVersion180() - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerDatabaseUpgradeTag()) then - exit; - - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Subst. Customer Posting Group", Database::"Subst. Cust. Posting Group CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Subst. Vendor Posting Group", Database::"Subst. Vend. Posting Group CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Constant Symbol", Database::"Constant Symbol CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Specific Movement", Database::"Specific Movement CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Intrastat Delivery Group", Database::"Intrastat Delivery Group CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"User Setup Line", Database::"User Setup Line CZL"); - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion180PerDatabaseUpgradeTag()); - end; - - local procedure UpgradePermissionVersion190() - begin - if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerDatabaseUpgradeTag()) then - exit; - - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Extension", Database::"Acc. Schedule Extension CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Line", Database::"Acc. Schedule Result Line CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Column", Database::"Acc. Schedule Result Col. CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Value", Database::"Acc. Schedule Result Value CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result Header", Database::"Acc. Schedule Result Hdr. CZL"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Acc. Schedule Result History", Database::"Acc. Schedule Result Hist. CZL"); - - UpgradeTag.SetUpgradeTag(UpgradeTagDefinitionsCZL.GetDataVersion183PerDatabaseUpgradeTag()); - end; - local procedure UpgradePermissionReplaceAllowAlterPostingGroups() begin if UpgradeTag.HasUpgradeTag(UpgradeTagDefinitionsCZL.GetReplaceAllowAlterPostingGroupsPermissionUpgradeTag()) then diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandlerCZL.Codeunit.al b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandlerCZL.Codeunit.al index 094b7a4619..8f989b5832 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandlerCZL.Codeunit.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Codeunits/VATCurrFactorHandlerCZL.Codeunit.al @@ -7,23 +7,11 @@ namespace Microsoft.Finance.VAT.Calculation; using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Finance.GeneralLedger.Posting; using Microsoft.Finance.VAT.Ledger; -using Microsoft.Finance.VAT.Setup; using Microsoft.Service.Contract; using Microsoft.Service.Document; codeunit 11779 "VAT Curr. Factor Handler CZL" { - [EventSubscriber(ObjectType::Report, Report::"Copy - VAT Posting Setup", 'OnAfterCopyVATPostingSetup', '', false, false)] - local procedure CopyCZLfieldsOnAfterCopyVATPostingSetup(var VATPostingSetup: Record "VAT Posting Setup"; FromVATPostingSetup: Record "VAT Posting Setup"; Sales: Boolean; Purch: Boolean) - begin - if Sales then - VATPostingSetup."Sales VAT Curr. Exch. Acc CZL" := FromVATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; - if Purch then - VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL" := FromVATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; - VATPostingSetup."VIES Purchase CZL" := FromVATPostingSetup."VIES Purchase CZL"; - VATPostingSetup."VIES Sales CZL" := FromVATPostingSetup."VIES Sales CZL"; - end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::ServContractManagement, 'OnBeforeServHeaderModify', '', false, false)] local procedure CurrencyFactorToVATCurrencyFactorOnBeforeServHeaderModify(var ServiceHeader: Record "Service Header") begin diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetupCZL.Page.al b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetupCZL.Page.al index 5b4f914355..3f42d14d7a 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetupCZL.Page.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Pages/StatutoryReportingSetupCZL.Page.al @@ -4,7 +4,6 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Foundation.Company; -using System.Reflection; using Microsoft.Finance.VAT.Reporting; page 31108 "Statutory Reporting Setup CZL" @@ -299,7 +298,6 @@ page 31108 "Statutory Reporting Setup CZL" field("VIES Declaration Report No."; Rec."VIES Declaration Report No.") { ApplicationArea = Basic, Suite; - LookupPageId = Objects; ToolTip = 'Specifies the object number for VIES declaration report.'; } field("VIES Declaration Report Name"; Rec."VIES Declaration Report Name") @@ -310,7 +308,6 @@ page 31108 "Statutory Reporting Setup CZL" field("VIES Declaration Export No."; Rec."VIES Declaration Export No.") { ApplicationArea = Basic, Suite; - LookupPageId = Objects; ToolTip = 'Specifies the object number for VIES declaration export.'; } field("VIES Declaration Export Name"; Rec."VIES Declaration Export Name") diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetupCZL.ReportExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetupCZL.ReportExt.al index c81614ea4f..3b0441db67 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetupCZL.ReportExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/ReportExtensions/CopyVATPostingSetupCZL.ReportExt.al @@ -12,10 +12,29 @@ reportextension 11700 "Copy - VAT Posting Setup CZL" extends "Copy - VAT Posting { trigger OnBeforeAfterGetRecord() begin + VATPostingSetup.Find(); + Description := VATPostingSetup.Description; + if VATSetup then begin + "Reverse Charge Check CZL" := VATPostingSetup."Reverse Charge Check CZL"; + "VAT Coeff. Corr. Account CZL" := VATPostingSetup."VAT Coeff. Corr. Account CZL"; + "VAT Rate CZL" := VATPostingSetup."VAT Rate CZL"; + "Supplies Mode Code CZL" := VATPostingSetup."Supplies Mode Code CZL"; + "Ratio Coefficient CZL" := VATPostingSetup."Ratio Coefficient CZL"; + "Corrections Bad Receivable CZL" := VATPostingSetup."Corrections Bad Receivable CZL"; + "VAT LCY Corr. Rounding Acc.CZL" := VATPostingSetup."VAT LCY Corr. Rounding Acc.CZL"; + end; + if Sales then + "Sales VAT Curr. Exch. Acc CZL" := VATPostingSetup."Sales VAT Curr. Exch. Acc CZL"; + if Purch then + "Purch. VAT Curr. Exch. Acc CZL" := VATPostingSetup."Purch. VAT Curr. Exch. Acc CZL"; + if VIESCZL then begin + "VIES Purchase CZL" := VATPostingSetup."VIES Purchase CZL"; + "VIES Sales CZL" := VATPostingSetup."VIES Sales CZL"; + end; if VATSetup or VIESCZL then begin - VATPostingSetup.Find(); "VAT Clause Code" := VATPostingSetup."VAT Clause Code"; "EU Service" := VATPostingSetup."EU Service"; + "Intrastat Service CZL" := VATPostingSetup."Intrastat Service CZL"; end; end; } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheetCZL.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheetCZL.Report.al index 8bbbc7772f..1720a65e2e 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheetCZL.Report.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/BalanceSheetCZL.Report.al @@ -437,7 +437,7 @@ report 11794 "Balance Sheet CZL" field(AccSchedNameCZL; AccSchedName) { ApplicationArea = Basic, Suite; - Caption = 'Acc. Schedule Name'; + Caption = 'Row Definition'; Lookup = true; TableRelation = "Acc. Schedule Name"; ToolTip = 'Specifies the name of the account schedule to be shown in the report.'; @@ -459,7 +459,7 @@ report 11794 "Balance Sheet CZL" field(ColumnLayoutNameCZL; ColumnLayoutName) { ApplicationArea = Basic, Suite; - Caption = 'Column Layout Name'; + Caption = 'Column Definition'; Lookup = true; TableRelation = "Column Layout Name".Name; ToolTip = 'Specifies the name of the column layout that you want to use in the window.'; @@ -471,6 +471,7 @@ report 11794 "Balance Sheet CZL" EntrdColumnName := CopyStr(Text, 1, 10); if AccSchedManagement.LookupColumnName(ColumnLayoutName, EntrdColumnName) then ColumnLayoutName := EntrdColumnName; + ColumnLayoutNameHidden := ''; end; trigger OnValidate() @@ -478,6 +479,7 @@ report 11794 "Balance Sheet CZL" if ColumnLayoutName = '' then Error(ColumnLayoutNameErr); AccSchedManagement.CheckColumnName(ColumnLayoutName); + ColumnLayoutNameHidden := ''; end; } } @@ -684,8 +686,6 @@ report 11794 "Balance Sheet CZL" begin FinancialReportMgt.Initialize(); GeneralLedgerSetup.Get(); - AccSchedName := ''; - ColumnLayoutName := ''; TransferValues(); if AccSchedName <> '' then if ColumnLayoutName = '' then diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.xlsx b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.xlsx index a10306fa85..c5593ea105 100644 Binary files a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.xlsx and b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/DocumentationForVAT.xlsx differ diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/IncomeStatementCZL.Report.al b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/IncomeStatementCZL.Report.al index 59c9d89311..af0101c4bd 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/Reports/IncomeStatementCZL.Report.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/Reports/IncomeStatementCZL.Report.al @@ -384,7 +384,7 @@ report 11795 "Income Statement CZL" field(AccSchedNameCZL; AccSchedName) { ApplicationArea = Basic, Suite; - Caption = 'Acc. Schedule Name'; + Caption = 'Row Definition'; Lookup = true; TableRelation = "Acc. Schedule Name"; ToolTip = 'Specifies the name of the account schedule to be shown in the report.'; @@ -406,7 +406,7 @@ report 11795 "Income Statement CZL" field(ColumnLayoutNameCZL; ColumnLayoutName) { ApplicationArea = Basic, Suite; - Caption = 'Column Layout Name'; + Caption = 'Column Definition'; Lookup = true; TableRelation = "Column Layout Name".Name; ToolTip = 'Specifies the name of the column layout that you want to use in the window.'; @@ -418,6 +418,7 @@ report 11795 "Income Statement CZL" EntrdColumnName := CopyStr(Text, 1, 10); if AccSchedManagement.LookupColumnName(ColumnLayoutName, EntrdColumnName) then ColumnLayoutName := EntrdColumnName; + ColumnLayoutNameHidden := ''; end; trigger OnValidate() @@ -425,6 +426,7 @@ report 11795 "Income Statement CZL" if ColumnLayoutName = '' then Error(ColumnLayoutNameErr); AccSchedManagement.CheckColumnName(ColumnLayoutName); + ColumnLayoutNameHidden := ''; end; } } @@ -631,8 +633,6 @@ report 11795 "Income Statement CZL" begin FinancialReportMgt.Initialize(); GeneralLedgerSetup.Get(); - AccSchedName := ''; - ColumnLayoutName := ''; TransferValues(); if AccSchedName <> '' then if ColumnLayoutName = '' then diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ContactCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ContactCZL.TableExt.al index 65f4135bd5..9a0f9bae54 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ContactCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ContactCZL.TableExt.al @@ -39,6 +39,7 @@ tableextension 11700 "Contact CZL" extends Contact RegistrationLogMgtCZL.LogContact(Rec); end; } +#if not CLEANSCHEMA26 field(11770; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -47,6 +48,7 @@ tableextension 11700 "Contact CZL" extends Contact ObsoleteTag = '26.0'; ObsoleteReason = 'Replaced by standard "Registration Number" field.'; } +#endif field(11771; "Tax Registration No. CZL"; Text[20]) { Caption = 'Tax Registration No.'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/CustomerCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/CustomerCZL.TableExt.al index f0c5045183..d13ecf9a17 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/CustomerCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/CustomerCZL.TableExt.al @@ -42,6 +42,7 @@ tableextension 11701 "Customer CZL" extends Customer RegistrationLogMgtCZL.LogCustomer(Rec); end; } +#if not CLEANSCHEMA26 field(11770; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -50,6 +51,7 @@ tableextension 11701 "Customer CZL" extends Customer ObsoleteTag = '26.0'; ObsoleteReason = 'Replaced by standard "Registration Number" field.'; } +#endif field(11771; "Tax Registration No. CZL"; Text[20]) { Caption = 'Tax Registration No.'; @@ -65,6 +67,7 @@ tableextension 11701 "Customer CZL" extends Customer Caption = 'Validate Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31070; "Transaction Type CZL"; Code[10]) { Caption = 'Transaction Type'; @@ -92,6 +95,7 @@ tableextension 11701 "Customer CZL" extends Customer ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } +#endif } var diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetCVLedgEntryBufferCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetCVLedgEntryBufferCZL.TableExt.al index a9a2d5b43d..505157b2d4 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetCVLedgEntryBufferCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetCVLedgEntryBufferCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -19,3 +20,4 @@ tableextension 11789 "Det. CV Ledg. Entry Buffer CZL" extends "Detailed CV Ledg. } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedCustLedgEntryCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedCustLedgEntryCZL.TableExt.al index c1900b6d6e..9ec69fd99b 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedCustLedgEntryCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedCustLedgEntryCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -30,3 +31,4 @@ tableextension 11785 "Detailed Cust. Ledg. Entry CZL" extends "Detailed Cust. Le } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedVendLedgEntryCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedVendLedgEntryCZL.TableExt.al index 6e45b2206a..8ceb413239 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedVendLedgEntryCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DetailedVendLedgEntryCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -30,3 +31,4 @@ tableextension 11786 "Detailed Vend. Ledg. Entry CZL" extends "Detailed Vendor L } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransHeaderCZL.TableExt.al index 174b480b36..5fca94c3db 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransHeaderCZL.TableExt.al @@ -10,6 +10,7 @@ using Microsoft.Inventory.Ledger; tableextension 31054 "Direct Trans. Header CZL" extends "Direct Trans. Header" { +#if not CLEANSCHEMA25 fields { field(31000; "Intrastat Exclude CZL"; Boolean) @@ -21,7 +22,7 @@ tableextension 31054 "Direct Trans. Header CZL" extends "Direct Trans. Header" ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } } - +#endif var GlobalDocumentNo: Code[20]; GlobalIsIntrastatTransaction: Boolean; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransLineCZL.TableExt.al index 59419b40e7..a1288a1b98 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/DirectTransLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 31055 "Direct Trans. Line CZL" extends "Direct Trans. Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31001; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 31055 "Direct Trans. Line CZL" extends "Direct Trans. Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GLEntryCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GLEntryCZL.TableExt.al index ec3190691a..82663d9c64 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GLEntryCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GLEntryCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -19,3 +20,4 @@ tableextension 11719 "G/L Entry CZL" extends "G/L Entry" } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GenJournalLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GenJournalLineCZL.TableExt.al index 1adf613713..8dabd708a6 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GenJournalLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GenJournalLineCZL.TableExt.al @@ -184,6 +184,7 @@ tableextension 11723 "Gen. Journal Line CZL" extends "Gen. Journal Line" DataClassification = CustomerContent; TableRelation = Currency; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -192,6 +193,7 @@ tableextension 11723 "Gen. Journal Line CZL" extends "Gen. Journal Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GeneralLedgerSetupCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GeneralLedgerSetupCZL.TableExt.al index 43ad50405b..940da914d3 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GeneralLedgerSetupCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/GeneralLedgerSetupCZL.TableExt.al @@ -71,6 +71,7 @@ tableextension 11713 "General Ledger Setup CZL" extends "General Ledger Setup" end; end; } +#if not CLEANSCHEMA27 field(11778; "Allow VAT Posting From CZL"; Date) { Caption = 'Allow VAT Posting From'; @@ -111,6 +112,8 @@ tableextension 11713 "General Ledger Setup CZL" extends "General Ledger Setup" end; #endif } +#endif +#if not CLEANSCHEMA25 field(11780; "Use VAT Date CZL"; Boolean) { Caption = 'Use VAT Date'; @@ -119,6 +122,7 @@ tableextension 11713 "General Ledger Setup CZL" extends "General Ledger Setup" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Do Not Check Dimensions CZL"; Boolean) { Caption = 'Do Not Check Dimensions'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlBatchCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlBatchCZL.TableExt.al index a115693c8f..f188fe0590 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlBatchCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlBatchCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -28,3 +29,4 @@ tableextension 31025 "Intrastat Jnl. Batch CZL" extends "Intrastat Jnl. Batch" } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlLineCZL.TableExt.al index 50f8d350b9..85be13effa 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/IntrastatJnlLineCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -122,3 +123,4 @@ tableextension 31026 "Intrastat Jnl. Line CZL" extends "Intrastat Jnl. Line" } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/InvoicePostingBufferCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/InvoicePostingBufferCZL.TableExt.al index 9e3e925e0b..555d9837d4 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/InvoicePostingBufferCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/InvoicePostingBufferCZL.TableExt.al @@ -8,6 +8,7 @@ tableextension 31050 "Invoice Posting Buffer CZL" extends "Invoice Posting Buffe { fields { +#if not CLEANSCHEMA27 field(11773; "Ext. Amount CZL"; Decimal) { AutoFormatType = 1; @@ -36,6 +37,7 @@ tableextension 31050 "Invoice Posting Buffer CZL" extends "Invoice Posting Buffe #endif ObsoleteReason = 'The field is not used anymore.'; } +#endif field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemCZL.TableExt.al index 5eb6baee3f..8d31e63fd8 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemCZL.TableExt.al @@ -8,6 +8,7 @@ using Microsoft.Inventory.Ledger; tableextension 11745 "Item CZL" extends Item { +#if not CLEANSCHEMA25 fields { field(31066; "Statistic Indication CZL"; Code[10]) @@ -28,6 +29,7 @@ tableextension 11745 "Item CZL" extends Item ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } } +#endif procedure CheckOpenItemLedgerEntriesCZL() var diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtPurchCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtPurchCZL.TableExt.al index 91757d87bc..3ce2422f73 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtPurchCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtPurchCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -26,3 +27,4 @@ tableextension 31019 "Item Charge Asgmt. (Purch) CZL" extends "Item Charge Assig } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtSalesCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtSalesCZL.TableExt.al index f2062c5b74..08c1fdcf83 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtSalesCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeAsgmtSalesCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -26,3 +27,4 @@ tableextension 31020 "Item Charge Asgmt. (Sales) CZL" extends "Item Charge Assig } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeCZL.TableExt.al index 15553a26ad..c1f5731a4f 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemChargeCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -26,3 +27,4 @@ tableextension 31018 "Item Charge CZL" extends "Item Charge" } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZL.TableExt.al index 267455708d..b9e88d30cc 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemJournalLineCZL.TableExt.al @@ -11,6 +11,7 @@ tableextension 11709 "Item Journal Line CZL" extends "Item Journal Line" { fields { +#if not CLEANSCHEMA25 field(31050; "Tariff No. CZL"; Code[20]) { Caption = 'Tariff No.'; @@ -78,6 +79,7 @@ tableextension 11709 "Item Journal Line CZL" extends "Item Journal Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31079; "Invt. Movement Template CZL"; Code[10]) { Caption = 'Inventory Movement Template'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemLedgerEntryCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemLedgerEntryCZL.TableExt.al index 65553183f4..513747eb3c 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemLedgerEntryCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ItemLedgerEntryCZL.TableExt.al @@ -11,6 +11,7 @@ using Microsoft.Inventory.Transfer; tableextension 11799 "Item Ledger Entry CZL" extends "Item Ledger Entry" { +#if not CLEANSCHEMA25 fields { field(31050; "Tariff No. CZL"; Code[20]) @@ -65,7 +66,7 @@ tableextension 11799 "Item Ledger Entry CZL" extends "Item Ledger Entry" ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } } - +#endif procedure SetFilterFromInvtReceiptHeaderCZL(InvtReceiptHeader: Record "Invt. Receipt Header") begin SetCurrentKey("Document No."); diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobJournalLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobJournalLineCZL.TableExt.al index 8b72d54cf6..a6bdaf6982 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobJournalLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobJournalLineCZL.TableExt.al @@ -12,6 +12,7 @@ tableextension 11710 "Job Journal Line CZL" extends "Job Journal Line" { fields { +#if not CLEANSCHEMA25 field(31050; "Tariff No. CZL"; Code[20]) { Caption = 'Tariff No.'; @@ -56,6 +57,7 @@ tableextension 11710 "Job Journal Line CZL" extends "Job Journal Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31079; "Invt. Movement Template CZL"; Code[10]) { Caption = 'Inventory Movement Template'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobLedgerEntryCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobLedgerEntryCZL.TableExt.al index 96311e2b0e..b8625df90b 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobLedgerEntryCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/JobLedgerEntryCZL.TableExt.al @@ -16,6 +16,7 @@ tableextension 11795 "Job Ledger Entry CZL" extends "Job Ledger Entry" Caption = 'Correction'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31050; "Tariff No. CZL"; Code[20]) { Caption = 'Tariff No.'; @@ -60,5 +61,6 @@ tableextension 11795 "Job Ledger Entry CZL" extends "Job Ledger Entry" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrMemoHdrCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrMemoHdrCZL.TableExt.al index 3d3be2f64e..707c357d7f 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrMemoHdrCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrMemoHdrCZL.TableExt.al @@ -101,6 +101,7 @@ tableextension 11731 "Purch. Cr. Memo Hdr. CZL" extends "Purch. Cr. Memo Hdr." TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -109,6 +110,7 @@ tableextension 11731 "Purch. Cr. Memo Hdr. CZL" extends "Purch. Cr. Memo Hdr." ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -119,6 +121,7 @@ tableextension 11731 "Purch. Cr. Memo Hdr. CZL" extends "Purch. Cr. Memo Hdr." Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -135,11 +138,13 @@ tableextension 11731 "Purch. Cr. Memo Hdr. CZL" extends "Purch. Cr. Memo Hdr." ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA27 field(31073; "EU 3-Party Trade CZL"; Boolean) { Caption = 'EU 3-Party Trade'; @@ -153,6 +158,7 @@ tableextension 11731 "Purch. Cr. Memo Hdr. CZL" extends "Purch. Cr. Memo Hdr." #endif ObsoleteReason = 'Replaced by "EU 3 Party Trade" field in "EU 3-Party Trade Purchase" app.'; } +#endif field(31112; "Original Doc. VAT Date CZL"; Date) { Caption = 'Original Document VAT Date'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrmemoLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrmemoLineCZL.TableExt.al index e2d1a44880..66573b2447 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrmemoLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchCrmemoLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11761 "Purch. Cr. memo Line CZL" extends "Purch. Cr. Memo Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11761 "Purch. Cr. memo Line CZL" extends "Purch. Cr. Memo Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvHeaderCZL.TableExt.al index f0982d1fcf..670e8eb60a 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvHeaderCZL.TableExt.al @@ -100,6 +100,7 @@ tableextension 11730 "Purch. Inv. Header CZL" extends "Purch. Inv. Header" TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -108,6 +109,7 @@ tableextension 11730 "Purch. Inv. Header CZL" extends "Purch. Inv. Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -118,6 +120,7 @@ tableextension 11730 "Purch. Inv. Header CZL" extends "Purch. Inv. Header" Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -134,11 +137,13 @@ tableextension 11730 "Purch. Inv. Header CZL" extends "Purch. Inv. Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA27 field(31073; "EU 3-Party Trade CZL"; Boolean) { Caption = 'EU 3-Party Trade'; @@ -152,6 +157,7 @@ tableextension 11730 "Purch. Inv. Header CZL" extends "Purch. Inv. Header" #endif ObsoleteReason = 'Replaced by "EU 3 Party Trade" field in "EU 3-Party Trade Purchase" app.'; } +#endif field(31112; "Original Doc. VAT Date CZL"; Date) { Caption = 'Original Document VAT Date'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvLineCZL.TableExt.al index c88e5644d6..905bae8205 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchInvLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11760 "Purch. Inv. Line CZL" extends "Purch. Inv. Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11760 "Purch. Inv. Line CZL" extends "Purch. Inv. Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptHeaderCZL.TableExt.al index d6bb4f3f86..ef5b4a5c12 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptHeaderCZL.TableExt.al @@ -18,6 +18,7 @@ tableextension 11728 "Purch. Rcpt. Header CZL" extends "Purch. Rcpt. Header" Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -34,6 +35,7 @@ tableextension 11728 "Purch. Rcpt. Header CZL" extends "Purch. Rcpt. Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptLineCZL.TableExt.al index 46cc47d932..00e14d9dec 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchRcptLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11759 "Purch. Rcpt. Line CZL" extends "Purch. Rcpt. Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11759 "Purch. Rcpt. Line CZL" extends "Purch. Rcpt. Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderArchiveCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderArchiveCZL.TableExt.al index 090246d43a..6e0b81a01d 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderArchiveCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderArchiveCZL.TableExt.al @@ -91,6 +91,7 @@ tableextension 11733 "Purchase Header Archive CZL" extends "Purchase Header Arch TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -99,6 +100,7 @@ tableextension 11733 "Purchase Header Archive CZL" extends "Purchase Header Arch ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -109,6 +111,7 @@ tableextension 11733 "Purchase Header Archive CZL" extends "Purchase Header Arch Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -125,6 +128,7 @@ tableextension 11733 "Purchase Header Archive CZL" extends "Purchase Header Arch ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderCZL.TableExt.al index bfdb324b11..839dec6174 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseHeaderCZL.TableExt.al @@ -251,6 +251,7 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" Editable = false; FieldClass = FlowField; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -259,6 +260,7 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -269,6 +271,7 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -285,6 +288,7 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; @@ -303,6 +307,7 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" "EU 3 Party Trade" := true; end; } +#if not CLEANSCHEMA27 field(31073; "EU 3-Party Trade CZL"; Boolean) { Caption = 'EU 3-Party Trade'; @@ -324,6 +329,7 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" end; #endif } +#endif field(31112; "Original Doc. VAT Date CZL"; Date) { Caption = 'Original Document VAT Date'; @@ -385,7 +391,13 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" end; procedure UpdateVATCurrencyFactorCZLByCurrencyFactorCZL() + var + IsHandled: Boolean; begin + OnBeforeUpdateVATCurrencyFactorCZLByCurrencyFactorCZL(Rec, xRec, IsHandled); + if IsHandled then + exit; + if "Currency Code" = '' then begin "VAT Currency Factor CZL" := 0; exit; @@ -678,4 +690,9 @@ tableextension 11705 "Purchase Header CZL" extends "Purchase Header" local procedure OnBeforeConfirmUpdateAddCurrencyFactorCZL(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var HideValidationDialog: Boolean; var IsHandled: Boolean; var ForceConfirm: Boolean) begin end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateVATCurrencyFactorCZLByCurrencyFactorCZL(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean) + begin + end; } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineArchiveCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineArchiveCZL.TableExt.al index 3477cd2d52..0b7da14354 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineArchiveCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineArchiveCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -18,3 +19,4 @@ tableextension 31017 "Purchase Line Archive CZL" extends "Purchase Line Archive" } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineCZL.TableExt.al index a33f921bc6..0f3a8a31bd 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchaseLineCZL.TableExt.al @@ -16,6 +16,7 @@ tableextension 11754 "Purchase Line CZL" extends "Purchase Line" Caption = 'Negative'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA27 field(11773; "Ext. Amount CZL"; Decimal) { AutoFormatExpression = "Currency Code"; @@ -46,6 +47,8 @@ tableextension 11754 "Purchase Line CZL" extends "Purchase Line" #endif ObsoleteReason = 'The field is not used anymore.'; } +#endif +#if not CLEANSCHEMA25 field(31064; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -54,6 +57,7 @@ tableextension 11754 "Purchase Line CZL" extends "Purchase Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } +#endif field(31065; "Tariff No. CZL"; Code[20]) { Caption = 'Tariff No.'; @@ -72,6 +76,7 @@ tableextension 11754 "Purchase Line CZL" extends "Purchase Line" end; end; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -89,5 +94,6 @@ tableextension 11754 "Purchase Line CZL" extends "Purchase Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchasesPayablesSetupCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchasesPayablesSetupCZL.TableExt.al index ecdee74c60..5e1440c1bb 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchasesPayablesSetupCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/PurchasesPayablesSetupCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -20,6 +21,7 @@ tableextension 11715 "Purchases & Payables Setup CZL" extends "Purchases & Payab ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date in General Ledger Setup.'; } +#if not CLEANSCHEMA23 field(11781; "Allow Alter Posting Groups CZL"; Boolean) { Caption = 'Allow Alter Posting Groups'; @@ -28,6 +30,8 @@ tableextension 11715 "Purchases & Payables Setup CZL" extends "Purchases & Payab ObsoleteTag = '23.0'; ObsoleteReason = 'It will be replaced by "Allow Multiple Posting Groups" field.'; } +#endif +#if not CLEANSCHEMA25 field(31110; "Def. Orig. Doc. VAT Date CZL"; Option) { Caption = 'Default Original Document VAT Date'; @@ -38,5 +42,7 @@ tableextension 11715 "Purchases & Payables Setup CZL" extends "Purchases & Payab ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by Def. Orig. Doc. VAT Date CZL in General Ledger Setup.'; } +#endif } } +#endif diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptHeaderCZL.TableExt.al index fb09b276dc..6b18b4f628 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptHeaderCZL.TableExt.al @@ -18,6 +18,7 @@ tableextension 11725 "Return Receipt Header CZL" extends "Return Receipt Header" Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -34,6 +35,7 @@ tableextension 11725 "Return Receipt Header CZL" extends "Return Receipt Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31112; "Original Doc. VAT Date CZL"; Date) { Caption = 'Original Document VAT Date'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptLineCZL.TableExt.al index 1ae3fd1cdf..b3b6045551 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnReceiptLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 31024 "Return Receipt Line CZL" extends "Return Receipt Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 31024 "Return Receipt Line CZL" extends "Return Receipt Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentHeaderCZL.TableExt.al index 8335817674..dabfbde41b 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentHeaderCZL.TableExt.al @@ -18,6 +18,7 @@ tableextension 11729 "Return Shipment Header CZL" extends "Return Shipment Heade Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -34,6 +35,7 @@ tableextension 11729 "Return Shipment Header CZL" extends "Return Shipment Heade ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31073; "EU 3-Party Trade CZL"; Boolean) { Caption = 'EU 3-Party Trade'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentLineCZL.TableExt.al index 5b51063e80..8d357f0f9f 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ReturnShipmentLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 31023 "Return Shipment Line CZL" extends "Return Shipment Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 31023 "Return Shipment Line CZL" extends "Return Shipment Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoHeaderCZL.TableExt.al index df676f3e28..89d5f8f5a6 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoHeaderCZL.TableExt.al @@ -101,6 +101,7 @@ tableextension 11727 "Sales Cr.Memo Header CZL" extends "Sales Cr.Memo Header" TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -109,6 +110,7 @@ tableextension 11727 "Sales Cr.Memo Header CZL" extends "Sales Cr.Memo Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -125,6 +127,7 @@ tableextension 11727 "Sales Cr.Memo Header CZL" extends "Sales Cr.Memo Header" Editable = false; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -141,6 +144,7 @@ tableextension 11727 "Sales Cr.Memo Header CZL" extends "Sales Cr.Memo Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoLineCZL.TableExt.al index 90d25b1bd3..ad1d6b60e1 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesCrMemoLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11758 "Sales Cr.Memo Line CZL" extends "Sales Cr.Memo Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11758 "Sales Cr.Memo Line CZL" extends "Sales Cr.Memo Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderArchiveCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderArchiveCZL.TableExt.al index 79802ee790..e0344ea41c 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderArchiveCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderArchiveCZL.TableExt.al @@ -91,6 +91,7 @@ tableextension 11732 "Sales Header Archive CZL" extends "Sales Header Archive" TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -99,6 +100,7 @@ tableextension 11732 "Sales Header Archive CZL" extends "Sales Header Archive" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -109,6 +111,7 @@ tableextension 11732 "Sales Header Archive CZL" extends "Sales Header Archive" Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -125,6 +128,7 @@ tableextension 11732 "Sales Header Archive CZL" extends "Sales Header Archive" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderCZL.TableExt.al index 73ac982ee6..870698d859 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesHeaderCZL.TableExt.al @@ -208,6 +208,7 @@ tableextension 11703 "Sales Header CZL" extends "Sales Header" UpdateVATCurrencyFactorCZL(); end; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -216,6 +217,7 @@ tableextension 11703 "Sales Header CZL" extends "Sales Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -239,6 +241,7 @@ tableextension 11703 "Sales Header CZL" extends "Sales Header" Clear("Credit Memo Type CZL"); end; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -255,6 +258,7 @@ tableextension 11703 "Sales Header CZL" extends "Sales Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceHeaderCZL.TableExt.al index 0de564b468..720850609d 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceHeaderCZL.TableExt.al @@ -121,6 +121,7 @@ tableextension 11726 "Sales Invoice Header CZL" extends "Sales Invoice Header" TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -129,6 +130,7 @@ tableextension 11726 "Sales Invoice Header CZL" extends "Sales Invoice Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -139,6 +141,7 @@ tableextension 11726 "Sales Invoice Header CZL" extends "Sales Invoice Header" Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -155,6 +158,7 @@ tableextension 11726 "Sales Invoice Header CZL" extends "Sales Invoice Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceLineCZL.TableExt.al index 377f64a7f2..fcbdbda0a5 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesInvoiceLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11757 "Sales Invoice Line CZL" extends "Sales Invoice Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11757 "Sales Invoice Line CZL" extends "Sales Invoice Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineArchiveCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineArchiveCZL.TableExt.al index b43c27150a..4247db79df 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineArchiveCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineArchiveCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -18,3 +19,4 @@ tableextension 31016 "Sales Line Archive CZL" extends "Sales Line Archive" } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineCZL.TableExt.al index fad59191b7..86f56d1679 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesLineCZL.TableExt.al @@ -16,6 +16,7 @@ tableextension 11755 "Sales Line CZL" extends "Sales Line" Caption = 'Negative'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31064; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -24,6 +25,7 @@ tableextension 11755 "Sales Line CZL" extends "Sales Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } +#endif field(31065; "Tariff No. CZL"; Code[20]) { Caption = 'Tariff No.'; @@ -49,6 +51,7 @@ tableextension 11755 "Sales Line CZL" extends "Sales Line" end; end; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -66,5 +69,6 @@ tableextension 11755 "Sales Line CZL" extends "Sales Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesReceivablesSetupCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesReceivablesSetupCZL.TableExt.al index 570b34d6cc..b6f177a898 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesReceivablesSetupCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesReceivablesSetupCZL.TableExt.al @@ -11,6 +11,7 @@ tableextension 11714 "Sales & Receivables Setup CZL" extends "Sales & Receivable { fields { +#if not CLEANSCHEMA25 #pragma warning disable AL0842 field(11780; "Default VAT Date CZL"; Enum "Default VAT Date CZL") #pragma warning restore AL0842 @@ -21,6 +22,8 @@ tableextension 11714 "Sales & Receivables Setup CZL" extends "Sales & Receivable ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date in General Ledger Setup.'; } +#endif +#if not CLEANSCHEMA23 field(11781; "Allow Alter Posting Groups CZL"; Boolean) { Caption = 'Allow Alter Posting Groups'; @@ -28,8 +31,8 @@ tableextension 11714 "Sales & Receivables Setup CZL" extends "Sales & Receivable ObsoleteState = Removed; ObsoleteTag = '23.0'; ObsoleteReason = 'It will be replaced by "Allow Multiple Posting Groups" field.'; - } +#endif field(11782; "Print QR Payment CZL"; Boolean) { Caption = 'Print QR payment'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentHeaderCZL.TableExt.al index b6d5674428..9bdb8e2488 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentHeaderCZL.TableExt.al @@ -18,6 +18,7 @@ tableextension 11724 "Sales Shipment Header CZL" extends "Sales Shipment Header" Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -34,6 +35,7 @@ tableextension 11724 "Sales Shipment Header CZL" extends "Sales Shipment Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentLineCZL.TableExt.al index f68b2e40a4..8f215e439d 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/SalesShipmentLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11756 "Sales Shipment Line CZL" extends "Sales Shipment Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11756 "Sales Shipment Line CZL" extends "Sales Shipment Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoHeaderCZL.TableExt.al index 6f41914aab..4a43d1716c 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoHeaderCZL.TableExt.al @@ -94,6 +94,7 @@ tableextension 11736 "Service Cr.Memo Header CZL" extends "Service Cr.Memo Heade TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -102,6 +103,7 @@ tableextension 11736 "Service Cr.Memo Header CZL" extends "Service Cr.Memo Heade ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -118,6 +120,7 @@ tableextension 11736 "Service Cr.Memo Header CZL" extends "Service Cr.Memo Heade Editable = false; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -134,6 +137,7 @@ tableextension 11736 "Service Cr.Memo Header CZL" extends "Service Cr.Memo Heade ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoLineCZL.TableExt.al index 73d9d9a7aa..7aaef2e940 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceCrMemoLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11764 "Service Cr. Memo Line CZL" extends "Service Cr.Memo Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11764 "Service Cr. Memo Line CZL" extends "Service Cr.Memo Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceHeaderCZL.TableExt.al index 9c9d1b73d0..e3f68b5ef6 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceHeaderCZL.TableExt.al @@ -174,6 +174,7 @@ tableextension 11734 "Service Header CZL" extends "Service Header" TestField("VAT Currency Code CZL", "Currency Code"); end; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -182,6 +183,7 @@ tableextension 11734 "Service Header CZL" extends "Service Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -205,6 +207,7 @@ tableextension 11734 "Service Header CZL" extends "Service Header" Clear("Credit Memo Type CZL"); end; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -221,6 +224,7 @@ tableextension 11734 "Service Header CZL" extends "Service Header" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceHeaderCZL.TableExt.al index ab61f798d5..c6309c2fe4 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceHeaderCZL.TableExt.al @@ -114,6 +114,7 @@ tableextension 11735 "Service Invoice Header CZL" extends "Service Invoice Heade TableRelation = Currency; Editable = false; } +#if not CLEANSCHEMA25 field(11780; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -122,6 +123,7 @@ tableextension 11735 "Service Invoice Header CZL" extends "Service Invoice Heade ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11781; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -132,6 +134,7 @@ tableextension 11735 "Service Invoice Header CZL" extends "Service Invoice Heade Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -148,6 +151,7 @@ tableextension 11735 "Service Invoice Header CZL" extends "Service Invoice Heade ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceLineCZL.TableExt.al index 0b87ccf166..0ee00c127b 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceInvoiceLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11765 "Service Invoice Line CZL" extends "Service Invoice Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 11765 "Service Invoice Line CZL" extends "Service Invoice Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceLineCZL.TableExt.al index ea708a7fb6..8248b54bd1 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceLineCZL.TableExt.al @@ -16,6 +16,7 @@ tableextension 11763 "Service Line CZL" extends "Service Line" Caption = 'Negative'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31064; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -24,6 +25,7 @@ tableextension 11763 "Service Line CZL" extends "Service Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } +#endif field(31065; "Tariff No. CZL"; Code[20]) { Caption = 'Tariff No.'; @@ -41,6 +43,7 @@ tableextension 11763 "Service Line CZL" extends "Service Line" end; end; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -58,5 +61,6 @@ tableextension 11763 "Service Line CZL" extends "Service Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceMgtSetupCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceMgtSetupCZL.TableExt.al index c2f61ebc7f..1b24ab5490 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceMgtSetupCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceMgtSetupCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -20,6 +21,7 @@ tableextension 11716 "Service Mgt. Setup CZL" extends "Service Mgt. Setup" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date in General Ledger Setup.'; } +#if not CLEANSCHEMA23 field(11781; "Allow Alter Posting Groups CZL"; Boolean) { Caption = 'Allow Alter Posting Groups'; @@ -27,7 +29,8 @@ tableextension 11716 "Service Mgt. Setup CZL" extends "Service Mgt. Setup" ObsoleteState = Removed; ObsoleteTag = '23.0'; ObsoleteReason = 'It will be replaced by "Allow Multiple Posting Groups" field.'; - } +#endif } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentHeaderCZL.TableExt.al index 4a61522a49..02a22920b9 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentHeaderCZL.TableExt.al @@ -18,6 +18,7 @@ tableextension 11744 "Service Shipment Header CZL" extends "Service Shipment Hea Caption = 'Tax Registration No.'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31068; "Physical Transfer CZL"; Boolean) { Caption = 'Physical Transfer'; @@ -34,6 +35,7 @@ tableextension 11744 "Service Shipment Header CZL" extends "Service Shipment Hea ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif field(31072; "EU 3-Party Intermed. Role CZL"; Boolean) { Caption = 'EU 3-Party Intermediate Role'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentLineCZL.TableExt.al index 50e29dd1b6..9e5a1fa270 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ServiceShipmentLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 11766 "Service Shipment Line CZL" extends "Service Shipment Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -35,5 +36,6 @@ tableextension 11766 "Service Shipment Line CZL" extends "Service Shipment Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ShipmentMethodCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ShipmentMethodCZL.TableExt.al index 4bab84a208..97ffdc096e 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ShipmentMethodCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ShipmentMethodCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -44,3 +45,4 @@ tableextension 11796 "Shipment Method CZL" extends "Shipment Method" } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TariffNumberCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TariffNumberCZL.TableExt.al index 9a2b5d2036..9f96d1b536 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TariffNumberCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TariffNumberCZL.TableExt.al @@ -39,6 +39,7 @@ tableextension 11753 "Tariff Number CZL" extends "Tariff Number" Caption = 'Description EN'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31065; "Suppl. Unit of Meas. Code CZL"; Code[10]) { Caption = 'Supplementary Unit of Measure Code'; @@ -48,5 +49,6 @@ tableextension 11753 "Tariff Number CZL" extends "Tariff Number" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferHeaderCZL.TableExt.al index 92e5a71e4a..0f1c028836 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferHeaderCZL.TableExt.al @@ -10,6 +10,7 @@ using Microsoft.Inventory.Item; tableextension 31010 "Transfer Header CZL" extends "Transfer Header" { +#if not CLEANSCHEMA25 fields { field(31069; "Intrastat Exclude CZL"; Boolean) @@ -21,7 +22,7 @@ tableextension 31010 "Transfer Header CZL" extends "Transfer Header" ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } } - +#endif var GlobalDocumentNo: Code[20]; GlobalIsIntrastatTransaction: Boolean; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferLineCZL.TableExt.al index 8be0afc9f0..c4a0bdab61 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 31011 "Transfer Line CZL" extends "Transfer Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 31011 "Transfer Line CZL" extends "Transfer Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptHeaderCZL.TableExt.al index 0e54eedfa6..d6fefc7bd6 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptHeaderCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -18,3 +19,4 @@ tableextension 31014 "Transfer Receipt Header CZL" extends "Transfer Receipt Hea } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptLineCZL.TableExt.al index bf481353fe..7b1847ed69 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferReceiptLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 31015 "Transfer Receipt Line CZL" extends "Transfer Receipt Line" TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 31015 "Transfer Receipt Line CZL" extends "Transfer Receipt Line" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentHeaderCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentHeaderCZL.TableExt.al index 4d941e6700..c878fd1fe6 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentHeaderCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentHeaderCZL.TableExt.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEANSCHEMA25 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -18,3 +19,4 @@ tableextension 31012 "Transfer Shipment Header CZL" extends "Transfer Shipment H } } } +#endif \ No newline at end of file diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentLineCZL.TableExt.al index fcff62900e..9ed4392035 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/TransferShipmentLineCZL.TableExt.al @@ -17,6 +17,7 @@ tableextension 31013 "Transfer Shipment Line CZL" extends "Transfer Shipment Lin TableRelation = "Tariff Number"; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31066; "Statistic Indication CZL"; Code[10]) { Caption = 'Statistic Indication'; @@ -34,5 +35,6 @@ tableextension 31013 "Transfer Shipment Line CZL" extends "Transfer Shipment Lin ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions. This field is not used any more.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/UserSetupCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/UserSetupCZL.TableExt.al index 3e558a01eb..09be9d3dce 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/UserSetupCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/UserSetupCZL.TableExt.al @@ -54,6 +54,7 @@ tableextension 11717 "User Setup CZL" extends "User Setup" Caption = 'Allow Posting to Closed Period'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA27 field(11778; "Allow VAT Posting From CZL"; Date) { Caption = 'Allow VAT Posting From'; @@ -100,6 +101,7 @@ tableextension 11717 "User Setup CZL" extends "User Setup" end; #endif } +#endif field(11780; "Allow Complete Job CZL"; Boolean) { Caption = 'Allow Complete Job'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATEntryCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATEntryCZL.TableExt.al index 0822788984..e825ab0467 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATEntryCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATEntryCZL.TableExt.al @@ -10,6 +10,7 @@ tableextension 11737 "VAT Entry CZL" extends "VAT Entry" { fields { +#if not CLEANSCHEMA25 field(11710; "VAT Date CZL"; Date) { Caption = 'VAT Date'; @@ -19,6 +20,7 @@ tableextension 11737 "VAT Entry CZL" extends "VAT Entry" ObsoleteTag = '25.0'; ObsoleteReason = 'Replaced by VAT Reporting Date.'; } +#endif field(11711; "VAT Settlement No. CZL"; Code[20]) { Caption = 'VAT Settlement No.'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATStatementLineCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATStatementLineCZL.TableExt.al index 260618a236..559263a1ec 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATStatementLineCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VATStatementLineCZL.TableExt.al @@ -49,6 +49,7 @@ tableextension 11739 "VAT Statement Line CZL" extends "VAT Statement Line" OptionMembers = " ",Yes,No; DataClassification = CustomerContent; } +#if not CLEANSCHEMA27 field(31073; "EU-3 Party Trade CZL"; Option) { Caption = 'EU-3 Party Trade'; @@ -64,6 +65,7 @@ tableextension 11739 "VAT Statement Line CZL" extends "VAT Statement Line" #endif ObsoleteReason = 'Replaced by "EU 3 Party Trade" field in "EU 3-Party Trade Purchase" app.'; } +#endif field(31110; "VAT Ctrl. Report Section CZL"; Code[20]) { Caption = 'VAT Control Report Section Code'; diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ValueEntryCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ValueEntryCZL.TableExt.al index 05371e7ac2..2f040aba61 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ValueEntryCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/ValueEntryCZL.TableExt.al @@ -13,6 +13,7 @@ tableextension 11792 "Value Entry CZL" extends "Value Entry" Caption = 'G/L Correction'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31052; "Incl. in Intrastat Amount CZL"; Boolean) { Caption = 'Incl. in Intrastat Amount'; @@ -29,5 +30,6 @@ tableextension 11792 "Value Entry CZL" extends "Value Entry" ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } +#endif } } diff --git a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VendorCZL.TableExt.al b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VendorCZL.TableExt.al index 3d83940a91..f19e76357b 100644 --- a/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VendorCZL.TableExt.al +++ b/Apps/CZ/CoreLocalizationPack/app/Src/TableExtensions/VendorCZL.TableExt.al @@ -43,6 +43,7 @@ tableextension 11702 "Vendor CZL" extends Vendor RegistrationLogMgtCZL.LogVendor(Rec); end; } +#if not CLEANSCHEMA26 field(11770; "Registration No. CZL"; Text[20]) { Caption = 'Registration No.'; @@ -51,6 +52,7 @@ tableextension 11702 "Vendor CZL" extends Vendor ObsoleteTag = '26.0'; ObsoleteReason = 'Replaced by standard "Registration Number" field.'; } +#endif field(11771; "Tax Registration No. CZL"; Text[20]) { Caption = 'Tax Registration No.'; @@ -90,6 +92,7 @@ tableextension 11702 "Vendor CZL" extends Vendor Caption = 'Disable Unreliability Check'; DataClassification = CustomerContent; } +#if not CLEANSCHEMA25 field(31070; "Transaction Type CZL"; Code[10]) { Caption = 'Transaction Type'; @@ -117,6 +120,7 @@ tableextension 11702 "Vendor CZL" extends Vendor ObsoleteTag = '25.0'; ObsoleteReason = 'Intrastat related functionalities are moved to Intrastat extensions.'; } +#endif } var diff --git a/Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/InstallApplicationCZF.Codeunit.al b/Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/InstallApplicationCZF.Codeunit.al index ebb10a464e..c37876665a 100644 --- a/Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/InstallApplicationCZF.Codeunit.al +++ b/Apps/CZ/FixedAssetLocalization/app/Src/Codeunits/InstallApplicationCZF.Codeunit.al @@ -4,12 +4,9 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.FixedAssets; -using Microsoft; using Microsoft.FixedAssets.Depreciation; using Microsoft.FixedAssets.FixedAsset; using Microsoft.FixedAssets.Setup; -using Microsoft.Foundation.Company; -using System.Upgrade; #pragma warning disable AL0432,AL0603 codeunit 31240 "Install Application CZF" @@ -25,243 +22,4 @@ codeunit 31240 "Install Application CZF" tabledata "FA Posting Group" = m, tabledata "FA Allocation" = m; - var - InstallApplicationsMgtCZL: Codeunit "Install Applications Mgt. CZL"; - AppInfo: ModuleInfo; - - trigger OnInstallAppPerDatabase() - begin - CopyPermission(); - end; - - trigger OnInstallAppPerCompany() - begin - if not InitializeDone() then begin - BindSubscription(InstallApplicationsMgtCZL); - CopyUsage(); - CopyData(); - UnbindSubscription(InstallApplicationsMgtCZL); - end; - CompanyInitialize(); - end; - - local procedure InitializeDone(): boolean - begin - NavApp.GetCurrentModuleInfo(AppInfo); - exit(AppInfo.DataVersion() <> Version.Create('0.0.0.0')); - end; - - local procedure CopyPermission(); - begin - NavApp.GetCurrentModuleInfo(AppInfo); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"FA Extended Posting Group", Database::"FA Extended Posting Group CZF"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Classification Code", Database::"Classification Code CZF"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"FA History Entry", Database::"FA History Entry CZF"); - InstallApplicationsMgtCZL.InsertTableDataPermissions(AppInfo.Id(), Database::"Depreciation Group", Database::"Tax Depreciation Group CZF"); - end; - - local procedure CopyUsage(); - begin - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"FA Extended Posting Group", Database::"FA Extended Posting Group CZF"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Classification Code", Database::"Classification Code CZF"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"FA History Entry", Database::"FA History Entry CZF"); - InstallApplicationsMgtCZL.InsertTableDataUsage(Database::"Depreciation Group", Database::"Tax Depreciation Group CZF"); - end; - - local procedure CopyData() - begin - CopyFASetup(); - CopyClassificationCode(); - CopyDepreciationGroup(); - CopyFixedAsset(); - CopyDepreciationBook(); - CopyFADepreciationBook(); - CopyFAPostingGroup(); - CopyFAExtendedPostingGroup(); - CopyFAAllocation(); - CopyFAHistoryEntry(); - end; - - local procedure CopyFASetup(); - var - FASetup: Record "FA Setup"; - begin - if FASetup.Get() then begin - FASetup."Fixed Asset History CZF" := FASetup."Fixed Asset History"; - if FASetup."Fixed Asset History CZF" then - FASetup.Validate("Fixed Asset History", false); - FASetup."Tax Depreciation Book CZF" := FASetup."Tax Depr. Book"; - FASetup."FA Acquisition As Custom 2 CZF" := FASetup."FA Acquisition As Custom 2"; - FASetup.Modify(false); - end; - end; - - local procedure CopyClassificationCode(); - var - ClassificationCode: Record "Classification Code"; - ClassificationCodeCZF: Record "Classification Code CZF"; - begin - if ClassificationCode.FindSet() then - repeat - if not ClassificationCodeCZF.Get(ClassificationCode.Code) then begin - ClassificationCodeCZF.Init(); - ClassificationCodeCZF.Code := ClassificationCode.Code; - ClassificationCodeCZF.SystemId := ClassificationCode.SystemId; - ClassificationCodeCZF.Insert(false, true); - end; - ClassificationCodeCZF.Description := ClassificationCode.Description; - ClassificationCodeCZF."Classification Type" := ClassificationCode."Classification Type"; - ClassificationCodeCZF.Modify(false); - until ClassificationCode.Next() = 0; - end; - - local procedure CopyDepreciationGroup(); - var - DepreciationGroup: Record "Depreciation Group"; - TaxDepreciationGroupCZF: Record "Tax Depreciation Group CZF"; - begin - if DepreciationGroup.FindSet() then - repeat - if not TaxDepreciationGroupCZF.Get(DepreciationGroup.Code, DepreciationGroup."Starting Date") then begin - TaxDepreciationGroupCZF.Init(); - TaxDepreciationGroupCZF.Code := DepreciationGroup.Code; - TaxDepreciationGroupCZF."Starting Date" := DepreciationGroup."Starting Date"; - TaxDepreciationGroupCZF.SystemId := DepreciationGroup.SystemId; - TaxDepreciationGroupCZF.Insert(false, true); - end; - TaxDepreciationGroupCZF.Description := DepreciationGroup.Description; - TaxDepreciationGroupCZF."Depreciation Group" := DepreciationGroup."Depreciation Group"; - TaxDepreciationGroupCZF."Depreciation Type" := DepreciationGroup."Depreciation Type"; - TaxDepreciationGroupCZF."No. of Depreciation Years" := DepreciationGroup."No. of Depreciation Years"; - TaxDepreciationGroupCZF."No. of Depreciation Months" := DepreciationGroup."No. of Depreciation Months"; - TaxDepreciationGroupCZF."Min. Months After Appreciation" := DepreciationGroup."Min. Months After Appreciation"; - TaxDepreciationGroupCZF."Straight First Year" := DepreciationGroup."Straight First Year"; - TaxDepreciationGroupCZF."Straight Next Years" := DepreciationGroup."Straight Next Years"; - TaxDepreciationGroupCZF."Straight Appreciation" := DepreciationGroup."Straight Appreciation"; - TaxDepreciationGroupCZF."Declining First Year" := DepreciationGroup."Declining First Year"; - TaxDepreciationGroupCZF."Declining Next Years" := DepreciationGroup."Declining Next Years"; - TaxDepreciationGroupCZF."Declining Appreciation" := DepreciationGroup."Declining Appreciation"; - TaxDepreciationGroupCZF."Declining Depr. Increase %" := DepreciationGroup."Declining Depr. Increase %"; - TaxDepreciationGroupCZF.Modify(false); - until DepreciationGroup.Next() = 0; - end; - - local procedure CopyFixedAsset(); - var - FixedAsset: Record "Fixed Asset"; - FixedAssetDataTransfer: DataTransfer; - begin - FixedAssetDataTransfer.SetTables(Database::"Fixed Asset", Database::"Fixed Asset"); - FixedAssetDataTransfer.AddFieldValue(FixedAsset.FieldNo("Tax Depreciation Group Code"), FixedAsset.FieldNo("Tax Deprec. Group Code CZF")); - FixedAssetDataTransfer.AddFieldValue(FixedAsset.FieldNo("Clasification Code"), FixedAsset.FieldNo("Classification Code CZF")); - FixedAssetDataTransfer.CopyFields(); - end; - - local procedure CopyDepreciationBook(); - var - DepreciationBook: Record "Depreciation Book"; - DepreciationBookDataTransfer: DataTransfer; - begin - DepreciationBookDataTransfer.SetTables(Database::"Depreciation Book", Database::"Depreciation Book"); - DepreciationBookDataTransfer.AddFieldValue(DepreciationBook.FieldNo("Acqui.,Appr.before Depr. Check"), DepreciationBook.FieldNo("Check Acq. Appr. bef. Dep. CZF")); - DepreciationBookDataTransfer.AddFieldValue(DepreciationBook.FieldNo("All Acquil. in same Year"), DepreciationBook.FieldNo("All Acquisit. in same Year CZF")); - DepreciationBookDataTransfer.AddFieldValue(DepreciationBook.FieldNo("Check Deprication on Disposal"), DepreciationBook.FieldNo("Check Deprec. on Disposal CZF")); - DepreciationBookDataTransfer.AddFieldValue(DepreciationBook.FieldNo("Deprication from 1st Year Day"), DepreciationBook.FieldNo("Deprec. from 1st Year Day CZF")); - DepreciationBookDataTransfer.AddFieldValue(DepreciationBook.FieldNo("Deprication from 1st Month Day"), DepreciationBook.FieldNo("Deprec. from 1st Month Day CZF")); - DepreciationBookDataTransfer.CopyFields(); - end; - - local procedure CopyFADepreciationBook(); - var - FADepreciationBook: Record "FA Depreciation Book"; - FADepreciationBookDataTransfer: DataTransfer; - begin - FADepreciationBookDataTransfer.SetTables(Database::"FA Depreciation Book", Database::"FA Depreciation Book"); - FADepreciationBookDataTransfer.AddFieldValue(FADepreciationBook.FieldNo("Depreciation Interupt up to"), FADepreciationBook.FieldNo("Deprec. Interrupted up to CZF")); - FADepreciationBookDataTransfer.AddFieldValue(FADepreciationBook.FieldNo("Depreciation Group Code"), FADepreciationBook.FieldNo("Tax Deprec. Group Code CZF")); - FADepreciationBookDataTransfer.AddFieldValue(FADepreciationBook.FieldNo("Keep Depr. Ending Date"), FADepreciationBook.FieldNo("Keep Deprec. Ending Date CZF")); - FADepreciationBookDataTransfer.AddFieldValue(FADepreciationBook.FieldNo("Summarize Depr. Entries From"), FADepreciationBook.FieldNo("Sum. Deprec. Entries From CZF")); - FADepreciationBookDataTransfer.CopyFields(); - end; - - local procedure CopyFAPostingGroup(); - var - FAPostingGroup: Record "FA Posting Group"; - FAPostingGroupDataTransfer: DataTransfer; - begin - FAPostingGroupDataTransfer.SetTables(Database::"FA Posting Group", Database::"FA Posting Group"); - FAPostingGroupDataTransfer.AddFieldValue(FAPostingGroup.FieldNo("Acq. Cost Bal. Acc. on Disp."), FAPostingGroup.FieldNo("Acq. Cost Bal. Acc. Disp. CZF")); - FAPostingGroupDataTransfer.AddFieldValue(FAPostingGroup.FieldNo("Book Value Bal. Acc. on Disp."), FAPostingGroup.FieldNo("Book Value Bal. Acc. Disp. CZF")); - FAPostingGroupDataTransfer.CopyFields(); - end; - - local procedure CopyFAExtendedPostingGroup(); - var - FAExtendedPostingGroup: Record "FA Extended Posting Group"; - FAExtendedPostingGroupCZF: Record "FA Extended Posting Group CZF"; - begin - if FAExtendedPostingGroup.FindSet() then - repeat - if not FAExtendedPostingGroupCZF.Get(FAExtendedPostingGroup."FA Posting Group Code", FAExtendedPostingGroup."FA Posting Type", FAExtendedPostingGroup.Code) then begin - FAExtendedPostingGroupCZF.Init(); - FAExtendedPostingGroupCZF."FA Posting Group Code" := FAExtendedPostingGroup."FA Posting Group Code"; - FAExtendedPostingGroupCZF."FA Posting Type" := FAExtendedPostingGroup."FA Posting Type"; - FAExtendedPostingGroupCZF.Code := FAExtendedPostingGroup.Code; - FAExtendedPostingGroupCZF.SystemId := FAExtendedPostingGroup.SystemId; - FAExtendedPostingGroupCZF.Insert(false, true); - end; - FAExtendedPostingGroupCZF."Book Val. Acc. on Disp. (Gain)" := FAExtendedPostingGroup."Book Val. Acc. on Disp. (Gain)"; - FAExtendedPostingGroupCZF."Book Val. Acc. on Disp. (Loss)" := FAExtendedPostingGroup."Book Val. Acc. on Disp. (Loss)"; - FAExtendedPostingGroupCZF."Maintenance Expense Account" := FAExtendedPostingGroup."Maintenance Expense Account"; - FAExtendedPostingGroupCZF."Maintenance Balance Account" := FAExtendedPostingGroup."Maintenance Bal. Acc."; - FAExtendedPostingGroupCZF."Sales Acc. On Disp. (Gain)" := FAExtendedPostingGroup."Sales Acc. On Disp. (Gain)"; - FAExtendedPostingGroupCZF."Sales Acc. On Disp. (Loss)" := FAExtendedPostingGroup."Sales Acc. On Disp. (Loss)"; - FAExtendedPostingGroupCZF.Modify(false); - until FAExtendedPostingGroup.Next() = 0; - end; - - local procedure CopyFAAllocation(); - var - FAAllocation: Record "FA Allocation"; - FAAllocationDataTransfer: DataTransfer; - begin - FAAllocationDataTransfer.SetTables(Database::"FA Allocation", Database::"FA Allocation"); - FAAllocationDataTransfer.AddFieldValue(FAAllocation.FieldNo("Reason/Maintenance Code"), FAAllocation.FieldNo("Reason/Maintenance Code CZF")); - FAAllocationDataTransfer.CopyFields(); - end; - - local procedure CopyFAHistoryEntry(); - var - FAHistoryEntry: Record "FA History Entry"; - FAHistoryEntryCZF: Record "FA History Entry CZF"; - begin - if FAHistoryEntry.FindSet() then - repeat - if not FAHistoryEntryCZF.Get(FAHistoryEntry."Entry No.") then begin - FAHistoryEntryCZF.Init(); - FAHistoryEntryCZF."Entry No." := FAHistoryEntry."Entry No."; - FAHistoryEntryCZF.SystemId := FAHistoryEntry.SystemId; - FAHistoryEntryCZF.Insert(false, true); - end; - FAHistoryEntryCZF.Type := FAHistoryEntry.Type + 1; - FAHistoryEntryCZF."FA No." := FAHistoryEntry."FA No."; - FAHistoryEntryCZF."Old Value" := FAHistoryEntry."Old Value"; - FAHistoryEntryCZF."New Value" := FAHistoryEntry."New Value"; - FAHistoryEntryCZF."Posting Date" := FAHistoryEntry."Creation Date"; - FAHistoryEntryCZF."Closed by Entry No." := FAHistoryEntry."Closed by Entry No."; - FAHistoryEntryCZF.Disposal := FAHistoryEntry.Disposal; - FAHistoryEntryCZF."User ID" := FAHistoryEntry."User ID"; - FAHistoryEntryCZF.Modify(false); - until FAHistoryEntry.Next() = 0; - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Company-Initialize", 'OnCompanyInitialize', '', false, false)] - local procedure CompanyInitialize() - var - DataClassEvalHandlerCZF: Codeunit "Data Class. Eval. Handler CZF"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - DataClassEvalHandlerCZF.ApplyEvaluationClassificationsForPrivacy(); - UpgradeTag.SetAllUpgradeTags(); - end; } diff --git a/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemJournalLine.Table.al b/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemJournalLine.Table.al index ec509164d9..7c32aff6b6 100644 --- a/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemJournalLine.Table.al +++ b/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemJournalLine.Table.al @@ -822,18 +822,6 @@ table 11714 "Stg Item Journal Line" ObsoleteTag = '23.0'; } #endif -#if not CLEANSCHEMA18 - field(11790; "Source No. 2"; Code[20]) - { - Caption = 'Source No. 2'; - ObsoleteState = Removed; - ObsoleteReason = 'This field is replaced by "Invoice-to Source No." field.'; - TableRelation = IF ("Source Type" = CONST(Customer)) Customer - ELSE - IF ("Source Type" = CONST(Vendor)) Vendor; - ObsoleteTag = '18.0'; - } -#endif #if not CLEANSCHEMA23 field(11791; "Source No. 3"; Code[20]) { @@ -846,31 +834,6 @@ table 11714 "Stg Item Journal Line" ObsoleteTag = '23.0'; } #endif -#if not CLEANSCHEMA18 - field(31043; "FA No."; Code[20]) - { - Caption = 'FA No.'; - TableRelation = "Fixed Asset"; - ObsoleteState = Removed; - ObsoleteReason = 'The functionality of Item consumption for FA maintenance will be removed and this field should not be used. (Obsolete::Removed in release 01.2021)'; - ObsoleteTag = '18.0'; - } - field(31044; "Maintenance Code"; Code[10]) - { - Caption = 'Maintenance Code'; - TableRelation = Maintenance; - ObsoleteState = Removed; - ObsoleteReason = 'The functionality of Item consumption for FA maintenance will be removed and this field should not be used. (Obsolete::Removed in release 01.2021)'; - ObsoleteTag = '18.0'; - } - field(31060; "Perform. Country/Region Code"; Code[10]) - { - Caption = 'Perform. Country/Region Code'; - ObsoleteState = Removed; - ObsoleteReason = 'The functionality of VAT Registration in Other Countries has been removed and this field should not be used. (Obsolete::Removed in release 01.2021)'; - ObsoleteTag = '18.0'; - } -#endif #if not CLEANSCHEMA23 field(31061; "Tariff No."; Code[20]) { diff --git a/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemLedgerEntry.Table.al b/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemLedgerEntry.Table.al index fee372e941..6c02b5fa8c 100644 --- a/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemLedgerEntry.Table.al +++ b/Apps/CZ/HybridBCLast_CZ/app/src/tables/StgItemLedgerEntry.Table.al @@ -479,31 +479,6 @@ table 11715 "Stg Item Ledger Entry" ObsoleteTag = '23.0'; } #endif -#if not CLEANSCHEMA18 - field(31043; "FA No."; Code[20]) - { - Caption = 'FA No.'; - TableRelation = "Fixed Asset"; - ObsoleteState = Removed; - ObsoleteReason = 'The functionality of Item consumption for FA maintenance will be removed and this field should not be used. (Obsolete::Removed in release 01.2021)'; - ObsoleteTag = '18.0'; - } - field(31044; "Maintenance Code"; Code[10]) - { - Caption = 'Maintenance Code'; - TableRelation = Maintenance; - ObsoleteState = Removed; - ObsoleteReason = 'The functionality of Item consumption for FA maintenance will be removed and this field should not be used. (Obsolete::Removed in release 01.2021)'; - ObsoleteTag = '18.0'; - } - field(31060; "Perform. Country/Region Code"; Code[10]) - { - Caption = 'Perform. Country/Region Code'; - ObsoleteState = Removed; - ObsoleteReason = 'The functionality of VAT Registration in Other Countries has been removed and this field should not be used. (Obsolete::Removed in release 01.2021)'; - ObsoleteTag = '18.0'; - } -#endif #if not CLEANSCHEMA23 field(31061; "Tariff No."; Code[20]) { diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/WarehouseModuleSetupDE.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/WarehouseModuleSetupDE.Codeunit.al deleted file mode 100644 index 522a08a471..0000000000 --- a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/WarehouseModuleSetupDE.Codeunit.al +++ /dev/null @@ -1,12 +0,0 @@ -codeunit 11083 "Warehouse Module Setup DE" -{ - InherentEntitlements = X; - InherentPermissions = X; - - [EventSubscriber(ObjectType::Table, Database::"Warehouse Module Setup", 'OnBeforeInsertEvent', '', false, false)] - local procedure LocalDemoDataSetup(var Rec: Record "Warehouse Module Setup") - begin - // Vendor 10000 in DE from Evaluation is not domestic - Rec."Vendor No." := '20000'; - end; -} diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Bank/1. Setup Data/CreateBankAccPostGrpDE.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Bank/1. Setup Data/CreateBankAccPostGrpDE.Codeunit.al new file mode 100644 index 0000000000..81a1f0b687 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Bank/1. Setup Data/CreateBankAccPostGrpDE.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11089 "Create Bank Acc. Post. Grp DE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccountingpostingGrp(var Rec: Record "Bank Account Posting Group") + var + CreateDEGLAccount: Codeunit "Create DE GL Acc."; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateBankAccPostingGroup: Codeunit "Create Bank Acc. Posting Grp"; + begin + case Rec.Code of + CreateBankAccPostingGroup.Checking(): + ValidateBankAccountingpostingGrp(Rec, CreateDEGLAccount.BusinessAccountOperatingDomestic()); + CreateBankAccPostingGroup.Operating(): + ValidateBankAccountingpostingGrp(Rec, CreateGLAccount.Cash()); + CreateBankAccPostingGroup.Savings(): + ValidateBankAccountingpostingGrp(Rec, CreateDEGLAccount.BusinessAccountOperatingForeign()); + end; + end; + + local procedure ValidateBankAccountingpostingGrp(var BankAccountPostingGrp: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGrp.Validate("G/L Account No.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Bank/2. Master Data/CreateDEBankAccount.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Bank/2. Master Data/CreateDEBankAccount.Codeunit.al new file mode 100644 index 0000000000..f90d9bdaa1 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Bank/2. Master Data/CreateDEBankAccount.Codeunit.al @@ -0,0 +1,16 @@ +codeunit 11091 "Create DE Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if Rec."No." = CreateBankAccount.Checking() then + Rec.Validate("Min. Balance", -1447200); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEAccScheduleLine.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..f678217208 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEAccScheduleLine.Codeunit.al @@ -0,0 +1,290 @@ +codeunit 11385 "Create DE Acc. Schedule Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateDEGLAcc: Codeunit "Create DE GL Acc."; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateAccScheduleLine(Rec, '5000', LiabilitiesLbl, '3000..4000', Enum::"Acc. Schedule Line Totaling Type"::Formula, true, false); + 70000: + ValidateAccScheduleLine(Rec, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 80000: + ValidateAccScheduleLine(Rec, '6000', IncomeStatementLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", true, false); + 90000: + ValidateAccScheduleLine(Rec, '7000', IncomeLbl, '18', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", false, false); + 100000: + ValidateAccScheduleLine(Rec, '8000', CostofGoodsSoldLbl, '26', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", false, false); + 110000: + ValidateAccScheduleLine(Rec, '9000', ExpenseLbl, '31', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", false, false); + 120000: + ValidateAccScheduleLine(Rec, '9900', NetIncomelbl, '7000..9000', Enum::"Acc. Schedule Line Totaling Type"::Formula, true, false); + 130000: + ValidateAccScheduleLine(Rec, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + end; + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + Rec.Validate(Totaling, '3987'); + 50000: + Rec.Validate(Totaling, '1499'); + 60000: + Rec.Validate(Totaling, '1509'); + 70000: + Rec.Validate(Totaling, '2990'); + 110000: + Rec.Validate(Totaling, '1290'); + 120000: + Rec.Validate(Totaling, '1659'); + 130000: + Rec.Validate(Totaling, '1798'); + 140000: + Rec.Validate(Totaling, '4198'); + 150000: + Rec.Validate(Totaling, '5990'); + end; + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateAccScheduleLine(Rec, '10', TotalRevenueLbl, '8550', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 20000: + ValidateAccScheduleLine(Rec, '20', TotalReceivableslbl, '1499', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 30000: + ValidateAccScheduleLine(Rec, '30', TotalPayablesLbl, '1659', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 40000: + ValidateAccScheduleLine(Rec, '40', TotalInventoryLbl, '3987', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 50000: + ValidateAccScheduleLine(Rec, '100', DaysofSalesOutstandingLbl, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, false, true); + 60000: + ValidateAccScheduleLine(Rec, '110', DaysofPaymentOutstandingLbl, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, false, true); + 70000: + ValidateAccScheduleLine(Rec, '120', DaysSalesofInventoryLbl, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, false, true); + 80000: + ValidateAccScheduleLine(Rec, '200', CashCycleDaysLbl, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, false, true); + end; + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateAccScheduleLine(Rec, '10', TotalReceivablesLbl, '1499', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 20000: + ValidateAccScheduleLine(Rec, '20', TotalPayablesLbl, '1659', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 30000: + ValidateAccScheduleLine(Rec, '30', TotalLiquidFundsLbl, '2990|1290', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 40000: + ValidateAccScheduleLine(Rec, '40', TotalCashFlowLbl, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false, false); + end; + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateAccScheduleLine(Rec, '10', TotalRevenueCreditLbl, '8550', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 30000: + ValidateAccScheduleLine(Rec, '20', TotalGoodsSoldLbl, CreateDEGLAcc.TOTALCOSTOFGOODSSOLD(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 40000: + ValidateAccScheduleLine(Rec, '30', TotalExternalCostsLbl, '8695', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 50000: + ValidateAccScheduleLine(Rec, '40', TotalPersonnelCostsLbl, '8790', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 60000: + ValidateAccScheduleLine(Rec, '50', TotalDeprOnFALbl, '8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 70000: + ValidateAccScheduleLine(Rec, '60', OtherExpensesLbl, CreateDEGLAcc.MiscVATPayables(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + end; + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateAccScheduleLine(Rec, '10', TotalRevenueLbl, '8550', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 20000: + ValidateAccScheduleLine(Rec, '20', TotalCostLbl, '5999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 40000: + ValidateAccScheduleLine(Rec, '40', GrossMarginPerLbl, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, false, true); + 50000: + ValidateAccScheduleLine(Rec, '50', OperatingExpensesLbl, '8695|8790|8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 70000: + ValidateAccScheduleLine(Rec, '70', OperatingMarginPerLbl, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, false, true); + 80000: + ValidateAccScheduleLine(Rec, '80', OtherExpensesLbl, CreateDEGLAcc.MiscVATPayables(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 90000: + ValidateAccScheduleLine(Rec, '90', IncomeBeforeInterestAndTaxLbl, '8995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + end; + // if Rec."Schedule Name" = CreateAccountScheduleName.BalanceSheet() then + // case Rec."Line No." of + // 10000: + // ValidateAccScheduleLine(Rec, '00..0400|0510..0940|1101..1180|1999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 30000: + // ValidateAccScheduleLine(Rec, '1600..1990', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 40000: + // ValidateAccScheduleLine(Rec, '1200..1499', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 50000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 60000: + // ValidateAccScheduleLine(Rec, '1000..1099', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 90000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 100000: + // ValidateAccScheduleLine(Rec, '0490', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 140000: + // ValidateAccScheduleLine(Rec, '3..3999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 150000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 160000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 170000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 200000: + // ValidateAccScheduleLine(Rec, '2..2010|2970..2999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 210000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 220000: + // ValidateAccScheduleLine(Rec, '4..8999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 230000: + // ValidateAccScheduleLine(Rec, CreateDEGLAcc.DistributionstoShareholders(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // end; + // if Rec."Schedule Name" = CreateAccountScheduleName.CashFlowStatement() then + // case Rec."Line No." of + // 20000: + // ValidateAccScheduleLine(Rec, '4..8999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 40000: + // ValidateAccScheduleLine(Rec, '1200..1499', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 50000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 60000: + // ValidateAccScheduleLine(Rec, '1000..1099', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 70000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 80000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 120000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 130000: + // ValidateAccScheduleLine(Rec, CreateDEGLAcc.AccumulatedDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 170000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 180000: + // ValidateAccScheduleLine(Rec, CreateDEGLAcc.DistributionstoShareholders(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 220000: + // ValidateAccScheduleLine(Rec, '1600..1990', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // end; + // if Rec."Schedule Name" = CreateAccountScheduleName.IncomeStatement() then + // case Rec."Line No." of + // 10000: + // ValidateAccScheduleLine(Rec, '4000..4202|4414..4999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 20000: + // ValidateAccScheduleLine(Rec, '4410..4413', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 30000: + // ValidateAccScheduleLine(Rec, '4400..4409', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 50000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 110000: + // ValidateAccScheduleLine(Rec, '5|5030..5043|5999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 120000: + // ValidateAccScheduleLine(Rec, '5900..5905', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 130000: + // ValidateAccScheduleLine(Rec, '5020..5023', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 200000: + // ValidateAccScheduleLine(Rec, '6..6309|6320|6340..6880|7130..7999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 210000: + // ValidateAccScheduleLine(Rec, CreateDEGLAcc.RentLeases(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 220000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 230000: + // ValidateAccScheduleLine(Rec, CreateGLAcc.InterestIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 260000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 290000: + // ValidateAccScheduleLine(Rec, CreateDEGLAcc.RepairsandMaintenanceforRental(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 300000: + // ValidateAccScheduleLine(Rec, '6325..6330', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 310000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 320000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 350000: + // ValidateAccScheduleLine(Rec, CreateDEGLAcc.BadDebtLosses(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // end; + // if Rec."Schedule Name" = CreateAccountScheduleName.RetainedEarnings() then + // case Rec."Line No." of + // 10000: + // ValidateAccScheduleLine(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 20000: + // ValidateAccScheduleLine(Rec, '4..8999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // 50000: + // ValidateAccScheduleLine(Rec, CreateDEGLAcc.DistributionstoShareholders(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + // end; + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateAccScheduleLine(Rec, '11', SalesRetailDomLbl, '8400', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 50000: + ValidateAccScheduleLine(Rec, '12', SalesRetailEULbl, '8315', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 60000: + ValidateAccScheduleLine(Rec, '13', SalesRetailExportLbl, '8120', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 70000: + ValidateAccScheduleLine(Rec, '14', JobSalesAdjmtRetailLbl, '8451', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 80000: + ValidateAccScheduleLine(Rec, '15', SalesofRetailTotalLbl, '8550', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, false); + 100000: + ValidateAccScheduleLine(Rec, '20', RevenueArea10to30TotalLbl, '8400..8550', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 110000: + ValidateAccScheduleLine(Rec, '21', RevenueArea40to85TotalLbl, '8400..8550', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 120000: + ValidateAccScheduleLine(Rec, '22', RevenueNoAreacodeTotalLbl, '8400..8550', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false, false); + 130000: + ValidateAccScheduleLine(Rec, '30', RevenueTotalLbl, '20..29', Enum::"Acc. Schedule Line Totaling Type"::Formula, true, false); + end; + end; + + local procedure ValidateAccScheduleLine(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Description: Text[100]; Totaling: Text[250]; TotalingType: Enum "Acc. Schedule Line Totaling Type"; Bold: Boolean; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Bold, Bold); + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + IncomeStatementLbl: Label 'INCOME STATEMENT', MaxLength = 100; + IncomeLbl: Label 'Income', MaxLength = 100; + CostOfGoodsSoldLbl: Label 'Cost of Goods Sold', MaxLength = 100; + ExpenseLbl: Label 'Expense', MaxLength = 100; + NetIncomeLbl: Label 'NET INCOME', MaxLength = 100; + OtherExpensesLbl: Label 'Other Expenses', MaxLength = 100; + TotalCashFlowLbl: Label 'Total Cash Flow', MaxLength = 100; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + TotalReceivablesLbl: Label 'Total Receivables', MaxLength = 100; + TotalPayablesLbl: Label 'Total Payables', MaxLength = 100; + TotalInventoryLbl: Label 'Total Inventory', MaxLength = 100; + DaysofSalesOutstandingLbl: Label 'Days of Sales Outstanding', MaxLength = 100; + DaysofPaymentOutstandingLbl: Label 'Days of Payment Outstanding', MaxLength = 100; + DaysSalesofInventoryLbl: Label 'Days Sales of Inventory', MaxLength = 100; + CashCycleDaysLbl: Label 'Cash Cycle (Days)', MaxLength = 100; + TotalLiquidFundsLbl: Label 'Total Liquid Funds', MaxLength = 100; + TotalRevenueCreditLbl: Label 'Total Revenue (Credit)', MaxLength = 100; + TotalGoodsSoldLbl: Label 'Total Goods Sold', MaxLength = 100; + TotalExternalCostsLbl: Label 'Total External Costs ', MaxLength = 100; + TotalPersonnelCostsLbl: Label 'Total Personnel Costs', MaxLength = 100; + TotalDeprOnFALbl: Label 'Total Depr. on Fixed Assets', MaxLength = 100; + TotalCostLbl: Label 'Total Cost', MaxLength = 100; + OperatingExpensesLbl: Label 'Operating Expenses', MaxLength = 100; + IncomeBeforeInterestAndTaxLbl: Label 'Income before Interest and Tax', MaxLength = 100; + SalesRetailDomLbl: Label 'Sales, Retail - Dom.', MaxLength = 100; + SalesRetailEULbl: Label 'Sales, Retail - EU', MaxLength = 100; + SalesRetailExportLbl: Label 'Sales, Retail - Export', MaxLength = 100; + JobSalesAdjmtRetailLbl: Label 'Job Sales Adjmt, Retail', MaxLength = 100; + SalesofRetailTotalLbl: Label 'Sales of Retail, Total', MaxLength = 100; + RevenueArea10to30TotalLbl: Label 'Revenue Area 10..30, Total', MaxLength = 100; + RevenueArea40to85TotalLbl: Label 'Revenue Area 40..85, Total', MaxLength = 100; + RevenueNoAreacodeTotalLbl: Label 'Revenue, no Area code, Total', MaxLength = 100; + RevenueTotalLbl: Label 'Revenue, Total', MaxLength = 100; + LiabilitiesLbl: Label 'Liabilities', MaxLength = 100; + GrossMarginPerLbl: Label 'Gross Margin %', MaxLength = 100; + OperatingMarginPerLbl: Label 'Operating Margin %', MaxLength = 100; +} diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEAnalysisView.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEAnalysisView.Codeunit.al new file mode 100644 index 0000000000..35ef74a20f --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEAnalysisView.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 11384 "Create DE Analysis View" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Analysis View", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAnalysisView(var Rec: Record "Analysis View") + var + CreateAnalysisView: Codeunit "Create Analysis View"; + begin + case Rec.Code of + CreateAnalysisView.SalesRevenue(): + Rec.Validate("Account Filter", '8000..8999'); + end; + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDECurrency.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDECurrency.Codeunit.al new file mode 100644 index 0000000000..1d8b5de2be --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDECurrency.Codeunit.al @@ -0,0 +1,78 @@ +codeunit 11377 "Create DE Currency" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Currency: Record Currency; + CreateDEGLAccount: Codeunit "Create DE GL Acc."; + CreateCurrency: Codeunit "Create Currency"; + ContosoCurrency: Codeunit "Contoso Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateCurrency(CreateCurrency.AED(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.AUD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.BGN(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.BND(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.BRL(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.CAD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.CHF(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.CZK(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.DKK(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.DZD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.EUR(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.FJD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.HKD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.HRK(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.HUF(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.IDR(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.INR(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.ISK(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.JPY(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.KES(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.MAD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.MXN(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.MYR(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.MZN(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.NGN(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.NOK(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.NZD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.PHP(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.PLN(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.RON(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.RSD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.RUB(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.SAR(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.SBD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.SEK(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.SGD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.SZL(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.THB(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.TND(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.TOP(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.TRY(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.UGX(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.USD(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.VUV(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.WST(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.XPF(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + UpdateCurrency(CreateCurrency.ZAR(), CreateDEGLAccount.CurrencyGains(), CreateDEGLAccount.CurrencyLosses()); + ContosoCurrency.SetOverwriteData(true); + ContosoCurrency.InsertCurrency(CreateCurrency.GBP(), '826', BritishPoundLbl, CreateGLAccount.UnrealizedFXGains(), CreateDEGLAccount.CurrencyGains(), CreateGLAccount.UnrealizedFXLosses(), CreateDEGLAccount.CurrencyLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.00001, false, '2:2', '2:5'); + ContosoCurrency.SetOverwriteData(false); + end; + + local procedure UpdateCurrency(CurrecnyCode: Code[10]; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + var + Currency: Record Currency; + begin + Currency.Get(CurrecnyCode); + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + Currency.Modify(true); + end; + + var + BritishpoundLbl: Label 'Pound Sterling', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGLAcc.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGLAcc.Codeunit.al new file mode 100644 index 0000000000..45a466e652 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGLAcc.Codeunit.al @@ -0,0 +1,2827 @@ +codeunit 11119 "Create DE GL Acc." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + AddGLAccountforDE(); + end; + + local procedure AddGLAccountforDE() + var + GLAccountIndent: Codeunit "G/L Account-Indent"; + CreateVATPostingGroup: Codeunit "Create VAT Posting Groups"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.SetOverwriteData(true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobCosts(), CreateGLAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Salaries(), CreateGLAccount.SalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BalanceSheet(), CreateGLAccount.BalanceSheetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSales(), CreateGLAccount.JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DevelopmentExpenditure(), DevelopmentExpenditureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TenancySiteLeaseholdandsimilarrights(), TenancySiteLeaseholdandsimilarrightsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Goodwill(), GoodwillName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsforIntangibleFixedAssets(), AdvancedPaymentsforIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Building(), BuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofImprovementstoLeasedProperty(), CostofImprovementstoLeasedPropertyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Land(), LandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EquipmentsandTools(), EquipmentsandToolsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Computers(), ComputersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CarsandotherTransportEquipments(), CarsandotherTransportEquipmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LeasedAssets(), LeasedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciation(), AccumulatedDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LongtermReceivables(), LongtermReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ParticipationinGroupCompanies(), ParticipationinGroupCompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LoanstoPartnersorrelatedParties(), LoanstoPartnersorrelatedPartiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredTaxAssets(), DeferredTaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventoriesProductsandworkinProgress(), InventoriesProductsandworkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SuppliesandConsumables(), SuppliesandConsumablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProductsinProgress(), ProductsinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsforResale(), GoodsforResaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsforgoodsandservices(), AdvancedPaymentsforgoodsandservicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherInventoryItems(), OtherInventoryItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkinProgress(), WorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccruedCosts(), WIPAccruedCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPInvoicedSales(), WIPInvoicedSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWorkinProgress(), TotalWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1080..1089', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInventoryProductsandWorkinProgress(), TotalInventoryProductsandWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1000..1099', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Receivables(), ReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountReceivableDomestic(), AccountReceivableDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountReceivableForeign(), AccountReceivableForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ContractualReceivables(), ContractualReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivablefromEmployees(), CurrentReceivablefromEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountsforTaxesandcharges(), ClearingAccountsforTaxesandchargesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxAssets(), TaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATReduced(), PurchaseVATReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATNormal(), PurchaseVATNormalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscVATReceivables(), MiscVATReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivablesfromgroupcompanies(), CurrentReceivablesfromgroupcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalReceivables(), TotalReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1200..1499', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidRent(), PrepaidRentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Assetsintheformofprepaidexpenses(), AssetsintheformofprepaidexpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Convertibledebtinstruments(), ConvertibledebtinstrumentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CashandBank(), CashandBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BusinessaccountOperatingDomestic(), BusinessaccountOperatingDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BusinessaccountOperatingForeign(), BusinessaccountOperatingForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otherbankaccounts(), OtherbankaccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CertificateofDeposit(), CertificateofDepositName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCashandBank(), TotalCashandBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '1600..1899', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Liability(), LiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BondsandDebentureLoans(), BondsandDebentureLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConvertiblesLoans(), ConvertiblesLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLongtermLiabilities(), OtherLongtermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankoverdraftFacilities(), BankoverdraftFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableDomestic(), AccountsPayableDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableForeign(), AccountsPayableForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Advancesfromcustomers(), AdvancesfromcustomersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAssets(), CreateGLAccount.TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, '00..1999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Bankoverdraftshortterm(), BankoverdraftshorttermName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredRevenue(), DeferredRevenueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxesLiable(), TaxesLiableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVATReduced(), SalesVATReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVATNormal(), SalesVATNormalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscVATPayables(), MiscVATPayablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedIncomeTax(), EstimatedIncomeTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedPayrolltaxonPensionCosts(), EstimatedPayrolltaxonPensionCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmployeesWithholdingTaxes(), EmployeesWithholdingTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StatutorySocialsecurityContributions(), StatutorySocialsecurityContributionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AttachmentsofEarning(), AttachmentsofEarningName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HolidayPayfund(), HolidayPayfundName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLiabilitiestoEmployees(), CurrentLiabilitiestoEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLoans(), CurrentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilities(), CreateGLAccount.TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, '3..3999', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Equity(), EquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquityPartner(), EquityPartnerName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShareCapital(), ShareCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Profitorlossfromthepreviousyear(), ProfitorlossfromthepreviousyearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DistributionstoShareholders(), DistributionstoShareholdersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalEquity(), TotalEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2..2999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Income(), IncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesofGoods(), SalesofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleofFinishedGoods(), SaleofFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreateVATPostingGroup.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SaleofRawMaterials(), SaleofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreateVATPostingGroup.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResaleofGoods(), ResaleofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreateVATPostingGroup.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofGoods(), TotalSalesofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4400..4409', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesofResources(), CreateGLAccount.SalesofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleofResources(), SaleofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreateVATPostingGroup.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SaleofSubcontracting(), SaleofSubcontractingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreateVATPostingGroup.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSalesofResources(), CreateGLAccount.TotalSalesofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, '4410..4413', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Incomefromsecurities(), IncomefromsecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreateVATPostingGroup.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManagementFeeRevenue(), ManagementFeeRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyGains(), CurrencyGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherIncidentalRevenue(), OtherIncidentalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobsandServices(), JobsandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesApplied(), JobSalesAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofServiceContracts(), SalesofServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreateVATPostingGroup.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofServiceWork(), SalesofServiceWorkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalJobsandServices(), TotalJobsandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4414..4419', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenueReductions(), RevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesDiscounts(), SalesDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesInvoiceRounding(), SalesInvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesReturns(), SalesReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenueReductions(), TotalRevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4700..4799', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALINCOME(), TOTALINCOMEName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, '4000..4999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(COSTOFGOODSSOLD(), COSTOFGOODSSOLDName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofGoods(), CostofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofMaterials(), CostofMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofMaterialsProjects(), CostofMaterialsProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofGoods(), TotalCostofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5020..5023', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofResourcesandServices(), CostofResourcesandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofLabor(), CostofLaborName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofLaborProjects(), CostofLaborProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofLaborWarrantyContract(), CostofLaborWarrantyContractName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofResources(), TotalCostofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5900..5905', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostsofJobs(), CostsofJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostsApplied(), JobCostsAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostsofJobs(), TotalCostsofJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5040..5043', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Subcontractedwork(), SubcontractedworkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManufVariances(), ManufVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceCap(), PurchaseVarianceCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MaterialVariance(), MaterialVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapacityVariance(), CapacityVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SubcontractedVariance(), SubcontractedVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapOverheadVariance(), CapOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MfgOverheadVariance(), MfgOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalManufVariances(), TotalManufVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5030..5038', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofVariances(), CostofVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TOTALCOSTOFGOODSSOLD(), TOTALCOSTOFGOODSSOLDName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, '5..5999', Enum::"General Posting Type"::" ", '', '', false, false, true); + ContosoGLAccount.InsertGLAccount(EXPENSES(), EXPENSESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentalFacilities(), RentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentLeases(), RentLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityforRental(), ElectricityforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HeatingforRental(), HeatingforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterandSewerageforRental(), WaterandSewerageforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningandWasteforRental(), CleaningandWasteforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenanceforRental(), RepairsandMaintenanceforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesRental(), InsurancesRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherRentalExpenses(), OtherRentalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRentalFacilities(), TotalRentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6309..6399', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Hireofmachinery(), HireofmachineryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Hireofcomputers(), HireofcomputersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Hireofotherfixedassets(), HireofotherfixedassetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PassengerCarCosts(), PassengerCarCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TruckCosts(), TruckCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othervehicleexpenses(), OthervehicleexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Freightfeesforgoods(), FreightfeesforgoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Customsandforwarding(), CustomsandforwardingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Freightfeesprojects(), FreightfeesprojectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TravelExpenses(), TravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Tickets(), TicketsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rentalvehicles(), RentalvehiclesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Boardandlodging(), BoardandlodgingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othertravelexpenses(), OthertravelexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTravelExpenses(), TotalTravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6649..6669', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvertisementDevelopment(), AdvertisementDevelopmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OutdoorandTransportationAds(), OutdoorandTransportationAdsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Admatteranddirectmailings(), AdmatteranddirectmailingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConferenceExhibitionSponsorship(), ConferenceExhibitionSponsorshipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Samplescontestsgifts(), SamplescontestsgiftsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FilmTVradiointernetads(), FilmTVradiointernetadsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreditCardCharges(), CreditCardChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingdeductible(), BusinessEntertainingdeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingnondeductible(), BusinessEntertainingnondeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PhoneServices(), PhoneServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Dataservices(), DataservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Postalfees(), PostalfeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsumableExpensiblehardware(), ConsumableExpensiblehardwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Softwareandsubscriptionfees(), SoftwareandsubscriptionfeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CorporateInsurance(), CorporateInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BadDebtLosses(), BadDebtLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualinterrimReports(), AnnualinterrimReportsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayableInvoiceRounding(), PayableInvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountingServices(), AccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LegalFeesandAttorneyServices(), LegalFeesandAttorneyServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherExternalServices(), OtherExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Miscexternalexpenses(), MiscexternalexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseDiscounts(), PurchaseDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Personnel(), PersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HourlyWages(), HourlyWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OvertimeWages(), OvertimeWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Bonuses(), BonusesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CommissionsPaid(), CommissionsPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Pensionfeesandrecurringcosts(), PensionfeesandrecurringcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmployerContributions(), EmployerContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HealthInsurance(), HealthInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnel(), TotalPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6001..6199', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationLandandProperty(), DepreciationLandandPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationFixedAssets(), DepreciationFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyLosses(), CurrencyLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TOTALEXPENSES(), TOTALEXPENSESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Expense", Enum::"G/L Account Type"::"End-Total", '', '', 0, '6..7999', Enum::"General Posting Type"::"Purchase", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncome(), CreateGLAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.SetOverwriteData(false); + GLAccountIndent.Indent(); + UpdateGLAccountCatagory(); + UpdateConsolidationGLAccounts(); + end; + + local procedure UpdateGLAccountCatagory() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + local procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, '00', '1999'); + GLAccountCategory."Account Category"::Liabilities: + UpdateGLAccounts(GLAccountCategory, '3', '3999'); + GLAccountCategory."Account Category"::Equity: + UpdateGLAccounts(GLAccountCategory, '2', '2999'); + GLAccountCategory."Account Category"::Income: + UpdateGLAccounts(GLAccountCategory, '4000', '4999'); + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, '5', '5999'); + GLAccountCategory."Account Category"::Expense: + UpdateGLAccounts(GLAccountCategory, '6', '7999'); + end; + end; + + local procedure AssignSubcategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, '1600', '1990'); + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, '1000', '1099'); + GLAccountCategoryMgt.GetAR(): + UpdateGLAccounts(GLAccountCategory, '1200', '1499'); + GLAccountCategoryMgt.GetAccumDeprec(): + UpdateGLAccounts(GLAccountCategory, '0490', '0490'); + GLAccountCategoryMgt.GetDistrToShareholders(): + UpdateGLAccounts(GLAccountCategory, '2100', '2100'); + GLAccountCategoryMgt.GetIncomeService(): + UpdateGLAccounts(GLAccountCategory, '4410', '4413'); + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, '4400', '4409'); + GLAccountCategoryMgt.GetCOGSLabor(): + UpdateGLAccounts(GLAccountCategory, '5900', '5905'); + GLAccountCategoryMgt.GetCOGSMaterials(): + UpdateGLAccounts(GLAccountCategory, '5020', '5023'); + GLAccountCategoryMgt.GetRentExpense(): + UpdateGLAccounts(GLAccountCategory, '6310', '6310'); + GLAccountCategoryMgt.GetInterestExpense(): + UpdateGLAccounts(GLAccountCategory, '4203', '4203'); + GLAccountCategoryMgt.GetBadDebtExpense(): + UpdateGLAccounts(GLAccountCategory, '6930', '6930'); + GLAccountCategoryMgt.GetRepairsExpense(): + UpdateGLAccounts(GLAccountCategory, '6335', '6335'); + GLAccountCategoryMgt.GetUtilitiesExpense(): + UpdateGLAccounts(GLAccountCategory, '6325', '6330'); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforDE() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ModifyGLAccountForW1(); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), '0'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '00'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '0920'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '1001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '1081'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), '1082'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '1101'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), '1999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '3500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '3999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), '4'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), '4203'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), '4410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofResourcesName(), '4413'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '4415'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '5041'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '6020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '6815'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), '8999'); + ContosoGLAccount.AddAccountForLocalization(DevelopmentExpenditureName(), '0148'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '0150'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsforIntangibleFixedAssetsName(), '0170'); + ContosoGLAccount.AddAccountForLocalization(LandName(), '0200'); + ContosoGLAccount.AddAccountForLocalization(TenancySiteLeaseholdandsimilarrightsName(), '0220'); + ContosoGLAccount.AddAccountForLocalization(BuildingName(), '0260'); + ContosoGLAccount.AddAccountForLocalization(CostofImprovementstoLeasedPropertyName(), '0290'); + ContosoGLAccount.AddAccountForLocalization(EquipmentsandToolsName(), '0400'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationName(), '0490'); + ContosoGLAccount.AddAccountForLocalization(LeasedAssetsName(), '0510'); + ContosoGLAccount.AddAccountForLocalization(CarsandotherTransportEquipmentsName(), '0520'); + ContosoGLAccount.AddAccountForLocalization(ComputersName(), '0635'); + ContosoGLAccount.AddAccountForLocalization(PrepaidRentName(), '0750'); + ContosoGLAccount.AddAccountForLocalization(ParticipationinGroupCompaniesName(), '0804'); + ContosoGLAccount.AddAccountForLocalization(LoanstoPartnersorrelatedPartiesName(), '0814'); + ContosoGLAccount.AddAccountForLocalization(ConvertibledebtinstrumentsName(), '0940'); + ContosoGLAccount.AddAccountForLocalization(InventoriesProductsandworkinProgressName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(SuppliesandConsumablesName(), '1002'); + ContosoGLAccount.AddAccountForLocalization(ProductsinProgressName(), '1051'); + ContosoGLAccount.AddAccountForLocalization(WorkinProgressName(), '1080'); + ContosoGLAccount.AddAccountForLocalization(WIPAccruedCostsName(), '1083'); + ContosoGLAccount.AddAccountForLocalization(WIPInvoicedSalesName(), '1084'); + ContosoGLAccount.AddAccountForLocalization(TotalWorkinProgressName(), '1089'); + ContosoGLAccount.AddAccountForLocalization(TotalInventoryProductsandWorkinProgressName(), '1099'); + ContosoGLAccount.AddAccountForLocalization(GoodsforResaleName(), '1102'); + ContosoGLAccount.AddAccountForLocalization(OtherInventoryItemsName(), '1178'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsforgoodsandservicesName(), '1180'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(AccountReceivableDomesticName(), '1202'); + ContosoGLAccount.AddAccountForLocalization(AccountReceivableForeignName(), '1203'); + ContosoGLAccount.AddAccountForLocalization(LongtermReceivablesName(), '1225'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivablesfromgroupcompaniesName(), '1260'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivablefromEmployeesName(), '1340'); + ContosoGLAccount.AddAccountForLocalization(ContractualReceivablesName(), '1375'); + ContosoGLAccount.AddAccountForLocalization(MiscVATReceivablesName(), '1400'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATReducedName(), '1403'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATNormalName(), '1406'); + ContosoGLAccount.AddAccountForLocalization(TaxAssetsName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountsforTaxesandchargesName(), '1480'); + ContosoGLAccount.AddAccountForLocalization(TotalReceivablesName(), '1499'); + ContosoGLAccount.AddAccountForLocalization(CashandBankName(), '1600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '1610'); + ContosoGLAccount.AddAccountForLocalization(BusinessaccountOperatingDomesticName(), '1810'); + ContosoGLAccount.AddAccountForLocalization(BusinessaccountOperatingForeignName(), '1820'); + ContosoGLAccount.AddAccountForLocalization(OtherbankaccountsName(), '1830'); + ContosoGLAccount.AddAccountForLocalization(TotalCashandBankName(), '1899'); + ContosoGLAccount.AddAccountForLocalization(AssetsintheformofprepaidexpensesName(), '1900'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxAssetsName(), '1950'); + ContosoGLAccount.AddAccountForLocalization(CertificateofDepositName(), '1990'); + ContosoGLAccount.AddAccountForLocalization(EquityName(), '2'); + ContosoGLAccount.AddAccountForLocalization(EquityPartnerName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(ShareCapitalName(), '2010'); + ContosoGLAccount.AddAccountForLocalization(DistributionstoShareholdersName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(ProfitorlossfromthepreviousyearName(), '2970'); + ContosoGLAccount.AddAccountForLocalization(TotalEquityName(), '2999'); + ContosoGLAccount.AddAccountForLocalization(LiabilityName(), '3'); + ContosoGLAccount.AddAccountForLocalization(EstimatedPayrolltaxonPensionCostsName(), '3011'); + ContosoGLAccount.AddAccountForLocalization(EstimatedIncomeTaxName(), '3040'); + ContosoGLAccount.AddAccountForLocalization(HolidayPayfundName(), '3079'); + ContosoGLAccount.AddAccountForLocalization(BondsandDebentureLoansName(), '3100'); + ContosoGLAccount.AddAccountForLocalization(ConvertiblesLoansName(), '3120'); + ContosoGLAccount.AddAccountForLocalization(OtherLongtermLiabilitiesName(), '3150'); + ContosoGLAccount.AddAccountForLocalization(BankoverdraftFacilitiesName(), '3151'); + ContosoGLAccount.AddAccountForLocalization(BankoverdraftshorttermName(), '3181'); + ContosoGLAccount.AddAccountForLocalization(AdvancesfromcustomersName(), '3250'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableDomesticName(), '3301'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableForeignName(), '3302'); + ContosoGLAccount.AddAccountForLocalization(CurrentLoansName(), '3560'); + ContosoGLAccount.AddAccountForLocalization(TaxesLiableName(), '3700'); + ContosoGLAccount.AddAccountForLocalization(EmployeesWithholdingTaxesName(), '3720'); + ContosoGLAccount.AddAccountForLocalization(CurrentLiabilitiestoEmployeesName(), '3721'); + ContosoGLAccount.AddAccountForLocalization(AttachmentsofEarningName(), '3725'); + ContosoGLAccount.AddAccountForLocalization(StatutorySocialsecurityContributionsName(), '3740'); + ContosoGLAccount.AddAccountForLocalization(MiscVATPayablesName(), '3800'); + ContosoGLAccount.AddAccountForLocalization(SalesVATReducedName(), '3801'); + ContosoGLAccount.AddAccountForLocalization(SalesVATNormalName(), '3806'); + ContosoGLAccount.AddAccountForLocalization(DeferredRevenueName(), '3900'); + ContosoGLAccount.AddAccountForLocalization(IncomeName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(IncomefromsecuritiesName(), '4201'); + ContosoGLAccount.AddAccountForLocalization(ManagementFeeRevenueName(), '4202'); + ContosoGLAccount.AddAccountForLocalization(SalesofGoodsName(), '4400'); + ContosoGLAccount.AddAccountForLocalization(SaleofFinishedGoodsName(), '4401'); + ContosoGLAccount.AddAccountForLocalization(SaleofRawMaterialsName(), '4402'); + ContosoGLAccount.AddAccountForLocalization(ResaleofGoodsName(), '4403'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofGoodsName(), '4409'); + ContosoGLAccount.AddAccountForLocalization(SaleofResourcesName(), '4411'); + ContosoGLAccount.AddAccountForLocalization(SaleofSubcontractingName(), '4412'); + ContosoGLAccount.AddAccountForLocalization(JobsandServicesName(), '4414'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedName(), '4416'); + ContosoGLAccount.AddAccountForLocalization(SalesofServiceContractsName(), '4417'); + ContosoGLAccount.AddAccountForLocalization(SalesofServiceWorkName(), '4418'); + ContosoGLAccount.AddAccountForLocalization(TotalJobsandServicesName(), '4419'); + ContosoGLAccount.AddAccountForLocalization(RevenueReductionsName(), '4700'); + ContosoGLAccount.AddAccountForLocalization(SalesDiscountsName(), '4730'); + ContosoGLAccount.AddAccountForLocalization(SalesReturnsName(), '4770'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenueReductionsName(), '4799'); + ContosoGLAccount.AddAccountForLocalization(OtherIncidentalRevenueName(), '4830'); + ContosoGLAccount.AddAccountForLocalization(CurrencyGainsName(), '4840'); + ContosoGLAccount.AddAccountForLocalization(TOTALINCOMEName(), '4999'); + ContosoGLAccount.AddAccountForLocalization(COSTOFGOODSSOLDName(), '5'); + ContosoGLAccount.AddAccountForLocalization(CostofGoodsName(), '5020'); + ContosoGLAccount.AddAccountForLocalization(CostofMaterialsName(), '5021'); + ContosoGLAccount.AddAccountForLocalization(CostofMaterialsProjectsName(), '5022'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofGoodsName(), '5023'); + ContosoGLAccount.AddAccountForLocalization(ManufVariancesName(), '5030'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceCapName(), '5031'); + ContosoGLAccount.AddAccountForLocalization(MaterialVarianceName(), '5032'); + ContosoGLAccount.AddAccountForLocalization(CapacityVarianceName(), '5033'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedVarianceName(), '5034'); + ContosoGLAccount.AddAccountForLocalization(CapOverheadVarianceName(), '5035'); + ContosoGLAccount.AddAccountForLocalization(MfgOverheadVarianceName(), '5036'); + ContosoGLAccount.AddAccountForLocalization(TotalManufVariancesName(), '5038'); + ContosoGLAccount.AddAccountForLocalization(CostofVariancesName(), '5039'); + ContosoGLAccount.AddAccountForLocalization(CostsofJobsName(), '5040'); + ContosoGLAccount.AddAccountForLocalization(JobCostsAppliedName(), '5042'); + ContosoGLAccount.AddAccountForLocalization(TotalCostsofJobsName(), '5043'); + ContosoGLAccount.AddAccountForLocalization(CostofResourcesandServicesName(), '5900'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborName(), '5901'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborProjectsName(), '5902'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborWarrantyContractName(), '5903'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedworkName(), '5904'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofResourcesName(), '5905'); + ContosoGLAccount.AddAccountForLocalization(TOTALCOSTOFGOODSSOLDName(), '5999'); + ContosoGLAccount.AddAccountForLocalization(EXPENSESName(), '6'); + ContosoGLAccount.AddAccountForLocalization(PersonnelName(), '6001'); + ContosoGLAccount.AddAccountForLocalization(HourlyWagesName(), '6010'); + ContosoGLAccount.AddAccountForLocalization(OvertimeWagesName(), '6011'); + ContosoGLAccount.AddAccountForLocalization(CommissionsPaidName(), '6012'); + ContosoGLAccount.AddAccountForLocalization(BonusesName(), '6029'); + ContosoGLAccount.AddAccountForLocalization(EmployerContributionsName(), '6100'); + ContosoGLAccount.AddAccountForLocalization(PensionfeesandrecurringcostsName(), '6150'); + ContosoGLAccount.AddAccountForLocalization(HealthInsuranceName(), '6160'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelName(), '6199'); + ContosoGLAccount.AddAccountForLocalization(DepreciationFixedAssetsName(), '6220'); + ContosoGLAccount.AddAccountForLocalization(DepreciationLandandPropertyName(), '6221'); + ContosoGLAccount.AddAccountForLocalization(MiscexternalexpensesName(), '6300'); + ContosoGLAccount.AddAccountForLocalization(OtherExternalServicesName(), '6303'); + ContosoGLAccount.AddAccountForLocalization(RentalFacilitiesName(), '6309'); + ContosoGLAccount.AddAccountForLocalization(RentLeasesName(), '6310'); + ContosoGLAccount.AddAccountForLocalization(HeatingforRentalName(), '6320'); + ContosoGLAccount.AddAccountForLocalization(ElectricityforRentalName(), '6325'); + ContosoGLAccount.AddAccountForLocalization(WaterandSewerageforRentalName(), '6326'); + ContosoGLAccount.AddAccountForLocalization(CleaningandWasteforRentalName(), '6330'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceforRentalName(), '6335'); + ContosoGLAccount.AddAccountForLocalization(InsurancesRentalName(), '6340'); + ContosoGLAccount.AddAccountForLocalization(OtherRentalExpensesName(), '6345'); + ContosoGLAccount.AddAccountForLocalization(TotalRentalFacilitiesName(), '6399'); + ContosoGLAccount.AddAccountForLocalization(CorporateInsuranceName(), '6400'); + ContosoGLAccount.AddAccountForLocalization(PassengerCarCostsName(), '6500'); + ContosoGLAccount.AddAccountForLocalization(TruckCostsName(), '6520'); + ContosoGLAccount.AddAccountForLocalization(OthervehicleexpensesName(), '6595'); + ContosoGLAccount.AddAccountForLocalization(AdvertisementDevelopmentName(), '6600'); + ContosoGLAccount.AddAccountForLocalization(OutdoorandTransportationAdsName(), '6601'); + ContosoGLAccount.AddAccountForLocalization(AdmatteranddirectmailingsName(), '6602'); + ContosoGLAccount.AddAccountForLocalization(ConferenceExhibitionSponsorshipName(), '6603'); + ContosoGLAccount.AddAccountForLocalization(FilmTVradiointernetadsName(), '6604'); + ContosoGLAccount.AddAccountForLocalization(SamplescontestsgiftsName(), '6605'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingdeductibleName(), '6640'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingnondeductibleName(), '6644'); + ContosoGLAccount.AddAccountForLocalization(TravelExpensesName(), '6649'); + ContosoGLAccount.AddAccountForLocalization(OthertravelexpensesName(), '6650'); + ContosoGLAccount.AddAccountForLocalization(BoardandlodgingName(), '6660'); + ContosoGLAccount.AddAccountForLocalization(TicketsName(), '6663'); + ContosoGLAccount.AddAccountForLocalization(RentalvehiclesName(), '6668'); + ContosoGLAccount.AddAccountForLocalization(TotalTravelExpensesName(), '6669'); + ContosoGLAccount.AddAccountForLocalization(CreditCardChargesName(), '6690'); + ContosoGLAccount.AddAccountForLocalization(FreightfeesforgoodsName(), '6740'); + ContosoGLAccount.AddAccountForLocalization(CustomsandforwardingName(), '6760'); + ContosoGLAccount.AddAccountForLocalization(FreightfeesprojectsName(), '6780'); + ContosoGLAccount.AddAccountForLocalization(PostalfeesName(), '6800'); + ContosoGLAccount.AddAccountForLocalization(PhoneServicesName(), '6805'); + ContosoGLAccount.AddAccountForLocalization(DataservicesName(), '6810'); + ContosoGLAccount.AddAccountForLocalization(LegalFeesandAttorneyServicesName(), '6825'); + ContosoGLAccount.AddAccountForLocalization(AnnualinterrimReportsName(), '6827'); + ContosoGLAccount.AddAccountForLocalization(AccountingServicesName(), '6830'); + ContosoGLAccount.AddAccountForLocalization(HireofmachineryName(), '6836'); + ContosoGLAccount.AddAccountForLocalization(SoftwareandsubscriptionfeesName(), '6837'); + ContosoGLAccount.AddAccountForLocalization(HireofcomputersName(), '6840'); + ContosoGLAccount.AddAccountForLocalization(HireofotherfixedassetsName(), '6845'); + ContosoGLAccount.AddAccountForLocalization(ConsumableExpensiblehardwareName(), '6850'); + ContosoGLAccount.AddAccountForLocalization(CurrencyLossesName(), '6880'); + ContosoGLAccount.AddAccountForLocalization(BadDebtLossesName(), '6930'); + ContosoGLAccount.AddAccountForLocalization(PurchaseDiscountsName(), '7130'); + ContosoGLAccount.AddAccountForLocalization(PayableInvoiceRoundingName(), '7400'); + ContosoGLAccount.AddAccountForLocalization(SalesInvoiceRoundingName(), '7500'); + ContosoGLAccount.AddAccountForLocalization(TOTALEXPENSESName(), '7999'); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResaleSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMatSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLCYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomefortheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsfortheFiscalYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALLIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandChargesRecDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandHeatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandAccountingServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationofFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsofOperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonRevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargestoVendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEBEFORETAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + end; + + local procedure UpdateConsolidationGLAccounts() + var + GLAccount: Record "G/L Account"; + begin + if GLAccount.FindSet() then + repeat + GLAccount.Validate("Consol. Debit Acc.", GLAccount."No."); + GLAccount.Validate("Consol. Credit Acc.", GLAccount."No."); + GLAccount.Modify(true); + until GLAccount.Next() = 0; + end; + + procedure DevelopmentExpenditureName(): Text[100] + begin + exit(DevelopmentExpenditureLbl); + end; + + procedure GoodwillName(): Text[100] + begin + exit(GoodwillLbl); + end; + + procedure AdvancedPaymentsforIntangibleFixedAssetsName(): Text[100] + begin + exit(AdvancedPaymentsforIntangibleFixedAssetsLbl); + end; + + procedure LandName(): Text[100] + begin + exit(LandLbl); + end; + + procedure TenancySiteLeaseholdandsimilarrightsName(): Text[100] + begin + exit(TenancySiteLeaseholdandsimilarrightsLbl); + end; + + procedure BuildingName(): Text[100] + begin + exit(BuildingLbl); + end; + + procedure CostofImprovementstoLeasedPropertyName(): Text[100] + begin + exit(CostofImprovementstoLeasedPropertyLbl); + end; + + procedure EquipmentsandToolsName(): Text[100] + begin + exit(EquipmentsandToolsLbl); + end; + + procedure AccumulatedDepreciationName(): Text[100] + begin + exit(AccumulatedDepreciationLbl); + end; + + procedure LeasedAssetsName(): Text[100] + begin + exit(LeasedAssetsLbl); + end; + + procedure CarsandotherTransportEquipmentsName(): Text[100] + begin + exit(CarsandotherTransportEquipmentsLbl); + end; + + procedure ComputersName(): Text[100] + begin + exit(ComputersLbl); + end; + + procedure PrepaidRentName(): Text[100] + begin + exit(PrepaidRentLbl); + end; + + procedure ParticipationinGroupCompaniesName(): Text[100] + begin + exit(ParticipationinGroupCompaniesLbl); + end; + + procedure LoanstoPartnersorrelatedPartiesName(): Text[100] + begin + exit(LoanstoPartnersorrelatedPartiesLbl); + end; + + procedure ConvertibledebtinstrumentsName(): Text[100] + begin + exit(ConvertibledebtinstrumentsLbl); + end; + + procedure InventoriesProductsandworkinProgressName(): Text[100] + begin + exit(InventoriesProductsandworkinProgressLbl); + end; + + procedure SuppliesandConsumablesName(): Text[100] + begin + exit(SuppliesandConsumablesLbl); + end; + + procedure ProductsinProgressName(): Text[100] + begin + exit(ProductsinProgressLbl); + end; + + procedure WorkinProgressName(): Text[100] + begin + exit(WorkinProgressLbl); + end; + + procedure WIPAccruedCostsName(): Text[100] + begin + exit(WIPAccruedCostsLbl); + end; + + procedure WIPInvoicedSalesName(): Text[100] + begin + exit(WIPInvoicedSalesLbl); + end; + + procedure TotalWorkinProgressName(): Text[100] + begin + exit(TotalWorkinProgressLbl); + end; + + procedure TotalInventoryProductsandWorkinProgressName(): Text[100] + begin + exit(TotalInventoryProductsandWorkinProgressLbl); + end; + + procedure GoodsforResaleName(): Text[100] + begin + exit(GoodsforResaleLbl); + end; + + procedure OtherInventoryItemsName(): Text[100] + begin + exit(OtherInventoryItemsLbl); + end; + + procedure AdvancedPaymentsforgoodsandservicesName(): Text[100] + begin + exit(AdvancedPaymentsforgoodsandservicesLbl); + end; + + procedure ReceivablesName(): Text[100] + begin + exit(ReceivablesLbl); + end; + + procedure AccountReceivableDomesticName(): Text[100] + begin + exit(AccountReceivableDomesticLbl); + end; + + procedure AccountReceivableForeignName(): Text[100] + begin + exit(AccountReceivableForeignLbl); + end; + + procedure LongtermReceivablesName(): Text[100] + begin + exit(LongtermReceivablesLbl); + end; + + procedure CurrentReceivablesfromgroupcompaniesName(): Text[100] + begin + exit(CurrentReceivablesfromgroupcompaniesLbl); + end; + + procedure CurrentReceivablefromEmployeesName(): Text[100] + begin + exit(CurrentReceivablefromEmployeesLbl); + end; + + procedure ContractualReceivablesName(): Text[100] + begin + exit(ContractualReceivablesLbl); + end; + + procedure MiscVATReceivablesName(): Text[100] + begin + exit(MiscVATReceivablesLbl); + end; + + procedure PurchaseVATReducedName(): Text[100] + begin + exit(PurchaseVATReducedLbl); + end; + + procedure PurchaseVATNormalName(): Text[100] + begin + exit(PurchaseVATNormalLbl); + end; + + procedure TaxAssetsName(): Text[100] + begin + exit(TaxAssetsLbl); + end; + + procedure ClearingAccountsforTaxesandchargesName(): Text[100] + begin + exit(ClearingAccountsforTaxesandchargesLbl); + end; + + procedure TotalReceivablesName(): Text[100] + begin + exit(TotalReceivablesLbl); + end; + + procedure CashandBankName(): Text[100] + begin + exit(CashandBankLbl); + end; + + procedure BusinessaccountOperatingDomesticName(): Text[100] + begin + exit(BusinessaccountOperatingDomesticLbl); + end; + + procedure BusinessaccountOperatingForeignName(): Text[100] + begin + exit(BusinessaccountOperatingForeignLbl); + end; + + procedure OtherbankaccountsName(): Text[100] + begin + exit(OtherbankaccountsLbl); + end; + + procedure TotalCashandBankName(): Text[100] + begin + exit(TotalCashandBankLbl); + end; + + procedure AssetsintheformofprepaidexpensesName(): Text[100] + begin + exit(AssetsintheformofprepaidexpensesLbl); + end; + + procedure DeferredTaxAssetsName(): Text[100] + begin + exit(DeferredTaxAssetsLbl); + end; + + procedure CertificateofDepositName(): Text[100] + begin + exit(CertificateofDepositLbl); + end; + + procedure EquityName(): Text[100] + begin + exit(EquityLbl); + end; + + procedure EquityPartnerName(): Text[100] + begin + exit(EquityPartnerLbl); + end; + + procedure ShareCapitalName(): Text[100] + begin + exit(ShareCapitalLbl); + end; + + procedure DistributionstoShareholdersName(): Text[100] + begin + exit(DistributionstoShareholdersLbl); + end; + + procedure ProfitorlossfromthepreviousyearName(): Text[100] + begin + exit(ProfitorlossfromthepreviousyearLbl); + end; + + procedure TotalEquityName(): Text[100] + begin + exit(TotalEquityLbl); + end; + + procedure LiabilityName(): Text[100] + begin + exit(LiabilityLbl); + end; + + procedure EstimatedPayrolltaxonPensionCostsName(): Text[100] + begin + exit(EstimatedPayrolltaxonPensionCostsLbl); + end; + + procedure EstimatedIncomeTaxName(): Text[100] + begin + exit(EstimatedIncomeTaxLbl); + end; + + procedure HolidayPayfundName(): Text[100] + begin + exit(HolidayPayfundLbl); + end; + + procedure BondsandDebentureLoansName(): Text[100] + begin + exit(BondsandDebentureLoansLbl); + end; + + procedure ConvertiblesLoansName(): Text[100] + begin + exit(ConvertiblesLoansLbl); + end; + + procedure OtherLongtermLiabilitiesName(): Text[100] + begin + exit(OtherLongtermLiabilitiesLbl); + end; + + procedure BankoverdraftFacilitiesName(): Text[100] + begin + exit(BankoverdraftFacilitiesLbl); + end; + + procedure BankoverdraftshorttermName(): Text[100] + begin + exit(BankoverdraftshorttermLbl); + end; + + procedure AdvancesfromcustomersName(): Text[100] + begin + exit(AdvancesfromcustomersLbl); + end; + + procedure AccountsPayableDomesticName(): Text[100] + begin + exit(AccountsPayableDomesticLbl); + end; + + procedure AccountsPayableForeignName(): Text[100] + begin + exit(AccountsPayableForeignLbl); + end; + + procedure CurrentLoansName(): Text[100] + begin + exit(CurrentLoansLbl); + end; + + procedure TaxesLiableName(): Text[100] + begin + exit(TaxesLiableLbl); + end; + + procedure EmployeesWithholdingTaxesName(): Text[100] + begin + exit(EmployeesWithholdingTaxesLbl); + end; + + procedure CurrentLiabilitiestoEmployeesName(): Text[100] + begin + exit(CurrentLiabilitiestoEmployeesLbl); + end; + + procedure AttachmentsofEarningName(): Text[100] + begin + exit(AttachmentsofEarningLbl); + end; + + procedure StatutorySocialsecurityContributionsName(): Text[100] + begin + exit(StatutorySocialsecurityContributionsLbl); + end; + + procedure MiscVATPayablesName(): Text[100] + begin + exit(MiscVATPayablesLbl); + end; + + procedure SalesVATReducedName(): Text[100] + begin + exit(SalesVATReducedLbl); + end; + + procedure SalesVATNormalName(): Text[100] + begin + exit(SalesVATNormalLbl); + end; + + procedure DeferredRevenueName(): Text[100] + begin + exit(DeferredRevenueLbl); + end; + + procedure IncomeName(): Text[100] + begin + exit(IncomeLbl); + end; + + procedure IncomefromsecuritiesName(): Text[100] + begin + exit(IncomefromsecuritiesLbl); + end; + + procedure ManagementFeeRevenueName(): Text[100] + begin + exit(ManagementFeeRevenueLbl); + end; + + procedure SalesofGoodsName(): Text[100] + begin + exit(SalesofGoodsLbl); + end; + + procedure SaleofFinishedGoodsName(): Text[100] + begin + exit(SaleofFinishedGoodsLbl); + end; + + procedure SaleofRawMaterialsName(): Text[100] + begin + exit(SaleofRawMaterialsLbl); + end; + + procedure ResaleofGoodsName(): Text[100] + begin + exit(ResaleofGoodsLbl); + end; + + procedure TotalSalesofGoodsName(): Text[100] + begin + exit(TotalSalesofGoodsLbl); + end; + + procedure SaleofResourcesName(): Text[100] + begin + exit(SaleofResourcesLbl); + end; + + procedure SaleofSubcontractingName(): Text[100] + begin + exit(SaleofSubcontractingLbl); + end; + + procedure JobsandServicesName(): Text[100] + begin + exit(JobsandServicesLbl); + end; + + procedure JobSalesAppliedName(): Text[100] + begin + exit(JobSalesAppliedLbl); + end; + + procedure SalesofServiceContractsName(): Text[100] + begin + exit(SalesofServiceContractsLbl); + end; + + procedure SalesofServiceWorkName(): Text[100] + begin + exit(SalesofServiceWorkLbl); + end; + + procedure TotalJobsandServicesName(): Text[100] + begin + exit(TotalJobsandServicesLbl); + end; + + procedure RevenueReductionsName(): Text[100] + begin + exit(RevenueReductionsLbl); + end; + + procedure SalesDiscountsName(): Text[100] + begin + exit(SalesDiscountsLbl); + end; + + procedure SalesReturnsName(): Text[100] + begin + exit(SalesReturnsLbl); + end; + + procedure TotalRevenueReductionsName(): Text[100] + begin + exit(TotalRevenueReductionsLbl); + end; + + procedure OtherIncidentalRevenueName(): Text[100] + begin + exit(OtherIncidentalRevenueLbl); + end; + + procedure CurrencyGainsName(): Text[100] + begin + exit(CurrencyGainsLbl); + end; + + procedure TOTALINCOMEName(): Text[100] + begin + exit(TOTALINCOMELbl); + end; + + procedure COSTOFGOODSSOLDName(): Text[100] + begin + exit(COSTOFGOODSSOLDLbl); + end; + + procedure CostofGoodsName(): Text[100] + begin + exit(CostofGoodsLbl); + end; + + procedure CostofMaterialsName(): Text[100] + begin + exit(CostofMaterialsLbl); + end; + + procedure CostofMaterialsProjectsName(): Text[100] + begin + exit(CostofMaterialsProjectsLbl); + end; + + procedure TotalCostofGoodsName(): Text[100] + begin + exit(TotalCostofGoodsLbl); + end; + + procedure ManufVariancesName(): Text[100] + begin + exit(ManufVariancesLbl); + end; + + procedure PurchaseVarianceCapName(): Text[100] + begin + exit(PurchaseVarianceCapLbl); + end; + + procedure MaterialVarianceName(): Text[100] + begin + exit(MaterialVarianceLbl); + end; + + procedure CapacityVarianceName(): Text[100] + begin + exit(CapacityVarianceLbl); + end; + + procedure SubcontractedVarianceName(): Text[100] + begin + exit(SubcontractedVarianceLbl); + end; + + procedure CapOverheadVarianceName(): Text[100] + begin + exit(CapOverheadVarianceLbl); + end; + + procedure MfgOverheadVarianceName(): Text[100] + begin + exit(MfgOverheadVarianceLbl); + end; + + procedure TotalManufVariancesName(): Text[100] + begin + exit(TotalManufVariancesLbl); + end; + + procedure CostofVariancesName(): Text[100] + begin + exit(CostofVariancesLbl); + end; + + procedure CostsofJobsName(): Text[100] + begin + exit(CostsofJobsLbl); + end; + + procedure JobCostsAppliedName(): Text[100] + begin + exit(JobCostsAppliedLbl); + end; + + procedure TotalCostsofJobsName(): Text[100] + begin + exit(TotalCostsofJobsLbl); + end; + + procedure CostofResourcesandServicesName(): Text[100] + begin + exit(CostofResourcesandServicesLbl); + end; + + procedure CostofLaborName(): Text[100] + begin + exit(CostofLaborLbl); + end; + + procedure CostofLaborProjectsName(): Text[100] + begin + exit(CostofLaborProjectsLbl); + end; + + procedure CostofLaborWarrantyContractName(): Text[100] + begin + exit(CostofLaborWarrantyContractLbl); + end; + + procedure SubcontractedworkName(): Text[100] + begin + exit(SubcontractedworkLbl); + end; + + procedure TotalCostofResourcesName(): Text[100] + begin + exit(TotalCostofResourcesLbl); + end; + + procedure TOTALCOSTOFGOODSSOLDName(): Text[100] + begin + exit(TOTALCOSTOFGOODSSOLDLbl); + end; + + procedure EXPENSESName(): Text[100] + begin + exit(EXPENSESLbl); + end; + + procedure PersonnelName(): Text[100] + begin + exit(PersonnelLbl); + end; + + procedure HourlyWagesName(): Text[100] + begin + exit(HourlyWagesLbl); + end; + + procedure OvertimeWagesName(): Text[100] + begin + exit(OvertimeWagesLbl); + end; + + procedure CommissionsPaidName(): Text[100] + begin + exit(CommissionsPaidLbl); + end; + + procedure BonusesName(): Text[100] + begin + exit(BonusesLbl); + end; + + procedure EmployerContributionsName(): Text[100] + begin + exit(EmployerContributionsLbl); + end; + + procedure PensionfeesandrecurringcostsName(): Text[100] + begin + exit(PensionfeesandrecurringcostsLbl); + end; + + procedure HealthInsuranceName(): Text[100] + begin + exit(HealthInsuranceLbl); + end; + + procedure TotalPersonnelName(): Text[100] + begin + exit(TotalPersonnelLbl); + end; + + procedure DepreciationFixedAssetsName(): Text[100] + begin + exit(DepreciationFixedAssetsLbl); + end; + + procedure DepreciationLandandPropertyName(): Text[100] + begin + exit(DepreciationLandandPropertyLbl); + end; + + procedure MiscexternalexpensesName(): Text[100] + begin + exit(MiscexternalexpensesLbl); + end; + + procedure OtherExternalServicesName(): Text[100] + begin + exit(OtherExternalServicesLbl); + end; + + procedure RentalFacilitiesName(): Text[100] + begin + exit(RentalFacilitiesLbl); + end; + + procedure RentLeasesName(): Text[100] + begin + exit(RentLeasesLbl); + end; + + procedure HeatingforRentalName(): Text[100] + begin + exit(HeatingforRentalLbl); + end; + + procedure ElectricityforRentalName(): Text[100] + begin + exit(ElectricityforRentalLbl); + end; + + procedure WaterandSewerageforRentalName(): Text[100] + begin + exit(WaterandSewerageforRentalLbl); + end; + + procedure CleaningandWasteforRentalName(): Text[100] + begin + exit(CleaningandWasteforRentalLbl); + end; + + procedure RepairsandMaintenanceforRentalName(): Text[100] + begin + exit(RepairsandMaintenanceforRentalLbl); + end; + + procedure InsurancesRentalName(): Text[100] + begin + exit(InsurancesRentalLbl); + end; + + procedure OtherRentalExpensesName(): Text[100] + begin + exit(OtherRentalExpensesLbl); + end; + + procedure TotalRentalFacilitiesName(): Text[100] + begin + exit(TotalRentalFacilitiesLbl); + end; + + procedure CorporateInsuranceName(): Text[100] + begin + exit(CorporateInsuranceLbl); + end; + + procedure PassengerCarCostsName(): Text[100] + begin + exit(PassengerCarCostsLbl); + end; + + procedure TruckCostsName(): Text[100] + begin + exit(TruckCostsLbl); + end; + + procedure OthervehicleexpensesName(): Text[100] + begin + exit(OthervehicleexpensesLbl); + end; + + procedure AdvertisementDevelopmentName(): Text[100] + begin + exit(AdvertisementDevelopmentLbl); + end; + + procedure OutdoorandTransportationAdsName(): Text[100] + begin + exit(OutdoorandTransportationAdsLbl); + end; + + procedure AdmatteranddirectmailingsName(): Text[100] + begin + exit(AdmatteranddirectmailingsLbl); + end; + + procedure ConferenceExhibitionSponsorshipName(): Text[100] + begin + exit(ConferenceExhibitionSponsorshipLbl); + end; + + procedure FilmTVradiointernetadsName(): Text[100] + begin + exit(FilmTVradiointernetadsLbl); + end; + + procedure SamplescontestsgiftsName(): Text[100] + begin + exit(SamplescontestsgiftsLbl); + end; + + procedure BusinessEntertainingdeductibleName(): Text[100] + begin + exit(BusinessEntertainingdeductibleLbl); + end; + + procedure BusinessEntertainingnondeductibleName(): Text[100] + begin + exit(BusinessEntertainingnondeductibleLbl); + end; + + procedure TravelExpensesName(): Text[100] + begin + exit(TravelExpensesLbl); + end; + + procedure OthertravelexpensesName(): Text[100] + begin + exit(OthertravelexpensesLbl); + end; + + procedure BoardandlodgingName(): Text[100] + begin + exit(BoardandlodgingLbl); + end; + + procedure TicketsName(): Text[100] + begin + exit(TicketsLbl); + end; + + procedure RentalvehiclesName(): Text[100] + begin + exit(RentalvehiclesLbl); + end; + + procedure TotalTravelExpensesName(): Text[100] + begin + exit(TotalTravelExpensesLbl); + end; + + procedure CreditCardChargesName(): Text[100] + begin + exit(CreditCardChargesLbl); + end; + + procedure FreightfeesforgoodsName(): Text[100] + begin + exit(FreightfeesforgoodsLbl); + end; + + procedure CustomsandforwardingName(): Text[100] + begin + exit(CustomsandforwardingLbl); + end; + + procedure FreightfeesprojectsName(): Text[100] + begin + exit(FreightfeesprojectsLbl); + end; + + procedure PostalfeesName(): Text[100] + begin + exit(PostalfeesLbl); + end; + + procedure PhoneServicesName(): Text[100] + begin + exit(PhoneServicesLbl); + end; + + procedure DataservicesName(): Text[100] + begin + exit(DataservicesLbl); + end; + + procedure LegalFeesandAttorneyServicesName(): Text[100] + begin + exit(LegalFeesandAttorneyServicesLbl); + end; + + procedure AnnualinterrimReportsName(): Text[100] + begin + exit(AnnualinterrimReportsLbl); + end; + + procedure AccountingServicesName(): Text[100] + begin + exit(AccountingServicesLbl); + end; + + procedure HireofmachineryName(): Text[100] + begin + exit(HireofmachineryLbl); + end; + + procedure SoftwareandsubscriptionfeesName(): Text[100] + begin + exit(SoftwareandsubscriptionfeesLbl); + end; + + procedure HireofcomputersName(): Text[100] + begin + exit(HireofcomputersLbl); + end; + + procedure HireofotherfixedassetsName(): Text[100] + begin + exit(HireofotherfixedassetsLbl); + end; + + procedure ConsumableExpensiblehardwareName(): Text[100] + begin + exit(ConsumableExpensiblehardwareLbl); + end; + + procedure CurrencyLossesName(): Text[100] + begin + exit(CurrencyLossesLbl); + end; + + procedure BadDebtLossesName(): Text[100] + begin + exit(BadDebtLossesLbl); + end; + + procedure PurchaseDiscountsName(): Text[100] + begin + exit(PurchaseDiscountsLbl); + end; + + procedure PayableInvoiceRoundingName(): Text[100] + begin + exit(PayableInvoiceRoundingLbl); + end; + + procedure SalesInvoiceRoundingName(): Text[100] + begin + exit(SalesInvoiceRoundingLbl); + end; + + procedure TOTALEXPENSESName(): Text[100] + begin + exit(TOTALEXPENSESLbl); + end; + + procedure DevelopmentExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevelopmentExpenditureName())); + end; + + procedure Goodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillName())); + end; + + procedure AdvancedPaymentsforIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsforIntangibleFixedAssetsName())); + end; + + procedure Land(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandName())); + end; + + procedure TenancySiteLeaseholdandsimilarrights(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TenancySiteLeaseholdandsimilarrightsName())); + end; + + procedure Building(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BuildingName())); + end; + + procedure CostofImprovementstoLeasedProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofImprovementstoLeasedPropertyName())); + end; + + procedure EquipmentsandTools(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquipmentsandToolsName())); + end; + + procedure AccumulatedDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationName())); + end; + + procedure LeasedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeasedAssetsName())); + end; + + procedure CarsandotherTransportEquipments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarsandotherTransportEquipmentsName())); + end; + + procedure Computers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ComputersName())); + end; + + procedure PrepaidRent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidRentName())); + end; + + procedure ParticipationinGroupCompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ParticipationinGroupCompaniesName())); + end; + + procedure LoanstoPartnersorrelatedParties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoanstoPartnersorrelatedPartiesName())); + end; + + procedure Convertibledebtinstruments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertibledebtinstrumentsName())); + end; + + procedure InventoriesProductsandworkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoriesProductsandworkinProgressName())); + end; + + procedure SuppliesandConsumables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuppliesandConsumablesName())); + end; + + procedure ProductsinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProductsinProgressName())); + end; + + procedure WorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkinProgressName())); + end; + + procedure WIPAccruedCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccruedCostsName())); + end; + + procedure WIPInvoicedSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPInvoicedSalesName())); + end; + + procedure TotalWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWorkinProgressName())); + end; + + procedure TotalInventoryProductsandWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInventoryProductsandWorkinProgressName())); + end; + + procedure GoodsforResale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsforResaleName())); + end; + + procedure OtherInventoryItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherInventoryItemsName())); + end; + + procedure AdvancedPaymentsforgoodsandservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsforgoodsandservicesName())); + end; + + procedure Receivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesName())); + end; + + procedure AccountReceivableDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountReceivableDomesticName())); + end; + + procedure AccountReceivableForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountReceivableForeignName())); + end; + + procedure LongtermReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongtermReceivablesName())); + end; + + procedure CurrentReceivablesfromgroupcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivablesfromgroupcompaniesName())); + end; + + procedure CurrentReceivablefromEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivablefromEmployeesName())); + end; + + procedure ContractualReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContractualReceivablesName())); + end; + + procedure MiscVATReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscVATReceivablesName())); + end; + + procedure PurchaseVATReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATReducedName())); + end; + + procedure PurchaseVATNormal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATNormalName())); + end; + + procedure TaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxAssetsName())); + end; + + procedure ClearingAccountsforTaxesandcharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountsforTaxesandchargesName())); + end; + + procedure TotalReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalReceivablesName())); + end; + + procedure CashandBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashandBankName())); + end; + + procedure BusinessaccountOperatingDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessaccountOperatingDomesticName())); + end; + + procedure BusinessaccountOperatingForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessaccountOperatingForeignName())); + end; + + procedure Otherbankaccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherbankaccountsName())); + end; + + procedure TotalCashandBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCashandBankName())); + end; + + procedure Assetsintheformofprepaidexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssetsintheformofprepaidexpensesName())); + end; + + procedure DeferredTaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxAssetsName())); + end; + + procedure CertificateofDeposit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CertificateofDepositName())); + end; + + procedure Equity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityName())); + end; + + procedure EquityPartner(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityPartnerName())); + end; + + procedure ShareCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareCapitalName())); + end; + + procedure DistributionstoShareholders(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DistributionstoShareholdersName())); + end; + + procedure Profitorlossfromthepreviousyear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitorlossfromthepreviousyearName())); + end; + + procedure TotalEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalEquityName())); + end; + + procedure Liability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilityName())); + end; + + procedure EstimatedPayrolltaxonPensionCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedPayrolltaxonPensionCostsName())); + end; + + procedure EstimatedIncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedIncomeTaxName())); + end; + + procedure HolidayPayfund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HolidayPayfundName())); + end; + + procedure BondsandDebentureLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BondsandDebentureLoansName())); + end; + + procedure ConvertiblesLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertiblesLoansName())); + end; + + procedure OtherLongtermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLongtermLiabilitiesName())); + end; + + procedure BankoverdraftFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankoverdraftFacilitiesName())); + end; + + procedure Bankoverdraftshortterm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankoverdraftshorttermName())); + end; + + procedure Advancesfromcustomers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancesfromcustomersName())); + end; + + procedure AccountsPayableDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableDomesticName())); + end; + + procedure AccountsPayableForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableForeignName())); + end; + + procedure CurrentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLoansName())); + end; + + procedure TaxesLiable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesLiableName())); + end; + + procedure EmployeesWithholdingTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeesWithholdingTaxesName())); + end; + + procedure CurrentLiabilitiestoEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLiabilitiestoEmployeesName())); + end; + + procedure AttachmentsofEarning(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AttachmentsofEarningName())); + end; + + procedure StatutorySocialsecurityContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutorySocialsecurityContributionsName())); + end; + + procedure MiscVATPayables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscVATPayablesName())); + end; + + procedure SalesVATReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVATReducedName())); + end; + + procedure SalesVATNormal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVATNormalName())); + end; + + procedure DeferredRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredRevenueName())); + end; + + procedure Income(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeName())); + end; + + procedure Incomefromsecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomefromsecuritiesName())); + end; + + procedure ManagementFeeRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementFeeRevenueName())); + end; + + procedure SalesofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofGoodsName())); + end; + + procedure SaleofFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofFinishedGoodsName())); + end; + + procedure SaleofRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofRawMaterialsName())); + end; + + procedure ResaleofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResaleofGoodsName())); + end; + + procedure TotalSalesofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofGoodsName())); + end; + + procedure SaleofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofResourcesName())); + end; + + procedure SaleofSubcontracting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofSubcontractingName())); + end; + + procedure JobsandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobsandServicesName())); + end; + + procedure JobSalesApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedName())); + end; + + procedure SalesofServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofServiceContractsName())); + end; + + procedure SalesofServiceWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofServiceWorkName())); + end; + + procedure TotalJobsandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalJobsandServicesName())); + end; + + procedure RevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueReductionsName())); + end; + + procedure SalesDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesDiscountsName())); + end; + + procedure SalesReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesReturnsName())); + end; + + procedure TotalRevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenueReductionsName())); + end; + + procedure OtherIncidentalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherIncidentalRevenueName())); + end; + + procedure CurrencyGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyGainsName())); + end; + + procedure TOTALINCOME(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALINCOMEName())); + end; + + procedure COSTOFGOODSSOLD(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(COSTOFGOODSSOLDName())); + end; + + procedure CostofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofGoodsName())); + end; + + procedure CostofMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofMaterialsName())); + end; + + procedure CostofMaterialsProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofMaterialsProjectsName())); + end; + + procedure TotalCostofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofGoodsName())); + end; + + procedure ManufVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManufVariancesName())); + end; + + procedure PurchaseVarianceCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceCapName())); + end; + + procedure MaterialVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialVarianceName())); + end; + + procedure CapacityVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapacityVarianceName())); + end; + + procedure SubcontractedVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedVarianceName())); + end; + + procedure CapOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapOverheadVarianceName())); + end; + + procedure MfgOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MfgOverheadVarianceName())); + end; + + procedure TotalManufVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManufVariancesName())); + end; + + procedure CostofVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofVariancesName())); + end; + + procedure CostsofJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostsofJobsName())); + end; + + procedure JobCostsApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsAppliedName())); + end; + + procedure TotalCostsofJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostsofJobsName())); + end; + + procedure CostofResourcesandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofResourcesandServicesName())); + end; + + procedure CostofLabor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborName())); + end; + + procedure CostofLaborProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborProjectsName())); + end; + + procedure CostofLaborWarrantyContract(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborWarrantyContractName())); + end; + + procedure Subcontractedwork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedworkName())); + end; + + procedure TotalCostofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofResourcesName())); + end; + + procedure TOTALCOSTOFGOODSSOLD(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALCOSTOFGOODSSOLDName())); + end; + + procedure EXPENSES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EXPENSESName())); + end; + + procedure Personnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelName())); + end; + + procedure HourlyWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HourlyWagesName())); + end; + + procedure OvertimeWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OvertimeWagesName())); + end; + + procedure CommissionsPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsPaidName())); + end; + + procedure Bonuses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BonusesName())); + end; + + procedure EmployerContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployerContributionsName())); + end; + + procedure Pensionfeesandrecurringcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionfeesandrecurringcostsName())); + end; + + procedure HealthInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthInsuranceName())); + end; + + procedure TotalPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelName())); + end; + + procedure DepreciationFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationFixedAssetsName())); + end; + + procedure DepreciationLandandProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationLandandPropertyName())); + end; + + procedure Miscexternalexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscexternalexpensesName())); + end; + + procedure OtherExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExternalServicesName())); + end; + + procedure RentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalFacilitiesName())); + end; + + procedure RentLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentLeasesName())); + end; + + procedure HeatingforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingforRentalName())); + end; + + procedure ElectricityforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityforRentalName())); + end; + + procedure WaterandSewerageforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterandSewerageforRentalName())); + end; + + procedure CleaningandWasteforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningandWasteforRentalName())); + end; + + procedure RepairsandMaintenanceforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceforRentalName())); + end; + + procedure InsurancesRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesRentalName())); + end; + + procedure OtherRentalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherRentalExpensesName())); + end; + + procedure TotalRentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRentalFacilitiesName())); + end; + + procedure CorporateInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateInsuranceName())); + end; + + procedure PassengerCarCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PassengerCarCostsName())); + end; + + procedure TruckCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TruckCostsName())); + end; + + procedure Othervehicleexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthervehicleexpensesName())); + end; + + procedure AdvertisementDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisementDevelopmentName())); + end; + + procedure OutdoorandTransportationAds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutdoorandTransportationAdsName())); + end; + + procedure Admatteranddirectmailings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdmatteranddirectmailingsName())); + end; + + procedure ConferenceExhibitionSponsorship(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConferenceExhibitionSponsorshipName())); + end; + + procedure FilmTVradiointernetads(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FilmTVradiointernetadsName())); + end; + + procedure Samplescontestsgifts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SamplescontestsgiftsName())); + end; + + procedure BusinessEntertainingdeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingdeductibleName())); + end; + + procedure BusinessEntertainingnondeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingnondeductibleName())); + end; + + procedure TravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelExpensesName())); + end; + + procedure Othertravelexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthertravelexpensesName())); + end; + + procedure Boardandlodging(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BoardandlodgingName())); + end; + + procedure Tickets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TicketsName())); + end; + + procedure Rentalvehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalvehiclesName())); + end; + + procedure TotalTravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTravelExpensesName())); + end; + + procedure CreditCardCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditCardChargesName())); + end; + + procedure Freightfeesforgoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightfeesforgoodsName())); + end; + + procedure Customsandforwarding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomsandforwardingName())); + end; + + procedure Freightfeesprojects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightfeesprojectsName())); + end; + + procedure Postalfees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostalfeesName())); + end; + + procedure PhoneServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PhoneServicesName())); + end; + + procedure Dataservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DataservicesName())); + end; + + procedure LegalFeesandAttorneyServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalFeesandAttorneyServicesName())); + end; + + procedure AnnualinterrimReports(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualinterrimReportsName())); + end; + + procedure AccountingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountingServicesName())); + end; + + procedure Hireofmachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofmachineryName())); + end; + + procedure Softwareandsubscriptionfees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SoftwareandsubscriptionfeesName())); + end; + + procedure Hireofcomputers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofcomputersName())); + end; + + procedure Hireofotherfixedassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofotherfixedassetsName())); + end; + + procedure ConsumableExpensiblehardware(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumableExpensiblehardwareName())); + end; + + procedure CurrencyLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyLossesName())); + end; + + procedure BadDebtLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDebtLossesName())); + end; + + procedure PurchaseDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseDiscountsName())); + end; + + procedure PayableInvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayableInvoiceRoundingName())); + end; + + procedure SalesInvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesInvoiceRoundingName())); + end; + + procedure TOTALEXPENSES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALEXPENSESName())); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + DevelopmentExpenditureLbl: Label 'Development Expenditure', MaxLength = 100; + GoodwillLbl: Label 'Goodwill', MaxLength = 100; + AdvancedPaymentsforIntangibleFixedAssetsLbl: Label 'Advanced Payments for Intangible Fixed Assets', MaxLength = 100; + LandLbl: Label 'Land ', MaxLength = 100; + TenancySiteLeaseholdandsimilarrightsLbl: Label 'Tenancy, Site Leasehold and similar rights', MaxLength = 100; + BuildingLbl: Label 'Building', MaxLength = 100; + CostofImprovementstoLeasedPropertyLbl: Label 'Cost of Improvements to Leased Property', MaxLength = 100; + EquipmentsandToolsLbl: Label 'Equipments and Tools', MaxLength = 100; + AccumulatedDepreciationLbl: Label 'Accumulated Depreciation', MaxLength = 100; + LeasedAssetsLbl: Label 'Leased Assets', MaxLength = 100; + CarsandotherTransportEquipmentsLbl: Label 'Cars and other Transport Equipments', MaxLength = 100; + ComputersLbl: Label 'Computers', MaxLength = 100; + PrepaidRentLbl: Label 'Prepaid Rent', MaxLength = 100; + ParticipationinGroupCompaniesLbl: Label 'Participation in Group Companies', MaxLength = 100; + LoanstoPartnersorrelatedPartiesLbl: Label 'Loans to Partners or related Parties', MaxLength = 100; + ConvertibledebtinstrumentsLbl: Label 'Convertible debt instruments', MaxLength = 100; + InventoriesProductsandworkinProgressLbl: Label 'Inventories, Products and work in Progress', MaxLength = 100; + SuppliesandConsumablesLbl: Label 'Supplies and Consumables', MaxLength = 100; + ProductsinProgressLbl: Label 'Products in Progress', MaxLength = 100; + WorkinProgressLbl: Label 'Work in Progress', MaxLength = 100; + WIPAccruedCostsLbl: Label 'WIP, Accrued Costs', MaxLength = 100; + WIPInvoicedSalesLbl: Label 'WIP, Invoiced Sales', MaxLength = 100; + TotalWorkinProgressLbl: Label 'Total, Work in Progress', MaxLength = 100; + TotalInventoryProductsandWorkinProgressLbl: Label 'Total, Inventory, Products and Work in Progress', MaxLength = 100; + GoodsforResaleLbl: Label 'Goods for Resale', MaxLength = 100; + OtherInventoryItemsLbl: Label 'Other Inventory Items', MaxLength = 100; + AdvancedPaymentsforgoodsandservicesLbl: Label 'Advanced Payments for goods and services', MaxLength = 100; + ReceivablesLbl: Label 'Receivables', MaxLength = 100; + AccountReceivableDomesticLbl: Label 'Account Receivable, Domestic', MaxLength = 100; + AccountReceivableForeignLbl: Label 'Account Receivable, Foreign', MaxLength = 100; + LongtermReceivablesLbl: Label 'Long-term Receivables ', MaxLength = 100; + CurrentReceivablesfromgroupcompaniesLbl: Label 'Current Receivables from group companies', MaxLength = 100; + CurrentReceivablefromEmployeesLbl: Label 'Current Receivable from Employees', MaxLength = 100; + ContractualReceivablesLbl: Label 'Contractual Receivables', MaxLength = 100; + MiscVATReceivablesLbl: Label 'Misc VAT Receivables', MaxLength = 100; + PurchaseVATReducedLbl: Label 'Purchase VAT Reduced', MaxLength = 100; + PurchaseVATNormalLbl: Label 'Purchase VAT Normal', MaxLength = 100; + TaxAssetsLbl: Label 'Tax Assets', MaxLength = 100; + ClearingAccountsforTaxesandchargesLbl: Label 'Clearing Accounts for Taxes and charges', MaxLength = 100; + TotalReceivablesLbl: Label 'Total, Receivables', MaxLength = 100; + CashandBankLbl: Label 'Cash and Bank', MaxLength = 100; + BusinessaccountOperatingDomesticLbl: Label 'Business account, Operating, Domestic', MaxLength = 100; + BusinessaccountOperatingForeignLbl: Label 'Business account, Operating, Foreign', MaxLength = 100; + OtherbankaccountsLbl: Label 'Other bank accounts ', MaxLength = 100; + TotalCashandBankLbl: Label 'Total, Cash and Bank', MaxLength = 100; + AssetsintheformofprepaidexpensesLbl: Label 'Assets in the form of prepaid expenses', MaxLength = 100; + DeferredTaxAssetsLbl: Label 'Deferred Tax Assets', MaxLength = 100; + CertificateofDepositLbl: Label 'Certificate of Deposit', MaxLength = 100; + EquityLbl: Label 'Equity', MaxLength = 100; + EquityPartnerLbl: Label 'Equity Partner ', MaxLength = 100; + ShareCapitalLbl: Label 'Share Capital ', MaxLength = 100; + DistributionstoShareholdersLbl: Label 'Distributions to Shareholders', MaxLength = 100; + ProfitorlossfromthepreviousyearLbl: Label 'Profit or loss from the previous year', MaxLength = 100; + TotalEquityLbl: Label 'Total, Equity', MaxLength = 100; + LiabilityLbl: Label 'Liability', MaxLength = 100; + EstimatedPayrolltaxonPensionCostsLbl: Label 'Estimated Payroll tax on Pension Costs', MaxLength = 100; + EstimatedIncomeTaxLbl: Label 'Estimated Income Tax', MaxLength = 100; + HolidayPayfundLbl: Label 'Holiday Pay fund', MaxLength = 100; + BondsandDebentureLoansLbl: Label 'Bonds and Debenture Loans', MaxLength = 100; + ConvertiblesLoansLbl: Label 'Convertibles Loans', MaxLength = 100; + OtherLongtermLiabilitiesLbl: Label 'Other Long-term Liabilities', MaxLength = 100; + BankoverdraftFacilitiesLbl: Label 'Bank overdraft Facilities', MaxLength = 100; + BankoverdraftshorttermLbl: Label 'Bank overdraft short-term', MaxLength = 100; + AdvancesfromcustomersLbl: Label 'Advances from customers', MaxLength = 100; + AccountsPayableDomesticLbl: Label 'Accounts Payable, Domestic', MaxLength = 100; + AccountsPayableForeignLbl: Label 'Accounts Payable, Foreign', MaxLength = 100; + CurrentLoansLbl: Label 'Current Loans', MaxLength = 100; + TaxesLiableLbl: Label 'Taxes Liable', MaxLength = 100; + EmployeesWithholdingTaxesLbl: Label 'Employees Withholding Taxes', MaxLength = 100; + CurrentLiabilitiestoEmployeesLbl: Label 'Current Liabilities to Employees', MaxLength = 100; + AttachmentsofEarningLbl: Label 'Attachments of Earning', MaxLength = 100; + StatutorySocialsecurityContributionsLbl: Label 'Statutory Social security Contributions', MaxLength = 100; + MiscVATPayablesLbl: Label 'Misc VAT Payables', MaxLength = 100; + SalesVATReducedLbl: Label 'Sales VAT Reduced', MaxLength = 100; + SalesVATNormalLbl: Label 'Sales VAT Normal', MaxLength = 100; + DeferredRevenueLbl: Label 'Deferred Revenue', MaxLength = 100; + IncomeLbl: Label 'Income', MaxLength = 100; + IncomefromsecuritiesLbl: Label 'Income from securities', MaxLength = 100; + ManagementFeeRevenueLbl: Label 'Management Fee Revenue', MaxLength = 100; + SalesofGoodsLbl: Label 'Sales of Goods', MaxLength = 100; + SaleofFinishedGoodsLbl: Label 'Sale of Finished Goods', MaxLength = 100; + SaleofRawMaterialsLbl: Label 'Sale of Raw Materials', MaxLength = 100; + ResaleofGoodsLbl: Label 'Resale of Goods', MaxLength = 100; + TotalSalesofGoodsLbl: Label 'Total, Sales of Goods', MaxLength = 100; + SaleofResourcesLbl: Label 'Sale of Resource', MaxLength = 100; + SaleofSubcontractingLbl: Label 'Sale of Subcontracting', MaxLength = 100; + JobsandServicesLbl: Label 'Jobs and Services', MaxLength = 100; + JobSalesAppliedLbl: Label 'Job Sales Applied', MaxLength = 100; + SalesofServiceContractsLbl: Label 'Sales of Service Contracts', MaxLength = 100; + SalesofServiceWorkLbl: Label 'Sales of Service Work', MaxLength = 100; + TotalJobsandServicesLbl: Label 'Total, Jobs and Services', MaxLength = 100; + RevenueReductionsLbl: Label 'Revenue Reductions', MaxLength = 100; + SalesDiscountsLbl: Label 'Sales Discounts', MaxLength = 100; + SalesReturnsLbl: Label 'Sales Returns', MaxLength = 100; + TotalRevenueReductionsLbl: Label 'Total, Revenue Reductions', MaxLength = 100; + OtherIncidentalRevenueLbl: Label 'Other Incidental Revenue', MaxLength = 100; + CurrencyGainsLbl: Label 'Currency Gains', MaxLength = 100; + TOTALINCOMELbl: Label 'TOTAL INCOME', MaxLength = 100; + COSTOFGOODSSOLDLbl: Label 'COST OF GOODS SOLD', MaxLength = 100; + CostofGoodsLbl: Label 'Cost of Goods', MaxLength = 100; + CostofMaterialsLbl: Label 'Cost of Materials', MaxLength = 100; + CostofMaterialsProjectsLbl: Label 'Cost of Materials, Projects', MaxLength = 100; + TotalCostofGoodsLbl: Label 'Total, Cost of Goods', MaxLength = 100; + ManufVariancesLbl: Label 'Manuf. Variances', MaxLength = 100; + PurchaseVarianceCapLbl: Label 'Purchase Variance, Cap.', MaxLength = 100; + MaterialVarianceLbl: Label 'Material Variance', MaxLength = 100; + CapacityVarianceLbl: Label 'Capacity Variance', MaxLength = 100; + SubcontractedVarianceLbl: Label 'Subcontracted Variance', MaxLength = 100; + CapOverheadVarianceLbl: Label 'Cap. Overhead Variance', MaxLength = 100; + MfgOverheadVarianceLbl: Label 'Mfg. Overhead Variance', MaxLength = 100; + TotalManufVariancesLbl: Label 'Total, Manuf. Variances', MaxLength = 100; + CostofVariancesLbl: Label 'Cost of Variances', MaxLength = 100; + CostsofJobsLbl: Label 'Costs of Jobs', MaxLength = 100; + JobCostsAppliedLbl: Label 'Job Costs, Applied', MaxLength = 100; + TotalCostsofJobsLbl: Label 'Total, Costs of Jobs', MaxLength = 100; + CostofResourcesandServicesLbl: Label 'Cost of Resources and Services', MaxLength = 100; + CostofLaborLbl: Label 'Cost of Labor', MaxLength = 100; + CostofLaborProjectsLbl: Label 'Cost of Labor, Projects', MaxLength = 100; + CostofLaborWarrantyContractLbl: Label 'Cost of Labor, Warranty/Contract', MaxLength = 100; + SubcontractedworkLbl: Label 'Subcontracted work', MaxLength = 100; + TotalCostofResourcesLbl: Label 'Total, Cost of Resources', MaxLength = 100; + TOTALCOSTOFGOODSSOLDLbl: Label 'TOTAL COST OF GOODS SOLD', MaxLength = 100; + EXPENSESLbl: Label 'EXPENSES', MaxLength = 100; + PersonnelLbl: Label 'Personnel', MaxLength = 100; + HourlyWagesLbl: Label 'Hourly Wages', MaxLength = 100; + OvertimeWagesLbl: Label 'Overtime Wages', MaxLength = 100; + CommissionsPaidLbl: Label 'Commissions Paid', MaxLength = 100; + BonusesLbl: Label 'Bonuses', MaxLength = 100; + EmployerContributionsLbl: Label 'Employer Contributions', MaxLength = 100; + PensionfeesandrecurringcostsLbl: Label 'Pension fees and recurring costs', MaxLength = 100; + HealthInsuranceLbl: Label 'Health Insurance', MaxLength = 100; + TotalPersonnelLbl: Label 'Total, Personnel', MaxLength = 100; + DepreciationFixedAssetsLbl: Label 'Depreciation, Fixed Assets', MaxLength = 100; + DepreciationLandandPropertyLbl: Label 'Depreciation, Land and Property', MaxLength = 100; + MiscexternalexpensesLbl: Label 'Misc. external expenses', MaxLength = 100; + OtherExternalServicesLbl: Label 'Other External Services', MaxLength = 100; + RentalFacilitiesLbl: Label 'Rental Facilities', MaxLength = 100; + RentLeasesLbl: Label 'Rent / Leases', MaxLength = 100; + HeatingforRentalLbl: Label 'Heating for Rental', MaxLength = 100; + ElectricityforRentalLbl: Label 'Electricity for Rental', MaxLength = 100; + WaterandSewerageforRentalLbl: Label 'Water and Sewerage for Rental', MaxLength = 100; + CleaningandWasteforRentalLbl: Label 'Cleaning and Waste for Rental', MaxLength = 100; + RepairsandMaintenanceforRentalLbl: Label 'Repairs and Maintenance for Rental', MaxLength = 100; + InsurancesRentalLbl: Label 'Insurances, Rental', MaxLength = 100; + OtherRentalExpensesLbl: Label 'Other Rental Expenses', MaxLength = 100; + TotalRentalFacilitiesLbl: Label 'Total, Rental Facilities', MaxLength = 100; + CorporateInsuranceLbl: Label 'Corporate Insurance', MaxLength = 100; + PassengerCarCostsLbl: Label 'Passenger Car Costs', MaxLength = 100; + TruckCostsLbl: Label 'Truck Costs', MaxLength = 100; + OthervehicleexpensesLbl: Label 'Other vehicle expenses', MaxLength = 100; + AdvertisementDevelopmentLbl: Label 'Advertisement Development', MaxLength = 100; + OutdoorandTransportationAdsLbl: Label 'Outdoor and Transportation Ads', MaxLength = 100; + AdmatteranddirectmailingsLbl: Label 'Ad matter and direct mailings', MaxLength = 100; + ConferenceExhibitionSponsorshipLbl: Label 'Conference/Exhibition Sponsorship', MaxLength = 100; + FilmTVradiointernetadsLbl: Label 'Film, TV, radio, internet ads', MaxLength = 100; + SamplescontestsgiftsLbl: Label 'Samples, contests, gifts', MaxLength = 100; + BusinessEntertainingdeductibleLbl: Label 'Business Entertaining, deductible', MaxLength = 100; + BusinessEntertainingnondeductibleLbl: Label 'Business Entertaining, nondeductible', MaxLength = 100; + TravelExpensesLbl: Label 'Travel Expenses', MaxLength = 100; + OthertravelexpensesLbl: Label 'Other travel expenses', MaxLength = 100; + BoardandlodgingLbl: Label 'Board and lodging', MaxLength = 100; + TicketsLbl: Label 'Tickets', MaxLength = 100; + RentalvehiclesLbl: Label 'Rental vehicles', MaxLength = 100; + TotalTravelExpensesLbl: Label 'Total, Travel Expenses', MaxLength = 100; + CreditCardChargesLbl: Label 'Credit Card Charges', MaxLength = 100; + FreightfeesforgoodsLbl: Label 'Freight fees for goods', MaxLength = 100; + CustomsandforwardingLbl: Label 'Customs and forwarding', MaxLength = 100; + FreightfeesprojectsLbl: Label 'Freight fees, projects', MaxLength = 100; + PostalfeesLbl: Label 'Postal fees', MaxLength = 100; + PhoneServicesLbl: Label 'Phone Services', MaxLength = 100; + DataservicesLbl: Label 'Data services', MaxLength = 100; + LegalFeesandAttorneyServicesLbl: Label 'Legal Fees and Attorney Services', MaxLength = 100; + AnnualinterrimReportsLbl: Label 'Annual/interrim Reports', MaxLength = 100; + AccountingServicesLbl: Label 'Accounting Services', MaxLength = 100; + HireofmachineryLbl: Label 'Hire of machinery', MaxLength = 100; + SoftwareandsubscriptionfeesLbl: Label 'Software and subscription fees', MaxLength = 100; + HireofcomputersLbl: Label 'Hire of computers', MaxLength = 100; + HireofotherfixedassetsLbl: Label 'Hire of other fixed assets', MaxLength = 100; + ConsumableExpensiblehardwareLbl: Label 'Consumable/Expensible hardware', MaxLength = 100; + CurrencyLossesLbl: Label 'Currency Losses', MaxLength = 100; + BadDebtLossesLbl: Label 'Bad Debt Losses', MaxLength = 100; + PurchaseDiscountsLbl: Label 'Purchase Discounts', MaxLength = 100; + PayableInvoiceRoundingLbl: Label 'Payable Invoice Rounding', MaxLength = 100; + SalesInvoiceRoundingLbl: Label 'Sales Invoice Rounding', MaxLength = 100; + TOTALEXPENSESLbl: Label 'TOTAL EXPENSES', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/CreateDEGLAccounts.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGLAccounts.Codeunit.al similarity index 91% rename from Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/CreateDEGLAccounts.Codeunit.al rename to Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGLAccounts.Codeunit.al index 428b9fcec5..a17f86c320 100644 --- a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/CreateDEGLAccounts.Codeunit.al +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGLAccounts.Codeunit.al @@ -21,14 +21,14 @@ codeunit 11080 "Create DE GL Accounts" ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '3806'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '1406'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '1001'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '1102'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '1001'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '1102'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '4093'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '4093'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1001'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '1001'); @@ -58,8 +58,8 @@ codeunit 11080 "Create DE GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; MfgGLAccount: Codeunit "Create Mfg GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '4091'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '4092'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), ''); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '5031'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '5032'); @@ -69,7 +69,7 @@ codeunit 11080 "Create DE GL Accounts" ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '5036'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1101'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '1085'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] @@ -78,14 +78,14 @@ codeunit 11080 "Create DE GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; FAGLAccount: Codeunit "Create FA GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '0280'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '0210'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '0210'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), ''); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '4985'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), ''); ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '4830'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '2720'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] @@ -94,7 +94,7 @@ codeunit 11080 "Create DE GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; HRGLAccount: Codeunit "Create HR GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '4150'); + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] @@ -103,7 +103,7 @@ codeunit 11080 "Create DE GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; JobGLAccount: Codeunit "Create Job GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '1081'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), ''); ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1082'); ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '4416'); diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGeneralLedgerSetup.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..7f83d5d0a6 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 11383 "Create DE General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("EMU Currency", true); + GeneralLedgerSetup.Validate("Local Currency Symbol", ''); + GeneralLedgerSetup.Validate("Local Currency Description", ''); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.EUR()); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Validate("Currency Code For EURO", CreateCurrency.EUR()); + GeneralLedgerSetup."Adjust for Payment Disc." := false; + GeneralLedgerSetup.Validate("Prepayment Unrealized VAT", false); + GeneralLedgerSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEPostingGroups.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEPostingGroups.Codeunit.al new file mode 100644 index 0000000000..06867762cc --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEPostingGroups.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 11380 "Create DE Posting Groups" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + InsertGenProdPostingGroup(); + UpdateGenPostingSetup(); + end; + + local procedure InsertGenProdPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(NoVATPostingGroup(), MiscDescriptionLbl, ''); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure UpdateVATProdPostingGroup(Code: Code[20]; VATProductPostingGroup: Code[20]) + var + GenProductPostingGroup: Record "Gen. Product Posting Group"; + begin + if not GenProductPostingGroup.Get(Code) then + exit; + + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", VATProductPostingGroup); + GenProductPostingGroup.Modify(true); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreateDEGLAccount: Codeunit "Create DE GL Acc."; + CreatePostingGroup: Codeunit "Create Posting Groups"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NoVATPostingGroup(), '', '', CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', '', '', '', '', CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroup.RetailPostingGroup(), '', '', CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', '', '', '', '', CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), NoVATPostingGroup(), CreateDEGLAccount.ResaleofGoods(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateDEGLAccount.ResaleofGoods(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateDEGLAccount.SalesofServiceWork(), CreateDEGLAccount.OtherExternalServices(), CreateDEGLAccount.CostofLabor(), CreateDEGLAccount.OtherExternalServices(), CreateDEGLAccount.OtherExternalServices(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofLabor(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), NoVATPostingGroup(), CreateDEGLAccount.ResaleofGoods(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateDEGLAccount.ResaleofGoods(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateDEGLAccount.SalesofServiceWork(), CreateDEGLAccount.OtherExternalServices(), CreateDEGLAccount.CostofLabor(), CreateDEGLAccount.OtherExternalServices(), CreateDEGLAccount.OtherExternalServices(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofLabor(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), NoVATPostingGroup(), CreateDEGLAccount.ResaleofGoods(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateDEGLAccount.ResaleofGoods(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.CostofMaterials(), CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateDEGLAccount.SalesofServiceWork(), CreateDEGLAccount.OtherExternalServices(), CreateDEGLAccount.CostofLabor(), CreateDEGLAccount.OtherExternalServices(), CreateDEGLAccount.OtherExternalServices(), '', CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.SalesDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.PurchaseDiscounts(), CreateDEGLAccount.CostofLabor(), '', ''); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure NoVATPostingGroup(): Code[20] + begin + exit(NoVATTok); + end; + + var + MiscDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + NoVATTok: Label 'NO VAT', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEVATPostingGroups.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEVATPostingGroups.Codeunit.al new file mode 100644 index 0000000000..26f984dd9b --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/1.Setup data/CreateDEVATPostingGroups.Codeunit.al @@ -0,0 +1,189 @@ +codeunit 11379 "Create DE VAT Posting Groups" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + CreateVATPostingSetup(); + end; + + local procedure CreateVATPostingSetup() + var + ContosoPostingSetup: codeunit "Contoso Posting Setup"; + CreateDEGLAccount: Codeunit "Create DE GL Acc."; + CreatePostingGroup: codeunit "Create Posting Groups"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', NOVAT(), CreateDEGLAccount.MiscVATPayables(), CreateDEGLAccount.MiscVATReceivables(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', VAT19(), CreateDEGLAccount.SalesVATNormal(), CreateDEGLAccount.PurchaseVATNormal(), VAT19(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', VAT7(), CreateDEGLAccount.SalesVATReduced(), CreateDEGLAccount.PurchaseVATReduced(), VAT7(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), EUPostingGroupST(), '', '', EUPostingGroupST(), 100, Enum::"Tax Calculation Type"::"Full VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), NOVAT(), CreateDEGLAccount.MiscVATPayables(), CreateDEGLAccount.MiscVATReceivables(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), VAT19(), CreateDEGLAccount.SalesVATNormal(), CreateDEGLAccount.PurchaseVATNormal(), VAT19(), 19, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.DomesticPostingGroup(), VAT7(), CreateDEGLAccount.SalesVATReduced(), CreateDEGLAccount.PurchaseVATReduced(), VAT7(), 7, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), NOVAT(), CreateDEGLAccount.MiscVATPayables(), CreateDEGLAccount.MiscVATReceivables(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), VAT19(), CreateDEGLAccount.SalesVATNormal(), CreateDEGLAccount.PurchaseVATNormal(), VAT19(), 19, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateDEGLAccount.MiscVATPayables(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.EUPostingGroup(), VAT7(), CreateDEGLAccount.SalesVATReduced(), CreateDEGLAccount.PurchaseVATReduced(), VAT7(), 7, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateDEGLAccount.MiscVATPayables(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), NOVAT(), CreateDEGLAccount.MiscVATPayables(), CreateDEGLAccount.MiscVATReceivables(), NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), VAT19(), CreateDEGLAccount.SalesVATNormal(), CreateDEGLAccount.PurchaseVATNormal(), VAT19(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreatePostingGroup.ExportPostingGroup(), VAT7(), CreateDEGLAccount.SalesVATReduced(), CreateDEGLAccount.PurchaseVATReduced(), VAT7(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATPostingSetup(var Rec: Record "VAT Posting Setup") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + UpdateAdjustforPaymentDiscountOnGeneralLedgerSetup(); + + case Rec."VAT Bus. Posting Group" of + CreateVATPostingGroups.Domestic(), + CreateVATPostingGroups.EU(), + CreateVATPostingGroups.Export(), + '': + Rec.Validate("Adjust for Payment Discount", false); + end; + end; + + local procedure UpdateAdjustforPaymentDiscountOnGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + VATPostingSetup: Record "VAT Posting Setup"; + begin + GeneralLedgerSetup.Get(); + + if not GeneralLedgerSetup."Adjust for Payment Disc." then + exit; + + if VATPostingSetup.Get('', '') then begin + VATPostingSetup.Validate("Adjust for Payment Discount", false); + VATPostingSetup.Modify(true); + + GeneralLedgerSetup.Validate("Adjust for Payment Disc.", false); + GeneralLedgerSetup.Modify(true); + end; + end; + + procedure InsertVATProductPostingGroup() + var + CreateDEPostingGroups: Codeunit "Create DE Posting Groups"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateDEGLAcc: Codeunit "Create DE GL Acc."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(EUPostingGroupST(), EUPostingGroupSTLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Min19(), StrSubstNo(MinderungDescriptionLbl, '19%')); + ContosoPostingGroup.InsertVATProductPostingGroup(Min7(), StrSubstNo(MinderungDescriptionLbl, '7%')); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT7(), StrSubstNo(MiscellaneousVATLbl, '7')); + ContosoPostingGroup.InsertVATProductPostingGroup(NoVAT(), MiscellaneousNoVATLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT19(), StrSubstNo(MiscellaneousVATLbl, '19')); + + CreateDEPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroups.FreightPostingGroup(), VAT19()); + CreateDEPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroups.RawMatPostingGroup(), VAT19()); + CreateDEPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroups.MiscPostingGroup(), VAT19()); + CreateDEPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroups.ServicesPostingGroup(), VAT7()); + CreateDEPostingGroups.UpdateVATProdPostingGroup(CreatePostingGroups.RetailPostingGroup(), VAT19()); + CreateDEPostingGroups.UpdateVATProdPostingGroup(CreateDEPostingGroups.NoVATPostingGroup(), NOVAT()); + + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.MiscVATPayables(), VAT19()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.Incomefromsecurities(), VAT19()); + UpdateVATProductPostingGroupOnGLAccount(CreateGLAccount.InterestIncome(), VAT19()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.SaleofFinishedGoods(), VAT19()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.SaleofRawMaterials(), VAT19()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.ResaleofGoods(), VAT19()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.SaleofResources(), VAT7()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.SaleofSubcontracting(), VAT7()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.SalesofServiceContracts(), VAT7()); + UpdateVATProductPostingGroupOnGLAccount(CreateDEGLAcc.PayableInvoiceRounding(), VAT19()); + + end; + + local procedure UpdateVATProductPostingGroupOnGLAccount(GLAccountNo: Code[20]; VATProductPostingGroup: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + if not GLAccount.Get(GLAccountNo) then + exit; + + GLAccount.Validate("VAT Prod. Posting Group", VATProductPostingGroup); + GLAccount.Modify(true); + end; + + procedure NOVAT(): Code[20] + begin + exit(NoVATTok); + end; + + procedure VAT19(): Code[20] + begin + exit(VAT19Tok); + end; + + procedure VAT7(): Code[20] + begin + exit(VAT7Tok); + end; + + procedure Zero(): Code[20] + begin + exit(ZeroTok); + end; + + procedure EUPostingGroupST(): Code[20] + begin + exit(EUSTTok); + end; + + procedure Min19(): Code[20] + begin + exit(Min19Tok); + end; + + procedure Min7(): Code[20] + begin + exit(Min7Tok); + end; + + procedure Reduced(): Code[20] + begin + exit(ReducedTok); + end; + + procedure ServRed(): Code[20] + begin + exit(ServRedTok); + end; + + procedure ServNormal(): Code[20] + begin + exit(ServNormTok); + end; + + procedure FullNormal(): Code[20] + begin + exit(FullNormalTok); + end; + + var + NoVATTok: Label 'NO VAT', MaxLength = 20, Locked = true; + VAT19Tok: Label 'VAT19', MaxLength = 20, Locked = true; + VAT7Tok: Label 'VAT7', MaxLength = 20, Locked = true; + ZeroTok: Label 'ZERO', MaxLength = 20, Locked = true; + EUSTTok: Label 'EUST', MaxLength = 20, Locked = true; + Min19Tok: Label 'MIN19', MaxLength = 20, Locked = true; + Min7Tok: Label 'MIN7', MaxLength = 20, Locked = true; + ReducedTok: Label 'REDUCED', MaxLength = 20, Locked = true; + ServRedTok: Label 'SERV RED', MaxLength = 20, Locked = true; + ServNormTok: Label 'SERV NORM', MaxLength = 20, Locked = true; + FullNormalTok: Label 'FULL NORMAL', MaxLength = 20, Locked = true; + MiscellaneousVATLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage'; + EUPostingGroupSTLbl: Label 'Einfuhrumsatzsteuer', MaxLength = 100; + MiscellaneousNoVATLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + MinderungDescriptionLbl: Label 'Minderung %1', Comment = '%1= a number specifying the VAT Percentage'; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDECurrencyExRate.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDECurrencyExRate.Codeunit.al new file mode 100644 index 0000000000..651326257e --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDECurrencyExRate.Codeunit.al @@ -0,0 +1,188 @@ +codeunit 11376 "Create DE Currency Ex. Rate" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Currency: Codeunit "Create Currency"; + ContosoCurrency: Codeunit "Contoso Currency"; + date: Date; + begin + ContosoCurrency.SetOverwriteData(true); + date := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.GBP(), date, 100, 100, 154.8801, 154.8801); + + date := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.GBP(), date, 100, 100, 165.793, 165.793); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.USD(), date, 100, 100, 101.7599, 101.7599); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SEK(), date, 100, 100, 15.7473, 15.7473); + + date := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.GBP(), date, 100, 100, 159.2372, 159.2372); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.USD(), date, 100, 100, 105.0287, 105.0287); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SEK(), date, 100, 100, 16.2267, 16.2267); + ContosoCurrency.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + date: Date; + //GBPdate: Date; + //GBPdate1: Date; + begin + date := CalcDate('', WorkDate()); + //GBPdate := CalcDate('', WorkDate()); + //GBPdate1 := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1, 1, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100, 100, 12.3754, 12.3754); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExpRecType.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExpRecType.Codeunit.al new file mode 100644 index 0000000000..6a8b60a464 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExpRecType.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 11124 "Create DE Data Exp. Rec. Type" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDEDigitalAudit: Codeunit "Contoso DE Digital Audit"; + begin + ContosoDEDigitalAudit.InsertDataExportRecordType(RecordCode(), RecordCodeLbl); + ContosoDEDigitalAudit.InsertDataExportRecordType(FixedAssetData(), FixedAssetDataLbl); + ContosoDEDigitalAudit.InsertDataExportRecordType(GLAccountData(), GLAccountDataLbl); + ContosoDEDigitalAudit.InsertDataExportRecordType(ItemData(), ItemDataLbl); + end; + + procedure RecordCode(): Code[10] + begin + exit(RecordCodeTok); + end; + + procedure FixedAssetData(): Code[10] + begin + exit(FixedAssetDataTok); + end; + + procedure GLAccountData(): Code[10] + begin + exit(GLAccountDataTok); + end; + + procedure ItemData(): Code[10] + begin + exit(ItemDataTok); + end; + + var + RecordCodeTok: Label 'RECORD-1', MaxLength = 10; + FixedAssetDataTok: Label 'FAACC 2022', MaxLength = 10; + GLAccountDataTok: Label 'GLACC 2022', MaxLength = 10; + ItemDataTok: Label 'ITEM 2022', MaxLength = 10; + RecordCodeLbl: Label 'Record Code 1', MaxLength = 50; + FixedAssetDataLbl: Label 'Required data for exporting Fixed Asset data', MaxLength = 50; + GLAccountDataLbl: Label 'Required data for exporting G/L and personal data', MaxLength = 50; + ItemDataLbl: Label 'Required data for exporting Item and Invoice data', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExport.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExport.Codeunit.al new file mode 100644 index 0000000000..31b5611aa6 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExport.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 11122 "Create DE Data Export" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDEDigitalAudit: Codeunit "Contoso DE Digital Audit"; + begin + ContosoDEDigitalAudit.InsertDataExport(ExportData(), ExportDataLbl); + ContosoDEDigitalAudit.InsertDataExport(FixedAssetData(), FixedAssetDataLbl); + ContosoDEDigitalAudit.InsertDataExport(GLAccountData(), GLAccountDataLbl); + ContosoDEDigitalAudit.InsertDataExport(ItemData(), ItemDataLbl); + end; + + procedure ExportData(): Code[10] + begin + exit(ExportDataTok); + end; + + procedure FixedAssetData(): Code[10] + begin + exit(FixedAssetDataTok); + end; + + procedure GLAccountData(): Code[10] + begin + exit(GLAccountDataTok); + end; + + procedure ItemData(): Code[10] + begin + exit(ItemDataTok); + end; + + var + ExportDataTok: Label 'EXPORT-1', MaxLength = 10; + FixedAssetDataTok: Label 'FAACC 2022', MaxLength = 10; + GLAccountDataTok: Label 'GLACC 2022', MaxLength = 10; + ItemDataTok: Label 'ITEM 2022', MaxLength = 10; + ExportDataLbl: Label 'Definition Group for EXPORT-1', MaxLength = 50; + FixedAssetDataLbl: Label 'Required data for exporting Fixed Asset data', MaxLength = 50; + GLAccountDataLbl: Label 'Required data for exporting G/L and personal data', MaxLength = 50; + ItemDataLbl: Label 'Required data for exporting Item and Invoice data', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExportRecord.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExportRecord.Codeunit.al new file mode 100644 index 0000000000..43fabd4f13 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEDataExportRecord.Codeunit.al @@ -0,0 +1,461 @@ +codeunit 11125 "Create DE Data Export Record" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateDataExportRecordDefinition(); + CreateDataExportRecordSource(); + CreateDataExportRecordField(); + CreateDataExportTableRelation(); + end; + + local procedure CreateDataExportRecordDefinition() + var + CreateDEDataExport: Codeunit "Create DE Data Export"; + CreateDEDataExpRecType: Codeunit "Create DE Data Exp. Rec. Type"; + ContosoDEDigitalAudit: Codeunit "Contoso DE Digital Audit"; + begin + ContosoDEDigitalAudit.InsertDataExportRecordDefinition(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode()); + ContosoDEDigitalAudit.InsertDataExportRecordDefinition(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData()); + ContosoDEDigitalAudit.InsertDataExportRecordDefinition(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData()); + ContosoDEDigitalAudit.InsertDataExportRecordDefinition(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData()); + end; + + local procedure CreateDataExportRecordSource() + var + CreateDEDataExport: Codeunit "Create DE Data Export"; + CreateDEDataExpRecType: Codeunit "Create DE Data Exp. Rec. Type"; + ContosoDEDigitalAudit: Codeunit "Contoso DE Digital Audit"; + begin + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 10000, Database::"G/L Account", 0, 0, 0, 0, GL_AccountFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 1, Database::"G/L Account", 10000, 4, GL_EntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 30000, Database::"Customer", 0, 0, 0, 0, CustomerFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 1, Database::"Customer", 30000, 4, Cust_LedgerFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 50000, Database::"Vendor", 0, 0, 0, 0, VendorFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 1, Database::"Vendor", 50000, 4, Vend_LedgerFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 0, 0, 0, 4, VAT_EntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 10000, Database::"Fixed Asset", 0, 0, 0, 0, FixedAssetFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 1, Database::"Fixed Asset", 10000, 5, FALedgerEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 1, Database::"Fixed Asset", 10000, 0, FADepreciationBookFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 0, 0, 0, 0, FAPostingGroupFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 10000, Database::"Country/Region", 0, 0, 0, 0, CountryRegionFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 0, 0, 0, 0, GLAccountFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 1, Database::"G/L Account", 20000, 4, GLEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 0, 0, 0, 0, CustomerFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 1, Database::"Customer", 40000, 4, CustLedgerEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 2, Database::"Cust. Ledger Entry", 50000, 4, DetailedCustLedgEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 0, 0, 0, 0, VendorFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 1, Database::"Vendor", 70000, 4, VendorLedgerEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 2, Database::"Vendor Ledger Entry", 80000, 4, DetailedVendorLedgEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 100000, Database::"G/L Register", 0, 0, 0, 0, GLRegisterFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 110000, Database::"General Ledger Setup", 0, 0, 0, 0, GeneralLedgerSetupFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 0, 0, 0, 4, VATEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 0, 0, 0, 0, VATPostingSetupFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 0, 0, 0, 0, DimensionValueFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 10000, Database::"Item", 0, 0, 0, 0, ItemFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 1, Database::"Item", 10000, 3, ItemLedgerEntryFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 0, 0, 0, 20, SalesInvoiceHeaderFileNameLbl); + ContosoDEDigitalAudit.InsertDataExportRecordSource(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 0, 0, 0, 20, SalesCrMemoHeaderFileNameLbl); + end; + + local procedure CreateDataExportTableRelation() + var + CreateDEDataExport: Codeunit "Create DE Data Export"; + CreateDEDataExpRecType: Codeunit "Create DE Data Exp. Rec. Type"; + ContosoDEDigitalAudit: Codeunit "Contoso DE Digital Audit"; + begin + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), Database::"G/L Account", 1, Database::"G/L Entry", 3); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), Database::"Customer", 1, Database::"Cust. Ledger Entry", 3); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), Database::"Vendor", 1, Database::"Vendor Ledger Entry", 3); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), Database::"Fixed Asset", 1, Database::"FA Ledger Entry", 3); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), Database::"Fixed Asset", 1, Database::"FA Depreciation Book", 1); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), Database::"G/L Account", 1, Database::"G/L Entry", 3); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), Database::"Customer", 1, Database::"Cust. Ledger Entry", 3); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), Database::"Cust. Ledger Entry", 1, Database::"Detailed Cust. Ledg. Entry", 2); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), Database::"Vendor", 1, Database::"Vendor Ledger Entry", 3); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), Database::"Vendor Ledger Entry", 1, Database::"Detailed Vendor Ledg. Entry", 2); + ContosoDEDigitalAudit.InsertDataExportTableRelation(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), Database::"Item", 1, Database::"Item Ledger Entry", 2); + end; + + local procedure CreateDataExportRecordField() + var + CreateDEDataExport: Codeunit "Create DE Data Export"; + CreateDEDataExpRecType: Codeunit "Create DE Data Exp. Rec. Type"; + ContosoDEDigitalAudit: Codeunit "Contoso DE Digital Audit"; + begin + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 10000, Database::"G/L Account", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 10000, Database::"G/L Account", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 10000, Database::"G/L Account", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 10000, Database::"G/L Account", 10, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 10000, Database::"G/L Account", 31, 50000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 10000, Database::"G/L Account", 32, 60000, 1); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 17, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 52, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 53, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 54, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 20000, Database::"G/L Entry", 56, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 30000, Database::"Customer", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 30000, Database::"Customer", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 30000, Database::"Customer", 21, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 30000, Database::"Customer", 59, 40000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 30000, Database::"Customer", 61, 50000, 1); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 11, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 13, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 14, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 15, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 40000, Database::"Cust. Ledger Entry", 16, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 50000, Database::"Vendor", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 50000, Database::"Vendor", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 50000, Database::"Vendor", 21, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 50000, Database::"Vendor", 59, 40000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 50000, Database::"Vendor", 61, 50000, 1); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 11, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 13, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 14, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 15, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 60000, Database::"Vendor Ledger Entry", 16, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 4, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 5, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 6, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 7, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 8, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 9, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 10, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 2, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 3, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 39, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ExportData(), CreateDEDataExpRecType.RecordCode(), 70000, Database::"VAT Entry", 40, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 10000, Database::"Fixed Asset", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 10000, Database::"Fixed Asset", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 10000, Database::"Fixed Asset", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 10000, Database::"Fixed Asset", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 10000, Database::"Fixed Asset", 11, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 10000, Database::"Fixed Asset", 26, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 3, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 4, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 5, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 6, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 7, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 8, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 9, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 10, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 11, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 13, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 14, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 15, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 16, 130000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 17, 140000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 18, 150000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 19, 160000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 20, 170000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 27, 180000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 33, 190000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 34, 200000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 35, 210000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 36, 220000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 37, 230000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 38, 240000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 20000, Database::"FA Ledger Entry", 53, 250000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 3, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 4, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 5, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 6, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 7, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 8, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 9, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 11, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 12, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 13, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 15, 130000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 16, 140000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 17, 150000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 18, 160000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 19, 170000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 20, 180000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 21, 190000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 22, 200000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 23, 210000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 24, 220000, 3); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 25, 230000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 26, 240000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 30, 250000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 31, 260000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 32, 270000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 55, 280000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 56, 290000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 30000, Database::"FA Depreciation Book", 57, 300000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 3, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 4, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 5, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 6, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 7, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.FixedAssetData(), CreateDEDataExpRecType.FixedAssetData(), 40000, Database::"FA Posting Group", 9, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 10000, Database::"Country/Region", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 10000, Database::"Country/Region", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 10000, Database::"Country/Region", 6, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 9, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 14, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 31, 60000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 20000, Database::"G/L Account", 32, 70000, 1); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 10, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 17, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 23, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 24, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 27, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 29, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 43, 130000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 48, 140000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 51, 150000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 52, 160000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 53, 170000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 54, 180000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 55, 190000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 56, 200000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 57, 210000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 58, 220000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 64, 230000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 30000, Database::"G/L Entry", 65, 240000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 8, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 9, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 20, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 21, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 35, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 45, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 54, 130000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 61, 140000, 1); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 86, 150000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 91, 160000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 92, 170000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 99, 180000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 100, 190000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 102, 200000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 40000, Database::"Customer", 108, 210000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 16, 70000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 17, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 23, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 24, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 27, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 37, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 45, 130000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 51, 140000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 52, 150000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 53, 160000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 60, 170000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 61, 180000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 50000, Database::"Cust. Ledger Entry", 62, 190000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 3, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 4, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 5, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 8, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 9, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 35, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 60000, Database::"Detailed Cust. Ledg. Entry", 36, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 8, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 9, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 21, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 35, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 45, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 54, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 61, 130000, 1); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 86, 140000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 91, 150000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 92, 160000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 99, 170000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 100, 180000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 102, 190000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 70000, Database::"Vendor", 108, 200000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 16, 70000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 17, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 23, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 24, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 27, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 37, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 45, 130000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 51, 140000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 52, 150000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 53, 160000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 60, 170000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 61, 180000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 80000, Database::"Vendor Ledger Entry", 62, 190000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 3, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 4, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 5, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 8, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 9, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 35, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 90000, Database::"Detailed Vendor Ledg. Entry", 36, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 100000, Database::"G/L Register", 2, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 100000, Database::"G/L Register", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 100000, Database::"G/L Register", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 100000, Database::"G/L Register", 6, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 110000, Database::"General Ledger Setup", 71, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 3, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 4, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 5, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 6, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 7, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 8, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 9, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 10, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 12, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 13, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 15, 130000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 17, 140000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 19, 150000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 21, 160000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 35, 170000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 39, 180000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 40, 190000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 120000, Database::"VAT Entry", 55, 200000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 3, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 4, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 7, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 9, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 130000, Database::"VAT Posting Setup", 11, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 3, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 4, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 5, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 7, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 8, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.GLAccountData(), CreateDEDataExpRecType.GLAccountData(), 140000, Database::"Dimension Value", 9, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 10000, Database::"Item", 1, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 10000, Database::"Item", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 10000, Database::"Item", 70, 30000, 2); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 10000, Database::"Item", 90, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 10000, Database::"Item", 99, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 2, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 3, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 6, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 12, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 41, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 52, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 60, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 20000, Database::"Item Ledger Entry", 5816, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 3, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 20, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 27, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 60, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 61, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 70, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 78, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 87, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 30000, Database::"Sales Invoice Header", 93, 120000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 3, 10000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 2, 20000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 4, 30000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 5, 40000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 20, 50000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 27, 60000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 60, 70000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 61, 80000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 70, 90000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 78, 100000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 87, 110000, 0); + ContosoDEDigitalAudit.InsertDataExportRecordField(CreateDEDataExport.ItemData(), CreateDEDataExpRecType.ItemData(), 40000, Database::"Sales Cr.Memo Header", 93, 120000, 0); + end; + + + var + GL_AccountFileNameLbl: Label 'GL_Account.txt', MaxLength = 250; + GL_EntryFileNameLbl: Label 'GL_Entry.txt', MaxLength = 250; + CustomerFileNameLbl: Label 'Customer.txt', MaxLength = 250; + Cust_LedgerFileNameLbl: Label 'Cust_Ledger.txt', MaxLength = 250; + VendorFileNameLbl: Label 'Vendor.txt', MaxLength = 250; + Vend_LedgerFileNameLbl: Label 'Vend_Ledger.txt', MaxLength = 250; + VAT_EntryFileNameLbl: Label 'VAT_Entry.txt', MaxLength = 250; + FixedAssetFileNameLbl: Label 'FixedAsset.txt', MaxLength = 250; + FALedgerEntryFileNameLbl: Label 'FALedgerEntry.txt', MaxLength = 250; + FADepreciationBookFileNameLbl: Label 'FADepreciationBook.txt', MaxLength = 250; + FAPostingGroupFileNameLbl: Label 'FAPostingGroup.txt', MaxLength = 250; + CountryRegionFileNameLbl: Label 'CountryRegion.txt', MaxLength = 250; + GLAccountFileNameLbl: Label 'GLAccount.txt', MaxLength = 250; + GLEntryFileNameLbl: Label 'GLEntry.txt', MaxLength = 250; + CustLedgerEntryFileNameLbl: Label 'CustLedgerEntry.txt', MaxLength = 250; + DetailedCustLedgEntryFileNameLbl: Label 'DetailedCustLedgEntry.txt', MaxLength = 250; + VendorLedgerEntryFileNameLbl: Label 'VendorLedgerEntry.txt', MaxLength = 250; + DetailedVendorLedgEntryFileNameLbl: Label 'DetailedVendorLedgEntry.txt', MaxLength = 250; + GLRegisterFileNameLbl: Label 'GLRegister.txt', MaxLength = 250; + GeneralLedgerSetupFileNameLbl: Label 'GeneralLedgerSetup.txt', MaxLength = 250; + VATEntryFileNameLbl: Label 'VATEntry.txt', MaxLength = 250; + VATPostingSetupFileNameLbl: Label 'VATPostingSetup.txt', MaxLength = 250; + DimensionValueFileNameLbl: Label 'DimensionValue.txt', MaxLength = 250; + ItemFileNameLbl: Label 'Item.txt', MaxLength = 250; + ItemLedgerEntryFileNameLbl: Label 'ItemLedgerEntry.txt', MaxLength = 250; + SalesInvoiceHeaderFileNameLbl: Label 'SalesInvoiceHeader.txt', MaxLength = 250; + SalesCrMemoHeaderFileNameLbl: Label 'SalesCrMemoHeader.txt', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEResource.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEResource.Codeunit.al new file mode 100644 index 0000000000..139ef42e26 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEResource.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 11084 "Create DE Resource" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateVatPostingGrp: Codeunit "Create DE VAT Posting Groups"; + begin + case Rec."No." of + CreateResource.Katherine(): + begin + Rec.Validate("Employment Date", 20050525D); + ValidateResource(Rec, DiepholzLbl, 77, 84.7, 45.35484, 155, '49293', CreateVatPostingGrp.VAT7()); + end; + CreateResource.Lina(): + ValidateResource(Rec, HamburgLbl, 93, 102.3, 45, 186, '20203', CreateVatPostingGrp.VAT7()); + CreateResource.Marty(): + ValidateResource(Rec, DiepholzLbl, 70, 77, 44.60432, 139, '49293', CreateVatPostingGrp.VAT7()); + CreateResource.Terry(): + ValidateResource(Rec, DiepholzLbl, 77, 84.7, 45.35484, 155, '49293', CreateVatPostingGrp.VAT7()); + end; + end; + + local procedure ValidateResource(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercent: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Profit %", ProfitPercent); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Post Code", PostCode); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + DiepholzLbl: Label 'Diepholz', MaxLength = 30; + HamburgLbl: Label 'Hamburg', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEVATStatement.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEVATStatement.Codeunit.al new file mode 100644 index 0000000000..2e4d25239a --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Finance/2. Master data/CreateDEVATStatement.Codeunit.al @@ -0,0 +1,129 @@ +codeunit 11120 "Create DE VAT Statement" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + ContosoVATStatement.InsertVATStatementName(CreateVATStatement.VATTemplateName(), StatementNameLbl, StatementNameDescLbl); + CreateVATStatementLine(); + end; + + local procedure CreateVATStatementLine() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateDEVATPostingGroups: Codeunit "Create DE VAT Posting Groups"; + begin + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 10000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, MehrwertsteuerabrechnungLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 20000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 30000, '41', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, SteuerfreieErlöse41B1Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 40000, '41', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, SteuerfreieErlöse41B2Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 50000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 60000, '43', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, StfrUmsätzeMVorstAbzug43B1Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 70000, '43', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, StfrUmsätzeMVorstAbzug43B2Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 80000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 90000, '81A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, StpflUmsätze81BLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 100000, '81S', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Umsatzsteuer81SLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 110000, '50A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min19(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, MinderungBmg5019Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 120000, '50AS', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min19(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, MinderungBetr5019Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 130000, '81', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '81A|50A', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, StpflUmsätze81BLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 140000, '81ST', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '81S|50AS', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, Umsatzsteuer81SLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 150000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 160000, '86A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, StpflUmsätze86BLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 170000, '86S', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Umsatzsteuer86SLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 180000, '87', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.NoVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, StpflUmsätze87Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 190000, '50B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, MinderungBmg507Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 200000, '50BS', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, MinderungBetr507Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 210000, '86', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '86A|50B', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, StpflUmsätze886BLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 220000, '86ST', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '86S|50BS', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, Umsatzsteuer86SLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 230000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 240000, '50', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min19(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, true, 1, MinderungBmg5019Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 250000, '50', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min7(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, true, 1, MinderungBmg507Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 260000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 270000, '36', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), '', '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, UmsätzeZuAnderenSteuersätzen36Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 280000, '35', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), '', '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, SteuerAusUmsätzeZuAnderenSteuersätzen35Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 290000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 300000, '91', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.NoVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, true, 1, InnergemErwerbe91Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 310000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 320000, '89', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, true, 1, StpflInnergemErwerbe89BLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 330000, '89', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, true, 1, Erwerbsteuer89SLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 340000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 350000, '93', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, true, 1, StpflInnergemErwerbe93BLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 360000, '93', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, true, 1, Erwerbsteuer93SLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 370000, '90', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.NoVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, StpflInnergemErwerbe90Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 380000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 390000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 400000, '66A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, VorsteuerN66S1Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 410000, '66B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, VorsteuerN66S2Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 420000, '37A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min19(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, MinderungBetr19Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 430000, '37B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, MinderungBetr7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 440000, '66', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '66A|66B|37A|37B', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VorsteuerN66Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 450000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 460000, '37', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min19(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, true, 1, MinderungBetr19Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 470000, '37', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.Min7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, true, 1, MinderungBetr7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 480000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 490000, '61A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT19(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, Erwerbvorsteuer61S1Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 500000, '61B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateDEVATPostingGroups.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, Erwerbvorsteuer61S2Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 510000, '61', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '61A|61B', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, Erwerbvorsteuer61Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 520000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 530000, '62', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateDEVATPostingGroups.EUPostingGroupST(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, EntrichteteEinfuhrumsatzsteuerLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 540000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 550000, '83', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '81|86|35|89|93|66|61|62', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VerbleibenderBetragLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 560000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 570000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ProbeLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 580000, '10', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, UmsatzsteuerP51Lbl, '1775'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 590000, '11', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, UmsatzsteuerP86Lbl, '1771'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 600000, '12', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ErwerbsteuerP97Lbl, '1773'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 610000, '13', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ErwerbsteuerP93Lbl, '1772'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 620000, '14', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VorsteuerP66Lbl, '1571|1575'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 630000, '15', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ErwerbvorsteuerP61Lbl, '1773|1784'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 640000, '16', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '10..15', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VerbleibenderBetragLbl, ''); + end; + + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVATStatement: Codeunit "Create VAT Statement"; + StatementNameLbl: Label 'USTVA', MaxLength = 10; + StatementNameDescLbl: Label 'VAT Statement Germany', MaxLength = 100; + MehrwertsteuerabrechnungLbl: Label 'MEHRWERTSTEUERABRECHNUNG', MaxLength = 100; + SteuerfreieErlöse41B1Lbl: Label '41B1 / Steuerfreie Erlöse §4 1b UStG EG m. ID-Nr.', MaxLength = 100; + SteuerfreieErlöse41B2Lbl: Label '41B2 / Steuerfreie Erlöse §4 1b UStG EG m. ID-Nr.', MaxLength = 100; + StfrUmsätzeMVorstAbzug43B1Lbl: Label '43B1 / Stfr. Umsätze m. VorSt-Abzug §4 2-7 UStG', MaxLength = 100; + StfrUmsätzeMVorstAbzug43B2Lbl: Label '43B2 / Stfr. Umsätze m. VorSt-Abzug §4 2-7 UStG', MaxLength = 100; + StpflUmsätze81BLbl: Label '81B / Stpfl. Umsätze 19 %', MaxLength = 100; + Umsatzsteuer81SLbl: Label '81S / Umsatzsteuer 19 %', MaxLength = 100; + MinderungBetr5019Lbl: Label '50 / Minderung Betr 19%', MaxLength = 100; + StpflUmsätze86BLbl: Label '86B / Stpfl. Umsätze 7 %', MaxLength = 100; + StpflUmsätze87Lbl: Label '87 / Stpfl. Umsätze 0%', MaxLength = 100; + MinderungBetr507Lbl: Label '50 / Minderung Betr 7%', MaxLength = 100; + StpflUmsätze886BLbl: Label '886B / Stpfl. Umsätze 7 %', MaxLength = 100; + Umsatzsteuer86SLbl: Label '86S / Umsatzsteuer 7 %', MaxLength = 100; + MinderungBmg5019Lbl: Label '50 / Minderung Bmg 19%', MaxLength = 100; + MinderungBmg507Lbl: Label '50 / Minderung Bmg 7%', MaxLength = 100; + UmsätzeZuAnderenSteuersätzen36Lbl: Label '36 / Umsätze zu anderen Steuersätzen', MaxLength = 100; + SteuerAusUmsätzeZuAnderenSteuersätzen35Lbl: Label '35 / Steuer aus Umsätze zu anderen Steuersätzen', MaxLength = 100; + InnergemErwerbe91Lbl: Label '91 / Innergem. Erwerbe § 4b UStG', MaxLength = 100; + StpflInnergemErwerbe89BLbl: Label '89B / Stpfl. innergem. Erwerbe 19 % n. §1a UStG', MaxLength = 100; + Erwerbsteuer89SLbl: Label '89S / Erwerbsteuer 19 % n. §1a UStG', MaxLength = 100; + StpflInnergemErwerbe93BLbl: Label '93B / Stpfl. innergem. Erwerbe 7 % n. §1a UStG', MaxLength = 100; + Erwerbsteuer93SLbl: Label '93S / Erwerbsteuer 7 % n. §1a UStG', MaxLength = 100; + StpflInnergemErwerbe90Lbl: Label '90 / Stpfl. innergem. Erwerbe 0%', MaxLength = 100; + VorsteuerN66S1Lbl: Label '66S1 / Vorsteuer n. §15(1)1 u. n. §25b(5) UStG', MaxLength = 100; + VorsteuerN66S2Lbl: Label '66S2 / Vorsteuer n. §15(1)1 u. n. §25b(5) UStG', MaxLength = 100; + VorsteuerN66Lbl: Label '66 / Vorsteuer n. §15(1)1 u. n. §25b(5) UStG', MaxLength = 100; + MinderungBetr19Lbl: Label '37 / Minderung Betr 19%', MaxLength = 100; + MinderungBetr7Lbl: Label '37 / Minderung Betr 7%', MaxLength = 100; + Erwerbvorsteuer61S1Lbl: Label '61S1 / Erwerbvorsteuer §15(1)3 UStG', MaxLength = 100; + Erwerbvorsteuer61S2Lbl: Label '61S2 / Erwerbvorsteuer §15(1)3 UStG', MaxLength = 100; + Erwerbvorsteuer61Lbl: Label '61 / Erwerbvorsteuer §15(1)3 UStG', MaxLength = 100; + EntrichteteEinfuhrumsatzsteuerLbl: Label 'Entrichtete Einfuhrumsatzsteuer §15(1)S.1 Nr.2UStG', MaxLength = 100; + ProbeLbl: Label 'PROBE', MaxLength = 100; + UmsatzsteuerP51Lbl: Label 'P51 / Umsatzsteuer 19 %', MaxLength = 100; + UmsatzsteuerP86Lbl: Label 'P86 / Umsatzsteuer 7 %', MaxLength = 100; + ErwerbsteuerP97Lbl: Label 'P97 / Erwerbsteuer 19 %', MaxLength = 100; + ErwerbsteuerP93Lbl: Label 'P93 / Erwerbsteuer 7 %', MaxLength = 100; + VorsteuerP66Lbl: Label 'P66 / Vorsteuer', MaxLength = 100; + ErwerbvorsteuerP61Lbl: Label 'P61 / Erwerbvorsteuer', MaxLength = 100; + VerbleibenderBetragLbl: Label 'Verbleibender Betrag', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Fixed Asset/1. Setup Data/CreateDEFADepreciationBook.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Fixed Asset/1. Setup Data/CreateDEFADepreciationBook.Codeunit.al new file mode 100644 index 0000000000..0bb382c621 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Fixed Asset/1. Setup Data/CreateDEFADepreciationBook.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 11099 "Create DE FA Depreciation Book" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10, true); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal; VATonNetDisposalEntries: Boolean) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + DepreciationBook.Validate("VAT on Net Disposal Entries", VATonNetDisposalEntries); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Fixed Asset/1. Setup Data/CreateDEFAPostingGrp.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Fixed Asset/1. Setup Data/CreateDEFAPostingGrp.Codeunit.al new file mode 100644 index 0000000000..8f13fb0f3f --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Fixed Asset/1. Setup Data/CreateDEFAPostingGrp.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11115 "Create DE FA Posting Grp." +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroup(var Rec: Record "FA Posting Group") + var + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; + CreateDEGlAccount: Codeunit "Create DE GL Acc."; + begin + case Rec.Code of + CreateFAPostingGroup.Equipment(): + ValidateFAPostingGroup(Rec, CreateDEGlAccount.EquipmentsandTools(), CreateDEGlAccount.EquipmentsandTools(), CreateDEGlAccount.EquipmentsandTools(), CreateDEGlAccount.EquipmentsandTools(), CreateDEGlAccount.EquipmentsandTools(), CreateDEGlAccount.EquipmentsandTools(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets()); + CreateFAPostingGroup.Goodwill(): + ValidateFAPostingGroup(Rec, CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill(), CreateDEGlAccount.GoodWill()); + CreateFAPostingGroup.Plant(): + ValidateFAPostingGroup(Rec, CreateDEGlAccount.Building(), CreateDEGlAccount.Building(), CreateDEGlAccount.Building(), CreateDEGlAccount.Building(), CreateDEGlAccount.Building(), CreateDEGlAccount.Building(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets()); + CreateFAPostingGroup.Property(): + ValidateFAPostingGroup(Rec, CreateDEGlAccount.Land(), CreateDEGlAccount.Land(), CreateDEGlAccount.Land(), CreateDEGlAccount.Land(), CreateDEGlAccount.Land(), CreateDEGlAccount.Land(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets()); + CreateFAPostingGroup.Vehicles(): + ValidateFAPostingGroup(Rec, CreateDEGlAccount.CarsandotherTransportEquipments(), CreateDEGlAccount.CarsandotherTransportEquipments(), CreateDEGlAccount.CarsandotherTransportEquipments(), CreateDEGlAccount.CarsandotherTransportEquipments(), CreateDEGlAccount.CarsandotherTransportEquipments(), CreateDEGlAccount.CarsandotherTransportEquipments(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets(), CreateDEGlAccount.DepreciationFixedAssets()); + end; + end; + + local procedure ValidateFAPostingGroup(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEArea.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEArea.Codeunit.al new file mode 100644 index 0000000000..6fd91edb4d --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEArea.Codeunit.al @@ -0,0 +1,139 @@ +codeunit 11118 "Create DE Area" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoArea: Codeunit "Contoso Receiver/Dispatcher DE"; + begin + ContosoArea.InsertAreaData(AreaCode1(), AreaCode1Lbl); + ContosoArea.InsertAreaData(AreaCode2(), AreaCode2Lbl); + ContosoArea.InsertAreaData(AreaCode3(), AreaCode3Lbl); + ContosoArea.InsertAreaData(AreaCode4(), AreaCode4Lbl); + ContosoArea.InsertAreaData(AreaCode5(), AreaCode5Lbl); + ContosoArea.InsertAreaData(AreaCode6(), AreaCode6Lbl); + ContosoArea.InsertAreaData(AreaCode7(), AreaCode7Lbl); + ContosoArea.InsertAreaData(AreaCode8(), AreaCode8Lbl); + ContosoArea.InsertAreaData(AreaCode9(), AreaCode9Lbl); + ContosoArea.InsertAreaData(AreaCode10(), AreaCode10Lbl); + ContosoArea.InsertAreaData(AreaCode11(), AreaCode11Lbl); + ContosoArea.InsertAreaData(AreaCode12(), AreaCode12Lbl); + ContosoArea.InsertAreaData(AreaCode13(), AreaCode13Lbl); + ContosoArea.InsertAreaData(AreaCode14(), AreaCode14Lbl); + ContosoArea.InsertAreaData(AreaCode15(), AreaCode15Lbl); + ContosoArea.InsertAreaData(AreaCode16(), AreaCode16Lbl); + ContosoArea.InsertAreaData(AreaCode25(), AreaCode25Lbl); + ContosoArea.InsertAreaData(AreaCode99(), AreaCode99Lbl); + end; + + procedure AreaCode1(): Code[10] + begin + exit('01'); + end; + + procedure AreaCode2(): Code[10] + begin + exit('02'); + end; + + procedure AreaCode3(): Code[10] + begin + exit('03'); + end; + + procedure AreaCode4(): Code[10] + begin + exit('04'); + end; + + procedure AreaCode5(): Code[10] + begin + exit('05'); + end; + + procedure AreaCode6(): Code[10] + begin + exit('06'); + end; + + procedure AreaCode7(): Code[10] + begin + exit('07'); + end; + + procedure AreaCode8(): Code[10] + begin + exit('08'); + end; + + procedure AreaCode9(): Code[10] + begin + exit('09'); + end; + + procedure AreaCode10(): Code[10] + begin + exit('10'); + end; + + procedure AreaCode11(): Code[10] + begin + exit('11'); + end; + + procedure AreaCode12(): Code[10] + begin + exit('12'); + end; + + procedure AreaCode13(): Code[10] + begin + exit('13'); + end; + + procedure AreaCode14(): Code[10] + begin + exit('14'); + end; + + procedure AreaCode15(): Code[10] + begin + exit('15'); + end; + + procedure AreaCode16(): Code[10] + begin + exit('16'); + end; + + procedure AreaCode25(): Code[10] + begin + exit('25'); + end; + + procedure AreaCode99(): Code[10] + begin + exit('99'); + end; + + var + AreaCode1Lbl: Label 'Schleswig-Holstein', MaxLength = 250; + AreaCode2Lbl: Label 'Hamburg', MaxLength = 250; + AreaCode3Lbl: Label 'Niedersachsen', MaxLength = 250; + AreaCode4Lbl: Label 'Bremen', MaxLength = 250; + AreaCode5Lbl: Label 'Nordrhein-Westfalen', MaxLength = 250; + AreaCode6Lbl: Label 'Hessen', MaxLength = 250; + AreaCode7Lbl: Label 'Rheinland-Pfalz', MaxLength = 250; + AreaCode8Lbl: Label 'Baden-Württemberg', MaxLength = 250; + AreaCode9Lbl: Label 'Bayern', MaxLength = 250; + AreaCode10Lbl: Label 'Saarland', MaxLength = 250; + AreaCode11Lbl: Label 'Berlin', MaxLength = 250; + AreaCode12Lbl: Label 'Brandenburg', MaxLength = 250; + AreaCode13Lbl: Label 'Mecklenburg-Vorpommern', MaxLength = 250; + AreaCode14Lbl: Label 'Sachsen', MaxLength = 250; + AreaCode15Lbl: Label 'Sachsen-Anhalt', MaxLength = 250; + AreaCode16Lbl: Label 'Thüringen', MaxLength = 250; + AreaCode25Lbl: Label 'Ausland (Eingang)', MaxLength = 250; + AreaCode99Lbl: Label 'Ausland (Versendung)', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDECompanyInformation.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDECompanyInformation.Codeunit.al new file mode 100644 index 0000000000..1df16194e1 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDECompanyInformation.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11098 "Create DE Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateDEArea: Codeunit "Create DE Area"; + begin + UpdateCompanyInformation(CityLbl, PhoneNoLbl, FaxNoLbl, PostcodeLbl, CompanyRegNoLbl, CreateDEArea.AreaCode2(), PlaceofDispatcherLbl, PlaceofReceiverLbl, SalesAuthorizedNoLbl, PurchaseAuthorizedNoLbl, TaxOfficeNameLbl, TaxOfficeAddressLbl, TaxofficeCityLbl, TaxofficePostCodeLbl, 2, VATRepresentativeLbl, TaxOfficeNoLbl); + end; + + local procedure UpdateCompanyInformation(City: Text[30]; PhoneNo: Text[30]; FaxNo: Text[30]; PostCode: Code[20]; RegistrationNo: Text[20]; AreaCode: Code[10]; PlaceofDispatcher: Code[10]; PlaceofReceiver: Code[10]; SalesAuthorizeNo: Code[8]; PurchAuthorizedNo: Code[8]; TaxOfficeName: Text[50]; TaxOfficeAddress: Text[50]; + TaxOfficeCity: Text[50]; TaxOfficePostCode: Code[20]; TaxOfficeArea: Option; VATRepresentative: Text[45]; TaxOfficeNumber: Code[4]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation."Demo Company" := true; + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Phone No.", PhoneNo); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Fax No.", FaxNo); + CompanyInformation.Validate("Post Code", PostCode); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + // CompanyInformation.Validate("Country/Region Code", CountryCode); + CompanyInformation.Validate("Registration No.", RegistrationNo); + CompanyInformation.Validate(Area, AreaCode); + CompanyInformation.Validate("Place of Dispatcher", PlaceofDispatcher); + CompanyInformation.Validate("Place of Receiver", PlaceofReceiver); + CompanyInformation.Validate("Sales Authorized No.", SalesAuthorizeNo); + CompanyInformation.Validate("Purch. Authorized No.", PurchAuthorizedNo); + CompanyInformation.Validate("Tax Office Name", TaxOfficeName); + CompanyInformation.Validate("Tax Office Address", TaxOfficeAddress); + CompanyInformation.Validate("Tax Office Post Code", TaxOfficePostCode); + CompanyInformation.Validate("Tax Office City", TaxOfficeCity); + CompanyInformation.Validate("Tax Office Area", TaxOfficeArea); + CompanyInformation.Validate("VAT Representative", VATRepresentative); + CompanyInformation.Validate("Tax Office Number", TaxOfficeNumber); + CompanyInformation.Validate("Tax Office Country/Region Code", ''); + + CompanyInformation.Modify(true); + end; + + var + PlaceofDispatcherLbl: Label '1', MaxLength = 10; + SalesAuthorizedNoLbl: Label 'XYZ123', MaxLength = 8; + PurchaseAuthorizedNoLbl: Label 'ABC987', MaxLength = 8; + PlaceofReceiverLbl: Label '1', MaxLength = 10; + CityLbl: Label 'Hamburg', Maxlength = 30; + PostcodeLbl: Label '20097', MaxLength = 20; + PhoneNoLbl: Label '999 / 9 99 99 99', MaxLength = 30; + FaxNoLbl: Label '999 / 9 99 99 90', MaxLength = 30; + CompanyRegNoLbl: Label '11/222/33333', MaxLength = 20; + TaxOfficeAddressLbl: Label 'Hohe Weide 101', MaxLength = 50; + TaxofficeCityLbl: Label 'Hamburg 36', MaxLength = 50; + TaxofficePostCodeLbl: Label '22417', MaxLength = 20; + VATRepresentativeLbl: Label 'KATHERINE HULL', MaxLength = 45; + TaxOfficeNoLbl: Label '2710', MaxLength = 4; + TaxOfficeNameLbl: Label 'Finanzamt Hamburg Mitte', MaxLength = 50; +} diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDENoSeries.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDENoSeries.Codeunit.al new file mode 100644 index 0000000000..5502b8adba --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDENoSeries.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11104 "Create DE No. Series" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: Codeunit "Contoso No Series"; + begin + ContosoNoSeries.InsertNoSeries(PurchaseDeliveryReminder(), DeliveryReminderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PurchaseIssueDeliveryReminder(), IssueDeliveryReminderLbl, '104001', '105999', '105995', '', 1, Enum::"No. Series Implementation"::Normal, false); + end; + + procedure PurchaseDeliveryReminder(): Code[20] + begin + exit('P-DELREM'); + end; + + procedure PurchaseIssueDeliveryReminder(): Code[20] + begin + exit('P-DELREM+'); + end; + + var + DeliveryReminderLbl: Label 'Purchase Delivery Reminder', MaxLength = 100; + IssueDeliveryReminderLbl: Label 'Issued Purch. Deliv. Reminder', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEPostCode.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEPostCode.Codeunit.al new file mode 100644 index 0000000000..2fafc0a432 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEPostCode.Codeunit.al @@ -0,0 +1,714 @@ +codeunit 11086 "Create DE Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDEPostCode: Codeunit "Contoso DE Post Code"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoDEPostCode.SetOverwriteData(true); + ContosoDEPostCode.InsertPostCode('0 0100', NairobiLbl, CreateCountryRegion.KE(), ''); + ContosoDEPostCode.InsertPostCode('0 1007', KairiLbl, CreateCountryRegion.KE(), ''); + ContosoDEPostCode.InsertPostCode('0001', PretoriaLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('00100', HelsinkiLbl, CreateCountryRegion.FI(), ''); + ContosoDEPostCode.InsertPostCode('00100', ROMARMLbl, CreateCountryRegion.IT(), ''); + ContosoDEPostCode.InsertPostCode('00101', HelsinkiLbl, CreateCountryRegion.FI(), ''); + ContosoDEPostCode.InsertPostCode('00260', HelsinkiLbl, CreateCountryRegion.FI(), ''); + ContosoDEPostCode.InsertPostCode('00300', MaputoLbl, CreateCountryRegion.MZ(), ''); + ContosoDEPostCode.InsertPostCode('01030', MexicoCityDFLbl, CreateCountryRegion.MX(), ''); + ContosoDEPostCode.InsertPostCode('01238', DresdenLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('01310', DresdenLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('01800', KlaukkalaLbl, CreateCountryRegion.FI(), ''); + ContosoDEPostCode.InsertPostCode('02-515', WarszawaLbl, CreateCountryRegion.PL(), ''); + ContosoDEPostCode.InsertPostCode('026 01', DolnyKubinLbl, CreateCountryRegion.SK(), ''); + ContosoDEPostCode.InsertPostCode('03003', AlicanteLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('038988', SingaporeLbl, CreateCountryRegion.SG(), ''); + ContosoDEPostCode.InsertPostCode('049 21', BetliarLbl, CreateCountryRegion.SK(), ''); + ContosoDEPostCode.InsertPostCode('050724', BucurestiLbl, CreateCountryRegion.RO(), ''); + ContosoDEPostCode.InsertPostCode('050729', BucurestiLbl, CreateCountryRegion.RO(), ''); + ContosoDEPostCode.InsertPostCode('051511', BucurestiLbl, CreateCountryRegion.RO(), ''); + ContosoDEPostCode.InsertPostCode('05400', BARIKALbl, CreateCountryRegion.DZ(), ''); + ContosoDEPostCode.InsertPostCode('05400', JokelaLbl, CreateCountryRegion.FI(), ''); + ContosoDEPostCode.InsertPostCode('05428-002', SaoPauloSPLbl, CreateCountryRegion.BR(), ''); + ContosoDEPostCode.InsertPostCode('0552', OsloLbl, CreateCountryRegion.NO(), ''); + ContosoDEPostCode.InsertPostCode('06000', MexicoCityDFLbl, CreateCountryRegion.MX(), ''); + ContosoDEPostCode.InsertPostCode('06531', AnkaraLbl, CreateCountryRegion.TR(), ''); + ContosoDEPostCode.InsertPostCode('0661', OsloLbl, CreateCountryRegion.NO(), ''); + ContosoDEPostCode.InsertPostCode('0700', PietersburgLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('07001', PalmaMallorcaLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('08010', BarcelonaLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('1000', LjubljanaLbl, CreateCountryRegion.SI(), ''); + ContosoDEPostCode.InsertPostCode('1000', ManilaLbl, CreateCountryRegion.PH(), ''); + ContosoDEPostCode.InsertPostCode('1000', SofiaLbl, CreateCountryRegion.BG(), ''); + ContosoDEPostCode.InsertPostCode('10000', ZagrebLbl, CreateCountryRegion.HR(), ''); + ContosoDEPostCode.InsertPostCode('10003', CaceresLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('1001', AucklandLbl, CreateCountryRegion.NZ(), ''); + ContosoDEPostCode.InsertPostCode('1002', TunisBelvedereLbl, CreateCountryRegion.TN(), ''); + ContosoDEPostCode.InsertPostCode('1003', SantaCruzManilaLbl, CreateCountryRegion.PH(), ''); + ContosoDEPostCode.InsertPostCode('1009 AG', AmsterdamLbl, CreateCountryRegion.NL(), ''); + ContosoDEPostCode.InsertPostCode('101', ReykjavikLbl, CreateCountryRegion.IS(), ''); + ContosoDEPostCode.InsertPostCode('10100', AGDALRABATLbl, CreateCountryRegion.MA(), ''); + ContosoDEPostCode.InsertPostCode('10100', TORINOTOLbl, CreateCountryRegion.IT(), ''); + ContosoDEPostCode.InsertPostCode('10101', RIADRABATLbl, CreateCountryRegion.MA(), ''); + ContosoDEPostCode.InsertPostCode('1011', RigaLbl, CreateCountryRegion.LV(), ''); + ContosoDEPostCode.InsertPostCode('1012', TondoManilaLbl, CreateCountryRegion.PH(), ''); + ContosoDEPostCode.InsertPostCode('10127', TallinnLbl, CreateCountryRegion.EE(), ''); + ContosoDEPostCode.InsertPostCode('10260', BangNaBangkokLbl, CreateCountryRegion.TH(), ''); + ContosoDEPostCode.InsertPostCode('1030', TunisLbl, CreateCountryRegion.TN(), ''); + ContosoDEPostCode.InsertPostCode('103054', MoskvaLbl, CreateCountryRegion.RU(), ''); + ContosoDEPostCode.InsertPostCode('10310', JakartaLbl, CreateCountryRegion.ID(), ''); + ContosoDEPostCode.InsertPostCode('1039', RigaLbl, CreateCountryRegion.LV(), ''); + ContosoDEPostCode.InsertPostCode('10440', JakartaLbl, CreateCountryRegion.ID(), ''); + ContosoDEPostCode.InsertPostCode('10500', BangRakBangkokLbl, CreateCountryRegion.TH(), ''); + ContosoDEPostCode.InsertPostCode('1050-042', LISBOALbl, CreateCountryRegion.PT(), ''); + ContosoDEPostCode.InsertPostCode('10510', KhlongSamwaBangkokLbl, CreateCountryRegion.TH(), ''); + ContosoDEPostCode.InsertPostCode('106 75', AthensLbl, CreateCountryRegion.EL(), ''); + ContosoDEPostCode.InsertPostCode('106 82', AthensLbl, CreateCountryRegion.EL(), ''); + ContosoDEPostCode.InsertPostCode('108', ReykjavikLbl, CreateCountryRegion.IS(), ''); + ContosoDEPostCode.InsertPostCode('109456', MoskvaLbl, CreateCountryRegion.RU(), ''); + ContosoDEPostCode.InsertPostCode('1100', WienLbl, CreateCountryRegion.AT(), ''); + ContosoDEPostCode.InsertPostCode('11000', BeogradLbl, CreateCountryRegion.RS(), ''); + ContosoDEPostCode.InsertPostCode('110002', DelhiLbl, CreateCountryRegion.IND(), ''); + ContosoDEPostCode.InsertPostCode('11001', BeogradLbl, CreateCountryRegion.RS(), ''); + ContosoDEPostCode.InsertPostCode('1100-150', LISBOALbl, CreateCountryRegion.PT(), ''); + ContosoDEPostCode.InsertPostCode('1107', BudapestLbl, CreateCountryRegion.HU(), ''); + ContosoDEPostCode.InsertPostCode('1111', ZaghouanLbl, CreateCountryRegion.TN(), ''); + ContosoDEPostCode.InsertPostCode('1117', CapriQuezonCityLbl, CreateCountryRegion.PH(), ''); + ContosoDEPostCode.InsertPostCode('112', ReykjavikLbl, CreateCountryRegion.IS(), ''); + ContosoDEPostCode.InsertPostCode('114 32', StockholmLbl, CreateCountryRegion.SE(), ''); + ContosoDEPostCode.InsertPostCode('11-430', KorszeLbl, CreateCountryRegion.PL(), ''); + ContosoDEPostCode.InsertPostCode('11470', JakartaLbl, CreateCountryRegion.ID(), ''); + ContosoDEPostCode.InsertPostCode('1161', BudapestLbl, CreateCountryRegion.HU(), ''); + ContosoDEPostCode.InsertPostCode('12000', TEMARALbl, CreateCountryRegion.MA(), ''); + ContosoDEPostCode.InsertPostCode('1204', BudapestLbl, CreateCountryRegion.HU(), ''); + ContosoDEPostCode.InsertPostCode('1230', WienLbl, CreateCountryRegion.AT(), ''); + ContosoDEPostCode.InsertPostCode('1300', SandvikaLbl, CreateCountryRegion.NO(), ''); + ContosoDEPostCode.InsertPostCode('1324', LysakerLbl, CreateCountryRegion.NO(), ''); + ContosoDEPostCode.InsertPostCode('1344', HaslumLbl, CreateCountryRegion.NO(), ''); + ContosoDEPostCode.InsertPostCode('1370', AskerLbl, CreateCountryRegion.NO(), ''); + ContosoDEPostCode.InsertPostCode('1400', SkiLbl, CreateCountryRegion.NO(), ''); + ContosoDEPostCode.InsertPostCode('1440', ValenzuelaLbl, CreateCountryRegion.PH(), ''); + ContosoDEPostCode.InsertPostCode('14-510', OrnetaLbl, CreateCountryRegion.PL(), ''); + ContosoDEPostCode.InsertPostCode('15156', TangerangLbl, CreateCountryRegion.ID(), ''); + ContosoDEPostCode.InsertPostCode('1530 JM', ZaandamLbl, CreateCountryRegion.NL(), ''); + ContosoDEPostCode.InsertPostCode('15-660', BialystokLbl, CreateCountryRegion.PL(), ''); + ContosoDEPostCode.InsertPostCode('16000', ALGIERSLbl, CreateCountryRegion.DZ(), ''); + ContosoDEPostCode.InsertPostCode('16012', ALGIERSLbl, CreateCountryRegion.DZ(), ''); + ContosoDEPostCode.InsertPostCode('16027', ALGIERSLbl, CreateCountryRegion.DZ(), ''); + ContosoDEPostCode.InsertPostCode('17120', WatSingChaiNatLbl, CreateCountryRegion.TH(), ''); + ContosoDEPostCode.InsertPostCode('185 40', PiraeusLbl, CreateCountryRegion.EL(), ''); + ContosoDEPostCode.InsertPostCode('1851', HumbeekLbl, CreateCountryRegion.BE(), ''); + ContosoDEPostCode.InsertPostCode('19210', BorLbl, CreateCountryRegion.RS(), ''); + ContosoDEPostCode.InsertPostCode('197342', SanktPetersburgLbl, CreateCountryRegion.RU(), ''); + ContosoDEPostCode.InsertPostCode('200', KopavogurLbl, CreateCountryRegion.IS(), ''); + ContosoDEPostCode.InsertPostCode('2000', JohannesburgLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('2000', MariborLbl, CreateCountryRegion.SI(), ''); + ContosoDEPostCode.InsertPostCode('2000', SydneyNSWLbl, CreateCountryRegion.AU(), ''); + ContosoDEPostCode.InsertPostCode('20000', CASABLANCALbl, CreateCountryRegion.MA(), ''); + ContosoDEPostCode.InsertPostCode('20000', DubrovnikLbl, CreateCountryRegion.HR(), ''); + ContosoDEPostCode.InsertPostCode('200331', CraiovaLbl, CreateCountryRegion.RO(), ''); + ContosoDEPostCode.InsertPostCode('20097', HamburgLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('20100', MILANOMILbl, CreateCountryRegion.IT(), ''); + ContosoDEPostCode.InsertPostCode('20200', CASABLANCALbl, CreateCountryRegion.MA(), ''); + ContosoDEPostCode.InsertPostCode('20203', HamburgLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('2050', AntwerpenLbl, CreateCountryRegion.BE(), ''); + ContosoDEPostCode.InsertPostCode('20607', NarvaLbl, CreateCountryRegion.EE(), ''); + ContosoDEPostCode.InsertPostCode('20800', MOHAMMEDIALbl, CreateCountryRegion.MA(), ''); + ContosoDEPostCode.InsertPostCode('2100', CopenhagenLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('21000', MOSTAGANCULbl, CreateCountryRegion.DZ(), ''); + ContosoDEPostCode.InsertPostCode('21000', NoviSadLbl, CreateCountryRegion.RS(), ''); + ContosoDEPostCode.InsertPostCode('21000', SplitLbl, CreateCountryRegion.HR(), ''); + ContosoDEPostCode.InsertPostCode('220', HafnafjordurLbl, CreateCountryRegion.IS(), ''); + ContosoDEPostCode.InsertPostCode('2200', HerentalsLbl, CreateCountryRegion.BE(), ''); + ContosoDEPostCode.InsertPostCode('22000', SibenikLbl, CreateCountryRegion.HR(), ''); + ContosoDEPostCode.InsertPostCode('22291-040', RiodeJaneiroRJLbl, CreateCountryRegion.BR(), ''); + ContosoDEPostCode.InsertPostCode('22417', Hamburg36Lbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('2355', WrNeudorfLbl, CreateCountryRegion.AT(), ''); + ContosoDEPostCode.InsertPostCode('24000', SuboticaLbl, CreateCountryRegion.RS(), ''); + ContosoDEPostCode.InsertPostCode('2500', CarletonvilleLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('2500', EsztergomLbl, CreateCountryRegion.HU(), ''); + ContosoDEPostCode.InsertPostCode('2500', KustendilLbl, CreateCountryRegion.BG(), ''); + ContosoDEPostCode.InsertPostCode('2500', WollongongNSWLbl, CreateCountryRegion.AU(), ''); + ContosoDEPostCode.InsertPostCode('2600', VilniusLbl, CreateCountryRegion.LT(), ''); + ContosoDEPostCode.InsertPostCode('2700', BlagoevgradLbl, CreateCountryRegion.BG(), ''); + ContosoDEPostCode.InsertPostCode('2700', VilniusLbl, CreateCountryRegion.LT(), ''); + ContosoDEPostCode.InsertPostCode('2800', MechelenLbl, CreateCountryRegion.BE(), ''); + ContosoDEPostCode.InsertPostCode('28003', MadridLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('29292', BremenLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('2940', NewcastleLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('2950', VedbaekLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('300', AkranesLbl, CreateCountryRegion.IS(), ''); + ContosoDEPostCode.InsertPostCode('3000', KaunasLbl, CreateCountryRegion.LT(), ''); + ContosoDEPostCode.InsertPostCode('3000', LeuvenLbl, CreateCountryRegion.BE(), ''); + ContosoDEPostCode.InsertPostCode('3000', MelbourneVICLbl, CreateCountryRegion.AU(), ''); + ContosoDEPostCode.InsertPostCode('300001', BENINEdostateLbl, CreateCountryRegion.NG(), ''); + ContosoDEPostCode.InsertPostCode('3000-337', COIMBRALbl, CreateCountryRegion.PT(), ''); + ContosoDEPostCode.InsertPostCode('302 50', HalmstadLbl, CreateCountryRegion.SE(), ''); + ContosoDEPostCode.InsertPostCode('3042', KaunasLbl, CreateCountryRegion.LT(), ''); + ContosoDEPostCode.InsertPostCode('3100', KairouanLbl, CreateCountryRegion.TN(), ''); + ContosoDEPostCode.InsertPostCode('31260', NonDindaengBuriRamLbl, CreateCountryRegion.TH(), ''); + ContosoDEPostCode.InsertPostCode('3231', GrobelnoLbl, CreateCountryRegion.SI(), ''); + ContosoDEPostCode.InsertPostCode('3258', TarnaleleszLbl, CreateCountryRegion.HU(), ''); + ContosoDEPostCode.InsertPostCode('3270', DundagaLbl, CreateCountryRegion.LV(), ''); + ContosoDEPostCode.InsertPostCode('3325', NoszvajLbl, CreateCountryRegion.HU(), ''); + ContosoDEPostCode.InsertPostCode('34000', KragujevacLbl, CreateCountryRegion.RS(), ''); + ContosoDEPostCode.InsertPostCode('3600', DurbanLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('36004', PontevedraLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('37001', SalamancaLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('37500', LeonGuanajuatoLbl, CreateCountryRegion.MX(), ''); + ContosoDEPostCode.InsertPostCode('3900', BauskaLbl, CreateCountryRegion.LV(), ''); + ContosoDEPostCode.InsertPostCode('3900', RichardsBayLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('39100', BOLZANOBZLbl, CreateCountryRegion.IT(), ''); + ContosoDEPostCode.InsertPostCode('4000', BrisbaneQLDLbl, CreateCountryRegion.AU(), ''); + ContosoDEPostCode.InsertPostCode('4000', PlovdivLbl, CreateCountryRegion.BG(), ''); + ContosoDEPostCode.InsertPostCode('40000', KHENCHELbl, CreateCountryRegion.DZ(), ''); + ContosoDEPostCode.InsertPostCode('400001', MumbaiLbl, CreateCountryRegion.IND(), ''); + ContosoDEPostCode.InsertPostCode('4000-322', PORTOLbl, CreateCountryRegion.PT(), ''); + ContosoDEPostCode.InsertPostCode('40135', BandungLbl, CreateCountryRegion.ID(), ''); + ContosoDEPostCode.InsertPostCode('40593', DusseldorfLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('41006', SevillaLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('4133', PrattelnLbl, CreateCountryRegion.CH(), ''); + ContosoDEPostCode.InsertPostCode('415 06', GoteborgLbl, CreateCountryRegion.SE(), ''); + ContosoDEPostCode.InsertPostCode('42000', PELABUHANKLANGSelangorLbl, CreateCountryRegion.MY(), ''); + ContosoDEPostCode.InsertPostCode('42020', KonyaLbl, CreateCountryRegion.TR(), ''); + ContosoDEPostCode.InsertPostCode('43000', BjelovarLbl, CreateCountryRegion.HR(), ''); + ContosoDEPostCode.InsertPostCode('43383', DortmundLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('440001', NagpurLbl, CreateCountryRegion.IND(), ''); + ContosoDEPostCode.InsertPostCode('443008', SamaraLbl, CreateCountryRegion.RU(), ''); + ContosoDEPostCode.InsertPostCode('44313', RakvereLbl, CreateCountryRegion.EE(), ''); + ContosoDEPostCode.InsertPostCode('44450', LACHAPELLEBASSEMERLbl, CreateCountryRegion.FR(), ''); + ContosoDEPostCode.InsertPostCode('4502', KranjLbl, CreateCountryRegion.SI(), ''); + ContosoDEPostCode.InsertPostCode('45030', ManisaLbl, CreateCountryRegion.TR(), ''); + ContosoDEPostCode.InsertPostCode('45109', TapaLbl, CreateCountryRegion.EE(), ''); + ContosoDEPostCode.InsertPostCode('45-418', OpoleLbl, CreateCountryRegion.PL(), ''); + ContosoDEPostCode.InsertPostCode('4600', KogeLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('4600', RudiskesLbl, CreateCountryRegion.LT(), ''); + ContosoDEPostCode.InsertPostCode('46007', ValenciaLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('47002', ValladolidLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('47400', PETALINGJAYASelangorLbl, CreateCountryRegion.MY(), ''); + ContosoDEPostCode.InsertPostCode('4810', GmundenLbl, CreateCountryRegion.AT(), ''); + ContosoDEPostCode.InsertPostCode('48436', DusseldorfLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('49293', DiepholzLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('49603', MustveeLbl, CreateCountryRegion.EE(), ''); + ContosoDEPostCode.InsertPostCode('5 0413', AdungosiLbl, CreateCountryRegion.KE(), ''); + ContosoDEPostCode.InsertPostCode('5000', OdenseCLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('50001', ZaragozaLbl, CreateCountryRegion.ES(), ''); + ContosoDEPostCode.InsertPostCode('5002', OgreLbl, CreateCountryRegion.LV(), ''); + ContosoDEPostCode.InsertPostCode('500209', BrasovLbl, CreateCountryRegion.RO(), ''); + ContosoDEPostCode.InsertPostCode('50120', SanPaTongChiangMaiLbl, CreateCountryRegion.TH(), ''); + ContosoDEPostCode.InsertPostCode('50450', AMPANGKualaLumpurLbl, CreateCountryRegion.MY(), ''); + ContosoDEPostCode.InsertPostCode('50670', CASSELLbl, CreateCountryRegion.FR(), ''); + ContosoDEPostCode.InsertPostCode('51021-040', RecifePELbl, CreateCountryRegion.BR(), ''); + ContosoDEPostCode.InsertPostCode('5113', KokneseLbl, CreateCountryRegion.LV(), ''); + ContosoDEPostCode.InsertPostCode('5132 EE', WaalwijkLbl, CreateCountryRegion.NL(), ''); + ContosoDEPostCode.InsertPostCode('521 03', KinnaredLbl, CreateCountryRegion.SE(), ''); + ContosoDEPostCode.InsertPostCode('52210', RovinjLbl, CreateCountryRegion.HR(), ''); + ContosoDEPostCode.InsertPostCode('546 35', ThessalonikiLbl, CreateCountryRegion.EL(), ''); + ContosoDEPostCode.InsertPostCode('5473', WoodvilleLbl, CreateCountryRegion.NZ(), ''); + ContosoDEPostCode.InsertPostCode('5491', DannevirkeLbl, CreateCountryRegion.NZ(), ''); + ContosoDEPostCode.InsertPostCode('550 05', JonkobingLbl, CreateCountryRegion.SE(), ''); + ContosoDEPostCode.InsertPostCode('550264', SibiuLbl, CreateCountryRegion.RO(), ''); + ContosoDEPostCode.InsertPostCode('560001', BengaluruLbl, CreateCountryRegion.IND(), ''); + ContosoDEPostCode.InsertPostCode('57000', KUALALUMPURLbl, CreateCountryRegion.MY(), ''); + ContosoDEPostCode.InsertPostCode('5730', MittersillLbl, CreateCountryRegion.AT(), ''); + ContosoDEPostCode.InsertPostCode('5800', KlaipedaLbl, CreateCountryRegion.LT(), ''); + ContosoDEPostCode.InsertPostCode('5800', NyborgLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('58585', HagenLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('59-300', LubinLbl, CreateCountryRegion.PL(), ''); + ContosoDEPostCode.InsertPostCode('59393', NeustadtLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('59591', FrankfurtMainLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('6 0500', MarsabitLbl, CreateCountryRegion.KE(), ''); + ContosoDEPostCode.InsertPostCode('600 03', NorrkobingLbl, CreateCountryRegion.SE(), ''); + ContosoDEPostCode.InsertPostCode('6000', KoperLbl, CreateCountryRegion.SI(), ''); + ContosoDEPostCode.InsertPostCode('6000', PortElizabethLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('600001', ChennaiLbl, CreateCountryRegion.IND(), ''); + ContosoDEPostCode.InsertPostCode('6001', WellingtonLbl, CreateCountryRegion.NZ(), ''); + ContosoDEPostCode.InsertPostCode('6005', LuzernLbl, CreateCountryRegion.CH(), ''); + ContosoDEPostCode.InsertPostCode('60172', SurabayaLbl, CreateCountryRegion.ID(), ''); + ContosoDEPostCode.InsertPostCode('603061', NizhnyNovgorodLbl, CreateCountryRegion.RU(), ''); + ContosoDEPostCode.InsertPostCode('60320', FrankfurtMainLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('61100', SANTAVENERANDAPSLbl, CreateCountryRegion.IT(), ''); + ContosoDEPostCode.InsertPostCode('6343', RotkreuzLbl, CreateCountryRegion.CH(), ''); + ContosoDEPostCode.InsertPostCode('6405', ImmenseeLbl, CreateCountryRegion.CH(), ''); + ContosoDEPostCode.InsertPostCode('64640', MonterreyNuevoLeonLbl, CreateCountryRegion.MX(), ''); + ContosoDEPostCode.InsertPostCode('669 02', ZnojmoLbl, CreateCountryRegion.CZ(), ''); + ContosoDEPostCode.InsertPostCode('67067', PESCINAAQLbl, CreateCountryRegion.IT(), ''); + ContosoDEPostCode.InsertPostCode('678 01', BlanskoLbl, CreateCountryRegion.CZ(), ''); + ContosoDEPostCode.InsertPostCode('6800', PerthWALbl, CreateCountryRegion.AU(), ''); + ContosoDEPostCode.InsertPostCode('6827 BP', ArnhemLbl, CreateCountryRegion.NL(), ''); + ContosoDEPostCode.InsertPostCode('687 71', BojkoviceLbl, CreateCountryRegion.CZ(), ''); + ContosoDEPostCode.InsertPostCode('690001', VladivostokLbl, CreateCountryRegion.RU(), ''); + ContosoDEPostCode.InsertPostCode('696 42', VracovLbl, CreateCountryRegion.CZ(), ''); + ContosoDEPostCode.InsertPostCode('697 01', KyjovLbl, CreateCountryRegion.CZ(), ''); + ContosoDEPostCode.InsertPostCode('7000', ZamboangaCityLbl, CreateCountryRegion.PH(), ''); + ContosoDEPostCode.InsertPostCode('700001', KolkataLbl, CreateCountryRegion.IND(), ''); + ContosoDEPostCode.InsertPostCode('70710-926', BrasiliaDFLbl, CreateCountryRegion.BR(), ''); + ContosoDEPostCode.InsertPostCode('7178', MurdunnaTASLbl, CreateCountryRegion.AU(), ''); + ContosoDEPostCode.InsertPostCode('7202 BP', ZutphenLbl, CreateCountryRegion.NL(), ''); + ContosoDEPostCode.InsertPostCode('72800', EningenLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('731 33', ChaniaLbl, CreateCountryRegion.EL(), ''); + ContosoDEPostCode.InsertPostCode('7321 HE', ApeldoornLbl, CreateCountryRegion.NL(), ''); + ContosoDEPostCode.InsertPostCode('75000', PARISLbl, CreateCountryRegion.FR(), ''); + ContosoDEPostCode.InsertPostCode('76806', PaldiskiLbl, CreateCountryRegion.EE(), ''); + ContosoDEPostCode.InsertPostCode('77450', ESBLYLbl, CreateCountryRegion.FR(), ''); + ContosoDEPostCode.InsertPostCode('779 00', OlomouchLbl, CreateCountryRegion.CZ(), ''); + ContosoDEPostCode.InsertPostCode('78030', SanLuisPotosiSanLuisLbl, CreateCountryRegion.MX(), ''); + ContosoDEPostCode.InsertPostCode('78370', PLAISIRLbl, CreateCountryRegion.FR(), ''); + ContosoDEPostCode.InsertPostCode('7900', HokitikaLbl, CreateCountryRegion.NZ(), ''); + ContosoDEPostCode.InsertPostCode('8 0100', MombasaLbl, CreateCountryRegion.KE(), ''); + ContosoDEPostCode.InsertPostCode('8 0200', MalindiLbl, CreateCountryRegion.KE(), ''); + ContosoDEPostCode.InsertPostCode('8000', ArhusCLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('8000', CapeTownLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('8001', ChristchurchLbl, CreateCountryRegion.NZ(), ''); + ContosoDEPostCode.InsertPostCode('80020-290', CuritibaPRLbl, CreateCountryRegion.BR(), ''); + ContosoDEPostCode.InsertPostCode('80080', IstanbulLbl, CreateCountryRegion.TR(), ''); + ContosoDEPostCode.InsertPostCode('80807', MunchenLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('80997', MunchenLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('8129', AinDrahamLbl, CreateCountryRegion.TN(), ''); + ContosoDEPostCode.InsertPostCode('813 38', BratislavaLbl, CreateCountryRegion.SK(), ''); + ContosoDEPostCode.InsertPostCode('81420', KartalIstanbulLbl, CreateCountryRegion.TR(), ''); + ContosoDEPostCode.InsertPostCode('8152', GlattbruggLbl, CreateCountryRegion.CH(), ''); + ContosoDEPostCode.InsertPostCode('8170', BouSalemLbl, CreateCountryRegion.TN(), ''); + ContosoDEPostCode.InsertPostCode('81700', TuzlaIstanbulLbl, CreateCountryRegion.TR(), ''); + ContosoDEPostCode.InsertPostCode('8200', ArhusNLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('8200', SchaffhausenLbl, CreateCountryRegion.CH(), ''); + ContosoDEPostCode.InsertPostCode('821 04', BratislavaLbl, CreateCountryRegion.SK(), ''); + ContosoDEPostCode.InsertPostCode('82100', MazatlanSinaloaLbl, CreateCountryRegion.MX(), ''); + ContosoDEPostCode.InsertPostCode('8283', BlancaLbl, CreateCountryRegion.SI(), ''); + ContosoDEPostCode.InsertPostCode('83250', LALONDELESMAURESLbl, CreateCountryRegion.FR(), ''); + ContosoDEPostCode.InsertPostCode('8500', KortrijkLbl, CreateCountryRegion.BE(), ''); + ContosoDEPostCode.InsertPostCode('851 03', KolymbiaLbl, CreateCountryRegion.EL(), ''); + ContosoDEPostCode.InsertPostCode('852 33', SundsvallLbl, CreateCountryRegion.SE(), ''); + ContosoDEPostCode.InsertPostCode('86899', LandsbergamLechLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('8700', ElhovoLbl, CreateCountryRegion.BG(), ''); + ContosoDEPostCode.InsertPostCode('88100', KOTAKINABALUSabahLbl, CreateCountryRegion.MY(), ''); + ContosoDEPostCode.InsertPostCode('8850', MurauLbl, CreateCountryRegion.AT(), ''); + ContosoDEPostCode.InsertPostCode('88900', KuhmoLbl, CreateCountryRegion.FI(), ''); + ContosoDEPostCode.InsertPostCode('9000', AlborgLbl, CreateCountryRegion.DK(), ''); + ContosoDEPostCode.InsertPostCode('9000', VarnaLbl, CreateCountryRegion.BG(), ''); + ContosoDEPostCode.InsertPostCode('90000', KASBAHTANGERLbl, CreateCountryRegion.MA(), ''); + ContosoDEPostCode.InsertPostCode('900001', ABUJALbl, CreateCountryRegion.NG(), ''); + ContosoDEPostCode.InsertPostCode('9000-064', FUNCHALLbl, CreateCountryRegion.PT(), ''); + ContosoDEPostCode.InsertPostCode('90040-130', PortoAlegreRSLbl, CreateCountryRegion.BR(), ''); + ContosoDEPostCode.InsertPostCode('905 01', SenicaLbl, CreateCountryRegion.SK(), ''); + ContosoDEPostCode.InsertPostCode('92929', LuisenbergLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('9300', BloemfonteinLbl, CreateCountryRegion.ZA(), ''); + ContosoDEPostCode.InsertPostCode('930283', JOSPlateaustateLbl, CreateCountryRegion.NG(), ''); + ContosoDEPostCode.InsertPostCode('931104', GHOHPlateaustateLbl, CreateCountryRegion.NG(), ''); + ContosoDEPostCode.InsertPostCode('93450', KUCHINGSarawakLbl, CreateCountryRegion.MY(), ''); + ContosoDEPostCode.InsertPostCode('94242', RegensburgLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('9500-101', PONTADELGADALbl, CreateCountryRegion.PT(), ''); + ContosoDEPostCode.InsertPostCode('985 01', KalinovoLbl, CreateCountryRegion.SK(), ''); + ContosoDEPostCode.InsertPostCode('99081', ErfurtLbl, CreateCountryRegion.DE(), ''); + ContosoDEPostCode.InsertPostCode('AL 35242', BirminghamLbl, CreateCountryRegion.US(), ''); + ContosoDEPostCode.InsertPostCode('B27 4KT', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('B31 2AL', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('B68 5TT', BromsgroveLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('BA24 6KS', BathLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('BR1 2ES', BromleyLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('BS3 6KL', BristolLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('CB3 7GG', CambridgeLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('CF22 1XU', CardiffLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('CT6 21ND', HytheLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('CV6 1GY', CoventryLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('DA5 3EF', SidcupLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('DSM', DarEsSalaamLbl, CreateCountryRegion.TZ(), ''); + ContosoDEPostCode.InsertPostCode('DY5 4DJ', DudleyLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('E12 5TG', EdinburghLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('EBB', EntebbeLbl, CreateCountryRegion.UG(), ''); + ContosoDEPostCode.InsertPostCode('EH16 8JS', EdinburghLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('FL 37125', MiamiLbl, CreateCountryRegion.US(), 'FL'); + ContosoDEPostCode.InsertPostCode('GA 31772', AtlantaLbl, CreateCountryRegion.US(), 'GA'); + ContosoDEPostCode.InsertPostCode('GL1 9HM', GloucesterLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('GU3 2SE', GuildfordLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('GU7 5GT', GuildfordLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('H100', MbabaneLbl, CreateCountryRegion.SZ(), ''); + ContosoDEPostCode.InsertPostCode('H101', SwaziPlazaLbl, CreateCountryRegion.SZ(), ''); + ContosoDEPostCode.InsertPostCode('H108', PiggsPeakLbl, CreateCountryRegion.SZ(), ''); + ContosoDEPostCode.InsertPostCode('H200', ManziniLbl, CreateCountryRegion.SZ(), ''); + ContosoDEPostCode.InsertPostCode('HG1 7YW', RiponLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('HP43 2AY', TringLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('IL 61236', ChicagoLbl, CreateCountryRegion.US(), ''); + ContosoDEPostCode.InsertPostCode('KLA', KampalaLbl, CreateCountryRegion.UG(), ''); + ContosoDEPostCode.InsertPostCode('L18 6SA', LiverpoolLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('L300', SitekiLbl, CreateCountryRegion.SZ(), ''); + ContosoDEPostCode.InsertPostCode('LE16 7YH', LeicesterLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('LL6 5GB', RhylLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('LN23 6GS', LincolnLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('LU3 4FY', LutonLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('M61 2YG', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('MB R0M 0N0', ElkhornLbl, CreateCountryRegion.CA(), ''); + ContosoDEPostCode.InsertPostCode('ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('MK21 7GG', BletchleyLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('MK41 5AE', BedfordLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('MO2 4RT', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('N12 5XY', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('N16 34Z', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('NE21 3YG', NewcastleLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('NP5 6GH', NewportLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('NY 11010', NewYorkLbl, CreateCountryRegion.US(), ''); + ContosoDEPostCode.InsertPostCode('ON L6J 3J3', OakvilleLbl, CreateCountryRegion.CA(), ''); + ContosoDEPostCode.InsertPostCode('ON M5E 1G5', TorontoLbl, CreateCountryRegion.CA(), ''); + ContosoDEPostCode.InsertPostCode('ON N6B 1V7', LondonLbl, CreateCountryRegion.CA(), ''); + ContosoDEPostCode.InsertPostCode('ON P7A 4K8', ThunderBayLbl, CreateCountryRegion.CA(), ''); + ContosoDEPostCode.InsertPostCode('ON P7B 5E2', ThunderBayLbl, CreateCountryRegion.CA(), ''); + ContosoDEPostCode.InsertPostCode('OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('PE17 4RN', CambridgeLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('PL14 5GB', PlymouthLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('S400', NhlanganoLbl, CreateCountryRegion.SZ(), ''); + ContosoDEPostCode.InsertPostCode('SA1 2HS', SwanseaLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('SA3 7HI', StratfordLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('SC 27136', ColombiaLbl, CreateCountryRegion.US(), ''); + ContosoDEPostCode.InsertPostCode('SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('TA3 4FD', NewquayLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('TN27 6YD', AshfordLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('W1 3AL', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('W2 8HG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('WC1 3DG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('WD1 6YG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('WD2 4RG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.InsertPostCode('WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + ContosoDEPostCode.SetOverwriteData(false); + end; + + var + NairobiLbl: Label 'Nairobi', MaxLength = 30; + KairiLbl: Label 'Kairi', MaxLength = 30; + PretoriaLbl: Label 'Pretoria', MaxLength = 30; + HelsinkiLbl: Label 'Helsinki', MaxLength = 30; + ROMARMLbl: Label 'ROMA RM', MaxLength = 30; + MaputoLbl: Label 'Maputo', MaxLength = 30; + MexicoCityDFLbl: Label 'Mexico City, DF', MaxLength = 30; + DresdenLbl: Label 'Dresden', MaxLength = 30; + KlaukkalaLbl: Label 'Klaukkala', MaxLength = 30; + WarszawaLbl: Label 'Warszawa', MaxLength = 30; + DolnyKubinLbl: Label 'Dolny Kubin', MaxLength = 30; + AlicanteLbl: Label 'Alicante', MaxLength = 30; + SingaporeLbl: Label 'Singapore', MaxLength = 30; + BetliarLbl: Label 'Betliar', MaxLength = 30; + BucurestiLbl: Label 'Bucuresti', MaxLength = 30; + BARIKALbl: Label 'BARIKA', MaxLength = 30; + JokelaLbl: Label 'Jokela', MaxLength = 30; + SaoPauloSPLbl: Label 'Sao Paulo SP', MaxLength = 30; + OsloLbl: Label 'Oslo', MaxLength = 30; + AnkaraLbl: Label 'Ankara', MaxLength = 30; + PietersburgLbl: Label 'Pietersburg', MaxLength = 30; + PalmaMallorcaLbl: Label 'Palma Mallorca', MaxLength = 30; + BarcelonaLbl: Label 'Barcelona', MaxLength = 30; + LjubljanaLbl: Label 'Ljubljana', MaxLength = 30; + ManilaLbl: Label 'Manila', MaxLength = 30; + SofiaLbl: Label 'Sofia', MaxLength = 30; + ZagrebLbl: Label 'Zagreb', MaxLength = 30; + CaceresLbl: Label 'Caceres', MaxLength = 30; + AucklandLbl: Label 'Auckland', MaxLength = 30; + TunisBelvedereLbl: Label 'Tunis Belvedere', MaxLength = 30; + SantaCruzManilaLbl: Label 'Santa Cruz, Manila', MaxLength = 30; + AmsterdamLbl: Label 'Amsterdam', MaxLength = 30; + ReykjavikLbl: Label 'Reykjavik', MaxLength = 30; + AGDALRABATLbl: Label 'AGDAL-RABAT', MaxLength = 30; + TORINOTOLbl: Label 'TORINO TO', MaxLength = 30; + RIADRABATLbl: Label 'RIAD-RABAT', MaxLength = 30; + RigaLbl: Label 'Riga', MaxLength = 30; + TondoManilaLbl: Label 'Tondo, Manila', MaxLength = 30; + TallinnLbl: Label 'Tallinn', MaxLength = 30; + BangNaBangkokLbl: Label 'Bang Na, Bangkok', MaxLength = 30; + TunisLbl: Label 'Tunis', MaxLength = 30; + MoskvaLbl: Label 'Moskva', MaxLength = 30; + JakartaLbl: Label 'Jakarta', MaxLength = 30; + BangRakBangkokLbl: Label 'Bang Rak, Bangkok', MaxLength = 30; + LISBOALbl: Label 'LISBOA', MaxLength = 30; + KhlongSamwaBangkokLbl: Label 'Khlong Samwa, Bangkok', MaxLength = 30; + AthensLbl: Label 'Athens', MaxLength = 30; + WienLbl: Label 'Wien', MaxLength = 30; + BeogradLbl: Label 'Beograd', MaxLength = 30; + DelhiLbl: Label 'Delhi', MaxLength = 30; + BudapestLbl: Label 'Budapest', MaxLength = 30; + ZaghouanLbl: Label 'Zaghouan', MaxLength = 30; + CapriQuezonCityLbl: Label 'Capri, Quezon City', MaxLength = 30; + StockholmLbl: Label 'Stockholm', MaxLength = 30; + KorszeLbl: Label 'Korsze', MaxLength = 30; + TEMARALbl: Label 'TEMARA', MaxLength = 30; + SandvikaLbl: Label 'Sandvika', MaxLength = 30; + LysakerLbl: Label 'Lysaker', MaxLength = 30; + HaslumLbl: Label 'Haslum', MaxLength = 30; + AskerLbl: Label 'Asker', MaxLength = 30; + SkiLbl: Label 'Ski', MaxLength = 30; + ValenzuelaLbl: Label 'Valenzuela', MaxLength = 30; + OrnetaLbl: Label 'Orneta', MaxLength = 30; + TangerangLbl: Label 'Tangerang', MaxLength = 30; + ZaandamLbl: Label 'Zaandam', MaxLength = 30; + BialystokLbl: Label 'Bialystok', MaxLength = 30; + ALGIERSLbl: Label 'ALGIERS', MaxLength = 30; + WatSingChaiNatLbl: Label 'Wat Sing, Chai Nat', MaxLength = 30; + PiraeusLbl: Label 'Piraeus', MaxLength = 30; + HumbeekLbl: Label 'Humbeek', MaxLength = 30; + BorLbl: Label 'Bor', MaxLength = 30; + SanktPetersburgLbl: Label 'Sankt Petersburg', MaxLength = 30; + KopavogurLbl: Label 'Kopavogur', MaxLength = 30; + JohannesburgLbl: Label 'Johannesburg', MaxLength = 30; + MariborLbl: Label 'Maribor', MaxLength = 30; + SydneyNSWLbl: Label 'Sydney, NSW', MaxLength = 30; + CASABLANCALbl: Label 'CASABLANCA', MaxLength = 30; + DubrovnikLbl: Label 'Dubrovnik', MaxLength = 30; + CraiovaLbl: Label 'Craiova', MaxLength = 30; + HamburgLbl: Label 'Hamburg', MaxLength = 30; + MILANOMILbl: Label 'MILANO MI', MaxLength = 30; + AntwerpenLbl: Label 'Antwerpen', MaxLength = 30; + NarvaLbl: Label 'Narva', MaxLength = 30; + MOHAMMEDIALbl: Label 'MOHAMMEDIA', MaxLength = 30; + CopenhagenLbl: Label 'Copenhagen', MaxLength = 30; + MOSTAGANCULbl: Label 'MOSTAGANCU', MaxLength = 30; + NoviSadLbl: Label 'Novi Sad', MaxLength = 30; + SplitLbl: Label 'Split', MaxLength = 30; + HafnafjordurLbl: Label 'Hafnafjordur', MaxLength = 30; + HerentalsLbl: Label 'Herentals', MaxLength = 30; + SibenikLbl: Label 'Sibenik', MaxLength = 30; + RiodeJaneiroRJLbl: Label 'Rio de Janeiro RJ', MaxLength = 30; + Hamburg36Lbl: Label 'Hamburg 36', MaxLength = 30; + WrNeudorfLbl: Label 'Wr. Neudorf', MaxLength = 30; + SuboticaLbl: Label 'Subotica', MaxLength = 30; + CarletonvilleLbl: Label 'Carletonville', MaxLength = 30; + EsztergomLbl: Label 'Esztergom', MaxLength = 30; + KustendilLbl: Label 'Kustendil', MaxLength = 30; + WollongongNSWLbl: Label 'Wollongong, NSW', MaxLength = 30; + VilniusLbl: Label 'Vilnius', MaxLength = 30; + BlagoevgradLbl: Label 'Blagoevgrad', MaxLength = 30; + MechelenLbl: Label 'Mechelen', MaxLength = 30; + MadridLbl: Label 'Madrid', MaxLength = 30; + BremenLbl: Label 'Bremen', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + VedbaekLbl: Label 'Vedbaek', MaxLength = 30; + AkranesLbl: Label 'Akranes', MaxLength = 30; + KaunasLbl: Label 'Kaunas', MaxLength = 30; + LeuvenLbl: Label 'Leuven', MaxLength = 30; + MelbourneVICLbl: Label 'Melbourne, VIC', MaxLength = 30; + BENINEdostateLbl: Label 'BENIN, Edo state', MaxLength = 30; + COIMBRALbl: Label 'COIMBRA', MaxLength = 30; + HalmstadLbl: Label 'Halmstad', MaxLength = 30; + KairouanLbl: Label 'Kairouan', MaxLength = 30; + NonDindaengBuriRamLbl: Label 'Non Dindaeng, Buri Ram', MaxLength = 30; + GrobelnoLbl: Label 'Grobelno', MaxLength = 30; + TarnaleleszLbl: Label 'Tarnalelesz', MaxLength = 30; + DundagaLbl: Label 'Dundaga', MaxLength = 30; + NoszvajLbl: Label 'Noszvaj', MaxLength = 30; + KragujevacLbl: Label 'Kragujevac', MaxLength = 30; + DurbanLbl: Label 'Durban', MaxLength = 30; + PontevedraLbl: Label 'Pontevedra', MaxLength = 30; + SalamancaLbl: Label 'Salamanca', MaxLength = 30; + LeonGuanajuatoLbl: Label 'Leon, Guanajuato', MaxLength = 30; + BauskaLbl: Label 'Bauska', MaxLength = 30; + RichardsBayLbl: Label 'Richards Bay', MaxLength = 30; + BOLZANOBZLbl: Label 'BOLZANO BZ', MaxLength = 30; + BrisbaneQLDLbl: Label 'Brisbane, QLD', MaxLength = 30; + PlovdivLbl: Label 'Plovdiv', MaxLength = 30; + KHENCHELbl: Label 'KHENCHE', MaxLength = 30; + MumbaiLbl: Label 'Mumbai', MaxLength = 30; + PORTOLbl: Label 'PORTO', MaxLength = 30; + BandungLbl: Label 'Bandung', MaxLength = 30; + DusseldorfLbl: Label 'Dusseldorf', MaxLength = 30; + SevillaLbl: Label 'Sevilla', MaxLength = 30; + PrattelnLbl: Label 'Pratteln', MaxLength = 30; + GoteborgLbl: Label 'Goteborg', MaxLength = 30; + PELABUHANKLANGSelangorLbl: Label 'PELABUHAN KLANG, Selangor', MaxLength = 30; + KonyaLbl: Label 'Konya', MaxLength = 30; + BjelovarLbl: Label 'Bjelovar', MaxLength = 30; + DortmundLbl: Label 'Dortmund', MaxLength = 30; + NagpurLbl: Label 'Nagpur', MaxLength = 30; + SamaraLbl: Label 'Samara', MaxLength = 30; + RakvereLbl: Label 'Rakvere', MaxLength = 30; + LACHAPELLEBASSEMERLbl: Label 'LA CHAPELLE BASSE MER', MaxLength = 30; + KranjLbl: Label 'Kranj', MaxLength = 30; + ManisaLbl: Label 'Manisa', MaxLength = 30; + TapaLbl: Label 'Tapa', MaxLength = 30; + OpoleLbl: Label 'Opole', MaxLength = 30; + KogeLbl: Label 'Koge', MaxLength = 30; + RudiskesLbl: Label 'Rudiskes', MaxLength = 30; + ValenciaLbl: Label 'Valencia', MaxLength = 30; + ValladolidLbl: Label 'Valladolid', MaxLength = 30; + PETALINGJAYASelangorLbl: Label 'PETALING JAYA, Selangor', MaxLength = 30; + GmundenLbl: Label 'Gmunden', MaxLength = 30; + DiepholzLbl: Label 'Diepholz', MaxLength = 30; + MustveeLbl: Label 'Mustvee', MaxLength = 30; + AdungosiLbl: Label 'Adungosi', MaxLength = 30; + OdenseCLbl: Label 'Odense C', MaxLength = 30; + ZaragozaLbl: Label 'Zaragoza', MaxLength = 30; + OgreLbl: Label 'Ogre', MaxLength = 30; + BrasovLbl: Label 'Brasov', MaxLength = 30; + SanPaTongChiangMaiLbl: Label 'San Pa Tong, Chiang Mai', MaxLength = 30; + AMPANGKualaLumpurLbl: Label 'AMPANG, Kuala Lumpur', MaxLength = 30; + CASSELLbl: Label 'CASSEL', MaxLength = 30; + RecifePELbl: Label 'Recife PE', MaxLength = 30; + KokneseLbl: Label 'Koknese', MaxLength = 30; + WaalwijkLbl: Label 'Waalwijk', MaxLength = 30; + KinnaredLbl: Label 'Kinnared', MaxLength = 30; + RovinjLbl: Label 'Rovinj', MaxLength = 30; + ThessalonikiLbl: Label 'Thessaloniki', MaxLength = 30; + WoodvilleLbl: Label 'Woodville', MaxLength = 30; + DannevirkeLbl: Label 'Dannevirke', MaxLength = 30; + JonkobingLbl: Label 'Jonkobing', MaxLength = 30; + SibiuLbl: Label 'Sibiu', MaxLength = 30; + BengaluruLbl: Label 'Bengaluru', MaxLength = 30; + KUALALUMPURLbl: Label 'KUALA LUMPUR', MaxLength = 30; + MittersillLbl: Label 'Mittersill', MaxLength = 30; + KlaipedaLbl: Label 'Klaipeda', MaxLength = 30; + NyborgLbl: Label 'Nyborg', MaxLength = 30; + HagenLbl: Label 'Hagen', MaxLength = 30; + LubinLbl: Label 'Lubin', MaxLength = 30; + NeustadtLbl: Label 'Neustadt', MaxLength = 30; + FrankfurtMainLbl: Label 'Frankfurt/Main', MaxLength = 30; + MarsabitLbl: Label 'Marsabit', MaxLength = 30; + NorrkobingLbl: Label 'Norrkobing', MaxLength = 30; + KoperLbl: Label 'Koper', MaxLength = 30; + PortElizabethLbl: Label 'Port Elizabeth', MaxLength = 30; + ChennaiLbl: Label 'Chennai', MaxLength = 30; + WellingtonLbl: Label 'Wellington', MaxLength = 30; + LuzernLbl: Label 'Luzern', MaxLength = 30; + SurabayaLbl: Label 'Surabaya', MaxLength = 30; + NizhnyNovgorodLbl: Label 'Nizhny Novgorod', MaxLength = 30; + SANTAVENERANDAPSLbl: Label 'SANTA VENERANDA PS', MaxLength = 30; + RotkreuzLbl: Label 'Rotkreuz', MaxLength = 30; + ImmenseeLbl: Label 'Immensee', MaxLength = 30; + MonterreyNuevoLeonLbl: Label 'Monterrey, Nuevo Leon', MaxLength = 30; + ZnojmoLbl: Label 'Znojmo', MaxLength = 30; + PESCINAAQLbl: Label 'PESCINA AQ', MaxLength = 30; + BlanskoLbl: Label 'Blansko', MaxLength = 30; + PerthWALbl: Label 'Perth, WA', MaxLength = 30; + ArnhemLbl: Label 'Arnhem', MaxLength = 30; + BojkoviceLbl: Label 'Bojkovice', MaxLength = 30; + VladivostokLbl: Label 'Vladivostok', MaxLength = 30; + VracovLbl: Label 'Vracov', MaxLength = 30; + KyjovLbl: Label 'Kyjov', MaxLength = 30; + ZamboangaCityLbl: Label 'Zamboanga City', MaxLength = 30; + KolkataLbl: Label 'Kolkata', MaxLength = 30; + BrasiliaDFLbl: Label 'Brasilia DF', MaxLength = 30; + MurdunnaTASLbl: Label 'Murdunna, TAS', MaxLength = 30; + ZutphenLbl: Label 'Zutphen', MaxLength = 30; + EningenLbl: Label 'Eningen', MaxLength = 30; + ChaniaLbl: Label 'Chania', MaxLength = 30; + ApeldoornLbl: Label 'Apeldoorn', MaxLength = 30; + PARISLbl: Label 'PARIS', MaxLength = 30; + PaldiskiLbl: Label 'Paldiski', MaxLength = 30; + ESBLYLbl: Label 'ESBLY', MaxLength = 30; + OlomouchLbl: Label 'Olomouch', MaxLength = 30; + SanLuisPotosiSanLuisLbl: Label 'San Luis Potosi, San Luis', MaxLength = 30; + PLAISIRLbl: Label 'PLAISIR', MaxLength = 30; + HokitikaLbl: Label 'Hokitika', MaxLength = 30; + MombasaLbl: Label 'Mombasa', MaxLength = 30; + MalindiLbl: Label 'Malindi', MaxLength = 30; + ArhusCLbl: Label 'Arhus C', MaxLength = 30; + CapeTownLbl: Label 'Cape Town', MaxLength = 30; + ChristchurchLbl: Label 'Christchurch', MaxLength = 30; + CuritibaPRLbl: Label 'Curitiba PR', MaxLength = 30; + IstanbulLbl: Label 'Istanbul', MaxLength = 30; + MunchenLbl: Label 'Munchen', MaxLength = 30; + AinDrahamLbl: Label 'Ain Draham', MaxLength = 30; + BratislavaLbl: Label 'Bratislava', MaxLength = 30; + KartalIstanbulLbl: Label 'Kartal-Istanbul', MaxLength = 30; + GlattbruggLbl: Label 'Glattbrugg', MaxLength = 30; + BouSalemLbl: Label 'Bou Salem', MaxLength = 30; + TuzlaIstanbulLbl: Label 'Tuzla-Istanbul', MaxLength = 30; + ArhusNLbl: Label 'Arhus N', MaxLength = 30; + SchaffhausenLbl: Label 'Schaffhausen', MaxLength = 30; + MazatlanSinaloaLbl: Label 'Mazatlan, Sinaloa', MaxLength = 30; + BlancaLbl: Label 'Blanca', MaxLength = 30; + LALONDELESMAURESLbl: Label 'LA LONDE LES MAURES', MaxLength = 30; + KortrijkLbl: Label 'Kortrijk', MaxLength = 30; + KolymbiaLbl: Label 'Kolymbia', MaxLength = 30; + SundsvallLbl: Label 'Sundsvall', MaxLength = 30; + LandsbergamLechLbl: Label 'Landsberg am Lech', MaxLength = 30; + ElhovoLbl: Label 'Elhovo', MaxLength = 30; + KOTAKINABALUSabahLbl: Label 'KOTA KINABALU, Sabah', MaxLength = 30; + MurauLbl: Label 'Murau', MaxLength = 30; + KuhmoLbl: Label 'Kuhmo', MaxLength = 30; + AlborgLbl: Label 'Alborg', MaxLength = 30; + VarnaLbl: Label 'Varna', MaxLength = 30; + KASBAHTANGERLbl: Label 'KASBAH TANGER', MaxLength = 30; + ABUJALbl: Label 'ABUJA', MaxLength = 30; + FUNCHALLbl: Label 'FUNCHAL', MaxLength = 30; + PortoAlegreRSLbl: Label 'Porto Alegre RS', MaxLength = 30; + SenicaLbl: Label 'Senica', MaxLength = 30; + LuisenbergLbl: Label 'Luisenberg', MaxLength = 30; + BloemfonteinLbl: Label 'Bloemfontein', MaxLength = 30; + JOSPlateaustateLbl: Label 'JOS, Plateau state', MaxLength = 30; + GHOHPlateaustateLbl: Label 'GHOH, Plateau state', MaxLength = 30; + KUCHINGSarawakLbl: Label 'KUCHING, Sarawak', MaxLength = 30; + RegensburgLbl: Label 'Regensburg', MaxLength = 30; + PONTADELGADALbl: Label 'PONTA DELGADA', MaxLength = 30; + KalinovoLbl: Label 'Kalinovo', MaxLength = 30; + ErfurtLbl: Label 'Erfurt', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + DarEsSalaamLbl: Label 'Dar Es Salaam', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + EntebbeLbl: Label 'Entebbe', MaxLength = 30; + MiamiLbl: Label 'Miami', MaxLength = 30; + AtlantaLbl: Label 'Atlanta', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + MbabaneLbl: Label 'Mbabane', MaxLength = 30; + SwaziPlazaLbl: Label 'Swazi Plaza', MaxLength = 30; + PiggsPeakLbl: Label 'Piggs Peak', MaxLength = 30; + ManziniLbl: Label 'Manzini', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + ChicagoLbl: Label 'Chicago', MaxLength = 30; + KampalaLbl: Label 'Kampala', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + SitekiLbl: Label 'Siteki', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + ElkhornLbl: Label 'Elkhorn', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + NewYorkLbl: Label 'New York', MaxLength = 30; + OakvilleLbl: Label 'Oakville', MaxLength = 30; + TorontoLbl: Label 'Toronto', MaxLength = 30; + ThunderBayLbl: Label 'Thunder Bay', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + NhlanganoLbl: Label 'Nhlangano', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + ColombiaLbl: Label 'Colombia', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEReceiverDispatcher.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEReceiverDispatcher.Codeunit.al new file mode 100644 index 0000000000..a4bf127a78 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreateDEReceiverDispatcher.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 11116 "Create DE Receiver/Dispatcher" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateDEPlaceOfReceiver(); + CreateDEPlaceOfDispatcher(); + end; + + local procedure CreateDEPlaceOfReceiver() + var + ContosoPlaceofReceiver: Codeunit "Contoso Receiver/Dispatcher DE"; + begin + ContosoPlaceofReceiver.InsertPlaceOfReceiverData('1', ReceiveDispatcherPlace1Lbl); + ContosoPlaceofReceiver.InsertPlaceOfReceiverData('3', ReceiveDispatcherPlace3Lbl); + ContosoPlaceofReceiver.InsertPlaceOfReceiverData('6', ReceiverPlace6Lbl); + ContosoPlaceofReceiver.InsertPlaceOfReceiverData('7', ReceiverPlace7Lbl); + ContosoPlaceofReceiver.InsertPlaceOfReceiverData('8', ReceiverPlace8Lbl); + ContosoPlaceofReceiver.InsertPlaceOfReceiverData('9', ReceiverPlace9Lbl); + end; + + local procedure CreateDEPlaceOfDispatcher() + var + ContosoPlaceofDispatcher: Codeunit "Contoso Receiver/Dispatcher DE"; + begin + ContosoPlaceofDispatcher.InsertPlaceOfDispatcherData('1', ReceiveDispatcherPlace1Lbl); + ContosoPlaceofDispatcher.InsertPlaceOfDispatcherData('5', ReceiveDispatcherPlace3Lbl); + ContosoPlaceofDispatcher.InsertPlaceOfDispatcherData('7', DispatcherPlace7Lbl); + ContosoPlaceofDispatcher.InsertPlaceOfDispatcherData('9', DispatcherPlace9Lbl); + end; + + var + ReceiveDispatcherPlace1Lbl: Label 'in Hamburg', MaxLength = 250; + ReceiveDispatcherPlace3Lbl: Label 'in Bremen und Bremerhaven', MaxLength = 250; + ReceiverPlace6Lbl: Label 'in Berlin (West)', MaxLength = 250; + ReceiverPlace7Lbl: Label 'im Saarland', MaxLength = 250; + ReceiverPlace8Lbl: Label 'in Lübeck', MaxLength = 250; + ReceiverPlace9Lbl: Label 'sowie Brandenburg, Mecklenburg-Vorpommern, Sachsen, Sachsen-Anhalt, Thüringen', MaxLength = 250; + DispatcherPlace7Lbl: Label 'in Lübeck, Brandenburg, Mecklenburg-Vorpommern, Sachsen, Sachsen-Anhalt', MaxLength = 250; + DispatcherPlace9Lbl: Label 'sowie Brandenburg, Mecklenburg-Vorpommern, Sachsen, Sachsen-Anhalt, Thüringen', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreatePaymentTermsDE.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreatePaymentTermsDE.Codeunit.al new file mode 100644 index 0000000000..4f47816e94 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Foundation/1. SetupData/CreatePaymentTermsDE.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 11085 "Create Payment Terms DE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Terms", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAnalysisView(var Rec: Record "Payment Terms") + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec.Code of + CreatePaymentTerms.PaymentTermsM8D(): + Rec.Validate("Calc. Pmt. Disc. on Cr. Memos", true); + end; + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/HR/1.Master Data/CreateDEEmployee.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/HR/1.Master Data/CreateDEEmployee.Codeunit.al new file mode 100644 index 0000000000..612636eb89 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/HR/1.Master Data/CreateDEEmployee.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 11130 "Create DE Employee" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployee(CreateEmployee.ManagingDirector()); + UpdateEmployee(CreateEmployee.SalesManager()); + UpdateEmployee(CreateEmployee.Designer()); + UpdateEmployee(CreateEmployee.ProductionAssistant()); + UpdateEmployee(CreateEmployee.ProductionManager()); + UpdateEmployee(CreateEmployee.Secretary()); + UpdateEmployee(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployee(EmployeeNo: Code[20]) + var + Employee: Record Employee; + CreateEmployee: Codeunit "Create Employee"; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate("Emplymt. Contract Code", ''); + Employee.Validate("Statistics Group Code", ''); + Employee.Validate("Union Code", ''); + Employee.Validate(Initials, GetInitials(Employee)); + if EmployeeNo = CreateEmployee.InventoryManager() then + Employee.Validate("Job Title", ProductionAssistantLbl); + Employee.Modify(true); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/1. Setup Data/CreateDEInvPostingSetup.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/1. Setup Data/CreateDEInvPostingSetup.Codeunit.al new file mode 100644 index 0000000000..9aa5e89fdd --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/1. Setup Data/CreateDEInvPostingSetup.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 11093 "Create DE Inv. Posting Setup" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInventoryPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateLocation: Codeunit "Create Location"; + CreateDEGLAccount: Codeunit "Create DE GL Acc."; + begin + case Rec."Location Code" of + CreateLocation.EastLocation(): + ValidateInventoryPostingSetup(Rec, CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale()); + CreateLocation.MainLocation(): + ValidateInventoryPostingSetup(Rec, CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale()); + CreateLocation.OutLogLocation(): + ValidateInventoryPostingSetup(Rec, CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale()); + CreateLocation.OwnLogLocation(): + ValidateInventoryPostingSetup(Rec, CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale()); + CreateLocation.WestLocation(): + ValidateInventoryPostingSetup(Rec, CreateDEGLAccount.GoodsforResale(), CreateDEGLAccount.GoodsforResale()); + '': + ValidateInventoryPostingSetup(Rec, CreateDEGLAccount.GoodsforResale(), ''); + end; + end; + + local procedure ValidateInventoryPostingSetup(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItem.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItem.Codeunit.al new file mode 100644 index 0000000000..64cd039010 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItem.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 11094 "Create DE Item" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeOnInsert', '', false, false)] + local procedure OnBeforeOnInsertItem(var Item: Record Item) + var + CreateVatPostingGrp: Codeunit "Create DE VAT Posting Groups"; + CreateItem: Codeunit "Create Item"; + begin + case Item."No." of + CreateItem.AthensDesk(): + ValidateItem(Item, 1005.8, 784.6, CreateVatPostingGrp.VAT19()); + CreateItem.ParisGuestChairBlack(): + ValidateItem(Item, 193.7, 151.1, CreateVatPostingGrp.VAT19()); + CreateItem.AthensMobilePedestal(): + ValidateItem(Item, 435.8, 339.9, CreateVatPostingGrp.VAT19()); + CreateItem.LondonSwivelChairBlue(): + ValidateItem(Item, 191, 148.9, CreateVatPostingGrp.VAT19()); + CreateItem.AntwerpConferenceTable(): + ValidateItem(Item, 651.1, 508, CreateVatPostingGrp.VAT19()); + CreateItem.ConferenceBundle16(): + ValidateItem(Item, 189.8, 0, CreateVatPostingGrp.VAT19()); + CreateItem.AmsterdamLamp(): + ValidateItem(Item, 55.2, 43.1, CreateVatPostingGrp.VAT19()); + CreateItem.ConferenceBundle18(): + ValidateItem(Item, 235, 0, CreateVatPostingGrp.VAT19()); + CreateItem.BerlingGuestChairYellow(): + ValidateItem(Item, 193.7, 151.1, CreateVatPostingGrp.VAT19()); + CreateItem.GuestSection1(): + ValidateItem(Item, 126.4, 0, CreateVatPostingGrp.VAT19()); + CreateItem.RomeGuestChairGreen(): + ValidateItem(Item, 193.7, 151.1, CreateVatPostingGrp.VAT19()); + CreateItem.TokyoGuestChairBlue(): + ValidateItem(Item, 193.7, 151.1, CreateVatPostingGrp.VAT19()); + CreateItem.ConferenceBundle28(): + ValidateItem(Item, 235, 0, CreateVatPostingGrp.VAT19()); + CreateItem.MexicoSwivelChairBlack(): + ValidateItem(Item, 191, 148.9, CreateVatPostingGrp.VAT19()); + CreateItem.ConferencePackage1(): + ValidateItem(Item, 343.5, 0, CreateVatPostingGrp.VAT19()); + CreateItem.MunichSwivelChairYellow(): + ValidateItem(Item, 191, 148.9, CreateVatPostingGrp.VAT19()); + CreateItem.MoscowSwivelChairRed(): + ValidateItem(Item, 191, 148.9, CreateVatPostingGrp.VAT19()); + CreateItem.SeoulGuestChairRed(): + ValidateItem(Item, 193.7, 151.1, CreateVatPostingGrp.VAT19()); + CreateItem.AtlantaWhiteboardBase(): + ValidateItem(Item, 1404.3, 1095.3, CreateVatPostingGrp.VAT19()); + CreateItem.SydneySwivelChairGreen(): + ValidateItem(Item, 191, 148.9, CreateVatPostingGrp.VAT19()); + end; + end; + + local procedure ValidateItem(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VatProdPostingGrp: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItemCharge.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItemCharge.Codeunit.al new file mode 100644 index 0000000000..d75d441b21 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItemCharge.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 11095 "Create DE Item Charge" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItemCharge(var Rec: Record "Item Charge") + var + CreateVatPostingGrp: Codeunit "Create DE VAT Posting Groups"; + CreateItemCharge: Codeunit "Create Item Charge"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), CreateItemCharge.PurchAllowance(), CreateItemCharge.PurchFreight(), CreateItemCharge.PurchRestock(), CreateItemCharge.SaleAllowance(), CreateItemCharge.SaleFreight(), CreateItemCharge.SaleRestock(): + Rec.Validate("VAT Prod. Posting Group", CreateVatPostingGrp.VAT19()); + end; + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItemTemplate.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItemTemplate.Codeunit.al new file mode 100644 index 0000000000..3807e3514e --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDEItemTemplate.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 11096 "Create DE Item Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVatPostingGrp: Codeunit "Create DE VAT Posting Groups"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateNoSeries.Item(), CreateVatPostingGrp.VAT19()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateVatPostingGrp.VAT19()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDELocation.codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDELocation.codeunit.al new file mode 100644 index 0000000000..9f4621e2e0 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Inventory/2. Master Data/CreateDELocation.codeunit.al @@ -0,0 +1,47 @@ +codeunit 11097 "Create DE Location" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocation: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocation.EastLocation(): + ValidateLocation(Rec, EastLocationAddressLbl, EastLocationCityLbl, EastLocationContactLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.MainLocation(): + ValidateLocation(Rec, MainLocationAddressLbl, MainLocationCityLbl, MainLocationContactLbl, MainLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocation.WestLocation(): + ValidateLocation(Rec, WestLocationAddressLbl, WestLocationCityLbl, WestLocationContactLbl, WestLocationPostCodeLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateLocation(var Location: Record Location; Address: Text[100]; City: Text[30]; Contact: Text[100]; PostCode: Code[20]; CountryRgionCode: Code[10]) + begin + Location.Validate(Address, Address); + Location.Validate("Address 2", ''); + Location.Validate(Contact, Contact); + Location.Validate("Post Code", PostCode); + Location.Validate(City, City); + Location."Country/Region Code" := CountryRgionCode; + end; + + var + EastLocationAddressLbl: Label 'Main Liverpool Street, 5', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label 'Main Bristol Street, 10', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label 'South East Street, 3', MaxLength = 100, Locked = true; + EastLocationCityLbl: Label 'Regensburg', MaxLength = 30; + MainLocationCityLbl: Label 'Frankfurt/Main', MaxLength = 30; + WestLocationCityLbl: Label 'Dusseldorf', MaxLength = 30; + EastLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + MainLocationContactLbl: Label 'Jeanne Bosworth', MaxLength = 100; + WestLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; + EastLocationPostCodeLbl: Label '94242', MaxLength = 20; + MainLocationPostCodeLbl: Label '59591', MaxLength = 20; + WestLocationPostCodeLbl: Label '48436', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/1. SetupData/CreateDEPurchPayableSetup.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/1. SetupData/CreateDEPurchPayableSetup.Codeunit.al new file mode 100644 index 0000000000..f5fe5c3d64 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/1. SetupData/CreateDEPurchPayableSetup.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11100 "Create DE Purch. Payable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateDENoSeries: Codeunit "Create DE No. Series"; + begin + UpdatePurchasePayableSetup(CreateDENoSeries.PurchaseDeliveryReminder(), CreateDENoSeries.PurchaseIssueDeliveryReminder()); + end; + + local procedure UpdatePurchasePayableSetup(DeliveryReminderNos: Code[20]; IssuedDeliveryReminderNos: Code[20]) + var + PurchPayableSetup: Record "Purchases & Payables Setup"; + begin + if PurchPayableSetup.Get() then begin + PurchPayableSetup.Validate("Delivery Reminder Nos.", DeliveryReminderNos); + PurchPayableSetup.Validate("Issued Delivery Reminder Nos.", IssuedDeliveryReminderNos); + PurchPayableSetup.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/1. SetupData/CreateDEVendorPostingGrp.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/1. SetupData/CreateDEVendorPostingGrp.Codeunit.al new file mode 100644 index 0000000000..449f964c3a --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/1. SetupData/CreateDEVendorPostingGrp.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11102 "Create DE Vendor Posting Grp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGrp(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGrp: Codeunit "Create Vendor Posting Group"; + CreateDEGLAccount: Codeunit "Create DE GL Acc."; + begin + case Rec.Code of + CreateVendorPostingGrp.Domestic(): + ValidateVendorPostingGroup(Rec, CreateDEGLAccount.AccountsPayableDomestic(), CreateDEGLAccount.MiscVATPayables(), '', CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), '', CreateDEGLAccount.MiscExternalExpenses(), CreateDEGLAccount.MiscExternalExpenses()); + CreateVendorPostingGrp.EU(): + ValidateVendorPostingGroup(Rec, CreateDEGLAccount.AccountsPayableForeign(), CreateDEGLAccount.MiscVATPayables(), '', CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), '', CreateDEGLAccount.MiscExternalExpenses(), CreateDEGLAccount.MiscExternalExpenses()); + CreateVendorPostingGrp.Foreign(): + ValidateVendorPostingGroup(Rec, CreateDEGLAccount.AccountsPayableForeign(), CreateDEGLAccount.MiscVATPayables(), '', CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), '', CreateDEGLAccount.MiscExternalExpenses(), CreateDEGLAccount.MiscExternalExpenses()); + end; + end; + + local procedure ValidateVendorPostingGroup(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/2. MasterData/CreateDEPurchDimValue.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/2. MasterData/CreateDEPurchDimValue.Codeunit.al new file mode 100644 index 0000000000..999068bf3b --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/2. MasterData/CreateDEPurchDimValue.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 11090 "Create DE Purch. Dim. Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthNonEUArea()); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/2. MasterData/CreateDEVendor.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/2. MasterData/CreateDEVendor.Codeunit.al new file mode 100644 index 0000000000..dd8624d606 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Purchase/2. MasterData/CreateDEVendor.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 11103 "Create DE Vendor" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //Todo - Hard Coded Post Code to be replace with Post Code Codeuint. + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateVendor: Codeunit "Create Vendor"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateVendor(Rec, '', 'GA 31772', '503912693'); + CreateVendor.DomesticFirstUp(): + ValidateVendor(Rec, '', '01310', '895741963'); + CreateVendor.EUGraphicDesign(): + ValidateVendor(Rec, CreateCountryRegion.GB(), 'B31 2AL', '796385274'); + CreateVendor.DomesticWorldImporter(): + ValidateVendor(Rec, '', '60320', '197548769'); + CreateVendor.DomesticNodPublisher(): + ValidateVendor(Rec, '', '01238', '295267495'); + end; + end; + + local procedure ValidateVendor(var Vendor: Record Vendor; CountryRegionCode: Code[10]; PostCode: Code[20]; VatRegistraionNo: Text[20]) + begin + Vendor.Validate("VAT Registration No.", VatRegistraionNo); + Vendor.Validate("Post Code", PostCode); + if CountryRegionCode <> '' then + Vendor."Country/Region Code" := CountryRegionCode; + end; +} diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/1. SetupData/CreateDECustPostingGrp.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/1. SetupData/CreateDECustPostingGrp.Codeunit.al new file mode 100644 index 0000000000..8856df5578 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/1. SetupData/CreateDECustPostingGrp.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 11106 "Create DE Cust. Posting Grp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerPostingGrp(var Rec: Record "Customer Posting Group") + var + CreateDEGLAccount: Codeunit "Create DE GL Acc."; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateCustomerPostingGrp: Codeunit "Create Customer Posting Group"; + begin + case Rec.Code of + CreateCustomerPostingGrp.Domestic(): + ValidateCustomerPostingGroup(Rec, CreateDEGLAccount.AccountReceivableDomestic(), '', '', CreateDEGLAccount.PayableInvoiceRounding(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), '', CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + CreateCustomerPostingGrp.EU(): + ValidateCustomerPostingGroup(Rec, CreateDEGLAccount.AccountReceivableForeign(), '', '', CreateDEGLAccount.PayableInvoiceRounding(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), '', CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + CreateCustomerPostingGrp.Foreign(): + ValidateCustomerPostingGroup(Rec, CreateDEGLAccount.AccountReceivableForeign(), '', '', CreateDEGLAccount.PayableInvoiceRounding(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), CreateDEGLAccount.PayableInvoiceRounding(), '', CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + end; + end; + + local procedure ValidateCustomerPostingGroup(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/1. SetupData/CreateDEReminderLevel.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/1. SetupData/CreateDEReminderLevel.Codeunit.al new file mode 100644 index 0000000000..8eafa6fddc --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/1. SetupData/CreateDEReminderLevel.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11107 "Create DE Reminder Level" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + Rec.Validate("Additional Fee (LCY)", 7.8); + 2: + Rec.Validate("Additional Fee (LCY)", 15.6); + 3: + Rec.Validate("Additional Fee (LCY)", 23.2); + end; + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDECustomer.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDECustomer.Codeunit.al new file mode 100644 index 0000000000..5b3412e835 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDECustomer.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 11108 "Create DE Customer" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //TODO -Hard coded values pending to replace - Post Code,Vat Registration No + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsert', '', false, false)] + local procedure OnBeforeInsertCustomer(var Customer: Record Customer) + var + CreateLanguage: Codeunit "Create Language"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateCustomer: Codeunit "Create Customer"; + begin + case Customer."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateCustomer(Customer, CreateLanguage.DEU(), CreatePaymentTerms.PaymentTermsDAYS14(), '', '48436', '789456278', DomesticAdatumCorporationCityLbl); + CreateCustomer.DomesticTreyResearch(): + ValidateCustomer(Customer, CreateLanguage.DEU(), CreatePaymentTerms.PaymentTermsDAYS14(), '', '80997', '254687456', DomesticTreyResearchCityLbl); + CreateCustomer.ExportSchoolofArt(): + ValidateCustomer(Customer, CreateLanguage.ENU(), CreatePaymentTerms.PaymentTermsCM(), '', 'FL 37125', '733495789', ExportSchoolofArtCityLbl); + CreateCustomer.EUAlpineSkiHouse(): + ValidateCustomer(Customer, CreateLanguage.ENG(), CreatePaymentTerms.PaymentTermsDAYS14(), CreateCountryRegion.GB(), 'B68 5TT', '609458790', EUAlpineSkiHouseCityLbl); + CreateCustomer.DomesticRelecloud(): + ValidateCustomer(Customer, CreateLanguage.DEU(), CreatePaymentTerms.PaymentTermsDAYS14(), '', '20097', '582048936', DomesticRelecloudCityLbl); + end; + end; + + local procedure ValidateCustomer(var Customer: Record Customer; LanguageCode: Code[10]; PaymentTermCode: Code[10]; CountryRegionCode: Code[10]; PostCode: Code[20]; VatRegistraionNo: Text[20]; City: Text[30]) + begin + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Payment Terms Code", PaymentTermCode); + Customer.Validate("VAT Registration No.", VatRegistraionNo); + Customer.Validate("Post Code", PostCode); + Customer.Validate(City, City); + if CountryRegionCode <> '' then + Customer."Country/Region Code" := CountryRegionCode; + end; + + var + DomesticAdatumCorporationCityLbl: Label 'Dusseldorf', MaxLength = 30; + DomesticTreyResearchCityLbl: Label 'Munchen', MaxLength = 30; + ExportSchoolofArtCityLbl: Label 'Miami', MaxLength = 30; + EUAlpineSkiHouseCityLbl: Label 'Bromsgrove', MaxLength = 30; + DomesticRelecloudCityLbl: Label 'Hamburg', MaxLength = 30; + +} diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDESalesDimValue.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDESalesDimValue.Codeunit.al new file mode 100644 index 0000000000..d3c7ddedb8 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDESalesDimValue.Codeunit.al @@ -0,0 +1,59 @@ +codeunit 11101 "Create DE Sales Dim Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.ExportSchoolofArt()) then + case Rec."Dimension Code" of + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.EUAlpineSkiHouse()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthNonEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDEShipToAddress.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDEShipToAddress.Codeunit.al new file mode 100644 index 0000000000..55aad0e6d4 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/2. MasterData/CreateDEShipToAddress.Codeunit.al @@ -0,0 +1,60 @@ +codeunit 11111 "Create DE Ship-to Address" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + Cheltenham(), London(): + ValidateShiptoAddress(Rec, HamburgCityLbl, '20097'); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + Fleet(), TWYCross(): + ValidateShiptoAddress(Rec, HamburgCityLbl, '20097'); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + procedure Cheltenham(): Code[10] + begin + exit(CheltenhamTok); + end; + + procedure London(): Code[10] + begin + exit(LondonTok); + end; + + procedure Fleet(): Code[10] + begin + exit(FleetTok); + end; + + procedure TWYCross(): Code[10] + begin + exit(TWYCrossTok); + end; + + var + CheltenhamTok: Label 'CHELTENHAM', MaxLength = 10; + LondonTok: Label 'LONDON', MaxLength = 10; + FleetTok: Label 'FLEET', MaxLength = 10; + TWYCrossTok: Label 'TWYCROSS', MaxLength = 10; + HamburgCityLbl: Label 'Hamburg', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/3. TransactionData/CreateDESalesDocument.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/3. TransactionData/CreateDESalesDocument.Codeunit.al new file mode 100644 index 0000000000..65df4225fb --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoData/Sales/3. TransactionData/CreateDESalesDocument.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 11112 "Create DE Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + CreateCustomer: Codeunit "Create Customer"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + SalesHeader.SetFilter("Bill-to Customer No.", '%1|%2', CreateCustomer.DomesticAdatumCorporation(), CreateCustomer.EUAlpineSkiHouse()); + if SalesHeader.FindSet() then + repeat + SalesHeader.Validate("Payment Terms Code", CreatePaymentTerms.PaymentTermsDAYS14()); + SalesHeader.Modify(true); + until SalesHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/CommonModuleDE.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/CommonModuleDE.Codeunit.al similarity index 100% rename from Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/CommonModuleDE.Codeunit.al rename to Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/CommonModuleDE.Codeunit.al diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/ContosoDemoDataSetupDE.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoDemoDataSetupDE.Codeunit.al similarity index 100% rename from Apps/DE/ContosoCoffeeDemoDatasetDE/app/Codeunits/ContosoDemoDataSetupDE.Codeunit.al rename to Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoDemoDataSetupDE.Codeunit.al diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEDigitalAudit.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEDigitalAudit.Codeunit.al new file mode 100644 index 0000000000..6daf28dce6 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEDigitalAudit.Codeunit.al @@ -0,0 +1,162 @@ +codeunit 11123 "Contoso DE Digital Audit" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Data Export" = rim, + tabledata "Data Export Record Type" = rim, + tabledata "Data Export Record Definition" = rim, + tabledata "Data Export Record Field" = rim, + tabledata "Data Export Record Source" = rim, + tabledata "Data Export Table Relation" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertDataExport(Code: Code[10]; Description: Text[50]) + var + DataExport: Record "Data Export"; + Exists: Boolean; + begin + if DataExport.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DataExport.Validate(Code, Code); + DataExport.Validate(Description, Description); + + if Exists then + DataExport.Modify(true) + else + DataExport.Insert(true); + end; + + procedure InsertDataExportRecordType(Code: Code[10]; Description: Text[50]) + var + DataExportRecordType: Record "Data Export Record Type"; + Exists: Boolean; + begin + if DataExportRecordType.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DataExportRecordType.Validate(Code, Code); + DataExportRecordType.Validate(Description, Description); + + if Exists then + DataExportRecordType.Modify(true) + else + DataExportRecordType.Insert(true); + end; + + procedure InsertDataExportRecordDefinition(DataExportCode: Code[10]; DataExpRecTypeCode: Code[10]) + var + DataExportRecordDefinition: Record "Data Export Record Definition"; + Exists: Boolean; + begin + if DataExportRecordDefinition.Get(DataExportCode, DataExpRecTypeCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DataExportRecordDefinition.Validate("Data Export Code", DataExportCode); + DataExportRecordDefinition.Validate("Data Exp. Rec. Type Code", DataExpRecTypeCode); + + if Exists then + DataExportRecordDefinition.Modify(true) + else + DataExportRecordDefinition.Insert(true); + end; + + procedure InsertDataExportRecordSource(DataExportCode: Code[10]; DataExpRecTypeCode: Code[10]; LineNo: Integer; TableNo: Integer; Indentation: Integer; RelationToTableNo: Integer; RelationToLineNo: Integer; PeriodFieldNo: Integer; Filename: Text[250]) + var + DataExportRecordSource: Record "Data Export Record Source"; + Exists: Boolean; + begin + if DataExportRecordSource.Get(DataExportCode, DataExpRecTypeCode, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DataExportRecordSource.Validate("Data Export Code", DataExportCode); + DataExportRecordSource.Validate("Data Exp. Rec. Type Code", DataExpRecTypeCode); + DataExportRecordSource.Validate("Table No.", TableNo); + DataExportRecordSource.Indentation := Indentation; + DataExportRecordSource."Relation To Table No." := RelationToTableNo; + DataExportRecordSource."Relation To Line No." := RelationToLineNo; + DataExportRecordSource.Validate("Period Field No.", PeriodFieldNo); + DataExportRecordSource.Validate("Line No.", LineNo); + DataExportRecordSource.Validate("Export File Name", Filename); + + if Exists then + DataExportRecordSource.Modify(true) + else + DataExportRecordSource.Insert(true); + end; + + procedure InsertDataExportRecordField(DataExportCode: Code[10]; DataExpRecTypeCode: Code[10]; SourceLineNo: Integer; TableNo: Integer; FieldNo: Integer; LineNo: Integer; DateFilterHandling: Integer) + var + DataExportRecordField: Record "Data Export Record Field"; + Exists: Boolean; + begin + if DataExportRecordField.Get(DataExportCode, DataExpRecTypeCode, SourceLineNo, TableNo, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DataExportRecordField.Validate("Data Export Code", DataExportCode); + DataExportRecordField.Validate("Data Exp. Rec. Type Code", DataExpRecTypeCode); + DataExportRecordField.Validate("Source Line No.", SourceLineNo); + DataExportRecordField.Validate("Table No.", TableNo); + DataExportRecordField.Validate("Field No.", FieldNo); + DataExportRecordField.Validate("Line No.", LineNo); + if DateFilterHandling <> 0 then + DataExportRecordField.Validate("Date Filter Handling", DateFilterHandling); + + if Exists then + DataExportRecordField.Modify(true) + else + DataExportRecordField.Insert(true); + end; + + procedure InsertDataExportTableRelation(DataExportCode: Code[10]; DataExpRecTypeCode: Code[10]; FromTableNo: Integer; FromFieldNo: Integer; ToTableNo: Integer; ToFieldNo: Integer) + var + DataExportTableRelation: Record "Data Export Table Relation"; + Exists: Boolean; + begin + if DataExportTableRelation.Get(DataExportCode, DataExpRecTypeCode, FromTableNo, FromFieldNo, ToTableNo, ToFieldNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DataExportTableRelation.Validate("Data Export Code", DataExportCode); + DataExportTableRelation.Validate("Data Exp. Rec. Type Code", DataExpRecTypeCode); + DataExportTableRelation.Validate("From Table No.", FromTableNo); + DataExportTableRelation.Validate("From Field No.", FromFieldNo); + DataExportTableRelation.Validate("To Table No.", ToTableNo); + DataExportTableRelation.Validate("To Field No.", ToFieldNo); + + if Exists then + DataExportTableRelation.Modify(true) + else + DataExportTableRelation.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEGenLedgerSetup.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEGenLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..91238a440b --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEGenLedgerSetup.Codeunit.al @@ -0,0 +1,60 @@ +codeunit 11382 "Contoso DE Gen ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "General Ledger Setup" = rim; + + var + OverwriteData: Boolean; + Exists: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertGeneralLedgerSetupData(JobQueueCategoryCode: Code[10]; InvRoundingPrecisionLCY: Decimal; LocalContAddrFormat: Integer; BankAccountNos: Code[20]; AmountDecimalPlaces: Text[5]; UnitAmountDecimalPlaces: Text[5]; EMUCurrency: Boolean; LCYCode: Code[10]; AmountRoundingPrecision: Decimal; UnitAmountRoundingPrecision: Decimal; + GlobalDimension1Code: Code[20]; GlobalDimension2Code: Code[20]; FinRepforBalanceSheet: Code[10]; FinRepforIncomeStmt: Code[10]; FinRepforCashFlowStmt: Code[10]; FinRepforRetainedEarn: Code[10]; + LocalCurrencySymbol: Text[10]; LocalCurrencyDescription: Text[60]; EnableDataCheck: Boolean; AccReceivablesCategory: Integer; CurrencyCodeEUR: Code[10]) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + if GeneralLedgerSetup.Get() then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + GeneralLedgerSetup.Validate("Job Queue Category Code", JobQueueCategoryCode); + GeneralLedgerSetup.Validate("Inv. Rounding Precision (LCY)", InvRoundingPrecisionLCY); + GeneralLedgerSetup.Validate("Local Cont. Addr. Format", LocalContAddrFormat); + GeneralLedgerSetup.Validate("Bank Account Nos.", BankAccountNos); + GeneralLedgerSetup.Validate("Amount Decimal Places", AmountDecimalPlaces); + GeneralLedgerSetup.Validate("Unit-Amount Decimal Places", UnitAmountDecimalPlaces); + GeneralLedgerSetup.Validate("EMU Currency", EMUCurrency); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Amount Rounding Precision", AmountRoundingPrecision); + GeneralLedgerSetup.Validate("Unit-Amount Rounding Precision", UnitAmountRoundingPrecision); + GeneralLedgerSetup.Validate("Fin. Rep. for Balance Sheet", FinRepforBalanceSheet); + GeneralLedgerSetup.Validate("Fin. Rep. for Income Stmt.", FinRepforIncomeStmt); + GeneralLedgerSetup.Validate("Fin. Rep. for Cash Flow Stmt", FinRepforCashFlowStmt); + GeneralLedgerSetup.Validate("Fin. Rep. for Retained Earn.", FinRepforRetainedEarn); + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbol); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrencyDescription); + GeneralLedgerSetup.Validate("Enable Data Check", EnableDataCheck); + GeneralLedgerSetup.Validate("Acc. Receivables Category", AccReceivablesCategory); + GeneralLedgerSetup.Validate("Currency Code For EURO", CurrencyCodeEUR); + + if Exists then + GeneralLedgerSetup.Modify(true) + else + GeneralLedgerSetup.Insert(true); + + GeneralLedgerSetup.Validate("Global Dimension 1 Code", GlobalDimension1Code); + GeneralLedgerSetup.Validate("Global Dimension 2 Code", GlobalDimension2Code); + GeneralLedgerSetup.Validate("Shortcut Dimension 1 Code", GlobalDimension1Code); + GeneralLedgerSetup.Validate("Shortcut Dimension 2 Code", GlobalDimension2Code); + GeneralLedgerSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEPostCode.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEPostCode.Codeunit.al new file mode 100644 index 0000000000..0bcba2d63f --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoDEPostCode.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 11087 "Contoso DE Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]; County: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Code := Code; + PostCode.City := City; + PostCode."Search City" := City; + PostCode."Country/Region Code" := CountryRegionCode; + PostCode.County := County; + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoReceiverDispatcherDE.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoReceiverDispatcherDE.Codeunit.al new file mode 100644 index 0000000000..b360a14520 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/ContosoHelper/ContosoReceiverDispatcherDE.Codeunit.al @@ -0,0 +1,83 @@ +codeunit 11117 "Contoso Receiver/Dispatcher DE" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Place of Receiver" = rim, + tabledata "Place of Dispatcher" = rim, + tabledata "Area" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPlaceOfReceiverData(ReceiverCode: Code[10]; ReceiverPlace: Text[250]) + var + PlaceofReceiver: Record "Place of Receiver"; + Exists: Boolean; + begin + if PlaceofReceiver.Get(ReceiverCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PlaceofReceiver.Init(); + PlaceofReceiver.Validate(Code, ReceiverCode); + PlaceofReceiver.Validate(Text, ReceiverPlace); + + if Exists then + PlaceofReceiver.Modify(true) + else + PlaceofReceiver.Insert(true); + end; + + procedure InsertPlaceOfDispatcherData(DispatcherCode: Code[10]; DispatcherPlace: Text[250]) + var + PlaceofDispatcher: Record "Place of Dispatcher"; + Exists: Boolean; + begin + if PlaceofDispatcher.Get(DispatcherCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PlaceofDispatcher.Init(); + PlaceofDispatcher.Validate(Code, DispatcherCode); + PlaceofDispatcher.Validate(Text, DispatcherPlace); + + if Exists then + PlaceofDispatcher.Modify(true) + else + PlaceofDispatcher.Insert(true); + end; + + procedure InsertAreaData(AreaCode: Code[10]; AreaPlace: Text[250]) + var + AreaData: Record "Area"; + Exists: Boolean; + begin + if AreaData.Get(AreaCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AreaData.Init(); + AreaData.Validate(Code, AreaCode); + AreaData.Validate(Text, AreaPlace); + + if Exists then + AreaData.Modify(true) + else + AreaData.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/DEContosoLocalization.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/DEContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..f6354e9def --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/DEContosoLocalization.Codeunit.al @@ -0,0 +1,236 @@ +codeunit 11113 "DE Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationVATPostingSetup(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResourceModule(ContosoDemoDataLevel); + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create DE Employee"); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create DE Area"); + Codeunit.Run(Codeunit::"Create DE No. Series"); + Codeunit.Run(Codeunit::"Create DE Post Code"); + Codeunit.Run(Codeunit::"Create DE Receiver/Dispatcher"); + Codeunit.Run(Codeunit::"Create DE Company Information"); + end; + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create DE Purch. Payable Setup"); + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create DE Inv. Posting Setup"); + Codeunit.Run(Codeunit::"Create DE Item Template"); + end; + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create DE Sales Document"); + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create DE General Ledger Setup"); + Codeunit.Run(Codeunit::"Create DE GL Acc."); + Codeunit.Run(Codeunit::"Create DE Posting Groups"); + Codeunit.Run(Codeunit::"Create DE VAT Posting Groups"); + Codeunit.Run(Codeunit::"Create DE Currency"); + Codeunit.Run(Codeunit::"Create DE General Ledger Setup"); + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create DE Currency Ex. Rate"); + Codeunit.Run(Codeunit::"Create DE VAT Statement"); + Codeunit.Run(Codeunit::"Create DE Data Export"); + Codeunit.Run(Codeunit::"Create DE Data Exp. Rec. Type"); + Codeunit.Run(Codeunit::"Create DE Data Export Record"); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateDEAccScheduleLine: Codeunit "Create DE Acc. Schedule Line"; + CreateDEAnalysisView: Codeunit "Create DE Analysis View"; + CreateDECurrencyExRate: Codeunit "Create DE Currency Ex. Rate"; + CreateDEVatPostingGroup: Codeunit "Create DE VAT Posting Groups"; + CreateDEPurchDimValue: Codeunit "Create DE Purch. Dim. Value"; + CreateDESalesDimValue: Codeunit "Create DE Sales Dim Value"; + CreateDEBankAccPostingGrp: Codeunit "Create Bank Acc. Post. Grp DE"; + CreateDEBankAccount: Codeunit "Create DE Bank Account"; + CreateDEFADepreciation: Codeunit "Create DE FA Depreciation Book"; + CreateDEFAPostingGrp: Codeunit "Create DE FA Posting Grp."; + CreateDEInvPostingSetup: Codeunit "Create DE Inv. Posting Setup"; + CreateDEItem: Codeunit "Create DE Item"; + CreateDEItemCharge: Codeunit "Create DE Item Charge"; + CreateDELocation: Codeunit "Create DE Location"; + CreateDEResource: Codeunit "Create DE Resource"; + CreatDeVendorPostingGrp: Codeunit "Create DE Vendor Posting Grp"; + CreateDEVendor: Codeunit "Create DE Vendor"; + CreateDECustPostingGrp: Codeunit "Create DE Cust. Posting Grp"; + CreateDEReminderLevel: Codeunit "Create DE Reminder Level"; + CreateDECustomer: Codeunit "Create DE Customer"; + CreateDEShipToAddress: Codeunit "Create DE Ship-to Address"; + CreatePaymentTermDE: Codeunit "Create Payment Terms DE"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + BindSubscription(CreatePaymentTermDE); + + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateDEAccScheduleLine); + BindSubscription(CreateDEAnalysisView); + BindSubscription(CreateDECurrencyExRate); + BindSubscription(CreateDEVatPostingGroup); + BindSubscription(CreateDEResource); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateDEBankAccPostingGrp); + BindSubscription(CreateDEBankAccount); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + BindSubscription(CreateDEFADepreciation); + BindSubscription(CreateDEFAPostingGrp); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateDEInvPostingSetup); + BindSubscription(CreateDEItem); + BindSubscription(CreateDEItemCharge); + BindSubscription(CreateDELocation); + end; + + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreatDeVendorPostingGrp); + BindSubscription(CreateDEVendor); + BindSubscription(CreateDEPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateDECustPostingGrp); + BindSubscription(CreateDEReminderLevel); + BindSubscription(CreateDECustomer); + BindSubscription(CreateDEShipToAddress); + BindSubscription(CreateDESalesDimValue); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateDEAccScheduleLine: Codeunit "Create DE Acc. Schedule Line"; + CreateDEAnalysisView: Codeunit "Create DE Analysis View"; + CreateDEVatPostingGroup: Codeunit "Create DE VAT Posting Groups"; + CreateDECurrencyExRate: Codeunit "Create DE Currency Ex. Rate"; + CreateDEPurchDimValue: Codeunit "Create DE Purch. Dim. Value"; + CreateDESalesDimValue: Codeunit "Create DE Sales Dim Value"; + CreateDEBankAccPostingGrp: Codeunit "Create Bank Acc. Post. Grp DE"; + CreateDEBankAccount: Codeunit "Create DE Bank Account"; + CreateDEFADepreciation: Codeunit "Create DE FA Depreciation Book"; + CreateDEFAPostingGrp: Codeunit "Create DE FA Posting Grp."; + CreateDEInvPostingSetup: Codeunit "Create DE Inv. Posting Setup"; + CreateDEItem: Codeunit "Create DE Item"; + CreateDEItemCharge: Codeunit "Create DE Item Charge"; + CreateDELocation: Codeunit "Create DE Location"; + CreateDEResource: Codeunit "Create DE Resource"; + CreatDeVendorPostingGrp: Codeunit "Create DE Vendor Posting Grp"; + CreateDEVendor: Codeunit "Create DE Vendor"; + CreateDECustPostingGrp: Codeunit "Create DE Cust. Posting Grp"; + CreateDEReminderLevel: Codeunit "Create DE Reminder Level"; + CreateDECustomer: Codeunit "Create DE Customer"; + CreateDEShipToAddress: Codeunit "Create DE Ship-to Address"; + CreatePaymentTermDE: Codeunit "Create Payment Terms DE"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + UnbindSubscription(CreatePaymentTermDE); + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateDEAccScheduleLine); + UnbindSubscription(CreateDEAnalysisView); + UnbindSubscription(CreateDECurrencyExRate); + UnbindSubscription(CreateDEVatPostingGroup); + UnbindSubscription(CreateDEResource); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateDEBankAccPostingGrp); + UnbindSubscription(CreateDEBankAccount); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + UnbindSubscription(CreateDEFADepreciation); + UnbindSubscription(CreateDEFAPostingGrp); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateDEInvPostingSetup); + UnbindSubscription(CreateDEItem); + UnbindSubscription(CreateDEItemCharge); + UnbindSubscription(CreateDELocation); + end; + + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreatDeVendorPostingGrp); + UnbindSubscription(CreateDEVendor); + UnbindSubscription(CreateDEPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateDECustPostingGrp); + UnbindSubscription(CreateDEReminderLevel); + UnbindSubscription(CreateDECustomer); + UnbindSubscription(CreateDEShipToAddress); + UnbindSubscription(CreateDESalesDimValue); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/WarehouseModuleSetupDE.Codeunit.al b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/WarehouseModuleSetupDE.Codeunit.al new file mode 100644 index 0000000000..e5f57bf2b0 --- /dev/null +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/DemoTool/WarehouseModuleSetupDE.Codeunit.al @@ -0,0 +1,12 @@ +codeunit 11083 "Warehouse Module Setup DE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // [EventSubscriber(ObjectType::Table, Database::"Warehouse Module Setup", 'OnBeforeInsertEvent', '', false, false)] + // local procedure LocalDemoDataSetup(var Rec: Record "Warehouse Module Setup") + // begin + // Vendor 10000 in DE from Evaluation is not domestic + // Rec."Vendor No." := '20000'; + // end; +} diff --git a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/app.json b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/app.json index c4cf19befd..d050c8c186 100644 --- a/Apps/DE/ContosoCoffeeDemoDatasetDE/app/app.json +++ b/Apps/DE/ContosoCoffeeDemoDatasetDE/app/app.json @@ -19,13 +19,16 @@ "version": "26.0.0.0" } ], + "features": [ + "TranslationFile" + ], "screenshots": [], "platform": "26.0.0.0", "application": "26.0.0.0", "idRanges": [ { "from": 11080, - "to": 11085 + "to": 11385 } ], "resourceExposurePolicy": { diff --git a/Apps/DE/Elster/app/src/Tables/SalesVATAdvanceNotif.Table.al b/Apps/DE/Elster/app/src/Tables/SalesVATAdvanceNotif.Table.al index f598ab0743..6c477cfc72 100644 --- a/Apps/DE/Elster/app/src/Tables/SalesVATAdvanceNotif.Table.al +++ b/Apps/DE/Elster/app/src/Tables/SalesVATAdvanceNotif.Table.al @@ -427,6 +427,7 @@ table 11021 "Sales VAT Advance Notif." procedure CheckVATNo(var PosTaxoffice: Integer; var NumberTaxOffice: Integer; var PosArea: Integer; var NumberArea: Integer; var PosDistinction: Integer; var NumberDistinction: Integer) VATNo: Text[30] var CompanyInfo: Record "Company Information"; + ShouldSkipWrongPlaceError: Boolean; begin CompanyInfo.Get(); CompanyInfo.TestField("Tax Office Area"); @@ -465,7 +466,9 @@ table 11021 "Sales VAT Advance Notif." end; end; - if StrLen(VATNo) <> NumberTaxOffice + NumberArea + NumberDistinction + 1 then + ShouldSkipWrongPlaceError := not (StrLen(VATNo) <> NumberTaxOffice + NumberArea + NumberDistinction + 1); + OnCheckVATNoOnBeforeShowWrongPlaceError(CompanyInfo, VATNo, NumberTaxOffice, NumberArea, NumberDistinction, ShouldSkipWrongPlaceError); + if not ShouldSkipWrongPlaceError then Error( WrongPlaceErr, CompanyInfo.FieldCaption("Registration No."), @@ -611,6 +614,27 @@ table 11021 "Sales VAT Advance Notif." VATEntry.CalcSums("Unrealized Base", "Add.-Currency Unrealized Base"); Amount := ConditionalAdd(0, VATEntry."Unrealized Base", VATEntry."Add.-Currency Unrealized Base"); end; + VATStmtLine2."Amount Type"::"Full Amount": + begin + VATEntry.CalcSums(Amount, "Additional-Currency Amount", "Non-Deductible VAT Amount", "Non-Deductible VAT Amount ACY"); + Amount := + ConditionalAdd(0, VATEntry.Amount + VATEntry."Non-Deductible VAT Amount", VATEntry."Additional-Currency Amount" + VATEntry."Non-Deductible VAT Amount ACY"); + end; + VATStmtLine2."Amount Type"::"Full Base": + begin + VATEntry.CalcSums(Base, "Additional-Currency Base", "Non-Deductible VAT Base", "Non-Deductible VAT Base ACY"); + Amount := ConditionalAdd(0, VATEntry.Base + VATEntry."Non-Deductible VAT Base", VATEntry."Additional-Currency Base" + VATEntry."Non-Deductible VAT Base ACY"); + end; + VATStmtLine2."Amount Type"::"Non-Deductible Amount": + begin + VATEntry.CalcSums("Non-Deductible VAT Amount", VATEntry."Non-Deductible VAT Amount ACY"); + Amount := ConditionalAdd(0, VATEntry."Non-Deductible VAT Amount", VATEntry."Non-Deductible VAT Amount ACY"); + end; + VATStmtLine2."Amount Type"::"Non-Deductible Base": + begin + VATEntry.CalcSums("Non-Deductible VAT Base", "Non-Deductible VAT Base ACY"); + Amount := ConditionalAdd(0, VATEntry."Non-Deductible VAT Base", VATEntry."Non-Deductible VAT Base ACY"); + end; else VATStmtLine2.TestField("Amount Type"); end; @@ -661,6 +685,14 @@ table 11021 "Sales VAT Advance Notif." TotalUnrealizedAmount := TotalUnrealizedAmount + Amount; VATStmtLine."Amount Type"::"Unrealized Base": TotalUnrealizedBase := TotalUnrealizedBase + Amount; + VATStmtLine."Amount Type"::"Full Amount": + TotalAmount := TotalAmount + Amount; + VATStmtLine."Amount Type"::"Full Base": + TotalBase := TotalBase + Amount; + VATStmtLine."Amount Type"::"Non-Deductible Amount": + TotalAmount := TotalAmount + Amount; + VATStmtLine."Amount Type"::"Non-Deductible Base": + TotalBase := TotalBase + Amount; end; end; @@ -697,5 +729,10 @@ table 11021 "Sales VAT Advance Notif." local procedure OnCalcLineTotalOnBeforeCalcTotalAmountVATEntryTotaling(VATStmtLine: Record "VAT Statement Line"; var VATEntry: Record "VAT Entry"; var Amount: Decimal) begin end; + + [IntegrationEvent(false, false)] + local procedure OnCheckVATNoOnBeforeShowWrongPlaceError(CompanyInfo: Record "Company Information"; var VATNo: Text[30]; var NumberTaxOffice: Integer; var NumberArea: Integer; var NumberDistinction: Integer; var ShouldSkipWrongPlaceError: Boolean) + begin + end; } diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/1.Setup Data/CreateBankAccPostingGrpDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/1.Setup Data/CreateBankAccPostingGrpDK.Codeunit.al new file mode 100644 index 0000000000..349d5bab32 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/1.Setup Data/CreateBankAccPostingGrpDK.Codeunit.al @@ -0,0 +1,51 @@ +codeunit 13711 "Create Bank Acc Posting Grp DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + begin + ContosoPostingGroup.InsertBankAccountPostingGroup(Kassekred(), CreateGLAccount.RevolvingCredit()); + ContosoPostingGroup.InsertBankAccountPostingGroup(Valuta(), CreateGLAccountDK.Bankaccountcurrencies()); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccPostingGroup(var Rec: Record "Bank Account Posting Group"; RunTrigger: Boolean) + var + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Checking(), + CreateBankAccPostingGrp.Savings(): + ValidateRecordFields(Rec, CreateGLAccountDK.Bank()); + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateGLAccountDK.Bankaccountcurrencies()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; + + procedure Kassekred(): Code[20] + begin + exit(KassekredTok); + end; + + procedure Valuta(): Code[20] + begin + exit(ValutaTok); + end; + + var + KassekredTok: Label 'KASSEKRED', Locked = true; + ValutaTok: Label 'VALUTA', Locked = true; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/1.Setup Data/CreatePaymentMethodDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/1.Setup Data/CreatePaymentMethodDK.Codeunit.al new file mode 100644 index 0000000000..452c49ca55 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/1.Setup Data/CreatePaymentMethodDK.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 13709 "Create Payment Method DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Method", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertPaymentMethod(var Rec: Record "Payment Method"; RunTrigger: Boolean) + var + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + begin + case Rec.Code of + CreatePaymentMethod.Cash(): + ValidateRecordFields(Rec, CreateGLAccountDK.Checkout()); + end; + end; + + local procedure ValidateRecordFields(var PaymentMethod: Record "Payment Method"; BalAccountNo: Code[20]) + begin + PaymentMethod.Validate("Bal. Account No.", BalAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/2.Master Data/CreateBankAccountDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/2.Master Data/CreateBankAccountDK.Codeunit.al new file mode 100644 index 0000000000..a3b4147694 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/2.Master Data/CreateBankAccountDK.Codeunit.al @@ -0,0 +1,57 @@ +codeunit 13710 "Create Bank Account DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateSalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + ContosoBank: Codeunit "Contoso Bank"; + begin + ContosoBank.InsertBankAccount(NBL(), NBLBankAccountDescriptionLbl, NBLBankaccountAddressLbl, NBLBankAccountCityLbl, NBLBankAccountContactLbl, NBLBankAccountNoLbl, 0, CreateBankAccPostingGrp.Checking(), CreateSalespersonPurchaser.OtisFalls(), ContosoCoffeeDemoDataSetup."Country/Region Code", NBLLastStateMentNoLbl, '', NBLPostCodeLbl, '', NBLBankBranchNoLbl, ''); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, BankAccountCityLbl, -8000000, PostCodeLbl, BankBranchNoLbl); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; City: Text[30]; MinBalance: Decimal; PostCode: Code[20]; BankBranchNo: Text[20]) + begin + BankAccount.Validate(City, City); + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Bank Branch No.", BankBranchNo); + end; + + procedure NBL(): Code[20] + begin + exit(NBLTok); + end; + + var + NBLTok: Label 'NBL', Locked = true; + NBLBankAccountDescriptionLbl: Label 'New Bank of London', MaxLength = 100, Locked = true; + NBLBankaccountAddressLbl: Label '4 Baker Street', MaxLength = 100, Locked = true; + NBLBankAccountCityLbl: Label 'Glostrup', MaxLength = 30, Locked = true; + NBLBankAccountContactLbl: Label 'Holly Dickson', MaxLength = 100, Locked = true; + NBLBankAccountNoLbl: Label '078-66-345', MaxLength = 30, Locked = true; + NBLLastStateMentNoLbl: Label '4', MaxLength = 20, Locked = true; + NBLPostCodeLbl: Label '2600', MaxLength = 20, Locked = true; + NBLBankBranchNoLbl: Label '4366', MaxLength = 20, Locked = true; + BankAccountCityLbl: Label 'Copenhagen K', MaxLength = 30, Locked = true; + PostCodeLbl: Label '1152', MaxLength = 20, Locked = true; + BankBranchNoLbl: Label '9999', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/Historical Data/CreateBankAccRecoDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/Historical Data/CreateBankAccRecoDK.Codeunit.al new file mode 100644 index 0000000000..04aaf8bb6e --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Bank/Historical Data/CreateBankAccRecoDK.Codeunit.al @@ -0,0 +1,68 @@ +codeunit 13705 "Create Bank Acc. Reco. DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateBankAccReconciliation(); + end; + + local procedure UpdateBankAccReconciliation() + var + BankAccReconciliation: Record "Bank Acc. Reconciliation"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if not BankAccReconciliation.Get(Enum::"Bank Acc. Rec. Stmt. Type"::"Bank Reconciliation", CreateBankAccount.Checking(), '24') then + exit; + + BankAccReconciliation.Validate("Statement Ending Balance", 99085.35); + BankAccReconciliation.Modify(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Acc. Reconciliation Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Acc. Reconciliation Line"; RunTrigger: Boolean) + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if (Rec."Statement Type" = Rec."Statement Type"::"Bank Reconciliation") then begin + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = '24') then + case Rec."Statement Line No." of + 10000: + ValidateRecordFields(Rec, Rec.Description, 15243.9); + 20000: + ValidateRecordFields(Rec, Rec.Description, 22865.85); + 30000: + ValidateRecordFields(Rec, DepositToAccountLbl, 60975.60); + end; + end else + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = 'PREC000') then + case Rec."Statement Line No." of + 10000: + ValidateRecordFields(Rec, Rec.Description, -14507.5); + 20000: + ValidateRecordFields(Rec, Rec.Description, -8424); + 30000: + ValidateRecordFields(Rec, Rec.Description, -9258.75); + 40000: + ValidateRecordFields(Rec, Rec.Description, 5355); + 50000: + ValidateRecordFields(Rec, Rec.Description, 74239.99); + 60000: + ValidateRecordFields(Rec, Rec.Description, 15081); + end; + end; + + local procedure ValidateRecordFields(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Description: Text[100]; Amount: Decimal) + begin + BankAccReconciliationLine.Validate(Description, Description); + BankAccReconciliationLine.Validate("Transaction Text", Description); + BankAccReconciliationLine.Validate("Statement Amount", Amount); + BankAccReconciliationLine.Validate("Applied Amount", Amount); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18-01-24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupDK.Codeunit.al new file mode 100644 index 0000000000..944b7b1e7d --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupDK.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 13745 "Create Marketing Setup DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateMarketingSetup() + end; + + local procedure UpdateMarketingSetup() + var + MarketingSetup: Record "Marketing Setup"; + begin + MarketingSetup.Get(); + MarketingSetup.Validate("Default Country/Region Code", ''); + MarketingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineDK.Codeunit.al new file mode 100644 index 0000000000..898719a0c5 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineDK.Codeunit.al @@ -0,0 +1,142 @@ +codeunit 13738 "Create Acc. Schedule Line DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, '9999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalinventory(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivable() + '..' + CreateGLAccountDK.PrepaymentsReceivables() + '|' + CreateGLAccountDK.Depositstenancy(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + ValidateRecordFields(Rec, '10998', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalcashflowfunds(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 110000: + ValidateRecordFields(Rec, CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFields(Rec, CreateGLAccountDK.AccountsPayablePosting() + '..' + CreateGLAccountDK.PrepaymentsAccountsPayable(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 130000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalsalestax(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 140000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalpayrollliabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 150000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalaccruedcosts(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivable() + '|' + CreateGLAccount.OtherReceivables() + '|' + CreateGLAccountDK.SalestaxreceivableInputTax() + '..' + CreateGLAccountDK.Euacquisitiontax(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 30000: + ValidateRecordFields(Rec, CreateGLAccountDK.AccountsPayablePosting() + '|' + CreateGLAccountDK.PrepaymentsAccountsPayable() + '|' + CreateGLAccountDK.SalestaxpayableSalesTax(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 40000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalinventory(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivable() + '|' + CreateGLAccount.OtherReceivables() + '|' + CreateGLAccountDK.SalestaxreceivableInputTax() + '..' + CreateGLAccountDK.Euacquisitiontax(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 20000: + ValidateRecordFields(Rec, CreateGLAccountDK.AccountsPayablePosting() + '|' + CreateGLAccountDK.PrepaymentsAccountsPayable() + '|' + CreateGLAccountDK.SalestaxpayableSalesTax(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 30000: + ValidateRecordFields(Rec, CreateGLAccountDK.Checkout() + '..' + '18300', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalcostofgoodssold() + '|' + CreateGLAccountDK.Totalprojectcosts(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, CreateGLAccountDK.Marketingcosts() + '|' + CreateGLAccountDK.Totalvehicleoperations() + '|' + '03597' + '|' + CreateGLAccountDK.Machinestotal() + '|' + CreateGLAccountDK.Totalcostofofficeworkshopspace() + '|' + CreateGLAccountDK.Totaladministrativecosts(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalpersonnelcosts(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totaldepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 70000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalfinancialexpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalcostofgoodssold() + '|' + CreateGLAccountDK.Totalprojectcosts(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalpersonnelcosts() + '|' + CreateGLAccountDK.Totaldepreciation() + '|' + CreateGLAccountDK.Marketingcosts() + '|' + CreateGLAccountDK.Totalvehicleoperations() + '|' + '03597' + '|' + CreateGLAccountDK.Machinestotal() + '|' + CreateGLAccountDK.Totalcostofofficeworkshopspace() + '|' + CreateGLAccountDK.Totaladministrativecosts(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 80000: + ValidateRecordFields(Rec, CreateGLAccountDK.Totalfinancialexpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 90000: + ValidateRecordFields(Rec, '07799', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFieldsRevenue(Rec, '11', CreateGLAccountDK.Domesticsalesofgoodsandservices(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 50000: + ValidateRecordFieldsRevenue(Rec, '12', CreateGLAccountDK.Eusalesofgoodsandservices(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + ValidateRecordFieldsRevenue(Rec, '13', CreateGLAccountDK.Salesofgoodsandservicestoothercountries(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 70000: + begin + Rec.Validate(Description, SalesAdjmtRetailLbl); + ValidateRecordFieldsRevenue(Rec, '14', CreateGLAccountDK.Chargeexsalestax() + '|' + CreateGLAccountDK.Chargeinclsalestax() + '|' + CreateGLAccountDK.Discountsgranted(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + 80000: + ValidateRecordFieldsRevenue(Rec, '16', '11..14', Enum::"Acc. Schedule Line Totaling Type"::Formula); + 100000: + begin + Rec.Validate(Description, RevenueAreaTotalLbl); + Rec.Validate("Dimension 1 Filter", '10..55'); + ValidateRecordFieldsRevenue(Rec, '21', CreateGLAccountDK.Domesticsalesofgoodsandservices() + '|' + CreateGLAccountDK.Eusalesofgoodsandservices() + '|' + CreateGLAccountDK.Salesofgoodsandservicestoothercountries() + '|' + CreateGLAccountDK.Chargeexsalestax() + '|' + CreateGLAccountDK.Chargeinclsalestax() + '|' + CreateGLAccountDK.Discountsgranted(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + 110000: + ValidateRecordFieldsRevenue(Rec, '22', CreateGLAccountDK.Domesticsalesofgoodsandservices() + '|' + CreateGLAccountDK.Eusalesofgoodsandservices() + '|' + CreateGLAccountDK.Salesofgoodsandservicestoothercountries() + '|' + CreateGLAccountDK.Chargeexsalestax() + '|' + CreateGLAccountDK.Chargeinclsalestax() + '|' + CreateGLAccountDK.Discountsgranted(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFieldsRevenue(Rec, '23', CreateGLAccountDK.Domesticsalesofgoodsandservices() + '|' + CreateGLAccountDK.Eusalesofgoodsandservices() + '|' + CreateGLAccountDK.Salesofgoodsandservicestoothercountries() + '|' + CreateGLAccountDK.Chargeexsalestax() + '|' + CreateGLAccountDK.Chargeinclsalestax() + '|' + CreateGLAccountDK.Discountsgranted(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 130000: + ValidateRecordFieldsRevenue(Rec, '34', '21..23', Enum::"Acc. Schedule Line Totaling Type"::Formula); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + local procedure ValidateRecordFieldsRevenue(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + var + SalesAdjmtRetailLbl: Label 'Sales Adjmt, Retail', MaxLength = 100; + RevenueAreaTotalLbl: Label 'Revenue Area 10..55, Total', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateAnalysisViewDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateAnalysisViewDK.Codeunit.al new file mode 100644 index 0000000000..fbcba61dc3 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateAnalysisViewDK.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 13715 "Create Analysis View DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Analysis View", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAnalysisView(var Rec: Record "Analysis View") + var + CreateAnalysisView: Codeunit "Create Analysis View"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateAnalysisView.SalesRevenue(): + ValidateRecordFields(Rec, CreateGLAccount.Revenue() + '..' + CreateGLAccount.TotalRevenue()); + end; + end; + + local procedure ValidateRecordFields(var AnalysisView: Record "Analysis View"; AccountFilter: Code[250]) + begin + AnalysisView.Validate("Account Filter", AccountFilter); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateCurrencyDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateCurrencyDK.Codeunit.al new file mode 100644 index 0000000000..da45d8508f --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateCurrencyDK.Codeunit.al @@ -0,0 +1,79 @@ +codeunit 13716 "Create Currency DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.GBP(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.RUB(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses()); + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; UnrealizedGainsAcc: Code[20]; RealizedGainsAcc: Code[20]; UnrealizedLossesAcc: Code[20]; RealizedLossesAcc: Code[20]) + var + CreateCurrency: Codeunit "Create Currency"; + begin + if Currency.Code = CreateCurrency.GBP() then + Currency."Unit-Amount Rounding Precision" := 0.00001; + + Currency.Validate("Unrealized Gains Acc.", UnrealizedGainsAcc); + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Unrealized Losses Acc.", UnrealizedLossesAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGLAccDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGLAccDK.Codeunit.al new file mode 100644 index 0000000000..45b118f572 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGLAccDK.Codeunit.al @@ -0,0 +1,3687 @@ +codeunit 13721 "Create GL Acc. DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + local procedure AddGLAccountforDK() + var + GLAccountCategory: Record "G/L Account Category"; + ContosoGLAccountDK: Codeunit "Contoso GL Account DK"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroupsDK: Codeunit "Create Posting Groups DK"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + SubCategory: Text[80]; + begin + SubCategory := Format(GLAccountCategoryMgt.GetCurrentAssets(), 80); + ContosoGLAccountDK.InsertGLAccount(Totalcurrentassets(), TotalcurrentassetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CurrentAssets() + '..' + Totalcurrentassets(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetCash(), 80); + ContosoGLAccountDK.InsertGLAccount(Cashflowfunds(), CashflowfundsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Checkout(), CheckoutName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Bank(), BankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Bankaccountcurrencies(), BankaccountcurrenciesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalcashflowfunds(), TotalcashflowfundsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Cashflowfunds() + '..' + Totalcashflowfunds(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.AccountsReceivable(), CreateGLAccount.AccountsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Deferred(), DeferredName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(PrepaymentsReceivables(), PrepaymentsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Deposits(), DepositsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetInventory(), 80); + ContosoGLAccountDK.InsertGLAccount(InventoryPosting(), InventoryPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Inventoryadjustment(), InventoryadjustmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Itemreceived(), ItemreceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Itemshipped(), ItemshippedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalinventory(), TotalinventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, InventoryBeginTotal() + '..' + Totalinventory(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Receivables(), ReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetFixedAssets(), 80); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.LandandBuildingsBeginTotal(), CreateGLAccount.LandandBuildingsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AcquisitioncostLandBuildings(), AcquisitioncostLandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AdditionFurniture(), AdditionFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(OutputLandBuildings(), OutputLandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccdepreciationLandBuildings(), AccdepreciationLandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CarsBeginTotal(), CarsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AcquisitioncostCars(), AcquisitioncostCarsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AdditionLandBuildings(), AdditionLandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(OutputCars(), OutputCarsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccdepreciationOperating(), AccdepreciationOperatingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(VansBeginTotalAssets(), VansBeginTotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AcquisitioncostVans(), AcquisitioncostVansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AdditionCars(), AdditionCarsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(OutputVans(), OutputVansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccdepreciationCars(), AccdepreciationCarsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.OperatingEquipmentBeginTotal(), CreateGLAccount.OperatingEquipmentBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AcquisitioncostOperatingEquipment(), AcquisitioncostOperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AdditionVans(), AdditionVansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(OutputOperatingEquipments(), OutputOperatingEquipmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccdepreciationVans(), AccdepreciationVansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(FurnitureequipmentBeginTotal(), FurnitureequipmentBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AcquisitioncostFurniture(), AcquisitioncostFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AdditionOperatingEquipment(), AdditionOperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(OutputFurniture(), OutputFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccdepreciationFurniture(), AccdepreciationFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaltangiblefixedassets(), TotaltangiblefixedassetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.TangibleFixedAssets() + '..' + Totaltangiblefixedassets(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetAccumDeprec(), 80); + ContosoGLAccountDK.InsertGLAccount(DepreciationfortheyearLandBuildings(), DepreciationfortheyearLandBuilingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totallandandbuildings(), TotallandandbuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LandandBuildingsBeginTotal() + '..' + Totallandandbuildings(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(DepreciationfortheyearCars(), DepreciationfortheyearCarsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Carstotal(), CarstotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CarsBeginTotal() + '..' + Carstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(DepreciationfortheyearVans(), DepreciationfortheyearVansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(VanstotalAssets(), VanstotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, VansBeginTotalAssets() + '..' + VanstotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(DepreciationfortheyearFurniture(), DepreciationfortheyearFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaloperatingequipment(), TotaloperatingequipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OperatingEquipmentBeginTotal() + '..' + Totaloperatingequipment(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(DepreciationfortheyearOperating(), DepreciationfortheyearOperatingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalfurnitureequipment(), TotalfurnitureequipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, FurnitureequipmentBeginTotal() + '..' + Totalfurnitureequipment(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccountDK.InsertGLAccount(Debttofinancialinstitution(), DebttofinancialinstitutionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.RevolvingCredit(), CreateGLAccount.RevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaldebttofinancialinstitution(), TotaldebttofinancialinstitutionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, Debttofinancialinstitution() + '..' + Totaldebttofinancialinstitution(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Salestaxandothertaxes(), SalestaxandothertaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(SalestaxpayableSalesTax(), SalestaxpayableSalesTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(SalestaxreceivableInputTax(), SalestaxreceivableInputTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Salestaxonoverseaspurchases(), SalestaxonoverseaspurchasesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Euacquisitiontax(), EuacquisitiontaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Oiltax(), OiltaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.ElectricityTax(), CreateGLAccount.ElectricityTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.CO2Tax(), CreateGLAccount.CO2TaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.NaturalGasTax(), CreateGLAccount.NaturalGasTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.WaterTax(), CreateGLAccount.WaterTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Salestaxsettlementaccount(), SalestaxsettlementaccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalsalestax(), TotalsalestaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, Salestaxandothertaxes() + '..' + Totalsalestax(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccountsPayableBeginTotal(), AccountsPayableBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccountsPayablePosting(), AccountsPayablePostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Accruedtax(), AccruedtaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Additionalcosts(), AdditionalcostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(PrepaymentsAccountsPayable(), PrepaymentsAccountsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalshorttermliabilities(), TotalshorttermliabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccountsPayableBeginTotal() + '..' + Totalshorttermliabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalaccountspayable(), TotalaccountspayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', CreatePostingGroup.RetailPostingGroup(), 0, CreateGLAccount.SHORTTERMLIABILITIES() + '..' + Totalaccountspayable(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(AccruedcostsBeginTotal(), AccruedcostsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Accruedcosts(), AccruedcostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Deferrals(), DeferralsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(PrepaymentsAccruedCosts(), PrepaymentsAccruedCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalaccruedcosts(), TotalaccruedcostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', CreatePostingGroup.RetailPostingGroup(), 0, AccruedcostsBeginTotal() + '..' + Totalaccruedcosts(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(PayrollliabilitiesBeginTotal(), PayrollliabilitiesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.TotalLiabilitiesAndEquity(), CreateGLAccount.TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LiabilitiesAndEquity() + '..' + CreateGLAccount.TotalLiabilitiesAndEquity(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.WithholdingTaxesPayable(), CreateGLAccount.WithholdingTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.PayrollTaxesPayable(), CreateGLAccount.PayrollTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Labormarketcontributionpayable(), LabormarketcontributionpayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Retirementplancontributionspayable(), RetirementplancontributionspayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Payrollliabilities(), PayrollliabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalpayrollliabilities(), TotalpayrollliabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, PayrollliabilitiesBeginTotal() + '..' + Totalpayrollliabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollLiabilities(), 80); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.VacationCompensationPayable(), CreateGLAccount.VacationCompensationPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetLongTermLiabilities(), 80); + ContosoGLAccountDK.InsertGLAccount(Mortgagedebt(), MortgagedebtName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Bankdebt(), BankdebtName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.ShorttermLiabilities(), CreateGLAccount.ShorttermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totallongtermliabilities(), TotallongtermliabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LONGTERMLIABILITIES() + '..' + Totallongtermliabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategory."Account Category"::Equity, 80); + ContosoGLAccountDK.InsertGLAccount(Openingequity(), OpeningequityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Paidbtaxeslabormarketcontribution(), PaidbtaxeslabormarketcontributionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Privatephoneusage(), PrivatephoneusageName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Withdrawalforpersonaluse(), WithdrawalforpersonaluseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalprivatewithdrawals(), TotalprivatewithdrawalsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, Privatewithdrawalsetc() + '..' + Totalprivatewithdrawals(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Equityatendofyear(), EquityatendofyearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, Equity() + '..' + Equityatendofyear(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.LongtermLiabilities(), CreateGLAccount.LongtermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetCommonStock(), 80); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Retainedearningsfortheyear(), RetainedearningsfortheyearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetRetEarnings(), 80); + ContosoGLAccountDK.InsertGLAccount(Privatewithdrawalsetc(), PrivatewithdrawalsetcName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccountDK.InsertGLAccount(Profitandlossstatement(), ProfitandlossstatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Domesticsalesofgoodsandservices(), DomesticsalesofgoodsandservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Eusalesofgoodsandservices(), EusalesofgoodsandservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Salesofgoodsandservicestoothercountries(), SalesofgoodsandservicestoothercountriesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(FreightIncome(), FreightIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.FreightPostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Onaccountinvoicing(), OnaccountinvoicingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Chargeexsalestax(), ChargeexsalestaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroupsDK.ServicePostingGroup(), 0, '', Enum::"General Posting Type"::"Sale", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Chargeinclsalestax(), ChargeinclsalestaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.Revenue(), CreateGLAccount.RevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.TotalRevenue(), CreateGLAccount.TotalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Revenue() + '..' + CreateGLAccount.TotalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Operatingincome(), OperatingincomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaloperatingincome(), TotaloperatingincomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::"End-Total", '', '', 0, Operatingincome() + '..' + Totaloperatingincome(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeSalesDiscounts(), 80); + ContosoGLAccountDK.InsertGLAccount(Discountsgranted(), DiscountsgrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeInterest(), 80); + ContosoGLAccountDK.InsertGLAccount(BankinterestFinancalExpesnse(), BankinterestFinancalExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Accountsreceivableinterest(), AccountsreceivableinterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Income", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategory."Account Category"::"Cost of Goods Sold", 80); + ContosoGLAccountDK.InsertGLAccount(CostofGoodSoldBeginTotal(), CostofGoodsSoldBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Costofgoodssold(), CostofgoodssoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Itempurchases(), ItempurchasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Miscconsumption(), MiscconsumptionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Foreignlabor(), ForeignlaborName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(FreightCostOfGoods(), FreightCostOfGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Profitlossinventory(), ProfitlossinventoryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Chargebeforesalestax(), ChargebeforesalestaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Chargeaftersalestax(), ChargeaftersalestaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Discountsreceived(), DiscountsreceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Purchasevariance(), PurchasevarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalcostofgoodssold(), TotalcostofgoodssoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofGoodSoldBeginTotal() + '..' + Totalcostofgoodssold(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSDiscountsGranted(), 80); + ContosoGLAccountDK.InsertGLAccount(Iteminventoryadjustment(), IteminventoryadjustmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetJobsCost(), 80); + ContosoGLAccountDK.InsertGLAccount(Projectcosts(), ProjectcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Travelfee(), TravelfeeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Materialcosts(), MaterialcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Projecthours(), ProjecthoursName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Adjustmentofwip(), AdjustmentofwipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalprojectcosts(), TotalprojectcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, Projectcosts() + '..' + Totalprojectcosts(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetRentExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(Rent(), RentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(MachineryRentalLeasingFee(), MachineryRentalLeasingFeeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetAdvertisingExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(Advertisementsandcommercials(), AdvertisementsandcommercialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetInterestExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(BankinterestFinancalItems(), BankinterestFinancalItemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Accountspayableinterest(), AccountspayableinterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Additionalinterestexpenses(), AdditionalinterestexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Disallowedinterestdeductions(), DisallowedinterestdeductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetInsuranceExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(InsuranceAutoMobile(), InsuranceAutoMobileName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(InsurancesVans(), InsurancesVansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(Personnelcosts(), PersonnelcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Salariesvacationcompensation(), SalariesvacationcompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Salariesproduction(), SalariesproductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Directorsfee(), DirectorsfeeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Anniversarygift(), AnniversarygiftName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Severancepay(), SeverancepayName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Pensioncompany(), PensioncompanyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Labormarketpensioncompany(), LabormarketpensioncompanyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Optionalpayaccountsavings(), OptionalpayaccountsavingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Employeeartclub(), EmployeeartclubName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Giftfund(), GiftfundName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Lunch(), LunchName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Damaternitypaternityleavepremium(), DamaternitypaternityleavepremiumName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Atpemployee(), AtpemployeeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Mileagerate(), MileagerateName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Refunds(), RefundsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Atpemployer(), AtpemployerName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Projecthoursspent(), ProjecthoursspentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Projecthoursallocatedtooperatingresult(), ProjecthoursallocatedtooperatingresultName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Consumptionforownproduction(), ConsumptionforownproductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Socialsecbenefitsalloctooperatingresult(), SocialsecbenefitsalloctooperatingresultName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Transferredssbstoproduction(), TransferredssbstoproductionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Trainingexpenses(), TrainingexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Otherpersonnelcosts(), OtherpersonnelcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalpersonnelcosts(), TotalpersonnelcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Personnelcosts() + '..' + Totalpersonnelcosts(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetRepairsExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(Decoration(), DecorationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.Cleaning(), CreateGLAccount.CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.RepairsandMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(Electricity(), ElectricityName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Water(), WaterName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Heating(), HeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Naturalgas(), NaturalgasName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetTaxExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(Taxes(), TaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetTravelExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(Travelingtradefairsetc(), TravelingtradefairsetcName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetVehicleExpenses(), 80); + ContosoGLAccountDK.InsertGLAccount(Automobileoperationscars(), AutomobileoperationscarsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(RentalLeasingFeeMachine(), RentalLeasingFeeMachineName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(GasVans(), GasVansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(GasconsumptiontaxVans(), GasconsumptiontaxVansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(RepmaintenanceVans(), RepmaintenanceVansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(FerryticketsbridgetollsAutoMobile(), FerryticketsbridgetollsAutoMobileName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalvehicleoperations(), TotalvehicleoperationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Automobileoperationscars() + '..' + Automobileoperationscars(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(RentalLeasingFeeAutoMobile(), RentalLeasingFeeAutoMobileName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(GasAutoMobile(), GasAutoMobileName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(GasconsumptiontaxAutoMobile(), GasconsumptiontaxAutoMobileName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(RepmaintenanceAutoMobile(), RepmaintenanceAutoMobileName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(FerryticketsbridgetollsVans(), FerryticketsbridgetollsVansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(VanstotalExpense(), VanstotalExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, VansBeginTotalExpense() + '..' + VanstotalExpense(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Machines(), MachinesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(RentalLeasingFeeVans(), RentalLeasingFeeVansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Machineoperatingcosts(), MachineoperatingcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Machrepairsandmaintenance(), MachrepairsandmaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Machineryinsurance(), MachineryinsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Machinestotal(), MachinestotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Machines() + '..' + Machinestotal(), Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(InsurancesAdminCost(), InsurancesAdminCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(InsuranceCostOfWorkSpace(), InsuranceCostOfWorkSpaceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(VansBeginTotalExpense(), VansBeginTotalExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.RealizedFXGains(), CreateGLAccount.RealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Accountspayablecharges(), AccountspayablechargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Centdiscrepancies(), CentdiscrepanciesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.UnrealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.RealizedFXLosses(), CreateGLAccount.RealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccountDK.InsertGLAccount(Marketingcosts(), MarketingcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Entwinetobaccospirits(), EntwinetobaccospiritsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Entgiftsandflowers(), EntgiftsandflowersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Restaurantdining(), RestaurantdiningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalmarketingcosts(), TotalmarketingcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Marketingcosts() + '..' + Totalmarketingcosts(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Marketingcontributions(), MarketingcontributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Costofofficeworkshopspace(), CostofofficeworkshopspaceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + + ContosoGLAccountDK.InsertGLAccount(Newacquisitions(), NewacquisitionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalcostofofficeworkshopspace(), TotalcostofofficeworkshopspaceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Costofofficeworkshopspace() + '..' + Totalcostofofficeworkshopspace(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Administrativecosts(), AdministrativecostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Phonescellphones(), PhonescellphonesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Internetwebsite(), InternetwebsiteName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Newspapersmagazines(), NewspapersmagazinesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Subscriptionsmembershipfees(), SubscriptionsmembershipfeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Officestationary(), OfficestationaryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Postagefees(), PostagefeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Minoracquisitions(), MinoracquisitionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Conferenceexpenses(), ConferenceexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Accountingcosts(), AccountingcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Auditingaccountingassistance(), AuditingaccountingassistanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Lawyer(), LawyerName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Legalaid(), LegalaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Repairsandmaintenancefurnitureequipment(), RepairsandmaintenancefurnitureequipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Itexpenses(), ItexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Salarycosts(), SalarycostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(FreightExpense(), FreightExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Charges(), ChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::"Purchase", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaladministrativecosts(), TotaladministrativecostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Administrativecosts() + '..' + Totaladministrativecosts(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalcosts(), TotalcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Resbeforedepreciation(), ResbeforedepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(DepreciationBeginTotal(), DepreciationBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.LandandBuildings(), CreateGLAccount.LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.OperatingEquipment(), CreateGLAccount.OperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Vans(), VansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Cars(), CarsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Furnitureequipment(), FurnitureequipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Goodwill(), GoodwillName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaldepreciation(), TotaldepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, DepreciationBeginTotal() + '..' + Totaldepreciation(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Financialexpenses(), FinancialexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalfinancialexpenses(), TotalfinancialexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Financialexpenses() + '..' + Totalfinancialexpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(TaxesBeginTotal(), TaxesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaltaxes(), TotaltaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, TaxesBeginTotal() + '..' + Totaltaxes(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(TaxesCostOfWorkSpace(), TaxesCostOfWorkSpaceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepanciesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.FixedAssets(), CreateGLAccount.FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(GoodwillBeginTotal(), GoodwillBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Openingbalance(), OpeningbalanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Depreciation(), DepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalgoodwill(), TotalgoodwillName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, GoodwillBeginTotal() + '..' + Totalgoodwill(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalintangiblefixedassets(), TotalintangiblefixedassetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.FixedAssets() + '..' + Totalintangiblefixedassets(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Financialfixedassets(), FinancialfixedassetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.Securities(), CreateGLAccount.SecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Commonstock(), CommonstockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.Bonds(), CreateGLAccount.BondsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalsecurities(), TotalsecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Securities() + '..' + Totalsecurities(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalfinancialfixedassets(), TotalfinancialfixedassetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Financialfixedassets() + '..' + Totalfinancialfixedassets(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.TangibleFixedAssets(), CreateGLAccount.TangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.CurrentAssets(), CreateGLAccount.CurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(InventoryBeginTotal(), InventoryBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Depositstenancy(), DepositstenancyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totaldeposits(), TotaldepositsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Deposits() + '..' + Totaldeposits(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(WorkinprocessBeginTotal(), WorkinprocessBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Workinprocess(), WorkinprocessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Invoicedonaccount(), InvoicedonaccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalworkinprocess(), TotalworkinprocessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, WorkinprocessBeginTotal() + '..' + Totalworkinprocess(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Totalreceivables(), TotalreceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Receivables() + '..' + Totalreceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.TotalAssets(), CreateGLAccount.TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Assets() + '..' + CreateGLAccount.TOTALASSETS(), Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.LiabilitiesAndEquity(), CreateGLAccount.LiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities, 80); + ContosoGLAccountDK.InsertGLAccount(Allnull(), AllnullName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false, 0, SubCategory); + + SubCategory := ''; + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.JobSales(), CreateGLAccount.JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 2, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 1, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 1, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.InvoicedJobSales(), CreateGLAccount.InvoicedJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 1, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.AccruedJobCosts(), CreateGLAccount.AccruedJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 1, SubCategory); + ContosoGLAccountDK.InsertGLAccount(CreateGLAccount.WIPJobCosts(), CreateGLAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 1, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Jobsalesapplied(), JobsalesappliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 1, SubCategory); + ContosoGLAccountDK.InsertGLAccount(Jobcostsapplied(), JobcostsappliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false, 2, SubCategory); + + ContosoGLAccount.InsertGLAccount(Equity(), EquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, '', Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, '', Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Resbeforefinancialitems(), ResbeforefinancialitemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Financialitems(), FinancialitemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Totalfinancialitems(), TotalfinancialitemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"End-Total", '', '', 0, Financialitems() + '..' + Totalfinancialitems(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Resultbeforetax(), ResultbeforetaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Periodearnings(), PeriodearningsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Balance(), BalanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforDK() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ModifyGLAccountForW1(); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), '01000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '01880'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), '01997'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '02980'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '03010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), '03020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), '05020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '05030'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), '05740'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), '06100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), '06200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), '07310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), '07330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), '07550'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), '07720'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), '07740'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '10100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '10200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '10850'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '10870'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), '11000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), '12000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), '13700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), '16000'); + ContosoGLAccount.AddAccountForLocalization(InventoryBeginTotalName(), '16100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '16300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '16400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '17100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), '17200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '17810'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), '17820'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), '17830'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), '17840'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALASSETSName(), '19999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), '20000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), '20300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LONGTERMLIABILITIESName(), '21000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SHORTTERMLIABILITIESName(), '22000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), '23100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), '24220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), '24230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), '24240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), '24250'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableBeginTotalName(), '25000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), '27100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), '27300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), '27600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), '29997'); + ContosoGLAccount.AddAccountForLocalization(ProfitandlossstatementName(), '00001'); + ContosoGLAccount.AddAccountForLocalization(DomesticsalesofgoodsandservicesName(), '01010'); + ContosoGLAccount.AddAccountForLocalization(EusalesofgoodsandservicesName(), '01020'); + ContosoGLAccount.AddAccountForLocalization(SalesofgoodsandservicestoothercountriesName(), '01030'); + ContosoGLAccount.AddAccountForLocalization(FreightIncomeName(), '01200'); + ContosoGLAccount.AddAccountForLocalization(OnaccountinvoicingName(), '01500'); + ContosoGLAccount.AddAccountForLocalization(ChargeexsalestaxName(), '01600'); + ContosoGLAccount.AddAccountForLocalization(ChargeinclsalestaxName(), '01610'); + ContosoGLAccount.AddAccountForLocalization(DiscountsgrantedName(), '01700'); + ContosoGLAccount.AddAccountForLocalization(JobsalesappliedName(), '01890'); + ContosoGLAccount.AddAccountForLocalization(CostofGoodsSoldBeginTotalName(), '02000'); + ContosoGLAccount.AddAccountForLocalization(CostofgoodssoldName(), '02010'); + ContosoGLAccount.AddAccountForLocalization(ItempurchasesName(), '02020'); + ContosoGLAccount.AddAccountForLocalization(MiscconsumptionName(), '02030'); + ContosoGLAccount.AddAccountForLocalization(ForeignlaborName(), '02100'); + ContosoGLAccount.AddAccountForLocalization(FreightCostOfGoodsName(), '02200'); + ContosoGLAccount.AddAccountForLocalization(ProfitlossinventoryName(), '02300'); + ContosoGLAccount.AddAccountForLocalization(ChargebeforesalestaxName(), '02600'); + ContosoGLAccount.AddAccountForLocalization(ChargeaftersalestaxName(), '02610'); + ContosoGLAccount.AddAccountForLocalization(DiscountsreceivedName(), '02700'); + ContosoGLAccount.AddAccountForLocalization(IteminventoryadjustmentName(), '02800'); + ContosoGLAccount.AddAccountForLocalization(PurchasevarianceName(), '02820'); + ContosoGLAccount.AddAccountForLocalization(TotalcostofgoodssoldName(), '02897'); + ContosoGLAccount.AddAccountForLocalization(ProjectcostsName(), '02900'); + ContosoGLAccount.AddAccountForLocalization(TravelfeeName(), '02910'); + ContosoGLAccount.AddAccountForLocalization(MaterialcostsName(), '02920'); + ContosoGLAccount.AddAccountForLocalization(ProjecthoursName(), '02930'); + ContosoGLAccount.AddAccountForLocalization(AdjustmentofwipName(), '02950'); + ContosoGLAccount.AddAccountForLocalization(JobcostsappliedName(), '02990'); + ContosoGLAccount.AddAccountForLocalization(TotalprojectcostsName(), '02997'); + ContosoGLAccount.AddAccountForLocalization(PersonnelcostsName(), '03000'); + ContosoGLAccount.AddAccountForLocalization(SalariesvacationcompensationName(), '03040'); + ContosoGLAccount.AddAccountForLocalization(SalariesproductionName(), '03050'); + ContosoGLAccount.AddAccountForLocalization(DirectorsfeeName(), '03060'); + ContosoGLAccount.AddAccountForLocalization(AnniversarygiftName(), '03070'); + ContosoGLAccount.AddAccountForLocalization(SeverancepayName(), '03080'); + ContosoGLAccount.AddAccountForLocalization(PensioncompanyName(), '03090'); + ContosoGLAccount.AddAccountForLocalization(LabormarketpensioncompanyName(), '03100'); + ContosoGLAccount.AddAccountForLocalization(OptionalpayaccountsavingsName(), '03120'); + ContosoGLAccount.AddAccountForLocalization(EmployeeartclubName(), '03130'); + ContosoGLAccount.AddAccountForLocalization(GiftfundName(), '03140'); + ContosoGLAccount.AddAccountForLocalization(LunchName(), '03150'); + ContosoGLAccount.AddAccountForLocalization(DamaternitypaternityleavepremiumName(), '03160'); + ContosoGLAccount.AddAccountForLocalization(AtpemployeeName(), '03170'); + ContosoGLAccount.AddAccountForLocalization(MileagerateName(), '03180'); + ContosoGLAccount.AddAccountForLocalization(RefundsName(), '03190'); + ContosoGLAccount.AddAccountForLocalization(AtpemployerName(), '03200'); + ContosoGLAccount.AddAccountForLocalization(ProjecthoursspentName(), '03210'); + ContosoGLAccount.AddAccountForLocalization(ProjecthoursallocatedtooperatingresultName(), '03220'); + ContosoGLAccount.AddAccountForLocalization(ConsumptionforownproductionName(), '03230'); + ContosoGLAccount.AddAccountForLocalization(SocialsecbenefitsalloctooperatingresultName(), '03240'); + ContosoGLAccount.AddAccountForLocalization(TransferredssbstoproductionName(), '03250'); + ContosoGLAccount.AddAccountForLocalization(TrainingexpensesName(), '03260'); + ContosoGLAccount.AddAccountForLocalization(OtherpersonnelcostsName(), '03270'); + ContosoGLAccount.AddAccountForLocalization(TotalpersonnelcostsName(), '03297'); + ContosoGLAccount.AddAccountForLocalization(MarketingcostsName(), '03600'); + ContosoGLAccount.AddAccountForLocalization(AdvertisementsandcommercialsName(), '03610'); + ContosoGLAccount.AddAccountForLocalization(EntwinetobaccospiritsName(), '03630'); + ContosoGLAccount.AddAccountForLocalization(EntgiftsandflowersName(), '03640'); + ContosoGLAccount.AddAccountForLocalization(TravelingtradefairsetcName(), '03650'); + ContosoGLAccount.AddAccountForLocalization(RestaurantdiningName(), '03660'); + ContosoGLAccount.AddAccountForLocalization(DecorationName(), '03670'); + ContosoGLAccount.AddAccountForLocalization(TotalmarketingcostsName(), '03997'); + ContosoGLAccount.AddAccountForLocalization(MarketingcontributionsName(), '03999'); + ContosoGLAccount.AddAccountForLocalization(AutomobileoperationscarsName(), '04000'); + ContosoGLAccount.AddAccountForLocalization(RentalLeasingFeeMachineName(), '04010'); + ContosoGLAccount.AddAccountForLocalization(GasVansName(), '04020'); + ContosoGLAccount.AddAccountForLocalization(InsuranceCostOfWorkSpaceName(), '04030'); + ContosoGLAccount.AddAccountForLocalization(GasconsumptiontaxVansName(), '04040'); + ContosoGLAccount.AddAccountForLocalization(RepmaintenanceVansName(), '04050'); + ContosoGLAccount.AddAccountForLocalization(FerryticketsbridgetollsAutoMobileName(), '04060'); + ContosoGLAccount.AddAccountForLocalization(TotalvehicleoperationsName(), '04097'); + ContosoGLAccount.AddAccountForLocalization(VansBeginTotalExpenseName(), '04200'); + ContosoGLAccount.AddAccountForLocalization(RentalLeasingFeeAutoMobileName(), '04210'); + ContosoGLAccount.AddAccountForLocalization(GasAutoMobileName(), '04220'); + ContosoGLAccount.AddAccountForLocalization(GasconsumptiontaxAutoMobileName(), '04230'); + ContosoGLAccount.AddAccountForLocalization(InsurancesAdminCostName(), '04240'); + ContosoGLAccount.AddAccountForLocalization(RepmaintenanceAutoMobileName(), '04250'); + ContosoGLAccount.AddAccountForLocalization(FerryticketsbridgetollsVansName(), '04260'); + ContosoGLAccount.AddAccountForLocalization(VanstotalExpenseName(), '04297'); + ContosoGLAccount.AddAccountForLocalization(MachinesName(), '04400'); + ContosoGLAccount.AddAccountForLocalization(RentalLeasingFeeVansName(), '04410'); + ContosoGLAccount.AddAccountForLocalization(MachineoperatingcostsName(), '04420'); + ContosoGLAccount.AddAccountForLocalization(MachrepairsandmaintenanceName(), '04430'); + ContosoGLAccount.AddAccountForLocalization(MachineryinsuranceName(), '04440'); + ContosoGLAccount.AddAccountForLocalization(MachinestotalName(), '04997'); + ContosoGLAccount.AddAccountForLocalization(CostofofficeworkshopspaceName(), '05000'); + ContosoGLAccount.AddAccountForLocalization(RentName(), '05010'); + ContosoGLAccount.AddAccountForLocalization(InsuranceAutoMobileName(), '05040'); + ContosoGLAccount.AddAccountForLocalization(ElectricityName(), '05110'); + ContosoGLAccount.AddAccountForLocalization(WaterName(), '05120'); + ContosoGLAccount.AddAccountForLocalization(HeatingName(), '05130'); + ContosoGLAccount.AddAccountForLocalization(NaturalgasName(), '05140'); + ContosoGLAccount.AddAccountForLocalization(TaxesCostOfWorkSpaceName(), '05150'); + ContosoGLAccount.AddAccountForLocalization(NewacquisitionsName(), '05200'); + ContosoGLAccount.AddAccountForLocalization(TotalcostofofficeworkshopspaceName(), '05297'); + ContosoGLAccount.AddAccountForLocalization(AdministrativecostsName(), '05600'); + ContosoGLAccount.AddAccountForLocalization(PhonescellphonesName(), '05610'); + ContosoGLAccount.AddAccountForLocalization(InternetwebsiteName(), '05620'); + ContosoGLAccount.AddAccountForLocalization(NewspapersmagazinesName(), '05630'); + ContosoGLAccount.AddAccountForLocalization(SubscriptionsmembershipfeesName(), '05640'); + ContosoGLAccount.AddAccountForLocalization(OfficestationaryName(), '05650'); + ContosoGLAccount.AddAccountForLocalization(PostagefeesName(), '05660'); + ContosoGLAccount.AddAccountForLocalization(InsurancesVansName(), '05670'); + ContosoGLAccount.AddAccountForLocalization(MinoracquisitionsName(), '05680'); + ContosoGLAccount.AddAccountForLocalization(ConferenceexpensesName(), '05690'); + ContosoGLAccount.AddAccountForLocalization(AccountingcostsName(), '05720'); + ContosoGLAccount.AddAccountForLocalization(AuditingaccountingassistanceName(), '05730'); + ContosoGLAccount.AddAccountForLocalization(LawyerName(), '05750'); + ContosoGLAccount.AddAccountForLocalization(LegalaidName(), '05760'); + ContosoGLAccount.AddAccountForLocalization(RepairsandmaintenancefurnitureequipmentName(), '05800'); + ContosoGLAccount.AddAccountForLocalization(ItexpensesName(), '05810'); + ContosoGLAccount.AddAccountForLocalization(SalarycostsName(), '05820'); + ContosoGLAccount.AddAccountForLocalization(FreightExpenseName(), '05830'); + ContosoGLAccount.AddAccountForLocalization(ChargesName(), '05840'); + ContosoGLAccount.AddAccountForLocalization(MachineryRentalLeasingFeeName(), '05850'); + ContosoGLAccount.AddAccountForLocalization(TotaladministrativecostsName(), '05997'); + ContosoGLAccount.AddAccountForLocalization(TotalcostsName(), '05998'); + ContosoGLAccount.AddAccountForLocalization(ResbeforedepreciationName(), '05999'); + ContosoGLAccount.AddAccountForLocalization(DepreciationBeginTotalName(), '06000'); + ContosoGLAccount.AddAccountForLocalization(VansName(), '06300'); + ContosoGLAccount.AddAccountForLocalization(CarsName(), '06400'); + ContosoGLAccount.AddAccountForLocalization(FurnitureequipmentName(), '06500'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '06900'); + ContosoGLAccount.AddAccountForLocalization(TotaldepreciationName(), '06997'); + ContosoGLAccount.AddAccountForLocalization(ResbeforefinancialitemsName(), '06999'); + ContosoGLAccount.AddAccountForLocalization(FinancialitemsName(), '07000'); + ContosoGLAccount.AddAccountForLocalization(OperatingincomeName(), '07100'); + ContosoGLAccount.AddAccountForLocalization(BankinterestFinancalExpenseName(), '07110'); + ContosoGLAccount.AddAccountForLocalization(AccountsreceivableinterestName(), '07120'); + ContosoGLAccount.AddAccountForLocalization(TotaloperatingincomeName(), '07497'); + ContosoGLAccount.AddAccountForLocalization(FinancialexpensesName(), '07500'); + ContosoGLAccount.AddAccountForLocalization(BankinterestFinancalItemsName(), '07510'); + ContosoGLAccount.AddAccountForLocalization(AccountspayableinterestName(), '07520'); + ContosoGLAccount.AddAccountForLocalization(AccountspayablechargesName(), '07530'); + ContosoGLAccount.AddAccountForLocalization(AdditionalinterestexpensesName(), '07540'); + ContosoGLAccount.AddAccountForLocalization(CentdiscrepanciesName(), '07570'); + ContosoGLAccount.AddAccountForLocalization(DisallowedinterestdeductionsName(), '07580'); + ContosoGLAccount.AddAccountForLocalization(TotalfinancialexpensesName(), '07997'); + ContosoGLAccount.AddAccountForLocalization(TotalfinancialitemsName(), '07998'); + ContosoGLAccount.AddAccountForLocalization(ResultbeforetaxName(), '07999'); + ContosoGLAccount.AddAccountForLocalization(TaxesBeginTotalName(), '09000'); + ContosoGLAccount.AddAccountForLocalization(TaxesName(), '09100'); + ContosoGLAccount.AddAccountForLocalization(TotaltaxesName(), '09997'); + ContosoGLAccount.AddAccountForLocalization(PeriodearningsName(), '09999'); + ContosoGLAccount.AddAccountForLocalization(BalanceName(), '10000'); + ContosoGLAccount.AddAccountForLocalization(GoodwillBeginTotalName(), '10500'); + ContosoGLAccount.AddAccountForLocalization(OpeningbalanceName(), '10510'); + ContosoGLAccount.AddAccountForLocalization(DepreciationName(), '10520'); + ContosoGLAccount.AddAccountForLocalization(TotalgoodwillName(), '10597'); + ContosoGLAccount.AddAccountForLocalization(TotalintangiblefixedassetsName(), '10699'); + ContosoGLAccount.AddAccountForLocalization(FinancialfixedassetsName(), '10800'); + ContosoGLAccount.AddAccountForLocalization(CommonstockName(), '10860'); + ContosoGLAccount.AddAccountForLocalization(TotalsecuritiesName(), '10998'); + ContosoGLAccount.AddAccountForLocalization(TotalfinancialfixedassetsName(), '10999'); + ContosoGLAccount.AddAccountForLocalization(AcquisitioncostLandBuildingsName(), '12100'); + ContosoGLAccount.AddAccountForLocalization(AdditionFurnitureName(), '12200'); + ContosoGLAccount.AddAccountForLocalization(OutputLandBuildingsName(), '12300'); + ContosoGLAccount.AddAccountForLocalization(AccdepreciationLandBuildingsName(), '12400'); + ContosoGLAccount.AddAccountForLocalization(DepreciationfortheyearLandBuilingsName(), '12500'); + ContosoGLAccount.AddAccountForLocalization(TotallandandbuildingsName(), '12997'); + ContosoGLAccount.AddAccountForLocalization(CarsBeginTotalName(), '13000'); + ContosoGLAccount.AddAccountForLocalization(AcquisitioncostCarsName(), '13010'); + ContosoGLAccount.AddAccountForLocalization(AdditionLandBuildingsName(), '13020'); + ContosoGLAccount.AddAccountForLocalization(OutputCarsName(), '13030'); + ContosoGLAccount.AddAccountForLocalization(AccdepreciationOperatingName(), '13050'); + ContosoGLAccount.AddAccountForLocalization(DepreciationfortheyearCarsName(), '13060'); + ContosoGLAccount.AddAccountForLocalization(CarstotalName(), '13297'); + ContosoGLAccount.AddAccountForLocalization(VansBeginTotalAssetsName(), '13400'); + ContosoGLAccount.AddAccountForLocalization(AcquisitioncostVansName(), '13410'); + ContosoGLAccount.AddAccountForLocalization(AdditionCarsName(), '13420'); + ContosoGLAccount.AddAccountForLocalization(OutputVansName(), '13430'); + ContosoGLAccount.AddAccountForLocalization(AccdepreciationCarsName(), '13440'); + ContosoGLAccount.AddAccountForLocalization(DepreciationfortheyearVansName(), '13450'); + ContosoGLAccount.AddAccountForLocalization(VanstotalAssetsName(), '13597'); + ContosoGLAccount.AddAccountForLocalization(AcquisitioncostOperatingEquipmentName(), '13710'); + ContosoGLAccount.AddAccountForLocalization(AdditionVansName(), '13720'); + ContosoGLAccount.AddAccountForLocalization(OutputOperatingEquipmentsName(), '13730'); + ContosoGLAccount.AddAccountForLocalization(AccdepreciationVansName(), '13740'); + ContosoGLAccount.AddAccountForLocalization(DepreciationfortheyearFurnitureName(), '13750'); + ContosoGLAccount.AddAccountForLocalization(TotaloperatingequipmentName(), '13997'); + ContosoGLAccount.AddAccountForLocalization(FurnitureequipmentBeginTotalName(), '14000'); + ContosoGLAccount.AddAccountForLocalization(AcquisitioncostFurnitureName(), '14100'); + ContosoGLAccount.AddAccountForLocalization(AdditionOperatingEquipmentName(), '14200'); + ContosoGLAccount.AddAccountForLocalization(OutputFurnitureName(), '14300'); + ContosoGLAccount.AddAccountForLocalization(AccdepreciationFurnitureName(), '14400'); + ContosoGLAccount.AddAccountForLocalization(DepreciationfortheyearOperatingName(), '14500'); + ContosoGLAccount.AddAccountForLocalization(TotalfurnitureequipmentName(), '14997'); + ContosoGLAccount.AddAccountForLocalization(TotaltangiblefixedassetsName(), '15998'); + ContosoGLAccount.AddAccountForLocalization(InventoryPostingName(), '16200'); + ContosoGLAccount.AddAccountForLocalization(InventoryadjustmentName(), '16500'); + ContosoGLAccount.AddAccountForLocalization(ItemreceivedName(), '16600'); + ContosoGLAccount.AddAccountForLocalization(ItemshippedName(), '16700'); + ContosoGLAccount.AddAccountForLocalization(TotalinventoryName(), '16997'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesName(), '17000'); + ContosoGLAccount.AddAccountForLocalization(DeferredName(), '17300'); + ContosoGLAccount.AddAccountForLocalization(PrepaymentsReceivablesName(), '17400'); + ContosoGLAccount.AddAccountForLocalization(DepositsName(), '17500'); + ContosoGLAccount.AddAccountForLocalization(DepositstenancyName(), '17510'); + ContosoGLAccount.AddAccountForLocalization(TotaldepositsName(), '17597'); + ContosoGLAccount.AddAccountForLocalization(WorkinprocessBeginTotalName(), '17700'); + ContosoGLAccount.AddAccountForLocalization(WorkinprocessName(), '17710'); + ContosoGLAccount.AddAccountForLocalization(InvoicedonaccountName(), '17720'); + ContosoGLAccount.AddAccountForLocalization(TotalworkinprocessName(), '17997'); + ContosoGLAccount.AddAccountForLocalization(TotalreceivablesName(), '17999'); + ContosoGLAccount.AddAccountForLocalization(CashflowfundsName(), '18000'); + ContosoGLAccount.AddAccountForLocalization(CheckoutName(), '18100'); + ContosoGLAccount.AddAccountForLocalization(BankName(), '18200'); + ContosoGLAccount.AddAccountForLocalization(BankaccountcurrenciesName(), '18400'); + ContosoGLAccount.AddAccountForLocalization(TotalcashflowfundsName(), '18997'); + ContosoGLAccount.AddAccountForLocalization(TotalcurrentassetsName(), '18998'); + ContosoGLAccount.AddAccountForLocalization(EquityName(), '20100'); + ContosoGLAccount.AddAccountForLocalization(OpeningequityName(), '20200'); + ContosoGLAccount.AddAccountForLocalization(RetainedearningsfortheyearName(), '20400'); + ContosoGLAccount.AddAccountForLocalization(PrivatewithdrawalsetcName(), '20500'); + ContosoGLAccount.AddAccountForLocalization(PaidbtaxeslabormarketcontributionName(), '20600'); + ContosoGLAccount.AddAccountForLocalization(PrivatephoneusageName(), '20700'); + ContosoGLAccount.AddAccountForLocalization(WithdrawalforpersonaluseName(), '20800'); + ContosoGLAccount.AddAccountForLocalization(TotalprivatewithdrawalsName(), '20997'); + ContosoGLAccount.AddAccountForLocalization(EquityatendofyearName(), '20998'); + ContosoGLAccount.AddAccountForLocalization(MortgagedebtName(), '21100'); + ContosoGLAccount.AddAccountForLocalization(BankdebtName(), '21200'); + ContosoGLAccount.AddAccountForLocalization(TotallongtermliabilitiesName(), '21999'); + ContosoGLAccount.AddAccountForLocalization(DebttofinancialinstitutionName(), '23000'); + ContosoGLAccount.AddAccountForLocalization(TotaldebttofinancialinstitutionName(), '23997'); + ContosoGLAccount.AddAccountForLocalization(SalestaxandothertaxesName(), '24000'); + ContosoGLAccount.AddAccountForLocalization(SalestaxpayableSalesTaxName(), '24010'); + ContosoGLAccount.AddAccountForLocalization(SalestaxreceivableInputTaxName(), '24020'); + ContosoGLAccount.AddAccountForLocalization(SalestaxonoverseaspurchasesName(), '24030'); + ContosoGLAccount.AddAccountForLocalization(EuacquisitiontaxName(), '24040'); + ContosoGLAccount.AddAccountForLocalization(OiltaxName(), '24210'); + ContosoGLAccount.AddAccountForLocalization(SalestaxsettlementaccountName(), '24300'); + ContosoGLAccount.AddAccountForLocalization(TotalsalestaxName(), '24997'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayablePostingName(), '25100'); + ContosoGLAccount.AddAccountForLocalization(AccruedtaxName(), '25200'); + ContosoGLAccount.AddAccountForLocalization(AdditionalcostsName(), '25300'); + ContosoGLAccount.AddAccountForLocalization(PrepaymentsAccountsPayableName(), '25400'); + ContosoGLAccount.AddAccountForLocalization(TotalshorttermliabilitiesName(), '25799'); + ContosoGLAccount.AddAccountForLocalization(TotalaccountspayableName(), '25997'); + ContosoGLAccount.AddAccountForLocalization(AccruedcostsBeginTotalName(), '26000'); + ContosoGLAccount.AddAccountForLocalization(AccruedcostsName(), '26200'); + ContosoGLAccount.AddAccountForLocalization(DeferralsName(), '26300'); + ContosoGLAccount.AddAccountForLocalization(PrepaymentsAccruedCostsName(), '26400'); + ContosoGLAccount.AddAccountForLocalization(TotalaccruedcostsName(), '26997'); + ContosoGLAccount.AddAccountForLocalization(PayrollliabilitiesBeginTotalName(), '27000'); + ContosoGLAccount.AddAccountForLocalization(LabormarketcontributionpayableName(), '27200'); + ContosoGLAccount.AddAccountForLocalization(RetirementplancontributionspayableName(), '27400'); + ContosoGLAccount.AddAccountForLocalization(PayrollliabilitiesName(), '27500'); + ContosoGLAccount.AddAccountForLocalization(TotalpayrollliabilitiesName(), '27997'); + ContosoGLAccount.AddAccountForLocalization(AllnullName(), '29999'); + AddGLAccountforDK(); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalancesheetName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumdepreciationbuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandbuildingstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumdeproperequipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingequipmenttotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumdepreciationvehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangiblefixedassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleitemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleitemsinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofresalesoldinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedgoodsinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawmaterialsinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofrawmatsoldinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoinventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventorytotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobwipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipsalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipsalestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipcostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipcoststotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobwiptotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersdomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersforeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedinterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsreceivabletotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseprepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Vendorprepaymentsvat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Vendorprepaymentsvat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseprepaymentstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidassetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BanklcyName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankcurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroaccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedearningsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetincomefortheyearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredtaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermbankloansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermliabilitiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesprepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Customerprepaymentsvat0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Customerprepaymentsvat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Customerprepaymentsvat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesprepaymentstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsdomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsforeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountspayabletotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimtotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Salesvat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Salesvat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat25euName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat10euName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FueltaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoaltaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatpayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VattotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelateditemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementarytaxespayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeespayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalpersonnelrelateditemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherliabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsforthefiscalyearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporatetaxespayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherliabilitiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermliabilitiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalliabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomestatementName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesretaildomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesretaileuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesretailexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesappliedretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesadjmtretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesrawmaterialsdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesrawmaterialseuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesrawmaterialsexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesappliedrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesadjmtrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesresourcesdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesresourceseuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesresourcesexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesappliedresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesadjmtresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofjobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesotherjobexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofjobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingfeesdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandchargesrecdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountgrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchretaildomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchretaileuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchretailexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscreceivedretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryexpensesretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryadjmtretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostappliedretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostadjmtretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofretailsoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchrawmaterialsdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchrawmaterialseuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchrawmaterialsexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscreceivedrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryexpensesrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryadjmtrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostappliedrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostadjmtrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofrawmaterialssoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostappliedresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostadjmtresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofresourcesusedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingmaintenanceexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandheatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalbldgmaintexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficesuppliesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandfaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotaladministrativeexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantservicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OthercomputerexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcomputerexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandprName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsellingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandmotoroilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationfeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalvehicleexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtheroperatingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BaddebtexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandaccountingservicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtheroperatingexptotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotaloperatingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementplancontributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrolltaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalpersonnelexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationoffixedassetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationbuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationequipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationvehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandlossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalfixedassetdepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OthercostsofoperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetoperatingincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonbankbalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinancechargesfromcustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentdiscountsreceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscreceiveddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceroundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationroundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymenttolerancereceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmttolreceiveddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalinterestincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonrevolvingcreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonbankloansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinancechargestovendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentdiscountsgrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscgranteddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymenttolerancegrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmttolgranteddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalinterestexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NibeforeextritemsTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetincomebeforetaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporatetaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), ''); + end; + + procedure ProfitandlossstatementName(): Text[100] + begin + exit(ProfitandlossstatementLbl); + end; + + procedure DomesticsalesofgoodsandservicesName(): Text[100] + begin + exit(DomesticsalesofgoodsandservicesLbl); + end; + + procedure EusalesofgoodsandservicesName(): Text[100] + begin + exit(EusalesofgoodsandservicesLbl); + end; + + procedure SalesofgoodsandservicestoothercountriesName(): Text[100] + begin + exit(SalesofgoodsandservicestoothercountriesLbl); + end; + + procedure FreightIncomeName(): Text[100] + begin + exit(FreightIncomeLbl); + end; + + procedure OnaccountinvoicingName(): Text[100] + begin + exit(OnaccountinvoicingLbl); + end; + + procedure ChargeexsalestaxName(): Text[100] + begin + exit(ChargeexsalestaxLbl); + end; + + procedure ChargeinclsalestaxName(): Text[100] + begin + exit(ChargeinclsalestaxLbl); + end; + + procedure DiscountsgrantedName(): Text[100] + begin + exit(DiscountsgrantedLbl); + end; + + procedure JobsalesappliedName(): Text[100] + begin + exit(JobsalesappliedLbl); + end; + + procedure CostofGoodsSoldBeginTotalName(): Text[100] + begin + exit(CostofgoodssoldBeginTotalLbl); + end; + + procedure CostofgoodssoldName(): Text[100] + begin + exit(CostofgoodssoldLbl); + end; + + procedure ItempurchasesName(): Text[100] + begin + exit(ItempurchasesLbl); + end; + + procedure MiscconsumptionName(): Text[100] + begin + exit(MiscconsumptionLbl); + end; + + procedure ForeignlaborName(): Text[100] + begin + exit(ForeignlaborLbl); + end; + + procedure FreightCostOfGoodsName(): Text[100] + begin + exit(FreightCostofGoodsLbl); + end; + + procedure ProfitlossinventoryName(): Text[100] + begin + exit(ProfitlossinventoryLbl); + end; + + procedure ChargebeforesalestaxName(): Text[100] + begin + exit(ChargebeforesalestaxLbl); + end; + + procedure ChargeaftersalestaxName(): Text[100] + begin + exit(ChargeaftersalestaxLbl); + end; + + procedure DiscountsreceivedName(): Text[100] + begin + exit(DiscountsreceivedLbl); + end; + + procedure IteminventoryadjustmentName(): Text[100] + begin + exit(IteminventoryadjustmentLbl); + end; + + procedure PurchasevarianceName(): Text[100] + begin + exit(PurchasevarianceLbl); + end; + + procedure TotalcostofgoodssoldName(): Text[100] + begin + exit(TotalcostofgoodssoldLbl); + end; + + procedure ProjectcostsName(): Text[100] + begin + exit(ProjectcostsLbl); + end; + + procedure MachineryRentalLeasingFeeName(): Text[100] + begin + exit(MachineryRentalLeasingFeeLbl); + end; + + procedure TravelfeeName(): Text[100] + begin + exit(TravelfeeLbl); + end; + + procedure MaterialcostsName(): Text[100] + begin + exit(MaterialcostsLbl); + end; + + procedure ProjecthoursName(): Text[100] + begin + exit(ProjecthoursLbl); + end; + + procedure AdjustmentofwipName(): Text[100] + begin + exit(AdjustmentofwipLbl); + end; + + procedure JobcostsappliedName(): Text[100] + begin + exit(JobcostsappliedLbl); + end; + + procedure TotalprojectcostsName(): Text[100] + begin + exit(TotalprojectcostsLbl); + end; + + procedure PersonnelcostsName(): Text[100] + begin + exit(PersonnelcostsLbl); + end; + + procedure SalariesvacationcompensationName(): Text[100] + begin + exit(SalariesvacationcompensationLbl); + end; + + procedure SalariesproductionName(): Text[100] + begin + exit(SalariesproductionLbl); + end; + + procedure DirectorsfeeName(): Text[100] + begin + exit(DirectorsfeeLbl); + end; + + procedure AnniversarygiftName(): Text[100] + begin + exit(AnniversarygiftLbl); + end; + + procedure SeverancepayName(): Text[100] + begin + exit(SeverancepayLbl); + end; + + procedure PensioncompanyName(): Text[100] + begin + exit(PensioncompanyLbl); + end; + + procedure LabormarketpensioncompanyName(): Text[100] + begin + exit(LabormarketpensioncompanyLbl); + end; + + procedure OptionalpayaccountsavingsName(): Text[100] + begin + exit(OptionalpayaccountsavingsLbl); + end; + + procedure EmployeeartclubName(): Text[100] + begin + exit(EmployeeartclubLbl); + end; + + procedure GiftfundName(): Text[100] + begin + exit(GiftfundLbl); + end; + + procedure LunchName(): Text[100] + begin + exit(LunchLbl); + end; + + procedure DamaternitypaternityleavepremiumName(): Text[100] + begin + exit(DamaternitypaternityleavepremiumLbl); + end; + + procedure AtpemployeeName(): Text[100] + begin + exit(AtpemployeeLbl); + end; + + procedure MileagerateName(): Text[100] + begin + exit(MileagerateLbl); + end; + + procedure RefundsName(): Text[100] + begin + exit(RefundsLbl); + end; + + procedure AtpemployerName(): Text[100] + begin + exit(AtpemployerLbl); + end; + + procedure ProjecthoursspentName(): Text[100] + begin + exit(ProjecthoursspentLbl); + end; + + procedure ProjecthoursallocatedtooperatingresultName(): Text[100] + begin + exit(ProjecthoursallocatedtooperatingresultLbl); + end; + + procedure ConsumptionforownproductionName(): Text[100] + begin + exit(ConsumptionforownproductionLbl); + end; + + procedure SocialsecbenefitsalloctooperatingresultName(): Text[100] + begin + exit(SocialsecbenefitsalloctooperatingresultLbl); + end; + + procedure TransferredssbstoproductionName(): Text[100] + begin + exit(TransferredssbstoproductionLbl); + end; + + procedure TrainingexpensesName(): Text[100] + begin + exit(TrainingexpensesLbl); + end; + + procedure OtherpersonnelcostsName(): Text[100] + begin + exit(OtherpersonnelcostsLbl); + end; + + procedure TotalpersonnelcostsName(): Text[100] + begin + exit(TotalpersonnelcostsLbl); + end; + + procedure MarketingcostsName(): Text[100] + begin + exit(MarketingcostsLbl); + end; + + procedure AdvertisementsandcommercialsName(): Text[100] + begin + exit(AdvertisementsandcommercialsLbl); + end; + + procedure EntwinetobaccospiritsName(): Text[100] + begin + exit(EntwinetobaccospiritsLbl); + end; + + procedure EntgiftsandflowersName(): Text[100] + begin + exit(EntgiftsandflowersLbl); + end; + + procedure TravelingtradefairsetcName(): Text[100] + begin + exit(TravelingtradefairsetcLbl); + end; + + procedure RestaurantdiningName(): Text[100] + begin + exit(RestaurantdiningLbl); + end; + + procedure DecorationName(): Text[100] + begin + exit(DecorationLbl); + end; + + procedure TotalmarketingcostsName(): Text[100] + begin + exit(TotalmarketingcostsLbl); + end; + + procedure MarketingcontributionsName(): Text[100] + begin + exit(MarketingcontributionsLbl); + end; + + procedure AutomobileoperationscarsName(): Text[100] + begin + exit(AutomobileoperationscarsLbl); + end; + + procedure RentalLeasingFeeMachineName(): Text[100] + begin + exit(RentalLeasingFeeMachineLbl); + end; + + procedure GasVansName(): Text[100] + begin + exit(GasVansLbl); + end; + + procedure InsuranceCostOfWorkSpaceName(): Text[100] + begin + exit(InsuranceCostOfWorkSpaceLbl); + end; + + procedure GasconsumptiontaxVansName(): Text[100] + begin + exit(GasconsumptiontaxVansLbl); + end; + + procedure RepmaintenanceVansName(): Text[100] + begin + exit(RepmaintenanceVansLbl); + end; + + procedure FerryticketsbridgetollsAutoMobileName(): Text[100] + begin + exit(FerryticketsbridgetollsAutoMobileLbl); + end; + + procedure TotalvehicleoperationsName(): Text[100] + begin + exit(TotalvehicleoperationsLbl); + end; + + procedure VansName(): Text[100] + begin + exit(VansLbl); + end; + + procedure RentalLeasingFeeAutoMobileName(): Text[100] + begin + exit(RentalLeasingFeeAutoMobileLbl); + end; + + procedure GasAutoMobileName(): Text[100] + begin + exit(GasAutoMobileLbl); + end; + + procedure GasconsumptiontaxAutoMobileName(): Text[100] + begin + exit(GasconsumptiontaxAutoMobileLbl); + end; + + procedure InsurancesAdminCostName(): Text[100] + begin + exit(InsurancesAdminCostLbl); + end; + + procedure RepmaintenanceAutoMobileName(): Text[100] + begin + exit(RepmaintenanceAutoMobileLbl); + end; + + procedure FerryticketsbridgetollsVansName(): Text[100] + begin + exit(FerryticketsbridgetollsVansLbl); + end; + + procedure VanstotalExpenseName(): Text[100] + begin + exit(VanstotalExpenseLbl); + end; + + procedure MachinesName(): Text[100] + begin + exit(MachinesLbl); + end; + + procedure RentalLeasingFeeVansName(): Text[100] + begin + exit(RentalLeasingFeeVansLbl); + end; + + procedure MachineoperatingcostsName(): Text[100] + begin + exit(MachineoperatingcostsLbl); + end; + + procedure MachrepairsandmaintenanceName(): Text[100] + begin + exit(MachrepairsandmaintenanceLbl); + end; + + procedure MachineryinsuranceName(): Text[100] + begin + exit(MachineryinsuranceLbl); + end; + + procedure MachinestotalName(): Text[100] + begin + exit(MachinestotalLbl); + end; + + procedure CostofofficeworkshopspaceName(): Text[100] + begin + exit(CostofofficeworkshopspaceLbl); + end; + + procedure RentName(): Text[100] + begin + exit(RentLbl); + end; + + procedure InsuranceAutoMobileName(): Text[100] + begin + exit(InsuranceAutoMobileLbl); + end; + + procedure ElectricityName(): Text[100] + begin + exit(ElectricityLbl); + end; + + procedure WaterName(): Text[100] + begin + exit(WaterLbl); + end; + + procedure HeatingName(): Text[100] + begin + exit(HeatingLbl); + end; + + procedure NaturalgasName(): Text[100] + begin + exit(NaturalgasLbl); + end; + + procedure TaxesBeginTotalName(): Text[100] + begin + exit(TaxesBeginTotalLbl); + end; + + procedure NewacquisitionsName(): Text[100] + begin + exit(NewacquisitionsLbl); + end; + + procedure TotalcostofofficeworkshopspaceName(): Text[100] + begin + exit(TotalcostofofficeworkshopspaceLbl); + end; + + procedure AdministrativecostsName(): Text[100] + begin + exit(AdministrativecostsLbl); + end; + + procedure PhonescellphonesName(): Text[100] + begin + exit(PhonescellphonesLbl); + end; + + procedure InternetwebsiteName(): Text[100] + begin + exit(InternetwebsiteLbl); + end; + + procedure NewspapersmagazinesName(): Text[100] + begin + exit(NewspapersmagazinesLbl); + end; + + procedure SubscriptionsmembershipfeesName(): Text[100] + begin + exit(SubscriptionsmembershipfeesLbl); + end; + + procedure OfficestationaryName(): Text[100] + begin + exit(OfficestationaryLbl); + end; + + procedure PostagefeesName(): Text[100] + begin + exit(PostagefeesLbl); + end; + + procedure InsurancesVansName(): Text[100] + begin + exit(InsurancesVansLbl); + end; + + procedure MinoracquisitionsName(): Text[100] + begin + exit(MinoracquisitionsLbl); + end; + + procedure ConferenceexpensesName(): Text[100] + begin + exit(ConferenceexpensesLbl); + end; + + procedure AccountingcostsName(): Text[100] + begin + exit(AccountingcostsLbl); + end; + + procedure AuditingaccountingassistanceName(): Text[100] + begin + exit(AuditingaccountingassistanceLbl); + end; + + procedure LawyerName(): Text[100] + begin + exit(LawyerLbl); + end; + + procedure LegalaidName(): Text[100] + begin + exit(LegalaidLbl); + end; + + procedure RepairsandmaintenancefurnitureequipmentName(): Text[100] + begin + exit(RepairsandmaintenancefurnitureequipmentLbl); + end; + + procedure ItexpensesName(): Text[100] + begin + exit(ItexpensesLbl); + end; + + procedure SalarycostsName(): Text[100] + begin + exit(SalarycostsLbl); + end; + + procedure FreightExpenseName(): Text[100] + begin + exit(FreightExpenseLbl); + end; + + procedure ChargesName(): Text[100] + begin + exit(ChargesLbl); + end; + + procedure TotaladministrativecostsName(): Text[100] + begin + exit(TotaladministrativecostsLbl); + end; + + procedure TotalcostsName(): Text[100] + begin + exit(TotalcostsLbl); + end; + + procedure ResbeforedepreciationName(): Text[100] + begin + exit(ResbeforedepreciationLbl); + end; + + procedure DepreciationBeginTotalName(): Text[100] + begin + exit(DepreciationBeginTotalLbl); + end; + + procedure VansBeginTotalExpenseName(): Text[100] + begin + exit(VansBeginTotalExpenseLbl); + end; + + procedure CarsBeginTotalName(): Text[100] + begin + exit(CarsBeginTotalLbl); + end; + + procedure FurnitureequipmentName(): Text[100] + begin + exit(FurnitureequipmentLbl); + end; + + procedure GoodwillName(): Text[100] + begin + exit(GoodwillLbl); + end; + + procedure TotaldepreciationName(): Text[100] + begin + exit(TotaldepreciationLbl); + end; + + procedure InventoryPostingName(): Text[100] + begin + exit(InventoryLbl); + end; + + procedure InventoryBeginTotalName(): Text[100] + begin + exit(InventoryBeginTotalLbl); + end; + + procedure AccountsPayablePostingName(): Text[100] + begin + exit(AccountsPayableLbl); + end; + + procedure ResbeforefinancialitemsName(): Text[100] + begin + exit(ResbeforefinancialitemsLbl); + end; + + procedure FinancialitemsName(): Text[100] + begin + exit(FinancialitemsLbl); + end; + + procedure OperatingincomeName(): Text[100] + begin + exit(OperatingincomeLbl); + end; + + procedure BankinterestFinancalExpenseName(): Text[100] + begin + exit(BankinterestFinancalExpenseLbl); + end; + + procedure AccountsreceivableinterestName(): Text[100] + begin + exit(AccountsreceivableinterestLbl); + end; + + procedure TotaloperatingincomeName(): Text[100] + begin + exit(TotaloperatingincomeLbl); + end; + + procedure FinancialexpensesName(): Text[100] + begin + exit(FinancialexpensesLbl); + end; + + procedure BankinterestFinancalItemsName(): Text[100] + begin + exit(BankinterestFInancalItemsLbl); + end; + + procedure AccountspayableinterestName(): Text[100] + begin + exit(AccountspayableinterestLbl); + end; + + procedure AccountspayablechargesName(): Text[100] + begin + exit(AccountspayablechargesLbl); + end; + + procedure AdditionalinterestexpensesName(): Text[100] + begin + exit(AdditionalinterestexpensesLbl); + end; + + procedure CentdiscrepanciesName(): Text[100] + begin + exit(CentdiscrepanciesLbl); + end; + + procedure DisallowedinterestdeductionsName(): Text[100] + begin + exit(DisallowedinterestdeductionsLbl); + end; + + procedure TotalfinancialexpensesName(): Text[100] + begin + exit(TotalfinancialexpensesLbl); + end; + + procedure TotalfinancialitemsName(): Text[100] + begin + exit(TotalfinancialitemsLbl); + end; + + procedure ResultbeforetaxName(): Text[100] + begin + exit(ResultbeforetaxLbl); + end; + + procedure TaxesCostOfWorkSpaceName(): Text[100] + begin + exit(TaxesCostOfWorkSpaceLbl); + end; + + procedure TaxesName(): Text[100] + begin + exit(TaxesLbl); + end; + + procedure TotaltaxesName(): Text[100] + begin + exit(TotaltaxesLbl); + end; + + procedure PeriodearningsName(): Text[100] + begin + exit(PeriodearningsLbl); + end; + + procedure BalanceName(): Text[100] + begin + exit(BalanceLbl); + end; + + procedure GoodwillBeginTotalName(): Text[100] + begin + exit(GoodwillBeginTotalLbl); + end; + + procedure OpeningbalanceName(): Text[100] + begin + exit(OpeningbalanceLbl); + end; + + procedure DepreciationName(): Text[100] + begin + exit(DepreciationLbl); + end; + + procedure TotalgoodwillName(): Text[100] + begin + exit(TotalgoodwillLbl); + end; + + procedure TotalintangiblefixedassetsName(): Text[100] + begin + exit(TotalintangiblefixedassetsLbl); + end; + + procedure FinancialfixedassetsName(): Text[100] + begin + exit(FinancialfixedassetsLbl); + end; + + procedure CommonstockName(): Text[100] + begin + exit(CommonstockLbl); + end; + + procedure TotalsecuritiesName(): Text[100] + begin + exit(TotalsecuritiesLbl); + end; + + procedure TotalfinancialfixedassetsName(): Text[100] + begin + exit(TotalfinancialfixedassetsLbl); + end; + + procedure AcquisitioncostLandBuildingsName(): Text[100] + begin + exit(AcquisitioncostLandBuildingsLbl); + end; + + procedure AdditionFurnitureName(): Text[100] + begin + exit(AdditionFurnitureLbl); + end; + + procedure OutputLandBuildingsName(): Text[100] + begin + exit(OutputLandBuildingsLbl); + end; + + procedure AccdepreciationLandBuildingsName(): Text[100] + begin + exit(AccdepreciationLandBuildingsLbl); + end; + + procedure DepreciationfortheyearLandBuilingsName(): Text[100] + begin + exit(DepreciationfortheyearLandBuildingsLbl); + end; + + procedure TotallandandbuildingsName(): Text[100] + begin + exit(TotallandandbuildingsLbl); + end; + + procedure CarsName(): Text[100] + begin + exit(CarsLbl); + end; + + procedure AcquisitioncostCarsName(): Text[100] + begin + exit(AcquisitioncostCarsLbl); + end; + + procedure AdditionLandBuildingsName(): Text[100] + begin + exit(AdditionLandBuildingsLbl); + end; + + procedure OutputCarsName(): Text[100] + begin + exit(OutputCarsLbl); + end; + + procedure AccdepreciationOperatingName(): Text[100] + begin + exit(AccdepreciationOperatingLbl); + end; + + procedure DepreciationfortheyearCarsName(): Text[100] + begin + exit(DepreciationfortheyearCarsLbl); + end; + + procedure CarstotalName(): Text[100] + begin + exit(CarstotalLbl); + end; + + procedure VansBeginTotalAssetsName(): Text[100] + begin + exit(VansBeginTotalAssetsLbl); + end; + + procedure AcquisitioncostVansName(): Text[100] + begin + exit(AcquisitioncostVansLbl); + end; + + procedure AdditionCarsName(): Text[100] + begin + exit(AdditionCarsLbl); + end; + + procedure OutputVansName(): Text[100] + begin + exit(OutputVansLbl); + end; + + procedure AccdepreciationCarsName(): Text[100] + begin + exit(AccdepreciationCarsLbl); + end; + + procedure DepreciationfortheyearVansName(): Text[100] + begin + exit(DepreciationfortheyearVansLbl); + end; + + procedure VanstotalAssetsName(): Text[100] + begin + exit(VanstotalAssetsLbl); + end; + + procedure AcquisitioncostOperatingEquipmentName(): Text[100] + begin + exit(AcquisitioncostOperatingEquipmentLbl); + end; + + procedure AdditionVansName(): Text[100] + begin + exit(AdditionVansLbl); + end; + + procedure OutputOperatingEquipmentsName(): Text[100] + begin + exit(OutputOperatingEquipmentsLbl); + end; + + procedure AccdepreciationVansName(): Text[100] + begin + exit(AccdepreciationVansLbl); + end; + + procedure DepreciationfortheyearFurnitureName(): Text[100] + begin + exit(DepreciationfortheyearFurnitureLbl); + end; + + procedure TotaloperatingequipmentName(): Text[100] + begin + exit(TotaloperatingequipmentLbl); + end; + + procedure FurnitureequipmentBeginTotalName(): Text[100] + begin + exit(FurnitureequipmentBeginTotalLbl); + end; + + procedure AcquisitioncostFurnitureName(): Text[100] + begin + exit(AcquisitioncostFurnitureLbl); + end; + + procedure AdditionOperatingEquipmentName(): Text[100] + begin + exit(AdditionOperatingEquipmentLbl); + end; + + procedure OutputFurnitureName(): Text[100] + begin + exit(OutputFurnitureLbl); + end; + + procedure AccdepreciationFurnitureName(): Text[100] + begin + exit(AccdepreciationFurnitureLbl); + end; + + procedure DepreciationfortheyearOperatingName(): Text[100] + begin + exit(DepreciationfortheyearOperatingLbl); + end; + + procedure TotalfurnitureequipmentName(): Text[100] + begin + exit(TotalfurnitureequipmentLbl); + end; + + procedure TotaltangiblefixedassetsName(): Text[100] + begin + exit(TotaltangiblefixedassetsLbl); + end; + + procedure InventoryadjustmentName(): Text[100] + begin + exit(InventoryadjustmentLbl); + end; + + procedure ItemreceivedName(): Text[100] + begin + exit(ItemreceivedLbl); + end; + + procedure ItemshippedName(): Text[100] + begin + exit(ItemshippedLbl); + end; + + procedure TotalinventoryName(): Text[100] + begin + exit(TotalinventoryLbl); + end; + + procedure ReceivablesName(): Text[100] + begin + exit(ReceivablesLbl); + end; + + procedure DeferredName(): Text[100] + begin + exit(DeferredLbl); + end; + + procedure PrepaymentsReceivablesName(): Text[100] + begin + exit(PrepaymentsReceivablesLbl); + end; + + procedure DepositsName(): Text[100] + begin + exit(DepositsLbl); + end; + + procedure DepositstenancyName(): Text[100] + begin + exit(DepositstenancyLbl); + end; + + procedure TotaldepositsName(): Text[100] + begin + exit(TotaldepositsLbl); + end; + + procedure WorkinprocessBeginTotalName(): Text[100] + begin + exit(WorkinprocessBeginTotalLbl); + end; + + procedure WorkinprocessName(): Text[100] + begin + exit(WorkinprocessLbl); + end; + + procedure InvoicedonaccountName(): Text[100] + begin + exit(InvoicedonaccountLbl); + end; + + procedure TotalworkinprocessName(): Text[100] + begin + exit(TotalworkinprocessLbl); + end; + + procedure TotalreceivablesName(): Text[100] + begin + exit(TotalreceivablesLbl); + end; + + procedure CashflowfundsName(): Text[100] + begin + exit(CashflowfundsLbl); + end; + + procedure CheckoutName(): Text[100] + begin + exit(CheckoutLbl); + end; + + procedure BankName(): Text[100] + begin + exit(BankLbl); + end; + + procedure BankaccountcurrenciesName(): Text[100] + begin + exit(BankaccountcurrenciesLbl); + end; + + procedure TotalcashflowfundsName(): Text[100] + begin + exit(TotalcashflowfundsLbl); + end; + + procedure TotalcurrentassetsName(): Text[100] + begin + exit(TotalcurrentassetsLbl); + end; + + procedure EquityName(): Text[100] + begin + exit(EquityLbl); + end; + + procedure OpeningequityName(): Text[100] + begin + exit(OpeningequityLbl); + end; + + procedure RetainedearningsfortheyearName(): Text[100] + begin + exit(RetainedearningsfortheyearLbl); + end; + + procedure PrivatewithdrawalsetcName(): Text[100] + begin + exit(PrivatewithdrawalsetcLbl); + end; + + procedure PaidbtaxeslabormarketcontributionName(): Text[100] + begin + exit(PaidbtaxeslabormarketcontributionLbl); + end; + + procedure PrivatephoneusageName(): Text[100] + begin + exit(PrivatephoneusageLbl); + end; + + procedure WithdrawalforpersonaluseName(): Text[100] + begin + exit(WithdrawalforpersonaluseLbl); + end; + + procedure TotalprivatewithdrawalsName(): Text[100] + begin + exit(TotalprivatewithdrawalsLbl); + end; + + procedure EquityatendofyearName(): Text[100] + begin + exit(EquityatendofyearLbl); + end; + + procedure MortgagedebtName(): Text[100] + begin + exit(MortgagedebtLbl); + end; + + procedure BankdebtName(): Text[100] + begin + exit(BankdebtLbl); + end; + + procedure TotallongtermliabilitiesName(): Text[100] + begin + exit(TotallongtermliabilitiesLbl); + end; + + procedure DebttofinancialinstitutionName(): Text[100] + begin + exit(DebttofinancialinstitutionLbl); + end; + + procedure TotaldebttofinancialinstitutionName(): Text[100] + begin + exit(TotaldebttofinancialinstitutionLbl); + end; + + procedure SalestaxandothertaxesName(): Text[100] + begin + exit(SalestaxandothertaxesLbl); + end; + + procedure SalestaxpayableSalesTaxName(): Text[100] + begin + exit(SalestaxpayableSalesTaxLbl); + end; + + procedure SalestaxreceivableInputTaxName(): Text[100] + begin + exit(SalestaxreceivableInputTaxLbl); + end; + + procedure SalestaxonoverseaspurchasesName(): Text[100] + begin + exit(SalestaxonoverseaspurchasesLbl); + end; + + procedure EuacquisitiontaxName(): Text[100] + begin + exit(EuacquisitiontaxLbl); + end; + + procedure OiltaxName(): Text[100] + begin + exit(OiltaxLbl); + end; + + procedure SalestaxsettlementaccountName(): Text[100] + begin + exit(SalestaxsettlementaccountLbl); + end; + + procedure TotalsalestaxName(): Text[100] + begin + exit(TotalsalestaxLbl); + end; + + procedure AccruedtaxName(): Text[100] + begin + exit(AccruedtaxLbl); + end; + + procedure AdditionalcostsName(): Text[100] + begin + exit(AdditionalcostsLbl); + end; + + procedure PrepaymentsAccountsPayableName(): Text[100] + begin + exit(PrepaymentsAccountsPayableLbl); + end; + + procedure TotalshorttermliabilitiesName(): Text[100] + begin + exit(TotalshorttermliabilitiesLbl); + end; + + procedure TotalaccountspayableName(): Text[100] + begin + exit(TotalaccountspayableLbl); + end; + + procedure AccruedcostsBeginTotalName(): Text[100] + begin + exit(AccruedcostsBeginTotalLbl); + end; + + procedure AccruedcostsName(): Text[100] + begin + exit(AccruedcostsLbl); + end; + + procedure DeferralsName(): Text[100] + begin + exit(DeferralsLbl); + end; + + procedure PrepaymentsAccruedCostsName(): Text[100] + begin + exit(PrepaymentsAccruedCostsLbl); + end; + + procedure TotalaccruedcostsName(): Text[100] + begin + exit(TotalaccruedcostsLbl); + end; + + procedure PayrollliabilitiesBeginTotalName(): Text[100] + begin + exit(PayrollliabilitiesBeginTotalLbl); + end; + + procedure LabormarketcontributionpayableName(): Text[100] + begin + exit(LabormarketcontributionpayableLbl); + end; + + procedure RetirementplancontributionspayableName(): Text[100] + begin + exit(RetirementplancontributionspayableLbl); + end; + + procedure PayrollliabilitiesName(): Text[100] + begin + exit(PayrollliabilitiesLbl); + end; + + procedure TotalpayrollliabilitiesName(): Text[100] + begin + exit(TotalpayrollliabilitiesLbl); + end; + + procedure AllnullName(): Text[100] + begin + exit(AllnullLbl); + end; + + procedure Profitandlossstatement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitandlossstatementName())); + end; + + procedure Domesticsalesofgoodsandservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DomesticsalesofgoodsandservicesName())); + end; + + procedure Eusalesofgoodsandservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EusalesofgoodsandservicesName())); + end; + + procedure Salesofgoodsandservicestoothercountries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofgoodsandservicestoothercountriesName())); + end; + + procedure FreightIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightIncomeName())); + end; + + procedure Onaccountinvoicing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OnaccountinvoicingName())); + end; + + procedure Chargeexsalestax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargeexsalestaxName())); + end; + + procedure Chargeinclsalestax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargeinclsalestaxName())); + end; + + procedure Discountsgranted(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountsgrantedName())); + end; + + procedure Jobsalesapplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobsalesappliedName())); + end; + + procedure CostofGoodSoldBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofGoodsSoldBeginTotalName())); + end; + + procedure Costofgoodssold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofgoodssoldName())); + end; + + procedure Itempurchases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItempurchasesName())); + end; + + procedure Miscconsumption(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscconsumptionName())); + end; + + procedure Foreignlabor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ForeignlaborName())); + end; + + procedure FreightCostOfGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightCostOfGoodsName())); + end; + + procedure Profitlossinventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitlossinventoryName())); + end; + + procedure Chargebeforesalestax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargebeforesalestaxName())); + end; + + procedure Chargeaftersalestax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargeaftersalestaxName())); + end; + + procedure Discountsreceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountsreceivedName())); + end; + + procedure Iteminventoryadjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IteminventoryadjustmentName())); + end; + + procedure Purchasevariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasevarianceName())); + end; + + procedure Totalcostofgoodssold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalcostofgoodssoldName())); + end; + + procedure Projectcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectcostsName())); + end; + + procedure Travelfee(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelfeeName())); + end; + + procedure Materialcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialcostsName())); + end; + + procedure Projecthours(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjecthoursName())); + end; + + procedure Adjustmentofwip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdjustmentofwipName())); + end; + + procedure MachineryRentalLeasingFee(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryRentalLeasingFeeName())); + end; + + procedure Jobcostsapplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobcostsappliedName())); + end; + + procedure Totalprojectcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalprojectcostsName())); + end; + + procedure Personnelcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelcostsName())); + end; + + procedure Salariesvacationcompensation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalariesvacationcompensationName())); + end; + + procedure Salariesproduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalariesproductionName())); + end; + + procedure Directorsfee(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DirectorsfeeName())); + end; + + procedure Anniversarygift(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnniversarygiftName())); + end; + + procedure Severancepay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SeverancepayName())); + end; + + procedure Pensioncompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensioncompanyName())); + end; + + procedure Labormarketpensioncompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LabormarketpensioncompanyName())); + end; + + procedure Optionalpayaccountsavings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OptionalpayaccountsavingsName())); + end; + + procedure Employeeartclub(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeeartclubName())); + end; + + procedure Giftfund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GiftfundName())); + end; + + procedure Lunch(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LunchName())); + end; + + procedure Damaternitypaternityleavepremium(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DamaternitypaternityleavepremiumName())); + end; + + procedure Atpemployee(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AtpemployeeName())); + end; + + procedure Mileagerate(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MileagerateName())); + end; + + procedure Refunds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RefundsName())); + end; + + procedure Atpemployer(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AtpemployerName())); + end; + + procedure Projecthoursspent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjecthoursspentName())); + end; + + procedure Projecthoursallocatedtooperatingresult(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjecthoursallocatedtooperatingresultName())); + end; + + procedure Consumptionforownproduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumptionforownproductionName())); + end; + + procedure Socialsecbenefitsalloctooperatingresult(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialsecbenefitsalloctooperatingresultName())); + end; + + procedure Transferredssbstoproduction(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransferredssbstoproductionName())); + end; + + procedure Trainingexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrainingexpensesName())); + end; + + procedure Otherpersonnelcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherpersonnelcostsName())); + end; + + procedure Totalpersonnelcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalpersonnelcostsName())); + end; + + procedure Marketingcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MarketingcostsName())); + end; + + procedure Advertisementsandcommercials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisementsandcommercialsName())); + end; + + procedure Entwinetobaccospirits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EntwinetobaccospiritsName())); + end; + + procedure Entgiftsandflowers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EntgiftsandflowersName())); + end; + + procedure Travelingtradefairsetc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelingtradefairsetcName())); + end; + + procedure Restaurantdining(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RestaurantdiningName())); + end; + + procedure Decoration(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecorationName())); + end; + + procedure Totalmarketingcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalmarketingcostsName())); + end; + + procedure Marketingcontributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MarketingcontributionsName())); + end; + + procedure Automobileoperationscars(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AutomobileoperationscarsName())); + end; + + procedure RentalLeasingFeeMachine(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalLeasingFeeMachineName())); + end; + + procedure GasAutoMobile(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GasAutoMobileName())); + end; + + procedure InsuranceCostOfWorkSpace(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsuranceCostOfWorkSpaceName())); + end; + + procedure GasconsumptiontaxAutoMobile(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GasconsumptiontaxAutoMobileName())); + end; + + procedure RepmaintenanceVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepmaintenanceVansName())); + end; + + procedure FerryticketsbridgetollsAutoMobile(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FerryticketsbridgetollsAutoMobileName())); + end; + + procedure Totalvehicleoperations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalvehicleoperationsName())); + end; + + procedure VansBeginTotalExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VansBeginTotalExpenseName())); + end; + + procedure RentalLeasingFeeAutoMobile(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalLeasingFeeAutoMobileName())); + end; + + procedure GasVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GasVansName())); + end; + + procedure GasconsumptiontaxVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GasconsumptiontaxVansName())); + end; + + procedure InsurancesVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesVansName())); + end; + + procedure RepmaintenanceAutoMobile(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepmaintenanceAutoMobileName())); + end; + + procedure FerryticketsbridgetollsVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FerryticketsbridgetollsVansName())); + end; + + procedure VanstotalAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VanstotalAssetsName())); + end; + + procedure Machines(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachinesName())); + end; + + procedure RentalLeasingFeeVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalLeasingFeeVansName())); + end; + + procedure Machineoperatingcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineoperatingcostsName())); + end; + + procedure Machrepairsandmaintenance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachrepairsandmaintenanceName())); + end; + + procedure Machineryinsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryinsuranceName())); + end; + + procedure Machinestotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachinestotalName())); + end; + + procedure Costofofficeworkshopspace(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofofficeworkshopspaceName())); + end; + + procedure Rent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentName())); + end; + + procedure InsuranceAutoMobile(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsuranceAutoMobileName())); + end; + + procedure Electricity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityName())); + end; + + procedure Water(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterName())); + end; + + procedure Heating(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingName())); + end; + + procedure Naturalgas(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NaturalgasName())); + end; + + procedure TaxesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesBeginTotalName())); + end; + + procedure Newacquisitions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NewacquisitionsName())); + end; + + procedure Totalcostofofficeworkshopspace(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalcostofofficeworkshopspaceName())); + end; + + procedure Administrativecosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdministrativecostsName())); + end; + + procedure Phonescellphones(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PhonescellphonesName())); + end; + + procedure Internetwebsite(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InternetwebsiteName())); + end; + + procedure Newspapersmagazines(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NewspapersmagazinesName())); + end; + + procedure Subscriptionsmembershipfees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubscriptionsmembershipfeesName())); + end; + + procedure Officestationary(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficestationaryName())); + end; + + procedure Postagefees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostagefeesName())); + end; + + procedure InsurancesAdminCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesAdminCostName())); + end; + + procedure Minoracquisitions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MinoracquisitionsName())); + end; + + procedure Conferenceexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConferenceexpensesName())); + end; + + procedure Accountingcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountingcostsName())); + end; + + procedure Auditingaccountingassistance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuditingaccountingassistanceName())); + end; + + procedure Lawyer(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LawyerName())); + end; + + procedure Legalaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalaidName())); + end; + + procedure Repairsandmaintenancefurnitureequipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandmaintenancefurnitureequipmentName())); + end; + + procedure Itexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItexpensesName())); + end; + + procedure Salarycosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalarycostsName())); + end; + + procedure FreightExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightExpenseName())); + end; + + procedure Charges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargesName())); + end; + + procedure Totaladministrativecosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaladministrativecostsName())); + end; + + procedure Totalcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalcostsName())); + end; + + procedure Resbeforedepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResbeforedepreciationName())); + end; + + procedure DepreciationBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationBeginTotalName())); + end; + + procedure VansBeginTotalAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VansBeginTotalAssetsName())); + end; + + procedure CarsBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarsBeginTotalName())); + end; + + procedure Furnitureequipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FurnitureequipmentName())); + end; + + procedure GoodwillBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillBeginTotalName())); + end; + + procedure Totaldepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaldepreciationName())); + end; + + procedure Resbeforefinancialitems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResbeforefinancialitemsName())); + end; + + procedure Financialitems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialitemsName())); + end; + + procedure Operatingincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingincomeName())); + end; + + procedure BankinterestFinancalItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankinterestFinancalItemsName())); + end; + + procedure Accountsreceivableinterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsreceivableinterestName())); + end; + + procedure Totaloperatingincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaloperatingincomeName())); + end; + + procedure Financialexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialexpensesName())); + end; + + procedure BankinterestFinancalExpesnse(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankinterestFinancalExpenseName())); + end; + + procedure Accountspayableinterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountspayableinterestName())); + end; + + procedure Accountspayablecharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountspayablechargesName())); + end; + + procedure Additionalinterestexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionalinterestexpensesName())); + end; + + procedure Centdiscrepancies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CentdiscrepanciesName())); + end; + + procedure Disallowedinterestdeductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DisallowedinterestdeductionsName())); + end; + + procedure Totalfinancialexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalfinancialexpensesName())); + end; + + procedure Totalfinancialitems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalfinancialitemsName())); + end; + + procedure Resultbeforetax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResultbeforetaxName())); + end; + + procedure TaxesCostOfWorkSpace(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesCostOfWorkSpaceName())); + end; + + procedure Taxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesName())); + end; + + procedure Totaltaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaltaxesName())); + end; + + procedure Periodearnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PeriodearningsName())); + end; + + procedure Balance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BalanceName())); + end; + + procedure Goodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillName())); + end; + + procedure Openingbalance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OpeningbalanceName())); + end; + + procedure Depreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationName())); + end; + + procedure Totalgoodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalgoodwillName())); + end; + + procedure Totalintangiblefixedassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalintangiblefixedassetsName())); + end; + + procedure Financialfixedassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialfixedassetsName())); + end; + + procedure Commonstock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommonstockName())); + end; + + procedure Totalsecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalsecuritiesName())); + end; + + procedure Totalfinancialfixedassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalfinancialfixedassetsName())); + end; + + procedure AcquisitioncostLandBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitioncostLandBuildingsName())); + end; + + procedure AdditionLandBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionLandBuildingsName())); + end; + + procedure OutputLandBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutputLandBuildingsName())); + end; + + procedure AccdepreciationLandBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccdepreciationLandBuildingsName())); + end; + + procedure DepreciationfortheyearLandBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationfortheyearLandBuilingsName())); + end; + + procedure Totallandandbuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotallandandbuildingsName())); + end; + + procedure Cars(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarsName())); + end; + + procedure AcquisitioncostCars(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitioncostCarsName())); + end; + + procedure AdditionCars(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionCarsName())); + end; + + procedure OutputCars(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutputCarsName())); + end; + + procedure AccdepreciationCars(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccdepreciationCarsName())); + end; + + procedure DepreciationfortheyearCars(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationfortheyearCarsName())); + end; + + procedure Carstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarstotalName())); + end; + + procedure Vans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VansName())); + end; + + procedure AcquisitioncostFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitioncostFurnitureName())); + end; + + procedure AdditionVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionVansName())); + end; + + procedure OutputFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutputFurnitureName())); + end; + + procedure AccdepreciationVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccdepreciationVansName())); + end; + + procedure DepreciationfortheyearVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationfortheyearVansName())); + end; + + procedure VanstotalExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VanstotalExpenseName())); + end; + + procedure AcquisitioncostOperatingEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitioncostOperatingEquipmentName())); + end; + + procedure AdditionFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionFurnitureName())); + end; + + procedure OutputVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutputVansName())); + end; + + procedure AccdepreciationFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccdepreciationFurnitureName())); + end; + + procedure DepreciationfortheyearFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationfortheyearFurnitureName())); + end; + + procedure Totaloperatingequipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaloperatingequipmentName())); + end; + + procedure FurnitureequipmentBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FurnitureequipmentBeginTotalName())); + end; + + procedure AcquisitioncostVans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AcquisitioncostVansName())); + end; + + procedure AdditionOperatingEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionOperatingEquipmentName())); + end; + + procedure OutputOperatingEquipments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutputOperatingEquipmentsName())); + end; + + procedure AccdepreciationOperating(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccdepreciationOperatingName())); + end; + + procedure DepreciationfortheyearOperating(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationfortheyearOperatingName())); + end; + + procedure Totalfurnitureequipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalfurnitureequipmentName())); + end; + + procedure Totaltangiblefixedassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaltangiblefixedassetsName())); + end; + + procedure Inventoryadjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryadjustmentName())); + end; + + procedure Itemreceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItemreceivedName())); + end; + + procedure Itemshipped(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItemshippedName())); + end; + + procedure InventoryPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryPostingName())); + end; + + procedure InventoryBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryBeginTotalName())); + end; + + procedure AccountsPayablePosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayablePostingName())); + end; + + procedure Totalinventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalinventoryName())); + end; + + procedure Receivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesName())); + end; + + procedure Deferred(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredName())); + end; + + procedure PrepaymentsAccruedCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaymentsAccruedCostsName())); + end; + + procedure Deposits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepositsName())); + end; + + procedure Depositstenancy(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepositstenancyName())); + end; + + procedure Totaldeposits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaldepositsName())); + end; + + procedure WorkinprocessBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkinprocessBeginTotalName())); + end; + + procedure Workinprocess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkinprocessName())); + end; + + procedure Invoicedonaccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoicedonaccountName())); + end; + + procedure Totalworkinprocess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalworkinprocessName())); + end; + + procedure Totalreceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalreceivablesName())); + end; + + procedure Cashflowfunds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashflowfundsName())); + end; + + procedure Checkout(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CheckoutName())); + end; + + procedure Bank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankName())); + end; + + procedure Bankaccountcurrencies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankaccountcurrenciesName())); + end; + + procedure Totalcashflowfunds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalcashflowfundsName())); + end; + + procedure Totalcurrentassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalcurrentassetsName())); + end; + + procedure Equity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityName())); + end; + + procedure Openingequity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OpeningequityName())); + end; + + procedure Retainedearningsfortheyear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetainedearningsfortheyearName())); + end; + + procedure Privatewithdrawalsetc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrivatewithdrawalsetcName())); + end; + + procedure Paidbtaxeslabormarketcontribution(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaidbtaxeslabormarketcontributionName())); + end; + + procedure Privatephoneusage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrivatephoneusageName())); + end; + + procedure Withdrawalforpersonaluse(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WithdrawalforpersonaluseName())); + end; + + procedure Totalprivatewithdrawals(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalprivatewithdrawalsName())); + end; + + procedure Equityatendofyear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityatendofyearName())); + end; + + procedure Mortgagedebt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MortgagedebtName())); + end; + + procedure Bankdebt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankdebtName())); + end; + + procedure Totallongtermliabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotallongtermliabilitiesName())); + end; + + procedure Debttofinancialinstitution(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebttofinancialinstitutionName())); + end; + + procedure Totaldebttofinancialinstitution(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotaldebttofinancialinstitutionName())); + end; + + procedure Salestaxandothertaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalestaxandothertaxesName())); + end; + + procedure SalestaxpayableSalesTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalestaxpayableSalesTaxName())); + end; + + procedure SalestaxreceivableInputTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalestaxreceivableInputTaxName())); + end; + + procedure Salestaxonoverseaspurchases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalestaxonoverseaspurchasesName())); + end; + + procedure Euacquisitiontax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuacquisitiontaxName())); + end; + + procedure Oiltax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OiltaxName())); + end; + + procedure Salestaxsettlementaccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalestaxsettlementaccountName())); + end; + + procedure Totalsalestax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalsalestaxName())); + end; + + procedure Accruedtax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedtaxName())); + end; + + procedure Additionalcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionalcostsName())); + end; + + procedure PrepaymentsAccountsPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaymentsAccountsPayableName())); + end; + + procedure Totalshorttermliabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalshorttermliabilitiesName())); + end; + + procedure Totalaccountspayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalaccountspayableName())); + end; + + procedure AccruedcostsBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedcostsBeginTotalName())); + end; + + procedure Accruedcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedcostsName())); + end; + + procedure Deferrals(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferralsName())); + end; + + procedure PrepaymentsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaymentsReceivablesName())); + end; + + procedure Totalaccruedcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalaccruedcostsName())); + end; + + procedure PayrollliabilitiesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollliabilitiesBeginTotalName())); + end; + + procedure Labormarketcontributionpayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LabormarketcontributionpayableName())); + end; + + procedure Retirementplancontributionspayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetirementplancontributionspayableName())); + end; + + procedure Payrollliabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollliabilitiesName())); + end; + + procedure Totalpayrollliabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalpayrollliabilitiesName())); + end; + + procedure Allnull(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AllnullName())); + end; + + procedure AccountsPayableBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableBeginTotalName())); + end; + + procedure AccountsPayableBeginTotalName(): Text[100] + begin + exit(AccountsPayableBeginTotalLbl); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + ProfitandlossstatementLbl: Label 'PROFIT AND LOSS STATEMENT', MaxLength = 100; + DomesticsalesofgoodsandservicesLbl: Label 'Domestic Sales of Goods and Services', MaxLength = 100; + EusalesofgoodsandservicesLbl: Label 'EU Sales of Goods and Services', MaxLength = 100; + SalesofgoodsandservicestoothercountriesLbl: Label 'Sales of Goods and Services to other Countries', MaxLength = 100; + FreightIncomeLbl: Label 'Freight-Income', MaxLength = 100; + OnaccountinvoicingLbl: Label 'On-Account Invoicing', MaxLength = 100; + ChargeexsalestaxLbl: Label 'Charge ex. Sales Tax', MaxLength = 100; + ChargeinclsalestaxLbl: Label 'Charge incl. Sales Tax', MaxLength = 100; + DiscountsgrantedLbl: Label 'Discounts Granted', MaxLength = 100; + JobsalesappliedLbl: Label 'Job Sales Applied', MaxLength = 100; + CostofgoodssoldBeginTotalLbl: Label 'COST OF GOODS SOLD BeginTotal', MaxLength = 100; + CostofgoodssoldLbl: Label 'Cost of Goods Sold', MaxLength = 100; + ItempurchasesLbl: Label 'Item Purchases', MaxLength = 100; + MiscconsumptionLbl: Label 'Misc. Consumption', MaxLength = 100; + ForeignlaborLbl: Label 'Foreign Labor', MaxLength = 100; + FreightCostOfGoodsLbl: Label 'Freight-Cost Of Goods', MaxLength = 100; + ProfitlossinventoryLbl: Label 'Profit & Loss Inventory', MaxLength = 100; + ChargebeforesalestaxLbl: Label 'Charge before Sales Tax', MaxLength = 100; + ChargeaftersalestaxLbl: Label 'Charge after Sales Tax', MaxLength = 100; + DiscountsreceivedLbl: Label 'Discounts Received', MaxLength = 100; + IteminventoryadjustmentLbl: Label 'Item Inventory Adjustment', MaxLength = 100; + PurchasevarianceLbl: Label 'Purchase Variance', MaxLength = 100; + TotalcostofgoodssoldLbl: Label 'TOTAL COST OF GOODS SOLD', MaxLength = 100; + ProjectcostsLbl: Label 'PROJECT COSTS', MaxLength = 100; + TravelfeeLbl: Label 'Travel Fee', MaxLength = 100; + MaterialcostsLbl: Label 'Material Costs', MaxLength = 100; + ProjecthoursLbl: Label 'Project Hours', MaxLength = 100; + AdjustmentofwipLbl: Label 'Adjustment of WIP', MaxLength = 100; + JobcostsappliedLbl: Label 'Job Costs Applied', MaxLength = 100; + TotalprojectcostsLbl: Label 'TOTAL PROJECT COSTS', MaxLength = 100; + PersonnelcostsLbl: Label 'PERSONNEL COSTS', MaxLength = 100; + SalariesvacationcompensationLbl: Label 'Salaries, Vacation Compensation', MaxLength = 100; + SalariesproductionLbl: Label 'Salaries, Production', MaxLength = 100; + DirectorsfeeLbl: Label 'Director''s Fee', MaxLength = 100; + AnniversarygiftLbl: Label 'Anniversary Gift', MaxLength = 100; + SeverancepayLbl: Label 'Severance Pay', MaxLength = 100; + PensioncompanyLbl: Label 'Pension, Company', MaxLength = 100; + LabormarketpensioncompanyLbl: Label 'Labor Market Pension, Company', MaxLength = 100; + OptionalpayaccountsavingsLbl: Label 'Optional Pay Account Savings', MaxLength = 100; + EmployeeartclubLbl: Label 'Employee art club', MaxLength = 100; + GiftfundLbl: Label 'Gift Fund', MaxLength = 100; + LunchLbl: Label 'Lunch', MaxLength = 100; + DamaternitypaternityleavepremiumLbl: Label 'DA - Maternity/Paternity Leave Premium', MaxLength = 100; + AtpemployeeLbl: Label 'ATP, Employee', MaxLength = 100; + MileagerateLbl: Label 'Mileage Rate', MaxLength = 100; + RefundsLbl: Label 'Refunds', MaxLength = 100; + AtpemployerLbl: Label 'ATP, Employer', MaxLength = 100; + ProjecthoursspentLbl: Label 'Project Hours Spent', MaxLength = 100; + ProjecthoursallocatedtooperatingresultLbl: Label 'Project Hours Allocated to Operating Result', MaxLength = 100; + ConsumptionforownproductionLbl: Label 'Consumption for Own Production', MaxLength = 100; + SocialsecbenefitsalloctooperatingresultLbl: Label 'Social Sec. Benefits Alloc. to Operating Result', MaxLength = 100; + TransferredssbstoproductionLbl: Label 'Transferred SSBs to Production', MaxLength = 100; + TrainingexpensesLbl: Label 'Training Expenses', MaxLength = 100; + OtherpersonnelcostsLbl: Label 'Other Personnel Costs', MaxLength = 100; + TotalpersonnelcostsLbl: Label 'TOTAL PERSONNEL COSTS', MaxLength = 100; + MarketingcostsLbl: Label 'MARKETING COSTS', MaxLength = 100; + AdvertisementsandcommercialsLbl: Label 'Advertisements and Commercials', MaxLength = 100; + EntwinetobaccospiritsLbl: Label 'Ent., Wine / Tobacco / Spirits', MaxLength = 100; + EntgiftsandflowersLbl: Label 'Ent., gifts and flowers', MaxLength = 100; + TravelingtradefairsetcLbl: Label 'Traveling, Trade Fairs etc.', MaxLength = 100; + RestaurantdiningLbl: Label 'Restaurant Dining', MaxLength = 100; + DecorationLbl: Label 'Decoration', MaxLength = 100; + TotalmarketingcostsLbl: Label 'TOTAL MARKETING COSTS', MaxLength = 100; + MarketingcontributionsLbl: Label 'MARKETING CONTRIBUTIONS', MaxLength = 100; + AutomobileoperationscarsLbl: Label 'AUTOMOBILE OPERATIONS, CARS', MaxLength = 100; + RentalLeasingFeeAutoMobileLbl: Label 'Rental & Leasing Fee Auto Mobile', MaxLength = 100; + GasAutoMobileLbl: Label 'Gas-Auto Mobile', MaxLength = 100; + InsuranceAutoMobileLbl: Label 'Insurance Auto Mobile', MaxLength = 100; + GasconsumptiontaxVansLbl: Label 'Gas Consumption Tax Vans', MaxLength = 100; + RepmaintenanceVansLbl: Label 'Rep. & Maintenance Vans', MaxLength = 100; + FerryticketsbridgetollsAutoMobileLbl: Label 'Ferry Tickets & Bridge Tolls Auto Mobile', MaxLength = 100; + TotalvehicleoperationsLbl: Label 'TOTAL VEHICLE OPERATIONS', MaxLength = 100; + VansLbl: Label 'VANS', MaxLength = 100; + RentalLeasingFeeVansLbl: Label 'Rental & Leasing Fee Vans', MaxLength = 100; + GasVansLbl: Label 'Gas - Vans', MaxLength = 100; + GasconsumptiontaxAutoMobileLbl: Label 'Gas Consumption Tax - Auto Mobile', MaxLength = 100; + InsurancesVansLbl: Label 'Insurances Vans', MaxLength = 100; + RepmaintenanceAutoMobileLbl: Label 'Rep. & Maintenance Auto Mobile', MaxLength = 100; + FerryticketsbridgetollsVansLbl: Label 'Ferry Tickets & Bridge Tolls Vans', MaxLength = 100; + VanstotalExpenseLbl: Label 'VANS, TOTAL Expense', MaxLength = 100; + MachinesLbl: Label 'MACHINES', MaxLength = 100; + RentalLeasingFeeMachineLbl: Label 'Rental & Leasing Fee Machine', MaxLength = 100; + MachineoperatingcostsLbl: Label 'Machine Operating Costs', MaxLength = 100; + MachrepairsandmaintenanceLbl: Label 'Mach. Repairs and Maintenance', MaxLength = 100; + MachineryinsuranceLbl: Label 'Machinery Insurance', MaxLength = 100; + MachinestotalLbl: Label 'MACHINES, TOTAL', MaxLength = 100; + CostofofficeworkshopspaceLbl: Label 'COST OF OFFICE & WORKSHOP SPACE', MaxLength = 100; + RentLbl: Label 'Rent', MaxLength = 100; + InsuranceCostOfWorkSpaceLbl: Label 'Insurance Cost Of WorkSpace', MaxLength = 100; + ElectricityLbl: Label 'Electricity ', MaxLength = 100; + WaterLbl: Label 'Water', MaxLength = 100; + HeatingLbl: Label 'Heating', MaxLength = 100; + NaturalgasLbl: Label 'Natural Gas', MaxLength = 100; + TaxesCostOfWorkSpaceLbl: Label 'Taxes Cost Of WorkSpace', MaxLength = 100; + NewacquisitionsLbl: Label 'New Acquisitions', MaxLength = 100; + TotalcostofofficeworkshopspaceLbl: Label 'TOTAL COST OF OFFICE & WORKSHOP SPACE', MaxLength = 100; + AdministrativecostsLbl: Label 'ADMINISTRATIVE COSTS', MaxLength = 100; + PhonescellphonesLbl: Label 'Phones & Cell Phones', MaxLength = 100; + InternetwebsiteLbl: Label 'Internet & Website', MaxLength = 100; + NewspapersmagazinesLbl: Label 'Newspapers & Magazines', MaxLength = 100; + SubscriptionsmembershipfeesLbl: Label 'Subscriptions & Membership Fees', MaxLength = 100; + OfficestationaryLbl: Label 'Office Stationary', MaxLength = 100; + PostagefeesLbl: Label 'Postage & Fees', MaxLength = 100; + InsurancesAdminCostLbl: Label 'Insurances Administration Cost', MaxLength = 100; + MinoracquisitionsLbl: Label 'Minor Acquisitions', MaxLength = 100; + ConferenceexpensesLbl: Label 'Conference Expenses', MaxLength = 100; + AccountingcostsLbl: Label 'Accounting Costs', MaxLength = 100; + AuditingaccountingassistanceLbl: Label 'Auditing & Accounting Assistance', MaxLength = 100; + LawyerLbl: Label 'Lawyer', MaxLength = 100; + LegalaidLbl: Label 'Legal Aid', MaxLength = 100; + RepairsandmaintenancefurnitureequipmentLbl: Label 'Repairs and Maintenance, Furniture & Equipment', MaxLength = 100; + ItexpensesLbl: Label 'IT Expenses', MaxLength = 100; + SalarycostsLbl: Label 'Salary Costs', MaxLength = 100; + FreightExpenseLbl: Label 'Freight-Expense', MaxLength = 100; + ChargesLbl: Label 'Charges', MaxLength = 100; + TotaladministrativecostsLbl: Label 'TOTAL ADMINISTRATIVE COSTS', MaxLength = 100; + TotalcostsLbl: Label 'TOTAL COSTS', MaxLength = 100; + ResbeforedepreciationLbl: Label 'RES. BEFORE DEPRECIATION', MaxLength = 100; + DepreciationBeginTotalLbl: Label 'DEPRECIATION - Begin Total', MaxLength = 100; + VansBeginTotalExpenseLbl: Label 'Vans - Begin Total Expense ', MaxLength = 100; + CarsLbl: Label 'Cars', MaxLength = 100; + FurnitureequipmentLbl: Label 'Furniture & Equipment', MaxLength = 100; + GoodwillLbl: Label 'Goodwill', MaxLength = 100; + TotaldepreciationLbl: Label 'TOTAL DEPRECIATION', MaxLength = 100; + ResbeforefinancialitemsLbl: Label 'RES. BEFORE FINANCIAL ITEMS', MaxLength = 100; + FinancialitemsLbl: Label 'FINANCIAL ITEMS', MaxLength = 100; + OperatingincomeLbl: Label 'OPERATING INCOME', MaxLength = 100; + BankinterestFinancalItemsLbl: Label 'Bank Interest Financal Items', MaxLength = 100; + AccountsreceivableinterestLbl: Label 'Accounts Receivable, Interest', MaxLength = 100; + TotaloperatingincomeLbl: Label 'TOTAL OPERATING INCOME', MaxLength = 100; + FinancialexpensesLbl: Label 'FINANCIAL EXPENSES', MaxLength = 100; + BankinterestFinancalExpenseLbl: Label 'Bank Interest Financal Expense', MaxLength = 100; + AccountspayableinterestLbl: Label 'Accounts Payable, Interest', MaxLength = 100; + AccountspayablechargesLbl: Label 'Accounts Payable, Charges', MaxLength = 100; + AdditionalinterestexpensesLbl: Label 'Additional Interest Expenses', MaxLength = 100; + CentdiscrepanciesLbl: Label 'Cent Discrepancies', MaxLength = 100; + DisallowedinterestdeductionsLbl: Label 'Disallowed Interest Deductions', MaxLength = 100; + TotalfinancialexpensesLbl: Label 'TOTAL FINANCIAL EXPENSES', MaxLength = 100; + TotalfinancialitemsLbl: Label 'TOTAL FINANCIAL ITEMS', MaxLength = 100; + ResultbeforetaxLbl: Label 'RESULT BEFORE TAX', MaxLength = 100; + TaxesBeginTotalLbl: Label 'TAXES Begin-Total', MaxLength = 100; + TaxesLbl: Label 'Taxes', MaxLength = 100; + TotaltaxesLbl: Label 'TOTAL TAXES', MaxLength = 100; + PeriodearningsLbl: Label 'PERIOD EARNINGS', MaxLength = 100; + BalanceLbl: Label 'BALANCE', MaxLength = 100; + GoodwillBeginTotalLbl: Label 'GOODWILL - Begin Total', MaxLength = 100; + OpeningbalanceLbl: Label 'Opening Balance', MaxLength = 100; + DepreciationLbl: Label 'Depreciation', MaxLength = 100; + TotalgoodwillLbl: Label 'TOTAL GOODWILL', MaxLength = 100; + TotalintangiblefixedassetsLbl: Label 'TOTAL INTANGIBLE FIXED ASSETS', MaxLength = 100; + FinancialfixedassetsLbl: Label 'FINANCIAL FIXED ASSETS', MaxLength = 100; + CommonstockLbl: Label 'Common Stock', MaxLength = 100; + TotalsecuritiesLbl: Label 'TOTAL SECURITIES', MaxLength = 100; + TotalfinancialfixedassetsLbl: Label 'TOTAL FINANCIAL FIXED ASSETS', MaxLength = 100; + AcquisitioncostLandBuildingsLbl: Label 'Acquisition Cost - LandBuildings', MaxLength = 100; + AdditionLandBuildingsLbl: Label 'Addition - Land & Buildings', MaxLength = 100; + OutputLandBuildingsLbl: Label 'Output - Land Buildings', MaxLength = 100; + AccdepreciationLandBuildingsLbl: Label 'Acc. Depreciation - Land Buildings', MaxLength = 100; + DepreciationfortheyearLandBuildingsLbl: Label 'Depreciation for the Year - Land Buildings', MaxLength = 100; + TotallandandbuildingsLbl: Label 'TOTAL LAND AND BUILDINGS', MaxLength = 100; + CarsBeginTotalLbl: Label 'CARS - Begin Total', MaxLength = 100; + AcquisitioncostFurnitureLbl: Label 'Acquisition Cost - Furniture', MaxLength = 100; + AdditionCarsLbl: Label 'Addition - Cars', MaxLength = 100; + OutputFurnitureLbl: Label 'Output - Furniture', MaxLength = 100; + AccdepreciationCarsLbl: Label 'Acc. Depreciation - Cars', MaxLength = 100; + DepreciationfortheyearCarsLbl: Label 'Depreciation for the Year - Cars', MaxLength = 100; + CarstotalLbl: Label 'CARS, TOTAL', MaxLength = 100; + VansBeginTotalAssetsLbl: Label 'VANS - Begin Total Assets', MaxLength = 100; + AcquisitioncostOperatingEquipmentLbl: Label 'Acquisition Cost - Operating Equipment', MaxLength = 100; + AdditionVansLbl: Label 'Addition-Vans', MaxLength = 100; + OutputOperatingEquipmentsLbl: Label 'Output - Operating Equipments', MaxLength = 100; + AccdepreciationVansLbl: Label 'Acc. Depreciation - Vans', MaxLength = 100; + DepreciationfortheyearVansLbl: Label 'Depreciation for the Year - Vans', MaxLength = 100; + VanstotalAssetsLbl: Label 'VANS, TOTAL Assets', MaxLength = 100; + AcquisitioncostVansLbl: Label 'Acquisition Cost Vans', MaxLength = 100; + AdditionFurnitureLbl: Label 'Addition - Furniture', MaxLength = 100; + OutputCarsLbl: Label 'Output - Cars', MaxLength = 100; + AccdepreciationOperatingLbl: Label 'Acc. Depreciation - Operating', MaxLength = 100; + DepreciationfortheyearFurnitureLbl: Label 'Depreciation for the Year - Furniture', MaxLength = 100; + TotaloperatingequipmentLbl: Label 'TOTAL OPERATING EQUIPMENT', MaxLength = 100; + FurnitureequipmentBeginTotalLbl: Label 'FURNITURE & EQUIPMENT Begin Total', MaxLength = 100; + AcquisitioncostCarsLbl: Label 'Acquisition Cost Cars', MaxLength = 100; + AdditionOperatingEquipmentLbl: Label 'Addition - Operating Equipments', MaxLength = 100; + OutputVansLbl: Label 'Output - Vans', MaxLength = 100; + AccdepreciationFurnitureLbl: Label 'Acc. Depreciation - Furniture', MaxLength = 100; + DepreciationfortheyearOperatingLbl: Label 'Depreciation for the Year - Operating', MaxLength = 100; + TotalfurnitureequipmentLbl: Label 'TOTAL FURNITURE & EQUIPMENT', MaxLength = 100; + TotaltangiblefixedassetsLbl: Label 'TOTAL TANGIBLE FIXED ASSETS', MaxLength = 100; + InventoryadjustmentLbl: Label 'Inventory Adjustment', MaxLength = 100; + ItemreceivedLbl: Label 'Item Received', MaxLength = 100; + ItemshippedLbl: Label 'Item Shipped', MaxLength = 100; + TotalinventoryLbl: Label 'TOTAL INVENTORY', MaxLength = 100; + ReceivablesLbl: Label 'RECEIVABLES', MaxLength = 100; + DeferredLbl: Label 'Deferred', MaxLength = 100; + PrepaymentsReceivablesLbl: Label 'Prepayments - Receivables', MaxLength = 100; + DepositsLbl: Label 'DEPOSITS', MaxLength = 100; + DepositstenancyLbl: Label 'Deposits, Tenancy', MaxLength = 100; + TotaldepositsLbl: Label 'TOTAL DEPOSITS', MaxLength = 100; + WorkinprocessBeginTotalLbl: Label 'WORK IN PROCESS', MaxLength = 100; + WorkinprocessLbl: Label 'Work in Process', MaxLength = 100; + InvoicedonaccountLbl: Label 'Invoiced On-Account', MaxLength = 100; + TotalworkinprocessLbl: Label 'TOTAL WORK IN PROCESS', MaxLength = 100; + TotalreceivablesLbl: Label 'TOTAL RECEIVABLES', MaxLength = 100; + CashflowfundsLbl: Label 'CASHFLOW FUNDS', MaxLength = 100; + CheckoutLbl: Label 'Checkout', MaxLength = 100; + BankLbl: Label 'Bank', MaxLength = 100; + BankaccountcurrenciesLbl: Label 'Bank Account CURRENCIES', MaxLength = 100; + TotalcashflowfundsLbl: Label 'TOTAL CASHFLOW FUNDS', MaxLength = 100; + TotalcurrentassetsLbl: Label 'TOTAL CURRENT ASSETS', MaxLength = 100; + EquityLbl: Label 'EQUITY', MaxLength = 100; + OpeningequityLbl: Label 'Opening Equity', MaxLength = 100; + RetainedearningsfortheyearLbl: Label 'Retained Earnings for the Year', MaxLength = 100; + PrivatewithdrawalsetcLbl: Label 'PRIVATE WITHDRAWALS ETC.', MaxLength = 100; + PaidbtaxeslabormarketcontributionLbl: Label 'Paid B Taxes/Labor Market Contribution', MaxLength = 100; + PrivatephoneusageLbl: Label 'Private Phone Usage', MaxLength = 100; + WithdrawalforpersonaluseLbl: Label 'Withdrawal for Personal Use', MaxLength = 100; + TotalprivatewithdrawalsLbl: Label 'TOTAL PRIVATE WITHDRAWALS', MaxLength = 100; + EquityatendofyearLbl: Label 'EQUITY AT END OF YEAR', MaxLength = 100; + MortgagedebtLbl: Label 'Mortgage Debt', MaxLength = 100; + BankdebtLbl: Label 'Bank Debt', MaxLength = 100; + InventoryLbl: Label 'Inventory', MaxLength = 100; + InventoryBeginTotalLbl: Label 'Inventory - BeginTotal', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payables', MaxLength = 100; + AccountsPayableBeginTotalLbl: Label 'Accounts Payable _ Begin Total', MaxLength = 100; + TotallongtermliabilitiesLbl: Label 'TOTAL LONG-TERM LIABILITIES', MaxLength = 100; + DebttofinancialinstitutionLbl: Label 'DEBT TO FINANCIAL INSTITUTION', MaxLength = 100; + TotaldebttofinancialinstitutionLbl: Label 'TOTAL DEBT TO FINANCIAL INSTITUTION', MaxLength = 100; + SalestaxandothertaxesLbl: Label 'SALES TAX AND OTHER TAXES', MaxLength = 100; + SalestaxpayableSalesTaxLbl: Label 'Sales Tax Payable (Sales Tax)', MaxLength = 100; + SalestaxreceivableInputTaxLbl: Label 'Sales Tax Receivable (Input Tax)', MaxLength = 100; + SalestaxonoverseaspurchasesLbl: Label 'Sales Tax on Overseas Purchases', MaxLength = 100; + EuacquisitiontaxLbl: Label 'EU Acquisition Tax', MaxLength = 100; + OiltaxLbl: Label 'Oil Tax', MaxLength = 100; + MachineryRentalLeasingFeeLbl: Label 'Machinery Rental & Leasing Fee', MaxLength = 100; + SalestaxsettlementaccountLbl: Label 'Sales Tax Settlement Account', MaxLength = 100; + TotalsalestaxLbl: Label 'TOTAL SALES TAX', MaxLength = 100; + AccruedtaxLbl: Label 'Accrued Tax', MaxLength = 100; + AdditionalcostsLbl: Label 'Additional Costs', MaxLength = 100; + PrepaymentsAccountsPayableLbl: Label 'Prepayments - Accounts Payable', MaxLength = 100; + TotalshorttermliabilitiesLbl: Label 'TOTAL SHORT-TERM LIABILITIES', MaxLength = 100; + TotalaccountspayableLbl: Label 'TOTAL ACCOUNTS PAYABLE', MaxLength = 100; + AccruedcostsBeginTotalLbl: Label 'ACCRUED COSTS', MaxLength = 100; + AccruedcostsLbl: Label 'Accrued Costs', MaxLength = 100; + DeferralsLbl: Label 'Deferrals', MaxLength = 100; + PrepaymentsAccruedCostsLbl: Label 'Prepayments - Accrued Costs', MaxLength = 100; + TotalaccruedcostsLbl: Label 'TOTAL ACCRUED COSTS', MaxLength = 100; + PayrollliabilitiesBeginTotalLbl: Label 'PAYROLL LIABILITIES', MaxLength = 100; + LabormarketcontributionpayableLbl: Label 'Labor Market Contribution Payable', MaxLength = 100; + RetirementplancontributionspayableLbl: Label 'Retirement Plan Contributions Payable', MaxLength = 100; + PayrollliabilitiesLbl: Label 'Payroll Liabilities', MaxLength = 100; + TotalpayrollliabilitiesLbl: Label 'TOTAL PAYROLL LIABILITIES', MaxLength = 100; + AllnullLbl: Label '***** ALL NULL *****', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchDK.Codeunit.al new file mode 100644 index 0000000000..cc10063c1c --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchDK.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 13717 "Create Gen. Journal Batch DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure UpdateGenJournalBatch() + var + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + begin + ValidateRecordFields(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Monthly(), CreateGLAccountDK.Checkout()); + ValidateRecordFields(CreateGenJournalTemplate.CashReceipts(), CreateGenJournalBatch.General(), CreateGLAccountDK.Checkout()); + ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.Cash(), CreateGLAccountDK.Checkout()); + ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.General(), CreateGLAccountDK.Checkout()); + end; + + local procedure ValidateRecordFields(JournalTemplateName: Code[10]; BatchName: Code[10]; BalAccountNo: Code[20]) + var + GenJournalBatch: Record "Gen. Journal Batch"; + begin + GenJournalBatch.Get(JournalTemplateName, BatchName); + GenJournalBatch.Validate("Bal. Account No.", BalAccountNo); + GenJournalBatch.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupDK.Codeunit.al new file mode 100644 index 0000000000..2899a4b2d2 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupDK.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 13739 "Create General Ledger Setup DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + CreateCurrency: Codeunit "Create Currency"; + begin + ValidateRecordFields(CreateCurrency.DKK(), 0.001, true); + end; + + local procedure ValidateRecordFields(LCYCode: Code[10]; UnitAmountRoundingPrecision: Decimal; DataCheck: Boolean) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("Local Currency Symbol", ''); + GeneralLedgerSetup.Validate("Local Currency Description", ''); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Enable Data Check", DataCheck); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := UnitAmountRoundingPrecision; + GeneralLedgerSetup.Modify(true); + end; +} diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsDK.Codeunit.al new file mode 100644 index 0000000000..3bf6af4c33 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsDK.Codeunit.al @@ -0,0 +1,89 @@ +codeunit 13714 "Create Posting Groups DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertGenBusinessPostingGroup(); + InsertGenPostingSetupWithoutGLAccounts(); + UpdateGenProductPostingGroup() + end; + + procedure InsertGenPostingGroup() + var + CreateVATPostingGroupsDK: Codeunit "Create VAT Posting Groups DK"; + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertGenProductPostingGroup(ServicePostingGroup(), ServiceDescriptionLbl, CreateVATPostingGroupsDK.Vat25Serv()); + end; + + local procedure UpdateGenProductPostingGroup() + var + GenProductPostingGroup: Record "Gen. Product Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVATPostingGroupsDK: Codeunit "Create VAT Posting Groups DK"; + begin + GenProductPostingGroup.Get(CreatePostingGroups.ServicesPostingGroup()); + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", CreateVATPostingGroupsDK.Vat25Serv()); + GenProductPostingGroup.Modify(true); + end; + + local procedure InsertGenBusinessPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertGenBusinessPostingGroup(IntercompanyPostingGroup(), IntercompanyPostingGroupDescriptionLbl, ''); + end; + + local procedure InsertGenPostingSetupWithoutGLAccounts() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateDKGLAcc: Codeunit "Create GL Acc. DK"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', '', '', '', '', CreateDKGLAcc.Costofgoodssold(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ZeroPostingGroup(), '', '', CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', '', '', '', '', CreateDKGLAcc.Costofgoodssold(), '', ''); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateDKGLAcc.Salesofgoodsandservicestoothercountries(), CreateDKGLAcc.InventoryPosting(), CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Costofgoodssold(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateDKGLAcc.Salesofgoodsandservicestoothercountries(), CreateDKGLAcc.Foreignlabor(), CreateDKGLAcc.Iteminventoryadjustment(), '', '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateDKGLAcc.Salesofgoodsandservicestoothercountries(), CreateDKGLAcc.InventoryPosting(), CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Costofgoodssold(), '', ''); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateDKGLAcc.Eusalesofgoodsandservices(), CreateDKGLAcc.InventoryPosting(), CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Costofgoodssold(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateDKGLAcc.Eusalesofgoodsandservices(), CreateDKGLAcc.Foreignlabor(), CreateDKGLAcc.Iteminventoryadjustment(), '', '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateDKGLAcc.Eusalesofgoodsandservices(), CreateDKGLAcc.InventoryPosting(), CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Costofgoodssold(), '', ''); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateDKGLAcc.Domesticsalesofgoodsandservices(), CreateDKGLAcc.InventoryPosting(), CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Costofgoodssold(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateDKGLAcc.Domesticsalesofgoodsandservices(), CreateDKGLAcc.Foreignlabor(), CreateDKGLAcc.Iteminventoryadjustment(), '', '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateDKGLAcc.Domesticsalesofgoodsandservices(), CreateDKGLAcc.InventoryPosting(), CreateDKGLAcc.Iteminventoryadjustment(), CreateDKGLAcc.InventoryPosting(), '', '', CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsgranted(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Discountsreceived(), CreateDKGLAcc.Costofgoodssold(), '', ''); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure ServicePostingGroup(): Code[20] + begin + exit(ServiceTok); + end; + + procedure IntercompanyPostingGroup(): Code[20] + begin + exit(IntercompanyTok); + end; + + var + ServiceTok: Label 'SERVICE', Locked = true; + ServiceDescriptionLbl: Label 'Resources, etc.', MaxLength = 100, Locked = true; + IntercompanyTok: Label 'INTERCOMP', Locked = true; + IntercompanyPostingGroupDescriptionLbl: Label 'Intercompany', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateResourceDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateResourceDK.Codeunit.al new file mode 100644 index 0000000000..4c2ee5d75b --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateResourceDK.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 13712 "Create Resource DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateVatPostingGroupsDK: Codeunit "Create Vat Posting Groups DK"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Rec, CopenhagenLbl, 430, 473, 45, 860, PostCode1152Lbl, CreateVatPostingGroupsDK.Vat25Serv()); + CreateResource.Marty(): + ValidateRecordFields(Rec, CopenhagenLbl, 390, 429, 44.28571, 770, PostCode1152Lbl, CreateVatPostingGroupsDK.Vat25Serv()); + CreateResource.Lina(): + ValidateRecordFields(Rec, HorsholmLbl, 510, 561, 45.53398, 1030, PostCode2970Lbl, CreateVatPostingGroupsDK.Vat25Serv()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + CopenhagenLbl: Label 'Copenhagen K', MaxLength = 30, Locked = true; + HorsholmLbl: Label 'Horsholm', Locked = true; + PostCode1152Lbl: Label '1152', MaxLength = 20; + PostCode2970Lbl: Label '2970', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATPostingGroupsDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATPostingGroupsDK.Codeunit.al new file mode 100644 index 0000000000..2ab3326cd5 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATPostingGroupsDK.Codeunit.al @@ -0,0 +1,63 @@ +codeunit 13713 "Create Vat Posting Groups DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(Vat25Serv(), ''); + end; + + procedure UpdateVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateGLAccDK: Codeunit "Create GL Acc. DK"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + + ContosoPostingSetup.InsertVATPostingSetup('', Vat25Serv(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), Vat25Serv(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Standard(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Zero(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Vat25Serv(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), Vat25Serv(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Standard(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), Vat25Serv(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), Vat25Serv(), 25, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccDK.Euacquisitiontax(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Standard(), 25, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccDK.Euacquisitiontax(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Zero(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), Vat25Serv(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), Vat25Serv(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Zero(), CreateGLAccDK.SalestaxpayableSalesTax(), CreateGLAccDK.SalestaxreceivableInputTax(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Posting Setup", 'OnAfterInsertEvent', '', false, false)] + local procedure OnAfterInsertVatPostingSetup(var Rec: Record "VAT Posting Setup") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + Rec.SetRange("VAT Prod. Posting Group", CreateVATPostingGroups.Reduced()); + if Rec.FindSet() then + Rec.Delete(true); + end; + + procedure Vat25Serv(): Code[20] + begin + exit(Vat25ServTok); + end; + + var + Vat25ServTok: Label 'VAT25SERV', Locked = true; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostGrpDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostGrpDK.Codeunit.al new file mode 100644 index 0000000000..ce0359247f --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostGrpDK.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 13703 "Create VAT Setup Post.Grp. DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + CreateVatSetupPostingGrp(); + end; + + local procedure CreateVatSetupPostingGrp() + var + CreateVatPostingGroup: Codeunit "Create VAT Posting Groups"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVatPostingGroupDK: Codeunit "Create VAT Posting Groups DK"; + CreateGLAccDK: Codeunit "Create GL Acc. DK"; + begin + ContosoVATStatement.SetOverwriteData(true); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Standard(), true, 25, CreateGLAccDk.SalestaxpayableSalesTax(), CreateGLAccDk.SalestaxreceivableInputTax(), true, 1, NormalVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Zero(), true, 0, CreateGLAccDk.SalestaxpayableSalesTax(), CreateGLAccDk.SalestaxreceivableInputTax(), true, 1, NoVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupDK.Vat25Serv(), true, 25, CreateGLAccDk.SalestaxpayableSalesTax(), CreateGLAccDk.SalestaxreceivableInputTax(), true, 1, Vat25ServDescriptionLbl); + ContosoVATStatement.SetOverwriteData(false); + end; + + var + NormalVatDescriptionLbl: Label 'Setup for EXPORT / STANDARD', MaxLength = 100; + NoVatDescriptionLbl: Label 'Setup for EXPORT / ZERO', MaxLength = 100; + Vat25ServDescriptionLbl: Label 'Setup for EXPORT / VAT25SERV', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATStatementLineDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATStatementLineDK.Codeunit.al new file mode 100644 index 0000000000..ee6ae6c61c --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/1.Setup Data/CreateVATStatementLineDK.Codeunit.al @@ -0,0 +1,100 @@ +codeunit 13704 "Create VAT Statement Line DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + CreateVATStatementLine(); + end; + + local procedure CreateVATStatementLine() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroupsDK: Codeunit "Create VAT Posting Groups DK"; + begin + ContosoVatStatement.SetOverwriteData(true); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 10000, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, SalesVAT25outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 20000, '1019', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1010..1018', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SalesVAT25outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 30000, '1030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, VAT25onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 40000, '1031', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, VAT25onforeignpurchasesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 50000, '1039', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1030..1038', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VAT25ongoodspurchasedabroadLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 60000, '1040', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsDK.Vat25Serv(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, VAT25onEUservicepurchasesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 70000, '1041', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroupsDK.Vat25Serv(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 0, VAT25onforeignservicepurchasesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 80000, '1049', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1040..1048', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VAT25onforeignservicepurchasesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 90000, '1050', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 100000, '1070', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1019|1039|1049', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 110000, '1099', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 120000, '1110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT25DomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 130000, '1130', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT25EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 140000, '1131', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, VAT25onforeignpurchasesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 150000, '1140', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsDK.Vat25Serv(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, VAT25onEUservicepurchasesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 160000, '1141', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroupsDK.Vat25Serv(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, VAT25onservicepurchasesforeignLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 170000, '1159', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1110..1158', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, PurchaseVATingoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 180000, '1160', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 190000, '1180', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, FuelTaxLbl, '24210'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 200000, '1181', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ElectricityTaxLbl, '24220'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 210000, '1182', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NaturalGasTaxLbl, '24240'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 220000, '1183', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, CoalTaxLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 230000, '1184', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, CO2TaxLbl, '24230'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 240000, '1185', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, WaterTaxLbl, '24250'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 250000, '1189', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1180..1188', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalTaxesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 260000, '1190', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1159|1189', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDeductionsLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 270000, '1194', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 280000, '1195', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1070|1190', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VATPayableLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 290000, '1196', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 300000, '1210', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofEUPurchases25Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 310000, '1219', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1210..1218', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueofEUPurchases25Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 320000, '1220', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroupsDK.Vat25Serv(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofEUservicepurchases25Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 330000, '1229', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1220..1228', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueofEUservicepurchases25Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 340000, '1230', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofnonVATliableEUsalesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 350000, '1239', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1230..1238', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueofnonVATliableEUsalesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 360000, '1240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ValueofnonVATliableEUsalesotherLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 370000, '1249', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueofnonVATliableEUsalesotherLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 380000, '1310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesExportLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 390000, '1319', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1310..1318', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesExportLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 400000, '1320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesDenmarkLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 410000, '1329', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1320..1328', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesDenmarkLbl, ''); + ContosoVatStatement.SetOverwriteData(false); + end; + + + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + SalesVAT25outgoingLbl: Label 'Sales VAT 25 % (outgoing)', MaxLength = 100; + VAT25onEUPurchasesetcLbl: Label 'VAT 25 % % on EU Purchases etc.', MaxLength = 100; + VAT25ongoodspurchasedabroadLbl: Label 'VAT 25% on goods purchased abroad', MaxLength = 100; + VAT25onEUservicepurchasesLbl: Label 'VAT 25% on EU service purchases', MaxLength = 100; + VAT25onforeignservicepurchasesLbl: Label 'VAT 25% on foreign service purchases', MaxLength = 100; + TotalLbl: Label 'Total', MaxLength = 100; + PurchaseVAT25DomesticLbl: Label 'Purchase VAT 25 % Domestic', MaxLength = 100; + PurchaseVAT25EULbl: Label 'Purchase VAT 25 % EU', MaxLength = 100; + VAT25onforeignpurchasesLbl: Label 'VAT 25% on foreign purchases', MaxLength = 100; + VAT25onservicepurchasesforeignLbl: Label 'VAT 25% on service purchases, foreign', MaxLength = 100; + PurchaseVATingoingLbl: Label 'Purchase VAT (ingoing)', MaxLength = 100; + FuelTaxLbl: Label 'Fuel Tax', MaxLength = 100; + ElectricityTaxLbl: Label 'Electricity Tax', MaxLength = 100; + NaturalGasTaxLbl: Label 'Natural Gas Tax', MaxLength = 100; + CoalTaxLbl: Label 'Coal Tax', MaxLength = 100; + CO2TaxLbl: Label 'CO2 Tax', MaxLength = 100; + WaterTaxLbl: Label 'Water Tax', MaxLength = 100; + TotalTaxesLbl: Label 'Total Taxes', MaxLength = 100; + TotalDeductionsLbl: Label 'Total Deductions', MaxLength = 100; + VATPayableLbl: Label 'VAT Payable', MaxLength = 100; + ValueofEUPurchases25Lbl: Label 'Value of EU Purchases 25 %', MaxLength = 100; + ValueofEUservicepurchases25Lbl: Label 'Value of EU service purchases 25 %', MaxLength = 100; + ValueofnonVATliableEUsalesLbl: Label 'Value of non-VAT liable EU sales', MaxLength = 100; + ValueofnonVATliableEUsalesotherLbl: Label 'Value of non-VAT liable EU sales, other', MaxLength = 100; + NonVATliablesalesExportLbl: Label 'Non-VAT liable sales, Export', MaxLength = 100; + NonVATliablesalesDenmarkLbl: Label 'Non-VAT liable sales, Denmark', MaxLength = 100; + SeparationLineLbl: Label '--------------------------------------------------', Locked = true; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateDK.Codeunit.al new file mode 100644 index 0000000000..94004bd00e --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateDK.Codeunit.al @@ -0,0 +1,208 @@ +codeunit 13743 "Create Currency Ex. Rate DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 856.1644, 856.1644); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 916.49, 916.49); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 880.25, 880.25); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 200.131, 200.131); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 293.66, 293.66); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 270.63, 270.63); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 336.47, 336.47); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 209.93, 209.93); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 369.78, 369.78); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 465.26, 465.26); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 22.7896, 22.7896); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 9.6039, 9.6039); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 9.6039, 9.6039); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 5.5289, 5.5289); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 258.05, 258.05); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 75.03, 75.03); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 101.169, 101.169); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.1459, 3.1459); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0826, 0.0826); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 12.33, 12.33); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 8.52, 8.52); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.97, 4.97); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 9.2691, 9.2691); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 70.4939, 70.4939); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 61.73, 61.73); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 154.62, 154.62); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.3184, 0.3184); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 5.8221, 5.8221); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 87.85, 87.85); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 248.54, 248.54); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 11.47, 11.47); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 142.12, 142.12); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.2248, 0.2248); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 8.7533, 8.7533); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 20.12, 20.12); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 156.51, 156.51); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 108.65, 108.65); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 87.05, 87.05); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 89.7, 89.7); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 84.73, 84.73); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 338.61, 338.61); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 80.7736, 80.7736); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 13.18, 13.18); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 539.479, 539.479); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 2.9216, 2.9216); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 456.674, 456.674); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.4249, 0.4249); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 555.5, 555.5); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.11, 4.11); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2050.86, 2050.86); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6.254, 6.254); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 68.41, 68.41); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 746.02, 746.02); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 87.05, 87.05); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 562.52, 562.52); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 745.48, 745.48); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 89.7, 89.7); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 580.59, 580.59); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/CreateDKGLAccounts.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/2.Master Data/CreateDKGLAccounts.Codeunit.al similarity index 94% rename from Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/CreateDKGLAccounts.Codeunit.al rename to Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/2.Master Data/CreateDKGLAccounts.Codeunit.al index 778bf6c5a0..c0f47f73a1 100644 --- a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/CreateDKGLAccounts.Codeunit.al +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Finance/2.Master Data/CreateDKGLAccounts.Codeunit.al @@ -27,8 +27,8 @@ codeunit 13699 "Create DK GL Accounts" ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '02020'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '02020'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '02410'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '02410'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '16400'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '02020'); @@ -50,7 +50,7 @@ codeunit 13699 "Create DK GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; SvcGLAccount: Codeunit "Create Svc GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '01750'); + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] @@ -61,16 +61,16 @@ codeunit 13699 "Create DK GL Accounts" begin ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '02100'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '02100'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '02410'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '02420'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '02421'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '02422'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '02423'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '02424'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), ''); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '16300'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '16800'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFADepreciationBookDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFADepreciationBookDK.Codeunit.al new file mode 100644 index 0000000000..9472e0b5b5 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFADepreciationBookDK.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 13742 "Create FA Depreciation Book DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFAInsJnlTemplateDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFAInsJnlTemplateDK.Codeunit.al new file mode 100644 index 0000000000..959dcf73ef --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFAInsJnlTemplateDK.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 13746 "Create FA Ins Jnl. Template DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateFANoSeries: Codeunit "Create FA No Series"; + CreateFAInsJnlTemplate: Codeunit "Create FA Ins Jnl. Template"; + begin + ContosoFixedAsset.SetOverwriteData(true); + ContosoFixedAsset.InsertInsuranceJournalTemplate(CreateFAInsJnlTemplate.Insurance(), InsuranceJournalLbl, CreateFANoSeries.InsuranceJournal()); + ContosoFixedAsset.InsertInsuranceJournalBatch(CreateFAInsJnlTemplate.Insurance(), CreateFAInsJnlTemplate.Default(), DefaultJournalBatchLbl); + ContosoFixedAsset.SetOverwriteData(false); + end; + + var + InsuranceJournalLbl: Label 'Insurance Journal', MaxLength = 50; + DefaultJournalBatchLbl: Label 'Default Journal Batch', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFANoSeriesDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFANoSeriesDK.Codeunit.al new file mode 100644 index 0000000000..8878653781 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFANoSeriesDK.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 13707 "Create FA No. Series DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + CreateFANoSeries: Codeunit "Create FA No Series"; + begin + UpdateFANoSeriesLine(CreateFANoSeries.InsuranceJournal(), 10000, 'N00001', 'N01000'); + UpdateFANoSeriesLine(CreateFANoSeries.FixedAssetGLJournal(), 10000, 'F00001', 'F01000'); + UpdateFANoSeriesLine(CreateFANoSeries.RecurringFixedAssetGLJournal(), 10000, 'RF00001', 'RF01000'); + end; + + local procedure UpdateFANoSeriesLine(NoSeriesCode: Code[20]; LineNo: Integer; StartingNo: Code[20]; EndingNo: Code[20]) + var + NoSeriesLine: Record "No. Series Line"; + begin + NoSeriesLine.Get(NoSeriesCode, LineNo); + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Ending No.", EndingNo); + NoSeriesLine.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFAPostingGrpDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFAPostingGrpDK.Codeunit.al new file mode 100644 index 0000000000..1313332fe7 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFAPostingGrpDK.Codeunit.al @@ -0,0 +1,75 @@ +codeunit 13708 "Create FA Posting Grp. DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoFixedAsset.InsertFAPostingGroup(Furniture(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.OutputLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.Chargeexsalestax(), CreateGLAccountDK.Chargebeforesalestax(), CreateGLAccount.RepairsandMaintenance(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccount.LandandBuildings()); + ContosoFixedAsset.InsertFAPostingGroup(IP(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.OutputLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.Chargeexsalestax(), CreateGLAccountDK.Chargebeforesalestax(), CreateGLAccount.RepairsandMaintenance(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccount.LandandBuildings()); + ContosoFixedAsset.InsertFAPostingGroup(Leasehold(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.OutputLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.Chargeexsalestax(), CreateGLAccountDK.Chargebeforesalestax(), CreateGLAccount.RepairsandMaintenance(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccount.LandandBuildings()); + ContosoFixedAsset.InsertFAPostingGroup(Patents(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.OutputLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.Chargeexsalestax(), CreateGLAccountDK.Chargebeforesalestax(), CreateGLAccount.RepairsandMaintenance(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccount.LandandBuildings()); + end; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroups(var Rec: Record "FA Posting Group") + var + CreateFAPostingGrp: Codeunit "Create FA Posting Group"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateFAPostingGrp.Equipment(), + CreateFAPostingGrp.Goodwill(), + CreateFAPostingGrp.Plant(), + CreateFAPostingGrp.Property(), + CreateFAPostingGrp.Vehicles(): + ValidateRecordFields(Rec, CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.OutputLandBuildings(), CreateGLAccountDK.AccdepreciationLandBuildings(), CreateGLAccountDK.Chargeexsalestax(), CreateGLAccountDK.Chargebeforesalestax(), CreateGLAccount.RepairsandMaintenance(), CreateGLAccountDK.AcquisitioncostLandBuildings(), CreateGLAccount.LandandBuildings()); + end; + end; + + local procedure ValidateRecordFields(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; + + procedure Furniture(): Code[20] + begin + exit(FurnitureTok); + end; + + procedure IP(): Code[20] + begin + exit(IPTok); + end; + + procedure Leasehold(): Code[20] + begin + exit(LeaseholdTok); + end; + + procedure Patents(): Code[20] + begin + exit(PatentsTok); + end; + + var + FurnitureTok: Label 'FURNITURE', Locked = true; + IPTok: Label 'IP', Locked = true; + LeaseHoldTok: Label 'LEASEHOLD', Locked = true; + PatentsTok: Label 'PATENTS', Locked = true; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFASubClassDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFASubClassDK.Codeunit.al new file mode 100644 index 0000000000..72e3d7ff7c --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Fixed Asset/1. SetupData/CreateFASubClassDK.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 13706 "Create FA SubClass DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateFAClass: Codeunit "Create FA Class"; + CreateFAPostingGrpDK: Codeunit "Create FA Posting Grp. DK"; + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + begin + ContosoFixedAsset.InsertFASubClass(FurnitureSubClass(), FurnitureLbl, CreateFAClass.TangibleClass(), CreateFAPostingGrpDK.Furniture()); + ContosoFixedAsset.InsertFASubClass(IPSubClass(), IPLbl, CreateFAClass.InTangibleClass(), CreateFAPostingGrpDK.IP()); + ContosoFixedAsset.InsertFASubClass(LeaseholdSubClass(), LeaseholdLbl, CreateFAClass.FinancialClass(), CreateFAPostingGrpDK.Leasehold()); + ContosoFixedAsset.InsertFASubClass(PatentsSubClass(), PatentsLbl, CreateFAClass.InTangibleClass(), CreateFAPostingGrpDK.Patents()); + end; + + procedure FurnitureSubClass(): Code[10] + begin + exit(FurnitureTok); + end; + + procedure IPSubClass(): Code[10] + begin + exit(IPTok); + end; + + procedure LeaseholdSubClass(): Code[10] + begin + exit(LeaseholdTok); + end; + + procedure PatentsSubClass(): Code[10] + begin + exit(PatentsTok); + end; + + var + FurnitureTok: Label 'FURNITURE', Locked = true; + FurnitureLbl: Label 'Furniture & Fixtures', MaxLength = 50; + IPTok: Label 'IP', Locked = true; + IPLbl: Label 'Intellectual Property', MaxLength = 50; + LeaseHoldTok: Label 'LEASEHOLD', Locked = true; + LeaseholdLbl: Label 'Leasehold', MaxLength = 50; + PatentsTok: Label 'PATENTS', Locked = true; + PatentsLbl: Label 'Patents', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Foundation/1. SetupData/CreateCompanyInformationDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Foundation/1. SetupData/CreateCompanyInformationDK.Codeunit.al new file mode 100644 index 0000000000..aa6371b435 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Foundation/1. SetupData/CreateCompanyInformationDK.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 13702 "Create Company Information DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + begin + ValidateRecordFields(VATRegNoLbl, CityLbl, PostcodeLbl, '<90D>', RegNoLbl); + end; + + local procedure ValidateRecordFields(VATRegistrationNo: Text[20]; City: Text[30]; PostCode: Code[20]; CheckAvailPeriodCalc: Text; RegNo: Text[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate("VAT Registration No.", VATRegistrationNo); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostcodeLbl); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + Evaluate(CompanyInformation."Check-Avail. Period Calc.", CheckAvailPeriodCalc); + CompanyInformation.Validate("Check-Avail. Period Calc."); + CompanyInformation.Validate("Registration No.", RegNo); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'Kugleby', Maxlength = 30; + PostcodeLbl: Label '9900', MaxLength = 20; + VATRegNoLbl: Label 'DK77777777', MaxLength = 20; + RegNoLbl: Label '12345678', MaxLength = 20; +} diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Foundation/1. SetupData/CreatePostCodeDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Foundation/1. SetupData/CreatePostCodeDK.Codeunit.al new file mode 100644 index 0000000000..2e484a96d7 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Foundation/1. SetupData/CreatePostCodeDK.Codeunit.al @@ -0,0 +1,1900 @@ +codeunit 13741 "Create Post Code DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostCodeDK: Codeunit "Contoso Post Code DK"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + UpdatePostCode('US-GA 31772', AtlantaLbl); + UpdatePostCode('US-FL 37125', MiamiLbl); + + ContosoPostCodeDK.InsertPostCode('1000', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1001', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1002', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1003', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1004', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1005', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1006', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1007', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1008', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1009', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1010', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1011', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1012', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1013', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1014', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1015', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1016', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1017', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1018', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1019', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1020', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1021', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1022', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1023', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1024', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1025', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1026', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1045', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1050', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1051', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1052', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1053', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1054', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1055', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1056', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1057', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1058', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1059', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1060', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1061', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1062', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1063', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1064', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1065', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1066', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1067', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1068', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1069', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1070', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1071', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1072', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1073', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1074', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1092', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1093', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1095', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1098', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1100', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1101', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1102', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1103', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1104', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1105', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1106', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1107', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1110', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1111', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1112', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1113', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1114', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1115', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1116', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1117', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1118', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1119', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1120', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1121', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1122', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1123', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1124', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1125', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1126', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1127', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1128', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1129', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1130', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1131', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1140', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1147', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1148', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1150', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1151', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1152', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1153', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1154', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1155', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1156', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1157', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1158', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1159', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1160', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1161', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1162', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1163', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1164', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1165', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1166', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1167', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1168', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1169', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1170', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1171', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1172', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1173', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1174', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1175', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1200', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1201', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1202', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1203', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1204', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1205', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1206', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1207', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1208', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1209', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1210', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1211', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1212', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1213', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1214', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1215', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1216', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1217', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1218', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1219', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1220', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1221', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1240', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1250', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1251', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1252', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1253', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1254', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1255', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1256', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1257', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1258', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1259', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1260', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1261', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1263', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1264', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1265', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1266', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1267', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1268', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1270', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1271', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1291', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1300', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1301', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1302', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1303', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1304', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1306', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1307', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1308', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1309', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1310', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1311', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1312', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1313', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1314', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1315', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1316', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1317', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1318', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1319', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1320', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1321', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1322', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1323', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1324', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1325', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1326', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1327', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1328', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1329', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1349', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1350', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1352', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1353', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1354', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1355', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1356', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1357', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1358', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1359', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1360', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1361', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1362', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1363', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1364', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1365', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1366', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1367', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1368', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1369', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1370', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1371', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1400', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1401', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1402', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1403', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1404', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1406', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1407', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1408', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1409', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1410', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1411', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1412', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1413', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1414', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1415', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1416', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1417', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1418', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1419', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1420', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1421', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1422', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1423', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1424', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1425', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1426', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1427', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1428', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1429', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1430', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1431', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1432', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1433', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1434', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1435', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1436', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1437', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1438', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1439', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1440', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1441', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1448', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1450', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1451', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1452', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1453', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1454', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1455', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1456', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1457', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1458', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1459', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1460', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1461', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1462', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1463', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1464', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1465', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1466', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1467', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1468', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1470', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1471', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1472', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1473', KøbenhavnKLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1500', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1501', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1502', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1503', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1504', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1505', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1506', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1507', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1508', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1509', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1510', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1532', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1533', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1550', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1551', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1552', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1553', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1554', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1555', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1556', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1557', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1558', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1559', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1560', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1561', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1562', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1563', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1564', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1566', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1567', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1568', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1569', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1570', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1571', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1572', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1573', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1574', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1575', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1576', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1577', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1592', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1599', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1600', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1601', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1602', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1603', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1604', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1605', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1606', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1607', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1608', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1609', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1610', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1611', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1612', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1613', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1614', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1615', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1616', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1617', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1618', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1619', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1620', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1621', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1622', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1623', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1624', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1630', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1631', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1632', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1633', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1634', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1635', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1640', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1650', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1651', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1652', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1653', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1654', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1655', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1656', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1657', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1658', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1659', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1660', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1661', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1662', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1663', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1664', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1665', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1666', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1667', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1668', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1669', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1670', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1671', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1672', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1673', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1674', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1675', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1676', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1677', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1699', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1700', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1701', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1702', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1703', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1704', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1705', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1706', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1707', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1708', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1709', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1710', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1711', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1712', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1713', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1714', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1715', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1716', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1717', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1718', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1719', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1720', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1721', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1722', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1723', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1724', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1725', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1726', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1727', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1728', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1729', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1730', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1731', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1732', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1733', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1734', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1735', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1736', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1737', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1738', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1739', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1749', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1750', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1751', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1752', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1753', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1754', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1755', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1756', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1757', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1758', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1759', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1760', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1761', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1762', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1763', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1764', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1765', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1766', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1770', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1771', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1772', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1773', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1774', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1775', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1777', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1780', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1782', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1785', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1786', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1787', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1790', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1799', KøbenhavnVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1800', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1801', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1802', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1803', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1804', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1805', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1806', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1807', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1808', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1809', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1810', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1811', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1812', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1813', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1814', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1815', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1816', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1817', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1818', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1819', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1820', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1822', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1823', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1824', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1825', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1826', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1827', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1828', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1829', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1835', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1850', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1851', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1852', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1853', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1854', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1855', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1856', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1857', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1860', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1861', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1862', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1863', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1864', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1865', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1866', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1867', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1868', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1870', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1871', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1872', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1873', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1874', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1875', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1876', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1877', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1878', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1879', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1900', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1901', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1902', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1903', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1904', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1905', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1906', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1908', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1909', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1910', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1911', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1912', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1913', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1914', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1915', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1916', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1917', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1920', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1921', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1922', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1923', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1924', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1925', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1926', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1927', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1928', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1931', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1950', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1951', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1952', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1953', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1954', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1955', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1956', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1957', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1958', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1959', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1960', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1961', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1962', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1963', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1964', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1965', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1966', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1967', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1970', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1971', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1972', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1973', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('1974', FrederiksbergCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2000', FrederiksbergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2100', CopenhagenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2150', NordhavnLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2200', KøbenhavnNLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2300', KøbenhavnSLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2400', KøbenhavnNVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2450', KøbenhavnSVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2500', ValbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2600', GlostrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2605', BrøndbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2610', RødovreLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2620', AlbertslundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2625', VallensbækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2630', TåstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2635', IshøjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2640', HedehuseneLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2650', HvidovreLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2660', BrøndbyStrandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2665', VallensbækStrandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2670', GreveLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2680', SolrødStrandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2690', KarlslundeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2700', BrønshøjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2720', VanløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2730', HerlevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2740', SkovlundeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2750', BallerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2760', MåløvLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2765', SmørumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2770', KastrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2791', DragørLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2800', KongensLyngbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2820', GentofteLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2830', VirumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2840', HolteLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2850', NærumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2860', SøborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2870', DyssegårdLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2880', BagsværdLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2900', HellerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2920', CharlottenlundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2930', KlampenborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2942', SkodsborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2950', VedbaekLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2960', RungstedKystLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2970', HørsholmLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2980', KokkedalLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('2990', NivåLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3000', HelsingørLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3050', HumlebækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3060', EspergærdeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3070', SnekkerstenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3080', TikøbLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3100', HornbækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3120', DronningmølleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3140', ÅlsgårdeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3150', HellebækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3200', HelsingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3210', VejbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3220', TisvildelejeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3230', GræstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3250', GillelejeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3300', FrederiksværkLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3310', ØlstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3320', SkævingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3330', GørløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3360', LiselejeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3370', MelbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3390', HundestedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3400', HillerødLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3450', AllerødLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3460', BirkerødLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3480', FredensborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3490', KvistgårdLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3500', VærløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3520', FarumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3540', LyngeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3550', SlangerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3600', FrederikssundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3630', JægersprisLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3650', ØlstykkeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3660', StenløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3670', VeksøSjællandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3700', RønneLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3720', AakirkebyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3730', NexøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3740', SvanekeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3751', ØstermarieLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3760', GudhjemLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3770', AllingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3782', KlemenskerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('3790', HasleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4000', RoskildeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4030', TuneLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4040', JyllingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4050', SkibbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4060', KirkeSåbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4070', KirkeHyllingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4100', RingstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4130', VibySjællandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4140', BorupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4160', HerlufmagleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4171', GlumsøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4173', FjenneslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4174', JystrupMidtsjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4180', SorøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4190', MunkeBjergbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4200', SlagelseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4220', KorsørLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4230', SkælskørLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4241', VemmelevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4242', BoeslundeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4243', RudeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4250', FuglebjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4261', DalmoseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4262', SandvedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4270', HøngLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4281', GørlevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4291', RudsVedbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4293', DianalundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4295', StenlilleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4296', NyrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4300', HolbækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4320', LejreLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4330', HvalsøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4340', TølløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4350', UgerløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4360', KirkeEskilstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4370', StoreMerløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4390', VipperødLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4400', KalundborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4420', RegstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4440', MørkøvLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4450', JyderupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4460', SnertingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4470', SvebølleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4480', StoreFugledeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4490', JerslevSjællandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4500', NykøbingSjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4520', SvinningeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4532', GislingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4534', HørveLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4540', FårevejleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4550', AsnæsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4560', VigLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4571', GrevingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4572', NørreAsmindrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4573', HøjbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4581', RørvigLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4583', SjællandsOddeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4591', FøllenslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4592', SejerøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4593', EskebjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4600', KogeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4621', GadstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4622', HavdrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4623', LilleSkensvedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4632', BjæverskovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4640', FaxeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4652', HårlevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4653', KariseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4654', FaxeLadepladsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4660', StoreHeddingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4671', StrøbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4672', KlippingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4673', RødvigStevnsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4681', HerfølgeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4682', TurebyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4683', RønnedeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4684', HolmeOlstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4690', HaslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4700', NæstvedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4720', PræstøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4733', TappernøjeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4735', MernLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4736', KarrebæksmindeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4750', LundbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4760', VordingborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4771', KalvehaveLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4772', LangebækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4773', StensvedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4780', StegeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4791', BorreLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4792', AskebyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4793', BogøByLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4800', NykøbingFLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4840', NørreAlslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4850', StubbekøbingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4862', GuldborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4863', EskilstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4871', HorbelevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4872', IdestrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4873', VæggerløseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4874', GedserLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4880', NystedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4891', TorebyLLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4892', KettingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4894', ØsterUlslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4895', ErrindlevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4900', NakskovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4912', HarpelundeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4913', HorslundeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4920', SøllestedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4930', MariboLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4941', BandholmLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4943', TorrigLLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4944', FejøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4951', NørreballeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4952', StokkemarkeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4953', VesterborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4960', HolebyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4970', RødbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4983', DannemareLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('4990', SakskøbingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5000', OdenseCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5100', OdenseCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5200', OdenseVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5210', OdenseNVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5220', OdenseSØLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5230', OdenseMLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5240', OdenseNØLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5250', OdenseSVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5260', OdenseSLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5270', OdenseNLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5290', MarslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5300', KertemindeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5320', AgedrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5330', MunkeboLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5350', RynkebyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5370', MesingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5380', DalbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5390', MartofteLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5400', BogenseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5450', OtterupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5462', MorudLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5463', HarndrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5464', BrenderupFynLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5466', AsperupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5471', SøndersøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5474', VeflingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5485', SkambyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5491', BlommenslystLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5492', VissenbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5500', MiddelfartLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5540', UllerslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('555', ScanningLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5550', LangeskovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5560', AarupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5580', NørreAabyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5591', GelstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5592', EjbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5600', FaaborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5610', AssensLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5620', GlamsbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5631', EbberupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5642', MillingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5672', BrobyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5683', HaarbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5690', TommerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5700', SvendborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5750', RingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5762', VesterSkerningeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5771', StenstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5772', KværndrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5792', ÅrslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5800', NyborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5853', ØrbækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5854', GislevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5856', RyslingeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5863', FerritslevFynLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5871', FrørupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5874', HesselagerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5881', SkårupFynLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5882', VejstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5883', OureLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5884', GudmeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5892', GudbjergSydfynLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5900', RudkøbingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5932', HumbleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5935', BagenkopLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5953', TranekærLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5960', MarstalLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5970', ÆrøskøbingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('5985', SøbyÆrøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6000', KoldingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6040', EgtvedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6051', AlmindLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6052', ViufLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6064', JordrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6070', ChristiansfeldLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6091', BjertLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6092', SønderStenderupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6093', SjølundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6094', HejlsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6100', HaderslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6200', AabenraaLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6230', RødekroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6240', LøgumklosterLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6261', BredebroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6270', TønderLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6280', HøjerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6300', GråstenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6310', BroagerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6320', EgernsundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6330', PadborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6340', KrusåLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6360', TinglevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6372', BylderupBovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6392', BolderslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6400', SønderborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6430', NordborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6440', AugustenborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6470', SydalsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6500', VojensLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6510', GramLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6520', ToftlundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6534', AgerskovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6535', BranderupJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6541', BevtoftLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6560', SommerstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6580', VamdrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6600', VejenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6621', GestenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6622', BækkeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6623', VorbasseLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6630', RøddingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6640', LunderskovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6650', BrørupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6660', LintrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6670', HolstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6682', HovborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6683', FøvlingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6690', GørdingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6700', EsbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6701', EsbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6705', EsbjergØLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6710', EsbjergVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6715', EsbjergNLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6720', FanøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6731', TjæreborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6740', BrammingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6752', GlejbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6753', AgerbækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6760', RibeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6771', GredstedbroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6780', SkærbækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6792', RømøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6800', VardeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6818', ÅrreLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6823', AnsagerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6830', NørreNebelLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6840', OksbølLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6851', JanderupVestjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6852', BillumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6853', VejersStrandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6854', HenneLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6855', OutrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6857', BlåvandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6862', TistrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6870', ØlgodLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6880', TarmLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6893', HemmetLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6900', SkjernLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6920', VidebækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6933', KibækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6940', LemStLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6950', RingkøbingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6960', HvideSandeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6971', SpjaldLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6973', ØrnhøjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6980', TimLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('6990', UlfborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7000', FredericiaLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7017', TaulovPakkecenterLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7080', BørkopLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7100', VejleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7120', VejleØstLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7130', JuelsmindeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7140', StoubyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7150', BarritLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7160', TørringLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7171', UldumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7173', VongeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7182', BredstenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7183', RandbølLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7184', VandelLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7190', BillundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7200', GrindstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7250', HejnsvigLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7260', SønderOmmeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7270', StakrogeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7280', SønderFeldingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7300', JellingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7321', GadbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7323', GiveLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7330', BrandeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7361', EjstrupholmLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7362', HampenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7400', HerningLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7430', IkastLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7441', BordingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7442', EngesvangLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7451', SundsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7470', KarupJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7480', VildbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7490', AulumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7500', HolstebroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7540', HaderupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7550', SørvadLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7560', HjermLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7570', VembLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7600', StruerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7620', LemvigLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7650', BøvlingbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7660', BækmarksbroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7673', HarboøreLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7680', ThyborønLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7700', ThistedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7730', HanstholmLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7741', FrøstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7742', VesløsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7752', SnedstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7755', BedstedThyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7760', HurupThyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7770', VestervigLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7790', ThyholmLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7800', SkiveLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7830', VinderupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7840', HøjslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7850', StoholmJyllLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7860', SpøttrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7870', RoslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7884', FurLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7900', NykøbingMLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7950', ErslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7960', KarbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7970', RedstedMLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7980', VilsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7990', ØsterAsselsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7996', FakturaserviceLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7997', FakturascanningLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('7999', KommunepostLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8000', ArhusCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('800', HøjeTaastrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8100', AarhusCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8200', ArhusNLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8210', AarhusVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8220', BrabrandLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8230', ÅbyhøjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8240', RisskovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8245', RisskovØLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8250', EgåLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8260', VibyJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8270', HøjbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8300', OdderLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8305', SamsøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8310', TranbjergJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8320', MårsletLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8330', BederLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8340', MallingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8350', HundslundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8355', SolbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8361', HasselagerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8362', HørningLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8370', HadstenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8380', TrigeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8381', TilstLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8382', HinnerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8400', EbeltoftLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8410', RøndeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8420', KnebelLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8444', BalleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8450', HammelLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8462', HarlevJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8464', GaltenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8471', SabroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8472', SporupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8500', GrenaaLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8520', LystrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8530', HjortshøjLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8541', SkødstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8543', HornsletLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8544', MørkeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8550', RyomgårdLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8560', KolindLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8570', TrustrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8581', NimtofteLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8585', GlesborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8586', ØrumDjursLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8592', AnholtLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8600', SilkeborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8620', KjellerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8632', LemmingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8641', SorringLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8643', AnsByLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8653', ThemLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8654', BryrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8660', SkanderborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8670', LåsbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8680', RyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8700', HorsensLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8721', DaugårdLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8722', HedenstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8723', LøsningLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8732', HovedgårdLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8740', BrædstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8751', GedvedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8752', ØstbirkLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8762', FlemmingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8763', RaskMølleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8765', KlovborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8766', NørreSnedeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('877', KøbenhavnCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8781', StenderupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8783', HornsyldLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8800', ViborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8830', TjeleLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8831', LøgstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8832', SkalsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8840', RødkærsbroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8850', BjerringbroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8860', UlstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8870', LangåLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8881', ThorsøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8882', FårvangLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8883', GjernLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8900', RandersCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8920', RandersNVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8930', RandersNØLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8940', RandersSVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8950', ØrstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8960', RandersSØLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8961', AllingåbroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8963', AuningLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8970', HavndalLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8981', SpentrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8983', GjerlevJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('8990', FårupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9000', AlborgLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('900', KøbenhavnCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('917', KøbenhavnsPakkecenterLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('918', KøbenhavnsPakkeBRCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9200', AalborgSVLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9210', AalborgSØLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9220', AalborgØstLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9230', SvenstrupJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9240', NibeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9260', GistrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9270', KlarupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9280', StorvordeLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9293', KongerslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9300', SæbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9310', VodskovLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9320', HjallerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9330', DronninglundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9340', AsaaLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9352', DybvadLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9362', GandrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9370', HalsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9380', VestbjergLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9381', SulstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9382', TylstrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9400', NørresundbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9430', VadumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9440', AabybroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9460', BrovstLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9480', LøkkenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9490', PandrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9492', BlokhusLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9493', SaltumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9500', HobroLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9510', ArdenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9520', SkørpingLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9530', StøvringLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9541', SuldrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9550', MariagerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9560', HadsundLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9574', BælumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9575', TerndrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9600', AarsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9610', NøragerLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9620', AalestrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9631', GedstedLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9632', MøldrupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9640', FarsøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9670', LøgstørLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9681', RanumLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9690', FjerritslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9700', BrønderslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9740', JerslevJLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9750', ØstervråLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9760', VråLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9800', HjørringLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9830', TårsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9850', HirtshalsLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9870', SindalLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9881', BindslevLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9900', KuglebyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9940', LæsøLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9970', StrandbyLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9981', JerupLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9982', ÅlbækLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('999', KøbenhavnCLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('9990', SkagenLbl, CreateCountryRegion.DK(), ''); + ContosoPostCodeDK.InsertPostCode('US-FL 37125', HilliardLbl, CreateCountryRegion.US(), ''); + ContosoPostCodeDK.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-GU2 7YQ', GuildfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-M22 5TG', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeDK.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + end; + + local procedure UpdatePostCode(Code: Code[20]; City: Text[30]) + var + PostCode: Record "Post Code"; + begin + PostCode.Get(Code, City); + PostCode.Validate(County, ''); + PostCode.Modify(true); + end; + + var + AtlantaLbl: Label 'Atlanta', MaxLength = 30; + MiamiLbl: Label 'Miami', MaxLength = 30; + KøbenhavnKLbl: Label 'København K', MaxLength = 30; + KøbenhavnVLbl: Label 'København V', MaxLength = 30; + FrederiksbergCLbl: Label 'Frederiksberg C', MaxLength = 30; + FrederiksbergLbl: Label 'Frederiksberg', MaxLength = 30; + NordhavnLbl: Label 'Nordhavn', MaxLength = 30; + KøbenhavnNLbl: Label 'København N', MaxLength = 30; + KøbenhavnSLbl: Label 'København S', MaxLength = 30; + KøbenhavnNVLbl: Label 'København NV', MaxLength = 30; + KøbenhavnSVLbl: Label 'København SV', MaxLength = 30; + ValbyLbl: Label 'Valby', MaxLength = 30; + GlostrupLbl: Label 'Glostrup', MaxLength = 30; + BrøndbyLbl: Label 'Brøndby', MaxLength = 30; + RødovreLbl: Label 'Rødovre', MaxLength = 30; + AlbertslundLbl: Label 'Albertslund', MaxLength = 30; + VallensbækLbl: Label 'Vallensbæk', MaxLength = 30; + TåstrupLbl: Label 'Tåstrup', MaxLength = 30; + IshøjLbl: Label 'Ishøj', MaxLength = 30; + HedehuseneLbl: Label 'Hedehusene', MaxLength = 30; + HvidovreLbl: Label 'Hvidovre', MaxLength = 30; + BrøndbyStrandLbl: Label 'Brøndby Strand', MaxLength = 30; + VallensbækStrandLbl: Label 'Vallensbæk Strand', MaxLength = 30; + GreveLbl: Label 'Greve', MaxLength = 30; + SolrødStrandLbl: Label 'Solrød Strand', MaxLength = 30; + KarlslundeLbl: Label 'Karlslunde', MaxLength = 30; + BrønshøjLbl: Label 'Brønshøj', MaxLength = 30; + VanløseLbl: Label 'Vanløse', MaxLength = 30; + HerlevLbl: Label 'Herlev', MaxLength = 30; + SkovlundeLbl: Label 'Skovlunde', MaxLength = 30; + BallerupLbl: Label 'Ballerup', MaxLength = 30; + MåløvLbl: Label 'Måløv', MaxLength = 30; + SmørumLbl: Label 'Smørum', MaxLength = 30; + KastrupLbl: Label 'Kastrup', MaxLength = 30; + DragørLbl: Label 'Dragør', MaxLength = 30; + KongensLyngbyLbl: Label 'Kongens Lyngby', MaxLength = 30; + GentofteLbl: Label 'Gentofte', MaxLength = 30; + VirumLbl: Label 'Virum', MaxLength = 30; + HolteLbl: Label 'Holte', MaxLength = 30; + NærumLbl: Label 'Nærum', MaxLength = 30; + SøborgLbl: Label 'Søborg', MaxLength = 30; + DyssegårdLbl: Label 'Dyssegård', MaxLength = 30; + BagsværdLbl: Label 'Bagsværd', MaxLength = 30; + HellerupLbl: Label 'Hellerup', MaxLength = 30; + CharlottenlundLbl: Label 'Charlottenlund', MaxLength = 30; + KlampenborgLbl: Label 'Klampenborg', MaxLength = 30; + SkodsborgLbl: Label 'Skodsborg', MaxLength = 30; + RungstedKystLbl: Label 'Rungsted Kyst', MaxLength = 30; + HørsholmLbl: Label 'Hørsholm', MaxLength = 30; + KokkedalLbl: Label 'Kokkedal', MaxLength = 30; + NivåLbl: Label 'Nivå', MaxLength = 30; + HelsingørLbl: Label 'Helsingør', MaxLength = 30; + HumlebækLbl: Label 'Humlebæk', MaxLength = 30; + EspergærdeLbl: Label 'Espergærde', MaxLength = 30; + SnekkerstenLbl: Label 'Snekkersten', MaxLength = 30; + TikøbLbl: Label 'Tikøb', MaxLength = 30; + HornbækLbl: Label 'Hornbæk', MaxLength = 30; + DronningmølleLbl: Label 'Dronningmølle', MaxLength = 30; + ÅlsgårdeLbl: Label 'Ålsgårde', MaxLength = 30; + HellebækLbl: Label 'Hellebæk', MaxLength = 30; + HelsingeLbl: Label 'Helsinge', MaxLength = 30; + VejbyLbl: Label 'Vejby', MaxLength = 30; + TisvildelejeLbl: Label 'Tisvildeleje', MaxLength = 30; + GræstedLbl: Label 'Græsted', MaxLength = 30; + GillelejeLbl: Label 'Gilleleje', MaxLength = 30; + FrederiksværkLbl: Label 'Frederiksværk', MaxLength = 30; + ØlstedLbl: Label 'Ølsted', MaxLength = 30; + SkævingeLbl: Label 'Skævinge', MaxLength = 30; + GørløseLbl: Label 'Gørløse', MaxLength = 30; + LiselejeLbl: Label 'Liseleje', MaxLength = 30; + MelbyLbl: Label 'Melby', MaxLength = 30; + HundestedLbl: Label 'Hundested', MaxLength = 30; + HillerødLbl: Label 'Hillerød', MaxLength = 30; + AllerødLbl: Label 'Allerød', MaxLength = 30; + BirkerødLbl: Label 'Birkerød', MaxLength = 30; + FredensborgLbl: Label 'Fredensborg', MaxLength = 30; + KvistgårdLbl: Label 'Kvistgård', MaxLength = 30; + VærløseLbl: Label 'Værløse', MaxLength = 30; + FarumLbl: Label 'Farum', MaxLength = 30; + LyngeLbl: Label 'Lynge', MaxLength = 30; + SlangerupLbl: Label 'Slangerup', MaxLength = 30; + FrederikssundLbl: Label 'Frederikssund', MaxLength = 30; + JægersprisLbl: Label 'Jægerspris', MaxLength = 30; + ØlstykkeLbl: Label 'Ølstykke', MaxLength = 30; + StenløseLbl: Label 'Stenløse', MaxLength = 30; + VeksøSjællandLbl: Label 'Veksø Sjælland', MaxLength = 30; + RønneLbl: Label 'Rønne', MaxLength = 30; + AakirkebyLbl: Label 'Aakirkeby', MaxLength = 30; + NexøLbl: Label 'Nexø', MaxLength = 30; + SvanekeLbl: Label 'Svaneke', MaxLength = 30; + ØstermarieLbl: Label 'Østermarie', MaxLength = 30; + GudhjemLbl: Label 'Gudhjem', MaxLength = 30; + AllingeLbl: Label 'Allinge', MaxLength = 30; + KlemenskerLbl: Label 'Klemensker', MaxLength = 30; + HasleLbl: Label 'Hasle', MaxLength = 30; + RoskildeLbl: Label 'Roskilde', MaxLength = 30; + TuneLbl: Label 'Tune', MaxLength = 30; + JyllingeLbl: Label 'Jyllinge', MaxLength = 30; + SkibbyLbl: Label 'Skibby', MaxLength = 30; + KirkeSåbyLbl: Label 'Kirke Såby', MaxLength = 30; + KirkeHyllingeLbl: Label 'Kirke Hyllinge', MaxLength = 30; + RingstedLbl: Label 'Ringsted', MaxLength = 30; + VibySjællandLbl: Label 'Viby Sjælland', MaxLength = 30; + BorupLbl: Label 'Borup', MaxLength = 30; + HerlufmagleLbl: Label 'Herlufmagle', MaxLength = 30; + GlumsøLbl: Label 'Glumsø', MaxLength = 30; + FjenneslevLbl: Label 'Fjenneslev', MaxLength = 30; + JystrupMidtsjLbl: Label 'Jystrup Midtsj', MaxLength = 30; + SorøLbl: Label 'Sorø', MaxLength = 30; + MunkeBjergbyLbl: Label 'Munke Bjergby', MaxLength = 30; + SlagelseLbl: Label 'Slagelse', MaxLength = 30; + KorsørLbl: Label 'Korsør', MaxLength = 30; + SkælskørLbl: Label 'Skælskør', MaxLength = 30; + VemmelevLbl: Label 'Vemmelev', MaxLength = 30; + BoeslundeLbl: Label 'Boeslunde', MaxLength = 30; + RudeLbl: Label 'Rude', MaxLength = 30; + FuglebjergLbl: Label 'Fuglebjerg', MaxLength = 30; + DalmoseLbl: Label 'Dalmose', MaxLength = 30; + SandvedLbl: Label 'Sandved', MaxLength = 30; + HøngLbl: Label 'Høng', MaxLength = 30; + GørlevLbl: Label 'Gørlev', MaxLength = 30; + RudsVedbyLbl: Label 'Ruds Vedby', MaxLength = 30; + DianalundLbl: Label 'Dianalund', MaxLength = 30; + StenlilleLbl: Label 'Stenlille', MaxLength = 30; + NyrupLbl: Label 'Nyrup', MaxLength = 30; + HolbækLbl: Label 'Holbæk', MaxLength = 30; + LejreLbl: Label 'Lejre', MaxLength = 30; + HvalsøLbl: Label 'Hvalsø', MaxLength = 30; + TølløseLbl: Label 'Tølløse', MaxLength = 30; + UgerløseLbl: Label 'Ugerløse', MaxLength = 30; + KirkeEskilstrupLbl: Label 'Kirke Eskilstrup', MaxLength = 30; + StoreMerløseLbl: Label 'Store Merløse', MaxLength = 30; + VipperødLbl: Label 'Vipperød', MaxLength = 30; + KalundborgLbl: Label 'Kalundborg', MaxLength = 30; + RegstrupLbl: Label 'Regstrup', MaxLength = 30; + MørkøvLbl: Label 'Mørkøv', MaxLength = 30; + JyderupLbl: Label 'Jyderup', MaxLength = 30; + SnertingeLbl: Label 'Snertinge', MaxLength = 30; + SvebølleLbl: Label 'Svebølle', MaxLength = 30; + StoreFugledeLbl: Label 'Store Fuglede', MaxLength = 30; + JerslevSjællandLbl: Label 'Jerslev Sjælland', MaxLength = 30; + NykøbingSjLbl: Label 'Nykøbing Sj', MaxLength = 30; + SvinningeLbl: Label 'Svinninge', MaxLength = 30; + GislingeLbl: Label 'Gislinge', MaxLength = 30; + HørveLbl: Label 'Hørve', MaxLength = 30; + FårevejleLbl: Label 'Fårevejle', MaxLength = 30; + AsnæsLbl: Label 'Asnæs', MaxLength = 30; + VigLbl: Label 'Vig', MaxLength = 30; + GrevingeLbl: Label 'Grevinge', MaxLength = 30; + NørreAsmindrupLbl: Label 'Nørre Asmindrup', MaxLength = 30; + HøjbyLbl: Label 'Højby', MaxLength = 30; + RørvigLbl: Label 'Rørvig', MaxLength = 30; + SjællandsOddeLbl: Label 'Sjællands Odde', MaxLength = 30; + FøllenslevLbl: Label 'Føllenslev', MaxLength = 30; + SejerøLbl: Label 'Sejerø', MaxLength = 30; + EskebjergLbl: Label 'Eskebjerg', MaxLength = 30; + GadstrupLbl: Label 'Gadstrup', MaxLength = 30; + HavdrupLbl: Label 'Havdrup', MaxLength = 30; + LilleSkensvedLbl: Label 'Lille Skensved', MaxLength = 30; + BjæverskovLbl: Label 'Bjæverskov', MaxLength = 30; + FaxeLbl: Label 'Faxe', MaxLength = 30; + HårlevLbl: Label 'Hårlev', MaxLength = 30; + KariseLbl: Label 'Karise', MaxLength = 30; + FaxeLadepladsLbl: Label 'Faxe Ladeplads', MaxLength = 30; + StoreHeddingeLbl: Label 'Store Heddinge', MaxLength = 30; + StrøbyLbl: Label 'Strøby', MaxLength = 30; + KlippingeLbl: Label 'Klippinge', MaxLength = 30; + RødvigStevnsLbl: Label 'Rødvig Stevns', MaxLength = 30; + HerfølgeLbl: Label 'Herfølge', MaxLength = 30; + TurebyLbl: Label 'Tureby', MaxLength = 30; + RønnedeLbl: Label 'Rønnede', MaxLength = 30; + HolmeOlstrupLbl: Label 'Holme-Olstrup', MaxLength = 30; + HaslevLbl: Label 'Haslev', MaxLength = 30; + NæstvedLbl: Label 'Næstved', MaxLength = 30; + PræstøLbl: Label 'Præstø', MaxLength = 30; + TappernøjeLbl: Label 'Tappernøje', MaxLength = 30; + MernLbl: Label 'Mern', MaxLength = 30; + KarrebæksmindeLbl: Label 'Karrebæksminde', MaxLength = 30; + LundbyLbl: Label 'Lundby', MaxLength = 30; + VordingborgLbl: Label 'Vordingborg', MaxLength = 30; + KalvehaveLbl: Label 'Kalvehave', MaxLength = 30; + LangebækLbl: Label 'Langebæk', MaxLength = 30; + StensvedLbl: Label 'Stensved', MaxLength = 30; + StegeLbl: Label 'Stege', MaxLength = 30; + BorreLbl: Label 'Borre', MaxLength = 30; + AskebyLbl: Label 'Askeby', MaxLength = 30; + BogøByLbl: Label 'Bogø By', MaxLength = 30; + NykøbingFLbl: Label 'Nykøbing F', MaxLength = 30; + NørreAlslevLbl: Label 'Nørre Alslev', MaxLength = 30; + StubbekøbingLbl: Label 'Stubbekøbing', MaxLength = 30; + GuldborgLbl: Label 'Guldborg', MaxLength = 30; + EskilstrupLbl: Label 'Eskilstrup', MaxLength = 30; + HorbelevLbl: Label 'Horbelev', MaxLength = 30; + IdestrupLbl: Label 'Idestrup', MaxLength = 30; + VæggerløseLbl: Label 'Væggerløse', MaxLength = 30; + GedserLbl: Label 'Gedser', MaxLength = 30; + NystedLbl: Label 'Nysted', MaxLength = 30; + TorebyLLbl: Label 'Toreby L', MaxLength = 30; + KettingeLbl: Label 'Kettinge', MaxLength = 30; + ØsterUlslevLbl: Label 'Øster Ulslev', MaxLength = 30; + ErrindlevLbl: Label 'Errindlev', MaxLength = 30; + NakskovLbl: Label 'Nakskov', MaxLength = 30; + HarpelundeLbl: Label 'Harpelunde', MaxLength = 30; + HorslundeLbl: Label 'Horslunde', MaxLength = 30; + SøllestedLbl: Label 'Søllested', MaxLength = 30; + MariboLbl: Label 'Maribo', MaxLength = 30; + BandholmLbl: Label 'Bandholm', MaxLength = 30; + TorrigLLbl: Label 'Torrig L', MaxLength = 30; + FejøLbl: Label 'Fejø', MaxLength = 30; + NørreballeLbl: Label 'Nørreballe', MaxLength = 30; + StokkemarkeLbl: Label 'Stokkemarke', MaxLength = 30; + VesterborgLbl: Label 'Vesterborg', MaxLength = 30; + HolebyLbl: Label 'Holeby', MaxLength = 30; + RødbyLbl: Label 'Rødby', MaxLength = 30; + DannemareLbl: Label 'Dannemare', MaxLength = 30; + SakskøbingLbl: Label 'Sakskøbing', MaxLength = 30; + OdenseVLbl: Label 'Odense V', MaxLength = 30; + OdenseNVLbl: Label 'Odense NV', MaxLength = 30; + OdenseSØLbl: Label 'Odense SØ', MaxLength = 30; + OdenseMLbl: Label 'Odense M', MaxLength = 30; + OdenseNØLbl: Label 'Odense NØ', MaxLength = 30; + OdenseSVLbl: Label 'Odense SV', MaxLength = 30; + OdenseSLbl: Label 'Odense S', MaxLength = 30; + OdenseNLbl: Label 'Odense N', MaxLength = 30; + MarslevLbl: Label 'Marslev', MaxLength = 30; + KertemindeLbl: Label 'Kerteminde', MaxLength = 30; + AgedrupLbl: Label 'Agedrup', MaxLength = 30; + MunkeboLbl: Label 'Munkebo', MaxLength = 30; + RynkebyLbl: Label 'Rynkeby', MaxLength = 30; + MesingeLbl: Label 'Mesinge', MaxLength = 30; + DalbyLbl: Label 'Dalby', MaxLength = 30; + MartofteLbl: Label 'Martofte', MaxLength = 30; + BogenseLbl: Label 'Bogense', MaxLength = 30; + OtterupLbl: Label 'Otterup', MaxLength = 30; + ArhusCLbl: Label 'Arhus C', MaxLength = 30; + ArhusNLbl: Label 'Arhus N', MaxLength = 30; + MorudLbl: Label 'Morud', MaxLength = 30; + HarndrupLbl: Label 'Harndrup', MaxLength = 30; + BrenderupFynLbl: Label 'Brenderup Fyn', MaxLength = 30; + AsperupLbl: Label 'Asperup', MaxLength = 30; + SøndersøLbl: Label 'Søndersø', MaxLength = 30; + VeflingeLbl: Label 'Veflinge', MaxLength = 30; + SkambyLbl: Label 'Skamby', MaxLength = 30; + BlommenslystLbl: Label 'Blommenslyst', MaxLength = 30; + VissenbjergLbl: Label 'Vissenbjerg', MaxLength = 30; + MiddelfartLbl: Label 'Middelfart', MaxLength = 30; + UllerslevLbl: Label 'Ullerslev', MaxLength = 30; + ScanningLbl: Label 'Scanning', MaxLength = 30; + LangeskovLbl: Label 'Langeskov', MaxLength = 30; + AarupLbl: Label 'Aarup', MaxLength = 30; + NørreAabyLbl: Label 'Nørre Aaby', MaxLength = 30; + GelstedLbl: Label 'Gelsted', MaxLength = 30; + EjbyLbl: Label 'Ejby', MaxLength = 30; + FaaborgLbl: Label 'Faaborg', MaxLength = 30; + AssensLbl: Label 'Assens', MaxLength = 30; + GlamsbjergLbl: Label 'Glamsbjerg', MaxLength = 30; + EbberupLbl: Label 'Ebberup', MaxLength = 30; + MillingeLbl: Label 'Millinge', MaxLength = 30; + BrobyLbl: Label 'Broby', MaxLength = 30; + HaarbyLbl: Label 'Haarby', MaxLength = 30; + TommerupLbl: Label 'Tommerup', MaxLength = 30; + SvendborgLbl: Label 'Svendborg', MaxLength = 30; + RingeLbl: Label 'Ringe', MaxLength = 30; + VesterSkerningeLbl: Label 'Vester Skerninge', MaxLength = 30; + StenstrupLbl: Label 'Stenstrup', MaxLength = 30; + KværndrupLbl: Label 'Kværndrup', MaxLength = 30; + ÅrslevLbl: Label 'Årslev', MaxLength = 30; + ØrbækLbl: Label 'Ørbæk', MaxLength = 30; + GislevLbl: Label 'Gislev', MaxLength = 30; + RyslingeLbl: Label 'Ryslinge', MaxLength = 30; + FerritslevFynLbl: Label 'Ferritslev Fyn', MaxLength = 30; + FrørupLbl: Label 'Frørup', MaxLength = 30; + HesselagerLbl: Label 'Hesselager', MaxLength = 30; + SkårupFynLbl: Label 'Skårup Fyn', MaxLength = 30; + VejstrupLbl: Label 'Vejstrup', MaxLength = 30; + OureLbl: Label 'Oure', MaxLength = 30; + GudmeLbl: Label 'Gudme', MaxLength = 30; + GudbjergSydfynLbl: Label 'Gudbjerg Sydfyn', MaxLength = 30; + RudkøbingLbl: Label 'Rudkøbing', MaxLength = 30; + HumbleLbl: Label 'Humble', MaxLength = 30; + BagenkopLbl: Label 'Bagenkop', MaxLength = 30; + TranekærLbl: Label 'Tranekær', MaxLength = 30; + MarstalLbl: Label 'Marstal', MaxLength = 30; + ÆrøskøbingLbl: Label 'Ærøskøbing', MaxLength = 30; + SøbyÆrøLbl: Label 'Søby Ærø', MaxLength = 30; + KoldingLbl: Label 'Kolding', MaxLength = 30; + EgtvedLbl: Label 'Egtved', MaxLength = 30; + AlmindLbl: Label 'Almind', MaxLength = 30; + ViufLbl: Label 'Viuf', MaxLength = 30; + JordrupLbl: Label 'Jordrup', MaxLength = 30; + ChristiansfeldLbl: Label 'Christiansfeld', MaxLength = 30; + BjertLbl: Label 'Bjert', MaxLength = 30; + SønderStenderupLbl: Label 'Sønder Stenderup', MaxLength = 30; + SjølundLbl: Label 'Sjølund', MaxLength = 30; + HejlsLbl: Label 'Hejls', MaxLength = 30; + HaderslevLbl: Label 'Haderslev', MaxLength = 30; + AabenraaLbl: Label 'Aabenraa', MaxLength = 30; + RødekroLbl: Label 'Rødekro', MaxLength = 30; + LøgumklosterLbl: Label 'Løgumkloster', MaxLength = 30; + BredebroLbl: Label 'Bredebro', MaxLength = 30; + TønderLbl: Label 'Tønder', MaxLength = 30; + HøjerLbl: Label 'Højer', MaxLength = 30; + GråstenLbl: Label 'Gråsten', MaxLength = 30; + BroagerLbl: Label 'Broager', MaxLength = 30; + EgernsundLbl: Label 'Egernsund', MaxLength = 30; + PadborgLbl: Label 'Padborg', MaxLength = 30; + KrusåLbl: Label 'Kruså', MaxLength = 30; + TinglevLbl: Label 'Tinglev', MaxLength = 30; + BylderupBovLbl: Label 'Bylderup-Bov', MaxLength = 30; + BolderslevLbl: Label 'Bolderslev', MaxLength = 30; + SønderborgLbl: Label 'Sønderborg', MaxLength = 30; + NordborgLbl: Label 'Nordborg', MaxLength = 30; + AugustenborgLbl: Label 'Augustenborg', MaxLength = 30; + SydalsLbl: Label 'Sydals', MaxLength = 30; + VojensLbl: Label 'Vojens', MaxLength = 30; + GramLbl: Label 'Gram', MaxLength = 30; + ToftlundLbl: Label 'Toftlund', MaxLength = 30; + AgerskovLbl: Label 'Agerskov', MaxLength = 30; + BranderupJLbl: Label 'Branderup J', MaxLength = 30; + BevtoftLbl: Label 'Bevtoft', MaxLength = 30; + SommerstedLbl: Label 'Sommersted', MaxLength = 30; + VamdrupLbl: Label 'Vamdrup', MaxLength = 30; + VejenLbl: Label 'Vejen', MaxLength = 30; + GestenLbl: Label 'Gesten', MaxLength = 30; + BækkeLbl: Label 'Bække', MaxLength = 30; + VorbasseLbl: Label 'Vorbasse', MaxLength = 30; + RøddingLbl: Label 'Rødding', MaxLength = 30; + LunderskovLbl: Label 'Lunderskov', MaxLength = 30; + BrørupLbl: Label 'Brørup', MaxLength = 30; + LintrupLbl: Label 'Lintrup', MaxLength = 30; + HolstedLbl: Label 'Holsted', MaxLength = 30; + HovborgLbl: Label 'Hovborg', MaxLength = 30; + FøvlingLbl: Label 'Føvling', MaxLength = 30; + GørdingLbl: Label 'Gørding', MaxLength = 30; + EsbjergLbl: Label 'Esbjerg', MaxLength = 30; + EsbjergØLbl: Label 'Esbjerg Ø', MaxLength = 30; + EsbjergVLbl: Label 'Esbjerg V', MaxLength = 30; + EsbjergNLbl: Label 'Esbjerg N', MaxLength = 30; + FanøLbl: Label 'Fanø', MaxLength = 30; + TjæreborgLbl: Label 'Tjæreborg', MaxLength = 30; + AlborgLbl: Label 'Alborg', MaxLength = 30; + BrammingLbl: Label 'Bramming', MaxLength = 30; + GlejbjergLbl: Label 'Glejbjerg', MaxLength = 30; + AgerbækLbl: Label 'Agerbæk', MaxLength = 30; + RibeLbl: Label 'Ribe', MaxLength = 30; + GredstedbroLbl: Label 'Gredstedbro', MaxLength = 30; + SkærbækLbl: Label 'Skærbæk', MaxLength = 30; + RømøLbl: Label 'Rømø', MaxLength = 30; + VardeLbl: Label 'Varde', MaxLength = 30; + ÅrreLbl: Label 'Årre', MaxLength = 30; + AnsagerLbl: Label 'Ansager', MaxLength = 30; + NørreNebelLbl: Label 'Nørre Nebel', MaxLength = 30; + OksbølLbl: Label 'Oksbøl', MaxLength = 30; + JanderupVestjLbl: Label 'Janderup Vestj', MaxLength = 30; + BillumLbl: Label 'Billum', MaxLength = 30; + VejersStrandLbl: Label 'Vejers Strand', MaxLength = 30; + HenneLbl: Label 'Henne', MaxLength = 30; + OutrupLbl: Label 'Outrup', MaxLength = 30; + BlåvandLbl: Label 'Blåvand', MaxLength = 30; + TistrupLbl: Label 'Tistrup', MaxLength = 30; + ØlgodLbl: Label 'Ølgod', MaxLength = 30; + TarmLbl: Label 'Tarm', MaxLength = 30; + HemmetLbl: Label 'Hemmet', MaxLength = 30; + SkjernLbl: Label 'Skjern', MaxLength = 30; + VidebækLbl: Label 'Videbæk', MaxLength = 30; + KibækLbl: Label 'Kibæk', MaxLength = 30; + LemStLbl: Label 'Lem St', MaxLength = 30; + RingkøbingLbl: Label 'Ringkøbing', MaxLength = 30; + HvideSandeLbl: Label 'Hvide Sande', MaxLength = 30; + SpjaldLbl: Label 'Spjald', MaxLength = 30; + ØrnhøjLbl: Label 'Ørnhøj', MaxLength = 30; + TimLbl: Label 'Tim', MaxLength = 30; + UlfborgLbl: Label 'Ulfborg', MaxLength = 30; + FredericiaLbl: Label 'Fredericia', MaxLength = 30; + TaulovPakkecenterLbl: Label 'Taulov Pakkecenter', MaxLength = 30; + BørkopLbl: Label 'Børkop', MaxLength = 30; + VejleLbl: Label 'Vejle', MaxLength = 30; + VejleØstLbl: Label 'Vejle Øst', MaxLength = 30; + JuelsmindeLbl: Label 'Juelsminde', MaxLength = 30; + StoubyLbl: Label 'Stouby', MaxLength = 30; + BarritLbl: Label 'Barrit', MaxLength = 30; + TørringLbl: Label 'Tørring', MaxLength = 30; + UldumLbl: Label 'Uldum', MaxLength = 30; + VongeLbl: Label 'Vonge', MaxLength = 30; + BredstenLbl: Label 'Bredsten', MaxLength = 30; + RandbølLbl: Label 'Randbøl', MaxLength = 30; + VandelLbl: Label 'Vandel', MaxLength = 30; + BillundLbl: Label 'Billund', MaxLength = 30; + GrindstedLbl: Label 'Grindsted', MaxLength = 30; + HejnsvigLbl: Label 'Hejnsvig', MaxLength = 30; + SønderOmmeLbl: Label 'Sønder Omme', MaxLength = 30; + StakrogeLbl: Label 'Stakroge', MaxLength = 30; + SønderFeldingLbl: Label 'Sønder Felding', MaxLength = 30; + JellingLbl: Label 'Jelling', MaxLength = 30; + GadbjergLbl: Label 'Gadbjerg', MaxLength = 30; + GiveLbl: Label 'Give', MaxLength = 30; + BrandeLbl: Label 'Brande', MaxLength = 30; + EjstrupholmLbl: Label 'Ejstrupholm', MaxLength = 30; + HampenLbl: Label 'Hampen', MaxLength = 30; + HerningLbl: Label 'Herning', MaxLength = 30; + IkastLbl: Label 'Ikast', MaxLength = 30; + BordingLbl: Label 'Bording', MaxLength = 30; + EngesvangLbl: Label 'Engesvang', MaxLength = 30; + SundsLbl: Label 'Sunds', MaxLength = 30; + KarupJLbl: Label 'Karup J', MaxLength = 30; + VildbjergLbl: Label 'Vildbjerg', MaxLength = 30; + AulumLbl: Label 'Aulum', MaxLength = 30; + HolstebroLbl: Label 'Holstebro', MaxLength = 30; + HaderupLbl: Label 'Haderup', MaxLength = 30; + SørvadLbl: Label 'Sørvad', MaxLength = 30; + HjermLbl: Label 'Hjerm', MaxLength = 30; + VembLbl: Label 'Vemb', MaxLength = 30; + StruerLbl: Label 'Struer', MaxLength = 30; + LemvigLbl: Label 'Lemvig', MaxLength = 30; + BøvlingbjergLbl: Label 'Bøvlingbjerg', MaxLength = 30; + BækmarksbroLbl: Label 'Bækmarksbro', MaxLength = 30; + HarboøreLbl: Label 'Harboøre', MaxLength = 30; + ThyborønLbl: Label 'Thyborøn', MaxLength = 30; + ThistedLbl: Label 'Thisted', MaxLength = 30; + HanstholmLbl: Label 'Hanstholm', MaxLength = 30; + FrøstrupLbl: Label 'Frøstrup', MaxLength = 30; + VesløsLbl: Label 'Vesløs', MaxLength = 30; + SnedstedLbl: Label 'Snedsted', MaxLength = 30; + BedstedThyLbl: Label 'Bedsted Thy', MaxLength = 30; + HurupThyLbl: Label 'Hurup Thy', MaxLength = 30; + VestervigLbl: Label 'Vestervig', MaxLength = 30; + ThyholmLbl: Label 'Thyholm', MaxLength = 30; + SkiveLbl: Label 'Skive', MaxLength = 30; + VinderupLbl: Label 'Vinderup', MaxLength = 30; + HøjslevLbl: Label 'Højslev', MaxLength = 30; + StoholmJyllLbl: Label 'Stoholm Jyll', MaxLength = 30; + SpøttrupLbl: Label 'Spøttrup', MaxLength = 30; + RoslevLbl: Label 'Roslev', MaxLength = 30; + FurLbl: Label 'Fur', MaxLength = 30; + NykøbingMLbl: Label 'Nykøbing M', MaxLength = 30; + ErslevLbl: Label 'Erslev', MaxLength = 30; + KarbyLbl: Label 'Karby', MaxLength = 30; + RedstedMLbl: Label 'Redsted M', MaxLength = 30; + VilsLbl: Label 'Vils', MaxLength = 30; + ØsterAsselsLbl: Label 'Øster Assels', MaxLength = 30; + FakturaserviceLbl: Label 'Fakturaservice', MaxLength = 30; + FakturascanningLbl: Label 'Fakturascanning', MaxLength = 30; + KommunepostLbl: Label 'Kommunepost', MaxLength = 30; + HøjeTaastrupLbl: Label 'Høje Taastrup', MaxLength = 30; + AarhusCLbl: Label 'Aarhus C', MaxLength = 30; + AarhusVLbl: Label 'Aarhus V', MaxLength = 30; + BrabrandLbl: Label 'Brabrand', MaxLength = 30; + ÅbyhøjLbl: Label 'Åbyhøj', MaxLength = 30; + RisskovLbl: Label 'Risskov', MaxLength = 30; + RisskovØLbl: Label 'Risskov Ø', MaxLength = 30; + EgåLbl: Label 'Egå', MaxLength = 30; + VibyJLbl: Label 'Viby J', MaxLength = 30; + HøjbjergLbl: Label 'Højbjerg', MaxLength = 30; + OdderLbl: Label 'Odder', MaxLength = 30; + SamsøLbl: Label 'Samsø', MaxLength = 30; + TranbjergJLbl: Label 'Tranbjerg J', MaxLength = 30; + MårsletLbl: Label 'Mårslet', MaxLength = 30; + BederLbl: Label 'Beder', MaxLength = 30; + MallingLbl: Label 'Malling', MaxLength = 30; + HundslundLbl: Label 'Hundslund', MaxLength = 30; + SolbjergLbl: Label 'Solbjerg', MaxLength = 30; + HasselagerLbl: Label 'Hasselager', MaxLength = 30; + HørningLbl: Label 'Hørning', MaxLength = 30; + HadstenLbl: Label 'Hadsten', MaxLength = 30; + TrigeLbl: Label 'Trige', MaxLength = 30; + TilstLbl: Label 'Tilst', MaxLength = 30; + HinnerupLbl: Label 'Hinnerup', MaxLength = 30; + EbeltoftLbl: Label 'Ebeltoft', MaxLength = 30; + RøndeLbl: Label 'Rønde', MaxLength = 30; + KnebelLbl: Label 'Knebel', MaxLength = 30; + BalleLbl: Label 'Balle', MaxLength = 30; + HammelLbl: Label 'Hammel', MaxLength = 30; + HarlevJLbl: Label 'Harlev J', MaxLength = 30; + GaltenLbl: Label 'Galten', MaxLength = 30; + SabroLbl: Label 'Sabro', MaxLength = 30; + SporupLbl: Label 'Sporup', MaxLength = 30; + GrenaaLbl: Label 'Grenaa', MaxLength = 30; + LystrupLbl: Label 'Lystrup', MaxLength = 30; + HjortshøjLbl: Label 'Hjortshøj', MaxLength = 30; + SkødstrupLbl: Label 'Skødstrup', MaxLength = 30; + HornsletLbl: Label 'Hornslet', MaxLength = 30; + MørkeLbl: Label 'Mørke', MaxLength = 30; + RyomgårdLbl: Label 'Ryomgård', MaxLength = 30; + KolindLbl: Label 'Kolind', MaxLength = 30; + TrustrupLbl: Label 'Trustrup', MaxLength = 30; + NimtofteLbl: Label 'Nimtofte', MaxLength = 30; + GlesborgLbl: Label 'Glesborg', MaxLength = 30; + ØrumDjursLbl: Label 'Ørum Djurs', MaxLength = 30; + AnholtLbl: Label 'Anholt', MaxLength = 30; + SilkeborgLbl: Label 'Silkeborg', MaxLength = 30; + KjellerupLbl: Label 'Kjellerup', MaxLength = 30; + LemmingLbl: Label 'Lemming', MaxLength = 30; + SorringLbl: Label 'Sorring', MaxLength = 30; + AnsByLbl: Label 'Ans By', MaxLength = 30; + ThemLbl: Label 'Them', MaxLength = 30; + BryrupLbl: Label 'Bryrup', MaxLength = 30; + SkanderborgLbl: Label 'Skanderborg', MaxLength = 30; + LåsbyLbl: Label 'Låsby', MaxLength = 30; + RyLbl: Label 'Ry', MaxLength = 30; + HorsensLbl: Label 'Horsens', MaxLength = 30; + DaugårdLbl: Label 'Daugård', MaxLength = 30; + HedenstedLbl: Label 'Hedensted', MaxLength = 30; + LøsningLbl: Label 'Løsning', MaxLength = 30; + HovedgårdLbl: Label 'Hovedgård', MaxLength = 30; + BrædstrupLbl: Label 'Brædstrup', MaxLength = 30; + GedvedLbl: Label 'Gedved', MaxLength = 30; + ØstbirkLbl: Label 'Østbirk', MaxLength = 30; + FlemmingLbl: Label 'Flemming', MaxLength = 30; + RaskMølleLbl: Label 'Rask Mølle', MaxLength = 30; + KlovborgLbl: Label 'Klovborg', MaxLength = 30; + NørreSnedeLbl: Label 'Nørre Snede', MaxLength = 30; + KøbenhavnCLbl: Label 'København C', MaxLength = 30; + StenderupLbl: Label 'Stenderup', MaxLength = 30; + HornsyldLbl: Label 'Hornsyld', MaxLength = 30; + ViborgLbl: Label 'Viborg', MaxLength = 30; + TjeleLbl: Label 'Tjele', MaxLength = 30; + LøgstrupLbl: Label 'Løgstrup', MaxLength = 30; + SkalsLbl: Label 'Skals', MaxLength = 30; + RødkærsbroLbl: Label 'Rødkærsbro', MaxLength = 30; + BjerringbroLbl: Label 'Bjerringbro', MaxLength = 30; + UlstrupLbl: Label 'Ulstrup', MaxLength = 30; + LangåLbl: Label 'Langå', MaxLength = 30; + ThorsøLbl: Label 'Thorsø', MaxLength = 30; + FårvangLbl: Label 'Fårvang', MaxLength = 30; + GjernLbl: Label 'Gjern', MaxLength = 30; + RandersCLbl: Label 'Randers C', MaxLength = 30; + RandersNVLbl: Label 'Randers NV', MaxLength = 30; + RandersNØLbl: Label 'Randers NØ', MaxLength = 30; + RandersSVLbl: Label 'Randers SV', MaxLength = 30; + ØrstedLbl: Label 'Ørsted', MaxLength = 30; + RandersSØLbl: Label 'Randers SØ', MaxLength = 30; + AllingåbroLbl: Label 'Allingåbro', MaxLength = 30; + AuningLbl: Label 'Auning', MaxLength = 30; + HavndalLbl: Label 'Havndal', MaxLength = 30; + SpentrupLbl: Label 'Spentrup', MaxLength = 30; + GjerlevJLbl: Label 'Gjerlev J', MaxLength = 30; + FårupLbl: Label 'Fårup', MaxLength = 30; + KøbenhavnsPakkecenterLbl: Label 'Københavns Pakkecenter', MaxLength = 30; + KøbenhavnsPakkeBRCLbl: Label 'Københavns Pakke BRC', MaxLength = 30; + AalborgSVLbl: Label 'Aalborg SV', MaxLength = 30; + AalborgSØLbl: Label 'Aalborg SØ', MaxLength = 30; + AalborgØstLbl: Label 'Aalborg Øst', MaxLength = 30; + SvenstrupJLbl: Label 'Svenstrup J', MaxLength = 30; + NibeLbl: Label 'Nibe', MaxLength = 30; + GistrupLbl: Label 'Gistrup', MaxLength = 30; + KlarupLbl: Label 'Klarup', MaxLength = 30; + StorvordeLbl: Label 'Storvorde', MaxLength = 30; + KongerslevLbl: Label 'Kongerslev', MaxLength = 30; + SæbyLbl: Label 'Sæby', MaxLength = 30; + VodskovLbl: Label 'Vodskov', MaxLength = 30; + HjallerupLbl: Label 'Hjallerup', MaxLength = 30; + DronninglundLbl: Label 'Dronninglund', MaxLength = 30; + AsaaLbl: Label 'Asaa', MaxLength = 30; + DybvadLbl: Label 'Dybvad', MaxLength = 30; + GandrupLbl: Label 'Gandrup', MaxLength = 30; + HalsLbl: Label 'Hals', MaxLength = 30; + VestbjergLbl: Label 'Vestbjerg', MaxLength = 30; + SulstedLbl: Label 'Sulsted', MaxLength = 30; + TylstrupLbl: Label 'Tylstrup', MaxLength = 30; + NørresundbyLbl: Label 'Nørresundby', MaxLength = 30; + VadumLbl: Label 'Vadum', MaxLength = 30; + AabybroLbl: Label 'Aabybro', MaxLength = 30; + BrovstLbl: Label 'Brovst', MaxLength = 30; + LøkkenLbl: Label 'Løkken', MaxLength = 30; + PandrupLbl: Label 'Pandrup', MaxLength = 30; + BlokhusLbl: Label 'Blokhus', MaxLength = 30; + SaltumLbl: Label 'Saltum', MaxLength = 30; + HobroLbl: Label 'Hobro', MaxLength = 30; + ArdenLbl: Label 'Arden', MaxLength = 30; + SkørpingLbl: Label 'Skørping', MaxLength = 30; + StøvringLbl: Label 'Støvring', MaxLength = 30; + SuldrupLbl: Label 'Suldrup', MaxLength = 30; + MariagerLbl: Label 'Mariager', MaxLength = 30; + HadsundLbl: Label 'Hadsund', MaxLength = 30; + BælumLbl: Label 'Bælum', MaxLength = 30; + TerndrupLbl: Label 'Terndrup', MaxLength = 30; + AarsLbl: Label 'Aars', MaxLength = 30; + NøragerLbl: Label 'Nørager', MaxLength = 30; + AalestrupLbl: Label 'Aalestrup', MaxLength = 30; + GedstedLbl: Label 'Gedsted', MaxLength = 30; + MøldrupLbl: Label 'Møldrup', MaxLength = 30; + FarsøLbl: Label 'Farsø', MaxLength = 30; + LøgstørLbl: Label 'Løgstør', MaxLength = 30; + RanumLbl: Label 'Ranum', MaxLength = 30; + FjerritslevLbl: Label 'Fjerritslev', MaxLength = 30; + BrønderslevLbl: Label 'Brønderslev', MaxLength = 30; + JerslevJLbl: Label 'Jerslev J', MaxLength = 30; + ØstervråLbl: Label 'Østervrå', MaxLength = 30; + VråLbl: Label 'Vrå', MaxLength = 30; + HjørringLbl: Label 'Hjørring', MaxLength = 30; + TårsLbl: Label 'Tårs', MaxLength = 30; + HirtshalsLbl: Label 'Hirtshals', MaxLength = 30; + SindalLbl: Label 'Sindal', MaxLength = 30; + BindslevLbl: Label 'Bindslev', MaxLength = 30; + KuglebyLbl: Label 'Kugleby', MaxLength = 30; + LæsøLbl: Label 'Læsø', MaxLength = 30; + StrandbyLbl: Label 'Strandby', MaxLength = 30; + JerupLbl: Label 'Jerup', MaxLength = 30; + ÅlbækLbl: Label 'Ålbæk', MaxLength = 30; + SkagenLbl: Label 'Skagen', MaxLength = 30; + HilliardLbl: Label 'Hilliard', MaxLength = 30; + CopenhagenLbl: Label 'Copenhagen', MaxLength = 30; + VedbaekLbl: Label 'Vedbaek', MaxLength = 30; + KogeLbl: Label 'Koge', MaxLength = 30; + OdenseCLbl: Label 'Odense C', MaxLength = 30; + NyborgLbl: Label 'Nyborg', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/HR/2.Master Data/CreateEmplPostingGroupNL.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/HR/2.Master Data/CreateEmplPostingGroupNL.Codeunit.al new file mode 100644 index 0000000000..3abbfb2f68 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/HR/2.Master Data/CreateEmplPostingGroupNL.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 13744 "Create Empl. Posting Group NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeePostingGroup: Codeunit "Create Employee Posting Group"; + CreateGLAccDK: Codeunit "Create GL Acc. DK"; + begin + UpdateEmployeePostingGroup(CreateEmployeePostingGroup.EmployeeExpenses(), CreateGLAccDK.AccountsPayablePosting(), CreateGLAccDK.Centdiscrepancies(), CreateGLAccDK.Centdiscrepancies(), CreateGLAccDK.Centdiscrepancies(), CreateGLAccDK.Centdiscrepancies()); + end; + + local procedure UpdateEmployeePostingGroup(EmployeePostingGroupCode: Code[20]; PayableAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]) + var + EmployeePostingGroup: Record "Employee Posting Group"; + begin + EmployeePostingGroup.Get(EmployeePostingGroupCode); + EmployeePostingGroup.Validate("Payables Account", PayableAccount); + EmployeePostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + EmployeePostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + EmployeePostingGroup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/HR/2.Master Data/CreateEmployeeDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/HR/2.Master Data/CreateEmployeeDK.Codeunit.al new file mode 100644 index 0000000000..9a66b8f83b --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/HR/2.Master Data/CreateEmployeeDK.Codeunit.al @@ -0,0 +1,77 @@ +codeunit 13720 "Create Employee DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployee(CreateEmployee.ManagingDirector()); + UpdateEmployee(CreateEmployee.SalesManager()); + UpdateEmployee(CreateEmployee.Designer()); + UpdateEmployee(CreateEmployee.ProductionAssistant()); + UpdateEmployee(CreateEmployee.ProductionManager()); + UpdateEmployee(CreateEmployee.Secretary()); + UpdateEmployee(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployee(EmployeeNo: Code[20]) + var + Employee: Record Employee; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate(Initials, GetInitials(Employee)); + Employee.Modify(true) + end; + + [EventSubscriber(ObjectType::Table, Database::Employee, 'OnBeforeOnInsert', '', false, false)] + local procedure OnBeforeInsertEmployee(var Employee: Record Employee) + var + CreateEmployee: Codeunit "Create Employee"; + begin + case Employee."No." of + CreateEmployee.ManagingDirector(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.SalesManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Designer(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionAssistant(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Secretary(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.InventoryManager(): + begin + Employee.Validate("Job Title", ProductionAssistantLbl); + ValidateEmployee(Employee, '', '', ''); + end; + end; + end; + + local procedure ValidateEmployee(var Employee: Record Employee; UnionCode: Code[10]; EmploymentContractCode: Code[10]; StatisticsGroupCode: Code[10]) + begin + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Emplymt. Contract Code", EmploymentContractCode); + Employee.Validate("Statistics Group Code", StatisticsGroupCode); + Employee.Validate("Union Code", UnionCode); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupDK.Codeunit.al new file mode 100644 index 0000000000..6ae3a2399b --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupDK.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 13725 "Create Inv. Posting Setup DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInvPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + begin + case Rec."Invt. Posting Group Code" of + CreateInvPostingGroup.Resale(): + ValidateRecordFields(Rec, CreateGLAccountDK.InventoryPosting(), CreateGLAccountDK.InventoryPosting()); + end; + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateItemDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateItemDK.Codeunit.al new file mode 100644 index 0000000000..a4169e43b0 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateItemDK.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 13729 "Create Item DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 5560, 4337); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 1071, 835); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 2409, 1879); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 1056, 823); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 3599, 2808); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 1049, 0); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 305, 238); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 1299, 0); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 1071, 835); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 699, 0); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 1071, 835); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 1071, 835); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 1299, 0); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 1056, 823); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 1899, 0); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 1056, 823); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 1056, 823); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 1071, 835); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 7763, 6055); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 1056, 823); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateLocationDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateLocationDK.Codeunit.al new file mode 100644 index 0000000000..357ac941dd --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Inventory/2.Master Data/CreateLocationDK.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 13723 "Create Location DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocaion.EastLocation(), + CreateLocaion.MainLocation(), + CreateLocaion.WestLocation(): + ValidateRecordFields(Rec, CityLbl, PostCodeLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + Location.Validate("Post Code", PostCode); + Location.Validate(City, City); + Location."Country/Region Code" := CountryRegionCode; + end; + + var + CityLbl: Label 'Kongens Lyngby', MaxLength = 30; + PostCodeLbl: Label '2800', MaxLength = 20; +} diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Jobs/1.Setup Data/JobPostingGroupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Jobs/1.Setup Data/JobPostingGroupDK.Codeunit.al new file mode 100644 index 0000000000..1b83a79036 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Jobs/1.Setup Data/JobPostingGroupDK.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 13731 "Job Posting Group DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Job Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnbeforeInsertJobPostingGroup(var Rec: Record "Job Posting Group") + var + CreateJobPostingGroup: Codeunit "Create Job Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateGLAccDK: Codeunit "Create GL Acc. DK"; + begin + case Rec.Code of + CreateJobPostingGroup.DefaultJobPostingGroup(): + ValidateRecordFields(Rec, CreateGLAccount.WIPJobCosts(), CreateGLAccount.AccruedJobCosts(), CreateGLAccDK.Jobcostsapplied(), '', CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobCosts(), CreateGLAccDK.Jobsalesapplied(), '', CreateGLAccount.JobCosts(), CreateGLAccount.JobCosts()); + end; + end; + + procedure ValidateRecordFields(JobPostingGroup: Record "Job Posting Group"; WIPCostsAcc: Code[20]; WIPAccruedCostsAcc: Code[20]; JobCostsAppliedAcc: Code[20]; JobCostsAdjAcc: Code[20]; WIPAccruedSalesAcc: Code[20]; WIPInvoicedSalesAcc: Code[20]; JobSalesAppliedAcc: Code[20]; JobSalesAdjAcc: Code[20]; RecognizedCostAcc: Code[20]; RecognizedSalesAcc: Code[20]) + begin + JobPostingGroup.Validate("WIP Costs Account", WIPCostsAcc); + JobPostingGroup.Validate("WIP Accrued Costs Account", WIPAccruedCostsAcc); + JobPostingGroup.Validate("Job Costs Applied Account", JobCostsAppliedAcc); + JobPostingGroup.Validate("Job Costs Adjustment Account", JobCostsAdjAcc); + JobPostingGroup.Validate("WIP Accrued Sales Account", WIPAccruedSalesAcc); + JobPostingGroup.Validate("WIP Invoiced Sales Account", WIPInvoicedSalesAcc); + JobPostingGroup.Validate("Job Sales Applied Account", JobSalesAppliedAcc); + JobPostingGroup.Validate("Job Sales Adjustment Account", JobSalesAdjAcc); + JobPostingGroup.Validate("Recognized Costs Account", RecognizedCostAcc); + JobPostingGroup.Validate("Recognized Sales Account", RecognizedSalesAcc); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Jobs/3.Transactions/CreateJobDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Jobs/3.Transactions/CreateJobDK.Codeunit.al new file mode 100644 index 0000000000..aa46be1214 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Jobs/3.Transactions/CreateJobDK.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 13724 "Create Job DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Job, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertJob(var Rec: Record Job) + var + CreateLanguage: Codeunit "Create Language"; + begin + ValidateRecordFieldsJob(Rec, CreateLanguage.DAN()); + end; + + local procedure ValidateRecordFieldsJob(var Job: Record Job; LanguageCode: Code[10]) + begin + Job.Validate("Language Code", LanguageCode); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupDK.Codeunit.al new file mode 100644 index 0000000000..8ad1e89cae --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupDK.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 13726 "Create Purch. Payable Setup DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdatePurchasesPayablesSetup() + end; + + local procedure UpdatePurchasesPayablesSetup() + var + CreateNoSeries: Codeunit "Create No. Series"; + begin + ValidateRecordFields(true, CreateNoSeries.PostedPurchaseInvoice(), CreateNoSeries.PostedPurchaseCreditMemo()); + end; + + local procedure ValidateRecordFields(AllowVatDifference: Boolean; PostedPrepmtInvNos: Code[20]; PostedPrepmtCrMemoNos: Code[20]) + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + begin + PurchasesPayablesSetup.Get(); + PurchasesPayablesSetup.Validate("Allow VAT Difference", AllowVatDifference); + PurchasesPayablesSetup.Validate("Posted Prepmt. Inv. Nos.", PostedPrepmtInvNos); + PurchasesPayablesSetup.Validate("Posted Prepmt. Cr. Memo Nos.", PostedPrepmtCrMemoNos); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupDK.Codeunit.al new file mode 100644 index 0000000000..f65c2057b9 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupDK.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 13727 "Create Vendor Posting Group DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGroup(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + begin + case Rec.Code of + CreateVendorPostingGroup.Domestic(), + CreateVendorPostingGroup.EU(), + CreateVendorPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccountDK.AccountsPayablePosting(), '', CreateGLAccountDK.Discountsreceived(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Discountsreceived(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies()); + end; + end; + + local procedure ValidateRecordFields(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueDK.Codeunit.al new file mode 100644 index 0000000000..0a641640b2 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueDK.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 13718 "Create Purch. Dim. Value DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/2.Master Data/CreateVendorDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/2.Master Data/CreateVendorDK.Codeunit.al new file mode 100644 index 0000000000..48c5de2db9 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/2.Master Data/CreateVendorDK.Codeunit.al @@ -0,0 +1,73 @@ +codeunit 13730 "Create Vendor DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreateTerritory: Codeunit "Create Territory"; + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVatPostingGroups: Codeunit "Create Vat Posting Groups"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, LondonPostmasterLbl, LondonPostmasterAddressLbl, '', CopenhagenKCityLbl, '', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.DK(), '', CreatePostingGroups.DomesticPostingGroup(), PostCode1152Lbl, CreateVatPostingGroups.Domestic()); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, ARDayPropertyManagementLbl, ARDayPropertyManagementAddressLbl, '', KogeCityLbl, '', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.DK(), '', CreatePostingGroups.DomesticPostingGroup(), PostCode4600Lbl, CreateVatPostingGroups.Domestic()); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, CoolWoodTechnologiesLbl, CoolWoodTechnologiesAddressLbl, '', CopenhagenCityLbl, '', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.DK(), '', CreatePostingGroups.DomesticPostingGroup(), PostCode2100Lbl, CreateVatPostingGroups.Domestic()); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, LewisHomeFurnitureLbl, LewisHomeFurnitureAddressLbl, '', ManchesterCityLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.EU(), CreateCountryRegion.GB(), GBVatRegNoLbl, CreatePostingGroups.EUPostingGroup(), GBM225TGPostCodeLbl, CreateVatPostingGroups.EU()); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, ServiceElectronicsLbl, ServiceElectronicsAddressLbl, '', AtlantaCityLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Foreign(), CreateCountryRegion.US(), '', CreatePostingGroups.ExportPostingGroup(), USGA31772PostCodeLbl, CreateVatPostingGroups.Export()); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; Name: Text[100]; Address: Text[100]; Address2: Text[50]; City: Text[30]; TerritoryCode: Code[10]; VendorPostingGroupCode: Code[20]; CountryRegionCode: Code[10]; VatRegNo: Text[20]; GenBusPostingGroup: Code[20]; PostCode: Code[20]; VATBusPostingGroupCode: Code[20]) + var + CreateVendor: Codeunit "Create Vendor"; + begin + Vendor.Validate(Name, Name); + Vendor.Validate(Address, Address); + Vendor.Validate("Address 2", Address2); + Vendor.Validate(City, City); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("Vendor Posting Group", VendorPostingGroupCode); + Vendor.Validate("Country/Region Code", CountryRegionCode); + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("VAT Bus. Posting Group", VATBusPostingGroupCode); + if Vendor."No." = CreateVendor.DomesticNodPublisher() then + Vendor.Validate(County, ''); + end; + + var + LondonPostmasterLbl: Label 'London Postmaster', Maxlength = 100; + ARDayPropertyManagementLbl: Label 'AR Day Property Management', Maxlength = 100; + CoolWoodTechnologiesLbl: Label 'CoolWood Technologies', Maxlength = 100; + LewisHomeFurnitureLbl: Label 'Lewis Home Furniture', Maxlength = 100; + ServiceElectronicsLbl: Label 'Service Electronics Ltd.', Maxlength = 100; + LondonPostmasterAddressLbl: Label '10 North Lake Avenue', MaxLength = 100, Locked = true; + ARDayPropertyManagementAddressLbl: Label '100 Day Drive', MaxLength = 100, Locked = true; + CoolWoodTechnologiesAddressLbl: Label '33 Hitech Drive', MaxLength = 100, Locked = true; + LewisHomeFurnitureAddressLbl: Label '51 Radcroft Road', MaxLength = 100, Locked = true; + ServiceElectronicsAddressLbl: Label '172 Field Green', MaxLength = 100, Locked = true; + CopenhagenKCityLbl: Label 'Copenhagen K', MaxLength = 30, Locked = true; + KogeCityLbl: Label 'Koge', MaxLength = 30, Locked = true; + CopenhagenCityLbl: Label 'Copenhagen', MaxLength = 30, Locked = true; + ManchesterCityLbl: Label 'Manchester', MaxLength = 30, Locked = true; + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30, Locked = true; + GBVatRegNoLbl: Label 'GB555555555', MaxLength = 20; + PostCode1152Lbl: Label '1152', MaxLength = 20; + PostCode4600Lbl: Label '4600', MaxLength = 20; + PostCode2100Lbl: Label '2100', MaxLength = 20; + GBM225TGPostCodeLbl: Label 'GB-M22 5TG', MaxLength = 20; + USGA31772PostCodeLbl: Label 'US-GA 31772', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/3.Transactional Data/CreatePurchaseDocumentDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/3.Transactional Data/CreatePurchaseDocumentDK.Codeunit.al new file mode 100644 index 0000000000..db204d718c --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Purchase/3.Transactional Data/CreatePurchaseDocumentDK.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 13722 "Create Purchase Document DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdatePurchaseLine(); + end; + + local procedure UpdatePurchaseLine() + var + PurchaseLine: Record "Purchase Line"; + Resource: Record Resource; + begin + PurchaseLine.SetRange(Type, PurchaseLine.Type::Resource); + if PurchaseLine.FindSet() then + repeat + Resource.Get(PurchaseLine."No."); + PurchaseLine.Validate("Direct Unit Cost", Resource."Direct Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupDK.Codeunit.al new file mode 100644 index 0000000000..c03e104ffc --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupDK.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 13732 "Create Cust. Posting Group DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustPostingGroup(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateGLAccountDK: Codeunit "Create GL Acc. DK"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCustomerPostingGroup.Domestic(), + CreateCustomerPostingGroup.EU(), + CreateCustomerPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivable(), '', CreateGLAccountDK.Discountsgranted(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Discountsgranted(), CreateGLAccountDK.Centdiscrepancies(), CreateGLAccountDK.Centdiscrepancies()); + end; + end; + + procedure ValidateRecordFields(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelDK.Codeunit.al new file mode 100644 index 0000000000..ec37387305 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelDK.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 13733 "Create Reminder Level DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + ValidateRecordFields(Rec, 43); + if Rec."No." = 2 then + ValidateRecordFields(Rec, 86); + if Rec."No." = 3 then + ValidateRecordFields(Rec, 128); + end; + end; + end; + + procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFee: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFee); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupDK.Codeunit.al new file mode 100644 index 0000000000..8facc9072d --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupDK.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 13734 "Create Sales Recv. Setup DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + CreateNoSeries: Codeunit "Create No. Series"; + begin + ValidateRecordFields(true, CreateNoSeries.PostedSalesInvoice(), CreateNoSeries.PostedSalesCreditMemo()); + end; + + local procedure ValidateRecordFields(AllowVatDifference: Boolean; PostedPrepmtInvNos: Code[20]; PostedPrepmtCrMemoNos: Code[20]) + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + begin + SalesReceivablesSetup.Get(); + SalesReceivablesSetup.Validate("Allow VAT Difference", AllowVatDifference); + SalesReceivablesSetup.Validate("Posted Prepmt. Inv. Nos.", PostedPrepmtInvNos); + SalesReceivablesSetup.Validate("Posted Prepmt. Cr. Memo Nos.", PostedPrepmtCrMemoNos); + SalesReceivablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateCustomerDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateCustomerDK.Codeunit.al new file mode 100644 index 0000000000..463fe06af4 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateCustomerDK.Codeunit.al @@ -0,0 +1,74 @@ +codeunit 13736 "Create Customer DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateTerritory: Codeunit "Create Territory"; + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVatPostingGroups: Codeunit "Create Vat Posting Groups"; + CreateLanguage: Codeunit "Create Language"; + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, CannonGroupLbl, CannonGroupAddressLbl, '', NyborgCityLbl, '', CreateCustomerPostingGroup.Domestic(), CreateCountryRegion.DK(), '', CreatePostingGroups.DomesticPostingGroup(), '', PostCode5800Lbl, CreateVatPostingGroups.Domestic(), CreateLanguage.DAN(), CreateReminderTerms.Domestic()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, SelangorianLtdLbl, SelangorianLtdAddressLbl, '', HolbækCityLbl, '', CreateCustomerPostingGroup.Domestic(), CreateCountryRegion.DK(), '', CreatePostingGroups.DomesticPostingGroup(), '', PostCode4300Lbl, CreateVatPostingGroups.Domestic(), CreateLanguage.DAN(), CreateReminderTerms.Domestic()); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, JohnHaddockLbl, SchoolofArtAddressLbl, '', KogeCityLbl, '', CreateCustomerPostingGroup.Domestic(), CreateCountryRegion.DK(), '', CreatePostingGroups.DomesticPostingGroup(), '', PostCode4600Lbl, CreateVatPostingGroups.Domestic(), CreateLanguage.DAN(), CreateReminderTerms.Domestic()); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, DeerfieldGraphicsLbl, DeerfieldGraphicsAddressLbl, '', HilliardCityLbl, CreateTerritory.Foreign(), CreateCustomerPostingGroup.Foreign(), CreateCountryRegion.US(), '', CreatePostingGroups.ExportPostingGroup(), '', USFL37125PostCodeLbl, CreateVatPostingGroups.Export(), CreateLanguage.ENU(), CreateReminderTerms.Foreign()); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, GuildfordWaterLbl, GuildfordWaterAddressLbl, '', GuildfordCityLbl, CreateTerritory.Foreign(), CreateCustomerPostingGroup.EU(), CreateCountryRegion.GB(), GBVatRegNoLbl, CreatePostingGroups.EUPostingGroup(), '', GBGU27YQPostCodeLbl, CreateVatPostingGroups.EU(), CreateLanguage.ENG(), CreateReminderTerms.Foreign()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; Name: Text[100]; Address: Text[100]; Address2: Text[50]; City: Text[30]; TerritoryCode: Code[10]; CustomerPostingGroupCode: Code[20]; CountryRegionCode: Code[10]; VatRegNo: Text[20]; GenBusPostingGroupCode: Code[20]; County: Text[30]; PostCode: Code[20]; VATBusPostingGroup: Code[20]; LanguageCode: Code[10]; ReminderTermsCode: Code[10]) + begin + Customer.Validate(Name, Name); + Customer.Validate(Address, Address); + Customer.Validate("Address 2", Address2); + Customer.Validate(City, City); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Customer Posting Group", CustomerPostingGroupCode); + Customer.Validate("Country/Region Code", CountryRegionCode); + Customer.Validate("VAT Registration No.", VatRegNo); + Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroupCode); + Customer.Validate(County, County); + Customer.Validate("Post Code", PostCode); + Customer.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Reminder Terms Code", ReminderTermsCode); + end; + + var + CannonGroupLbl: Label 'The Cannon Group PLC', Maxlength = 100; + SelangorianLtdLbl: Label 'Selangorian Ltd.', Maxlength = 100; + JohnHaddockLbl: Label 'John Haddock Insurance Co.', Maxlength = 100; + DeerfieldGraphicsLbl: Label 'Deerfield Graphics Company', Maxlength = 100; + GuildfordWaterLbl: Label 'Guildford Water Department', Maxlength = 100; + CannonGroupAddressLbl: Label '192 Market Square', MaxLength = 100, Locked = true; + SelangorianLtdAddressLbl: Label '153 Thomas Drive', MaxLength = 100, Locked = true; + SchoolofArtAddressLbl: Label '10 High Tower Green', MaxLength = 100, Locked = true; + DeerfieldGraphicsAddressLbl: Label '10 Deerfield Road', MaxLength = 100, Locked = true; + GuildfordWaterAddressLbl: Label '25 Water Way', MaxLength = 100, Locked = true; + NyborgCityLbl: Label 'Nyborg', MaxLength = 30, Locked = true; + KogeCityLbl: Label 'Koge', MaxLength = 30, Locked = true; + HolbækCityLbl: Label 'Holbæk', MaxLength = 30, Locked = true; + HilliardCityLbl: Label 'Hilliard', MaxLength = 30, Locked = true; + GuildfordCityLbl: Label 'Guildford', MaxLength = 30, Locked = true; + GBVatRegNoLbl: Label 'GB333333333', MaxLength = 20; + PostCode5800Lbl: Label '5800', MaxLength = 20; + PostCode4300Lbl: Label '4300', MaxLength = 20; + PostCode4600Lbl: Label '4600', MaxLength = 20; + USFL37125PostCodeLbl: Label 'US-FL 37125', MaxLength = 20; + GBGU27YQPostCodeLbl: Label 'GB-GU2 7YQ', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateDK.Codeunit.al new file mode 100644 index 0000000000..2bcc7f03dc --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateDK.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 13735 "Create Customer Template DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerTemplate(var Rec: Record "Customer Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomerTemplate: Codeunit "Create Customer Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(), + CreateCustomerTemplate.CustomerPerson(): + ValidateRecordFields(Rec, ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; + + local procedure ValidateRecordFields(var CustomerTempl: Record "Customer Templ."; CountryRegionCode: Code[10]) + begin + CustomerTempl.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueDK.Codeunit.al new file mode 100644 index 0000000000..dbd29a2033 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueDK.Codeunit.al @@ -0,0 +1,63 @@ +codeunit 13719 "Create Sales Dim Value DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.ExportSchoolofArt()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + begin + ValidateRecordFields(Rec, '', Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + Rec.Validate("Allowed Values Filter", '30|40'); + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + end; + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.EUAlpineSkiHouse()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressDK.Codeunit.al new file mode 100644 index 0000000000..acf466ef69 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressDK.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 13737 "Create Ship-to Address DK" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + Cheltenham(), London(): + ValidateShiptoAddress(Rec, KongensLyngbyCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode2800Lbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + Fleet(), TWYCross(): + ValidateShiptoAddress(Rec, KongensLyngbyCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode2800Lbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; CountryRegionCode: Code[10]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + procedure Cheltenham(): Code[10] + begin + exit(CheltenhamTok); + end; + + procedure London(): Code[10] + begin + exit(LondonTok); + end; + + procedure Fleet(): Code[10] + begin + exit(FleetTok); + end; + + procedure TWYCross(): Code[10] + begin + exit(TWYCrossTok); + end; + + var + CheltenhamTok: Label 'CHELTENHAM', MaxLength = 10; + LondonTok: Label 'LONDON', MaxLength = 10; + FleetTok: Label 'FLEET', MaxLength = 10; + TWYCrossTok: Label 'TWYCROSS', MaxLength = 10; + KongensLyngbyCityLbl: Label 'Kongens Lyngby', MaxLength = 30; + PostCode2800Lbl: Label '2800', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/CommonModuleDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/CommonModuleDK.Codeunit.al similarity index 94% rename from Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/CommonModuleDK.Codeunit.al rename to Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/CommonModuleDK.Codeunit.al index 987c1a12c9..d2efca5b89 100644 --- a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/CommonModuleDK.Codeunit.al +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/CommonModuleDK.Codeunit.al @@ -15,7 +15,7 @@ codeunit 13701 "Common Module DK" if ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data" then begin LocalStandardVATPercentage := 25; ContosoPostingSetup.SetOverwriteData(true); - ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); ContosoPostingSetup.SetOverwriteData(false); end; end; diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/Contoso Helpers/ContosoGLAccountDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/Contoso Helpers/ContosoGLAccountDK.Codeunit.al new file mode 100644 index 0000000000..b900704768 --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/Contoso Helpers/ContosoGLAccountDK.Codeunit.al @@ -0,0 +1,80 @@ +codeunit 13747 "Contoso GL Account DK" +{ + SingleInstance = true; + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "G/L Account" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertGLAccount(AccountNo: Code[20]; Name: Text[100]; IncomeOrBalance: Enum "G/L Account Income/Balance"; AccountCategory: Enum "G/L Account Category"; AccountType: Enum "G/L Account Type"; GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; NoOfBlankLines: Integer; Totaling: Text[250]; GenPostingType: Enum "General Posting Type"; VATGenPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; DirectPosting: Boolean; ReconciliationAccount: Boolean; NewPage: Boolean; DebitCredit: Option; AccountSubCategory: text[80]) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + GLAccount: Record "G/L Account"; + Exists: Boolean; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if AccountNo = '' then + exit; + + if GLAccount.Get(AccountNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + GLAccount.Validate("No.", AccountNo); + GLAccount.Validate(Name, Name); + + case IncomeOrBalance of + IncomeOrBalance::"Income Statement": + GLAccount.Validate("Income/Balance", GLAccount."Income/Balance"::"Income Statement"); + IncomeOrBalance::"Balance Sheet": + GLAccount.Validate("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + end; + + if AccountCategory <> Enum::"G/L Account Category"::" " then begin + GLAccount.Validate("Account Category", AccountCategory); + + if AccountSubCategory = '' then + GLAccount.Validate("Account Subcategory Entry No.", 0) + else + GLAccount.ValidateAccountSubCategory(AccountSubCategory); + end else + GLAccount.Validate("Account Category", Enum::"G/L Account Category"::" "); + + GLAccount.Validate("Account Type", AccountType); + if GLAccount."Account Type" = GLAccount."Account Type"::Posting then + GLAccount.Validate("Direct Posting", DirectPosting); + + GLAccount.Validate("No. of Blank Lines", NoOfBlankLines); + + if Totaling <> '' then + GLAccount.Validate(Totaling, Totaling); + if GenPostingType <> GenPostingType::" " then + GLAccount.Validate("Gen. Posting Type", GenPostingType); + if (VATGenPostingGroup <> '') and (ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax") then + GLAccount.Validate("VAT Bus. Posting Group", VATGenPostingGroup); + if (VATProdPostingGroup <> '') and (ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax") then + GLAccount.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + + GLAccount.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + GLAccount.Validate("Gen. Prod. Posting Group", GenProdPostingGroup); + GLAccount.Validate("Reconciliation Account", ReconciliationAccount); + GLAccount.Validate("New Page", NewPage); + GLAccount.Validate("Debit/Credit", DebitCredit); + + if Exists then + GLAccount.Modify(true) + else + GLAccount.Insert(true); + end; +} diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/Contoso Helpers/ContosoPostCodeDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/Contoso Helpers/ContosoPostCodeDK.Codeunit.al new file mode 100644 index 0000000000..3a2fdf6faa --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/Contoso Helpers/ContosoPostCodeDK.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 13740 "Contoso Post Code DK" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]; County: Text[30]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + PostCode.Validate(County, County); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/ContosoDemoDataSetupDK.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/ContosoDemoDataSetupDK.Codeunit.al similarity index 100% rename from Apps/DK/ContosoCoffeeDemoDatasetDK/app/Codeunits/ContosoDemoDataSetupDK.Codeunit.al rename to Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/ContosoDemoDataSetupDK.Codeunit.al diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/DKContosoLocalization.Codeunit.al b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/DKContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..773343992c --- /dev/null +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/Demo Tool/DKContosoLocalization.Codeunit.al @@ -0,0 +1,317 @@ +codeunit 13750 "DK Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::"Fixed Asset Module" then + FixedAssetModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResource(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::CRM then + CRMModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure HumanResource(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Empl. Posting Group NL"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Employee DK"); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Marketing Setup DK"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create VAT Statement Line DK"); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreatePostingGroupsDK: Codeunit "Create Posting Groups DK"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information DK"); + Codeunit.Run(Codeunit::"Create Post Code DK"); + Codeunit.Run(Codeunit::"Create VAT Posting Groups DK"); + CreatePostingGroupsDK.InsertGenPostingGroup(); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupDK: Codeunit "Create VAT Posting Groups DK"; + CreatePostingGroupsDK: Codeunit "Create Posting Groups DK"; + CreateGenJournalBatchDK: Codeunit "Create Gen. Journal Batch DK"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create VAT Posting Groups DK"); + Codeunit.Run(Codeunit::"Create Posting Groups DK"); + CreateVatPostingGroupDK.UpdateVATPostingSetup(); + CreatePostingGroupsDK.UpdateGenPostingSetup(); + CreateGenJournalBatchDK.UpdateGenJournalBatch(); + Codeunit.Run(Codeunit::"Create General Ledger Setup DK"); + + // CreateGLAccDK.AddCategoriesToGLAccounts() + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Currency Ex. Rate DK"); + Codeunit.Run(Codeunit::"Create VAT Setup Post.Grp. DK"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Bank Account DK"); + + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Bank Acc Posting Grp DK"); + + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Bank Acc. Reco. DK"); + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create FA Posting Grp. DK"); + Codeunit.Run(Codeunit::"Create FA SubClass DK"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create FA No. Series DK"); + Codeunit.Run(Codeunit::"Create FA Ins Jnl. Template DK"); + end; + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Purch. Payable Setup DK"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Purchase Document DK"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Sales Recv. Setup DK"); + end; + end; + + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreatePostingGroupsDK: Codeunit "Create Posting Groups DK"; + CreateAnalysisViewDK: Codeunit "Create Analysis View DK"; + CreateAccScheduleLineDK: Codeunit "Create Acc. Schedule Line DK"; + CreateCurrencyDK: Codeunit "Create Currency DK"; + CreateCurrencyExchRateDK: Codeunit "Create Currency Ex. Rate DK"; + CreateLocationDK: Codeunit "Create Location DK"; + CreateInvPostingSetupDK: Codeunit "Create Inv. Posting Setup DK"; + CreateItemDK: Codeunit "Create Item DK"; + CreateBankAccountDK: Codeunit "Create Bank Account DK"; + CreatePaymentMethodDK: Codeunit "Create Payment Method DK"; + CreateBankAccPostingGrpDK: Codeunit "Create Bank Acc Posting Grp DK"; + CreateFAPostingGrpDK: Codeunit "Create FA Posting Grp. DK"; + JobPostingGroupDK: Codeunit "Job Posting Group DK"; + CreateJobDK: Codeunit "Create Job DK"; + CreateVendorPostingGroupDK: Codeunit "Create Vendor Posting Group DK"; + CreateVendorDK: Codeunit "Create Vendor DK"; + CreateCustPostingGroupDK: Codeunit "Create Cust. Posting Group DK"; + CreateReminderLevelDK: Codeunit "Create Reminder Level DK"; + CreateCustomerDK: codeunit "Create Customer DK"; + CreateCustomerTemplateDK: Codeunit "Create Customer Template DK"; + CreatePurchDimValueDK: CodeUnit "Create Purch. Dim. Value DK"; + CreateSalesDimValueDK: CodeUnit "Create Sales Dim Value DK"; + CreateEmployeeDK: Codeunit "Create Employee DK"; + CreateResourceDK: Codeunit "Create Resource DK"; + CreateShipToAddressDK: Codeunit "Create Ship-to Address DK"; + CreateVATPostingGrpDK: Codeunit "Create Vat Posting Groups DK"; + CreateFADeprBookDK: Codeunit "Create FA Depreciation Book DK"; + CreateBankAccRecoDK: Codeunit "Create Bank Acc. Reco. DK"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreatePostingGroupsDK); + BindSubscription(CreateAnalysisViewDK); + BindSubscription(CreateAccScheduleLineDK); + BindSubscription(CreateCurrencyDK); + BindSubscription(CreateCurrencyExchRateDK); + BindSubscription(CreateResourceDK); + BindSubscription(CreateVATPostingGrpDK); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreatePaymentMethodDK); + BindSubscription(CreateBankAccountDK); + BindSubscription(CreateBankAccPostingGrpDK); + BindSubscription(CreateBankAccRecoDK); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + BindSubscription(CreateFAPostingGrpDK); + BindSubscription(CreateFADeprBookDK); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateInvPostingSetupDK); + BindSubscription(CreateItemDK); + BindSubscription(CreateLocationDK); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorPostingGroupDK); + BindSubscription(CreateVendorDK); + BindSubscription(CreatePurchDimValueDK); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustPostingGroupDK); + BindSubscription(CreateReminderLevelDK); + BindSubscription(CreateCustomerDK); + BindSubscription(CreateCustomerTemplateDK); + BindSubscription(CreateSalesDimValueDK); + BindSubscription(CreateShipToAddressDK); + end; + Enum::"Contoso Demo Data Module"::"Job Module": + begin + BindSubscription(JobPostingGroupDK); + BindSubscription(CreateJobDK); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + BindSubscription(CreateEmployeeDK); + end; + end; + + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreatePostingGroupsDK: Codeunit "Create Posting Groups DK"; + CreateAnalysisViewDK: Codeunit "Create Analysis View DK"; + CreateAccScheduleLineDK: Codeunit "Create Acc. Schedule Line DK"; + CreateCurrencyDK: Codeunit "Create Currency DK"; + CreateCurrencyExchRateDK: Codeunit "Create Currency Ex. Rate DK"; + CreateLocationDK: Codeunit "Create Location DK"; + CreateInvPostingSetupDK: Codeunit "Create Inv. Posting Setup DK"; + CreateItemDK: Codeunit "Create Item DK"; + CreateBankAccountDK: Codeunit "Create Bank Account DK"; + CreatePaymentMethodDK: Codeunit "Create Payment Method DK"; + CreateBankAccPostingGrpDK: Codeunit "Create Bank Acc Posting Grp DK"; + CreateFAPostingGrpDK: Codeunit "Create FA Posting Grp. DK"; + JobPostingGroupDK: Codeunit "Job Posting Group DK"; + CreateJobDK: Codeunit "Create Job DK"; + CreateVendorPostingGroupDK: Codeunit "Create Vendor Posting Group DK"; + CreateVendorDK: Codeunit "Create Vendor DK"; + CreateCustPostingGroupDK: Codeunit "Create Cust. Posting Group DK"; + CreateReminderLevelDK: Codeunit "Create Reminder Level DK"; + CreateCustomerDK: codeunit "Create Customer DK"; + CreateCustomerTemplateDK: Codeunit "Create Customer Template DK"; + CreatePurchDimValueDK: Codeunit "Create Purch. Dim. Value DK"; + CreateSalesDimValueDK: CodeUnit "Create Sales Dim Value DK"; + CreateEmployeeDK: Codeunit "Create Employee DK"; + CreateResourceDK: Codeunit "Create Resource DK"; + ShipToAddressDK: Codeunit "Create Ship-to Address DK"; + CreateVATPostingGrpDK: Codeunit "Create Vat Posting Groups DK"; + CreateFADeprBookDK: Codeunit "Create FA Depreciation Book DK"; + CreateBankAccRecoDK: Codeunit "Create Bank Acc. Reco. DK"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Finance: + begin + UnBindSubscription(CreatePostingGroupsDK); + UnBindSubscription(CreateAnalysisViewDK); + UnBindSubscription(CreateAccScheduleLineDK); + UnBindSubscription(CreateCurrencyDK); + UnbindSubscription(CreateCurrencyExchRateDK); + UnbindSubscription(CreateResourceDK); + UnbindSubscription(CreateVATPostingGrpDK); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnBindSubscription(CreatePaymentMethodDK); + UnBindSubscription(CreateBankAccountDK); + UnBindSubscription(CreateBankAccPostingGrpDK); + UnbindSubscription(CreateBankAccRecoDK); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + UnbindSubscription(CreateFADeprBookDK); + UnBindSubscription(CreateFAPostingGrpDK); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnBindSubscription(CreateInvPostingSetupDK); + UnBindSubscription(CreateItemDK); + UnBindSubscription(CreateLocationDK); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnBindSubscription(CreateVendorPostingGroupDK); + UnBindSubscription(CreateVendorDK); + UnbindSubscription(CreatePurchDimValueDK); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnBindSubscription(CreateReminderLevelDK); + UnBindSubscription(CreateCustomerDK); + UnBindSubscription(CreateCustomerTemplateDK); + UnBindSubscription(CreateCustPostingGroupDK); + UnbindSubscription(CreateSalesDimValueDK); + UnBindSubscription(ShipToAddressDK) + end; + Enum::"Contoso Demo Data Module"::"Job Module": + begin + UnBindSubscription(JobPostingGroupDK); + UnBindSubscription(CreateJobDK); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + UnbindSubscription(CreateEmployeeDK); + end; + end; +} diff --git a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/app.json b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/app.json index 00c1196817..d7d3ee1095 100644 --- a/Apps/DK/ContosoCoffeeDemoDatasetDK/app/app.json +++ b/Apps/DK/ContosoCoffeeDemoDatasetDK/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 13699, - "to": 13705 + "to": 13805 } ], "resourceExposurePolicy": { diff --git a/Apps/DK/OIOUBL/app/src/Init/OIOUBLInitialize.Codeunit.al b/Apps/DK/OIOUBL/app/src/Init/OIOUBLInitialize.Codeunit.al index 5e15f3982d..7882b7796b 100644 --- a/Apps/DK/OIOUBL/app/src/Init/OIOUBLInitialize.Codeunit.al +++ b/Apps/DK/OIOUBL/app/src/Init/OIOUBLInitialize.Codeunit.al @@ -36,13 +36,16 @@ codeunit 13624 "OIOUBL-Initialize" OIOUBLProfileIDTxt: Label 'Procurement-OrdSimR-BilSim-1.0', Locked = true; trigger OnInstallAppPerCompany() +#if not CLEAN26 var AppInfo: ModuleInfo; +#endif begin +#if not CLEAN26 NavApp.GetCurrentModuleInfo(AppInfo); if AppInfo.DataVersion() = Version.Create('0.0.0.0') then CODEUNIT.Run(CODEUNIT::"OIOUBL-MigrateToExtV2"); - +#endif CompanyInitialize(); end; diff --git a/Apps/DK/OIOUBL/app/src/upgrade/OIOUBLMigrateToExtV2.Codeunit.al b/Apps/DK/OIOUBL/app/src/upgrade/OIOUBLMigrateToExtV2.Codeunit.al index 597fe882e0..00954c1dc9 100644 --- a/Apps/DK/OIOUBL/app/src/upgrade/OIOUBLMigrateToExtV2.Codeunit.al +++ b/Apps/DK/OIOUBL/app/src/upgrade/OIOUBLMigrateToExtV2.Codeunit.al @@ -1,466 +1,16 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEAN26 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ namespace Microsoft.EServices.EDocument; -using Microsoft.Finance.Currency; -using Microsoft.Foundation.Address; -using Microsoft.Foundation.PaymentTerms; -using Microsoft.Inventory.Item; -using Microsoft.Sales.Archive; -using Microsoft.Sales.Customer; -using Microsoft.Sales.Document; -using Microsoft.Sales.FinanceCharge; -using Microsoft.Sales.History; -using Microsoft.Sales.Reminder; -using Microsoft.Sales.Setup; -using Microsoft.Service.Document; -using Microsoft.Service.History; -using Microsoft.Service.Setup; - codeunit 13623 "OIOUBL-MigrateToExtV2" { Subtype = Install; - - trigger OnRun(); - begin - if InitializeDone() then - exit; - - MoveTablePaymentTerms(); - MoveTableCurrency(); - MoveTableCountryRegion(); - MoveTableCustomer(); - MoveTableSalesHeader(); - MoveTableSalesLine(); - MoveTableSalesInvoiceHeader(); - MoveTableSalesInvoiceLine(); - MoveTableSalesCrMemoHeader(); - MoveTableSalesCrMemoLine(); - MoveTableReminderHeader(); - MoveTableReminderLine(); - MoveTableIssuedReminderHeader(); - MoveTableIssuedReminderLine(); - MoveTableFinanceChargeMemoHeader(); - MoveTableFinanceChargeMemoLine(); - MoveTableIssuedFinanceChargeMemoHeader(); - MoveTableIssuedFinanceChargeMemoLine(); - MoveTableSalesAndReceivablesSetup(); - MoveTableSalesHeaderArchive(); - MoveTableSalesLineArchive(); - MoveTableItemCharge(); - MoveTableServiceHeader(); - MoveTableServiceLine(); - MoveTableServiceMgtSetup(); - MoveTableServiceCrMemoHeader(); - MoveTableServiceCrMemoLine(); - MoveTableOIOUBLProfile(); - end; - - local procedure InitializeDone(): boolean - var - OIOUBLProfile: Record "OIOUBL-Profile"; - begin - exit(NOT OIOUBLProfile.IsEmpty()); - end; - - local procedure MoveTablePaymentTerms(); - var - PaymentTerms: Record "Payment Terms"; - begin - with PaymentTerms do - if FindSet() then - repeat - "OIOUBL-Code" := "OIOUBL Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableCurrency(); - var - Currency: Record Currency; - begin - with Currency do - if FindSet() then - repeat - "OIOUBL-Currency Code" := "OIOUBL Currency Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableCountryRegion(); - var - CountryRegion: Record "Country/Region"; - begin - with CountryRegion do - if FindSet() then - repeat - "OIOUBL-Country/Region Code" := "OIOUBL Country/Region Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableCustomer(); - var - Customer: Record Customer; - begin - with Customer do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Profile Code" := "OIOUBL Profile Code"; - "OIOUBL-Profile Code Required" := "OIOUBL Profile Code Required"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesHeader(); - var - SalesHeader: Record "Sales Header"; - begin - with SalesHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Profile Code" := "OIOUBL Profile Code"; - "OIOUBL-Sell-to Contact Phone No." := "Sell-to Contact Phone No."; - "OIOUBL-Sell-to Contact Fax No." := "Sell-to Contact Fax No."; - "OIOUBL-Sell-to Contact E-Mail" := "Sell-to Contact E-Mail"; - "OIOUBL-Sell-to Contact Role" := "Sell-to Contact Role"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesLine(); - var - SalesLine: Record "Sales Line"; - begin - with SalesLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesInvoiceHeader(); - var - SalesInvoiceHeader: Record "Sales Invoice Header"; - begin - with SalesInvoiceHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Profile Code" := "OIOUBL Profile Code"; - "OIOUBL-Sell-to Contact Phone No." := "Sell-to Contact Phone No."; - "OIOUBL-Sell-to Contact Fax No." := "Sell-to Contact Fax No."; - "OIOUBL-Sell-to Contact E-Mail" := "Sell-to Contact E-Mail"; - "OIOUBL-Sell-to Contact Role" := "Sell-to Contact Role"; - "OIOUBL-Electronic Invoice Created" := "Electronic Invoice Created"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesInvoiceLine(); - var - SalesInvoiceLine: Record "Sales Invoice Line"; - begin - with SalesInvoiceLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesCrMemoHeader(); - var - SalesCrMemoHeader: Record "Sales Cr.Memo Header"; - begin - with SalesCrMemoHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Profile Code" := "OIOUBL Profile Code"; - "OIOUBL-Sell-to Contact Phone No." := "Sell-to Contact Phone No."; - "OIOUBL-Sell-to Contact Fax No." := "Sell-to Contact Fax No."; - "OIOUBL-Sell-to Contact E-Mail" := "Sell-to Contact E-Mail"; - "OIOUBL-Sell-to Contact Role" := "Sell-to Contact Role"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesCrMemoLine(); - var - SalesCrMemoLine: Record "Sales Cr.Memo Line"; - begin - with SalesCrMemoLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableReminderHeader(); - var - ReminderHeader: Record "Reminder Header"; - begin - with ReminderHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Contact Phone No." := "Contact Phone No."; - "OIOUBL-Contact Fax No." := "Contact Fax No."; - "OIOUBL-Contact E-Mail" := "Contact E-Mail"; - "OIOUBL-Contact Role" := "Contact Role"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableReminderLine(); - var - ReminderLine: Record "Reminder Line"; - begin - with ReminderLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableIssuedReminderHeader(); - var - IssuedReminderHeader: Record "Issued Reminder Header"; - begin - with IssuedReminderHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Electronic Reminder Created" := "Electronic Reminder Created"; - "OIOUBL-Contact Phone No." := "Contact Phone No."; - "OIOUBL-Contact Fax No." := "Contact Fax No."; - "OIOUBL-Contact E-Mail" := "Contact E-Mail"; - "OIOUBL-Contact Role" := "Contact Role"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableIssuedReminderLine(); - var - IssuedReminderLine: Record "Issued Reminder Line"; - begin - with IssuedReminderLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableFinanceChargeMemoHeader(); - var - FinanceChargeMemoHeader: Record "Finance Charge Memo Header"; - begin - with FinanceChargeMemoHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Contact Phone No." := "Contact Phone No."; - "OIOUBL-Contact Fax No." := "Contact Fax No."; - "OIOUBL-Contact E-Mail" := "Contact E-Mail"; - "OIOUBL-Contact Role" := "Contact Role"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableFinanceChargeMemoLine(); - var - FinanceChargeMemoLine: Record "Finance Charge Memo Line"; - begin - with FinanceChargeMemoLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableIssuedFinanceChargeMemoHeader(); - var - IssuedFinanceChargeMemoHeader: Record "Issued Fin. Charge Memo Header"; - begin - with IssuedFinanceChargeMemoHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Contact Phone No." := "Contact Phone No."; - "OIOUBL-Contact Fax No." := "Contact Fax No."; - "OIOUBL-Contact E-Mail" := "Contact E-Mail"; - "OIOUBL-Contact Role" := "Contact Role"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableIssuedFinanceChargeMemoLine(); - var - IssuedFinanceChargeMemoLine: Record "Issued Fin. Charge Memo Line"; - begin - with IssuedFinanceChargeMemoLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - - local procedure MoveTableSalesAndReceivablesSetup(); - var - SalesAndReceivableSetup: Record "Sales & Receivables Setup"; - begin - with SalesAndReceivableSetup do - if FindSet() then - repeat - "OIOUBL-Invoice Path" := "OIOUBL Invoice Path"; - "OIOUBL-Cr. Memo Path" := "OIOUBL Cr. Memo Path"; - "OIOUBL-Reminder Path" := "OIOUBL Reminder Path"; - "OIOUBL-Fin. Chrg. Memo Path" := "OIOUBL Fin. Chrg. Memo Path"; - "OIOUBL-Default Profile Code" := "Default OIOUBL Profile Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesHeaderArchive(); - var - SalesHeaderArchive: Record "Sales Header Archive"; - begin - with SalesHeaderArchive do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Sell-to Contact Phone No." := "Sell-to Contact Phone No."; - "OIOUBL-Sell-to Contact Fax No." := "Sell-to Contact Fax No."; - "OIOUBL-Sell-to Contact E-Mail" := "Sell-to Contact E-Mail"; - "OIOUBL-Sell-to Contact Role" := "Sell-to Contact Role"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableSalesLineArchive(); - var - SalesLineArchive: Record "Sales Line Archive"; - begin - with SalesLineArchive do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableItemCharge(); - var - ItemCharge: Record "Item Charge"; - begin - with ItemCharge do - if FindSet() then - repeat - "OIOUBL-Charge Category" := "Charge Category"; - Modify(true); - until Next() = 0; - end; - - - local procedure MoveTableServiceHeader(); - var - ServiceHeader: Record "Service Header"; - begin - with ServiceHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Contact Role" := "Contact Role"; - "OIOUBL-Profile Code" := "OIOUBL Profile Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableServiceLine(); - var - ServiceLine: Record "Service Line"; - begin - with ServiceLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(false); - until Next() = 0; - end; - - local procedure MoveTableServiceMgtSetup(); - var - ServiceMgtSetup: Record "Service Mgt. Setup"; - begin - with ServiceMgtSetup do - if FindSet() then - repeat - "OIOUBL-Service Invoice Path" := "OIOUBL Service Invoice Path"; - "OIOUBL-Service Cr. Memo Path" := "OIOUBL Service Cr. Memo Path"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableServiceCrMemoHeader(); - var - ServiceCrMemoHeader: Record "Service Cr.Memo Header"; - begin - with ServiceCrMemoHeader do - if FindSet() then - repeat - "OIOUBL-GLN" := "EAN No."; - "OIOUBL-Account Code" := "Account Code"; - "OIOUBL-Contact Role" := "Contact Role"; - "OIOUBL-Electronic Credit Memo Created" := "Electronic Credit Memo Created"; - "OIOUBL-Profile Code" := "OIOUBL Profile Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableServiceCrMemoLine(); - var - ServiceCrMemoLine: Record "Service Cr.Memo Line"; - begin - with ServiceCrMemoLine do - if FindSet() then - repeat - "OIOUBL-Account Code" := "Account Code"; - Modify(true); - until Next() = 0; - end; - - local procedure MoveTableOIOUBLProfile(); - var - OIOUBLProfileNew: Record "OIOUBL-Profile"; - OIOUBLProfileOld: Record "OIOUBL Profile"; - begin - if OIOUBLProfileOld.FindSet() then - repeat - OIOUBLProfileNew.Init(); - OIOUBLProfileNew.Validate("OIOUBL-Code", OIOUBLProfileOld.Code); - OIOUBLProfileNew.Validate("OIOUBL-Profile ID", OIOUBLProfileOld."Profile ID"); - OIOUBLProfileNew.Insert(true); - until OIOUBLProfileOld.Next() = 0; - end; + ObsoleteReason = 'This codeunit is obsolete and will be removed in a future release.'; + ObsoleteState = Pending; + ObsoleteTag = '26.0'; } + +#endif \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/Codeunits/CreateESGLAccounts.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/Codeunits/CreateESGLAccounts.Codeunit.al deleted file mode 100644 index 3d7171897d..0000000000 --- a/Apps/ES/ContosoCoffeeDemoDatasetES/app/Codeunits/CreateESGLAccounts.Codeunit.al +++ /dev/null @@ -1,115 +0,0 @@ -codeunit 10780 "Create ES GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '4300001'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '4000001'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '7050011'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '6000001'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '4770001'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '4720001'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '3300130'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '3300100'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '3300140'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '3300110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '3300150'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '3300120'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '3000002'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '6010001'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '6110001'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '6100001'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '3000001'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '3000004') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '7051001'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '3300180'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '3300190'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '3300200'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '3300230'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '3300240'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '3300240'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '3300260'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '3300250'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '3100001'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '3300280'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '2130001'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '2130001'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '2820001'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6690001'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '6810001'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '6810001'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '4600001'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '3300012'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '3300021'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '7050003'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '7050006'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '6230004'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '6230006'); - end; -} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/1.Setup Data/CreateESBankAccPostingGrp.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/1.Setup Data/CreateESBankAccPostingGrp.Codeunit.al new file mode 100644 index 0000000000..77e8ea1e16 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/1.Setup Data/CreateESBankAccPostingGrp.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 10805 "Create ES Bank Acc. PostingGrp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account Posting Group") + var + CreateESGLAccounts: Codeunit "Create ES GL Accounts"; + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Cash(), + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateESGLAccounts.SavingAccount(), CreateESGLAccounts.DebtOnDiscountedBills(), CreateESGLAccounts.BankingServices(), CreateESGLAccounts.InterestOnBillsDiscounted(), CreateESGLAccounts.OtherFinExpBillReject(), CreateESGLAccounts.DiscInvoiceDebtAcc()); + CreateBankAccPostingGrp.Checking(), + CreateBankAccPostingGrp.Savings(): + ValidateRecordFields(Rec, CreateESGLAccounts.BanksEuro(), CreateESGLAccounts.DebtOnDiscountedBills(), CreateESGLAccounts.BankingServices(), CreateESGLAccounts.InterestOnBillsDiscounted(), CreateESGLAccounts.OtherFinExpBillReject(), CreateESGLAccounts.DiscInvoiceDebtAcc()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]; LiabsforDiscBillsAcc: Code[20]; BankServicesAcc: Code[20]; DiscountInterestAcc: Code[20]; RejectionExpensesAcc: Code[20]; LiabsforFactoringAcc: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + BankAccountPostingGroup.Validate("Liabs. for Disc. Bills Acc.", LiabsforDiscBillsAcc); + BankAccountPostingGroup.Validate("Bank Services Acc.", BankServicesAcc); + BankAccountPostingGroup.Validate("Discount Interest Acc.", DiscountInterestAcc); + BankAccountPostingGroup.Validate("Rejection Expenses Acc.", RejectionExpensesAcc); + BankAccountPostingGroup.Validate("Liabs. for Factoring Acc.", LiabsforFactoringAcc); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/1.Setup Data/CreateESPaymentMethod.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/1.Setup Data/CreateESPaymentMethod.Codeunit.al new file mode 100644 index 0000000000..991e7f1710 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/1.Setup Data/CreateESPaymentMethod.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 10813 "Create ES Payment Method" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPayments: Codeunit "Contoso Payments"; + begin + ContosoPayments.SetOverwriteData(true); + ContosoPayments.InsertBankPaymentMethod(BnkDomConv(), DomesticBanksLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(BnkIntConv(), InternationalBankLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Efecto(), NegotiableBillLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Pagare(), PromissoryNoteLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.SetOverwriteData(false); + UpdatePaymentMethod(Efecto(), true, 1, Enum::"ES Bill Type"::"Bill of Exchange"); + UpdatePaymentMethod(Pagare(), true, 1, Enum::"ES Bill Type"::IOU); + end; + + local procedure UpdatePaymentMethod(PaymentMethodCode: Code[10]; CreateBills: Boolean; CollectionAgent: option; BillType: Enum "ES Bill Type") + var + PaymentMethod: Record "Payment Method"; + begin + if not PaymentMethod.Get(PaymentMethodCode) then + exit; + + PaymentMethod.Validate("Create Bills", CreateBills); + PaymentMethod.Validate("Collection Agent", CollectionAgent); + PaymentMethod.Validate("Bill Type", BillType); + PaymentMethod.Modify(true); + end; + + procedure BnkDomConv(): Code[10] + begin + exit(BnkDomConvTok); + end; + + procedure BnkIntConv(): Code[10] + begin + exit(BnkIntConvTok); + end; + + procedure Efecto(): Code[10] + begin + exit(EfectoTok); + end; + + procedure Pagare(): Code[10] + begin + exit(PagareTok); + end; + + var + EfectoTok: Label 'EFECTO', MaxLength = 10; + PagareTok: Label 'PAGARE', MaxLength = 10; + BnkDomConvTok: Label 'BNKDOMCONV', MaxLength = 10; + DomesticBanksLbl: Label 'Domestic Bank Transfer with Data Conversion', MaxLength = 100; + BnkIntConvTok: Label 'BNKINTCONV', MaxLength = 10; + InternationalBankLbl: Label 'International Bank Transfer with Data Conversion', MaxLength = 100; + NegotiableBillLbl: Label 'Negotiable Bill', MaxLength = 100; + PromissoryNoteLbl: Label 'Promissory Note', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/2.Master Data/CreateESBankAccount.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/2.Master Data/CreateESBankAccount.Codeunit.al new file mode 100644 index 0000000000..2c152fed91 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/2.Master Data/CreateESBankAccount.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 10806 "Create ES Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -1447200, CityLbl, PostCodeLbl, CreateCountryRegion.ES(), CityLbl, 5, 5000000); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, CityLbl, PostCodeLbl, CreateCountryRegion.ES(), CityLbl, 0, 0); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[20]; County: Text[30]; DelayForNotices: Integer; CreditLimitForDiscount: Decimal) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate(City, City); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate(County, County); + BankAccount.Validate("Country/Region Code", CountryRegionCode); + BankAccount.Validate("Delay for Notices", DelayForNotices); + BankAccount.Validate("Credit Limit for Discount", CreditLimitForDiscount); + end; + + var + CityLbl: Label 'Zaragoza', MaxLength = 30; + PostCodeLbl: Label '50001', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/4.Historical Data/CreateESBankAccReco.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/4.Historical Data/CreateESBankAccReco.Codeunit.al new file mode 100644 index 0000000000..2a1f6978ec --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Bank/4.Historical Data/CreateESBankAccReco.Codeunit.al @@ -0,0 +1,68 @@ +codeunit 10829 "Create ES Bank Acc. Reco." +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateBankAccReconciliation(); + end; + + local procedure UpdateBankAccReconciliation() + var + BankAccReconciliation: Record "Bank Acc. Reconciliation"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if not BankAccReconciliation.Get(Enum::"Bank Acc. Rec. Stmt. Type"::"Bank Reconciliation", CreateBankAccount.Checking(), '24') then + exit; + + BankAccReconciliation.Validate("Statement Ending Balance", 17924.53); + BankAccReconciliation.Modify(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Acc. Reconciliation Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Acc. Reconciliation Line"; RunTrigger: Boolean) + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if (Rec."Statement Type" = Rec."Statement Type"::"Bank Reconciliation") then begin + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = '24') then + case Rec."Statement Line No." of + 10000: + ValidateRecordFields(Rec, Rec.Description, 2757.62); + 20000: + ValidateRecordFields(Rec, Rec.Description, 4136.43); + 30000: + ValidateRecordFields(Rec, DepositToAccountLbl, 11030.48); + end; + end else + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = 'PREC000') then + case Rec."Statement Line No." of + 10000: + ValidateRecordFields(Rec, Rec.Description, -2520); + 20000: + ValidateRecordFields(Rec, Rec.Description, -1828); + 30000: + ValidateRecordFields(Rec, Rec.Description, -1340.1); + 40000: + ValidateRecordFields(Rec, Rec.Description, 929.76); + 50000: + ValidateRecordFields(Rec, Rec.Description, 10743.39); + 60000: + ValidateRecordFields(Rec, Rec.Description, 3273.72); + end; + end; + + local procedure ValidateRecordFields(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Description: Text[100]; Amount: Decimal) + begin + BankAccReconciliationLine.Validate(Description, Description); + BankAccReconciliationLine.Validate("Transaction Text", Description); + BankAccReconciliationLine.Validate("Statement Amount", Amount); + BankAccReconciliationLine.Validate("Applied Amount", Amount); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18/01/24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/CRM/2.Master Data/CreateESTerritory.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/CRM/2.Master Data/CreateESTerritory.Codeunit.al new file mode 100644 index 0000000000..17c12a9512 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/CRM/2.Master Data/CreateESTerritory.Codeunit.al @@ -0,0 +1,159 @@ +codeunit 10804 "Create ES Territory" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.SetOverwriteData(true); + ContosoCRM.InsertTerritory(Andalucia(), AndaluciaLbl); + ContosoCRM.InsertTerritory(Ara(), AragónLbl); + ContosoCRM.InsertTerritory(Ast(), AsturiasLbl); + ContosoCRM.InsertTerritory(Bal(), BalearesLbl); + ContosoCRM.InsertTerritory(Can(), CanariasLbl); + ContosoCRM.InsertTerritory(Cant(), CantabriaLbl); + ContosoCRM.InsertTerritory(Casleo(), CastillaLeónLbl); + ContosoCRM.InsertTerritory(Casman(), CastillaLaManchaLbl); + ContosoCRM.InsertTerritory(Cat(), CataluñaLbl); + ContosoCRM.InsertTerritory(Ceu(), CeutaLbl); + ContosoCRM.InsertTerritory(Ext(), ExtremaduraLbl); + ContosoCRM.InsertTerritory(Gal(), GaliciaLbl); + ContosoCRM.InsertTerritory(Mad(), MadridLbl); + ContosoCRM.InsertTerritory(Mel(), MelillaLbl); + ContosoCRM.InsertTerritory(Mur(), MurciaLbl); + ContosoCRM.InsertTerritory(Nav(), NavarraLbl); + ContosoCRM.InsertTerritory(Rio(), RiojaLbl); + ContosoCRM.InsertTerritory(Val(), ValenciaLbl); + ContosoCRM.SetOverwriteData(false); + end; + + procedure Andalucia(): Code[10] + begin + exit(AndTok); + end; + + procedure Ara(): Code[10] + begin + exit(AraTok); + end; + + procedure Ast(): Code[10] + begin + exit(AstTok); + end; + + procedure Bal(): Code[10] + begin + exit(BalTok); + end; + + procedure Can(): Code[10] + begin + exit(CanTok); + end; + + procedure Cant(): Code[10] + begin + exit(CantTok); + end; + + procedure Casleo(): Code[10] + begin + exit(CasleoTok); + end; + + procedure Casman(): Code[10] + begin + exit(CasmanTok); + end; + + procedure Cat(): Code[10] + begin + exit(CatTok); + end; + + procedure Ceu(): Code[10] + begin + exit(CeuTok); + end; + + procedure Ext(): Code[10] + begin + exit(ExtTok); + end; + + procedure Gal(): Code[10] + begin + exit(GalTok); + end; + + procedure Mad(): Code[10] + begin + exit(MadTok); + end; + + procedure Mel(): Code[10] + begin + exit(MelTok); + end; + + procedure Mur(): Code[10] + begin + exit(MurTok); + end; + + procedure Nav(): Code[10] + begin + exit(NavTok); + end; + + procedure Rio(): Code[10] + begin + exit(RioTok); + end; + + procedure Val(): Code[10] + begin + exit(ValTok); + end; + + var + AndTok: Label 'AND', MaxLength = 10; + AraTok: Label 'ARA', MaxLength = 10; + AstTok: Label 'AST', MaxLength = 10; + BalTok: Label 'BAL', MaxLength = 10; + CanTok: Label 'CAN', MaxLength = 10; + CantTok: Label 'CANT', MaxLength = 10; + CasleoTok: Label 'CASLEO', MaxLength = 10; + CasmanTok: Label 'CASMAN', MaxLength = 10; + CatTok: Label 'CAT', MaxLength = 10; + CeuTok: Label 'CEU', MaxLength = 10; + ExtTok: Label 'EXT', MaxLength = 10; + GalTok: Label 'GAL', MaxLength = 10; + MadTok: Label 'MAD', MaxLength = 10; + MelTok: Label 'MEL', MaxLength = 10; + MurTok: Label 'MUR', MaxLength = 10; + NavTok: Label 'NAV', MaxLength = 10; + RioTok: Label 'RIO', MaxLength = 10; + ValTok: Label 'VAL', MaxLength = 10; + AndaluciaLbl: Label 'Andalucia', MaxLength = 50; + AragónLbl: Label 'Aragón', MaxLength = 50; + AsturiasLbl: Label 'Asturias', MaxLength = 50; + BalearesLbl: Label 'Baleares', MaxLength = 50; + CanariasLbl: Label 'Canarias', MaxLength = 50; + CantabriaLbl: Label 'Cantabria', MaxLength = 50; + CastillaLeónLbl: Label 'Castilla - León', MaxLength = 50; + CastillaLaManchaLbl: Label 'Castilla - La Mancha', MaxLength = 50; + CataluñaLbl: Label 'Cataluña', MaxLength = 50; + CeutaLbl: Label 'Ceuta', MaxLength = 50; + ExtremaduraLbl: Label 'Extremadura', MaxLength = 50; + GaliciaLbl: Label 'Galicia', MaxLength = 50; + MadridLbl: Label 'Madrid', MaxLength = 50; + MelillaLbl: Label 'Melilla', MaxLength = 50; + MurciaLbl: Label 'Murcia', MaxLength = 50; + NavarraLbl: Label 'Navarra', MaxLength = 50; + RiojaLbl: Label 'Rioja', MaxLength = 50; + ValenciaLbl: Label 'Valencia', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAccScheduleLine.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..c145a00d62 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAccScheduleLine.Codeunit.al @@ -0,0 +1,168 @@ +codeunit 10830 "Create ES Acc. Schedule Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateESGLAccounts: Codeunit "Create ES GL Accounts"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, '999999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 10000: + Rec.Validate(Description, AnanlysisLiquidityAnalysisLbl); + 40000: + ValidateRecordFields(Rec, '3', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, '43|44', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, '50|53|54', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, '57', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 110000: + ValidateRecordFields(Rec, '51|52|56|58|59', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 120000: + ValidateRecordFields(Rec, '40', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 130000: + begin + ValidateRecordFields(Rec, '47', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + Rec.Validate(Description, ' T.A.(Tax Authority)'); + end; + 140000: + ValidateRecordFields(Rec, '46', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 150000: + ValidateRecordFields(Rec, '41', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '700|701|702|703|704|705|706|708|709', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '43|44', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '40', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '3', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + Rec.Validate("Hide Currency Symbol", true); + 60000: + Rec.Validate("Hide Currency Symbol", true); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '43|44', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '40', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '57|51|52|56|58|59', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '700|701|702|703|704|705|706|708|709', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '600|601|602|606|607|608|609|61|6931|6932|6932|6933|7931|7932|7933', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '64|7950|7957|62|631|634|636|639|65|694|695|794|7954', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, '64|7950|7957', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, '68', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, '62|631|634|636|639|65|694|695|794|7954', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFieldsReducedTrial(Rec, 'A.1', BusinessTurnoverNetAmountLbl, '700|701|702|703|704|705|706|708|709', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFieldsReducedTrial(Rec, 'A.2', IncreaseDecreaseOfStocksOnFinishedGoodsAndManufacturedGoodsProdLbl, '71|6930|7930', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFieldsReducedTrial(Rec, 'A.3', WorkDoneByTheCompanyOnFixedAssetsLbl, '73', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFieldsReducedTrial(Rec, 'A.4', ConsumablesLbl, '600|601|602|606|607|608|609|61|6931|6932|6932|6933|7931|7932|7933', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFieldsReducedTrial(Rec, 'A.5', OtherOperatingIncomeLbl, '740|747|75', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFieldsReducedTrial(Rec, 'A.6', PersonnelExpensesLbl, '64|7950|7957', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFieldsReducedTrial(Rec, 'A.7', OtherOperatingExpensesLbl, '62|631|634|636|639|65|694|695|794|7954', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 80000: + ValidateRecordFieldsReducedTrial(Rec, 'A.8', FixedAssetsDepreciationAndExpensesLbl, '68|746|7951|7952|7955|7956|670|671|672|770|11|772|690|691|692|790|791|792', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 90000: + ValidateRecordFieldsReducedTrial(Rec, 'A.TOT', OperatingResultsLbl, 'A.1+A.2+A.3+A.4+A.5+A.6+A.7+A.8', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateESGLAccounts.NationalGoodsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 50000: + ValidateRecordFields(Rec, CreateESGLAccounts.GoodsSalesEu(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + ValidateRecordFields(Rec, CreateESGLAccounts.IntNonEuGoodsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 70000: + ValidateRecordFields(Rec, CreateESGLAccounts.ProjectsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 80000: + ValidateRecordFields(Rec, CreateESGLAccounts.ProjectsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 100000: + ValidateRecordFields(Rec, CreateESGLAccounts.NationalGoodsSales() + '..' + CreateESGLAccounts.ProjectsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 110000: + ValidateRecordFields(Rec, CreateESGLAccounts.NationalGoodsSales() + '..' + CreateESGLAccounts.ProjectsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFields(Rec, CreateESGLAccounts.NationalGoodsSales() + '..' + CreateESGLAccounts.ProjectsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 130000: + ValidateRecordFields(Rec, CreateESGLAccounts.NationalGoodsSales() + '..' + CreateESGLAccounts.ProjectsSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + local procedure ValidateRecordFieldsReducedTrial(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Description: Text[250]; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; ShowOppositeSign: Boolean) + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Show Opposite Sign", ShowOppositeSign); + end; + + var + BusinessTurnoverNetAmountLbl: Label '1. Business Turnover Net Amount', MaxLength = 250; + IncreaseDecreaseOfStocksOnFinishedGoodsAndManufacturedGoodsProdLbl: Label '2. Increase/Decrease of Stocks on Finished Goods and Manufactured Goods-Prod.', MaxLength = 250; + WorkDoneByTheCompanyOnFixedAssetsLbl: Label '3. Work Done by the Company on Fixed Assets', MaxLength = 250; + ConsumablesLbl: Label '4. Consumables', MaxLength = 250; + OtherOperatingIncomeLbl: Label '5. Other Operating Income', MaxLength = 250; + PersonnelExpensesLbl: Label '6. Personnel Expenses', MaxLength = 250; + OtherOperatingExpensesLbl: Label '7. Other Operating Expenses', MaxLength = 250; + FixedAssetsDepreciationAndExpensesLbl: Label '8. Fixed Assets Depreciation and Expenses', MaxLength = 250; + OperatingResultsLbl: Label 'A) OPERATING RESULTS', MaxLength = 250; + AnanlysisLiquidityAnalysisLbl: Label 'LIQUIDITY ANALYSIS', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAccScheduleName.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAccScheduleName.Codeunit.al new file mode 100644 index 0000000000..81b251f80a --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAccScheduleName.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 10791 "Create ES Acc Schedule Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetDetail(), BalanceSheetDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementDetail(), IncomeStatementDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(TrialBalance(), TrialBalanceLbl, ''); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + procedure BalanceSheetDetail(): Code[10] + begin + exit(BalanceSheetDetailTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetail(): Code[10] + begin + exit(IncomeStatementDetailTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummarizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + BalanceSheetDetailTok: Label 'BS DET', MaxLength = 10; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10; + IncomeStatementDetailTok: Label 'IS DET', MaxLength = 10; + IncomeStatementSummarizedTok: Label 'IS SUM', MaxLength = 10; + TrialBalanceTok: Label 'TB', MaxLength = 10; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAnalysisView.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAnalysisView.Codeunit.al new file mode 100644 index 0000000000..d1ada3721d --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESAnalysisView.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 10798 "Create ES Analysis View" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Analysis View", 'OnBeforeModifyEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Analysis View") + var + CreateAnalysisView: Codeunit "Create Analysis View"; + CreateESGLAccount: Codeunit "Create ES GL Accounts"; + begin + case Rec.Code of + CreateAnalysisView.SalesRevenue(): + ValidateRecordFields(Rec, '', CreateESGLAccount.NationalGoodsSales() + '..' + CreateESGLAccount.GoodsSalesReturnAllow()); + end; + end; + + local procedure ValidateRecordFields(var AnalysisView: Record "Analysis View"; Dimension3Code: Code[20]; AccountFilter: Text[250]) + begin + AnalysisView.Validate("Date Compression", AnalysisView."Date Compression"::Month); + AnalysisView.Validate("Account Filter", AccountFilter); + AnalysisView."Dimension 3 Code" := Dimension3Code; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESColumnLayoutName.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESColumnLayoutName.Codeunit.al new file mode 100644 index 0000000000..758b1ac054 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESColumnLayoutName.Codeunit.al @@ -0,0 +1,151 @@ +codeunit 10795 "Create ES Column Layout Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertColumnLayoutName(BeginningBalanceDebitsCreditsEndingBalance(), TBBeginningBalanceDebitsCreditsEndingBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BalanceSheetTrend(), BS12MonthsBalanceTrendingCurrentFiscalYearLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalance(), BSCurrentMonthBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalancePriorMonthBalance(), BSCurrentMonthBalancevPriorMonthBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalancevSameMonthPriorYearBalance(), BSCurrentMonthBalancevSameMonthPriorYearBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChange(), ISCurrentMonthNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthsNetChangeBudget(), IS12MonthsNetChangeBudgetOnlyLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangePriorMonthNetChange(), ISCurrentMonthNetChangevPriorMonthNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangeSameMonthPriorYearNetChange(), ISCurrentMonthNetChangevSameMonthPriorYearNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), ISCurrentMonthvPriorMonthforCYandCurrentMonthvPriorMonthforPYLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), ISCurrentMonthvBudgetYeartoDatevBudgetandBudTotalandBudRemainingLbl); + ContosoAccountSchedule.InsertColumnLayoutName(IncomeStatementTrend(), IS12MonthsNetChangeTrendingCurrentFiscalYearLbl); + ContosoAccountSchedule.InsertColumnLayoutName(Balance(), BalanceColumnLayoutLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CcPers(), ContStaffCostsLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CcProf(), BdInfPostingSummaryCostsForCcCoLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CcTrans(), ContTransferCostsLbl); + ContosoAccountSchedule.InsertColumnLayoutName(Pyg(), ProfitLossColumnLayoutLbl); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + procedure BeginningBalanceDebitsCreditsEndingBalance(): Code[10] + begin + exit(BeginningBalanceDebitsCreditsEndingBalanceTok); + end; + + procedure BalanceSheetTrend(): Code[10] + begin + exit(BalanceSheetTok); + end; + + procedure CurrentMonthBalance(): Code[10] + begin + exit(CurrentMonthBalanceTok); + end; + + procedure CurrentMonthBalancePriorMonthBalance(): Code[10] + begin + exit(CurrentMonthBalancePriorMonthBalanceTok); + end; + + procedure CurrentMonthBalancevSameMonthPriorYearBalance(): Code[10] + begin + exit(CurrentMonthBalancevSameMonthPriorYearBalanceTok); + end; + + procedure CurrentMonthNetChange(): Code[10] + begin + exit(CurrentMonthNetChangeTok); + end; + + procedure CurrentMonthsNetChangeBudget(): Code[10] + begin + exit(CurrentMonthsNetChangeBudgetTok); + end; + + procedure CurrentMonthNetChangePriorMonthNetChange(): Code[10] + begin + exit(CurrentMonthNetChangePriorMonthNetChangeTok); + end; + + procedure CurrentMonthNetChangeSameMonthPriorYearNetChange(): Code[10] + begin + exit(CurrentMonthNetChangeSameMonthPriorYearNetChangeTok); + end; + + procedure CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(): Code[10] + begin + exit(CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPYTok); + end; + + procedure CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(): Code[10] + begin + exit(CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemainingTok); + end; + + procedure IncomeStatementTrend(): Code[10] + begin + exit(IncomeStatementTrendTok); + end; + + procedure Balance(): Code[10] + begin + exit(BalanceTok); + end; + + procedure CcPers(): Code[10] + begin + exit(CcPersTok); + end; + + procedure CcProf(): Code[10] + begin + exit(CcProfTok); + end; + + procedure CcTrans(): Code[10] + begin + exit(CcTransTok); + end; + + procedure Pyg(): Code[10] + begin + exit(PygTok); + end; + + var + CcPersTok: Label 'CC-PERS', MaxLength = 10; + CcProfTok: Label 'CC-PROF', MaxLength = 10; + CcTransTok: Label 'CC-TRANS', MaxLength = 10; + PygTok: Label 'PYG', MaxLength = 10; + BalanceTok: Label 'BALANCE', MaxLength = 10; + BeginningBalanceDebitsCreditsEndingBalanceTok: Label 'BBDRCREB', MaxLength = 10; + BalanceSheetTok: Label 'BSTREND', MaxLength = 10; + CurrentMonthBalanceTok: Label 'CB', MaxLength = 10; + CurrentMonthBalancePriorMonthBalanceTok: Label 'CB V PB', MaxLength = 10; + CurrentMonthBalancevSameMonthPriorYearBalanceTok: Label 'CB V SPYB', MaxLength = 10; + CurrentMonthNetChangeTok: Label 'CNC', MaxLength = 10; + CurrentMonthsNetChangeBudgetTok: Label 'CNC BUD', MaxLength = 10; + CurrentMonthNetChangePriorMonthNetChangeTok: Label 'CNC V PNC', MaxLength = 10; + CurrentMonthNetChangeSameMonthPriorYearNetChangeTok: Label 'CNC VSPYNC', MaxLength = 10; + CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPYTok: Label 'CNCVPNCYOY', MaxLength = 10; + CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemainingTok: Label 'CVC YTDBUD', MaxLength = 10; + IncomeStatementTrendTok: Label 'ISTREND', MaxLength = 10; + TBBeginningBalanceDebitsCreditsEndingBalanceLbl: Label 'TB Beginning Balance Debits Credits Ending Balance', MaxLength = 80; + BS12MonthsBalanceTrendingCurrentFiscalYearLbl: Label 'BS 12 Months Balance Trending Current Fiscal Year', MaxLength = 80; + BSCurrentMonthBalanceLbl: Label 'BS Current Month Balance', MaxLength = 80; + BSCurrentMonthBalancevPriorMonthBalanceLbl: Label 'BS Current Month Balance v Prior Month Balance', MaxLength = 80; + BSCurrentMonthBalancevSameMonthPriorYearBalanceLbl: Label 'BS Current Month Balance v Same Month Prior Year Balance', MaxLength = 80; + ISCurrentMonthNetChangeLbl: Label 'IS Current Month Net Change', MaxLength = 80; + IS12MonthsNetChangeBudgetOnlyLbl: Label 'IS 12 Months Net Change Budget Only', MaxLength = 80; + ISCurrentMonthNetChangevPriorMonthNetChangeLbl: Label 'IS Current Month Net Change v Prior Month Net Change', MaxLength = 80; + ISCurrentMonthNetChangevSameMonthPriorYearNetChangeLbl: Label 'IS Current Month Net Change v Same Month Prior Year Net Change', MaxLength = 80; + ISCurrentMonthvPriorMonthforCYandCurrentMonthvPriorMonthforPYLbl: Label 'IS Current Month v Prior Month for CY and Current Month v Prior Month for PY', MaxLength = 80; + ISCurrentMonthvBudgetYeartoDatevBudgetandBudTotalandBudRemainingLbl: Label 'IS Current Month v Budget Year to Date v Budget and Bud Total and Bud Remaining ', MaxLength = 80; + IS12MonthsNetChangeTrendingCurrentFiscalYearLbl: Label 'IS 12 Months Net Change Trending Current Fiscal Year', MaxLength = 80; + BalanceColumnLayoutLbl: Label 'Balance Column Layout', MaxLength = 80; + ContStaffCostsLbl: Label 'Cont. staff costs', MaxLength = 80; + BdInfPostingSummaryCostsForCcCoLbl: Label 'BD inf.Posting summary costs for CC/CO', MaxLength = 80; + ContTransferCostsLbl: Label 'Cont. transfer costs', MaxLength = 80; + ProfitLossColumnLayoutLbl: Label 'Profit & Loss Column Layout', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESCurrency.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESCurrency.Codeunit.al new file mode 100644 index 0000000000..16516f316e --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESCurrency.Codeunit.al @@ -0,0 +1,74 @@ +codeunit 10831 "Create ES Currency" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateESGLAccount: Codeunit "Create ES GL Accounts"; + CreateCurrency: Codeunit "Create Currency"; + begin + UpdateCurrency(CreateCurrency.AED(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.AUD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.BGN(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.BND(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.BRL(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.CAD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.CHF(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.CZK(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.DKK(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.DZD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.EUR(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.FJD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.GBP(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.HKD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.HRK(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.HUF(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.IDR(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.INR(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.ISK(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.JPY(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.KES(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.MAD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.MXN(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.MYR(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.MZN(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.NGN(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.NOK(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.NZD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.PHP(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.PLN(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.RON(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.RSD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.RUB(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.SAR(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.SBD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.SEK(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.SGD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.SZL(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.THB(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.TND(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.TOP(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.TRY(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.UGX(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.USD(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.VUV(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.WST(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.XPF(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + UpdateCurrency(CreateCurrency.ZAR(), CreateESGLAccount.ExchangeGainPosting(), CreateESGLAccount.RealizedLossesOnExchange()); + end; + + local procedure UpdateCurrency(CurrecnyCode: Code[10]; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + var + Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + Currency.Get(CurrecnyCode); + if Currency.Code = CreateCurrency.GBP() then + Currency.Validate("Unit-Amount Rounding Precision", 0.00001); + + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + Currency.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESGLAccounts.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESGLAccounts.Codeunit.al new file mode 100644 index 0000000000..4d4c19729d --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESGLAccounts.Codeunit.al @@ -0,0 +1,16197 @@ +codeunit 10780 "Create ES GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '4300001'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '4000001'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '7050011'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '6000001'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '4770001'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '4720001'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '3300130'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '3300100'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '3300140'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '3300110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '3300150'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '3300120'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '3000002'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '6010001'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '6110001'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '6100001'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '3000001'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '3000004') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '7051001'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '3300180'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '3300190'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '3300200'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '3300230'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '3300240'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '3300240'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '3300260'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '3300250'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '3100001'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '3300280'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '2130001'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '2130001'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '2820001'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6690001'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '6810001'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '6810001'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '4600001'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '3300012'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '3300021'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '7050003'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '7050006'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '6230004'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '6230006'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforES() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BALANCESHEETName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ASSETSName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '35'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALASSETSName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '589'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.INCOMESTATEMENTName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '6290002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '6270001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '2'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), '3'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResaleSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMatSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLCYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), '120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomefortheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsfortheFiscalYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALLIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandChargesRecDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandHeatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), '6280003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), '65'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandAccountingServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), '7050020'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '64'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationofFixedAssetsName(), '28'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsofOperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonRevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargestoVendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '7780001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '6780001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEBEFORETAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '5700001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryIncomeHeadingName(), '778'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryExpensesHeadingName(), '678'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryExpensesHeadingExpenseName(), '6780'); + ContosoGLAccount.AddAccountForLocalization(OfficeSuppliesHeadingName(), '328'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsHeadingName(), '580'); + ContosoGLAccount.AddAccountForLocalization(BasicFinancingName(), '1'); + ContosoGLAccount.AddAccountForLocalization(CapitalHeadingName(), '10'); + ContosoGLAccount.AddAccountForLocalization(ShareCapitalHeadingName(), '100'); + ContosoGLAccount.AddAccountForLocalization(ShareCapitalPostingName(), '1000001'); + ContosoGLAccount.AddAccountForLocalization(SocialFundName(), '101'); + ContosoGLAccount.AddAccountForLocalization(CapitalName(), '102'); + ContosoGLAccount.AddAccountForLocalization(PartnersInvestName(), '103'); + ContosoGLAccount.AddAccountForLocalization(PartnersInvestSCapName(), '1030'); + ContosoGLAccount.AddAccountForLocalization(PartnersInvestPCapName(), '1034'); + ContosoGLAccount.AddAccountForLocalization(PartnersPendNonmonetaryInvName(), '104'); + ContosoGLAccount.AddAccountForLocalization(PartPendNonmonInvSCapName(), '1040'); + ContosoGLAccount.AddAccountForLocalization(PartPendNonmonInvPCapName(), '1044'); + ContosoGLAccount.AddAccountForLocalization(SharesSpecialSituationsName(), '108'); + ContosoGLAccount.AddAccountForLocalization(SharesCapitalReductionsName(), '109'); + ContosoGLAccount.AddAccountForLocalization(ReservesName(), '11'); + ContosoGLAccount.AddAccountForLocalization(SharePremiumName(), '110'); + ContosoGLAccount.AddAccountForLocalization(OtherCapitalInstrHeadingName(), '111'); + ContosoGLAccount.AddAccountForLocalization(CapitalMixedFinInstrName(), '1110'); + ContosoGLAccount.AddAccountForLocalization(OtherCapitalInstrName(), '1111'); + ContosoGLAccount.AddAccountForLocalization(LegalReserveHeadingName(), '112'); + ContosoGLAccount.AddAccountForLocalization(LegalReserveName(), '1120001'); + ContosoGLAccount.AddAccountForLocalization(VoluntaryReservesName(), '113'); + ContosoGLAccount.AddAccountForLocalization(VoluntaryReserveName(), '1130001'); + ContosoGLAccount.AddAccountForLocalization(SpecialReservesName(), '114'); + ContosoGLAccount.AddAccountForLocalization(MajorPartnerSharesReservesName(), '1140'); + ContosoGLAccount.AddAccountForLocalization(StatutoryReservesName(), '1141'); + ContosoGLAccount.AddAccountForLocalization(DeprCapitalReserveName(), '1142'); + ContosoGLAccount.AddAccountForLocalization(GoodwillReservesName(), '1143'); + ContosoGLAccount.AddAccountForLocalization(OwnSharesAsGuaranteeReserName(), '1144'); + ContosoGLAccount.AddAccountForLocalization(GainsLossReservesAndAdjHeadingName(), '115'); + ContosoGLAccount.AddAccountForLocalization(GainsLossReservesAndAdjName(), '1150001'); + ContosoGLAccount.AddAccountForLocalization(PartnersOrOwnerInvestmentsName(), '118'); + ContosoGLAccount.AddAccountForLocalization(DifCapitalExchEuroName(), '119'); + ContosoGLAccount.AddAccountForLocalization(UnappliedResultsName(), '12'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedLossesName(), '121'); + ContosoGLAccount.AddAccountForLocalization(ProfitOrLossHeadingName(), '129'); + ContosoGLAccount.AddAccountForLocalization(ProfitOrLossName(), '1290001'); + ContosoGLAccount.AddAccountForLocalization(SubvGrantsAndCurrExchName(), '13'); + ContosoGLAccount.AddAccountForLocalization(OfficialSubvHeadingName(), '130'); + ContosoGLAccount.AddAccountForLocalization(OfficialSubvName(), '1300001'); + ContosoGLAccount.AddAccountForLocalization(GrantsAndLegaciesHeadingName(), '131'); + ContosoGLAccount.AddAccountForLocalization(GrantsAndLegaciesName(), '1310001'); + ContosoGLAccount.AddAccountForLocalization(OtherSubvGrantsAndLegHeadingName(), '132'); + ContosoGLAccount.AddAccountForLocalization(OtherSubvGrantsAndLegName(), '1320001'); + ContosoGLAccount.AddAccountForLocalization(ValueAdjFinAForSaleHeadingName(), '133'); + ContosoGLAccount.AddAccountForLocalization(ValueAdjFinAForSaleName(), '1330'); + ContosoGLAccount.AddAccountForLocalization(ValueAdjFinAForSalePostingName(), '1330001'); + ContosoGLAccount.AddAccountForLocalization(CoverageOperationsName(), '134'); + ContosoGLAccount.AddAccountForLocalization(CashFlowCoverageHeadingName(), '1340'); + ContosoGLAccount.AddAccountForLocalization(CashFlowCoverageName(), '1340001'); + ContosoGLAccount.AddAccountForLocalization(NetInvestCovAbroadHeadingName(), '1341'); + ContosoGLAccount.AddAccountForLocalization(NetInvestCovAbroadName(), '1341001'); + ContosoGLAccount.AddAccountForLocalization(ConversionDifferencesHeadingName(), '135'); + ContosoGLAccount.AddAccountForLocalization(ConversionDifferencesName(), '1350001'); + ContosoGLAccount.AddAccountForLocalization(ValueAdjNoncurrentASaleHeadingName(), '136'); + ContosoGLAccount.AddAccountForLocalization(ValueAdjNoncurrentASaleName(), '1360001'); + ContosoGLAccount.AddAccountForLocalization(FiscalIncRetPrevYearsName(), '137'); + ContosoGLAccount.AddAccountForLocalization(FiscalIncDifRetPrevYearsHeadingName(), '1370'); + ContosoGLAccount.AddAccountForLocalization(FiscalIncDifRetPrevYearsName(), '1370001'); + ContosoGLAccount.AddAccountForLocalization(FiscalIncDeductDiscountsName(), '1371'); + ContosoGLAccount.AddAccountForLocalization(ProvisionName(), '14'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForPensionsEquityName(), '140'); + ContosoGLAccount.AddAccountForLocalization(TaxationReserveEquityName(), '141'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForResponsibilitiesName(), '142'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForMayorRepairsName(), '143'); + ContosoGLAccount.AddAccountForLocalization(ProvForEnvironmentalActEquityName(), '145'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForRestructuringName(), '146'); + ContosoGLAccount.AddAccountForLocalization(ProvPaymTransCapitalInstName(), '147'); + ContosoGLAccount.AddAccountForLocalization(SpecialLtDebtsName(), '15'); + ContosoGLAccount.AddAccountForLocalization(LtSharesLiabilityName(), '150'); + ContosoGLAccount.AddAccountForLocalization(InvestLiabilityName(), '153'); + ContosoGLAccount.AddAccountForLocalization(InvestLiabilityGName(), '1533'); + ContosoGLAccount.AddAccountForLocalization(InvestLiabilityAName(), '1534'); + ContosoGLAccount.AddAccountForLocalization(InvestLiabilityOthName(), '1535'); + ContosoGLAccount.AddAccountForLocalization(OtherInvestLiabilityName(), '1536'); + ContosoGLAccount.AddAccountForLocalization(PendNonmonetaryInvLiabName(), '154'); + ContosoGLAccount.AddAccountForLocalization(PendNonmonetaryInvLiabGName(), '1543'); + ContosoGLAccount.AddAccountForLocalization(PendNonmonetaryInvLiabAName(), '1544'); + ContosoGLAccount.AddAccountForLocalization(PendNonmonInvLiabOthName(), '1545'); + ContosoGLAccount.AddAccountForLocalization(OtherPendNonmonInvName(), '1546'); + ContosoGLAccount.AddAccountForLocalization(VincCompaniesLtDebtsName(), '16'); + ContosoGLAccount.AddAccountForLocalization(DebtsLtWithVincFinInstName(), '160'); + ContosoGLAccount.AddAccountForLocalization(DebtsLtToFinInstGName(), '1603'); + ContosoGLAccount.AddAccountForLocalization(DebtsLtToFinInstAName(), '1604'); + ContosoGLAccount.AddAccountForLocalization(DebtsLtToOthVincCredInstName(), '1605'); + ContosoGLAccount.AddAccountForLocalization(LtFixedAssetVendorsVincName(), '161'); + ContosoGLAccount.AddAccountForLocalization(LtFixedAssetVendorsGName(), '1613'); + ContosoGLAccount.AddAccountForLocalization(LtFixedAssetVendorsAName(), '1614'); + ContosoGLAccount.AddAccountForLocalization(LtFixedAssetVendorsOthName(), '1615'); + ContosoGLAccount.AddAccountForLocalization(FinLtLeaseCreditorsVincName(), '162'); + ContosoGLAccount.AddAccountForLocalization(FinLtLeaseCreditorsGName(), '1623'); + ContosoGLAccount.AddAccountForLocalization(FinLtLeaseCreditorsAName(), '1624'); + ContosoGLAccount.AddAccountForLocalization(FinLtLeaseCreditorsOthName(), '1625'); + ContosoGLAccount.AddAccountForLocalization(OtherLtDebtsToVincCompName(), '163'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsHeadingName(), '350'); + ContosoGLAccount.AddAccountForLocalization(OtherLtDebtsGName(), '1633'); + ContosoGLAccount.AddAccountForLocalization(OtherLtDebtsAName(), '1634'); + ContosoGLAccount.AddAccountForLocalization(OtherLtDebtsOthName(), '1635'); + ContosoGLAccount.AddAccountForLocalization(LoansAndSimilarBorrowingsName(), '17'); + ContosoGLAccount.AddAccountForLocalization(LTLoansFromFinInstName(), '170'); + ContosoGLAccount.AddAccountForLocalization(LongTermDebtsName(), '1700001'); + ContosoGLAccount.AddAccountForLocalization(LongTermDebtsHeadingName(), '171'); + ContosoGLAccount.AddAccountForLocalization(ConvertibleInGrantsName(), '172'); + ContosoGLAccount.AddAccountForLocalization(LtFixedAssetVendorsName(), '173'); + ContosoGLAccount.AddAccountForLocalization(FinLtLeaseCreditorsName(), '174'); + ContosoGLAccount.AddAccountForLocalization(TradeCredBillExchPayName(), '175'); + ContosoGLAccount.AddAccountForLocalization(LtDerivFinLiabName(), '176'); + ContosoGLAccount.AddAccountForLocalization(LtDerivFinLiabPortfolioName(), '1765'); + ContosoGLAccount.AddAccountForLocalization(LtDerivFinLiabCoverInstName(), '1768'); + ContosoGLAccount.AddAccountForLocalization(ObligAndDebentLoansName(), '177'); + ContosoGLAccount.AddAccountForLocalization(ObligAndConvDebentLoansName(), '178'); + ContosoGLAccount.AddAccountForLocalization(DebtsOthMarketableSecurName(), '179'); + ContosoGLAccount.AddAccountForLocalization(LtGuaranteesDepRecName(), '18'); + ContosoGLAccount.AddAccountForLocalization(LtGuaranteesReceivedName(), '180'); + ContosoGLAccount.AddAccountForLocalization(LtSalesAndServicesAdvancesName(), '181'); + ContosoGLAccount.AddAccountForLocalization(LtDepositsReceivedName(), '185'); + ContosoGLAccount.AddAccountForLocalization(LtFinancialGuaranteesName(), '189'); + ContosoGLAccount.AddAccountForLocalization(TransitionalSituationsName(), '19'); + ContosoGLAccount.AddAccountForLocalization(IssuedSharesOrPartStockName(), '190'); + ContosoGLAccount.AddAccountForLocalization(SharesSubscriptorsName(), '192'); + ContosoGLAccount.AddAccountForLocalization(EqCapitalCInCreationName(), '194'); + ContosoGLAccount.AddAccountForLocalization(IssuedSharesOrPartFinLiabName(), '195'); + ContosoGLAccount.AddAccountForLocalization(FinLiabSharesSubsName(), '197'); + ContosoGLAccount.AddAccountForLocalization(PendFinLiabSharesOrStName(), '199'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsName(), '20'); + ContosoGLAccount.AddAccountForLocalization(ResearchCostsHeadingName(), '200'); + ContosoGLAccount.AddAccountForLocalization(ResearchCostsName(), '2000001'); + ContosoGLAccount.AddAccountForLocalization(DevCostsHeadingName(), '201'); + ContosoGLAccount.AddAccountForLocalization(DevCostsName(), '2010001'); + ContosoGLAccount.AddAccountForLocalization(FranchisedAssetsName(), '202'); + ContosoGLAccount.AddAccountForLocalization(IndustrialPropertyName(), '203'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '204'); + ContosoGLAccount.AddAccountForLocalization(RightToLeaseName(), '205'); + ContosoGLAccount.AddAccountForLocalization(EdpApplicationsName(), '206'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsAdvancesName(), '209'); + ContosoGLAccount.AddAccountForLocalization(TangibleAssetsName(), '21'); + ContosoGLAccount.AddAccountForLocalization(FreeholdLandName(), '210'); + ContosoGLAccount.AddAccountForLocalization(LandName(), '2100001'); + ContosoGLAccount.AddAccountForLocalization(BuildingsName(), '211'); + ContosoGLAccount.AddAccountForLocalization(SpecificInstallationsName(), '212'); + ContosoGLAccount.AddAccountForLocalization(IndustrialMachineryHeadingName(), '213'); + ContosoGLAccount.AddAccountForLocalization(IndustrialMachineryName(), '2130001'); + ContosoGLAccount.AddAccountForLocalization(IndustrialToolingName(), '214'); + ContosoGLAccount.AddAccountForLocalization(PlantMachineryEquipmentName(), '215'); + ContosoGLAccount.AddAccountForLocalization(FurnitureHeadingName(), '216'); + ContosoGLAccount.AddAccountForLocalization(FurnitureName(), '2160001'); + ContosoGLAccount.AddAccountForLocalization(InfoProcessEquipmentName(), '217'); + ContosoGLAccount.AddAccountForLocalization(DataProcessingEquipmentName(), '2170001'); + ContosoGLAccount.AddAccountForLocalization(TransportEquipmentName(), '218'); + ContosoGLAccount.AddAccountForLocalization(VehicleName(), '2180001'); + ContosoGLAccount.AddAccountForLocalization(OtherTangibleFixedAssetsHeadingName(), '219'); + ContosoGLAccount.AddAccountForLocalization(OtherTangibleFixedAssetsName(), '2190001'); + ContosoGLAccount.AddAccountForLocalization(PropertiesInvestmName(), '22'); + ContosoGLAccount.AddAccountForLocalization(FreeholdLandInvName(), '220'); + ContosoGLAccount.AddAccountForLocalization(LandInvName(), '2200001'); + ContosoGLAccount.AddAccountForLocalization(BuildingsInvName(), '221'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsInProgressName(), '23'); + ContosoGLAccount.AddAccountForLocalization(ImprPrepCostsFreehLandName(), '230'); + ContosoGLAccount.AddAccountForLocalization(ConstructionWorkInProgressName(), '231'); + ContosoGLAccount.AddAccountForLocalization(PlantMachEquipmUndInstName(), '232'); + ContosoGLAccount.AddAccountForLocalization(MachineryUnderInstallationName(), '233'); + ContosoGLAccount.AddAccountForLocalization(InfoProcessEquipmUndInstName(), '237'); + ContosoGLAccount.AddAccountForLocalization(TangibleAssetsAdvancesName(), '239'); + ContosoGLAccount.AddAccountForLocalization(VincCompFinInvestmName(), '24'); + ContosoGLAccount.AddAccountForLocalization(LtInvestmInVincComName(), '240'); + ContosoGLAccount.AddAccountForLocalization(LtInvestmGName(), '2403'); + ContosoGLAccount.AddAccountForLocalization(LtInvestmAName(), '2404'); + ContosoGLAccount.AddAccountForLocalization(LtInvestmOthName(), '2405'); + ContosoGLAccount.AddAccountForLocalization(LtDebtValueVincName(), '241'); + ContosoGLAccount.AddAccountForLocalization(LtDebtValueGName(), '2413'); + ContosoGLAccount.AddAccountForLocalization(LtDebtValueAName(), '2414'); + ContosoGLAccount.AddAccountForLocalization(LtDebtValueOthName(), '2415'); + ContosoGLAccount.AddAccountForLocalization(LtCreditsToVincCompName(), '242'); + ContosoGLAccount.AddAccountForLocalization(LtCreditsToGName(), '2423'); + ContosoGLAccount.AddAccountForLocalization(LtCreditsToAName(), '2424'); + ContosoGLAccount.AddAccountForLocalization(LtCreditsToOthName(), '2425'); + ContosoGLAccount.AddAccountForLocalization(AmountsUncalledLtName(), '249'); + ContosoGLAccount.AddAccountForLocalization(AmountsUncalledGName(), '2493'); + ContosoGLAccount.AddAccountForLocalization(AmountsUncalledAName(), '2494'); + ContosoGLAccount.AddAccountForLocalization(AmountsUncalledOthName(), '2495'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialInvestmLtName(), '25'); + ContosoGLAccount.AddAccountForLocalization(LtInvestmInCapitalInstName(), '250'); + ContosoGLAccount.AddAccountForLocalization(LtDebtValuesHeadingName(), '251'); + ContosoGLAccount.AddAccountForLocalization(LtDebtValuesName(), '2510001'); + ContosoGLAccount.AddAccountForLocalization(LongTermLoansName(), '252'); + ContosoGLAccount.AddAccountForLocalization(FaTransfLoansName(), '253'); + ContosoGLAccount.AddAccountForLocalization(StaffLtCreditsName(), '254'); + ContosoGLAccount.AddAccountForLocalization(LtDerivFinCapitalName(), '255'); + ContosoGLAccount.AddAccountForLocalization(LtDerivFinCapPortfolioName(), '2550'); + ContosoGLAccount.AddAccountForLocalization(LtDerivFinCapCoverInstName(), '2553'); + ContosoGLAccount.AddAccountForLocalization(LtPersInsContReimbRightsName(), '257'); + ContosoGLAccount.AddAccountForLocalization(LongTermTaxationsName(), '258'); + ContosoGLAccount.AddAccountForLocalization(PendingInvestOnCapitalInstName(), '259'); + ContosoGLAccount.AddAccountForLocalization(GuarantDepSecuritiesName(), '26'); + ContosoGLAccount.AddAccountForLocalization(GuarantSecuritiesLTName(), '260'); + ContosoGLAccount.AddAccountForLocalization(GuaranteedSecuritiesName(), '2600001'); + ContosoGLAccount.AddAccountForLocalization(GuaranteedDepositsLTName(), '265'); + ContosoGLAccount.AddAccountForLocalization(DeprOfIntangibleFaName(), '280'); + ContosoGLAccount.AddAccountForLocalization(DepResearchCostsName(), '2800'); + ContosoGLAccount.AddAccountForLocalization(DepDevelopmCostsName(), '2801'); + ContosoGLAccount.AddAccountForLocalization(DepFranchisedAssetsName(), '2802'); + ContosoGLAccount.AddAccountForLocalization(DepIndustrialPropertyName(), '2803'); + ContosoGLAccount.AddAccountForLocalization(DepRightToLeaseName(), '2805'); + ContosoGLAccount.AddAccountForLocalization(DepEdpApplicationsName(), '2806'); + ContosoGLAccount.AddAccountForLocalization(DeprOfTangibleFaName(), '281'); + ContosoGLAccount.AddAccountForLocalization(DepBuildingsName(), '2811'); + ContosoGLAccount.AddAccountForLocalization(DepTechnicalInstallationsName(), '2812'); + ContosoGLAccount.AddAccountForLocalization(DepIndustrialMachineryHeadingName(), '2813'); + ContosoGLAccount.AddAccountForLocalization(DepIndustrialMachineryName(), '2813001'); + ContosoGLAccount.AddAccountForLocalization(DepIndustrialToolingName(), '2814'); + ContosoGLAccount.AddAccountForLocalization(DepPlantMachineryEquipName(), '2815'); + ContosoGLAccount.AddAccountForLocalization(DepFurnitureAssetsName(), '2816'); + ContosoGLAccount.AddAccountForLocalization(DepFurnitureName(), '2816001'); + ContosoGLAccount.AddAccountForLocalization(DepInfoProcessEquipmentName(), '2817'); + ContosoGLAccount.AddAccountForLocalization(DepTransportEquipmentHeadingName(), '2818'); + ContosoGLAccount.AddAccountForLocalization(DepTransportEquipmentName(), '2818001'); + ContosoGLAccount.AddAccountForLocalization(DepOtherTangibleFaHeadingName(), '2819'); + ContosoGLAccount.AddAccountForLocalization(DepOtherTangibleFaName(), '2819001'); + ContosoGLAccount.AddAccountForLocalization(DepPropertiesInvestmHeadingName(), '282'); + ContosoGLAccount.AddAccountForLocalization(DepPropertiesInvestmName(), '2820001'); + ContosoGLAccount.AddAccountForLocalization(DeteriorForFaName(), '29'); + ContosoGLAccount.AddAccountForLocalization(DeteriorOfIntangFaName(), '290'); + ContosoGLAccount.AddAccountForLocalization(DetResearchCostsName(), '2900'); + ContosoGLAccount.AddAccountForLocalization(DetDevelopmCostsName(), '2901'); + ContosoGLAccount.AddAccountForLocalization(DetFranchisedAssetsName(), '2902'); + ContosoGLAccount.AddAccountForLocalization(DetIndustrialPropertyName(), '2903'); + ContosoGLAccount.AddAccountForLocalization(DetRightToLeaseName(), '2905'); + ContosoGLAccount.AddAccountForLocalization(DetEdpApplicationsName(), '2906'); + ContosoGLAccount.AddAccountForLocalization(DeteriorOfTangFaName(), '291'); + ContosoGLAccount.AddAccountForLocalization(DetFreeholdLandName(), '2910'); + ContosoGLAccount.AddAccountForLocalization(DetBuildingName(), '2911'); + ContosoGLAccount.AddAccountForLocalization(DetTechnicalInstallationsName(), '2912'); + ContosoGLAccount.AddAccountForLocalization(DetIndustrialMachineryName(), '2913'); + ContosoGLAccount.AddAccountForLocalization(DetIndustrialToolingName(), '2914'); + ContosoGLAccount.AddAccountForLocalization(DetPlantMachineryEquipName(), '2915'); + ContosoGLAccount.AddAccountForLocalization(DepFurnitureHeadingName(), '2916'); + ContosoGLAccount.AddAccountForLocalization(DetInfoProcessEquipmentName(), '2917'); + ContosoGLAccount.AddAccountForLocalization(DetTransportEquipmentName(), '2918'); + ContosoGLAccount.AddAccountForLocalization(DetOtherTangFixedAssetsName(), '2919'); + ContosoGLAccount.AddAccountForLocalization(DetPropertiesInvestmName(), '292'); + ContosoGLAccount.AddAccountForLocalization(DetFreeholdLandHeadingName(), '2920'); + ContosoGLAccount.AddAccountForLocalization(DetBuildingHeadingName(), '2921'); + ContosoGLAccount.AddAccountForLocalization(DetLtSecValueInVincCName(), '293'); + ContosoGLAccount.AddAccountForLocalization(DetLtSecValueInGrName(), '2933'); + ContosoGLAccount.AddAccountForLocalization(DetLtSecValueInAsocName(), '2934'); + ContosoGLAccount.AddAccountForLocalization(DetLtDebtSecuritiesVinCName(), '294'); + ContosoGLAccount.AddAccountForLocalization(DetLtDebtSecuritiesGName(), '2943'); + ContosoGLAccount.AddAccountForLocalization(DetLtDebtSecuritiesAName(), '2944'); + ContosoGLAccount.AddAccountForLocalization(DetLtDebtSecurOVinName(), '2945'); + ContosoGLAccount.AddAccountForLocalization(DetLtCreditsValToVincCName(), '295'); + ContosoGLAccount.AddAccountForLocalization(DetLtCreditsToGrName(), '2953'); + ContosoGLAccount.AddAccountForLocalization(DetLtCreditsToAsocName(), '2954'); + ContosoGLAccount.AddAccountForLocalization(DetLtCreditsToOthVinName(), '2955'); + ContosoGLAccount.AddAccountForLocalization(DetLtDebtSecuritiesValueName(), '297'); + ContosoGLAccount.AddAccountForLocalization(DetLtCreditsValueName(), '298'); + ContosoGLAccount.AddAccountForLocalization(TradeGoodsName(), '30'); + ContosoGLAccount.AddAccountForLocalization(GoodsHeadingName(), '300'); + ContosoGLAccount.AddAccountForLocalization(GoodsName(), '3000001'); + ContosoGLAccount.AddAccountForLocalization(AssemblyBomName(), '3000002'); + ContosoGLAccount.AddAccountForLocalization(GoodsTradeCredName(), '3000003'); + ContosoGLAccount.AddAccountForLocalization(BillOfMaterTradeCredName(), '3000004'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsProvName(), '3100002'); + ContosoGLAccount.AddAccountForLocalization(SuppliesOtherConsumName(), '32'); + ContosoGLAccount.AddAccountForLocalization(ItemsAssembToIncorpName(), '320'); + ContosoGLAccount.AddAccountForLocalization(FuelsName(), '321'); + ContosoGLAccount.AddAccountForLocalization(ReplacementPartsName(), '322'); + ContosoGLAccount.AddAccountForLocalization(OtherMaterialsName(), '325'); + ContosoGLAccount.AddAccountForLocalization(PackagingName(), '326'); + ContosoGLAccount.AddAccountForLocalization(ContainersName(), '327'); + ContosoGLAccount.AddAccountForLocalization(ProdInProgrManufGoodsHeadingName(), '33'); + ContosoGLAccount.AddAccountForLocalization(ProdInProgrManufGoodsName(), '330'); + ContosoGLAccount.AddAccountForLocalization(SalesSpecialistName(), '3300010'); + ContosoGLAccount.AddAccountForLocalization(WipProjectSalesName(), '3300011'); + ContosoGLAccount.AddAccountForLocalization(WipInvoicedProjectSalesName(), '3300012'); + ContosoGLAccount.AddAccountForLocalization(CostsSpecialistName(), '3300020'); + ContosoGLAccount.AddAccountForLocalization(WipProjectCostsName(), '3300021'); + ContosoGLAccount.AddAccountForLocalization(WipAccruedProjectCostsName(), '3300022'); + ContosoGLAccount.AddAccountForLocalization(JobPostingGroupName(), '3300030'); + ContosoGLAccount.AddAccountForLocalization(WorkInProgressHeadingName(), '34'); + ContosoGLAccount.AddAccountForLocalization(WorkInProgressName(), '340'); + ContosoGLAccount.AddAccountForLocalization(ByProductsOrScrapName(), '36'); + ContosoGLAccount.AddAccountForLocalization(ByProductsName(), '360'); + ContosoGLAccount.AddAccountForLocalization(WasteProductsName(), '365'); + ContosoGLAccount.AddAccountForLocalization(RejectsOfManufacturingName(), '368'); + ContosoGLAccount.AddAccountForLocalization(DeteriorInventoryValueName(), '39'); + ContosoGLAccount.AddAccountForLocalization(DetGoodsValueName(), '390'); + ContosoGLAccount.AddAccountForLocalization(DetRawMatName(), '391'); + ContosoGLAccount.AddAccountForLocalization(DetSuppliesOtherConsumName(), '392'); + ContosoGLAccount.AddAccountForLocalization(DetProdProgrManufGoodsName(), '393'); + ContosoGLAccount.AddAccountForLocalization(DetForWorkInProgressName(), '394'); + ContosoGLAccount.AddAccountForLocalization(DetForFinishedGoodsName(), '395'); + ContosoGLAccount.AddAccountForLocalization(DetForByProdOrScrapName(), '396'); + ContosoGLAccount.AddAccountForLocalization(CreditorsAndDebtorsName(), '4'); + ContosoGLAccount.AddAccountForLocalization(TradeCreditorsHeadingName(), '40'); + ContosoGLAccount.AddAccountForLocalization(TradeCreditorsName(), '400'); + ContosoGLAccount.AddAccountForLocalization(STTradeCredEuroName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(NationalTradeCreditorsName(), '4000001'); + ContosoGLAccount.AddAccountForLocalization(InternatTradeCreditorsName(), '4000002'); + ContosoGLAccount.AddAccountForLocalization(InvUnderPaymentOrderName(), '4000003'); + ContosoGLAccount.AddAccountForLocalization(ForCurrTradeCreditorsName(), '4004'); + ContosoGLAccount.AddAccountForLocalization(EuTradeCreditorsName(), '4004001'); + ContosoGLAccount.AddAccountForLocalization(TradeCredInvNotRecName(), '4009'); + ContosoGLAccount.AddAccountForLocalization(TradeCredBillOfExchPayName(), '401'); + ContosoGLAccount.AddAccountForLocalization(TradeCrBillExPayName(), '4010'); + ContosoGLAccount.AddAccountForLocalization(BillExPayNationalName(), '4010001'); + ContosoGLAccount.AddAccountForLocalization(BillExInPaymtOrderName(), '4010002'); + ContosoGLAccount.AddAccountForLocalization(TradeCreditorsGName(), '403'); + ContosoGLAccount.AddAccountForLocalization(TradeCreditorsGEuroHeadingName(), '4030'); + ContosoGLAccount.AddAccountForLocalization(TradeCreditorsGEuroName(), '4030001'); + ContosoGLAccount.AddAccountForLocalization(ProvForBillExchPayGName(), '4031'); + ContosoGLAccount.AddAccountForLocalization(TradeCreditorsGForCurrName(), '4034'); + ContosoGLAccount.AddAccountForLocalization(TradeCrReturnEmptiesGName(), '4036'); + ContosoGLAccount.AddAccountForLocalization(TradeCredInvNotRecGName(), '4039'); + ContosoGLAccount.AddAccountForLocalization(TradeCredAsocName(), '404'); + ContosoGLAccount.AddAccountForLocalization(TradeCredOthVinCName(), '405'); + ContosoGLAccount.AddAccountForLocalization(TradeCrReturnEmptiesName(), '406'); + ContosoGLAccount.AddAccountForLocalization(TradeCredAdvancesHeadingName(), '407'); + ContosoGLAccount.AddAccountForLocalization(TradeCredAdvancesName(), '4070'); + ContosoGLAccount.AddAccountForLocalization(TradeCredAdvancesNationalName(), '4070001'); + ContosoGLAccount.AddAccountForLocalization(TradeCredAdvancesEuName(), '4070002'); + ContosoGLAccount.AddAccountForLocalization(TradeCredAdvancesExportName(), '4070003'); + ContosoGLAccount.AddAccountForLocalization(OtherCreditorsHeadingName(), '41'); + ContosoGLAccount.AddAccountForLocalization(CreditorsProvOfServicesName(), '410'); + ContosoGLAccount.AddAccountForLocalization(STCreditorsEuroName(), '4100'); + ContosoGLAccount.AddAccountForLocalization(OtherCreditorsName(), '4100001'); + ContosoGLAccount.AddAccountForLocalization(CreditorsProvServForCurrName(), '4104'); + ContosoGLAccount.AddAccountForLocalization(CreditorsInvNotRecName(), '4109'); + ContosoGLAccount.AddAccountForLocalization(CreditorsBillExPayHeadingName(), '411'); + ContosoGLAccount.AddAccountForLocalization(CreditorsBillExPayName(), '4110'); + ContosoGLAccount.AddAccountForLocalization(CreditorsComOperationsHeadingName(), '419'); + ContosoGLAccount.AddAccountForLocalization(CreditorsComOperationsName(), '4190'); + ContosoGLAccount.AddAccountForLocalization(TradeAccReceivHeadingName(), '43'); + ContosoGLAccount.AddAccountForLocalization(TradeAccReceivName(), '430'); + ContosoGLAccount.AddAccountForLocalization(TradeAccReceivEuroName(), '4300'); + ContosoGLAccount.AddAccountForLocalization(NationalCustomersName(), '4300001'); + ContosoGLAccount.AddAccountForLocalization(InternationalCustomersName(), '4300002'); + ContosoGLAccount.AddAccountForLocalization(InvoicesToBePaidName(), '4300003'); + ContosoGLAccount.AddAccountForLocalization(DiscountedInvoicesAccountName(), '4300004'); + ContosoGLAccount.AddAccountForLocalization(RejectedInvoicesAccountName(), '4300005'); + ContosoGLAccount.AddAccountForLocalization(TradeAccReceivForCurrName(), '4304'); + ContosoGLAccount.AddAccountForLocalization(TradeAccRecInvNotRecName(), '4309'); + ContosoGLAccount.AddAccountForLocalization(TradeAccRecBillsCollName(), '431'); + ContosoGLAccount.AddAccountForLocalization(PendingReceivablesBillsHeadingName(), '4310'); + ContosoGLAccount.AddAccountForLocalization(PendingReceivablesBillsName(), '4310001'); + ContosoGLAccount.AddAccountForLocalization(DiscountedBillsHeadingName(), '4311'); + ContosoGLAccount.AddAccountForLocalization(DiscountedBillsName(), '4311001'); + ContosoGLAccount.AddAccountForLocalization(BillsOnCollectionManagHeadingName(), '4312'); + ContosoGLAccount.AddAccountForLocalization(BillsOnCollectionManagName(), '4312001'); + ContosoGLAccount.AddAccountForLocalization(UnpaidBillsOfExchangeHeadingName(), '4315'); + ContosoGLAccount.AddAccountForLocalization(UnpaidBillsOfExchangeName(), '4315001'); + ContosoGLAccount.AddAccountForLocalization(TradeAccFactoringOpName(), '432'); + ContosoGLAccount.AddAccountForLocalization(TradeAccRecAccGName(), '433'); + ContosoGLAccount.AddAccountForLocalization(GroupTrAccRecEuroHeadingName(), '4330'); + ContosoGLAccount.AddAccountForLocalization(GroupTrAccRecEuroName(), '4330001'); + ContosoGLAccount.AddAccountForLocalization(BillsOfExchRecGName(), '4331'); + ContosoGLAccount.AddAccountForLocalization(TrAccFactoringOpGName(), '4332'); + ContosoGLAccount.AddAccountForLocalization(ForCurrTrAccRecGName(), '4334'); + ContosoGLAccount.AddAccountForLocalization(TrAccRecRetEmptGName(), '4336'); + ContosoGLAccount.AddAccountForLocalization(GroupTrAccRecRetEmptName(), '4337'); + ContosoGLAccount.AddAccountForLocalization(TrAccRecInvNotRecGName(), '4339'); + ContosoGLAccount.AddAccountForLocalization(TradeAcsRecAccAName(), '434'); + ContosoGLAccount.AddAccountForLocalization(TrAccRecOtherVincCompName(), '435'); + ContosoGLAccount.AddAccountForLocalization(BadDoubtfulDebtsName(), '436'); + ContosoGLAccount.AddAccountForLocalization(TrAccRecRetEmptName(), '437'); + ContosoGLAccount.AddAccountForLocalization(TradeDebtorsCreditBalancesName(), '438'); + ContosoGLAccount.AddAccountForLocalization(StTrDebtAdvancesNationalName(), '4380001'); + ContosoGLAccount.AddAccountForLocalization(StTrDebtAdvancesEuName(), '4380002'); + ContosoGLAccount.AddAccountForLocalization(StTrDebtAdvancesExportName(), '4380003'); + ContosoGLAccount.AddAccountForLocalization(OtherDebtorsName(), '44'); + ContosoGLAccount.AddAccountForLocalization(DebtorsHeadingName(), '440'); + ContosoGLAccount.AddAccountForLocalization(DebtorsEuroName(), '4400'); + ContosoGLAccount.AddAccountForLocalization(DebtorsName(), '4400001'); + ContosoGLAccount.AddAccountForLocalization(DebtorsForeignCurrName(), '4404'); + ContosoGLAccount.AddAccountForLocalization(DebtorsInvNotRecName(), '4409'); + ContosoGLAccount.AddAccountForLocalization(DebtorsBillsOfCollectionName(), '441'); + ContosoGLAccount.AddAccountForLocalization(DebtorsReceivablesPendBillsName(), '4410'); + ContosoGLAccount.AddAccountForLocalization(DebtorsDiscountedBillsName(), '4411'); + ContosoGLAccount.AddAccountForLocalization(DebtBillsOnCollManagName(), '4412'); + ContosoGLAccount.AddAccountForLocalization(DebtorsUnpaidBillsName(), '4415'); + ContosoGLAccount.AddAccountForLocalization(BadDoubtfulDebtName(), '446'); + ContosoGLAccount.AddAccountForLocalization(DebtorsJointVenturesName(), '449'); + ContosoGLAccount.AddAccountForLocalization(EmployeesName(), '46'); + ContosoGLAccount.AddAccountForLocalization(RemunerationAdvancesHeadingName(), '460'); + ContosoGLAccount.AddAccountForLocalization(RemunerationAdvancesName(), '4600001'); + ContosoGLAccount.AddAccountForLocalization(PendingRemunerationsName(), '465'); + ContosoGLAccount.AddAccountForLocalization(PendingFixContribSistRemName(), '466'); + ContosoGLAccount.AddAccountForLocalization(GeneralGovernmentName(), '47'); + ContosoGLAccount.AddAccountForLocalization(GovernmentReceivableName(), '470'); + ContosoGLAccount.AddAccountForLocalization(GovernmentVatReceivHeadingName(), '4700'); + ContosoGLAccount.AddAccountForLocalization(GovernmentVatReceivName(), '4700001'); + ContosoGLAccount.AddAccountForLocalization(GovernmentSubvReceivName(), '4708'); + ContosoGLAccount.AddAccountForLocalization(GovernmentTaxReturnReceivName(), '4709'); + ContosoGLAccount.AddAccountForLocalization(SocialSecurityName(), '471'); + ContosoGLAccount.AddAccountForLocalization(SocialSecurityReceivableName(), '4710001'); + ContosoGLAccount.AddAccountForLocalization(ValueAddedTaxDeductName(), '472'); + ContosoGLAccount.AddAccountForLocalization(GovVatDeductibleName(), '4720001'); + ContosoGLAccount.AddAccountForLocalization(GovDeducPaymOnAccHeadingName(), '473'); + ContosoGLAccount.AddAccountForLocalization(GovDeducPaymOnAccName(), '4730001'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxAssetsName(), '474'); + ContosoGLAccount.AddAccountForLocalization(DeducTemporaryDifferencesName(), '4740'); + ContosoGLAccount.AddAccountForLocalization(DeferredDeductDiscountsName(), '4742'); + ContosoGLAccount.AddAccountForLocalization(CreditForLossesToCompName(), '4745'); + ContosoGLAccount.AddAccountForLocalization(GovernmentCreditorName(), '475'); + ContosoGLAccount.AddAccountForLocalization(GovernmentCreditorVatHeadingName(), '4750'); + ContosoGLAccount.AddAccountForLocalization(GovernmentCreditorVatName(), '4750001'); + ContosoGLAccount.AddAccountForLocalization(GovernmentCreditorIrpfHeadingName(), '4751'); + ContosoGLAccount.AddAccountForLocalization(GovernmentCreditorIrpfName(), '4751001'); + ContosoGLAccount.AddAccountForLocalization(GovCredCorpIncTaxHeadingName(), '4752'); + ContosoGLAccount.AddAccountForLocalization(GovCredCorpIncTaxName(), '4752001'); + ContosoGLAccount.AddAccountForLocalization(GovCreditorSubvHeadingName(), '4758'); + ContosoGLAccount.AddAccountForLocalization(GovCreditorSubvName(), '4758001'); + ContosoGLAccount.AddAccountForLocalization(SocialSecurityCreditorHeadingName(), '476'); + ContosoGLAccount.AddAccountForLocalization(SocialSecurityCreditorName(), '4760001'); + ContosoGLAccount.AddAccountForLocalization(ValueAddTaxCollByCompName(), '477'); + ContosoGLAccount.AddAccountForLocalization(VatCollByTheCompName(), '4770001'); + ContosoGLAccount.AddAccountForLocalization(VatEuReversionName(), '4770011'); + ContosoGLAccount.AddAccountForLocalization(DeferredProfitTaxName(), '479'); + ContosoGLAccount.AddAccountForLocalization(ChargSprOverSevPeriodsName(), '48'); + ContosoGLAccount.AddAccountForLocalization(PrepaymentsName(), '480'); + ContosoGLAccount.AddAccountForLocalization(UnearnedIncomeName(), '485'); + ContosoGLAccount.AddAccountForLocalization(DetCreditValAndStVendName(), '49'); + ContosoGLAccount.AddAccountForLocalization(DetCreditValTradeOperName(), '490'); + ContosoGLAccount.AddAccountForLocalization(DetCreditValTradeOVinName(), '493'); + ContosoGLAccount.AddAccountForLocalization(DetCreditValTradeOGName(), '4933'); + ContosoGLAccount.AddAccountForLocalization(DetCreditValTradeOAName(), '4934'); + ContosoGLAccount.AddAccountForLocalization(DetCreditValTradeOOvName(), '4935'); + ContosoGLAccount.AddAccountForLocalization(ProvForTradeTransactLiabilitiesName(), '499'); + ContosoGLAccount.AddAccountForLocalization(ProvForBurdensomeContractsName(), '4994'); + ContosoGLAccount.AddAccountForLocalization(ProvForOtherTradeTransactName(), '4999'); + ContosoGLAccount.AddAccountForLocalization(FinancialAccountsName(), '5'); + ContosoGLAccount.AddAccountForLocalization(ShortTermInvestmentsName(), '50'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDebentLoansName(), '500'); + ContosoGLAccount.AddAccountForLocalization(TreasureBillsName(), '5000001'); + ContosoGLAccount.AddAccountForLocalization(ConvertibleDebentLoansName(), '501'); + ContosoGLAccount.AddAccountForLocalization(StSharesLiabilityName(), '502'); + ContosoGLAccount.AddAccountForLocalization(DebtsAsMarketableSecName(), '505'); + ContosoGLAccount.AddAccountForLocalization(BorrowingsInterestsName(), '506'); + ContosoGLAccount.AddAccountForLocalization(DividendsLiabilityName(), '507'); + ContosoGLAccount.AddAccountForLocalization(DeprMarketableSecName(), '509'); + ContosoGLAccount.AddAccountForLocalization(DeprOblAndDebLoansName(), '5090'); + ContosoGLAccount.AddAccountForLocalization(DeprConverOblAndDebLName(), '5091'); + ContosoGLAccount.AddAccountForLocalization(DeprOtherMarketableSecName(), '5095'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDebtsWithVincName(), '51'); + ContosoGLAccount.AddAccountForLocalization(StDebtsVincFinInstName(), '510'); + ContosoGLAccount.AddAccountForLocalization(LoansFromFinInstitGName(), '5103'); + ContosoGLAccount.AddAccountForLocalization(LoansFromFinInstitAName(), '5104'); + ContosoGLAccount.AddAccountForLocalization(LoansFromFinInstitOthName(), '5105'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetCredVincCName(), '511'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetCredGName(), '5113'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetCreditorsAName(), '5114'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsCredOthName(), '5115'); + ContosoGLAccount.AddAccountForLocalization(StFinLeaseCredVincCName(), '512'); + ContosoGLAccount.AddAccountForLocalization(StFinLeaseCredGName(), '5123'); + ContosoGLAccount.AddAccountForLocalization(StFinLeaseCredAName(), '5124'); + ContosoGLAccount.AddAccountForLocalization(StFinLeaseCredOthName(), '5125'); + ContosoGLAccount.AddAccountForLocalization(OtherStDebtsVincCName(), '513'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDebtsGName(), '5133'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDebtsAName(), '5134'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDebtsOthName(), '5135'); + ContosoGLAccount.AddAccountForLocalization(StDebtInterestsVincCName(), '514'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestsGName(), '5143'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestsAName(), '5144'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestsOthName(), '5145'); + ContosoGLAccount.AddAccountForLocalization(StLoansDebtName(), '52'); + ContosoGLAccount.AddAccountForLocalization(StLoansFromFinInstitutHeadingName(), '520'); + ContosoGLAccount.AddAccountForLocalization(StLoansFromFinInstitutName(), '5200'); + ContosoGLAccount.AddAccountForLocalization(ShortTermLoansPostingName(), '5200001'); + ContosoGLAccount.AddAccountForLocalization(StDebtsForCreditsName(), '5201'); + ContosoGLAccount.AddAccountForLocalization(DebtOnDiscountedBillsHeadingName(), '5208'); + ContosoGLAccount.AddAccountForLocalization(DebtOnDiscountedBillsName(), '5208001'); + ContosoGLAccount.AddAccountForLocalization(DiscInvoiceDebtAccName(), '5208002'); + ContosoGLAccount.AddAccountForLocalization(FactoringOpDebtAccName(), '5209'); + ContosoGLAccount.AddAccountForLocalization(ShortTermLoansName(), '521'); + ContosoGLAccount.AddAccountForLocalization(DebtInSubvAndLegName(), '522'); + ContosoGLAccount.AddAccountForLocalization(StFixedAssetCreditorsName(), '523'); + ContosoGLAccount.AddAccountForLocalization(StFinLeaseCreditorsName(), '524'); + ContosoGLAccount.AddAccountForLocalization(StBillOfExchPayName(), '525'); + ContosoGLAccount.AddAccountForLocalization(ActiveDividendToPayName(), '526'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDebtIntCredInstName(), '527'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDebtInterestName(), '528'); + ContosoGLAccount.AddAccountForLocalization(ShortTermProvisionsName(), '529'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForPensionsHeadingName(), '5290'); + ContosoGLAccount.AddAccountForLocalization(TaxationReserveHeadingName(), '5291'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForResponsibilitiesHeadingName(), '5292'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForFaDismantleName(), '5293'); + ContosoGLAccount.AddAccountForLocalization(ProvForEnvironmentalActHeadingName(), '5295'); + ContosoGLAccount.AddAccountForLocalization(ProvForRestructuringName(), '5296'); + ContosoGLAccount.AddAccountForLocalization(ProvForPaymLiabInstName(), '5297'); + ContosoGLAccount.AddAccountForLocalization(GroupAssocFinInvestmName(), '53'); + ContosoGLAccount.AddAccountForLocalization(StTradeInvestmVincName(), '530'); + ContosoGLAccount.AddAccountForLocalization(StTradeInvestmGName(), '5303'); + ContosoGLAccount.AddAccountForLocalization(StTradeInvestmAName(), '5304'); + ContosoGLAccount.AddAccountForLocalization(StTradeInvestmOthName(), '5305'); + ContosoGLAccount.AddAccountForLocalization(StFixedIncomeSecVincName(), '531'); + ContosoGLAccount.AddAccountForLocalization(StFixedIncomeSecGName(), '5313'); + ContosoGLAccount.AddAccountForLocalization(StFixedIncomeSecAName(), '5314'); + ContosoGLAccount.AddAccountForLocalization(StFixedIncomeSecOthName(), '5315'); + ContosoGLAccount.AddAccountForLocalization(StLoansToVincCompName(), '532'); + ContosoGLAccount.AddAccountForLocalization(StLoansToGroupCName(), '5323'); + ContosoGLAccount.AddAccountForLocalization(StLoansToACompName(), '5324'); + ContosoGLAccount.AddAccountForLocalization(StLoansToOtherVincCName(), '5325'); + ContosoGLAccount.AddAccountForLocalization(FinInvestmInterestVincName(), '533'); + ContosoGLAccount.AddAccountForLocalization(FinInvestmInterestGName(), '5333'); + ContosoGLAccount.AddAccountForLocalization(FinInvestmInterestsAName(), '5334'); + ContosoGLAccount.AddAccountForLocalization(FinInvestmInterestsOthName(), '5335'); + ContosoGLAccount.AddAccountForLocalization(StInterestCreditsToVincName(), '534'); + ContosoGLAccount.AddAccountForLocalization(StInterestCreditsGName(), '5343'); + ContosoGLAccount.AddAccountForLocalization(StInterestCreditsAName(), '5344'); + ContosoGLAccount.AddAccountForLocalization(StInterestCreditsOthName(), '5345'); + ContosoGLAccount.AddAccountForLocalization(DividReceivFinInvInVincName(), '535'); + ContosoGLAccount.AddAccountForLocalization(DividReceivFinInvGName(), '5353'); + ContosoGLAccount.AddAccountForLocalization(DividReceivFinInvAName(), '5354'); + ContosoGLAccount.AddAccountForLocalization(DividReceivFinInvOthName(), '5355'); + ContosoGLAccount.AddAccountForLocalization(StDemandExpendEqVincName(), '539'); + ContosoGLAccount.AddAccountForLocalization(StDemandExpendEqGName(), '5393'); + ContosoGLAccount.AddAccountForLocalization(StDemandExpendEqAName(), '5394'); + ContosoGLAccount.AddAccountForLocalization(StDemandExpendEqOthName(), '5395'); + ContosoGLAccount.AddAccountForLocalization(InterimFinancialInvestmName(), '54'); + ContosoGLAccount.AddAccountForLocalization(InvestmentsInCapitalInstName(), '540'); + ContosoGLAccount.AddAccountForLocalization(StFixedIncomeSecurityName(), '541'); + ContosoGLAccount.AddAccountForLocalization(StFixedIncomeInvestmName(), '5410001'); + ContosoGLAccount.AddAccountForLocalization(ShortTermLoansHeadingName(), '542'); + ContosoGLAccount.AddAccountForLocalization(StFaTransferenceLoansName(), '543'); + ContosoGLAccount.AddAccountForLocalization(StaffStCreditsName(), '544'); + ContosoGLAccount.AddAccountForLocalization(DividendsReceivableName(), '545'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesStInterestsName(), '546'); + ContosoGLAccount.AddAccountForLocalization(StCreditsInterestsName(), '547'); + ContosoGLAccount.AddAccountForLocalization(ShortTermTaxationsName(), '548'); + ContosoGLAccount.AddAccountForLocalization(StAmtsUncalledOnSharesName(), '549'); + ContosoGLAccount.AddAccountForLocalization(OtherNonBankAccountsName(), '55'); + ContosoGLAccount.AddAccountForLocalization(ProprietorsAccountName(), '550'); + ContosoGLAccount.AddAccountForLocalization(PartnAdministrCheckingAccName(), '551'); + ContosoGLAccount.AddAccountForLocalization(OthersCheckingAccName(), '552'); + ContosoGLAccount.AddAccountForLocalization(GroupVincCheckingAccName(), '5523'); + ContosoGLAccount.AddAccountForLocalization(AsocVincCheckingAccName(), '5524'); + ContosoGLAccount.AddAccountForLocalization(OthersVincCheckingAccName(), '5525'); + ContosoGLAccount.AddAccountForLocalization(MergeAndSplitCheckAccName(), '553'); + ContosoGLAccount.AddAccountForLocalization(PartnersDissolvedSocietyName(), '5530'); + ContosoGLAccount.AddAccountForLocalization(PartnersMergeAccName(), '5531'); + ContosoGLAccount.AddAccountForLocalization(PartnersSplitSocietyName(), '5532'); + ContosoGLAccount.AddAccountForLocalization(PartnersSplitAccName(), '5533'); + ContosoGLAccount.AddAccountForLocalization(TemporaryJoinsChecAccName(), '554'); + ContosoGLAccount.AddAccountForLocalization(UnappliedItemsName(), '555'); + ContosoGLAccount.AddAccountForLocalization(DemandExpendOnEquityName(), '556'); + ContosoGLAccount.AddAccountForLocalization(DemandExpendEqGroupName(), '5563'); + ContosoGLAccount.AddAccountForLocalization(DemandExpendEqAsocName(), '5564'); + ContosoGLAccount.AddAccountForLocalization(DemandExpendEqOtVinName(), '5565'); + ContosoGLAccount.AddAccountForLocalization(DemandExpendEqOthersName(), '5566'); + ContosoGLAccount.AddAccountForLocalization(InterimActiveDividendsName(), '557'); + ContosoGLAccount.AddAccountForLocalization(SharehPaymentCallableName(), '558'); + ContosoGLAccount.AddAccountForLocalization(SharehPayCallSharesOrGName(), '5580'); + ContosoGLAccount.AddAccountForLocalization(SharehPayCallFinLiabName(), '5585'); + ContosoGLAccount.AddAccountForLocalization(DerivativeInstrumentStName(), '559'); + ContosoGLAccount.AddAccountForLocalization(StFinDerivAssetsPortfolioName(), '5590'); + ContosoGLAccount.AddAccountForLocalization(AssetsDerivInstStCovInsName(), '5593'); + ContosoGLAccount.AddAccountForLocalization(LiabDerivInstStPortfolioName(), '5595'); + ContosoGLAccount.AddAccountForLocalization(LiabDerivInstStCovInsName(), '5598'); + ContosoGLAccount.AddAccountForLocalization(SecDepositsReceivGuarantName(), '56'); + ContosoGLAccount.AddAccountForLocalization(ShortTermGuaranteesReceivName(), '560'); + ContosoGLAccount.AddAccountForLocalization(ShortTermDepositsReceivName(), '561'); + ContosoGLAccount.AddAccountForLocalization(ShortTermGuaranteedSecName(), '565'); + ContosoGLAccount.AddAccountForLocalization(ShortTermGuarantDepositsName(), '566'); + ContosoGLAccount.AddAccountForLocalization(InterestPaidInAdvanceName(), '567'); + ContosoGLAccount.AddAccountForLocalization(InterestReceivedInAdvanceName(), '568'); + ContosoGLAccount.AddAccountForLocalization(FinancialGuaranteesStName(), '569'); + ContosoGLAccount.AddAccountForLocalization(CashFlowName(), '57'); + ContosoGLAccount.AddAccountForLocalization(CashEuroHeadingName(), '570'); + ContosoGLAccount.AddAccountForLocalization(CashEuroName(), ''); + ContosoGLAccount.AddAccountForLocalization(CashForeignCurrencyName(), '571'); + ContosoGLAccount.AddAccountForLocalization(BanksAccountAtSightEuroName(), '572'); + ContosoGLAccount.AddAccountForLocalization(BanksEuroName(), '5720001'); + ContosoGLAccount.AddAccountForLocalization(BanksAccAtSightFCurrName(), '573'); + ContosoGLAccount.AddAccountForLocalization(BanksForeignCurrencyName(), '5730001'); + ContosoGLAccount.AddAccountForLocalization(BanksSavingAccEuroName(), '574'); + ContosoGLAccount.AddAccountForLocalization(SavingAccountName(), '5740001'); + ContosoGLAccount.AddAccountForLocalization(BanksSavingAccForCurrName(), '575'); + ContosoGLAccount.AddAccountForLocalization(HighLiqStInvestmName(), '576'); + ContosoGLAccount.AddAccountForLocalization(NonCurrentAssetsForSaleName(), '58'); + ContosoGLAccount.AddAccountForLocalization(InvestmWithVincCompName(), '581'); + ContosoGLAccount.AddAccountForLocalization(FinancialInvestmentsName(), '582'); + ContosoGLAccount.AddAccountForLocalization(InventoryTradeDebtorsName(), '583'); + ContosoGLAccount.AddAccountForLocalization(OtherAssetsName(), '584'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsName(), '585'); + ContosoGLAccount.AddAccountForLocalization(SpecialCharactDebtsName(), '586'); + ContosoGLAccount.AddAccountForLocalization(DebtsWithVincCompName(), '587'); + ContosoGLAccount.AddAccountForLocalization(TradeCreditorsAndOthPayName(), '588'); + ContosoGLAccount.AddAccountForLocalization(DetValueFinancialProductsName(), '59'); + ContosoGLAccount.AddAccountForLocalization(DetValueStPartVincName(), '593'); + ContosoGLAccount.AddAccountForLocalization(DetValueStPartGName(), '5933'); + ContosoGLAccount.AddAccountForLocalization(DetValueStPartAName(), '5934'); + ContosoGLAccount.AddAccountForLocalization(DetValueStSecVincCName(), '594'); + ContosoGLAccount.AddAccountForLocalization(DetValueStSecGName(), '5943'); + ContosoGLAccount.AddAccountForLocalization(DetValueStSecAName(), '5944'); + ContosoGLAccount.AddAccountForLocalization(DetValueStSecOVinName(), '5945'); + ContosoGLAccount.AddAccountForLocalization(DetValueStCreditsToVincName(), '595'); + ContosoGLAccount.AddAccountForLocalization(DetValueStCreditsToGName(), '5953'); + ContosoGLAccount.AddAccountForLocalization(DetValueStCreditsToAsName(), '5954'); + ContosoGLAccount.AddAccountForLocalization(DetValueStCreditsToOtVName(), '5955'); + ContosoGLAccount.AddAccountForLocalization(DetValueStSecuritiesName(), '597'); + ContosoGLAccount.AddAccountForLocalization(DetValueStCreditsName(), '598'); + ContosoGLAccount.AddAccountForLocalization(DetValNoncurrAForSaleName(), '599'); + ContosoGLAccount.AddAccountForLocalization(DetValFixNoncAForSaleName(), '5990'); + ContosoGLAccount.AddAccountForLocalization(DetValRelatedInvesForSaleName(), '5991'); + ContosoGLAccount.AddAccountForLocalization(DetValFinInvestForSaleName(), '5992'); + ContosoGLAccount.AddAccountForLocalization(DetValStocksDebtsAndOthName(), '5993'); + ContosoGLAccount.AddAccountForLocalization(DetValOtherAForSaleName(), '5994'); + ContosoGLAccount.AddAccountForLocalization(CostAndExpenseAccountsName(), '6'); + ContosoGLAccount.AddAccountForLocalization(PurchasesName(), '60'); + ContosoGLAccount.AddAccountForLocalization(PurchasesOfGoodsForResaleName(), '600'); + ContosoGLAccount.AddAccountForLocalization(NationalPurchasesName(), '6000001'); + ContosoGLAccount.AddAccountForLocalization(EuPurchasesName(), '6000002'); + ContosoGLAccount.AddAccountForLocalization(IntNonEuPurchName(), '6000003'); + ContosoGLAccount.AddAccountForLocalization(PurchForRawMaterialsName(), '601'); + ContosoGLAccount.AddAccountForLocalization(PurchForNatRawMatName(), '6010001'); + ContosoGLAccount.AddAccountForLocalization(PurchForEuRawMatName(), '6010002'); + ContosoGLAccount.AddAccountForLocalization(PurchIntNonEuRawMatName(), '6010003'); + ContosoGLAccount.AddAccountForLocalization(PurchasesForConsumablesName(), '602'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowedOnPurchName(), '606'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurchFinGoodsName(), '6060'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurFinGoodNName(), '6060001'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurFinGoodEuName(), '6060002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurFinGoodIName(), '6060003'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurchRawMatName(), '6061'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurcRawMatNName(), '6061001'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurcRawMatEuName(), '6061002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurcRawMatIName(), '6061003'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurchOthersName(), '6062'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurcOthersNName(), '6062001'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurcOthersEuName(), '6062002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnPurcOthersIName(), '6062003'); + ContosoGLAccount.AddAccountForLocalization(WorkDoneByOtherCompName(), '607'); + ContosoGLAccount.AddAccountForLocalization(PurchaseReturnsName(), '608'); + ContosoGLAccount.AddAccountForLocalization(GoodsPurchasedReturnsName(), '6080'); + ContosoGLAccount.AddAccountForLocalization(NationalReturnsName(), '6080001'); + ContosoGLAccount.AddAccountForLocalization(EuReturnsName(), '6080002'); + ContosoGLAccount.AddAccountForLocalization(InternationalNonEuRetName(), '6080003'); + ContosoGLAccount.AddAccountForLocalization(MiscellaneousReturnsName(), '6080004'); + ContosoGLAccount.AddAccountForLocalization(RawMatPurchasedReturnsName(), '6081'); + ContosoGLAccount.AddAccountForLocalization(ConsumPurchasedReturnsName(), '6082'); + ContosoGLAccount.AddAccountForLocalization(PurchasesReturnAllowName(), '609'); + ContosoGLAccount.AddAccountForLocalization(GoodsPurchReturnAllowName(), '6090'); + ContosoGLAccount.AddAccountForLocalization(ReturnAndAllowOnGoodsName(), '6090001'); + ContosoGLAccount.AddAccountForLocalization(RawMatPurchRetAllowName(), '6091'); + ContosoGLAccount.AddAccountForLocalization(ReturnAllowOnRawMatName(), '6091001'); + ContosoGLAccount.AddAccountForLocalization(ConsumPurchRetAllowName(), '6092'); + ContosoGLAccount.AddAccountForLocalization(ChangesInStockHeadingName(), '61'); + ContosoGLAccount.AddAccountForLocalization(ChangesInStockName(), '610'); + ContosoGLAccount.AddAccountForLocalization(ChangesInStockPostingName(), '6100001'); + ContosoGLAccount.AddAccountForLocalization(ChangesInRawMaterialsHeadingName(), '611'); + ContosoGLAccount.AddAccountForLocalization(ChangesInRawMaterialsName(), '6110001'); + ContosoGLAccount.AddAccountForLocalization(ChgInSuppOtherConsumName(), '612'); + ContosoGLAccount.AddAccountForLocalization(ExternalChargesForServicesName(), '62'); + ContosoGLAccount.AddAccountForLocalization(ResearchAndDevelopmentName(), '620'); + ContosoGLAccount.AddAccountForLocalization(ProjectsName(), '6200001'); + ContosoGLAccount.AddAccountForLocalization(LeaseAndRoyaltiesName(), '621'); + ContosoGLAccount.AddAccountForLocalization(LeaseChargesPostingName(), '6210001'); + ContosoGLAccount.AddAccountForLocalization(MaintenancesAndRepairsName(), '622'); + ContosoGLAccount.AddAccountForLocalization(RepairsName(), '6220001'); + ContosoGLAccount.AddAccountForLocalization(ProfessionalServicesName(), '623'); + ContosoGLAccount.AddAccountForLocalization(InternalResourcesName(), '6230001'); + ContosoGLAccount.AddAccountForLocalization(ConsultingName(), '6230002'); + ContosoGLAccount.AddAccountForLocalization(ProfessionalAdvisoryServicesName(), '6230003'); + ContosoGLAccount.AddAccountForLocalization(ProjectCostsRetailName(), '6230004'); + ContosoGLAccount.AddAccountForLocalization(ProjectCostsAdjustmentName(), '6230005'); + ContosoGLAccount.AddAccountForLocalization(ProjectCostsRecognizedName(), '6230006'); + ContosoGLAccount.AddAccountForLocalization(ProjectsCostsRawMaterialName(), '6230007'); + ContosoGLAccount.AddAccountForLocalization(ProjectsCostsResourcesName(), '6230008'); + ContosoGLAccount.AddAccountForLocalization(TransportationHeadingName(), '624'); + ContosoGLAccount.AddAccountForLocalization(TransportationName(), '6240001'); + ContosoGLAccount.AddAccountForLocalization(FuelName(), '6240002'); + ContosoGLAccount.AddAccountForLocalization(InsurancePremiumsHeadingName(), '625'); + ContosoGLAccount.AddAccountForLocalization(InsurancePremiumsName(), '6250001'); + ContosoGLAccount.AddAccountForLocalization(BankingServicesHeadingName(), '626'); + ContosoGLAccount.AddAccountForLocalization(BankingServicesName(), '6260001'); + ContosoGLAccount.AddAccountForLocalization(AdvertisingPublicRelationsName(), '627'); + ContosoGLAccount.AddAccountForLocalization(SuppliesName(), '628'); + ContosoGLAccount.AddAccountForLocalization(ElectricityName(), '6280001'); + ContosoGLAccount.AddAccountForLocalization(WaterName(), '6280002'); + ContosoGLAccount.AddAccountForLocalization(OtherSuppliesName(), '6280010'); + ContosoGLAccount.AddAccountForLocalization(OtherServicesHeadingName(), '629'); + ContosoGLAccount.AddAccountForLocalization(OtherServicesName(), '6290001'); + ContosoGLAccount.AddAccountForLocalization(OtherBusinessExpensesName(), '6290003'); + ContosoGLAccount.AddAccountForLocalization(TaxName(), '63'); + ContosoGLAccount.AddAccountForLocalization(ProfitTaxHeadingName(), '630'); + ContosoGLAccount.AddAccountForLocalization(RunningTaxName(), '6300'); + ContosoGLAccount.AddAccountForLocalization(ProfitTaxName(), '6300001'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxName(), '6301'); + ContosoGLAccount.AddAccountForLocalization(OtherTaxesHeadingName(), '631'); + ContosoGLAccount.AddAccountForLocalization(OtherTaxesName(), '6310001'); + ContosoGLAccount.AddAccountForLocalization(NegativeAdjustmOnProfitsName(), '633'); + ContosoGLAccount.AddAccountForLocalization(NegativeAdjustmIndivTaxName(), '634'); + ContosoGLAccount.AddAccountForLocalization(NegativeAdjustmRunningActName(), '6341'); + ContosoGLAccount.AddAccountForLocalization(NegativeAdjustmInvestTaxName(), '6342'); + ContosoGLAccount.AddAccountForLocalization(TaxRefundsName(), '636'); + ContosoGLAccount.AddAccountForLocalization(PositiveAdjustmOnProfitsName(), '638'); + ContosoGLAccount.AddAccountForLocalization(PositiveAdjustmIndivTaxName(), '639'); + ContosoGLAccount.AddAccountForLocalization(PositiveAdjustmRunningActName(), '6391'); + ContosoGLAccount.AddAccountForLocalization(PositiveAdjustmInvestTaxName(), '6392'); + ContosoGLAccount.AddAccountForLocalization(WagesAndSalariesHeadingName(), '640'); + ContosoGLAccount.AddAccountForLocalization(WagesAndSalariesName(), '6400001'); + ContosoGLAccount.AddAccountForLocalization(PrizesName(), '6400002'); + ContosoGLAccount.AddAccountForLocalization(PensionFundsName(), '6400003'); + ContosoGLAccount.AddAccountForLocalization(CompensationsName(), '641'); + ContosoGLAccount.AddAccountForLocalization(SocialSecPaidByCompanyHeadingName(), '642'); + ContosoGLAccount.AddAccountForLocalization(SocialSecPaidByCompanyName(), '6420001'); + ContosoGLAccount.AddAccountForLocalization(LtFeeInFixedContribSistName(), '643'); + ContosoGLAccount.AddAccountForLocalization(LtFeeInFixedProvisionSisName(), '644'); + ContosoGLAccount.AddAccountForLocalization(AnnualContributionsName(), '6440'); + ContosoGLAccount.AddAccountForLocalization(OtherCostsName(), '6442'); + ContosoGLAccount.AddAccountForLocalization(FeesByEquityProductsName(), '645'); + ContosoGLAccount.AddAccountForLocalization(PersonnelRetEqProdName(), '6450'); + ContosoGLAccount.AddAccountForLocalization(PersonnelRetCashEqProdName(), '6457'); + ContosoGLAccount.AddAccountForLocalization(OtherSocialExpensesName(), '649'); + ContosoGLAccount.AddAccountForLocalization(BadDebtLossesName(), '650'); + ContosoGLAccount.AddAccountForLocalization(PartnershipsAndOthersName(), '651'); + ContosoGLAccount.AddAccountForLocalization(TransferredProfitAdminName(), '6510'); + ContosoGLAccount.AddAccountForLocalization(TransferredLossParticipantName(), '6511'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingLossesName(), '659'); + ContosoGLAccount.AddAccountForLocalization(FinancialExpensesName(), '66'); + ContosoGLAccount.AddAccountForLocalization(FinExpProvUpdatesName(), '660'); + ContosoGLAccount.AddAccountForLocalization(InterestDebentLoansName(), '661'); + ContosoGLAccount.AddAccountForLocalization(LtInterestDebentLoansGName(), '6610'); + ContosoGLAccount.AddAccountForLocalization(LtInterestDebentLoansAName(), '6611'); + ContosoGLAccount.AddAccountForLocalization(LtInterestDebentLoansOvName(), '6612'); + ContosoGLAccount.AddAccountForLocalization(LtInterestDebentLoansOtName(), '6613'); + ContosoGLAccount.AddAccountForLocalization(StInterestDebentLoansGName(), '6615'); + ContosoGLAccount.AddAccountForLocalization(StInterestDebentLoansAName(), '6616'); + ContosoGLAccount.AddAccountForLocalization(StInterestDebentLoansOvName(), '6617'); + ContosoGLAccount.AddAccountForLocalization(StInterestDebentLoansOtName(), '6618'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestName(), '662'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestGroupName(), '6620'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestAssocName(), '6621'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestOtVincName(), '6622'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestFinInsName(), '6623'); + ContosoGLAccount.AddAccountForLocalization(DebtInterestOtherName(), '6624'); + ContosoGLAccount.AddAccountForLocalization(LossesFinInstValueFVName(), '663'); + ContosoGLAccount.AddAccountForLocalization(PortfolioLossesName(), '6630'); + ContosoGLAccount.AddAccountForLocalization(LossesAssignByCompName(), '6631'); + ContosoGLAccount.AddAccountForLocalization(LossesAvailForSaleName(), '6632'); + ContosoGLAccount.AddAccountForLocalization(CoverageInstLossesName(), '6633'); + ContosoGLAccount.AddAccountForLocalization(DividendLiabilityName(), '664'); + ContosoGLAccount.AddAccountForLocalization(DividendLiabilityGName(), '6640'); + ContosoGLAccount.AddAccountForLocalization(DividendLiabilityAName(), '6641'); + ContosoGLAccount.AddAccountForLocalization(DividendLiabilityOVinName(), '6642'); + ContosoGLAccount.AddAccountForLocalization(DividendLiabilityOthName(), '6643'); + ContosoGLAccount.AddAccountForLocalization(InterestOnBillsDiscName(), '665'); + ContosoGLAccount.AddAccountForLocalization(IntOnBillsDiscFinInsGName(), '6650'); + ContosoGLAccount.AddAccountForLocalization(IntOnBillsDiscFinInsAName(), '6651'); + ContosoGLAccount.AddAccountForLocalization(IntOnBillsDiscFinInsVName(), '6652'); + ContosoGLAccount.AddAccountForLocalization(InterestOnBillsDiscOthName(), '6653'); + ContosoGLAccount.AddAccountForLocalization(InterestOnBillsDiscountedName(), '6653001'); + ContosoGLAccount.AddAccountForLocalization(FactOpInterBanksGName(), '6654'); + ContosoGLAccount.AddAccountForLocalization(FactOpInterBanksAName(), '6655'); + ContosoGLAccount.AddAccountForLocalization(FactOpInterBanksVName(), '6656'); + ContosoGLAccount.AddAccountForLocalization(FactOpInterOtherBanksHeadingName(), '6657'); + ContosoGLAccount.AddAccountForLocalization(FactOpInterOtherBanksName(), '6657001'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesLossName(), '666'); + ContosoGLAccount.AddAccountForLocalization(LtSecuritiesLossGName(), '6660'); + ContosoGLAccount.AddAccountForLocalization(LtSecuritiesLossAName(), '6661'); + ContosoGLAccount.AddAccountForLocalization(LtSecuritiesLossOVinName(), '6662'); + ContosoGLAccount.AddAccountForLocalization(LtSecuritiesLossOthName(), '6663'); + ContosoGLAccount.AddAccountForLocalization(StSecuritiesLossGName(), '6665'); + ContosoGLAccount.AddAccountForLocalization(StSecuritiesLossAName(), '6666'); + ContosoGLAccount.AddAccountForLocalization(StSecuritiesLossOVinName(), '6667'); + ContosoGLAccount.AddAccountForLocalization(StSecuritiesLossOthName(), '6668'); + ContosoGLAccount.AddAccountForLocalization(LoanLossName(), '667'); + ContosoGLAccount.AddAccountForLocalization(LtLoanLossGName(), '6670'); + ContosoGLAccount.AddAccountForLocalization(LtLoanLossAName(), '6671'); + ContosoGLAccount.AddAccountForLocalization(LtLoanLossOVinName(), '6672'); + ContosoGLAccount.AddAccountForLocalization(LtLoanLossOthName(), '6673'); + ContosoGLAccount.AddAccountForLocalization(StLoanLossGName(), '6675'); + ContosoGLAccount.AddAccountForLocalization(StLoanLossAName(), '6676'); + ContosoGLAccount.AddAccountForLocalization(StLoanLossOVinName(), '6677'); + ContosoGLAccount.AddAccountForLocalization(StLoanLossOthName(), '6678'); + ContosoGLAccount.AddAccountForLocalization(RealizedLossesOnExchangeHeadingName(), '668'); + ContosoGLAccount.AddAccountForLocalization(RealLossExchInternEurHeadingName(), '6680'); + ContosoGLAccount.AddAccountForLocalization(RealLossExchInternEurName(), '6680001'); + ContosoGLAccount.AddAccountForLocalization(OtherRealLossesOnExchName(), '6681'); + ContosoGLAccount.AddAccountForLocalization(RealizedLossesOnExchangeName(), '6681001'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialExpensesHeadingExpensesName(), '669'); + ContosoGLAccount.AddAccountForLocalization(ExpenOnRoundOffEurHeadingName(), '6690'); + ContosoGLAccount.AddAccountForLocalization(ExpenOnRoundOffEurName(), '6690001'); + ContosoGLAccount.AddAccountForLocalization(NegativeBalanceOnSettlName(), '6690002'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialExpensesHeadingName(), '6691'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialExpensesName(), '6691001'); + ContosoGLAccount.AddAccountForLocalization(OtherFinExpBillRejectName(), '6691002'); + ContosoGLAccount.AddAccountForLocalization(ExcepExtrItemsExpName(), '67'); + ContosoGLAccount.AddAccountForLocalization(LossOnIntangATransfName(), '670'); + ContosoGLAccount.AddAccountForLocalization(LossOnTangAssetsTransfHeadingName(), '671'); + ContosoGLAccount.AddAccountForLocalization(LossOnTangAssetsTransfName(), '6710001'); + ContosoGLAccount.AddAccountForLocalization(LossOnPropertiesInvestmName(), '672'); + ContosoGLAccount.AddAccountForLocalization(LossOnLtEqInvestVinCName(), '673'); + ContosoGLAccount.AddAccountForLocalization(LossOnLtEqInvestGName(), '6733'); + ContosoGLAccount.AddAccountForLocalization(LossOnLtEqInvestAName(), '6734'); + ContosoGLAccount.AddAccountForLocalization(LossOnLtEqInvestOVinName(), '6735'); + ContosoGLAccount.AddAccountForLocalization(LossOnDebentLoansName(), '675'); + ContosoGLAccount.AddAccountForLocalization(DeprecAmortizOfFaName(), '68'); + ContosoGLAccount.AddAccountForLocalization(DeprOfIntangAssetsName(), '680'); + ContosoGLAccount.AddAccountForLocalization(DeprOfTangAssetsHeadingName(), '681'); + ContosoGLAccount.AddAccountForLocalization(DeprOfTangAssetsName(), '6810001'); + ContosoGLAccount.AddAccountForLocalization(DeprOnPropertiesInvestmName(), '682'); + ContosoGLAccount.AddAccountForLocalization(DetLossesAndOthersName(), '69'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnIntangibleAName(), '690'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnTangibleAName(), '691'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnPropertiesInvestName(), '692'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnInventoryName(), '693'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnFinishAndWipName(), '6930'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnGoodsName(), '6931'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnRawMatName(), '6932'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnSupOtConsName(), '6933'); + ContosoGLAccount.AddAccountForLocalization(DetLossOnTradeCreditsName(), '694'); + ContosoGLAccount.AddAccountForLocalization(ProvForTradeTransactHeadingName(), '695'); + ContosoGLAccount.AddAccountForLocalization(OnerousContractsName(), '6954'); + ContosoGLAccount.AddAccountForLocalization(OtherTradeTransactName(), '6959'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtSecuritiesName(), '696'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCapitalInstGName(), '6960'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCapitalInstAName(), '6961'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCapitalInsOvName(), '6962'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCapitalInsOName(), '6963'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtSecGName(), '6965'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtSecAName(), '6966'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtSecOVinName(), '6967'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtSecOthName(), '6968'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCreditsName(), '697'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCreditsGName(), '6970'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCreditsAName(), '6971'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCreditsOVName(), '6972'); + ContosoGLAccount.AddAccountForLocalization(LossesDetLtCreditsOthName(), '6973'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStSecuritiesName(), '698'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCapitalInstGName(), '6980'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCapitalInstAName(), '6981'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCapitalInsOvName(), '6982'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCapitalInstOName(), '6983'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStSecuritiesGName(), '6985'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStSecuritiesAName(), '6986'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStSecuritiesOvName(), '6987'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStSecuritiesOName(), '6988'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCreditsName(), '699'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCreditsGName(), '6990'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCreditsAName(), '6991'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCreditsOVName(), '6992'); + ContosoGLAccount.AddAccountForLocalization(LossesDetStCreditsOthName(), '6993'); + ContosoGLAccount.AddAccountForLocalization(SalesAndIncomeName(), '7'); + ContosoGLAccount.AddAccountForLocalization(GoodsSalesServicesName(), '70'); + ContosoGLAccount.AddAccountForLocalization(GoodsSalesHeadingName(), '700'); + ContosoGLAccount.AddAccountForLocalization(GoodsSalesName(), '7000'); + ContosoGLAccount.AddAccountForLocalization(NationalGoodsSalesName(), '7000001'); + ContosoGLAccount.AddAccountForLocalization(GoodsSalesEuName(), '7000002'); + ContosoGLAccount.AddAccountForLocalization(IntNonEuGoodsSalesName(), '7000003'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsSalesName(), '7001'); + ContosoGLAccount.AddAccountForLocalization(NationalRawMatSalesName(), '7001001'); + ContosoGLAccount.AddAccountForLocalization(EuRawMaterialsSalesName(), '7001002'); + ContosoGLAccount.AddAccountForLocalization(IntRawMatSalesName(), '7001003'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsSalesName(), '701'); + ContosoGLAccount.AddAccountForLocalization(SemiManufPartsSalesName(), '702'); + ContosoGLAccount.AddAccountForLocalization(ByProductsScrapSalesName(), '703'); + ContosoGLAccount.AddAccountForLocalization(RetEmpPackSalesName(), '704'); + ContosoGLAccount.AddAccountForLocalization(ProvisionOfServicesHeadingName(), '705'); + ContosoGLAccount.AddAccountForLocalization(ProvisionOfServicesName(), '7050001'); + ContosoGLAccount.AddAccountForLocalization(InternalResourcesPostingName(), '7050002'); + ContosoGLAccount.AddAccountForLocalization(ProjectsSalesName(), '7050003'); + ContosoGLAccount.AddAccountForLocalization(OtherServicesPostingName(), '7050004'); + ContosoGLAccount.AddAccountForLocalization(ProjectsSalesAdjustmentName(), '7050005'); + ContosoGLAccount.AddAccountForLocalization(ProjectsSalesRecognizedName(), '7050006'); + ContosoGLAccount.AddAccountForLocalization(NationalServicesName(), '7050011'); + ContosoGLAccount.AddAccountForLocalization(EuServicesName(), '7050012'); + ContosoGLAccount.AddAccountForLocalization(IntServicesNonEuName(), '7050013'); + ContosoGLAccount.AddAccountForLocalization(TotalSaleOfServContractsName(), '7051'); + ContosoGLAccount.AddAccountForLocalization(ServiceContractSaleName(), '7051001'); + ContosoGLAccount.AddAccountForLocalization(SalesOfServiceContractsName(), '7051002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowedOnSalesName(), '706'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowedOnSalesGoodsName(), '7060'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSalesGoodsNName(), '7060001'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSalesGoodsEuName(), '7060002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSalesGoodsIName(), '7060003'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSalesFinGoodsName(), '7061'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSalFinGoodsNName(), '7061001'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSFinGoodsEuName(), '7061002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSFinGoodsIName(), '7061003'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSalesSemiManufName(), '7062'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSSemiManufNName(), '7062001'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSSemiManufEuName(), '7062002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllowOnSSemiManufIName(), '7062003'); + ContosoGLAccount.AddAccountForLocalization(DiscAllOnSalProdScrapRetName(), '7063'); + ContosoGLAccount.AddAccountForLocalization(DiscAllOnSProdScrRetNName(), '7063001'); + ContosoGLAccount.AddAccountForLocalization(DiscAllOnSProdScrRetEuName(), '7063002'); + ContosoGLAccount.AddAccountForLocalization(DiscAllOnSProdScrRetIName(), '7063003'); + ContosoGLAccount.AddAccountForLocalization(SalesReturnsName(), '708'); + ContosoGLAccount.AddAccountForLocalization(GoodsReturnsName(), '7080'); + ContosoGLAccount.AddAccountForLocalization(NationalReturnsPostingName(), '7080001'); + ContosoGLAccount.AddAccountForLocalization(EuReturnsPostingName(), '7080002'); + ContosoGLAccount.AddAccountForLocalization(IntNonEuReturnsName(), '7080003'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsReturnsName(), '7081'); + ContosoGLAccount.AddAccountForLocalization(SemiManufPartsReturnsName(), '7082'); + ContosoGLAccount.AddAccountForLocalization(ByProductsScrapReturnsName(), '7083'); + ContosoGLAccount.AddAccountForLocalization(RetEmpPackReturnsName(), '7084'); + ContosoGLAccount.AddAccountForLocalization(SalesReturnAllowName(), '709'); + ContosoGLAccount.AddAccountForLocalization(GoodsSalesReturnAllowHeadingName(), '7090'); + ContosoGLAccount.AddAccountForLocalization(GoodsSalesReturnAllowName(), '7090001'); + ContosoGLAccount.AddAccountForLocalization(FinishGoodsSalesRetAllowName(), '7091'); + ContosoGLAccount.AddAccountForLocalization(SemiManPSalesRetAllowName(), '7092'); + ContosoGLAccount.AddAccountForLocalization(ByProdScrapSalesRetAllowName(), '7093'); + ContosoGLAccount.AddAccountForLocalization(RetEmpPackSalesRetAllowName(), '7094'); + ContosoGLAccount.AddAccountForLocalization(ChangesInStockIncomeName(), '71'); + ContosoGLAccount.AddAccountForLocalization(ChgsProdPrgManufGoodsName(), '710'); + ContosoGLAccount.AddAccountForLocalization(ChgsInSemiManufPartsName(), '711'); + ContosoGLAccount.AddAccountForLocalization(ChangesInFinishedGoodsName(), '712'); + ContosoGLAccount.AddAccountForLocalization(ChgsInByProdOrScrapName(), '713'); + ContosoGLAccount.AddAccountForLocalization(WorksDoneForTheCompName(), '73'); + ContosoGLAccount.AddAccountForLocalization(WorkDoneOnIntangAName(), '730'); + ContosoGLAccount.AddAccountForLocalization(WorkDoneOnTangibleAHeadingName(), '731'); + ContosoGLAccount.AddAccountForLocalization(WorkDoneOnTangibleAName(), '7310001'); + ContosoGLAccount.AddAccountForLocalization(WorkDoneOnRealEstateInvesName(), '732'); + ContosoGLAccount.AddAccountForLocalization(WorkDoneIntgAInProgrName(), '733'); + ContosoGLAccount.AddAccountForLocalization(SubvGrantsAndAdjName(), '74'); + ContosoGLAccount.AddAccountForLocalization(SubvGrantsAndLegaciesName(), '740'); + ContosoGLAccount.AddAccountForLocalization(SubvGrantsAndLegResultName(), '746'); + ContosoGLAccount.AddAccountForLocalization(OtherSubvGrantsAndLegResName(), '747'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingIncomeName(), '75'); + ContosoGLAccount.AddAccountForLocalization(JointVenturesResultsName(), '751'); + ContosoGLAccount.AddAccountForLocalization(TransferredLossAdminName(), '7510'); + ContosoGLAccount.AddAccountForLocalization(TransferredProfitParticipName(), '7511'); + ContosoGLAccount.AddAccountForLocalization(LeaseChargesHeadingName(), '752'); + ContosoGLAccount.AddAccountForLocalization(RoyFConcessLicencTrdmrksName(), '753'); + ContosoGLAccount.AddAccountForLocalization(CommissionsHeadingName(), '754'); + ContosoGLAccount.AddAccountForLocalization(CommissionsName(), '7540001'); + ContosoGLAccount.AddAccountForLocalization(ServicesDoneToEmployeesName(), '755'); + ContosoGLAccount.AddAccountForLocalization(MiscellaneousServicesHeadingName(), '759'); + ContosoGLAccount.AddAccountForLocalization(MiscellaneousServicesName(), '7590001'); + ContosoGLAccount.AddAccountForLocalization(FinancialIncomeName(), '76'); + ContosoGLAccount.AddAccountForLocalization(IncFromEquityInvestmName(), '760'); + ContosoGLAccount.AddAccountForLocalization(IncFromEquityInvestmGName(), '7600'); + ContosoGLAccount.AddAccountForLocalization(IncFromEquityInvestmAName(), '7601'); + ContosoGLAccount.AddAccountForLocalization(IncFromEquityInvestmOVName(), '7602'); + ContosoGLAccount.AddAccountForLocalization(IncFromEquityInvestmOtName(), '7603'); + ContosoGLAccount.AddAccountForLocalization(IncDebtSecuritiesName(), '761'); + ContosoGLAccount.AddAccountForLocalization(IncDebtSecuritiesGName(), '7610'); + ContosoGLAccount.AddAccountForLocalization(IncDebtSecuritiesAName(), '7611'); + ContosoGLAccount.AddAccountForLocalization(IncDebtSecuritiesOVinName(), '7612'); + ContosoGLAccount.AddAccountForLocalization(IncDebtSecuritiesOthName(), '7613'); + ContosoGLAccount.AddAccountForLocalization(IncFromLoansName(), '762'); + ContosoGLAccount.AddAccountForLocalization(IncFromLtLoansName(), '7620'); + ContosoGLAccount.AddAccountForLocalization(IncFromLtLoansGName(), '76200'); + ContosoGLAccount.AddAccountForLocalization(IncFromLtLoansAName(), '76201'); + ContosoGLAccount.AddAccountForLocalization(IncFromLtLoansOtVinName(), '76202'); + ContosoGLAccount.AddAccountForLocalization(IncLtLoansOthName(), '76203'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromStLoansName(), '7621'); + ContosoGLAccount.AddAccountForLocalization(IncFromStLoansGName(), '76210'); + ContosoGLAccount.AddAccountForLocalization(IncFromStLoansAName(), '76211'); + ContosoGLAccount.AddAccountForLocalization(IncFromStLoansOtVinName(), '76212'); + ContosoGLAccount.AddAccountForLocalization(IncFromStLoansOthName(), '76213'); + ContosoGLAccount.AddAccountForLocalization(ProfitFinInstValueFVName(), '763'); + ContosoGLAccount.AddAccountForLocalization(ProfitPortfolioName(), '7630'); + ContosoGLAccount.AddAccountForLocalization(ProfitAssignByCompName(), '7631'); + ContosoGLAccount.AddAccountForLocalization(ProfitAvailForSaleName(), '7632'); + ContosoGLAccount.AddAccountForLocalization(ProfitCoverageInstrName(), '7633'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarketableSecuritiesName(), '766'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecLtGName(), '7660'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecLtAName(), '7661'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecLtOVinName(), '7662'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecLtOName(), '7663'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecStGName(), '7665'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecStAName(), '7666'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecStOVinName(), '7667'); + ContosoGLAccount.AddAccountForLocalization(ProfitMarkSecStOName(), '7668'); + ContosoGLAccount.AddAccountForLocalization(LtIncFaAndReimbRName(), '767'); + ContosoGLAccount.AddAccountForLocalization(ExchangeGainHeadingName(), '768'); + ContosoGLAccount.AddAccountForLocalization(ExchangeGainInternEurHeadingName(), '7680'); + ContosoGLAccount.AddAccountForLocalization(ExchangeGainInternEurName(), '7680001'); + ContosoGLAccount.AddAccountForLocalization(OtherExchangeGainsName(), '7681'); + ContosoGLAccount.AddAccountForLocalization(ExchangeGainPostingName(), '7681001'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialIncomeHeadingIncomeName(), '769'); + ContosoGLAccount.AddAccountForLocalization(IncomeOnRoundOffEurosHeadingName(), '7690'); + ContosoGLAccount.AddAccountForLocalization(IncomeOnRoundOffEurosName(), '7690001'); + ContosoGLAccount.AddAccountForLocalization(PositiveBalanceOnSettlName(), '7690002'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialIncomeHeadingName(), '7691'); + ContosoGLAccount.AddAccountForLocalization(OtherFinancialIncomeName(), '7691001'); + ContosoGLAccount.AddAccountForLocalization(ExcExtraordItemsIncName(), '77'); + ContosoGLAccount.AddAccountForLocalization(IntangibleAssetsProfitName(), '770'); + ContosoGLAccount.AddAccountForLocalization(TangibleAssetsProfitHeadingName(), '771'); + ContosoGLAccount.AddAccountForLocalization(TangibleAssetsProfitName(), '7710001'); + ContosoGLAccount.AddAccountForLocalization(PropertiesInvestmProfitName(), '772'); + ContosoGLAccount.AddAccountForLocalization(PrfOnLtEqInvestVinCName(), '773'); + ContosoGLAccount.AddAccountForLocalization(PrfOnLtEqInvestGName(), '7733'); + ContosoGLAccount.AddAccountForLocalization(PrfOnLtEqInvestAName(), '7734'); + ContosoGLAccount.AddAccountForLocalization(PrfOnLtEqInvestOtVinName(), '7735'); + ContosoGLAccount.AddAccountForLocalization(NegDifferencesMergingBussName(), '774'); + ContosoGLAccount.AddAccountForLocalization(ProfitOnDebentLoansName(), '775'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsAppliedName(), '79'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvForIntangAName(), '790'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvForTangAName(), '791'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvForPropInvestName(), '792'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvForInventoryName(), '793'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvFinishWipName(), '7930'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvForGoodsName(), '7931'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvForRawMatName(), '7932'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvForOtherMatName(), '7933'); + ContosoGLAccount.AddAccountForLocalization(RevDetTradeCreditsName(), '794'); + ContosoGLAccount.AddAccountForLocalization(ProvisionExcessName(), '795'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForPensionsIncomeName(), '7950'); + ContosoGLAccount.AddAccountForLocalization(TaxationReserveIncomeName(), '7951'); + ContosoGLAccount.AddAccountForLocalization(ProvisionForOtherResponName(), '7952'); + ContosoGLAccount.AddAccountForLocalization(ProvForTradeTransactIncomeName(), '7954'); + ContosoGLAccount.AddAccountForLocalization(OnerousContractsHeadingName(), '79544'); + ContosoGLAccount.AddAccountForLocalization(OtherTradeTransactHeadingName(), '79549'); + ContosoGLAccount.AddAccountForLocalization(ProvForEnvironmentalActIncomeName(), '7955'); + ContosoGLAccount.AddAccountForLocalization(ProvForRestructuringHeadingName(), '7956'); + ContosoGLAccount.AddAccountForLocalization(ProvPaymTranCapitalInstName(), '7957'); + ContosoGLAccount.AddAccountForLocalization(SurplProviForLtSecName(), '796'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCapitalInsGName(), '7960'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCapitalInsAName(), '7961'); + ContosoGLAccount.AddAccountForLocalization(SurplResrLtCapitalInsOvName(), '7962'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCapitalInsOName(), '7963'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtSecGName(), '7965'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtSecAName(), '7966'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtSecOVinName(), '7967'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtSecOthName(), '7968'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCreditsName(), '797'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCreditsGName(), '7970'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCreditsAName(), '7971'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCreditsOvName(), '7972'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvLtCreditsOtName(), '7973'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStSecuritiesName(), '798'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCapitalInsGName(), '7980'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCapitalInsAName(), '7981'); + ContosoGLAccount.AddAccountForLocalization(SurplResrStCapitalInsOvName(), '7982'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCapitalInsOName(), '7983'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStSecGName(), '7985'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStSecAName(), '7986'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStSecOVinName(), '7987'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStSecOthName(), '7988'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCreditsName(), '799'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCreditsGName(), '7990'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCreditsAName(), '7991'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCreditsOvName(), '7992'); + ContosoGLAccount.AddAccountForLocalization(SurplResrvStCreditsOtName(), '7993'); + ContosoGLAccount.AddAccountForLocalization(ExpensesChargedToCapitalName(), '8'); + ContosoGLAccount.AddAccountForLocalization(FinExpAssetsAndLiabValName(), '80'); + ContosoGLAccount.AddAccountForLocalization(LossesFinAForSaleName(), '800'); + ContosoGLAccount.AddAccountForLocalization(GainsTransFinAForSaleName(), '802'); + ContosoGLAccount.AddAccountForLocalization(ExpensesInCoverageOperName(), '81'); + ContosoGLAccount.AddAccountForLocalization(LossesCashFlowCoverageName(), '810'); + ContosoGLAccount.AddAccountForLocalization(LossesInvestCoverageAbroadName(), '811'); + ContosoGLAccount.AddAccountForLocalization(CashFlowCoverageGainsTransName(), '812'); + ContosoGLAccount.AddAccountForLocalization(InvestCovAbroadGainsTransfName(), '813'); + ContosoGLAccount.AddAccountForLocalization(ExpensesConversionDifferencName(), '82'); + ContosoGLAccount.AddAccountForLocalization(NegativeConvDifferencesName(), '820'); + ContosoGLAccount.AddAccountForLocalization(PositiveConvDiffTransferName(), '821'); + ContosoGLAccount.AddAccountForLocalization(ProfitTaxHeadingCapitalName(), '83'); + ContosoGLAccount.AddAccountForLocalization(ProfitTaxCapitalName(), '830'); + ContosoGLAccount.AddAccountForLocalization(RunningTaxHeadingName(), '8300'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxHeadingName(), '8301'); + ContosoGLAccount.AddAccountForLocalization(ProfitDepositNegativeAdjName(), '833'); + ContosoGLAccount.AddAccountForLocalization(FiscalIncomePermDifferName(), '834'); + ContosoGLAccount.AddAccountForLocalization(FiscalIncomeDeductionsName(), '835'); + ContosoGLAccount.AddAccountForLocalization(PermDifferTransfName(), '836'); + ContosoGLAccount.AddAccountForLocalization(DeducFiscalBenefTransfName(), '837'); + ContosoGLAccount.AddAccountForLocalization(ProfitDepositPositiveAdjName(), '838'); + ContosoGLAccount.AddAccountForLocalization(SubvGrantsAndLegTransfName(), '84'); + ContosoGLAccount.AddAccountForLocalization(OfficialSubvTransfName(), '840'); + ContosoGLAccount.AddAccountForLocalization(GrantsAndLegTransfName(), '841'); + ContosoGLAccount.AddAccountForLocalization(OtherSubvGrantsLegTransName(), '842'); + ContosoGLAccount.AddAccountForLocalization(LtLossAndAdjFeeExpensesName(), '85'); + ContosoGLAccount.AddAccountForLocalization(ActuarialLossesName(), '850'); + ContosoGLAccount.AddAccountForLocalization(NegAdjLtFeeFixedProvName(), '851'); + ContosoGLAccount.AddAccountForLocalization(NonCurrAssetsOnSaleExpName(), '86'); + ContosoGLAccount.AddAccountForLocalization(NonCurrAAndForSaleLosName(), '860'); + ContosoGLAccount.AddAccountForLocalization(NonCurrAAndSaleGTransName(), '862'); + ContosoGLAccount.AddAccountForLocalization(PartGOrACExpPosValAdjName(), '89'); + ContosoGLAccount.AddAccountForLocalization(LiabPartDetGName(), '891'); + ContosoGLAccount.AddAccountForLocalization(LiabPartDetAName(), '892'); + ContosoGLAccount.AddAccountForLocalization(IncomeChargedToCapitalName(), '9'); + ContosoGLAccount.AddAccountForLocalization(FinIncAssetsAndLiabValName(), '90'); + ContosoGLAccount.AddAccountForLocalization(GainsFinAForSaleName(), '900'); + ContosoGLAccount.AddAccountForLocalization(LossesTransfFinAForSaleName(), '902'); + ContosoGLAccount.AddAccountForLocalization(IncomeInCoverageOperName(), '91'); + ContosoGLAccount.AddAccountForLocalization(IncomeCashFlowCoverageName(), '910'); + ContosoGLAccount.AddAccountForLocalization(IncomeInvestCoverageAbroadName(), '911'); + ContosoGLAccount.AddAccountForLocalization(CashFlowCoverageLossTransfName(), '912'); + ContosoGLAccount.AddAccountForLocalization(InvestCovAbroadLossTransfName(), '913'); + ContosoGLAccount.AddAccountForLocalization(IncomeConversionDifferencesName(), '92'); + ContosoGLAccount.AddAccountForLocalization(PositiveConvDifferencesName(), '920'); + ContosoGLAccount.AddAccountForLocalization(NegativeConvDiffTransferName(), '921'); + ContosoGLAccount.AddAccountForLocalization(SubvGrantsAndLegIncomeName(), '94'); + ContosoGLAccount.AddAccountForLocalization(OfficialSubvIncomeName(), '940'); + ContosoGLAccount.AddAccountForLocalization(GrantsAndLegIncomeName(), '941'); + ContosoGLAccount.AddAccountForLocalization(OtherSubvGrantsAndLegIncName(), '942'); + ContosoGLAccount.AddAccountForLocalization(LtProfitAndAdjFeeIncomeName(), '95'); + ContosoGLAccount.AddAccountForLocalization(ActuarialGainsName(), '950'); + ContosoGLAccount.AddAccountForLocalization(PosAdjLtFeeFixedProvName(), '951'); + ContosoGLAccount.AddAccountForLocalization(NonCurrAssetsOnSaleIncName(), '96'); + ContosoGLAccount.AddAccountForLocalization(NonCurrAAndForSaleProfitName(), '960'); + ContosoGLAccount.AddAccountForLocalization(NonCurrAAndSaleLossTransName(), '962'); + ContosoGLAccount.AddAccountForLocalization(PartGOrACoIncPosValAdjName(), '99'); + ContosoGLAccount.AddAccountForLocalization(PrevNegAdjRecGName(), '991'); + ContosoGLAccount.AddAccountForLocalization(PrevNegAdjRecAName(), '992'); + ContosoGLAccount.AddAccountForLocalization(NegAdjDetValTransGName(), '993'); + ContosoGLAccount.AddAccountForLocalization(NegAdjDetValTransAName(), '994'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsHeadingName(), '31'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsHeadingAssetsName(), '310'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsAssetsPostingName(), '3100001'); + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + begin + ContosoGLAccount.SetOverwriteData(true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), CreateGLAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroups.Vat21(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PhoneandFax(), CreateGLAccount.PhoneandFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroups.Vat21(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroups.Vat21(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryExpenses(), CreateGLAccount.ExtraordinaryExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Miscellaneous(), CreateGLAccount.MiscellaneousName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroups.Vat21(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryIncome(), CreateGLAccount.ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroups.Vat21(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssets(), CreateGLAccount.FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DepreciationofFixedAssets(), CreateGLAccount.DepreciationofFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Inventory(), CreateGLAccount.InventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PersonnelExpenses(), CreateGLAccount.PersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherOperatingExpenses(), CreateGLAccount.OtherOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssets(), CreateGLAccount.FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BasicFinancing(), BasicFinancingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '1..19999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CapitalHeading(), CapitalHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '10..1099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShareCapitalHeading(), ShareCapitalHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '100..100999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShareCapitalPosting(), ShareCapitalPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SocialFund(), SocialFundName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '101..101999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Capital(), CapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '102..102999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersInvest(), PartnersInvestName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '103..103999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersInvestSCap(), PartnersInvestSCapName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1030..10309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersInvestPCap(), PartnersInvestPCapName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1034..10349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersPendNonmonetaryInv(), PartnersPendNonmonetaryInvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '104..104999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartPendNonmonInvSCap(), PartPendNonmonInvSCapName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1040..10409999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartPendNonmonInvPCap(), PartPendNonmonInvPCapName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1044..10449999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SharesSpecialSituations(), SharesSpecialSituationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '108..108999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SharesCapitalReductions(), SharesCapitalReductionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '109..109999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Reserves(), ReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '11..1199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SharePremium(), SharePremiumName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '110..110999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCapitalInstrHeading(), OtherCapitalInstrHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '111..111999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CapitalMixedFinInstr(), CapitalMixedFinInstrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1110..11109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCapitalInstr(), OtherCapitalInstrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1111..11119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LegalReserveHeading(), LegalReserveHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '112..112999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LegalReserve(), LegalReserveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VoluntaryReserves(), VoluntaryReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '113..113999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VoluntaryReserve(), VoluntaryReserveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SpecialReserves(), SpecialReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '114..114999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MajorPartnerSharesReserves(), MajorPartnerSharesReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1140..11409999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StatutoryReserves(), StatutoryReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1141..11419999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprCapitalReserve(), DeprCapitalReserveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1142..11429999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodwillReserves(), GoodwillReservesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1143..11439999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OwnSharesAsGuaranteeReser(), OwnSharesAsGuaranteeReserName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1144..11449999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainsLossReservesAndAdjHeading(), GainsLossReservesAndAdjHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '115..115999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainsLossReservesAndAdj(), GainsLossReservesAndAdjName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PartnersOrOwnerInvestments(), PartnersOrOwnerInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '118..118999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DifCapitalExchEuro(), DifCapitalExchEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '119..119999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(UnappliedResults(), UnappliedResultsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '12..1299999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedLosses(), AccumulatedLossesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '121..121999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitOrLossHeading(), ProfitOrLossHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '129..129999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitOrLoss(), ProfitOrLossName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SubvGrantsAndCurrExch(), SubvGrantsAndCurrExchName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '13..1399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficialSubvHeading(), OfficialSubvHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '130..130999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficialSubv(), OfficialSubvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GrantsAndLegaciesHeading(), GrantsAndLegaciesHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '131..131999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GrantsAndLegacies(), GrantsAndLegaciesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherSubvGrantsAndLegHeading(), OtherSubvGrantsAndLegHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '132..132999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherSubvGrantsAndLeg(), OtherSubvGrantsAndLegName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ValueAdjFinAForSaleHeading(), ValueAdjFinAForSaleHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '133..133999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ValueAdjFinAForSale(), ValueAdjFinAForSaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1330..13309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ValueAdjFinAForSalePosting(), ValueAdjFinAForSalePostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CoverageOperations(), CoverageOperationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '134..134999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashFlowCoverageHeading(), CashFlowCoverageHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1340..13409999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashFlowCoverage(), CashFlowCoverageName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NetInvestCovAbroadHeading(), NetInvestCovAbroadHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1341..13419999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NetInvestCovAbroad(), NetInvestCovAbroadName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConversionDifferencesHeading(), ConversionDifferencesHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '135..135999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConversionDifferences(), ConversionDifferencesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ValueAdjNoncurrentASaleHeading(), ValueAdjNoncurrentASaleHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '136..136999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ValueAdjNoncurrentASale(), ValueAdjNoncurrentASaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FiscalIncRetPrevYears(), FiscalIncRetPrevYearsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '137..137999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FiscalIncDifRetPrevYearsHeading(), FiscalIncDifRetPrevYearsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1370..13709999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FiscalIncDifRetPrevYears(), FiscalIncDifRetPrevYearsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FiscalIncDeductDiscounts(), FiscalIncDeductDiscountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1371..13719999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Provision(), ProvisionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '14..1499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForPensionsEquity(), ProvisionForPensionsEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '140..140999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxationReserveEquity(), TaxationReserveEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '141..141999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForResponsibilities(), ProvisionForResponsibilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '142..142999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForMayorRepairs(), ProvisionForMayorRepairsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '143..143999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForEnvironmentalActEquity(), ProvForEnvironmentalActEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '145..145999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForRestructuring(), ProvisionForRestructuringName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '146..146999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvPaymTransCapitalInst(), ProvPaymTransCapitalInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '147..147999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SpecialLtDebts(), SpecialLtDebtsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '15..1599999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtSharesLiability(), LtSharesLiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '150..150999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestLiability(), InvestLiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '153..153999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestLiabilityG(), InvestLiabilityGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1533..15339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestLiabilityA(), InvestLiabilityAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1534..15349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestLiabilityOth(), InvestLiabilityOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1535..15359999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherInvestLiability(), OtherInvestLiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1536..15369999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendNonmonetaryInvLiab(), PendNonmonetaryInvLiabName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '154..154999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendNonmonetaryInvLiabG(), PendNonmonetaryInvLiabGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1543..15439999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendNonmonetaryInvLiabA(), PendNonmonetaryInvLiabAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1544..15449999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendNonmonInvLiabOth(), PendNonmonInvLiabOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1545..15459999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherPendNonmonInv(), OtherPendNonmonInvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1546..15469999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VincCompaniesLtDebts(), VincCompaniesLtDebtsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '16..1699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtsLtWithVincFinInst(), DebtsLtWithVincFinInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '160..160999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtsLtToFinInstG(), DebtsLtToFinInstGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1603..16039999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtsLtToFinInstA(), DebtsLtToFinInstAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1604..16049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtsLtToOthVincCredInst(), DebtsLtToOthVincCredInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1605..16059999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtFixedAssetVendorsVinc(), LtFixedAssetVendorsVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '161..161999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtFixedAssetVendorsG(), LtFixedAssetVendorsGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1613..16139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtFixedAssetVendorsA(), LtFixedAssetVendorsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1614..16149999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtFixedAssetVendorsOth(), LtFixedAssetVendorsOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1615..16159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinLtLeaseCreditorsVinc(), FinLtLeaseCreditorsVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '162..162999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinLtLeaseCreditorsG(), FinLtLeaseCreditorsGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1623..16239999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinLtLeaseCreditorsA(), FinLtLeaseCreditorsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1624..16249999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinLtLeaseCreditorsOth(), FinLtLeaseCreditorsOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1625..16259999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherLtDebtsToVincComp(), OtherLtDebtsToVincCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '163..163999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherLtDebtsG(), OtherLtDebtsGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1633..16339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherLtDebtsA(), OtherLtDebtsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1634..16349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherLtDebtsOth(), OtherLtDebtsOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1635..16359999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LoansAndSimilarBorrowings(), LoansAndSimilarBorrowingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '17..1799999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LTLoansFromFinInst(), LTLoansFromFinInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '170..170999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongTermDebts(), LongTermDebtsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LongTermDebtsHeading(), LongTermDebtsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '171..171999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConvertibleInGrants(), ConvertibleInGrantsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '172..172999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtFixedAssetVendors(), LtFixedAssetVendorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '173..173999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinLtLeaseCreditors(), FinLtLeaseCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '174..174999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredBillExchPay(), TradeCredBillExchPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '175..175999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDerivFinLiab(), LtDerivFinLiabName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '176..176999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDerivFinLiabPortfolio(), LtDerivFinLiabPortfolioName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1765..17659999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDerivFinLiabCoverInst(), LtDerivFinLiabCoverInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '1768..17689999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ObligAndDebentLoans(), ObligAndDebentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '177..177999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ObligAndConvDebentLoans(), ObligAndConvDebentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '178..178999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtsOthMarketableSecur(), DebtsOthMarketableSecurName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '179..179999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtGuaranteesDepRec(), LtGuaranteesDepRecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '18..1899999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtGuaranteesReceived(), LtGuaranteesReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '180..180999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtSalesAndServicesAdvances(), LtSalesAndServicesAdvancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '181..181999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDepositsReceived(), LtDepositsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '185..185999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtFinancialGuarantees(), LtFinancialGuaranteesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '189..189999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TransitionalSituations(), TransitionalSituationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '19..1999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IssuedSharesOrPartStock(), IssuedSharesOrPartStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '190..190999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SharesSubscriptors(), SharesSubscriptorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '192..192999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EqCapitalCInCreation(), EqCapitalCInCreationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '194..194999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IssuedSharesOrPartFinLiab(), IssuedSharesOrPartFinLiabName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '195..195999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinLiabSharesSubs(), FinLiabSharesSubsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '197..197999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendFinLiabSharesOrSt(), PendFinLiabSharesOrStName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Heading, '', '', 0, '199..199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssets(), IntangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '20..2099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ResearchCostsHeading(), ResearchCostsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '200..200999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ResearchCosts(), ResearchCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DevCostsHeading(), DevCostsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '201..201999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DevCosts(), DevCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FranchisedAssets(), FranchisedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '202..202999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IndustrialProperty(), IndustrialPropertyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '203..203999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Goodwill(), GoodwillName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '204..204999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RightToLease(), RightToLeaseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '205..205999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EdpApplications(), EdpApplicationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '206..206999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssetsAdvances(), IntangibleAssetsAdvancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '209..209999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TangibleAssets(), TangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '21..2199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreeholdLand(), FreeholdLandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '210..210999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Land(), LandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(Buildings(), BuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '211..211999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SpecificInstallations(), SpecificInstallationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '212..212999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IndustrialMachineryHeading(), IndustrialMachineryHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '213..213999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IndustrialMachinery(), IndustrialMachineryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(IndustrialTooling(), IndustrialToolingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '214..214999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PlantMachineryEquipment(), PlantMachineryEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '215..215999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FurnitureHeading(), FurnitureHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '216..216999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Furniture(), FurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(InfoProcessEquipment(), InfoProcessEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '217..217999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DataProcessingEquipment(), DataProcessingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(TransportEquipment(), TransportEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '218..218999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Vehicle(), VehicleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherTangibleFixedAssetsHeading(), OtherTangibleFixedAssetsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '219..219999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherTangibleFixedAssets(), OtherTangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(PropertiesInvestm(), PropertiesInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '22..2299999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreeholdLandInv(), FreeholdLandInvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '220..220999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LandInv(), LandInvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(BuildingsInv(), BuildingsInvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '221..221999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsInProgress(), FixedAssetsInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '23..2399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ImprPrepCostsFreehLand(), ImprPrepCostsFreehLandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '230..230999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConstructionWorkInProgress(), ConstructionWorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '231..231999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PlantMachEquipmUndInst(), PlantMachEquipmUndInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '232..232999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MachineryUnderInstallation(), MachineryUnderInstallationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '233..233999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InfoProcessEquipmUndInst(), InfoProcessEquipmUndInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '237..237999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TangibleAssetsAdvances(), TangibleAssetsAdvancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '239..239999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VincCompFinInvestm(), VincCompFinInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '24..2499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInvestmInVincCom(), LtInvestmInVincComName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '240..240999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInvestmG(), LtInvestmGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2403..24039999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInvestmA(), LtInvestmAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2404..24049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInvestmOth(), LtInvestmOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2405..24059999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDebtValueVinc(), LtDebtValueVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '241..241999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDebtValueG(), LtDebtValueGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2413..24139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDebtValueA(), LtDebtValueAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2414..24149999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDebtValueOth(), LtDebtValueOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2415..24159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtCreditsToVincComp(), LtCreditsToVincCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '242..242999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtCreditsToG(), LtCreditsToGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2423..24239999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtCreditsToA(), LtCreditsToAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2424..24249999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtCreditsToOth(), LtCreditsToOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2425..24259999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AmountsUncalledLt(), AmountsUncalledLtName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '249..249999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AmountsUncalledG(), AmountsUncalledGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2493..24939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AmountsUncalledA(), AmountsUncalledAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2494..24949999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AmountsUncalledOth(), AmountsUncalledOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2495..24959999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialInvestmLt(), OtherFinancialInvestmLtName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '25..2599999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInvestmInCapitalInst(), LtInvestmInCapitalInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '250..250999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDebtValuesHeading(), LtDebtValuesHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '251..251999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDebtValues(), LtDebtValuesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LongTermLoans(), LongTermLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '252..252999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FaTransfLoans(), FaTransfLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '253..253999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StaffLtCredits(), StaffLtCreditsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '254..254999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDerivFinCapital(), LtDerivFinCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '255..255999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDerivFinCapPortfolio(), LtDerivFinCapPortfolioName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2550..25509999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtDerivFinCapCoverInst(), LtDerivFinCapCoverInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2553..25539999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtPersInsContReimbRights(), LtPersInsContReimbRightsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '257..257999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongTermTaxations(), LongTermTaxationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '258..258999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendingInvestOnCapitalInst(), PendingInvestOnCapitalInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '259..259999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GuarantDepSecurities(), GuarantDepSecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '26..2699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GuarantSecuritiesLT(), GuarantSecuritiesLTName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '260..260999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GuaranteedSecurities(), GuaranteedSecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GuaranteedDepositsLT(), GuaranteedDepositsLTName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '265..265999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprOfIntangibleFa(), DeprOfIntangibleFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '280..280999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepResearchCosts(), DepResearchCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2800..28009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepDevelopmCosts(), DepDevelopmCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2801..28019999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepFranchisedAssets(), DepFranchisedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2802..28029999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepIndustrialProperty(), DepIndustrialPropertyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2803..28039999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepRightToLease(), DepRightToLeaseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2805..28059999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepEdpApplications(), DepEdpApplicationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2806..28069999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprOfTangibleFa(), DeprOfTangibleFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '281..281999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepBuildings(), DepBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2811..28119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepTechnicalInstallations(), DepTechnicalInstallationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2812..28129999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepIndustrialMachineryHeading(), DepIndustrialMachineryHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2813..28139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepIndustrialMachinery(), DepIndustrialMachineryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepIndustrialTooling(), DepIndustrialToolingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2814..28149999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepPlantMachineryEquip(), DepPlantMachineryEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2815..28159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepFurnitureAssets(), DepFurnitureAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2816..28169999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepFurniture(), DepFurnitureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepInfoProcessEquipment(), DepInfoProcessEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2817..28179999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepTransportEquipmentHeading(), DepTransportEquipmentHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2818..28189999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepTransportEquipment(), DepTransportEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepOtherTangibleFaHeading(), DepOtherTangibleFaHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2819..28199999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepOtherTangibleFa(), DepOtherTangibleFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepPropertiesInvestmHeading(), DepPropertiesInvestmHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '282..282999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepPropertiesInvestm(), DepPropertiesInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeteriorForFa(), DeteriorForFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '29..2999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeteriorOfIntangFa(), DeteriorOfIntangFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '290..290999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetResearchCosts(), DetResearchCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2900..29009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetDevelopmCosts(), DetDevelopmCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2901..29019999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetFranchisedAssets(), DetFranchisedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2902..29029999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetIndustrialProperty(), DetIndustrialPropertyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2903..29039999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetRightToLease(), DetRightToLeaseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2905..29059999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetEdpApplications(), DetEdpApplicationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2906..29069999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeteriorOfTangFa(), DeteriorOfTangFaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '291..291999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetFreeholdLand(), DetFreeholdLandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2910..29109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetBuilding(), DetBuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2911..29119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetTechnicalInstallations(), DetTechnicalInstallationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2912..29129999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetIndustrialMachinery(), DetIndustrialMachineryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2913..29139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetIndustrialTooling(), DetIndustrialToolingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2914..29149999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetPlantMachineryEquip(), DetPlantMachineryEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2915..29159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepFurnitureHeading(), DepFurnitureHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2916..29169999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetInfoProcessEquipment(), DetInfoProcessEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2917..29179999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetTransportEquipment(), DetTransportEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2918..29189999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetOtherTangFixedAssets(), DetOtherTangFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2919..29199999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetPropertiesInvestm(), DetPropertiesInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '292..292999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetFreeholdLandHeading(), DetFreeholdLandHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2920..29209999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetBuildingHeading(), DetBuildingHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2921..29219999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtSecValueInVincC(), DetLtSecValueInVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '293..293999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtSecValueInGr(), DetLtSecValueInGrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2933..29339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtSecValueInAsoc(), DetLtSecValueInAsocName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2934..29349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtDebtSecuritiesVinC(), DetLtDebtSecuritiesVinCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '294..294999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtDebtSecuritiesG(), DetLtDebtSecuritiesGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2943..29439999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtDebtSecuritiesA(), DetLtDebtSecuritiesAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2944..29449999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtDebtSecurOVin(), DetLtDebtSecurOVinName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2945..29459999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtCreditsValToVincC(), DetLtCreditsValToVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '295..295999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtCreditsToGr(), DetLtCreditsToGrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2953..29539999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtCreditsToAsoc(), DetLtCreditsToAsocName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2954..29549999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtCreditsToOthVin(), DetLtCreditsToOthVinName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '2955..29559999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtDebtSecuritiesValue(), DetLtDebtSecuritiesValueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '297..297999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLtCreditsValue(), DetLtCreditsValueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '298..298999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeGoods(), TradeGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '30..3099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsHeading(), GoodsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '300..300999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Goods(), GoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssemblyBom(), AssemblyBomName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsTradeCred(), GoodsTradeCredName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillOfMaterTradeCred(), BillOfMaterTradeCredName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsProv(), RawMaterialsProvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SuppliesOtherConsum(), SuppliesOtherConsumName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '32..3299999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ItemsAssembToIncorp(), ItemsAssembToIncorpName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '320..320999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Fuels(), FuelsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '321..321999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReplacementParts(), ReplacementPartsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '322..322999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherMaterials(), OtherMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '325..325999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Packaging(), PackagingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '326..326999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Containers(), ContainersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '327..327999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProdInProgrManufGoodsHeading(), ProdInProgrManufGoodsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '33..3399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProdInProgrManufGoods(), ProdInProgrManufGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '330..330999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesSpecialist(), SalesSpecialistName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WipProjectSales(), WipProjectSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WipInvoicedProjectSales(), WipInvoicedProjectSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostsSpecialist(), CostsSpecialistName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WipProjectCosts(), WipProjectCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WipAccruedProjectCosts(), WipAccruedProjectCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobPostingGroup(), JobPostingGroupName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkInProgressHeading(), WorkInProgressHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '34..3499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkInProgress(), WorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '340..340999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ByProductsOrScrap(), ByProductsOrScrapName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '36..3699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ByProducts(), ByProductsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '360..360999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WasteProducts(), WasteProductsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '365..365999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RejectsOfManufacturing(), RejectsOfManufacturingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '368..368999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeteriorInventoryValue(), DeteriorInventoryValueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '39..3999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetGoodsValue(), DetGoodsValueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '390..390999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetRawMat(), DetRawMatName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '391..391999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetSuppliesOtherConsum(), DetSuppliesOtherConsumName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '392..392999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetProdProgrManufGoods(), DetProdProgrManufGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '393..393999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetForWorkInProgress(), DetForWorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '394..394999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetForFinishedGoods(), DetForFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '395..395999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetForByProdOrScrap(), DetForByProdOrScrapName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '396..396999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsAndDebtors(), CreditorsAndDebtorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '4..49999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCreditorsHeading(), TradeCreditorsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '40..4099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCreditors(), TradeCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '400..400999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(STTradeCredEuro(), STTradeCredEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4000..40009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NationalTradeCreditors(), NationalTradeCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InternatTradeCreditors(), InternatTradeCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvUnderPaymentOrder(), InvUnderPaymentOrderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ForCurrTradeCreditors(), ForCurrTradeCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4004..40049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EuTradeCreditors(), EuTradeCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredInvNotRec(), TradeCredInvNotRecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4009..40099999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredBillOfExchPay(), TradeCredBillOfExchPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '401..401999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCrBillExPay(), TradeCrBillExPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4010..40109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BillExPayNational(), BillExPayNationalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillExInPaymtOrder(), BillExInPaymtOrderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeCreditorsG(), TradeCreditorsGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '403..403999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCreditorsGEuroHeading(), TradeCreditorsGEuroHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4030..40309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCreditorsGEuro(), TradeCreditorsGEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(ProvForBillExchPayG(), ProvForBillExchPayGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4031..40319999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCreditorsGForCurr(), TradeCreditorsGForCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4034..40349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCrReturnEmptiesG(), TradeCrReturnEmptiesGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4036..40369999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredInvNotRecG(), TradeCredInvNotRecGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4039..40399999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredAsoc(), TradeCredAsocName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '404..404999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredOthVinC(), TradeCredOthVinCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '405..405999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCrReturnEmpties(), TradeCrReturnEmptiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '406..406999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredAdvancesHeading(), TradeCredAdvancesHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '407..407999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredAdvances(), TradeCredAdvancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4070..40709999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredAdvancesNational(), TradeCredAdvancesNationalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredAdvancesEu(), TradeCredAdvancesEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeCredAdvancesExport(), TradeCredAdvancesExportName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherCreditorsHeading(), OtherCreditorsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '41..4199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsProvOfServices(), CreditorsProvOfServicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '410..410999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(STCreditorsEuro(), STCreditorsEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4100..41009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCreditors(), OtherCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsProvServForCurr(), CreditorsProvServForCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4104..41049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsInvNotRec(), CreditorsInvNotRecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4109..41099999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsBillExPayHeading(), CreditorsBillExPayHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '411..411999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsBillExPay(), CreditorsBillExPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4110..41109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsComOperationsHeading(), CreditorsComOperationsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '419..419999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditorsComOperations(), CreditorsComOperationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4190..41909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccReceivHeading(), TradeAccReceivHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '43..4399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccReceiv(), TradeAccReceivName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '430..430999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccReceivEuro(), TradeAccReceivEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4300..43009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NationalCustomers(), NationalCustomersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InternationalCustomers(), InternationalCustomersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvoicesToBePaid(), InvoicesToBePaidName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscountedInvoicesAccount(), DiscountedInvoicesAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RejectedInvoicesAccount(), RejectedInvoicesAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccReceivForCurr(), TradeAccReceivForCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4304..43049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccRecInvNotRec(), TradeAccRecInvNotRecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4309..43099999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccRecBillsColl(), TradeAccRecBillsCollName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '431..431999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendingReceivablesBillsHeading(), PendingReceivablesBillsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4310..43109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendingReceivablesBills(), PendingReceivablesBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscountedBillsHeading(), DiscountedBillsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4311..43119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscountedBills(), DiscountedBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsOnCollectionManagHeading(), BillsOnCollectionManagHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4312..43129999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BillsOnCollectionManag(), BillsOnCollectionManagName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UnpaidBillsOfExchangeHeading(), UnpaidBillsOfExchangeHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4315..43159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(UnpaidBillsOfExchange(), UnpaidBillsOfExchangeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccFactoringOp(), TradeAccFactoringOpName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '432..432999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeAccRecAccG(), TradeAccRecAccGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '433..433999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GroupTrAccRecEuroHeading(), GroupTrAccRecEuroHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4330..43309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GroupTrAccRecEuro(), GroupTrAccRecEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsOfExchRecG(), BillsOfExchRecGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4331..43319999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrAccFactoringOpG(), TrAccFactoringOpGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4332..43329999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ForCurrTrAccRecG(), ForCurrTrAccRecGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4334..43349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrAccRecRetEmptG(), TrAccRecRetEmptGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4336..43369999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GroupTrAccRecRetEmpt(), GroupTrAccRecRetEmptName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4337..43379999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrAccRecInvNotRecG(), TrAccRecInvNotRecGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4339..43399999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeAcsRecAccA(), TradeAcsRecAccAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '434..434999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrAccRecOtherVincComp(), TrAccRecOtherVincCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '435..435999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BadDoubtfulDebts(), BadDoubtfulDebtsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '436..436999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrAccRecRetEmpt(), TrAccRecRetEmptName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '437..437999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeDebtorsCreditBalances(), TradeDebtorsCreditBalancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '438..438999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StTrDebtAdvancesNational(), StTrDebtAdvancesNationalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(StTrDebtAdvancesEu(), StTrDebtAdvancesEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(StTrDebtAdvancesExport(), StTrDebtAdvancesExportName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherDebtors(), OtherDebtorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '44..4499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsHeading(), DebtorsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '440..440999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsEuro(), DebtorsEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4400..44009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Debtors(), DebtorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsForeignCurr(), DebtorsForeignCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4404..44049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsInvNotRec(), DebtorsInvNotRecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4409..44099999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsBillsOfCollection(), DebtorsBillsOfCollectionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '441..441999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsReceivablesPendBills(), DebtorsReceivablesPendBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4410..44109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsDiscountedBills(), DebtorsDiscountedBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4411..44119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtBillsOnCollManag(), DebtBillsOnCollManagName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4412..44129999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsUnpaidBills(), DebtorsUnpaidBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4415..44159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BadDoubtfulDebt(), BadDoubtfulDebtName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '446..446999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtorsJointVentures(), DebtorsJointVenturesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '449..449999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Employees(), EmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '46..4699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RemunerationAdvancesHeading(), RemunerationAdvancesHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '460..460999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RemunerationAdvances(), RemunerationAdvancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PendingRemunerations(), PendingRemunerationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '465..465999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PendingFixContribSistRem(), PendingFixContribSistRemName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '466..466999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GeneralGovernment(), GeneralGovernmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '47..4799999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentReceivable(), GovernmentReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '470..470999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentVatReceivHeading(), GovernmentVatReceivHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4700..47009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentVatReceiv(), GovernmentVatReceivName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentSubvReceiv(), GovernmentSubvReceivName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4708..47089999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentTaxReturnReceiv(), GovernmentTaxReturnReceivName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4709..47099999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SocialSecurity(), SocialSecurityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '471..471999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SocialSecurityReceivable(), SocialSecurityReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ValueAddedTaxDeduct(), ValueAddedTaxDeductName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '472..472999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovVatDeductible(), GovVatDeductibleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GovDeducPaymOnAccHeading(), GovDeducPaymOnAccHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '473..473999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovDeducPaymOnAcc(), GovDeducPaymOnAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredTaxAssets(), DeferredTaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '474..474999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeducTemporaryDifferences(), DeducTemporaryDifferencesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4740..47409999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeferredDeductDiscounts(), DeferredDeductDiscountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4742..47429999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditForLossesToComp(), CreditForLossesToCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4745..47459999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentCreditor(), GovernmentCreditorName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '475..475999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentCreditorVatHeading(), GovernmentCreditorVatHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4750..47509999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentCreditorVat(), GovernmentCreditorVatName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentCreditorIrpfHeading(), GovernmentCreditorIrpfHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4751..47519999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovernmentCreditorIrpf(), GovernmentCreditorIrpfName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(GovCredCorpIncTaxHeading(), GovCredCorpIncTaxHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4752..47529999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovCredCorpIncTax(), GovCredCorpIncTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GovCreditorSubvHeading(), GovCreditorSubvHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4758..47589999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GovCreditorSubv(), GovCreditorSubvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SocialSecurityCreditorHeading(), SocialSecurityCreditorHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '476..476999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SocialSecurityCreditor(), SocialSecurityCreditorName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ValueAddTaxCollByComp(), ValueAddTaxCollByCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '477..477999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VatCollByTheComp(), VatCollByTheCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VatEuReversion(), VatEuReversionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredProfitTax(), DeferredProfitTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '479..479999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChargSprOverSevPeriods(), ChargSprOverSevPeriodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '48..4899999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Prepayments(), PrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '480..480999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(UnearnedIncome(), UnearnedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '485..485999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetCreditValAndStVend(), DetCreditValAndStVendName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '49..4999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetCreditValTradeOper(), DetCreditValTradeOperName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '490..490999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetCreditValTradeOVin(), DetCreditValTradeOVinName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '493..493999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetCreditValTradeOG(), DetCreditValTradeOGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4933..49339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetCreditValTradeOA(), DetCreditValTradeOAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4934..49349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetCreditValTradeOOv(), DetCreditValTradeOOvName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4935..49359999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForTradeTransactLiabilities(), ProvForTradeTransactLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '499..499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForBurdensomeContracts(), ProvForBurdensomeContractsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4994..49949999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForOtherTradeTransact(), ProvForOtherTradeTransactName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '4999..49999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialAccounts(), FinancialAccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '5..59999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermInvestments(), ShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '50..5099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDebentLoans(), ShortTermDebentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '500..500999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TreasureBills(), TreasureBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConvertibleDebentLoans(), ConvertibleDebentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '501..501999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StSharesLiability(), StSharesLiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '502..502999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtsAsMarketableSec(), DebtsAsMarketableSecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '505..505999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BorrowingsInterests(), BorrowingsInterestsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '506..506999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendsLiability(), DividendsLiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '507..507999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprMarketableSec(), DeprMarketableSecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '509..509999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprOblAndDebLoans(), DeprOblAndDebLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5090..50909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprConverOblAndDebL(), DeprConverOblAndDebLName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5091..50919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprOtherMarketableSec(), DeprOtherMarketableSecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5095..50959999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDebtsWithVinc(), ShortTermDebtsWithVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '51..5199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StDebtsVincFinInst(), StDebtsVincFinInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '510..510999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LoansFromFinInstitG(), LoansFromFinInstitGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5103..51039999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LoansFromFinInstitA(), LoansFromFinInstitAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5104..51049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LoansFromFinInstitOth(), LoansFromFinInstitOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5105..51059999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetCredVincC(), FixedAssetCredVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '511..511999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetCredG(), FixedAssetCredGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5113..51139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetCreditorsA(), FixedAssetCreditorsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5114..51149999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsCredOth(), FixedAssetsCredOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5115..51159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFinLeaseCredVincC(), StFinLeaseCredVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '512..512999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFinLeaseCredG(), StFinLeaseCredGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5123..51239999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFinLeaseCredA(), StFinLeaseCredAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5124..51249999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFinLeaseCredOth(), StFinLeaseCredOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5125..51259999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherStDebtsVincC(), OtherStDebtsVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '513..513999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDebtsG(), ShortTermDebtsGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5133..51339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDebtsA(), ShortTermDebtsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5134..51349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDebtsOth(), ShortTermDebtsOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5135..51359999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StDebtInterestsVincC(), StDebtInterestsVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '514..514999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestsG(), DebtInterestsGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5143..51439999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestsA(), DebtInterestsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5144..51449999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestsOth(), DebtInterestsOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5145..51459999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoansDebt(), StLoansDebtName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '52..5299999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoansFromFinInstitutHeading(), StLoansFromFinInstitutHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '520..520999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoansFromFinInstitut(), StLoansFromFinInstitutName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5200..52009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermLoansPosting(), ShortTermLoansPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StDebtsForCredits(), StDebtsForCreditsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5201..52019999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtOnDiscountedBillsHeading(), DebtOnDiscountedBillsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5208..52089999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtOnDiscountedBills(), DebtOnDiscountedBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscInvoiceDebtAcc(), DiscInvoiceDebtAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FactoringOpDebtAcc(), FactoringOpDebtAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5209..52099999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermLoans(), ShortTermLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '521..521999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInSubvAndLeg(), DebtInSubvAndLegName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '522..522999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFixedAssetCreditors(), StFixedAssetCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '523..523999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFinLeaseCreditors(), StFinLeaseCreditorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '524..524999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StBillOfExchPay(), StBillOfExchPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '525..525999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ActiveDividendToPay(), ActiveDividendToPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '526..526999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDebtIntCredInst(), ShortTermDebtIntCredInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '527..527999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDebtInterest(), ShortTermDebtInterestName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '528..528999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermProvisions(), ShortTermProvisionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '529..529999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForPensionsHeading(), ProvisionForPensionsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5290..52909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxationReserveHeading(), TaxationReserveHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5291..52919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForResponsibilitiesHeading(), ProvisionForResponsibilitiesHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5292..52929999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForFaDismantle(), ProvisionForFaDismantleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5293..52939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForEnvironmentalActHeading(), ProvForEnvironmentalActHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5295..52959999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForRestructuring(), ProvForRestructuringName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5296..52969999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForPaymLiabInst(), ProvForPaymLiabInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5297..52979999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GroupAssocFinInvestm(), GroupAssocFinInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '53..5399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StTradeInvestmVinc(), StTradeInvestmVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '530..530999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StTradeInvestmG(), StTradeInvestmGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5303..53039999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StTradeInvestmA(), StTradeInvestmAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5304..53049999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StTradeInvestmOth(), StTradeInvestmOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5305..53059999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFixedIncomeSecVinc(), StFixedIncomeSecVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '531..531999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFixedIncomeSecG(), StFixedIncomeSecGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5313..53139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFixedIncomeSecA(), StFixedIncomeSecAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5314..53149999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFixedIncomeSecOth(), StFixedIncomeSecOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5315..53159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoansToVincComp(), StLoansToVincCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '532..532999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoansToGroupC(), StLoansToGroupCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5323..53239999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoansToAComp(), StLoansToACompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5324..53249999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoansToOtherVincC(), StLoansToOtherVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5325..53259999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinInvestmInterestVinc(), FinInvestmInterestVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '533..533999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinInvestmInterestG(), FinInvestmInterestGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5333..53339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinInvestmInterestsA(), FinInvestmInterestsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5334..53349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinInvestmInterestsOth(), FinInvestmInterestsOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5335..53359999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestCreditsToVinc(), StInterestCreditsToVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '534..534999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestCreditsG(), StInterestCreditsGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5343..53439999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestCreditsA(), StInterestCreditsAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5344..53449999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestCreditsOth(), StInterestCreditsOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5345..53459999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividReceivFinInvInVinc(), DividReceivFinInvInVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '535..535999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividReceivFinInvG(), DividReceivFinInvGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5353..53539999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividReceivFinInvA(), DividReceivFinInvAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5354..53549999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividReceivFinInvOth(), DividReceivFinInvOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5355..53559999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StDemandExpendEqVinc(), StDemandExpendEqVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '539..539999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StDemandExpendEqG(), StDemandExpendEqGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5393..53939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StDemandExpendEqA(), StDemandExpendEqAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5394..53949999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StDemandExpendEqOth(), StDemandExpendEqOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5395..53959999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterimFinancialInvestm(), InterimFinancialInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '54..5499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestmentsInCapitalInst(), InvestmentsInCapitalInstName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '540..540999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFixedIncomeSecurity(), StFixedIncomeSecurityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '541..541999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFixedIncomeInvestm(), StFixedIncomeInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermLoansHeading(), ShortTermLoansHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '542..542999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFaTransferenceLoans(), StFaTransferenceLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '543..543999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StaffStCredits(), StaffStCreditsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '544..544999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendsReceivable(), DividendsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '545..545999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SecuritiesStInterests(), SecuritiesStInterestsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '546..546999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StCreditsInterests(), StCreditsInterestsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '547..547999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermTaxations(), ShortTermTaxationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '548..548999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StAmtsUncalledOnShares(), StAmtsUncalledOnSharesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '549..549999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherNonBankAccounts(), OtherNonBankAccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '55..5599999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProprietorsAccount(), ProprietorsAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '550..550999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnAdministrCheckingAcc(), PartnAdministrCheckingAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '551..551999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OthersCheckingAcc(), OthersCheckingAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '552..552999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GroupVincCheckingAcc(), GroupVincCheckingAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5523..55239999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AsocVincCheckingAcc(), AsocVincCheckingAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5524..55249999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OthersVincCheckingAcc(), OthersVincCheckingAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5525..55259999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MergeAndSplitCheckAcc(), MergeAndSplitCheckAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '553..553999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersDissolvedSociety(), PartnersDissolvedSocietyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5530..55309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersMergeAcc(), PartnersMergeAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5531..55319999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersSplitSociety(), PartnersSplitSocietyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5532..55329999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnersSplitAcc(), PartnersSplitAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5533..55339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TemporaryJoinsChecAcc(), TemporaryJoinsChecAccName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '554..554999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(UnappliedItems(), UnappliedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '555..555999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DemandExpendOnEquity(), DemandExpendOnEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '556..556999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DemandExpendEqGroup(), DemandExpendEqGroupName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5563..55639999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DemandExpendEqAsoc(), DemandExpendEqAsocName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5564..55649999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DemandExpendEqOtVin(), DemandExpendEqOtVinName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5565..55659999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DemandExpendEqOthers(), DemandExpendEqOthersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5566..55669999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterimActiveDividends(), InterimActiveDividendsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '557..557999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SharehPaymentCallable(), SharehPaymentCallableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '558..558999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SharehPayCallSharesOrG(), SharehPayCallSharesOrGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5580..55809999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SharehPayCallFinLiab(), SharehPayCallFinLiabName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5585..55859999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DerivativeInstrumentSt(), DerivativeInstrumentStName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '559..559999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StFinDerivAssetsPortfolio(), StFinDerivAssetsPortfolioName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5590..55909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AssetsDerivInstStCovIns(), AssetsDerivInstStCovInsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5593..55939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LiabDerivInstStPortfolio(), LiabDerivInstStPortfolioName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5595..55959999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LiabDerivInstStCovIns(), LiabDerivInstStCovInsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5598..55989999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SecDepositsReceivGuarant(), SecDepositsReceivGuarantName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '56..5699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermGuaranteesReceiv(), ShortTermGuaranteesReceivName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '560..560999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermDepositsReceiv(), ShortTermDepositsReceivName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '561..561999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermGuaranteedSec(), ShortTermGuaranteedSecName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '565..565999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermGuarantDeposits(), ShortTermGuarantDepositsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '566..566999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestPaidInAdvance(), InterestPaidInAdvanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '567..567999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestReceivedInAdvance(), InterestReceivedInAdvanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '568..568999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialGuaranteesSt(), FinancialGuaranteesStName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '569..569999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashFlow(), CashFlowName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '57..5799999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashEuroHeading(), CashEuroHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '570..570999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashEuro(), CashEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CashForeignCurrency(), CashForeignCurrencyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '571..571999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BanksAccountAtSightEuro(), BanksAccountAtSightEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '572..572999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BanksEuro(), BanksEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BanksAccAtSightFCurr(), BanksAccAtSightFCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '573..573999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BanksForeignCurrency(), BanksForeignCurrencyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BanksSavingAccEuro(), BanksSavingAccEuroName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '574..574999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SavingAccount(), SavingAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BanksSavingAccForCurr(), BanksSavingAccForCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '575..575999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HighLiqStInvestm(), HighLiqStInvestmName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '576..576999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrentAssetsForSale(), NonCurrentAssetsForSaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '58..5899999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestmWithVincComp(), InvestmWithVincCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '581..581999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialInvestments(), FinancialInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '582..582999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoryTradeDebtors(), InventoryTradeDebtorsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '583..583999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherAssets(), OtherAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '584..584999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Provisions(), ProvisionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '585..585999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SpecialCharactDebts(), SpecialCharactDebtsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '586..586999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtsWithVincComp(), DebtsWithVincCompName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '587..587999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TradeCreditorsAndOthPay(), TradeCreditorsAndOthPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '588..588999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueFinancialProducts(), DetValueFinancialProductsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '59..5999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStPartVinc(), DetValueStPartVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '593..593999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStPartG(), DetValueStPartGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5933..59339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStPartA(), DetValueStPartAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5934..59349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStSecVincC(), DetValueStSecVincCName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '594..594999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStSecG(), DetValueStSecGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5943..59439999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStSecA(), DetValueStSecAName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5944..59449999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStSecOVin(), DetValueStSecOVinName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5945..59459999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStCreditsToVinc(), DetValueStCreditsToVincName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '595..595999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStCreditsToG(), DetValueStCreditsToGName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5953..59539999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStCreditsToAs(), DetValueStCreditsToAsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5954..59549999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStCreditsToOtV(), DetValueStCreditsToOtVName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5955..59559999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStSecurities(), DetValueStSecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '597..597999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValueStCredits(), DetValueStCreditsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '598..598999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValNoncurrAForSale(), DetValNoncurrAForSaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '599..599999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValFixNoncAForSale(), DetValFixNoncAForSaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5990..59909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValRelatedInvesForSale(), DetValRelatedInvesForSaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5991..59919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValFinInvestForSale(), DetValFinInvestForSaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5992..59929999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValStocksDebtsAndOth(), DetValStocksDebtsAndOthName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5993..59939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetValOtherAForSale(), DetValOtherAForSaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '5994..59949999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostAndExpenseAccounts(), CostAndExpenseAccountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '6..69999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Purchases(), PurchasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '60..6099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesOfGoodsForResale(), PurchasesOfGoodsForResaleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '600..600999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NationalPurchases(), NationalPurchasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(EuPurchases(), EuPurchasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(IntNonEuPurch(), IntNonEuPurchName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchForRawMaterials(), PurchForRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '601..601999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchForNatRawMat(), PurchForNatRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchForEuRawMat(), PurchForEuRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchIntNonEuRawMat(), PurchIntNonEuRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesForConsumables(), PurchasesForConsumablesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '602..602999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowedOnPurch(), DiscAllowedOnPurchName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '606..606999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurchFinGoods(), DiscAllowOnPurchFinGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6060..60609999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurFinGoodN(), DiscAllowOnPurFinGoodNName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurFinGoodEu(), DiscAllowOnPurFinGoodEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurFinGoodI(), DiscAllowOnPurFinGoodIName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurchRawMat(), DiscAllowOnPurchRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6061..60619999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurcRawMatN(), DiscAllowOnPurcRawMatNName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurcRawMatEu(), DiscAllowOnPurcRawMatEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurcRawMatI(), DiscAllowOnPurcRawMatIName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurchOthers(), DiscAllowOnPurchOthersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6062..60629999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurcOthersN(), DiscAllowOnPurcOthersNName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurcOthersEu(), DiscAllowOnPurcOthersEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnPurcOthersI(), DiscAllowOnPurcOthersIName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkDoneByOtherComp(), WorkDoneByOtherCompName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '607..607999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseReturns(), PurchaseReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '608..608999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsPurchasedReturns(), GoodsPurchasedReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6080..60809999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NationalReturns(), NationalReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(EuReturns(), EuReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(InternationalNonEuRet(), InternationalNonEuRetName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscellaneousReturns(), MiscellaneousReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMatPurchasedReturns(), RawMatPurchasedReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6081..60819999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConsumPurchasedReturns(), ConsumPurchasedReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6082..60829999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesReturnAllow(), PurchasesReturnAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '609..609999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsPurchReturnAllow(), GoodsPurchReturnAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6090..60909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReturnAndAllowOnGoods(), ReturnAndAllowOnGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMatPurchRetAllow(), RawMatPurchRetAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6091..60919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReturnAllowOnRawMat(), ReturnAllowOnRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsumPurchRetAllow(), ConsumPurchRetAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6092..60929999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInStockHeading(), ChangesInStockHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '61..6199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInStock(), ChangesInStockName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '610..610999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInStockPosting(), ChangesInStockPostingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInRawMaterialsHeading(), ChangesInRawMaterialsHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '611..611999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInRawMaterials(), ChangesInRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChgInSuppOtherConsum(), ChgInSuppOtherConsumName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '612..612999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExternalChargesForServices(), ExternalChargesForServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '62..6299999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ResearchAndDevelopment(), ResearchAndDevelopmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '620..620999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Projects(), ProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(LeaseAndRoyalties(), LeaseAndRoyaltiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '621..621999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LeaseChargesPosting(), LeaseChargesPostingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(MaintenancesAndRepairs(), MaintenancesAndRepairsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '622..622999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Repairs(), RepairsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfessionalServices(), ProfessionalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '623..623999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InternalResources(), InternalResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(Consulting(), ConsultingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfessionalAdvisoryServices(), ProfessionalAdvisoryServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectCostsRetail(), ProjectCostsRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectCostsAdjustment(), ProjectCostsAdjustmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectCostsRecognized(), ProjectCostsRecognizedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectsCostsRawMaterial(), ProjectsCostsRawMaterialName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectsCostsResources(), ProjectsCostsResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TransportationHeading(), TransportationHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '624..624999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Transportation(), TransportationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(Fuel(), FuelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancePremiumsHeading(), InsurancePremiumsHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '625..625999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancePremiums(), InsurancePremiumsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(BankingServicesHeading(), BankingServicesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '626..626999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankingServices(), BankingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvertisingPublicRelations(), AdvertisingPublicRelationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '627..627999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Supplies(), SuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '628..628999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Electricity(), ElectricityName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(Water(), WaterName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherSupplies(), OtherSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherServicesHeading(), OtherServicesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '629..629999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherServices(), OtherServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherBusinessExpenses(), OtherBusinessExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(Tax(), TaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '63..6399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitTaxHeading(), ProfitTaxHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '630..630999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RunningTax(), RunningTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6300..63009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitTax(), ProfitTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredTax(), DeferredTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6301..63019999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherTaxesHeading(), OtherTaxesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '631..631999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherTaxes(), OtherTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NegativeAdjustmOnProfits(), NegativeAdjustmOnProfitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '633..633999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegativeAdjustmIndivTax(), NegativeAdjustmIndivTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '634..634999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegativeAdjustmRunningAct(), NegativeAdjustmRunningActName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6341..63419999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegativeAdjustmInvestTax(), NegativeAdjustmInvestTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6342..63429999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxRefunds(), TaxRefundsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '636..636999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PositiveAdjustmOnProfits(), PositiveAdjustmOnProfitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '638..638999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PositiveAdjustmIndivTax(), PositiveAdjustmIndivTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '639..639999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PositiveAdjustmRunningAct(), PositiveAdjustmRunningActName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6391..63919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PositiveAdjustmInvestTax(), PositiveAdjustmInvestTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6392..63929999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesAndSalariesHeading(), WagesAndSalariesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '640..640999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesAndSalaries(), WagesAndSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Prizes(), PrizesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PensionFunds(), PensionFundsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Compensations(), CompensationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '641..641999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SocialSecPaidByCompanyHeading(), SocialSecPaidByCompanyHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '642..642999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SocialSecPaidByCompany(), SocialSecPaidByCompanyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LtFeeInFixedContribSist(), LtFeeInFixedContribSistName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '643..643999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtFeeInFixedProvisionSis(), LtFeeInFixedProvisionSisName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '644..644999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AnnualContributions(), AnnualContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6440..64409999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCosts(), OtherCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6442..64429999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FeesByEquityProducts(), FeesByEquityProductsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '645..645999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PersonnelRetEqProd(), PersonnelRetEqProdName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6450..64509999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PersonnelRetCashEqProd(), PersonnelRetCashEqProdName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6457..64579999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherSocialExpenses(), OtherSocialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '649..649999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BadDebtLosses(), BadDebtLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '650..650999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartnershipsAndOthers(), PartnershipsAndOthersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '651..651999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TransferredProfitAdmin(), TransferredProfitAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6510..65109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TransferredLossParticipant(), TransferredLossParticipantName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6511..65119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingLosses(), OtherOperatingLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '659..659999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialExpenses(), FinancialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '66..6699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinExpProvUpdates(), FinExpProvUpdatesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '660..660999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestDebentLoans(), InterestDebentLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '661..661999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInterestDebentLoansG(), LtInterestDebentLoansGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6610..66109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInterestDebentLoansA(), LtInterestDebentLoansAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6611..66119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInterestDebentLoansOv(), LtInterestDebentLoansOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6612..66129999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtInterestDebentLoansOt(), LtInterestDebentLoansOtName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6613..66139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestDebentLoansG(), StInterestDebentLoansGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6615..66159999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestDebentLoansA(), StInterestDebentLoansAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6616..66169999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestDebentLoansOv(), StInterestDebentLoansOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6617..66179999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StInterestDebentLoansOt(), StInterestDebentLoansOtName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6618..66189999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterest(), DebtInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '662..662999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestGroup(), DebtInterestGroupName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6620..66209999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestAssoc(), DebtInterestAssocName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6621..66219999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestOtVinc(), DebtInterestOtVincName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6622..66229999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestFinIns(), DebtInterestFinInsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6623..66239999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DebtInterestOther(), DebtInterestOtherName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6624..66249999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesFinInstValueFV(), LossesFinInstValueFVName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '663..663999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PortfolioLosses(), PortfolioLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6630..66309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesAssignByComp(), LossesAssignByCompName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6631..66319999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesAvailForSale(), LossesAvailForSaleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6632..66329999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CoverageInstLosses(), CoverageInstLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6633..66339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendLiability(), DividendLiabilityName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '664..664999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendLiabilityG(), DividendLiabilityGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6640..66409999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendLiabilityA(), DividendLiabilityAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6641..66419999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendLiabilityOVin(), DividendLiabilityOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6642..66429999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendLiabilityOth(), DividendLiabilityOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6643..66439999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestOnBillsDisc(), InterestOnBillsDiscName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '665..665999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntOnBillsDiscFinInsG(), IntOnBillsDiscFinInsGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6650..66509999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntOnBillsDiscFinInsA(), IntOnBillsDiscFinInsAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6651..66519999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntOnBillsDiscFinInsV(), IntOnBillsDiscFinInsVName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6652..66529999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestOnBillsDiscOth(), InterestOnBillsDiscOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6653..66539999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestOnBillsDiscounted(), InterestOnBillsDiscountedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(FactOpInterBanksG(), FactOpInterBanksGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6654..66549999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FactOpInterBanksA(), FactOpInterBanksAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6655..66559999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FactOpInterBanksV(), FactOpInterBanksVName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6656..66569999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FactOpInterOtherBanksHeading(), FactOpInterOtherBanksHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6657..66579999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FactOpInterOtherBanks(), FactOpInterOtherBanksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(SecuritiesLoss(), SecuritiesLossName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '666..666999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtSecuritiesLossG(), LtSecuritiesLossGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6660..66609999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtSecuritiesLossA(), LtSecuritiesLossAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6661..66619999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtSecuritiesLossOVin(), LtSecuritiesLossOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6662..66629999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtSecuritiesLossOth(), LtSecuritiesLossOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6663..66639999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StSecuritiesLossG(), StSecuritiesLossGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6665..66659999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StSecuritiesLossA(), StSecuritiesLossAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6666..66669999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StSecuritiesLossOVin(), StSecuritiesLossOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6667..66679999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StSecuritiesLossOth(), StSecuritiesLossOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6668..66689999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LoanLoss(), LoanLossName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '667..667999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtLoanLossG(), LtLoanLossGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6670..66709999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtLoanLossA(), LtLoanLossAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6671..66719999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtLoanLossOVin(), LtLoanLossOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6672..66729999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtLoanLossOth(), LtLoanLossOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6673..66739999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoanLossG(), StLoanLossGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6675..66759999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoanLossA(), StLoanLossAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6676..66769999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoanLossOVin(), StLoanLossOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6677..66779999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StLoanLossOth(), StLoanLossOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6678..66789999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RealizedLossesOnExchangeHeading(), RealizedLossesOnExchangeHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '668..668999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RealLossExchInternEurHeading(), RealLossExchInternEurHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6680..66809999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RealLossExchInternEur(), RealLossExchInternEurName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherRealLossesOnExch(), OtherRealLossesOnExchName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6681..66819999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RealizedLossesOnExchange(), RealizedLossesOnExchangeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialExpensesHeadingExpenses(), OtherFinancialExpensesHeadingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '669..669999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExpenOnRoundOffEurHeading(), ExpenOnRoundOffEurHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6690..66909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExpenOnRoundOffEur(), ExpenOnRoundOffEurName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(NegativeBalanceOnSettl(), NegativeBalanceOnSettlName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialExpensesHeading(), OtherFinancialExpensesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6691..66919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialExpenses(), OtherFinancialExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinExpBillReject(), OtherFinExpBillRejectName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExcepExtrItemsExp(), ExcepExtrItemsExpName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '67..6799999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnIntangATransf(), LossOnIntangATransfName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '670..670999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnTangAssetsTransfHeading(), LossOnTangAssetsTransfHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '671..671999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnTangAssetsTransf(), LossOnTangAssetsTransfName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LossOnPropertiesInvestm(), LossOnPropertiesInvestmName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '672..672999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnLtEqInvestVinC(), LossOnLtEqInvestVinCName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '673..673999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnLtEqInvestG(), LossOnLtEqInvestGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6733..67339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnLtEqInvestA(), LossOnLtEqInvestAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6734..67349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnLtEqInvestOVin(), LossOnLtEqInvestOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6735..67359999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossOnDebentLoans(), LossOnDebentLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '675..675999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprecAmortizOfFa(), DeprecAmortizOfFaName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '68..6899999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprOfIntangAssets(), DeprOfIntangAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '680..680999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprOfTangAssetsHeading(), DeprOfTangAssetsHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '681..681999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeprOfTangAssets(), DeprOfTangAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeprOnPropertiesInvestm(), DeprOnPropertiesInvestmName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '682..682999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossesAndOthers(), DetLossesAndOthersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '69..6999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnIntangibleA(), DetLossOnIntangibleAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '690..690999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnTangibleA(), DetLossOnTangibleAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '691..691999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnPropertiesInvest(), DetLossOnPropertiesInvestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '692..692999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnInventory(), DetLossOnInventoryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '693..693999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnFinishAndWip(), DetLossOnFinishAndWipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6930..69309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnGoods(), DetLossOnGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6931..69319999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnRawMat(), DetLossOnRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6932..69329999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnSupOtCons(), DetLossOnSupOtConsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6933..69339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DetLossOnTradeCredits(), DetLossOnTradeCreditsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '694..694999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForTradeTransactHeading(), ProvForTradeTransactHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '695..695999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OnerousContracts(), OnerousContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6954..69549999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherTradeTransact(), OtherTradeTransactName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6959..69599999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtSecurities(), LossesDetLtSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '696..696999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCapitalInstG(), LossesDetLtCapitalInstGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6960..69609999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCapitalInstA(), LossesDetLtCapitalInstAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6961..69619999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCapitalInsOv(), LossesDetLtCapitalInsOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6962..69629999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCapitalInsO(), LossesDetLtCapitalInsOName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6963..69639999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtSecG(), LossesDetLtSecGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6965..69659999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtSecA(), LossesDetLtSecAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6966..69669999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtSecOVin(), LossesDetLtSecOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6967..69679999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtSecOth(), LossesDetLtSecOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6968..69689999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCredits(), LossesDetLtCreditsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '697..697999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCreditsG(), LossesDetLtCreditsGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6970..69709999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCreditsA(), LossesDetLtCreditsAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6971..69719999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCreditsOV(), LossesDetLtCreditsOVName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6972..69729999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetLtCreditsOth(), LossesDetLtCreditsOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6973..69739999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStSecurities(), LossesDetStSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '698..698999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCapitalInstG(), LossesDetStCapitalInstGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6980..69809999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCapitalInstA(), LossesDetStCapitalInstAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6981..69819999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCapitalInsOv(), LossesDetStCapitalInsOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6982..69829999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCapitalInstO(), LossesDetStCapitalInstOName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6983..69839999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStSecuritiesG(), LossesDetStSecuritiesGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6985..69859999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStSecuritiesA(), LossesDetStSecuritiesAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6986..69869999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStSecuritiesOv(), LossesDetStSecuritiesOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6987..69879999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStSecuritiesO(), LossesDetStSecuritiesOName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6988..69889999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCredits(), LossesDetStCreditsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '699..699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCreditsG(), LossesDetStCreditsGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6990..69909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCreditsA(), LossesDetStCreditsAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6991..69919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCreditsOV(), LossesDetStCreditsOVName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6992..69929999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesDetStCreditsOth(), LossesDetStCreditsOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '6993..69939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesAndIncome(), SalesAndIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '7..79999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsSalesServices(), GoodsSalesServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '70..7099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsSalesHeading(), GoodsSalesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '700..700999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsSales(), GoodsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7000..70009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NationalGoodsSales(), NationalGoodsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsSalesEu(), GoodsSalesEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(IntNonEuGoodsSales(), IntNonEuGoodsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsSales(), RawMaterialsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7001..70019999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NationalRawMatSales(), NationalRawMatSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(EuRawMaterialsSales(), EuRawMaterialsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(IntRawMatSales(), IntRawMatSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoodsSales(), FinishedGoodsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '701..701999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SemiManufPartsSales(), SemiManufPartsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '702..702999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ByProductsScrapSales(), ByProductsScrapSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '703..703999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RetEmpPackSales(), RetEmpPackSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '704..704999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionOfServicesHeading(), ProvisionOfServicesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '705..705999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionOfServices(), ProvisionOfServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(InternalResourcesPosting(), InternalResourcesPostingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectsSales(), ProjectsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherServicesPosting(), OtherServicesPostingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectsSalesAdjustment(), ProjectsSalesAdjustmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProjectsSalesRecognized(), ProjectsSalesRecognizedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(NationalServices(), NationalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(EuServices(), EuServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(IntServicesNonEu(), IntServicesNonEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSaleOfServContracts(), TotalSaleOfServContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7051..70519999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ServiceContractSale(), ServiceContractSaleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesOfServiceContracts(), SalesOfServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT7', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowedOnSales(), DiscAllowedOnSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '706..706999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowedOnSalesGoods(), DiscAllowedOnSalesGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7060..70609999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSalesGoodsN(), DiscAllowOnSalesGoodsNName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSalesGoodsEu(), DiscAllowOnSalesGoodsEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSalesGoodsI(), DiscAllowOnSalesGoodsIName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSalesFinGoods(), DiscAllowOnSalesFinGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7061..70619999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSalFinGoodsN(), DiscAllowOnSalFinGoodsNName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSFinGoodsEu(), DiscAllowOnSFinGoodsEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSFinGoodsI(), DiscAllowOnSFinGoodsIName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSalesSemiManuf(), DiscAllowOnSalesSemiManufName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7062..70629999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSSemiManufN(), DiscAllowOnSSemiManufNName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSSemiManufEu(), DiscAllowOnSSemiManufEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllowOnSSemiManufI(), DiscAllowOnSSemiManufIName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllOnSalProdScrapRet(), DiscAllOnSalProdScrapRetName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7063..70639999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllOnSProdScrRetN(), DiscAllOnSProdScrRetNName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllOnSProdScrRetEu(), DiscAllOnSProdScrRetEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscAllOnSProdScrRetI(), DiscAllOnSProdScrRetIName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesReturns(), SalesReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '708..708999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsReturns(), GoodsReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7080..70809999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NationalReturnsPosting(), NationalReturnsPostingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(EuReturnsPosting(), EuReturnsPostingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(IntNonEuReturns(), IntNonEuReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoodsReturns(), FinishedGoodsReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7081..70819999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SemiManufPartsReturns(), SemiManufPartsReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7082..70829999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ByProductsScrapReturns(), ByProductsScrapReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7083..70839999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RetEmpPackReturns(), RetEmpPackReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7084..70849999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesReturnAllow(), SalesReturnAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '709..709999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsSalesReturnAllowHeading(), GoodsSalesReturnAllowHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7090..70909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GoodsSalesReturnAllow(), GoodsSalesReturnAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(FinishGoodsSalesRetAllow(), FinishGoodsSalesRetAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7091..70919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SemiManPSalesRetAllow(), SemiManPSalesRetAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7092..70929999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ByProdScrapSalesRetAllow(), ByProdScrapSalesRetAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7093..70939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RetEmpPackSalesRetAllow(), RetEmpPackSalesRetAllowName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7094..70949999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInStockIncome(), ChangesInStockIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '71..7199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChgsProdPrgManufGoods(), ChgsProdPrgManufGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '710..710999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChgsInSemiManufParts(), ChgsInSemiManufPartsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '711..711999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChangesInFinishedGoods(), ChangesInFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '712..712999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ChgsInByProdOrScrap(), ChgsInByProdOrScrapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '713..713999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorksDoneForTheComp(), WorksDoneForTheCompName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '73..7399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkDoneOnIntangA(), WorkDoneOnIntangAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '730..730999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkDoneOnTangibleAHeading(), WorkDoneOnTangibleAHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '731..731999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkDoneOnTangibleA(), WorkDoneOnTangibleAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkDoneOnRealEstateInves(), WorkDoneOnRealEstateInvesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '732..732999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkDoneIntgAInProgr(), WorkDoneIntgAInProgrName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '733..733999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubvGrantsAndAdj(), SubvGrantsAndAdjName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '74..7499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubvGrantsAndLegacies(), SubvGrantsAndLegaciesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '740..740999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubvGrantsAndLegResult(), SubvGrantsAndLegResultName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '746..746999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherSubvGrantsAndLegRes(), OtherSubvGrantsAndLegResName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '747..747999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingIncome(), OtherOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '75..7599999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JointVenturesResults(), JointVenturesResultsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '751..751999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TransferredLossAdmin(), TransferredLossAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7510..75109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TransferredProfitParticip(), TransferredProfitParticipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7511..75119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LeaseChargesHeading(), LeaseChargesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '752..752999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RoyFConcessLicencTrdmrks(), RoyFConcessLicencTrdmrksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '753..753999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CommissionsHeading(), CommissionsHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '754..754999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Commissions(), CommissionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(ServicesDoneToEmployees(), ServicesDoneToEmployeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '755..755999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MiscellaneousServicesHeading(), MiscellaneousServicesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '759..759999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MiscellaneousServices(), MiscellaneousServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(FinancialIncome(), FinancialIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76..7699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromEquityInvestm(), IncFromEquityInvestmName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '760..760999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromEquityInvestmG(), IncFromEquityInvestmGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7600..76009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromEquityInvestmA(), IncFromEquityInvestmAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7601..76019999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromEquityInvestmOV(), IncFromEquityInvestmOVName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7602..76029999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromEquityInvestmOt(), IncFromEquityInvestmOtName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7603..76039999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncDebtSecurities(), IncDebtSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '761..761999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncDebtSecuritiesG(), IncDebtSecuritiesGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7610..76109999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncDebtSecuritiesA(), IncDebtSecuritiesAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7611..76119999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncDebtSecuritiesOVin(), IncDebtSecuritiesOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7612..76129999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncDebtSecuritiesOth(), IncDebtSecuritiesOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7613..76139999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromLoans(), IncFromLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '762..762999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromLtLoans(), IncFromLtLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7620..76209999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromLtLoansG(), IncFromLtLoansGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76200..7620099999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromLtLoansA(), IncFromLtLoansAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76201..7620199999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromLtLoansOtVin(), IncFromLtLoansOtVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76202..7620299999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncLtLoansOth(), IncLtLoansOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76203..7620399999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromStLoans(), IncomeFromStLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7621..76219999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromStLoansG(), IncFromStLoansGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76210..7621099999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromStLoansA(), IncFromStLoansAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76211..7621199999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromStLoansOtVin(), IncFromStLoansOtVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76212..7621299999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncFromStLoansOth(), IncFromStLoansOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '76213..7621399999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitFinInstValueFV(), ProfitFinInstValueFVName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '763..763999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitPortfolio(), ProfitPortfolioName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7630..76309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitAssignByComp(), ProfitAssignByCompName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7631..76319999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitAvailForSale(), ProfitAvailForSaleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7632..76329999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitCoverageInstr(), ProfitCoverageInstrName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7633..76339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarketableSecurities(), ProfitMarketableSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '766..766999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecLtG(), ProfitMarkSecLtGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7660..76609999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecLtA(), ProfitMarkSecLtAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7661..76619999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecLtOVin(), ProfitMarkSecLtOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7662..76629999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecLtO(), ProfitMarkSecLtOName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7663..76639999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecStG(), ProfitMarkSecStGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7665..76659999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecStA(), ProfitMarkSecStAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7666..76669999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecStOVin(), ProfitMarkSecStOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7667..76679999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitMarkSecStO(), ProfitMarkSecStOName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7668..76689999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtIncFaAndReimbR(), LtIncFaAndReimbRName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '767..767999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExchangeGainHeading(), ExchangeGainHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '768..768999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExchangeGainInternEurHeading(), ExchangeGainInternEurHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7680..76809999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExchangeGainInternEur(), ExchangeGainInternEurName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherExchangeGains(), OtherExchangeGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7681..76819999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExchangeGainPosting(), ExchangeGainPostingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialIncomeHeadingIncome(), OtherFinancialIncomeHeadingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '769..769999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeOnRoundOffEurosHeading(), IncomeOnRoundOffEurosHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7690..76909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeOnRoundOffEuros(), IncomeOnRoundOffEurosName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(PositiveBalanceOnSettl(), PositiveBalanceOnSettlName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialIncomeHeading(), OtherFinancialIncomeHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7691..76919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherFinancialIncome(), OtherFinancialIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(ExcExtraordItemsInc(), ExcExtraordItemsIncName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '77..7799999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleAssetsProfit(), IntangibleAssetsProfitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '770..770999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TangibleAssetsProfitHeading(), TangibleAssetsProfitHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '771..771999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TangibleAssetsProfit(), TangibleAssetsProfitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), 'VAT21', true, false, false); + ContosoGLAccount.InsertGLAccount(PropertiesInvestmProfit(), PropertiesInvestmProfitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '772..772999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrfOnLtEqInvestVinC(), PrfOnLtEqInvestVinCName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '773..773999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrfOnLtEqInvestG(), PrfOnLtEqInvestGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7733..77339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrfOnLtEqInvestA(), PrfOnLtEqInvestAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7734..77349999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrfOnLtEqInvestOtVin(), PrfOnLtEqInvestOtVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7735..77359999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegDifferencesMergingBuss(), NegDifferencesMergingBussName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '774..774999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitOnDebentLoans(), ProfitOnDebentLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '775..775999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionsApplied(), ProvisionsAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '79..7999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvForIntangA(), SurplResrvForIntangAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '790..790999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvForTangA(), SurplResrvForTangAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '791..791999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvForPropInvest(), SurplResrvForPropInvestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '792..792999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvForInventory(), SurplResrvForInventoryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '793..793999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvFinishWip(), SurplResrvFinishWipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7930..79309999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvForGoods(), SurplResrvForGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7931..79319999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvForRawMat(), SurplResrvForRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7932..79329999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvForOtherMat(), SurplResrvForOtherMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7933..79339999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevDetTradeCredits(), RevDetTradeCreditsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '794..794999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionExcess(), ProvisionExcessName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '795..795999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForPensionsIncome(), ProvisionForPensionsIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7950..79509999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxationReserveIncome(), TaxationReserveIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7951..79519999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvisionForOtherRespon(), ProvisionForOtherResponName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7952..79529999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForTradeTransactIncome(), ProvForTradeTransactIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7954..79549999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OnerousContractsHeading(), OnerousContractsHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '79544..7954499999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherTradeTransactHeading(), OtherTradeTransactHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '79549..7954999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForEnvironmentalActIncome(), ProvForEnvironmentalActIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7955..79559999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvForRestructuringHeading(), ProvForRestructuringHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7956..79569999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProvPaymTranCapitalInst(), ProvPaymTranCapitalInstName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7957..79579999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplProviForLtSec(), SurplProviForLtSecName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '796..796999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCapitalInsG(), SurplResrvLtCapitalInsGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7960..79609999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCapitalInsA(), SurplResrvLtCapitalInsAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7961..79619999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrLtCapitalInsOv(), SurplResrLtCapitalInsOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7962..79629999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCapitalInsO(), SurplResrvLtCapitalInsOName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7963..79639999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtSecG(), SurplResrvLtSecGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7965..79659999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtSecA(), SurplResrvLtSecAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7966..79669999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtSecOVin(), SurplResrvLtSecOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7967..79679999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtSecOth(), SurplResrvLtSecOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7968..79689999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCredits(), SurplResrvLtCreditsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '797..797999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCreditsG(), SurplResrvLtCreditsGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7970..79709999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCreditsA(), SurplResrvLtCreditsAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7971..79719999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCreditsOv(), SurplResrvLtCreditsOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7972..79729999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvLtCreditsOt(), SurplResrvLtCreditsOtName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7973..79739999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStSecurities(), SurplResrvStSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '798..798999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCapitalInsG(), SurplResrvStCapitalInsGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7980..79809999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCapitalInsA(), SurplResrvStCapitalInsAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7981..79819999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrStCapitalInsOv(), SurplResrStCapitalInsOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7982..79829999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCapitalInsO(), SurplResrvStCapitalInsOName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7983..79839999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStSecG(), SurplResrvStSecGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7985..79859999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStSecA(), SurplResrvStSecAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7986..79869999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStSecOVin(), SurplResrvStSecOVinName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7987..79879999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStSecOth(), SurplResrvStSecOthName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7988..79889999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCredits(), SurplResrvStCreditsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '799..799999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCreditsG(), SurplResrvStCreditsGName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7990..79909999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCreditsA(), SurplResrvStCreditsAName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7991..79919999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCreditsOv(), SurplResrvStCreditsOvName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7992..79929999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SurplResrvStCreditsOt(), SurplResrvStCreditsOtName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '7993..79939999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExpensesChargedToCapital(), ExpensesChargedToCapitalName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '8..89999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinExpAssetsAndLiabVal(), FinExpAssetsAndLiabValName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '80..8099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesFinAForSale(), LossesFinAForSaleName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '800..800999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainsTransFinAForSale(), GainsTransFinAForSaleName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '802..802999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExpensesInCoverageOper(), ExpensesInCoverageOperName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '81..8199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesCashFlowCoverage(), LossesCashFlowCoverageName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '810..810999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesInvestCoverageAbroad(), LossesInvestCoverageAbroadName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '811..811999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashFlowCoverageGainsTrans(), CashFlowCoverageGainsTransName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '812..812999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestCovAbroadGainsTransf(), InvestCovAbroadGainsTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '813..813999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExpensesConversionDifferenc(), ExpensesConversionDifferencName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '82..8299999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegativeConvDifferences(), NegativeConvDifferencesName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '820..820999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PositiveConvDiffTransfer(), PositiveConvDiffTransferName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '821..821999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitTaxHeadingCapital(), ProfitTaxHeadingCapitalName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '83..8399999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitTaxCapital(), ProfitTaxCapitalName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '830..830999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RunningTaxHeading(), RunningTaxHeadingName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '8300..83009999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeferredTaxHeading(), DeferredTaxHeadingName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '8301..83019999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitDepositNegativeAdj(), ProfitDepositNegativeAdjName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '833..833999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FiscalIncomePermDiffer(), FiscalIncomePermDifferName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '834..834999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FiscalIncomeDeductions(), FiscalIncomeDeductionsName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '835..835999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PermDifferTransf(), PermDifferTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '836..836999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeducFiscalBenefTransf(), DeducFiscalBenefTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '837..837999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ProfitDepositPositiveAdj(), ProfitDepositPositiveAdjName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '838..838999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubvGrantsAndLegTransf(), SubvGrantsAndLegTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '84..8499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficialSubvTransf(), OfficialSubvTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '840..840999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GrantsAndLegTransf(), GrantsAndLegTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '841..841999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherSubvGrantsLegTrans(), OtherSubvGrantsLegTransName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '842..842999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtLossAndAdjFeeExpenses(), LtLossAndAdjFeeExpensesName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '85..8599999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ActuarialLosses(), ActuarialLossesName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '850..850999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegAdjLtFeeFixedProv(), NegAdjLtFeeFixedProvName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '851..851999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrAssetsOnSaleExp(), NonCurrAssetsOnSaleExpName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '86..8699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrAAndForSaleLos(), NonCurrAAndForSaleLosName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '860..860999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrAAndSaleGTrans(), NonCurrAAndSaleGTransName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '862..862999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartGOrACExpPosValAdj(), PartGOrACExpPosValAdjName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '89..8999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LiabPartDetG(), LiabPartDetGName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '891..891999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LiabPartDetA(), LiabPartDetAName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '892..892999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeChargedToCapital(), IncomeChargedToCapitalName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '9..99999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinIncAssetsAndLiabVal(), FinIncAssetsAndLiabValName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '90..9099999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GainsFinAForSale(), GainsFinAForSaleName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '900..900999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LossesTransfFinAForSale(), LossesTransfFinAForSaleName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '902..902999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeInCoverageOper(), IncomeInCoverageOperName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '91..9199999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeCashFlowCoverage(), IncomeCashFlowCoverageName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '910..910999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeInvestCoverageAbroad(), IncomeInvestCoverageAbroadName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '911..911999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashFlowCoverageLossTransf(), CashFlowCoverageLossTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '912..912999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvestCovAbroadLossTransf(), InvestCovAbroadLossTransfName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '913..913999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeConversionDifferences(), IncomeConversionDifferencesName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '92..9299999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PositiveConvDifferences(), PositiveConvDifferencesName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '920..920999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegativeConvDiffTransfer(), NegativeConvDiffTransferName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '921..921999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubvGrantsAndLegIncome(), SubvGrantsAndLegIncomeName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '94..9499999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficialSubvIncome(), OfficialSubvIncomeName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '940..940999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GrantsAndLegIncome(), GrantsAndLegIncomeName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '941..941999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherSubvGrantsAndLegInc(), OtherSubvGrantsAndLegIncName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '942..942999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LtProfitAndAdjFeeIncome(), LtProfitAndAdjFeeIncomeName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '95..9599999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ActuarialGains(), ActuarialGainsName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '950..950999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PosAdjLtFeeFixedProv(), PosAdjLtFeeFixedProvName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '951..951999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrAssetsOnSaleInc(), NonCurrAssetsOnSaleIncName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '96..9699999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrAAndForSaleProfit(), NonCurrAAndForSaleProfitName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '960..960999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NonCurrAAndSaleLossTrans(), NonCurrAAndSaleLossTransName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '962..962999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PartGOrACoIncPosValAdj(), PartGOrACoIncPosValAdjName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '99..9999999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrevNegAdjRecG(), PrevNegAdjRecGName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '991..991999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrevNegAdjRecA(), PrevNegAdjRecAName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '992..992999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegAdjDetValTransG(), NegAdjDetValTransGName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '993..993999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(NegAdjDetValTransA(), NegAdjDetValTransAName(), Enum::"G/L Account Income/Balance"::" ", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '994..994999999999999', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsAssetsPosting(), RawMaterialsAssetsPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsHeading(), RawMaterialsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsHeadingAssets(), RawMaterialsHeadingAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeSuppliesHeading(), OfficeSuppliesHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoodsHeading(), FinishedGoodsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsHeading(), FixedAssetsHeadingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExtraordinaryExpensesHeading(), ExtraordinaryExpensesHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExtraordinaryExpensesHeadingExpense(), ExtraordinaryExpensesHeadingExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExtraordinaryIncomeHeading(), ExtraordinaryIncomeHeadingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.SetOverwriteData(false); + UpdateIncomeStatmentBalanceAccount(); + UpdateAPIAccountTypeToGLAccount(); + end; + + local procedure UpdateIncomeStatmentBalanceAccount() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateIncomeStmtBalAcc(CreateGLAccount.Advertising(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(CreateGLAccount.PhoneAndFax(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(CreateGLAccount.OfficeSupplies(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(CreateGLAccount.ExtraordinaryExpenses(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(CreateGLAccount.Miscellaneous(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(CreateGLAccount.ExtraordinaryIncome(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(NationalPurchases(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(EuPurchases(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(IntNonEuPurch(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(PurchForNatRawMat(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(PurchForEuRawMat(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(PurchIntNonEuRawMat(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurFinGoodN(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurFinGoodEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurFinGoodI(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurcRawMatN(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurcRawMatEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurcRawMatI(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurcOthersN(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurcOthersEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnPurcOthersI(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(NationalReturns(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(EuReturns(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(InternationalNonEuRet(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(MiscellaneousReturns(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ReturnAndAllowOnGoods(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ReturnAllowOnRawMat(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ChangesInStockPosting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ChangesInRawMaterials(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Projects(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(LeaseChargesPosting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Repairs(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(InternalResources(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Consulting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProfessionalAdvisoryServices(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectCostsRetail(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectCostsAdjustment(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectCostsRecognized(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectsCostsRawMaterial(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectsCostsResources(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Transportation(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Fuel(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(InsurancePremiums(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(BankingServices(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Electricity(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Water(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherSupplies(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherServices(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherBusinessExpenses(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProfitTax(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherTaxes(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(WagesAndSalaries(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Prizes(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(PensionFunds(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(SocialSecPaidByCompany(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(InterestOnBillsDiscounted(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(FactOpInterOtherBanks(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(RealLossExchInternEur(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(RealizedLossesOnExchange(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ExpenOnRoundOffEur(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(NegativeBalanceOnSettl(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherFinancialExpenses(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherFinExpBillReject(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(LossOnTangAssetsTransf(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DeprOfTangAssets(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(NationalGoodsSales(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(GoodsSalesEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(IntNonEuGoodsSales(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(NationalRawMatSales(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(EuRawMaterialsSales(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(IntRawMatSales(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProvisionOfServices(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(InternalResourcesPosting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectsSales(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherServicesPosting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectsSalesAdjustment(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ProjectsSalesRecognized(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(NationalServices(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(EuServices(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(IntServicesNonEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ServiceContractSale(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(SalesOfServiceContracts(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSalesGoodsN(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSalesGoodsEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSalesGoodsI(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSalFinGoodsN(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSFinGoodsEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSFinGoodsI(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSSemiManufN(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSSemiManufEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllowOnSSemiManufI(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllOnSProdScrRetN(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllOnSProdScrRetEu(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(DiscAllOnSProdScrRetI(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(NationalReturnsPosting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(EuReturnsPosting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(IntNonEuReturns(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(GoodsSalesReturnAllow(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(WorkDoneOnTangibleA(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(Commissions(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(MiscellaneousServices(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ExchangeGainInternEur(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(ExchangeGainPosting(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(IncomeOnRoundOffEuros(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(PositiveBalanceOnSettl(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(OtherFinancialIncome(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(TangibleAssetsProfit(), ProfitOrLoss()); + UpdateIncomeStmtBalAcc(LossesFinAForSale(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(GainsTransFinAForSale(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(LossesCashFlowCoverage(), CashFlowCoverage()); + UpdateIncomeStmtBalAcc(LossesInvestCoverageAbroad(), NetInvestCovAbroad()); + UpdateIncomeStmtBalAcc(CashFlowCoverageGainsTrans(), CashFlowCoverage()); + UpdateIncomeStmtBalAcc(InvestCovAbroadGainsTransf(), NetInvestCovAbroad()); + UpdateIncomeStmtBalAcc(NegativeConvDifferences(), ConversionDifferences()); + UpdateIncomeStmtBalAcc(PositiveConvDiffTransfer(), ConversionDifferences()); + UpdateIncomeStmtBalAcc(FiscalIncomePermDiffer(), FiscalIncDifRetPrevYears()); + UpdateIncomeStmtBalAcc(FiscalIncomeDeductions(), FiscalIncDifRetPrevYears()); + UpdateIncomeStmtBalAcc(PermDifferTransf(), FiscalIncDifRetPrevYears()); + UpdateIncomeStmtBalAcc(DeducFiscalBenefTransf(), FiscalIncDifRetPrevYears()); + UpdateIncomeStmtBalAcc(OfficialSubvTransf(), OfficialSubv()); + UpdateIncomeStmtBalAcc(GrantsAndLegTransf(), GrantsAndLegaciesHeading()); + UpdateIncomeStmtBalAcc(OtherSubvGrantsLegTrans(), OtherSubvGrantsAndLegHeading()); + UpdateIncomeStmtBalAcc(ActuarialLosses(), GainsLossReservesAndAdjHeading()); + UpdateIncomeStmtBalAcc(NegAdjLtFeeFixedProv(), GainsLossReservesAndAdjHeading()); + UpdateIncomeStmtBalAcc(NonCurrAAndForSaleLos(), ValueAdjNoncurrentASale()); + UpdateIncomeStmtBalAcc(NonCurrAAndSaleGTrans(), ValueAdjNoncurrentASale()); + UpdateIncomeStmtBalAcc(LiabPartDetG(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(LiabPartDetA(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(GainsFinAForSale(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(LossesTransfFinAForSale(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(IncomeCashFlowCoverage(), CashFlowCoverage()); + UpdateIncomeStmtBalAcc(IncomeInvestCoverageAbroad(), NetInvestCovAbroad()); + UpdateIncomeStmtBalAcc(CashFlowCoverageLossTransf(), CashFlowCoverage()); + UpdateIncomeStmtBalAcc(InvestCovAbroadLossTransf(), NetInvestCovAbroad()); + UpdateIncomeStmtBalAcc(PositiveConvDifferences(), ConversionDifferences()); + UpdateIncomeStmtBalAcc(NegativeConvDiffTransfer(), ConversionDifferences()); + UpdateIncomeStmtBalAcc(OfficialSubvIncome(), OfficialSubv()); + UpdateIncomeStmtBalAcc(GrantsAndLegIncome(), GrantsAndLegaciesHeading()); + UpdateIncomeStmtBalAcc(OtherSubvGrantsAndLegInc(), OtherSubvGrantsAndLegHeading()); + UpdateIncomeStmtBalAcc(ActuarialGains(), GainsLossReservesAndAdjHeading()); + UpdateIncomeStmtBalAcc(PosAdjLtFeeFixedProv(), GainsLossReservesAndAdjHeading()); + UpdateIncomeStmtBalAcc(NonCurrAAndForSaleProfit(), ValueAdjNoncurrentASale()); + UpdateIncomeStmtBalAcc(NonCurrAAndSaleLossTrans(), ValueAdjNoncurrentASale()); + UpdateIncomeStmtBalAcc(PrevNegAdjRecG(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(PrevNegAdjRecA(), ValueAdjFinAForSalePosting()); + UpdateIncomeStmtBalAcc(NegAdjDetValTransG(), ValueAdjNoncurrentASale()); + UpdateIncomeStmtBalAcc(NegAdjDetValTransA(), ValueAdjNoncurrentASale()); + UpdateIncomeStmtBalAcc(ExtraordinaryExpensesHeadingExpense(), ''); + end; + + local procedure UpdateAPIAccountTypeToGLAccount() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateApiAccountType(CreateGLAccount.Advertising(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(CreateGLAccount.PhoneandFax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(CreateGLAccount.OfficeSupplies(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(CreateGLAccount.ExtraordinaryExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.Miscellaneous(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(CreateGLAccount.ExtraordinaryIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(CreateGLAccount.RetainedEarnings(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.FixedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.DepreciationofFixedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.Inventory(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.OtherLiabilities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.PersonnelExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.OtherOperatingExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.FinishedGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreateGLAccount.FixedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BasicFinancing(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CapitalHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShareCapitalHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShareCapitalPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SocialFund(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Capital(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersInvest(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersInvestSCap(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersInvestPCap(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersPendNonmonetaryInv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartPendNonmonInvSCap(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartPendNonmonInvPCap(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SharesSpecialSituations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SharesCapitalReductions(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Reserves(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SharePremium(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherCapitalInstrHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CapitalMixedFinInstr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherCapitalInstr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LegalReserveHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LegalReserve(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(VoluntaryReserves(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(VoluntaryReserve(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SpecialReserves(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(MajorPartnerSharesReserves(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StatutoryReserves(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprCapitalReserve(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodwillReserves(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OwnSharesAsGuaranteeReser(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GainsLossReservesAndAdjHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GainsLossReservesAndAdj(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersOrOwnerInvestments(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DifCapitalExchEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(UnappliedResults(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AccumulatedLosses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitOrLossHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitOrLoss(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SubvGrantsAndCurrExch(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OfficialSubvHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OfficialSubv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GrantsAndLegaciesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GrantsAndLegacies(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherSubvGrantsAndLegHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherSubvGrantsAndLeg(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ValueAdjFinAForSaleHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ValueAdjFinAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ValueAdjFinAForSalePosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CoverageOperations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashFlowCoverageHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashFlowCoverage(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NetInvestCovAbroadHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NetInvestCovAbroad(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ConversionDifferencesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ConversionDifferences(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ValueAdjNoncurrentASaleHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ValueAdjNoncurrentASale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FiscalIncRetPrevYears(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FiscalIncDifRetPrevYearsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FiscalIncDifRetPrevYears(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FiscalIncDeductDiscounts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Provision(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForPensionsEquity(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TaxationReserveEquity(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForResponsibilities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForMayorRepairs(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForEnvironmentalActEquity(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForRestructuring(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvPaymTransCapitalInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SpecialLtDebts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtSharesLiability(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestLiability(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestLiabilityG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestLiabilityA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestLiabilityOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherInvestLiability(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendNonmonetaryInvLiab(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendNonmonetaryInvLiabG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendNonmonetaryInvLiabA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendNonmonInvLiabOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherPendNonmonInv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(VincCompaniesLtDebts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtsLtWithVincFinInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtsLtToFinInstG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtsLtToFinInstA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtsLtToOthVincCredInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFixedAssetVendorsVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFixedAssetVendorsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFixedAssetVendorsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFixedAssetVendorsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinLtLeaseCreditorsVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinLtLeaseCreditorsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinLtLeaseCreditorsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinLtLeaseCreditorsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherLtDebtsToVincComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherLtDebtsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherLtDebtsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherLtDebtsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LoansAndSimilarBorrowings(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LTLoansFromFinInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LongTermDebts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LongTermDebtsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ConvertibleInGrants(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFixedAssetVendors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinLtLeaseCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredBillExchPay(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDerivFinLiab(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDerivFinLiabPortfolio(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDerivFinLiabCoverInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ObligAndDebentLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ObligAndConvDebentLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtsOthMarketableSecur(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtGuaranteesDepRec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtGuaranteesReceived(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtSalesAndServicesAdvances(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDepositsReceived(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFinancialGuarantees(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TransitionalSituations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IssuedSharesOrPartStock(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SharesSubscriptors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(EqCapitalCInCreation(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IssuedSharesOrPartFinLiab(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinLiabSharesSubs(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendFinLiabSharesOrSt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IntangibleAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ResearchCostsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ResearchCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DevCostsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DevCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FranchisedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IndustrialProperty(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Goodwill(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RightToLease(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(EdpApplications(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IntangibleAssetsAdvances(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TangibleAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FreeholdLand(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Land(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(Buildings(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SpecificInstallations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IndustrialMachineryHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IndustrialMachinery(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(IndustrialTooling(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PlantMachineryEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FurnitureHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Furniture(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(InfoProcessEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DataProcessingEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(TransportEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Vehicle(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(OtherTangibleFixedAssetsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherTangibleFixedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(PropertiesInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FreeholdLandInv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LandInv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(BuildingsInv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FixedAssetsInProgress(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ImprPrepCostsFreehLand(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ConstructionWorkInProgress(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PlantMachEquipmUndInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(MachineryUnderInstallation(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InfoProcessEquipmUndInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TangibleAssetsAdvances(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(VincCompFinInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInvestmInVincCom(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInvestmG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInvestmA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInvestmOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDebtValueVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDebtValueG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDebtValueA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDebtValueOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtCreditsToVincComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtCreditsToG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtCreditsToA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtCreditsToOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AmountsUncalledLt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AmountsUncalledG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AmountsUncalledA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AmountsUncalledOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherFinancialInvestmLt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInvestmInCapitalInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDebtValuesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDebtValues(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LongTermLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FaTransfLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StaffLtCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDerivFinCapital(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDerivFinCapPortfolio(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtDerivFinCapCoverInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtPersInsContReimbRights(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LongTermTaxations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendingInvestOnCapitalInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GuarantDepSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GuarantSecuritiesLT(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GuaranteedSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GuaranteedDepositsLT(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOfIntangibleFa(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepResearchCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepDevelopmCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepFranchisedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepIndustrialProperty(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepRightToLease(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepEdpApplications(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOfTangibleFa(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepBuildings(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepTechnicalInstallations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepIndustrialMachineryHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepIndustrialMachinery(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepIndustrialTooling(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepPlantMachineryEquip(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepFurnitureAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepFurniture(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepInfoProcessEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepTransportEquipmentHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepTransportEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepOtherTangibleFaHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepOtherTangibleFa(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepPropertiesInvestmHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepPropertiesInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeteriorForFa(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeteriorOfIntangFa(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetResearchCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetDevelopmCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetFranchisedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetIndustrialProperty(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetRightToLease(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetEdpApplications(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeteriorOfTangFa(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetFreeholdLand(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetBuilding(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetTechnicalInstallations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetIndustrialMachinery(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetIndustrialTooling(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetPlantMachineryEquip(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DepFurnitureHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetInfoProcessEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetTransportEquipment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetOtherTangFixedAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetPropertiesInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetFreeholdLandHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetBuildingHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtSecValueInVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtSecValueInGr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtSecValueInAsoc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtDebtSecuritiesVinC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtDebtSecuritiesG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtDebtSecuritiesA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtDebtSecurOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtCreditsValToVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtCreditsToGr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtCreditsToAsoc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtCreditsToOthVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtDebtSecuritiesValue(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLtCreditsValue(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Goods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AssemblyBom(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsTradeCred(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BillOfMaterTradeCred(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RawMaterialsProv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SuppliesOtherConsum(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ItemsAssembToIncorp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Fuels(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ReplacementParts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherMaterials(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Packaging(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Containers(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProdInProgrManufGoodsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProdInProgrManufGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SalesSpecialist(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WipProjectSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WipInvoicedProjectSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CostsSpecialist(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WipProjectCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WipAccruedProjectCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(JobPostingGroup(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WorkInProgressHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WorkInProgress(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ByProductsOrScrap(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ByProducts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WasteProducts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RejectsOfManufacturing(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeteriorInventoryValue(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetGoodsValue(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetSuppliesOtherConsum(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetProdProgrManufGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetForWorkInProgress(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetForFinishedGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetForByProdOrScrap(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsAndDebtors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCreditorsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(STTradeCredEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NationalTradeCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InternatTradeCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvUnderPaymentOrder(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ForCurrTradeCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(EuTradeCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredInvNotRec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredBillOfExchPay(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCrBillExPay(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BillExPayNational(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BillExInPaymtOrder(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCreditorsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCreditorsGEuroHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCreditorsGEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(ProvForBillExchPayG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCreditorsGForCurr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCrReturnEmptiesG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredInvNotRecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredAsoc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredOthVinC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCrReturnEmpties(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredAdvancesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredAdvances(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCredAdvancesNational(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(TradeCredAdvancesEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(TradeCredAdvancesExport(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(OtherCreditorsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsProvOfServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(STCreditorsEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsProvServForCurr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsInvNotRec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsBillExPayHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsBillExPay(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsComOperationsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditorsComOperations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccReceivHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccReceiv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccReceivEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NationalCustomers(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InternationalCustomers(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvoicesToBePaid(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscountedInvoicesAccount(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RejectedInvoicesAccount(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccReceivForCurr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccRecInvNotRec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccRecBillsColl(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendingReceivablesBillsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendingReceivablesBills(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscountedBillsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscountedBills(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BillsOnCollectionManagHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BillsOnCollectionManag(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(UnpaidBillsOfExchangeHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(UnpaidBillsOfExchange(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccFactoringOp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAccRecAccG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GroupTrAccRecEuroHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GroupTrAccRecEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BillsOfExchRecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TrAccFactoringOpG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ForCurrTrAccRecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TrAccRecRetEmptG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GroupTrAccRecRetEmpt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TrAccRecInvNotRecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeAcsRecAccA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TrAccRecOtherVincComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BadDoubtfulDebts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TrAccRecRetEmpt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeDebtorsCreditBalances(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StTrDebtAdvancesNational(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(StTrDebtAdvancesEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(StTrDebtAdvancesExport(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(OtherDebtors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Debtors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsForeignCurr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsInvNotRec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsBillsOfCollection(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsReceivablesPendBills(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsDiscountedBills(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtBillsOnCollManag(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsUnpaidBills(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BadDoubtfulDebt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtorsJointVentures(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Employees(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RemunerationAdvancesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RemunerationAdvances(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendingRemunerations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PendingFixContribSistRem(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GeneralGovernment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentReceivable(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentVatReceivHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentVatReceiv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentSubvReceiv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentTaxReturnReceiv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SocialSecurity(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SocialSecurityReceivable(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ValueAddedTaxDeduct(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovVatDeductible(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovDeducPaymOnAccHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovDeducPaymOnAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeferredTaxAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeducTemporaryDifferences(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeferredDeductDiscounts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CreditForLossesToComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentCreditor(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentCreditorVatHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentCreditorVat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentCreditorIrpfHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovernmentCreditorIrpf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovCredCorpIncTaxHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovCredCorpIncTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovCreditorSubvHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GovCreditorSubv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SocialSecurityCreditorHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SocialSecurityCreditor(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ValueAddTaxCollByComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(VatCollByTheComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(VatEuReversion(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeferredProfitTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChargSprOverSevPeriods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Prepayments(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(UnearnedIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetCreditValAndStVend(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetCreditValTradeOper(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetCreditValTradeOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetCreditValTradeOG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetCreditValTradeOA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetCreditValTradeOOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForTradeTransactLiabilities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForBurdensomeContracts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForOtherTradeTransact(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinancialAccounts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermInvestments(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDebentLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TreasureBills(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ConvertibleDebentLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StSharesLiability(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtsAsMarketableSec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BorrowingsInterests(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividendsLiability(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprMarketableSec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOblAndDebLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprConverOblAndDebL(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOtherMarketableSec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDebtsWithVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StDebtsVincFinInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LoansFromFinInstitG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LoansFromFinInstitA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LoansFromFinInstitOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FixedAssetCredVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FixedAssetCredG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FixedAssetCreditorsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FixedAssetsCredOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFinLeaseCredVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFinLeaseCredG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFinLeaseCredA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFinLeaseCredOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherStDebtsVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDebtsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDebtsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDebtsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StDebtInterestsVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoansDebt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoansFromFinInstitutHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoansFromFinInstitut(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermLoansPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StDebtsForCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtOnDiscountedBillsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtOnDiscountedBills(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscInvoiceDebtAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FactoringOpDebtAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInSubvAndLeg(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFixedAssetCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFinLeaseCreditors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StBillOfExchPay(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ActiveDividendToPay(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDebtIntCredInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDebtInterest(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermProvisions(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForPensionsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TaxationReserveHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForResponsibilitiesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForFaDismantle(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForEnvironmentalActHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForRestructuring(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForPaymLiabInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GroupAssocFinInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StTradeInvestmVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StTradeInvestmG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StTradeInvestmA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StTradeInvestmOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFixedIncomeSecVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFixedIncomeSecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFixedIncomeSecA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFixedIncomeSecOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoansToVincComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoansToGroupC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoansToAComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoansToOtherVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinInvestmInterestVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinInvestmInterestG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinInvestmInterestsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinInvestmInterestsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestCreditsToVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestCreditsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestCreditsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestCreditsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividReceivFinInvInVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividReceivFinInvG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividReceivFinInvA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividReceivFinInvOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StDemandExpendEqVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StDemandExpendEqG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StDemandExpendEqA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StDemandExpendEqOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterimFinancialInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestmentsInCapitalInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFixedIncomeSecurity(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFixedIncomeInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermLoansHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFaTransferenceLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StaffStCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividendsReceivable(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SecuritiesStInterests(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StCreditsInterests(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermTaxations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StAmtsUncalledOnShares(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherNonBankAccounts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProprietorsAccount(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnAdministrCheckingAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OthersCheckingAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GroupVincCheckingAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AsocVincCheckingAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OthersVincCheckingAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(MergeAndSplitCheckAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersDissolvedSociety(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersMergeAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersSplitSociety(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnersSplitAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TemporaryJoinsChecAcc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(UnappliedItems(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DemandExpendOnEquity(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DemandExpendEqGroup(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DemandExpendEqAsoc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DemandExpendEqOtVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DemandExpendEqOthers(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterimActiveDividends(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SharehPaymentCallable(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SharehPayCallSharesOrG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SharehPayCallFinLiab(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DerivativeInstrumentSt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StFinDerivAssetsPortfolio(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AssetsDerivInstStCovIns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LiabDerivInstStPortfolio(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LiabDerivInstStCovIns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SecDepositsReceivGuarant(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermGuaranteesReceiv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermDepositsReceiv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermGuaranteedSec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ShortTermGuarantDeposits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterestPaidInAdvance(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterestReceivedInAdvance(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinancialGuaranteesSt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashFlow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashEuroHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashForeignCurrency(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BanksAccountAtSightEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BanksEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BanksAccAtSightFCurr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BanksForeignCurrency(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BanksSavingAccEuro(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SavingAccount(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BanksSavingAccForCurr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(HighLiqStInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NonCurrentAssetsForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestmWithVincComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinancialInvestments(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InventoryTradeDebtors(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Provisions(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SpecialCharactDebts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtsWithVincComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TradeCreditorsAndOthPay(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueFinancialProducts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStPartVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStPartG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStPartA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStSecVincC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStSecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStSecA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStSecOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStCreditsToVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStCreditsToG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStCreditsToAs(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStCreditsToOtV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValueStCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValNoncurrAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValFixNoncAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValRelatedInvesForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValFinInvestForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValStocksDebtsAndOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetValOtherAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CostAndExpenseAccounts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Purchases(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PurchasesOfGoodsForResale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NationalPurchases(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(EuPurchases(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(IntNonEuPurch(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(PurchForRawMaterials(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PurchForNatRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(PurchForEuRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(PurchIntNonEuRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(PurchasesForConsumables(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowedOnPurch(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowOnPurchFinGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowOnPurFinGoodN(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurFinGoodEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurFinGoodI(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurchRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowOnPurcRawMatN(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurcRawMatEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurcRawMatI(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurchOthers(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowOnPurcOthersN(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurcOthersEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(DiscAllowOnPurcOthersI(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(WorkDoneByOtherComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PurchaseReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsPurchasedReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NationalReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(EuReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(InternationalNonEuRet(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(MiscellaneousReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(RawMatPurchasedReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ConsumPurchasedReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PurchasesReturnAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsPurchReturnAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ReturnAndAllowOnGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(RawMatPurchRetAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ReturnAllowOnRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(ConsumPurchRetAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChangesInStockHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChangesInStock(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChangesInStockPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChangesInRawMaterialsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChangesInRawMaterials(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChgInSuppOtherConsum(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExternalChargesForServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ResearchAndDevelopment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Projects(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(LeaseAndRoyalties(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LeaseChargesPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(MaintenancesAndRepairs(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Repairs(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(ProfessionalServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InternalResources(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(Consulting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(ProfessionalAdvisoryServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(ProjectCostsRetail(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProjectCostsAdjustment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProjectCostsRecognized(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProjectsCostsRawMaterial(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProjectsCostsResources(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TransportationHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Transportation(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(Fuel(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(InsurancePremiumsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InsurancePremiums(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(BankingServicesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BankingServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(AdvertisingPublicRelations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Supplies(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Electricity(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(Water(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(OtherSupplies(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(OtherServicesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(OtherBusinessExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(Tax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitTaxHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RunningTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeferredTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherTaxesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherTaxes(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegativeAdjustmOnProfits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegativeAdjustmIndivTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegativeAdjustmRunningAct(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegativeAdjustmInvestTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TaxRefunds(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PositiveAdjustmOnProfits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PositiveAdjustmIndivTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PositiveAdjustmRunningAct(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PositiveAdjustmInvestTax(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WagesAndSalariesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WagesAndSalaries(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Prizes(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PensionFunds(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Compensations(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SocialSecPaidByCompanyHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SocialSecPaidByCompany(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFeeInFixedContribSist(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtFeeInFixedProvisionSis(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(AnnualContributions(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherCosts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FeesByEquityProducts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PersonnelRetEqProd(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PersonnelRetCashEqProd(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherSocialExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(BadDebtLosses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartnershipsAndOthers(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TransferredProfitAdmin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TransferredLossParticipant(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherOperatingLosses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinancialExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinExpProvUpdates(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterestDebentLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInterestDebentLoansG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInterestDebentLoansA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInterestDebentLoansOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtInterestDebentLoansOt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestDebentLoansG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestDebentLoansA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestDebentLoansOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StInterestDebentLoansOt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterest(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestGroup(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestAssoc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestOtVinc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestFinIns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DebtInterestOther(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesFinInstValueFV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PortfolioLosses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesAssignByComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesAvailForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CoverageInstLosses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividendLiability(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividendLiabilityG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividendLiabilityA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividendLiabilityOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DividendLiabilityOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterestOnBillsDisc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IntOnBillsDiscFinInsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IntOnBillsDiscFinInsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IntOnBillsDiscFinInsV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterestOnBillsDiscOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InterestOnBillsDiscounted(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(FactOpInterBanksG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FactOpInterBanksA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FactOpInterBanksV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FactOpInterOtherBanksHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FactOpInterOtherBanks(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(SecuritiesLoss(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtSecuritiesLossG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtSecuritiesLossA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtSecuritiesLossOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtSecuritiesLossOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StSecuritiesLossG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StSecuritiesLossA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StSecuritiesLossOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StSecuritiesLossOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LoanLoss(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtLoanLossG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtLoanLossA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtLoanLossOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtLoanLossOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoanLossG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoanLossA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoanLossOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(StLoanLossOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RealizedLossesOnExchangeHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RealLossExchInternEurHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RealLossExchInternEur(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherRealLossesOnExch(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RealizedLossesOnExchange(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherFinancialExpensesHeadingExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExpenOnRoundOffEurHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExpenOnRoundOffEur(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(NegativeBalanceOnSettl(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(OtherFinancialExpensesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherFinancialExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Purchase); + UpdateApiAccountType(OtherFinExpBillReject(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExcepExtrItemsExp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnIntangATransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnTangAssetsTransfHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnTangAssetsTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnPropertiesInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnLtEqInvestVinC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnLtEqInvestG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnLtEqInvestA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnLtEqInvestOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossOnDebentLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprecAmortizOfFa(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOfIntangAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOfTangAssetsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOfTangAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeprOnPropertiesInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossesAndOthers(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnIntangibleA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnTangibleA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnPropertiesInvest(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnInventory(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnFinishAndWip(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnSupOtCons(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DetLossOnTradeCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForTradeTransactHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OnerousContracts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherTradeTransact(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCapitalInstG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCapitalInstA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCapitalInsOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCapitalInsO(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtSecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtSecA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtSecOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtSecOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCreditsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCreditsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCreditsOV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetLtCreditsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCapitalInstG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCapitalInstA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCapitalInsOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCapitalInstO(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStSecuritiesG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStSecuritiesA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStSecuritiesOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStSecuritiesO(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCreditsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCreditsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCreditsOV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesDetStCreditsOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SalesAndIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsSalesServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsSalesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NationalGoodsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(GoodsSalesEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(IntNonEuGoodsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(RawMaterialsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NationalRawMatSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(EuRawMaterialsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(IntRawMatSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(FinishedGoodsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SemiManufPartsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ByProductsScrapSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RetEmpPackSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionOfServicesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionOfServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(InternalResourcesPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(ProjectsSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherServicesPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(ProjectsSalesAdjustment(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProjectsSalesRecognized(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(NationalServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(EuServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(IntServicesNonEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(TotalSaleOfServContracts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ServiceContractSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(SalesOfServiceContracts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowedOnSales(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowedOnSalesGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowOnSalesGoodsN(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSalesGoodsEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSalesGoodsI(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSalesFinGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowOnSalFinGoodsN(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSFinGoodsEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSFinGoodsI(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSalesSemiManuf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllowOnSSemiManufN(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSSemiManufEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllowOnSSemiManufI(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllOnSalProdScrapRet(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DiscAllOnSProdScrRetN(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllOnSProdScrRetEu(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(DiscAllOnSProdScrRetI(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(SalesReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NationalReturnsPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(EuReturnsPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(IntNonEuReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(FinishedGoodsReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SemiManufPartsReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ByProductsScrapReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RetEmpPackReturns(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SalesReturnAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsSalesReturnAllowHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GoodsSalesReturnAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(FinishGoodsSalesRetAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SemiManPSalesRetAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ByProdScrapSalesRetAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RetEmpPackSalesRetAllow(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChangesInStockIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChgsProdPrgManufGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChgsInSemiManufParts(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChangesInFinishedGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ChgsInByProdOrScrap(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WorksDoneForTheComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WorkDoneOnIntangA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WorkDoneOnTangibleAHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WorkDoneOnTangibleA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(WorkDoneOnRealEstateInves(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(WorkDoneIntgAInProgr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SubvGrantsAndAdj(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SubvGrantsAndLegacies(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SubvGrantsAndLegResult(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherSubvGrantsAndLegRes(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherOperatingIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(JointVenturesResults(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TransferredLossAdmin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TransferredProfitParticip(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LeaseChargesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RoyFConcessLicencTrdmrks(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CommissionsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(Commissions(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(ServicesDoneToEmployees(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(MiscellaneousServicesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(MiscellaneousServices(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(FinancialIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromEquityInvestm(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromEquityInvestmG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromEquityInvestmA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromEquityInvestmOV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromEquityInvestmOt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncDebtSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncDebtSecuritiesG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncDebtSecuritiesA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncDebtSecuritiesOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncDebtSecuritiesOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromLtLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromLtLoansG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromLtLoansA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromLtLoansOtVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncLtLoansOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeFromStLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromStLoansG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromStLoansA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromStLoansOtVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncFromStLoansOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitFinInstValueFV(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitPortfolio(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitAssignByComp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitAvailForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitCoverageInstr(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarketableSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecLtG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecLtA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecLtOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecLtO(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecStG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecStA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecStOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitMarkSecStO(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtIncFaAndReimbR(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExchangeGainHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExchangeGainInternEurHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExchangeGainInternEur(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherExchangeGains(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExchangeGainPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherFinancialIncomeHeadingIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeOnRoundOffEurosHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeOnRoundOffEuros(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(PositiveBalanceOnSettl(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(OtherFinancialIncomeHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherFinancialIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(ExcExtraordItemsInc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IntangibleAssetsProfit(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TangibleAssetsProfitHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TangibleAssetsProfit(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::Sale); + UpdateApiAccountType(PropertiesInvestmProfit(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PrfOnLtEqInvestVinC(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PrfOnLtEqInvestG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PrfOnLtEqInvestA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PrfOnLtEqInvestOtVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegDifferencesMergingBuss(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitOnDebentLoans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionsApplied(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvForIntangA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvForTangA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvForPropInvest(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvForInventory(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvFinishWip(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvForGoods(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvForRawMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvForOtherMat(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RevDetTradeCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionExcess(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForPensionsIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(TaxationReserveIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvisionForOtherRespon(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForTradeTransactIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OnerousContractsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherTradeTransactHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForEnvironmentalActIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvForRestructuringHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProvPaymTranCapitalInst(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplProviForLtSec(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCapitalInsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCapitalInsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrLtCapitalInsOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCapitalInsO(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtSecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtSecA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtSecOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtSecOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCreditsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCreditsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCreditsOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvLtCreditsOt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStSecurities(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCapitalInsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCapitalInsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrStCapitalInsOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCapitalInsO(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStSecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStSecA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStSecOVin(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStSecOth(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCredits(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCreditsG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCreditsA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCreditsOv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SurplResrvStCreditsOt(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExpensesChargedToCapital(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinExpAssetsAndLiabVal(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesFinAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GainsTransFinAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExpensesInCoverageOper(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesCashFlowCoverage(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesInvestCoverageAbroad(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashFlowCoverageGainsTrans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestCovAbroadGainsTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExpensesConversionDifferenc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegativeConvDifferences(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PositiveConvDiffTransfer(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitTaxHeadingCapital(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitTaxCapital(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RunningTaxHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeferredTaxHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitDepositNegativeAdj(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FiscalIncomePermDiffer(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FiscalIncomeDeductions(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PermDifferTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(DeducFiscalBenefTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ProfitDepositPositiveAdj(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SubvGrantsAndLegTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OfficialSubvTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GrantsAndLegTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherSubvGrantsLegTrans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtLossAndAdjFeeExpenses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ActuarialLosses(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegAdjLtFeeFixedProv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NonCurrAssetsOnSaleExp(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NonCurrAAndForSaleLos(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NonCurrAAndSaleGTrans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartGOrACExpPosValAdj(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LiabPartDetG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LiabPartDetA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeChargedToCapital(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinIncAssetsAndLiabVal(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GainsFinAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LossesTransfFinAForSale(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeInCoverageOper(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeCashFlowCoverage(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeInvestCoverageAbroad(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(CashFlowCoverageLossTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(InvestCovAbroadLossTransf(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(IncomeConversionDifferences(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PositiveConvDifferences(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegativeConvDiffTransfer(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(SubvGrantsAndLegIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OfficialSubvIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(GrantsAndLegIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OtherSubvGrantsAndLegInc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(LtProfitAndAdjFeeIncome(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ActuarialGains(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PosAdjLtFeeFixedProv(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NonCurrAssetsOnSaleInc(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NonCurrAAndForSaleProfit(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NonCurrAAndSaleLossTrans(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PartGOrACoIncPosValAdj(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PrevNegAdjRecG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(PrevNegAdjRecA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegAdjDetValTransG(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(NegAdjDetValTransA(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RawMaterialsAssetsPosting(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RawMaterialsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(RawMaterialsHeadingAssets(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(OfficeSuppliesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FinishedGoodsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(FixedAssetsHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExtraordinaryExpensesHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExtraordinaryExpensesHeadingExpense(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + UpdateApiAccountType(ExtraordinaryIncomeHeading(), Enum::"G/L Account Type"::Posting, Enum::"General Posting Type"::" "); + AddCategoriesToGLAccounts(); + end; + + procedure AddCategoriesToGLAccounts() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + begin + UpdateGLAccounts(GLAccountCategory, '2', '298'); + UpdateGLAccounts(GLAccountCategory, '3', '3399'); + UpdateGLAccounts(GLAccountCategory, '5', '5999'); + end; + GLAccountCategory."Account Category"::Liabilities: + UpdateGLAccounts(GLAccountCategory, '47', '4799'); + GLAccountCategory."Account Category"::Equity: + UpdateGLAccounts(GLAccountCategory, '10', '199'); + GLAccountCategory."Account Category"::Income: + UpdateGLAccounts(GLAccountCategory, '7', '7993'); + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, '60', '6199'); + GLAccountCategory."Account Category"::Expense: + UpdateGLAccounts(GLAccountCategory, '62', '6993'); + end; + end; + + procedure AssignSubcategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, '57', '579'); + GLAccountCategoryMgt.GetAR(): + UpdateGLAccounts(GLAccountCategory, '43', '4499'); + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, '3', '3399'); + GLAccountCategoryMgt.GetEquipment(): + UpdateGLAccounts(GLAccountCategory, '2', '298'); + GLAccountCategoryMgt.GetAccumDeprec(): + UpdateGLAccounts(GLAccountCategory, '28', '2899'); + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, '40', '4190'); + UpdateGLAccounts(GLAccountCategory, '46', '4999'); + end; + GLAccountCategoryMgt.GetIncomeService(): + UpdateGLAccounts(GLAccountCategory, '705', '70599'); + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, '70', '704'); + GLAccountCategoryMgt.GetIncomeSalesDiscounts(): + UpdateGLAccounts(GLAccountCategory, '706', '7069'); + GLAccountCategoryMgt.GetIncomeSalesReturns(): + UpdateGLAccounts(GLAccountCategory, '708', '7099'); + GLAccountCategoryMgt.GetIncomeInterest(): + UpdateGLAccounts(GLAccountCategory, '76', '7699'); + GLAccountCategoryMgt.GetAdvertisingExpense(): + UpdateGLAccounts(GLAccountCategory, '627', '6279'); + GLAccountCategoryMgt.GetInterestExpense(): + UpdateGLAccounts(GLAccountCategory, '66', '6993'); + GLAccountCategoryMgt.GetPayrollExpense(): + UpdateGLAccounts(GLAccountCategory, '64', '649'); + GLAccountCategoryMgt.GetUtilitiesExpense(): + UpdateGLAccounts(GLAccountCategory, '628', '62899'); + GLAccountCategoryMgt.GetTaxExpense(): + UpdateGLAccounts(GLAccountCategory, '630', '6399'); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + local procedure UpdateApiAccountType(GLAccountNo: Code[20]; AccountType: Enum "G/L Account Type"; GenPostingType: Enum "General Posting Type") + var + GLAccount: Record "G/L Account"; + begin + if not GLAccount.Get(GLAccountNo) then + exit; + + GLAccount.Validate("API Account Type", AccountType); + GLAccount.Validate("Gen. Posting Type", GenPostingType); + if GLAccount."No." = GovernmentCreditorIrpf() then + GLAccount.Validate("Ignore in 347 Report", true); + GLAccount.Modify(true); + end; + + procedure BasicFinancing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BasicFinancingName())); + end; + + procedure BasicFinancingName(): Text[100] + begin + exit(BasicFinancingTok); + end; + + procedure CapitalHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalHeadingName())); + end; + + procedure CapitalHeadingName(): Text[100] + begin + exit(CapitalHeadingTok); + end; + + procedure ShareCapitalHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareCapitalHeadingName())); + end; + + procedure ShareCapitalHeadingName(): Text[100] + begin + exit(ShareCapitalHeadingTok); + end; + + procedure ShareCapitalPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareCapitalPostingName())); + end; + + procedure ShareCapitalPostingName(): Text[100] + begin + exit(ShareCapitalPostingTok); + end; + + procedure SocialFund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialFundName())); + end; + + procedure SocialFundName(): Text[100] + begin + exit(SocialFundTok); + end; + + procedure Capital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalName())); + end; + + procedure CapitalName(): Text[100] + begin + exit(CapitalTok); + end; + + procedure PartnersInvest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersInvestName())); + end; + + procedure PartnersInvestName(): Text[100] + begin + exit(PartnersInvestTok); + end; + + procedure PartnersInvestSCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersInvestSCapName())); + end; + + procedure PartnersInvestSCapName(): Text[100] + begin + exit(PartnersInvestSCapTok); + end; + + procedure PartnersInvestPCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersInvestPCapName())); + end; + + procedure PartnersInvestPCapName(): Text[100] + begin + exit(PartnersInvestPCapTok); + end; + + procedure PartnersPendNonmonetaryInv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersPendNonmonetaryInvName())); + end; + + procedure PartnersPendNonmonetaryInvName(): Text[100] + begin + exit(PartnersPendNonmonetaryInvTok); + end; + + procedure PartPendNonmonInvSCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartPendNonmonInvSCapName())); + end; + + procedure PartPendNonmonInvSCapName(): Text[100] + begin + exit(PartPendNonmonInvSCapTok); + end; + + procedure PartPendNonmonInvPCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartPendNonmonInvPCapName())); + end; + + procedure PartPendNonmonInvPCapName(): Text[100] + begin + exit(PartPendNonmonInvPCapTok); + end; + + procedure SharesSpecialSituations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesSpecialSituationsName())); + end; + + procedure SharesSpecialSituationsName(): Text[100] + begin + exit(SharesSpecialSituationsTok); + end; + + procedure SharesCapitalReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesCapitalReductionsName())); + end; + + procedure SharesCapitalReductionsName(): Text[100] + begin + exit(SharesCapitalReductionsTok); + end; + + procedure Reserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReservesName())); + end; + + procedure ReservesName(): Text[100] + begin + exit(ReservesTok); + end; + + procedure SharePremium(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharePremiumName())); + end; + + procedure SharePremiumName(): Text[100] + begin + exit(SharePremiumTok); + end; + + procedure OtherCapitalInstrHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCapitalInstrHeadingName())); + end; + + procedure OtherCapitalInstrHeadingName(): Text[100] + begin + exit(OtherCapitalInstrHeadingTok); + end; + + procedure CapitalMixedFinInstr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalMixedFinInstrName())); + end; + + procedure CapitalMixedFinInstrName(): Text[100] + begin + exit(CapitalMixedFinInstrTok); + end; + + procedure OtherCapitalInstr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCapitalInstrName())); + end; + + procedure OtherCapitalInstrName(): Text[100] + begin + exit(OtherCapitalInstrTok); + end; + + procedure LegalReserveHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalReserveHeadingName())); + end; + + procedure LegalReserveHeadingName(): Text[100] + begin + exit(LegalReserveHeadingTok); + end; + + procedure LegalReserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalReserveName())); + end; + + procedure LegalReserveName(): Text[100] + begin + exit(LegalReserveTok); + end; + + procedure VoluntaryReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VoluntaryReservesName())); + end; + + procedure VoluntaryReservesName(): Text[100] + begin + exit(VoluntaryReservesTok); + end; + + procedure VoluntaryReserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VoluntaryReserveName())); + end; + + procedure VoluntaryReserveName(): Text[100] + begin + exit(VoluntaryReserveTok); + end; + + procedure SpecialReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SpecialReservesName())); + end; + + procedure SpecialReservesName(): Text[100] + begin + exit(SpecialReservesTok); + end; + + procedure MajorPartnerSharesReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MajorPartnerSharesReservesName())); + end; + + procedure MajorPartnerSharesReservesName(): Text[100] + begin + exit(MajorPartnerSharesReservesTok); + end; + + procedure StatutoryReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutoryReservesName())); + end; + + procedure StatutoryReservesName(): Text[100] + begin + exit(StatutoryReservesTok); + end; + + procedure DeprCapitalReserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprCapitalReserveName())); + end; + + procedure DeprCapitalReserveName(): Text[100] + begin + exit(DeprCapitalReserveTok); + end; + + procedure GoodwillReserves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillReservesName())); + end; + + procedure GoodwillReservesName(): Text[100] + begin + exit(GoodwillReservesTok); + end; + + procedure OwnSharesAsGuaranteeReser(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OwnSharesAsGuaranteeReserName())); + end; + + procedure OwnSharesAsGuaranteeReserName(): Text[100] + begin + exit(OwnSharesAsGuaranteeReserTok); + end; + + procedure GainsLossReservesAndAdjHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsLossReservesAndAdjHeadingName())); + end; + + procedure GainsLossReservesAndAdjHeadingName(): Text[100] + begin + exit(GainsLossReservesAndAdjHeadingTok); + end; + + procedure GainsLossReservesAndAdj(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsLossReservesAndAdjName())); + end; + + procedure GainsLossReservesAndAdjName(): Text[100] + begin + exit(GainsLossReservesAndAdjTok); + end; + + procedure PartnersOrOwnerInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersOrOwnerInvestmentsName())); + end; + + procedure PartnersOrOwnerInvestmentsName(): Text[100] + begin + exit(PartnersOrOwnerInvestmentsTok); + end; + + procedure DifCapitalExchEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DifCapitalExchEuroName())); + end; + + procedure DifCapitalExchEuroName(): Text[100] + begin + exit(DifCapitalExchEuroTok); + end; + + procedure UnappliedResults(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnappliedResultsName())); + end; + + procedure UnappliedResultsName(): Text[100] + begin + exit(UnappliedResultsTok); + end; + + procedure AccumulatedLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedLossesName())); + end; + + procedure AccumulatedLossesName(): Text[100] + begin + exit(AccumulatedLossesTok); + end; + + procedure ProfitOrLossHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitOrLossHeadingName())); + end; + + procedure ProfitOrLossHeadingName(): Text[100] + begin + exit(ProfitOrLossHeadingTok); + end; + + procedure ProfitOrLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitOrLossName())); + end; + + procedure ProfitOrLossName(): Text[100] + begin + exit(ProfitOrLossTok); + end; + + procedure SubvGrantsAndCurrExch(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubvGrantsAndCurrExchName())); + end; + + procedure SubvGrantsAndCurrExchName(): Text[100] + begin + exit(SubvGrantsAndCurrExchTok); + end; + + procedure OfficialSubvHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficialSubvHeadingName())); + end; + + procedure OfficialSubvHeadingName(): Text[100] + begin + exit(OfficialSubvHeadingTok); + end; + + procedure OfficialSubv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficialSubvName())); + end; + + procedure OfficialSubvName(): Text[100] + begin + exit(OfficialSubvTok); + end; + + procedure GrantsAndLegaciesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GrantsAndLegaciesHeadingName())); + end; + + procedure GrantsAndLegaciesHeadingName(): Text[100] + begin + exit(GrantsAndLegaciesHeadingTok); + end; + + procedure GrantsAndLegacies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GrantsAndLegaciesName())); + end; + + procedure GrantsAndLegaciesName(): Text[100] + begin + exit(GrantsAndLegaciesTok); + end; + + procedure OtherSubvGrantsAndLegHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSubvGrantsAndLegHeadingName())); + end; + + procedure OtherSubvGrantsAndLegHeadingName(): Text[100] + begin + exit(OtherSubvGrantsAndLegHeadingTok); + end; + + procedure OtherSubvGrantsAndLeg(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSubvGrantsAndLegName())); + end; + + procedure OtherSubvGrantsAndLegName(): Text[100] + begin + exit(OtherSubvGrantsAndLegTok); + end; + + procedure ValueAdjFinAForSaleHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValueAdjFinAForSaleHeadingName())); + end; + + procedure ValueAdjFinAForSaleHeadingName(): Text[100] + begin + exit(ValueAdjFinAForSaleHeadingTok); + end; + + procedure ValueAdjFinAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValueAdjFinAForSaleName())); + end; + + procedure ValueAdjFinAForSaleName(): Text[100] + begin + exit(ValueAdjFinAForSaleTok); + end; + + procedure ValueAdjFinAForSalePosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValueAdjFinAForSalePostingName())); + end; + + procedure ValueAdjFinAForSalePostingName(): Text[100] + begin + exit(ValueAdjFinAForSalePostingTok); + end; + + procedure CoverageOperations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CoverageOperationsName())); + end; + + procedure CoverageOperationsName(): Text[100] + begin + exit(CoverageOperationsTok); + end; + + procedure CashFlowCoverageHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashFlowCoverageHeadingName())); + end; + + procedure CashFlowCoverageHeadingName(): Text[100] + begin + exit(CashFlowCoverageHeadingTok); + end; + + procedure CashFlowCoverage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashFlowCoverageName())); + end; + + procedure CashFlowCoverageName(): Text[100] + begin + exit(CashFlowCoverageTok); + end; + + procedure NetInvestCovAbroadHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetInvestCovAbroadHeadingName())); + end; + + procedure NetInvestCovAbroadHeadingName(): Text[100] + begin + exit(NetInvestCovAbroadHeadingTok); + end; + + procedure NetInvestCovAbroad(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetInvestCovAbroadName())); + end; + + procedure NetInvestCovAbroadName(): Text[100] + begin + exit(NetInvestCovAbroadTok); + end; + + procedure ConversionDifferencesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConversionDifferencesHeadingName())); + end; + + procedure ConversionDifferencesHeadingName(): Text[100] + begin + exit(ConversionDifferencesHeadingTok); + end; + + procedure ConversionDifferences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConversionDifferencesName())); + end; + + procedure ConversionDifferencesName(): Text[100] + begin + exit(ConversionDifferencesTok); + end; + + procedure ValueAdjNoncurrentASaleHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValueAdjNoncurrentASaleHeadingName())); + end; + + procedure ValueAdjNoncurrentASaleHeadingName(): Text[100] + begin + exit(ValueAdjNoncurrentASaleHeadingTok); + end; + + procedure ValueAdjNoncurrentASale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValueAdjNoncurrentASaleName())); + end; + + procedure ValueAdjNoncurrentASaleName(): Text[100] + begin + exit(ValueAdjNoncurrentASaleTok); + end; + + procedure FiscalIncRetPrevYears(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FiscalIncRetPrevYearsName())); + end; + + procedure FiscalIncRetPrevYearsName(): Text[100] + begin + exit(FiscalIncRetPrevYearsTok); + end; + + procedure FiscalIncDifRetPrevYearsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FiscalIncDifRetPrevYearsHeadingName())); + end; + + procedure FiscalIncDifRetPrevYearsHeadingName(): Text[100] + begin + exit(FiscalIncDifRetPrevYearsHeadingTok); + end; + + procedure FiscalIncDifRetPrevYears(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FiscalIncDifRetPrevYearsName())); + end; + + procedure FiscalIncDifRetPrevYearsName(): Text[100] + begin + exit(FiscalIncDifRetPrevYearsTok); + end; + + procedure FiscalIncDeductDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FiscalIncDeductDiscountsName())); + end; + + procedure FiscalIncDeductDiscountsName(): Text[100] + begin + exit(FiscalIncDeductDiscountsTok); + end; + + procedure Provision(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionName())); + end; + + procedure ProvisionName(): Text[100] + begin + exit(ProvisionTok); + end; + + procedure ProvisionForPensionsEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForPensionsEquityName())); + end; + + procedure ProvisionForPensionsEquityName(): Text[100] + begin + exit(ProvisionForPensionsEquityTok); + end; + + procedure TaxationReserveEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxationReserveEquityName())); + end; + + procedure TaxationReserveEquityName(): Text[100] + begin + exit(TaxationReserveEquityTok); + end; + + procedure ProvisionForResponsibilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForResponsibilitiesName())); + end; + + procedure ProvisionForResponsibilitiesName(): Text[100] + begin + exit(ProvisionForResponsibilitiesTok); + end; + + procedure ProvisionForMayorRepairs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForMayorRepairsName())); + end; + + procedure ProvisionForMayorRepairsName(): Text[100] + begin + exit(ProvisionForMayorRepairsTok); + end; + + procedure ProvForEnvironmentalActEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForEnvironmentalActEquityName())); + end; + + procedure ProvForEnvironmentalActEquityName(): Text[100] + begin + exit(ProvForEnvironmentalActEquityTok); + end; + + procedure ProvisionForRestructuring(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForRestructuringName())); + end; + + procedure ProvisionForRestructuringName(): Text[100] + begin + exit(ProvisionForRestructuringTok); + end; + + procedure ProvPaymTransCapitalInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvPaymTransCapitalInstName())); + end; + + procedure ProvPaymTransCapitalInstName(): Text[100] + begin + exit(ProvPaymTransCapitalInstTok); + end; + + procedure SpecialLtDebts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SpecialLtDebtsName())); + end; + + procedure SpecialLtDebtsName(): Text[100] + begin + exit(SpecialLtDebtsTok); + end; + + procedure LtSharesLiability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtSharesLiabilityName())); + end; + + procedure LtSharesLiabilityName(): Text[100] + begin + exit(LtSharesLiabilityTok); + end; + + procedure InvestLiability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestLiabilityName())); + end; + + procedure InvestLiabilityName(): Text[100] + begin + exit(InvestLiabilityTok); + end; + + procedure InvestLiabilityG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestLiabilityGName())); + end; + + procedure InvestLiabilityGName(): Text[100] + begin + exit(InvestLiabilityGTok); + end; + + procedure InvestLiabilityA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestLiabilityAName())); + end; + + procedure InvestLiabilityAName(): Text[100] + begin + exit(InvestLiabilityATok); + end; + + procedure InvestLiabilityOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestLiabilityOthName())); + end; + + procedure InvestLiabilityOthName(): Text[100] + begin + exit(InvestLiabilityOthTok); + end; + + procedure OtherInvestLiability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherInvestLiabilityName())); + end; + + procedure OtherInvestLiabilityName(): Text[100] + begin + exit(OtherInvestLiabilityTok); + end; + + procedure PendNonmonetaryInvLiab(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendNonmonetaryInvLiabName())); + end; + + procedure PendNonmonetaryInvLiabName(): Text[100] + begin + exit(PendNonmonetaryInvLiabTok); + end; + + procedure PendNonmonetaryInvLiabG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendNonmonetaryInvLiabGName())); + end; + + procedure PendNonmonetaryInvLiabGName(): Text[100] + begin + exit(PendNonmonetaryInvLiabGTok); + end; + + procedure PendNonmonetaryInvLiabA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendNonmonetaryInvLiabAName())); + end; + + procedure PendNonmonetaryInvLiabAName(): Text[100] + begin + exit(PendNonmonetaryInvLiabATok); + end; + + procedure PendNonmonInvLiabOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendNonmonInvLiabOthName())); + end; + + procedure PendNonmonInvLiabOthName(): Text[100] + begin + exit(PendNonmonInvLiabOthTok); + end; + + procedure OtherPendNonmonInv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPendNonmonInvName())); + end; + + procedure OtherPendNonmonInvName(): Text[100] + begin + exit(OtherPendNonmonInvTok); + end; + + procedure VincCompaniesLtDebts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VincCompaniesLtDebtsName())); + end; + + procedure VincCompaniesLtDebtsName(): Text[100] + begin + exit(VincCompaniesLtDebtsTok); + end; + + procedure DebtsLtWithVincFinInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsLtWithVincFinInstName())); + end; + + procedure DebtsLtWithVincFinInstName(): Text[100] + begin + exit(DebtsLtWithVincFinInstTok); + end; + + procedure DebtsLtToFinInstG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsLtToFinInstGName())); + end; + + procedure DebtsLtToFinInstGName(): Text[100] + begin + exit(DebtsLtToFinInstGTok); + end; + + procedure DebtsLtToFinInstA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsLtToFinInstAName())); + end; + + procedure DebtsLtToFinInstAName(): Text[100] + begin + exit(DebtsLtToFinInstATok); + end; + + procedure DebtsLtToOthVincCredInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsLtToOthVincCredInstName())); + end; + + procedure DebtsLtToOthVincCredInstName(): Text[100] + begin + exit(DebtsLtToOthVincCredInstTok); + end; + + procedure LtFixedAssetVendorsVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFixedAssetVendorsVincName())); + end; + + procedure LtFixedAssetVendorsVincName(): Text[100] + begin + exit(LtFixedAssetVendorsVincTok); + end; + + procedure LtFixedAssetVendorsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFixedAssetVendorsGName())); + end; + + procedure LtFixedAssetVendorsGName(): Text[100] + begin + exit(LtFixedAssetVendorsGTok); + end; + + procedure LtFixedAssetVendorsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFixedAssetVendorsAName())); + end; + + procedure LtFixedAssetVendorsAName(): Text[100] + begin + exit(LtFixedAssetVendorsATok); + end; + + procedure LtFixedAssetVendorsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFixedAssetVendorsOthName())); + end; + + procedure LtFixedAssetVendorsOthName(): Text[100] + begin + exit(LtFixedAssetVendorsOthTok); + end; + + procedure FinLtLeaseCreditorsVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinLtLeaseCreditorsVincName())); + end; + + procedure FinLtLeaseCreditorsVincName(): Text[100] + begin + exit(FinLtLeaseCreditorsVincTok); + end; + + procedure FinLtLeaseCreditorsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinLtLeaseCreditorsGName())); + end; + + procedure FinLtLeaseCreditorsGName(): Text[100] + begin + exit(FinLtLeaseCreditorsGTok); + end; + + procedure FinLtLeaseCreditorsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinLtLeaseCreditorsAName())); + end; + + procedure FinLtLeaseCreditorsAName(): Text[100] + begin + exit(FinLtLeaseCreditorsATok); + end; + + procedure FinLtLeaseCreditorsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinLtLeaseCreditorsOthName())); + end; + + procedure FinLtLeaseCreditorsOthName(): Text[100] + begin + exit(FinLtLeaseCreditorsOthTok); + end; + + procedure OtherLtDebtsToVincComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLtDebtsToVincCompName())); + end; + + procedure OtherLtDebtsToVincCompName(): Text[100] + begin + exit(OtherLtDebtsToVincCompTok); + end; + + procedure OtherLtDebtsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLtDebtsGName())); + end; + + procedure OtherLtDebtsGName(): Text[100] + begin + exit(OtherLtDebtsGTok); + end; + + procedure OtherLtDebtsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLtDebtsAName())); + end; + + procedure OtherLtDebtsAName(): Text[100] + begin + exit(OtherLtDebtsATok); + end; + + procedure OtherLtDebtsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLtDebtsOthName())); + end; + + procedure OtherLtDebtsOthName(): Text[100] + begin + exit(OtherLtDebtsOthTok); + end; + + procedure LoansAndSimilarBorrowings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoansAndSimilarBorrowingsName())); + end; + + procedure LoansAndSimilarBorrowingsName(): Text[100] + begin + exit(LoansAndSimilarBorrowingsTok); + end; + + procedure LTLoansFromFinInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LTLoansFromFinInstName())); + end; + + procedure LTLoansFromFinInstName(): Text[100] + begin + exit(LTLoansFromFinInstTok); + end; + + procedure LongTermDebts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermDebtsName())); + end; + + procedure LongTermDebtsName(): Text[100] + begin + exit(LongTermDebtsTok); + end; + + procedure LongTermDebtsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermDebtsHeadingName())); + end; + + procedure LongTermDebtsHeadingName(): Text[100] + begin + exit(LongTermDebtsHeadingTok); + end; + + procedure ConvertibleInGrants(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertibleInGrantsName())); + end; + + procedure ConvertibleInGrantsName(): Text[100] + begin + exit(ConvertibleInGrantsTok); + end; + + procedure LtFixedAssetVendors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFixedAssetVendorsName())); + end; + + procedure LtFixedAssetVendorsName(): Text[100] + begin + exit(LtFixedAssetVendorsTok); + end; + + procedure FinLtLeaseCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinLtLeaseCreditorsName())); + end; + + procedure FinLtLeaseCreditorsName(): Text[100] + begin + exit(FinLtLeaseCreditorsTok); + end; + + procedure TradeCredBillExchPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredBillExchPayName())); + end; + + procedure TradeCredBillExchPayName(): Text[100] + begin + exit(TradeCredBillExchPayTok); + end; + + procedure LtDerivFinLiab(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDerivFinLiabName())); + end; + + procedure LtDerivFinLiabName(): Text[100] + begin + exit(LtDerivFinLiabTok); + end; + + procedure LtDerivFinLiabPortfolio(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDerivFinLiabPortfolioName())); + end; + + procedure LtDerivFinLiabPortfolioName(): Text[100] + begin + exit(LtDerivFinLiabPortfolioTok); + end; + + procedure LtDerivFinLiabCoverInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDerivFinLiabCoverInstName())); + end; + + procedure LtDerivFinLiabCoverInstName(): Text[100] + begin + exit(LtDerivFinLiabCoverInstTok); + end; + + procedure ObligAndDebentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ObligAndDebentLoansName())); + end; + + procedure ObligAndDebentLoansName(): Text[100] + begin + exit(ObligAndDebentLoansTok); + end; + + procedure ObligAndConvDebentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ObligAndConvDebentLoansName())); + end; + + procedure ObligAndConvDebentLoansName(): Text[100] + begin + exit(ObligAndConvDebentLoansTok); + end; + + procedure DebtsOthMarketableSecur(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsOthMarketableSecurName())); + end; + + procedure DebtsOthMarketableSecurName(): Text[100] + begin + exit(DebtsOthMarketableSecurTok); + end; + + procedure LtGuaranteesDepRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtGuaranteesDepRecName())); + end; + + procedure LtGuaranteesDepRecName(): Text[100] + begin + exit(LtGuaranteesDepRecTok); + end; + + procedure LtGuaranteesReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtGuaranteesReceivedName())); + end; + + procedure LtGuaranteesReceivedName(): Text[100] + begin + exit(LtGuaranteesReceivedTok); + end; + + procedure LtSalesAndServicesAdvances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtSalesAndServicesAdvancesName())); + end; + + procedure LtSalesAndServicesAdvancesName(): Text[100] + begin + exit(LtSalesAndServicesAdvancesTok); + end; + + procedure LtDepositsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDepositsReceivedName())); + end; + + procedure LtDepositsReceivedName(): Text[100] + begin + exit(LtDepositsReceivedTok); + end; + + procedure LtFinancialGuarantees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFinancialGuaranteesName())); + end; + + procedure LtFinancialGuaranteesName(): Text[100] + begin + exit(LtFinancialGuaranteesTok); + end; + + procedure TransitionalSituations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransitionalSituationsName())); + end; + + procedure TransitionalSituationsName(): Text[100] + begin + exit(TransitionalSituationsTok); + end; + + procedure IssuedSharesOrPartStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IssuedSharesOrPartStockName())); + end; + + procedure IssuedSharesOrPartStockName(): Text[100] + begin + exit(IssuedSharesOrPartStockTok); + end; + + procedure SharesSubscriptors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesSubscriptorsName())); + end; + + procedure SharesSubscriptorsName(): Text[100] + begin + exit(SharesSubscriptorsTok); + end; + + procedure EqCapitalCInCreation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EqCapitalCInCreationName())); + end; + + procedure EqCapitalCInCreationName(): Text[100] + begin + exit(EqCapitalCInCreationTok); + end; + + procedure IssuedSharesOrPartFinLiab(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IssuedSharesOrPartFinLiabName())); + end; + + procedure IssuedSharesOrPartFinLiabName(): Text[100] + begin + exit(IssuedSharesOrPartFinLiabTok); + end; + + procedure FinLiabSharesSubs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinLiabSharesSubsName())); + end; + + procedure FinLiabSharesSubsName(): Text[100] + begin + exit(FinLiabSharesSubsTok); + end; + + procedure PendFinLiabSharesOrSt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendFinLiabSharesOrStName())); + end; + + procedure PendFinLiabSharesOrStName(): Text[100] + begin + exit(PendFinLiabSharesOrStTok); + end; + + procedure IntangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsName())); + end; + + procedure IntangibleAssetsName(): Text[100] + begin + exit(IntangibleAssetsTok); + end; + + procedure ResearchCostsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResearchCostsHeadingName())); + end; + + procedure ResearchCostsHeadingName(): Text[100] + begin + exit(ResearchCostsHeadingTok); + end; + + procedure ResearchCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResearchCostsName())); + end; + + procedure ResearchCostsName(): Text[100] + begin + exit(ResearchCostsTok); + end; + + procedure DevCostsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevCostsHeadingName())); + end; + + procedure DevCostsHeadingName(): Text[100] + begin + exit(DevCostsHeadingTok); + end; + + procedure DevCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevCostsName())); + end; + + procedure DevCostsName(): Text[100] + begin + exit(DevCostsTok); + end; + + procedure FranchisedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FranchisedAssetsName())); + end; + + procedure FranchisedAssetsName(): Text[100] + begin + exit(FranchisedAssetsTok); + end; + + procedure IndustrialProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndustrialPropertyName())); + end; + + procedure IndustrialPropertyName(): Text[100] + begin + exit(IndustrialPropertyTok); + end; + + procedure Goodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillName())); + end; + + procedure GoodwillName(): Text[100] + begin + exit(GoodwillTok); + end; + + procedure RightToLease(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RightToLeaseName())); + end; + + procedure RightToLeaseName(): Text[100] + begin + exit(RightToLeaseTok); + end; + + procedure EdpApplications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EdpApplicationsName())); + end; + + procedure EdpApplicationsName(): Text[100] + begin + exit(EdpApplicationsTok); + end; + + procedure IntangibleAssetsAdvances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsAdvancesName())); + end; + + procedure IntangibleAssetsAdvancesName(): Text[100] + begin + exit(IntangibleAssetsAdvancesTok); + end; + + procedure TangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleAssetsName())); + end; + + procedure TangibleAssetsName(): Text[100] + begin + exit(TangibleAssetsTok); + end; + + procedure FreeholdLand(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreeholdLandName())); + end; + + procedure FreeholdLandName(): Text[100] + begin + exit(FreeholdLandTok); + end; + + procedure Land(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandName())); + end; + + procedure LandName(): Text[100] + begin + exit(LandTok); + end; + + procedure Buildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BuildingsName())); + end; + + procedure BuildingsName(): Text[100] + begin + exit(BuildingsTok); + end; + + procedure SpecificInstallations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SpecificInstallationsName())); + end; + + procedure SpecificInstallationsName(): Text[100] + begin + exit(SpecificInstallationsTok); + end; + + procedure IndustrialMachineryHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndustrialMachineryHeadingName())); + end; + + procedure IndustrialMachineryHeadingName(): Text[100] + begin + exit(IndustrialMachineryHeadingTok); + end; + + procedure IndustrialMachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndustrialMachineryName())); + end; + + procedure IndustrialMachineryName(): Text[100] + begin + exit(IndustrialMachineryTok); + end; + + procedure IndustrialTooling(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IndustrialToolingName())); + end; + + procedure IndustrialToolingName(): Text[100] + begin + exit(IndustrialToolingTok); + end; + + procedure PlantMachineryEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PlantMachineryEquipmentName())); + end; + + procedure PlantMachineryEquipmentName(): Text[100] + begin + exit(PlantMachineryEquipmentTok); + end; + + procedure FurnitureHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FurnitureHeadingName())); + end; + + procedure FurnitureHeadingName(): Text[100] + begin + exit(FurnitureHeadingTok); + end; + + procedure Furniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FurnitureName())); + end; + + procedure FurnitureName(): Text[100] + begin + exit(FurnitureTok); + end; + + procedure InfoProcessEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InfoProcessEquipmentName())); + end; + + procedure InfoProcessEquipmentName(): Text[100] + begin + exit(InfoProcessEquipmentTok); + end; + + procedure DataProcessingEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DataProcessingEquipmentName())); + end; + + procedure DataProcessingEquipmentName(): Text[100] + begin + exit(DataProcessingEquipmentTok); + end; + + procedure TransportEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportEquipmentName())); + end; + + procedure TransportEquipmentName(): Text[100] + begin + exit(TransportEquipmentTok); + end; + + procedure Vehicle(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehicleName())); + end; + + procedure VehicleName(): Text[100] + begin + exit(VehicleTok); + end; + + procedure OtherTangibleFixedAssetsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTangibleFixedAssetsHeadingName())); + end; + + procedure OtherTangibleFixedAssetsHeadingName(): Text[100] + begin + exit(OtherTangibleFixedAssetsHeadingTok); + end; + + procedure OtherTangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTangibleFixedAssetsName())); + end; + + procedure OtherTangibleFixedAssetsName(): Text[100] + begin + exit(OtherTangibleFixedAssetsTok); + end; + + procedure PropertiesInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertiesInvestmName())); + end; + + procedure PropertiesInvestmName(): Text[100] + begin + exit(PropertiesInvestmTok); + end; + + procedure FreeholdLandInv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreeholdLandInvName())); + end; + + procedure FreeholdLandInvName(): Text[100] + begin + exit(FreeholdLandInvTok); + end; + + procedure LandInv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandInvName())); + end; + + procedure LandInvName(): Text[100] + begin + exit(LandInvTok); + end; + + procedure BuildingsInv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BuildingsInvName())); + end; + + procedure BuildingsInvName(): Text[100] + begin + exit(BuildingsInvTok); + end; + + procedure FixedAssetsInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsInProgressName())); + end; + + procedure FixedAssetsInProgressName(): Text[100] + begin + exit(FixedAssetsInProgressTok); + end; + + procedure ImprPrepCostsFreehLand(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ImprPrepCostsFreehLandName())); + end; + + procedure ImprPrepCostsFreehLandName(): Text[100] + begin + exit(ImprPrepCostsFreehLandTok); + end; + + procedure ConstructionWorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConstructionWorkInProgressName())); + end; + + procedure ConstructionWorkInProgressName(): Text[100] + begin + exit(ConstructionWorkInProgressTok); + end; + + procedure PlantMachEquipmUndInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PlantMachEquipmUndInstName())); + end; + + procedure PlantMachEquipmUndInstName(): Text[100] + begin + exit(PlantMachEquipmUndInstTok); + end; + + procedure MachineryUnderInstallation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryUnderInstallationName())); + end; + + procedure MachineryUnderInstallationName(): Text[100] + begin + exit(MachineryUnderInstallationTok); + end; + + procedure InfoProcessEquipmUndInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InfoProcessEquipmUndInstName())); + end; + + procedure InfoProcessEquipmUndInstName(): Text[100] + begin + exit(InfoProcessEquipmUndInstTok); + end; + + procedure TangibleAssetsAdvances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleAssetsAdvancesName())); + end; + + procedure TangibleAssetsAdvancesName(): Text[100] + begin + exit(TangibleAssetsAdvancesTok); + end; + + procedure VincCompFinInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VincCompFinInvestmName())); + end; + + procedure VincCompFinInvestmName(): Text[100] + begin + exit(VincCompFinInvestmTok); + end; + + procedure LtInvestmInVincCom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInvestmInVincComName())); + end; + + procedure LtInvestmInVincComName(): Text[100] + begin + exit(LtInvestmInVincComTok); + end; + + procedure LtInvestmG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInvestmGName())); + end; + + procedure LtInvestmGName(): Text[100] + begin + exit(LtInvestmGTok); + end; + + procedure LtInvestmA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInvestmAName())); + end; + + procedure LtInvestmAName(): Text[100] + begin + exit(LtInvestmATok); + end; + + procedure LtInvestmOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInvestmOthName())); + end; + + procedure LtInvestmOthName(): Text[100] + begin + exit(LtInvestmOthTok); + end; + + procedure LtDebtValueVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDebtValueVincName())); + end; + + procedure LtDebtValueVincName(): Text[100] + begin + exit(LtDebtValueVincTok); + end; + + procedure LtDebtValueG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDebtValueGName())); + end; + + procedure LtDebtValueGName(): Text[100] + begin + exit(LtDebtValueGTok); + end; + + procedure LtDebtValueA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDebtValueAName())); + end; + + procedure LtDebtValueAName(): Text[100] + begin + exit(LtDebtValueATok); + end; + + procedure LtDebtValueOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDebtValueOthName())); + end; + + procedure LtDebtValueOthName(): Text[100] + begin + exit(LtDebtValueOthTok); + end; + + procedure LtCreditsToVincComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtCreditsToVincCompName())); + end; + + procedure LtCreditsToVincCompName(): Text[100] + begin + exit(LtCreditsToVincCompTok); + end; + + procedure LtCreditsToG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtCreditsToGName())); + end; + + procedure LtCreditsToGName(): Text[100] + begin + exit(LtCreditsToGTok); + end; + + procedure LtCreditsToA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtCreditsToAName())); + end; + + procedure LtCreditsToAName(): Text[100] + begin + exit(LtCreditsToATok); + end; + + procedure LtCreditsToOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtCreditsToOthName())); + end; + + procedure LtCreditsToOthName(): Text[100] + begin + exit(LtCreditsToOthTok); + end; + + procedure AmountsUncalledLt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AmountsUncalledLtName())); + end; + + procedure AmountsUncalledLtName(): Text[100] + begin + exit(AmountsUncalledLtTok); + end; + + procedure AmountsUncalledG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AmountsUncalledGName())); + end; + + procedure AmountsUncalledGName(): Text[100] + begin + exit(AmountsUncalledGTok); + end; + + procedure AmountsUncalledA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AmountsUncalledAName())); + end; + + procedure AmountsUncalledAName(): Text[100] + begin + exit(AmountsUncalledATok); + end; + + procedure AmountsUncalledOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AmountsUncalledOthName())); + end; + + procedure AmountsUncalledOthName(): Text[100] + begin + exit(AmountsUncalledOthTok); + end; + + procedure OtherFinancialInvestmLt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialInvestmLtName())); + end; + + procedure OtherFinancialInvestmLtName(): Text[100] + begin + exit(OtherFinancialInvestmLtTok); + end; + + procedure LtInvestmInCapitalInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInvestmInCapitalInstName())); + end; + + procedure LtInvestmInCapitalInstName(): Text[100] + begin + exit(LtInvestmInCapitalInstTok); + end; + + procedure LtDebtValuesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDebtValuesHeadingName())); + end; + + procedure LtDebtValuesHeadingName(): Text[100] + begin + exit(LtDebtValuesHeadingTok); + end; + + procedure LtDebtValues(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDebtValuesName())); + end; + + procedure LtDebtValuesName(): Text[100] + begin + exit(LtDebtValuesTok); + end; + + procedure LongTermLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermLoansName())); + end; + + procedure LongTermLoansName(): Text[100] + begin + exit(LongTermLoansTok); + end; + + procedure FaTransfLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FaTransfLoansName())); + end; + + procedure FaTransfLoansName(): Text[100] + begin + exit(FaTransfLoansTok); + end; + + procedure StaffLtCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StaffLtCreditsName())); + end; + + procedure StaffLtCreditsName(): Text[100] + begin + exit(StaffLtCreditsTok); + end; + + procedure LtDerivFinCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDerivFinCapitalName())); + end; + + procedure LtDerivFinCapitalName(): Text[100] + begin + exit(LtDerivFinCapitalTok); + end; + + procedure LtDerivFinCapPortfolio(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDerivFinCapPortfolioName())); + end; + + procedure LtDerivFinCapPortfolioName(): Text[100] + begin + exit(LtDerivFinCapPortfolioTok); + end; + + procedure LtDerivFinCapCoverInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtDerivFinCapCoverInstName())); + end; + + procedure LtDerivFinCapCoverInstName(): Text[100] + begin + exit(LtDerivFinCapCoverInstTok); + end; + + procedure LtPersInsContReimbRights(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtPersInsContReimbRightsName())); + end; + + procedure LtPersInsContReimbRightsName(): Text[100] + begin + exit(LtPersInsContReimbRightsTok); + end; + + procedure LongTermTaxations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermTaxationsName())); + end; + + procedure LongTermTaxationsName(): Text[100] + begin + exit(LongTermTaxationsTok); + end; + + procedure PendingInvestOnCapitalInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendingInvestOnCapitalInstName())); + end; + + procedure PendingInvestOnCapitalInstName(): Text[100] + begin + exit(PendingInvestOnCapitalInstTok); + end; + + procedure GuarantDepSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GuarantDepSecuritiesName())); + end; + + procedure GuarantDepSecuritiesName(): Text[100] + begin + exit(GuarantDepSecuritiesTok); + end; + + procedure GuarantSecuritiesLT(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GuarantSecuritiesLTName())); + end; + + procedure GuarantSecuritiesLTName(): Text[100] + begin + exit(GuarantSecuritiesLTTok); + end; + + procedure GuaranteedSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GuaranteedSecuritiesName())); + end; + + procedure GuaranteedSecuritiesName(): Text[100] + begin + exit(GuaranteedSecuritiesTok); + end; + + procedure GuaranteedDepositsLT(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GuaranteedDepositsLTName())); + end; + + procedure GuaranteedDepositsLTName(): Text[100] + begin + exit(GuaranteedDepositsLTTok); + end; + + procedure DeprOfIntangibleFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOfIntangibleFaName())); + end; + + procedure DeprOfIntangibleFaName(): Text[100] + begin + exit(DeprOfIntangibleFaTok); + end; + + procedure DepResearchCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepResearchCostsName())); + end; + + procedure DepResearchCostsName(): Text[100] + begin + exit(DepResearchCostsTok); + end; + + procedure DepDevelopmCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepDevelopmCostsName())); + end; + + procedure DepDevelopmCostsName(): Text[100] + begin + exit(DepDevelopmCostsTok); + end; + + procedure DepFranchisedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepFranchisedAssetsName())); + end; + + procedure DepFranchisedAssetsName(): Text[100] + begin + exit(DepFranchisedAssetsTok); + end; + + procedure DepIndustrialProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepIndustrialPropertyName())); + end; + + procedure DepIndustrialPropertyName(): Text[100] + begin + exit(DepIndustrialPropertyTok); + end; + + procedure DepRightToLease(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepRightToLeaseName())); + end; + + procedure DepRightToLeaseName(): Text[100] + begin + exit(DepRightToLeaseTok); + end; + + procedure DepEdpApplications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepEdpApplicationsName())); + end; + + procedure DepEdpApplicationsName(): Text[100] + begin + exit(DepEdpApplicationsTok); + end; + + procedure DeprOfTangibleFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOfTangibleFaName())); + end; + + procedure DeprOfTangibleFaName(): Text[100] + begin + exit(DeprOfTangibleFaTok); + end; + + procedure DepBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepBuildingsName())); + end; + + procedure DepBuildingsName(): Text[100] + begin + exit(DepBuildingsTok); + end; + + procedure DepTechnicalInstallations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepTechnicalInstallationsName())); + end; + + procedure DepTechnicalInstallationsName(): Text[100] + begin + exit(DepTechnicalInstallationsTok); + end; + + procedure DepIndustrialMachineryHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepIndustrialMachineryHeadingName())); + end; + + procedure DepIndustrialMachineryHeadingName(): Text[100] + begin + exit(DepIndustrialMachineryHeadingTok); + end; + + procedure DepIndustrialMachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepIndustrialMachineryName())); + end; + + procedure DepIndustrialMachineryName(): Text[100] + begin + exit(DepIndustrialMachineryTok); + end; + + procedure DepIndustrialTooling(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepIndustrialToolingName())); + end; + + procedure DepIndustrialToolingName(): Text[100] + begin + exit(DepIndustrialToolingTok); + end; + + procedure DepPlantMachineryEquip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepPlantMachineryEquipName())); + end; + + procedure DepPlantMachineryEquipName(): Text[100] + begin + exit(DepPlantMachineryEquipTok); + end; + + procedure DepFurnitureAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepFurnitureAssetsName())); + end; + + procedure DepFurnitureAssetsName(): Text[100] + begin + exit(DepFurnitureAssetsTok); + end; + + procedure DepFurniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepFurnitureName())); + end; + + procedure DepFurnitureName(): Text[100] + begin + exit(DepFurnitureTok); + end; + + procedure DepInfoProcessEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepInfoProcessEquipmentName())); + end; + + procedure DepInfoProcessEquipmentName(): Text[100] + begin + exit(DepInfoProcessEquipmentTok); + end; + + procedure DepTransportEquipmentHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepTransportEquipmentHeadingName())); + end; + + procedure DepTransportEquipmentHeadingName(): Text[100] + begin + exit(DepTransportEquipmentHeadingTok); + end; + + procedure DepTransportEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepTransportEquipmentName())); + end; + + procedure DepTransportEquipmentName(): Text[100] + begin + exit(DepTransportEquipmentTok); + end; + + procedure DepOtherTangibleFaHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepOtherTangibleFaHeadingName())); + end; + + procedure DepOtherTangibleFaHeadingName(): Text[100] + begin + exit(DepOtherTangibleFaHeadingTok); + end; + + procedure DepOtherTangibleFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepOtherTangibleFaName())); + end; + + procedure DepOtherTangibleFaName(): Text[100] + begin + exit(DepOtherTangibleFaTok); + end; + + procedure DepPropertiesInvestmHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepPropertiesInvestmHeadingName())); + end; + + procedure DepPropertiesInvestmHeadingName(): Text[100] + begin + exit(DepPropertiesInvestmHeadingTok); + end; + + procedure DepPropertiesInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepPropertiesInvestmName())); + end; + + procedure DepPropertiesInvestmName(): Text[100] + begin + exit(DepPropertiesInvestmTok); + end; + + procedure DeteriorForFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeteriorForFaName())); + end; + + procedure DeteriorForFaName(): Text[100] + begin + exit(DeteriorForFaTok); + end; + + procedure DeteriorOfIntangFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeteriorOfIntangFaName())); + end; + + procedure DeteriorOfIntangFaName(): Text[100] + begin + exit(DeteriorOfIntangFaTok); + end; + + procedure DetResearchCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetResearchCostsName())); + end; + + procedure DetResearchCostsName(): Text[100] + begin + exit(DetResearchCostsTok); + end; + + procedure DetDevelopmCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetDevelopmCostsName())); + end; + + procedure DetDevelopmCostsName(): Text[100] + begin + exit(DetDevelopmCostsTok); + end; + + procedure DetFranchisedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetFranchisedAssetsName())); + end; + + procedure DetFranchisedAssetsName(): Text[100] + begin + exit(DetFranchisedAssetsTok); + end; + + procedure DetIndustrialProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetIndustrialPropertyName())); + end; + + procedure DetIndustrialPropertyName(): Text[100] + begin + exit(DetIndustrialPropertyTok); + end; + + procedure DetRightToLease(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetRightToLeaseName())); + end; + + procedure DetRightToLeaseName(): Text[100] + begin + exit(DetRightToLeaseTok); + end; + + procedure DetEdpApplications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetEdpApplicationsName())); + end; + + procedure DetEdpApplicationsName(): Text[100] + begin + exit(DetEdpApplicationsTok); + end; + + procedure DeteriorOfTangFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeteriorOfTangFaName())); + end; + + procedure DeteriorOfTangFaName(): Text[100] + begin + exit(DeteriorOfTangFaTok); + end; + + procedure DetFreeholdLand(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetFreeholdLandName())); + end; + + procedure DetFreeholdLandName(): Text[100] + begin + exit(DetFreeholdLandTok); + end; + + procedure DetBuilding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetBuildingName())); + end; + + procedure DetBuildingName(): Text[100] + begin + exit(DetBuildingTok); + end; + + procedure DetTechnicalInstallations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetTechnicalInstallationsName())); + end; + + procedure DetTechnicalInstallationsName(): Text[100] + begin + exit(DetTechnicalInstallationsTok); + end; + + procedure DetIndustrialMachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetIndustrialMachineryName())); + end; + + procedure DetIndustrialMachineryName(): Text[100] + begin + exit(DetIndustrialMachineryTok); + end; + + procedure DetIndustrialTooling(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetIndustrialToolingName())); + end; + + procedure DetIndustrialToolingName(): Text[100] + begin + exit(DetIndustrialToolingTok); + end; + + procedure DetPlantMachineryEquip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetPlantMachineryEquipName())); + end; + + procedure DetPlantMachineryEquipName(): Text[100] + begin + exit(DetPlantMachineryEquipTok); + end; + + procedure DepFurnitureHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepFurnitureHeadingName())); + end; + + procedure DepFurnitureHeadingName(): Text[100] + begin + exit(DepFurnitureHeadingTok); + end; + + procedure DetInfoProcessEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetInfoProcessEquipmentName())); + end; + + procedure DetInfoProcessEquipmentName(): Text[100] + begin + exit(DetInfoProcessEquipmentTok); + end; + + procedure DetTransportEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetTransportEquipmentName())); + end; + + procedure DetTransportEquipmentName(): Text[100] + begin + exit(DetTransportEquipmentTok); + end; + + procedure DetOtherTangFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetOtherTangFixedAssetsName())); + end; + + procedure DetOtherTangFixedAssetsName(): Text[100] + begin + exit(DetOtherTangFixedAssetsTok); + end; + + procedure DetPropertiesInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetPropertiesInvestmName())); + end; + + procedure DetPropertiesInvestmName(): Text[100] + begin + exit(DetPropertiesInvestmTok); + end; + + procedure DetFreeholdLandHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetFreeholdLandHeadingName())); + end; + + procedure DetFreeholdLandHeadingName(): Text[100] + begin + exit(DetFreeholdLandHeadingTok); + end; + + procedure DetBuildingHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetBuildingHeadingName())); + end; + + procedure DetBuildingHeadingName(): Text[100] + begin + exit(DetBuildingHeadingTok); + end; + + procedure DetLtSecValueInVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtSecValueInVincCName())); + end; + + procedure DetLtSecValueInVincCName(): Text[100] + begin + exit(DetLtSecValueInVincCTok); + end; + + procedure DetLtSecValueInGr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtSecValueInGrName())); + end; + + procedure DetLtSecValueInGrName(): Text[100] + begin + exit(DetLtSecValueInGrTok); + end; + + procedure DetLtSecValueInAsoc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtSecValueInAsocName())); + end; + + procedure DetLtSecValueInAsocName(): Text[100] + begin + exit(DetLtSecValueInAsocTok); + end; + + procedure DetLtDebtSecuritiesVinC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtDebtSecuritiesVinCName())); + end; + + procedure DetLtDebtSecuritiesVinCName(): Text[100] + begin + exit(DetLtDebtSecuritiesVinCTok); + end; + + procedure DetLtDebtSecuritiesG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtDebtSecuritiesGName())); + end; + + procedure DetLtDebtSecuritiesGName(): Text[100] + begin + exit(DetLtDebtSecuritiesGTok); + end; + + procedure DetLtDebtSecuritiesA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtDebtSecuritiesAName())); + end; + + procedure DetLtDebtSecuritiesAName(): Text[100] + begin + exit(DetLtDebtSecuritiesATok); + end; + + procedure DetLtDebtSecurOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtDebtSecurOVinName())); + end; + + procedure DetLtDebtSecurOVinName(): Text[100] + begin + exit(DetLtDebtSecurOVinTok); + end; + + procedure DetLtCreditsValToVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtCreditsValToVincCName())); + end; + + procedure DetLtCreditsValToVincCName(): Text[100] + begin + exit(DetLtCreditsValToVincCTok); + end; + + procedure DetLtCreditsToGr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtCreditsToGrName())); + end; + + procedure DetLtCreditsToGrName(): Text[100] + begin + exit(DetLtCreditsToGrTok); + end; + + procedure DetLtCreditsToAsoc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtCreditsToAsocName())); + end; + + procedure DetLtCreditsToAsocName(): Text[100] + begin + exit(DetLtCreditsToAsocTok); + end; + + procedure DetLtCreditsToOthVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtCreditsToOthVinName())); + end; + + procedure DetLtCreditsToOthVinName(): Text[100] + begin + exit(DetLtCreditsToOthVinTok); + end; + + procedure DetLtDebtSecuritiesValue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtDebtSecuritiesValueName())); + end; + + procedure DetLtDebtSecuritiesValueName(): Text[100] + begin + exit(DetLtDebtSecuritiesValueTok); + end; + + procedure DetLtCreditsValue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLtCreditsValueName())); + end; + + procedure DetLtCreditsValueName(): Text[100] + begin + exit(DetLtCreditsValueTok); + end; + + procedure TradeGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeGoodsName())); + end; + + procedure TradeGoodsName(): Text[100] + begin + exit(TradeGoodsTok); + end; + + procedure GoodsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsHeadingName())); + end; + + procedure GoodsHeadingName(): Text[100] + begin + exit(GoodsHeadingTok); + end; + + procedure Goods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsName())); + end; + + procedure GoodsName(): Text[100] + begin + exit(GoodsTok); + end; + + procedure AssemblyBom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssemblyBomName())); + end; + + procedure AssemblyBomName(): Text[100] + begin + exit(AssemblyBomTok); + end; + + procedure GoodsTradeCred(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsTradeCredName())); + end; + + procedure GoodsTradeCredName(): Text[100] + begin + exit(GoodsTradeCredTok); + end; + + procedure BillOfMaterTradeCred(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillOfMaterTradeCredName())); + end; + + procedure BillOfMaterTradeCredName(): Text[100] + begin + exit(BillOfMaterTradeCredTok); + end; + + procedure RawMaterialsProv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsProvName())); + end; + + procedure RawMaterialsProvName(): Text[100] + begin + exit(RawMaterialsProvTok); + end; + + procedure SuppliesOtherConsum(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuppliesOtherConsumName())); + end; + + procedure SuppliesOtherConsumName(): Text[100] + begin + exit(SuppliesOtherConsumTok); + end; + + procedure ItemsAssembToIncorp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ItemsAssembToIncorpName())); + end; + + procedure ItemsAssembToIncorpName(): Text[100] + begin + exit(ItemsAssembToIncorpTok); + end; + + procedure Fuels(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FuelsName())); + end; + + procedure FuelsName(): Text[100] + begin + exit(FuelsTok); + end; + + procedure ReplacementParts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReplacementPartsName())); + end; + + procedure ReplacementPartsName(): Text[100] + begin + exit(ReplacementPartsTok); + end; + + procedure OtherMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherMaterialsName())); + end; + + procedure OtherMaterialsName(): Text[100] + begin + exit(OtherMaterialsTok); + end; + + procedure Packaging(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PackagingName())); + end; + + procedure PackagingName(): Text[100] + begin + exit(PackagingTok); + end; + + procedure Containers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContainersName())); + end; + + procedure ContainersName(): Text[100] + begin + exit(ContainersTok); + end; + + procedure ProdInProgrManufGoodsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProdInProgrManufGoodsHeadingName())); + end; + + procedure ProdInProgrManufGoodsHeadingName(): Text[100] + begin + exit(ProdInProgrManufGoodsHeadingTok); + end; + + procedure ProdInProgrManufGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProdInProgrManufGoodsName())); + end; + + procedure ProdInProgrManufGoodsName(): Text[100] + begin + exit(ProdInProgrManufGoodsTok); + end; + + procedure SalesSpecialist(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesSpecialistName())); + end; + + procedure SalesSpecialistName(): Text[100] + begin + exit(SalesSpecialistTok); + end; + + procedure WipProjectSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipProjectSalesName())); + end; + + procedure WipProjectSalesName(): Text[100] + begin + exit(WipProjectSalesTok); + end; + + procedure WipInvoicedProjectSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipInvoicedProjectSalesName())); + end; + + procedure WipInvoicedProjectSalesName(): Text[100] + begin + exit(WipInvoicedProjectSalesTok); + end; + + procedure CostsSpecialist(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostsSpecialistName())); + end; + + procedure CostsSpecialistName(): Text[100] + begin + exit(CostsSpecialistTok); + end; + + procedure WipProjectCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipProjectCostsName())); + end; + + procedure WipProjectCostsName(): Text[100] + begin + exit(WipProjectCostsTok); + end; + + procedure WipAccruedProjectCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipAccruedProjectCostsName())); + end; + + procedure WipAccruedProjectCostsName(): Text[100] + begin + exit(WipAccruedProjectCostsTok); + end; + + procedure JobPostingGroup(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobPostingGroupName())); + end; + + procedure JobPostingGroupName(): Text[100] + begin + exit(JobPostingGroupTok); + end; + + procedure WorkInProgressHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkInProgressHeadingName())); + end; + + procedure WorkInProgressHeadingName(): Text[100] + begin + exit(WorkInProgressHeadingTok); + end; + + procedure WorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkInProgressName())); + end; + + procedure WorkInProgressName(): Text[100] + begin + exit(WorkInProgressTok); + end; + + procedure ByProductsOrScrap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ByProductsOrScrapName())); + end; + + procedure ByProductsOrScrapName(): Text[100] + begin + exit(ByProductsOrScrapTok); + end; + + procedure ByProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ByProductsName())); + end; + + procedure ByProductsName(): Text[100] + begin + exit(ByProductsTok); + end; + + procedure WasteProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WasteProductsName())); + end; + + procedure WasteProductsName(): Text[100] + begin + exit(WasteProductsTok); + end; + + procedure RejectsOfManufacturing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RejectsOfManufacturingName())); + end; + + procedure RejectsOfManufacturingName(): Text[100] + begin + exit(RejectsOfManufacturingTok); + end; + + procedure DeteriorInventoryValue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeteriorInventoryValueName())); + end; + + procedure DeteriorInventoryValueName(): Text[100] + begin + exit(DeteriorInventoryValueTok); + end; + + procedure DetGoodsValue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetGoodsValueName())); + end; + + procedure DetGoodsValueName(): Text[100] + begin + exit(DetGoodsValueTok); + end; + + procedure DetRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetRawMatName())); + end; + + procedure DetRawMatName(): Text[100] + begin + exit(DetRawMatTok); + end; + + procedure DetSuppliesOtherConsum(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetSuppliesOtherConsumName())); + end; + + procedure DetSuppliesOtherConsumName(): Text[100] + begin + exit(DetSuppliesOtherConsumTok); + end; + + procedure DetProdProgrManufGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetProdProgrManufGoodsName())); + end; + + procedure DetProdProgrManufGoodsName(): Text[100] + begin + exit(DetProdProgrManufGoodsTok); + end; + + procedure DetForWorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetForWorkInProgressName())); + end; + + procedure DetForWorkInProgressName(): Text[100] + begin + exit(DetForWorkInProgressTok); + end; + + procedure DetForFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetForFinishedGoodsName())); + end; + + procedure DetForFinishedGoodsName(): Text[100] + begin + exit(DetForFinishedGoodsTok); + end; + + procedure DetForByProdOrScrap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetForByProdOrScrapName())); + end; + + procedure DetForByProdOrScrapName(): Text[100] + begin + exit(DetForByProdOrScrapTok); + end; + + procedure CreditorsAndDebtors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsAndDebtorsName())); + end; + + procedure CreditorsAndDebtorsName(): Text[100] + begin + exit(CreditorsAndDebtorsTok); + end; + + procedure TradeCreditorsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCreditorsHeadingName())); + end; + + procedure TradeCreditorsHeadingName(): Text[100] + begin + exit(TradeCreditorsHeadingTok); + end; + + procedure TradeCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCreditorsName())); + end; + + procedure TradeCreditorsName(): Text[100] + begin + exit(TradeCreditorsTok); + end; + + procedure STTradeCredEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(STTradeCredEuroName())); + end; + + procedure STTradeCredEuroName(): Text[100] + begin + exit(STTradeCredEuroTok); + end; + + procedure NationalTradeCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalTradeCreditorsName())); + end; + + procedure NationalTradeCreditorsName(): Text[100] + begin + exit(NationalTradeCreditorsTok); + end; + + procedure InternatTradeCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InternatTradeCreditorsName())); + end; + + procedure InternatTradeCreditorsName(): Text[100] + begin + exit(InternatTradeCreditorsTok); + end; + + procedure InvUnderPaymentOrder(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvUnderPaymentOrderName())); + end; + + procedure InvUnderPaymentOrderName(): Text[100] + begin + exit(InvUnderPaymentOrderTok); + end; + + procedure ForCurrTradeCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ForCurrTradeCreditorsName())); + end; + + procedure ForCurrTradeCreditorsName(): Text[100] + begin + exit(ForCurrTradeCreditorsTok); + end; + + procedure EuTradeCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuTradeCreditorsName())); + end; + + procedure EuTradeCreditorsName(): Text[100] + begin + exit(EuTradeCreditorsTok); + end; + + procedure TradeCredInvNotRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredInvNotRecName())); + end; + + procedure TradeCredInvNotRecName(): Text[100] + begin + exit(TradeCredInvNotRecTok); + end; + + procedure TradeCredBillOfExchPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredBillOfExchPayName())); + end; + + procedure TradeCredBillOfExchPayName(): Text[100] + begin + exit(TradeCredBillOfExchPayTok); + end; + + procedure TradeCrBillExPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCrBillExPayName())); + end; + + procedure TradeCrBillExPayName(): Text[100] + begin + exit(TradeCrBillExPayTok); + end; + + procedure BillExPayNational(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillExPayNationalName())); + end; + + procedure BillExPayNationalName(): Text[100] + begin + exit(BillExPayNationalTok); + end; + + procedure BillExInPaymtOrder(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillExInPaymtOrderName())); + end; + + procedure BillExInPaymtOrderName(): Text[100] + begin + exit(BillExInPaymtOrderTok); + end; + + procedure TradeCreditorsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCreditorsGName())); + end; + + procedure TradeCreditorsGName(): Text[100] + begin + exit(TradeCreditorsGTok); + end; + + procedure TradeCreditorsGEuroHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCreditorsGEuroHeadingName())); + end; + + procedure TradeCreditorsGEuroHeadingName(): Text[100] + begin + exit(TradeCreditorsGEuroHeadingTok); + end; + + procedure TradeCreditorsGEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCreditorsGEuroName())); + end; + + procedure TradeCreditorsGEuroName(): Text[100] + begin + exit(TradeCreditorsGEuroTok); + end; + + procedure ProvForBillExchPayG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForBillExchPayGName())); + end; + + procedure ProvForBillExchPayGName(): Text[100] + begin + exit(ProvForBillExchPayGTok); + end; + + procedure TradeCreditorsGForCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCreditorsGForCurrName())); + end; + + procedure TradeCreditorsGForCurrName(): Text[100] + begin + exit(TradeCreditorsGForCurrTok); + end; + + procedure TradeCrReturnEmptiesG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCrReturnEmptiesGName())); + end; + + procedure TradeCrReturnEmptiesGName(): Text[100] + begin + exit(TradeCrReturnEmptiesGTok); + end; + + procedure TradeCredInvNotRecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredInvNotRecGName())); + end; + + procedure TradeCredInvNotRecGName(): Text[100] + begin + exit(TradeCredInvNotRecGTok); + end; + + procedure TradeCredAsoc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredAsocName())); + end; + + procedure TradeCredAsocName(): Text[100] + begin + exit(TradeCredAsocTok); + end; + + procedure TradeCredOthVinC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredOthVinCName())); + end; + + procedure TradeCredOthVinCName(): Text[100] + begin + exit(TradeCredOthVinCTok); + end; + + procedure TradeCrReturnEmpties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCrReturnEmptiesName())); + end; + + procedure TradeCrReturnEmptiesName(): Text[100] + begin + exit(TradeCrReturnEmptiesTok); + end; + + procedure TradeCredAdvancesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredAdvancesHeadingName())); + end; + + procedure TradeCredAdvancesHeadingName(): Text[100] + begin + exit(TradeCredAdvancesHeadingTok); + end; + + procedure TradeCredAdvances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredAdvancesName())); + end; + + procedure TradeCredAdvancesName(): Text[100] + begin + exit(TradeCredAdvancesTok); + end; + + procedure TradeCredAdvancesNational(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredAdvancesNationalName())); + end; + + procedure TradeCredAdvancesNationalName(): Text[100] + begin + exit(TradeCredAdvancesNationalTok); + end; + + procedure TradeCredAdvancesEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredAdvancesEuName())); + end; + + procedure TradeCredAdvancesEuName(): Text[100] + begin + exit(TradeCredAdvancesEuTok); + end; + + procedure TradeCredAdvancesExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCredAdvancesExportName())); + end; + + procedure TradeCredAdvancesExportName(): Text[100] + begin + exit(TradeCredAdvancesExportTok); + end; + + procedure OtherCreditorsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCreditorsHeadingName())); + end; + + procedure OtherCreditorsHeadingName(): Text[100] + begin + exit(OtherCreditorsHeadingTok); + end; + + procedure CreditorsProvOfServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsProvOfServicesName())); + end; + + procedure CreditorsProvOfServicesName(): Text[100] + begin + exit(CreditorsProvOfServicesTok); + end; + + procedure STCreditorsEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(STCreditorsEuroName())); + end; + + procedure STCreditorsEuroName(): Text[100] + begin + exit(STCreditorsEuroTok); + end; + + procedure OtherCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCreditorsName())); + end; + + procedure OtherCreditorsName(): Text[100] + begin + exit(OtherCreditorsTok); + end; + + procedure CreditorsProvServForCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsProvServForCurrName())); + end; + + procedure CreditorsProvServForCurrName(): Text[100] + begin + exit(CreditorsProvServForCurrTok); + end; + + procedure CreditorsInvNotRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsInvNotRecName())); + end; + + procedure CreditorsInvNotRecName(): Text[100] + begin + exit(CreditorsInvNotRecTok); + end; + + procedure CreditorsBillExPayHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsBillExPayHeadingName())); + end; + + procedure CreditorsBillExPayHeadingName(): Text[100] + begin + exit(CreditorsBillExPayHeadingTok); + end; + + procedure CreditorsBillExPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsBillExPayName())); + end; + + procedure CreditorsBillExPayName(): Text[100] + begin + exit(CreditorsBillExPayTok); + end; + + procedure CreditorsComOperationsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsComOperationsHeadingName())); + end; + + procedure CreditorsComOperationsHeadingName(): Text[100] + begin + exit(CreditorsComOperationsHeadingTok); + end; + + procedure CreditorsComOperations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditorsComOperationsName())); + end; + + procedure CreditorsComOperationsName(): Text[100] + begin + exit(CreditorsComOperationsTok); + end; + + procedure TradeAccReceivHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccReceivHeadingName())); + end; + + procedure TradeAccReceivHeadingName(): Text[100] + begin + exit(TradeAccReceivHeadingTok); + end; + + procedure TradeAccReceiv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccReceivName())); + end; + + procedure TradeAccReceivName(): Text[100] + begin + exit(TradeAccReceivTok); + end; + + procedure TradeAccReceivEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccReceivEuroName())); + end; + + procedure TradeAccReceivEuroName(): Text[100] + begin + exit(TradeAccReceivEuroTok); + end; + + procedure NationalCustomers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalCustomersName())); + end; + + procedure NationalCustomersName(): Text[100] + begin + exit(NationalCustomersTok); + end; + + procedure InternationalCustomers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InternationalCustomersName())); + end; + + procedure InternationalCustomersName(): Text[100] + begin + exit(InternationalCustomersTok); + end; + + procedure InvoicesToBePaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoicesToBePaidName())); + end; + + procedure InvoicesToBePaidName(): Text[100] + begin + exit(InvoicesToBePaidTok); + end; + + procedure DiscountedInvoicesAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountedInvoicesAccountName())); + end; + + procedure DiscountedInvoicesAccountName(): Text[100] + begin + exit(DiscountedInvoicesAccountTok); + end; + + procedure RejectedInvoicesAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RejectedInvoicesAccountName())); + end; + + procedure RejectedInvoicesAccountName(): Text[100] + begin + exit(RejectedInvoicesAccountTok); + end; + + procedure TradeAccReceivForCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccReceivForCurrName())); + end; + + procedure TradeAccReceivForCurrName(): Text[100] + begin + exit(TradeAccReceivForCurrTok); + end; + + procedure TradeAccRecInvNotRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccRecInvNotRecName())); + end; + + procedure TradeAccRecInvNotRecName(): Text[100] + begin + exit(TradeAccRecInvNotRecTok); + end; + + procedure TradeAccRecBillsColl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccRecBillsCollName())); + end; + + procedure TradeAccRecBillsCollName(): Text[100] + begin + exit(TradeAccRecBillsCollTok); + end; + + procedure PendingReceivablesBillsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendingReceivablesBillsHeadingName())); + end; + + procedure PendingReceivablesBillsHeadingName(): Text[100] + begin + exit(PendingReceivablesBillsHeadingTok); + end; + + procedure PendingReceivablesBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendingReceivablesBillsName())); + end; + + procedure PendingReceivablesBillsName(): Text[100] + begin + exit(PendingReceivablesBillsTok); + end; + + procedure DiscountedBillsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountedBillsHeadingName())); + end; + + procedure DiscountedBillsHeadingName(): Text[100] + begin + exit(DiscountedBillsHeadingTok); + end; + + procedure DiscountedBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountedBillsName())); + end; + + procedure DiscountedBillsName(): Text[100] + begin + exit(DiscountedBillsTok); + end; + + procedure BillsOnCollectionManagHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsOnCollectionManagHeadingName())); + end; + + procedure BillsOnCollectionManagHeadingName(): Text[100] + begin + exit(BillsOnCollectionManagHeadingTok); + end; + + procedure BillsOnCollectionManag(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsOnCollectionManagName())); + end; + + procedure BillsOnCollectionManagName(): Text[100] + begin + exit(BillsOnCollectionManagTok); + end; + + procedure UnpaidBillsOfExchangeHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnpaidBillsOfExchangeHeadingName())); + end; + + procedure UnpaidBillsOfExchangeHeadingName(): Text[100] + begin + exit(UnpaidBillsOfExchangeHeadingTok); + end; + + procedure UnpaidBillsOfExchange(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnpaidBillsOfExchangeName())); + end; + + procedure UnpaidBillsOfExchangeName(): Text[100] + begin + exit(UnpaidBillsOfExchangeTok); + end; + + procedure TradeAccFactoringOp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccFactoringOpName())); + end; + + procedure TradeAccFactoringOpName(): Text[100] + begin + exit(TradeAccFactoringOpTok); + end; + + procedure TradeAccRecAccG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAccRecAccGName())); + end; + + procedure TradeAccRecAccGName(): Text[100] + begin + exit(TradeAccRecAccGTok); + end; + + procedure GroupTrAccRecEuroHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GroupTrAccRecEuroHeadingName())); + end; + + procedure GroupTrAccRecEuroHeadingName(): Text[100] + begin + exit(GroupTrAccRecEuroHeadingTok); + end; + + procedure GroupTrAccRecEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GroupTrAccRecEuroName())); + end; + + procedure GroupTrAccRecEuroName(): Text[100] + begin + exit(GroupTrAccRecEuroTok); + end; + + procedure BillsOfExchRecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsOfExchRecGName())); + end; + + procedure BillsOfExchRecGName(): Text[100] + begin + exit(BillsOfExchRecGTok); + end; + + procedure TrAccFactoringOpG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrAccFactoringOpGName())); + end; + + procedure TrAccFactoringOpGName(): Text[100] + begin + exit(TrAccFactoringOpGTok); + end; + + procedure ForCurrTrAccRecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ForCurrTrAccRecGName())); + end; + + procedure ForCurrTrAccRecGName(): Text[100] + begin + exit(ForCurrTrAccRecGTok); + end; + + procedure TrAccRecRetEmptG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrAccRecRetEmptGName())); + end; + + procedure TrAccRecRetEmptGName(): Text[100] + begin + exit(TrAccRecRetEmptGTok); + end; + + procedure GroupTrAccRecRetEmpt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GroupTrAccRecRetEmptName())); + end; + + procedure GroupTrAccRecRetEmptName(): Text[100] + begin + exit(GroupTrAccRecRetEmptTok); + end; + + procedure TrAccRecInvNotRecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrAccRecInvNotRecGName())); + end; + + procedure TrAccRecInvNotRecGName(): Text[100] + begin + exit(TrAccRecInvNotRecGTok); + end; + + procedure TradeAcsRecAccA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeAcsRecAccAName())); + end; + + procedure TradeAcsRecAccAName(): Text[100] + begin + exit(TradeAcsRecAccATok); + end; + + procedure TrAccRecOtherVincComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrAccRecOtherVincCompName())); + end; + + procedure TrAccRecOtherVincCompName(): Text[100] + begin + exit(TrAccRecOtherVincCompTok); + end; + + procedure BadDoubtfulDebts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDoubtfulDebtsName())); + end; + + procedure BadDoubtfulDebtsName(): Text[100] + begin + exit(BadDoubtfulDebtsTok); + end; + + procedure TrAccRecRetEmpt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrAccRecRetEmptName())); + end; + + procedure TrAccRecRetEmptName(): Text[100] + begin + exit(TrAccRecRetEmptTok); + end; + + procedure TradeDebtorsCreditBalances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeDebtorsCreditBalancesName())); + end; + + procedure TradeDebtorsCreditBalancesName(): Text[100] + begin + exit(TradeDebtorsCreditBalancesTok); + end; + + procedure StTrDebtAdvancesNational(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StTrDebtAdvancesNationalName())); + end; + + procedure StTrDebtAdvancesNationalName(): Text[100] + begin + exit(StTrDebtAdvancesNationalTok); + end; + + procedure StTrDebtAdvancesEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StTrDebtAdvancesEuName())); + end; + + procedure StTrDebtAdvancesEuName(): Text[100] + begin + exit(StTrDebtAdvancesEuTok); + end; + + procedure StTrDebtAdvancesExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StTrDebtAdvancesExportName())); + end; + + procedure StTrDebtAdvancesExportName(): Text[100] + begin + exit(StTrDebtAdvancesExportTok); + end; + + procedure OtherDebtors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherDebtorsName())); + end; + + procedure OtherDebtorsName(): Text[100] + begin + exit(OtherDebtorsTok); + end; + + procedure DebtorsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsHeadingName())); + end; + + procedure DebtorsHeadingName(): Text[100] + begin + exit(DebtorsHeadingTok); + end; + + procedure DebtorsEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsEuroName())); + end; + + procedure DebtorsEuroName(): Text[100] + begin + exit(DebtorsEuroTok); + end; + + procedure Debtors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsName())); + end; + + procedure DebtorsName(): Text[100] + begin + exit(DebtorsTok); + end; + + procedure DebtorsForeignCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsForeignCurrName())); + end; + + procedure DebtorsForeignCurrName(): Text[100] + begin + exit(DebtorsForeignCurrTok); + end; + + procedure DebtorsInvNotRec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsInvNotRecName())); + end; + + procedure DebtorsInvNotRecName(): Text[100] + begin + exit(DebtorsInvNotRecTok); + end; + + procedure DebtorsBillsOfCollection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsBillsOfCollectionName())); + end; + + procedure DebtorsBillsOfCollectionName(): Text[100] + begin + exit(DebtorsBillsOfCollectionTok); + end; + + procedure DebtorsReceivablesPendBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsReceivablesPendBillsName())); + end; + + procedure DebtorsReceivablesPendBillsName(): Text[100] + begin + exit(DebtorsReceivablesPendBillsTok); + end; + + procedure DebtorsDiscountedBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsDiscountedBillsName())); + end; + + procedure DebtorsDiscountedBillsName(): Text[100] + begin + exit(DebtorsDiscountedBillsTok); + end; + + procedure DebtBillsOnCollManag(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtBillsOnCollManagName())); + end; + + procedure DebtBillsOnCollManagName(): Text[100] + begin + exit(DebtBillsOnCollManagTok); + end; + + procedure DebtorsUnpaidBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsUnpaidBillsName())); + end; + + procedure DebtorsUnpaidBillsName(): Text[100] + begin + exit(DebtorsUnpaidBillsTok); + end; + + procedure BadDoubtfulDebt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDoubtfulDebtName())); + end; + + procedure BadDoubtfulDebtName(): Text[100] + begin + exit(BadDoubtfulDebtTok); + end; + + procedure DebtorsJointVentures(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtorsJointVenturesName())); + end; + + procedure DebtorsJointVenturesName(): Text[100] + begin + exit(DebtorsJointVenturesTok); + end; + + procedure Employees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeesName())); + end; + + procedure EmployeesName(): Text[100] + begin + exit(EmployeesTok); + end; + + procedure RemunerationAdvancesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RemunerationAdvancesHeadingName())); + end; + + procedure RemunerationAdvancesHeadingName(): Text[100] + begin + exit(RemunerationAdvancesHeadingTok); + end; + + procedure RemunerationAdvances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RemunerationAdvancesName())); + end; + + procedure RemunerationAdvancesName(): Text[100] + begin + exit(RemunerationAdvancesTok); + end; + + procedure PendingRemunerations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendingRemunerationsName())); + end; + + procedure PendingRemunerationsName(): Text[100] + begin + exit(PendingRemunerationsTok); + end; + + procedure PendingFixContribSistRem(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PendingFixContribSistRemName())); + end; + + procedure PendingFixContribSistRemName(): Text[100] + begin + exit(PendingFixContribSistRemTok); + end; + + procedure GeneralGovernment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GeneralGovernmentName())); + end; + + procedure GeneralGovernmentName(): Text[100] + begin + exit(GeneralGovernmentTok); + end; + + procedure GovernmentReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentReceivableName())); + end; + + procedure GovernmentReceivableName(): Text[100] + begin + exit(GovernmentReceivableTok); + end; + + procedure GovernmentVatReceivHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentVatReceivHeadingName())); + end; + + procedure GovernmentVatReceivHeadingName(): Text[100] + begin + exit(GovernmentVatReceivHeadingTok); + end; + + procedure GovernmentVatReceiv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentVatReceivName())); + end; + + procedure GovernmentVatReceivName(): Text[100] + begin + exit(GovernmentVatReceivTok); + end; + + procedure GovernmentSubvReceiv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentSubvReceivName())); + end; + + procedure GovernmentSubvReceivName(): Text[100] + begin + exit(GovernmentSubvReceivTok); + end; + + procedure GovernmentTaxReturnReceiv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentTaxReturnReceivName())); + end; + + procedure GovernmentTaxReturnReceivName(): Text[100] + begin + exit(GovernmentTaxReturnReceivTok); + end; + + procedure SocialSecurity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecurityName())); + end; + + procedure SocialSecurityName(): Text[100] + begin + exit(SocialSecurityTok); + end; + + procedure SocialSecurityReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecurityReceivableName())); + end; + + procedure SocialSecurityReceivableName(): Text[100] + begin + exit(SocialSecurityReceivableTok); + end; + + procedure ValueAddedTaxDeduct(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValueAddedTaxDeductName())); + end; + + procedure ValueAddedTaxDeductName(): Text[100] + begin + exit(ValueAddedTaxDeductTok); + end; + + procedure GovVatDeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovVatDeductibleName())); + end; + + procedure GovVatDeductibleName(): Text[100] + begin + exit(GovVatDeductibleTok); + end; + + procedure GovDeducPaymOnAccHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovDeducPaymOnAccHeadingName())); + end; + + procedure GovDeducPaymOnAccHeadingName(): Text[100] + begin + exit(GovDeducPaymOnAccHeadingTok); + end; + + procedure GovDeducPaymOnAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovDeducPaymOnAccName())); + end; + + procedure GovDeducPaymOnAccName(): Text[100] + begin + exit(GovDeducPaymOnAccTok); + end; + + procedure DeferredTaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxAssetsName())); + end; + + procedure DeferredTaxAssetsName(): Text[100] + begin + exit(DeferredTaxAssetsTok); + end; + + procedure DeducTemporaryDifferences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeducTemporaryDifferencesName())); + end; + + procedure DeducTemporaryDifferencesName(): Text[100] + begin + exit(DeducTemporaryDifferencesTok); + end; + + procedure DeferredDeductDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredDeductDiscountsName())); + end; + + procedure DeferredDeductDiscountsName(): Text[100] + begin + exit(DeferredDeductDiscountsTok); + end; + + procedure CreditForLossesToComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditForLossesToCompName())); + end; + + procedure CreditForLossesToCompName(): Text[100] + begin + exit(CreditForLossesToCompTok); + end; + + procedure GovernmentCreditor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentCreditorName())); + end; + + procedure GovernmentCreditorName(): Text[100] + begin + exit(GovernmentCreditorTok); + end; + + procedure GovernmentCreditorVatHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentCreditorVatHeadingName())); + end; + + procedure GovernmentCreditorVatHeadingName(): Text[100] + begin + exit(GovernmentCreditorVatHeadingTok); + end; + + procedure GovernmentCreditorVat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentCreditorVatName())); + end; + + procedure GovernmentCreditorVatName(): Text[100] + begin + exit(GovernmentCreditorVatTok); + end; + + procedure GovernmentCreditorIrpfHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentCreditorIrpfHeadingName())); + end; + + procedure GovernmentCreditorIrpfHeadingName(): Text[100] + begin + exit(GovernmentCreditorIrpfHeadingTok); + end; + + procedure GovernmentCreditorIrpf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovernmentCreditorIrpfName())); + end; + + procedure GovernmentCreditorIrpfName(): Text[100] + begin + exit(GovernmentCreditorIrpfTok); + end; + + procedure GovCredCorpIncTaxHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovCredCorpIncTaxHeadingName())); + end; + + procedure GovCredCorpIncTaxHeadingName(): Text[100] + begin + exit(GovCredCorpIncTaxHeadingTok); + end; + + procedure GovCredCorpIncTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovCredCorpIncTaxName())); + end; + + procedure GovCredCorpIncTaxName(): Text[100] + begin + exit(GovCredCorpIncTaxTok); + end; + + procedure GovCreditorSubvHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovCreditorSubvHeadingName())); + end; + + procedure GovCreditorSubvHeadingName(): Text[100] + begin + exit(GovCreditorSubvHeadingTok); + end; + + procedure GovCreditorSubv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GovCreditorSubvName())); + end; + + procedure GovCreditorSubvName(): Text[100] + begin + exit(GovCreditorSubvTok); + end; + + procedure SocialSecurityCreditorHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecurityCreditorHeadingName())); + end; + + procedure SocialSecurityCreditorHeadingName(): Text[100] + begin + exit(SocialSecurityCreditorHeadingTok); + end; + + procedure SocialSecurityCreditor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecurityCreditorName())); + end; + + procedure SocialSecurityCreditorName(): Text[100] + begin + exit(SocialSecurityCreditorTok); + end; + + procedure ValueAddTaxCollByComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ValueAddTaxCollByCompName())); + end; + + procedure ValueAddTaxCollByCompName(): Text[100] + begin + exit(ValueAddTaxCollByCompTok); + end; + + procedure VatCollByTheComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VatCollByTheCompName())); + end; + + procedure VatCollByTheCompName(): Text[100] + begin + exit(VatCollByTheCompTok); + end; + + procedure VatEuReversion(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VatEuReversionName())); + end; + + procedure VatEuReversionName(): Text[100] + begin + exit(VatEuReversionTok); + end; + + procedure DeferredProfitTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredProfitTaxName())); + end; + + procedure DeferredProfitTaxName(): Text[100] + begin + exit(DeferredProfitTaxTok); + end; + + procedure ChargSprOverSevPeriods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChargSprOverSevPeriodsName())); + end; + + procedure ChargSprOverSevPeriodsName(): Text[100] + begin + exit(ChargSprOverSevPeriodsTok); + end; + + procedure Prepayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaymentsName())); + end; + + procedure PrepaymentsName(): Text[100] + begin + exit(PrepaymentsTok); + end; + + procedure UnearnedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnearnedIncomeName())); + end; + + procedure UnearnedIncomeName(): Text[100] + begin + exit(UnearnedIncomeTok); + end; + + procedure DetCreditValAndStVend(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetCreditValAndStVendName())); + end; + + procedure DetCreditValAndStVendName(): Text[100] + begin + exit(DetCreditValAndStVendTok); + end; + + procedure DetCreditValTradeOper(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetCreditValTradeOperName())); + end; + + procedure DetCreditValTradeOperName(): Text[100] + begin + exit(DetCreditValTradeOperTok); + end; + + procedure DetCreditValTradeOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetCreditValTradeOVinName())); + end; + + procedure DetCreditValTradeOVinName(): Text[100] + begin + exit(DetCreditValTradeOVinTok); + end; + + procedure DetCreditValTradeOG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetCreditValTradeOGName())); + end; + + procedure DetCreditValTradeOGName(): Text[100] + begin + exit(DetCreditValTradeOGTok); + end; + + procedure DetCreditValTradeOA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetCreditValTradeOAName())); + end; + + procedure DetCreditValTradeOAName(): Text[100] + begin + exit(DetCreditValTradeOATok); + end; + + procedure DetCreditValTradeOOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetCreditValTradeOOvName())); + end; + + procedure DetCreditValTradeOOvName(): Text[100] + begin + exit(DetCreditValTradeOOvTok); + end; + + procedure ProvForTradeTransactLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForTradeTransactLiabilitiesName())); + end; + + procedure ProvForTradeTransactLiabilitiesName(): Text[100] + begin + exit(ProvForTradeTransactLiabilitiesTok); + end; + + procedure ProvForBurdensomeContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForBurdensomeContractsName())); + end; + + procedure ProvForBurdensomeContractsName(): Text[100] + begin + exit(ProvForBurdensomeContractsTok); + end; + + procedure ProvForOtherTradeTransact(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForOtherTradeTransactName())); + end; + + procedure ProvForOtherTradeTransactName(): Text[100] + begin + exit(ProvForOtherTradeTransactTok); + end; + + procedure FinancialAccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialAccountsName())); + end; + + procedure FinancialAccountsName(): Text[100] + begin + exit(FinancialAccountsTok); + end; + + procedure ShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermInvestmentsName())); + end; + + procedure ShortTermInvestmentsName(): Text[100] + begin + exit(ShortTermInvestmentsTok); + end; + + procedure ShortTermDebentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDebentLoansName())); + end; + + procedure ShortTermDebentLoansName(): Text[100] + begin + exit(ShortTermDebentLoansTok); + end; + + procedure TreasureBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TreasureBillsName())); + end; + + procedure TreasureBillsName(): Text[100] + begin + exit(TreasureBillsTok); + end; + + procedure ConvertibleDebentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertibleDebentLoansName())); + end; + + procedure ConvertibleDebentLoansName(): Text[100] + begin + exit(ConvertibleDebentLoansTok); + end; + + procedure StSharesLiability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StSharesLiabilityName())); + end; + + procedure StSharesLiabilityName(): Text[100] + begin + exit(StSharesLiabilityTok); + end; + + procedure DebtsAsMarketableSec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsAsMarketableSecName())); + end; + + procedure DebtsAsMarketableSecName(): Text[100] + begin + exit(DebtsAsMarketableSecTok); + end; + + procedure BorrowingsInterests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BorrowingsInterestsName())); + end; + + procedure BorrowingsInterestsName(): Text[100] + begin + exit(BorrowingsInterestsTok); + end; + + procedure DividendsLiability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendsLiabilityName())); + end; + + procedure DividendsLiabilityName(): Text[100] + begin + exit(DividendsLiabilityTok); + end; + + procedure DeprMarketableSec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprMarketableSecName())); + end; + + procedure DeprMarketableSecName(): Text[100] + begin + exit(DeprMarketableSecTok); + end; + + procedure DeprOblAndDebLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOblAndDebLoansName())); + end; + + procedure DeprOblAndDebLoansName(): Text[100] + begin + exit(DeprOblAndDebLoansTok); + end; + + procedure DeprConverOblAndDebL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprConverOblAndDebLName())); + end; + + procedure DeprConverOblAndDebLName(): Text[100] + begin + exit(DeprConverOblAndDebLTok); + end; + + procedure DeprOtherMarketableSec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOtherMarketableSecName())); + end; + + procedure DeprOtherMarketableSecName(): Text[100] + begin + exit(DeprOtherMarketableSecTok); + end; + + procedure ShortTermDebtsWithVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDebtsWithVincName())); + end; + + procedure ShortTermDebtsWithVincName(): Text[100] + begin + exit(ShortTermDebtsWithVincTok); + end; + + procedure StDebtsVincFinInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StDebtsVincFinInstName())); + end; + + procedure StDebtsVincFinInstName(): Text[100] + begin + exit(StDebtsVincFinInstTok); + end; + + procedure LoansFromFinInstitG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoansFromFinInstitGName())); + end; + + procedure LoansFromFinInstitGName(): Text[100] + begin + exit(LoansFromFinInstitGTok); + end; + + procedure LoansFromFinInstitA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoansFromFinInstitAName())); + end; + + procedure LoansFromFinInstitAName(): Text[100] + begin + exit(LoansFromFinInstitATok); + end; + + procedure LoansFromFinInstitOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoansFromFinInstitOthName())); + end; + + procedure LoansFromFinInstitOthName(): Text[100] + begin + exit(LoansFromFinInstitOthTok); + end; + + procedure FixedAssetCredVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetCredVincCName())); + end; + + procedure FixedAssetCredVincCName(): Text[100] + begin + exit(FixedAssetCredVincCTok); + end; + + procedure FixedAssetCredG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetCredGName())); + end; + + procedure FixedAssetCredGName(): Text[100] + begin + exit(FixedAssetCredGTok); + end; + + procedure FixedAssetCreditorsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetCreditorsAName())); + end; + + procedure FixedAssetCreditorsAName(): Text[100] + begin + exit(FixedAssetCreditorsATok); + end; + + procedure FixedAssetsCredOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsCredOthName())); + end; + + procedure FixedAssetsCredOthName(): Text[100] + begin + exit(FixedAssetsCredOthTok); + end; + + procedure StFinLeaseCredVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFinLeaseCredVincCName())); + end; + + procedure StFinLeaseCredVincCName(): Text[100] + begin + exit(StFinLeaseCredVincCTok); + end; + + procedure StFinLeaseCredG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFinLeaseCredGName())); + end; + + procedure StFinLeaseCredGName(): Text[100] + begin + exit(StFinLeaseCredGTok); + end; + + procedure StFinLeaseCredA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFinLeaseCredAName())); + end; + + procedure StFinLeaseCredAName(): Text[100] + begin + exit(StFinLeaseCredATok); + end; + + procedure StFinLeaseCredOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFinLeaseCredOthName())); + end; + + procedure StFinLeaseCredOthName(): Text[100] + begin + exit(StFinLeaseCredOthTok); + end; + + procedure OtherStDebtsVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherStDebtsVincCName())); + end; + + procedure OtherStDebtsVincCName(): Text[100] + begin + exit(OtherStDebtsVincCTok); + end; + + procedure ShortTermDebtsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDebtsGName())); + end; + + procedure ShortTermDebtsGName(): Text[100] + begin + exit(ShortTermDebtsGTok); + end; + + procedure ShortTermDebtsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDebtsAName())); + end; + + procedure ShortTermDebtsAName(): Text[100] + begin + exit(ShortTermDebtsATok); + end; + + procedure ShortTermDebtsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDebtsOthName())); + end; + + procedure ShortTermDebtsOthName(): Text[100] + begin + exit(ShortTermDebtsOthTok); + end; + + procedure StDebtInterestsVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StDebtInterestsVincCName())); + end; + + procedure StDebtInterestsVincCName(): Text[100] + begin + exit(StDebtInterestsVincCTok); + end; + + procedure DebtInterestsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestsGName())); + end; + + procedure DebtInterestsGName(): Text[100] + begin + exit(DebtInterestsGTok); + end; + + procedure DebtInterestsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestsAName())); + end; + + procedure DebtInterestsAName(): Text[100] + begin + exit(DebtInterestsATok); + end; + + procedure DebtInterestsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestsOthName())); + end; + + procedure DebtInterestsOthName(): Text[100] + begin + exit(DebtInterestsOthTok); + end; + + procedure StLoansDebt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoansDebtName())); + end; + + procedure StLoansDebtName(): Text[100] + begin + exit(StLoansDebtTok); + end; + + procedure StLoansFromFinInstitutHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoansFromFinInstitutHeadingName())); + end; + + procedure StLoansFromFinInstitutHeadingName(): Text[100] + begin + exit(StLoansFromFinInstitutHeadingTok); + end; + + procedure StLoansFromFinInstitut(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoansFromFinInstitutName())); + end; + + procedure StLoansFromFinInstitutName(): Text[100] + begin + exit(StLoansFromFinInstitutTok); + end; + + procedure ShortTermLoansPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermLoansPostingName())); + end; + + procedure ShortTermLoansPostingName(): Text[100] + begin + exit(ShortTermLoansPostingTok); + end; + + procedure StDebtsForCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StDebtsForCreditsName())); + end; + + procedure StDebtsForCreditsName(): Text[100] + begin + exit(StDebtsForCreditsTok); + end; + + procedure DebtOnDiscountedBillsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtOnDiscountedBillsHeadingName())); + end; + + procedure DebtOnDiscountedBillsHeadingName(): Text[100] + begin + exit(DebtOnDiscountedBillsHeadingTok); + end; + + procedure DebtOnDiscountedBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtOnDiscountedBillsName())); + end; + + procedure DebtOnDiscountedBillsName(): Text[100] + begin + exit(DebtOnDiscountedBillsTok); + end; + + procedure DiscInvoiceDebtAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscInvoiceDebtAccName())); + end; + + procedure DiscInvoiceDebtAccName(): Text[100] + begin + exit(DiscInvoiceDebtAccTok); + end; + + procedure FactoringOpDebtAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FactoringOpDebtAccName())); + end; + + procedure FactoringOpDebtAccName(): Text[100] + begin + exit(FactoringOpDebtAccTok); + end; + + procedure ShortTermLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermLoansName())); + end; + + procedure ShortTermLoansName(): Text[100] + begin + exit(ShortTermLoansTok); + end; + + procedure DebtInSubvAndLeg(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInSubvAndLegName())); + end; + + procedure DebtInSubvAndLegName(): Text[100] + begin + exit(DebtInSubvAndLegTok); + end; + + procedure StFixedAssetCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFixedAssetCreditorsName())); + end; + + procedure StFixedAssetCreditorsName(): Text[100] + begin + exit(StFixedAssetCreditorsTok); + end; + + procedure StFinLeaseCreditors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFinLeaseCreditorsName())); + end; + + procedure StFinLeaseCreditorsName(): Text[100] + begin + exit(StFinLeaseCreditorsTok); + end; + + procedure StBillOfExchPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StBillOfExchPayName())); + end; + + procedure StBillOfExchPayName(): Text[100] + begin + exit(StBillOfExchPayTok); + end; + + procedure ActiveDividendToPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ActiveDividendToPayName())); + end; + + procedure ActiveDividendToPayName(): Text[100] + begin + exit(ActiveDividendToPayTok); + end; + + procedure ShortTermDebtIntCredInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDebtIntCredInstName())); + end; + + procedure ShortTermDebtIntCredInstName(): Text[100] + begin + exit(ShortTermDebtIntCredInstTok); + end; + + procedure ShortTermDebtInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDebtInterestName())); + end; + + procedure ShortTermDebtInterestName(): Text[100] + begin + exit(ShortTermDebtInterestTok); + end; + + procedure ShortTermProvisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermProvisionsName())); + end; + + procedure ShortTermProvisionsName(): Text[100] + begin + exit(ShortTermProvisionsTok); + end; + + procedure ProvisionForPensionsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForPensionsHeadingName())); + end; + + procedure ProvisionForPensionsHeadingName(): Text[100] + begin + exit(ProvisionForPensionsHeadingTok); + end; + + procedure TaxationReserveHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxationReserveHeadingName())); + end; + + procedure TaxationReserveHeadingName(): Text[100] + begin + exit(TaxationReserveHeadingTok); + end; + + procedure ProvisionForResponsibilitiesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForResponsibilitiesHeadingName())); + end; + + procedure ProvisionForResponsibilitiesHeadingName(): Text[100] + begin + exit(ProvisionForResponsibilitiesHeadingTok); + end; + + procedure ProvisionForFaDismantle(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForFaDismantleName())); + end; + + procedure ProvisionForFaDismantleName(): Text[100] + begin + exit(ProvisionForFaDismantleTok); + end; + + procedure ProvForEnvironmentalActHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForEnvironmentalActHeadingName())); + end; + + procedure ProvForEnvironmentalActHeadingName(): Text[100] + begin + exit(ProvForEnvironmentalActHeadingTok); + end; + + procedure ProvForRestructuring(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForRestructuringName())); + end; + + procedure ProvForRestructuringName(): Text[100] + begin + exit(ProvForRestructuringTok); + end; + + procedure ProvForPaymLiabInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForPaymLiabInstName())); + end; + + procedure ProvForPaymLiabInstName(): Text[100] + begin + exit(ProvForPaymLiabInstTok); + end; + + procedure GroupAssocFinInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GroupAssocFinInvestmName())); + end; + + procedure GroupAssocFinInvestmName(): Text[100] + begin + exit(GroupAssocFinInvestmTok); + end; + + procedure StTradeInvestmVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StTradeInvestmVincName())); + end; + + procedure StTradeInvestmVincName(): Text[100] + begin + exit(StTradeInvestmVincTok); + end; + + procedure StTradeInvestmG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StTradeInvestmGName())); + end; + + procedure StTradeInvestmGName(): Text[100] + begin + exit(StTradeInvestmGTok); + end; + + procedure StTradeInvestmA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StTradeInvestmAName())); + end; + + procedure StTradeInvestmAName(): Text[100] + begin + exit(StTradeInvestmATok); + end; + + procedure StTradeInvestmOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StTradeInvestmOthName())); + end; + + procedure StTradeInvestmOthName(): Text[100] + begin + exit(StTradeInvestmOthTok); + end; + + procedure StFixedIncomeSecVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFixedIncomeSecVincName())); + end; + + procedure StFixedIncomeSecVincName(): Text[100] + begin + exit(StFixedIncomeSecVincTok); + end; + + procedure StFixedIncomeSecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFixedIncomeSecGName())); + end; + + procedure StFixedIncomeSecGName(): Text[100] + begin + exit(StFixedIncomeSecGTok); + end; + + procedure StFixedIncomeSecA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFixedIncomeSecAName())); + end; + + procedure StFixedIncomeSecAName(): Text[100] + begin + exit(StFixedIncomeSecATok); + end; + + procedure StFixedIncomeSecOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFixedIncomeSecOthName())); + end; + + procedure StFixedIncomeSecOthName(): Text[100] + begin + exit(StFixedIncomeSecOthTok); + end; + + procedure StLoansToVincComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoansToVincCompName())); + end; + + procedure StLoansToVincCompName(): Text[100] + begin + exit(StLoansToVincCompTok); + end; + + procedure StLoansToGroupC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoansToGroupCName())); + end; + + procedure StLoansToGroupCName(): Text[100] + begin + exit(StLoansToGroupCTok); + end; + + procedure StLoansToAComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoansToACompName())); + end; + + procedure StLoansToACompName(): Text[100] + begin + exit(StLoansToACompTok); + end; + + procedure StLoansToOtherVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoansToOtherVincCName())); + end; + + procedure StLoansToOtherVincCName(): Text[100] + begin + exit(StLoansToOtherVincCTok); + end; + + procedure FinInvestmInterestVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinInvestmInterestVincName())); + end; + + procedure FinInvestmInterestVincName(): Text[100] + begin + exit(FinInvestmInterestVincTok); + end; + + procedure FinInvestmInterestG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinInvestmInterestGName())); + end; + + procedure FinInvestmInterestGName(): Text[100] + begin + exit(FinInvestmInterestGTok); + end; + + procedure FinInvestmInterestsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinInvestmInterestsAName())); + end; + + procedure FinInvestmInterestsAName(): Text[100] + begin + exit(FinInvestmInterestsATok); + end; + + procedure FinInvestmInterestsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinInvestmInterestsOthName())); + end; + + procedure FinInvestmInterestsOthName(): Text[100] + begin + exit(FinInvestmInterestsOthTok); + end; + + procedure StInterestCreditsToVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestCreditsToVincName())); + end; + + procedure StInterestCreditsToVincName(): Text[100] + begin + exit(StInterestCreditsToVincTok); + end; + + procedure StInterestCreditsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestCreditsGName())); + end; + + procedure StInterestCreditsGName(): Text[100] + begin + exit(StInterestCreditsGTok); + end; + + procedure StInterestCreditsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestCreditsAName())); + end; + + procedure StInterestCreditsAName(): Text[100] + begin + exit(StInterestCreditsATok); + end; + + procedure StInterestCreditsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestCreditsOthName())); + end; + + procedure StInterestCreditsOthName(): Text[100] + begin + exit(StInterestCreditsOthTok); + end; + + procedure DividReceivFinInvInVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividReceivFinInvInVincName())); + end; + + procedure DividReceivFinInvInVincName(): Text[100] + begin + exit(DividReceivFinInvInVincTok); + end; + + procedure DividReceivFinInvG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividReceivFinInvGName())); + end; + + procedure DividReceivFinInvGName(): Text[100] + begin + exit(DividReceivFinInvGTok); + end; + + procedure DividReceivFinInvA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividReceivFinInvAName())); + end; + + procedure DividReceivFinInvAName(): Text[100] + begin + exit(DividReceivFinInvATok); + end; + + procedure DividReceivFinInvOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividReceivFinInvOthName())); + end; + + procedure DividReceivFinInvOthName(): Text[100] + begin + exit(DividReceivFinInvOthTok); + end; + + procedure StDemandExpendEqVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StDemandExpendEqVincName())); + end; + + procedure StDemandExpendEqVincName(): Text[100] + begin + exit(StDemandExpendEqVincTok); + end; + + procedure StDemandExpendEqG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StDemandExpendEqGName())); + end; + + procedure StDemandExpendEqGName(): Text[100] + begin + exit(StDemandExpendEqGTok); + end; + + procedure StDemandExpendEqA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StDemandExpendEqAName())); + end; + + procedure StDemandExpendEqAName(): Text[100] + begin + exit(StDemandExpendEqATok); + end; + + procedure StDemandExpendEqOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StDemandExpendEqOthName())); + end; + + procedure StDemandExpendEqOthName(): Text[100] + begin + exit(StDemandExpendEqOthTok); + end; + + procedure InterimFinancialInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterimFinancialInvestmName())); + end; + + procedure InterimFinancialInvestmName(): Text[100] + begin + exit(InterimFinancialInvestmTok); + end; + + procedure InvestmentsInCapitalInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentsInCapitalInstName())); + end; + + procedure InvestmentsInCapitalInstName(): Text[100] + begin + exit(InvestmentsInCapitalInstTok); + end; + + procedure StFixedIncomeSecurity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFixedIncomeSecurityName())); + end; + + procedure StFixedIncomeSecurityName(): Text[100] + begin + exit(StFixedIncomeSecurityTok); + end; + + procedure StFixedIncomeInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFixedIncomeInvestmName())); + end; + + procedure StFixedIncomeInvestmName(): Text[100] + begin + exit(StFixedIncomeInvestmTok); + end; + + procedure ShortTermLoansHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermLoansHeadingName())); + end; + + procedure ShortTermLoansHeadingName(): Text[100] + begin + exit(ShortTermLoansHeadingTok); + end; + + procedure StFaTransferenceLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFaTransferenceLoansName())); + end; + + procedure StFaTransferenceLoansName(): Text[100] + begin + exit(StFaTransferenceLoansTok); + end; + + procedure StaffStCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StaffStCreditsName())); + end; + + procedure StaffStCreditsName(): Text[100] + begin + exit(StaffStCreditsTok); + end; + + procedure DividendsReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendsReceivableName())); + end; + + procedure DividendsReceivableName(): Text[100] + begin + exit(DividendsReceivableTok); + end; + + procedure SecuritiesStInterests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesStInterestsName())); + end; + + procedure SecuritiesStInterestsName(): Text[100] + begin + exit(SecuritiesStInterestsTok); + end; + + procedure StCreditsInterests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StCreditsInterestsName())); + end; + + procedure StCreditsInterestsName(): Text[100] + begin + exit(StCreditsInterestsTok); + end; + + procedure ShortTermTaxations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermTaxationsName())); + end; + + procedure ShortTermTaxationsName(): Text[100] + begin + exit(ShortTermTaxationsTok); + end; + + procedure StAmtsUncalledOnShares(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StAmtsUncalledOnSharesName())); + end; + + procedure StAmtsUncalledOnSharesName(): Text[100] + begin + exit(StAmtsUncalledOnSharesTok); + end; + + procedure OtherNonBankAccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherNonBankAccountsName())); + end; + + procedure OtherNonBankAccountsName(): Text[100] + begin + exit(OtherNonBankAccountsTok); + end; + + procedure ProprietorsAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProprietorsAccountName())); + end; + + procedure ProprietorsAccountName(): Text[100] + begin + exit(ProprietorsAccountTok); + end; + + procedure PartnAdministrCheckingAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnAdministrCheckingAccName())); + end; + + procedure PartnAdministrCheckingAccName(): Text[100] + begin + exit(PartnAdministrCheckingAccTok); + end; + + procedure OthersCheckingAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthersCheckingAccName())); + end; + + procedure OthersCheckingAccName(): Text[100] + begin + exit(OthersCheckingAccTok); + end; + + procedure GroupVincCheckingAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GroupVincCheckingAccName())); + end; + + procedure GroupVincCheckingAccName(): Text[100] + begin + exit(GroupVincCheckingAccTok); + end; + + procedure AsocVincCheckingAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AsocVincCheckingAccName())); + end; + + procedure AsocVincCheckingAccName(): Text[100] + begin + exit(AsocVincCheckingAccTok); + end; + + procedure OthersVincCheckingAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthersVincCheckingAccName())); + end; + + procedure OthersVincCheckingAccName(): Text[100] + begin + exit(OthersVincCheckingAccTok); + end; + + procedure MergeAndSplitCheckAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MergeAndSplitCheckAccName())); + end; + + procedure MergeAndSplitCheckAccName(): Text[100] + begin + exit(MergeAndSplitCheckAccTok); + end; + + procedure PartnersDissolvedSociety(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersDissolvedSocietyName())); + end; + + procedure PartnersDissolvedSocietyName(): Text[100] + begin + exit(PartnersDissolvedSocietyTok); + end; + + procedure PartnersMergeAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersMergeAccName())); + end; + + procedure PartnersMergeAccName(): Text[100] + begin + exit(PartnersMergeAccTok); + end; + + procedure PartnersSplitSociety(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersSplitSocietyName())); + end; + + procedure PartnersSplitSocietyName(): Text[100] + begin + exit(PartnersSplitSocietyTok); + end; + + procedure PartnersSplitAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnersSplitAccName())); + end; + + procedure PartnersSplitAccName(): Text[100] + begin + exit(PartnersSplitAccTok); + end; + + procedure TemporaryJoinsChecAcc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TemporaryJoinsChecAccName())); + end; + + procedure TemporaryJoinsChecAccName(): Text[100] + begin + exit(TemporaryJoinsChecAccTok); + end; + + procedure UnappliedItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnappliedItemsName())); + end; + + procedure UnappliedItemsName(): Text[100] + begin + exit(UnappliedItemsTok); + end; + + procedure DemandExpendOnEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DemandExpendOnEquityName())); + end; + + procedure DemandExpendOnEquityName(): Text[100] + begin + exit(DemandExpendOnEquityTok); + end; + + procedure DemandExpendEqGroup(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DemandExpendEqGroupName())); + end; + + procedure DemandExpendEqGroupName(): Text[100] + begin + exit(DemandExpendEqGroupTok); + end; + + procedure DemandExpendEqAsoc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DemandExpendEqAsocName())); + end; + + procedure DemandExpendEqAsocName(): Text[100] + begin + exit(DemandExpendEqAsocTok); + end; + + procedure DemandExpendEqOtVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DemandExpendEqOtVinName())); + end; + + procedure DemandExpendEqOtVinName(): Text[100] + begin + exit(DemandExpendEqOtVinTok); + end; + + procedure DemandExpendEqOthers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DemandExpendEqOthersName())); + end; + + procedure DemandExpendEqOthersName(): Text[100] + begin + exit(DemandExpendEqOthersTok); + end; + + procedure InterimActiveDividends(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterimActiveDividendsName())); + end; + + procedure InterimActiveDividendsName(): Text[100] + begin + exit(InterimActiveDividendsTok); + end; + + procedure SharehPaymentCallable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharehPaymentCallableName())); + end; + + procedure SharehPaymentCallableName(): Text[100] + begin + exit(SharehPaymentCallableTok); + end; + + procedure SharehPayCallSharesOrG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharehPayCallSharesOrGName())); + end; + + procedure SharehPayCallSharesOrGName(): Text[100] + begin + exit(SharehPayCallSharesOrGTok); + end; + + procedure SharehPayCallFinLiab(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharehPayCallFinLiabName())); + end; + + procedure SharehPayCallFinLiabName(): Text[100] + begin + exit(SharehPayCallFinLiabTok); + end; + + procedure DerivativeInstrumentSt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DerivativeInstrumentStName())); + end; + + procedure DerivativeInstrumentStName(): Text[100] + begin + exit(DerivativeInstrumentStTok); + end; + + procedure StFinDerivAssetsPortfolio(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StFinDerivAssetsPortfolioName())); + end; + + procedure StFinDerivAssetsPortfolioName(): Text[100] + begin + exit(StFinDerivAssetsPortfolioTok); + end; + + procedure AssetsDerivInstStCovIns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssetsDerivInstStCovInsName())); + end; + + procedure AssetsDerivInstStCovInsName(): Text[100] + begin + exit(AssetsDerivInstStCovInsTok); + end; + + procedure LiabDerivInstStPortfolio(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabDerivInstStPortfolioName())); + end; + + procedure LiabDerivInstStPortfolioName(): Text[100] + begin + exit(LiabDerivInstStPortfolioTok); + end; + + procedure LiabDerivInstStCovIns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabDerivInstStCovInsName())); + end; + + procedure LiabDerivInstStCovInsName(): Text[100] + begin + exit(LiabDerivInstStCovInsTok); + end; + + procedure SecDepositsReceivGuarant(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecDepositsReceivGuarantName())); + end; + + procedure SecDepositsReceivGuarantName(): Text[100] + begin + exit(SecDepositsReceivGuarantTok); + end; + + procedure ShortTermGuaranteesReceiv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermGuaranteesReceivName())); + end; + + procedure ShortTermGuaranteesReceivName(): Text[100] + begin + exit(ShortTermGuaranteesReceivTok); + end; + + procedure ShortTermDepositsReceiv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermDepositsReceivName())); + end; + + procedure ShortTermDepositsReceivName(): Text[100] + begin + exit(ShortTermDepositsReceivTok); + end; + + procedure ShortTermGuaranteedSec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermGuaranteedSecName())); + end; + + procedure ShortTermGuaranteedSecName(): Text[100] + begin + exit(ShortTermGuaranteedSecTok); + end; + + procedure ShortTermGuarantDeposits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermGuarantDepositsName())); + end; + + procedure ShortTermGuarantDepositsName(): Text[100] + begin + exit(ShortTermGuarantDepositsTok); + end; + + procedure InterestPaidInAdvance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestPaidInAdvanceName())); + end; + + procedure InterestPaidInAdvanceName(): Text[100] + begin + exit(InterestPaidInAdvanceTok); + end; + + procedure InterestReceivedInAdvance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestReceivedInAdvanceName())); + end; + + procedure InterestReceivedInAdvanceName(): Text[100] + begin + exit(InterestReceivedInAdvanceTok); + end; + + procedure FinancialGuaranteesSt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialGuaranteesStName())); + end; + + procedure FinancialGuaranteesStName(): Text[100] + begin + exit(FinancialGuaranteesStTok); + end; + + procedure CashFlow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashFlowName())); + end; + + procedure CashFlowName(): Text[100] + begin + exit(CashFlowTok); + end; + + procedure CashEuroHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashEuroHeadingName())); + end; + + procedure CashEuroHeadingName(): Text[100] + begin + exit(CashEuroHeadingTok); + end; + + procedure CashEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashEuroName())); + end; + + procedure CashEuroName(): Text[100] + begin + exit(CashEuroTok); + end; + + procedure CashForeignCurrency(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashForeignCurrencyName())); + end; + + procedure CashForeignCurrencyName(): Text[100] + begin + exit(CashForeignCurrencyTok); + end; + + procedure BanksAccountAtSightEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BanksAccountAtSightEuroName())); + end; + + procedure BanksAccountAtSightEuroName(): Text[100] + begin + exit(BanksAccountAtSightEuroTok); + end; + + procedure BanksEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BanksEuroName())); + end; + + procedure BanksEuroName(): Text[100] + begin + exit(BanksEuroTok); + end; + + procedure BanksAccAtSightFCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BanksAccAtSightFCurrName())); + end; + + procedure BanksAccAtSightFCurrName(): Text[100] + begin + exit(BanksAccAtSightFCurrTok); + end; + + procedure BanksForeignCurrency(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BanksForeignCurrencyName())); + end; + + procedure BanksForeignCurrencyName(): Text[100] + begin + exit(BanksForeignCurrencyTok); + end; + + procedure BanksSavingAccEuro(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BanksSavingAccEuroName())); + end; + + procedure BanksSavingAccEuroName(): Text[100] + begin + exit(BanksSavingAccEuroTok); + end; + + procedure SavingAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SavingAccountName())); + end; + + procedure SavingAccountName(): Text[100] + begin + exit(SavingAccountTok); + end; + + procedure BanksSavingAccForCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BanksSavingAccForCurrName())); + end; + + procedure BanksSavingAccForCurrName(): Text[100] + begin + exit(BanksSavingAccForCurrTok); + end; + + procedure HighLiqStInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HighLiqStInvestmName())); + end; + + procedure HighLiqStInvestmName(): Text[100] + begin + exit(HighLiqStInvestmTok); + end; + + procedure NonCurrentAssetsForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrentAssetsForSaleName())); + end; + + procedure NonCurrentAssetsForSaleName(): Text[100] + begin + exit(NonCurrentAssetsForSaleTok); + end; + + procedure InvestmWithVincComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmWithVincCompName())); + end; + + procedure InvestmWithVincCompName(): Text[100] + begin + exit(InvestmWithVincCompTok); + end; + + procedure FinancialInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialInvestmentsName())); + end; + + procedure FinancialInvestmentsName(): Text[100] + begin + exit(FinancialInvestmentsTok); + end; + + procedure InventoryTradeDebtors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryTradeDebtorsName())); + end; + + procedure InventoryTradeDebtorsName(): Text[100] + begin + exit(InventoryTradeDebtorsTok); + end; + + procedure OtherAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherAssetsName())); + end; + + procedure OtherAssetsName(): Text[100] + begin + exit(OtherAssetsTok); + end; + + procedure Provisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsName())); + end; + + procedure ProvisionsName(): Text[100] + begin + exit(ProvisionsTok); + end; + + procedure SpecialCharactDebts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SpecialCharactDebtsName())); + end; + + procedure SpecialCharactDebtsName(): Text[100] + begin + exit(SpecialCharactDebtsTok); + end; + + procedure DebtsWithVincComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtsWithVincCompName())); + end; + + procedure DebtsWithVincCompName(): Text[100] + begin + exit(DebtsWithVincCompTok); + end; + + procedure TradeCreditorsAndOthPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradeCreditorsAndOthPayName())); + end; + + procedure TradeCreditorsAndOthPayName(): Text[100] + begin + exit(TradeCreditorsAndOthPayTok); + end; + + procedure DetValueFinancialProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueFinancialProductsName())); + end; + + procedure DetValueFinancialProductsName(): Text[100] + begin + exit(DetValueFinancialProductsTok); + end; + + procedure DetValueStPartVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStPartVincName())); + end; + + procedure DetValueStPartVincName(): Text[100] + begin + exit(DetValueStPartVincTok); + end; + + procedure DetValueStPartG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStPartGName())); + end; + + procedure DetValueStPartGName(): Text[100] + begin + exit(DetValueStPartGTok); + end; + + procedure DetValueStPartA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStPartAName())); + end; + + procedure DetValueStPartAName(): Text[100] + begin + exit(DetValueStPartATok); + end; + + procedure DetValueStSecVincC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStSecVincCName())); + end; + + procedure DetValueStSecVincCName(): Text[100] + begin + exit(DetValueStSecVincCTok); + end; + + procedure DetValueStSecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStSecGName())); + end; + + procedure DetValueStSecGName(): Text[100] + begin + exit(DetValueStSecGTok); + end; + + procedure DetValueStSecA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStSecAName())); + end; + + procedure DetValueStSecAName(): Text[100] + begin + exit(DetValueStSecATok); + end; + + procedure DetValueStSecOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStSecOVinName())); + end; + + procedure DetValueStSecOVinName(): Text[100] + begin + exit(DetValueStSecOVinTok); + end; + + procedure DetValueStCreditsToVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStCreditsToVincName())); + end; + + procedure DetValueStCreditsToVincName(): Text[100] + begin + exit(DetValueStCreditsToVincTok); + end; + + procedure DetValueStCreditsToG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStCreditsToGName())); + end; + + procedure DetValueStCreditsToGName(): Text[100] + begin + exit(DetValueStCreditsToGTok); + end; + + procedure DetValueStCreditsToAs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStCreditsToAsName())); + end; + + procedure DetValueStCreditsToAsName(): Text[100] + begin + exit(DetValueStCreditsToAsTok); + end; + + procedure DetValueStCreditsToOtV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStCreditsToOtVName())); + end; + + procedure DetValueStCreditsToOtVName(): Text[100] + begin + exit(DetValueStCreditsToOtVTok); + end; + + procedure DetValueStSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStSecuritiesName())); + end; + + procedure DetValueStSecuritiesName(): Text[100] + begin + exit(DetValueStSecuritiesTok); + end; + + procedure DetValueStCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValueStCreditsName())); + end; + + procedure DetValueStCreditsName(): Text[100] + begin + exit(DetValueStCreditsTok); + end; + + procedure DetValNoncurrAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValNoncurrAForSaleName())); + end; + + procedure DetValNoncurrAForSaleName(): Text[100] + begin + exit(DetValNoncurrAForSaleTok); + end; + + procedure DetValFixNoncAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValFixNoncAForSaleName())); + end; + + procedure DetValFixNoncAForSaleName(): Text[100] + begin + exit(DetValFixNoncAForSaleTok); + end; + + procedure DetValRelatedInvesForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValRelatedInvesForSaleName())); + end; + + procedure DetValRelatedInvesForSaleName(): Text[100] + begin + exit(DetValRelatedInvesForSaleTok); + end; + + procedure DetValFinInvestForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValFinInvestForSaleName())); + end; + + procedure DetValFinInvestForSaleName(): Text[100] + begin + exit(DetValFinInvestForSaleTok); + end; + + procedure DetValStocksDebtsAndOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValStocksDebtsAndOthName())); + end; + + procedure DetValStocksDebtsAndOthName(): Text[100] + begin + exit(DetValStocksDebtsAndOthTok); + end; + + procedure DetValOtherAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetValOtherAForSaleName())); + end; + + procedure DetValOtherAForSaleName(): Text[100] + begin + exit(DetValOtherAForSaleTok); + end; + + procedure CostAndExpenseAccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostAndExpenseAccountsName())); + end; + + procedure CostAndExpenseAccountsName(): Text[100] + begin + exit(CostAndExpenseAccountsTok); + end; + + procedure Purchases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesName())); + end; + + procedure PurchasesName(): Text[100] + begin + exit(PurchasesTok); + end; + + procedure PurchasesOfGoodsForResale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesOfGoodsForResaleName())); + end; + + procedure PurchasesOfGoodsForResaleName(): Text[100] + begin + exit(PurchasesOfGoodsForResaleTok); + end; + + procedure NationalPurchases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalPurchasesName())); + end; + + procedure NationalPurchasesName(): Text[100] + begin + exit(NationalPurchasesTok); + end; + + procedure EuPurchases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuPurchasesName())); + end; + + procedure EuPurchasesName(): Text[100] + begin + exit(EuPurchasesTok); + end; + + procedure IntNonEuPurch(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntNonEuPurchName())); + end; + + procedure IntNonEuPurchName(): Text[100] + begin + exit(IntNonEuPurchTok); + end; + + procedure PurchForRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchForRawMaterialsName())); + end; + + procedure PurchForRawMaterialsName(): Text[100] + begin + exit(PurchForRawMaterialsTok); + end; + + procedure PurchForNatRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchForNatRawMatName())); + end; + + procedure PurchForNatRawMatName(): Text[100] + begin + exit(PurchForNatRawMatTok); + end; + + procedure PurchForEuRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchForEuRawMatName())); + end; + + procedure PurchForEuRawMatName(): Text[100] + begin + exit(PurchForEuRawMatTok); + end; + + procedure PurchIntNonEuRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchIntNonEuRawMatName())); + end; + + procedure PurchIntNonEuRawMatName(): Text[100] + begin + exit(PurchIntNonEuRawMatTok); + end; + + procedure PurchasesForConsumables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesForConsumablesName())); + end; + + procedure PurchasesForConsumablesName(): Text[100] + begin + exit(PurchasesForConsumablesTok); + end; + + procedure DiscAllowedOnPurch(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowedOnPurchName())); + end; + + procedure DiscAllowedOnPurchName(): Text[100] + begin + exit(DiscAllowedOnPurchTok); + end; + + procedure DiscAllowOnPurchFinGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurchFinGoodsName())); + end; + + procedure DiscAllowOnPurchFinGoodsName(): Text[100] + begin + exit(DiscAllowOnPurchFinGoodsTok); + end; + + procedure DiscAllowOnPurFinGoodN(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurFinGoodNName())); + end; + + procedure DiscAllowOnPurFinGoodNName(): Text[100] + begin + exit(DiscAllowOnPurFinGoodNTok); + end; + + procedure DiscAllowOnPurFinGoodEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurFinGoodEuName())); + end; + + procedure DiscAllowOnPurFinGoodEuName(): Text[100] + begin + exit(DiscAllowOnPurFinGoodEuTok); + end; + + procedure DiscAllowOnPurFinGoodI(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurFinGoodIName())); + end; + + procedure DiscAllowOnPurFinGoodIName(): Text[100] + begin + exit(DiscAllowOnPurFinGoodITok); + end; + + procedure DiscAllowOnPurchRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurchRawMatName())); + end; + + procedure DiscAllowOnPurchRawMatName(): Text[100] + begin + exit(DiscAllowOnPurchRawMatTok); + end; + + procedure DiscAllowOnPurcRawMatN(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurcRawMatNName())); + end; + + procedure DiscAllowOnPurcRawMatNName(): Text[100] + begin + exit(DiscAllowOnPurcRawMatNTok); + end; + + procedure DiscAllowOnPurcRawMatEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurcRawMatEuName())); + end; + + procedure DiscAllowOnPurcRawMatEuName(): Text[100] + begin + exit(DiscAllowOnPurcRawMatEuTok); + end; + + procedure DiscAllowOnPurcRawMatI(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurcRawMatIName())); + end; + + procedure DiscAllowOnPurcRawMatIName(): Text[100] + begin + exit(DiscAllowOnPurcRawMatITok); + end; + + procedure DiscAllowOnPurchOthers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurchOthersName())); + end; + + procedure DiscAllowOnPurchOthersName(): Text[100] + begin + exit(DiscAllowOnPurchOthersTok); + end; + + procedure DiscAllowOnPurcOthersN(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurcOthersNName())); + end; + + procedure DiscAllowOnPurcOthersNName(): Text[100] + begin + exit(DiscAllowOnPurcOthersNTok); + end; + + procedure DiscAllowOnPurcOthersEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurcOthersEuName())); + end; + + procedure DiscAllowOnPurcOthersEuName(): Text[100] + begin + exit(DiscAllowOnPurcOthersEuTok); + end; + + procedure DiscAllowOnPurcOthersI(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnPurcOthersIName())); + end; + + procedure DiscAllowOnPurcOthersIName(): Text[100] + begin + exit(DiscAllowOnPurcOthersITok); + end; + + procedure WorkDoneByOtherComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkDoneByOtherCompName())); + end; + + procedure WorkDoneByOtherCompName(): Text[100] + begin + exit(WorkDoneByOtherCompTok); + end; + + procedure PurchaseReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseReturnsName())); + end; + + procedure PurchaseReturnsName(): Text[100] + begin + exit(PurchaseReturnsTok); + end; + + procedure GoodsPurchasedReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsPurchasedReturnsName())); + end; + + procedure GoodsPurchasedReturnsName(): Text[100] + begin + exit(GoodsPurchasedReturnsTok); + end; + + procedure NationalReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalReturnsName())); + end; + + procedure NationalReturnsName(): Text[100] + begin + exit(NationalReturnsTok); + end; + + procedure EuReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuReturnsName())); + end; + + procedure EuReturnsName(): Text[100] + begin + exit(EuReturnsTok); + end; + + procedure InternationalNonEuRet(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InternationalNonEuRetName())); + end; + + procedure InternationalNonEuRetName(): Text[100] + begin + exit(InternationalNonEuRetTok); + end; + + procedure MiscellaneousReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscellaneousReturnsName())); + end; + + procedure MiscellaneousReturnsName(): Text[100] + begin + exit(MiscellaneousReturnsTok); + end; + + procedure RawMatPurchasedReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMatPurchasedReturnsName())); + end; + + procedure RawMatPurchasedReturnsName(): Text[100] + begin + exit(RawMatPurchasedReturnsTok); + end; + + procedure ConsumPurchasedReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumPurchasedReturnsName())); + end; + + procedure ConsumPurchasedReturnsName(): Text[100] + begin + exit(ConsumPurchasedReturnsTok); + end; + + procedure PurchasesReturnAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesReturnAllowName())); + end; + + procedure PurchasesReturnAllowName(): Text[100] + begin + exit(PurchasesReturnAllowTok); + end; + + procedure GoodsPurchReturnAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsPurchReturnAllowName())); + end; + + procedure GoodsPurchReturnAllowName(): Text[100] + begin + exit(GoodsPurchReturnAllowTok); + end; + + procedure ReturnAndAllowOnGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReturnAndAllowOnGoodsName())); + end; + + procedure ReturnAndAllowOnGoodsName(): Text[100] + begin + exit(ReturnAndAllowOnGoodsTok); + end; + + procedure RawMatPurchRetAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMatPurchRetAllowName())); + end; + + procedure RawMatPurchRetAllowName(): Text[100] + begin + exit(RawMatPurchRetAllowTok); + end; + + procedure ReturnAllowOnRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReturnAllowOnRawMatName())); + end; + + procedure ReturnAllowOnRawMatName(): Text[100] + begin + exit(ReturnAllowOnRawMatTok); + end; + + procedure ConsumPurchRetAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumPurchRetAllowName())); + end; + + procedure ConsumPurchRetAllowName(): Text[100] + begin + exit(ConsumPurchRetAllowTok); + end; + + procedure ChangesInStockHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInStockHeadingName())); + end; + + procedure ChangesInStockHeadingName(): Text[100] + begin + exit(ChangesInStockHeadingTok); + end; + + procedure ChangesInStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInStockName())); + end; + + procedure ChangesInStockName(): Text[100] + begin + exit(ChangesInStockTok); + end; + + procedure ChangesInStockPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInStockPostingName())); + end; + + procedure ChangesInStockPostingName(): Text[100] + begin + exit(ChangesInStockPostingTok); + end; + + procedure ChangesInRawMaterialsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInRawMaterialsHeadingName())); + end; + + procedure ChangesInRawMaterialsHeadingName(): Text[100] + begin + exit(ChangesInRawMaterialsHeadingTok); + end; + + procedure ChangesInRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInRawMaterialsName())); + end; + + procedure ChangesInRawMaterialsName(): Text[100] + begin + exit(ChangesInRawMaterialsTok); + end; + + procedure ChgInSuppOtherConsum(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChgInSuppOtherConsumName())); + end; + + procedure ChgInSuppOtherConsumName(): Text[100] + begin + exit(ChgInSuppOtherConsumTok); + end; + + procedure ExternalChargesForServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalChargesForServicesName())); + end; + + procedure ExternalChargesForServicesName(): Text[100] + begin + exit(ExternalChargesForServicesTok); + end; + + procedure ResearchAndDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResearchAndDevelopmentName())); + end; + + procedure ResearchAndDevelopmentName(): Text[100] + begin + exit(ResearchAndDevelopmentTok); + end; + + procedure Projects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectsName())); + end; + + procedure ProjectsName(): Text[100] + begin + exit(ProjectsTok); + end; + + procedure LeaseAndRoyalties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeaseAndRoyaltiesName())); + end; + + procedure LeaseAndRoyaltiesName(): Text[100] + begin + exit(LeaseAndRoyaltiesTok); + end; + + procedure LeaseChargesPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeaseChargesPostingName())); + end; + + procedure LeaseChargesPostingName(): Text[100] + begin + exit(LeaseChargesPostingTok); + end; + + procedure MaintenancesAndRepairs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaintenancesAndRepairsName())); + end; + + procedure MaintenancesAndRepairsName(): Text[100] + begin + exit(MaintenancesAndRepairsTok); + end; + + procedure Repairs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsName())); + end; + + procedure RepairsName(): Text[100] + begin + exit(RepairsTok); + end; + + procedure ProfessionalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfessionalServicesName())); + end; + + procedure ProfessionalServicesName(): Text[100] + begin + exit(ProfessionalServicesTok); + end; + + procedure InternalResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InternalResourcesName())); + end; + + procedure InternalResourcesName(): Text[100] + begin + exit(InternalResourcesTok); + end; + + procedure Consulting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingName())); + end; + + procedure ConsultingName(): Text[100] + begin + exit(ConsultingTok); + end; + + procedure ProfessionalAdvisoryServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfessionalAdvisoryServicesName())); + end; + + procedure ProfessionalAdvisoryServicesName(): Text[100] + begin + exit(ProfessionalAdvisoryServicesTok); + end; + + procedure ProjectCostsRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectCostsRetailName())); + end; + + procedure ProjectCostsRetailName(): Text[100] + begin + exit(ProjectCostsRetailTok); + end; + + procedure ProjectCostsAdjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectCostsAdjustmentName())); + end; + + procedure ProjectCostsAdjustmentName(): Text[100] + begin + exit(ProjectCostsAdjustmentTok); + end; + + procedure ProjectCostsRecognized(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectCostsRecognizedName())); + end; + + procedure ProjectCostsRecognizedName(): Text[100] + begin + exit(ProjectCostsRecognizedTok); + end; + + procedure ProjectsCostsRawMaterial(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectsCostsRawMaterialName())); + end; + + procedure ProjectsCostsRawMaterialName(): Text[100] + begin + exit(ProjectsCostsRawMaterialTok); + end; + + procedure ProjectsCostsResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectsCostsResourcesName())); + end; + + procedure ProjectsCostsResourcesName(): Text[100] + begin + exit(ProjectsCostsResourcesTok); + end; + + procedure TransportationHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportationHeadingName())); + end; + + procedure TransportationHeadingName(): Text[100] + begin + exit(TransportationHeadingTok); + end; + + procedure Transportation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportationName())); + end; + + procedure TransportationName(): Text[100] + begin + exit(TransportationTok); + end; + + procedure Fuel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FuelName())); + end; + + procedure FuelName(): Text[100] + begin + exit(FuelTok); + end; + + procedure InsurancePremiumsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancePremiumsHeadingName())); + end; + + procedure InsurancePremiumsHeadingName(): Text[100] + begin + exit(InsurancePremiumsHeadingTok); + end; + + procedure InsurancePremiums(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancePremiumsName())); + end; + + procedure InsurancePremiumsName(): Text[100] + begin + exit(InsurancePremiumsTok); + end; + + procedure BankingServicesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingServicesHeadingName())); + end; + + procedure BankingServicesHeadingName(): Text[100] + begin + exit(BankingServicesHeadingTok); + end; + + procedure BankingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingServicesName())); + end; + + procedure BankingServicesName(): Text[100] + begin + exit(BankingServicesTok); + end; + + procedure AdvertisingPublicRelations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisingPublicRelationsName())); + end; + + procedure AdvertisingPublicRelationsName(): Text[100] + begin + exit(AdvertisingPublicRelationsTok); + end; + + procedure Supplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuppliesName())); + end; + + procedure SuppliesName(): Text[100] + begin + exit(SuppliesTok); + end; + + procedure Electricity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityName())); + end; + + procedure ElectricityName(): Text[100] + begin + exit(ElectricityTok); + end; + + procedure Water(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterName())); + end; + + procedure WaterName(): Text[100] + begin + exit(WaterTok); + end; + + procedure OtherSupplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSuppliesName())); + end; + + procedure OtherSuppliesName(): Text[100] + begin + exit(OtherSuppliesTok); + end; + + procedure OtherServicesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherServicesHeadingName())); + end; + + procedure OtherServicesHeadingName(): Text[100] + begin + exit(OtherServicesHeadingTok); + end; + + procedure OtherServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherServicesName())); + end; + + procedure OtherServicesName(): Text[100] + begin + exit(OtherServicesTok); + end; + + procedure OtherBusinessExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherBusinessExpensesName())); + end; + + procedure OtherBusinessExpensesName(): Text[100] + begin + exit(OtherBusinessExpensesTok); + end; + + procedure Tax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxName())); + end; + + procedure TaxName(): Text[100] + begin + exit(TaxTok); + end; + + procedure ProfitTaxHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitTaxHeadingName())); + end; + + procedure ProfitTaxHeadingName(): Text[100] + begin + exit(ProfitTaxHeadingTok); + end; + + procedure RunningTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RunningTaxName())); + end; + + procedure RunningTaxName(): Text[100] + begin + exit(RunningTaxTok); + end; + + procedure ProfitTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitTaxName())); + end; + + procedure ProfitTaxName(): Text[100] + begin + exit(ProfitTaxTok); + end; + + procedure DeferredTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxName())); + end; + + procedure DeferredTaxName(): Text[100] + begin + exit(DeferredTaxTok); + end; + + procedure OtherTaxesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTaxesHeadingName())); + end; + + procedure OtherTaxesHeadingName(): Text[100] + begin + exit(OtherTaxesHeadingTok); + end; + + procedure OtherTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTaxesName())); + end; + + procedure OtherTaxesName(): Text[100] + begin + exit(OtherTaxesTok); + end; + + procedure NegativeAdjustmOnProfits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegativeAdjustmOnProfitsName())); + end; + + procedure NegativeAdjustmOnProfitsName(): Text[100] + begin + exit(NegativeAdjustmOnProfitsTok); + end; + + procedure NegativeAdjustmIndivTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegativeAdjustmIndivTaxName())); + end; + + procedure NegativeAdjustmIndivTaxName(): Text[100] + begin + exit(NegativeAdjustmIndivTaxTok); + end; + + procedure NegativeAdjustmRunningAct(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegativeAdjustmRunningActName())); + end; + + procedure NegativeAdjustmRunningActName(): Text[100] + begin + exit(NegativeAdjustmRunningActTok); + end; + + procedure NegativeAdjustmInvestTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegativeAdjustmInvestTaxName())); + end; + + procedure NegativeAdjustmInvestTaxName(): Text[100] + begin + exit(NegativeAdjustmInvestTaxTok); + end; + + procedure TaxRefunds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxRefundsName())); + end; + + procedure TaxRefundsName(): Text[100] + begin + exit(TaxRefundsTok); + end; + + procedure PositiveAdjustmOnProfits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PositiveAdjustmOnProfitsName())); + end; + + procedure PositiveAdjustmOnProfitsName(): Text[100] + begin + exit(PositiveAdjustmOnProfitsTok); + end; + + procedure PositiveAdjustmIndivTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PositiveAdjustmIndivTaxName())); + end; + + procedure PositiveAdjustmIndivTaxName(): Text[100] + begin + exit(PositiveAdjustmIndivTaxTok); + end; + + procedure PositiveAdjustmRunningAct(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PositiveAdjustmRunningActName())); + end; + + procedure PositiveAdjustmRunningActName(): Text[100] + begin + exit(PositiveAdjustmRunningActTok); + end; + + procedure PositiveAdjustmInvestTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PositiveAdjustmInvestTaxName())); + end; + + procedure PositiveAdjustmInvestTaxName(): Text[100] + begin + exit(PositiveAdjustmInvestTaxTok); + end; + + procedure WagesAndSalariesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesAndSalariesHeadingName())); + end; + + procedure WagesAndSalariesHeadingName(): Text[100] + begin + exit(WagesAndSalariesHeadingTok); + end; + + procedure WagesAndSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesAndSalariesName())); + end; + + procedure WagesAndSalariesName(): Text[100] + begin + exit(WagesAndSalariesTok); + end; + + procedure Prizes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrizesName())); + end; + + procedure PrizesName(): Text[100] + begin + exit(PrizesTok); + end; + + procedure PensionFunds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionFundsName())); + end; + + procedure PensionFundsName(): Text[100] + begin + exit(PensionFundsTok); + end; + + procedure Compensations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CompensationsName())); + end; + + procedure CompensationsName(): Text[100] + begin + exit(CompensationsTok); + end; + + procedure SocialSecPaidByCompanyHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecPaidByCompanyHeadingName())); + end; + + procedure SocialSecPaidByCompanyHeadingName(): Text[100] + begin + exit(SocialSecPaidByCompanyHeadingTok); + end; + + procedure SocialSecPaidByCompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SocialSecPaidByCompanyName())); + end; + + procedure SocialSecPaidByCompanyName(): Text[100] + begin + exit(SocialSecPaidByCompanyTok); + end; + + procedure LtFeeInFixedContribSist(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFeeInFixedContribSistName())); + end; + + procedure LtFeeInFixedContribSistName(): Text[100] + begin + exit(LtFeeInFixedContribSistTok); + end; + + procedure LtFeeInFixedProvisionSis(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtFeeInFixedProvisionSisName())); + end; + + procedure LtFeeInFixedProvisionSisName(): Text[100] + begin + exit(LtFeeInFixedProvisionSisTok); + end; + + procedure AnnualContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualContributionsName())); + end; + + procedure AnnualContributionsName(): Text[100] + begin + exit(AnnualContributionsTok); + end; + + procedure OtherCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCostsName())); + end; + + procedure OtherCostsName(): Text[100] + begin + exit(OtherCostsTok); + end; + + procedure FeesByEquityProducts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FeesByEquityProductsName())); + end; + + procedure FeesByEquityProductsName(): Text[100] + begin + exit(FeesByEquityProductsTok); + end; + + procedure PersonnelRetEqProd(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelRetEqProdName())); + end; + + procedure PersonnelRetEqProdName(): Text[100] + begin + exit(PersonnelRetEqProdTok); + end; + + procedure PersonnelRetCashEqProd(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelRetCashEqProdName())); + end; + + procedure PersonnelRetCashEqProdName(): Text[100] + begin + exit(PersonnelRetCashEqProdTok); + end; + + procedure OtherSocialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSocialExpensesName())); + end; + + procedure OtherSocialExpensesName(): Text[100] + begin + exit(OtherSocialExpensesTok); + end; + + procedure BadDebtLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDebtLossesName())); + end; + + procedure BadDebtLossesName(): Text[100] + begin + exit(BadDebtLossesTok); + end; + + procedure PartnershipsAndOthers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartnershipsAndOthersName())); + end; + + procedure PartnershipsAndOthersName(): Text[100] + begin + exit(PartnershipsAndOthersTok); + end; + + procedure TransferredProfitAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransferredProfitAdminName())); + end; + + procedure TransferredProfitAdminName(): Text[100] + begin + exit(TransferredProfitAdminTok); + end; + + procedure TransferredLossParticipant(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransferredLossParticipantName())); + end; + + procedure TransferredLossParticipantName(): Text[100] + begin + exit(TransferredLossParticipantTok); + end; + + procedure OtherOperatingLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingLossesName())); + end; + + procedure OtherOperatingLossesName(): Text[100] + begin + exit(OtherOperatingLossesTok); + end; + + procedure FinancialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialExpensesName())); + end; + + procedure FinancialExpensesName(): Text[100] + begin + exit(FinancialExpensesTok); + end; + + procedure FinExpProvUpdates(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinExpProvUpdatesName())); + end; + + procedure FinExpProvUpdatesName(): Text[100] + begin + exit(FinExpProvUpdatesTok); + end; + + procedure InterestDebentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestDebentLoansName())); + end; + + procedure InterestDebentLoansName(): Text[100] + begin + exit(InterestDebentLoansTok); + end; + + procedure LtInterestDebentLoansG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInterestDebentLoansGName())); + end; + + procedure LtInterestDebentLoansGName(): Text[100] + begin + exit(LtInterestDebentLoansGTok); + end; + + procedure LtInterestDebentLoansA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInterestDebentLoansAName())); + end; + + procedure LtInterestDebentLoansAName(): Text[100] + begin + exit(LtInterestDebentLoansATok); + end; + + procedure LtInterestDebentLoansOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInterestDebentLoansOvName())); + end; + + procedure LtInterestDebentLoansOvName(): Text[100] + begin + exit(LtInterestDebentLoansOvTok); + end; + + procedure LtInterestDebentLoansOt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtInterestDebentLoansOtName())); + end; + + procedure LtInterestDebentLoansOtName(): Text[100] + begin + exit(LtInterestDebentLoansOtTok); + end; + + procedure StInterestDebentLoansG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestDebentLoansGName())); + end; + + procedure StInterestDebentLoansGName(): Text[100] + begin + exit(StInterestDebentLoansGTok); + end; + + procedure StInterestDebentLoansA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestDebentLoansAName())); + end; + + procedure StInterestDebentLoansAName(): Text[100] + begin + exit(StInterestDebentLoansATok); + end; + + procedure StInterestDebentLoansOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestDebentLoansOvName())); + end; + + procedure StInterestDebentLoansOvName(): Text[100] + begin + exit(StInterestDebentLoansOvTok); + end; + + procedure StInterestDebentLoansOt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StInterestDebentLoansOtName())); + end; + + procedure StInterestDebentLoansOtName(): Text[100] + begin + exit(StInterestDebentLoansOtTok); + end; + + procedure DebtInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestName())); + end; + + procedure DebtInterestName(): Text[100] + begin + exit(DebtInterestTok); + end; + + procedure DebtInterestGroup(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestGroupName())); + end; + + procedure DebtInterestGroupName(): Text[100] + begin + exit(DebtInterestGroupTok); + end; + + procedure DebtInterestAssoc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestAssocName())); + end; + + procedure DebtInterestAssocName(): Text[100] + begin + exit(DebtInterestAssocTok); + end; + + procedure DebtInterestOtVinc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestOtVincName())); + end; + + procedure DebtInterestOtVincName(): Text[100] + begin + exit(DebtInterestOtVincTok); + end; + + procedure DebtInterestFinIns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestFinInsName())); + end; + + procedure DebtInterestFinInsName(): Text[100] + begin + exit(DebtInterestFinInsTok); + end; + + procedure DebtInterestOther(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DebtInterestOtherName())); + end; + + procedure DebtInterestOtherName(): Text[100] + begin + exit(DebtInterestOtherTok); + end; + + procedure LossesFinInstValueFV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesFinInstValueFVName())); + end; + + procedure LossesFinInstValueFVName(): Text[100] + begin + exit(LossesFinInstValueFVTok); + end; + + procedure PortfolioLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PortfolioLossesName())); + end; + + procedure PortfolioLossesName(): Text[100] + begin + exit(PortfolioLossesTok); + end; + + procedure LossesAssignByComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesAssignByCompName())); + end; + + procedure LossesAssignByCompName(): Text[100] + begin + exit(LossesAssignByCompTok); + end; + + procedure LossesAvailForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesAvailForSaleName())); + end; + + procedure LossesAvailForSaleName(): Text[100] + begin + exit(LossesAvailForSaleTok); + end; + + procedure CoverageInstLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CoverageInstLossesName())); + end; + + procedure CoverageInstLossesName(): Text[100] + begin + exit(CoverageInstLossesTok); + end; + + procedure DividendLiability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendLiabilityName())); + end; + + procedure DividendLiabilityName(): Text[100] + begin + exit(DividendLiabilityTok); + end; + + procedure DividendLiabilityG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendLiabilityGName())); + end; + + procedure DividendLiabilityGName(): Text[100] + begin + exit(DividendLiabilityGTok); + end; + + procedure DividendLiabilityA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendLiabilityAName())); + end; + + procedure DividendLiabilityAName(): Text[100] + begin + exit(DividendLiabilityATok); + end; + + procedure DividendLiabilityOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendLiabilityOVinName())); + end; + + procedure DividendLiabilityOVinName(): Text[100] + begin + exit(DividendLiabilityOVinTok); + end; + + procedure DividendLiabilityOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendLiabilityOthName())); + end; + + procedure DividendLiabilityOthName(): Text[100] + begin + exit(DividendLiabilityOthTok); + end; + + procedure InterestOnBillsDisc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestOnBillsDiscName())); + end; + + procedure InterestOnBillsDiscName(): Text[100] + begin + exit(InterestOnBillsDiscTok); + end; + + procedure IntOnBillsDiscFinInsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntOnBillsDiscFinInsGName())); + end; + + procedure IntOnBillsDiscFinInsGName(): Text[100] + begin + exit(IntOnBillsDiscFinInsGTok); + end; + + procedure IntOnBillsDiscFinInsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntOnBillsDiscFinInsAName())); + end; + + procedure IntOnBillsDiscFinInsAName(): Text[100] + begin + exit(IntOnBillsDiscFinInsATok); + end; + + procedure IntOnBillsDiscFinInsV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntOnBillsDiscFinInsVName())); + end; + + procedure IntOnBillsDiscFinInsVName(): Text[100] + begin + exit(IntOnBillsDiscFinInsVTok); + end; + + procedure InterestOnBillsDiscOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestOnBillsDiscOthName())); + end; + + procedure InterestOnBillsDiscOthName(): Text[100] + begin + exit(InterestOnBillsDiscOthTok); + end; + + procedure InterestOnBillsDiscounted(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestOnBillsDiscountedName())); + end; + + procedure InterestOnBillsDiscountedName(): Text[100] + begin + exit(InterestOnBillsDiscountedTok); + end; + + procedure FactOpInterBanksG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FactOpInterBanksGName())); + end; + + procedure FactOpInterBanksGName(): Text[100] + begin + exit(FactOpInterBanksGTok); + end; + + procedure FactOpInterBanksA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FactOpInterBanksAName())); + end; + + procedure FactOpInterBanksAName(): Text[100] + begin + exit(FactOpInterBanksATok); + end; + + procedure FactOpInterBanksV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FactOpInterBanksVName())); + end; + + procedure FactOpInterBanksVName(): Text[100] + begin + exit(FactOpInterBanksVTok); + end; + + procedure FactOpInterOtherBanksHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FactOpInterOtherBanksHeadingName())); + end; + + procedure FactOpInterOtherBanksHeadingName(): Text[100] + begin + exit(FactOpInterOtherBanksHeadingTok); + end; + + procedure FactOpInterOtherBanks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FactOpInterOtherBanksName())); + end; + + procedure FactOpInterOtherBanksName(): Text[100] + begin + exit(FactOpInterOtherBanksTok); + end; + + procedure SecuritiesLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesLossName())); + end; + + procedure SecuritiesLossName(): Text[100] + begin + exit(SecuritiesLossTok); + end; + + procedure LtSecuritiesLossG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtSecuritiesLossGName())); + end; + + procedure LtSecuritiesLossGName(): Text[100] + begin + exit(LtSecuritiesLossGTok); + end; + + procedure LtSecuritiesLossA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtSecuritiesLossAName())); + end; + + procedure LtSecuritiesLossAName(): Text[100] + begin + exit(LtSecuritiesLossATok); + end; + + procedure LtSecuritiesLossOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtSecuritiesLossOVinName())); + end; + + procedure LtSecuritiesLossOVinName(): Text[100] + begin + exit(LtSecuritiesLossOVinTok); + end; + + procedure LtSecuritiesLossOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtSecuritiesLossOthName())); + end; + + procedure LtSecuritiesLossOthName(): Text[100] + begin + exit(LtSecuritiesLossOthTok); + end; + + procedure StSecuritiesLossG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StSecuritiesLossGName())); + end; + + procedure StSecuritiesLossGName(): Text[100] + begin + exit(StSecuritiesLossGTok); + end; + + procedure StSecuritiesLossA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StSecuritiesLossAName())); + end; + + procedure StSecuritiesLossAName(): Text[100] + begin + exit(StSecuritiesLossATok); + end; + + procedure StSecuritiesLossOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StSecuritiesLossOVinName())); + end; + + procedure StSecuritiesLossOVinName(): Text[100] + begin + exit(StSecuritiesLossOVinTok); + end; + + procedure StSecuritiesLossOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StSecuritiesLossOthName())); + end; + + procedure StSecuritiesLossOthName(): Text[100] + begin + exit(StSecuritiesLossOthTok); + end; + + procedure LoanLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoanLossName())); + end; + + procedure LoanLossName(): Text[100] + begin + exit(LoanLossTok); + end; + + procedure LtLoanLossG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtLoanLossGName())); + end; + + procedure LtLoanLossGName(): Text[100] + begin + exit(LtLoanLossGTok); + end; + + procedure LtLoanLossA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtLoanLossAName())); + end; + + procedure LtLoanLossAName(): Text[100] + begin + exit(LtLoanLossATok); + end; + + procedure LtLoanLossOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtLoanLossOVinName())); + end; + + procedure LtLoanLossOVinName(): Text[100] + begin + exit(LtLoanLossOVinTok); + end; + + procedure LtLoanLossOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtLoanLossOthName())); + end; + + procedure LtLoanLossOthName(): Text[100] + begin + exit(LtLoanLossOthTok); + end; + + procedure StLoanLossG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoanLossGName())); + end; + + procedure StLoanLossGName(): Text[100] + begin + exit(StLoanLossGTok); + end; + + procedure StLoanLossA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoanLossAName())); + end; + + procedure StLoanLossAName(): Text[100] + begin + exit(StLoanLossATok); + end; + + procedure StLoanLossOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoanLossOVinName())); + end; + + procedure StLoanLossOVinName(): Text[100] + begin + exit(StLoanLossOVinTok); + end; + + procedure StLoanLossOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StLoanLossOthName())); + end; + + procedure StLoanLossOthName(): Text[100] + begin + exit(StLoanLossOthTok); + end; + + procedure RealizedLossesOnExchangeHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedLossesOnExchangeHeadingName())); + end; + + procedure RealizedLossesOnExchangeHeadingName(): Text[100] + begin + exit(RealizedLossesOnExchangeHeadingTok); + end; + + procedure RealLossExchInternEurHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealLossExchInternEurHeadingName())); + end; + + procedure RealLossExchInternEurHeadingName(): Text[100] + begin + exit(RealLossExchInternEurHeadingTok); + end; + + procedure RealLossExchInternEur(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealLossExchInternEurName())); + end; + + procedure RealLossExchInternEurName(): Text[100] + begin + exit(RealLossExchInternEurTok); + end; + + procedure OtherRealLossesOnExch(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherRealLossesOnExchName())); + end; + + procedure OtherRealLossesOnExchName(): Text[100] + begin + exit(OtherRealLossesOnExchTok); + end; + + procedure RealizedLossesOnExchange(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedLossesOnExchangeName())); + end; + + procedure RealizedLossesOnExchangeName(): Text[100] + begin + exit(RealizedLossesOnExchangeTok); + end; + + procedure OtherFinancialExpensesHeadingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialExpensesHeadingExpensesName())); + end; + + procedure OtherFinancialExpensesHeadingExpensesName(): Text[100] + begin + exit(OtherFinancialExpensesHeadingExpensesTok); + end; + + procedure ExpenOnRoundOffEurHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpenOnRoundOffEurHeadingName())); + end; + + procedure ExpenOnRoundOffEurHeadingName(): Text[100] + begin + exit(ExpenOnRoundOffEurHeadingTok); + end; + + procedure ExpenOnRoundOffEur(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpenOnRoundOffEurName())); + end; + + procedure ExpenOnRoundOffEurName(): Text[100] + begin + exit(ExpenOnRoundOffEurTok); + end; + + procedure NegativeBalanceOnSettl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegativeBalanceOnSettlName())); + end; + + procedure NegativeBalanceOnSettlName(): Text[100] + begin + exit(NegativeBalanceOnSettlTok); + end; + + procedure OtherFinancialExpensesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialExpensesHeadingName())); + end; + + procedure OtherFinancialExpensesHeadingName(): Text[100] + begin + exit(OtherFinancialExpensesHeadingTok); + end; + + procedure OtherFinancialExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialExpensesName())); + end; + + procedure OtherFinancialExpensesName(): Text[100] + begin + exit(OtherFinancialExpensesTok); + end; + + procedure OtherFinExpBillReject(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinExpBillRejectName())); + end; + + procedure OtherFinExpBillRejectName(): Text[100] + begin + exit(OtherFinExpBillRejectTok); + end; + + procedure ExcepExtrItemsExp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExcepExtrItemsExpName())); + end; + + procedure ExcepExtrItemsExpName(): Text[100] + begin + exit(ExcepExtrItemsExpTok); + end; + + procedure LossOnIntangATransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnIntangATransfName())); + end; + + procedure LossOnIntangATransfName(): Text[100] + begin + exit(LossOnIntangATransfTok); + end; + + procedure LossOnTangAssetsTransfHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnTangAssetsTransfHeadingName())); + end; + + procedure LossOnTangAssetsTransfHeadingName(): Text[100] + begin + exit(LossOnTangAssetsTransfHeadingTok); + end; + + procedure LossOnTangAssetsTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnTangAssetsTransfName())); + end; + + procedure LossOnTangAssetsTransfName(): Text[100] + begin + exit(LossOnTangAssetsTransfTok); + end; + + procedure LossOnPropertiesInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnPropertiesInvestmName())); + end; + + procedure LossOnPropertiesInvestmName(): Text[100] + begin + exit(LossOnPropertiesInvestmTok); + end; + + procedure LossOnLtEqInvestVinC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnLtEqInvestVinCName())); + end; + + procedure LossOnLtEqInvestVinCName(): Text[100] + begin + exit(LossOnLtEqInvestVinCTok); + end; + + procedure LossOnLtEqInvestG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnLtEqInvestGName())); + end; + + procedure LossOnLtEqInvestGName(): Text[100] + begin + exit(LossOnLtEqInvestGTok); + end; + + procedure LossOnLtEqInvestA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnLtEqInvestAName())); + end; + + procedure LossOnLtEqInvestAName(): Text[100] + begin + exit(LossOnLtEqInvestATok); + end; + + procedure LossOnLtEqInvestOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnLtEqInvestOVinName())); + end; + + procedure LossOnLtEqInvestOVinName(): Text[100] + begin + exit(LossOnLtEqInvestOVinTok); + end; + + procedure LossOnDebentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossOnDebentLoansName())); + end; + + procedure LossOnDebentLoansName(): Text[100] + begin + exit(LossOnDebentLoansTok); + end; + + procedure DeprecAmortizOfFa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprecAmortizOfFaName())); + end; + + procedure DeprecAmortizOfFaName(): Text[100] + begin + exit(DeprecAmortizOfFaTok); + end; + + procedure DeprOfIntangAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOfIntangAssetsName())); + end; + + procedure DeprOfIntangAssetsName(): Text[100] + begin + exit(DeprOfIntangAssetsTok); + end; + + procedure DeprOfTangAssetsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOfTangAssetsHeadingName())); + end; + + procedure DeprOfTangAssetsHeadingName(): Text[100] + begin + exit(DeprOfTangAssetsHeadingTok); + end; + + procedure DeprOfTangAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOfTangAssetsName())); + end; + + procedure DeprOfTangAssetsName(): Text[100] + begin + exit(DeprOfTangAssetsTok); + end; + + procedure DeprOnPropertiesInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeprOnPropertiesInvestmName())); + end; + + procedure DeprOnPropertiesInvestmName(): Text[100] + begin + exit(DeprOnPropertiesInvestmTok); + end; + + procedure DetLossesAndOthers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossesAndOthersName())); + end; + + procedure DetLossesAndOthersName(): Text[100] + begin + exit(DetLossesAndOthersTok); + end; + + procedure DetLossOnIntangibleA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnIntangibleAName())); + end; + + procedure DetLossOnIntangibleAName(): Text[100] + begin + exit(DetLossOnIntangibleATok); + end; + + procedure DetLossOnTangibleA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnTangibleAName())); + end; + + procedure DetLossOnTangibleAName(): Text[100] + begin + exit(DetLossOnTangibleATok); + end; + + procedure DetLossOnPropertiesInvest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnPropertiesInvestName())); + end; + + procedure DetLossOnPropertiesInvestName(): Text[100] + begin + exit(DetLossOnPropertiesInvestTok); + end; + + procedure DetLossOnInventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnInventoryName())); + end; + + procedure DetLossOnInventoryName(): Text[100] + begin + exit(DetLossOnInventoryTok); + end; + + procedure DetLossOnFinishAndWip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnFinishAndWipName())); + end; + + procedure DetLossOnFinishAndWipName(): Text[100] + begin + exit(DetLossOnFinishAndWipTok); + end; + + procedure DetLossOnGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnGoodsName())); + end; + + procedure DetLossOnGoodsName(): Text[100] + begin + exit(DetLossOnGoodsTok); + end; + + procedure DetLossOnRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnRawMatName())); + end; + + procedure DetLossOnRawMatName(): Text[100] + begin + exit(DetLossOnRawMatTok); + end; + + procedure DetLossOnSupOtCons(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnSupOtConsName())); + end; + + procedure DetLossOnSupOtConsName(): Text[100] + begin + exit(DetLossOnSupOtConsTok); + end; + + procedure DetLossOnTradeCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DetLossOnTradeCreditsName())); + end; + + procedure DetLossOnTradeCreditsName(): Text[100] + begin + exit(DetLossOnTradeCreditsTok); + end; + + procedure ProvForTradeTransactHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForTradeTransactHeadingName())); + end; + + procedure ProvForTradeTransactHeadingName(): Text[100] + begin + exit(ProvForTradeTransactHeadingTok); + end; + + procedure OnerousContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OnerousContractsName())); + end; + + procedure OnerousContractsName(): Text[100] + begin + exit(OnerousContractsTok); + end; + + procedure OtherTradeTransact(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTradeTransactName())); + end; + + procedure OtherTradeTransactName(): Text[100] + begin + exit(OtherTradeTransactTok); + end; + + procedure LossesDetLtSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtSecuritiesName())); + end; + + procedure LossesDetLtSecuritiesName(): Text[100] + begin + exit(LossesDetLtSecuritiesTok); + end; + + procedure LossesDetLtCapitalInstG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCapitalInstGName())); + end; + + procedure LossesDetLtCapitalInstGName(): Text[100] + begin + exit(LossesDetLtCapitalInstGTok); + end; + + procedure LossesDetLtCapitalInstA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCapitalInstAName())); + end; + + procedure LossesDetLtCapitalInstAName(): Text[100] + begin + exit(LossesDetLtCapitalInstATok); + end; + + procedure LossesDetLtCapitalInsOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCapitalInsOvName())); + end; + + procedure LossesDetLtCapitalInsOvName(): Text[100] + begin + exit(LossesDetLtCapitalInsOvTok); + end; + + procedure LossesDetLtCapitalInsO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCapitalInsOName())); + end; + + procedure LossesDetLtCapitalInsOName(): Text[100] + begin + exit(LossesDetLtCapitalInsOTok); + end; + + procedure LossesDetLtSecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtSecGName())); + end; + + procedure LossesDetLtSecGName(): Text[100] + begin + exit(LossesDetLtSecGTok); + end; + + procedure LossesDetLtSecA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtSecAName())); + end; + + procedure LossesDetLtSecAName(): Text[100] + begin + exit(LossesDetLtSecATok); + end; + + procedure LossesDetLtSecOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtSecOVinName())); + end; + + procedure LossesDetLtSecOVinName(): Text[100] + begin + exit(LossesDetLtSecOVinTok); + end; + + procedure LossesDetLtSecOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtSecOthName())); + end; + + procedure LossesDetLtSecOthName(): Text[100] + begin + exit(LossesDetLtSecOthTok); + end; + + procedure LossesDetLtCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCreditsName())); + end; + + procedure LossesDetLtCreditsName(): Text[100] + begin + exit(LossesDetLtCreditsTok); + end; + + procedure LossesDetLtCreditsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCreditsGName())); + end; + + procedure LossesDetLtCreditsGName(): Text[100] + begin + exit(LossesDetLtCreditsGTok); + end; + + procedure LossesDetLtCreditsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCreditsAName())); + end; + + procedure LossesDetLtCreditsAName(): Text[100] + begin + exit(LossesDetLtCreditsATok); + end; + + procedure LossesDetLtCreditsOV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCreditsOVName())); + end; + + procedure LossesDetLtCreditsOVName(): Text[100] + begin + exit(LossesDetLtCreditsOVTok); + end; + + procedure LossesDetLtCreditsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetLtCreditsOthName())); + end; + + procedure LossesDetLtCreditsOthName(): Text[100] + begin + exit(LossesDetLtCreditsOthTok); + end; + + procedure LossesDetStSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStSecuritiesName())); + end; + + procedure LossesDetStSecuritiesName(): Text[100] + begin + exit(LossesDetStSecuritiesTok); + end; + + procedure LossesDetStCapitalInstG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCapitalInstGName())); + end; + + procedure LossesDetStCapitalInstGName(): Text[100] + begin + exit(LossesDetStCapitalInstGTok); + end; + + procedure LossesDetStCapitalInstA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCapitalInstAName())); + end; + + procedure LossesDetStCapitalInstAName(): Text[100] + begin + exit(LossesDetStCapitalInstATok); + end; + + procedure LossesDetStCapitalInsOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCapitalInsOvName())); + end; + + procedure LossesDetStCapitalInsOvName(): Text[100] + begin + exit(LossesDetStCapitalInsOvTok); + end; + + procedure LossesDetStCapitalInstO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCapitalInstOName())); + end; + + procedure LossesDetStCapitalInstOName(): Text[100] + begin + exit(LossesDetStCapitalInstOTok); + end; + + procedure LossesDetStSecuritiesG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStSecuritiesGName())); + end; + + procedure LossesDetStSecuritiesGName(): Text[100] + begin + exit(LossesDetStSecuritiesGTok); + end; + + procedure LossesDetStSecuritiesA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStSecuritiesAName())); + end; + + procedure LossesDetStSecuritiesAName(): Text[100] + begin + exit(LossesDetStSecuritiesATok); + end; + + procedure LossesDetStSecuritiesOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStSecuritiesOvName())); + end; + + procedure LossesDetStSecuritiesOvName(): Text[100] + begin + exit(LossesDetStSecuritiesOvTok); + end; + + procedure LossesDetStSecuritiesO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStSecuritiesOName())); + end; + + procedure LossesDetStSecuritiesOName(): Text[100] + begin + exit(LossesDetStSecuritiesOTok); + end; + + procedure LossesDetStCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCreditsName())); + end; + + procedure LossesDetStCreditsName(): Text[100] + begin + exit(LossesDetStCreditsTok); + end; + + procedure LossesDetStCreditsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCreditsGName())); + end; + + procedure LossesDetStCreditsGName(): Text[100] + begin + exit(LossesDetStCreditsGTok); + end; + + procedure LossesDetStCreditsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCreditsAName())); + end; + + procedure LossesDetStCreditsAName(): Text[100] + begin + exit(LossesDetStCreditsATok); + end; + + procedure LossesDetStCreditsOV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCreditsOVName())); + end; + + procedure LossesDetStCreditsOVName(): Text[100] + begin + exit(LossesDetStCreditsOVTok); + end; + + procedure LossesDetStCreditsOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesDetStCreditsOthName())); + end; + + procedure LossesDetStCreditsOthName(): Text[100] + begin + exit(LossesDetStCreditsOthTok); + end; + + procedure SalesAndIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesAndIncomeName())); + end; + + procedure SalesAndIncomeName(): Text[100] + begin + exit(SalesAndIncomeTok); + end; + + procedure GoodsSalesServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsSalesServicesName())); + end; + + procedure GoodsSalesServicesName(): Text[100] + begin + exit(GoodsSalesServicesTok); + end; + + procedure GoodsSalesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsSalesHeadingName())); + end; + + procedure GoodsSalesHeadingName(): Text[100] + begin + exit(GoodsSalesHeadingTok); + end; + + procedure GoodsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsSalesName())); + end; + + procedure GoodsSalesName(): Text[100] + begin + exit(GoodsSalesTok); + end; + + procedure NationalGoodsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalGoodsSalesName())); + end; + + procedure NationalGoodsSalesName(): Text[100] + begin + exit(NationalGoodsSalesTok); + end; + + procedure GoodsSalesEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsSalesEuName())); + end; + + procedure GoodsSalesEuName(): Text[100] + begin + exit(GoodsSalesEuTok); + end; + + procedure IntNonEuGoodsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntNonEuGoodsSalesName())); + end; + + procedure IntNonEuGoodsSalesName(): Text[100] + begin + exit(IntNonEuGoodsSalesTok); + end; + + procedure RawMaterialsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsSalesName())); + end; + + procedure RawMaterialsSalesName(): Text[100] + begin + exit(RawMaterialsSalesTok); + end; + + procedure NationalRawMatSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalRawMatSalesName())); + end; + + procedure NationalRawMatSalesName(): Text[100] + begin + exit(NationalRawMatSalesTok); + end; + + procedure EuRawMaterialsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuRawMaterialsSalesName())); + end; + + procedure EuRawMaterialsSalesName(): Text[100] + begin + exit(EuRawMaterialsSalesTok); + end; + + procedure IntRawMatSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntRawMatSalesName())); + end; + + procedure IntRawMatSalesName(): Text[100] + begin + exit(IntRawMatSalesTok); + end; + + procedure FinishedGoodsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsSalesName())); + end; + + procedure FinishedGoodsSalesName(): Text[100] + begin + exit(FinishedGoodsSalesTok); + end; + + procedure SemiManufPartsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SemiManufPartsSalesName())); + end; + + procedure SemiManufPartsSalesName(): Text[100] + begin + exit(SemiManufPartsSalesTok); + end; + + procedure ByProductsScrapSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ByProductsScrapSalesName())); + end; + + procedure ByProductsScrapSalesName(): Text[100] + begin + exit(ByProductsScrapSalesTok); + end; + + procedure RetEmpPackSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetEmpPackSalesName())); + end; + + procedure RetEmpPackSalesName(): Text[100] + begin + exit(RetEmpPackSalesTok); + end; + + procedure ProvisionOfServicesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionOfServicesHeadingName())); + end; + + procedure ProvisionOfServicesHeadingName(): Text[100] + begin + exit(ProvisionOfServicesHeadingTok); + end; + + procedure ProvisionOfServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionOfServicesName())); + end; + + procedure ProvisionOfServicesName(): Text[100] + begin + exit(ProvisionOfServicesTok); + end; + + procedure InternalResourcesPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InternalResourcesPostingName())); + end; + + procedure InternalResourcesPostingName(): Text[100] + begin + exit(InternalResourcesPostingTok); + end; + + procedure ProjectsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectsSalesName())); + end; + + procedure ProjectsSalesName(): Text[100] + begin + exit(ProjectsSalesTok); + end; + + procedure OtherServicesPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherServicesPostingName())); + end; + + procedure OtherServicesPostingName(): Text[100] + begin + exit(OtherServicesPostingTok); + end; + + procedure ProjectsSalesAdjustment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectsSalesAdjustmentName())); + end; + + procedure ProjectsSalesAdjustmentName(): Text[100] + begin + exit(ProjectsSalesAdjustmentTok); + end; + + procedure ProjectsSalesRecognized(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProjectsSalesRecognizedName())); + end; + + procedure ProjectsSalesRecognizedName(): Text[100] + begin + exit(ProjectsSalesRecognizedTok); + end; + + procedure NationalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalServicesName())); + end; + + procedure NationalServicesName(): Text[100] + begin + exit(NationalServicesTok); + end; + + procedure EuServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuServicesName())); + end; + + procedure EuServicesName(): Text[100] + begin + exit(EuServicesTok); + end; + + procedure IntServicesNonEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntServicesNonEuName())); + end; + + procedure IntServicesNonEuName(): Text[100] + begin + exit(IntServicesNonEuTok); + end; + + procedure TotalSaleOfServContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSaleOfServContractsName())); + end; + + procedure TotalSaleOfServContractsName(): Text[100] + begin + exit(TotalSaleOfServContractsTok); + end; + + procedure ServiceContractSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServiceContractSaleName())); + end; + + procedure ServiceContractSaleName(): Text[100] + begin + exit(ServiceContractSaleTok); + end; + + procedure SalesOfServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesOfServiceContractsName())); + end; + + procedure SalesOfServiceContractsName(): Text[100] + begin + exit(SalesOfServiceContractsTok); + end; + + procedure DiscAllowedOnSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowedOnSalesName())); + end; + + procedure DiscAllowedOnSalesName(): Text[100] + begin + exit(DiscAllowedOnSalesTok); + end; + + procedure DiscAllowedOnSalesGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowedOnSalesGoodsName())); + end; + + procedure DiscAllowedOnSalesGoodsName(): Text[100] + begin + exit(DiscAllowedOnSalesGoodsTok); + end; + + procedure DiscAllowOnSalesGoodsN(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSalesGoodsNName())); + end; + + procedure DiscAllowOnSalesGoodsNName(): Text[100] + begin + exit(DiscAllowOnSalesGoodsNTok); + end; + + procedure DiscAllowOnSalesGoodsEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSalesGoodsEuName())); + end; + + procedure DiscAllowOnSalesGoodsEuName(): Text[100] + begin + exit(DiscAllowOnSalesGoodsEuTok); + end; + + procedure DiscAllowOnSalesGoodsI(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSalesGoodsIName())); + end; + + procedure DiscAllowOnSalesGoodsIName(): Text[100] + begin + exit(DiscAllowOnSalesGoodsITok); + end; + + procedure DiscAllowOnSalesFinGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSalesFinGoodsName())); + end; + + procedure DiscAllowOnSalesFinGoodsName(): Text[100] + begin + exit(DiscAllowOnSalesFinGoodsTok); + end; + + procedure DiscAllowOnSalFinGoodsN(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSalFinGoodsNName())); + end; + + procedure DiscAllowOnSalFinGoodsNName(): Text[100] + begin + exit(DiscAllowOnSalFinGoodsNTok); + end; + + procedure DiscAllowOnSFinGoodsEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSFinGoodsEuName())); + end; + + procedure DiscAllowOnSFinGoodsEuName(): Text[100] + begin + exit(DiscAllowOnSFinGoodsEuTok); + end; + + procedure DiscAllowOnSFinGoodsI(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSFinGoodsIName())); + end; + + procedure DiscAllowOnSFinGoodsIName(): Text[100] + begin + exit(DiscAllowOnSFinGoodsITok); + end; + + procedure DiscAllowOnSalesSemiManuf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSalesSemiManufName())); + end; + + procedure DiscAllowOnSalesSemiManufName(): Text[100] + begin + exit(DiscAllowOnSalesSemiManufTok); + end; + + procedure DiscAllowOnSSemiManufN(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSSemiManufNName())); + end; + + procedure DiscAllowOnSSemiManufNName(): Text[100] + begin + exit(DiscAllowOnSSemiManufNTok); + end; + + procedure DiscAllowOnSSemiManufEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSSemiManufEuName())); + end; + + procedure DiscAllowOnSSemiManufEuName(): Text[100] + begin + exit(DiscAllowOnSSemiManufEuTok); + end; + + procedure DiscAllowOnSSemiManufI(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllowOnSSemiManufIName())); + end; + + procedure DiscAllowOnSSemiManufIName(): Text[100] + begin + exit(DiscAllowOnSSemiManufITok); + end; + + procedure DiscAllOnSalProdScrapRet(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllOnSalProdScrapRetName())); + end; + + procedure DiscAllOnSalProdScrapRetName(): Text[100] + begin + exit(DiscAllOnSalProdScrapRetTok); + end; + + procedure DiscAllOnSProdScrRetN(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllOnSProdScrRetNName())); + end; + + procedure DiscAllOnSProdScrRetNName(): Text[100] + begin + exit(DiscAllOnSProdScrRetNTok); + end; + + procedure DiscAllOnSProdScrRetEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllOnSProdScrRetEuName())); + end; + + procedure DiscAllOnSProdScrRetEuName(): Text[100] + begin + exit(DiscAllOnSProdScrRetEuTok); + end; + + procedure DiscAllOnSProdScrRetI(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscAllOnSProdScrRetIName())); + end; + + procedure DiscAllOnSProdScrRetIName(): Text[100] + begin + exit(DiscAllOnSProdScrRetITok); + end; + + procedure SalesReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesReturnsName())); + end; + + procedure SalesReturnsName(): Text[100] + begin + exit(SalesReturnsTok); + end; + + procedure GoodsReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsReturnsName())); + end; + + procedure GoodsReturnsName(): Text[100] + begin + exit(GoodsReturnsTok); + end; + + procedure NationalReturnsPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NationalReturnsPostingName())); + end; + + procedure NationalReturnsPostingName(): Text[100] + begin + exit(NationalReturnsPostingTok); + end; + + procedure EuReturnsPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuReturnsPostingName())); + end; + + procedure EuReturnsPostingName(): Text[100] + begin + exit(EuReturnsPostingTok); + end; + + procedure IntNonEuReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntNonEuReturnsName())); + end; + + procedure IntNonEuReturnsName(): Text[100] + begin + exit(IntNonEuReturnsTok); + end; + + procedure FinishedGoodsReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsReturnsName())); + end; + + procedure FinishedGoodsReturnsName(): Text[100] + begin + exit(FinishedGoodsReturnsTok); + end; + + procedure SemiManufPartsReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SemiManufPartsReturnsName())); + end; + + procedure SemiManufPartsReturnsName(): Text[100] + begin + exit(SemiManufPartsReturnsTok); + end; + + procedure ByProductsScrapReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ByProductsScrapReturnsName())); + end; + + procedure ByProductsScrapReturnsName(): Text[100] + begin + exit(ByProductsScrapReturnsTok); + end; + + procedure RetEmpPackReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetEmpPackReturnsName())); + end; + + procedure RetEmpPackReturnsName(): Text[100] + begin + exit(RetEmpPackReturnsTok); + end; + + procedure SalesReturnAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesReturnAllowName())); + end; + + procedure SalesReturnAllowName(): Text[100] + begin + exit(SalesReturnAllowTok); + end; + + procedure GoodsSalesReturnAllowHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsSalesReturnAllowHeadingName())); + end; + + procedure GoodsSalesReturnAllowHeadingName(): Text[100] + begin + exit(GoodsSalesReturnAllowHeadingTok); + end; + + procedure GoodsSalesReturnAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsSalesReturnAllowName())); + end; + + procedure GoodsSalesReturnAllowName(): Text[100] + begin + exit(GoodsSalesReturnAllowTok); + end; + + procedure FinishGoodsSalesRetAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishGoodsSalesRetAllowName())); + end; + + procedure FinishGoodsSalesRetAllowName(): Text[100] + begin + exit(FinishGoodsSalesRetAllowTok); + end; + + procedure SemiManPSalesRetAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SemiManPSalesRetAllowName())); + end; + + procedure SemiManPSalesRetAllowName(): Text[100] + begin + exit(SemiManPSalesRetAllowTok); + end; + + procedure ByProdScrapSalesRetAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ByProdScrapSalesRetAllowName())); + end; + + procedure ByProdScrapSalesRetAllowName(): Text[100] + begin + exit(ByProdScrapSalesRetAllowTok); + end; + + procedure RetEmpPackSalesRetAllow(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetEmpPackSalesRetAllowName())); + end; + + procedure RetEmpPackSalesRetAllowName(): Text[100] + begin + exit(RetEmpPackSalesRetAllowTok); + end; + + procedure ChangesInStockIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInStockIncomeName())); + end; + + procedure ChangesInStockIncomeName(): Text[100] + begin + exit(ChangesInStockIncomeTok); + end; + + procedure ChgsProdPrgManufGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChgsProdPrgManufGoodsName())); + end; + + procedure ChgsProdPrgManufGoodsName(): Text[100] + begin + exit(ChgsProdPrgManufGoodsTok); + end; + + procedure ChgsInSemiManufParts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChgsInSemiManufPartsName())); + end; + + procedure ChgsInSemiManufPartsName(): Text[100] + begin + exit(ChgsInSemiManufPartsTok); + end; + + procedure ChangesInFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangesInFinishedGoodsName())); + end; + + procedure ChangesInFinishedGoodsName(): Text[100] + begin + exit(ChangesInFinishedGoodsTok); + end; + + procedure ChgsInByProdOrScrap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChgsInByProdOrScrapName())); + end; + + procedure ChgsInByProdOrScrapName(): Text[100] + begin + exit(ChgsInByProdOrScrapTok); + end; + + procedure WorksDoneForTheComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorksDoneForTheCompName())); + end; + + procedure WorksDoneForTheCompName(): Text[100] + begin + exit(WorksDoneForTheCompTok); + end; + + procedure WorkDoneOnIntangA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkDoneOnIntangAName())); + end; + + procedure WorkDoneOnIntangAName(): Text[100] + begin + exit(WorkDoneOnIntangATok); + end; + + procedure WorkDoneOnTangibleAHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkDoneOnTangibleAHeadingName())); + end; + + procedure WorkDoneOnTangibleAHeadingName(): Text[100] + begin + exit(WorkDoneOnTangibleAHeadingTok); + end; + + procedure WorkDoneOnTangibleA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkDoneOnTangibleAName())); + end; + + procedure WorkDoneOnTangibleAName(): Text[100] + begin + exit(WorkDoneOnTangibleATok); + end; + + procedure WorkDoneOnRealEstateInves(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkDoneOnRealEstateInvesName())); + end; + + procedure WorkDoneOnRealEstateInvesName(): Text[100] + begin + exit(WorkDoneOnRealEstateInvesTok); + end; + + procedure WorkDoneIntgAInProgr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkDoneIntgAInProgrName())); + end; + + procedure WorkDoneIntgAInProgrName(): Text[100] + begin + exit(WorkDoneIntgAInProgrTok); + end; + + procedure SubvGrantsAndAdj(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubvGrantsAndAdjName())); + end; + + procedure SubvGrantsAndAdjName(): Text[100] + begin + exit(SubvGrantsAndAdjTok); + end; + + procedure SubvGrantsAndLegacies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubvGrantsAndLegaciesName())); + end; + + procedure SubvGrantsAndLegaciesName(): Text[100] + begin + exit(SubvGrantsAndLegaciesTok); + end; + + procedure SubvGrantsAndLegResult(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubvGrantsAndLegResultName())); + end; + + procedure SubvGrantsAndLegResultName(): Text[100] + begin + exit(SubvGrantsAndLegResultTok); + end; + + procedure OtherSubvGrantsAndLegRes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSubvGrantsAndLegResName())); + end; + + procedure OtherSubvGrantsAndLegResName(): Text[100] + begin + exit(OtherSubvGrantsAndLegResTok); + end; + + procedure OtherOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingIncomeName())); + end; + + procedure OtherOperatingIncomeName(): Text[100] + begin + exit(OtherOperatingIncomeTok); + end; + + procedure JointVenturesResults(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JointVenturesResultsName())); + end; + + procedure JointVenturesResultsName(): Text[100] + begin + exit(JointVenturesResultsTok); + end; + + procedure TransferredLossAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransferredLossAdminName())); + end; + + procedure TransferredLossAdminName(): Text[100] + begin + exit(TransferredLossAdminTok); + end; + + procedure TransferredProfitParticip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransferredProfitParticipName())); + end; + + procedure TransferredProfitParticipName(): Text[100] + begin + exit(TransferredProfitParticipTok); + end; + + procedure LeaseChargesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeaseChargesHeadingName())); + end; + + procedure LeaseChargesHeadingName(): Text[100] + begin + exit(LeaseChargesHeadingTok); + end; + + procedure RoyFConcessLicencTrdmrks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RoyFConcessLicencTrdmrksName())); + end; + + procedure RoyFConcessLicencTrdmrksName(): Text[100] + begin + exit(RoyFConcessLicencTrdmrksTok); + end; + + procedure CommissionsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsHeadingName())); + end; + + procedure CommissionsHeadingName(): Text[100] + begin + exit(CommissionsHeadingTok); + end; + + procedure Commissions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsName())); + end; + + procedure CommissionsName(): Text[100] + begin + exit(CommissionsTok); + end; + + procedure ServicesDoneToEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ServicesDoneToEmployeesName())); + end; + + procedure ServicesDoneToEmployeesName(): Text[100] + begin + exit(ServicesDoneToEmployeesTok); + end; + + procedure MiscellaneousServicesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscellaneousServicesHeadingName())); + end; + + procedure MiscellaneousServicesHeadingName(): Text[100] + begin + exit(MiscellaneousServicesHeadingTok); + end; + + procedure MiscellaneousServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscellaneousServicesName())); + end; + + procedure MiscellaneousServicesName(): Text[100] + begin + exit(MiscellaneousServicesTok); + end; + + procedure FinancialIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialIncomeName())); + end; + + procedure FinancialIncomeName(): Text[100] + begin + exit(FinancialIncomeTok); + end; + + procedure IncFromEquityInvestm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromEquityInvestmName())); + end; + + procedure IncFromEquityInvestmName(): Text[100] + begin + exit(IncFromEquityInvestmTok); + end; + + procedure IncFromEquityInvestmG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromEquityInvestmGName())); + end; + + procedure IncFromEquityInvestmGName(): Text[100] + begin + exit(IncFromEquityInvestmGTok); + end; + + procedure IncFromEquityInvestmA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromEquityInvestmAName())); + end; + + procedure IncFromEquityInvestmAName(): Text[100] + begin + exit(IncFromEquityInvestmATok); + end; + + procedure IncFromEquityInvestmOV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromEquityInvestmOVName())); + end; + + procedure IncFromEquityInvestmOVName(): Text[100] + begin + exit(IncFromEquityInvestmOVTok); + end; + + procedure IncFromEquityInvestmOt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromEquityInvestmOtName())); + end; + + procedure IncFromEquityInvestmOtName(): Text[100] + begin + exit(IncFromEquityInvestmOtTok); + end; + + procedure IncDebtSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncDebtSecuritiesName())); + end; + + procedure IncDebtSecuritiesName(): Text[100] + begin + exit(IncDebtSecuritiesTok); + end; + + procedure IncDebtSecuritiesG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncDebtSecuritiesGName())); + end; + + procedure IncDebtSecuritiesGName(): Text[100] + begin + exit(IncDebtSecuritiesGTok); + end; + + procedure IncDebtSecuritiesA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncDebtSecuritiesAName())); + end; + + procedure IncDebtSecuritiesAName(): Text[100] + begin + exit(IncDebtSecuritiesATok); + end; + + procedure IncDebtSecuritiesOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncDebtSecuritiesOVinName())); + end; + + procedure IncDebtSecuritiesOVinName(): Text[100] + begin + exit(IncDebtSecuritiesOVinTok); + end; + + procedure IncDebtSecuritiesOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncDebtSecuritiesOthName())); + end; + + procedure IncDebtSecuritiesOthName(): Text[100] + begin + exit(IncDebtSecuritiesOthTok); + end; + + procedure IncFromLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromLoansName())); + end; + + procedure IncFromLoansName(): Text[100] + begin + exit(IncFromLoansTok); + end; + + procedure IncFromLtLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromLtLoansName())); + end; + + procedure IncFromLtLoansName(): Text[100] + begin + exit(IncFromLtLoansTok); + end; + + procedure IncFromLtLoansG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromLtLoansGName())); + end; + + procedure IncFromLtLoansGName(): Text[100] + begin + exit(IncFromLtLoansGTok); + end; + + procedure IncFromLtLoansA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromLtLoansAName())); + end; + + procedure IncFromLtLoansAName(): Text[100] + begin + exit(IncFromLtLoansATok); + end; + + procedure IncFromLtLoansOtVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromLtLoansOtVinName())); + end; + + procedure IncFromLtLoansOtVinName(): Text[100] + begin + exit(IncFromLtLoansOtVinTok); + end; + + procedure IncLtLoansOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncLtLoansOthName())); + end; + + procedure IncLtLoansOthName(): Text[100] + begin + exit(IncLtLoansOthTok); + end; + + procedure IncomeFromStLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromStLoansName())); + end; + + procedure IncomeFromStLoansName(): Text[100] + begin + exit(IncomeFromStLoansTok); + end; + + procedure IncFromStLoansG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromStLoansGName())); + end; + + procedure IncFromStLoansGName(): Text[100] + begin + exit(IncFromStLoansGTok); + end; + + procedure IncFromStLoansA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromStLoansAName())); + end; + + procedure IncFromStLoansAName(): Text[100] + begin + exit(IncFromStLoansATok); + end; + + procedure IncFromStLoansOtVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromStLoansOtVinName())); + end; + + procedure IncFromStLoansOtVinName(): Text[100] + begin + exit(IncFromStLoansOtVinTok); + end; + + procedure IncFromStLoansOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncFromStLoansOthName())); + end; + + procedure IncFromStLoansOthName(): Text[100] + begin + exit(IncFromStLoansOthTok); + end; + + procedure ProfitFinInstValueFV(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitFinInstValueFVName())); + end; + + procedure ProfitFinInstValueFVName(): Text[100] + begin + exit(ProfitFinInstValueFVTok); + end; + + procedure ProfitPortfolio(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitPortfolioName())); + end; + + procedure ProfitPortfolioName(): Text[100] + begin + exit(ProfitPortfolioTok); + end; + + procedure ProfitAssignByComp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitAssignByCompName())); + end; + + procedure ProfitAssignByCompName(): Text[100] + begin + exit(ProfitAssignByCompTok); + end; + + procedure ProfitAvailForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitAvailForSaleName())); + end; + + procedure ProfitAvailForSaleName(): Text[100] + begin + exit(ProfitAvailForSaleTok); + end; + + procedure ProfitCoverageInstr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitCoverageInstrName())); + end; + + procedure ProfitCoverageInstrName(): Text[100] + begin + exit(ProfitCoverageInstrTok); + end; + + procedure ProfitMarketableSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarketableSecuritiesName())); + end; + + procedure ProfitMarketableSecuritiesName(): Text[100] + begin + exit(ProfitMarketableSecuritiesTok); + end; + + procedure ProfitMarkSecLtG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecLtGName())); + end; + + procedure ProfitMarkSecLtGName(): Text[100] + begin + exit(ProfitMarkSecLtGTok); + end; + + procedure ProfitMarkSecLtA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecLtAName())); + end; + + procedure ProfitMarkSecLtAName(): Text[100] + begin + exit(ProfitMarkSecLtATok); + end; + + procedure ProfitMarkSecLtOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecLtOVinName())); + end; + + procedure ProfitMarkSecLtOVinName(): Text[100] + begin + exit(ProfitMarkSecLtOVinTok); + end; + + procedure ProfitMarkSecLtO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecLtOName())); + end; + + procedure ProfitMarkSecLtOName(): Text[100] + begin + exit(ProfitMarkSecLtOTok); + end; + + procedure ProfitMarkSecStG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecStGName())); + end; + + procedure ProfitMarkSecStGName(): Text[100] + begin + exit(ProfitMarkSecStGTok); + end; + + procedure ProfitMarkSecStA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecStAName())); + end; + + procedure ProfitMarkSecStAName(): Text[100] + begin + exit(ProfitMarkSecStATok); + end; + + procedure ProfitMarkSecStOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecStOVinName())); + end; + + procedure ProfitMarkSecStOVinName(): Text[100] + begin + exit(ProfitMarkSecStOVinTok); + end; + + procedure ProfitMarkSecStO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitMarkSecStOName())); + end; + + procedure ProfitMarkSecStOName(): Text[100] + begin + exit(ProfitMarkSecStOTok); + end; + + procedure LtIncFaAndReimbR(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtIncFaAndReimbRName())); + end; + + procedure LtIncFaAndReimbRName(): Text[100] + begin + exit(LtIncFaAndReimbRTok); + end; + + procedure ExchangeGainHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExchangeGainHeadingName())); + end; + + procedure ExchangeGainHeadingName(): Text[100] + begin + exit(ExchangeGainHeadingTok); + end; + + procedure ExchangeGainInternEurHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExchangeGainInternEurHeadingName())); + end; + + procedure ExchangeGainInternEurHeadingName(): Text[100] + begin + exit(ExchangeGainInternEurHeadingTok); + end; + + procedure ExchangeGainInternEur(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExchangeGainInternEurName())); + end; + + procedure ExchangeGainInternEurName(): Text[100] + begin + exit(ExchangeGainInternEurTok); + end; + + procedure OtherExchangeGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExchangeGainsName())); + end; + + procedure OtherExchangeGainsName(): Text[100] + begin + exit(OtherExchangeGainsTok); + end; + + procedure ExchangeGainPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExchangeGainPostingName())); + end; + + procedure ExchangeGainPostingName(): Text[100] + begin + exit(ExchangeGainPostingTok); + end; + + procedure OtherFinancialIncomeHeadingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialIncomeHeadingIncomeName())); + end; + + procedure OtherFinancialIncomeHeadingIncomeName(): Text[100] + begin + exit(OtherFinancialIncomeHeadingIncomeTok); + end; + + procedure IncomeOnRoundOffEurosHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeOnRoundOffEurosHeadingName())); + end; + + procedure IncomeOnRoundOffEurosHeadingName(): Text[100] + begin + exit(IncomeOnRoundOffEurosHeadingTok); + end; + + procedure IncomeOnRoundOffEuros(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeOnRoundOffEurosName())); + end; + + procedure IncomeOnRoundOffEurosName(): Text[100] + begin + exit(IncomeOnRoundOffEurosTok); + end; + + procedure PositiveBalanceOnSettl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PositiveBalanceOnSettlName())); + end; + + procedure PositiveBalanceOnSettlName(): Text[100] + begin + exit(PositiveBalanceOnSettlTok); + end; + + procedure OtherFinancialIncomeHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialIncomeHeadingName())); + end; + + procedure OtherFinancialIncomeHeadingName(): Text[100] + begin + exit(OtherFinancialIncomeHeadingTok); + end; + + procedure OtherFinancialIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFinancialIncomeName())); + end; + + procedure OtherFinancialIncomeName(): Text[100] + begin + exit(OtherFinancialIncomeTok); + end; + + procedure ExcExtraordItemsInc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExcExtraordItemsIncName())); + end; + + procedure ExcExtraordItemsIncName(): Text[100] + begin + exit(ExcExtraordItemsIncTok); + end; + + procedure IntangibleAssetsProfit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleAssetsProfitName())); + end; + + procedure IntangibleAssetsProfitName(): Text[100] + begin + exit(IntangibleAssetsProfitTok); + end; + + procedure TangibleAssetsProfitHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleAssetsProfitHeadingName())); + end; + + procedure TangibleAssetsProfitHeadingName(): Text[100] + begin + exit(TangibleAssetsProfitHeadingTok); + end; + + procedure TangibleAssetsProfit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleAssetsProfitName())); + end; + + procedure TangibleAssetsProfitName(): Text[100] + begin + exit(TangibleAssetsProfitTok); + end; + + procedure PropertiesInvestmProfit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertiesInvestmProfitName())); + end; + + procedure PropertiesInvestmProfitName(): Text[100] + begin + exit(PropertiesInvestmProfitTok); + end; + + procedure PrfOnLtEqInvestVinC(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrfOnLtEqInvestVinCName())); + end; + + procedure PrfOnLtEqInvestVinCName(): Text[100] + begin + exit(PrfOnLtEqInvestVinCTok); + end; + + procedure PrfOnLtEqInvestG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrfOnLtEqInvestGName())); + end; + + procedure PrfOnLtEqInvestGName(): Text[100] + begin + exit(PrfOnLtEqInvestGTok); + end; + + procedure PrfOnLtEqInvestA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrfOnLtEqInvestAName())); + end; + + procedure PrfOnLtEqInvestAName(): Text[100] + begin + exit(PrfOnLtEqInvestATok); + end; + + procedure PrfOnLtEqInvestOtVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrfOnLtEqInvestOtVinName())); + end; + + procedure PrfOnLtEqInvestOtVinName(): Text[100] + begin + exit(PrfOnLtEqInvestOtVinTok); + end; + + procedure NegDifferencesMergingBuss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegDifferencesMergingBussName())); + end; + + procedure NegDifferencesMergingBussName(): Text[100] + begin + exit(NegDifferencesMergingBussTok); + end; + + procedure ProfitOnDebentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitOnDebentLoansName())); + end; + + procedure ProfitOnDebentLoansName(): Text[100] + begin + exit(ProfitOnDebentLoansTok); + end; + + procedure ProvisionsApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsAppliedName())); + end; + + procedure ProvisionsAppliedName(): Text[100] + begin + exit(ProvisionsAppliedTok); + end; + + procedure SurplResrvForIntangA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvForIntangAName())); + end; + + procedure SurplResrvForIntangAName(): Text[100] + begin + exit(SurplResrvForIntangATok); + end; + + procedure SurplResrvForTangA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvForTangAName())); + end; + + procedure SurplResrvForTangAName(): Text[100] + begin + exit(SurplResrvForTangATok); + end; + + procedure SurplResrvForPropInvest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvForPropInvestName())); + end; + + procedure SurplResrvForPropInvestName(): Text[100] + begin + exit(SurplResrvForPropInvestTok); + end; + + procedure SurplResrvForInventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvForInventoryName())); + end; + + procedure SurplResrvForInventoryName(): Text[100] + begin + exit(SurplResrvForInventoryTok); + end; + + procedure SurplResrvFinishWip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvFinishWipName())); + end; + + procedure SurplResrvFinishWipName(): Text[100] + begin + exit(SurplResrvFinishWipTok); + end; + + procedure SurplResrvForGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvForGoodsName())); + end; + + procedure SurplResrvForGoodsName(): Text[100] + begin + exit(SurplResrvForGoodsTok); + end; + + procedure SurplResrvForRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvForRawMatName())); + end; + + procedure SurplResrvForRawMatName(): Text[100] + begin + exit(SurplResrvForRawMatTok); + end; + + procedure SurplResrvForOtherMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvForOtherMatName())); + end; + + procedure SurplResrvForOtherMatName(): Text[100] + begin + exit(SurplResrvForOtherMatTok); + end; + + procedure RevDetTradeCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevDetTradeCreditsName())); + end; + + procedure RevDetTradeCreditsName(): Text[100] + begin + exit(RevDetTradeCreditsTok); + end; + + procedure ProvisionExcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionExcessName())); + end; + + procedure ProvisionExcessName(): Text[100] + begin + exit(ProvisionExcessTok); + end; + + procedure ProvisionForPensionsIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForPensionsIncomeName())); + end; + + procedure ProvisionForPensionsIncomeName(): Text[100] + begin + exit(ProvisionForPensionsIncomeTok); + end; + + procedure TaxationReserveIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxationReserveIncomeName())); + end; + + procedure TaxationReserveIncomeName(): Text[100] + begin + exit(TaxationReserveIncomeTok); + end; + + procedure ProvisionForOtherRespon(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionForOtherResponName())); + end; + + procedure ProvisionForOtherResponName(): Text[100] + begin + exit(ProvisionForOtherResponTok); + end; + + procedure ProvForTradeTransactIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForTradeTransactIncomeName())); + end; + + procedure ProvForTradeTransactIncomeName(): Text[100] + begin + exit(ProvForTradeTransactIncomeTok); + end; + + procedure OnerousContractsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OnerousContractsHeadingName())); + end; + + procedure OnerousContractsHeadingName(): Text[100] + begin + exit(OnerousContractsHeadingTok); + end; + + procedure OtherTradeTransactHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTradeTransactHeadingName())); + end; + + procedure OtherTradeTransactHeadingName(): Text[100] + begin + exit(OtherTradeTransactHeadingTok); + end; + + procedure ProvForEnvironmentalActIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForEnvironmentalActIncomeName())); + end; + + procedure ProvForEnvironmentalActIncomeName(): Text[100] + begin + exit(ProvForEnvironmentalActIncomeTok); + end; + + procedure ProvForRestructuringHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvForRestructuringHeadingName())); + end; + + procedure ProvForRestructuringHeadingName(): Text[100] + begin + exit(ProvForRestructuringHeadingTok); + end; + + procedure ProvPaymTranCapitalInst(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvPaymTranCapitalInstName())); + end; + + procedure ProvPaymTranCapitalInstName(): Text[100] + begin + exit(ProvPaymTranCapitalInstTok); + end; + + procedure SurplProviForLtSec(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplProviForLtSecName())); + end; + + procedure SurplProviForLtSecName(): Text[100] + begin + exit(SurplProviForLtSecTok); + end; + + procedure SurplResrvLtCapitalInsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCapitalInsGName())); + end; + + procedure SurplResrvLtCapitalInsGName(): Text[100] + begin + exit(SurplResrvLtCapitalInsGTok); + end; + + procedure SurplResrvLtCapitalInsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCapitalInsAName())); + end; + + procedure SurplResrvLtCapitalInsAName(): Text[100] + begin + exit(SurplResrvLtCapitalInsATok); + end; + + procedure SurplResrLtCapitalInsOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrLtCapitalInsOvName())); + end; + + procedure SurplResrLtCapitalInsOvName(): Text[100] + begin + exit(SurplResrLtCapitalInsOvTok); + end; + + procedure SurplResrvLtCapitalInsO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCapitalInsOName())); + end; + + procedure SurplResrvLtCapitalInsOName(): Text[100] + begin + exit(SurplResrvLtCapitalInsOTok); + end; + + procedure SurplResrvLtSecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtSecGName())); + end; + + procedure SurplResrvLtSecGName(): Text[100] + begin + exit(SurplResrvLtSecGTok); + end; + + procedure SurplResrvLtSecA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtSecAName())); + end; + + procedure SurplResrvLtSecAName(): Text[100] + begin + exit(SurplResrvLtSecATok); + end; + + procedure SurplResrvLtSecOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtSecOVinName())); + end; + + procedure SurplResrvLtSecOVinName(): Text[100] + begin + exit(SurplResrvLtSecOVinTok); + end; + + procedure SurplResrvLtSecOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtSecOthName())); + end; + + procedure SurplResrvLtSecOthName(): Text[100] + begin + exit(SurplResrvLtSecOthTok); + end; + + procedure SurplResrvLtCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCreditsName())); + end; + + procedure SurplResrvLtCreditsName(): Text[100] + begin + exit(SurplResrvLtCreditsTok); + end; + + procedure SurplResrvLtCreditsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCreditsGName())); + end; + + procedure SurplResrvLtCreditsGName(): Text[100] + begin + exit(SurplResrvLtCreditsGTok); + end; + + procedure SurplResrvLtCreditsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCreditsAName())); + end; + + procedure SurplResrvLtCreditsAName(): Text[100] + begin + exit(SurplResrvLtCreditsATok); + end; + + procedure SurplResrvLtCreditsOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCreditsOvName())); + end; + + procedure SurplResrvLtCreditsOvName(): Text[100] + begin + exit(SurplResrvLtCreditsOvTok); + end; + + procedure SurplResrvLtCreditsOt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvLtCreditsOtName())); + end; + + procedure SurplResrvLtCreditsOtName(): Text[100] + begin + exit(SurplResrvLtCreditsOtTok); + end; + + procedure SurplResrvStSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStSecuritiesName())); + end; + + procedure SurplResrvStSecuritiesName(): Text[100] + begin + exit(SurplResrvStSecuritiesTok); + end; + + procedure SurplResrvStCapitalInsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCapitalInsGName())); + end; + + procedure SurplResrvStCapitalInsGName(): Text[100] + begin + exit(SurplResrvStCapitalInsGTok); + end; + + procedure SurplResrvStCapitalInsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCapitalInsAName())); + end; + + procedure SurplResrvStCapitalInsAName(): Text[100] + begin + exit(SurplResrvStCapitalInsATok); + end; + + procedure SurplResrStCapitalInsOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrStCapitalInsOvName())); + end; + + procedure SurplResrStCapitalInsOvName(): Text[100] + begin + exit(SurplResrStCapitalInsOvTok); + end; + + procedure SurplResrvStCapitalInsO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCapitalInsOName())); + end; + + procedure SurplResrvStCapitalInsOName(): Text[100] + begin + exit(SurplResrvStCapitalInsOTok); + end; + + procedure SurplResrvStSecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStSecGName())); + end; + + procedure SurplResrvStSecGName(): Text[100] + begin + exit(SurplResrvStSecGTok); + end; + + procedure SurplResrvStSecA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStSecAName())); + end; + + procedure SurplResrvStSecAName(): Text[100] + begin + exit(SurplResrvStSecATok); + end; + + procedure SurplResrvStSecOVin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStSecOVinName())); + end; + + procedure SurplResrvStSecOVinName(): Text[100] + begin + exit(SurplResrvStSecOVinTok); + end; + + procedure SurplResrvStSecOth(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStSecOthName())); + end; + + procedure SurplResrvStSecOthName(): Text[100] + begin + exit(SurplResrvStSecOthTok); + end; + + procedure SurplResrvStCredits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCreditsName())); + end; + + procedure SurplResrvStCreditsName(): Text[100] + begin + exit(SurplResrvStCreditsTok); + end; + + procedure SurplResrvStCreditsG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCreditsGName())); + end; + + procedure SurplResrvStCreditsGName(): Text[100] + begin + exit(SurplResrvStCreditsGTok); + end; + + procedure SurplResrvStCreditsA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCreditsAName())); + end; + + procedure SurplResrvStCreditsAName(): Text[100] + begin + exit(SurplResrvStCreditsATok); + end; + + procedure SurplResrvStCreditsOv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCreditsOvName())); + end; + + procedure SurplResrvStCreditsOvName(): Text[100] + begin + exit(SurplResrvStCreditsOvTok); + end; + + procedure SurplResrvStCreditsOt(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SurplResrvStCreditsOtName())); + end; + + procedure SurplResrvStCreditsOtName(): Text[100] + begin + exit(SurplResrvStCreditsOtTok); + end; + + procedure ExpensesChargedToCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesChargedToCapitalName())); + end; + + procedure ExpensesChargedToCapitalName(): Text[100] + begin + exit(ExpensesChargedToCapitalTok); + end; + + procedure FinExpAssetsAndLiabVal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinExpAssetsAndLiabValName())); + end; + + procedure FinExpAssetsAndLiabValName(): Text[100] + begin + exit(FinExpAssetsAndLiabValTok); + end; + + procedure LossesFinAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesFinAForSaleName())); + end; + + procedure LossesFinAForSaleName(): Text[100] + begin + exit(LossesFinAForSaleTok); + end; + + procedure GainsTransFinAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsTransFinAForSaleName())); + end; + + procedure GainsTransFinAForSaleName(): Text[100] + begin + exit(GainsTransFinAForSaleTok); + end; + + procedure ExpensesInCoverageOper(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesInCoverageOperName())); + end; + + procedure ExpensesInCoverageOperName(): Text[100] + begin + exit(ExpensesInCoverageOperTok); + end; + + procedure LossesCashFlowCoverage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesCashFlowCoverageName())); + end; + + procedure LossesCashFlowCoverageName(): Text[100] + begin + exit(LossesCashFlowCoverageTok); + end; + + procedure LossesInvestCoverageAbroad(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesInvestCoverageAbroadName())); + end; + + procedure LossesInvestCoverageAbroadName(): Text[100] + begin + exit(LossesInvestCoverageAbroadTok); + end; + + procedure CashFlowCoverageGainsTrans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashFlowCoverageGainsTransName())); + end; + + procedure CashFlowCoverageGainsTransName(): Text[100] + begin + exit(CashFlowCoverageGainsTransTok); + end; + + procedure InvestCovAbroadGainsTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestCovAbroadGainsTransfName())); + end; + + procedure InvestCovAbroadGainsTransfName(): Text[100] + begin + exit(InvestCovAbroadGainsTransfTok); + end; + + procedure ExpensesConversionDifferenc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesConversionDifferencName())); + end; + + procedure ExpensesConversionDifferencName(): Text[100] + begin + exit(ExpensesConversionDifferencTok); + end; + + procedure NegativeConvDifferences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegativeConvDifferencesName())); + end; + + procedure NegativeConvDifferencesName(): Text[100] + begin + exit(NegativeConvDifferencesTok); + end; + + procedure PositiveConvDiffTransfer(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PositiveConvDiffTransferName())); + end; + + procedure PositiveConvDiffTransferName(): Text[100] + begin + exit(PositiveConvDiffTransferTok); + end; + + procedure ProfitTaxHeadingCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitTaxHeadingCapitalName())); + end; + + procedure ProfitTaxHeadingCapitalName(): Text[100] + begin + exit(ProfitTaxHeadingCapitalTok); + end; + + procedure ProfitTaxCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitTaxCapitalName())); + end; + + procedure ProfitTaxCapitalName(): Text[100] + begin + exit(ProfitTaxCapitalTok); + end; + + procedure RunningTaxHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RunningTaxHeadingName())); + end; + + procedure RunningTaxHeadingName(): Text[100] + begin + exit(RunningTaxHeadingTok); + end; + + procedure DeferredTaxHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxHeadingName())); + end; + + procedure DeferredTaxHeadingName(): Text[100] + begin + exit(DeferredTaxHeadingTok); + end; + + procedure ProfitDepositNegativeAdj(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitDepositNegativeAdjName())); + end; + + procedure ProfitDepositNegativeAdjName(): Text[100] + begin + exit(ProfitDepositNegativeAdjTok); + end; + + procedure FiscalIncomePermDiffer(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FiscalIncomePermDifferName())); + end; + + procedure FiscalIncomePermDifferName(): Text[100] + begin + exit(FiscalIncomePermDifferTok); + end; + + procedure FiscalIncomeDeductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FiscalIncomeDeductionsName())); + end; + + procedure FiscalIncomeDeductionsName(): Text[100] + begin + exit(FiscalIncomeDeductionsTok); + end; + + procedure PermDifferTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PermDifferTransfName())); + end; + + procedure PermDifferTransfName(): Text[100] + begin + exit(PermDifferTransfTok); + end; + + procedure DeducFiscalBenefTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeducFiscalBenefTransfName())); + end; + + procedure DeducFiscalBenefTransfName(): Text[100] + begin + exit(DeducFiscalBenefTransfTok); + end; + + procedure ProfitDepositPositiveAdj(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitDepositPositiveAdjName())); + end; + + procedure ProfitDepositPositiveAdjName(): Text[100] + begin + exit(ProfitDepositPositiveAdjTok); + end; + + procedure SubvGrantsAndLegTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubvGrantsAndLegTransfName())); + end; + + procedure SubvGrantsAndLegTransfName(): Text[100] + begin + exit(SubvGrantsAndLegTransfTok); + end; + + procedure OfficialSubvTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficialSubvTransfName())); + end; + + procedure OfficialSubvTransfName(): Text[100] + begin + exit(OfficialSubvTransfTok); + end; + + procedure GrantsAndLegTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GrantsAndLegTransfName())); + end; + + procedure GrantsAndLegTransfName(): Text[100] + begin + exit(GrantsAndLegTransfTok); + end; + + procedure OtherSubvGrantsLegTrans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSubvGrantsLegTransName())); + end; + + procedure OtherSubvGrantsLegTransName(): Text[100] + begin + exit(OtherSubvGrantsLegTransTok); + end; + + procedure LtLossAndAdjFeeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtLossAndAdjFeeExpensesName())); + end; + + procedure LtLossAndAdjFeeExpensesName(): Text[100] + begin + exit(LtLossAndAdjFeeExpensesTok); + end; + + procedure ActuarialLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ActuarialLossesName())); + end; + + procedure ActuarialLossesName(): Text[100] + begin + exit(ActuarialLossesTok); + end; + + procedure NegAdjLtFeeFixedProv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegAdjLtFeeFixedProvName())); + end; + + procedure NegAdjLtFeeFixedProvName(): Text[100] + begin + exit(NegAdjLtFeeFixedProvTok); + end; + + procedure NonCurrAssetsOnSaleExp(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrAssetsOnSaleExpName())); + end; + + procedure NonCurrAssetsOnSaleExpName(): Text[100] + begin + exit(NonCurrAssetsOnSaleExpTok); + end; + + procedure NonCurrAAndForSaleLos(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrAAndForSaleLosName())); + end; + + procedure NonCurrAAndForSaleLosName(): Text[100] + begin + exit(NonCurrAAndForSaleLosTok); + end; + + procedure NonCurrAAndSaleGTrans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrAAndSaleGTransName())); + end; + + procedure NonCurrAAndSaleGTransName(): Text[100] + begin + exit(NonCurrAAndSaleGTransTok); + end; + + procedure PartGOrACExpPosValAdj(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartGOrACExpPosValAdjName())); + end; + + procedure PartGOrACExpPosValAdjName(): Text[100] + begin + exit(PartGOrACExpPosValAdjTok); + end; + + procedure LiabPartDetG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabPartDetGName())); + end; + + procedure LiabPartDetGName(): Text[100] + begin + exit(LiabPartDetGTok); + end; + + procedure LiabPartDetA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabPartDetAName())); + end; + + procedure LiabPartDetAName(): Text[100] + begin + exit(LiabPartDetATok); + end; + + procedure IncomeChargedToCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeChargedToCapitalName())); + end; + + procedure IncomeChargedToCapitalName(): Text[100] + begin + exit(IncomeChargedToCapitalTok); + end; + + procedure FinIncAssetsAndLiabVal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinIncAssetsAndLiabValName())); + end; + + procedure FinIncAssetsAndLiabValName(): Text[100] + begin + exit(FinIncAssetsAndLiabValTok); + end; + + procedure GainsFinAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsFinAForSaleName())); + end; + + procedure GainsFinAForSaleName(): Text[100] + begin + exit(GainsFinAForSaleTok); + end; + + procedure LossesTransfFinAForSale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossesTransfFinAForSaleName())); + end; + + procedure LossesTransfFinAForSaleName(): Text[100] + begin + exit(LossesTransfFinAForSaleTok); + end; + + procedure IncomeInCoverageOper(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeInCoverageOperName())); + end; + + procedure IncomeInCoverageOperName(): Text[100] + begin + exit(IncomeInCoverageOperTok); + end; + + procedure IncomeCashFlowCoverage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeCashFlowCoverageName())); + end; + + procedure IncomeCashFlowCoverageName(): Text[100] + begin + exit(IncomeCashFlowCoverageTok); + end; + + procedure IncomeInvestCoverageAbroad(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeInvestCoverageAbroadName())); + end; + + procedure IncomeInvestCoverageAbroadName(): Text[100] + begin + exit(IncomeInvestCoverageAbroadTok); + end; + + procedure CashFlowCoverageLossTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashFlowCoverageLossTransfName())); + end; + + procedure CashFlowCoverageLossTransfName(): Text[100] + begin + exit(CashFlowCoverageLossTransfTok); + end; + + procedure InvestCovAbroadLossTransf(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestCovAbroadLossTransfName())); + end; + + procedure InvestCovAbroadLossTransfName(): Text[100] + begin + exit(InvestCovAbroadLossTransfTok); + end; + + procedure IncomeConversionDifferences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeConversionDifferencesName())); + end; + + procedure IncomeConversionDifferencesName(): Text[100] + begin + exit(IncomeConversionDifferencesTok); + end; + + procedure PositiveConvDifferences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PositiveConvDifferencesName())); + end; + + procedure PositiveConvDifferencesName(): Text[100] + begin + exit(PositiveConvDifferencesTok); + end; + + procedure NegativeConvDiffTransfer(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegativeConvDiffTransferName())); + end; + + procedure NegativeConvDiffTransferName(): Text[100] + begin + exit(NegativeConvDiffTransferTok); + end; + + procedure SubvGrantsAndLegIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubvGrantsAndLegIncomeName())); + end; + + procedure SubvGrantsAndLegIncomeName(): Text[100] + begin + exit(SubvGrantsAndLegIncomeTok); + end; + + procedure OfficialSubvIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficialSubvIncomeName())); + end; + + procedure OfficialSubvIncomeName(): Text[100] + begin + exit(OfficialSubvIncomeTok); + end; + + procedure GrantsAndLegIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GrantsAndLegIncomeName())); + end; + + procedure GrantsAndLegIncomeName(): Text[100] + begin + exit(GrantsAndLegIncomeTok); + end; + + procedure OtherSubvGrantsAndLegInc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSubvGrantsAndLegIncName())); + end; + + procedure OtherSubvGrantsAndLegIncName(): Text[100] + begin + exit(OtherSubvGrantsAndLegIncTok); + end; + + procedure LtProfitAndAdjFeeIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LtProfitAndAdjFeeIncomeName())); + end; + + procedure LtProfitAndAdjFeeIncomeName(): Text[100] + begin + exit(LtProfitAndAdjFeeIncomeTok); + end; + + procedure ActuarialGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ActuarialGainsName())); + end; + + procedure ActuarialGainsName(): Text[100] + begin + exit(ActuarialGainsTok); + end; + + procedure PosAdjLtFeeFixedProv(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PosAdjLtFeeFixedProvName())); + end; + + procedure PosAdjLtFeeFixedProvName(): Text[100] + begin + exit(PosAdjLtFeeFixedProvTok); + end; + + procedure NonCurrAssetsOnSaleInc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrAssetsOnSaleIncName())); + end; + + procedure NonCurrAssetsOnSaleIncName(): Text[100] + begin + exit(NonCurrAssetsOnSaleIncTok); + end; + + procedure NonCurrAAndForSaleProfit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrAAndForSaleProfitName())); + end; + + procedure NonCurrAAndForSaleProfitName(): Text[100] + begin + exit(NonCurrAAndForSaleProfitTok); + end; + + procedure NonCurrAAndSaleLossTrans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonCurrAAndSaleLossTransName())); + end; + + procedure NonCurrAAndSaleLossTransName(): Text[100] + begin + exit(NonCurrAAndSaleLossTransTok); + end; + + procedure PartGOrACoIncPosValAdj(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PartGOrACoIncPosValAdjName())); + end; + + procedure PartGOrACoIncPosValAdjName(): Text[100] + begin + exit(PartGOrACoIncPosValAdjTok); + end; + + procedure PrevNegAdjRecG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrevNegAdjRecGName())); + end; + + procedure PrevNegAdjRecGName(): Text[100] + begin + exit(PrevNegAdjRecGTok); + end; + + procedure PrevNegAdjRecA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrevNegAdjRecAName())); + end; + + procedure PrevNegAdjRecAName(): Text[100] + begin + exit(PrevNegAdjRecATok); + end; + + procedure NegAdjDetValTransG(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegAdjDetValTransGName())); + end; + + procedure NegAdjDetValTransGName(): Text[100] + begin + exit(NegAdjDetValTransGTok); + end; + + procedure NegAdjDetValTransA(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NegAdjDetValTransAName())); + end; + + procedure NegAdjDetValTransAName(): Text[100] + begin + exit(NegAdjDetValTransATok); + end; + + procedure RawMaterialsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsHeadingName())); + end; + + procedure RawMaterialsHeadingName(): Text[100] + begin + exit(RawMaterialsHeadingTok); + end; + + procedure RawMaterialsHeadingAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsHeadingAssetsName())); + end; + + procedure RawMaterialsHeadingAssetsName(): Text[100] + begin + exit(RawMaterialsHeadingAssetsTok); + end; + + procedure FinishedGoodsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsHeadingName())); + end; + + procedure FinishedGoodsHeadingName(): Text[100] + begin + exit(FinishedGoodsHeadingTok); + end; + + procedure FixedAssetsHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsHeadingName())); + end; + + procedure FixedAssetsHeadingName(): Text[100] + begin + exit(FixedAssetsHeadingTok); + end; + + procedure OfficeSuppliesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeSuppliesHeadingName())); + end; + + procedure OfficeSuppliesHeadingName(): Text[100] + begin + exit(OfficeSuppliesHeadingTok); + end; + + procedure ExtraordinaryExpensesHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryExpensesHeadingName())); + end; + + procedure ExtraordinaryExpensesHeadingName(): Text[100] + begin + exit(ExtraordinaryExpensesHeadingTok); + end; + + procedure ExtraordinaryExpensesHeadingExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryExpensesHeadingExpenseName())); + end; + + procedure ExtraordinaryExpensesHeadingExpenseName(): Text[100] + begin + exit(ExtraordinaryExpensesHeadingExpenseTok); + end; + + procedure ExtraordinaryIncomeHeading(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryIncomeHeadingName())); + end; + + procedure ExtraordinaryIncomeHeadingName(): Text[100] + begin + exit(ExtraordinaryIncomeHeadingTok); + end; + + procedure RawMaterialsAssetsPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsAssetsPostingName())); + end; + + procedure RawMaterialsAssetsPostingName(): Text[100] + begin + exit(RawMaterialsAssetsPostingTok); + end; + + local procedure UpdateIncomeStmtBalAcc(No: Code[20]; IncomeStmtBalAcc: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + if GLAccount.Get(No) then begin + GLAccount.Validate("Income Stmt. Bal. Acc.", IncomeStmtBalAcc); + GLAccount.Modify(); + end; + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + BasicFinancingTok: Label 'BASIC FINANCING', MaxLength = 100; + CapitalHeadingTok: Label 'Capital, Heading', MaxLength = 100; + ShareCapitalHeadingTok: Label 'Share Capital, Heading', MaxLength = 100; + ShareCapitalPostingTok: Label 'Share Capital', MaxLength = 100; + SocialFundTok: Label 'Social Fund', MaxLength = 100; + CapitalTok: Label 'Capital', MaxLength = 100; + PartnersInvestTok: Label 'Partners invest. ', MaxLength = 100; + PartnersInvestSCapTok: Label 'Partners invest., S. Cap.', MaxLength = 100; + PartnersInvestPCapTok: Label 'Partners invest., P. Cap.', MaxLength = 100; + PartnersPendNonmonetaryInvTok: Label 'Partners Pend Nonmonetary Inv.', MaxLength = 100; + PartPendNonmonInvSCapTok: Label 'Part Pend Nonmon. Inv, S Cap', MaxLength = 100; + PartPendNonmonInvPCapTok: Label 'Part Pend Nonmon. Inv, P Cap', MaxLength = 100; + SharesSpecialSituationsTok: Label 'Shares Special Situations', MaxLength = 100; + SharesCapitalReductionsTok: Label 'Shares Capital Reductions', MaxLength = 100; + ReservesTok: Label 'Reserves', MaxLength = 100; + SharePremiumTok: Label 'Share Premium', MaxLength = 100; + OtherCapitalInstrHeadingTok: Label 'Other Capital Instr., Heading', MaxLength = 100; + CapitalMixedFinInstrTok: Label 'Capital Mixed Fin. Instr.', MaxLength = 100; + OtherCapitalInstrTok: Label 'Other Capital Instr.', MaxLength = 100; + LegalReserveHeadingTok: Label 'Legal Reserve, Heading', MaxLength = 100; + LegalReserveTok: Label 'Legal Reserve', MaxLength = 100; + VoluntaryReservesTok: Label 'Voluntary Reserves', MaxLength = 100; + VoluntaryReserveTok: Label 'Voluntary Reserve', MaxLength = 100; + SpecialReservesTok: Label 'Special Reserves', MaxLength = 100; + MajorPartnerSharesReservesTok: Label 'Major Partner Shares Reserves', MaxLength = 100; + StatutoryReservesTok: Label 'Statutory Reserves', MaxLength = 100; + DeprCapitalReserveTok: Label 'Depr. Capital Reserve', MaxLength = 100; + GoodwillReservesTok: Label 'Goodwill Reserves', MaxLength = 100; + OwnSharesAsGuaranteeReserTok: Label 'Own shares as guarantee Reser.', MaxLength = 100; + GainsLossReservesAndAdjHeadingTok: Label 'Gains & Loss Reserves and adj., Heading', MaxLength = 100; + GainsLossReservesAndAdjTok: Label 'Gains & Loss Reserves and adj.', MaxLength = 100; + PartnersOrOwnerInvestmentsTok: Label 'Partners or Owner investments', MaxLength = 100; + DifCapitalExchEuroTok: Label 'Dif. Capital Exch Euro', MaxLength = 100; + UnappliedResultsTok: Label 'Unapplied Results', MaxLength = 100; + AccumulatedLossesTok: Label 'Accumulated Losses', MaxLength = 100; + ProfitOrLossHeadingTok: Label 'Profit or Loss, Heading', MaxLength = 100; + ProfitOrLossTok: Label 'Profit or Loss', MaxLength = 100; + SubvGrantsAndCurrExchTok: Label 'Subv., Grants and Curr. Exch.', MaxLength = 100; + OfficialSubvHeadingTok: Label 'Official Subv., Heading', MaxLength = 100; + OfficialSubvTok: Label 'Official Subv.', MaxLength = 100; + GrantsAndLegaciesHeadingTok: Label 'Grants and legacies, Heading', MaxLength = 100; + GrantsAndLegaciesTok: Label 'Grants and legacies', MaxLength = 100; + OtherSubvGrantsAndLegHeadingTok: Label 'Other Subv. grants and leg., Heading', MaxLength = 100; + OtherSubvGrantsAndLegTok: Label 'Other Subv. grants and leg.', MaxLength = 100; + ValueAdjFinAForSaleHeadingTok: Label 'Value Adj. Fin. A. For Sale, Heading', MaxLength = 100; + ValueAdjFinAForSaleTok: Label 'Value Adj. Fin. A. For Sale', MaxLength = 100; + ValueAdjFinAForSalePostingTok: Label 'Value Adj. Fin. A. For Sale, Posting', MaxLength = 100; + CoverageOperationsTok: Label 'Coverage Operations', MaxLength = 100; + CashFlowCoverageHeadingTok: Label 'Cash Flow Coverage, Heading', MaxLength = 100; + CashFlowCoverageTok: Label 'Cash Flow Coverage', MaxLength = 100; + NetInvestCovAbroadHeadingTok: Label 'Net Invest. Cov. Abroad, Heading', MaxLength = 100; + NetInvestCovAbroadTok: Label 'Net Invest. Cov. Abroad', MaxLength = 100; + ConversionDifferencesHeadingTok: Label 'Conversion Differences, Heading', MaxLength = 100; + ConversionDifferencesTok: Label 'Conversion Differences', MaxLength = 100; + ValueAdjNoncurrentASaleHeadingTok: Label 'Value Adj Noncurrent A & Sale, Heading', MaxLength = 100; + ValueAdjNoncurrentASaleTok: Label 'Value Adj Noncurrent A & Sale', MaxLength = 100; + FiscalIncRetPrevYearsTok: Label 'Fiscal Inc. Ret. Prev Years', MaxLength = 100; + FiscalIncDifRetPrevYearsHeadingTok: Label 'Fiscal Inc. Dif Ret Prev Years, Heading', MaxLength = 100; + FiscalIncDifRetPrevYearsTok: Label 'Fiscal Inc. Dif Ret Prev Years', MaxLength = 100; + FiscalIncDeductDiscountsTok: Label 'Fiscal Inc. Deduct & Discounts', MaxLength = 100; + ProvisionTok: Label 'Provision', MaxLength = 100; + ProvisionForPensionsEquityTok: Label 'Provision for Pensions, Equity', MaxLength = 100; + TaxationReserveEquityTok: Label 'Taxation Reserve, Equity', MaxLength = 100; + ProvisionForResponsibilitiesTok: Label 'Provision for Responsibilities', MaxLength = 100; + ProvisionForMayorRepairsTok: Label 'Provision for Mayor Repairs', MaxLength = 100; + ProvForEnvironmentalActEquityTok: Label 'Prov. for environmental act., Equity', MaxLength = 100; + ProvisionForRestructuringTok: Label 'Provision for restructuring', MaxLength = 100; + ProvPaymTransCapitalInstTok: Label 'Prov. Paym Trans Capital Inst', MaxLength = 100; + SpecialLtDebtsTok: Label 'Special LT Debts', MaxLength = 100; + LtSharesLiabilityTok: Label 'LT Shares Liability', MaxLength = 100; + InvestLiabilityTok: Label 'Invest. Liability', MaxLength = 100; + InvestLiabilityGTok: Label 'Invest. Liability, (G)', MaxLength = 100; + InvestLiabilityATok: Label 'Invest. Liability, (A)', MaxLength = 100; + InvestLiabilityOthTok: Label 'Invest. Liability, (Oth.)', MaxLength = 100; + OtherInvestLiabilityTok: Label 'Other Invest. Liability', MaxLength = 100; + PendNonmonetaryInvLiabTok: Label 'Pend. Nonmonetary Inv. Liab.', MaxLength = 100; + PendNonmonetaryInvLiabGTok: Label 'Pend Nonmonetary Inv Liab,(G)', MaxLength = 100; + PendNonmonetaryInvLiabATok: Label 'Pend Nonmonetary Inv Liab,(A)', MaxLength = 100; + PendNonmonInvLiabOthTok: Label 'Pend Nonmon. Inv Liab, (Oth.)', MaxLength = 100; + OtherPendNonmonInvTok: Label 'Other Pend. Nonmon. Inv.', MaxLength = 100; + VincCompaniesLtDebtsTok: Label 'Vinc. Companies LT Debts', MaxLength = 100; + DebtsLtWithVincFinInstTok: Label 'Debts LT with vinc. Fin. Inst.', MaxLength = 100; + DebtsLtToFinInstGTok: Label 'Debts LT to Fin. Inst., (G)', MaxLength = 100; + DebtsLtToFinInstATok: Label 'Debts LT to Fin. Inst., (A)', MaxLength = 100; + DebtsLtToOthVincCredInstTok: Label 'Debts LT to oth vinc Cred Inst', MaxLength = 100; + LtFixedAssetVendorsVincTok: Label 'LT Fixed Asset Vendors, vinc.', MaxLength = 100; + LtFixedAssetVendorsGTok: Label 'LT Fixed Asset Vendors (G)', MaxLength = 100; + LtFixedAssetVendorsATok: Label 'LT Fixed Asset Vendors (A)', MaxLength = 100; + LtFixedAssetVendorsOthTok: Label 'LT Fixed Asset Vendors (Oth.)', MaxLength = 100; + FinLtLeaseCreditorsVincTok: Label 'Fin. LT Lease Creditors, vinc.', MaxLength = 100; + FinLtLeaseCreditorsGTok: Label 'Fin. LT Lease Creditors, (G)', MaxLength = 100; + FinLtLeaseCreditorsATok: Label 'Fin. LT Lease Creditors, (A)', MaxLength = 100; + FinLtLeaseCreditorsOthTok: Label 'Fin. LT Lease Creditors,(Oth.)', MaxLength = 100; + OtherLtDebtsToVincCompTok: Label 'Other LT debts to vinc. Comp.', MaxLength = 100; + OtherLtDebtsGTok: Label 'Other LT debts, (G)', MaxLength = 100; + OtherLtDebtsATok: Label 'Other LT debts, (A)', MaxLength = 100; + OtherLtDebtsOthTok: Label 'Other LT debts, (Oth.)', MaxLength = 100; + LoansAndSimilarBorrowingsTok: Label 'Loans and Similar Borrowings', MaxLength = 100; + LTLoansFromFinInstTok: Label 'L T Loans from Fin. Inst.', MaxLength = 100; + LongTermDebtsTok: Label 'Long-Term Debts', MaxLength = 100; + LongTermDebtsHeadingTok: Label 'Long-Term Debts, Heading', MaxLength = 100; + ConvertibleInGrantsTok: Label 'Convertible in Grants', MaxLength = 100; + LtFixedAssetVendorsTok: Label 'LT Fixed Asset Vendors', MaxLength = 100; + FinLtLeaseCreditorsTok: Label 'Fin. LT Lease Creditors', MaxLength = 100; + TradeCredBillExchPayTok: Label 'Trade Cred.-Bill Exch. Pay.', MaxLength = 100; + LtDerivFinLiabTok: Label 'LT Deriv. Fin. Liab.', MaxLength = 100; + LtDerivFinLiabPortfolioTok: Label 'LT Deriv. Fin. Liab.,Portfolio', MaxLength = 100; + LtDerivFinLiabCoverInstTok: Label 'LT Deriv. Fin. Liab,Cover Inst', MaxLength = 100; + ObligAndDebentLoansTok: Label 'Oblig. and Debent Loans', MaxLength = 100; + ObligAndConvDebentLoansTok: Label 'Oblig. and Conv. Debent Loans', MaxLength = 100; + DebtsOthMarketableSecurTok: Label 'Debts Oth Marketable Secur.', MaxLength = 100; + LtGuaranteesDepRecTok: Label 'LT Guarantees & Dep. Rec.', MaxLength = 100; + LtGuaranteesReceivedTok: Label 'LT Guarantees Received', MaxLength = 100; + LtSalesAndServicesAdvancesTok: Label 'LT Sales and Services Advances', MaxLength = 100; + LtDepositsReceivedTok: Label 'LT Deposits Received', MaxLength = 100; + LtFinancialGuaranteesTok: Label 'LT Financial Guarantees', MaxLength = 100; + TransitionalSituationsTok: Label 'Transitional Situations', MaxLength = 100; + IssuedSharesOrPartStockTok: Label 'Issued Shares or Part. Stock', MaxLength = 100; + SharesSubscriptorsTok: Label 'Shares Subscriptors', MaxLength = 100; + EqCapitalCInCreationTok: Label 'Eq. Capital, C. in Creation', MaxLength = 100; + IssuedSharesOrPartFinLiabTok: Label 'Issued Shares or Part,Fin Liab', MaxLength = 100; + FinLiabSharesSubsTok: Label 'Fin Liab. Shares Subs.', MaxLength = 100; + PendFinLiabSharesOrStTok: Label 'Pend Fin. Liab. Shares or St', MaxLength = 100; + IntangibleAssetsTok: Label 'Intangible Assets', MaxLength = 100; + ResearchCostsHeadingTok: Label 'Research Costs, Heading', MaxLength = 100; + ResearchCostsTok: Label 'Research Costs', MaxLength = 100; + DevCostsHeadingTok: Label 'Dev. Costs, Heading', MaxLength = 100; + DevCostsTok: Label 'Dev. Costs', MaxLength = 100; + FranchisedAssetsTok: Label 'Franchised Assets', MaxLength = 100; + IndustrialPropertyTok: Label 'Industrial Property', MaxLength = 100; + GoodwillTok: Label 'Goodwill', MaxLength = 100; + RightToLeaseTok: Label 'Right to Lease', MaxLength = 100; + EdpApplicationsTok: Label 'EDP Applications', MaxLength = 100; + IntangibleAssetsAdvancesTok: Label 'Intangible Assets Advances', MaxLength = 100; + TangibleAssetsTok: Label 'Tangible Assets', MaxLength = 100; + FreeholdLandTok: Label 'Freehold Land', MaxLength = 100; + LandTok: Label 'Land', MaxLength = 100; + BuildingsTok: Label 'Buildings', MaxLength = 100; + SpecificInstallationsTok: Label 'Specific Installations', MaxLength = 100; + IndustrialMachineryHeadingTok: Label 'Industrial Machinery, Heading', MaxLength = 100; + IndustrialMachineryTok: Label 'Industrial Machinery', MaxLength = 100; + IndustrialToolingTok: Label 'Industrial Tooling', MaxLength = 100; + PlantMachineryEquipmentTok: Label 'Plant, Machinery & Equipment', MaxLength = 100; + FurnitureHeadingTok: Label 'Furniture, Heading', MaxLength = 100; + FurnitureTok: Label 'Furniture', MaxLength = 100; + InfoProcessEquipmentTok: Label 'Info. Process. Equipment', MaxLength = 100; + DataProcessingEquipmentTok: Label 'Data Processing Equipment', MaxLength = 100; + TransportEquipmentTok: Label 'Transport Equipment', MaxLength = 100; + VehicleTok: Label 'Vehicle', MaxLength = 100; + OtherTangibleFixedAssetsHeadingTok: Label 'Other Tangible Fixed Assets, Heading', MaxLength = 100; + OtherTangibleFixedAssetsTok: Label 'Other Tangible Fixed Assets', MaxLength = 100; + PropertiesInvestmTok: Label 'Properties Investm.', MaxLength = 100; + FreeholdLandInvTok: Label 'Freehold Land Inv.', MaxLength = 100; + LandInvTok: Label 'Land Inv.', MaxLength = 100; + BuildingsInvTok: Label 'Buildings Inv.', MaxLength = 100; + FixedAssetsInProgressTok: Label 'Fixed Assets in Progress', MaxLength = 100; + ImprPrepCostsFreehLandTok: Label 'Impr & Prep Costs Freeh. Land', MaxLength = 100; + ConstructionWorkInProgressTok: Label 'Construction Work in Progress', MaxLength = 100; + PlantMachEquipmUndInstTok: Label 'Plant Mach. & Equipm und Inst', MaxLength = 100; + MachineryUnderInstallationTok: Label 'Machinery under Installation', MaxLength = 100; + InfoProcessEquipmUndInstTok: Label 'Info Process. Equipm und Inst', MaxLength = 100; + TangibleAssetsAdvancesTok: Label 'Tangible Assets Advances', MaxLength = 100; + VincCompFinInvestmTok: Label 'Vinc. Comp. Fin. Investm', MaxLength = 100; + LtInvestmInVincComTok: Label 'LT Investm. In Vinc. Com.', MaxLength = 100; + LtInvestmGTok: Label 'LT Investm. (G)', MaxLength = 100; + LtInvestmATok: Label 'LT Investm. (A)', MaxLength = 100; + LtInvestmOthTok: Label 'LT Investm. (Oth.)', MaxLength = 100; + LtDebtValueVincTok: Label 'LT Debt Value, Vinc', MaxLength = 100; + LtDebtValueGTok: Label 'LT Debt Value, (G)', MaxLength = 100; + LtDebtValueATok: Label 'LT Debt Value, (A)', MaxLength = 100; + LtDebtValueOthTok: Label 'LT Debt Value, (Oth.)', MaxLength = 100; + LtCreditsToVincCompTok: Label 'LT Credits to Vinc. Comp.', MaxLength = 100; + LtCreditsToGTok: Label 'LT Credits to (G)', MaxLength = 100; + LtCreditsToATok: Label 'LT Credits to (A)', MaxLength = 100; + LtCreditsToOthTok: Label 'LT Credits to (Oth.)', MaxLength = 100; + AmountsUncalledLtTok: Label 'Amounts Uncalled LT', MaxLength = 100; + AmountsUncalledGTok: Label 'Amounts Uncalled (G)', MaxLength = 100; + AmountsUncalledATok: Label 'Amounts Uncalled (A)', MaxLength = 100; + AmountsUncalledOthTok: Label 'Amounts Uncalled (Oth.)', MaxLength = 100; + OtherFinancialInvestmLtTok: Label 'Other Financial Investm. LT', MaxLength = 100; + LtInvestmInCapitalInstTok: Label 'LT Investm. In Capital Inst', MaxLength = 100; + LtDebtValuesHeadingTok: Label 'LT Debt Values, Heading', MaxLength = 100; + LtDebtValuesTok: Label 'LT Debt Values', MaxLength = 100; + LongTermLoansTok: Label 'Long Term Loans', MaxLength = 100; + FaTransfLoansTok: Label 'FA Transf. Loans', MaxLength = 100; + StaffLtCreditsTok: Label 'Staff LT Credits', MaxLength = 100; + LtDerivFinCapitalTok: Label 'LT Deriv. Fin. Capital', MaxLength = 100; + LtDerivFinCapPortfolioTok: Label 'LT Deriv Fin Cap., Portfolio', MaxLength = 100; + LtDerivFinCapCoverInstTok: Label 'LT Deriv Fin Cap., Cover Inst', MaxLength = 100; + LtPersInsContReimbRightsTok: Label 'LT Pers Ins Cont Reimb Rights', MaxLength = 100; + LongTermTaxationsTok: Label 'Long-Term Taxations', MaxLength = 100; + PendingInvestOnCapitalInstTok: Label 'Pending Invest On Capital Inst', MaxLength = 100; + GuarantDepSecuritiesTok: Label 'Guarant. Dep. & Securities', MaxLength = 100; + GuarantSecuritiesLTTok: Label 'Guarant. Securities (L T)', MaxLength = 100; + GuaranteedSecuritiesTok: Label 'Guaranteed Securities', MaxLength = 100; + GuaranteedDepositsLTTok: Label 'Guaranteed Deposits (L T)', MaxLength = 100; + DeprOfIntangibleFaTok: Label 'Depr. of Intangible FA', MaxLength = 100; + DepResearchCostsTok: Label 'Dep. Research Costs', MaxLength = 100; + DepDevelopmCostsTok: Label 'Dep. Developm. Costs', MaxLength = 100; + DepFranchisedAssetsTok: Label 'Dep. Franchised Assets', MaxLength = 100; + DepIndustrialPropertyTok: Label 'Dep. Industrial Property', MaxLength = 100; + DepRightToLeaseTok: Label 'Dep. Right to Lease', MaxLength = 100; + DepEdpApplicationsTok: Label 'Dep. EDP Applications', MaxLength = 100; + DeprOfTangibleFaTok: Label 'Depr. of Tangible FA', MaxLength = 100; + DepBuildingsTok: Label 'Dep. Buildings', MaxLength = 100; + DepTechnicalInstallationsTok: Label 'Dep. Technical Installations', MaxLength = 100; + DepIndustrialMachineryHeadingTok: Label 'Dep. Industrial Machinery, Heading', MaxLength = 100; + DepIndustrialMachineryTok: Label 'Dep. Industrial Machinery', MaxLength = 100; + DepIndustrialToolingTok: Label 'Dep. Industrial Tooling', MaxLength = 100; + DepPlantMachineryEquipTok: Label 'Dep. Plant, Machinery & Equip.', MaxLength = 100; + DepFurnitureAssetsTok: Label 'Dep. Furniture, Assets', MaxLength = 100; + DepFurnitureTok: Label 'Dep. Furniture', MaxLength = 100; + DepInfoProcessEquipmentTok: Label 'Dep. Info. Process. Equipment', MaxLength = 100; + DepTransportEquipmentHeadingTok: Label 'Dep. Transport Equipment, Heading', MaxLength = 100; + DepTransportEquipmentTok: Label 'Dep. Transport Equipment', MaxLength = 100; + DepOtherTangibleFaHeadingTok: Label 'Dep. Other Tangible FA, Heading', MaxLength = 100; + DepOtherTangibleFaTok: Label 'Dep. Other Tangible FA', MaxLength = 100; + DepPropertiesInvestmHeadingTok: Label 'Dep. Properties Investm., Heading', MaxLength = 100; + DepPropertiesInvestmTok: Label 'Dep. Properties Investm.', MaxLength = 100; + DeteriorForFaTok: Label 'Deterior. for FA', MaxLength = 100; + DeteriorOfIntangFaTok: Label 'Deterior. of Intang. FA', MaxLength = 100; + DetResearchCostsTok: Label 'Det. Research Costs', MaxLength = 100; + DetDevelopmCostsTok: Label 'Det. Developm. Costs', MaxLength = 100; + DetFranchisedAssetsTok: Label 'Det. Franchised Assets', MaxLength = 100; + DetIndustrialPropertyTok: Label 'Det. Industrial Property', MaxLength = 100; + DetRightToLeaseTok: Label 'Det. Right to Lease', MaxLength = 100; + DetEdpApplicationsTok: Label 'Det. EDP Applications', MaxLength = 100; + DeteriorOfTangFaTok: Label 'Deterior. of Tang. FA', MaxLength = 100; + DetFreeholdLandTok: Label 'Det. Freehold Land', MaxLength = 100; + DetBuildingTok: Label 'Det. Building', MaxLength = 100; + DetTechnicalInstallationsTok: Label 'Det. Technical Installations', MaxLength = 100; + DetIndustrialMachineryTok: Label 'Det. Industrial Machinery', MaxLength = 100; + DetIndustrialToolingTok: Label 'Det. Industrial Tooling', MaxLength = 100; + DetPlantMachineryEquipTok: Label 'Det. Plant, Machinery & Equip.', MaxLength = 100; + DepFurnitureHeadingTok: Label 'Dep. Furniture, Heading', MaxLength = 100; + DetInfoProcessEquipmentTok: Label 'Det. Info. Process. Equipment', MaxLength = 100; + DetTransportEquipmentTok: Label 'Det. Transport Equipment', MaxLength = 100; + DetOtherTangFixedAssetsTok: Label 'Det. Other Tang. Fixed Assets', MaxLength = 100; + DetPropertiesInvestmTok: Label 'Det. Properties Investm.', MaxLength = 100; + DetFreeholdLandHeadingTok: Label 'Det. Freehold Land, Heading', MaxLength = 100; + DetBuildingHeadingTok: Label 'Det. Building, Heading', MaxLength = 100; + DetLtSecValueInVincCTok: Label 'Det. LT Sec. Value in Vinc. C.', MaxLength = 100; + DetLtSecValueInGrTok: Label 'Det. LT Sec. Value in Gr.', MaxLength = 100; + DetLtSecValueInAsocTok: Label 'Det. LT Sec. Value in Asoc.', MaxLength = 100; + DetLtDebtSecuritiesVinCTok: Label 'Det. LT Debt Securities Vin C ', MaxLength = 100; + DetLtDebtSecuritiesGTok: Label 'Det. LT Debt Securities, (G)', MaxLength = 100; + DetLtDebtSecuritiesATok: Label 'Det. LT Debt Securities, (A)', MaxLength = 100; + DetLtDebtSecurOVinTok: Label 'Det. LT Debt Secur., (O Vin)', MaxLength = 100; + DetLtCreditsValToVincCTok: Label 'Det. LT Credits val. to Vinc.C', MaxLength = 100; + DetLtCreditsToGrTok: Label 'Det. LT Credits to Gr.', MaxLength = 100; + DetLtCreditsToAsocTok: Label 'Det. LT Credits to Asoc.', MaxLength = 100; + DetLtCreditsToOthVinTok: Label 'Det. LT Credits to Oth.Vin.', MaxLength = 100; + DetLtDebtSecuritiesValueTok: Label 'Det. LT Debt Securities Value', MaxLength = 100; + DetLtCreditsValueTok: Label 'Det. LT Credits value', MaxLength = 100; + TradeGoodsTok: Label 'Trade Goods', MaxLength = 100; + GoodsHeadingTok: Label 'Goods, Heading', MaxLength = 100; + GoodsTok: Label 'Goods', MaxLength = 100; + AssemblyBomTok: Label 'Assembly BOM', MaxLength = 100; + GoodsTradeCredTok: Label 'Goods (Trade Cred.)', MaxLength = 100; + BillOfMaterTradeCredTok: Label 'Bill of Mater. (Trade Cred.)', MaxLength = 100; + RawMaterialsProvTok: Label 'Raw Materials (Prov.)', MaxLength = 100; + SuppliesOtherConsumTok: Label 'Supplies & Other Consum.', MaxLength = 100; + ItemsAssembToIncorpTok: Label 'Items & Assemb. to Incorp.', MaxLength = 100; + FuelsTok: Label 'Fuels', MaxLength = 100; + ReplacementPartsTok: Label 'Replacement Parts', MaxLength = 100; + OtherMaterialsTok: Label 'Other Materials', MaxLength = 100; + PackagingTok: Label 'Packaging', MaxLength = 100; + ContainersTok: Label 'Containers', MaxLength = 100; + ProdInProgrManufGoodsHeadingTok: Label 'Prod. in Progr-Manuf. Goods, Heading', MaxLength = 100; + ProdInProgrManufGoodsTok: Label 'Prod. in Progr-Manuf. Goods', MaxLength = 100; + SalesSpecialistTok: Label 'Sales Specialist', MaxLength = 100; + WipProjectSalesTok: Label 'WIP Project Sales', MaxLength = 100; + WipInvoicedProjectSalesTok: Label 'WIP Invoiced Project Sales', MaxLength = 100; + CostsSpecialistTok: Label 'Costs Specialist', MaxLength = 100; + WipProjectCostsTok: Label 'WIP Project Costs', MaxLength = 100; + WipAccruedProjectCostsTok: Label 'WIP Accrued Project Costs', MaxLength = 100; + JobPostingGroupTok: Label 'Job Posting Group', MaxLength = 100; + WorkInProgressHeadingTok: Label 'Work in Progress, Heading', MaxLength = 100; + WorkInProgressTok: Label 'Work in Progress', MaxLength = 100; + ByProductsOrScrapTok: Label 'By Products or Scrap', MaxLength = 100; + ByProductsTok: Label 'By Products', MaxLength = 100; + WasteProductsTok: Label 'Waste Products', MaxLength = 100; + RejectsOfManufacturingTok: Label 'Rejects of Manufacturing', MaxLength = 100; + DeteriorInventoryValueTok: Label 'Deterior. Inventory Value', MaxLength = 100; + DetGoodsValueTok: Label 'Det. Goods value', MaxLength = 100; + DetRawMatTok: Label 'Det. raw mat.', MaxLength = 100; + DetSuppliesOtherConsumTok: Label 'Det. Supplies & Other Consum.', MaxLength = 100; + DetProdProgrManufGoodsTok: Label 'Det. Prod. Progr-Manuf Goods', MaxLength = 100; + DetForWorkInProgressTok: Label 'Det. for Work in Progress', MaxLength = 100; + DetForFinishedGoodsTok: Label 'Det. for Finished Goods', MaxLength = 100; + DetForByProdOrScrapTok: Label 'Det. for By Prod. or Scrap', MaxLength = 100; + CreditorsAndDebtorsTok: Label 'CREDITORS AND DEBTORS', MaxLength = 100; + TradeCreditorsHeadingTok: Label 'Trade Creditors, Heading', MaxLength = 100; + TradeCreditorsTok: Label 'Trade Creditors', MaxLength = 100; + STTradeCredEuroTok: Label 'S T Trade Cred. (Euro)', MaxLength = 100; + NationalTradeCreditorsTok: Label 'National Trade Creditors', MaxLength = 100; + InternatTradeCreditorsTok: Label 'Internat. Trade Creditors', MaxLength = 100; + InvUnderPaymentOrderTok: Label 'Inv. under Payment Order', MaxLength = 100; + ForCurrTradeCreditorsTok: Label 'For. Curr. Trade Creditors ', MaxLength = 100; + EuTradeCreditorsTok: Label 'EU Trade Creditors ', MaxLength = 100; + TradeCredInvNotRecTok: Label 'Trade Cred. Inv. Not Rec.', MaxLength = 100; + TradeCredBillOfExchPayTok: Label 'Trade Cred. Bill of Exch. Pay.', MaxLength = 100; + TradeCrBillExPayTok: Label 'Trade Cr. Bill Ex. Pay.', MaxLength = 100; + BillExPayNationalTok: Label 'Bill Ex. Pay. National', MaxLength = 100; + BillExInPaymtOrderTok: Label 'Bill Ex. In Paymt. Order', MaxLength = 100; + TradeCreditorsGTok: Label 'Trade Creditors, (G)', MaxLength = 100; + TradeCreditorsGEuroHeadingTok: Label 'Trade Creditors (G) Euro, Heading', MaxLength = 100; + TradeCreditorsGEuroTok: Label 'Trade Creditors (G) Euro', MaxLength = 100; + ProvForBillExchPayGTok: Label 'Prov. for Bill Exch. Pay. (G)', MaxLength = 100; + TradeCreditorsGForCurrTok: Label 'Trade Creditors, (G) For. Curr', MaxLength = 100; + TradeCrReturnEmptiesGTok: Label 'Trade Cr. Return. Empties (G)', MaxLength = 100; + TradeCredInvNotRecGTok: Label 'Trade Cred. Inv. Not Rec. (G)', MaxLength = 100; + TradeCredAsocTok: Label 'Trade Cred. Asoc', MaxLength = 100; + TradeCredOthVinCTok: Label 'Trade Cred. Oth. Vin. C.', MaxLength = 100; + TradeCrReturnEmptiesTok: Label 'Trade Cr. Return. Empties', MaxLength = 100; + TradeCredAdvancesHeadingTok: Label 'Trade Cred. Advances, Heading', MaxLength = 100; + TradeCredAdvancesTok: Label 'Trade Cred. Advances', MaxLength = 100; + TradeCredAdvancesNationalTok: Label 'Trade Cred. Advances National', MaxLength = 100; + TradeCredAdvancesEuTok: Label 'Trade Cred. Advances EU', MaxLength = 100; + TradeCredAdvancesExportTok: Label 'Trade Cred. Advances Export', MaxLength = 100; + OtherCreditorsHeadingTok: Label 'Other Creditors, Heading', MaxLength = 100; + CreditorsProvOfServicesTok: Label 'Creditors Prov. of Services', MaxLength = 100; + STCreditorsEuroTok: Label 'S T Creditors (Euro)', MaxLength = 100; + OtherCreditorsTok: Label 'Other Creditors', MaxLength = 100; + CreditorsProvServForCurrTok: Label 'Creditors Prov Serv (For Curr)', MaxLength = 100; + CreditorsInvNotRecTok: Label 'Creditors Inv. Not Rec.', MaxLength = 100; + CreditorsBillExPayHeadingTok: Label 'Creditors Bill Ex. Pay., Heading', MaxLength = 100; + CreditorsBillExPayTok: Label 'Creditors Bill Ex. Pay.', MaxLength = 100; + CreditorsComOperationsHeadingTok: Label 'Creditors Com. Operations, Heading', MaxLength = 100; + CreditorsComOperationsTok: Label 'Creditors Com. Operations', MaxLength = 100; + TradeAccReceivHeadingTok: Label 'Trade Acc. Receiv., Heading', MaxLength = 100; + TradeAccReceivTok: Label 'Trade Acc. Receiv.', MaxLength = 100; + TradeAccReceivEuroTok: Label 'Trade Acc. Receiv. (Euro)', MaxLength = 100; + NationalCustomersTok: Label 'National Customers', MaxLength = 100; + InternationalCustomersTok: Label 'International Customers', MaxLength = 100; + InvoicesToBePaidTok: Label 'Invoices to be paid', MaxLength = 100; + DiscountedInvoicesAccountTok: Label 'Discounted Invoices Account', MaxLength = 100; + RejectedInvoicesAccountTok: Label 'Rejected Invoices Account', MaxLength = 100; + TradeAccReceivForCurrTok: Label 'Trade Acc. Receiv. (For. Curr)', MaxLength = 100; + TradeAccRecInvNotRecTok: Label 'Trade Acc. Rec. Inv. Not Rec.', MaxLength = 100; + TradeAccRecBillsCollTok: Label 'Trade Acc. Rec. Bills Coll.', MaxLength = 100; + PendingReceivablesBillsHeadingTok: Label 'Pending Receivables Bills, Heading', MaxLength = 100; + PendingReceivablesBillsTok: Label 'Pending Receivables Bills', MaxLength = 100; + DiscountedBillsHeadingTok: Label 'Discounted Bills, Heading', MaxLength = 100; + DiscountedBillsTok: Label 'Discounted Bills', MaxLength = 100; + BillsOnCollectionManagHeadingTok: Label 'Bills on Collection Manag., Heading', MaxLength = 100; + BillsOnCollectionManagTok: Label 'Bills on Collection Manag.', MaxLength = 100; + UnpaidBillsOfExchangeHeadingTok: Label 'Unpaid Bills of Exchange, Heading', MaxLength = 100; + UnpaidBillsOfExchangeTok: Label 'Unpaid Bills of Exchange', MaxLength = 100; + TradeAccFactoringOpTok: Label 'Trade Acc, Factoring op.', MaxLength = 100; + TradeAccRecAccGTok: Label 'Trade Acc. Rec. Acc. (G)', MaxLength = 100; + GroupTrAccRecEuroHeadingTok: Label 'Group Tr. Acc. Rec. (Euro), Heading', MaxLength = 100; + GroupTrAccRecEuroTok: Label 'Group Tr. Acc. Rec. (Euro)', MaxLength = 100; + BillsOfExchRecGTok: Label 'Bills of Exch. Rec. (G)', MaxLength = 100; + TrAccFactoringOpGTok: Label 'Tr. Acc. Factoring Op (G)', MaxLength = 100; + ForCurrTrAccRecGTok: Label 'For. Curr. Tr. Acc. Rec. (G)', MaxLength = 100; + TrAccRecRetEmptGTok: Label 'Tr. Acc. Rec. Ret. Empt. (G)', MaxLength = 100; + GroupTrAccRecRetEmptTok: Label 'Group Tr. Acc. Rec. Ret. Empt.', MaxLength = 100; + TrAccRecInvNotRecGTok: Label 'Tr. Acc Rec Inv Not Rec (G)', MaxLength = 100; + TradeAcsRecAccATok: Label 'Trade Acs. Rec. Acc. (A)', MaxLength = 100; + TrAccRecOtherVincCompTok: Label 'Tr. Acc Rec. Other Vinc. Comp.', MaxLength = 100; + BadDoubtfulDebtsTok: Label 'Bad & Doubtful Debts', MaxLength = 100; + TrAccRecRetEmptTok: Label 'Tr. Acc. Rec. Ret. Empt.', MaxLength = 100; + TradeDebtorsCreditBalancesTok: Label 'Trade Debtors-Credit Balances', MaxLength = 100; + StTrDebtAdvancesNationalTok: Label 'ST Tr. Debt Advances National', MaxLength = 100; + StTrDebtAdvancesEuTok: Label 'ST Tr. Debt Advances EU', MaxLength = 100; + StTrDebtAdvancesExportTok: Label 'ST Tr. Debt Advances Export', MaxLength = 100; + OtherDebtorsTok: Label 'Other Debtors', MaxLength = 100; + DebtorsHeadingTok: Label 'Debtors, Heading', MaxLength = 100; + DebtorsEuroTok: Label 'Debtors (Euro)', MaxLength = 100; + DebtorsTok: Label 'Debtors', MaxLength = 100; + DebtorsForeignCurrTok: Label 'Debtors (Foreign Curr.)', MaxLength = 100; + DebtorsInvNotRecTok: Label 'Debtors Inv. Not Rec.', MaxLength = 100; + DebtorsBillsOfCollectionTok: Label 'Debtors Bills of Collection', MaxLength = 100; + DebtorsReceivablesPendBillsTok: Label 'Debtors Receivables Pend Bills', MaxLength = 100; + DebtorsDiscountedBillsTok: Label 'Debtors Discounted Bills', MaxLength = 100; + DebtBillsOnCollManagTok: Label 'Debt. Bills on Coll. Manag.', MaxLength = 100; + DebtorsUnpaidBillsTok: Label 'Debtors Unpaid Bills', MaxLength = 100; + BadDoubtfulDebtTok: Label 'Bad & Doubtful Debt.', MaxLength = 100; + DebtorsJointVenturesTok: Label 'Debtors Joint Ventures', MaxLength = 100; + EmployeesTok: Label 'Employees', MaxLength = 100; + RemunerationAdvancesHeadingTok: Label 'Remuneration Advances, Heading', MaxLength = 100; + RemunerationAdvancesTok: Label 'Remuneration Advances', MaxLength = 100; + PendingRemunerationsTok: Label 'Pending Remunerations', MaxLength = 100; + PendingFixContribSistRemTok: Label 'Pending Fix Contrib Sist. Rem.', MaxLength = 100; + GeneralGovernmentTok: Label 'General Government', MaxLength = 100; + GovernmentReceivableTok: Label 'Government Receivable', MaxLength = 100; + GovernmentVatReceivHeadingTok: Label 'Government-VAT Receiv., Heading', MaxLength = 100; + GovernmentVatReceivTok: Label 'Government-VAT Receiv.', MaxLength = 100; + GovernmentSubvReceivTok: Label 'Government-Subv. Receiv.', MaxLength = 100; + GovernmentTaxReturnReceivTok: Label 'Government-Tax Return Receiv.', MaxLength = 100; + SocialSecurityTok: Label 'Social Security', MaxLength = 100; + SocialSecurityReceivableTok: Label 'Social Security Receivable', MaxLength = 100; + ValueAddedTaxDeductTok: Label 'Value Added Tax Deduct.', MaxLength = 100; + GovVatDeductibleTok: Label 'Gov. VAT Deductible', MaxLength = 100; + GovDeducPaymOnAccHeadingTok: Label 'Gov. Deduc. & Paym. on Acc., Heading', MaxLength = 100; + GovDeducPaymOnAccTok: Label 'Gov. Deduc. & Paym. on Acc.', MaxLength = 100; + DeferredTaxAssetsTok: Label 'Deferred Tax Assets', MaxLength = 100; + DeducTemporaryDifferencesTok: Label 'Deduc. Temporary Differences', MaxLength = 100; + DeferredDeductDiscountsTok: Label 'Deferred Deduct. & Discounts', MaxLength = 100; + CreditForLossesToCompTok: Label 'Credit for Losses to comp.', MaxLength = 100; + GovernmentCreditorTok: Label 'Government Creditor', MaxLength = 100; + GovernmentCreditorVatHeadingTok: Label 'Government Creditor/ VAT, Heading', MaxLength = 100; + GovernmentCreditorVatTok: Label 'Government Creditor/ VAT', MaxLength = 100; + GovernmentCreditorIrpfHeadingTok: Label 'Government Creditor/ IRPF, Heading', MaxLength = 100; + GovernmentCreditorIrpfTok: Label 'Government Creditor/ IRPF', MaxLength = 100; + GovCredCorpIncTaxHeadingTok: Label 'Gov. Cred./ Corp. Inc. Tax, Heading', MaxLength = 100; + GovCredCorpIncTaxTok: Label 'Gov. Cred./ Corp. Inc. Tax', MaxLength = 100; + GovCreditorSubvHeadingTok: Label 'Gov. Creditor Subv., Heading', MaxLength = 100; + GovCreditorSubvTok: Label 'Gov. Creditor Subv.', MaxLength = 100; + SocialSecurityCreditorHeadingTok: Label 'Social Security Creditor, Heading', MaxLength = 100; + SocialSecurityCreditorTok: Label 'Social Security Creditor', MaxLength = 100; + ValueAddTaxCollByCompTok: Label 'Value Add. Tax Coll. by Comp.', MaxLength = 100; + VatCollByTheCompTok: Label 'VAT Coll. by the Comp.', MaxLength = 100; + VatEuReversionTok: Label 'VAT EU Reversion', MaxLength = 100; + DeferredProfitTaxTok: Label 'Deferred Profit Tax', MaxLength = 100; + ChargSprOverSevPeriodsTok: Label 'Charg. Spr. over Sev. Periods', MaxLength = 100; + PrepaymentsTok: Label 'Prepayments', MaxLength = 100; + UnearnedIncomeTok: Label 'Unearned Income', MaxLength = 100; + DetCreditValAndStVendTok: Label 'Det. Credit Val. and ST Vend.', MaxLength = 100; + DetCreditValTradeOperTok: Label 'Det. Credit Val. Trade Oper.', MaxLength = 100; + DetCreditValTradeOVinTok: Label 'Det. Credit Val. Trade O. Vin.', MaxLength = 100; + DetCreditValTradeOGTok: Label 'Det. Credit Val. Trade. O.(G)', MaxLength = 100; + DetCreditValTradeOATok: Label 'Det. Credit Val. Trade. O.(A)', MaxLength = 100; + DetCreditValTradeOOvTok: Label 'Det. Credit Val. Trade. O.(OV)', MaxLength = 100; + ProvForTradeTransactLiabilitiesTok: Label 'Prov. for Trade transact., Liabilities', MaxLength = 100; + ProvForBurdensomeContractsTok: Label 'Prov. for burdensome contracts', MaxLength = 100; + ProvForOtherTradeTransactTok: Label 'Prov. For other Trade transact', MaxLength = 100; + FinancialAccountsTok: Label 'FINANCIAL ACCOUNTS', MaxLength = 100; + ShortTermInvestmentsTok: Label 'Short Term Investments', MaxLength = 100; + ShortTermDebentLoansTok: Label 'Short-Term Debent. Loans', MaxLength = 100; + TreasureBillsTok: Label 'Treasure Bills', MaxLength = 100; + ConvertibleDebentLoansTok: Label 'Convertible Debent. Loans', MaxLength = 100; + StSharesLiabilityTok: Label 'ST Shares Liability', MaxLength = 100; + DebtsAsMarketableSecTok: Label 'Debts as Marketable Sec.', MaxLength = 100; + BorrowingsInterestsTok: Label 'Borrowings Interests', MaxLength = 100; + DividendsLiabilityTok: Label 'Dividends Liability', MaxLength = 100; + DeprMarketableSecTok: Label 'Depr. Marketable. Sec.', MaxLength = 100; + DeprOblAndDebLoansTok: Label 'Depr. Obl. and Deb. Loans', MaxLength = 100; + DeprConverOblAndDebLTok: Label 'Depr. Conver. Obl. and Deb.L.', MaxLength = 100; + DeprOtherMarketableSecTok: Label 'Depr. Other Marketable. Sec.', MaxLength = 100; + ShortTermDebtsWithVincTok: Label 'Short Term Debts with Vinc.', MaxLength = 100; + StDebtsVincFinInstTok: Label 'ST Debts Vinc. Fin. Inst.', MaxLength = 100; + LoansFromFinInstitGTok: Label 'Loans from Fin. Instit. (G)', MaxLength = 100; + LoansFromFinInstitATok: Label 'Loans from Fin. Instit. (A)', MaxLength = 100; + LoansFromFinInstitOthTok: Label 'Loans from Fin. Instit. (Oth.)', MaxLength = 100; + FixedAssetCredVincCTok: Label 'Fixed Asset Cred. Vinc C.', MaxLength = 100; + FixedAssetCredGTok: Label 'Fixed Asset Cred. (G)', MaxLength = 100; + FixedAssetCreditorsATok: Label 'Fixed Asset Creditors (A)', MaxLength = 100; + FixedAssetsCredOthTok: Label 'Fixed Assets Cred. (Oth.)', MaxLength = 100; + StFinLeaseCredVincCTok: Label 'ST Fin Lease Cred. Vinc. C.', MaxLength = 100; + StFinLeaseCredGTok: Label 'ST Fin Lease Cred., (G)', MaxLength = 100; + StFinLeaseCredATok: Label 'ST Fin Lease Cred., (A)', MaxLength = 100; + StFinLeaseCredOthTok: Label 'ST Fin Lease Cred., (Oth.)', MaxLength = 100; + OtherStDebtsVincCTok: Label 'Other ST Debts Vinc. C.', MaxLength = 100; + ShortTermDebtsGTok: Label 'Short Term Debts (G)', MaxLength = 100; + ShortTermDebtsATok: Label 'Short Term Debts (A)', MaxLength = 100; + ShortTermDebtsOthTok: Label 'Short Term Debts (Oth.)', MaxLength = 100; + StDebtInterestsVincCTok: Label 'ST Debt Interests Vinc. C.', MaxLength = 100; + DebtInterestsGTok: Label 'Debt Interests (G)', MaxLength = 100; + DebtInterestsATok: Label 'Debt Interests (A)', MaxLength = 100; + DebtInterestsOthTok: Label 'Debt Interests (Oth.)', MaxLength = 100; + StLoansDebtTok: Label 'ST Loans Debt', MaxLength = 100; + StLoansFromFinInstitutHeadingTok: Label 'ST Loans from Fin. Institut., Heading', MaxLength = 100; + StLoansFromFinInstitutTok: Label 'ST Loans from Fin. Institut.', MaxLength = 100; + ShortTermLoansPostingTok: Label 'Short-Term Loans, Posting', MaxLength = 100; + StDebtsForCreditsTok: Label 'ST Debts for Credits', MaxLength = 100; + DebtOnDiscountedBillsHeadingTok: Label 'Debt on Discounted Bills, Heading', MaxLength = 100; + DebtOnDiscountedBillsTok: Label 'Debt on Discounted Bills', MaxLength = 100; + DiscInvoiceDebtAccTok: Label 'Disc. Invoice Debt Acc.', MaxLength = 100; + FactoringOpDebtAccTok: Label 'Factoring Op. Debt Acc.', MaxLength = 100; + ShortTermLoansTok: Label 'Short-Term Loans', MaxLength = 100; + DebtInSubvAndLegTok: Label 'Debt in Subv. And Leg.', MaxLength = 100; + StFixedAssetCreditorsTok: Label 'ST Fixed Asset Creditors ', MaxLength = 100; + StFinLeaseCreditorsTok: Label 'ST Fin. Lease Creditors', MaxLength = 100; + StBillOfExchPayTok: Label 'ST Bill of Exch. Pay.', MaxLength = 100; + ActiveDividendToPayTok: Label 'Active Dividend to Pay', MaxLength = 100; + ShortTermDebtIntCredInstTok: Label 'Short Term Debt Int. Cred.Inst', MaxLength = 100; + ShortTermDebtInterestTok: Label 'Short Term Debt Interest', MaxLength = 100; + ShortTermProvisionsTok: Label 'Short Term Provisions', MaxLength = 100; + ProvisionForPensionsHeadingTok: Label 'Provision for Pensions, Heading', MaxLength = 100; + TaxationReserveHeadingTok: Label 'Taxation Reserve, Heading', MaxLength = 100; + ProvisionForResponsibilitiesHeadingTok: Label 'Provision for Responsibilities, Heading', MaxLength = 100; + ProvisionForFaDismantleTok: Label 'Provision for FA dismantle', MaxLength = 100; + ProvForEnvironmentalActHeadingTok: Label 'Prov. for environmental act., Heading', MaxLength = 100; + ProvForRestructuringTok: Label 'Prov. for restructuring', MaxLength = 100; + ProvForPaymLiabInstTok: Label 'Prov. for paym. Liab. Inst', MaxLength = 100; + GroupAssocFinInvestmTok: Label 'Group/Assoc. Fin. Investm.', MaxLength = 100; + StTradeInvestmVincTok: Label 'ST Trade Investm. Vinc.', MaxLength = 100; + StTradeInvestmGTok: Label 'ST Trade Investm. (G)', MaxLength = 100; + StTradeInvestmATok: Label 'ST Trade Investm. (A)', MaxLength = 100; + StTradeInvestmOthTok: Label 'ST Trade Investm. (Oth.)', MaxLength = 100; + StFixedIncomeSecVincTok: Label 'ST Fixed-Income Sec. Vinc.', MaxLength = 100; + StFixedIncomeSecGTok: Label 'ST Fixed-Income Sec. (G)', MaxLength = 100; + StFixedIncomeSecATok: Label 'ST Fixed-Income Sec. (A)', MaxLength = 100; + StFixedIncomeSecOthTok: Label 'ST Fixed-Income Sec. (Oth.)', MaxLength = 100; + StLoansToVincCompTok: Label 'ST Loans to Vinc. Comp.', MaxLength = 100; + StLoansToGroupCTok: Label 'ST Loans to Group C.', MaxLength = 100; + StLoansToACompTok: Label 'ST Loans to A Comp.', MaxLength = 100; + StLoansToOtherVincCTok: Label 'ST Loans to Other Vinc. C.', MaxLength = 100; + FinInvestmInterestVincTok: Label 'Fin. Investm. Interest Vinc.', MaxLength = 100; + FinInvestmInterestGTok: Label 'Fin. Investm. Interest (G)', MaxLength = 100; + FinInvestmInterestsATok: Label 'Fin. Investm. Interests (A)', MaxLength = 100; + FinInvestmInterestsOthTok: Label 'Fin. Investm. Interests (Oth.)', MaxLength = 100; + StInterestCreditsToVincTok: Label 'ST Interest Credits to Vinc.', MaxLength = 100; + StInterestCreditsGTok: Label 'ST Interest Credits (G)', MaxLength = 100; + StInterestCreditsATok: Label 'ST Interest Credits (A)', MaxLength = 100; + StInterestCreditsOthTok: Label 'ST Interest Credits (Oth.)', MaxLength = 100; + DividReceivFinInvInVincTok: Label 'Divid Receiv. Fin Inv. In Vinc', MaxLength = 100; + DividReceivFinInvGTok: Label 'Divid Receiv. Fin Inv. (G)', MaxLength = 100; + DividReceivFinInvATok: Label 'Divid Receiv. Fin Inv. (A)', MaxLength = 100; + DividReceivFinInvOthTok: Label 'Divid Receiv. Fin Inv. (Oth.)', MaxLength = 100; + StDemandExpendEqVincTok: Label 'ST Demand. Expend. Eq., Vinc', MaxLength = 100; + StDemandExpendEqGTok: Label 'ST Demand. Expend. Eq., (G)', MaxLength = 100; + StDemandExpendEqATok: Label 'ST Demand. Expend. Eq., (A)', MaxLength = 100; + StDemandExpendEqOthTok: Label 'ST Demand. Expend. Eq., (Oth.)', MaxLength = 100; + InterimFinancialInvestmTok: Label 'Interim Financial Investm.', MaxLength = 100; + InvestmentsInCapitalInstTok: Label 'Investments in Capital Inst', MaxLength = 100; + StFixedIncomeSecurityTok: Label 'ST Fixed-Income Security', MaxLength = 100; + StFixedIncomeInvestmTok: Label 'ST Fixed-Income Investm.', MaxLength = 100; + ShortTermLoansHeadingTok: Label 'Short-Term Loans, Heading', MaxLength = 100; + StFaTransferenceLoansTok: Label 'ST FA Transference Loans', MaxLength = 100; + StaffStCreditsTok: Label 'Staff ST Credits', MaxLength = 100; + DividendsReceivableTok: Label 'Dividends Receivable', MaxLength = 100; + SecuritiesStInterestsTok: Label 'Securities ST Interests', MaxLength = 100; + StCreditsInterestsTok: Label 'ST Credits Interests', MaxLength = 100; + ShortTermTaxationsTok: Label 'Short-Term Taxations', MaxLength = 100; + StAmtsUncalledOnSharesTok: Label 'ST Amts Uncalled on Shares', MaxLength = 100; + OtherNonBankAccountsTok: Label 'Other non Bank Accounts', MaxLength = 100; + ProprietorsAccountTok: Label 'Proprietors Account', MaxLength = 100; + PartnAdministrCheckingAccTok: Label 'Partn-Administr. Checking Acc.', MaxLength = 100; + OthersCheckingAccTok: Label 'Others Checking Acc.', MaxLength = 100; + GroupVincCheckingAccTok: Label 'Group Vinc. Checking Acc.', MaxLength = 100; + AsocVincCheckingAccTok: Label 'Asoc Vinc. Checking Acc.', MaxLength = 100; + OthersVincCheckingAccTok: Label 'Others Vinc. Checking Acc.', MaxLength = 100; + MergeAndSplitCheckAccTok: Label 'Merge and Split Check. Acc.', MaxLength = 100; + PartnersDissolvedSocietyTok: Label 'Partners, dissolved society', MaxLength = 100; + PartnersMergeAccTok: Label 'Partners, merge acc.', MaxLength = 100; + PartnersSplitSocietyTok: Label 'Partners, split society', MaxLength = 100; + PartnersSplitAccTok: Label 'Partners, split acc.', MaxLength = 100; + TemporaryJoinsChecAccTok: Label 'Temporary Joins Chec. Acc.', MaxLength = 100; + UnappliedItemsTok: Label 'Unapplied Items', MaxLength = 100; + DemandExpendOnEquityTok: Label 'Demand. Expend. On Equity', MaxLength = 100; + DemandExpendEqGroupTok: Label 'Demand. Expend. Eq., Group', MaxLength = 100; + DemandExpendEqAsocTok: Label 'Demand. Expend. Eq., Asoc', MaxLength = 100; + DemandExpendEqOtVinTok: Label 'Demand. Expend. Eq., Ot Vin', MaxLength = 100; + DemandExpendEqOthersTok: Label 'Demand. Expend. Eq., Others', MaxLength = 100; + InterimActiveDividendsTok: Label 'Interim Active Dividends', MaxLength = 100; + SharehPaymentCallableTok: Label 'Shareh. Payment Callable', MaxLength = 100; + SharehPayCallSharesOrGTok: Label 'Shareh. Pay. Call. Shares or G', MaxLength = 100; + SharehPayCallFinLiabTok: Label 'Shareh. Pay. Call. Fin Liab', MaxLength = 100; + DerivativeInstrumentStTok: Label 'Derivative Instrument ST', MaxLength = 100; + StFinDerivAssetsPortfolioTok: Label 'ST Fin Deriv Assets, portfolio', MaxLength = 100; + AssetsDerivInstStCovInsTok: Label 'Assets Deriv. Inst ST,cov ins', MaxLength = 100; + LiabDerivInstStPortfolioTok: Label 'Liab. Deriv Inst ST, portfolio', MaxLength = 100; + LiabDerivInstStCovInsTok: Label 'Liab. Deriv Inst ST, cov ins', MaxLength = 100; + SecDepositsReceivGuarantTok: Label 'Sec-Deposits (Receiv-Guarant)', MaxLength = 100; + ShortTermGuaranteesReceivTok: Label 'Short Term Guarantees Receiv.', MaxLength = 100; + ShortTermDepositsReceivTok: Label 'Short Term Deposits Receiv.', MaxLength = 100; + ShortTermGuaranteedSecTok: Label 'Short Term Guaranteed Sec.', MaxLength = 100; + ShortTermGuarantDepositsTok: Label 'Short Term Guarant. Deposits', MaxLength = 100; + InterestPaidInAdvanceTok: Label 'Interest paid in advance', MaxLength = 100; + InterestReceivedInAdvanceTok: Label 'Interest received in advance', MaxLength = 100; + FinancialGuaranteesStTok: Label 'Financial guarantees ST', MaxLength = 100; + CashFlowTok: Label 'Cash Flow', MaxLength = 100; + CashEuroHeadingTok: Label 'Cash - Euro, Heading', MaxLength = 100; + CashEuroTok: Label 'Cash - Euro', MaxLength = 100; + CashForeignCurrencyTok: Label 'Cash - Foreign Currency', MaxLength = 100; + BanksAccountAtSightEuroTok: Label 'Banks Account at Sight Euro', MaxLength = 100; + BanksEuroTok: Label 'Banks Euro', MaxLength = 100; + BanksAccAtSightFCurrTok: Label 'Banks Acc. at Sight F. Curr.', MaxLength = 100; + BanksForeignCurrencyTok: Label 'Banks Foreign Currency', MaxLength = 100; + BanksSavingAccEuroTok: Label 'Banks Saving Acc. Euro', MaxLength = 100; + SavingAccountTok: Label 'Saving Account', MaxLength = 100; + BanksSavingAccForCurrTok: Label 'Banks Saving Acc. For. Curr.', MaxLength = 100; + HighLiqStInvestmTok: Label 'High Liq ST Investm.', MaxLength = 100; + NonCurrentAssetsForSaleTok: Label 'Non Current Assets for Sale', MaxLength = 100; + InvestmWithVincCompTok: Label 'Investm. with Vinc. Comp.', MaxLength = 100; + FinancialInvestmentsTok: Label 'Financial Investments', MaxLength = 100; + InventoryTradeDebtorsTok: Label 'Inventory, trade debtors', MaxLength = 100; + OtherAssetsTok: Label 'Other assets', MaxLength = 100; + ProvisionsTok: Label 'Provisions', MaxLength = 100; + SpecialCharactDebtsTok: Label 'Special Charact. Debts', MaxLength = 100; + DebtsWithVincCompTok: Label 'Debts with Vinc. Comp.', MaxLength = 100; + TradeCreditorsAndOthPayTok: Label 'Trade Creditors and Oth. Pay.', MaxLength = 100; + DetValueFinancialProductsTok: Label 'Det. Value Financial Products', MaxLength = 100; + DetValueStPartVincTok: Label 'Det. Value ST part. Vinc.', MaxLength = 100; + DetValueStPartGTok: Label 'Det. Value ST part. (G)', MaxLength = 100; + DetValueStPartATok: Label 'Det. Value ST part. (A)', MaxLength = 100; + DetValueStSecVincCTok: Label 'Det. Value ST Sec, Vinc.C', MaxLength = 100; + DetValueStSecGTok: Label 'Det. Value ST Sec, (G)', MaxLength = 100; + DetValueStSecATok: Label 'Det. Value ST Sec, (A)', MaxLength = 100; + DetValueStSecOVinTok: Label 'Det. Value ST Sec, (O Vin)', MaxLength = 100; + DetValueStCreditsToVincTok: Label 'Det. Value ST Credits to Vinc.', MaxLength = 100; + DetValueStCreditsToGTok: Label 'Det. Value ST Credits to G.', MaxLength = 100; + DetValueStCreditsToAsTok: Label 'Det. Value ST Credits to As.', MaxLength = 100; + DetValueStCreditsToOtVTok: Label 'Det. Value ST Credits to Ot.V.', MaxLength = 100; + DetValueStSecuritiesTok: Label 'Det. Value ST Securities', MaxLength = 100; + DetValueStCreditsTok: Label 'Det. Value ST Credits', MaxLength = 100; + DetValNoncurrAForSaleTok: Label 'Det Val Noncurr. A For Sale', MaxLength = 100; + DetValFixNoncAForSaleTok: Label 'Det Val Fix Nonc A For Sale', MaxLength = 100; + DetValRelatedInvesForSaleTok: Label 'Det Val Related Inves For Sale', MaxLength = 100; + DetValFinInvestForSaleTok: Label 'Det. Val. Fin. Invest For Sale', MaxLength = 100; + DetValStocksDebtsAndOthTok: Label 'Det. Val Stocks, Debts and Oth', MaxLength = 100; + DetValOtherAForSaleTok: Label 'Det. Val. Other A For Sale', MaxLength = 100; + CostAndExpenseAccountsTok: Label 'COST AND EXPENSE ACCOUNTS', MaxLength = 100; + PurchasesTok: Label 'Purchases', MaxLength = 100; + PurchasesOfGoodsForResaleTok: Label 'Purchases of Goods for Resale', MaxLength = 100; + NationalPurchasesTok: Label 'National Purchases', MaxLength = 100; + EuPurchasesTok: Label 'EU Purchases', MaxLength = 100; + IntNonEuPurchTok: Label 'Int. (Non-EU) Purch.', MaxLength = 100; + PurchForRawMaterialsTok: Label 'Purch. for Raw Materials', MaxLength = 100; + PurchForNatRawMatTok: Label 'Purch. for Nat. Raw Mat.', MaxLength = 100; + PurchForEuRawMatTok: Label 'Purch. for EU Raw Mat.', MaxLength = 100; + PurchIntNonEuRawMatTok: Label 'Purch. Int. (Non-EU) Raw Mat.', MaxLength = 100; + PurchasesForConsumablesTok: Label 'Purchases for Consumables', MaxLength = 100; + DiscAllowedOnPurchTok: Label 'Disc. Allowed on Purch.', MaxLength = 100; + DiscAllowOnPurchFinGoodsTok: Label 'Disc Allow. on Purch,Fin Goods', MaxLength = 100; + DiscAllowOnPurFinGoodNTok: Label 'Disc Allow on Pur,Fin Good (N)', MaxLength = 100; + DiscAllowOnPurFinGoodEuTok: Label 'Disc Allow on Pur,Fin Good(EU)', MaxLength = 100; + DiscAllowOnPurFinGoodITok: Label 'Disc Allow on Pur,Fin Good (I)', MaxLength = 100; + DiscAllowOnPurchRawMatTok: Label 'Disc Allow. on Purch, Raw Mat', MaxLength = 100; + DiscAllowOnPurcRawMatNTok: Label 'Disc Allow on Purc,Raw Mat (N)', MaxLength = 100; + DiscAllowOnPurcRawMatEuTok: Label 'Disc Allow on Purc,Raw Mat(EU)', MaxLength = 100; + DiscAllowOnPurcRawMatITok: Label 'Disc Allow on Purc,Raw Mat (I)', MaxLength = 100; + DiscAllowOnPurchOthersTok: Label 'Disc Allow. on Purch, Others', MaxLength = 100; + DiscAllowOnPurcOthersNTok: Label 'Disc Allow on Purc,Others (N)', MaxLength = 100; + DiscAllowOnPurcOthersEuTok: Label 'Disc Allow on Purc,Others(EU)', MaxLength = 100; + DiscAllowOnPurcOthersITok: Label 'Disc Allow on Purc,Others (I)', MaxLength = 100; + WorkDoneByOtherCompTok: Label 'Work Done by Other Comp.', MaxLength = 100; + PurchaseReturnsTok: Label 'Purchase Returns', MaxLength = 100; + GoodsPurchasedReturnsTok: Label 'Goods Purchased Returns', MaxLength = 100; + NationalReturnsTok: Label 'National Returns', MaxLength = 100; + EuReturnsTok: Label 'EU Returns', MaxLength = 100; + InternationalNonEuRetTok: Label 'International (Non-EU) Ret.', MaxLength = 100; + MiscellaneousReturnsTok: Label 'Miscellaneous Returns', MaxLength = 100; + RawMatPurchasedReturnsTok: Label 'Raw Mat. Purchased Returns', MaxLength = 100; + ConsumPurchasedReturnsTok: Label 'Consum. Purchased Returns', MaxLength = 100; + PurchasesReturnAllowTok: Label 'Purchases Return & Allow.', MaxLength = 100; + GoodsPurchReturnAllowTok: Label 'Goods Purch. Return & Allow.', MaxLength = 100; + ReturnAndAllowOnGoodsTok: Label 'Return and Allow. on Goods', MaxLength = 100; + RawMatPurchRetAllowTok: Label 'Raw Mat. Purch. Ret. & Allow.', MaxLength = 100; + ReturnAllowOnRawMatTok: Label 'Return & Allow. on Raw Mat.', MaxLength = 100; + ConsumPurchRetAllowTok: Label 'Consum. Purch. Ret. & Allow.', MaxLength = 100; + ChangesInStockHeadingTok: Label 'Changes in Stock, Heading', MaxLength = 100; + ChangesInStockTok: Label 'Changes in Stock', MaxLength = 100; + ChangesInStockPostingTok: Label 'Changes in Stock, Posting', MaxLength = 100; + ChangesInRawMaterialsHeadingTok: Label 'Changes in raw materials, Heading', MaxLength = 100; + ChangesInRawMaterialsTok: Label 'Changes in raw materials', MaxLength = 100; + ChgInSuppOtherConsumTok: Label 'Chg. in Supp. & Other Consum.', MaxLength = 100; + ExternalChargesForServicesTok: Label 'External Charges for Services', MaxLength = 100; + ResearchAndDevelopmentTok: Label 'Research and Development', MaxLength = 100; + ProjectsTok: Label 'Projects', MaxLength = 100; + LeaseAndRoyaltiesTok: Label 'Lease and Royalties', MaxLength = 100; + LeaseChargesPostingTok: Label 'Lease Charges, Posting', MaxLength = 100; + MaintenancesAndRepairsTok: Label 'Maintenances and Repairs', MaxLength = 100; + RepairsTok: Label 'Repairs', MaxLength = 100; + ProfessionalServicesTok: Label 'Professional Services', MaxLength = 100; + InternalResourcesTok: Label 'Internal Resources', MaxLength = 100; + ConsultingTok: Label 'Consulting', MaxLength = 100; + ProfessionalAdvisoryServicesTok: Label 'Professional Advisory Services', MaxLength = 100; + ProjectCostsRetailTok: Label 'Project Costs, Retail', MaxLength = 100; + ProjectCostsAdjustmentTok: Label 'Project Costs Adjustment', MaxLength = 100; + ProjectCostsRecognizedTok: Label 'Project Costs (Recognized)', MaxLength = 100; + ProjectsCostsRawMaterialTok: Label 'Projects Costs, Raw Material', MaxLength = 100; + ProjectsCostsResourcesTok: Label 'Projects Costs, Resources', MaxLength = 100; + TransportationHeadingTok: Label 'Transportation, Heading', MaxLength = 100; + TransportationTok: Label 'Transportation', MaxLength = 100; + FuelTok: Label 'Fuel', MaxLength = 100; + InsurancePremiumsHeadingTok: Label 'Insurance Premiums, Heading', MaxLength = 100; + InsurancePremiumsTok: Label 'Insurance Premiums', MaxLength = 100; + BankingServicesHeadingTok: Label 'Banking Services, Heading', MaxLength = 100; + BankingServicesTok: Label 'Banking Services', MaxLength = 100; + AdvertisingPublicRelationsTok: Label 'Advertising/Public Relations', MaxLength = 100; + SuppliesTok: Label 'Supplies', MaxLength = 100; + ElectricityTok: Label 'Electricity', MaxLength = 100; + WaterTok: Label 'Water', MaxLength = 100; + OtherSuppliesTok: Label 'Other Supplies', MaxLength = 100; + OtherServicesHeadingTok: Label 'Other Services, Heading', MaxLength = 100; + OtherServicesTok: Label 'Other Services', MaxLength = 100; + OtherBusinessExpensesTok: Label 'Other Business Expenses', MaxLength = 100; + TaxTok: Label 'Tax', MaxLength = 100; + ProfitTaxHeadingTok: Label 'Profit Tax, Heading', MaxLength = 100; + RunningTaxTok: Label 'Running Tax', MaxLength = 100; + ProfitTaxTok: Label 'Profit Tax', MaxLength = 100; + DeferredTaxTok: Label 'Deferred Tax', MaxLength = 100; + OtherTaxesHeadingTok: Label 'Other Taxes, Heading', MaxLength = 100; + OtherTaxesTok: Label 'Other Taxes', MaxLength = 100; + NegativeAdjustmOnProfitsTok: Label 'Negative Adjustm. on Profits', MaxLength = 100; + NegativeAdjustmIndivTaxTok: Label 'Negative Adjustm. Indiv. Tax', MaxLength = 100; + NegativeAdjustmRunningActTok: Label 'Negative Adjustm. Running. Act', MaxLength = 100; + NegativeAdjustmInvestTaxTok: Label 'Negative Adjustm. Invest. Tax', MaxLength = 100; + TaxRefundsTok: Label 'Tax Refunds', MaxLength = 100; + PositiveAdjustmOnProfitsTok: Label 'Positive Adjustm. on Profits', MaxLength = 100; + PositiveAdjustmIndivTaxTok: Label 'Positive Adjustm. Indiv. Tax', MaxLength = 100; + PositiveAdjustmRunningActTok: Label 'Positive Adjustm. Running. Act', MaxLength = 100; + PositiveAdjustmInvestTaxTok: Label 'Positive Adjustm. Invest. Tax', MaxLength = 100; + WagesAndSalariesHeadingTok: Label 'Wages and Salaries, Heading', MaxLength = 100; + WagesAndSalariesTok: Label 'Wages and Salaries', MaxLength = 100; + PrizesTok: Label 'Prizes', MaxLength = 100; + PensionFundsTok: Label 'Pension Funds', MaxLength = 100; + CompensationsTok: Label 'Compensations', MaxLength = 100; + SocialSecPaidByCompanyHeadingTok: Label 'Social Sec. Paid by Company, Heading', MaxLength = 100; + SocialSecPaidByCompanyTok: Label 'Social Sec. Paid by Company', MaxLength = 100; + LtFeeInFixedContribSistTok: Label 'LT Fee in Fixed Contrib Sist', MaxLength = 100; + LtFeeInFixedProvisionSisTok: Label 'LT Fee in Fixed Provision Sis', MaxLength = 100; + AnnualContributionsTok: Label 'Annual Contributions', MaxLength = 100; + OtherCostsTok: Label 'Other costs', MaxLength = 100; + FeesByEquityProductsTok: Label 'Fees by Equity products', MaxLength = 100; + PersonnelRetEqProdTok: Label 'Personnel Ret. Eq. Prod.', MaxLength = 100; + PersonnelRetCashEqProdTok: Label 'Personnel Ret. Cash Eq. Prod.', MaxLength = 100; + OtherSocialExpensesTok: Label 'Other Social Expenses', MaxLength = 100; + BadDebtLossesTok: Label 'Bad Debt Losses', MaxLength = 100; + PartnershipsAndOthersTok: Label 'Partnerships and Others', MaxLength = 100; + TransferredProfitAdminTok: Label 'Transferred Profit (admin)', MaxLength = 100; + TransferredLossParticipantTok: Label 'Transferred Loss (participant)', MaxLength = 100; + OtherOperatingLossesTok: Label 'Other Operating Losses', MaxLength = 100; + FinancialExpensesTok: Label 'Financial Expenses', MaxLength = 100; + FinExpProvUpdatesTok: Label 'Fin. Exp. Prov. Updates', MaxLength = 100; + InterestDebentLoansTok: Label 'Interest Debent. Loans', MaxLength = 100; + LtInterestDebentLoansGTok: Label 'LT Interest Debent. Loans (G)', MaxLength = 100; + LtInterestDebentLoansATok: Label 'LT Interest Debent. Loans (A)', MaxLength = 100; + LtInterestDebentLoansOvTok: Label 'LT Interest Debent. Loans (OV)', MaxLength = 100; + LtInterestDebentLoansOtTok: Label 'LT Interest Debent. Loans (Ot)', MaxLength = 100; + StInterestDebentLoansGTok: Label 'ST Interest Debent. Loans (G)', MaxLength = 100; + StInterestDebentLoansATok: Label 'ST Interest Debent. Loans (A)', MaxLength = 100; + StInterestDebentLoansOvTok: Label 'ST Interest Debent. Loans (OV)', MaxLength = 100; + StInterestDebentLoansOtTok: Label 'ST Interest Debent. Loans (Ot)', MaxLength = 100; + DebtInterestTok: Label 'Debt Interest', MaxLength = 100; + DebtInterestGroupTok: Label 'Debt Interest (Group)', MaxLength = 100; + DebtInterestAssocTok: Label 'Debt Interest (Assoc.)', MaxLength = 100; + DebtInterestOtVincTok: Label 'Debt Interest (Ot.Vinc.)', MaxLength = 100; + DebtInterestFinInsTok: Label 'Debt Interest (Fin.Ins.)', MaxLength = 100; + DebtInterestOtherTok: Label 'Debt Interest (Other)', MaxLength = 100; + LossesFinInstValueFVTok: Label 'Losses Fin. Inst. Value F.V.', MaxLength = 100; + PortfolioLossesTok: Label 'Portfolio Losses', MaxLength = 100; + LossesAssignByCompTok: Label 'Losses Assign. By Comp.', MaxLength = 100; + LossesAvailForSaleTok: Label 'Losses Avail. for Sale', MaxLength = 100; + CoverageInstLossesTok: Label 'Coverage Inst. Losses', MaxLength = 100; + DividendLiabilityTok: Label 'Dividend Liability', MaxLength = 100; + DividendLiabilityGTok: Label 'Dividend Liability, (G)', MaxLength = 100; + DividendLiabilityATok: Label 'Dividend Liability, (A)', MaxLength = 100; + DividendLiabilityOVinTok: Label 'Dividend Liability, (O Vin)', MaxLength = 100; + DividendLiabilityOthTok: Label 'Dividend Liability, (Oth)', MaxLength = 100; + InterestOnBillsDiscTok: Label 'Interest on Bills Disc.', MaxLength = 100; + IntOnBillsDiscFinInsGTok: Label 'Int. on Bills Disc Fin Ins (G)', MaxLength = 100; + IntOnBillsDiscFinInsATok: Label 'Int. on Bills Disc Fin Ins (A)', MaxLength = 100; + IntOnBillsDiscFinInsVTok: Label 'Int. on Bills Disc Fin Ins (V)', MaxLength = 100; + InterestOnBillsDiscOthTok: Label 'Interest on Bills Disc. (Oth)', MaxLength = 100; + InterestOnBillsDiscountedTok: Label 'Interest on Bills Discounted', MaxLength = 100; + FactOpInterBanksGTok: Label 'Fact Op Inter., Banks (G)', MaxLength = 100; + FactOpInterBanksATok: Label 'Fact Op Inter., Banks (A)', MaxLength = 100; + FactOpInterBanksVTok: Label 'Fact Op Inter., Banks (V)', MaxLength = 100; + FactOpInterOtherBanksHeadingTok: Label 'Fact Op Inter., Other banks, Heading', MaxLength = 100; + FactOpInterOtherBanksTok: Label 'Fact Op Inter., Other banks', MaxLength = 100; + SecuritiesLossTok: Label 'Securities Loss', MaxLength = 100; + LtSecuritiesLossGTok: Label 'LT Securities Loss, (G)', MaxLength = 100; + LtSecuritiesLossATok: Label 'LT Securities Loss, (A)', MaxLength = 100; + LtSecuritiesLossOVinTok: Label 'LT Securities Loss, (O Vin)', MaxLength = 100; + LtSecuritiesLossOthTok: Label 'LT Securities Loss, (Oth)', MaxLength = 100; + StSecuritiesLossGTok: Label 'ST Securities Loss, (G)', MaxLength = 100; + StSecuritiesLossATok: Label 'ST Securities Loss, (A)', MaxLength = 100; + StSecuritiesLossOVinTok: Label 'ST Securities Loss, (O Vin)', MaxLength = 100; + StSecuritiesLossOthTok: Label 'ST Securities Loss, (Oth)', MaxLength = 100; + LoanLossTok: Label 'Loan Loss', MaxLength = 100; + LtLoanLossGTok: Label 'LT Loan Loss, (G)', MaxLength = 100; + LtLoanLossATok: Label 'LT Loan Loss, (A)', MaxLength = 100; + LtLoanLossOVinTok: Label 'LT Loan Loss, (O Vin)', MaxLength = 100; + LtLoanLossOthTok: Label 'LT Loan Loss, (Oth)', MaxLength = 100; + StLoanLossGTok: Label 'ST Loan Loss, (G)', MaxLength = 100; + StLoanLossATok: Label 'ST Loan Loss, (A)', MaxLength = 100; + StLoanLossOVinTok: Label 'ST Loan Loss, (O Vin)', MaxLength = 100; + StLoanLossOthTok: Label 'ST Loan Loss, (Oth)', MaxLength = 100; + RealizedLossesOnExchangeHeadingTok: Label 'Realized Losses on Exchange, Heading', MaxLength = 100; + RealLossExchInternEurHeadingTok: Label 'Real. Loss. Exch (Intern/Eur), Heading', MaxLength = 100; + RealLossExchInternEurTok: Label 'Real. Loss. Exch (Intern/Eur)', MaxLength = 100; + OtherRealLossesOnExchTok: Label 'Other Real. Losses on Exch.', MaxLength = 100; + RealizedLossesOnExchangeTok: Label 'Realized Losses on Exchange', MaxLength = 100; + OtherFinancialExpensesHeadingExpensesTok: Label 'Other Financial Expenses, Heading-Expenses', MaxLength = 100; + ExpenOnRoundOffEurHeadingTok: Label 'Expen. on Round. Off Eur, Heading', MaxLength = 100; + ExpenOnRoundOffEurTok: Label 'Expen. on Round. Off Eur', MaxLength = 100; + NegativeBalanceOnSettlTok: Label 'Negative Balance on Settl.', MaxLength = 100; + OtherFinancialExpensesHeadingTok: Label 'Other Financial Expenses, Heading', MaxLength = 100; + OtherFinancialExpensesTok: Label 'Other Financial Expenses', MaxLength = 100; + OtherFinExpBillRejectTok: Label 'Other Fin Exp Bill Reject', MaxLength = 100; + ExcepExtrItemsExpTok: Label 'Excep. & Extr. Items-Exp.', MaxLength = 100; + LossOnIntangATransfTok: Label 'Loss on Intang. A Transf.', MaxLength = 100; + LossOnTangAssetsTransfHeadingTok: Label 'Loss on Tang. Assets Transf., Heading', MaxLength = 100; + LossOnTangAssetsTransfTok: Label 'Loss on Tang. Assets Transf.', MaxLength = 100; + LossOnPropertiesInvestmTok: Label 'Loss on Properties Investm.', MaxLength = 100; + LossOnLtEqInvestVinCTok: Label 'Loss on LT Eq. Invest, Vin. C.', MaxLength = 100; + LossOnLtEqInvestGTok: Label 'Loss on LT Eq. Invest (G)', MaxLength = 100; + LossOnLtEqInvestATok: Label 'Loss on LT Eq. Invest (A)', MaxLength = 100; + LossOnLtEqInvestOVinTok: Label 'Loss on LT Eq. Invest (O Vin)', MaxLength = 100; + LossOnDebentLoansTok: Label 'Loss on Debent Loans', MaxLength = 100; + DeprecAmortizOfFaTok: Label 'Deprec. & Amortiz. of FA', MaxLength = 100; + DeprOfIntangAssetsTok: Label 'Depr. of Intang. Assets', MaxLength = 100; + DeprOfTangAssetsHeadingTok: Label 'Depr. of Tang. Assets, Heading', MaxLength = 100; + DeprOfTangAssetsTok: Label 'Depr. of Tang. Assets', MaxLength = 100; + DeprOnPropertiesInvestmTok: Label 'Depr. on Properties Investm.', MaxLength = 100; + DetLossesAndOthersTok: Label 'Det. Losses and others', MaxLength = 100; + DetLossOnIntangibleATok: Label 'Det. Loss on Intangible A', MaxLength = 100; + DetLossOnTangibleATok: Label 'Det. Loss on Tangible A', MaxLength = 100; + DetLossOnPropertiesInvestTok: Label 'Det. Loss on Properties Invest', MaxLength = 100; + DetLossOnInventoryTok: Label 'Det. Loss on Inventory', MaxLength = 100; + DetLossOnFinishAndWipTok: Label 'Det. Loss on Finish.and WIP', MaxLength = 100; + DetLossOnGoodsTok: Label 'Det. Loss on Goods', MaxLength = 100; + DetLossOnRawMatTok: Label 'Det. Loss on Raw Mat.', MaxLength = 100; + DetLossOnSupOtConsTok: Label 'Det. Loss on Sup&Ot.Cons.', MaxLength = 100; + DetLossOnTradeCreditsTok: Label 'Det. Loss on Trade Credits', MaxLength = 100; + ProvForTradeTransactHeadingTok: Label 'Prov. for Trade transact., Heading', MaxLength = 100; + OnerousContractsTok: Label 'Onerous Contracts', MaxLength = 100; + OtherTradeTransactTok: Label 'Other Trade transact.', MaxLength = 100; + LossesDetLtSecuritiesTok: Label 'Losses Det. LT Securities', MaxLength = 100; + LossesDetLtCapitalInstGTok: Label 'Losses Det LT Capital Inst,(G)', MaxLength = 100; + LossesDetLtCapitalInstATok: Label 'Losses Det LT Capital Inst,(A)', MaxLength = 100; + LossesDetLtCapitalInsOvTok: Label 'Losses Det LT Capital Ins,(OV)', MaxLength = 100; + LossesDetLtCapitalInsOTok: Label 'Losses Det. LT Capital Ins,(O)', MaxLength = 100; + LossesDetLtSecGTok: Label 'Losses Det. LT Sec., (G)', MaxLength = 100; + LossesDetLtSecATok: Label 'Losses Det. LT Sec., (A)', MaxLength = 100; + LossesDetLtSecOVinTok: Label 'Losses Det. LT Sec., (O Vin)', MaxLength = 100; + LossesDetLtSecOthTok: Label 'Losses Det. LT Sec., (Oth)', MaxLength = 100; + LossesDetLtCreditsTok: Label 'Losses Det. LT Credits', MaxLength = 100; + LossesDetLtCreditsGTok: Label 'Losses Det. LT Credits, (G)', MaxLength = 100; + LossesDetLtCreditsATok: Label 'Losses Det. LT Credits, (A)', MaxLength = 100; + LossesDetLtCreditsOVTok: Label 'Losses Det. LT Credits, (O V)', MaxLength = 100; + LossesDetLtCreditsOthTok: Label 'Losses Det. LT Credits, (Oth)', MaxLength = 100; + LossesDetStSecuritiesTok: Label 'Losses Det. ST Securities', MaxLength = 100; + LossesDetStCapitalInstGTok: Label 'Losses Det ST Capital Inst,(G)', MaxLength = 100; + LossesDetStCapitalInstATok: Label 'Losses Det ST Capital Inst,(A)', MaxLength = 100; + LossesDetStCapitalInsOvTok: Label 'Losses Det ST Capital Ins,(OV)', MaxLength = 100; + LossesDetStCapitalInstOTok: Label 'Losses Det ST Capital Inst,(O)', MaxLength = 100; + LossesDetStSecuritiesGTok: Label 'Losses Det. ST Securities, (G)', MaxLength = 100; + LossesDetStSecuritiesATok: Label 'Losses Det. ST Securities, (A)', MaxLength = 100; + LossesDetStSecuritiesOvTok: Label 'Losses Det. ST Securities,(OV)', MaxLength = 100; + LossesDetStSecuritiesOTok: Label 'Losses Det. ST Securities, (O)', MaxLength = 100; + LossesDetStCreditsTok: Label 'Losses Det. ST Credits', MaxLength = 100; + LossesDetStCreditsGTok: Label 'Losses Det. ST Credits, (G)', MaxLength = 100; + LossesDetStCreditsATok: Label 'Losses Det. ST Credits, (A)', MaxLength = 100; + LossesDetStCreditsOVTok: Label 'Losses Det. ST Credits, (O V)', MaxLength = 100; + LossesDetStCreditsOthTok: Label 'Losses Det. ST Credits, (Oth)', MaxLength = 100; + SalesAndIncomeTok: Label 'SALES AND INCOME', MaxLength = 100; + GoodsSalesServicesTok: Label 'Goods Sales Services', MaxLength = 100; + GoodsSalesHeadingTok: Label 'Goods Sales, Heading', MaxLength = 100; + GoodsSalesTok: Label 'Goods Sales', MaxLength = 100; + NationalGoodsSalesTok: Label 'National Goods Sales', MaxLength = 100; + GoodsSalesEuTok: Label 'Goods Sales EU', MaxLength = 100; + IntNonEuGoodsSalesTok: Label 'Int. (Non-EU) Goods Sales', MaxLength = 100; + RawMaterialsSalesTok: Label 'Raw Materials Sales', MaxLength = 100; + NationalRawMatSalesTok: Label 'National Raw Mat. Sales', MaxLength = 100; + EuRawMaterialsSalesTok: Label 'EU Raw Materials Sales', MaxLength = 100; + IntRawMatSalesTok: Label 'Int. Raw Mat. Sales', MaxLength = 100; + FinishedGoodsSalesTok: Label 'Finished Goods Sales', MaxLength = 100; + SemiManufPartsSalesTok: Label 'Semi-Manuf. Parts Sales', MaxLength = 100; + ByProductsScrapSalesTok: Label 'By Products & Scrap Sales', MaxLength = 100; + RetEmpPackSalesTok: Label 'Ret. Emp. & Pack. Sales', MaxLength = 100; + ProvisionOfServicesHeadingTok: Label 'Provision of Services, Heading', MaxLength = 100; + ProvisionOfServicesTok: Label 'Provision of Services', MaxLength = 100; + InternalResourcesPostingTok: Label 'Internal Resources, Posting', MaxLength = 100; + ProjectsSalesTok: Label 'Projects Sales', MaxLength = 100; + OtherServicesPostingTok: Label 'Other Services, Posting', MaxLength = 100; + ProjectsSalesAdjustmentTok: Label 'Projects Sales Adjustment', MaxLength = 100; + ProjectsSalesRecognizedTok: Label 'Projects Sales (Recognized)', MaxLength = 100; + NationalServicesTok: Label 'National Services', MaxLength = 100; + EuServicesTok: Label 'EU Services', MaxLength = 100; + IntServicesNonEuTok: Label 'Int. Services (Non-EU)', MaxLength = 100; + TotalSaleOfServContractsTok: Label 'Total Sale of Serv. Contracts', MaxLength = 100; + ServiceContractSaleTok: Label 'Service Contract Sale', MaxLength = 100; + SalesOfServiceContractsTok: Label 'Sales of Service Contracts', MaxLength = 100; + DiscAllowedOnSalesTok: Label 'Disc. Allowed on Sales', MaxLength = 100; + DiscAllowedOnSalesGoodsTok: Label 'Disc. Allowed on Sales, Goods', MaxLength = 100; + DiscAllowOnSalesGoodsNTok: Label 'Disc Allow on Sales, Goods (N)', MaxLength = 100; + DiscAllowOnSalesGoodsEuTok: Label 'Disc Allow on Sales, Goods(EU)', MaxLength = 100; + DiscAllowOnSalesGoodsITok: Label 'Disc Allow on Sales, Goods (I)', MaxLength = 100; + DiscAllowOnSalesFinGoodsTok: Label 'Disc Allow. on Sales,Fin Goods', MaxLength = 100; + DiscAllowOnSalFinGoodsNTok: Label 'Disc Allow on Sal,Fin Goods(N)', MaxLength = 100; + DiscAllowOnSFinGoodsEuTok: Label 'Disc Allow on S,Fin Goods(EU)', MaxLength = 100; + DiscAllowOnSFinGoodsITok: Label 'Disc Allow on S,Fin Goods (I)', MaxLength = 100; + DiscAllowOnSalesSemiManufTok: Label 'Disc Allow on Sales,Semi-Manuf', MaxLength = 100; + DiscAllowOnSSemiManufNTok: Label 'Disc Allow on S,Semi-Manuf (N)', MaxLength = 100; + DiscAllowOnSSemiManufEuTok: Label 'Disc Allow on S,Semi-Manuf(EU)', MaxLength = 100; + DiscAllowOnSSemiManufITok: Label 'Disc Allow on S,Semi-Manuf (I)', MaxLength = 100; + DiscAllOnSalProdScrapRetTok: Label 'Disc All on Sal,Prod&Scrap Ret', MaxLength = 100; + DiscAllOnSProdScrRetNTok: Label 'Disc All on S,Prod&Scr Ret (N)', MaxLength = 100; + DiscAllOnSProdScrRetEuTok: Label 'Disc All on S,Prod&Scr Ret(EU)', MaxLength = 100; + DiscAllOnSProdScrRetITok: Label 'Disc All on S,Prod&Scr Ret(I)', MaxLength = 100; + SalesReturnsTok: Label 'Sales Returns', MaxLength = 100; + GoodsReturnsTok: Label 'Goods Returns', MaxLength = 100; + NationalReturnsPostingTok: Label 'National Returns, Posting', MaxLength = 100; + EuReturnsPostingTok: Label 'EU Returns, Posting', MaxLength = 100; + IntNonEuReturnsTok: Label 'Int. (Non-EU) Returns', MaxLength = 100; + FinishedGoodsReturnsTok: Label 'Finished Goods Returns', MaxLength = 100; + SemiManufPartsReturnsTok: Label 'Semi-Manuf. Parts Returns', MaxLength = 100; + ByProductsScrapReturnsTok: Label 'By Products & Scrap Returns', MaxLength = 100; + RetEmpPackReturnsTok: Label 'Ret. Emp. & Pack. Returns', MaxLength = 100; + SalesReturnAllowTok: Label 'Sales Return & Allow.', MaxLength = 100; + GoodsSalesReturnAllowHeadingTok: Label 'Goods Sales Return & Allow., Heading', MaxLength = 100; + GoodsSalesReturnAllowTok: Label 'Goods Sales Return & Allow.', MaxLength = 100; + FinishGoodsSalesRetAllowTok: Label 'Finish. Goods Sales Ret&Allow.', MaxLength = 100; + SemiManPSalesRetAllowTok: Label 'Semi-Man. P. Sales Ret&Allow.', MaxLength = 100; + ByProdScrapSalesRetAllowTok: Label 'By Prod&Scrap Sales Ret&Allow.', MaxLength = 100; + RetEmpPackSalesRetAllowTok: Label 'Ret. Emp&Pack Sales Ret&Allow.', MaxLength = 100; + ChangesInStockIncomeTok: Label 'Changes in Stock, Income', MaxLength = 100; + ChgsProdPrgManufGoodsTok: Label 'Chgs Prod. Prg-Manuf. Goods', MaxLength = 100; + ChgsInSemiManufPartsTok: Label 'Chgs in Semi-Manuf. Parts', MaxLength = 100; + ChangesInFinishedGoodsTok: Label 'Changes in Finished Goods', MaxLength = 100; + ChgsInByProdOrScrapTok: Label 'Chgs in By Prod. or Scrap', MaxLength = 100; + WorksDoneForTheCompTok: Label 'Works Done for the Comp.', MaxLength = 100; + WorkDoneOnIntangATok: Label 'Work Done on Intang. A', MaxLength = 100; + WorkDoneOnTangibleAHeadingTok: Label 'Work Done on Tangible A, Heading', MaxLength = 100; + WorkDoneOnTangibleATok: Label 'Work Done on Tangible A', MaxLength = 100; + WorkDoneOnRealEstateInvesTok: Label 'Work Done on Real Estate Inves', MaxLength = 100; + WorkDoneIntgAInProgrTok: Label 'Work Done Intg. A in Progr', MaxLength = 100; + SubvGrantsAndAdjTok: Label 'Subv., grants and adj.', MaxLength = 100; + SubvGrantsAndLegaciesTok: Label 'Subv., grants and legacies', MaxLength = 100; + SubvGrantsAndLegResultTok: Label 'Subv., grants and leg. Result', MaxLength = 100; + OtherSubvGrantsAndLegResTok: Label 'Other subv, grants and leg res', MaxLength = 100; + OtherOperatingIncomeTok: Label 'Other Operating Income', MaxLength = 100; + JointVenturesResultsTok: Label 'Joint Ventures Results', MaxLength = 100; + TransferredLossAdminTok: Label 'Transferred Loss(admin.)', MaxLength = 100; + TransferredProfitParticipTok: Label 'Transferred Profit(particip.)', MaxLength = 100; + LeaseChargesHeadingTok: Label 'Lease Charges, Heading', MaxLength = 100; + RoyFConcessLicencTrdmrksTok: Label 'Roy. f Concess, Licenc,Trdmrks', MaxLength = 100; + CommissionsHeadingTok: Label 'Commissions, Heading', MaxLength = 100; + CommissionsTok: Label 'Commissions', MaxLength = 100; + ServicesDoneToEmployeesTok: Label 'Services Done to Employees', MaxLength = 100; + MiscellaneousServicesHeadingTok: Label 'Miscellaneous Services, Heading', MaxLength = 100; + MiscellaneousServicesTok: Label 'Miscellaneous Services', MaxLength = 100; + FinancialIncomeTok: Label 'Financial Income', MaxLength = 100; + IncFromEquityInvestmTok: Label 'Inc. from Equity Investm.', MaxLength = 100; + IncFromEquityInvestmGTok: Label 'Inc. from Equity Investm. (G)', MaxLength = 100; + IncFromEquityInvestmATok: Label 'Inc. from Equity Investm. (A)', MaxLength = 100; + IncFromEquityInvestmOVTok: Label 'Inc. from Equity Investm (O V)', MaxLength = 100; + IncFromEquityInvestmOtTok: Label 'Inc. from Equity Investm. (Ot)', MaxLength = 100; + IncDebtSecuritiesTok: Label 'Inc. Debt Securities', MaxLength = 100; + IncDebtSecuritiesGTok: Label 'Inc. Debt Securities, (G)', MaxLength = 100; + IncDebtSecuritiesATok: Label 'Inc. Debt Securities, (A)', MaxLength = 100; + IncDebtSecuritiesOVinTok: Label 'Inc. Debt Securities, (O Vin)', MaxLength = 100; + IncDebtSecuritiesOthTok: Label 'Inc. Debt Securities, (Oth)', MaxLength = 100; + IncFromLoansTok: Label 'Inc. From Loans', MaxLength = 100; + IncFromLtLoansTok: Label 'Inc. from LT Loans', MaxLength = 100; + IncFromLtLoansGTok: Label 'Inc. from LT Loans (G)', MaxLength = 100; + IncFromLtLoansATok: Label 'Inc. from LT Loans (A)', MaxLength = 100; + IncFromLtLoansOtVinTok: Label 'Inc. from LT Loans (Ot Vin)', MaxLength = 100; + IncLtLoansOthTok: Label 'Inc. LT Loans (Oth)', MaxLength = 100; + IncomeFromStLoansTok: Label 'Income from ST Loans', MaxLength = 100; + IncFromStLoansGTok: Label 'Inc. from ST Loans (G)', MaxLength = 100; + IncFromStLoansATok: Label 'Inc. from ST Loans (A)', MaxLength = 100; + IncFromStLoansOtVinTok: Label 'Inc. from ST Loans (Ot Vin)', MaxLength = 100; + IncFromStLoansOthTok: Label 'Inc. from ST Loans (Oth)', MaxLength = 100; + ProfitFinInstValueFVTok: Label 'Profit Fin. Inst. Value F. V.', MaxLength = 100; + ProfitPortfolioTok: Label 'Profit Portfolio', MaxLength = 100; + ProfitAssignByCompTok: Label 'Profit Assign. By Comp.', MaxLength = 100; + ProfitAvailForSaleTok: Label 'Profit avail. For Sale', MaxLength = 100; + ProfitCoverageInstrTok: Label 'Profit Coverage Instr.', MaxLength = 100; + ProfitMarketableSecuritiesTok: Label 'Profit Marketable Securities', MaxLength = 100; + ProfitMarkSecLtGTok: Label 'Profit Mark. Sec. LT, (G)', MaxLength = 100; + ProfitMarkSecLtATok: Label 'Profit Mark. Sec. LT, (A)', MaxLength = 100; + ProfitMarkSecLtOVinTok: Label 'Profit Mark. Sec. LT, (O Vin)', MaxLength = 100; + ProfitMarkSecLtOTok: Label 'Profit Mark. Sec. LT, (O)', MaxLength = 100; + ProfitMarkSecStGTok: Label 'Profit Mark. Sec. ST, (G)', MaxLength = 100; + ProfitMarkSecStATok: Label 'Profit Mark. Sec. ST, (A)', MaxLength = 100; + ProfitMarkSecStOVinTok: Label 'Profit Mark. Sec. ST, (O Vin)', MaxLength = 100; + ProfitMarkSecStOTok: Label 'Profit Mark. Sec. ST, (O)', MaxLength = 100; + LtIncFaAndReimbRTok: Label 'LT Inc. FA and Reimb. R.', MaxLength = 100; + ExchangeGainHeadingTok: Label 'Exchange Gain, Heading', MaxLength = 100; + ExchangeGainInternEurHeadingTok: Label 'Exchange Gain (Intern./Eur), Heading', MaxLength = 100; + ExchangeGainInternEurTok: Label 'Exchange Gain (Intern./Eur)', MaxLength = 100; + OtherExchangeGainsTok: Label 'Other Exchange Gains', MaxLength = 100; + ExchangeGainPostingTok: Label 'Exchange Gain', MaxLength = 100; + OtherFinancialIncomeHeadingIncomeTok: Label 'Other Financial Income, Heading-Income', MaxLength = 100; + IncomeOnRoundOffEurosHeadingTok: Label 'Income on Round. Off Euros, Heading', MaxLength = 100; + IncomeOnRoundOffEurosTok: Label 'Income on Round. Off Euros', MaxLength = 100; + PositiveBalanceOnSettlTok: Label 'Positive Balance on Settl.', MaxLength = 100; + OtherFinancialIncomeHeadingTok: Label 'Other Financial Income, Heading', MaxLength = 100; + OtherFinancialIncomeTok: Label 'Other Financial Income', MaxLength = 100; + ExcExtraordItemsIncTok: Label 'Exc. & Extraord. Items-Inc', MaxLength = 100; + IntangibleAssetsProfitTok: Label 'Intangible Assets Profit', MaxLength = 100; + TangibleAssetsProfitHeadingTok: Label 'Tangible Assets Profit, Heading', MaxLength = 100; + TangibleAssetsProfitTok: Label 'Tangible Assets Profit', MaxLength = 100; + PropertiesInvestmProfitTok: Label 'Properties Investm. Profit', MaxLength = 100; + PrfOnLtEqInvestVinCTok: Label 'Prf. on LT Eq. Invest, Vin. C.', MaxLength = 100; + PrfOnLtEqInvestGTok: Label 'Prf. on LT Eq. Invest (G)', MaxLength = 100; + PrfOnLtEqInvestATok: Label 'Prf. on LT Eq. Invest (A)', MaxLength = 100; + PrfOnLtEqInvestOtVinTok: Label 'Prf. on LT Eq. Invest (Ot Vin)', MaxLength = 100; + NegDifferencesMergingBussTok: Label 'Neg. Differences Merging Buss', MaxLength = 100; + ProfitOnDebentLoansTok: Label 'Profit on Debent Loans', MaxLength = 100; + ProvisionsAppliedTok: Label 'Provisions Applied', MaxLength = 100; + SurplResrvForIntangATok: Label 'Surpl. Resrv. for Intang. A', MaxLength = 100; + SurplResrvForTangATok: Label 'Surpl. Resrv. for Tang. A', MaxLength = 100; + SurplResrvForPropInvestTok: Label 'Surpl. Resrv. for Prop. Invest', MaxLength = 100; + SurplResrvForInventoryTok: Label 'Surpl. Resrv. for Inventory', MaxLength = 100; + SurplResrvFinishWipTok: Label 'Surpl. Resrv. Finish. & WIP', MaxLength = 100; + SurplResrvForGoodsTok: Label 'Surpl. Resrv. for Goods', MaxLength = 100; + SurplResrvForRawMatTok: Label 'Surpl. Resrv. for Raw Mat.', MaxLength = 100; + SurplResrvForOtherMatTok: Label 'Surpl. Resrv. for Other Mat.', MaxLength = 100; + RevDetTradeCreditsTok: Label 'Rev. Det.Trade Credits', MaxLength = 100; + ProvisionExcessTok: Label 'Provision excess', MaxLength = 100; + ProvisionForPensionsIncomeTok: Label 'Provision for Pensions, Income', MaxLength = 100; + TaxationReserveIncomeTok: Label 'Taxation Reserve, Income', MaxLength = 100; + ProvisionForOtherResponTok: Label 'Provision for other respon.', MaxLength = 100; + ProvForTradeTransactIncomeTok: Label 'Prov. for Trade transact., Income', MaxLength = 100; + OnerousContractsHeadingTok: Label 'Onerous Contracts, Heading', MaxLength = 100; + OtherTradeTransactHeadingTok: Label 'Other Trade transact., Heading', MaxLength = 100; + ProvForEnvironmentalActIncomeTok: Label 'Prov. for environmental act., Income', MaxLength = 100; + ProvForRestructuringHeadingTok: Label 'Prov. for restructuring, Heading', MaxLength = 100; + ProvPaymTranCapitalInstTok: Label 'Prov. Paym. Tran. Capital Inst', MaxLength = 100; + SurplProviForLtSecTok: Label 'Surpl. Provi. for LT Sec.', MaxLength = 100; + SurplResrvLtCapitalInsGTok: Label 'Surpl Resrv LT Capital Ins,(G)', MaxLength = 100; + SurplResrvLtCapitalInsATok: Label 'Surpl Resrv LT Capital Ins,(A)', MaxLength = 100; + SurplResrLtCapitalInsOvTok: Label 'Surpl Resr LT Capital Ins,(OV)', MaxLength = 100; + SurplResrvLtCapitalInsOTok: Label 'Surpl Resrv LT Capital Ins,(O)', MaxLength = 100; + SurplResrvLtSecGTok: Label 'Surpl. Resrv. LT Sec., (G)', MaxLength = 100; + SurplResrvLtSecATok: Label 'Surpl. Resrv. LT Sec., (A)', MaxLength = 100; + SurplResrvLtSecOVinTok: Label 'Surpl. Resrv. LT Sec., (O Vin)', MaxLength = 100; + SurplResrvLtSecOthTok: Label 'Surpl. Resrv. LT Sec., (Oth)', MaxLength = 100; + SurplResrvLtCreditsTok: Label 'Surpl. Resrv. LT Credits', MaxLength = 100; + SurplResrvLtCreditsGTok: Label 'Surpl. Resrv. LT Credits, (G)', MaxLength = 100; + SurplResrvLtCreditsATok: Label 'Surpl. Resrv. LT Credits, (A)', MaxLength = 100; + SurplResrvLtCreditsOvTok: Label 'Surpl. Resrv. LT Credits,(OV)', MaxLength = 100; + SurplResrvLtCreditsOtTok: Label 'Surpl. Resrv. LT Credits, (Ot)', MaxLength = 100; + SurplResrvStSecuritiesTok: Label 'Surpl. Resrv. ST Securities', MaxLength = 100; + SurplResrvStCapitalInsGTok: Label 'Surpl Resrv ST Capital Ins,(G)', MaxLength = 100; + SurplResrvStCapitalInsATok: Label 'Surpl Resrv ST Capital Ins,(A)', MaxLength = 100; + SurplResrStCapitalInsOvTok: Label 'Surpl Resr ST Capital Ins,(OV)', MaxLength = 100; + SurplResrvStCapitalInsOTok: Label 'Surpl Resrv ST Capital Ins,(O)', MaxLength = 100; + SurplResrvStSecGTok: Label 'Surpl. Resrv. ST Sec., (G)', MaxLength = 100; + SurplResrvStSecATok: Label 'Surpl. Resrv. ST Sec., (A)', MaxLength = 100; + SurplResrvStSecOVinTok: Label 'Surpl. Resrv. ST Sec., (O Vin)', MaxLength = 100; + SurplResrvStSecOthTok: Label 'Surpl. Resrv. ST Sec., (Oth)', MaxLength = 100; + SurplResrvStCreditsTok: Label 'Surpl. Resrv. ST Credits', MaxLength = 100; + SurplResrvStCreditsGTok: Label 'Surpl. Resrv. ST Credits, (G)', MaxLength = 100; + SurplResrvStCreditsATok: Label 'Surpl. Resrv. ST Credits, (A)', MaxLength = 100; + SurplResrvStCreditsOvTok: Label 'Surpl. Resrv. ST Credits, (OV)', MaxLength = 100; + SurplResrvStCreditsOtTok: Label 'Surpl. Resrv. ST Credits, (Ot)', MaxLength = 100; + ExpensesChargedToCapitalTok: Label 'Expenses charged to Capital', MaxLength = 100; + FinExpAssetsAndLiabValTok: Label 'Fin.Exp. Assets and Liab. Val.', MaxLength = 100; + LossesFinAForSaleTok: Label 'Losses Fin. A For Sale', MaxLength = 100; + GainsTransFinAForSaleTok: Label 'Gains Trans. Fin. A For Sale', MaxLength = 100; + ExpensesInCoverageOperTok: Label 'Expenses in Coverage Oper.', MaxLength = 100; + LossesCashFlowCoverageTok: Label 'Losses Cash Flow Coverage', MaxLength = 100; + LossesInvestCoverageAbroadTok: Label 'Losses Invest. Coverage Abroad', MaxLength = 100; + CashFlowCoverageGainsTransTok: Label 'Cash Flow Coverage Gains Trans', MaxLength = 100; + InvestCovAbroadGainsTransfTok: Label 'Invest Cov Abroad Gains Transf', MaxLength = 100; + ExpensesConversionDifferencTok: Label 'Expenses Conversion Differenc.', MaxLength = 100; + NegativeConvDifferencesTok: Label 'Negative Conv. Differences', MaxLength = 100; + PositiveConvDiffTransferTok: Label 'Positive Conv. Diff. Transfer', MaxLength = 100; + ProfitTaxHeadingCapitalTok: Label 'Profit Tax, Heading-Capital', MaxLength = 100; + ProfitTaxCapitalTok: Label 'Profit Tax, Capital', MaxLength = 100; + RunningTaxHeadingTok: Label 'Running Tax, Heading', MaxLength = 100; + DeferredTaxHeadingTok: Label 'Deferred Tax, Heading', MaxLength = 100; + ProfitDepositNegativeAdjTok: Label 'Profit Deposit Negative Adj.', MaxLength = 100; + FiscalIncomePermDifferTok: Label 'Fiscal Income Perm. Differ.', MaxLength = 100; + FiscalIncomeDeductionsTok: Label 'Fiscal Income Deductions', MaxLength = 100; + PermDifferTransfTok: Label 'Perm. Differ. Transf.', MaxLength = 100; + DeducFiscalBenefTransfTok: Label 'Deduc & Fiscal Benef. Transf.', MaxLength = 100; + ProfitDepositPositiveAdjTok: Label 'Profit Deposit Positive Adj.', MaxLength = 100; + SubvGrantsAndLegTransfTok: Label 'Subv., Grants and Leg. Transf.', MaxLength = 100; + OfficialSubvTransfTok: Label 'Official Subv. Transf.', MaxLength = 100; + GrantsAndLegTransfTok: Label 'Grants and Leg. Transf.', MaxLength = 100; + OtherSubvGrantsLegTransTok: Label 'Other subv, grants & leg trans', MaxLength = 100; + LtLossAndAdjFeeExpensesTok: Label 'LT Loss and Adj. Fee Expenses', MaxLength = 100; + ActuarialLossesTok: Label 'Actuarial Losses', MaxLength = 100; + NegAdjLtFeeFixedProvTok: Label 'Neg. Adj. LT Fee Fixed Prov.', MaxLength = 100; + NonCurrAssetsOnSaleExpTok: Label 'Non curr. Assets on Sale Exp.', MaxLength = 100; + NonCurrAAndForSaleLosTok: Label 'Non Curr A and for Sale Los.', MaxLength = 100; + NonCurrAAndSaleGTransTok: Label 'Non Curr A and Sale G Trans', MaxLength = 100; + PartGOrACExpPosValAdjTok: Label 'Part G or A C. Exp,Pos Val Adj', MaxLength = 100; + LiabPartDetGTok: Label 'Liab Part Det, (G)', MaxLength = 100; + LiabPartDetATok: Label 'Liab Part Det, (A)', MaxLength = 100; + IncomeChargedToCapitalTok: Label 'Income charged to Capital', MaxLength = 100; + FinIncAssetsAndLiabValTok: Label 'Fin. Inc. Assets and Liab. Val', MaxLength = 100; + GainsFinAForSaleTok: Label 'Gains Fin. A For Sale', MaxLength = 100; + LossesTransfFinAForSaleTok: Label 'Losses Transf Fin A For Sale', MaxLength = 100; + IncomeInCoverageOperTok: Label 'Income in Coverage Oper.', MaxLength = 100; + IncomeCashFlowCoverageTok: Label 'Income Cash Flow Coverage', MaxLength = 100; + IncomeInvestCoverageAbroadTok: Label 'Income Invest Coverage Abroad', MaxLength = 100; + CashFlowCoverageLossTransfTok: Label 'Cash Flow Coverage Loss Transf', MaxLength = 100; + InvestCovAbroadLossTransfTok: Label 'Invest. Cov Abroad Loss Transf', MaxLength = 100; + IncomeConversionDifferencesTok: Label 'Income Conversion Differences', MaxLength = 100; + PositiveConvDifferencesTok: Label 'Positive Conv. Differences', MaxLength = 100; + NegativeConvDiffTransferTok: Label 'Negative Conv. Diff. Transfer', MaxLength = 100; + SubvGrantsAndLegIncomeTok: Label 'Subv., Grants and Leg. Income', MaxLength = 100; + OfficialSubvIncomeTok: Label 'Official Subv. Income', MaxLength = 100; + GrantsAndLegIncomeTok: Label 'Grants and Leg. Income', MaxLength = 100; + OtherSubvGrantsAndLegIncTok: Label 'Other subv, grants and leg Inc', MaxLength = 100; + LtProfitAndAdjFeeIncomeTok: Label 'LT Profit and Adj. Fee Income', MaxLength = 100; + ActuarialGainsTok: Label 'Actuarial Gains', MaxLength = 100; + PosAdjLtFeeFixedProvTok: Label 'Pos. Adj. LT Fee Fixed Prov.', MaxLength = 100; + NonCurrAssetsOnSaleIncTok: Label 'Non curr. Assets on Sale Inc.', MaxLength = 100; + NonCurrAAndForSaleProfitTok: Label 'Non Curr A and for Sale Profit', MaxLength = 100; + NonCurrAAndSaleLossTransTok: Label 'Non Curr A and Sale Loss Trans', MaxLength = 100; + PartGOrACoIncPosValAdjTok: Label 'Part G or A Co Inc,Pos Val Adj', MaxLength = 100; + PrevNegAdjRecGTok: Label 'Prev. Neg. Adj. Rec. (G)', MaxLength = 100; + PrevNegAdjRecATok: Label 'Prev. Neg. Adj. Rec. (A)', MaxLength = 100; + NegAdjDetValTransGTok: Label 'Neg. Adj. Det. Val. Trans. (G)', MaxLength = 100; + NegAdjDetValTransATok: Label 'Neg. Adj. Det. Val. Trans. (A)', MaxLength = 100; + RawMaterialsHeadingTok: Label 'Raw Materials, Heading', MaxLength = 100; + RawMaterialsHeadingAssetsTok: Label 'Raw Materials', MaxLength = 100; + RawMaterialsAssetsPostingTok: Label 'Raw Materials, Posting', MaxLength = 100; + FinishedGoodsHeadingTok: Label 'Finished Goods, Heading', MaxLength = 100; + FixedAssetsHeadingTok: Label 'Fixed Assets, Heading', MaxLength = 100; + OfficeSuppliesHeadingTok: Label 'Office Supplies, Heading', MaxLength = 100; + ExtraordinaryExpensesHeadingTok: Label 'Extraordinary Expenses, Heading', MaxLength = 100; + ExtraordinaryExpensesHeadingExpenseTok: Label 'Extraordinary Expenses - HeadingExp', MaxLength = 100; + ExtraordinaryIncomeHeadingTok: Label 'Extraordinary Income, Heading', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESGeneralLedgerSetup.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..81adbb7aab --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 10827 "Create ES General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + Currency.Get(CreateCurrency.EUR()); + ValidateRecordFields(CreateCurrency.EUR(), LocalCurrencySymbolLbl, Currency.Description, 0.001, '2:5'); + end; + + local procedure ValidateRecordFields(LCYCode: Code[10]; LocalCurrencySymbol: Text[10]; LocalCurrencyDescription: Text[60]; UnitAmountRoundingPrecision: Decimal; UnitAmountDecimalPlaces: Text[5]) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateESNoSeries: Codeunit "Create ES No. Series"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbol); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrencyDescription); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := UnitAmountRoundingPrecision; + GeneralLedgerSetup.Validate("Show Amounts", GeneralLedgerSetup."Show Amounts"::"Debit/Credit Only"); + GeneralLedgerSetup.Validate("Autoinvoice Nos.", CreateESNoSeries.AutoInvoice()); + GeneralLedgerSetup.Validate("Autocredit Memo Nos.", CreateESNoSeries.AutoCreditMemo()); + GeneralLedgerSetup.Validate("Unit-Amount Decimal Places", UnitAmountDecimalPlaces); + GeneralLedgerSetup.Validate("EMU Currency", true); + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrencySymbolLbl: Label '€', Locked = true; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESPostingGroups.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESPostingGroups.Codeunit.al new file mode 100644 index 0000000000..3d7e798fcc --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESPostingGroups.Codeunit.al @@ -0,0 +1,89 @@ +codeunit 10793 "Create ES Posting Groups" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertGenProdPostingGroup(); + InsertGenPostingSetup(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Product Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure UpdateGenProductPostingGroup(var Rec: Record "Gen. Product Posting Group") + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + begin + case Rec.Code of + CreatePostingGroups.MiscPostingGroup(), + CreatePostingGroups.RawMatPostingGroup(), + CreatePostingGroups.RetailPostingGroup(), + CreatePostingGroups.FreightPostingGroup(): + ValidateRecordFields(Rec, CreateESVATPostingGroups.Vat21()); + CreatePostingGroups.ServicesPostingGroup(): + ValidateRecordFields(Rec, CreateESVATPostingGroups.Vat7()); + end; + end; + + local procedure ValidateRecordFields(var GenProductPostingGroup: Record "Gen. Product Posting Group"; DefVATProdPostingGroup: Code[20]) + begin + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", DefVATProdPostingGroup); + end; + + local procedure InsertGenProdPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(CreateESVATPostingGroups.NoVat(), MiscellaneousWithoutVatLbl, CreateESVATPostingGroups.NoVat()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure InsertGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + CreateESGLAccounts: Codeunit "Create ES GL Accounts"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreateESVATPostingGroups.NoVat(), '', '', CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', '', '', '', '', CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', '', '', '', '', CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreateESVATPostingGroups.NoVat(), '', '', CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateESGLAccounts.NationalGoodsSales(), CreateESGLAccounts.NationalPurchases(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateESGLAccounts.NationalServices(), CreateESGLAccounts.NationalPurchases(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateESGLAccounts.GoodsSalesEu(), CreateESGLAccounts.EuPurchases(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreateESVATPostingGroups.NoVat(), '', '', CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateESGLAccounts.IntNonEuGoodsSales(), CreateESGLAccounts.IntNonEuPurch(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateESGLAccounts.IntServicesNonEu(), '', CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.ChangesInStockPosting(), '', '', CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.GoodsSalesReturnAllow(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ReturnAndAllowOnGoods(), CreateESGLAccounts.ChangesInStockPosting(), CreateESGLAccounts.BillOfMaterTradeCred(), CreateESGLAccounts.ChangesInRawMaterials()); + ContosoGenPostingSetup.SetOverwriteData(false); + UpdateJobSalesAdjAcc('', CreateESVATPostingGroups.NoVat(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc('', CreatePostingGroups.RetailPostingGroup(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc(CreatePostingGroups.DomesticPostingGroup(), CreateESVATPostingGroups.NoVat(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc(CreatePostingGroups.ExportPostingGroup(), CreateESVATPostingGroups.NoVat(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + UpdateJobSalesAdjAcc(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateESGLAccounts.ProjectsSales(), CreateESGLAccounts.ProjectCostsRetail()); + end; + + local procedure UpdateJobSalesAdjAcc(GenBusProdGrp: Code[20]; GenProdPostingGrp: Code[20]; JobSalesAdjAcc: Code[20]; JobCostAdjmtAcc: Code[20]) + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + if not GeneralPostingSetup.Get(GenBusProdGrp, GenProdPostingGrp) then + exit; + + GeneralPostingSetup.Validate("Job Sales Adjmt. Account", JobSalesAdjAcc); + GeneralPostingSetup.Validate("Job Cost Adjmt. Account", JobCostAdjmtAcc); + GeneralPostingSetup.Modify(true); + end; + + var + MiscellaneousWithoutVatLbl: Label 'Miscellaneous without VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESResource.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESResource.Codeunit.al new file mode 100644 index 0000000000..c9e79fa6c9 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESResource.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 10815 "Create ES Resource" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateESVatPostingGroups: Codeunit "Create ES Vat Posting Groups"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Rec, MadridLbl, 77, 84.7, 45.35484, 155, PostCode28001Lbl, CreateESVatPostingGroups.Vat7()); + CreateResource.Lina(): + ValidateRecordFields(Rec, MadridLbl, 93, 102.3, 45, 186, PostCode28023Lbl, CreateESVatPostingGroups.Vat7()); + CreateResource.Marty(): + ValidateRecordFields(Rec, MadridLbl, 70, 77, 44.60432, 139, PostCode28001Lbl, CreateESVatPostingGroups.Vat7()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + Resource.Validate(County, ''); + end; + + var + MadridLbl: Label 'Madrid', MaxLength = 30, Locked = true; + PostCode28001Lbl: Label '28001', MaxLength = 20; + PostCode28023Lbl: Label '28023', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESVATPostingGroups.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESVATPostingGroups.Codeunit.al new file mode 100644 index 0000000000..d66deb2c41 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESVATPostingGroups.Codeunit.al @@ -0,0 +1,90 @@ +codeunit 10794 "Create ES VAT Posting Groups" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + procedure InsertVATPostingSetupWithGLAccounts() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateESGLAccounts: Codeunit "Create ES GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', NoVat(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), NoVat(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Vat21(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat21(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Vat7(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat7(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Vat4(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat4(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), NoVat(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), NoVaT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), NoTax(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), NoTax(), 0, Enum::"Tax Calculation Type"::"No Taxable VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Vat21(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat21(), 21, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Vat7(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat7(), 7, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Vat4(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat4(), 4, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), NoVat(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), NoVaT(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'E', CreateESGLAccounts.VatEuReversion(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), NoTax(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), NoTax(), 0, Enum::"Tax Calculation Type"::"No Taxable VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), Vat21(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat21(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateESGLAccounts.VatEuReversion(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), Vat7(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat7(), 7, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateESGLAccounts.VatEuReversion(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), Vat4(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat4(), 4, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateESGLAccounts.VatEuReversion(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), NoVat(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), NoVaT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), NoTax(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), NoTax(), 0, Enum::"Tax Calculation Type"::"No Taxable VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), Vat21(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat21(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), Vat7(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat7(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), Vat4(), CreateESGLAccounts.VatCollByTheComp(), CreateESGLAccounts.GovVatDeductible(), Vat4(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.SetOverwriteData(false); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATProductPostingGroup(NoTax(), NotchargeableVatLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(NoVat(), MiscellaneousWithoutVatLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Vat7(), Miscellaneous7VatLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Vat21(), Miscellaneous21VatLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Vat4(), Vat21VatLbl); + ContosoPostingGroup.SetOverwriteData(false); + end; + + var + procedure NoTax(): Code[20] + begin + exit(NoTaxTok); + end; + + procedure NoVat(): Code[20] + begin + exit(NoVatTok); + end; + + procedure Vat7(): Code[20] + begin + exit(Vat7Tok); + end; + + procedure Vat21(): Code[20] + begin + exit(Vat21Tok); + end; + + procedure Vat4(): Code[20] + begin + exit(Vat4Tok); + end; + + var + NoTaxTok: Label 'NO TAX', MaxLength = 20, Locked = true; + NoVatTok: Label 'NO VAT', MaxLength = 20, Locked = true; + Vat7Tok: Label 'VAT7', MaxLength = 20, Locked = true; + Vat21Tok: Label 'VAT21', MaxLength = 20, Locked = true; + Vat4Tok: Label 'VAT4', MaxLength = 20, Locked = true; + NotchargeableVatLbl: Label 'Not chargeable VAT', MaxLength = 100; + MiscellaneousWithoutVatLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + Vat21VatLbl: Label 'Reduced VAT', MaxLength = 100; + Miscellaneous21VatLbl: Label 'Miscellaneous 21 VAT', MaxLength = 100; + Miscellaneous7VatLbl: Label 'Miscellaneous 7 VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESVATSetupPostGrp.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESVATSetupPostGrp.Codeunit.al new file mode 100644 index 0000000000..d09f0a1856 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/1.Setup Data/CreateESVATSetupPostGrp.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 10839 "Create ES Vat Setup Post Grp" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVATPostingGroupES: Codeunit "Create ES VAT Posting Groups"; + CreateESGLAccount: Codeunit "Create ES GL Accounts"; + begin + InsertVATSetupPostingGroup(CreateVATPostingGroupES.NoTax(), SetupExportNoTaxDescLbl, true, 0, CreateESGLAccount.VatCollByTheComp(), CreateESGLAccount.GovVatDeductible(), true); + InsertVATSetupPostingGroup(CreateVATPostingGroupES.NOVAT(), SetupExportReducedDescLbl, true, 0, CreateESGLAccount.VatCollByTheComp(), CreateESGLAccount.GovVatDeductible(), true); + InsertVATSetupPostingGroup(CreateVATPostingGroupES.VAT7(), SetupExportStandardDescLbl, true, 7, CreateESGLAccount.VatCollByTheComp(), CreateESGLAccount.GovVatDeductible(), true); + InsertVATSetupPostingGroup(CreateVATPostingGroupES.VAT4(), SetupExportDecreaseDescLbl, true, 4, CreateESGLAccount.VatCollByTheComp(), CreateESGLAccount.GovVatDeductible(), true); + InsertVATSetupPostingGroup(CreateVATPostingGroupES.VAT21(), SetupExportIncreaseDescLbl, true, 21, CreateESGLAccount.VatCollByTheComp(), CreateESGLAccount.GovVatDeductible(), true); + end; + + local procedure InsertVATSetupPostingGroup(VatProdPostingGrp: Code[20]; VatProdPostingDesc: Text[100]; DefaultSetup: boolean; VatPercent: integer; SalesVATAccount: Code[20]; PurchaseVATAccount: Code[20]; SelectedSetup: Boolean) + var + VatSetupPostinGroup: Record "VAT Setup Posting Groups"; + begin + VatSetupPostinGroup.Init(); + VatSetupPostinGroup.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + VatSetupPostinGroup.Validate(Default, DefaultSetup); + VatSetupPostinGroup.Validate("VAT Prod. Posting Grp Desc.", VatProdPostingDesc); + VatSetupPostinGroup.Validate("VAT %", VatPercent); + VatSetupPostinGroup.Validate("Sales VAT Account", SalesVATAccount); + VatSetupPostinGroup.Validate("Purchase VAT Account", PurchaseVATAccount); + VatSetupPostinGroup.Validate(Selected, SelectedSetup); + VatSetupPostinGroup.Validate("Application Type", VatSetupPostinGroup."Application Type"::Items); + VatSetupPostinGroup.Insert(true); + end; + + var + SetupExportReducedDescLbl: Label 'Setup for EXPORT / NO VAT', MaxLength = 100; + SetupExportNoTaxDescLbl: Label 'Setup for EXPORT / NO TAX', MaxLength = 100; + SetupExportStandardDescLbl: Label 'Setup for EXPORT / VAT7', MaxLength = 100; + SetupExportDecreaseDescLbl: Label 'Setup for EXPORT / VAT4', MaxLength = 100; + SetupExportIncreaseDescLbl: Label 'Setup for EXPORT / VAT21', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESColumnLayout.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESColumnLayout.Codeunit.al new file mode 100644 index 0000000000..b78a8d4442 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESColumnLayout.Codeunit.al @@ -0,0 +1,125 @@ +codeunit 10796 "Create ES Column Layout" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoESAccountSchedule: Codeunit "Contoso ES Account Schedule"; + CreateESColumnLayoutName: Codeunit "Create ES Column Layout Name"; + begin + ContosoESAccountSchedule.SetOverwriteData(true); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 10000, '1', BeginningBalanceLbl, Enum::"Column Layout Type"::"Beginning Balance", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 20000, '2', DebitsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Debit Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 30000, '3', CreditsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Credit Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(), 40000, '4', EndingBalanceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1+2-3', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[2]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[3]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[4]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 50000, '5', MayLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[5]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[6]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[7]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[8]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[9]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[10]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[11]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.BalanceSheetTrend(), 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[12]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 20000, '2', PriorMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBalancePriorMonthBalance(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 20000, '2', SameMonthPriorYearBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1FY', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBalancevSameMonthPriorYearBalance(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[2]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[3]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[4]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 50000, '5', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[5]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[6]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[7]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[8]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[9]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[10]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[11]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[12]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthsNetChangeBudget(), 130000, '13', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '1..12', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChange(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 20000, '2', SameMonthPriorYearNetChanLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1FY', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangeSameMonthPriorYearNetChange(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 40000, '4', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 50000, '5', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 60000, '6', SameMonthPriorYearNetChanLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '-1FY', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthNetChangePriorMonthNetChangeForCYandCurrentMonthPriorMonthForPY(), 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '5-6', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 10000, '1', CurrentMonthActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 20000, '2', CurrentMonthBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'P', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1-2', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 40000, '4', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 50000, '5', YearToDateActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 60000, '6', YearToDateBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '5-6', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 80000, '8', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 90000, '9', TotalBudgetPlannedLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1..12]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.CurrentMonthBudgetYearToDateBudgetAndBudgetTotalAndBudgetRemaining(), 100000, '10', TotalBudgetRemainingLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '9-5', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 10000, 'A', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[1]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 20000, 'A', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[2]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 30000, 'A', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[3]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 40000, 'A', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[4]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 50000, 'A', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[5]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 60000, 'A', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[6]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 70000, 'A', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[7]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 80000, 'A', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[8]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 90000, 'A', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[9]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 100000, 'A', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[10]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 110000, 'A', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[11]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 120000, 'A', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, 'FY[12]', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.IncomeStatementTrend(), 130000, '', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'A', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.Balance(), 10000, '', CurrentFiscalYearLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.Balance(), 20000, '', LastFiscalYearLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', '<-1Y>'); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.Pyg(), 10000, '', CurrentFiscalYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoESAccountSchedule.InsertColumnLayout(CreateESColumnLayoutName.Pyg(), 20000, '', LastFiscalYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', '<-1Y>'); + ContosoESAccountSchedule.SetOverwriteData(false); + end; + + var + BeginningBalanceLbl: Label 'Beginning Balance', MaxLength = 30; + DebitsLbl: Label 'Debits', MaxLength = 30; + CreditsLbl: Label 'Credits', MaxLength = 30; + EndingBalanceLbl: Label 'Ending Balance', MaxLength = 30; + JanuaryLbl: Label 'January', MaxLength = 30; + FebruaryLbl: Label 'February', MaxLength = 30; + MarchLbl: Label 'March', MaxLength = 30; + AprilLbl: Label 'April', MaxLength = 30; + MayLbl: Label 'May', MaxLength = 30; + JuneLbl: Label 'June', MaxLength = 30; + JulyLbl: Label 'July', MaxLength = 30; + AugustLbl: Label 'August', MaxLength = 30; + SeptemberLbl: Label 'September', MaxLength = 30; + OctoberLbl: Label 'October', MaxLength = 30; + NovemberLbl: Label 'November', MaxLength = 30; + DecemberLbl: Label 'December', MaxLength = 30; + CurrentMonthBalanceLbl: Label 'Current Month Balance', MaxLength = 30; + PriorMonthBalanceLbl: Label 'Prior Month Balance', MaxLength = 30; + DifferenceLbl: Label 'Difference', MaxLength = 30; + SameMonthPriorYearBalanceLbl: Label 'Same Month Prior Year Balance', MaxLength = 30; + CurrentMonthNetChangeLbl: Label 'Current Month Net Change', MaxLength = 30; + TotalLbl: Label 'Total', MaxLength = 30; + PriorMonthNetChangeLbl: Label 'Prior Month Net Change', MaxLength = 30; + SameMonthPriorYearNetChanLbl: Label 'Same Month Prior Year Net Chan', MaxLength = 30; + CurrentMonthActualLbl: Label 'Current Month Actual', MaxLength = 30; + CurrentMonthBudgetLbl: Label 'Current Month Budget', MaxLength = 30; + YearToDateActualLbl: Label 'Year to Date Actual', MaxLength = 30; + YearToDateBudgetLbl: Label 'Year to Date Budget', MaxLength = 30; + TotalBudgetPlannedLbl: Label 'Total Budget Planned', MaxLength = 30; + TotalBudgetRemainingLbl: Label 'Total Budget Remaining', MaxLength = 30; + CurrentFiscalYearLbl: Label 'Current Fiscal Year', MaxLength = 30; + LastFiscalYearLbl: Label 'Last Fiscal Year', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESCurrencyExch.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESCurrencyExch.Codeunit.al new file mode 100644 index 0000000000..d0fbb51fab --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESCurrencyExch.Codeunit.al @@ -0,0 +1,182 @@ +codeunit 10834 "Create ES Currency Exch" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 154.8801, 154.8801); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.SetOverwriteData(true); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 165.793, 165.793); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.SEK(), CurrentDate, 100, 100, 15.7473, 15.7473); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.USD(), CurrentDate, 100, 100, 101.7599, 101.7599); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 159.2372, 159.2372); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.SEK(), CurrentDate, 100, 100, 16.2267, 16.2267); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.USD(), CurrentDate, 100, 100, 105.0287, 105.0287); + ContosoCurrency.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = date then + ValidateCurrencyExchRate(Rec, 12.3754, 12.3754); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESFinancialReport.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESFinancialReport.Codeunit.al new file mode 100644 index 0000000000..babde4b442 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESFinancialReport.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 10792 "Create ES Financial Report" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + CreateESAccountScheduleName: Codeunit "Create ES Acc Schedule Name"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertFinancialReport(CreateESAccountScheduleName.BalanceSheetDetail(), BalanceSheetDetailedLbl, CreateESAccountScheduleName.BalanceSheetDetail(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateESAccountScheduleName.BalanceSheetSummarized(), BalanceSheetSummarizedLbl, CreateESAccountScheduleName.BalanceSheetSummarized(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateESAccountScheduleName.IncomeStatementDetail(), IncomeStatementDetailedLbl, CreateESAccountScheduleName.IncomeStatementDetail(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateESAccountScheduleName.IncomeStatementSummarized(), IncomeStatementSummarizedLbl, CreateESAccountScheduleName.IncomeStatementSummarized(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateESAccountScheduleName.TrialBalance(), TrialBalanceLbl, CreateESAccountScheduleName.TrialBalance(), BeginningBalanceDebitsCreditsEndingBalanceLbl); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Financial Report", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFinancialReport(var Rec: Record "Financial Report") + var + CreateFinancialReport: Codeunit "Create Financial Report"; + begin + case Rec.Name of + CreateFinancialReport.CapitalStructure(): + Rec.Validate("Financial Report Column Group", 'DEFAULT'); + end; + end; + + var + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; + BalanceSheetTrendLbl: Label 'BSTREND', MaxLength = 10; + IncomeStatementTrendLbl: Label 'ISTREND', MaxLength = 10; + BeginningBalanceDebitsCreditsEndingBalanceLbl: Label 'BBDRCREB', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatRegNoFormat.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatRegNoFormat.Codeunit.al new file mode 100644 index 0000000000..f1ea4ae2e8 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatRegNoFormat.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 10838 "Create ES Vat Reg. No. Format" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCountryRegion: Codeunit "Create Country/Region"; + ContosoCountryOrRegion: Codeunit "Contoso Country Or Region"; + begin + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 40000, CZFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 50000, CZFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 60000, CZFormat2Lbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Registration No. Format", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatRegNoFormat(var Rec: Record "VAT Registration No. Format") + begin + Rec.Validate("Check VAT Registration No.", false); + end; + + var + CZFormatLbl: Label '########', MaxLength = 20, Locked = true; + CZFormat1Lbl: Label '#########', MaxLength = 20, Locked = true; + CZFormat2Lbl: Label '##########', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatStatementLine.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatStatementLine.Codeunit.al new file mode 100644 index 0000000000..fd4d936f4f --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatStatementLine.Codeunit.al @@ -0,0 +1,377 @@ +codeunit 10832 "Create ES VAT Statement Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + CreateVATStatementLine(); + end; + + local procedure CreateVATStatementLine() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateESVATPostingGroup: Codeunit "Create ES VAT Posting Groups"; + begin + ContosoVatStatement.SetOverwriteData(true); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 10000, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, SalesVAT21outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 20000, '1020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, SalesVAT7outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 30000, '1050', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, VAT21onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 40000, '1060', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, VAT7onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 50000, '1030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, SalesVAT4outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 60000, '1070', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, VAT4onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 70000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 80000, '1099', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1010..1090', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 90000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 100000, '1110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT21DomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 110000, '1120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT7DomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 120000, '1150', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT21EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 130000, '1160', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 140000, '1130', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT4DomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 150000, '1170', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseVAT4EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 160000, '1179', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1110..1170', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, PurchaseVATingoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 170000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 180000, '1199', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1159|1189', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDeductionsLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 190000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 200000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 210000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1099|1199', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VATPayableLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 220000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 230000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 240000, '1210', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofEUPurchases21Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 250000, '1220', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofEUPurchases7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 260000, '1230', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, ValueofEUPurchases4Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 270000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 280000, '1240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales21Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 290000, '1250', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 300000, '1260', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales4Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 310000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 320000, '1310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 330000, '1320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 340000, '1330', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 350000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1310..1330', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 360000, '1340', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.NOVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesDomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 370000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1340..1348', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesDomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 380000, '10', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountSalesVAT16outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 390000, 'B010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseSalesVAT16outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 400000, '19', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '10..18', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountSalesVAT16outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 400000, '3'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 410000, 'B019', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B010..B018', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseSalesVAT16outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 410000, '1'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 420000, '1D', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SixteenLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 420000, '2'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 430000, '20', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountSalesVAT7outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 440000, 'B020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseSalesVAT7outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 450000, '29', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '20..28', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountSalesVAT7outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 450000, '6'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 460000, 'B029', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B020..B028', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseSalesVAT7outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 460000, '4'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 470000, '2D', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SevenLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 470000, '5'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 480000, '30', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, AmountVAT16onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 490000, 'B030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 1, BaseVAT16onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 500000, '39', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '30..38', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountVAT16onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 510000, 'B039', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B030..B038', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseVAT16onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 520000, '40', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, AmountVAT7onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 530000, 'B040', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 1, false, 1, BaseVAT7onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 540000, '49', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '40..48', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountVAT7onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 550000, 'B049', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B040..B048', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, BaseAmountVAT7onEUPurchasesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 560000, '50', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '39|49', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountVATEUPurchasesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 560000, '20'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 570000, 'B050', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B039|B049', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseVATEUPurchasesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 570000, '19'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 580000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 590000, '99', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '19|29|50', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDuedVATAmountLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 590000, '21'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 600000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 610000, '110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountPurchaseVAT16Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 620000, 'B110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT16Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 630000, '119', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '110..118', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountPurchaseVAT16Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 640000, 'B119', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B110..B118', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT16Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 650000, '120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountPurchaseVAT7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 660000, 'B120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 670000, '129', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '120..128', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountPurchaseVAT7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 680000, 'B129', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B120..B128', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 690000, '130', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '119|129', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountPurchasesLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 690000, '23'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 700000, 'B130', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B119|B129', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchasesLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 700000, '22'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 710000, '131', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, BasePurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 720000, 'B131', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT16EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 730000, '139', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '131..138', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountPurchaseVAT16EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 740000, 'B139', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B131..B138', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT16EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 750000, '140', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountPurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 760000, 'B140', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 770000, '149', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '140..148', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountPurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 780000, 'B149', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B140..B148', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 790000, '170', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '139|149', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountPurchasesEULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 790000, '27'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 800000, 'B170', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B139|B149', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchasesUELbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 800000, '26'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 810000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 820000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 830000, '199', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '130|170', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDeductionsLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 830000, '30'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 840000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 850000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '99|199', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, DifferenceLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 850000, '31'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 860000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 870000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 880000, '230', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales21Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 890000, '240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 900000, '250', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '230|240', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueofEUSalesLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 900000, '35'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 910000, '310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 920000, '311', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 930000, '319', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '310|311', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesOverseasLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 930000, '36'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 940000, '320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.NOVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesDomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement320Lbl, 950000, '329', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '320..328', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesDomesticLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement320Lbl, 950000, '37'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 960000, '10', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountSalesVAT16outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 970000, 'B010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseSalesVAT16outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 980000, '19', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '10..18', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountSalesVAT16outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 980000, '6'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 990000, 'B019', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B010..B018', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseSalesVAT16outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 990000, '5'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1000000, '1D', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SixteenLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1010000, '20', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountSalesVAT7outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1020000, 'B020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseSalesVAT7outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1030000, '29', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '20..28', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountSalesVAT7outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1030000, '4'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1040000, 'B029', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B020..B028', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseSalesVAT7outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1040000, '3'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1050000, '2D', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SevenLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1060000, '30', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountSalesVAT4outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1070000, 'B030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseSalesVAT4outgoingLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1080000, '39', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '30..38', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountSalesVAT4outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1080000, '2'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1090000, 'B039', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B030..B038', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseSalesVAT4outgoingLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1090000, '1'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1100000, '3D', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, FourLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1110000, '4D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '19|29|39', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountSalesVATLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1120000, '5D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B019|B029|B039', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseSalesVATLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1130000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1140000, '40', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountVAT16onEUSalesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1150000, 'B040', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseVAT16onEUSalesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1160000, '49', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '40..48', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountVAT16onEUSalesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1160000, '26'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1170000, 'B049', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B040..B048', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseVAT16onEUSalesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1170000, '25'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1180000, '50', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountVAT7onEUSalesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1190000, 'B050', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseVAT7onEUSalesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1200000, '59', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '50..58', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountVAT7onEUSalesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1200000, '24'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1210000, 'B059', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B050..B058', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseVAT7onEUSalesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1210000, '23'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1220000, '60', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, AmountVAT4onEUSalesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1230000, 'B060', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, BaseVAT4onEUSalesetcLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1240000, '69', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '60..68', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountVAT4onEUSalesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1240000, '22'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1250000, 'B069', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B060..B068', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBaseVAT4onEUSalesetcLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1250000, '21'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1260000, '6D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '49|59|69', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalAmountVATEUSalesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1270000, '7D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B049|B059|B069', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalBaseVATEUSalesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1280000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1290000, '1T', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '4D|6D', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDuedVATAmountLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1290000, '34'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1300000, '1TB', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '5D|7D', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDuedBaseVATLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1300000, '33'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1310000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1320000, '110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, AmountPurchaseVAT16Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1330000, 'B110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT16Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1340000, '119', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '110..118', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchaseVAT16Lbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1340000, '195'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1350000, 'B119', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B110..B118', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT16Lbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1350000, '194'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1360000, '120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, AmountPurchaseVAT7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1370000, 'B120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1380000, '129', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '120..128', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchaseVAT7Lbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1380000, '193'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1390000, 'B129', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B120..B128', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT7Lbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1390000, '192'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1400000, '130', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, AmountPurchaseVAT4Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1410000, 'B130', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT4Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1420000, '139', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '130..138', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchaseVAT4Lbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1420000, '191'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1430000, 'B139', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B130..B138', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT4Lbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1430000, '190'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1440000, '8D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '119|129|139', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchasesVATLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1440000, '49'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1450000, '9D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B119|B129|B139', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchasesVATLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1450000, '48'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1460000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1470000, '140', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, AmountPurchaseVAT16EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1480000, 'B140', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT16EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1490000, '149', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '140..148', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchaseVAT16EULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1490000, '219'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1500000, 'B149', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B140..B148', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT16EULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1500000, '218'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1510000, '150', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, AmountPurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1520000, 'B150', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT7EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1530000, '159', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '150..158', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchaseVAT7EULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1530000, '217'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1540000, 'B159', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B150..B158', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT7EULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1540000, '216'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1550000, '160', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, AmountPurchaseVAT4EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1560000, 'B160', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, BasePurchaseVAT4EULbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1570000, '169', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '160..168', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchaseVAT4EULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1570000, '215'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1580000, 'B169', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B160..B168', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchaseVAT4EULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1580000, '214'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1590000, '10D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '149|159|169', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalAmountPurchasesEULbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1590000, '57'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1600000, '11D', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', 'B149|B159|B169', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalBasePurchasesUELbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1600000, '56'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1610000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1620000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1630000, '2T', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '8D|10D', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDeductionsLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1630000, '64'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1640000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1650000, '3T', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1T|2T', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, DifferenceLbl, ''); + UpdateBoxValue(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1650000, '65'); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1660000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1670000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1680000, '230', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales21Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1690000, '240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1700000, '250', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ValueofEUSales4Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1710000, '260', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '230|240|250', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalValueofEUSalesLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1720000, '310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT21(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, NonVATliablesalesOverseas16Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1730000, '311', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT7(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, NonVATliablesalesOverseas7Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1740000, '312', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateESVATPostingGroup.VAT4(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, NonVATliablesalesOverseas4Lbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1750000, '319', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '310|311|312', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalNonVATliablesalesOverseasLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1760000, '320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateESVATPostingGroup.NOVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, NonVATliablesalesDomesticLbl, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1770000, '329', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '320..328', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalNonVATliablesalesDomesticLbl, ''); + ContosoVatStatement.SetOverwriteData(false); + end; + + local procedure UpdateBoxValue(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementLineNo: Integer; StatementBox: Code[5]) + var + VatStatementLine: Record "VAT Statement Line"; + begin + if not VatStatementLine.Get(StatementTemplateName, StatementName, StatementLineNo) then + exit; + + VatStatementLine.Validate(Box, StatementBox); + VatStatementLine.Modify(true); + end; + + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + Statement320Lbl: Label 'STMT. 320', MaxLength = 10; + Statement392Lbl: Label 'STMT. 392', MaxLength = 10; + SalesVAT21outgoingLbl: Label 'Sales VAT 21 % (outgoing)', MaxLength = 100; + SalesVAT7outgoingLbl: Label 'Sales VAT 7 % (outgoing)', MaxLength = 100; + VAT21onEUPurchasesetcLbl: Label 'VAT 21 % % on EU Purchases etc.', MaxLength = 100; + VAT7onEUPurchasesetcLbl: Label 'VAT 7 % % on EU Purchases etc.', MaxLength = 100; + SalesVAT4outgoingLbl: Label 'Sales VAT 4 % (outgoing)', MaxLength = 100; + VAT4onEUPurchasesetcLbl: Label 'VAT 4 % % on EU Purchases etc.', MaxLength = 100; + SeparationLineLbl: Label '--------------------------------------------------', MaxLength = 100; + TotalLbl: Label 'Total', MaxLength = 100; + PurchaseVAT21DomesticLbl: Label 'Purchase VAT 21 % Domestic', MaxLength = 100; + PurchaseVAT7DomesticLbl: Label 'Purchase VAT 7 % Domestic', MaxLength = 100; + PurchaseVAT21EULbl: Label 'Purchase VAT 21 % EU', MaxLength = 100; + PurchaseVAT7EULbl: Label 'Purchase VAT 7 % EU', MaxLength = 100; + PurchaseVAT4DomesticLbl: Label 'Purchase VAT 4 % Domestic', MaxLength = 100; + PurchaseVAT4EULbl: Label 'Purchase VAT 4 % EU', MaxLength = 100; + PurchaseVATingoingLbl: Label 'Purchase VAT (ingoing)', MaxLength = 100; + TotalDeductionsLbl: Label 'Total Deductions', MaxLength = 100; + VATPayableLbl: Label 'VAT Payable', MaxLength = 100; + ValueofEUPurchases21Lbl: Label 'Value of EU Purchases 21 %', MaxLength = 100; + ValueofEUPurchases7Lbl: Label 'Value of EU Purchases 7 %', MaxLength = 100; + ValueofEUPurchases4Lbl: Label 'Value of EU Purchases 4 %', MaxLength = 100; + ValueofEUSales21Lbl: Label 'Value of EU Sales 21 %', MaxLength = 100; + ValueofEUSales7Lbl: Label 'Value of EU Sales 7 %', MaxLength = 100; + ValueofEUSales4Lbl: Label 'Value of EU Sales 4 %', MaxLength = 100; + NonVATliablesalesOverseasLbl: Label 'Non-VAT liable sales, Overseas', MaxLength = 100; + NonVATliablesalesDomesticLbl: Label 'Non-VAT liable sales, Domestic', MaxLength = 100; + AmountSalesVAT16outgoingLbl: Label 'Amount Sales VAT 16 % (outgoing)', MaxLength = 100; + BaseSalesVAT16outgoingLbl: Label 'Base Sales VAT 16 % (outgoing)', MaxLength = 100; + TotalAmountSalesVAT16outgoingLbl: Label 'Total Amount Sales VAT 16 % (outgoing)', MaxLength = 100; + TotalBaseSalesVAT16outgoingLbl: Label 'Total Base Sales VAT 16 % (outgoing)', MaxLength = 100; + SixteenLbl: Label '16', MaxLength = 100; + AmountSalesVAT7outgoingLbl: Label 'Amount Sales VAT 7 % (outgoing)', MaxLength = 100; + BaseSalesVAT7outgoingLbl: Label 'Base Sales VAT 7 % (outgoing)', MaxLength = 100; + TotalAmountSalesVAT7outgoingLbl: Label 'Total Amount Sales VAT 7 % (outgoing)', MaxLength = 100; + TotalBaseSalesVAT7outgoingLbl: Label 'Total Base Sales VAT 7 % (outgoing)', MaxLength = 100; + SevenLbl: Label '7', MaxLength = 100; + AmountVAT16onEUPurchasesetcLbl: Label 'Amount VAT 16 % on EU Purchases etc.', MaxLength = 100; + BaseVAT16onEUPurchasesetcLbl: Label 'Base VAT 16 % on EU Purchases etc.', MaxLength = 100; + TotalAmountVAT16onEUPurchasesetcLbl: Label 'Total Amount VAT 16 % on EU Purchases etc.', MaxLength = 100; + TotalBaseVAT16onEUPurchasesetcLbl: Label 'Total Base VAT 16 % on EU Purchases etc.', MaxLength = 100; + AmountVAT7onEUPurchasesetcLbl: Label 'Amount VAT 7 % on EU Purchases etc.', MaxLength = 100; + BaseVAT7onEUPurchasesetcLbl: Label 'Base VAT 7 % on EU Purchases etc.', MaxLength = 100; + TotalAmountVAT7onEUPurchasesetcLbl: Label 'Total Amount VAT 7 % on EU Purchases etc.', MaxLength = 100; + BaseAmountVAT7onEUPurchasesetcLbl: Label 'Base Amount VAT 7 % on EU Purchases etc.', MaxLength = 100; + TotalAmountVATEUPurchasesetcLbl: Label 'Total Amount VAT EU Purchases etc.', MaxLength = 100; + TotalBaseVATEUPurchasesetcLbl: Label 'Total Base VAT EU Purchases etc.', MaxLength = 100; + TotalDuedVATAmountLbl: Label 'Total Dued VAT Amount', MaxLength = 100; + AmountPurchaseVAT16Lbl: Label 'Amount Purchase VAT 16 %', MaxLength = 100; + BasePurchaseVAT16Lbl: Label 'Base Purchase VAT 16 %', MaxLength = 100; + TotalAmountPurchaseVAT16Lbl: Label 'Total Amount Purchase VAT 16 %', MaxLength = 100; + TotalBasePurchaseVAT16Lbl: Label 'Total Base Purchase VAT 16 %', MaxLength = 100; + AmountPurchaseVAT7Lbl: Label 'Amount Purchase VAT 7 %', MaxLength = 100; + BasePurchaseVAT7Lbl: Label 'Base Purchase VAT 7 %', MaxLength = 100; + TotalAmountPurchaseVAT7Lbl: Label 'Total Amount Purchase VAT 7 %', MaxLength = 100; + TotalBasePurchaseVAT7Lbl: Label 'Total Base Purchase VAT 7 %', MaxLength = 100; + TotalAmountPurchasesLbl: Label 'Total Amount Purchases', MaxLength = 100; + TotalBasePurchasesLbl: Label 'Total Base Purchases', MaxLength = 100; + BasePurchaseVAT7EULbl: Label 'Base Purchase VAT 7 % EU', MaxLength = 100; + BasePurchaseVAT16EULbl: Label 'Base Purchase VAT 16 % EU', MaxLength = 100; + TotalAmountPurchaseVAT16EULbl: Label 'Total Amount Purchase VAT 16 % EU', MaxLength = 100; + TotalBasePurchaseVAT16EULbl: Label 'Total Base Purchase VAT 16 % EU', MaxLength = 100; + AmountPurchaseVAT7EULbl: Label 'Amount Purchase VAT 7 % EU', MaxLength = 100; + TotalAmountPurchaseVAT7EULbl: Label 'Total Amount Purchase VAT 7 % EU', MaxLength = 100; + TotalBasePurchaseVAT7EULbl: Label 'Total Base Purchase VAT 7 % EU', MaxLength = 100; + TotalAmountPurchasesEULbl: Label 'Total Amount Purchases EU', MaxLength = 100; + TotalBasePurchasesUELbl: Label 'Total Base Purchases UE', MaxLength = 100; + DifferenceLbl: Label 'Difference', MaxLength = 100; + ValueofEUSalesLbl: Label 'Value of EU Sales', MaxLength = 100; + AmountSalesVAT4outgoingLbl: Label 'Amount Sales VAT 4 % (outgoing)', MaxLength = 100; + BaseSalesVAT4outgoingLbl: Label 'Base Sales VAT 4 % (outgoing)', MaxLength = 100; + TotalAmountSalesVAT4outgoingLbl: Label 'Total Amount Sales VAT 4 % (outgoing)', MaxLength = 100; + TotalBaseSalesVAT4outgoingLbl: Label 'Total Base Sales VAT 4 % (outgoing)', MaxLength = 100; + FourLbl: Label '4', MaxLength = 100; + TotalAmountSalesVATLbl: Label 'Total Amount Sales VAT', MaxLength = 100; + TotalBaseSalesVATLbl: Label 'Total Base Sales VAT', MaxLength = 100; + AmountVAT16onEUSalesetcLbl: Label 'Amount VAT 16 % on EU Sales etc.', MaxLength = 100; + BaseVAT16onEUSalesetcLbl: Label 'Base VAT 16 % on EU Sales etc.', MaxLength = 100; + TotalAmountVAT16onEUSalesetcLbl: Label 'Total Amount VAT 16 % on EU Sales etc.', MaxLength = 100; + TotalBaseVAT16onEUSalesetcLbl: Label 'Total Base VAT 16 % on EU Sales etc.', MaxLength = 100; + AmountVAT7onEUSalesetcLbl: Label 'Amount VAT 7 % on EU Sales etc.', MaxLength = 100; + BaseVAT7onEUSalesetcLbl: Label 'Base VAT 7 % on EU Sales etc.', MaxLength = 100; + TotalAmountVAT7onEUSalesetcLbl: Label 'Total Amount VAT 7 % on EU Sales etc.', MaxLength = 100; + TotalBaseVAT7onEUSalesetcLbl: Label 'Total Base VAT 7 % on EU Sales etc.', MaxLength = 100; + AmountVAT4onEUSalesetcLbl: Label 'Amount VAT 4 % on EU Sales etc.', MaxLength = 100; + BaseVAT4onEUSalesetcLbl: Label 'Base VAT 4 % on EU Sales etc.', MaxLength = 100; + TotalAmountVAT4onEUSalesetcLbl: Label 'Total Amount VAT 4 % on EU Sales etc.', MaxLength = 100; + TotalBaseVAT4onEUSalesetcLbl: Label 'Total Base VAT 4 % on EU Sales etc.', MaxLength = 100; + TotalAmountVATEUSalesLbl: Label 'Total Amount VAT EU Sales', MaxLength = 100; + TotalBaseVATEUSalesLbl: Label 'Total Base VAT EU Sales', MaxLength = 100; + TotalDuedBaseVATLbl: Label 'Total Dued Base VAT', MaxLength = 100; + AmountPurchaseVAT4Lbl: Label 'Amount Purchase VAT 4 %', MaxLength = 100; + BasePurchaseVAT4Lbl: Label 'Base Purchase VAT 4 %', MaxLength = 100; + TotalAmountPurchaseVAT4Lbl: Label 'Total Amount Purchase VAT 4 %', MaxLength = 100; + TotalBasePurchaseVAT4Lbl: Label 'Total Base Purchase VAT 4 %', MaxLength = 100; + TotalAmountPurchasesVATLbl: Label 'Total Amount Purchases VAT', MaxLength = 100; + TotalBasePurchasesVATLbl: Label 'Total Base Purchases VAT', MaxLength = 100; + AmountPurchaseVAT16EULbl: Label 'Amount Purchase VAT 16 % EU', MaxLength = 100; + AmountPurchaseVAT4EULbl: Label 'Amount Purchase VAT 4 % EU', MaxLength = 100; + BasePurchaseVAT4EULbl: Label 'Base Purchase VAT 4 % EU', MaxLength = 100; + TotalAmountPurchaseVAT4EULbl: Label 'Total Amount Purchase VAT 4 % EU', MaxLength = 100; + TotalBasePurchaseVAT4EULbl: Label 'Total Base Purchase VAT 4 % EU', MaxLength = 100; + TotalValueofEUSalesLbl: Label 'Total Value of EU Sales ', MaxLength = 100; + NonVATliablesalesOverseas16Lbl: Label 'Non-VAT liable sales, Overseas 16%', MaxLength = 100; + NonVATliablesalesOverseas7Lbl: Label 'Non-VAT liable sales, Overseas 7%', MaxLength = 100; + NonVATliablesalesOverseas4Lbl: Label 'Non-VAT liable sales, Overseas 4%', MaxLength = 100; + TotalNonVATliablesalesOverseasLbl: Label 'Total Non-VAT liable sales, Overseas', MaxLength = 100; + TotalNonVATliablesalesDomesticLbl: Label 'Total Non-VAT liable sales, Domestic', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatStatementName.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatStatementName.Codeunit.al new file mode 100644 index 0000000000..b1023f77d2 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Finance/2.Master Data/CreateESVatStatementName.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 10833 "Create ES VAT Statement Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVATStatement: Codeunit "Create VAT Statement"; + ContosoVatStatment: Codeunit "Contoso VAT Statement"; + begin + ContosoVatStatment.InsertVATStatementName(CreateVATStatement.VATTemplateName(), Statement320Lbl, TelematicStatement320DescLbl); + ContosoVatStatment.InsertVATStatementName(CreateVATStatement.VATTemplateName(), Statement392Lbl, TelematicStatement392DescLbl); + UpdateTemplateType(CreateVATStatement.VATTemplateName(), StatementNameLbl, 0); + UpdateTemplateType(CreateVATStatement.VATTemplateName(), Statement320Lbl, 1); + UpdateTemplateType(CreateVATStatement.VATTemplateName(), Statement392Lbl, 1); + end; + + local procedure UpdateTemplateType(StatementTemplateName: Code[10]; StatementName: Code[10]; TemplateType: option) + var + VatStatementName: Record "VAT Statement Name"; + begin + if not VatStatementName.Get(StatementTemplateName, StatementName) then + exit; + + VatStatementName.Validate("Template Type", TemplateType); + VatStatementName.Modify(true); + end; + + var + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + Statement320Lbl: Label 'STMT. 320', MaxLength = 10; + Statement392Lbl: Label 'STMT. 392', MaxLength = 10; + TelematicStatement320DescLbl: Label '320 Telematic Statement', MaxLength = 100; + TelematicStatement392DescLbl: Label '392 XML Telematic Statement', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Fixed Asset/1.Setup Data/CreateESFAPostingGroup.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Fixed Asset/1.Setup Data/CreateESFAPostingGroup.Codeunit.al new file mode 100644 index 0000000000..a00f84b391 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Fixed Asset/1.Setup Data/CreateESFAPostingGroup.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 10807 "Create ES FA Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroups(var Rec: Record "FA Posting Group") + var + CreateFAPostingGrp: Codeunit "Create FA Posting Group"; + CreateESGLAccounts: Codeunit "Create ES GL Accounts"; + begin + case Rec.Code of + CreateFAPostingGrp.Equipment(), + CreateFAPostingGrp.Goodwill(), + CreateFAPostingGrp.Plant(), + CreateFAPostingGrp.Property(), + // CreateFAPostingGrp.IP(), + // CreateFAPostingGrp.LeaseHold(), + // CreateFAPostingGrp.Patents(), + // CreateFAPostingGrp.Furniture(): + CreateFAPostingGrp.Vehicles(): + ValidateRecordFields(Rec, CreateESGLAccounts.IndustrialMachinery(), CreateESGLAccounts.DepIndustrialMachinery(), CreateESGLAccounts.IndustrialMachinery(), CreateESGLAccounts.DepIndustrialMachinery(), '', CreateESGLAccounts.LossOnTangAssetsTransf(), CreateESGLAccounts.Repairs(), CreateESGLAccounts.DeprOfTangAssets(), CreateESGLAccounts.IndustrialMachinery()); + end; + end; + + local procedure ValidateRecordFields(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; + + procedure Building(): Code[20] + begin + exit(BuildingTok); + end; + + var + BuildingTok: Label 'BUILDING', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESArea.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESArea.Codeunit.al new file mode 100644 index 0000000000..ce1a37ef9c --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESArea.Codeunit.al @@ -0,0 +1,165 @@ +codeunit 10808 "Create ES Area" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoESArea: Codeunit "Contoso ES Area"; + begin + ContosoESArea.SetOverwriteData(true); + ContosoESArea.InsertArea('01', AlavaLbl, ES01Lbl); + ContosoESArea.InsertArea('02', AlbaceteLbl, ES02Lbl); + ContosoESArea.InsertArea('03', AlicanteAlacantLbl, ES03Lbl); + ContosoESArea.InsertArea('04', AlmeríaLbl, ES04Lbl); + ContosoESArea.InsertArea('05', AvilaLbl, ES05Lbl); + ContosoESArea.InsertArea('06', BadajozLbl, ES06Lbl); + ContosoESArea.InsertArea('07', BalearesLbl, ES07Lbl); + ContosoESArea.InsertArea('08', BarcelonaLbl, ES08Lbl); + ContosoESArea.InsertArea('09', BurgosLbl, ES09Lbl); + ContosoESArea.InsertArea('10', CáceresLbl, ES10Lbl); + ContosoESArea.InsertArea('11', CádizLbl, ES11Lbl); + ContosoESArea.InsertArea('12', CastellónLbl, ES12Lbl); + ContosoESArea.InsertArea('13', CRealLbl, ES13Lbl); + ContosoESArea.InsertArea('14', CórdobaLbl, ES14Lbl); + ContosoESArea.InsertArea('15', LaCoruñaLbl, ES15Lbl); + ContosoESArea.InsertArea('16', CuencaLbl, ES16Lbl); + ContosoESArea.InsertArea('17', GironaLbl, ES17Lbl); + ContosoESArea.InsertArea('18', GranadaLbl, ES18Lbl); + ContosoESArea.InsertArea('19', GuadalajaraLbl, ES19Lbl); + ContosoESArea.InsertArea('20', GuipúzcoaLbl, ES20Lbl); + ContosoESArea.InsertArea('21', HuelvaLbl, ES21Lbl); + ContosoESArea.InsertArea('22', HuescaLbl, ES22Lbl); + ContosoESArea.InsertArea('23', JaenLbl, ES23Lbl); + ContosoESArea.InsertArea('24', LeónLbl, ES24Lbl); + ContosoESArea.InsertArea('25', LéridaLbl, ES25Lbl); + ContosoESArea.InsertArea('26', LogroñoLbl, ES26Lbl); + ContosoESArea.InsertArea('27', LugoLbl, ES27Lbl); + ContosoESArea.InsertArea('28', MadridLbl, ES28Lbl); + ContosoESArea.InsertArea('29', MálagaLbl, ES29Lbl); + ContosoESArea.InsertArea('30', MurciaLbl, ES30Lbl); + ContosoESArea.InsertArea('31', NavarraLbl, ES31Lbl); + ContosoESArea.InsertArea('32', OurenseLbl, ES32Lbl); + ContosoESArea.InsertArea('33', PAsturiasLbl, ES33Lbl); + ContosoESArea.InsertArea('34', PalenciaLbl, ES34Lbl); + ContosoESArea.InsertArea('35', LasPalmasLbl, ES35Lbl); + ContosoESArea.InsertArea('36', PontevedraLbl, ES36Lbl); + ContosoESArea.InsertArea('37', SalamancaLbl, ES37Lbl); + ContosoESArea.InsertArea('38', StaCruzTenerifeLbl, ES38Lbl); + ContosoESArea.InsertArea('39', SantanderLbl, ES39Lbl); + ContosoESArea.InsertArea('40', SegoviaLbl, ES40Lbl); + ContosoESArea.InsertArea('41', SevillaLbl, ES41Lbl); + ContosoESArea.InsertArea('42', SoriaLbl, ES42Lbl); + ContosoESArea.InsertArea('43', TarragonaLbl, ES43Lbl); + ContosoESArea.InsertArea('44', TeruelLbl, ES44Lbl); + ContosoESArea.InsertArea('45', ToledoLbl, ES45Lbl); + ContosoESArea.InsertArea('46', ValenciaLbl, ES46Lbl); + ContosoESArea.InsertArea('47', ValladolidLbl, ES47Lbl); + ContosoESArea.InsertArea('48', VizcayaLbl, ES48Lbl); + ContosoESArea.InsertArea('49', ZamoraLbl, ES49Lbl); + ContosoESArea.InsertArea('50', ZaragozaLbl, ES50Lbl); + ContosoESArea.SetOverwriteData(false); + end; + + var + AlavaLbl: Label 'Alava', MaxLength = 50; + AlbaceteLbl: Label 'Albacete', MaxLength = 50; + AlicanteAlacantLbl: Label 'Alicante/Alacant', MaxLength = 50; + AlmeríaLbl: Label 'Almería', MaxLength = 50; + AvilaLbl: Label 'Avila', MaxLength = 50; + BadajozLbl: Label 'Badajoz', MaxLength = 50; + BalearesLbl: Label 'Baleares', MaxLength = 50; + BarcelonaLbl: Label 'Barcelona', MaxLength = 50; + BurgosLbl: Label 'Burgos', MaxLength = 50; + CáceresLbl: Label 'Cáceres', MaxLength = 50; + CádizLbl: Label 'Cádiz', MaxLength = 50; + CastellónLbl: Label 'Castellón', MaxLength = 50; + CRealLbl: Label 'C. Real', MaxLength = 50; + CórdobaLbl: Label 'Córdoba', MaxLength = 50; + LaCoruñaLbl: Label 'La Coruña', MaxLength = 50; + CuencaLbl: Label 'Cuenca', MaxLength = 50; + GironaLbl: Label 'Girona', MaxLength = 50; + GranadaLbl: Label 'Granada', MaxLength = 50; + GuadalajaraLbl: Label 'Guadalajara', MaxLength = 50; + GuipúzcoaLbl: Label 'Guipúzcoa', MaxLength = 50; + HuelvaLbl: Label 'Huelva', MaxLength = 50; + HuescaLbl: Label 'Huesca', MaxLength = 50; + JaenLbl: Label 'Jaen', MaxLength = 50; + LeónLbl: Label 'León', MaxLength = 50; + LéridaLbl: Label 'Lérida', MaxLength = 50; + LogroñoLbl: Label 'Logroño', MaxLength = 50; + LugoLbl: Label 'Lugo', MaxLength = 50; + MadridLbl: Label 'Madrid', MaxLength = 50; + MálagaLbl: Label 'Málaga', MaxLength = 50; + MurciaLbl: Label 'Murcia', MaxLength = 50; + NavarraLbl: Label 'Navarra', MaxLength = 50; + OurenseLbl: Label 'Ourense', MaxLength = 50; + PAsturiasLbl: Label 'P. Asturias', MaxLength = 50; + PalenciaLbl: Label 'Palencia', MaxLength = 50; + LasPalmasLbl: Label 'Las Palmas', MaxLength = 50; + PontevedraLbl: Label 'Pontevedra', MaxLength = 50; + SalamancaLbl: Label 'Salamanca', MaxLength = 50; + StaCruzTenerifeLbl: Label 'Sta. Cruz Tenerife', MaxLength = 50; + SantanderLbl: Label 'Santander', MaxLength = 50; + SegoviaLbl: Label 'Segovia', MaxLength = 50; + SevillaLbl: Label 'Sevilla', MaxLength = 50; + SoriaLbl: Label 'Soria', MaxLength = 50; + TarragonaLbl: Label 'Tarragona', MaxLength = 50; + TeruelLbl: Label 'Teruel', MaxLength = 50; + ToledoLbl: Label 'Toledo', MaxLength = 50; + ValenciaLbl: Label 'Valencia', MaxLength = 50; + ValladolidLbl: Label 'Valladolid', MaxLength = 50; + VizcayaLbl: Label 'Vizcaya', MaxLength = 50; + ZamoraLbl: Label 'Zamora', MaxLength = 50; + ZaragozaLbl: Label 'Zaragoza', MaxLength = 50; + ES01Lbl: Label 'ES-01', MaxLength = 20; + ES02Lbl: Label 'ES-02', MaxLength = 20; + ES03Lbl: Label 'ES-03', MaxLength = 20; + ES04Lbl: Label 'ES-04', MaxLength = 20; + ES05Lbl: Label 'ES-05', MaxLength = 20; + ES06Lbl: Label 'ES-06', MaxLength = 20; + ES07Lbl: Label 'ES-07', MaxLength = 20; + ES08Lbl: Label 'ES-08', MaxLength = 20; + ES09Lbl: Label 'ES-09', MaxLength = 20; + ES10Lbl: Label 'ES-10', MaxLength = 20; + ES11Lbl: Label 'ES-11', MaxLength = 20; + ES12Lbl: Label 'ES-12', MaxLength = 20; + ES13Lbl: Label 'ES-13', MaxLength = 20; + ES14Lbl: Label 'ES-14', MaxLength = 20; + ES15Lbl: Label 'ES-15', MaxLength = 20; + ES16Lbl: Label 'ES-16', MaxLength = 20; + ES17Lbl: Label 'ES-17', MaxLength = 20; + ES18Lbl: Label 'ES-18', MaxLength = 20; + ES19Lbl: Label 'ES-19', MaxLength = 20; + ES20Lbl: Label 'ES-20', MaxLength = 20; + ES21Lbl: Label 'ES-21', MaxLength = 20; + ES22Lbl: Label 'ES-22', MaxLength = 20; + ES23Lbl: Label 'ES-23', MaxLength = 20; + ES24Lbl: Label 'ES-24', MaxLength = 20; + ES25Lbl: Label 'ES-25', MaxLength = 20; + ES26Lbl: Label 'ES-26', MaxLength = 20; + ES27Lbl: Label 'ES-27', MaxLength = 20; + ES28Lbl: Label 'ES-28', MaxLength = 20; + ES29Lbl: Label 'ES-29', MaxLength = 20; + ES30Lbl: Label 'ES-30', MaxLength = 20; + ES31Lbl: Label 'ES-31', MaxLength = 20; + ES32Lbl: Label 'ES-32', MaxLength = 20; + ES33Lbl: Label 'ES-33', MaxLength = 20; + ES34Lbl: Label 'ES-34', MaxLength = 20; + ES35Lbl: Label 'ES-35', MaxLength = 20; + ES36Lbl: Label 'ES-36', MaxLength = 20; + ES37Lbl: Label 'ES-37', MaxLength = 20; + ES38Lbl: Label 'ES-38', MaxLength = 20; + ES39Lbl: Label 'ES-39', MaxLength = 20; + ES40Lbl: Label 'ES-40', MaxLength = 20; + ES41Lbl: Label 'ES-41', MaxLength = 20; + ES42Lbl: Label 'ES-42', MaxLength = 20; + ES43Lbl: Label 'ES-43', MaxLength = 20; + ES44Lbl: Label 'ES-44', MaxLength = 20; + ES45Lbl: Label 'ES-45', MaxLength = 20; + ES46Lbl: Label 'ES-46', MaxLength = 20; + ES47Lbl: Label 'ES-47', MaxLength = 20; + ES48Lbl: Label 'ES-48', MaxLength = 20; + ES49Lbl: Label 'ES-49', MaxLength = 20; + ES50Lbl: Label 'ES-50', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESCompanyInformation.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESCompanyInformation.Codeunit.al new file mode 100644 index 0000000000..38552bb04f --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESCompanyInformation.Codeunit.al @@ -0,0 +1,56 @@ +codeunit 10785 "Create ES Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + var + CompanyInformation: Record "Company Information"; + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + CompanyInformation.Get(); + ContosoCoffeeDemoDataSetup.Get(); + + CompanyInformation.Validate(Address, AddressLbl); + CompanyInformation.Validate("Address 2", Address2Lbl); + CompanyInformation.Validate(City, CityLbl); + CompanyInformation.Validate("Phone No.", '91-2229788'); + CompanyInformation.Validate("Fax No.", '91-2229700'); + CompanyInformation.Validate("Giro No.", ''); + CompanyInformation.Validate("Bank Name", ''); + CompanyInformation.Validate("Bank Branch No.", ''); + CompanyInformation.Validate("Bank Account No.", ''); + CompanyInformation.Validate("Payment Routing No.", ''); + CompanyInformation.Validate("VAT Registration No.", VatRegistrationLbl); + CompanyInformation.Validate("Post Code", '28023'); + CompanyInformation.Validate("Ship-to Post Code", '28023'); + CompanyInformation.Validate("Ship-to Address", AddressLbl); + CompanyInformation.Validate("Ship-to Address 2", Address2Lbl); + CompanyInformation.Validate("Ship-to City", CityLbl); + CompanyInformation.Validate("Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Validate("CCC Bank No.", '1111'); + CompanyInformation.Validate("CCC Bank Branch No.", '2222'); + CompanyInformation.Validate("CCC Control Digits", '33'); + CompanyInformation.Validate("CCC Bank Account No.", '1234567890'); + CompanyInformation.Validate("CCC No.", '11112222331234567890'); + CompanyInformation.Validate("CNAE Description", CnaeDescriptionLbl); + CompanyInformation.Validate("Payment Days Code", EvalLbl); + CompanyInformation.Validate("Non-Paymt. Periods Code", EvalLbl); + CompanyInformation.Validate(IBAN, ''); + CompanyInformation.Validate(County, CityLbl); + CompanyInformation.Modify(true); + end; + + var + AddressLbl: Label 'Avenida Aragón, 5', MaxLength = 100; + Address2Lbl: Label 'Centro Negocios', MaxLength = 50; + CityLbl: Label 'Madrid', MaxLength = 30; + VatRegistrationLbl: Label '77777777A', MaxLength = 20; + CnaeDescriptionLbl: Label 'Distribución muebles', MaxLength = 80; + EvalLbl: Label 'EVALUATION', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESCountryRegion.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESCountryRegion.Codeunit.al new file mode 100644 index 0000000000..56a28aa803 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESCountryRegion.Codeunit.al @@ -0,0 +1,13 @@ +codeunit 10784 "Create ES Country Region" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Country/Region", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Country/Region") + begin + Rec.Validate("VAT Registration No. digits", 15); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESInstallment.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESInstallment.Codeunit.al new file mode 100644 index 0000000000..2b34a9fb15 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESInstallment.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 10811 "Create ES Installment" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoESInstallment: Codeunit "Contoso ES Installment"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateESPaymentTerms: Codeunit "Create ES Payment Terms"; + begin + ContosoESInstallment.SetOverwriteData(true); + ContosoESInstallment.InsertInstallment(CreatePaymentTerms.PaymentTermsDAYS14(), 1, 100, ''); + ContosoESInstallment.InsertInstallment(CreatePaymentTerms.PaymentTermsM8D(), 1, 100, ''); + ContosoESInstallment.InsertInstallment(CreateESPaymentTerms.PaymentTermsDays1x30(), 1, 100, ''); + ContosoESInstallment.InsertInstallment(CreatePaymentTerms.PaymentTermsDAYS21(), 1, 100, ''); + ContosoESInstallment.InsertInstallment(CreateESPaymentTerms.PaymentTermsDAYS2x45(), 1, 50, '<45D>'); + ContosoESInstallment.InsertInstallment(CreateESPaymentTerms.PaymentTermsDAYS2x45(), 2, 50, ''); + ContosoESInstallment.InsertInstallment(CreateESPaymentTerms.PaymentTermsDAYS3x30(), 1, 55, '<30D>'); + ContosoESInstallment.InsertInstallment(CreateESPaymentTerms.PaymentTermsDAYS3x30(), 2, 30, '<30D>'); + ContosoESInstallment.InsertInstallment(CreateESPaymentTerms.PaymentTermsDAYS3x30(), 3, 15, ''); + ContosoESInstallment.InsertInstallment(CreatePaymentTerms.PaymentTermsDAYS7(), 1, 100, ''); + ContosoESInstallment.InsertInstallment(CreatePaymentTerms.PaymentTermsCM(), 1, 100, ''); + ContosoESInstallment.InsertInstallment(CreatePaymentTerms.PaymentTermsCOD(), 1, 100, ''); + ContosoESInstallment.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESNoSeries.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESNoSeries.Codeunit.al new file mode 100644 index 0000000000..afc31fbc41 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESNoSeries.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 10841 "Create ES No. Series" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: codeunit "Contoso No Series"; + begin + ContosoNoSeries.SetOverwriteData(true); + ContosoNoSeries.InsertNoSeries(AutoCreditMemo(), AutoCreditMemoLbl, 'AUTCR010', 'AUTCR990', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(AutoInvoice(), AutoInvoiceLbl, 'AUTINV010', 'AUTINV990', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.SetOverwriteData(false); + end; + + procedure AutoCreditMemo(): Code[20] + begin + exit(AutoCreditMemoTok); + end; + + procedure AutoInvoice(): Code[20] + begin + exit(AutoInvoiceTok); + end; + + var + AutoCreditMemoTok: Label 'AUT-CR', MaxLength = 20; + AutoCreditMemoLbl: Label 'AutoCreditMemo', MaxLength = 100; + AutoInvoiceTok: Label 'AUT-INV', MaxLength = 20; + AutoInvoiceLbl: Label 'AutoInvoice', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESPaymentTerms.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESPaymentTerms.Codeunit.al new file mode 100644 index 0000000000..7220ab349f --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESPaymentTerms.Codeunit.al @@ -0,0 +1,85 @@ +codeunit 10783 "Create ES Payment Terms" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPayments: Codeunit "Contoso Payments"; + begin + ContosoPayments.SetOverwriteData(true); + ContosoPayments.InsertPaymentTerms(PaymentTermsDays1x30(), '30D', '', 0, Days1x30Lbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDays2x45(), '45D', '', 0, Days2x45Lbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDays3x30(), '30D', '', 0, Days3x30Lbl); + ContosoPayments.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Payment Terms", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Payment Terms") + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec.Code of + CreatePaymentTerms.PaymentTermsDAYS10(): + ValidateRecordFields(Rec, 10); + CreatePaymentTerms.PaymentTermsDAYS14(): + ValidateRecordFields(Rec, 31); + CreatePaymentTerms.PaymentTermsDAYS15(): + ValidateRecordFields(Rec, 15); + CreatePaymentTerms.PaymentTermsM8D(): + ValidateRecordFields(Rec, 31); + CreatePaymentTerms.PaymentTermsDAYS2(): + ValidateRecordFields(Rec, 2); + CreatePaymentTerms.PaymentTermsDAYS21(): + ValidateRecordFields(Rec, 21); + CreatePaymentTerms.PaymentTermsDAYS30(): + ValidateRecordFields(Rec, 30); + CreatePaymentTerms.PaymentTermsDAYS60(): + ValidateRecordFields(Rec, 60); + CreatePaymentTerms.PaymentTermsDAYS7(): + ValidateRecordFields(Rec, 7); + CreatePaymentTerms.PaymentTermsCM(): + ValidateRecordFields(Rec, 31); + CreatePaymentTerms.PaymentTermsCOD(): + ValidateRecordFields(Rec, 31); + PaymentTermsDays1x30(): + ValidateRecordFields(Rec, 30); + PaymentTermsDays2x45(): + ValidateRecordFields(Rec, 0); + PaymentTermsDays3x30(): + ValidateRecordFields(Rec, 0); + end; + end; + + local procedure ValidateRecordFields(var PaymentTerms: Record "Payment Terms"; MaxNoofDaysTillDueDate: Integer) + begin + PaymentTerms.Validate("VAT distribution", PaymentTerms."VAT distribution"::Proportional); + PaymentTerms.Validate("Calc. Pmt. Disc. on Cr. Memos", true); + PaymentTerms.Validate("Max. No. of Days till Due Date", MaxNoofDaysTillDueDate); + end; + + procedure PaymentTermsDays1x30(): Code[10] + begin + exit(Days1x30Tok); + end; + + procedure PaymentTermsDays2x45(): Code[10] + begin + exit(Days2x45Tok); + end; + + procedure PaymentTermsDays3x30(): Code[10] + begin + exit(Days3x30Tok); + end; + + var + Days1x30Tok: Label '1X30 DAYS', MaxLength = 10; + Days2x45Tok: Label '2X45 DAYS', MaxLength = 10; + Days3x30Tok: Label '3X30 DAYS', MaxLength = 10; + Days1x30Lbl: Label '1 - 30 days settlement', MaxLength = 100; + Days2x45Lbl: Label '2 - 45 and 60 days settlements', MaxLength = 100; + Days3x30Lbl: Label '3 - 30,60,90 days settlements', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESPostCode.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESPostCode.Codeunit.al new file mode 100644 index 0000000000..c399bd3af8 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESPostCode.Codeunit.al @@ -0,0 +1,175 @@ +codeunit 10786 "Create ES Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoESPostCode: Codeunit "Contoso ES Post Code"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoESPostCode.SetOverwriteData(true); + ContosoESPostCode.InsertPostCode('01001', GasteizLbl, CreateCountryRegion.ES(), '', '01'); + ContosoESPostCode.InsertPostCode('01012', GasteizLbl, CreateCountryRegion.ES(), '', '01'); + ContosoESPostCode.InsertPostCode('02005', AlbaceteLbl, CreateCountryRegion.ES(), '', '02'); + ContosoESPostCode.InsertPostCode('03003', AlicanteLbl, CreateCountryRegion.ES(), '', '03'); + ContosoESPostCode.InsertPostCode('07001', PalmaMallorcaLbl, CreateCountryRegion.ES(), '', '07'); + ContosoESPostCode.InsertPostCode('08010', BarcelonaLbl, CreateCountryRegion.ES(), '', '08'); + ContosoESPostCode.InsertPostCode('08036', BarcelonaLbl, CreateCountryRegion.ES(), '', '08'); + ContosoESPostCode.InsertPostCode('09003', BurgosLbl, CreateCountryRegion.ES(), '', ''); + ContosoESPostCode.InsertPostCode('10003', CaceresLbl, CreateCountryRegion.ES(), '', '10'); + ContosoESPostCode.InsertPostCode('11011', CadizLbl, CreateCountryRegion.ES(), '', ''); + ContosoESPostCode.InsertPostCode('20001', SanSebastianLbl, CreateCountryRegion.ES(), '', ''); + ContosoESPostCode.InsertPostCode('26006', LogronoLbl, CreateCountryRegion.ES(), '', ''); + ContosoESPostCode.InsertPostCode('28001', MadridLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28003', MadridLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28004', MadridLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28010', MadridLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28023', MadridLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28028', MadridLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28223', PozuelodeAlarconLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28240', VillalbaLbl, CreateCountryRegion.ES(), '', '28'); + ContosoESPostCode.InsertPostCode('28660', BoadilladelMonteLbl, CreateCountryRegion.ES(), '', ''); + ContosoESPostCode.InsertPostCode('36004', PontevedraLbl, CreateCountryRegion.ES(), '', '36'); + ContosoESPostCode.InsertPostCode('37001', SalamancaLbl, CreateCountryRegion.ES(), '', '37'); + ContosoESPostCode.InsertPostCode('39004', SantanderLbl, CreateCountryRegion.ES(), '', ''); + ContosoESPostCode.InsertPostCode('41006', SevillaLbl, CreateCountryRegion.ES(), '', '41'); + ContosoESPostCode.InsertPostCode('41020', SevillaLbl, CreateCountryRegion.ES(), '', ''); + ContosoESPostCode.InsertPostCode('46007', ValenciaLbl, CreateCountryRegion.ES(), '', '46'); + ContosoESPostCode.InsertPostCode('46010', ValenciaLbl, CreateCountryRegion.ES(), '', '46'); + ContosoESPostCode.InsertPostCode('46018', ValenciaLbl, CreateCountryRegion.ES(), '', '46'); + ContosoESPostCode.InsertPostCode('46022', ValenciaLbl, CreateCountryRegion.ES(), '', '46'); + ContosoESPostCode.InsertPostCode('46026', ValenciaLbl, CreateCountryRegion.ES(), '', '46'); + ContosoESPostCode.InsertPostCode('46120', AlborayaLbl, CreateCountryRegion.ES(), '', '46'); + ContosoESPostCode.InsertPostCode('47002', ValladolidLbl, CreateCountryRegion.ES(), '', '47'); + ContosoESPostCode.InsertPostCode('50001', ZaragozaLbl, CreateCountryRegion.ES(), '', '50'); + ContosoESPostCode.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB(), '', ''); + ContosoESPostCode.SetOverwriteData(false); + end; + + var + GasteizLbl: Label 'Gasteiz', MaxLength = 30; + AlbaceteLbl: Label 'Albacete', MaxLength = 30; + AlicanteLbl: Label 'Alicante', MaxLength = 30; + PalmaMallorcaLbl: Label 'Palma Mallorca', MaxLength = 30; + BarcelonaLbl: Label 'Barcelona', MaxLength = 30; + BurgosLbl: Label 'Burgos', MaxLength = 30; + CaceresLbl: Label 'Caceres', MaxLength = 30; + CadizLbl: Label 'Cadiz', MaxLength = 30; + SanSebastianLbl: Label 'San Sebastian', MaxLength = 30; + LogronoLbl: Label 'Logrono', MaxLength = 30; + MadridLbl: Label 'Madrid', MaxLength = 30; + PozueloDeAlarconLbl: Label 'Pozuelo de Alarcon', MaxLength = 30; + VillalbaLbl: Label 'Villalba', MaxLength = 30; + BoadillaDelMonteLbl: Label 'Boadilla del Monte', MaxLength = 30; + PontevedraLbl: Label 'Pontevedra', MaxLength = 30; + SalamancaLbl: Label 'Salamanca', MaxLength = 30; + SantanderLbl: Label 'Santander', MaxLength = 30; + SevillaLbl: Label 'Sevilla', MaxLength = 30; + ValenciaLbl: Label 'Valencia', MaxLength = 30; + AlborayaLbl: Label 'Alboraya', MaxLength = 30; + ValladolidLbl: Label 'Valladolid', MaxLength = 30; + ZaragozaLbl: Label 'Zaragoza', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESSourceCode.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESSourceCode.Codeunit.al new file mode 100644 index 0000000000..fd3768a7b7 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESSourceCode.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 10788 "Create ES Source Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoSourceCode: Codeunit "Contoso Source Code"; + begin + ContosoSourceCode.SetOverwriteData(true); + ContosoSourceCode.InsertSourceCode(CarteraJournal(), CarteraJournalLbl); + ContosoSourceCode.InsertSourceCode(GLCurrencyRevaluation(), GLCurrencyRevaluationLbl); + ContosoSourceCode.SetOverwriteData(false); + end; + + procedure CarteraJournal(): Code[10] + begin + exit(CarteraJournalTok); + end; + + procedure GLCurrencyRevaluation(): Code[10] + begin + exit(GLCurrencyRevaluationTok); + end; + + var + CarteraJournalTok: Label 'CARJNL', MaxLength = 10; + CarteraJournalLbl: Label 'Cartera Journal', MaxLength = 100; + GLCurrencyRevaluationTok: Label 'GLCURREVAL', MaxLength = 10; + GLCurrencyRevaluationLbl: Label 'G/L Currency Revaluation', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESSourceCodeSetup.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESSourceCodeSetup.Codeunit.al new file mode 100644 index 0000000000..f7d7222204 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Foundation/1.Setup Data/CreateESSourceCodeSetup.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 10789 "Create ES Source Code Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSourceCodeSetup(); + end; + + local procedure UpdateSourceCodeSetup() + var + SourceCodeSetup: Record "Source Code Setup"; + CreateESSourceCode: Codeunit "Create ES Source Code"; + begin + SourceCodeSetup.Get(); + + SourceCodeSetup.Validate("G/L Currency Revaluation", CreateESSourceCode.GLCurrencyRevaluation()); + SourceCodeSetup.Validate("Cartera Journal", CreateESSourceCode.CarteraJournal()); + SourceCodeSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/HR/2.Master Data/CreateESEmployee.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/HR/2.Master Data/CreateESEmployee.Codeunit.al new file mode 100644 index 0000000000..c196d83908 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/HR/2.Master Data/CreateESEmployee.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 10826 "Create ES Employee" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Employee, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Employee) + var + CreateEmployee: Codeunit "Create Employee"; + begin + case Rec."No." of + CreateEmployee.ManagingDirector(), + CreateEmployee.SalesManager(), + CreateEmployee.Designer(), + CreateEmployee.ProductionAssistant(), + CreateEmployee.ProductionManager(), + CreateEmployee.Secretary(), + CreateEmployee.InventoryManager(): + Rec.Validate("Employee Posting Group", ''); + end; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/HR/2.Master Data/CreateESEmployeeTemplate.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/HR/2.Master Data/CreateESEmployeeTemplate.Codeunit.al new file mode 100644 index 0000000000..c03f8e81dd --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/HR/2.Master Data/CreateESEmployeeTemplate.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 10825 "Create ES Employee Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Employee Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record "Employee Templ.") + var + CreateEmployeeTemplate: Codeunit "Create Employee Template"; + begin + case Rec.Code of + CreateEmployeeTemplate.AdminCode(), + CreateEmployeeTemplate.ITCode(): + Rec.Validate("Employee Posting Group", ''); + end; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/1.Setup Data/CreateESInvPostingSetup.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/1.Setup Data/CreateESInvPostingSetup.Codeunit.al new file mode 100644 index 0000000000..86ebcbb2b8 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/1.Setup Data/CreateESInvPostingSetup.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 10799 "Create ES Inv Posting Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateInventoryPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateESGLAccounts: Codeunit "Create ES GL Accounts"; + CreateLocation: Codeunit "Create Location"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertInventoryPostingSetup(BlankLocationLbl, CreateInventoryPostingGroup.Resale(), CreateESGLAccounts.Goods(), CreateESGLAccounts.BillOfMaterTradeCred()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateInventoryPostingGroup.Resale(), CreateESGLAccounts.Goods(), CreateESGLAccounts.BillOfMaterTradeCred()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateInventoryPostingGroup.Resale(), CreateESGLAccounts.Goods(), CreateESGLAccounts.BillOfMaterTradeCred()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateInventoryPostingGroup.Resale(), CreateESGLAccounts.Goods(), CreateESGLAccounts.GoodsTradeCred()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateInventoryPostingGroup.Resale(), CreateESGLAccounts.Goods(), CreateESGLAccounts.GoodsTradeCred()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateInventoryPostingGroup.Resale(), CreateESGLAccounts.Goods(), CreateESGLAccounts.BillOfMaterTradeCred()); + ContosoPostingSetup.SetOverwriteData(false); + end; + + var + BlankLocationLbl: Label '', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItem.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItem.Codeunit.al new file mode 100644 index 0000000000..9bf5b82bf1 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItem.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 10800 "Create ES Item" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1005.8, 784.6, CreateESVATPostingGroups.Vat21()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateESVATPostingGroups.Vat21()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 435.8, 339.9, CreateESVATPostingGroups.Vat21()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 191, 148.9, CreateESVATPostingGroups.Vat21()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 651.1, 508, CreateESVATPostingGroups.Vat21()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 189.8, 0, CreateESVATPostingGroups.Vat21()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 55.2, 43.1, CreateESVATPostingGroups.Vat21()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 235, 0, CreateESVATPostingGroups.Vat21()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateESVATPostingGroups.Vat21()); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 126.4, 0, CreateESVATPostingGroups.Vat21()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateESVATPostingGroups.Vat21()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateESVATPostingGroups.Vat21()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 235, 0, CreateESVATPostingGroups.Vat21()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 191, 148.9, CreateESVATPostingGroups.Vat21()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 343.5, 0, CreateESVATPostingGroups.Vat21()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 191, 148.9, CreateESVATPostingGroups.Vat21()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 191, 148.9, CreateESVATPostingGroups.Vat21()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 193.7, 151.1, CreateESVATPostingGroups.Vat21()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1404.3, 1095.3, CreateESVATPostingGroups.Vat21()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 191, 148.9, CreateESVATPostingGroups.Vat21()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VATProdPostingGroup: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItemCharge.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItemCharge.Codeunit.al new file mode 100644 index 0000000000..72972f8555 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItemCharge.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 10801 "Create ES Item Charge" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record "Item Charge") + var + CreateItemCharge: Codeunit "Create Item Charge"; + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), + CreateItemCharge.PurchAllowance(), + CreateItemCharge.PurchFreight(), + CreateItemCharge.PurchRestock(), + CreateItemCharge.SaleAllowance(), + CreateItemCharge.SaleFreight(), + CreateItemCharge.SaleRestock(): + ValidateRecordFields(Rec, CreateESVATPostingGroups.Vat21()); + end; + end; + + local procedure ValidateRecordFields(var ItemCharge: Record "Item Charge"; VATProdPostingGroup: Code[20]) + begin + ItemCharge.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItemTemplate.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItemTemplate.Codeunit.al new file mode 100644 index 0000000000..922ea5311f --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESItemTemplate.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 10802 "Create ES Item Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateESVATPostingGroups.Vat21()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateESVATPostingGroups.Vat21()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESLocation.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESLocation.Codeunit.al new file mode 100644 index 0000000000..1cafb6aaed --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Inventory/2.Master Data/CreateESLocation.Codeunit.al @@ -0,0 +1,87 @@ +codeunit 10803 "Create ES Location" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoInventory: Codeunit "Contoso Inventory"; + CreateLocations: Codeunit "Create Location"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoInventory.SetOverwriteData(true); + ContosoInventory.InsertLocation(CreateLocations.MainLocation(), MainLocationDescLbl, MainLocationAddressLbl, '', MainLocationCityLbl, MainLocationPhoneLbl, MainLocationFaxLbl, MainLocationContactLbl, MainLocationPostCodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", false); + updateLocationCounty(CreateLocations.MainLocation(), MainLocationCountyLbl); + ContosoInventory.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Location) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateLocations: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocations.EastLocation(): + ValidateRecordFields(Rec, EastLocationAddressLbl, EastLocationCityLbl, EastLocationContactLbl, EastLocationPostCodeLbl, CreateCountryRegion.ES(), '', '', EastPhNoLocationLbl, EastFaxNoLocationLbl); + CreateLocations.OutLogLocation(): + ValidateRecordFields(Rec, '', '', '', '', '', '', '', '', ''); + CreateLocations.OwnLogLocation(): + ValidateRecordFields(Rec, '', '', '', '', '', '', '', '', ''); + CreateLocations.WestLocation(): + ValidateRecordFields(Rec, WestLocationAddressLbl, WestLocationCityLbl, WestLocationContactLbl, WestLocationPostCodeLbl, CreateCountryRegion.ES(), WestLocationCountyLbl, '', WestPhNoLocationLbl, WestFaxNoLocationLbl); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; Address: Text[100]; City: Text[30]; Contact: Text[100]; PostCode: Code[20]; CountryRegionCode: Code[10]; County: Text[30]; Address2: Text[50]; PhoneNo: Text[30]; FaxNo: Text[30]) + begin + + Location.Validate(Address, Address); + Location.Validate("Address 2", Address2); + Location.Validate(City, City); + Location.Validate("Phone No.", PhoneNo); + Location.Validate("Fax No.", FaxNo); + Location.Validate(Contact, Contact); + Location.Validate("Post Code", PostCode); + Location.Validate("Country/Region Code", CountryRegionCode); + Location.Validate(County, County); + end; + + local procedure UpdateLocationCounty(LocationCode: Code[10]; LocationCounty: Text[30]) + var + Location: Record Location; + begin + if not Location.Get(LocationCode) then + exit; + + Location.Validate(County, LocationCounty); + Location.Modify(true); + end; + + var + EastLocationAddressLbl: Label 'Main Liverpool Street, 5', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label 'Main Bristol Street, 10', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label 'South East Street, 3', MaxLength = 100, Locked = true; + EastLocationCityLbl: Label 'Logrono', MaxLength = 30, Locked = true; + MainLocationCityLbl: Label 'Valladolid', MaxLength = 30, Locked = true; + WestLocationCityLbl: Label 'Barcelona', MaxLength = 30, Locked = true; + EastLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + MainLocationContactLbl: Label 'Jeanne Bosworth', MaxLength = 100; + WestLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; + EastLocationPostCodeLbl: Label '26006', MaxLength = 20; + MainLocationPostCodeLbl: Label '47002', MaxLength = 20; + WestLocationPostCodeLbl: Label '08010', MaxLength = 20; + MainLocationCountyLbl: Label 'VALLADOLID', MaxLength = 30; + WestLocationCountyLbl: Label 'BARCELONA', MaxLength = 30; + MainLocationPhoneLbl: Label '+44-(0)10 5214 4987', MaxLength = 30, Locked = true; + MainLocationFaxLbl: Label '+44-(0)10 5214 0000', MaxLength = 30, Locked = true; + EastPhNoLocationLbl: Label '+44-(0)30 9874 1299', MaxLength = 30, Locked = true; + EastFaxNoLocationLbl: Label '+44-(0)30 9874 1200', MaxLength = 30, Locked = true; + WestPhNoLocationLbl: Label '+44-(0)20 8207 4533', MaxLength = 30, Locked = true; + WestFaxNoLocationLbl: Label '+44-(0)20 8207 5000', MaxLength = 30, Locked = true; + MainLocationDescLbl: Label 'Main Warehouse', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/1.Setup Data/CreateESVendorPostingGroup.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/1.Setup Data/CreateESVendorPostingGroup.Codeunit.al new file mode 100644 index 0000000000..43218d3743 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/1.Setup Data/CreateESVendorPostingGroup.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 10816 "Create ES Vendor Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateESGLAccount: Codeunit "Create ES GL Accounts"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVendorPostingGroup(CreateVendorPostingGroup.Domestic(), CreateESGLAccount.NationalTradeCreditors(), CreateESGLAccount.OtherServices(), '', CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.IncomeOnRoundOffEuros(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.ExpenOnRoundOffEur(), '', CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.OtherFinancialIncome(), DomesticVendorsLbl, false); + ContosoPostingGroup.InsertVendorPostingGroup(CreateVendorPostingGroup.EU(), CreateESGLAccount.NationalTradeCreditors(), CreateESGLAccount.OtherServices(), '', CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.IncomeOnRoundOffEuros(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.ExpenOnRoundOffEur(), '', CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.OtherFinancialIncome(), EUVendorsLbl, false); + ContosoPostingGroup.InsertVendorPostingGroup(CreateVendorPostingGroup.Foreign(), CreateESGLAccount.InternatTradeCreditors(), CreateESGLAccount.OtherServices(), '', CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.IncomeOnRoundOffEuros(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.ExpenOnRoundOffEur(), '', CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.OtherFinancialIncome(), ForeignVendorsLbl, false); + ContosoPostingGroup.SetOverwriteData(false); + + UpdateVendorPostingGroup(); + end; + + local procedure UpdateVendorPostingGroup() + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateESGLAccounts: Codeunit "Create ES GL Accounts"; + begin + UpdateRecordFields(CreateVendorPostingGroup.Domestic(), CreateESGLAccounts.BillExPayNational(), CreateESGLAccounts.BillExInPaymtOrder(), CreateESGLAccounts.InvUnderPaymentOrder()); + UpdateRecordFields(CreateVendorPostingGroup.EU(), CreateESGLAccounts.BillExPayNational(), CreateESGLAccounts.BillExInPaymtOrder(), CreateESGLAccounts.InvUnderPaymentOrder()); + end; + + local procedure UpdateRecordFields(Code: Code[20]; BillsAccount: Code[20]; BillsinPaymentOrderAcc: Code[20]; InvoicesinPmtOrdAcc: Code[20]) + var + VendorPostingGroup: Record "Vendor Posting Group"; + begin + if VendorPostingGroup.Get(Code) then begin + VendorPostingGroup.Validate("Bills Account", BillsAccount); + VendorPostingGroup.Validate("Bills in Payment Order Acc.", BillsinPaymentOrderAcc); + VendorPostingGroup.Validate("Invoices in Pmt. Ord. Acc.", InvoicesinPmtOrdAcc); + VendorPostingGroup.Modify(true); + end; + end; + + var + DomesticVendorsLbl: Label 'Domestic vendors', MaxLength = 100; + EUVendorsLbl: Label 'Vendors in EU', MaxLength = 100; + ForeignVendorsLbl: Label 'Foreign vendors (not EU)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESPurchDimValue.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESPurchDimValue.Codeunit.al new file mode 100644 index 0000000000..7ad8349366 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESPurchDimValue.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 10837 "Create ES Purch. Dim. Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeSouthArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendor.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendor.Codeunit.al new file mode 100644 index 0000000000..b367ec7dfa --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendor.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 10812 "Create ES Vendor" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //Todo - Hard Coded Post Code to be replace with Post Code Codeuint. + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeOnInsert', '', false, false)] + local procedure OnInsertRecord(var Vendor: Record Vendor; var IsHandled: Boolean) + var + CreateVendor: Codeunit "Create Vendor"; + CreateTerritory: Codeunit "Create Territory"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateESPaymentTerms: Codeunit "Create ES Payment Terms"; + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateESPaymentMethod: Codeunit "Create ES Payment Method"; + begin + case Vendor."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Vendor, ExportFabrikamVATLbl, AtlantaCityLbl, 'US-GA 31772', CreateTerritory.Foreign(), CreateCountryRegion.US(), CreatePaymentTerms.PaymentTermsCM(), CreatePaymentMethod.Bank(), 'GA'); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Vendor, DomesticFirstUpVATLbl, ValenciaCityLbl, '46022', CreateTerritory.Foreign(), CreateCountryRegion.ES(), CreatePaymentTerms.PaymentTermsCM(), CreatePaymentMethod.Bank(), ValenciaCountyLbl); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Vendor, EUGraphicDesignVATLbl, EningenCityLbl, 'DE-72800', CreateTerritory.Foreign(), CreateCountryRegion.DE(), CreatePaymentTerms.PaymentTermsCM(), CreatePaymentMethod.Bank(), ''); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Vendor, DomesticWorldImporterVATLbl, SanSebastianCityLbl, '20001', CreateTerritory.Foreign(), CreateCountryRegion.ES(), CreateESPaymentTerms.PaymentTermsDays3x30(), CreateESPaymentMethod.Pagare(), ''); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Vendor, DomesticNodPublisherVATLbl, AlicanteCityLbl, '03003', CreateTerritory.Foreign(), CreateCountryRegion.ES(), CreatePaymentTerms.PaymentTermsCM(), CreatePaymentMethod.Bank(), AlicanteCountyLbl); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; VATRegistrationNo: Code[20]; City: Text[30]; PostCode: Code[20]; TerritoryCode: Code[10]; CountryRegionCode: Code[10]; PaymentTermsCode: Code[10]; PaymentMethodCode: Code[10]; VendorCounty: Text[30]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor."VAT Registration No." := VATRegistrationNo; + if CountryRegionCode <> '' then + Vendor.Validate("Country/Region Code", CountryRegionCode); + Vendor.Validate("Payment Terms Code", PaymentTermsCode); + Vendor.Validate("Payment Method Code", PaymentMethodCode); + Vendor.Validate(County, VendorCounty); + end; + + var + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30; + ValenciaCityLbl: Label 'Valencia', MaxLength = 30; + ValenciaCountyLbl: Label 'VALENCIA', MaxLength = 30; + EningenCityLbl: Label 'Eningen', MaxLength = 30; + SanSebastianCityLbl: Label 'San Sebastian', MaxLength = 30; + AlicanteCityLbl: Label 'Alicante', MaxLength = 30; + AlicanteCountyLbl: Label 'ALICANTE/ALACANT', MaxLength = 30; + ExportFabrikamVATLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVATLbl: Label '274863274A', MaxLength = 20; + EUGraphicDesignVATLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVATLbl: Label '197548769A', MaxLength = 20; + DomesticNodPublisherVATLbl: Label '295267495A', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendorBankAccount.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendorBankAccount.Codeunit.al new file mode 100644 index 0000000000..c63019570b --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendorBankAccount.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 10817 "Create ES Vendor Bank Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoVendorBankAccount: Codeunit "Contoso Vendor Bank Account"; + CreateVendor: Codeunit "Create Vendor"; + begin + ContosoVendorBankAccount.SetOverwriteData(true); + ContosoVendorBankAccount.InsertVendorBankAccount(CreateVendor.DomesticWorldImporter(), BEE(), BancoExteriorEspanaLbl, AlamedaRecaldeLbl, FernandoBarrioLbl, '93-2 33 41 45', '', '', '', '', ''); + ContosoVendorBankAccount.SetOverwriteData(false); + UpdateVendorCounty(CreateVendor.DomesticWorldImporter(), BEE(), BankCountyLbl) + end; + + local procedure UpdateVendorCounty(VendorNo: Code[20]; BankCode: Code[20]; BankCounty: Text[30]) + var + VendorBankAccount: Record "Vendor Bank Account"; + begin + if not VendorBankAccount.Get(VendorNo, BankCode) then + exit; + + VendorBankAccount.Validate(County, BankCounty); + VendorBankAccount.Modify(true); + end; + + procedure BEE(): Code[20] + begin + exit(BEETok); + end; + + var + BEETok: Label 'BEE', MaxLength = 20; + BancoExteriorEspanaLbl: Label 'Banco Exterior España', MaxLength = 100; + AlamedaRecaldeLbl: Label 'Alameda Recalde 25', MaxLength = 100; + FernandoBarrioLbl: Label 'Fernando Barrio', MaxLength = 100; + BankCountyLbl: Label 'Barcelona', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendorTemplate.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendorTemplate.Codeunit.al new file mode 100644 index 0000000000..684c68f9f1 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/2.Master Data/CreateESVendorTemplate.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 10818 "Create ES Vendor Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGroup(var Rec: Record "Vendor Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendorTemplate: Codeunit "Create Vendor Template"; + begin + case Rec.Code of + CreateVendorTemplate.VendorCompany(), + CreateVendorTemplate.VendorPerson(): + Rec.Validate("Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/3.Transcation Data/CreateESPurchaseDocument.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/3.Transcation Data/CreateESPurchaseDocument.Codeunit.al new file mode 100644 index 0000000000..d79d8d2d61 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Purchase/3.Transcation Data/CreateESPurchaseDocument.Codeunit.al @@ -0,0 +1,15 @@ +codeunit 10814 "Create ES Purchase Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + PurchHeader: Record "Purchase Header"; + begin + if PurchHeader.FindSet() then + repeat + PurchHeader.Validate("Buy-from Vendor No."); + until PurchHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/1.Setup Data/CreateESCustPostingGroup.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/1.Setup Data/CreateESCustPostingGroup.Codeunit.al new file mode 100644 index 0000000000..19a83baf28 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/1.Setup Data/CreateESCustPostingGroup.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 10819 "Create ES Cust Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustPostingGroup(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateESGLAccount: Codeunit "Create ES GL Accounts"; + begin + case Rec.Code of + CreateCustomerPostingGroup.Domestic(): + ValidateRecordFields(Rec, CreateESGLAccount.NationalCustomers(), CreateESGLAccount.NationalServices(), '', CreateESGLAccount.IncomeOnRoundOffEuros(), CreateESGLAccount.OtherServicesPosting(), CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.NegativeBalanceOnSettl(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.NegativeBalanceOnSettl(), CreateESGLAccount.NegativeBalanceOnSettl(), '', CreateESGLAccount.OtherFinancialExpenses(), CreateESGLAccount.OtherFinancialExpenses(), CreateESGLAccount.PendingReceivablesBills(), CreateESGLAccount.DiscountedBills(), CreateESGLAccount.BillsOnCollectionManag(), CreateESGLAccount.UnpaidBillsOfExchange(), CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.InvoicesToBePaid(), CreateESGLAccount.DiscountedInvoicesAccount(), CreateESGLAccount.RejectedInvoicesAccount()); + CreateCustomerPostingGroup.EU(): + ValidateRecordFields(Rec, CreateESGLAccount.NationalCustomers(), CreateESGLAccount.EuServices(), '', CreateESGLAccount.IncomeOnRoundOffEuros(), CreateESGLAccount.OtherServicesPosting(), CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.NegativeBalanceOnSettl(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.NegativeBalanceOnSettl(), CreateESGLAccount.NegativeBalanceOnSettl(), '', CreateESGLAccount.OtherFinancialExpenses(), CreateESGLAccount.OtherFinancialExpenses(), CreateESGLAccount.PendingReceivablesBills(), CreateESGLAccount.DiscountedBills(), CreateESGLAccount.BillsOnCollectionManag(), CreateESGLAccount.UnpaidBillsOfExchange(), CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.InvoicesToBePaid(), CreateESGLAccount.DiscountedInvoicesAccount(), CreateESGLAccount.RejectedInvoicesAccount()); + CreateCustomerPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateESGLAccount.InternationalCustomers(), CreateESGLAccount.IntServicesNonEu(), '', CreateESGLAccount.IncomeOnRoundOffEuros(), CreateESGLAccount.OtherServicesPosting(), CreateESGLAccount.OtherFinancialIncome(), CreateESGLAccount.NegativeBalanceOnSettl(), CreateESGLAccount.ExpenOnRoundOffEur(), CreateESGLAccount.NegativeBalanceOnSettl(), CreateESGLAccount.NegativeBalanceOnSettl(), '', CreateESGLAccount.OtherFinancialExpenses(), CreateESGLAccount.OtherFinancialExpenses(), '', '', '', '', '', '', '', ''); + end; + end; + + local procedure ValidateRecordFields(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; BillsAccount: Code[20]; DisctedBillsAcc: Code[20]; BillsonCollectionAcc: Code[20]; RejectedBillsAcc: Code[20]; FinanceIncomeAcc: Code[20]; FactoringforCollectionAcc: Code[20]; FactoringforDiscountAcc: Code[20]; RejectedFactoringAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Bills Account", BillsAccount); + CustomerPostingGroup.Validate("Discted. Bills Acc.", DisctedBillsAcc); + CustomerPostingGroup.Validate("Bills on Collection Acc.", BillsonCollectionAcc); + CustomerPostingGroup.Validate("Rejected Bills Acc.", RejectedBillsAcc); + CustomerPostingGroup.Validate("Finance Income Acc.", FinanceIncomeAcc); + CustomerPostingGroup.Validate("Factoring for Collection Acc.", FactoringforCollectionAcc); + CustomerPostingGroup.Validate("Factoring for Discount Acc.", FactoringforDiscountAcc); + CustomerPostingGroup.Validate("Rejected Factoring Acc.", RejectedFactoringAcc); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/1.Setup Data/CreateESReminderLevel.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/1.Setup Data/CreateESReminderLevel.Codeunit.al new file mode 100644 index 0000000000..bf26c60566 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/1.Setup Data/CreateESReminderLevel.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 10835 "Create ES Reminder Level" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + Rec.Validate("Additional Fee (LCY)", 7.8); + 2: + Rec.Validate("Additional Fee (LCY)", 15.6); + 3: + Rec.Validate("Additional Fee (LCY)", 23.2); + end; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustBankAccount.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustBankAccount.Codeunit.al new file mode 100644 index 0000000000..c88b6ab2c3 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustBankAccount.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 10820 "Create ES Cust Bank Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCustomerVendor.SetOverwriteData(true); + ContosoCustomerVendor.InsertCustomerBankAccount(CreateCustomer.EUAlpineSkiHouse(), BEE(), BancoExteriorEspanaLbl, AlamedaRecaldeLbl, FernandoBarrioLbl, '93-2 33 41 45', '', '', '', '', ''); + UpdateCustomerCounty(CreateCustomer.EUAlpineSkiHouse(), BEE(), BankCountyLbl); + ContosoCustomerVendor.SetOverwriteData(false); + end; + + local procedure UpdateCustomerCounty(CustomerNo: Code[20]; BankCode: Code[20]; BankCounty: Text[30]) + var + CustomerBankAccount: Record "Customer Bank Account"; + begin + if not CustomerBankAccount.Get(CustomerNo, BankCode) then + exit; + + CustomerBankAccount.Validate(County, BankCounty); + CustomerBankAccount.Modify(true); + end; + + procedure BEE(): Code[20] + begin + exit(BEETok); + end; + + var + BEETok: Label 'BEE', MaxLength = 20; + BancoExteriorEspanaLbl: Label 'Banco Exterior España', MaxLength = 100; + AlamedaRecaldeLbl: Label 'Alameda Recalde 25', MaxLength = 100; + FernandoBarrioLbl: Label 'Fernando Barrio', MaxLength = 100; + BankCountyLbl: Label 'Barcelona', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustTemplate.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustTemplate.Codeunit.al new file mode 100644 index 0000000000..cff455f902 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustTemplate.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 10821 "Create ES Cust Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerTempl(var Rec: Record "Customer Templ.") + var + CreateCustomerTemplate: Codeunit "Create Customer Template"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(), + CreateCustomerTemplate.CustomerPerson(): + Rec.Validate("Country/Region Code", CreateCountryRegion.ES()); + end; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustomer.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustomer.Codeunit.al new file mode 100644 index 0000000000..3f0e0ce088 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESCustomer.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 10823 "Create ES Customer" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateTerritory: Codeunit "Create Territory"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateESPaymentTerms: Codeunit "Create ES Payment Terms"; + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateESPaymentMethod: Codeunit "Create ES Payment Method"; + CreateLanguage: Codeunit "Create Language"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, DomesticAdatumCorporationVATLbl, BarcelonaCityLbl, '08010', CreateTerritory.Foreign(), CreateCountryRegion.ES(), CreatePaymentTerms.PaymentTermsCM(), CreatePaymentMethod.Giro(), CreateLanguage.ESP(), BarcelonaCountyLbl); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, DomesticTreyResearchVATLbl, ValenciaCityLbl, '46010', CreateTerritory.Foreign(), CreateCountryRegion.ES(), CreatePaymentTerms.PaymentTermsDAYS14(), CreatePaymentMethod.Check(), CreateLanguage.ESP(), ValenciaCountyLbl); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, ExportSchoolofArtVATLbl, MiamiCityLbl, 'US-FL 37125', CreateTerritory.Foreign(), CreateCountryRegion.US(), CreatePaymentTerms.PaymentTermsCM(), CreatePaymentMethod.Bank(), CreateLanguage.ENU(), 'FL'); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, EUAlpineSkiHouseVATLbl, MunchenCityLbl, 'DE-80807', CreateTerritory.Foreign(), CreateCountryRegion.DE(), CreateESPaymentTerms.PaymentTermsDays3x30(), CreateESPaymentMethod.Efecto(), CreateLanguage.DEU(), ''); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, DomesticRelecloudVATLbl, BoadillaDelMonteCityLbl, '28660', CreateTerritory.Foreign(), CreateCountryRegion.ES(), CreatePaymentTerms.PaymentTermsDAYS14(), CreatePaymentMethod.Check(), CreateLanguage.ESP(), ''); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; VATRegistrationNo: Code[20]; City: Text[30]; PostCode: Code[20]; TerritoryCode: Code[10]; CountryRegionCode: Code[10]; PaymentTermsCode: Code[10]; PaymentMethodCode: Code[10]; LanguageCode: Code[10]; CustomerCounty: Text[30]) + begin + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Payment Terms Code", PaymentTermsCode); + Customer."VAT Registration No." := VATRegistrationNo; + if CountryRegionCode <> '' then + Customer.Validate("Country/Region Code", CountryRegionCode); + Customer.Validate("Payment Method Code", PaymentMethodCode); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate(County, CustomerCounty); + end; + + var + ValenciaCityLbl: Label 'Valencia', MaxLength = 30; + ValenciaCountyLbl: Label 'VALENCIA', MaxLength = 30; + BarcelonaCityLbl: Label 'Barcelona', MaxLength = 30; + BarcelonaCountyLbl: Label 'BARCELONA', MaxLength = 30; + BoadillaDelMonteCityLbl: Label 'Boadilla del Monte', MaxLength = 30; + MiamiCityLbl: Label 'Miami', MaxLength = 30; + MunchenCityLbl: Label 'Munchen', MaxLength = 30; + DomesticAdatumCorporationVATLbl: Label '789456278A', MaxLength = 20; + DomesticTreyResearchVATLbl: Label '254687456A', MaxLength = 20; + ExportSchoolofArtVATLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVATLbl: Label '533435789', MaxLength = 20; + DomesticRelecloudVATLbl: Label '582048936A', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESSalesDimValue.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESSalesDimValue.Codeunit.al new file mode 100644 index 0000000000..cf88986948 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESSalesDimValue.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 10836 "Create ES Sales Dim Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeSouthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + // CreateDimension.CustomerGroupDimension(): + // ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeSouthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + // CreateDimension.CustomerGroupDimension(): + // ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeSouthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + // CreateDimension.CustomerGroupDimension(): + // ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESShipToAddress.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESShipToAddress.Codeunit.al new file mode 100644 index 0000000000..6b67b874e0 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/2.Master Data/CreateESShipToAddress.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 10822 "Create ES Ship-to Address" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then begin + if Rec.Code = CreateShiptoAddress.Cheltenham() then + ValidateShiptoAddress(Rec, MadridCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode28023Lbl, MadridCountyLbl); + if Rec.Code = CreateShiptoAddress.London() then + ValidateShiptoAddress(Rec, VillalbaCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode28240Lbl, MadridCountyLbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then begin + if Rec.Code = CreateShiptoAddress.Fleet() then + ValidateShiptoAddress(Rec, ZaragozaCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode50001Lbl, ZaragozaCountyLbl); + if Rec.Code = CreateShiptoAddress.TWYCross() then + ValidateShiptoAddress(Rec, AlicanteCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode03003Lbl, AlicanteCountyLbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; CountryRegionCode: Code[10]; PostCode: Code[20]; ShipCounty: Text[30]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + ShiptoAddress.Validate("Post Code", PostCode); + ShiptoAddress.Validate(County, ShipCounty); + end; + + var + VillalbaCityLbl: Label 'Villalba', MaxLength = 30; + MadridCityLbl: Label 'Madrid', MaxLength = 30; + MadridCountyLbl: Label 'MADRID', MaxLength = 30; + ZaragozaCityLbl: Label 'Zaragoza', MaxLength = 30; + ZaragozaCountyLbl: Label 'ZARAGOZA', MaxLength = 30; + AlicanteCityLbl: Label 'Alicante', MaxLength = 30; + AlicanteCountyLbl: Label 'ALICANTE/ALACANT', MaxLength = 30; + PostCode28023Lbl: Label '28023', MaxLength = 20; + PostCode28240Lbl: Label '28240', MaxLength = 20; + PostCode50001Lbl: Label '50001', MaxLength = 20; + PostCode03003Lbl: Label '03003', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/3.Transaction Data/CreateESSalesDocument.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/3.Transaction Data/CreateESSalesDocument.Codeunit.al new file mode 100644 index 0000000000..312c22e1f4 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoData/Sale/3.Transaction Data/CreateESSalesDocument.Codeunit.al @@ -0,0 +1,15 @@ +codeunit 10828 "Create ES Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + begin + if SalesHeader.FindSet() then + repeat + SalesHeader.Validate("Sell-to Customer No."); + until SalesHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/Codeunits/CommonModuleES.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/CommonModuleES.Codeunit.al similarity index 100% rename from Apps/ES/ContosoCoffeeDemoDatasetES/app/Codeunits/CommonModuleES.Codeunit.al rename to Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/CommonModuleES.Codeunit.al diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/Codeunits/ContosoDemoDataSetupES.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoDemoDataSetupES.Codeunit.al similarity index 100% rename from Apps/ES/ContosoCoffeeDemoDatasetES/app/Codeunits/ContosoDemoDataSetupES.Codeunit.al rename to Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoDemoDataSetupES.Codeunit.al diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESAccountSchedule.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESAccountSchedule.Codeunit.al new file mode 100644 index 0000000000..376c29a6b5 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESAccountSchedule.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 10797 "Contoso ES Account Schedule" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Column Layout" = ri; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; ComparisonDateFormula: Code[10]) + var + ColumnLayout: Record "Column Layout"; + Exists: Boolean; + begin + if ColumnLayout.Get(ColumnLayoutName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ColumnLayout.Validate("Column Layout Name", ColumnLayoutName); + ColumnLayout.Validate("Line No.", LineNo); + ColumnLayout.Validate("Column No.", ColumnNo); + ColumnLayout.Validate("Column Header", ColumnHeader); + ColumnLayout.Validate("Column Type", ColumnType); + ColumnLayout.Validate("Ledger Entry Type", LedgerEntryType); + ColumnLayout.Validate(Formula, Formula); + ColumnLayout.Validate("Show Opposite Sign", ShowOppositeSign); + ColumnLayout.Validate(Show, Show); + ColumnLayout.Validate("Comparison Period Formula", ComparisonPeriodFormula); + Evaluate(ColumnLayout."Comparison Date Formula", ComparisonDateFormula); + ColumnLayout.Validate("Amount Type", AmountType); + + if Exists then + ColumnLayout.Modify(true) + else + ColumnLayout.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESArea.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESArea.Codeunit.al new file mode 100644 index 0000000000..105562677c --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESArea.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 10809 "Contoso ES Area" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Area" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertArea(Code: Code[10]; Text: Text[50]; PostCodePrefix: Code[20]) + var + "Area": Record "Area"; + Exists: Boolean; + begin + if Area.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Area.Validate(Code, Code); + Area.Validate(Text, Text); + Area.Validate("Post Code Prefix", PostCodePrefix); + + if Exists then + Area.Modify(true) + else + Area.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESInstallment.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESInstallment.Codeunit.al new file mode 100644 index 0000000000..31fe98fe6c --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESInstallment.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 10810 "Contoso ES Installment" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata Installment = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertInstallment(PaymentTermsCode: Code[10]; LineNo: Integer; PercantageOfTotal: Decimal; GapBetweenInstallments: Code[20]) + var + Installment: Record Installment; + Exists: Boolean; + begin + if Installment.Get() then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Installment.Validate("Payment Terms Code", PaymentTermsCode); + Installment.Validate("Line No.", LineNo); + Installment.Validate("% of Total", PercantageOfTotal); + Installment.Validate("Gap between Installments", GapBetweenInstallments); + + if Exists then + Installment.Modify(true) + else + Installment.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESPostCode.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESPostCode.Codeunit.al new file mode 100644 index 0000000000..e0cae6ab86 --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/Contoso Helpers/ContosoESPostCode.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 10787 "Contoso ES Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]; PostCodeCounty: Text[30]; CountyCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + PostCode.Validate("County Code", CountyCode); + PostCode.Validate(County, PostCodeCounty); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/ESContosoLocalization.Codeunit.al b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/ESContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..3a57c3248f --- /dev/null +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/DemoTool/ESContosoLocalization.Codeunit.al @@ -0,0 +1,297 @@ +codeunit 10824 "ES Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + FoundationModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Finance: + FinanceModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + FixedAssetModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Inventory: + InventoryModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::CRM: + CRMModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Purchase: + PurchaseModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Sales: + SalesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Bank: + BankModule(ContosoDemoDataLevel); + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create ES Payment Method"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create ES Bank Acc. Reco."); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create ES Cust Bank Account"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create ES Sales Document"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create ES Vendor Posting Group"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create ES Vendor Bank Account"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create ES Purchase Document"); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create ES Territory"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create ES Inv Posting Setup"); + Codeunit.Run(Codeunit::"Create ES Item Template"); + Codeunit.Run(Codeunit::"Create ES Location"); + end; + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create ES FA Posting Group"); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create ES Company Information"); + Codeunit.Run(Codeunit::"Create ES No. Series"); + Codeunit.Run(Codeunit::"Create ES Area"); + Codeunit.Run(Codeunit::"Create ES Payment Terms"); + Codeunit.Run(Codeunit::"Create ES Post Code"); + Codeunit.Run(Codeunit::"Create ES Installment"); + Codeunit.Run(Codeunit::"Create ES Source Code"); + Codeunit.Run(Codeunit::"Create ES Source Code Setup"); + Codeunit.Run(Codeunit::"Create ES VAT Posting Groups"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateESVATPostingGroups: Codeunit "Create ES VAT Posting Groups"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create ES Posting Groups"); + CreateESVATPostingGroups.InsertVATPostingSetupWithGLAccounts(); + Codeunit.Run(Codeunit::"Create ES Acc Schedule Name"); + Codeunit.Run(Codeunit::"Create ES Column Layout Name"); + Codeunit.Run(Codeunit::"Create ES General Ledger Setup"); + Codeunit.Run(Codeunit::"Create ES Currency"); + Codeunit.Run(Codeunit::"Create ES Vat Setup Post Grp"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create ES Column Layout"); + Codeunit.Run(Codeunit::"Create ES Financial Report"); + Codeunit.Run(Codeunit::"Create ES VAT Statement Name"); + Codeunit.Run(Codeunit::"Create ES VAT Statement Line"); + Codeunit.Run(Codeunit::"Create ES Currency Exch"); + Codeunit.Run(Codeunit::"Create ES Vat Reg. No. Format"); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateESBankAccPostingGrp: Codeunit "Create ES Bank Acc. PostingGrp"; + CreateESBankAccount: Codeunit "Create ES Bank Account"; + CreateESVendor: Codeunit "Create ES Vendor"; + CreateESCustomer: Codeunit "Create ES Customer"; + CreateESCountryRegion: Codeunit "Create ES Country Region"; + CreateESPaymentTerms: Codeunit "Create ES Payment Terms"; + CreateESItem: Codeunit "Create ES Item"; + CreateESItemCharge: Codeunit "Create ES Item Charge"; + CreateESLocation: Codeunit "Create ES Location"; + CreateESCustomerTemplate: Codeunit "Create ES Cust Template"; + CreateESShipToAddress: Codeunit "Create ES Ship-To Address"; + CreateESFAPostingGroup: Codeunit "Create ES FA Posting Group"; + CreateESResource: Codeunit "Create ES Resource"; + CreateESCustPostingGroup: Codeunit "Create ES Cust Posting Group"; + CreateESAnalysisView: Codeunit "Create ES Analysis View"; + CreateESPostingGroups: Codeunit "Create ES Posting Groups"; + CreateESEmployee: Codeunit "Create ES Employee"; + CreateESEmployeeTemplate: Codeunit "Create ES Employee Template"; + CreateESBankAccReco: Codeunit "Create ES Bank Acc. Reco."; + CreateESAccScheduleLine: Codeunit "Create ES Acc. Schedule Line"; + CreateESFinancialReport: Codeunit "Create ES Financial Report"; + CreateESReminderLevel: Codeunit "Create ES Reminder Level"; + CreateESCurrencyExch: Codeunit "Create ES Currency Exch"; + CreateESPurchDimValue: Codeunit "Create ES Purch. Dim. Value"; + CreateESSalesDimValue: Codeunit "Create ES Sales Dim Value"; + CreateESVatRegNoFormat: Codeunit "Create ES Vat Reg. No. Format"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + BindSubscription(CreateESCountryRegion); + BindSubscription(CreateESPaymentTerms); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateESResource); + BindSubscription(CreateESAnalysisView); + BindSubscription(CreateESAccScheduleLine); + BindSubscription(CreateESPostingGroups); + BindSubscription(CreateESFinancialReport); + BindSubscription(CreateESCurrencyExch); + BindSubscription(CreateESVatRegNoFormat); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateESLocation); + BindSubscription(CreateESItem); + BindSubscription(CreateESItemCharge); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateESBankAccPostingGrp); + BindSubscription(CreateESBankAccount); + BindSubscription(CreateESBankAccReco); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateESVendor); + BindSubscription(CreateESPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateESCustPostingGroup); + BindSubscription(CreateESCustomer); + BindSubscription(CreateESSalesDimValue); + BindSubscription(CreateESCustomerTemplate); + BindSubscription(CreateESShipToAddress); + BindSubscription(CreateESReminderLevel); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateESFAPostingGroup); + Enum::"Contoso Demo Data Module"::"Human Resources Module": + begin + BindSubscription(CreateESEmployee); + BindSubscription(CreateESEmployeeTemplate); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateESBankAccPostingGrp: Codeunit "Create ES Bank Acc. PostingGrp"; + CreateESBankAccount: Codeunit "Create ES Bank Account"; + CreateESVendor: Codeunit "Create ES Vendor"; + CreateESCustomer: Codeunit "Create ES Customer"; + CreateESCountryRegion: Codeunit "Create ES Country Region"; + CreateESPaymentTerms: Codeunit "Create ES Payment Terms"; + CreateESItemCharge: Codeunit "Create ES Item Charge"; + CreateESItem: Codeunit "Create ES Item"; + CreateESLocation: Codeunit "Create ES Location"; + CreateESCustomerTemplate: Codeunit "Create ES Cust Template"; + CreateESShipToAddress: Codeunit "Create ES Ship-To Address"; + CreateESFAPostingGroup: Codeunit "Create ES FA Posting Group"; + CreateESResource: Codeunit "Create ES Resource"; + CreateESCustPostingGroup: Codeunit "Create ES Cust Posting Group"; + CreateESAnalysisView: Codeunit "Create ES Analysis View"; + CreateESPostingGroups: Codeunit "Create ES Posting Groups"; + CreateESEmployee: Codeunit "Create ES Employee"; + CreateESEmployeeTemplate: Codeunit "Create ES Employee Template"; + CreateESBankAccReco: Codeunit "Create ES Bank Acc. Reco."; + CreateESAccScheduleLine: Codeunit "Create ES Acc. Schedule Line"; + CreateESFinancialReport: Codeunit "Create ES Financial Report"; + CreateESReminderLevel: Codeunit "Create ES Reminder Level"; + CreateESCurrencyExch: Codeunit "Create ES Currency Exch"; + CreateESPurchDimValue: Codeunit "Create ES Purch. Dim. Value"; + CreateESSalesDimValue: Codeunit "Create ES Sales Dim Value"; + CreateESVatRegNoFormat: Codeunit "Create ES Vat Reg. No. Format"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + UnbindSubscription(CreateESCountryRegion); + UnbindSubscription(CreateESPaymentTerms); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateESBankAccPostingGrp); + UnbindSubscription(CreateESBankAccount); + UnbindSubscription(CreateESBankAccReco); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateESItem); + UnbindSubscription(CreateESItemCharge); + UnbindSubscription(CreateESLocation); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateESVendor); + UnbindSubscription(CreateESPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateESCustPostingGroup); + UnbindSubscription(CreateESCustomer); + UnbindSubscription(CreateESSalesDimValue); + UnbindSubscription(CreateESCustomerTemplate); + UnbindSubscription(CreateESShipToAddress); + UnbindSubscription(CreateESReminderLevel); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnbindSubscription(CreateESFAPostingGroup); + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateESResource); + UnbindSubscription(CreateESAnalysisView); + UnbindSubscription(CreateESPostingGroups); + UnbindSubscription(CreateESAccScheduleLine); + UnbindSubscription(CreateESFinancialReport); + UnbindSubscription(CreateESCurrencyExch); + UnbindSubscription(CreateESVatRegNoFormat); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + begin + UnbindSubscription(CreateESEmployee); + UnbindSubscription(CreateESEmployeeTemplate); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/ES/ContosoCoffeeDemoDatasetES/app/app.json b/Apps/ES/ContosoCoffeeDemoDatasetES/app/app.json index f5d522679c..05c1aa449e 100644 --- a/Apps/ES/ContosoCoffeeDemoDatasetES/app/app.json +++ b/Apps/ES/ContosoCoffeeDemoDatasetES/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 10780, - "to": 10785 + "to": 10885 } ], "resourceExposurePolicy": { diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/CreateFIGLAccounts.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/CreateFIGLAccounts.Codeunit.al deleted file mode 100644 index 15d906e351..0000000000 --- a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/CreateFIGLAccounts.Codeunit.al +++ /dev/null @@ -1,115 +0,0 @@ -codeunit 13405 "Create FI GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1700'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2760'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '3001'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '7110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2943'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '1842'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '4141'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '4131'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '4142'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '4132'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '4143'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '4133'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1630'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '4800'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '4820'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1620'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1621') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '3820'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '4411'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '4412'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '4413'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '4510'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '4511'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '4512'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '4513'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '4514'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1610'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '1650'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1200'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1200'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1218'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6870'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '7040'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '3810'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '2914'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '1640'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1641'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '3121'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '3070'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '4121'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '4150'); - end; -} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/1.Setup Data/CreateBankAccPostingGrpFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/1.Setup Data/CreateBankAccPostingGrpFI.Codeunit.al new file mode 100644 index 0000000000..eec0accf0a --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/1.Setup Data/CreateBankAccPostingGrpFI.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 13422 "Create Bank Acc Posting Grp FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccPostingGroup(var Rec: Record "Bank Account Posting Group"; RunTrigger: Boolean) + var + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateFIGLAccount: Codeunit "Create FI GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Cash(): + ValidateRecordFields(Rec, CreateGLAccount.Cash()); + CreateBankAccPostingGrp.Checking(): + ValidateRecordFields(Rec, CreateFIGLAccount.Bank3()); + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateFIGLAccount.Loansfromcreditinstitutions1()); + CreateBankAccPostingGrp.Savings(): + ValidateRecordFields(Rec, CreateFIGLAccount.BankSampo()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; + + procedure Kassekred(): Code[20] + begin + exit(KassekredTok); + end; + + procedure Valuta(): Code[20] + begin + exit(ValutaTok); + end; + + var + KassekredTok: Label 'KASSEKRED', Locked = true; + ValutaTok: Label 'VALUTA', Locked = true; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/1.Setup Data/CreatePaymentMethodFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/1.Setup Data/CreatePaymentMethodFI.Codeunit.al new file mode 100644 index 0000000000..1d5b8c1d09 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/1.Setup Data/CreatePaymentMethodFI.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 13423 "Create Payment Method FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Method", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertPaymentMethod(var Rec: Record "Payment Method"; RunTrigger: Boolean) + var + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreatePaymentMethod.Cash(): + ValidateRecordFields(Rec, CreateGLAccount.Cash()); + end; + end; + + local procedure ValidateRecordFields(var PaymentMethod: Record "Payment Method"; BalAccountNo: Code[20]) + begin + PaymentMethod.Validate("Bal. Account No.", BalAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/2.Master Data/CreateBankAccountFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/2.Master Data/CreateBankAccountFI.Codeunit.al new file mode 100644 index 0000000000..87d30fabef --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/2.Master Data/CreateBankAccountFI.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 13424 "Create Bank Account FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -1447200, PostCodeLbl, CheckingLastPaymentLbl); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, PostCodeLbl, ''); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; PostCode: Code[20]; LastPaymentStatementNo: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Post Code", PostCode); + if LastPaymentStatementNo <> '' then + BankAccount.Validate("Last Payment Statement No.", LastPaymentStatementNo); + end; + + var + + PostCodeLbl: Label '80100', MaxLength = 20, Locked = true; + CheckingLastPaymentLbl: Label 'PREC000', Locked = true; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/3.Transaction Data/CreateBankAccRecFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/3.Transaction Data/CreateBankAccRecFI.Codeunit.al new file mode 100644 index 0000000000..2c85e030ed --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/3.Transaction Data/CreateBankAccRecFI.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 13453 "Create Bank Acc. Rec. FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateBankAccRecLine(); + end; + + local procedure UpdateBankAccRecLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccReconciliationLine.SetRange("Bank Account No.", CreateBankAccount.Checking()); + BankAccReconciliationLine.SetRange("Statement Line No.", 30000); + if BankAccReconciliationLine.FindFirst() then begin + BankAccReconciliationLine.Validate("Transaction Text", DeposittoAccountLbl); + BankAccReconciliationLine.Validate(Description, DeposittoAccountLbl); + BankAccReconciliationLine.Modify(true); + end; + end; + + var + DeposittoAccountLbl: Label 'Deposit to Account 18.01.24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineFI.Codeunit.al new file mode 100644 index 0000000000..9b9efaff60 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineFI.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 13452 "Create Gen. Journal Line FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralJournalLine(); + end; + + local procedure UpdateGeneralJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.SetRange("Journal Template Name", CreateGenJournalTemplate.General()); + GenJournalLine.SetRange("Journal Batch Name", CreateBankJnlBatch.Daily()); + if GenJournalLine.FindSet() then + repeat + case GenJournalLine."Line No." of + 10000: + GenJournalLine.Validate(Amount, -2757.62); + 20000: + GenJournalLine.Validate(Amount, -4136.43); + 30000, + 40000: + begin + GenJournalLine.Validate(Amount, -5515.24); + GenJournalLine.Validate(Description, DeposittoAccountLbl); + end; + end; + + GenJournalLine.Modify(true); + until GenJournalLine.Next() = 0; + end; + + var + DeposittoAccountLbl: Label 'Deposit to Account 18.01.24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupFI.Codeunit.al new file mode 100644 index 0000000000..93ac2f550a --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupFI.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 13450 "Create Marketing Setup FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMarketingSetup(); + end; + + local procedure UpdateMarketingSetup() + var + MarketingSetup: Record "Marketing Setup"; + begin + MarketingSetup.Get(); + + MarketingSetup.Validate("Default Country/Region Code", ''); + MarketingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookFI.Codeunit.al new file mode 100644 index 0000000000..e9ad3bb7d5 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookFI.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 13444 "Create FA Depreciation Book FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFANoSeriesFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFANoSeriesFI.Codeunit.al new file mode 100644 index 0000000000..6e3ff6d9cc --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFANoSeriesFI.Codeunit.al @@ -0,0 +1,56 @@ +codeunit 13439 "Create FA No. Series FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoNoSeries: Codeunit "Contoso No Series"; + CreateFANoSeries: Codeunit "Create FA No Series"; + begin + ContosoNoSeries.InsertNoSeries(FaJnl(), FixedAssetJournalLbl, 'G05001', 'G06000', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(Job(), JobTok, 'J00010', 'J99990', '', '', 10, Enum::"No. Series Implementation"::Sequence, true); + + UpdateFANNoSeries(CreateFANoSeries.FixedAsset(), true); + + UpdateFANoSeriesLine(CreateFANoSeries.InsuranceJournal(), 10000, 'N00001', 'N01000', 1); + UpdateFANoSeriesLine(CreateFANoSeries.FixedAssetGLJournal(), 10000, 'F00001', 'F01000', 1); + UpdateFANoSeriesLine(CreateFANoSeries.RecurringFixedAssetGLJournal(), 10000, 'RF00001', 'RF01000', 1); + UpdateFANoSeriesLine(CreateFANoSeries.FixedAsset(), 10000, 'FA000010', 'FA999990', 10); + UpdateFANoSeriesLine(CreateFANoSeries.Insurance(), 10000, 'INS000010', 'INS999990', 10); + end; + + procedure FaJnl(): Code[20] + begin + exit(FaJnlTok); + end; + + procedure Job(): Code[20] + begin + exit(JobTok); + end; + + local procedure UpdateFANNoSeries(NoSeriesCode: Code[20]; ManualNo: Boolean) + var + NoSeries: Record "No. Series"; + begin + NoSeries.Get(NoSeriesCode); + NoSeries.Validate("Manual Nos.", ManualNo); + NoSeries.Modify(true); + end; + + local procedure UpdateFANoSeriesLine(NoSeriesCode: Code[20]; LineNo: Integer; StartingNo: Code[20]; EndingNo: Code[20]; IncrementbyNo: Integer) + var + NoSeriesLine: Record "No. Series Line"; + begin + NoSeriesLine.Get(NoSeriesCode, LineNo); + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Ending No.", EndingNo); + NoSeriesLine.Validate("Increment-by No.", IncrementbyNo); + NoSeriesLine.Modify(true); + end; + + var + JobTok: Label 'JOB', MaxLength = 20, Locked = true; + FaJnlTok: Label 'FA-JNL', MaxLength = 20; + FixedAssetJournalLbl: Label 'Fixed Asset Journal', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFAPostingGrpFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFAPostingGrpFI.Codeunit.al new file mode 100644 index 0000000000..b2ec77a093 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/FA/1.Setup Data/CreateFAPostingGrpFI.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 13445 "Create FA Posting Grp. FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroups(var Rec: Record "FA Posting Group") + var + CreateFAPostingGrp: Codeunit "Create FA Posting Group"; + CreateGLAccountFI: Codeunit "Create FI GL Accounts"; + begin + case Rec.Code of + CreateFAPostingGrp.Equipment(), + CreateFAPostingGrp.Goodwill(), + CreateFAPostingGrp.Plant(), + CreateFAPostingGrp.Property(), + CreateFAPostingGrp.Vehicles(): + ValidateRecordFields(Rec, CreateGLAccountFI.Changeindepreciationreserve4(), CreateGLAccountFI.Depreciationdifference3()); + end; + end; + + local procedure ValidateRecordFields(var FAPostingGroup: Record "FA Posting Group"; DeprDifferenceAcc: Code[20]; DeprDifferenceBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Depr. Difference Acc.", DeprDifferenceAcc); + FAPostingGroup.Validate("Depr. Difference Bal. Acc.", DeprDifferenceBalAcc); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineFI.Codeunit.al new file mode 100644 index 0000000000..9db1e66896 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineFI.Codeunit.al @@ -0,0 +1,143 @@ +codeunit 13436 "Create Acc. Schedule Line FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, CreateFIGLAccounts.PROFITLOSSFORTHEFINANCIALYEAR(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Inventorytotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateFIGLAccounts.ShorttermReceivablestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Securitiestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Liquidassets2(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 110000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Loansfromcreditinstitutions1(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 120000: + ValidateRecordFields(Rec, CreateFIGLAccounts.LIABILITIESTOTAL(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 130000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Deferredtaxliability7(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 140000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Deferredtaxliability5(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 150000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Accrualsanddeferredincome9(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateFIGLAccounts.NETTURNOVERTOTAL(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateFIGLAccounts.ShorttermReceivablestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateFIGLAccounts.LIABILITIESTOTAL(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Inventorytotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 60000: + ValidateRecordFields(Rec, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 70000: + ValidateRecordFields(Rec, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateFIGLAccounts.ShorttermReceivablestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateFIGLAccounts.LIABILITIESTOTAL(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Liquidassets2() + '|' + CreateFIGLAccounts.Loansfromcreditinstitutions1(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '10' + '..' + '30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateFIGLAccounts.NETTURNOVERTOTAL(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Rawmaterialsandservicestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Variationinstockstotal() + '|' + CreateFIGLAccounts.Manafacturedforownusetotal() + '|' + CreateFIGLAccounts.Operatingincometotal() + '|' + CreateFIGLAccounts.Rawmaterialsandservicestotal() + '|' + CreateFIGLAccounts.Staffexpencestotal() + '|' + '6959', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Otheroperatingexpensestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Depreciationeductionsinvalue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Otherexpences(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFieldsReducedTrialBalance(Rec, CreateFIGLAccounts.NETTURNOVERTOTAL(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, TotalRevenueLbl); + 20000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Rawmaterialsandservicestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 50000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Variationinstockstotal() + '|' + CreateFIGLAccounts.Manafacturedforownusetotal() + '|' + CreateFIGLAccounts.Operatingincometotal() + '|' + CreateFIGLAccounts.Staffexpencestotal() + '|' + CreateFIGLAccounts.Otheroperatingexpensestotal() + '|' + CreateFIGLAccounts.Depreciationeductionsinvalue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 90000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Otheroperatingexpensestotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Salesofgoodsdom(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateFIGLAccounts.SalesofgoodsEU(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Salesofgoodsfor(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Sales8(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 80000: + ValidateRecordFields(Rec, CreateFIGLAccounts.Salesofgoodsdom(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + local procedure ValidateRecordFieldsReducedTrialBalance(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean; Description: Text[100]) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Description, Description); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateCurrencyFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateCurrencyFI.Codeunit.al new file mode 100644 index 0000000000..b45effc875 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateCurrencyFI.Codeunit.al @@ -0,0 +1,77 @@ +codeunit 13432 "Create Currency FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateFIGLAccount: Codeunit "Create FI GL Accounts"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.RUB(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, CreateFIGLAccount.Otherfinancialincome2(), CreateFIGLAccount.Financialexpenses9()); + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec, CreateFIGLAccount.Otherfinancialincome2(), CreateFIGLAccount.Financialexpenses9()); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchFI.Codeunit.al new file mode 100644 index 0000000000..f5b9d4e9e9 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchFI.Codeunit.al @@ -0,0 +1,30 @@ +// codeunit 13425 "Create Gen. Journal Batch FI" +// { +// InherentEntitlements = X; +// InherentPermissions = X; +// trigger OnRun() +// begin +// UpdateGenJournalBatch(); +// end; + +// local procedure UpdateGenJournalBatch() +// var +// CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; +// CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; +// CreateGLAccount: Codeunit "Create G/L Account"; +// begin +// ValidateRecordFields(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Monthly(), CreateGLAccount.Cash()); +// ValidateRecordFields(CreateGenJournalTemplate.CashReceipts(), CreateGenJournalBatch.General(), CreateGLAccount.Cash()); +// ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.Cash(), CreateGLAccount.Cash()); +// ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.General(), CreateGLAccount.Cash()); +// end; + +// local procedure ValidateRecordFields(JournalTemplateName: Code[10]; BatchName: Code[10]; BalAccountNo: Code[20]) +// var +// GenJournalBatch: Record "Gen. Journal Batch"; +// begin +// GenJournalBatch.Get(JournalTemplateName, BatchName); +// GenJournalBatch.Validate("Bal. Account No.", BalAccountNo); +// GenJournalBatch.Modify(true); +// end; +// } diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupFI.Codeunit.al new file mode 100644 index 0000000000..c5b972defe --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupFI.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 13431 "Create General Ledger Setup FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + CreateCurrency: Codeunit "Create Currency"; + begin + ValidateRecordFields(CreateCurrency.EUR(), 0.001, true, true); + end; + + local procedure ValidateRecordFields(LCYCode: Code[10]; UnitAmountRoundingPrecision: Decimal; EMUCurrency: Boolean; DataCheck: Boolean) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("Local Currency Symbol", ''); + GeneralLedgerSetup.Validate("Local Currency Description", ''); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Enable Data Check", DataCheck); + GeneralLedgerSetup.Validate("EMU Currency", EMUCurrency); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := UnitAmountRoundingPrecision; + GeneralLedgerSetup.Modify(true); + end; +} diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsFI.Codeunit.al new file mode 100644 index 0000000000..0f51154d78 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsFI.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 13430 "Create Posting Groups FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGenPostingSetup(); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateFIGLAccount: Codeunit "Create FI GL Accounts"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', '', '', '', '', CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ZeroPostingGroup(), '', '', CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', '', '', '', '', CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateFIGLAccount.Salesofgoodsdom(), CreateFIGLAccount.Reductioninvalue1(), CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateFIGLAccount.Salesofservicesdom(), CreateFIGLAccount.Reductioninvalue1(), CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateFIGLAccount.Salesofgoodsdom(), CreateFIGLAccount.Reductioninvalue1(), CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateFIGLAccount.SalesofgoodsEU(), CreateFIGLAccount.PurchasesofgoodsEU(), CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateFIGLAccount.Salesofgoodsfor(), CreateFIGLAccount.Purchasesofgoodsfor(), CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateFIGLAccount.Salesofservicesfor(), CreateFIGLAccount.Purchasesofgoodsfor(), CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateFIGLAccount.Salesofgoodsfor(), CreateFIGLAccount.Purchasesofgoodsfor(), CreateFIGLAccount.Variationinstocks5(), CreateFIGLAccount.Variationinstocks5(), '', '', CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts1(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Discounts4(), CreateFIGLAccount.Variationinstocks7(), CreateFIGLAccount.Itemsandsupplies6(), CreateFIGLAccount.Accrualsanddeferredincome2()); + ContosoGenPostingSetup.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateResourceFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateResourceFI.Codeunit.al new file mode 100644 index 0000000000..924da75693 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateResourceFI.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 13434 "Create Resource FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + ContosoUtilities: Codeunit "Contoso Utilities"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, CityLbl, 77, 84.7, 45.35484, 155, PostCodeLbl, ContosoUtilities.AdjustDate(20050525D)); + CreateResource.Terry(): + ValidateRecordFields(Rec, CityLbl, 77, 84.7, 45.35484, 155, PostCodeLbl, ContosoUtilities.AdjustDate(18750301D)); + CreateResource.Marty(): + ValidateRecordFields(Rec, CityLbl, 70, 77, 44.60432, 139, PostCodeLbl, ContosoUtilities.AdjustDate(18750301D)); + CreateResource.Lina(): + ValidateRecordFields(Rec, CityLbl, 93, 102.3, 45, 186, PostCodeLbl, ContosoUtilities.AdjustDate(18780101D)); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; EmploymentDate: Date) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + Resource.Validate("Employment Date", EmploymentDate); + end; + + var + CityLbl: Label 'Helsinki', MaxLength = 30, Locked = true; + PostCodeLbl: Label '00170', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostingGrpFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostingGrpFI.Codeunit.al new file mode 100644 index 0000000000..797795a286 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostingGrpFI.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 13449 "Create VATSetupPostingGrp. FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + VatSetupPostingGroup: Record "VAT Setup Posting Groups"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVatPostingGroupsFI: Codeunit "Create Vat Posting Groups FI"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupsFI.VAT8(), true, 8, CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), true, VatSetupPostingGroup."Application Type"::Items, Vat8DescriptionLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Setup Posting Groups", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatSetupPostingGroup(var Rec: Record "VAT Setup Posting Groups") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + case Rec."VAT Prod. Posting Group" of + CreateVATPostingGroups.FullNormal(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(VATOnlyInvoicesDescriptionLbl, '24')); + CreateVATPostingGroups.FullRed(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(VATOnlyInvoicesDescriptionLbl, '17')); + CreateVATPostingGroups.ServNormal(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(MiscellaneousVATDescriptionLbl, '24')); + CreateVATPostingGroups.ServRed(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(MiscellaneousVATDescriptionLbl, '17')); + CreateVATPostingGroups.Reduced(): + ValidateRecordFields(Rec, 17, CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3()); + CreateVATPostingGroups.Standard(): + ValidateRecordFields(Rec, 24, CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1()); + CreateVATPostingGroups.Zero(): + ValidateRecordFields(Rec, 0, CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1()); + end; + end; + + local procedure ValidateRecordFields(var VATSetupPostingGroups: Record "VAT Setup Posting Groups"; VatPercent: Decimal; SalesVatAccount: Code[20]; PurchaseVatAccount: Code[20]) + begin + VATSetupPostingGroups.Validate("VAT %", VatPercent); + VATSetupPostingGroups.Validate("Sales VAT Account", SalesVatAccount); + VATSetupPostingGroups.Validate("Purchase VAT Account", PurchaseVatAccount); + end; + + var + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + Vat8DescriptionLbl: Label 'Setup for EXPORT / VAT8', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsFI.Codeunit.al new file mode 100644 index 0000000000..079dc8b0c2 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsFI.Codeunit.al @@ -0,0 +1,84 @@ +codeunit 13429 "Create Vat Posting Groups FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Product Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATProductPostingGroup(var Rec: Record "VAT Product Posting Group") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + case Rec.Code of + CreateVATPostingGroups.FullNormal(): + Rec.Validate(Description, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '24')); + CreateVATPostingGroups.FullRed(): + Rec.Validate(Description, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '17')); + CreateVATPostingGroups.Reduced(): + Rec.Validate(Description, StrSubstNo(ReducedVatDescriptionLbl, '17')); + CreateVATPostingGroups.ServNormal(): + Rec.Validate(Description, StrSubstNo(MiscellaneousVATDescriptionLbl, '24')); + CreateVATPostingGroups.ServRed(): + Rec.Validate(Description, StrSubstNo(MiscellaneousVATDescriptionLbl, '17')); + CreateVATPostingGroups.Standard(): + Rec.Validate(Description, StrSubstNo(NormalVatDescriptionLbl, '24')); + end; + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(VAT8(), Vat8DescriptionLbl); + end; + + procedure UpdateVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Reduced(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Standard(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', VAT8(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), VAT8(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Zero(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), CreateVATPostingGroups.Reduced(), 17, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Standard(), 24, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), VAT8(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), VAT8(), 8, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), CreateVATPostingGroups.Reduced(), 17, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateFIGLAccounts.Deferredtaxreceivables6(), CreateVATPostingGroups.Reduced(), true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Standard(), 24, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateFIGLAccounts.Deferredtaxreceivables4(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), VAT8(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), VAT8(), 8, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateFIGLAccounts.Deferredtaxreceivables6(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Zero(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), VAT8(), CreateFIGLAccounts.Deferredtaxliability10(), CreateFIGLAccounts.Deferredtaxreceivables3(), VAT8(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Zero(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + ContosoPostingSetup.SetOverwriteData(false); + end; + + procedure VAT8(): Code[20] + begin + exit(VAT8Tok); + end; + + var + VAT8Tok: Label 'VAT8', Locked = true; + Vat8DescriptionLbl: Label 'Miscellaneous 8 VAT', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Standard VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Reduced VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateFI.Codeunit.al new file mode 100644 index 0000000000..2addbcfb90 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateFI.Codeunit.al @@ -0,0 +1,193 @@ +codeunit 13433 "Create Currency Ex. Rate FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + date: Date; + begin + date := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 165.793, 165.793); + date := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 159.2372, 159.2372); + date := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 154.8801, 154.8801); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 12.3754, 12.3754); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.7473, 15.7473); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 101.7599, 101.7599); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 16.2267, 16.2267); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 105.0287, 105.0287); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateFIGLAccounts.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateFIGLAccounts.Codeunit.al new file mode 100644 index 0000000000..8c10481be6 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateFIGLAccounts.Codeunit.al @@ -0,0 +1,7565 @@ +codeunit 13405 "Create FI GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1700'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2760'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '3001'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '7110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2943'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '1842'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '4142'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1630'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '4800'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '4820'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1620'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1621') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '3820'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '4411'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '4412'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '4413'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '4510'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '4511'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '4512'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '4513'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '4514'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1610'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '1650'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1218'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6870'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '7040'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '3810'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '2914'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '1640'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1641'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '3121'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '3070'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '4121'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '4150'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforFI() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '0900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '0910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), '1600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), '1609'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '1879'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '1899'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '1900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), '1990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '3676'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '6530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '6821'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '9100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '9300'); + ContosoGLAccount.AddAccountForLocalization(IntangibleassetsName(), '0920'); + ContosoGLAccount.AddAccountForLocalization(FoundingcostsName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear1Name(), '1005'); + ContosoGLAccount.AddAccountForLocalization(ResearchName(), '1010'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear2Name(), '1015'); + ContosoGLAccount.AddAccountForLocalization(DevelopmentName(), '1020'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear3Name(), '1025'); + ContosoGLAccount.AddAccountForLocalization(IntangiblerightsName(), '1030'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear4Name(), '1035'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '1040'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear5Name(), '1041'); + ContosoGLAccount.AddAccountForLocalization(Goodwill2Name(), '1045'); + ContosoGLAccount.AddAccountForLocalization(OthercapitalisedexpenditureName(), '1050'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear6Name(), '1055'); + ContosoGLAccount.AddAccountForLocalization(AdvancepaymentsName(), '1080'); + ContosoGLAccount.AddAccountForLocalization(IntangibleassetstotalName(), '1089'); + ContosoGLAccount.AddAccountForLocalization(TangibleassetsName(), '1099'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets1Name(), '1100'); + ContosoGLAccount.AddAccountForLocalization(MachineryandequipmentName(), '1120'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear7Name(), '1128'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets17Name(), '1150'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear8Name(), '1158'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets18Name(), '1160'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear9Name(), '1168'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets19Name(), '1190'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear10Name(), '1198'); + ContosoGLAccount.AddAccountForLocalization(Machineryandequipment2Name(), '1200'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear11Name(), '1218'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets20Name(), '1220'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear12Name(), '1228'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets2Name(), '1230'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets3Name(), '1231'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets4Name(), '1232'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets5Name(), '1233'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets6Name(), '1234'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets7Name(), '1235'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets8Name(), '1236'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets9Name(), '1239'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets10Name(), '1240'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets11Name(), '1250'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear13Name(), '1258'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets12Name(), '1260'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets13Name(), '1291'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets14Name(), '1320'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets15Name(), '1321'); + ContosoGLAccount.AddAccountForLocalization(Othertangibleassets16Name(), '1324'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYear14Name(), '1328'); + ContosoGLAccount.AddAccountForLocalization(TangibleassetstotalName(), '1329'); + ContosoGLAccount.AddAccountForLocalization(InvestmentsName(), '1399'); + ContosoGLAccount.AddAccountForLocalization(SharesandholdingsName(), '1400'); + ContosoGLAccount.AddAccountForLocalization(SharesinGroupcompaniesName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(SharesinassociatedcompaniesName(), '1411'); + ContosoGLAccount.AddAccountForLocalization(OthersharesandholdingsName(), '1415'); + ContosoGLAccount.AddAccountForLocalization(Othersharesandholdings2Name(), '1420'); + ContosoGLAccount.AddAccountForLocalization(Ownshares1Name(), '1440'); + ContosoGLAccount.AddAccountForLocalization(Ownshares2Name(), '1450'); + ContosoGLAccount.AddAccountForLocalization(OtherinvestmentsName(), '1490'); + ContosoGLAccount.AddAccountForLocalization(InvestmentstotalName(), '1499'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetstotalName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(Itemsandsupplies1Name(), '1610'); + ContosoGLAccount.AddAccountForLocalization(Itemsandsupplies2Name(), '1611'); + ContosoGLAccount.AddAccountForLocalization(Itemsandsupplies3Name(), '1612'); + ContosoGLAccount.AddAccountForLocalization(Itemsandsupplies4Name(), '1620'); + ContosoGLAccount.AddAccountForLocalization(Itemsandsupplies5Name(), '1621'); + ContosoGLAccount.AddAccountForLocalization(Itemsandsupplies6Name(), '1622'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoods1Name(), '1630'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoods2Name(), '1631'); + ContosoGLAccount.AddAccountForLocalization(WIPAccountName(), '1640'); + ContosoGLAccount.AddAccountForLocalization(WIPAccount2Name(), '1641'); + ContosoGLAccount.AddAccountForLocalization(WIPAccruedCostName(), '1642'); + ContosoGLAccount.AddAccountForLocalization(WIPAccruedSalesName(), '1643'); + ContosoGLAccount.AddAccountForLocalization(WIPInvoicedSalesName(), '1644'); + ContosoGLAccount.AddAccountForLocalization(OtherinventoriesName(), '1660'); + ContosoGLAccount.AddAccountForLocalization(Advancepayments2Name(), '1670'); + ContosoGLAccount.AddAccountForLocalization(InventorytotalName(), '1679'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivable10Name(), '1699'); + ContosoGLAccount.AddAccountForLocalization(Salesreceivables1Name(), '1700'); + ContosoGLAccount.AddAccountForLocalization(Salesreceivables2Name(), '1701'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesofGroupcompaniesName(), '1705'); + ContosoGLAccount.AddAccountForLocalization(ReceivablessociatedcompaniesName(), '1710'); + ContosoGLAccount.AddAccountForLocalization(LoanesName(), '1715'); + ContosoGLAccount.AddAccountForLocalization(Otherreceivables1Name(), '1720'); + ContosoGLAccount.AddAccountForLocalization(Salesreceivables3Name(), '1725'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesofGroupcompanies2Name(), '1730'); + ContosoGLAccount.AddAccountForLocalization(Receivablesociatedcompanies2Name(), '1735'); + ContosoGLAccount.AddAccountForLocalization(Loanes2Name(), '1740'); + ContosoGLAccount.AddAccountForLocalization(Otherreceivables2Name(), '1745'); + ContosoGLAccount.AddAccountForLocalization(SharesnotpaidName(), '1750'); + ContosoGLAccount.AddAccountForLocalization(Sharesnotpaid2Name(), '1760'); + ContosoGLAccount.AddAccountForLocalization(AccruedincomeName(), '1800'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables1Name(), '1840'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables2Name(), '1841'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables3Name(), '1842'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables4Name(), '1843'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables5Name(), '1844'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables6Name(), '1845'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables7Name(), '1848'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxreceivables8Name(), '1849'); + ContosoGLAccount.AddAccountForLocalization(AllocationsName(), '1850'); + ContosoGLAccount.AddAccountForLocalization(Otherreceivables3Name(), '1860'); + ContosoGLAccount.AddAccountForLocalization(ShorttermReceivablestotalName(), '1869'); + ContosoGLAccount.AddAccountForLocalization(SharesandparticipationsName(), '1880'); + ContosoGLAccount.AddAccountForLocalization(SharesandpartipaupcompaniesName(), '1882'); + ContosoGLAccount.AddAccountForLocalization(Ownshares3Name(), '1884'); + ContosoGLAccount.AddAccountForLocalization(SharesandpaicipoupcompaniesName(), '1885'); + ContosoGLAccount.AddAccountForLocalization(OthersharesandparticipationsName(), '1887'); + ContosoGLAccount.AddAccountForLocalization(OthersecuritiesName(), '1890'); + ContosoGLAccount.AddAccountForLocalization(SecuritiestotalName(), '1891'); + ContosoGLAccount.AddAccountForLocalization(BankNordeaName(), '1910'); + ContosoGLAccount.AddAccountForLocalization(BankSampoName(), '1916'); + ContosoGLAccount.AddAccountForLocalization(Bank3Name(), '1920'); + ContosoGLAccount.AddAccountForLocalization(Bank4Name(), '1940'); + ContosoGLAccount.AddAccountForLocalization(Bank5Name(), '1950'); + ContosoGLAccount.AddAccountForLocalization(Bank6Name(), '1960'); + ContosoGLAccount.AddAccountForLocalization(Bank7Name(), '1970'); + ContosoGLAccount.AddAccountForLocalization(Liquidassets2Name(), '1979'); + ContosoGLAccount.AddAccountForLocalization(CurrentAssetstotalName(), '1988'); + ContosoGLAccount.AddAccountForLocalization(ASSETSTOTALName(), '1989'); + ContosoGLAccount.AddAccountForLocalization(EQUITYCAPITALName(), '1999'); + ContosoGLAccount.AddAccountForLocalization(SharecapitalestrictedequityName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(SharepremiumaccountName(), '2006'); + ContosoGLAccount.AddAccountForLocalization(RevaluationreserveName(), '2009'); + ContosoGLAccount.AddAccountForLocalization(ReserveforownsharesName(), '2010'); + ContosoGLAccount.AddAccountForLocalization(ReservefundName(), '2020'); + ContosoGLAccount.AddAccountForLocalization(OtherfundsName(), '2036'); + ContosoGLAccount.AddAccountForLocalization(ProfitLossbroughtforwardName(), '2080'); + ContosoGLAccount.AddAccountForLocalization(ProfitLossfohefinancialyearName(), '2090'); + ContosoGLAccount.AddAccountForLocalization(SharecapilerrestrictedequityName(), '2099'); + ContosoGLAccount.AddAccountForLocalization(EQUITYCAPITALTOTALName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(APPROPRIATIONSName(), '2199'); + ContosoGLAccount.AddAccountForLocalization(Depreciationdifference1Name(), '2200'); + ContosoGLAccount.AddAccountForLocalization(Depreciationdifference2Name(), '2210'); + ContosoGLAccount.AddAccountForLocalization(Depreciationdifference3Name(), '2220'); + ContosoGLAccount.AddAccountForLocalization(Voluntaryprovisions1Name(), '2240'); + ContosoGLAccount.AddAccountForLocalization(Voluntaryprovisions2Name(), '2260'); + ContosoGLAccount.AddAccountForLocalization(Voluntaryprovisions3Name(), '2264'); + ContosoGLAccount.AddAccountForLocalization(APPROPRIATIONSTOTALName(), '2269'); + ContosoGLAccount.AddAccountForLocalization(COMPULSORYPROVISIONSName(), '2270'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsforpensionsName(), '2271'); + ContosoGLAccount.AddAccountForLocalization(ProvisionsfortaxationName(), '2275'); + ContosoGLAccount.AddAccountForLocalization(Otherprovisions1Name(), '2280'); + ContosoGLAccount.AddAccountForLocalization(Otherprovisions2Name(), '2290'); + ContosoGLAccount.AddAccountForLocalization(COMPULSORYPROVISIONSTOTALName(), '2299'); + ContosoGLAccount.AddAccountForLocalization(CREDITORSName(), '2499'); + ContosoGLAccount.AddAccountForLocalization(DepenturesName(), '2500'); + ContosoGLAccount.AddAccountForLocalization(ConvertibledepenturesName(), '2510'); + ContosoGLAccount.AddAccountForLocalization(Loansfromcreditinstitutions1Name(), '2520'); + ContosoGLAccount.AddAccountForLocalization(Loansfromcreditinstitutions2Name(), '2530'); + ContosoGLAccount.AddAccountForLocalization(Loansfromcreditinstitutions3Name(), '2550'); + ContosoGLAccount.AddAccountForLocalization(Othercreditors1Name(), '2561'); + ContosoGLAccount.AddAccountForLocalization(PensionloansName(), '2570'); + ContosoGLAccount.AddAccountForLocalization(AdvancesreceivedName(), '2580'); + ContosoGLAccount.AddAccountForLocalization(Tradecreditors1Name(), '2590'); + ContosoGLAccount.AddAccountForLocalization(Amountsowedundertakings1Name(), '2592'); + ContosoGLAccount.AddAccountForLocalization(Amountsowtoparticdertakings1Name(), '2593'); + ContosoGLAccount.AddAccountForLocalization(Billsofexchangepayable1Name(), '2594'); + ContosoGLAccount.AddAccountForLocalization(AccrualsanddeferredincomeName(), '2597'); + ContosoGLAccount.AddAccountForLocalization(Othercreditors2Name(), '2640'); + ContosoGLAccount.AddAccountForLocalization(Othercreditors3Name(), '2660'); + ContosoGLAccount.AddAccountForLocalization(Amountsowedtodertakings2Name(), '2673'); + ContosoGLAccount.AddAccountForLocalization(Amountsowedtoparticikings2Name(), '2674'); + ContosoGLAccount.AddAccountForLocalization(Othercreditors4Name(), '2690'); + ContosoGLAccount.AddAccountForLocalization(Loansfromcreditinstitutions4Name(), '2700'); + ContosoGLAccount.AddAccountForLocalization(Loansfromcreditinstitutions5Name(), '2720'); + ContosoGLAccount.AddAccountForLocalization(Pensionloans2Name(), '2740'); + ContosoGLAccount.AddAccountForLocalization(Advancesreceived2Name(), '2750'); + ContosoGLAccount.AddAccountForLocalization(Tradecreditors2Name(), '2760'); + ContosoGLAccount.AddAccountForLocalization(Tradecreditors3Name(), '2761'); + ContosoGLAccount.AddAccountForLocalization(Amountsedtogrouundertakings3Name(), '2770'); + ContosoGLAccount.AddAccountForLocalization(Amountsowtorestundertakings3Name(), '2771'); + ContosoGLAccount.AddAccountForLocalization(Billsofexchangepayable2Name(), '2790'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome9Name(), '2800'); + ContosoGLAccount.AddAccountForLocalization(Othercreditors5Name(), '2839'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome1Name(), '2840'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome2Name(), '2841'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome3Name(), '2842'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome4Name(), '2849'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome5Name(), '2850'); + ContosoGLAccount.AddAccountForLocalization(Othercreditors6Name(), '2860'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome6Name(), '2870'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome7Name(), '2890'); + ContosoGLAccount.AddAccountForLocalization(Accrualsanddeferredincome8Name(), '2900'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability1Name(), '2910'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability2Name(), '2911'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability3Name(), '2912'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability4Name(), '2913'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability5Name(), '2915'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability6Name(), '2920'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability7Name(), '2940'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability8Name(), '2941'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability9Name(), '2942'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability10Name(), '2943'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability11Name(), '2945'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability12Name(), '2947'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability13Name(), '2950'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability14Name(), '2957'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability15Name(), '2960'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability16Name(), '2970'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability17Name(), '2974'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability18Name(), '2990'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability19Name(), '2991'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability20Name(), '2992'); + ContosoGLAccount.AddAccountForLocalization(Deferredtaxliability21Name(), '2993'); + ContosoGLAccount.AddAccountForLocalization(CREDITORSTOTALName(), '2995'); + ContosoGLAccount.AddAccountForLocalization(LIABILITIESTOTALName(), '2996'); + ContosoGLAccount.AddAccountForLocalization(NETTURNOVERName(), '2999'); + ContosoGLAccount.AddAccountForLocalization(SalesofrawmaterialsdomName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(SalesofgoodsdomName(), '3001'); + ContosoGLAccount.AddAccountForLocalization(SalesofservicesdomName(), '3002'); + ContosoGLAccount.AddAccountForLocalization(SalesofservicecontName(), '3010'); + ContosoGLAccount.AddAccountForLocalization(Sales1Name(), '3040'); + ContosoGLAccount.AddAccountForLocalization(Sales2Name(), '3050'); + ContosoGLAccount.AddAccountForLocalization(Sales3Name(), '3060'); + ContosoGLAccount.AddAccountForLocalization(Sales4Name(), '3070'); + ContosoGLAccount.AddAccountForLocalization(Sales5Name(), '3075'); + ContosoGLAccount.AddAccountForLocalization(Sales6Name(), '3090'); + ContosoGLAccount.AddAccountForLocalization(SalesofrawmaterialsforName(), '3100'); + ContosoGLAccount.AddAccountForLocalization(SalesofgoodsforName(), '3101'); + ContosoGLAccount.AddAccountForLocalization(SalesofservicesforName(), '3102'); + ContosoGLAccount.AddAccountForLocalization(SalesofrawmaterialsEUName(), '3110'); + ContosoGLAccount.AddAccountForLocalization(SalesofgoodsEUName(), '3111'); + ContosoGLAccount.AddAccountForLocalization(SalesofservicesEUName(), '3112'); + ContosoGLAccount.AddAccountForLocalization(Sales7Name(), '3120'); + ContosoGLAccount.AddAccountForLocalization(Sales8Name(), '3121'); + ContosoGLAccount.AddAccountForLocalization(Sales9Name(), '3122'); + ContosoGLAccount.AddAccountForLocalization(Sales10Name(), '3140'); + ContosoGLAccount.AddAccountForLocalization(Sales11Name(), '3144'); + ContosoGLAccount.AddAccountForLocalization(Sales12Name(), '3145'); + ContosoGLAccount.AddAccountForLocalization(Sales13Name(), '3150'); + ContosoGLAccount.AddAccountForLocalization(Sales14Name(), '3160'); + ContosoGLAccount.AddAccountForLocalization(Sales15Name(), '3170'); + ContosoGLAccount.AddAccountForLocalization(Sales16Name(), '3173'); + ContosoGLAccount.AddAccountForLocalization(Sales17Name(), '3180'); + ContosoGLAccount.AddAccountForLocalization(Sales18Name(), '3190'); + ContosoGLAccount.AddAccountForLocalization(Sales19Name(), '3290'); + ContosoGLAccount.AddAccountForLocalization(Discounts1Name(), '3600'); + ContosoGLAccount.AddAccountForLocalization(Discounts2Name(), '3610'); + ContosoGLAccount.AddAccountForLocalization(Discounts3Name(), '3611'); + ContosoGLAccount.AddAccountForLocalization(ExchangeratedifferencesName(), '3620'); + ContosoGLAccount.AddAccountForLocalization(Exchangerategains7Name(), '3621'); + ContosoGLAccount.AddAccountForLocalization(ExchangeratelossesName(), '3622'); + ContosoGLAccount.AddAccountForLocalization(PaymenttoleranceName(), '3630'); + ContosoGLAccount.AddAccountForLocalization(PaymenttolerancededucName(), '3631'); + ContosoGLAccount.AddAccountForLocalization(VATcorrectionsName(), '3650'); + ContosoGLAccount.AddAccountForLocalization(ShippingExpences1Name(), '3660'); + ContosoGLAccount.AddAccountForLocalization(ShippingExpences2Name(), '3661'); + ContosoGLAccount.AddAccountForLocalization(OthersalesdeductionsName(), '3670'); + ContosoGLAccount.AddAccountForLocalization(CreditcardprovisionsName(), '3675'); + ContosoGLAccount.AddAccountForLocalization(NETTURNOVERTOTALName(), '3679'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks1Name(), '3709'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks2Name(), '3710'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks3Name(), '3711'); + ContosoGLAccount.AddAccountForLocalization(VariationinstockstotalName(), '3720'); + ContosoGLAccount.AddAccountForLocalization(Manafacturedforownuse1Name(), '3749'); + ContosoGLAccount.AddAccountForLocalization(Manafacturedforownuse2Name(), '3750'); + ContosoGLAccount.AddAccountForLocalization(Manafacturedforownuse3Name(), '3760'); + ContosoGLAccount.AddAccountForLocalization(ManafacturedforownusetotalName(), '3769'); + ContosoGLAccount.AddAccountForLocalization(Otheroperatingincome1Name(), '3799'); + ContosoGLAccount.AddAccountForLocalization(Otheroperatingincome2Name(), '3800'); + ContosoGLAccount.AddAccountForLocalization(Otheroperatingincome3Name(), '3810'); + ContosoGLAccount.AddAccountForLocalization(RentsName(), '3840'); + ContosoGLAccount.AddAccountForLocalization(InsurancesName(), '3910'); + ContosoGLAccount.AddAccountForLocalization(GroupservicesName(), '3930'); + ContosoGLAccount.AddAccountForLocalization(OthergroupservicesName(), '3940'); + ContosoGLAccount.AddAccountForLocalization(OperatingincometotalName(), '3949'); + ContosoGLAccount.AddAccountForLocalization(RawmaterialsandservicesName(), '3998'); + ContosoGLAccount.AddAccountForLocalization(RawmaterialsandconsumablesName(), '3999'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofrawmaterialsdomName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofgoodsdomName(), '4001'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofservicesdomName(), '4002'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofrawmaterialsforName(), '4100'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofgoodsforName(), '4101'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofservicesforName(), '4102'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofrawmaterialsEUName(), '4110'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofgoodsEUName(), '4111'); + ContosoGLAccount.AddAccountForLocalization(PurchasesofservicesEUName(), '4112'); + ContosoGLAccount.AddAccountForLocalization(Purchases1Name(), '4120'); + ContosoGLAccount.AddAccountForLocalization(Purchases2Name(), '4121'); + ContosoGLAccount.AddAccountForLocalization(Purchases3Name(), '4122'); + ContosoGLAccount.AddAccountForLocalization(Purchases4Name(), '4150'); + ContosoGLAccount.AddAccountForLocalization(Purchases5Name(), '4200'); + ContosoGLAccount.AddAccountForLocalization(Purchases6Name(), '4240'); + ContosoGLAccount.AddAccountForLocalization(Purchases7Name(), '4255'); + ContosoGLAccount.AddAccountForLocalization(Purchases8Name(), '4270'); + ContosoGLAccount.AddAccountForLocalization(Purchases9Name(), '4380'); + ContosoGLAccount.AddAccountForLocalization(Discounts4Name(), '4600'); + ContosoGLAccount.AddAccountForLocalization(Discounts5Name(), '4610'); + ContosoGLAccount.AddAccountForLocalization(Discounts6Name(), '4611'); + ContosoGLAccount.AddAccountForLocalization(Invoicerounding2Name(), '4615'); + ContosoGLAccount.AddAccountForLocalization(Exchangeratedifferences2Name(), '4620'); + ContosoGLAccount.AddAccountForLocalization(Exchangerategains6Name(), '4621'); + ContosoGLAccount.AddAccountForLocalization(Paymenttolerance2Name(), '4630'); + ContosoGLAccount.AddAccountForLocalization(Paymenttolerancededuc2Name(), '4631'); + ContosoGLAccount.AddAccountForLocalization(VATcorrections2Name(), '4650'); + ContosoGLAccount.AddAccountForLocalization(ShippingName(), '4662'); + ContosoGLAccount.AddAccountForLocalization(InsuranceName(), '4672'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks9Name(), '4800'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks10Name(), '4801'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks11Name(), '4810'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks4Name(), '4811'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks5Name(), '4820'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks6Name(), '4821'); + ContosoGLAccount.AddAccountForLocalization(Variationinstocks7Name(), '4830'); + ContosoGLAccount.AddAccountForLocalization(RawmaterialndcoumablestotalName(), '4899'); + ContosoGLAccount.AddAccountForLocalization(Externalservices1Name(), '4900'); + ContosoGLAccount.AddAccountForLocalization(Externalservices2Name(), '4910'); + ContosoGLAccount.AddAccountForLocalization(Externalservices3Name(), '4980'); + ContosoGLAccount.AddAccountForLocalization(ShippingservicesName(), '4983'); + ContosoGLAccount.AddAccountForLocalization(RawmaterialsandservicestotalName(), '4998'); + ContosoGLAccount.AddAccountForLocalization(StaffexpencesName(), '4999'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries1Name(), '5000'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries2Name(), '5060'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries3Name(), '5070'); + ContosoGLAccount.AddAccountForLocalization(Socialsecurityexpenses1Name(), '5080'); + ContosoGLAccount.AddAccountForLocalization(Socialsecurityexpenses2Name(), '5090'); + ContosoGLAccount.AddAccountForLocalization(Socialsecurityexpenses3Name(), '5100'); + ContosoGLAccount.AddAccountForLocalization(Socialsecurityexpenses4Name(), '5101'); + ContosoGLAccount.AddAccountForLocalization(Pensionexpenses1Name(), '5102'); + ContosoGLAccount.AddAccountForLocalization(Othersocialsecurityexpenses1Name(), '5105'); + ContosoGLAccount.AddAccountForLocalization(Othersocialsecurityexpenses2Name(), '5106'); + ContosoGLAccount.AddAccountForLocalization(Othersocialsecurityexpenses3Name(), '5107'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses1Name(), '5120'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses2Name(), '5122'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses3Name(), '5125'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses4Name(), '5130'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses5Name(), '5131'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses6Name(), '5132'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses7Name(), '5150'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses8Name(), '5200'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses9Name(), '5202'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses10Name(), '5203'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses11Name(), '5204'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses12Name(), '5205'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses13Name(), '5970'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries4Name(), '6000'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries5Name(), '6010'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries6Name(), '6020'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries7Name(), '6030'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries8Name(), '6040'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries9Name(), '6050'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries10Name(), '6060'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries11Name(), '6070'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries12Name(), '6071'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries13Name(), '6073'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries14Name(), '6075'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries15Name(), '6076'); + ContosoGLAccount.AddAccountForLocalization(Wagesandsalaries16Name(), '6078'); + ContosoGLAccount.AddAccountForLocalization(Socialsecurityexpenses5Name(), '6100'); + ContosoGLAccount.AddAccountForLocalization(Socialsecurityexpenses6Name(), '6101'); + ContosoGLAccount.AddAccountForLocalization(Pensionexpenses2Name(), '6102'); + ContosoGLAccount.AddAccountForLocalization(Pensionexpenses3Name(), '6104'); + ContosoGLAccount.AddAccountForLocalization(Othersocialsecurityexpenses4Name(), '6105'); + ContosoGLAccount.AddAccountForLocalization(Othersocialsecurityexpenses5Name(), '6106'); + ContosoGLAccount.AddAccountForLocalization(Othersocialsecurityexpenses6Name(), '6107'); + ContosoGLAccount.AddAccountForLocalization(Pensionexpenses4Name(), '6108'); + ContosoGLAccount.AddAccountForLocalization(Othersocialsecurityexpenses7Name(), '6110'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses14Name(), '6120'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses15Name(), '6122'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses16Name(), '6125'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses17Name(), '6130'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses18Name(), '6131'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses19Name(), '6132'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses20Name(), '6150'); + ContosoGLAccount.AddAccountForLocalization(StaffexpencestotalName(), '6159'); + ContosoGLAccount.AddAccountForLocalization(OtheroperatingchargesName(), '6199'); + ContosoGLAccount.AddAccountForLocalization(Rents2Name(), '6200'); + ContosoGLAccount.AddAccountForLocalization(Rents3Name(), '6210'); + ContosoGLAccount.AddAccountForLocalization(Rents4Name(), '6220'); + ContosoGLAccount.AddAccountForLocalization(Rents5Name(), '6230'); + ContosoGLAccount.AddAccountForLocalization(Rents6Name(), '6240'); + ContosoGLAccount.AddAccountForLocalization(Rents7Name(), '6250'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses21Name(), '6300'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses22Name(), '6301'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses23Name(), '6302'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses24Name(), '6303'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses25Name(), '6306'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses26Name(), '6310'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses27Name(), '6320'); + ContosoGLAccount.AddAccountForLocalization(Otherstaffexpenses28Name(), '6330'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp1Name(), '6340'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp2Name(), '6350'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp3Name(), '6360'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp4Name(), '6370'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp5Name(), '6380'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp6Name(), '6390'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp7Name(), '6400'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp8Name(), '6420'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp9Name(), '6430'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp10Name(), '6450'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp11Name(), '6460'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp12Name(), '6470'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp13Name(), '6480'); + ContosoGLAccount.AddAccountForLocalization(Salesmarketingexp14Name(), '6490'); + ContosoGLAccount.AddAccountForLocalization(FuelName(), '6500'); + ContosoGLAccount.AddAccountForLocalization(Maintenance1Name(), '6510'); + ContosoGLAccount.AddAccountForLocalization(Maintenance2Name(), '6522'); + ContosoGLAccount.AddAccountForLocalization(Maintenance3Name(), '6524'); + ContosoGLAccount.AddAccountForLocalization(Maintenance4Name(), '6526'); + ContosoGLAccount.AddAccountForLocalization(FurnitureName(), '6540'); + ContosoGLAccount.AddAccountForLocalization(OtherequipmentName(), '6550'); + ContosoGLAccount.AddAccountForLocalization(SuppliesName(), '6555'); + ContosoGLAccount.AddAccountForLocalization(OthermaintenanceservicesName(), '6560'); + ContosoGLAccount.AddAccountForLocalization(WaterName(), '6570'); + ContosoGLAccount.AddAccountForLocalization(GasandelectricityName(), '6580'); + ContosoGLAccount.AddAccountForLocalization(RealestateexpencesName(), '6600'); + ContosoGLAccount.AddAccountForLocalization(OutsourcedservicesName(), '6610'); + ContosoGLAccount.AddAccountForLocalization(WasteName(), '6630'); + ContosoGLAccount.AddAccountForLocalization(ElectricityName(), '6640'); + ContosoGLAccount.AddAccountForLocalization(Insurances2Name(), '6660'); + ContosoGLAccount.AddAccountForLocalization(RealestatetaxName(), '6670'); + ContosoGLAccount.AddAccountForLocalization(Maintenance5Name(), '6680'); + ContosoGLAccount.AddAccountForLocalization(Vehicles1Name(), '6700'); + ContosoGLAccount.AddAccountForLocalization(Vehicles2Name(), '6710'); + ContosoGLAccount.AddAccountForLocalization(Vehicles3Name(), '6720'); + ContosoGLAccount.AddAccountForLocalization(Vehicles4Name(), '6730'); + ContosoGLAccount.AddAccountForLocalization(Vehicles5Name(), '6740'); + ContosoGLAccount.AddAccountForLocalization(Vehicles6Name(), '6750'); + ContosoGLAccount.AddAccountForLocalization(Vehicles7Name(), '6760'); + ContosoGLAccount.AddAccountForLocalization(Vehicles8Name(), '6770'); + ContosoGLAccount.AddAccountForLocalization(Vehicles9Name(), '6780'); + ContosoGLAccount.AddAccountForLocalization(Vehicles10Name(), '6790'); + ContosoGLAccount.AddAccountForLocalization(Otheroperatingexp1Name(), '6800'); + ContosoGLAccount.AddAccountForLocalization(Otheroperatingexp2Name(), '6810'); + ContosoGLAccount.AddAccountForLocalization(InformationcostsName(), '6820'); + ContosoGLAccount.AddAccountForLocalization(Telecosts1Name(), '6822'); + ContosoGLAccount.AddAccountForLocalization(Telecosts2Name(), '6824'); + ContosoGLAccount.AddAccountForLocalization(Insurance2Name(), '6830'); + ContosoGLAccount.AddAccountForLocalization(Insurance3Name(), '6840'); + ContosoGLAccount.AddAccountForLocalization(Officesupplies1Name(), '6850'); + ContosoGLAccount.AddAccountForLocalization(Officesupplies2Name(), '6851'); + ContosoGLAccount.AddAccountForLocalization(Officesupplies3Name(), '6854'); + ContosoGLAccount.AddAccountForLocalization(Officesupplies4Name(), '6855'); + ContosoGLAccount.AddAccountForLocalization(Officesupplies5Name(), '6856'); + ContosoGLAccount.AddAccountForLocalization(Outsourcedservices2Name(), '6860'); + ContosoGLAccount.AddAccountForLocalization(AccountingName(), '6861'); + ContosoGLAccount.AddAccountForLocalization(ITservicesName(), '6862'); + ContosoGLAccount.AddAccountForLocalization(AuditingName(), '6866'); + ContosoGLAccount.AddAccountForLocalization(LawservicesName(), '6868'); + ContosoGLAccount.AddAccountForLocalization(OtherexpencesName(), '6870'); + ContosoGLAccount.AddAccountForLocalization(MembershipsName(), '6871'); + ContosoGLAccount.AddAccountForLocalization(NotificationsName(), '6872'); + ContosoGLAccount.AddAccountForLocalization(BankingexpencesName(), '6874'); + ContosoGLAccount.AddAccountForLocalization(MeetingsName(), '6875'); + ContosoGLAccount.AddAccountForLocalization(Otherexpences2Name(), '6879'); + ContosoGLAccount.AddAccountForLocalization(Baddept1Name(), '6920'); + ContosoGLAccount.AddAccountForLocalization(Baddept2Name(), '6930'); + ContosoGLAccount.AddAccountForLocalization(Baddept3Name(), '7000'); + ContosoGLAccount.AddAccountForLocalization(OtheroperatingexpensestotalName(), '7001'); + ContosoGLAccount.AddAccountForLocalization(Depreciation1Name(), '7009'); + ContosoGLAccount.AddAccountForLocalization(Depreciation2Name(), '7010'); + ContosoGLAccount.AddAccountForLocalization(Depreciation3Name(), '7017'); + ContosoGLAccount.AddAccountForLocalization(Depreciation4Name(), '7020'); + ContosoGLAccount.AddAccountForLocalization(Depreciation5Name(), '7030'); + ContosoGLAccount.AddAccountForLocalization(Depreciation6Name(), '7040'); + ContosoGLAccount.AddAccountForLocalization(Depreciation7Name(), '7060'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue1Name(), '7110'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue2Name(), '7120'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue3Name(), '7130'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue4Name(), '7140'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue5Name(), '7160'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue6Name(), '7210'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue7Name(), '7220'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue8Name(), '7310'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue9Name(), '7320'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue10Name(), '7330'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue11Name(), '7340'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue12Name(), '7350'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue13Name(), '7360'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue14Name(), '7370'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue15Name(), '7410'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue16Name(), '7420'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue17Name(), '7440'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue18Name(), '7470'); + ContosoGLAccount.AddAccountForLocalization(Reductioninvalue19Name(), '7490'); + ContosoGLAccount.AddAccountForLocalization(DepreciationeductionsinvalueName(), '7499'); + ContosoGLAccount.AddAccountForLocalization(OPERATINGPROFITLOSSName(), '7500'); + ContosoGLAccount.AddAccountForLocalization(FinancialincomeandexpensesName(), '7999'); + ContosoGLAccount.AddAccountForLocalization(ShareofprofitlossName(), '8000'); + ContosoGLAccount.AddAccountForLocalization(ShareofprofitlsofgdertakingsName(), '8011'); + ContosoGLAccount.AddAccountForLocalization(ShareofprofitssofassompaniesName(), '8013'); + ContosoGLAccount.AddAccountForLocalization(IncomefromgroupundertakingsName(), '8021'); + ContosoGLAccount.AddAccountForLocalization(IncomefrompaipatinginterestsName(), '8023'); + ContosoGLAccount.AddAccountForLocalization(Otherintereaninancialincome1Name(), '8090'); + ContosoGLAccount.AddAccountForLocalization(Otherintereaninancialincome2Name(), '8100'); + ContosoGLAccount.AddAccountForLocalization(ReductioninvalueofirentassetsName(), '8200'); + ContosoGLAccount.AddAccountForLocalization(ReductioninvalueofinvesassetsName(), '8210'); + ContosoGLAccount.AddAccountForLocalization(InterestandothinancialincomeName(), '8290'); + ContosoGLAccount.AddAccountForLocalization(FinancialincomeName(), '8310'); + ContosoGLAccount.AddAccountForLocalization(OtherfinancialincomeName(), '8400'); + ContosoGLAccount.AddAccountForLocalization(Exchangerategains1Name(), '8410'); + ContosoGLAccount.AddAccountForLocalization(Exchangerategains2Name(), '8420'); + ContosoGLAccount.AddAccountForLocalization(Exchangerategains3Name(), '8430'); + ContosoGLAccount.AddAccountForLocalization(Otherfinancialincome2Name(), '8490'); + ContosoGLAccount.AddAccountForLocalization(Exchangerategains5Name(), '8491'); + ContosoGLAccount.AddAccountForLocalization(FinancialincometotalName(), '8498'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses1Name(), '8499'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses2Name(), '8500'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses3Name(), '8570'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses4Name(), '8650'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses5Name(), '8660'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses6Name(), '8680'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses7Name(), '8760'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses8Name(), '8880'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses9Name(), '8900'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses10Name(), '8901'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses11Name(), '8905'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses12Name(), '8910'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses13Name(), '8990'); + ContosoGLAccount.AddAccountForLocalization(Financialexpenses14Name(), '8999'); + ContosoGLAccount.AddAccountForLocalization(PROFITLOSSBEFOEXDINARYITEMSName(), '9000'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryitemsName(), '9099'); + ContosoGLAccount.AddAccountForLocalization(OtherextraordinaryincomeName(), '9290'); + ContosoGLAccount.AddAccountForLocalization(VATadjustmentsName(), '9373'); + ContosoGLAccount.AddAccountForLocalization(TAXadjusmentsName(), '9374'); + ContosoGLAccount.AddAccountForLocalization(OtherextraordinaryexpenseName(), '9390'); + ContosoGLAccount.AddAccountForLocalization(Otherextraordinaryexpense2Name(), '9490'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryitemstotalName(), '9499'); + ContosoGLAccount.AddAccountForLocalization(PROFITLOSSBEFEAPPROSANDTAXESName(), '9500'); + ContosoGLAccount.AddAccountForLocalization(Appropriations1Name(), '9599'); + ContosoGLAccount.AddAccountForLocalization(Changeindepreciationreserve1Name(), '9600'); + ContosoGLAccount.AddAccountForLocalization(Changeindepreciationreserve2Name(), '9610'); + ContosoGLAccount.AddAccountForLocalization(Changeindepreciationreserve3Name(), '9630'); + ContosoGLAccount.AddAccountForLocalization(Changeindepreciationreserve4Name(), '9640'); + ContosoGLAccount.AddAccountForLocalization(Changeindepreciationreserve5Name(), '9660'); + ContosoGLAccount.AddAccountForLocalization(Changeinuntaxedreserves1Name(), '9700'); + ContosoGLAccount.AddAccountForLocalization(Changeinuntaxedreserves2Name(), '9740'); + ContosoGLAccount.AddAccountForLocalization(Changeinuntaxedreserves3Name(), '9760'); + ContosoGLAccount.AddAccountForLocalization(Appropriationstotal1Name(), '9769'); + ContosoGLAccount.AddAccountForLocalization(IncometaxesName(), '9799'); + ContosoGLAccount.AddAccountForLocalization(Taxesoncialyeandyearsbefore1Name(), '9800'); + ContosoGLAccount.AddAccountForLocalization(Taxesoncialyeandyearsbefore2Name(), '9820'); + ContosoGLAccount.AddAccountForLocalization(Taxesoncialyeandyearsbefore3Name(), '9870'); + ContosoGLAccount.AddAccountForLocalization(Taxesoncialyeandyearsbefore4Name(), '9880'); + ContosoGLAccount.AddAccountForLocalization(Incometaxes2Name(), '9899'); + ContosoGLAccount.AddAccountForLocalization(PROFITLOSSFORTHEFINANCIALYEARName(), '9999'); + + ModifyGLAccountForW1(); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TangibleFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LandandBuildingsBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FinishedGoodsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.UnrealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.UnrealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALLIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalancesheetName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumdepreciationbuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandbuildingstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumdeproperequipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingequipmenttotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumdepreciationvehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangiblefixedassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleitemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleitemsinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofresalesoldinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedgoodsinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawmaterialsinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofrawmatsoldinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoinventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventorytotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobwipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipsalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipsalestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipcostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipcoststotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobwiptotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersdomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersforeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedinterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsreceivabletotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseprepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Vendorprepaymentsvat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Vendorprepaymentsvat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseprepaymentstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BanklcyName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankcurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroaccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentassetstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedearningsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetincomefortheyearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredtaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermbankloansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermliabilitiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesprepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Customerprepaymentsvat0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Customerprepaymentsvat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Customerprepaymentsvat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesprepaymentstotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsdomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsforeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountspayabletotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvadjmtinterimtotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Salesvat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Salesvat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat25euName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat10euName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Purchasevat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FueltaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoaltaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatpayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VattotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelateditemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementarytaxespayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeespayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalpersonnelrelateditemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherliabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsforthefiscalyearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporatetaxespayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherliabilitiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermliabilitiestotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalliabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomestatementName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesretaildomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesretaileuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesretailexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesappliedretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesadjmtretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesrawmaterialsdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesrawmaterialseuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesrawmaterialsexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesappliedrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesadjmtrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesresourcesdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesresourceseuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesresourcesexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesappliedresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobsalesadjmtresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofjobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesotherjobexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsalesofjobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingfeesdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandchargesrecdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountgrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchretaildomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchretaileuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchretailexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscreceivedretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryexpensesretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryadjmtretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostappliedretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostadjmtretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofretailsoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostofretailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchrawmaterialsdomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchrawmaterialseuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchrawmaterialsexportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscreceivedrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryexpensesrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryadjmtrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostappliedrawmatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostadjmtrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofrawmaterialssoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostofrawmaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostappliedresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobcostadjmtresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofresourcesusedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostofresourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingmaintenanceexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandheatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalbldgmaintexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficesuppliesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandfaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotaladministrativeexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantservicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OthercomputerexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalcomputerexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandprName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalsellingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandmotoroilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationfeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalvehicleexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtheroperatingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BaddebtexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandaccountingservicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtheroperatingexptotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotaloperatingexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementplancontributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrolltaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalpersonnelexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationoffixedassetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationbuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationequipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationvehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandlossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalfixedassetdepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OthercostsofoperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetoperatingincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonbankbalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinancechargesfromcustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentdiscountsreceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscreceiveddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationroundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymenttolerancereceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmttolreceiveddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalinterestincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonrevolvingcreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonbankloansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinancechargestovendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentdiscountsgrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscgranteddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymenttolerancegrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmttolgranteddecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalinterestexpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NibeforeextritemsTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetincomebeforetaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporatetaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetincomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.SetOverwriteData(true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssets(), CreateGLAccount.FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CurrentAssets(), CreateGLAccount.CurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryIncome(), CreateGLAccount.ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Liabilities(), CreateGLAccount.LiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Securities(), CreateGLAccount.SecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(Intangibleassets(), IntangibleassetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Foundingcosts(), FoundingcostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear1(), DecreasesduringtheYear1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Research(), ResearchName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear2(), DecreasesduringtheYear2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Development(), DevelopmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear3(), DecreasesduringtheYear3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Intangiblerights(), IntangiblerightsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear4(), DecreasesduringtheYear4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Goodwill(), GoodwillName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear5(), DecreasesduringtheYear5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Goodwill2(), Goodwill2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othercapitalisedexpenditure(), OthercapitalisedexpenditureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear6(), DecreasesduringtheYear6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Advancepayments(), AdvancepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Intangibleassetstotal(), IntangibleassetstotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Intangibleassets() + '..' + Intangibleassetstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Tangibleassets(), TangibleassetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets1(), Othertangibleassets1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Machineryandequipment(), MachineryandequipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear7(), DecreasesduringtheYear7Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets17(), Othertangibleassets17Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear8(), DecreasesduringtheYear8Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets18(), Othertangibleassets18Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear9(), DecreasesduringtheYear9Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets19(), Othertangibleassets19Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear10(), DecreasesduringtheYear10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Machineryandequipment2(), Machineryandequipment2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear11(), DecreasesduringtheYear11Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets20(), Othertangibleassets20Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear12(), DecreasesduringtheYear12Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets2(), Othertangibleassets2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets3(), Othertangibleassets3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets4(), Othertangibleassets4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets5(), Othertangibleassets5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets6(), Othertangibleassets6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets7(), Othertangibleassets7Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets8(), Othertangibleassets8Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets9(), Othertangibleassets9Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets10(), Othertangibleassets10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets11(), Othertangibleassets11Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear13(), DecreasesduringtheYear13Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets12(), Othertangibleassets12Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets13(), Othertangibleassets13Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets14(), Othertangibleassets14Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets15(), Othertangibleassets15Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Othertangibleassets16(), Othertangibleassets16Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYear14(), DecreasesduringtheYear14Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Tangibleassetstotal(), TangibleassetstotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Tangibleassets() + '..' + Tangibleassetstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Investments(), InvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Sharesandholdings(), SharesandholdingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SharesinGroupcompanies(), SharesinGroupcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sharesinassociatedcompanies(), SharesinassociatedcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersharesandholdings(), OthersharesandholdingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersharesandholdings2(), Othersharesandholdings2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Ownshares1(), Ownshares1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Ownshares2(), Ownshares2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherinvestments(), OtherinvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Investmentstotal(), InvestmentstotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Investments() + '..' + Investmentstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetstotal(), FixedAssetstotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.FixedAssets() + '..' + FixedAssetstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Itemsandsupplies1(), Itemsandsupplies1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Itemsandsupplies2(), Itemsandsupplies2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Itemsandsupplies3(), Itemsandsupplies3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Itemsandsupplies4(), Itemsandsupplies4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Itemsandsupplies5(), Itemsandsupplies5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Itemsandsupplies6(), Itemsandsupplies6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoods1(), FinishedGoods1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoods2(), FinishedGoods2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccount(), WIPAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccount2(), WIPAccount2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccruedCost(), WIPAccruedCostName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccruedSales(), WIPAccruedSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPInvoicedSales(), WIPInvoicedSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otherinventories(), OtherinventoriesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Advancepayments2(), Advancepayments2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Inventorytotal(), InventorytotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Inventory() + '..' + Inventorytotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsReceivable10(), AccountsReceivable10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Salesreceivables1(), Salesreceivables1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Salesreceivables2(), Salesreceivables2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ReceivablesofGroupcompanies(), ReceivablesofGroupcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Receivablessociatedcompanies(), ReceivablessociatedcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loanes(), LoanesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherreceivables1(), Otherreceivables1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesreceivables3(), Salesreceivables3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ReceivablesofGroupcompanies2(), ReceivablesofGroupcompanies2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Receivablesociatedcompanies2(), Receivablesociatedcompanies2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loanes2(), Loanes2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherreceivables2(), Otherreceivables2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sharesnotpaid(), SharesnotpaidName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sharesnotpaid2(), Sharesnotpaid2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accruedincome(), AccruedincomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables1(), Deferredtaxreceivables1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables2(), Deferredtaxreceivables2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables3(), Deferredtaxreceivables3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables4(), Deferredtaxreceivables4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables5(), Deferredtaxreceivables5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables6(), Deferredtaxreceivables6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables7(), Deferredtaxreceivables7Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxreceivables8(), Deferredtaxreceivables8Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Allocations(), AllocationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otherreceivables3(), Otherreceivables3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShorttermReceivablestotal(), ShorttermReceivablestotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccountsReceivable10() + '..' + ShorttermReceivablestotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Sharesandparticipations(), SharesandparticipationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sharesandpartipaupcompanies(), SharesandpartipaupcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Ownshares3(), Ownshares3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sharesandpaicipoupcompanies(), SharesandpaicipoupcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersharesandparticipations(), OthersharesandparticipationsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersecurities(), OthersecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Securitiestotal(), SecuritiestotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Securities() + '..' + Securitiestotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankNordea(), BankNordeaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(BankSampo(), BankSampoName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(Bank3(), Bank3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(Bank4(), Bank4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(Bank5(), Bank5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(Bank6(), Bank6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(Bank7(), Bank7Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(Liquidassets2(), Liquidassets2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LiquidAssets() + '..' + Liquidassets2(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentAssetstotal(), CurrentAssetstotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CurrentAssets() + '..' + CurrentAssetstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ASSETSTOTAL(), ASSETSTOTALName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Assets() + '..' + ASSETSTOTAL(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EQUITYCAPITAL(), EQUITYCAPITALName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Sharecapitalestrictedequity(), SharecapitalestrictedequityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sharepremiumaccount(), SharepremiumaccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Revaluationreserve(), RevaluationreserveName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reserveforownshares(), ReserveforownsharesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reservefund(), ReservefundName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherfunds(), OtherfundsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfitLossbroughtforward(), ProfitLossbroughtforwardName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfitLossfohefinancialyear(), ProfitLossfohefinancialyearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Total, '', '', 0, Salesofrawmaterialsdom() + '..' + PROFITLOSSFORTHEFINANCIALYEAR(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Sharecapilerrestrictedequity(), SharecapilerrestrictedequityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EQUITYCAPITALTOTAL(), EQUITYCAPITALTOTALName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Total, '', '', 0, EQUITYCAPITAL() + '..' + EQUITYCAPITALTOTAL() + '|' + Salesofrawmaterialsdom() + '..' + PROFITLOSSFORTHEFINANCIALYEAR(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(APPROPRIATIONS(), APPROPRIATIONSName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depreciationdifference1(), Depreciationdifference1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciationdifference2(), Depreciationdifference2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciationdifference3(), Depreciationdifference3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Voluntaryprovisions1(), Voluntaryprovisions1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Voluntaryprovisions2(), Voluntaryprovisions2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Voluntaryprovisions3(), Voluntaryprovisions3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(APPROPRIATIONSTOTAL(), APPROPRIATIONSTOTALName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, APPROPRIATIONS() + '..' + APPROPRIATIONSTOTAL(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(COMPULSORYPROVISIONS(), COMPULSORYPROVISIONSName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Provisionsforpensions(), ProvisionsforpensionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Provisionsfortaxation(), ProvisionsfortaxationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherprovisions1(), Otherprovisions1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherprovisions2(), Otherprovisions2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(COMPULSORYPROVISIONSTOTAL(), COMPULSORYPROVISIONSTOTALName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, COMPULSORYPROVISIONS() + '..' + COMPULSORYPROVISIONSTOTAL(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CREDITORS(), CREDITORSName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depentures(), DepenturesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Convertibledepentures(), ConvertibledepenturesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loansfromcreditinstitutions1(), Loansfromcreditinstitutions1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loansfromcreditinstitutions2(), Loansfromcreditinstitutions2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loansfromcreditinstitutions3(), Loansfromcreditinstitutions3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othercreditors1(), Othercreditors1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Pensionloans(), PensionloansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Advancesreceived(), AdvancesreceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Tradecreditors1(), Tradecreditors1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Amountsowedundertakings1(), Amountsowedundertakings1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Amountsowtoparticdertakings1(), Amountsowtoparticdertakings1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Billsofexchangepayable1(), Billsofexchangepayable1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome(), AccrualsanddeferredincomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othercreditors2(), Othercreditors2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othercreditors3(), Othercreditors3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Amountsowedtodertakings2(), Amountsowedtodertakings2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Amountsowedtoparticikings2(), Amountsowedtoparticikings2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othercreditors4(), Othercreditors4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loansfromcreditinstitutions4(), Loansfromcreditinstitutions4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Loansfromcreditinstitutions5(), Loansfromcreditinstitutions5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Pensionloans2(), Pensionloans2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Advancesreceived2(), Advancesreceived2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Tradecreditors2(), Tradecreditors2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Tradecreditors3(), Tradecreditors3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Amountsedtogrouundertakings3(), Amountsedtogrouundertakings3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Amountsowtorestundertakings3(), Amountsowtorestundertakings3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Billsofexchangepayable2(), Billsofexchangepayable2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome9(), Accrualsanddeferredincome9Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othercreditors5(), Othercreditors5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome1(), Accrualsanddeferredincome1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome2(), Accrualsanddeferredincome2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome3(), Accrualsanddeferredincome3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome4(), Accrualsanddeferredincome4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, Accrualsanddeferredincome1() + '..' + Accrualsanddeferredincome4(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome5(), Accrualsanddeferredincome5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othercreditors6(), Othercreditors6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome6(), Accrualsanddeferredincome6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome7(), Accrualsanddeferredincome7Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accrualsanddeferredincome8(), Accrualsanddeferredincome8Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability1(), Deferredtaxliability1Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability2(), Deferredtaxliability2Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability3(), Deferredtaxliability3Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability4(), Deferredtaxliability4Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability5(), Deferredtaxliability5Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability6(), Deferredtaxliability6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability7(), Deferredtaxliability7Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability8(), Deferredtaxliability8Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability9(), Deferredtaxliability9Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability10(), Deferredtaxliability10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability11(), Deferredtaxliability11Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability12(), Deferredtaxliability12Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability13(), Deferredtaxliability13Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability14(), Deferredtaxliability14Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability15(), Deferredtaxliability15Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability16(), Deferredtaxliability16Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability17(), Deferredtaxliability17Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability18(), Deferredtaxliability18Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability19(), Deferredtaxliability19Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability20(), Deferredtaxliability20Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Deferredtaxliability21(), Deferredtaxliability21Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CREDITORSTOTAL(), CREDITORSTOTALName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CREDITORS() + '..' + CREDITORSTOTAL(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LIABILITIESTOTAL(), LIABILITIESTOTALName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Total, '', '', 0, ASSETSTOTAL() + '..' + LIABILITIESTOTAL() + '|' + '2997' + '..' + PROFITLOSSFORTHEFINANCIALYEAR(), Enum::"General Posting Type"::" ", '', '', false, false, true); + ContosoGLAccount.InsertGLAccount(NETTURNOVER(), NETTURNOVERName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Salesofrawmaterialsdom(), SalesofrawmaterialsdomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesofgoodsdom(), SalesofgoodsdomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesofservicesdom(), SalesofservicesdomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesofservicecont(), SalesofservicecontName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales1(), Sales1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales2(), Sales2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales3(), Sales3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales4(), Sales4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales5(), Sales5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales6(), Sales6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesofrawmaterialsfor(), SalesofrawmaterialsforName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesofgoodsfor(), SalesofgoodsforName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesofservicesfor(), SalesofservicesforName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofrawmaterialsEU(), SalesofrawmaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofgoodsEU(), SalesofgoodsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofservicesEU(), SalesofservicesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales7(), Sales7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales8(), Sales8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales9(), Sales9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales10(), Sales10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales11(), Sales11Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales12(), Sales12Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales13(), Sales13Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales14(), Sales14Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales15(), Sales15Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales16(), Sales16Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales17(), Sales17Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales18(), Sales18Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Sales19(), Sales19Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Discounts1(), Discounts1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Discounts2(), Discounts2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Discounts3(), Discounts3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangeratedifferences(), ExchangeratedifferencesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangerategains7(), Exchangerategains7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangeratelosses(), ExchangeratelossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Paymenttolerance(), PaymenttoleranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Paymenttolerancededuc(), PaymenttolerancededucName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VATcorrections(), VATcorrectionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShippingExpences1(), ShippingExpences1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShippingExpences2(), ShippingExpences2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersalesdeductions(), OthersalesdeductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Creditcardprovisions(), CreditcardprovisionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NETTURNOVERTOTAL(), NETTURNOVERTOTALName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, NETTURNOVER() + '..' + NETTURNOVERTOTAL(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks1(), Variationinstocks1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks2(), Variationinstocks2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks3(), Variationinstocks3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstockstotal(), VariationinstockstotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, Variationinstocks1() + '..' + Variationinstockstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Manafacturedforownuse1(), Manafacturedforownuse1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Manafacturedforownuse2(), Manafacturedforownuse2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Manafacturedforownuse3(), Manafacturedforownuse3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Manafacturedforownusetotal(), ManafacturedforownusetotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, Manafacturedforownuse1() + '..' + Manafacturedforownusetotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otheroperatingincome1(), Otheroperatingincome1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otheroperatingincome2(), Otheroperatingincome2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otheroperatingincome3(), Otheroperatingincome3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rents(), RentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Insurances(), InsurancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Groupservices(), GroupservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othergroupservices(), OthergroupservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Operatingincometotal(), OperatingincometotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, Otheroperatingincome1() + '..' + Operatingincometotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Rawmaterialsandservices(), RawmaterialsandservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Rawmaterialsandconsumables(), RawmaterialsandconsumablesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Purchasesofrawmaterialsdom(), PurchasesofrawmaterialsdomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchasesofgoodsdom(), PurchasesofgoodsdomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchasesofservicesdom(), PurchasesofservicesdomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchasesofrawmaterialsfor(), PurchasesofrawmaterialsforName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchasesofgoodsfor(), PurchasesofgoodsforName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchasesofservicesfor(), PurchasesofservicesforName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesofrawmaterialsEU(), PurchasesofrawmaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesofgoodsEU(), PurchasesofgoodsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchasesofservicesEU(), PurchasesofservicesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases1(), Purchases1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases2(), Purchases2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases3(), Purchases3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases4(), Purchases4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases5(), Purchases5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases6(), Purchases6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases7(), Purchases7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases8(), Purchases8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Purchases9(), Purchases9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Discounts4(), Discounts4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Discounts5(), Discounts5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Discounts6(), Discounts6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Invoicerounding2(), Invoicerounding2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangeratedifferences2(), Exchangeratedifferences2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangerategains6(), Exchangerategains6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Paymenttolerance2(), Paymenttolerance2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Paymenttolerancededuc2(), Paymenttolerancededuc2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VATcorrections2(), VATcorrections2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Shipping(), ShippingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Insurance(), InsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks9(), Variationinstocks9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks10(), Variationinstocks10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks11(), Variationinstocks11Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks4(), Variationinstocks4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks5(), Variationinstocks5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks6(), Variationinstocks6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Variationinstocks7(), Variationinstocks7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Rawmaterialndcoumablestotal(), RawmaterialndcoumablestotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, Rawmaterialsandconsumables() + '..' + Rawmaterialndcoumablestotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Externalservices1(), Externalservices1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Externalservices2(), Externalservices2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Externalservices3(), Externalservices3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Shippingservices(), ShippingservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rawmaterialsandservicestotal(), RawmaterialsandservicestotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, Rawmaterialsandservices() + '..' + Rawmaterialsandservicestotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Staffexpences(), StaffexpencesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries1(), Wagesandsalaries1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries2(), Wagesandsalaries2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries3(), Wagesandsalaries3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Socialsecurityexpenses1(), Socialsecurityexpenses1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Socialsecurityexpenses2(), Socialsecurityexpenses2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Socialsecurityexpenses3(), Socialsecurityexpenses3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Socialsecurityexpenses4(), Socialsecurityexpenses4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Pensionexpenses1(), Pensionexpenses1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersocialsecurityexpenses1(), Othersocialsecurityexpenses1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersocialsecurityexpenses2(), Othersocialsecurityexpenses2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersocialsecurityexpenses3(), Othersocialsecurityexpenses3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses1(), Otherstaffexpenses1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses2(), Otherstaffexpenses2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses3(), Otherstaffexpenses3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses4(), Otherstaffexpenses4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses5(), Otherstaffexpenses5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses6(), Otherstaffexpenses6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses7(), Otherstaffexpenses7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses8(), Otherstaffexpenses8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses9(), Otherstaffexpenses9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses10(), Otherstaffexpenses10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses11(), Otherstaffexpenses11Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses12(), Otherstaffexpenses12Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses13(), Otherstaffexpenses13Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries4(), Wagesandsalaries4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries5(), Wagesandsalaries5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries6(), Wagesandsalaries6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries7(), Wagesandsalaries7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries8(), Wagesandsalaries8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries9(), Wagesandsalaries9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries10(), Wagesandsalaries10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries11(), Wagesandsalaries11Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries12(), Wagesandsalaries12Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries13(), Wagesandsalaries13Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries14(), Wagesandsalaries14Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries15(), Wagesandsalaries15Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Wagesandsalaries16(), Wagesandsalaries16Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Socialsecurityexpenses5(), Socialsecurityexpenses5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Socialsecurityexpenses6(), Socialsecurityexpenses6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Pensionexpenses2(), Pensionexpenses2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Pensionexpenses3(), Pensionexpenses3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersocialsecurityexpenses4(), Othersocialsecurityexpenses4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersocialsecurityexpenses5(), Othersocialsecurityexpenses5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersocialsecurityexpenses6(), Othersocialsecurityexpenses6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Pensionexpenses4(), Pensionexpenses4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othersocialsecurityexpenses7(), Othersocialsecurityexpenses7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses14(), Otherstaffexpenses14Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses15(), Otherstaffexpenses15Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses16(), Otherstaffexpenses16Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses17(), Otherstaffexpenses17Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses18(), Otherstaffexpenses18Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses19(), Otherstaffexpenses19Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses20(), Otherstaffexpenses20Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Staffexpencestotal(), StaffexpencestotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Staffexpences() + '..' + Staffexpencestotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otheroperatingcharges(), OtheroperatingchargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Rents2(), Rents2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rents3(), Rents3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rents4(), Rents4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rents5(), Rents5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rents6(), Rents6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rents7(), Rents7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses21(), Otherstaffexpenses21Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses22(), Otherstaffexpenses22Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses23(), Otherstaffexpenses23Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses24(), Otherstaffexpenses24Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses25(), Otherstaffexpenses25Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses26(), Otherstaffexpenses26Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses27(), Otherstaffexpenses27Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherstaffexpenses28(), Otherstaffexpenses28Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp1(), Salesmarketingexp1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp2(), Salesmarketingexp2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp3(), Salesmarketingexp3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp4(), Salesmarketingexp4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp5(), Salesmarketingexp5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp6(), Salesmarketingexp6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp7(), Salesmarketingexp7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp8(), Salesmarketingexp8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp9(), Salesmarketingexp9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp10(), Salesmarketingexp10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp11(), Salesmarketingexp11Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp12(), Salesmarketingexp12Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp13(), Salesmarketingexp13Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salesmarketingexp14(), Salesmarketingexp14Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Fuel(), FuelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Maintenance1(), Maintenance1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Maintenance2(), Maintenance2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Maintenance3(), Maintenance3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Maintenance4(), Maintenance4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Furniture(), FurnitureName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherequipment(), OtherequipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Supplies(), SuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othermaintenanceservices(), OthermaintenanceservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Water(), WaterName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Gasandelectricity(), GasandelectricityName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Realestateexpences(), RealestateexpencesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Outsourcedservices(), OutsourcedservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Waste(), WasteName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Electricity(), ElectricityName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Insurances2(), Insurances2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Realestatetax(), RealestatetaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Maintenance5(), Maintenance5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles1(), Vehicles1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles2(), Vehicles2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles3(), Vehicles3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles4(), Vehicles4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles5(), Vehicles5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles6(), Vehicles6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles7(), Vehicles7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles8(), Vehicles8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles9(), Vehicles9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles10(), Vehicles10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otheroperatingexp1(), Otheroperatingexp1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otheroperatingexp2(), Otheroperatingexp2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Informationcosts(), InformationcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Telecosts1(), Telecosts1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Telecosts2(), Telecosts2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Insurance2(), Insurance2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Insurance3(), Insurance3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Officesupplies1(), Officesupplies1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Officesupplies2(), Officesupplies2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Officesupplies3(), Officesupplies3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Officesupplies4(), Officesupplies4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Officesupplies5(), Officesupplies5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Outsourcedservices2(), Outsourcedservices2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accounting(), AccountingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ITservices(), ITservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Auditing(), AuditingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Lawservices(), LawservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherexpences(), OtherexpencesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Memberships(), MembershipsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Notifications(), NotificationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Bankingexpences(), BankingexpencesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Meetings(), MeetingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherexpences2(), Otherexpences2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Baddept1(), Baddept1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Baddept2(), Baddept2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Baddept3(), Baddept3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otheroperatingexpensestotal(), OtheroperatingexpensestotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Otheroperatingcharges() + '..' + Otheroperatingexpensestotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation1(), Depreciation1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation2(), Depreciation2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation3(), Depreciation3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation4(), Depreciation4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation5(), Depreciation5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation6(), Depreciation6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation7(), Depreciation7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue1(), Reductioninvalue1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue2(), Reductioninvalue2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue3(), Reductioninvalue3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue4(), Reductioninvalue4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue5(), Reductioninvalue5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue6(), Reductioninvalue6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue7(), Reductioninvalue7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue8(), Reductioninvalue8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue9(), Reductioninvalue9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue10(), Reductioninvalue10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue11(), Reductioninvalue11Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue12(), Reductioninvalue12Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue13(), Reductioninvalue13Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue14(), Reductioninvalue14Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue15(), Reductioninvalue15Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue16(), Reductioninvalue16Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue17(), Reductioninvalue17Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue18(), Reductioninvalue18Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalue19(), Reductioninvalue19Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Depreciationeductionsinvalue(), DepreciationeductionsinvalueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Depreciation1() + '..' + Depreciationeductionsinvalue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OPERATINGPROFITLOSS(), OPERATINGPROFITLOSSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, Salesofrawmaterialsdom() + '..' + OPERATINGPROFITLOSS(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Financialincomeandexpenses(), FinancialincomeandexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Shareofprofitloss(), ShareofprofitlossName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Shareofprofitlsofgdertakings(), ShareofprofitlsofgdertakingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Shareofprofitssofassompanies(), ShareofprofitssofassompaniesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Incomefromgroupundertakings(), IncomefromgroupundertakingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Incomefrompaipatinginterests(), IncomefrompaipatinginterestsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherintereaninancialincome1(), Otherintereaninancialincome1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherintereaninancialincome2(), Otherintereaninancialincome2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalueofirentassets(), ReductioninvalueofirentassetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Reductioninvalueofinvesassets(), ReductioninvalueofinvesassetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Interestandothinancialincome(), InterestandothinancialincomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialincome(), FinancialincomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherfinancialincome(), OtherfinancialincomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangerategains1(), Exchangerategains1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangerategains2(), Exchangerategains2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangerategains3(), Exchangerategains3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherfinancialincome2(), Otherfinancialincome2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Exchangerategains5(), Exchangerategains5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialincometotal(), FinancialincometotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, Financialincomeandexpenses() + '..' + Financialincometotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses1(), Financialexpenses1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses2(), Financialexpenses2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses3(), Financialexpenses3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses4(), Financialexpenses4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses5(), Financialexpenses5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses6(), Financialexpenses6Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses7(), Financialexpenses7Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses8(), Financialexpenses8Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses9(), Financialexpenses9Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroups.ZeroPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses10(), Financialexpenses10Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses11(), Financialexpenses11Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses12(), Financialexpenses12Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses13(), Financialexpenses13Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Financialexpenses14(), Financialexpenses14Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Financialexpenses1() + '..' + Financialexpenses14(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PROFITLOSSBEFOEXDINARYITEMS(), PROFITLOSSBEFOEXDINARYITEMSName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, Salesofrawmaterialsdom() + '..' + PROFITLOSSBEFOEXDINARYITEMS(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Extraordinaryitems(), ExtraordinaryitemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otherextraordinaryincome(), OtherextraordinaryincomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VATadjustments(), VATadjustmentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TAXadjusments(), TAXadjusmentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherextraordinaryexpense(), OtherextraordinaryexpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherextraordinaryexpense2(), Otherextraordinaryexpense2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Extraordinaryitemstotal(), ExtraordinaryitemstotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"End-Total", '', '', 0, Extraordinaryitems() + '..' + Extraordinaryitemstotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PROFITLOSSBEFEAPPROSANDTAXES(), PROFITLOSSBEFEAPPROSANDTAXESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, Salesofrawmaterialsdom() + '..' + PROFITLOSSBEFEAPPROSANDTAXES(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Appropriations1(), Appropriations1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Changeindepreciationreserve1(), Changeindepreciationreserve1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Changeindepreciationreserve2(), Changeindepreciationreserve2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Changeindepreciationreserve3(), Changeindepreciationreserve3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Changeindepreciationreserve4(), Changeindepreciationreserve4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Changeindepreciationreserve5(), Changeindepreciationreserve5Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Changeinuntaxedreserves1(), Changeinuntaxedreserves1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Changeinuntaxedreserves2(), Changeinuntaxedreserves2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Changeinuntaxedreserves3(), Changeinuntaxedreserves3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Appropriationstotal1(), Appropriationstotal1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Appropriations1() + '..' + Appropriationstotal1(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Incometaxes(), IncometaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Taxesoncialyeandyearsbefore1(), Taxesoncialyeandyearsbefore1Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Taxesoncialyeandyearsbefore2(), Taxesoncialyeandyearsbefore2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Taxesoncialyeandyearsbefore3(), Taxesoncialyeandyearsbefore3Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Taxesoncialyeandyearsbefore4(), Taxesoncialyeandyearsbefore4Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Incometaxes2(), Incometaxes2Name(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Incometaxes() + '..' + Incometaxes2(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PROFITLOSSFORTHEFINANCIALYEAR(), PROFITLOSSFORTHEFINANCIALYEARName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, Salesofrawmaterialsdom() + '..' + PROFITLOSSFORTHEFINANCIALYEAR(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.SetOverwriteData(false); + end; + + procedure AddCategoriesToGLAccounts() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Assets(), ShorttermReceivablestotal()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LiquidAssets(), ASSETSTOTAL()); + end; + GLAccountCategory."Account Category"::Liabilities: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Liabilities(), EQUITYCAPITALTOTAL()); + UpdateGLAccounts(GLAccountCategory, COMPULSORYPROVISIONS(), LIABILITIESTOTAL()); + end; + GLAccountCategory."Account Category"::Equity: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Securities(), Securitiestotal()); + UpdateGLAccounts(GLAccountCategory, APPROPRIATIONS(), APPROPRIATIONSTOTAL()); + end; + GLAccountCategory."Account Category"::Income: + begin + UpdateGLAccounts(GLAccountCategory, NETTURNOVER(), Operatingincometotal()); + UpdateGLAccounts(GLAccountCategory, Financialincomeandexpenses(), Financialincometotal()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ExtraordinaryIncome(), Otherextraordinaryincome()); + end; + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, Rawmaterialsandservices(), Rawmaterialsandservicestotal()); + GLAccountCategory."Account Category"::Expense: + begin + UpdateGLAccounts(GLAccountCategory, Staffexpences(), Staffexpencestotal()); + UpdateGLAccounts(GLAccountCategory, Otheroperatingcharges(), Otheroperatingexpensestotal()); + UpdateGLAccounts(GLAccountCategory, Depreciation1(), Depreciationeductionsinvalue()); + UpdateGLAccounts(GLAccountCategory, Financialexpenses1(), Financialexpenses14()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ExtraordinaryExpenses(), Otherextraordinaryexpense2()); + UpdateGLAccounts(GLAccountCategory, Appropriations1(), Appropriationstotal1()); + UpdateGLAccounts(GLAccountCategory, Incometaxes(), Incometaxes2()); + end; + end; + end; + + procedure AssignSubcategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + Assets(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Assets(), CreateGLAccount.LiquidAssets()); + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cash(), Bank7()); + GLAccountCategoryMgt.GetAR(): + UpdateGLAccounts(GLAccountCategory, AccountsReceivable10(), ShorttermReceivablestotal()); + GLAccountCategoryMgt.GetPrepaidExpenses(): + begin + UpdateGLAccounts(GLAccountCategory, Advancepayments(), Advancepayments()); + UpdateGLAccounts(GLAccountCategory, Advancepayments2(), Advancepayments2()); + end; + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Inventory(), Inventorytotal()); + GLAccountCategoryMgt.GetEquipment(): + begin + UpdateGLAccounts(GLAccountCategory, Machineryandequipment(), Machineryandequipment()); + UpdateGLAccounts(GLAccountCategory, Machineryandequipment2(), Machineryandequipment2()); + end; + GLAccountCategoryMgt.GetAccumDeprec(): + begin + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear1(), DecreasesduringtheYear1()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear2(), DecreasesduringtheYear2()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear3(), DecreasesduringtheYear3()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear4(), DecreasesduringtheYear4()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear5(), DecreasesduringtheYear5()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear6(), DecreasesduringtheYear6()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear7(), DecreasesduringtheYear7()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear8(), DecreasesduringtheYear8()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear9(), DecreasesduringtheYear9()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear10(), DecreasesduringtheYear10()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear11(), DecreasesduringtheYear11()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear12(), DecreasesduringtheYear12()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear13(), DecreasesduringtheYear13()); + UpdateGLAccounts(GLAccountCategory, DecreasesduringtheYear14(), DecreasesduringtheYear14()); + end; + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, Depreciationdifference1(), Voluntaryprovisions3()); + UpdateGLAccounts(GLAccountCategory, Provisionsforpensions(), Otherprovisions2()); + UpdateGLAccounts(GLAccountCategory, Depentures(), Othercreditors5()); + UpdateGLAccounts(GLAccountCategory, Accrualsanddeferredincome2(), Accrualsanddeferredincome3()); + UpdateGLAccounts(GLAccountCategory, Accrualsanddeferredincome5(), Deferredtaxliability21()); + end; + GLAccountCategoryMgt.GetPayrollLiabilities(): + ; + GLAccountCategoryMgt.GetLongTermLiabilities(): + ; + GLAccountCategoryMgt.GetCommonStock(): + begin + UpdateGLAccounts(GLAccountCategory, Sharesandparticipations(), Othersecurities()); + UpdateGLAccounts(GLAccountCategory, APPROPRIATIONS(), APPROPRIATIONSTOTAL()); + end; + GLAccountCategoryMgt.GetRetEarnings(): + ; + GLAccountCategoryMgt.GetDistrToShareholders(): + ; + GLAccountCategoryMgt.GetIncomeService(): + begin + UpdateGLAccounts(GLAccountCategory, Salesofrawmaterialsdom(), CreateGLAccount.InvoiceRounding()); + UpdateGLAccounts(GLAccountCategory, Variationinstocks2(), Variationinstocks3()); + UpdateGLAccounts(GLAccountCategory, Manafacturedforownuse2(), Manafacturedforownuse3()); + UpdateGLAccounts(GLAccountCategory, Otheroperatingincome2(), Othergroupservices()); + end; + GLAccountCategoryMgt.GetIncomeProdSales(): + ; + GLAccountCategoryMgt.GetIncomeSalesDiscounts(): + ; + GLAccountCategoryMgt.GetIncomeSalesReturns(): + ; + GLAccountCategoryMgt.GetCOGSLabor(): + ; + GLAccountCategoryMgt.GetCOGSMaterials(): + begin + UpdateGLAccounts(GLAccountCategory, Purchasesofrawmaterialsdom(), Variationinstocks7()); + UpdateGLAccounts(GLAccountCategory, Externalservices1(), Shippingservices()); + end; + GLAccountCategoryMgt.GetRentExpense(): + ; + GLAccountCategoryMgt.GetAdvertisingExpense(): + ; + GLAccountCategoryMgt.GetInterestExpense(): + ; + GLAccountCategoryMgt.GetFeesExpense(): + ; + GLAccountCategoryMgt.GetInsuranceExpense(): + ; + GLAccountCategoryMgt.GetPayrollExpense(): + UpdateGLAccounts(GLAccountCategory, Wagesandsalaries1(), Otherstaffexpenses20()); + GLAccountCategoryMgt.GetBenefitsExpense(): + ; + GLAccountCategoryMgt.GetRepairsExpense(): + ; + GLAccountCategoryMgt.GetUtilitiesExpense(): + ; + GLAccountCategoryMgt.GetOtherIncomeExpense(): + begin + UpdateGLAccounts(GLAccountCategory, Depreciation2(), Reductioninvalue19()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ExtraordinaryExpenses(), CreateGLAccount.ExtraordinaryExpenses()); + UpdateGLAccounts(GLAccountCategory, Otherextraordinaryexpense(), Otherextraordinaryexpense2()); + end; + GLAccountCategoryMgt.GetTaxExpense(): + begin + UpdateGLAccounts(GLAccountCategory, VATadjustments(), TAXadjusments()); + UpdateGLAccounts(GLAccountCategory, Taxesoncialyeandyearsbefore1(), Taxesoncialyeandyearsbefore4()); + end; + GLAccountCategoryMgt.GetCurrentAssets(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CurrentAssets(), CreateGLAccount.CurrentAssets()); + UpdateGLAccounts(GLAccountCategory, CurrentAssetstotal(), CurrentAssetstotal()); + end; + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure Intangibleassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleassetsName())); + end; + + procedure Foundingcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FoundingcostsName())); + end; + + procedure DecreasesduringtheYear1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear1Name())); + end; + + procedure Research(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResearchName())); + end; + + procedure DecreasesduringtheYear2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear2Name())); + end; + + procedure Development(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevelopmentName())); + end; + + procedure DecreasesduringtheYear3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear3Name())); + end; + + procedure Intangiblerights(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangiblerightsName())); + end; + + procedure DecreasesduringtheYear4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear4Name())); + end; + + procedure Goodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillName())); + end; + + procedure DecreasesduringtheYear5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear5Name())); + end; + + procedure Goodwill2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Goodwill2Name())); + end; + + procedure Othercapitalisedexpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthercapitalisedexpenditureName())); + end; + + procedure DecreasesduringtheYear6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear6Name())); + end; + + procedure Advancepayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancepaymentsName())); + end; + + procedure Intangibleassetstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleassetstotalName())); + end; + + procedure Tangibleassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleassetsName())); + end; + + procedure Othertangibleassets1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets1Name())); + end; + + procedure Machineryandequipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryandequipmentName())); + end; + + procedure DecreasesduringtheYear7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear7Name())); + end; + + procedure Othertangibleassets17(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets17Name())); + end; + + procedure DecreasesduringtheYear8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear8Name())); + end; + + procedure Othertangibleassets18(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets18Name())); + end; + + procedure DecreasesduringtheYear9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear9Name())); + end; + + procedure Othertangibleassets19(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets19Name())); + end; + + procedure DecreasesduringtheYear10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear10Name())); + end; + + procedure Machineryandequipment2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Machineryandequipment2Name())); + end; + + procedure DecreasesduringtheYear11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear11Name())); + end; + + procedure Othertangibleassets20(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets20Name())); + end; + + procedure DecreasesduringtheYear12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear12Name())); + end; + + procedure Othertangibleassets2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets2Name())); + end; + + procedure Othertangibleassets3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets3Name())); + end; + + procedure Othertangibleassets4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets4Name())); + end; + + procedure Othertangibleassets5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets5Name())); + end; + + procedure Othertangibleassets6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets6Name())); + end; + + procedure Othertangibleassets7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets7Name())); + end; + + procedure Othertangibleassets8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets8Name())); + end; + + procedure Othertangibleassets9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets9Name())); + end; + + procedure Othertangibleassets10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets10Name())); + end; + + procedure Othertangibleassets11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets11Name())); + end; + + procedure DecreasesduringtheYear13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear13Name())); + end; + + procedure Othertangibleassets12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets12Name())); + end; + + procedure Othertangibleassets13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets13Name())); + end; + + procedure Othertangibleassets14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets14Name())); + end; + + procedure Othertangibleassets15(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets15Name())); + end; + + procedure Othertangibleassets16(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othertangibleassets16Name())); + end; + + procedure DecreasesduringtheYear14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYear14Name())); + end; + + procedure Tangibleassetstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleassetstotalName())); + end; + + procedure Investments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentsName())); + end; + + procedure Sharesandholdings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesandholdingsName())); + end; + + procedure SharesinGroupcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesinGroupcompaniesName())); + end; + + procedure Sharesinassociatedcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesinassociatedcompaniesName())); + end; + + procedure Othersharesandholdings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthersharesandholdingsName())); + end; + + procedure Othersharesandholdings2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersharesandholdings2Name())); + end; + + procedure Ownshares1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Ownshares1Name())); + end; + + procedure Ownshares2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Ownshares2Name())); + end; + + procedure Otherinvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherinvestmentsName())); + end; + + procedure Investmentstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvestmentstotalName())); + end; + + procedure FixedAssetstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetstotalName())); + end; + + procedure Itemsandsupplies1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Itemsandsupplies1Name())); + end; + + procedure Itemsandsupplies2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Itemsandsupplies2Name())); + end; + + procedure Itemsandsupplies3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Itemsandsupplies3Name())); + end; + + procedure Itemsandsupplies4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Itemsandsupplies4Name())); + end; + + procedure Itemsandsupplies5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Itemsandsupplies5Name())); + end; + + procedure Itemsandsupplies6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Itemsandsupplies6Name())); + end; + + procedure FinishedGoods1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoods1Name())); + end; + + procedure FinishedGoods2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoods2Name())); + end; + + procedure WIPAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccountName())); + end; + + procedure WIPAccount2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccount2Name())); + end; + + procedure WIPAccruedCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccruedCostName())); + end; + + procedure WIPAccruedSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccruedSalesName())); + end; + + procedure WIPInvoicedSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPInvoicedSalesName())); + end; + + procedure Otherinventories(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherinventoriesName())); + end; + + procedure Advancepayments2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Advancepayments2Name())); + end; + + procedure Inventorytotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventorytotalName())); + end; + + procedure AccountsReceivable10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivable10Name())); + end; + + procedure Salesreceivables1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesreceivables1Name())); + end; + + procedure Salesreceivables2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesreceivables2Name())); + end; + + procedure ReceivablesofGroupcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesofGroupcompaniesName())); + end; + + procedure Receivablessociatedcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablessociatedcompaniesName())); + end; + + procedure Loanes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoanesName())); + end; + + procedure Otherreceivables1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherreceivables1Name())); + end; + + procedure Salesreceivables3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesreceivables3Name())); + end; + + procedure ReceivablesofGroupcompanies2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesofGroupcompanies2Name())); + end; + + procedure Receivablesociatedcompanies2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Receivablesociatedcompanies2Name())); + end; + + procedure Loanes2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Loanes2Name())); + end; + + procedure Otherreceivables2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherreceivables2Name())); + end; + + procedure Sharesnotpaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesnotpaidName())); + end; + + procedure Sharesnotpaid2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sharesnotpaid2Name())); + end; + + procedure Accruedincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedincomeName())); + end; + + procedure Deferredtaxreceivables1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables1Name())); + end; + + procedure Deferredtaxreceivables2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables2Name())); + end; + + procedure Deferredtaxreceivables3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables3Name())); + end; + + procedure Deferredtaxreceivables4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables4Name())); + end; + + procedure Deferredtaxreceivables5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables5Name())); + end; + + procedure Deferredtaxreceivables6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables6Name())); + end; + + procedure Deferredtaxreceivables7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables7Name())); + end; + + procedure Deferredtaxreceivables8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxreceivables8Name())); + end; + + procedure Allocations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AllocationsName())); + end; + + procedure Otherreceivables3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherreceivables3Name())); + end; + + procedure ShorttermReceivablestotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShorttermReceivablestotalName())); + end; + + procedure Sharesandparticipations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesandparticipationsName())); + end; + + procedure Sharesandpartipaupcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesandpartipaupcompaniesName())); + end; + + procedure Ownshares3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Ownshares3Name())); + end; + + procedure Sharesandpaicipoupcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharesandpaicipoupcompaniesName())); + end; + + procedure Othersharesandparticipations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthersharesandparticipationsName())); + end; + + procedure Othersecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthersecuritiesName())); + end; + + procedure Securitiestotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiestotalName())); + end; + + procedure BankNordea(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankNordeaName())); + end; + + procedure BankSampo(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankSampoName())); + end; + + procedure Bank3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Bank3Name())); + end; + + procedure Bank4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Bank4Name())); + end; + + procedure Bank5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Bank5Name())); + end; + + procedure Bank6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Bank6Name())); + end; + + procedure Bank7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Bank7Name())); + end; + + procedure Liquidassets2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Liquidassets2Name())); + end; + + procedure CurrentAssetstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentAssetstotalName())); + end; + + procedure ASSETSTOTAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ASSETSTOTALName())); + end; + + procedure EQUITYCAPITAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EQUITYCAPITALName())); + end; + + procedure Sharecapitalestrictedequity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharecapitalestrictedequityName())); + end; + + procedure Sharepremiumaccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharepremiumaccountName())); + end; + + procedure Revaluationreserve(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevaluationreserveName())); + end; + + procedure Reserveforownshares(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReserveforownsharesName())); + end; + + procedure Reservefund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReservefundName())); + end; + + procedure Otherfunds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherfundsName())); + end; + + procedure ProfitLossbroughtforward(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitLossbroughtforwardName())); + end; + + procedure ProfitLossfohefinancialyear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitLossfohefinancialyearName())); + end; + + procedure Sharecapilerrestrictedequity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SharecapilerrestrictedequityName())); + end; + + procedure EQUITYCAPITALTOTAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EQUITYCAPITALTOTALName())); + end; + + procedure APPROPRIATIONS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(APPROPRIATIONSName())); + end; + + procedure Depreciationdifference1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciationdifference1Name())); + end; + + procedure Depreciationdifference2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciationdifference2Name())); + end; + + procedure Depreciationdifference3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciationdifference3Name())); + end; + + procedure Voluntaryprovisions1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Voluntaryprovisions1Name())); + end; + + procedure Voluntaryprovisions2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Voluntaryprovisions2Name())); + end; + + procedure Voluntaryprovisions3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Voluntaryprovisions3Name())); + end; + + procedure APPROPRIATIONSTOTAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(APPROPRIATIONSTOTALName())); + end; + + procedure COMPULSORYPROVISIONS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(COMPULSORYPROVISIONSName())); + end; + + procedure Provisionsforpensions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsforpensionsName())); + end; + + procedure Provisionsfortaxation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProvisionsfortaxationName())); + end; + + procedure Otherprovisions1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherprovisions1Name())); + end; + + procedure Otherprovisions2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherprovisions2Name())); + end; + + procedure COMPULSORYPROVISIONSTOTAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(COMPULSORYPROVISIONSTOTALName())); + end; + + procedure CREDITORS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CREDITORSName())); + end; + + procedure Depentures(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepenturesName())); + end; + + procedure Convertibledepentures(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertibledepenturesName())); + end; + + procedure Loansfromcreditinstitutions1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Loansfromcreditinstitutions1Name())); + end; + + procedure Loansfromcreditinstitutions2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Loansfromcreditinstitutions2Name())); + end; + + procedure Loansfromcreditinstitutions3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Loansfromcreditinstitutions3Name())); + end; + + procedure Othercreditors1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othercreditors1Name())); + end; + + procedure Pensionloans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionloansName())); + end; + + procedure Advancesreceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancesreceivedName())); + end; + + procedure Tradecreditors1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Tradecreditors1Name())); + end; + + procedure Amountsowedundertakings1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Amountsowedundertakings1Name())); + end; + + procedure Amountsowtoparticdertakings1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Amountsowtoparticdertakings1Name())); + end; + + procedure Billsofexchangepayable1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Billsofexchangepayable1Name())); + end; + + procedure Accrualsanddeferredincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccrualsanddeferredincomeName())); + end; + + procedure Othercreditors2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othercreditors2Name())); + end; + + procedure Othercreditors3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othercreditors3Name())); + end; + + procedure Amountsowedtodertakings2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Amountsowedtodertakings2Name())); + end; + + procedure Amountsowedtoparticikings2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Amountsowedtoparticikings2Name())); + end; + + procedure Othercreditors4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othercreditors4Name())); + end; + + procedure Loansfromcreditinstitutions4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Loansfromcreditinstitutions4Name())); + end; + + procedure Loansfromcreditinstitutions5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Loansfromcreditinstitutions5Name())); + end; + + procedure Pensionloans2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Pensionloans2Name())); + end; + + procedure Advancesreceived2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Advancesreceived2Name())); + end; + + procedure Tradecreditors2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Tradecreditors2Name())); + end; + + procedure Tradecreditors3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Tradecreditors3Name())); + end; + + procedure Amountsedtogrouundertakings3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Amountsedtogrouundertakings3Name())); + end; + + procedure Amountsowtorestundertakings3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Amountsowtorestundertakings3Name())); + end; + + procedure Billsofexchangepayable2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Billsofexchangepayable2Name())); + end; + + procedure Accrualsanddeferredincome9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome9Name())); + end; + + procedure Othercreditors5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othercreditors5Name())); + end; + + procedure Accrualsanddeferredincome1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome1Name())); + end; + + procedure Accrualsanddeferredincome2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome2Name())); + end; + + procedure Accrualsanddeferredincome3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome3Name())); + end; + + procedure Accrualsanddeferredincome4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome4Name())); + end; + + procedure Accrualsanddeferredincome5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome5Name())); + end; + + procedure Othercreditors6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othercreditors6Name())); + end; + + procedure Accrualsanddeferredincome6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome6Name())); + end; + + procedure Accrualsanddeferredincome7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome7Name())); + end; + + procedure Accrualsanddeferredincome8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Accrualsanddeferredincome8Name())); + end; + + procedure Deferredtaxliability1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability1Name())); + end; + + procedure Deferredtaxliability2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability2Name())); + end; + + procedure Deferredtaxliability3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability3Name())); + end; + + procedure Deferredtaxliability4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability4Name())); + end; + + procedure Deferredtaxliability5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability5Name())); + end; + + procedure Deferredtaxliability6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability6Name())); + end; + + procedure Deferredtaxliability7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability7Name())); + end; + + procedure Deferredtaxliability8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability8Name())); + end; + + procedure Deferredtaxliability9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability9Name())); + end; + + procedure Deferredtaxliability10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability10Name())); + end; + + procedure Deferredtaxliability11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability11Name())); + end; + + procedure Deferredtaxliability12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability12Name())); + end; + + procedure Deferredtaxliability13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability13Name())); + end; + + procedure Deferredtaxliability14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability14Name())); + end; + + procedure Deferredtaxliability15(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability15Name())); + end; + + procedure Deferredtaxliability16(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability16Name())); + end; + + procedure Deferredtaxliability17(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability17Name())); + end; + + procedure Deferredtaxliability18(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability18Name())); + end; + + procedure Deferredtaxliability19(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability19Name())); + end; + + procedure Deferredtaxliability20(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability20Name())); + end; + + procedure Deferredtaxliability21(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Deferredtaxliability21Name())); + end; + + procedure CREDITORSTOTAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CREDITORSTOTALName())); + end; + + procedure LIABILITIESTOTAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LIABILITIESTOTALName())); + end; + + procedure NETTURNOVER(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NETTURNOVERName())); + end; + + procedure Salesofrawmaterialsdom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofrawmaterialsdomName())); + end; + + procedure Salesofgoodsdom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofgoodsdomName())); + end; + + procedure Salesofservicesdom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofservicesdomName())); + end; + + procedure Salesofservicecont(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofservicecontName())); + end; + + procedure Sales1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales1Name())); + end; + + procedure Sales2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales2Name())); + end; + + procedure Sales3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales3Name())); + end; + + procedure Sales4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales4Name())); + end; + + procedure Sales5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales5Name())); + end; + + procedure Sales6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales6Name())); + end; + + procedure Salesofrawmaterialsfor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofrawmaterialsforName())); + end; + + procedure Salesofgoodsfor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofgoodsforName())); + end; + + procedure Salesofservicesfor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofservicesforName())); + end; + + procedure SalesofrawmaterialsEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofrawmaterialsEUName())); + end; + + procedure SalesofgoodsEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofgoodsEUName())); + end; + + procedure SalesofservicesEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofservicesEUName())); + end; + + procedure Sales7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales7Name())); + end; + + procedure Sales8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales8Name())); + end; + + procedure Sales9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales9Name())); + end; + + procedure Sales10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales10Name())); + end; + + procedure Sales11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales11Name())); + end; + + procedure Sales12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales12Name())); + end; + + procedure Sales13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales13Name())); + end; + + procedure Sales14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales14Name())); + end; + + procedure Sales15(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales15Name())); + end; + + procedure Sales16(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales16Name())); + end; + + procedure Sales17(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales17Name())); + end; + + procedure Sales18(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales18Name())); + end; + + procedure Sales19(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Sales19Name())); + end; + + procedure Discounts1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Discounts1Name())); + end; + + procedure Discounts2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Discounts2Name())); + end; + + procedure Discounts3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Discounts3Name())); + end; + + procedure Exchangeratedifferences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExchangeratedifferencesName())); + end; + + procedure Exchangerategains7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Exchangerategains7Name())); + end; + + procedure Exchangeratelosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExchangeratelossesName())); + end; + + procedure Paymenttolerance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymenttoleranceName())); + end; + + procedure Paymenttolerancededuc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymenttolerancededucName())); + end; + + procedure VATcorrections(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VATcorrectionsName())); + end; + + procedure ShippingExpences1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShippingExpences1Name())); + end; + + procedure ShippingExpences2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShippingExpences2Name())); + end; + + procedure Othersalesdeductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthersalesdeductionsName())); + end; + + procedure Creditcardprovisions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditcardprovisionsName())); + end; + + procedure NETTURNOVERTOTAL(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NETTURNOVERTOTALName())); + end; + + procedure Variationinstocks1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks1Name())); + end; + + procedure Variationinstocks2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks2Name())); + end; + + procedure Variationinstocks3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks3Name())); + end; + + procedure Variationinstockstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VariationinstockstotalName())); + end; + + procedure Manafacturedforownuse1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Manafacturedforownuse1Name())); + end; + + procedure Manafacturedforownuse2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Manafacturedforownuse2Name())); + end; + + procedure Manafacturedforownuse3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Manafacturedforownuse3Name())); + end; + + procedure Manafacturedforownusetotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManafacturedforownusetotalName())); + end; + + procedure Otheroperatingincome1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otheroperatingincome1Name())); + end; + + procedure Otheroperatingincome2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otheroperatingincome2Name())); + end; + + procedure Otheroperatingincome3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otheroperatingincome3Name())); + end; + + procedure Rents(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentsName())); + end; + + procedure Insurances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesName())); + end; + + procedure Groupservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GroupservicesName())); + end; + + procedure Othergroupservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthergroupservicesName())); + end; + + procedure Operatingincometotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingincometotalName())); + end; + + procedure Rawmaterialsandservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawmaterialsandservicesName())); + end; + + procedure Rawmaterialsandconsumables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawmaterialsandconsumablesName())); + end; + + procedure Purchasesofrawmaterialsdom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofrawmaterialsdomName())); + end; + + procedure Purchasesofgoodsdom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofgoodsdomName())); + end; + + procedure Purchasesofservicesdom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofservicesdomName())); + end; + + procedure Purchasesofrawmaterialsfor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofrawmaterialsforName())); + end; + + procedure Purchasesofgoodsfor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofgoodsforName())); + end; + + procedure Purchasesofservicesfor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofservicesforName())); + end; + + procedure PurchasesofrawmaterialsEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofrawmaterialsEUName())); + end; + + procedure PurchasesofgoodsEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofgoodsEUName())); + end; + + procedure PurchasesofservicesEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasesofservicesEUName())); + end; + + procedure Purchases1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases1Name())); + end; + + procedure Purchases2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases2Name())); + end; + + procedure Purchases3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases3Name())); + end; + + procedure Purchases4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases4Name())); + end; + + procedure Purchases5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases5Name())); + end; + + procedure Purchases6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases6Name())); + end; + + procedure Purchases7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases7Name())); + end; + + procedure Purchases8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases8Name())); + end; + + procedure Purchases9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Purchases9Name())); + end; + + procedure Discounts4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Discounts4Name())); + end; + + procedure Discounts5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Discounts5Name())); + end; + + procedure Discounts6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Discounts6Name())); + end; + + procedure Invoicerounding2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Invoicerounding2Name())); + end; + + procedure Exchangeratedifferences2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Exchangeratedifferences2Name())); + end; + + procedure Exchangerategains6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Exchangerategains6Name())); + end; + + procedure Paymenttolerance2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Paymenttolerance2Name())); + end; + + procedure Paymenttolerancededuc2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Paymenttolerancededuc2Name())); + end; + + procedure VATcorrections2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VATcorrections2Name())); + end; + + procedure Shipping(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShippingName())); + end; + + procedure Insurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsuranceName())); + end; + + procedure Variationinstocks9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks9Name())); + end; + + procedure Variationinstocks10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks10Name())); + end; + + procedure Variationinstocks11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks11Name())); + end; + + procedure Variationinstocks4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks4Name())); + end; + + procedure Variationinstocks5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks5Name())); + end; + + procedure Variationinstocks6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks6Name())); + end; + + procedure Variationinstocks7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Variationinstocks7Name())); + end; + + procedure Rawmaterialndcoumablestotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawmaterialndcoumablestotalName())); + end; + + procedure Externalservices1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Externalservices1Name())); + end; + + procedure Externalservices2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Externalservices2Name())); + end; + + procedure Externalservices3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Externalservices3Name())); + end; + + procedure Shippingservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShippingservicesName())); + end; + + procedure Rawmaterialsandservicestotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawmaterialsandservicestotalName())); + end; + + procedure Staffexpences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StaffexpencesName())); + end; + + procedure Wagesandsalaries1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries1Name())); + end; + + procedure Wagesandsalaries2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries2Name())); + end; + + procedure Wagesandsalaries3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries3Name())); + end; + + procedure Socialsecurityexpenses1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Socialsecurityexpenses1Name())); + end; + + procedure Socialsecurityexpenses2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Socialsecurityexpenses2Name())); + end; + + procedure Socialsecurityexpenses3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Socialsecurityexpenses3Name())); + end; + + procedure Socialsecurityexpenses4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Socialsecurityexpenses4Name())); + end; + + procedure Pensionexpenses1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Pensionexpenses1Name())); + end; + + procedure Othersocialsecurityexpenses1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersocialsecurityexpenses1Name())); + end; + + procedure Othersocialsecurityexpenses2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersocialsecurityexpenses2Name())); + end; + + procedure Othersocialsecurityexpenses3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersocialsecurityexpenses3Name())); + end; + + procedure Otherstaffexpenses1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses1Name())); + end; + + procedure Otherstaffexpenses2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses2Name())); + end; + + procedure Otherstaffexpenses3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses3Name())); + end; + + procedure Otherstaffexpenses4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses4Name())); + end; + + procedure Otherstaffexpenses5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses5Name())); + end; + + procedure Otherstaffexpenses6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses6Name())); + end; + + procedure Otherstaffexpenses7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses7Name())); + end; + + procedure Otherstaffexpenses8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses8Name())); + end; + + procedure Otherstaffexpenses9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses9Name())); + end; + + procedure Otherstaffexpenses10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses10Name())); + end; + + procedure Otherstaffexpenses11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses11Name())); + end; + + procedure Otherstaffexpenses12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses12Name())); + end; + + procedure Otherstaffexpenses13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses13Name())); + end; + + procedure Wagesandsalaries4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries4Name())); + end; + + procedure Wagesandsalaries5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries5Name())); + end; + + procedure Wagesandsalaries6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries6Name())); + end; + + procedure Wagesandsalaries7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries7Name())); + end; + + procedure Wagesandsalaries8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries8Name())); + end; + + procedure Wagesandsalaries9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries9Name())); + end; + + procedure Wagesandsalaries10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries10Name())); + end; + + procedure Wagesandsalaries11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries11Name())); + end; + + procedure Wagesandsalaries12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries12Name())); + end; + + procedure Wagesandsalaries13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries13Name())); + end; + + procedure Wagesandsalaries14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries14Name())); + end; + + procedure Wagesandsalaries15(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries15Name())); + end; + + procedure Wagesandsalaries16(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Wagesandsalaries16Name())); + end; + + procedure Socialsecurityexpenses5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Socialsecurityexpenses5Name())); + end; + + procedure Socialsecurityexpenses6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Socialsecurityexpenses6Name())); + end; + + procedure Pensionexpenses2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Pensionexpenses2Name())); + end; + + procedure Pensionexpenses3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Pensionexpenses3Name())); + end; + + procedure Othersocialsecurityexpenses4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersocialsecurityexpenses4Name())); + end; + + procedure Othersocialsecurityexpenses5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersocialsecurityexpenses5Name())); + end; + + procedure Othersocialsecurityexpenses6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersocialsecurityexpenses6Name())); + end; + + procedure Pensionexpenses4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Pensionexpenses4Name())); + end; + + procedure Othersocialsecurityexpenses7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Othersocialsecurityexpenses7Name())); + end; + + procedure Otherstaffexpenses14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses14Name())); + end; + + procedure Otherstaffexpenses15(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses15Name())); + end; + + procedure Otherstaffexpenses16(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses16Name())); + end; + + procedure Otherstaffexpenses17(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses17Name())); + end; + + procedure Otherstaffexpenses18(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses18Name())); + end; + + procedure Otherstaffexpenses19(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses19Name())); + end; + + procedure Otherstaffexpenses20(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses20Name())); + end; + + procedure Staffexpencestotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StaffexpencestotalName())); + end; + + procedure Otheroperatingcharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtheroperatingchargesName())); + end; + + procedure Rents2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Rents2Name())); + end; + + procedure Rents3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Rents3Name())); + end; + + procedure Rents4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Rents4Name())); + end; + + procedure Rents5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Rents5Name())); + end; + + procedure Rents6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Rents6Name())); + end; + + procedure Rents7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Rents7Name())); + end; + + procedure Otherstaffexpenses21(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses21Name())); + end; + + procedure Otherstaffexpenses22(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses22Name())); + end; + + procedure Otherstaffexpenses23(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses23Name())); + end; + + procedure Otherstaffexpenses24(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses24Name())); + end; + + procedure Otherstaffexpenses25(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses25Name())); + end; + + procedure Otherstaffexpenses26(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses26Name())); + end; + + procedure Otherstaffexpenses27(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses27Name())); + end; + + procedure Otherstaffexpenses28(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherstaffexpenses28Name())); + end; + + procedure Salesmarketingexp1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp1Name())); + end; + + procedure Salesmarketingexp2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp2Name())); + end; + + procedure Salesmarketingexp3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp3Name())); + end; + + procedure Salesmarketingexp4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp4Name())); + end; + + procedure Salesmarketingexp5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp5Name())); + end; + + procedure Salesmarketingexp6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp6Name())); + end; + + procedure Salesmarketingexp7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp7Name())); + end; + + procedure Salesmarketingexp8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp8Name())); + end; + + procedure Salesmarketingexp9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp9Name())); + end; + + procedure Salesmarketingexp10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp10Name())); + end; + + procedure Salesmarketingexp11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp11Name())); + end; + + procedure Salesmarketingexp12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp12Name())); + end; + + procedure Salesmarketingexp13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp13Name())); + end; + + procedure Salesmarketingexp14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Salesmarketingexp14Name())); + end; + + procedure Fuel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FuelName())); + end; + + procedure Maintenance1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Maintenance1Name())); + end; + + procedure Maintenance2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Maintenance2Name())); + end; + + procedure Maintenance3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Maintenance3Name())); + end; + + procedure Maintenance4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Maintenance4Name())); + end; + + procedure Furniture(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FurnitureName())); + end; + + procedure Otherequipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherequipmentName())); + end; + + procedure Supplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuppliesName())); + end; + + procedure Othermaintenanceservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthermaintenanceservicesName())); + end; + + procedure Water(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterName())); + end; + + procedure Gasandelectricity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GasandelectricityName())); + end; + + procedure Realestateexpences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealestateexpencesName())); + end; + + procedure Outsourcedservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutsourcedservicesName())); + end; + + procedure Waste(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WasteName())); + end; + + procedure Electricity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityName())); + end; + + procedure Insurances2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Insurances2Name())); + end; + + procedure Realestatetax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealestatetaxName())); + end; + + procedure Maintenance5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Maintenance5Name())); + end; + + procedure Vehicles1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles1Name())); + end; + + procedure Vehicles2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles2Name())); + end; + + procedure Vehicles3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles3Name())); + end; + + procedure Vehicles4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles4Name())); + end; + + procedure Vehicles5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles5Name())); + end; + + procedure Vehicles6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles6Name())); + end; + + procedure Vehicles7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles7Name())); + end; + + procedure Vehicles8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles8Name())); + end; + + procedure Vehicles9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles9Name())); + end; + + procedure Vehicles10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Vehicles10Name())); + end; + + procedure Otheroperatingexp1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otheroperatingexp1Name())); + end; + + procedure Otheroperatingexp2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otheroperatingexp2Name())); + end; + + procedure Informationcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InformationcostsName())); + end; + + procedure Telecosts1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Telecosts1Name())); + end; + + procedure Telecosts2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Telecosts2Name())); + end; + + procedure Insurance2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Insurance2Name())); + end; + + procedure Insurance3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Insurance3Name())); + end; + + procedure Officesupplies1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Officesupplies1Name())); + end; + + procedure Officesupplies2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Officesupplies2Name())); + end; + + procedure Officesupplies3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Officesupplies3Name())); + end; + + procedure Officesupplies4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Officesupplies4Name())); + end; + + procedure Officesupplies5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Officesupplies5Name())); + end; + + procedure Outsourcedservices2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Outsourcedservices2Name())); + end; + + procedure Accounting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountingName())); + end; + + procedure ITservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ITservicesName())); + end; + + procedure Auditing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuditingName())); + end; + + procedure Lawservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LawservicesName())); + end; + + procedure Otherexpences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherexpencesName())); + end; + + procedure Memberships(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MembershipsName())); + end; + + procedure Notifications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NotificationsName())); + end; + + procedure Bankingexpences(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingexpencesName())); + end; + + procedure Meetings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MeetingsName())); + end; + + procedure Otherexpences2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherexpences2Name())); + end; + + procedure Baddept1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Baddept1Name())); + end; + + procedure Baddept2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Baddept2Name())); + end; + + procedure Baddept3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Baddept3Name())); + end; + + procedure Otheroperatingexpensestotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtheroperatingexpensestotalName())); + end; + + procedure Depreciation1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciation1Name())); + end; + + procedure Depreciation2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciation2Name())); + end; + + procedure Depreciation3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciation3Name())); + end; + + procedure Depreciation4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciation4Name())); + end; + + procedure Depreciation5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciation5Name())); + end; + + procedure Depreciation6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciation6Name())); + end; + + procedure Depreciation7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Depreciation7Name())); + end; + + procedure Reductioninvalue1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue1Name())); + end; + + procedure Reductioninvalue2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue2Name())); + end; + + procedure Reductioninvalue3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue3Name())); + end; + + procedure Reductioninvalue4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue4Name())); + end; + + procedure Reductioninvalue5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue5Name())); + end; + + procedure Reductioninvalue6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue6Name())); + end; + + procedure Reductioninvalue7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue7Name())); + end; + + procedure Reductioninvalue8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue8Name())); + end; + + procedure Reductioninvalue9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue9Name())); + end; + + procedure Reductioninvalue10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue10Name())); + end; + + procedure Reductioninvalue11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue11Name())); + end; + + procedure Reductioninvalue12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue12Name())); + end; + + procedure Reductioninvalue13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue13Name())); + end; + + procedure Reductioninvalue14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue14Name())); + end; + + procedure Reductioninvalue15(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue15Name())); + end; + + procedure Reductioninvalue16(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue16Name())); + end; + + procedure Reductioninvalue17(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue17Name())); + end; + + procedure Reductioninvalue18(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue18Name())); + end; + + procedure Reductioninvalue19(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Reductioninvalue19Name())); + end; + + procedure Depreciationeductionsinvalue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationeductionsinvalueName())); + end; + + procedure OPERATINGPROFITLOSS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OPERATINGPROFITLOSSName())); + end; + + procedure Financialincomeandexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialincomeandexpensesName())); + end; + + procedure Shareofprofitloss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareofprofitlossName())); + end; + + procedure Shareofprofitlsofgdertakings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareofprofitlsofgdertakingsName())); + end; + + procedure Shareofprofitssofassompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareofprofitssofassompaniesName())); + end; + + procedure Incomefromgroupundertakings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomefromgroupundertakingsName())); + end; + + procedure Incomefrompaipatinginterests(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomefrompaipatinginterestsName())); + end; + + procedure Otherintereaninancialincome1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherintereaninancialincome1Name())); + end; + + procedure Otherintereaninancialincome2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherintereaninancialincome2Name())); + end; + + procedure Reductioninvalueofirentassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReductioninvalueofirentassetsName())); + end; + + procedure Reductioninvalueofinvesassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReductioninvalueofinvesassetsName())); + end; + + procedure Interestandothinancialincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestandothinancialincomeName())); + end; + + procedure Financialincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialincomeName())); + end; + + procedure Otherfinancialincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherfinancialincomeName())); + end; + + procedure Exchangerategains1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Exchangerategains1Name())); + end; + + procedure Exchangerategains2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Exchangerategains2Name())); + end; + + procedure Exchangerategains3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Exchangerategains3Name())); + end; + + procedure Otherfinancialincome2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherfinancialincome2Name())); + end; + + procedure Exchangerategains5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Exchangerategains5Name())); + end; + + procedure Financialincometotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialincometotalName())); + end; + + procedure Financialexpenses1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses1Name())); + end; + + procedure Financialexpenses2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses2Name())); + end; + + procedure Financialexpenses3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses3Name())); + end; + + procedure Financialexpenses4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses4Name())); + end; + + procedure Financialexpenses5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses5Name())); + end; + + procedure Financialexpenses6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses6Name())); + end; + + procedure Financialexpenses7(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses7Name())); + end; + + procedure Financialexpenses8(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses8Name())); + end; + + procedure Financialexpenses9(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses9Name())); + end; + + procedure Financialexpenses10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses10Name())); + end; + + procedure Financialexpenses11(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses11Name())); + end; + + procedure Financialexpenses12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses12Name())); + end; + + procedure Financialexpenses13(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses13Name())); + end; + + procedure Financialexpenses14(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Financialexpenses14Name())); + end; + + procedure PROFITLOSSBEFOEXDINARYITEMS(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PROFITLOSSBEFOEXDINARYITEMSName())); + end; + + procedure Extraordinaryitems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryitemsName())); + end; + + procedure Otherextraordinaryincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherextraordinaryincomeName())); + end; + + procedure VATadjustments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VATadjustmentsName())); + end; + + procedure TAXadjusments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TAXadjusmentsName())); + end; + + procedure Otherextraordinaryexpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherextraordinaryexpenseName())); + end; + + procedure Otherextraordinaryexpense2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Otherextraordinaryexpense2Name())); + end; + + procedure Extraordinaryitemstotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryitemstotalName())); + end; + + procedure PROFITLOSSBEFEAPPROSANDTAXES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PROFITLOSSBEFEAPPROSANDTAXESName())); + end; + + procedure Appropriations1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Appropriations1Name())); + end; + + procedure Changeindepreciationreserve1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeindepreciationreserve1Name())); + end; + + procedure Changeindepreciationreserve2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeindepreciationreserve2Name())); + end; + + procedure Changeindepreciationreserve3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeindepreciationreserve3Name())); + end; + + procedure Changeindepreciationreserve4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeindepreciationreserve4Name())); + end; + + procedure Changeindepreciationreserve5(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeindepreciationreserve5Name())); + end; + + procedure Changeinuntaxedreserves1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeinuntaxedreserves1Name())); + end; + + procedure Changeinuntaxedreserves2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeinuntaxedreserves2Name())); + end; + + procedure Changeinuntaxedreserves3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Changeinuntaxedreserves3Name())); + end; + + procedure Appropriationstotal1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Appropriationstotal1Name())); + end; + + procedure Incometaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncometaxesName())); + end; + + procedure Taxesoncialyeandyearsbefore1(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Taxesoncialyeandyearsbefore1Name())); + end; + + procedure Taxesoncialyeandyearsbefore2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Taxesoncialyeandyearsbefore2Name())); + end; + + procedure Taxesoncialyeandyearsbefore3(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Taxesoncialyeandyearsbefore3Name())); + end; + + procedure Taxesoncialyeandyearsbefore4(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Taxesoncialyeandyearsbefore4Name())); + end; + + procedure Incometaxes2(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(Incometaxes2Name())); + end; + + procedure PROFITLOSSFORTHEFINANCIALYEAR(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PROFITLOSSFORTHEFINANCIALYEARName())); + end; + + procedure FoundingcostsName(): Text[100] + begin + exit(FoundingcostsTok); + end; + + procedure DecreasesduringtheYear1Name(): Text[100] + begin + exit(DecreasesduringtheYear1Tok); + end; + + procedure ResearchName(): Text[100] + begin + exit(ResearchTok); + end; + + procedure DecreasesduringtheYear2Name(): Text[100] + begin + exit(DecreasesduringtheYear2Tok); + end; + + procedure DevelopmentName(): Text[100] + begin + exit(DevelopmentTok); + end; + + procedure DecreasesduringtheYear3Name(): Text[100] + begin + exit(DecreasesduringtheYear3Tok); + end; + + procedure IntangiblerightsName(): Text[100] + begin + exit(IntangiblerightsTok); + end; + + procedure DecreasesduringtheYear4Name(): Text[100] + begin + exit(DecreasesduringtheYear4Tok); + end; + + procedure GoodwillName(): Text[100] + begin + exit(GoodwillTok); + end; + + procedure DecreasesduringtheYear5Name(): Text[100] + begin + exit(DecreasesduringtheYear5Tok); + end; + + procedure Goodwill2Name(): Text[100] + begin + exit(Goodwill2Tok); + end; + + procedure OthercapitalisedexpenditureName(): Text[100] + begin + exit(OthercapitalisedexpenditureTok); + end; + + procedure DecreasesduringtheYear6Name(): Text[100] + begin + exit(DecreasesduringtheYear6Tok); + end; + + procedure AdvancepaymentsName(): Text[100] + begin + exit(AdvancepaymentsTok); + end; + + procedure IntangibleassetstotalName(): Text[100] + begin + exit(IntangibleassetstotalTok); + end; + + procedure TangibleassetsName(): Text[100] + begin + exit(TangibleassetsTok); + end; + + procedure Othertangibleassets1Name(): Text[100] + begin + exit(Othertangibleassets1Tok); + end; + + procedure MachineryandequipmentName(): Text[100] + begin + exit(MachineryandequipmentTok); + end; + + procedure DecreasesduringtheYear7Name(): Text[100] + begin + exit(DecreasesduringtheYear7Tok); + end; + + procedure Othertangibleassets17Name(): Text[100] + begin + exit(Othertangibleassets17Tok); + end; + + procedure DecreasesduringtheYear8Name(): Text[100] + begin + exit(DecreasesduringtheYear8Tok); + end; + + procedure Othertangibleassets18Name(): Text[100] + begin + exit(Othertangibleassets18Tok); + end; + + procedure DecreasesduringtheYear9Name(): Text[100] + begin + exit(DecreasesduringtheYear9Tok); + end; + + procedure Othertangibleassets19Name(): Text[100] + begin + exit(Othertangibleassets19Tok); + end; + + procedure DecreasesduringtheYear10Name(): Text[100] + begin + exit(DecreasesduringtheYear10Tok); + end; + + procedure Machineryandequipment2Name(): Text[100] + begin + exit(Machineryandequipment2Tok); + end; + + procedure DecreasesduringtheYear11Name(): Text[100] + begin + exit(DecreasesduringtheYear11Tok); + end; + + procedure Othertangibleassets20Name(): Text[100] + begin + exit(Othertangibleassets20Tok); + end; + + procedure DecreasesduringtheYear12Name(): Text[100] + begin + exit(DecreasesduringtheYear12Tok); + end; + + procedure Othertangibleassets2Name(): Text[100] + begin + exit(Othertangibleassets2Tok); + end; + + procedure Othertangibleassets3Name(): Text[100] + begin + exit(Othertangibleassets3Tok); + end; + + procedure Othertangibleassets4Name(): Text[100] + begin + exit(Othertangibleassets4Tok); + end; + + procedure Othertangibleassets5Name(): Text[100] + begin + exit(Othertangibleassets5Tok); + end; + + procedure Othertangibleassets6Name(): Text[100] + begin + exit(Othertangibleassets6Tok); + end; + + procedure Othertangibleassets7Name(): Text[100] + begin + exit(Othertangibleassets7Tok); + end; + + procedure Othertangibleassets8Name(): Text[100] + begin + exit(Othertangibleassets8Tok); + end; + + procedure Othertangibleassets9Name(): Text[100] + begin + exit(Othertangibleassets9Tok); + end; + + procedure Othertangibleassets10Name(): Text[100] + begin + exit(Othertangibleassets10Tok); + end; + + procedure Othertangibleassets11Name(): Text[100] + begin + exit(Othertangibleassets11Tok); + end; + + procedure DecreasesduringtheYear13Name(): Text[100] + begin + exit(DecreasesduringtheYear13Tok); + end; + + procedure Othertangibleassets12Name(): Text[100] + begin + exit(Othertangibleassets12Tok); + end; + + procedure Othertangibleassets13Name(): Text[100] + begin + exit(Othertangibleassets13Tok); + end; + + procedure Othertangibleassets14Name(): Text[100] + begin + exit(Othertangibleassets14Tok); + end; + + procedure Othertangibleassets15Name(): Text[100] + begin + exit(Othertangibleassets15Tok); + end; + + procedure Othertangibleassets16Name(): Text[100] + begin + exit(Othertangibleassets16Tok); + end; + + procedure DecreasesduringtheYear14Name(): Text[100] + begin + exit(DecreasesduringtheYear14Tok); + end; + + procedure TangibleassetstotalName(): Text[100] + begin + exit(TangibleassetstotalTok); + end; + + procedure InvestmentsName(): Text[100] + begin + exit(InvestmentsTok); + end; + + procedure SharesandholdingsName(): Text[100] + begin + exit(SharesandholdingsTok); + end; + + procedure SharesinGroupcompaniesName(): Text[100] + begin + exit(SharesinGroupcompaniesTok); + end; + + procedure SharesinassociatedcompaniesName(): Text[100] + begin + exit(SharesinassociatedcompaniesTok); + end; + + procedure OthersharesandholdingsName(): Text[100] + begin + exit(OthersharesandholdingsTok); + end; + + procedure Othersharesandholdings2Name(): Text[100] + begin + exit(Othersharesandholdings2Tok); + end; + + procedure Ownshares1Name(): Text[100] + begin + exit(Ownshares1Tok); + end; + + procedure Ownshares2Name(): Text[100] + begin + exit(Ownshares2Tok); + end; + + procedure OtherinvestmentsName(): Text[100] + begin + exit(OtherinvestmentsTok); + end; + + procedure InvestmentstotalName(): Text[100] + begin + exit(InvestmentstotalTok); + end; + + procedure FixedAssetstotalName(): Text[100] + begin + exit(FixedAssetstotalTok); + end; + + procedure Itemsandsupplies1Name(): Text[100] + begin + exit(Itemsandsupplies1Tok); + end; + + procedure Itemsandsupplies2Name(): Text[100] + begin + exit(Itemsandsupplies2Tok); + end; + + procedure Itemsandsupplies3Name(): Text[100] + begin + exit(Itemsandsupplies3Tok); + end; + + procedure Itemsandsupplies4Name(): Text[100] + begin + exit(Itemsandsupplies4Tok); + end; + + procedure Itemsandsupplies5Name(): Text[100] + begin + exit(Itemsandsupplies5Tok); + end; + + procedure Itemsandsupplies6Name(): Text[100] + begin + exit(Itemsandsupplies6Tok); + end; + + procedure FinishedGoods1Name(): Text[100] + begin + exit(FinishedGoods1Tok); + end; + + procedure FinishedGoods2Name(): Text[100] + begin + exit(FinishedGoods2Tok); + end; + + procedure WIPAccountName(): Text[100] + begin + exit(WIPAccountTok); + end; + + procedure WIPAccount2Name(): Text[100] + begin + exit(WIPAccount2Tok); + end; + + procedure WIPAccruedCostName(): Text[100] + begin + exit(WIPAccruedCostTok); + end; + + procedure WIPAccruedSalesName(): Text[100] + begin + exit(WIPAccruedSalesTok); + end; + + procedure WIPInvoicedSalesName(): Text[100] + begin + exit(WIPInvoicedSalesTok); + end; + + procedure OtherinventoriesName(): Text[100] + begin + exit(OtherinventoriesTok); + end; + + procedure Advancepayments2Name(): Text[100] + begin + exit(Advancepayments2Tok); + end; + + procedure InventorytotalName(): Text[100] + begin + exit(InventorytotalTok); + end; + + procedure AccountsReceivable10Name(): Text[100] + begin + exit(AccountsReceivable10Tok); + end; + + procedure Salesreceivables1Name(): Text[100] + begin + exit(Salesreceivables1Tok); + end; + + procedure Salesreceivables2Name(): Text[100] + begin + exit(Salesreceivables2Tok); + end; + + procedure ReceivablesofGroupcompaniesName(): Text[100] + begin + exit(ReceivablesofGroupcompaniesTok); + end; + + procedure ReceivablessociatedcompaniesName(): Text[100] + begin + exit(ReceivablessociatedcompaniesTok); + end; + + procedure LoanesName(): Text[100] + begin + exit(LoanesTok); + end; + + procedure Otherreceivables1Name(): Text[100] + begin + exit(Otherreceivables1Tok); + end; + + procedure Salesreceivables3Name(): Text[100] + begin + exit(Salesreceivables3Tok); + end; + + procedure ReceivablesofGroupcompanies2Name(): Text[100] + begin + exit(ReceivablesofGroupcompanies2Tok); + end; + + procedure Receivablesociatedcompanies2Name(): Text[100] + begin + exit(Receivablesociatedcompanies2Tok); + end; + + procedure Loanes2Name(): Text[100] + begin + exit(Loanes2Tok); + end; + + procedure Otherreceivables2Name(): Text[100] + begin + exit(Otherreceivables2Tok); + end; + + procedure SharesnotpaidName(): Text[100] + begin + exit(SharesnotpaidTok); + end; + + procedure Sharesnotpaid2Name(): Text[100] + begin + exit(Sharesnotpaid2Tok); + end; + + procedure AccruedincomeName(): Text[100] + begin + exit(AccruedincomeTok); + end; + + procedure Deferredtaxreceivables1Name(): Text[100] + begin + exit(Deferredtaxreceivables1Tok); + end; + + procedure Deferredtaxreceivables2Name(): Text[100] + begin + exit(Deferredtaxreceivables2Tok); + end; + + procedure Deferredtaxreceivables3Name(): Text[100] + begin + exit(Deferredtaxreceivables3Tok); + end; + + procedure Deferredtaxreceivables4Name(): Text[100] + begin + exit(Deferredtaxreceivables4Tok); + end; + + procedure Deferredtaxreceivables5Name(): Text[100] + begin + exit(Deferredtaxreceivables5Tok); + end; + + procedure Deferredtaxreceivables6Name(): Text[100] + begin + exit(Deferredtaxreceivables6Tok); + end; + + procedure Deferredtaxreceivables7Name(): Text[100] + begin + exit(Deferredtaxreceivables7Tok); + end; + + procedure Deferredtaxreceivables8Name(): Text[100] + begin + exit(Deferredtaxreceivables8Tok); + end; + + procedure AllocationsName(): Text[100] + begin + exit(AllocationsTok); + end; + + procedure Otherreceivables3Name(): Text[100] + begin + exit(Otherreceivables3Tok); + end; + + procedure ShorttermReceivablestotalName(): Text[100] + begin + exit(ShorttermReceivablestotalTok); + end; + + procedure SharesandparticipationsName(): Text[100] + begin + exit(SharesandparticipationsTok); + end; + + procedure SharesandpartipaupcompaniesName(): Text[100] + begin + exit(SharesandpartipaupcompaniesTok); + end; + + procedure Ownshares3Name(): Text[100] + begin + exit(Ownshares3Tok); + end; + + procedure SharesandpaicipoupcompaniesName(): Text[100] + begin + exit(SharesandpaicipoupcompaniesTok); + end; + + procedure OthersharesandparticipationsName(): Text[100] + begin + exit(OthersharesandparticipationsTok); + end; + + procedure OthersecuritiesName(): Text[100] + begin + exit(OthersecuritiesTok); + end; + + procedure SecuritiestotalName(): Text[100] + begin + exit(SecuritiestotalTok); + end; + + procedure BankNordeaName(): Text[100] + begin + exit(BankNordeaTok); + end; + + procedure BankSampoName(): Text[100] + begin + exit(BankSampoTok); + end; + + procedure Bank3Name(): Text[100] + begin + exit(Bank3Tok); + end; + + procedure Bank4Name(): Text[100] + begin + exit(Bank4Tok); + end; + + procedure Bank5Name(): Text[100] + begin + exit(Bank5Tok); + end; + + procedure Bank6Name(): Text[100] + begin + exit(Bank6Tok); + end; + + procedure Bank7Name(): Text[100] + begin + exit(Bank7Tok); + end; + + procedure Liquidassets2Name(): Text[100] + begin + exit(Liquidassets2Tok); + end; + + procedure CurrentAssetstotalName(): Text[100] + begin + exit(CurrentAssetstotalTok); + end; + + procedure ASSETSTOTALName(): Text[100] + begin + exit(ASSETSTOTALTok); + end; + + procedure EQUITYCAPITALName(): Text[100] + begin + exit(EQUITYCAPITALTok); + end; + + procedure SharecapitalestrictedequityName(): Text[100] + begin + exit(SharecapitalestrictedequityTok); + end; + + procedure SharepremiumaccountName(): Text[100] + begin + exit(SharepremiumaccountTok); + end; + + procedure RevaluationreserveName(): Text[100] + begin + exit(RevaluationreserveTok); + end; + + procedure ReserveforownsharesName(): Text[100] + begin + exit(ReserveforownsharesTok); + end; + + procedure ReservefundName(): Text[100] + begin + exit(ReservefundTok); + end; + + procedure OtherfundsName(): Text[100] + begin + exit(OtherfundsTok); + end; + + procedure ProfitLossbroughtforwardName(): Text[100] + begin + exit(ProfitLossbroughtforwardTok); + end; + + procedure ProfitLossfohefinancialyearName(): Text[100] + begin + exit(ProfitLossfohefinancialyearTok); + end; + + procedure SharecapilerrestrictedequityName(): Text[100] + begin + exit(SharecapilerrestrictedequityTok); + end; + + procedure EQUITYCAPITALTOTALName(): Text[100] + begin + exit(EQUITYCAPITALTOTALTok); + end; + + procedure APPROPRIATIONSName(): Text[100] + begin + exit(APPROPRIATIONSTok); + end; + + procedure Depreciationdifference1Name(): Text[100] + begin + exit(Depreciationdifference1Tok); + end; + + procedure Depreciationdifference2Name(): Text[100] + begin + exit(Depreciationdifference2Tok); + end; + + procedure Depreciationdifference3Name(): Text[100] + begin + exit(Depreciationdifference3Tok); + end; + + procedure Voluntaryprovisions1Name(): Text[100] + begin + exit(Voluntaryprovisions1Tok); + end; + + procedure Voluntaryprovisions2Name(): Text[100] + begin + exit(Voluntaryprovisions2Tok); + end; + + procedure Voluntaryprovisions3Name(): Text[100] + begin + exit(Voluntaryprovisions3Tok); + end; + + procedure APPROPRIATIONSTOTALName(): Text[100] + begin + exit(APPROPRIATIONSTOTALTok); + end; + + procedure COMPULSORYPROVISIONSName(): Text[100] + begin + exit(COMPULSORYPROVISIONSTok); + end; + + procedure ProvisionsforpensionsName(): Text[100] + begin + exit(ProvisionsforpensionsTok); + end; + + procedure ProvisionsfortaxationName(): Text[100] + begin + exit(ProvisionsfortaxationTok); + end; + + procedure Otherprovisions1Name(): Text[100] + begin + exit(Otherprovisions1Tok); + end; + + procedure Otherprovisions2Name(): Text[100] + begin + exit(Otherprovisions2Tok); + end; + + procedure COMPULSORYPROVISIONSTOTALName(): Text[100] + begin + exit(COMPULSORYPROVISIONSTOTALTok); + end; + + procedure CREDITORSName(): Text[100] + begin + exit(CREDITORSTok); + end; + + procedure DepenturesName(): Text[100] + begin + exit(DepenturesTok); + end; + + procedure ConvertibledepenturesName(): Text[100] + begin + exit(ConvertibledepenturesTok); + end; + + procedure Loansfromcreditinstitutions1Name(): Text[100] + begin + exit(Loansfromcreditinstitutions1Tok); + end; + + procedure Loansfromcreditinstitutions2Name(): Text[100] + begin + exit(Loansfromcreditinstitutions2Tok); + end; + + procedure Loansfromcreditinstitutions3Name(): Text[100] + begin + exit(Loansfromcreditinstitutions3Tok); + end; + + procedure Othercreditors1Name(): Text[100] + begin + exit(Othercreditors1Tok); + end; + + procedure PensionloansName(): Text[100] + begin + exit(PensionloansTok); + end; + + procedure AdvancesreceivedName(): Text[100] + begin + exit(AdvancesreceivedTok); + end; + + procedure Tradecreditors1Name(): Text[100] + begin + exit(Tradecreditors1Tok); + end; + + procedure Amountsowedundertakings1Name(): Text[100] + begin + exit(Amountsowedundertakings1Tok); + end; + + procedure Amountsowtoparticdertakings1Name(): Text[100] + begin + exit(Amountsowtoparticdertakings1Tok); + end; + + procedure Billsofexchangepayable1Name(): Text[100] + begin + exit(Billsofexchangepayable1Tok); + end; + + procedure AccrualsanddeferredincomeName(): Text[100] + begin + exit(AccrualsanddeferredincomeTok); + end; + + procedure Othercreditors2Name(): Text[100] + begin + exit(Othercreditors2Tok); + end; + + procedure Othercreditors3Name(): Text[100] + begin + exit(Othercreditors3Tok); + end; + + procedure Amountsowedtodertakings2Name(): Text[100] + begin + exit(Amountsowedtodertakings2Tok); + end; + + procedure Amountsowedtoparticikings2Name(): Text[100] + begin + exit(Amountsowedtoparticikings2Tok); + end; + + procedure Othercreditors4Name(): Text[100] + begin + exit(Othercreditors4Tok); + end; + + procedure Loansfromcreditinstitutions4Name(): Text[100] + begin + exit(Loansfromcreditinstitutions4Tok); + end; + + procedure Loansfromcreditinstitutions5Name(): Text[100] + begin + exit(Loansfromcreditinstitutions5Tok); + end; + + procedure Pensionloans2Name(): Text[100] + begin + exit(Pensionloans2Tok); + end; + + procedure Advancesreceived2Name(): Text[100] + begin + exit(Advancesreceived2Tok); + end; + + procedure Tradecreditors2Name(): Text[100] + begin + exit(Tradecreditors2Tok); + end; + + procedure Tradecreditors3Name(): Text[100] + begin + exit(Tradecreditors3Tok); + end; + + procedure Amountsedtogrouundertakings3Name(): Text[100] + begin + exit(Amountsedtogrouundertakings3Tok); + end; + + procedure Amountsowtorestundertakings3Name(): Text[100] + begin + exit(Amountsowtorestundertakings3Tok); + end; + + procedure Billsofexchangepayable2Name(): Text[100] + begin + exit(Billsofexchangepayable2Tok); + end; + + procedure Accrualsanddeferredincome9Name(): Text[100] + begin + exit(Accrualsanddeferredincome9Tok); + end; + + procedure Othercreditors5Name(): Text[100] + begin + exit(Othercreditors5Tok); + end; + + procedure Accrualsanddeferredincome1Name(): Text[100] + begin + exit(Accrualsanddeferredincome1Tok); + end; + + procedure Accrualsanddeferredincome2Name(): Text[100] + begin + exit(Accrualsanddeferredincome2Tok); + end; + + procedure Accrualsanddeferredincome3Name(): Text[100] + begin + exit(Accrualsanddeferredincome3Tok); + end; + + procedure Accrualsanddeferredincome4Name(): Text[100] + begin + exit(Accrualsanddeferredincome4Tok); + end; + + procedure Accrualsanddeferredincome5Name(): Text[100] + begin + exit(Accrualsanddeferredincome5Tok); + end; + + procedure Othercreditors6Name(): Text[100] + begin + exit(Othercreditors6Tok); + end; + + procedure Accrualsanddeferredincome6Name(): Text[100] + begin + exit(Accrualsanddeferredincome6Tok); + end; + + procedure Accrualsanddeferredincome7Name(): Text[100] + begin + exit(Accrualsanddeferredincome7Tok); + end; + + procedure Accrualsanddeferredincome8Name(): Text[100] + begin + exit(Accrualsanddeferredincome8Tok); + end; + + procedure Deferredtaxliability1Name(): Text[100] + begin + exit(Deferredtaxliability1Tok); + end; + + procedure Deferredtaxliability2Name(): Text[100] + begin + exit(Deferredtaxliability2Tok); + end; + + procedure Deferredtaxliability3Name(): Text[100] + begin + exit(Deferredtaxliability3Tok); + end; + + procedure Deferredtaxliability4Name(): Text[100] + begin + exit(Deferredtaxliability4Tok); + end; + + procedure Deferredtaxliability5Name(): Text[100] + begin + exit(Deferredtaxliability5Tok); + end; + + procedure Deferredtaxliability6Name(): Text[100] + begin + exit(Deferredtaxliability6Tok); + end; + + procedure Deferredtaxliability7Name(): Text[100] + begin + exit(Deferredtaxliability7Tok); + end; + + procedure Deferredtaxliability8Name(): Text[100] + begin + exit(Deferredtaxliability8Tok); + end; + + procedure Deferredtaxliability9Name(): Text[100] + begin + exit(Deferredtaxliability9Tok); + end; + + procedure Deferredtaxliability10Name(): Text[100] + begin + exit(Deferredtaxliability10Tok); + end; + + procedure Deferredtaxliability11Name(): Text[100] + begin + exit(Deferredtaxliability11Tok); + end; + + procedure Deferredtaxliability12Name(): Text[100] + begin + exit(Deferredtaxliability12Tok); + end; + + procedure Deferredtaxliability13Name(): Text[100] + begin + exit(Deferredtaxliability13Tok); + end; + + procedure Deferredtaxliability14Name(): Text[100] + begin + exit(Deferredtaxliability14Tok); + end; + + procedure Deferredtaxliability15Name(): Text[100] + begin + exit(Deferredtaxliability15Tok); + end; + + procedure Deferredtaxliability16Name(): Text[100] + begin + exit(Deferredtaxliability16Tok); + end; + + procedure Deferredtaxliability17Name(): Text[100] + begin + exit(Deferredtaxliability17Tok); + end; + + procedure Deferredtaxliability18Name(): Text[100] + begin + exit(Deferredtaxliability18Tok); + end; + + procedure Deferredtaxliability19Name(): Text[100] + begin + exit(Deferredtaxliability19Tok); + end; + + procedure Deferredtaxliability20Name(): Text[100] + begin + exit(Deferredtaxliability20Tok); + end; + + procedure Deferredtaxliability21Name(): Text[100] + begin + exit(Deferredtaxliability21Tok); + end; + + procedure CREDITORSTOTALName(): Text[100] + begin + exit(CREDITORSTOTALTok); + end; + + procedure LIABILITIESTOTALName(): Text[100] + begin + exit(LIABILITIESTOTALTok); + end; + + procedure NETTURNOVERName(): Text[100] + begin + exit(NETTURNOVERTok); + end; + + procedure SalesofrawmaterialsdomName(): Text[100] + begin + exit(SalesofrawmaterialsdomTok); + end; + + procedure SalesofgoodsdomName(): Text[100] + begin + exit(SalesofgoodsdomTok); + end; + + procedure SalesofservicesdomName(): Text[100] + begin + exit(SalesofservicesdomTok); + end; + + procedure SalesofservicecontName(): Text[100] + begin + exit(SalesofservicecontTok); + end; + + procedure Sales1Name(): Text[100] + begin + exit(Sales1Tok); + end; + + procedure Sales2Name(): Text[100] + begin + exit(Sales2Tok); + end; + + procedure Sales3Name(): Text[100] + begin + exit(Sales3Tok); + end; + + procedure Sales4Name(): Text[100] + begin + exit(Sales4Tok); + end; + + procedure Sales5Name(): Text[100] + begin + exit(Sales5Tok); + end; + + procedure Sales6Name(): Text[100] + begin + exit(Sales6Tok); + end; + + procedure SalesofrawmaterialsforName(): Text[100] + begin + exit(SalesofrawmaterialsforTok); + end; + + procedure SalesofgoodsforName(): Text[100] + begin + exit(SalesofgoodsforTok); + end; + + procedure SalesofservicesforName(): Text[100] + begin + exit(SalesofservicesforTok); + end; + + procedure SalesofrawmaterialsEUName(): Text[100] + begin + exit(SalesofrawmaterialsEUTok); + end; + + procedure SalesofgoodsEUName(): Text[100] + begin + exit(SalesofgoodsEUTok); + end; + + procedure SalesofservicesEUName(): Text[100] + begin + exit(SalesofservicesEUTok); + end; + + procedure Sales7Name(): Text[100] + begin + exit(Sales7Tok); + end; + + procedure Sales8Name(): Text[100] + begin + exit(Sales8Tok); + end; + + procedure Sales9Name(): Text[100] + begin + exit(Sales9Tok); + end; + + procedure Sales10Name(): Text[100] + begin + exit(Sales10Tok); + end; + + procedure Sales11Name(): Text[100] + begin + exit(Sales11Tok); + end; + + procedure Sales12Name(): Text[100] + begin + exit(Sales12Tok); + end; + + procedure Sales13Name(): Text[100] + begin + exit(Sales13Tok); + end; + + procedure Sales14Name(): Text[100] + begin + exit(Sales14Tok); + end; + + procedure Sales15Name(): Text[100] + begin + exit(Sales15Tok); + end; + + procedure Sales16Name(): Text[100] + begin + exit(Sales16Tok); + end; + + procedure Sales17Name(): Text[100] + begin + exit(Sales17Tok); + end; + + procedure Sales18Name(): Text[100] + begin + exit(Sales18Tok); + end; + + procedure Sales19Name(): Text[100] + begin + exit(Sales19Tok); + end; + + procedure Discounts1Name(): Text[100] + begin + exit(Discounts1Tok); + end; + + procedure Discounts2Name(): Text[100] + begin + exit(Discounts2Tok); + end; + + procedure Discounts3Name(): Text[100] + begin + exit(Discounts3Tok); + end; + + procedure ExchangeratedifferencesName(): Text[100] + begin + exit(ExchangeratedifferencesTok); + end; + + procedure Exchangerategains7Name(): Text[100] + begin + exit(Exchangerategains7Tok); + end; + + procedure ExchangeratelossesName(): Text[100] + begin + exit(ExchangeratelossesTok); + end; + + procedure PaymenttoleranceName(): Text[100] + begin + exit(PaymenttoleranceTok); + end; + + procedure PaymenttolerancededucName(): Text[100] + begin + exit(PaymenttolerancededucTok); + end; + + procedure VATcorrectionsName(): Text[100] + begin + exit(VATcorrectionsTok); + end; + + procedure ShippingExpences1Name(): Text[100] + begin + exit(ShippingExpences1Tok); + end; + + procedure ShippingExpences2Name(): Text[100] + begin + exit(ShippingExpences2Tok); + end; + + procedure OthersalesdeductionsName(): Text[100] + begin + exit(OthersalesdeductionsTok); + end; + + procedure CreditcardprovisionsName(): Text[100] + begin + exit(CreditcardprovisionsTok); + end; + + procedure NETTURNOVERTOTALName(): Text[100] + begin + exit(NETTURNOVERTOTALTok); + end; + + procedure Variationinstocks1Name(): Text[100] + begin + exit(Variationinstocks1Tok); + end; + + procedure Variationinstocks2Name(): Text[100] + begin + exit(Variationinstocks2Tok); + end; + + procedure Variationinstocks3Name(): Text[100] + begin + exit(Variationinstocks3Tok); + end; + + procedure VariationinstockstotalName(): Text[100] + begin + exit(VariationinstockstotalTok); + end; + + procedure Manafacturedforownuse1Name(): Text[100] + begin + exit(Manafacturedforownuse1Tok); + end; + + procedure Manafacturedforownuse2Name(): Text[100] + begin + exit(Manafacturedforownuse2Tok); + end; + + procedure Manafacturedforownuse3Name(): Text[100] + begin + exit(Manafacturedforownuse3Tok); + end; + + procedure ManafacturedforownusetotalName(): Text[100] + begin + exit(ManafacturedforownusetotalTok); + end; + + procedure Otheroperatingincome1Name(): Text[100] + begin + exit(Otheroperatingincome1Tok); + end; + + procedure Otheroperatingincome2Name(): Text[100] + begin + exit(Otheroperatingincome2Tok); + end; + + procedure Otheroperatingincome3Name(): Text[100] + begin + exit(Otheroperatingincome3Tok); + end; + + procedure RentsName(): Text[100] + begin + exit(RentsTok); + end; + + procedure InsurancesName(): Text[100] + begin + exit(InsurancesTok); + end; + + procedure GroupservicesName(): Text[100] + begin + exit(GroupservicesTok); + end; + + procedure OthergroupservicesName(): Text[100] + begin + exit(OthergroupservicesTok); + end; + + procedure OperatingincometotalName(): Text[100] + begin + exit(OperatingincometotalTok); + end; + + procedure RawmaterialsandservicesName(): Text[100] + begin + exit(RawmaterialsandservicesTok); + end; + + procedure RawmaterialsandconsumablesName(): Text[100] + begin + exit(RawmaterialsandconsumablesTok); + end; + + procedure PurchasesofrawmaterialsdomName(): Text[100] + begin + exit(PurchasesofrawmaterialsdomTok); + end; + + procedure PurchasesofgoodsdomName(): Text[100] + begin + exit(PurchasesofgoodsdomTok); + end; + + procedure PurchasesofservicesdomName(): Text[100] + begin + exit(PurchasesofservicesdomTok); + end; + + procedure PurchasesofrawmaterialsforName(): Text[100] + begin + exit(PurchasesofrawmaterialsforTok); + end; + + procedure PurchasesofgoodsforName(): Text[100] + begin + exit(PurchasesofgoodsforTok); + end; + + procedure PurchasesofservicesforName(): Text[100] + begin + exit(PurchasesofservicesforTok); + end; + + procedure PurchasesofrawmaterialsEUName(): Text[100] + begin + exit(PurchasesofrawmaterialsEUTok); + end; + + procedure PurchasesofgoodsEUName(): Text[100] + begin + exit(PurchasesofgoodsEUTok); + end; + + procedure PurchasesofservicesEUName(): Text[100] + begin + exit(PurchasesofservicesEUTok); + end; + + procedure Purchases1Name(): Text[100] + begin + exit(Purchases1Tok); + end; + + procedure Purchases2Name(): Text[100] + begin + exit(Purchases2Tok); + end; + + procedure Purchases3Name(): Text[100] + begin + exit(Purchases3Tok); + end; + + procedure Purchases4Name(): Text[100] + begin + exit(Purchases4Tok); + end; + + procedure Purchases5Name(): Text[100] + begin + exit(Purchases5Tok); + end; + + procedure Purchases6Name(): Text[100] + begin + exit(Purchases6Tok); + end; + + procedure Purchases7Name(): Text[100] + begin + exit(Purchases7Tok); + end; + + procedure Purchases8Name(): Text[100] + begin + exit(Purchases8Tok); + end; + + procedure Purchases9Name(): Text[100] + begin + exit(Purchases9Tok); + end; + + procedure Discounts4Name(): Text[100] + begin + exit(Discounts4Tok); + end; + + procedure Discounts5Name(): Text[100] + begin + exit(Discounts5Tok); + end; + + procedure Discounts6Name(): Text[100] + begin + exit(Discounts6Tok); + end; + + procedure Invoicerounding2Name(): Text[100] + begin + exit(Invoicerounding2Tok); + end; + + procedure Exchangeratedifferences2Name(): Text[100] + begin + exit(Exchangeratedifferences2Tok); + end; + + procedure Exchangerategains6Name(): Text[100] + begin + exit(Exchangerategains6Tok); + end; + + procedure Paymenttolerance2Name(): Text[100] + begin + exit(Paymenttolerance2Tok); + end; + + procedure Paymenttolerancededuc2Name(): Text[100] + begin + exit(Paymenttolerancededuc2Tok); + end; + + procedure VATcorrections2Name(): Text[100] + begin + exit(VATcorrections2Tok); + end; + + procedure ShippingName(): Text[100] + begin + exit(ShippingTok); + end; + + procedure InsuranceName(): Text[100] + begin + exit(InsuranceTok); + end; + + procedure Variationinstocks9Name(): Text[100] + begin + exit(Variationinstocks9Tok); + end; + + procedure Variationinstocks10Name(): Text[100] + begin + exit(Variationinstocks10Tok); + end; + + procedure Variationinstocks11Name(): Text[100] + begin + exit(Variationinstocks11Tok); + end; + + procedure Variationinstocks4Name(): Text[100] + begin + exit(Variationinstocks4Tok); + end; + + procedure Variationinstocks5Name(): Text[100] + begin + exit(Variationinstocks5Tok); + end; + + procedure Variationinstocks6Name(): Text[100] + begin + exit(Variationinstocks6Tok); + end; + + procedure Variationinstocks7Name(): Text[100] + begin + exit(Variationinstocks7Tok); + end; + + procedure RawmaterialndcoumablestotalName(): Text[100] + begin + exit(RawmaterialndcoumablestotalTok); + end; + + procedure Externalservices1Name(): Text[100] + begin + exit(Externalservices1Tok); + end; + + procedure Externalservices2Name(): Text[100] + begin + exit(Externalservices2Tok); + end; + + procedure Externalservices3Name(): Text[100] + begin + exit(Externalservices3Tok); + end; + + procedure ShippingservicesName(): Text[100] + begin + exit(ShippingservicesTok); + end; + + procedure RawmaterialsandservicestotalName(): Text[100] + begin + exit(RawmaterialsandservicestotalTok); + end; + + procedure StaffexpencesName(): Text[100] + begin + exit(StaffexpencesTok); + end; + + procedure Wagesandsalaries1Name(): Text[100] + begin + exit(Wagesandsalaries1Tok); + end; + + procedure Wagesandsalaries2Name(): Text[100] + begin + exit(Wagesandsalaries2Tok); + end; + + procedure Wagesandsalaries3Name(): Text[100] + begin + exit(Wagesandsalaries3Tok); + end; + + procedure Socialsecurityexpenses1Name(): Text[100] + begin + exit(Socialsecurityexpenses1Tok); + end; + + procedure Socialsecurityexpenses2Name(): Text[100] + begin + exit(Socialsecurityexpenses2Tok); + end; + + procedure Socialsecurityexpenses3Name(): Text[100] + begin + exit(Socialsecurityexpenses3Tok); + end; + + procedure Socialsecurityexpenses4Name(): Text[100] + begin + exit(Socialsecurityexpenses4Tok); + end; + + procedure Pensionexpenses1Name(): Text[100] + begin + exit(Pensionexpenses1Tok); + end; + + procedure Othersocialsecurityexpenses1Name(): Text[100] + begin + exit(Othersocialsecurityexpenses1Tok); + end; + + procedure Othersocialsecurityexpenses2Name(): Text[100] + begin + exit(Othersocialsecurityexpenses2Tok); + end; + + procedure Othersocialsecurityexpenses3Name(): Text[100] + begin + exit(Othersocialsecurityexpenses3Tok); + end; + + procedure Otherstaffexpenses1Name(): Text[100] + begin + exit(Otherstaffexpenses1Tok); + end; + + procedure Otherstaffexpenses2Name(): Text[100] + begin + exit(Otherstaffexpenses2Tok); + end; + + procedure Otherstaffexpenses3Name(): Text[100] + begin + exit(Otherstaffexpenses3Tok); + end; + + procedure Otherstaffexpenses4Name(): Text[100] + begin + exit(Otherstaffexpenses4Tok); + end; + + procedure Otherstaffexpenses5Name(): Text[100] + begin + exit(Otherstaffexpenses5Tok); + end; + + procedure Otherstaffexpenses6Name(): Text[100] + begin + exit(Otherstaffexpenses6Tok); + end; + + procedure Otherstaffexpenses7Name(): Text[100] + begin + exit(Otherstaffexpenses7Tok); + end; + + procedure Otherstaffexpenses8Name(): Text[100] + begin + exit(Otherstaffexpenses8Tok); + end; + + procedure Otherstaffexpenses9Name(): Text[100] + begin + exit(Otherstaffexpenses9Tok); + end; + + procedure Otherstaffexpenses10Name(): Text[100] + begin + exit(Otherstaffexpenses10Tok); + end; + + procedure Otherstaffexpenses11Name(): Text[100] + begin + exit(Otherstaffexpenses11Tok); + end; + + procedure Otherstaffexpenses12Name(): Text[100] + begin + exit(Otherstaffexpenses12Tok); + end; + + procedure Otherstaffexpenses13Name(): Text[100] + begin + exit(Otherstaffexpenses13Tok); + end; + + procedure Wagesandsalaries4Name(): Text[100] + begin + exit(Wagesandsalaries4Tok); + end; + + procedure Wagesandsalaries5Name(): Text[100] + begin + exit(Wagesandsalaries5Tok); + end; + + procedure Wagesandsalaries6Name(): Text[100] + begin + exit(Wagesandsalaries6Tok); + end; + + procedure Wagesandsalaries7Name(): Text[100] + begin + exit(Wagesandsalaries7Tok); + end; + + procedure Wagesandsalaries8Name(): Text[100] + begin + exit(Wagesandsalaries8Tok); + end; + + procedure Wagesandsalaries9Name(): Text[100] + begin + exit(Wagesandsalaries9Tok); + end; + + procedure Wagesandsalaries10Name(): Text[100] + begin + exit(Wagesandsalaries10Tok); + end; + + procedure Wagesandsalaries11Name(): Text[100] + begin + exit(Wagesandsalaries11Tok); + end; + + procedure Wagesandsalaries12Name(): Text[100] + begin + exit(Wagesandsalaries12Tok); + end; + + procedure Wagesandsalaries13Name(): Text[100] + begin + exit(Wagesandsalaries13Tok); + end; + + procedure Wagesandsalaries14Name(): Text[100] + begin + exit(Wagesandsalaries14Tok); + end; + + procedure Wagesandsalaries15Name(): Text[100] + begin + exit(Wagesandsalaries15Tok); + end; + + procedure Wagesandsalaries16Name(): Text[100] + begin + exit(Wagesandsalaries16Tok); + end; + + procedure Socialsecurityexpenses5Name(): Text[100] + begin + exit(Socialsecurityexpenses5Tok); + end; + + procedure Socialsecurityexpenses6Name(): Text[100] + begin + exit(Socialsecurityexpenses6Tok); + end; + + procedure Pensionexpenses2Name(): Text[100] + begin + exit(Pensionexpenses2Tok); + end; + + procedure Pensionexpenses3Name(): Text[100] + begin + exit(Pensionexpenses3Tok); + end; + + procedure Othersocialsecurityexpenses4Name(): Text[100] + begin + exit(Othersocialsecurityexpenses4Tok); + end; + + procedure Othersocialsecurityexpenses5Name(): Text[100] + begin + exit(Othersocialsecurityexpenses5Tok); + end; + + procedure Othersocialsecurityexpenses6Name(): Text[100] + begin + exit(Othersocialsecurityexpenses6Tok); + end; + + procedure Pensionexpenses4Name(): Text[100] + begin + exit(Pensionexpenses4Tok); + end; + + procedure Othersocialsecurityexpenses7Name(): Text[100] + begin + exit(Othersocialsecurityexpenses7Tok); + end; + + procedure Otherstaffexpenses14Name(): Text[100] + begin + exit(Otherstaffexpenses14Tok); + end; + + procedure Otherstaffexpenses15Name(): Text[100] + begin + exit(Otherstaffexpenses15Tok); + end; + + procedure Otherstaffexpenses16Name(): Text[100] + begin + exit(Otherstaffexpenses16Tok); + end; + + procedure Otherstaffexpenses17Name(): Text[100] + begin + exit(Otherstaffexpenses17Tok); + end; + + procedure Otherstaffexpenses18Name(): Text[100] + begin + exit(Otherstaffexpenses18Tok); + end; + + procedure Otherstaffexpenses19Name(): Text[100] + begin + exit(Otherstaffexpenses19Tok); + end; + + procedure Otherstaffexpenses20Name(): Text[100] + begin + exit(Otherstaffexpenses20Tok); + end; + + procedure StaffexpencestotalName(): Text[100] + begin + exit(StaffexpencestotalTok); + end; + + procedure OtheroperatingchargesName(): Text[100] + begin + exit(OtheroperatingchargesTok); + end; + + procedure Rents2Name(): Text[100] + begin + exit(Rents2Tok); + end; + + procedure Rents3Name(): Text[100] + begin + exit(Rents3Tok); + end; + + procedure Rents4Name(): Text[100] + begin + exit(Rents4Tok); + end; + + procedure Rents5Name(): Text[100] + begin + exit(Rents5Tok); + end; + + procedure Rents6Name(): Text[100] + begin + exit(Rents6Tok); + end; + + procedure Rents7Name(): Text[100] + begin + exit(Rents7Tok); + end; + + procedure Otherstaffexpenses21Name(): Text[100] + begin + exit(Otherstaffexpenses21Tok); + end; + + procedure Otherstaffexpenses22Name(): Text[100] + begin + exit(Otherstaffexpenses22Tok); + end; + + procedure Otherstaffexpenses23Name(): Text[100] + begin + exit(Otherstaffexpenses23Tok); + end; + + procedure Otherstaffexpenses24Name(): Text[100] + begin + exit(Otherstaffexpenses24Tok); + end; + + procedure Otherstaffexpenses25Name(): Text[100] + begin + exit(Otherstaffexpenses25Tok); + end; + + procedure Otherstaffexpenses26Name(): Text[100] + begin + exit(Otherstaffexpenses26Tok); + end; + + procedure Otherstaffexpenses27Name(): Text[100] + begin + exit(Otherstaffexpenses27Tok); + end; + + procedure Otherstaffexpenses28Name(): Text[100] + begin + exit(Otherstaffexpenses28Tok); + end; + + procedure Salesmarketingexp1Name(): Text[100] + begin + exit(Salesmarketingexp1Tok); + end; + + procedure Salesmarketingexp2Name(): Text[100] + begin + exit(Salesmarketingexp2Tok); + end; + + procedure Salesmarketingexp3Name(): Text[100] + begin + exit(Salesmarketingexp3Tok); + end; + + procedure Salesmarketingexp4Name(): Text[100] + begin + exit(Salesmarketingexp4Tok); + end; + + procedure Salesmarketingexp5Name(): Text[100] + begin + exit(Salesmarketingexp5Tok); + end; + + procedure Salesmarketingexp6Name(): Text[100] + begin + exit(Salesmarketingexp6Tok); + end; + + procedure Salesmarketingexp7Name(): Text[100] + begin + exit(Salesmarketingexp7Tok); + end; + + procedure Salesmarketingexp8Name(): Text[100] + begin + exit(Salesmarketingexp8Tok); + end; + + procedure Salesmarketingexp9Name(): Text[100] + begin + exit(Salesmarketingexp9Tok); + end; + + procedure Salesmarketingexp10Name(): Text[100] + begin + exit(Salesmarketingexp10Tok); + end; + + procedure Salesmarketingexp11Name(): Text[100] + begin + exit(Salesmarketingexp11Tok); + end; + + procedure Salesmarketingexp12Name(): Text[100] + begin + exit(Salesmarketingexp12Tok); + end; + + procedure Salesmarketingexp13Name(): Text[100] + begin + exit(Salesmarketingexp13Tok); + end; + + procedure Salesmarketingexp14Name(): Text[100] + begin + exit(Salesmarketingexp14Tok); + end; + + procedure FuelName(): Text[100] + begin + exit(FuelTok); + end; + + procedure Maintenance1Name(): Text[100] + begin + exit(Maintenance1Tok); + end; + + procedure Maintenance2Name(): Text[100] + begin + exit(Maintenance2Tok); + end; + + procedure Maintenance3Name(): Text[100] + begin + exit(Maintenance3Tok); + end; + + procedure Maintenance4Name(): Text[100] + begin + exit(Maintenance4Tok); + end; + + procedure FurnitureName(): Text[100] + begin + exit(FurnitureTok); + end; + + procedure OtherequipmentName(): Text[100] + begin + exit(OtherequipmentTok); + end; + + procedure SuppliesName(): Text[100] + begin + exit(SuppliesTok); + end; + + procedure OthermaintenanceservicesName(): Text[100] + begin + exit(OthermaintenanceservicesTok); + end; + + procedure WaterName(): Text[100] + begin + exit(WaterTok); + end; + + procedure GasandelectricityName(): Text[100] + begin + exit(GasandelectricityTok); + end; + + procedure RealestateexpencesName(): Text[100] + begin + exit(RealestateexpencesTok); + end; + + procedure OutsourcedservicesName(): Text[100] + begin + exit(OutsourcedservicesTok); + end; + + procedure WasteName(): Text[100] + begin + exit(WasteTok); + end; + + procedure ElectricityName(): Text[100] + begin + exit(ElectricityTok); + end; + + procedure Insurances2Name(): Text[100] + begin + exit(Insurances2Tok); + end; + + procedure RealestatetaxName(): Text[100] + begin + exit(RealestatetaxTok); + end; + + procedure Maintenance5Name(): Text[100] + begin + exit(Maintenance5Tok); + end; + + procedure Vehicles1Name(): Text[100] + begin + exit(Vehicles1Tok); + end; + + procedure Vehicles2Name(): Text[100] + begin + exit(Vehicles2Tok); + end; + + procedure Vehicles3Name(): Text[100] + begin + exit(Vehicles3Tok); + end; + + procedure Vehicles4Name(): Text[100] + begin + exit(Vehicles4Tok); + end; + + procedure Vehicles5Name(): Text[100] + begin + exit(Vehicles5Tok); + end; + + procedure Vehicles6Name(): Text[100] + begin + exit(Vehicles6Tok); + end; + + procedure Vehicles7Name(): Text[100] + begin + exit(Vehicles7Tok); + end; + + procedure Vehicles8Name(): Text[100] + begin + exit(Vehicles8Tok); + end; + + procedure Vehicles9Name(): Text[100] + begin + exit(Vehicles9Tok); + end; + + procedure Vehicles10Name(): Text[100] + begin + exit(Vehicles10Tok); + end; + + procedure Otheroperatingexp1Name(): Text[100] + begin + exit(Otheroperatingexp1Tok); + end; + + procedure Otheroperatingexp2Name(): Text[100] + begin + exit(Otheroperatingexp2Tok); + end; + + procedure InformationcostsName(): Text[100] + begin + exit(InformationcostsTok); + end; + + procedure Telecosts1Name(): Text[100] + begin + exit(Telecosts1Tok); + end; + + procedure Telecosts2Name(): Text[100] + begin + exit(Telecosts2Tok); + end; + + procedure Insurance2Name(): Text[100] + begin + exit(Insurance2Tok); + end; + + procedure Insurance3Name(): Text[100] + begin + exit(Insurance3Tok); + end; + + procedure Officesupplies1Name(): Text[100] + begin + exit(Officesupplies1Tok); + end; + + procedure Officesupplies2Name(): Text[100] + begin + exit(Officesupplies2Tok); + end; + + procedure Officesupplies3Name(): Text[100] + begin + exit(Officesupplies3Tok); + end; + + procedure Officesupplies4Name(): Text[100] + begin + exit(Officesupplies4Tok); + end; + + procedure Officesupplies5Name(): Text[100] + begin + exit(Officesupplies5Tok); + end; + + procedure Outsourcedservices2Name(): Text[100] + begin + exit(Outsourcedservices2Tok); + end; + + procedure AccountingName(): Text[100] + begin + exit(AccountingTok); + end; + + procedure ITservicesName(): Text[100] + begin + exit(ITservicesTok); + end; + + procedure AuditingName(): Text[100] + begin + exit(AuditingTok); + end; + + procedure LawservicesName(): Text[100] + begin + exit(LawservicesTok); + end; + + procedure OtherexpencesName(): Text[100] + begin + exit(OtherexpencesTok); + end; + + procedure MembershipsName(): Text[100] + begin + exit(MembershipsTok); + end; + + procedure NotificationsName(): Text[100] + begin + exit(NotificationsTok); + end; + + procedure BankingexpencesName(): Text[100] + begin + exit(BankingexpencesTok); + end; + + procedure MeetingsName(): Text[100] + begin + exit(MeetingsTok); + end; + + procedure Otherexpences2Name(): Text[100] + begin + exit(Otherexpences2Tok); + end; + + procedure Baddept1Name(): Text[100] + begin + exit(Baddept1Tok); + end; + + procedure Baddept2Name(): Text[100] + begin + exit(Baddept2Tok); + end; + + procedure Baddept3Name(): Text[100] + begin + exit(Baddept3Tok); + end; + + procedure OtheroperatingexpensestotalName(): Text[100] + begin + exit(OtheroperatingexpensestotalTok); + end; + + procedure Depreciation1Name(): Text[100] + begin + exit(Depreciation1Tok); + end; + + procedure Depreciation2Name(): Text[100] + begin + exit(Depreciation2Tok); + end; + + procedure Depreciation3Name(): Text[100] + begin + exit(Depreciation3Tok); + end; + + procedure Depreciation4Name(): Text[100] + begin + exit(Depreciation4Tok); + end; + + procedure Depreciation5Name(): Text[100] + begin + exit(Depreciation5Tok); + end; + + procedure Depreciation6Name(): Text[100] + begin + exit(Depreciation6Tok); + end; + + procedure Depreciation7Name(): Text[100] + begin + exit(Depreciation7Tok); + end; + + procedure Reductioninvalue1Name(): Text[100] + begin + exit(Reductioninvalue1Tok); + end; + + procedure Reductioninvalue2Name(): Text[100] + begin + exit(Reductioninvalue2Tok); + end; + + procedure Reductioninvalue3Name(): Text[100] + begin + exit(Reductioninvalue3Tok); + end; + + procedure Reductioninvalue4Name(): Text[100] + begin + exit(Reductioninvalue4Tok); + end; + + procedure Reductioninvalue5Name(): Text[100] + begin + exit(Reductioninvalue5Tok); + end; + + procedure Reductioninvalue6Name(): Text[100] + begin + exit(Reductioninvalue6Tok); + end; + + procedure Reductioninvalue7Name(): Text[100] + begin + exit(Reductioninvalue7Tok); + end; + + procedure Reductioninvalue8Name(): Text[100] + begin + exit(Reductioninvalue8Tok); + end; + + procedure Reductioninvalue9Name(): Text[100] + begin + exit(Reductioninvalue9Tok); + end; + + procedure Reductioninvalue10Name(): Text[100] + begin + exit(Reductioninvalue10Tok); + end; + + procedure Reductioninvalue11Name(): Text[100] + begin + exit(Reductioninvalue11Tok); + end; + + procedure Reductioninvalue12Name(): Text[100] + begin + exit(Reductioninvalue12Tok); + end; + + procedure Reductioninvalue13Name(): Text[100] + begin + exit(Reductioninvalue13Tok); + end; + + procedure Reductioninvalue14Name(): Text[100] + begin + exit(Reductioninvalue14Tok); + end; + + procedure Reductioninvalue15Name(): Text[100] + begin + exit(Reductioninvalue15Tok); + end; + + procedure Reductioninvalue16Name(): Text[100] + begin + exit(Reductioninvalue16Tok); + end; + + procedure Reductioninvalue17Name(): Text[100] + begin + exit(Reductioninvalue17Tok); + end; + + procedure Reductioninvalue18Name(): Text[100] + begin + exit(Reductioninvalue18Tok); + end; + + procedure Reductioninvalue19Name(): Text[100] + begin + exit(Reductioninvalue19Tok); + end; + + procedure DepreciationeductionsinvalueName(): Text[100] + begin + exit(DepreciationeductionsinvalueTok); + end; + + procedure OPERATINGPROFITLOSSName(): Text[100] + begin + exit(OPERATINGPROFITLOSSTok); + end; + + procedure FinancialincomeandexpensesName(): Text[100] + begin + exit(FinancialincomeandexpensesTok); + end; + + procedure ShareofprofitlossName(): Text[100] + begin + exit(ShareofprofitlossTok); + end; + + procedure ShareofprofitlsofgdertakingsName(): Text[100] + begin + exit(ShareofprofitlsofgdertakingsTok); + end; + + procedure ShareofprofitssofassompaniesName(): Text[100] + begin + exit(ShareofprofitssofassompaniesTok); + end; + + procedure IncomefromgroupundertakingsName(): Text[100] + begin + exit(IncomefromgroupundertakingsTok); + end; + + procedure IncomefrompaipatinginterestsName(): Text[100] + begin + exit(IncomefrompaipatinginterestsTok); + end; + + procedure Otherintereaninancialincome1Name(): Text[100] + begin + exit(Otherintereaninancialincome1Tok); + end; + + procedure Otherintereaninancialincome2Name(): Text[100] + begin + exit(Otherintereaninancialincome2Tok); + end; + + procedure ReductioninvalueofirentassetsName(): Text[100] + begin + exit(ReductioninvalueofirentassetsTok); + end; + + procedure ReductioninvalueofinvesassetsName(): Text[100] + begin + exit(ReductioninvalueofinvesassetsTok); + end; + + procedure InterestandothinancialincomeName(): Text[100] + begin + exit(InterestandothinancialincomeTok); + end; + + procedure FinancialincomeName(): Text[100] + begin + exit(FinancialincomeTok); + end; + + procedure OtherfinancialincomeName(): Text[100] + begin + exit(OtherfinancialincomeTok); + end; + + procedure Exchangerategains1Name(): Text[100] + begin + exit(Exchangerategains1Tok); + end; + + procedure Exchangerategains2Name(): Text[100] + begin + exit(Exchangerategains2Tok); + end; + + procedure Exchangerategains3Name(): Text[100] + begin + exit(Exchangerategains3Tok); + end; + + procedure Otherfinancialincome2Name(): Text[100] + begin + exit(Otherfinancialincome2Tok); + end; + + procedure Exchangerategains5Name(): Text[100] + begin + exit(Exchangerategains5Tok); + end; + + procedure FinancialincometotalName(): Text[100] + begin + exit(FinancialincometotalTok); + end; + + procedure Financialexpenses1Name(): Text[100] + begin + exit(Financialexpenses1Tok); + end; + + procedure Financialexpenses2Name(): Text[100] + begin + exit(Financialexpenses2Tok); + end; + + procedure Financialexpenses3Name(): Text[100] + begin + exit(Financialexpenses3Tok); + end; + + procedure Financialexpenses4Name(): Text[100] + begin + exit(Financialexpenses4Tok); + end; + + procedure Financialexpenses5Name(): Text[100] + begin + exit(Financialexpenses5Tok); + end; + + procedure Financialexpenses6Name(): Text[100] + begin + exit(Financialexpenses6Tok); + end; + + procedure Financialexpenses7Name(): Text[100] + begin + exit(Financialexpenses7Tok); + end; + + procedure Financialexpenses8Name(): Text[100] + begin + exit(Financialexpenses8Tok); + end; + + procedure Financialexpenses9Name(): Text[100] + begin + exit(Financialexpenses9Tok); + end; + + procedure Financialexpenses10Name(): Text[100] + begin + exit(Financialexpenses10Tok); + end; + + procedure Financialexpenses11Name(): Text[100] + begin + exit(Financialexpenses11Tok); + end; + + procedure Financialexpenses12Name(): Text[100] + begin + exit(Financialexpenses12Tok); + end; + + procedure Financialexpenses13Name(): Text[100] + begin + exit(Financialexpenses13Tok); + end; + + procedure Financialexpenses14Name(): Text[100] + begin + exit(Financialexpenses14Tok); + end; + + procedure PROFITLOSSBEFOEXDINARYITEMSName(): Text[100] + begin + exit(PROFITLOSSBEFOEXDINARYITEMSTok); + end; + + procedure ExtraordinaryitemsName(): Text[100] + begin + exit(ExtraordinaryitemsTok); + end; + + procedure OtherextraordinaryincomeName(): Text[100] + begin + exit(OtherextraordinaryincomeTok); + end; + + procedure VATadjustmentsName(): Text[100] + begin + exit(VATadjustmentsTok); + end; + + procedure TAXadjusmentsName(): Text[100] + begin + exit(TAXadjusmentsTok); + end; + + procedure OtherextraordinaryexpenseName(): Text[100] + begin + exit(OtherextraordinaryexpenseTok); + end; + + procedure Otherextraordinaryexpense2Name(): Text[100] + begin + exit(Otherextraordinaryexpense2Tok); + end; + + procedure ExtraordinaryitemstotalName(): Text[100] + begin + exit(ExtraordinaryitemstotalTok); + end; + + procedure PROFITLOSSBEFEAPPROSANDTAXESName(): Text[100] + begin + exit(PROFITLOSSBEFEAPPROSANDTAXESTok); + end; + + procedure Appropriations1Name(): Text[100] + begin + exit(Appropriations1Tok); + end; + + procedure Changeindepreciationreserve1Name(): Text[100] + begin + exit(Changeindepreciationreserve1Tok); + end; + + procedure Changeindepreciationreserve2Name(): Text[100] + begin + exit(Changeindepreciationreserve2Tok); + end; + + procedure Changeindepreciationreserve3Name(): Text[100] + begin + exit(Changeindepreciationreserve3Tok); + end; + + procedure Changeindepreciationreserve4Name(): Text[100] + begin + exit(Changeindepreciationreserve4Tok); + end; + + procedure Changeindepreciationreserve5Name(): Text[100] + begin + exit(Changeindepreciationreserve5Tok); + end; + + procedure Changeinuntaxedreserves1Name(): Text[100] + begin + exit(Changeinuntaxedreserves1Tok); + end; + + procedure Changeinuntaxedreserves2Name(): Text[100] + begin + exit(Changeinuntaxedreserves2Tok); + end; + + procedure Changeinuntaxedreserves3Name(): Text[100] + begin + exit(Changeinuntaxedreserves3Tok); + end; + + procedure Appropriationstotal1Name(): Text[100] + begin + exit(Appropriationstotal1Tok); + end; + + procedure IncometaxesName(): Text[100] + begin + exit(IncometaxesTok); + end; + + procedure Taxesoncialyeandyearsbefore1Name(): Text[100] + begin + exit(Taxesoncialyeandyearsbefore1Tok); + end; + + procedure Taxesoncialyeandyearsbefore2Name(): Text[100] + begin + exit(Taxesoncialyeandyearsbefore2Tok); + end; + + procedure Taxesoncialyeandyearsbefore3Name(): Text[100] + begin + exit(Taxesoncialyeandyearsbefore3Tok); + end; + + procedure Taxesoncialyeandyearsbefore4Name(): Text[100] + begin + exit(Taxesoncialyeandyearsbefore4Tok); + end; + + procedure Incometaxes2Name(): Text[100] + begin + exit(Incometaxes2Tok); + end; + + procedure PROFITLOSSFORTHEFINANCIALYEARName(): Text[100] + begin + exit(PROFITLOSSFORTHEFINANCIALYEARTok); + end; + + procedure IntangibleassetsName(): Text[100] + begin + exit(IntangibleassetsTok); + end; + + procedure Assets(): Text[80] + begin + exit(AsstesTok); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + IntangibleassetsTok: Label 'Intangibleassets', MaxLength = 100; + FoundingcostsTok: Label 'Foundingcosts', MaxLength = 100; + DecreasesduringtheYear1Tok: Label 'DecreasesduringtheYear1', MaxLength = 100; + ResearchTok: Label 'Research', MaxLength = 100; + DecreasesduringtheYear2Tok: Label 'DecreasesduringtheYear2', MaxLength = 100; + DevelopmentTok: Label 'Development', MaxLength = 100; + DecreasesduringtheYear3Tok: Label 'DecreasesduringtheYear3', MaxLength = 100; + IntangiblerightsTok: Label 'Intangiblerights', MaxLength = 100; + DecreasesduringtheYear4Tok: Label 'DecreasesduringtheYear4', MaxLength = 100; + GoodwillTok: Label 'Goodwill', MaxLength = 100; + DecreasesduringtheYear5Tok: Label 'DecreasesduringtheYear5', MaxLength = 100; + Goodwill2Tok: Label 'Goodwill2', MaxLength = 100; + OthercapitalisedexpenditureTok: Label 'Othercapitalisedexpenditure', MaxLength = 100; + DecreasesduringtheYear6Tok: Label 'DecreasesduringtheYear6', MaxLength = 100; + AdvancepaymentsTok: Label 'Advancepayments', MaxLength = 100; + IntangibleassetstotalTok: Label 'Intangibleassetstotal', MaxLength = 100; + TangibleassetsTok: Label 'Tangibleassets', MaxLength = 100; + Othertangibleassets1Tok: Label 'Othertangibleassets1', MaxLength = 100; + MachineryandequipmentTok: Label 'Machineryandequipment', MaxLength = 100; + DecreasesduringtheYear7Tok: Label 'DecreasesduringtheYear7', MaxLength = 100; + Othertangibleassets17Tok: Label 'Othertangibleassets17', MaxLength = 100; + DecreasesduringtheYear8Tok: Label 'DecreasesduringtheYear8', MaxLength = 100; + Othertangibleassets18Tok: Label 'Othertangibleassets18', MaxLength = 100; + DecreasesduringtheYear9Tok: Label 'DecreasesduringtheYear9', MaxLength = 100; + Othertangibleassets19Tok: Label 'Othertangibleassets19', MaxLength = 100; + DecreasesduringtheYear10Tok: Label 'DecreasesduringtheYear10', MaxLength = 100; + Machineryandequipment2Tok: Label 'Machineryandequipment2', MaxLength = 100; + DecreasesduringtheYear11Tok: Label 'DecreasesduringtheYear11', MaxLength = 100; + Othertangibleassets20Tok: Label 'Othertangibleassets20', MaxLength = 100; + DecreasesduringtheYear12Tok: Label 'DecreasesduringtheYear12', MaxLength = 100; + Othertangibleassets2Tok: Label 'Othertangibleassets2', MaxLength = 100; + Othertangibleassets3Tok: Label 'Othertangibleassets3', MaxLength = 100; + Othertangibleassets4Tok: Label 'Othertangibleassets4', MaxLength = 100; + Othertangibleassets5Tok: Label 'Othertangibleassets5', MaxLength = 100; + Othertangibleassets6Tok: Label 'Othertangibleassets6', MaxLength = 100; + Othertangibleassets7Tok: Label 'Othertangibleassets7', MaxLength = 100; + Othertangibleassets8Tok: Label 'Othertangibleassets8', MaxLength = 100; + Othertangibleassets9Tok: Label 'Othertangibleassets9', MaxLength = 100; + Othertangibleassets10Tok: Label 'Othertangibleassets10', MaxLength = 100; + Othertangibleassets11Tok: Label 'Othertangibleassets11', MaxLength = 100; + DecreasesduringtheYear13Tok: Label 'DecreasesduringtheYear13', MaxLength = 100; + Othertangibleassets12Tok: Label 'Othertangibleassets12', MaxLength = 100; + Othertangibleassets13Tok: Label 'Othertangibleassets13', MaxLength = 100; + Othertangibleassets14Tok: Label 'Othertangibleassets14', MaxLength = 100; + Othertangibleassets15Tok: Label 'Othertangibleassets15', MaxLength = 100; + Othertangibleassets16Tok: Label 'Othertangibleassets16', MaxLength = 100; + DecreasesduringtheYear14Tok: Label 'DecreasesduringtheYear14', MaxLength = 100; + TangibleassetstotalTok: Label 'Tangibleassetstotal', MaxLength = 100; + InvestmentsTok: Label 'Investments', MaxLength = 100; + SharesandholdingsTok: Label 'Sharesandholdings', MaxLength = 100; + SharesinGroupcompaniesTok: Label 'SharesinGroupcompanies', MaxLength = 100; + SharesinassociatedcompaniesTok: Label 'Sharesinassociatedcompanies', MaxLength = 100; + OthersharesandholdingsTok: Label 'Othersharesandholdings', MaxLength = 100; + Othersharesandholdings2Tok: Label 'Othersharesandholdings2', MaxLength = 100; + Ownshares1Tok: Label 'Ownshares1', MaxLength = 100; + Ownshares2Tok: Label 'Ownshares2', MaxLength = 100; + OtherinvestmentsTok: Label 'Otherinvestments', MaxLength = 100; + InvestmentstotalTok: Label 'Investmentstotal', MaxLength = 100; + FixedAssetstotalTok: Label 'FixedAssetstotal', MaxLength = 100; + Itemsandsupplies1Tok: Label 'Itemsandsupplies1', MaxLength = 100; + Itemsandsupplies2Tok: Label 'Itemsandsupplies2', MaxLength = 100; + Itemsandsupplies3Tok: Label 'Itemsandsupplies3', MaxLength = 100; + Itemsandsupplies4Tok: Label 'Itemsandsupplies4', MaxLength = 100; + Itemsandsupplies5Tok: Label 'Itemsandsupplies5', MaxLength = 100; + Itemsandsupplies6Tok: Label 'Itemsandsupplies6', MaxLength = 100; + FinishedGoods1Tok: Label 'FinishedGoods1', MaxLength = 100; + FinishedGoods2Tok: Label 'FinishedGoods2', MaxLength = 100; + WIPAccountTok: Label 'WIPAccount', MaxLength = 100; + WIPAccount2Tok: Label 'WIPAccount2', MaxLength = 100; + WIPAccruedCostTok: Label 'WIP Accrued Cost ', MaxLength = 100; + WIPAccruedSalesTok: Label 'WIP Accrued Sales', MaxLength = 100; + WIPInvoicedSalesTok: Label 'WIP Invoiced Sales', MaxLength = 100; + OtherinventoriesTok: Label 'Otherinventories', MaxLength = 100; + Advancepayments2Tok: Label 'Advancepayments2', MaxLength = 100; + InventorytotalTok: Label 'Inventorytotal', MaxLength = 100; + AccountsReceivable10Tok: Label 'AccountsReceivable10', MaxLength = 100; + Salesreceivables1Tok: Label 'Salesreceivables1', MaxLength = 100; + Salesreceivables2Tok: Label 'Salesreceivables2', MaxLength = 100; + ReceivablesofGroupcompaniesTok: Label 'ReceivablesofGroupcompanies', MaxLength = 100; + ReceivablessociatedcompaniesTok: Label 'Receivablessociatedcompanies', MaxLength = 100; + LoanesTok: Label 'Loanes', MaxLength = 100; + Otherreceivables1Tok: Label 'Otherreceivables1', MaxLength = 100; + Salesreceivables3Tok: Label 'Salesreceivables3', MaxLength = 100; + ReceivablesofGroupcompanies2Tok: Label 'ReceivablesofGroupcompanies2', MaxLength = 100; + Receivablesociatedcompanies2Tok: Label 'Receivablesociatedcompanies2', MaxLength = 100; + Loanes2Tok: Label 'Loanes2', MaxLength = 100; + Otherreceivables2Tok: Label 'Otherreceivables2', MaxLength = 100; + SharesnotpaidTok: Label 'Sharesnotpaid', MaxLength = 100; + Sharesnotpaid2Tok: Label 'Sharesnotpaid2', MaxLength = 100; + AccruedincomeTok: Label 'Accruedincome', MaxLength = 100; + Deferredtaxreceivables1Tok: Label 'Deferredtaxreceivables1', MaxLength = 100; + Deferredtaxreceivables2Tok: Label 'Deferredtaxreceivables2', MaxLength = 100; + Deferredtaxreceivables3Tok: Label 'Deferredtaxreceivables3', MaxLength = 100; + Deferredtaxreceivables4Tok: Label 'Deferredtaxreceivables4', MaxLength = 100; + Deferredtaxreceivables5Tok: Label 'Deferredtaxreceivables5', MaxLength = 100; + Deferredtaxreceivables6Tok: Label 'Deferredtaxreceivables6', MaxLength = 100; + Deferredtaxreceivables7Tok: Label 'Deferredtaxreceivables7', MaxLength = 100; + Deferredtaxreceivables8Tok: Label 'Deferredtaxreceivables8', MaxLength = 100; + AllocationsTok: Label 'Allocations', MaxLength = 100; + Otherreceivables3Tok: Label 'Otherreceivables3', MaxLength = 100; + ShorttermReceivablestotalTok: Label 'ShorttermReceivablestotal', MaxLength = 100; + SharesandparticipationsTok: Label 'Sharesandparticipations', MaxLength = 100; + SharesandpartipaupcompaniesTok: Label 'Sharesandpartipaupcompanies', MaxLength = 100; + Ownshares3Tok: Label 'Ownshares3', MaxLength = 100; + SharesandpaicipoupcompaniesTok: Label 'Sharesandpaicipoupcompanies', MaxLength = 100; + OthersharesandparticipationsTok: Label 'Othersharesandparticipations', MaxLength = 100; + OthersecuritiesTok: Label 'Othersecurities', MaxLength = 100; + SecuritiestotalTok: Label 'Securitiestotal', MaxLength = 100; + BankNordeaTok: Label 'BankNordea', MaxLength = 100; + BankSampoTok: Label 'BankSampo', MaxLength = 100; + Bank3Tok: Label 'Bank3', MaxLength = 100; + Bank4Tok: Label 'Bank4', MaxLength = 100; + Bank5Tok: Label 'Bank5', MaxLength = 100; + Bank6Tok: Label 'Bank6', MaxLength = 100; + Bank7Tok: Label 'Bank7', MaxLength = 100; + Liquidassets2Tok: Label 'Liquidassets2', MaxLength = 100; + CurrentAssetstotalTok: Label 'CurrentAssetstotal', MaxLength = 100; + ASSETSTOTALTok: Label 'ASSETSTOTAL', MaxLength = 100; + EQUITYCAPITALTok: Label 'EQUITYCAPITAL', MaxLength = 100; + SharecapitalestrictedequityTok: Label 'Sharecapitalestrictedequity', MaxLength = 100; + SharepremiumaccountTok: Label 'Sharepremiumaccount', MaxLength = 100; + RevaluationreserveTok: Label 'Revaluationreserve', MaxLength = 100; + ReserveforownsharesTok: Label 'Reserveforownshares', MaxLength = 100; + ReservefundTok: Label 'Reservefund', MaxLength = 100; + OtherfundsTok: Label 'Otherfunds', MaxLength = 100; + ProfitLossbroughtforwardTok: Label 'ProfitLossbroughtforward', MaxLength = 100; + ProfitLossfohefinancialyearTok: Label 'ProfitLossfohefinancialyear', MaxLength = 100; + SharecapilerrestrictedequityTok: Label 'Sharecapilerrestrictedequity', MaxLength = 100; + EQUITYCAPITALTOTALTok: Label 'EQUITYCAPITALTOTAL', MaxLength = 100; + APPROPRIATIONSTok: Label 'APPROPRIATIONS', MaxLength = 100; + Depreciationdifference1Tok: Label 'Depreciationdifference1', MaxLength = 100; + Depreciationdifference2Tok: Label 'Depreciationdifference2', MaxLength = 100; + Depreciationdifference3Tok: Label 'Depreciationdifference3', MaxLength = 100; + Voluntaryprovisions1Tok: Label 'Voluntaryprovisions1', MaxLength = 100; + Voluntaryprovisions2Tok: Label 'Voluntaryprovisions2', MaxLength = 100; + Voluntaryprovisions3Tok: Label 'Voluntaryprovisions3', MaxLength = 100; + APPROPRIATIONSTOTALTok: Label 'APPROPRIATIONSTOTAL', MaxLength = 100; + COMPULSORYPROVISIONSTok: Label 'COMPULSORYPROVISIONS', MaxLength = 100; + ProvisionsforpensionsTok: Label 'Provisionsforpensions', MaxLength = 100; + ProvisionsfortaxationTok: Label 'Provisionsfortaxation', MaxLength = 100; + Otherprovisions1Tok: Label 'Otherprovisions1', MaxLength = 100; + Otherprovisions2Tok: Label 'Otherprovisions2', MaxLength = 100; + COMPULSORYPROVISIONSTOTALTok: Label 'COMPULSORYPROVISIONSTOTAL', MaxLength = 100; + CREDITORSTok: Label 'CREDITORS', MaxLength = 100; + DepenturesTok: Label 'Depentures', MaxLength = 100; + ConvertibledepenturesTok: Label 'Convertibledepentures', MaxLength = 100; + Loansfromcreditinstitutions1Tok: Label 'Loansfromcreditinstitutions1', MaxLength = 100; + Loansfromcreditinstitutions2Tok: Label 'Loansfromcreditinstitutions2', MaxLength = 100; + Loansfromcreditinstitutions3Tok: Label 'Loansfromcreditinstitutions3', MaxLength = 100; + Othercreditors1Tok: Label 'Othercreditors1', MaxLength = 100; + PensionloansTok: Label 'Pensionloans', MaxLength = 100; + AdvancesreceivedTok: Label 'Advancesreceived', MaxLength = 100; + Tradecreditors1Tok: Label 'Tradecreditors1', MaxLength = 100; + Amountsowedundertakings1Tok: Label 'Amountsowedundertakings1', MaxLength = 100; + Amountsowtoparticdertakings1Tok: Label 'Amountsowtoparticdertakings1', MaxLength = 100; + Billsofexchangepayable1Tok: Label 'Billsofexchangepayable1', MaxLength = 100; + AccrualsanddeferredincomeTok: Label 'Accrualsanddeferredincome', MaxLength = 100; + Othercreditors2Tok: Label 'Othercreditors2', MaxLength = 100; + Othercreditors3Tok: Label 'Othercreditors3', MaxLength = 100; + Amountsowedtodertakings2Tok: Label 'Amountsowedtodertakings2', MaxLength = 100; + Amountsowedtoparticikings2Tok: Label 'Amountsowedtoparticikings2', MaxLength = 100; + Othercreditors4Tok: Label 'Othercreditors4', MaxLength = 100; + Loansfromcreditinstitutions4Tok: Label 'Loansfromcreditinstitutions4', MaxLength = 100; + Loansfromcreditinstitutions5Tok: Label 'Loansfromcreditinstitutions5', MaxLength = 100; + Pensionloans2Tok: Label 'Pensionloans2', MaxLength = 100; + Advancesreceived2Tok: Label 'Advancesreceived2', MaxLength = 100; + Tradecreditors2Tok: Label 'Tradecreditors2', MaxLength = 100; + Tradecreditors3Tok: Label 'Tradecreditors3', MaxLength = 100; + Amountsedtogrouundertakings3Tok: Label 'Amountsedtogrouundertakings3', MaxLength = 100; + Amountsowtorestundertakings3Tok: Label 'Amountsowtorestundertakings3', MaxLength = 100; + Billsofexchangepayable2Tok: Label 'Billsofexchangepayable2', MaxLength = 100; + Accrualsanddeferredincome9Tok: Label 'Accrualsanddeferredincome9', MaxLength = 100; + Othercreditors5Tok: Label 'Othercreditors5', MaxLength = 100; + Accrualsanddeferredincome1Tok: Label 'Accrualsanddeferredincome1', MaxLength = 100; + Accrualsanddeferredincome2Tok: Label 'Accrualsanddeferredincome2', MaxLength = 100; + Accrualsanddeferredincome3Tok: Label 'Accrualsanddeferredincome3', MaxLength = 100; + Accrualsanddeferredincome4Tok: Label 'Accrualsanddeferredincome4', MaxLength = 100; + Accrualsanddeferredincome5Tok: Label 'Accrualsanddeferredincome5', MaxLength = 100; + Othercreditors6Tok: Label 'Othercreditors6', MaxLength = 100; + Accrualsanddeferredincome6Tok: Label 'Accrualsanddeferredincome6', MaxLength = 100; + Accrualsanddeferredincome7Tok: Label 'Accrualsanddeferredincome7', MaxLength = 100; + Accrualsanddeferredincome8Tok: Label 'Accrualsanddeferredincome8', MaxLength = 100; + Deferredtaxliability1Tok: Label 'Deferredtaxliability1', MaxLength = 100; + Deferredtaxliability2Tok: Label 'Deferredtaxliability2', MaxLength = 100; + Deferredtaxliability3Tok: Label 'Deferredtaxliability3', MaxLength = 100; + Deferredtaxliability4Tok: Label 'Deferredtaxliability4', MaxLength = 100; + Deferredtaxliability5Tok: Label 'Deferredtaxliability5', MaxLength = 100; + Deferredtaxliability6Tok: Label 'Deferredtaxliability6', MaxLength = 100; + Deferredtaxliability7Tok: Label 'Deferredtaxliability7', MaxLength = 100; + Deferredtaxliability8Tok: Label 'Deferredtaxliability8', MaxLength = 100; + Deferredtaxliability9Tok: Label 'Deferredtaxliability9', MaxLength = 100; + Deferredtaxliability10Tok: Label 'Deferredtaxliability10', MaxLength = 100; + Deferredtaxliability11Tok: Label 'Deferredtaxliability11', MaxLength = 100; + Deferredtaxliability12Tok: Label 'Deferredtaxliability12', MaxLength = 100; + Deferredtaxliability13Tok: Label 'Deferredtaxliability13', MaxLength = 100; + Deferredtaxliability14Tok: Label 'Deferredtaxliability14', MaxLength = 100; + Deferredtaxliability15Tok: Label 'Deferredtaxliability15', MaxLength = 100; + Deferredtaxliability16Tok: Label 'Deferredtaxliability16', MaxLength = 100; + Deferredtaxliability17Tok: Label 'Deferredtaxliability17', MaxLength = 100; + Deferredtaxliability18Tok: Label 'Deferredtaxliability18', MaxLength = 100; + Deferredtaxliability19Tok: Label 'Deferredtaxliability19', MaxLength = 100; + Deferredtaxliability20Tok: Label 'Deferredtaxliability20', MaxLength = 100; + Deferredtaxliability21Tok: Label 'Deferredtaxliability21', MaxLength = 100; + CREDITORSTOTALTok: Label 'CREDITORSTOTAL', MaxLength = 100; + LIABILITIESTOTALTok: Label 'LIABILITIESTOTAL', MaxLength = 100; + NETTURNOVERTok: Label 'NETTURNOVER', MaxLength = 100; + SalesofrawmaterialsdomTok: Label 'Salesofrawmaterialsdom', MaxLength = 100; + SalesofgoodsdomTok: Label 'Salesofgoodsdom', MaxLength = 100; + SalesofservicesdomTok: Label 'Salesofservicesdom', MaxLength = 100; + SalesofservicecontTok: Label 'Salesofservicecont', MaxLength = 100; + Sales1Tok: Label 'Sales1', MaxLength = 100; + Sales2Tok: Label 'Sales2', MaxLength = 100; + Sales3Tok: Label 'Sales3', MaxLength = 100; + Sales4Tok: Label 'Sales4', MaxLength = 100; + Sales5Tok: Label 'Sales5', MaxLength = 100; + Sales6Tok: Label 'Sales6', MaxLength = 100; + SalesofrawmaterialsforTok: Label 'Salesofrawmaterialsfor', MaxLength = 100; + SalesofgoodsforTok: Label 'Salesofgoodsfor', MaxLength = 100; + SalesofservicesforTok: Label 'Salesofservicesfor', MaxLength = 100; + SalesofrawmaterialsEUTok: Label 'SalesofrawmaterialsEU', MaxLength = 100; + SalesofgoodsEUTok: Label 'SalesofgoodsEU', MaxLength = 100; + SalesofservicesEUTok: Label 'SalesofservicesEU', MaxLength = 100; + Sales7Tok: Label 'Sales7', MaxLength = 100; + Sales8Tok: Label 'Sales8', MaxLength = 100; + Sales9Tok: Label 'Sales9', MaxLength = 100; + Sales10Tok: Label 'Sales10', MaxLength = 100; + Sales11Tok: Label 'Sales11', MaxLength = 100; + Sales12Tok: Label 'Sales12', MaxLength = 100; + Sales13Tok: Label 'Sales13', MaxLength = 100; + Sales14Tok: Label 'Sales14', MaxLength = 100; + Sales15Tok: Label 'Sales15', MaxLength = 100; + Sales16Tok: Label 'Sales16', MaxLength = 100; + Sales17Tok: Label 'Sales17', MaxLength = 100; + Sales18Tok: Label 'Sales18', MaxLength = 100; + Sales19Tok: Label 'Sales19', MaxLength = 100; + Discounts1Tok: Label 'Discounts1', MaxLength = 100; + Discounts2Tok: Label 'Discounts2', MaxLength = 100; + Discounts3Tok: Label 'Discounts3', MaxLength = 100; + ExchangeratedifferencesTok: Label 'Exchangeratedifferences', MaxLength = 100; + Exchangerategains7Tok: Label 'Exchangerategains7', MaxLength = 100; + ExchangeratelossesTok: Label 'Exchangeratelosses', MaxLength = 100; + PaymenttoleranceTok: Label 'Paymenttolerance', MaxLength = 100; + PaymenttolerancededucTok: Label 'Paymenttolerancededuc', MaxLength = 100; + VATcorrectionsTok: Label 'VATcorrections', MaxLength = 100; + ShippingExpences1Tok: Label 'ShippingExpences1', MaxLength = 100; + ShippingExpences2Tok: Label 'ShippingExpences2', MaxLength = 100; + OthersalesdeductionsTok: Label 'Othersalesdeductions', MaxLength = 100; + CreditcardprovisionsTok: Label 'Creditcardprovisions', MaxLength = 100; + NETTURNOVERTOTALTok: Label 'NETTURNOVERTOTAL', MaxLength = 100; + Variationinstocks1Tok: Label 'Variationinstocks1', MaxLength = 100; + Variationinstocks2Tok: Label 'Variationinstocks2', MaxLength = 100; + Variationinstocks3Tok: Label 'Variationinstocks3', MaxLength = 100; + VariationinstockstotalTok: Label 'Variationinstockstotal', MaxLength = 100; + Manafacturedforownuse1Tok: Label 'Manafacturedforownuse1', MaxLength = 100; + Manafacturedforownuse2Tok: Label 'Manafacturedforownuse2', MaxLength = 100; + Manafacturedforownuse3Tok: Label 'Manafacturedforownuse3', MaxLength = 100; + ManafacturedforownusetotalTok: Label 'Manafacturedforownusetotal', MaxLength = 100; + Otheroperatingincome1Tok: Label 'Otheroperatingincome1', MaxLength = 100; + Otheroperatingincome2Tok: Label 'Otheroperatingincome2', MaxLength = 100; + Otheroperatingincome3Tok: Label 'Otheroperatingincome3', MaxLength = 100; + RentsTok: Label 'Rents', MaxLength = 100; + InsurancesTok: Label 'Insurances', MaxLength = 100; + GroupservicesTok: Label 'Groupservices', MaxLength = 100; + OthergroupservicesTok: Label 'Othergroupservices', MaxLength = 100; + OperatingincometotalTok: Label 'Operatingincometotal', MaxLength = 100; + RawmaterialsandservicesTok: Label 'Rawmaterialsandservices', MaxLength = 100; + RawmaterialsandconsumablesTok: Label 'Rawmaterialsandconsumables', MaxLength = 100; + PurchasesofrawmaterialsdomTok: Label 'Purchasesofrawmaterialsdom', MaxLength = 100; + PurchasesofgoodsdomTok: Label 'Purchasesofgoodsdom', MaxLength = 100; + PurchasesofservicesdomTok: Label 'Purchasesofservicesdom', MaxLength = 100; + PurchasesofrawmaterialsforTok: Label 'Purchasesofrawmaterialsfor', MaxLength = 100; + PurchasesofgoodsforTok: Label 'Purchasesofgoodsfor', MaxLength = 100; + PurchasesofservicesforTok: Label 'Purchasesofservicesfor', MaxLength = 100; + PurchasesofrawmaterialsEUTok: Label 'PurchasesofrawmaterialsEU', MaxLength = 100; + PurchasesofgoodsEUTok: Label 'PurchasesofgoodsEU', MaxLength = 100; + PurchasesofservicesEUTok: Label 'PurchasesofservicesEU', MaxLength = 100; + Purchases1Tok: Label 'Purchases1', MaxLength = 100; + Purchases2Tok: Label 'Purchases2', MaxLength = 100; + Purchases3Tok: Label 'Purchases3', MaxLength = 100; + Purchases4Tok: Label 'Purchases4', MaxLength = 100; + Purchases5Tok: Label 'Purchases5', MaxLength = 100; + Purchases6Tok: Label 'Purchases6', MaxLength = 100; + Purchases7Tok: Label 'Purchases7', MaxLength = 100; + Purchases8Tok: Label 'Purchases8', MaxLength = 100; + Purchases9Tok: Label 'Purchases9', MaxLength = 100; + Discounts4Tok: Label 'Discounts4', MaxLength = 100; + Discounts5Tok: Label 'Discounts5', MaxLength = 100; + Discounts6Tok: Label 'Discounts6', MaxLength = 100; + Invoicerounding2Tok: Label 'Invoicerounding2', MaxLength = 100; + Exchangeratedifferences2Tok: Label 'Exchangeratedifferences2', MaxLength = 100; + Exchangerategains6Tok: Label 'Exchangerategains6', MaxLength = 100; + Paymenttolerance2Tok: Label 'Paymenttolerance2', MaxLength = 100; + Paymenttolerancededuc2Tok: Label 'Paymenttolerancededuc2', MaxLength = 100; + VATcorrections2Tok: Label 'VATcorrections2', MaxLength = 100; + ShippingTok: Label 'Shipping', MaxLength = 100; + InsuranceTok: Label 'Insurance', MaxLength = 100; + Variationinstocks9Tok: Label 'Variationinstocks9', MaxLength = 100; + Variationinstocks10Tok: Label 'Variationinstocks10', MaxLength = 100; + Variationinstocks11Tok: Label 'Variationinstocks11', MaxLength = 100; + Variationinstocks4Tok: Label 'Variationinstocks4', MaxLength = 100; + Variationinstocks5Tok: Label 'Variationinstocks5', MaxLength = 100; + Variationinstocks6Tok: Label 'Variationinstocks6', MaxLength = 100; + Variationinstocks7Tok: Label 'Variationinstocks7', MaxLength = 100; + RawmaterialndcoumablestotalTok: Label 'Rawmaterialndcoumablestotal', MaxLength = 100; + Externalservices1Tok: Label 'Externalservices1', MaxLength = 100; + Externalservices2Tok: Label 'Externalservices2', MaxLength = 100; + Externalservices3Tok: Label 'Externalservices3', MaxLength = 100; + ShippingservicesTok: Label 'Shippingservices', MaxLength = 100; + RawmaterialsandservicestotalTok: Label 'Rawmaterialsandservicestotal', MaxLength = 100; + StaffexpencesTok: Label 'Staffexpences', MaxLength = 100; + Wagesandsalaries1Tok: Label 'Wagesandsalaries1', MaxLength = 100; + Wagesandsalaries2Tok: Label 'Wagesandsalaries2', MaxLength = 100; + Wagesandsalaries3Tok: Label 'Wagesandsalaries3', MaxLength = 100; + Socialsecurityexpenses1Tok: Label 'Socialsecurityexpenses1', MaxLength = 100; + Socialsecurityexpenses2Tok: Label 'Socialsecurityexpenses2', MaxLength = 100; + Socialsecurityexpenses3Tok: Label 'Socialsecurityexpenses3', MaxLength = 100; + Socialsecurityexpenses4Tok: Label 'Socialsecurityexpenses4', MaxLength = 100; + Pensionexpenses1Tok: Label 'Pensionexpenses1', MaxLength = 100; + Othersocialsecurityexpenses1Tok: Label 'Othersocialsecurityexpenses1', MaxLength = 100; + Othersocialsecurityexpenses2Tok: Label 'Othersocialsecurityexpenses2', MaxLength = 100; + Othersocialsecurityexpenses3Tok: Label 'Othersocialsecurityexpenses3', MaxLength = 100; + Otherstaffexpenses1Tok: Label 'Otherstaffexpenses1', MaxLength = 100; + Otherstaffexpenses2Tok: Label 'Otherstaffexpenses2', MaxLength = 100; + Otherstaffexpenses3Tok: Label 'Otherstaffexpenses3', MaxLength = 100; + Otherstaffexpenses4Tok: Label 'Otherstaffexpenses4', MaxLength = 100; + Otherstaffexpenses5Tok: Label 'Otherstaffexpenses5', MaxLength = 100; + Otherstaffexpenses6Tok: Label 'Otherstaffexpenses6', MaxLength = 100; + Otherstaffexpenses7Tok: Label 'Otherstaffexpenses7', MaxLength = 100; + Otherstaffexpenses8Tok: Label 'Otherstaffexpenses8', MaxLength = 100; + Otherstaffexpenses9Tok: Label 'Otherstaffexpenses9', MaxLength = 100; + Otherstaffexpenses10Tok: Label 'Otherstaffexpenses10', MaxLength = 100; + Otherstaffexpenses11Tok: Label 'Otherstaffexpenses11', MaxLength = 100; + Otherstaffexpenses12Tok: Label 'Otherstaffexpenses12', MaxLength = 100; + Otherstaffexpenses13Tok: Label 'Otherstaffexpenses13', MaxLength = 100; + Wagesandsalaries4Tok: Label 'Wagesandsalaries4', MaxLength = 100; + Wagesandsalaries5Tok: Label 'Wagesandsalaries5', MaxLength = 100; + Wagesandsalaries6Tok: Label 'Wagesandsalaries6', MaxLength = 100; + Wagesandsalaries7Tok: Label 'Wagesandsalaries7', MaxLength = 100; + Wagesandsalaries8Tok: Label 'Wagesandsalaries8', MaxLength = 100; + Wagesandsalaries9Tok: Label 'Wagesandsalaries9', MaxLength = 100; + Wagesandsalaries10Tok: Label 'Wagesandsalaries10', MaxLength = 100; + Wagesandsalaries11Tok: Label 'Wagesandsalaries11', MaxLength = 100; + Wagesandsalaries12Tok: Label 'Wagesandsalaries12', MaxLength = 100; + Wagesandsalaries13Tok: Label 'Wagesandsalaries13', MaxLength = 100; + Wagesandsalaries14Tok: Label 'Wagesandsalaries14', MaxLength = 100; + Wagesandsalaries15Tok: Label 'Wagesandsalaries15', MaxLength = 100; + Wagesandsalaries16Tok: Label 'Wagesandsalaries16', MaxLength = 100; + Socialsecurityexpenses5Tok: Label 'Socialsecurityexpenses5', MaxLength = 100; + Socialsecurityexpenses6Tok: Label 'Socialsecurityexpenses6', MaxLength = 100; + Pensionexpenses2Tok: Label 'Pensionexpenses2', MaxLength = 100; + Pensionexpenses3Tok: Label 'Pensionexpenses3', MaxLength = 100; + Othersocialsecurityexpenses4Tok: Label 'Othersocialsecurityexpenses4', MaxLength = 100; + Othersocialsecurityexpenses5Tok: Label 'Othersocialsecurityexpenses5', MaxLength = 100; + Othersocialsecurityexpenses6Tok: Label 'Othersocialsecurityexpenses6', MaxLength = 100; + Pensionexpenses4Tok: Label 'Pensionexpenses4', MaxLength = 100; + Othersocialsecurityexpenses7Tok: Label 'Othersocialsecurityexpenses7', MaxLength = 100; + Otherstaffexpenses14Tok: Label 'Otherstaffexpenses14', MaxLength = 100; + Otherstaffexpenses15Tok: Label 'Otherstaffexpenses15', MaxLength = 100; + Otherstaffexpenses16Tok: Label 'Otherstaffexpenses16', MaxLength = 100; + Otherstaffexpenses17Tok: Label 'Otherstaffexpenses17', MaxLength = 100; + Otherstaffexpenses18Tok: Label 'Otherstaffexpenses18', MaxLength = 100; + Otherstaffexpenses19Tok: Label 'Otherstaffexpenses19', MaxLength = 100; + Otherstaffexpenses20Tok: Label 'Otherstaffexpenses20', MaxLength = 100; + StaffexpencestotalTok: Label 'Staffexpencestotal', MaxLength = 100; + OtheroperatingchargesTok: Label 'Otheroperatingcharges', MaxLength = 100; + Rents2Tok: Label 'Rents2', MaxLength = 100; + Rents3Tok: Label 'Rents3', MaxLength = 100; + Rents4Tok: Label 'Rents4', MaxLength = 100; + Rents5Tok: Label 'Rents5', MaxLength = 100; + Rents6Tok: Label 'Rents6', MaxLength = 100; + Rents7Tok: Label 'Rents7', MaxLength = 100; + Otherstaffexpenses21Tok: Label 'Otherstaffexpenses21', MaxLength = 100; + Otherstaffexpenses22Tok: Label 'Otherstaffexpenses22', MaxLength = 100; + Otherstaffexpenses23Tok: Label 'Otherstaffexpenses23', MaxLength = 100; + Otherstaffexpenses24Tok: Label 'Otherstaffexpenses24', MaxLength = 100; + Otherstaffexpenses25Tok: Label 'Otherstaffexpenses25', MaxLength = 100; + Otherstaffexpenses26Tok: Label 'Otherstaffexpenses26', MaxLength = 100; + Otherstaffexpenses27Tok: Label 'Otherstaffexpenses27', MaxLength = 100; + Otherstaffexpenses28Tok: Label 'Otherstaffexpenses28', MaxLength = 100; + Salesmarketingexp1Tok: Label 'Salesmarketingexp1', MaxLength = 100; + Salesmarketingexp2Tok: Label 'Salesmarketingexp2', MaxLength = 100; + Salesmarketingexp3Tok: Label 'Salesmarketingexp3', MaxLength = 100; + Salesmarketingexp4Tok: Label 'Salesmarketingexp4', MaxLength = 100; + Salesmarketingexp5Tok: Label 'Salesmarketingexp5', MaxLength = 100; + Salesmarketingexp6Tok: Label 'Salesmarketingexp6', MaxLength = 100; + Salesmarketingexp7Tok: Label 'Salesmarketingexp7', MaxLength = 100; + Salesmarketingexp8Tok: Label 'Salesmarketingexp8', MaxLength = 100; + Salesmarketingexp9Tok: Label 'Salesmarketingexp9', MaxLength = 100; + Salesmarketingexp10Tok: Label 'Salesmarketingexp10', MaxLength = 100; + Salesmarketingexp11Tok: Label 'Salesmarketingexp11', MaxLength = 100; + Salesmarketingexp12Tok: Label 'Salesmarketingexp12', MaxLength = 100; + Salesmarketingexp13Tok: Label 'Salesmarketingexp13', MaxLength = 100; + Salesmarketingexp14Tok: Label 'Salesmarketingexp14', MaxLength = 100; + FuelTok: Label 'Fuel', MaxLength = 100; + Maintenance1Tok: Label 'Maintenance1', MaxLength = 100; + Maintenance2Tok: Label 'Maintenance2', MaxLength = 100; + Maintenance3Tok: Label 'Maintenance3', MaxLength = 100; + Maintenance4Tok: Label 'Maintenance4', MaxLength = 100; + FurnitureTok: Label 'Furniture', MaxLength = 100; + OtherequipmentTok: Label 'Otherequipment', MaxLength = 100; + SuppliesTok: Label 'Supplies', MaxLength = 100; + OthermaintenanceservicesTok: Label 'Othermaintenanceservices', MaxLength = 100; + WaterTok: Label 'Water', MaxLength = 100; + GasandelectricityTok: Label 'Gasandelectricity', MaxLength = 100; + RealestateexpencesTok: Label 'Realestateexpences', MaxLength = 100; + OutsourcedservicesTok: Label 'Outsourcedservices', MaxLength = 100; + WasteTok: Label 'Waste', MaxLength = 100; + ElectricityTok: Label 'Electricity', MaxLength = 100; + Insurances2Tok: Label 'Insurances2', MaxLength = 100; + RealestatetaxTok: Label 'Realestatetax', MaxLength = 100; + Maintenance5Tok: Label 'Maintenance5', MaxLength = 100; + Vehicles1Tok: Label 'Vehicles1', MaxLength = 100; + Vehicles2Tok: Label 'Vehicles2', MaxLength = 100; + Vehicles3Tok: Label 'Vehicles3', MaxLength = 100; + Vehicles4Tok: Label 'Vehicles4', MaxLength = 100; + Vehicles5Tok: Label 'Vehicles5', MaxLength = 100; + Vehicles6Tok: Label 'Vehicles6', MaxLength = 100; + Vehicles7Tok: Label 'Vehicles7', MaxLength = 100; + Vehicles8Tok: Label 'Vehicles8', MaxLength = 100; + Vehicles9Tok: Label 'Vehicles9', MaxLength = 100; + Vehicles10Tok: Label 'Vehicles10', MaxLength = 100; + Otheroperatingexp1Tok: Label 'Otheroperatingexp1', MaxLength = 100; + Otheroperatingexp2Tok: Label 'Otheroperatingexp2', MaxLength = 100; + InformationcostsTok: Label 'Informationcosts', MaxLength = 100; + Telecosts1Tok: Label 'Telecosts1', MaxLength = 100; + Telecosts2Tok: Label 'Telecosts2', MaxLength = 100; + Insurance2Tok: Label 'Insurance2', MaxLength = 100; + Insurance3Tok: Label 'Insurance3', MaxLength = 100; + Officesupplies1Tok: Label 'Officesupplies1', MaxLength = 100; + Officesupplies2Tok: Label 'Officesupplies2', MaxLength = 100; + Officesupplies3Tok: Label 'Officesupplies3', MaxLength = 100; + Officesupplies4Tok: Label 'Officesupplies4', MaxLength = 100; + Officesupplies5Tok: Label 'Officesupplies5', MaxLength = 100; + Outsourcedservices2Tok: Label 'Outsourcedservices2', MaxLength = 100; + AccountingTok: Label 'Accounting', MaxLength = 100; + ITservicesTok: Label 'ITservices', MaxLength = 100; + AuditingTok: Label 'Auditing', MaxLength = 100; + LawservicesTok: Label 'Lawservices', MaxLength = 100; + OtherexpencesTok: Label 'Otherexpences', MaxLength = 100; + MembershipsTok: Label 'Memberships', MaxLength = 100; + NotificationsTok: Label 'Notifications', MaxLength = 100; + BankingexpencesTok: Label 'Bankingexpences', MaxLength = 100; + MeetingsTok: Label 'Meetings', MaxLength = 100; + Otherexpences2Tok: Label 'Otherexpences2', MaxLength = 100; + Baddept1Tok: Label 'Baddept1', MaxLength = 100; + Baddept2Tok: Label 'Baddept2', MaxLength = 100; + Baddept3Tok: Label 'Baddept3', MaxLength = 100; + OtheroperatingexpensestotalTok: Label 'Otheroperatingexpensestotal', MaxLength = 100; + Depreciation1Tok: Label 'Depreciation1', MaxLength = 100; + Depreciation2Tok: Label 'Depreciation2', MaxLength = 100; + Depreciation3Tok: Label 'Depreciation3', MaxLength = 100; + Depreciation4Tok: Label 'Depreciation4', MaxLength = 100; + Depreciation5Tok: Label 'Depreciation5', MaxLength = 100; + Depreciation6Tok: Label 'Depreciation6', MaxLength = 100; + Depreciation7Tok: Label 'Depreciation7', MaxLength = 100; + Reductioninvalue1Tok: Label 'Reductioninvalue1', MaxLength = 100; + Reductioninvalue2Tok: Label 'Reductioninvalue2', MaxLength = 100; + Reductioninvalue3Tok: Label 'Reductioninvalue3', MaxLength = 100; + Reductioninvalue4Tok: Label 'Reductioninvalue4', MaxLength = 100; + Reductioninvalue5Tok: Label 'Reductioninvalue5', MaxLength = 100; + Reductioninvalue6Tok: Label 'Reductioninvalue6', MaxLength = 100; + Reductioninvalue7Tok: Label 'Reductioninvalue7', MaxLength = 100; + Reductioninvalue8Tok: Label 'Reductioninvalue8', MaxLength = 100; + Reductioninvalue9Tok: Label 'Reductioninvalue9', MaxLength = 100; + Reductioninvalue10Tok: Label 'Reductioninvalue10', MaxLength = 100; + Reductioninvalue11Tok: Label 'Reductioninvalue11', MaxLength = 100; + Reductioninvalue12Tok: Label 'Reductioninvalue12', MaxLength = 100; + Reductioninvalue13Tok: Label 'Reductioninvalue13', MaxLength = 100; + Reductioninvalue14Tok: Label 'Reductioninvalue14', MaxLength = 100; + Reductioninvalue15Tok: Label 'Reductioninvalue15', MaxLength = 100; + Reductioninvalue16Tok: Label 'Reductioninvalue16', MaxLength = 100; + Reductioninvalue17Tok: Label 'Reductioninvalue17', MaxLength = 100; + Reductioninvalue18Tok: Label 'Reductioninvalue18', MaxLength = 100; + Reductioninvalue19Tok: Label 'Reductioninvalue19', MaxLength = 100; + DepreciationeductionsinvalueTok: Label 'Depreciationeductionsinvalue', MaxLength = 100; + OPERATINGPROFITLOSSTok: Label 'OPERATINGPROFITLOSS', MaxLength = 100; + FinancialincomeandexpensesTok: Label 'Financialincomeandexpenses', MaxLength = 100; + ShareofprofitlossTok: Label 'Shareofprofitloss', MaxLength = 100; + ShareofprofitlsofgdertakingsTok: Label 'Shareofprofitlsofgdertakings', MaxLength = 100; + ShareofprofitssofassompaniesTok: Label 'Shareofprofitssofassompanies', MaxLength = 100; + IncomefromgroupundertakingsTok: Label 'Incomefromgroupundertakings', MaxLength = 100; + IncomefrompaipatinginterestsTok: Label 'Incomefrompaipatinginterests', MaxLength = 100; + Otherintereaninancialincome1Tok: Label 'Otherintereaninancialincome1', MaxLength = 100; + Otherintereaninancialincome2Tok: Label 'Otherintereaninancialincome2', MaxLength = 100; + ReductioninvalueofirentassetsTok: Label 'Reductioninvalueofirentassets', MaxLength = 100; + ReductioninvalueofinvesassetsTok: Label 'Reductioninvalueofinvesassets', MaxLength = 100; + InterestandothinancialincomeTok: Label 'Interestandothinancialincome', MaxLength = 100; + FinancialincomeTok: Label 'Financialincome', MaxLength = 100; + OtherfinancialincomeTok: Label 'Otherfinancialincome', MaxLength = 100; + Exchangerategains1Tok: Label 'Exchangerategains1', MaxLength = 100; + Exchangerategains2Tok: Label 'Exchangerategains2', MaxLength = 100; + Exchangerategains3Tok: Label 'Exchangerategains3', MaxLength = 100; + Otherfinancialincome2Tok: Label 'Otherfinancialincome2', MaxLength = 100; + Exchangerategains5Tok: Label 'Exchangerategains5', MaxLength = 100; + FinancialincometotalTok: Label 'Financialincometotal', MaxLength = 100; + Financialexpenses1Tok: Label 'Financialexpenses1', MaxLength = 100; + Financialexpenses2Tok: Label 'Financialexpenses2', MaxLength = 100; + Financialexpenses3Tok: Label 'Financialexpenses3', MaxLength = 100; + Financialexpenses4Tok: Label 'Financialexpenses4', MaxLength = 100; + Financialexpenses5Tok: Label 'Financialexpenses5', MaxLength = 100; + Financialexpenses6Tok: Label 'Financialexpenses6', MaxLength = 100; + Financialexpenses7Tok: Label 'Financialexpenses7', MaxLength = 100; + Financialexpenses8Tok: Label 'Financialexpenses8', MaxLength = 100; + Financialexpenses9Tok: Label 'Financialexpenses9', MaxLength = 100; + Financialexpenses10Tok: Label 'Financialexpenses10', MaxLength = 100; + Financialexpenses11Tok: Label 'Financialexpenses11', MaxLength = 100; + Financialexpenses12Tok: Label 'Financialexpenses12', MaxLength = 100; + Financialexpenses13Tok: Label 'Financialexpenses13', MaxLength = 100; + Financialexpenses14Tok: Label 'Financialexpenses14', MaxLength = 100; + PROFITLOSSBEFOEXDINARYITEMSTok: Label 'PROFITLOSSBEFOEXDINARYITEMS', MaxLength = 100; + ExtraordinaryitemsTok: Label 'Extraordinaryitems', MaxLength = 100; + OtherextraordinaryincomeTok: Label 'Otherextraordinaryincome', MaxLength = 100; + VATadjustmentsTok: Label 'VATadjustments', MaxLength = 100; + TAXadjusmentsTok: Label 'TAXadjusments', MaxLength = 100; + OtherextraordinaryexpenseTok: Label 'Otherextraordinaryexpense', MaxLength = 100; + Otherextraordinaryexpense2Tok: Label 'Otherextraordinaryexpense2', MaxLength = 100; + ExtraordinaryitemstotalTok: Label 'Extraordinaryitemstotal', MaxLength = 100; + PROFITLOSSBEFEAPPROSANDTAXESTok: Label 'PROFITLOSSBEFEAPPROSANDTAXES', MaxLength = 100; + Appropriations1Tok: Label 'Appropriations1', MaxLength = 100; + Changeindepreciationreserve1Tok: Label 'Changeindepreciationreserve1', MaxLength = 100; + Changeindepreciationreserve2Tok: Label 'Changeindepreciationreserve2', MaxLength = 100; + Changeindepreciationreserve3Tok: Label 'Changeindepreciationreserve3', MaxLength = 100; + Changeindepreciationreserve4Tok: Label 'Changeindepreciationreserve4', MaxLength = 100; + Changeindepreciationreserve5Tok: Label 'Changeindepreciationreserve5', MaxLength = 100; + Changeinuntaxedreserves1Tok: Label 'Changeinuntaxedreserves1', MaxLength = 100; + Changeinuntaxedreserves2Tok: Label 'Changeinuntaxedreserves2', MaxLength = 100; + Changeinuntaxedreserves3Tok: Label 'Changeinuntaxedreserves3', MaxLength = 100; + Appropriationstotal1Tok: Label 'Appropriationstotal1', MaxLength = 100; + IncometaxesTok: Label 'Incometaxes', MaxLength = 100; + Taxesoncialyeandyearsbefore1Tok: Label 'Taxesoncialyeandyearsbefore1', MaxLength = 100; + Taxesoncialyeandyearsbefore2Tok: Label 'Taxesoncialyeandyearsbefore2', MaxLength = 100; + Taxesoncialyeandyearsbefore3Tok: Label 'Taxesoncialyeandyearsbefore3', MaxLength = 100; + Taxesoncialyeandyearsbefore4Tok: Label 'Taxesoncialyeandyearsbefore4', MaxLength = 100; + Incometaxes2Tok: Label 'Incometaxes2', MaxLength = 100; + PROFITLOSSFORTHEFINANCIALYEARTok: Label 'PROFITLOSSFORTHEFINANCIALYEAR', MaxLength = 100; + AsstesTok: Label 'Assets', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateVATStatementFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateVATStatementFI.Codeunit.al new file mode 100644 index 0000000000..d12d1d6390 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Finance/2.Master Data/CreateVATStatementFI.Codeunit.al @@ -0,0 +1,148 @@ +codeunit 13447 "Create VAT Statement FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatStatementLine(var Rec: Record "VAT Statement Line") + var + CreateVATStatement: Codeunit "Create VAT Statement"; + begin + if (Rec."Statement Template Name" = CreateVATStatement.VATTemplateName()) and (Rec."Statement Name" = StatementNameLbl) then + case Rec."Line No." of + 200000: + Rec.Validate(Description, SalesStandardLbl); + 210000: + Rec.Validate(Description, SalesStandardFullLbl); + 220000: + Rec.Validate(Description, SalesStandardTotalLbl); + 230000: + Rec.Validate(Description, SalesReducedLbl); + 240000: + Rec.Validate(Description, SalesReducedFullLbl); + 250000: + Rec.Validate(Description, SalesReducedTotalLbl); + 270000: + Rec.Validate(Description, EUStandardLbl); + 280000: + Rec.Validate(Description, EUStandardTotalLbl); + 290000: + Rec.Validate(Description, EUReducedLbl); + 300000: + Rec.Validate(Description, EUReducedTotalLbl); + 320000: + Rec.Validate(Description, PurchaseStandardLbl); + 330000: + Rec.Validate(Description, PurchaseStandardFullLbl); + 340000: + Rec.Validate(Description, PurchaseStandardTotalLbl); + 350000: + Rec.Validate(Description, PurchaseReducedLbl); + 360000: + Rec.Validate(Description, PurchaseReducedFullLbl); + 370000: + Rec.Validate(Description, PurchaseReducedTotalLbl); + 390000: + Rec.Validate(Description, EUStandardLbl); + 400000: + Rec.Validate(Description, EUStandardTotalLbl); + 410000: + Rec.Validate(Description, EUReducedLbl); + 420000: + Rec.Validate(Description, EUReducedTotalLbl); + 450000: + Rec.Validate(Description, DomesticStandardSalesLbl); + 460000: + Rec.Validate(Description, DomesticStandardTotalLbl); + 470000: + Rec.Validate(Description, DomesticReducedValueLbl); + 480000: + Rec.Validate(Description, DomesticReducedTotalLbl); + 500000: + Rec.Validate(Description, EUStandardSuppliesLbl); + 510000: + Rec.Validate(Description, EUStandardSuppliesTotalLbl); + 520000: + Rec.Validate(Description, EUReducedSuppliesLbl); + 530000: + Rec.Validate(Description, EUReducedSuppliesTotalLbl); + 550000: + Rec.Validate(Description, OverseasSalesValueLbl); + 560000: + Rec.Validate(Description, OverseasSalesTotalLbl); + 570000: + Rec.Validate(Description, OverseasSalesReducedLbl); + 580000: + Rec.Validate(Description, OverseasSalesReducedTotalLbl); + 620000: + Rec.Validate(Description, DomesticStandardPurchaseLbl); + 630000: + Rec.Validate(Description, DomesticStandardPurchaseTotalLbl); + 640000: + Rec.Validate(Description, DomesticReducedPurchaseValueLbl); + 650000: + Rec.Validate(Description, DomesticReducedPurchaseTotalLbl); + 670000: + Rec.Validate(Description, EUAcquisitionStandardLbl); + 680000: + Rec.Validate(Description, EUAcquisitionStandardTotalLbl); + 690000: + Rec.Validate(Description, EUAcquisitionReducedLbl); + 700000: + Rec.Validate(Description, EUAcquisitionReducedTotalLbl); + 720000: + Rec.Validate(Description, OverseasPurchaseValueLbl); + 730000: + Rec.Validate(Description, OverseasPurchaseTotalLbl); + 740000: + Rec.Validate(Description, OverseasPurchaseReducedLbl); + 750000: + Rec.Validate(Description, OverseasPurchaseReducedTotalLbl); + end; + end; + + var + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + SalesStandardLbl: Label 'Sales 24 % ', MaxLength = 100; + SalesStandardFullLbl: Label 'Sales 24 % FULL', MaxLength = 100; + SalesStandardTotalLbl: Label 'Sales 24 % total', MaxLength = 100; + SalesReducedLbl: Label 'Sales 17 % ', MaxLength = 100; + SalesReducedFullLbl: Label 'Sales 17 % FULL', MaxLength = 100; + SalesReducedTotalLbl: Label 'Sales 17 % total', MaxLength = 100; + EUStandardLbl: Label '24 % on EU Acquisitions etc.', MaxLength = 100; + EUStandardTotalLbl: Label '24 % on EU Acquisitions etc. total', MaxLength = 100; + EUReducedLbl: Label '17 % on EU Acquisitions etc.', MaxLength = 100; + EUReducedTotalLbl: Label '17 % on EU Acquisitions etc. total', MaxLength = 100; + PurchaseStandardLbl: Label 'Purchase VAT 24 % Domestic ', MaxLength = 100; + PurchaseStandardFullLbl: Label 'Purchase VAT 24 % FULL Domestic', MaxLength = 100; + PurchaseStandardTotalLbl: Label 'Purchase 24 % Domestic Total ', MaxLength = 100; + PurchaseReducedLbl: Label 'Purchase VAT 17 % Domestic ', MaxLength = 100; + PurchaseReducedFullLbl: Label 'Purchase 17 % Domestic Total FULL', MaxLength = 100; + PurchaseReducedTotalLbl: Label 'Purchase 17 % Domestic total ', MaxLength = 100; + DomesticStandardSalesLbl: Label 'Value of Domestic Sales 24 % ', MaxLength = 100; + DomesticStandardTotalLbl: Label 'Value of Domestic Sales 24 % total', MaxLength = 100; + DomesticReducedValueLbl: Label 'Value of Domestic Sales 17 % ', MaxLength = 100; + DomesticReducedTotalLbl: Label 'Value of Domestic Sales 17 % total', MaxLength = 100; + EUStandardSuppliesLbl: Label 'Value of EU Supplies 24 % ', MaxLength = 100; + EUStandardSuppliesTotalLbl: Label 'Value of EU Supplies 24 % total', MaxLength = 100; + EUReducedSuppliesLbl: Label 'Value of EU Supplies 17 % ', MaxLength = 100; + EUReducedSuppliesTotalLbl: Label 'Value of EU Supplies 17 % total', MaxLength = 100; + OverseasSalesValueLbl: Label 'Value of Overseas Sales 24 % ', MaxLength = 100; + OverseasSalesTotalLbl: Label 'Value of Overseas Sales 24 % total', MaxLength = 100; + OverseasSalesReducedLbl: Label 'Value of Overseas Sales 17 % ', MaxLength = 100; + OverseasSalesReducedTotalLbl: Label 'Value of Overseas Sales 17 % total', MaxLength = 100; + DomesticStandardPurchaseLbl: Label 'Value of Domestic Purchases 24 % ', MaxLength = 100; + DomesticStandardPurchaseTotalLbl: Label 'Value of Domestic Purchases 24 % total', MaxLength = 100; + DomesticReducedPurchaseValueLbl: Label 'Value of Domestic Purchases 17 % ', MaxLength = 100; + DomesticReducedPurchaseTotalLbl: Label 'Value of Domestic Purchases 17 % total', MaxLength = 100; + EUAcquisitionStandardLbl: Label 'Value of EU Acquisitions 24 % ', MaxLength = 100; + EUAcquisitionStandardTotalLbl: Label 'Value of EU Acquisitions 24 % Total', MaxLength = 100; + EUAcquisitionReducedLbl: Label 'Value of EU Acquisitions 17 % ', MaxLength = 100; + EUAcquisitionReducedTotalLbl: Label 'Value of EU Acquisitions 17 % total', MaxLength = 100; + OverseasPurchaseValueLbl: Label 'Value of Overseas Purchases 24 % ', MaxLength = 100; + OverseasPurchaseTotalLbl: Label 'Value of Overseas Purchases 24 % total', MaxLength = 100; + OverseasPurchaseReducedLbl: Label 'Value of Overseas Purchases 17 % ', MaxLength = 100; + OverseasPurchaseReducedTotalLbl: Label 'Value of Overseas Purchases 17 % total', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationFI.Codeunit.al new file mode 100644 index 0000000000..4808df2046 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationFI.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 13443 "Create Company Information FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + // TODO: Picture Name to Be Inserted + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + begin + ValidateRecordFields(CityLbl, PostcodeLbl, BankAccNoLbl, BusinessIdentityLbl); + end; + + local procedure ValidateRecordFields(City: Text[30]; PostCode: Code[20]; BankAccountNo: Text[30]; BusinessIdentityCode: Code[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostcodeLbl); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + CompanyInformation.Validate("Bank Account No.", BankAccountNo); + CompanyInformation.Validate("Business Identity Code", BusinessIdentityCode); + CompanyInformation.Validate("Registered Home City", City); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'Helsinki', Maxlength = 30; + PostcodeLbl: Label '01201', MaxLength = 20; + BankAccNoLbl: Label '2229018-7205', MaxLength = 30; + BusinessIdentityLbl: Label '1234567-8', MaxLength = 20; +} diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateCountryRegionFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateCountryRegionFI.Codeunit.al new file mode 100644 index 0000000000..02b4d2acb2 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateCountryRegionFI.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 13421 "Create Country Region FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Country/Region", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCountryRegion(var Rec: Record "Country/Region") + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateCountryRegion.NI(): + Rec.Validate("ISO Code", CreateCountryRegion.GB()); + end; + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateJobQueueCategoryFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateJobQueueCategoryFI.Codeunit.al new file mode 100644 index 0000000000..64eb4ef823 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateJobQueueCategoryFI.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 13412 "Create Job Queue Category FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoJobQueue: Codeunit "Contoso Job Queue"; + begin + ContosoJobQueue.InsertJobQueueCategory(PurchPost(), PurchasePostCategoryLbl); + ContosoJobQueue.InsertJobQueueCategory(SalesPost(), SalesPostCategoryLbl); + end; + + procedure PurchPost(): Code[10] + begin + exit(PurchPostTok); + end; + + procedure SalesPost(): Code[10] + begin + exit(SalesPostTok); + end; + + var + PurchPostTok: Label 'PURCHPOST', Locked = true; + SalesPostTok: Label 'SALESPOST', Locked = true; + PurchasePostCategoryLbl: Label 'Purchase Posting', MaxLength = 30; + SalesPostCategoryLbl: Label 'Sales Posting', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateNoSeriesFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateNoSeriesFI.Codeunit.al new file mode 100644 index 0000000000..78c0115f98 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateNoSeriesFI.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 13402 "Create No. Series FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateNoSeries: Codeunit "Create No. Series"; + begin + UpdateNoSeriesLine(CreateNoSeries.Customer(), 10000, '10', '99990', ''); + UpdateNoSeriesLine(CreateNoSeries.InterCompanyGenJnl(), 10000, '0010', '9999', ''); + UpdateNoSeriesLine(CreateNoSeries.Vendor(), 10000, '10', '99990', ''); + end; + + local procedure UpdateNoSeriesLine(NoSeriesCode: Code[20]; LineNo: Integer; StartingNo: Code[20]; EndingNo: Code[20]; WarningNo: Code[20]) + var + NoSeriesLine: Record "No. Series Line"; + begin + NoSeriesLine.Get(NoSeriesCode, LineNo); + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Warning No.", WarningNo); + NoSeriesLine.Validate("Ending No.", EndingNo); + NoSeriesLine.Modify(true); + end; +} diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreatePaymentTermsFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreatePaymentTermsFI.Codeunit.al new file mode 100644 index 0000000000..dd23f4524c --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreatePaymentTermsFI.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 13438 "Create Payment Terms FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Terms", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertPaymentTerms(var Rec: Record "Payment Terms") + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec.Code of + CreatePaymentTerms.PaymentTermsM8D(): + ValidateRecordFields(Rec, true); + end; + end; + + local procedure ValidateRecordFields(var PaymentTerms: Record "Payment Terms"; DisregPmtDiscatFullPmt: Boolean) + begin + PaymentTerms.Validate("Disreg. Pmt. Disc. at Full Pmt", DisregPmtDiscatFullPmt); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeFI.Codeunit.al new file mode 100644 index 0000000000..6e7330a331 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeFI.Codeunit.al @@ -0,0 +1,148 @@ +codeunit 13401 "Create Post Code FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoPostCodeFI: Codeunit "Contoso Post Code FI"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeFI.InsertPostCode('00100', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('00101', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('00170', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('00260', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('01201', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('01800', KLAUKKALALbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('02170', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('02300', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('05400', JokelaLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('10300', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('20100', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('23500', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('33200', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('33470', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('37600', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('40530', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('45160', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('50500', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('57810', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('60320', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('66900', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('67100', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('80100', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('83500', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('88900', KuhmoLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('90100', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('94200', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('95600', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeFI.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeFI.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + end; + + var + HelsinkiLbl: Label 'Helsinki', MaxLength = 30; + KlaukkalaLbl: Label 'Klaukkala', MaxLength = 30; + JokelaLbl: Label 'Jokela', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + KuhmoLbl: Label 'Kuhmo', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateUnitOfMeasureTransFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateUnitOfMeasureTransFI.Codeunit.al new file mode 100644 index 0000000000..dc928bd403 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Foundation/1.Setup Data/CreateUnitOfMeasureTransFI.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 13451 "Create UnitOfMeasureTrans. FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Unit of Measure Translation", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertUnitofMeasureTranslation(var Rec: Record "Unit of Measure Translation") + var + CreateLanguage: Codeunit "Create Language"; + CreateUnitofMeasure: Codeunit "Create Unit of Measure"; + begin + if (Rec.Code = CreateUnitofMeasure.Piece()) and (Rec."Language Code" = CreateLanguage.DEU()) then + Rec.Validate(Description, 'stÂück'); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/HR/2.Master Data/CreateEmployeeFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/HR/2.Master Data/CreateEmployeeFI.Codeunit.al new file mode 100644 index 0000000000..f87ece7998 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/HR/2.Master Data/CreateEmployeeFI.Codeunit.al @@ -0,0 +1,69 @@ +codeunit 13441 "Create Employee FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployeeEmail(CreateEmployee.ManagingDirector()); + UpdateEmployeeEmail(CreateEmployee.SalesManager()); + UpdateEmployeeEmail(CreateEmployee.Designer()); + UpdateEmployeeEmail(CreateEmployee.ProductionAssistant()); + UpdateEmployeeEmail(CreateEmployee.ProductionManager()); + UpdateEmployeeEmail(CreateEmployee.Secretary()); + UpdateEmployeeEmail(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployeeEmail(EmployeeNo: Code[20]) + var + Employee: Record Employee; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Modify(true) + end; + + [EventSubscriber(ObjectType::Table, Database::Employee, 'OnBeforeOnInsert', '', false, false)] + local procedure OnBeforeInsertEmployee(var Employee: Record Employee) + var + CreateEmployee: Codeunit "Create Employee"; + begin + case Employee."No." of + CreateEmployee.ManagingDirector(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.SalesManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Designer(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionAssistant(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.ProductionManager(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.Secretary(): + ValidateEmployee(Employee, '', '', ''); + CreateEmployee.InventoryManager(): + begin + Employee.Validate("Job Title", ProductionAssistantLbl); + ValidateEmployee(Employee, '', '', ''); + end; + end; + end; + + local procedure ValidateEmployee(var Employee: Record Employee; UnionCode: Code[10]; EmploymentContractCode: Code[10]; StatisticsGroupCode: Code[10]) + begin + Employee.Validate("Emplymt. Contract Code", EmploymentContractCode); + Employee.Validate("Statistics Group Code", StatisticsGroupCode); + Employee.Validate("Union Code", UnionCode); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateFI.Codeunit.al new file mode 100644 index 0000000000..d4798f0e67 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateFI.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 13448 "Create Employee Template FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Employee Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorTemplate(var Rec: Record "Employee Templ.") + var + CreateEmployeeTemplate: Codeunit "Create Employee Template"; + begin + case Rec.Code of + CreateEmployeeTemplate.AdminCode(), + CreateEmployeeTemplate.ITCode(): + Rec.Validate("Employee Posting Group", ''); + end; + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupFI.Codeunit.al new file mode 100644 index 0000000000..39b2b79486 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupFI.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 13426 "Create Inv. Posting Setup FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInvPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + case Rec."Invt. Posting Group Code" of + CreateInvPostingGroup.Resale(): + ValidateRecordFields(Rec, CreateFIGLAccounts.Itemsandsupplies4(), CreateFIGLAccounts.Itemsandsupplies5()); + end; + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateItemFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateItemFI.Codeunit.al new file mode 100644 index 0000000000..52d300c120 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateItemFI.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 13428 "Create Item FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1005.8, 784.6); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 435.8, 339.9); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 651.1, 508); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 189.8, 0); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 55.2, 43.1); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 126.4, 0); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 343.5, 0); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1404.3, 1095.3); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 191, 148.9); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateLocationFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateLocationFI.Codeunit.al new file mode 100644 index 0000000000..afacb59403 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Inventory/2.Master Data/CreateLocationFI.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 13427 "Create Location FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocaion.EastLocation(): + ValidateRecordFields(Rec, CityLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocaion.MainLocation(): + ValidateRecordFields(Rec, CityLbl, MainLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocaion.WestLocation(): + ValidateRecordFields(Rec, CityLbl, WestLocationPostCodeLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CountryRegionCode; + end; + + var + CityLbl: Label 'Helsinki', MaxLength = 30; + EastLocationPostCodeLbl: Label '95600', MaxLength = 20; + MainLocationPostCodeLbl: Label '33470', MaxLength = 20; + WestLocationPostCodeLbl: Label '00100', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupFI.Codeunit.al new file mode 100644 index 0000000000..444b03c6c0 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupFI.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 13437 "Create Purch. Payable Setup FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdatePurchasesPayablesSetup() + end; + + local procedure UpdatePurchasesPayablesSetup() + var + CreateJobQueueCategory: Codeunit "Create Job Queue Category"; + begin + ValidateRecordFields(CreateJobQueueCategory.SalesPurchasePosting()); + end; + + local procedure ValidateRecordFields(JobQueueCategoryCode: Code[10]) + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + begin + PurchasesPayablesSetup.Get(); + PurchasesPayablesSetup.Validate("Job Queue Category Code", JobQueueCategoryCode); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupFI.Codeunit.al new file mode 100644 index 0000000000..93ded1875d --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupFI.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 13440 "Create Vendor Posting Group FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGroup(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + case Rec.Code of + CreateVendorPostingGroup.Domestic(), + CreateVendorPostingGroup.EU(): + ValidateRecordFields(Rec, CreateFIGLAccounts.Tradecreditors2(), CreateFIGLAccounts.Otherexpences(), CreateFIGLAccounts.Discounts6(), CreateFIGLAccounts.Invoicerounding2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Discounts5(), CreateFIGLAccounts.Paymenttolerancededuc2(), CreateFIGLAccounts.Paymenttolerance2()); + CreateVendorPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateFIGLAccounts.Tradecreditors3(), CreateFIGLAccounts.Otherexpences(), CreateFIGLAccounts.Discounts6(), CreateFIGLAccounts.Invoicerounding2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Discounts5(), CreateFIGLAccounts.Paymenttolerancededuc2(), CreateFIGLAccounts.Paymenttolerance2()); + end; + end; + + local procedure ValidateRecordFields(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueFI.Codeunit.al new file mode 100644 index 0000000000..8e5372e2ea --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueFI.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 13418 "Create Purch. Dim. Value FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreateVendorFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreateVendorFI.Codeunit.al new file mode 100644 index 0000000000..4fe416be20 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreateVendorFI.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 13419 "Create Vendor FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + Rec.Validate("VAT Registration No.", ExportFabrikamVatRegNoLbl); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, HelsinkiCityLbl, DomesticFirstUpVatRegNoLbl, PostCode45160Lbl, CreatePaymentTerms.PaymentTermsDAYS30()); + CreateVendor.EUGraphicDesign(): + Rec.Validate("VAT Registration No.", EUGraphicDesignVatRegNoLbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, HelsinkiCityLbl, DomesticWorldImporterVatRegNoLbl, PostCode60320Lbl, CreatePaymentTerms.PaymentTermsCM()); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, HelsinkiCityLbl, DomesticNodPublisherVatRegNoLbl, PostCode57810Lbl, CreatePaymentTerms.PaymentTermsCM()); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; PaymentTermsCode: Code[10]) + begin + Vendor.Validate(City, City); + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("Payment Terms Code", PaymentTermsCode); + end; + + var + HelsinkiCityLbl: Label 'Helsinki', MaxLength = 30, Locked = true; + ExportFabrikamVatRegNoLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVatRegNoLbl: Label '274863274', MaxLength = 20; + EUGraphicDesignVatRegNoLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVatRegNoLbl: Label '197548769', MaxLength = 20; + DomesticNodPublisherVatRegNoLbl: Label '295267495', MaxLength = 20; + PostCode45160Lbl: Label '45160', MaxLength = 20; + PostCode60320Lbl: Label '60320', MaxLength = 20; + PostCode57810Lbl: Label '57810', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateFI.Codeunit.al new file mode 100644 index 0000000000..6b98c5bb15 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateFI.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 13420 "Create Vendor Template FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorTemplate(var Rec: Record "Vendor Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendorTemplate: Codeunit "Create Vendor Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateVendorTemplate.VendorCompany(), + CreateVendorTemplate.VendorPerson(): + ValidateRecordFields(Rec, ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; + + local procedure ValidateRecordFields(var VendorTempl: Record "Vendor Templ."; CountryRegionCode: Code[10]) + begin + VendorTempl.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/Transactional Data/CreatePurchaseOrderFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/Transactional Data/CreatePurchaseOrderFI.Codeunit.al new file mode 100644 index 0000000000..e3a66d9b95 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Purchase/Transactional Data/CreatePurchaseOrderFI.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 13435 "Create Purchase Order FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + PurchHeader: Record "Purchase Header"; + CreateVendor: Codeunit "Create Vendor"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + if PurchHeader.FindSet() then + repeat + PurchHeader.Validate("Message Type", PurchHeader."Message Type"::Message); + PurchHeader.Validate("Invoice Message", PurchHeader."No."); + PurchHeader.Modify(true); + until PurchHeader.Next() = 0; + + PurchHeader.Reset(); + PurchHeader.SetRange("Buy-from Vendor No.", CreateVendor.DomesticFirstUp()); + if PurchHeader.FindSet() then + repeat + PurchHeader.Validate("Payment Terms Code", CreatePaymentTerms.PaymentTermsDAYS30()); + PurchHeader.Modify(true); + until PurchHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupFI.Codeunit.al new file mode 100644 index 0000000000..4483865e4c --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupFI.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 13455 "Create Cust. Posting Group FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustPostingGroup(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + case Rec.Code of + CreateCustomerPostingGroup.Domestic(), + CreateCustomerPostingGroup.EU(): + ValidateRecordFields(Rec, CreateFIGLAccounts.Salesreceivables1(), CreateFIGLAccounts.Sales12(), CreateFIGLAccounts.Discounts2(), CreateFIGLAccounts.Invoicerounding2(), CreateFIGLAccounts.Reductioninvalueofirentassets(), CreateFIGLAccounts.Reductioninvalueofirentassets(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Discounts3(), CreateFIGLAccounts.Paymenttolerance(), CreateFIGLAccounts.Paymenttolerancededuc()); + CreateCustomerPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateFIGLAccounts.Salesreceivables2(), CreateFIGLAccounts.Sales12(), CreateFIGLAccounts.Discounts2(), CreateFIGLAccounts.Invoicerounding2(), CreateFIGLAccounts.Reductioninvalueofirentassets(), CreateFIGLAccounts.Reductioninvalueofirentassets(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Exchangeratedifferences2(), CreateFIGLAccounts.Discounts3(), CreateFIGLAccounts.Paymenttolerance(), CreateFIGLAccounts.Paymenttolerancededuc()); + end; + end; + + procedure ValidateRecordFields(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelFI.Codeunit.al new file mode 100644 index 0000000000..d46bbbac06 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelFI.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 13454 "Create Reminder Level FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + Rec.Validate("Additional Fee (LCY)", 7.8); + if Rec."No." = 2 then + Rec.Validate("Additional Fee (LCY)", 15.6); + if Rec."No." = 3 then + Rec.Validate("Additional Fee (LCY)", 23.2); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupFI.Codeunit.al new file mode 100644 index 0000000000..c43ab99e56 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupFI.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 13456 "Create Sales Recv. Setup FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + CreateJobQueueCategory: Codeunit "Create Job Queue Category"; + begin + ValidateRecordFields(CreateJobQueueCategory.SalesPurchasePosting(), true, true, true); + end; + + local procedure ValidateRecordFields(JobQueueCategoryCode: Code[10]; InvoiceNo: Boolean; CustomerNo: Boolean; PrintReferenceNo: Boolean) + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + begin + SalesReceivablesSetup.Get(); + SalesReceivablesSetup.Validate("Job Queue Category Code", JobQueueCategoryCode); + SalesReceivablesSetup.Validate("Invoice No.", InvoiceNo); + SalesReceivablesSetup.Validate("Customer No.", CustomerNo); + SalesReceivablesSetup.Validate("Print Reference No.", PrintReferenceNo); + SalesReceivablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateCustomerFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateCustomerFI.Codeunit.al new file mode 100644 index 0000000000..715dc76dd6 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateCustomerFI.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 13442 "Create Customer FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateLanguage: Codeunit "Create Language"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, HelsinkiCityLbl, DomesticAdatumCorporationVatRegNoLbl, PostCode40530Lbl, CreatePaymentTerms.PaymentTermsM8D(), CreateLanguage.FIN()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, HelsinkiCityLbl, DomesticTreyResearchVatRegNoLbl, PostCode33200Lbl, CreatePaymentTerms.PaymentTermsDAYS30(), CreateLanguage.FIN()); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, MiamiCityLbl, ExportSchoolofArtVatRegNoLbl, USFL37125PostCodeLbl, CreatePaymentTerms.PaymentTermsCM(), CreateLanguage.ENU()); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, MunchenCityLbl, EUAlpineSkiHouseVatRegNoLbl, DE80807PostCodeLbl, CreatePaymentTerms.PaymentTermsM8D(), CreateLanguage.DEU()); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, HelsinkiCityLbl, DomesticRelecloudVatRegNoLbl, PostCode2170Lbl, CreatePaymentTerms.PaymentTermsDAYS14(), CreateLanguage.FIN()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; PaymentTermsCode: Code[10]; LanguageCode: Code[10]) + begin + Customer.Validate(City, City); + Customer.Validate("VAT Registration No.", VatRegNo); + Customer.Validate("Post Code", PostCode); + Customer.Validate("Payment Terms Code", PaymentTermsCode); + Customer.Validate("Language Code", LanguageCode); + end; + + var + HelsinkiCityLbl: Label 'Helsinki', MaxLength = 30, Locked = true; + MiamiCityLbl: Label 'Miami', MaxLength = 30, Locked = true; + MunchenCityLbl: Label 'Munchen', MaxLength = 30, Locked = true; + DomesticAdatumCorporationVatRegNoLbl: Label '789456278', MaxLength = 20; + DomesticTreyResearchVatRegNoLbl: Label '254687456', MaxLength = 20; + ExportSchoolofArtVatRegNoLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegNoLbl: Label '533435789', MaxLength = 20; + DomesticRelecloudVatRegNoLbl: Label '582048936', MaxLength = 20; + PostCode40530Lbl: Label '40530', MaxLength = 20; + PostCode33200Lbl: Label '33200', MaxLength = 20; + PostCode2170Lbl: Label '02170', MaxLength = 20; + USFL37125PostCodeLbl: Label 'US-FL 37125', MaxLength = 20; + DE80807PostCodeLbl: Label 'DE-80807', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateFI.Codeunit.al new file mode 100644 index 0000000000..baecfc30f2 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateFI.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 13415 "Create Customer Template FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerTemplate(var Rec: Record "Customer Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomerTemplate: Codeunit "Create Customer Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(), + CreateCustomerTemplate.CustomerPerson(): + ValidateRecordFields(Rec, ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; + + local procedure ValidateRecordFields(var CustomerTempl: Record "Customer Templ."; CountryRegionCode: Code[10]) + begin + CustomerTempl.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueFI.Codeunit.al new file mode 100644 index 0000000000..01199d6807 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueFI.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 13416 "Create Sales Dim Value FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressFI.Codeunit.al new file mode 100644 index 0000000000..d719fa2c01 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressFI.Codeunit.al @@ -0,0 +1,69 @@ +codeunit 13417 "Create Ship-to Address FI" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + Cheltenham(): + ValidateShiptoAddress(Rec, HelsinkiCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode1201Lbl); + London(): + ValidateShiptoAddress(Rec, HelsinkiCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode90100Lbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + Fleet(): + ValidateShiptoAddress(Rec, HelsinkiCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode80100Lbl); + TWYCross(): + ValidateShiptoAddress(Rec, HelsinkiCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode57810Lbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; CountryRegionCode: Code[10]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + procedure Cheltenham(): Code[10] + begin + exit(CheltenhamTok); + end; + + procedure London(): Code[10] + begin + exit(LondonTok); + end; + + procedure Fleet(): Code[10] + begin + exit(FleetTok); + end; + + procedure TWYCross(): Code[10] + begin + exit(TWYCrossTok); + end; + + var + CheltenhamTok: Label 'CHELTENHAM', MaxLength = 10; + LondonTok: Label 'LONDON', MaxLength = 10; + FleetTok: Label 'FLEET', MaxLength = 10; + TWYCrossTok: Label 'TWYCROSS', MaxLength = 10; + HelsinkiCityLbl: Label 'Helsinki', MaxLength = 30; + PostCode1201Lbl: Label '01201', MaxLength = 20; + PostCode90100Lbl: Label '90100', MaxLength = 20; + PostCode80100Lbl: Label '80100', MaxLength = 20; + PostCode57810Lbl: Label '57810', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/3.Transaction Data/CreateSalesDocumentFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/3.Transaction Data/CreateSalesDocumentFI.Codeunit.al new file mode 100644 index 0000000000..41132a2216 --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Data/Sales/3.Transaction Data/CreateSalesDocumentFI.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 13446 "Create Sales Document FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + CreateCustomer: Codeunit "Create Customer"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + SalesHeader.SetRange("Sell-to Customer No.", CreateCustomer.DomesticTreyResearch()); + if SalesHeader.FindSet() then + repeat + SalesHeader.Validate("Payment Terms Code", CreatePaymentTerms.PaymentTermsDAYS30()); + SalesHeader.Modify(true); + until SalesHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/CommonModuleFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/CommonModuleFI.Codeunit.al similarity index 74% rename from Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/CommonModuleFI.Codeunit.al rename to Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/CommonModuleFI.Codeunit.al index 64c9cf3648..05c71ccb1f 100644 --- a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/CommonModuleFI.Codeunit.al +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/CommonModuleFI.Codeunit.al @@ -8,15 +8,15 @@ codeunit 13404 "Common Module FI" var ContosoPostingSetup: Codeunit "Contoso Posting Setup"; CommonPostingGroup: Codeunit "Create Common Posting Group"; - CommonGLAccount: Codeunit "Create Common GL Account"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; LocalStandardVATPercentage: Decimal; begin if Module = Enum::"Contoso Demo Data Module"::"Common Module" then if ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data" then begin LocalStandardVATPercentage := 24; ContosoPostingSetup.SetOverwriteData(true); - ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CreateFIGLAccounts.Deferredtaxliability8(), CreateFIGLAccounts.Deferredtaxreceivables1(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); ContosoPostingSetup.SetOverwriteData(false); end; end; -} +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/ContosoDemoDataSetupFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/Contoso Helpers/ContosoDemoDataSetupFI.Codeunit.al similarity index 100% rename from Apps/FI/ContosoCoffeeDemoDatasetFI/app/Codeunits/ContosoDemoDataSetupFI.Codeunit.al rename to Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/Contoso Helpers/ContosoDemoDataSetupFI.Codeunit.al diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/Contoso Helpers/ContosoPostCodeFI.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/Contoso Helpers/ContosoPostCodeFI.Codeunit.al new file mode 100644 index 0000000000..c8a8e0f3fb --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/Contoso Helpers/ContosoPostCodeFI.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 13400 "Contoso Post Code FI" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/FIContosoLocalization.Codeunit.al b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/FIContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..3c7c5a336c --- /dev/null +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/Demo Tool/FIContosoLocalization.Codeunit.al @@ -0,0 +1,303 @@ +codeunit 13414 "FI Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResourceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Fixed Asset Module" then + FixedAssetModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::CRM then + CRMModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information FI"); + Codeunit.Run(Codeunit::"Create No. Series FI"); + Codeunit.Run(Codeunit::"Create Post Code FI"); + Codeunit.Run(Codeunit::"Create Job Queue Category FI"); + Codeunit.Run(Codeunit::"Create Vat Posting Groups FI"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line FI"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Bank Acc. Rec. FI"); + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupFI: Codeunit "Create VAT Posting Groups FI"; + CreateFIGLAccounts: Codeunit "Create FI GL Accounts"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + CreateVatPostingGroupFI.UpdateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create Posting Groups FI"); + Codeunit.Run(Codeunit::"Create General Ledger Setup FI"); + Codeunit.Run(Codeunit::"Create VATSetupPostingGrp. FI"); + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Currency Ex. Rate FI"); + CreateFIGLAccounts.AddCategoriesToGLAccounts(); + end; + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Sales Recv. Setup FI"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Sales Document FI"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Purch. Payable Setup FI"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Purchase Order FI"); + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create FA No. Series FI"); + end; + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Employee FI"); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Marketing Setup FI"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateCountryRegionFI: Codeunit "Create Country Region FI"; + CreateLocationFI: Codeunit "Create Location FI"; + CreateInvPostingSetupFI: Codeunit "Create Inv. Posting Setup FI"; + CreateItemFI: Codeunit "Create Item FI"; + CreateBankAccountFI: Codeunit "Create Bank Account FI"; + CreatePaymentMethodFI: Codeunit "Create Payment Method FI"; + CreateBankAccPostingGrpFI: Codeunit "Create Bank Acc Posting Grp FI"; + CreateEmployeeFI: Codeunit "Create Employee FI"; + CreateCustPostingGroupFI: Codeunit "Create Cust. Posting Group FI"; + CreateReminderLevelFI: Codeunit "Create Reminder Level FI"; + CreateCustomerFI: Codeunit "Create Customer FI"; + CreateCustomerTemplateFI: Codeunit "Create Customer Template FI"; + CreateSalesDimValueFI: Codeunit "Create Sales Dim Value FI"; + CreateShiptoAddressFI: Codeunit "Create Ship-to Address FI"; + CreateVendorFI: Codeunit "Create Vendor FI"; + CreateVendorTemplateFI: Codeunit "Create Vendor Template FI"; + CreateVendorPostingGroupFI: Codeunit "Create Vendor Posting Group FI"; + CreatePurchDimValueFI: Codeunit "Create Purch. Dim. Value FI"; + CreateResourceFI: Codeunit "Create Resource FI"; + CreateCurrencyFI: Codeunit "Create Currency FI"; + CreateCurrencyExchRateFI: Codeunit "Create Currency Ex. Rate FI"; + CreateFADepreciationBookFI: Codeunit "Create FA Depreciation Book FI"; + CreateFAPostingGrpFI: Codeunit "Create FA Posting Grp. FI"; + CreatePaymentTermsFI: Codeunit "Create Payment Terms FI"; + CreateAccScheduleLineFI: Codeunit "Create Acc. Schedule Line FI"; + CreateVatPostingGroupsFI: Codeunit "Create Vat Posting Groups FI"; + CreateEmployeeTemplateFI: Codeunit "Create Employee Template FI"; + CreateVATSetupPostingGrpFI: Codeunit "Create VATSetupPostingGrp. FI"; + CreateUnitOfMeasureTransFI: Codeunit "Create UnitOfMeasureTrans. FI"; + CreateVATStatementFI: Codeunit "Create VAT Statement FI"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + BindSubscription(CreateCountryRegionFI); + BindSubscription(CreatePaymentTermsFI); + BindSubscription(CreateUnitOfMeasureTransFI); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreatePaymentMethodFI); + BindSubscription(CreateBankAccountFI); + BindSubscription(CreateBankAccPostingGrpFI); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateInvPostingSetupFI); + BindSubscription(CreateItemFI); + BindSubscription(CreateLocationFI); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustomerFI); + BindSubscription(CreateCustomerTemplateFI); + BindSubscription(CreateShiptoAddressFI); + BindSubscription(CreateSalesDimValueFI); + BindSubscription(CreateReminderLevelFI); + BindSubscription(CreateCustPostingGroupFI); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorFI); + BindSubscription(CreateVendorTemplateFI); + BindSubscription(CreatePurchDimValueFI); + BindSubscription(CreateVendorPostingGroupFI); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCurrencyFI); + BindSubscription(CreateCurrencyExchRateFI); + BindSubscription(CreateResourceFI); + BindSubscription(CreateAccScheduleLineFI); + BindSubscription(CreateVatPostingGroupsFI); + BindSubscription(CreateVATSetupPostingGrpFI); + BindSubscription(CreateVATStatementFI); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + BindSubscription(CreateFADepreciationBookFI); + BindSubscription(CreateFAPostingGrpFI); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + begin + BindSubscription(CreateEmployeeFI); + BindSubscription(CreateEmployeeTemplateFI) + end; + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateCountryRegionFI: Codeunit "Create Country Region FI"; + CreateLocationFI: Codeunit "Create Location FI"; + CreateInvPostingSetupFI: Codeunit "Create Inv. Posting Setup FI"; + CreateItemFI: Codeunit "Create Item FI"; + CreateBankAccountFI: Codeunit "Create Bank Account FI"; + CreatePaymentMethodFI: Codeunit "Create Payment Method FI"; + CreateBankAccPostingGrpFI: Codeunit "Create Bank Acc Posting Grp FI"; + CreateEmployeeFI: Codeunit "Create Employee FI"; + CreateCustPostingGroupFI: Codeunit "Create Cust. Posting Group FI"; + CreateReminderLevelFI: Codeunit "Create Reminder Level FI"; + CreateCustomerFI: Codeunit "Create Customer FI"; + CreateCustomerTemplateFI: Codeunit "Create Customer Template FI"; + CreateSalesDimValueFI: Codeunit "Create Sales Dim Value FI"; + CreateShiptoAddressFI: Codeunit "Create Ship-to Address FI"; + CreateVendorFI: Codeunit "Create Vendor FI"; + CreateVendorTemplateFI: Codeunit "Create Vendor Template FI"; + CreateVendorPostingGroupFI: Codeunit "Create Vendor Posting Group FI"; + CreatePurchDimValueFI: Codeunit "Create Purch. Dim. Value FI"; + CreateResourceFI: Codeunit "Create Resource FI"; + CreateCurrencyFI: Codeunit "Create Currency FI"; + CreateCurrencyExchRateFI: Codeunit "Create Currency Ex. Rate FI"; + CreateFADepreciationBookFI: Codeunit "Create FA Depreciation Book FI"; + CreateFAPostingGrpFI: Codeunit "Create FA Posting Grp. FI"; + CreatePaymentTermsFI: Codeunit "Create Payment Terms FI"; + CreateAccScheduleLineFI: Codeunit "Create Acc. Schedule Line FI"; + CreateVatPostingGroupsFI: Codeunit "Create Vat Posting Groups FI"; + CreateEmployeeTemplateFI: Codeunit "Create Employee Template FI"; + CreateVATSetupPostingGrpFI: Codeunit "Create VATSetupPostingGrp. FI"; + CreateUnitOfMeasureTransFI: Codeunit "Create UnitOfMeasureTrans. FI"; + CreateVATStatementFI: Codeunit "Create VAT Statement FI"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + UnBindSubscription(CreateCountryRegionFI); + UnbindSubscription(CreatePaymentTermsFI); + UnBindSubscription(CreateUnitOfMeasureTransFI); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnBindSubscription(CreatePaymentMethodFI); + UnBindSubscription(CreateBankAccountFI); + UnBindSubscription(CreateBankAccPostingGrpFI); + end; + + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnBindSubscription(CreateInvPostingSetupFI); + UnBindSubscription(CreateItemFI); + UnBindSubscription(CreateLocationFI); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnBindSubscription(CreateCustomerFI); + UnBindSubscription(CreateCustomerTemplateFI); + UnBindSubscription(CreateShiptoAddressFI); + UnBindSubscription(CreateSalesDimValueFI); + UnBindSubscription(CreateReminderLevelFI); + UnBindSubscription(CreateCustPostingGroupFI); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnBindSubscription(CreateVendorFI); + UnBindSubscription(CreateVendorTemplateFI); + UnBindSubscription(CreatePurchDimValueFI); + UnBindSubscription(CreateVendorPostingGroupFI); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnBindSubscription(CreateCurrencyFI); + UnBindSubscription(CreateCurrencyExchRateFI); + UnBindSubscription(CreateResourceFI); + UnBindSubscription(CreateAccScheduleLineFI); + UnBindSubscription(CreateVatPostingGroupsFI); + UnBindSubscription(CreateVATSetupPostingGrpFI); + UnbindSubscription(CreateVATStatementFI); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + UnBindSubscription(CreateFADepreciationBookFI); + UnBindSubscription(CreateFAPostingGrpFI); + end; + + Enum::"Contoso Demo Data Module"::"Human Resources Module": + begin + UnBindSubscription(CreateEmployeeFI); + UnBindSubscription(CreateEmployeeTemplateFI) + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/app.json b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/app.json index d2144ba28e..43872cdc45 100644 --- a/Apps/FI/ContosoCoffeeDemoDatasetFI/app/app.json +++ b/Apps/FI/ContosoCoffeeDemoDatasetFI/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 13400, - "to": 13410 + "to": 13510 } ], "resourceExposurePolicy": { diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostGrpFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostGrpFR.Codeunit.al new file mode 100644 index 0000000000..7c781f41f2 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/1. Setup Data/CreateBankAccPostGrpFR.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 10873 "Create Bank Acc. Post. Grp FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccountingpostingGrp(var Rec: Record "Bank Account Posting Group") + var + CreateGLAccount: Codeunit "Create G/L Account"; + CreateBankAccPostingGroup: Codeunit "Create Bank Acc. Posting Grp"; + begin + case Rec.Code of + CreateBankAccPostingGroup.Checking(): + ValidateBankAccountingpostingGrp(Rec, CreateGLAccount.BankLcy()); + CreateBankAccPostingGroup.Operating(): + ValidateBankAccountingpostingGrp(Rec, CreateGLAccount.RevolvingCredit()); + CreateBankAccPostingGroup.Savings(): + ValidateBankAccountingpostingGrp(Rec, CreateGLAccount.GiroAccount()); + end; + end; + + local procedure ValidateBankAccountingpostingGrp(var BankAccountPostingGrp: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGrp.Validate("G/L Account No.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/2. Master Data/CreateBankAccountFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/2. Master Data/CreateBankAccountFR.Codeunit.al new file mode 100644 index 0000000000..12d4276f1d --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/2. Master Data/CreateBankAccountFR.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 10874 "Create Bank Account FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + ContosoCoffeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + ContosoCoffeDemoDataSetup.Get(); + case Rec."No." of + CreateBankAccount.Checking(): + ValidateBankAccount(Rec, '98765432105', CityParisLbl, PostcodeParisLbl, CheckingBankBranchNoLbl, -1447200, AgencyCodeLbl, 72, true); + CreateBankAccount.Savings(): + ValidateBankAccount(Rec, '98765432105', CityParisLbl, PostcodeParisLbl, CheckingBankBranchNoLbl, 0, AgencyCodeLbl, 72, true); + end; + end; + + local procedure ValidateBankAccount(var BankAccount: Record "Bank Account"; BankAccountNo: Text[30]; BankAccCity: Text[30]; PostCode: Code[20]; BankBranchNo: Text[30]; MinBalance: Decimal; AgencyCode: Text[5]; RibKey: Integer; RibChecked: Boolean) + begin + BankAccount.Validate(City, BankAccCity); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Bank Branch No.", BankBranchNo); + BankAccount.Validate("Bank Account No.", BankAccountNo); + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Agency Code", AgencyCode); + BankAccount.Validate("RIB Key", RibKey); + BankAccount.Validate("RIB Checked", RibChecked); + end; + + var + CityParisLbl: Label 'Paris', MaxLength = 30; + PostcodeParisLbl: Label '75015', MaxLength = 20; + CheckingBankBranchNoLbl: Label '00987', MaxLength = 20; + AgencyCodeLbl: Label '12356', MaxLength = 5; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/3. Transaction Data/CreateGenJournalLineFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/3. Transaction Data/CreateGenJournalLineFR.Codeunit.al new file mode 100644 index 0000000000..b27125378b --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Bank/3. Transaction Data/CreateGenJournalLineFR.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 10898 "Create Gen. Journal Line FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGenJournalLine(); + UpdateBankAccReconciliationLine(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -2757.62); + 20000: + Rec.Validate(Amount, -4136.43); + 30000: + Rec.Validate(Amount, -5515.24); + 40000: + Rec.Validate(Amount, -5515.24); + end; + end; + + local procedure UpdateGenJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.Get(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000); + if GenJournalLine."Account No." = '' then begin + GenJournalLine.Validate(Amount, 0); + GenJournalLine.Modify(true); + end; + end; + + local procedure UpdateBankAccReconciliationLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + BankAccount: Record "Bank Account"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccount.Get(CreateBankAccount.Checking()); + + BankAccReconciliationLine.Get(BankAccReconciliationLine."Statement Type"::"Bank Reconciliation", BankAccount."No.", BankAccount."Last Statement No.", 30000); + BankAccReconciliationLine.Validate("Transaction Text", DepositToAccountLbl); + BankAccReconciliationLine.Validate(Description, CopyStr(BankAccReconciliationLine."Transaction Text", 1, MaxStrLen(BankAccReconciliationLine.Description))); + BankAccReconciliationLine.Modify(true); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18/01/24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineFR.Codeunit.al new file mode 100644 index 0000000000..79eb0e6f28 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateAccScheduleLineFR.Codeunit.al @@ -0,0 +1,140 @@ +codeunit 10859 "Create Acc. Schedule Line FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, CreateGLAccount.NetIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlowCalculation() then + case Rec."Line No." of + 150000: + Rec.Validate(Description, CostsfromoperationLbl); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.SecuritiesTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 110000: + ValidateRecordFields(Rec, CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 130000: + ValidateRecordFields(Rec, CreateGLAccount.VatTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 140000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelRelatedItems(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 150000: + ValidateRecordFields(Rec, CreateGLAccount.OtherLiabilitiesTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000, 60000, 70000, 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal() + '|' + CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '607*|6087*|6097*|6037*|601*|602*|6081*|6082*|6091*|6092*|6031*|6032*|604*|605*|606*|6084*|6085*|6086*|6094*|6095*|6096*|61*|62*|63*|641*|644*645*|646*|647*|648*|6811*|6812*|6816*|6817*|6815*|650000..654999|656000..659999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsOfOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + begin + ValidateRecordFields(Rec, CreateGLAccount.TotalSalesOfRetail() + '|' + CreateGLAccount.TotalSalesOfRawMaterials() + '|75*', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + Rec.Validate(Description, TotalRevenueLbl); + end; + 20000: + ValidateRecordFields(Rec, '60*|9*', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, '61*|62*|63*|64*|65*', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 80000: + ValidateRecordFields(Rec, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 90000: + ValidateRecordFields(Rec, CreateGLAccount.TotalSalesOfRetail() + '|' + CreateGLAccount.TotalSalesOfRawMaterials() + '|75*|60*|9*|61*|62*|63*|64*|65*', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000, 70000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailEu(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.JobSalesAppliedRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 80000: + ValidateRecordFields(Rec, CreateGLAccount.TotalSalesOfRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 100000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesOfRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 110000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesOfRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 120000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesOfRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + 130000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesOfRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + CostsfromoperationLbl: Label 'Costs from operation', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateCurrencyFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateCurrencyFR.Codeunit.al new file mode 100644 index 0000000000..b2d4291695 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateCurrencyFR.Codeunit.al @@ -0,0 +1,76 @@ +codeunit 10865 "Create Currency FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + SingleInstance = true; + EventSubscriberInstance = Manual; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.RUB(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, CreateGLAccount.RealizedFxGains(), CreateGLAccount.RealizedFxLosses()); + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec, CreateGLAccount.RealizedFxGains(), CreateGLAccount.RealizedFxLosses()); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateGLAccountFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateGLAccountFR.Codeunit.al new file mode 100644 index 0000000000..4fe77d80b3 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateGLAccountFR.Codeunit.al @@ -0,0 +1,1345 @@ +codeunit 10863 "Create GL Account FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + local procedure AddGLAccountforFR() + var + GLAccountCategory: Record "G/L Account Category"; + GLAccountIndent: Codeunit "G/L Account-Indent"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + SubCategory: Text[80]; + begin + ContosoGLAccount.SetOverwriteData(true); + + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssets(), CreateGLAccount.FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncreasesduringtheYearBuildings(), CreateGLAccount.IncreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearBuildings(), CreateGLAccount.DecreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SupplementaryTaxesPayable(), CreateGLAccount.SupplementaryTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncreasesduringtheYearOperEquip(), CreateGLAccount.IncreasesduringtheYearOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearOperEquip(), CreateGLAccount.DecreasesduringtheYearOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncreasesduringtheYearVehicles(), CreateGLAccount.IncreasesduringtheYearVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearVehicles(), CreateGLAccount.DecreasesduringtheYearVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildings(), CreateGLAccount.LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OperatingEquipment(), CreateGLAccount.OperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Vehicles(), CreateGLAccount.VehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAccumDeprec(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDepreciationBuildings(), CreateGLAccount.AccumDepreciationBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDeprOperEquip(), CreateGLAccount.AccumDeprOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDepreciationVehicles(), CreateGLAccount.AccumDepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities); + ContosoGLAccount.InsertGLAccount(VendorsBillsPayable(), VendorsBillsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsVen(), FixedAssetsVenName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsPayable(), CreateGLAccount.AccountsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsDomestic(), CreateGLAccount.VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsForeign(), CreateGLAccount.VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchasePrepayments(), CreateGLAccount.PurchasePrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorPrepaymentsVAT(), CreateGLAccount.VendorPrepaymentsVATName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVatRedueced(), VendorPrepaymentsVatReduecedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVatStandard(), VendorPrepaymentsVatStandardName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchasePrepaymentsTotal(), CreateGLAccount.PurchasePrepaymentsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PurchasePrepayments() + '..' + CreateGLAccount.PurchasePrepaymentsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsPayableTotal(), CreateGLAccount.AccountsPayableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AccountsPayable() + '..' + CreateGLAccount.AccountsPayableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DividendsForTheFiscalYear(), CreateGLAccount.DividendsForTheFiscalYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilitiesTotal(), CreateGLAccount.OtherLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherLiabilities() + '..' + CreateGLAccount.OtherLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DisposalOfFixedAssets(), DisposalOfFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherReceivables(), CreateGLAccount.OtherReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFxLosses(), CreateGLAccount.UnrealizedFxLossesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFxGains(), CreateGLAccount.UnrealizedFxGainsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TemporaryAccount(), TemporaryAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RealizedGainAddCurrent(), RealizedGainAddCurrentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RealizedGainAddCurr(), RealizedGainAddCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccruedJobCosts(), CreateGLAccount.AccruedJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AllowancesTotal(), CreateGLAccount.AllowancesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.Allowances() + '..' + CreateGLAccount.AllowancesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(StateAndOtherGovernments(), StateAndOtherGovernmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WithholdingTaxesPayable(), CreateGLAccount.WithholdingTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CorporateTaxesPayable(), CreateGLAccount.CorporateTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VatPayable(), CreateGLAccount.VatPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NaturalGasTax(), CreateGLAccount.NaturalGasTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CoalTax(), CreateGLAccount.CoalTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UseTaxGaReversing(), UseTaxGaReversingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UseTaxFlReversing(), UseTaxFlReversingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UseTaxGa(), UseTaxGaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(UseTaxFl(), UseTaxFlName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeductibleVatIntra(), DeductibleVatIntraName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NormDeducVatInter(), NormDeducVatInterName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ReducDeducVatInter(), ReducDeducVatInterName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesTaxGa(), SalesTaxGaName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesTaxFl(), SalesTaxFlName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VatOnSalesNormOnHold(), VatOnSalesNormOnHoldName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VatOnSalesReducOnHold(), VatOnSalesReducOnHoldName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VatPayableInterim(), VatPayableInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WaterTax(), CreateGLAccount.WaterTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FuelTax(), CreateGLAccount.FuelTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Co2Tax(), CreateGLAccount.Co2TaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityTax(), CreateGLAccount.ElectricityTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VatTotal(), CreateGLAccount.VatTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, StateAndOtherGovernments() + '..' + CreateGLAccount.VatTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PersonnelRelatedItems(), CreateGLAccount.PersonnelRelatedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PayrollTaxesPayable(), CreateGLAccount.PayrollTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VacationCompensationPayable(), CreateGLAccount.VacationCompensationPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EmployeesPayable(), CreateGLAccount.EmployeesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalPersonnelRelatedItems(), CreateGLAccount.TotalPersonnelRelatedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelRelatedItems() + '..' + CreateGLAccount.TotalPersonnelRelatedItems(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Equity); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Stockholder(), CreateGLAccount.StockholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncomeForTheYear(), CreateGLAccount.NetIncomeForTheYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DerogatoryAccount(), DerogatoryAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalStockholder(), CreateGLAccount.TotalStockholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Stockholder() + '..' + CreateGLAccount.TotalStockholder(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesOfRawMaterials(), CreateGLAccount.SalesOfRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSales(), CreateGLAccount.JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtRetail(), CreateGLAccount.JobSalesAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtRawMat(), CreateGLAccount.JobSalesAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAdjmtResources(), CreateGLAccount.JobSalesAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesOtherJobExpenses(), CreateGLAccount.SalesOtherJobExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeProdSales(), 80); + ContosoGLAccount.InsertGLAccount(SalesRawMat(), SalesRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesOfRetail(), CreateGLAccount.SalesOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsDom(), CreateGLAccount.SalesRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsEu(), CreateGLAccount.SalesRawMaterialsEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.SalesRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRawMaterialsSales(), TotalRawMaterialsSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesRawMat() + '..' + TotalRawMaterialsSales(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRawMat(), CreateGLAccount.JobSalesAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedResources(), CreateGLAccount.JobSalesAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRetail(), CreateGLAccount.JobSalesAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultingFeesDom(), CreateGLAccount.ConsultingFeesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesDom(), CreateGLAccount.SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesEu(), CreateGLAccount.SalesResourcesEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailDom(), CreateGLAccount.SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailEu(), CreateGLAccount.SalesRetailEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FeesAndChargesRecDom(), CreateGLAccount.FeesAndChargesRecDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SideActFranceGains(), SideActFranceGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SideActIntraGains(), SideActIntraGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SideActExportGains(), SideActExportGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSalesOfRetail(), CreateGLAccount.TotalSalesOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesOfRetail() + '..' + CreateGLAccount.TotalSalesOfRetail(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::"Cost of Goods Sold"); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cost(), CreateGLAccount.CostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostOfRetail(), CreateGLAccount.CostOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsEu(), CreateGLAccount.PurchRawMaterialsEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GasolineAndMotorOil(), CreateGLAccount.GasolineAndMotorOilName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRawMat(), CreateGLAccount.InventoryAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRawMat(), CreateGLAccount.InvAdjmtInterimRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostOfRawMaterialsSold(), CreateGLAccount.CostOfRawMaterialsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostOfRawMatSoldInterim(), CreateGLAccount.CostOfRawMatSoldInterimName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.InvAdjmtInterimRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfRetailSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.CostOfResaleSoldInterimName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityAndHeating(), CreateGLAccount.ElectricityAndHeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailDom(), CreateGLAccount.PurchRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailEu(), CreateGLAccount.PurchRetailEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailExport(), CreateGLAccount.PurchRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRawMat(), CreateGLAccount.DeliveryExpensesRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRetail(), CreateGLAccount.DeliveryExpensesRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalCostOfRetail(), CreateGLAccount.TotalCostOfRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CostOfRetail() + '..' + CreateGLAccount.TotalCostOfRetail(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventAdjustOverhead(), InventAdjustOverheadName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventAdjustPurchVar(), InventAdjustPurchVarName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResourceUsageCosts(), ResourceUsageCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncidentalCost(), IncidentalCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncidentalCostsIntra(), IncidentalCostsIntraName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncidentalCosts(), IncidentalCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalCost(), CreateGLAccount.TotalCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.Cost() + '..' + CreateGLAccount.TotalCost(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BuildingMaintenanceExpenses(), CreateGLAccount.BuildingMaintenanceExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cleaning(), CreateGLAccount.CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenanceExpense(), CreateGLAccount.RepairsandMaintenanceExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.RepairsandMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherCostsOfOperations(), CreateGLAccount.OtherCostsOfOperationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Software(), CreateGLAccount.SoftwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalBldgMaintExpenses(), CreateGLAccount.TotalBldgMaintExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.BuildingMaintenanceExpenses() + '..' + CreateGLAccount.TotalBldgMaintExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SellingExpenses(), CreateGLAccount.SellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultantServices(), CreateGLAccount.ConsultantServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LegalAndAccountingServices(), CreateGLAccount.LegalAndAccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), CreateGLAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EntertainmentAndPr(), CreateGLAccount.EntertainmentAndPrName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PhoneAndFax(), CreateGLAccount.PhoneAndFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherComputerExpenses(), CreateGLAccount.OtherComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSellingExpenses(), CreateGLAccount.TotalSellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SellingExpenses() + '..' + CreateGLAccount.TotalSellingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AdministrativeExpenses(), CreateGLAccount.AdministrativeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DayReleaseParticipation(), DayReleaseParticipationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfesionalTax(), ProfesionalTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAdministrativeExpenses(), CreateGLAccount.TotalAdministrativeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AdministrativeExpenses() + '..' + CreateGLAccount.TotalAdministrativeExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Miscellaneous(), CreateGLAccount.MiscellaneousName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 1, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PaymentToleranceGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ComputerExpenses(), CreateGLAccount.ComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BadDebtExpenses(), CreateGLAccount.BadDebtExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryExpenses(), CreateGLAccount.ExtraordinaryExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalComputerExpenses(), CreateGLAccount.TotalComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ComputerExpenses() + '..' + CreateGLAccount.TotalComputerExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DepreciationOfFixedAssets(), CreateGLAccount.DepreciationOfFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DepreciationBuildings(), CreateGLAccount.DepreciationBuildingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DepreciationEquipment(), CreateGLAccount.DepreciationEquipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DepreciationVehicles(), CreateGLAccount.DepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TransportsOnPurchases(), TransportsOnPurchasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TransportsOnSells(), TransportsOnSellsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ApplicationRoundDebit(), ApplicationRoundDebitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BookValueOfAssetsSold(), BookValueOfAssetsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DerogExpenseAccForDebit(), DerogExpenseAccForDebitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalFixedAssetDepreciation(), CreateGLAccount.TotalFixedAssetDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.DepreciationOfFixedAssets() + '..' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PersonnelExpenses(), CreateGLAccount.PersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Salaries(), CreateGLAccount.SalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Wages(), CreateGLAccount.WagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VacationCompensation(), CreateGLAccount.VacationCompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PayrollTaxes(), CreateGLAccount.PayrollTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetirementPlanContributions(), CreateGLAccount.RetirementPlanContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalPersonnelExpenses(), CreateGLAccount.TotalPersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelExpenses() + '..' + CreateGLAccount.TotalPersonnelExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CotisationToMutualCompany(), CotisationToMutualCompanyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CotisationToAssedic(), CotisationToAssedicName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPersonalCosts(), OtherPersonalCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSLabor(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtRetail(), CreateGLAccount.JobCostAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtRawMaterials(), CreateGLAccount.JobCostAdjmtRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAdjmtResources(), CreateGLAccount.JobCostAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedRawMat(), CreateGLAccount.JobCostAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedRetail(), CreateGLAccount.JobCostAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedResources(), CreateGLAccount.JobCostAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostOfResourcesUsed(), CreateGLAccount.CostOfResourcesUsedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCash(), 80); + ContosoGLAccount.InsertGLAccount(FinancialAccounts(), FinancialAccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Securities(), CreateGLAccount.SecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Bonds(), CreateGLAccount.BondsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SecuritiesTotal(), CreateGLAccount.SecuritiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Securities() + '..' + CreateGLAccount.SecuritiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiquidAssets(), CreateGLAccount.LiquidAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BankLcy(), CreateGLAccount.BankLcyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RevolvingCredit(), CreateGLAccount.RevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BankCurrencies(), CreateGLAccount.BankCurrenciesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GiroAccount(), CreateGLAccount.GiroAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiquidAssetsTotal(), CreateGLAccount.LiquidAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LiquidAssets() + '..' + CreateGLAccount.LiquidAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cash(), CreateGLAccount.CashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CheckToCash(), CheckToCashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsForCollection(), BillsForCollectionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DiscountedBills(), DiscountedBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankAddCurr(), BankAddCurrName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinAccountsTotal(), FinAccountsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 1, FinancialAccounts() + '..' + FinAccountsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInterestExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestExpenses(), CreateGLAccount.InterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestOnBankLoans(), CreateGLAccount.InterestOnBankLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestOnRevolvingCredit(), CreateGLAccount.InterestOnRevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.MortgageInterest(), CreateGLAccount.MortgageInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesToVendors(), CreateGLAccount.FinanceChargesToVendorsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFxLosses(), CreateGLAccount.RealizedFxLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CashDiscrepancies(), CreateGLAccount.CashDiscrepanciesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalInterestExpenses(), CreateGLAccount.TotalInterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InterestExpenses() + '..' + CreateGLAccount.TotalInterestExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EuroConvRoundLosses(), EuroConvRoundLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ApplicationRoundingLcy(), ApplicationRoundingLcyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeferredTaxes(), CreateGLAccount.DeferredTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Liabilities(), CreateGLAccount.LiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LongTermBankLoans(), CreateGLAccount.LongTermBankLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Mortgage(), CreateGLAccount.MortgageName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilities(), CreateGLAccount.TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Liabilities() + '..' + CreateGLAccount.TotalLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAssets(), CreateGLAccount.TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.Assets() + '..' + CreateGLAccount.TotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssetsTotal(), CreateGLAccount.FixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.FixedAssets() + '..' + CreateGLAccount.FixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermLoan(), ShortTermLoanName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInventory(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Inventory(), CreateGLAccount.InventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterialsInterim(), CreateGLAccount.RawMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PrimoInventory(), CreateGLAccount.PrimoInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WipJobSales(), CreateGLAccount.WipJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoicedJobSales(), CreateGLAccount.InvoicedJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoodsInterim(), CreateGLAccount.FinishedGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItemsInterim(), CreateGLAccount.ResaleItemsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryTotal(), CreateGLAccount.InventoryTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Inventory() + '..' + CreateGLAccount.InventoryTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WipJobCost(), WipJobCostName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsReceivable(), CreateGLAccount.AccountsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersDomestic(), CreateGLAccount.CustomersDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersForeign(), CreateGLAccount.CustomersForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccruedInterest(), CreateGLAccount.AccruedInterestName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesPrepayments(), CreateGLAccount.SalesPrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomerPrepaymentsVat0(), CreateGLAccount.CustomerPrepaymentsVat0Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesPrepaymentsTotal(), CreateGLAccount.SalesPrepaymentsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesPrepayments() + '..' + CreateGLAccount.SalesPrepaymentsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVatReduced(), CustomerPrepaymentsVatReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVatStandard(), CustomerPrepaymentsVatStandardName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ClientsBillsReceivable(), ClientsBillsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsReceivableTotal(), CreateGLAccount.AccountsReceivableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AccountsReceivable() + '..' + CreateGLAccount.AccountsReceivableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Revenue(), CreateGLAccount.RevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSalesOfRawMaterials(), CreateGLAccount.TotalSalesOfRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesOfRawMaterials() + '..' + CreateGLAccount.TotalSalesOfRawMaterials(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentToleranceReceived(), CreateGLAccount.PaymentToleranceReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolGrantedDecreases(), CreateGLAccount.PmtTolGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesFromCustomers(), CreateGLAccount.FinanceChargesFromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PaymentDiscountsReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFxGains(), CreateGLAccount.RealizedFxGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PmtTolReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestOnBankBalances(), CreateGLAccount.InterestOnBankBalancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalInterestIncome(), CreateGLAccount.TotalInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InterestIncome() + '..' + CreateGLAccount.TotalInterestIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryIncome(), CreateGLAccount.ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalRevenue(), CreateGLAccount.TotalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 1, CreateGLAccount.Revenue() + '..' + CreateGLAccount.TotalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ApplicationRoundingDebit(), ApplicationRoundingDebitName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EuroConvRoundGains(), EuroConvRoundGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssetsSoldGains(), AssetsSoldGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DerogExpenseAccForCredit(), DerogExpenseAccForCreditName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BalanceSheet(), CreateGLAccount.BalanceSheetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Allowances(), CreateGLAccount.AllowancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilitiesAndEquity(), CreateGLAccount.TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.BalanceSheet() + '..' + CreateGLAccount.TotalLiabilitiesAndEquity(), Enum::"General Posting Type"::" ", '', '', false, false, true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncome(), CreateGLAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GeneralTotal(), GeneralTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", SubCategory, Enum::"G/L Account Type"::Total, '', '', 2, '1..' + GeneralTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.SetOverwriteData(false); + GLAccountIndent.Indent(); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforBE() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ModifyGLAccountOfW1(); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), '100000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '100002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), '100003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), '101000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), '106000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeForTheYearName(), '120000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), '149990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), '155000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), '160003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermBankLoansName(), '164100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), '164400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '169990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), '199990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '200002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), '201000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), '203000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), '205000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), '206000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), '207000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), '208000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), '211000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), '213100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), '215000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), '218200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), '281300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), '281500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), '281820'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), '299990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), '300002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '310000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), '318000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), '320000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobSalesName(), '335100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), '335900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '350000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), '358000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), '370000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), '378000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), '399990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), '400002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), '400003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '401100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '401900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), '409100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), '409110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), '409199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), '409990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '410002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), '411100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), '411900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), '418800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), '419100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat0Name(), '419110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), '419199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), '419990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelRelatedItemsName(), '420002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), '431000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), '438200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), '438300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelRelatedItemsName(), '439990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), '441000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), '444000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatPayableName(), '445510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), '445620'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), '445670'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), '446100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), '447100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Co2TaxName(), '447200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), '448200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatTotalName(), '449990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '450002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsForTheFiscalYearName(), '457000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), '459990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), '467000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxLossesName(), '476000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxGainsName(), '477000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), '486100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), '499990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '500003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '506000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), '509990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '511001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLcyName(), '512100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), '512200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), '512400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), '514000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), '519990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '531000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), '599990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), '600000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), '600002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailName(), '600003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), '601100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEuName(), '601200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), '601900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineAndMotorOilName(), '602210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '602250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), '603110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), '603118'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsSoldName(), '603120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMatSoldInterimName(), '603128'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), '603710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), '603718'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailSoldName(), '603720'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResaleSoldInterimName(), '603728'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityAndHeatingName(), '606100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), '607100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEuName(), '607200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), '607900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), '608100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), '608700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), '609100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), '609700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRetailName(), '609990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), '610002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '613200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), '615200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), '615500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsOfOperationsName(), '618000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), '618300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), '619990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), '620002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), '622600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalAndAccountingServicesName(), '622700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '623000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), '625100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentAndPrName(), '625700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '626100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneAndFaxName(), '626200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), '628100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), '629990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), '630002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), '635400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), '639990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '640002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '641110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), '641120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), '641200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), '645100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), '645300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), '649990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), '658000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), '658600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), '658700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '660002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankLoansName(), '661160'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnRevolvingCreditName(), '661600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), '661700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesToVendorsName(), '661800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), '665000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxLossesName(), '666100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), '668000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), '669990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), '670002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), '671400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '678800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), '679990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationOfFixedAssetsName(), '680002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), '681121'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), '681122'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), '681123'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), '689990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), '695000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), '699990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), '700002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRetailName(), '700003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), '702100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEuName(), '702200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), '702900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), '704100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), '704300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), '704700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), '705000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), '706100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEuName(), '706200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), '706900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), '707100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEuName(), '707200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), '707900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesAndChargesRecDomName(), '708000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), '709000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '709100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRetailName(), '709990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRawMaterialsName(), '710002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '713450'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), '713451'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), '713452'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), '713453'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), '713480'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '713490'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), '713491'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), '713492'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), '713493'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), '713510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), '713550'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), '713560'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesUsedName(), '713590'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRawMaterialsName(), '719990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), '758600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), '758700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), '760002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesFromCustomersName(), '763000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), '765000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxGainsName(), '766100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), '766500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankBalancesName(), '768000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), '769990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '778800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), '799990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), '889990'); + ContosoGLAccount.AddAccountForLocalization(DerogatoryAccountName(), '145000'); + ContosoGLAccount.AddAccountForLocalization(ShortTermLoanName(), '164800'); + ContosoGLAccount.AddAccountForLocalization(WipJobCostName(), '345200'); + ContosoGLAccount.AddAccountForLocalization(VendorsBillsPayableName(), '403000'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsVenName(), '404100'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVatReduecedName(), '409120'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVatStandardName(), '409130'); + ContosoGLAccount.AddAccountForLocalization(ClientsBillsReceivableName(), '413000'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVatReducedName(), '419120'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVatStandardName(), '419130'); + ContosoGLAccount.AddAccountForLocalization(StateAndOtherGovernmentsName(), '440002'); + ContosoGLAccount.AddAccountForLocalization(UseTaxGaReversingName(), '445210'); + ContosoGLAccount.AddAccountForLocalization(UseTaxFlReversingName(), '445220'); + ContosoGLAccount.AddAccountForLocalization(UseTaxGaName(), '445661'); + ContosoGLAccount.AddAccountForLocalization(UseTaxFlName(), '445662'); + ContosoGLAccount.AddAccountForLocalization(DeductibleVatIntraName(), '445665'); + ContosoGLAccount.AddAccountForLocalization(NormDeducVatInterName(), '445681'); + ContosoGLAccount.AddAccountForLocalization(ReducDeducVatInterName(), '445682'); + ContosoGLAccount.AddAccountForLocalization(SalesTaxGaName(), '445711'); + ContosoGLAccount.AddAccountForLocalization(SalesTaxFlName(), '445712'); + ContosoGLAccount.AddAccountForLocalization(VatOnSalesNormOnHoldName(), '445781'); + ContosoGLAccount.AddAccountForLocalization(VatOnSalesReducOnHoldName(), '445782'); + ContosoGLAccount.AddAccountForLocalization(VatPayableInterimName(), '445800'); + ContosoGLAccount.AddAccountForLocalization(DisposalOfFixedAssetsName(), '462000'); + ContosoGLAccount.AddAccountForLocalization(TemporaryAccountName(), '471000'); + ContosoGLAccount.AddAccountForLocalization(RealizedGainAddCurrentName(), '476500'); + ContosoGLAccount.AddAccountForLocalization(RealizedGainAddCurrName(), '477500'); + ContosoGLAccount.AddAccountForLocalization(FinancialAccountsName(), '500002'); + ContosoGLAccount.AddAccountForLocalization(CheckToCashName(), '511200'); + ContosoGLAccount.AddAccountForLocalization(BillsForCollectionName(), '511300'); + ContosoGLAccount.AddAccountForLocalization(DiscountedBillsName(), '511400'); + ContosoGLAccount.AddAccountForLocalization(BankAddCurrName(), '512800'); + ContosoGLAccount.AddAccountForLocalization(FinAccountsTotalName(), '599930'); + ContosoGLAccount.AddAccountForLocalization(InventAdjustOverheadName(), '603711'); + ContosoGLAccount.AddAccountForLocalization(InventAdjustPurchVarName(), '603712'); + ContosoGLAccount.AddAccountForLocalization(ResourceUsageCostsName(), '604000'); + ContosoGLAccount.AddAccountForLocalization(IncidentalCostName(), '608000'); + ContosoGLAccount.AddAccountForLocalization(IncidentalCostsIntraName(), '608200'); + ContosoGLAccount.AddAccountForLocalization(IncidentalCostsName(), '608900'); + ContosoGLAccount.AddAccountForLocalization(TransportsOnPurchasesName(), '624100'); + ContosoGLAccount.AddAccountForLocalization(TransportsOnSellsName(), '624200'); + ContosoGLAccount.AddAccountForLocalization(DayReleaseParticipationName(), '633300'); + ContosoGLAccount.AddAccountForLocalization(ProfesionalTaxName(), '635110'); + ContosoGLAccount.AddAccountForLocalization(CotisationToMutualCompanyName(), '645200'); + ContosoGLAccount.AddAccountForLocalization(CotisationToAssedicName(), '645400'); + ContosoGLAccount.AddAccountForLocalization(OtherPersonalCostsName(), '648000'); + ContosoGLAccount.AddAccountForLocalization(ApplicationRoundDebitName(), '658500'); + ContosoGLAccount.AddAccountForLocalization(ApplicationRoundingLcyName(), '666500'); + ContosoGLAccount.AddAccountForLocalization(EuroConvRoundLossesName(), '668800'); + ContosoGLAccount.AddAccountForLocalization(BookValueOfAssetsSoldName(), '675200'); + ContosoGLAccount.AddAccountForLocalization(DerogExpenseAccForDebitName(), '687250'); + ContosoGLAccount.AddAccountForLocalization(SalesRawMatName(), '702002'); + ContosoGLAccount.AddAccountForLocalization(TotalRawMaterialsSalesName(), '702990'); + ContosoGLAccount.AddAccountForLocalization(SideActFranceGainsName(), '708810'); + ContosoGLAccount.AddAccountForLocalization(SideActIntraGainsName(), '708820'); + ContosoGLAccount.AddAccountForLocalization(SideActExportGainsName(), '708890'); + ContosoGLAccount.AddAccountForLocalization(ApplicationRoundingDebitName(), '758500'); + ContosoGLAccount.AddAccountForLocalization(EuroConvRoundGainsName(), '768800'); + ContosoGLAccount.AddAccountForLocalization(AssetsSoldGainsName(), '775200'); + ContosoGLAccount.AddAccountForLocalization(DerogExpenseAccForCreditName(), '787250'); + ContosoGLAccount.AddAccountForLocalization(GeneralTotalName(), '899999'); + AddGLAccountforFR(); + end; + + local procedure ModifyGLAccountOfW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsAndLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NiBeforeExtrItemsTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeBeforeTaxesName(), ''); + end; + + procedure DerogatoryAccountName(): Text[100] + begin + exit(DerogatoryAccountLbl); + end; + + procedure ShortTermLoanName(): Text[100] + begin + exit(ShortTermLoanLbl); + end; + + procedure WipJobCostName(): Text[100] + begin + exit(WipJobCostLbl); + end; + + procedure VendorsBillsPayableName(): Text[100] + begin + exit(VendorsBillsPayableLbl); + end; + + procedure FixedAssetsVenName(): Text[100] + begin + exit(FixedAssetsVenLbl); + end; + + procedure VendorPrepaymentsVatReduecedName(): Text[100] + begin + exit(VendorPrepaymentsVatReduecedLbl); + end; + + procedure VendorPrepaymentsVatStandardName(): Text[100] + begin + exit(VendorPrepaymentsVatStandardLbl); + end; + + procedure ClientsBillsReceivableName(): Text[100] + begin + exit(ClientsBillsReceivableLbl); + end; + + procedure CustomerPrepaymentsVatReducedName(): Text[100] + begin + exit(CustomerPrepaymentsVatReducedLbl); + end; + + procedure CustomerPrepaymentsVatStandardName(): Text[100] + begin + exit(CustomerPrepaymentsVatStandardLbl); + end; + + procedure StateAndOtherGovernmentsName(): Text[100] + begin + exit(StateAndOtherGovernmentsLbl); + end; + + procedure UseTaxGaReversingName(): Text[100] + begin + exit(UseTaxGaReversingLbl); + end; + + procedure UseTaxFlReversingName(): Text[100] + begin + exit(UseTaxFlReversingLbl); + end; + + procedure UseTaxGaName(): Text[100] + begin + exit(UseTaxGaLbl); + end; + + procedure UseTaxFlName(): Text[100] + begin + exit(UseTaxFlLbl); + end; + + procedure DeductibleVatIntraName(): Text[100] + begin + exit(DeductibleVatIntraLbl); + end; + + procedure NormDeducVatInterName(): Text[100] + begin + exit(NormDeducVatInterLbl); + end; + + procedure ReducDeducVatInterName(): Text[100] + begin + exit(ReducDeducVatInterLbl); + end; + + procedure SalesTaxGaName(): Text[100] + begin + exit(SalesTaxGaLbl); + end; + + procedure SalesTaxFlName(): Text[100] + begin + exit(SalesTaxFlLbl); + end; + + procedure VatOnSalesNormOnHoldName(): Text[100] + begin + exit(VatOnSalesNormOnHoldLbl); + end; + + procedure VatOnSalesReducOnHoldName(): Text[100] + begin + exit(VatOnSalesReducOnHoldLbl); + end; + + procedure VatPayableInterimName(): Text[100] + begin + exit(VatPayableInterimLbl); + end; + + procedure DisposalOfFixedAssetsName(): Text[100] + begin + exit(DisposalOfFixedAssetsLbl); + end; + + procedure TemporaryAccountName(): Text[100] + begin + exit(TemporaryAccountLbl); + end; + + procedure RealizedGainAddCurrentName(): Text[100] + begin + exit(RealizedGainAddCurrentLbl); + end; + + procedure RealizedGainAddCurrName(): Text[100] + begin + exit(RealizedGainAddCurrLbl); + end; + + procedure FinancialAccountsName(): Text[100] + begin + exit(FinancialAccountsLbl); + end; + + procedure CheckToCashName(): Text[100] + begin + exit(CheckToCashLbl); + end; + + procedure BillsForCollectionName(): Text[100] + begin + exit(BillsForCollectionLbl); + end; + + procedure DiscountedBillsName(): Text[100] + begin + exit(DiscountedBillsLbl); + end; + + procedure BankAddCurrName(): Text[100] + begin + exit(BankAddCurrLbl); + end; + + procedure FinAccountsTotalName(): Text[100] + begin + exit(FinAccountsTotalLbl); + end; + + procedure InventAdjustOverheadName(): Text[100] + begin + exit(InventAdjustOverheadLbl); + end; + + procedure InventAdjustPurchVarName(): Text[100] + begin + exit(InventAdjustPurchVarLbl); + end; + + procedure ResourceUsageCostsName(): Text[100] + begin + exit(ResourceUsageCostsLbl); + end; + + procedure IncidentalCostName(): Text[100] + begin + exit(IncidentalCostLbl); + end; + + procedure IncidentalCostsIntraName(): Text[100] + begin + exit(IncidentalCostsIntraLbl); + end; + + procedure IncidentalCostsName(): Text[100] + begin + exit(IncidentalCostsLbl); + end; + + procedure TransportsOnPurchasesName(): Text[100] + begin + exit(TransportsOnPurchasesLbl); + end; + + procedure TransportsOnSellsName(): Text[100] + begin + exit(TransportsOnSellsLbl); + end; + + procedure DayReleaseParticipationName(): Text[100] + begin + exit(DayReleaseParticipationLbl); + end; + + procedure ProfesionalTaxName(): Text[100] + begin + exit(ProfesionalTaxLbl); + end; + + procedure CotisationToMutualCompanyName(): Text[100] + begin + exit(CotisationToMutualCompanyLbl); + end; + + procedure CotisationToAssedicName(): Text[100] + begin + exit(CotisationToAssedicLbl); + end; + + procedure OtherPersonalCostsName(): Text[100] + begin + exit(OtherPersonalCostsLbl); + end; + + procedure ApplicationRoundDebitName(): Text[100] + begin + exit(ApplicationRoundDebitLbl); + end; + + procedure ApplicationRoundingLcyName(): Text[100] + begin + exit(ApplicationRoundingLcyLbl); + end; + + procedure EuroConvRoundLossesName(): Text[100] + begin + exit(EuroConvRoundLossesLbl); + end; + + procedure BookValueOfAssetsSoldName(): Text[100] + begin + exit(BookValueOfAssetsSoldLbl); + end; + + procedure DerogExpenseAccForDebitName(): Text[100] + begin + exit(DerogExpenseAccForDebitLbl); + end; + + procedure SalesRawMatName(): Text[100] + begin + exit(SalesRawMatLbl); + end; + + procedure TotalRawMaterialsSalesName(): Text[100] + begin + exit(TotalRawMaterialsSalesLbl); + end; + + procedure SideActFranceGainsName(): Text[100] + begin + exit(SideActFranceGainsLbl); + end; + + procedure SideActIntraGainsName(): Text[100] + begin + exit(SideActIntraGainsLbl); + end; + + procedure SideActExportGainsName(): Text[100] + begin + exit(SideActExportGainsLbl); + end; + + procedure ApplicationRoundingDebitName(): Text[100] + begin + exit(ApplicationRoundingDebitLbl); + end; + + procedure EuroConvRoundGainsName(): Text[100] + begin + exit(EuroConvRoundGainsLbl); + end; + + procedure AssetsSoldGainsName(): Text[100] + begin + exit(AssetsSoldGainsLbl); + end; + + procedure DerogExpenseAccForCreditName(): Text[100] + begin + exit(DerogExpenseAccForCreditLbl); + end; + + procedure GeneralTotalName(): Text[100] + begin + exit(GeneralTotalLbl); + end; + + procedure DerogatoryAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DerogatoryAccountName())); + end; + + procedure ShortTermLoan(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermLoanName())); + end; + + procedure WipJobCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipJobCostName())); + end; + + procedure VendorsBillsPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsBillsPayableName())); + end; + + procedure FixedAssetsVen(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsVenName())); + end; + + procedure VendorPrepaymentsVatRedueced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVatReduecedName())); + end; + + procedure VendorPrepaymentsVatStandard(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVatStandardName())); + end; + + procedure ClientsBillsReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClientsBillsReceivableName())); + end; + + procedure CustomerPrepaymentsVatReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVatReducedName())); + end; + + procedure CustomerPrepaymentsVatStandard(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVatStandardName())); + end; + + procedure StateAndOtherGovernments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StateAndOtherGovernmentsName())); + end; + + procedure UseTaxGaReversing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UseTaxGaReversingName())); + end; + + procedure UseTaxFlReversing(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UseTaxFlReversingName())); + end; + + procedure UseTaxGa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UseTaxGaName())); + end; + + procedure UseTaxFl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UseTaxFlName())); + end; + + procedure DeductibleVatIntra(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeductibleVatIntraName())); + end; + + procedure NormDeducVatInter(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NormDeducVatInterName())); + end; + + procedure ReducDeducVatInter(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReducDeducVatInterName())); + end; + + procedure SalesTaxGa(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTaxGaName())); + end; + + procedure SalesTaxFl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTaxFlName())); + end; + + procedure VatOnSalesNormOnHold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VatOnSalesNormOnHoldName())); + end; + + procedure VatOnSalesReducOnHold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VatOnSalesReducOnHoldName())); + end; + + procedure VatPayableInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VatPayableInterimName())); + end; + + procedure DisposalOfFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DisposalOfFixedAssetsName())); + end; + + procedure TemporaryAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TemporaryAccountName())); + end; + + procedure RealizedGainAddCurrent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedGainAddCurrentName())); + end; + + procedure RealizedGainAddCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedGainAddCurrName())); + end; + + procedure FinancialAccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialAccountsName())); + end; + + procedure CheckToCash(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CheckToCashName())); + end; + + procedure BillsForCollection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsForCollectionName())); + end; + + procedure DiscountedBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountedBillsName())); + end; + + procedure BankAddCurr(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankAddCurrName())); + end; + + procedure FinAccountsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinAccountsTotalName())); + end; + + procedure InventAdjustOverhead(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventAdjustOverheadName())); + end; + + procedure InventAdjustPurchVar(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventAdjustPurchVarName())); + end; + + procedure ResourceUsageCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResourceUsageCostsName())); + end; + + procedure IncidentalCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncidentalCostName())); + end; + + procedure IncidentalCostsIntra(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncidentalCostsIntraName())); + end; + + procedure IncidentalCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncidentalCostsName())); + end; + + procedure TransportsOnPurchases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportsOnPurchasesName())); + end; + + procedure TransportsOnSells(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TransportsOnSellsName())); + end; + + procedure DayReleaseParticipation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DayReleaseParticipationName())); + end; + + procedure ProfesionalTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfesionalTaxName())); + end; + + procedure CotisationToMutualCompany(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CotisationToMutualCompanyName())); + end; + + procedure CotisationToAssedic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CotisationToAssedicName())); + end; + + procedure OtherPersonalCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPersonalCostsName())); + end; + + procedure ApplicationRoundDebit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ApplicationRoundDebitName())); + end; + + procedure ApplicationRoundingLcy(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ApplicationRoundingLcyName())); + end; + + procedure EuroConvRoundLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuroConvRoundLossesName())); + end; + + procedure BookValueOfAssetsSold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BookValueOfAssetsSoldName())); + end; + + procedure DerogExpenseAccForDebit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DerogExpenseAccForDebitName())); + end; + + procedure SalesRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRawMatName())); + end; + + procedure TotalRawMaterialsSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRawMaterialsSalesName())); + end; + + procedure SideActFranceGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SideActFranceGainsName())); + end; + + procedure SideActIntraGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SideActIntraGainsName())); + end; + + procedure SideActExportGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SideActExportGainsName())); + end; + + procedure ApplicationRoundingDebit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ApplicationRoundingDebitName())); + end; + + procedure EuroConvRoundGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EuroConvRoundGainsName())); + end; + + procedure AssetsSoldGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssetsSoldGainsName())); + end; + + procedure DerogExpenseAccForCredit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DerogExpenseAccForCreditName())); + end; + + procedure GeneralTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GeneralTotalName())); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + DerogatoryAccountLbl: Label 'Derogatory Account', MaxLength = 100; + ShortTermLoanLbl: Label 'Short Term Loan', MaxLength = 100; + WipJobCostLbl: Label 'WIP Job Cost', MaxLength = 100; + VendorsBillsPayableLbl: Label 'Vendors, Bills Payable', MaxLength = 100; + FixedAssetsVenLbl: Label 'Fixed Assets Ven', MaxLength = 100; + VendorPrepaymentsVatReduecedLbl: Label 'Vendor Prepayments VAT 5 %', MaxLength = 100; + VendorPrepaymentsVatStandardLbl: Label 'Vendor Prepayments VAT 20 %', MaxLength = 100; + ClientsBillsReceivableLbl: Label 'Clients, Bills Receivable', MaxLength = 100; + CustomerPrepaymentsVatReducedLbl: Label 'Customer Prepayments VAT 5 %', MaxLength = 100; + CustomerPrepaymentsVatStandardLbl: Label 'Customer Prepayments VAT 20 %', MaxLength = 100; + StateAndOtherGovernmentsLbl: Label 'State and Other Governments', MaxLength = 100; + UseTaxGaReversingLbl: Label 'Use TAX GA Reversing', MaxLength = 100; + UseTaxFlReversingLbl: Label 'Use TAX FL Reversing', MaxLength = 100; + UseTaxGaLbl: Label 'Use TAX GA', MaxLength = 100; + UseTaxFlLbl: Label 'Use TAX FL', MaxLength = 100; + DeductibleVatIntraLbl: Label 'Deductible VAT (Intra)', MaxLength = 100; + NormDeducVatInterLbl: Label 'Norm. Deduc. VAT (Inter.)', MaxLength = 100; + ReducDeducVatInterLbl: Label 'Reduc. Deduc. VAT (Inter.)', MaxLength = 100; + SalesTaxGaLbl: Label 'Sales TAX GA', MaxLength = 100; + SalesTaxFlLbl: Label 'Sales TAX FL', MaxLength = 100; + VatOnSalesNormOnHoldLbl: Label 'VAT On Sales, Norm. (On Hold)', MaxLength = 100; + VatOnSalesReducOnHoldLbl: Label 'VAT On Sales, Reduc. (On Hold)', MaxLength = 100; + VatPayableInterimLbl: Label 'VAT Payable (Interim)', MaxLength = 100; + DisposalOfFixedAssetsLbl: Label 'Disposal of Fixed Assets', MaxLength = 100; + TemporaryAccountLbl: Label 'Temporary Account', MaxLength = 100; + RealizedGainAddCurrentLbl: Label 'Realized Gain Add-Curr FR', MaxLength = 100; + RealizedGainAddCurrLbl: Label 'Realized Gain Add-Curr', MaxLength = 100; + FinancialAccountsLbl: Label 'FINANCIAL ACCOUNTS', MaxLength = 100; + CheckToCashLbl: Label 'Check To Cash', MaxLength = 100; + BillsForCollectionLbl: Label 'Bills For Collection', MaxLength = 100; + DiscountedBillsLbl: Label 'Discounted Bills', MaxLength = 100; + BankAddCurrLbl: Label 'Bank, Add-Curr', MaxLength = 100; + FinAccountsTotalLbl: Label 'FIN. ACCOUNTS TOTAL', MaxLength = 100; + InventAdjustOverheadLbl: Label 'Invent. Adjust., Overhead', MaxLength = 100; + InventAdjustPurchVarLbl: Label 'Invent. Adjust., Purch. Var.', MaxLength = 100; + ResourceUsageCostsLbl: Label 'Resource Usage Costs', MaxLength = 100; + IncidentalCostLbl: Label 'Incidental Costs FR', MaxLength = 100; + IncidentalCostsIntraLbl: Label 'Incidental Costs - Intra', MaxLength = 100; + IncidentalCostsLbl: Label 'Incidental Costs', MaxLength = 100; + TransportsOnPurchasesLbl: Label 'Transports On Purchases', MaxLength = 100; + TransportsOnSellsLbl: Label 'Transports On Sells', MaxLength = 100; + DayReleaseParticipationLbl: Label 'Day Release Participation', MaxLength = 100; + ProfesionalTaxLbl: Label 'Profesional Tax', MaxLength = 100; + CotisationToMutualCompanyLbl: Label 'Cotisation To Mutual Company', MaxLength = 100; + CotisationToAssedicLbl: Label 'Cotisation To ASSEDIC', MaxLength = 100; + OtherPersonalCostsLbl: Label 'Other Personal Costs', MaxLength = 100; + ApplicationRoundDebitLbl: Label 'Application Round Debit', MaxLength = 100; + ApplicationRoundingLcyLbl: Label 'Application Rounding LCY', MaxLength = 100; + EuroConvRoundLossesLbl: Label 'Euro Conv. Round. (Losses)', MaxLength = 100; + BookValueOfAssetsSoldLbl: Label 'Book Value of Assets Sold', MaxLength = 100; + DerogExpenseAccForDebitLbl: Label 'Derog. Expense Acc. for Debit', MaxLength = 100; + SalesRawMatLbl: Label 'Sales Raw Mat.', MaxLength = 100; + TotalRawMaterialsSalesLbl: Label 'Total Raw Materials Sales', MaxLength = 100; + SideActFranceGainsLbl: Label 'Side Act. - France (Gains)', MaxLength = 100; + SideActIntraGainsLbl: Label 'Side Act. - Intra (Gains)', MaxLength = 100; + SideActExportGainsLbl: Label 'Side Act. - Export (Gains)', MaxLength = 100; + ApplicationRoundingDebitLbl: Label 'Application Rounding Debit', MaxLength = 100; + EuroConvRoundGainsLbl: Label 'Euro Conv. Round. (Gains)', MaxLength = 100; + AssetsSoldGainsLbl: Label 'Assets Sold (Gains)', MaxLength = 100; + DerogExpenseAccForCreditLbl: Label 'Derog. Expense Acc. for Credit', MaxLength = 100; + GeneralTotalLbl: Label 'GENERAL TOTAL', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupFR.Codeunit.al new file mode 100644 index 0000000000..383d06426f --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateGeneralLedgerSetupFR.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 10889 "Create General Ledger Setup FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("EMU Currency", true); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.EUR()); + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbolLbl); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrecyEuroLbl); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Validate("Show Amounts", GeneralLedgerSetup."Show Amounts"::"Debit/Credit Only"); + GeneralLedgerSetup.Validate("Local Currency", GeneralLedgerSetup."Local Currency"::Euro); + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrecyEuroLbl: Label 'Euro', MaxLength = 60; + LocalCurrencySymbolLbl: Label '€', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupFR.Codeunit.al new file mode 100644 index 0000000000..e109a3c8be --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreatePostingGroupFR.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 10868 "Create Posting Group FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralPostingSetup(); + end; + + local procedure UpdateGeneralPostingSetup() + var + ContosoPostingGrpFR: Codeunit "Contoso Posting Grp FR"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGrpFR.validatePostingAccount('', CreatePostingGroup.RetailPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), '', ''); + ContosoPostingGrpFR.validatePostingAccount('', CreatePostingGroup.ZeroPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), '', ''); + ContosoPostingGrpFR.validatePostingAccount(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom()); + ContosoPostingGrpFR.validatePostingAccount(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.SalesResourcesDom(), CreateGLAccount.PurchRetailDom()); + ContosoPostingGrpFR.validatePostingAccount(CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.ZeroPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom()); + ContosoPostingGrpFR.validatePostingAccount(CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailEu(), CreateGLAccount.PurchRetailEu(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.SalesRetailEu(), CreateGLAccount.PurchRetailEu()); + ContosoPostingGrpFR.validatePostingAccount(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport()); + ContosoPostingGrpFR.validatePostingAccount(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.SalesResourcesExport(), CreateGLAccount.PurchRetailExport()); + ContosoPostingGrpFR.validatePostingAccount(CreatePostingGroup.ExportPostingGroup(), CreatePostingGroup.ZeroPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostOfRetailSold(), CreateGLAccount.CostOfResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport()); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateVATPostingGrpFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateVATPostingGrpFR.Codeunit.al new file mode 100644 index 0000000000..9fe9e0f2cc --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/1. Setup Data/CreateVATPostingGrpFR.Codeunit.al @@ -0,0 +1,90 @@ +codeunit 10869 "Create VAT Posting Grp FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Product Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATPostingGroup(var Rec: Record "VAT Product Posting Group") + var + CreateVatPostingGrp: Codeunit "Create VAT Posting Groups"; + begin + case Rec.Code of + CreateVatPostingGrp.FullNormal(): + Rec.Validate(Description, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '20')); + CreateVatPostingGrp.FullRed(): + Rec.Validate(Description, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '5')); + CreateVatPostingGrp.Reduced(): + Rec.Validate(Description, StrSubstNo(ReducedVatDescriptionLbl, '5')); + CreateVatPostingGrp.ServNormal(): + Rec.Validate(Description, StrSubstNo(MiscellaneousVATDescriptionLbl, '20')); + CreateVatPostingGrp.ServRed(): + Rec.Validate(Description, StrSubstNo(MiscellaneousVATDescriptionLbl, '5')); + CreateVatPostingGrp.Standard(): + Rec.Validate(Description, StrSubstNo(NormalVatDescriptionLbl, '20')); + end; + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Setup Posting Groups", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatSetupPostingGrp(var Rec: Record "VAT Setup Posting Groups") + var + CreateVatPostingGrp: Codeunit "Create VAT Posting Groups"; + CreateFRGLAccount: Codeunit "Create GL Account FR"; + begin + case Rec."VAT Prod. Posting Group" of + CreateVatPostingGrp.FullNormal(): + ValidateVATSetupPostingGrp(Rec, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '20'), '', '', 0); + CreateVatPostingGrp.FullRed(): + ValidateVATSetupPostingGrp(Rec, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '5'), '', '', 0); + CreateVatPostingGrp.Reduced(): + ValidateVATSetupPostingGrp(Rec, StrSubstNo(SetupforExportDescLbl, CreateVatPostingGrp.Reduced()), CreateFRGLAccount.SalesTaxFl(), CreateFRGLAccount.UseTaxFl(), 5); + CreateVatPostingGrp.ServNormal(): + ValidateVATSetupPostingGrp(Rec, StrSubstNo(MiscellaneousVATDescriptionLbl, '20'), '', '', 0); + CreateVatPostingGrp.ServRed(): + ValidateVATSetupPostingGrp(Rec, StrSubstNo(MiscellaneousVATDescriptionLbl, '5'), '', '', 0); + CreateVatPostingGrp.Standard(): + ValidateVATSetupPostingGrp(Rec, StrSubstNo(SetupforExportDescLbl, CreateVatPostingGrp.Standard()), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), 20); + CreateVatPostingGrp.Zero(): + ValidateVATSetupPostingGrp(Rec, StrSubstNo(SetupforExportDescLbl, CreateVatPostingGrp.Zero()), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), 0); + end; + end; + + local procedure ValidateVATSetupPostingGrp(var VATSetupPostingGrp: Record "VAT Setup Posting Groups"; VatPostingDesc: Text[100]; SalesVatAccount: Code[20]; PurchaseVATAccount: Code[20]; VatPercent: Decimal) + begin + VATSetupPostingGrp.Validate("VAT Prod. Posting Grp Desc.", VatPostingDesc); + VATSetupPostingGrp.Validate("Sales VAT Account", SalesVatAccount); + VATSetupPostingGrp.Validate("Purchase VAT Account", PurchaseVATAccount); + VATSetupPostingGrp.Validate("VAT %", VatPercent); + end; + + procedure UpdateVATPostingSetup() + var + ContosoPostingGrpFR: Codeunit "Contoso Posting Grp FR"; + CreateFRGLAccount: Codeunit "Create GL Account FR"; + CreateVATPostingGroup: codeunit "Create VAT Posting Groups"; + begin + ContosoPostingGrpFR.ValidateVATPostingSetup('', CreateVATPostingGroup.Reduced(), CreateFRGLAccount.SalesTaxFl(), CreateFRGLAccount.UseTaxFl(), '', 0); + ContosoPostingGrpFR.ValidateVATPostingSetup('', CreateVATPostingGroup.Standard(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), '', 0); + ContosoPostingGrpFR.ValidateVATPostingSetup('', CreateVATPostingGroup.Zero(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), '', 0); + + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.Domestic(), CreateVATPostingGroup.Reduced(), CreateFRGLAccount.SalesTaxFl(), CreateFRGLAccount.UseTaxFl(), '', 5); + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.Domestic(), CreateVATPostingGroup.Standard(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), '', 20); + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.Domestic(), CreateVATPostingGroup.Zero(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), '', 0); + + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.EU(), CreateVATPostingGroup.Reduced(), CreateFRGLAccount.SalesTaxFl(), CreateFRGLAccount.UseTaxFl(), CreateFRGLAccount.UseTaxFlReversing(), 5); + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.EU(), CreateVATPostingGroup.Standard(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.DeductibleVatIntra(), CreateFRGLAccount.UseTaxGaReversing(), 20); + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.EU(), CreateVATPostingGroup.Zero(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), '', 0); + + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.Export(), CreateVATPostingGroup.Reduced(), CreateFRGLAccount.SalesTaxFl(), CreateFRGLAccount.UseTaxFl(), '', 0); + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.Export(), CreateVATPostingGroup.Standard(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), '', 0); + ContosoPostingGrpFR.ValidateVATPostingSetup(CreateVATPostingGroup.Export(), CreateVATPostingGroup.Zero(), CreateFRGLAccount.SalesTaxGa(), CreateFRGLAccount.UseTaxGa(), '', 0); + end; + + var + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Reduced VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Standard VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + SetupforExportDescLbl: Label 'Setup for EXPORT / %1', Comment = '%1 is Vat Prod. Posting Grp Desc', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateColumnLayoutFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateColumnLayoutFR.Codeunit.al new file mode 100644 index 0000000000..d6ad5e0461 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateColumnLayoutFR.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 10895 "Create Column Layout FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + InsertColumnLayoutName(); + ContosoAccountSchedule.InsertColumnLayout(ProfitLossAccount(), 10000, '1', BalanceNLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ProfitLossAccount(), 20000, '2', BalanceN1Lbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + UpdateColumnLayout(ProfitLossAccount(), 20000); + end; + + procedure ProfitLossAccount(): Code[10] + begin + exit(ProfitAccountTok); + end; + + local procedure InsertColumnLayoutName() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(ProfitLossAccount(), ProfitLossAccountLbl); + end; + + local procedure UpdateColumnLayout(ColumnLayoutName: Code[20]; LineNo: Integer) + var + ColumnLayout: Record "Column Layout"; + begin + ColumnLayout.Get(ColumnLayoutName, LineNo); + Evaluate(ColumnLayout."Comparison Date Formula", '<-1Y>'); + ColumnLayout.Validate("Comparison Date Formula"); + ColumnLayout.Modify(true); + end; + + var + ProfitAccountTok: Label 'PROFIT', MaxLength = 10, Locked = true; + ProfitLossAccountLbl: Label 'Prof. & Loss Acc.', MaxLength = 80; + BalanceNLbl: Label 'Balance N', MaxLength = 30; + BalanceN1Lbl: Label 'Balance N-1', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateCurrencyExcRateFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateCurrencyExcRateFR.Codeunit.al new file mode 100644 index 0000000000..4d65e7fd47 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateCurrencyExcRateFR.Codeunit.al @@ -0,0 +1,192 @@ +codeunit 10871 "Create Currency Exc. Rate FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrExchDate: Date; + begin + CurrExchDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrExchDate, 100, 100, 154.8801, 154.8801); + + CurrExchDate := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrExchDate, 100, 100, 165.793, 165.793); + + CurrExchDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrExchDate, 100, 100, 159.2372, 159.2372); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrExchDate: Date; + begin + CurrExchDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 12.3754, 12.3754); + + CurrExchDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 15.7473, 15.7473); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 101.7599, 101.7599); + + CurrExchDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 16.2267, 16.2267); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrExchDate then + ValidateCurrencyExchRate(Rec, 105.0287, 105.0287); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateResourceFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateResourceFR.Codeunit.al new file mode 100644 index 0000000000..36aed79274 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateResourceFR.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 10872 "Create Resource FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Rec, ParisLbl, 77, 84.7, 45.35484, 155, PostCode75000Lbl); + CreateResource.Marty(): + ValidateRecordFields(Rec, ParisLbl, 70, 77, 44.60432, 139, PostCode75000Lbl); + CreateResource.Lina(): + ValidateRecordFields(Rec, ParisLbl, 93, 102.3, 45, 186, PostCode75008Lbl); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + end; + + var + ParisLbl: Label 'Paris', MaxLength = 30, Locked = true; + PostCode75000Lbl: Label '75000', MaxLength = 20; + PostCode75008Lbl: Label '75008', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateVATStatementFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateVATStatementFR.Codeunit.al new file mode 100644 index 0000000000..dfcc71aa92 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Finance/2. Master Data/CreateVATStatementFR.Codeunit.al @@ -0,0 +1,80 @@ +codeunit 10897 "Create VAT Statement FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateVATRegNoFormat(); + UpdateVatStatementLine(); + end; + + local procedure CreateVATRegNoFormat() + var + CreateCountryRegion: Codeunit "Create Country/Region"; + ContosoCountryOrRegion: Codeunit "Contoso Country Or Region"; + begin + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 40000, CZFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 50000, CZFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 60000, CZFormat2Lbl) + end; + + local procedure UpdateVatStatementLine() + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoVatStatement.SetOverwriteData(true); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 10000, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, StrSubstNo(SalesVATPERCENToutgoingLbl, 20)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 20000, '1020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 1, StrSubstNo(SalesVATPERCENToutgoingLbl, 5)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 30000, '1050', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, StrSubstNo(VATPERCENTonEUPurchasesetcLbl, 20)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 40000, '1060', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, false, 1, StrSubstNo(VATPERCENTonEUPurchasesetcLbl, 5)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 50000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeperationLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 60000, '1099', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1010..1090', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 70000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 80000, '1110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, StrSubstNo(PurchaseVATPERCENTDomesticLbl, 20)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 90000, '1120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, StrSubstNo(PurchaseVATPERCENTDomesticLbl, 5)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 100000, '1150', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, StrSubstNo(PurchaseVATPERCENTEULbl, 20)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 110000, '1160', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, StrSubstNo(PurchaseVATPERCENTEULbl, 5)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 120000, '1179', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1110..1170', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, PurchaseVATingoingLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 130000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeperationLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 140000, '1199', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1159|1189', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalDeductionsLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 150000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeperationLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 160000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 170000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1099|1199', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VATPayableLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 180000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeperationLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 190000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 200000, '1210', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, StrSubstNo(ValueofEUPurchasesPERCENTLbl, 20)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 210000, '1220', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, StrSubstNo(ValueofEUPurchasesPERCENTLbl, 5)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 220000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 230000, '1240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, StrSubstNo(ValueofEUSalesPERCENTLbl, 20)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 240000, '1250', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, StrSubstNo(ValueofEUSalesPERCENTLbl, 5)); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 250000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 260000, '1310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesOverseasLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 270000, '1320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesOverseasLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 280000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1310..1330', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesOverseasLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 290000, '1340', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, NonVATliablesalesDomesticLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 300000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1340..1348', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonVATliablesalesDomesticLbl); + ContosoVatStatement.SetOverwriteData(false); + end; + + var + CZFormatLbl: Label '########', MaxLength = 20, Locked = true; + CZFormat1Lbl: Label '#########', MaxLength = 20, Locked = true; + CZFormat2Lbl: Label '##########', MaxLength = 20, Locked = true; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + SalesVATPERCENToutgoingLbl: Label 'Sales VAT %1 % (outgoing)', Comment = '%1 is Vat Percentage', MaxLength = 100; + VATPERCENTonEUPurchasesetcLbl: Label 'VAT %1 % % on EU Purchases etc.', Comment = '%1 is Vat Percentage', MaxLength = 100; + PurchaseVATPERCENTDomesticLbl: Label 'Purchase VAT %1 % Domestic', Comment = '%1 is Vat Percentage', MaxLength = 100; + PurchaseVATPERCENTEULbl: Label 'Purchase VAT %1 % EU', Comment = '%1 is Vat Percentage', MaxLength = 100; + ValueofEUPurchasesPERCENTLbl: Label 'Value of EU Purchases %1 %', Comment = '%1 is EU Purchase Percentage', MaxLength = 100; + ValueofEUSalesPERCENTLbl: Label 'Value of EU Sales %1 %', Comment = '%1 is EU Sales Percentage', MaxLength = 100; + TotalLbl: Label 'Total', MaxLength = 100; + PurchaseVATingoingLbl: Label 'Purchase VAT (ingoing)', MaxLength = 100; + TotalDeductionsLbl: Label 'Total Deductions', MaxLength = 100; + VATPayableLbl: Label 'VAT Payable', MaxLength = 100; + NonVATliablesalesOverseasLbl: Label 'Non-VAT liable sales, Overseas', MaxLength = 100; + NonVATliablesalesDomesticLbl: Label 'Non-VAT liable sales, Domestic', MaxLength = 100; + SeperationLbl: Label '--------------------------------------------------'; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookFR.Codeunit.al new file mode 100644 index 0000000000..cdc1241da0 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFADepreciationBookFR.Codeunit.al @@ -0,0 +1,49 @@ +codeunit 10875 "Create FA Depreciation Book FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + begin + ContosoFixedAsset.InsertDepreciationBook(Tax(), DerogatoryBookLbl, false, false, false, false, false, false, false, false, false, 0); + end; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, CompanyDescLbl, Rec."Disposal Calculation Method"::Gross, false, true); + Tax(): + ValidateFADepreciationBook(Rec, Rec."Disposal Calculation Method"::Gross, CreateFADeprBook.Company()); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DepreciationDesc: Text[100]; DisposalCalc: Option; UseRoundingInPerodic: Boolean; GLIntegrationDerogatory: Boolean) + begin + DepreciationBook.Validate(Description, DepreciationDesc); + DepreciationBook.Validate("Disposal Calculation Method", DisposalCalc); + DepreciationBook.Validate("Use Rounding in Periodic Depr.", UseRoundingInPerodic); + DepreciationBook.Validate("G/L Integration - Derogatory", GLIntegrationDerogatory); + end; + + local procedure ValidateFADepreciationBook(var DepreciationBook: Record "Depreciation Book"; DisposalCalc: Option; DerogatoryCalc: Code[10]) + begin + DepreciationBook.Validate("Disposal Calculation Method", DisposalCalc); + DepreciationBook.Validate("Derogatory Calculation", DerogatoryCalc); + end; + + var + TaxTok: Label 'TAX', MaxLength = 10, Locked = true; + CompanyDescLbl: Label 'Accounting Book', MaxLength = 100; + DerogatoryBookLbl: Label 'Derogatory Book', MaxLength = 100; + + procedure Tax(): Code[10] + begin + exit(TaxTok); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAJnlSetupFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAJnlSetupFR.Codeunit.al new file mode 100644 index 0000000000..2aa38d3d39 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAJnlSetupFR.Codeunit.al @@ -0,0 +1,15 @@ +codeunit 10893 "Create FA Jnl. Setup FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateFADepreciationBookFR: Codeunit "Create FA Depreciation Book FR"; + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateFAJnlTemplate: Codeunit "Create FA Jnl. Template"; + CreateFAInsTemplate: Codeunit "Create FA Ins Jnl. Template"; + begin + ContosoFixedAsset.InsertFAJournalSetup('', CreateFADepreciationBookFR.Tax(), CreateFAJnlTemplate.Assets(), CreateFAInsTemplate.Default(), CreateFAJnlTemplate.Assets(), CreateFAInsTemplate.Default(), CreateFAInsTemplate.Insurance(), CreateFAJnlTemplate.Default()); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpFR.Codeunit.al new file mode 100644 index 0000000000..f7e84a65bd --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Fixed Asset/1. Setup Data/CreateFAPostingGrpFR.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 10876 "Create FA Posting Grp. FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroup(var Rec: Record "FA Posting Group") + var + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; + CreateFRGlAccount: Codeunit "Create GL Account FR"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateFAPostingGroup.Equipment(), CreateFAPostingGroup.Goodwill(), CreateFAPostingGroup.Plant(), CreateFAPostingGroup.Property(), CreateFAPostingGroup.Vehicles(): + ValidateFAPostingGroup(Rec, CreateGLAccount.IncreasesduringtheYearOperEquip(), CreateGLAccount.AccumDeprOperEquip(), CreateGLAccount.DecreasesduringtheYearOperEquip(), CreateGLAccount.AccumDeprOperEquip(), '', '', CreateFRGlAccount.BookValueOfAssetsSold(), CreateFRGlAccount.AssetsSoldGains(), CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.DepreciationEquipment(), CreateGLAccount.IncreasesduringtheYearOperEquip(), CreateFRGlAccount.AssetsSoldGains(), CreateFRGlAccount.BookValueOfAssetsSold(), CreateFRGlAccount.DerogatoryAccount(), CreateFRGlAccount.DerogatoryAccount(), CreateFRGlAccount.DerogExpenseAccForCredit(), CreateFRGlAccount.DerogExpenseAccForDebit()); + end; + end; + + local procedure ValidateFAPostingGroup(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; BookValueGainAcc: Code[20]; SaleAccDisposalGain: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]; SalesAccDisposalLoss: Code[20]; BookValueLossAcc: Code[20]; DerogatoryAccount: Code[20]; DerogatoryAccountDecrease: Code[20]; DerogatoryBalDecreaseAcc: Code[20]; DerogatoryExpenseAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Sales Acc. on Disp. (Gain)", SaleAccDisposalGain); + FAPostingGroup.Validate("Book Val. Acc. on Disp. (Gain)", BookValueGainAcc); + FAPostingGroup.Validate("Sales Acc. on Disp. (Loss)", SalesAccDisposalLoss); + FAPostingGroup.Validate("Book Val. Acc. on Disp. (Loss)", BookValueLossAcc); + FAPostingGroup.Validate("Derogatory Account", DerogatoryAccount); + FAPostingGroup.Validate("Derogatory Acc. (Decrease)", DerogatoryAccountDecrease); + FAPostingGroup.Validate("Derog. Bal. Acc. (Decrease)", DerogatoryBalDecreaseAcc); + FAPostingGroup.Validate("Derogatory Expense Account", DerogatoryExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationFR.Codeunit.al new file mode 100644 index 0000000000..b08f69f647 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationFR.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 10866 "Create Company Information FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateCompanyInformation(CityLbl, PostcodeLbl, TradeRegisterLbl, ApeCodeLbl, LegalFormLbl, StockCapitalLbl); + end; + + local procedure UpdateCompanyInformation(City: Text[30]; PostCode: Code[20]; TradeRegistrationNo: Text[30]; APECode: Code[10]; LegalFormNo: Text[30]; StockCapital: Text[30]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation."Demo Company" := true; + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCode); + CompanyInformation.Validate("Registration No.", '2041746010022'); + CompanyInformation.Validate("VAT Registration No.", 'FR77777777777'); + CompanyInformation.Validate("Ship-to City", CityLbl); + CompanyInformation.Validate("Ship-to Post Code", PostcodeLbl); + CompanyInformation.Validate("Trade Register", TradeRegistrationNo); + CompanyInformation.Validate("APE Code", ApeCode); + CompanyInformation.Validate("Legal Form", LegalFormNo); + CompanyInformation.Validate("Stock Capital", StockCapital); + + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'Paris', Maxlength = 30, Locked = true; + PostcodeLbl: Label '75008', MaxLength = 20; + TradeRegisterLbl: Label 'R.C.S. : Paris', MaxLength = 30; + ApeCodeLbl: Label '361C', MaxLength = 10; + LegalFormLbl: Label 'SA', MaxLength = 30; + StockCapitalLbl: Label '115.000 Euros', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeFR.Codeunit.al new file mode 100644 index 0000000000..82b51ddaf3 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeFR.Codeunit.al @@ -0,0 +1,328 @@ +codeunit 10894 "Create Post Code FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostCodeFR: Codeunit "Contoso Post Code FR"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeFR.InsertPostCode('02200', VenizelLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('10000', TroyesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('11000', CarcassonneLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('12000', RodezLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('13000', MarseilleLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('13200', ArlesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('14000', CaenLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('15000', AurillacLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('16000', AngoulemeLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('17000', LaRochelleLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('18000', BourgesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('19000', TulleLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('21000', DijonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('22000', StBrieucLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('23000', GueretLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('24000', PerigueuxLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('25000', BesanconLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('26000', ValenceLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('27000', EvreuxLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('28000', ChartresLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('28100', ChartresLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('28200', ChartresLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('28300', ChartresLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('29000', QuimperLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('29200', BrestLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('30000', NimesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('31000', ToulouseLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('32000', AuchLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('33000', BordeauxLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('34000', MontpellierLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('35000', RennesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('36000', ChateaurouxLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('37000', ToursLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('38000', GrenobleLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('39000', LonsleSaunierLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('40000', MontdeMarsanLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('41000', BloisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('42000', StEtienneLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('43000', LePuyLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('44000', NantesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('44450', LaChapellebasseMerLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('45100', OlivetLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('46000', CahorsLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('47000', AgenLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('48000', MendeLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('49000', AngersLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('50000', StLoLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('50670', CasselLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('51000', ChalonssurMarneLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('52000', ChaumontLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('53000', LavalLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('53100', LavalLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('53200', LavalLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('53300', LavalLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('54000', NancyLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('55000', BarleDucLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('56000', VannesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('57000', MetzLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('58000', NeversLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('59000', LilleLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('60000', BeauvaisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('61000', AlenocnLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('62000', ArrasLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('63000', ClermontFerrandLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('64000', PauLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('65000', TarbesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('66000', PerpignanLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('67000', StrasbourgLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('67200', StrasbourgLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('67550', VendenheimLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('68000', ColmarLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('69000', LyonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('69001', LyonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('69002', LyonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('69006', LyonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('70000', VesoulLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('71000', MaconLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('72000', LeMansLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('73000', ChamberyLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('74000', AnnecyLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75000', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75001', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75002', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75003', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75004', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75005', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75006', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75007', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75008', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75009', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75010', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75011', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75012', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75013', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75014', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75015', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75016', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75017', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75018', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75019', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('75020', ParisLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('76000', RouenLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('77000', MelunLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('77450', EsblyLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('78000', VersaillesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('78370', PlaisirLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('79000', NiortLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('80000', AmiensLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('81000', AlbiLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('82000', MontaubanLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('83000', ToulonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('83250', LaLondelesMauresLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('84000', AvignonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('85000', LaRochesurYonLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('86000', PoitiersLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('87000', LimogesLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('88100', EpinalLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('89000', AuxerreLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('89100', AuxerreLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('89200', AuxerreLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('89300', AuxerreLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('90000', BelfortLbl, CreateCountryRegion.FR()); + ContosoPostCodeFR.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeFR.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + end; + + var + VenizelLbl: Label 'Venizel', MaxLength = 30; + TroyesLbl: Label 'Troyes', MaxLength = 30; + CarcassonneLbl: Label 'Carcassonne', MaxLength = 30; + RodezLbl: Label 'Rodez', MaxLength = 30; + MarseilleLbl: Label 'Marseille', MaxLength = 30; + ArlesLbl: Label 'Arles', MaxLength = 30; + CaenLbl: Label 'Caen', MaxLength = 30; + AurillacLbl: Label 'Aurillac', MaxLength = 30; + AngoulemeLbl: Label 'Angoulème', MaxLength = 30; + LaRochelleLbl: Label 'La Rochelle', MaxLength = 30; + BourgesLbl: Label 'Bourges', MaxLength = 30; + TulleLbl: Label 'Tulle', MaxLength = 30; + DijonLbl: Label 'Dijon', MaxLength = 30; + StBrieucLbl: Label 'St.-Brieuc', MaxLength = 30; + GueretLbl: Label 'Guéret', MaxLength = 30; + PerigueuxLbl: Label 'Périgueux', MaxLength = 30; + BesanconLbl: Label 'Besançon', MaxLength = 30; + ValenceLbl: Label 'Valence', MaxLength = 30; + EvreuxLbl: Label 'Evreux', MaxLength = 30; + ChartresLbl: Label 'Chartres', MaxLength = 30; + QuimperLbl: Label 'Quimper', MaxLength = 30; + BrestLbl: Label 'Brest', MaxLength = 30; + NimesLbl: Label 'Nîmes', MaxLength = 30; + ToulouseLbl: Label 'Toulouse', MaxLength = 30; + AuchLbl: Label 'Auch', MaxLength = 30; + BordeauxLbl: Label 'Bordeaux', MaxLength = 30; + MontpellierLbl: Label 'Montpellier', MaxLength = 30; + RennesLbl: Label 'Rennes', MaxLength = 30; + ChateaurouxLbl: Label 'Châteauroux', MaxLength = 30; + ToursLbl: Label 'Tours', MaxLength = 30; + GrenobleLbl: Label 'Grenoble', MaxLength = 30; + LonsleSaunierLbl: Label 'Lons-le-Saunier', MaxLength = 30; + MontdeMarsanLbl: Label 'Mont-de-Marsan', MaxLength = 30; + BloisLbl: Label 'Blois', MaxLength = 30; + StEtienneLbl: Label 'St.-Etienne', MaxLength = 30; + LePuyLbl: Label 'Le Puy', MaxLength = 30; + NantesLbl: Label 'Nantes', MaxLength = 30; + LaChapellebasseMerLbl: Label 'La Chapelle basse Mer', MaxLength = 30; + OlivetLbl: Label 'Olivet', MaxLength = 30; + CahorsLbl: Label 'Cahors', MaxLength = 30; + AgenLbl: Label 'Agen', MaxLength = 30; + MendeLbl: Label 'Mende', MaxLength = 30; + AngersLbl: Label 'Angers', MaxLength = 30; + StLoLbl: Label 'St.-Lo', MaxLength = 30; + CasselLbl: Label 'Cassel', MaxLength = 30; + ChalonssurMarneLbl: Label 'Châlons-sur-Marne', MaxLength = 30; + ChaumontLbl: Label 'Chaumont', MaxLength = 30; + LavalLbl: Label 'Laval', MaxLength = 30; + NancyLbl: Label 'Nancy', MaxLength = 30; + BarleDucLbl: Label 'Bar-le-Duc', MaxLength = 30; + VannesLbl: Label 'Vannes', MaxLength = 30; + MetzLbl: Label 'Metz', MaxLength = 30; + NeversLbl: Label 'Nevers', MaxLength = 30; + LilleLbl: Label 'Lille', MaxLength = 30; + BeauvaisLbl: Label 'Beauvais', MaxLength = 30; + AlenocnLbl: Label 'Alençon', MaxLength = 30; + ArrasLbl: Label 'Arras', MaxLength = 30; + ClermontFerrandLbl: Label 'Clermont-Ferrand', MaxLength = 30; + PauLbl: Label 'Pau', MaxLength = 30; + TarbesLbl: Label 'Tarbes', MaxLength = 30; + PerpignanLbl: Label 'Perpignan', MaxLength = 30; + StrasbourgLbl: Label 'Strasbourg', MaxLength = 30; + VendenheimLbl: Label 'Vendenheim', MaxLength = 30; + ColmarLbl: Label 'Colmar', MaxLength = 30; + LyonLbl: Label 'Lyon', MaxLength = 30; + VesoulLbl: Label 'Vesoul', MaxLength = 30; + MaconLbl: Label 'Mâcon', MaxLength = 30; + LeMansLbl: Label 'Le Mans', MaxLength = 30; + ChamberyLbl: Label 'Chambéry', MaxLength = 30; + AnnecyLbl: Label 'Annecy', MaxLength = 30; + ParisLbl: Label 'Paris', MaxLength = 30; + RouenLbl: Label 'Rouen', MaxLength = 30; + MelunLbl: Label 'Melun', MaxLength = 30; + EsblyLbl: Label 'Esbly', MaxLength = 30; + VersaillesLbl: Label 'Versailles', MaxLength = 30; + PlaisirLbl: Label 'Plaisir', MaxLength = 30; + NiortLbl: Label 'Niort', MaxLength = 30; + AmiensLbl: Label 'Amiens', MaxLength = 30; + AlbiLbl: Label 'Albi', MaxLength = 30; + MontaubanLbl: Label 'Montauban', MaxLength = 30; + ToulonLbl: Label 'Toulon', MaxLength = 30; + LaLondelesMauresLbl: Label 'La Londe les Maures', MaxLength = 30; + AvignonLbl: Label 'Avignon', MaxLength = 30; + LaRochesurYonLbl: Label 'La Roche-sur-Yon', MaxLength = 30; + PoitiersLbl: Label 'Poitiers', MaxLength = 30; + LimogesLbl: Label 'Limoges', MaxLength = 30; + EpinalLbl: Label 'Epinal', MaxLength = 30; + AuxerreLbl: Label 'Auxerre', MaxLength = 30; + BelfortLbl: Label 'Belfort', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeFR.Codeunit.al new file mode 100644 index 0000000000..87dcfd26cd --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeFR.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 10896 "Create Source Code FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAuditCode: Codeunit "Contoso Audit Code"; + begin + ContosoAuditCode.InsertSourceCode(EffetsTok, BillsOfExchangeLbl); + end; + + procedure Effets(): Code[10] + begin + exit(EffetsTok); + end; + + var + EffetsTok: Label 'EFFETS', MaxLength = 10, Locked = true; + BillsOfExchangeLbl: Label 'Bills Of Exchange', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Human Resource/1. Setup Data/CreateEmplPostingGroupFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Human Resource/1. Setup Data/CreateEmplPostingGroupFR.Codeunit.al new file mode 100644 index 0000000000..1a087df8e1 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Human Resource/1. Setup Data/CreateEmplPostingGroupFR.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 10899 "Create Empl. Posting Group FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeePostingGroup: Codeunit "Create Employee Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateEmployeePostingGroup(CreateEmployeePostingGroup.EmployeeExpenses(), CreateGLAccount.EmployeesPayable(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PmtTolReceivedDecreases()); + end; + + local procedure UpdateEmployeePostingGroup(EmployeePostingGroupCode: Code[20]; PayableAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]) + var + EmployeePostingGroup: Record "Employee Posting Group"; + begin + EmployeePostingGroup.Get(EmployeePostingGroupCode); + EmployeePostingGroup.Validate("Payables Account", PayableAccount); + EmployeePostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + EmployeePostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + EmployeePostingGroup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/1. Setup Data/CreateInvPostingSetupFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/1. Setup Data/CreateInvPostingSetupFR.Codeunit.al new file mode 100644 index 0000000000..b2c5f12c90 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/1. Setup Data/CreateInvPostingSetupFR.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 10877 "Create Inv. Posting Setup FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateLocation: Codeunit "Create Location"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertInventoryPostingSetup('', CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/1. Setup Data/CreateLocationFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/1. Setup Data/CreateLocationFR.Codeunit.al new file mode 100644 index 0000000000..e86912f34d --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/1. Setup Data/CreateLocationFR.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 10878 "Create Location FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocation: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocation.EastLocation(): + ValidateLocation(Rec, DijonCityLbl, EastLocationPostCodeLbl); + CreateLocation.MainLocation(): + ValidateLocation(Rec, ParisCityLbl, MainLocationPostCodeLbl); + CreateLocation.WestLocation(): + ValidateLocation(Rec, BordeauxCityLbl, WestLocationPostCodeLbl); + end; + end; + + local procedure ValidateLocation(var Location: Record Location; City: Text[30]; PostCode: Code[20]) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateLocation: Codeunit "Create Location"; + begin + if Location.Code <> CreateLocation.MainLocation() then + Location.Validate("Address 2", ''); + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CreateCountryRegion.GB(); + end; + + var + DijonCityLbl: Label 'Dijon', MaxLength = 30; + ParisCityLbl: Label 'Paris', MaxLength = 30; + BordeauxCityLbl: Label 'Bordeaux', MaxLength = 30; + EastLocationPostCodeLbl: Label '21000', MaxLength = 20; + MainLocationPostCodeLbl: Label '75010', MaxLength = 20; + WestLocationPostCodeLbl: Label '33000', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/2. Master Data/CreateItemFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/2. Master Data/CreateItemFR.Codeunit.al new file mode 100644 index 0000000000..a0044f4a8f --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Inventory/2. Master Data/CreateItemFR.Codeunit.al @@ -0,0 +1,63 @@ +codeunit 10879 "Create Item FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1005.8, 784.6); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 435.8, 339.9); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 651.1, 508); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 189.8, 0); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 55.2, 43.1); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 126.4, 0); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 343.5, 0); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1404.3, 1095.3); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 191, 148.9); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpFR.Codeunit.al new file mode 100644 index 0000000000..cad22bfb96 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/1. Setup Data/CreateVendorPostingGrpFR.Codeunit.al @@ -0,0 +1,56 @@ +codeunit 10880 "Create Vendor Posting Grp FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateFRGLAccount: Codeunit "Create GL Account FR"; + begin + ContosoPostingGroup.InsertVendorPostingGroup(FRANCEEFF(), CreateFRGLAccount.VendorsBillsPayable(), CreateGLAccount.OtherCostsOfOperations(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.InvoiceRounding(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentToleranceReceived(), '', false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGrp(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGrp: Codeunit "Create Vendor Posting Group"; + CreateFRGLAccount: Codeunit "Create GL Account FR"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateVendorPostingGrp.Domestic(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsDomestic(), CreateGLAccount.OtherCostsOfOperations(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.InvoiceRounding(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentToleranceReceived()); + CreateVendorPostingGrp.EU(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsDomestic(), CreateGLAccount.OtherCostsOfOperations(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.InvoiceRounding(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentToleranceReceived()); + CreateVendorPostingGrp.Foreign(): + ValidateVendorPostingGroup(Rec, CreateGLAccount.VendorsForeign(), CreateGLAccount.OtherCostsOfOperations(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.InvoiceRounding(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentToleranceReceived()); + end; + end; + + local procedure ValidateVendorPostingGroup(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; + + procedure FRANCEEFF(): Code[20] + begin + exit(FRANCEEFFTok); + end; + + var + FRANCEEFFTok: Label 'FRANCE-EFF', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueFR.Codeunit.al new file mode 100644 index 0000000000..f87ea01605 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/2. Master Data/CreatePurchDimValueFR.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 10882 "Create Purch. Dim. Value FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/2. Master Data/CreateVendorFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/2. Master Data/CreateVendorFR.Codeunit.al new file mode 100644 index 0000000000..1125fb95c6 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Purchase/2. Master Data/CreateVendorFR.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 10883 "Create Vendor FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendor: Codeunit "Create Vendor"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec."No." of + CreateVendor.ExportFabrikam(): + Rec.Validate("VAT Registration No.", ExportFabrikamVatRegLbl); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, NantesCityLbl, CreateVendorPostingGroup.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", 'FR27486327456', '', PostCode44000Lbl); + CreateVendor.EUGraphicDesign(): + Rec.Validate("VAT Registration No.", EUGraphicDesignVatRegLbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, NantesCityLbl, CreateVendorPostingGroup.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", 'FR19754876901', '', PostCode44000Lbl); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, BordeauxCityLbl, CreateVendorPostingGroup.Foreign(), ContosoCoffeeDemoDataSetup."Country/Region Code", 'FR29526749567', '', PostCode33000Lbl); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; TerritoryCode: Code[20]; CountryRegionCode: Code[10]; VatRegNo: Text[20]; County: Text[30]; PostCode: Code[20]) + begin + Vendor.Validate("Post Code", PostCode); + Vendor.Validate(City, City); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("Country/Region Code", CountryRegionCode); + if CountryRegionCode = '' then + Vendor."VAT Registration No." := VatRegNo + else + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate(County, County); + end; + + var + NantesCityLbl: Label 'Nantes', MaxLength = 30, Locked = true; + BordeauxCityLbl: Label 'Bordeaux', MaxLength = 30, Locked = true; + ExportFabrikamVatRegLbl: Label '503912693', MaxLength = 20; + EUGraphicDesignVatRegLbl: Label '521478963', MaxLength = 20; + PostCode44000Lbl: Label '44000', MaxLength = 20; + PostCode33000Lbl: Label '33000', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/1. Setup Data/CreateCustPostingGrpFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/1. Setup Data/CreateCustPostingGrpFR.Codeunit.al new file mode 100644 index 0000000000..c418130404 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/1. Setup Data/CreateCustPostingGrpFR.Codeunit.al @@ -0,0 +1,65 @@ +codeunit 10884 "Create Cust. Posting Grp FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateFRGLAccount: Codeunit "Create GL Account FR"; + begin + ContosoPostingGroup.InsertCustomerPostingGroup(FRANCEEFF(), CreateFRGLAccount.ClientsBillsReceivable(), CreateGLAccount.FeesAndChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesFromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases(), ''); + ContosoPostingGroup.InsertCustomerPostingGroup(FRANCEENC(), CreateFRGLAccount.BillsForCollection(), CreateGLAccount.FeesAndChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesFromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases(), ''); + end; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerPostingGrp(var Rec: Record "Customer Posting Group") + var + CreateFRGLAccount: Codeunit "Create GL Account FR"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateCustomerPostingGrp: Codeunit "Create Customer Posting Group"; + begin + case Rec.Code of + CreateCustomerPostingGrp.Domestic(): + ValidateCustomerPostingGroup(Rec, CreateGLAccount.CustomersDomestic(), CreateGLAccount.FeesAndChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesFromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases()); + CreateCustomerPostingGrp.EU(): + ValidateCustomerPostingGroup(Rec, CreateGLAccount.CustomersDomestic(), CreateGLAccount.FeesAndChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases()); + CreateCustomerPostingGrp.Foreign(): + ValidateCustomerPostingGroup(Rec, CreateGLAccount.CustomersForeign(), CreateGLAccount.FeesAndChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateFRGLAccount.ApplicationRoundingLcy(), CreateGLAccount.PmtTolReceivedDecreases(), CreateFRGLAccount.ApplicationRoundDebit(), CreateFRGLAccount.ApplicationRoundingDebit(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases()); + end; + end; + + local procedure ValidateCustomerPostingGroup(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; + + procedure FRANCEEFF(): Code[20] + begin + exit(FRANCEEFFTok); + end; + + procedure FRANCEENC(): Code[20] + begin + exit(FRANCEENCTok); + end; + + var + FRANCEEFFTok: Label 'FRANCE-EFF', MaxLength = 20; + FRANCEENCTok: Label 'FRANCE-ENC', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/1. Setup Data/CreateReminderLevelFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/1. Setup Data/CreateReminderLevelFR.Codeunit.al new file mode 100644 index 0000000000..586e4eafc6 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/1. Setup Data/CreateReminderLevelFR.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 10885 "Create Reminder Level FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + Rec.Validate("Additional Fee (LCY)", 7.8); + 2: + Rec.Validate("Additional Fee (LCY)", 15.6); + 3: + Rec.Validate("Additional Fee (LCY)", 23.2); + end; + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateCustomerFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateCustomerFR.Codeunit.al new file mode 100644 index 0000000000..40ea3d89b7 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateCustomerFR.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 10886 "Create Customer FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsert', '', false, false)] + local procedure OnBeforeInsertCustomer(var Customer: Record Customer) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateLanguage: Codeunit "Create Language"; + CreateCustomer: Codeunit "Create Customer"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Customer."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateCustomer(Customer, CreateLanguage.FRA(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreateVendorPostingGroup.Foreign(), PostCode69001Lbl, 'FR78945627890', LyonCityLbl); + CreateCustomer.DomesticTreyResearch(): + ValidateCustomer(Customer, CreateLanguage.FRA(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreateVendorPostingGroup.Foreign(), PostCode37000Lbl, 'FR25468745678', ToursCityLbl); + CreateCustomer.DomesticRelecloud(): + ValidateCustomer(Customer, CreateLanguage.FRA(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreateVendorPostingGroup.Foreign(), PostCode75008Lbl, 'FR58204893678', ParisCityLbl); + + CreateCustomer.ExportSchoolofArt(): + Customer.Validate("VAT Registration No.", ExportSchoolofArtVatRegLbl); + CreateCustomer.EUAlpineSkiHouse(): + Customer.Validate("VAT Registration No.", EUAlpineSkiHouseVatRegLbl); + end; + end; + + local procedure ValidateCustomer(var Customer: Record Customer; LanguageCode: Code[10]; CountryRegionCode: Code[10]; TerritoryCode: Code[20]; PostCode: Code[20]; VatRegistraionNo: Text[20]; City: Text[30]) + begin + Customer.Validate("Language Code", LanguageCode); + Customer."VAT Registration No." := VatRegistraionNo; + if CountryRegionCode <> '' then + Customer.Validate("Country/Region Code", CountryRegionCode); + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer.Validate("Territory Code", TerritoryCode); + end; + + var + LyonCityLbl: Label 'Lyon', MaxLength = 30; + ToursCityLbl: Label 'Tours', MaxLength = 30; + ParisCityLbl: Label 'Paris', MaxLength = 30; + ExportSchoolofArtVatRegLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegLbl: Label '533435789', MaxLength = 20; + PostCode69001Lbl: Label '69001', MaxLength = 20; + PostCode37000Lbl: Label '37000', MaxLength = 20; + PostCode75008Lbl: Label '75008', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateSalesDimValueFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateSalesDimValueFR.Codeunit.al new file mode 100644 index 0000000000..6e644609e6 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateSalesDimValueFR.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 10887 "Create Sales Dim Value FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateShipToAddressFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateShipToAddressFR.Codeunit.al new file mode 100644 index 0000000000..042a007e33 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Data/Sales/2. Master Data/CreateShipToAddressFR.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 10888 "Create Ship-to Address FR" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + CreateShiptoAddress.Cheltenham(): + ValidateShiptoAddress(Rec, ParisCityLbl, PostCode75008Lbl); + CreateShiptoAddress.London(): + ValidateShiptoAddress(Rec, ParisCityLbl, PostCode75009Lbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + CreateShiptoAddress.Fleet(): + ValidateShiptoAddress(Rec, NantesCityLbl, PostCode44000Lbl); + CreateShiptoAddress.TWYCross(): + ValidateShiptoAddress(Rec, NancyCityLbl, PostCode54000Lbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + var + ParisCityLbl: Label 'Paris', MaxLength = 30; + NantesCityLbl: Label 'Nantes', MaxLength = 30; + NancyCityLbl: Label 'Nancy', MaxLength = 30; + PostCode75008Lbl: Label '75008', MaxLength = 20; + PostCode75009Lbl: Label '75009', MaxLength = 20; + PostCode44000Lbl: Label '44000', MaxLength = 20; + PostCode54000Lbl: Label '54000', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/CommonModuleFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/CommonModuleFR.Codeunit.al similarity index 94% rename from Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/CommonModuleFR.Codeunit.al rename to Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/CommonModuleFR.Codeunit.al index a317a5a6c9..53fcde52d6 100644 --- a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/CommonModuleFR.Codeunit.al +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/CommonModuleFR.Codeunit.al @@ -15,7 +15,7 @@ codeunit 10856 "Common Module FR" if ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data" then begin LocalStandardVATPercentage := 20; ContosoPostingSetup.SetOverwriteData(true); - ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); ContosoPostingSetup.SetOverwriteData(false); end; end; diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/Contoso Helpers/ContosoPostCodeFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/Contoso Helpers/ContosoPostCodeFR.Codeunit.al new file mode 100644 index 0000000000..dd3099947d --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/Contoso Helpers/ContosoPostCodeFR.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 10867 "Contoso Post Code FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/Contoso Helpers/ContosoPostingGrpFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/Contoso Helpers/ContosoPostingGrpFR.Codeunit.al new file mode 100644 index 0000000000..b457e325dd --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/Contoso Helpers/ContosoPostingGrpFR.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 10870 "Contoso Posting Grp FR" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "General Posting Setup" = rim; + + procedure validatePostingAccount(GeneralBusPostingGrp: Code[20]; GeneralProdPostingGrp: Code[20]; SalesAccount: Code[20]; PurchaseAccount: Code[20]; InventoryAdjustmentAccount: Code[20]; DirectedCostAppliedAcc: Code[20]; OverheadAppliedAcc: Code[20]; PurchaseVarianceAccount: Code[20]; SalesLineDiscAccount: Code[20]; SalesInvDiscAccount: Code[20]; PurchaselineDiscountAccount: Code[20]; PurchInvDiscAccount: Code[20]; COGSAccount: Code[20]; COGSAccountInterim: Code[20]; InvtAccrualAccInterim: Code[20]; SalesCreditMemoAcc: Code[20]; PurchCreditMemoAcc: Code[20]) + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + if not GeneralPostingSetup.Get(GeneralBusPostingGrp, GeneralProdPostingGrp) then + exit; + + GeneralPostingSetup.Validate("Sales Account", SalesAccount); + GeneralPostingSetup.Validate("Sales Line Disc. Account", SalesLineDiscAccount); + GeneralPostingSetup.Validate("Sales Inv. Disc. Account", SalesInvDiscAccount); + GeneralPostingSetup.Validate("Sales Credit Memo Account", SalesAccount); + + GeneralPostingSetup.Validate("Purch. Account", PurchaseAccount); + GeneralPostingSetup.Validate("Purch. Line Disc. Account", PurchaselineDiscountAccount); + GeneralPostingSetup.Validate("Purch. Inv. Disc. Account", PurchInvDiscAccount); + GeneralPostingSetup.Validate("Purch. Credit Memo Account", PurchaseAccount); + + GeneralPostingSetup.Validate("COGS Account", COGSAccount); + GeneralPostingSetup.Validate("COGS Account (Interim)", COGSAccountInterim); + + GeneralPostingSetup.Validate("Inventory Adjmt. Account", InventoryAdjustmentAccount); + GeneralPostingSetup.Validate("Invt. Accrual Acc. (Interim)", InvtAccrualAccInterim); + + GeneralPostingSetup.Validate("Direct Cost Applied Account", DirectedCostAppliedAcc); + GeneralPostingSetup.Validate("Overhead Applied Account", OverheadAppliedAcc); + GeneralPostingSetup.Validate("Purchase Variance Account", PurchaseVarianceAccount); + GeneralPostingSetup.Validate("Sales Credit Memo Account", SalesCreditMemoAcc); + GeneralPostingSetup.Validate("Purch. Credit Memo Account", PurchCreditMemoAcc); + GeneralPostingSetup.Modify(true); + end; + + procedure ValidateVATPostingSetup(VatBusPostingGrp: Code[20]; VatProdPostingGrp: Code[20]; SalesVATAccount: Code[20]; PurchaseVATAccount: Code[20]; ReverseChargeVatAcc: Code[20]; VatPercent: Decimal) + var + VatPostingSetup: Record "VAT Posting Setup"; + begin + if not VatPostingSetup.Get(VatBusPostingGrp, VatProdPostingGrp) then + exit; + + VatPostingSetup.Validate("Sales VAT Account", SalesVATAccount); + VatPostingSetup.Validate("Purchase VAT Account", PurchaseVATAccount); + VatPostingSetup.Validate("Reverse Chrg. VAT Acc.", ReverseChargeVatAcc); + VatPostingSetup.Validate("VAT %", VatPercent); + VatPostingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/ContosoDemoDataSetupFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/ContosoDemoDataSetupFR.Codeunit.al similarity index 100% rename from Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/ContosoDemoDataSetupFR.Codeunit.al rename to Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/ContosoDemoDataSetupFR.Codeunit.al diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/ContosoFRLocalization.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/ContosoFRLocalization.Codeunit.al new file mode 100644 index 0000000000..24fb6231f8 --- /dev/null +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/ContosoFRLocalization.Codeunit.al @@ -0,0 +1,243 @@ +codeunit 10864 "Contoso FR Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::"Fixed Asset Module" then + FixedAssetModule(ContosoDemoDataLevel); + + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResourceModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Post Code FR"); + Codeunit.Run(Codeunit::"Create Company Information FR"); + Codeunit.Run(Codeunit::"Create Source Code FR"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line FR"); + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create FA Depreciation Book FR"); + Codeunit.Run(Codeunit::"Create FA Jnl. Setup FR"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVATPostingGrpFR: Codeunit "Create VAT Posting Grp FR"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create General Ledger Setup FR"); + CreateVATPostingGrpFR.UpdateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create Posting Group FR"); + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Currency Exc. Rate FR"); + Codeunit.Run(Codeunit::"Create Column Layout FR"); + Codeunit.Run(Codeunit::"Create VAT Statement FR"); + end; + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Inv. Posting Setup FR"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Item FR"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Vendor Posting Grp FR"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Cust. Posting Grp FR"); + end; + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Empl. Posting Group FR"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateResourceFR: Codeunit "Create Resource FR"; + CreateVATPostingGrpFR: Codeunit "Create VAT Posting Grp FR"; + CreateCurrencyExcRateFR: Codeunit "Create Currency Exc. Rate FR"; + CreateAccScheduleLineFR: Codeunit "Create Acc. Schedule Line FR"; + CreateBankAccPostingGrpFR: Codeunit "Create Bank Acc. Post. Grp FR"; + CreateBankAccountFR: Codeunit "Create Bank Account FR"; + CreateGenJournalLineFR: Codeunit "Create Gen. Journal Line FR"; + CreateFAPostingGrpFR: Codeunit "Create FA Posting Grp. FR"; + CreateItemFR: Codeunit "Create Item FR"; + CreateLoactionFR: Codeunit "Create Location FR"; + CreateVendorPostingGrpFR: Codeunit "Create Vendor Posting Grp FR"; + CreatePurchDimValueFR: Codeunit "Create Purch. Dim. Value FR"; + CreateVendorFR: Codeunit "Create Vendor FR"; + CreateCustPostingGrpFR: Codeunit "Create Cust. Posting Grp FR"; + CreateReminderLevelFR: Codeunit "Create Reminder Level FR"; + CreateCustomerFR: Codeunit "Create Customer FR"; + CreateSalesDimValueFR: Codeunit "Create Sales Dim Value FR"; + CreateShiptoAddressFR: Codeunit "Create Ship-to Address FR"; + CreateCurrencyFR: Codeunit "Create Currency FR"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateResourceFR); + BindSubscription(CreateCurrencyExcRateFR); + BindSubscription(CreateAccScheduleLineFR); + BindSubscription(CreateVATPostingGrpFR); + BindSubscription(CreateCurrencyFR); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccPostingGrpFR); + BindSubscription(CreateBankAccountFR); + BindSubscription(CreateGenJournalLineFR); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateFAPostingGrpFR); + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateItemFR); + BindSubscription(CreateLoactionFR); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorPostingGrpFR); + BindSubscription(CreatePurchDimValueFR); + BindSubscription(CreateVendorFR); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustPostingGrpFR); + BindSubscription(CreateReminderLevelFR); + BindSubscription(CreateCustomerFR); + BindSubscription(CreateSalesDimValueFR); + BindSubscription(CreateShiptoAddressFR); + end; + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateResourceFR: Codeunit "Create Resource FR"; + CreateVATPostingGrpFR: Codeunit "Create VAT Posting Grp FR"; + CreateCurrencyExcRateFR: Codeunit "Create Currency Exc. Rate FR"; + CreateAccScheduleLineFR: Codeunit "Create Acc. Schedule Line FR"; + CreateBankAccPostingGrpFR: Codeunit "Create Bank Acc. Post. Grp FR"; + CreateBankAccountFR: Codeunit "Create Bank Account FR"; + CreateGenJournalLineFR: Codeunit "Create Gen. Journal Line FR"; + CreateFAPostingGrpFR: Codeunit "Create FA Posting Grp. FR"; + CreateItemFR: Codeunit "Create Item FR"; + CreateLoactionFR: Codeunit "Create Location FR"; + CreateVendorPostingGrpFR: Codeunit "Create Vendor Posting Grp FR"; + CreatePurchDimValueFR: Codeunit "Create Purch. Dim. Value FR"; + CreateVendorFR: Codeunit "Create Vendor FR"; + CreateCustPostingGrpFR: Codeunit "Create Cust. Posting Grp FR"; + CreateReminderLevelFR: Codeunit "Create Reminder Level FR"; + CreateCustomerFR: Codeunit "Create Customer FR"; + CreateSalesDimValueFR: Codeunit "Create Sales Dim Value FR"; + CreateShiptoAddressFR: Codeunit "Create Ship-to Address FR"; + CreateCurrencyFR: Codeunit "Create Currency FR"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateResourceFR); + UnbindSubscription(CreateCurrencyExcRateFR); + UnbindSubscription(CreateAccScheduleLineFR); + UnbindSubscription(CreateVATPostingGrpFR); + UnbindSubscription(CreateCurrencyFR); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccPostingGrpFR); + UnbindSubscription(CreateBankAccountFR); + UnbindSubscription(CreateGenJournalLineFR); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnbindSubscription(CreateFAPostingGrpFR); + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateItemFR); + UnbindSubscription(CreateLoactionFR); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateVendorPostingGrpFR); + UnbindSubscription(CreatePurchDimValueFR); + UnbindSubscription(CreateVendorFR); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateCustPostingGrpFR); + UnbindSubscription(CreateReminderLevelFR); + UnbindSubscription(CreateCustomerFR); + UnbindSubscription(CreateSalesDimValueFR); + UnbindSubscription(CreateShiptoAddressFR); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/CreateFRGLAccounts.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/CreateFRGLAccounts.Codeunit.al similarity index 98% rename from Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/CreateFRGLAccounts.Codeunit.al rename to Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/CreateFRGLAccounts.Codeunit.al index 5d70c0153c..2103877b8d 100644 --- a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/CreateFRGLAccounts.Codeunit.al +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/CreateFRGLAccounts.Codeunit.al @@ -21,19 +21,19 @@ codeunit 10850 "Create FR GL Accounts" ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '445711'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '445661'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '904100'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '603710'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '905100'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '603711'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '961000'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '603712'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '350000'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '601100'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '961000'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '603712'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '370000'); diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/WarehouseModuleSetupFR.Codeunit.al b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/WarehouseModuleSetupFR.Codeunit.al similarity index 100% rename from Apps/FR/ContosoCoffeeDemoDatasetFR/app/Codeunits/WarehouseModuleSetupFR.Codeunit.al rename to Apps/FR/ContosoCoffeeDemoDatasetFR/app/Demo Tool/WarehouseModuleSetupFR.Codeunit.al diff --git a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/app.json b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/app.json index 2f3b6f7194..94c646a40e 100644 --- a/Apps/FR/ContosoCoffeeDemoDatasetFR/app/app.json +++ b/Apps/FR/ContosoCoffeeDemoDatasetFR/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 10850, - "to": 10860 + "to": 10960 } ], "resourceExposurePolicy": { diff --git a/Apps/FR/FECAuditFile/app/src/ExportEngine/AuditFileExportHeaderFEC.TableExt.al b/Apps/FR/FECAuditFile/app/src/ExportEngine/AuditFileExportHeaderFEC.TableExt.al index b5ac25593b..3fe1b0aee5 100644 --- a/Apps/FR/FECAuditFile/app/src/ExportEngine/AuditFileExportHeaderFEC.TableExt.al +++ b/Apps/FR/FECAuditFile/app/src/ExportEngine/AuditFileExportHeaderFEC.TableExt.al @@ -53,12 +53,14 @@ tableextension 10826 "Audit File Export Header FEC" extends "Audit File Export H DataClassification = SystemMetadata; Editable = false; } +#if not CLEANSCHEMA26 field(10830; "Use Transaction No."; Boolean) { ObsoleteReason = 'The transaction number will be used as the progressive number by default. This field is no longer needed.'; ObsoleteState = Removed; ObsoleteTag = '26.0'; } +#endif } var diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/CommonModuleGB.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/CommonModuleGB.Codeunit.al deleted file mode 100644 index a6a8a36815..0000000000 --- a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/CommonModuleGB.Codeunit.al +++ /dev/null @@ -1,22 +0,0 @@ -codeunit 10508 "Common Module GB" -{ - InherentEntitlements = X; - InherentPermissions = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] - local procedure LocalizationVATPostingSetup(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") - var - ContosoPostingSetup: Codeunit "Contoso Posting Setup"; - CommonPostingGroup: Codeunit "Create Common Posting Group"; - CommonGLAccount: Codeunit "Create Common GL Account"; - LocalStandardVATPercentage: Decimal; - begin - if Module = Enum::"Contoso Demo Data Module"::"Common Module" then - if ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data" then begin - LocalStandardVATPercentage := 20; - ContosoPostingSetup.SetOverwriteData(true); - ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT"); - ContosoPostingSetup.SetOverwriteData(false); - end; - end; -} diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/CreateGBGLAccounts.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/CreateGBGLAccounts.Codeunit.al deleted file mode 100644 index 45c3e50a8d..0000000000 --- a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/CreateGBGLAccounts.Codeunit.al +++ /dev/null @@ -1,112 +0,0 @@ -codeunit 10506 "Create GB GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '75110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '82100'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '10130'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '64140'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '83120'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '75960'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '64100'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '64140'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '64100'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '64140'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '20410'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '20410'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '64100'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '64100'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '20110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '20110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '64140'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '10430'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '20210'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '20210'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '20410'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '20420'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '20430'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '20440'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '20450'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '20460'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '64130'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '64210'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5850'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '64250'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '64230'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '10420'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '10410'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '20320'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '20310'); - end; -} diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/1.Setup Data/CreateGBBankAccPostingGrp.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/1.Setup Data/CreateGBBankAccPostingGrp.Codeunit.al new file mode 100644 index 0000000000..18fcbc1011 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/1.Setup Data/CreateGBBankAccPostingGrp.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11509 "Create GB Bank Acc Posting Grp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account Posting Group"; RunTrigger: Boolean) + var + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Checking(): + ValidateRecordFields(Rec, CreateGBGLAccounts.BusinessAccountOperatingDomestic()); + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateGLAccount.Cash()); + CreateBankAccPostingGrp.Savings(): + ValidateRecordFields(Rec, CreateGBGLAccounts.OtherBankAccounts()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/1.Setup Data/CreateGBPaymentMethod.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/1.Setup Data/CreateGBPaymentMethod.Codeunit.al new file mode 100644 index 0000000000..075e87912d --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/1.Setup Data/CreateGBPaymentMethod.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 11508 "Create GB Payment Method" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Method", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Payment Method"; RunTrigger: Boolean) + var + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreatePaymentMethod.Cash(): + ValidateRecordFields(Rec, CreateGLAccount.Cash()); + end; + end; + + local procedure ValidateRecordFields(var PaymentMethod: Record "Payment Method"; BalAccountNo: Code[20]) + begin + PaymentMethod.Validate("Bal. Account No.", BalAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/3.Transaction Data/CreateGBBankAccRec.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/3.Transaction Data/CreateGBBankAccRec.Codeunit.al new file mode 100644 index 0000000000..38ceb79b12 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Bank/3.Transaction Data/CreateGBBankAccRec.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 11507 "Create GB Bank Acc. Rec." +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Statement No. Hard codeing to be removed after MS finalization on the W1 CodeUnit. + + [EventSubscriber(ObjectType::Table, Database::"Bank Acc. Reconciliation Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Acc. Reconciliation Line"; RunTrigger: Boolean) + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + if (Rec."Statement Type" = Rec."Statement Type"::"Bank Reconciliation") then begin + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = '24') and (Rec."Statement Line No." = 30000) then + ValidateRecordFields(Rec, DepositToAccountLbl, Rec."Statement Amount"); + end else + if (Rec."Bank Account No." = CreateBankAccount.Checking()) and (Rec."Statement No." = 'PREC000') then + case Rec."Statement Line No." of + 10000: + ValidateRecordFields(Rec, Rec.Description, -1626.24); + 20000: + ValidateRecordFields(Rec, Rec.Description, -1180); + 40000: + ValidateRecordFields(Rec, Rec.Description, 600.48); + 60000: + ValidateRecordFields(Rec, Rec.Description, 2113.92); + end; + end; + + local procedure ValidateRecordFields(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Description: Text[100]; Amount: Decimal) + begin + BankAccReconciliationLine.Validate(Description, Description); + BankAccReconciliationLine.Validate("Transaction Text", Description); + BankAccReconciliationLine.Validate("Statement Amount", Amount); + BankAccReconciliationLine.Validate("Applied Amount", Amount); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18/01/24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBAccScheduleLine.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..89078d8e7b --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBAccScheduleLine.Codeunit.al @@ -0,0 +1,109 @@ +codeunit 11492 "Create GB Acc Schedule Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Acc. Schedule Line"; RunTrigger: Boolean) + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if (Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview()) and (Rec."Line No." = 60000) then + ValidateRecordFields(Rec, '4010', IncomeThisYearLbl, '4999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '', ACIDTestAnalysisLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + 40000: + ValidateRecordFields(Rec, '101', InventoryLbl, CreateGLAccount.FinishedGoods(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 50000: + ValidateRecordFields(Rec, '102', AccountsReceivableLbl, CreateGLAccount.CustomersDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 60000: + ValidateRecordFields(Rec, '103', SecuritiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 70000: + ValidateRecordFields(Rec, '104', LiquidAssetsLbl, '7820078100', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 110000: + ValidateRecordFields(Rec, '111', RevolvingCreditLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 120000: + ValidateRecordFields(Rec, '112', AccountsPayableLbl, CreateGLAccount.VendorsDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 130000: + ValidateRecordFields(Rec, '113', VATLbl, '46200..46330|' + CreateGBGLAccounts.SalesVATNormal() + '..' + CreateGBGLAccounts.MiscVATPayables(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 140000: + ValidateRecordFields(Rec, '114', PersonnelRelatedItemsLbl, CreateGBGLAccounts.AccruedWagesSalaries() + '..' + CreateGBGLAccounts.SalesVATNormal(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 150000: + ValidateRecordFields(Rec, '115', OtherLiabilitiesLbl, CreateGBGLAccounts.PurchaseDiscounts(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + 180000: + ValidateRecordFields(Rec, '', CAMinusShortTermLiabLbl, '105|116', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case + Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '', REVENUELbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + 30000: + ValidateRecordFields(Rec, '', SalesofRetailLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + 40000: + ValidateRecordFields(Rec, '11', IncomeServicesLbl, CreateGBGLAccounts.SaleOfResources(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 50000: + ValidateRecordFields(Rec, '12', IncomeProductSalesLbl, CreateGBGLAccounts.SaleOfFinishedGoods(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 60000: + ValidateRecordFields(Rec, '13', SalesDiscountReturnsAllowancesLbl, CreateGBGLAccounts.DiscountsAndAllowances() + '..' + CreateGBGLAccounts.SalesReturns(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 70000: + ValidateRecordFields(Rec, '14', JobSalesLbl, CreateGLAccount.JobSales(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 80000: + ValidateRecordFields(Rec, '15', SalesofRetailTotalLbl, '11..14', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + 100000: + ValidateRecordFields(Rec, '21', RevenueArea10to55TotalLbl, CreateGBGLAccounts.SaleOfResources() + '..' + CreateGBGLAccounts.SalesReturns(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '10..55', false, true); + 110000: + ValidateRecordFields(Rec, '22', RevenueArea60to85TotalLbl, CreateGBGLAccounts.SaleOfResources() + '..' + CreateGBGLAccounts.SalesReturns(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '60..85', false, true); + 120000: + ValidateRecordFields(Rec, '23', RevenueNoAreacodeTotalLbl, CreateGBGLAccounts.SaleOfResources() + '..' + CreateGBGLAccounts.SalesReturns(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + 130000: + ValidateRecordFields(Rec, '24', RevenueTotalLbl, '21..23', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Description: Text[100]; Totaling: Text[250]; TotalingType: Enum "Acc. Schedule Line Totaling Type"; Show: Enum "Acc. Schedule Line Show"; Dimension1Totaling: Text[250]; Bold: Boolean; ShowOppositeSign: Boolean) + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Show, Show); + AccScheduleLine.Validate("Dimension 1 Totaling", Dimension1Totaling); + AccScheduleLine.Validate(Bold, Bold); + AccScheduleLine.Validate("Show Opposite Sign", ShowOppositeSign); + end; + + var + IncomeThisYearLbl: Label 'Income This Year', MaxLength = 100; + ACIDTestAnalysisLbl: Label 'ACID-TEST ANALYSIS', MaxLength = 100; + InventoryLbl: Label 'Inventory', MaxLength = 100; + AccountsReceivableLbl: Label 'Accounts Receivable', MaxLength = 100; + SecuritiesLbl: Label 'Securities', MaxLength = 100; + LiquidAssetsLbl: Label 'Liquid Assets', MaxLength = 100; + RevolvingCreditLbl: Label 'Revolving Credit', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payable', MaxLength = 100; + VATLbl: Label 'VAT', MaxLength = 100; + PersonnelRelatedItemsLbl: Label 'Personnel-related Items', MaxLength = 100; + OtherLiabilitiesLbl: Label 'Other Liabilities', MaxLength = 100; + CAMinusShortTermLiabLbl: Label 'Current Assets minus Short-term Liabilities', MaxLength = 100; + REVENUELbl: Label 'REVENUE', MaxLength = 100; + SalesofRetailLbl: Label 'Sales of Retail', MaxLength = 100; + IncomeServicesLbl: Label 'Income, Services', MaxLength = 100; + IncomeProductSalesLbl: Label 'Income, Product Sales', MaxLength = 100; + SalesDiscountReturnsAllowancesLbl: Label 'Sales Discount, Returns and Allowances', MaxLength = 100; + JobSalesLbl: Label 'Job Sales', MaxLength = 100; + SalesofRetailTotalLbl: Label 'Sales of Retail, Total', MaxLength = 100; + RevenueArea10to55TotalLbl: Label 'Revenue Area 10..55, Total', MaxLength = 100; + RevenueArea60to85TotalLbl: Label 'Revenue Area 60..85, Total', MaxLength = 100; + RevenueNoAreacodeTotalLbl: Label 'Revenue, no Area code, Total', MaxLength = 100; + RevenueTotalLbl: Label 'Revenue, Total', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBAnalysisView.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBAnalysisView.Codeunit.al new file mode 100644 index 0000000000..c986088b43 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBAnalysisView.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 10515 "Create GB Analysis View" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Analysis View", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Analysis View"; RunTrigger: Boolean) + var + CreateAnalysisView: Codeunit "Create Analysis View"; + begin + case Rec.Code of + CreateAnalysisView.SalesRevenue(): + ValidateRecordFields(Rec, '10000..10990'); + end; + end; + + local procedure ValidateRecordFields(var AnalysisView: Record "Analysis View"; AccountFilter: Code[250]) + begin + AnalysisView.Validate("Account Filter", AccountFilter); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBColumnLayoutName.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBColumnLayoutName.Codeunit.al new file mode 100644 index 0000000000..18fbc068fb --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBColumnLayoutName.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 10514 "Create GB Column Layout Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(BalanceBudget(), BalanceBudgetLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BalanceLastYear(), BalanceLastYearLbl); + ContosoAccountSchedule.InsertColumnLayoutName(NetChangeBudget(), NetChangeBudgetLbl); + ContosoAccountSchedule.InsertColumnLayoutName(NetChangeLastYear(), NetChangeLastYearLbl); + end; + + procedure BalanceBudget(): Code[10] + begin + exit(BalanceBudgetTok); + end; + + procedure BalanceLastYear(): Code[10] + begin + exit(BalanceLastYearTok); + end; + + procedure NetChangeBudget(): Code[10] + begin + exit(NetChangeBudgetTok); + end; + + procedure NetChangeLastYear(): Code[10] + begin + exit(NetChangeLastYearTok); + end; + + var + BalanceBudgetTok: Label 'BAL_BUDG', MaxLength = 10; + BalanceLastYearTok: Label 'BAL_LAST', MaxLength = 10; + NetChangeBudgetTok: Label 'NET_BUDG', MaxLength = 10; + NetChangeLastYearTok: Label 'NET_LAST', MaxLength = 10; + BalanceBudgetLbl: Label 'Balance/Budget', MaxLength = 80; + BalanceLastYearLbl: Label 'Balance/Last Year', MaxLength = 80; + NetChangeBudgetLbl: Label 'Net Change/Budget', MaxLength = 80; + NetChangeLastYearLbl: Label 'Net Change/Last Year', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGLAccounts.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGLAccounts.Codeunit.al new file mode 100644 index 0000000000..c5d499a234 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGLAccounts.Codeunit.al @@ -0,0 +1,4536 @@ +codeunit 10506 "Create GB GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '75110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '82100'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '10130'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '64140'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '83120'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '75960'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '64100'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '64140'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '64100'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '64140'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '64100'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '64100'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '20110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '20110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '64140'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '10430'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '20210'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '20210'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), ''); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '64130'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '64210'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), ''); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), ''); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '64250'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '64230'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '10420'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '10410'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '20320'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '20310'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccount() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), '60000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '60001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), '10200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '10410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '20310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), '30401'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), '30449'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '31010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '32000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '32110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), '39999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationofFixedAssetsName(), '40000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), '40999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), '49999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), '62000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), '62100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsTotalName(), '62199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), '62999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '64100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '64130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '64220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), '64230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '75100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), '75110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), '75120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), '75199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '77100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '78100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), '79999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), '80000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesName(), '81000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesTotalName(), '81999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '82100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '82200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '82600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '89999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(InvoiceRoundingName(), '10920'); + ContosoGLAccount.AddAccountForLocalization(IncomeName(), '10001'); + ContosoGLAccount.AddAccountForLocalization(SalesOfGoodsName(), '10100'); + ContosoGLAccount.AddAccountForLocalization(SaleOfFinishedGoodsName(), '10110'); + ContosoGLAccount.AddAccountForLocalization(SaleOfRawMaterialsName(), '10120'); + ContosoGLAccount.AddAccountForLocalization(ResaleOfGoodsName(), '10130'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesOfGoodsName(), '10199'); + ContosoGLAccount.AddAccountForLocalization(SaleOfResourcesName(), '10210'); + ContosoGLAccount.AddAccountForLocalization(SaleOfSubcontractingName(), '10220'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesOfResourcesName(), '10299'); + ContosoGLAccount.AddAccountForLocalization(AdditionalRevenueName(), '10300'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromSecuritiesName(), '10310'); + ContosoGLAccount.AddAccountForLocalization(ManagementFeeRevenueName(), '10320'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), '10330'); + ContosoGLAccount.AddAccountForLocalization(CurrencyGainsName(), '10380'); + ContosoGLAccount.AddAccountForLocalization(OtherIncidentalRevenueName(), '10390'); + ContosoGLAccount.AddAccountForLocalization(TotalAdditionalRevenueName(), '10399'); + ContosoGLAccount.AddAccountForLocalization(JobsAndServicesName(), '10400'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedName(), '10420'); + ContosoGLAccount.AddAccountForLocalization(SalesOfServiceContractsName(), '10430'); + ContosoGLAccount.AddAccountForLocalization(SalesOfServiceWorkName(), '10440'); + ContosoGLAccount.AddAccountForLocalization(TotalJobsAndServicesName(), '10499'); + ContosoGLAccount.AddAccountForLocalization(RevenueReductionsName(), '10900'); + ContosoGLAccount.AddAccountForLocalization(DiscountsAndAllowancesName(), '10910'); + ContosoGLAccount.AddAccountForLocalization(PaymentToleranceName(), '10930'); + ContosoGLAccount.AddAccountForLocalization(SalesReturnsName(), '10940'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenueReductionsName(), '10999'); + ContosoGLAccount.AddAccountForLocalization(TotalIncomeName(), '19990'); + ContosoGLAccount.AddAccountForLocalization(CostOfGoodsSoldName(), '20001'); + ContosoGLAccount.AddAccountForLocalization(CostOfGoodsName(), '20100'); + ContosoGLAccount.AddAccountForLocalization(CostOfMaterialsName(), '20110'); + ContosoGLAccount.AddAccountForLocalization(CostOfMaterialsProjectsName(), '20120'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfGoodsName(), '20199'); + ContosoGLAccount.AddAccountForLocalization(CostOfResourcesAndServicesName(), '20200'); + ContosoGLAccount.AddAccountForLocalization(CostOfLaborName(), '20210'); + ContosoGLAccount.AddAccountForLocalization(CostOfLaborProjectsName(), '20220'); + ContosoGLAccount.AddAccountForLocalization(CostOfLaborWarrantyContractName(), '20230'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfResourcesName(), '20299'); + ContosoGLAccount.AddAccountForLocalization(CostsOfJobsName(), '20300'); + ContosoGLAccount.AddAccountForLocalization(JobCostsAppliedName(), '20320'); + ContosoGLAccount.AddAccountForLocalization(TotalCostsOfJobsName(), '20399'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedWorkName(), '20400'); + ContosoGLAccount.AddAccountForLocalization(CostOfVariancesName(), '20500'); + ContosoGLAccount.AddAccountForLocalization(TotalCostOfGoodsSoldName(), '29990'); + ContosoGLAccount.AddAccountForLocalization(ExpensesName(), '30001'); + ContosoGLAccount.AddAccountForLocalization(FacilityExpensesName(), '30002'); + ContosoGLAccount.AddAccountForLocalization(RentalFacilitiesName(), '30100'); + ContosoGLAccount.AddAccountForLocalization(RentLeasesName(), '30110'); + ContosoGLAccount.AddAccountForLocalization(ElectricityForRentalName(), '30120'); + ContosoGLAccount.AddAccountForLocalization(HeatingForRentalName(), '30130'); + ContosoGLAccount.AddAccountForLocalization(WaterAndSewerageForRentalName(), '30140'); + ContosoGLAccount.AddAccountForLocalization(CleaningAndWasteForRentalName(), '30150'); + ContosoGLAccount.AddAccountForLocalization(RepairsAndMaintenanceForRentalName(), '30160'); + ContosoGLAccount.AddAccountForLocalization(InsurancesRentalName(), '30170'); + ContosoGLAccount.AddAccountForLocalization(OtherRentalExpensesName(), '30190'); + ContosoGLAccount.AddAccountForLocalization(TotalRentalFacilitiesName(), '30199'); + ContosoGLAccount.AddAccountForLocalization(PropertyExpensesName(), '30200'); + ContosoGLAccount.AddAccountForLocalization(SiteFeesLeasesName(), '30210'); + ContosoGLAccount.AddAccountForLocalization(ElectricityForPropertyName(), '30220'); + ContosoGLAccount.AddAccountForLocalization(HeatingForPropertyName(), '30230'); + ContosoGLAccount.AddAccountForLocalization(WaterAndSewerageForPropertyName(), '30240'); + ContosoGLAccount.AddAccountForLocalization(CleaningandWasteforPropertyName(), '30250'); + ContosoGLAccount.AddAccountForLocalization(RepairsAndMaintenanceForPropertyName(), '30260'); + ContosoGLAccount.AddAccountForLocalization(InsurancesPropertyName(), '30270'); + ContosoGLAccount.AddAccountForLocalization(OtherPropertyExpensesName(), '30290'); + ContosoGLAccount.AddAccountForLocalization(TotalPropertyExpensesName(), '30298'); + ContosoGLAccount.AddAccountForLocalization(TotalFacilityExpensesName(), '30299'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsLeasesName(), '30300'); + ContosoGLAccount.AddAccountForLocalization(HireOfMachineryName(), '30310'); + ContosoGLAccount.AddAccountForLocalization(HireOfComputersName(), '30320'); + ContosoGLAccount.AddAccountForLocalization(HireOfOtherFixedAssetsName(), '30330'); + ContosoGLAccount.AddAccountForLocalization(TotalFixedAssetLeasesName(), '30399'); + ContosoGLAccount.AddAccountForLocalization(LogisticsExpensesName(), '30400'); + ContosoGLAccount.AddAccountForLocalization(PassengerCarCostsName(), '30410'); + ContosoGLAccount.AddAccountForLocalization(TruckCostsName(), '30420'); + ContosoGLAccount.AddAccountForLocalization(OtherVehicleExpensesName(), '30430'); + ContosoGLAccount.AddAccountForLocalization(FreightCostsName(), '30450'); + ContosoGLAccount.AddAccountForLocalization(FreightFeesForGoodsName(), '30460'); + ContosoGLAccount.AddAccountForLocalization(CustomsAndForwardingName(), '30470'); + ContosoGLAccount.AddAccountForLocalization(FreightFeesProjectsName(), '30480'); + ContosoGLAccount.AddAccountForLocalization(TotalFreightCostsName(), '30499'); + ContosoGLAccount.AddAccountForLocalization(TravelExpensesName(), '30500'); + ContosoGLAccount.AddAccountForLocalization(TicketsName(), '30510'); + ContosoGLAccount.AddAccountForLocalization(RentalVehiclesName(), '30520'); + ContosoGLAccount.AddAccountForLocalization(BoardAndLodgingName(), '30530'); + ContosoGLAccount.AddAccountForLocalization(OtherTravelExpensesName(), '30540'); + ContosoGLAccount.AddAccountForLocalization(TotalTravelExpensesName(), '30598'); + ContosoGLAccount.AddAccountForLocalization(TotalLogisticsExpensesName(), '30599'); + ContosoGLAccount.AddAccountForLocalization(MarketingAndSalesName(), '30600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '30601'); + ContosoGLAccount.AddAccountForLocalization(AdvertisementDevelopmentName(), '30610'); + ContosoGLAccount.AddAccountForLocalization(OutdoorAndTransportationAdsName(), '30620'); + ContosoGLAccount.AddAccountForLocalization(AdMatterAndDirectMailingsName(), '30630'); + ContosoGLAccount.AddAccountForLocalization(ConferenceExhibitionSponsorshipName(), '30640'); + ContosoGLAccount.AddAccountForLocalization(SamplesContestsGiftsName(), '30650'); + ContosoGLAccount.AddAccountForLocalization(FilmTvRadioInternetAdsName(), '30660'); + ContosoGLAccount.AddAccountForLocalization(PrAndAgencyFeesName(), '30670'); + ContosoGLAccount.AddAccountForLocalization(OtherAdvertisingFeesName(), '30680'); + ContosoGLAccount.AddAccountForLocalization(TotalAdvertisingName(), '30699'); + ContosoGLAccount.AddAccountForLocalization(OtherMarketingExpensesName(), '30700'); + ContosoGLAccount.AddAccountForLocalization(CatalogsPriceListsName(), '30710'); + ContosoGLAccount.AddAccountForLocalization(TradePublicationsName(), '30720'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherMarketingExpensesName(), '30799'); + ContosoGLAccount.AddAccountForLocalization(SalesExpensesName(), '30800'); + ContosoGLAccount.AddAccountForLocalization(CreditCardChargesName(), '30810'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingDeductibleName(), '30820'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingNondeductibleName(), '30830'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesExpensesName(), '30898'); + ContosoGLAccount.AddAccountForLocalization(TotalMarketingAndSalesName(), '30899'); + ContosoGLAccount.AddAccountForLocalization(OfficeExpensesName(), '31001'); + ContosoGLAccount.AddAccountForLocalization(PhoneServicesName(), '31020'); + ContosoGLAccount.AddAccountForLocalization(DataServicesName(), '31030'); + ContosoGLAccount.AddAccountForLocalization(PostalFeesName(), '31040'); + ContosoGLAccount.AddAccountForLocalization(ConsumableExpensibleHardwareName(), '31050'); + ContosoGLAccount.AddAccountForLocalization(SoftwareAndSubscriptionFeesName(), '31060'); + ContosoGLAccount.AddAccountForLocalization(TotalOfficeExpensesName(), '31099'); + ContosoGLAccount.AddAccountForLocalization(InsurancesAndRisksName(), '31100'); + ContosoGLAccount.AddAccountForLocalization(CorporateInsuranceName(), '31110'); + ContosoGLAccount.AddAccountForLocalization(DamagesPaidName(), '31120'); + ContosoGLAccount.AddAccountForLocalization(BadDebtLossesName(), '31130'); + ContosoGLAccount.AddAccountForLocalization(SecurityServicesName(), '31140'); + ContosoGLAccount.AddAccountForLocalization(OtherRiskExpensesName(), '31150'); + ContosoGLAccount.AddAccountForLocalization(TotalInsurancesAndRisksName(), '31199'); + ContosoGLAccount.AddAccountForLocalization(ManagementAndAdminName(), '31200'); + ContosoGLAccount.AddAccountForLocalization(ManagementName(), '31201'); + ContosoGLAccount.AddAccountForLocalization(RemunerationToDirectorsName(), '31210'); + ContosoGLAccount.AddAccountForLocalization(ManagementFeesName(), '31220'); + ContosoGLAccount.AddAccountForLocalization(AnnualInterrimReportsName(), '31230'); + ContosoGLAccount.AddAccountForLocalization(AnnualGeneralMeetingName(), '31240'); + ContosoGLAccount.AddAccountForLocalization(AuditAndAuditServicesName(), '31250'); + ContosoGLAccount.AddAccountForLocalization(TaxAdvisoryServicesName(), '31260'); + ContosoGLAccount.AddAccountForLocalization(TotalManagementFeesName(), '31298'); + ContosoGLAccount.AddAccountForLocalization(TotalManagementAndAdminName(), '31299'); + ContosoGLAccount.AddAccountForLocalization(BankingAndInterestName(), '31300'); + ContosoGLAccount.AddAccountForLocalization(BankingFeesName(), '31310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '31320'); + ContosoGLAccount.AddAccountForLocalization(PayableInvoiceRoundingName(), '31330'); + ContosoGLAccount.AddAccountForLocalization(TotalBankingAndInterestName(), '31399'); + ContosoGLAccount.AddAccountForLocalization(ExternalServicesExpensesName(), '31400'); + ContosoGLAccount.AddAccountForLocalization(ExternalServicesName(), '31401'); + ContosoGLAccount.AddAccountForLocalization(AccountingServicesName(), '31410'); + ContosoGLAccount.AddAccountForLocalization(ITServicesName(), '31420'); + ContosoGLAccount.AddAccountForLocalization(MediaServicesName(), '31430'); + ContosoGLAccount.AddAccountForLocalization(ConsultingServicesName(), '31440'); + ContosoGLAccount.AddAccountForLocalization(LegalFeesAndAttorneyServicesName(), '31450'); + ContosoGLAccount.AddAccountForLocalization(OtherExternalServicesName(), '31460'); + ContosoGLAccount.AddAccountForLocalization(TotalExternalServicesName(), '31499'); + ContosoGLAccount.AddAccountForLocalization(OtherExternalExpensesName(), '31500'); + ContosoGLAccount.AddAccountForLocalization(LicenseFeesRoyaltiesName(), '31510'); + ContosoGLAccount.AddAccountForLocalization(TrademarksPatentsName(), '31520'); + ContosoGLAccount.AddAccountForLocalization(AssociationFeesName(), '31530'); + ContosoGLAccount.AddAccountForLocalization(MiscExternalExpensesName(), '31540'); + ContosoGLAccount.AddAccountForLocalization(PurchaseDiscountsName(), '31550'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherExternalExpensesName(), '31598'); + ContosoGLAccount.AddAccountForLocalization(TotalExternalServicesExpensesName(), '31599'); + ContosoGLAccount.AddAccountForLocalization(WagesAndSalariesName(), '32100'); + ContosoGLAccount.AddAccountForLocalization(HourlyWagesName(), '32120'); + ContosoGLAccount.AddAccountForLocalization(OvertimeWagesName(), '32130'); + ContosoGLAccount.AddAccountForLocalization(BonusesName(), '32140'); + ContosoGLAccount.AddAccountForLocalization(CommissionsPaidName(), '32150'); + ContosoGLAccount.AddAccountForLocalization(PTOAccruedName(), '32160'); + ContosoGLAccount.AddAccountForLocalization(PayrollTaxExpenseName(), '32170'); + ContosoGLAccount.AddAccountForLocalization(TotalWagesAndSalariesName(), '32199'); + ContosoGLAccount.AddAccountForLocalization(BenefitsPensionName(), '32200'); + ContosoGLAccount.AddAccountForLocalization(BenefitsName(), '32201'); + ContosoGLAccount.AddAccountForLocalization(TrainingCostsName(), '32210'); + ContosoGLAccount.AddAccountForLocalization(HealthCareContributionsName(), '32220'); + ContosoGLAccount.AddAccountForLocalization(EntertainmentOfpersonnelName(), '32230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), '32240'); + ContosoGLAccount.AddAccountForLocalization(MandatoryClothingExpensesName(), '32250'); + ContosoGLAccount.AddAccountForLocalization(OtherCashRemunerationBenefitsName(), '32260'); + ContosoGLAccount.AddAccountForLocalization(TotalBenefitsName(), '32299'); + ContosoGLAccount.AddAccountForLocalization(PensionName(), '32300'); + ContosoGLAccount.AddAccountForLocalization(PensionFeesAndRecurringCostsName(), '32310'); + ContosoGLAccount.AddAccountForLocalization(EmployerContributionsName(), '32320'); + ContosoGLAccount.AddAccountForLocalization(TotalPensionName(), '32398'); + ContosoGLAccount.AddAccountForLocalization(TotalBenefitsPensionName(), '32399'); + ContosoGLAccount.AddAccountForLocalization(InsurancesPersonnelName(), '32400'); + ContosoGLAccount.AddAccountForLocalization(HealthInsuranceName(), '32410'); + ContosoGLAccount.AddAccountForLocalization(DentalInsuranceName(), '32420'); + ContosoGLAccount.AddAccountForLocalization(WorkersCompensationName(), '32430'); + ContosoGLAccount.AddAccountForLocalization(LifeInsuranceName(), '32440'); + ContosoGLAccount.AddAccountForLocalization(TotalInsurancesPersonnelName(), '32499'); + ContosoGLAccount.AddAccountForLocalization(DepreciationLandAndPropertyName(), '40100'); + ContosoGLAccount.AddAccountForLocalization(DepreciationFixedAssetsName(), '40110'); + ContosoGLAccount.AddAccountForLocalization(MiscExpensesName(), '41000'); + ContosoGLAccount.AddAccountForLocalization(CurrencyLossesName(), '41100'); + ContosoGLAccount.AddAccountForLocalization(TotalMiscExpensesName(), '41999'); + ContosoGLAccount.AddAccountForLocalization(TotalExpensesName(), '49000'); + ContosoGLAccount.AddAccountForLocalization(IntangibleFixedAssetsName(), '61000'); + ContosoGLAccount.AddAccountForLocalization(DevelopmentExpenditureName(), '61100'); + ContosoGLAccount.AddAccountForLocalization(TenancySiteLeaseholdAndSimilarRightsName(), '61200'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '61300'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsForIntangibleFixedAssetsName(), '61400'); + ContosoGLAccount.AddAccountForLocalization(TotalIntangibleFixedAssetsName(), '61999'); + ContosoGLAccount.AddAccountForLocalization(BuildingName(), '62110'); + ContosoGLAccount.AddAccountForLocalization(CostOfImprovementsToLeasedPropertyName(), '62120'); + ContosoGLAccount.AddAccountForLocalization(LandName(), '62130'); + ContosoGLAccount.AddAccountForLocalization(MachineryAndEquipmentName(), '62200'); + ContosoGLAccount.AddAccountForLocalization(EquipmentsAndToolsName(), '62210'); + ContosoGLAccount.AddAccountForLocalization(ComputersName(), '62220'); + ContosoGLAccount.AddAccountForLocalization(CarsAndOtherTransportEquipmentsName(), '62230'); + ContosoGLAccount.AddAccountForLocalization(LeasedAssetsName(), '62240'); + ContosoGLAccount.AddAccountForLocalization(TotalMachineryAndEquipmentName(), '62299'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationName(), '62300'); + ContosoGLAccount.AddAccountForLocalization(FinancialAndFixedAssetsName(), '63000'); + ContosoGLAccount.AddAccountForLocalization(LongTermReceivablesName(), '63100'); + ContosoGLAccount.AddAccountForLocalization(ParticipationinGroupCompaniesName(), '63200'); + ContosoGLAccount.AddAccountForLocalization(LoansToPartnersOrRelatedPartiesName(), '63300'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxAssetsName(), '63400'); + ContosoGLAccount.AddAccountForLocalization(OtherLongTermReceivablesName(), '63500'); + ContosoGLAccount.AddAccountForLocalization(TotalFinancialAndFixedAssetsName(), '63999'); + ContosoGLAccount.AddAccountForLocalization(InventoriesProductsAndWorkInProgressName(), '64000'); + ContosoGLAccount.AddAccountForLocalization(SuppliesAndConsumablesName(), '64110'); + ContosoGLAccount.AddAccountForLocalization(ProductsInProgressName(), '64120'); + ContosoGLAccount.AddAccountForLocalization(GoodsForResaleName(), '64140'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsForGoodsAndServicesName(), '64160'); + ContosoGLAccount.AddAccountForLocalization(OtherInventoryItemsName(), '64170'); + ContosoGLAccount.AddAccountForLocalization(WorkInProgressName(), '64200'); + ContosoGLAccount.AddAccountForLocalization(WorkInProgressFinishedGoodsName(), '64210'); + ContosoGLAccount.AddAccountForLocalization(WIPAccruedCostsName(), '64240'); + ContosoGLAccount.AddAccountForLocalization(WIPInvoicedSalesName(), '64250'); + ContosoGLAccount.AddAccountForLocalization(TotalWorkInProgressName(), '64299'); + ContosoGLAccount.AddAccountForLocalization(TotalInventoryProductsAndWorkInProgressName(), '64999'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesName(), '75000'); + ContosoGLAccount.AddAccountForLocalization(ContractualReceivablesName(), '75130'); + ContosoGLAccount.AddAccountForLocalization(ConsignmentReceivablesName(), '75140'); + ContosoGLAccount.AddAccountForLocalization(CreditCardsAndVouchersReceivablesName(), '75150'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentReceivablesName(), '75900'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivableFromEmployeesName(), '75910'); + ContosoGLAccount.AddAccountForLocalization(AccruedIncomeNotYetInvoicedName(), '75920'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountsForTaxesAndchargesName(), '75930'); + ContosoGLAccount.AddAccountForLocalization(TaxAssetsName(), '75940'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATReducedName(), '75950'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATNormalName(), '75960'); + ContosoGLAccount.AddAccountForLocalization(MiscVATReceivablesName(), '75970'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivablesFromGroupCompaniesName(), '75980'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherCurrentReceivablesName(), '75998'); + ContosoGLAccount.AddAccountForLocalization(TotalReceivablesName(), '75999'); + ContosoGLAccount.AddAccountForLocalization(PrepaidExpensesAndAccruedIncomeName(), '76000'); + ContosoGLAccount.AddAccountForLocalization(PrepaidRentName(), '76100'); + ContosoGLAccount.AddAccountForLocalization(PrepaidInterestExpenseName(), '76200'); + ContosoGLAccount.AddAccountForLocalization(AccruedRentalIncomeName(), '76300'); + ContosoGLAccount.AddAccountForLocalization(AccruedInterestIncomeName(), '76400'); + ContosoGLAccount.AddAccountForLocalization(AssetsInTheFormOfPrepaidExpensesName(), '76500'); + ContosoGLAccount.AddAccountForLocalization(OtherPrepaidExpensesAndAccruedIncomeName(), '76600'); + ContosoGLAccount.AddAccountForLocalization(TotalPrepaidExpensesAndAccruedIncomeName(), '76999'); + ContosoGLAccount.AddAccountForLocalization(ShortTermInvestmentsName(), '77000'); + ContosoGLAccount.AddAccountForLocalization(ConvertibleDebtInstrumentsName(), '77200'); + ContosoGLAccount.AddAccountForLocalization(OtherShortTermInvestmentsName(), '77300'); + ContosoGLAccount.AddAccountForLocalization(WriteDownOfShortTermInvestmentsName(), '77400'); + ContosoGLAccount.AddAccountForLocalization(TotalShortTermInvestmentsName(), '77999'); + ContosoGLAccount.AddAccountForLocalization(CashAndBankName(), '78000'); + ContosoGLAccount.AddAccountForLocalization(BusinessAccountOperatingDomesticName(), '78200'); + ContosoGLAccount.AddAccountForLocalization(BusinessAccountOperatingForeignName(), '78300'); + ContosoGLAccount.AddAccountForLocalization(OtherBankAccountsName(), '78400'); + ContosoGLAccount.AddAccountForLocalization(CertificateOfDepositName(), '78500'); + ContosoGLAccount.AddAccountForLocalization(TotalCashAndBankName(), '78999'); + ContosoGLAccount.AddAccountForLocalization(BondsAndDebentureLoansName(), '81100'); + ContosoGLAccount.AddAccountForLocalization(ConvertiblesLoansName(), '81200'); + ContosoGLAccount.AddAccountForLocalization(OtherLongTermLiabilitiesName(), '81300'); + ContosoGLAccount.AddAccountForLocalization(BankOverdraftFacilitiesName(), '81400'); + ContosoGLAccount.AddAccountForLocalization(CurrentLiabilitiesName(), '82000'); + ContosoGLAccount.AddAccountForLocalization(AdvancesFromCustomersName(), '82300'); + ContosoGLAccount.AddAccountForLocalization(ChangeInWorkInProgressName(), '82400'); + ContosoGLAccount.AddAccountForLocalization(BankOverdraftShortTermName(), '82500'); + ContosoGLAccount.AddAccountForLocalization(DeferredRevenueName(), '82700'); + ContosoGLAccount.AddAccountForLocalization(TotalCurrentLiabilitiesName(), '82999'); + ContosoGLAccount.AddAccountForLocalization(TaxLiabilitiesName(), '83000'); + ContosoGLAccount.AddAccountForLocalization(TaxesLiableName(), '83100'); + ContosoGLAccount.AddAccountForLocalization(SalesVATReducedName(), '83110'); + ContosoGLAccount.AddAccountForLocalization(SalesVATNormalName(), '83120'); + ContosoGLAccount.AddAccountForLocalization(MiscVATPayablesName(), '83130'); + ContosoGLAccount.AddAccountForLocalization(EstimatedIncomeTaxName(), '83200'); + ContosoGLAccount.AddAccountForLocalization(EstimatedRealEstateTaxRealEstateChargeName(), '83300'); + ContosoGLAccount.AddAccountForLocalization(EstimatedPayrollTaxOnPensionCostsName(), '83400'); + ContosoGLAccount.AddAccountForLocalization(TotalTaxLiabilitiesName(), '83999'); + ContosoGLAccount.AddAccountForLocalization(PayrollLiabilitiesName(), '84000'); + ContosoGLAccount.AddAccountForLocalization(EmployeesWithholdingTaxesName(), '84100'); + ContosoGLAccount.AddAccountForLocalization(StatutorySocialSecurityContributionsName(), '84200'); + ContosoGLAccount.AddAccountForLocalization(ContractualSocialSecurityContributionsName(), '84300'); + ContosoGLAccount.AddAccountForLocalization(AttachmentsOfEarningName(), '84400'); + ContosoGLAccount.AddAccountForLocalization(HolidayPayfundName(), '84500'); + ContosoGLAccount.AddAccountForLocalization(OtherSalaryWageDeductionsName(), '84600'); + ContosoGLAccount.AddAccountForLocalization(TotalPayrollLiabilitiesName(), '84999'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentLiabilitiesName(), '85000'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountForFactoringCurrentPortionName(), '85100'); + ContosoGLAccount.AddAccountForLocalization(CurrentLiabilitiesToEmployeesName(), '85200'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountForThirdPartyName(), '85300'); + ContosoGLAccount.AddAccountForLocalization(CurrentLoansName(), '85400'); + ContosoGLAccount.AddAccountForLocalization(LiabilitiesGrantsReceivedName(), '85500'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherCurrentLiabilitiesName(), '85999'); + ContosoGLAccount.AddAccountForLocalization(AccruedExpensesAndDeferredIncomeName(), '86000'); + ContosoGLAccount.AddAccountForLocalization(AccruedWagesSalariesName(), '86100'); + ContosoGLAccount.AddAccountForLocalization(AccruedHolidayPayName(), '86200'); + ContosoGLAccount.AddAccountForLocalization(AccruedPensionCostsName(), '86300'); + ContosoGLAccount.AddAccountForLocalization(AccruedInterestExpenseName(), '86400'); + ContosoGLAccount.AddAccountForLocalization(DeferredIncomeName(), '86500'); + ContosoGLAccount.AddAccountForLocalization(AccruedContractualCostsName(), '86600'); + ContosoGLAccount.AddAccountForLocalization(OtherAccruedExpensesAndDeferredIncomeName(), '86700'); + ContosoGLAccount.AddAccountForLocalization(TotalAccruedExpensesAndDeferredIncomeName(), '86999'); + ContosoGLAccount.AddAccountForLocalization(EquityName(), '90000'); + ContosoGLAccount.AddAccountForLocalization(EquityPartnerName(), '90100'); + ContosoGLAccount.AddAccountForLocalization(NetResultsName(), '90111'); + ContosoGLAccount.AddAccountForLocalization(RestrictedEquityName(), '90200'); + ContosoGLAccount.AddAccountForLocalization(ShareCapitalName(), '90210'); + ContosoGLAccount.AddAccountForLocalization(DividendsName(), '90220'); + ContosoGLAccount.AddAccountForLocalization(NonRestrictedEquityName(), '90300'); + ContosoGLAccount.AddAccountForLocalization(ProfitOrLossFromThePreviousYearName(), '90310'); + ContosoGLAccount.AddAccountForLocalization(ResultsfortheFinancialyearName(), '90320'); + ContosoGLAccount.AddAccountForLocalization(TotalEquityName(), '99999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResaleSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMatSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLCYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomefortheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsfortheFiscalYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), '10000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandChargesRecDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandHeatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandAccountingServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsofOperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonRevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargestoVendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeBeforeTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), ''); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Income(), IncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesOfGoods(), SalesOfGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleOfFinishedGoods(), SaleOfFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(SaleOfRawMaterials(), SaleOfRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(ResaleOfGoods(), ResaleOfGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesOfGoods(), TotalSalesOfGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesOfGoods() + '..' + TotalSalesOfGoods(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleOfResources(), SaleOfResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), true, false, false); + ContosoGLAccount.InsertGLAccount(SaleOfSubcontracting(), SaleOfSubcontractingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesOfResources(), TotalSalesOfResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesofResources() + '..' + TotalSalesOfResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdditionalRevenue(), AdditionalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromSecurities(), IncomeFromSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManagementFeeRevenue(), ManagementFeeRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyGains(), CurrencyGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherIncidentalRevenue(), OtherIncidentalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdditionalRevenue(), TotalAdditionalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, AdditionalRevenue() + '..' + TotalAdditionalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobsAndServices(), JobsAndServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesApplied(), JobSalesAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesOfServiceContracts(), SalesOfServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(SalesOfServiceWork(), SalesOfServiceWorkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalJobsAndServices(), TotalJobsAndServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, JobsAndServices() + '..' + TotalJobsAndServices(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenueReductions(), RevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscountsAndAllowances(), DiscountsAndAllowancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvoiceRounding(), InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentTolerance(), PaymentToleranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesReturns(), SalesReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenueReductions(), TotalRevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, RevenueReductions() + '..' + TotalRevenueReductions(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalIncome(), TotalIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, Income() + '..' + TotalIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfGoodsSold(), CostOfGoodsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfGoods(), CostOfGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfMaterials(), CostOfMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfMaterialsProjects(), CostOfMaterialsProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfGoods(), TotalCostOfGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostOfGoods() + '..' + TotalCostOfGoods(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfResourcesAndServices(), CostOfResourcesAndServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostOfLabor(), CostOfLaborName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfLaborProjects(), CostOfLaborProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfLaborWarrantyContract(), CostOfLaborWarrantyContractName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfResources(), TotalCostOfResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostOfResourcesAndServices() + '..' + TotalCostOfResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostsOfJobs(), CostsOfJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(JobCostsApplied(), JobCostsAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostsOfJobs(), TotalCostsOfJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CostsOfJobs() + '..' + TotalCostsOfJobs(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubcontractedWork(), SubcontractedWorkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfVariances(), CostOfVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostOfGoodsSold(), TotalCostOfGoodsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostOfGoodsSold() + '..' + TotalCostOfGoodsSold(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Expenses(), ExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FacilityExpenses(), FacilityExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentalFacilities(), RentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentLeases(), RentLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityForRental(), ElectricityForRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HeatingForRental(), HeatingForRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterAndSewerageForRental(), WaterAndSewerageForRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningAndWasteForRental(), CleaningAndWasteForRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsAndMaintenanceForRental(), RepairsAndMaintenanceForRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesRental(), InsurancesRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherRentalExpenses(), OtherRentalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRentalFacilities(), TotalRentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, RentalFacilities() + '..' + TotalRentalFacilities(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PropertyExpenses(), PropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SiteFeesLeases(), SiteFeesLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityForProperty(), ElectricityForPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HeatingForProperty(), HeatingForPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterAndSewerageForProperty(), WaterAndSewerageForPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningAndWasteForProperty(), CleaningandWasteforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsAndMaintenanceForProperty(), RepairsAndMaintenanceForPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesProperty(), InsurancesPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPropertyExpenses(), OtherPropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPropertyExpenses(), TotalPropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, PropertyExpenses() + '..' + TotalPropertyExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalFacilityExpenses(), TotalFacilityExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FacilityExpenses() + '..' + TotalFacilityExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsLeases(), FixedAssetsLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HireOfMachinery(), HireOfMachineryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HireOfComputers(), HireOfComputersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HireOfOtherFixedAssets(), HireOfOtherFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFixedAssetLeases(), TotalFixedAssetLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FixedAssetsLeases() + '..' + TotalFixedAssetLeases(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LogisticsExpenses(), LogisticsExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PassengerCarCosts(), PassengerCarCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TruckCosts(), TruckCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherVehicleExpenses(), OtherVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FreightCosts(), FreightCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreightFeesForGoods(), FreightFeesForGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CustomsAndForwarding(), CustomsAndForwardingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FreightFeesProjects(), FreightFeesProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFreightCosts(), TotalFreightCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FreightCosts() + '..' + TotalFreightCosts(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TravelExpenses(), TravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Tickets(), TicketsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RentalVehicles(), RentalVehiclesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BoardAndLodging(), BoardAndLodgingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherTravelExpenses(), OtherTravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTravelExpenses(), TotalTravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, TravelExpenses() + '..' + TotalTravelExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLogisticsExpenses(), TotalLogisticsExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, LogisticsExpenses() + '..' + TotalLogisticsExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MarketingAndSales(), MarketingAndSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), CreateGLAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvertisementDevelopment(), AdvertisementDevelopmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OutdoorAndTransportationAds(), OutdoorAndTransportationAdsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdMatterAndDirectMailings(), AdMatterAndDirectMailingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConferenceExhibitionSponsorship(), ConferenceExhibitionSponsorshipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SamplesContestsGifts(), SamplesContestsGiftsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FilmTvRadioInternetAds(), FilmTvRadioInternetAdsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PrAndAgencyFees(), PrAndAgencyFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherAdvertisingFees(), OtherAdvertisingFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdvertising(), TotalAdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Advertising() + '..' + TotalAdvertising(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherMarketingExpenses(), OtherMarketingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CatalogsPriceLists(), CatalogsPriceListsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradePublications(), TradePublicationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherMarketingExpenses(), TotalOtherMarketingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherMarketingExpenses() + '..' + TotalOtherMarketingExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesExpenses(), SalesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditCardCharges(), CreditCardChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingDeductible(), BusinessEntertainingDeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingNondeductible(), BusinessEntertainingNondeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesExpenses(), TotalSalesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesExpenses() + '..' + TotalSalesExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalMarketingAndSales(), TotalMarketingAndSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, MarketingAndSales() + '..' + TotalMarketingAndSales(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeExpenses(), OfficeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PhoneServices(), PhoneServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DataServices(), DataServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostalFees(), PostalFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsumableExpensibleHardware(), ConsumableExpensibleHardwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SoftwareAndSubscriptionFees(), SoftwareAndSubscriptionFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOfficeExpenses(), TotalOfficeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OfficeExpenses() + '..' + TotalOfficeExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesAndRisks(), InsurancesAndRisksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CorporateInsurance(), CorporateInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DamagesPaid(), DamagesPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BadDebtLosses(), BadDebtLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SecurityServices(), SecurityServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherRiskExpenses(), OtherRiskExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsurancesAndRisks(), TotalInsurancesAndRisksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, InsurancesAndRisks() + '..' + TotalInsurancesAndRisks(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ManagementAndAdmin(), ManagementAndAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Management(), ManagementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RemunerationToDirectors(), RemunerationToDirectorsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManagementFees(), ManagementFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualInterrimReports(), AnnualInterrimReportsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualGeneralMeeting(), AnnualGeneralMeetingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AuditAndAuditServices(), AuditAndAuditServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxAdvisoryServices(), TaxAdvisoryServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalManagementFees(), TotalManagementFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Management() + '..' + TotalManagementFees(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalManagementAndAdmin(), TotalManagementAndAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ManagementAndAdmin() + '..' + TotalManagementAndAdmin(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankingAndInterest(), BankingAndInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankingFees(), BankingFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestExpenses(), CreateGLAccount.InterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayableInvoiceRounding(), PayableInvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBankingAndInterest(), TotalBankingAndInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, BankingAndInterest() + '..' + TotalBankingAndInterest(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExternalServicesExpenses(), ExternalServicesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExternalServices(), ExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountingServices(), AccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ITServices(), ITServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MediaServices(), MediaServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultingServices(), ConsultingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LegalFeesAndAttorneyServices(), LegalFeesAndAttorneyServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherExternalServices(), OtherExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalExternalServices(), TotalExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ExternalServices() + '..' + TotalExternalServices(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherExternalExpenses(), OtherExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LicenseFeesRoyalties(), LicenseFeesRoyaltiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TrademarksPatents(), TrademarksPatentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssociationFees(), AssociationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscExternalExpenses(), MiscExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseDiscounts(), PurchaseDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherExternalExpenses(), TotalOtherExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherExternalExpenses() + '..' + TotalOtherExternalExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalExternalServicesExpenses(), TotalExternalServicesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ExternalServicesExpenses() + '..' + TotalExternalServicesExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesAndSalaries(), WagesAndSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HourlyWages(), HourlyWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OvertimeWages(), OvertimeWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Bonuses(), BonusesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CommissionsPaid(), CommissionsPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PTOAccrued(), PTOAccruedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayrollTaxExpense(), PayrollTaxExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWagesAndSalaries(), TotalWagesAndSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, WagesAndSalaries() + '..' + TotalWagesAndSalaries(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BenefitsPension(), BenefitsPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Benefits(), BenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrainingCosts(), TrainingCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HealthCareContributions(), HealthCareContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EntertainmentOfpersonnel(), EntertainmentOfpersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Allowances(), CreateGLAccount.AllowancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MandatoryClothingExpenses(), MandatoryClothingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherCashRemunerationBenefits(), OtherCashRemunerationBenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBenefits(), TotalBenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Benefits() + '..' + TotalBenefits(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Pension(), PensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PensionFeesAndRecurringCosts(), PensionFeesAndRecurringCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmployerContributions(), EmployerContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPension(), TotalPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Pension() + '..' + TotalPension(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalBenefitsPension(), TotalBenefitsPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, BenefitsPension() + '..' + TotalBenefitsPension(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesPersonnel(), InsurancesPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HealthInsurance(), HealthInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DentalInsurance(), DentalInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkersCompensation(), WorkersCompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LifeInsurance(), LifeInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsurancesPersonnel(), TotalInsurancesPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, InsurancesPersonnel() + '..' + TotalInsurancesPersonnel(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationLandAndProperty(), DepreciationLandAndPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(DepreciationFixedAssets(), DepreciationFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscExpenses(), MiscExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyLosses(), CurrencyLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMiscExpenses(), TotalMiscExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, MiscExpenses() + '..' + TotalMiscExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalExpenses(), TotalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Expenses() + '..' + TotalExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BalanceSheet(), CreateGLAccount.BalanceSheetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleFixedAssets(), IntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DevelopmentExpenditure(), DevelopmentExpenditureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TenancySiteLeaseholdAndSimilarRights(), TenancySiteLeaseholdAndSimilarRightsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Goodwill(), GoodwillName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsForIntangibleFixedAssets(), AdvancedPaymentsForIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalIntangibleFixedAssets(), TotalIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, IntangibleFixedAssets() + '..' + TotalIntangibleFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Building(), BuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostOfImprovementsToLeasedProperty(), CostOfImprovementsToLeasedPropertyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Land(), LandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MachineryAndEquipment(), MachineryAndEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquipmentsAndTools(), EquipmentsAndToolsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Computers(), ComputersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CarsAndOtherTransportEquipments(), CarsAndOtherTransportEquipmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LeasedAssets(), LeasedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMachineryAndEquipment(), TotalMachineryAndEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, MachineryAndEquipment() + '..' + TotalMachineryAndEquipment(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciation(), AccumulatedDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinancialAndFixedAssets(), FinancialAndFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongTermReceivables(), LongTermReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ParticipationinGroupCompanies(), ParticipationinGroupCompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LoansToPartnersOrRelatedParties(), LoansToPartnersOrRelatedPartiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredTaxAssets(), DeferredTaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLongTermReceivables(), OtherLongTermReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinancialAndFixedAssets(), TotalFinancialAndFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, FinancialAndFixedAssets() + '..' + TotalFinancialAndFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoriesProductsAndWorkInProgress(), InventoriesProductsAndWorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SuppliesAndConsumables(), SuppliesAndConsumablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProductsInProgress(), ProductsInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsForResale(), GoodsForResaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsForGoodsAndServices(), AdvancedPaymentsForGoodsAndServicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherInventoryItems(), OtherInventoryItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkInProgress(), WorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkInProgressFinishedGoods(), WorkInProgressFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobCosts(), CreateGLAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccruedCosts(), WIPAccruedCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPInvoicedSales(), WIPInvoicedSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWorkInProgress(), TotalWorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, WorkInProgress() + '..' + TotalWorkInProgress(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalInventoryProductsAndWorkInProgress(), TotalInventoryProductsAndWorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, InventoriesProductsAndWorkInProgress() + '..' + TotalInventoryProductsAndWorkInProgress(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Receivables(), ReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersDomestic(), CreateGLAccount.CustomersDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersForeign(), CreateGLAccount.CustomersForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ContractualReceivables(), ContractualReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsignmentReceivables(), ConsignmentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreditCardsAndVouchersReceivables(), CreditCardsAndVouchersReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentReceivables(), OtherCurrentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivableFromEmployees(), CurrentReceivableFromEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedIncomeNotYetInvoiced(), AccruedIncomeNotYetInvoicedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountsForTaxesAndcharges(), ClearingAccountsForTaxesAndchargesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxAssets(), TaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATReduced(), PurchaseVATReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATNormal(), PurchaseVATNormalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscVATReceivables(), MiscVATReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivablesFromGroupCompanies(), CurrentReceivablesFromGroupCompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherCurrentReceivables(), TotalOtherCurrentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherCurrentReceivables() + '..' + TotalOtherCurrentReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalReceivables(), TotalReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Receivables() + '..' + TotalReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidExpensesAndAccruedIncome(), PrepaidExpensesAndAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidRent(), PrepaidRentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidInterestExpense(), PrepaidInterestExpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedRentalIncome(), AccruedRentalIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedInterestIncome(), AccruedInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssetsInTheFormOfPrepaidExpenses(), AssetsInTheFormOfPrepaidExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPrepaidExpensesAndAccruedIncome(), OtherPrepaidExpensesAndAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPrepaidExpensesAndAccruedIncome(), TotalPrepaidExpensesAndAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, PrepaidExpensesAndAccruedIncome() + '..' + TotalPrepaidExpensesAndAccruedIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermInvestments(), ShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConvertibleDebtInstruments(), ConvertibleDebtInstrumentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherShortTermInvestments(), OtherShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WriteDownOfShortTermInvestments(), WriteDownOfShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalShortTermInvestments(), TotalShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, ShortTermInvestments() + '..' + TotalShortTermInvestments(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashAndBank(), CashAndBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BusinessAccountOperatingDomestic(), BusinessAccountOperatingDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BusinessAccountOperatingForeign(), BusinessAccountOperatingForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherBankAccounts(), OtherBankAccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CertificateOfDeposit(), CertificateOfDepositName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCashAndBank(), TotalCashAndBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CashAndBank() + '..' + TotalCashAndBank(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BondsAndDebentureLoans(), BondsAndDebentureLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Liabilities(), CreateGLAccount.LiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConvertiblesLoans(), ConvertiblesLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLongTermLiabilities(), OtherLongTermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankOverdraftFacilities(), BankOverdraftFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLiabilities(), CurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsDomestic(), CreateGLAccount.VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsForeign(), CreateGLAccount.VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancesFromCustomers(), AdvancesFromCustomersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChangeInWorkInProgress(), ChangeInWorkInProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankOverdraftShortTerm(), BankOverdraftShortTermName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredRevenue(), DeferredRevenueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCurrentLiabilities(), TotalCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CurrentLiabilities() + '..' + TotalCurrentLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxLiabilities(), TaxLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxesLiable(), TaxesLiableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVATReduced(), SalesVATReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVATNormal(), SalesVATNormalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscVATPayables(), MiscVATPayablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedIncomeTax(), EstimatedIncomeTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedRealEstateTaxRealEstateCharge(), EstimatedRealEstateTaxRealEstateChargeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedPayrollTaxOnPensionCosts(), EstimatedPayrollTaxOnPensionCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTaxLiabilities(), TotalTaxLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, TaxLiabilities() + '..' + TotalTaxLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PayrollLiabilities(), PayrollLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EmployeesWithholdingTaxes(), EmployeesWithholdingTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StatutorySocialSecurityContributions(), StatutorySocialSecurityContributionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ContractualSocialSecurityContributions(), ContractualSocialSecurityContributionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AttachmentsOfEarning(), AttachmentsOfEarningName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HolidayPayfund(), HolidayPayfundName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherSalaryWageDeductions(), OtherSalaryWageDeductionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPayrollLiabilities(), TotalPayrollLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, PayrollLiabilities() + '..' + TotalPayrollLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentLiabilities(), OtherCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountForFactoringCurrentPortion(), ClearingAccountForFactoringCurrentPortionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLiabilitiesToEmployees(), CurrentLiabilitiesToEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountForThirdParty(), ClearingAccountForThirdPartyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLoans(), CurrentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LiabilitiesGrantsReceived(), LiabilitiesGrantsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherCurrentLiabilities(), TotalOtherCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherCurrentLiabilities() + '..' + TotalOtherCurrentLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedExpensesAndDeferredIncome(), AccruedExpensesAndDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedWagesSalaries(), AccruedWagesSalariesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedHolidayPay(), AccruedHolidayPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedPensionCosts(), AccruedPensionCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedInterestExpense(), AccruedInterestExpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredIncome(), DeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedContractualCosts(), AccruedContractualCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherAccruedExpensesAndDeferredIncome(), OtherAccruedExpensesAndDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAccruedExpensesAndDeferredIncome(), TotalAccruedExpensesAndDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccruedExpensesAndDeferredIncome() + '..' + TotalAccruedExpensesAndDeferredIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Equity(), EquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquityPartner(), EquityPartnerName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NetResults(), NetResultsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RestrictedEquity(), RestrictedEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShareCapital(), ShareCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Dividends(), DividendsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonRestrictedEquity(), NonRestrictedEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfitOrLossFromThePreviousYear(), ProfitOrLossFromThePreviousYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResultsfortheFinancialyear(), ResultsfortheFinancialyearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalEquity(), TotalEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, Equity() + '..' + TotalEquity(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalVehicleExpenses(), CreateGLAccount.TotalVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehicleExpenses() + '..' + CreateGLAccount.TotalVehicleExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalPersonnelExpenses(), CreateGLAccount.TotalPersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelExpenses() + '..' + CreateGLAccount.TotalPersonnelExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalFixedAssetDepreciation(), CreateGLAccount.TotalFixedAssetDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.DepreciationofFixedAssets() + '..' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncome(), CreateGLAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsReceivableTotal(), CreateGLAccount.AccountsReceivableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.AccountsReceivable() + '..' + CreateGLAccount.AccountsReceivableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAssets(), CreateGLAccount.TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Assets() + '..' + CreateGLAccount.TotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LongtermLiabilitiesTotal(), CreateGLAccount.LongtermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LongtermLiabilities() + '..' + CreateGLAccount.LongtermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildingsTotal(), CreateGLAccount.LandandBuildingsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LandandBuildingsBeginTotal() + '..' + CreateGLAccount.LandandBuildingsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TangibleFixedAssetsTotal(), CreateGLAccount.TangibleFixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.TangibleFixedAssets() + '..' + CreateGLAccount.TangibleFixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilities(), CreateGLAccount.TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Liabilities() + '..' + CreateGLAccount.TotalLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSales(), CreateGLAccount.JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VehicleExpenses(), CreateGLAccount.VehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PersonnelExpenses(), CreateGLAccount.PersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DepreciationofFixedAssets(), CreateGLAccount.DepreciationofFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + end; + + procedure AddCategoriesToGLAccounts() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + local procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Assets(), CreateGLAccount.TotalAssets()); + GLAccountCategory."Account Category"::Liabilities: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Liabilities(), CreateGLAccount.TotalLiabilities()); + GLAccountCategory."Account Category"::Equity: + UpdateGLAccounts(GLAccountCategory, Equity(), TotalEquity()); + GLAccountCategory."Account Category"::Income: + UpdateGLAccounts(GLAccountCategory, Income(), TotalIncome()); + GLAccountCategory."Account Category"::"Cost of Goods Sold": + begin + UpdateGLAccounts(GLAccountCategory, CostOfGoodsSold(), CreateGLAccount.JobCosts()); + UpdateGLAccounts(GLAccountCategory, CostOfVariances(), TotalCostOfGoodsSold()) + end; + GLAccountCategory."Account Category"::Expense: + begin + UpdateGLAccounts(GLAccountCategory, Expenses(), TotalExpenses()); + UpdateGLAccounts(GLAccountCategory, JobCostsApplied(), SubcontractedWork()); + end; + end; + end; + + local procedure AssignSubcategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cash(), CertificateOfDeposit()); + GLAccountCategoryMgt.GetPrepaidExpenses(): + UpdateGLAccounts(GLAccountCategory, PrepaidRent(), OtherPrepaidExpensesAndAccruedIncome()); + GLAccountCategoryMgt.GetInventory(): + begin + UpdateGLAccounts(GLAccountCategory, InventoriesProductsAndWorkInProgress(), WorkInProgressFinishedGoods()); + UpdateGLAccounts(GLAccountCategory, WIPAccruedCosts(), TotalInventoryProductsAndWorkInProgress()); + end; + GLAccountCategoryMgt.GetEquipment(): + UpdateGLAccounts(GLAccountCategory, EquipmentsAndTools(), TotalMachineryAndEquipment()); + GLAccountCategoryMgt.GetAccumDeprec(): + UpdateGLAccounts(GLAccountCategory, AccumulatedDepreciation(), AccumulatedDepreciation()); + GLAccountCategoryMgt.GetCurrentLiabilities(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.VendorsDomestic(), LiabilitiesGrantsReceived()); + GLAccountCategoryMgt.GetPayrollLiabilities(): + UpdateGLAccounts(GLAccountCategory, EmployeesWithholdingTaxes(), OtherSalaryWageDeductions()); + GLAccountCategoryMgt.GetDistrToShareholders(): + UpdateGLAccounts(GLAccountCategory, Dividends(), Dividends()); + GLAccountCategoryMgt.GetIncomeService(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesofResources(), TotalSalesOfResources()); + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, SalesOfGoods(), TotalSalesOfGoods()); + GLAccountCategoryMgt.GetCOGSLabor(): + UpdateGLAccounts(GLAccountCategory, CostOfResourcesAndServices(), TotalCostOfResources()); + GLAccountCategoryMgt.GetCOGSMaterials(): + UpdateGLAccounts(GLAccountCategory, CostOfGoods(), TotalCostOfGoods()); + GLAccountCategoryMgt.GetRentExpense(): + UpdateGLAccounts(GLAccountCategory, RentLeases(), RentLeases()); + GLAccountCategoryMgt.GetAdvertisingExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Advertising(), TotalOtherMarketingExpenses()); + GLAccountCategoryMgt.GetInterestExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + GLAccountCategoryMgt.GetFeesExpense(): + UpdateGLAccounts(GLAccountCategory, BankingFees(), CreateGLAccount.InterestExpenses()); + GLAccountCategoryMgt.GetBadDebtExpense(): + UpdateGLAccounts(GLAccountCategory, BadDebtLosses(), BadDebtLosses()); + GLAccountCategoryMgt.GetInsuranceExpense(): + UpdateGLAccounts(GLAccountCategory, InsurancesPersonnel(), TotalInsurancesPersonnel()); + GLAccountCategoryMgt.GetBenefitsExpense(): + UpdateGLAccounts(GLAccountCategory, BenefitsPension(), TotalBenefitsPension()); + GLAccountCategoryMgt.GetRepairsExpense(): + UpdateGLAccounts(GLAccountCategory, RepairsAndMaintenanceForRental(), RepairsAndMaintenanceForRental()); + GLAccountCategoryMgt.GetUtilitiesExpense(): + UpdateGLAccounts(GLAccountCategory, ElectricityForRental(), CleaningAndWasteForRental()); + GLAccountCategoryMgt.GetJobSalesContra(): + UpdateGLAccounts(GLAccountCategory, JobSalesApplied(), SalesOfServiceWork()); + GLAccountCategoryMgt.GetOtherIncomeExpense(): + UpdateGLAccounts(GLAccountCategory, JobCostsApplied(), SubcontractedWork()); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure Income(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeName())); + end; + + procedure IncomeName(): Text[100] + begin + exit(IncomeTok); + end; + + procedure SalesOfGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesOfGoodsName())); + end; + + procedure SalesOfGoodsName(): Text[100] + begin + exit(SalesOfGoodsTok); + end; + + procedure SaleOfFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleOfFinishedGoodsName())); + end; + + procedure SaleOfFinishedGoodsName(): Text[100] + begin + exit(SaleOfFinishedGoodsTok); + end; + + procedure SaleOfRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleOfRawMaterialsName())); + end; + + procedure SaleOfRawMaterialsName(): Text[100] + begin + exit(SaleOfRawMaterialsTok); + end; + + procedure ResaleOfGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResaleOfGoodsName())); + end; + + procedure ResaleOfGoodsName(): Text[100] + begin + exit(ResaleOfGoodsTok); + end; + + procedure TotalSalesOfGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesOfGoodsName())); + end; + + procedure TotalSalesOfGoodsName(): Text[100] + begin + exit(TotalSalesOfGoodsTok); + end; + + procedure SaleOfResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleOfResourcesName())); + end; + + procedure SaleOfResourcesName(): Text[100] + begin + exit(SaleOfResourcesTok); + end; + + procedure SaleOfSubcontracting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleOfSubcontractingName())); + end; + + procedure SaleOfSubcontractingName(): Text[100] + begin + exit(SaleOfSubcontractingTok); + end; + + procedure TotalSalesOfResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesOfResourcesName())); + end; + + procedure TotalSalesOfResourcesName(): Text[100] + begin + exit(TotalSalesOfResourcesTok); + end; + + procedure AdditionalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionalRevenueName())); + end; + + procedure AdditionalRevenueName(): Text[100] + begin + exit(AdditionalRevenueTok); + end; + + procedure InvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoiceRoundingName())); + end; + + procedure InvoiceRoundingName(): Text[100] + begin + exit(InvoiceRoundingTok); + end; + + procedure IncomeFromSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromSecuritiesName())); + end; + + procedure IncomeFromSecuritiesName(): Text[100] + begin + exit(IncomeFromSecuritiesTok); + end; + + procedure ManagementFeeRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementFeeRevenueName())); + end; + + procedure ManagementFeeRevenueName(): Text[100] + begin + exit(ManagementFeeRevenueTok); + end; + + procedure CurrencyGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyGainsName())); + end; + + procedure CurrencyGainsName(): Text[100] + begin + exit(CurrencyGainsTok); + end; + + procedure OtherIncidentalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherIncidentalRevenueName())); + end; + + procedure OtherIncidentalRevenueName(): Text[100] + begin + exit(OtherIncidentalRevenueTok); + end; + + procedure TotalAdditionalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdditionalRevenueName())); + end; + + procedure TotalAdditionalRevenueName(): Text[100] + begin + exit(TotalAdditionalRevenueTok); + end; + + procedure JobsAndServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobsAndServicesName())); + end; + + procedure JobsAndServicesName(): Text[100] + begin + exit(JobsAndServicesTok); + end; + + procedure JobSalesApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedName())); + end; + + procedure JobSalesAppliedName(): Text[100] + begin + exit(JobSalesAppliedTok); + end; + + procedure SalesOfServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesOfServiceContractsName())); + end; + + procedure SalesOfServiceContractsName(): Text[100] + begin + exit(SalesOfServiceContractsTok); + end; + + procedure SalesOfServiceWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesOfServiceWorkName())); + end; + + procedure SalesOfServiceWorkName(): Text[100] + begin + exit(SalesOfServiceWorkTok); + end; + + procedure TotalJobsAndServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalJobsAndServicesName())); + end; + + procedure TotalJobsAndServicesName(): Text[100] + begin + exit(TotalJobsAndServicesTok); + end; + + procedure RevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueReductionsName())); + end; + + procedure RevenueReductionsName(): Text[100] + begin + exit(RevenueReductionsTok); + end; + + procedure DiscountsAndAllowances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountsAndAllowancesName())); + end; + + procedure DiscountsAndAllowancesName(): Text[100] + begin + exit(DiscountsAndAllowancesTok); + end; + + procedure PaymentTolerance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentToleranceName())); + end; + + procedure PaymentToleranceName(): Text[100] + begin + exit(PaymentToleranceTok); + end; + + procedure SalesReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesReturnsName())); + end; + + procedure SalesReturnsName(): Text[100] + begin + exit(SalesReturnsTok); + end; + + procedure TotalRevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenueReductionsName())); + end; + + procedure TotalRevenueReductionsName(): Text[100] + begin + exit(TotalRevenueReductionsTok); + end; + + procedure TotalIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIncomeName())); + end; + + procedure TotalIncomeName(): Text[100] + begin + exit(TotalIncomeTok); + end; + + procedure CostOfGoodsSold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfGoodsSoldName())); + end; + + procedure CostOfGoodsSoldName(): Text[100] + begin + exit(CostOfGoodsSoldTok); + end; + + procedure CostOfGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfGoodsName())); + end; + + procedure CostOfGoodsName(): Text[100] + begin + exit(CostOfGoodsTok); + end; + + procedure CostOfMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfMaterialsName())); + end; + + procedure CostOfMaterialsName(): Text[100] + begin + exit(CostOfMaterialsTok); + end; + + procedure CostOfMaterialsProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfMaterialsProjectsName())); + end; + + procedure CostOfMaterialsProjectsName(): Text[100] + begin + exit(CostOfMaterialsProjectsTok); + end; + + procedure TotalCostOfGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfGoodsName())); + end; + + procedure TotalCostOfGoodsName(): Text[100] + begin + exit(TotalCostOfGoodsTok); + end; + + procedure CostOfResourcesAndServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfResourcesAndServicesName())); + end; + + procedure CostOfResourcesAndServicesName(): Text[100] + begin + exit(CostOfResourcesAndServicesTok); + end; + + procedure CostOfLabor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfLaborName())); + end; + + procedure CostOfLaborName(): Text[100] + begin + exit(CostOfLaborTok); + end; + + procedure CostOfLaborProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfLaborProjectsName())); + end; + + procedure CostOfLaborProjectsName(): Text[100] + begin + exit(CostOfLaborProjectsTok); + end; + + procedure CostOfLaborWarrantyContract(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfLaborWarrantyContractName())); + end; + + procedure CostOfLaborWarrantyContractName(): Text[100] + begin + exit(CostOfLaborWarrantyContractTok); + end; + + procedure TotalCostOfResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfResourcesName())); + end; + + procedure TotalCostOfResourcesName(): Text[100] + begin + exit(TotalCostOfResourcesTok); + end; + + procedure CostsOfJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostsOfJobsName())); + end; + + procedure CostsOfJobsName(): Text[100] + begin + exit(CostsOfJobsTok); + end; + + procedure JobCostsApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsAppliedName())); + end; + + procedure JobCostsAppliedName(): Text[100] + begin + exit(JobCostsAppliedTok); + end; + + procedure TotalCostsOfJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostsOfJobsName())); + end; + + procedure TotalCostsOfJobsName(): Text[100] + begin + exit(TotalCostsOfJobsTok); + end; + + procedure SubcontractedWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedWorkName())); + end; + + procedure SubcontractedWorkName(): Text[100] + begin + exit(SubcontractedWorkTok); + end; + + procedure CostOfVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfVariancesName())); + end; + + procedure CostOfVariancesName(): Text[100] + begin + exit(CostOfVariancesTok); + end; + + procedure TotalCostOfGoodsSold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostOfGoodsSoldName())); + end; + + procedure TotalCostOfGoodsSoldName(): Text[100] + begin + exit(TotalCostOfGoodsSoldTok); + end; + + procedure Expenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesName())); + end; + + procedure ExpensesName(): Text[100] + begin + exit(ExpensesTok); + end; + + procedure FacilityExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FacilityExpensesName())); + end; + + procedure FacilityExpensesName(): Text[100] + begin + exit(FacilityExpensesTok); + end; + + procedure RentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalFacilitiesName())); + end; + + procedure RentalFacilitiesName(): Text[100] + begin + exit(RentalFacilitiesTok); + end; + + procedure RentLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentLeasesName())); + end; + + procedure RentLeasesName(): Text[100] + begin + exit(RentLeasesTok); + end; + + procedure ElectricityForRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityForRentalName())); + end; + + procedure ElectricityForRentalName(): Text[100] + begin + exit(ElectricityForRentalTok); + end; + + procedure HeatingForRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingForRentalName())); + end; + + procedure HeatingForRentalName(): Text[100] + begin + exit(HeatingForRentalTok); + end; + + procedure WaterAndSewerageForRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterAndSewerageForRentalName())); + end; + + procedure WaterAndSewerageForRentalName(): Text[100] + begin + exit(WaterAndSewerageForRentalTok); + end; + + procedure CleaningAndWasteForRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningAndWasteForRentalName())); + end; + + procedure CleaningAndWasteForRentalName(): Text[100] + begin + exit(CleaningAndWasteForRentalTok); + end; + + procedure RepairsAndMaintenanceForRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsAndMaintenanceForRentalName())); + end; + + procedure RepairsAndMaintenanceForRentalName(): Text[100] + begin + exit(RepairsAndMaintenanceForRentalTok); + end; + + procedure InsurancesRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesRentalName())); + end; + + procedure InsurancesRentalName(): Text[100] + begin + exit(InsurancesRentalTok); + end; + + procedure OtherRentalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherRentalExpensesName())); + end; + + procedure OtherRentalExpensesName(): Text[100] + begin + exit(OtherRentalExpensesTok); + end; + + procedure TotalRentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRentalFacilitiesName())); + end; + + procedure TotalRentalFacilitiesName(): Text[100] + begin + exit(TotalRentalFacilitiesTok); + end; + + procedure PropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyExpensesName())); + end; + + procedure PropertyExpensesName(): Text[100] + begin + exit(PropertyExpensesTok); + end; + + procedure SiteFeesLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SiteFeesLeasesName())); + end; + + procedure SiteFeesLeasesName(): Text[100] + begin + exit(SiteFeesLeasesTok); + end; + + procedure ElectricityForProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityForPropertyName())); + end; + + procedure ElectricityForPropertyName(): Text[100] + begin + exit(ElectricityForPropertyTok); + end; + + procedure HeatingForProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingForPropertyName())); + end; + + procedure HeatingForPropertyName(): Text[100] + begin + exit(HeatingForPropertyTok); + end; + + procedure WaterAndSewerageForProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterAndSewerageForPropertyName())); + end; + + procedure WaterAndSewerageForPropertyName(): Text[100] + begin + exit(WaterAndSewerageForPropertyTok); + end; + + procedure CleaningAndWasteForProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningandWasteforPropertyName())); + end; + + procedure CleaningandWasteforPropertyName(): Text[100] + begin + exit(CleaningAndWasteForPropertyTok); + end; + + procedure RepairsAndMaintenanceForProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsAndMaintenanceForPropertyName())); + end; + + procedure RepairsAndMaintenanceForPropertyName(): Text[100] + begin + exit(RepairsAndMaintenanceForPropertyTok); + end; + + procedure InsurancesProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesPropertyName())); + end; + + procedure InsurancesPropertyName(): Text[100] + begin + exit(InsurancesPropertyTok); + end; + + procedure OtherPropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPropertyExpensesName())); + end; + + procedure OtherPropertyExpensesName(): Text[100] + begin + exit(OtherPropertyExpensesTok); + end; + + procedure TotalPropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPropertyExpensesName())); + end; + + procedure TotalPropertyExpensesName(): Text[100] + begin + exit(TotalPropertyExpensesTok); + end; + + procedure TotalFacilityExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFacilityExpensesName())); + end; + + procedure TotalFacilityExpensesName(): Text[100] + begin + exit(TotalFacilityExpensesTok); + end; + + procedure FixedAssetsLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsLeasesName())); + end; + + procedure FixedAssetsLeasesName(): Text[100] + begin + exit(FixedAssetsLeasesTok); + end; + + procedure HireOfMachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireOfMachineryName())); + end; + + procedure HireOfMachineryName(): Text[100] + begin + exit(HireOfMachineryTok); + end; + + procedure HireOfComputers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireOfComputersName())); + end; + + procedure HireOfComputersName(): Text[100] + begin + exit(HireOfComputersTok); + end; + + procedure HireOfOtherFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireOfOtherFixedAssetsName())); + end; + + procedure HireOfOtherFixedAssetsName(): Text[100] + begin + exit(HireOfOtherFixedAssetsTok); + end; + + procedure TotalFixedAssetLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFixedAssetLeasesName())); + end; + + procedure TotalFixedAssetLeasesName(): Text[100] + begin + exit(TotalFixedAssetLeasesTok); + end; + + procedure LogisticsExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LogisticsExpensesName())); + end; + + procedure LogisticsExpensesName(): Text[100] + begin + exit(LogisticsExpensesTok); + end; + + procedure PassengerCarCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PassengerCarCostsName())); + end; + + procedure PassengerCarCostsName(): Text[100] + begin + exit(PassengerCarCostsTok); + end; + + procedure TruckCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TruckCostsName())); + end; + + procedure TruckCostsName(): Text[100] + begin + exit(TruckCostsTok); + end; + + procedure OtherVehicleExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherVehicleExpensesName())); + end; + + procedure OtherVehicleExpensesName(): Text[100] + begin + exit(OtherVehicleExpensesTok); + end; + + procedure FreightCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightCostsName())); + end; + + procedure FreightCostsName(): Text[100] + begin + exit(FreightCostsTok); + end; + + procedure FreightFeesForGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightFeesForGoodsName())); + end; + + procedure FreightFeesForGoodsName(): Text[100] + begin + exit(FreightFeesForGoodsTok); + end; + + procedure CustomsAndForwarding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomsAndForwardingName())); + end; + + procedure CustomsAndForwardingName(): Text[100] + begin + exit(CustomsAndForwardingTok); + end; + + procedure FreightFeesProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightFeesProjectsName())); + end; + + procedure FreightFeesProjectsName(): Text[100] + begin + exit(FreightFeesProjectsTok); + end; + + procedure TotalFreightCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFreightCostsName())); + end; + + procedure TotalFreightCostsName(): Text[100] + begin + exit(TotalFreightCostsTok); + end; + + procedure TravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelExpensesName())); + end; + + procedure TravelExpensesName(): Text[100] + begin + exit(TravelExpensesTok); + end; + + procedure Tickets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TicketsName())); + end; + + procedure TicketsName(): Text[100] + begin + exit(TicketsTok); + end; + + procedure RentalVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalVehiclesName())); + end; + + procedure RentalVehiclesName(): Text[100] + begin + exit(RentalVehiclesTok); + end; + + procedure BoardAndLodging(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BoardAndLodgingName())); + end; + + procedure BoardAndLodgingName(): Text[100] + begin + exit(BoardAndLodgingTok); + end; + + procedure OtherTravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTravelExpensesName())); + end; + + procedure OtherTravelExpensesName(): Text[100] + begin + exit(OtherTravelExpensesTok); + end; + + procedure TotalTravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTravelExpensesName())); + end; + + procedure TotalTravelExpensesName(): Text[100] + begin + exit(TotalTravelExpensesTok); + end; + + procedure TotalLogisticsExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLogisticsExpensesName())); + end; + + procedure TotalLogisticsExpensesName(): Text[100] + begin + exit(TotalLogisticsExpensesTok); + end; + + procedure MarketingAndSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MarketingAndSalesName())); + end; + + procedure MarketingAndSalesName(): Text[100] + begin + exit(MarketingAndSalesTok); + end; + + procedure AdvertisementDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisementDevelopmentName())); + end; + + procedure AdvertisementDevelopmentName(): Text[100] + begin + exit(AdvertisementDevelopmentTok); + end; + + procedure OutdoorAndTransportationAds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutdoorAndTransportationAdsName())); + end; + + procedure OutdoorAndTransportationAdsName(): Text[100] + begin + exit(OutdoorAndTransportationAdsTok); + end; + + procedure AdMatterAndDirectMailings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdMatterAndDirectMailingsName())); + end; + + procedure AdMatterAndDirectMailingsName(): Text[100] + begin + exit(AdMatterAndDirectMailingsTok); + end; + + procedure ConferenceExhibitionSponsorship(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConferenceExhibitionSponsorshipName())); + end; + + procedure ConferenceExhibitionSponsorshipName(): Text[100] + begin + exit(ConferenceExhibitionSponsorshipTok); + end; + + procedure SamplesContestsGifts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SamplesContestsGiftsName())); + end; + + procedure SamplesContestsGiftsName(): Text[100] + begin + exit(SamplesContestsGiftsTok); + end; + + procedure FilmTvRadioInternetAds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FilmTvRadioInternetAdsName())); + end; + + procedure FilmTvRadioInternetAdsName(): Text[100] + begin + exit(FilmTvRadioInternetAdsTok); + end; + + procedure PrAndAgencyFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrAndAgencyFeesName())); + end; + + procedure PrAndAgencyFeesName(): Text[100] + begin + exit(PrAndAgencyFeesTok); + end; + + procedure OtherAdvertisingFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherAdvertisingFeesName())); + end; + + procedure OtherAdvertisingFeesName(): Text[100] + begin + exit(OtherAdvertisingFeesTok); + end; + + procedure TotalAdvertising(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdvertisingName())); + end; + + procedure TotalAdvertisingName(): Text[100] + begin + exit(TotalAdvertisingTok); + end; + + procedure OtherMarketingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherMarketingExpensesName())); + end; + + procedure OtherMarketingExpensesName(): Text[100] + begin + exit(OtherMarketingExpensesTok); + end; + + procedure CatalogsPriceLists(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CatalogsPriceListsName())); + end; + + procedure CatalogsPriceListsName(): Text[100] + begin + exit(CatalogsPriceListsTok); + end; + + procedure TradePublications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradePublicationsName())); + end; + + procedure TradePublicationsName(): Text[100] + begin + exit(TradePublicationsTok); + end; + + procedure TotalOtherMarketingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherMarketingExpensesName())); + end; + + procedure TotalOtherMarketingExpensesName(): Text[100] + begin + exit(TotalOtherMarketingExpensesTok); + end; + + procedure SalesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesExpensesName())); + end; + + procedure SalesExpensesName(): Text[100] + begin + exit(SalesExpensesTok); + end; + + procedure CreditCardCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditCardChargesName())); + end; + + procedure CreditCardChargesName(): Text[100] + begin + exit(CreditCardChargesTok); + end; + + procedure BusinessEntertainingDeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingDeductibleName())); + end; + + procedure BusinessEntertainingDeductibleName(): Text[100] + begin + exit(BusinessEntertainingDeductibleTok); + end; + + procedure BusinessEntertainingNondeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingNondeductibleName())); + end; + + procedure BusinessEntertainingNondeductibleName(): Text[100] + begin + exit(BusinessEntertainingNondeductibleTok); + end; + + procedure TotalSalesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesExpensesName())); + end; + + procedure TotalSalesExpensesName(): Text[100] + begin + exit(TotalSalesExpensesTok); + end; + + procedure TotalMarketingAndSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMarketingAndSalesName())); + end; + + procedure TotalMarketingAndSalesName(): Text[100] + begin + exit(TotalMarketingAndSalesTok); + end; + + procedure OfficeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeExpensesName())); + end; + + procedure OfficeExpensesName(): Text[100] + begin + exit(OfficeExpensesTok); + end; + + procedure PhoneServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PhoneServicesName())); + end; + + procedure PhoneServicesName(): Text[100] + begin + exit(PhoneServicesTok); + end; + + procedure DataServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DataServicesName())); + end; + + procedure DataServicesName(): Text[100] + begin + exit(DataServicesTok); + end; + + procedure PostalFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostalFeesName())); + end; + + procedure PostalFeesName(): Text[100] + begin + exit(PostalFeesTok); + end; + + procedure ConsumableExpensibleHardware(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumableExpensibleHardwareName())); + end; + + procedure ConsumableExpensibleHardwareName(): Text[100] + begin + exit(ConsumableExpensibleHardwareTok); + end; + + procedure SoftwareAndSubscriptionFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SoftwareAndSubscriptionFeesName())); + end; + + procedure SoftwareAndSubscriptionFeesName(): Text[100] + begin + exit(SoftwareAndSubscriptionFeesTok); + end; + + procedure TotalOfficeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOfficeExpensesName())); + end; + + procedure TotalOfficeExpensesName(): Text[100] + begin + exit(TotalOfficeExpensesTok); + end; + + procedure InsurancesAndRisks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesAndRisksName())); + end; + + procedure InsurancesAndRisksName(): Text[100] + begin + exit(InsurancesAndRisksTok); + end; + + procedure CorporateInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateInsuranceName())); + end; + + procedure CorporateInsuranceName(): Text[100] + begin + exit(CorporateInsuranceTok); + end; + + procedure DamagesPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DamagesPaidName())); + end; + + procedure DamagesPaidName(): Text[100] + begin + exit(DamagesPaidTok); + end; + + procedure BadDebtLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDebtLossesName())); + end; + + procedure BadDebtLossesName(): Text[100] + begin + exit(BadDebtLossesTok); + end; + + procedure SecurityServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecurityServicesName())); + end; + + procedure SecurityServicesName(): Text[100] + begin + exit(SecurityServicesTok); + end; + + procedure OtherRiskExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherRiskExpensesName())); + end; + + procedure OtherRiskExpensesName(): Text[100] + begin + exit(OtherRiskExpensesTok); + end; + + procedure TotalInsurancesAndRisks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsurancesAndRisksName())); + end; + + procedure TotalInsurancesAndRisksName(): Text[100] + begin + exit(TotalInsurancesAndRisksTok); + end; + + procedure ManagementAndAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementAndAdminName())); + end; + + procedure ManagementAndAdminName(): Text[100] + begin + exit(ManagementAndAdminTok); + end; + + procedure Management(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementName())); + end; + + procedure ManagementName(): Text[100] + begin + exit(ManagementTok); + end; + + procedure RemunerationToDirectors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RemunerationToDirectorsName())); + end; + + procedure RemunerationToDirectorsName(): Text[100] + begin + exit(RemunerationToDirectorsTok); + end; + + procedure ManagementFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementFeesName())); + end; + + procedure ManagementFeesName(): Text[100] + begin + exit(ManagementFeesTok); + end; + + procedure AnnualInterrimReports(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualInterrimReportsName())); + end; + + procedure AnnualInterrimReportsName(): Text[100] + begin + exit(AnnualInterrimReportsTok); + end; + + procedure AnnualGeneralMeeting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualGeneralMeetingName())); + end; + + procedure AnnualGeneralMeetingName(): Text[100] + begin + exit(AnnualGeneralMeetingTok); + end; + + procedure AuditAndAuditServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuditAndAuditServicesName())); + end; + + procedure AuditAndAuditServicesName(): Text[100] + begin + exit(AuditAndAuditServicesTok); + end; + + procedure TaxAdvisoryServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxAdvisoryServicesName())); + end; + + procedure TaxAdvisoryServicesName(): Text[100] + begin + exit(TaxAdvisoryServicesTok); + end; + + procedure TotalManagementFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManagementFeesName())); + end; + + procedure TotalManagementFeesName(): Text[100] + begin + exit(TotalManagementFeesTok); + end; + + procedure TotalManagementAndAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManagementAndAdminName())); + end; + + procedure TotalManagementAndAdminName(): Text[100] + begin + exit(TotalManagementAndAdminTok); + end; + + procedure BankingAndInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingAndInterestName())); + end; + + procedure BankingAndInterestName(): Text[100] + begin + exit(BankingAndInterestTok); + end; + + procedure BankingFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingFeesName())); + end; + + procedure BankingFeesName(): Text[100] + begin + exit(BankingFeesTok); + end; + + procedure PayableInvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayableInvoiceRoundingName())); + end; + + procedure PayableInvoiceRoundingName(): Text[100] + begin + exit(PayableInvoiceRoundingTok); + end; + + procedure TotalBankingAndInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBankingAndInterestName())); + end; + + procedure TotalBankingAndInterestName(): Text[100] + begin + exit(TotalBankingAndInterestTok); + end; + + procedure ExternalServicesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalServicesExpensesName())); + end; + + procedure ExternalServicesExpensesName(): Text[100] + begin + exit(ExternalServicesExpensesTok); + end; + + procedure ExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalServicesName())); + end; + + procedure ExternalServicesName(): Text[100] + begin + exit(ExternalServicesTok); + end; + + procedure AccountingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountingServicesName())); + end; + + procedure AccountingServicesName(): Text[100] + begin + exit(AccountingServicesTok); + end; + + procedure ITServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ITServicesName())); + end; + + procedure ITServicesName(): Text[100] + begin + exit(ITServicesTok); + end; + + procedure MediaServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MediaServicesName())); + end; + + procedure MediaServicesName(): Text[100] + begin + exit(MediaServicesTok); + end; + + procedure ConsultingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingServicesName())); + end; + + procedure ConsultingServicesName(): Text[100] + begin + exit(ConsultingServicesTok); + end; + + procedure LegalFeesAndAttorneyServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalFeesAndAttorneyServicesName())); + end; + + procedure LegalFeesAndAttorneyServicesName(): Text[100] + begin + exit(LegalFeesAndAttorneyServicesTok); + end; + + procedure OtherExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExternalServicesName())); + end; + + procedure OtherExternalServicesName(): Text[100] + begin + exit(OtherExternalServicesTok); + end; + + procedure TotalExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExternalServicesName())); + end; + + procedure TotalExternalServicesName(): Text[100] + begin + exit(TotalExternalServicesTok); + end; + + procedure OtherExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExternalExpensesName())); + end; + + procedure OtherExternalExpensesName(): Text[100] + begin + exit(OtherExternalExpensesTok); + end; + + procedure LicenseFeesRoyalties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LicenseFeesRoyaltiesName())); + end; + + procedure LicenseFeesRoyaltiesName(): Text[100] + begin + exit(LicenseFeesRoyaltiesTok); + end; + + procedure TrademarksPatents(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrademarksPatentsName())); + end; + + procedure TrademarksPatentsName(): Text[100] + begin + exit(TrademarksPatentsTok); + end; + + procedure AssociationFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssociationFeesName())); + end; + + procedure AssociationFeesName(): Text[100] + begin + exit(AssociationFeesTok); + end; + + procedure MiscExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscExternalExpensesName())); + end; + + procedure MiscExternalExpensesName(): Text[100] + begin + exit(MiscExternalExpensesTok); + end; + + procedure PurchaseDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseDiscountsName())); + end; + + procedure PurchaseDiscountsName(): Text[100] + begin + exit(PurchaseDiscountsTok); + end; + + procedure TotalOtherExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherExternalExpensesName())); + end; + + procedure TotalOtherExternalExpensesName(): Text[100] + begin + exit(TotalOtherExternalExpensesTok); + end; + + procedure TotalExternalServicesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExternalServicesExpensesName())); + end; + + procedure TotalExternalServicesExpensesName(): Text[100] + begin + exit(TotalExternalServicesExpensesTok); + end; + + procedure WagesAndSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesAndSalariesName())); + end; + + procedure WagesAndSalariesName(): Text[100] + begin + exit(WagesAndSalariesTok); + end; + + procedure HourlyWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HourlyWagesName())); + end; + + procedure HourlyWagesName(): Text[100] + begin + exit(HourlyWagesTok); + end; + + procedure OvertimeWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OvertimeWagesName())); + end; + + procedure OvertimeWagesName(): Text[100] + begin + exit(OvertimeWagesTok); + end; + + procedure Bonuses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BonusesName())); + end; + + procedure BonusesName(): Text[100] + begin + exit(BonusesTok); + end; + + procedure CommissionsPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsPaidName())); + end; + + procedure CommissionsPaidName(): Text[100] + begin + exit(CommissionsPaidTok); + end; + + procedure PTOAccrued(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PTOAccruedName())); + end; + + procedure PTOAccruedName(): Text[100] + begin + exit(PTOAccruedTok); + end; + + procedure PayrollTaxExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollTaxExpenseName())); + end; + + procedure PayrollTaxExpenseName(): Text[100] + begin + exit(PayrollTaxExpenseTok); + end; + + procedure TotalWagesAndSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWagesAndSalariesName())); + end; + + procedure TotalWagesAndSalariesName(): Text[100] + begin + exit(TotalWagesAndSalariesTok); + end; + + procedure BenefitsPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitsPensionName())); + end; + + procedure BenefitsPensionName(): Text[100] + begin + exit(BenefitsPensionTok); + end; + + procedure Benefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitsName())); + end; + + procedure BenefitsName(): Text[100] + begin + exit(BenefitsTok); + end; + + procedure TrainingCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrainingCostsName())); + end; + + procedure TrainingCostsName(): Text[100] + begin + exit(TrainingCostsTok); + end; + + procedure HealthCareContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthCareContributionsName())); + end; + + procedure HealthCareContributionsName(): Text[100] + begin + exit(HealthCareContributionsTok); + end; + + procedure EntertainmentOfpersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EntertainmentOfpersonnelName())); + end; + + procedure EntertainmentOfpersonnelName(): Text[100] + begin + exit(EntertainmentOfpersonnelTok); + end; + + procedure MandatoryClothingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MandatoryClothingExpensesName())); + end; + + procedure MandatoryClothingExpensesName(): Text[100] + begin + exit(MandatoryClothingExpensesTok); + end; + + procedure OtherCashRemunerationBenefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCashRemunerationBenefitsName())); + end; + + procedure OtherCashRemunerationBenefitsName(): Text[100] + begin + exit(OtherCashRemunerationBenefitsTok); + end; + + procedure TotalBenefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBenefitsName())); + end; + + procedure TotalBenefitsName(): Text[100] + begin + exit(TotalBenefitsTok); + end; + + procedure Pension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionName())); + end; + + procedure PensionName(): Text[100] + begin + exit(PensionTok); + end; + + procedure PensionFeesAndRecurringCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionFeesAndRecurringCostsName())); + end; + + procedure PensionFeesAndRecurringCostsName(): Text[100] + begin + exit(PensionFeesAndRecurringCostsTok); + end; + + procedure EmployerContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployerContributionsName())); + end; + + procedure EmployerContributionsName(): Text[100] + begin + exit(EmployerContributionsTok); + end; + + procedure TotalPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPensionName())); + end; + + procedure TotalPensionName(): Text[100] + begin + exit(TotalPensionTok); + end; + + procedure TotalBenefitsPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBenefitsPensionName())); + end; + + procedure TotalBenefitsPensionName(): Text[100] + begin + exit(TotalBenefitsPensionTok); + end; + + procedure InsurancesPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesPersonnelName())); + end; + + procedure InsurancesPersonnelName(): Text[100] + begin + exit(InsurancesPersonnelTok); + end; + + procedure HealthInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthInsuranceName())); + end; + + procedure HealthInsuranceName(): Text[100] + begin + exit(HealthInsuranceTok); + end; + + procedure DentalInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DentalInsuranceName())); + end; + + procedure DentalInsuranceName(): Text[100] + begin + exit(DentalInsuranceTok); + end; + + procedure WorkersCompensation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkersCompensationName())); + end; + + procedure WorkersCompensationName(): Text[100] + begin + exit(WorkersCompensationTok); + end; + + procedure LifeInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LifeInsuranceName())); + end; + + procedure LifeInsuranceName(): Text[100] + begin + exit(LifeInsuranceTok); + end; + + procedure TotalInsurancesPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsurancesPersonnelName())); + end; + + procedure TotalInsurancesPersonnelName(): Text[100] + begin + exit(TotalInsurancesPersonnelTok); + end; + + procedure DepreciationLandAndProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationLandAndPropertyName())); + end; + + procedure DepreciationLandAndPropertyName(): Text[100] + begin + exit(DepreciationLandAndPropertyTok); + end; + + procedure DepreciationFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationFixedAssetsName())); + end; + + procedure DepreciationFixedAssetsName(): Text[100] + begin + exit(DepreciationFixedAssetsTok); + end; + + procedure MiscExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscExpensesName())); + end; + + procedure MiscExpensesName(): Text[100] + begin + exit(MiscExpensesTok); + end; + + procedure CurrencyLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyLossesName())); + end; + + procedure CurrencyLossesName(): Text[100] + begin + exit(CurrencyLossesTok); + end; + + procedure TotalMiscExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMiscExpensesName())); + end; + + procedure TotalMiscExpensesName(): Text[100] + begin + exit(TotalMiscExpensesTok); + end; + + procedure TotalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExpensesName())); + end; + + procedure TotalExpensesName(): Text[100] + begin + exit(TotalExpensesTok); + end; + + procedure IntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleFixedAssetsName())); + end; + + procedure IntangibleFixedAssetsName(): Text[100] + begin + exit(IntangibleFixedAssetsTok); + end; + + procedure DevelopmentExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevelopmentExpenditureName())); + end; + + procedure DevelopmentExpenditureName(): Text[100] + begin + exit(DevelopmentExpenditureTok); + end; + + procedure TenancySiteLeaseholdAndSimilarRights(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TenancySiteLeaseholdAndSimilarRightsName())); + end; + + procedure TenancySiteLeaseholdAndSimilarRightsName(): Text[100] + begin + exit(TenancySiteLeaseholdAndSimilarRightsTok); + end; + + procedure Goodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillName())); + end; + + procedure GoodwillName(): Text[100] + begin + exit(GoodwillTok); + end; + + procedure AdvancedPaymentsForIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsForIntangibleFixedAssetsName())); + end; + + procedure AdvancedPaymentsForIntangibleFixedAssetsName(): Text[100] + begin + exit(AdvancedPaymentsForIntangibleFixedAssetsTok); + end; + + procedure TotalIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIntangibleFixedAssetsName())); + end; + + procedure TotalIntangibleFixedAssetsName(): Text[100] + begin + exit(TotalIntangibleFixedAssetsTok); + end; + + procedure Building(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BuildingName())); + end; + + procedure BuildingName(): Text[100] + begin + exit(BuildingTok); + end; + + procedure CostOfImprovementsToLeasedProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostOfImprovementsToLeasedPropertyName())); + end; + + procedure CostOfImprovementsToLeasedPropertyName(): Text[100] + begin + exit(CostOfImprovementsToLeasedPropertyTok); + end; + + procedure Land(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandName())); + end; + + procedure LandName(): Text[100] + begin + exit(LandTok); + end; + + procedure MachineryAndEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryAndEquipmentName())); + end; + + procedure MachineryAndEquipmentName(): Text[100] + begin + exit(MachineryAndEquipmentTok); + end; + + procedure EquipmentsAndTools(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquipmentsAndToolsName())); + end; + + procedure EquipmentsAndToolsName(): Text[100] + begin + exit(EquipmentsAndToolsTok); + end; + + procedure Computers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ComputersName())); + end; + + procedure ComputersName(): Text[100] + begin + exit(ComputersTok); + end; + + procedure CarsAndOtherTransportEquipments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarsAndOtherTransportEquipmentsName())); + end; + + procedure CarsAndOtherTransportEquipmentsName(): Text[100] + begin + exit(CarsAndOtherTransportEquipmentsTok); + end; + + procedure LeasedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeasedAssetsName())); + end; + + procedure LeasedAssetsName(): Text[100] + begin + exit(LeasedAssetsTok); + end; + + procedure TotalMachineryAndEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMachineryAndEquipmentName())); + end; + + procedure TotalMachineryAndEquipmentName(): Text[100] + begin + exit(TotalMachineryAndEquipmentTok); + end; + + procedure AccumulatedDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationName())); + end; + + procedure AccumulatedDepreciationName(): Text[100] + begin + exit(AccumulatedDepreciationTok); + end; + + procedure FinancialAndFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialAndFixedAssetsName())); + end; + + procedure FinancialAndFixedAssetsName(): Text[100] + begin + exit(FinancialAndFixedAssetsTok); + end; + + procedure LongTermReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermReceivablesName())); + end; + + procedure LongTermReceivablesName(): Text[100] + begin + exit(LongTermReceivablesTok); + end; + + procedure ParticipationinGroupCompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ParticipationinGroupCompaniesName())); + end; + + procedure ParticipationinGroupCompaniesName(): Text[100] + begin + exit(ParticipationinGroupCompaniesTok); + end; + + procedure LoansToPartnersOrRelatedParties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoansToPartnersOrRelatedPartiesName())); + end; + + procedure LoansToPartnersOrRelatedPartiesName(): Text[100] + begin + exit(LoansToPartnersOrRelatedPartiesTok); + end; + + procedure DeferredTaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxAssetsName())); + end; + + procedure DeferredTaxAssetsName(): Text[100] + begin + exit(DeferredTaxAssetsTok); + end; + + procedure OtherLongTermReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLongTermReceivablesName())); + end; + + procedure OtherLongTermReceivablesName(): Text[100] + begin + exit(OtherLongTermReceivablesTok); + end; + + procedure TotalFinancialAndFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinancialAndFixedAssetsName())); + end; + + procedure TotalFinancialAndFixedAssetsName(): Text[100] + begin + exit(TotalFinancialAndFixedAssetsTok); + end; + + procedure InventoriesProductsAndWorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoriesProductsAndWorkInProgressName())); + end; + + procedure InventoriesProductsAndWorkInProgressName(): Text[100] + begin + exit(InventoriesProductsAndWorkInProgressTok); + end; + + procedure SuppliesAndConsumables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuppliesAndConsumablesName())); + end; + + procedure SuppliesAndConsumablesName(): Text[100] + begin + exit(SuppliesAndConsumablesTok); + end; + + procedure ProductsInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProductsInProgressName())); + end; + + procedure ProductsInProgressName(): Text[100] + begin + exit(ProductsInProgressTok); + end; + + procedure GoodsForResale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsForResaleName())); + end; + + procedure GoodsForResaleName(): Text[100] + begin + exit(GoodsForResaleTok); + end; + + procedure AdvancedPaymentsForGoodsAndServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsForGoodsAndServicesName())); + end; + + procedure AdvancedPaymentsForGoodsAndServicesName(): Text[100] + begin + exit(AdvancedPaymentsForGoodsAndServicesTok); + end; + + procedure OtherInventoryItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherInventoryItemsName())); + end; + + procedure OtherInventoryItemsName(): Text[100] + begin + exit(OtherInventoryItemsTok); + end; + + procedure WorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkInProgressName())); + end; + + procedure WorkInProgressName(): Text[100] + begin + exit(WorkInProgressTok); + end; + + procedure WorkInProgressFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkInProgressFinishedGoodsName())); + end; + + procedure WorkInProgressFinishedGoodsName(): Text[100] + begin + exit(WorkInProgressFinishedGoodsTok); + end; + + procedure WIPAccruedCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccruedCostsName())); + end; + + procedure WIPAccruedCostsName(): Text[100] + begin + exit(WIPAccruedCostsTok); + end; + + procedure WIPInvoicedSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPInvoicedSalesName())); + end; + + procedure WIPInvoicedSalesName(): Text[100] + begin + exit(WIPInvoicedSalesTok); + end; + + procedure TotalWorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWorkInProgressName())); + end; + + procedure TotalWorkInProgressName(): Text[100] + begin + exit(TotalWorkInProgressTok); + end; + + procedure TotalInventoryProductsAndWorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInventoryProductsAndWorkInProgressName())); + end; + + procedure TotalInventoryProductsAndWorkInProgressName(): Text[100] + begin + exit(TotalInventoryProductsAndWorkInProgressTok); + end; + + procedure Receivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesName())); + end; + + procedure ReceivablesName(): Text[100] + begin + exit(ReceivablesTok); + end; + + procedure ContractualReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContractualReceivablesName())); + end; + + procedure ContractualReceivablesName(): Text[100] + begin + exit(ContractualReceivablesTok); + end; + + procedure ConsignmentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsignmentReceivablesName())); + end; + + procedure ConsignmentReceivablesName(): Text[100] + begin + exit(ConsignmentReceivablesTok); + end; + + procedure CreditCardsAndVouchersReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditCardsAndVouchersReceivablesName())); + end; + + procedure CreditCardsAndVouchersReceivablesName(): Text[100] + begin + exit(CreditCardsAndVouchersReceivablesTok); + end; + + procedure OtherCurrentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentReceivablesName())); + end; + + procedure OtherCurrentReceivablesName(): Text[100] + begin + exit(OtherCurrentReceivablesTok); + end; + + procedure CurrentReceivableFromEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivableFromEmployeesName())); + end; + + procedure CurrentReceivableFromEmployeesName(): Text[100] + begin + exit(CurrentReceivableFromEmployeesTok); + end; + + procedure AccruedIncomeNotYetInvoiced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedIncomeNotYetInvoicedName())); + end; + + procedure AccruedIncomeNotYetInvoicedName(): Text[100] + begin + exit(AccruedIncomeNotYetInvoicedTok); + end; + + procedure ClearingAccountsForTaxesAndcharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountsForTaxesAndchargesName())); + end; + + procedure ClearingAccountsForTaxesAndchargesName(): Text[100] + begin + exit(ClearingAccountsForTaxesAndchargesTok); + end; + + procedure TaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxAssetsName())); + end; + + procedure TaxAssetsName(): Text[100] + begin + exit(TaxAssetsTok); + end; + + procedure PurchaseVATReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATReducedName())); + end; + + procedure PurchaseVATReducedName(): Text[100] + begin + exit(PurchaseVATReducedTok); + end; + + procedure PurchaseVATNormal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATNormalName())); + end; + + procedure PurchaseVATNormalName(): Text[100] + begin + exit(PurchaseVATNormalTok); + end; + + procedure MiscVATReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscVATReceivablesName())); + end; + + procedure MiscVATReceivablesName(): Text[100] + begin + exit(MiscVATReceivablesTok); + end; + + procedure CurrentReceivablesFromGroupCompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivablesFromGroupCompaniesName())); + end; + + procedure CurrentReceivablesFromGroupCompaniesName(): Text[100] + begin + exit(CurrentReceivablesFromGroupCompaniesTok); + end; + + procedure TotalOtherCurrentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherCurrentReceivablesName())); + end; + + procedure TotalOtherCurrentReceivablesName(): Text[100] + begin + exit(TotalOtherCurrentReceivablesTok); + end; + + procedure TotalReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalReceivablesName())); + end; + + procedure TotalReceivablesName(): Text[100] + begin + exit(TotalReceivablesTok); + end; + + procedure PrepaidExpensesAndAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidExpensesAndAccruedIncomeName())); + end; + + procedure PrepaidExpensesAndAccruedIncomeName(): Text[100] + begin + exit(PrepaidExpensesAndAccruedIncomeTok); + end; + + procedure PrepaidRent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidRentName())); + end; + + procedure PrepaidRentName(): Text[100] + begin + exit(PrepaidRentTok); + end; + + procedure PrepaidInterestExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidInterestExpenseName())); + end; + + procedure PrepaidInterestExpenseName(): Text[100] + begin + exit(PrepaidInterestexpenseTok); + end; + + procedure AccruedRentalIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedRentalIncomeName())); + end; + + procedure AccruedRentalIncomeName(): Text[100] + begin + exit(AccruedRentalIncomeTok); + end; + + procedure AccruedInterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedInterestIncomeName())); + end; + + procedure AccruedInterestIncomeName(): Text[100] + begin + exit(AccruedInterestIncomeTok); + end; + + procedure AssetsInTheFormOfPrepaidExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssetsInTheFormOfPrepaidExpensesName())); + end; + + procedure AssetsInTheFormOfPrepaidExpensesName(): Text[100] + begin + exit(AssetsInTheFormOfPrepaidExpensesTok); + end; + + procedure OtherPrepaidExpensesAndAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPrepaidExpensesAndAccruedIncomeName())); + end; + + procedure OtherPrepaidExpensesAndAccruedIncomeName(): Text[100] + begin + exit(OtherPrepaidExpensesAndAccruedIncomeTok); + end; + + procedure TotalPrepaidExpensesAndAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPrepaidExpensesAndAccruedIncomeName())); + end; + + procedure TotalPrepaidExpensesAndAccruedIncomeName(): Text[100] + begin + exit(TotalPrepaidExpensesAndAccruedIncomeTok); + end; + + procedure ShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermInvestmentsName())); + end; + + procedure ShortTermInvestmentsName(): Text[100] + begin + exit(ShortTermInvestmentsTok); + end; + + procedure ConvertibleDebtInstruments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertibleDebtInstrumentsName())); + end; + + procedure ConvertibleDebtInstrumentsName(): Text[100] + begin + exit(ConvertibleDebtInstrumentsTok); + end; + + procedure OtherShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherShortTermInvestmentsName())); + end; + + procedure OtherShortTermInvestmentsName(): Text[100] + begin + exit(OtherShortTermInvestmentsTok); + end; + + procedure WriteDownOfShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WriteDownOfShortTermInvestmentsName())); + end; + + procedure WriteDownOfShortTermInvestmentsName(): Text[100] + begin + exit(WriteDownOfShortTermInvestmentsTok); + end; + + procedure TotalShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalShortTermInvestmentsName())); + end; + + procedure TotalShortTermInvestmentsName(): Text[100] + begin + exit(TotalShortTermInvestmentsTok); + end; + + procedure CashAndBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashAndBankName())); + end; + + procedure CashAndBankName(): Text[100] + begin + exit(CashAndBankTok); + end; + + procedure BusinessAccountOperatingDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessAccountOperatingDomesticName())); + end; + + procedure BusinessAccountOperatingDomesticName(): Text[100] + begin + exit(BusinessAccountOperatingDomesticTok); + end; + + procedure BusinessAccountOperatingForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessAccountOperatingForeignName())); + end; + + procedure BusinessAccountOperatingForeignName(): Text[100] + begin + exit(BusinessAccountOperatingForeignTok); + end; + + procedure OtherBankAccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherBankAccountsName())); + end; + + procedure OtherBankAccountsName(): Text[100] + begin + exit(OtherBankAccountsTok); + end; + + procedure CertificateOfDeposit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CertificateOfDepositName())); + end; + + procedure CertificateOfDepositName(): Text[100] + begin + exit(CertificateOfDepositTok); + end; + + procedure TotalCashAndBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCashAndBankName())); + end; + + procedure TotalCashAndBankName(): Text[100] + begin + exit(TotalCashAndBankTok); + end; + + procedure BondsAndDebentureLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BondsAndDebentureLoansName())); + end; + + procedure BondsAndDebentureLoansName(): Text[100] + begin + exit(BondsAndDebentureLoansTok); + end; + + procedure ConvertiblesLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertiblesLoansName())); + end; + + procedure ConvertiblesLoansName(): Text[100] + begin + exit(ConvertiblesLoansTok); + end; + + procedure OtherLongTermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLongTermLiabilitiesName())); + end; + + procedure OtherLongTermLiabilitiesName(): Text[100] + begin + exit(OtherLongTermLiabilitiesTok); + end; + + procedure BankOverdraftFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankOverdraftFacilitiesName())); + end; + + procedure BankOverdraftFacilitiesName(): Text[100] + begin + exit(BankOverdraftFacilitiesTok); + end; + + procedure CurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLiabilitiesName())); + end; + + procedure CurrentLiabilitiesName(): Text[100] + begin + exit(CurrentLiabilitiesTok); + end; + + procedure AdvancesFromCustomers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancesFromCustomersName())); + end; + + procedure AdvancesFromCustomersName(): Text[100] + begin + exit(AdvancesFromCustomersTok); + end; + + procedure ChangeInWorkInProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangeInWorkInProgressName())); + end; + + procedure ChangeInWorkInProgressName(): Text[100] + begin + exit(ChangeInWorkInProgressTok); + end; + + procedure BankOverdraftShortTerm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankOverdraftShortTermName())); + end; + + procedure BankOverdraftShortTermName(): Text[100] + begin + exit(BankOverdraftShortTermTok); + end; + + procedure DeferredRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredRevenueName())); + end; + + procedure DeferredRevenueName(): Text[100] + begin + exit(DeferredRevenueTok); + end; + + procedure TotalCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCurrentLiabilitiesName())); + end; + + procedure TotalCurrentLiabilitiesName(): Text[100] + begin + exit(TotalCurrentLiabilitiesTok); + end; + + procedure TaxLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxLiabilitiesName())); + end; + + procedure TaxLiabilitiesName(): Text[100] + begin + exit(TaxLiabilitiesTok); + end; + + procedure TaxesLiable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesLiableName())); + end; + + procedure TaxesLiableName(): Text[100] + begin + exit(TaxesLiableTok); + end; + + procedure SalesVATReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVATReducedName())); + end; + + procedure SalesVATReducedName(): Text[100] + begin + exit(SalesVATReducedTok); + end; + + procedure SalesVATNormal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVATNormalName())); + end; + + procedure SalesVATNormalName(): Text[100] + begin + exit(SalesVATNormalTok); + end; + + procedure MiscVATPayables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscVATPayablesName())); + end; + + procedure MiscVATPayablesName(): Text[100] + begin + exit(MiscVATPayablesTok); + end; + + procedure EstimatedIncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedIncomeTaxName())); + end; + + procedure EstimatedIncomeTaxName(): Text[100] + begin + exit(EstimatedIncomeTaxTok); + end; + + procedure EstimatedRealEstateTaxRealEstateCharge(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedRealEstateTaxRealEstateChargeName())); + end; + + procedure EstimatedRealEstateTaxRealEstateChargeName(): Text[100] + begin + exit(EstimatedRealEstateTaxRealEstateChargeTok); + end; + + procedure EstimatedPayrollTaxOnPensionCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedPayrollTaxOnPensionCostsName())); + end; + + procedure EstimatedPayrollTaxOnPensionCostsName(): Text[100] + begin + exit(EstimatedPayrollTaxOnPensionCostsTok); + end; + + procedure TotalTaxLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTaxLiabilitiesName())); + end; + + procedure TotalTaxLiabilitiesName(): Text[100] + begin + exit(TotalTaxLiabilitiesTok); + end; + + procedure PayrollLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollLiabilitiesName())); + end; + + procedure PayrollLiabilitiesName(): Text[100] + begin + exit(PayrollLiabilitiesTok); + end; + + procedure EmployeesWithholdingTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeesWithholdingTaxesName())); + end; + + procedure EmployeesWithholdingTaxesName(): Text[100] + begin + exit(EmployeesWithholdingTaxesTok); + end; + + procedure StatutorySocialSecurityContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutorySocialSecurityContributionsName())); + end; + + procedure StatutorySocialSecurityContributionsName(): Text[100] + begin + exit(StatutorySocialSecurityContributionsTok); + end; + + procedure ContractualSocialSecurityContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContractualSocialSecurityContributionsName())); + end; + + procedure ContractualSocialSecurityContributionsName(): Text[100] + begin + exit(ContractualSocialSecurityContributionsTok); + end; + + procedure AttachmentsOfEarning(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AttachmentsOfEarningName())); + end; + + procedure AttachmentsOfEarningName(): Text[100] + begin + exit(AttachmentsOfEarningTok); + end; + + procedure HolidayPayfund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HolidayPayfundName())); + end; + + procedure HolidayPayfundName(): Text[100] + begin + exit(HolidayPayfundTok); + end; + + procedure OtherSalaryWageDeductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSalaryWageDeductionsName())); + end; + + procedure OtherSalaryWageDeductionsName(): Text[100] + begin + exit(OtherSalaryWageDeductionsTok); + end; + + procedure TotalPayrollLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPayrollLiabilitiesName())); + end; + + procedure TotalPayrollLiabilitiesName(): Text[100] + begin + exit(TotalPayrollLiabilitiesTok); + end; + + procedure OtherCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentLiabilitiesName())); + end; + + procedure OtherCurrentLiabilitiesName(): Text[100] + begin + exit(OtherCurrentLiabilitiesTok); + end; + + procedure ClearingAccountForFactoringCurrentPortion(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountForFactoringCurrentPortionName())); + end; + + procedure ClearingAccountForFactoringCurrentPortionName(): Text[100] + begin + exit(ClearingAccountForFactoringCurrentPortionTok); + end; + + procedure CurrentLiabilitiesToEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLiabilitiesToEmployeesName())); + end; + + procedure CurrentLiabilitiesToEmployeesName(): Text[100] + begin + exit(CurrentLiabilitiesToEmployeesTok); + end; + + procedure ClearingAccountForThirdParty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountForThirdPartyName())); + end; + + procedure ClearingAccountForThirdPartyName(): Text[100] + begin + exit(ClearingAccountForThirdPartyTok); + end; + + procedure CurrentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLoansName())); + end; + + procedure CurrentLoansName(): Text[100] + begin + exit(CurrentLoansTok); + end; + + procedure LiabilitiesGrantsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilitiesGrantsReceivedName())); + end; + + procedure LiabilitiesGrantsReceivedName(): Text[100] + begin + exit(LiabilitiesGrantsReceivedTok); + end; + + procedure TotalOtherCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherCurrentLiabilitiesName())); + end; + + procedure TotalOtherCurrentLiabilitiesName(): Text[100] + begin + exit(TotalOtherCurrentLiabilitiesTok); + end; + + procedure AccruedExpensesAndDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedExpensesAndDeferredIncomeName())); + end; + + procedure AccruedExpensesAndDeferredIncomeName(): Text[100] + begin + exit(AccruedExpensesAndDeferredIncomeTok); + end; + + procedure AccruedWagesSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedWagesSalariesName())); + end; + + procedure AccruedWagesSalariesName(): Text[100] + begin + exit(AccruedWagesSalariesTok); + end; + + procedure AccruedHolidayPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedHolidayPayName())); + end; + + procedure AccruedHolidayPayName(): Text[100] + begin + exit(AccruedHolidayPayTok); + end; + + procedure AccruedPensionCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedPensionCostsName())); + end; + + procedure AccruedPensionCostsName(): Text[100] + begin + exit(AccruedPensionCostsTok); + end; + + procedure AccruedInterestExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedInterestExpenseName())); + end; + + procedure AccruedInterestExpenseName(): Text[100] + begin + exit(AccruedInterestExpenseTok); + end; + + procedure DeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredIncomeName())); + end; + + procedure DeferredIncomeName(): Text[100] + begin + exit(DeferredIncomeTok); + end; + + procedure AccruedContractualCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedContractualCostsName())); + end; + + procedure AccruedContractualCostsName(): Text[100] + begin + exit(AccruedContractualCostsTok); + end; + + procedure OtherAccruedExpensesAndDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherAccruedExpensesAndDeferredIncomeName())); + end; + + procedure OtherAccruedExpensesAndDeferredIncomeName(): Text[100] + begin + exit(OtherAccruedExpensesAndDeferredIncomeTok); + end; + + procedure TotalAccruedExpensesAndDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAccruedExpensesAndDeferredIncomeName())); + end; + + procedure TotalAccruedExpensesAndDeferredIncomeName(): Text[100] + begin + exit(TotalAccruedExpensesAndDeferredIncomeTok); + end; + + procedure Equity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityName())); + end; + + procedure EquityName(): Text[100] + begin + exit(EquityTok); + end; + + procedure EquityPartner(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityPartnerName())); + end; + + procedure EquityPartnerName(): Text[100] + begin + exit(EquityPartnerTok); + end; + + procedure NetResults(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetResultsName())); + end; + + procedure NetResultsName(): Text[100] + begin + exit(NetResultsTok); + end; + + procedure RestrictedEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RestrictedEquityName())); + end; + + procedure RestrictedEquityName(): Text[100] + begin + exit(RestrictedEquityTok); + end; + + procedure ShareCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareCapitalName())); + end; + + procedure ShareCapitalName(): Text[100] + begin + exit(ShareCapitalTok); + end; + + procedure Dividends(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendsName())); + end; + + procedure DividendsName(): Text[100] + begin + exit(DividendsTok); + end; + + procedure NonRestrictedEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRestrictedEquityName())); + end; + + procedure NonRestrictedEquityName(): Text[100] + begin + exit(NonRestrictedEquityTok); + end; + + procedure ProfitOrLossFromThePreviousYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitOrLossFromThePreviousYearName())); + end; + + procedure ProfitOrLossFromThePreviousYearName(): Text[100] + begin + exit(ProfitOrLossFromThePreviousYearTok); + end; + + procedure ResultsForTheFinancialYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResultsForTheFinancialYearName())); + end; + + procedure ResultsForTheFinancialYearName(): Text[100] + begin + exit(ResultsForTheFinancialyearTok); + end; + + procedure TotalEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalEquityName())); + end; + + procedure TotalEquityName(): Text[100] + begin + exit(TotalEquityTok); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + IncomeTok: Label 'Income', MaxLength = 100; + SalesOfGoodsTok: Label 'Sales of Goods', MaxLength = 100; + SaleOfFinishedGoodsTok: Label 'Sale of Finished Goods', MaxLength = 100; + SaleOfRawMaterialsTok: Label 'Sale of Raw Materials', MaxLength = 100; + ResaleOfGoodsTok: Label 'Resale of Goods', MaxLength = 100; + TotalSalesOfGoodsTok: Label 'Total, Sales of Goods', MaxLength = 100; + SaleOfResourcesTok: Label 'Sale of Resources', MaxLength = 100; + SaleOfSubcontractingTok: Label 'Sale of Subcontracting', MaxLength = 100; + TotalSalesOfResourcesTok: Label 'Total, Sales of Resources', MaxLength = 100; + AdditionalRevenueTok: Label 'Additional Revenue', MaxLength = 100; + IncomeFromSecuritiesTok: Label 'Income from securities', MaxLength = 100; + ManagementFeeRevenueTok: Label 'Management Fee Revenue', MaxLength = 100; + CurrencyGainsTok: Label 'Currency Gains', MaxLength = 100; + OtherIncidentalRevenueTok: Label 'Other Incidental Revenue', MaxLength = 100; + TotalAdditionalRevenueTok: Label 'Total, Additional Revenue', MaxLength = 100; + JobsAndServicesTok: Label 'Jobs and Services', MaxLength = 100; + JobSalesAppliedTok: Label 'Job Sales Applied', MaxLength = 100; + SalesOfServiceContractsTok: Label 'Sales of Service Contracts', MaxLength = 100; + SalesOfServiceWorkTok: Label 'Sales of Service Work', MaxLength = 100; + TotalJobsAndServicesTok: Label 'Total, Jobs and Services', MaxLength = 100; + RevenueReductionsTok: Label 'Revenue Reductions', MaxLength = 100; + DiscountsAndAllowancesTok: Label 'Discounts and Allowances', MaxLength = 100; + PaymentToleranceTok: Label 'Payment Tolerance', MaxLength = 100; + SalesReturnsTok: Label 'Sales Returns', MaxLength = 100; + TotalRevenueReductionsTok: Label 'Total, Revenue Reductions', MaxLength = 100; + TotalIncomeTok: Label 'TOTAL INCOME', MaxLength = 100; + CostOfGoodsSoldTok: Label 'COST OF GOODS SOLD', MaxLength = 100; + CostOfGoodsTok: Label 'Cost of Goods', MaxLength = 100; + CostOfMaterialsTok: Label 'Cost of Materials', MaxLength = 100; + CostOfMaterialsProjectsTok: Label 'Cost of Materials, Projects', MaxLength = 100; + TotalCostOfGoodsTok: Label 'Total, Cost of Goods', MaxLength = 100; + CostOfResourcesAndServicesTok: Label 'Cost of Resources and Services', MaxLength = 100; + CostOfLaborTok: Label 'Cost of Labor', MaxLength = 100; + CostOfLaborProjectsTok: Label 'Cost of Labor, Projects', MaxLength = 100; + CostOfLaborWarrantyContractTok: Label 'Cost of Labor, Warranty/Contract', MaxLength = 100; + TotalCostOfResourcesTok: Label 'Total, Cost of Resources', MaxLength = 100; + CostsOfJobsTok: Label 'Costs of Jobs', MaxLength = 100; + JobCostsAppliedTok: Label 'Job Costs Applied', MaxLength = 100; + TotalCostsOfJobsTok: Label 'Total, Costs of Jobs', MaxLength = 100; + SubcontractedWorkTok: Label 'Subcontracted work', MaxLength = 100; + CostOfVariancesTok: Label 'Cost of Variances', MaxLength = 100; + TotalCostOfGoodsSoldTok: Label 'TOTAL COST OF GOODS SOLD', MaxLength = 100; + ExpensesTok: Label 'EXPENSES', MaxLength = 100; + FacilityExpensesTok: Label 'Facility Expenses', MaxLength = 100; + RentalFacilitiesTok: Label 'Rental Facilities', MaxLength = 100; + RentLeasesTok: Label 'Rent / Leases', MaxLength = 100; + ElectricityForRentalTok: Label 'Electricity for Rental', MaxLength = 100; + HeatingForRentalTok: Label 'Heating for Rental', MaxLength = 100; + WaterAndSewerageForRentalTok: Label 'Water and Sewerage for Rental', MaxLength = 100; + CleaningAndWasteForRentalTok: Label 'Cleaning and Waste for Rental', MaxLength = 100; + RepairsAndMaintenanceForRentalTok: Label 'Repairs and Maintenance for Rental', MaxLength = 100; + InsurancesRentalTok: Label 'Insurances, Rental', MaxLength = 100; + OtherRentalExpensesTok: Label 'Other Rental Expenses', MaxLength = 100; + TotalRentalFacilitiesTok: Label 'Total, Rental Facilities', MaxLength = 100; + PropertyExpensesTok: Label 'Property Expenses', MaxLength = 100; + SiteFeesLeasesTok: Label 'Site Fees / Leases', MaxLength = 100; + ElectricityForPropertyTok: Label 'Electricity for Property', MaxLength = 100; + HeatingForPropertyTok: Label 'Heating for Property', MaxLength = 100; + WaterAndSewerageForPropertyTok: Label 'Water and Sewerage for Property', MaxLength = 100; + CleaningAndWasteForPropertyTok: Label 'Cleaning and Waste for Property', MaxLength = 100; + RepairsAndMaintenanceForPropertyTok: Label 'Repairs and Maintenance for Property', MaxLength = 100; + InsurancesPropertyTok: Label 'Insurances, Property', MaxLength = 100; + OtherPropertyExpensesTok: Label 'Other Property Expenses', MaxLength = 100; + TotalPropertyExpensesTok: Label 'Total, Property Expenses', MaxLength = 100; + TotalFacilityExpensesTok: Label 'Total, Facility Expenses', MaxLength = 100; + FixedAssetsLeasesTok: Label 'Fixed Assets Leases', MaxLength = 100; + HireOfMachineryTok: Label 'Hire of machinery', MaxLength = 100; + HireOfComputersTok: Label 'Hire of computers', MaxLength = 100; + HireOfOtherFixedAssetsTok: Label 'Hire of other fixed assets', MaxLength = 100; + TotalFixedAssetLeasesTok: Label 'Total, Fixed Asset Leases', MaxLength = 100; + LogisticsExpensesTok: Label 'Logistics Expenses', MaxLength = 100; + PassengerCarCostsTok: Label 'Passenger Car Costs', MaxLength = 100; + TruckCostsTok: Label 'Truck Costs', MaxLength = 100; + OtherVehicleExpensesTok: Label 'Other vehicle expenses', MaxLength = 100; + FreightCostsTok: Label 'Freight Costs', MaxLength = 100; + FreightFeesForGoodsTok: Label 'Freight fees for goods', MaxLength = 100; + CustomsAndForwardingTok: Label 'Customs and forwarding', MaxLength = 100; + FreightFeesProjectsTok: Label 'Freight fees, projects', MaxLength = 100; + TotalFreightCostsTok: Label 'Total, Freight Costs', MaxLength = 100; + TravelExpensesTok: Label 'Travel Expenses', MaxLength = 100; + TicketsTok: Label 'Tickets', MaxLength = 100; + RentalVehiclesTok: Label 'Rental vehicles', MaxLength = 100; + BoardAndLodgingTok: Label 'Board and lodging', MaxLength = 100; + OtherTravelExpensesTok: Label 'Other travel expenses', MaxLength = 100; + TotalTravelExpensesTok: Label 'Total, Travel Expenses', MaxLength = 100; + TotalLogisticsExpensesTok: Label 'Total, Logistics Expenses', MaxLength = 100; + MarketingAndSalesTok: Label 'Marketing and Sales', MaxLength = 100; + AdvertisementDevelopmentTok: Label 'Advertisement Development', MaxLength = 100; + OutdoorAndTransportationAdsTok: Label 'Outdoor and Transportation Ads', MaxLength = 100; + AdMatterAndDirectMailingsTok: Label 'Ad matter and direct mailings', MaxLength = 100; + ConferenceExhibitionSponsorshipTok: Label 'Conference/Exhibition Sponsorship', MaxLength = 100; + SamplesContestsGiftsTok: Label 'Samples, contests, gifts', MaxLength = 100; + FilmTvRadioInternetAdsTok: Label 'Film, TV, radio, internet ads', MaxLength = 100; + PrAndAgencyFeesTok: Label 'PR and Agency Fees', MaxLength = 100; + OtherAdvertisingFeesTok: Label 'Other advertising fees', MaxLength = 100; + TotalAdvertisingTok: Label 'Total, Advertising', MaxLength = 100; + OtherMarketingExpensesTok: Label 'Other Marketing Expenses', MaxLength = 100; + CatalogsPriceListsTok: Label 'Catalogs, price lists', MaxLength = 100; + TradePublicationsTok: Label 'Trade Publications', MaxLength = 100; + TotalOtherMarketingExpensesTok: Label 'Total, Other Marketing Expenses', MaxLength = 100; + SalesExpensesTok: Label 'Sales Expenses', MaxLength = 100; + CreditCardChargesTok: Label 'Credit Card Charges', MaxLength = 100; + BusinessEntertainingDeductibleTok: Label 'Business Entertaining, deductible', MaxLength = 100; + BusinessEntertainingNondeductibleTok: Label 'Business Entertaining, nondeductible', MaxLength = 100; + TotalSalesExpensesTok: Label 'Total, Sales Expenses', MaxLength = 100; + TotalMarketingAndSalesTok: Label 'Total, Marketing and Sales', MaxLength = 100; + OfficeExpensesTok: Label 'Office Expenses', MaxLength = 100; + PhoneServicesTok: Label 'Phone Services', MaxLength = 100; + DataServicesTok: Label 'Data services', MaxLength = 100; + PostalFeesTok: Label 'Postal fees', MaxLength = 100; + ConsumableExpensibleHardwareTok: Label 'Consumable/Expensible hardware', MaxLength = 100; + SoftwareAndSubscriptionFeesTok: Label 'Software and subscription fees', MaxLength = 100; + TotalOfficeExpensesTok: Label 'Total, Office Expenses', MaxLength = 100; + InsurancesAndRisksTok: Label 'Insurances and Risks', MaxLength = 100; + CorporateInsuranceTok: Label 'Corporate Insurance', MaxLength = 100; + DamagesPaidTok: Label 'Damages Paid', MaxLength = 100; + BadDebtLossesTok: Label 'Bad Debt Losses', MaxLength = 100; + SecurityServicesTok: Label 'Security services', MaxLength = 100; + OtherRiskExpensesTok: Label 'Other risk expenses', MaxLength = 100; + TotalInsurancesAndRisksTok: Label 'Total, Insurances and Risks', MaxLength = 100; + ManagementAndAdminTok: Label 'Management and Admin', MaxLength = 100; + ManagementTok: Label 'Management', MaxLength = 100; + RemunerationToDirectorsTok: Label 'Remuneration to Directors', MaxLength = 100; + ManagementFeesTok: Label 'Management Fees', MaxLength = 100; + AnnualInterrimReportsTok: Label 'Annual/interrim Reports', MaxLength = 100; + AnnualGeneralMeetingTok: Label 'Annual/general meeting', MaxLength = 100; + AuditAndAuditServicesTok: Label 'Audit and Audit Services', MaxLength = 100; + TaxAdvisoryServicesTok: Label 'Tax advisory Services', MaxLength = 100; + TotalManagementFeesTok: Label 'Total, Management Fees', MaxLength = 100; + TotalManagementAndAdminTok: Label 'Total, Management and Admin', MaxLength = 100; + BankingAndInterestTok: Label 'Banking and Interest', MaxLength = 100; + BankingFeesTok: Label 'Banking fees', MaxLength = 100; + PayableInvoiceRoundingTok: Label 'Payable Invoice Rounding', MaxLength = 100; + TotalBankingAndInterestTok: Label 'Total, Banking and Interest', MaxLength = 100; + ExternalServicesExpensesTok: Label 'External Services/Expenses', MaxLength = 100; + ExternalServicesTok: Label 'External Services', MaxLength = 100; + AccountingServicesTok: Label 'Accounting Services', MaxLength = 100; + ITServicesTok: Label 'IT Services', MaxLength = 100; + MediaServicesTok: Label 'Media Services', MaxLength = 100; + ConsultingServicesTok: Label 'Consulting Services', MaxLength = 100; + LegalFeesAndAttorneyServicesTok: Label 'Legal Fees and Attorney Services', MaxLength = 100; + OtherExternalServicesTok: Label 'Other External Services', MaxLength = 100; + TotalExternalServicesTok: Label 'Total, External Services', MaxLength = 100; + OtherExternalExpensesTok: Label 'Other External Expenses', MaxLength = 100; + LicenseFeesRoyaltiesTok: Label 'License Fees/Royalties', MaxLength = 100; + TrademarksPatentsTok: Label 'Trademarks/Patents', MaxLength = 100; + AssociationFeesTok: Label 'Association Fees', MaxLength = 100; + MiscExternalExpensesTok: Label 'Misc. external expenses', MaxLength = 100; + PurchaseDiscountsTok: Label 'Purchase Discounts', MaxLength = 100; + TotalOtherExternalExpensesTok: Label 'Total, Other External Expenses', MaxLength = 100; + TotalExternalServicesExpensesTok: Label 'Total, External Services/Expenses', MaxLength = 100; + WagesAndSalariesTok: Label 'Wages and Salaries', MaxLength = 100; + HourlyWagesTok: Label 'Hourly Wages', MaxLength = 100; + OvertimeWagesTok: Label 'Overtime Wages', MaxLength = 100; + BonusesTok: Label 'Bonuses', MaxLength = 100; + CommissionsPaidTok: Label 'Commissions Paid', MaxLength = 100; + PTOAccruedTok: Label 'PTO Accrued', MaxLength = 100; + PayrollTaxExpenseTok: Label 'Payroll Tax Expense', MaxLength = 100; + TotalWagesAndSalariesTok: Label 'Total, Wages and Salaries', MaxLength = 100; + BenefitsPensionTok: Label 'Benefits/Pension', MaxLength = 100; + BenefitsTok: Label 'Benefits', MaxLength = 100; + TrainingCostsTok: Label 'Training Costs', MaxLength = 100; + HealthCareContributionsTok: Label 'Health Care Contributions', MaxLength = 100; + EntertainmentOfpersonnelTok: Label 'Entertainment of personnel', MaxLength = 100; + MandatoryClothingExpensesTok: Label 'Mandatory clothing expenses', MaxLength = 100; + OtherCashRemunerationBenefitsTok: Label 'Other cash/remuneration benefits', MaxLength = 100; + TotalBenefitsTok: Label 'Total, Benefits', MaxLength = 100; + PensionTok: Label 'Pension', MaxLength = 100; + PensionFeesAndRecurringCostsTok: Label 'Pension fees and recurring costs', MaxLength = 100; + EmployerContributionsTok: Label 'Employer Contributions', MaxLength = 100; + TotalPensionTok: Label 'Total, Pension', MaxLength = 100; + TotalBenefitsPensionTok: Label 'Total, Benefits/Pension', MaxLength = 100; + InsurancesPersonnelTok: Label 'Insurances, Personnel', MaxLength = 100; + HealthInsuranceTok: Label 'Health Insurance', MaxLength = 100; + DentalInsuranceTok: Label 'Dental Insurance', MaxLength = 100; + WorkersCompensationTok: Label 'Workers Compensation', MaxLength = 100; + LifeInsuranceTok: Label 'Life Insurance', MaxLength = 100; + TotalInsurancesPersonnelTok: Label 'Total, Insurances, Personnel', MaxLength = 100; + DepreciationLandAndPropertyTok: Label 'Depreciation, Land and Property', MaxLength = 100; + DepreciationFixedAssetsTok: Label 'Depreciation, Fixed Assets', MaxLength = 100; + MiscExpensesTok: Label 'Misc. Expenses', MaxLength = 100; + CurrencyLossesTok: Label 'Currency Losses', MaxLength = 100; + TotalMiscExpensesTok: Label 'Total, Misc. Expenses', MaxLength = 100; + TotalExpensesTok: Label 'TOTAL EXPENSES', MaxLength = 100; + IntangibleFixedAssetsTok: Label 'Intangible Fixed Assets', MaxLength = 100; + DevelopmentExpenditureTok: Label 'Development Expenditure', MaxLength = 100; + TenancySiteLeaseholdAndSimilarRightsTok: Label 'Tenancy, Site Leasehold and similar rights', MaxLength = 100; + GoodwillTok: Label 'Goodwill', MaxLength = 100; + AdvancedPaymentsForIntangibleFixedAssetsTok: Label 'Advanced Payments for Intangible Fixed Assets', MaxLength = 100; + TotalIntangibleFixedAssetsTok: Label 'Total, Intangible Fixed Assets', MaxLength = 100; + BuildingTok: Label 'Building', MaxLength = 100; + CostOfImprovementsToLeasedPropertyTok: Label 'Cost of Improvements to Leased Property', MaxLength = 100; + LandTok: Label 'Land ', MaxLength = 100; + MachineryAndEquipmentTok: Label 'Machinery and Equipment', MaxLength = 100; + EquipmentsAndToolsTok: Label 'Equipments and Tools', MaxLength = 100; + ComputersTok: Label 'Computers', MaxLength = 100; + CarsAndOtherTransportEquipmentsTok: Label 'Cars and other Transport Equipments', MaxLength = 100; + LeasedAssetsTok: Label 'Leased Assets', MaxLength = 100; + TotalMachineryAndEquipmentTok: Label 'Total, Machinery and Equipment', MaxLength = 100; + AccumulatedDepreciationTok: Label 'Accumulated Depreciation', MaxLength = 100; + FinancialAndFixedAssetsTok: Label 'Financial and Fixed Assets', MaxLength = 100; + LongTermReceivablesTok: Label 'Long-term Receivables ', MaxLength = 100; + ParticipationinGroupCompaniesTok: Label 'Participation in Group Companies', MaxLength = 100; + LoansToPartnersOrRelatedPartiesTok: Label 'Loans to Partners or related Parties', MaxLength = 100; + DeferredTaxAssetsTok: Label 'Deferred Tax Assets', MaxLength = 100; + OtherLongTermReceivablesTok: Label 'Other Long-term Receivables', MaxLength = 100; + TotalFinancialAndFixedAssetsTok: Label 'Total, Financial and Fixed Assets', MaxLength = 100; + InventoriesProductsAndWorkInProgressTok: Label 'Inventories, Products and work in Progress', MaxLength = 100; + SuppliesAndConsumablesTok: Label 'Supplies and Consumables', MaxLength = 100; + ProductsInProgressTok: Label 'Products in Progress', MaxLength = 100; + GoodsForResaleTok: Label 'Goods for Resale', MaxLength = 100; + AdvancedPaymentsForGoodsAndServicesTok: Label 'Advanced Payments for goods and services', MaxLength = 100; + OtherInventoryItemsTok: Label 'Other Inventory Items', MaxLength = 100; + WorkInProgressTok: Label 'Work in Progress', MaxLength = 100; + WorkInProgressFinishedGoodsTok: Label 'Work in Progress, Finished Goods', MaxLength = 100; + WIPAccruedCostsTok: Label 'WIP, Accrued Costs', MaxLength = 100; + WIPInvoicedSalesTok: Label 'WIP, Invoiced Sales', MaxLength = 100; + TotalWorkInProgressTok: Label 'Total, Work in Progress', MaxLength = 100; + TotalInventoryProductsAndWorkInProgressTok: Label 'Total, Inventory, Products and Work in Progress', MaxLength = 100; + ReceivablesTok: Label 'Receivables', MaxLength = 100; + ContractualReceivablesTok: Label 'Contractual Receivables', MaxLength = 100; + ConsignmentReceivablesTok: Label 'Consignment Receivables', MaxLength = 100; + CreditCardsAndVouchersReceivablesTok: Label 'Credit cards and Vouchers Receivables', MaxLength = 100; + OtherCurrentReceivablesTok: Label 'Other Current Receivables', MaxLength = 100; + CurrentReceivableFromEmployeesTok: Label 'Current Receivable from Employees', MaxLength = 100; + AccruedIncomeNotYetInvoicedTok: Label 'Accrued income not yet invoiced', MaxLength = 100; + ClearingAccountsForTaxesAndchargesTok: Label 'Clearing Accounts for Taxes and charges', MaxLength = 100; + TaxAssetsTok: Label 'Tax Assets', MaxLength = 100; + PurchaseVATReducedTok: Label 'Purchase VAT Reduced', MaxLength = 100; + PurchaseVATNormalTok: Label 'Purchase VAT Normal', MaxLength = 100; + MiscVATReceivablesTok: Label 'Misc VAT Receivables', MaxLength = 100; + CurrentReceivablesFromGroupCompaniesTok: Label 'Current Receivables from group companies', MaxLength = 100; + TotalOtherCurrentReceivablesTok: Label 'Total, Other Current Receivables', MaxLength = 100; + TotalReceivablesTok: Label 'Total, Receivables', MaxLength = 100; + PrepaidExpensesAndAccruedIncomeTok: Label 'Prepaid expenses and Accrued Income', MaxLength = 100; + PrepaidRentTok: Label 'Prepaid Rent', MaxLength = 100; + PrepaidInterestexpenseTok: Label 'Prepaid Interest expense', MaxLength = 100; + AccruedRentalIncomeTok: Label 'Accrued Rental Income', MaxLength = 100; + AccruedInterestIncomeTok: Label 'Accrued Interest Income', MaxLength = 100; + AssetsInTheFormOfPrepaidExpensesTok: Label 'Assets in the form of prepaid expenses', MaxLength = 100; + OtherPrepaidExpensesAndAccruedIncomeTok: Label 'Other prepaid expenses and accrued income', MaxLength = 100; + TotalPrepaidExpensesAndAccruedIncomeTok: Label 'Total, Prepaid expenses and Accrued Income', MaxLength = 100; + ShortTermInvestmentsTok: Label 'Short-term investments', MaxLength = 100; + ConvertibleDebtInstrumentsTok: Label 'Convertible debt instruments', MaxLength = 100; + OtherShortTermInvestmentsTok: Label 'Other short-term Investments', MaxLength = 100; + WriteDownOfShortTermInvestmentsTok: Label 'Write-down of Short-term investments', MaxLength = 100; + TotalShortTermInvestmentsTok: Label 'Total, short term investments', MaxLength = 100; + CashAndBankTok: Label 'Cash and Bank', MaxLength = 100; + BusinessAccountOperatingDomesticTok: Label 'Business account, Operating, Domestic', MaxLength = 100; + BusinessAccountOperatingForeignTok: Label 'Business account, Operating, Foreign', MaxLength = 100; + OtherBankAccountsTok: Label 'Other bank accounts ', MaxLength = 100; + CertificateOfDepositTok: Label 'Certificate of Deposit', MaxLength = 100; + TotalCashAndBankTok: Label 'Total, Cash and Bank', MaxLength = 100; + BondsAndDebentureLoansTok: Label 'Bonds and Debenture Loans', MaxLength = 100; + ConvertiblesLoansTok: Label 'Convertibles Loans', MaxLength = 100; + OtherLongTermLiabilitiesTok: Label 'Other Long-term Liabilities', MaxLength = 100; + BankOverdraftFacilitiesTok: Label 'Bank overdraft Facilities', MaxLength = 100; + CurrentLiabilitiesTok: Label 'Current Liabilities', MaxLength = 100; + AdvancesFromCustomersTok: Label 'Advances from customers', MaxLength = 100; + ChangeInWorkInProgressTok: Label 'Change in Work in Progress', MaxLength = 100; + BankOverdraftShortTermTok: Label 'Bank overdraft short-term', MaxLength = 100; + DeferredRevenueTok: Label 'Deferred Revenue', MaxLength = 100; + TotalCurrentLiabilitiesTok: Label 'Total, Current Liabilities', MaxLength = 100; + TaxLiabilitiesTok: Label 'Tax Liabilities', MaxLength = 100; + TaxesLiableTok: Label 'Taxes Liable', MaxLength = 100; + SalesVATReducedTok: Label 'Sales VAT Reduced', MaxLength = 100; + SalesVATNormalTok: Label 'Sales VAT Normal', MaxLength = 100; + MiscVATPayablesTok: Label 'Misc VAT Payables', MaxLength = 100; + EstimatedIncomeTaxTok: Label 'Estimated Income Tax', MaxLength = 100; + EstimatedRealEstateTaxRealEstateChargeTok: Label 'Estimated real-estate Tax/Real-estate charge ', MaxLength = 100; + EstimatedPayrollTaxOnPensionCostsTok: Label 'Estimated Payroll tax on Pension Costs', MaxLength = 100; + TotalTaxLiabilitiesTok: Label 'Total, Tax Liabilities', MaxLength = 100; + PayrollLiabilitiesTok: Label 'Payroll Liabilities', MaxLength = 100; + EmployeesWithholdingTaxesTok: Label 'Employees Withholding Taxes', MaxLength = 100; + StatutorySocialSecurityContributionsTok: Label 'Statutory Social security Contributions', MaxLength = 100; + ContractualSocialSecurityContributionsTok: Label 'Contractual Social security Contributions', MaxLength = 100; + AttachmentsOfEarningTok: Label 'Attachments of Earning', MaxLength = 100; + HolidayPayfundTok: Label 'Holiday Pay fund', MaxLength = 100; + OtherSalaryWageDeductionsTok: Label 'Other Salary/wage Deductions', MaxLength = 100; + TotalPayrollLiabilitiesTok: Label 'Total, Payroll Liabilities', MaxLength = 100; + OtherCurrentLiabilitiesTok: Label 'Other Current Liabilities', MaxLength = 100; + ClearingAccountForFactoringCurrentPortionTok: Label 'Clearing Account for Factoring, Current Portion', MaxLength = 100; + CurrentLiabilitiesToEmployeesTok: Label 'Current Liabilities to Employees', MaxLength = 100; + ClearingAccountForThirdPartyTok: Label 'Clearing Account for third party', MaxLength = 100; + CurrentLoansTok: Label 'Current Loans', MaxLength = 100; + LiabilitiesGrantsReceivedTok: Label 'Liabilities, Grants Received ', MaxLength = 100; + TotalOtherCurrentLiabilitiesTok: Label 'Total, Other Current Liabilities', MaxLength = 100; + AccruedExpensesAndDeferredIncomeTok: Label 'Accrued Expenses and Deferred Income', MaxLength = 100; + AccruedWagesSalariesTok: Label 'Accrued wages/salaries', MaxLength = 100; + AccruedHolidayPayTok: Label 'Accrued Holiday pay', MaxLength = 100; + AccruedPensionCostsTok: Label 'Accrued Pension costs', MaxLength = 100; + AccruedInterestExpenseTok: Label 'Accrued Interest Expense', MaxLength = 100; + DeferredIncomeTok: Label 'Deferred Income', MaxLength = 100; + AccruedContractualCostsTok: Label 'Accrued Contractual costs', MaxLength = 100; + OtherAccruedExpensesAndDeferredIncomeTok: Label 'Other Accrued Expenses and Deferred Income', MaxLength = 100; + TotalAccruedExpensesAndDeferredIncomeTok: Label 'Total, Accrued Expenses and Deferred Income', MaxLength = 100; + EquityTok: Label 'Equity', MaxLength = 100; + EquityPartnerTok: Label 'Equity Partner ', MaxLength = 100; + NetResultsTok: Label 'Net Results ', MaxLength = 100; + RestrictedEquityTok: Label 'Restricted Equity ', MaxLength = 100; + ShareCapitalTok: Label 'Share Capital ', MaxLength = 100; + DividendsTok: Label 'Dividends', MaxLength = 100; + NonRestrictedEquityTok: Label 'Non-Restricted Equity', MaxLength = 100; + ProfitOrLossFromThePreviousYearTok: Label 'Profit or loss from the previous year', MaxLength = 100; + ResultsForTheFinancialyearTok: Label 'Results for the Financial year', MaxLength = 100; + TotalEquityTok: Label ' Total, Equity', MaxLength = 100; + InvoiceRoundingTok: Label 'Invoice Rounding, Sales', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGenJournalBatch.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGenJournalBatch.Codeunit.al new file mode 100644 index 0000000000..8f146c1b45 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGenJournalBatch.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11488 "Create GB Gen. Journal Batch" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateGenJournalBatch(); + end; + + local procedure UpdateGenJournalBatch() + var + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + begin + ValidateRecordFields(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Monthly(), CreateGBGLAccounts.BusinessAccountOperatingDomestic()); + ValidateRecordFields(CreateGenJournalTemplate.CashReceipts(), CreateGenJournalBatch.General(), CreateGBGLAccounts.BusinessAccountOperatingDomestic()); + ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.Cash(), CreateGBGLAccounts.BusinessAccountOperatingDomestic()); + ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.General(), CreateGBGLAccounts.BusinessAccountOperatingDomestic()); + end; + + local procedure ValidateRecordFields(JournalTemplateName: Code[10]; BatchName: Code[10]; BalAccountNo: Code[20]) + var + GenJournalBatch: Record "Gen. Journal Batch"; + begin + GenJournalBatch.Get(JournalTemplateName, BatchName); + GenJournalBatch.Validate("Bal. Account No.", BalAccountNo); + GenJournalBatch.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGenPostingSetup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGenPostingSetup.Codeunit.al new file mode 100644 index 0000000000..ddbcfc9a90 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGenPostingSetup.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 10512 "Create GB Gen Posting Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', '', '', '', '', CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ZeroPostingGroup(), '', '', CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', '', '', '', '', CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGBGLAccounts.SaleOfFinishedGoods(), CreateGBGLAccounts.GoodsForResale(), CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGBGLAccounts.SaleOfResources(), CreateGBGLAccounts.MiscExternalExpenses(), CreateGBGLAccounts.CostOfLabor(), CreateGBGLAccounts.MiscExternalExpenses(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfLabor(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateGBGLAccounts.SaleOfFinishedGoods(), CreateGBGLAccounts.GoodsForResale(), CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGBGLAccounts.SaleOfFinishedGoods(), CreateGBGLAccounts.GoodsForResale(), CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGBGLAccounts.SaleOfResources(), CreateGBGLAccounts.MiscExternalExpenses(), CreateGBGLAccounts.CostOfLabor(), CreateGBGLAccounts.MiscExternalExpenses(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfLabor(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateGBGLAccounts.SaleOfFinishedGoods(), CreateGBGLAccounts.GoodsForResale(), CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGBGLAccounts.SaleOfFinishedGoods(), CreateGBGLAccounts.GoodsForResale(), CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGBGLAccounts.SaleOfResources(), CreateGBGLAccounts.MiscExternalExpenses(), CreateGBGLAccounts.CostOfLabor(), CreateGBGLAccounts.MiscExternalExpenses(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfLabor(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateGBGLAccounts.SaleOfFinishedGoods(), CreateGBGLAccounts.GoodsForResale(), CreateGBGLAccounts.CostOfMaterials(), CreateGBGLAccounts.GoodsForResale(), '', '', CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.CostOfMaterials(), '', ''); + ContosoGenPostingSetup.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGeneralLedgerSetup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..34163f16a8 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 10518 "Create GB General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("Local Address Format", GeneralLedgerSetup."Local Address Format"::"City+County+Post Code"); + GeneralLedgerSetup.Validate("Hide Payment Method Code", true); + GeneralLedgerSetup.Validate("Max. VAT Difference Allowed", 10); + GeneralLedgerSetup.Validate("Payment Tolerance %", 0.1); + GeneralLedgerSetup.Validate("Max. Payment Tolerance Amount", 1); + GeneralLedgerSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATPostingGroup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATPostingGroup.Codeunit.al new file mode 100644 index 0000000000..23439277c9 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATPostingGroup.Codeunit.al @@ -0,0 +1,68 @@ +codeunit 10513 "Create GB VAT Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Product Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "VAT Product Posting Group"; RunTrigger: Boolean) + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + case Rec.Code of + CreateVATPostingGroups.FullNormal(): + ValidateRecordFields(Rec, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '20')); + CreateVATPostingGroups.FullRed(): + ValidateRecordFields(Rec, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '5')); + CreateVATPostingGroups.Reduced(): + ValidateRecordFields(Rec, StrSubstNo(ReducedVatDescriptionLbl, '5')); + CreateVATPostingGroups.ServNormal(): + ValidateRecordFields(Rec, StrSubstNo(MiscellaneousVATDescriptionLbl, '20')); + CreateVATPostingGroups.ServRed(): + ValidateRecordFields(Rec, StrSubstNo(MiscellaneousVATDescriptionLbl, '5')); + CreateVATPostingGroups.Standard(): + ValidateRecordFields(Rec, StrSubstNo(NormalVatDescriptionLbl, '20')); + end; + end; + + local procedure ValidateRecordFields(var VATProductPostingGroup: Record "VAT Product Posting Group"; Description: Text[100]) + begin + VATProductPostingGroup.Validate(Description, Description); + end; + + procedure UpdateVATPostingSetup() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Reduced(), CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Standard(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Zero(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', CreateVATPostingGroups.zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 5, Enum::"Tax Calculation Type"::"Normal VAT", STaxCategoryLbl, '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 20, Enum::"Tax Calculation Type"::"Normal VAT", STaxCategoryLbl, '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', CreateVATPostingGroups.Zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", STaxCategoryLbl, '', CreateVATPostingGroups.Reduced(), true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 20, Enum::"Tax Calculation Type"::"Reverse Charge VAT", STaxCategoryLbl, CreateGBGLAccounts.PurchaseVATNormal(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Zero(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', CreateVATPostingGroups.Zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Zero(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", ETaxCategoryLbl, '', CreateVATPostingGroups.Zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullNormal(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.FullNormal(), 100, Enum::"Tax Calculation Type"::"Full VAT", STaxCategoryLbl, '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullRed(), CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.FullRed(), 100, Enum::"Tax Calculation Type"::"Full VAT", STaxCategoryLbl, '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.ServRed(), CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.ServRed(), 5, Enum::"Tax Calculation Type"::"Normal VAT", STaxCategoryLbl, '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.ServNormal(), CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.ServNormal(), 20, Enum::"Tax Calculation Type"::"Reverse Charge VAT", STaxCategoryLbl, CreateGBGLAccounts.PurchaseVATNormal(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.ServRed(), CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.ServRed(), 5, Enum::"Tax Calculation Type"::"Reverse Charge VAT", STaxCategoryLbl, CreateGBGLAccounts.PurchaseVATReduced(), '', true); + ContosoPostingSetup.SetOverwriteData(false); + end; + + var + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Standard VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Reduced VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + STaxCategoryLbl: Label 'S', Locked = true; + ETaxCategoryLbl: Label 'E', Locked = true; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATReportSetup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATReportSetup.Codeunit.al new file mode 100644 index 0000000000..5c7b733a0b --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATReportSetup.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 10525 "Create GB VAT Report Setup" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + begin + ContosoVATStatement.InsertVATReportConfiguration(Enum::"VAT Report Configuration"::"VAT Return", GovTalkVersion(), Codeunit::"VAT Report Suggest Lines", Codeunit::"GovTalk VAT Report Validate"); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Reports Configuration", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "VAT Reports Configuration"; RunTrigger: Boolean) + var + CreateVATReportSetup: Codeunit "Create VAT Report Setup"; + begin + if (Rec."VAT Report Type" = Rec."VAT Report Type"::"EC Sales List") and (Rec."VAT Report Version" = CreateVATReportSetup.CurrentVersion()) then + Rec.Validate("Submission Codeunit ID", Codeunit::"EC Sales List Submit"); + + if (Rec."VAT Report Type" = Rec."VAT Report Type"::"VAT Return") and (Rec."VAT Report Version" = GovTalkVersion()) then begin + Rec.Validate("Content Codeunit ID", Codeunit::"Create VAT Declaration Request"); + Rec.Validate("Submission Codeunit ID", Codeunit::"Submit VAT Declaration Request"); + end; + end; + + procedure GovTalkVersion(): Code[10] + begin + exit(GovTalkVersionTok); + end; + + var + GovTalkVersionTok: Label 'GOVTALK', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATSetupPostGrp.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATSetupPostGrp.Codeunit.al new file mode 100644 index 0000000000..b2991f1e52 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/1.Setup Data/CreateGBVATSetupPostGrp.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 11491 "Create GB VAT Setup Post. Grp." +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Setup Posting Groups", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "VAT Setup Posting Groups"; RunTrigger: Boolean) + var + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + if (Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.FullNormal()) and (Rec.Default) then + ValidateRecordFields(Rec, 100, CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), FullNormalDescLbl, 1); + + if (Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.FullRed()) and (Rec.Default) then + ValidateRecordFields(Rec, 100, CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), FullReducedDescLbl, 1); + + if (Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Reduced()) and (Rec.Default) then + ValidateRecordFields(Rec, 5, CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), ReducedDescLbl, 1); + + if (Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.ServNormal()) and (Rec.Default) then + ValidateRecordFields(Rec, 20, CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), ServNormalDescLbl, 2); + + if (Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.ServRed()) and (Rec.Default) then + ValidateRecordFields(Rec, 5, CreateGBGLAccounts.SalesVATReduced(), CreateGBGLAccounts.PurchaseVATReduced(), ServReducedDescLbl, 2); + + if (Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Standard()) and (Rec.Default) then + ValidateRecordFields(Rec, 20, CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATNormal(), StandardDescLbl, 1); + + if (Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Zero()) and (Rec.Default) then + ValidateRecordFields(Rec, 0, CreateGBGLAccounts.SalesVATNormal(), CreateGBGLAccounts.PurchaseVATReduced(), ZeroDescLbl, 1); + end; + + local procedure ValidateRecordFields(var VATSetupPostingGroups: Record "VAT Setup Posting Groups"; VATPercent: Decimal; SalesVATAccount: Code[20]; PurchaseVATAccount: Code[20]; VATProdPostingGrpDesc: Text[100]; ApplicationType: Integer) + begin + VATSetupPostingGroups.Validate("VAT %", VATPercent); + VATSetupPostingGroups.Validate("Sales VAT Account", SalesVATAccount); + VATSetupPostingGroups.Validate("Purchase VAT Account", PurchaseVATAccount); + VATSetupPostingGroups.Validate("VAT Prod. Posting Grp Desc.", VATProdPostingGrpDesc); + VATSetupPostingGroups.Validate("Application Type", ApplicationType); + end; + + var + FullNormalDescLbl: Label ' Setup for DOMESTIC / FULL NORM', MaxLength = 100; + FullReducedDescLbl: Label ' Setup for DOMESTIC / FULL RED', MaxLength = 100; + ReducedDescLbl: Label ' Setup for EXPORT / REDUCED', MaxLength = 100; + ServNormalDescLbl: Label ' Setup for EU / SERV NORM', MaxLength = 100; + ServReducedDescLbl: Label ' Setup for EU / SERV RED', MaxLength = 100; + StandardDescLbl: Label ' Setup for EXPORT / STANDARD', MaxLength = 100; + ZeroDescLbl: Label ' Setup for EXPORT / ZERO', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBColumnLayout.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBColumnLayout.Codeunit.al new file mode 100644 index 0000000000..74cdc2e1d5 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBColumnLayout.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 10516 "Create GB Column Layout" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoGBAccountSchedule: Codeunit "Contoso GB Account Schedule"; + CreateGBColumnLayoutName: Codeunit "Create GB Column Layout Name"; + begin + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceBudget(), 10000, 'N', BalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceBudget(), 20000, 'B', BudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceBudget(), 30000, '', VarianceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'N-B', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceBudget(), 40000, '', VariancePercentageLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '100*(N/B-1)', false, Enum::"Column Layout Show"::Always, '', ''); + + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceLastYear(), 10000, 'N', BalanceThisYearLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceLastYear(), 20000, 'L', BalanceLastYearLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', '<-1Y>'); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceLastYear(), 30000, '', VarianceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'N-L', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.BalanceLastYear(), 40000, '', VariancePercentageLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '100*(N/L-1)', false, Enum::"Column Layout Show"::Always, '', ''); + + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeBudget(), 10000, 'N', NetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', true, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeBudget(), 20000, 'B', BudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', true, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeBudget(), 30000, '', VarianceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'B-N', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeBudget(), 40000, '', VariancePercentageLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '100*(N/B-1)', false, Enum::"Column Layout Show"::Always, '', ''); + + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeLastYear(), 10000, 'N', NetChangeThisYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', true, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeLastYear(), 20000, 'L', NetChangeLastYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', true, Enum::"Column Layout Show"::Always, '', '<-1Y>'); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeLastYear(), 30000, '', VarianceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'L-N', false, Enum::"Column Layout Show"::Always, '', ''); + ContosoGBAccountSchedule.InsertColumnLayout(CreateGBColumnLayoutName.NetChangeLastYear(), 40000, '', VariancePercentageLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '100*(N/L-1)', false, Enum::"Column Layout Show"::Always, '', ''); + end; + + var + BalanceLbl: Label 'Balance', MaxLength = 30; + BudgetLbl: Label 'Budget', MaxLength = 30; + VarianceLbl: Label 'Variance', MaxLength = 30; + VariancePercentageLbl: Label 'Variance%', MaxLength = 30; + BalanceThisYearLbl: Label 'Balance This Year', MaxLength = 30; + BalanceLastYearLbl: Label 'Balance Last Year', MaxLength = 30; + NetChangeLbl: Label 'Net Change', MaxLength = 30; + NetChangeThisYearLbl: Label 'Net Change This Year', MaxLength = 30; + NetChangeLastYearLbl: Label 'Net Change Last Year', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBCurrency.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBCurrency.Codeunit.al new file mode 100644 index 0000000000..9f25b0dc35 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBCurrency.Codeunit.al @@ -0,0 +1,72 @@ +codeunit 11500 "Create GB Currency" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(), + CreateCurrency.RUB(), + CreateCurrency.GBP(): + ValidateRecordFields(Rec, CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBResource.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBResource.Codeunit.al new file mode 100644 index 0000000000..1ea8a370d3 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBResource.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 11501 "Create GB Resource" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record Resource; RunTrigger: Boolean) + var + CreateResource: Codeunit "Create Resource"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Lina(), + CreateResource.Marty(), + CreateResource.Terry(): + ValidateRecordFields(Rec, AtlantaLbl, USGA31772Lbl, ''); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; PostCode: Code[20]; County: Code[10]) + begin + Resource.Validate(City, City); + Resource.Validate("Post Code", PostCode); + Resource.Validate(County, County); + end; + + var + AtlantaLbl: Label 'Atlanta', MaxLength = 30; + USGA31772Lbl: Label 'US-GA 31772', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBVATStatement.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBVATStatement.Codeunit.al new file mode 100644 index 0000000000..767a0013e4 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Finance/2.Master Data/CreateGBVATStatement.Codeunit.al @@ -0,0 +1,354 @@ +codeunit 10526 "Create GB VAT Statement" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + ContosoVatStatement.InsertVATStatementTemplate(VATGBTemplateName(), VATReturnDescLbl, Page::"VAT Statement", Report::"VAT Statement"); + + ContosoVatStatement.InsertVATStatementName(VATGBTemplateName(), StatementNameLbl, StatementNameDescLbl); + CreateVATStatementLine(); + end; + + local procedure CreateVATStatementLine() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 780000, '001', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '020|030', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VatDueOnSalesAndOtherOutputsLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 790000, '002', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '090|100', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VatOnGoodsAcquiredInNorthernIrelandFromEuLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 800000, '003', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '001|002', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalVatDueLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 810000, '004', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '040|050|070|080', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalVatDueInclEuAcquisitionsLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 820000, '005', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '020|030|070|080', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, NetVatToBePaidOrToBeReclaimedLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 830000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 840000, '006', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '110|120|170|180|190|008', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalValueOfSalesExclVatInclRow8Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 850000, '007', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '210|220|270|280|290|009', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalValueOfPurchasesExclVatInclRow9Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 860000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 870000, '008', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '140|150', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOfGoodsExVatFromNorthernIrelandToEuLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 880000, '009', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '240|250', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, GoodsExVatAcquiredInNorthernIrelandFromEuLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 890000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 900000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeperationLineLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 910000, '011', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, Sales20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 920000, '012', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullNormal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, Sales20FullLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 930000, '020', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '011..019', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, Sales20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 940000, '021', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, Sales5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 950000, '022', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullRed(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, Sales5FullLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 960000, '030', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '021..029', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, Sales5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 970000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 980000, '031', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, EuAcquisitions20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 990000, '040', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '031..039', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, EuAcquisitions20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1000000, '041', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, EuAcquisitions5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1010000, '050', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '041..049', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, EuAcquisitions5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1020000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1030000, '061', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, PurchaseVat20DomesticLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1040000, '062', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullNormal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, PurchaseVat20FullDomesticLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1050000, '070', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '061..069', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, Purchase20DomesticTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1060000, '071', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, PurchaseVat5DomesticLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1070000, '072', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullRed(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, Purchase5DomesticTotalFullLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1080000, '080', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '071..079', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, Purchase5DomesticTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1090000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1100000, '081', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, false, 1, EuAcquisitions20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1110000, '090', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '081..089', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, EuAcquisitions20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1120000, '091', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, false, 1, EuAcquisitions5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1130000, '100', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '091..099', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, EuAcquisitions5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1140000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1150000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1160000, '101', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, ValueOfDomesticSales20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1170000, '110', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '101..109', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOfDomesticSales20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1180000, '111', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, ValueOfDomesticSales5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1190000, '120', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '111..119', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOfDomesticSales5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1200000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1210000, '131', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, ValueOfEuSupplies20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1220000, '140', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '131..139', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOfEuSupplies20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1230000, '141', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, ValueOfEuSupplies5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1240000, '150', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '141..149', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOfEuSupplies5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1250000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1260000, '161', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, ValueOfOverseasSales20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1270000, '170', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '161..169', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOfOverseasSales20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1280000, '171', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, ValueOfOverseasSales5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1290000, '180', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '171..179', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ValueOfOverseasSales5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1300000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1310000, '190', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, true, 1, ValueOfNonVatLiableSalesLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1320000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1330000, '201', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, ValueOfDomesticPurchases20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1340000, '210', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '201..209', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueOfDomesticPurchases20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1350000, '211', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, ValueOfDomesticPurchases5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1360000, '220', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '211..219', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueOfDomesticPurchases5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1370000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1380000, '231', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, ValueOfEuAcquisitions20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1390000, '240', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '231..239', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueOfEuAcquisitions20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1400000, '241', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, ValueOfEuAcquisitions5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1410000, '250', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '241..249', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueOfEuAcquisitions5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1420000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1430000, '261', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, ValueOfOverseasPurchases20Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1440000, '270', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '261..269', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueOfOverseasPurchases20TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1450000, '271', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, ValueOfOverseasPurchases5Lbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1460000, '280', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '271..279', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ValueOfOverseasPurchases5TotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1470000, '', Enum::"VAT Statement Line Type"::"Description", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATGBTemplateName(), StatementNameLbl, 1480000, '290', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, true, 0, ValueOfNonVatLiablePurchasesLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "VAT Statement Line") + var + CreateVATStatement: Codeunit "Create VAT Statement"; + begin + if (Rec."Statement Template Name" = CreateVATStatement.VATTemplateName()) and (Rec."Statement Name" = StatementNameLbl) then + case + Rec."Line No." of + 10000: + Rec.Validate("Box No.", '1'); + 20000: + Rec.Validate("Box No.", '2'); + 40000: + Rec.Validate("Box No.", '3'); + 50000: + Rec.Validate("Box No.", '4'); + 70000: + begin + Rec.Validate(Description, NetVatPaidLbl); + Rec.Validate("Box No.", '5'); + end; + 90000: + begin + Rec.Validate("Row Totaling", '110|120|170|180|190|008'); + Rec.Validate("Box No.", '6'); + end; + 110000: + begin + Rec.Validate("Row Totaling", '210|220|270|280|290|009'); + Rec.Validate("Box No.", '7'); + end; + 140000: + Rec.Validate("Box No.", '8'); + 160000: + Rec.Validate("Box No.", '9'); + 200000: + Rec.Validate(Description, SalesStandardLbl); + 210000: + Rec.Validate(Description, SalesStandardFullLbl); + 220000: + Rec.Validate(Description, SalesStandardTotalLbl); + 230000: + Rec.Validate(Description, SalesReducedLbl); + 240000: + Rec.Validate(Description, SalesReducedFullLbl); + 250000: + Rec.Validate(Description, SalesReducedTotalLbl); + 270000: + Rec.Validate(Description, EUStandardLbl); + 280000: + Rec.Validate(Description, EUStandardTotalLbl); + 290000: + Rec.Validate(Description, EUReducedLbl); + 300000: + Rec.Validate(Description, EUReducedTotalLbl); + 320000: + Rec.Validate(Description, PurchaseStandardLbl); + 330000: + Rec.Validate(Description, PurchaseStandardFullLbl); + 340000: + Rec.Validate(Description, PurchaseStandardTotalLbl); + 350000: + Rec.Validate(Description, PurchaseReducedLbl); + 360000: + Rec.Validate(Description, PurchaseReducedFullLbl); + 370000: + Rec.Validate(Description, PurchaseReducedTotalLbl); + 390000: + Rec.Validate(Description, EUStandardLbl); + 400000: + Rec.Validate(Description, EUStandardTotalLbl); + 410000: + Rec.Validate(Description, EUReducedLbl); + 420000: + Rec.Validate(Description, EUReducedTotalLbl); + 450000: + Rec.Validate(Description, DomesticStandardSalesLbl); + 460000: + Rec.Validate(Description, DomesticStandardTotalLbl); + 470000: + Rec.Validate(Description, DomesticReducedValueLbl); + 480000: + Rec.Validate(Description, DomesticReducedTotalLbl); + 500000: + Rec.Validate(Description, EUStandardSuppliesLbl); + 510000: + Rec.Validate(Description, EUStandardSuppliesTotalLbl); + 520000: + Rec.Validate(Description, EUReducedSuppliesLbl); + 530000: + Rec.Validate(Description, EUReducedSuppliesTotalLbl); + 550000: + Rec.Validate(Description, OverseasSalesValueLbl); + 560000: + Rec.Validate(Description, OverseasSalesTotalLbl); + 570000: + Rec.Validate(Description, OverseasSalesReducedLbl); + 580000: + Rec.Validate(Description, OverseasSalesReducedTotalLbl); + 620000: + Rec.Validate(Description, DomesticStandardPurchaseLbl); + 630000: + Rec.Validate(Description, DomesticStandardPurchaseTotalLbl); + 640000: + Rec.Validate(Description, DomesticReducedPurchaseValueLbl); + 650000: + Rec.Validate(Description, DomesticReducedPurchaseTotalLbl); + 670000: + Rec.Validate(Description, EUAcquisitionStandardLbl); + 680000: + Rec.Validate(Description, EUAcquisitionStandardTotalLbl); + 690000: + Rec.Validate(Description, EUAcquisitionReducedLbl); + 700000: + Rec.Validate(Description, EUAcquisitionReducedTotalLbl); + 720000: + Rec.Validate(Description, OverseasPurchaseValueLbl); + 730000: + Rec.Validate(Description, OverseasPurchaseTotalLbl); + 740000: + Rec.Validate(Description, OverseasPurchaseReducedLbl); + 750000: + Rec.Validate(Description, OverseasPurchaseReducedTotalLbl); + end; + + if (Rec."Statement Template Name" = VATGBTemplateName()) and (Rec."Statement Name" = StatementNameLbl) then + case + Rec."Line No." of + 780000: + Rec.Validate("Box No.", '1'); + 790000: + Rec.Validate("Box No.", '2'); + 800000: + Rec.Validate("Box No.", '3'); + 810000: + Rec.Validate("Box No.", '4'); + 820000: + Rec.Validate("Box No.", '5'); + 840000: + Rec.Validate("Box No.", '6'); + 850000: + Rec.Validate("Box No.", '7'); + 870000: + Rec.Validate("Box No.", '8'); + 880000: + Rec.Validate("Box No.", '9'); + end; + end; + + procedure VATGBTemplateName(): Code[10] + begin + exit(VatGBTemplateNameTok); + end; + + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + VatGBTemplateNameTok: Label 'VATGB', Locked = true; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + StatementNameDescLbl: Label 'Default Statement', MaxLength = 100; + VATReturnDescLbl: Label 'VAT Return', MaxLength = 80; + VatDueOnSalesAndOtherOutputsLbl: Label 'VAT due on sales and other outputs', MaxLength = 100; + VatOnGoodsAcquiredInNorthernIrelandFromEuLbl: Label 'VAT on goods acquired in Northern Ireland from EU', MaxLength = 100; + TotalVatDueLbl: Label 'Total VAT due', MaxLength = 100; + TotalVatDueInclEuAcquisitionsLbl: Label 'Total VAT due (incl. EU acquisitions)', MaxLength = 100; + NetVatToBePaidOrToBeReclaimedLbl: Label 'Net VAT to be paid (+) or to be reclaimed (-)', MaxLength = 100; + TotalValueOfSalesExclVatInclRow8Lbl: Label 'Total value of sales excl. VAT, incl. Row 8', MaxLength = 100; + TotalValueOfPurchasesExclVatInclRow9Lbl: Label 'Total value of purchases excl. VAT, incl. Row 9', MaxLength = 100; + ValueOfGoodsExVatFromNorthernIrelandToEuLbl: Label 'Value of goods ex. VAT from Northern Ireland to EU', MaxLength = 100; + GoodsExVatAcquiredInNorthernIrelandFromEuLbl: Label 'Goods ex. VAT acquired in Northern Ireland from EU', MaxLength = 100; + SeperationLineLbl: Label '==================================================', Locked = true; + Sales20Lbl: Label 'Sales 20 %', MaxLength = 100; + Sales20FullLbl: Label 'Sales 20 % FULL', MaxLength = 100; + Sales20TotalLbl: Label 'Sales 20 % total', MaxLength = 100; + Sales5Lbl: Label 'Sales 5 %', MaxLength = 100; + Sales5FullLbl: Label 'Sales 5 % FULL', MaxLength = 100; + Sales5TotalLbl: Label 'Sales 5 % total', MaxLength = 100; + EuAcquisitions20Lbl: Label '20 % on EU Acquisitions etc.', MaxLength = 100; + EuAcquisitions20TotalLbl: Label '20 % on EU Acquisitions etc. total', MaxLength = 100; + EuAcquisitions5Lbl: Label '5 % on EU Acquisitions etc.', MaxLength = 100; + EuAcquisitions5TotalLbl: Label '5 % on EU Acquisitions etc. total', MaxLength = 100; + PurchaseVat20DomesticLbl: Label 'Purchase VAT 20 % Domestic', MaxLength = 100; + PurchaseVat20FullDomesticLbl: Label 'Purchase VAT 20 % FULL Domestic', MaxLength = 100; + Purchase20DomesticTotalLbl: Label 'Purchase 20 % Domestic total', MaxLength = 100; + PurchaseVat5DomesticLbl: Label 'Purchase VAT 5 % Domestic', MaxLength = 100; + Purchase5DomesticTotalFullLbl: Label 'Purchase 5 % Domestic total FULL', MaxLength = 100; + Purchase5DomesticTotalLbl: Label 'Purchase 5 % Domestic total', MaxLength = 100; + ValueOfDomesticSales20Lbl: Label 'Value of Domestic Sales 20 %', MaxLength = 100; + ValueOfDomesticSales20TotalLbl: Label 'Value of Domestic Sales 20 % total', MaxLength = 100; + ValueOfDomesticSales5Lbl: Label 'Value of Domestic Sales 5 %', MaxLength = 100; + ValueOfDomesticSales5TotalLbl: Label 'Value of Domestic Sales 5 % total', MaxLength = 100; + ValueOfEuSupplies20Lbl: Label 'Value of EU Supplies 20 %', MaxLength = 100; + ValueOfEuSupplies20TotalLbl: Label 'Value of EU Supplies 20 % total', MaxLength = 100; + ValueOfEuSupplies5Lbl: Label 'Value of EU Supplies 5 %', MaxLength = 100; + ValueOfEuSupplies5TotalLbl: Label 'Value of EU Supplies 5 % total', MaxLength = 100; + ValueOfOverseasSales20Lbl: Label 'Value of Overseas Sales 20 %', MaxLength = 100; + ValueOfOverseasSales20TotalLbl: Label 'Value of Overseas Sales 20 % total', MaxLength = 100; + ValueOfOverseasSales5Lbl: Label 'Value of Overseas Sales 5 %', MaxLength = 100; + ValueOfOverseasSales5TotalLbl: Label 'Value of Overseas Sales 5 % total', MaxLength = 100; + ValueOfNonVatLiableSalesLbl: Label 'Value of non-VAT liable sales', MaxLength = 100; + ValueOfDomesticPurchases20Lbl: Label 'Value of Domestic Purchases 20 %', MaxLength = 100; + ValueOfDomesticPurchases20TotalLbl: Label 'Value of Domestic Purchases 20 % total', MaxLength = 100; + ValueOfDomesticPurchases5Lbl: Label 'Value of Domestic Purchases 5 %', MaxLength = 100; + ValueOfDomesticPurchases5TotalLbl: Label 'Value of Domestic Purchases 5 % total', MaxLength = 100; + ValueOfEuAcquisitions20Lbl: Label 'Value of EU Acquisitions 20 %', MaxLength = 100; + ValueOfEuAcquisitions20TotalLbl: Label 'Value of EU Acquisitions 20 % total', MaxLength = 100; + ValueOfEuAcquisitions5Lbl: Label 'Value of EU Acquisitions 5 %', MaxLength = 100; + ValueOfEuAcquisitions5TotalLbl: Label 'Value of EU Acquisitions 5 % total', MaxLength = 100; + ValueOfOverseasPurchases20Lbl: Label 'Value of Overseas Purchases 20 %', MaxLength = 100; + ValueOfOverseasPurchases20TotalLbl: Label 'Value of Overseas Purchases 20 % total', MaxLength = 100; + ValueOfOverseasPurchases5Lbl: Label 'Value of Overseas Purchases 5 %', MaxLength = 100; + ValueOfOverseasPurchases5TotalLbl: Label 'Value of Overseas Purchases 5 % total', MaxLength = 100; + ValueOfNonVatLiablePurchasesLbl: Label 'Value of non-VAT liable purchases', MaxLength = 100; + NetVatPaidLbl: Label 'Net VAT to be paid (+); or to be reclaimed (-);', MaxLength = 100; + SalesStandardLbl: Label 'Sales 20 % ', MaxLength = 100; + SalesStandardFullLbl: Label 'Sales 20 % FULL', MaxLength = 100; + SalesStandardTotalLbl: Label 'Sales 20 % total', MaxLength = 100; + SalesReducedLbl: Label 'Sales 5 % ', MaxLength = 100; + SalesReducedFullLbl: Label 'Sales 5 % FULL', MaxLength = 100; + SalesReducedTotalLbl: Label 'Sales 5 % total', MaxLength = 100; + EUStandardLbl: Label '20 % on EU Acquisitions etc.', MaxLength = 100; + EUStandardTotalLbl: Label '20 % on EU Acquisitions etc. total', MaxLength = 100; + EUReducedLbl: Label '5 % on EU Acquisitions etc.', MaxLength = 100; + EUReducedTotalLbl: Label '5 % on EU Acquisitions etc. total', MaxLength = 100; + PurchaseStandardLbl: Label 'Purchase VAT 20 % Domestic ', MaxLength = 100; + PurchaseStandardFullLbl: Label 'Purchase VAT 20 % FULL Domestic', MaxLength = 100; + PurchaseStandardTotalLbl: Label 'Purchase 20 % Domestic Total ', MaxLength = 100; + PurchaseReducedLbl: Label 'Purchase VAT 5 % Domestic ', MaxLength = 100; + PurchaseReducedFullLbl: Label 'Purchase 5 % Domestic Total FULL', MaxLength = 100; + PurchaseReducedTotalLbl: Label 'Purchase 5 % Domestic total ', MaxLength = 100; + DomesticStandardSalesLbl: Label 'Value of Domestic Sales 20 % ', MaxLength = 100; + DomesticStandardTotalLbl: Label 'Value of Domestic Sales 20 % total', MaxLength = 100; + DomesticReducedValueLbl: Label 'Value of Domestic Sales 5 % ', MaxLength = 100; + DomesticReducedTotalLbl: Label 'Value of Domestic Sales 5 % total', MaxLength = 100; + EUStandardSuppliesLbl: Label 'Value of EU Supplies 20 % ', MaxLength = 100; + EUStandardSuppliesTotalLbl: Label 'Value of EU Supplies 20 % total', MaxLength = 100; + EUReducedSuppliesLbl: Label 'Value of EU Supplies 5 % ', MaxLength = 100; + EUReducedSuppliesTotalLbl: Label 'Value of EU Supplies 5 % total', MaxLength = 100; + OverseasSalesValueLbl: Label 'Value of Overseas Sales 20 % ', MaxLength = 100; + OverseasSalesTotalLbl: Label 'Value of Overseas Sales 20 % total', MaxLength = 100; + OverseasSalesReducedLbl: Label 'Value of Overseas Sales 5 % ', MaxLength = 100; + OverseasSalesReducedTotalLbl: Label 'Value of Overseas Sales 5 % total', MaxLength = 100; + DomesticStandardPurchaseLbl: Label 'Value of Domestic Purchases 20 % ', MaxLength = 100; + DomesticStandardPurchaseTotalLbl: Label 'Value of Domestic Purchases 20 % total', MaxLength = 100; + DomesticReducedPurchaseValueLbl: Label 'Value of Domestic Purchases 5 % ', MaxLength = 100; + DomesticReducedPurchaseTotalLbl: Label 'Value of Domestic Purchases 5 % total', MaxLength = 100; + EUAcquisitionStandardLbl: Label 'Value of EU Acquisitions 20 % ', MaxLength = 100; + EUAcquisitionStandardTotalLbl: Label 'Value of EU Acquisitions 20 % Total', MaxLength = 100; + EUAcquisitionReducedLbl: Label 'Value of EU Acquisitions 5 % ', MaxLength = 100; + EUAcquisitionReducedTotalLbl: Label 'Value of EU Acquisitions 5 % total', MaxLength = 100; + OverseasPurchaseValueLbl: Label 'Value of Overseas Purchases 20 % ', MaxLength = 100; + OverseasPurchaseTotalLbl: Label 'Value of Overseas Purchases 20 % total', MaxLength = 100; + OverseasPurchaseReducedLbl: Label 'Value of Overseas Purchases 5 % ', MaxLength = 100; + OverseasPurchaseReducedTotalLbl: Label 'Value of Overseas Purchases 5 % total', MaxLength = 100; + +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/FixedAsset/1.Setup Data/CreateGBFADepreciationBook.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/FixedAsset/1.Setup Data/CreateGBFADepreciationBook.Codeunit.al new file mode 100644 index 0000000000..84f0075a62 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/FixedAsset/1.Setup Data/CreateGBFADepreciationBook.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11490 "Create GB FA Depreciation Book" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/FixedAsset/1.Setup Data/CreateGBFAPostingGroup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/FixedAsset/1.Setup Data/CreateGBFAPostingGroup.Codeunit.al new file mode 100644 index 0000000000..61d2713451 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/FixedAsset/1.Setup Data/CreateGBFAPostingGroup.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 11506 "Create GB FA Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "FA Posting Group"; RunTrigger: Boolean) + var + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + begin + case Rec.Code of + CreateFAPostingGroup.Equipment(), + CreateFAPostingGroup.Goodwill(), + CreateFAPostingGroup.Plant(), + CreateFAPostingGroup.Property(), + CreateFAPostingGroup.Vehicles(): + ValidateRecordFields(Rec, CreateGBGLAccounts.EquipmentsAndTools()); + end; + end; + + local procedure ValidateRecordFields(var FAPostingGroup: Record "FA Posting Group"; GLAccountNo: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", GLAccountNo); + FAPostingGroup.Validate("Accum. Depreciation Account", GLAccountNo); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", GLAccountNo); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", GLAccountNo); + FAPostingGroup.Validate("Gains Acc. on Disposal", GLAccountNo); + FAPostingGroup.Validate("Losses Acc. on Disposal", GLAccountNo); + FAPostingGroup.Validate("Maintenance Expense Account", GLAccountNo); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", GLAccountNo); + FAPostingGroup.Validate("Depreciation Expense Acc.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Foundation/Setup Data/CreateGBCompanyInformation.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Foundation/Setup Data/CreateGBCompanyInformation.Codeunit.al new file mode 100644 index 0000000000..99336df585 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Foundation/Setup Data/CreateGBCompanyInformation.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 11510 "Create GB Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + + CompanyInformation.Validate(Address, AddressLbl); + CompanyInformation.Validate("Ship-to Address", AddressLbl); + CompanyInformation.Modify(true); + end; + + var + AddressLbl: Label '7122 South Ashford Street', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/HumanResources/2.Master Data/CreateGBEmployee.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/HumanResources/2.Master Data/CreateGBEmployee.Codeunit.al new file mode 100644 index 0000000000..ee5e24ba54 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/HumanResources/2.Master Data/CreateGBEmployee.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 11489 "Create GB Employee" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployee(CreateEmployee.ManagingDirector()); + UpdateEmployee(CreateEmployee.SalesManager()); + UpdateEmployee(CreateEmployee.Designer()); + UpdateEmployee(CreateEmployee.ProductionAssistant()); + UpdateEmployee(CreateEmployee.ProductionManager()); + UpdateEmployee(CreateEmployee.Secretary()); + UpdateEmployee(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployee(EmployeeNo: Code[20]) + var + Employee: Record Employee; + CreateEmployee: Codeunit "Create Employee"; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate("Emplymt. Contract Code", ''); + Employee.Validate("Statistics Group Code", ''); + Employee.Validate("Union Code", ''); + Employee.Validate(Initials, GetInitials(Employee)); + if EmployeeNo = CreateEmployee.InventoryManager() then + Employee.Validate("Job Title", ProductionAssistantLbl); + Employee.Modify(true); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Inventory/2.Master Data/CreateGBInvPostingSetup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Inventory/2.Master Data/CreateGBInvPostingSetup.Codeunit.al new file mode 100644 index 0000000000..ca0de575f9 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Inventory/2.Master Data/CreateGBInvPostingSetup.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 11505 "Create GB Inv Posting Setup" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Inventory Posting Setup"; RunTrigger: Boolean) + var + CreateInventoryPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateLocation: Codeunit "Create Location"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + begin + case Rec."Location Code" of + BlankLocationLbl, + CreateLocation.EastLocation(), + CreateLocation.MainLocation(), + CreateLocation.OutLogLocation(), + CreateLocation.OwnLogLocation(), + CreateLocation.WestLocation(): + if Rec."Invt. Posting Group Code" = CreateInventoryPostingGroup.Resale() then + ValidateRecordFields(Rec, CreateGBGLAccounts.GoodsForResale(), ''); + end; + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim) + end; + + var + BlankLocationLbl: Label '', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/1.Setup Data/CreateGBPurchPayableSetup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/1.Setup Data/CreateGBPurchPayableSetup.Codeunit.al new file mode 100644 index 0000000000..438c2ad39a --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/1.Setup Data/CreateGBPurchPayableSetup.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 11499 "Create GB Purch Payable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePurchasesPayablesSetup(); + end; + + local procedure UpdatePurchasesPayablesSetup() + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + PurchasesPayablesSetup.Get(); + + PurchasesPayablesSetup.Validate("Allow VAT Difference", true); + PurchasesPayablesSetup.Validate("Posted Prepmt. Inv. Nos.", CreateNoSeries.PostedPurchaseInvoice()); + PurchasesPayablesSetup.Validate("Posted Prepmt. Cr. Memo Nos.", CreateNoSeries.PostedPurchaseCreditMemo()); + PurchasesPayablesSetup.Validate("Posting Date Check on Posting", false); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/1.Setup Data/CreateGBVendorPostingGroup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/1.Setup Data/CreateGBVendorPostingGroup.Codeunit.al new file mode 100644 index 0000000000..a37867e267 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/1.Setup Data/CreateGBVendorPostingGroup.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 11498 "Create GB Vendor Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Vendor Posting Group"; RunTrigger: Boolean) + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateVendorPostingGroup.Domestic(), + CreateVendorPostingGroup.EU(), + CreateVendorPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccount.VendorsDomestic(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PurchaseDiscounts(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), ''); + end; + end; + + local procedure ValidateRecordFields(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; ServiceChargeAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/2.Master Data/CreateGBVendor.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/2.Master Data/CreateGBVendor.Codeunit.al new file mode 100644 index 0000000000..d1d86a6eb3 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Purchases/2.Master Data/CreateGBVendor.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11497 "Create GB Vendor" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record Vendor; RunTrigger: Boolean) + var + CreateVendor: Codeunit "Create Vendor"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, '', true); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, DomesticFirstUpVATLbl, true); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, EUGraphicDesignVATLbl, true); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, DomesticWorldImporterVATLbl, true); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, DomesticNodPublisherVATLbl, false); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; VATRegistrationNo: Code[20]; TaxLiable: Boolean) + begin + Vendor.Validate("VAT Registration No.", VATRegistrationNo); + Vendor.Validate("Tax Liable", TaxLiable); + end; + + var + DomesticFirstUpVATLbl: Label 'GB444444444', MaxLength = 20; + EUGraphicDesignVATLbl: Label 'DE777777777', MaxLength = 20; + DomesticWorldImporterVATLbl: Label 'GB555555555', MaxLength = 20; + DomesticNodPublisherVATLbl: Label 'GB666666666', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/1.Setup Data/CreateGBCustPostingGroup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/1.Setup Data/CreateGBCustPostingGroup.Codeunit.al new file mode 100644 index 0000000000..08d75759eb --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/1.Setup Data/CreateGBCustPostingGroup.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 11496 "Create GB Cust Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Customer Posting Group"; RunTrigger: Boolean) + var + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCustomerPostingGroup.Domestic(), + CreateCustomerPostingGroup.EU(), + CreateCustomerPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccount.CustomersDomestic(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.PayableInvoiceRounding(), CreateGBGLAccounts.DiscountsAndAllowances(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), ''); + end; + end; + + local procedure ValidateRecordFields(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; ServiceChargeAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/1.Setup Data/CreateGBSalesRecvSetup.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/1.Setup Data/CreateGBSalesRecvSetup.Codeunit.al new file mode 100644 index 0000000000..e79ea24c4b --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/1.Setup Data/CreateGBSalesRecvSetup.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 11495 "Create GB Sales Recv Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + SalesReceivablesSetup.Get(); + + SalesReceivablesSetup.Validate("Allow VAT Difference", true); + SalesReceivablesSetup.Validate("Posted Prepmt. Inv. Nos.", CreateNoSeries.PostedSalesInvoice()); + SalesReceivablesSetup.Validate("Posted Prepmt. Cr. Memo Nos.", CreateNoSeries.PostedSalesCreditMemo()); + SalesReceivablesSetup.Validate("Posting Date Check on Posting", false); + SalesReceivablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/2.Master Data/CreateGBCustomer.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/2.Master Data/CreateGBCustomer.Codeunit.al new file mode 100644 index 0000000000..b0c459272b --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/2.Master Data/CreateGBCustomer.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11494 "Create GB Customer" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + UpdateDimensionOnCustomer(CreateCustomer.DomesticAdatumCorporation(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.SmallBusinessCustomerGroup()); + UpdateDimensionOnCustomer(CreateCustomer.DomesticTreyResearch(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.MediumBusinessCustomerGroup()); + UpdateDimensionOnCustomer(CreateCustomer.ExportSchoolofArt(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.LargeBusinessCustomerGroup()); + UpdateDimensionOnCustomer(CreateCustomer.EUAlpineSkiHouse(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.SmallBusinessCustomerGroup()); + UpdateDimensionOnCustomer(CreateCustomer.DomesticRelecloud(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.MediumBusinessCustomerGroup()); + end; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record Customer; RunTrigger: Boolean) + var + CreateCustomer: Codeunit "Create Customer"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, DomesticAdatumCorporationVATLbl, false); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, DomesticTreyResearchVATLbl, false); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, '', true); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, EUAlpineSkiHouseVATLbl, true); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, DomesticRelecloudVATLbl, true); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; VATRegistrationNo: Code[20]; TaxLiable: Boolean) + begin + Customer.Validate("VAT Registration No.", VATRegistrationNo); + Customer.Validate("Tax Liable", TaxLiable); + end; + + local procedure UpdateDimensionOnCustomer(CustomerNo: Code[20]; GlobalDimension1Code: Code[20]; GlobalDimension2Code: Code[20]) + var + Customer: Record Customer; + begin + Customer.Get(CustomerNo); + + Customer.Validate("Global Dimension 1 Code", GlobalDimension1Code); + Customer.Validate("Global Dimension 2 Code", GlobalDimension2Code); + Customer.Modify(true); + end; + + var + DomesticAdatumCorporationVATLbl: Label 'GB111111111', MaxLength = 20; + DomesticTreyResearchVATLbl: Label 'GB222222222', MaxLength = 20; + EUAlpineSkiHouseVATLbl: Label 'DE444444444', MaxLength = 20; + DomesticRelecloudVATLbl: Label 'GB333333333', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/2.Master Data/CreateGBSalesDimensionValue.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/2.Master Data/CreateGBSalesDimensionValue.Codeunit.al new file mode 100644 index 0000000000..9bcb2b8a10 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/2.Master Data/CreateGBSalesDimensionValue.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 10509 "Create GB Sales DimensionValue" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticAdatumCorporation(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticTreyResearch(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.ExportSchoolofArt(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.EUAlpineSkiHouse(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticRelecloud(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) and (Rec."Dimension Code" = CreateDimension.CustomerGroupDimension()) then + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) and (Rec."Dimension Code" = CreateDimension.CustomerGroupDimension()) then + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.ExportSchoolofArt()) and (Rec."Dimension Code" = CreateDimension.CustomerGroupDimension()) then + ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.EUAlpineSkiHouse()) and (Rec."Dimension Code" = CreateDimension.CustomerGroupDimension()) then + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) and (Rec."Dimension Code" = CreateDimension.CustomerGroupDimension()) then + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/3.Transaction Data/CreateGBSalesDocument.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/3.Transaction Data/CreateGBSalesDocument.Codeunit.al new file mode 100644 index 0000000000..b6aface1f2 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/Sales/3.Transaction Data/CreateGBSalesDocument.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 11493 "Create GB Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + begin + SalesHeader.Get(Enum::"Sales Document Type"::Invoice, SI102201Lbl); + ContosoSales.InsertSalesLineWithGLAccount(SalesHeader, CreateGBGLAccounts.SaleOfResources(), 1, 970); + end; + + var + SI102201Lbl: Label '102201', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/eService/CreateGBIncomingDocument.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/eService/CreateGBIncomingDocument.Codeunit.al new file mode 100644 index 0000000000..f6c47ef628 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoData/eService/CreateGBIncomingDocument.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 11504 "Create GB Incoming Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + EServiceDemoDataSetup: Record "EService Demo Data Setup"; + begin + if (Module = Enum::"Contoso Demo Data Module"::"EService") and (ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data") then begin + EServiceDemoDataSetup.InitRecord(); + + EServiceDemoDataSetup.Validate("Invoice Field Name", IncomingDocDescriptionLbl); + EServiceDemoDataSetup.Modify(); + end; + end; + + var + IncomingDocDescriptionLbl: Label 'First Up Consultants Invoice GB D365F', Locked = true; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/CommonModuleGB.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/CommonModuleGB.Codeunit.al new file mode 100644 index 0000000000..d8dfdc27ec --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/CommonModuleGB.Codeunit.al @@ -0,0 +1,7 @@ +codeunit 10508 "Common Module GB" +{ + InherentEntitlements = X; + InherentPermissions = X; + + +} diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/Contoso Helpers/ContosoGBAccountSchedule.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/Contoso Helpers/ContosoGBAccountSchedule.Codeunit.al new file mode 100644 index 0000000000..877360405b --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/Contoso Helpers/ContosoGBAccountSchedule.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 10517 "Contoso GB Account Schedule" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Column Layout" = ri; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; ComparisonDateFormula: Text[10]) + var + ColumnLayout: Record "Column Layout"; + Exists: Boolean; + begin + if ColumnLayout.Get(ColumnLayoutName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ColumnLayout.Validate("Column Layout Name", ColumnLayoutName); + ColumnLayout.Validate("Line No.", LineNo); + ColumnLayout.Validate("Column No.", ColumnNo); + ColumnLayout.Validate("Column Header", ColumnHeader); + ColumnLayout.Validate("Column Type", ColumnType); + ColumnLayout.Validate("Ledger Entry Type", LedgerEntryType); + ColumnLayout.Validate(Formula, Formula); + ColumnLayout.Validate("Show Opposite Sign", ShowOppositeSign); + ColumnLayout.Validate(Show, Show); + ColumnLayout.Validate("Comparison Period Formula", ComparisonPeriodFormula); + Evaluate(ColumnLayout."Comparison Date Formula", ComparisonDateFormula); + ColumnLayout.Validate("Comparison Date Formula"); + ColumnLayout.Validate("Amount Type", AmountType); + + if Exists then + ColumnLayout.Modify(true) + else + ColumnLayout.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/ContosoDemoDataSetupGB.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/ContosoDemoDataSetupGB.Codeunit.al similarity index 100% rename from Apps/GB/ContosoCoffeeDemoDatasetGB/app/Codeunits/ContosoDemoDataSetupGB.Codeunit.al rename to Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/ContosoDemoDataSetupGB.Codeunit.al diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/GBContosoLocalization.Codeunit.al b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/GBContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..f101eb3da9 --- /dev/null +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/DemoTool/GBContosoLocalization.Codeunit.al @@ -0,0 +1,220 @@ +codeunit 11487 "GB Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + FoundationModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Finance: + FinanceModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Purchase: + PurchaseModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Sales: + SalesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::"Human Resources Module": + HumanResourcesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::EService: + EServiceModule(ContosoDemoDataLevel); + end; + end; + + local procedure EServiceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create GB Incoming Document"); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create GB Company Information"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create GB Purch Payable Setup"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create GB Sales Recv Setup"); + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create GB Customer"); + Codeunit.Run(Codeunit::"Create GB Sales DimensionValue"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create GB Sales Document"); + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateGBVATPostingGroup: Codeunit "Create GB VAT Posting Group"; + CreateGBGenPostingSetup: Codeunit "Create GB Gen Posting Setup"; + CreateGBGLAccounts: Codeunit "Create GB GL Accounts"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create GB General Ledger Setup"); + CreateGBGLAccounts.AddCategoriesToGLAccounts(); + CreateGBGenPostingSetup.UpdateGenPostingSetup(); + CreateGBVATPostingGroup.UpdateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create GB Column Layout Name"); + Codeunit.Run(Codeunit::"Create GB VAT Report Setup") + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create GB Column Layout"); + Codeunit.Run(Codeunit::"Create GB VAT Statement"); + Codeunit.Run(Codeunit::"Create GB Gen. Journal Batch"); + end; + end; + end; + + local procedure HumanResourcesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create GB Employee"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateGBInvPostingSetup: Codeunit "Create GB Inv Posting Setup"; + CreateGBBankAccPostingGrp: Codeunit "Create GB Bank Acc Posting Grp"; + CreateGBPaymentMethod: Codeunit "Create GB Payment Method"; + CreateGBBankAccRec: Codeunit "Create GB Bank Acc. Rec."; + CreateGBVendor: Codeunit "Create GB Vendor"; + CreateGBVATStatement: Codeunit "Create GB VAT Statement"; + CreateGBVATSetupPostGrp: Codeunit "Create GB VAT Setup Post. Grp."; + CreateGBVendorPostingGroup: Codeunit "Create GB Vendor Posting Group"; + CreateGBCustPostingGroup: Codeunit "Create GB Cust Posting Group"; + CreateGBCustomer: Codeunit "Create GB Customer"; + CreateGBVATReportSetup: Codeunit "Create GB VAT Report Setup"; + CreateGBSalesDimensionValue: Codeunit "Create GB Sales DimensionValue"; + CreateGBFAPostingGroup: Codeunit "Create GB FA Posting Group"; + CreateGBResource: Codeunit "Create GB Resource"; + CreateGBAnalysisViews: Codeunit "Create GB Analysis View"; + CreateGBVATPostingGroup: Codeunit "Create GB VAT Posting Group"; + CreateGBAccScheduleLine: Codeunit "Create GB Acc Schedule Line"; + CreateGBCurrency: Codeunit "Create GB Currency"; + CreateGBFADepreciationBook: Codeunit "Create GB FA Depreciation Book"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Inventory: + BindSubscription(CreateGBInvPostingSetup); + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateGBBankAccPostingGrp); + BindSubscription(CreateGBPaymentMethod); + BindSubscription(CreateGBBankAccRec); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateGBVendor); + BindSubscription(CreateGBVendorPostingGroup); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateGBCustPostingGroup); + BindSubscription(CreateGBCustomer); + BindSubscription(CreateGBSalesDimensionValue); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + BindSubscription(CreateGBFAPostingGroup); + BindSubscription(CreateGBFADepreciationBook); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateGBResource); + BindSubscription(CreateGBVATReportSetup); + BindSubscription(CreateGBAnalysisViews); + BindSubscription(CreateGBVATPostingGroup); + BindSubscription(CreateGBAccScheduleLine); + BindSubscription(CreateGBVATSetupPostGrp); + BindSubscription(CreateGBVATStatement); + BindSubscription(CreateGBCurrency); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateGBInvPostingSetup: Codeunit "Create GB Inv Posting Setup"; + CreateGBBankAccPostingGrp: Codeunit "Create GB Bank Acc Posting Grp"; + CreateGBPaymentMethod: Codeunit "Create GB Payment Method"; + CreateGBBankAccRec: Codeunit "Create GB Bank Acc. Rec."; + CreateGBVendor: Codeunit "Create GB Vendor"; + CreateGBVATSetupPostGrp: Codeunit "Create GB VAT Setup Post. Grp."; + CreateGBVATStatement: Codeunit "Create GB VAT Statement"; + CreateGBVendorPostingGroup: Codeunit "Create GB Vendor Posting Group"; + CreateGBCustPostingGroup: Codeunit "Create GB Cust Posting Group"; + CreateGBCustomer: Codeunit "Create GB Customer"; + CreateGBVATReportSetup: Codeunit "Create GB VAT Report Setup"; + CreateGBSalesDimensionValue: Codeunit "Create GB Sales DimensionValue"; + CreateGBFAPostingGroup: Codeunit "Create GB FA Posting Group"; + CreateGBResource: Codeunit "Create GB Resource"; + CreateGBAnalysisViews: Codeunit "Create GB Analysis View"; + CreateGBVATPostingGroup: Codeunit "Create GB VAT Posting Group"; + CreateGBAccScheduleLine: Codeunit "Create GB Acc Schedule Line"; + CreateGBCurrency: Codeunit "Create GB Currency"; + CreateGBFADepreciationBook: Codeunit "Create GB FA Depreciation Book"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateGBBankAccPostingGrp); + UnbindSubscription(CreateGBPaymentMethod); + UnbindSubscription(CreateGBBankAccRec); + end; + Enum::"Contoso Demo Data Module"::Inventory: + UnbindSubscription(CreateGBInvPostingSetup); + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateGBVendor); + UnbindSubscription(CreateGBVendorPostingGroup); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateGBCustPostingGroup); + UnbindSubscription(CreateGBCustomer); + UnbindSubscription(CreateGBSalesDimensionValue); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + UnbindSubscription(CreateGBFAPostingGroup); + UnbindSubscription(CreateGBFADepreciationBook); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateGBResource); + UnbindSubscription(CreateGBAnalysisViews); + UnbindSubscription(CreateGBVATReportSetup); + UnbindSubscription(CreateGBVATPostingGroup); + UnbindSubscription(CreateGBVATSetupPostGrp); + UnbindSubscription(CreateGBVATStatement); + UnbindSubscription(CreateGBAccScheduleLine); + UnbindSubscription(CreateGBCurrency); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/app.json b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/app.json index 6123c20f57..ec382941ed 100644 --- a/Apps/GB/ContosoCoffeeDemoDatasetGB/app/app.json +++ b/Apps/GB/ContosoCoffeeDemoDatasetGB/app/app.json @@ -1,36 +1,36 @@ { - "id": "5b0b41a1-7b42-4153-b521-2265186cfb33", - "name": "Contoso Coffee Demo Dataset (GB)", - "publisher": "Microsoft", - "version": "26.0.0.0", - "brief": "To help partners demonstrate the capabilities of Business Central, we are making new and extensive demo data available for various scenarios.", - "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios.", - "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", - "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", - "help": "https://go.microsoft.com/fwlink/?linkid=2187180", - "url": "https://go.microsoft.com/fwlink/?linkid=724011", - "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2187180", - "logo": "./ExtensionLogo.png", - "dependencies": [ - { - "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", - "name": "Contoso Coffee Demo Dataset", - "publisher": "Microsoft", - "version": "26.0.0.0" - } - ], - "screenshots": [], - "platform": "26.0.0.0", - "application": "26.0.0.0", - "idRanges": [ - { - "from": 10506, - "to": 10510 - } - ], - "resourceExposurePolicy": { - "allowDebugging": true, - "allowDownloadingSource": false, - "includeSourceInSymbolFile": false - } + "id": "5b0b41a1-7b42-4153-b521-2265186cfb33", + "name": "Contoso Coffee Demo Dataset (GB)", + "publisher": "Microsoft", + "version": "26.0.0.0", + "brief": "To help partners demonstrate the capabilities of Business Central, we are making new and extensive demo data available for various scenarios.", + "description": "Presales specialists can run the tool on top of Cronus or My Company and get the setup and demo data they'll need when they demonstrate various scenarios.", + "privacyStatement": "https://go.microsoft.com/fwlink/?linkid=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?linkid=2187180", + "url": "https://go.microsoft.com/fwlink/?linkid=724011", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2187180", + "logo": "./ExtensionLogo.png", + "dependencies": [ + { + "id": "5a0b41e9-7a42-4123-d521-2265186cfb31", + "name": "Contoso Coffee Demo Dataset", + "publisher": "Microsoft", + "version": "26.0.0.0" + } + ], + "screenshots": [], + "platform": "26.0.0.0", + "application": "26.0.0.0", + "idRanges": [ + { + "from": 10506, + "to": 11510 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": false, + "includeSourceInSymbolFile": false + } } \ No newline at end of file diff --git a/Apps/GB/UKMakingTaxDigital/app/src/Setup/MTDReportSetup.TableExt.al b/Apps/GB/UKMakingTaxDigital/app/src/Setup/MTDReportSetup.TableExt.al index da37155001..759b2a795d 100644 --- a/Apps/GB/UKMakingTaxDigital/app/src/Setup/MTDReportSetup.TableExt.al +++ b/Apps/GB/UKMakingTaxDigital/app/src/Setup/MTDReportSetup.TableExt.al @@ -16,58 +16,6 @@ tableextension 10539 "MTD Report Setup" extends "VAT Report Setup" { DataClassification = CustomerContent; } - field(10532; "MTD Disable FraudPrev. Headers"; Boolean) - { - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteTag = '22.0'; - ObsoleteReason = 'Replaced by configurable Fraud Prevention Headers Setup page'; - } - field(10533; "MTD FP WinClient Due DateTime"; DateTime) - { - Editable = false; - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteTag = '22.0'; - ObsoleteReason = 'Replaced by configurable Fraud Prevention Headers Setup page'; - } - field(10534; "MTD FP WebClient Due DateTime"; DateTime) - { - Editable = false; - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteTag = '22.0'; - ObsoleteReason = 'Replaced by configurable Fraud Prevention Headers Setup page'; - } - field(10535; "MTD FP Batch Due DateTime"; DateTime) - { - Editable = false; - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteTag = '22.0'; - ObsoleteReason = 'Replaced by configurable Fraud Prevention Headers Setup page'; - } - field(10536; "MTD FP WinClient Json"; Blob) - { - DataClassification = EndUserIdentifiableInformation; - ObsoleteState = Removed; - ObsoleteTag = '22.0'; - ObsoleteReason = 'Replaced by configurable Fraud Prevention Headers Setup page'; - } - field(10537; "MTD FP WebClient Json"; Blob) - { - DataClassification = EndUserIdentifiableInformation; - ObsoleteState = Removed; - ObsoleteTag = '22.0'; - ObsoleteReason = 'Replaced by configurable Fraud Prevention Headers Setup page'; - } - field(10538; "MTD FP Batch Json"; Blob) - { - DataClassification = EndUserIdentifiableInformation; - ObsoleteState = Removed; - ObsoleteTag = '22.0'; - ObsoleteReason = 'Replaced by configurable Fraud Prevention Headers Setup page'; - } field(10539; "MTD Enabled"; Boolean) { Caption = 'Enabled'; @@ -106,4 +54,4 @@ tableextension 10539 "MTD Report Setup" extends "VAT Report Setup" exit(''); end; end; -} +} \ No newline at end of file diff --git a/Apps/GB/UKMakingTaxDigital/test/src/LibraryMakingTaxDigital.Codeunit.al b/Apps/GB/UKMakingTaxDigital/test/src/LibraryMakingTaxDigital.Codeunit.al index 7a1b7ae652..6561d27ff3 100644 --- a/Apps/GB/UKMakingTaxDigital/test/src/LibraryMakingTaxDigital.Codeunit.al +++ b/Apps/GB/UKMakingTaxDigital/test/src/LibraryMakingTaxDigital.Codeunit.al @@ -213,7 +213,6 @@ codeunit 148080 "Library - Making Tax Digital" begin LibraryAzureKVMockMgmt.InitMockAzureKeyvaultSecretProvider(); LibraryAzureKVMockMgmt.AddMockAzureKeyvaultSecretProviderMapping('UKHMRC-MTDVAT-Sandbox-ClientID', ClientToken); - LibraryAzureKVMockMgmt.EnsureSecretNameIsAllowed('UKHMRC-MTDVAT-Sandbox-ClientID'); LibraryAzureKVMockMgmt.UseAzureKeyvaultSecretProvider(); end; diff --git a/Apps/GB/UKPostcodeGetAddressIO/app/src/PostcodeGetAddressioUpgrade.Codeunit.al b/Apps/GB/UKPostcodeGetAddressIO/app/src/PostcodeGetAddressioUpgrade.Codeunit.al index 54c54169e5..dcdaba9ecb 100644 --- a/Apps/GB/UKPostcodeGetAddressIO/app/src/PostcodeGetAddressioUpgrade.Codeunit.al +++ b/Apps/GB/UKPostcodeGetAddressIO/app/src/PostcodeGetAddressioUpgrade.Codeunit.al @@ -10,33 +10,11 @@ codeunit 9093 "Postcode GetAddress.io Upgrade" { Subtype = Upgrade; - trigger OnUpgradePerDatabase(); - var - AppInfo: ModuleInfo; - begin - NavApp.GetCurrentModuleInfo(AppInfo); - // Restoring data from V1 extension tables. This upgrade will only run for version 1 - if AppInfo.DataVersion().Major() = 1 then - NAVAPP.LOADPACKAGEDATA(DATABASE::"Postcode GetAddress.io Config"); - end; - trigger OnUpgradePerCompany(); - var - AppInfo: ModuleInfo; begin - NavApp.GetCurrentModuleInfo(AppInfo); - // Restoring data from V1 extension tables. This upgrade will only run for version 1 - if AppInfo.DataVersion().Major() = 1 then - NAVAPP.RESTOREARCHIVEDATA(DATABASE::"Postcode GetAddress.io Config"); - UpgradeSecretsToIsolatedStorage(); UpdateApiEndPoint(); end; - trigger OnValidateUpgradePerCompany() - begin - VerifySecretsUpgradeToIsolatedStorage(); - end; - local procedure UpdateApiEndPoint() var PostcodeConfig: Record "Postcode GetAddress.io Config"; @@ -55,64 +33,6 @@ codeunit 9093 "Postcode GetAddress.io Upgrade" UpgradeTag.SetUpgradeTag(GetUKPostcodeNewEndPointTag()); end; - local procedure UpgradeSecretsToIsolatedStorage() - var - ServicePassword: Record "Service Password"; - PostcodeSetup: Record "Postcode GetAddress.io Config"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - if UpgradeTag.HasUpgradeTag(GetUKPostcodeSecretsToISUpgradeTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetUKPostcodeSecretsToISUpgradeTag()) then - exit; - - if PostcodeSetup.Get() then - if ServicePassword.Get(PostcodeSetup.APIKey) then - if EncryptionEnabled() then - IsolatedStorage.SetEncrypted(PostcodeSetup.APIKey, ServicePassword.GetPassword(), DataScope::Company) - else - IsolatedStorage.Set(PostcodeSetup.APIKey, ServicePassword.GetPassword(), DataScope::Company); - - UpgradeTag.SetUpgradeTag(GetUKPostcodeSecretsToISUpgradeTag()); - end; - - local procedure VerifySecretsUpgradeToIsolatedStorage() - var - ServicePassword: Record "Service Password"; - PostcodeSetup: Record "Postcode GetAddress.io Config"; - UpgradeTag: Codeunit "Upgrade Tag"; - IsolatedStorageValue: Text; - ServicePasswordValue: Text; - begin - if UpgradeTag.HasUpgradeTag(GetUKPostcodeSecretsToISValidationTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetUKPostcodeSecretsToISValidationTag()) then - exit; - - if PostcodeSetup.Get() then - if ServicePassword.Get(PostcodeSetup.APIKey) then begin - if not IsolatedStorage.Get(PostcodeSetup.APIKey, DataScope::Company, IsolatedStorageValue) then - Error('Could not retrieve the secret from isolated storage after the Upgrade for key "%1"', PostcodeSetup.APIKey); - ServicePasswordValue := ServicePassword.GetPassword(); - if IsolatedStorageValue <> ServicePasswordValue then - Error('The secret value for key "%1" in isolated storage does not match the one in service password.', PostcodeSetup.APIKey); - end; - - UpgradeTag.SetUpgradeTag(GetUKPostcodeSecretsToISValidationTag()); - end; - - internal procedure GetUKPostcodeSecretsToISUpgradeTag(): Code[250] - begin - exit('MS-328257-UKPostcodeSecretsToIS-20190925'); - end; - - internal procedure GetUKPostcodeSecretsToISValidationTag(): Code[250] - begin - exit('MS-328257-UKPostcodeSecretsToIS-Validate-20190925'); - end; - internal procedure GetUKPostcodeNewEndPointTag(): Code[250] begin exit('MS-435041-UKPostCodeNewAPIEndPoint-202200505'); @@ -121,8 +41,6 @@ codeunit 9093 "Postcode GetAddress.io Upgrade" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) begin - PerCompanyUpgradeTags.Add(GetUKPostcodeSecretsToISUpgradeTag()); - PerCompanyUpgradeTags.Add(GetUKPostcodeSecretsToISValidationTag()); PerCompanyUpgradeTags.Add(GetUKPostcodeNewEndPointTag()); end; } diff --git a/Apps/GB/UKPostcodeGetAddressIO/app/src/UKPostcodeInstall.Codeunit.al b/Apps/GB/UKPostcodeGetAddressIO/app/src/UKPostcodeInstall.Codeunit.al index 21adf7d2d8..14d0d2b400 100644 --- a/Apps/GB/UKPostcodeGetAddressIO/app/src/UKPostcodeInstall.Codeunit.al +++ b/Apps/GB/UKPostcodeGetAddressIO/app/src/UKPostcodeInstall.Codeunit.al @@ -7,19 +7,13 @@ namespace Microsoft.Foundation.Address; using Microsoft.Foundation.Company; using System.Environment; using System.Privacy; -using System.Upgrade; codeunit 9094 "UK Postcode Install" { Subtype = install; trigger OnInstallAppPerCompany() - var - AppInfo: ModuleInfo; begin - if AppInfo.DataVersion().Major() = 0 then - SetAllUpgradeTags(); - CompanyInitialize(); end; @@ -40,16 +34,4 @@ codeunit 9094 "UK Postcode Install" DataClassificationMgt.SetTableFieldsToNormal(Database::"Postcode GetAddress.io Config"); end; - - local procedure SetAllUpgradeTags() - var - UpgradeTag: Codeunit "Upgrade Tag"; - PostCodeGetAddressUpgrade: Codeunit "Postcode GetAddress.io Upgrade"; - begin - if not UpgradeTag.HasUpgradeTag(PostCodeGetAddressUpgrade.GetUKPostcodeSecretsToISUpgradeTag()) then - UpgradeTag.SetUpgradeTag(PostCodeGetAddressUpgrade.GetUKPostcodeSecretsToISUpgradeTag()); - - if not UpgradeTag.HasUpgradeTag(PostCodeGetAddressUpgrade.GetUKPostcodeSecretsToISValidationTag()) then - UpgradeTag.SetUpgradeTag(PostCodeGetAddressUpgrade.GetUKPostcodeSecretsToISValidationTag()); - end; } diff --git a/Apps/IN/INGST/app/GSTBase/src/TableExtension/GSTGenJournalLineExt.TableExt.al b/Apps/IN/INGST/app/GSTBase/src/TableExtension/GSTGenJournalLineExt.TableExt.al index 4b35078c34..db0113481a 100644 --- a/Apps/IN/INGST/app/GSTBase/src/TableExtension/GSTGenJournalLineExt.TableExt.al +++ b/Apps/IN/INGST/app/GSTBase/src/TableExtension/GSTGenJournalLineExt.TableExt.al @@ -444,6 +444,7 @@ tableextension 18004 "GST Gen. Journal Line Ext" extends "Gen. Journal Line" DataClassification = CustomerContent; } +#if not CLEANSCHEMA26 field(18038; "e-Commerce Merchant Id"; Code[30]) { Caption = 'e-Commerce Merchant Id'; @@ -456,7 +457,7 @@ tableextension 18004 "GST Gen. Journal Line Ext" extends "Gen. Journal Line" ObsoleteState = Removed; ObsoleteTag = '26.0'; } - +#endif field(18052; "E-Comm. Merchant Id"; Code[30]) { Caption = 'e-Commerce Merchant Id'; diff --git a/Apps/IN/INGST/app/GSTBase/src/TaxEngineSetup/GSTTaxConfiguration.Codeunit.al b/Apps/IN/INGST/app/GSTBase/src/TaxEngineSetup/GSTTaxConfiguration.Codeunit.al index d7a192be02..b8aeeff70b 100644 --- a/Apps/IN/INGST/app/GSTBase/src/TaxEngineSetup/GSTTaxConfiguration.Codeunit.al +++ b/Apps/IN/INGST/app/GSTBase/src/TaxEngineSetup/GSTTaxConfiguration.Codeunit.al @@ -95,7 +95,7 @@ codeunit 18017 "GST Tax Configuration" UseCases.Add('{1B2046C2-4264-4272-A998-085B20832B87}', 2); UseCases.Add('{9B0FE6DB-6121-44B0-8BD0-08B8060D7A92}', 7); UseCases.Add('{D50E350F-963C-4C3C-9E78-08F12AB7D8F0}', 1); - UseCases.Add('{71EC1D59-01EC-4486-8CB4-0957D4ADF38B}', 3); + UseCases.Add('{71EC1D59-01EC-4486-8CB4-0957D4ADF38B}', 4); UseCases.Add('{B5A9628F-46F5-48C4-9CC0-09CBAE26D7EE}', 4); UseCases.Add('{C75CF1E3-CC01-4458-86FB-0A29BC40560B}', 3); UseCases.Add('{DA8B91D0-1B63-44EE-BA57-0A40B1403080}', 6); diff --git a/Apps/IN/INGST/app/GSTPurchase/src/Codeunit/GSTPurchaseSubscribers.codeunit.al b/Apps/IN/INGST/app/GSTPurchase/src/Codeunit/GSTPurchaseSubscribers.codeunit.al index 21a5f5771f..0dc339a5af 100644 --- a/Apps/IN/INGST/app/GSTPurchase/src/Codeunit/GSTPurchaseSubscribers.codeunit.al +++ b/Apps/IN/INGST/app/GSTPurchase/src/Codeunit/GSTPurchaseSubscribers.codeunit.al @@ -1018,8 +1018,9 @@ codeunit 18080 "GST Purchase Subscribers" if GSTGroup.Get(PurchaseLine."GST Group Code") then begin PurchaseLine."GST Group Type" := GSTGroup."GST Group Type"; GetPurcasehHeader(PurchaseHeader, PurchaseLine); - if PurchaseHeader."GST Vendor Type" = PurchaseHeader."GST Vendor Type"::Import then - PurchaseLine."GST Reverse Charge" := true; + if (GSTGroup."Reverse Charge" = true) or (PurchaseLine."GST Group Type" = PurchaseLine."GST Group Type"::Service) then + if PurchaseHeader."GST Vendor Type" = PurchaseHeader."GST Vendor Type"::Import then + PurchaseLine."GST Reverse Charge" := true; if PurchaseHeader."GST Vendor Type" in [ PurchaseHeader."GST Vendor Type"::Registered, @@ -1226,8 +1227,10 @@ codeunit 18080 "GST Purchase Subscribers" PurchaseLine."HSN/SAC Code" := HSNSACCode; UpdateGSTJurisdictionType(PurchaseLine); + if GSTGroup.Get(PurchaseLine."GST Group Code") then + if (GSTGroup."Reverse Charge") or (PurchaseLine."GST Group Type" = PurchaseLine."GST Group Type"::Service) then + PurchaseLine."GST Reverse Charge" := PurchaseHeader."GST Vendor Type" in [PurchaseHeader."GST Vendor Type"::Import]; - PurchaseLine."GST Reverse Charge" := PurchaseHeader."GST Vendor Type" in [PurchaseHeader."GST Vendor Type"::Import]; if GSTGroup.Get(PurchaseLine."GST Group Code") and (PurchaseHeader."GST Vendor Type" in [ PurchaseHeader."GST Vendor Type"::Registered, diff --git a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesCrMemoHeaderExt.TableExt.al b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesCrMemoHeaderExt.TableExt.al index 22d847b553..9505857a00 100644 --- a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesCrMemoHeaderExt.TableExt.al +++ b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesCrMemoHeaderExt.TableExt.al @@ -56,6 +56,7 @@ tableextension 18144 "GST Sales Cr.Memo Header Ext" extends "Sales Cr.Memo Heade TableRelation = Customer where("e-Commerce Operator" = const(true)); DataClassification = CustomerContent; } +#if not CLEANSCHEMA26 field(18149; "E-Commerce Merchant Id"; code[30]) { caption = 'E-Commerce Merchant Id'; @@ -67,6 +68,7 @@ tableextension 18144 "GST Sales Cr.Memo Header Ext" extends "Sales Cr.Memo Heade ObsoleteState = Removed; ObsoleteTag = '26.0'; } +#endif field(18150; "GST Bill-to State Code"; Code[10]) { Caption = 'GST Bill-to State Code'; diff --git a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderArchiveExt.TableExt.al b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderArchiveExt.TableExt.al index 628f74420e..1698646658 100644 --- a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderArchiveExt.TableExt.al +++ b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderArchiveExt.TableExt.al @@ -61,6 +61,7 @@ tableextension 18146 "GST Sales Header Archive Ext" extends "Sales Header Archiv DataClassification = CustomerContent; Editable = false; } +#if not CLEANSCHEMA26 field(18149; "E-Commerce Merchant Id"; code[30]) { Caption = 'E-Commerce Merchant Id'; @@ -73,6 +74,7 @@ tableextension 18146 "GST Sales Header Archive Ext" extends "Sales Header Archiv ObsoleteState = Removed; ObsoleteTag = '26.0'; } +#endif field(18150; "GST Bill-to State Code"; Code[10]) { Caption = 'GST Bill-to State Code'; diff --git a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderExt.TableExt.al b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderExt.TableExt.al index 3610e2ffcb..5f580e0a4f 100644 --- a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderExt.TableExt.al +++ b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesHeaderExt.TableExt.al @@ -56,6 +56,7 @@ tableextension 18147 "GST Sales Header Ext" extends "Sales Header" TableRelation = Customer where("e-Commerce Operator" = const(true)); DataClassification = CustomerContent; } +#if not CLEANSCHEMA26 field(18149; "E-Commerce Merchant Id"; code[30]) { Caption = 'E-Commerce Merchant Id'; @@ -67,6 +68,7 @@ tableextension 18147 "GST Sales Header Ext" extends "Sales Header" ObsoleteState = Removed; ObsoleteTag = '26.0'; } +#endif field(18150; "GST Bill-to State Code"; Code[10]) { Caption = 'GST Bill-to State Code'; diff --git a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesInvoiceHeaderExt.TableExt.al b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesInvoiceHeaderExt.TableExt.al index c198834289..f2211194c1 100644 --- a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesInvoiceHeaderExt.TableExt.al +++ b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesInvoiceHeaderExt.TableExt.al @@ -56,6 +56,7 @@ tableextension 18148 "GST Sales Invoice Header Ext" extends "Sales Invoice Heade TableRelation = Customer where("e-Commerce Operator" = const(true)); DataClassification = CustomerContent; } +#if not CLEANSCHEMA26 field(18149; "E-Commerce Merchant Id"; code[30]) { Caption = 'E-Commerce Merchant Id'; @@ -67,6 +68,7 @@ tableextension 18148 "GST Sales Invoice Header Ext" extends "Sales Invoice Heade ObsoleteState = Removed; ObsoleteTag = '26.0'; } +#endif field(18150; "GST Bill-to State Code"; Code[10]) { Caption = 'GST Bill-to State Code'; diff --git a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesShipmentHeaderExt.TableExt.al b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesShipmentHeaderExt.TableExt.al index 5fcb7a37e2..795cb939fd 100644 --- a/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesShipmentHeaderExt.TableExt.al +++ b/Apps/IN/INGST/app/GSTSales/src/tableextension/GSTSalesShipmentHeaderExt.TableExt.al @@ -55,6 +55,7 @@ tableextension 18154 "GST Sales Shipment Header Ext" extends "Sales Shipment Hea TableRelation = Customer where("e-Commerce Operator" = const(true)); DataClassification = CustomerContent; } +#if not CLEANSCHEMA26 field(18149; "E-Commerce Merchant Id"; code[30]) { Caption = 'E-Commerce Merchant Id'; @@ -66,6 +67,7 @@ tableextension 18154 "GST Sales Shipment Header Ext" extends "Sales Shipment Hea ObsoleteState = Removed; ObsoleteTag = '26.0'; } +#endif field(18150; "GST Bill-to State Code"; Code[10]) { Caption = 'GST Bill-to State Code'; diff --git a/Apps/IN/INGST/app/Translations/India GST.en-GB.xlf b/Apps/IN/INGST/app/Translations/India GST.en-GB.xlf index 347d3cffc0..49b46470af 100644 --- a/Apps/IN/INGST/app/Translations/India GST.en-GB.xlf +++ b/Apps/IN/INGST/app/Translations/India GST.en-GB.xlf @@ -9716,7 +9716,7 @@ GST Use Cases - + Codeunit GST Base Tax Engine Setup - Method GetConfig - NamedType {71EC1D59-01EC-4486-8CB4-0957D4ADF38B}Lbl diff --git a/Apps/IN/INGST/app/Translations/India GST.en-US.xlf b/Apps/IN/INGST/app/Translations/India GST.en-US.xlf index ae895a4b49..0de25b10f1 100644 --- a/Apps/IN/INGST/app/Translations/India GST.en-US.xlf +++ b/Apps/IN/INGST/app/Translations/India GST.en-US.xlf @@ -9716,7 +9716,7 @@ GST Use Cases - + Codeunit GST Base Tax Engine Setup - Method GetConfig - NamedType {71EC1D59-01EC-4486-8CB4-0957D4ADF38B}Lbl diff --git a/Apps/IN/INTDS/app/TDSBase/src/TaxEngineSetup/TDSTaxConfiguration.Codeunit.al b/Apps/IN/INTDS/app/TDSBase/src/TaxEngineSetup/TDSTaxConfiguration.Codeunit.al index 01e7083f7c..bc498291ab 100644 --- a/Apps/IN/INTDS/app/TDSBase/src/TaxEngineSetup/TDSTaxConfiguration.Codeunit.al +++ b/Apps/IN/INTDS/app/TDSBase/src/TaxEngineSetup/TDSTaxConfiguration.Codeunit.al @@ -81,7 +81,7 @@ codeunit 18694 "TDS Tax Configuration" UseCases.Add('{98E3D17E-B644-4DBA-836C-CF26A20EDD3F}', 3); UseCases.Add('{D0CED206-BE26-47A3-A370-D064D8AFCE44}', 1); UseCases.Add('{487C3669-B12A-42C0-9FEA-D23AB1426BF6}', 1); - UseCases.Add('{1E42FDF3-1868-4205-A6D6-D2FC67BD132F}', 6); + UseCases.Add('{1E42FDF3-1868-4205-A6D6-D2FC67BD132F}', 7); UseCases.Add('{75222E87-A1A0-48EE-9211-D3F59009C287}', 1); UseCases.Add('{25C2D9C3-2A87-41A6-9AB9-DC76E818DF0C}', 1); UseCases.Add('{08737F79-35F1-4670-BD1D-E41764E3A9DE}', 1); diff --git a/Apps/IN/INTDS/app/Translations/India TDS.en-GB.xlf b/Apps/IN/INTDS/app/Translations/India TDS.en-GB.xlf index c51eca8a38..a51629a275 100644 --- a/Apps/IN/INTDS/app/Translations/India TDS.en-GB.xlf +++ b/Apps/IN/INTDS/app/Translations/India TDS.en-GB.xlf @@ -2096,7 +2096,7 @@ TDS Use Cases - + Codeunit TDS Tax Engine Setup - Method GetConfig - NamedType {1E42FDF3-1868-4205-A6D6-D2FC67BD132F}Lbl diff --git a/Apps/IN/INTDS/app/Translations/India TDS.en-US.xlf b/Apps/IN/INTDS/app/Translations/India TDS.en-US.xlf index bd96695d6f..79885e1b0a 100644 --- a/Apps/IN/INTDS/app/Translations/India TDS.en-US.xlf +++ b/Apps/IN/INTDS/app/Translations/India TDS.en-US.xlf @@ -2096,7 +2096,7 @@ TDS Use Cases - + Codeunit TDS Tax Engine Setup - Method GetConfig - NamedType {1E42FDF3-1868-4205-A6D6-D2FC67BD132F}Lbl diff --git a/Apps/IN/INTaxBase/app/Translations/India Tax Base.en-US.xlf b/Apps/IN/INTaxBase/app/Translations/India Tax Base.en-US.xlf index 7a2d5f1b1d..b5c078e392 100644 --- a/Apps/IN/INTaxBase/app/Translations/India Tax Base.en-US.xlf +++ b/Apps/IN/INTaxBase/app/Translations/India Tax Base.en-US.xlf @@ -270,7 +270,7 @@ Use Case Tree Place holder - ''),Field18080=1(<>''),Field18096=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000311","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Registered/Unregistered","NodeType":"Use Case","TableID":39,"CaseID":"{F6F63738-94DD-4B0B-BAD6-4EC11668D327}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000312","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8D93354A-64E8-4DA5-A1A7-741A42B80B33}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000313","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{826B72ED-5C21-45CA-A966-8443C38B768A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000314","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{7C64DCF3-718C-405E-A389-582FD1E33E5D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000315","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{71ED6108-7E6C-42E3-BEC8-DF9AD0C7A27E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000316","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{C724AA5A-92F2-4965-957B-C43EEACAABE6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000317","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - G/L Account","NodeType":"Use Case","TableID":39,"CaseID":"{DEEB69C8-EDAA-4A5A-875E-A20DA52008BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000318","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{DE898176-3602-4CBD-BF29-EAF4A9C03987}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000319","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - G/L Account (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{F7192A60-5739-4B72-AB1D-FB48ED3EE0F9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000320","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{3E8E1EDA-828E-40BE-8FD4-3456546F47A6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000321","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{FD3380A2-217C-4059-A344-1D832B755088}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000322","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice- Fixed Asset","NodeType":"Use Case","TableID":39,"CaseID":"{E1914856-FF7A-4B3A-99D5-17190CE10C27}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000323","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8D7FD8C3-FCB1-4968-8FD6-08181778EC29}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000324","Name":"Calculation of Cess where input tax Credit is Not Available for Goods through Purchase Quote/Order/Invoice -(Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{1E087C72-9078-4C31-ABD5-38F01008E508}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000325","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{508FE302-0CAB-41B6-8C43-737EBE931312}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000326","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{68FE3FB0-9F3C-44A6-9686-F37192B1A371}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000327","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{2EA01E14-807E-4CC7-8494-9EAAFBA21709}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000328","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice -Fixed Asset(Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{6ADC0F4A-6D69-4BAE-A94F-7DC0889758DC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000329","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{C9822271-8F51-46B7-B4BD-A2B424B1699B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000330","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{C63F1B6C-96EE-41CB-879B-801CE9C734A6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000331","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{F748E0D1-BC76-4D68-8CBD-FF4189DC3517}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000332","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{AE6444ED-20D1-4E69-A69C-7DCAEC9C4738}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000333","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Fixed Asset from Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{535A4B2C-EEA4-4267-8638-F57DE9153FDD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000340","Name":"End Cess on Purchase","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000350","Name":"Cess on Purchase Return","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(3|5),Field7=1(<>''),Field18080=1(<>''),Field18096=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000351","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Registered/Unregistered","NodeType":"Use Case","TableID":39,"CaseID":"{725E8FB9-C4CC-42B7-B060-5E86614A8168}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000352","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{EFF1E5F5-6CC1-414D-BD1F-1095D42F9A4A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000353","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/ Credit Memo - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8BB1C380-7CFE-4B49-82AD-78BBA652EB5C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000354","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{231587B2-D0BD-4362-9A3B-11839F7BB326}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000355","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{CEAE9F6C-7E67-4347-9E66-A9C6C54E4ECE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000356","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - G/L Account","NodeType":"Use Case","TableID":39,"CaseID":"{F33121DD-68CB-423C-A98B-6FF10BD8CED7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000357","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - G/L Account (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{75A11E67-E9DF-446F-974A-AE9F91D8EA1C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000358","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/Credit Memo - Goods from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{6F2DE875-4569-41DB-A28E-021E4D00378A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000359","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/Credit Memo - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{7D571F8D-B6A0-47E0-B80F-9AC703DF1D3B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000360","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/ Credit Memo - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A622E949-C161-4AE2-B6DB-7D3C16E5D899}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000361","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Fixed Asset","NodeType":"Use Case","TableID":39,"CaseID":"{43F17130-4EA1-48FE-B1A8-716EE5DF7C16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000362","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/ Credit Memo - Fixed Asset from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{3A6F385C-72E7-42C6-A696-47102B270402}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000364","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/ Credit Memo - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{6DEEF440-3A5B-4201-9D1B-59AC37AF4C36}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000365","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/Credit Memo - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{C08A9FD5-5ECC-4BB5-8A19-345060822129}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000366","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Fixed Asset(Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{CBDB09CC-FB6C-4475-89A3-62C04DADFA15}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000367","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo Unregistered Vendor- Item (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{39808C8A-4131-4B49-BF1D-D8FA64667B3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000368","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{812C7B77-0622-4E71-9F4E-261C3874A680}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000369","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{3B82DBC4-FAAE-477D-892C-AD82ECDFEF7E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000370","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo -G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{B4A44DCF-6090-4813-9C09-193AB1A09B93}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000371","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{A79DCE33-C753-4680-A6A3-F824608702B1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000372","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Fixed Asset - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{FBD319E5-BDFD-43E8-B9EB-275F01FA6A40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000380","Name":"End Cess on Purchase Return","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000500","Name":"Cess on Sales","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2|4),Field5=1(1|2|4|3),Field7=1(<>''),Field18142=1(<>''),Field18144=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000501","Name":"Calculation of Cess on sales to Registered/Unregistered Customer through Sales Quote/Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{3D30F63D-D6C1-4B1B-ACFD-E252FAB190E2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000502","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Quote/Order/Invoice with Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{9B4E1225-00F2-4467-BA93-29AD1F2EBD46}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000503","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Quote/Order/Invoice without Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{0F354915-7E17-421B-87D8-7E6C2716E173}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000504","Name":"Calculation of Cess on sales to Registered/Unregistered/Exempted/SEZ/SEZ Development/ Deemed Export Customer through Sales","NodeType":"Use Case","TableID":37,"CaseID":"{33CD3931-0BA0-4358-B808-5C6378CAA489}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000505","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Quote/Order/Invoice with Payment of Duty - Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{37EFA642-056C-45E8-974E-6B41B335FC81}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000506","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Return Order/Credit Memo with Payment of Duty - Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{DE8006B8-CF9F-474A-AE29-C7903A148261}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000600","Name":"End Cess on Sales","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000601","Name":"Cess on Sales Return","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(3|5),Field5=1(2|1|3|4),Field7=1(<>''),Field18142=1(<>''),Field18144=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000602","Name":"Calculation of Cess on sales to Registered/Unregistered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{272FFE9F-A7C9-4AF8-87DD-3EA53BA18511}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000603","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Return Order/Credit Memo with Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{9DB4ECE1-3397-4ADD-9EA8-40A8D82A6A9A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000604","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Return Order/Credit Memo without Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{423BECDD-68DC-4541-9047-8F6B797709E5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000605","Name":"Calculation of Cess on sales to Registered/Unregistered/Exempted/ SEZ/ SEZ Development/ Deemed Export Customer through Sales Return Order/ Credit Memo - Exempted","NodeType":"Use Case","TableID":37,"CaseID":"{ED1E0A5D-C364-4F36-847E-AAE263B34185}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000700","Name":"End Cess on Sales Return","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000701","Name":"Cess on Transfer Order","NodeType":"Begin","TableID":5741,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field3=1(<>''),Field18394=1(<>''),Field18395=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000702","Name":"Calculation of Cess in Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{631DEFA0-165E-4BDC-8F8A-AB2A88DF90AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000750","Name":"End Cess on Transfer Order","NodeType":"End","TableID":5741,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-001000","Name":"End GST Cess","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100001","Name":"GST","NodeType":"Begin","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"GST","IsTaxTypeRoot":true},{"Code":"TE-100011","Name":"Subcontracting GST For Delivery Challan Line","NodeType":"Begin","TableID":18469,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field54,Field55) WHERE(Field46=1(<>''),Field47=1(<>''),Field102=1(<>''),Field103=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100012","Name":"Intra-state Subcontracting GST For Delivery Challan Line for Registered Vendor","NodeType":"Use Case","TableID":18469,"CaseID":"{5388F401-5CDE-4918-A9B0-B7B134235921}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100013","Name":"Inter-state Subcontracting GST For Delivery Challan Line for Registered Vendor","NodeType":"Use Case","TableID":18469,"CaseID":"{6A75BFF5-C880-498F-AC1D-E9CF9BE7F888}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100099","Name":"Subcontracting GST For Delivery Challan Line","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100100","Name":"Subcontracting GST For GST Liability Line","NodeType":"Begin","TableID":18470,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field3,Field4) WHERE(Field46=1(<>''),Field47=1(<>''),Field102=1(<>''),Field103=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100101","Name":"Intra-state Subcontracting GST on GST Liability Line for Registered Vendor","NodeType":"Use Case","TableID":18470,"CaseID":"{81A83FF9-D7EB-4B5F-A2AE-ED346B7A9079}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100102","Name":"Inter-state Subcontracting GST on GST Liability Line for Registered Vendor","NodeType":"Use Case","TableID":18470,"CaseID":"{81A24E9D-52B9-4EFE-A18B-398C6BAD55ED}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100199","Name":"Subcontracting GST For GST Liability Line","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100200","Name":"GST Finance Charge Memo","NodeType":"Begin","TableID":303,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field18142=1(<>''),Field18144=1(<>''))","TaxType":"GST","IsTaxTypeRoot":false},{"Code":"TE-100201","Name":"InterState GST Calculation on Finance Charge Memo For Registered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{10675EE2-5AA7-4D43-8794-03BA8CD85445}","Condition":"VERSION(1) SORTING(Field1,Field2)","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100202","Name":"Intrastate GST Calculation on Finance Charge Memo For Registered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{853FC9A7-4D6E-4511-8207-BB18D1FFC0E8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100203","Name":"InterState GST Calculation on Finance Charge Memo For SEZ Unit/SEZ Development/Deemed Export Customer With Payment of Duty.\n","NodeType":"Use Case","TableID":303,"CaseID":"{CAC3F49D-59DD-4F1A-B0F3-AC28F7552973}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100204","Name":"InterState GST Calculation on Finance Charge Memo For Unregistered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{C4BC4E11-E295-4A20-9F5F-801F2406A610}","Condition":"VERSION(1) SORTING(Field1,Field2)","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100205","Name":"Intrastate GST Calculation on Finance Charge Memo For Unregistered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{34D44752-1655-43CC-8DD8-9CBA775C5554}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100206","Name":"Intrastate GST Calculation on Finance Charge Memo For Exempted Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{4C815B8B-6831-4E19-899D-361FBA9CFC43}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100207","Name":"InterState GST Calculation on Finance Charge Memo For Exempted Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{EC7AE7B0-93FA-42C2-9717-BBD2E8FC4D4C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100208","Name":"InterState GST Calculation on Finance Charge Memo For SEZ Unit/SEZ Development/Deemed Export Customer Without Payment of Duty.\n","NodeType":"Use Case","TableID":303,"CaseID":"{6946230A-A2F4-4E4B-90C6-6C907D010EB5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100300","Name":"GST Finance Charge Memo","NodeType":"End","TableID":303,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110001","Name":"Sales","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field7=1(<>''),Field18142=1(<>''),Field18144=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110501","Name":"Sales Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2|4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110601","Name":"Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110696","Name":"Sales Line No Not Blank","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field6=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110700","Name":"Export to SEZ/ SEZ Development /Deemed Export With Payment of Duty through Sales Order/Invoice - Exempted","NodeType":"Use Case","TableID":37,"CaseID":"{A4C57AB8-DBFF-473C-B2A3-739975737950}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110701","Name":"Intra State Sales of Exempted from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4911101A-A3D1-4596-836C-A9EB2F2CB24C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110702","Name":"Inter State Sales of Exempted from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{CA856646-6B6F-42D2-A4CC-64A8F52DE9F6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110703","Name":"Inter State Sales of Exempted from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{CE4E5351-F5F5-413A-AAF9-6C5EA6530D93}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110704","Name":"Intra State Sales of Exempted from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{887FEE8B-EFB6-4010-B79B-4CDB44F23CC8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110705","Name":"Intra State Exempted Sales for Deemed Export Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{332A3E45-C1C8-423A-9063-B55EFA585045}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110706","Name":"Export and Exempted to Foreign Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{74E6E05F-641D-4857-8F88-C48783B29B3E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110707","Name":"Intra state Sales of Charge Item from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{D2C0BC32-D71C-4FEC-A3FC-63A0586DA3D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110708","Name":"Inter State Sales of Exempted Charge Item from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{8E20FC81-1137-41B3-A90E-AE86CD66F718}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110720","Name":"End Sales Line No Not Blank","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110721","Name":"Type - G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110722","Name":"Intra state Sales of Services from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A9D34135-2984-4C5D-99C0-5563408C59EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110723","Name":"Inter State Sales of Exempted Services from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{E474605D-6956-438B-95F2-DA5BE6A6D741}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110740","Name":"End Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110741","Name":"Begin Type - Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110742","Name":"Inter State Sales of Exempted Goods from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{144DB41F-813A-4EE0-87EC-7082D07652B7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110743","Name":"Intra state Sales of Goods from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{C3901ECF-9316-49A7-9897-B8C52A5A66A0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110760","Name":"End Type - Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110761","Name":"Begin Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110762","Name":"Inter State Exempted Sales of Fixed Assets from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A48A1647-673E-4C77-9997-143963591989}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110763","Name":"Intra state Sales of Fixed Asset from Exempted Customer through Sales Quote/ Order/ Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{26405773-06F9-4F36-B6B1-E80AA9987628}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110780","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110801","Name":"End Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-111001","Name":"Not Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-111950","Name":"Sales Line No Not Blank","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field6=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112001","Name":"Intra-State Sales of Services to Overseas Place of Supply to Registered Customer Through Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{FA5B2691-7B6B-43B4-92F1-9B6D10A216E4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112002","Name":"GST Deemed Exports With Payment of Duty through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{B66179F8-E62E-45F8-9DE3-5351C859F85D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112003","Name":"Intra State Sales for Deemed Export Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{2C82CF3D-40B2-4FCC-8F04-E649DADD1619}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112004","Name":"Intra State Sales for Deemed Export Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{1F930CB5-93A8-4BE9-B412-B9B44F1FBE2B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112005","Name":"Intra State Sales for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{71177393-F102-466E-AC36-1A460BC1C3E9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112010","Name":"End Sales Line No Not Blank","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112051","Name":"Type - Charge Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112052","Name":"Intra State Sales of Charge Item from Registered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{7422E62E-F5A5-46C6-8A2D-9F9F4C082C91}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112053","Name":"Intra State Sales of Charge Item from Unregistered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A9E13C42-F366-4E5F-A057-1E0B4E43D454}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112054","Name":"Inter State Sales of Charge Item from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{F5794DA7-0CC7-42C2-BEA0-18EB8F98BB5A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112075","Name":"Inter State Sales of Charge Item from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{207FA1CE-712A-475E-AC05-B36812DDE2C8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112076","Name":"Export Sales of Charge Item from SEZ Unit / Development through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4083D3D9-1F73-48ED-ABD1-12C0559D270F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112077","Name":"Export Sales of Charge Item from SEZ Unit / Development without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{EFF7E856-EF6B-4EC0-9AAE-C2E07B6CB15B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112078","Name":"Export Sales of Charge Item from SEZ Unit / Development through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{40065229-E7D9-4C0A-A0EB-5DE70DD4E9AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112079","Name":"GST Deemed Exports for Charge Item through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{929EB05F-45B5-4F4F-9DD4-61AFAB36F21B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112080","Name":"GST Deemed Exports for Charge Item Without Payment of Duty through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{A2608A05-D116-4475-B690-A6E26170BC2C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112081","Name":"Export Charge Item to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9D6C4AC2-81D1-47E7-8C7C-494F20F1719F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112082","Name":"Export and Charge Item to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9CBCEC6F-A01B-422B-8AAB-4B6BC90EC959}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112100","Name":"End- Type - Charge Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112101","Name":"Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112102","Name":"Inter State Sales of Fixed Asset from Registered Customer through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{46CB3503-286F-43C3-9B04-FBBD5F2CBAF0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112103","Name":"Intra State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{636979B2-6B57-49C6-B0B8-B306261B3304}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112104","Name":"Intra State Sales of Fixed Asset from Registered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A4044120-D393-4525-88F4-AB1A71F2E49C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112105","Name":"Inter State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{52FD8776-17C2-428A-B747-159404771D07}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112106","Name":"Export Fixed Asset to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{AF5EE023-63DF-4210-AD71-6436230F6DFA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112107","Name":"GST Deemed Exports of Fixed Asset through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{7B9EA3AF-2235-44F9-AE67-E0F9F74740E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112108","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{8E2CB0E2-795D-4DC3-879B-5117E415DFB9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112109","Name":"Export Fixed Asset to SEZ Unit Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{8FDC8D41-E5D7-40D7-B962-80DA519596F3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112110","Name":"Export Fixed Asset to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{C99A231E-6BBF-4982-AEAF-6CAAC7E5BA9B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112111","Name":"Export Fixed Asset to Deemed Export Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4490AC87-E83B-44C4-A6A8-EAF2650E8773}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112112","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice - Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{6EC9FAFD-8029-4B9C-8899-CB3C494682D1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112113","Name":"Export of Fixed Asset to SEZ Development Without Payment of Duty through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{24BF4F23-3693-4E31-ADDA-9D2F91057CA2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112114","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{58789CA5-0F23-4972-B1FE-3EE6E8BC19A1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112115","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{A18E31F4-0E06-42B6-B8E0-282B42CA2A28}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112214","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112249","Name":"Type - G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112250","Name":"Intra State Sales of Services from UnRegistered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{1BAE51D1-AD26-40F8-BFD2-156024A23A7B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112251","Name":"Inter State Sales of Services from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{2E7A7A10-CCD5-4673-AF42-1EF83425931F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112252","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4529A161-49CC-44B6-95BA-CC141FA794B1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112253","Name":"Intra State Sales of Services from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4962D3B9-0349-4BE9-B173-22B456AEE6C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112254","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{BF9D05ED-BF8A-4BC8-9195-D008E4E381FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112255","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice. - POS","NodeType":"Use Case","TableID":37,"CaseID":"{E6D39823-CCCC-43DC-BD7E-CC6EEEBDB5EB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112256","Name":"Export and Service to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{DD3CF85B-64EA-4DD4-A626-C472E3B3B072}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112257","Name":"Export and Service to Foreign Customer With Payment of Duty through Sales Order/Invoice With GST on Assessable value.","NodeType":"Use Case","TableID":37,"CaseID":"{1C9C14DA-22A0-4F6B-968A-1F79BE11B7A1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112258","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{ABD1A54F-36DA-45A7-AFED-451B98434B0C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112259","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B2150DAA-4B46-41F2-89BF-19F5FD89362E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112260","Name":"Export Services to SEZ Development Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{F8591F7C-5D5C-4976-B5F1-E3248733EBC5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112261","Name":"Export Services to Deemed Export Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{21A349A2-B069-4AA5-86B9-34136BE37267}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112262","Name":"Export Service to SEZ Unit Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{512B21D6-5395-499F-A2BE-EF6D24385C89}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112263","Name":"Export Services to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{8638A2E3-3F44-4672-A54D-0D65B1528FF9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112264","Name":"Calculation of GST Services where Unregistered Transporter, TPT Location is different and Pick Up Location and Delivery Location is same through Sale Orders/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{99C83819-83BC-418A-A2A7-26A041F2F99A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112265","Name":"Inter State Sales of Services from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{C6AAB568-68A3-4D8A-A708-ECD7EFD9A3EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112266","Name":"Intra State Sales of Service from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{9666CA08-2C56-43C5-B36F-7FD3745FE832}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112267","Name":"Inter State Sales of Service from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{D9221422-669E-485D-8224-053D641FE4F3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112268","Name":"GST Deemed Exports of Services through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{67F7C66D-5296-4A5F-A85F-D4B91D1DBF97}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112269","Name":"Calculation of Transportation of Services from Registered Vendor, where TPT Location and Pick Up Location is same and Delivery Location is different. through Sales Order","NodeType":"Use Case","TableID":37,"CaseID":"{8D0E6401-974F-4F8E-9254-2AF9067E73DC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112270","Name":"Calculation of Transportation of Services from Un-Registered Vendor, where TPT Location and Pick Up Location is same and Delivery Location is different. through Sales Order","NodeType":"Use Case","TableID":37,"CaseID":"{99F473AC-553E-4032-AEDB-0AE44C871CD2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112271","Name":"Calculation of GST in case of Transportation of Service where Registered Transporter State is different and Pick Up Location State and Delivery Location State is same through Sale Orders","NodeType":"Use Case","TableID":37,"CaseID":"{02B82B77-D7E5-4A49-89A2-6D46EC87AE61}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112272","Name":"Calculation of GST in case of Transportation of Service where Un-Registered Transporter State is different and Pick Up Location State and Delivery Location State is same through Sale Orders","NodeType":"Use Case","TableID":37,"CaseID":"{76F9EC4B-C6F3-4DBE-B1CA-04EFC5AD609E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112273","Name":"Calculation of Transportation of Services from Registered Vendor, , TPT Location is different and Pick Up Location is different and Delivery Location is different through Sale Orders","NodeType":"Use Case","TableID":37,"CaseID":"{CF4626CB-7022-41C6-95C6-E1FE28C8C370}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112274","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice -Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{C447C36E-72FA-4FEA-A49C-F976FE57275D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112275","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice -Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{5043629A-E2D7-4E0D-AD7F-C9D505507D01}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112276","Name":"Intra State Sales of Service from Registered Customer through Sales Order/Invoice For Ship To Address.","NodeType":"Use Case","TableID":37,"CaseID":"{0321474A-ABD0-45DB-8CEA-B586A5CB7F49}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112399","Name":"End Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112400","Name":"Type - Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112401","Name":"Inter State Sales of Goods from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{11160E03-89D0-481D-B2EA-24898F3DB4AB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112402","Name":"Intra State Sales of Goods from UnRegistered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{364EABA8-DF5D-4174-951E-9C9B375830D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112403","Name":"Intra State Sales of Goods from Registered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{A8BF5AD2-5132-40E7-9DF1-893B3940F6EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112404","Name":"Intra State Sales of Goods from Unregistered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{CFE77ACE-1F20-4126-98D9-8D14B18088EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112405","Name":"Inter State Sales of Goods from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B61CB389-28BD-4569-BF95-284B62972B23}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112406","Name":"Intra State Sales of Goods from Registered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{6B464955-261F-4EAF-A749-7807444FC37C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112407","Name":"Export and Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{55AD5167-785F-4CC3-B633-84A8414EE100}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112408","Name":"Export and Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice With GST on Assessable value.","NodeType":"Use Case","TableID":37,"CaseID":"{23C292E2-9704-4112-9AB6-A2FCBDDFFA6A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112409","Name":"Export Goods to SEZ Unit Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{2961B717-F882-4174-A7D0-98737C7F49A2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112410","Name":"Export Goods to SEZ Unit With Price Inclusive of Tax through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9CF523A9-24DB-4928-A3CB-8DC5FCA4AF69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112411","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{6621F516-24B5-47CC-AB8B-6EF51F2616E3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112412","Name":"GST Deemed Exports of goods through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{759DC0B3-0697-4262-B0B6-12AA4A6E3822}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112413","Name":"Export Goods to Deemed Export Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{AA3E77B0-A08A-4756-90E5-F6561C7D4B9B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112414","Name":"Export and Goods to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{BAEC40C3-3C56-4B4F-95C9-ED6E1E39A019}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112415","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B618D919-C2A5-4BB8-B7EF-13784A51A6D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112416","Name":"Export Goods to SEZ Development Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{34D0EE0E-FC73-416C-A59C-484107E36965}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112417","Name":"Intra State Sales of Goods from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{74601C3A-21C1-4924-950E-039ADD6086E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112418","Name":"Inter State Sales of Goods from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{E06B429C-0CDD-4F49-9C4D-8546151805AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112419","Name":"Intra State Sales of Goods from Registered Customer through Sales Order/Invoice - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{888E76DA-FA62-4714-83A3-76777E325D84}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112420","Name":"Inter State Sales of Goods from Registered Customer through Sales Order/Invoice - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{277B1053-C551-4BF4-9518-7BFE200A8E18}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112421","Name":"Export Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice with Shipment locally as Intrastate.","NodeType":"Use Case","TableID":37,"CaseID":"{9F7A9C0A-BC4A-45C2-B79B-7D22EDB6ABBB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112422","Name":"Export Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice with Shipment locally as Interstate.","NodeType":"Use Case","TableID":37,"CaseID":"{F69C2334-D38A-4CC1-B701-D7DC4C3B7CA9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112423","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice - Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{13217522-8F07-4C15-9787-8B1840E8CC40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112424","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{FA8E63F5-19A9-4940-AD59-DB7067BE069A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112425","Name":"Intra State Sales of Goods from Registered/Unregistered Customer through Sales Quote with FOC","NodeType":"Use Case","TableID":37,"CaseID":"{E449E955-A401-4C0D-9DB6-3920DA89D68E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112426","Name":"Intra State Sales of Goods from Registered/Unregistered Customer through Sales Quote with FOC","NodeType":"Use Case","TableID":37,"CaseID":"{E449E955-A401-4C0D-9DB6-3920DA89D68E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112450","Name":"End Type - Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112500","Name":"Type - Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112501","Name":"Intra State Sales of Resource from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{D1629C9B-AA5B-4237-94CE-5B14BAF756C0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112502","Name":"Intra State Sales of Resource from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9B0FE6DB-6121-44B0-8BD0-08B8060D7A92}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112503","Name":"Inter State Sales of Resource from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{D95F6D4E-EEF5-41B7-8284-694BCBDFEABD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112504","Name":"Export Resource to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{60F5C368-9B10-45CB-BB1B-63DEF7520AB6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112505","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{77D07467-2180-4712-814A-A6292F8D5E59}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112506","Name":"GST Deemed Exports for Resource through Sales Order/ Invoice\n","NodeType":"Use Case","TableID":37,"CaseID":"{BE8902D9-72AA-41C9-BACE-1B781D7C8107}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112507","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{96B76AC2-66FF-4457-9DE3-3F2A3213C3E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112508","Name":"Inter State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{B2047EB4-AD5D-4E8B-BFFC-94FB1C4EED34}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112509","Name":"Inter State Sales of Resources from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{C8652C10-76BA-489E-985D-CFFC24D6276B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112510","Name":"Inter State Sales of Resource from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{149E867B-BE67-4BA4-AE3B-36C10F7552F5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112511","Name":"Inter State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{6F89240D-BBA1-4BB9-85B6-0BE2154EE0B8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112512","Name":"Intra state Sales of Resources from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A1895816-94BF-4F67-819E-D3898920FAF5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112513","Name":"Intra State Calculation of GST on Resource to SEZ Unit / Development Without Payment of Duty through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{969F9BE2-D2C0-4DB5-BD38-F9DAC8AB8173}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112514","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{882CB936-42D9-4C2D-BFD9-028D5F5D3337}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112515","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{4B114178-6589-41CD-907E-8C46CCDFE895}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112516","Name":"Inter State Calculation of GST on Resource to SEZ Unit / Development Without Payment of Duty through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{E28ED0E6-8917-4D81-AD22-29D13FE94091}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112517","Name":"Inter State Calculation of GST on Resource to SEZ Unit / Development through Sales Order/ Invoice-Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{E9ED8CB8-E0BD-4E8A-88A5-1AA7348ACF20}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112518","Name":"GST Deemed Exports for Resource Without Payment of Duty through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{E65CE6AA-C447-466E-A3FE-154D3F5A76DC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112519","Name":"Inter State Sales of Resource from UnRegistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{DF167294-5878-44C6-9220-01D93BEA09FF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112520","Name":"Inter State Sales of Resource from Unregistered Customer through Sales Order/Invoice without FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{C8BA6CA4-7E8C-4053-980D-451FE32D8EFA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112550","Name":"End Type - Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112600","Name":"End -Not Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112601","Name":"Begin FOC","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18157=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112602","Name":"Begin Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112603","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112604","Name":"Intra State Sales for Goods from Registered Customer through Sales Order/Invoice With FOC","NodeType":"Use Case","TableID":37,"CaseID":"{6333F9D2-02B8-4FF1-88EE-386041B7FCA4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112605","Name":"Inter State Sales of Goods from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{C69C8C2B-3445-476C-80ED-776EC67B06D3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112609","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112610","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112611","Name":"Intra State Sales of Goods from Unregistered Customer through Sales Order/Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{A4B4B64C-1D4C-48EE-88E9-4BBC4F05EAE8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112612","Name":"Inter State Sales of Goods from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{E786A7D6-1147-46F6-BB75-1223AAC92007}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112616","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112617","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112618","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{BB38433A-2AE4-492D-8380-D8B5A6F80135}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112619","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{F0E83015-3886-4263-A0B7-A97BA3B7753C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112623","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112624","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112625","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice - Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{BE591554-5098-41FD-A200-5B5B48C19083}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112626","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{CF0F6DEA-A530-45B3-8B1B-CF86879E9EDA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112630","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112631","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112632","Name":"Intra State Sales for Deemed Export Customer for Goods through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{ADF93FBF-84BB-4DC9-8B87-EADDE08829F0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112633","Name":"GST Deemed Exports of goods through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{4116F9D4-1957-46D1-BCED-580BD21C0908}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112634","Name":"Intra State Sales for Goods for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{17DA0FC6-FC3F-4AB5-A2C7-34D00B649941}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112635","Name":"GST Deemed Exports for Goods With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{44130B2E-FBA8-47DE-BF1F-AF9145AC13BD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112637","Name":"EndGST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112638","Name":"End Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112639","Name":"Begin Type- G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112640","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112641","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{03D7D334-04D2-4EC5-AE88-A67C1409C8BE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112642","Name":"Inter State Sales of Services from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{08EACBE7-7B68-4B7B-8BCE-8D5D4FAD80F0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112647","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112648","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112649","Name":"Intra State Sales of Services from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{8D8429D6-2B1A-4081-900E-9D19C312335E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112650","Name":"Inter State Sales of Services from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{EA505D2C-22A0-4B4B-B20F-18A0E1AE2C02}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112653","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112654","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112655","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice -Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{81345EC6-231D-4274-95D2-302FFE85B903}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112656","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{FD5FD103-5251-4063-92C9-CCFE016B971B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112661","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112662","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112663","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice -Post GST to Customer For FOC","NodeType":"Use Case","TableID":37,"CaseID":"{6807FDAC-8BCB-4B1A-84FF-882C6A9C15B7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112664","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{0561985A-B2F9-4C9C-BE39-7D6AE423104E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112669","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112670","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112671","Name":"Intra State Sales for Deemed Export Customer for Services through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{3C1D2A94-CBAE-4190-BE50-AD56CF9218D9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112672","Name":"GST Deemed Exports of Services through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{05CEE5AD-FF50-479C-922C-1C51FE10F724}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112673","Name":"Intra State Sales for Services for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{741172E2-8B2D-461D-9081-71145F1316DF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112674","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112675","Name":"End Type- G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112676","Name":"Begin Type Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112677","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112678","Name":"Intra State Sales of Resource from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{9E8F612A-6306-4CD0-AA63-8F443733B9B5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112679","Name":"Inter State Sales of Resource from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{E8ACBB6B-EAAF-46C6-A4EA-EFB502D8E110}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112684","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112685","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112686","Name":"Intra State Sales of Resource from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{DC79D469-98CD-45FF-ADBB-27DFF74D2672}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112687","Name":"Inter State Sales of Resource from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{13827C55-0612-40EF-BED1-62D7605B9D68}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112692","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112693","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112694","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{747B1A95-DF79-4286-A38B-A6F98F2D2DE1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112695","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{5582B9B9-2C0C-4036-A0E1-ED20495D47AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112701","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112702","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112703","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{8B4B45EC-5B92-4383-935B-DE2E70579CA8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112704","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{51CD0A49-E8DF-42A3-9180-84D1A7076A42}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112710","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112711","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112712","Name":"Intra State Sales for Deemed Export Customer for Resource through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{103E8A37-530C-4FFF-BB01-D298E7DF9FFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112713","Name":"GST Deemed Exports for Resource through Sales Order/ Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{F356E0FE-23C7-4D81-A149-3659F2CEFBB4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112714","Name":"Intra State Sales for Resource for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{29C6FB1D-F01C-426F-AC3E-76E9122FDB69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112715","Name":"GST Deemed Exports for Resource With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{97120CFC-A3A4-4545-8A71-881473ED33C7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112720","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112750","Name":"End Type Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112751","Name":"Begin Type- Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112752","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112753","Name":"Intra State Sales of Fixed Asset from Registered Customer through Sales Order/Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{CF89D22F-0CD8-4E3C-A01C-6C159E03E5E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112754","Name":"Inter State Sales of Fixed Asset from Registered Customer through Sales Quote/Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{5860DC76-AE27-4A12-808D-667172BEF336}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112760","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112761","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112762","Name":"Intra State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{84992760-0362-488C-8D49-0DE8065F945C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112763","Name":"Inter State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{FBBCEAFB-3B22-4D36-969E-84AB2CDC7859}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112769","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112770","Name":"Begin GST Customer Type SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112771","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice - Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{FC888469-0E29-48BA-B417-07D5943D7C45}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112772","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{307349C1-C724-4CB8-8878-7587CC2617EC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112778","Name":"End GST Customer Type SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112779","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112780","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice -Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{A8B33288-CA54-4DC6-B3E4-A14E3CCA4EFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112781","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{DA8695B6-D7D7-41E9-BE59-C26A19D03C2C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112789","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112790","Name":"Begin GST Customer Type - Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112791","Name":"Intra State Sales for Deemed Export Customer for Fixed Assets through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{02A9B37F-66A8-446A-B5B0-703D594FF934}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112792","Name":"GST Deemed Exports of Fixed Asset through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{7E2F85F6-FFBA-45FE-80B5-39B654365ACD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112793","Name":"Intra State Sales for Resource for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{29C6FB1D-F01C-426F-AC3E-76E9122FDB69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112794","Name":"GST Deemed Exports for Fixed Asset With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{23F3D552-5B8B-47A9-B217-903567666BCE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112800","Name":"End GST Customer Type - Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112820","Name":"End Type- Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112821","Name":"Begin Type G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112822","Name":"Begin GST Customer Type Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112823","Name":"GST Deemed Exports for Services With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{53D88A93-5CE2-427C-81F0-6DCFC36F579F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112826","Name":"End GST Customer Type Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112827","Name":"End Type G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112840","Name":"End FOC","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112845","Name":"End Sales Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112848","Name":"Sales Return Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(5|3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112849","Name":"Not Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112850","Name":"Type - G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112851","Name":"Intra-State Sales Return of Services to Overseas Place of Supply to Registered Customer Through Sales Return","NodeType":"Use Case","TableID":37,"CaseID":"{44F4B3DF-4625-4E8F-9BE3-53C61B67463B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112852","Name":"Intra State Sales Return of Services from Registered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{BC238FA9-CAD7-43AB-8E7E-D6FFC7035EE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112853","Name":"Inter State Sales Return of Services from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{693D346E-069E-4306-9F7C-84665CD42141}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112854","Name":"Inter State Sales Return of Services from Registered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{80BC1B3E-DB26-4E90-B780-43C8BA593655}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112855","Name":"Intra State Sales Return of Services from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{8A18FA5B-AD17-43D3-8981-5BB20A04EFA2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112856","Name":"Intra State Sales Return of Services from Registered Customer through Return Order - POS","NodeType":"Use Case","TableID":37,"CaseID":"{1FF813B4-1776-4717-8C56-8F0E684ACE73}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112857","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{DB44587F-08FB-4D5F-96A3-6CD4D4E30300}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112858","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{895C47DF-89E2-4A14-9329-5E260C1DBF05}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112859","Name":"Export Return of Services to SEZ Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{81E2ACA0-D6DD-4B4A-ADEF-60B602660F25}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112860","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{1DE560C5-73C9-4476-9447-80FC42CD492C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112861","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo - POst GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{8139E94E-D43E-4C24-B6B3-C59F55737321}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112862","Name":"Export Return of Goods to Export Customer for item Type GL Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{4738101C-19E3-418C-A19D-61E67100D199}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112890","Name":"End - Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112895","Name":"Type - Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112896","Name":"Intra State Sales Return of Goods from Registered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{26581492-A8D9-41EB-B84E-40671AE8CC3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112897","Name":"Inter State Sales Return of Goods from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{77DC6AF2-5D31-4450-8F78-E2F7383B9EAB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112898","Name":"Intra State Sales Return of Goods from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{08F3F188-43F5-441F-AB95-BE332651AD3D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112899","Name":"Inter State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{2167C0D3-971D-481A-86BA-F45FB92025FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112900","Name":"Intra State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{293882EE-DEB8-47A9-BAF1-9221422B247A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112901","Name":"Inter State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{77D351AF-2B06-49FB-B72A-CF9980E31A43}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112902","Name":"Export Return of Goods to SEZ Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{BCB4C9B2-E212-4971-BE8C-914BC1DAAB1B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112903","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{17ED9604-C26D-496C-B2F4-9124166CF719}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112904","Name":"Export Return of Goods to SEZ Unit Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{A8ED1A73-743C-4D08-98E3-6D85C416E951}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112905","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{06F95F30-2C34-4CD2-9084-0B9101B9455D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112906","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{A744EF89-44A8-4CE0-81F8-3D8094623CD1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112907","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{8153E2CA-FD9A-4A9F-A0E4-A657636F83DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112908","Name":"Export Return of Goods to Export Customer Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{E607F91D-D6E7-459A-801A-CBB9C7F8CE89}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112950","Name":"End - Type - Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113000","Name":"Type - Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113001","Name":"Intra-State Sales Return of Resources from Unregistered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{8F88FDD0-561E-4FEA-A663-4F4BAEC9D009}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113002","Name":"Inter State Sales Return of Resources from Unregistered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{C9854015-8E55-43F1-A5F2-747FC1CF6A0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113003","Name":"Inter State Sales Return of Resources from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{52BFB82F-A54A-4E62-9DC3-2D608D6373B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113004","Name":"Intra-State Sales Return of Resources from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{6856A59C-FE7F-4DDA-B180-391F6E0D0A5F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113005","Name":"Export Return of Resource to Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{AD7D62C2-213F-4288-9506-BE3D205DBB95}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113006","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{FD76EB64-C01A-48C0-9F8E-3EE2E17BE515}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113007","Name":"Export Return of Resources to SEZ Unit / Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{D500E259-42B6-4346-BA2F-D76ECB9AFEE1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113008","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{E62B6029-1BFA-456D-8D43-306AB7C78589}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113105","Name":"End - Type - Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113106","Name":"Type- Charge Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113107","Name":"Intra State Sales Return of Charge Item from Un-Registered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{41F1CFC3-B9F5-464D-9B6D-2C7B6C83186C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113108","Name":"Inter State Return of Charge Item from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B3036F44-2238-4DC9-B250-70AA3FEC7821}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113109","Name":"Intra State Sales Return of Charge Item from Registered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{3835C90E-1BDF-4C46-B50E-C5375ED24ED4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113110","Name":"Inter State Sales Return of Charge Item from Registered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{DBE9B77E-9171-4F5C-A7CA-9156126D34FC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113111","Name":"Export Return of Goods to Export Customer for item Type Charge Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{D8792403-FBC9-455C-8A3A-C67DAFDB6E53}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113112","Name":"Export Return of Charge-Item to SEZ Unit / Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{609F72CC-C49F-43F1-AB52-E56ED173368B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113113","Name":"Export Return of Charge-Item to SEZ Unit / Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{7F8B0021-4099-48C9-80BB-D977917CEA9E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113114","Name":"Export Return of Charge-Item to SEZ Unit / Development With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{57A0B7F8-E6C5-4CC4-89AD-11A14AF3C68B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113125","Name":"End Type- Charge Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113140","Name":"Type- Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113141","Name":"Intra State Sales Return of Fixed Asset from Unregistered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{884574EB-3354-459C-AF96-6EB624CCEFFE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113142","Name":"Intra State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{F7C5C8B6-2EB3-478E-AE6B-66BEEB6A3861}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113143","Name":"Inter State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{C915C6D6-9C5D-4C2F-BAB6-50E13850581E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113144","Name":"Inter State Sales Return of Fixed Asset from UnRegistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{7627B9EF-CB23-4EAB-88D9-3D894B6F6607}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113145","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{24F69259-FD27-49A7-B5E8-3CBF5351132F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113146","Name":"Export Return of Fixed Asset to SEZ Unit Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{200C22B1-5DC0-4A80-B377-B14F9613D061}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113147","Name":"Export Return of Fixed Asset to SEZ Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{E35E188E-728D-42BE-94F0-4B0476315B0B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113148","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo - Post GST To Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{7D7F45D3-E214-47D5-8CD5-ED31E8F4092F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113149","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{1DD8BB1A-1AA9-4B82-9F6A-80F26AA8675D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113150","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{C6AFDFC6-874B-4B14-BCC9-8FC5B4992157}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113151","Name":"Export Return of Goods to Export Customer for item Type FA Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{AA85EF19-5F94-438E-ADC4-A9ACF0DCB0C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113160","Name":"End Type-Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113161","Name":"Begin No. Not Blank","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field6=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113162","Name":"Export Return of Services to Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{BB48AD27-2942-4C4A-B19C-4A7E76E181DA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113163","Name":"Export to SEZ/ SEZ Development /Deemed Export With Payment of Duty through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{D22C3484-E0DE-473F-9D62-2BB1DD4B10B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113164","Name":"Export to SEZ/ SEZ Development /Deemed Export Without Payment of Duty through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{2FF34432-5A9D-4C71-AF8B-6DDDC92F0A85}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113165","Name":"Export Return to Deemed Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{C502F69B-F76D-4D72-B7FC-A272A252590B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113166","Name":"Export Return to Deemed Export Customer Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{7BE46E73-EF21-4766-B4F2-34558460A2C9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113167","Name":"Deemed Export With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{2F7B1F64-56F5-48C9-A6B2-A5F7F2BF8A2F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113168","Name":"Intra-State Sales Return to Deemed Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{5FB236FB-7619-48A1-92D0-BD12F5C8A5C0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113169","Name":"Intra-State Sales Return to Deemed Export Customer Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{A030C0C9-951C-4818-8A68-C6D5917C31BF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113170","Name":"Intra-State Sales Return to Deemed Export Customer With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{0BD7BB2E-38E6-4254-82CB-713F429D787C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113180","Name":"End No. Not Blank","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113205","Name":"End - Not Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113305","Name":"Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113306","Name":"Intra state Sales Return of Exempted Resources from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{99E193A6-6A7C-4035-BCC1-F2BC49DC4F86}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113307","Name":"Inter State Sales Return of Exempted from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{A485DD0E-AB08-49E5-9C7C-1FCA3398AE3F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113308","Name":"Inter State Sales Return of Exempted Resources from Unregistered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{A49C7425-A602-4445-873D-BCA89D3C2330}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113309","Name":"Export to SEZ/ SEZ Development /Deemed Export With Payment of Duty through Sales Return Order/ Credit Memo - Exempted","NodeType":"Use Case","TableID":37,"CaseID":"{D187D562-E011-4879-839D-A3CB824D11EC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113310","Name":"Intra state Sales Return of Exempted Item from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{1A135F44-7A65-49A6-A08A-C87D453E5837}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113350","Name":"Intra state Sales Return of Exempted Resources from Unregistered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{C2730DF7-9769-4732-819E-C39124E5E3F8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113351","Name":"End -Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113380","Name":"Begin Type Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113381","Name":"Intra state Sales Return of Exempted Goods from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{DA8B91D0-1B63-44EE-BA57-0A40B1403080}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113382","Name":"Inter State Sales Return of Exempted Goods from Exempted Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{246B0F60-6CA4-42A1-ACDD-30C38C89D2C4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113400","Name":"Begin Type Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113401","Name":"Begin Type G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113402","Name":"Intra state Sales Return of Exempted Services from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{D2A96240-2F58-406C-8774-03CD60C28E5D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113403","Name":"Inter State Sales Return of Exempted Services from Exempted Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{E9E7486C-DBFB-432C-886F-017AD828CE5E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113420","Name":"End Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113421","Name":"Begin Type - Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113422","Name":"Intra state Sales Return of Resource from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{10E9D621-B3A8-49E2-BAA1-EB7D535C0712}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113430","Name":"End Type - Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113431","Name":"Begin Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113432","Name":"Inter State Exempted Sales Return of Fixed Assets from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{2D2466D5-E651-49FE-A00C-9DE16690874C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113433","Name":"Intra state Sales Return of Exempted Fixed Asset from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{1C2FBFBD-A18B-4A5D-819E-043993E5510C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113440","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113441","Name":"Begin Type - Charge Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113442","Name":"Inter State Sales Return of Exempted Charge Item from Exempted Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{0410BC8A-0231-4947-8ED6-982A68846120}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113443","Name":"Intra state Sales Return of Exempted Charge Item from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{3277542B-B49C-4CCD-B661-F72C71CED698}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113445","Name":"End Type - Charge Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113449","Name":"Begin FOC","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18157=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113450","Name":"Begin Type Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113451","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113452","Name":"Intra State Sales Return of Goods from Registered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{14FC3D2C-3DAF-4C04-AA69-6AE47D0D7552}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113453","Name":"Inter State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{A4A8C87F-D458-4DD2-B8E9-8393220FDD2D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113459","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113460","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113461","Name":"Intra State Sales Return of Goods from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{10CA76A8-8DE4-419A-8220-3DD88D8F8747}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113462","Name":"Inter State Sales Return of Goods from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{92CD1D91-1D76-46D8-B2E1-C62C54E62191}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113469","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113470","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113471","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{31F4991C-5E91-4AF3-B911-39F985BF48C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113472","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{C3755AFF-81D3-4B1A-85B2-B2C8A60F9EAA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113479","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113480","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113481","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo -Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{8E881E89-87C1-4745-9529-B82A784E83BE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113482","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{270F6442-0097-437D-9F91-5C15BD9EAB4D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113489","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113490","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113491","Name":"Intra-State Sales Return to Deemed Export Customer for Goods With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{913AAE94-3AEF-4F6D-80DB-F30FF5E5C067}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113492","Name":"Deemed Export for Goods With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{14586EFF-720D-4670-B023-EA4FBFF96B99}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113493","Name":"Intra-State Sales Return to Deemed Export Customer for Goods With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{9654C77E-D850-4AA2-9A47-FB003B1574B2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113494","Name":"Export Return to Deemed Export Customer With Payment of Duty for Goods through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{88F1A4B3-DCAC-499A-BD7A-A5EBA3EF3CB4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113499","Name":"EndGST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113500","Name":"End Type Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113501","Name":"Begin Type- G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113502","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113503","Name":"Intra State Sales Return of Services from Registered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{59157E34-743F-4293-A662-1A9C3D916178}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113504","Name":"Inter State Sales Return of Services from Registered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{D9AA8D5E-8135-47AA-A722-6356873CF5EF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113507","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113508","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113509","Name":"Intra State Sales Return of Services from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{B8757B78-D36C-4AB7-B532-353006120046}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113510","Name":"Inter State Sales Return of Services from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{EFB5634E-C341-4922-9BC9-1CE76AD61D79}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113512","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113513","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113514","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo - POst GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{3397DBB8-098B-4A52-9BFA-E24A12B5F9E7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113515","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{0E655E71-19D9-4A10-8A28-FE4AFBA2A7C7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113517","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113518","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113519","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{DBA2CAA4-8EE2-4DD0-B413-383101DB034E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113520","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{ABF997C4-D467-4F97-94CD-10AFE3A66B3A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113523","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113524","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113525","Name":"Intra-State Sales Return to Deemed Export Customer for Services With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{6CC7879A-5AF1-4FD6-8713-7ECF54ABC412}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113526","Name":"Deemed Export for Services With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{861E4175-2832-49D7-8AF3-96E6C19F8E68}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113527","Name":"Intra-State Sales Return to Deemed Export Customer for Services With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{6924DAF8-60F6-4C42-9266-200033C6D3F4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113528","Name":"Export Return to Deemed Export Customer With Payment of Duty for Service through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{1F11A81C-0551-4B07-AA30-23DA57E0FE16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113535","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113536","Name":"End Type- G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113537","Name":"Begin Type- Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113538","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113539","Name":"Intra-State Sales Return of Resources from Registered Customer through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{D6D5AACF-3FC9-4E46-AC66-66CB29D5293E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113540","Name":"Inter State Sales Return of Resources from Registered Customer through Sales Return Order/ Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{A0D756A0-DC72-49F9-A1F9-B926242C6AD2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113543","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113544","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113545","Name":"Intra-State Sales Return of Resources from Unregistered Customer through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{5131A9E4-A281-496F-9AF2-E60DC7D88A50}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113546","Name":"Inter State Sales Return of Resources from Unregistered Customer through Sales Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{40C0504C-93D7-4EC1-A4B8-7FE82C224BE4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113549","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113550","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113551","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{1F48109A-8444-4862-B9DA-190182B3FBAC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113552","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{F4C6236C-3805-4826-88FD-EAC2659389B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113557","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113558","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113559","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{6C740BB7-2090-4E02-8611-2FD65CC51465}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113564","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113565","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113566","Name":"Intra-State Sales Return to Deemed Export Customer for Resource With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{858CA47F-FA82-4485-91A5-12B2EBF36D6F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113567","Name":"Deemed Export for Resource With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{220890E5-A6C0-4719-83C5-E2247EF9BEC3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113568","Name":"Intra-State Sales Return to Deemed Export Customer for Resource With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{11D160CF-FD98-4C47-928B-9F4125F584A9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113569","Name":"Export Return to Deemed Export Customer With Payment of Duty for Resource through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{EBFDB89B-5F22-4386-87CA-72157CBF122D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113574","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113575","Name":"End Type- Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113576","Name":"Begin Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113577","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113578","Name":"Intra State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{291465B9-0C22-48B5-9EEA-4006CC372B1A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113579","Name":"Inter State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{BFB628D6-4413-4628-B619-013EF3255CE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113583","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113584","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113585","Name":"Intra State Sales Return of Fixed Asset from Unregistered Customer through Sales Return Order/ Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{7AFF7259-D09B-4C62-8575-34BEDEE4A72C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113586","Name":"Inter State Sales Return of Fixed Asset from UnRegistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{3EAEA83A-B986-4C1E-9231-EDEAC919DE2F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113590","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113591","Name":"Begin GST Customer Type SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113592","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{0DD3F665-8D52-487D-A200-9BD69DB0A4A2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113593","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{10BBEEB9-E622-4899-B4E0-C000CA753E54}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113597","Name":"End GST Customer Type SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113598","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113599","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo - Post GST To Customer For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{3AD6DDBC-A132-4ABA-B216-73133B85604A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113600","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{902158A0-97D5-4075-943E-3B30B800FB78}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113608","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113609","Name":"Begin GST Customer Type - Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113610","Name":"Intra-State Sales Return to Deemed Export Customer for Fixed Asset With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{5629EBAA-46B2-4DD7-9511-1D6E697A6B0A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113611","Name":"Deemed Export for Fixed Asset With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{4BFA98D3-CEF3-4573-B464-9E897EB9D4AE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113612","Name":"Intra-State Sales Return to Deemed Export Customer for Fixed Asset With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{B3793372-9AD2-4F36-BA5C-3AF13BE44F2D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113613","Name":"Export Return to Deemed Export Customer With Payment of Duty for Fixed Asset through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{321E0F7B-A15D-4CE6-9C11-BF3FD3DEE918}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113620","Name":"End GST Customer Type - Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113630","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113635","Name":"End FOC","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113639","Name":"End- Sales Return Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114640","Name":"End Sales","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114645","Name":"Purchase","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field7=1(<>''),Field18080=1(<>''),Field18096=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114650","Name":"Purchase Document","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2|4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114660","Name":"GST Reverse Charge -No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18085=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114670","Name":"Exempted","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114672","Name":"Intra State Purchase of Service from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{536EFB4F-1EBC-4731-861E-433F3BA23A4A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114673","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{93FE03BD-63C7-44B5-B40D-5974C8300527}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114800","Name":"End Exempted","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114850","Name":"Exempted No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114851","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{01C97F7D-4263-4387-84E1-610D2EA4A762}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114853","Name":"Intra State Purchase of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Quote/Order/Invoice.","NodeType":"Use Case","TableID":39,"CaseID":"{78A245B3-3BAB-4347-B09A-FDE73A600BB2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114854","Name":"Inter State Purchase of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Quote/Order/Invoice.","NodeType":"Use Case","TableID":39,"CaseID":"{94FF400C-34A8-4760-A4E5-C4B367739FA3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114855","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{93FE03BD-63C7-44B5-B40D-5974C8300527}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114856","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{51395C06-549D-40B5-98C5-A7F6B73AF427}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114857","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{131AC7D7-6079-4C25-A3A6-CEAC66A6203D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114858","Name":"Intra State Purchase of G/L Account from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{D7A29410-A685-41B6-A8F9-268D65F062B6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114859","Name":"Inter State Purchase of G/L Account from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{4DC1D2DC-A8F8-4443-A563-348B8E8961C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114860","Name":"Inter-State Purchase of Charge Item from Sez Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{85DAE7D1-95AC-4FD1-B1E0-5FFD980481BF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114861","Name":"Inter State Purchase of Charge Item from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{0E1A782B-CF1F-4CF0-8797-A1310519B1DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114862","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{3E14881B-DB97-473E-9A0B-C8A0A2D604C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115000","Name":"End Exempted No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115100","Name":"End GST Reverse Charge -No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115150","Name":"GST Reverse Charge","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18085=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115151","Name":"Exempted No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115152","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice Type-Debit Note","NodeType":"Use Case","TableID":39,"CaseID":"{2AB850AD-528A-498A-9E23-65E396AC61A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115153","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice Type-Debit Note","NodeType":"Use Case","TableID":39,"CaseID":"{B064E1CD-DB51-456E-AE19-7F2AC8C9DC11}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115154","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{89071509-BF13-4ED5-A45D-8D938DFEF265}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115200","Name":"End Exempted No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115201","Name":"Exempted Yes","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115202","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice for Exempted Goods","NodeType":"Use Case","TableID":39,"CaseID":"{700CF31E-E4A1-4183-AEF6-7C572C34C8AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115203","Name":"Inter State Purchase of Exempted Goods for Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{DF5E22A4-BD3C-4C80-B6D3-9F667C8037DD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115205","Name":"End Exempted Yes","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115250","Name":"GST Credit-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115300","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115301","Name":"Import of Services from Foreign Vendor where Input Tax Credit is Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{118F40D5-2D0E-45D6-B458-52D6BF00A035}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115302","Name":"Import of Services from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{8D8A9485-D248-4B9B-AB8C-EEDB746B190C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115350","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115351","Name":"Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115352","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{20913086-F0CD-4AC8-AF0A-755723E44946}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115353","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{71EC1D59-01EC-4486-8CB4-0957D4ADF38B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115354","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice - For GST Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{D279BE29-1CB8-4F96-BA2C-0348368D0879}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115400","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115401","Name":"Begin Type Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115402","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FB4C68ED-BD93-4229-B1BB-91163250C066}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115403","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote With Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{9154D0D0-5D85-40BE-889D-764E65F8691C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115404","Name":"Import of Service from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice for Charge (Item)","NodeType":"Use Case","TableID":39,"CaseID":"{B8A8C947-5BA0-45B4-B8A4-33088F25782F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115415","Name":"End Type Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115450","Name":"End GST Credit-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115451","Name":"GST Credit-Non Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115452","Name":"Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115453","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Not Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{AE939960-28B0-426C-B5D7-D8535B9AE3C9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115454","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Not Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{27255CC6-70FC-4D33-91F1-5B83F03CE33E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115500","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115501","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115502","Name":"Import of Services from Foreign Vendor where Input Tax Credit is not available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{9167AE32-6B66-48FB-AF03-35D261A7C5BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115503","Name":"Import of Services without Input Tax Credit available from Foreign Vendor.","NodeType":"Use Case","TableID":39,"CaseID":"{F1AFD035-5F0A-4DD2-B15E-E0EEF0BA43D7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115506","Name":"Import of Services from Foreign Vendor where Input Tax Credit is not available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{387B69F6-70EC-4BCC-A4C0-AA1CFAB0D356}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115507","Name":"Inter-State Purchase of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{62A4192A-86D8-4431-A641-78EF2F348546}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115550","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115551","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115552","Name":"Intra-State Purchase of Resource from Registered Vendor where Input Tax Credit Not Available - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{A0CED092-3AAD-4121-A5A2-F4DEAC316621}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115553","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{FED218A8-8C3F-43D9-BBD5-E8BCBB30D8BD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115554","Name":"Inter-State Purchase of Resource from UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{C340D02B-697D-414F-9082-E4CC9B4B2A3B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115555","Name":"Intra-State Purchase of Resource from Unregistered Vendor where Input Tax Credit Not Available - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{0EE4D825-CC7B-458D-9165-D32635F56F41}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115556","Name":"Intra-State Purchase of Resource From UnRegistered Vendor where Input Tax Credit Not Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{38BC1AAB-3066-483F-811E-E147662D48C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115580","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115581","Name":"Begin Type-Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115582","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{1C3087C6-66E1-4D66-8133-DF7F13FDB0D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115583","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C7BA99E0-7A62-41C9-93C4-36BDAD52C328}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115584","Name":"Import of Charge from Foreign Vendor where Input Tax Credit is Not Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{BFCC5C7F-F391-44D5-84F1-1D72DC7A9DEC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115595","Name":"End Type-Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115649","Name":"End GST Credit-Non Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115650","Name":"End GST Reverse Charge","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115651","Name":"Extempted -No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115652","Name":"GST Credit-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115653","Name":"Type-Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115654","Name":"Import of goods with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{4D6EF305-AE45-4735-9E9A-C9428D139D38}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115655","Name":"Import of goods with Input Tax Credit available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{24E498DD-9DFB-4097-9F32-C8EBD49B8D22}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115656","Name":"ISD - Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{E8B90257-9F0D-42F4-A340-13A648D11829}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115657","Name":"ISD - Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{874048A6-575B-456F-A2E7-26532DA3F1CA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115659","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{2C80FA78-CBBE-45E7-8C62-5010B692AC9C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115660","Name":"Inter-State Purchase of Goods from UnRegistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{FF5D43D6-C93E-42D5-9CD3-E3FCA99E77DD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115661","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{94D31994-F430-4825-A72E-D41F51F63952}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115662","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{53AA1183-8DEC-4542-A708-317C5CD7BDA9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115663","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available with Bill to Location(POS) through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{E75A7A67-D332-41BE-B7EA-61C8BF69E9F7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115664","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Bill to Location(POS) Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{1440B152-A710-4982-86C0-5C27FEF4A7D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115665","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{A8B3F6FB-A42D-4767-BD3D-D4C9BB11AEAA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115666","Name":"Inter-State Purchase of Goods from UnRegistered Vendor where Input Tax Credit is available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{B86AA24C-78CF-4F29-BD88-E17580D6992B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115667","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{7BDD3EE0-29AE-4C15-A879-1DBF13ADA019}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115668","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{9FE211A9-770A-4396-BE84-B9625D975180}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115669","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{B7A4D05E-75C4-47F5-B502-9510B13E2DEA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115700","Name":"End Type-Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115701","Name":"Type-GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115702","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is Available.","NodeType":"Use Case","TableID":39,"CaseID":"{BACBB54A-0D30-4206-AA6A-5CF48A744D5E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115703","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{9568C93C-FC46-477D-B554-A8EACAEAF21A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115704","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{F85B9211-93F9-4443-9784-BE52C220CE24}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115705","Name":"ISD - Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote ","NodeType":"Use Case","TableID":39,"CaseID":"{EF5146EB-771F-4DCE-80E7-ACC0B606829F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115706","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{0027CF9D-DA15-43A2-83D4-5CD214E0278B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115707","Name":"ISD-Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{700AF8A2-1315-41BC-9FE9-E00FB826DC80}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115708","Name":"Inter-State Purchase of Services from Unregistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{8A057230-A2A9-4E59-8101-9A947A8D8B91}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115709","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FC1AEFDA-0537-4D94-A576-F542B6710B71}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115710","Name":"Inter-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{5F9FDC49-A99D-4F72-AA5F-4E0BF5B3AC34}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115711","Name":"Intra-State Purchase of Services from Unregistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{31C539BE-990C-4E00-AF1A-6BFA1333ED7E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115712","Name":"Import of Services with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{B03B25F1-806F-4CE3-86A2-A65BBE1F8360}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115713","Name":"Import of Services with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry and GST Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C2D132AB-4A23-47FC-9A25-EEB973689456}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115714","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{04BA2F8D-9562-4551-8A98-C61CE5509B47}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115715","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{19625BAB-02B9-42E1-80EF-FED88D13FF40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115750","Name":"End Type-GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115751","Name":"Type-Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115752","Name":"Import of Fixed Asset with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{E076372D-BFB5-4911-B6EE-85F1F71B1569}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115753","Name":"Import of Fixed Asset with Input Tax Credit available from Import Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{7E44665E-5E48-4F98-8E9A-135669D3E75B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115754","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{C02EF3F0-A659-4762-854B-830A8D59B371}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115755","Name":"Intra State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted (Availment) goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{4753502A-0359-4A8C-A37C-4DB4B6FCD790}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115756","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{4852FE50-F64A-454F-B43F-D46FE4BABECB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115757","Name":"Inter State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted goods(Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{7C939AC1-1919-4919-A0D0-B62E3C72B382}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115758","Name":"Intra State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted (Availment) goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{975372FC-F93D-4E8B-81EA-57B6751B9F94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115759","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted goods(Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{B69B4BDA-5CAC-4C9C-B4DB-211912D30EF2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115760","Name":"Inter-State Purchase of Fixed Asset from UnRegistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{F3E7CEF3-5437-42EC-9DED-FE81F994FFCB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115761","Name":"Intra-State Purchase of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{B83A838B-C0A8-4E69-B735-86D011229B1C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115762","Name":"Import of Fixed Asset with Input Tax Credit available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A7ED2E31-2CA7-4D60-A415-31A78736388D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115763","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available Bill to Location(POS) Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{8B96F1E1-FC2C-48FD-AD1E-62986961AC0D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115764","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available with Bill to Location(POS) through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{FCC8AA84-E16B-4D3F-A139-946089738FB0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115765","Name":"Inter-State Purchase of Fixed Asset from UnRegistered Vendor where Input Tax Credit is available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{E246F7FE-DE34-4E3C-BD3B-D8943D9B966C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115766","Name":"Intra-State Purchase of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{E365B9AF-953A-462B-A562-9B494D0B84B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115767","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted fixed asset with no GST Impact through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{DA3FC765-67AA-4232-8C30-6CE3E6E6DFDC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115768","Name":"Import of Goods with Fixed Asset from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{D9172942-78EB-4305-950C-C9DEC70F16E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115769","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{F7997B96-631E-456D-9FA2-028ADEC745C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115770","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{5E2D969D-2A4B-4288-900B-7D1527F80A8E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115800","Name":"End Type-Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115801","Name":"Type-Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115802","Name":"Inter-State Purchase of Charge Item from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{21957E13-9751-40A2-B591-67ADE93573E7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115803","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{4F234B8B-1B95-4938-B3DF-3D96784EAC77}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115804","Name":"Inter-State Purchase of Charge Item from UnRegistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{AB0E6CA2-960E-4D6F-A7C6-D461F268627F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115805","Name":"Intra-State Purchase of Charge Item from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{72511E89-CA1E-4749-8648-F1EFD6F61D44}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115806","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Bill to Location(POS) Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{0ABF122D-4ED5-4820-8411-7C39147B2819}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115807","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available with Bill to Location(POS) through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{CD837506-8D55-4E71-8576-FA6B9934A6BB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115808","Name":"Inter-State Purchase of Charge Item from UnRegistered Vendor where Input Tax Credit is available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{1DD024D8-C5D0-44DC-BD2E-3B4A395F33FE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115809","Name":"Intra-State Purchase of Charge Item from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8EE30985-1662-4A16-B9B1-2C36589F4F94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115810","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted (Availment) goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{2A0E0C4E-331F-42B3-96D2-F9CFF01E6FC1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115811","Name":"Inter State Purchase of Charge Item from Composite Vendor/Supplier of exempted charge item with no GST Impact through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{714E77D3-C569-418A-A932-DBFF272D3B92}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115812","Name":"Import of Charge Item with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{B95176D6-58FF-487C-A25B-26E433D85356}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115813","Name":"Import with Input Tax Credit for Charge Item available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{13E5D66F-422B-4830-992B-39C740D6D560}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115814","Name":"Import of Charge with Input Tax Credit available from SEZ Vendor with Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8E537871-C8F7-4E07-8B32-84411C668443}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115815","Name":"Inter-State Purchase of Charge Item from Sez Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{05312E80-BE4E-4EB1-9A1E-AF55EA4D8E3D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115850","Name":"End Type-Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115851","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115852","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{EC4815D3-A78F-4C4F-8C64-8FE9AF09050C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115853","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{4AC1A712-CC9B-4CB7-91EA-05245C1D7211}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115854","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{F5EA246D-523F-4FFA-B316-967933F01C16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115855","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{7342ECF9-7916-4923-AC4C-71E973942346}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115856","Name":"Intra-State Purchase of Resource from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{0FD2A76A-DECB-4FAC-8008-10D6762CDAFE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115857","Name":"Inter-State Purchase of Resource from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{20C477FD-F60A-4D5C-B919-BF3082993511}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115858","Name":"Import of Resource with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A106F715-2EC1-43B7-B0AE-33F6AEEF3B2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115859","Name":"Import of Resource from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{45189151-3ACF-421C-8984-C932DC8A3A2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115860","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{FEC46768-8566-4C39-AE1D-62B0FD83D5D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115861","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{56966B10-DE93-4980-A9FE-1CBB5DE6359B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115870","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115900","Name":"End GST Credit-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115901","Name":"GST Credit-Non Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115902","Name":"Type-Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115903","Name":"Import of goods without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A7619228-F860-4E03-B21E-E0F01EFF6C52}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115904","Name":"Import of goods without Input Tax Credit Not available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{ABA6F00E-B423-49DF-8DF5-F74950011703}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115905","Name":"Import of goods without Input Tax Credit available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{C57B60DB-22D0-43D5-8460-B47D9F11AFC2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115906","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{E277B92E-D047-425F-B44D-E8EA58FAEE5C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115908","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{09CD7163-15FB-4340-82BF-57373BE3E206}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115909","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{F4B17FC7-3605-47DD-804E-4573BCB3FAC7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115910","Name":"Inter-State Purchase of Goods from Unregistered Vendor where Input Tax Credit is Not-Available","NodeType":"Use Case","TableID":39,"CaseID":"{9E59D4DD-C975-4F42-B5A2-AA98AC93FB7F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115911","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available With Bill to-Location purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{5577B8ED-6471-4480-AD5A-63BA31696AB7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115912","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available with Bill to-Location","NodeType":"Use Case","TableID":39,"CaseID":"{A274F11C-332F-4EE3-AC91-2E2D95E9E2B6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115913","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{679E7F9F-9AAC-4CC5-A263-904ECC708057}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115914","Name":"Inter-State Purchase of Goods from Unregistered Vendor where Input Tax Credit is Not-Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{1B2046C2-4264-4272-A998-085B20832B87}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115915","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit isNon-Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{F4F11B85-700B-4880-9A73-740FF36C4160}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115916","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{CE65AEFF-0248-437E-B8A6-87C60E49EFD4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115917","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{55BEA8B4-15ED-47B2-AD24-157BA39467EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115918","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{CCD1BD07-0A33-4DAB-9A3E-E66956E0F98B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115950","Name":"End Type-Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115951","Name":"Type-GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115952","Name":"Intra-State Purchase of Services From Registered Vendor where Input Tax Credit Not Available through Purchase Quote- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{EB169AE5-8DE0-4490-8DFD-46CEE05AA5C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115953","Name":"Inter-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{67527223-25F5-48B0-A0C2-F0064BD92F18}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115954","Name":"Intra-State Purchase of Services from Registered Vendor where Input Tax Credit Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{46AD3622-5D72-4048-9FAC-3C31077C2DF0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115955","Name":"Intra-State Purchase of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FEE41ACD-C7C4-4653-9A34-15F7F0B70663}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115956","Name":"ISD-Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{EC905260-0D39-42CD-ADAE-27F4E74CE267}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115957","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is Not available","NodeType":"Use Case","TableID":39,"CaseID":"{6A72F56C-CA49-4D53-939A-4FABC050BFB3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115958","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{0C3618F6-08BD-417F-8744-94A415595940}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115959","Name":"ISD - Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{61FB3B94-A2C7-4F3F-B4A8-801D842328E1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115960","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{BE0C902C-E9FC-4548-B8C7-AB70E21388BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115961","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{36A5E0EC-E197-4102-8FF0-F6DC9B4A47C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115962","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is not available.","NodeType":"Use Case","TableID":39,"CaseID":"{62216594-6660-492B-ACA0-F8BD3893DE49}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115963","Name":"Intra-State Purchase of Services from POS as vendor state Registered Vendor where Input Tax Credit is Not available","NodeType":"Use Case","TableID":39,"CaseID":"{A52E9652-EFC8-4950-B8C1-A41D887AF962}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115964","Name":"Import of Services without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{C07C2110-2740-4FAD-975B-293FAAD86247}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115965","Name":"Intra-State Purchase of Services from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{D2457D2F-2B0E-4F56-BF93-007E245C4FF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115966","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{0C6EE2B8-335F-4420-9B76-AEBF773BB40C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115967","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{7642FECB-8BEE-4127-9523-47ECB7D29DC4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116000","Name":"End Type-GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116001","Name":"Type-Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116002","Name":"Import of Fixed Asset from Foreign Vendor where Input Tax Credit is Not Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{7307BDA2-283F-4094-82E0-41EC241CE177}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116003","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{47F223C1-06BE-4BD6-A98A-E001F8CE436E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116004","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is not available through Purchase Order/ Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{1A8DCBD9-6A50-4C2F-9364-9DB967B50A24}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116005","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted goods(Non-Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{2E369D91-2885-47EB-886E-7AD35816B42E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116006","Name":"Intra State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted (Non Availment)goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{5DC7836A-BA61-4738-8506-BA91EC982903}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116007","Name":"Inter State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted goods(Non-Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{62AD7817-C30F-4EC6-B68C-AC4828B07DF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116008","Name":"Intra State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted (Non Availment)goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{64233AA2-2DB0-4AC9-8078-0755AB5DA89D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116009","Name":"Intra-State Purchase of Fixed Asset from UnRegistered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{DB7C51C1-1F9F-40F2-82C2-82D59793413C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116010","Name":"Inter-State Purchase of Fixed Asset from Unregistered Vendor where Input Tax Credit is not available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{F8D35423-18AA-4916-A10C-3DC5A6F80CB0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116011","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available With Bill to-Location purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{4FA8A9F3-D8C5-4B20-ACB0-F52BFE013A01}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116012","Name":"Inter-State Purchase of Fixed Asset from Unregistered Vendor where Input Tax Credit is Not-Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{718C2339-648B-4FC6-A496-737B12176D01}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116013","Name":"Intra-State Purchase of Fixed Asset from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{679F358F-4DB0-4587-9F0C-CE643B16A152}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116014","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is not available with Bill to-Location","NodeType":"Use Case","TableID":39,"CaseID":"{AFCCC11E-97B1-4627-8DFD-4184537E2509}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116015","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted fixed asset for Non-Availment through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{D50E350F-963C-4C3C-9E78-08F12AB7D8F0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116016","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice For FOC","NodeType":"Use Case","TableID":39,"CaseID":"{7E48E18F-D907-423A-BC62-256D7CFAA089}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116017","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is not available through Purchase Order/ Invoice for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{65746F4E-A835-4278-98CA-B6AB0D0CBF6B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116050","Name":"End Type-Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116051","Name":"Type-Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116052","Name":"Intra-State Purchase of Charge Item from UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{97664A61-096E-43D9-BF55-2D5672F02F7F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116053","Name":"Inter-State Purchase of Charge Item from UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{F4A8CF06-D6CE-4263-ACF3-F1FBB744FBFB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116054","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{101CAF41-34AB-4EA1-9277-166954A7FF94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116055","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{64F0C586-3993-4F05-A127-332E7E46802D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116056","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available With Bill to-Location purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{666A5198-99BA-4EC0-A89A-C991109BBC0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116057","Name":"Inter-State Purchase of Charge Item from Unregistered Vendor where Input Tax Credit is Not-Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{66A099C8-9660-498E-9BEB-61296A76CFAF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116058","Name":"Intra-State Purchase of Charge Item from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8A58255B-97C9-4691-9DBF-1C041D4433DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116059","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted (Non Availment)goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{C4DD33B4-D4DB-4F30-8C86-E2045B473C57}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116060","Name":"Inter-State Purchase of Charge Item from Registered Vendor where Input Tax Credit is not available with Bill to-Location","NodeType":"Use Case","TableID":39,"CaseID":"{CCE6E98E-5330-48BA-B42E-70E2BDE3E45B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116061","Name":"Inter State Purchase of Charge Item from Composite Vendor/Supplier of exempted charge item for Non-Availment through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{FFCC9396-D3C4-4A81-BDE8-23070BF8976F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116100","Name":"End Type-Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116101","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116102","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order.","NodeType":"Use Case","TableID":39,"CaseID":"{DBD883FC-4DD3-4C9C-B9AC-AAAF07FF4F3E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116103","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice.","NodeType":"Use Case","TableID":39,"CaseID":"{073D94DC-E7F0-4535-B269-7C36C626FD96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116104","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{B33DCDC5-21C3-4019-96E3-EF513EAED95E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116105","Name":"Import of Resource without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{B12DD0D6-A87C-4A8C-AE71-746B26156893}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116106","Name":"Import of Resource from Foreign Vendor where Input Tax Credit is not available through Purchase Order/Invoice/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{5D419270-CBAE-42FB-A135-DC1693C77985}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116107","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{10D6A0FE-F802-4235-B438-3A29B7C853ED}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116108","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{F1A5130E-021A-40F9-8282-82CBFEE3FF07}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116130","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116150","Name":"End GST Credit-Non Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116200","Name":"End Exempted -No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116201","Name":"Exempted","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116202","Name":"Inter-State Purchase of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{1FFB6082-63D3-4AF8-A83B-9AE92D2010E2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116203","Name":"Intra State Purchase of Exempted Fixed Asset from Registered Vendor (Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{C7563021-CD85-4519-ADFB-BA848CA3022F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116204","Name":"Inter State Purchase of Exempted Goods-SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{97856AB0-DAB0-4CF3-B1B1-3A6EB1524E0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116205","Name":"Intra State Purchase of Exempted Goods and Services.","NodeType":"Use Case","TableID":39,"CaseID":"{2ED393A6-3B1D-49AC-9DBB-D5836930F61C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116206","Name":"Inter-State Purchase of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{AB2BDB68-471C-4EC0-B43A-92920239FBF9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116207","Name":"Intra State Purchase of Exempted Fixed Asset from Registered Vendor (Non-Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{F67095C1-F610-4B59-A1E5-7B58D83A6CF5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116208","Name":"Inter State Purchase of Exempted Goods for Registered/Exempted/Composite Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{07AC553C-0E84-41E3-B04A-19B63C3BCF75}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116250","Name":"End Exempted","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116251","Name":"Begin Type Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116252","Name":"Import of Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, without cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{A43577AE-11F7-4DF9-9EEF-F317ED83ADD4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116253","Name":"Import of Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{B45F2436-2E00-4A49-9A8E-7B9202FE0F0A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116260","Name":"End Type Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116300","Name":"End Purchase Document","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116301","Name":"Purchase Return Document","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(5|3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116302","Name":"Exempted No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116303","Name":"GST Credit Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116304","Name":"Type-Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116305","Name":"Return of Import of goods with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{15A78CF5-A4CC-4804-95DA-6FB3DCBF2DBF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116306","Name":"Intra-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{BB9814B7-D039-49BC-BF5D-F80127620CAE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116307","Name":"Purchase Credit Memo/Return Order for Imported Goods where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{48C973FB-77C2-476C-AB39-0E61F0F76F0D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116308","Name":"Intra-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{D0059E3B-4B5F-44E3-B2AD-B3DB74C1CEC4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116309","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{BC7B8A8E-B343-439B-B240-B5D7D0253CC7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116310","Name":"Inter-State Purchase Return of Goods from UnRegistered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{CFC3D6F5-144A-4731-8658-BA626457624A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116311","Name":"Intra-State Purchase Return of Goods from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{2E358EDE-097D-4846-A45B-BC2C1AE07FE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116312","Name":"Intra-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available with Bill To-Loc Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{F6EB6D82-74A5-413E-BE36-9308F41811A3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116313","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available with Bill to-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{7759D07C-F691-4738-8FB8-F682B03DA922}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116314","Name":"Intra-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{998A15E8-B4E6-460E-A89C-239F276E9B3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116315","Name":"Inter-State Purchase Return of Goods from UnRegistered Vendor when Input Tax Credit is Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{FFBADC05-CF47-4787-B31A-EB85F88CACE8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116316","Name":"Intra-State Purchase Return of Goods from Registered Vendor where Input Tax Credit is available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FBEDC063-63EA-4FED-A3DD-8B5E175031CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116317","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{055AEE33-1301-4B59-BA0D-E76D2D542B34}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116318","Name":"Intra-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{C9F94259-EA6B-481B-AAF1-8D8F9F025902}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116319","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{90643BB8-1BEB-40C8-81B3-E6A3C5075C45}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116350","Name":"End Type-Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116351","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116352","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is available through Return Order.","NodeType":"Use Case","TableID":39,"CaseID":"{AF13E308-74EA-4A38-86B9-B0EA0DCE1972}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116353","Name":"Inter-State Purchase Return of Service from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{0CCFD5FB-95C8-4189-ACFF-E7D9AE1DB368}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116354","Name":"ISD - Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{137A0843-A280-441F-8D87-5639EDB2B01E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116355","Name":"ISD-Inter-State Purchase Return of Service from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{2A733D02-2125-4EA9-97E3-2068E5708A94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116356","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{710042C6-833D-4CF4-B943-47CF6691F7DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116357","Name":"Intra-State Purchase Return of Services from Registered Vendor where Input Tax Credit is available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{D2E1CF7B-EA38-4EB3-82C3-E2E6949625D3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116358","Name":"Intra-State Purchase Return of Services from Unregistered Vendor when Input Tax Credit is Available (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{AEDED96A-9927-4DF4-B89B-22FA7C77C19F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116360","Name":"Inter-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{64A2BCC0-3E88-4613-B91D-540FF4977F86}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116361","Name":"Inter-State Purchase of Return of Services from Unregistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{6510FF1C-A0A5-4C52-8DE5-836BE2536650}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116362","Name":"Return of Import of Services with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{36710BC3-FED5-4726-8AB5-1DC108CF23AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116363","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{47AA3C60-6575-4F87-8022-29790BB97A11}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116400","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116401","Name":"Type Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116402","Name":"Return of Import Fixed Asset with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{1201ECAE-F4F2-43D7-938E-15F5361C2062}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116403","Name":"Return of Import of Fixed Asset with Input Tax Credit available from Import Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8EECE1FD-4BDB-4A37-92ED-00380C170CFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116404","Name":"Inter State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted goods(Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{A8A42D6F-2A47-4175-8ED8-F482D64554C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116405","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{CCF91681-45AA-45DC-94A6-52DBBF199CF5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116406","Name":"Intra State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted (Availment) goods with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{4E53918C-16B7-4834-86DE-E7422FC21E83}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116407","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{57322220-978A-459E-8EC5-05AB66E6B362}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116408","Name":"Intra-State Purchase Return of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{F37442C1-AB50-445F-A7C3-8DCA84931B69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116409","Name":"Inter-State Purchase Return of Fixed Asset from Unregistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{B5669E1C-A496-431B-A29F-69E527E37AA0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116410","Name":"Inter-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Available with Bill to-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{E6B10245-E536-41CF-A9CC-AA043113F6F4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116411","Name":"Inter-State Purchase Return of Fixed Asset from UnRegistered Vendor when Input Tax Credit is Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{38583B1E-682C-4B06-BB69-005849014E82}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116412","Name":"Intra-State Purchase Return of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{1EB264E9-24DD-43EC-A17F-E623BF565203}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116413","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{8E9E924F-0BE8-4862-BDFE-39CB23848B3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116414","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is available through Purchase Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{B4B3EE78-57EC-4EE8-8F51-E7B868CF34B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116450","Name":"End Type Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116451","Name":"Type Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116452","Name":"Intra-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available through purchase return order/Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{9A744701-39FF-4CFF-AA72-F5856E82FBF4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116453","Name":"Intra-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{142D2618-98AC-4DD8-922F-11CF063DD8D8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116454","Name":"Inter-State Purchase Return of Charge Item to Unregistered Vendor when Input Tax Credit is Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{8B75A47C-8DD2-45C8-99D9-B04E18C531D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116455","Name":"Inter-State Purchase Return of Charge Item to Registered Vendor when Input Tax Credit is Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{06A818C9-817D-4983-B8D9-D96759380A68}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116456","Name":"Intra-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{4934B903-2938-4ED9-994C-36F89B08E352}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116457","Name":"Inter-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8F83C983-4368-45FF-9319-952826F72162}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116458","Name":"Inter-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available with Bill to-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{478E0789-2184-4644-8165-3B5169084277}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116459","Name":"Inter-State Purchase Return of Charge Item from UnRegistered Vendor when Input Tax Credit is Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{0E9F08C2-7CF2-4AC1-AFB4-57AC8383E732}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116460","Name":"Intra-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{03418FFD-0AF9-48F5-A500-EC48BF9DE4E5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116465","Name":"End Type Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116466","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116467","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available through Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{A8C8864E-5E75-431A-90D6-9AAB47623BA6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116468","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C6FDF908-18DE-47B6-ADED-1E654C153D2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116469","Name":"Inter-State Purchase Return of Resource from Unregistered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{D8632F51-FEDB-4AF9-8A25-CFE374BD12BA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116470","Name":"Return of Import of Resource with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{62CA4077-63DB-4812-8DBA-369BDD0A5A63}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116471","Name":"Intra-State Purchase Return of Resource from Unregistered Vendor when Input Tax Credit is Available Through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{C9ED5F18-07B9-43AF-9221-448B962EC9CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116472","Name":"Intra-State Purchase Return of Resources from Registered Vendor where Input Tax Credit is available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{04F944A1-EF9C-440F-A89B-654782D13EAA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116473","Name":"Purchase Credit Memo/Return Order for Resource where Input Tax Credit is available.","NodeType":"Use Case","TableID":39,"CaseID":"{4001BD59-B35E-4BBC-B7AD-464FBB21E54A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116474","Name":"Intra-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{EE5198CD-9648-49CF-97C5-E71A9843EE27}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116475","Name":"Intra-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{21A2DFFA-DF09-4531-BE3F-DFC7E50F3D1E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116476","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available through Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{2E66DC31-92BB-4928-83E5-6F87FC544A85}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116490","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116500","Name":"End GST Credit Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116501","Name":"GST Credit Non-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116502","Name":"Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116503","Name":"Return of Import of goods where Input Tax Credit Not available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{D66CD2EC-C8A4-48B9-A634-B14161E0E03B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116504","Name":"Return of Import goods without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A4A0C6C8-FE70-4DA2-9E3D-E5F0CCA93A22}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116505","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{4684DF92-D578-4978-B4EC-04ACC07C8206}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116506","Name":"Intra-State Purchase Return of Goods to Registered Vendor when Input Tax Credit is Not Available purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{C8AEE991-4EDD-4562-BCE7-3DFA3502C8D2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116507","Name":"Intra-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available through Return Order","NodeType":"Use Case","TableID":39,"CaseID":"{0120B543-BBCA-433A-B84D-3A07CA4BD763}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116508","Name":"Intra-State Purchase Return of Goods to UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{5F7E0B6C-3D83-418C-9829-C5E5E52460C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116509","Name":"Intra-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{EB39C2FC-37D8-4778-8B44-9A45DDA46B2E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116510","Name":"Inter-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{938B00CD-0C55-4E7E-9E88-9D26724E10E2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116511","Name":"Intra-State Purchase Return of Goods to Registered Vendor when Input Tax Credit is Not Available with Bill To-Loc purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{65C755B4-E396-453F-9425-896AFF64D1B3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116512","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{0D76D452-CCE9-473B-998A-71EDADD459AE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116513","Name":"Intra-State Purchase Return of Goods to UnRegistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{35C8BFED-ED88-46B7-AFE8-9F2C58421857}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116514","Name":"Inter-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{E0AA74AA-F401-4115-B768-D41BB661B532}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116515","Name":"Intra-State Purchase Return of Goods to Registered Vendor when Input Tax Credit is Not Available purchase Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{A515D68A-A496-4A81-8F4E-EC21F207D5FF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116516","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{040A5713-75A6-4FD3-BCA9-7A335D697933}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116550","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116551","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116552","Name":"Purchase Credit Memo/Return Order for Imported Services from Import Associate Vendor where Input Tax Credit is Not Available.","NodeType":"Use Case","TableID":39,"CaseID":"{F14B809C-31CA-4B7D-989E-419B00D35F8F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116553","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is not available Through Return Order ","NodeType":"Use Case","TableID":39,"CaseID":"{C6B64855-0CA9-4749-B21E-AF9FA0AB33D4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116554","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{2CEB6A3E-11E4-420F-A3C6-886B920BEC29}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116555","Name":"ISD-Inter-State Purchase Return of Service from Registered Vendor when Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{78DCCF81-7548-4028-A6AF-31AEB633FC3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116556","Name":"ISD - Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{BD845B37-5E0F-4EF3-94CB-ED972B71A3C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116557","Name":"Inter-State Purchase Return of Service to Registered Vendor where Input Tax Credit is Non-available through Purchase Return Orders/Purchase Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{E6B27281-EC3F-4040-B035-4179D33884CE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116558","Name":"Intra-State Purchase Return of Services from Registered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{58CCF42B-75BE-422F-90A5-93E52B2CC817}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116559","Name":"Intra-State/Intra-Union Territory Purchase Return of Services from Registered Vendor where Input Tax Credit Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{A7F8D194-33DA-472D-87CB-693FB589CD45}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116560","Name":"Intra-State Purchase Return of Services from Registered Vendor where Input Tax Credit Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{A4461039-C91C-4102-9438-866AF5607096}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116561","Name":"Intra-State Purchase Return of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{F7D97DC6-CF0E-4248-95A3-3C7189BF844D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116562","Name":"Intra-State Purchase Return of Services from UnRegistered Vendor where Input Tax Credit Not Available (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{01289E18-40A0-4AC7-92DA-601F5AF77AA0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116563","Name":"Inter-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{7EE4EB63-5718-4880-80D7-DC82790F804D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116564","Name":"Inter-State Purchase Return of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{6FB5A46A-83C0-495F-9495-7365027603EA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116565","Name":"Return of Import of Services without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{7DBFAC05-5315-4A5F-B5BE-962A065F7D93}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116566","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available Purchase Return Order/Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{79A59A19-401F-444F-A3C4-F8CBBA06D4B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116567","Name":"Inter-State Purchase Return of Service to Registered Vendor where Input Tax Credit is Non-available through Purchase Return Orders/Purchase Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{4B185DAB-793D-4C0A-A303-417A61AC9B96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116600","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116601","Name":"Type Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116602","Name":"Purchase Return of Imported Fixed Asset from Foreign Vendor where Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{21811F58-E56B-4A1B-B6DA-C9BD8EECC3AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116603","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is not available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{11784DD8-7EF0-42CF-9A18-401A9ABC6466}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116604","Name":"Intra State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted (Non-Availment) goods with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{12EFA340-BD17-487B-A7CC-F23993B289CF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116605","Name":"Inter State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted goods(Non-Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{8E46C7A8-FFB5-40D2-8DBB-26E9FEDDF17D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116606","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{079237F7-FA64-40B5-8BE7-A92428550117}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116607","Name":"Intra-State Purchase Return of Fixed Asset to Unregistered Vendor when Input Tax Credit is Not Available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{8EC585FC-1F0E-4A31-A28A-463F3239EB57}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116608","Name":"Inter-State Purchase Return of Fixed Asset to Unregistered Vendor where Input Tax Credit is not available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{028465BA-B14C-4266-9D47-75A8087EE299}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116609","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is not available with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{BFB5B4F3-BBC1-4A5B-9B7C-C3572578CD78}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116610","Name":"Inter-State Purchase Return of Fixed Asset from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{3A542488-E9A7-41E5-BF0B-C73F9C82A8DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116611","Name":"Intra-State Purchase Return of Fixed Asset to UnRegistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{6A0A47A2-4A0F-4CCD-AC63-A70C76E05091}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116612","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{7601E944-F060-482E-B620-CF8555D00BB9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116613","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is not available with Bill To-Loc for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{BC63870D-585E-4C07-A6A6-44DE28F260BE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116650","Name":"End Type Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116661","Name":"Type Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116662","Name":"Intra-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Not Available purchase return order/Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{2653A4AF-CD57-4A29-B4C2-4FE3749AC4AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116663","Name":"Inter-State Purchase Return of Charge Item to Registered Vendor when Input Tax Credit is Not Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{87FB95AD-905D-4832-9EC3-0330B674D601}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116664","Name":"Intra-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{1B728E5D-4A32-4E32-A2AA-FE3673AFC2CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116665","Name":"Inter-State Purchase Return of Charge Item to Unregistered Vendor when Input Tax Credit is not Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{79839F30-7F44-4411-BB2D-07FFA294A38D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116666","Name":"Intra-State Purchase Return of Charge Item to Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{7E781F55-9A83-4206-B18A-46C2CA5E8573}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116667","Name":"Inter-State Purchase Return of Charge Item from Registered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{4F6B53B9-9961-4F29-8151-33C5D413CF58}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116668","Name":"Inter-State Purchase Return of Charge Item to Registered Vendor where Input Tax Credit is not available with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{38F58D78-84D4-40D9-BE77-CD33C02B49AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116669","Name":"Inter-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C85088E3-672F-4F2E-B1EF-19CBDFA5460B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116670","Name":"Intra-State Purchase Return of Charge Item to UnRegistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{E5053EEB-44D1-4552-8084-67D72A90CECB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116675","Name":"End Type Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116685","Name":"Type Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116686","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{40E9E837-E785-42A1-B8ED-9B27D43D1FFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116687","Name":"Return of Import Resource without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{5C3AA147-EDD0-4271-9CB8-4A6F6C98962A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116688","Name":"Inter-State Purchase Return of Resource from Unregistered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{43D94D4C-82EA-4A44-B80F-E297292CAA10}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116689","Name":"Intra-State Purchase Return of Resources from Registered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{A170BEEF-350A-4B43-B333-CBEA1D197E1B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116690","Name":"Purchase Credit Memo/Return Order for Resource where Input Tax Credit is not available.","NodeType":"Use Case","TableID":39,"CaseID":"{7C3076A9-460B-41BC-AED8-6B615E4835D2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116691","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{545DC1C5-C848-43B9-BFCE-72C3A45C94BA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116692","Name":"Intra-State Purchase Return of Resource from Registered Vendor where Input Tax Credit Not Available through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{7B096619-70FB-4622-9E57-8EAE58DC1AB1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116693","Name":"Intra-State Purchase Return of Resource from Unregistered Vendor where Input Tax Credit Not Available through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{A2153C07-E791-4821-9542-F9C6C3737BAF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116694","Name":"Intra-State Purchase Return of Resource from Registered Vendor where Input Tax Credit Not Available through Purchase Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{8B9B630B-1AC7-49A1-BA60-3A415B97C2BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116695","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{4FD977C3-86DB-46A1-AEEF-A0A176F23BE1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116697","Name":"End Type Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116700","Name":"End GST Credit Non-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116701","Name":"Begin Type Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116702","Name":"Inter State Purchase Return of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{F0453435-C2EF-43BB-BC81-39454E1DE4B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116703","Name":"Intra State Purchase Return of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Credit Memo/Return order.","NodeType":"Use Case","TableID":39,"CaseID":"{28E2DDFD-2F63-47CB-986C-8E6F5D2356F3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116715","Name":"End Type Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116750","Name":"End Exempted No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116751","Name":"Exempted","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116752","Name":"Intra State Purchase Return of Exempted Fixed Asset from Registered Vendor (Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{26260269-B2BE-4D01-AF43-91BCE15FFF05}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116753","Name":"Inter-State Purchase Return of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{8314CDF7-853B-4DEA-A6DF-CE478FB1D3BD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116754","Name":"Intra State Purchase Return of Exempted Fixed Asset from Registered Vendor (Non-Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{739B3C04-8659-438B-B9D5-EB62435B9025}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116755","Name":"Inter-State Purchase Return of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{43228213-4CEA-41C4-B28B-170B00BC81A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116756","Name":"Intra State Purchase Return of Service from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Credit Memo/Return order","NodeType":"Use Case","TableID":39,"CaseID":"{5E1C6C44-CCBA-49ED-AD64-54D360467B0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116757","Name":"Intra-State Purchase Return of Goods from Registered Exempted Vendor when Input Tax Credit is Available Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{8FCF5988-06C7-44E2-A7BD-A5A9B40CDEF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116758","Name":"Inter-State Purchase Return of Goods from Registered Exempted Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{67FECB97-A3FA-4FC9-8A80-E214C3DF4CA9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116759","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{4F992CE7-BB8C-4129-923A-F53A771DF231}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116760","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{0371699B-6B05-4B16-99FB-604F142308AA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116800","Name":"End Exempted","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116901","Name":"GST Reverse Charge -No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18085=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116902","Name":"GST Credit-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116903","Name":"Type -GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116904","Name":"(POS) Intra-State Purchase Return of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{3F057D29-C926-453B-8B17-6B5E431A20B4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116950","Name":"End Type -GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117000","Name":"End GST Credit-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117001","Name":"Begin Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117002","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{2BF5B2FE-2191-416D-B63F-47052716FC1B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117003","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{F759EFFB-61F9-4B84-B9CD-01E2616A7B85}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117004","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{F023887D-C599-4FE6-89E7-49C257DC208C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117005","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{13352A4D-EEAB-4FEA-A778-0BDAD73B550C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117015","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117016","Name":"Begin Type - Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117017","Name":"Inter State Purchase of Charge from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{0CF4326B-FD68-4AE6-B52A-CD2AA2F2A788}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117020","Name":"End Type - Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117021","Name":"Inter State Purchase of other types except good from Composite Vendor/Supplier of exempted not goods with no GST Impact through Purchase Return Order/Credit Memo With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{21E3248F-92C2-444C-B7E9-B48218AD918A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117022","Name":"Intra State Purchase of other types from Composite Vendor/Supplier of exempted not goods with no GST Impact through Purchase Return Order/Credit Memo with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{1988B611-ABD4-44C4-9CB5-67BB88E0002C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117023","Name":"Inter State Purchase of Service from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{BC9A772F-DBF9-4F4F-8607-212DC829C005}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117050","Name":"End GST Reverse Charge -No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117051","Name":"GST Credit Non-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117052","Name":"Return of Import Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{047704F8-A619-401F-9653-12103103E14A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117053","Name":"Purchase Credit Memo/Return Order for Imported Goods where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{DA972CCF-D97D-4379-9704-AB397FA9E08F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117054","Name":"Purchase Credit Memo/Return Order for Imported Services where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{1005E09C-7F65-4E7A-AC0C-B071C455A412}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117055","Name":"(POS) Intra-State Return of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is not available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{8B6ADE91-D482-4071-B431-C299292EF2BF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117056","Name":"Return of Import Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, without cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{B5C09EE0-1CF9-4818-AADB-AC5E95626AE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117057","Name":"Intra-State Purchase Return of Goods from Registered Vendor where Input Tax Credit is not available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{0EBD8B25-3C27-46AE-8CD7-4E870DB1315B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117058","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{97437C0C-3E99-4D15-9378-34AC4B8FD002}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117100","Name":"End GST Credit Non-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117101","Name":"Begin Type G/L Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117102","Name":"Purchase Credit Memo/Return Order for Imported Services where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{AA1B2E3A-4149-4352-B081-2A869CDE5353}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117120","Name":"End Type G/L Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117121","Name":"Begin Type - Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117122","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{55B6317F-25F3-4C73-8AA5-AFA3EC519C88}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117125","Name":"End Type - Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117150","Name":"End Purchase Return Document","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117200","Name":"End Purchase","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117201","Name":"Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18543=1(<>''),Field18001=1(<>''),Field18009=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117202","Name":"Account Type-Customer","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117203","Name":"Document Type- Invoice","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117204","Name":"GST Customer Type- Registered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18007=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117205","Name":"Intra-State Sales of Goods to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{3335E143-1F90-4E63-B6E7-5A4897019FFA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117206","Name":"Inter-State Sales of Goods to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{38C5A554-206D-44A5-9090-86CAC52A7715}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117207","Name":"Intra-State Sales of Service to Registered Customer through Sales Journal/Journal/General Journal - Kerala Cess","NodeType":"Use Case","TableID":81,"CaseID":"{C89845E0-C8B1-45B1-9C1B-04EC264B7AC7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117208","Name":"Intra-State Sales of Service to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{BBD37D0A-E328-4544-B5E1-03FCF65399D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117209","Name":"Inter-State Sales of Services to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{CF221DCD-487C-4B3C-BBC4-FE16B6667E76}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117210","Name":"Intra-State Sales of Exempted Service to Registered Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{B0D75B5B-C42D-4381-80D8-B312BD2360AE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117250","Name":"End GST Customer type- Registered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117251","Name":"GST Customer Type- Others","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18007=1(2|3|4|5|6|7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117252","Name":"Inter-State Sales of Service to UnRegistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{F56F247A-8E36-496E-8672-C6FE2C81CE7B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117253","Name":"Intra-State Sales of Service to UnRegistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{F719A304-09CF-479B-A123-2A4E34ED3133}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117254","Name":"Export Sales of Service to Export Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{F807C5DC-40B1-4E22-AB49-06BC54A22558}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117255","Name":"IntraState - Export Sales of Service to Deemed Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{005ED1ED-F66A-4A08-8647-0554154F0DF2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117256","Name":"Export Sales of Service to SEZ Development Customer with payment of duty through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{3DC33AD0-69AB-4B36-B58D-7C409957507C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117257","Name":"Export of Service to SEZ Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{6F745F19-1955-4DAA-A3C4-BAC6D6326232}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117258","Name":"Inter State - Export Sales of Service to Deemed Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{FCB154BF-A72A-43A0-87AB-DF80DEAB4F1C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117300","Name":"End GST Customer Type- Others","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117350","Name":"End Document Type- Invoice","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117351","Name":"Document Type- Credit Memo","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117352","Name":"Inter-State Sales Return of Service to UnRegistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{CCF41113-DC62-47E2-B45B-87AF0248AF65}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117353","Name":"Inter-State Sales Return of Goods to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{674E08E2-EB2A-4C3D-924B-9370C6ED3DBF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117354","Name":"Intra-State Sales Return of Service to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{6C9258C7-AF9C-43E4-A015-C4253265F37E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117355","Name":"Intra-State Sales Return of Service to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{6C9258C7-AF9C-43E4-A015-C4253265F37E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117356","Name":"(POS) Intra-State Sales Return/Credit Note of Services for Overseas Place of Supply from Registered Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{DF8067FF-2F97-485F-8364-3AC5536AD82D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117357","Name":"Export Sales Return of Service to Export Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{B8EE2ED8-F29F-465D-B6DC-A3A2A4BB1B3D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117358","Name":"Intra-State Sales Return of Service from Deemed Export Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{4BFBD63E-F561-4C68-AB29-BF4139D24F49}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117359","Name":"InterState Sales Return of Service to SEZ Development Customer with payment of duty through Sales Journal/Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{68AE0437-E71F-4AC5-8729-DDD40410D69D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117360","Name":"Sales Return of Service to SEZ Unit Customer with payment of duty through Sales Journal/Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{960BC8FC-FF34-4E46-A6A0-6FD2CB7BBDA2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117361","Name":"Inter State - Export Sales Return of Service to Deemed Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{FFBBBCDE-50F5-4D02-8B40-DAD63ED1491E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117362","Name":"Intra-State Sales Return of Goods to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{DF783FC9-39C3-492B-B94F-90BCF26C04E5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117363","Name":"Inter-State Sales Return of Service to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{4E1D5479-C527-4295-A0C1-7D82D94860F6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117400","Name":"End Document Type- Credit Memo","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117401","Name":"Document Type- Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117402","Name":"Inter-State GST on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{287ED69D-1488-4A48-BA50-E063EC8EF915}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117403","Name":"Intra-State GST on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{18F45902-76C4-4B57-AF7F-7D9B3A76D51F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117404","Name":"Export of Goods and Services to SEZ Development, through Sales Journal/Journal/General Journal With Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{0B9F94CE-1C82-4FF7-9EF7-D51E156A0286}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117405","Name":"Export of Goods and Services to Foreign Customer through Sales Journal/Journal/General Journal Without Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{2E85F2F7-2ED8-42CC-95F5-B20D32DB41AC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117406","Name":"GST Deemed Exports through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{AE574FA3-E537-4FC1-9F8D-E16EF5D7A40E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117407","Name":"Export of Goods and Services to SEZ Unit through Sales Journal/Journal/General Journal Without Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{B7D173ED-4B8F-4F13-95B8-B7C4890B3623}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117408","Name":"Export of Goods and Services to SEZ Unit through Sales Journal/Journal/General Journal With Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{B8ACD224-FC70-4037-86AD-C18AA5DA085F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117409","Name":"Export of Goods and Services to SEZ Development through Sales Journal/Journal/General Journal Without Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{C9CE4C92-F6CD-4B97-BD13-D8EE824D7D66}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117410","Name":"Export of Goods and Services to Foreign Customer through Sales Journal/Journal/General Journal With Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{DAC31111-29F4-4C8F-BEEC-C3B31668DAF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117450","Name":"End Document Type-Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117451","Name":"Document Type-Refund","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117453","Name":"Intra-State GST Refund on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{0628D305-F863-48E9-986E-0570995F7002}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117454","Name":"Inter-State GST Refund on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{F643A772-5CA6-4CC5-913C-9188C52DF8E0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117499","Name":"End Document Type-Refund","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117500","Name":"End Account Type- Customer","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117501","Name":"Account Type-Vendor","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117502","Name":"Document Type- Invoice","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117503","Name":"GST Credit -Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117504","Name":"GST Reverse Charge -Yes","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18023=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117505","Name":"Intra-State/Intra-Union Territory Purchase of Service from Unregistered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{3C23CDAC-6995-4B6C-9E4B-708B540C413B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117506","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{744B47C3-E4C1-4AC4-A37E-CBA3102A59A1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117507","Name":"Purchase of Services from SEZ Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{7E182C87-669C-4CD8-8336-41C2ABE6144C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117508","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{B8F32E0D-5D5E-4B84-AE3A-C0D4520470D3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117509","Name":"Inter-State Purchase of Services from Unregistered/Registered Vendor where Input Tax Credit is available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{819CADCF-BE64-4BC6-93BA-59EDE239EB54}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117511","Name":"Interstate GST Calculation on Reverse Charge Exempt Transactions through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{25E8E204-2E63-4B79-824C-3C1185D6467C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117513","Name":"Intrastate GST Calculation on Reverse Charge Exempt Transactions through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{DF134523-53D1-4137-B091-D9C5E1DB8D64}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117550","Name":"End GST Reverse Charge -Yes","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117551","Name":"Begin Vendor Type - Composite","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117552","Name":"Inter-State Purchase of Service from Composite Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F3CD2FC6-4CEE-47EF-B0F5-9EB3E46CE74B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117553","Name":"Intra-State/Intra-Union Territory Purchase of Service from Composite Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B68BAE5C-F887-46E8-9B4C-7333EB6152E0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117558","Name":"End Vendor Type - Composite","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117571","Name":"Begin Vendor type - Registered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117572","Name":"Intra-State/Intra-Union Territory Purchase of Goods from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{66A65EDD-B06A-4817-84C4-B61B035AC7EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117573","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{C2FE3376-EDB2-4C3E-A82D-F49D27D292DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117574","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{36017702-208F-4E8C-A75E-8872EA7D1205}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117575","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{26B7CC70-0C7D-4FD2-B00A-B7845C289215}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117576","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{02670909-9C35-49DA-B64F-E5EA4602693E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117577","Name":"ISD-Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{FA492219-9C2F-4986-B773-DAA35CA74796}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117578","Name":"ISD - Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{E73369B2-7A52-46D6-909F-BA116399AF39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117579","Name":"ISD - Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{E73369B2-7A52-46D6-909F-BA116399AF39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117580","Name":"(POS) Intra-State Sales of Services for Overseas Place of Supply from Registered Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{5DAE448C-0BD5-4DC3-9BF9-B846921D2C71}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117581","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available through Purchase Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{2341D31D-659B-4C70-B0FD-20C4494A4F1F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117585","Name":"End Vendor type - Registered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117586","Name":"Begin Vendor type - Import","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117587","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal-","NodeType":"Use Case","TableID":81,"CaseID":"{F6DED4E3-7405-4E6E-B0DF-1320041F130A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117588","Name":"Import of Purchase of Service from Import Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B4662B2E-9E63-4BA7-A683-248E5811B566}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117589","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{6D031AA1-2009-4D4A-A8E7-01D9116EDC5C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117592","Name":"End Vendor type - Import","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117593","Name":"Begin Vendor Type- SEZ","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117594","Name":"SEZ of Purchase of Service from SEZ Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{AB179237-EF7C-4BB1-9406-46B7B6DD1449}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117599","Name":"End Vendor Type-SEZ","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117600","Name":"End GST Credit-Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117601","Name":"GST Credit- Non Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117602","Name":"GST Reverse Charge-Yes","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18023=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117603","Name":"Intra-State/Intra-Union Territory Purchase of Service from UnRegistered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{4CB6ACCD-BD47-4485-A757-62924EA09524}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117604","Name":"Purchase of Services from SEZ Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{B2CD61FA-9C30-4FE5-B5C5-5B535BA6DF96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117605","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{4D9AEA2D-B94B-40CC-B9D9-BC8D6FA19425}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117606","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{580975ED-52DE-4EF9-BD94-99425C52B570}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117607","Name":"Intra-State Purchase of Services from Unregistered/Registered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0751F148-5E1D-4EFB-9008-ECB2F2F6704D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117608","Name":"Inter-State Purchase of Services from Unregistered/Registered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{4D947EDC-3710-49D2-91D5-6446978D43EC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117650","Name":"End GST Reverse Charge -Yes","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117651","Name":"GST Input Service Distribution -Yes","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18022=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117652","Name":"ISD - Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{9639222B-DFA8-4F14-9A72-24E994C1C7DA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117653","Name":"ISD-Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{19FC1701-0FE4-4ED3-83B8-07DAB075A043}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117700","Name":"End GST Input Service Distribution -Yes","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117701","Name":"GST Input Service Distribution -No","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18022=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117702","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{E530DADD-215F-47FF-8A84-46A1E62353CF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117703","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{5305AA1D-CF40-43CC-B9E3-B9471E33DCB3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117750","Name":"End GST Input Service Distribution -No","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117751","Name":"Begin Vendor Type - Import","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117752","Name":"Import of Services from Foreign Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{774A6E80-FBB4-4413-9144-6ACA8C6546D2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117753","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{9236A009-169D-4464-8B2C-62C94B782C26}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117754","Name":"Import of Services from Associate Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{54CB1855-9AD0-4A47-9777-D811C7FA1FDE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117759","Name":"End Vendor Type - Import","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117760","Name":"Begin Vendor Type - Unregistered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117761","Name":"IGST on Transportation of Goods through Purchase Journal/Journal/General Journal for Unregistered Vendor with Non-Availment.","NodeType":"Use Case","TableID":81,"CaseID":"{26ED31B0-75B8-439C-8E16-56518665184F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117764","Name":"End Vendor Type - Unregistered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117765","Name":"Begin Vendor Type - Registered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117766","Name":"Intra-State/ Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{15E17CFF-8262-4E83-8FD4-3EC012EEA465}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117767","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{A734B9DD-A4C1-427E-AF18-6A8B27474F50}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117768","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{DA8551C9-79B9-423C-801E-A8C868788300}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117769","Name":"Intra-State/ Intra-Union Territory Purchase of Goods from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{547DDC98-8D3C-46A0-84BE-03E71BA135DA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117770","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is not available through Purchase Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{997C3EE3-8453-43F1-A179-A32B19EFD8B8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117771","Name":"IGST on Transportation of Goods through Purchase Journal/Journal/General Journal for Registered Vendor with Non-Availment.","NodeType":"Use Case","TableID":81,"CaseID":"{4A025601-FF3D-4BA6-A567-0C31785D0D36}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117772","Name":"Place of supply as Vendors State in Purchase Transactions through Purchase Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{7ABC67E5-F6F0-4ECB-9634-55258429DFD8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117780","Name":"End Vendor Type - Registered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117781","Name":"Begin Vendor Type-SEZ","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117782","Name":"SEZ of Services from SEZ Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{8DF66C94-890C-4007-9341-18D0565000FE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117799","Name":"End Vendor Type- SEZ","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117800","Name":"End GST Credit -Non Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117850","Name":"End Document Type-Invoice","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117851","Name":"Document Type-Credit Memo","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117852","Name":"GST Credit -Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117853","Name":"Purchase return of Imported Goods where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{7B91DD35-F410-4971-A2BC-DBCB67520105}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117854","Name":"Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{BBBBD283-C64C-4AFE-A14E-950791E18CF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117856","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{9DFF9CBE-B1A5-4D28-A855-8783315A87D0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117857","Name":"Intra-State/ Intra-Union Territory Purchase Return of Goods to Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{85D7B57B-6657-4C5B-889D-282A48B9D0FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117858","Name":"Purchase Credit Memo/Return Order for Imported Services where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{C97F63C3-79EB-44D6-8AEA-B1710A9BBCE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117859","Name":"Purchase Credit Memo/Return Order for Imported Services from Import Associate Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{D0EADC0B-CBC1-4E07-8ADF-5AE168893B04}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117860","Name":"Intra-State Purchase Return of Service from Unregistered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{789CE492-C2BE-4EEC-8E98-740310FDD0E3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117861","Name":"Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0AAD1908-46DC-4370-8A8D-77096D9B30B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117862","Name":"Intra-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F857355F-9134-460C-89C8-FB0845206988}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117863","Name":"Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0AAD1908-46DC-4370-8A8D-77096D9B30B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117864","Name":"Inter-State Purchase Return of Services to Registered Vendor where Input Tax Credit is available (Reverse Charge) through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{DA389E3B-A6C3-4DE1-9843-807B2161B9DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117865","Name":"ISD-Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{812E9032-CA16-4FAB-A80B-94CD7BC5EB8D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117866","Name":"(POS) Intra-State Return/Credit Note of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F9A5047E-5B27-41E4-AF68-9497E3B52FAE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117867","Name":"Inter-State Purchase Return of Service from Unregistered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B5A9628F-46F5-48C4-9CC0-09CBAE26D7EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117868","Name":"Intra-State Purchase Return from Composite Vendor where Input Tax Credit is available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{AFA9BC82-6757-44E3-B5E4-00029DACDA64}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117869","Name":"Intra-State Purchase Return of Services from SEZ Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B053F5FC-CD93-4EA7-AC71-1590E006FAAE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117870","Name":"Intra-State Return of Services to Registered/ Unregistered Vendor where Input Tax Credit is available through Purchase Journal/General Journal (Reverse Charge)","NodeType":"Use Case","TableID":81,"CaseID":"{4C68E757-379A-4FD3-A58A-91F57954A9FC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117871","Name":"ISD - Intra-State/Intra-Union Territory Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{783D79C8-B103-439F-9F75-9CB53B347C73}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117900","Name":"End GST Credit- Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117901","Name":"GST Credit Non-Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117902","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is Not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{CB0F4A5D-EE91-402C-AA30-C8B724D7DCC5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117903","Name":"Intra-State/ Intra-Union Territory Return of Goods from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{8E0D2716-6C6D-4CDF-863F-1E043223D7DF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117905","Name":"Inter-State Purchase Return of Service to Registered Vendor where Input Tax Credit is not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F6932043-6A5A-4F55-B06A-DD7F76AFB52B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117906","Name":"Purchase return of Imported Goods where Input Tax Credit is Not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{8503C963-7C87-45CD-8543-607AE516F9F8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117907","Name":"Purchase Credit Memo for Imported Services where Input Tax Credit is not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{A6239FAB-E9D2-4FFC-90CC-A5D7858C4CD8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117908","Name":"Purchase Credit Memo/Return Order for Imported Services from Import Associate Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{CF175943-0F1A-4814-BF17-756FB88F497C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117909","Name":"Inter-State Purchase Return of Services to Unregistered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0C04EF8F-6F19-4C41-928B-9F32605898A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117910","Name":"ISD - Intra-State/Intra-Union Territory Purchase Return of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{00B59093-4DB8-4152-99DB-7F9368A143A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117911","Name":"(POS) Intra-State Return/Credit Note of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{75C41C76-22FC-479E-836E-E9C838FF3320}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117912","Name":"Inter-State Purchase Return of Services to Registered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{AE2974C0-8A1D-4821-8999-7617690C41FC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117913","Name":"Intra-State Return of Services to Registered/Unregistered Vendor where Input Tax Credit is not available through Purchase Journal and General Journal (Reverse charge)","NodeType":"Use Case","TableID":81,"CaseID":"{56D375F9-6B43-4460-B0F6-CAB18F44DE92}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117914","Name":"Intra-State Purchase Return of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{62275F50-6F85-4EA6-AA4F-0BACF20CF65E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117950","Name":"End GST Credit Non-Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118000","Name":"End Document Type-Credit Memo","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118001","Name":"Document Type-Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118002","Name":"GST on Advance for Import Payment.","NodeType":"Use Case","TableID":81,"CaseID":"{7859624E-8AFD-4A64-B361-900053C11266}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118003","Name":"GST on Advance payment from SEZ Vendor.","NodeType":"Use Case","TableID":81,"CaseID":"{041E1938-9B6A-4173-937C-FF0FDC0E7309}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118004","Name":"Inter State GST on Advance Payment made to Registered/Unregistered Vendor.","NodeType":"Use Case","TableID":81,"CaseID":"{E411752D-2CC4-4CD4-9D35-1AE651319762}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118005","Name":"Intra State GST on Advance Payment made to Registered/Unregistered Vendor.","NodeType":"Use Case","TableID":81,"CaseID":"{0686E40E-9643-42C8-B4D1-7587447E98E0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118006","Name":"GST on Advance Payment made to Vendor through General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{C60D4ED2-E3FC-41BC-BB8D-F1B521984712}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118050","Name":"End Document Type-Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118080","Name":"End Account Type- Vendor","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118090","Name":"GST Credit","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(0),Field18014=1(4|5|6|7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118091","Name":"GST Opening Liability IGST","NodeType":"Use Case","TableID":81,"CaseID":"{BE4AF8DF-BB6D-432C-B598-B7B481D8D826}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118092","Name":"GST Opening Liability CGST","NodeType":"Use Case","TableID":81,"CaseID":"{5B85FA47-8603-4A7F-9B76-4A5AD999CA81}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118093","Name":"GST Opening TDS Credit - CGST","NodeType":"Use Case","TableID":81,"CaseID":"{7FD02BAE-DA8D-4100-962E-6A8F7FDE823C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118094","Name":"GST Opening TDS Credit - IGST","NodeType":"Use Case","TableID":81,"CaseID":"{09E58D68-C9B5-4A27-B4FE-3BCA8B383E14}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118095","Name":"GST Opening TDS Credit - SGST","NodeType":"Use Case","TableID":81,"CaseID":"{851F544F-7349-4E29-AF19-A0B3B72AB0AC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118096","Name":"GST Opening TCS Credit - CGST","NodeType":"Use Case","TableID":81,"CaseID":"{AF9D718A-2832-4D92-A195-4D7DD81E2029}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118097","Name":"GST Opening TCS Credit - IGST","NodeType":"Use Case","TableID":81,"CaseID":"{33896D17-0F26-4376-8304-7BA20BE4E6D4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118098","Name":"GST Opening TCS Credit - SGST","NodeType":"Use Case","TableID":81,"CaseID":"{36207D8F-34B2-4AF3-83EC-96642DA44DFB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118103","Name":"GST Opening IGST","NodeType":"Use Case","TableID":81,"CaseID":"{325D0E84-286F-437E-BFE1-EBB6F575AD39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118104","Name":"GST Opening CGST","NodeType":"Use Case","TableID":81,"CaseID":"{34A74D02-F64A-4329-B0B3-B20E07D5A79A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118105","Name":"GST Opening SGST","NodeType":"Use Case","TableID":81,"CaseID":"{BBA0DF22-691B-46EB-8500-8B270596F2E9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118106","Name":"GST Opening Liability SGST","NodeType":"Use Case","TableID":81,"CaseID":"{97CF7642-AB0E-4686-A5CE-3D7C7C641E7E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118108","Name":"Account Type - G/L * Tax Type End","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118110","Name":"Account Type - G/L Account","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118111","Name":"Intra-state purchase of services where Services is paid directly and service provider is registered and GST Credit is Not Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{77160361-37A9-43BD-A71B-BFA6853D1CFB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118112","Name":"Inter-state purchase of services where Services is paid directly and service provider is registered and GST Credit is Not Available on Purchase Journal and Gen. Journals","NodeType":"Use Case","TableID":81,"CaseID":"{869FF9BE-3EA8-424B-973E-E27D6E370807}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118113","Name":"Intra-state purchase of services where Services is paid directly through bank and service provider is registered and GST Credit is Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{2D1A7414-2844-4128-B026-CA683BCEA058}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118114","Name":"Inter-state purchase of services where Services is paid directly through bank and service provider is registered and GST Credit is Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{5265955A-2DE6-49CD-AFBE-D314E2D049FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118115","Name":"Inter-state purchase of services where Services is paid directly and service provider is Unregistered and GST Credit is Not Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{2A85CD62-7897-47FF-808B-E0A11131071F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118116","Name":"Intra-state purchase of services where Services is paid directly and service provider is Unregistered and GST Credit is Not Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{EAD964E4-7CD1-4462-96B3-78A3FA9DE087}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118117","Name":"Inter-state purchase of services where Services is paid directly through bank and service provider is Unregistered and GST Credit is Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{99AB0C39-33A7-47F5-8659-968DBAEEA2F2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118125","Name":"End - Account Type - G/L Account","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118150","Name":"End Payment","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118151","Name":"Service Transfer","NodeType":"Begin","TableID":18351,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field11=1(<>''),Field12=1(<>''),Field20=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118152","Name":"Interstate Service Transfer Order","NodeType":"Use Case","TableID":18351,"CaseID":"{FEB751CF-3E8D-42AB-965E-51097FF60E64}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118153","Name":"IntraState Service Transfer Order","NodeType":"Use Case","TableID":18351,"CaseID":"{D68B3FE8-78C6-492D-AC1A-FFA29F17A50D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118200","Name":"End Service Transfer","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118201","Name":"Stock Transfer","NodeType":"Begin","TableID":5741,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field18394=1(<>''),Field18395=1(<>''),Field18396=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118202","Name":"IntraState Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{A59206F4-476D-4ED9-8665-08535755BB5E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118203","Name":"InterState Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{E52D7679-7E9C-4623-9CA7-AB704EF2465C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118204","Name":"Bonded Inter-State Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{AECAE480-71C8-41C4-B247-FB33DFC9C039}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118205","Name":"Bonded Intra-State Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{C215F153-718E-4936-BA99-ACB4E2F2BBC4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118250","Name":"End Stock Transfer","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118251","Name":"Journal Bank Charges","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field13=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118252","Name":"Document Type-Invoice","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field9=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118253","Name":"GST on Bank Charges against Customer Receipt (Intra Sate)","NodeType":"Use Case","TableID":18247,"CaseID":"{46054EB7-3CE7-421C-B047-00658AC5C150}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118254","Name":"Intra-State Bank Payment with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{7AC16E57-E977-41B3-9338-1399811A688B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118255","Name":"GST on Bank Charges against Customer Receipt (Inter State)","NodeType":"Use Case","TableID":18247,"CaseID":"{668C2032-DD90-4A23-8F30-04B69FE7C99E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118256","Name":"Inter-State Bank Payment with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{98A43A23-24F8-4FC2-9D4E-6B45D74B02FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118300","Name":"End Document Type-Invoice","NodeType":"End","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118301","Name":"Document Type-Credit Memo","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field9=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118302","Name":"GST on Bank Charges against Customer Refund (Inter State)","NodeType":"Use Case","TableID":18247,"CaseID":"{2026E996-050E-4647-8D77-9B2E8FF1B068}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118303","Name":"Inter State GST Refund on Bank Charges.","NodeType":"Use Case","TableID":18247,"CaseID":"{4CB74CDB-63C8-492B-8819-BA937750388D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118304","Name":"Intra State Refund GST on Bank Charges.","NodeType":"Use Case","TableID":18247,"CaseID":"{7E6E164B-CB38-4B5A-ADAA-BB51CAEEA5A7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118305","Name":"Inter-State Bank Payment for Credit Memo with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{429F37B1-0D9F-4B5A-BC3F-AC53F994BC32}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118306","Name":"Intra-State Bank Payment for Credit Memo with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{A26AB5CA-52E6-4626-A426-C656627502E4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118350","Name":"End Document Type-Credit Memo","NodeType":"End","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118351","Name":"Document Type - Blank","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field9=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118352","Name":"Intra-State Bank charges on bank Payment with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{F230C59A-547E-41CA-B6B9-5E8BE22A1BEF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118353","Name":"Inter-State Bank charges on bank Payment with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{50157D1D-C080-4AF0-8C63-0B5E918F5AF2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118375","Name":"End Document Type - Blank","NodeType":"End","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118400","Name":"End Journal Bank Charges","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119000","Name":"GST Service Management","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field7=1(<>''),Field18441=1(<>''),Field18443=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119001","Name":"Service Document","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119002","Name":"Intra State Service to Registered/Unregistered Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{B90130D9-0471-4034-8687-11B04ABDCE72}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119003","Name":"Inter State Service to Registered/Unregistered Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{4DD701D1-41A9-432E-9E95-8F8D08AB2C67}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119004","Name":"Inter State Service to SEZ Unit Customer through Service Quote/ Order/ Invoice.","NodeType":"Use Case","TableID":5902,"CaseID":"{5CB02A72-982F-4AD6-A762-CE881DC52ACC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119005","Name":"Inter State Service to SEZ Development Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{0282EB09-4676-4A39-B2EC-EDC9568BA92B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119006","Name":"Intra State Service to Deemed Export Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{ADF43278-38CD-463B-8E08-DD604EC3C50C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE119007","Name":"Inter State Service to Export Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{1CB4368B-D6AF-4B89-AFEB-8641B0152451}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119008","Name":"Inter State Service to SEZ Unit Customer through Service Quote/ Order/ Invoice without payment of Duty.","NodeType":"Use Case","TableID":5902,"CaseID":"{EC2138A1-46D7-430B-B335-F8D6C345BB16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119010","Name":"Intra State Service to SEZ Development Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{4C0ECC95-F5CD-46B2-B302-84C3A5AD7D4E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119011","Name":"Inter State Service to Deemed Export Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{135115A7-1D82-4528-959B-9A35775455CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119200","Name":"End Service Document","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119201","Name":"Service Return","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119202","Name":"Inter State Return of Service to Registered/Unregistered Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{AA215442-D318-4160-A666-57E3FBE06CDD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119203","Name":"Intra State Return of Service to Registered/Unregistered Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{C0774889-632D-4799-AA04-DA25EB643832}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119204","Name":"Inter State Service to SEZ Development Customer through Service Credit Memo\n","NodeType":"Use Case","TableID":5902,"CaseID":"{95551286-5BF2-42D5-895A-4A4F450A424B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119205","Name":"Intra State Return of Service to Deemed Export Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{DD75810D-2D5B-438A-A3AB-079E1B1D7AB9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119206","Name":"Inter State Service to Deemed Export Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{C211C520-8428-4E89-8A9A-446A5EC41D39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119207","Name":"Inter State Return of Service to SEZ Unit Customer through Service Credit Memo with payment of duty","NodeType":"Use Case","TableID":5902,"CaseID":"{6CFFB9A1-521E-4D60-AAFB-BDB044405A2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119208","Name":"Inter State Service to Export Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{0A055D50-A23B-48A5-BADA-9D00D97EED3B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119400","Name":"End Service Return","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119401","Name":"Begin Exempeted","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18446=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119402","Name":"Intra State Service to Registered/Unregistered/Exempted Customer through Service Quote/ Order/ Invoice/ Credit Memo - Exempted","NodeType":"Use Case","TableID":5902,"CaseID":"{D460C15F-47A6-41A4-9B9F-8EA3738C2E40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119403","Name":"Inter State Service to Registered/Unregistered/Exempted Customer through Service Quote/ Order/ Invoice/ Credit Memo - Exempted","NodeType":"Use Case","TableID":5902,"CaseID":"{990AEEEE-91BD-4C0E-8346-897F141E4EDB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119410","Name":"End Exempeted","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119800","Name":"End GST Service Management","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119999","Name":"End - GST","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200001","Name":"TDS","NodeType":"Begin","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"TDS","IsTaxTypeRoot":true},{"Code":"TE-200002","Name":"Purchase","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(1|2),Field18716=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200003","Name":"Domestic Vendor","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field91=1(''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200004","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{DB230097-4AA7-44E2-9373-02A467DC95AC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200005","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{A8E114BF-F8CD-44DB-A2B3-614BC18F4442}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200006","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":39,"CaseID":"{F39A0864-D2E7-40A5-9633-B6680CD3EC6F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200007","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{1E42FDF3-1868-4205-A6D6-D2FC67BD132F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200008","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified with Concessional Codes and Posting Date is greater than Start Date","NodeType":"Use Case","TableID":39,"CaseID":"{F8BF58D9-7681-458D-9DFC-71EA23A9F853}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200009","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where no PAN No. is specified along with Concessional Codes and Posting Date is greater then Start Date","NodeType":"Use Case","TableID":39,"CaseID":"{1ABE2C56-9700-4A30-A14A-5E8ECC2F32DD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200010","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified without Concessional Codes with Applies-to ID.","NodeType":"Use Case","TableID":39,"CaseID":"{B8A33720-278B-45B4-8465-2D9FA273D813}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200015","Name":"End Domestic Vendor","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200050","Name":"NRI Vendor","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field91=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200051","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{5D4C69D3-E776-4E9D-B397-09336BFDC884}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200052","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{FEE5DFFF-0BC1-4246-AD90-6CB3DC44A451}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200053","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{487C3669-B12A-42C0-9FEA-D23AB1426BF6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200054","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":39,"CaseID":"{75222E87-A1A0-48EE-9211-D3F59009C287}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200100","Name":"End NRI Vendor","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200150","Name":"End Purchase","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200151","Name":"Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field30=1(0),Field18544=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200152","Name":"NRI Vendor","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(2),Field12=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200153","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":81,"CaseID":"{271D5BC6-17E8-424E-9E34-3BEE548F938F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200154","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{D9B47164-1681-4C6F-A746-8D710E5F103D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200155","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{25C2D9C3-2A87-41A6-9AB9-DC76E818DF0C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200156","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{08737F79-35F1-4670-BD1D-E41764E3A9DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200200","Name":"End NRI Vendor","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200201","Name":"Domestic Vendor","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(2),Field12=1(''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200202","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":81,"CaseID":"{B0C259BC-64CC-4818-887A-3337D357CDFF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200203","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{33BFBE99-9140-4112-A55B-35EC0D9B61B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200204","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{FA0E357D-1AC0-42AA-94DE-6DACA521D38E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200205","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{0CDED40A-A359-45E0-AAEC-AFE7BBCFBC96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200250","Name":"End Domestic Vendor","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200251","Name":"Customer","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200252","Name":"Calculation of Tax Deducted at Source through Bank Receipt Voucher/Cash Receipt Voucher/General Journal/Cash Receipt Journal for Customers with PAN and without Concessional Code.\n","NodeType":"Use Case","TableID":81,"CaseID":"{C1C8C9A9-1AE8-48D7-AB60-9EA08AA0AF21}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200253","Name":"Calculation of Tax Deducted at Source through Bank Receipt Voucher/Cash Receipt Voucher/General Journal/Cash Receipt Journal for Customers with PAN and Concessional Code.\n","NodeType":"Use Case","TableID":81,"CaseID":"{98E3D17E-B644-4DBA-836C-CF26A20EDD3F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200300","Name":"End Customer","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200301","Name":"Provisional Entry","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200302","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{7D508D37-53AC-4E44-9669-743A8BA82A3F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200303","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":81,"CaseID":"{25EADDE7-E634-4A01-9E4B-74E7C9D5AA62}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200304","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{9E57C058-0570-4828-B24A-760D35A38D19}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200305","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where PAN No. is specified without Concessional Codes.","NodeType":"Use Case","TableID":81,"CaseID":"{61ED733A-A96B-45ED-BE21-A98A8B65566B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200350","Name":"End Provisional Entry","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200400","Name":"End Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-299991","Name":"End TDS","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300001","Name":"TCS","NodeType":"Begin","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"TCS","IsTaxTypeRoot":true},{"Code":"TE-300002","Name":"Sales","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18838=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300003","Name":"Sales Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(1|0|2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300004","Name":"TCS to be calculated on Customer Invoice with PAN and without Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{BC834CD9-7782-4B77-8D0E-0D7EF1679775}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300005","Name":"PAN No. Validations (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{E696BECA-20A6-498E-9615-114585216ABA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300006","Name":"TCS to be calculated on Customer Invoice without PAN and without Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{91492C74-9837-4256-8B07-1BA40247EA73}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300007","Name":"TCS to be calculated on Customer Invoice with PAN and with Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{4DC37F56-3558-400D-ABB1-5573CCC0FD30}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300008","Name":"TCS to be calculated on Customer Invoice with Resource and Fixed Asset (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{B8AC2649-DEA6-42B1-BF69-62A706C6DC40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300009","Name":"TCS to be calculated on Customer Invoice without PAN and with Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{C8358DF6-AC70-4AB2-94E4-D609ADC635CA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300050","Name":"End Sales Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300051","Name":"Sales Return Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(5|3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300052","Name":"TCS to be calculated on Customer Invoice without PAN and without Concessional (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{B3983817-AAEE-4AD8-97D8-16A875361BA7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300053","Name":"PAN No Validations (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{800AD5B2-89E5-4616-8281-37DDEC382E76}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300054","Name":"TCS to be calculated on Customer Invoice with Resource and Fixed Asset (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{F687A3C1-9192-42D2-A042-39C2B63B35D7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300055","Name":"TCS to be calculated on Customer Invoice with PAN and without Concessional (Through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{B1B995F9-C500-4846-9FE8-833A900F0846}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300056","Name":"TCS to be calculated on Customer Invoice with PAN and with Concessional (Through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{77DE8E48-908D-4E7E-9FBE-98B9EFCB7AE5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300057","Name":"TCS to be calculated on Customer Invoice without PAN and with Concessional (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{5E2AC8E9-8A09-4BA9-8C30-C1CD27CAA214}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300100","Name":"End Sales Retun Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300150","Name":"End Sales","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300151","Name":"Receipt","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(1),Field6=1(1|2|3),Field30=1(0),Field18807=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300152","Name":"Invoice and Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(2|1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300153","Name":"TCS to be calculated on Customer Invoice and Payment with PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{593E67FC-EACA-4C9B-8F95-4A1D3D1712E4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300154","Name":"TCS to be calculated on Customer Invoice and Payment without PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{DA63D636-4773-418A-8123-6522A7867E5F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300155","Name":"TCS to be calculated on Customer Invoice and Payment with PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{6B7BF4A0-0250-4480-9482-733992652D29}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300156","Name":"TCS to be calculated on Customer Invoice and Payment without PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{D9843455-A721-409B-8A37-D111331A8024}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300157","Name":"PAN No. Validations through General journal","NodeType":"Use Case","TableID":81,"CaseID":"{CB9FAD0D-74A9-4DD5-A83A-E2F6A1FABA06}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300158","Name":"TCS to be calculated on Receipt of Payment with PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{42747DC4-6388-459E-9D2E-103F3F4E2AB0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300159","Name":"TCS to be calculated on Receipt of Payment without PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{82174562-748D-4C6F-AE37-852C7CCEFEAC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300160","Name":"TCS to be calculated on Receipt of Payment without PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{1E2CC6D7-1793-4F6E-BF59-A79A941FD309}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300161","Name":"TCS to be calculated on Receipt of Payment with PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{6F4B6558-D97D-463E-BCC2-A8AE3C7EB872}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300200","Name":"End Invoice and Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300201","Name":"Credit Memo","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300202","Name":"TCS to be calculated on Customer Credit Memo without PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{4BC77C19-4CA3-4913-8EB5-11EDAE308A25}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300203","Name":"TCS to be calculated on Customer Credit Memo without PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{3ED702E0-AFA2-4771-AD1F-8FBEF7383436}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300204","Name":"TCS to be calculated on Customer Credit Memo with PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{088AD93D-6264-4C00-8E0D-F15F40E5E4F6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300205","Name":"TCS to be calculated on Customer Credit Memo with PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{994E3FD7-2FE1-4B6D-AC06-F819F8B94F07}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300250","Name":"End Credit Memo","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300300","Name":"End Receipt","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-399991","Name":"END TCS","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-999999","Name":"End Tax Engine","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false}]]]> + ''),Field18080=1(<>''),Field18096=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000311","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Registered/Unregistered","NodeType":"Use Case","TableID":39,"CaseID":"{F6F63738-94DD-4B0B-BAD6-4EC11668D327}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000312","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8D93354A-64E8-4DA5-A1A7-741A42B80B33}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000313","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{826B72ED-5C21-45CA-A966-8443C38B768A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000314","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{7C64DCF3-718C-405E-A389-582FD1E33E5D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000315","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{71ED6108-7E6C-42E3-BEC8-DF9AD0C7A27E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000316","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{C724AA5A-92F2-4965-957B-C43EEACAABE6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000317","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - G/L Account","NodeType":"Use Case","TableID":39,"CaseID":"{DEEB69C8-EDAA-4A5A-875E-A20DA52008BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000318","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{DE898176-3602-4CBD-BF29-EAF4A9C03987}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000319","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - G/L Account (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{F7192A60-5739-4B72-AB1D-FB48ED3EE0F9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000320","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{3E8E1EDA-828E-40BE-8FD4-3456546F47A6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000321","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{FD3380A2-217C-4059-A344-1D832B755088}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000322","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice- Fixed Asset","NodeType":"Use Case","TableID":39,"CaseID":"{E1914856-FF7A-4B3A-99D5-17190CE10C27}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000323","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8D7FD8C3-FCB1-4968-8FD6-08181778EC29}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000324","Name":"Calculation of Cess where input tax Credit is Not Available for Goods through Purchase Quote/Order/Invoice -(Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{1E087C72-9078-4C31-ABD5-38F01008E508}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000325","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{508FE302-0CAB-41B6-8C43-737EBE931312}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000326","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{68FE3FB0-9F3C-44A6-9686-F37192B1A371}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000327","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Fixed Asset from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{2EA01E14-807E-4CC7-8494-9EAAFBA21709}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000328","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice -Fixed Asset(Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{6ADC0F4A-6D69-4BAE-A94F-7DC0889758DC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000329","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{C9822271-8F51-46B7-B4BD-A2B424B1699B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000330","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{C63F1B6C-96EE-41CB-879B-801CE9C734A6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000331","Name":"Calculation of Cess where input tax Credit is available through Purchase Quote/Order/Invoice - G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{F748E0D1-BC76-4D68-8CBD-FF4189DC3517}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000332","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Quote/Order/Invoice - G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{AE6444ED-20D1-4E69-A69C-7DCAEC9C4738}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000333","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Quote/Order/Invoice - Fixed Asset from Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{535A4B2C-EEA4-4267-8638-F57DE9153FDD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000340","Name":"End Cess on Purchase","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000350","Name":"Cess on Purchase Return","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(3|5),Field7=1(<>''),Field18080=1(<>''),Field18096=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000351","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Registered/Unregistered","NodeType":"Use Case","TableID":39,"CaseID":"{725E8FB9-C4CC-42B7-B060-5E86614A8168}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000352","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{EFF1E5F5-6CC1-414D-BD1F-1095D42F9A4A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000353","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/ Credit Memo - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8BB1C380-7CFE-4B49-82AD-78BBA652EB5C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000354","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{231587B2-D0BD-4362-9A3B-11839F7BB326}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000355","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{CEAE9F6C-7E67-4347-9E66-A9C6C54E4ECE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000356","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - G/L Account","NodeType":"Use Case","TableID":39,"CaseID":"{F33121DD-68CB-423C-A98B-6FF10BD8CED7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000357","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - G/L Account (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{75A11E67-E9DF-446F-974A-AE9F91D8EA1C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000358","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/Credit Memo - Goods from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{6F2DE875-4569-41DB-A28E-021E4D00378A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000359","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/Credit Memo - Service from SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{7D571F8D-B6A0-47E0-B80F-9AC703DF1D3B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000360","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/ Credit Memo - Goods from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A622E949-C161-4AE2-B6DB-7D3C16E5D899}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000361","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Fixed Asset","NodeType":"Use Case","TableID":39,"CaseID":"{43F17130-4EA1-48FE-B1A8-716EE5DF7C16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000362","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/ Credit Memo - Fixed Asset from SEZ Vendor With Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{3A6F385C-72E7-42C6-A696-47102B270402}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000364","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/ Credit Memo - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{6DEEF440-3A5B-4201-9D1B-59AC37AF4C36}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000365","Name":"Calculation of Cess where input tax Credit is Not available through Purchase Return Order/Credit Memo - Fixed Asset from SEZ Vendor Without Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{C08A9FD5-5ECC-4BB5-8A19-345060822129}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000366","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Fixed Asset(Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{CBDB09CC-FB6C-4475-89A3-62C04DADFA15}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000367","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo Unregistered Vendor- Item (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{39808C8A-4131-4B49-BF1D-D8FA64667B3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000368","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{812C7B77-0622-4E71-9F4E-261C3874A680}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000369","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{3B82DBC4-FAAE-477D-892C-AD82ECDFEF7E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000370","Name":"Calculation of Cess where input tax Credit is available through Purchase Return Order/Credit Memo -G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{B4A44DCF-6090-4813-9C09-193AB1A09B93}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000371","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - G/L Account- Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{A79DCE33-C753-4680-A6A3-F824608702B1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000372","Name":"Calculation of Cess where input tax Credit is Not Available through Purchase Return Order/Credit Memo - Fixed Asset - Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{FBD319E5-BDFD-43E8-B9EB-275F01FA6A40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000380","Name":"End Cess on Purchase Return","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000500","Name":"Cess on Sales","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2|4),Field5=1(1|2|4|3),Field7=1(<>''),Field18142=1(<>''),Field18144=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000501","Name":"Calculation of Cess on sales to Registered/Unregistered Customer through Sales Quote/Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{3D30F63D-D6C1-4B1B-ACFD-E252FAB190E2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000502","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Quote/Order/Invoice with Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{9B4E1225-00F2-4467-BA93-29AD1F2EBD46}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000503","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Quote/Order/Invoice without Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{0F354915-7E17-421B-87D8-7E6C2716E173}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000504","Name":"Calculation of Cess on sales to Registered/Unregistered/Exempted/SEZ/SEZ Development/ Deemed Export Customer through Sales","NodeType":"Use Case","TableID":37,"CaseID":"{33CD3931-0BA0-4358-B808-5C6378CAA489}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000505","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Quote/Order/Invoice with Payment of Duty - Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{37EFA642-056C-45E8-974E-6B41B335FC81}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000506","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Return Order/Credit Memo with Payment of Duty - Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{DE8006B8-CF9F-474A-AE29-C7903A148261}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000600","Name":"End Cess on Sales","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000601","Name":"Cess on Sales Return","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(3|5),Field5=1(2|1|3|4),Field7=1(<>''),Field18142=1(<>''),Field18144=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000602","Name":"Calculation of Cess on sales to Registered/Unregistered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{272FFE9F-A7C9-4AF8-87DD-3EA53BA18511}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000603","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Return Order/Credit Memo with Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{9DB4ECE1-3397-4ADD-9EA8-40A8D82A6A9A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000604","Name":"Calculation of Cess on sales to SEZ Development/SEZ Unit Customer through Sales Return Order/Credit Memo without Payment of Duty","NodeType":"Use Case","TableID":37,"CaseID":"{423BECDD-68DC-4541-9047-8F6B797709E5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000605","Name":"Calculation of Cess on sales to Registered/Unregistered/Exempted/ SEZ/ SEZ Development/ Deemed Export Customer through Sales Return Order/ Credit Memo - Exempted","NodeType":"Use Case","TableID":37,"CaseID":"{ED1E0A5D-C364-4F36-847E-AAE263B34185}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000700","Name":"End Cess on Sales Return","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000701","Name":"Cess on Transfer Order","NodeType":"Begin","TableID":5741,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field3=1(<>''),Field18394=1(<>''),Field18395=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000702","Name":"Calculation of Cess in Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{631DEFA0-165E-4BDC-8F8A-AB2A88DF90AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-000750","Name":"End Cess on Transfer Order","NodeType":"End","TableID":5741,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-001000","Name":"End GST Cess","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100001","Name":"GST","NodeType":"Begin","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"GST","IsTaxTypeRoot":true},{"Code":"TE-100011","Name":"Subcontracting GST For Delivery Challan Line","NodeType":"Begin","TableID":18469,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field54,Field55) WHERE(Field46=1(<>''),Field47=1(<>''),Field102=1(<>''),Field103=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100012","Name":"Intra-state Subcontracting GST For Delivery Challan Line for Registered Vendor","NodeType":"Use Case","TableID":18469,"CaseID":"{5388F401-5CDE-4918-A9B0-B7B134235921}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100013","Name":"Inter-state Subcontracting GST For Delivery Challan Line for Registered Vendor","NodeType":"Use Case","TableID":18469,"CaseID":"{6A75BFF5-C880-498F-AC1D-E9CF9BE7F888}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100099","Name":"Subcontracting GST For Delivery Challan Line","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100100","Name":"Subcontracting GST For GST Liability Line","NodeType":"Begin","TableID":18470,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field3,Field4) WHERE(Field46=1(<>''),Field47=1(<>''),Field102=1(<>''),Field103=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100101","Name":"Intra-state Subcontracting GST on GST Liability Line for Registered Vendor","NodeType":"Use Case","TableID":18470,"CaseID":"{81A83FF9-D7EB-4B5F-A2AE-ED346B7A9079}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100102","Name":"Inter-state Subcontracting GST on GST Liability Line for Registered Vendor","NodeType":"Use Case","TableID":18470,"CaseID":"{81A24E9D-52B9-4EFE-A18B-398C6BAD55ED}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100199","Name":"Subcontracting GST For GST Liability Line","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100200","Name":"GST Finance Charge Memo","NodeType":"Begin","TableID":303,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field18142=1(<>''),Field18144=1(<>''))","TaxType":"GST","IsTaxTypeRoot":false},{"Code":"TE-100201","Name":"InterState GST Calculation on Finance Charge Memo For Registered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{10675EE2-5AA7-4D43-8794-03BA8CD85445}","Condition":"VERSION(1) SORTING(Field1,Field2)","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100202","Name":"Intrastate GST Calculation on Finance Charge Memo For Registered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{853FC9A7-4D6E-4511-8207-BB18D1FFC0E8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100203","Name":"InterState GST Calculation on Finance Charge Memo For SEZ Unit/SEZ Development/Deemed Export Customer With Payment of Duty.\n","NodeType":"Use Case","TableID":303,"CaseID":"{CAC3F49D-59DD-4F1A-B0F3-AC28F7552973}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100204","Name":"InterState GST Calculation on Finance Charge Memo For Unregistered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{C4BC4E11-E295-4A20-9F5F-801F2406A610}","Condition":"VERSION(1) SORTING(Field1,Field2)","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100205","Name":"Intrastate GST Calculation on Finance Charge Memo For Unregistered Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{34D44752-1655-43CC-8DD8-9CBA775C5554}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100206","Name":"Intrastate GST Calculation on Finance Charge Memo For Exempted Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{4C815B8B-6831-4E19-899D-361FBA9CFC43}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100207","Name":"InterState GST Calculation on Finance Charge Memo For Exempted Customer.\n","NodeType":"Use Case","TableID":303,"CaseID":"{EC7AE7B0-93FA-42C2-9717-BBD2E8FC4D4C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100208","Name":"InterState GST Calculation on Finance Charge Memo For SEZ Unit/SEZ Development/Deemed Export Customer Without Payment of Duty.\n","NodeType":"Use Case","TableID":303,"CaseID":"{6946230A-A2F4-4E4B-90C6-6C907D010EB5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-100300","Name":"GST Finance Charge Memo","NodeType":"End","TableID":303,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110001","Name":"Sales","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field7=1(<>''),Field18142=1(<>''),Field18144=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110501","Name":"Sales Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2|4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110601","Name":"Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110696","Name":"Sales Line No Not Blank","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field6=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110700","Name":"Export to SEZ/ SEZ Development /Deemed Export With Payment of Duty through Sales Order/Invoice - Exempted","NodeType":"Use Case","TableID":37,"CaseID":"{A4C57AB8-DBFF-473C-B2A3-739975737950}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110701","Name":"Intra State Sales of Exempted from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4911101A-A3D1-4596-836C-A9EB2F2CB24C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110702","Name":"Inter State Sales of Exempted from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{CA856646-6B6F-42D2-A4CC-64A8F52DE9F6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110703","Name":"Inter State Sales of Exempted from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{CE4E5351-F5F5-413A-AAF9-6C5EA6530D93}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110704","Name":"Intra State Sales of Exempted from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{887FEE8B-EFB6-4010-B79B-4CDB44F23CC8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110705","Name":"Intra State Exempted Sales for Deemed Export Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{332A3E45-C1C8-423A-9063-B55EFA585045}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110706","Name":"Export and Exempted to Foreign Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{74E6E05F-641D-4857-8F88-C48783B29B3E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110707","Name":"Intra state Sales of Charge Item from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{D2C0BC32-D71C-4FEC-A3FC-63A0586DA3D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110708","Name":"Inter State Sales of Exempted Charge Item from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{8E20FC81-1137-41B3-A90E-AE86CD66F718}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110720","Name":"End Sales Line No Not Blank","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110721","Name":"Type - G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110722","Name":"Intra state Sales of Services from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A9D34135-2984-4C5D-99C0-5563408C59EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110723","Name":"Inter State Sales of Exempted Services from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{E474605D-6956-438B-95F2-DA5BE6A6D741}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110740","Name":"End Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110741","Name":"Begin Type - Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110742","Name":"Inter State Sales of Exempted Goods from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{144DB41F-813A-4EE0-87EC-7082D07652B7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110743","Name":"Intra state Sales of Goods from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{C3901ECF-9316-49A7-9897-B8C52A5A66A0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110760","Name":"End Type - Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110761","Name":"Begin Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110762","Name":"Inter State Exempted Sales of Fixed Assets from Exempted Customer through Sales Quote/ Sales Order/ Sales Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A48A1647-673E-4C77-9997-143963591989}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110763","Name":"Intra state Sales of Fixed Asset from Exempted Customer through Sales Quote/ Order/ Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{26405773-06F9-4F36-B6B1-E80AA9987628}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110780","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-110801","Name":"End Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-111001","Name":"Not Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-111950","Name":"Sales Line No Not Blank","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field6=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112001","Name":"Intra-State Sales of Services to Overseas Place of Supply to Registered Customer Through Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{FA5B2691-7B6B-43B4-92F1-9B6D10A216E4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112002","Name":"GST Deemed Exports With Payment of Duty through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{B66179F8-E62E-45F8-9DE3-5351C859F85D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112003","Name":"Intra State Sales for Deemed Export Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{2C82CF3D-40B2-4FCC-8F04-E649DADD1619}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112004","Name":"Intra State Sales for Deemed Export Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{1F930CB5-93A8-4BE9-B412-B9B44F1FBE2B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112005","Name":"Intra State Sales for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{71177393-F102-466E-AC36-1A460BC1C3E9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112010","Name":"End Sales Line No Not Blank","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112051","Name":"Type - Charge Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112052","Name":"Intra State Sales of Charge Item from Registered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{7422E62E-F5A5-46C6-8A2D-9F9F4C082C91}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112053","Name":"Intra State Sales of Charge Item from Unregistered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A9E13C42-F366-4E5F-A057-1E0B4E43D454}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112054","Name":"Inter State Sales of Charge Item from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{F5794DA7-0CC7-42C2-BEA0-18EB8F98BB5A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112075","Name":"Inter State Sales of Charge Item from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{207FA1CE-712A-475E-AC05-B36812DDE2C8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112076","Name":"Export Sales of Charge Item from SEZ Unit / Development through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4083D3D9-1F73-48ED-ABD1-12C0559D270F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112077","Name":"Export Sales of Charge Item from SEZ Unit / Development without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{EFF7E856-EF6B-4EC0-9AAE-C2E07B6CB15B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112078","Name":"Export Sales of Charge Item from SEZ Unit / Development through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{40065229-E7D9-4C0A-A0EB-5DE70DD4E9AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112079","Name":"GST Deemed Exports for Charge Item through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{929EB05F-45B5-4F4F-9DD4-61AFAB36F21B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112080","Name":"GST Deemed Exports for Charge Item Without Payment of Duty through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{A2608A05-D116-4475-B690-A6E26170BC2C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112081","Name":"Export Charge Item to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9D6C4AC2-81D1-47E7-8C7C-494F20F1719F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112082","Name":"Export and Charge Item to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9CBCEC6F-A01B-422B-8AAB-4B6BC90EC959}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112100","Name":"End- Type - Charge Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112101","Name":"Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112102","Name":"Inter State Sales of Fixed Asset from Registered Customer through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{46CB3503-286F-43C3-9B04-FBBD5F2CBAF0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112103","Name":"Intra State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{636979B2-6B57-49C6-B0B8-B306261B3304}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112104","Name":"Intra State Sales of Fixed Asset from Registered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A4044120-D393-4525-88F4-AB1A71F2E49C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112105","Name":"Inter State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{52FD8776-17C2-428A-B747-159404771D07}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112106","Name":"Export Fixed Asset to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{AF5EE023-63DF-4210-AD71-6436230F6DFA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112107","Name":"GST Deemed Exports of Fixed Asset through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{7B9EA3AF-2235-44F9-AE67-E0F9F74740E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112108","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{8E2CB0E2-795D-4DC3-879B-5117E415DFB9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112109","Name":"Export Fixed Asset to SEZ Unit Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{8FDC8D41-E5D7-40D7-B962-80DA519596F3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112110","Name":"Export Fixed Asset to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{C99A231E-6BBF-4982-AEAF-6CAAC7E5BA9B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112111","Name":"Export Fixed Asset to Deemed Export Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4490AC87-E83B-44C4-A6A8-EAF2650E8773}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112112","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice - Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{6EC9FAFD-8029-4B9C-8899-CB3C494682D1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112113","Name":"Export of Fixed Asset to SEZ Development Without Payment of Duty through Sales Quote/Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{24BF4F23-3693-4E31-ADDA-9D2F91057CA2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112114","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{58789CA5-0F23-4972-B1FE-3EE6E8BC19A1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112115","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{A18E31F4-0E06-42B6-B8E0-282B42CA2A28}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112214","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112249","Name":"Type - G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112250","Name":"Intra State Sales of Services from UnRegistered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{1BAE51D1-AD26-40F8-BFD2-156024A23A7B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112251","Name":"Inter State Sales of Services from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{2E7A7A10-CCD5-4673-AF42-1EF83425931F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112252","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4529A161-49CC-44B6-95BA-CC141FA794B1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112253","Name":"Intra State Sales of Services from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{4962D3B9-0349-4BE9-B173-22B456AEE6C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112254","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{BF9D05ED-BF8A-4BC8-9195-D008E4E381FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112255","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice. - POS","NodeType":"Use Case","TableID":37,"CaseID":"{E6D39823-CCCC-43DC-BD7E-CC6EEEBDB5EB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112256","Name":"Export and Service to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{DD3CF85B-64EA-4DD4-A626-C472E3B3B072}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112257","Name":"Export and Service to Foreign Customer With Payment of Duty through Sales Order/Invoice With GST on Assessable value.","NodeType":"Use Case","TableID":37,"CaseID":"{1C9C14DA-22A0-4F6B-968A-1F79BE11B7A1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112258","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{ABD1A54F-36DA-45A7-AFED-451B98434B0C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112259","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B2150DAA-4B46-41F2-89BF-19F5FD89362E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112260","Name":"Export Services to SEZ Development Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{F8591F7C-5D5C-4976-B5F1-E3248733EBC5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112261","Name":"Export Services to Deemed Export Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{21A349A2-B069-4AA5-86B9-34136BE37267}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112262","Name":"Export Service to SEZ Unit Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{512B21D6-5395-499F-A2BE-EF6D24385C89}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112263","Name":"Export Services to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{8638A2E3-3F44-4672-A54D-0D65B1528FF9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112264","Name":"Calculation of GST Services where Unregistered Transporter, TPT Location is different and Pick Up Location and Delivery Location is same through Sale Orders/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{99C83819-83BC-418A-A2A7-26A041F2F99A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112265","Name":"Inter State Sales of Services from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{C6AAB568-68A3-4D8A-A708-ECD7EFD9A3EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112266","Name":"Intra State Sales of Service from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{9666CA08-2C56-43C5-B36F-7FD3745FE832}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112267","Name":"Inter State Sales of Service from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{D9221422-669E-485D-8224-053D641FE4F3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112268","Name":"GST Deemed Exports of Services through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{67F7C66D-5296-4A5F-A85F-D4B91D1DBF97}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112269","Name":"Calculation of Transportation of Services from Registered Vendor, where TPT Location and Pick Up Location is same and Delivery Location is different. through Sales Order","NodeType":"Use Case","TableID":37,"CaseID":"{8D0E6401-974F-4F8E-9254-2AF9067E73DC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112270","Name":"Calculation of Transportation of Services from Un-Registered Vendor, where TPT Location and Pick Up Location is same and Delivery Location is different. through Sales Order","NodeType":"Use Case","TableID":37,"CaseID":"{99F473AC-553E-4032-AEDB-0AE44C871CD2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112271","Name":"Calculation of GST in case of Transportation of Service where Registered Transporter State is different and Pick Up Location State and Delivery Location State is same through Sale Orders","NodeType":"Use Case","TableID":37,"CaseID":"{02B82B77-D7E5-4A49-89A2-6D46EC87AE61}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112272","Name":"Calculation of GST in case of Transportation of Service where Un-Registered Transporter State is different and Pick Up Location State and Delivery Location State is same through Sale Orders","NodeType":"Use Case","TableID":37,"CaseID":"{76F9EC4B-C6F3-4DBE-B1CA-04EFC5AD609E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112273","Name":"Calculation of Transportation of Services from Registered Vendor, , TPT Location is different and Pick Up Location is different and Delivery Location is different through Sale Orders","NodeType":"Use Case","TableID":37,"CaseID":"{CF4626CB-7022-41C6-95C6-E1FE28C8C370}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112274","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice -Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{C447C36E-72FA-4FEA-A49C-F976FE57275D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112275","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice -Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{5043629A-E2D7-4E0D-AD7F-C9D505507D01}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112276","Name":"Intra State Sales of Service from Registered Customer through Sales Order/Invoice For Ship To Address.","NodeType":"Use Case","TableID":37,"CaseID":"{0321474A-ABD0-45DB-8CEA-B586A5CB7F49}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112399","Name":"End Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112400","Name":"Type - Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112401","Name":"Inter State Sales of Goods from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{11160E03-89D0-481D-B2EA-24898F3DB4AB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112402","Name":"Intra State Sales of Goods from UnRegistered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{364EABA8-DF5D-4174-951E-9C9B375830D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112403","Name":"Intra State Sales of Goods from Registered Customer through Sales Order/Invoice - Kerala Food Cess","NodeType":"Use Case","TableID":37,"CaseID":"{A8BF5AD2-5132-40E7-9DF1-893B3940F6EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112404","Name":"Intra State Sales of Goods from Unregistered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{CFE77ACE-1F20-4126-98D9-8D14B18088EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112405","Name":"Inter State Sales of Goods from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B61CB389-28BD-4569-BF95-284B62972B23}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112406","Name":"Intra State Sales of Goods from Registered Customer through Sales Order/Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{6B464955-261F-4EAF-A749-7807444FC37C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112407","Name":"Export and Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{55AD5167-785F-4CC3-B633-84A8414EE100}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112408","Name":"Export and Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice With GST on Assessable value.","NodeType":"Use Case","TableID":37,"CaseID":"{23C292E2-9704-4112-9AB6-A2FCBDDFFA6A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112409","Name":"Export Goods to SEZ Unit Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{2961B717-F882-4174-A7D0-98737C7F49A2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112410","Name":"Export Goods to SEZ Unit With Price Inclusive of Tax through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9CF523A9-24DB-4928-A3CB-8DC5FCA4AF69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112411","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{6621F516-24B5-47CC-AB8B-6EF51F2616E3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112412","Name":"GST Deemed Exports of goods through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{759DC0B3-0697-4262-B0B6-12AA4A6E3822}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112413","Name":"Export Goods to Deemed Export Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{AA3E77B0-A08A-4756-90E5-F6561C7D4B9B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112414","Name":"Export and Goods to Foreign Customer Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{BAEC40C3-3C56-4B4F-95C9-ED6E1E39A019}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112415","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B618D919-C2A5-4BB8-B7EF-13784A51A6D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112416","Name":"Export Goods to SEZ Development Without Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{34D0EE0E-FC73-416C-A59C-484107E36965}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112417","Name":"Intra State Sales of Goods from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{74601C3A-21C1-4924-950E-039ADD6086E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112418","Name":"Inter State Sales of Goods from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{E06B429C-0CDD-4F49-9C4D-8546151805AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112419","Name":"Intra State Sales of Goods from Registered Customer through Sales Order/Invoice - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{888E76DA-FA62-4714-83A3-76777E325D84}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112420","Name":"Inter State Sales of Goods from Registered Customer through Sales Order/Invoice - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{277B1053-C551-4BF4-9518-7BFE200A8E18}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112421","Name":"Export Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice with Shipment locally as Intrastate.","NodeType":"Use Case","TableID":37,"CaseID":"{9F7A9C0A-BC4A-45C2-B79B-7D22EDB6ABBB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112422","Name":"Export Goods to Foreign Customer With Payment of Duty through Sales Order/Invoice with Shipment locally as Interstate.","NodeType":"Use Case","TableID":37,"CaseID":"{F69C2334-D38A-4CC1-B701-D7DC4C3B7CA9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112423","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice - Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{13217522-8F07-4C15-9787-8B1840E8CC40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112424","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{FA8E63F5-19A9-4940-AD59-DB7067BE069A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112450","Name":"End Type - Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112500","Name":"Type - Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112501","Name":"Intra State Sales of Resource from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{D1629C9B-AA5B-4237-94CE-5B14BAF756C0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112502","Name":"Intra State Sales of Resource from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{9B0FE6DB-6121-44B0-8BD0-08B8060D7A92}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112503","Name":"Inter State Sales of Resource from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{D95F6D4E-EEF5-41B7-8284-694BCBDFEABD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112504","Name":"Export Resource to Foreign Customer With Payment of Duty through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{60F5C368-9B10-45CB-BB1B-63DEF7520AB6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112505","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{77D07467-2180-4712-814A-A6292F8D5E59}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112506","Name":"GST Deemed Exports for Resource through Sales Order/ Invoice\n","NodeType":"Use Case","TableID":37,"CaseID":"{BE8902D9-72AA-41C9-BACE-1B781D7C8107}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112507","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{96B76AC2-66FF-4457-9DE3-3F2A3213C3E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112508","Name":"Inter State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{B2047EB4-AD5D-4E8B-BFFC-94FB1C4EED34}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112509","Name":"Inter State Sales of Resources from Registered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{C8652C10-76BA-489E-985D-CFFC24D6276B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112510","Name":"Inter State Sales of Resource from Registered/Unregistered Customer through Sales Quote","NodeType":"Use Case","TableID":37,"CaseID":"{149E867B-BE67-4BA4-AE3B-36C10F7552F5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112511","Name":"Inter State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{6F89240D-BBA1-4BB9-85B6-0BE2154EE0B8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112512","Name":"Intra state Sales of Resources from Exempted Customer through Sales Quote/ Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{A1895816-94BF-4F67-819E-D3898920FAF5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112513","Name":"Intra State Calculation of GST on Resource to SEZ Unit / Development Without Payment of Duty through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{969F9BE2-D2C0-4DB5-BD38-F9DAC8AB8173}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112514","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{882CB936-42D9-4C2D-BFD9-028D5F5D3337}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112515","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{4B114178-6589-41CD-907E-8C46CCDFE895}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112516","Name":"Inter State Calculation of GST on Resource to SEZ Unit / Development Without Payment of Duty through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{E28ED0E6-8917-4D81-AD22-29D13FE94091}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112517","Name":"Inter State Calculation of GST on Resource to SEZ Unit / Development through Sales Order/ Invoice-Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{E9ED8CB8-E0BD-4E8A-88A5-1AA7348ACF20}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112518","Name":"GST Deemed Exports for Resource Without Payment of Duty through Sales Order/ Invoice","NodeType":"Use Case","TableID":37,"CaseID":"{E65CE6AA-C447-466E-A3FE-154D3F5A76DC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112519","Name":"Inter State Sales of Resource from UnRegistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{DF167294-5878-44C6-9220-01D93BEA09FF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112520","Name":"Inter State Sales of Resource from Unregistered Customer through Sales Order/Invoice without FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{C8BA6CA4-7E8C-4053-980D-451FE32D8EFA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112550","Name":"End Type - Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112600","Name":"End -Not Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112601","Name":"Begin FOC","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18157=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112602","Name":"Begin Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112603","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112604","Name":"Intra State Sales for Goods from Registered Customer through Sales Order/Invoice With FOC","NodeType":"Use Case","TableID":37,"CaseID":"{6333F9D2-02B8-4FF1-88EE-386041B7FCA4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112605","Name":"Inter State Sales of Goods from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{C69C8C2B-3445-476C-80ED-776EC67B06D3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112609","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112610","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112611","Name":"Intra State Sales of Goods from Unregistered Customer through Sales Order/Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{A4B4B64C-1D4C-48EE-88E9-4BBC4F05EAE8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112612","Name":"Inter State Sales of Goods from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{E786A7D6-1147-46F6-BB75-1223AAC92007}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112616","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112617","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112618","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{BB38433A-2AE4-492D-8380-D8B5A6F80135}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112619","Name":"Export Goods to SEZ Unit With Payment of Duty through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{F0E83015-3886-4263-A0B7-A97BA3B7753C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112623","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112624","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112625","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice - Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{BE591554-5098-41FD-A200-5B5B48C19083}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112626","Name":"Export Goods to SEZ Development With Payment of Duty through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{CF0F6DEA-A530-45B3-8B1B-CF86879E9EDA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112630","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112631","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112632","Name":"Intra State Sales for Deemed Export Customer for Goods through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{ADF93FBF-84BB-4DC9-8B87-EADDE08829F0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112633","Name":"GST Deemed Exports of goods through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{4116F9D4-1957-46D1-BCED-580BD21C0908}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112634","Name":"Intra State Sales for Goods for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{17DA0FC6-FC3F-4AB5-A2C7-34D00B649941}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112635","Name":"GST Deemed Exports for Goods With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{44130B2E-FBA8-47DE-BF1F-AF9145AC13BD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112637","Name":"EndGST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112638","Name":"End Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112639","Name":"Begin Type- G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112640","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112641","Name":"Intra State Sales of Services from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{03D7D334-04D2-4EC5-AE88-A67C1409C8BE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112642","Name":"Inter State Sales of Services from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{08EACBE7-7B68-4B7B-8BCE-8D5D4FAD80F0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112647","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112648","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112649","Name":"Intra State Sales of Services from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{8D8429D6-2B1A-4081-900E-9D19C312335E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112650","Name":"Inter State Sales of Services from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{EA505D2C-22A0-4B4B-B20F-18A0E1AE2C02}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112653","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112654","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112655","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice -Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{81345EC6-231D-4274-95D2-302FFE85B903}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112656","Name":"Export Services to SEZ Unit With Payment of Duty through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{FD5FD103-5251-4063-92C9-CCFE016B971B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112661","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112662","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112663","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice -Post GST to Customer For FOC","NodeType":"Use Case","TableID":37,"CaseID":"{6807FDAC-8BCB-4B1A-84FF-882C6A9C15B7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112664","Name":"Export Services to SEZ Development With Payment of Duty through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{0561985A-B2F9-4C9C-BE39-7D6AE423104E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112669","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112670","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112671","Name":"Intra State Sales for Deemed Export Customer for Services through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{3C1D2A94-CBAE-4190-BE50-AD56CF9218D9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112672","Name":"GST Deemed Exports of Services through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{05CEE5AD-FF50-479C-922C-1C51FE10F724}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112673","Name":"Intra State Sales for Services for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{741172E2-8B2D-461D-9081-71145F1316DF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112674","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112675","Name":"End Type- G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112676","Name":"Begin Type Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112677","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112678","Name":"Intra State Sales of Resource from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{9E8F612A-6306-4CD0-AA63-8F443733B9B5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112679","Name":"Inter State Sales of Resource from Registered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{E8ACBB6B-EAAF-46C6-A4EA-EFB502D8E110}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112684","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112685","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112686","Name":"Intra State Sales of Resource from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{DC79D469-98CD-45FF-ADBB-27DFF74D2672}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112687","Name":"Inter State Sales of Resource from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{13827C55-0612-40EF-BED1-62D7605B9D68}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112692","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112693","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112694","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{747B1A95-DF79-4286-A38B-A6F98F2D2DE1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112695","Name":"Intra State Calculation of GST on Resource to SEZ Unit through Sales Order/ Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{5582B9B9-2C0C-4036-A0E1-ED20495D47AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112701","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112702","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112703","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{8B4B45EC-5B92-4383-935B-DE2E70579CA8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112704","Name":"Intra State Calculation of GST on Resource to SEZ Development through Sales Order/ Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{51CD0A49-E8DF-42A3-9180-84D1A7076A42}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112710","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112711","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112712","Name":"Intra State Sales for Deemed Export Customer for Resource through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{103E8A37-530C-4FFF-BB01-D298E7DF9FFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112713","Name":"GST Deemed Exports for Resource through Sales Order/ Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{F356E0FE-23C7-4D81-A149-3659F2CEFBB4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112714","Name":"Intra State Sales for Resource for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{29C6FB1D-F01C-426F-AC3E-76E9122FDB69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112715","Name":"GST Deemed Exports for Resource With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{97120CFC-A3A4-4545-8A71-881473ED33C7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112720","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112750","Name":"End Type Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112751","Name":"Begin Type- Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112752","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112753","Name":"Intra State Sales of Fixed Asset from Registered Customer through Sales Order/Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{CF89D22F-0CD8-4E3C-A01C-6C159E03E5E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112754","Name":"Inter State Sales of Fixed Asset from Registered Customer through Sales Quote/Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{5860DC76-AE27-4A12-808D-667172BEF336}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112760","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112761","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112762","Name":"Intra State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{84992760-0362-488C-8D49-0DE8065F945C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112763","Name":"Inter State Sales of Fixed Asset from Unregistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{FBBCEAFB-3B22-4D36-969E-84AB2CDC7859}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112769","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112770","Name":"Begin GST Customer Type SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112771","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice - Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{FC888469-0E29-48BA-B417-07D5943D7C45}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112772","Name":"Export Fixed Asset to SEZ Unit With Payment of Duty through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{307349C1-C724-4CB8-8878-7587CC2617EC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112778","Name":"End GST Customer Type SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112779","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112780","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice -Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{A8B33288-CA54-4DC6-B3E4-A14E3CCA4EFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112781","Name":"Export Fixed Asset to SEZ Development With Payment of Duty through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{DA8695B6-D7D7-41E9-BE59-C26A19D03C2C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112789","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112790","Name":"Begin GST Customer Type - Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112791","Name":"Intra State Sales for Deemed Export Customer for Fixed Assets through Sales Order/Invoice For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{02A9B37F-66A8-446A-B5B0-703D594FF934}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112792","Name":"GST Deemed Exports of Fixed Asset through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{7E2F85F6-FFBA-45FE-80B5-39B654365ACD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112793","Name":"Intra State Sales for Resource for Deemed Export Customer through Sales Order/Invoice-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{29C6FB1D-F01C-426F-AC3E-76E9122FDB69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112794","Name":"GST Deemed Exports for Fixed Asset With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{23F3D552-5B8B-47A9-B217-903567666BCE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112800","Name":"End GST Customer Type - Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112820","Name":"End Type- Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112821","Name":"Begin Type G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112822","Name":"Begin GST Customer Type Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112823","Name":"GST Deemed Exports for Services With Payment of Duty through Sales Order/Invoice-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{53D88A93-5CE2-427C-81F0-6DCFC36F579F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112826","Name":"End GST Customer Type Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112827","Name":"End Type G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112840","Name":"End FOC","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112845","Name":"End Sales Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112848","Name":"Sales Return Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(5|3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112849","Name":"Not Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112850","Name":"Type - G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112851","Name":"Intra-State Sales Return of Services to Overseas Place of Supply to Registered Customer Through Sales Return","NodeType":"Use Case","TableID":37,"CaseID":"{44F4B3DF-4625-4E8F-9BE3-53C61B67463B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112852","Name":"Intra State Sales Return of Services from Registered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{BC238FA9-CAD7-43AB-8E7E-D6FFC7035EE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112853","Name":"Inter State Sales Return of Services from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{693D346E-069E-4306-9F7C-84665CD42141}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112854","Name":"Inter State Sales Return of Services from Registered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{80BC1B3E-DB26-4E90-B780-43C8BA593655}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112855","Name":"Intra State Sales Return of Services from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{8A18FA5B-AD17-43D3-8981-5BB20A04EFA2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112856","Name":"Intra State Sales Return of Services from Registered Customer through Return Order - POS","NodeType":"Use Case","TableID":37,"CaseID":"{1FF813B4-1776-4717-8C56-8F0E684ACE73}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112857","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{DB44587F-08FB-4D5F-96A3-6CD4D4E30300}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112858","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{895C47DF-89E2-4A14-9329-5E260C1DBF05}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112859","Name":"Export Return of Services to SEZ Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{81E2ACA0-D6DD-4B4A-ADEF-60B602660F25}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112860","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{1DE560C5-73C9-4476-9447-80FC42CD492C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112861","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo - POst GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{8139E94E-D43E-4C24-B6B3-C59F55737321}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112862","Name":"Export Return of Goods to Export Customer for item Type GL Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{4738101C-19E3-418C-A19D-61E67100D199}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112890","Name":"End - Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112895","Name":"Type - Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112896","Name":"Intra State Sales Return of Goods from Registered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{26581492-A8D9-41EB-B84E-40671AE8CC3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112897","Name":"Inter State Sales Return of Goods from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{77DC6AF2-5D31-4450-8F78-E2F7383B9EAB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112898","Name":"Intra State Sales Return of Goods from Unregistered Customer through Return Order.","NodeType":"Use Case","TableID":37,"CaseID":"{08F3F188-43F5-441F-AB95-BE332651AD3D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112899","Name":"Inter State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{2167C0D3-971D-481A-86BA-F45FB92025FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112900","Name":"Intra State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{293882EE-DEB8-47A9-BAF1-9221422B247A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112901","Name":"Inter State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo - Price Including of Tax","NodeType":"Use Case","TableID":37,"CaseID":"{77D351AF-2B06-49FB-B72A-CF9980E31A43}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112902","Name":"Export Return of Goods to SEZ Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{BCB4C9B2-E212-4971-BE8C-914BC1DAAB1B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112903","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{17ED9604-C26D-496C-B2F4-9124166CF719}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112904","Name":"Export Return of Goods to SEZ Unit Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{A8ED1A73-743C-4D08-98E3-6D85C416E951}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112905","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{06F95F30-2C34-4CD2-9084-0B9101B9455D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112906","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{A744EF89-44A8-4CE0-81F8-3D8094623CD1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112907","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{8153E2CA-FD9A-4A9F-A0E4-A657636F83DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112908","Name":"Export Return of Goods to Export Customer Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{E607F91D-D6E7-459A-801A-CBB9C7F8CE89}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-112950","Name":"End - Type - Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113000","Name":"Type - Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113001","Name":"Intra-State Sales Return of Resources from Unregistered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{8F88FDD0-561E-4FEA-A663-4F4BAEC9D009}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113002","Name":"Inter State Sales Return of Resources from Unregistered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{C9854015-8E55-43F1-A5F2-747FC1CF6A0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113003","Name":"Inter State Sales Return of Resources from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{52BFB82F-A54A-4E62-9DC3-2D608D6373B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113004","Name":"Intra-State Sales Return of Resources from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{6856A59C-FE7F-4DDA-B180-391F6E0D0A5F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113005","Name":"Export Return of Resource to Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{AD7D62C2-213F-4288-9506-BE3D205DBB95}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113006","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{FD76EB64-C01A-48C0-9F8E-3EE2E17BE515}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113007","Name":"Export Return of Resources to SEZ Unit / Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{D500E259-42B6-4346-BA2F-D76ECB9AFEE1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113008","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{E62B6029-1BFA-456D-8D43-306AB7C78589}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113105","Name":"End - Type - Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113106","Name":"Type- Charge Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113107","Name":"Intra State Sales Return of Charge Item from Un-Registered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{41F1CFC3-B9F5-464D-9B6D-2C7B6C83186C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113108","Name":"Inter State Return of Charge Item from Unregistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{B3036F44-2238-4DC9-B250-70AA3FEC7821}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113109","Name":"Intra State Sales Return of Charge Item from Registered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{3835C90E-1BDF-4C46-B50E-C5375ED24ED4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113110","Name":"Inter State Sales Return of Charge Item from Registered Customer through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{DBE9B77E-9171-4F5C-A7CA-9156126D34FC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113111","Name":"Export Return of Goods to Export Customer for item Type Charge Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{D8792403-FBC9-455C-8A3A-C67DAFDB6E53}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113112","Name":"Export Return of Charge-Item to SEZ Unit / Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{609F72CC-C49F-43F1-AB52-E56ED173368B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113113","Name":"Export Return of Charge-Item to SEZ Unit / Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{7F8B0021-4099-48C9-80BB-D977917CEA9E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113114","Name":"Export Return of Charge-Item to SEZ Unit / Development With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{57A0B7F8-E6C5-4CC4-89AD-11A14AF3C68B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113125","Name":"End Type- Charge Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113140","Name":"Type- Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113141","Name":"Intra State Sales Return of Fixed Asset from Unregistered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{884574EB-3354-459C-AF96-6EB624CCEFFE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113142","Name":"Intra State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{F7C5C8B6-2EB3-478E-AE6B-66BEEB6A3861}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113143","Name":"Inter State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{C915C6D6-9C5D-4C2F-BAB6-50E13850581E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113144","Name":"Inter State Sales Return of Fixed Asset from UnRegistered Customer through Sales Order/Invoice.","NodeType":"Use Case","TableID":37,"CaseID":"{7627B9EF-CB23-4EAB-88D9-3D894B6F6607}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113145","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{24F69259-FD27-49A7-B5E8-3CBF5351132F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113146","Name":"Export Return of Fixed Asset to SEZ Unit Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{200C22B1-5DC0-4A80-B377-B14F9613D061}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113147","Name":"Export Return of Fixed Asset to SEZ Development Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{E35E188E-728D-42BE-94F0-4B0476315B0B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113148","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo - Post GST To Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{7D7F45D3-E214-47D5-8CD5-ED31E8F4092F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113149","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{1DD8BB1A-1AA9-4B82-9F6A-80F26AA8675D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113150","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{C6AFDFC6-874B-4B14-BCC9-8FC5B4992157}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113151","Name":"Export Return of Goods to Export Customer for item Type FA Without Payment of Duty through Sales Return Order/Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{AA85EF19-5F94-438E-ADC4-A9ACF0DCB0C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113160","Name":"End Type-Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113161","Name":"Begin No. Not Blank","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field6=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113162","Name":"Export Return of Services to Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{BB48AD27-2942-4C4A-B19C-4A7E76E181DA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113163","Name":"Export to SEZ/ SEZ Development /Deemed Export With Payment of Duty through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{D22C3484-E0DE-473F-9D62-2BB1DD4B10B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113164","Name":"Export to SEZ/ SEZ Development /Deemed Export Without Payment of Duty through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{2FF34432-5A9D-4C71-AF8B-6DDDC92F0A85}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113165","Name":"Export Return to Deemed Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{C502F69B-F76D-4D72-B7FC-A272A252590B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113166","Name":"Export Return to Deemed Export Customer Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{7BE46E73-EF21-4766-B4F2-34558460A2C9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113167","Name":"Deemed Export With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer.","NodeType":"Use Case","TableID":37,"CaseID":"{2F7B1F64-56F5-48C9-A6B2-A5F7F2BF8A2F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113168","Name":"Intra-State Sales Return to Deemed Export Customer With Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{5FB236FB-7619-48A1-92D0-BD12F5C8A5C0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113169","Name":"Intra-State Sales Return to Deemed Export Customer Without Payment of Duty through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{A030C0C9-951C-4818-8A68-C6D5917C31BF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113170","Name":"Intra-State Sales Return to Deemed Export Customer With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer","NodeType":"Use Case","TableID":37,"CaseID":"{0BD7BB2E-38E6-4254-82CB-713F429D787C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113180","Name":"End No. Not Blank","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113205","Name":"End - Not Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113305","Name":"Exempted","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18147=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113306","Name":"Intra state Sales Return of Exempted Resources from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{99E193A6-6A7C-4035-BCC1-F2BC49DC4F86}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113307","Name":"Inter State Sales Return of Exempted from Registered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{A485DD0E-AB08-49E5-9C7C-1FCA3398AE3F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113308","Name":"Inter State Sales Return of Exempted Resources from Unregistered Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{A49C7425-A602-4445-873D-BCA89D3C2330}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113309","Name":"Export to SEZ/ SEZ Development /Deemed Export With Payment of Duty through Sales Return Order/ Credit Memo - Exempted","NodeType":"Use Case","TableID":37,"CaseID":"{D187D562-E011-4879-839D-A3CB824D11EC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113310","Name":"Intra state Sales Return of Exempted Item from Registered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{1A135F44-7A65-49A6-A08A-C87D453E5837}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113350","Name":"Intra state Sales Return of Exempted Resources from Unregistered Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{C2730DF7-9769-4732-819E-C39124E5E3F8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113351","Name":"End -Exempted","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113380","Name":"Begin Type Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113381","Name":"Intra state Sales Return of Exempted Goods from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{DA8B91D0-1B63-44EE-BA57-0A40B1403080}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113382","Name":"Inter State Sales Return of Exempted Goods from Exempted Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{246B0F60-6CA4-42A1-ACDD-30C38C89D2C4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113400","Name":"Begin Type Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113401","Name":"Begin Type G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113402","Name":"Intra state Sales Return of Exempted Services from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{D2A96240-2F58-406C-8774-03CD60C28E5D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113403","Name":"Inter State Sales Return of Exempted Services from Exempted Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{E9E7486C-DBFB-432C-886F-017AD828CE5E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113420","Name":"End Type - G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113421","Name":"Begin Type - Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113422","Name":"Intra state Sales Return of Resource from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{10E9D621-B3A8-49E2-BAA1-EB7D535C0712}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113430","Name":"End Type - Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113431","Name":"Begin Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113432","Name":"Inter State Exempted Sales Return of Fixed Assets from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{2D2466D5-E651-49FE-A00C-9DE16690874C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113433","Name":"Intra state Sales Return of Exempted Fixed Asset from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{1C2FBFBD-A18B-4A5D-819E-043993E5510C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113440","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113441","Name":"Begin Type - Charge Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113442","Name":"Inter State Sales Return of Exempted Charge Item from Exempted Customer through Sales Return Order/ Credit Memo","NodeType":"Use Case","TableID":37,"CaseID":"{0410BC8A-0231-4947-8ED6-982A68846120}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113443","Name":"Intra state Sales Return of Exempted Charge Item from Exempted Customer through Sales Return Order/Credit Memo.","NodeType":"Use Case","TableID":37,"CaseID":"{3277542B-B49C-4CCD-B661-F72C71CED698}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113445","Name":"End Type - Charge Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113449","Name":"Begin FOC","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18157=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113450","Name":"Begin Type Item","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113451","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113452","Name":"Intra State Sales Return of Goods from Registered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{14FC3D2C-3DAF-4C04-AA69-6AE47D0D7552}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113453","Name":"Inter State Sales Return of Goods from Registered Customer through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{A4A8C87F-D458-4DD2-B8E9-8393220FDD2D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113459","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113460","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113461","Name":"Intra State Sales Return of Goods from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{10CA76A8-8DE4-419A-8220-3DD88D8F8747}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113462","Name":"Inter State Sales Return of Goods from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{92CD1D91-1D76-46D8-B2E1-C62C54E62191}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113469","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113470","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113471","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{31F4991C-5E91-4AF3-B911-39F985BF48C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113472","Name":"Export Return of Goods to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{C3755AFF-81D3-4B1A-85B2-B2C8A60F9EAA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113479","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113480","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113481","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo -Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{8E881E89-87C1-4745-9529-B82A784E83BE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113482","Name":"Export Return of Goods to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{270F6442-0097-437D-9F91-5C15BD9EAB4D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113489","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113490","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113491","Name":"Intra-State Sales Return to Deemed Export Customer for Goods With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{913AAE94-3AEF-4F6D-80DB-F30FF5E5C067}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113492","Name":"Deemed Export for Goods With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{14586EFF-720D-4670-B023-EA4FBFF96B99}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113493","Name":"Intra-State Sales Return to Deemed Export Customer for Goods With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{9654C77E-D850-4AA2-9A47-FB003B1574B2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113494","Name":"Export Return to Deemed Export Customer With Payment of Duty for Goods through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{88F1A4B3-DCAC-499A-BD7A-A5EBA3EF3CB4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113499","Name":"EndGST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113500","Name":"End Type Item","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113501","Name":"Begin Type- G/L Account","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113502","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113503","Name":"Intra State Sales Return of Services from Registered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{59157E34-743F-4293-A662-1A9C3D916178}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113504","Name":"Inter State Sales Return of Services from Registered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{D9AA8D5E-8135-47AA-A722-6356873CF5EF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113507","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113508","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113509","Name":"Intra State Sales Return of Services from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{B8757B78-D36C-4AB7-B532-353006120046}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113510","Name":"Inter State Sales Return of Services from Unregistered Customer through Return Order for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{EFB5634E-C341-4922-9BC9-1CE76AD61D79}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113512","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113513","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113514","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo - POst GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{3397DBB8-098B-4A52-9BFA-E24A12B5F9E7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113515","Name":"Export Return of Services to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{0E655E71-19D9-4A10-8A28-FE4AFBA2A7C7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113517","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113518","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113519","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{DBA2CAA4-8EE2-4DD0-B413-383101DB034E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113520","Name":"Export Return of Services to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{ABF997C4-D467-4F97-94CD-10AFE3A66B3A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113523","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113524","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113525","Name":"Intra-State Sales Return to Deemed Export Customer for Services With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{6CC7879A-5AF1-4FD6-8713-7ECF54ABC412}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113526","Name":"Deemed Export for Services With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{861E4175-2832-49D7-8AF3-96E6C19F8E68}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113527","Name":"Intra-State Sales Return to Deemed Export Customer for Services With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{6924DAF8-60F6-4C42-9266-200033C6D3F4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113528","Name":"Export Return to Deemed Export Customer With Payment of Duty for Service through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{1F11A81C-0551-4B07-AA30-23DA57E0FE16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113535","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113536","Name":"End Type- G/L Account","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113537","Name":"Begin Type- Resource","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113538","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113539","Name":"Intra-State Sales Return of Resources from Registered Customer through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{D6D5AACF-3FC9-4E46-AC66-66CB29D5293E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113540","Name":"Inter State Sales Return of Resources from Registered Customer through Sales Return Order/ Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{A0D756A0-DC72-49F9-A1F9-B926242C6AD2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113543","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113544","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113545","Name":"Intra-State Sales Return of Resources from Unregistered Customer through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{5131A9E4-A281-496F-9AF2-E60DC7D88A50}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113546","Name":"Inter State Sales Return of Resources from Unregistered Customer through Sales Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{40C0504C-93D7-4EC1-A4B8-7FE82C224BE4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113549","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113550","Name":"Begin GST Customer Type- SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113551","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{1F48109A-8444-4862-B9DA-190182B3FBAC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113552","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{F4C6236C-3805-4826-88FD-EAC2659389B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113557","Name":"End GST Customer Type- SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113558","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113559","Name":"Export Return of Resource to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{6C740BB7-2090-4E02-8611-2FD65CC51465}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113564","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113565","Name":"Begin GST Customer Type- Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113566","Name":"Intra-State Sales Return to Deemed Export Customer for Resource With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{858CA47F-FA82-4485-91A5-12B2EBF36D6F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113567","Name":"Deemed Export for Resource With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{220890E5-A6C0-4719-83C5-E2247EF9BEC3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113568","Name":"Intra-State Sales Return to Deemed Export Customer for Resource With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{11D160CF-FD98-4C47-928B-9F4125F584A9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113569","Name":"Export Return to Deemed Export Customer With Payment of Duty for Resource through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{EBFDB89B-5F22-4386-87CA-72157CBF122D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113574","Name":"End GST Customer Type- Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113575","Name":"End Type- Resource","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113576","Name":"Begin Type - Fixed Asset","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113577","Name":"Begin GST Customer Type- Registered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113578","Name":"Intra State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{291465B9-0C22-48B5-9EEA-4006CC372B1A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113579","Name":"Inter State Sales Return of Fixed Asset from Registered Customer through Sales Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{BFB628D6-4413-4628-B619-013EF3255CE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113583","Name":"End GST Customer Type- Registered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113584","Name":"Begin GST Customer Type- Unregistered","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113585","Name":"Intra State Sales Return of Fixed Asset from Unregistered Customer through Sales Return Order/ Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{7AFF7259-D09B-4C62-8575-34BEDEE4A72C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113586","Name":"Inter State Sales Return of Fixed Asset from UnRegistered Customer through Sales Order/Invoice for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{3EAEA83A-B986-4C1E-9231-EDEAC919DE2F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113590","Name":"End GST Customer Type- Unregistered","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113591","Name":"Begin GST Customer Type SEZ Unit","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113592","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo- Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{0DD3F665-8D52-487D-A200-9BD69DB0A4A2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113593","Name":"Export Return of Fixed Asset to SEZ Unit With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{10BBEEB9-E622-4899-B4E0-C000CA753E54}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113597","Name":"End GST Customer Type SEZ Unit","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113598","Name":"Begin GST Customer Type- SEZ Development","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113599","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo - Post GST To Customer For FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{3AD6DDBC-A132-4ABA-B216-73133B85604A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113600","Name":"Export Return of Fixed Asset to SEZ Development With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{902158A0-97D5-4075-943E-3B30B800FB78}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113608","Name":"End GST Customer Type- SEZ Development","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113609","Name":"Begin GST Customer Type - Deemed Export","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18158=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113610","Name":"Intra-State Sales Return to Deemed Export Customer for Fixed Asset With Payment of Duty through Sales Return Order/Credit Memo-Post GST to Customer for FOC","NodeType":"Use Case","TableID":37,"CaseID":"{5629EBAA-46B2-4DD7-9511-1D6E697A6B0A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113611","Name":"Deemed Export for Fixed Asset With Payment of Duty through Sales Return Order/ Credit Memo-Post GST to Customer for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{4BFA98D3-CEF3-4573-B464-9E897EB9D4AE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113612","Name":"Intra-State Sales Return to Deemed Export Customer for Fixed Asset With Payment of Duty through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{B3793372-9AD2-4F36-BA5C-3AF13BE44F2D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113613","Name":"Export Return to Deemed Export Customer With Payment of Duty for Fixed Asset through Sales Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":37,"CaseID":"{321E0F7B-A15D-4CE6-9C11-BF3FD3DEE918}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113620","Name":"End GST Customer Type - Deemed Export","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113630","Name":"End Type - Fixed Asset","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113635","Name":"End FOC","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-113639","Name":"End- Sales Return Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114640","Name":"End Sales","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114645","Name":"Purchase","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field7=1(<>''),Field18080=1(<>''),Field18096=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114650","Name":"Purchase Document","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2|4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114660","Name":"GST Reverse Charge -No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18085=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114670","Name":"Exempted","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114672","Name":"Intra State Purchase of Service from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{536EFB4F-1EBC-4731-861E-433F3BA23A4A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114673","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{93FE03BD-63C7-44B5-B40D-5974C8300527}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114800","Name":"End Exempted","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114850","Name":"Exempted No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114851","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{01C97F7D-4263-4387-84E1-610D2EA4A762}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114853","Name":"Intra State Purchase of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Quote/Order/Invoice.","NodeType":"Use Case","TableID":39,"CaseID":"{78A245B3-3BAB-4347-B09A-FDE73A600BB2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114854","Name":"Inter State Purchase of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Quote/Order/Invoice.","NodeType":"Use Case","TableID":39,"CaseID":"{94FF400C-34A8-4760-A4E5-C4B367739FA3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114855","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{93FE03BD-63C7-44B5-B40D-5974C8300527}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114856","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{51395C06-549D-40B5-98C5-A7F6B73AF427}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114857","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{131AC7D7-6079-4C25-A3A6-CEAC66A6203D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114858","Name":"Intra State Purchase of G/L Account from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{D7A29410-A685-41B6-A8F9-268D65F062B6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114859","Name":"Inter State Purchase of G/L Account from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{4DC1D2DC-A8F8-4443-A563-348B8E8961C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114860","Name":"Inter-State Purchase of Charge Item from Sez Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{85DAE7D1-95AC-4FD1-B1E0-5FFD980481BF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114861","Name":"Inter State Purchase of Charge Item from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{0E1A782B-CF1F-4CF0-8797-A1310519B1DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114862","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{3E14881B-DB97-473E-9A0B-C8A0A2D604C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-114863","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{71EC1D59-01EC-4486-8CB4-0957D4ADF38B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115000","Name":"End Exempted No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115100","Name":"End GST Reverse Charge -No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115150","Name":"GST Reverse Charge","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18085=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115151","Name":"Exempted No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115152","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice Type-Debit Note","NodeType":"Use Case","TableID":39,"CaseID":"{2AB850AD-528A-498A-9E23-65E396AC61A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115153","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice Type-Debit Note","NodeType":"Use Case","TableID":39,"CaseID":"{B064E1CD-DB51-456E-AE19-7F2AC8C9DC11}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115154","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{89071509-BF13-4ED5-A45D-8D938DFEF265}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115200","Name":"End Exempted No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115201","Name":"Exempted Yes","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115202","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice for Exempted Goods","NodeType":"Use Case","TableID":39,"CaseID":"{700CF31E-E4A1-4183-AEF6-7C572C34C8AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115203","Name":"Inter State Purchase of Exempted Goods for Import Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{DF5E22A4-BD3C-4C80-B6D3-9F667C8037DD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115205","Name":"End Exempted Yes","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115250","Name":"GST Credit-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115300","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115301","Name":"Import of Services from Foreign Vendor where Input Tax Credit is Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{118F40D5-2D0E-45D6-B458-52D6BF00A035}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115302","Name":"Import of Services from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{8D8A9485-D248-4B9B-AB8C-EEDB746B190C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115350","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115351","Name":"Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115352","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{20913086-F0CD-4AC8-AF0A-755723E44946}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115353","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{71EC1D59-01EC-4486-8CB4-0957D4ADF38B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115354","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice - For GST Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{D279BE29-1CB8-4F96-BA2C-0348368D0879}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115400","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115401","Name":"Begin Type Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115402","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FB4C68ED-BD93-4229-B1BB-91163250C066}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115403","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote With Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{9154D0D0-5D85-40BE-889D-764E65F8691C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115404","Name":"Import of Service from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice for Charge (Item)","NodeType":"Use Case","TableID":39,"CaseID":"{B8A8C947-5BA0-45B4-B8A4-33088F25782F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115415","Name":"End Type Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115450","Name":"End GST Credit-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115451","Name":"GST Credit-Non Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115452","Name":"Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115453","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Not Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{AE939960-28B0-426C-B5D7-D8535B9AE3C9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115454","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Not Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{27255CC6-70FC-4D33-91F1-5B83F03CE33E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115500","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115501","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115502","Name":"Import of Services from Foreign Vendor where Input Tax Credit is not available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{9167AE32-6B66-48FB-AF03-35D261A7C5BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115503","Name":"Import of Services without Input Tax Credit available from Foreign Vendor.","NodeType":"Use Case","TableID":39,"CaseID":"{F1AFD035-5F0A-4DD2-B15E-E0EEF0BA43D7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115506","Name":"Import of Services from Foreign Vendor where Input Tax Credit is not available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{387B69F6-70EC-4BCC-A4C0-AA1CFAB0D356}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115507","Name":"Inter-State Purchase of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{62A4192A-86D8-4431-A641-78EF2F348546}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115550","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115551","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115552","Name":"Intra-State Purchase of Resource from Registered Vendor where Input Tax Credit Not Available - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{A0CED092-3AAD-4121-A5A2-F4DEAC316621}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115553","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{FED218A8-8C3F-43D9-BBD5-E8BCBB30D8BD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115554","Name":"Inter-State Purchase of Resource from UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{C340D02B-697D-414F-9082-E4CC9B4B2A3B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115555","Name":"Intra-State Purchase of Resource from Unregistered Vendor where Input Tax Credit Not Available - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{0EE4D825-CC7B-458D-9165-D32635F56F41}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115556","Name":"Intra-State Purchase of Resource From UnRegistered Vendor where Input Tax Credit Not Available through Purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{38BC1AAB-3066-483F-811E-E147662D48C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115580","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115581","Name":"Begin Type-Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115582","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{1C3087C6-66E1-4D66-8133-DF7F13FDB0D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115583","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C7BA99E0-7A62-41C9-93C4-36BDAD52C328}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115584","Name":"Import of Charge from Foreign Vendor where Input Tax Credit is Not Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{BFCC5C7F-F391-44D5-84F1-1D72DC7A9DEC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115595","Name":"End Type-Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115649","Name":"End GST Credit-Non Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115650","Name":"End GST Reverse Charge","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115651","Name":"Extempted -No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115652","Name":"GST Credit-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115653","Name":"Type-Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115654","Name":"Import of goods with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{4D6EF305-AE45-4735-9E9A-C9428D139D38}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115655","Name":"Import of goods with Input Tax Credit available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{24E498DD-9DFB-4097-9F32-C8EBD49B8D22}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115656","Name":"ISD - Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{E8B90257-9F0D-42F4-A340-13A648D11829}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115657","Name":"ISD - Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{874048A6-575B-456F-A2E7-26532DA3F1CA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115659","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{2C80FA78-CBBE-45E7-8C62-5010B692AC9C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115660","Name":"Inter-State Purchase of Goods from UnRegistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{FF5D43D6-C93E-42D5-9CD3-E3FCA99E77DD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115661","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{94D31994-F430-4825-A72E-D41F51F63952}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115662","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{53AA1183-8DEC-4542-A708-317C5CD7BDA9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115663","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available with Bill to Location(POS) through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{E75A7A67-D332-41BE-B7EA-61C8BF69E9F7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115664","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Bill to Location(POS) Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{1440B152-A710-4982-86C0-5C27FEF4A7D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115665","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{A8B3F6FB-A42D-4767-BD3D-D4C9BB11AEAA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115666","Name":"Inter-State Purchase of Goods from UnRegistered Vendor where Input Tax Credit is available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{B86AA24C-78CF-4F29-BD88-E17580D6992B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115667","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{7BDD3EE0-29AE-4C15-A879-1DBF13ADA019}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115668","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{9FE211A9-770A-4396-BE84-B9625D975180}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115669","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{B7A4D05E-75C4-47F5-B502-9510B13E2DEA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115700","Name":"End Type-Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115701","Name":"Type-GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115702","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is Available.","NodeType":"Use Case","TableID":39,"CaseID":"{BACBB54A-0D30-4206-AA6A-5CF48A744D5E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115703","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{9568C93C-FC46-477D-B554-A8EACAEAF21A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115704","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{F85B9211-93F9-4443-9784-BE52C220CE24}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115705","Name":"ISD - Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote ","NodeType":"Use Case","TableID":39,"CaseID":"{EF5146EB-771F-4DCE-80E7-ACC0B606829F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115706","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{0027CF9D-DA15-43A2-83D4-5CD214E0278B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115707","Name":"ISD-Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{700AF8A2-1315-41BC-9FE9-E00FB826DC80}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115708","Name":"Inter-State Purchase of Services from Unregistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{8A057230-A2A9-4E59-8101-9A947A8D8B91}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115709","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FC1AEFDA-0537-4D94-A576-F542B6710B71}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115710","Name":"Inter-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{5F9FDC49-A99D-4F72-AA5F-4E0BF5B3AC34}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115711","Name":"Intra-State Purchase of Services from Unregistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{31C539BE-990C-4E00-AF1A-6BFA1333ED7E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115712","Name":"Import of Services with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{B03B25F1-806F-4CE3-86A2-A65BBE1F8360}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115713","Name":"Import of Services with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry and GST Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C2D132AB-4A23-47FC-9A25-EEB973689456}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115714","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{04BA2F8D-9562-4551-8A98-C61CE5509B47}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115715","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{19625BAB-02B9-42E1-80EF-FED88D13FF40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115750","Name":"End Type-GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115751","Name":"Type-Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115752","Name":"Import of Fixed Asset with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{E076372D-BFB5-4911-B6EE-85F1F71B1569}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115753","Name":"Import of Fixed Asset with Input Tax Credit available from Import Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{7E44665E-5E48-4F98-8E9A-135669D3E75B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115754","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{C02EF3F0-A659-4762-854B-830A8D59B371}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115755","Name":"Intra State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted (Availment) goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{4753502A-0359-4A8C-A37C-4DB4B6FCD790}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115756","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{4852FE50-F64A-454F-B43F-D46FE4BABECB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115757","Name":"Inter State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted goods(Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{7C939AC1-1919-4919-A0D0-B62E3C72B382}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115758","Name":"Intra State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted (Availment) goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{975372FC-F93D-4E8B-81EA-57B6751B9F94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115759","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted goods(Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{B69B4BDA-5CAC-4C9C-B4DB-211912D30EF2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115760","Name":"Inter-State Purchase of Fixed Asset from UnRegistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{F3E7CEF3-5437-42EC-9DED-FE81F994FFCB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115761","Name":"Intra-State Purchase of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{B83A838B-C0A8-4E69-B735-86D011229B1C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115762","Name":"Import of Fixed Asset with Input Tax Credit available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A7ED2E31-2CA7-4D60-A415-31A78736388D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115763","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available Bill to Location(POS) Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{8B96F1E1-FC2C-48FD-AD1E-62986961AC0D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115764","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available with Bill to Location(POS) through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{FCC8AA84-E16B-4D3F-A139-946089738FB0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115765","Name":"Inter-State Purchase of Fixed Asset from UnRegistered Vendor where Input Tax Credit is available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{E246F7FE-DE34-4E3C-BD3B-D8943D9B966C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115766","Name":"Intra-State Purchase of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{E365B9AF-953A-462B-A562-9B494D0B84B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115767","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted fixed asset with no GST Impact through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{DA3FC765-67AA-4232-8C30-6CE3E6E6DFDC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115768","Name":"Import of Goods with Fixed Asset from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{D9172942-78EB-4305-950C-C9DEC70F16E6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115769","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{F7997B96-631E-456D-9FA2-028ADEC745C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115770","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{5E2D969D-2A4B-4288-900B-7D1527F80A8E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115800","Name":"End Type-Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115801","Name":"Type-Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115802","Name":"Inter-State Purchase of Charge Item from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{21957E13-9751-40A2-B591-67ADE93573E7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115803","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{4F234B8B-1B95-4938-B3DF-3D96784EAC77}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115804","Name":"Inter-State Purchase of Charge Item from UnRegistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{AB0E6CA2-960E-4D6F-A7C6-D461F268627F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115805","Name":"Intra-State Purchase of Charge Item from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{72511E89-CA1E-4749-8648-F1EFD6F61D44}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115806","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available Bill to Location(POS) Through Purchase Invoice/Order/Quote","NodeType":"Use Case","TableID":39,"CaseID":"{0ABF122D-4ED5-4820-8411-7C39147B2819}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115807","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Available with Bill to Location(POS) through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{CD837506-8D55-4E71-8576-FA6B9934A6BB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115808","Name":"Inter-State Purchase of Charge Item from UnRegistered Vendor where Input Tax Credit is available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{1DD024D8-C5D0-44DC-BD2E-3B4A395F33FE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115809","Name":"Intra-State Purchase of Charge Item from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc Through Purchase Invoice/Order/Quote-Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8EE30985-1662-4A16-B9B1-2C36589F4F94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115810","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted (Availment) goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{2A0E0C4E-331F-42B3-96D2-F9CFF01E6FC1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115811","Name":"Inter State Purchase of Charge Item from Composite Vendor/Supplier of exempted charge item with no GST Impact through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{714E77D3-C569-418A-A932-DBFF272D3B92}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115812","Name":"Import of Charge Item with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{B95176D6-58FF-487C-A25B-26E433D85356}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115813","Name":"Import with Input Tax Credit for Charge Item available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{13E5D66F-422B-4830-992B-39C740D6D560}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115814","Name":"Import of Charge with Input Tax Credit available from SEZ Vendor with Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8E537871-C8F7-4E07-8B32-84411C668443}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115815","Name":"Inter-State Purchase of Charge Item from Sez Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{05312E80-BE4E-4EB1-9A1E-AF55EA4D8E3D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115850","Name":"End Type-Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115851","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115852","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{EC4815D3-A78F-4C4F-8C64-8FE9AF09050C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115853","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{4AC1A712-CC9B-4CB7-91EA-05245C1D7211}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115854","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{F5EA246D-523F-4FFA-B316-967933F01C16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115855","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{7342ECF9-7916-4923-AC4C-71E973942346}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115856","Name":"Intra-State Purchase of Resource from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{0FD2A76A-DECB-4FAC-8008-10D6762CDAFE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115857","Name":"Inter-State Purchase of Resource from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{20C477FD-F60A-4D5C-B919-BF3082993511}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115858","Name":"Import of Resource with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A106F715-2EC1-43B7-B0AE-33F6AEEF3B2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115859","Name":"Import of Resource from Foreign Vendor where Input Tax Credit is Available through Purchase Order/Invoice/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{45189151-3ACF-421C-8984-C932DC8A3A2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115860","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{FEC46768-8566-4C39-AE1D-62B0FD83D5D6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115861","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{56966B10-DE93-4980-A9FE-1CBB5DE6359B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115870","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115900","Name":"End GST Credit-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115901","Name":"GST Credit-Non Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115902","Name":"Type-Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115903","Name":"Import of goods without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A7619228-F860-4E03-B21E-E0F01EFF6C52}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115904","Name":"Import of goods without Input Tax Credit Not available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{ABA6F00E-B423-49DF-8DF5-F74950011703}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115905","Name":"Import of goods without Input Tax Credit available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{C57B60DB-22D0-43D5-8460-B47D9F11AFC2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115906","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{E277B92E-D047-425F-B44D-E8EA58FAEE5C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115908","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{09CD7163-15FB-4340-82BF-57373BE3E206}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115909","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{F4B17FC7-3605-47DD-804E-4573BCB3FAC7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115910","Name":"Inter-State Purchase of Goods from Unregistered Vendor where Input Tax Credit is Not-Available","NodeType":"Use Case","TableID":39,"CaseID":"{9E59D4DD-C975-4F42-B5A2-AA98AC93FB7F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115911","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available With Bill to-Location purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{5577B8ED-6471-4480-AD5A-63BA31696AB7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115912","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available with Bill to-Location","NodeType":"Use Case","TableID":39,"CaseID":"{A274F11C-332F-4EE3-AC91-2E2D95E9E2B6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115913","Name":"Intra-State Purchase of Goods from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{679E7F9F-9AAC-4CC5-A263-904ECC708057}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115914","Name":"Inter-State Purchase of Goods from Unregistered Vendor where Input Tax Credit is Not-Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{1B2046C2-4264-4272-A998-085B20832B87}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115915","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit isNon-Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{F4F11B85-700B-4880-9A73-740FF36C4160}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115916","Name":"Inter-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{CE65AEFF-0248-437E-B8A6-87C60E49EFD4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115917","Name":"Intra-State Purchase of Goods from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{55BEA8B4-15ED-47B2-AD24-157BA39467EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115918","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{CCD1BD07-0A33-4DAB-9A3E-E66956E0F98B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115950","Name":"End Type-Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115951","Name":"Type-GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115952","Name":"Intra-State Purchase of Services From Registered Vendor where Input Tax Credit Not Available through Purchase Quote- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{EB169AE5-8DE0-4490-8DFD-46CEE05AA5C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115953","Name":"Inter-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{67527223-25F5-48B0-A0C2-F0064BD92F18}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115954","Name":"Intra-State Purchase of Services from Registered Vendor where Input Tax Credit Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{46AD3622-5D72-4048-9FAC-3C31077C2DF0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115955","Name":"Intra-State Purchase of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FEE41ACD-C7C4-4653-9A34-15F7F0B70663}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115956","Name":"ISD-Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{EC905260-0D39-42CD-ADAE-27F4E74CE267}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115957","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is Not available","NodeType":"Use Case","TableID":39,"CaseID":"{6A72F56C-CA49-4D53-939A-4FABC050BFB3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115958","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order","NodeType":"Use Case","TableID":39,"CaseID":"{0C3618F6-08BD-417F-8744-94A415595940}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115959","Name":"ISD - Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{61FB3B94-A2C7-4F3F-B4A8-801D842328E1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115960","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{BE0C902C-E9FC-4548-B8C7-AB70E21388BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115961","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{36A5E0EC-E197-4102-8FF0-F6DC9B4A47C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115962","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is not available.","NodeType":"Use Case","TableID":39,"CaseID":"{62216594-6660-492B-ACA0-F8BD3893DE49}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115963","Name":"Intra-State Purchase of Services from POS as vendor state Registered Vendor where Input Tax Credit is Not available","NodeType":"Use Case","TableID":39,"CaseID":"{A52E9652-EFC8-4950-B8C1-A41D887AF962}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115964","Name":"Import of Services without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{C07C2110-2740-4FAD-975B-293FAAD86247}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115965","Name":"Intra-State Purchase of Services from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{D2457D2F-2B0E-4F56-BF93-007E245C4FF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115966","Name":"Intra-State Purchase of Services from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{0C6EE2B8-335F-4420-9B76-AEBF773BB40C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-115967","Name":"Inter-State Purchase of Service from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{7642FECB-8BEE-4127-9523-47ECB7D29DC4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116000","Name":"End Type-GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116001","Name":"Type-Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116002","Name":"Import of Fixed Asset from Foreign Vendor where Input Tax Credit is Not Available through Purchase Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{7307BDA2-283F-4094-82E0-41EC241CE177}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116003","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{47F223C1-06BE-4BD6-A98A-E001F8CE436E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116004","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is not available through Purchase Order/ Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{1A8DCBD9-6A50-4C2F-9364-9DB967B50A24}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116005","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted goods(Non-Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{2E369D91-2885-47EB-886E-7AD35816B42E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116006","Name":"Intra State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted (Non Availment)goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{5DC7836A-BA61-4738-8506-BA91EC982903}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116007","Name":"Inter State Purchase of Fixed Asset from Exempted Vendor/Supplier of exempted goods(Non-Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{62AD7817-C30F-4EC6-B68C-AC4828B07DF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116008","Name":"Intra State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted (Non Availment)goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{64233AA2-2DB0-4AC9-8078-0755AB5DA89D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116009","Name":"Intra-State Purchase of Fixed Asset from UnRegistered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{DB7C51C1-1F9F-40F2-82C2-82D59793413C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116010","Name":"Inter-State Purchase of Fixed Asset from Unregistered Vendor where Input Tax Credit is not available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{F8D35423-18AA-4916-A10C-3DC5A6F80CB0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116011","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available With Bill to-Location purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{4FA8A9F3-D8C5-4B20-ACB0-F52BFE013A01}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116012","Name":"Inter-State Purchase of Fixed Asset from Unregistered Vendor where Input Tax Credit is Not-Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{718C2339-648B-4FC6-A496-737B12176D01}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116013","Name":"Intra-State Purchase of Fixed Asset from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{679F358F-4DB0-4587-9F0C-CE643B16A152}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116014","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is not available with Bill to-Location","NodeType":"Use Case","TableID":39,"CaseID":"{AFCCC11E-97B1-4627-8DFD-4184537E2509}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116015","Name":"Inter State Purchase of Fixed Asset from Composite Vendor/Supplier of exempted fixed asset for Non-Availment through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{D50E350F-963C-4C3C-9E78-08F12AB7D8F0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116016","Name":"Intra-State Purchase of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice For FOC","NodeType":"Use Case","TableID":39,"CaseID":"{7E48E18F-D907-423A-BC62-256D7CFAA089}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116017","Name":"Inter-State Purchase of Fixed Asset from Registered Vendor where Input Tax Credit is not available through Purchase Order/ Invoice for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{65746F4E-A835-4278-98CA-B6AB0D0CBF6B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116050","Name":"End Type-Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116051","Name":"Type-Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116052","Name":"Intra-State Purchase of Charge Item from UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{97664A61-096E-43D9-BF55-2D5672F02F7F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116053","Name":"Inter-State Purchase of Charge Item from UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{F4A8CF06-D6CE-4263-ACF3-F1FBB744FBFB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116054","Name":"Inter-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{101CAF41-34AB-4EA1-9277-166954A7FF94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116055","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{64F0C586-3993-4F05-A127-332E7E46802D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116056","Name":"Intra-State Purchase of Charge Item from Registered Vendor when Input Tax Credit is Not Available With Bill to-Location purchase order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{666A5198-99BA-4EC0-A89A-C991109BBC0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116057","Name":"Inter-State Purchase of Charge Item from Unregistered Vendor where Input Tax Credit is Not-Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{66A099C8-9660-498E-9BEB-61296A76CFAF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116058","Name":"Intra-State Purchase of Charge Item from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8A58255B-97C9-4691-9DBF-1C041D4433DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116059","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted (Non Availment)goods with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{C4DD33B4-D4DB-4F30-8C86-E2045B473C57}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116060","Name":"Inter-State Purchase of Charge Item from Registered Vendor where Input Tax Credit is not available with Bill to-Location","NodeType":"Use Case","TableID":39,"CaseID":"{CCE6E98E-5330-48BA-B42E-70E2BDE3E45B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116061","Name":"Inter State Purchase of Charge Item from Composite Vendor/Supplier of exempted charge item for Non-Availment through Purchase Quote/Order/Invoice with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{FFCC9396-D3C4-4A81-BDE8-23070BF8976F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116100","Name":"End Type-Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116101","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116102","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order.","NodeType":"Use Case","TableID":39,"CaseID":"{DBD883FC-4DD3-4C9C-B9AC-AAAF07FF4F3E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116103","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice.","NodeType":"Use Case","TableID":39,"CaseID":"{073D94DC-E7F0-4535-B269-7C36C626FD96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116104","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available purchase Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{B33DCDC5-21C3-4019-96E3-EF513EAED95E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116105","Name":"Import of Resource without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{B12DD0D6-A87C-4A8C-AE71-746B26156893}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116106","Name":"Import of Resource from Foreign Vendor where Input Tax Credit is not available through Purchase Order/Invoice/Quote.","NodeType":"Use Case","TableID":39,"CaseID":"{5D419270-CBAE-42FB-A135-DC1693C77985}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116107","Name":"Intra-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available purchase order/Invoice for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{10D6A0FE-F802-4235-B438-3A29B7C853ED}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116108","Name":"Inter-State Purchase of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Invoice/Order for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{F1A5130E-021A-40F9-8282-82CBFEE3FF07}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116130","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116150","Name":"End GST Credit-Non Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116200","Name":"End Exempted -No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116201","Name":"Exempted","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116202","Name":"Inter-State Purchase of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{1FFB6082-63D3-4AF8-A83B-9AE92D2010E2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116203","Name":"Intra State Purchase of Exempted Fixed Asset from Registered Vendor (Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{C7563021-CD85-4519-ADFB-BA848CA3022F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116204","Name":"Inter State Purchase of Exempted Goods-SEZ Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{97856AB0-DAB0-4CF3-B1B1-3A6EB1524E0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116205","Name":"Intra State Purchase of Exempted Goods and Services.","NodeType":"Use Case","TableID":39,"CaseID":"{2ED393A6-3B1D-49AC-9DBB-D5836930F61C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116206","Name":"Inter-State Purchase of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{AB2BDB68-471C-4EC0-B43A-92920239FBF9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116207","Name":"Intra State Purchase of Exempted Fixed Asset from Registered Vendor (Non-Availment) with no GST Impact through Purchase Quote/Order/Invoice","NodeType":"Use Case","TableID":39,"CaseID":"{F67095C1-F610-4B59-A1E5-7B58D83A6CF5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116208","Name":"Inter State Purchase of Exempted Goods for Registered/Exempted/Composite Vendor","NodeType":"Use Case","TableID":39,"CaseID":"{07AC553C-0E84-41E3-B04A-19B63C3BCF75}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116250","Name":"End Exempted","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116251","Name":"Begin Type Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116252","Name":"Import of Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, without cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{A43577AE-11F7-4DF9-9EEF-F317ED83ADD4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116253","Name":"Import of Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{B45F2436-2E00-4A49-9A8E-7B9202FE0F0A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116260","Name":"End Type Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116300","Name":"End Purchase Document","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116301","Name":"Purchase Return Document","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(5|3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116302","Name":"Exempted No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116303","Name":"GST Credit Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116304","Name":"Type-Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116305","Name":"Return of Import of goods with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{15A78CF5-A4CC-4804-95DA-6FB3DCBF2DBF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116306","Name":"Intra-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{BB9814B7-D039-49BC-BF5D-F80127620CAE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116307","Name":"Purchase Credit Memo/Return Order for Imported Goods where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{48C973FB-77C2-476C-AB39-0E61F0F76F0D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116308","Name":"Intra-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{D0059E3B-4B5F-44E3-B2AD-B3DB74C1CEC4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116309","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{BC7B8A8E-B343-439B-B240-B5D7D0253CC7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116310","Name":"Inter-State Purchase Return of Goods from UnRegistered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{CFC3D6F5-144A-4731-8658-BA626457624A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116311","Name":"Intra-State Purchase Return of Goods from UnRegistered Vendor when Input Tax Credit is Available Through Purchase Invoice/Order/Quote - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{2E358EDE-097D-4846-A45B-BC2C1AE07FE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116312","Name":"Intra-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available with Bill To-Loc Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{F6EB6D82-74A5-413E-BE36-9308F41811A3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116313","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available with Bill to-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{7759D07C-F691-4738-8FB8-F682B03DA922}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116314","Name":"Intra-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{998A15E8-B4E6-460E-A89C-239F276E9B3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116315","Name":"Inter-State Purchase Return of Goods from UnRegistered Vendor when Input Tax Credit is Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{FFBADC05-CF47-4787-B31A-EB85F88CACE8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116316","Name":"Intra-State Purchase Return of Goods from Registered Vendor where Input Tax Credit is available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{FBEDC063-63EA-4FED-A3DD-8B5E175031CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116317","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{055AEE33-1301-4B59-BA0D-E76D2D542B34}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116318","Name":"Intra-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{C9F94259-EA6B-481B-AAF1-8D8F9F025902}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116319","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is Available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{90643BB8-1BEB-40C8-81B3-E6A3C5075C45}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116350","Name":"End Type-Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116351","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116352","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is available through Return Order.","NodeType":"Use Case","TableID":39,"CaseID":"{AF13E308-74EA-4A38-86B9-B0EA0DCE1972}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116353","Name":"Inter-State Purchase Return of Service from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{0CCFD5FB-95C8-4189-ACFF-E7D9AE1DB368}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116354","Name":"ISD - Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{137A0843-A280-441F-8D87-5639EDB2B01E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116355","Name":"ISD-Inter-State Purchase Return of Service from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{2A733D02-2125-4EA9-97E3-2068E5708A94}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116356","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{710042C6-833D-4CF4-B943-47CF6691F7DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116357","Name":"Intra-State Purchase Return of Services from Registered Vendor where Input Tax Credit is available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{D2E1CF7B-EA38-4EB3-82C3-E2E6949625D3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116358","Name":"Intra-State Purchase Return of Services from Unregistered Vendor when Input Tax Credit is Available (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{AEDED96A-9927-4DF4-B89B-22FA7C77C19F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116360","Name":"Inter-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{64A2BCC0-3E88-4613-B91D-540FF4977F86}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116361","Name":"Inter-State Purchase of Return of Services from Unregistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{6510FF1C-A0A5-4C52-8DE5-836BE2536650}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116362","Name":"Return of Import of Services with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{36710BC3-FED5-4726-8AB5-1DC108CF23AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116363","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Available Through Purchase Return Orders for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{47AA3C60-6575-4F87-8022-29790BB97A11}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116400","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116401","Name":"Type Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116402","Name":"Return of Import Fixed Asset with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{1201ECAE-F4F2-43D7-938E-15F5361C2062}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116403","Name":"Return of Import of Fixed Asset with Input Tax Credit available from Import Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{8EECE1FD-4BDB-4A37-92ED-00380C170CFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116404","Name":"Inter State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted goods(Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{A8A42D6F-2A47-4175-8ED8-F482D64554C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116405","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{CCF91681-45AA-45DC-94A6-52DBBF199CF5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116406","Name":"Intra State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted (Availment) goods with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{4E53918C-16B7-4834-86DE-E7422FC21E83}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116407","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{57322220-978A-459E-8EC5-05AB66E6B362}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116408","Name":"Intra-State Purchase Return of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{F37442C1-AB50-445F-A7C3-8DCA84931B69}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116409","Name":"Inter-State Purchase Return of Fixed Asset from Unregistered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{B5669E1C-A496-431B-A29F-69E527E37AA0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116410","Name":"Inter-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Available with Bill to-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{E6B10245-E536-41CF-A9CC-AA043113F6F4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116411","Name":"Inter-State Purchase Return of Fixed Asset from UnRegistered Vendor when Input Tax Credit is Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{38583B1E-682C-4B06-BB69-005849014E82}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116412","Name":"Intra-State Purchase Return of Fixed Asset from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{1EB264E9-24DD-43EC-A17F-E623BF565203}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116413","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{8E9E924F-0BE8-4862-BDFE-39CB23848B3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116414","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is available through Purchase Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{B4B3EE78-57EC-4EE8-8F51-E7B868CF34B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116450","Name":"End Type Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116451","Name":"Type Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116452","Name":"Intra-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available through purchase return order/Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{9A744701-39FF-4CFF-AA72-F5856E82FBF4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116453","Name":"Intra-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{142D2618-98AC-4DD8-922F-11CF063DD8D8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116454","Name":"Inter-State Purchase Return of Charge Item to Unregistered Vendor when Input Tax Credit is Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{8B75A47C-8DD2-45C8-99D9-B04E18C531D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116455","Name":"Inter-State Purchase Return of Charge Item to Registered Vendor when Input Tax Credit is Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{06A818C9-817D-4983-B8D9-D96759380A68}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116456","Name":"Intra-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{4934B903-2938-4ED9-994C-36F89B08E352}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116457","Name":"Inter-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{8F83C983-4368-45FF-9319-952826F72162}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116458","Name":"Inter-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Available with Bill to-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{478E0789-2184-4644-8165-3B5169084277}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116459","Name":"Inter-State Purchase Return of Charge Item from UnRegistered Vendor when Input Tax Credit is Available With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{0E9F08C2-7CF2-4AC1-AFB4-57AC8383E732}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116460","Name":"Intra-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Available With Bill To-Loc - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{03418FFD-0AF9-48F5-A500-EC48BF9DE4E5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116465","Name":"End Type Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116466","Name":"Type-Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116467","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available through Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{A8C8864E-5E75-431A-90D6-9AAB47623BA6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116468","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C6FDF908-18DE-47B6-ADED-1E654C153D2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116469","Name":"Inter-State Purchase Return of Resource from Unregistered Vendor when Input Tax Credit is Available Through Purchase Return Order/ Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{D8632F51-FEDB-4AF9-8A25-CFE374BD12BA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116470","Name":"Return of Import of Resource with Input Tax Credit available from SEZ Vendor with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{62CA4077-63DB-4812-8DBA-369BDD0A5A63}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116471","Name":"Intra-State Purchase Return of Resource from Unregistered Vendor when Input Tax Credit is Available Through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{C9ED5F18-07B9-43AF-9221-448B962EC9CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116472","Name":"Intra-State Purchase Return of Resources from Registered Vendor where Input Tax Credit is available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{04F944A1-EF9C-440F-A89B-654782D13EAA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116473","Name":"Purchase Credit Memo/Return Order for Resource where Input Tax Credit is available.","NodeType":"Use Case","TableID":39,"CaseID":"{4001BD59-B35E-4BBC-B7AD-464FBB21E54A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116474","Name":"Intra-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{EE5198CD-9648-49CF-97C5-E71A9843EE27}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116475","Name":"Intra-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available Through Purchase Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{21A2DFFA-DF09-4531-BE3F-DFC7E50F3D1E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116476","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Available through Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{2E66DC31-92BB-4928-83E5-6F87FC544A85}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116490","Name":"End Type-Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116500","Name":"End GST Credit Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116501","Name":"GST Credit Non-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116502","Name":"Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116503","Name":"Return of Import of goods where Input Tax Credit Not available from SEZ Vendor without cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{D66CD2EC-C8A4-48B9-A634-B14161E0E03B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116504","Name":"Return of Import goods without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry","NodeType":"Use Case","TableID":39,"CaseID":"{A4A0C6C8-FE70-4DA2-9E3D-E5F0CCA93A22}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116505","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{4684DF92-D578-4978-B4EC-04ACC07C8206}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116506","Name":"Intra-State Purchase Return of Goods to Registered Vendor when Input Tax Credit is Not Available purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{C8AEE991-4EDD-4562-BCE7-3DFA3502C8D2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116507","Name":"Intra-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available through Return Order","NodeType":"Use Case","TableID":39,"CaseID":"{0120B543-BBCA-433A-B84D-3A07CA4BD763}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116508","Name":"Intra-State Purchase Return of Goods to UnRegistered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{5F7E0B6C-3D83-418C-9829-C5E5E52460C6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116509","Name":"Intra-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{EB39C2FC-37D8-4778-8B44-9A45DDA46B2E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116510","Name":"Inter-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{938B00CD-0C55-4E7E-9E88-9D26724E10E2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116511","Name":"Intra-State Purchase Return of Goods to Registered Vendor when Input Tax Credit is Not Available with Bill To-Loc purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{65C755B4-E396-453F-9425-896AFF64D1B3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116512","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{0D76D452-CCE9-473B-998A-71EDADD459AE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116513","Name":"Intra-State Purchase Return of Goods to UnRegistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{35C8BFED-ED88-46B7-AFE8-9F2C58421857}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116514","Name":"Inter-State Purchase Return of Goods from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{E0AA74AA-F401-4115-B768-D41BB661B532}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116515","Name":"Intra-State Purchase Return of Goods to Registered Vendor when Input Tax Credit is Not Available purchase Return Order/ Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{A515D68A-A496-4A81-8F4E-EC21F207D5FF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116516","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is not available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{040A5713-75A6-4FD3-BCA9-7A335D697933}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116550","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116551","Name":"Type GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116552","Name":"Purchase Credit Memo/Return Order for Imported Services from Import Associate Vendor where Input Tax Credit is Not Available.","NodeType":"Use Case","TableID":39,"CaseID":"{F14B809C-31CA-4B7D-989E-419B00D35F8F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116553","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is not available Through Return Order ","NodeType":"Use Case","TableID":39,"CaseID":"{C6B64855-0CA9-4749-B21E-AF9FA0AB33D4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116554","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{2CEB6A3E-11E4-420F-A3C6-886B920BEC29}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116555","Name":"ISD-Inter-State Purchase Return of Service from Registered Vendor when Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{78DCCF81-7548-4028-A6AF-31AEB633FC3C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116556","Name":"ISD - Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{BD845B37-5E0F-4EF3-94CB-ED972B71A3C1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116557","Name":"Inter-State Purchase Return of Service to Registered Vendor where Input Tax Credit is Non-available through Purchase Return Orders/Purchase Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{E6B27281-EC3F-4040-B035-4179D33884CE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116558","Name":"Intra-State Purchase Return of Services from Registered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{58CCF42B-75BE-422F-90A5-93E52B2CC817}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116559","Name":"Intra-State/Intra-Union Territory Purchase Return of Services from Registered Vendor where Input Tax Credit Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{A7F8D194-33DA-472D-87CB-693FB589CD45}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116560","Name":"Intra-State Purchase Return of Services from Registered Vendor where Input Tax Credit Not Available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{A4461039-C91C-4102-9438-866AF5607096}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116561","Name":"Intra-State Purchase Return of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{F7D97DC6-CF0E-4248-95A3-3C7189BF844D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116562","Name":"Intra-State Purchase Return of Services from UnRegistered Vendor where Input Tax Credit Not Available (Reverse Charge)","NodeType":"Use Case","TableID":39,"CaseID":"{01289E18-40A0-4AC7-92DA-601F5AF77AA0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116563","Name":"Inter-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{7EE4EB63-5718-4880-80D7-DC82790F804D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116564","Name":"Inter-State Purchase Return of Services from Unregistered Vendor where Input Tax Credit Not Available -Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{6FB5A46A-83C0-495F-9495-7365027603EA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116565","Name":"Return of Import of Services without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry ","NodeType":"Use Case","TableID":39,"CaseID":"{7DBFAC05-5315-4A5F-B5BE-962A065F7D93}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116566","Name":"Intra-State Purchase Return of Services from Registered Vendor when Input Tax Credit is Not Available Purchase Return Order/Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{79A59A19-401F-444F-A3C4-F8CBBA06D4B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116567","Name":"Inter-State Purchase Return of Service to Registered Vendor where Input Tax Credit is Non-available through Purchase Return Orders/Purchase Credit Memo for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{4B185DAB-793D-4C0A-A303-417A61AC9B96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116600","Name":"End Type GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116601","Name":"Type Fixed Asset","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116602","Name":"Purchase Return of Imported Fixed Asset from Foreign Vendor where Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{21811F58-E56B-4A1B-B6DA-C9BD8EECC3AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116603","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is not available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{11784DD8-7EF0-42CF-9A18-401A9ABC6466}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116604","Name":"Intra State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted (Non-Availment) goods with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{12EFA340-BD17-487B-A7CC-F23993B289CF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116605","Name":"Inter State Purchase Return of Fixed Asset from Composite Vendor/Supplier of exempted goods(Non-Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{8E46C7A8-FFB5-40D2-8DBB-26E9FEDDF17D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116606","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available","NodeType":"Use Case","TableID":39,"CaseID":"{079237F7-FA64-40B5-8BE7-A92428550117}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116607","Name":"Intra-State Purchase Return of Fixed Asset to Unregistered Vendor when Input Tax Credit is Not Available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{8EC585FC-1F0E-4A31-A28A-463F3239EB57}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116608","Name":"Inter-State Purchase Return of Fixed Asset to Unregistered Vendor where Input Tax Credit is not available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{028465BA-B14C-4266-9D47-75A8087EE299}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116609","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is not available with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{BFB5B4F3-BBC1-4A5B-9B7C-C3572578CD78}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116610","Name":"Inter-State Purchase Return of Fixed Asset from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{3A542488-E9A7-41E5-BF0B-C73F9C82A8DB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116611","Name":"Intra-State Purchase Return of Fixed Asset to UnRegistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{6A0A47A2-4A0F-4CCD-AC63-A70C76E05091}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116612","Name":"Intra-State Purchase Return of Fixed Asset from Registered Vendor when Input Tax Credit is Not Available for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{7601E944-F060-482E-B620-CF8555D00BB9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116613","Name":"Inter-State Purchase Return of Fixed Asset to Registered Vendor where Input Tax Credit is not available with Bill To-Loc for FOC","NodeType":"Use Case","TableID":39,"CaseID":"{BC63870D-585E-4C07-A6A6-44DE28F260BE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116650","Name":"End Type Fixed Asset","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116661","Name":"Type Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116662","Name":"Intra-State Purchase Return of Charge Item from Registered Vendor when Input Tax Credit is Not Available purchase return order/Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{2653A4AF-CD57-4A29-B4C2-4FE3749AC4AD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116663","Name":"Inter-State Purchase Return of Charge Item to Registered Vendor when Input Tax Credit is Not Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{87FB95AD-905D-4832-9EC3-0330B674D601}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116664","Name":"Intra-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{1B728E5D-4A32-4E32-A2AA-FE3673AFC2CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116665","Name":"Inter-State Purchase Return of Charge Item to Unregistered Vendor when Input Tax Credit is not Available through purchase return order/ Credit memo","NodeType":"Use Case","TableID":39,"CaseID":"{79839F30-7F44-4411-BB2D-07FFA294A38D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116666","Name":"Intra-State Purchase Return of Charge Item to Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{7E781F55-9A83-4206-B18A-46C2CA5E8573}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116667","Name":"Inter-State Purchase Return of Charge Item from Registered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{4F6B53B9-9961-4F29-8151-33C5D413CF58}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116668","Name":"Inter-State Purchase Return of Charge Item to Registered Vendor where Input Tax Credit is not available with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{38F58D78-84D4-40D9-BE77-CD33C02B49AF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116669","Name":"Inter-State Purchase Return of Charge Item from Unregistered Vendor when Input Tax Credit is Not Available With Bill To-Loc- Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{C85088E3-672F-4F2E-B1EF-19CBDFA5460B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116670","Name":"Intra-State Purchase Return of Charge Item to UnRegistered Vendor when Input Tax Credit is Not Available With Bill To-Loc Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{E5053EEB-44D1-4552-8084-67D72A90CECB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116675","Name":"End Type Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116685","Name":"Type Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116686","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{40E9E837-E785-42A1-B8ED-9B27D43D1FFC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116687","Name":"Return of Import Resource without Input Tax Credit available from SEZ Vendor with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{5C3AA147-EDD0-4271-9CB8-4A6F6C98962A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116688","Name":"Inter-State Purchase Return of Resource from Unregistered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{43D94D4C-82EA-4A44-B80F-E297292CAA10}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116689","Name":"Intra-State Purchase Return of Resources from Registered Vendor where Input Tax Credit Not Available -Reverse Charge.","NodeType":"Use Case","TableID":39,"CaseID":"{A170BEEF-350A-4B43-B333-CBEA1D197E1B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116690","Name":"Purchase Credit Memo/Return Order for Resource where Input Tax Credit is not available.","NodeType":"Use Case","TableID":39,"CaseID":"{7C3076A9-460B-41BC-AED8-6B615E4835D2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116691","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{545DC1C5-C848-43B9-BFCE-72C3A45C94BA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116692","Name":"Intra-State Purchase Return of Resource from Registered Vendor where Input Tax Credit Not Available through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{7B096619-70FB-4622-9E57-8EAE58DC1AB1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116693","Name":"Intra-State Purchase Return of Resource from Unregistered Vendor where Input Tax Credit Not Available through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{A2153C07-E791-4821-9542-F9C6C3737BAF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116694","Name":"Intra-State Purchase Return of Resource from Registered Vendor where Input Tax Credit Not Available through Purchase Return Order/Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{8B9B630B-1AC7-49A1-BA60-3A415B97C2BC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116695","Name":"Inter-State Purchase Return of Resource from Registered Vendor when Input Tax Credit is Not Available Through Purchase Return Order/ Credit Memo for FOC.","NodeType":"Use Case","TableID":39,"CaseID":"{4FD977C3-86DB-46A1-AEEF-A0A176F23BE1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116697","Name":"End Type Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116700","Name":"End GST Credit Non-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116701","Name":"Begin Type Resource","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116702","Name":"Inter State Purchase Return of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Return Order/Credit Memo.","NodeType":"Use Case","TableID":39,"CaseID":"{F0453435-C2EF-43BB-BC81-39454E1DE4B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116703","Name":"Intra State Purchase Return of Resource from Composite Vendor/Supplier with no GST Impact through Purchase Credit Memo/Return order.","NodeType":"Use Case","TableID":39,"CaseID":"{28E2DDFD-2F63-47CB-986C-8E6F5D2356F3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116715","Name":"End Type Resource","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116750","Name":"End Exempted No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116751","Name":"Exempted","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18082=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116752","Name":"Intra State Purchase Return of Exempted Fixed Asset from Registered Vendor (Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{26260269-B2BE-4D01-AF43-91BCE15FFF05}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116753","Name":"Inter-State Purchase Return of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{8314CDF7-853B-4DEA-A6DF-CE478FB1D3BD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116754","Name":"Intra State Purchase Return of Exempted Fixed Asset from Registered Vendor (Non-Availment) with no GST Impact","NodeType":"Use Case","TableID":39,"CaseID":"{739B3C04-8659-438B-B9D5-EB62435B9025}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116755","Name":"Inter-State Purchase Return of Exempted Fixed Asset from Registered Vendor where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{43228213-4CEA-41C4-B28B-170B00BC81A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116756","Name":"Intra State Purchase Return of Service from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Credit Memo/Return order","NodeType":"Use Case","TableID":39,"CaseID":"{5E1C6C44-CCBA-49ED-AD64-54D360467B0F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116757","Name":"Intra-State Purchase Return of Goods from Registered Exempted Vendor when Input Tax Credit is Available Through Purchase Return Orders","NodeType":"Use Case","TableID":39,"CaseID":"{8FCF5988-06C7-44E2-A7BD-A5A9B40CDEF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116758","Name":"Inter-State Purchase Return of Goods from Registered Exempted Vendor when Input Tax Credit is Available","NodeType":"Use Case","TableID":39,"CaseID":"{67FECB97-A3FA-4FC9-8A80-E214C3DF4CA9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116759","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{4F992CE7-BB8C-4129-923A-F53A771DF231}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116760","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{0371699B-6B05-4B16-99FB-604F142308AA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116800","Name":"End Exempted","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116901","Name":"GST Reverse Charge -No","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18085=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116902","Name":"GST Credit-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116903","Name":"Type -GL Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116904","Name":"(POS) Intra-State Purchase Return of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{3F057D29-C926-453B-8B17-6B5E431A20B4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-116950","Name":"End Type -GL Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117000","Name":"End GST Credit-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117001","Name":"Begin Type Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117002","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{2BF5B2FE-2191-416D-B63F-47052716FC1B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117003","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{F759EFFB-61F9-4B84-B9CD-01E2616A7B85}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117004","Name":"Inter State Purchase of Goods from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{F023887D-C599-4FE6-89E7-49C257DC208C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117005","Name":"Intra State Purchase of Goods from Composite Vendor/Supplier with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{13352A4D-EEAB-4FEA-A778-0BDAD73B550C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117015","Name":"End Type Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117016","Name":"Begin Type - Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117017","Name":"Inter State Purchase of Charge from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{0CF4326B-FD68-4AE6-B52A-CD2AA2F2A788}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117020","Name":"End Type - Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117021","Name":"Inter State Purchase of other types except good from Composite Vendor/Supplier of exempted not goods with no GST Impact through Purchase Return Order/Credit Memo With Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{21E3248F-92C2-444C-B7E9-B48218AD918A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117022","Name":"Intra State Purchase of other types from Composite Vendor/Supplier of exempted not goods with no GST Impact through Purchase Return Order/Credit Memo with Bill To-Loc","NodeType":"Use Case","TableID":39,"CaseID":"{1988B611-ABD4-44C4-9CB5-67BB88E0002C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117023","Name":"Inter State Purchase of Service from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{BC9A772F-DBF9-4F4F-8607-212DC829C005}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117050","Name":"End GST Reverse Charge -No","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117051","Name":"GST Credit Non-Availment","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18095=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117052","Name":"Return of Import Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, with cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{047704F8-A619-401F-9653-12103103E14A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117053","Name":"Purchase Credit Memo/Return Order for Imported Goods where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{DA972CCF-D97D-4379-9704-AB397FA9E08F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117054","Name":"Purchase Credit Memo/Return Order for Imported Services where Input Tax Credit is not available","NodeType":"Use Case","TableID":39,"CaseID":"{1005E09C-7F65-4E7A-AC0C-B071C455A412}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117055","Name":"(POS) Intra-State Return of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is not available through Purchase Return Order/ Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{8B6ADE91-D482-4071-B431-C299292EF2BF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117056","Name":"Return of Import Fixed Asset from SEZ Vendor where Input Tax Credit is Not Available, without cover of Bill of Entry.","NodeType":"Use Case","TableID":39,"CaseID":"{B5C09EE0-1CF9-4818-AADB-AC5E95626AE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117057","Name":"Intra-State Purchase Return of Goods from Registered Vendor where Input Tax Credit is not available - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{0EBD8B25-3C27-46AE-8CD7-4E870DB1315B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117058","Name":"Inter-State Purchase Return of Goods from Registered Vendor when Input Tax Credit is not Available Through Purchase Return Order/ Credit Memo - Reverse Charge","NodeType":"Use Case","TableID":39,"CaseID":"{97437C0C-3E99-4D15-9378-34AC4B8FD002}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117100","Name":"End GST Credit Non-Availment","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117101","Name":"Begin Type G/L Account","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117102","Name":"Purchase Credit Memo/Return Order for Imported Services where Input Tax Credit is available","NodeType":"Use Case","TableID":39,"CaseID":"{AA1B2E3A-4149-4352-B081-2A869CDE5353}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117120","Name":"End Type G/L Account","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117121","Name":"Begin Type - Charge Item","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field5=1(5))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117122","Name":"Intra State Purchase of Charge Item from Composite Vendor/Supplier of exempted goods with no GST Impact through Purchase Return Order/Credit Memo","NodeType":"Use Case","TableID":39,"CaseID":"{55B6317F-25F3-4C73-8AA5-AFA3EC519C88}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117125","Name":"End Type - Charge Item","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117150","Name":"End Purchase Return Document","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117200","Name":"End Purchase","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117201","Name":"Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18543=1(<>''),Field18001=1(<>''),Field18009=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117202","Name":"Account Type-Customer","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117203","Name":"Document Type- Invoice","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117204","Name":"GST Customer Type- Registered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18007=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117205","Name":"Intra-State Sales of Goods to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{3335E143-1F90-4E63-B6E7-5A4897019FFA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117206","Name":"Inter-State Sales of Goods to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{38C5A554-206D-44A5-9090-86CAC52A7715}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117207","Name":"Intra-State Sales of Service to Registered Customer through Sales Journal/Journal/General Journal - Kerala Cess","NodeType":"Use Case","TableID":81,"CaseID":"{C89845E0-C8B1-45B1-9C1B-04EC264B7AC7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117208","Name":"Intra-State Sales of Service to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{BBD37D0A-E328-4544-B5E1-03FCF65399D5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117209","Name":"Inter-State Sales of Services to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{CF221DCD-487C-4B3C-BBC4-FE16B6667E76}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117210","Name":"Intra-State Sales of Exempted Service to Registered Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{B0D75B5B-C42D-4381-80D8-B312BD2360AE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117250","Name":"End GST Customer type- Registered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117251","Name":"GST Customer Type- Others","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18007=1(2|3|4|5|6|7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117252","Name":"Inter-State Sales of Service to UnRegistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{F56F247A-8E36-496E-8672-C6FE2C81CE7B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117253","Name":"Intra-State Sales of Service to UnRegistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{F719A304-09CF-479B-A123-2A4E34ED3133}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117254","Name":"Export Sales of Service to Export Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{F807C5DC-40B1-4E22-AB49-06BC54A22558}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117255","Name":"IntraState - Export Sales of Service to Deemed Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{005ED1ED-F66A-4A08-8647-0554154F0DF2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117256","Name":"Export Sales of Service to SEZ Development Customer with payment of duty through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{3DC33AD0-69AB-4B36-B58D-7C409957507C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117257","Name":"Export of Service to SEZ Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{6F745F19-1955-4DAA-A3C4-BAC6D6326232}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117258","Name":"Inter State - Export Sales of Service to Deemed Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{FCB154BF-A72A-43A0-87AB-DF80DEAB4F1C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117300","Name":"End GST Customer Type- Others","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117350","Name":"End Document Type- Invoice","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117351","Name":"Document Type- Credit Memo","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117352","Name":"Inter-State Sales Return of Service to UnRegistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{CCF41113-DC62-47E2-B45B-87AF0248AF65}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117353","Name":"Inter-State Sales Return of Goods to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{674E08E2-EB2A-4C3D-924B-9370C6ED3DBF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117354","Name":"Intra-State Sales Return of Service to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{6C9258C7-AF9C-43E4-A015-C4253265F37E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117355","Name":"Intra-State Sales Return of Service to Registered or Unregistered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{6C9258C7-AF9C-43E4-A015-C4253265F37E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117356","Name":"(POS) Intra-State Sales Return/Credit Note of Services for Overseas Place of Supply from Registered Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{DF8067FF-2F97-485F-8364-3AC5536AD82D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117357","Name":"Export Sales Return of Service to Export Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{B8EE2ED8-F29F-465D-B6DC-A3A2A4BB1B3D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117358","Name":"Intra-State Sales Return of Service from Deemed Export Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{4BFBD63E-F561-4C68-AB29-BF4139D24F49}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117359","Name":"InterState Sales Return of Service to SEZ Development Customer with payment of duty through Sales Journal/Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{68AE0437-E71F-4AC5-8729-DDD40410D69D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117360","Name":"Sales Return of Service to SEZ Unit Customer with payment of duty through Sales Journal/Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{960BC8FC-FF34-4E46-A6A0-6FD2CB7BBDA2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117361","Name":"Inter State - Export Sales Return of Service to Deemed Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{FFBBBCDE-50F5-4D02-8B40-DAD63ED1491E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117362","Name":"Intra-State Sales Return of Goods to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{DF783FC9-39C3-492B-B94F-90BCF26C04E5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117363","Name":"Inter-State Sales Return of Service to Registered Customer through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{4E1D5479-C527-4295-A0C1-7D82D94860F6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117400","Name":"End Document Type- Credit Memo","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117401","Name":"Document Type- Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117402","Name":"Inter-State GST on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{287ED69D-1488-4A48-BA50-E063EC8EF915}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117403","Name":"Intra-State GST on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{18F45902-76C4-4B57-AF7F-7D9B3A76D51F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117404","Name":"Export of Goods and Services to SEZ Development, through Sales Journal/Journal/General Journal With Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{0B9F94CE-1C82-4FF7-9EF7-D51E156A0286}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117405","Name":"Export of Goods and Services to Foreign Customer through Sales Journal/Journal/General Journal Without Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{2E85F2F7-2ED8-42CC-95F5-B20D32DB41AC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117406","Name":"GST Deemed Exports through Sales Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{AE574FA3-E537-4FC1-9F8D-E16EF5D7A40E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117407","Name":"Export of Goods and Services to SEZ Unit through Sales Journal/Journal/General Journal Without Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{B7D173ED-4B8F-4F13-95B8-B7C4890B3623}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117408","Name":"Export of Goods and Services to SEZ Unit through Sales Journal/Journal/General Journal With Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{B8ACD224-FC70-4037-86AD-C18AA5DA085F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117409","Name":"Export of Goods and Services to SEZ Development through Sales Journal/Journal/General Journal Without Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{C9CE4C92-F6CD-4B97-BD13-D8EE824D7D66}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117410","Name":"Export of Goods and Services to Foreign Customer through Sales Journal/Journal/General Journal With Payment of Duty.","NodeType":"Use Case","TableID":81,"CaseID":"{DAC31111-29F4-4C8F-BEEC-C3B31668DAF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117450","Name":"End Document Type-Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117451","Name":"Document Type-Refund","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117453","Name":"Intra-State GST Refund on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{0628D305-F863-48E9-986E-0570995F7002}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117454","Name":"Inter-State GST Refund on Advance Payment Received From Customer","NodeType":"Use Case","TableID":81,"CaseID":"{F643A772-5CA6-4CC5-913C-9188C52DF8E0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117499","Name":"End Document Type-Refund","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117500","Name":"End Account Type- Customer","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117501","Name":"Account Type-Vendor","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117502","Name":"Document Type- Invoice","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117503","Name":"GST Credit -Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117504","Name":"GST Reverse Charge -Yes","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18023=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117505","Name":"Intra-State/Intra-Union Territory Purchase of Service from Unregistered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{3C23CDAC-6995-4B6C-9E4B-708B540C413B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117506","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{744B47C3-E4C1-4AC4-A37E-CBA3102A59A1}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117507","Name":"Purchase of Services from SEZ Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{7E182C87-669C-4CD8-8336-41C2ABE6144C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117508","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{B8F32E0D-5D5E-4B84-AE3A-C0D4520470D3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117509","Name":"Inter-State Purchase of Services from Unregistered/Registered Vendor where Input Tax Credit is available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{819CADCF-BE64-4BC6-93BA-59EDE239EB54}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117511","Name":"Interstate GST Calculation on Reverse Charge Exempt Transactions through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{25E8E204-2E63-4B79-824C-3C1185D6467C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117513","Name":"Intrastate GST Calculation on Reverse Charge Exempt Transactions through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{DF134523-53D1-4137-B091-D9C5E1DB8D64}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117550","Name":"End GST Reverse Charge -Yes","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117551","Name":"Begin Vendor Type - Composite","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117552","Name":"Inter-State Purchase of Service from Composite Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F3CD2FC6-4CEE-47EF-B0F5-9EB3E46CE74B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117553","Name":"Intra-State/Intra-Union Territory Purchase of Service from Composite Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B68BAE5C-F887-46E8-9B4C-7333EB6152E0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117558","Name":"End Vendor Type - Composite","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117571","Name":"Begin Vendor type - Registered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117572","Name":"Intra-State/Intra-Union Territory Purchase of Goods from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{66A65EDD-B06A-4817-84C4-B61B035AC7EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117573","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{C2FE3376-EDB2-4C3E-A82D-F49D27D292DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117574","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{36017702-208F-4E8C-A75E-8872EA7D1205}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117575","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{26B7CC70-0C7D-4FD2-B00A-B7845C289215}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117576","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{02670909-9C35-49DA-B64F-E5EA4602693E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117577","Name":"ISD-Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{FA492219-9C2F-4986-B773-DAA35CA74796}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117578","Name":"ISD - Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{E73369B2-7A52-46D6-909F-BA116399AF39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117579","Name":"ISD - Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{E73369B2-7A52-46D6-909F-BA116399AF39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117580","Name":"(POS) Intra-State Sales of Services for Overseas Place of Supply from Registered Customer through Sales Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{5DAE448C-0BD5-4DC3-9BF9-B846921D2C71}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117581","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available through Purchase Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{2341D31D-659B-4C70-B0FD-20C4494A4F1F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117585","Name":"End Vendor type - Registered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117586","Name":"Begin Vendor type - Import","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117587","Name":"Import of Services from Import Associate Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal-","NodeType":"Use Case","TableID":81,"CaseID":"{F6DED4E3-7405-4E6E-B0DF-1320041F130A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117588","Name":"Import of Purchase of Service from Import Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B4662B2E-9E63-4BA7-A683-248E5811B566}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117589","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{6D031AA1-2009-4D4A-A8E7-01D9116EDC5C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117592","Name":"End Vendor type - Import","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117593","Name":"Begin Vendor Type- SEZ","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117594","Name":"SEZ of Purchase of Service from SEZ Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{AB179237-EF7C-4BB1-9406-46B7B6DD1449}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117599","Name":"End Vendor Type-SEZ","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117600","Name":"End GST Credit-Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117601","Name":"GST Credit- Non Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117602","Name":"GST Reverse Charge-Yes","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18023=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117603","Name":"Intra-State/Intra-Union Territory Purchase of Service from UnRegistered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{4CB6ACCD-BD47-4485-A757-62924EA09524}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117604","Name":"Purchase of Services from SEZ Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{B2CD61FA-9C30-4FE5-B5C5-5B535BA6DF96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117605","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{4D9AEA2D-B94B-40CC-B9D9-BC8D6FA19425}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117606","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal - Reverse Charge","NodeType":"Use Case","TableID":81,"CaseID":"{580975ED-52DE-4EF9-BD94-99425C52B570}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117607","Name":"Intra-State Purchase of Services from Unregistered/Registered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0751F148-5E1D-4EFB-9008-ECB2F2F6704D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117608","Name":"Inter-State Purchase of Services from Unregistered/Registered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{4D947EDC-3710-49D2-91D5-6446978D43EC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117650","Name":"End GST Reverse Charge -Yes","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117651","Name":"GST Input Service Distribution -Yes","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18022=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117652","Name":"ISD - Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{9639222B-DFA8-4F14-9A72-24E994C1C7DA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117653","Name":"ISD-Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{19FC1701-0FE4-4ED3-83B8-07DAB075A043}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117700","Name":"End GST Input Service Distribution -Yes","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117701","Name":"GST Input Service Distribution -No","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18022=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117702","Name":"Intra-State/Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{E530DADD-215F-47FF-8A84-46A1E62353CF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117703","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{5305AA1D-CF40-43CC-B9E3-B9471E33DCB3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117750","Name":"End GST Input Service Distribution -No","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117751","Name":"Begin Vendor Type - Import","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(4))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117752","Name":"Import of Services from Foreign Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{774A6E80-FBB4-4413-9144-6ACA8C6546D2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117753","Name":"Import of Goods from Foreign Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{9236A009-169D-4464-8B2C-62C94B782C26}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117754","Name":"Import of Services from Associate Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{54CB1855-9AD0-4A47-9777-D811C7FA1FDE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117759","Name":"End Vendor Type - Import","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117760","Name":"Begin Vendor Type - Unregistered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117761","Name":"IGST on Transportation of Goods through Purchase Journal/Journal/General Journal for Unregistered Vendor with Non-Availment.","NodeType":"Use Case","TableID":81,"CaseID":"{26ED31B0-75B8-439C-8E16-56518665184F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117764","Name":"End Vendor Type - Unregistered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117765","Name":"Begin Vendor Type - Registered","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117766","Name":"Intra-State/ Intra-Union Territory Purchase of Service from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{15E17CFF-8262-4E83-8FD4-3EC012EEA465}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117767","Name":"Inter-State Purchase of Goods from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{A734B9DD-A4C1-427E-AF18-6A8B27474F50}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117768","Name":"Inter-State Purchase of Service from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{DA8551C9-79B9-423C-801E-A8C868788300}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117769","Name":"Intra-State/ Intra-Union Territory Purchase of Goods from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{547DDC98-8D3C-46A0-84BE-03E71BA135DA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117770","Name":"(POS) Intra-State Purchase of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is not available through Purchase Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{997C3EE3-8453-43F1-A179-A32B19EFD8B8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117771","Name":"IGST on Transportation of Goods through Purchase Journal/Journal/General Journal for Registered Vendor with Non-Availment.","NodeType":"Use Case","TableID":81,"CaseID":"{4A025601-FF3D-4BA6-A567-0C31785D0D36}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117772","Name":"Place of supply as Vendors State in Purchase Transactions through Purchase Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{7ABC67E5-F6F0-4ECB-9634-55258429DFD8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117780","Name":"End Vendor Type - Registered","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117781","Name":"Begin Vendor Type-SEZ","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18008=1(6))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117782","Name":"SEZ of Services from SEZ Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{8DF66C94-890C-4007-9341-18D0565000FE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117799","Name":"End Vendor Type- SEZ","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117800","Name":"End GST Credit -Non Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117850","Name":"End Document Type-Invoice","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117851","Name":"Document Type-Credit Memo","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117852","Name":"GST Credit -Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117853","Name":"Purchase return of Imported Goods where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{7B91DD35-F410-4971-A2BC-DBCB67520105}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117854","Name":"Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{BBBBD283-C64C-4AFE-A14E-950791E18CF8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117856","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{9DFF9CBE-B1A5-4D28-A855-8783315A87D0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117857","Name":"Intra-State/ Intra-Union Territory Purchase Return of Goods to Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{85D7B57B-6657-4C5B-889D-282A48B9D0FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117858","Name":"Purchase Credit Memo/Return Order for Imported Services where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{C97F63C3-79EB-44D6-8AEA-B1710A9BBCE9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117859","Name":"Purchase Credit Memo/Return Order for Imported Services from Import Associate Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{D0EADC0B-CBC1-4E07-8ADF-5AE168893B04}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117860","Name":"Intra-State Purchase Return of Service from Unregistered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{789CE492-C2BE-4EEC-8E98-740310FDD0E3}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117861","Name":"Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0AAD1908-46DC-4370-8A8D-77096D9B30B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117862","Name":"Intra-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F857355F-9134-460C-89C8-FB0845206988}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117863","Name":"Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0AAD1908-46DC-4370-8A8D-77096D9B30B0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117864","Name":"Inter-State Purchase Return of Services to Registered Vendor where Input Tax Credit is available (Reverse Charge) through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{DA389E3B-A6C3-4DE1-9843-807B2161B9DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117865","Name":"ISD-Inter-State Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{812E9032-CA16-4FAB-A80B-94CD7BC5EB8D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117866","Name":"(POS) Intra-State Return/Credit Note of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F9A5047E-5B27-41E4-AF68-9497E3B52FAE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117867","Name":"Inter-State Purchase Return of Service from Unregistered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B5A9628F-46F5-48C4-9CC0-09CBAE26D7EE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117868","Name":"Intra-State Purchase Return from Composite Vendor where Input Tax Credit is available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{AFA9BC82-6757-44E3-B5E4-00029DACDA64}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117869","Name":"Intra-State Purchase Return of Services from SEZ Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{B053F5FC-CD93-4EA7-AC71-1590E006FAAE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117870","Name":"Intra-State Return of Services to Registered/ Unregistered Vendor where Input Tax Credit is available through Purchase Journal/General Journal (Reverse Charge)","NodeType":"Use Case","TableID":81,"CaseID":"{4C68E757-379A-4FD3-A58A-91F57954A9FC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117871","Name":"ISD - Intra-State/Intra-Union Territory Purchase Return of Service from Registered Vendor where Input Tax Credit is available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{783D79C8-B103-439F-9F75-9CB53B347C73}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117900","Name":"End GST Credit- Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117901","Name":"GST Credit Non-Availment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field18033=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117902","Name":"Inter-State Purchase Return of Goods to Registered Vendor where Input Tax Credit is Not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{CB0F4A5D-EE91-402C-AA30-C8B724D7DCC5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117903","Name":"Intra-State/ Intra-Union Territory Return of Goods from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{8E0D2716-6C6D-4CDF-863F-1E043223D7DF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117905","Name":"Inter-State Purchase Return of Service to Registered Vendor where Input Tax Credit is not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{F6932043-6A5A-4F55-B06A-DD7F76AFB52B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117906","Name":"Purchase return of Imported Goods where Input Tax Credit is Not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{8503C963-7C87-45CD-8543-607AE516F9F8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117907","Name":"Purchase Credit Memo for Imported Services where Input Tax Credit is not available through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{A6239FAB-E9D2-4FFC-90CC-A5D7858C4CD8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117908","Name":"Purchase Credit Memo/Return Order for Imported Services from Import Associate Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{CF175943-0F1A-4814-BF17-756FB88F497C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117909","Name":"Inter-State Purchase Return of Services to Unregistered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{0C04EF8F-6F19-4C41-928B-9F32605898A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117910","Name":"ISD - Intra-State/Intra-Union Territory Purchase Return of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal ","NodeType":"Use Case","TableID":81,"CaseID":"{00B59093-4DB8-4152-99DB-7F9368A143A8}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117911","Name":"(POS) Intra-State Return/Credit Note of Services for Overseas Place of Supply from Registered Vendor where Input Tax Credit is not available through Purchase Journal/Journal/General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{75C41C76-22FC-479E-836E-E9C838FF3320}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117912","Name":"Inter-State Purchase Return of Services to Registered Vendor where Input Tax Credit is not available (Reverse Charge) through Purchase Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{AE2974C0-8A1D-4821-8999-7617690C41FC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117913","Name":"Intra-State Return of Services to Registered/Unregistered Vendor where Input Tax Credit is not available through Purchase Journal and General Journal (Reverse charge)","NodeType":"Use Case","TableID":81,"CaseID":"{56D375F9-6B43-4460-B0F6-CAB18F44DE92}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117914","Name":"Intra-State Purchase Return of Service from Registered Vendor where Input Tax Credit is Not available through Purchase Journal/Journal/General Journal","NodeType":"Use Case","TableID":81,"CaseID":"{62275F50-6F85-4EA6-AA4F-0BACF20CF65E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-117950","Name":"End GST Credit Non-Availment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118000","Name":"End Document Type-Credit Memo","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118001","Name":"Document Type-Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118002","Name":"GST on Advance for Import Payment.","NodeType":"Use Case","TableID":81,"CaseID":"{7859624E-8AFD-4A64-B361-900053C11266}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118003","Name":"GST on Advance payment from SEZ Vendor.","NodeType":"Use Case","TableID":81,"CaseID":"{041E1938-9B6A-4173-937C-FF0FDC0E7309}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118004","Name":"Inter State GST on Advance Payment made to Registered/Unregistered Vendor.","NodeType":"Use Case","TableID":81,"CaseID":"{E411752D-2CC4-4CD4-9D35-1AE651319762}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118005","Name":"Intra State GST on Advance Payment made to Registered/Unregistered Vendor.","NodeType":"Use Case","TableID":81,"CaseID":"{0686E40E-9643-42C8-B4D1-7587447E98E0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118006","Name":"GST on Advance Payment made to Vendor through General Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{C60D4ED2-E3FC-41BC-BB8D-F1B521984712}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118050","Name":"End Document Type-Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118080","Name":"End Account Type- Vendor","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118090","Name":"GST Credit","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(0),Field18014=1(4|5|6|7))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118091","Name":"GST Opening Liability IGST","NodeType":"Use Case","TableID":81,"CaseID":"{BE4AF8DF-BB6D-432C-B598-B7B481D8D826}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118092","Name":"GST Opening Liability CGST","NodeType":"Use Case","TableID":81,"CaseID":"{5B85FA47-8603-4A7F-9B76-4A5AD999CA81}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118093","Name":"GST Opening TDS Credit - CGST","NodeType":"Use Case","TableID":81,"CaseID":"{7FD02BAE-DA8D-4100-962E-6A8F7FDE823C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118094","Name":"GST Opening TDS Credit - IGST","NodeType":"Use Case","TableID":81,"CaseID":"{09E58D68-C9B5-4A27-B4FE-3BCA8B383E14}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118095","Name":"GST Opening TDS Credit - SGST","NodeType":"Use Case","TableID":81,"CaseID":"{851F544F-7349-4E29-AF19-A0B3B72AB0AC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118096","Name":"GST Opening TCS Credit - CGST","NodeType":"Use Case","TableID":81,"CaseID":"{AF9D718A-2832-4D92-A195-4D7DD81E2029}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118097","Name":"GST Opening TCS Credit - IGST","NodeType":"Use Case","TableID":81,"CaseID":"{33896D17-0F26-4376-8304-7BA20BE4E6D4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118098","Name":"GST Opening TCS Credit - SGST","NodeType":"Use Case","TableID":81,"CaseID":"{36207D8F-34B2-4AF3-83EC-96642DA44DFB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118103","Name":"GST Opening IGST","NodeType":"Use Case","TableID":81,"CaseID":"{325D0E84-286F-437E-BFE1-EBB6F575AD39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118104","Name":"GST Opening CGST","NodeType":"Use Case","TableID":81,"CaseID":"{34A74D02-F64A-4329-B0B3-B20E07D5A79A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118105","Name":"GST Opening SGST","NodeType":"Use Case","TableID":81,"CaseID":"{BBA0DF22-691B-46EB-8500-8B270596F2E9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118106","Name":"GST Opening Liability SGST","NodeType":"Use Case","TableID":81,"CaseID":"{97CF7642-AB0E-4686-A5CE-3D7C7C641E7E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118108","Name":"Account Type - G/L * Tax Type End","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118110","Name":"Account Type - G/L Account","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118111","Name":"Intra-state purchase of services where Services is paid directly and service provider is registered and GST Credit is Not Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{77160361-37A9-43BD-A71B-BFA6853D1CFB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118112","Name":"Inter-state purchase of services where Services is paid directly and service provider is registered and GST Credit is Not Available on Purchase Journal and Gen. Journals","NodeType":"Use Case","TableID":81,"CaseID":"{869FF9BE-3EA8-424B-973E-E27D6E370807}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118113","Name":"Intra-state purchase of services where Services is paid directly through bank and service provider is registered and GST Credit is Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{2D1A7414-2844-4128-B026-CA683BCEA058}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118114","Name":"Inter-state purchase of services where Services is paid directly through bank and service provider is registered and GST Credit is Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{5265955A-2DE6-49CD-AFBE-D314E2D049FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118115","Name":"Inter-state purchase of services where Services is paid directly and service provider is Unregistered and GST Credit is Not Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{2A85CD62-7897-47FF-808B-E0A11131071F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118116","Name":"Intra-state purchase of services where Services is paid directly and service provider is Unregistered and GST Credit is Not Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{EAD964E4-7CD1-4462-96B3-78A3FA9DE087}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118117","Name":"Inter-state purchase of services where Services is paid directly through bank and service provider is Unregistered and GST Credit is Available on Purchase Journal and Gen. Journal.","NodeType":"Use Case","TableID":81,"CaseID":"{99AB0C39-33A7-47F5-8659-968DBAEEA2F2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118125","Name":"End - Account Type - G/L Account","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118150","Name":"End Payment","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118151","Name":"Service Transfer","NodeType":"Begin","TableID":18351,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field11=1(<>''),Field12=1(<>''),Field20=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118152","Name":"Interstate Service Transfer Order","NodeType":"Use Case","TableID":18351,"CaseID":"{FEB751CF-3E8D-42AB-965E-51097FF60E64}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118153","Name":"IntraState Service Transfer Order","NodeType":"Use Case","TableID":18351,"CaseID":"{D68B3FE8-78C6-492D-AC1A-FFA29F17A50D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118200","Name":"End Service Transfer","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118201","Name":"Stock Transfer","NodeType":"Begin","TableID":5741,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2) WHERE(Field18394=1(<>''),Field18395=1(<>''),Field18396=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118202","Name":"IntraState Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{A59206F4-476D-4ED9-8665-08535755BB5E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118203","Name":"InterState Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{E52D7679-7E9C-4623-9CA7-AB704EF2465C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118204","Name":"Bonded Inter-State Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{AECAE480-71C8-41C4-B247-FB33DFC9C039}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118205","Name":"Bonded Intra-State Transfer Order","NodeType":"Use Case","TableID":5741,"CaseID":"{C215F153-718E-4936-BA99-ACB4E2F2BBC4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118250","Name":"End Stock Transfer","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118251","Name":"Journal Bank Charges","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field13=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118252","Name":"Document Type-Invoice","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field9=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118253","Name":"GST on Bank Charges against Customer Receipt (Intra Sate)","NodeType":"Use Case","TableID":18247,"CaseID":"{46054EB7-3CE7-421C-B047-00658AC5C150}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118254","Name":"Intra-State Bank Payment with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{7AC16E57-E977-41B3-9338-1399811A688B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118255","Name":"GST on Bank Charges against Customer Receipt (Inter State)","NodeType":"Use Case","TableID":18247,"CaseID":"{668C2032-DD90-4A23-8F30-04B69FE7C99E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118256","Name":"Inter-State Bank Payment with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{98A43A23-24F8-4FC2-9D4E-6B45D74B02FB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118300","Name":"End Document Type-Invoice","NodeType":"End","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118301","Name":"Document Type-Credit Memo","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field9=1(2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118302","Name":"GST on Bank Charges against Customer Refund (Inter State)","NodeType":"Use Case","TableID":18247,"CaseID":"{2026E996-050E-4647-8D77-9B2E8FF1B068}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118303","Name":"Inter State GST Refund on Bank Charges.","NodeType":"Use Case","TableID":18247,"CaseID":"{4CB74CDB-63C8-492B-8819-BA937750388D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118304","Name":"Intra State Refund GST on Bank Charges.","NodeType":"Use Case","TableID":18247,"CaseID":"{7E6E164B-CB38-4B5A-ADAA-BB51CAEEA5A7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118305","Name":"Inter-State Bank Payment for Credit Memo with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{429F37B1-0D9F-4B5A-BC3F-AC53F994BC32}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118306","Name":"Intra-State Bank Payment for Credit Memo with Bank Charges with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{A26AB5CA-52E6-4626-A426-C656627502E4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118350","Name":"End Document Type-Credit Memo","NodeType":"End","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118351","Name":"Document Type - Blank","NodeType":"Begin","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field2,Field3,Field4) WHERE(Field9=1(0))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118352","Name":"Intra-State Bank charges on bank Payment with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{F230C59A-547E-41CA-B6B9-5E8BE22A1BEF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118353","Name":"Inter-State Bank charges on bank Payment with GST.","NodeType":"Use Case","TableID":18247,"CaseID":"{50157D1D-C080-4AF0-8C63-0B5E918F5AF2}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118375","Name":"End Document Type - Blank","NodeType":"End","TableID":18247,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-118400","Name":"End Journal Bank Charges","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119000","Name":"GST Service Management","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field7=1(<>''),Field18441=1(<>''),Field18443=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119001","Name":"Service Document","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(0|1|2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119002","Name":"Intra State Service to Registered/Unregistered Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{B90130D9-0471-4034-8687-11B04ABDCE72}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119003","Name":"Inter State Service to Registered/Unregistered Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{4DD701D1-41A9-432E-9E95-8F8D08AB2C67}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119004","Name":"Inter State Service to SEZ Unit Customer through Service Quote/ Order/ Invoice.","NodeType":"Use Case","TableID":5902,"CaseID":"{5CB02A72-982F-4AD6-A762-CE881DC52ACC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119005","Name":"Inter State Service to SEZ Development Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{0282EB09-4676-4A39-B2EC-EDC9568BA92B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119006","Name":"Intra State Service to Deemed Export Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{ADF43278-38CD-463B-8E08-DD604EC3C50C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE119007","Name":"Inter State Service to Export Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{1CB4368B-D6AF-4B89-AFEB-8641B0152451}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119008","Name":"Inter State Service to SEZ Unit Customer through Service Quote/ Order/ Invoice without payment of Duty.","NodeType":"Use Case","TableID":5902,"CaseID":"{EC2138A1-46D7-430B-B335-F8D6C345BB16}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119010","Name":"Intra State Service to SEZ Development Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{4C0ECC95-F5CD-46B2-B302-84C3A5AD7D4E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119011","Name":"Inter State Service to Deemed Export Customer through Service Quote/ Order/ Invoice","NodeType":"Use Case","TableID":5902,"CaseID":"{135115A7-1D82-4528-959B-9A35775455CD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119200","Name":"End Service Document","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119201","Name":"Service Return","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119202","Name":"Inter State Return of Service to Registered/Unregistered Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{AA215442-D318-4160-A666-57E3FBE06CDD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119203","Name":"Intra State Return of Service to Registered/Unregistered Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{C0774889-632D-4799-AA04-DA25EB643832}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119204","Name":"Inter State Service to SEZ Development Customer through Service Credit Memo\n","NodeType":"Use Case","TableID":5902,"CaseID":"{95551286-5BF2-42D5-895A-4A4F450A424B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119205","Name":"Intra State Return of Service to Deemed Export Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{DD75810D-2D5B-438A-A3AB-079E1B1D7AB9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119206","Name":"Inter State Service to Deemed Export Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{C211C520-8428-4E89-8A9A-446A5EC41D39}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119207","Name":"Inter State Return of Service to SEZ Unit Customer through Service Credit Memo with payment of duty","NodeType":"Use Case","TableID":5902,"CaseID":"{6CFFB9A1-521E-4D60-AAFB-BDB044405A2A}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119208","Name":"Inter State Service to Export Customer through Service Credit Memo","NodeType":"Use Case","TableID":5902,"CaseID":"{0A055D50-A23B-48A5-BADA-9D00D97EED3B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119400","Name":"End Service Return","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119401","Name":"Begin Exempeted","NodeType":"Begin","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18446=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119402","Name":"Intra State Service to Registered/Unregistered/Exempted Customer through Service Quote/ Order/ Invoice/ Credit Memo - Exempted","NodeType":"Use Case","TableID":5902,"CaseID":"{D460C15F-47A6-41A4-9B9F-8EA3738C2E40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119403","Name":"Inter State Service to Registered/Unregistered/Exempted Customer through Service Quote/ Order/ Invoice/ Credit Memo - Exempted","NodeType":"Use Case","TableID":5902,"CaseID":"{990AEEEE-91BD-4C0E-8346-897F141E4EDB}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119410","Name":"End Exempeted","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119800","Name":"End GST Service Management","NodeType":"End","TableID":5902,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-119999","Name":"End - GST","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200001","Name":"TDS","NodeType":"Begin","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"TDS","IsTaxTypeRoot":true},{"Code":"TE-200002","Name":"Purchase","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(1|2),Field18716=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200003","Name":"Domestic Vendor","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field91=1(''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200004","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{DB230097-4AA7-44E2-9373-02A467DC95AC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200005","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{A8E114BF-F8CD-44DB-A2B3-614BC18F4442}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200006","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":39,"CaseID":"{F39A0864-D2E7-40A5-9633-B6680CD3EC6F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200007","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{1E42FDF3-1868-4205-A6D6-D2FC67BD132F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200008","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified with Concessional Codes and Posting Date is greater than Start Date","NodeType":"Use Case","TableID":39,"CaseID":"{F8BF58D9-7681-458D-9DFC-71EA23A9F853}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200009","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where no PAN No. is specified along with Concessional Codes and Posting Date is greater then Start Date","NodeType":"Use Case","TableID":39,"CaseID":"{1ABE2C56-9700-4A30-A14A-5E8ECC2F32DD}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200010","Name":"Calculation of Tax Deduction at Source on Vendor Invoice where PAN No. is specified without Concessional Codes with Applies-to ID.","NodeType":"Use Case","TableID":39,"CaseID":"{B8A33720-278B-45B4-8465-2D9FA273D813}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200015","Name":"End Domestic Vendor","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200050","Name":"NRI Vendor","NodeType":"Begin","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field91=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200051","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{5D4C69D3-E776-4E9D-B397-09336BFDC884}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200052","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{FEE5DFFF-0BC1-4246-AD90-6CB3DC44A451}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200053","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":39,"CaseID":"{487C3669-B12A-42C0-9FEA-D23AB1426BF6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200054","Name":"Calculation of Tax Deduction at Source on Non-Resident Vendor Invoice where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":39,"CaseID":"{75222E87-A1A0-48EE-9211-D3F59009C287}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200100","Name":"End NRI Vendor","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200150","Name":"End Purchase","NodeType":"End","TableID":39,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200151","Name":"Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field30=1(0),Field18544=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200152","Name":"NRI Vendor","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(2),Field12=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200153","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":81,"CaseID":"{271D5BC6-17E8-424E-9E34-3BEE548F938F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200154","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{D9B47164-1681-4C6F-A746-8D710E5F103D}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200155","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{25C2D9C3-2A87-41A6-9AB9-DC76E818DF0C}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200156","Name":"Calculation of Tax Deduction at Source through General Journal for Non-Residents Vendor where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{08737F79-35F1-4670-BD1D-E41764E3A9DE}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200200","Name":"End NRI Vendor","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200201","Name":"Domestic Vendor","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(2),Field12=1(''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200202","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":81,"CaseID":"{B0C259BC-64CC-4818-887A-3337D357CDFF}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200203","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where PAN No. is specified without Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{33BFBE99-9140-4112-A55B-35EC0D9B61B9}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200204","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{FA0E357D-1AC0-42AA-94DE-6DACA521D38E}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200205","Name":"Calculation of Tax Deduction at Source through General Journal for Vendor where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{0CDED40A-A359-45E0-AAEC-AFE7BBCFBC96}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200250","Name":"End Domestic Vendor","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200251","Name":"Customer","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200252","Name":"Calculation of Tax Deducted at Source through Bank Receipt Voucher/Cash Receipt Voucher/General Journal/Cash Receipt Journal for Customers with PAN and without Concessional Code.\n","NodeType":"Use Case","TableID":81,"CaseID":"{C1C8C9A9-1AE8-48D7-AB60-9EA08AA0AF21}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200253","Name":"Calculation of Tax Deducted at Source through Bank Receipt Voucher/Cash Receipt Voucher/General Journal/Cash Receipt Journal for Customers with PAN and Concessional Code.\n","NodeType":"Use Case","TableID":81,"CaseID":"{98E3D17E-B644-4DBA-836C-CF26A20EDD3F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200300","Name":"End Customer","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200301","Name":"Provisional Entry","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200302","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{7D508D37-53AC-4E44-9669-743A8BA82A3F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200303","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where both PAN No. and Concessional Codes are not specified.\n","NodeType":"Use Case","TableID":81,"CaseID":"{25EADDE7-E634-4A01-9E4B-74E7C9D5AA62}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200304","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where no PAN No. is specified along with Concessional Codes.\n","NodeType":"Use Case","TableID":81,"CaseID":"{9E57C058-0570-4828-B24A-760D35A38D19}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200305","Name":"Calculation of Tax Deduction at Source with Provisional Entry through Purchase Journal for Vendor where PAN No. is specified without Concessional Codes.","NodeType":"Use Case","TableID":81,"CaseID":"{61ED733A-A96B-45ED-BE21-A98A8B65566B}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200350","Name":"End Provisional Entry","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-200400","Name":"End Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-299991","Name":"End TDS","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300001","Name":"TCS","NodeType":"Begin","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"TCS","IsTaxTypeRoot":true},{"Code":"TE-300002","Name":"Sales","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field18838=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300003","Name":"Sales Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(1|0|2))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300004","Name":"TCS to be calculated on Customer Invoice with PAN and without Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{BC834CD9-7782-4B77-8D0E-0D7EF1679775}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300005","Name":"PAN No. Validations (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{E696BECA-20A6-498E-9615-114585216ABA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300006","Name":"TCS to be calculated on Customer Invoice without PAN and without Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{91492C74-9837-4256-8B07-1BA40247EA73}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300007","Name":"TCS to be calculated on Customer Invoice with PAN and with Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{4DC37F56-3558-400D-ABB1-5573CCC0FD30}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300008","Name":"TCS to be calculated on Customer Invoice with Resource and Fixed Asset (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{B8AC2649-DEA6-42B1-BF69-62A706C6DC40}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300009","Name":"TCS to be calculated on Customer Invoice without PAN and with Concessional (through Sales Quote/ Sales Order/ Sales Invoice)","NodeType":"Use Case","TableID":37,"CaseID":"{C8358DF6-AC70-4AB2-94E4-D609ADC635CA}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300050","Name":"End Sales Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300051","Name":"Sales Return Document","NodeType":"Begin","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field3,Field4) WHERE(Field1=1(5|3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300052","Name":"TCS to be calculated on Customer Invoice without PAN and without Concessional (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{B3983817-AAEE-4AD8-97D8-16A875361BA7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300053","Name":"PAN No Validations (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{800AD5B2-89E5-4616-8281-37DDEC382E76}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300054","Name":"TCS to be calculated on Customer Invoice with Resource and Fixed Asset (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{F687A3C1-9192-42D2-A042-39C2B63B35D7}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300055","Name":"TCS to be calculated on Customer Invoice with PAN and without Concessional (Through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{B1B995F9-C500-4846-9FE8-833A900F0846}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300056","Name":"TCS to be calculated on Customer Invoice with PAN and with Concessional (Through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{77DE8E48-908D-4E7E-9FBE-98B9EFCB7AE5}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300057","Name":"TCS to be calculated on Customer Invoice without PAN and with Concessional (through Sales Return Order/ Credit Memo)","NodeType":"Use Case","TableID":37,"CaseID":"{5E2AC8E9-8A09-4BA9-8C30-C1CD27CAA214}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300100","Name":"End Sales Retun Document","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300150","Name":"End Sales","NodeType":"End","TableID":37,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300151","Name":"Receipt","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field3=1(1),Field6=1(1|2|3),Field30=1(0),Field18807=1(<>''))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300152","Name":"Invoice and Payment","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(2|1))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300153","Name":"TCS to be calculated on Customer Invoice and Payment with PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{593E67FC-EACA-4C9B-8F95-4A1D3D1712E4}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300154","Name":"TCS to be calculated on Customer Invoice and Payment without PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{DA63D636-4773-418A-8123-6522A7867E5F}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300155","Name":"TCS to be calculated on Customer Invoice and Payment with PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{6B7BF4A0-0250-4480-9482-733992652D29}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300156","Name":"TCS to be calculated on Customer Invoice and Payment without PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{D9843455-A721-409B-8A37-D111331A8024}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300157","Name":"PAN No. Validations through General journal","NodeType":"Use Case","TableID":81,"CaseID":"{CB9FAD0D-74A9-4DD5-A83A-E2F6A1FABA06}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300158","Name":"TCS to be calculated on Receipt of Payment with PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{42747DC4-6388-459E-9D2E-103F3F4E2AB0}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300159","Name":"TCS to be calculated on Receipt of Payment without PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{82174562-748D-4C6F-AE37-852C7CCEFEAC}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300160","Name":"TCS to be calculated on Receipt of Payment without PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{1E2CC6D7-1793-4F6E-BF59-A79A941FD309}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300161","Name":"TCS to be calculated on Receipt of Payment with PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{6F4B6558-D97D-463E-BCC2-A8AE3C7EB872}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300200","Name":"End Invoice and Payment","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300201","Name":"Credit Memo","NodeType":"Begin","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","Condition":"VERSION(1) SORTING(Field1,Field51,Field2) WHERE(Field6=1(3))","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300202","Name":"TCS to be calculated on Customer Credit Memo without PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{4BC77C19-4CA3-4913-8EB5-11EDAE308A25}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300203","Name":"TCS to be calculated on Customer Credit Memo without PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{3ED702E0-AFA2-4771-AD1F-8FBEF7383436}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300204","Name":"TCS to be calculated on Customer Credit Memo with PAN and with Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{088AD93D-6264-4C00-8E0D-F15F40E5E4F6}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300205","Name":"TCS to be calculated on Customer Credit Memo with PAN and without Concessional (Through General Journal) ","NodeType":"Use Case","TableID":81,"CaseID":"{994E3FD7-2FE1-4B6D-AC06-F819F8B94F07}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300250","Name":"End Credit Memo","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-300300","Name":"End Receipt","NodeType":"End","TableID":81,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-399991","Name":"END TCS","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false},{"Code":"TE-999999","Name":"End Tax Engine","NodeType":"End","TableID":0,"CaseID":"{00000000-0000-0000-0000-000000000000}","TaxType":"","IsTaxTypeRoot":false}]]]> Codeunit Tax Base Tax Engine Setup - NamedType UseCaseTreeLbl diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CommonModuleIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CommonModuleIS.Codeunit.al index 2a8b428f29..6b73b6b598 100644 --- a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CommonModuleIS.Codeunit.al +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CommonModuleIS.Codeunit.al @@ -15,7 +15,7 @@ codeunit 14605 "Common Module IS" if ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data" then begin LocalStandardVATPercentage := 24; ContosoPostingSetup.SetOverwriteData(true); - ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); ContosoPostingSetup.SetOverwriteData(false); end; end; diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CreateISGLAccounts.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CreateISGLAccounts.Codeunit.al index 23812c1805..6ec8674e55 100644 --- a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CreateISGLAccounts.Codeunit.al +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/Codeunits/CreateISGLAccounts.Codeunit.al @@ -21,14 +21,14 @@ codeunit 14603 "Create IS GL Accounts" ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '5610'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '5630'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '7291'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '7191'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7292'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7192'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), ''); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '7293'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '7193'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '2120'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); @@ -49,7 +49,7 @@ codeunit 14603 "Create IS GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; SvcGLAccount: Codeunit "Create Svc GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '6700'); + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] @@ -58,18 +58,18 @@ codeunit 14603 "Create IS GL Accounts" ContosoGLAccount: Codeunit "Contoso GL Account"; MfgGLAccount: Codeunit "Create Mfg GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7791'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7792'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7793'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7890'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7891'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '7892'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '7893'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '7894'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), ''); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '2130'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '2140'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] @@ -112,4 +112,53 @@ codeunit 14603 "Create IS GL Accounts" ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '7180'); ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '7620'); end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforSE() + begin + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + GLAccountCategory: Record "G/L Account Category"; + CreateGLAccount: Codeunit "Create G/L Account"; + ContosoGLAccount: Codeunit "Contoso GL Account"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + SubCategory: Text[80]; + begin + SubCategory := Format(GLAccountCategory."Account Category"::Assets); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BalanceSheet(), CreateGLAccount.BalanceSheetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25EU(), PurchaseVAT24EULbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25(), PurchaseVAT24Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorPrepaymentsVAT25(), VendorPrepaymentsVAT24Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiabilitiesAndEquity(), CreateGLAccount.LiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilitiesAndEquity(), CreateGLAccount.TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.LiabilitiesAndEquity() + '..' + CreateGLAccount.TotalLiabilitiesAndEquity() + '|' + CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, true); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomerPrepaymentsVAT25(), CustomerPrepaymentsVAT24Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesVAT25(), SalesVAT24Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetOperatingIncome(), CreateGLAccount.NetOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetOperatingIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NIBEFOREEXTRITEMSTAXES(), CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NIBEFOREEXTRITEMSTAXES(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncomeBeforeTaxes(), CreateGLAccount.NetIncomeBeforeTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncomeBeforeTaxes(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncome(), CreateGLAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + end; + + var + VendorPrepaymentsVAT24Lbl: Label 'Vendor Prepayments VAT 24 %', MaxLength = 100; + CustomerPrepaymentsVAT24Lbl: Label 'Customer Prepayments VAT 24 %', MaxLength = 100; + SalesVAT24Lbl: Label 'Sales VAT 24 %', MaxLength = 100; + PurchaseVAT24Lbl: Label 'Purchase VAT 24 %', MaxLength = 100; + PurchaseVAT24EULbl: Label 'Purchase VAT 24 % EU', MaxLength = 100; } \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Bank/2.Master Data/CreateBankAccountIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Bank/2.Master Data/CreateBankAccountIS.Codeunit.al new file mode 100644 index 0000000000..6d67b02105 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Bank/2.Master Data/CreateBankAccountIS.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 14635 "Create Bank Account IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -93900000, CityLbl, PostCodeLbl); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, CityLbl, PostCodeLbl); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; City: Text[30]; PostCode: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate(City, City); + BankAccount.Validate("Post Code", PostCode); + end; + + var + CityLbl: Label 'Reykjavik', MaxLength = 30, Locked = true; + PostCodeLbl: Label '130', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Bank/2.Master Data/CreateGenJournalLineIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Bank/2.Master Data/CreateGenJournalLineIS.Codeunit.al new file mode 100644 index 0000000000..78df619d98 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Bank/2.Master Data/CreateGenJournalLineIS.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 14626 "Create Gen. Journal Line IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateGenJournalLine(); + UpdateBankAccReconciliationLine(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -178919.2); + 20000: + Rec.Validate(Amount, -268378.8); + 30000: + Rec.Validate(Amount, -357838.4); + 40000: + Rec.Validate(Amount, -357838.4); + end; + end; + + local procedure UpdateGenJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.Get(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000); + if GenJournalLine."Account No." = '' then begin + GenJournalLine.Validate(Amount, 0); + GenJournalLine.Modify(true); + end; + end; + + local procedure UpdateBankAccReconciliationLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + BankAccount: Record "Bank Account"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccount.Get(CreateBankAccount.Checking()); + + BankAccReconciliationLine.Get(BankAccReconciliationLine."Statement Type"::"Bank Reconciliation", BankAccount."No.", BankAccount."Last Statement No.", 30000); + BankAccReconciliationLine.Validate("Transaction Text", DepositToAccountLbl); + BankAccReconciliationLine.Validate(Description, CopyStr(BankAccReconciliationLine."Transaction Text", 1, MaxStrLen(BankAccReconciliationLine.Description))); + BankAccReconciliationLine.Modify(true); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18.01.24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/FA/1.Setup Data/CreateFADepreciationBookIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/FA/1.Setup Data/CreateFADepreciationBookIS.Codeunit.al new file mode 100644 index 0000000000..522b5ba709 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/FA/1.Setup Data/CreateFADepreciationBookIS.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 14609 "Create FA Depreciation Book IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/FA/1.Setup Data/CreateFAInsJnlTemplateIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/FA/1.Setup Data/CreateFAInsJnlTemplateIS.Codeunit.al new file mode 100644 index 0000000000..4639193154 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/FA/1.Setup Data/CreateFAInsJnlTemplateIS.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 14613 "Create FA Ins Jnl. Template IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateFANoSeries: Codeunit "Create FA No Series"; + CreateFAInsJnlTemplate: Codeunit "Create FA Ins Jnl. Template"; + begin + ContosoFixedAsset.SetOverwriteData(true); + ContosoFixedAsset.InsertInsuranceJournalTemplate(CreateFAInsJnlTemplate.Insurance(), InsuranceJournalLbl, CreateFANoSeries.InsuranceJournal()); + ContosoFixedAsset.InsertInsuranceJournalBatch(CreateFAInsJnlTemplate.Insurance(), CreateFAInsJnlTemplate.Default(), DefaultJournalBatchLbl); + ContosoFixedAsset.SetOverwriteData(false); + end; + + var + InsuranceJournalLbl: Label 'Insurance Journal', MaxLength = 50; + DefaultJournalBatchLbl: Label 'Default Journal Batch', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineIS.Codeunit.al new file mode 100644 index 0000000000..780e1f76d5 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineIS.Codeunit.al @@ -0,0 +1,94 @@ +codeunit 14629 "Create Acc. Schedule Line IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 60000: + ValidateRecordFields(Rec, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 70000: + ValidateRecordFields(Rec, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal() + '|' + CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '10' + '..' + '30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + begin + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + Rec.Validate(Description, TotalRevenueLbl); + end; + 20000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses() + '|' + CreateGLAccount.TotalPersonnelExpenses() + '|' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 90000: + ValidateRecordFields(Rec, CreateGLAccount.NetIncomeBeforeTaxes(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupIS.Codeunit.al new file mode 100644 index 0000000000..1492bfbdd8 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupIS.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 14612 "Create General Ledger Setup IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + Currency.Get(CreateCurrency.ISK()); + ValidateRecordFields(CreateCurrency.ISK(), LocalCurrencySymbolLbl, Currency.Description, 0.001); + end; + + local procedure ValidateRecordFields(LCYCode: Code[10]; LocalCurrencySymbol: Text[10]; LocalCurrencyDescription: Text[60]; UnitAmountRoundingPrecision: Decimal) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbol); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrencyDescription); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := UnitAmountRoundingPrecision; + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrencySymbolLbl: Label 'kr', Locked = true; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVATSetupPostingGrpIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVATSetupPostingGrpIS.Codeunit.al new file mode 100644 index 0000000000..6d753a1db3 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVATSetupPostingGrpIS.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 14632 "Create VAT Setup PostingGrpIS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Setup Posting Groups", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnbeforeInsertVatReportingSetup(var Rec: Record "VAT Setup Posting Groups") + var + CreateVatPostingGroup: Codeunit "Create VAT Posting Groups"; + begin + case Rec."VAT Prod. Posting Group" of + CreateVatPostingGroup.FullNormal(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(VATOnlyInvoicesDescriptionLbl, '24')); + CreateVatPostingGroup.ServNormal(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(MiscellaneousVATDescriptionLbl, '24')); + CreateVatPostingGroup.Standard(): + Rec.Validate("VAT %", 24); + end; + end; + + var + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVATStatementIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVATStatementIS.Codeunit.al new file mode 100644 index 0000000000..4a9dd30f87 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVATStatementIS.Codeunit.al @@ -0,0 +1,83 @@ +codeunit 14630 "Create VAT Statement IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnbeforeInsertVatReportingSetup(var Rec: Record "VAT Statement Line") + var + CreateVATStatement: Codeunit "Create VAT Statement"; + begin + if Rec."Statement Template Name" = CreateVATStatement.VATTemplateName() then + case Rec."Line No." of + 200000: + Rec.Validate(Description, SalesStandardLbl); + 210000: + Rec.Validate(Description, SalesStandardFullLbl); + 220000: + Rec.Validate(Description, SalesStandardTotalLbl); + 270000: + Rec.Validate(Description, EUStandardLbl); + 280000: + Rec.Validate(Description, EUStandardTotalLbl); + 320000: + Rec.Validate(Description, PurchaseStandardLbl); + 330000: + Rec.Validate(Description, PurchaseStandardFullLbl); + 340000: + Rec.Validate(Description, PurchaseStandardTotalLbl); + 390000: + Rec.Validate(Description, EUStandardLbl); + 400000: + Rec.Validate(Description, EUStandardTotalLbl); + 450000: + Rec.Validate(Description, DomesticStandardSalesLbl); + 460000: + Rec.Validate(Description, DomesticStandardTotalLbl); + 500000: + Rec.Validate(Description, EUStandardSuppliesLbl); + 510000: + Rec.Validate(Description, EUStandardSuppliesTotalLbl); + 550000: + Rec.Validate(Description, OverseasSalesValueLbl); + 560000: + Rec.Validate(Description, OverseasSalesTotalLbl); + 620000: + Rec.Validate(Description, DomesticStandardPurchaseLbl); + 630000: + Rec.Validate(Description, DomesticStandardPurchaseTotalLbl); + 670000: + Rec.Validate(Description, EUAcquisitionStandardLbl); + 680000: + Rec.Validate(Description, EUAcquisitionStandardTotalLbl); + 720000: + Rec.Validate(Description, OverseasPurchaseValueLbl); + 730000: + Rec.Validate(Description, OverseasPurchaseTotalLbl); + end; + end; + + var + SalesStandardLbl: Label 'Sales 24 % ', MaxLength = 100; + SalesStandardFullLbl: Label 'Sales 24 % FULL', MaxLength = 100; + SalesStandardTotalLbl: Label 'Sales 24 % total', MaxLength = 100; + PurchaseStandardLbl: Label 'Purchase VAT 24 % Domestic ', MaxLength = 100; + PurchaseStandardFullLbl: Label 'Purchase VAT 24 % FULL Domestic', MaxLength = 100; + PurchaseStandardTotalLbl: Label 'Purchase 24 % Domestic Total ', MaxLength = 100; + DomesticStandardSalesLbl: Label 'Value of Domestic Sales 24 % ', MaxLength = 100; + DomesticStandardTotalLbl: Label 'Value of Domestic Sales 24 % total', MaxLength = 100; + EUStandardSuppliesLbl: Label 'Value of EU Supplies 24 % ', MaxLength = 100; + EUStandardSuppliesTotalLbl: Label 'Value of EU Supplies 24 % total', MaxLength = 100; + OverseasSalesValueLbl: Label 'Value of Overseas Sales 24 % ', MaxLength = 100; + OverseasSalesTotalLbl: Label 'Value of Overseas Sales 24 % total', MaxLength = 100; + DomesticStandardPurchaseLbl: Label 'Value of Domestic Purchases 24 % ', MaxLength = 100; + DomesticStandardPurchaseTotalLbl: Label 'Value of Domestic Purchases 24 % total', MaxLength = 100; + EUAcquisitionStandardLbl: Label 'Value of EU Acquisitions 24 % ', MaxLength = 100; + EUAcquisitionStandardTotalLbl: Label 'Value of EU Acquisitions 24 % Total', MaxLength = 100; + OverseasPurchaseValueLbl: Label 'Value of Overseas Purchases 24 % ', MaxLength = 100; + OverseasPurchaseTotalLbl: Label 'Value of Overseas Purchases 24 % total', MaxLength = 100; + EUStandardLbl: Label '24 % on EU Acquisitions etc.', MaxLength = 100; + EUStandardTotalLbl: Label '24 % on EU Acquisitions etc. total', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVatPostingGroupsIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVatPostingGroupsIS.Codeunit.al new file mode 100644 index 0000000000..f101a009cf --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVatPostingGroupsIS.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 14627 "Create Vat Posting Groups IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.FullNormal(), StrSubstNo(VATOnlyInvoicesDescriptionLbl, '24')); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.ServNormal(), StrSubstNo(MiscellaneousVATDescriptionLbl, '24')); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.Standard(), StrSubstNo(NormalVatDescriptionLbl, '24')); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure UpdateVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), CreateVATPostingGroups.Standard(), 24, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccount.PurchaseVAT25EU(), '', false); + ContosoPostingSetup.SetOverwriteData(false); + end; + + var + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Standard VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVatReportIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVatReportIS.Codeunit.al new file mode 100644 index 0000000000..971058720a --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/1.Setup Data/CreateVatReportIS.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 14631 "Create Vat Report IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateVatReportSetup(); + end; + + local procedure UpdateVatReportSetup() + var + VATReportSetup: Record "VAT Report Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + VATReportSetup.Get(); + VATReportSetup.Validate("VAT Return No. Series", CreateNoSeries.VATReturnsReports()); + VATReportSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateIS.Codeunit.al new file mode 100644 index 0000000000..249901d41c --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateIS.Codeunit.al @@ -0,0 +1,199 @@ +codeunit 14608 "Create Currency Ex. Rate IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 10048.8869, 10048.8869); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 10756.9348, 10756.9348); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 10331.5823, 10331.5823); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2348.9576, 2348.9576); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3446.7168, 3446.7168); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3176.4114, 3176.4114); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3949.182, 3949.182); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2463.9694, 2463.9694); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4340.1448, 4340.1448); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 5460.8031, 5460.8031); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 267.4838, 267.4838); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1173.71, 1173.71); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 112.7213, 112.7213); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 64.8936, 64.8936); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3028.7587, 3028.7587); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 880.6346, 880.6346); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1187.4307, 1187.4307); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 36.9237, 36.9237); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.97, 0.97); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 144.7184, 144.7184); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 58.3334, 58.3334); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 108.7924, 108.7924); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 827.3941, 827.3941); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 724.5312, 724.5312); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1814.7904, 1814.7904); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 3.7373, 3.7373); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 68.3346, 68.3346); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1031.1042, 1031.1042); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2917.1388, 2917.1388); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 134.6245, 134.6245); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1668.0767, 1668.0767); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 2.6385, 2.6385); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 102.738, 102.738); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 236.1505, 236.1505); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1836.9735, 1836.9735); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1275.2359, 1275.2359); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 994.4845, 994.4845); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3974.2994, 3974.2994); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 948.0482, 948.0482); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 154.695, 154.695); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6331.919, 6331.919); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 34.2908, 34.2908); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 5360.0284, 5360.0284); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.9869, 4.9869); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6519.9591, 6519.9591); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 48.2395, 48.2395); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 24071.1489, 24071.1489); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 73.4038, 73.4038); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 802.935, 802.935); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 8756.1113, 8756.1113); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1021.7146, 1021.7146); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6602.3535, 6602.3535); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 8749.7733, 8749.7733); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1052.8179, 1052.8179); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6814.4429, 6814.4429); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateCurrencyIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateCurrencyIS.Codeunit.al new file mode 100644 index 0000000000..fa74521a0f --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateCurrencyIS.Codeunit.al @@ -0,0 +1,75 @@ +codeunit 14623 "Create Currency IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.RUB(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, '', ''); + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec, '', ''); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; UnrealizedGainsAcc: Code[20]; UnrealizedLossesAcc: Code[20]) + begin + Currency.Validate("Unrealized Gains Acc.", UnrealizedGainsAcc); + Currency.Validate("Unrealized Losses Acc.", UnrealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateResourceIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateResourceIS.Codeunit.al new file mode 100644 index 0000000000..aa9d876ec3 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Finance/2.Master Data/CreateResourceIS.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 14614 "Create Resource IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, CityLbl, PostCodeLbl, 5000, 5500, 10000); + CreateResource.Lina(): + ValidateRecordFields(Rec, CityLbl, PostCodeLbl, 6000, 6600, 12100); + CreateResource.Marty(): + ValidateRecordFields(Rec, CityLbl, PostCodeLbl, 4500, 4950, 9000); + CreateResource.Terry(): + ValidateRecordFields(Rec, CityLbl, PostCodeLbl, 5000, 5500, 10000); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; PostCode: Code[20]; DirectUnitCost: Decimal; UnitCost: Decimal; UnitPrice: Decimal) + begin + Resource.Validate(City, City); + Resource.Validate("Post Code", PostCode); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + end; + + var + CityLbl: Label 'Reykjavik', MaxLength = 30, Locked = true; + PostCodeLbl: Label '101', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationIS.Codeunit.al new file mode 100644 index 0000000000..658520d0dc --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationIS.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 14607 "Create Company Information IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + begin + ValidateRecordsFields(CityLbl, PostCodeLbl); + end; + + local procedure ValidateRecordsFields(City: Text[30]; PostCode: Code[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCodeLbl); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'Vesturvík', Maxlength = 30, Locked = true; + PostCodeLbl: Label '999', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Foundation/1.Setup Data/CreatePostCodeIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Foundation/1.Setup Data/CreatePostCodeIS.Codeunit.al new file mode 100644 index 0000000000..ae7828df2a --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Foundation/1.Setup Data/CreatePostCodeIS.Codeunit.al @@ -0,0 +1,148 @@ +codeunit 14622 "Create Post Code IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostCodeIS: Codeunit "Contoso Post Code IS"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeIS.InsertPostCode('101', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('108', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('110', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('112', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('120', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('126', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('130', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('131', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('200', KopavogurLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('210', GarðabæLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('220', HafnafjordurLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('245', SandgerðiLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('300', AkranesLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('310', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('540', BlönduósLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('600', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('640', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('780', HöfníHornafirðiLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('810', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('900', VestmannaeyjarLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('999', VesturvíkLbl, CreateCountryRegion.IS()); + ContosoPostCodeIS.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeIS.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + end; + + var + ReykjavikLbl: Label 'Reykjavik', MaxLength = 30, Locked = true; + KopavogurLbl: Label 'Kopavogur', MaxLength = 30, Locked = true; + GarðabæLbl: Label 'Garðabæ', MaxLength = 30, Locked = true; + HafnafjordurLbl: Label 'Hafnafjordur', MaxLength = 30, Locked = true; + SandgerðiLbl: Label 'Sandgerði', MaxLength = 30, Locked = true; + AkranesLbl: Label 'Akranes', MaxLength = 30, Locked = true; + BlönduósLbl: Label 'Blönduós', MaxLength = 30; + HöfníHornafirðiLbl: Label 'Höfn í Hornafirði', MaxLength = 30, Locked = true; + VestmannaeyjarLbl: Label 'Vestmannaeyjar', MaxLength = 30, Locked = true; + VesturvíkLbl: Label 'Vesturvík', MaxLength = 30, Locked = true; + BirminghamLbl: Label 'Birmingham', MaxLength = 30, Locked = true; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/HR/1.Setup Data/CreateEmplPostingGroupIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/HR/1.Setup Data/CreateEmplPostingGroupIS.Codeunit.al new file mode 100644 index 0000000000..7e71573bb7 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/HR/1.Setup Data/CreateEmplPostingGroupIS.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 14610 "Create Empl. Posting Group IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeePostingGroup: Codeunit "Create Employee Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateEmployeePostingGroup(CreateEmployeePostingGroup.EmployeeExpenses(), CreateGLAccount.EmployeesPayable(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding()); + end; + + local procedure UpdateEmployeePostingGroup(EmployeePostingGroupCode: Code[20]; PayablesAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]) + var + EmployeePostingGroup: Record "Employee Posting Group"; + begin + EmployeePostingGroup.Get(EmployeePostingGroupCode); + EmployeePostingGroup.Validate("Payables Account", PayablesAccount); + EmployeePostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + EmployeePostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + EmployeePostingGroup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/HR/1.Setup Data/CreateEmployeeIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/HR/1.Setup Data/CreateEmployeeIS.Codeunit.al new file mode 100644 index 0000000000..63e8ad9b41 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/HR/1.Setup Data/CreateEmployeeIS.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 14634 "Create Employee IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployee(CreateEmployee.ManagingDirector()); + UpdateEmployee(CreateEmployee.SalesManager()); + UpdateEmployee(CreateEmployee.Designer()); + UpdateEmployee(CreateEmployee.ProductionAssistant()); + UpdateEmployee(CreateEmployee.ProductionManager()); + UpdateEmployee(CreateEmployee.Secretary()); + UpdateEmployee(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployee(EmployeeNo: Code[20]) + var + Employee: Record Employee; + CreateEmployee: Codeunit "Create Employee"; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate("Emplymt. Contract Code", ''); + Employee.Validate("Statistics Group Code", ''); + Employee.Validate("Union Code", ''); + Employee.Validate(Initials, GetInitials(Employee)); + if EmployeeNo = CreateEmployee.InventoryManager() then + Employee.Validate("Job Title", ProductionAssistantLbl); + Employee.Modify(true); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Inventory/2.Master Data/CreateItemIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Inventory/2.Master Data/CreateItemIS.Codeunit.al new file mode 100644 index 0000000000..bc1607456a --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Inventory/2.Master Data/CreateItemIS.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 14624 "Create Item IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 65260, 50900); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 12570, 9800); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 28270, 22050); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 12390, 9660); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 42240, 32960); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 12310, 0); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 3580, 2790); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 15250, 0); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 12570, 9800); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 8200, 0); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 12570, 9800); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 12570, 9800); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 15250, 0); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 12390, 9660); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 22290, 0); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 12390, 9660); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 12390, 9660); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 12570, 9800); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 91120, 71070); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 12390, 9660); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Inventory/2.Master Data/CreateLocationIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Inventory/2.Master Data/CreateLocationIS.Codeunit.al new file mode 100644 index 0000000000..06b73eae1c --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Inventory/2.Master Data/CreateLocationIS.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 14633 "Create Location IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMainLocation(); + end; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocaion: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocaion.EastLocation(), + CreateLocaion.WestLocation(): + ValidateRecordFields(Rec, CityLbl, PostCodeLbl); + end; + end; + + local procedure UpdateMainLocation() + var + Location: Record Location; + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Get(CreateLocaion.MainLocation()); + Location.Validate(City, CityLbl); + Location.Validate("Post Code", PostCodeLbl); + Location."Country/Region Code" := CreateCountryRegion.GB(); + Location.Modify(true); + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CreateCountryRegion.GB(); + end; + + var + CityLbl: Label 'Reykjavik', MaxLength = 30; + PostCodeLbl: Label '131', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueIS.Codeunit.al new file mode 100644 index 0000000000..4758b01b4b --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueIS.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 14619 "Create Purch. Dim. Value IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Purchase/2.Master Data/CreateVendorIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Purchase/2.Master Data/CreateVendorIS.Codeunit.al new file mode 100644 index 0000000000..d5f41d7cce --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Purchase/2.Master Data/CreateVendorIS.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 14620 "Create Vendor IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + Rec.Validate("VAT Registration No.", ExportFabrikamVatRegNoLbl); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, ReykjavikCityLbl, DomesticFirstUpVatRegNoLbl, PostCode108Lbl); + CreateVendor.EUGraphicDesign(): + Rec.Validate("VAT Registration No.", EUGraphicDesignVatRegNoLbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, ReykjavikCityLbl, DomesticWorldImporterVatRegNoLbl, PostCode120Lbl); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, ReykjavikCityLbl, DomesticNodPublisherVatRegNoLbl, PostCode131Lbl); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("VAT Registration No.", VatRegNo); + end; + + var + ReykjavikCityLbl: Label 'Reykjavik', MaxLength = 30, Locked = true; + PostCode108Lbl: Label '108', MaxLength = 20; + PostCode120Lbl: Label '120', MaxLength = 20; + PostCode131Lbl: Label '131', MaxLength = 20; + ExportFabrikamVatRegNoLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVatRegNoLbl: Label '274863274B01', MaxLength = 20; + EUGraphicDesignVatRegNoLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVatRegNoLbl: Label '197548769B01', MaxLength = 20; + DomesticNodPublisherVatRegNoLbl: Label '295267495B01', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/1.Setup Data/CreateReminderLevelIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/1.Setup Data/CreateReminderLevelIS.Codeunit.al new file mode 100644 index 0000000000..8b72450672 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/1.Setup Data/CreateReminderLevelIS.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 14615 "Create Reminder Level IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + ValidateRecordFields(Rec, 500); + if Rec."No." = 2 then + ValidateRecordFields(Rec, 1010); + if Rec."No." = 3 then + ValidateRecordFields(Rec, 1500); + end; + end; + end; + + procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFee: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFee); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateCustomerIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateCustomerIS.Codeunit.al new file mode 100644 index 0000000000..f2386968f4 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateCustomerIS.Codeunit.al @@ -0,0 +1,51 @@ +codeunit 14618 "Create Customer IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateLanguage: Codeunit "Create Language"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, ReykjavikCityLbl, DomesticAdatumCorporationVatRegNoLbl, PostCode810Lbl, CreateLanguage.ISL()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, ReykjavikCityLbl, DomesticTreyResearchVatRgeNoLbl, PostCode640Lbl, CreateLanguage.ISL()); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, MiamiCityLbl, ExportSchoolofArtVatRegNoLbl, USFL37125PostCodeLbl, CreateLanguage.ENU()); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, MunchenCityLbl, EUAlpineSkiHouseVatRegNoLbl, DE80807PostCodeLbl, CreateLanguage.DEU()); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, HafnafjordurCityLbl, DomesticRelecloudVatRegNoLbl, PostCode220Lbl, CreateLanguage.ISL()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; LanguageCode: Code[10]) + begin + Customer.Validate(City, City); + Customer.Validate("VAT Registration No.", VatRegNo); + Customer.Validate("Post Code", PostCode); + Customer.Validate("Language Code", LanguageCode); + end; + + var + ReykjavikCityLbl: Label 'Reykjavik', MaxLength = 30, Locked = true; + HafnafjordurCityLbl: Label 'Hafnafjordur', MaxLength = 30, Locked = true; + MiamiCityLbl: Label 'Miami', MaxLength = 30, Locked = true; + MunchenCityLbl: Label 'Munchen', MaxLength = 30, Locked = true; + DomesticAdatumCorporationVatRegNoLbl: Label '789456278', MaxLength = 20; + DomesticTreyResearchVatRgeNoLbl: Label '254687456', MaxLength = 20; + DomesticRelecloudVatRegNoLbl: Label '582048936', MaxLength = 20; + ExportSchoolofArtVatRegNoLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegNoLbl: Label '533435789', MaxLength = 20; + PostCode810Lbl: Label '810', MaxLength = 20; + PostCode640Lbl: Label '640', MaxLength = 20; + USFL37125PostCodeLbl: Label 'US-FL 37125', MaxLength = 20; + DE80807PostCodeLbl: Label 'DE-80807', MaxLength = 20; + PostCode220Lbl: Label '220', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateSalesDimValueIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateSalesDimValueIS.Codeunit.al new file mode 100644 index 0000000000..1410d31eb8 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateSalesDimValueIS.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 14616 "Create Sales Dim Value IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateShiptoAddressIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateShiptoAddressIS.Codeunit.al new file mode 100644 index 0000000000..f456840ec3 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoData/Sale/2.Master Data/CreateShiptoAddressIS.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 14617 "Create Ship-to Address IS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + CreateShiptoAddress.Cheltenham(), + CreateShiptoAddress.London(): + ValidateShiptoAddress(Rec, CityLbl, PostCodeLbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + CreateShiptoAddress.Fleet(), + CreateShiptoAddress.TWYCross(): + ValidateShiptoAddress(Rec, CityLbl, PostCodeLbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + var + CityLbl: Label 'Reykjavik', MaxLength = 30, Locked = true; + PostCodeLbl: Label '131', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoTool/Contoso Helpers/ContosoPostCodeIS.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoTool/Contoso Helpers/ContosoPostCodeIS.Codeunit.al new file mode 100644 index 0000000000..0529d62e56 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoTool/Contoso Helpers/ContosoPostCodeIS.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 14621 "Contoso Post Code IS" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoTool/ISContosoLocalization.Codeunit.al b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoTool/ISContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..de92de88d7 --- /dev/null +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/DemoTool/ISContosoLocalization.Codeunit.al @@ -0,0 +1,202 @@ +codeunit 14628 "IS Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResourceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Fixed Asset Module" then + FixedAssetModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + InventoryModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information IS"); + Codeunit.Run(Codeunit::"Create Post Code IS"); + Codeunit.Run(Codeunit::"Create Vat Posting Groups IS"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupIS: Codeunit "Create VAT Posting Groups IS"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + CreateVatPostingGroupIS.UpdateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create General Ledger Setup IS"); + Codeunit.Run(Codeunit::"Create Vat Report IS"); + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Currency Ex. Rate IS"); + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create FA Ins Jnl. Template IS"); + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line IS"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Location IS"); + end; + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Empl. Posting Group IS"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Employee IS"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateItemIS: Codeunit "Create Item IS"; + CreateBankAccountIS: Codeunit "Create Bank Account IS"; + CreateReminderLevelIS: Codeunit "Create Reminder Level IS"; + CreateCustomerIS: Codeunit "Create Customer IS"; + CreateSalesDimValueIS: Codeunit "Create Sales Dim Value IS"; + CreateShiptoAddressIS: Codeunit "Create Ship-to Address IS"; + CreateVendorIS: Codeunit "Create Vendor IS"; + CreatePurchDimValueIS: Codeunit "Create Purch. Dim. Value IS"; + CreateResourceIS: Codeunit "Create Resource IS"; + CreateCurrencyIS: Codeunit "Create Currency IS"; + CreateCurrencyExchRateIS: Codeunit "Create Currency Ex. Rate IS"; + CreateFADepreciationBookIS: Codeunit "Create FA Depreciation Book IS"; + CreateLocationIS: Codeunit "Create Location IS"; + CreateVATSetupPostingGrpIS: Codeunit "Create VAT Setup PostingGrpIS"; + CreateVATStatementIS: Codeunit "Create VAT Statement IS"; + CreateAccScheduleLineIS: Codeunit "Create Acc. Schedule Line IS"; + CreateGenJournalLineIS: Codeunit "Create Gen. Journal Line IS"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccountIS); + BindSubscription(CreateGenJournalLineIS) + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateItemIS); + BindSubscription(CreateLocationIS) + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustomerIS); + BindSubscription(CreateShiptoAddressIS); + BindSubscription(CreateSalesDimValueIS); + BindSubscription(CreateReminderLevelIS); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorIS); + BindSubscription(CreatePurchDimValueIS); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCurrencyIS); + BindSubscription(CreateCurrencyExchRateIS); + BindSubscription(CreateResourceIS); + BindSubscription(CreateVATSetupPostingGrpIS); + BindSubscription(CreateVATStatementIS); + BindSubscription(CreateAccScheduleLineIS); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateFADepreciationBookIS); + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateItemIS: Codeunit "Create Item IS"; + CreateBankAccountIS: Codeunit "Create Bank Account IS"; + CreateReminderLevelIS: Codeunit "Create Reminder Level IS"; + CreateCustomerIS: Codeunit "Create Customer IS"; + CreateSalesDimValueIS: Codeunit "Create Sales Dim Value IS"; + CreateShiptoAddressIS: Codeunit "Create Ship-to Address IS"; + CreateVendorIS: Codeunit "Create Vendor IS"; + CreatePurchDimValueIS: Codeunit "Create Purch. Dim. Value IS"; + CreateResourceIS: Codeunit "Create Resource IS"; + CreateCurrencyIS: Codeunit "Create Currency IS"; + CreateCurrencyExchRateIS: Codeunit "Create Currency Ex. Rate IS"; + CreateFADepreciationBookIS: Codeunit "Create FA Depreciation Book IS"; + CreateLocationIS: Codeunit "Create Location IS"; + CreateVATSetupPostingGrpIS: Codeunit "Create VAT Setup PostingGrpIS"; + CreateVATStatementIS: Codeunit "Create VAT Statement IS"; + CreateAccScheduleLineIS: Codeunit "Create Acc. Schedule Line IS"; + CreateGenJournalLineIS: Codeunit "Create Gen. Journal Line IS"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateGenJournalLineIS); + UnBindSubscription(CreateBankAccountIS); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnBindSubscription(CreateItemIS); + UnbindSubscription(CreateLocationIS); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnBindSubscription(CreateCustomerIS); + UnBindSubscription(CreateShiptoAddressIS); + UnBindSubscription(CreateSalesDimValueIS); + UnBindSubscription(CreateReminderLevelIS); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnBindSubscription(CreateVendorIS); + UnBindSubscription(CreatePurchDimValueIS); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnBindSubscription(CreateCurrencyIS); + UnBindSubscription(CreateCurrencyExchRateIS); + UnBindSubscription(CreateResourceIS); + UnbindSubscription(CreateVATSetupPostingGrpIS); + UnbindSubscription(CreateVATStatementIS); + UnbindSubscription(CreateAccScheduleLineIS); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnBindSubscription(CreateFADepreciationBookIS); + end; + end; +} \ No newline at end of file diff --git a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/app.json b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/app.json index aff66d8f28..f5aeb1545d 100644 --- a/Apps/IS/ContosoCoffeeDemoDatasetIS/app/app.json +++ b/Apps/IS/ContosoCoffeeDemoDatasetIS/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 14603, - "to": 14610 + "to": 14650 } ], "resourceExposurePolicy": { diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/CreateITGLAccounts.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/CreateITGLAccounts.Codeunit.al deleted file mode 100644 index 68cbd88d4f..0000000000 --- a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/CreateITGLAccounts.Codeunit.al +++ /dev/null @@ -1,115 +0,0 @@ -codeunit 12164 "Create IT GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '2310'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '5410'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '6110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '7110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '5610'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '5630'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '7291'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '7191'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7292'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7192'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '7293'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '7193'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '2130'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '7270'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '7170'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '2110'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '2111') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '6700'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7791'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7792'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7793'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7890'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7891'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '7892'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '7893'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '7894'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '2120'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '2140'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5730'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '2212'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '2231'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '6190'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '6620'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '7180'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '7620'); - end; -} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Bank/2.Master Data/CreateBankAccountIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Bank/2.Master Data/CreateBankAccountIT.Codeunit.al new file mode 100644 index 0000000000..5384115a98 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Bank/2.Master Data/CreateBankAccountIT.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 12209 "Create Bank Account IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -1447200, PostCodeLbl, CityLbl, '000009999888', '35678', '52714', '10180', 'G5271410180000009999888'); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, PostCodeLbl, CityLbl, '000009999888', '35678', '52714', '10180', 'G5271410180000009999888'); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; PostCode: Code[20]; City: Text[30]; BankAccountNo: Text[30]; BankBranchNo: Text[20]; ABI: Code[5]; CAB: Code[5]; BBAN: Code[30]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate(City, City); + BankAccount.Validate("Bank Account No.", BankAccountNo); + BankAccount.Validate("Bank Branch No.", BankBranchNo); + BankAccount.Validate(ABI, ABI); + BankAccount.Validate(CAB, CAB); + BankAccount.Validate(BBAN, BBAN); + end; + + var + + PostCodeLbl: Label '57100', MaxLength = 20, Locked = true; + CityLbl: Label 'Livorno', MaxLength = 30, Locked = true; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Bank/4.Historcial Data/CreateGenJournalLineIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Bank/4.Historcial Data/CreateGenJournalLineIT.Codeunit.al new file mode 100644 index 0000000000..2c7015b1a5 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Bank/4.Historcial Data/CreateGenJournalLineIT.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 12238 "Create Gen. Journal Line IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGenJournalLine(); + UpdateBankAccReconciliationLine(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -2757.62); + 20000: + Rec.Validate(Amount, -4136.43); + 30000: + Rec.Validate(Amount, -5515.24); + 40000: + Rec.Validate(Amount, -5515.24); + end; + end; + + local procedure UpdateGenJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.Get(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000); + if GenJournalLine."Account No." = '' then begin + GenJournalLine.Validate(Amount, 0); + GenJournalLine.Modify(true); + end; + end; + + local procedure UpdateBankAccReconciliationLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + BankAccount: Record "Bank Account"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccount.Get(CreateBankAccount.Checking()); + + BankAccReconciliationLine.Get(BankAccReconciliationLine."Statement Type"::"Bank Reconciliation", BankAccount."No.", BankAccount."Last Statement No.", 30000); + BankAccReconciliationLine.Validate("Transaction Text", DepositToAccountLbl); + BankAccReconciliationLine.Validate(Description, CopyStr(BankAccReconciliationLine."Transaction Text", 1, MaxStrLen(BankAccReconciliationLine.Description))); + BankAccReconciliationLine.Modify(true); + end; + + var + DeposittoAccountLbl: Label 'Deposit to Account 18/01/24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupIT.Codeunit.al new file mode 100644 index 0000000000..9decee2450 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupIT.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 12206 "Create Marketing Setup IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMarketingSetup(); + end; + + local procedure UpdateMarketingSetup() + var + MarketingSetup: Record "Marketing Setup"; + begin + MarketingSetup.Get(); + + MarketingSetup.Validate("Mergefield Language ID", 1040); + MarketingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/CRM/2.Master Data/CreateTerritoryIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/CRM/2.Master Data/CreateTerritoryIT.Codeunit.al new file mode 100644 index 0000000000..bb3a889c6b --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/CRM/2.Master Data/CreateTerritoryIT.Codeunit.al @@ -0,0 +1,169 @@ +codeunit 12230 "Create Territory IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.SetOverwriteData(true); + ContosoCRM.InsertTerritory(Abruzzo(), AbruzzoLbl); + ContosoCRM.InsertTerritory(Basilicata(), BasilicataLbl); + ContosoCRM.InsertTerritory(Calabria(), CalabriaLbl); + ContosoCRM.InsertTerritory(Campania(), CampaniaLbl); + ContosoCRM.InsertTerritory(Emromagna(), EmiliaRomagnaLbl); + ContosoCRM.InsertTerritory(Frvengiu(), FriuliVeneziaGiuliaLbl); + ContosoCRM.InsertTerritory(Lazio(), LazioLbl); + ContosoCRM.InsertTerritory(Liguria(), LiguriaLbl); + ContosoCRM.InsertTerritory(Marche(), MarcheLbl); + ContosoCRM.InsertTerritory(Molise(), MoliseLbl); + ContosoCRM.InsertTerritory(Piemonte(), PiemonteLbl); + ContosoCRM.InsertTerritory(Puglia(), PugliaLbl); + ContosoCRM.InsertTerritory(Sardegna(), SardegnaLbl); + ContosoCRM.InsertTerritory(Sicilia(), SiciliaLbl); + ContosoCRM.InsertTerritory(Toscana(), ToscanaLbl); + ContosoCRM.InsertTerritory(Traltoadig(), TrentinoAltoAdigeLbl); + ContosoCRM.InsertTerritory(Umbria(), UmbriaLbl); + ContosoCRM.InsertTerritory(Valdaosta(), ValleDAostaLbl); + ContosoCRM.InsertTerritory(Veneto(), VenetoLbl); + ContosoCRM.SetOverwriteData(false); + end; + + procedure Abruzzo(): Code[10] + begin + exit(AbruzzoTok); + end; + + procedure Basilicata(): Code[10] + begin + exit(BasilicataTok); + end; + + procedure Calabria(): Code[10] + begin + exit(CalabriaTok); + end; + + procedure Campania(): Code[10] + begin + exit(CampaniaTok); + end; + + procedure Emromagna(): Code[10] + begin + exit(EmromagnaTok); + end; + + procedure Frvengiu(): Code[10] + begin + exit(FrvengiuTok); + end; + + procedure Lazio(): Code[10] + begin + exit(LazioTok); + end; + + procedure Liguria(): Code[10] + begin + exit(LiguriaTok); + end; + + procedure Marche(): Code[10] + begin + exit(MarcheTok); + end; + + procedure Molise(): Code[10] + begin + exit(MoliseTok); + end; + + procedure Piemonte(): Code[10] + begin + exit(PiemonteTok); + end; + + procedure Puglia(): Code[10] + begin + exit(PugliaTok); + end; + + procedure Sardegna(): Code[10] + begin + exit(SardegnaTok); + end; + + procedure Sicilia(): Code[10] + begin + exit(SiciliaTok); + end; + + procedure Toscana(): Code[10] + begin + exit(ToscanaTok); + end; + + procedure Traltoadig(): Code[10] + begin + exit(TraltoadigTok); + end; + + procedure Umbria(): Code[10] + begin + exit(UmbriaTok); + end; + + procedure Valdaosta(): Code[10] + begin + exit(ValdaostaTok); + end; + + procedure Veneto(): Code[10] + begin + exit(VenetoTok); + end; + + + var + AbruzzoTok: Label 'ABRUZZO', MaxLength = 10; + BasilicataTok: Label 'BASILICATA', MaxLength = 10; + CalabriaTok: Label 'CALABRIA', MaxLength = 10; + CampaniaTok: Label 'CAMPANIA', MaxLength = 10; + EmromagnaTok: Label 'EMROMAGNA', MaxLength = 10; + FrvengiuTok: Label 'FRVENGIU', MaxLength = 10; + LazioTok: Label 'LAZIO', MaxLength = 10; + LiguriaTok: Label 'LIGURIA', MaxLength = 10; + MarcheTok: Label 'MARCHE', MaxLength = 10; + MoliseTok: Label 'MOLISE', MaxLength = 10; + PiemonteTok: Label 'PIEMONTE', MaxLength = 10; + PugliaTok: Label 'PUGLIA', MaxLength = 10; + SardegnaTok: Label 'SARDEGNA', MaxLength = 10; + SiciliaTok: Label 'SICILIA', MaxLength = 10; + ToscanaTok: Label 'TOSCANA', MaxLength = 10; + TraltoadigTok: Label 'TRALTOADIG', MaxLength = 10; + UmbriaTok: Label 'UMBRIA', MaxLength = 10; + ValdaostaTok: Label 'VALDAOSTA', MaxLength = 10; + VenetoTok: Label 'VENETO', MaxLength = 10; + AbruzzoLbl: Label 'Abruzzo', MaxLength = 50; + BasilicataLbl: Label 'Basilicata', MaxLength = 50; + CalabriaLbl: Label 'Calabria', MaxLength = 50; + CampaniaLbl: Label 'Campania', MaxLength = 50; + EmiliaRomagnaLbl: Label 'Emilia Romagna', MaxLength = 50; + FriuliVeneziaGiuliaLbl: Label 'Friuli Venezia Giulia', MaxLength = 50; + LazioLbl: Label 'Lazio', MaxLength = 50; + LiguriaLbl: Label 'Liguria', MaxLength = 50; + MarcheLbl: Label 'Marche', MaxLength = 50; + MoliseLbl: Label 'Molise', MaxLength = 50; + PiemonteLbl: Label 'Piemonte', MaxLength = 50; + PugliaLbl: Label 'Puglia', MaxLength = 50; + SardegnaLbl: Label 'Sardegna', MaxLength = 50; + SiciliaLbl: Label 'Sicilia', MaxLength = 50; + ToscanaLbl: Label 'Toscana', MaxLength = 50; + TrentinoAltoAdigeLbl: Label 'Trentino Alto Adige', MaxLength = 50; + UmbriaLbl: Label 'Umbria', MaxLength = 50; + ValleDAostaLbl: Label 'Valle d''Aosta', MaxLength = 50; + VenetoLbl: Label 'Veneto', MaxLength = 50; + +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineIT.Codeunit.al new file mode 100644 index 0000000000..12d2a7bdfe --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineIT.Codeunit.al @@ -0,0 +1,101 @@ +codeunit 12235 "Create Acc. Schedule Line IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + Rec.Validate("Hide Currency Symbol", true); + 60000: + Rec.Validate("Hide Currency Symbol", true); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal() + '|' + CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '10' + '..' + '30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFieldsReducedTrialBalance(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, TotalRevenueLbl); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + Rec.Validate("Hide Currency Symbol", true); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses() + '|' + CreateGLAccount.TotalPersonnelExpenses() + '|' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 90000: + ValidateRecordFields(Rec, CreateGLAccount.NetIncomeBeforeTaxes(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + local procedure ValidateRecordFieldsReducedTrialBalance(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean; Description: Text[100]) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Description, Description); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateCurrencyIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateCurrencyIT.Codeunit.al new file mode 100644 index 0000000000..1a79155757 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateCurrencyIT.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 12242 "Create Currency IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Currency: Record Currency; + CreateGLAccount: Codeunit "Create G/L Account"; + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + begin + ContosoCurrency.SetOverwriteData(true); + ContosoCurrency.InsertCurrency(CreateCurrency.GBP(), '826', BritishPoundLbl, '', CreateGLAccount.RealizedFXGains(), '', CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.00001, false, '2:2', '2:5'); + ContosoCurrency.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record Currency) + begin + ValidateRecordFields(Rec); + end; + + local procedure ValidateRecordFields(var Currency: Record Currency) + begin + Currency.Validate("Unrealized Gains Acc.", ''); + Currency.Validate("Unrealized Losses Acc.", ''); + end; + + var + BritishpoundLbl: Label 'Pound Sterling'; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchIT.Codeunit.al new file mode 100644 index 0000000000..d056bdbd88 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchIT.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 12225 "Create Gen Journal Batch IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Batch", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalBatch(var Rec: Record "Gen. Journal Batch") + var + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + if (Rec."Journal Template Name" = CreateGenJournalBatch.General()) and (Rec.Name = CreateGenJournalBatch.Default()) then + Rec.Validate("No. Series", CreateNoSeries.GeneralJournal()); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupIT.Codeunit.al new file mode 100644 index 0000000000..5eb07e4a6c --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupIT.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 12168 "Create General Ledger Setup IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("EMU Currency", true); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.EUR()); + GeneralLedgerSetup.Validate("Show Amounts", GeneralLedgerSetup."Show Amounts"::"Debit/Credit Only"); + GeneralLedgerSetup.Validate("Use Document Date in Currency", true); + GeneralLedgerSetup.Validate("Local Currency Symbol", '€'); + GeneralLedgerSetup.Validate("Local Currency Description", EuroLbl); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Modify(true); + end; + + var + EuroLbl: Label 'Euro', MaxLength = 60; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateVATPostingGroupsIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateVATPostingGroupsIT.Codeunit.al new file mode 100644 index 0000000000..819868de31 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateVATPostingGroupsIT.Codeunit.al @@ -0,0 +1,214 @@ +codeunit 12213 "Create VAT Posting Groups IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + procedure InsertVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateITGLAccounts: Codeunit "Create IT GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Reduced(), '', '', CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Standard(), '', '', CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Zero(), '', '', CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), E13(), CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), E13(), 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), IND50(), '', CreateITGLAccounts.PurchaseVat20Perc(), IND50(), 20, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), CreateVATPostingGroups.Standard(), 25, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', CreateVATPostingGroups.zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), CreateVATPostingGroups.Standard(), 20, Enum::"Tax Calculation Type"::"Reverse Charge VAT", '', CreateITGLAccounts.PurchaseVat20PercEu(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Zero(), CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', CreateVATPostingGroups.zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), CreateVATPostingGroups.Reduced(), 10, Enum::"Tax Calculation Type"::"Reverse Charge VAT", '', CreateGLAccount.PurchaseVAT10EU(), CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), CreateVATPostingGroups.Reduced(), 10, Enum::"Tax Calculation Type"::"Normal VAT", '', '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), CreateVATPostingGroups.Standard(), 20, Enum::"Tax Calculation Type"::"Normal VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Zero(), CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", '', '', CreateVATPostingGroups.zero(), false); + ContosoPostingSetup.SetOverwriteData(false); + + UpdateVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), CreateGLAccount.CustomerPrepaymentsVAT10(), CreateGLAccount.VendorPrepaymentsVAT10(), 100); + UpdateVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), CreateITGLAccounts.CustomerPrepaymentsVat20Perc(), CreateITGLAccounts.VendorPrepaymentsVat20Perc(), 100); + UpdateVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), CreateGLAccount.CustomerPrepaymentsVAT0(), CreateGLAccount.VendorPrepaymentsVAT(), 100); + UpdateVATPostingSetup(CreateVATPostingGroups.Domestic(), E13(), '', '', 100); + UpdateVATPostingSetup(CreateVATPostingGroups.Domestic(), IND50(), '', '', 50); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Business Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATBusPostingGroup(var Rec: Record "VAT Business Posting Group") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateNoSeriesIT: Codeunit "Create No. Series IT"; + begin + case Rec.Code of + CreateVATPostingGroups.Domestic(): + ValidateRecordFieldsVATBusPostingGroup(Rec, CreateNoSeriesIT.InvCrMemoVATNoforItalianCust(), CreateNoSeriesIT.InvCrMemoVATNoforItalianVend()); + CreateVATPostingGroups.EU(): + ValidateRecordFieldsVATBusPostingGroup(Rec, CreateNoSeriesIT.InvCrMemoVATNoforEUCust(), CreateNoSeriesIT.InvCrMemoVATNoforEUVend()); + CreateVATPostingGroups.Export(): + ValidateRecordFieldsVATBusPostingGroup(Rec, CreateNoSeriesIT.InvCrMemoVATNoforExtraEUCustomers(), CreateNoSeriesIT.InvCrMemoVATNoforExtraEUVendors()); + end; + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Product Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATProductPostingGroup(var Rec: Record "VAT Product Posting Group") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + case Rec.Code of + CreateVATPostingGroups.FullNormal(): + Rec.Validate(Description, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '20')); + CreateVATPostingGroups.Reduced(): + Rec.Validate(Description, StrSubstNo(ReducedVatDescriptionLbl, '10')); + CreateVATPostingGroups.ServNormal(): + Rec.Validate(Description, StrSubstNo(MiscellaneousVATDescriptionLbl, '20')); + CreateVATPostingGroups.Standard(): + Rec.Validate(Description, StrSubstNo(NormalVatDescriptionLbl, '20')); + end; + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATPostingSetup(var Rec: Record "VAT Posting Setup") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + if Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Standard() then + case Rec."VAT Bus. Posting Group" of + CreateVATPostingGroups.Domestic(), + CreateVATPostingGroups.EU(), + CreateVATPostingGroups.Export(): + ValidateRecFields(Rec, 20, 100); + '': + Rec.Validate(Description, ''); + end; + + if Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Zero() then + case Rec."VAT Bus. Posting Group" of + CreateVATPostingGroups.Domestic(), + CreateVATPostingGroups.EU(), + CreateVATPostingGroups.Export(): + ValidateRecFields(Rec, 0, 100); + '': + Rec.Validate(Description, ''); + end; + + if Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Reduced() then + case Rec."VAT Bus. Posting Group" of + CreateVATPostingGroups.Domestic(), + CreateVATPostingGroups.EU(): + ValidateRecFields(Rec, 0, 100); + CreateVATPostingGroups.Export(): + ValidateRecFields(Rec, 10, 100); + '': + Rec.Validate(Description, ''); + end; + end; + + procedure E13(): Code[20] + begin + exit(E13Tok); + end; + + procedure IND50(): Code[20] + begin + exit(IND50Tok); + end; + + procedure IND100(): Code[20] + begin + exit(IND100Tok); + end; + + procedure NI8(): Code[20] + begin + exit(NI8Tok); + end; + + procedure VAT0(): Code[20] + begin + exit(VAT0Tok); + end; + + procedure VAT04(): Code[20] + begin + exit(VAT04Tok); + end; + + procedure UpdateVATPostingSetupIT() + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + if VATPostingSetup.FindSet() then + repeat + VATPostingSetup.Validate(Description, ''); + VATPostingSetup.Validate("Tax Category", ''); + VATPostingSetup."VAT Clause Code" := ''; + VATPostingSetup.Modify(true); + until VATPostingSetup.Next() = 0; + end; + + local procedure UpdateVATPostingSetup(VATBusinessGroupCode: Code[20]; VATProductGroupCode: Code[20]; SalesPrepaymentsAccountNo: Code[20]; PurchasePrepaymentsAccountNo: Code[20]; DeductiblePerc: Decimal) + var + VATPostingSetup: Record "VAT Posting Setup"; + begin + if VATPostingSetup.Get(VATBusinessGroupCode, VATProductGroupCode) then begin + VATPostingSetup.Validate("Sales Prepayments Account", SalesPrepaymentsAccountNo); + VATPostingSetup.Validate("Purch. Prepayments Account", PurchasePrepaymentsAccountNo); + VATPostingSetup.Validate("Deductible %", DeductiblePerc); + VATPostingSetup.Modify(true); + end; + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(E13(), TaxExemptArt13Lbl); + ContosoPostingGroup.InsertVATProductPostingGroup(IND50(), OrdVat2050NondeductibleLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(IND100(), OrdVat20100NondeductibleLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(NI8(), NonTaxableArt81Lbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT0(), ZeroTaxExemptNIFciOthersLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT04(), MinimumVat4Lbl); + end; + + local procedure ValidateRecordFieldsVATBusPostingGroup(var VATBusinessPostingGroup: Record "VAT Business Posting Group"; DefaultSalesOperationType: Code[20]; DefaultPurchOperationType: Code[20]) + begin + VATBusinessPostingGroup.Validate("Default Sales Operation Type", DefaultSalesOperationType); + VATBusinessPostingGroup.Validate("Default Purch. Operation Type", DefaultPurchOperationType); + end; + + local procedure ValidateRecFields(var VATPostingSetup: Record "VAT Posting Setup"; VATPerc: Decimal; DeductiblePerc: Decimal) + begin + VATPostingSetup.Validate(Description, ''); + VATPostingSetup.Validate("VAT Clause Code", ''); + VATPostingSetup.Validate("Tax Category", ''); + VATPostingSetup.Validate("VAT %", VATPerc); + VATPostingSetup.Validate("Deductible %", DeductiblePerc); + VATPostingSetup.Validate("EU Service", false); + end; + + var + E13Tok: Label 'E13', MaxLength = 20, Locked = true; + NI8Tok: Label 'NI8', MaxLength = 20, Locked = true; + VAT04Tok: Label 'VAT04', MaxLength = 20, Locked = true; + VAT0Tok: Label 'VAT0', MaxLength = 20, Locked = true; + IND50Tok: Label 'IND50', MaxLength = 20, Locked = true; + IND100Tok: Label 'IND100', MaxLength = 20, Locked = true; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Ordinary VAT % - %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Reduced VAT % - %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + TaxExemptArt13Lbl: Label 'Tax exempt - art. 13', MaxLength = 100; + OrdVat20100NondeductibleLbl: Label 'Ord. VAT % (20%) - 100% Nondeductible', MaxLength = 100; + OrdVat2050NondeductibleLbl: Label 'Ord. VAT % (20%) - 50% Nondeductible', MaxLength = 100; + NonTaxableArt81Lbl: Label 'Non Taxable - Art. 8/1', MaxLength = 100; + ZeroTaxExemptNIFciOthersLbl: Label 'Zero % (Tax exempt/N.I./FCI/Others)', MaxLength = 100; + MinimumVat4Lbl: Label 'Minimum VAT % - 4%', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostingGrpIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostingGrpIT.Codeunit.al new file mode 100644 index 0000000000..f2bd2fc05e --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/1.Setup Data/CreateVATSetupPostingGrpIT.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 12252 "Create VATSetupPostingGrp. IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Setup Posting Groups", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatSetupPostingGroup(var Rec: Record "VAT Setup Posting Groups") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateITGLAccounts: Codeunit "Create IT GL Accounts"; + begin + case Rec."VAT Prod. Posting Group" of + CreateVATPostingGroups.FullNormal(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(VATOnlyInvoicesDescriptionLbl, '20')); + CreateVATPostingGroups.ServNormal(): + Rec.Validate("VAT Prod. Posting Grp Desc.", StrSubstNo(MiscellaneousVATDescriptionLbl, '20')); + CreateVATPostingGroups.Standard(): + ValidateRecordFields(Rec, CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), 20); + CreateVATPostingGroups.Zero(): + ValidateRecordFields(Rec, CreateITGLAccounts.SalesVat20Perc(), CreateITGLAccounts.PurchaseVat20Perc(), 0); + end; + end; + + local procedure ValidateRecordFields(var VATSetupPostingGroups: Record "VAT Setup Posting Groups"; SalesVATAccount: Code[20]; PurchaseVATAccount: Code[20]; VATPerc: Decimal) + begin + VATSetupPostingGroups.Validate("Sales VAT Account", SalesVATAccount); + VATSetupPostingGroups.Validate("Purchase VAT Account", PurchaseVATAccount); + VATSetupPostingGroups.Validate("VAT %", VATPerc); + end; + + var + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateBillCodeIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateBillCodeIT.Codeunit.al new file mode 100644 index 0000000000..c8bb3de76b --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateBillCodeIT.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 12233 "Create Bill Code IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBill: Codeunit "Contoso Bill"; + CreateNoSeriesIT: Codeunit "Create No. Series IT"; + CreateSourceCodeIT: Codeunit "Create Source Code IT"; + CreateITGLAccounts: Codeunit "Create IT GL Accounts"; + begin + ContosoBill.InsertBillCode(BB(), BankTransferLbl, false, false, '', '', '', '', '', CreateNoSeriesIT.VendorBillsBRNo(), CreateNoSeriesIT.VendorBillsBRList(), CreateSourceCodeIT.BankTransf()); + ContosoBill.InsertBillCode(RB(), CustomerBillLbl, true, true, CreateITGLAccounts.ExpenseBills(), CreateNoSeriesIT.TemporaryCustomerBillNo(), CreateNoSeriesIT.CustBills(), CreateNoSeriesIT.CustomerBillListJnl(), CreateSourceCodeIT.RIBA(), '', '', ''); + end; + + procedure BB(): Code[20] + begin + exit(BBTok); + end; + + procedure RB(): Code[20] + begin + exit(RBTok); + end; + + var + RBTok: Label 'RB', MaxLength = 20; + BBTok: Label 'BB', MaxLength = 20; + BankTransferLbl: Label 'Bank Transfer', MaxLength = 30; + CustomerBillLbl: Label 'Customer Bill', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateIT.Codeunit.al new file mode 100644 index 0000000000..c2872c4c41 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateIT.Codeunit.al @@ -0,0 +1,193 @@ +codeunit 12212 "Create Currency Ex. Rate IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + date: Date; + begin + date := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 165.793, 165.793); + date := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 159.2372, 159.2372); + date := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 154.8801, 154.8801); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 12.3754, 12.3754); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.7473, 15.7473); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 101.7599, 101.7599); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 16.2267, 16.2267); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 105.0287, 105.0287); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateITGLAccounts.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateITGLAccounts.Codeunit.al new file mode 100644 index 0000000000..4295356d2d --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateITGLAccounts.Codeunit.al @@ -0,0 +1,605 @@ +codeunit 12164 "Create IT GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '2310'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '5410'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '6110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '7110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '5610'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '5630'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '7291'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '7191'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7292'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7192'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '7293'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '7193'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '2130'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '7270'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '7170'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '2110'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '2111') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '6700'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7791'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7792'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7793'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7890'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7891'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '7892'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '7893'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '7894'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '2120'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '2140'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5730'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '2212'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '2231'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '6190'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '6620'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '7180'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '7620'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), ''); + + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforIT() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SummaryAccountName(), '010000'); + ContosoGLAccount.AddAccountForLocalization(BalanceName(), '010010'); + ContosoGLAccount.AddAccountForLocalization(OpeningBalanceName(), '010011'); + ContosoGLAccount.AddAccountForLocalization(ClosingBalanceName(), '010012'); + ContosoGLAccount.AddAccountForLocalization(BalanceSheetTotalName(), '010099'); + ContosoGLAccount.AddAccountForLocalization(GainLossName(), '010111'); + ContosoGLAccount.AddAccountForLocalization(IncomeStatementTotalName(), '010199'); + ContosoGLAccount.AddAccountForLocalization(SummaryAccountTotalName(), '010999'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVat20PercName(), '2430'); + ContosoGLAccount.AddAccountForLocalization(WIPJobSalesAssetsName(), '2211'); + ContosoGLAccount.AddAccountForLocalization(BillsName(), '2450'); + ContosoGLAccount.AddAccountForLocalization(BillsForCollectionName(), '2460'); + ContosoGLAccount.AddAccountForLocalization(BillsForDiscountName(), '2470'); + ContosoGLAccount.AddAccountForLocalization(BillsSubjToCollName(), '2480'); + ContosoGLAccount.AddAccountForLocalization(ExpenseBillsName(), '2490'); + ContosoGLAccount.AddAccountForLocalization(BillsTotalName(), '2499'); + ContosoGLAccount.AddAccountForLocalization(GainForTheYearName(), '3130'); + ContosoGLAccount.AddAccountForLocalization(LossForTheYearName(), '3140'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedName(), '40450'); + ContosoGLAccount.AddAccountForLocalization(JobCostsAppliedName(), '50399'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVat20PercName(), '5380'); + ContosoGLAccount.AddAccountForLocalization(SalesVat20PercName(), '5610'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat20PercEuName(), '5620'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat20PercName(), '5630'); + ContosoGLAccount.AddAccountForLocalization(IncomeStatementBeginTotalName(), '010100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), '6000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '10910'); + ContosoGLAccount.AddAccountForLocalization(InvoicedJobSalesAssetsName(), '10920'); + ContosoGLAccount.AddAccountForLocalization(AccruedJobCostsAssetsName(), '10940'); + ContosoGLAccount.AddAccountForLocalization(WIPJobCostsAssetsName(), '10950'); + ContosoGLAccount.AddAccountForLocalization(JobSalesIncomeName(), '40250'); + ContosoGLAccount.AddAccountForLocalization(JobCostsIncomeName(), '50300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ''); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + GLAccountCategory: Record "G/L Account Category"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + SubCategory: Text[80]; + begin + ContosoGLAccount.SetOverwriteData(true); + ContosoGLAccount.InsertGLAccount(SummaryAccount(), SummaryAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Balance(), BalanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRetEarnings(), 80); + ContosoGLAccount.InsertGLAccount(OpeningBalance(), OpeningBalanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClosingBalance(), ClosingBalanceName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BalanceSheetTotal(), BalanceSheetTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"End-Total", '', '', 0, '010010..010099', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainLoss(), GainLossName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncomeStatementTotal(), IncomeStatementTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"End-Total", '', '', 0, '010100..010199', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SummaryAccountTotal(), SummaryAccountTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"End-Total", '', '', 0, '010000..010999', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVat20Perc(), VendorPrepaymentsVat20PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Standard(), false, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetCurrentAssets(), 80); + ContosoGLAccount.InsertGLAccount(Bills(), BillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsForCollection(), BillsForCollectionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsForDiscount(), BillsForDiscountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsSubjToColl(), BillsSubjToCollName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ExpenseBills(), ExpenseBillsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BillsTotal(), BillsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, '2450..2499', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetRetEarnings(), 80); + ContosoGLAccount.InsertGLAccount(GainForTheYear(), GainForTheYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LossForTheYear(), LossForTheYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetJobSalesContra(), 80); + ContosoGLAccount.InsertGLAccount(JobSalesApplied(), JobSalesAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(JobCostsApplied(), JobCostsAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVat20Perc(), CustomerPrepaymentsVat20PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesVat20Perc(), SalesVat20PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(PurchaseVat20PercEu(), PurchaseVat20PercEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVat20Perc(), PurchaseVat20PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeStatementBeginTotal(), IncomeStatementBeginTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvoicedJobSalesAssets(), InvoicedJobSalesAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedJobCostsAssets(), AccruedJobCostsAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPJobCostsAssets(), WIPJobCostsAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPJobSalesAssets(), WIPJobSalesAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchasePrepaymentsTotal(), CreateGLAccount.PurchasePrepaymentsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PurchasePrepayments() + '..' + CreateGLAccount.PurchasePrepaymentsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetIncomeJobs(), 80); + ContosoGLAccount.InsertGLAccount(JobSalesIncome(), JobSalesIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetJobsCost(), 80); + ContosoGLAccount.InsertGLAccount(JobCostsIncome(), JobCostsIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.SetOverwriteData(false); + + UpdateAPIAccountTypeAndDirectPostingOnGL(); + UpdateDebitCreditOnGL(); + end; + + procedure IncomeStatementBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeStatementBeginTotalName())); + end; + + procedure IncomeStatementBeginTotalName(): Text[100] + begin + exit(IncomeStatementBeginTotalLbl); + end; + + procedure SummaryAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SummaryAccountName())); + end; + + procedure SummaryAccountName(): Text[100] + begin + exit(SummaryAccountTok); + end; + + procedure Balance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BalanceName())); + end; + + procedure BalanceName(): Text[100] + begin + exit(BalanceTok); + end; + + procedure OpeningBalance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OpeningBalanceName())); + end; + + procedure OpeningBalanceName(): Text[100] + begin + exit(OpeningBalanceTok); + end; + + procedure ClosingBalance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClosingBalanceName())); + end; + + procedure ClosingBalanceName(): Text[100] + begin + exit(ClosingBalanceTok); + end; + + procedure BalanceSheetTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BalanceSheetTotalName())); + end; + + procedure BalanceSheetTotalName(): Text[100] + begin + exit(BalanceSheetTotalTok); + end; + + procedure GainLoss(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainLossName())); + end; + + procedure GainLossName(): Text[100] + begin + exit(GainLossTok); + end; + + procedure IncomeStatementTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeStatementTotalName())); + end; + + procedure IncomeStatementTotalName(): Text[100] + begin + exit(IncomeStatementTotalTok); + end; + + procedure SummaryAccountTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SummaryAccountTotalName())); + end; + + procedure SummaryAccountTotalName(): Text[100] + begin + exit(SummaryAccountTotalTok); + end; + + procedure VendorPrepaymentsVat20Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVat20PercName())); + end; + + procedure VendorPrepaymentsVat20PercName(): Text[100] + begin + exit(VendorPrepaymentsVat20PercTok); + end; + + procedure Bills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsName())); + end; + + procedure BillsName(): Text[100] + begin + exit(BillsTok); + end; + + procedure BillsForCollection(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsForCollectionName())); + end; + + procedure BillsForCollectionName(): Text[100] + begin + exit(BillsForCollectionTok); + end; + + procedure BillsForDiscount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsForDiscountName())); + end; + + procedure BillsForDiscountName(): Text[100] + begin + exit(BillsForDiscountTok); + end; + + procedure BillsSubjToColl(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsSubjToCollName())); + end; + + procedure BillsSubjToCollName(): Text[100] + begin + exit(BillsSubjToCollTok); + end; + + procedure ExpenseBills(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpenseBillsName())); + end; + + procedure ExpenseBillsName(): Text[100] + begin + exit(ExpenseBillsTok); + end; + + procedure BillsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BillsTotalName())); + end; + + procedure BillsTotalName(): Text[100] + begin + exit(BillsTotalTok); + end; + + procedure GainForTheYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainForTheYearName())); + end; + + procedure GainForTheYearName(): Text[100] + begin + exit(GainForTheYearTok); + end; + + procedure LossForTheYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LossForTheYearName())); + end; + + procedure LossForTheYearName(): Text[100] + begin + exit(LossForTheYearTok); + end; + + procedure JobSalesApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedName())); + end; + + procedure JobSalesAppliedName(): Text[100] + begin + exit(JobSalesAppliedTok); + end; + + procedure JobCostsApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsAppliedName())); + end; + + procedure JobCostsAppliedName(): Text[100] + begin + exit(JobCostsAppliedTok); + end; + + procedure CustomerPrepaymentsVat20Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVat20PercName())); + end; + + procedure CustomerPrepaymentsVat20PercName(): Text[100] + begin + exit(CustomerPrepaymentsVat20PercTok); + end; + + procedure SalesVat20Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVat20PercName())); + end; + + procedure SalesVat20PercName(): Text[100] + begin + exit(SalesVat20PercTok); + end; + + procedure PurchaseVat20PercEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat20PercEuName())); + end; + + procedure PurchaseVat20PercEuName(): Text[100] + begin + exit(PurchaseVat20PercEuTok); + end; + + procedure PurchaseVat20Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat20PercName())); + end; + + procedure PurchaseVat20PercName(): Text[100] + begin + exit(PurchaseVat20PercTok); + end; + + procedure WIPJobSalesAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPJobSalesAssetsName())); + end; + + procedure WIPJobSalesAssetsName(): Text[100] + begin + exit(WIPJobSalesAssetsTok); + end; + + procedure AccruedJobCostsAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedJobCostsAssetsName())); + end; + + procedure AccruedJobCostsAssetsName(): Text[100] + begin + exit(AccruedJobCostsAssetsTok); + end; + + procedure InvoicedJobSalesAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoicedJobSalesAssetsName())); + end; + + procedure InvoicedJobSalesAssetsName(): Text[100] + begin + exit(InvoicedJobSalesAssetsTok); + end; + + procedure WIPJobCostsAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPJobCostsAssetsName())); + end; + + procedure WIPJobCostsAssetsName(): Text[100] + begin + exit(WIPJobCostsAssetsTok); + end; + + procedure JobSalesIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesIncomeName())); + end; + + procedure JobSalesIncomeName(): Text[100] + begin + exit(JobSalesIncomeTok); + end; + + procedure JobCostsIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsIncomeName())); + end; + + procedure JobCostsIncomeName(): Text[100] + begin + exit(JobCostsIncomeTok); + end; + + local procedure UpdateDebitCreditOnGL() + var + GLAccount: Record "G/L Account"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateDebitCreditOnGLAccount(CreateGLAccount.WIPJobSales(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(InvoicedJobSalesAssets(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(AccruedJobCostsAssets(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(JobSalesIncome(), GLAccount."Debit/Credit"::Credit); + UpdateDebitCreditOnGLAccount(JobSalesApplied(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(JobCostsIncome(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(JobCostsApplied(), GLAccount."Debit/Credit"::Credit); + UpdateDebitCreditOnGLAccount(WIPJobCostsAssets(), GLAccount."Debit/Credit"::Debit); + end; + + local procedure UpdateDebitCreditOnGLAccount(GLAccountNo: Code[20]; DebitCredit: Option) + var + GLAccount: Record "G/L Account"; + begin + GlAccount.Get(GLAccountNo); + + GLAccount.Validate("Debit/Credit", DebitCredit); + GLAccount.Modify(true); + end; + + local procedure UpdateAPIAccountTypeAndDirectPostingOnGL() + begin + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(SummaryAccount(), Enum::"G/L Account Type"::Posting, true); + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(Balance(), Enum::"G/L Account Type"::Posting, true); + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(BalanceSheetTotal(), Enum::"G/L Account Type"::Posting, true); + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(IncomeStatementBeginTotal(), Enum::"G/L Account Type"::Posting, true); + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(IncomeStatementTotal(), Enum::"G/L Account Type"::Posting, true); + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(SummaryAccountTotal(), Enum::"G/L Account Type"::Posting, true); + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(Bills(), Enum::"G/L Account Type"::Posting, true); + UpdateAPIAccountTypeAndDirectPostingOnGLAccount(BillsTotal(), Enum::"G/L Account Type"::Posting, true); + end; + + local procedure UpdateAPIAccountTypeAndDirectPostingOnGLAccount(GLAccountNo: Code[20]; APIAccountType: Enum "G/L Account Type"; DirectPosting: Boolean) + var + GLAccount: Record "G/L Account"; + begin + GlAccount.Get(GLAccountNo); + + GLAccount.Validate("API Account Type", APIAccountType); + GLAccount.Validate("Direct Posting", DirectPosting); + GLAccount.Modify(true); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + SummaryAccountTok: Label 'Summary Account', MaxLength = 100; + BalanceTok: Label 'Balance', MaxLength = 100; + OpeningBalanceTok: Label 'Opening Balance', MaxLength = 100; + ClosingBalanceTok: Label 'Closing Balance', MaxLength = 100; + BalanceSheetTotalTok: Label 'Balance Sheet Total', MaxLength = 100; + GainLossTok: Label 'Gain/Loss', MaxLength = 100; + IncomeStatementTotalTok: Label 'Income Statement Total', MaxLength = 100; + SummaryAccountTotalTok: Label 'Summary Account Total', MaxLength = 100; + VendorPrepaymentsVat20PercTok: Label 'Vendor Prepayments VAT 20 %', MaxLength = 100; + BillsTok: Label 'Bills', MaxLength = 100; + BillsForCollectionTok: Label 'Bills for Collection', MaxLength = 100; + BillsForDiscountTok: Label 'Bills for Discount', MaxLength = 100; + BillsSubjToCollTok: Label 'Bills Subj. to Coll.', MaxLength = 100; + ExpenseBillsTok: Label 'Expense Bills', MaxLength = 100; + BillsTotalTok: Label 'Bills Total', MaxLength = 100; + GainForTheYearTok: Label 'Gain for the Year', MaxLength = 100; + LossForTheYearTok: Label 'Loss for the Year', MaxLength = 100; + JobSalesAppliedTok: Label 'Job Sales Applied', MaxLength = 100; + JobCostsAppliedTok: Label 'Job Costs Applied', MaxLength = 100; + CustomerPrepaymentsVat20PercTok: Label 'Customer Prepayments VAT 20 %', MaxLength = 100; + SalesVat20PercTok: Label 'Sales VAT 20 %', MaxLength = 100; + PurchaseVat20PercEuTok: Label 'Purchase VAT 20 % EU', MaxLength = 100; + PurchaseVat20PercTok: Label 'Purchase VAT 20 %', MaxLength = 100; + IncomeStatementBeginTotalLbl: Label 'Income Statement, Begin Total', MaxLength = 100; + WIPJobSalesAssetsTok: Label 'WIP Job Sales, Assets', MaxLength = 100; + AccruedJobCostsAssetsTok: Label 'Accrued Job Costs, Assets', MaxLength = 100; + InvoicedJobSalesAssetsTok: Label 'Invoiced Job Sales, Assets', MaxLength = 100; + WIPJobCostsAssetsTok: Label 'WIP Job Costs, Assets', MaxLength = 100; + JobSalesIncomeTok: Label 'Job Sales, Income', MaxLength = 100; + JobCostsIncomeTok: Label 'Job Costs, Income', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreatePaymentMethodIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreatePaymentMethodIT.Codeunit.al new file mode 100644 index 0000000000..260dc3b420 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreatePaymentMethodIT.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 12231 "Create Payment Method IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPayments: Codeunit "Contoso Payments"; + CreateSourceCodeIT: Codeunit "Create Source Code IT"; + CreateBillCodeIT: Codeunit "Create Bill Code IT"; + begin + ContosoPayments.SetOverwriteData(true); + ContosoPayments.InsertBankPaymentMethod(CreateSourceCodeIT.BankTransf(), BankTransferLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(CreateSourceCodeIT.RIBA(), BankReceiptLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(BnkDomConv(), DomesticBankTransferWithDataConversionLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(BnkIntConv(), InternationalBankTransferWithDataConversionLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.SetOverwriteData(false); + + UpdateBillCode(CreateSourceCodeIT.BankTransf(), CreateBillCodeIT.BB(), ''); + UpdateBillCode(CreateSourceCodeIT.RIBA(), CreateBillCodeIT.RB(), ''); + UpdateBillCode(BnkDomConv(), '', BankDataConvServctLbl); + UpdateBillCode(BnkIntConv(), '', BankDataConvServctLbl); + end; + + local procedure UpdateBillCode(Code: Code[20]; BillCode: Code[20]; PmtExportLineDefinition: Code[20]) + var + PaymentMethod: Record "Payment Method"; + begin + PaymentMethod.Get(Code); + PaymentMethod.Validate("Bill Code", BillCode); + PaymentMethod.Validate("Pmt. Export Line Definition", PmtExportLineDefinition); + PaymentMethod.Modify(true); + end; + + procedure BnkIntConv(): Code[10] + begin + exit(BnkIntConvTok); + end; + + procedure BnkDomConv(): Code[10] + begin + exit(BnkDomConvTok); + end; + + var + BnkDomConvTok: Label 'BNKDOMCONV', MaxLength = 10; + BnkIntConvTok: Label 'BNKINTCONV', MaxLength = 10; + BankDataConvServctLbl: Label 'BANKDATACONVSERVCT', MaxLength = 20; + InternationalBankTransferWithDataConversionLbl: Label 'International Bank Transfer with Data Conversion', MaxLength = 100; + DomesticBankTransferWithDataConversionLbl: Label 'Domestic Bank Transfer with Data Conversion', MaxLength = 100; + BankTransferLbl: Label 'Bank Transfer', MaxLength = 100; + BankReceiptLbl: Label 'Bank Receipt', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateResourceIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateResourceIT.Codeunit.al new file mode 100644 index 0000000000..6543537eba --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateResourceIT.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 12217 "Create Resource IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, MilanoCityLbl, 77, 84.7, 45.35484, 155, PostCode20100Lbl); + CreateResource.Terry(): + ValidateRecordFields(Rec, MilanoCityLbl, 77, 84.7, 45.35484, 155, PostCode20100Lbl); + CreateResource.Marty(): + ValidateRecordFields(Rec, MilanoCityLbl, 70, 77, 44.60432, 139, PostCode20100Lbl); + CreateResource.Lina(): + ValidateRecordFields(Rec, NapoliCityLbl, 93, 102.3, 45, 186, PostCode80100Lbl); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + end; + + var + MilanoCityLbl: Label 'Milano', MaxLength = 30, Locked = true; + NapoliCityLbl: Label 'Napoli', MaxLength = 30, Locked = true; + PostCode20100Lbl: Label '20100', MaxLength = 20; + PostCode80100Lbl: Label '80100', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateVATStatementIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateVATStatementIT.Codeunit.al new file mode 100644 index 0000000000..15d00d53e0 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Finance/2.Master Data/CreateVATStatementIT.Codeunit.al @@ -0,0 +1,383 @@ +codeunit 12229 "Create VAT Statement IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentPermissions = X; + InherentEntitlements = X; + + trigger OnRun() + var + VATStatementLine: Record "VAT Statement Line"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateVATPostingGroupsIT: Codeunit "Create VAT Posting Groups IT"; + ContosoVATStatementIT: Codeunit "Contoso VAT Statement IT"; + begin + ContosoVatStatement.InsertVATStatementTemplate(VATCommTemplateName(), AnnualVATCommunicationStatementDescLbl, Page::"Annual VAT Communication", Report::"Annual VAT Comm. - 2010"); + + ContosoVatStatement.InsertVATStatementName(VATTemplateName(), VATDeclStatementNameLbl, DefaultStatementNameDescLbl); + ContosoVatStatement.InsertVATStatementName(VATTemplateName(), VATSetlperStatementNameLbl, DefaultStatementNameDescLbl); + ContosoVatStatement.InsertVATStatementName(VATCommTemplateName(), DefaultStatementNameLbl, AnnualVATCommunicationStatementDescLbl); + + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 390000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 400000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, VATPeriodicalReportingMonthLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 410000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 420000, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesBase20PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 430000, '1020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesBase10PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 440000, '1021', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 450000, '1022', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '1010..1020', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, InternalOperationsLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 460000, '1024', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 470000, '1030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesBase20PercEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 480000, '1040', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesBase10PercEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 490000, '1049', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 500000, '1050', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '1030..1049', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, IntraEUDisposalsVP2Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 510000, '1051', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 520000, '1052', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '1022|1050', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ActiveOperationsVP1Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 530000, '1053', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 540000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 550000, '1110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseBase20PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 560000, '1120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseBase10PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 570000, '1125', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseBase20Perc50PercNondeductibleLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 580000, '1199', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '1110..1125', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PassiveOperationsVP3Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 590000, '1200', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 600000, '1210', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseBase20PercEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 610000, '1220', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseBase10PercEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 620000, '1290', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 630000, '1299', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '1210..1220', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ReverseChargePurchaseVP4Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 640000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 650000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 660000, '5010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVAT20PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 670000, '5020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVAT10PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 680000, '5030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVATfromEUPurchase20PercLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 690000, '5040', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVATfromEUPurchase10PercLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 700000, '5050', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Prior Period Input VAT", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PriorPeriodOutputVATLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 710000, '5060', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 720000, '5099', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5010|5020|5030|5040|5050', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalOutputVATVP5Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 730000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 740000, '5110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT20PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 750000, '5120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT10PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 760000, '5130', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT20PercentEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 770000, '5140', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT10PercentEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 780000, '5150', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT20Perc50PercNondeductibleLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 790000, '5160', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Prior Period Output VAT", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, InputVATPriorPeriodVP7Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 800000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 810000, '5099', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5110|5120|5130|5140|5150|5160', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalInputVATVP6Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 820000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 830000, '5500', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5099|5199', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalVATtoPayVP10Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATDeclStatementNameLbl, 840000, '5510', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, IfVP10isNegativeReportItInVP11Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 850000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, VATSettlementMonthLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 860000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 870000, '5010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVAT20PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 880000, '5020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVAT10PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 890000, '5030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVATfromEUPurchase20PercLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 900000, '5040', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesVATfromEUPurchase10PercLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 910000, '5050', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Payab. VAT Variation", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PayableVATVariationLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 920000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 930000, '5099', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5010..5050', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalPayableVATVP5Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 940000, '5110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT20PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 950000, '5120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT10PercNationalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 960000, '5130', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT20PercentEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 970000, '5140', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT10PercentEULbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 980000, '5150', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Deduc. VAT Variation.", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseVAT20Perc50PercNondeductibleLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 990000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1000000, '5199', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5110..5160', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalDeductibleVATVP6Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1010000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1020000, '5200', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5099|5199', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, VATBalanceforthePeriodVP7Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1030000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1040000, '5250', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Tax Debit Variat.", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PriorPeriodOutputTaxVariationVP8Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1050000, '5250', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Tax Deb. Variat. Int.", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PriorPeriodInputTaxVariationVP8Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1060000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1070000, '5300', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Tax Credit Variation", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PriorPeriodsUnpaidVATVP9Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1080000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1090000, '5500', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Prior Period Input VAT", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PriorPeriodOutputVATVP10Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1100000, '5510', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Prior Period Output VAT", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PriorPeriodInputVATVP10Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1110000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1120000, '5600', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Deduc. VAT Variation.", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, CreditVATCompensationVP11Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1130000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1140000, '5700', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5200..5600', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, VATtoPayforthePeriodVP12Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1150000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1160000, '5800', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::"Special Credit", '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, DeductedSpecialCreditVP13Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1170000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1180000, '5900', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::Advanced, '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, AmountPaidinAdvVP15Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1190000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1200000, '6000', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5700..5900', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, AmounttoPayVP16InputforthePeriodLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1210000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1220000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PaymentDateLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1230000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1240000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SubsidiaryLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1250000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, AbiCabLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1260000, '7000', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PaidAmountLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1270000, '', Enum::"VAT Statement Line Type"::"Periodic VAT Settl.", VATStatementLine."Gen. Posting Type"::Paid, '', '', '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1280000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, InfraannualCredrequestedasrefundLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1290000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, InfraannualCredtouseasCompensationLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATTemplateName(), VATSetlperStatementNameLbl, 1300000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1310000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, SalesLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1320000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1330000, '1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VATSales20PercLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1340000, '2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VATSales10PercLbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1350000, 'CD1.1', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '1|2', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalSalesLbl, VATStatementLine."Annual VAT Comm. Field"::"CD1 - Total sales"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1360000, '3', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, '', '', '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, SalesNonTaxableArt81Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1370000, '4', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, '', '', '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, SalesNonTaxableArt15Lbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1380000, 'CD1.2', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '3|4', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalSalesNonTaxableLbl, VATStatementLine."Annual VAT Comm. Field"::"CD1 - Sales with zero VAT"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1390000, '5', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsIT.E13(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, SalesExemptArt13Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1400000, '6', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, SalesNoVATLbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1410000, 'CD1.3', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '5|6', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalExemptSalesLbl, VATStatementLine."Annual VAT Comm. Field"::"CD1 - VAT exempt sales"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1420000, '7', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VAT20PercIntracomGoodSalesLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1430000, '8', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VAT10PercIntracomGoodSalesLbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1440000, 'CD1.3', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '7|8', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalEUSalesLbl, VATStatementLine."Annual VAT Comm. Field"::"CD1 - EU sales"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1450000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1460000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PurchaseLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1470000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1480000, '9', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VATPurchases20PercLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1490000, '10', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VATPurchases10PercLbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1500000, 'CD2.1', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '9|10', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalPurchasesLbl, VATStatementLine."Annual VAT Comm. Field"::"CD2 - Total purchases"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1510000, '11', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, '', '', '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, PurchaseNonTaxableArt81Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1520000, '12', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, '', '', '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, PurchaseNonTaxableArt15Lbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1530000, 'CD2.2', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '11|12', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalPurchasesLbl, VATStatementLine."Annual VAT Comm. Field"::"CD2 - Purchases with zero VAT"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1540000, '13', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsIT.E13(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, PurchasesExemptArt13Lbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1550000, '14', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, PurchasesNonVATLbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1560000, 'CD2.3', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '13|14', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalExemptPurchasesLbl, VATStatementLine."Annual VAT Comm. Field"::"CD2 - VAT exempt purchases"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1570000, '15', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VAT20PercIntracomGoodPurchasesLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1580000, '16', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", VATStatementLine."Gen. Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::"Opposite Sign", true, VATStatementLine."Print with"::Sign, VAT10PercIntracomGoodPurchasesLbl); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1590000, 'CD2.4', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', '15|16', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalEUPurchasesLbl, VATStatementLine."Annual VAT Comm. Field"::"CD2 - EU purchases"); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1600000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1610000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1620000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, TotalLbl); + ContosoVatStatementIT.InsertVatStatementLine(VATCommTemplateName(), DefaultStatementNameLbl, 1630000, '', Enum::"VAT Statement Line Type"::Description, VATStatementLine."Gen. Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1640000, 'CD4', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', 'CD1*', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, PayableVATLbl, VATStatementLine."Annual VAT Comm. Field"::"CD4 - Payable VAT"); + ContosoVatStatementIT.InsertVatStatementLineWithAnnualVATCommField(VATCommTemplateName(), DefaultStatementNameLbl, 1650000, 'CD4', Enum::"VAT Statement Line Type"::"Row Totaling", VATStatementLine."Gen. Posting Type"::" ", '', '', 'CD2*', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ReceivableVATLbl, VATStatementLine."Annual VAT Comm. Field"::"CD5 - Receivable VAT"); + + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatStatementLine(var Rec: Record "VAT Statement Line") + var + VATStatementLine: Record "VAT Statement Line"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + if (Rec."Statement Template Name" = CreateVATStatement.VATTemplateName()) and (Rec."Statement Name" = DefaultStatementNameLbl) then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", SalesVat20PercOutgoingLbl); + 20000: + ValidateRecordFields(Rec, '1020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", SalesVat10PercOutgoingLbl); + 30000: + ValidateRecordFields(Rec, '1050', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::"Opposite Sign", false, VATStatementLine."Print with"::"Opposite Sign", Vat20PercPercOnEuPurchasesEtcLbl); + 40000: + ValidateRecordFields(Rec, '1060', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::"Opposite Sign", false, VATStatementLine."Print with"::"Opposite Sign", Vat10PercPercOnEuPurchasesEtcLbl); + 50000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 60000: + ValidateRecordFields(Rec, '1099', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1010..1090', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", TotalLbl); + 70000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 80000: + ValidateRecordFields(Rec, '1110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat20PercDomesticLbl); + 90000: + ValidateRecordFields(Rec, '1120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat10PercDomesticLbl); + 100000: + ValidateRecordFields(Rec, '1150', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat20PercEuLbl); + 110000: + ValidateRecordFields(Rec, '1160', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat10PercEuLbl); + 120000: + ValidateRecordFields(Rec, '1179', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1110..1170', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", PurchaseVatIngoingLbl); + 130000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 140000: + ValidateRecordFields(Rec, '1180', Enum::"VAT Statement Line Type"::"Account Totaling", '5710', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", FuelTaxLbl); + 150000: + ValidateRecordFields(Rec, '1181', Enum::"VAT Statement Line Type"::"Account Totaling", '5720', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", ElectricityTaxLbl); + 160000: + ValidateRecordFields(Rec, '1182', Enum::"VAT Statement Line Type"::"Account Totaling", '5730', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", NaturalGasTaxLbl); + 170000: + ValidateRecordFields(Rec, '1183', Enum::"VAT Statement Line Type"::"Account Totaling", '5740', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", CoalTaxLbl); + 180000: + ValidateRecordFields(Rec, '1184', Enum::"VAT Statement Line Type"::"Account Totaling", '5750', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", Co2TaxLbl); + 190000: + ValidateRecordFields(Rec, '1185', Enum::"VAT Statement Line Type"::"Account Totaling", '5760', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", WaterTaxLbl); + 200000: + ValidateRecordFields(Rec, '1189', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1180..1188', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", TotalTaxesLbl); + 210000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 220000: + ValidateRecordFields(Rec, '1199', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1159|1189', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", TotalDeductionsLbl); + 230000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 240000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 250000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1099|1199', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", VatPayableLbl); + 260000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 270000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 280000: + ValidateRecordFields(Rec, '1210', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, ValueOfEuPurchases20PercLbl); + 290000: + ValidateRecordFields(Rec, '1220', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, ValueOfEuPurchases10PercLbl); + 300000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 310000: + ValidateRecordFields(Rec, '1240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", ValueOfEuSales20PercLbl); + 320000: + ValidateRecordFields(Rec, '1250', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", ValueOfEuSales10PercLbl); + 330000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 340000: + ValidateRecordFields(Rec, '1310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EXPORT(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, NonVatLiableSalesOverseasLbl); + 350000: + ValidateRecordFields(Rec, '1320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EXPORT(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, NonVatLiableSalesOverseasLbl); + 360000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1310..1330', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", NonVatLiableSalesOverseasLbl); + 370000: + ValidateRecordFields(Rec, '1340', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.ZERO(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, NonVatLiableSalesDomesticLbl); + 380000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1340..1348', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", NonVatLiableSalesDomesticLbl); + end; + end; + + procedure VATTemplateName(): Code[10] + begin + exit(VATTemplateNameTok); + end; + + procedure VATCommTemplateName(): Code[10] + begin + exit(VATCommTemplateNameTok); + end; + + local procedure ValidateRecordFields(var VATStatementLine: Record "VAT Statement Line"; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; AccountTotaling: Text[30]; GenPostingType: Enum "General Posting Type"; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]) + begin + VatStatementLine.Validate("Row No.", StatementRowNo); + VatStatementLine.Validate(Description, StatementDesc); + VatStatementLine.Validate(Type, StatementLineType); + VATStatementLine.Validate("Account Totaling", AccountTotaling); + VatStatementLine.Validate("Gen. Posting Type", GenPostingType); + VatStatementLine.Validate("VAT Bus. Posting Group", VatBusPostingGrp); + VatStatementLine.Validate("VAT Prod. Posting Group", VAtProdPostingGrp); + VatStatementLine.Validate("Row Totaling", RowTotaling); + VatStatementLine.Validate("Amount Type", AmountType); + VatStatementLine.Validate("Calculate with", CalulationWith); + VatStatementLine.Validate(Print, StatementPrint); + VatStatementLine.Validate("Print with", PrintWith); + end; + + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + VATTemplateNameTok: Label 'VAT', Locked = true; + VATCommTemplateNameTok: Label 'VAT COMM', Locked = true; + DefaultStatementNameLbl: Label 'DEFAULT', MaxLength = 10; + VATDeclStatementNameLbl: Label 'VATDECL', MaxLength = 10; + VATSetlperStatementNameLbl: Label 'VATSETLPER', MaxLength = 10; + DefaultStatementNameDescLbl: Label 'Default Statement', MaxLength = 100; + AnnualVATCommunicationStatementDescLbl: Label 'Annual VAT Communication', MaxLength = 80; + SalesVat20PercOutgoingLbl: Label 'Sales VAT 20 % (outgoing)', MaxLength = 100; + SalesVat10PercOutgoingLbl: Label 'Sales VAT 10 % (outgoing)', MaxLength = 100; + Vat20PercPercOnEuPurchasesEtcLbl: Label 'VAT 20 % % on EU Purchases etc.', MaxLength = 100; + Vat10PercPercOnEuPurchasesEtcLbl: Label 'VAT 10 % % on EU Purchases etc.', MaxLength = 100; + TotalLbl: Label 'Total', MaxLength = 100; + PurchaseVat20PercDomesticLbl: Label 'Purchase VAT 20 % Domestic', MaxLength = 100; + PurchaseVat10PercDomesticLbl: Label 'Purchase VAT 10 % Domestic', MaxLength = 100; + PurchaseVatIngoingLbl: Label 'Purchase VAT (ingoing)', MaxLength = 100; + FuelTaxLbl: Label 'Fuel Tax', MaxLength = 100; + ElectricityTaxLbl: Label 'Electricity Tax', MaxLength = 100; + NaturalGasTaxLbl: Label 'Natural Gas Tax', MaxLength = 100; + CoalTaxLbl: Label 'Coal Tax', MaxLength = 100; + Co2TaxLbl: Label 'CO2 Tax', MaxLength = 100; + WaterTaxLbl: Label 'Water Tax', MaxLength = 100; + TotalTaxesLbl: Label 'Total Taxes', MaxLength = 100; + BlankLbl: Label '--------------------------------------------------', MaxLength = 100; + TotalDeductionsLbl: Label 'Total Deductions', MaxLength = 100; + VatPayableLbl: Label 'VAT Payable', MaxLength = 100; + ValueOfEuPurchases20PercLbl: Label 'Value of EU Purchases 20 %', MaxLength = 100; + ValueOfEuPurchases10PercLbl: Label 'Value of EU Purchases 10 %', MaxLength = 100; + ValueOfEuSales20PercLbl: Label 'Value of EU Sales 20 %', MaxLength = 100; + ValueOfEuSales10PercLbl: Label 'Value of EU Sales 10 %', MaxLength = 100; + NonVatLiableSalesOverseasLbl: Label 'Non-VAT liable sales, Overseas', MaxLength = 100; + NonVatLiableSalesDomesticLbl: Label 'Non-VAT liable sales, Domestic', MaxLength = 100; + VATPeriodicalReportingMonthLbl: Label 'VAT Periodical Reporting Month .........', MaxLength = 100; + SalesBase20PercNationalLbl: Label 'Sales Base 20% - National', MaxLength = 100; + SalesBase10PercNationalLbl: Label 'Sales Base 10% - National', MaxLength = 100; + InternalOperationsLbl: Label 'Internal Operations', MaxLength = 100; + SalesBase20PercEULbl: Label 'Sales Base 20% - EU', MaxLength = 100; + SalesBase10PercEULbl: Label 'Sales Base 10% - EU', MaxLength = 100; + IntraEUDisposalsVP2Lbl: Label 'Intra EU Disposals - VP2', MaxLength = 100; + ActiveOperationsVP1Lbl: Label 'Active Operations - VP1', MaxLength = 100; + PurchaseBase20PercNationalLbl: Label 'Purchase Base 20% - National', MaxLength = 100; + PurchaseBase10PercNationalLbl: Label 'Purchase Base 10% - National', MaxLength = 100; + PurchaseBase20Perc50PercNondeductibleLbl: Label 'Purchase Base 20% - 50% Nondeductible', MaxLength = 100; + PassiveOperationsVP3Lbl: Label 'Passive Operations - VP3', MaxLength = 100; + PurchaseBase20PercEULbl: Label 'Purchase Base 20% - EU', MaxLength = 100; + PurchaseBase10PercEULbl: Label 'Purchase Base 10% - EU', MaxLength = 100; + ReverseChargePurchaseVP4Lbl: Label 'Reverse Charge Purchase - VP4', MaxLength = 100; + SalesVAT20PercNationalLbl: Label 'Sales VAT 20% - National', MaxLength = 100; + PriorPeriodOutputVATLbl: Label 'Prior Period Output VAT', MaxLength = 100; + TotalOutputVATVP5Lbl: Label 'Total Output VAT - VP5', MaxLength = 100; + InputVATPriorPeriodVP7Lbl: Label 'Input VAT Prior Period - VP7', MaxLength = 100; + TotalInputVATVP6Lbl: Label 'Total Input VAT - VP6', MaxLength = 100; + TotalVATtoPayVP10Lbl: Label 'Total VAT to Pay - VP10', MaxLength = 100; + IfVP10isNegativeReportItInVP11Lbl: Label 'If VP10 is negative, report it in VP11', MaxLength = 100; + VATSettlementMonthLbl: Label 'VAT Settlement Month ________', MaxLength = 100; + SalesVAT10PercNationalLbl: Label 'Sales VAT 10% - National', MaxLength = 100; + SalesVATfromEUPurchase20PercLbl: Label 'Sales VAT from EU Purchase - 20%', MaxLength = 100; + SalesVATfromEUPurchase10PercLbl: Label 'Sales VAT from EU Purchase - 10%', MaxLength = 100; + PayableVATVariationLbl: Label 'Payable VAT Variation', MaxLength = 100; + TotalPayableVATVP5Lbl: Label 'Total Payable VAT - VP5', MaxLength = 100; + PurchaseVAT20PercNationalLbl: Label 'Purchase VAT 20% - National', MaxLength = 100; + PurchaseVAT10PercNationalLbl: Label 'Purchase VAT 10% - National', MaxLength = 100; + PurchaseVAT20PercEULbl: Label 'Purchase VAT 20 % EU', MaxLength = 100; + PurchaseVAT20PercentEULbl: Label 'Purchase VAT 20% - EU', MaxLength = 100; + PurchaseVAT10PercEULbl: Label 'Purchase VAT 10 % EU', MaxLength = 100; + PurchaseVAT10PercentEULbl: Label 'Purchase VAT 10% - EU', MaxLength = 100; + PurchaseVAT20Perc50PercNondeductibleLbl: Label 'Purchase VAT 20% - 50% Nondeductible', MaxLength = 100; + TotalDeductibleVATVP6Lbl: Label 'Total Deductible VAT - VP6', MaxLength = 100; + VATBalanceforthePeriodVP7Lbl: Label 'VAT Balance for the Period - VP7', MaxLength = 100; + PriorPeriodOutputTaxVariationVP8Lbl: Label 'Prior Period Output Tax Variation - VP8', MaxLength = 100; + PriorPeriodInputTaxVariationVP8Lbl: Label 'Prior Period Input Tax Variation - VP8', MaxLength = 100; + PriorPeriodsUnpaidVATVP9Lbl: Label 'Prior Periods Unpaid VAT - VP9', MaxLength = 100; + PriorPeriodOutputVATVP10Lbl: Label 'Prior Period Output VAT - VP10', MaxLength = 100; + PriorPeriodInputVATVP10Lbl: Label 'Prior Period Input VAT - VP10', MaxLength = 100; + CreditVATCompensationVP11Lbl: Label 'Credit VAT Compensation - VP11', MaxLength = 100; + VATtoPayforthePeriodVP12Lbl: Label 'VAT to Pay for the Period - VP12', MaxLength = 100; + DeductedSpecialCreditVP13Lbl: Label 'Deducted Special Credit - VP13', MaxLength = 100; + AmountPaidinAdvVP15Lbl: Label 'Amount Paid in Adv. - VP15', MaxLength = 100; + + AmounttoPayVP16InputforthePeriodLbl: Label 'Amount to Pay - VP16 / Input for the Period', MaxLength = 100; + PaymentDateLbl: Label 'Payment Date :__________________________________', MaxLength = 100; + BankLbl: Label 'Bank :___________________________________________', MaxLength = 100; + SubsidiaryLbl: Label 'Subsidiary :______________________________________', MaxLength = 100; + AbiCabLbl: Label 'Abi/Cab :__________________________________', MaxLength = 100; + PaidAmountLbl: Label 'Paid Amount :____________________________________', MaxLength = 100; + + InfraannualCredrequestedasrefundLbl: Label 'Infra-annual Cred. requested as refund:', MaxLength = 100; + InfraannualCredtouseasCompensationLbl: Label 'Infra-annual Cred. to use as Compensation :', MaxLength = 100; + + SalesLbl: Label 'Sales:', MaxLength = 100; + + VATSales20PercLbl: Label 'VAT Sales 20 %', MaxLength = 100; + VATSales10PercLbl: Label 'VAT Sales 10 %', MaxLength = 100; + TotalSalesLbl: Label 'Total Sales', MaxLength = 100; + SalesNonTaxableArt81Lbl: Label 'Sales Non-Taxable Art 8/1', MaxLength = 100; + SalesNonTaxableArt15Lbl: Label 'Sales Non-Taxable Art 15', MaxLength = 100; + TotalSalesNonTaxableLbl: Label 'Total Sales Non-Taxable', MaxLength = 100; + SalesExemptArt13Lbl: Label 'Sales Exempt - Art 13', MaxLength = 100; + SalesNoVATLbl: Label 'Sales No VAT', MaxLength = 100; + TotalExemptSalesLbl: Label 'Total Exempt Sales', MaxLength = 100; + VAT20PercIntracomGoodSalesLbl: Label 'VAT 20% Intracom Good Sales', MaxLength = 100; + VAT10PercIntracomGoodSalesLbl: Label 'VAT 10% Intracom Good Sales', MaxLength = 100; + TotalEUSalesLbl: Label 'Total EU Sales', MaxLength = 100; + PurchaseLbl: Label 'Purchase:', MaxLength = 100; + VATPurchases20PercLbl: Label 'VAT Purchases 20%', MaxLength = 100; + VATPurchases10PercLbl: Label 'VAT Purchases 10%', MaxLength = 100; + TotalPurchasesLbl: Label 'Total Purchases', MaxLength = 100; + PurchaseNonTaxableArt81Lbl: Label 'Purchase Non-Taxable Art 8/1', MaxLength = 100; + PurchaseNonTaxableArt15Lbl: Label 'Purchase Non-Taxable Art 15', MaxLength = 100; + PurchasesExemptArt13Lbl: Label 'Purchases Exempt - Art 13', MaxLength = 100; + PurchasesNonVATLbl: Label 'Purchases Non VAT', MaxLength = 100; + TotalExemptPurchasesLbl: Label 'Total Exempt Purchases', MaxLength = 100; + VAT20PercIntracomGoodPurchasesLbl: Label 'VAT 20% Intracom Good Purchases', MaxLength = 100; + VAT10PercIntracomGoodPurchasesLbl: Label 'VAT 10% Intracom GoodPurchases', MaxLength = 100; + TotalEUPurchasesLbl: Label 'Total EU Purchases', MaxLength = 100; + PayableVATLbl: Label 'Payable VAT', MaxLength = 100; + ReceivableVATLbl: Label 'Receivable VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateABICABCodeIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateABICABCodeIT.Codeunit.al new file mode 100644 index 0000000000..ed242f9f2a --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateABICABCodeIT.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 12208 "Create ABI CAB Code IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoABICABIT: Codeunit "Contoso ABI CAB IT"; + begin + ContosoABICABIT.InsertABICABCode('05428', '11101'); + ContosoABICABIT.InsertABICABCode('12345', '22224'); + ContosoABICABIT.InsertABICABCode('12350', '45680'); + ContosoABICABIT.InsertABICABCode('25100', '32100'); + ContosoABICABIT.InsertABICABCode('33350', '44450'); + ContosoABICABIT.InsertABICABCode('33577', '05423'); + ContosoABICABIT.InsertABICABCode('36558', '22508'); + ContosoABICABIT.InsertABICABCode('45100', '22550'); + ContosoABICABIT.InsertABICABCode('52001', '56300'); + ContosoABICABIT.InsertABICABCode('52714', '10180'); + ContosoABICABIT.InsertABICABCode('56000', '85456'); + ContosoABICABIT.InsertABICABCode('56200', '45007'); + ContosoABICABIT.InsertABICABCode('56220', '11101'); + ContosoABICABIT.InsertABICABCode('56220', '22224'); + ContosoABICABIT.InsertABICABCode('56220', '24452'); + ContosoABICABIT.InsertABICABCode('58600', '12004'); + ContosoABICABIT.InsertABICABCode('85400', '45600'); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationIT.Codeunit.al new file mode 100644 index 0000000000..d6a6f78d03 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateCompanyInformationIT.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 12200 "Create Company Information IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: Picture Name to Be Inserted + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + UpdateCompanyInformation(AddressLbl, Address2Lbl, CityLbl, PostcodeLbl, BankAccNoLbl, SIACodeLbl, AuthorityCountyLbl, AutorizeNoLbl, SignatureOnBillLbl); + end; + + local procedure UpdateCompanyInformation(CompAddress: Text[100]; CompAddress2: Text[50]; City: Text[30]; PostCode: Code[20]; BankAccountNo: Text[30]; SIACode: Code[5]; AuthorityCounty: Code[20]; AutorizeNo: Code[10]; SignatureOnBill: Text[20]) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CompanyInformation: Record "Company Information"; + begin + ContosoCoffeeDemoDataSetup.Get(); + CompanyInformation.Get(); + CompanyInformation."Demo Company" := true; + CompanyInformation.Validate(Address, CompAddress); + CompanyInformation.Validate("Address 2", CompAddress2); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCode); + CompanyInformation.Validate("Phone No.", '+39-02-660-6666'); + CompanyInformation.Validate("Fax No.", '+39-02-660-6660'); + CompanyInformation.Validate("Bank Account No.", BankAccountNo); + CompanyInformation.Validate("VAT Registration No.", '28051977200'); + CompanyInformation.Validate("Ship-to Address", CompAddress); + CompanyInformation.Validate("Ship-to Address 2", CompAddress2); + CompanyInformation.Validate("Ship-to City", CityLbl); + CompanyInformation.Validate("Ship-to Post Code", PostcodeLbl); + CompanyInformation.Validate("Ship-to Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Validate("SIA Code", SIACode); + CompanyInformation.Validate("Authority County", AuthorityCounty); + CompanyInformation.Validate("Autoriz. No.", AutorizeNo); + CompanyInformation.Validate("Autoriz. Date", 20020101D); + CompanyInformation.Validate("Signature on Bill", SignatureOnBill); + + // todo add picture from attached files + // CompanyInformation.Picture.Import(); + + CompanyInformation.Modify(true); + end; + + var + AddressLbl: Label 'Piazza Duomo, 1', MaxLength = 100; + Address2Lbl: Label 'Milano', MaxLength = 50; + CityLbl: Label 'Milano', Maxlength = 30; + PostcodeLbl: Label '20100', MaxLength = 20; + BankAccNoLbl: Label '9999888', MaxLength = 30; + SIACodeLbl: Label '12345', MaxLength = 5; + AuthorityCountyLbl: Label 'LND', MaxLength = 20; + AutorizeNoLbl: Label '56701', MaxLength = 10; + SignatureOnBillLbl: Label 'CRONUS', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesIT.Codeunit.al new file mode 100644 index 0000000000..895a221fd0 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateNoSeriesIT.Codeunit.al @@ -0,0 +1,217 @@ +codeunit 12201 "Create No. Series IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: codeunit "Contoso No Series"; + begin + ContosoNoSeries.InsertNoSeries(CustomerBillListJnl(), CustomerBillListLbl, 'DEC000001', 'DEC100000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(CustBills(), FinalCustomerBillNoLbl, 'BILLC00001', 'BILLC10000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InvCrMemoVATNoforEUVend(), InvCrMemoVATNoforEUVendLbl, 'V010001', 'V020000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InvCrMemoVATNoforEUCust(), InvCrMemoVATNoforEUCustLbl, 'C010001', 'C020000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InvCrMemoVATNoforExtraEUVendors(), InvCrMemoVATNoforEUVendorLbl, 'FX010001', 'FX020000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InvCrMemoVATNoforExtraEUCustomers(), InvCrMemoVATNoforExtraEUCustomersLbl, 'CX010001', 'CX020000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(FatturaPA(), FatturaPALbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(InvCrMemoVATNoforItalianVend(), InvCrMemoVATNoforItalianVendLbl, '108001', '109001', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InvCrMemoVATNoforItalianCust(), InvCrMemoVATNoforItalianCustLbl, '102001', '103000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(TemporaryCustomerBillNo(), TemporaryCustomerBillNoLbl, 'TEC00001', 'TEC10000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(TemporaryCustBillListNo(), TemporaryCustBillListNoLbl, 'TEC000001', 'TEC100000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(VendorBillsBRListNo(), VendorBillsBRListNoLbl, 'TDF00001', 'TDF10000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(VendorBillsBRList(), VendorBillsBRListLbl, 'DEF00001', 'DEF10000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(VendorBillsBRNo(), VendorBillsBRNoLbl, 'BILL000001', 'BILL100000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + + NoSeriesLineSale(); + NoSeriesLinePurchase(); + end; + + [EventSubscriber(ObjectType::Table, Database::"No. Series", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertNoSeries(var Rec: Record "No. Series") + var + CreateNoSeries: Codeunit "Create No. Series"; + CreateFANoSeries: Codeunit "Create FA No Series"; + begin + case Rec.Code of + InvCrMemoVATNoforEUCust(): + ValidateRecordFields(Rec, Enum::"No. Series Type"::Sales, true, EuSalesLbl); + InvCrMemoVATNoforExtraEUCustomers(): + ValidateRecordFields(Rec, Enum::"No. Series Type"::Sales, true, ExtSalesLbl); + InvCrMemoVATNoforItalianCust(): + ValidateRecordFields(Rec, Enum::"No. Series Type"::Sales, true, NatSalesLbl); + InvCrMemoVATNoforItalianVend(): + ValidateRecordFields(Rec, Enum::"No. Series Type"::Purchase, true, NatPurchLbl); + InvCrMemoVATNoforExtraEUVendors(): + ValidateRecordFields(Rec, Enum::"No. Series Type"::Purchase, true, ExtPurchLbl); + InvCrMemoVATNoforEUVend(): + ValidateRecordFields(Rec, Enum::"No. Series Type"::Purchase, true, EuPurchLbl); + CreateFANoSeries.FixedAsset(): + Rec.Validate("Date Order", true); + CreateFANoSeries.Insurance(): + Rec.Validate("Date Order", true); + CreateNoSeries.PostedPurchaseInvoice(): + Rec.Validate("Date Order", true); + CreateNoSeries.PostedSalesCreditMemo(): + Rec.Validate("Date Order", true); + CreateNoSeries.PostedSalesInvoice(): + Rec.Validate("Date Order", true); + CreateNoSeries.SalesShipment(): + Rec.Validate("Date Order", true); + CreateNoSeries.AssemblyBlanketOrders(): + Rec.Validate(Description, BlanketAssemblyOrdersLbl); + end; + end; + + local procedure NoSeriesLineSale() + var + ContosoNoSeriesIT: Codeunit "Contoso No. Series IT"; + begin + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUCustomers(), GetNextLineNo(InvCrMemoVATNoforExtraEUCustomers()), '22-CX010001', DMY2Date(1, 1, 2022)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUCustomers(), GetNextLineNo(InvCrMemoVATNoforExtraEUCustomers()), '23-CX010001', DMY2Date(1, 1, 2023)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUCustomers(), GetNextLineNo(InvCrMemoVATNoforExtraEUCustomers()), '24-CX010001', DMY2Date(1, 1, 2024)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUCustomers(), GetNextLineNo(InvCrMemoVATNoforExtraEUCustomers()), '25-CX010001', DMY2Date(1, 1, 2025)); + + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUCust(), GetNextLineNo(InvCrMemoVATNoforEUCust()), '22-C010001', DMY2Date(1, 1, 2022)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUCust(), GetNextLineNo(InvCrMemoVATNoforEUCust()), '23-C010001', DMY2Date(1, 1, 2023)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUCust(), GetNextLineNo(InvCrMemoVATNoforEUCust()), '24-C010001', DMY2Date(1, 1, 2024)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUCust(), GetNextLineNo(InvCrMemoVATNoforEUCust()), '25-C010001', DMY2Date(1, 1, 2025)); + + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianCust(), GetNextLineNo(InvCrMemoVATNoforItalianCust()), '22-102001', DMY2Date(1, 1, 2022)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianCust(), GetNextLineNo(InvCrMemoVATNoforItalianCust()), '23-102001', DMY2Date(1, 1, 2023)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianCust(), GetNextLineNo(InvCrMemoVATNoforItalianCust()), '24-102001', DMY2Date(1, 1, 2024)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianCust(), GetNextLineNo(InvCrMemoVATNoforItalianCust()), '25-102001', DMY2Date(1, 1, 2025)); + end; + + local procedure NoSeriesLinePurchase() + var + ContosoNoSeriesIT: Codeunit "Contoso No. Series IT"; + begin + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUVend(), GetNextLineNo(InvCrMemoVATNoforEUVend()), '22-V010001', DMY2Date(1, 1, 2022)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUVend(), GetNextLineNo(InvCrMemoVATNoforEUVend()), '23-V010001', DMY2Date(1, 1, 2023)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUVend(), GetNextLineNo(InvCrMemoVATNoforEUVend()), '24-V010001', DMY2Date(1, 1, 2024)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforEUVend(), GetNextLineNo(InvCrMemoVATNoforEUVend()), '25-V010001', DMY2Date(1, 1, 2025)); + + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUVendors(), GetNextLineNo(InvCrMemoVATNoforExtraEUVendors()), '22-FX010001', DMY2Date(1, 1, 2022)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUVendors(), GetNextLineNo(InvCrMemoVATNoforExtraEUVendors()), '23-FX010001', DMY2Date(1, 1, 2023)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUVendors(), GetNextLineNo(InvCrMemoVATNoforExtraEUVendors()), '24-FX010001', DMY2Date(1, 1, 2024)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforExtraEUVendors(), GetNextLineNo(InvCrMemoVATNoforExtraEUVendors()), '25-FX010001', DMY2Date(1, 1, 2025)); + + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianVend(), GetNextLineNo(InvCrMemoVATNoforItalianVend()), '22-108001', DMY2Date(1, 1, 2022)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianVend(), GetNextLineNo(InvCrMemoVATNoforItalianVend()), '23-108001', DMY2Date(1, 1, 2023)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianVend(), GetNextLineNo(InvCrMemoVATNoforItalianVend()), '24-108001', DMY2Date(1, 1, 2024)); + ContosoNoSeriesIT.InsertNoSeriesSalesPurchase(InvCrMemoVATNoforItalianVend(), GetNextLineNo(InvCrMemoVATNoforItalianVend()), '25-108001', DMY2Date(1, 1, 2025)); + end; + + local procedure ValidateRecordFields(var NoSeries: Record "No. Series"; NoSeriesType: Enum "No. Series Type"; DateOrder: Boolean; VATRegister: Code[10]) + begin + NoSeries.Validate("No. Series Type", NoSeriesType); + NoSeries.Validate("Date Order", DateOrder); + NoSeries."VAT Register" := VATRegister; + end; + + procedure CustomerBillListJnl(): Code[20] + begin + exit('CUSBILLIST'); + end; + + procedure CustBills(): Code[20] + begin + exit('CUSTBILLS'); + end; + + procedure InvCrMemoVATNoforEUVend(): Code[20] + begin + exit('EU-VN-PUR'); + end; + + procedure InvCrMemoVATNoforEUCust(): Code[20] + begin + exit('EU-VN-SLS'); + end; + + procedure InvCrMemoVATNoforExtraEUVendors(): Code[20] + begin + exit('EXT-VN-PUR'); + end; + + procedure InvCrMemoVATNoforExtraEUCustomers(): Code[20] + begin + exit('EXT-VN-SLS'); + end; + + procedure FatturaPA(): Code[20] + begin + exit('FATPA'); + end; + + procedure InvCrMemoVATNoforItalianVend(): Code[20] + begin + exit('IT-VN-PUR'); + end; + + procedure InvCrMemoVATNoforItalianCust(): Code[20] + begin + exit('IT-VN-SLS'); + end; + + procedure TemporaryCustomerBillNo(): Code[20] + begin + exit('TMCUSTBILL'); + end; + + procedure TemporaryCustBillListNo(): Code[20] + begin + exit('TMDCUS'); + end; + + procedure VendorBillsBRListNo(): Code[20] + begin + exit('TMDVEN'); + end; + + procedure VendorBillsBRList(): Code[20] + begin + exit('VNBILLIST'); + end; + + procedure VendorBillsBRNo(): Code[20] + begin + exit('VNBILLS'); + end; + + local procedure GetNextLineNo(NoSeriesCode: Code[20]): Integer + var + NoSeriesLine: Record "No. Series Line"; + begin + NoSeriesLine.SetRange("Series Code", NoSeriesCode); + if NoSeriesLine.FindLast() then + exit(NoSeriesLine."Line No." + 10000) + else + exit(10000); + end; + + var + NatSalesLbl: Label 'NATSALES', MaxLength = 10; + NatPurchLbl: Label 'NATPURCH', MaxLength = 10; + EuPurchLbl: Label 'EUPURCH', MaxLength = 10; + ExtPurchLbl: Label 'EXTPURCH', MaxLength = 10; + EuSalesLbl: Label 'EUSALES', MaxLength = 10; + ExtSalesLbl: Label 'EXTSALES', MaxLength = 10; + BlanketAssemblyOrdersLbl: Label 'Blanket Assembly Orders', MaxLength = 100; + CustomerBillListLbl: Label 'Customer Bill List', MaxLength = 100; + FinalCustomerBillNoLbl: Label 'Final Customer Bill No.', MaxLength = 100; + InvCrMemoVATNoforEUVendLbl: Label 'Inv./Cr. Memo VAT No. for EU Vend.', MaxLength = 100; + InvCrMemoVATNoforEUCustLbl: Label 'Inv./Cr. Memo VAT No. for EU Cust.', MaxLength = 100; + InvCrMemoVATNoforEUVendorLbl: Label 'Inv./Cr. Memo VAT No. for ExtraEU Vendors', MaxLength = 100; + InvCrMemoVATNoforExtraEUCustomersLbl: Label 'Inv./Cr. Memo VAT No. for ExtraEU Customers', MaxLength = 100; + InvCrMemoVATNoforItalianVendLbl: Label 'Inv./Cr. Memo VAT No. for Italian Vend.', MaxLength = 100; + InvCrMemoVATNoforItalianCustLbl: Label 'Inv./Cr. Memo VAT No. for Italian Cust.', MaxLength = 100; + FatturaPALbl: Label 'FatturaPA', MaxLength = 100; + TemporaryCustomerBillNoLbl: Label 'Temporary Customer Bill No.', MaxLength = 100; + TemporaryCustBillListNoLbl: Label 'Temporary Cust. Bill List No.', MaxLength = 100; + VendorBillsBRListNoLbl: Label 'Vendor Bills/BR List No.', MaxLength = 100; + VendorBillsBRListLbl: Label 'Vendor Bills/BR List', MaxLength = 100; + VendorBillsBRNoLbl: Label 'Vendor Bills/BR No.', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreatePaymentTermIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreatePaymentTermIT.Codeunit.al new file mode 100644 index 0000000000..f21d55f864 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreatePaymentTermIT.Codeunit.al @@ -0,0 +1,87 @@ +codeunit 12202 "Create Payment Term IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPayments: Codeunit "Contoso Payments"; + begin + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS30X2(), '', '', 0, Net3060DaysDescLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS30X3FM(), '', '', 0, Net306090DaysDescLbl); + + InsertPaymentLines(); + end; + + local procedure InsertPaymentLines() + var + PaymentLines: Record "Payment Lines"; + ContosoPaymentLines: Codeunit "Contoso Payment Lines"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + DueDateCalculation: DateFormula; + DiscountDateCalculation: DateFormula; + begin + Evaluate(DueDateCalculation, ''); + Evaluate(DiscountDateCalculation, '<0D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", CreatePaymentTerms.PaymentTermsCM(), 10000, 100, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<0D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", CreatePaymentTerms.PaymentTermsCOD(), 10000, 100, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<1M>'); + Evaluate(DiscountDateCalculation, '<8D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", CreatePaymentTerms.PaymentTermsM8D(), 10000, 100, DueDateCalculation, + DiscountDateCalculation, 2, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<14D>'); + Evaluate(DiscountDateCalculation, '<0D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", CreatePaymentTerms.PaymentTermsDAYS14(), 10000, 100, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<21D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", CreatePaymentTerms.PaymentTermsDAYS21(), 10000, 100, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<30D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", PaymentTermsDAYS30X2(), 10000, 50, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + Evaluate(DueDateCalculation, '<60D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", PaymentTermsDAYS30X2(), 20000, 50, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<30D+CM>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", PaymentTermsDAYS30X3FM(), 10000, 33.33, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + Evaluate(DueDateCalculation, '<60D+CM>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", PaymentTermsDAYS30X3FM(), 20000, 33.33, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<90D+CM>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", PaymentTermsDAYS30X3FM(), 30000, 33.34, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + + Evaluate(DueDateCalculation, '<7D>'); + ContosoPaymentLines.InsertPaymentLines(PaymentLines.Type::"Payment Terms", CreatePaymentTerms.PaymentTermsDAYS7(), 10000, 100, DueDateCalculation, + DiscountDateCalculation, 0, PaymentLines."Sales/Purchase"::" ", '', 0); + end; + + procedure PaymentTermsDAYS30X2(): code[10] + begin + exit(Days30X2Tok); + end; + + procedure PaymentTermsDAYS30X3FM(): code[10] + begin + exit(Days30X3FMTok); + end; + + var + Days30X2Tok: Label '30X2', Locked = true; + Days30X3FMTok: Label '30X3FM', Locked = true; + Net3060DaysDescLbl: Label 'Net 30, 60 Days', MaxLength = 100; + Net306090DaysDescLbl: Label 'Net 30,60,90 Days E.M.', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeIT.Codeunit.al new file mode 100644 index 0000000000..13e901f690 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreatePostCodeIT.Codeunit.al @@ -0,0 +1,170 @@ +codeunit 12203 "Create Post Code IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // Discuss it + // Maybe a service provide a better list of post codes? + // This can be the same for now, then we convert to a list later. + + // Keep as it is for now + // Wael + + trigger OnRun() + var + ContosoPostCodeIT: Codeunit "Contoso Post Code IT"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeIT.InsertPostCode('00100', RomaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('10100', TorinoLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('16011', ArenzanoLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('16100', GenovaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('16143', GenovaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('19100', LaSpeziaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('20099', SestoSanGiovanniLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('20100', MilanoLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('20147', MilanoLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('21047', VareseLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('26100', CremonaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('35100', PadovaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('37100', VeronaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('39100', BolzanoLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('42100', ReggioEmiliaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('43100', ParmaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('57100', LivornoLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('61100', SantaVenerandaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('62100', MacerataLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('67067', PescinaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('67100', LAquilaLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('80100', NapoliLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('90100', PalermoLbl, CreateCountryRegion.IT()); + ContosoPostCodeIT.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeIT.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + end; + + var + TringLbl: Label 'Tring', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + RomaLbl: Label 'Roma', MaxLength = 30; + TorinoLbl: Label 'Torino', MaxLength = 30; + ArenzanoLbl: Label 'Arenzano', MaxLength = 30; + GenovaLbl: Label 'Genova', MaxLength = 30; + LaSpeziaLbl: Label 'La Spezia', MaxLength = 30; + SestoSanGiovanniLbl: Label 'Sesto San Giovanni', MaxLength = 30; + MilanoLbl: Label 'Milano', MaxLength = 30; + VareseLbl: Label 'Varese', MaxLength = 30; + CremonaLbl: Label 'Cremona', MaxLength = 30; + PadovaLbl: Label 'Padova', MaxLength = 30; + VeronaLbl: Label 'Verona', MaxLength = 30; + BolzanoLbl: Label 'Bolzano', MaxLength = 30; + ReggioEmiliaLbl: Label 'Reggio Emilia', MaxLength = 30; + ParmaLbl: Label 'Parma', MaxLength = 30; + LivornoLbl: Label 'Livorno', MaxLength = 30; + SantaVenerandaLbl: Label 'Santa Veneranda', MaxLength = 30; + MacerataLbl: Label 'Macerata', MaxLength = 30; + PescinaLbl: Label 'Pescina', MaxLength = 30; + LAquilaLbl: Label 'L''Aquila', MaxLength = 30; + NapoliLbl: Label 'Napoli', MaxLength = 30; + PalermoLbl: Label 'Palermo', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeIT.Codeunit.al new file mode 100644 index 0000000000..09456ee42f --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeIT.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 12227 "Create Source Code IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoSourceCode: Codeunit "Contoso Source Code"; + begin + ContosoSourceCode.SetOverwriteData(true); + ContosoSourceCode.InsertSourceCode(BankTransf(), BankTransfersLbl); + ContosoSourceCode.InsertSourceCode(Start(), OpeningEntriesLbl); + ContosoSourceCode.InsertSourceCode(GLCurReval(), GLCurrencyRevaluationLbl); + ContosoSourceCode.InsertSourceCode(RIBA(), BankReceiptsLbl); + ContosoSourceCode.InsertSourceCode(ExchRatAdj(), ExchangeRatesAdjustmentLbl); + ContosoSourceCode.SetOverwriteData(false); + end; + + procedure BankTransf(): Code[10] + begin + exit(BankTransfTok); + end; + + procedure RIBA(): Code[10] + begin + exit(RIBATok); + end; + + procedure Start(): Code[10] + begin + exit(StartTok); + end; + + procedure GLCurReval(): Code[10] + begin + exit(GLCurRevalTok); + end; + + procedure ExchRatAdj(): Code[10] + begin + exit(ExchRatAdjTok); + end; + + var + ExchRatAdjTok: Label 'EXCHRATADJ', MaxLength = 10; + RIBATok: Label 'RIBA', MaxLength = 10; + BankTransfTok: Label 'BANKTRANSF', MaxLength = 10; + StartTok: Label 'START', MaxLength = 10; + GLCurRevalTok: Label 'GLCURREVAL', MaxLength = 10; + BankTransfersLbl: Label 'Bank Transfers', MaxLength = 100; + OpeningEntriesLbl: Label 'Opening Entries', MaxLength = 100; + GLCurrencyRevaluationLbl: Label 'G/L Currency Revaluation', MaxLength = 100; + BankReceiptsLbl: Label 'Bank Receipts', MaxLength = 100; + ExchangeRatesAdjustmentLbl: Label 'Exchange Rates Adjustment', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeSetupIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeSetupIT.Codeunit.al new file mode 100644 index 0000000000..ddbc88a9a1 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateSourceCodeSetupIT.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 12228 "Create Source Code Setup IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSourceCodeSetup(); + end; + + local procedure UpdateSourceCodeSetup() + var + SourceCodeSetup: Record "Source Code Setup"; + CreateSourceCodeIT: Codeunit "Create Source Code IT"; + begin + SourceCodeSetup.Get(); + + SourceCodeSetup.Validate("G/L Currency Revaluation", CreateSourceCodeIT.GLCurReval()); + SourceCodeSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateUnitOfMeasureTransIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateUnitOfMeasureTransIT.Codeunit.al new file mode 100644 index 0000000000..6ec0b9fe81 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateUnitOfMeasureTransIT.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 12241 "Create UnitOfMeasureTrans. IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Unit of Measure Translation", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertUnitofMeasureTranslation(var Rec: Record "Unit of Measure Translation") + var + CreateLanguage: Codeunit "Create Language"; + CreateUnitofMeasure: Codeunit "Create Unit of Measure"; + begin + if (Rec.Code = CreateUnitofMeasure.Piece()) and (Rec."Language Code" = CreateLanguage.DEU()) then + Rec.Validate(Description, 'stÂück'); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateVATIdentifierIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateVATIdentifierIT.Codeunit.al new file mode 100644 index 0000000000..ba7ca3ae4a --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Foundation/1. Setup Data/CreateVATIdentifierIT.Codeunit.al @@ -0,0 +1,58 @@ +codeunit 12219 "Create VAT Identifier IT" +{ + trigger OnRun() + var + CreateVATPostingGroupsIT: Codeunit "Create VAT Posting Groups IT"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + ContosoVATIdentifier: Codeunit "Contoso VAT Identifier"; + begin + ContosoVATIdentifier.InsertVATIdentifier(CreateVATPostingGroupsIT.E13(), TaxExemptArt13Lbl); + ContosoVATIdentifier.InsertVATIdentifier(CreateVATPostingGroupsIT.IND50(), Vat2050NondeductibleLbl); + ContosoVATIdentifier.InsertVATIdentifier(CreateVATPostingGroupsIT.IND100(), Vat20100NondeductibleLbl); + ContosoVATIdentifier.InsertVATIdentifier(CreateVATPostingGroupsIT.NI8(), NonTaxableArt81Lbl); + ContosoVATIdentifier.InsertVATIdentifier(NI9(), NonTaxableArt9Lbl); + ContosoVATIdentifier.InsertVATIdentifier(NI41(), NIArt41DL33193Lbl); + ContosoVATIdentifier.InsertVATIdentifier(FCI2(), FCIArt2Lbl); + ContosoVATIdentifier.InsertVATIdentifier(E10(), TaxExemptArt10Lbl); + ContosoVATIdentifier.InsertVATIdentifier(CreateVATPostingGroups.Reduced(), VAT10Lbl); + ContosoVATIdentifier.InsertVATIdentifier(CreateVATPostingGroups.Standard(), VAT20Lbl); + ContosoVATIdentifier.InsertVATIdentifier(CreateVATPostingGroups.Zero(), NonTaxableLbl); + end; + + procedure E10(): Code[20] + begin + exit(E10Tok); + end; + + procedure FCI2(): Code[20] + begin + exit(FCI2Tok); + end; + + procedure NI41(): Code[20] + begin + exit(NI41Tok); + end; + + procedure NI9(): Code[20] + begin + exit(NI9Tok); + end; + + var + E10Tok: Label 'E10', MaxLength = 20; + FCI2Tok: Label 'FCI2', MaxLength = 20; + NI41Tok: Label 'NI41', MaxLength = 20; + NI9Tok: Label 'NI9', MaxLength = 20; + TaxExemptArt13Lbl: Label 'Tax exempt - art. 13', MaxLength = 50; + Vat20100NondeductibleLbl: Label 'VAT 20% - 100% Nondeductible', MaxLength = 50; + Vat2050NondeductibleLbl: Label 'VAT 20% - 50% Nondeductible', MaxLength = 50; + NonTaxableArt81Lbl: Label 'Non Taxable - Art. 8/1', MaxLength = 50; + VAT10Lbl: Label 'VAT 10%', MaxLength = 50; + VAT20Lbl: Label 'VAT 20%', MaxLength = 50; + NonTaxableLbl: Label 'Non taxable', MaxLength = 50; + NonTaxableArt9Lbl: Label 'Non Taxable - Art. 9', MaxLength = 50; + NIArt41DL33193Lbl: Label 'N.I. Art. 41 DL 331/93', MaxLength = 50; + FCIArt2Lbl: Label 'F.C.I. Art.2', MaxLength = 50; + TaxExemptArt10Lbl: Label 'Tax exempt - art. 10', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Inventory/2.Master Data/CreateItemIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Inventory/2.Master Data/CreateItemIT.Codeunit.al new file mode 100644 index 0000000000..940be54a0d --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Inventory/2.Master Data/CreateItemIT.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 12204 "Create Item IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1005.8, 784.6); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 435.8, 339.9); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 651.1, 508); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 189.8, 0); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 55.2, 43.1); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 126.4, 0); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 343.5, 0); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1404.3, 1095.3); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 191, 148.9); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Inventory/2.Master Data/CreateLocationIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Inventory/2.Master Data/CreateLocationIT.Codeunit.al new file mode 100644 index 0000000000..240d6fb63f --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Inventory/2.Master Data/CreateLocationIT.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 12205 "Create Location IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Location) + var + CreateLocations: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocations.EastLocation(): + ValidateRecordFields(Rec, EastLocationAddressLbl, EastLocationCityLbl, EastLocationContactLbl, EastLocationPostCodeLbl); + CreateLocations.MainLocation(): + ValidateRecordFields(Rec, MainLocationAddressLbl, MainLocationCityLbl, MainLocationContactLbl, MainLocationPostCodeLbl); + CreateLocations.WestLocation(): + ValidateRecordFields(Rec, WestLocationAddressLbl, WestLocationCityLbl, WestLocationContactLbl, WestLocationPostCodeLbl); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; Address: Text[100]; City: Text[30]; Contact: Text[100]; PostCode: Code[20]) + begin + + Location.Validate(Address, Address); + Location.Validate("Address 2", ''); + Location.Validate(Contact, Contact); + Location.Validate("Post Code", PostCode); + Location.Validate(City, City); + end; + + var + EastLocationAddressLbl: Label 'Main Liverpool Street, 5', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label 'Main Bristol Street, 10', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label 'South East Street, 3', MaxLength = 100, Locked = true; + EastLocationCityLbl: Label 'Genova', MaxLength = 30, Locked = true; + MainLocationCityLbl: Label 'Macerata', MaxLength = 30, Locked = true; + WestLocationCityLbl: Label 'Genova', MaxLength = 30, Locked = true; + WestLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; + MainLocationContactLbl: Label 'Jeanne Bosworth', MaxLength = 100; + EastLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + EastLocationPostCodeLbl: Label '16143', MaxLength = 20; + MainLocationPostCodeLbl: Label '62100', MaxLength = 20; + WestLocationPostCodeLbl: Label '16100', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupIT.Codeunit.al new file mode 100644 index 0000000000..5424b5c31d --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/1.Setup Data/CreatePurchPayableSetupIT.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 12253 "Create Purch. Payable Setup IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdatePurchasesPayablesSetup() + end; + + local procedure UpdatePurchasesPayablesSetup() + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + CreateNoSeriesIT: Codeunit "Create No. Series IT"; + begin + PurchasesPayablesSetup.Get(); + + PurchasesPayablesSetup.Validate("Temporary Bill List No.", CreateNoSeriesIT.VendorBillsBRListNo()); + PurchasesPayablesSetup.Validate("Prevent Posted Doc. Deletion", true); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueIT.Codeunit.al new file mode 100644 index 0000000000..6a3d892d53 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueIT.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 12240 "Create Purch. Dim. Value IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeSouthArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/2.Master Data/CreateVendorIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/2.Master Data/CreateVendorIT.Codeunit.al new file mode 100644 index 0000000000..7df58df069 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/2.Master Data/CreateVendorIT.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 12218 "Create Vendor IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreateTerritory: Codeunit "Create Territory"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + Rec.Validate("VAT Registration No.", ExportFabrikamVatRegNoLbl); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, NapoliCityLbl, DomesticFirstUpVatRegNoLbl, PostCode80100Lbl, CreateTerritory.Foreign()); + CreateVendor.EUGraphicDesign(): + Rec.Validate("VAT Registration No.", EUGraphicDesignVatRegNoLbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, ReggioEmiliaCityLbl, DomesticWorldImporterVatRegNoLbl, PostCode42100Lbl, CreateTerritory.Foreign()); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, ArenzanoCityLbl, DomesticNodPublisherVatRegNoLbl, PostCode16011Lbl, CreateTerritory.Foreign()); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; TerritoryCode: Code[10]) + begin + Vendor.Validate(City, City); + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("Territory Code", TerritoryCode); + end; + + var + NapoliCityLbl: Label 'Napoli', MaxLength = 30, Locked = true; + ReggioEmiliaCityLbl: Label 'Reggio Emilia', MaxLength = 30, Locked = true; + ArenzanoCityLbl: Label 'Arenzano', MaxLength = 30, Locked = true; + ExportFabrikamVatRegNoLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVatRegNoLbl: Label '274863274', MaxLength = 20; + EUGraphicDesignVatRegNoLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVatRegNoLbl: Label '197548769', MaxLength = 20; + DomesticNodPublisherVatRegNoLbl: Label '295267495', MaxLength = 20; + PostCode80100Lbl: Label '80100', MaxLength = 20; + PostCode42100Lbl: Label '42100', MaxLength = 20; + PostCode16011Lbl: Label '16011', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/3.Transaction Data/CreatePurchaseDocumentIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/3.Transaction Data/CreatePurchaseDocumentIT.Codeunit.al new file mode 100644 index 0000000000..1f881c0b67 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Purchase/3.Transaction Data/CreatePurchaseDocumentIT.Codeunit.al @@ -0,0 +1,107 @@ +codeunit 12221 "Create Purchase Document IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePurchaseDocument(); + UpdatePurchDocCheckTotal(); + RecreatePurchaseDocumentsByDateOrder(); + end; + + local procedure UpdatePurchaseDocument() + var + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + Resource: Record Resource; + begin + if PurchaseHeader.FindSet() then + repeat + PurchaseHeader.Validate("Payment Method Code", BankTransfer()); + PurchaseHeader.Modify(true); + until PurchaseHeader.Next() = 0; + + PurchaseLine.SetRange(Type, PurchaseLine.Type::Resource); + if PurchaseLine.FindSet() then + repeat + Resource.Get(PurchaseLine."No."); + PurchaseLine.Validate("Direct Unit Cost", Resource."Direct Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + end; + + local procedure RecreatePurchaseDocumentsByDateOrder() + var + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + TempPurchaseHeader: Record "Purchase Header" temporary; + TempPurchaseLine: Record "Purchase Line" temporary; + begin + if PurchaseHeader.FindSet() then + repeat + TempPurchaseHeader.Init(); + TempPurchaseHeader := PurchaseHeader; + TempPurchaseHeader.Insert(); + PurchaseLine.SetRange("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.SetRange("Document No.", PurchaseHeader."No."); + if PurchaseLine.FindSet() then + repeat + TempPurchaseLine.Init(); + TempPurchaseLine := PurchaseLine; + TempPurchaseLine.Insert(); + until PurchaseLine.Next() = 0; + until PurchaseHeader.Next() = 0; + + PurchaseHeader.Reset(); + PurchaseHeader.DeleteAll(); + PurchaseLine.Reset(); + PurchaseLine.DeleteAll(); + + TempPurchaseHeader.SetCurrentKey("Document Type", "Posting Date"); + if TempPurchaseHeader.FindSet() then + repeat + PurchaseHeader.Init(); + PurchaseHeader := TempPurchaseHeader; + PurchaseHeader."No." := ''; + PurchaseHeader.Insert(true); + TempPurchaseLine.SetRange("Document Type", TempPurchaseHeader."Document Type"); + TempPurchaseLine.SetRange("Document No.", TempPurchaseHeader."No."); + if TempPurchaseLine.FindSet() then + repeat + PurchaseLine.Init(); + PurchaseLine := TempPurchaseLine; + PurchaseLine."Document No." := PurchaseHeader."No."; + PurchaseLine.Insert(); + until TempPurchaseLine.Next() = 0; + until TempPurchaseHeader.Next() = 0; + end; + + local procedure UpdatePurchDocCheckTotal() + var + PurchaseHeader: Record "Purchase Header"; + begin + if PurchaseHeader.FindSet() then + repeat + PurchaseHeader.CalcFields("Amount Including VAT"); + PurchaseHeader.Validate("Check Total", PurchaseHeader."Amount Including VAT"); + PurchaseHeader.Modify(); + until PurchaseHeader.Next() = 0; + end; + + [EventSubscriber(ObjectType::Table, Database::"Purchase Header", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertPurchaseDocument(var Rec: Record "Purchase Header") + begin + Rec.SetHideValidationDialog(true); + end; + + procedure BankTransfer(): Code[10] + begin + exit(BankTransfTok); + end; + + var + BankTransfTok: Label 'BANKTRANSF', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelIT.Codeunit.al new file mode 100644 index 0000000000..e5fd8158a5 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelIT.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 12234 "Create Reminder Level IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + Rec.Validate("Additional Fee (LCY)", 7.8); + if Rec."No." = 2 then + Rec.Validate("Additional Fee (LCY)", 15.6); + if Rec."No." = 3 then + Rec.Validate("Additional Fee (LCY)", 23.2); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupIT.Codeunit.al new file mode 100644 index 0000000000..91bcf89e6a --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupIT.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 12211 "Create Sales Recv. Setup IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + CreateNoSeriesIT: Codeunit "Create No. Series IT"; + begin + SalesReceivablesSetup.Get(); + + Evaluate(SalesReceivablesSetup."Bank Receipts Risk Period", BankReceiptsRiskPeriodLbl); + SalesReceivablesSetup.Validate("Bank Receipts Risk Period"); + SalesReceivablesSetup.Validate("Temporary Bill List No.", CreateNoSeriesIT.TemporaryCustBillListNo()); + SalesReceivablesSetup.Validate("Recall Bill Description", RecallBillLbl); + SalesReceivablesSetup.Validate("Fattura PA Nos.", CreateNoSeriesIT.FatturaPA()); + SalesReceivablesSetup.Validate("Prevent Posted Doc. Deletion", true); + SalesReceivablesSetup.Validate("Fattura PA Electronic Format", FatturapaLbl); + + SalesReceivablesSetup.Modify(true); + end; + + var + BankReceiptsRiskPeriodLbl: Label '<20D>', MaxLength = 20; + RecallBillLbl: Label 'Recall Bill', MaxLength = 50, Locked = true; + FatturapaLbl: Label 'FATTURAPA', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateCustomerIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateCustomerIT.Codeunit.al new file mode 100644 index 0000000000..a1d62c5388 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateCustomerIT.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 12210 "Create Customer IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateLanguage: Codeunit "Create Language"; + CreateTerritory: Codeunit "Create Territory"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, GenovaCityLbl, DomesticAdatumCorporationVatRegNoLbl, PostCode16100Lbl, CreateTerritory.Foreign(), CreateLanguage.ITA()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, CremonaCityLbl, DomesticTreyResearchVatRegNoLbl, PostCode26100Lbl, CreateTerritory.Foreign(), CreateLanguage.ITA()); + CreateCustomer.ExportSchoolofArt(): + Rec.Validate("VAT Registration No.", ExportSchoolofArtVatRegNoLbl); + CreateCustomer.EUAlpineSkiHouse(): + Rec.Validate("VAT Registration No.", EUAlpineSkiHouseVatRegNoLbl); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, VeronaCityLbl, DomesticRelecloudVatRegNoLbl, PostCode37100Lbl, CreateTerritory.Foreign(), CreateLanguage.ITA()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; TerritoryCode: Code[10]; LanguageCode: Code[10]) + begin + Customer.Validate(City, City); + Customer.Validate("VAT Registration No.", VatRegNo); + Customer.Validate("Post Code", PostCode); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Language Code", LanguageCode); + end; + + var + GenovaCityLbl: Label 'Genova', MaxLength = 30, Locked = true; + CremonaCityLbl: Label 'Cremona', MaxLength = 30, Locked = true; + VeronaCityLbl: Label 'Verona', MaxLength = 30, Locked = true; + DomesticAdatumCorporationVatRegNoLbl: Label '789456278', MaxLength = 20; + DomesticTreyResearchVatRegNoLbl: Label '254687456', MaxLength = 20; + ExportSchoolofArtVatRegNoLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegNoLbl: Label '533435789', MaxLength = 20; + DomesticRelecloudVatRegNoLbl: Label '582048936', MaxLength = 20; + PostCode16100Lbl: Label '16100', MaxLength = 20; + PostCode26100Lbl: Label '26100', MaxLength = 20; + PostCode37100Lbl: Label '37100', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueIT.Codeunit.al new file mode 100644 index 0000000000..6e4018e99a --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueIT.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 12239 "Create Sales Dim Value IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeSouthArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateShipToAddressIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateShipToAddressIT.Codeunit.al new file mode 100644 index 0000000000..c2e21d662a --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/2.Master Data/CreateShipToAddressIT.Codeunit.al @@ -0,0 +1,73 @@ +codeunit 12226 "Create Ship-to Address IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + Cheltenham(): + ValidateShiptoAddress(Rec, MilanoCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode20100Lbl); + London(): + ValidateShiptoAddress(Rec, PalermoCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode90100Lbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + Fleet(): + ValidateShiptoAddress(Rec, LivornoCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode57100Lbl); + TWYCross(): + ValidateShiptoAddress(Rec, ArenzanoCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", PostCode16011Lbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; CountryRegionCode: Code[10]; PostCode: Code[20]) + begin + + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + procedure Cheltenham(): Code[10] + begin + exit(CheltenhamTok); + end; + + procedure London(): Code[10] + begin + exit(LondonTok); + end; + + procedure Fleet(): Code[10] + begin + exit(FleetTok); + end; + + procedure TWYCross(): Code[10] + begin + exit(TWYCrossTok); + end; + + var + CheltenhamTok: Label 'CHELTENHAM', MaxLength = 10; + LondonTok: Label 'LONDON', MaxLength = 10; + FleetTok: Label 'FLEET', MaxLength = 10; + TWYCrossTok: Label 'TWYCROSS', MaxLength = 10; + MilanoCityLbl: Label 'Milano', MaxLength = 30; + PalermoCityLbl: Label 'Palermo', MaxLength = 30; + ArenzanoCityLbl: Label 'Arenzano', MaxLength = 30; + LivornoCityLbl: Label 'Livorno', MaxLength = 30; + PostCode20100Lbl: Label '20100', MaxLength = 20; + PostCode90100Lbl: Label '90100', MaxLength = 20; + PostCode57100Lbl: Label '57100', MaxLength = 20; + PostCode16011Lbl: Label '16011', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/3.Transaction Data/CreateSalesDocumentIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/3.Transaction Data/CreateSalesDocumentIT.Codeunit.al new file mode 100644 index 0000000000..9f5b78ba18 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Data/Sales/3.Transaction Data/CreateSalesDocumentIT.Codeunit.al @@ -0,0 +1,115 @@ +codeunit 12222 "Create Sales Document IT" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePostingDateOnSalesDocument(); + RecreateSalesDocumentsByDateOrder(); + end; + + local procedure UpdatePostingDateOnSalesDocument() + var + SalesHeader: Record "Sales Header"; + CreateSourceCodeIT: Codeunit "Create Source Code IT"; + FromDate: Date; + begin + FromDate := CalcDate('<-7M>', CalcDate('<-CM>', Today)); + + SalesHeader.SetFilter("Document Type", '%1|%2', SalesHeader."Document Type"::Order, SalesHeader."Document Type"::Invoice); + if SalesHeader.FindSet() then + repeat + if SalesHeader."No." = '101001' then + SalesHeader.Validate("Posting Date", CalcDate('<+1D>', FromDate)); + if SalesHeader."No." = '101002' then + SalesHeader.Validate("Posting Date", CalcDate('<+1M>', FromDate)); + if SalesHeader."No." = '101003' then begin + SalesHeader.Validate("Posting Date", CalcDate('<+3W>', FromDate)); + SalesHeader.Validate("Payment Method Code", CreateSourceCodeIT.RIBA()); + end; + if SalesHeader."No." = '101004' then + SalesHeader.Validate("Posting Date", CalcDate('<+6W>', FromDate)); + + if SalesHeader."No." = '102205' then + SalesHeader.Validate("Posting Date", CalcDate('<+1D>', FromDate)); + if SalesHeader."No." = '102199' then + SalesHeader.Validate("Posting Date", CalcDate('<+3D>', FromDate)); + if SalesHeader."No." = '102200' then + SalesHeader.Validate("Posting Date", CalcDate('<+1M>', FromDate)); + if SalesHeader."No." = '102201' then + SalesHeader.Validate("Posting Date", CalcDate('<+2D>', FromDate)); + if SalesHeader."No." = '102202' then begin + SalesHeader.Validate("Posting Date", CalcDate('<+4D>', FromDate)); + SalesHeader.Validate("Payment Method Code", CreateSourceCodeIT.RIBA()); + end; + if SalesHeader."No." = '102203' then begin + SalesHeader.Validate("Posting Date", CalcDate('<+6W>', FromDate)); + SalesHeader.Validate("Payment Method Code", CreateSourceCodeIT.RIBA()); + end; + if SalesHeader."No." = '102204' then + SalesHeader.Validate("Posting Date", CalcDate('<+1M>', FromDate)); + SalesHeader.Modify(true); + until SalesHeader.Next() = 0; + end; + + local procedure RecreateSalesDocumentsByDateOrder() + var + SalesHeader: Record "Sales Header"; + SalesLine: Record "Sales Line"; + TempSalesHeader: Record "Sales Header" temporary; + TempSalesLine: Record "Sales Line" temporary; + begin + if SalesHeader.FindSet() then + repeat + TempSalesHeader.Init(); + TempSalesHeader := SalesHeader; + TempSalesHeader.Insert(); + SalesLine.SetRange("Document Type", SalesHeader."Document Type"); + SalesLine.SetRange("Document No.", SalesHeader."No."); + if SalesLine.FindSet() then + repeat + TempSalesLine.Init(); + TempSalesLine := SalesLine; + TempSalesLine.Insert(); + until SalesLine.Next() = 0; + until SalesHeader.Next() = 0; + + SalesHeader.Reset(); + SalesHeader.DeleteAll(); + SalesLine.Reset(); + SalesLine.DeleteAll(); + + TempSalesHeader.SetCurrentKey("Document Type", "Posting Date"); + if TempSalesHeader.FindSet() then + repeat + SalesHeader.Init(); + SalesHeader := TempSalesHeader; + SalesHeader."No." := ''; + SalesHeader.Insert(true); + TempSalesLine.SetRange("Document Type", TempSalesHeader."Document Type"); + TempSalesLine.SetRange("Document No.", TempSalesHeader."No."); + if TempSalesLine.FindSet() then + repeat + SalesLine.Init(); + SalesLine := TempSalesLine; + SalesLine."Document No." := SalesHeader."No."; + SalesLine.Insert(); + until TempSalesLine.Next() = 0; + until TempSalesHeader.Next() = 0; + end; + + [EventSubscriber(ObjectType::Table, Database::"Sales Header", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertSalesDocument(var Rec: Record "Sales Header") + begin + Rec.SetHideValidationDialog(true); + end; + + [EventSubscriber(ObjectType::Table, Database::"Sales Header", 'OnValidatePostingDateOnAfterCheckNeedUpdateCurrencyFactor', '', false, false)] + local procedure OnAfterValidatePostingDate(var SalesHeader: Record "Sales Header") + begin + SalesHeader.Validate("Due Date", SalesHeader."Posting Date"); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/CommonModuleIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/CommonModuleIT.Codeunit.al similarity index 91% rename from Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/CommonModuleIT.Codeunit.al rename to Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/CommonModuleIT.Codeunit.al index c5850cafeb..bbc5682344 100644 --- a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/CommonModuleIT.Codeunit.al +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/CommonModuleIT.Codeunit.al @@ -11,7 +11,7 @@ codeunit 12169 "Common Module IT" begin if Module = Enum::"Contoso Demo Data Module"::"Common Module" then if ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data" then - InsertVATIdentifier(CommonPostingGroup.StandardVAT(), CommonPostingGroup.StandardVAT()); + InsertVATIdentifier(CommonPostingGroup.StandardVAT(), VAT20Lbl); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] @@ -20,6 +20,7 @@ codeunit 12169 "Common Module IT" ContosoPostingSetup: Codeunit "Contoso Posting Setup"; CommonPostingGroup: Codeunit "Create Common Posting Group"; CommonGLAccount: Codeunit "Create Common GL Account"; + CreateVATPostingGroupsIT: Codeunit "Create VAT Posting Groups IT"; LocalStandardVATPercentage: Decimal; begin if Module = Enum::"Contoso Demo Data Module"::"Common Module" then @@ -29,6 +30,8 @@ codeunit 12169 "Common Module IT" ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT"); ContosoPostingSetup.SetOverwriteData(false); end; + + CreateVATPostingGroupsIT.UpdateVATPostingSetupIT(); end; @@ -48,4 +51,7 @@ codeunit 12169 "Common Module IT" else VATIdentifier.Insert(true); end; + + var + VAT20Lbl: Label 'VAT 20%', MaxLength = 50; } \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoABICABIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoABICABIT.Codeunit.al new file mode 100644 index 0000000000..29793cb267 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoABICABIT.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 12207 "Contoso ABI CAB IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "ABI/CAB Codes" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertABICABCode(Abi: Code[5]; Cab: Code[5]) + var + ABICABCodes: Record "ABI/CAB Codes"; + Exists: Boolean; + begin + if ABICABCodes.Get(Abi, Cab) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ABICABCodes.Validate(ABI, Abi); + ABICABCodes.Validate(CAB, Cab); + + if Exists then + ABICABCodes.Modify(true) + else + ABICABCodes.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoBill.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoBill.Codeunit.al new file mode 100644 index 0000000000..264adb53ec --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoBill.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 12232 "Contoso Bill" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata Bill = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertBillCode(Code: Code[20]; Description: Text[30]; AllowIssue: Boolean; BankReceipt: Boolean; BillsforCollTempAccNo: Code[20]; TemporaryBillNo: Code[20]; FinalBillNo: Code[20]; ListNo: Code[20]; BillSourceCode: Code[10]; VendorBillNo: Code[20]; VendorBillList: Code[20]; VendBillSourceCode: Code[20]) + var + Bill: Record Bill; + Exists: Boolean; + begin + if Bill.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Bill.Validate(Code, Code); + Bill.Validate(Description, Description); + Bill.Validate("Allow Issue", AllowIssue); + Bill.Validate("Bank Receipt", BankReceipt); + Bill.Validate("Bills for Coll. Temp. Acc. No.", BillsforCollTempAccNo); + Bill.Validate("Temporary Bill No.", TemporaryBillNo); + Bill.Validate("Final Bill No.", FinalBillNo); + Bill.Validate("List No.", ListNo); + Bill.Validate("Bill Source Code", BillSourceCode); + Bill.Validate("Vendor Bill No.", VendorBillNo); + Bill.Validate("Vendor Bill List", VendorBillList); + Bill.Validate("Vend. Bill Source Code", VendBillSourceCode); + + if Exists then + Bill.Modify(true) + else + Bill.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoNoSeriesIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoNoSeriesIT.Codeunit.al new file mode 100644 index 0000000000..0ecaa30c4c --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoNoSeriesIT.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 12224 "Contoso No. Series IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "No. Series Line" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertNoSeriesSalesPurchase(NoSeriesCode: Code[20]; LineNo: Integer; StartingNo: Code[20]; StartingDate: Date) + var + NoSeriesLine: Record "No. Series Line"; + Exists: Boolean; + begin + if NoSeriesLine.Get(NoSeriesCode, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + NoSeriesLine.Validate("Series Code", NoSeriesCode); + NoSeriesLine.Validate("Line No.", LineNo); + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Starting Date", StartingDate); + + if Exists then + NoSeriesLine.Modify(true) + else + NoSeriesLine.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoPaymentLines.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoPaymentLines.Codeunit.al new file mode 100644 index 0000000000..59d532e3b5 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoPaymentLines.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 12223 "Contoso Payment Lines" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Payment Lines" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPaymentLines(Type: Enum "Payment Lines Document Type"; Code: Code[10]; LineNo: Integer; PaymentPerc: Decimal; DueDateCalculation: DateFormula; DiscountDateCalculation: DateFormula; DiscountPerc: Decimal; SalesPurchase: Option; JournalTemplateName: Code[10]; JournalLineNo: Integer) + var + PaymentLines: Record "Payment Lines"; + Exists: Boolean; + begin + if PaymentLines.Get(SalesPurchase, Type, Code, JournalTemplateName, JournalLineNo, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PaymentLines.Validate(Type, Type); + PaymentLines.Validate(Code, Code); + PaymentLines.Validate("Line No.", LineNo); + PaymentLines.Validate("Payment %", PaymentPerc); + PaymentLines.Validate("Due Date Calculation", DueDateCalculation); + PaymentLines.Validate("Discount Date Calculation", DiscountDateCalculation); + PaymentLines.Validate("Discount %", DiscountPerc); + PaymentLines.Validate("Sales/Purchase", SalesPurchase); + PaymentLines.Validate("Journal Template Name", JournalTemplateName); + PaymentLines.Validate("Journal Line No.", JournalLineNo); + + if Exists then + PaymentLines.Modify(true) + else + PaymentLines.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoPostCodeIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoPostCodeIT.Codeunit.al new file mode 100644 index 0000000000..c6fc16ddad --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoPostCodeIT.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 12250 "Contoso Post Code IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoVATIdentifier.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoVATIdentifier.Codeunit.al new file mode 100644 index 0000000000..f6fba905b4 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoVATIdentifier.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 12220 "Contoso VAT Identifier" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "ABI/CAB Codes" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVATIdentifier(Code: Code[20]; Description: Text[50]) + var + VATIdentifier: Record "VAT Identifier"; + Exists: Boolean; + begin + if VATIdentifier.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATIdentifier.Validate(Code, Code); + VATIdentifier.Validate(Description, Description); + + if Exists then + VATIdentifier.Modify(true) + else + VATIdentifier.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoVATStatementIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoVATStatementIT.Codeunit.al new file mode 100644 index 0000000000..11e787c2cb --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/Contoso Helpers/ContosoVATStatementIT.Codeunit.al @@ -0,0 +1,128 @@ +codeunit 12237 "Contoso VAT Statement IT" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "VAT Statement Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVatStatementLineWithAnnualVATCommField(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementLineNo: Integer; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; GenPostingType: Option; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]; AnnualVATCommField: Option) + var + VatStatementLine: Record "VAT Statement Line"; + Exists: Boolean; + begin + if VatStatementLine.Get(StatementTemplateName, StatementName, StatementLineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatStatementLine.Validate("Statement Template Name", StatementTemplateName); + VatStatementLine.Validate("Statement Name", StatementName); + VatStatementLine.Validate("Line No.", StatementLineNo); + VatStatementLine.Validate("Row No.", StatementRowNo); + VatStatementLine.Validate(Description, StatementDesc); + VatStatementLine.Validate(Type, StatementLineType); + VatStatementLine.Validate("Gen. Posting Type", GenPostingType); + VatStatementLine.Validate("VAT Bus. Posting Group", VatBusPostingGrp); + VatStatementLine.Validate("VAT Prod. Posting Group", VAtProdPostingGrp); + VatStatementLine.Validate("Row Totaling", RowTotaling); + VatStatementLine.Validate("Amount Type", AmountType); + VatStatementLine.Validate("Calculate with", CalulationWith); + VatStatementLine.Validate(Print, StatementPrint); + VatStatementLine.Validate("Print with", PrintWith); + VatStatementLine.Validate("Annual VAT Comm. Field", AnnualVATCommField); + + if Exists then + VatStatementLine.Modify(true) + else + VatStatementLine.Insert(true); + end; + + procedure InsertVatStatementLine(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementLineNo: Integer; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; GenPostingType: Option; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]) + var + VatStatementLine: Record "VAT Statement Line"; + Exists: Boolean; + begin + if VatStatementLine.Get(StatementTemplateName, StatementName, StatementLineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatStatementLine.Validate("Statement Template Name", StatementTemplateName); + VatStatementLine.Validate("Statement Name", StatementName); + VatStatementLine.Validate("Line No.", StatementLineNo); + VatStatementLine.Validate("Row No.", StatementRowNo); + VatStatementLine.Validate(Description, StatementDesc); + VatStatementLine.Validate(Type, StatementLineType); + VatStatementLine.Validate("Gen. Posting Type", GenPostingType); + VatStatementLine.Validate("VAT Bus. Posting Group", VatBusPostingGrp); + VatStatementLine.Validate("VAT Prod. Posting Group", VAtProdPostingGrp); + VatStatementLine.Validate("Row Totaling", RowTotaling); + VatStatementLine.Validate("Amount Type", AmountType); + VatStatementLine.Validate("Calculate with", CalulationWith); + VatStatementLine.Validate(Print, StatementPrint); + VatStatementLine.Validate("Print with", PrintWith); + + if Exists then + VatStatementLine.Modify(true) + else + VatStatementLine.Insert(true); + end; + + procedure InsertVATAssistedSetupBusGrp(VatAssistedCode: Code[20]; VatAssistedDesc: Text[100]; VatAssistedDefault: Boolean; VatAssistedSelected: Boolean) + var + VatAssistedSetupBusGrp: Record "VAT Assisted Setup Bus. Grp."; + Exists: Boolean; + begin + if VatAssistedSetupBusGrp.Get(VatAssistedCode, VatAssistedDefault) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatAssistedSetupBusGrp.Validate(Code, VatAssistedCode); + VatAssistedSetupBusGrp.Validate(Default, VatAssistedDefault); + VatAssistedSetupBusGrp.Validate(Description, VatAssistedDesc); + VatAssistedSetupBusGrp.Validate(Selected, VatAssistedSelected); + + if Exists then + VatAssistedSetupBusGrp.Modify(true) + else + VatAssistedSetupBusGrp.Insert(true); + end; + + procedure InsertVATReportConfiguration(ReportConfig: Enum "VAT Report Configuration"; Version: Code[10]; SuggestCodeunit: Integer; ValidateCodeunit: Integer) + var + VATReportConfiguration: Record "VAT Reports Configuration"; + Exists: Boolean; + begin + if VATReportConfiguration.Get(ReportConfig, Version) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATReportConfiguration.Validate("VAT Report Type", ReportConfig); + VATReportConfiguration.Validate("VAT Report Version", Version); + VATReportConfiguration.Validate("Suggest Lines Codeunit ID", SuggestCodeunit); + VATReportConfiguration.Validate("Validate Codeunit ID", ValidateCodeunit); + + if Exists then + VATReportConfiguration.Modify(true) + else + VATReportConfiguration.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/ContosoDemoDataSetupIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/ContosoDemoDataSetupIT.Codeunit.al similarity index 100% rename from Apps/IT/ContosoCoffeeDemoDatasetIT/app/Codeunits/ContosoDemoDataSetupIT.Codeunit.al rename to Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/ContosoDemoDataSetupIT.Codeunit.al diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/ITContosoLocalization.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/ITContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..60247bddc9 --- /dev/null +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/Demo Tool/ITContosoLocalization.Codeunit.al @@ -0,0 +1,265 @@ +codeunit 12251 "IT Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::CRM then + CRMModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information IT"); + Codeunit.Run(Codeunit::"Create No. Series IT"); + Codeunit.Run(Codeunit::"Create Post Code IT"); + Codeunit.Run(Codeunit::"Create Payment Term IT"); + Codeunit.Run(Codeunit::"Create VAT Identifier IT"); + Codeunit.Run(Codeunit::"Create VAT Posting Groups IT"); + Codeunit.Run(Codeunit::"Create ABI CAB Code IT"); + Codeunit.Run(Codeunit::"Create Source Code IT"); + Codeunit.Run(Codeunit::"Create Source Code Setup IT"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupIT: Codeunit "Create VAT Posting Groups IT"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + CreateVatPostingGroupIT.InsertVATPostingSetup(); + CreateVatPostingGroupIT.UpdateVATPostingSetupIT(); + Codeunit.Run(Codeunit::"Create General Ledger Setup IT"); + Codeunit.Run(Codeunit::"Create Currency IT"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Currency Ex. Rate IT"); + Codeunit.Run(Codeunit::"Create VAT Statement IT"); + Codeunit.Run(Codeunit::"Create Bill Code IT"); + Codeunit.Run(Codeunit::"Create Payment Method IT"); + end; + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Sales Recv. Setup IT"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Sales Document IT"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Purch. Payable Setup IT"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Purchase Document IT"); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Marketing Setup IT"); + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Territory IT"); + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line IT"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateLocationIT: Codeunit "Create Location IT"; + CreateItemIT: Codeunit "Create Item IT"; + CreateBankAccountIT: Codeunit "Create Bank Account IT"; + CreateCustomerIT: Codeunit "Create Customer IT"; + CreateVendorIT: Codeunit "Create Vendor IT"; + CreateResourceIT: Codeunit "Create Resource IT"; + CreateCurrencyExchRateIT: Codeunit "Create Currency Ex. Rate IT"; + CreateVatPostingGroupsIT: Codeunit "Create Vat Posting Groups IT"; + CreateVATSetupPostingGrpIT: Codeunit "Create VATSetupPostingGrp. IT"; + CreateNoSeriesIT: Codeunit "Create No. Series IT"; + CreatePurchaseDocumentIT: Codeunit "Create Purchase Document IT"; + CreateSalesDocumentIT: Codeunit "Create Sales Document IT"; + CreateGenJournalBatchIT: Codeunit "Create Gen Journal Batch IT"; + CreateShiptoAddressIT: Codeunit "Create Ship-to Address IT"; + CreateReminderLevelIT: Codeunit "Create Reminder Level IT"; + CreateAccScheduleLineIT: Codeunit "Create Acc. Schedule Line IT"; + CreateVATStatementIT: Codeunit "Create VAT Statement IT"; + CreateGenJournalLineIT: Codeunit "Create Gen. Journal Line IT"; + CreateSalesDimValueIT: Codeunit "Create Sales Dim Value IT"; + CreatePurchDimValueIT: Codeunit "Create Purch. Dim. Value IT"; + CreateUnitOfMeasureTransIT: Codeunit "Create UnitOfMeasureTrans. IT"; + CreateCurrencyIT: Codeunit "Create Currency IT"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + BindSubscription(CreateNoSeriesIT); + BindSubscription(CreateUnitOfMeasureTransIT); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccountIT); + BindSubscription(CreateGenJournalLineIT); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateItemIT); + BindSubscription(CreateLocationIT); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustomerIT); + BindSubscription(CreateSalesDocumentIT); + BindSubscription(CreateShiptoAddressIT); + BindSubscription(CreateReminderLevelIT); + BindSubscription(CreateSalesDimValueIT); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorIT); + BindSubscription(CreatePurchaseDocumentIT); + BindSubscription(CreatePurchDimValueIT); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCurrencyExchRateIT); + BindSubscription(CreateResourceIT); + BindSubscription(CreateVatPostingGroupsIT); + BindSubscription(CreateVATSetupPostingGrpIT); + BindSubscription(CreateGenJournalBatchIT); + BindSubscription(CreateAccScheduleLineIT); + BindSubscription(CreateVATStatementIT); + BindSubscription(CreateCurrencyIT); + end; + Enum::"Contoso Demo Data Module"::"Warehouse Module": + begin + BindSubscription(CreateSalesDocumentIT); + BindSubscription(CreatePurchaseDocumentIT); + end; + Enum::"Contoso Demo Data Module"::"Service Module": + begin + BindSubscription(CreateSalesDocumentIT); + BindSubscription(CreatePurchaseDocumentIT); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateNoSeriesIT); + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateLocationIT: Codeunit "Create Location IT"; + CreateItemIT: Codeunit "Create Item IT"; + CreateBankAccountIT: Codeunit "Create Bank Account IT"; + CreateCustomerIT: Codeunit "Create Customer IT"; + CreateVendorIT: Codeunit "Create Vendor IT"; + CreateResourceIT: Codeunit "Create Resource IT"; + CreateCurrencyExchRateIT: Codeunit "Create Currency Ex. Rate IT"; + CreateVatPostingGroupsIT: Codeunit "Create Vat Posting Groups IT"; + CreateVATSetupPostingGrpIT: Codeunit "Create VATSetupPostingGrp. IT"; + CreateNoSeriesIT: Codeunit "Create No. Series IT"; + CreatePurchaseDocumentIT: Codeunit "Create Purchase Document IT"; + CreateSalesDocumentIT: Codeunit "Create Sales Document IT"; + CreateGenJournalBatchIT: Codeunit "Create Gen Journal Batch IT"; + CreateShiptoAddressIT: Codeunit "Create Ship-to Address IT"; + CreateReminderLevelIT: Codeunit "Create Reminder Level IT"; + CreateAccScheduleLineIT: Codeunit "Create Acc. Schedule Line IT"; + CreateVATStatementIT: Codeunit "Create VAT Statement IT"; + CreateGenJournalLineIT: Codeunit "Create Gen. Journal Line IT"; + CreateSalesDimValueIT: Codeunit "Create Sales Dim Value IT"; + CreatePurchDimValueIT: Codeunit "Create Purch. Dim. Value IT"; + CreateUnitOfMeasureTransIT: Codeunit "Create UnitOfMeasureTrans. IT"; + CreateCurrencyIT: Codeunit "Create Currency IT"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + UnbindSubscription(CreateNoSeriesIT); + UnbindSubscription(CreateUnitOfMeasureTransIT); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccountIT); + UnbindSubscription(CreateGenJournalLineIT); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnbindSubscription(CreateNoSeriesIT); + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateItemIT); + UnbindSubscription(CreateLocationIT); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateCustomerIT); + UnbindSubscription(CreateSalesDocumentIT); + UnbindSubscription(CreateShiptoAddressIT); + UnbindSubscription(CreateReminderLevelIT); + UnbindSubscription(CreateSalesDimValueIT); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateVendorIT); + UnbindSubscription(CreatePurchaseDocumentIT); + UnbindSubscription(CreatePurchDimValueIT); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateCurrencyExchRateIT); + UnbindSubscription(CreateResourceIT); + UnbindSubscription(CreateVatPostingGroupsIT); + UnbindSubscription(CreateVATSetupPostingGrpIT); + UnbindSubscription(CreateGenJournalBatchIT); + UnbindSubscription(CreateAccScheduleLineIT); + UnbindSubscription(CreateVATStatementIT); + UnbindSubscription(CreateCurrencyIT); + end; + Enum::"Contoso Demo Data Module"::"Warehouse Module": + begin + UnbindSubscription(CreatePurchaseDocumentIT); + UnbindSubscription(CreateSalesDocumentIT); + end; + Enum::"Contoso Demo Data Module"::"Service Module": + begin + UnbindSubscription(CreatePurchaseDocumentIT); + UnbindSubscription(CreateSalesDocumentIT); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/app.json b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/app.json index be9afe0d9b..893b585f2c 100644 --- a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/app.json +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/app.json @@ -29,7 +29,7 @@ }, { "from": 12167, - "to": 12170 + "to": 12270 } ], "resourceExposurePolicy": { diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/Codeunits/CreateMXGLAccounts.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/Codeunits/CreateMXGLAccounts.Codeunit.al deleted file mode 100644 index 2af2a6e352..0000000000 --- a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/Codeunits/CreateMXGLAccounts.Codeunit.al +++ /dev/null @@ -1,116 +0,0 @@ -codeunit 14099 "Create MX GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '6310'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '9410'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '1410'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '1410'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '9610'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '9630'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '6120'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '6130'); - - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '2110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '2110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '2410'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '2410'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '6130'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '2110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '2170'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '2170'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '6110'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '6111') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '1800'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '2500'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '2500'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '2410'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '2420'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '2421'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '2422'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '2423'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '2424'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '6120'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '6150'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5850'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '10920'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '10950'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '40450'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '40250'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '50399'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '50300'); - end; -} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/1.Setup Data/CreateBankAccountMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/1.Setup Data/CreateBankAccountMX.Codeunit.al new file mode 100644 index 0000000000..8030c4f859 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/1.Setup Data/CreateBankAccountMX.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 14120 "Create Bank Account MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -12960000, '', '1', PostCode6100Lbl); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, '', '', PostCode6100Lbl); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; BankStatementImportFormat: Code[20]; LastRemittanceAdviceNo: Code[20]; PostCode: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Bank Statement Import Format", BankStatementImportFormat); + if LastRemittanceAdviceNo <> '' then + BankAccount.Validate("Last Remittance Advice No.", LastRemittanceAdviceNo); + BankAccount.Validate("Post Code", PostCode); + end; + + var + PostCode6100Lbl: Label 'GB-WC1 3DG', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetupMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetupMX.Codeunit.al new file mode 100644 index 0000000000..c052b2a6fa --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetupMX.Codeunit.al @@ -0,0 +1,51 @@ +codeunit 14113 "Create Bank Ex/Import SetupMX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBank: Codeunit "Contoso Bank"; + CreateDataExchangeDefMX: Codeunit "Create Data Exchange Def MX"; + begin + ContosoBank.ContosoBankExportImportSetup(CaEftDefault(), CaEftDefaultLbl, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefMX.CAEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(MxEftDefault(), MxEftDefaultLbl, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefMX.MXEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftCcd(), UsEftCcdTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefMX.USEFTCCD(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftDefault(), UsEftDefaultTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefMX.USEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftIatDefault(), UsEftIatDefaultTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefMX.USEFTIATDEFAULT(), true, 0); + end; + + procedure CaEftDefault(): Code[20] + begin + exit(CaEftDefaultTok) + end; + + procedure MxEftDefault(): Code[20] + begin + exit(MxEftDefaultTok) + end; + + procedure UsEftCcd(): Code[20] + begin + exit(UsEftCcdTok) + end; + + procedure UsEftDefault(): Code[20] + begin + exit(UsEftDefaultTok) + end; + + procedure UsEftIatDefault(): Code[20] + begin + exit(UsEftIatDefaultTok) + end; + + var + CaEftDefaultTok: Label 'CA EFT DEFAULT', MaxLength = 20; + MxEftDefaultTok: Label 'MX EFT DEFAULT', MaxLength = 20; + UsEftCcdTok: Label 'US EFT CCD', MaxLength = 20; + UsEftDefaultTok: Label 'US EFT Default', MaxLength = 20; + UsEftIatDefaultTok: Label 'US EFT IAT Default', MaxLength = 20; + CaEftDefaultLbl: Label 'CA EFT DEFAULT', MaxLength = 100; + MxEftDefaultLbl: Label 'MX EFT Default', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/3.Transaction Data/CreateGenJournalLineMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/3.Transaction Data/CreateGenJournalLineMX.Codeunit.al new file mode 100644 index 0000000000..f85537d6cf --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Bank/3.Transaction Data/CreateGenJournalLineMX.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 14121 "Create Gen. Journal Line MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGenJournalLine(); + UpdateBankAccReconciliationLine(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -24695.12); + 20000: + Rec.Validate(Amount, -37042.68); + 30000: + Rec.Validate(Amount, -49390.24); + 40000: + Rec.Validate(Amount, -49390.24); + end; + end; + + local procedure UpdateGenJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.Get(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000); + if GenJournalLine."Account No." = '' then begin + GenJournalLine.Validate(Amount, 0); + GenJournalLine.Modify(true); + end; + end; + + local procedure UpdateBankAccReconciliationLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + BankAccount: Record "Bank Account"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccount.Get(CreateBankAccount.Checking()); + + BankAccReconciliationLine.Get(BankAccReconciliationLine."Statement Type"::"Bank Reconciliation", BankAccount."No.", BankAccount."Last Statement No.", 30000); + BankAccReconciliationLine.Validate("Transaction Text", DepositToAccountLbl); + BankAccReconciliationLine.Validate(Description, CopyStr(BankAccReconciliationLine."Transaction Text", 1, MaxStrLen(BankAccReconciliationLine.Description))); + BankAccReconciliationLine.Modify(true); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18/01/24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineMX.Codeunit.al new file mode 100644 index 0000000000..2285a2a2dc --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineMX.Codeunit.al @@ -0,0 +1,108 @@ +codeunit 14112 "Create Acc. Schedule Line MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + if Rec."Line No." = 60000 then + Rec.Validate(Totaling, CreateGLAccount.NetIncome()); + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + if Rec."Line No." = 70000 then + Rec.Validate(Totaling, '1190'); + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + Rec.Validate("Hide Currency Symbol", true); + 60000: + Rec.Validate("Hide Currency Symbol", true); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal() + '|' + CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '10' + '..' + '30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFieldsReducedTrialBalance(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, TotalRevenueLbl); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + Rec.Validate("Hide Currency Symbol", true); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses() + '|' + CreateGLAccount.TotalPersonnelExpenses() + '|' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 90000: + ValidateRecordFields(Rec, CreateGLAccount.NetIncomeBeforeTaxes(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + local procedure ValidateRecordFieldsReducedTrialBalance(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean; Description: Text[100]) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Description, Description); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateColumnLayoutNameMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateColumnLayoutNameMX.Codeunit.al new file mode 100644 index 0000000000..43acdfe2fd --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateColumnLayoutNameMX.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 14116 "Create Column Layout Name MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(PeriodandYeartoDate(), PeriodandYeartoDateLbl); + ContosoAccountSchedule.InsertColumnLayoutName(PeriodandYeartoDatewithPercentofTotalRevenue(), PeriodandYeartoDatewithPercentofTotalRevenueLbl); + ContosoAccountSchedule.InsertColumnLayoutName(ThisYeartoDatevsPriorYeartoDate(), ThisYeartoDatevsPriorYeartoDateLbl); + end; + + procedure PeriodandYeartoDate(): Code[10] + begin + exit(PeriodandYeartoDateTok); + end; + + procedure PeriodandYeartoDatewithPercentofTotalRevenue(): Code[10] + begin + exit(PeriodandYeartoDatewithPercentofTotalRevenueTok); + end; + + procedure ThisYeartoDatevsPriorYeartoDate(): Code[10] + begin + exit(ThisYeartoDatevsPriorYeartoDateTok); + end; + + var + PeriodandYeartoDateTok: Label 'PTD + YTD', MaxLength = 10; + PeriodandYeartoDatewithPercentofTotalRevenueTok: Label 'PTD+YTD+%', MaxLength = 10; + ThisYeartoDatevsPriorYeartoDateTok: Label 'YTDCOMPARE', MaxLength = 10; + PeriodandYeartoDateLbl: Label 'Period and Year to Date', MaxLength = 80; + PeriodandYeartoDatewithPercentofTotalRevenueLbl: Label 'Period and Year to Date with Percent of Total Revenue', MaxLength = 80; + ThisYeartoDatevsPriorYeartoDateLbl: Label 'This Year to Date vs. Prior Year to Date', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateCurrencyMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateCurrencyMX.Codeunit.al new file mode 100644 index 0000000000..e4508f4482 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateCurrencyMX.Codeunit.al @@ -0,0 +1,16 @@ +codeunit 14109 "Create Currency MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + begin + if Rec.Code = CreateCurrency.GBP() then + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupMX.Codeunit.al new file mode 100644 index 0000000000..73ccbd0c2e --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupMX.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 14106 "Create General Ledger Setup MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("Unrealized VAT", true); + GeneralLedgerSetup.Validate("Local Address Format", GeneralLedgerSetup."Local Address Format"::"Post Code+City+County"); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.MXN()); + GeneralLedgerSetup.Validate("Local Currency Symbol", '$'); + GeneralLedgerSetup.Validate("Local Currency Description", MexicanPesoLbl); + GeneralLedgerSetup.Validate("VAT in Use", true); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Modify(true); + end; + + var + MexicanPesoLbl: Label 'Mexican peso', MaxLength = 60; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateVATSetupPostingGrpMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateVATSetupPostingGrpMX.Codeunit.al new file mode 100644 index 0000000000..bc03bbc3bd --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/1.Setup Data/CreateVATSetupPostingGrpMX.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 14111 "Create VATSetupPostingGrp. MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + CreateVatSetupPostingGrp(); + end; + + local procedure CreateVatSetupPostingGrp() + var + VATSetupPostingGroups: Record "VAT Setup Posting Groups"; + CreateVatPostingGroupMX: Codeunit "Create VAT Posting Groups MX"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateMXGLAccounts: Codeunit "Create MX GL Accounts"; + begin + ContosoVATStatement.SetOverwriteData(true); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupMX.NOVAT(), true, 0, CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), true, VATSetupPostingGroups."Application Type"::Items, StrSubstNo(VATDescriptionLbl, CreateVatPostingGroupMX.NOVAT())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupMX.VAT16(), true, 16, CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), true, VATSetupPostingGroups."Application Type"::Items, StrSubstNo(VATDescriptionLbl, CreateVatPostingGroupMX.VAT16())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupMX.VAT8(), true, 8, CreateMXGLAccounts.SalesVat8Perc(), CreateMXGLAccounts.PurchaseVat8Perc(), true, VATSetupPostingGroups."Application Type"::Items, StrSubstNo(VATDescriptionLbl, CreateVatPostingGroupMX.VAT8())); + ContosoVATStatement.SetOverwriteData(false); + end; + + var + VATDescriptionLbl: Label 'Setup for EXPORT / %1', Comment = '%1 is Vat posting group', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateColumnLayoutMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateColumnLayoutMX.Codeunit.al new file mode 100644 index 0000000000..d1ff9da726 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateColumnLayoutMX.Codeunit.al @@ -0,0 +1,90 @@ +codeunit 14115 "Create Column Layout MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + CreateColumnLayoutNameMX: Codeunit "Create Column Layout Name MX"; + ColumnLayoutName: Code[10]; + begin + ColumnLayoutName := CreateColumnLayoutName.BudgetAnalysis(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '', NetChangeLastYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutNameMX.PeriodandYeartoDate(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '', CurrentPeriodLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '', YearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutNameMX.PeriodandYeartoDatewithPercentofTotalRevenue(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, PtdLbl, CurrentPeriodLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, PtdPercentageLbl, true, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, YtdLbl, YearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, YtdPercentageLbl, true, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutNameMX.ThisYeartoDatevsPriorYeartoDate(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, CurLbl, CurrentYearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, CurPercentageLbl, true, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, PriorLbl, PriorYearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, PriorPercentageLbl, true, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, DiffLbl, DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, CurPriorLbl, false, Enum::"Column Layout Show"::Always, '', false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Column Layout", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Column Layout") + var + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + CreateColumnLayoutNameMX: Codeunit "Create Column Layout Name MX"; + begin + case Rec."Column Layout Name" of + CreateColumnLayoutName.BudgetAnalysis(): + begin + if Rec."Line No." = 30000 then + Rec.Validate("Column Header", DeviationFromBudgetPercantageLbl); + if Rec."Line No." = 40000 then + ValidateRecordFields(Rec, '<-1Y>'); + end; + CreateColumnLayoutNameMX.PeriodandYeartoDatewithPercentofTotalRevenue(): + begin + if Rec."Line No." = 20000 then + Rec.Validate("Rounding Factor", Enum::"Analysis Rounding Factor"::"1"); + if Rec."Line No." = 40000 then + Rec.Validate("Rounding Factor", Enum::"Analysis Rounding Factor"::"1"); + end; + CreateColumnLayoutNameMX.ThisYeartoDatevsPriorYeartoDate(): + begin + Rec.Validate("Rounding Factor", Enum::"Analysis Rounding Factor"::"1"); + if Rec."Line No." = 30000 then + ValidateRecordFields(Rec, '<-1Y>'); + end; + end; + end; + + local procedure ValidateRecordFields(var ColumnLayout: Record "Column Layout"; ComparisonDateFormula: Text[10]) + begin + Evaluate(ColumnLayout."Comparison Date Formula", ComparisonDateFormula); + ColumnLayout.Validate("Comparison Date Formula"); + end; + + var + DeviationFromBudgetPercantageLbl: Label 'Deviation from Budget %', MaxLength = 30; + NetChangeLastYearLbl: Label 'Net Change Last Year', MaxLength = 30; + CurrentPeriodLbl: Label 'Current Period', MaxLength = 30; + YearToDateLbl: Label 'Year to Date', MaxLength = 30; + CurrentYearToDateLbl: Label 'Current Year to Date', MaxLength = 30; + PriorYearToDateLbl: Label 'Prior Year to Date', MaxLength = 30; + DifferenceLbl: Label 'Difference', MaxLength = 30; + DiffLbl: Label 'DIFF', MaxLength = 10; + PriorLbl: Label 'PRIOR', MaxLength = 10; + CurLbl: Label 'CUR', MaxLength = 10; + YtdLbl: Label 'YTD', MaxLength = 10; + PtdLbl: Label 'PTD', MaxLength = 10; + PtdPercentageLbl: Label 'PTD%', MaxLength = 10; + YtdPercentageLbl: Label 'YTD%', MaxLength = 10; + CurPercentageLbl: Label 'CUR%', MaxLength = 10; + PriorPercentageLbl: Label 'PRIOR%', MaxLength = 10; + CurPriorLbl: Label 'CUR-PRIOR', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateMX.Codeunit.al new file mode 100644 index 0000000000..83df0830f5 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateCurrencyExRateMX.Codeunit.al @@ -0,0 +1,199 @@ +codeunit 14101 "Create Currency Ex. Rate MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + date: Date; + begin + date := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 1484.7138, 1484.7138); + date := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 1426.005, 1426.005); + date := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), date, 100, 100, 1386.9863, 1386.9863); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 324.2122, 324.2122); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 475.7292, 475.7292); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 438.4206, 438.4206); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 545.0814, 545.0814); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 340.0866, 340.0866); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 599.0436, 599.0436); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 753.7212, 753.7212); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 36.9192, 36.9192); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 162, 162); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.5582, 15.5582); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 8.9569, 8.9569); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 418.041, 418.041); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 121.5486, 121.5486); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 163.8938, 163.8938); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 5.0964, 5.0964); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.1339, 0.1339); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 19.9746, 19.9746); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 13.8024, 13.8024); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 8.0514, 8.0514); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.0159, 15.0159); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 114.2001, 114.2001); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 250.4844, 250.4844); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.5158, 0.5158); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 9.4318, 9.4318); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 142.317, 142.317); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 402.6348, 402.6348); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 18.5814, 18.5814); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 230.2344, 230.2344); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.3642, 0.3642); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 14.1803, 14.1803); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 32.5944, 32.5944); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 253.5462, 253.5462); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 176.013, 176.013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 137.2626, 137.2626); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 548.5482, 548.5482); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 130.8533, 130.8533); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 21.3516, 21.3516); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 873.956, 873.956); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 4.7329, 4.7329); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 739.8119, 739.8119); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.6883, 0.6883); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 899.91, 899.91); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6.6582, 6.6582); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3322.3932, 3322.3932); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 10.1315, 10.1315); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 110.8242, 110.8242); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 141.021, 141.021); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 911.2824, 911.2824); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1208.5524, 1208.5524); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 145.314, 145.314); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 940.5558, 940.5558); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1207.6776, 1207.6776); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateMXGLAccounts.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateMXGLAccounts.Codeunit.al new file mode 100644 index 0000000000..cc1e33fd81 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateMXGLAccounts.Codeunit.al @@ -0,0 +1,1023 @@ +codeunit 14099 "Create MX GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '6310'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '9410'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '1410'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '9610'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '9630'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '6120'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '6130'); + + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '2110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '2110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '2410'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '2410'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '6130'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '2110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '2170'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '2170'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '6110'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '6111') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '1800'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '2500'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '2500'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '2410'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '2420'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '2421'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '2422'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '2423'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '2424'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '6120'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '6150'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5850'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '10920'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '10950'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '40450'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '40250'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '50399'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '50300'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforMX() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncomeStatementName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(BankLcyPostingName(), '10100'); + ContosoGLAccount.AddAccountForLocalization(CashPostingName(), '10300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '6300'); + ContosoGLAccount.AddAccountForLocalization(InventoryPostingName(), '10700'); + ContosoGLAccount.AddAccountForLocalization(WipJobSalesPostingName(), '10910'); + ContosoGLAccount.AddAccountForLocalization(InvoicedJobSalesPostingName(), '10920'); + ContosoGLAccount.AddAccountForLocalization(AccruedJobCostsPostingName(), '10940'); + ContosoGLAccount.AddAccountForLocalization(WipJobCostsPostingName(), '10950'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), '1100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRetailName(), '1105'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), '1110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEuName(), '1120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), '1130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRetailName(), '1195'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfResourcesName(), '1405'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEuName(), '1420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), '1430'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfResourcesName(), '1495'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), '1710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesAndChargesRecDomName(), '1810'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), '1910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), '1995'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayablePostingName(), '20100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailName(), '2105'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), '2110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEuName(), '2120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), '2130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), '2140'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), '2150'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), '2170'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRetailSoldName(), '2190'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRetailName(), '2195'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), '2995'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(CapitalStockPostingName(), '30100'); + ContosoGLAccount.AddAccountForLocalization(RetainedEarningsPostingName(), '30200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), '3100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '3110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityAndHeatingName(), '3120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsAndMaintenanceName(), '3130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), '3190'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), '3200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '3210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneAndFaxName(), '3230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '3240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), '3290'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), '3300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), '3310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), '3320'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), '3330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), '3390'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), '3400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '3410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentAndPrName(), '3420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), '3430'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), '3450'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), '3490'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), '3500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineAndMotorOilName(), '3510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), '3520'); + ContosoGLAccount.AddAccountForLocalization(RepairsAndMaintenancePostingName(), '3530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), '3590'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), '3600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), '3610'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), '3620'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalAndAccountingServicesName(), '3630'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), '3640'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), '3690'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), '3695'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '3700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), '3710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '3720'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), '3730'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), '3740'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), '3750'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), '3790'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationOfFixedAssetsName(), '3800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), '3810'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), '3820'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), '3830'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsAndLossesName(), '3840'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), '3890'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsOfOperationsName(), '3910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), '3995'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '40250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), '4100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankBalancesName(), '4110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesFromCustomersName(), '4120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), '4130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscReceivedDecreasesName(), '4135'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '4140'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), '4150'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), '4160'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), '4170'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), '4190'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '4200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnRevolvingCreditName(), '4210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestOnBankLoansName(), '4220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), '4230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesToVendorsName(), '4240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), '4250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtdiscGrantedDecreasesName(), '4255'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), '4260'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), '4270'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), '4290'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxGainsName(), '4310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFxLossesName(), '4320'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxGainsName(), '4330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFxLossesName(), '4340'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NiBeforeExtrItemsTaxesName(), '4395'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '4410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '4420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeBeforeTaxesName(), '4495'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), '4510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeName(), '4999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), '5000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '5002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), '5003'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), '5005'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '50300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), '5100'); + ContosoGLAccount.AddAccountForLocalization(LandAndBuildingsPostingName(), '5110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), '5120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), '5130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), '5140'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandAndBuildingsTotalName(), '5190'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), '5200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), '5210'); + ContosoGLAccount.AddAccountForLocalization(IncreasesDuringTheYearPostingName(), '5220'); + ContosoGLAccount.AddAccountForLocalization(DecreasesDuringTheYearPostingName(), '5230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), '5240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), '5290'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), '5300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), '5310'); + ContosoGLAccount.AddAccountForLocalization(IncreasesDuringTheYearAssetsName(), '5320'); + ContosoGLAccount.AddAccountForLocalization(DecreasesDuringTheYearAssetsName(), '5330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), '5340'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), '5390'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), '5395'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), '5999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), '6000'); + ContosoGLAccount.AddAccountForLocalization(SalariesPostingName(), '60700'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), '6100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), '6110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), '6111'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResaleSoldInterimName(), '6112'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '6120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), '6121'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '6130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), '6131'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMatSoldInterimName(), '6132'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), '6180'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), '6190'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipName(), '6200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesName(), '6210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobSalesName(), '6211'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), '6212'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipSalesTotalName(), '6220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsName(), '6230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipJobCostsName(), '6231'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), '6232'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WipCostsTotalName(), '6240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWipTotalName(), '6290'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), '6310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), '6320'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), '6330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), '6340'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), '6390'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), '6400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), '6410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), '6440'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '6800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '6810'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), '6890'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '6900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '6910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLcyName(), '6920'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), '6930'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), '6940'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), '6990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), '6995'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), '6999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesAndEquityName(), '7000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), '7100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), '7110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), '7120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomeForTheYearName(), '7195'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), '7199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), '8000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), '8010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), '8999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), '9000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesName(), '9100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermBankLoansName(), '9110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), '9120'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesTotalName(), '9290'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesName(), '9300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), '9310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), '9350'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), '9360'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), '9390'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), '9400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '9410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '9420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), '9490'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), '9500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), '9510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), '9530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), '9590'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatName(), '9600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), '9710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), '9720'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), '9730'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), '9740'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.Co2TaxName(), '9750'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), '9760'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatPayableName(), '9780'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VatTotalName(), '9790'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelRelatedItemsName(), '9800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), '9810'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), '9820'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), '9830'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), '9840'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), '9850'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelRelatedItemsName(), '9890'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '9900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsForTheFiscalYearName(), '9910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), '9920'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), '9990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShortTermLiabilitiesTotalName(), '9995'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '9997'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesAndEquityName(), '9999'); + ContosoGLAccount.AddAccountForLocalization(EquipmentName(), '10800'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationName(), '10900'); + ContosoGLAccount.AddAccountForLocalization(FeesAndChargesRecEuName(), '1820'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedName(), '40450'); + ContosoGLAccount.AddAccountForLocalization(JobCostsAppliedName(), '50399'); + ContosoGLAccount.AddAccountForLocalization(RentExpenseName(), '60100'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVat8PercName(), '6420'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVat16PercName(), '6430'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVat8PercName(), '9370'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVat16PercName(), '9380'); + ContosoGLAccount.AddAccountForLocalization(SalesVat16PercName(), '9610'); + ContosoGLAccount.AddAccountForLocalization(SalesVat8PercName(), '9611'); + ContosoGLAccount.AddAccountForLocalization(SalesVat16PercUnrealizedName(), '9615'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat16PercEuName(), '9620'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat8PercEuName(), '9621'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat16PercEuUnrealName(), '9625'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat16PercName(), '9630'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat8PercName(), '9631'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVat16PercUnrealizedName(), '9635'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivablePostingName(), '10400'); + + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10EuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVat10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOfJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesOfJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEuName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostOfResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostOfResourcesName(), ''); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + GLAccountCategory: Record "G/L Account Category"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreatePostingGroupsMX: Codeunit "Create Posting Groups MX"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateVATPostingGroupsMX: Codeunit "Create VAT Posting Groups MX"; + CreateGLAccount: Codeunit "Create G/L Account"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + SubCategory: Text[80]; + begin + ContosoGLAccount.SetOverwriteData(true); + ContosoGLAccount.InsertGLAccount(Equipment(), EquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciation(), AccumulatedDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetJobSalesContra(), 80); + ContosoGLAccount.InsertGLAccount(JobSalesApplied(), JobSalesAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(JobCostsApplied(), JobCostsAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Assets); + ContosoGLAccount.InsertGLAccount(RentExpense(), RentExpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), true, false, false); + ContosoGLAccount.InsertGLAccount(SalariesPosting(), SalariesPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVat8Perc(), VendorPrepaymentsVat8PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroupsMX.VAT8(), false, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVat16Perc(), VendorPrepaymentsVat16PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroupsMX.VAT16(), false, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities); + ContosoGLAccount.InsertGLAccount(SalesVat16PercUnrealized(), SalesVat16PercUnrealizedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(PurchaseVat16PercEu(), PurchaseVat16PercEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVat8PercEu(), PurchaseVat8PercEuName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVat16PercEuUnreal(), PurchaseVat16PercEuUnrealName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVat16Perc(), PurchaseVat16PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVat8Perc(), PurchaseVat8PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities); + ContosoGLAccount.InsertGLAccount(PurchaseVat16PercUnrealized(), PurchaseVat16PercUnrealizedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankLcyPosting(), BankLcyPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(LandAndBuildingsPosting(), LandAndBuildingsPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashPosting(), CashPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IncreasesDuringTheYearPosting(), IncreasesDuringTheYearPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), true, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesDuringTheYearPosting(), DecreasesDuringTheYearPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), false, false, false); + ContosoGLAccount.InsertGLAccount(IncreasesDuringTheYearAssets(), IncreasesDuringTheYearAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), true, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesDuringTheYearAssets(), DecreasesDuringTheYearAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsReceivablePosting(), AccountsReceivablePostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InventoryPosting(), InventoryPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Expense); + ContosoGLAccount.InsertGLAccount(RetainedEarningsPosting(), RetainedEarningsPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapitalStockPosting(), CapitalStockPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetRepairsExpense(), 80); + ContosoGLAccount.InsertGLAccount(RepairsAndMaintenancePosting(), RepairsAndMaintenancePostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.DomesticPostingGroup(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayablePosting(), AccountsPayablePostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Income); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Assets); + ContosoGLAccount.InsertGLAccount(WIPJobSalesPosting(), WIPJobSalesPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InvoicedJobSalesPosting(), InvoicedJobSalesPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedJobCostsPosting(), AccruedJobCostsPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WipJobCostsPosting(), WipJobCostsPostingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetIncomeProdSales(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailDom(), CreateGLAccount.SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailEU(), CreateGLAccount.SalesRetailEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroupsMX.VAT16(), false, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesDom(), CreateGLAccount.SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT8(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesEU(), CreateGLAccount.SalesResourcesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT8(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroupsMX.VAT8(), false, false, false); + ContosoGLAccount.InsertGLAccount(FeesAndChargesRecEu(), FeesAndChargesRecEuName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroup.EUPostingGroup(), CreatePostingGroup.FreightPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultingFeesDom(), CreateGLAccount.ConsultingFeesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT8(), true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroupsMX.NOVAT(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.NOVAT(), true, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroupsMX.NOVAT(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.NOVAT(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroupsMX.NOVAT(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.NOVAT(), true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetOperatingIncome(), CreateGLAccount.NetOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetOperatingIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeJobs(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSales(), CreateGLAccount.JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroupsMX.NOVAT(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.NOVAT(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroupsMX.NOVAT(), 0, '', Enum::"General Posting Type"::" ", CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.NOVAT(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NIBEFOREEXTRITEMSTAXES(), CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NIBEFOREEXTRITEMSTAXES(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncomeBeforeTaxes(), CreateGLAccount.NetIncomeBeforeTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncomeBeforeTaxes(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncome(), CreateGLAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BalanceSheet(), CreateGLAccount.BalanceSheetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetJobsCost(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorPrepaymentsVAT(), CreateGLAccount.VendorPrepaymentsVATName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroupsMX.NOVAT(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroupsMX.NOVAT(), false, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiabilitiesAndEquity(), CreateGLAccount.LiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CorporateTaxesPayable(), CreateGLAccount.CorporateTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomerPrepaymentsVAT0(), CreateGLAccount.CustomerPrepaymentsVAT0Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroupsMX.NOVAT(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroupsMX.NOVAT(), false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVat8Perc(), CustomerPrepaymentsVat8PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroupsMX.VAT8(), false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVat16Perc(), CustomerPrepaymentsVat16PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroupsMX.VAT16(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesVat16Perc(), SalesVat16PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesVat8Perc(), SalesVat8PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilitiesTotal(), CreateGLAccount.OtherLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherLiabilities() + '..' + CreateGLAccount.OtherLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ShorttermLiabilitiesTotal(), CreateGLAccount.ShorttermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ShorttermLiabilities() + '..' + CreateGLAccount.ShorttermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + SubCategory := Format(GLAccountCategory."Account Category"::Equity, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilitiesAndEquity(), CreateGLAccount.TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.LiabilitiesAndEquity() + '..' + CreateGLAccount.TotalLiabilitiesAndEquity() + '|' + CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, true); + ContosoGLAccount.SetOverwriteData(false); + end; + + procedure AddCategoriesToGLAccounts() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, BankLcyPosting(), AccumulatedDepreciation()); + GLAccountCategory."Account Category"::Liabilities: + begin + UpdateGLAccounts(GLAccountCategory, AccountsPayablePosting(), AccountsPayablePosting()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CorporateTaxesPayable(), CreateGLAccount.CorporateTaxesPayable()); + end; + end; + end; + + procedure UpdateVATProdPostingGroupOnGL() + var + GLAccount: Record "G/L Account"; + CreateVATPostingGroupsMX: Codeunit "Create VAT Posting Groups MX"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + GLAccount.SetFilter("VAT Prod. Posting Group", '<>%1', ''); + if GLAccount.FindSet() then + repeat + if GLAccount."VAT Prod. Posting Group" = CreateVATPostingGroups.Reduced() then + GLAccount.Validate("VAT Prod. Posting Group", CreateVATPostingGroupsMX.VAT8()); + if GLAccount."VAT Prod. Posting Group" = CreateVATPostingGroups.Standard() then + GLAccount.Validate("VAT Prod. Posting Group", CreateVATPostingGroupsMX.VAT16()); + if GLAccount."VAT Prod. Posting Group" = CreateVATPostingGroups.Zero() then + GLAccount.Validate("VAT Prod. Posting Group", CreateVATPostingGroupsMX.NOVAT()); + GLAccount.Modify(true); + until GLAccount.Next() = 0; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure UpdateDebitCreditOnGL() + var + GLAccount: Record "G/L Account"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateDebitCreditOnGLAccount(WipJobSalesPosting(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(InvoicedJobSalesPosting(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(AccruedJobCostsPosting(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(WipJobCostsPosting(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(JobSalesApplied(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(CreateGLAccount.JobCosts(), GLAccount."Debit/Credit"::Debit); + UpdateDebitCreditOnGLAccount(CreateGLAccount.JobSales(), GLAccount."Debit/Credit"::Credit); + UpdateDebitCreditOnGLAccount(JobCostsApplied(), GLAccount."Debit/Credit"::Credit); + end; + + local procedure UpdateDebitCreditOnGLAccount(GLAccountNo: Code[20]; DebitCredit: Option) + var + GLAccount: Record "G/L Account"; + begin + GlAccount.Get(GLAccountNo); + + GLAccount.Validate("Debit/Credit", DebitCredit); + GLAccount.Modify(true); + end; + + procedure Equipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquipmentName())); + end; + + procedure EquipmentName(): Text[100] + begin + exit(EquipmentTok) + end; + + procedure AccumulatedDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationName())); + end; + + procedure AccumulatedDepreciationName(): Text[100] + begin + exit(AccumulatedDepreciationTok) + end; + + procedure FeesAndChargesRecEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FeesAndChargesRecEuName())); + end; + + procedure FeesAndChargesRecEuName(): Text[100] + begin + exit(FeesAndChargesRecEuTok) + end; + + procedure JobSalesApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedName())); + end; + + procedure JobSalesAppliedName(): Text[100] + begin + exit(JobSalesAppliedTok) + end; + + procedure JobCostsApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsAppliedName())); + end; + + procedure JobCostsAppliedName(): Text[100] + begin + exit(JobCostsAppliedTok) + end; + + procedure RentExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentExpenseName())); + end; + + procedure RentExpenseName(): Text[100] + begin + exit(RentExpenseTok) + end; + + procedure VendorPrepaymentsVat8Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVat8PercName())); + end; + + procedure VendorPrepaymentsVat8PercName(): Text[100] + begin + exit(VendorPrepaymentsVat8PercTok) + end; + + procedure VendorPrepaymentsVat16Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVat16PercName())); + end; + + procedure VendorPrepaymentsVat16PercName(): Text[100] + begin + exit(VendorPrepaymentsVat16PercTok) + end; + + procedure CustomerPrepaymentsVat8Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVat8PercName())); + end; + + procedure CustomerPrepaymentsVat8PercName(): Text[100] + begin + exit(CustomerPrepaymentsVat8PercTok) + end; + + procedure CustomerPrepaymentsVat16Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVat16PercName())); + end; + + procedure CustomerPrepaymentsVat16PercName(): Text[100] + begin + exit(CustomerPrepaymentsVat16PercTok) + end; + + procedure SalesVat16Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVat16PercName())); + end; + + procedure SalesVat16PercName(): Text[100] + begin + exit(SalesVat16PercTok) + end; + + procedure SalesVat8Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVat8PercName())); + end; + + procedure SalesVat8PercName(): Text[100] + begin + exit(SalesVat8PercTok) + end; + + procedure SalesVat16PercUnrealized(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVat16PercUnrealizedName())); + end; + + procedure SalesVat16PercUnrealizedName(): Text[100] + begin + exit(SalesVat16PercUnrealizedTok) + end; + + procedure PurchaseVat16PercEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat16PercEuName())); + end; + + procedure PurchaseVat16PercEuName(): Text[100] + begin + exit(PurchaseVat16PercEuTok) + end; + + procedure PurchaseVat8PercEu(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat8PercEuName())); + end; + + procedure PurchaseVat8PercEuName(): Text[100] + begin + exit(PurchaseVat8PercEuTok) + end; + + procedure PurchaseVat16PercEuUnreal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat16PercEuUnrealName())); + end; + + procedure PurchaseVat16PercEuUnrealName(): Text[100] + begin + exit(PurchaseVat16PercEuUnrealTok) + end; + + procedure PurchaseVat16Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat16PercName())); + end; + + procedure PurchaseVat16PercName(): Text[100] + begin + exit(PurchaseVat16PercTok) + end; + + procedure PurchaseVat8Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat8PercName())); + end; + + procedure PurchaseVat8PercName(): Text[100] + begin + exit(PurchaseVat8PercTok) + end; + + procedure PurchaseVat16PercUnrealized(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVat16PercUnrealizedName())); + end; + + procedure PurchaseVat16PercUnrealizedName(): Text[100] + begin + exit(PurchaseVat16PercUnrealizedTok) + end; + + procedure LandAndBuildingsPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandAndBuildingsPostingName())); + end; + + procedure LandAndBuildingsPostingName(): Text[100] + begin + exit(LandAndBuildingsPostingTok) + end; + + procedure IncreasesDuringTheYearPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncreasesDuringTheYearPostingName())); + end; + + procedure IncreasesDuringTheYearPostingName(): Text[100] + begin + exit(IncreasesDuringTheYearPostingTok) + end; + + procedure DecreasesDuringTheYearPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesDuringTheYearPostingName())); + end; + + procedure DecreasesDuringTheYearPostingName(): Text[100] + begin + exit(DecreasesDuringTheYearPostingTok) + end; + + procedure IncreasesDuringTheYearAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncreasesDuringTheYearAssetsName())); + end; + + procedure IncreasesDuringTheYearAssetsName(): Text[100] + begin + exit(IncreasesDuringTheYearAssetsTok) + end; + + procedure DecreasesDuringTheYearAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesDuringTheYearAssetsName())); + end; + + procedure DecreasesDuringTheYearAssetsName(): Text[100] + begin + exit(DecreasesDuringTheYearAssetsTok) + end; + + procedure AccountsReceivablePosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivablePostingName())); + end; + + procedure AccountsReceivablePostingName(): Text[100] + begin + exit(AccountsReceivablePostingTok); + end; + + procedure BankLcyPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankLcyPostingName())); + end; + + procedure BankLcyPostingName(): Text[100] + begin + exit(BankLcyPostingTok); + end; + + procedure CashPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashPostingName())); + end; + + procedure CashPostingName(): Text[100] + begin + exit(CashPostingTok); + end; + + procedure InventoryPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryPostingName())); + end; + + procedure InventoryPostingName(): Text[100] + begin + exit(InventoryPostingTok); + end; + + procedure AccruedJobCostsPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedJobCostsPostingName())); + end; + + procedure AccruedJobCostsPostingName(): Text[100] + begin + exit(AccruedJobCostsPostingTok); + end; + + procedure WipJobCostsPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WipJobCostsPostingName())); + end; + + procedure WipJobCostsPostingName(): Text[100] + begin + exit(WipJobCostsPostingTok); + end; + + procedure CapitalStockPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalStockPostingName())); + end; + + procedure CapitalStockPostingName(): Text[100] + begin + exit(CapitalStockPostingTok); + end; + + procedure RepairsAndMaintenancePosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsAndMaintenancePostingName())); + end; + + procedure RepairsAndMaintenancePostingName(): Text[100] + begin + exit(RepairsAndMaintenancePostingTok); + end; + + procedure SalariesPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalariesPostingName())); + end; + + procedure SalariesPostingName(): Text[100] + begin + exit(SalariesPostingTok); + end; + + procedure RetainedEarningsPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetainedEarningsPostingName())); + end; + + procedure RetainedEarningsPostingName(): Text[100] + begin + exit(RetainedEarningsPostingTok); + end; + + procedure AccountsPayablePosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayablePostingName())); + end; + + procedure AccountsPayablePostingName(): Text[100] + begin + exit(AccountsPayablePostingTok); + end; + + procedure WIPJobSalesPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPJobSalesPostingName())); + end; + + procedure WIPJobSalesPostingName(): Text[100] + begin + exit(WIPJobSalesPostingTok); + end; + + procedure InvoicedJobSalesPosting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoicedJobSalesPostingName())); + end; + + procedure InvoicedJobSalesPostingName(): Text[100] + begin + exit(InvoicedJobSalesPostingTok); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + EquipmentTok: Label 'Equipment', MaxLength = 100; + AccumulatedDepreciationTok: Label 'Accumulated Depreciation', MaxLength = 100; + FeesAndChargesRecEuTok: Label 'Fees and Charges Rec. - EU', MaxLength = 100; + JobSalesAppliedTok: Label 'Job Sales Applied', MaxLength = 100; + JobCostsAppliedTok: Label 'Job Costs Applied', MaxLength = 100; + RentExpenseTok: Label 'Rent Expense', MaxLength = 100; + VendorPrepaymentsVat8PercTok: Label 'Vendor Prepayments VAT 8 %', MaxLength = 100; + VendorPrepaymentsVat16PercTok: Label 'Vendor Prepayments VAT 16 %', MaxLength = 100; + CustomerPrepaymentsVat8PercTok: Label 'Customer Prepayments VAT 8 %', MaxLength = 100; + CustomerPrepaymentsVat16PercTok: Label 'Customer Prepayments VAT 16 %', MaxLength = 100; + SalesVat16PercTok: Label 'Sales VAT 16 %', MaxLength = 100; + SalesVat8PercTok: Label 'Sales VAT 8 %', MaxLength = 100; + SalesVat16PercUnrealizedTok: Label 'Sales VAT 16 % Unrealized', MaxLength = 100; + PurchaseVat16PercEuTok: Label 'Purchase VAT 16 % EU', MaxLength = 100; + PurchaseVat8PercEuTok: Label 'Purchase VAT 8 % EU', MaxLength = 100; + PurchaseVat16PercEuUnrealTok: Label 'Purchase VAT 16 % EU Unreal.', MaxLength = 100; + PurchaseVat16PercTok: Label 'Purchase VAT 16 %', MaxLength = 100; + PurchaseVat8PercTok: Label 'Purchase VAT 8 %', MaxLength = 100; + PurchaseVat16PercUnrealizedTok: Label 'Purchase VAT 16 % Unrealized', MaxLength = 100; + IncreasesduringtheYearPostingTok: Label 'Increases during the Year, Posting', MaxLength = 100; + LandAndBuildingsPostingTok: Label 'Land and Buildings, Posting', MaxLength = 100; + DecreasesDuringTheYearPostingTok: Label 'Decreases during the Year, Posting', MaxLength = 100; + DecreasesDuringTheYearAssetsTok: Label 'Decreases during the Year, Assets', MaxLength = 100; + IncreasesduringtheYearAssetsTok: Label 'Increases during the Year, Assets', MaxLength = 100; + AccountsReceivablePostingTok: Label 'Accounts Receivable, Posting', MaxLength = 100; + BankLcyPostingTok: Label 'Bank Lcy, Posting', MaxLength = 100; + CashPostingTok: Label 'Cash, Posting', MaxLength = 100; + InventoryPostingTok: Label 'Inventory, Posting', MaxLength = 100; + AccruedJobCostsPostingTok: Label 'Accrued Job Costs, Posting', MaxLength = 100; + WipJobCostsPostingTok: Label 'WIP Job Costs, Posting', MaxLength = 100; + CapitalStockPostingTok: Label 'Capital Stock, Posting', MaxLength = 100; + RepairsAndMaintenancePostingTok: Label 'Repairs And Maintenance, Posting', MaxLength = 100; + SalariesPostingTok: Label 'Salaries, Posting', MaxLength = 100; + RetainedEarningsPostingTok: Label 'Retained Earnings, Posting', MaxLength = 100; + AccountsPayablePostingTok: Label 'Accounts Payable, Posting', MaxLength = 100; + WIPJobSalesPostingTok: Label 'WIP Job Sales, Posting', MaxLength = 100; + InvoicedJobSalesPostingTok: Label 'Invoiced Job Sales, Posting', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreatePostingGroupsMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreatePostingGroupsMX.Codeunit.al new file mode 100644 index 0000000000..aed8f5bb99 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreatePostingGroupsMX.Codeunit.al @@ -0,0 +1,92 @@ +codeunit 14110 "Create Posting Groups MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertGenProductPostingGroup(); + end; + + procedure CreateGenPostingSetup() + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateMXGLAccounts: Codeunit "Create MX GL Accounts"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.FreightPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.MiscPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NOVAT(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ServicesPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), NOVAT(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.FreightPostingGroup(), CreateGLAccount.FeesAndChargesRecDom(), '', CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.FreightPostingGroup(), CreateMXGLAccounts.FeesAndChargesRecEu(), '', CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailEu(), CreateGLAccount.PurchRetailEu(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.SalesRetailEu(), CreateGLAccount.PurchRetailEu(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), NOVAT(), CreateGLAccount.SalesRetailEu(), CreateGLAccount.PurchRetailEu(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesEu(), CreateGLAccount.PurchRetailEu(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), NOVAT(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateMXGLAccounts.InventoryPosting(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.SetOverwriteData(false); + + UpdateGenPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateMXGLAccounts.CustomerPrepaymentsVat16Perc(), CreateMXGLAccounts.VendorPrepaymentsVat16Perc()); + UpdateGenPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.MiscPostingGroup(), CreateMXGLAccounts.CustomerPrepaymentsVat16Perc(), CreateMXGLAccounts.VendorPrepaymentsVat16Perc()); + UpdateGenPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateMXGLAccounts.CustomerPrepaymentsVat8Perc(), CreateMXGLAccounts.VendorPrepaymentsVat8Perc()); + UpdateGenPostingSetup(CreatePostingGroups.DomesticPostingGroup(), NOVAT(), CreateGLAccount.CustomerPrepaymentsVAT0(), CreateGLAccount.VendorPrepaymentsVAT()); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Product Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATProductPostingGroup(var Rec: Record "Gen. Product Posting Group") + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVATPostingGroupsMX: Codeunit "Create VAT Posting Groups MX"; + begin + case Rec.Code of + CreatePostingGroups.FreightPostingGroup(), + CreatePostingGroups.MiscPostingGroup(), + CreatePostingGroups.RetailPostingGroup(): + Rec.Validate("Def. VAT Prod. Posting Group", CreateVATPostingGroupsMX.VAT16()); + CreatePostingGroups.ServicesPostingGroup(): + Rec.Validate("Def. VAT Prod. Posting Group", CreateVATPostingGroupsMX.VAT8()); + end; + end; + + local procedure UpdateGenPostingSetup(GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; SalesPrepaymentAccount: Code[20]; PurchasePrepaymentAccount: Code[20]) + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + GeneralPostingSetup.Get(GenBusPostingGroup, GenProdPostingGroup); + + GeneralPostingSetup.Validate("Sales Prepayments Account", SalesPrepaymentAccount); + GeneralPostingSetup.Validate("Purch. Prepayments Account", PurchasePrepaymentAccount); + GeneralPostingSetup.Modify(true); + end; + + local procedure InsertGenProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(NOVAT(), MiscellaneousNoVATLbl, NOVAT()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure NOVAT(): Code[20] + begin + exit(NoVATTok); + end; + + var + NoVATTok: Label 'NO VAT', MaxLength = 20, Locked = true; + MiscellaneousNoVATLbl: Label 'Miscellaneous without VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateResourceMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateResourceMX.Codeunit.al new file mode 100644 index 0000000000..93de792c62 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateResourceMX.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 14130 "Create Resource MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateVatPostingGroupsMX: Codeunit "Create Vat Posting Groups MX"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, MexicoCityLbl, 690, 759, 1390, MexicoPostCodeLbl, CreateVatPostingGroupsMX.VAT8()); + CreateResource.Lina(): + ValidateRecordFields(Rec, LondonCityLbl, 830, 913, 1660, LondonPostCodeLbl, CreateVatPostingGroupsMX.VAT8()); + CreateResource.Marty(): + ValidateRecordFields(Rec, MexicoCityLbl, 620, 682, 1250, MexicoPostCodeLbl, CreateVatPostingGroupsMX.VAT8()); + CreateResource.Terry(): + ValidateRecordFields(Rec, MexicoCityLbl, 690, 759, 1390, MexicoPostCodeLbl, CreateVatPostingGroupsMX.VAT8()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VatProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Post Code", PostCode); + Resource."Country/Region Code" := ''; + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("VAT Prod. Posting Group", VatProdPostingGroup); + end; + + var + MexicoCityLbl: Label 'Mexico City', MaxLength = 30, Locked = true; + LondonCityLbl: Label 'London', MaxLength = 30, Locked = true; + MexicoPostCodeLbl: Label '01030', MaxLength = 20; + LondonPostCodeLbl: Label 'GB-N16 34Z', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateVATPostingGroupsMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateVATPostingGroupsMX.Codeunit.al new file mode 100644 index 0000000000..810618df50 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateVATPostingGroupsMX.Codeunit.al @@ -0,0 +1,66 @@ +codeunit 14107 "Create VAT Posting Groups MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + procedure CreateVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroupsMX: Codeunit "Create VAT Posting Groups MX"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateMXGLAccounts: Codeunit "Create MX GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroupsMX.NOVAT(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroupsMX.VAT16(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.VAT16(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroupsMX.VAT8(), CreateMXGLAccounts.SalesVat8Perc(), CreateMXGLAccounts.PurchaseVat8Perc(), CreateVATPostingGroupsMX.VAT8(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.NOVAT(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.VAT16(), 16, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT8(), CreateMXGLAccounts.SalesVat8Perc(), CreateMXGLAccounts.PurchaseVat8Perc(), CreateVATPostingGroupsMX.VAT8(), 8, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.NOVAT(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.VAT16(), 16, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateMXGLAccounts.PurchaseVat16PercEu(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT8(), CreateMXGLAccounts.SalesVat8Perc(), CreateMXGLAccounts.PurchaseVat8Perc(), CreateVATPostingGroupsMX.VAT8(), 8, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateMXGLAccounts.PurchaseVat8PercEu(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroupsMX.NOVAT(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.NOVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroupsMX.VAT16(), CreateMXGLAccounts.SalesVat16Perc(), CreateMXGLAccounts.PurchaseVat16Perc(), CreateVATPostingGroupsMX.VAT16(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroupsMX.VAT8(), CreateMXGLAccounts.SalesVat8Perc(), CreateMXGLAccounts.PurchaseVat8Perc(), CreateVATPostingGroupsMX.VAT8(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.SetOverwriteData(false); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATProductPostingGroup(NOVAT(), MiscellaneousNoVATLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT16(), StrSubstNo(MiscellaneousVATLbl, '16')); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT8(), StrSubstNo(MiscellaneousVATLbl, '8')); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure NOVAT(): Code[20] + begin + exit(NoVATTok); + end; + + procedure VAT16(): Code[20] + begin + exit(VAT16Tok); + end; + + procedure VAT8(): Code[20] + begin + exit(VAT8Tok); + end; + + var + NoVATTok: Label 'NO VAT', MaxLength = 20, Locked = true; + VAT16Tok: Label 'VAT16', MaxLength = 20, Locked = true; + VAT8Tok: Label 'VAT8', MaxLength = 20, Locked = true; + MiscellaneousVATLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage'; + MiscellaneousNoVATLbl: Label 'Miscellaneous without VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateVATStatementMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateVATStatementMX.Codeunit.al new file mode 100644 index 0000000000..0345b661a8 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Finance/2.Master Data/CreateVATStatementMX.Codeunit.al @@ -0,0 +1,166 @@ +codeunit 14105 "Create VAT Statement MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentPermissions = X; + InherentEntitlements = X; + + trigger OnRun() + var + VATStatementLine: Record "VAT Statement Line"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateVATPostingGroupsMX: Codeunit "Create VAT Posting Groups MX"; + begin + ContosoVatStatement.InsertVATStatementName(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, UnrealizedVATDescLbl); + + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 390000, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Unrealized Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", SalesVat16PercOutgoingLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 400000, '1019', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1010..1018', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", SalesVat16PercOutgoingLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 410000, '1020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Unrealized Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", SalesVat8PercOutgoingLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 420000, '1029', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1020..1028', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", SalesVat8PercOutgoingLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 430000, '1030', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::Amount, VATStatementLine."Calculate with"::"Opposite Sign", false, VATStatementLine."Print with"::"Opposite Sign", Vat16PercOnEuPurchasesEtcLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 440000, '1039', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1030..1038', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", Vat16PercOnEuPurchasesEtcLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 450000, '1040', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Unrealized Amount", VATStatementLine."Calculate with"::"Opposite Sign", false, VATStatementLine."Print with"::"Opposite Sign", Vat8PercOnEuPurchasesEtcLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 460000, '1049', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1040..1048', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", Vat8PercOnEuPurchasesEtcLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 470000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameUnrealLbl, 480000, '1099', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1019|1029|1039|1049', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", TotalLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatStatementLine(var Rec: Record "VAT Statement Line") + var + VATStatementLine: Record "VAT Statement Line"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateVATPostingGroupsMX: Codeunit "Create VAT Posting Groups MX"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if (Rec."Statement Template Name" = CreateVATStatement.VATTemplateName()) and (Rec."Statement Name" = DefaultStatementNameLbl) then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '1010', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", SalesVat16PercOutgoingLbl); + 20000: + ValidateRecordFields(Rec, '1020', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", SalesVat8PercOutgoingLbl); + 30000: + ValidateRecordFields(Rec, '1050', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::"Opposite Sign", false, VATStatementLine."Print with"::"Opposite Sign", Vat16PercOnEuPurchasesEtcLbl); + 40000: + ValidateRecordFields(Rec, '1060', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::"Opposite Sign", false, VATStatementLine."Print with"::"Opposite Sign", Vat8PercOnEuPurchasesEtcLbl); + 50000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 60000: + ValidateRecordFields(Rec, '1099', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1010..1090', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", TotalLbl); + 70000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 80000: + ValidateRecordFields(Rec, '1110', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat16PercDomesticLbl); + 90000: + ValidateRecordFields(Rec, '1120', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat8PercDomesticLbl); + 100000: + ValidateRecordFields(Rec, '1150', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat16PercEuLbl); + 110000: + ValidateRecordFields(Rec, '1160', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Amount", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, PurchaseVat8PercEuLbl); + 120000: + ValidateRecordFields(Rec, '1179', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1110..1170', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", PurchaseVatIngoingLbl); + 130000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 140000: + ValidateRecordFields(Rec, '1180', Enum::"VAT Statement Line Type"::"Account Totaling", CreateGLAccount.FuelTax(), Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", FuelTaxLbl); + 150000: + ValidateRecordFields(Rec, '1181', Enum::"VAT Statement Line Type"::"Account Totaling", CreateGLAccount.ElectricityTax(), Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", ElectricityTaxLbl); + 160000: + ValidateRecordFields(Rec, '1182', Enum::"VAT Statement Line Type"::"Account Totaling", CreateGLAccount.NaturalGasTax(), Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", NaturalGasTaxLbl); + 170000: + ValidateRecordFields(Rec, '1183', Enum::"VAT Statement Line Type"::"Account Totaling", CreateGLAccount.CoalTax(), Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", CoalTaxLbl); + 180000: + ValidateRecordFields(Rec, '1184', Enum::"VAT Statement Line Type"::"Account Totaling", CreateGLAccount.Co2Tax(), Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", Co2TaxLbl); + 190000: + ValidateRecordFields(Rec, '1185', Enum::"VAT Statement Line Type"::"Account Totaling", CreateGLAccount.WaterTax(), Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", WaterTaxLbl); + 200000: + ValidateRecordFields(Rec, '1189', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1180..1188', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", TotalTaxesLbl); + 210000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 220000: + ValidateRecordFields(Rec, '1199', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1159|1189', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", TotalDeductionsLbl); + 230000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 240000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 250000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1099|1199', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", VatPayableLbl); + 260000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, BlankLbl); + 270000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 280000: + ValidateRecordFields(Rec, '1210', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, ValueOfEuPurchases16PercLbl); + 290000: + ValidateRecordFields(Rec, '1220', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, ValueOfEuPurchases8PercLbl); + 300000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 310000: + ValidateRecordFields(Rec, '1240', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", ValueOfEuSales16PercLbl); + 320000: + ValidateRecordFields(Rec, '1250', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::"Opposite Sign", ValueOfEuSales8PercLbl); + 330000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::Sign, ''); + 340000: + ValidateRecordFields(Rec, '1310', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EXPORT(), CreateVATPostingGroupsMX.VAT16(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, NonVatLiableSalesOverseasLbl); + 350000: + ValidateRecordFields(Rec, '1320', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EXPORT(), CreateVATPostingGroupsMX.VAT8(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, NonVatLiableSalesOverseasLbl); + 360000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1310..1330', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", NonVatLiableSalesOverseasLbl); + 370000: + ValidateRecordFields(Rec, '1340', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsMX.NOVAT(), '', Enum::"VAT Statement Line Amount Type"::"Base", VATStatementLine."Calculate with"::Sign, false, VATStatementLine."Print with"::Sign, NonVatLiableSalesDomesticLbl); + 380000: + ValidateRecordFields(Rec, '', Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1340..1348', Enum::"VAT Statement Line Amount Type"::" ", VATStatementLine."Calculate with"::Sign, true, VATStatementLine."Print with"::"Opposite Sign", NonVatLiableSalesDomesticLbl); + end; + end; + + local procedure ValidateRecordFields(var VATStatementLine: Record "VAT Statement Line"; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; AccountTotaling: Text[30]; GenPostingType: Enum "General Posting Type"; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]) + begin + VatStatementLine.Validate("Row No.", StatementRowNo); + VatStatementLine.Validate(Description, StatementDesc); + VatStatementLine.Validate(Type, StatementLineType); + VATStatementLine.Validate("Account Totaling", AccountTotaling); + VatStatementLine.Validate("Gen. Posting Type", GenPostingType); + VatStatementLine.Validate("VAT Bus. Posting Group", VatBusPostingGrp); + VatStatementLine.Validate("VAT Prod. Posting Group", VAtProdPostingGrp); + VatStatementLine.Validate("Row Totaling", RowTotaling); + VatStatementLine.Validate("Amount Type", AmountType); + VatStatementLine.Validate("Calculate with", CalulationWith); + VatStatementLine.Validate(Print, StatementPrint); + VatStatementLine.Validate("Print with", PrintWith); + end; + + var + StatementNameUnrealLbl: Label 'UNREAL.', MaxLength = 10; + UnrealizedVATDescLbl: Label 'Unrealized VAT', MaxLength = 100; + DefaultStatementNameLbl: Label 'DEFAULT', MaxLength = 10; + SalesVat16PercOutgoingLbl: Label 'Sales VAT 16 % (outgoing)', MaxLength = 100; + SalesVat8PercOutgoingLbl: Label 'Sales VAT 8 % (outgoing)', MaxLength = 100; + Vat16PercOnEuPurchasesEtcLbl: Label 'VAT 16 % % on EU Purchases etc.', MaxLength = 100; + Vat8PercOnEuPurchasesEtcLbl: Label 'VAT 8 % % on EU Purchases etc.', MaxLength = 100; + TotalLbl: Label 'Total', MaxLength = 100; + PurchaseVat16PercDomesticLbl: Label 'Purchase VAT 16 % Domestic', MaxLength = 100; + PurchaseVat8PercDomesticLbl: Label 'Purchase VAT 8 % Domestic', MaxLength = 100; + PurchaseVatIngoingLbl: Label 'Purchase VAT (ingoing)', MaxLength = 100; + FuelTaxLbl: Label 'Fuel Tax', MaxLength = 100; + ElectricityTaxLbl: Label 'Electricity Tax', MaxLength = 100; + NaturalGasTaxLbl: Label 'Natural Gas Tax', MaxLength = 100; + CoalTaxLbl: Label 'Coal Tax', MaxLength = 100; + Co2TaxLbl: Label 'CO2 Tax', MaxLength = 100; + WaterTaxLbl: Label 'Water Tax', MaxLength = 100; + TotalTaxesLbl: Label 'Total Taxes', MaxLength = 100; + BlankLbl: Label '--------------------------------------------------', MaxLength = 100; + TotalDeductionsLbl: Label 'Total Deductions', MaxLength = 100; + VatPayableLbl: Label 'VAT Payable', MaxLength = 100; + ValueOfEuPurchases16PercLbl: Label 'Value of EU Purchases 16 %', MaxLength = 100; + ValueOfEuPurchases8PercLbl: Label 'Value of EU Purchases 8 %', MaxLength = 100; + ValueOfEuSales16PercLbl: Label 'Value of EU Sales 16 %', MaxLength = 100; + ValueOfEuSales8PercLbl: Label 'Value of EU Sales 8 %', MaxLength = 100; + NonVatLiableSalesOverseasLbl: Label 'Non-VAT liable sales, Overseas', MaxLength = 100; + NonVatLiableSalesDomesticLbl: Label 'Non-VAT liable sales, Domestic', MaxLength = 100; + PurchaseVAT16PercEULbl: Label 'Purchase VAT 16 % EU', MaxLength = 100; + PurchaseVAT8PercEULbl: Label 'Purchase VAT 8 % EU', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationMX.Codeunit.al new file mode 100644 index 0000000000..ea207dc7e4 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationMX.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 14102 "Create Company Information MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + begin + ValidateRecordSEelds(CityLbl, PostCodeLbl, VatRegNoLbl); + end; + + local procedure ValidateRecordSEelds(City: Text[30]; PostCode: Code[20]; VatRegNo: Text[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCodeLbl); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + CompanyInformation.Validate("VAT Registration No.", VatRegNo); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'Mexico City', Maxlength = 30, Locked = true; + PostCodeLbl: Label '01030', MaxLength = 20; + VatRegNoLbl: Label 'MX777777777', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreateDataExchangeDefMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreateDataExchangeDefMX.Codeunit.al new file mode 100644 index 0000000000..3939b424ee --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreateDataExchangeDefMX.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 14114 "Create Data Exchange Def MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + FolderNameLbl: Label 'PostingExchangeDefinitions', MaxLength = 100, Locked = true; + begin + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + BANKOFAMERICAPP() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CAEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CITIBANKPP() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + MXEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTCCD() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTIATDEFAULT() + '.xml'); + end; + + procedure BANKOFAMERICAPP(): Code[20] + begin + exit('BANKOFAMERICA-PP'); + end; + + procedure CAEFTDEFAULT(): Code[20] + begin + exit('CA EFT DEFAULT'); + end; + + procedure CITIBANKPP(): Code[20] + begin + exit('CITIBANK-PP'); + end; + + procedure MXEFTDEFAULT(): Code[20] + begin + exit('MX EFT DEFAULT'); + end; + + procedure USEFTCCD(): Code[20] + begin + exit('US EFT CCD'); + end; + + procedure USEFTDEFAULT(): Code[20] + begin + exit('US EFT DEFAULT'); + end; + + procedure USEFTIATDEFAULT(): Code[20] + begin + exit('US EFT IAT DEFAULT'); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreatePostCodeMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreatePostCodeMX.Codeunit.al new file mode 100644 index 0000000000..d5f033cdcf --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Foundation/1.Setup Data/CreatePostCodeMX.Codeunit.al @@ -0,0 +1,157 @@ +codeunit 14096 "Create Post Code MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostCodeMX: Codeunit "Contoso Post Code MX"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeMX.InsertPostCode('01030', MexicoCityLbl, CreateCountryRegion.MX(), ''); + ContosoPostCodeMX.InsertPostCode('06000', MexicoCityLbl, CreateCountryRegion.MX(), ''); + ContosoPostCodeMX.InsertPostCode('11010', NewYorkLbl, CreateCountryRegion.US(), NYLbl); + ContosoPostCodeMX.InsertPostCode('27136', ColombiaLbl, CreateCountryRegion.US(), SCLbl); + ContosoPostCodeMX.InsertPostCode('31772', AtlantaLbl, CreateCountryRegion.US(), GALbl); + ContosoPostCodeMX.InsertPostCode('35242', BirminghamLbl, CreateCountryRegion.US(), ALLbl); + ContosoPostCodeMX.InsertPostCode('37125', MiamiLbl, CreateCountryRegion.US(), FLLbl); + ContosoPostCodeMX.InsertPostCode('37500', LeonLbl, CreateCountryRegion.MX(), ''); + ContosoPostCodeMX.InsertPostCode('61236', ChicagoLbl, CreateCountryRegion.US(), ILLbl); + ContosoPostCodeMX.InsertPostCode('64640', MonterreyLbl, CreateCountryRegion.MX(), ''); + ContosoPostCodeMX.InsertPostCode('78030', SanLuisPotosiLbl, CreateCountryRegion.MX(), ''); + ContosoPostCodeMX.InsertPostCode('82100', MazatlanLbl, CreateCountryRegion.MX(), ''); + ContosoPostCodeMX.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB(), ''); + ContosoPostCodeMX.InsertPostCode('L6J 3J3', OakvilleLbl, CreateCountryRegion.CA(), ONLbl); + ContosoPostCodeMX.InsertPostCode('M5E 1G5', TorontoLbl, CreateCountryRegion.CA(), ONLbl); + ContosoPostCodeMX.InsertPostCode('N6B 1V7', LondonLbl, CreateCountryRegion.CA(), ONLbl); + ContosoPostCodeMX.InsertPostCode('P7A 4K8', ThunderBayLbl, CreateCountryRegion.CA(), ONLbl); + ContosoPostCodeMX.InsertPostCode('P7B 5E2', ThunderBayLbl, CreateCountryRegion.CA(), ONLbl); + ContosoPostCodeMX.InsertPostCode('R0M 0N0', ElkhornLbl, CreateCountryRegion.CA(), MBLbl); + end; + + var + MexicoCityLbl: Label 'Mexico City', MaxLength = 30; + NewYorkLbl: Label 'New York', MaxLength = 30; + ColombiaLbl: Label 'Colombia', MaxLength = 30; + AtlantaLbl: Label 'Atlanta', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + MiamiLbl: Label 'Miami', MaxLength = 30; + LeonLbl: Label 'Leon', MaxLength = 30; + ChicagoLbl: Label 'Chicago', MaxLength = 30; + MonterreyLbl: Label 'Monterrey', MaxLength = 30; + SanLuisPotosiLbl: Label 'San Luis Potosi', MaxLength = 30; + MazatlanLbl: Label 'Mazatlan', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + OakvilleLbl: Label 'Oakville', MaxLength = 30; + TorontoLbl: Label 'Toronto', MaxLength = 30; + ThunderBayLbl: Label 'Thunder Bay', MaxLength = 30; + ElkhornLbl: Label 'Elkhorn', MaxLength = 30; + NYLbl: Label 'NY', MaxLength = 30; + SCLbl: Label 'SC', MaxLength = 30; + GALbl: Label 'GA', MaxLength = 30; + ALLbl: Label 'AL', MaxLength = 30; + FLLbl: Label 'FL', MaxLength = 30; + ILLbl: Label 'IL', MaxLength = 30; + ONLbl: Label 'ON', MaxLength = 30; + MBLbl: Label 'MB', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/1.Setup Data/CreateItemChargeMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/1.Setup Data/CreateItemChargeMX.Codeunit.al new file mode 100644 index 0000000000..7f9c666e25 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/1.Setup Data/CreateItemChargeMX.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 14122 "Create Item Charge MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItemCharge(var Rec: Record "Item Charge") + var + CreateVatPostingGroupsMX: Codeunit "Create VAT Posting Groups MX"; + CreateItemCharge: Codeunit "Create Item Charge"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), CreateItemCharge.PurchAllowance(), CreateItemCharge.PurchFreight(), CreateItemCharge.PurchRestock(), CreateItemCharge.SaleAllowance(), CreateItemCharge.SaleFreight(), CreateItemCharge.SaleRestock(): + Rec.Validate("VAT Prod. Posting Group", CreateVatPostingGroupsMX.VAT16()); + end; + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplateMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplateMX.Codeunit.al new file mode 100644 index 0000000000..aebcf2f8b1 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplateMX.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 14139 "Create Item Journal TemplateMX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Journal Template", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Item Journal Template") + var + CreateItemJournalTemplate: Codeunit "Create Item Journal Template"; + begin + case Rec.Name of + CreateItemJournalTemplate.ItemJournalTemplate(): + ValidateRecordFields(Rec, Report::"Item Register"); + end; + end; + + local procedure ValidateRecordFields(var ItemJournalTemplate: Record "Item Journal Template"; PostingReportID: Integer) + begin + ItemJournalTemplate.Validate("Posting Report ID", PostingReportID); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateInvPostingSetupMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateInvPostingSetupMX.Codeunit.al new file mode 100644 index 0000000000..719d60f341 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateInvPostingSetupMX.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 14133 "Create Inv. Posting Setup MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInvPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec."Invt. Posting Group Code" of + CreateInvPostingGroup.Resale(): + ValidateRecordFields(Rec, CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + end; + end; + + local procedure ValidateRecordFields(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateItemMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateItemMX.Codeunit.al new file mode 100644 index 0000000000..1dfa090a07 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateItemMX.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 14124 "Create Item MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateVatPostingGroupsMX: Codeunit "Create Vat Posting Groups MX"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 9007, 7026, CreateVatPostingGroupsMX.VAT16()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 1735, 1353, CreateVatPostingGroupsMX.VAT16()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 3903, 3044, CreateVatPostingGroupsMX.VAT16()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 1711, 1333, CreateVatPostingGroupsMX.VAT16()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 5830, 4549, CreateVatPostingGroupsMX.VAT16()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 1699, 0, CreateVatPostingGroupsMX.VAT16()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 494, 386, CreateVatPostingGroupsMX.VAT16()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 2104, 0, CreateVatPostingGroupsMX.VAT16()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 1735, 1353, CreateVatPostingGroupsMX.VAT16()); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 1132, 0, CreateVatPostingGroupsMX.VAT16()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 1735, 1353, CreateVatPostingGroupsMX.VAT16()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 1735, 1353, CreateVatPostingGroupsMX.VAT16()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 2104, 0, CreateVatPostingGroupsMX.VAT16()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 1711, 1333, CreateVatPostingGroupsMX.VAT16()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 3076, 0, CreateVatPostingGroupsMX.VAT16()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 1711, 1333, CreateVatPostingGroupsMX.VAT16()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 1711, 1333, CreateVatPostingGroupsMX.VAT16()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 1735, 1353, CreateVatPostingGroupsMX.VAT16()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 12576, 9809, CreateVatPostingGroupsMX.VAT16()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 1711, 1333, CreateVatPostingGroupsMX.VAT16()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VATProdPostingGroupCode: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VATProdPostingGroupCode); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateItemTemplateMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateItemTemplateMX.Codeunit.al new file mode 100644 index 0000000000..f89fdf0339 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateItemTemplateMX.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 14123 "Create Item Template MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVatPostingGrpMX: Codeunit "Create Vat Posting Groups MX"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateVatPostingGrpMX.VAT16()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateVatPostingGrpMX.VAT16()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateLocationMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateLocationMX.Codeunit.al new file mode 100644 index 0000000000..bf4e3d61ee --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Inventory/2.Master Data/CreateLocationMX.Codeunit.al @@ -0,0 +1,66 @@ +codeunit 14125 "Create Location MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMainLocation(); + end; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocaion: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocaion.EastLocation(): + ValidateRecordFields(Rec, EastLocationAddressLbl, EastLocationCityLbl, EastLoctionPostCodeLbl, EastLocationContactLbl); + CreateLocaion.WestLocation(): + ValidateRecordFields(Rec, WestLocationAddressLbl, WestLocationCityLbl, WestLoctionPostCodeLbl, WestLocationContactLbl); + end; + end; + + local procedure UpdateMainLocation() + var + Location: Record Location; + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Get(CreateLocaion.MainLocation()); + Location.Validate(Address, MainLocationAddressLbl); + Location.Validate(City, MainLocationCityLbl); + Location.Validate("Post Code", MainLoctionPostCodeLbl); + Location."Country/Region Code" := CreateCountryRegion.GB(); + Location.Validate(Contact, MainLocationContactLbl); + Location.Validate("Address 2", ''); + Location.Modify(true); + end; + + local procedure ValidateRecordFields(var Location: Record Location; Address: Text[100]; City: Text[30]; PostCode: Code[20]; Contact: Text[100]) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Validate(Address, Address); + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CreateCountryRegion.GB(); + Location.Validate(Contact, Contact); + end; + + var + EastLocationAddressLbl: Label 'Main Liverpool Street, 5', MaxLength = 100; + EastLocationCityLbl: Label 'Liverpool', MaxLength = 30, Locked = true; + MainLocationAddressLbl: Label 'Main Bristol Street, 10', MaxLength = 100; + MainLocationCityLbl: Label 'Bristol', MaxLength = 30, Locked = true; + WestLocationAddressLbl: Label 'South East Street, 3', MaxLength = 100; + WestLocationCityLbl: Label 'Mexico City', MaxLength = 30, Locked = true; + EastLoctionPostCodeLbl: Label 'GB-L18 6SA', MaxLength = 20; + MainLoctionPostCodeLbl: Label 'GB-BS3 6KL', MaxLength = 20; + WestLoctionPostCodeLbl: Label '01030', MaxLength = 20; + EastLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + MainLocationContactLbl: Label 'Jeanne Bosworth', MaxLength = 100; + WestLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueMX.Codeunit.al new file mode 100644 index 0000000000..4cf8789ec3 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueMX.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 14131 "Create Purch. Dim. Value MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(), + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Purchase/2.Master Data/CreateVendorMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Purchase/2.Master Data/CreateVendorMX.Codeunit.al new file mode 100644 index 0000000000..23a77be502 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Purchase/2.Master Data/CreateVendorMX.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 14135 "Create Vendor MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, LondonPostmasterLbl, NorthLakeAvenueLbl, MexicoCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode01030Lbl); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, ARDayPropertyManagementLbl, DayDrive100Lbl, MexicoCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode6000Lbl); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, CoolWoodTechnologiesLbl, HitechDrive33Lbl, LeonCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode37500Lbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, LewisHomeFurnitureLbl, RadcroftRoad51Lbl, MonterreyCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode64640Lbl); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, ServiceElectronicsLtdLbl, FieldGreen172Lbl, MazatlanCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode82100Lbl); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; Name: Text[100]; Address: Text[100]; City: Text[30]; VendorPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; PostCode: Code[20]) + begin + Vendor.Validate(Name, Name); + Vendor.Validate(Address, Address); + Vendor.Validate("Address 2", ''); + Vendor.Validate(City, City); + Vendor.Validate("Territory Code", ''); + Vendor.Validate("Vendor Posting Group", VendorPostingGroup); + Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate(County, ''); + end; + + var + LondonPostmasterLbl: Label 'London Postmaster', Maxlength = 100; + ARDayPropertyManagementLbl: Label 'AR Day Property Management', Maxlength = 100; + CoolWoodTechnologiesLbl: Label 'CoolWood Technologies', Maxlength = 100; + LewisHomeFurnitureLbl: Label 'Lewis Home Furniture', Maxlength = 100; + ServiceElectronicsLtdLbl: Label 'Service Electronics Ltd.', Maxlength = 100; + NorthLakeAvenueLbl: Label '10 North Lake Avenue', MaxLength = 100; + DayDrive100Lbl: Label '100 Day Drive', MaxLength = 100; + HitechDrive33Lbl: Label '33 Hitech Drive', MaxLength = 100; + RadcroftRoad51Lbl: Label '51 Radcroft Road', MaxLength = 100; + FieldGreen172Lbl: Label '172 Field Green', MaxLength = 100; + MexicoCityLbl: Label 'Mexico City', MaxLength = 30; + LeonCityLbl: Label 'Leon', MaxLength = 30; + MonterreyCityLbl: Label 'Monterrey', MaxLength = 30; + MazatlanCityLbl: Label 'Mazatlan', MaxLength = 30; + PostCode01030Lbl: Label '01030', MaxLength = 20; + PostCode6000Lbl: Label '06000', MaxLength = 20; + PostCode37500Lbl: Label '37500', MaxLength = 20; + PostCode64640Lbl: Label '64640', MaxLength = 20; + PostCode82100Lbl: Label '82100', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/1.Setup Data/CreateReminderLevelMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/1.Setup Data/CreateReminderLevelMX.Codeunit.al new file mode 100644 index 0000000000..dc5eebe1a3 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/1.Setup Data/CreateReminderLevelMX.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 14127 "Create Reminder Level MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + ValidateRecordFields(Rec, 70); + if Rec."No." = 2 then + ValidateRecordFields(Rec, 139); + if Rec."No." = 3 then + ValidateRecordFields(Rec, 207); + end; + end; + end; + + procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFee: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFee); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateCustomerMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateCustomerMX.Codeunit.al new file mode 100644 index 0000000000..a9ed7815dd --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateCustomerMX.Codeunit.al @@ -0,0 +1,65 @@ +codeunit 14136 "Create Customer MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateLanguage: Codeunit "Create Language"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, TheCannonGroupPLCLbl, AdatumCorporationAddressLbl, MexicoCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode01030Lbl, CreateLanguage.ESM(), CreatePostingGroups.DomesticPostingGroup()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, SelangorianLtdLbl, TreyResearchAddressLbl, MexicoCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode6000Lbl, CreateLanguage.ESM(), CreatePostingGroups.DomesticPostingGroup()); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, JohnHaddockInsuranceCoLbl, SchoolofArtAddressLbl, LeonCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode37500Lbl, CreateLanguage.ESM(), CreatePostingGroups.DomesticPostingGroup()); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, DeerfieldGraphicsCompanyLbl, AlpineSkiHouseAddressLbl, MonterreyCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode64640Lbl, CreateLanguage.ESM(), CreatePostingGroups.DomesticPostingGroup()); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, GuildfordWaterDepartmentLbl, RelecloudAddressLbl, MazatlanCityLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), PostCode82100Lbl, CreateLanguage.ESM(), CreatePostingGroups.DomesticPostingGroup()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; Name: Text[100]; Address: Text[100]; City: Text[30]; CustomerPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; PostCode: Code[20]; LanguageCode: Code[10]; ReminderTermsCode: Code[20]) + begin + Customer.Validate(Name, Name); + Customer.Validate(Address, Address); + Customer.Validate("Address 2", ''); + Customer.Validate(City, City); + Customer.Validate("Territory Code", ''); + Customer.Validate("Customer Posting Group", CustomerPostingGroup); + Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Customer.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Customer.Validate("Post Code", PostCode); + Customer.Validate(County, ''); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Reminder Terms Code", ReminderTermsCode); + end; + + var + TheCannonGroupPLCLbl: Label 'The Cannon Group PLC', Maxlength = 100; + SelangorianLtdLbl: Label 'Selangorian Ltd.', Maxlength = 100; + JohnHaddockInsuranceCoLbl: Label 'John Haddock Insurance Co.', Maxlength = 100; + DeerfieldGraphicsCompanyLbl: Label 'Deerfield Graphics Company', Maxlength = 100; + GuildfordWaterDepartmentLbl: Label 'Guildford Water Department', Maxlength = 100; + AdatumCorporationAddressLbl: Label '192 Market Square', MaxLength = 100, Locked = true; + TreyResearchAddressLbl: Label '153 Thomas Drive', MaxLength = 100, Locked = true; + SchoolofArtAddressLbl: Label '10 High Tower Green', MaxLength = 100, Locked = true; + AlpineSkiHouseAddressLbl: Label '10 Deerfield Road', MaxLength = 100, Locked = true; + RelecloudAddressLbl: Label '25 Water Way', MaxLength = 100, Locked = true; + MexicoCityLbl: Label 'Mexico City', MaxLength = 30; + LeonCityLbl: Label 'Leon', MaxLength = 30; + MonterreyCityLbl: Label 'Monterrey', MaxLength = 30; + MazatlanCityLbl: Label 'Mazatlan', MaxLength = 30; + PostCode01030Lbl: Label '01030', MaxLength = 20; + PostCode6000Lbl: Label '06000', MaxLength = 20; + PostCode37500Lbl: Label '37500', MaxLength = 20; + PostCode64640Lbl: Label '64640', MaxLength = 20; + PostCode82100Lbl: Label '82100', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateSalesDimValueMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateSalesDimValueMX.Codeunit.al new file mode 100644 index 0000000000..2e0e3037ad --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateSalesDimValueMX.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 14126 "Create Sales Dim Value MX" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(), + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateShiptoAddressMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateShiptoAddressMX.Codeunit.al new file mode 100644 index 0000000000..cd28c5c30d --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/2.Master Data/CreateShiptoAddressMX.Codeunit.al @@ -0,0 +1,57 @@ +codeunit 14137 "Create Ship-to Address MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Customer: Record Customer; + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + CreateCustomer: Codeunit "Create Customer"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Customer.Get(CreateCustomer.DomesticAdatumCorporation()); + ContosoCustomerVendor.InsertShiptoAddress(Customer."No.", LewesRoad(), Customer.Name, LewesRoad2Lbl, AtlantaCityLbl, CreateCountryRegion.US(), PostCode31772Lbl); + ContosoCustomerVendor.InsertShiptoAddress(Customer."No.", ParkRoad(), Customer.Name, ParkRoad10Lbl, AtlantaCityLbl, CreateCountryRegion.US(), PostCode31772Lbl); + + Customer.Get(CreateCustomer.DomesticTreyResearch()); + ContosoCustomerVendor.InsertShiptoAddress(Customer."No.", Chicago(), Customer.Name, EastActonRoad53AddressLbl, ChicagoCityLbl, CreateCountryRegion.US(), PostCode61236Lbl); + ContosoCustomerVendor.InsertShiptoAddress(Customer."No.", Miami(), Customer.Name, CrossCourt55AddressLbl, MiamiCityLbl, CreateCountryRegion.US(), PostCode37125Lbl); + end; + + procedure LewesRoad(): Code[10] + begin + exit(LewesRoadTok); + end; + + procedure ParkRoad(): Code[10] + begin + exit(ParkRoadTok); + end; + + procedure Chicago(): Code[10] + begin + exit(ChicagoTok); + end; + + procedure Miami(): Code[10] + begin + exit(MiamiTok); + end; + + var + LewesRoadTok: Label 'LEWES ROAD', MaxLength = 10; + ParkRoadTok: Label 'PARK ROAD', MaxLength = 10; + ChicagoTok: Label 'CHICAGO', MaxLength = 10; + MiamiTok: Label 'MIAMI', MaxLength = 10; + LewesRoad2Lbl: Label '2 Lewes Road', MaxLength = 100; + ParkRoad10Lbl: Label '10 Park Road', MaxLength = 100; + EastActonRoad53AddressLbl: Label '53 East Acton Road', MaxLength = 100; + CrossCourt55AddressLbl: Label '55 Cross Court', MaxLength = 100; + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30; + ChicagoCityLbl: Label 'Chicago', MaxLength = 30; + MiamiCityLbl: Label 'Miami', MaxLength = 30; + PostCode31772Lbl: Label '31772', MaxLength = 20; + PostCode61236Lbl: Label '61236', MaxLength = 20; + PostCode37125Lbl: Label '37125', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/3.Transaction Data/CreateSalesDocumentMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/3.Transaction Data/CreateSalesDocumentMX.Codeunit.al new file mode 100644 index 0000000000..906e210f48 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoData/Sales/3.Transaction Data/CreateSalesDocumentMX.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 14138 "Create Sales Document MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + SalesHeader.Get(Enum::"Sales Document Type"::Invoice, SINV102201Lbl); + ContosoSales.InsertSalesLineWithGLAccount(SalesHeader, CreateGLAccount.ConsultantServices(), 1, 970); + end; + + var + SINV102201Lbl: Label '102201', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/Codeunits/CommonModuleMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/CommonModuleMX.Codeunit.al similarity index 100% rename from Apps/MX/ContosoCoffeeDemoDatasetMX/app/Codeunits/CommonModuleMX.Codeunit.al rename to Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/CommonModuleMX.Codeunit.al diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/Contoso Helpers/ContosoPostCodeMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/Contoso Helpers/ContosoPostCodeMX.Codeunit.al new file mode 100644 index 0000000000..55ec5cfa76 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/Contoso Helpers/ContosoPostCodeMX.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 14097 "Contoso Post Code MX" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]; County: Text[30]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + PostCode.Validate(County, County); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/Codeunits/ContosoDemoDataSetupMX.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/ContosoDemoDataSetupMX.Codeunit.al similarity index 100% rename from Apps/MX/ContosoCoffeeDemoDatasetMX/app/Codeunits/ContosoDemoDataSetupMX.Codeunit.al rename to Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/ContosoDemoDataSetupMX.Codeunit.al diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/MXContosoLocalization.Codeunit.al b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/MXContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..a8bae840b0 --- /dev/null +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/DemoTool/MXContosoLocalization.Codeunit.al @@ -0,0 +1,215 @@ +codeunit 14108 "MX Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information MX"); + Codeunit.Run(Codeunit::"Create Post Code MX"); + Codeunit.Run(Codeunit::"Create VAT Posting Groups MX"); + Codeunit.Run(Codeunit::"Create Posting Groups MX"); + Codeunit.Run(Codeunit::"Create Data Exchange Def MX"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Bank Ex/Import SetupMX"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line MX"); + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupMX: Codeunit "Create VAT Posting Groups MX"; + CreatePostingGroupsMX: Codeunit "Create Posting Groups MX"; + CreateMXGLAccounts: Codeunit "Create MX GL Accounts"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + CreateVatPostingGroupMX.CreateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create General Ledger Setup MX"); + Codeunit.Run(Codeunit::"Create VATSetupPostingGrp. MX"); + Codeunit.Run(Codeunit::"Create Column Layout Name MX"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Column Layout MX"); + Codeunit.Run(Codeunit::"Create Currency Ex. Rate MX"); + Codeunit.Run(Codeunit::"Create VAT Statement MX"); + CreateMXGLAccounts.AddCategoriesToGLAccounts(); + CreateMXGLAccounts.UpdateDebitCreditOnGL(); + CreateMXGLAccounts.UpdateVATProdPostingGroupOnGL(); + CreatePostingGroupsMX.CreateGenPostingSetup(); + end; + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Ship-to Address MX"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Sales Document MX"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Item Template MX"); + Codeunit.Run(Codeunit::"Create Location MX"); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateCustomerMX: Codeunit "Create Customer MX"; + CreateCurrencyExchRateMX: Codeunit "Create Currency Ex. Rate MX"; + CreateAccScheduleLineMX: Codeunit "Create Acc. Schedule Line MX"; + CreateVATStatementMX: Codeunit "Create VAT Statement MX"; + CreatePostingGroupsMX: Codeunit "Create Posting Groups MX"; + CreateCurrencyMX: Codeunit "Create Currency MX"; + CreateLocationMX: Codeunit "Create Location MX"; + CreateItemMX: Codeunit "Create Item MX"; + CreateBankAccountMX: Codeunit "Create Bank Account MX"; + CreateItemChargeMX: Codeunit "Create Item Charge MX"; + CreateVendorMX: Codeunit "Create Vendor MX"; + CreateResourceMX: Codeunit "Create Resource MX"; + CreateReminderLevelMX: Codeunit "Create Reminder Level MX"; + CreateGenJournalLineMX: Codeunit "Create Gen. Journal Line MX"; + CreateSalesDimValueMX: Codeunit "Create Sales Dim Value MX"; + CreatePurchDimValueMX: Codeunit "Create Purch. Dim. Value MX"; + CreateInvPostingSetupMX: Codeunit "Create Inv. Posting Setup MX"; + CreateItemJournalTemplateMX: Codeunit "Create Item Journal TemplateMX"; + CreateColumnLayoutMX: Codeunit "Create Column Layout MX"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccountMX); + BindSubscription(CreateGenJournalLineMX); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateItemChargeMX); + BindSubscription(CreateItemMX); + BindSubscription(CreateLocationMX); + BindSubscription(CreateInvPostingSetupMX); + BindSubscription(CreateItemJournalTemplateMX); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustomerMX); + BindSubscription(CreateReminderLevelMX); + BindSubscription(CreateSalesDimValueMX); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorMX); + BindSubscription(CreatePurchDimValueMX); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCurrencyExchRateMX); + BindSubscription(CreatePostingGroupsMX); + BindSubscription(CreateResourceMX); + BindSubscription(CreateAccScheduleLineMX); + BindSubscription(CreateVATStatementMX); + BindSubscription(CreateCurrencyMX); + BindSubscription(CreateColumnLayoutMX); + end; + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateCurrencyExchRateMX: Codeunit "Create Currency Ex. Rate MX"; + CreateAccScheduleLineMX: Codeunit "Create Acc. Schedule Line MX"; + CreateVATStatementMX: Codeunit "Create VAT Statement MX"; + CreatePostingGroupsMX: Codeunit "Create Posting Groups MX"; + CreateCurrencyMX: Codeunit "Create Currency MX"; + CreateLocationMX: Codeunit "Create Location MX"; + CreateItemMX: Codeunit "Create Item MX"; + CreateBankAccountMX: Codeunit "Create Bank Account MX"; + CreateItemChargeMX: Codeunit "Create Item Charge MX"; + CreateVendorMX: Codeunit "Create Vendor MX"; + CreateResourceMX: Codeunit "Create Resource MX"; + CreateReminderLevelMX: Codeunit "Create Reminder Level MX"; + CreateGenJournalLineMX: Codeunit "Create Gen. Journal Line MX"; + CreateSalesDimValueMX: Codeunit "Create Sales Dim Value MX"; + CreatePurchDimValueMX: Codeunit "Create Purch. Dim. Value MX"; + CreateInvPostingSetupMX: Codeunit "Create Inv. Posting Setup MX"; + CreateCustomerMX: Codeunit "Create Customer MX"; + CreateItemJournalTemplateMX: Codeunit "Create Item Journal TemplateMX"; + CreateColumnLayoutMX: Codeunit "Create Column Layout MX"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccountMX); + UnbindSubscription(CreateGenJournalLineMX); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateItemChargeMX); + UnbindSubscription(CreateItemMX); + UnbindSubscription(CreateLocationMX); + UnbindSubscription(CreateInvPostingSetupMX); + UnbindSubscription(CreateItemJournalTemplateMX); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateReminderLevelMX); + UnbindSubscription(CreateSalesDimValueMX); + UnbindSubscription(CreateCustomerMX); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateVendorMX); + UnbindSubscription(CreatePurchDimValueMX); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateCurrencyExchRateMX); + UnbindSubscription(CreatePostingGroupsMX); + UnbindSubscription(CreateResourceMX); + UnbindSubscription(CreateAccScheduleLineMX); + UnbindSubscription(CreateVATStatementMX); + UnbindSubscription(CreateCurrencyMX); + UnbindSubscription(CreateColumnLayoutMX); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/app.json b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/app.json index 7d4d9186e3..c3112df51d 100644 --- a/Apps/MX/ContosoCoffeeDemoDatasetMX/app/app.json +++ b/Apps/MX/ContosoCoffeeDemoDatasetMX/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 14095, - "to": 14099 + "to": 14199 } ], "resourceExposurePolicy": { diff --git a/Apps/NA/Ceridian/src/CeridianInstall.Codeunit.al b/Apps/NA/Ceridian/src/CeridianInstall.Codeunit.al index fe6068b8f3..5f7713c31b 100644 --- a/Apps/NA/Ceridian/src/CeridianInstall.Codeunit.al +++ b/Apps/NA/Ceridian/src/CeridianInstall.Codeunit.al @@ -3,20 +3,13 @@ namespace Microsoft.Payroll.Ceridian; using Microsoft.Foundation.Company; using System.Environment; using System.Privacy; -using System.Upgrade; codeunit 1667 "Ceridian Install" { Subtype = install; - trigger OnInstallAppPerCompany() - var - AppInfo: ModuleInfo; - begin - NavApp.GetCurrentModuleInfo(AppInfo); - if AppInfo.DataVersion().Major() = 0 then - SetAllUpgradeTags(); - + trigger OnInstallAppPerCompany() + begin CompanyInitialize(); end; @@ -40,17 +33,5 @@ codeunit 1667 "Ceridian Install" DataClassificationMgt.SetFieldToPersonal(Database::"MS Ceridian Payroll Setup", MSCeridianPayrollSetup.FieldNo("User Name")); DataClassificationMgt.SetFieldToPersonal(Database::"MS Ceridian Payroll Setup", MSCeridianPayrollSetup.FieldNo("Service URL")); end; - - local procedure SetAllUpgradeTags() - var - UpgradeTag: Codeunit "Upgrade Tag"; - MSCeridianPayrollupgrade: Codeunit "MS Ceridian Payroll upgrade"; - begin - if not UpgradeTag.HasUpgradeTag(MSCeridianPayrollupgrade.GetCeridianSecretsToISUpgradeTag()) then - UpgradeTag.SetUpgradeTag(MSCeridianPayrollupgrade.GetCeridianSecretsToISUpgradeTag()); - - if not UpgradeTag.HasUpgradeTag(MSCeridianPayrollupgrade.GetCeridianSecretsToISValidationTag()) then - UpgradeTag.SetUpgradeTag(MSCeridianPayrollupgrade.GetCeridianSecretsToISValidationTag()); - end; } diff --git a/Apps/NA/Ceridian/src/MSCeridianPayrollupgrade.Codeunit.al b/Apps/NA/Ceridian/src/MSCeridianPayrollupgrade.Codeunit.al index ca0b82de75..6961e0b160 100644 --- a/Apps/NA/Ceridian/src/MSCeridianPayrollupgrade.Codeunit.al +++ b/Apps/NA/Ceridian/src/MSCeridianPayrollupgrade.Codeunit.al @@ -1,84 +1,16 @@ +#if not CLEAN26 namespace Microsoft.Payroll.Ceridian; -using System.Upgrade; - codeunit 1665 "MS Ceridian Payroll upgrade" { Subtype = Upgrade; + ObsoleteState = Pending; + ObsoleteTag = '26.0'; + ObsoleteReason = 'No upgrade code left.'; trigger OnUpgradePerCompany() begin - UpgradeSecretsToIsolatedStorage(); - end; - trigger OnValidateUpgradePerCompany() - begin - VerifySecretsUpgradeToIsolatedStorage(); - end; - - local procedure UpgradeSecretsToIsolatedStorage() - var - ServicePassword: Record "Service Password"; - MsCeridianPayrollSetup: Record "MS Ceridian Payroll Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - if UpgradeTag.HasUpgradeTag(GetCeridianSecretsToISUpgradeTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetCeridianSecretsToISUpgradeTag()) then - exit; - - if MsCeridianPayrollSetup.Get() then - if ServicePassword.Get(MsCeridianPayrollSetup."Password Key") then - if EncryptionEnabled() then - IsolatedStorage.SetEncrypted(MsCeridianPayrollSetup."Password Key", ServicePassword.GetPassword(), DataScope::Company) - else - IsolatedStorage.Set(MsCeridianPayrollSetup."Password Key", ServicePassword.GetPassword(), DataScope::Company); - - UpgradeTag.SetUpgradeTag(GetCeridianSecretsToISUpgradeTag()); - end; - - local procedure VerifySecretsUpgradeToIsolatedStorage() - var - ServicePassword: Record "Service Password"; - MsCeridianPayrollSetup: Record "MS Ceridian Payroll Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - IsolatedStorageValue: Text; - ServicePasswordValue: Text; - begin - if UpgradeTag.HasUpgradeTag(GetCeridianSecretsToISValidationTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetCeridianSecretsToISValidationTag()) then - exit; - - if MsCeridianPayrollSetup.Get() then - if ServicePassword.Get(MsCeridianPayrollSetup."Password Key") then begin - if not IsolatedStorage.Get(MsCeridianPayrollSetup."Password Key", DataScope::Company, IsolatedStorageValue) then - Error('Could not retrieve the secret from isolated storage after the Upgrade for key "%1"', MsCeridianPayrollSetup."Password Key"); - ServicePasswordValue := ServicePassword.GetPassword(); - if IsolatedStorageValue <> ServicePasswordValue then - Error('The secret value for key "%1" in isolated storage does not match the one in service password.', MsCeridianPayrollSetup."Password Key"); - end; - - UpgradeTag.SetUpgradeTag(GetCeridianSecretsToISValidationTag()); - end; - - internal procedure GetCeridianSecretsToISUpgradeTag(): Code[250] - begin - exit('MS-328257-CeridianSecretsToIS-20190925'); - end; - - internal procedure GetCeridianSecretsToISValidationTag(): Code[250] - begin - exit('MS-328257-CeridianSecretsToIS-Validate-20190925'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] - local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) - begin - PerCompanyUpgradeTags.Add(GetCeridianSecretsToISUpgradeTag()); - PerCompanyUpgradeTags.Add(GetCeridianSecretsToISValidationTag()); end; } - +#endif diff --git a/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeBankServiceSetup.Table.al b/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeBankServiceSetup.Table.al index cd466ffbda..42a0b680e1 100644 --- a/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeBankServiceSetup.Table.al +++ b/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeBankServiceSetup.Table.al @@ -113,34 +113,6 @@ table 1450 "MS - Yodlee Bank Service Setup" { TableRelation = "Bank Export/Import Setup".Code where(Direction = const(Import)); } -#if not CLEANSCHEMA18 - field(40; "Cobrand Session Token"; BLOB) - { - ObsoleteReason = 'This field is no longer used after refactoring.'; - ObsoleteState = Removed; - ObsoleteTag = '18.0'; - } - field(41; "Cob. Token Last Date Updated"; DateTime) - { - Editable = false; - ObsoleteReason = 'This field is no longer used after refactoring.'; - ObsoleteState = Removed; - ObsoleteTag = '18.0'; - } - field(42; "Consumer Session Token"; BLOB) - { - ObsoleteReason = 'This field is no longer used after refactoring.'; - ObsoleteState = Removed; - ObsoleteTag = '18.0'; - } - field(43; "Cons. Token Last Date Updated"; DateTime) - { - Editable = false; - ObsoleteReason = 'This field is no longer used after refactoring.'; - ObsoleteState = Removed; - ObsoleteTag = '18.0'; - } -#endif field(50; "Accept Terms of Use"; Boolean) { } @@ -637,4 +609,3 @@ table 1450 "MS - Yodlee Bank Service Setup" exit(DELCHR("Service URL", '>', ' ')); end; } - diff --git a/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeServiceUpgrade.Codeunit.al b/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeServiceUpgrade.Codeunit.al index 0df08322af..8936f09d49 100644 --- a/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeServiceUpgrade.Codeunit.al +++ b/Apps/NA/EnvestnetYodleeBankFeeds/app/src/MSYodleeServiceUpgrade.Codeunit.al @@ -1,6 +1,5 @@ namespace Microsoft.Bank.StatementImport.Yodlee; -using System.Security.Encryption; using System.Upgrade; using Microsoft.Bank.BankAccount; @@ -22,16 +21,6 @@ codeunit 1452 "MS - Yodlee Service Upgrade" CleanupYodleeBankAccountLink(); UpdateDataExchangeDefinition(); UpdateYodleeBankSession(); - - UpgradeSecretsToIsolatedStorage(); - end; - - trigger OnValidateUpgradePerCompany() - var - AppInfo: ModuleInfo; - begin - NavApp.GetCurrentModuleInfo(AppInfo); - VerifySecretsUpgradeToIsolatedStorage(); end; procedure UpdateDataExchangeDefinition(); @@ -89,116 +78,6 @@ codeunit 1452 "MS - Yodlee Service Upgrade" UpgradeTag.SetUpgradeTag(GetYodleeUpdateBankSessionTableTag()); end; - local procedure UpgradeSecretsToIsolatedStorage() - var - MSYodleeBankServiceSetup: Record "MS - Yodlee Bank Service Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - if UpgradeTag.HasUpgradeTag(GetYodleeSecretsToISUpgradeTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetYodleeSecretsToISUpgradeTag()) then - exit; - - if MSYodleeBankServiceSetup.Get() then begin - MoveSPSecretToIsolatedStorage(MSYodleeBankServiceSetup."Consumer Password"); - MoveSPSecretToIsolatedStorage(MSYodleeBankServiceSetup."Cobrand Name"); - MoveSPSecretToIsolatedStorage(MSYodleeBankServiceSetup."Cobrand Password"); - MoveENKVSecretToIsolatedStorage('YODLEE_SERVICEURL'); - MoveENKVSecretToIsolatedStorage('YODLEE_FASTLINKURL'); - MoveENKVSecretToIsolatedStorage('YODLEE_USERNAME'); - MoveENKVSecretToIsolatedStorage('YODLEE_PASSWORD'); - end; - - UpgradeTag.SetUpgradeTag(GetYodleeSecretsToISUpgradeTag()); - end; - - local procedure VerifySecretsUpgradeToIsolatedStorage() - var - MSYodleeBankServiceSetup: Record "MS - Yodlee Bank Service Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - if UpgradeTag.HasUpgradeTag(GetYodleeSecretsToISValidationTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetYodleeSecretsToISValidationTag()) then - exit; - - if MSYodleeBankServiceSetup.Get() then begin - VerifySPSecret(MSYodleeBankServiceSetup."Consumer Password"); - VerifySPSecret(MSYodleeBankServiceSetup."Cobrand Name"); - VerifySPSecret(MSYodleeBankServiceSetup."Cobrand Password"); - VerifyENKSecret('YODLEE_SERVICEURL'); - VerifyENKSecret('YODLEE_FASTLINKURL'); - VerifyENKSecret('YODLEE_USERNAME'); - VerifyENKSecret('YODLEE_PASSWORD'); - end; - - UpgradeTag.SetUpgradeTag(GetYodleeSecretsToISValidationTag()); - end; - - local procedure MoveSPSecretToIsolatedStorage(ServicePasswordKey: Text[200]) - var - ServicePassword: Record "Service Password"; - begin - if ServicePassword.Get(ServicePasswordKey) then - if EncryptionEnabled() then - IsolatedStorage.SetEncrypted(ServicePasswordKey, ServicePassword.GetPassword(), DataScope::Company) - else - IsolatedStorage.Set(ServicePasswordKey, ServicePassword.GetPassword(), DataScope::Company); - end; - - local procedure MoveENKVSecretToIsolatedStorage(EncryptedKeyValueKey: Text[200]) - var - EncryptedKeyValue: Record "Encrypted Key/Value"; - begin - if EncryptedKeyValue.Get(EncryptedKeyValueKey) then - if EncryptionEnabled() then - IsolatedStorage.SetEncrypted(EncryptedKeyValueKey, EncryptedKeyValue.GetValue(), DataScope::Company) - else - IsolatedStorage.Set(EncryptedKeyValueKey, EncryptedKeyValue.GetValue(), DataScope::Company); - end; - - local procedure VerifySPSecret(ServicePasswordKey: Text[200]) - var - ServicePassword: Record "Service Password"; - IsolatedStorageValue: Text; - ServicePasswordValue: Text; - begin - if ServicePassword.Get(ServicePasswordKey) then begin - if not IsolatedStorage.Get(ServicePasswordKey, DataScope::Company, IsolatedStorageValue) then - Error('Could not retrieve the secret from isolated storage after the Upgrade for key "%1"', ServicePasswordKey); - ServicePasswordValue := ServicePassword.GetPassword(); - if IsolatedStorageValue <> ServicePasswordValue then - Error('The secret value for key "%1" in isolated storage does not match the one in service password.', ServicePasswordKey); - end; - end; - - local procedure VerifyENKSecret(EncryptedKeyValueKey: Text[200]) - var - EncryptedKeyValue: Record "Encrypted Key/Value"; - IsolatedStorageValue: Text; - EncryptedValue: Text; - begin - if EncryptedKeyValue.Get(EncryptedKeyValueKey) then begin - if not IsolatedStorage.Get(EncryptedKeyValueKey, DataScope::Company, IsolatedStorageValue) then - Error('Could not retrieve the secret from isolated storage after the Upgrade for key "%1"', EncryptedKeyValueKey); - EncryptedValue := EncryptedKeyValue.GetValue(); - if IsolatedStorageValue <> EncryptedValue then - Error('The secret value for key "%1" in isolated storage does not match the one in encrypted key value.', EncryptedKeyValueKey); - end; - end; - - internal procedure GetYodleeSecretsToISUpgradeTag(): Code[250] - begin - exit('MS-328257-YodleeSecretsToIS-20190925'); - end; - - internal procedure GetYodleeSecretsToISValidationTag(): Code[250] - begin - exit('MS-328257-YodleeSecretsToIS-Validate-20190925'); - end; - internal procedure GetYodleeUpdateBankSessionTableTag(): Code[250] begin exit('YodleeUpdateBankSession-20200221'); @@ -214,12 +93,6 @@ codeunit 1452 "MS - Yodlee Service Upgrade" var UpgradeTag: Codeunit "Upgrade Tag"; begin - if not UpgradeTag.HasUpgradeTag(GetYodleeSecretsToISUpgradeTag()) then - PerCompanyUpgradeTags.Add(GetYodleeSecretsToISUpgradeTag()); - - if not UpgradeTag.HasUpgradeTag(GetYodleeSecretsToISValidationTag()) then - PerCompanyUpgradeTags.Add(GetYodleeSecretsToISValidationTag()); - if not UpgradeTag.HasUpgradeTag(GetYodleeUpdateBankSessionTableTag()) then PerCompanyUpgradeTags.Add(GetYodleeUpdateBankSessionTableTag()); diff --git a/Apps/NA/EnvestnetYodleeBankFeeds/app/src/YodleeInstall.Codeunit.al b/Apps/NA/EnvestnetYodleeBankFeeds/app/src/YodleeInstall.Codeunit.al index 71447c166a..4a3a9b9262 100644 --- a/Apps/NA/EnvestnetYodleeBankFeeds/app/src/YodleeInstall.Codeunit.al +++ b/Apps/NA/EnvestnetYodleeBankFeeds/app/src/YodleeInstall.Codeunit.al @@ -69,12 +69,6 @@ codeunit 1454 "Yodlee Install" UpgradeTag: Codeunit "Upgrade Tag"; YodleeServiceUpgrade: Codeunit "MS - Yodlee Service Upgrade"; begin - if not UpgradeTag.HasUpgradeTag(YodleeServiceUpgrade.GetYodleeSecretsToISUpgradeTag()) then - UpgradeTag.SetUpgradeTag(YodleeServiceUpgrade.GetYodleeSecretsToISUpgradeTag()); - - if not UpgradeTag.HasUpgradeTag(YodleeServiceUpgrade.GetYodleeSecretsToISValidationTag()) then - UpgradeTag.SetUpgradeTag(YodleeServiceUpgrade.GetYodleeSecretsToISValidationTag()); - if not UpgradeTag.HasUpgradeTag(YodleeServiceUpgrade.GetYodleeUpdateBankSessionTableTag()) then UpgradeTag.SetUpgradeTag(YodleeServiceUpgrade.GetYodleeUpdateBankSessionTableTag()); diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CommonModuleNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CommonModuleNL.Codeunit.al index 6a92f3e22f..26e19ce48f 100644 --- a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CommonModuleNL.Codeunit.al +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CommonModuleNL.Codeunit.al @@ -15,7 +15,7 @@ codeunit 11495 "Common Module NL" if ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data" then begin LocalStandardVATPercentage := 21; ContosoPostingSetup.SetOverwriteData(true); - ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT"); + ContosoPostingSetup.InsertVATPostingSetup(CommonPostingGroup.Domestic(), CommonPostingGroup.StandardVAT(), CommonGLAccount.SalesVATStandard(), CommonGLAccount.PurchaseVATStandard(), CommonPostingGroup.StandardVAT(), LocalStandardVATPercentage, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); ContosoPostingSetup.SetOverwriteData(false); end; end; diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CreateNLGLAccounts.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CreateNLGLAccounts.Codeunit.al index 0ce70860f1..45d9b697b7 100644 --- a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CreateNLGLAccounts.Codeunit.al +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Codeunits/CreateNLGLAccounts.Codeunit.al @@ -7,7 +7,6 @@ codeunit 11499 "Create NL GL Accounts" local procedure ModifyCommonGLAccounts() var InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; CommonGLAccount: Codeunit "Create Common GL Account"; begin InventorySetup.Get(); @@ -27,8 +26,8 @@ codeunit 11499 "Create NL GL Accounts" ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '0501'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '0505'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '3285'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '3085'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '0501'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '3230'); @@ -46,7 +45,6 @@ codeunit 11499 "Create NL GL Accounts" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyServiceGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; SvcGLAccount: Codeunit "Create Svc GL Account"; begin ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '6430'); @@ -55,43 +53,40 @@ codeunit 11499 "Create NL GL Accounts" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyManufacturingGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; MfgGLAccount: Codeunit "Create Mfg GL Account"; begin ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '3420'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '3430'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '5311'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '5312'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '5313'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '5314'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '5315'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '5316'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '0504'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '0555'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), ''); + end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyFixedAssetGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; FAGLAccount: Codeunit "Create FA GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '0206'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '0208'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '0204'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), ''); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '4290'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), ''); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '4850'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyHumanResourcesGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; HRGLAccount: Codeunit "Create HR GL Account"; begin ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '1520'); @@ -100,16 +95,4761 @@ codeunit 11499 "Create NL GL Accounts" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyJobGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; JobGLAccount: Codeunit "Create Job GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '0551'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '0552'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), ''); ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '6420'); ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '6410'); ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '5520'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '5510'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforNL() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BalanceSheetName(), '0000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AssetsName(), '0001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), '0100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), '0101'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '0501'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '0504'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '0551'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), '0552'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '0851'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAssetsName(), '0999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongTermLiabilitiesName(), '1001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '1270'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '1999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.INCOMESTATEMENTName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), '3401'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '3501'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '3610'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '3920'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '4310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), '4413'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '5510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), '6200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestIncomeName(), '6330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '6410'); + ContosoGLAccount.AddAccountForLocalization(MaterialVarianceName(), '5312'); + ContosoGLAccount.AddAccountForLocalization(CapacityVarianceName(), '5313'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedVarianceName(), '5314'); + ContosoGLAccount.AddAccountForLocalization(IntangibleFixedAssetsName(), '0002'); + ContosoGLAccount.AddAccountForLocalization(DevelopmentExpenditureName(), '0010'); + ContosoGLAccount.AddAccountForLocalization(TenancySiteLeaseholdandsimilarrightsName(), '0020'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '0030'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsforIntangibleFixedAssetsName(), '0040'); + ContosoGLAccount.AddAccountForLocalization(TotalIntangibleFixedAssetsName(), '0049'); + ContosoGLAccount.AddAccountForLocalization(BuildingName(), '0110'); + ContosoGLAccount.AddAccountForLocalization(CostofImprovementstoLeasedPropertyName(), '0120'); + ContosoGLAccount.AddAccountForLocalization(LandName(), '0130'); + ContosoGLAccount.AddAccountForLocalization(TotalLandandbuildingName(), '0199'); + ContosoGLAccount.AddAccountForLocalization(MachineryandEquipmentName(), '0200'); + ContosoGLAccount.AddAccountForLocalization(EquipmentsandToolsName(), '0210'); + ContosoGLAccount.AddAccountForLocalization(ComputersName(), '0220'); + ContosoGLAccount.AddAccountForLocalization(CarsandotherTransportEquipmentsName(), '0230'); + ContosoGLAccount.AddAccountForLocalization(LeasedAssetsName(), '0240'); + ContosoGLAccount.AddAccountForLocalization(TotalMachineryandEquipmentName(), '0299'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationName(), '0300'); + ContosoGLAccount.AddAccountForLocalization(TotalTangibleAssetsName(), '0399'); + ContosoGLAccount.AddAccountForLocalization(FinancialandFixedAssetsName(), '0400'); + ContosoGLAccount.AddAccountForLocalization(LongtermReceivablesName(), '0401'); + ContosoGLAccount.AddAccountForLocalization(ParticipationinGroupCompaniesName(), '0402'); + ContosoGLAccount.AddAccountForLocalization(LoanstoPartnersorrelatedPartiesName(), '0403'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxAssetsName(), '0404'); + ContosoGLAccount.AddAccountForLocalization(OtherLongtermReceivablesName(), '0405'); + ContosoGLAccount.AddAccountForLocalization(TotalFinancialandFixedAssetsName(), '0499'); + ContosoGLAccount.AddAccountForLocalization(InventoriesProductsandworkinProgressName(), '0500'); + ContosoGLAccount.AddAccountForLocalization(SuppliesandConsumablesName(), '0502'); + ContosoGLAccount.AddAccountForLocalization(ProductsinProgressName(), '0503'); + ContosoGLAccount.AddAccountForLocalization(GoodsforResaleName(), '0505'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsforgoodsandservicesName(), '0506'); + ContosoGLAccount.AddAccountForLocalization(OtherInventoryItemsName(), '0507'); + ContosoGLAccount.AddAccountForLocalization(WorkinProgressName(), '0550'); + ContosoGLAccount.AddAccountForLocalization(WIPAccruedCostsName(), '0553'); + ContosoGLAccount.AddAccountForLocalization(WIPInvoicedSalesName(), '0554'); + ContosoGLAccount.AddAccountForLocalization(TotalWorkinProgressName(), '0598'); + ContosoGLAccount.AddAccountForLocalization(TotalInventoryProductsandWorkinProgressName(), '0599'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesName(), '0600'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivablesName(), '0601'); + ContosoGLAccount.AddAccountForLocalization(AccountReceivableDomesticName(), '0610'); + ContosoGLAccount.AddAccountForLocalization(AccountReceivableForeignName(), '0620'); + ContosoGLAccount.AddAccountForLocalization(ContractualReceivablesName(), '0630'); + ContosoGLAccount.AddAccountForLocalization(ConsignmentReceivablesName(), '0640'); + ContosoGLAccount.AddAccountForLocalization(CreditcardsandVouchersReceivablesName(), '0650'); + ContosoGLAccount.AddAccountForLocalization(TotalAccountReceivablesName(), '0699'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentReceivablesName(), '0700'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivablefromEmployeesName(), '0710'); + ContosoGLAccount.AddAccountForLocalization(AccruedincomenotyetinvoicedName(), '0720'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountsforTaxesandchargesName(), '0730'); + ContosoGLAccount.AddAccountForLocalization(TaxAssetsName(), '0740'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATReducedName(), '0750'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVATNormalName(), '0760'); + ContosoGLAccount.AddAccountForLocalization(MiscVATReceivablesName(), '0770'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivablesfromgroupcompaniesName(), '0780'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherCurrentReceivablesName(), '0798'); + ContosoGLAccount.AddAccountForLocalization(TotalReceivablesName(), '0799'); + ContosoGLAccount.AddAccountForLocalization(PrepaidexpensesandAccruedIncomeName(), '0800'); + ContosoGLAccount.AddAccountForLocalization(PrepaidRentName(), '0801'); + ContosoGLAccount.AddAccountForLocalization(PrepaidInterestexpenseName(), '0802'); + ContosoGLAccount.AddAccountForLocalization(AccruedRentalIncomeName(), '0803'); + ContosoGLAccount.AddAccountForLocalization(AccruedInterestIncomeName(), '0804'); + ContosoGLAccount.AddAccountForLocalization(AssetsintheformofprepaidexpensesName(), '0805'); + ContosoGLAccount.AddAccountForLocalization(OtherprepaidexpensesandaccruedincomeName(), '0806'); + ContosoGLAccount.AddAccountForLocalization(TotalPrepaidexpensesandAccruedIncomeName(), '0849'); + ContosoGLAccount.AddAccountForLocalization(ShortterminvestmentsName(), '0850'); + ContosoGLAccount.AddAccountForLocalization(ConvertibledebtinstrumentsName(), '0852'); + ContosoGLAccount.AddAccountForLocalization(OthershorttermInvestmentsName(), '0853'); + ContosoGLAccount.AddAccountForLocalization(WritedownofShortterminvestmentsName(), '0854'); + ContosoGLAccount.AddAccountForLocalization(TotalshortterminvestmentsName(), '0899'); + ContosoGLAccount.AddAccountForLocalization(CashandBankName(), '0900'); + ContosoGLAccount.AddAccountForLocalization(PettyCashName(), '0910'); + ContosoGLAccount.AddAccountForLocalization(BusinessaccountOperatingDomesticName(), '0920'); + ContosoGLAccount.AddAccountForLocalization(BusinessaccountOperatingForeignName(), '0930'); + ContosoGLAccount.AddAccountForLocalization(OtherbankaccountsName(), '0940'); + ContosoGLAccount.AddAccountForLocalization(CertificateofDepositName(), '0950'); + ContosoGLAccount.AddAccountForLocalization(TotalCashandBankName(), '0998'); + ContosoGLAccount.AddAccountForLocalization(LiabilityName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(BondsandDebentureLoansName(), '1110'); + ContosoGLAccount.AddAccountForLocalization(ConvertiblesLoansName(), '1120'); + ContosoGLAccount.AddAccountForLocalization(OtherLongtermLiabilitiesName(), '1130'); + ContosoGLAccount.AddAccountForLocalization(BankoverdraftFacilitiesName(), '1140'); + ContosoGLAccount.AddAccountForLocalization(PaymtsRecptsinProcessName(), '1180'); + ContosoGLAccount.AddAccountForLocalization(TotalLongtermLiabilitiesName(), '1199'); + ContosoGLAccount.AddAccountForLocalization(CurrentLiabilitiesName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableDomesticName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableForeignName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(AdvancesfromcustomersName(), '1230'); + ContosoGLAccount.AddAccountForLocalization(ChangeinWorkinProgressName(), '1240'); + ContosoGLAccount.AddAccountForLocalization(BankoverdraftshorttermName(), '1250'); + ContosoGLAccount.AddAccountForLocalization(DeferredRevenueName(), '1260'); + ContosoGLAccount.AddAccountForLocalization(TotalCurrentLiabilitiesName(), '1299'); + ContosoGLAccount.AddAccountForLocalization(TaxLiabilitiesName(), '1300'); + ContosoGLAccount.AddAccountForLocalization(SalesTaxVATLiableName(), '1310'); + ContosoGLAccount.AddAccountForLocalization(CollectioninProcessName(), '1312'); + ContosoGLAccount.AddAccountForLocalization(TaxesLiableName(), '1320'); + ContosoGLAccount.AddAccountForLocalization(SalesVATReducedName(), '1330'); + ContosoGLAccount.AddAccountForLocalization(SalesVATNormalName(), '1340'); + ContosoGLAccount.AddAccountForLocalization(MiscVATPayablesName(), '1350'); + ContosoGLAccount.AddAccountForLocalization(EstimatedIncomeTaxName(), '1360'); + ContosoGLAccount.AddAccountForLocalization(EstimatedrealestateTaxRealestatechargeName(), '1370'); + ContosoGLAccount.AddAccountForLocalization(EstimatedPayrolltaxonPensionCostsName(), '1380'); + ContosoGLAccount.AddAccountForLocalization(TotalTaxLiabilitiesName(), '1399'); + ContosoGLAccount.AddAccountForLocalization(PayrollLiabilitiesName(), '1400'); + ContosoGLAccount.AddAccountForLocalization(EmployeesWithholdingTaxesName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(StatutorySocialsecurityContributionsName(), '1420'); + ContosoGLAccount.AddAccountForLocalization(ContractualSocialsecurityContributionsName(), '1430'); + ContosoGLAccount.AddAccountForLocalization(AttachmentsofEarningName(), '1440'); + ContosoGLAccount.AddAccountForLocalization(HolidayPayfundName(), '1450'); + ContosoGLAccount.AddAccountForLocalization(OtherSalarywageDeductionsName(), '1460'); + ContosoGLAccount.AddAccountForLocalization(TotalPayrollLiabilitiesName(), '1499'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentLiabilitiesName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountforFactoringCurrentPortionName(), '1510'); + ContosoGLAccount.AddAccountForLocalization(CurrentLiabilitiestoEmployeesName(), '1520'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountforthirdpartyName(), '1530'); + ContosoGLAccount.AddAccountForLocalization(CurrentLoansName(), '1540'); + ContosoGLAccount.AddAccountForLocalization(LiabilitiesGrantsReceivedName(), '1550'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherCurrentLiabilitiesName(), '1599'); + ContosoGLAccount.AddAccountForLocalization(AccruedExpensesandDeferredIncomeName(), '1600'); + ContosoGLAccount.AddAccountForLocalization(AccruedwagessalariesName(), '1610'); + ContosoGLAccount.AddAccountForLocalization(PaymentsinProcessName(), '1612'); + ContosoGLAccount.AddAccountForLocalization(AccruedHolidaypayName(), '1620'); + ContosoGLAccount.AddAccountForLocalization(AccruedPensioncostsName(), '1630'); + ContosoGLAccount.AddAccountForLocalization(AccruedInterestExpenseName(), '1640'); + ContosoGLAccount.AddAccountForLocalization(DeferredIncomeName(), '1650'); + ContosoGLAccount.AddAccountForLocalization(AccruedContractualcostsName(), '1660'); + ContosoGLAccount.AddAccountForLocalization(OtherAccruedExpensesandDeferredIncomeName(), '1670'); + ContosoGLAccount.AddAccountForLocalization(TotalAccruedExpensesandDeferredIncomeName(), '1699'); + ContosoGLAccount.AddAccountForLocalization(EquityName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(EquityPartnerName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(NetResultsName(), '2200'); + ContosoGLAccount.AddAccountForLocalization(RestrictedEquityName(), '2300'); + ContosoGLAccount.AddAccountForLocalization(ShareCapitalName(), '2400'); + ContosoGLAccount.AddAccountForLocalization(NonRestrictedEquityName(), '2500'); + ContosoGLAccount.AddAccountForLocalization(ProfitorlossfromthepreviousyearName(), '2600'); + ContosoGLAccount.AddAccountForLocalization(ResultsfortheFinancialyearName(), '2700'); + ContosoGLAccount.AddAccountForLocalization(DistributionstoShareholdersName(), '2800'); + ContosoGLAccount.AddAccountForLocalization(TotalEquityName(), '2999'); + ContosoGLAccount.AddAccountForLocalization(EXPENSESName(), '3001'); + ContosoGLAccount.AddAccountForLocalization(FacilityExpensesName(), '3002'); + ContosoGLAccount.AddAccountForLocalization(RentalFacilitiesName(), '3100'); + ContosoGLAccount.AddAccountForLocalization(RentLeasesName(), '3110'); + ContosoGLAccount.AddAccountForLocalization(ElectricityforRentalName(), '3120'); + ContosoGLAccount.AddAccountForLocalization(HeatingforRentalName(), '3130'); + ContosoGLAccount.AddAccountForLocalization(WaterandSewerageforRentalName(), '3140'); + ContosoGLAccount.AddAccountForLocalization(CleaningandWasteforRentalName(), '3150'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceforRentalName(), '3160'); + ContosoGLAccount.AddAccountForLocalization(InsurancesRentalName(), '3170'); + ContosoGLAccount.AddAccountForLocalization(OtherRentalExpensesName(), '3180'); + ContosoGLAccount.AddAccountForLocalization(TotalRentalFacilitiesName(), '3199'); + ContosoGLAccount.AddAccountForLocalization(PropertyExpensesName(), '3200'); + ContosoGLAccount.AddAccountForLocalization(SiteFeesLeasesName(), '3210'); + ContosoGLAccount.AddAccountForLocalization(ElectricityforPropertyName(), '3220'); + ContosoGLAccount.AddAccountForLocalization(HeatingforPropertyName(), '3230'); + ContosoGLAccount.AddAccountForLocalization(WaterandSewerageforPropertyName(), '3240'); + ContosoGLAccount.AddAccountForLocalization(CleaningandWasteforPropertyName(), '3250'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceforPropertyName(), '3260'); + ContosoGLAccount.AddAccountForLocalization(InsurancesPropertyName(), '3270'); + ContosoGLAccount.AddAccountForLocalization(OtherPropertyExpensesName(), '3280'); + ContosoGLAccount.AddAccountForLocalization(TotalPropertyExpensesName(), '3298'); + ContosoGLAccount.AddAccountForLocalization(TotalFacilityExpensesName(), '3299'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsLeasesName(), '3300'); + ContosoGLAccount.AddAccountForLocalization(HireofmachineryName(), '3310'); + ContosoGLAccount.AddAccountForLocalization(HireofcomputersName(), '3320'); + ContosoGLAccount.AddAccountForLocalization(HireofotherfixedassetsName(), '3330'); + ContosoGLAccount.AddAccountForLocalization(TotalFixedAssetLeasesName(), '3399'); + ContosoGLAccount.AddAccountForLocalization(LogisticsExpensesName(), '3400'); + ContosoGLAccount.AddAccountForLocalization(PassengerCarCostsName(), '3410'); + ContosoGLAccount.AddAccountForLocalization(TruckCostsName(), '3420'); + ContosoGLAccount.AddAccountForLocalization(OthervehicleexpensesName(), '3430'); + ContosoGLAccount.AddAccountForLocalization(TotalVehicleExpensesName(), '3449'); + ContosoGLAccount.AddAccountForLocalization(FreightCostsName(), '3450'); + ContosoGLAccount.AddAccountForLocalization(FreightfeesforgoodsName(), '3451'); + ContosoGLAccount.AddAccountForLocalization(CustomsandforwardingName(), '3452'); + ContosoGLAccount.AddAccountForLocalization(FreightfeesprojectsName(), '3453'); + ContosoGLAccount.AddAccountForLocalization(TotalFreightCostsName(), '3459'); + ContosoGLAccount.AddAccountForLocalization(TravelExpensesName(), '3460'); + ContosoGLAccount.AddAccountForLocalization(TicketsName(), '3461'); + ContosoGLAccount.AddAccountForLocalization(RentalvehiclesName(), '3462'); + ContosoGLAccount.AddAccountForLocalization(BoardandlodgingName(), '3463'); + ContosoGLAccount.AddAccountForLocalization(OthertravelexpensesName(), '3464'); + ContosoGLAccount.AddAccountForLocalization(TotalTravelExpensesName(), '3469'); + ContosoGLAccount.AddAccountForLocalization(TotalLogisticsExpensesName(), '3499'); + ContosoGLAccount.AddAccountForLocalization(MarketingandSalesName(), '3500'); + ContosoGLAccount.AddAccountForLocalization(AdvertisementDevelopmentName(), '3502'); + ContosoGLAccount.AddAccountForLocalization(OutdoorandTransportationAdsName(), '3503'); + ContosoGLAccount.AddAccountForLocalization(AdmatteranddirectmailingsName(), '3504'); + ContosoGLAccount.AddAccountForLocalization(ConferenceExhibitionSponsorshipName(), '3505'); + ContosoGLAccount.AddAccountForLocalization(SamplescontestsgiftsName(), '3506'); + ContosoGLAccount.AddAccountForLocalization(FilmTVradiointernetadsName(), '3507'); + ContosoGLAccount.AddAccountForLocalization(PRandAgencyFeesName(), '3508'); + ContosoGLAccount.AddAccountForLocalization(OtheradvertisingfeesName(), '3509'); + ContosoGLAccount.AddAccountForLocalization(TotalAdvertisingName(), '3549'); + ContosoGLAccount.AddAccountForLocalization(OtherMarketingExpensesName(), '3550'); + ContosoGLAccount.AddAccountForLocalization(CatalogspricelistsName(), '3551'); + ContosoGLAccount.AddAccountForLocalization(TradePublicationsName(), '3552'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherMarketingExpensesName(), '3559'); + ContosoGLAccount.AddAccountForLocalization(SalesExpensesName(), '3560'); + ContosoGLAccount.AddAccountForLocalization(CreditCardChargesName(), '3561'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingdeductibleName(), '3562'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingnondeductibleName(), '3563'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesExpensesName(), '3569'); + ContosoGLAccount.AddAccountForLocalization(TotalMarketingandSalesName(), '3599'); + ContosoGLAccount.AddAccountForLocalization(OfficeExpensesName(), '3600'); + ContosoGLAccount.AddAccountForLocalization(PhoneServicesName(), '3620'); + ContosoGLAccount.AddAccountForLocalization(DataservicesName(), '3630'); + ContosoGLAccount.AddAccountForLocalization(PostalfeesName(), '3640'); + ContosoGLAccount.AddAccountForLocalization(ConsumableExpensiblehardwareName(), '3650'); + ContosoGLAccount.AddAccountForLocalization(SoftwareandsubscriptionfeesName(), '3660'); + ContosoGLAccount.AddAccountForLocalization(TotalOfficeExpensesName(), '3699'); + ContosoGLAccount.AddAccountForLocalization(InsurancesandRisksName(), '3700'); + ContosoGLAccount.AddAccountForLocalization(CorporateInsuranceName(), '3710'); + ContosoGLAccount.AddAccountForLocalization(DamagesPaidName(), '3720'); + ContosoGLAccount.AddAccountForLocalization(BadDebtLossesName(), '3730'); + ContosoGLAccount.AddAccountForLocalization(SecurityservicesName(), '3740'); + ContosoGLAccount.AddAccountForLocalization(OtherriskexpensesName(), '3750'); + ContosoGLAccount.AddAccountForLocalization(TotalInsurancesandRisksName(), '3799'); + ContosoGLAccount.AddAccountForLocalization(ManagementandAdminName(), '3800'); + ContosoGLAccount.AddAccountForLocalization(ManagementName(), '3801'); + ContosoGLAccount.AddAccountForLocalization(RemunerationtoDirectorsName(), '3810'); + ContosoGLAccount.AddAccountForLocalization(ManagementFeesName(), '3811'); + ContosoGLAccount.AddAccountForLocalization(AnnualinterrimReportsName(), '3812'); + ContosoGLAccount.AddAccountForLocalization(AnnualgeneralmeetingName(), '3813'); + ContosoGLAccount.AddAccountForLocalization(AuditandAuditServicesName(), '3814'); + ContosoGLAccount.AddAccountForLocalization(TaxadvisoryServicesName(), '3815'); + ContosoGLAccount.AddAccountForLocalization(TotalManagementFeesName(), '3849'); + ContosoGLAccount.AddAccountForLocalization(TotalManagementandAdminName(), '3899'); + ContosoGLAccount.AddAccountForLocalization(BankingandInterestName(), '3900'); + ContosoGLAccount.AddAccountForLocalization(BankingfeesName(), '3910'); + ContosoGLAccount.AddAccountForLocalization(PayableInvoiceRoundingName(), '3930'); + ContosoGLAccount.AddAccountForLocalization(TotalBankingandInterestName(), '3999'); + ContosoGLAccount.AddAccountForLocalization(ExternalServicesExpensesName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(ExternalServicesName(), '4100'); + ContosoGLAccount.AddAccountForLocalization(AccountingServicesName(), '4110'); + ContosoGLAccount.AddAccountForLocalization(ITServicesName(), '4120'); + ContosoGLAccount.AddAccountForLocalization(MediaServicesName(), '4130'); + ContosoGLAccount.AddAccountForLocalization(ConsultingServicesName(), '4140'); + ContosoGLAccount.AddAccountForLocalization(LegalFeesandAttorneyServicesName(), '4150'); + ContosoGLAccount.AddAccountForLocalization(OtherExternalServicesName(), '4160'); + ContosoGLAccount.AddAccountForLocalization(TotalExternalServicesName(), '4199'); + ContosoGLAccount.AddAccountForLocalization(OtherExternalExpensesName(), '4200'); + ContosoGLAccount.AddAccountForLocalization(LicenseFeesRoyaltiesName(), '4210'); + ContosoGLAccount.AddAccountForLocalization(TrademarksPatentsName(), '4220'); + ContosoGLAccount.AddAccountForLocalization(AssociationFeesName(), '4230'); + ContosoGLAccount.AddAccountForLocalization(MiscexternalexpensesName(), '4240'); + ContosoGLAccount.AddAccountForLocalization(PurchaseDiscountsName(), '4250'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherExternalExpensesName(), '4298'); + ContosoGLAccount.AddAccountForLocalization(TotalExternalServicesExpensesName(), '4299'); + ContosoGLAccount.AddAccountForLocalization(PersonnelName(), '4300'); + ContosoGLAccount.AddAccountForLocalization(WagesandSalariesName(), '4301'); + ContosoGLAccount.AddAccountForLocalization(HourlyWagesName(), '4320'); + ContosoGLAccount.AddAccountForLocalization(OvertimeWagesName(), '4330'); + ContosoGLAccount.AddAccountForLocalization(BonusesName(), '4340'); + ContosoGLAccount.AddAccountForLocalization(CommissionsPaidName(), '4350'); + ContosoGLAccount.AddAccountForLocalization(PTOAccruedName(), '4360'); + ContosoGLAccount.AddAccountForLocalization(TotalWagesandSalariesName(), '4399'); + ContosoGLAccount.AddAccountForLocalization(BenefitsPensionName(), '4400'); + ContosoGLAccount.AddAccountForLocalization(BenefitsName(), '4401'); + ContosoGLAccount.AddAccountForLocalization(TrainingCostsName(), '4410'); + ContosoGLAccount.AddAccountForLocalization(HealthCareContributionsName(), '4411'); + ContosoGLAccount.AddAccountForLocalization(EntertainmentofpersonnelName(), '4412'); + ContosoGLAccount.AddAccountForLocalization(MandatoryclothingexpensesName(), '4414'); + ContosoGLAccount.AddAccountForLocalization(OthercashremunerationbenefitsName(), '4415'); + ContosoGLAccount.AddAccountForLocalization(TotalBenefitsName(), '4449'); + ContosoGLAccount.AddAccountForLocalization(PensionName(), '4450'); + ContosoGLAccount.AddAccountForLocalization(PensionfeesandrecurringcostsName(), '4460'); + ContosoGLAccount.AddAccountForLocalization(EmployerContributionsName(), '4470'); + ContosoGLAccount.AddAccountForLocalization(TotalPensionName(), '4498'); + ContosoGLAccount.AddAccountForLocalization(TotalBenefitsPensionName(), '4499'); + ContosoGLAccount.AddAccountForLocalization(InsurancesPersonnelName(), '4500'); + ContosoGLAccount.AddAccountForLocalization(HealthInsuranceName(), '4510'); + ContosoGLAccount.AddAccountForLocalization(DentalInsuranceName(), '4520'); + ContosoGLAccount.AddAccountForLocalization(WorkersCompensationName(), '4530'); + ContosoGLAccount.AddAccountForLocalization(LifeInsuranceName(), '4540'); + ContosoGLAccount.AddAccountForLocalization(TotalInsurancesPersonnelName(), '4599'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelName(), '4699'); + ContosoGLAccount.AddAccountForLocalization(DepreciationName(), '4800'); + ContosoGLAccount.AddAccountForLocalization(DepreciationLandandPropertyName(), '4810'); + ContosoGLAccount.AddAccountForLocalization(DepreciationFixedAssetsName(), '4820'); + ContosoGLAccount.AddAccountForLocalization(TotalDepreciationName(), '4899'); + ContosoGLAccount.AddAccountForLocalization(MiscExpensesName(), '4900'); + ContosoGLAccount.AddAccountForLocalization(CurrencyLossesName(), '4910'); + ContosoGLAccount.AddAccountForLocalization(TotalMiscExpensesName(), '4998'); + ContosoGLAccount.AddAccountForLocalization(TOTALEXPENSESName(), '4999'); + ContosoGLAccount.AddAccountForLocalization(COSTOFGOODSSOLDName(), '5000'); + ContosoGLAccount.AddAccountForLocalization(CostofGoodsName(), '5100'); + ContosoGLAccount.AddAccountForLocalization(CostofMaterialsName(), '5110'); + ContosoGLAccount.AddAccountForLocalization(CostofMaterialsProjectsName(), '5120'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofGoodsName(), '5199'); + ContosoGLAccount.AddAccountForLocalization(CostofResourcesandServicesName(), '5200'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborName(), '5210'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborProjectsName(), '5220'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborWarrantyContractName(), '5230'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofResourcesName(), '5299'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedworkName(), '5300'); + ContosoGLAccount.AddAccountForLocalization(ManufVariancesName(), '5310'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVarianceCapName(), '5311'); + ContosoGLAccount.AddAccountForLocalization(CapOverheadVarianceName(), '5315'); + ContosoGLAccount.AddAccountForLocalization(MfgOverheadVarianceName(), '5316'); + ContosoGLAccount.AddAccountForLocalization(TotalManufVariancesName(), '5390'); + ContosoGLAccount.AddAccountForLocalization(CostofVariancesName(), '5400'); + ContosoGLAccount.AddAccountForLocalization(CostsofJobsName(), '5500'); + ContosoGLAccount.AddAccountForLocalization(JobCostsAppliedName(), '5520'); + ContosoGLAccount.AddAccountForLocalization(TotalCostsofJobsName(), '5599'); + ContosoGLAccount.AddAccountForLocalization(TOTALCOSTOFGOODSSOLDName(), '5999'); + ContosoGLAccount.AddAccountForLocalization(IncomeName(), '6000'); + ContosoGLAccount.AddAccountForLocalization(SalesofGoodsName(), '6100'); + ContosoGLAccount.AddAccountForLocalization(SaleofFinishedGoodsName(), '6110'); + ContosoGLAccount.AddAccountForLocalization(SaleofRawMaterialsName(), '6120'); + ContosoGLAccount.AddAccountForLocalization(ResaleofGoodsName(), '6130'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofGoodsName(), '6199'); + ContosoGLAccount.AddAccountForLocalization(SaleofResourcesName(), '6210'); + ContosoGLAccount.AddAccountForLocalization(SaleofSubcontractingName(), '6220'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofResourcesName(), '6299'); + ContosoGLAccount.AddAccountForLocalization(AdditionalRevenueName(), '6300'); + ContosoGLAccount.AddAccountForLocalization(IncomefromsecuritiesName(), '6310'); + ContosoGLAccount.AddAccountForLocalization(ManagementFeeRevenueName(), '6320'); + ContosoGLAccount.AddAccountForLocalization(CurrencyGainsName(), '6340'); + ContosoGLAccount.AddAccountForLocalization(OtherIncidentalRevenueName(), '6350'); + ContosoGLAccount.AddAccountForLocalization(TotalAdditionalRevenueName(), '6399'); + ContosoGLAccount.AddAccountForLocalization(JobsandServicesName(), '6400'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedName(), '6420'); + ContosoGLAccount.AddAccountForLocalization(SalesofServiceContractsName(), '6430'); + ContosoGLAccount.AddAccountForLocalization(SalesofServiceWorkName(), '6440'); + ContosoGLAccount.AddAccountForLocalization(TotalJobsandServicesName(), '6499'); + ContosoGLAccount.AddAccountForLocalization(RevenueReductionsName(), '6900'); + ContosoGLAccount.AddAccountForLocalization(SalesDiscountsName(), '6910'); + ContosoGLAccount.AddAccountForLocalization(SalesInvoiceRoundingName(), '6920'); + ContosoGLAccount.AddAccountForLocalization(SalesReturnsName(), '6940'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenueReductionsName(), '6998'); + ContosoGLAccount.AddAccountForLocalization(TOTALINCOMEName(), '6999'); + + ModifyGLAccountForW1(); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccountsReceivableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccountsReceivableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccumDeprOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AccumDepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ApplicationRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.BadDebtExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.BankLCYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.BuildingMaintenanceExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CashName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CashDiscrepanciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CleaningName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ConsultantServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ConsultingFeesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CorporateTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CorporateTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofRawMatSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofResaleSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CostofRetailSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomersDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomersDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomersForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DeferredTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DepreciationofFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DiscReceivedRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DiscReceivedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DiscountGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.DividendsfortheFiscalYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ElectricityandHeatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.EntertainmentandPRName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ExtraordinaryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ExtraordinaryIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FeesandChargesRecDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FinanceChargesfromCustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FinanceChargestoVendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FinishedGoodsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.GainsandLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.GasolineandMotorOilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InterestonBankBalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InterestonBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InterestonRevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InvAdjmtInterimRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InvAdjmtInterimRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InventoryAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InventoryTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InvoiceRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobWIPName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobWIPTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LandandBuildingsBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LandandBuildingsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LegalandAccountingServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LiquidAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LiquidAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LongtermBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LongtermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.MortgageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.NETINCOMEBEFORETAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.NetIncomefortheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.NIBEFOREEXTRITEMSTAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherCostsofOperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherReceivablesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PaymentDiscountsGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PaymentDiscountsReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PaymentToleranceGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PaymentToleranceReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PayrollTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PhoneandFaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PmtDiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PmtDiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PostageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PrimoInventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchasePrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchaseVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RawMaterialsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RegistrationFeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RepairsandMaintenanceExpenseName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ResaleItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ResaleItemsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RetainedEarningsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RetirementPlanContributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesPrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesOtherJobExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesResourcesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesResourcesExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SecuritiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ShorttermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.ShorttermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SoftwareName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.Stockholder(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TangibleFixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalAdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalBldgMaintExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalCostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalCostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalCostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalCostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalFixedAssetDepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalInterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TOTALLIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalPersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalPersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalSalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalSalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalSalesofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalSalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalSellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalVehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.UnrealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.UnrealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VacationCompensationPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VATPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VATTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorsDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorsForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.WagesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.WIPCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.WIPCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.WIPSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.WIPSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.WithholdingTaxesPayableName(), ''); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreatePostingGroup: codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BalanceSheet(), BalanceSheetLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), AssetsLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAssets(), TotalAssetsLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Assets() + '..' + CreateGLAccount.TotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildings(), CreateGLAccount.LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), CreateGLAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestExpenses(), CreateGLAccount.InterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Allowances(), CreateGLAccount.AllowancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobCosts(), CreateGLAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncome(), CreateGLAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Salaries(), CreateGLAccount.SalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VehicleExpenses(), CreateGLAccount.VehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSales(), CreateGLAccount.JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(MaterialVariance(), MaterialVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapacityVariance(), CapacityVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SubcontractedVariance(), SubcontractedVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(IntangibleFixedAssets(), IntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DevelopmentExpenditure(), DevelopmentExpenditureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TenancySiteLeaseholdandsimilarrights(), TenancySiteLeaseholdandsimilarrightsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Goodwill(), GoodwillName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsforIntangibleFixedAssets(), AdvancedPaymentsforIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalIntangibleFixedAssets(), TotalIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, IntangibleFixedAssets() + '..' + TotalIntangibleFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Building(), BuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofImprovementstoLeasedProperty(), CostofImprovementstoLeasedPropertyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Land(), LandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalLandandbuilding(), TotalLandandbuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LandandBuildings() + '..' + TotalLandandbuilding(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MachineryandEquipment(), MachineryandEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquipmentsandTools(), EquipmentsandToolsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Computers(), ComputersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CarsandotherTransportEquipments(), CarsandotherTransportEquipmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LeasedAssets(), LeasedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMachineryandEquipment(), TotalMachineryandEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, MachineryandEquipment() + '..' + TotalMachineryandEquipment(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciation(), AccumulatedDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTangibleAssets(), TotalTangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.TangibleFixedAssets() + '..' + TotalTangibleAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialandFixedAssets(), FinancialandFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongtermReceivables(), LongtermReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ParticipationinGroupCompanies(), ParticipationinGroupCompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LoanstoPartnersorrelatedParties(), LoanstoPartnersorrelatedPartiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredTaxAssets(), DeferredTaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLongtermReceivables(), OtherLongtermReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinancialandFixedAssets(), TotalFinancialandFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, FinancialandFixedAssets() + '..' + TotalFinancialandFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoriesProductsandworkinProgress(), InventoriesProductsandworkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SuppliesandConsumables(), SuppliesandConsumablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProductsinProgress(), ProductsinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsforResale(), GoodsforResaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsforgoodsandservices(), AdvancedPaymentsforgoodsandservicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherInventoryItems(), OtherInventoryItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkinProgress(), WorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccruedCosts(), WIPAccruedCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPInvoicedSales(), WIPInvoicedSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWorkinProgress(), TotalWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, WorkinProgress() + '..' + TotalWorkinProgress(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalInventoryProductsandWorkinProgress(), TotalInventoryProductsandWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, InventoriesProductsandworkinProgress() + '..' + TotalInventoryProductsandWorkinProgress(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Receivables(), ReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsReceivables(), AccountsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountReceivableDomestic(), AccountReceivableDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountReceivableForeign(), AccountReceivableForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ContractualReceivables(), ContractualReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsignmentReceivables(), ConsignmentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreditcardsandVouchersReceivables(), CreditcardsandVouchersReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAccountReceivables(), TotalAccountReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccountsReceivables() + '..' + TotalAccountReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentReceivables(), OtherCurrentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivablefromEmployees(), CurrentReceivablefromEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Accruedincomenotyetinvoiced(), AccruedincomenotyetinvoicedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountsforTaxesandcharges(), ClearingAccountsforTaxesandchargesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxAssets(), TaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATReduced(), PurchaseVATReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVATNormal(), PurchaseVATNormalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscVATReceivables(), MiscVATReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivablesfromgroupcompanies(), CurrentReceivablesfromgroupcompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherCurrentReceivables(), TotalOtherCurrentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherCurrentReceivables() + '..' + TotalOtherCurrentReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalReceivables(), TotalReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Receivables() + '..' + TotalReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidexpensesandAccruedIncome(), PrepaidexpensesandAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidRent(), PrepaidRentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidInterestexpense(), PrepaidInterestexpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedRentalIncome(), AccruedRentalIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedInterestIncome(), AccruedInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Assetsintheformofprepaidexpenses(), AssetsintheformofprepaidexpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherprepaidexpensesandaccruedincome(), OtherprepaidexpensesandaccruedincomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPrepaidexpensesandAccruedIncome(), TotalPrepaidexpensesandAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, PrepaidexpensesandAccruedIncome() + '..' + TotalPrepaidexpensesandAccruedIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Shortterminvestments(), ShortterminvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Convertibledebtinstruments(), ConvertibledebtinstrumentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OthershorttermInvestments(), OthershorttermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WritedownofShortterminvestments(), WritedownofShortterminvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Totalshortterminvestments(), TotalshortterminvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Shortterminvestments() + '..' + Totalshortterminvestments(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashandBank(), CashandBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PettyCash(), PettyCashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BusinessaccountOperatingDomestic(), BusinessaccountOperatingDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BusinessaccountOperatingForeign(), BusinessaccountOperatingForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Otherbankaccounts(), OtherbankaccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CertificateofDeposit(), CertificateofDepositName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCashandBank(), TotalCashandBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CashandBank() + '..' + TotalCashandBank(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Liability(), LiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BondsandDebentureLoans(), BondsandDebentureLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConvertiblesLoans(), ConvertiblesLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLongtermLiabilities(), OtherLongtermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankoverdraftFacilities(), BankoverdraftFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymtsRecptsinProcess(), PaymtsRecptsinProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLongtermLiabilities(), TotalLongtermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LongTermLiabilities() + '..' + TotalLongtermLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLiabilities(), CurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableDomestic(), AccountsPayableDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableForeign(), AccountsPayableForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Advancesfromcustomers(), AdvancesfromcustomersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChangeinWorkinProgress(), ChangeinWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Bankoverdraftshortterm(), BankoverdraftshorttermName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredRevenue(), DeferredRevenueName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCurrentLiabilities(), TotalCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CurrentLiabilities() + '..' + TotalCurrentLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxLiabilities(), TaxLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesTaxVATLiable(), SalesTaxVATLiableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CollectioninProcess(), CollectioninProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxesLiable(), TaxesLiableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVATReduced(), SalesVATReducedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVATNormal(), SalesVATNormalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscVATPayables(), MiscVATPayablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedIncomeTax(), EstimatedIncomeTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedrealestateTaxRealestatecharge(), EstimatedrealestateTaxRealestatechargeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedPayrolltaxonPensionCosts(), EstimatedPayrolltaxonPensionCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTaxLiabilities(), TotalTaxLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, TaxLiabilities() + '..' + TotalTaxLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PayrollLiabilities(), PayrollLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EmployeesWithholdingTaxes(), EmployeesWithholdingTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StatutorySocialsecurityContributions(), StatutorySocialsecurityContributionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ContractualSocialsecurityContributions(), ContractualSocialsecurityContributionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AttachmentsofEarning(), AttachmentsofEarningName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HolidayPayfund(), HolidayPayfundName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherSalarywageDeductions(), OtherSalarywageDeductionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPayrollLiabilities(), TotalPayrollLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, PayrollLiabilities() + '..' + TotalPayrollLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentLiabilities(), OtherCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountforFactoringCurrentPortion(), ClearingAccountforFactoringCurrentPortionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLiabilitiestoEmployees(), CurrentLiabilitiestoEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountforthirdparty(), ClearingAccountforthirdpartyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLoans(), CurrentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LiabilitiesGrantsReceived(), LiabilitiesGrantsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherCurrentLiabilities(), TotalOtherCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherCurrentLiabilities() + '..' + TotalOtherCurrentLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedExpensesandDeferredIncome(), AccruedExpensesandDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Accruedwagessalaries(), AccruedwagessalariesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentsinProcess(), PaymentsinProcessName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedHolidaypay(), AccruedHolidaypayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedPensioncosts(), AccruedPensioncostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedInterestExpense(), AccruedInterestExpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredIncome(), DeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedContractualcosts(), AccruedContractualcostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherAccruedExpensesandDeferredIncome(), OtherAccruedExpensesandDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAccruedExpensesandDeferredIncome(), TotalAccruedExpensesandDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccruedExpensesandDeferredIncome() + '..' + TotalAccruedExpensesandDeferredIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Equity(), EquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquityPartner(), EquityPartnerName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NetResults(), NetResultsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RestrictedEquity(), RestrictedEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShareCapital(), ShareCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonRestrictedEquity(), NonRestrictedEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Profitorlossfromthepreviousyear(), ProfitorlossfromthepreviousyearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResultsfortheFinancialyear(), ResultsfortheFinancialyearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DistributionstoShareholders(), DistributionstoShareholdersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalEquity(), TotalEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, Equity() + '..' + TotalEquity(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EXPENSES(), EXPENSESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FacilityExpenses(), FacilityExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentalFacilities(), RentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentLeases(), RentLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityforRental(), ElectricityforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HeatingforRental(), HeatingforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterandSewerageforRental(), WaterandSewerageforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningandWasteforRental(), CleaningandWasteforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenanceforRental(), RepairsandMaintenanceforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesRental(), InsurancesRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherRentalExpenses(), OtherRentalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRentalFacilities(), TotalRentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, RentalFacilities() + '..' + TotalRentalFacilities(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PropertyExpenses(), PropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SiteFeesLeases(), SiteFeesLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityforProperty(), ElectricityforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HeatingforProperty(), HeatingforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterandSewerageforProperty(), WaterandSewerageforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningandWasteforProperty(), CleaningandWasteforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenanceforProperty(), RepairsandMaintenanceforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesProperty(), InsurancesPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPropertyExpenses(), OtherPropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPropertyExpenses(), TotalPropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, PropertyExpenses() + '..' + TotalPropertyExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalFacilityExpenses(), TotalFacilityExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FacilityExpenses() + '..' + TotalFacilityExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsLeases(), FixedAssetsLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Hireofmachinery(), HireofmachineryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Hireofcomputers(), HireofcomputersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Hireofotherfixedassets(), HireofotherfixedassetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFixedAssetLeases(), TotalFixedAssetLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FixedAssetsLeases() + '..' + TotalFixedAssetLeases(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LogisticsExpenses(), LogisticsExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PassengerCarCosts(), PassengerCarCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TruckCosts(), TruckCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othervehicleexpenses(), OthervehicleexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVehicleExpenses(), TotalVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehicleExpenses() + '..' + TotalVehicleExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreightCosts(), FreightCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Freightfeesforgoods(), FreightfeesforgoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Customsandforwarding(), CustomsandforwardingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Freightfeesprojects(), FreightfeesprojectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFreightCosts(), TotalFreightCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FreightCosts() + '..' + TotalFreightCosts(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TravelExpenses(), TravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Tickets(), TicketsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Rentalvehicles(), RentalvehiclesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Boardandlodging(), BoardandlodgingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othertravelexpenses(), OthertravelexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTravelExpenses(), TotalTravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, TravelExpenses() + '..' + TotalTravelExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLogisticsExpenses(), TotalLogisticsExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, LogisticsExpenses() + '..' + TotalLogisticsExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MarketingandSales(), MarketingandSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdvertisementDevelopment(), AdvertisementDevelopmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OutdoorandTransportationAds(), OutdoorandTransportationAdsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Admatteranddirectmailings(), AdmatteranddirectmailingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConferenceExhibitionSponsorship(), ConferenceExhibitionSponsorshipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Samplescontestsgifts(), SamplescontestsgiftsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FilmTVradiointernetads(), FilmTVradiointernetadsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PRandAgencyFees(), PRandAgencyFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otheradvertisingfees(), OtheradvertisingfeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdvertising(), TotalAdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Advertising() + '..' + TotalAdvertising(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherMarketingExpenses(), OtherMarketingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Catalogspricelists(), CatalogspricelistsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradePublications(), TradePublicationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherMarketingExpenses(), TotalOtherMarketingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherMarketingExpenses() + '..' + TotalOtherMarketingExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesExpenses(), SalesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditCardCharges(), CreditCardChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingdeductible(), BusinessEntertainingdeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingnondeductible(), BusinessEntertainingnondeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesExpenses(), TotalSalesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesExpenses() + '..' + TotalSalesExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalMarketingandSales(), TotalMarketingandSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, MarketingandSales() + '..' + TotalMarketingandSales(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeExpenses(), OfficeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PhoneServices(), PhoneServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Dataservices(), DataservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Postalfees(), PostalfeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsumableExpensiblehardware(), ConsumableExpensiblehardwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Softwareandsubscriptionfees(), SoftwareandsubscriptionfeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOfficeExpenses(), TotalOfficeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OfficeExpenses() + '..' + TotalOfficeExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesandRisks(), InsurancesandRisksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CorporateInsurance(), CorporateInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DamagesPaid(), DamagesPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BadDebtLosses(), BadDebtLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Securityservices(), SecurityservicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Otherriskexpenses(), OtherriskexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsurancesandRisks(), TotalInsurancesandRisksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, InsurancesandRisks() + '..' + TotalInsurancesandRisks(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ManagementandAdmin(), ManagementandAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Management(), ManagementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RemunerationtoDirectors(), RemunerationtoDirectorsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManagementFees(), ManagementFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualinterrimReports(), AnnualinterrimReportsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Annualgeneralmeeting(), AnnualgeneralmeetingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AuditandAuditServices(), AuditandAuditServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxadvisoryServices(), TaxadvisoryServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalManagementFees(), TotalManagementFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Management() + '..' + TotalManagementFees(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalManagementandAdmin(), TotalManagementandAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ManagementandAdmin() + '..' + TotalManagementandAdmin(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankingandInterest(), BankingandInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Bankingfees(), BankingfeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayableInvoiceRounding(), PayableInvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBankingandInterest(), TotalBankingandInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, BankingandInterest() + '..' + TotalBankingandInterest(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExternalServicesExpenses(), ExternalServicesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExternalServices(), ExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountingServices(), AccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ITServices(), ITServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MediaServices(), MediaServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultingServices(), ConsultingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LegalFeesandAttorneyServices(), LegalFeesandAttorneyServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherExternalServices(), OtherExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalExternalServices(), TotalExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ExternalServices() + '..' + TotalExternalServices(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherExternalExpenses(), OtherExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LicenseFeesRoyalties(), LicenseFeesRoyaltiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TrademarksPatents(), TrademarksPatentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssociationFees(), AssociationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Miscexternalexpenses(), MiscexternalexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseDiscounts(), PurchaseDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherExternalExpenses(), TotalOtherExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherExternalExpenses() + '..' + TotalOtherExternalExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalExternalServicesExpenses(), TotalExternalServicesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ExternalServicesExpenses() + '..' + TotalExternalServicesExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Personnel(), PersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesandSalaries(), WagesandSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HourlyWages(), HourlyWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OvertimeWages(), OvertimeWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Bonuses(), BonusesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CommissionsPaid(), CommissionsPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PTOAccrued(), PTOAccruedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWagesandSalaries(), TotalWagesandSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, WagesandSalaries() + '..' + TotalWagesandSalaries(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BenefitsPension(), BenefitsPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Benefits(), BenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrainingCosts(), TrainingCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HealthCareContributions(), HealthCareContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Entertainmentofpersonnel(), EntertainmentofpersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Mandatoryclothingexpenses(), MandatoryclothingexpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Othercashremunerationbenefits(), OthercashremunerationbenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBenefits(), TotalBenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Benefits() + '..' + TotalBenefits(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Pension(), PensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Pensionfeesandrecurringcosts(), PensionfeesandrecurringcostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmployerContributions(), EmployerContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPension(), TotalPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Pension() + '..' + TotalPension(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalBenefitsPension(), TotalBenefitsPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, BenefitsPension() + '..' + TotalBenefitsPension(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesPersonnel(), InsurancesPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HealthInsurance(), HealthInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DentalInsurance(), DentalInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkersCompensation(), WorkersCompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LifeInsurance(), LifeInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsurancesPersonnel(), TotalInsurancesPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, InsurancesPersonnel() + '..' + TotalInsurancesPersonnel(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnel(), TotalPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Personnel() + '..' + TotalPersonnel(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation(), DepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationLandandProperty(), DepreciationLandandPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationFixedAssets(), DepreciationFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalDepreciation(), TotalDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Depreciation() + '..' + TotalDepreciation(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MiscExpenses(), MiscExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyLosses(), CurrencyLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMiscExpenses(), TotalMiscExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, MiscExpenses() + '..' + TotalMiscExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALEXPENSES(), TOTALEXPENSESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, EXPENSES() + '..' + TOTALEXPENSES(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(COSTOFGOODSSOLD(), COSTOFGOODSSOLDName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofGoods(), CostofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofMaterials(), CostofMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofMaterialsProjects(), CostofMaterialsProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofGoods(), TotalCostofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofGoods() + '..' + TotalCostofGoods(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofResourcesandServices(), CostofResourcesandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofLabor(), CostofLaborName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofLaborProjects(), CostofLaborProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofLaborWarrantyContract(), CostofLaborWarrantyContractName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofResources(), TotalCostofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofResourcesandServices() + '..' + TotalCostofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Subcontractedwork(), SubcontractedworkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManufVariances(), ManufVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVarianceCap(), PurchaseVarianceCapName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CapOverheadVariance(), CapOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MfgOverheadVariance(), MfgOverheadVarianceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalManufVariances(), TotalManufVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, ManufVariances() + '..' + TotalManufVariances(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofVariances(), CostofVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostsofJobs(), CostsofJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostsApplied(), JobCostsAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostsofJobs(), TotalCostsofJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostsofJobs() + '..' + TotalCostsofJobs(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALCOSTOFGOODSSOLD(), TOTALCOSTOFGOODSSOLDName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, COSTOFGOODSSOLD() + '..' + TOTALCOSTOFGOODSSOLD(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Income(), IncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesofGoods(), SalesofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleofFinishedGoods(), SaleofFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SaleofRawMaterials(), SaleofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResaleofGoods(), ResaleofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofGoods(), TotalSalesofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesofGoods() + '..' + TotalSalesofGoods(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleofResources(), SaleofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SaleofSubcontracting(), SaleofSubcontractingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofResources(), TotalSalesofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesofResources() + '..' + TotalSalesofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdditionalRevenue(), AdditionalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Incomefromsecurities(), IncomefromsecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManagementFeeRevenue(), ManagementFeeRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyGains(), CurrencyGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherIncidentalRevenue(), OtherIncidentalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdditionalRevenue(), TotalAdditionalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, AdditionalRevenue() + '..' + TotalAdditionalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobsandServices(), JobsandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesApplied(), JobSalesAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofServiceContracts(), SalesofServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofServiceWork(), SalesofServiceWorkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalJobsandServices(), TotalJobsandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, JobsandServices() + '..' + TotalJobsandServices(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenueReductions(), RevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesDiscounts(), SalesDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesInvoiceRounding(), SalesInvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesReturns(), SalesReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenueReductions(), TotalRevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, RevenueReductions() + '..' + TotalRevenueReductions(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TOTALINCOME(), TOTALINCOMEName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, Income() + '..' + TOTALINCOME(), Enum::"General Posting Type"::" ", '', '', false, false, false); + end; + + procedure AddCategoriesToGLAccountsForMini() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccountsForMini(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccountsForMini(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + local procedure AssignCategoryToChartOfAccountsForMini(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Assets(), CreateGLAccount.TotalAssets()); + GLAccountCategory."Account Category"::Liabilities: + begin + UpdateGLAccounts(GLAccountCategory, Liability(), '1179'); + UpdateGLAccounts(GLAccountCategory, '1181', '1311'); + UpdateGLAccounts(GLAccountCategory, '1313', '1611'); + UpdateGLAccounts(GLAccountCategory, '1613', CreateGLAccount.TotalLiabilities()); + end; + GLAccountCategory."Account Category"::Equity: + UpdateGLAccounts(GLAccountCategory, Equity(), TotalEquity()); + GLAccountCategory."Account Category"::Income: + UpdateGLAccounts(GLAccountCategory, Income(), TOTALINCOME()); + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, COSTOFGOODSSOLD(), TOTALCOSTOFGOODSSOLD()); + GLAccountCategory."Account Category"::Expense: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.INCOMESTATEMENT(), TOTALEXPENSES()); + end; + end; + + local procedure AssignSubcategoryToChartOfAccountsForMini(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, PettyCash(), CertificateofDeposit()); + GLAccountCategoryMgt.GetPrepaidExpenses(): + UpdateGLAccounts(GLAccountCategory, PrepaidRent(), Otherprepaidexpensesandaccruedincome()); + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, InventoriesProductsandworkinProgress(), TotalInventoryProductsandWorkinProgress()); + GLAccountCategoryMgt.GetEquipment(): + UpdateGLAccounts(GLAccountCategory, EquipmentsandTools(), TotalMachineryandEquipment()); + GLAccountCategoryMgt.GetAccumDeprec(): + UpdateGLAccounts(GLAccountCategory, AccumulatedDepreciation(), AccumulatedDepreciation()); + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, AccountsPayableDomestic(), '1311'); + UpdateGLAccounts(GLAccountCategory, '1313', LiabilitiesGrantsReceived()); + end; + GLAccountCategoryMgt.GetPayrollLiabilities(): + UpdateGLAccounts(GLAccountCategory, EmployeesWithholdingTaxes(), OtherSalarywageDeductions()); + GLAccountCategoryMgt.GetDistrToShareholders(): + UpdateGLAccounts(GLAccountCategory, DistributionstoShareholders(), DistributionstoShareholders()); + GLAccountCategoryMgt.GetIncomeService(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesofResources(), TotalSalesofResources()); + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, SalesofGoods(), TotalSalesofGoods()); + GLAccountCategoryMgt.GetCOGSLabor(): + UpdateGLAccounts(GLAccountCategory, CostofResourcesandServices(), TotalCostofResources()); + GLAccountCategoryMgt.GetCOGSMaterials(): + UpdateGLAccounts(GLAccountCategory, CostofGoods(), TotalCostofGoods()); + GLAccountCategoryMgt.GetRentExpense(): + UpdateGLAccounts(GLAccountCategory, RentLeases(), RentLeases()); + GLAccountCategoryMgt.GetAdvertisingExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Advertising(), TotalOtherMarketingExpenses()); + GLAccountCategoryMgt.GetInterestExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + GLAccountCategoryMgt.GetFeesExpense(): + UpdateGLAccounts(GLAccountCategory, Bankingfees(), CreateGLAccount.InterestExpenses()); + GLAccountCategoryMgt.GetBadDebtExpense(): + UpdateGLAccounts(GLAccountCategory, BadDebtLosses(), BadDebtLosses()); + GLAccountCategoryMgt.GetInsuranceExpense(): + UpdateGLAccounts(GLAccountCategory, InsurancesPersonnel(), TotalInsurancesPersonnel()); + GLAccountCategoryMgt.GetBenefitsExpense(): + UpdateGLAccounts(GLAccountCategory, BenefitsPension(), TotalBenefitsPension()); + GLAccountCategoryMgt.GetRepairsExpense(): + UpdateGLAccounts(GLAccountCategory, RepairsandMaintenanceforRental(), RepairsandMaintenanceforRental()); + GLAccountCategoryMgt.GetUtilitiesExpense(): + UpdateGLAccounts(GLAccountCategory, ElectricityforRental(), CleaningandWasteforRental()); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure IntangibleFixedAssetsName(): Text[100] + begin + exit(IntangibleFixedAssetsLbl); + end; + + procedure DevelopmentExpenditureName(): Text[100] + begin + exit(DevelopmentExpenditureLbl); + end; + + procedure TenancySiteLeaseholdandsimilarrightsName(): Text[100] + begin + exit(TenancySiteLeaseholdandsimilarrightsLbl); + end; + + procedure GoodwillName(): Text[100] + begin + exit(GoodwillLbl); + end; + + procedure AdvancedPaymentsforIntangibleFixedAssetsName(): Text[100] + begin + exit(AdvancedPaymentsforIntangibleFixedAssetsLbl); + end; + + procedure TotalIntangibleFixedAssetsName(): Text[100] + begin + exit(TotalIntangibleFixedAssetsLbl); + end; + + procedure BuildingName(): Text[100] + begin + exit(BuildingLbl); + end; + + procedure CostofImprovementstoLeasedPropertyName(): Text[100] + begin + exit(CostofImprovementstoLeasedPropertyLbl); + end; + + procedure LandName(): Text[100] + begin + exit(LandLbl); + end; + + procedure TotalLandandbuildingName(): Text[100] + begin + exit(TotalLandandbuildingLbl); + end; + + procedure MachineryandEquipmentName(): Text[100] + begin + exit(MachineryandEquipmentLbl); + end; + + procedure EquipmentsandToolsName(): Text[100] + begin + exit(EquipmentsandToolsLbl); + end; + + procedure ComputersName(): Text[100] + begin + exit(ComputersLbl); + end; + + procedure CarsandotherTransportEquipmentsName(): Text[100] + begin + exit(CarsandotherTransportEquipmentsLbl); + end; + + procedure LeasedAssetsName(): Text[100] + begin + exit(LeasedAssetsLbl); + end; + + procedure TotalMachineryandEquipmentName(): Text[100] + begin + exit(TotalMachineryandEquipmentLbl); + end; + + procedure AccumulatedDepreciationName(): Text[100] + begin + exit(AccumulatedDepreciationLbl); + end; + + procedure TotalTangibleAssetsName(): Text[100] + begin + exit(TotalTangibleAssetsLbl); + end; + + procedure FinancialandFixedAssetsName(): Text[100] + begin + exit(FinancialandFixedAssetsLbl); + end; + + procedure LongtermReceivablesName(): Text[100] + begin + exit(LongtermReceivablesLbl); + end; + + procedure ParticipationinGroupCompaniesName(): Text[100] + begin + exit(ParticipationinGroupCompaniesLbl); + end; + + procedure LoanstoPartnersorrelatedPartiesName(): Text[100] + begin + exit(LoanstoPartnersorrelatedPartiesLbl); + end; + + procedure DeferredTaxAssetsName(): Text[100] + begin + exit(DeferredTaxAssetsLbl); + end; + + procedure OtherLongtermReceivablesName(): Text[100] + begin + exit(OtherLongtermReceivablesLbl); + end; + + procedure TotalFinancialandFixedAssetsName(): Text[100] + begin + exit(TotalFinancialandFixedAssetsLbl); + end; + + procedure InventoriesProductsandworkinProgressName(): Text[100] + begin + exit(InventoriesProductsandworkinProgressLbl); + end; + + procedure SuppliesandConsumablesName(): Text[100] + begin + exit(SuppliesandConsumablesLbl); + end; + + procedure ProductsinProgressName(): Text[100] + begin + exit(ProductsinProgressLbl); + end; + + procedure GoodsforResaleName(): Text[100] + begin + exit(GoodsforResaleLbl); + end; + + procedure AdvancedPaymentsforgoodsandservicesName(): Text[100] + begin + exit(AdvancedPaymentsforgoodsandservicesLbl); + end; + + procedure OtherInventoryItemsName(): Text[100] + begin + exit(OtherInventoryItemsLbl); + end; + + procedure WorkinProgressName(): Text[100] + begin + exit(WorkinProgressLbl); + end; + + procedure WIPAccruedCostsName(): Text[100] + begin + exit(WIPAccruedCostsLbl); + end; + + procedure WIPInvoicedSalesName(): Text[100] + begin + exit(WIPInvoicedSalesLbl); + end; + + procedure TotalWorkinProgressName(): Text[100] + begin + exit(TotalWorkinProgressLbl); + end; + + procedure TotalInventoryProductsandWorkinProgressName(): Text[100] + begin + exit(TotalInventoryProductsandWorkinProgressLbl); + end; + + procedure ReceivablesName(): Text[100] + begin + exit(ReceivablesLbl); + end; + + procedure AccountsReceivablesName(): Text[100] + begin + exit(AccountsReceivablesLbl); + end; + + procedure AccountReceivableDomesticName(): Text[100] + begin + exit(AccountReceivableDomesticLbl); + end; + + procedure AccountReceivableForeignName(): Text[100] + begin + exit(AccountReceivableForeignLbl); + end; + + procedure ContractualReceivablesName(): Text[100] + begin + exit(ContractualReceivablesLbl); + end; + + procedure ConsignmentReceivablesName(): Text[100] + begin + exit(ConsignmentReceivablesLbl); + end; + + procedure CreditcardsandVouchersReceivablesName(): Text[100] + begin + exit(CreditcardsandVouchersReceivablesLbl); + end; + + procedure TotalAccountReceivablesName(): Text[100] + begin + exit(TotalAccountReceivablesLbl); + end; + + procedure OtherCurrentReceivablesName(): Text[100] + begin + exit(OtherCurrentReceivablesLbl); + end; + + procedure CurrentReceivablefromEmployeesName(): Text[100] + begin + exit(CurrentReceivablefromEmployeesLbl); + end; + + procedure AccruedincomenotyetinvoicedName(): Text[100] + begin + exit(AccruedincomenotyetinvoicedLbl); + end; + + procedure ClearingAccountsforTaxesandchargesName(): Text[100] + begin + exit(ClearingAccountsforTaxesandchargesLbl); + end; + + procedure TaxAssetsName(): Text[100] + begin + exit(TaxAssetsLbl); + end; + + procedure PurchaseVATReducedName(): Text[100] + begin + exit(PurchaseVATReducedLbl); end; + + procedure PurchaseVATNormalName(): Text[100] + begin + exit(PurchaseVATNormalLbl); + end; + + procedure MiscVATReceivablesName(): Text[100] + begin + exit(MiscVATReceivablesLbl); + end; + + procedure CurrentReceivablesfromgroupcompaniesName(): Text[100] + begin + exit(CurrentReceivablesfromgroupcompaniesLbl); + end; + + procedure TotalOtherCurrentReceivablesName(): Text[100] + begin + exit(TotalOtherCurrentReceivablesLbl); + end; + + procedure TotalReceivablesName(): Text[100] + begin + exit(TotalReceivablesLbl); + end; + + procedure PrepaidexpensesandAccruedIncomeName(): Text[100] + begin + exit(PrepaidexpensesandAccruedIncomeLbl); + end; + + procedure PrepaidRentName(): Text[100] + begin + exit(PrepaidRentLbl); + end; + + procedure PrepaidInterestexpenseName(): Text[100] + begin + exit(PrepaidInterestexpenseLbl); + end; + + procedure AccruedRentalIncomeName(): Text[100] + begin + exit(AccruedRentalIncomeLbl); + end; + + procedure AccruedInterestIncomeName(): Text[100] + begin + exit(AccruedInterestIncomeLbl); + end; + + procedure AssetsintheformofprepaidexpensesName(): Text[100] + begin + exit(AssetsintheformofprepaidexpensesLbl); + end; + + procedure OtherprepaidexpensesandaccruedincomeName(): Text[100] + begin + exit(OtherprepaidexpensesandaccruedincomeLbl); + end; + + procedure TotalPrepaidexpensesandAccruedIncomeName(): Text[100] + begin + exit(TotalPrepaidexpensesandAccruedIncomeLbl); + end; + + procedure ShortterminvestmentsName(): Text[100] + begin + exit(ShortterminvestmentsLbl); + end; + + procedure ConvertibledebtinstrumentsName(): Text[100] + begin + exit(ConvertibledebtinstrumentsLbl); + end; + + procedure OthershorttermInvestmentsName(): Text[100] + begin + exit(OthershorttermInvestmentsLbl); + end; + + procedure WritedownofShortterminvestmentsName(): Text[100] + begin + exit(WritedownofShortterminvestmentsLbl); + end; + + procedure TotalshortterminvestmentsName(): Text[100] + begin + exit(TotalshortterminvestmentsLbl); + end; + + procedure CashandBankName(): Text[100] + begin + exit(CashandBankLbl); + end; + + procedure PettyCashName(): Text[100] + begin + exit(PettyCashLbl); + end; + + procedure BusinessaccountOperatingDomesticName(): Text[100] + begin + exit(BusinessaccountOperatingDomesticLbl); + end; + + procedure BusinessaccountOperatingForeignName(): Text[100] + begin + exit(BusinessaccountOperatingForeignLbl); + end; + + procedure OtherbankaccountsName(): Text[100] + begin + exit(OtherbankaccountsLbl); + end; + + procedure CertificateofDepositName(): Text[100] + begin + exit(CertificateofDepositLbl); + end; + + procedure TotalCashandBankName(): Text[100] + begin + exit(TotalCashandBankLbl); + end; + + procedure LiabilityName(): Text[100] + begin + exit(LiabilityLbl); + end; + + procedure BondsandDebentureLoansName(): Text[100] + begin + exit(BondsandDebentureLoansLbl); + end; + + procedure ConvertiblesLoansName(): Text[100] + begin + exit(ConvertiblesLoansLbl); + end; + + procedure OtherLongtermLiabilitiesName(): Text[100] + begin + exit(OtherLongTermLiabilitiesLbl); + end; + + procedure BankoverdraftFacilitiesName(): Text[100] + begin + exit(BankoverdraftFacilitiesLbl); + end; + + procedure PaymtsRecptsinProcessName(): Text[100] + begin + exit(PaymtsRecptsinProcessLbl); + end; + + procedure TotalLongtermLiabilitiesName(): Text[100] + begin + exit(TotalLongtermLiabilitiesLbl); + end; + + procedure CurrentLiabilitiesName(): Text[100] + begin + exit(CurrentLiabilitiesLbl); + end; + + procedure AccountsPayableDomesticName(): Text[100] + begin + exit(AccountsPayableDomesticLbl); + end; + + procedure AccountsPayableForeignName(): Text[100] + begin + exit(AccountsPayableForeignLbl); + end; + + procedure AdvancesfromcustomersName(): Text[100] + begin + exit(AdvancesfromcustomersLbl); + end; + + procedure ChangeinWorkinProgressName(): Text[100] + begin + exit(ChangeinWorkinProgressLbl); + end; + + procedure BankoverdraftshorttermName(): Text[100] + begin + exit(BankoverdraftshorttermLbl); + end; + + procedure DeferredRevenueName(): Text[100] + begin + exit(DeferredRevenueLbl); + end; + + procedure TotalCurrentLiabilitiesName(): Text[100] + begin + exit(TotalCurrentLiabilitiesLbl); + end; + + procedure TaxLiabilitiesName(): Text[100] + begin + exit(TaxLiabilitiesLbl); + end; + + procedure SalesTaxVATLiableName(): Text[100] + begin + exit(SalesTaxVATLiableLbl); + end; + + procedure CollectioninProcessName(): Text[100] + begin + exit(CollectioninProcessLbl); + end; + + procedure TaxesLiableName(): Text[100] + begin + exit(TaxesLiableLbl); + end; + + procedure SalesVATReducedName(): Text[100] + begin + exit(SalesVATReducedLbl); + end; + + procedure SalesVATNormalName(): Text[100] + begin + exit(SalesVATNormalLbl); + end; + + procedure MiscVATPayablesName(): Text[100] + begin + exit(MiscVATPayablesLbl); + end; + + procedure EstimatedIncomeTaxName(): Text[100] + begin + exit(EstimatedIncomeTaxLbl); + end; + + procedure EstimatedrealestateTaxRealestatechargeName(): Text[100] + begin + exit(EstimatedrealestateTaxRealestatechargeLbl); + end; + + procedure EstimatedPayrolltaxonPensionCostsName(): Text[100] + begin + exit(EstimatedPayrolltaxonPensionCostsLbl); + end; + + procedure TotalTaxLiabilitiesName(): Text[100] + begin + exit(TotalTaxLiabilitiesLbl); + end; + + procedure PayrollLiabilitiesName(): Text[100] + begin + exit(PayrollLiabilitiesLbl); + end; + + procedure EmployeesWithholdingTaxesName(): Text[100] + begin + exit(EmployeesWithholdingTaxesLbl); + end; + + procedure StatutorySocialsecurityContributionsName(): Text[100] + begin + exit(StatutorySocialsecurityContributionsLbl); + end; + + procedure ContractualSocialsecurityContributionsName(): Text[100] + begin + exit(ContractualSocialsecurityContributionsLbl); + end; + + procedure AttachmentsofEarningName(): Text[100] + begin + exit(AttachmentsofEarningLbl); + end; + + procedure HolidayPayfundName(): Text[100] + begin + exit(HolidayPayfundLbl); + end; + + procedure OtherSalarywageDeductionsName(): Text[100] + begin + exit(OtherSalarywageDeductionsLbl); + end; + + procedure TotalPayrollLiabilitiesName(): Text[100] + begin + exit(TotalPayrollLiabilitiesLbl); + end; + + procedure OtherCurrentLiabilitiesName(): Text[100] + begin + exit(OtherCurrentLiabilitiesLbl); + end; + + procedure ClearingAccountforFactoringCurrentPortionName(): Text[100] + begin + exit(ClearingAccountforFactoringCurrentPortionLbl); + end; + + procedure CurrentLiabilitiestoEmployeesName(): Text[100] + begin + exit(CurrentLiabilitiestoEmployeesLbl); + end; + + procedure ClearingAccountforthirdpartyName(): Text[100] + begin + exit(ClearingAccountforthirdpartyLbl); + end; + + procedure CurrentLoansName(): Text[100] + begin + exit(CurrentLoansLbl); + end; + + procedure LiabilitiesGrantsReceivedName(): Text[100] + begin + exit(LiabilitiesGrantsReceivedLbl); + end; + + procedure TotalOtherCurrentLiabilitiesName(): Text[100] + begin + exit(TotalOtherCurrentLiabilitiesLbl); + end; + + procedure AccruedExpensesandDeferredIncomeName(): Text[100] + begin + exit(AccruedExpensesandDeferredIncomeLbl); + end; + + procedure AccruedwagessalariesName(): Text[100] + begin + exit(AccruedwagessalariesLbl); + end; + + procedure PaymentsinProcessName(): Text[100] + begin + exit(PaymentsinProcessLbl); + end; + + procedure AccruedHolidaypayName(): Text[100] + begin + exit(AccruedHolidaypayLbl); + end; + + procedure AccruedPensioncostsName(): Text[100] + begin + exit(AccruedPensioncostsLbl); + end; + + procedure AccruedInterestExpenseName(): Text[100] + begin + exit(AccruedInterestExpenseLbl); + end; + + procedure DeferredIncomeName(): Text[100] + begin + exit(DeferredIncomeLbl); + end; + + procedure AccruedContractualcostsName(): Text[100] + begin + exit(AccruedContractualcostsLbl); + end; + + procedure OtherAccruedExpensesandDeferredIncomeName(): Text[100] + begin + exit(OtherAccruedExpensesandDeferredIncomeLbl); + end; + + procedure TotalAccruedExpensesandDeferredIncomeName(): Text[100] + begin + exit(TotalAccruedExpensesandDeferredIncomeLbl); + end; + + procedure EquityName(): Text[100] + begin + exit(EquityLbl); + end; + + procedure EquityPartnerName(): Text[100] + begin + exit(EquityPartnerLbl); + end; + + procedure NetResultsName(): Text[100] + begin + exit(NetResultsLbl); + end; + + procedure RestrictedEquityName(): Text[100] + begin + exit(RestrictedEquityLbl); + end; + + procedure ShareCapitalName(): Text[100] + begin + exit(ShareCapitalLbl); + end; + + procedure NonRestrictedEquityName(): Text[100] + begin + exit(NonRestrictedEquityLbl); + end; + + procedure ProfitorlossfromthepreviousyearName(): Text[100] + begin + exit(ProfitorlossfromthepreviousyearLbl); + end; + + procedure ResultsfortheFinancialyearName(): Text[100] + begin + exit(ResultsfortheFinancialyearLbl); + end; + + procedure DistributionstoShareholdersName(): Text[100] + begin + exit(DistributionstoShareholdersLbl); + end; + + procedure TotalEquityName(): Text[100] + begin + exit(TotalEquityLbl); + end; + + procedure EXPENSESName(): Text[100] + begin + exit(EXPENSESLbl); + end; + + procedure FacilityExpensesName(): Text[100] + begin + exit(FacilityExpensesLbl); + end; + + procedure RentalFacilitiesName(): Text[100] + begin + exit(RentalFacilitiesLbl); + end; + + procedure RentLeasesName(): Text[100] + begin + exit(RentLeasesLbl); + end; + + procedure ElectricityforRentalName(): Text[100] + begin + exit(ElectricityforRentalLbl); + end; + + procedure HeatingforRentalName(): Text[100] + begin + exit(HeatingforRentalLbl); + end; + + procedure WaterandSewerageforRentalName(): Text[100] + begin + exit(WaterandSewerageforRentalLbl); + end; + + procedure CleaningandWasteforRentalName(): Text[100] + begin + exit(CleaningandWasteforRentalLbl); + end; + + procedure RepairsandMaintenanceforRentalName(): Text[100] + begin + exit(RepairsandMaintenanceforRentalLbl); + end; + + procedure InsurancesRentalName(): Text[100] + begin + exit(InsurancesRentalLbl); + end; + + procedure OtherRentalExpensesName(): Text[100] + begin + exit(OtherRentalExpensesLbl); + end; + + procedure TotalRentalFacilitiesName(): Text[100] + begin + exit(TotalRentalFacilitiesLbl); + end; + + procedure PropertyExpensesName(): Text[100] + begin + exit(PropertyExpensesLbl); + end; + + procedure SiteFeesLeasesName(): Text[100] + begin + exit(SiteFeesLeasesLbl); + end; + + procedure ElectricityforPropertyName(): Text[100] + begin + exit(ElectricityforPropertyLbl); + end; + + procedure HeatingforPropertyName(): Text[100] + begin + exit(HeatingforPropertyLbl); + end; + + procedure WaterandSewerageforPropertyName(): Text[100] + begin + exit(WaterandSewerageforPropertyLbl); + end; + + procedure CleaningandWasteforPropertyName(): Text[100] + begin + exit(CleaningandWasteforPropertyLbl); + end; + + procedure RepairsandMaintenanceforPropertyName(): Text[100] + begin + exit(RepairsandMaintenanceforPropertyLbl); + end; + + procedure InsurancesPropertyName(): Text[100] + begin + exit(InsurancesPropertyLbl); + end; + + procedure OtherPropertyExpensesName(): Text[100] + begin + exit(OtherPropertyExpensesLbl); + end; + + procedure TotalPropertyExpensesName(): Text[100] + begin + exit(TotalPropertyExpensesLbl); + end; + + procedure TotalFacilityExpensesName(): Text[100] + begin + exit(TotalFacilityExpensesLbl); + end; + + procedure FixedAssetsLeasesName(): Text[100] + begin + exit(FixedAssetsLeasesLbl); + end; + + procedure HireofmachineryName(): Text[100] + begin + exit(HireofmachineryLbl); + end; + + procedure HireofcomputersName(): Text[100] + begin + exit(HireofcomputersLbl); + end; + + procedure HireofotherfixedassetsName(): Text[100] + begin + exit(HireofotherfixedassetsLbl); + end; + + procedure TotalFixedAssetLeasesName(): Text[100] + begin + exit(TotalFixedAssetLeasesLbl); + end; + + procedure LogisticsExpensesName(): Text[100] + begin + exit(LogisticsExpensesLbl); + end; + + procedure PassengerCarCostsName(): Text[100] + begin + exit(PassengerCarCostsLbl); + end; + + procedure TruckCostsName(): Text[100] + begin + exit(TruckCostsLbl); + end; + + procedure OthervehicleexpensesName(): Text[100] + begin + exit(OthervehicleexpensesLbl); + end; + + procedure TotalVehicleExpensesName(): Text[100] + begin + exit(TotalVehicleExpensesLbl); + end; + + procedure FreightCostsName(): Text[100] + begin + exit(FreightCostsLbl); + end; + + procedure FreightfeesforgoodsName(): Text[100] + begin + exit(FreightfeesforgoodsLbl); + end; + + procedure CustomsandforwardingName(): Text[100] + begin + exit(CustomsandforwardingLbl); + end; + + procedure FreightfeesprojectsName(): Text[100] + begin + exit(FreightfeesprojectsLbl); + end; + + procedure TotalFreightCostsName(): Text[100] + begin + exit(TotalFreightCostsLbl); + end; + + procedure TravelExpensesName(): Text[100] + begin + exit(TravelExpensesLbl); + end; + + procedure TicketsName(): Text[100] + begin + exit(TicketsLbl); + end; + + procedure RentalvehiclesName(): Text[100] + begin + exit(RentalvehiclesLbl); + end; + + procedure BoardandlodgingName(): Text[100] + begin + exit(BoardandlodgingLbl); + end; + + procedure OthertravelexpensesName(): Text[100] + begin + exit(OthertravelexpensesLbl); + end; + + procedure TotalTravelExpensesName(): Text[100] + begin + exit(TotalTravelExpensesLbl); + end; + + procedure TotalLogisticsExpensesName(): Text[100] + begin + exit(TotalLogisticsExpensesLbl); + end; + + procedure MarketingandSalesName(): Text[100] + begin + exit(MarketingandSalesLbl); + end; + + procedure AdvertisementDevelopmentName(): Text[100] + begin + exit(AdvertisementDevelopmentLbl); + end; + + procedure OutdoorandTransportationAdsName(): Text[100] + begin + exit(OutdoorandTransportationAdsLbl); + end; + + procedure AdmatteranddirectmailingsName(): Text[100] + begin + exit(AdmatteranddirectmailingsLbl); + end; + + procedure ConferenceExhibitionSponsorshipName(): Text[100] + begin + exit(ConferenceExhibitionSponsorshipLbl); + end; + + procedure SamplescontestsgiftsName(): Text[100] + begin + exit(SamplescontestsgiftsLbl); + end; + + procedure FilmTVradiointernetadsName(): Text[100] + begin + exit(FilmTVradiointernetadsLbl); + end; + + procedure PRandAgencyFeesName(): Text[100] + begin + exit(PRandAgencyFeesLbl); + end; + + procedure OtheradvertisingfeesName(): Text[100] + begin + exit(OtheradvertisingfeesLbl); + end; + + procedure TotalAdvertisingName(): Text[100] + begin + exit(TotalAdvertisingLbl); + end; + + procedure OtherMarketingExpensesName(): Text[100] + begin + exit(OtherMarketingExpensesLbl); + end; + + procedure CatalogspricelistsName(): Text[100] + begin + exit(CatalogspricelistsLbl); + end; + + procedure TradePublicationsName(): Text[100] + begin + exit(TradePublicationsLbl); + end; + + procedure TotalOtherMarketingExpensesName(): Text[100] + begin + exit(TotalOtherMarketingExpensesLbl); + end; + + procedure SalesExpensesName(): Text[100] + begin + exit(SalesExpensesLbl); + end; + + procedure CreditCardChargesName(): Text[100] + begin + exit(CreditCardChargesLbl); + end; + + procedure BusinessEntertainingdeductibleName(): Text[100] + begin + exit(BusinessEntertainingdeductibleLbl); + end; + + procedure BusinessEntertainingnondeductibleName(): Text[100] + begin + exit(BusinessEntertainingnondeductibleLbl); + end; + + procedure TotalSalesExpensesName(): Text[100] + begin + exit(TotalSalesExpensesLbl); + end; + + procedure TotalMarketingandSalesName(): Text[100] + begin + exit(TotalMarketingandSalesLbl); + end; + + procedure OfficeExpensesName(): Text[100] + begin + exit(OfficeExpensesLbl); + end; + + procedure PhoneServicesName(): Text[100] + begin + exit(PhoneServicesLbl); + end; + + procedure DataservicesName(): Text[100] + begin + exit(DataservicesLbl); + end; + + procedure PostalfeesName(): Text[100] + begin + exit(PostalfeesLbl); + end; + + procedure ConsumableExpensiblehardwareName(): Text[100] + begin + exit(ConsumableExpensiblehardwareLbl); + end; + + procedure SoftwareandsubscriptionfeesName(): Text[100] + begin + exit(SoftwareandsubscriptionfeesLbl); + end; + + procedure TotalOfficeExpensesName(): Text[100] + begin + exit(TotalOfficeExpensesLbl); + end; + + procedure InsurancesandRisksName(): Text[100] + begin + exit(InsurancesandRisksLbl); + end; + + procedure CorporateInsuranceName(): Text[100] + begin + exit(CorporateInsuranceLbl); + end; + + procedure DamagesPaidName(): Text[100] + begin + exit(DamagesPaidLbl); + end; + + procedure BadDebtLossesName(): Text[100] + begin + exit(BadDebtLossesLbl); + end; + + procedure SecurityservicesName(): Text[100] + begin + exit(SecurityservicesLbl); + end; + + procedure OtherriskexpensesName(): Text[100] + begin + exit(OtherriskexpensesLbl); + end; + + procedure TotalInsurancesandRisksName(): Text[100] + begin + exit(TotalInsurancesandRisksLbl); + end; + + procedure ManagementandAdminName(): Text[100] + begin + exit(ManagementandAdminLbl); + end; + + procedure ManagementName(): Text[100] + begin + exit(ManagementLbl); + end; + + procedure RemunerationtoDirectorsName(): Text[100] + begin + exit(RemunerationtoDirectorsLbl); + end; + + procedure ManagementFeesName(): Text[100] + begin + exit(ManagementFeesLbl); + end; + + procedure AnnualinterrimReportsName(): Text[100] + begin + exit(AnnualinterrimReportsLbl); + end; + + procedure AnnualgeneralmeetingName(): Text[100] + begin + exit(AnnualgeneralmeetingLbl); + end; + + procedure AuditandAuditServicesName(): Text[100] + begin + exit(AuditandAuditServicesLbl); + end; + + procedure TaxadvisoryServicesName(): Text[100] + begin + exit(TaxadvisoryServicesLbl); + end; + + procedure TotalManagementFeesName(): Text[100] + begin + exit(TotalManagementFeesLbl); + end; + + procedure TotalManagementandAdminName(): Text[100] + begin + exit(TotalManagementandAdminLbl); + end; + + procedure BankingandInterestName(): Text[100] + begin + exit(BankingandInterestLbl); + end; + + procedure BankingfeesName(): Text[100] + begin + exit(BankingfeesLbl); + end; + + procedure PayableInvoiceRoundingName(): Text[100] + begin + exit(PayableInvoiceRoundingLbl); + end; + + procedure TotalBankingandInterestName(): Text[100] + begin + exit(TotalBankingandInterestLbl); + end; + + procedure ExternalServicesExpensesName(): Text[100] + begin + exit(ExternalServicesExpensesLbl); + end; + + procedure ExternalServicesName(): Text[100] + begin + exit(ExternalServicesLbl); + end; + + procedure AccountingServicesName(): Text[100] + begin + exit(AccountingServicesLbl); + end; + + procedure ITServicesName(): Text[100] + begin + exit(ITServicesLbl); + end; + + procedure MediaServicesName(): Text[100] + begin + exit(MediaServicesLbl); + end; + + procedure ConsultingServicesName(): Text[100] + begin + exit(ConsultingServicesLbl); + end; + + procedure LegalFeesandAttorneyServicesName(): Text[100] + begin + exit(LegalFeesandAttorneyServicesLbl); + end; + + procedure OtherExternalServicesName(): Text[100] + begin + exit(OtherExternalServicesLbl); + end; + + procedure TotalExternalServicesName(): Text[100] + begin + exit(TotalExternalServicesLbl); + end; + + procedure OtherExternalExpensesName(): Text[100] + begin + exit(OtherExternalExpensesLbl); + end; + + procedure LicenseFeesRoyaltiesName(): Text[100] + begin + exit(LicenseFeesRoyaltiesLbl); + end; + + procedure TrademarksPatentsName(): Text[100] + begin + exit(TrademarksPatentsLbl); + end; + + procedure AssociationFeesName(): Text[100] + begin + exit(AssociationFeesLbl); + end; + + procedure MiscexternalexpensesName(): Text[100] + begin + exit(MiscexternalexpensesLbl); + end; + + procedure PurchaseDiscountsName(): Text[100] + begin + exit(PurchaseDiscountsLbl); + end; + + procedure TotalOtherExternalExpensesName(): Text[100] + begin + exit(TotalOtherExternalExpensesLbl); + end; + + procedure TotalExternalServicesExpensesName(): Text[100] + begin + exit(TotalExternalServicesExpensesLbl); + end; + + procedure PersonnelName(): Text[100] + begin + exit(PersonnelLbl); + end; + + procedure WagesandSalariesName(): Text[100] + begin + exit(WagesandSalariesLbl); + end; + + procedure HourlyWagesName(): Text[100] + begin + exit(HourlyWagesLbl); + end; + + procedure OvertimeWagesName(): Text[100] + begin + exit(OvertimeWagesLbl); + end; + + procedure BonusesName(): Text[100] + begin + exit(BonusesLbl); + end; + + procedure CommissionsPaidName(): Text[100] + begin + exit(CommissionsPaidLbl); + end; + + procedure PTOAccruedName(): Text[100] + begin + exit(PTOAccruedLbl); + end; + + procedure TotalWagesandSalariesName(): Text[100] + begin + exit(TotalWagesandSalariesLbl); + end; + + procedure BenefitsPensionName(): Text[100] + begin + exit(BenefitsPensionLbl); + end; + + procedure BenefitsName(): Text[100] + begin + exit(BenefitsLbl); + end; + + procedure TrainingCostsName(): Text[100] + begin + exit(TrainingCostsLbl); + end; + + procedure HealthCareContributionsName(): Text[100] + begin + exit(HealthCareContributionsLbl); + end; + + procedure EntertainmentofpersonnelName(): Text[100] + begin + exit(EntertainmentofpersonnelLbl); + end; + + procedure MandatoryclothingexpensesName(): Text[100] + begin + exit(MandatoryclothingexpensesLbl); + end; + + procedure OthercashremunerationbenefitsName(): Text[100] + begin + exit(OthercashremunerationbenefitsLbl); + end; + + procedure TotalBenefitsName(): Text[100] + begin + exit(TotalBenefitsLbl); + end; + + procedure PensionName(): Text[100] + begin + exit(PensionLbl); + end; + + procedure PensionfeesandrecurringcostsName(): Text[100] + begin + exit(PensionfeesandrecurringcostsLbl); + end; + + procedure EmployerContributionsName(): Text[100] + begin + exit(EmployerContributionsLbl); + end; + + procedure TotalPensionName(): Text[100] + begin + exit(TotalPensionLbl); + end; + + procedure TotalBenefitsPensionName(): Text[100] + begin + exit(TotalBenefitsPensionLbl); + end; + + procedure InsurancesPersonnelName(): Text[100] + begin + exit(InsurancesPersonnelLbl); + end; + + procedure HealthInsuranceName(): Text[100] + begin + exit(HealthInsuranceLbl); + end; + + procedure DentalInsuranceName(): Text[100] + begin + exit(DentalInsuranceLbl); + end; + + procedure WorkersCompensationName(): Text[100] + begin + exit(WorkersCompensationLbl); + end; + + procedure LifeInsuranceName(): Text[100] + begin + exit(LifeInsuranceLbl); + end; + + procedure TotalInsurancesPersonnelName(): Text[100] + begin + exit(TotalInsurancesPersonnelLbl); + end; + + procedure TotalPersonnelName(): Text[100] + begin + exit(TotalPersonnelLbl); + end; + + procedure DepreciationName(): Text[100] + begin + exit(DepreciationLbl); + end; + + procedure DepreciationLandandPropertyName(): Text[100] + begin + exit(DepreciationLandandPropertyLbl); + end; + + procedure DepreciationFixedAssetsName(): Text[100] + begin + exit(DepreciationFixedAssetsLbl); + end; + + procedure TotalDepreciationName(): Text[100] + begin + exit(TotalDepreciationLbl); + end; + + procedure MiscExpensesName(): Text[100] + begin + exit(MiscExpensesLbl); + end; + + procedure CurrencyLossesName(): Text[100] + begin + exit(CurrencyLossesLbl); + end; + + procedure TotalMiscExpensesName(): Text[100] + begin + exit(TotalMiscExpensesLbl); + end; + + procedure TOTALEXPENSESName(): Text[100] + begin + exit(TOTALEXPENSESLbl); + end; + + procedure COSTOFGOODSSOLDName(): Text[100] + begin + exit(COSTOFGOODSSOLDLbl); + end; + + procedure CostofGoodsName(): Text[100] + begin + exit(CostofGoodsLbl); + end; + + procedure CostofMaterialsName(): Text[100] + begin + exit(CostofMaterialsLbl); + end; + + procedure CostofMaterialsProjectsName(): Text[100] + begin + exit(CostofMaterialsProjectsLbl); + end; + + procedure TotalCostofGoodsName(): Text[100] + begin + exit(TotalCostofGoodsLbl); + end; + + procedure CostofResourcesandServicesName(): Text[100] + begin + exit(CostofResourcesandServicesLbl); + end; + + procedure CostofLaborName(): Text[100] + begin + exit(CostofLaborLbl); + end; + + procedure CostofLaborProjectsName(): Text[100] + begin + exit(CostofLaborProjectsLbl); + end; + + procedure CostofLaborWarrantyContractName(): Text[100] + begin + exit(CostofLaborWarrantyContractLbl); + end; + + procedure TotalCostofResourcesName(): Text[100] + begin + exit(TotalCostofResourcesLbl); + end; + + procedure SubcontractedworkName(): Text[100] + begin + exit(SubcontractedworkLbl); + end; + + procedure ManufVariancesName(): Text[100] + begin + exit(ManufVariancesLbl); + end; + + procedure PurchaseVarianceCapName(): Text[100] + begin + exit(PurchaseVarianceCapLbl); + end; + + procedure CapOverheadVarianceName(): Text[100] + begin + exit(CapOverheadVarianceLbl); + end; + + procedure MfgOverheadVarianceName(): Text[100] + begin + exit(MfgOverheadVarianceLbl); + end; + + procedure TotalManufVariancesName(): Text[100] + begin + exit(TotalManufVariancesLbl); + end; + + procedure CostofVariancesName(): Text[100] + begin + exit(CostofVariancesLbl); + end; + + procedure CostsofJobsName(): Text[100] + begin + exit(CostsofJobsLbl); + end; + + procedure JobCostsAppliedName(): Text[100] + begin + exit(JobCostsAppliedLbl); + end; + + procedure TotalCostsofJobsName(): Text[100] + begin + exit(TotalCostsofJobsLbl); + end; + + procedure TOTALCOSTOFGOODSSOLDName(): Text[100] + begin + exit(TOTALCOSTOFGOODSSOLDLbl); + end; + + procedure IncomeName(): Text[100] + begin + exit(IncomeLbl); + end; + + procedure SalesofGoodsName(): Text[100] + begin + exit(SalesofGoodsLbl); + end; + + procedure SaleofFinishedGoodsName(): Text[100] + begin + exit(SaleofFinishedGoodsLbl); + end; + + procedure SaleofRawMaterialsName(): Text[100] + begin + exit(SaleofRawMaterialsLbl); + end; + + procedure ResaleofGoodsName(): Text[100] + begin + exit(ResaleofGoodsLbl); + end; + + procedure TotalSalesofGoodsName(): Text[100] + begin + exit(TotalSalesofGoodsLbl); + end; + + procedure SaleofResourcesName(): Text[100] + begin + exit(SaleofResourcesLbl); + end; + + procedure SaleofSubcontractingName(): Text[100] + begin + exit(SaleofSubcontractingLbl); + end; + + procedure TotalSalesofResourcesName(): Text[100] + begin + exit(TotalSalesofResourcesLbl); + end; + + procedure AdditionalRevenueName(): Text[100] + begin + exit(AdditionalRevenueLbl); + end; + + procedure IncomefromsecuritiesName(): Text[100] + begin + exit(IncomefromsecuritiesLbl); + end; + + procedure ManagementFeeRevenueName(): Text[100] + begin + exit(ManagementFeeRevenueLbl); + end; + + procedure CurrencyGainsName(): Text[100] + begin + exit(CurrencyGainsLbl); + end; + + procedure OtherIncidentalRevenueName(): Text[100] + begin + exit(OtherIncidentalRevenueLbl); + end; + + procedure TotalAdditionalRevenueName(): Text[100] + begin + exit(TotalAdditionalRevenueLbl); + end; + + procedure JobsandServicesName(): Text[100] + begin + exit(JobsandServicesLbl); + end; + + procedure JobSalesAppliedName(): Text[100] + begin + exit(JobSalesAppliedLbl); + end; + + procedure SalesofServiceContractsName(): Text[100] + begin + exit(SalesofServiceContractsLbl); + end; + + procedure SalesofServiceWorkName(): Text[100] + begin + exit(SalesofServiceWorkLbl); + end; + + procedure TotalJobsandServicesName(): Text[100] + begin + exit(TotalJobsandServicesLbl); + end; + + procedure RevenueReductionsName(): Text[100] + begin + exit(RevenueReductionsLbl); + end; + + procedure SalesDiscountsName(): Text[100] + begin + exit(SalesDiscountsLbl); + end; + + procedure SalesInvoiceRoundingName(): Text[100] + begin + exit(SalesInvoiceRoundingLbl); + end; + + procedure SalesReturnsName(): Text[100] + begin + exit(SalesReturnsLbl); + end; + + procedure TotalRevenueReductionsName(): Text[100] + begin + exit(TotalRevenueReductionsLbl); + end; + + procedure TOTALINCOMEName(): Text[100] + begin + exit(TOTALINCOMELbl); + end; + + procedure IntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleFixedAssetsName())); + end; + + procedure DevelopmentExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevelopmentExpenditureName())); + end; + + procedure TenancySiteLeaseholdandsimilarrights(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TenancySiteLeaseholdandsimilarrightsName())); + end; + + procedure Goodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillName())); + end; + + procedure AdvancedPaymentsforIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsforIntangibleFixedAssetsName())); + end; + + procedure TotalIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIntangibleFixedAssetsName())); + end; + + procedure Building(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BuildingName())); + end; + + procedure CostofImprovementstoLeasedProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofImprovementstoLeasedPropertyName())); + end; + + procedure Land(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandName())); + end; + + procedure TotalLandandbuilding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLandandbuildingName())); + end; + + procedure MachineryandEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryandEquipmentName())); + end; + + procedure EquipmentsandTools(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquipmentsandToolsName())); + end; + + procedure Computers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ComputersName())); + end; + + procedure CarsandotherTransportEquipments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarsandotherTransportEquipmentsName())); + end; + + procedure LeasedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeasedAssetsName())); + end; + + procedure TotalMachineryandEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMachineryandEquipmentName())); + end; + + procedure AccumulatedDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationName())); + end; + + procedure TotalTangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTangibleAssetsName())); + end; + + procedure FinancialandFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialandFixedAssetsName())); + end; + + procedure LongtermReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongtermReceivablesName())); + end; + + procedure ParticipationinGroupCompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ParticipationinGroupCompaniesName())); + end; + + procedure LoanstoPartnersorrelatedParties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoanstoPartnersorrelatedPartiesName())); + end; + + procedure DeferredTaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxAssetsName())); + end; + + procedure OtherLongtermReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLongtermReceivablesName())); + end; + + procedure TotalFinancialandFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinancialandFixedAssetsName())); + end; + + procedure InventoriesProductsandworkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoriesProductsandworkinProgressName())); + end; + + procedure SuppliesandConsumables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuppliesandConsumablesName())); + end; + + procedure ProductsinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProductsinProgressName())); + end; + + procedure GoodsforResale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsforResaleName())); + end; + + procedure AdvancedPaymentsforgoodsandservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsforgoodsandservicesName())); + end; + + procedure OtherInventoryItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherInventoryItemsName())); + end; + + procedure WorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkinProgressName())); + end; + + procedure WIPAccruedCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccruedCostsName())); + end; + + procedure WIPInvoicedSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPInvoicedSalesName())); + end; + + procedure TotalWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWorkinProgressName())); + end; + + procedure TotalInventoryProductsandWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInventoryProductsandWorkinProgressName())); + end; + + procedure Receivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesName())); + end; + + procedure AccountsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivablesName())); + end; + + procedure AccountReceivableDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountReceivableDomesticName())); + end; + + procedure AccountReceivableForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountReceivableForeignName())); + end; + + procedure ContractualReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContractualReceivablesName())); + end; + + procedure ConsignmentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsignmentReceivablesName())); + end; + + procedure CreditcardsandVouchersReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditcardsandVouchersReceivablesName())); + end; + + procedure TotalAccountReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAccountReceivablesName())); + end; + + procedure OtherCurrentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentReceivablesName())); + end; + + procedure CurrentReceivablefromEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivablefromEmployeesName())); + end; + + procedure Accruedincomenotyetinvoiced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedincomenotyetinvoicedName())); + end; + + procedure ClearingAccountsforTaxesandcharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountsforTaxesandchargesName())); + end; + + procedure TaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxAssetsName())); + end; + + procedure PurchaseVATReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATReducedName())); + end; + + procedure PurchaseVATNormal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVATNormalName())); + end; + + procedure MiscVATReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscVATReceivablesName())); + end; + + procedure CurrentReceivablesfromgroupcompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivablesfromgroupcompaniesName())); + end; + + procedure TotalOtherCurrentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherCurrentReceivablesName())); + end; + + procedure TotalReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalReceivablesName())); + end; + + procedure PrepaidexpensesandAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidexpensesandAccruedIncomeName())); + end; + + procedure PrepaidRent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidRentName())); + end; + + procedure PrepaidInterestexpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidInterestexpenseName())); + end; + + procedure AccruedRentalIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedRentalIncomeName())); + end; + + procedure AccruedInterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedInterestIncomeName())); + end; + + procedure Assetsintheformofprepaidexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssetsintheformofprepaidexpensesName())); + end; + + procedure Otherprepaidexpensesandaccruedincome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherprepaidexpensesandaccruedincomeName())); + end; + + procedure TotalPrepaidexpensesandAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPrepaidexpensesandAccruedIncomeName())); + end; + + procedure Shortterminvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortterminvestmentsName())); + end; + + procedure Convertibledebtinstruments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertibledebtinstrumentsName())); + end; + + procedure OthershorttermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthershorttermInvestmentsName())); + end; + + procedure WritedownofShortterminvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WritedownofShortterminvestmentsName())); + end; + + procedure Totalshortterminvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalshortterminvestmentsName())); + end; + + procedure CashandBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashandBankName())); + end; + + procedure PettyCash(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PettyCashName())); + end; + + procedure BusinessaccountOperatingDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessaccountOperatingDomesticName())); + end; + + procedure BusinessaccountOperatingForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessaccountOperatingForeignName())); + end; + + procedure Otherbankaccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherbankaccountsName())); + end; + + procedure CertificateofDeposit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CertificateofDepositName())); + end; + + procedure TotalCashandBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCashandBankName())); + end; + + procedure Liability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilityName())); + end; + + procedure BondsandDebentureLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BondsandDebentureLoansName())); + end; + + procedure ConvertiblesLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertiblesLoansName())); + end; + + procedure OtherLongtermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLongtermLiabilitiesName())); + end; + + procedure BankoverdraftFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankoverdraftFacilitiesName())); + end; + + procedure PaymtsRecptsinProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymtsRecptsinProcessName())); + end; + + procedure TotalLongtermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLongtermLiabilitiesName())); + end; + + procedure CurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLiabilitiesName())); + end; + + procedure AccountsPayableDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableDomesticName())); + end; + + procedure AccountsPayableForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableForeignName())); + end; + + procedure Advancesfromcustomers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancesfromcustomersName())); + end; + + procedure ChangeinWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangeinWorkinProgressName())); + end; + + procedure Bankoverdraftshortterm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankoverdraftshorttermName())); + end; + + procedure DeferredRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredRevenueName())); + end; + + procedure TotalCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCurrentLiabilitiesName())); + end; + + procedure TaxLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxLiabilitiesName())); + end; + + procedure SalesTaxVATLiable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTaxVATLiableName())); + end; + + procedure CollectioninProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CollectioninProcessName())); + end; + + procedure TaxesLiable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesLiableName())); + end; + + procedure SalesVATReduced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVATReducedName())); + end; + + procedure SalesVATNormal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVATNormalName())); + end; + + procedure MiscVATPayables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscVATPayablesName())); + end; + + procedure EstimatedIncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedIncomeTaxName())); + end; + + procedure EstimatedrealestateTaxRealestatecharge(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedrealestateTaxRealestatechargeName())); + end; + + procedure EstimatedPayrolltaxonPensionCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedPayrolltaxonPensionCostsName())); + end; + + procedure TotalTaxLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTaxLiabilitiesName())); + end; + + procedure PayrollLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollLiabilitiesName())); + end; + + procedure EmployeesWithholdingTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeesWithholdingTaxesName())); + end; + + procedure StatutorySocialsecurityContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutorySocialsecurityContributionsName())); + end; + + procedure ContractualSocialsecurityContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContractualSocialsecurityContributionsName())); + end; + + procedure AttachmentsofEarning(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AttachmentsofEarningName())); + end; + + procedure HolidayPayfund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HolidayPayfundName())); + end; + + procedure OtherSalarywageDeductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSalarywageDeductionsName())); + end; + + procedure TotalPayrollLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPayrollLiabilitiesName())); + end; + + procedure OtherCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentLiabilitiesName())); + end; + + procedure ClearingAccountforFactoringCurrentPortion(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountforFactoringCurrentPortionName())); + end; + + procedure CurrentLiabilitiestoEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLiabilitiestoEmployeesName())); + end; + + procedure ClearingAccountforthirdparty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountforthirdpartyName())); + end; + + procedure CurrentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLoansName())); + end; + + procedure LiabilitiesGrantsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilitiesGrantsReceivedName())); + end; + + procedure TotalOtherCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherCurrentLiabilitiesName())); + end; + + procedure AccruedExpensesandDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedExpensesandDeferredIncomeName())); + end; + + procedure Accruedwagessalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedwagessalariesName())); + end; + + procedure PaymentsinProcess(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentsinProcessName())); + end; + + procedure AccruedHolidaypay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedHolidaypayName())); + end; + + procedure AccruedPensioncosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedPensioncostsName())); + end; + + procedure AccruedInterestExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedInterestExpenseName())); + end; + + procedure DeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredIncomeName())); + end; + + procedure AccruedContractualcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedContractualcostsName())); + end; + + procedure OtherAccruedExpensesandDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherAccruedExpensesandDeferredIncomeName())); + end; + + procedure TotalAccruedExpensesandDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAccruedExpensesandDeferredIncomeName())); + end; + + procedure Equity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityName())); + end; + + procedure EquityPartner(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityPartnerName())); + end; + + procedure NetResults(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetResultsName())); + end; + + procedure RestrictedEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RestrictedEquityName())); + end; + + procedure ShareCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareCapitalName())); + end; + + procedure NonRestrictedEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRestrictedEquityName())); + end; + + procedure Profitorlossfromthepreviousyear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitorlossfromthepreviousyearName())); + end; + + procedure ResultsfortheFinancialyear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResultsfortheFinancialyearName())); + end; + + procedure DistributionstoShareholders(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DistributionstoShareholdersName())); + end; + + procedure TotalEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalEquityName())); + end; + + procedure EXPENSES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EXPENSESName())); + end; + + procedure FacilityExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FacilityExpensesName())); + end; + + procedure RentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalFacilitiesName())); + end; + + procedure RentLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentLeasesName())); + end; + + procedure ElectricityforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityforRentalName())); + end; + + procedure HeatingforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingforRentalName())); + end; + + procedure WaterandSewerageforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterandSewerageforRentalName())); + end; + + procedure CleaningandWasteforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningandWasteforRentalName())); + end; + + procedure RepairsandMaintenanceforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceforRentalName())); + end; + + procedure InsurancesRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesRentalName())); + end; + + procedure OtherRentalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherRentalExpensesName())); + end; + + procedure TotalRentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRentalFacilitiesName())); + end; + + procedure PropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyExpensesName())); + end; + + procedure SiteFeesLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SiteFeesLeasesName())); + end; + + procedure ElectricityforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityforPropertyName())); + end; + + procedure HeatingforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingforPropertyName())); + end; + + procedure WaterandSewerageforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterandSewerageforPropertyName())); + end; + + procedure CleaningandWasteforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningandWasteforPropertyName())); + end; + + procedure RepairsandMaintenanceforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceforPropertyName())); + end; + + procedure InsurancesProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesPropertyName())); + end; + + procedure OtherPropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPropertyExpensesName())); + end; + + procedure TotalPropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPropertyExpensesName())); + end; + + procedure TotalFacilityExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFacilityExpensesName())); + end; + + procedure FixedAssetsLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsLeasesName())); + end; + + procedure Hireofmachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofmachineryName())); + end; + + procedure Hireofcomputers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofcomputersName())); + end; + + procedure Hireofotherfixedassets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofotherfixedassetsName())); + end; + + procedure TotalFixedAssetLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFixedAssetLeasesName())); + end; + + procedure LogisticsExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LogisticsExpensesName())); + end; + + procedure PassengerCarCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PassengerCarCostsName())); + end; + + procedure TruckCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TruckCostsName())); + end; + + procedure Othervehicleexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthervehicleexpensesName())); + end; + + procedure TotalVehicleExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVehicleExpensesName())); + end; + + procedure FreightCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightCostsName())); + end; + + procedure Freightfeesforgoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightfeesforgoodsName())); + end; + + procedure Customsandforwarding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomsandforwardingName())); + end; + + procedure Freightfeesprojects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightfeesprojectsName())); + end; + + procedure TotalFreightCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFreightCostsName())); + end; + + procedure TravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelExpensesName())); + end; + + procedure Tickets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TicketsName())); + end; + + procedure Rentalvehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalvehiclesName())); + end; + + procedure Boardandlodging(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BoardandlodgingName())); + end; + + procedure Othertravelexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthertravelexpensesName())); + end; + + procedure TotalTravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTravelExpensesName())); + end; + + procedure TotalLogisticsExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLogisticsExpensesName())); + end; + + procedure MarketingandSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MarketingandSalesName())); + end; + + procedure AdvertisementDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisementDevelopmentName())); + end; + + procedure OutdoorandTransportationAds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutdoorandTransportationAdsName())); + end; + + procedure Admatteranddirectmailings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdmatteranddirectmailingsName())); + end; + + procedure ConferenceExhibitionSponsorship(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConferenceExhibitionSponsorshipName())); + end; + + procedure Samplescontestsgifts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SamplescontestsgiftsName())); + end; + + procedure FilmTVradiointernetads(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FilmTVradiointernetadsName())); + end; + + procedure PRandAgencyFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PRandAgencyFeesName())); + end; + + procedure Otheradvertisingfees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtheradvertisingfeesName())); + end; + + procedure TotalAdvertising(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdvertisingName())); + end; + + procedure OtherMarketingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherMarketingExpensesName())); + end; + + procedure Catalogspricelists(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CatalogspricelistsName())); + end; + + procedure TradePublications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradePublicationsName())); + end; + + procedure TotalOtherMarketingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherMarketingExpensesName())); + end; + + procedure SalesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesExpensesName())); + end; + + procedure CreditCardCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditCardChargesName())); + end; + + procedure BusinessEntertainingdeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingdeductibleName())); + end; + + procedure BusinessEntertainingnondeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingnondeductibleName())); + end; + + procedure TotalSalesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesExpensesName())); + end; + + procedure TotalMarketingandSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMarketingandSalesName())); + end; + + procedure OfficeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeExpensesName())); + end; + + procedure PhoneServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PhoneServicesName())); + end; + + procedure Dataservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DataservicesName())); + end; + + procedure Postalfees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostalfeesName())); + end; + + procedure ConsumableExpensiblehardware(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumableExpensiblehardwareName())); + end; + + procedure Softwareandsubscriptionfees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SoftwareandsubscriptionfeesName())); + end; + + procedure TotalOfficeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOfficeExpensesName())); + end; + + procedure InsurancesandRisks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesandRisksName())); + end; + + procedure CorporateInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateInsuranceName())); + end; + + procedure DamagesPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DamagesPaidName())); + end; + + procedure BadDebtLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDebtLossesName())); + end; + + procedure Securityservices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecurityservicesName())); + end; + + procedure Otherriskexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherriskexpensesName())); + end; + + procedure TotalInsurancesandRisks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsurancesandRisksName())); + end; + + procedure ManagementandAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementandAdminName())); + end; + + procedure Management(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementName())); + end; + + procedure RemunerationtoDirectors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RemunerationtoDirectorsName())); + end; + + procedure ManagementFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementFeesName())); + end; + + procedure AnnualinterrimReports(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualinterrimReportsName())); + end; + + procedure Annualgeneralmeeting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualgeneralmeetingName())); + end; + + procedure AuditandAuditServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuditandAuditServicesName())); + end; + + procedure TaxadvisoryServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxadvisoryServicesName())); + end; + + procedure TotalManagementFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManagementFeesName())); + end; + + procedure TotalManagementandAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManagementandAdminName())); + end; + + procedure BankingandInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingandInterestName())); + end; + + procedure Bankingfees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingfeesName())); + end; + + procedure PayableInvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayableInvoiceRoundingName())); + end; + + procedure TotalBankingandInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBankingandInterestName())); + end; + + procedure ExternalServicesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalServicesExpensesName())); + end; + + procedure ExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalServicesName())); + end; + + procedure AccountingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountingServicesName())); + end; + + procedure ITServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ITServicesName())); + end; + + procedure MediaServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MediaServicesName())); + end; + + procedure ConsultingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingServicesName())); + end; + + procedure LegalFeesandAttorneyServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalFeesandAttorneyServicesName())); + end; + + procedure OtherExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExternalServicesName())); + end; + + procedure TotalExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExternalServicesName())); + end; + + procedure OtherExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExternalExpensesName())); + end; + + procedure LicenseFeesRoyalties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LicenseFeesRoyaltiesName())); + end; + + procedure TrademarksPatents(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrademarksPatentsName())); + end; + + procedure AssociationFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssociationFeesName())); + end; + + procedure Miscexternalexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscexternalexpensesName())); + end; + + procedure PurchaseDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseDiscountsName())); + end; + + procedure TotalOtherExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherExternalExpensesName())); + end; + + procedure TotalExternalServicesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExternalServicesExpensesName())); + end; + + procedure Personnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelName())); + end; + + procedure WagesandSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesandSalariesName())); + end; + + procedure HourlyWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HourlyWagesName())); + end; + + procedure OvertimeWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OvertimeWagesName())); + end; + + procedure Bonuses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BonusesName())); + end; + + procedure CommissionsPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsPaidName())); + end; + + procedure PTOAccrued(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PTOAccruedName())); + end; + + procedure TotalWagesandSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWagesandSalariesName())); + end; + + procedure BenefitsPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitsPensionName())); + end; + + procedure Benefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitsName())); + end; + + procedure TrainingCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrainingCostsName())); + end; + + procedure HealthCareContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthCareContributionsName())); + end; + + procedure Entertainmentofpersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EntertainmentofpersonnelName())); + end; + + procedure Mandatoryclothingexpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MandatoryclothingexpensesName())); + end; + + procedure Othercashremunerationbenefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OthercashremunerationbenefitsName())); + end; + + procedure TotalBenefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBenefitsName())); + end; + + procedure Pension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionName())); + end; + + procedure Pensionfeesandrecurringcosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionfeesandrecurringcostsName())); + end; + + procedure EmployerContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployerContributionsName())); + end; + + procedure TotalPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPensionName())); + end; + + procedure TotalBenefitsPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBenefitsPensionName())); + end; + + procedure InsurancesPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesPersonnelName())); + end; + + procedure HealthInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthInsuranceName())); + end; + + procedure DentalInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DentalInsuranceName())); + end; + + procedure WorkersCompensation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkersCompensationName())); + end; + + procedure LifeInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LifeInsuranceName())); + end; + + procedure TotalInsurancesPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsurancesPersonnelName())); + end; + + procedure TotalPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelName())); + end; + + procedure Depreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationName())); + end; + + procedure DepreciationLandandProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationLandandPropertyName())); + end; + + procedure DepreciationFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationFixedAssetsName())); + end; + + procedure TotalDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalDepreciationName())); + end; + + procedure MiscExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscExpensesName())); + end; + + procedure CurrencyLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyLossesName())); + end; + + procedure TotalMiscExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMiscExpensesName())); + end; + + procedure TOTALEXPENSES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALEXPENSESName())); + end; + + procedure COSTOFGOODSSOLD(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(COSTOFGOODSSOLDName())); + end; + + procedure CostofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofGoodsName())); + end; + + procedure CostofMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofMaterialsName())); + end; + + procedure CostofMaterialsProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofMaterialsProjectsName())); + end; + + procedure TotalCostofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofGoodsName())); + end; + + procedure CostofResourcesandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofResourcesandServicesName())); + end; + + procedure CostofLabor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborName())); + end; + + procedure CostofLaborProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborProjectsName())); + end; + + procedure CostofLaborWarrantyContract(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborWarrantyContractName())); + end; + + procedure TotalCostofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofResourcesName())); + end; + + procedure Subcontractedwork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedworkName())); + end; + + procedure ManufVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManufVariancesName())); + end; + + procedure PurchaseVarianceCap(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVarianceCapName())); + end; + + procedure CapOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapOverheadVarianceName())); + end; + + procedure MfgOverheadVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MfgOverheadVarianceName())); + end; + + procedure TotalManufVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManufVariancesName())); + end; + + procedure CostofVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofVariancesName())); + end; + + procedure CostsofJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostsofJobsName())); + end; + + procedure JobCostsApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsAppliedName())); + end; + + procedure TotalCostsofJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostsofJobsName())); + end; + + procedure TOTALCOSTOFGOODSSOLD(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALCOSTOFGOODSSOLDName())); + end; + + procedure Income(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeName())); + end; + + procedure SalesofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofGoodsName())); + end; + + procedure SaleofFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofFinishedGoodsName())); + end; + + procedure SaleofRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofRawMaterialsName())); + end; + + procedure ResaleofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResaleofGoodsName())); + end; + + procedure TotalSalesofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofGoodsName())); + end; + + procedure SaleofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofResourcesName())); + end; + + procedure SaleofSubcontracting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofSubcontractingName())); + end; + + procedure TotalSalesofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofResourcesName())); + end; + + procedure AdditionalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionalRevenueName())); + end; + + procedure Incomefromsecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomefromsecuritiesName())); + end; + + procedure ManagementFeeRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementFeeRevenueName())); + end; + + procedure CurrencyGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyGainsName())); + end; + + procedure OtherIncidentalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherIncidentalRevenueName())); + end; + + procedure TotalAdditionalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdditionalRevenueName())); + end; + + procedure JobsandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobsandServicesName())); + end; + + procedure JobSalesApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedName())); + end; + + procedure SalesofServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofServiceContractsName())); + end; + + procedure SalesofServiceWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofServiceWorkName())); + end; + + procedure TotalJobsandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalJobsandServicesName())); + end; + + procedure RevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueReductionsName())); + end; + + procedure SalesDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesDiscountsName())); + end; + + procedure SalesInvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesInvoiceRoundingName())); + end; + + procedure SalesReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesReturnsName())); + end; + + procedure TotalRevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenueReductionsName())); + end; + + procedure TOTALINCOME(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TOTALINCOMEName())); + end; + + procedure MaterialVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MaterialVarianceName())); + end; + + procedure MaterialVarianceName(): Text[100] + begin + exit(MaterialVarianceTok); + end; + + procedure CapacityVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapacityVarianceName())); + end; + + procedure CapacityVarianceName(): Text[100] + begin + exit(CapacityVarianceTok); + end; + + procedure SubcontractedVariance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedVarianceName())); + end; + + procedure SubcontractedVarianceName(): Text[100] + begin + exit(SubcontractedVarianceTok); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + BalanceSheetLbl: Label 'Balance Sheet', MaxLength = 100; + AssetsLbl: Label 'Assets', MaxLength = 100; + MaterialVarianceTok: Label 'Material Variance', MaxLength = 100; + CapacityVarianceTok: Label 'Capacity Variance', MaxLength = 100; + SubcontractedVarianceTok: Label 'Subcontracted Variance', MaxLength = 100; + IntangibleFixedAssetsLbl: Label 'Intangible Fixed Assets', MaxLength = 100; + DevelopmentExpenditureLbl: Label 'Development Expenditure', MaxLength = 100; + TenancySiteLeaseholdandsimilarrightsLbl: Label 'Tenancy, Site Leasehold and similar rights', MaxLength = 100; + GoodwillLbl: Label 'Goodwill', MaxLength = 100; + AdvancedPaymentsforIntangibleFixedAssetsLbl: Label 'Advanced Payments for Intangible Fixed Assets', MaxLength = 100; + TotalIntangibleFixedAssetsLbl: Label 'Total, Intangible Fixed Assets', MaxLength = 100; + BuildingLbl: Label 'Building', MaxLength = 100; + CostofImprovementstoLeasedPropertyLbl: Label 'Cost of Improvements to Leased Property', MaxLength = 100; + LandLbl: Label 'Land ', MaxLength = 100; + TotalLandandbuildingLbl: Label 'Total, Land and building ', MaxLength = 100; + MachineryandEquipmentLbl: Label 'Machinery and Equipment', MaxLength = 100; + EquipmentsandToolsLbl: Label 'Equipments and Tools', MaxLength = 100; + ComputersLbl: Label 'Computers', MaxLength = 100; + CarsandotherTransportEquipmentsLbl: Label 'Cars and other Transport Equipments', MaxLength = 100; + LeasedAssetsLbl: Label 'Leased Assets', MaxLength = 100; + TotalMachineryandEquipmentLbl: Label 'Total, Machinery and Equipment', MaxLength = 100; + AccumulatedDepreciationLbl: Label 'Accumulated Depreciation', MaxLength = 100; + TotalTangibleAssetsLbl: Label 'Total, Tangible Assets', MaxLength = 100; + FinancialandFixedAssetsLbl: Label 'Financial and Fixed Assets', MaxLength = 100; + LongtermReceivablesLbl: Label 'Long-term Receivables ', MaxLength = 100; + ParticipationinGroupCompaniesLbl: Label 'Participation in Group Companies', MaxLength = 100; + LoanstoPartnersorrelatedPartiesLbl: Label 'Loans to Partners or related Parties', MaxLength = 100; + DeferredTaxAssetsLbl: Label 'Deferred Tax Assets', MaxLength = 100; + OtherLongtermReceivablesLbl: Label 'Other Long-term Receivables', MaxLength = 100; + TotalFinancialandFixedAssetsLbl: Label 'Total, Financial and Fixed Assets', MaxLength = 100; + InventoriesProductsandworkinProgressLbl: Label 'Inventories, Products and work in Progress', MaxLength = 100; + SuppliesandConsumablesLbl: Label 'Supplies and Consumables', MaxLength = 100; + ProductsinProgressLbl: Label 'Products in Progress', MaxLength = 100; + GoodsforResaleLbl: Label 'Goods for Resale', MaxLength = 100; + AdvancedPaymentsforgoodsandservicesLbl: Label 'Advanced Payments for goods and services', MaxLength = 100; + OtherInventoryItemsLbl: Label 'Other Inventory Items', MaxLength = 100; + WorkinProgressLbl: Label 'Work in Progress', MaxLength = 100; + WIPAccruedCostsLbl: Label 'WIP, Accrued Costs', MaxLength = 100; + WIPInvoicedSalesLbl: Label 'WIP, Invoiced Sales', MaxLength = 100; + TotalWorkinProgressLbl: Label 'Total, Work in Progress', MaxLength = 100; + TotalInventoryProductsandWorkinProgressLbl: Label 'Total, Inventory, Products and Work in Progress', MaxLength = 100; + ReceivablesLbl: Label 'Receivables', MaxLength = 100; + AccountsReceivablesLbl: Label 'Accounts Receivables', MaxLength = 100; + AccountReceivableDomesticLbl: Label 'Account Receivable, Domestic', MaxLength = 100; + AccountReceivableForeignLbl: Label 'Account Receivable, Foreign', MaxLength = 100; + ContractualReceivablesLbl: Label 'Contractual Receivables', MaxLength = 100; + ConsignmentReceivablesLbl: Label 'Consignment Receivables', MaxLength = 100; + CreditcardsandVouchersReceivablesLbl: Label 'Credit cards and Vouchers Receivables', MaxLength = 100; + TotalAccountReceivablesLbl: Label 'Total, Account Receivables', MaxLength = 100; + OtherCurrentReceivablesLbl: Label 'Other Current Receivables', MaxLength = 100; + CurrentReceivablefromEmployeesLbl: Label 'Current Receivable from Employees', MaxLength = 100; + AccruedincomenotyetinvoicedLbl: Label 'Accrued income not yet invoiced', MaxLength = 100; + ClearingAccountsforTaxesandchargesLbl: Label 'Clearing Accounts for Taxes and charges', MaxLength = 100; + TaxAssetsLbl: Label 'Tax Assets', MaxLength = 100; + PurchaseVATReducedLbl: Label 'Purchase VAT Reduced', MaxLength = 100; + PurchaseVATNormalLbl: Label 'Purchase VAT Normal', MaxLength = 100; + MiscVATReceivablesLbl: Label 'Misc VAT Receivables', MaxLength = 100; + CurrentReceivablesfromgroupcompaniesLbl: Label 'Current Receivables from group companies', MaxLength = 100; + TotalOtherCurrentReceivablesLbl: Label 'Total, Other Current Receivables', MaxLength = 100; + TotalReceivablesLbl: Label 'Total, Receivables', MaxLength = 100; + PrepaidexpensesandAccruedIncomeLbl: Label 'Prepaid expenses and Accrued Income', MaxLength = 100; + PrepaidRentLbl: Label 'Prepaid Rent', MaxLength = 100; + PrepaidInterestexpenseLbl: Label 'Prepaid Interest expense', MaxLength = 100; + AccruedRentalIncomeLbl: Label 'Accrued Rental Income', MaxLength = 100; + AccruedInterestIncomeLbl: Label 'Accrued Interest Income', MaxLength = 100; + AssetsintheformofprepaidexpensesLbl: Label 'Assets in the form of prepaid expenses', MaxLength = 100; + OtherprepaidexpensesandaccruedincomeLbl: Label 'Other prepaid expenses and accrued income', MaxLength = 100; + TotalPrepaidexpensesandAccruedIncomeLbl: Label 'Total, Prepaid expenses and Accrued Income', MaxLength = 100; + ShortterminvestmentsLbl: Label 'Short-term investments', MaxLength = 100; + ConvertibledebtinstrumentsLbl: Label 'Convertible debt instruments', MaxLength = 100; + OthershorttermInvestmentsLbl: Label 'Other short-term Investments', MaxLength = 100; + WritedownofShortterminvestmentsLbl: Label 'Write-down of Short-term investments', MaxLength = 100; + TotalshortterminvestmentsLbl: Label 'Total, short term investments', MaxLength = 100; + CashandBankLbl: Label 'Cash and Bank', MaxLength = 100; + PettyCashLbl: Label 'Petty Cash', MaxLength = 100; + BusinessaccountOperatingDomesticLbl: Label 'Business account, Operating, Domestic', MaxLength = 100; + BusinessaccountOperatingForeignLbl: Label 'Business account, Operating, Foreign', MaxLength = 100; + OtherbankaccountsLbl: Label 'Other bank accounts ', MaxLength = 100; + CertificateofDepositLbl: Label 'Certificate of Deposit', MaxLength = 100; + TotalCashandBankLbl: Label 'Total, Cash and Bank', MaxLength = 100; + LiabilityLbl: Label 'Liability', MaxLength = 100; + BondsandDebentureLoansLbl: Label 'Bonds and Debenture Loans', MaxLength = 100; + ConvertiblesLoansLbl: Label 'Convertibles Loans', MaxLength = 100; + OtherLongTermLiabilitiesLbl: Label 'Other Long-term Liabilities', MaxLength = 100; + BankoverdraftFacilitiesLbl: Label 'Bank overdraft Facilities', MaxLength = 100; + PaymtsRecptsinProcessLbl: Label 'Paymts./Recpts. in Process', MaxLength = 100; + TotalLongtermLiabilitiesLbl: Label 'Total, Long-term Liabilities', MaxLength = 100; + CurrentLiabilitiesLbl: Label 'Current Liabilities', MaxLength = 100; + AccountsPayableDomesticLbl: Label 'Accounts Payable, Domestic', MaxLength = 100; + AccountsPayableForeignLbl: Label 'Accounts Payable, Foreign', MaxLength = 100; + AdvancesfromcustomersLbl: Label 'Advances from customers', MaxLength = 100; + ChangeinWorkinProgressLbl: Label 'Change in Work in Progress', MaxLength = 100; + BankoverdraftshorttermLbl: Label 'Bank overdraft short-term', MaxLength = 100; + DeferredRevenueLbl: Label 'Deferred Revenue', MaxLength = 100; + TotalCurrentLiabilitiesLbl: Label 'Total, Current Liabilities', MaxLength = 100; + TaxLiabilitiesLbl: Label 'Tax Liabilities', MaxLength = 100; + SalesTaxVATLiableLbl: Label 'Sales Tax / VAT Liable', MaxLength = 100; + CollectioninProcessLbl: Label 'Collection in Process', MaxLength = 100; + TaxesLiableLbl: Label 'Taxes Liable', MaxLength = 100; + SalesVATReducedLbl: Label 'Sales VAT Reduced', MaxLength = 100; + SalesVATNormalLbl: Label 'Sales VAT Normal', MaxLength = 100; + MiscVATPayablesLbl: Label 'Misc VAT Payables', MaxLength = 100; + EstimatedIncomeTaxLbl: Label 'Estimated Income Tax', MaxLength = 100; + EstimatedrealestateTaxRealestatechargeLbl: Label 'Estimated real-estate Tax/Real-estate charge ', MaxLength = 100; + EstimatedPayrolltaxonPensionCostsLbl: Label 'Estimated Payroll tax on Pension Costs', MaxLength = 100; + TotalTaxLiabilitiesLbl: Label 'Total, Tax Liabilities', MaxLength = 100; + PayrollLiabilitiesLbl: Label 'Payroll Liabilities', MaxLength = 100; + EmployeesWithholdingTaxesLbl: Label 'Employees Withholding Taxes', MaxLength = 100; + StatutorySocialsecurityContributionsLbl: Label 'Statutory Social security Contributions', MaxLength = 100; + ContractualSocialsecurityContributionsLbl: Label 'Contractual Social security Contributions', MaxLength = 100; + AttachmentsofEarningLbl: Label 'Attachments of Earning', MaxLength = 100; + HolidayPayfundLbl: Label 'Holiday Pay fund', MaxLength = 100; + OtherSalarywageDeductionsLbl: Label 'Other Salary/wage Deductions', MaxLength = 100; + TotalPayrollLiabilitiesLbl: Label 'Total, Payroll Liabilities', MaxLength = 100; + OtherCurrentLiabilitiesLbl: Label 'Other Current Liabilities', MaxLength = 100; + ClearingAccountforFactoringCurrentPortionLbl: Label 'Clearing Account for Factoring, Current Portion', MaxLength = 100; + CurrentLiabilitiestoEmployeesLbl: Label 'Current Liabilities to Employees', MaxLength = 100; + ClearingAccountforthirdpartyLbl: Label 'Clearing Account for third party', MaxLength = 100; + CurrentLoansLbl: Label 'Current Loans', MaxLength = 100; + LiabilitiesGrantsReceivedLbl: Label 'Liabilities, Grants Received ', MaxLength = 100; + TotalOtherCurrentLiabilitiesLbl: Label 'Total, Other Current Liabilities', MaxLength = 100; + AccruedExpensesandDeferredIncomeLbl: Label 'Accrued Expenses and Deferred Income', MaxLength = 100; + AccruedwagessalariesLbl: Label 'Accrued wages/salaries', MaxLength = 100; + PaymentsinProcessLbl: Label 'Payments in Process', MaxLength = 100; + AccruedHolidaypayLbl: Label 'Accrued Holiday pay', MaxLength = 100; + AccruedPensioncostsLbl: Label 'Accrued Pension costs', MaxLength = 100; + AccruedInterestExpenseLbl: Label 'Accrued Interest Expense', MaxLength = 100; + DeferredIncomeLbl: Label 'Deferred Income', MaxLength = 100; + AccruedContractualcostsLbl: Label 'Accrued Contractual costs', MaxLength = 100; + OtherAccruedExpensesandDeferredIncomeLbl: Label 'Other Accrued Expenses and Deferred Income', MaxLength = 100; + TotalAccruedExpensesandDeferredIncomeLbl: Label 'Total, Accrued Expenses and Deferred Income', MaxLength = 100; + EquityLbl: Label 'Equity', MaxLength = 100; + EquityPartnerLbl: Label 'Equity Partner ', MaxLength = 100; + NetResultsLbl: Label 'Net Results ', MaxLength = 100; + RestrictedEquityLbl: Label 'Restricted Equity ', MaxLength = 100; + ShareCapitalLbl: Label 'Share Capital ', MaxLength = 100; + NonRestrictedEquityLbl: Label 'Non-Restricted Equity', MaxLength = 100; + ProfitorlossfromthepreviousyearLbl: Label 'Profit or loss from the previous year', MaxLength = 100; + ResultsfortheFinancialyearLbl: Label 'Results for the Financial year', MaxLength = 100; + DistributionstoShareholdersLbl: Label 'Distributions to Shareholders', MaxLength = 100; + TotalEquityLbl: Label 'Total, Equity', MaxLength = 100; + EXPENSESLbl: Label 'EXPENSES', MaxLength = 100; + FacilityExpensesLbl: Label 'Facility Expenses', MaxLength = 100; + RentalFacilitiesLbl: Label 'Rental Facilities', MaxLength = 100; + RentLeasesLbl: Label 'Rent / Leases', MaxLength = 100; + ElectricityforRentalLbl: Label 'Electricity for Rental', MaxLength = 100; + HeatingforRentalLbl: Label 'Heating for Rental', MaxLength = 100; + WaterandSewerageforRentalLbl: Label 'Water and Sewerage for Rental', MaxLength = 100; + CleaningandWasteforRentalLbl: Label 'Cleaning and Waste for Rental', MaxLength = 100; + RepairsandMaintenanceforRentalLbl: Label 'Repairs and Maintenance for Rental', MaxLength = 100; + InsurancesRentalLbl: Label 'Insurances, Rental', MaxLength = 100; + OtherRentalExpensesLbl: Label 'Other Rental Expenses', MaxLength = 100; + TotalRentalFacilitiesLbl: Label 'Total, Rental Facilities', MaxLength = 100; + PropertyExpensesLbl: Label 'Property Expenses', MaxLength = 100; + SiteFeesLeasesLbl: Label 'Site Fees / Leases', MaxLength = 100; + ElectricityforPropertyLbl: Label 'Electricity for Property', MaxLength = 100; + HeatingforPropertyLbl: Label 'Heating for Property', MaxLength = 100; + WaterandSewerageforPropertyLbl: Label 'Water and Sewerage for Property', MaxLength = 100; + CleaningandWasteforPropertyLbl: Label 'Cleaning and Waste for Property', MaxLength = 100; + RepairsandMaintenanceforPropertyLbl: Label 'Repairs and Maintenance for Property', MaxLength = 100; + InsurancesPropertyLbl: Label 'Insurances, Property', MaxLength = 100; + OtherPropertyExpensesLbl: Label 'Other Property Expenses', MaxLength = 100; + TotalPropertyExpensesLbl: Label 'Total, Property Expenses', MaxLength = 100; + TotalFacilityExpensesLbl: Label 'Total, Facility Expenses', MaxLength = 100; + FixedAssetsLeasesLbl: Label 'Fixed Assets Leases', MaxLength = 100; + HireofmachineryLbl: Label 'Hire of machinery', MaxLength = 100; + HireofcomputersLbl: Label 'Hire of computers', MaxLength = 100; + HireofotherfixedassetsLbl: Label 'Hire of other fixed assets', MaxLength = 100; + TotalFixedAssetLeasesLbl: Label 'Total, Fixed Asset Leases', MaxLength = 100; + LogisticsExpensesLbl: Label 'Logistics Expenses', MaxLength = 100; + PassengerCarCostsLbl: Label 'Passenger Car Costs', MaxLength = 100; + TruckCostsLbl: Label 'Truck Costs', MaxLength = 100; + OthervehicleexpensesLbl: Label 'Other vehicle expenses', MaxLength = 100; + TotalVehicleExpensesLbl: Label 'Total, Vehicle Expenses', MaxLength = 100; + FreightCostsLbl: Label 'Freight Costs', MaxLength = 100; + FreightfeesforgoodsLbl: Label 'Freight fees for goods', MaxLength = 100; + CustomsandforwardingLbl: Label 'Customs and forwarding', MaxLength = 100; + FreightfeesprojectsLbl: Label 'Freight fees, projects', MaxLength = 100; + TotalFreightCostsLbl: Label 'Total, Freight Costs', MaxLength = 100; + TravelExpensesLbl: Label 'Travel Expenses', MaxLength = 100; + TicketsLbl: Label 'Tickets', MaxLength = 100; + RentalvehiclesLbl: Label 'Rental vehicles', MaxLength = 100; + BoardandlodgingLbl: Label 'Board and lodging', MaxLength = 100; + OthertravelexpensesLbl: Label 'Other travel expenses', MaxLength = 100; + TotalTravelExpensesLbl: Label 'Total, Travel Expenses', MaxLength = 100; + TotalLogisticsExpensesLbl: Label 'Total, Logistics Expenses', MaxLength = 100; + MarketingandSalesLbl: Label 'Marketing and Sales', MaxLength = 100; + AdvertisementDevelopmentLbl: Label 'Advertisement Development', MaxLength = 100; + OutdoorandTransportationAdsLbl: Label 'Outdoor and Transportation Ads', MaxLength = 100; + AdmatteranddirectmailingsLbl: Label 'Ad matter and direct mailings', MaxLength = 100; + ConferenceExhibitionSponsorshipLbl: Label 'Conference/Exhibition Sponsorship', MaxLength = 100; + SamplescontestsgiftsLbl: Label 'Samples, contests, gifts', MaxLength = 100; + FilmTVradiointernetadsLbl: Label 'Film, TV, radio, internet ads', MaxLength = 100; + PRandAgencyFeesLbl: Label 'PR and Agency Fees', MaxLength = 100; + OtheradvertisingfeesLbl: Label 'Other advertising fees', MaxLength = 100; + TotalAdvertisingLbl: Label 'Total, Advertising', MaxLength = 100; + OtherMarketingExpensesLbl: Label 'Other Marketing Expenses', MaxLength = 100; + CatalogspricelistsLbl: Label 'Catalogs, price lists', MaxLength = 100; + TradePublicationsLbl: Label 'Trade Publications', MaxLength = 100; + TotalOtherMarketingExpensesLbl: Label 'Total, Other Marketing Expenses', MaxLength = 100; + SalesExpensesLbl: Label 'Sales Expenses', MaxLength = 100; + CreditCardChargesLbl: Label 'Credit Card Charges', MaxLength = 100; + BusinessEntertainingdeductibleLbl: Label 'Business Entertaining, deductible', MaxLength = 100; + BusinessEntertainingnondeductibleLbl: Label 'Business Entertaining, nondeductible', MaxLength = 100; + TotalSalesExpensesLbl: Label 'Total, Sales Expenses', MaxLength = 100; + TotalMarketingandSalesLbl: Label 'Total, Marketing and Sales', MaxLength = 100; + OfficeExpensesLbl: Label 'Office Expenses', MaxLength = 100; + PhoneServicesLbl: Label 'Phone Services', MaxLength = 100; + DataservicesLbl: Label 'Data services', MaxLength = 100; + PostalfeesLbl: Label 'Postal fees', MaxLength = 100; + ConsumableExpensiblehardwareLbl: Label 'Consumable/Expensible hardware', MaxLength = 100; + SoftwareandsubscriptionfeesLbl: Label 'Software and subscription fees', MaxLength = 100; + TotalOfficeExpensesLbl: Label 'Total, Office Expenses', MaxLength = 100; + InsurancesandRisksLbl: Label 'Insurances and Risks', MaxLength = 100; + CorporateInsuranceLbl: Label 'Corporate Insurance', MaxLength = 100; + DamagesPaidLbl: Label 'Damages Paid', MaxLength = 100; + BadDebtLossesLbl: Label 'Bad Debt Losses', MaxLength = 100; + SecurityservicesLbl: Label 'Security services', MaxLength = 100; + OtherriskexpensesLbl: Label 'Other risk expenses', MaxLength = 100; + TotalInsurancesandRisksLbl: Label 'Total, Insurances and Risks', MaxLength = 100; + ManagementandAdminLbl: Label 'Management and Admin', MaxLength = 100; + ManagementLbl: Label 'Management', MaxLength = 100; + RemunerationtoDirectorsLbl: Label 'Remuneration to Directors', MaxLength = 100; + ManagementFeesLbl: Label 'Management Fees', MaxLength = 100; + AnnualinterrimReportsLbl: Label 'Annual/interrim Reports', MaxLength = 100; + AnnualgeneralmeetingLbl: Label 'Annual/general meeting', MaxLength = 100; + AuditandAuditServicesLbl: Label 'Audit and Audit Services', MaxLength = 100; + TaxadvisoryServicesLbl: Label 'Tax advisory Services', MaxLength = 100; + TotalManagementFeesLbl: Label 'Total, Management Fees', MaxLength = 100; + TotalManagementandAdminLbl: Label 'Total, Management and Admin', MaxLength = 100; + BankingandInterestLbl: Label 'Banking and Interest', MaxLength = 100; + BankingfeesLbl: Label 'Banking fees', MaxLength = 100; + PayableInvoiceRoundingLbl: Label 'Payable Invoice Rounding', MaxLength = 100; + TotalBankingandInterestLbl: Label 'Total, Banking and Interest', MaxLength = 100; + ExternalServicesExpensesLbl: Label 'External Services/Expenses', MaxLength = 100; + ExternalServicesLbl: Label 'External Services', MaxLength = 100; + AccountingServicesLbl: Label 'Accounting Services', MaxLength = 100; + ITServicesLbl: Label 'IT Services', MaxLength = 100; + MediaServicesLbl: Label 'Media Services', MaxLength = 100; + ConsultingServicesLbl: Label 'Consulting Services', MaxLength = 100; + LegalFeesandAttorneyServicesLbl: Label 'Legal Fees and Attorney Services', MaxLength = 100; + OtherExternalServicesLbl: Label 'Other External Services', MaxLength = 100; + TotalExternalServicesLbl: Label 'Total, External Services', MaxLength = 100; + OtherExternalExpensesLbl: Label 'Other External Expenses', MaxLength = 100; + LicenseFeesRoyaltiesLbl: Label 'License Fees/Royalties', MaxLength = 100; + TrademarksPatentsLbl: Label 'Trademarks/Patents', MaxLength = 100; + AssociationFeesLbl: Label 'Association Fees', MaxLength = 100; + MiscexternalexpensesLbl: Label 'Misc. external expenses', MaxLength = 100; + PurchaseDiscountsLbl: Label 'Purchase Discounts', MaxLength = 100; + TotalOtherExternalExpensesLbl: Label 'Total, Other External Expenses', MaxLength = 100; + TotalExternalServicesExpensesLbl: Label 'Total, External Services/Expenses', MaxLength = 100; + PersonnelLbl: Label 'Personnel', MaxLength = 100; + WagesandSalariesLbl: Label 'Wages and Salaries', MaxLength = 100; + HourlyWagesLbl: Label 'Hourly Wages', MaxLength = 100; + OvertimeWagesLbl: Label 'Overtime Wages', MaxLength = 100; + BonusesLbl: Label 'Bonuses', MaxLength = 100; + CommissionsPaidLbl: Label 'Commissions Paid', MaxLength = 100; + PTOAccruedLbl: Label 'PTO Accrued', MaxLength = 100; + TotalWagesandSalariesLbl: Label 'Total, Wages and Salaries', MaxLength = 100; + BenefitsPensionLbl: Label 'Benefits/Pension', MaxLength = 100; + BenefitsLbl: Label 'Benefits', MaxLength = 100; + TrainingCostsLbl: Label 'Training Costs', MaxLength = 100; + HealthCareContributionsLbl: Label 'Health Care Contributions', MaxLength = 100; + EntertainmentofpersonnelLbl: Label 'Entertainment of personnel', MaxLength = 100; + MandatoryclothingexpensesLbl: Label 'Mandatory clothing expenses', MaxLength = 100; + OthercashremunerationbenefitsLbl: Label 'Other cash/remuneration benefits', MaxLength = 100; + TotalBenefitsLbl: Label 'Total, Benefits', MaxLength = 100; + PensionLbl: Label 'Pension', MaxLength = 100; + PensionfeesandrecurringcostsLbl: Label 'Pension fees and recurring costs', MaxLength = 100; + EmployerContributionsLbl: Label 'Employer Contributions', MaxLength = 100; + TotalPensionLbl: Label 'Total, Pension', MaxLength = 100; + TotalBenefitsPensionLbl: Label 'Total, Benefits/Pension', MaxLength = 100; + InsurancesPersonnelLbl: Label 'Insurances, Personnel', MaxLength = 100; + HealthInsuranceLbl: Label 'Health Insurance', MaxLength = 100; + DentalInsuranceLbl: Label 'Dental Insurance', MaxLength = 100; + WorkersCompensationLbl: Label 'Worker''s'' Compensation', MaxLength = 100; + LifeInsuranceLbl: Label 'Life Insurance', MaxLength = 100; + TotalInsurancesPersonnelLbl: Label 'Total, Insurances, Personnel', MaxLength = 100; + TotalPersonnelLbl: Label 'Total, Personnel', MaxLength = 100; + DepreciationLbl: Label 'Depreciation', MaxLength = 100; + DepreciationLandandPropertyLbl: Label 'Depreciation, Land and Property', MaxLength = 100; + DepreciationFixedAssetsLbl: Label 'Depreciation, Fixed Assets', MaxLength = 100; + TotalDepreciationLbl: Label 'Total, Depreciation', MaxLength = 100; + MiscExpensesLbl: Label 'Misc. Expenses', MaxLength = 100; + CurrencyLossesLbl: Label 'Currency Losses', MaxLength = 100; + TotalMiscExpensesLbl: Label 'Total, Misc. Expenses', MaxLength = 100; + TOTALEXPENSESLbl: Label 'TOTAL EXPENSES', MaxLength = 100; + COSTOFGOODSSOLDLbl: Label 'COST OF GOODS SOLD', MaxLength = 100; + CostofGoodsLbl: Label 'Cost of Goods', MaxLength = 100; + CostofMaterialsLbl: Label 'Cost of Materials', MaxLength = 100; + CostofMaterialsProjectsLbl: Label 'Cost of Materials, Projects', MaxLength = 100; + TotalCostofGoodsLbl: Label 'Total, Cost of Goods', MaxLength = 100; + CostofResourcesandServicesLbl: Label 'Cost of Resources and Services', MaxLength = 100; + CostofLaborLbl: Label 'Cost of Labor', MaxLength = 100; + CostofLaborProjectsLbl: Label 'Cost of Labor, Projects', MaxLength = 100; + CostofLaborWarrantyContractLbl: Label 'Cost of Labor, Warranty/Contract', MaxLength = 100; + TotalCostofResourcesLbl: Label 'Total, Cost of Resources', MaxLength = 100; + SubcontractedworkLbl: Label 'Subcontracted work', MaxLength = 100; + ManufVariancesLbl: Label 'Manuf. Variances', MaxLength = 100; + PurchaseVarianceCapLbl: Label 'Purchase Variance, Cap.', MaxLength = 100; + CapOverheadVarianceLbl: Label 'Cap. Overhead Variance', MaxLength = 100; + MfgOverheadVarianceLbl: Label 'Mfg. Overhead Variance', MaxLength = 100; + TotalManufVariancesLbl: Label 'Total, Manuf. Variances', MaxLength = 100; + CostofVariancesLbl: Label 'Cost of Variances', MaxLength = 100; + CostsofJobsLbl: Label 'Costs of Jobs', MaxLength = 100; + JobCostsAppliedLbl: Label 'Job Costs, Applied', MaxLength = 100; + TotalCostsofJobsLbl: Label 'Total, Costs of Jobs', MaxLength = 100; + TOTALCOSTOFGOODSSOLDLbl: Label 'TOTAL COST OF GOODS SOLD', MaxLength = 100; + IncomeLbl: Label 'Income', MaxLength = 100; + SalesofGoodsLbl: Label 'Sales of Goods', MaxLength = 100; + SaleofFinishedGoodsLbl: Label 'Sale of Finished Goods', MaxLength = 100; + SaleofRawMaterialsLbl: Label 'Sale of Raw Materials', MaxLength = 100; + ResaleofGoodsLbl: Label 'Resale of Goods', MaxLength = 100; + TotalSalesofGoodsLbl: Label 'Total, Sales of Goods', MaxLength = 100; + SaleofResourcesLbl: Label 'Sale of Resources', MaxLength = 100; + SaleofSubcontractingLbl: Label 'Sale of Subcontracting', MaxLength = 100; + TotalSalesofResourcesLbl: Label 'Total, Sales of Resources', MaxLength = 100; + AdditionalRevenueLbl: Label 'Additional Revenue', MaxLength = 100; + IncomefromsecuritiesLbl: Label 'Income from securities', MaxLength = 100; + ManagementFeeRevenueLbl: Label 'Management Fee Revenue', MaxLength = 100; + CurrencyGainsLbl: Label 'Currency Gains', MaxLength = 100; + OtherIncidentalRevenueLbl: Label 'Other Incidental Revenue', MaxLength = 100; + TotalAdditionalRevenueLbl: Label 'Total, Additional Revenue', MaxLength = 100; + JobsandServicesLbl: Label 'Jobs and Services', MaxLength = 100; + JobSalesAppliedLbl: Label 'Job Sales Applied', MaxLength = 100; + SalesofServiceContractsLbl: Label 'Sales of Service Contracts', MaxLength = 100; + SalesofServiceWorkLbl: Label 'Sales of Service Work', MaxLength = 100; + TotalJobsandServicesLbl: Label 'Total, Jobs and Services', MaxLength = 100; + RevenueReductionsLbl: Label 'Revenue Reductions', MaxLength = 100; + SalesDiscountsLbl: Label 'Sales Discounts', MaxLength = 100; + SalesInvoiceRoundingLbl: Label 'Sales Invoice Rounding', MaxLength = 100; + SalesReturnsLbl: Label 'Sales Returns', MaxLength = 100; + TotalRevenueReductionsLbl: Label 'Total, Revenue Reductions', MaxLength = 100; + TOTALINCOMELbl: Label 'TOTAL INCOME', MaxLength = 100; + TotalAssetsLbl: Label 'Total Assets', MaxLength = 100; } \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/1.Setup Data/CreateBankExImportNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/1.Setup Data/CreateBankExImportNL.Codeunit.al new file mode 100644 index 0000000000..342f2099a2 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/1.Setup Data/CreateBankExImportNL.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 11549 "Create Bank Ex/Import NL" +{ + trigger OnRun() + var + BankExportImportSetup: Record "Bank Export/Import Setup"; + ContosoBank: Codeunit "Contoso Bank"; + CreateDataExchangeNL: Codeunit "Create Data Exchange NL"; + CreateBankExImportSetup: Codeunit "Create Bank Ex/Import Setup"; + begin + BankExportImportSetup.Get(CreateBankExImportSetup.SEPACAMT()); + BankExportImportSetup.Validate("Data Exch. Def. Code", CreateDataExchangeNL.SEPACAMTNL()); + BankExportImportSetup.Modify(true); + + ContosoBank.ContosoBankExportImportSetup(SEPACTPAIN00100109(), SEPACTPAIN00100109Lbl, 0, Codeunit::"SEPA CT-Export File", Xmlport::"SEPA CT pain.001.001.09", '', false, Codeunit::"SEPA CT-Check Line"); + ContosoBank.ContosoBankExportImportSetup(SEPADDPAIN00800108(), SEPADDPAIN00800108Lbl, 0, Codeunit::"SEPA DD-Export File", Xmlport::"SEPA DD pain.008.001.08", '', false, Codeunit::"SEPA DD-Check Line"); + + end; + + procedure SEPACTPAIN00100109(): Code[20] + begin + exit(SEPACTPAIN00100109Tok); + end; + + procedure SEPADDPAIN00800108(): Code[20] + begin + exit(SEPADDPAIN00800108Tok); + end; + + + var + SEPACTPAIN00100109Tok: Label 'SEPACTPAIN00100109', MaxLength = 20; + SEPACTPAIN00100109Lbl: Label 'SEPA Credit Transfer pain.001.001.09', MaxLength = 100; + SEPADDPAIN00800108Tok: Label 'SEPADD PAIN00800108', MaxLength = 20; + SEPADDPAIN00800108Lbl: Label 'SEPA Direct Debit pain.008.001.08', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/1.Setup Data/CreateBankPostingGrpNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/1.Setup Data/CreateBankPostingGrpNL.Codeunit.al new file mode 100644 index 0000000000..bda745cdb1 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/1.Setup Data/CreateBankPostingGrpNL.Codeunit.al @@ -0,0 +1,74 @@ +codeunit 11518 "Create Bank Posting Grp NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBankNL: Codeunit "Contoso Bank NL"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + ContosoBankNL.InsertBankAccountPostingGroup(ABN(), CreateNLGLAccounts.BusinessaccountOperatingDomestic(), CreateNLGLAccounts.PaymtsRecptsinProcess()); + ContosoBankNL.InsertBankAccountPostingGroup(ABNUSD(), CreateNLGLAccounts.PettyCash(), CreateNLGLAccounts.PaymtsRecptsinProcess()); + ContosoBankNL.InsertBankAccountPostingGroup(PostBank(), CreateNLGLAccounts.BusinessaccountOperatingForeign(), CreateNLGLAccounts.PaymtsRecptsinProcess()); + ContosoBankNL.InsertBankAccountPostingGroup(RaboLeen(), CreateNLGLAccounts.PettyCash(), ''); + ContosoBankNL.InsertBankAccountPostingGroup(RaboUSD(), CreateNLGLAccounts.PettyCash(), ''); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccountingpostingGrp(var Rec: Record "Bank Account Posting Group") + var + CreateBankAccPostingGroup: Codeunit "Create Bank Acc. Posting Grp"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + case Rec.Code of + CreateBankAccPostingGroup.Operating(), + CreateBankAccPostingGroup.Cash(): + ValidateBankAccountingpostingGrp(Rec, CreateNLGLAccounts.PettyCash()); + CreateBankAccPostingGroup.Checking(): + ValidateBankAccountingpostingGrp(Rec, CreateNLGLAccounts.BusinessaccountOperatingDomestic()); + CreateBankAccPostingGroup.Savings(): + ValidateBankAccountingpostingGrp(Rec, CreateNLGLAccounts.BusinessaccountOperatingForeign()); + end; + end; + + local procedure ValidateBankAccountingpostingGrp(var BankAccountPostingGrp: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGrp.Validate("G/L Account No.", GLAccountNo); + end; + + procedure ABN(): Code[20] + begin + exit(ABNTok); + end; + + procedure ABNUSD(): Code[20] + begin + exit(ABNUsdTok); + end; + + procedure PostBank(): Code[20] + begin + exit(PostbankTok); + end; + + procedure RaboLeen(): Code[20] + begin + exit(RaboLeenTok); + end; + + procedure RaboUSD(): Code[20] + begin + exit(RaboUsdTok); + end; + + + var + ABNTok: Label 'ABN', MaxLength = 20, Locked = true; + ABNUsdTok: Label 'ABN-USD', MaxLength = 20, Locked = true; + PostbankTok: Label 'POSTBANK', MaxLength = 20, Locked = true; + RaboLeenTok: Label 'RABO-LEEN', MaxLength = 20, Locked = true; + RaboUsdTok: Label 'RABO-USD', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateBankAccountNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateBankAccountNL.Codeunit.al new file mode 100644 index 0000000000..62c4ad8a73 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateBankAccountNL.Codeunit.al @@ -0,0 +1,97 @@ +codeunit 11517 "Create Bank Account NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CompanyInformation: Record "Company Information"; + ContosoBankNL: Codeunit "Contoso Bank NL"; + SalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + CreateCurrency: Codeunit "Create Currency"; + begin + CompanyInformation.Get(); + ContosoBankNL.InsertBankAccount(ABN(), ABNLbl, Raadhuisplein10AddressLbl, RotterdamCityLbl, DikBijlmersContactLbl, BankAccountABNLbl, ABNTok, SalespersonPurchaser.OtisFalls(), PostCode2131HDLbl, BankBranch1Lbl, '', IBANABNLbl, CompanyInformation.Name, CompanyInformation.Address, CompanyInformation.City, CompanyInformation."Post Code", ''); + ContosoBankNL.InsertBankAccount(ABNUSD(), ABNUsdTok, Damrak1AddressLbl, ArnhemCityLbl, GerardZalmContactLbl, BankAccountABNUsdLbl, ABNUsdTok, SalespersonPurchaser.OtisFalls(), PostCode1012LXLbl, CompanyInformation."Bank Branch No.", CreateCurrency.USD(), IBANABNUsdLbl, CompanyInformation.Name, CompanyInformation.Address, CompanyInformation.City, CompanyInformation."Post Code", ''); + ContosoBankNL.InsertBankAccount(PostBank(), PostbankTok, DeBrug12AddressLbl, RotterdamCityLbl, MargrietKantersContactLbl, BankAccountPostBankLbl, PostbankTok, SalespersonPurchaser.OtisFalls(), PostCode2131HDLbl, BankBranch2Lbl, '', IBANPostBankLbl, CompanyInformation.Name, CompanyInformation.Address, CompanyInformation.City, CompanyInformation."Post Code", ''); + ContosoBankNL.InsertBankAccount(RaboLeen(), RaboLeenTok, Damrak1AddressLbl, ArnhemCityLbl, GerardZalmContactLbl, BankAccountRaboLeenLbl, RaboLeenTok, SalespersonPurchaser.OtisFalls(), PostCode1012LXLbl, CompanyInformation."Bank Branch No.", '', IBANRaboLeenLbl, CompanyInformation.Name, CompanyInformation.Address, CompanyInformation.City, CompanyInformation."Post Code", ''); + ContosoBankNL.InsertBankAccount(RaboUSD(), RaboUsdTok, Damrak1AddressLbl, ArnhemCityLbl, GerardZalmContactLbl, BankAccountRaboUsdLbl, RaboUsdTok, SalespersonPurchaser.OtisFalls(), PostCode1012LXLbl, CompanyInformation."Bank Branch No.", CreateCurrency.USD(), IBANRaboUsdLbl, '', '', '', '', ''); + end; + + procedure ABN(): Code[20] + begin + exit(ABNTok); + end; + + procedure ABNUSD(): Code[20] + begin + exit(ABNUsdTok); + end; + + procedure PostBank(): Code[20] + begin + exit(PostbankTok); + end; + + procedure RaboLeen(): Code[20] + begin + exit(RaboLeenTok); + end; + + procedure RaboUSD(): Code[20] + begin + exit(RaboUsdTok); + end; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -1447200, ArnhemCityLbl, PostCode1012LXLbl); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, ArnhemCityLbl, PostCode1012LXLbl); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; City: Text[30]; PostCode: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate(City, City); + BankAccount.Validate("Post Code", PostCode); + end; + + var + ABNTok: Label 'ABN', MaxLength = 20, Locked = true; + ABNLbl: Label 'ABN-AMRO', MaxLength = 100; + ABNUsdTok: Label 'ABN-USD', MaxLength = 20, Locked = true; + PostbankTok: Label 'POSTBANK', MaxLength = 20, Locked = true; + RaboLeenTok: Label 'RABO-LEEN', MaxLength = 20, Locked = true; + RaboUsdTok: Label 'RABO-USD', MaxLength = 20, Locked = true; + Raadhuisplein10AddressLbl: Label 'Raadhuisplein 10', MaxLength = 100; + Damrak1AddressLbl: Label 'Damrak 1', MaxLength = 100; + DeBrug12AddressLbl: Label 'De Brug 12', MaxLength = 100; + ArnhemCityLbl: Label 'Arnhem', MaxLength = 30; + RotterdamCityLbl: Label 'Rotterdam', MaxLength = 30; + DikBijlmersContactLbl: Label 'Dik Bijlmers', MaxLength = 50; + GerardZalmContactLbl: Label 'Gerard Zalm', MaxLength = 50; + MargrietKantersContactLbl: Label 'Margriet Kanters', MaxLength = 50; + PostCode1012LXLbl: Label '1012 LX', MaxLength = 20; + PostCode2131HDLbl: Label '2131 HD', MaxLength = 20; + BankBranch1Lbl: Label '43.12.90.456', MaxLength = 20; + BankBranch2Lbl: Label 'GO284033', MaxLength = 20; + BankAccountABNLbl: Label '306001241', MaxLength = 30; + BankAccountABNUsdLbl: Label '306001244', MaxLength = 30; + BankAccountPostBankLbl: Label 'P9876543', MaxLength = 30; + BankAccountRaboLeenLbl: Label '303355328', MaxLength = 30; + BankAccountRaboUsdLbl: Label '0000111120', MaxLength = 30; + IBANABNLbl: Label 'NL69 ABNA 0306 0012 41', MaxLength = 50; + IBANABNUsdLbl: Label 'NL28 ABNA 0112 2233 33', MaxLength = 50; + IBANPostBankLbl: Label 'NL69 PSTB 0001 2345 67', MaxLength = 50; + IBANRaboLeenLbl: Label 'NL38 RABO 0303 3553 28', MaxLength = 50; + IBANRaboUsdLbl: Label 'NL00 RABO 0000 1111 20', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateGenJournalTemplNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateGenJournalTemplNL.Codeunit.al new file mode 100644 index 0000000000..df6955efe7 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateGenJournalTemplNL.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 11542 "Create Gen. Journal Templ. NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SourceCodeSetup: Record "Source Code Setup"; + ContosoGeneralLedgerNL: Codeunit "Contoso General Ledger NL"; + CreateNoSeriesNL: Codeunit "Create No. Series NL"; + CreateSourceCodeNL: Codeunit "Create Source Code NL"; + CreateBankAccountNL: Codeunit "Create Bank Account NL"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + SourceCodeSetup.Get(); + + ContosoGeneralLedgerNL.InsertGeneralJournalTemplate(ABN(), ABNBankJournalLbl, Enum::"Gen. Journal Template Type"::Bank, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccountNL.ABN(), Page::"Bank/Giro Journal", CreateNoSeriesNL.AbnBankJnl(), CreateSourceCodeNL.ABNBankJnl()); + ContosoGeneralLedgerNL.InsertGeneralJournalTemplate(Cash(), CashJournalLbl, Enum::"Gen. Journal Template Type"::Cash, Enum::"Gen. Journal Account Type"::"G/L Account", CreateNLGLAccounts.PettyCash(), Page::"Cash Journal", CreateNoSeriesNL.Cash(), SourceCodeSetup."Cash Journal"); + ContosoGeneralLedgerNL.InsertGeneralJournalTemplate(PostBank(), GiroJournalLbl, Enum::"Gen. Journal Template Type"::Bank, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccountNL.PostBank(), Page::"Bank/Giro Journal", CreateNoSeriesNL.GiroJnl(), CreateSourceCodeNL.GiroJnl()); + end; + + procedure ABN(): Code[10] + begin + exit(ABNTok); + end; + + procedure Cash(): Code[10] + begin + exit(CashTok); + end; + + procedure PostBank(): Code[10] + begin + exit(PostbankTok); + end; + + var + ABNTok: Label 'ABN', MaxLength = 10, Locked = true; + ABNBankJournalLbl: Label 'ABN Bank Journal', MaxLength = 80; + CashTok: Label 'CASH', MaxLength = 10, Locked = true; + CashJournalLbl: Label 'Cash Journal', MaxLength = 80; + PostbankTok: Label 'POSTBANK', MaxLength = 10, Locked = true; + GiroJournalLbl: Label 'Giro Journal', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateImpExpProtocolNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateImpExpProtocolNL.Codeunit.al new file mode 100644 index 0000000000..04af29d8ec --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreateImpExpProtocolNL.Codeunit.al @@ -0,0 +1,112 @@ +codeunit 11539 "Create Imp./Exp. Protocol NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + InsertImportProtocol(); + InsertExportProtocol(); + InsertTransactionMode(); + end; + + procedure BBV(): Code[20] + begin + exit(BBVTok); + end; + + procedure BTL91(): Code[20] + begin + exit(BTL91Tok); + end; + + procedure GenericSEPA(): Code[20] + begin + exit(GenericSEPATok); + end; + + procedure GenericSEPA09(): Code[20] + begin + exit(GenericSEPA09Tok); + end; + + procedure PAYMUL(): Code[20] + begin + exit(PAYMULTok); + end; + + procedure RABOMUTASC(): Code[20] + begin + exit(RABOMUTASCTok); + end; + + procedure RABOVVMUTASC(): Code[20] + begin + exit(RABOVVMUTASCTok); + end; + + local procedure InsertImportProtocol() + var + ContosoBankNL: Codeunit "Contoso Bank NL"; + CreateDataExchange: Codeunit "Create Data Exchange"; + ImportType: Option "TableData","Table",Form,"Report",,"Codeunit","XMLport",MenuSuite,"Page"; + begin + ContosoBankNL.InsertImportProtocol(RABOMUTASC(), ImportType::Report, Report::"Import Rabobank mut.asc", RABOTelebankingDomesticLbl, true); + ContosoBankNL.InsertImportProtocol(RABOVVMUTASCTok, ImportType::Report, Report::"Import Rabobank vvmut.asc", RABOTelebankingForeignLbl, true); + ContosoBankNL.InsertImportProtocol(CreateDataExchange.SEPACAMT(), ImportType::Codeunit, Codeunit::"Import SEPA CAMT", SEPACAMTBankStatementsLbl, true); + end; + + local procedure InsertExportProtocol() + var + ContosoBankNL: Codeunit "Contoso Bank NL"; + ExportObjectType: Option "Report","XMLPort"; + ChecksumAlgorithm: Option MD5,SHA1,SHA256,SHA384,SHA512; + begin + ContosoBankNL.InsertExportProtocol(BBV(), BBVDescLbl, ExportObjectType::Report, 11000008, 11000008, 11000004, BBVDefaultFileNameLbl, BBVExportFileNameLbl, ChecksumAlgorithm::MD5); + ContosoBankNL.InsertExportProtocol(BTL91(), BTL91DesLbl, ExportObjectType::Report, 11000007, 11000007, 11000004, Btl91DefaultFileNameLbl, BTL91ExportFileNameLbl, ChecksumAlgorithm::MD5); + ContosoBankNL.InsertExportProtocol(GenericSEPA(), GenericPaymentFileDesLbl, ExportObjectType::Report, 11000007, 11000012, 11000004, '', GenericSEPAExportFileNameLbl, ChecksumAlgorithm::MD5); + ContosoBankNL.InsertExportProtocol(GenericSEPA09(), GenericSEPA09DescLbl, ExportObjectType::Report, 11000007, 11000014, 11000004, '', GenericSEPA09ExportFileNameLbl, ChecksumAlgorithm::MD5); + ContosoBankNL.InsertExportProtocol(PAYMUL(), PAYMULTok, ExportObjectType::Report, 11000009, 11000009, 11000004, '', PAYMULExportFileNameLbl, ChecksumAlgorithm::MD5); + end; + + local procedure InsertTransactionMode() + var + ContosoBankNL: Codeunit "Contoso Bank NL"; + CreateBankAccountNL: Codeunit "Create Bank Account NL"; + CreateNoSeriesNL: Codeunit "Create No. Series NL"; + CreateSourceCodeNL: Codeunit "Create Source Code NL"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + AccountType: Option Customer,Vendor,Employee; + Order: Option ,Debit,Credit; + begin + ContosoBankNL.InsertTransactionMode(AccountType::Customer, CreateBankAccountNL.ABN(), CollectionCustomersDescLbl, Order::Credit, true, CreateBankAccountNL.ABN(), true, BTL91(), true, CreateNoSeriesNL.TelebankingRunNos(), CreateSourceCodeNL.RecptsProc(), CreateNoSeriesNL.ReceiptsProcess(), CreateNLGLAccounts.CollectioninProcess(), CreateNoSeriesNL.ReceiptsProcess(), CreateSourceCodeNL.RecptsProc(), CreateNoSeriesNL.TelebankingIdentification()); + ContosoBankNL.InsertTransactionMode(AccountType::Vendor, CreateBankAccountNL.ABN(), PaymentVendorDescLbl, Order::Debit, true, CreateBankAccountNL.ABN(), true, BTL91(), true, CreateNoSeriesNL.TelebankingRunNos(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.PaymentsProcess(), CreateNLGLAccounts.PaymentsinProcess(), CreateNoSeriesNL.PaymentsProcess(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.TelebankingIdentification()); + ContosoBankNL.InsertTransactionMode(AccountType::Vendor, 'ABN-BTL', PaymentVendorDescLbl, Order::Debit, true, CreateBankAccountNL.ABN(), true, BTL91(), true, CreateNoSeriesNL.TelebankingRunNos(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.PaymentsProcess(), CreateNLGLAccounts.PaymentsinProcess(), CreateNoSeriesNL.PaymentsProcess(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.TelebankingIdentification()); + ContosoBankNL.InsertTransactionMode(AccountType::Vendor, CreateBankAccountNL.PostBank(), PaymentVendorDescLbl, Order::Debit, true, CreateBankAccountNL.PostBank(), true, BTL91(), true, CreateNoSeriesNL.TelebankingRunNos(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.PaymentsProcess(), CreateNLGLAccounts.PaymentsinProcess(), CreateNoSeriesNL.PaymentsProcess(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.TelebankingIdentification()); + ContosoBankNL.InsertTransactionMode(AccountType::Vendor, 'RABO-BBV', PaymentVendorDescLbl, Order::Debit, true, CreateBankAccountNL.ABNUSD(), true, BBV(), true, CreateNoSeriesNL.TelebankingRunNos(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.PaymentsProcess(), CreateNLGLAccounts.PaymentsinProcess(), CreateNoSeriesNL.PaymentsProcess(), CreateSourceCodeNL.PaymtProc(), CreateNoSeriesNL.TelebankingIdentification()); + end; + + var + RABOMUTASCTok: Label 'RABO MUT.ASC', MaxLength = 20, Locked = true; + RABOVVMUTASCTok: Label 'RABO VVMUT.ASC', MaxLength = 20, Locked = true; + RABOTelebankingDomesticLbl: Label 'RABO Telebanking (Domestic)', MaxLength = 100; + RABOTelebankingForeignLbl: Label 'RABO Telebanking (Foreign)', MaxLength = 100; + SEPACAMTBankStatementsLbl: Label 'SEPA CAMT Bank Statements', MaxLength = 100; + BBVTok: Label 'BBV', MaxLength = 20, Locked = true; + BBVDescLbl: Label 'RABO Foreign Payments', MaxLength = 100; + BTL91Tok: Label 'BTL91', MaxLength = 20, Locked = true; + BTL91DesLbl: Label 'ABN-AMRO Foreign Payments', MaxLength = 100, Locked = true; + GenericSEPATok: Label 'GENERIC SEPA', MaxLength = 20, Locked = true; + GenericPaymentFileDesLbl: Label 'Generic Payment File', MaxLength = 100, Locked = true; + GenericSEPA09Tok: Label 'GENERIC SEPA09', MaxLength = 20, Locked = true; + GenericSEPA09DescLbl: Label 'SEPA CT pain.001.001.09', MaxLength = 100; + PAYMULTok: Label 'PAYMUL', MaxLength = 20, Locked = true; + BBVDefaultFileNameLbl: Label 'c:\temp\bbv%1.txt', Comment = '%1 is bbv default file path', MaxLength = 250; + Btl91DefaultFileNameLbl: Label 'c:\temp\btl%1.txt', Comment = '%1 is btl default file path', MaxLength = 250; + BBVExportFileNameLbl: Label 'Export BBV', MaxLength = 30; + BTL91ExportFileNameLbl: Label 'Export BTL91-ABN AMRO', MaxLength = 30; + GenericSEPAExportFileNameLbl: Label 'SEPA ISO20022 Pain 01.01.03', MaxLength = 30; + GenericSEPA09ExportFileNameLbl: Label 'SEPA ISO20022 Pain 01.01.09', MaxLength = 30; + PAYMULExportFileNameLbl: Label 'Export PAYMUL', MaxLength = 30; + CollectionCustomersDescLbl: Label 'Collection Customers', MaxLength = 80; + PaymentVendorDescLbl: Label 'Payment Vendor', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreatePaymentMethodNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreatePaymentMethodNL.Codeunit.al new file mode 100644 index 0000000000..fec25a6d82 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/2.Master Data/CreatePaymentMethodNL.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 11547 "Create Payment Method NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Method", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertPaymentMethod(var Rec: Record "Payment Method"; RunTrigger: Boolean) + var + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + case Rec.Code of + CreatePaymentMethod.Cash(): + ValidateRecordFields(Rec, CreateNLGLAccounts.PettyCash()); + end; + end; + + local procedure ValidateRecordFields(var PaymentMethod: Record "Payment Method"; BalAccountNo: Code[20]) + begin + PaymentMethod.Validate("Bal. Account No.", BalAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineNL.Codeunit.al new file mode 100644 index 0000000000..43038fe05c --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Bank/3.Transaction Data/CreateGenJournalLineNL.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 11544 "Create Gen. Journal Line NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -2757.62); + 20000: + Rec.Validate(Amount, -4136.43); + 30000: + Rec.Validate(Amount, -5515.24); + 40000: + Rec.Validate(Amount, -5515.24); + end; + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/CRM/2.Master Data/CreateElecTaxDeclarationNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/CRM/2.Master Data/CreateElecTaxDeclarationNL.Codeunit.al new file mode 100644 index 0000000000..635a0f17f9 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/CRM/2.Master Data/CreateElecTaxDeclarationNL.Codeunit.al @@ -0,0 +1,205 @@ +codeunit 11528 "Create Elec Tax Declaration NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertElecTaxDeclarationSetup(); + InsertElecTaxDeclVATCategory(); + end; + + local procedure InsertElecTaxDeclarationSetup() + var + SalespersonPurchaser: Record "Salesperson/Purchaser"; + ContosoBankNL: Codeunit "Contoso Bank NL"; + CreateNoSeriesNL: Codeunit "Create No. Series NL"; + CreateSalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + begin + SalespersonPurchaser.Get(CreateSalespersonPurchaser.OtisFalls()); + ContosoBankNL.InsertElecTaxDeclarationSetup(CreateNoSeriesNL.ElVATDecl(), CreateNoSeriesNL.ElICLDecl(), CopyStr(SalespersonPurchaser.Name, 1, 35), '6549-3216-7415'); + InsertElecTaxDeclVATCategory(); + end; + + local procedure InsertElecTaxDeclVATCategory() + var + ContosoBankNL: Codeunit "Contoso Bank NL"; + Category: Option " ",,,"1. By Us (Domestic)",,,"2. To Us (Domestic)",,,"3. By Us (Foreign)",,,"4. To Us (Foreign)",,,,,,"5. Calculation"; + ByUsDomestic: Option " ",,,"1a. Sales Amount (High Rate)",,,"1a. Tax Amount (High Rate)",,,"1b. Sales Amount (Low Rate)",,,"1b. Tax Amount (Low Rate)",,,"1c. Sales Amount (Other Non-Zero Rates)",,,"1c. Tax Amount (Other Non-Zero Rates)",,,"1d. Sales Amount (Private Use)",,,"1d. Tax Amount (Private Use)",,,"1e. Sales Amount (Non-Taxed)"; + ToUsDomestic: Option " ",,,"2a. Sales Amount (Tax Withheld)",,,"2a. Tax Amount (Tax Withheld)"; + ByUsForeign: Option " ",,,"3a. Sales Amount (Non-EU)",,,"3b. Sales Amount (EU)",,,"3c. Sales Amount (Installation)"; + ToUsForeign: Option " ",,,"4a. Purchase Amount (Non-EU)",,,"4a. Tax Amount (Non-EU)",,,"4b. Purchase Amount (EU)",,,"4b. Tax Amount (EU)"; + Calculation: Option " ",,,"5a. Tax Amount Due (Subtotal)",,,"5b. Tax Amount (Paid in Advance)",,,"5d. Small Entrepeneurs",,,"5e. Estimate (Previous Declaration)",,,"5f. Estimate (This Declaration)",,,"5g. Tax Amount To Pay/Claim"; + begin + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1A1(), Category::"1. By Us (Domestic)", ByUsDomestic::"1a. Sales Amount (High Rate)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1A2(), Category::"1. By Us (Domestic)", ByUsDomestic::"1a. Tax Amount (High Rate)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1B1(), Category::"1. By Us (Domestic)", ByUsDomestic::"1b. Sales Amount (Low Rate)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1B2(), Category::"1. By Us (Domestic)", ByUsDomestic::"1b. Tax Amount (Low Rate)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1C1(), Category::"1. By Us (Domestic)", ByUsDomestic::"1c. Sales Amount (Other Non-Zero Rates)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1C2(), Category::"1. By Us (Domestic)", ByUsDomestic::"1c. Tax Amount (Other Non-Zero Rates)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1D1(), Category::"1. By Us (Domestic)", ByUsDomestic::"1d. Sales Amount (Private Use)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1D2(), Category::"1. By Us (Domestic)", ByUsDomestic::"1d. Tax Amount (Private Use)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory1E(), Category::"1. By Us (Domestic)", ByUsDomestic::"1e. Sales Amount (Non-Taxed)", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory2A1(), Category::"2. To Us (Domestic)", ByUsDomestic::" ", ToUsDomestic::"2a. Sales Amount (Tax Withheld)", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory2A2(), Category::"2. To Us (Domestic)", ByUsDomestic::" ", ToUsDomestic::"2a. Tax Amount (Tax Withheld)", ByUsForeign::" ", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory3A(), Category::"3. By Us (Foreign)", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::"3a. Sales Amount (Non-EU)", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory3B(), Category::"3. By Us (Foreign)", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::"3b. Sales Amount (EU)", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory3C(), Category::"3. By Us (Foreign)", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::"3c. Sales Amount (Installation)", ToUsForeign::" ", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory4A1(), Category::"4. To Us (Foreign)", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::"4a. Purchase Amount (Non-EU)", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory4A2(), Category::"4. To Us (Foreign)", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::"4a. Tax Amount (Non-EU)", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory4B1(), Category::"4. To Us (Foreign)", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::"4b. Purchase Amount (EU)", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory4B2(), Category::"4. To Us (Foreign)", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::"4b. Tax Amount (EU)", Calculation::" ", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory5A(), Category::"5. Calculation", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::"5a. Tax Amount Due (Subtotal)", false); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory5B(), Category::"5. Calculation", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::"5b. Tax Amount (Paid in Advance)", false); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory5D(), Category::"5. Calculation", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::"5d. Small Entrepeneurs", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory5E(), Category::"5. Calculation", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::"5e. Estimate (Previous Declaration)", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory5F(), Category::"5. Calculation", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::"5f. Estimate (This Declaration)", true); + ContosoBankNL.InsertElecTaxDeclVATCategory(ElecVatCategory5G(), Category::"5. Calculation", ByUsDomestic::" ", ToUsDomestic::" ", ByUsForeign::" ", ToUsForeign::" ", Calculation::"5g. Tax Amount To Pay/Claim", false); + end; + + procedure ElecVatCategory1A1(): Code[10] + begin + exit(ElecVatCategory1A1Tok); + end; + + procedure ElecVatCategory1A2(): Code[10] + begin + exit(ElecVatCategory1A2Tok); + end; + + procedure ElecVatCategory1B1(): Code[10] + begin + exit(ElecVatCategory1B1Tok); + end; + + procedure ElecVatCategory1B2(): Code[10] + begin + exit(ElecVatCategory1B2Tok); + end; + + procedure ElecVatCategory1C1(): Code[10] + begin + exit(ElecVatCategory1C1Tok); + end; + + procedure ElecVatCategory1C2(): Code[10] + begin + exit(ElecVatCategory1C2Tok); + end; + + procedure ElecVatCategory1D1(): Code[10] + begin + exit(ElecVatCategory1D1Tok); + end; + + procedure ElecVatCategory1D2(): Code[10] + begin + exit(ElecVatCategory1D2Tok); + end; + + procedure ElecVatCategory1E(): Code[10] + begin + exit(ElecVatCategory1ETok); + end; + + procedure ElecVatCategory2A1(): Code[10] + begin + exit(ElecVatCategory2A1Tok); + end; + + procedure ElecVatCategory2A2(): Code[10] + begin + exit(ElecVatCategory2A2Tok); + end; + + procedure ElecVatCategory3A(): Code[10] + begin + exit(ElecVatCategory3ATok); + end; + + procedure ElecVatCategory3B(): Code[10] + begin + exit(ElecVatCategory3BTok); + end; + + procedure ElecVatCategory3C(): Code[10] + begin + exit(ElecVatCategory3CTok); + end; + + procedure ElecVatCategory4A1(): Code[10] + begin + exit(ElecVatCategory4A1Tok); + end; + + procedure ElecVatCategory4A2(): Code[10] + begin + exit(ElecVatCategory4A2Tok); + end; + + procedure ElecVatCategory4B1(): Code[10] + begin + exit(ElecVatCategory4B1Tok); + end; + + procedure ElecVatCategory4B2(): Code[10] + begin + exit(ElecVatCategory4B2Tok); + end; + + procedure ElecVatCategory5A(): Code[10] + begin + exit(ElecVatCategory5ATok); + end; + + procedure ElecVatCategory5B(): Code[10] + begin + exit(ElecVatCategory5BTok); + end; + + procedure ElecVatCategory5D(): Code[10] + begin + exit(ElecVatCategory5DTok); + end; + + procedure ElecVatCategory5E(): Code[10] + begin + exit(ElecVatCategory5ETok); + end; + + procedure ElecVatCategory5F(): Code[10] + begin + exit(ElecVatCategory5FTok); + end; + + procedure ElecVatCategory5G(): Code[10] + begin + exit(ElecVatCategory5GTok); + end; + + var + ElecVatCategory1A1Tok: Label '1A-1'; + ElecVatCategory1A2Tok: Label '1A-2'; + ElecVatCategory1B1Tok: Label '1B-1'; + ElecVatCategory1B2Tok: Label '1B-2'; + ElecVatCategory1C1Tok: Label '1C-1'; + ElecVatCategory1C2Tok: Label '1C-2'; + ElecVatCategory1D1Tok: Label '1D-1'; + ElecVatCategory1D2Tok: Label '1D-2'; + ElecVatCategory1ETok: Label '1E'; + ElecVatCategory2A1Tok: Label '2A-1'; + ElecVatCategory2A2Tok: Label '2A-2'; + ElecVatCategory3ATok: Label '3A'; + ElecVatCategory3BTok: Label '3B'; + ElecVatCategory3CTok: Label '3C'; + ElecVatCategory4A1Tok: Label '4A-1'; + ElecVatCategory4A2Tok: Label '4A-2'; + ElecVatCategory4B1Tok: Label '4B-1'; + ElecVatCategory4B2Tok: Label '4B-2'; + ElecVatCategory5ATok: Label '5A'; + ElecVatCategory5BTok: Label '5B'; + ElecVatCategory5DTok: Label '5D'; + ElecVatCategory5ETok: Label '5E'; + ElecVatCategory5FTok: Label '5F'; + ElecVatCategory5GTok: Label '5G'; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/CRM/2.Master Data/CreateVatStatementLineNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/CRM/2.Master Data/CreateVatStatementLineNL.Codeunit.al new file mode 100644 index 0000000000..3762af5902 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/CRM/2.Master Data/CreateVatStatementLineNL.Codeunit.al @@ -0,0 +1,94 @@ +codeunit 11545 "Create Vat Statement Line NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + CreateVATStatementLine(); + end; + + local procedure CreateVATStatementLine() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + ContosoVatStatementNL: Codeunit "Contoso VAT Statement NL"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateElecTaxDeclarationNL: Codeunit "Create Elec Tax Declaration NL"; + begin + ContosoVatStatementNL.SetOverwriteData(true); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 10000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SalesDomesticLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 20000, '1A-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith21BaseAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory1A1(), CreateElecTaxDeclarationNL.ElecVatCategory1A1()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 30000, '1A-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith21TaxAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory1A2(), CreateElecTaxDeclarationNL.ElecVatCategory1A2()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 40000, '1B-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith6BaseAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory1B1(), CreateElecTaxDeclarationNL.ElecVatCategory1B1()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 50000, '1B-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith6TaxAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory1B2(), CreateElecTaxDeclarationNL.ElecVatCategory1B2()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 60000, '1E', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, '', '', CreateElecTaxDeclarationNL.ElecVatCategory1E(), CreateElecTaxDeclarationNL.ElecVatCategory1E()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 70000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 80000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesDomesticLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 90000, '2A-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith21BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 100000, '2A-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith6BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 110000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '2A-1', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesDomesticBaseAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory2A1(), CreateElecTaxDeclarationNL.ElecVatCategory2A1()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 120000, '2A-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith21TaxAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 130000, '2A-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith6TaxAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 140000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '2A-2', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesDomesticTaxAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory2A2(), CreateElecTaxDeclarationNL.ElecVatCategory2A2()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 150000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SalesForeignnonEULbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 160000, '3A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith21BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 170000, '3A', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith6BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 180000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '3A', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, NonEUShipmentsLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory3A(), CreateElecTaxDeclarationNL.ElecVatCategory3A()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 190000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, '', '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 200000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SalesForeignEULbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 210000, '3B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith21BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 220000, '3B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith6BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 230000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '3B', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, EUShipmentsLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory3B(), CreateElecTaxDeclarationNL.ElecVatCategory3B()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 240000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, '', '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 250000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, PurchasesForeignLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 260000, '4A-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith21BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 270000, '4A-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith6BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 280000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '4A-1', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesForeignnonEUBaseAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory4A1(), CreateElecTaxDeclarationNL.ElecVatCategory4A1()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 290000, '4A-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith21TaxAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 300000, '4A-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith6TaxAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 310000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '4A-2', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesForeignnonEUTaxAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory4A2(), CreateElecTaxDeclarationNL.ElecVatCategory4A2()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 320000, '4B-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith21BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 330000, '4B-1', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, Taxedwith6BaseAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 340000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '4B-1', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesForeignEUBaseAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory4B1(), CreateElecTaxDeclarationNL.ElecVatCategory4B1()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 350000, '4B-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith21TaxAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 360000, '4B-2', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, Taxedwith6TaxAmountLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 370000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '4B-2', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesForeignEUTaxAmountLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory4B2(), CreateElecTaxDeclarationNL.ElecVatCategory4B2()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 380000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, '', '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 390000, '5A', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '1A-2|1B-2', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SubtotalSalesTaxLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory5A(), CreateElecTaxDeclarationNL.ElecVatCategory5A()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 400000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 410000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchasesDomesticLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 420000, '5B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, Taxedwith21Lbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 430000, '5B', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 0, Taxedwith6Lbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 440000, '', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '5B', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PaidinadvanceLbl, '', CreateElecTaxDeclarationNL.ElecVatCategory5B(), CreateElecTaxDeclarationNL.ElecVatCategory5B()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 450000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 460000, '5C', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '5A|5B', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SubtotalLbl, '', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 470000, '5D', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', '1580', CreateElecTaxDeclarationNL.ElecVatCategory5D(), CreateElecTaxDeclarationNL.ElecVatCategory5D()); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 480000, '5D-1', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', '1580', '', ''); + ContosoVatStatementNL.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), StatementNameLbl, 490000, '5G', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '5C|5D-1', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, '', '', CreateElecTaxDeclarationNL.ElecVatCategory5G(), CreateElecTaxDeclarationNL.ElecVatCategory5G()); + ContosoVatStatementNL.SetOverwriteData(false); + end; + + var + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + SalesDomesticLbl: Label 'Sales (Domestic)', MaxLength = 100; + Taxedwith21BaseAmountLbl: Label 'Taxed with 21% (Base Amount)', MaxLength = 100; + Taxedwith21TaxAmountLbl: Label 'Taxed with 21% (Tax Amount)', MaxLength = 100; + Taxedwith6BaseAmountLbl: Label 'Taxed with 6% (Base Amount)', MaxLength = 100; + Taxedwith6TaxAmountLbl: Label 'Taxed with 6% (Tax Amount)', MaxLength = 100; + PurchasesDomesticLbl: Label 'Purchases (Domestic)', MaxLength = 100; + PurchasesDomesticBaseAmountLbl: Label 'Purchases (Domestic; Base Amount)', MaxLength = 100; + PurchasesDomesticTaxAmountLbl: Label 'Purchases (Domestic; Tax Amount)', MaxLength = 100; + NonEUShipmentsLbl: Label 'Non-EU Shipments', MaxLength = 100; + SalesForeignEULbl: Label 'Sales (Foreign; EU)', MaxLength = 100; + EUShipmentsLbl: Label 'EU Shipments', MaxLength = 100; + PurchasesForeignLbl: Label 'Purchases (Foreign)', MaxLength = 100; + SalesForeignnonEULbl: Label 'Sales (Foreign; non-EU)', MaxLength = 100; + PurchasesForeignnonEUBaseAmountLbl: Label 'Purchases (Foreign; non-EU;Base Amount)', MaxLength = 100; + PurchasesForeignnonEUTaxAmountLbl: Label 'Purchases (Foreign; non-EU;Tax Amount)', MaxLength = 100; + PurchasesForeignEUBaseAmountLbl: Label 'Purchases (Foreign; EU; Base Amount)', MaxLength = 100; + PurchasesForeignEUTaxAmountLbl: Label 'Purchases (Foreign; EU; Tax Amount)', MaxLength = 100; + SubtotalSalesTaxLbl: Label 'Subtotal Sales Tax', MaxLength = 100; + Taxedwith21Lbl: Label 'Taxed with 21%', MaxLength = 100; + Taxedwith6Lbl: Label 'Taxed with 6%', MaxLength = 100; + PaidinadvanceLbl: Label 'Paid in advance', MaxLength = 100; + SubtotalLbl: Label 'Subtotal', MaxLength = 100; +} diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookNL.Codeunit.al new file mode 100644 index 0000000000..27da963139 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookNL.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11505 "Create FA Depreciation Book NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFAInsJnlTemplateNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFAInsJnlTemplateNL.Codeunit.al new file mode 100644 index 0000000000..5f8ca8fd12 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFAInsJnlTemplateNL.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 11509 "Create FA Ins Jnl. Template NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateFANoSeries: Codeunit "Create FA No Series"; + CreateFAInsJnlTemplate: Codeunit "Create FA Ins Jnl. Template"; + begin + ContosoFixedAsset.SetOverwriteData(true); + ContosoFixedAsset.InsertInsuranceJournalTemplate(CreateFAInsJnlTemplate.Insurance(), InsuranceJournalLbl, CreateFANoSeries.InsuranceJournal()); + ContosoFixedAsset.InsertInsuranceJournalBatch(CreateFAInsJnlTemplate.Insurance(), CreateFAInsJnlTemplate.Default(), DefaultJournalBatchLbl); + ContosoFixedAsset.SetOverwriteData(false); + end; + + var + InsuranceJournalLbl: Label 'Insurance Journal', MaxLength = 50; + DefaultJournalBatchLbl: Label 'Default Journal Batch', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFANoSeriesNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFANoSeriesNL.Codeunit.al new file mode 100644 index 0000000000..9ea038868a --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFANoSeriesNL.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11540 "Create FA No. Series NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + CreateFANoSeries: Codeunit "Create FA No Series"; + begin + UpdateFANoSeriesLine(CreateFANoSeries.FixedAssetGLJournal(), 10000, 'F00001', 'F01000', 1); + UpdateFANoSeriesLine(CreateFANoSeries.RecurringFixedAssetGLJournal(), 10000, 'RF00001', 'RF01000', 1); + end; + + local procedure UpdateFANoSeriesLine(NoSeriesCode: Code[20]; LineNo: Integer; StartingNo: Code[20]; EndingNo: Code[20]; IncrementbyNo: Integer) + var + NoSeriesLine: Record "No. Series Line"; + begin + NoSeriesLine.Get(NoSeriesCode, LineNo); + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Ending No.", EndingNo); + NoSeriesLine.Validate("Increment-by No.", IncrementbyNo); + NoSeriesLine.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFAPostingGrpNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFAPostingGrpNL.Codeunit.al new file mode 100644 index 0000000000..23a2a9c7e7 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/FA/1.Setup Data/CreateFAPostingGrpNL.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11541 "Create FA Posting Grp. NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroup(var Rec: Record "FA Posting Group") + var + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + case Rec.Code of + CreateFAPostingGroup.Equipment(): + ValidateFAPostingGroup(Rec, CreateNLGLAccounts.EquipmentsandTools(), CreateNLGLAccounts.EquipmentsandTools(), CreateNLGLAccounts.EquipmentsandTools(), CreateNLGLAccounts.EquipmentsandTools(), CreateNLGLAccounts.EquipmentsandTools(), CreateNLGLAccounts.EquipmentsandTools(), CreateNLGLAccounts.DepreciationFixedAssets(), CreateNLGLAccounts.DepreciationFixedAssets(), CreateNLGLAccounts.DepreciationFixedAssets()); + CreateFAPostingGroup.Goodwill(): + ValidateFAPostingGroup(Rec, CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill(), CreateNLGLAccounts.Goodwill()); + CreateFAPostingGroup.Plant(): + ValidateFAPostingGroup(Rec, CreateNLGLAccounts.Building(), CreateNLGLAccounts.Building(), CreateNLGLAccounts.Building(), CreateNLGLAccounts.Building(), CreateNLGLAccounts.Building(), CreateNLGLAccounts.Building(), CreateNLGLAccounts.DepreciationLandandProperty(), CreateNLGLAccounts.DepreciationLandandProperty(), CreateNLGLAccounts.DepreciationLandandProperty()); + CreateFAPostingGroup.Property(): + ValidateFAPostingGroup(Rec, CreateNLGLAccounts.Land(), CreateNLGLAccounts.Land(), CreateNLGLAccounts.Land(), CreateNLGLAccounts.Land(), CreateNLGLAccounts.Land(), CreateNLGLAccounts.Land(), CreateNLGLAccounts.DepreciationLandandProperty(), CreateNLGLAccounts.DepreciationLandandProperty(), CreateNLGLAccounts.DepreciationLandandProperty()); + CreateFAPostingGroup.Vehicles(): + ValidateFAPostingGroup(Rec, CreateNLGLAccounts.CarsandotherTransportEquipments(), CreateNLGLAccounts.CarsandotherTransportEquipments(), CreateNLGLAccounts.CarsandotherTransportEquipments(), CreateNLGLAccounts.CarsandotherTransportEquipments(), CreateNLGLAccounts.CarsandotherTransportEquipments(), CreateNLGLAccounts.CarsandotherTransportEquipments(), CreateNLGLAccounts.DepreciationFixedAssets(), CreateNLGLAccounts.DepreciationFixedAssets(), CreateNLGLAccounts.DepreciationFixedAssets()); + end; + end; + + local procedure ValidateFAPostingGroup(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAccOnDisposal: Code[20]; AccumDeprAccOnDisposal: Code[20]; GainsAccOnDisposal: Code[20]; LossesAccOnDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; DepreciationExpenseAcc: Code[20]; AcquisitionCostBalAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAccOnDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAccOnDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAccOnDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAccOnDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineNL.Codeunit.al new file mode 100644 index 0000000000..7d4b1b18c1 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleLineNL.Codeunit.al @@ -0,0 +1,149 @@ +codeunit 11533 "Create Acc. Schedule Line NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, '999999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, '7999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalPayrollLiabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateNLGLAccounts.GoodsforResale(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalLongtermLiabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 110000: + ValidateRecordFields(Rec, '0931', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 120000: + ValidateRecordFields(Rec, '1619', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 130000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalOtherCurrentLiabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 140000: + ValidateRecordFields(Rec, CreateGLAccount.TotalLiabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 150000: + ValidateRecordFields(Rec, '1749', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '8799', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalPayrollLiabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, '1619', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '7999', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 60000: + ValidateRecordFields(Rec, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 70000: + ValidateRecordFields(Rec, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalPayrollLiabilities(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, '1619', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalLongtermLiabilities() + '|' + '0931', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '10' + '..' + '30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '8799', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalBankingandInterest(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '9395', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalBankingandInterest(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, '8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, '4295', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + begin + ValidateRecordFields(Rec, '8799' + '|' + '8899' + '|' + '8990' + '|6959', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + Rec.Validate(Description, TotalRevenueLbl); + end; + 20000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalBankingandInterest() + '|' + '6099', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 50000: + ValidateRecordFields(Rec, '9395', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, '4099' + '|' + CreateNLGLAccounts.TotalExternalServices() + '|' + CreateNLGLAccounts.TotalBenefitsPension() + '|' + CreateNLGLAccounts.TotalInsurancesPersonnel() + '|' + '4699' + '|' + '4799' + '|' + CreateNLGLAccounts.TotalDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 90000: + ValidateRecordFields(Rec, CreateNLGLAccounts.TotalBankingandInterest() + '|' + '4099' + '|' + CreateNLGLAccounts.TotalExternalServices() + '|' + '4299' + '|' + CreateNLGLAccounts.TotalBenefitsPension() + '|' + CreateNLGLAccounts.TotalInsurancesPersonnel() + '|' + '4699' + '|' + '4799' + '|' + CreateNLGLAccounts.TotalDepreciation() + '|' + '6099' + '|' + '6959' + '|' + '8799' + '|' + '8899' + '|' + '8990', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, '8030', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 50000: + ValidateRecordFields(Rec, '8040', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 60000: + ValidateRecordFields(Rec, '8050', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 70000: + ValidateRecordFields(Rec, '8600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 80000: + ValidateRecordFields(Rec, '8000', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 100000: + ValidateRecordFields(Rec, '8030' + '..' + '8000', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 110000: + ValidateRecordFields(Rec, '8030' + '..' + '8000', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 120000: + begin + ValidateRecordFields(Rec, '8030' + '..' + '8000', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + Rec.Validate("Dimension 1 Totaling", ''); + end; + 130000: + ValidateRecordFields(Rec, '8030' + '..' + '8000', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchNL.Codeunit.al new file mode 100644 index 0000000000..eae13f8839 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateGenJournalBatchNL.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11529 "Create Gen. Journal Batch NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateGenJournalBatch(); + end; + + local procedure UpdateGenJournalBatch() + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + ValidateRecordFields(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Monthly(), CreateNLGLAccounts.PettyCash()); + ValidateRecordFields(CreateGenJournalTemplate.CashReceipts(), CreateGenJournalBatch.General(), CreateNLGLAccounts.PettyCash()); + ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.Cash(), CreateNLGLAccounts.PettyCash()); + ValidateRecordFields(CreateGenJournalTemplate.PaymentJournal(), CreateGenJournalBatch.General(), CreateNLGLAccounts.PettyCash()); + end; + + local procedure ValidateRecordFields(JournalTemplateName: Code[10]; BatchName: Code[10]; BalAccountNo: Code[20]) + var + GenJournalBatch: Record "Gen. Journal Batch"; + begin + GenJournalBatch.Get(JournalTemplateName, BatchName); + GenJournalBatch.Validate("Bal. Account No.", BalAccountNo); + GenJournalBatch.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupNL.Codeunit.al new file mode 100644 index 0000000000..4fca51610d --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupNL.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 11510 "Create General Ledger Setup NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + Currency.Get(CreateCurrency.EUR()); + ValidateRecordFields(CreateCurrency.EUR(), LocalCurrencySymbolLbl, Currency.Description, 0.001); + end; + + local procedure ValidateRecordFields(LCYCode: Code[10]; LocalCurrencySymbol: Text[10]; LocalCurrencyDescription: Text[60]; UnitAmountRoundingPrecision: Decimal) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Local Currency", GeneralLedgerSetup."Local Currency"::Euro); + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbol); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrencyDescription); + GeneralLedgerSetup.Validate("EMU Currency", true); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := UnitAmountRoundingPrecision; + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrencySymbolLbl: Label '€', Locked = true; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateNL.Codeunit.al new file mode 100644 index 0000000000..95275f64a4 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateNL.Codeunit.al @@ -0,0 +1,174 @@ +codeunit 11522 "Create Currency Ex. Rate NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 154.8801, 154.8801); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 36.2037, 36.2037); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 53.1231, 53.1231); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 48.957, 48.957); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 60.8674, 60.8674); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 37.9763, 37.9763); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 66.8932, 66.8932); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 84.1655, 84.1655); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.1226, 4.1226); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 18.09, 18.09); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.7373, 1.7373); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 64.8936, 64.8936); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 46.6812, 46.6812); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 13.5729, 13.5729); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 18.3015, 18.3015); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.5691, 0.5691); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0149, 0.0149); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.2305, 2.2305); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5413, 1.5413); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.8991, 0.8991); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.6768, 1.6768); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 12.7523, 12.7523); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 11.167, 11.167); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 27.9708, 27.9708); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0576, 0.0576); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.0532, 1.0532); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.8921, 15.8921); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 44.9609, 44.9609); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.0749, 2.0749); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 25.7095, 25.7095); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0407, 0.0407); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.5835, 1.5835); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.6397, 3.6397); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 28.3127, 28.3127); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 19.6548, 19.6548); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.3277, 15.3277); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 61.2545, 61.2545); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 14.6119, 14.6119); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.3843, 2.3843); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 97.5918, 97.5918); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 0.5285, 0.5285); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 82.6123, 82.6123); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0769, 0.0769); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 100.49, 100.49); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.7435, 0.7435); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 371.0006, 371.0006); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.1313, 1.1313); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 12.3754, 12.3754); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateCurrencyNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateCurrencyNL.Codeunit.al new file mode 100644 index 0000000000..d5668f1409 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateCurrencyNL.Codeunit.al @@ -0,0 +1,75 @@ +codeunit 11536 "Create Currency NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RUB(), + CreateCurrency.RSD(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec); + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency) + begin + Currency.Validate("Realized Gains Acc.", ''); + Currency.Validate("Realized Losses Acc.", ''); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateFreelyTransferMaxNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateFreelyTransferMaxNL.Codeunit.al new file mode 100644 index 0000000000..c400e6eb71 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateFreelyTransferMaxNL.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 11525 "Create Freely Transfer Max. NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoBankNL: Codeunit "Contoso Bank NL"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateCurrency: Codeunit "Create Currency"; + begin + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.AT(), '', 12500); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.BE(), '', 9000); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.CH(), CreateCurrency.CHF(), 18000); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.DE(), '', 12500); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.DK(), CreateCurrency.DKK(), 21500); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.EL(), '', 2900); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.ES(), '', 12500); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.FI(), '', 2900); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.FR(), '', 12500); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.GB(), CreateCurrency.GBP(), 8000); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.IE(), '', 2900); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.IS(), CreateCurrency.ISK(), 208000); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.IT(), '', 2900); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.LU(), '', 2900); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.NO(), CreateCurrency.NOK(), 23300); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.PT(), '', 2900); + ContosoBankNL.InsertFreelyTransferableMaximum(CreateCountryRegion.SE(), CreateCurrency.SEK(), 24300); + end; + + var +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreatePostingGroupsNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreatePostingGroupsNL.Codeunit.al new file mode 100644 index 0000000000..661d123f02 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreatePostingGroupsNL.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 11538 "Create Posting Groups NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + InsertVATProductPostingGroup(); + UpdateGeneralPostingSetup(); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.FullNormal(), StrSubstNo(VATOnlyInvoicesDescriptionLbl, '21')); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.ServNormal(), StrSubstNo(MiscellaneousVATDescriptionLbl, '21')); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.Standard(), StrSubstNo(NormalVatDescriptionLbl, '21')); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.FullRed(), StrSubstNo(VATOnlyInvoicesDescriptionLbl, '9')); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.Reduced(), StrSubstNo(ReducedVatDescriptionLbl, '9')); + ContosoPostingGroup.InsertVATProductPostingGroup(CreateVATPostingGroups.ServRed(), StrSubstNo(MiscellaneousVATDescriptionLbl, '9')); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure UpdateGeneralPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateNLGLAccounts.CostofMaterials(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale(), '', '', '', '', '', CreateNLGLAccounts.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.ZeroPostingGroup(), '', '', CreateNLGLAccounts.CostofMaterials(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale(), '', '', '', '', '', CreateNLGLAccounts.CostofMaterials(), '', ''); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateNLGLAccounts.ResaleofGoods(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.CostofMaterials(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateNLGLAccounts.SalesofServiceWork(), CreateNLGLAccounts.OtherExternalServices(), CreateNLGLAccounts.CostofLabor(), CreateNLGLAccounts.OtherExternalServices(), CreateNLGLAccounts.OtherExternalServices(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.CostofLabor(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateNLGLAccounts.ResaleofGoods(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.CostofMaterials(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.CostofMaterials(), '', ''); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateNLGLAccounts.ResaleofGoods(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.CostofMaterials(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.CostofMaterials(), '', ''); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateNLGLAccounts.ResaleofGoods(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.CostofMaterials(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateNLGLAccounts.SalesofServiceWork(), CreateNLGLAccounts.OtherExternalServices(), CreateNLGLAccounts.CostofLabor(), CreateNLGLAccounts.OtherExternalServices(), CreateNLGLAccounts.OtherExternalServices(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.CostofLabor(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ZeroPostingGroup(), CreateNLGLAccounts.ResaleofGoods(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.CostofMaterials(), CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.CostofMaterials(), '', ''); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + var + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Standard VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Reduced VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateResourceNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateResourceNL.Codeunit.al new file mode 100644 index 0000000000..faaa207054 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateResourceNL.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11511 "Create Resource NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, AmsterdamCityLbl, 77, 84.7, 155, PostCode1053UTLbl, 20050525D); + CreateResource.Lina(): + ValidateRecordFields(Rec, ApeldoornCityLbl, 93, 102.3, 186, PostCode3781ENLbl, 19990101D); + CreateResource.Marty(): + ValidateRecordFields(Rec, AmsterdamCityLbl, 70, 77, 139, PostCode1053UTLbl, 19960301D); + CreateResource.Terry(): + ValidateRecordFields(Rec, AmsterdamCityLbl, 77, 84.7, 155, PostCode1053UTLbl, 19960301D); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; UnitPrice: Decimal; PostCode: Code[20]; EmploymentDate: Date) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Post Code", PostCode); + Resource.Validate("Employment Date", EmploymentDate); + end; + + var + AmsterdamCityLbl: Label 'Amsterdam', MaxLength = 30; + ApeldoornCityLbl: Label 'Apeldoorn', MaxLength = 30; + PostCode1053UTLbl: Label '1053 UT', MaxLength = 20; + PostCode3781ENLbl: Label '3781 EN', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateVATPostingGroupsNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateVATPostingGroupsNL.Codeunit.al new file mode 100644 index 0000000000..4fb1f0a04c --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateVATPostingGroupsNL.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 11534 "Create VAT Posting Groups NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateVATPostingSetup() + end; + + local procedure UpdateVATPostingSetup() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoPostingSetup.SetOverwriteData(true); + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Sales Tax", 'E', '', '', false) + else begin + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Reduced(), CreateNLGLAccounts.SalesVATReduced(), CreateNLGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Standard(), CreateNLGLAccounts.SalesVATNormal(), CreateNLGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', CreateVATPostingGroups.Zero(), CreateNLGLAccounts.MiscVATPayables(), CreateNLGLAccounts.MiscVATReceivables(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), CreateNLGLAccounts.SalesVATReduced(), CreateNLGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 9, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), CreateNLGLAccounts.SalesVATNormal(), CreateNLGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 21, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), CreateNLGLAccounts.MiscVATPayables(), CreateNLGLAccounts.MiscVATReceivables(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), CreateNLGLAccounts.SalesVATReduced(), CreateNLGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 9, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateNLGLAccounts.MiscVATPayables(), CreateVATPostingGroups.Reduced(), true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), CreateNLGLAccounts.SalesVATNormal(), CreateNLGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 21, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateNLGLAccounts.MiscVATPayables(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), CreateVATPostingGroups.Zero(), CreateNLGLAccounts.MiscVATPayables(), CreateNLGLAccounts.MiscVATReceivables(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), CreateNLGLAccounts.SalesVATReduced(), CreateNLGLAccounts.PurchaseVATReduced(), CreateVATPostingGroups.Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), CreateNLGLAccounts.SalesVATNormal(), CreateNLGLAccounts.PurchaseVATNormal(), CreateVATPostingGroups.Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), CreateVATPostingGroups.Zero(), CreateNLGLAccounts.MiscVATPayables(), CreateNLGLAccounts.MiscVATReceivables(), CreateVATPostingGroups.Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', CreateVATPostingGroups.Zero(), false); + end; + ContosoPostingSetup.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostingGrpNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostingGrpNL.Codeunit.al new file mode 100644 index 0000000000..32286ca3b0 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostingGrpNL.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11535 "Create VAT Setup PostingGrp NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVatPostingGroup: Codeunit "Create VAT Posting Groups"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + ContosoVATStatement.SetOverwriteData(true); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.FullNormal(), true, 0, '', '', true, 1, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '21')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.FullRed(), true, 0, '', '', true, 1, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '9')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Reduced(), true, 9, CreateNLGLAccounts.SalesVATReduced(), CreateNLGLAccounts.PurchaseVATReduced(), true, 1, ReducedVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.ServNormal(), true, 0, '', '', true, 1, StrSubstNo(MiscellaneousVATDescriptionLbl, '21')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.ServRed(), true, 0, '', '', true, 1, StrSubstNo(MiscellaneousVATDescriptionLbl, '9')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Standard(), true, 21, CreateNLGLAccounts.SalesVATNormal(), CreateNLGLAccounts.PurchaseVATNormal(), true, 1, NormalVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Zero(), true, 0, CreateNLGLAccounts.MiscVATPayables(), CreateNLGLAccounts.MiscVATReceivables(), true, 1, NoVatDescriptionLbl); + ContosoVATStatement.SetOverwriteData(false); + end; + + var + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Setup for EXPORT / REDUCED', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Setup for EXPORT / STANDARD', MaxLength = 100; + NoVatDescriptionLbl: Label 'Setup for EXPORT / ZERO', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationNL.Codeunit.al new file mode 100644 index 0000000000..2bba89f3ca --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationNL.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 11516 "Create Company Information NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + begin + ValidateRecordSEelds(CityLbl, PostCodeLbl, VatRegNoLbl); + end; + + local procedure ValidateRecordSEelds(City: Text[30]; PostCode: Code[20]; VatRegNo: Text[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCodeLbl); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + CompanyInformation.Validate("VAT Registration No.", VatRegNo); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'Apeldoorn', Maxlength = 30, Locked = true; + PostCodeLbl: Label '1111 DA', MaxLength = 20; + VatRegNoLbl: Label 'NL777777770B77', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateDataExchangeNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateDataExchangeNL.Codeunit.al new file mode 100644 index 0000000000..9e29cf8751 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateDataExchangeNL.Codeunit.al @@ -0,0 +1,15 @@ +codeunit 11548 "Create Data Exchange NL" +{ + trigger OnRun() + var + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + FolderNameLbl: Label 'PostingExchangeDefinitions', MaxLength = 100, Locked = true; + begin + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + SEPACAMTNL() + '.xml'); + end; + + procedure SEPACAMTNL(): Code[20] + begin + exit('SEPA CAMT-NL') + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateNoSeriesNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateNoSeriesNL.Codeunit.al new file mode 100644 index 0000000000..fad3442fe0 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateNoSeriesNL.Codeunit.al @@ -0,0 +1,86 @@ +codeunit 11515 "Create No. Series NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoNoSeries: Codeunit "Contoso No Series"; + ContosoNoSeriesNL: Codeunit "Contoso No Series NL"; + begin + ContosoNoSeries.InsertNoSeries(ELICLDecl(), ELICLDeclLbl, 'ICP00001', 'ICP99999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(ELVATDecl(), ELVATDeclLbl, 'VAT00001', 'VAT99999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + + ContosoNoSeriesNL.InsertNoSeries(AbnBankJnl(), ABNBankJournalLbl, 'ABNBANK0001', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeriesNL.InsertNoSeries(Cash(), CashLbl, 'CASH0001', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeriesNL.InsertNoSeries(GiroJnl(), GiroJnlLbl, 'GIRO0001', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeriesNL.InsertNoSeries(TelebankingIdentification(), TelebankingIdentificationLbl, '1', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeriesNL.InsertNoSeries(PaymentsProcess(), PaymentsProcessLbl, 'PAYMTPROC1', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeriesNL.InsertNoSeries(ReceiptsProcess(), ReceiptsProcessLbl, 'RECPTSPROC1', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeriesNL.InsertNoSeries(TelebankingRunNos(), TelebankingRunNosLbl, '1', 1, Enum::"No. Series Implementation"::Normal, true); + end; + + procedure AbnBankJnl(): Code[20] + begin + exit(AbnBankJnlTok); + end; + + procedure Cash(): Code[20] + begin + exit(CashTok); + end; + + procedure ElICLDecl(): Code[20] + begin + exit(ELICLDeclTok); + end; + + procedure ElVATDecl(): Code[20] + begin + exit(ELVATDeclTok); + end; + + procedure GiroJnl(): Code[20] + begin + exit(GiroJnlTok); + end; + + procedure TelebankingIdentification(): Code[20] + begin + exit(TelebankingIdentificationTok); + end; + + procedure PaymentsProcess(): Code[20] + begin + exit(PaymentsProcessTok); + end; + + procedure ReceiptsProcess(): Code[20] + begin + exit(ReceiptsProcessTok); + end; + + procedure TelebankingRunNos(): Code[20] + begin + exit(TelebankingRunNosTok); + end; + + var + AbnBankJnlTok: Label 'ABNBANKJNL', MaxLength = 20, Locked = true; + ABNBankJournalLbl: Label 'ABN Bank Journal', MaxLength = 100; + CashTok: Label 'CASH', MaxLength = 20, Locked = true; + CashLbl: Label 'Cash Journal', MaxLength = 100; + ELICLDeclTok: Label 'ELICLDECL', MaxLength = 20, Locked = true; + ELICLDeclLbl: Label 'Elec. ICL Declarations', MaxLength = 100; + ELVATDeclTok: Label 'ELVATDECL', MaxLength = 20, Locked = true; + ELVATDeclLbl: Label 'Elec. VAT Declarations', MaxLength = 100; + GiroJnlTok: Label 'GIROJNL', MaxLength = 20, Locked = true; + GiroJnlLbl: Label 'Giro Journal', MaxLength = 100; + TelebankingIdentificationTok: Label 'IDENTIFIC', MaxLength = 20, Locked = true; + TelebankingIdentificationLbl: Label 'Telebanking Identification', MaxLength = 100; + PaymentsProcessTok: Label 'PAYMTPROC', MaxLength = 20, Locked = true; + PaymentsProcessLbl: Label 'Payments in Process', MaxLength = 100; + ReceiptsProcessTok: Label 'RECPTSPROC', MaxLength = 20, Locked = true; + ReceiptsProcessLbl: Label 'Receipts in Process', MaxLength = 100; + TelebankingRunNosTok: Label 'RUNNO', MaxLength = 20, Locked = true; + TelebankingRunNosLbl: Label 'Telebanking Run Nos.', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeNL.Codeunit.al new file mode 100644 index 0000000000..adf01ea722 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeNL.Codeunit.al @@ -0,0 +1,243 @@ +codeunit 11500 "Create Post Code NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostCodeNL: Codeunit "Contoso Post Code NL"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeNL.InsertPostCode('1009 AG', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1009 TT', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1012 LX', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1017 PT', ApeldoornLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1053 UT', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1066 PQ', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1111 DA', ApeldoornLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1324 JW', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1530 JM', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1674 CM', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('1705 RE', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('2521 BR', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('2574 HV', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('2574 HV', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('3526 XG', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('3772 TG', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('3781 EN', ApeldoornLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('3872 LL', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('4338 WT', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('5132 EE', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('5141 GP', ApeldoornLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('6371 GN', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('6562 XT', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('6811 GV', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('6827 BP', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('7201 HW', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('7202 BP', ZutphenLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('7321 HE', ApeldoornLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('7413 WG', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('8071 LM', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('8994 RO', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('9877 KR', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + + ContosoPostCodeNL.InsertPostCode('1012 LX', RotterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1017 PT', AmsterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1025 EW', AmsterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1066 PQ', RotterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1068 TC', AmsterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1111 DA', AmsterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1211 EC', HilversumLbl, ''); + ContosoPostCodeNL.InsertPostCode('1313 KT', RotterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1435 CS', RijsenhoutLbl, ''); + ContosoPostCodeNL.InsertPostCode('1506 XE', ZaandamLbl, ''); + ContosoPostCodeNL.InsertPostCode('1507 ZZ', JaarsveldLbl, ''); + ContosoPostCodeNL.InsertPostCode('1797 FM', DenHoornLbl, ''); + ContosoPostCodeNL.InsertPostCode('1827 MK', AlkmaarLbl, ''); + ContosoPostCodeNL.InsertPostCode('2131 HD', RotterdamLbl, ''); + ContosoPostCodeNL.InsertPostCode('2521 BR', SGravenhageLbl, ''); + ContosoPostCodeNL.InsertPostCode('2587 JJ', DenHaagLbl, ''); + ContosoPostCodeNL.InsertPostCode('3056 DH', ZoetermeerLbl, ''); + ContosoPostCodeNL.InsertPostCode('3421 AC', OudewaterLbl, ''); + ContosoPostCodeNL.InsertPostCode('3421 AR', OudewaterLbl, ''); + ContosoPostCodeNL.InsertPostCode('3437 GY', NieuwegeinLbl, ''); + ContosoPostCodeNL.InsertPostCode('3512 GC', UtrechtLbl, ''); + ContosoPostCodeNL.InsertPostCode('3512 ZD', UtrechtLbl, ''); + ContosoPostCodeNL.InsertPostCode('3526 XG', UtrechtLbl, ''); + ContosoPostCodeNL.InsertPostCode('3701 GH', ZeistLbl, ''); + ContosoPostCodeNL.InsertPostCode('3770 AA', BarneveldLbl, ''); + ContosoPostCodeNL.InsertPostCode('3781 EN', VoorthuizenLbl, ''); + ContosoPostCodeNL.InsertPostCode('3811 LB', AmersfoortLbl, ''); + ContosoPostCodeNL.InsertPostCode('4814 AD', BredaLbl, ''); + ContosoPostCodeNL.InsertPostCode('4826 VB', BredaLbl, ''); + ContosoPostCodeNL.InsertPostCode('5141 GP', WaalwijkLbl, ''); + ContosoPostCodeNL.InsertPostCode('5301 BA', ZaltbommelLbl, ''); + ContosoPostCodeNL.InsertPostCode('6278 KL', BeutenakenLbl, ''); + ContosoPostCodeNL.InsertPostCode('6371 GN', LandgraafLbl, ''); + ContosoPostCodeNL.InsertPostCode('6432 RT', LeimuidenLbl, ''); + ContosoPostCodeNL.InsertPostCode('6713 AL', EdeLbl, ''); + ContosoPostCodeNL.InsertPostCode('6811 GV', ArnhemLbl, ''); + ContosoPostCodeNL.InsertPostCode('7064 KH', SilvoldeLbl, ''); + ContosoPostCodeNL.InsertPostCode('7201 HW', ZutphenLbl, ''); + ContosoPostCodeNL.InsertPostCode('7311 KA', ApeldoornLbl, ''); + ContosoPostCodeNL.InsertPostCode('7325 AL', ApeldoornLbl, ''); + ContosoPostCodeNL.InsertPostCode('7413 WG', DeventerLbl, ''); + ContosoPostCodeNL.InsertPostCode('8022 AA', ZwolleLbl, ''); + ContosoPostCodeNL.InsertPostCode('8032 ZP', ZwolleLbl, ''); + ContosoPostCodeNL.InsertPostCode('8071 BX', NunspeetLbl, ''); + ContosoPostCodeNL.InsertPostCode('8224 JC', LelystadLbl, ''); + ContosoPostCodeNL.InsertPostCode('8426 PQ', HoensbroekLbl, ''); + ContosoPostCodeNL.InsertPostCode('8441 HA', HeerenveenLbl, ''); + ContosoPostCodeNL.InsertPostCode('9417 AB', SpierLbl, ''); + ContosoPostCodeNL.InsertPostCode('9418 HH', OranjeLbl, ''); + ContosoPostCodeNL.InsertPostCode('9671 EV', WinschotenLbl, ''); + ContosoPostCodeNL.InsertPostCode('9743 CL', GroningenLbl, ''); + ContosoPostCodeNL.InsertPostCode('9745 AD', GroesbeekLbl, ''); + end; + + var + + AmsterdamLbl: Label 'Amsterdam', MaxLength = 30; + WaalwijkLbl: Label 'Waalwijk', MaxLength = 30; + ArnhemLbl: Label 'Arnhem', MaxLength = 30; + ApeldoornLbl: Label 'Apeldoorn', MaxLength = 30; + ZaandamLbl: Label 'Zaandam', MaxLength = 30; + ZutphenLbl: Label 'Zutphen', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + RotterdamLbl: Label 'Rotterdam', MaxLength = 30; + HilversumLbl: Label 'Hilversum', MaxLength = 30; + DenHoornLbl: Label 'Den Hoorn', MaxLength = 30; + AlkmaarLbl: Label 'Alkmaar', MaxLength = 30; + RijsenhoutLbl: Label 'Rijsenhout', MaxLength = 30; + JaarsveldLbl: Label 'Jaarsveld', MaxLength = 30; + OudewaterLbl: Label 'Oudewater', MaxLength = 30; + UtrechtLbl: Label 'Utrecht', MaxLength = 30; + ZwolleLbl: Label 'Zwolle', MaxLength = 30; + SGravenhageLbl: Label 's-Gravenhage', MaxLength = 30; + DenHaagLbl: Label 'Den Haag', MaxLength = 30; + ZoetermeerLbl: Label 'Zoetermeer', MaxLength = 30; + NieuwegeinLbl: Label 'Nieuwegein', MaxLength = 30; + BarneveldLbl: Label 'Barneveld', MaxLength = 30; + BredaLbl: Label 'Breda', MaxLength = 30; + BeutenakenLbl: Label 'Beutenaken', MaxLength = 30; + GroesbeekLbl: Label 'Groesbeek', MaxLength = 30; + GroningenLbl: Label 'Groningen', MaxLength = 30; + HeerenveenLbl: Label 'Heerenveen', MaxLength = 30; + NunspeetLbl: Label 'Nunspeet', MaxLength = 30; + HoensbroekLbl: Label 'Hoensbroek', MaxLength = 30; + DeventerLbl: Label 'Deventer', MaxLength = 30; + EdeLbl: Label 'Ede', MaxLength = 30; + ZeistLbl: Label 'Zeist', MaxLength = 30; + LeimuidenLbl: Label 'Leimuiden', MaxLength = 30; + SpierLbl: Label 'Spier', MaxLength = 30; + SilvoldeLbl: Label 'Silvolde', MaxLength = 30; + VoorthuizenLbl: Label 'Voorthuizen', MaxLength = 30; + OranjeLbl: Label 'Oranje', MaxLength = 30; + LandgraafLbl: Label 'Landgraaf', MaxLength = 30; + LelystadLbl: Label 'Lelystad', MaxLength = 30; + AmersfoortLbl: Label 'Amersfoort', MaxLength = 30; + ZaltbommelLbl: Label 'Zaltbommel', MaxLength = 30; + WinschotenLbl: Label 'Winschoten', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateSourceCodeNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateSourceCodeNL.Codeunit.al new file mode 100644 index 0000000000..6f7b486ac4 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Foundation/1.Setup Data/CreateSourceCodeNL.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 11543 "Create Source Code NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoSourceCode: Codeunit "Contoso Source Code"; + begin + ContosoSourceCode.InsertSourceCode(ABNBankJnl(), ABNBankJnlDescLbl); + ContosoSourceCode.InsertSourceCode(GiroJnl(), GiroJnlDescLbl); + ContosoSourceCode.InsertSourceCode(PaymtProc(), PaymtProcDescLbl); + ContosoSourceCode.InsertSourceCode(RecptsProc(), RecptsProcDescLbl); + ContosoSourceCode.InsertSourceCode(Start(), OpeningEntriesLbl); + end; + + procedure ABNBankJnl(): Code[10] + begin + exit(ABNBankJnlTok) + end; + + procedure GiroJnl(): Code[10] + begin + exit(GiroJnlTok) + end; + + procedure PaymtProc(): Code[10] + begin + exit(PaymtProcTok) + end; + + procedure RecptsProc(): Code[10] + begin + exit(RecptsProcTok) + end; + + procedure Start(): Code[10] + begin + exit(StartTok) + end; + + var + ABNBankJnlTok: Label 'ABNBANKJNL', MaxLength = 10, Locked = true; + ABNBankJnlDescLbl: Label 'ABN Bank Journal', MaxLength = 100; + GiroJnlTok: Label 'GIROJNL', MaxLength = 10, Locked = true; + GiroJnlDescLbl: Label 'Giro Journal', MaxLength = 100; + PaymtProcTok: Label 'PAYMTPROC', MaxLength = 10, Locked = true; + PaymtProcDescLbl: Label 'Payments in Process', MaxLength = 100; + RecptsProcTok: Label 'RECPTSPROC', MaxLength = 10, Locked = true; + RecptsProcDescLbl: Label 'Receipts in Process', MaxLength = 100; + StartTok: Label 'START', MaxLength = 10, Locked = true; + OpeningEntriesLbl: Label 'Opening Entries', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/HR/2.Master Data/CreateEmployeeNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/HR/2.Master Data/CreateEmployeeNL.Codeunit.al new file mode 100644 index 0000000000..2b3b308b3b --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/HR/2.Master Data/CreateEmployeeNL.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 11507 "Create Employee NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployeeEmail(CreateEmployee.ManagingDirector()); + UpdateEmployeeEmail(CreateEmployee.SalesManager()); + UpdateEmployeeEmail(CreateEmployee.Designer()); + UpdateEmployeeEmail(CreateEmployee.ProductionAssistant()); + UpdateEmployeeEmail(CreateEmployee.ProductionManager()); + UpdateEmployeeEmail(CreateEmployee.Secretary()); + UpdateEmployeeEmail(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployeeEmail(EmployeeNo: Code[20]) + var + Employee: Record Employee; + CreateEmployee: Codeunit "Create Employee"; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate("Emplymt. Contract Code", ''); + Employee.Validate("Statistics Group Code", ''); + Employee.Validate("Union Code", ''); + Employee.Validate(Initials, GetInitials(Employee)); + if EmployeeNo = CreateEmployee.InventoryManager() then + Employee.Validate("Job Title", ProductionAssistantLbl); + Employee.Modify(true); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateNL.Codeunit.al new file mode 100644 index 0000000000..2f9d07ab48 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateNL.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 11506 "Create Employee Template NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeeTemplate: Codeunit "Create Employee Template"; + begin + UpdateEmployeeTemplate(CreateEmployeeTemplate.AdminCode()); + UpdateEmployeeTemplate(CreateEmployeeTemplate.ITCode()); + end; + + local procedure UpdateEmployeeTemplate(EmployeeTemplateCode: Code[20]) + var + EmployeeTemplate: Record "Employee Templ."; + begin + EmployeeTemplate.Get(EmployeeTemplateCode); + EmployeeTemplate.Validate("Employee Posting Group", ''); + EmployeeTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupNL.Codeunit.al new file mode 100644 index 0000000000..aeaa648048 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupNL.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 11530 "Create Inv. Posting Setup NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Inventory Posting Setup", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertInventoryPostingSetup(var Rec: Record "Inventory Posting Setup") + var + CreateLocation: Codeunit "Create Location"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + case Rec."Location Code" of + CreateLocation.EastLocation(): + ValidateInventoryPostingSetup(Rec, CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale()); + CreateLocation.MainLocation(): + ValidateInventoryPostingSetup(Rec, CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale()); + CreateLocation.OutLogLocation(): + ValidateInventoryPostingSetup(Rec, CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale()); + CreateLocation.OwnLogLocation(): + ValidateInventoryPostingSetup(Rec, CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale()); + CreateLocation.WestLocation(): + ValidateInventoryPostingSetup(Rec, CreateNLGLAccounts.GoodsforResale(), CreateNLGLAccounts.GoodsforResale()); + '': + ValidateInventoryPostingSetup(Rec, CreateGLAccount.FinishedGoods(), ''); + end; + end; + + local procedure ValidateInventoryPostingSetup(var InventoryPostingSetup: Record "Inventory Posting Setup"; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]) + begin + InventoryPostingSetup.Validate("Inventory Account", InventoryAccount); + InventoryPostingSetup.Validate("Inventory Account (Interim)", InventoryAccountInterim); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateItemNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateItemNL.Codeunit.al new file mode 100644 index 0000000000..8351e82067 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateItemNL.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 11514 "Create Item NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1005.8, 784.6); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 435.8, 339.9); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 651.1, 508); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 189.8, 0); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 55.2, 43.1); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 126.4, 0); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 235, 0); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 343.5, 0); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 191, 148.9); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 193.7, 151.1); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1404.3, 1095.3); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 191, 148.9); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateLocationNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateLocationNL.Codeunit.al new file mode 100644 index 0000000000..dcba825ca8 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Inventory/2.Master Data/CreateLocationNL.Codeunit.al @@ -0,0 +1,54 @@ +codeunit 11513 "Create Location NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMainLocation(); + end; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocaion.EastLocation(): + ValidateRecordFields(Rec, ApeldoornCityLbl, PostCode5141GPLbl, CreateCountryRegion.GB()); + CreateLocaion.WestLocation(): + ValidateRecordFields(Rec, ZaandamCityLbl, PostCode1324JWLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure UpdateMainLocation() + var + Location: Record Location; + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Get(CreateLocaion.MainLocation()); + Location.Validate(City, AmsterdamCityLbl); + Location.Validate("Post Code", PostCode7413WGLbl); + Location."Country/Region Code" := CreateCountryRegion.GB(); + Location.Modify(true); + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CountryRegionCode; + end; + + var + AmsterdamCityLbl: Label 'Amsterdam', MaxLength = 30; + ApeldoornCityLbl: Label 'Apeldoorn', MaxLength = 30; + ZaandamCityLbl: Label 'Zaandam', MaxLength = 30; + PostCode5141GPLbl: Label '5141 GP', MaxLength = 20; + PostCode7413WGLbl: Label '7413 WG', MaxLength = 20; + PostCode1324JWLbl: Label '1324 JW', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueNL.Codeunit.al new file mode 100644 index 0000000000..418ddce942 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueNL.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11504 "Create Purch. Dim. Value NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorBankAcountNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorBankAcountNL.Codeunit.al new file mode 100644 index 0000000000..18a1b0b56d --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorBankAcountNL.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11524 "Create Vendor Bank Acount NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + Vendor: Record Vendor; + CreateVendor: Codeunit "Create Vendor"; + ContosoCustomerVendorNL: Codeunit "Contoso Customer/Vendor NL"; + CreateBankAccountNL: Codeunit "Create Bank Account NL"; + begin + Vendor.Get(CreateVendor.ExportFabrikam()); + ContosoCustomerVendorNL.InsertVendorBankAccount(Vendor."No.", CreateBankAccountNL.POSTBANK(), ExportFabrikamBankAccountNoLbl, Vendor.Name, Vendor.Address, Vendor.City, Vendor."Post Code"); + + Vendor.Get(CreateVendor.DomesticFirstUp()); + ContosoCustomerVendorNL.InsertVendorBankAccount(Vendor."No.", CreateBankAccountNL.POSTBANK(), DomesticFirstUpBankAccountNoLbl, Vendor.Name, Vendor.Address, Vendor.City, Vendor."Post Code"); + + Vendor.Get(CreateVendor.EUGraphicDesign()); + ContosoCustomerVendorNL.InsertVendorBankAccount(Vendor."No.", CreateBankAccountNL.POSTBANK(), EUGraphicDesignBankAccountNoLbl, Vendor.Name, Vendor.Address, Vendor.City, Vendor."Post Code"); + + Vendor.Get(CreateVendor.DomesticWorldImporter()); + ContosoCustomerVendorNL.InsertVendorBankAccount(Vendor."No.", CreateBankAccountNL.POSTBANK(), DomesticWorldImporterBankAccountNoLbl, Vendor.Name, Vendor.Address, Vendor.City, Vendor."Post Code"); + end; + + var + ExportFabrikamBankAccountNoLbl: Label 'P5234567', MaxLength = 30; + DomesticFirstUpBankAccountNoLbl: Label 'P6234567', MaxLength = 30; + EUGraphicDesignBankAccountNoLbl: Label 'P7234567', MaxLength = 30; + DomesticWorldImporterBankAccountNoLbl: Label 'P8234567', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorNL.Codeunit.al new file mode 100644 index 0000000000..b581777cba --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorNL.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 11520 "Create Vendor NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + Rec.Validate("VAT Registration No.", ExportFabrikamVatRegNoLbl); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, ZaandamCityLbl, DomesticFirstUpVatRegNoLbl, PostCode3872LLLbl); + CreateVendor.EUGraphicDesign(): + Rec.Validate("VAT Registration No.", EUGraphicDesignVatRegNoLbl); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, ApeldoornCityLbl, DomesticWorldImporterVatRegNoLbl, PostCode5141GPLbl); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, WaalwijkCityLbl, DomesticNodPublisherVatRegNoLbl, PostCode8071LMLbl); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("VAT Registration No.", VatRegNo); + end; + + var + ZaandamCityLbl: Label 'Zaandam', MaxLength = 30; + ApeldoornCityLbl: Label 'Apeldoorn', MaxLength = 30; + WaalwijkCityLbl: Label 'Waalwijk', MaxLength = 30; + PostCode3872LLLbl: Label '3872 LL', MaxLength = 20; + PostCode5141GPLbl: Label '5141 GP', MaxLength = 20; + PostCode8071LMLbl: Label '8071 LM', MaxLength = 20; + ExportFabrikamVatRegNoLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVatRegNoLbl: Label '274863274B01', MaxLength = 20; + EUGraphicDesignVatRegNoLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVatRegNoLbl: Label '197548769B01', MaxLength = 20; + DomesticNodPublisherVatRegNoLbl: Label '295267495B01', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorPostingGroupNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorPostingGroupNL.Codeunit.al new file mode 100644 index 0000000000..436e318315 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/2.Master Data/CreateVendorPostingGroupNL.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11531 "Create Vendor Posting Group NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGroup(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + case Rec.Code of + CreateVendorPostingGroup.Domestic(): + ValidateRecordFields(Rec, CreateNLGLAccounts.AccountsPayableDomestic(), '', CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PurchaseDiscounts(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + CreateVendorPostingGroup.EU(), + CreateVendorPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateNLGLAccounts.AccountsPayableForeign(), '', CreateNLGLAccounts.PurchaseDiscounts(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PurchaseDiscounts(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + end; + end; + + local procedure ValidateRecordFields(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/3.Transactions/CreatePurchaseDocumentNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/3.Transactions/CreatePurchaseDocumentNL.Codeunit.al new file mode 100644 index 0000000000..4366f2232d --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Purchase/3.Transactions/CreatePurchaseDocumentNL.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 11502 "Create Purchase Document NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateInvoiceHeaderAmounts(); + UpdatePurchaseLine(); + end; + + local procedure UpdateInvoiceHeaderAmounts() + var + PurchHeader: Record "Purchase Header"; + begin + PurchHeader.SetFilter("Document Type", '%1|%2', PurchHeader."Document Type"::Invoice, PurchHeader."Document Type"::"Credit Memo"); + PurchHeader.SetFilter("No.", '<>%1', ''); + if PurchHeader.FindSet() then + repeat + PurchHeader.CalcFields("Amount Including VAT", Amount); + PurchHeader.Validate("Doc. Amount Incl. VAT", PurchHeader."Amount Including VAT"); + PurchHeader.Validate("Doc. Amount VAT", PurchHeader."Amount Including VAT" - PurchHeader.Amount); + PurchHeader.Modify(true); + until PurchHeader.Next() = 0; + end; + + local procedure UpdatePurchaseLine() + var + PurchaseLine: Record "Purchase Line"; + Resource: Record Resource; + begin + PurchaseLine.SetRange(Type, PurchaseLine.Type::Resource); + if PurchaseLine.FindSet() then + repeat + Resource.Get(PurchaseLine."No."); + PurchaseLine.Validate("Direct Unit Cost", Resource."Direct Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelNL.Codeunit.al new file mode 100644 index 0000000000..910c7a427d --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelNL.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11501 "Create Reminder Level NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + ValidateRecordFields(Rec, 7.8); + if Rec."No." = 2 then + ValidateRecordFields(Rec, 15.6); + if Rec."No." = 3 then + ValidateRecordFields(Rec, 23.2); + end; + end; + end; + + procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFee: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFee); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustPostingGrpNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustPostingGrpNL.Codeunit.al new file mode 100644 index 0000000000..0a2a528519 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustPostingGrpNL.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11532 "Create Cust. Posting Grp NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerPostingGrp(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGrp: Codeunit "Create Customer Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + case Rec.Code of + CreateCustomerPostingGrp.Domestic(): + ValidateCustomerPostingGroup(Rec, CreateNLGLAccounts.AccountReceivableDomestic(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.SalesDiscounts(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + CreateCustomerPostingGrp.EU(), + CreateCustomerPostingGrp.Foreign(): + ValidateCustomerPostingGroup(Rec, CreateNLGLAccounts.AccountReceivableForeign(), '', CreateNLGLAccounts.SalesDiscounts(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.PayableInvoiceRounding(), CreateNLGLAccounts.SalesDiscounts(), CreateGLAccount.InterestIncome(), CreateGLAccount.InterestIncome()); + end; + end; + + local procedure ValidateCustomerPostingGroup(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustomerBankAcountNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustomerBankAcountNL.Codeunit.al new file mode 100644 index 0000000000..cae92b2f90 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustomerBankAcountNL.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11523 "Create Customer Bank Acount NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + Customer: Record Customer; + CreateCustomer: Codeunit "Create Customer"; + ContosoCustomerVendorNL: Codeunit "Contoso Customer/Vendor NL"; + CreateBankAccountNL: Codeunit "Create Bank Account NL"; + begin + Customer.Get(CreateCustomer.DomesticAdatumCorporation()); + ContosoCustomerVendorNL.InsertCustomerBankAccount(Customer."No.", CreateBankAccountNL.POSTBANK(), DomesticAdatumCorporationBankAccountNoLbl, Customer.Name, Customer.Address, Customer.City, Customer."Post Code"); + + Customer.Get(CreateCustomer.DomesticTreyResearch()); + ContosoCustomerVendorNL.InsertCustomerBankAccount(Customer."No.", CreateBankAccountNL.POSTBANK(), DomesticTreyResearchBankAccountNoLbl, Customer.Name, Customer.Address, Customer.City, Customer."Post Code"); + + Customer.Get(CreateCustomer.ExportSchoolofArt()); + ContosoCustomerVendorNL.InsertCustomerBankAccount(Customer."No.", CreateBankAccountNL.POSTBANK(), ExportSchoolofArtBankAccountNoLbl, Customer.Name, Customer.Address, Customer.City, Customer."Post Code"); + + Customer.Get(CreateCustomer.EUAlpineSkiHouse()); + ContosoCustomerVendorNL.InsertCustomerBankAccount(Customer."No.", CreateBankAccountNL.POSTBANK(), EUAlpineSkiHouseBankAccountNoLbl, Customer.Name, Customer.Address, Customer.City, Customer."Post Code"); + end; + + var + DomesticAdatumCorporationBankAccountNoLbl: Label 'P1234567', MaxLength = 30; + DomesticTreyResearchBankAccountNoLbl: Label 'P2234567', MaxLength = 30; + ExportSchoolofArtBankAccountNoLbl: Label 'P3234567', MaxLength = 30; + EUAlpineSkiHouseBankAccountNoLbl: Label 'P4234567', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustomerNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustomerNL.Codeunit.al new file mode 100644 index 0000000000..ac73b54077 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateCustomerNL.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 11521 "Create Customer NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateLanguage: Codeunit "Create Language"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, ArnhemCityLbl, DomesticAdatumCorporationVatRegNoLbl, PostCode1705RELbl, CreateLanguage.NLD()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, ZaandamCityLbl, DomesticTreyResearchVatRgeNoLbl, PostCode1324JWLbl, CreateLanguage.NLD()); + CreateCustomer.ExportSchoolofArt(): + Rec.Validate("VAT Registration No.", ExportSchoolofArtVatRegNoLbl); + CreateCustomer.EUAlpineSkiHouse(): + Rec.Validate("VAT Registration No.", EUAlpineSkiHouseVatRegNoLbl); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, AmsterdamCityLbl, DomesticRelecloudVatRegNoLbl, PostCode7201HWLbl, CreateLanguage.NLD()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; LanguageCode: Code[10]) + begin + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer."VAT Registration No." := VatRegNo; + Customer.Validate("Language Code", LanguageCode); + end; + + var + ArnhemCityLbl: Label 'Arnhem', MaxLength = 30; + ZaandamCityLbl: Label 'Zaandam', MaxLength = 30; + AmsterdamCityLbl: Label 'Amsterdam', MaxLength = 30; + DomesticAdatumCorporationVatRegNoLbl: Label '789456278', MaxLength = 20; + DomesticTreyResearchVatRgeNoLbl: Label '254687456', MaxLength = 20; + DomesticRelecloudVatRegNoLbl: Label '582048936', MaxLength = 20; + ExportSchoolofArtVatRegNoLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegNoLbl: Label '533435789', MaxLength = 20; + PostCode1705RELbl: Label '1705 RE', MaxLength = 20; + PostCode1324JWLbl: Label '1324 JW', MaxLength = 20; + PostCode7201HWLbl: Label '7201 HW', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueNL.Codeunit.al new file mode 100644 index 0000000000..d53b86dd58 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueNL.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 11503 "Create Sales Dim Value NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressNL.Codeunit.al new file mode 100644 index 0000000000..6fd756f14b --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressNL.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 11512 "Create Ship-to Address NL" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + CreateShiptoAddress.Cheltenham(): + ValidateShiptoAddress(Rec, AmsterdamCityLbl, PostCode7201HWLbl); + CreateShiptoAddress.London(): + ValidateShiptoAddress(Rec, ApeldoornCityLbl, PostCode3781ENLbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + CreateShiptoAddress.Fleet(): + ValidateShiptoAddress(Rec, ArnhemCityLbl, PostCode1012LXLbl); + CreateShiptoAddress.TWYCross(): + ValidateShiptoAddress(Rec, WaalwijkCityLbl, PostCode8071LMLbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + var + AmsterdamCityLbl: Label 'Amsterdam', MaxLength = 30; + ApeldoornCityLbl: Label 'Apeldoorn', MaxLength = 30; + ArnhemCityLbl: Label 'Arnhem', MaxLength = 30; + WaalwijkCityLbl: Label 'Waalwijk', MaxLength = 30; + PostCode7201HWLbl: Label '7201 HW', MaxLength = 20; + PostCode3781ENLbl: Label '3781 EN', MaxLength = 20; + PostCode1012LXLbl: Label '1012 LX', MaxLength = 20; + PostCode8071LMLbl: Label '8071 LM', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoBankNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoBankNL.Codeunit.al new file mode 100644 index 0000000000..143171d718 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoBankNL.Codeunit.al @@ -0,0 +1,231 @@ +codeunit 11519 "Contoso Bank NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Bank Account" = rim, + tabledata "Freely Transferable Maximum" = rim, + tabledata "Elec. Tax Declaration Setup" = rim, + tabledata "Elec. Tax Decl. VAT Category" = rim, + tabledata "Import Protocol" = rim, + tabledata "Export Protocol" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertBankAccount(No: Code[20]; Name: Text[100]; Address: Text[100]; City: Text[30]; Contact: Text[100]; BankAccountNo: Text[30]; BankAccPostingGroup: Code[20]; OurContactCode: Code[20]; PostCode: Code[20]; BankBranchNo: Text[20]; CurrencyCode: Code[20]; IBANNo: Code[50]; AccountHolderName: Text[100]; AccountHolderAddress: Text[100]; AccountHolderCity: Text[30]; AccountHolderPostCode: Code[20]; AccountHolderCountryRegionCode: Code[10]) + var + BankAccount: Record "Bank Account"; + Exists: Boolean; + begin + if BankAccount.Get(No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BankAccount.Validate("No.", No); + BankAccount.Validate(Name, Name); + BankAccount.Validate(Address, Address); + BankAccount.Validate(City, City); + BankAccount.Validate(Contact, Contact); + BankAccount.Validate("Bank Account No.", BankAccountNo); + BankAccount.Validate("Bank Acc. Posting Group", BankAccPostingGroup); + BankAccount.Validate("Our Contact Code", OurContactCode); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Bank Branch No.", BankBranchNo); + BankAccount.Validate("Currency Code", CurrencyCode); + BankAccount.Validate(IBAN, IBANNo); + BankAccount.Validate("Account Holder Name", AccountHolderName); + BankAccount.Validate("Account Holder Address", AccountHolderAddress); + BankAccount.Validate("Account Holder City", AccountHolderCity); + BankAccount.Validate("Account Holder Post Code", AccountHolderPostCode); + BankAccount."Acc. Hold. Country/Region Code" := AccountHolderCountryRegionCode; + + if Exists then + BankAccount.Modify(true) + else + BankAccount.Insert(true); + end; + + + procedure InsertBankAccountPostingGroup(Code: Code[20]; GLAccountNo: Code[20]; AccNoPmtRcptinProcess: Code[20]) + var + BankAccountPostingGroup: Record "Bank Account Posting Group"; + Exists: Boolean; + begin + if BankAccountPostingGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BankAccountPostingGroup.Validate(Code, Code); + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + BankAccountPostingGroup.Validate("Acc.No. Pmt./Rcpt. in Process", AccNoPmtRcptinProcess); + + if Exists then + BankAccountPostingGroup.Modify(true) + else + BankAccountPostingGroup.Insert(true); + end; + + procedure InsertFreelyTransferableMaximum(CountryRegionCode: Code[20]; CurrencyCode: Text[30]; Amount: Decimal) + var + FreelyTransferableMaximum: Record "Freely Transferable Maximum"; + Exists: Boolean; + begin + if FreelyTransferableMaximum.Get(CountryRegionCode, CurrencyCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + FreelyTransferableMaximum.Validate("Country/Region Code", CountryRegionCode); + if CurrencyCode <> '' then + FreelyTransferableMaximum.Validate("Currency Code", CurrencyCode); + FreelyTransferableMaximum.Validate(Amount, Amount); + + if Exists then + FreelyTransferableMaximum.Modify(true) + else + FreelyTransferableMaximum.Insert(true); + end; + + procedure InsertElecTaxDeclarationSetup(VATDeclarationNos: Code[20]; ICPDeclarationNos: Code[20]; TaxPayerContactName: Text[35]; TaxPayerContactPhoneNo: Text[25]) + var + ElecTaxDeclarationSetup: Record "Elec. Tax Declaration Setup"; + begin + if not ElecTaxDeclarationSetup.Get() then + ElecTaxDeclarationSetup.Insert(); + + ElecTaxDeclarationSetup.Validate("VAT Declaration Nos.", VATDeclarationNos); + ElecTaxDeclarationSetup.Validate("ICP Declaration Nos.", ICPDeclarationNos); + ElecTaxDeclarationSetup.Validate("Tax Payer Contact Name", TaxPayerContactName); + ElecTaxDeclarationSetup.Validate("Tax Payer Contact Phone No.", TaxPayerContactPhoneNo); + ElecTaxDeclarationSetup.Modify(true); + end; + + procedure InsertElecTaxDeclVATCategory(Code: Code[10]; Category: Option; ByUsDomestic: Option; ToUsDomestic: Option; ByUsForeign: Option; ToUsForeign: Option; Calculation: Option; Optional: Boolean) + var + ElecTaxDeclVATCategory: Record "Elec. Tax Decl. VAT Category"; + Exists: Boolean; + begin + if ElecTaxDeclVATCategory.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ElecTaxDeclVATCategory.Validate(Code, Code); + ElecTaxDeclVATCategory.Validate(Category, Category); + ElecTaxDeclVATCategory.Validate("By Us (Domestic)", ByUsDomestic); + ElecTaxDeclVATCategory.Validate("To Us (Domestic)", ToUsDomestic); + ElecTaxDeclVATCategory.Validate("By Us (Foreign)", ByUsForeign); + ElecTaxDeclVATCategory.Validate("To Us (Foreign)", ToUsForeign); + ElecTaxDeclVATCategory.Validate(Calculation, Calculation); + ElecTaxDeclVATCategory.Validate(Optional, Optional); + + if Exists then + ElecTaxDeclVATCategory.Modify(true) + else + ElecTaxDeclVATCategory.Insert(true); + end; + + procedure InsertImportProtocol(Code: Code[20]; ImportType: Option; ImportID: Integer; Description: Text[100]; AutomaticReconciliation: Boolean) + var + ImportProtocol: Record "Import Protocol"; + Exists: Boolean; + begin + if ImportProtocol.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ImportProtocol.Validate(Code, Code); + ImportProtocol.Validate("Import Type", ImportType); + ImportProtocol.Validate("Import ID", ImportID); + ImportProtocol.Validate(Description, Description); + ImportProtocol.Validate("Automatic Reconciliation", AutomaticReconciliation); + + if Exists then + ImportProtocol.Modify(true) + else + ImportProtocol.Insert(true); + end; + + procedure InsertExportProtocol(Code: Code[20]; Description: Text[100]; ExportObjectType: Option; CheckID: Integer; ExportID: Integer; DocketID: Integer; DefaultFileNames: Text[250]; ExportName: Text[30]; ChecksumAlgorithm: Option) + var + ExportProtocol: Record "Export Protocol"; + Exists: Boolean; + begin + if ExportProtocol.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ExportProtocol.Validate(Code, Code); + ExportProtocol.Validate(Description, Description); + ExportProtocol.Validate("Export Object Type", ExportObjectType); + ExportProtocol.Validate("Check ID", CheckID); + ExportProtocol.Validate("Export ID", ExportID); + ExportProtocol.Validate("Docket ID", DocketID); + if DefaultFileNames <> '' then + ExportProtocol.Validate("Default File Names", DefaultFileNames); + ExportProtocol.Validate("Export Name", ExportName); + ExportProtocol.Validate("Checksum Algorithm", ChecksumAlgorithm); + + if Exists then + ExportProtocol.Modify(true) + else + ExportProtocol.Insert(true); + end; + + procedure InsertTransactionMode(AccountType: Option; Code: Code[20]; Description: Text[80]; Order: Option; IncludeInPaymentProposal: Boolean; BankAccountNo: Code[20]; CombineEntries: Boolean; ExportProtocol: Code[20]; PmtDiscPossible: Boolean; RunNoSeries: Code[20]; SourceCode: Code[10]; PostingNoSeries: Code[20]; AccNoPmtRcptInProcess: Code[20]; CorrectionPostingNoSeries: Code[20]; CorrectionSourceCode: Code[10]; IdentificationNoSeries: Code[20]) + var + TransactionMode: Record "Transaction Mode"; + Exists: Boolean; + begin + if TransactionMode.Get(AccountType, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TransactionMode.Validate("Account Type", AccountType); + TransactionMode.Validate(Code, Code); + TransactionMode.Validate(Description, Description); + TransactionMode.Validate(Order, Order); + TransactionMode.Validate("Include in Payment Proposal", IncludeInPaymentProposal); + TransactionMode.Validate("Our Bank", BankAccountNo); + TransactionMode.Validate("Combine Entries", CombineEntries); + TransactionMode.Validate("Export Protocol", ExportProtocol); + TransactionMode.Validate("Pmt. Disc. Possible", PmtDiscPossible); + TransactionMode.Validate("Run No. Series", RunNoSeries); + TransactionMode.Validate("Source Code", SourceCode); + TransactionMode.Validate("Posting No. Series", PostingNoSeries); + TransactionMode.Validate("Acc. No. Pmt./Rcpt. in Process", AccNoPmtRcptInProcess); + TransactionMode.Validate("Correction Posting No. Series", CorrectionPostingNoSeries); + TransactionMode.Validate("Correction Source Code", CorrectionSourceCode); + TransactionMode.Validate("Identification No. Series", IdentificationNoSeries); + + if Exists then + TransactionMode.Modify(true) + else + TransactionMode.Insert(true); + end; +} diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoCustomerVendorNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoCustomerVendorNL.Codeunit.al new file mode 100644 index 0000000000..df43c0b4c8 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoCustomerVendorNL.Codeunit.al @@ -0,0 +1,68 @@ +codeunit 11526 "Contoso Customer/Vendor NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Customer Bank Account" = rim, + tabledata "Vendor Bank Account" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertCustomerBankAccount(CustomerNo: Code[20]; Code: Code[20]; BankAccountNo: Text[30]; AccountHolderName: Text[100]; AccountHolderAddress: Text[100]; AccountHolderCity: Text[30]; AccountHolderPostCode: Code[20]) + var + CustomerBankAccount: Record "Customer Bank Account"; + Exists: Boolean; + begin + if CustomerBankAccount.Get(CustomerNo, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CustomerBankAccount.Validate("Customer No.", CustomerNo); + CustomerBankAccount.Validate(Code, Code); + CustomerBankAccount.Validate("Bank Account No.", BankAccountNo); + CustomerBankAccount.Validate("Account Holder Name", AccountHolderName); + CustomerBankAccount.Validate("Account Holder Address", AccountHolderAddress); + CustomerBankAccount.Validate("Account Holder City", AccountHolderCity); + CustomerBankAccount.Validate("Account Holder Post Code", AccountHolderPostCode); + + if Exists then + CustomerBankAccount.Modify(true) + else + CustomerBankAccount.Insert(true); + end; + + procedure InsertVendorBankAccount(VendorNo: Code[20]; Code: Code[20]; BankAccountNo: Text[30]; AccountHolderName: Text[100]; AccountHolderAddress: Text[100]; AccountHolderCity: Text[30]; AccountHolderPostCode: Code[20]) + var + VendorBankAccount: Record "Vendor Bank Account"; + Exists: Boolean; + begin + if VendorBankAccount.Get(VendorNo, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VendorBankAccount.Validate("Vendor No.", VendorNo); + VendorBankAccount.Validate(Code, Code); + VendorBankAccount.Validate("Bank Account No.", BankAccountNo); + VendorBankAccount.Validate("Account Holder Name", AccountHolderName); + VendorBankAccount.Validate("Account Holder Address", AccountHolderAddress); + VendorBankAccount.Validate("Account Holder City", AccountHolderCity); + VendorBankAccount.Validate("Account Holder Post Code", AccountHolderPostCode); + + if Exists then + VendorBankAccount.Modify(true) + else + VendorBankAccount.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoGeneralLedgerNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoGeneralLedgerNL.Codeunit.al new file mode 100644 index 0000000000..34b57d73a3 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoGeneralLedgerNL.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 11527 "Contoso General Ledger NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Gen. Journal Template" = rim; + + var + OverwriteData: Boolean; + + procedure InsertGeneralJournalTemplate(Name: Code[10]; Description: Text[80]; Type: Enum "Gen. Journal Template Type"; BalAccountType: Enum "Gen. Journal Account Type"; BalAccountNo: Code[20]; PageID: Integer; NoSeries: Code[20]; SourceCode: Code[10]) + var + GenJournalTemplate: Record "Gen. Journal Template"; + Exists: Boolean; + begin + if GenJournalTemplate.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + GenJournalTemplate.Validate(Name, Name); + GenJournalTemplate.Validate(Description, Description); + GenJournalTemplate.Validate(Type, Type); + GenJournalTemplate.Validate("Bal. Account Type", BalAccountType); + GenJournalTemplate.Validate("Bal. Account No.", BalAccountNo); + GenJournalTemplate.Validate("Page ID", PageID); + GenJournalTemplate.Validate("No. Series", NoSeries); + + if Exists then + GenJournalTemplate.Modify(true) + else + GenJournalTemplate.Insert(true); + + if SourceCode <> '' then begin + GenJournalTemplate.Validate("Source Code", SourceCode); + GenJournalTemplate.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoNoSeriesNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoNoSeriesNL.Codeunit.al new file mode 100644 index 0000000000..4878b3ced9 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoNoSeriesNL.Codeunit.al @@ -0,0 +1,65 @@ +codeunit 11537 "Contoso No Series NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "No. Series" = rim, + tabledata "No. Series Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertNoSeries(NoSeriesCode: Code[20]; Description: Text[100]; StartingNo: Code[20]; IncrementBy: Integer; Implementation: Enum "No. Series Implementation"; AllowManualNo: Boolean) + var + NoSeries: Record "No. Series"; + NoSeriesLine: Record "No. Series Line"; + NoSeriesExists, NoSeriesLineExists : Boolean; + begin + if NoSeries.Get(NoSeriesCode) then begin + NoSeriesExists := true; + + if not OverwriteData then + exit; + end; + + + NoSeries.Init(); + NoSeries.Validate(Code, NoSeriesCode); + NoSeries.Validate(Description, Description); + NoSeries.Validate("Default Nos.", true); + NoSeries.Validate("Manual Nos.", AllowManualNo); + + if NoSeriesExists then + NoSeries.Modify(true) + else + NoSeries.Insert(true); + + if NoSeriesLine.Get(NoSeriesCode, GetDefaultLineNo()) then begin + NoSeriesLineExists := true; + + if not OverwriteData then + exit; + end; + + NoSeriesLine.Validate("Series Code", NoSeries.Code); + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Increment-by No.", IncrementBy); + NoSeriesLine.Validate(Implementation, Implementation); + NoSeriesLine.Validate("Line No.", GetDefaultLineNo()); + + if NoSeriesLineExists then + NoSeriesLine.Modify(true) + else + NoSeriesLine.Insert(true); + end; + + local procedure GetDefaultLineNo(): Integer + begin + exit(10000); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoPostCodeNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoPostCodeNL.Codeunit.al new file mode 100644 index 0000000000..26cd538877 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoPostCodeNL.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11497 "Contoso Post Code NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoVatStatementNL.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoVatStatementNL.Codeunit.al new file mode 100644 index 0000000000..1ec162a1c4 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/Contoso Helpers/ContosoVatStatementNL.Codeunit.al @@ -0,0 +1,51 @@ +codeunit 11546 "Contoso VAT Statement NL" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "VAT Statement Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVatStatementLine(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementLineNo: Integer; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; GenPostingType: Enum "General Posting Type"; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]; AccountTotaling: Text[30]; BoxNo: Text[30]; ElecTaxDeclCategoryCode: Code[20]) + var + VatStatementLine: Record "VAT Statement Line"; + Exists: Boolean; + begin + if VatStatementLine.Get(StatementTemplateName, StatementName, StatementLineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatStatementLine.Validate("Statement Template Name", StatementTemplateName); + VatStatementLine.Validate("Statement Name", StatementName); + VatStatementLine.Validate("Line No.", StatementLineNo); + VatStatementLine.Validate("Row No.", StatementRowNo); + VatStatementLine.Validate(Description, StatementDesc); + VatStatementLine.Validate(Type, StatementLineType); + VatStatementLine.Validate("Gen. Posting Type", GenPostingType); + VatStatementLine.Validate("VAT Bus. Posting Group", VatBusPostingGrp); + VatStatementLine.Validate("VAT Prod. Posting Group", VAtProdPostingGrp); + VatStatementLine.Validate("Row Totaling", RowTotaling); + VatStatementLine.Validate("Amount Type", AmountType); + VatStatementLine.Validate("Calculate with", CalulationWith); + VatStatementLine.Validate(Print, StatementPrint); + VatStatementLine.Validate("Print with", PrintWith); + VatStatementLine.Validate("Account Totaling", AccountTotaling); + VatStatementLine.Validate("Box No.", BoxNo); + VatStatementLine.Validate("Elec. Tax Decl. Category Code", ElecTaxDeclCategoryCode); + + if Exists then + VatStatementLine.Modify(true) + else + VatStatementLine.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/NLContosoLocalization.Codeunit.al b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/NLContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..ca51a9c073 --- /dev/null +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/Demo Tool/NLContosoLocalization.Codeunit.al @@ -0,0 +1,284 @@ +codeunit 11508 "NL Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::CRM then + CRMModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResourceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Fixed Asset Module" then + FixedAssetModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Purchase then + PurchaseModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Purchase then + SalesModule(ContosoDemoDataLevel); + + UnbindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information NL"); + Codeunit.Run(Codeunit::"Create No. Series NL"); + Codeunit.Run(Codeunit::"Create Post Code NL"); + Codeunit.Run(Codeunit::"Create Source Code NL"); + Codeunit.Run(Codeunit::"Create Data Exchange NL"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateNLGLAccounts: Codeunit "Create NL GL Accounts"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create General Ledger Setup NL"); + Codeunit.Run(Codeunit::"Create VAT Posting Groups NL"); + Codeunit.Run(Codeunit::"Create Gen. Journal Batch NL"); + CreateNLGLAccounts.AddCategoriesToGLAccountsForMini(); + end; + + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Posting Groups NL"); + Codeunit.Run(Codeunit::"Create Currency Ex. Rate NL"); + Codeunit.Run(Codeunit::"Create Freely Transfer Max. NL"); + Codeunit.Run(Codeunit::"Create Resource NL"); + Codeunit.Run(Codeunit::"Create VAT Setup PostingGrp NL"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Bank Ex/Import NL"); + Codeunit.Run(Codeunit::"Create Bank Posting Grp NL"); + end; + end; + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Bank Account NL"); + Codeunit.Run(Codeunit::"Create Imp./Exp. Protocol NL"); + Codeunit.Run(Codeunit::"Create Gen. Journal Templ. NL"); + end; + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line NL"); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Elec Tax Declaration NL"); + Codeunit.Run(Codeunit::"Create Vat Statement Line NL"); + end; + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create FA Ins Jnl. Template NL"); + Codeunit.Run(Codeunit::"Create FA No. Series NL"); + end; + end; + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Employee NL"); + Codeunit.Run(Codeunit::"Create Employee Template NL"); + end; + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Location NL"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Vendor Bank Acount NL"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Purchase Document NL"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Customer Bank Acount NL"); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateLocationNL: Codeunit "Create Location NL"; + CreateItemNL: Codeunit "Create Item NL"; + CreateBankAccountNL: Codeunit "Create Bank Account NL"; + CreateBankPostingGrpNL: Codeunit "Create Bank Posting Grp NL"; + CreateCustPostingGroupNL: Codeunit "Create Cust. Posting Grp NL"; + CreateReminderLevelNL: Codeunit "Create Reminder Level NL"; + CreateCustomerNL: Codeunit "Create Customer NL"; + CreateSalesDimValueNL: Codeunit "Create Sales Dim Value NL"; + CreateShiptoAddressNL: Codeunit "Create Ship-to Address NL"; + CreateVendorNL: Codeunit "Create Vendor NL"; + CreateVendorPostingGroupNL: Codeunit "Create Vendor Posting Group NL"; + CreatePurchDimValueNL: Codeunit "Create Purch. Dim. Value NL"; + CreateResourceNL: Codeunit "Create Resource NL"; + CreateCurrencyNL: Codeunit "Create Currency NL"; + CreateCurrencyExchRateNL: Codeunit "Create Currency Ex. Rate NL"; + CreateFADepreciationBookNL: Codeunit "Create FA Depreciation Book NL"; + CreateAccScheduleLineNL: Codeunit "Create Acc. Schedule Line NL"; + CreateInvPostingSetupNL: Codeunit "Create Inv. Posting Setup NL"; + CreateFAPostingGrpNL: Codeunit "Create FA Posting Grp. NL"; + CreateGenJournalLineNL: Codeunit "Create Gen. Journal Line NL"; + CreatePaymentMethodNL: Codeunit "Create Payment Method NL"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccountNL); + BindSubscription(CreateBankPostingGrpNL); + BindSubscription(CreateGenJournalLineNL); + BindSubscription(CreatePaymentMethodNL); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCurrencyNL); + BindSubscription(CreateCurrencyExchRateNL); + BindSubscription(CreateResourceNL); + BindSubscription(CreateAccScheduleLineNL); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + BindSubscription(CreateFADepreciationBookNL); + BindSubscription(CreateFAPostingGrpNL); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateItemNL); + BindSubscription(CreateLocationNL); + BindSubscription(CreateInvPostingSetupNL); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorNL); + BindSubscription(CreatePurchDimValueNL); + BindSubscription(CreateVendorPostingGroupNL); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustomerNL); + BindSubscription(CreateShiptoAddressNL); + BindSubscription(CreateSalesDimValueNL); + BindSubscription(CreateReminderLevelNL); + BindSubscription(CreateCustPostingGroupNL); + end; + end; + end; + + local procedure UnbindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateLocationNL: Codeunit "Create Location NL"; + CreateItemNL: Codeunit "Create Item NL"; + CreateBankAccountNL: Codeunit "Create Bank Account NL"; + CreateBankPostingGrpNL: Codeunit "Create Bank Posting Grp NL"; + CreateCustPostingGroupNL: Codeunit "Create Cust. Posting Grp NL"; + CreateReminderLevelNL: Codeunit "Create Reminder Level NL"; + CreateCustomerNL: Codeunit "Create Customer NL"; + CreateSalesDimValueNL: Codeunit "Create Sales Dim Value NL"; + CreateShiptoAddressNL: Codeunit "Create Ship-to Address NL"; + CreateVendorNL: Codeunit "Create Vendor NL"; + CreateVendorPostingGroupNL: Codeunit "Create Vendor Posting Group NL"; + CreatePurchDimValueNL: Codeunit "Create Purch. Dim. Value NL"; + CreateResourceNL: Codeunit "Create Resource NL"; + CreateCurrencyNL: Codeunit "Create Currency NL"; + CreateCurrencyExchRateNL: Codeunit "Create Currency Ex. Rate NL"; + CreateFADepreciationBookNL: Codeunit "Create FA Depreciation Book NL"; + CreateAccScheduleLineNL: Codeunit "Create Acc. Schedule Line NL"; + CreateInvPostingSetupNL: Codeunit "Create Inv. Posting Setup NL"; + CreateFAPostingGrpNL: Codeunit "Create FA Posting Grp. NL"; + CreateGenJournalLineNL: Codeunit "Create Gen. Journal Line NL"; + CreatePaymentMethodNL: Codeunit "Create Payment Method NL"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccountNL); + UnbindSubscription(CreateBankPostingGrpNL); + UnbindSubscription(CreateGenJournalLineNL); + UnbindSubscription(CreatePaymentMethodNL); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + UnbindSubscription(CreateFADepreciationBookNL); + UnbindSubscription(CreateFAPostingGrpNL); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateCurrencyNL); + UnbindSubscription(CreateCurrencyExchRateNL); + UnbindSubscription(CreateResourceNL); + UnbindSubscription(CreateAccScheduleLineNL); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateItemNL); + UnbindSubscription(CreateLocationNL); + UnbindSubscription(CreateInvPostingSetupNL); + end; + + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateVendorNL); + UnbindSubscription(CreatePurchDimValueNL); + UnbindSubscription(CreateVendorPostingGroupNL); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateCustomerNL); + UnbindSubscription(CreateShiptoAddressNL); + UnbindSubscription(CreateSalesDimValueNL); + UnbindSubscription(CreateReminderLevelNL); + UnbindSubscription(CreateCustPostingGroupNL); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/app.json b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/app.json index 543b2f5348..5e79934dbd 100644 --- a/Apps/NL/ContosoCoffeeDemoDatasetNL/app/app.json +++ b/Apps/NL/ContosoCoffeeDemoDatasetNL/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 11495, - "to": 11499 + "to": 11550 } ], "resourceExposurePolicy": { diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Codeunits/CreateNOGLAccounts.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Codeunits/CreateNOGLAccounts.Codeunit.al index d426cf76a0..9a61bc00f5 100644 --- a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Codeunits/CreateNOGLAccounts.Codeunit.al +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Codeunits/CreateNOGLAccounts.Codeunit.al @@ -7,7 +7,6 @@ codeunit 10660 "Create NO GL Accounts" local procedure ModifyCommonGLAccounts() var InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; CommonGLAccount: Codeunit "Create Common GL Account"; begin InventorySetup.Get(); @@ -27,8 +26,8 @@ codeunit 10660 "Create NO GL Accounts" ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7270'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7170'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '7810'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '7810'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '2130'); ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); @@ -46,7 +45,6 @@ codeunit 10660 "Create NO GL Accounts" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyServiceGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; SvcGLAccount: Codeunit "Create Svc GL Account"; begin ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '6700'); @@ -55,12 +53,11 @@ codeunit 10660 "Create NO GL Accounts" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyManufacturingGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; MfgGLAccount: Codeunit "Create Mfg GL Account"; begin ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7700'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7700'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7810'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7820'); ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7821'); @@ -75,7 +72,6 @@ codeunit 10660 "Create NO GL Accounts" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyFixedAssetGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; FAGLAccount: Codeunit "Create FA GL Account"; begin ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); @@ -91,16 +87,14 @@ codeunit 10660 "Create NO GL Accounts" [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyHumanResourcesGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; HRGLAccount: Codeunit "Create HR GL Account"; begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '1520'); + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), ''); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] local procedure ModifyJobGLAccounts() var - ContosoGLAccount: Codeunit "Contoso GL Account"; JobGLAccount: Codeunit "Create Job GL Account"; begin ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '2212'); @@ -112,4 +106,260 @@ codeunit 10660 "Create NO GL Accounts" ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '7180'); ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '7620'); end; + + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforNO() + begin + ContosoGLAccount.AddAccountForLocalization(PersonnelExpensesNOName(), '4995'); + ModifyGLAccountForW1(); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ''); + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization(); + var + GLAccountCategory: Record "G/L Account Category"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroupsNO: Codeunit "Create Posting Groups NO"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVatPostingGroupNO: Codeunit "Create Vat Posting Groups NO"; + SubCategory: Text[80]; + begin + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiabilitiesAndEquity(), CreateGLAccount.LiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilitiesAndEquity(), CreateGLAccount.TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.LiabilitiesAndEquity() + '..' + CreateGLAccount.TotalLiabilitiesAndEquity() + '|' + CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, true); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetOperatingIncome(), CreateGLAccount.NetOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetOperatingIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NIBEFOREEXTRITEMSTAXES(), NetBeforeExtrTaxesExpensLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NIBEFOREEXTRITEMSTAXES(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncome(), CreateGLAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchasePrepayments(), CreateGLAccount.PurchasePrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVatPostingGroupNO.High(), false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesPrepayments(), CreateGLAccount.SalesPrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesVAT25(), SalesVAT24Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesVAT10(), SalesVAT12Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RevolvingCredit(), OtherRevenueLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRetail(), InvAdjmtInterimSalesLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CurrentAssets(), LiquidAssetsLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalAssets(), CreateGLAccount.TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Assets() + '..' + CreateGLAccount.TotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetDistrToShareholders(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Stockholder(), RetainedEarningsLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Equity, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Allowances(), DeferredTaxesLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AllowancesTotal(), DeferredTaxesTotalLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Allowances() + '..' + CreateGLAccount.AllowancesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PersonnelExpensesNO(), PersonnelExpensesNOName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SellingExpenses(), SellingAndPrExpensesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalOperatingExpenses(), OtherCostsOfOperationsLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OperatingExpenses() + '..' + CreateGLAccount.TotalOperatingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GainsandLosses(), LossOnClaimsLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OperatingExpenses(), CreateGLAccount.OperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Software(), CreateGLAccount.SoftwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultantServices(), CreateGLAccount.ConsultantServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.Low(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherComputerExpenses(), CreateGLAccount.OtherComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpenses(), EntertainmentDeductibleLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GasolineandMotorOil(), ParkingLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherCostsofOperations(), CarAllowanceLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroupsNO.NoVatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), InsurancesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroupsNO.NoVatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscReceivedDecreases(), AdministrativeExpensesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolReceivedDecreases(), SubsitenceLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestonBankBalances(), InterestIncomeLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Revenue(), CreateGLAccount.RevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroupsNO.NoVatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.Without(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroupsNO.NoVatPostingGroup(), 0, '', Enum::"General Posting Type"::" ", CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.Without(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestIncome(), FinancialIncomeLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ExtraordinaryIncome(), CreateGLAccount.ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssets(), CreateGLAccount.FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncreasesduringtheYearBuildings(), CreateGLAccount.IncreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearBuildings(), CreateGLAccount.DecreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncreasesduringtheYearOperEquip(), CreateGLAccount.IncreasesduringtheYearOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearOperEquip(), CreateGLAccount.DecreasesduringtheYearOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncreasesduringtheYearVehicles(), CreateGLAccount.IncreasesduringtheYearVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearVehicles(), CreateGLAccount.DecreasesduringtheYearVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeProdSales(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailDom(), CreateGLAccount.SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailEU(), CreateGLAccount.SalesRetailEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRetail(), JobSalesAdjmtRetailLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsDom(), CreateGLAccount.SalesRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsEU(), CreateGLAccount.SalesRawMaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.SalesRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRawMat(), JobSalesAdjmtRawMatLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedResources(), JobSalesAdjmtResourcesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesDom(), CreateGLAccount.SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.Low(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesEU(), CreateGLAccount.SalesResourcesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.Low(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustFor(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTNOVAT(), CreateVatPostingGroupNO.Low(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ConsultingFeesDom(), CreateGLAccount.ConsultingFeesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.Low(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FeesandChargesRecDom(), CreateGLAccount.FeesandChargesRecDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.CustDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVatPostingGroupNO.CUSTHIGH(), CreateVatPostingGroupNO.Low(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesOtherJobExpenses(), CreateGLAccount.SalesOtherJobExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', CreateVatPostingGroupNO.High(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSMaterials(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailDom(), CreateGLAccount.PurchRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailEU(), CreateGLAccount.PurchRetailEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendFor(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDNOVAT(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailExport(), CreateGLAccount.PurchRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendFor(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRetail(), CreateGLAccount.DeliveryExpensesRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendFor(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDNOVAT(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsEU(), CreateGLAccount.PurchRawMaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendFor(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendFor(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDNOVAT(), CreateVatPostingGroupNO.High(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRawMat(), CreateGLAccount.DeliveryExpensesRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cleaning(), CreateGLAccount.CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityandHeating(), CreateGLAccount.ElectricityandHeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.RepairsandMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PhoneandFax(), CreateGLAccount.PhoneandFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroupsNO.NoVatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.Without(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAdvertisingExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Advertising(), SellingExpensesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EntertainmentandPR(), AdvertisingLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRepairsExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenanceExpense(), CreateGLAccount.RepairsandMaintenanceExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25EU(), SalesVAT6Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT10EU(), PurchaseVAT6Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25(), PurchaseVAT24Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT10(), PurchaseVAT12Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInventory(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItems(), SaleItemsLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItemsInterim(), SaleItemsInterimLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofResaleSoldInterim(), CostofGoodsSoldInterimLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCash(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GiroAccount(), RevolvingCreditLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRetEarnings(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetainedEarnings(), StockholderSEquityLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Liabilities(), CreateGLAccount.LiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilitiesTotal(), OtherShortTermLiabTotalLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherLiabilities() + '..' + CreateGLAccount.OtherLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FuelTax(), GasolineAndMotorOilLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityTax(), GoodwillLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NaturalGasTax(), PayrollTaxesPayableLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CoalTax(), TotalBldgMaintExpensesLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CO2Tax(), RegistrationFeesLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WaterTax(), CountyTaxLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VATPayable(), OtherPublicTaxesLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VATTotal(), OtherPublicTaxesTotalLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VAT() + '..' + CreateGLAccount.VATTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PayrollTaxesPayable(), WithholdingDependAllowanceLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeSalesDiscounts(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscountGranted(), DiscountGrantedWithVatLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LegalandAccountingServices(), AuditingServicesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Miscellaneous(), LegalServicesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreatePostingGroupsNO.VendDom(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVatPostingGroupNO.VENDHIGH(), CreateVatPostingGroupNO.High(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherOperatingExpenses(), ExternalServicesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CashDiscrepancies(), OtherExternalServicesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BadDebtExpenses(), OtherConsultancyServicesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherOperatingExpTotal(), ExternalServicesTotalLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherOperatingExpenses() + '..' + CreateGLAccount.OtherOperatingExpTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInterestExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscGrantedDecreases(), CashDiscrepanciesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtTolGrantedDecreases(), OperatingMaterialsLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + end; + + procedure PersonnelExpensesNO(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelExpensesNOName())); + end; + + procedure PersonnelExpensesNOName(): Text[100] + begin + exit(PersonnelExpensesNOLbl); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + PersonnelExpensesNOLbl: Label 'Personnel Expenses NO', MaxLength = 100; + SalesVAT24Lbl: Label 'Sales VAT 24 %', MaxLength = 100; + SalesVAT12Lbl: Label 'Sales VAT 12 %', MaxLength = 100; + SalesVAT6Lbl: Label 'Sales VAT 6 %', MaxLength = 100; + PurchaseVAT6Lbl: Label 'Purchase VAT 6 %', MaxLength = 100; + PurchaseVAT24Lbl: Label 'Purchase VAT 24 %', MaxLength = 100; + PurchaseVAT12Lbl: Label 'Purchase VAT 12 %', MaxLength = 100; + LiquidAssetsLbl: Label 'Liquid Assets', MaxLength = 100; + SaleItemsLbl: Label 'Sales Items', MaxLength = 100; + SaleItemsInterimLbl: Label 'Sales Items (Interim)', MaxLength = 100; + CostofGoodsSoldInterimLbl: Label 'Cost of Goods Sold (Interim)', MaxLength = 100; + RevolvingCreditLbl: Label 'Revolving Credit', MaxLength = 100; + RetainedEarningsLbl: Label 'Retained Earnings', MaxLength = 100; + StockholderSEquityLbl: Label 'Stockholders Equity', MaxLength = 100; + DeferredTaxesLbl: Label 'Deferred Taxes', MaxLength = 100; + DeferredTaxesTotalLbl: Label 'Deferred Taxes, Total', MaxLength = 100; + OtherRevenueLbl: Label 'Other Revenue', MaxLength = 100; + InvAdjmtInterimSalesLbl: Label 'Inv. Adjmt. (Interim), Sales', MaxLength = 100; + GasolineAndMotorOilLbl: Label 'Gasoline and Motor Oil', MaxLength = 100; + GoodwillLbl: Label 'Goodwill', MaxLength = 100; + PayrollTaxesPayableLbl: Label 'Payroll Taxes Payable', MaxLength = 100; + TotalBldgMaintExpensesLbl: Label 'Total Bldg. Maint. Expenses', MaxLength = 100; + RegistrationFeesLbl: Label 'Registration Fees', MaxLength = 100; + CountyTaxLbl: Label 'County Tax', MaxLength = 100; + OtherPublicTaxesLbl: Label 'Other Public Taxes', MaxLength = 100; + OtherPublicTaxesTotalLbl: Label 'Other Public Taxes, Total', MaxLength = 100; + WithholdingDependAllowanceLbl: Label 'Withholding Depend. Allowance', MaxLength = 100; + OtherShortTermLiabTotalLbl: Label 'Other Short-term Liab., Total', MaxLength = 100; + JobSalesAdjmtRetailLbl: Label 'Job Sales Adjmt., Retail', MaxLength = 100; + JobSalesAdjmtRawMatLbl: Label 'Job Sales Adjmt., Raw Mat.', MaxLength = 100; + JobSalesAdjmtResourcesLbl: Label 'Job Sales Adjmt., Resources', MaxLength = 100; + DiscountGrantedWithVatLbl: Label 'Discount granted (with vat)', MaxLength = 100; + SellingAndPrExpensesLbl: Label 'Selling and PR Expenses', MaxLength = 100; + SellingExpensesLbl: Label 'Selling Expenses', MaxLength = 100; + AdvertisingLbl: Label 'Advertising', MaxLength = 100; + EntertainmentDeductibleLbl: Label 'Entertainment, Deductible', MaxLength = 100; + ParkingLbl: Label 'Parking', MaxLength = 100; + InsurancesLbl: Label 'Insurances', MaxLength = 100; + ExternalServicesLbl: Label 'External Services', MaxLength = 100; + OtherExternalServicesLbl: Label 'Other External Services', MaxLength = 100; + OtherConsultancyServicesLbl: Label 'Other Consultancy Services', MaxLength = 100; + AuditingServicesLbl: Label 'Auditing Services', MaxLength = 100; + LegalServicesLbl: Label 'Legal Services', MaxLength = 100; + ExternalServicesTotalLbl: Label 'External Services, Total', MaxLength = 100; + OtherCostsOfOperationsLbl: Label 'Other Costs of Operations', MaxLength = 100; + LossOnClaimsLbl: Label 'Loss on Claims', MaxLength = 100; + CarAllowanceLbl: Label 'Car Allowance', MaxLength = 100; + FinancialIncomeLbl: Label 'Financial Income', MaxLength = 100; + InterestIncomeLbl: Label 'Interest Income', MaxLength = 100; + AdministrativeExpensesLbl: Label 'Administrative Expenses', MaxLength = 100; + SubsitenceLbl: Label 'Subsitence', MaxLength = 100; + CashDiscrepanciesLbl: Label 'Cash Discrepancies', MaxLength = 100; + OperatingMaterialsLbl: Label 'Operating Materials', MaxLength = 100; + NetBeforeExtrTaxesExpensLbl: Label 'Net Before Extr. Taxes/Expens.', MaxLength = 100; } \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Bank/1.Setup Data/CreateBankAccountNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Bank/1.Setup Data/CreateBankAccountNO.Codeunit.al new file mode 100644 index 0000000000..f3b4322278 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Bank/1.Setup Data/CreateBankAccountNO.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 10716 "Create Bank Account NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -9106000, VoldaCityLbl, PostCode6100Lbl); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, VoldaCityLbl, PostCode6100Lbl); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; City: Text[30]; PostCode: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate(City, City); + BankAccount.Validate("Post Code", PostCode); + end; + + var + + VoldaCityLbl: Label 'VOLDA', MaxLength = 30, Locked = true; + PostCode6100Lbl: Label '6100', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Bank/2.Master Data/CreateGenJournalLineNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Bank/2.Master Data/CreateGenJournalLineNO.Codeunit.al new file mode 100644 index 0000000000..bebbe49e89 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Bank/2.Master Data/CreateGenJournalLineNO.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 10704 "Create Gen. Journal Line NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGenJournalLine(); + UpdateBankAccReconciliationLine(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -17352.13); + 20000: + Rec.Validate(Amount, -26028.2); + 30000: + Rec.Validate(Amount, -34704.27); + 40000: + Rec.Validate(Amount, -34704.27); + end; + end; + + local procedure UpdateGenJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.Get(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000); + if GenJournalLine."Account No." = '' then begin + GenJournalLine.Validate(Amount, 0); + GenJournalLine.Modify(true); + end; + end; + + local procedure UpdateBankAccReconciliationLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + BankAccount: Record "Bank Account"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccount.Get(CreateBankAccount.Checking()); + + BankAccReconciliationLine.Get(BankAccReconciliationLine."Statement Type"::"Bank Reconciliation", BankAccount."No.", BankAccount."Last Statement No.", 30000); + BankAccReconciliationLine.Validate("Transaction Text", DepositToAccountLbl); + BankAccReconciliationLine.Validate(Description, CopyStr(BankAccReconciliationLine."Transaction Text", 1, MaxStrLen(BankAccReconciliationLine.Description))); + BankAccReconciliationLine.Modify(true); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 18.01.24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookNO.Codeunit.al new file mode 100644 index 0000000000..6aea5f50d5 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookNO.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 10727 "Create FA Depreciation Book NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateCurrencyNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateCurrencyNO.Codeunit.al new file mode 100644 index 0000000000..35627f2048 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateCurrencyNO.Codeunit.al @@ -0,0 +1,75 @@ +codeunit 10663 "Create Currency NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.RUB(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, '', ''); + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec, '', ''); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; UnrealizedGainsAcc: Code[20]; UnrealizedLossesAcc: Code[20]) + begin + Currency.Validate("Unrealized Gains Acc.", UnrealizedGainsAcc); + Currency.Validate("Unrealized Losses Acc.", UnrealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupNO.Codeunit.al new file mode 100644 index 0000000000..6aa60b97c7 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupNO.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 10712 "Create General Ledger Setup NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + Currency.Get(CreateCurrency.NOK()); + ValidateRecordFields(CreateCurrency.NOK(), LocalCurrencySymbolLbl, Currency.Description, 0.001); + end; + + local procedure ValidateRecordFields(LCYCode: Code[10]; LocalCurrencySymbol: Text[10]; LocalCurrencyDescription: Text[60]; UnitAmountRoundingPrecision: Decimal) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbol); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrencyDescription); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := UnitAmountRoundingPrecision; + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrencySymbolLbl: Label 'kr', Locked = true; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsNO.Codeunit.al new file mode 100644 index 0000000000..6144d9de74 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsNO.Codeunit.al @@ -0,0 +1,415 @@ +codeunit 10707 "Create Vat Posting Groups NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVatReportingCode(); + InsertVATProductPostingGroup(); + InsertVATBusinessPostingGroups(); + end; + + local procedure InsertVatReportingCode() + var + ContosoPostingSetupNo: Codeunit "Contoso Posting Setup NO"; + begin + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode0(), NoVATtreatmentLbl, 1, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode1(), InputVATdeductdomesticLbl, 1, 14, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode11(), InputVATdeductdomesticLbl, 1, 15, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode12(), InputVATdeductdomesticLbl, 1, 15, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode13(), InputVATdeductdomesticLbl, 1, 16, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode14(), InputVATdeductimportLbl, 1, 17, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode15(), InputVATdeductimportLbl, 1, 18, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode2(), PurchaseVATandInvTaxLbl, 1, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode21(), BasisonimportofgoodsLbl, 1, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode22(), BasisonimportofgoodsLbl, 1, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode23(), BasisonimportofgoodsLbl, 1, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode3(), OutputVATLbl, 2, 3, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode31(), OutputVATLbl, 2, 4, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode32(), OutputVATLbl, 2, 4, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode33(), OutputVATLbl, 2, 5, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode4(), PurchVATand0InvTaxLbl, 1, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode5(), NooutputVATLbl, 2, 6, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode51(), DomsalesofrevchVAToblLbl, 2, 7, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode52(), ExportofgoodsandservicesLbl, 2, 8, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode6(), NotliabletoVATtreatmentLbl, 2, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode7(), NoVATtreatmentLbl, 2, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode81(), ImpofgoodsVATdeductLbl, 1, 9, 17); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode82(), ImpofgoodswodedofVATLbl, 1, 9, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode83(), ImpofgoodsVATdeductLbl, 1, 10, 18); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode84(), ImpofgoodswodedofVATLbl, 1, 10, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode85(), ImpofgoodsnaforVATLbl, 1, 0, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode86(), ServpurchabroadVATdeductLbl, 1, 12, 17); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode87(), ServpurchabroadwodedVATLbl, 1, 12, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode88(), ServpurchabroadVATdeductLbl, 1, 12, 17); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode89(), ServpurchabroadwodedVATLbl, 1, 12, 0); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode91(), PurchofemisstrgolddeductLbl, 1, 13, 14); + ContosoPostingSetupNo.InsertVatReportingCode(VatRepCode92(), PurofemisstrgoldwodeducLbl, 1, 14, 0); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(Full(), FullDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Low(), LowDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(OutSide(), OutSideDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(High(), HighDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Service(), ServiceDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Without(), WithOutDescriptionLbl); + end; + + local procedure InsertVATBusinessPostingGroups() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + ContosoPostingGroup.InsertVATBusinessPostingGroup(CUSTHIGH(), CustomerhighvatDescLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(CUSTLOW(), CustomerlowvatDescLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(CUSTNOVAT(), CustomernovatDescLbl); + + ContosoPostingGroup.InsertVATBusinessPostingGroup(VENDHIGH(), VendorhighvatLDescLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(VENDLOW(), VendorlowvatDescLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(VENDNOVAT(), VendornovatDescLbl); + end; + + procedure InsertVATPostingSetup() + var + ContosoPostingSetupNO: Codeunit "Contoso Posting Setup NO"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingSetupNO.SetOverwriteData(true); + + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTHIGH(), Full(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Full(), 0, Enum::"Tax Calculation Type"::"Full VAT", 'E', '', '', VatRepCode52(), '', VatRepCode13()); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTHIGH(), High(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), High(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', VatRepCode3(), '', VatRepCode3()); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTHIGH(), Low(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Low(), 11.11, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', VatRepCode33(), '', ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTHIGH(), OutSide(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), OutSide(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode52(), '', ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTHIGH(), Without(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode5(), '', ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTLOW(), High(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Low(), 11.11, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', VatRepCode31(), '', ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTLOW(), Low(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Low(), 11.11, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', VatRepCode32(), '', ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTLOW(), OutSide(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), OutSide(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode52(), '', ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTLOW(), Without(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode5(), '', ''); + + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTNOVAT(), High(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode81(), VatRepCode81(), ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTNOVAT(), Low(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode82(), VatRepCode82(), ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTNOVAT(), OutSide(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), OutSide(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode83(), VatRepCode83(), ''); + ContosoPostingSetupNO.InsertVATPostingSetup(CUSTNOVAT(), Without(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode84(), '', VatRepCode0()); + + ContosoPostingSetupNO.InsertVATPostingSetup(VENDHIGH(), Full(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Full(), 0, Enum::"Tax Calculation Type"::"Full VAT", 'E', '', '', '', VatRepCode15(), VatRepCode11()); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDHIGH(), High(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), High(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', '', VatRepCode1(), VatRepCode1()); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDHIGH(), Low(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Low(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', '', VatRepCode1(), ''); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDHIGH(), Without(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', '', VatRepCode13(), ''); + + ContosoPostingSetupNO.InsertVATPostingSetup(VENDLOW(), High(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Low(), 11.11, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', '', VatRepCode11(), ''); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDLOW(), Low(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Low(), 11.11, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', '', VatRepCode12(), ''); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDLOW(), Without(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', '', VatRepCode13(), ''); + + ContosoPostingSetupNO.InsertVATPostingSetup(VENDNOVAT(), High(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode88(), VatRepCode88(), ''); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDNOVAT(), Low(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode87(), '', ''); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDNOVAT(), Service(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccount.PurchaseVAT25(), '', VatRepCode86(), VatRepCode86(), VatRepCode14()); + ContosoPostingSetupNO.InsertVATPostingSetup(VENDNOVAT(), Without(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Without(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', VatRepCode89(), '', ''); + ContosoPostingSetupNO.SetOverwriteData(false); + end; + + procedure Full(): Code[20] + begin + exit(FullTok); + end; + + procedure Low(): Code[20] + begin + exit(LowTok); + end; + + procedure OutSide(): Code[20] + begin + exit(OutSideTok); + end; + + procedure High(): Code[20] + begin + exit(HighTok); + end; + + procedure Service(): Code[20] + begin + exit(SERVICETok); + end; + + procedure Without(): Code[20] + begin + exit(WithoutTok); + end; + + procedure CUSTHIGH(): Code[20] + begin + exit(CUSTHIGHTok); + end; + + procedure CUSTLOW(): Code[20] + begin + exit(CUSTLOWTok); + end; + + procedure CUSTNOVAT(): Code[20] + begin + exit(CUSTNOVATTok); + end; + + procedure VENDHIGH(): Code[20] + begin + exit(VENDHIGHTok); + end; + + procedure VENDLOW(): Code[20] + begin + exit(VENDLOWTok); + end; + + procedure VENDNOVAT(): Code[20] + begin + exit(VENDNOVATTok); + end; + + procedure VatRepCode0(): Code[20] + begin + exit(VatRepCode0Tok); + end; + + procedure VatRepCode1(): Code[20] + begin + exit(VatRepCode1Tok); + end; + + procedure VatRepCode11(): Code[20] + begin + exit(VatRepCode11Tok); + end; + + procedure VatRepCode12(): Code[20] + begin + exit(VatRepCode12Tok); + end; + + procedure VatRepCode13(): Code[20] + begin + exit(VatRepCode13Tok); + end; + + procedure VatRepCode14(): Code[20] + begin + exit(VatRepCode14Tok); + end; + + procedure VatRepCode15(): Code[20] + begin + exit(VatRepCode15Tok); + end; + + procedure VatRepCode2(): Code[20] + begin + exit(VatRepCode2Tok); + end; + + procedure VatRepCode21(): Code[20] + begin + exit(VatRepCode21Tok); + end; + + procedure VatRepCode22(): Code[20] + begin + exit(VatRepCode22Tok); + end; + + procedure VatRepCode23(): Code[20] + begin + exit(VatRepCode23Tok); + end; + + procedure VatRepCode3(): Code[20] + begin + exit(VatRepCode3Tok); + end; + + procedure VatRepCode31(): Code[20] + begin + exit(VatRepCode31Tok); + end; + + procedure VatRepCode32(): Code[20] + begin + exit(VatRepCode32Tok); + end; + + procedure VatRepCode33(): Code[20] + begin + exit(VatRepCode33Tok); + end; + + procedure VatRepCode4(): Code[20] + begin + exit(VatRepCode4Tok); + end; + + procedure VatRepCode5(): Code[20] + begin + exit(VatRepCode5Tok); + end; + + procedure VatRepCode51(): Code[20] + begin + exit(VatRepCode51Tok); + end; + + procedure VatRepCode52(): Code[20] + begin + exit(VatRepCode52Tok); + end; + + procedure VatRepCode6(): Code[20] + begin + exit(VatRepCode6Tok); + end; + + procedure VatRepCode7(): Code[20] + begin + exit(VatRepCode7Tok); + end; + + procedure VatRepCode81(): Code[20] + begin + exit(VatRepCode81Tok); + end; + + procedure VatRepCode82(): Code[20] + begin + exit(VatRepCode82Tok); + end; + + procedure VatRepCode83(): Code[20] + begin + exit(VatRepCode83Tok); + end; + + procedure VatRepCode84(): Code[20] + begin + exit(VatRepCode84Tok); + end; + + procedure VatRepCode85(): Code[20] + begin + exit(VatRepCode85Tok); + end; + + procedure VatRepCode86(): Code[20] + begin + exit(VatRepCode86Tok); + end; + + procedure VatRepCode87(): Code[20] + begin + exit(VatRepCode87Tok); + end; + + procedure VatRepCode88(): Code[20] + begin + exit(VatRepCode88Tok); + end; + + procedure VatRepCode89(): Code[20] + begin + exit(VatRepCode89Tok); + end; + + procedure VatRepCode91(): Code[20] + begin + exit(VatRepCode91Tok); + end; + + procedure VatRepCode92(): Code[20] + begin + exit(VatRepCode92Tok); + end; + + var + FullTok: Label 'Full', Locked = true, MaxLength = 20; + FullDescriptionLbl: Label 'Full vat.', MaxLength = 100; + LowTok: Label 'LOW', Locked = true, MaxLength = 20; + LowDescriptionLbl: Label 'Misc - low vat.', MaxLength = 100; + HighTok: Label 'HIGH', Locked = true, MaxLength = 20; + HighDescriptionLbl: Label 'Misc - high vat.', MaxLength = 100; + OutSideTok: Label 'OUTSIDE', Locked = true, MaxLength = 20; + OutSideDescriptionLbl: Label 'Misc - outside vat area ', MaxLength = 100; + ServiceTok: Label 'SERVICE', Locked = true, MaxLength = 20; + ServiceDescriptionLbl: Label 'Inverse vat.', MaxLength = 100; + WithOutTok: Label 'WITHOUT', Locked = true, MaxLength = 20; + WithOutDescriptionLbl: Label 'Misc - without vat.', MaxLength = 100; + CUSTHIGHTok: Label 'CUSTHIGH', Locked = true, MaxLength = 20; + CUSTLOWTok: Label 'CUSTLOW', Locked = true, MaxLength = 20; + CUSTNOVATTok: Label 'CUSTNOVAT', Locked = true, MaxLength = 20; + VENDHIGHTok: Label 'VENDHIGH', Locked = true, MaxLength = 20; + VENDLOWTok: Label 'VENDLOW', Locked = true, MaxLength = 20; + VENDNOVATTok: Label 'VENDNOVAT', Locked = true, MaxLength = 20; + CustomerhighvatDescLbl: Label 'Customer - high vat', MaxLength = 100; + CustomerlowvatDescLbl: Label 'Customer - low vat', MaxLength = 100; + CustomernovatDescLbl: Label 'Customer - no vat.', MaxLength = 100; + VendorhighvatLDescLbl: Label 'Vendor - high vat', MaxLength = 100; + VendorlowvatDescLbl: Label 'Vendor - low vat', MaxLength = 100; + VendornovatDescLbl: Label 'Vendor - no vat.', MaxLength = 100; + VatRepCode0Tok: Label '0', MaxLength = 20, Locked = true; + VatRepCode1Tok: Label '1', MaxLength = 20, Locked = true; + VatRepCode11Tok: Label '11', MaxLength = 20, Locked = true; + VatRepCode12Tok: Label '12', MaxLength = 20, Locked = true; + VatRepCode13Tok: Label '13', MaxLength = 20, Locked = true; + VatRepCode14Tok: Label '14', MaxLength = 20, Locked = true; + VatRepCode15Tok: Label '15', MaxLength = 20, Locked = true; + VatRepCode2Tok: Label '2', MaxLength = 20, Locked = true; + VatRepCode21Tok: Label '21', MaxLength = 20, Locked = true; + VatRepCode22Tok: Label '22', MaxLength = 20, Locked = true; + VatRepCode23Tok: Label '23', MaxLength = 20, Locked = true; + VatRepCode3Tok: Label '3', MaxLength = 20, Locked = true; + VatRepCode31Tok: Label '31', MaxLength = 20, Locked = true; + VatRepCode32Tok: Label '32', MaxLength = 20, Locked = true; + VatRepCode33Tok: Label '33', MaxLength = 20, Locked = true; + VatRepCode4Tok: Label '4', MaxLength = 20, Locked = true; + VatRepCode5Tok: Label '5', MaxLength = 20, Locked = true; + VatRepCode51Tok: Label '51', MaxLength = 20, Locked = true; + VatRepCode52Tok: Label '52', MaxLength = 20, Locked = true; + VatRepCode6Tok: Label '6', MaxLength = 20, Locked = true; + VatRepCode7Tok: Label '7', MaxLength = 20, Locked = true; + VatRepCode81Tok: Label '81', MaxLength = 20, Locked = true; + VatRepCode82Tok: Label '82', MaxLength = 20, Locked = true; + VatRepCode83Tok: Label '83', MaxLength = 20, Locked = true; + VatRepCode84Tok: Label '84', MaxLength = 20, Locked = true; + VatRepCode85Tok: Label '85', MaxLength = 20, Locked = true; + VatRepCode86Tok: Label '86', MaxLength = 20, Locked = true; + VatRepCode87Tok: Label '87', MaxLength = 20, Locked = true; + VatRepCode88Tok: Label '88', MaxLength = 20, Locked = true; + VatRepCode89Tok: Label '89', MaxLength = 20, Locked = true; + VatRepCode91Tok: Label '91', MaxLength = 20, Locked = true; + VatRepCode92Tok: Label '92', MaxLength = 20, Locked = true; + NoVATtreatmentLbl: Label 'No VAT treatment', MaxLength = 250; + InputVATdeductdomesticLbl: Label 'Input VAT deduct. (domestic)', MaxLength = 250; + InputVATdeductimportLbl: Label 'Input VAT deduct. (import)', MaxLength = 250; + PurchaseVATandInvTaxLbl: Label 'Purchase - VAT and Inv. Tax', MaxLength = 250; + BasisonimportofgoodsLbl: Label 'Basis on import of goods', MaxLength = 250; + OutputVATLbl: Label 'Output VAT', MaxLength = 250; + PurchVATand0InvTaxLbl: Label 'Purch. - VAT and 0% Inv. Tax', MaxLength = 250; + NooutputVATLbl: Label 'No output VAT', MaxLength = 250; + DomsalesofrevchVAToblLbl: Label 'Dom. sales of rev.ch./VAT obl', MaxLength = 250; + ExportofgoodsandservicesLbl: Label 'Export of goods and services', MaxLength = 250; + NotliabletoVATtreatmentLbl: Label 'Not liable to VAT treatment', MaxLength = 250; + ImpofgoodsVATdeductLbl: Label 'Imp. of goods, VAT deduct.', MaxLength = 250; + ImpofgoodswodedofVATLbl: Label 'Imp. of goods, w/o ded. of VAT', MaxLength = 250; + ImpofgoodsnaforVATLbl: Label 'Imp. of goods, n/a for VAT', MaxLength = 250; + ServpurchabroadVATdeductLbl: Label 'Serv.purch.abroad, VAT deduct.', MaxLength = 250; + ServpurchabroadwodedVATLbl: Label 'Serv.purch.abroad, w/o ded.VAT', MaxLength = 250; + PurchofemisstrgolddeductLbl: Label 'Purch. of emiss.tr,gold,deduct', MaxLength = 250; + PurofemisstrgoldwodeducLbl: Label 'Pur.of emiss.tr,gold,w/o deduc', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateAccScheduleLineNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateAccScheduleLineNO.Codeunit.al new file mode 100644 index 0000000000..c70fa22099 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateAccScheduleLineNO.Codeunit.al @@ -0,0 +1,106 @@ +codeunit 10726 "Create Acc. Schedule Line NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 110000: + ValidateRecordFields(Rec, CreateGLAccount.GiroAccount(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 60000: + ValidateRecordFields(Rec, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 70000: + ValidateRecordFields(Rec, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal() + '|' + CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '10' + '..' + '30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFieldsReducedTrialBalance(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false, TotalRevenueLbl); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalOperatingExpenses() + '|' + CreateGLAccount.TotalPersonnelExpenses() + '|' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 90000: + ValidateRecordFields(Rec, CreateGLAccount.NetIncomeBeforeTaxes(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + local procedure ValidateRecordFieldsReducedTrialBalance(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean; Description: Text[100]) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Description, Description); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100, Locked = true; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateNO.Codeunit.al new file mode 100644 index 0000000000..0565949464 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateNO.Codeunit.al @@ -0,0 +1,200 @@ +codeunit 10664 "Create Currency Ex. Rate NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 974.5719, 974.5719); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 1043.2406, 1043.2406); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 1001.9886, 1001.9886); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 227.8091, 227.8091); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 334.2732, 334.2732); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 308.0581, 308.0581); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 383.0038, 383.0038); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 238.9633, 238.9633); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 420.9206, 420.9206); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 529.6055, 529.6055); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 25.9414, 25.9414); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 113.83, 113.83); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 10.9321, 10.9321); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 6.2936, 6.2936); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 293.7383, 293.7383); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 85.4066, 85.4066); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 115.1607, 115.1607); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.581, 3.581); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0941, 0.0941); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 14.0352, 14.0352); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 9.6983, 9.6983); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 5.6574, 5.6574); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 10.551, 10.551); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 80.2432, 80.2432); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 70.2673, 70.2673); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 176.0039, 176.0039); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.3625, 0.3625); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6.6273, 6.6273); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 282.9131, 282.9131); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 13.0563, 13.0563); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 161.7752, 161.7752); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.2559, 0.2559); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 9.9638, 9.9638); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 22.9026, 22.9026); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 178.1553, 178.1553); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 123.6763, 123.6763); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 96.4482, 96.4482); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 385.4398, 385.4398); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 91.9446, 91.9446); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.0028, 15.0028); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 614.0889, 614.0889); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 3.3256, 3.3256); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 519.832, 519.832); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.4836, 0.4836); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 632.3257, 632.3257); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.6784, 4.6784); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2334.4939, 2334.4939); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 7.1189, 7.1189); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 77.8711, 77.8711); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 849.1946, 849.1946); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 99.089, 99.089); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 640.3165, 640.3165); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 848.5799, 848.5799); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 102.1055, 102.1055); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 660.8856, 660.8856); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreatePostingGroupsNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreatePostingGroupsNO.Codeunit.al new file mode 100644 index 0000000000..3a4abe9a10 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreatePostingGroupsNO.Codeunit.al @@ -0,0 +1,109 @@ +codeunit 10708 "Create Posting Groups NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertGenPostingGroup(); + InsertGenBusinessPostingGroup(); + end; + + local procedure InsertGenPostingGroup() + var + CreateVATPostingGroupsNO: Codeunit "Create VAT Posting Groups NO"; + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoPostingGroup.InsertGenProductPostingGroup(NoVatPostingGroup(), NoVatDescriptionLbl, CreateVATPostingGroupsNO.Without()); + + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.FreightPostingGroup(), FreightDescriptionLbl, CreateVATPostingGroupsNO.High()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.MiscPostingGroup(), MiscDescriptionLbl, CreateVATPostingGroupsNO.High()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.RawMatPostingGroup(), RawMatDescriptionLbl, CreateVATPostingGroupsNO.High()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.RetailPostingGroup(), RetailDescriptionLbl, CreateVATPostingGroupsNO.High()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.ServicesPostingGroup(), ServicesDescriptionLbl, CreateVATPostingGroupsNO.Low()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure InsertGenBusinessPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateVATPostingGroupsNO: Codeunit "Create VAT Posting Groups NO"; + begin + ContosoPostingGroup.InsertGenBusinessPostingGroup(CustDom(), CustDomDesLbl, CreateVATPostingGroupsNO.CUSTHIGH()); + ContosoPostingGroup.InsertGenBusinessPostingGroup(CustFor(), CustForDesLbl, CreateVATPostingGroupsNO.CUSTNOVAT()); + ContosoPostingGroup.InsertGenBusinessPostingGroup(VendDom(), VendDomDesLbl, CreateVATPostingGroupsNO.VENDHIGH()); + ContosoPostingGroup.InsertGenBusinessPostingGroup(VendFor(), VendForDesLbl, CreateVATPostingGroupsNO.VENDNOVAT()); + end; + + procedure CustDom(): Code[20] + begin + exit(CustDomTok); + end; + + procedure CustFor(): Code[20] + begin + exit(CustForTok); + end; + + procedure VendDom(): Code[20] + begin + exit(VendDomTok); + end; + + procedure VendFor(): Code[20] + begin + exit(VendForTok); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NoVatPostingGroup(), '', '', '7170', '7170', '', '', '', '', '', '', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', '7170', '7170', '', '', '', '', '', '', '7190', '2112', '5510'); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CustDom(), NoVatPostingGroup(), '6210', '', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CustDom(), CreatePostingGroups.RetailPostingGroup(), '6110', '', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CustDom(), CreatePostingGroups.ServicesPostingGroup(), '6410', '', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CustFor(), NoVatPostingGroup(), '6210', '', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CustFor(), CreatePostingGroups.RetailPostingGroup(), '6130', '', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CustFor(), CreatePostingGroups.ServicesPostingGroup(), '6430', '', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(VendDom(), NoVatPostingGroup(), '', '7110', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(VendDom(), CreatePostingGroups.RetailPostingGroup(), '', '7110', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(VendDom(), CreatePostingGroups.ServicesPostingGroup(), '', '7110', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(VendFor(), NoVatPostingGroup(), '', '7230', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(VendFor(), CreatePostingGroups.RetailPostingGroup(), '', '7130', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.InsertGeneralPostingSetup(VendFor(), CreatePostingGroups.ServicesPostingGroup(), '', '7130', '7170', '7170', '', '', '6910', '6910', '7140', '7140', '7190', '2112', '5510'); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure NoVatPostingGroup(): Code[20] + begin + exit(NoVatTok); + end; + + + var + NoVatTok: Label 'NO VAT', Locked = true, MaxLength = 20; + NoVatDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + FreightDescriptionLbl: Label 'Freight, etc.', MaxLength = 100; + MiscDescriptionLbl: Label 'Miscellaneous with VAT', MaxLength = 100; + RawMatDescriptionLbl: Label 'Raw Materials', MaxLength = 100; + RetailDescriptionLbl: Label 'Retail', MaxLength = 100; + ServicesDescriptionLbl: Label 'Resources, etc.', MaxLength = 100; + CustDomTok: Label 'CUSTDOM', MaxLength = 20; + CustDomDesLbl: Label 'Domestic customers', MaxLength = 100; + CustForTok: Label 'CUSTFOR', MaxLength = 20; + CustForDesLbl: Label 'Foreign customers', MaxLength = 100; + VendDomTok: Label 'VENDDOM', MaxLength = 20; + VendDomDesLbl: Label 'Domestic vendors', MaxLength = 100; + VendForTok: Label 'VENDFOR', MaxLength = 20; + VendForDesLbl: Label 'Foreign vendors', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateResourceNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateResourceNO.Codeunit.al new file mode 100644 index 0000000000..f430c7761c --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateResourceNO.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 10706 "Create Resource NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, CityLbl, 490, 539, 970, PostCodeLbl, CreateVatPostingGroupsNO.Low()); + CreateResource.Lina(): + ValidateRecordFields(Rec, CityLbl, 580, 638, 1170, PostCodeLbl, CreateVatPostingGroupsNO.Low()); + CreateResource.Marty(): + ValidateRecordFields(Rec, CityLbl, 440, 484, 880, PostCodeLbl, CreateVatPostingGroupsNO.Low()); + CreateResource.Terry(): + ValidateRecordFields(Rec, CityLbl, 490, 539, 970, PostCodeLbl, CreateVatPostingGroupsNO.Low()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VatProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Post Code", PostCode); + Resource."Country/Region Code" := ''; + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("VAT Prod. Posting Group", VatProdPostingGroup); + end; + + var + CityLbl: Label 'BREGER', MaxLength = 30, Locked = true; + PostCodeLbl: Label '5003', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostGrpNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostGrpNO.Codeunit.al new file mode 100644 index 0000000000..314a2de58c --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostGrpNO.Codeunit.al @@ -0,0 +1,56 @@ +codeunit 10725 "Create VAT Setup Post Grp. NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + CreateVatSetupPostingGrp(); + CreateVATAssistedSetupGrp(); + end; + + local procedure CreateVatSetupPostingGrp() + var + CreateVatPostingGroupNO: Codeunit "Create VAT Posting Groups NO"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupNO.Full(), true, 0, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, StrSubstNo(VendHighDescLbl, CreateVatPostingGroupNO.Full())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupNO.High(), true, 11.11, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, StrSubstNo(VendNoVatDescLbl, CreateVatPostingGroupNO.High())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupNO.Low(), true, 11.11, CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), true, 1, StrSubstNo(VendNoVatDescLbl, CreateVatPostingGroupNO.Low())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupNO.OutSide(), true, 0, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, StrSubstNo(CustNoVatDescLbl, CreateVatPostingGroupNO.OutSide())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupNO.Service(), true, 25, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, StrSubstNo(VendNoVatDescLbl, CreateVatPostingGroupNO.Service())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroupNO.Without(), true, 0, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, StrSubstNo(VendNoVatDescLbl, CreateVatPostingGroupNO.Without())); + end; + + local procedure CreateVATAssistedSetupGrp() + var + CreateVatPostingGroupNO: Codeunit "Create VAT Posting Groups NO"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + begin + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupNO.CUSTHIGH(), CustHighDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupNO.CUSTLOW(), CustLowDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupNO.CUSTNOVAT(), CustNoVatDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupNO.VENDHIGH(), VendHighDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupNO.VENDLOW(), VendLowDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroupNO.VENDNOVAT(), VendNoVatDescriptionLbl, true, true); + end; + + var + CustHighDescriptionLbl: Label 'Customer - high vat', MaxLength = 100; + CustLowDescriptionLbl: Label 'Customer - low vat', MaxLength = 100; + CustNoVatDescriptionLbl: Label 'Customer - no vat.', MaxLength = 100; + VendHighDescriptionLbl: Label 'Vendor - high vat', MaxLength = 100; + VendLowDescriptionLbl: Label 'Vendor - low vat', MaxLength = 100; + VendNoVatDescriptionLbl: Label 'Vendor - no vat.', MaxLength = 100; + VendHighDescLbl: Label 'Setup for VENDHIGH / %1', Comment = '%1 is Vat Assist Code', MaxLength = 100; + VendNoVatDescLbl: Label 'Setup for VENDNOVAT / %1', Comment = '%1 is Vat Assist Code', MaxLength = 100; + CustNoVatDescLbl: Label 'Setup for CUSTNOVAT / %1', Comment = '%1 is Vat Assist Code', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationNO.Codeunit.al new file mode 100644 index 0000000000..f24f6b1f4c --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationNO.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 10705 "Create Company Information NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + begin + ValidateRecordSEelds(CityLbl, PostCodeLbl, VatRegNoLbl, SwiftCodeLbl); + end; + + local procedure ValidateRecordSEelds(City: Text[30]; PostCode: Code[20]; VatRegNo: Text[20]; SwiftCode: Code[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCodeLbl); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + CompanyInformation.Validate("VAT Registration No.", VatRegNo); + CompanyInformation.Validate("SWIFT Code", SwiftCode); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'OSLO', Maxlength = 30, Locked = true; + PostCodeLbl: Label '0102', MaxLength = 20; + SwiftCodeLbl: Label 'DBASBANO00ABC', MaxLength = 20; + VatRegNoLbl: Label 'NO 777 777 777', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeNO.Codeunit.al new file mode 100644 index 0000000000..f44f7d803c --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeNO.Codeunit.al @@ -0,0 +1,7125 @@ +codeunit 10668 "Create Post Code NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostCodeNL: Codeunit "Contoso Post Code NO"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeNL.InsertPostCode('0001', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0010', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0014', OSLOLMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0015', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0016', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0017', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0018', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0019', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0020', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0021', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0022', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0023', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0024', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0025', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0026', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0027', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0028', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0030', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0031', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0032', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0033', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0034', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0037', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0040', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0041', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0042', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0043', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0045', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0046', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0047', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0048', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0050', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0051', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0055', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0080', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0101', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0102', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0103', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0104', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0105', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0106', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0107', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0110', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0111', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0112', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0113', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0114', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0115', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0116', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0117', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0118', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0119', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0120', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0121', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0122', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0123', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0124', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0125', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0128', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0129', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0130', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0131', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0132', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0133', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0134', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0135', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0136', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0137', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0138', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0139', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0150', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0151', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0152', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0153', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0154', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0155', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0157', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0158', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0159', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0160', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0161', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0162', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0164', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0165', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0166', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0167', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0168', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0169', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0170', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0171', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0172', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0173', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0174', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0175', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0176', 'Oslo', CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0177', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0178', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0179', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0180', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0181', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0182', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0183', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0184', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0185', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0186', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0187', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0188', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0190', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0191', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0192', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0193', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0196', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0198', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0201', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0202', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0203', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0204', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0207', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0208', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0211', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0212', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0213', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0214', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0215', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0216', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0230', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0240', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0241', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0242', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0243', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0244', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0245', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0246', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0250', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0251', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0253', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0254', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0255', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0256', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0257', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0258', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0259', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0260', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0262', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0263', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0264', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0265', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0266', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0267', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0268', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0270', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0271', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0272', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0273', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0274', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0275', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0276', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0277', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0278', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0280', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0281', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0282', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0283', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0284', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0286', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0287', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0301', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0302', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0303', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0304', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0305', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0306', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0307', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0308', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0309', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0310', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0311', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0312', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0313', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0314', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0315', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0316', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0317', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0318', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0319', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0320', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0323', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0330', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0340', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0341', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0342', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0349', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0350', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0351', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0352', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0353', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0354', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0355', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0356', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0357', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0358', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0359', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0360', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0361', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0362', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0363', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0364', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0365', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0366', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0367', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0368', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0369', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0370', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0371', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0372', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0373', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0374', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0375', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0376', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0377', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0378', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0379', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0380', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0381', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0382', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0383', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0401', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0402', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0403', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0404', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0405', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0406', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0407', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0408', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0409', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0411', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0412', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0413', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0421', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0422', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0423', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0424', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0425', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0426', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0440', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0441', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0445', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0450', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0451', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0452', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0454', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0455', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0456', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0457', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0458', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0459', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0460', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0461', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0462', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0463', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0464', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0465', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0467', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0468', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0469', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0470', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0472', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0473', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0474', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0475', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0476', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0477', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0478', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0479', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0480', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0481', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0482', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0483', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0484', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0485', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0486', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0487', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0488', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0489', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0490', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0491', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0492', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0493', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0494', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0495', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0496', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0501', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0502', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0503', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0504', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0505', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0506', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0508', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0509', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0510', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0511', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0512', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0513', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0514', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0515', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0516', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0517', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0518', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0520', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0530', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0531', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0532', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0540', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0550', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0551', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0552', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0553', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0554', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0555', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0556', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0557', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0558', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0559', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0560', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0561', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0562', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0563', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0564', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0565', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0566', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0567', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0568', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0569', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0570', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0571', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0572', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0573', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0574', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0575', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0576', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0577', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0578', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0579', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0580', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0581', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0582', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0583', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0584', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0585', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0586', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0587', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0588', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0589', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0590', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0591', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0592', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0593', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0594', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0595', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0596', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0597', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0598', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0601', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0602', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0603', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0604', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0605', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0606', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0607', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0608', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0609', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0610', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0611', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0612', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0613', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0614', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0616', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0617', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0618', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0619', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0620', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0621', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0622', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0623', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0624', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0630', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0640', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0650', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0651', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0652', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0653', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0654', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0655', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0656', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0657', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0658', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0659', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0660', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0661', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0662', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0663', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0664', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0665', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0666', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0667', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0668', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0669', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0670', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0671', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0672', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0673', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0674', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0675', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0676', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0677', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0678', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0679', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0680', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0681', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0682', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0683', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0684', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0685', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0686', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0687', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0688', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0689', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0690', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0691', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0692', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0693', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0694', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0701', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0702', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0705', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0710', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0712', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0750', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0751', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0752', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0753', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0754', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0755', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0756', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0757', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0758', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0759', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0760', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0763', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0764', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0765', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0766', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0767', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0768', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0770', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0771', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0772', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0773', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0774', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0775', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0776', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0777', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0778', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0779', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0781', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0782', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0783', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0784', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0785', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0786', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0787', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0788', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0789', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0790', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0791', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0801', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0805', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0806', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0807', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0840', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0850', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0851', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0852', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0853', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0854', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0855', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0856', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0857', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0858', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0860', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0861', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0862', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0863', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0864', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0870', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0871', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0872', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0873', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0874', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0875', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0876', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0877', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0880', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0881', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0882', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0883', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0884', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0890', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0891', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0901', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0902', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0903', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0904', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0905', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0907', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0913', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0915', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0950', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0951', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0952', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0953', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0954', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0955', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0956', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0957', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0958', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0959', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0960', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0962', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0963', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0964', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0968', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0969', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0970', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0971', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0972', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0973', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0975', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0976', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0977', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0978', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0979', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0980', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0981', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0982', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0983', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0984', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0985', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0986', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0987', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('0988', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1001', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1003', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1005', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1006', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1007', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1008', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1009', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1011', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1051', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1052', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1053', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1054', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1055', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1056', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1061', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1062', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1063', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1064', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1065', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1067', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1068', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1069', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1071', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1081', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1083', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1084', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1086', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1087', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1088', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1089', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1101', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1107', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1109', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1112', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1150', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1151', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1152', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1153', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1154', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1155', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1156', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1157', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1158', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1160', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1161', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1162', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1163', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1164', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1165', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1166', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1167', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1168', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1169', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1170', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1172', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1176', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1177', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1178', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1179', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1181', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1182', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1184', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1185', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1187', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1188', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1189', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1201', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1202', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1203', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1204', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1205', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1206', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1207', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1212', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1214', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1215', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1250', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1251', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1252', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1253', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1254', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1255', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1256', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1257', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1258', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1259', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1262', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1263', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1266', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1270', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1271', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1272', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1273', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1274', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1275', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1277', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1278', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1279', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1281', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1283', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1284', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1285', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1286', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1290', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1291', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1294', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1295', OSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1300', SANDVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1301', SANDVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1302', SANDVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1303', SANDVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1305', HASLUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1306', BÆRUMPOSTTERMINALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1309', RUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1311', KUNSTSENTRETHØVIKODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1312', SLEPENDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1313', VØYENENGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1314', VØYENENGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1316', EIKSMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1317', BÆRUMSVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1318', BEKKESTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1319', BEKKESTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1321', STABEKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1322', HØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1323', HØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1324', LYSAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1325', LYSAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1326', LYSAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1327', LYSAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1330', FORNEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1331', FORNEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1332', ØSTERÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1333', KOLSÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1334', RYKKINNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1335', SNARØYALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1336', SANDVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1337', SANDVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1338', SANDVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1339', VØYENENGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1340', SKUILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1341', SLEPENDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1344', HASLUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1346', GJETTUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1348', RYKKINNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1349', RYKKINNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1350', LOMMEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1351', RUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1352', KOLSÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1353', BÆRUMSVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1354', BÆRUMSVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1356', BEKKESTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1357', BEKKESTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1358', JARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1359', EIKSMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1361', ØSTERÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1362', HOSLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1363', HØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1365', BLOMMENHOLMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1366', LYSAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1367', SNARØYALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1368', STABEKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1369', STABEKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1370', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1371', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1372', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1373', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1375', BILLINGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1376', BILLINGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1377', BILLINGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1378', NESBRULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1379', NESBRULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1380', HEGGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1381', VETTRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1383', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1384', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1385', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1386', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1387', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1388', BORGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1389', HEGGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1390', VOLLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1391', VOLLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1392', VETTRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1393', VOLLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1394', NESBRULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1395', HVALSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1396', BILLINGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1397', NESØYALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1399', ASKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1400', SKILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1401', SKILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1402', SKILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1403', LANGHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1404', SIGGERUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1405', LANGHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1406', SKILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1407', VINTERBROLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1408', KRÅKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1409', SKOTBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1410', KOLBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1411', KOLBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1412', SOFIEMYRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1413', TÅRNÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1414', TROLLÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1415', OPPEGÅRDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1416', OPPEGÅRDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1417', SOFIEMYRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1419', OPPEGÅRDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1420', SVARTSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1421', TROLLÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1430', ÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1431', ÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1432', ÅSLandbrukshøyskolenLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1440', DRØBAKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1441', DRØBAKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1442', DRØBAKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1443', OSCARSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1444', SKIPHELLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1445', HEERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1450', NESODDTANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1451', NESODDTANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1453', BJØRNEMYRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1454', FAGERSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1455', NORDREFROGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1458', FJELLSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1459', FJELLSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1470', LØRENSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1471', LØRENSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1472', FJELLHAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1473', LØRENSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1474', NORDBYHAGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1475', FINSTADJORDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1476', RASTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1480', SLATTUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1481', HAGANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1482', NITTEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1483', SKYTTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1484', ÅNEBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1487', TØYENHAUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1488', HAKADALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1501', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1502', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1503', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1504', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1505', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1506', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1509', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1510', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1511', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1512', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1513', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1514', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1515', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1516', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1517', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1518', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1519', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1520', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1521', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1522', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1523', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1524', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1525', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1526', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1528', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1529', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1530', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1531', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1532', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1533', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1534', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1535', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1536', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1537', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1538', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1539', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1540', VESTBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1541', VESTBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1545', HVITSTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1550', HØLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1555', SONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1556', SONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1560', LARKOLLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1570', DILLINGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1580', RYGGELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1581', RYGGELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1583', RYGGELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1590', RYGGEFLYSTASJONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1591', SPERREBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1592', VÅLERIØSTFOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1593', SVINNDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1596', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1597', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1598', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1599', MOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1601', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1602', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1603', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1604', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1605', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1606', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1607', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1608', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1610', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1612', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1613', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1614', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1615', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1616', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1617', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1618', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1619', FREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1620', GRESSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1621', GRESSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1624', GRESSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1625', MANSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1626', MANSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1628', ENGALSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1630', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1631', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1632', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1633', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1634', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1636', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1637', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1639', GAMLEFREDRIKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1640', RÅDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1641', RÅDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1642', SALTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1650', SELLEBAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1651', SELLEBAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1653', SELLEBAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1654', SELLEBAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1655', SELLEBAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1657', TORPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1658', TORPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1659', TORPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1661', ROLVSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1662', ROLVSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1663', ROLVSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1664', ROLVSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1665', ROLVSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1666', ROLVSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1667', ROLVSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1670', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1671', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1672', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1673', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1675', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1676', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1678', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1679', KRÅKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1680', SKJÆRHALLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1684', VESTERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1690', HERFØLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1692', NEDGÅRDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1701', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1702', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1703', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1704', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1705', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1706', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1707', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1708', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1709', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1710', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1711', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1712', GRÅLUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1713', GRÅLUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1714', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1715', YVENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1718', GREÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1719', GREÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1720', GREÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1721', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1722', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1723', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1724', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1725', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1726', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1727', SARPSBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1730', ISELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1733', HAFSLUNDSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1734', HAFSLUNDSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1735', VARTEIGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1738', BORGENHAUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1739', BORGENHAUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1740', BORGENHAUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1742', KLAVESTADHAUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1743', KLAVESTADHAUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1745', SKJEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1746', SKJEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1747', SKJEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1751', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1752', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1753', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1754', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1755', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1756', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1757', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1758', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1759', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1760', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1761', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1763', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1764', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1765', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1766', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1767', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1768', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1769', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1771', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1772', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1776', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1777', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1778', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1779', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1781', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1782', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1783', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1784', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1785', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1786', HALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1787', BERGIØSTFOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1788', BERGIØSTFOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1789', BERGIØSTFOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1790', TISTEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1791', TISTEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1792', TISTEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1793', TISTEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1794', SPONVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1796', KORNSJØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1798', AREMARKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1801', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1802', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1803', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1804', SPYDEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1805', TOMTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1806', SKIPTVETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1807', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1808', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1809', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1811', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1812', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1813', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1814', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1815', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1816', SKIPTVETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1820', SPYDEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1823', KNAPSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1825', TOMTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1827', HOBØLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1830', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1831', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1832', ASKIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1850', MYSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1851', MYSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1859', SLITULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1860', TRØGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1861', TRØGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1866', BÅSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1867', BÅSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1870', ØRJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1871', ØRJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1875', OTTEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1878', HÆRLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1880', EIDSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1890', RAKKESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1891', RAKKESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1892', DEGERNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1900', FETSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1901', FETSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1903', GANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1910', ENEBAKKNESETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1911', FLATEBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1912', ENEBAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1914', YTREENEBAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1920', SØRUMSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1921', SØRUMSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1923', SØRUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1925', BLAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1927', RÅNÅSFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1929', AULILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1930', AURSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1940', BJØRKELANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1941', BJØRKELANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1950', RØMSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1954', SETSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1960', LØKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1963', FOSSERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('1970', HEMNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2000', LILLESTRØMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2001', LILLESTRØMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2003', LILLESTRØMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2004', LILLESTRØMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2005', RÆLINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2006', LØVENSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2007', KJELLERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2008', FJERDINGBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2009', NORDBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2010', STRØMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2011', STRØMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2013', SKJETTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2014', BLYSTADLIALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2015', LEIRSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2016', FROGNERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2019', SKEDSMOKORSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2020', SKEDSMOKORSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2021', SKEDSMOKORSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2022', GJERDRUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2024', GJERDRUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2025', FJERDINGBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2026', SKJETTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2027', KJELLERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2030', NANNESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2031', NANNESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2032', MAURALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2033', ÅSGREINALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2034', HOLTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2040', KLØFTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2041', KLØFTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2050', JESSHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2051', JESSHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2054', MOGREINALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2055', NORDKISALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2056', ALGARHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2057', JESSHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2058', SESSVOLLMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2059', TRANDUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2060', GARDERMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2061', GARDERMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2065', GARDERMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2070', RÅHOLTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2071', RÅHOLTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2072', DALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2073', BØNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2074', EIDSVOLLVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2080', EIDSVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2081', EIDSVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2090', HURDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2091', HURDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2092', MINNESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2093', FEIRINGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2100', SKARNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2101', SKARNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2110', SLÅSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2114', DISENÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2116', SANDERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2120', SAGSTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2123', BRUVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2130', KNAPPERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2133', GARDVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2134', AUSTVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2150', ÅRNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2151', ÅRNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2160', VORMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2162', BRÅRUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2164', SKOGBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2165', HVAMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2166', OPPAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2170', FENSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2201', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2202', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2203', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2204', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2205', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2206', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2208', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2209', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2210', GRANLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2211', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2212', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2213', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2214', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2216', ROVERUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2217', HOKKÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2218', LUNDERSÆTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2219', BRANDVALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2220', ÅBOGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2223', GALTERUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2224', AUSTMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2225', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2226', KONGSVINGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2230', SKOTTERUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2232', TOBØLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2233', VESTMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2235', MATRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2240', MAGNORLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2242', MOROKULIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2256', GRUEFINNSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2260', KIRKENÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2264', GRINDERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2265', NAMNÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2266', ARNEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2270', FLISALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2271', FLISALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2280', GJESÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2283', ÅSNESFINNSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2301', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2302', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2303', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2304', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2305', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2306', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2307', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2308', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2309', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2312', OTTESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2315', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2316', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2317', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2318', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2319', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2320', FURNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2321', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2322', RIDABULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2323', INGEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2324', VANGPÅHEDMARKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2325', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2326', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2327', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2328', HAMARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2330', VALLSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2332', ÅSVANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2334', ROMEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2335', STANGELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2336', STANGELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2337', TANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2338', ESPALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2340', LØTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2341', LØTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2344', ILSENGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2345', ÅDALSBRUKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2350', NESPÅHEDMARKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2353', STAVSJØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2355', GAUPENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2360', RUDSHØGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2364', NÆROSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2365', ÅSMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2372', BRØTTUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2380', BRUMUNDDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2381', BRUMUNDDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2390', MOELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2391', MOELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2401', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2402', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2403', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2404', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2405', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2406', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2407', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2408', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2409', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2410', HERNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2411', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2412', SØRSKOGBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2415', HERADSBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2416', JØMNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2418', ELVERUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2420', TRYSILLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2421', TRYSILLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2422', NYBERGSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2423', ØSTBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2425', LJØRDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2427', PLASSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2428', SØREOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2429', TØRBERGETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2430', JORDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2432', SLETTÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2435', BRASKEREIDFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2436', VÅLERISOLØRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2437', HASLEMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2438', GRAVBERGETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2440', ENGERDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2443', DREVSJØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2446', ELGÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2448', SØMÅDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2450', RENALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2451', RENALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2460', OSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2476', ATNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2477', SOLLIALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2478', HANESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2480', KOPPANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2481', KOPPANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2485', RENDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2500', TYNSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2501', TYNSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2510', TYLLDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2512', KVIKNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2540', TOLGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2542', VINGELENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2544', ØVERSJØDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2550', OSIØSTERDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2552', DALSBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2555', TUFSINGDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2560', ALVDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2561', ALVDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2580', FOLLDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2581', FOLLDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2582', GRIMSBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2584', DALHOLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2601', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2602', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2603', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2604', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2605', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2606', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2607', VINGROMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2608', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2609', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2610', MESNALILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2611', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2612', SJUSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2613', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2614', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2615', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2616', LISMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2617', JØRSTADMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2618', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2619', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2624', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2625', FÅBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2626', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2629', LILLEHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2630', RINGEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2631', RINGEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2632', VENABYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2633', FÅVANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2634', FÅVANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2635', TRETTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2636', ØYERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2637', ØYERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2639', VINSTRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2640', VINSTRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2642', KVAMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2643', SKÅBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2645', SØRFRONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2646', GÅLÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2647', SØRFRONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2648', SØRFRONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2649', ØSTREGAUSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2651', ØSTREGAUSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2652', SVINGVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2653', VESTREGAUSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2656', FOLLEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2657', SVATSUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2658', ESPEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2659', DOMBÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2660', DOMBÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2661', HJERKINNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2662', DOVRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2663', DOVRESKOGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2664', DOVRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2665', LESJALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2666', LORALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2667', LESJAVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2668', LESJASKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2669', BJORLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2670', OTTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2672', SELLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2673', HØVRINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2674', MYSUSÆTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2675', OTTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2676', HEIDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2677', NEDREHEIDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2680', VÅGÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2682', LALMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2683', TESSANDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2684', VÅGÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2685', GARMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2686', LOMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2687', BØVERDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2688', LOMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2690', SKJÅKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2693', NORDBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2694', SKJÅKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2695', GROTLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2711', GRANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2712', BRANDBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2713', ROALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2714', JARENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2715', LUNNERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2716', HARESTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2717', GRUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2718', BRANDBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2720', GRINDVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2730', LUNNERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2740', ROALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2742', GRUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2743', HARESTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2750', GRANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2760', BRANDBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2770', JARENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2801', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2802', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2803', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2804', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2805', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2807', HUNNDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2808', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2809', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2810', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2811', HUNNDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2815', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2816', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2817', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2818', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2819', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2821', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2822', BYBRUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2825', GJØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2827', HUNNDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2830', RAUFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2831', RAUFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2832', BIRILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2836', BIRILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2837', BIRISTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2838', SNERTINGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2839', ØVRESNERTINGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2840', REINSVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2843', EINALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2846', BØVERBRULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2847', KOLBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2848', SKREIALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2849', KAPPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2850', LENALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2851', LENALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2853', REINSVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2854', EINALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2857', SKREIALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2858', KAPPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2860', HOVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2861', LANDÅSBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2862', FLUBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2864', FALLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2866', ENGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2867', HOVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2870', DOKKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2879', ODNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2880', NORDTORPALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2881', AUSTTORPALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2882', DOKKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2890', ETNEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2893', ETNEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2900', FAGERNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2901', FAGERNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2907', LEIRAIVALDRESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2910', AURDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2917', SKRAUTVÅLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2918', ULNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2920', LEIRAIVALDRESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2923', TISLEIDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2929', BAGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2930', BAGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2933', REINLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2936', BEGNADALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2937', BEGNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2939', HEGGENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2940', HEGGENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2943', ROGNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2950', SKAMMESTEINLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2952', BEITOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2953', BEITOSTØLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2959', RØNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2960', RØNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2966', SLIDRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2967', LOMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2973', RYFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2974', VANGIVALDRESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2975', VANGIVALDRESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2977', ØYELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('2985', TYINKRYSSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3001', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3002', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3003', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3004', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3005', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3006', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3007', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3008', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3009', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3011', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3012', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3013', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3014', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3015', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3016', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3017', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3018', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3019', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3020', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3021', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3022', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3023', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3024', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3025', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3026', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3027', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3028', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3029', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3030', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3031', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3032', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3033', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3034', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3035', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3036', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3037', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3038', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3039', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3040', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3041', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3042', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3043', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3044', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3045', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3046', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3047', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3048', DRAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3050', MJØNDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3051', MJØNDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3053', STEINBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3054', KROKSTADELVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3055', KROKSTADELVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3056', SOLBERGELVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3057', SOLBERGELVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3058', SOLBERGMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3060', SVELVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3061', SVELVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3070', SANDEIVESTFOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3071', SANDEIVESTFOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3075', BERGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3080', HOLMESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3081', HOLMESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3087', BOTNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3088', BOTNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3090', HOFLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3092', SUNDBYFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3095', EIDSFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3101', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3102', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3103', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3104', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3105', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3106', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3107', SEMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3108', VEARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3109', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3110', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3111', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3112', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3113', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3114', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3115', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3116', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3117', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3118', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3120', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3121', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3122', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3123', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3124', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3125', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3126', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3129', TØNSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3131', HUSØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3132', HUSØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3133', DUKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3135', TORØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3137', TORØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3138', SKALLESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3140', BORGHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3141', KJØPMANNSKJÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3142', VESTSKOGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3143', KJØPMANNSKJÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3144', VEIERLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3145', TJØMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3147', VERDENSENDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3148', HVASSERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3150', TOLVSRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3151', TOLVSRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3152', TOLVSRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3153', TOLVSRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3154', TOLVSRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3157', BARKÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3158', ANDEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3159', MELSOMVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3160', STOKKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3161', STOKKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3162', ANDEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3163', BORGHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3164', REVETALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3165', TJØMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3166', TOLVSRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3167', ÅSGÅRDSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3169', STOKKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3170', SEMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3171', SEMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3172', VEARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3173', VEARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3174', REVETALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3175', RAMNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3177', VÅLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3178', VÅLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3179', ÅSGÅRDSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3180', NYKIRKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3181', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3182', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3183', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3184', BORRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3185', SKOPPUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3186', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3187', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3188', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3189', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3191', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3192', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3193', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3194', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3195', SKOPPUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3196', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3197', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3198', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3199', HORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3201', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3202', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3203', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3204', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3205', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3206', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3207', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3208', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3209', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3210', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3211', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3212', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3213', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3214', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3215', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3216', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3217', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3218', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3219', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3220', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3221', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3222', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3223', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3224', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3225', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3226', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3227', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3228', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3229', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3230', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3231', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3232', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3233', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3234', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3235', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3236', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3237', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3238', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3239', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3241', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3242', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3243', KODALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3244', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3245', KODALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3246', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3247', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3248', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3249', SANDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3251', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3252', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3253', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3254', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3255', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3256', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3257', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3258', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3259', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3260', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3261', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3262', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3263', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3264', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3265', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3267', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3268', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3269', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3270', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3271', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3274', LARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3275', SVARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3276', SVARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3277', STEINSHOLTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3280', TJODALYNGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3281', TJODALYNGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3282', KVELDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3284', KVELDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3290', STAVERNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3291', STAVERNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3292', STAVERNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3294', STAVERNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3295', HELGEROALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3296', NEVLUNGHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3297', HELGEROALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3300', HOKKSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3301', HOKKSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3320', VESTFOSSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3321', VESTFOSSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3322', DARBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3330', SKOTSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3331', SKOTSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3340', ÅMOTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3341', ÅMOTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3342', ÅMOTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3350', PRESTFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3351', PRESTFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3355', SOLUMSMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3358', NEDREEGGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3359', EGGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3360', GEITHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3361', GEITHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3370', VIKERSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3371', VIKERSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3387', SNARUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3400', LIERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3401', LIERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3407', TRANBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3408', TRANBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3410', SYLLINGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3411', SYLLINGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3412', LIERSTRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3420', LIERSKOGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3421', LIERSKOGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3425', REISTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3428', LIERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3430', SPIKKESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3431', SPIKKESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3440', RØYKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3441', RØYKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3442', HYGGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3470', SLEMMESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3471', SLEMMESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3472', BØDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3474', ÅROSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3475', SÆTRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3476', SÆTRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3477', BÅTSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3478', NÆRSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3480', FILTVETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3481', TOFTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3482', TOFTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3483', KANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3484', HOLMSBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3490', KLOKKARSTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3491', KLOKKARSTUALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3501', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3502', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3503', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3504', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3505', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3506', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3510', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3511', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3512', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3513', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3514', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3515', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3516', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3517', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3518', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3519', HØNEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3520', JEVNAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3521', JEVNAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3522', BJONEROALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3523', NESIÅDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3524', NESIÅDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3525', HALLINGBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3526', HALLINGBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3528', HEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3529', RØYSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3530', RØYSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3531', KROKKLEIVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3533', TYRISTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3534', SOKNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3535', KRØDERENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3536', NORESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3537', KRØDERENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3538', SOLLIHØGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3539', FLÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3540', NESBYENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3541', NESBYENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3550', GOLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3551', GOLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3560', HEMSEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3561', HEMSEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3570', ÅLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3571', ÅLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3575', HOLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3576', HOLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3577', HOVETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3579', TORPOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3580', GEILOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3581', GEILOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3593', USTAOSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3595', HAUGASTØLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3596', HALNEFJELLSTOVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3598', DYRANUTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3599', SANDHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3601', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3602', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3603', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3604', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3605', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3606', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3608', HEISTADMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3610', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3611', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3612', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3613', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3614', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3615', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3616', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3617', KONGSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3618', SKOLLENBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3619', SKOLLENBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3620', FLESBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3621', LAMPELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3622', SVENELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3623', LAMPELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3624', LYNGDALINUMEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3626', ROLLAGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3627', VEGGLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3628', VEGGLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3629', NORELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3630', RØDBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3631', RØDBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3632', UVDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3646', HVITTINGFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3647', HVITTINGFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3648', PASSEBEKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3650', TINNAUSTBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3652', HOVINITELEMARKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3656', ATRÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3658', MILANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3660', RJUKANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3661', RJUKANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3665', SAULANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3666', TINNAUSTBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3671', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3672', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3673', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3674', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3675', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3676', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3677', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3678', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3679', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3680', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3681', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3683', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3684', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3687', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3688', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3689', NOTODDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3690', HJARTDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3691', GRANSHERADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3692', SAULANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3697', TUDDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3699', GAUSTATOPPENTURISTHYTTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3701', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3702', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3703', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3704', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3705', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3706', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3707', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3708', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3709', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3710', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3711', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3712', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3713', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3714', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3715', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3716', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3717', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3718', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3719', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3720', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3721', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3722', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3723', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3724', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3725', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3726', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3727', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3728', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3729', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3730', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3731', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3732', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3733', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3734', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3735', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3736', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3737', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3738', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3739', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3740', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3741', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3742', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3743', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3744', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3746', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3747', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3748', SILJANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3749', SILJANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3750', DRANGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3753', TØRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3760', NESLANDSVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3766', SANNIDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3770', KRAGERØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3780', SKÅTØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3781', JOMFRULANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3782', KRAGERØSOMMERRUTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3783', KRAGERØSKJÆRGÅRDSRUTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3784', LANGØYGRUVERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3787', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3788', STABBESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3789', KRAGERØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3790', HELLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3791', KRAGERØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3792', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3793', SANNIDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3794', HELLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3795', DRANGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3796', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3797', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3798', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3799', SKIENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3800', BØITELEMARKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3810', GVARVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3812', AKKERHAUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3820', NORDAGUTULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3825', LUNDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3830', ULEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3831', ULEFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3832', LUNDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3833', BØITELEMARKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3834', GVARVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3835', SELJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3836', KVITESEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3840', SELJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3841', FLATDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3848', MORGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3849', VRÅLIOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3850', KVITESEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3853', VRÅDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3854', NISSEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3855', TREUNGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3864', RAULANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3870', FYRESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3880', DALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3882', ÅMDALSVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3883', TREUNGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3884', RAULANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3885', FYRESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3886', DALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3887', VINJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3888', EDLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3890', VINJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3891', HØYDALSMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3893', VINJESVINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3895', EDLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3901', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3902', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3903', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3904', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3905', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3906', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3907', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3908', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3909', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3910', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3911', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3912', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3913', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3914', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3915', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3916', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3917', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3918', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3919', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3920', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3921', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3922', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3924', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3925', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3928', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3929', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3930', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3931', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3932', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3933', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3936', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3937', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3940', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3941', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3942', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3943', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3944', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3945', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3946', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3947', LANGANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3948', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3949', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3950', BREVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3960', STATHELLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3965', HERRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3966', STATHELLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3967', BAMBLESOMMERRUTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3970', LANGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3991', BREVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3993', LANGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3994', LANGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3995', STATHELLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3996', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3997', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3998', PORSGRUNNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('3999', HERRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4001', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4002', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4003', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4004', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4005', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4006', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4007', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4008', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4009', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4010', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4011', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4012', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4013', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4014', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4015', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4016', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4017', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4018', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4019', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4020', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4021', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4022', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4023', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4024', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4025', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4026', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4027', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4028', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4029', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4032', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4033', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4034', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4035', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4041', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4042', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4043', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4044', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4045', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4046', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4047', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4048', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4049', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4050', SOLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4052', RØYNEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4053', RÆGELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4054', TJELTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4055', STAVANGERLUFTHAVNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4056', TANANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4064', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4065', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4066', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4067', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4068', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4069', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4070', RANDABERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4076', VASSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4078', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4079', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4081', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4082', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4084', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4085', HUNDVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4086', HUNDVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4087', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4088', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4089', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4090', HAFRSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4091', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4092', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4093', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4095', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4096', RANDABERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4097', SOLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4098', TANANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4099', STAVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4100', JØRPELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4102', IDSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4110', FORSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4119', FORSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4120', TAULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4122', FISKÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4123', SØRHIDLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4124', TAULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4126', JØRPELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4127', LYSEBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4128', FLØYRLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4129', SONGESANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4130', HJELMELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4134', JØSENFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4137', ÅRDALIRYFYLKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4139', FISTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4146', SKIFTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4148', HJELMELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4150', RENNESØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4152', VESTREÅMØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4153', BRIMSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4154', AUSTREÅMØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4156', MOSTERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4157', UTSTEINKLOSTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4158', BRULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4159', RENNESØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4160', FINNØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4161', FINNØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4163', TALGJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4164', FOGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4167', HELGØYIRYFYLKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4168', BYRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4169', SØRBOKNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4170', SJERNARØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4173', NORDHIDLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4174', HELGØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4180', KVITSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4182', SKARTVEITLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4187', OMBOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4198', FOLDØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4200', SAUDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4201', SAUDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4208', SAUDASJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4209', VANVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4230', SANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4233', ERFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4234', JELSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4235', HEBNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4237', SULDALSOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4239', SANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4240', SULDALSOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4244', NESFLATENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4250', KOPERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4260', TORVASTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4262', AVALDSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4264', KVALAVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4265', HÅVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4270', ÅKREHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4272', SANDVELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4274', STOLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4275', SÆVELANDSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4276', VEDAVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4280', SKUDENESHAVNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4291', KOPERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4294', KOPERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4295', VEDAVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4296', ÅKREHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4297', SKUDENESHAVNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4298', TORVASTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4299', AVALDSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4301', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4302', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4303', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4304', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4305', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4306', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4307', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4308', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4309', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4310', HOMMERSÅKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4311', HOMMERSÅKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4312', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4313', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4314', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4315', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4316', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4317', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4318', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4319', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4321', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4322', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4323', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4324', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4325', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4326', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4327', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4328', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4329', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4330', ÅLGÅRDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4332', FIGGJOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4333', OLTEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4335', DIRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4339', ÅLGÅRDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4340', BRYNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4342', UNDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4343', ORRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4349', BRYNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4352', KLEPPELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4353', KLEPPSTASJONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4354', VOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4355', KVERNALANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4356', KVERNALANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4357', KLEPPSTASJONLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4358', KLEPPELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4360', VARHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4362', VIGRESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4363', BRUSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4364', SIREVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4365', NÆRBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4367', NÆRBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4368', VARHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4369', VIGRESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4370', EGERSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4375', HELLVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4376', HELLELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4379', EGERSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4380', HAUGEIDALANELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4381', HAUGEIDALANELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4387', BJERKREIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4389', VIKESÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4391', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4392', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4393', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4394', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4395', HOMMERSÅKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4396', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4399', SANDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4400', FLEKKEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4401', FLEKKEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4402', FLEKKEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4403', FLEKKEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4420', ÅNASIRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4432', HIDRASUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4434', ANDABELØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4436', GYLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4438', SIRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4440', TONSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4441', TONSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4443', TJØRHOMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4460', MOILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4462', HOVSHERADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4463', UALANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4465', MOILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4473', KVINLOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4480', KVINESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4484', ØYESTRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4485', FEDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4490', KVINESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4491', KVINESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4492', KVINESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4501', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4502', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4503', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4504', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4505', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4506', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4509', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4512', LINDESNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4513', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4514', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4515', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4516', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4517', MANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4519', HOLUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4520', SØRAUDNEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4521', SPANGEREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4523', SØRAUDNEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4524', SØRAUDNEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4525', KONSMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4528', KOLLUNGTVEITLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4529', BYREMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4532', ØYSLEBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4534', MARNARDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4536', BJELLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4540', ÅSERALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4544', FOSSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4550', FARSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4551', FARSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4552', FARSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4553', FARSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4554', FARSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4557', VANSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4558', VANSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4560', VANSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4563', BORHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4575', LYNGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4576', LYNGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4577', LYNGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4579', LYNGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4580', LYNGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4586', KORSHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4588', KVÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4590', SNARTEMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4595', TINGVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4596', EIKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4604', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4605', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4606', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4609', KARDEMOMMEBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4610', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4611', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4612', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4613', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4614', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4615', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4616', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4617', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4618', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4619', MOSBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4621', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4622', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4623', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4624', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4625', FLEKKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4626', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4628', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4629', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4630', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4631', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4632', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4633', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4634', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4635', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4636', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4637', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4638', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4639', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4640', SØGNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4645', NODELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4646', FINSLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4647', BRENNÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4651', HAMRESANDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4656', HAMRESANDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4657', KJEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4658', TVEITLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4659', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4661', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4662', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4663', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4664', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4665', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4666', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4668', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4669', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4671', MOSBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4673', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4674', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4675', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4676', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4677', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4678', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4679', FLEKKERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4682', SØGNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4683', SØGNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4685', NODELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4686', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4687', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4688', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4689', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4691', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4693', KRISTIANSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4696', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4697', KRISTIANSANDSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4698', KJEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4699', TVEITLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4700', VENNESLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4701', VENNESLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4702', VENNESLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4703', VENNESLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4705', ØVREBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4715', ØVREBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4720', HÆGELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4724', IVELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4730', VATNESTRØMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4733', EVJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4734', EVJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4735', EVJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4737', HORNNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4738', EVJEMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4741', BYGLANDSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4742', GRENDILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4745', BYGLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4747', VALLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4748', RYSSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4754', BYKLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4755', HOVDENISETESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4760', BIRKELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4766', HEREFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4768', ENGESLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4770', HØVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4780', BREKKESTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4790', LILLESANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4791', LILLESANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4792', LILLESANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4795', BIRKELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4801', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4802', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4803', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4804', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4808', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4809', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4810', EYDEHAVNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4812', KONGSHAVNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4815', SALTRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4816', KOLBJØRNSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4817', HISLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4818', FÆRVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4820', FROLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4821', RYKENELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4823', NEDENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4824', BJORBEKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4825', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4827', FROLANDSVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4828', MJÅVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4830', HYNNEKLEIVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4832', MYKLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4834', RISDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4835', SKJEGGEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4836', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4838', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4839', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4841', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4842', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4843', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4844', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4846', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4847', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4848', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4849', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4851', SALTRØDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4852', FÆRVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4853', HISLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4854', NEDENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4855', FROLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4856', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4857', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4858', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4859', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4861', ARENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4862', EYDEHAVNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4863', NELAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4864', ÅMLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4865', ÅMLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4868', SELÅSVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4869', DØLEMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4870', FEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4876', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4877', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4878', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4879', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4884', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4885', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4886', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4887', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4888', HOMBORSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4889', FEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4891', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4892', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4894', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4895', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4896', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4898', GRIMSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4900', TVEDESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4901', TVEDESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4902', TVEDESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4909', SONGELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4910', LYNGØRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4912', GJEVINGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4915', VESTRESANDØYALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4916', BORØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4920', STAUBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4934', NESGRENDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4950', RISØRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4951', RISØRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4952', RISØRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4953', RISØRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4971', SUNDEBRULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4972', GJERSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4973', VEGÅRSHEILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4974', SØNDELEDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4980', GJERSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4985', VEGÅRSHEILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4990', SØNDELEDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4993', SUNDEBRULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('4994', AKLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5003', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5004', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5005', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5006', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5007', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5008', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5009', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5010', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5011', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5012', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5013', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5014', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5015', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5016', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5017', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5018', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5019', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5020', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5021', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5035', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5038', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5039', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5041', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5045', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5052', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5053', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5054', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5055', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5056', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5057', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5058', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5059', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5063', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5067', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5068', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5072', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5073', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5075', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5081', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5089', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5093', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5094', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5096', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5097', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5098', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5101', EIDSVÅGNESETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5104', EIDSVÅGiÅsaneLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5105', EIDSVÅGiÅsaneLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5106', ØVREERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5107', SALHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5108', HORDVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5109', HYLKJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5111', BREISTEINLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5113', TERTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5114', TERTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5115', ULSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5116', ULSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5117', ULSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5118', ULSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5119', ULSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5121', ULSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5122', MORVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5124', MORVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5131', NYBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5132', NYBORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5134', FLAKTVEITLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5135', FLAKTVEITLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5136', MJØLKERÅENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5137', MJØLKERÅENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5141', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5142', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5143', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5144', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5145', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5146', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5147', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5148', FYLLINGSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5151', STRAUMSGRENDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5152', BØNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5155', BØNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5161', LAKSEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5162', LAKSEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5163', LAKSEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5164', LAKSEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5171', LODDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5172', LODDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5173', LODDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5174', MATHOPENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5177', BJØRØYHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5178', LODDEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5179', GODVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5183', OLSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5184', OLSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5200', OSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5201', OSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5202', OSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5203', OSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5207', SØFTELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5212', SØFTELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5215', LYSEKLOSTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5216', LEPSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5217', HAGAVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5218', NORDSTRØNOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5219', SKORPOFERIEHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5221', NESTTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5222', NESTTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5223', NESTTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5224', NESTTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5225', NESTTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5226', NESTTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5227', NESTTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5229', KALANDSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5231', PARADISLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5232', PARADISLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5235', RÅDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5236', RÅDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5238', RÅDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5239', RÅDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5243', FANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5244', FANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5251', SØREIDGRENDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5252', SØREIDGRENDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5253', SANDSLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5254', SANDSLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5257', KOKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5258', BLOMSTERDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5259', HJELLESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5260', INDREARNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5261', INDREARNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5262', ARNATVEITLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5263', TRENGEREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5264', GARNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5265', YTREARNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5267', ESPELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5268', HAUKELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5281', VALESTRANDSFOSSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5282', LONEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5283', FOTLANDSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5284', TYSSEBOTNENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5285', BRUVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5286', HAUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5291', VALESTRANDSFOSSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5293', LONEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5295', FOTLANDSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5299', HAUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5300', KLEPPESTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5302', STRUSSHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5303', FOLLESELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5304', HETLEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5305', FLORVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5306', ERDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5307', ASKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5310', HAUGLANDSHELLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5314', KJERRGARDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5315', HERDLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5318', STRUSSHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5321', KLEPPESTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5322', KLEPPESTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5323', KLEPPESTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5325', FOLLESELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5326', ASKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5327', HAUGLANDSHELLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5329', FLORVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5331', RONGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5333', TJELDSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5334', HELLESØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5335', HERNARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5336', TJELDSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5337', RONGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5341', STRAUMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5342', STRAUMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5343', STRAUMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5345', KNARREVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5346', ÅGOTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5347', KYSTBASENÅGOTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5350', BRATTHOLMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5353', STRAUMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5355', KNARREVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5357', FJELLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5363', ÅGOTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5365', TURØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5371', SKOGSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5373', KLOKKARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5374', STEINSLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5378', KLOKKARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5379', STEINSLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5380', TÆLAVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5381', GLESVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5382', SKOGSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5384', TORANGSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5385', BAKKASUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5387', MØKSTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5388', LITLAKALSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5392', STOREBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5393', STOREBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5394', KOLBEINSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5396', VESTREVINNESVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5397', BEKKJARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5398', STOLMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5399', BEKKJARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5401', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5402', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5403', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5404', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5405', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5406', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5407', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5408', SAGVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5409', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5410', SAGVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5411', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5412', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5414', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5415', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5416', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5417', STORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5418', FITJARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5419', FITJARLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5420', RUBBESTADNESETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5423', BRANDASUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5427', URANGSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5428', FOLDRØYHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5430', BREMNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5437', FINNÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5440', MOSTERHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5443', BØMLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5444', ESPEVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5445', BREMNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5447', MOSTERHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5448', RUBBESTADNESETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5449', BØMLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5450', SUNDEISUNNHORDLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5451', VALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5452', SANDVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5453', UTÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5454', SÆBØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5455', HALSNØYKLOSTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5457', HØYLANDSBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5458', ARNAVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5459', FJELBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5460', HUSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5462', HERØYSUNDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5463', USKEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5464', DIMMELSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5465', USKEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5470', ROSENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5472', SEIMSFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5473', SNILSTVEITØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5474', LØFALLSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5475', ÆNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5476', MAURANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5480', HUSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5484', SÆBØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5486', ROSENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5497', HUGLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5498', MATRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5499', ÅKRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5501', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5502', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5503', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5504', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5505', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5506', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5507', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5508', KARMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5509', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5511', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5514', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5515', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5516', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5517', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5518', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5519', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5521', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5522', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5523', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5525', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5527', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5528', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5529', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5531', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5532', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5533', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5535', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5536', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5537', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5538', HAUGESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5541', KOLNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5542', KARMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5544', VORMEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5545', VORMEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5546', RØYKSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5547', UTSIRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5548', FEØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5549', RØVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5550', SVEIOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5551', AUKLANDSHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5554', VALEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5555', FØRDEIHORDALANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5559', SVEIOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5560', NEDSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5561', BOKNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5563', FØRRESFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5565', TYSVÆRVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5566', HERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5567', SKJOLDASTRAUMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5568', VIKEBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5570', AKSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5574', SKJOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5575', AKSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5576', ØVREVATSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5578', NEDREVATSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5580', ØLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5582', ØLENSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5583', VIKEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5584', BJOALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5585', SANDEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5586', VIKEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5588', ØLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5589', SANDEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5590', ETNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5591', ETNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5593', SKÅNEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5594', SKÅNEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5596', MARKHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5598', FJÆRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5600', NORHEIMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5601', NORHEIMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5602', NORHEIMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5604', ØYSTESELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5605', ÅLVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5610', ØYSTESELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5612', STEINSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5614', ÅLVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5620', TØRVIKBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5626', KYSNESSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5627', JONDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5628', HERANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5629', JONDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5630', STRANDEBARMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5632', OMASTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5635', HATLESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5636', VARALDSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5637', ØLVELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5640', EIKELANDSOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5641', FUSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5642', HOLMEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5643', STRANDVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5645', SÆVAREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5646', NORDTVEITGRENDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5647', BALDERSHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5649', EIKELANDSOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5650', TYSSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5652', ÅRLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5653', ÅRLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5680', TYSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5682', GODØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5683', REKSTERENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5685', UGGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5687', FLATRÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5690', LUNDEGRENDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5693', ÅRBAKKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5694', ONARHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5695', UGGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5696', TYSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5700', VOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5701', VOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5702', VOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5703', VOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5707', EVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5710', SKULESTADMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5712', VOSSESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5713', VOSSESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5715', STALHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5718', MYRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5719', FINSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5721', DALEKVAMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5722', DALEKVAMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5723', BOLSTADØYRILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5724', STANGHELLELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5725', VAKSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5726', VAKSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5727', STAMNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5728', EIDSLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5729', MODALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5730', ULVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5731', ULVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5733', GRANVINLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5734', VALLAVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5736', GRANVINLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5741', AURLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5742', FLÅMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5743', FLÅMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5745', AURLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5746', UNDREDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5747', GUDVANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5748', STYVILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5749', BAKKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5750', ODDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5751', ODDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5760', RØLDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5763', SKARELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5770', TYSSEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5773', HOVLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5776', NÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5777', GRIMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5778', UTNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5779', UTNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5780', KINSARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5781', LOFTHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5782', KINSARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5783', EIDFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5784', ØVREEIDFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5785', VØRINGSFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5786', EIDFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5787', LOFTHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5802', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5803', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5804', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5805', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5806', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5807', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5808', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5809', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5811', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5812', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5815', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5816', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5817', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5818', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5819', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5821', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5822', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5824', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5825', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5829', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5835', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5836', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5837', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5838', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5845', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5846', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5847', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5848', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5849', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5851', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5852', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5853', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5854', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5856', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5857', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5858', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5859', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5861', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5862', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5863', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5864', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5868', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5869', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5871', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5872', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5873', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5874', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5876', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5877', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5878', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5879', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5881', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5882', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5883', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5884', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5886', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5888', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5889', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5892', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5893', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5896', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5899', BERGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5902', ISDALSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5903', ISDALSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5904', ISDALSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5906', FREKHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5911', ALVERSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5912', SEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5913', EIKANGERVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5914', ISDALSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5915', HJELMÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5917', ROSSLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5918', FREKHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5931', MANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5936', MANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5937', BØVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5938', SÆBØVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5939', SLETTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5941', AUSTRHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5943', AUSTRHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5947', FEDJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5948', FEDJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5951', LINDÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5953', FONNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5954', MONGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5955', LINDÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5956', VÅGSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5957', MYKINGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5960', DALSØYRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5961', BREKKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5962', BJORDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5966', EIVINDVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5967', EIVINDVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5970', BYRKNESØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5977', ÅNNELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5978', MJØMNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5979', BYRKNESØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5981', MASFJORDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5983', HAUGSVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5984', MATREDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5986', HOSTELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5987', HOSTELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5991', OSTEREIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5993', OSTEREIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('5994', VIKANESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6001', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6002', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6003', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6004', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6005', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6006', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6007', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6008', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6009', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6010', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6011', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6012', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6013', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6014', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6015', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6016', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6017', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6018', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6019', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6020', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6021', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6022', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6023', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6024', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6025', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6026', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6028', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6029', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6030', LANGEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6035', FISKARSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6036', MAUSEIDVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6037', EIDSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6038', FISKARSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6039', LANGEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6040', VIGRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6045', ÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6050', VALDERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6051', VALDERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6052', GISKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6055', GODØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6057', ELLINGSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6058', VALDERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6059', VIGRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6060', HAREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6062', BRANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6063', HJØRUNGAVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6064', HADDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6065', ULSTEINVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6067', ULSTEINVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6069', HAREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6070', TJØRVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6076', MOLDTUSTRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6080', GURSKØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6082', GURSKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6083', GJERDSVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6084', LARSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6085', LARSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6087', KVAMSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6089', SANDSHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6090', FOSNAVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6092', EGGESBØNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6094', LEINØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6095', BØLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6096', RUNDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6098', NERLANDSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6099', FOSNAVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6100', VOLDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6101', VOLDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6110', AUSTEFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6120', FOLKESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6133', LAUVSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6139', FISKÅBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6140', SYVDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6141', ROVDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6142', EIDSÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6143', FISKÅBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6144', SYLTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6146', ÅHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6149', ÅRAMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6150', ØRSTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6151', ØRSTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6160', HOVDEBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6161', HOVDEBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6165', SÆBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6166', SÆBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6170', VARTDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6174', BARSTADVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6183', TRANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6184', STORESTANDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6190', BJØRKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6196', NORANGSFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6200', STRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6201', STRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6210', VALLDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6212', LIABYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6213', TAFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6214', NORDDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6215', EIDSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6216', GEIRANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6217', DJUPEVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6218', HELLESYLTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6220', STRAUMGJERDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6222', IKORNNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6224', HUNDEIDVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6230', SYKKYLVENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6238', STRAUMGJERDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6239', SYKKYLVENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6240', ØRSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6249', ØRSKOGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6250', STORDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6259', STORDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6260', SKODJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6263', SKODJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6264', TENNFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6265', VATNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6270', BRATTVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6272', HILDRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6280', SØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6281', SØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6282', BRATTVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6283', VATNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6285', STOREKALVØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6290', HARAMSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6292', KJERSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6293', LONGVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6294', FJØRTOFTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6300', ÅNDALSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6301', ÅNDALSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6309', ÅNDALSNESLEIRPLASSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6310', VEBLUNGSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6315', INNFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6320', ISFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6330', VERMALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6335', TROLLSTIGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6339', ISFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6350', EIDSBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6360', ÅFARNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6363', MITTETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6364', VISTDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6386', MÅNDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6387', VÅGSTRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6390', VESTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6391', TRESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6392', VIKEBUKTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6393', TOMREFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6394', FIKSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6395', REKDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6396', VIKEBUKTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6397', TRESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6398', TOMREFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6399', VESTNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6401', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6402', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6403', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6404', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6405', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6407', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6408', AUREOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6409', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6410', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6411', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6412', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6413', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6414', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6415', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6416', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6418', SEKKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6419', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6421', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6422', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6425', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6429', MOLDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6430', BUDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6433', HUSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6440', ELNESVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6443', TORNESIROMSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6444', FARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6445', MALMEFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6447', ELNESVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6449', FARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6450', HJELSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6453', KLEIVELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6454', HJELSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6455', KORTGARDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6456', SKÅLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6457', BOLSØYALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6460', EIDSVÅGIROMSDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6462', RAUDSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6470', ERESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6472', EIKESDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6475', MIDSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6476', MIDSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6480', AUKRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6481', AUKRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6483', ONALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6484', SANDØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6486', ORTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6487', HARØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6488', MYKLEBOSTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6490', EIDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6493', LYNGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6494', VEVANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6499', EIDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6501', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6502', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6503', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6504', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6507', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6508', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6509', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6510', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6511', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6512', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6514', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6515', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6516', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6517', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6518', KRISTIANSUNDNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6520', FREILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6523', FREILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6529', FREILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6530', AVERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6538', AVERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6539', AVERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6570', SMØLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6571', SMØLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6590', TUSTNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6600', SUNNDALSØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6601', SUNNDALSØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6610', ØKSENDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6611', FURUGRENDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6612', GRØALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6613', GJØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6620', ÅLVUNDEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6622', ÅLVUNDFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6628', MEISINGSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6629', TORJULVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6630', TINGVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6631', BATNFJORDSØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6633', GJEMNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6636', ANGVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6637', FLEMMALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6638', OSMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6639', TORVIKBUKTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6640', KVANNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6642', STANGVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6643', BØFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6644', BÆVERFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6645', TODALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6650', SURNADALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6652', SURNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6653', ØVRESURNADALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6655', VINDØLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6656', SURNADALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6657', RINDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6658', RINDALSSKOGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6659', RINDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6670', ØYDEGARDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6674', KVISVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6680', HALSANAUSTANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6683', VÅGLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6686', VALSØYBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6687', VALSØYFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6688', VÅGLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6689', AURELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6690', AURELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6693', MJOSUNDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6694', FOLDFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6697', VIHALSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6698', LESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6699', KJØRSVIKBUGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6700', MÅLØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6701', MÅLØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6702', MÅLØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6703', MÅLØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6704', DEKNEPOLLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6706', MÅLØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6707', RAUDEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6708', BRYGGJALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6710', RAUDEBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6711', BRYGGJALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6713', ALMENNINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6714', SILDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6715', BARMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6716', HUSEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6717', FLATRAKETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6718', DEKNEPOLLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6719', SKATESTRAUMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6721', SVELGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6723', SVELGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6726', BREMANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6727', BREMANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6729', KALVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6730', DAVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6731', DAVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6734', RUGSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6737', ÅLFOTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6740', SELJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6741', SELJELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6750', STADLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6751', STADLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6761', HORNINDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6763', HORNINDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6770', NORDFJORDEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6771', NORDFJORDEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6772', NORDFJORDEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6775', NORDFJORDEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6776', KJØLSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6777', STÅRHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6778', LOTELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6779', HOLMØYANELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6781', STRYNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6782', STRYNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6783', STRYNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6784', OLDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6785', STRYNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6788', OLDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6789', LOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6791', OLDEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6792', BRIKSDALSBRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6793', INNVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6795', BLAKSÆTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6796', HOPLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6797', UTVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6798', HJELLEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6799', OPPSTRYNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6800', FØRDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6801', FØRDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6802', FØRDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6803', FØRDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6804', FØRDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6805', FØRDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6806', NAUSTDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6807', FØRDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6816', NAUSTDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6817', NAUSTDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6818', HAUKEDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6819', HOLSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6821', SANDANELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6822', SANDANELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6823', SANDANELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6824', SANDANELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6826', BYRKJELOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6827', BREIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6828', HESTENESØYRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6829', HYENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6841', SKEIIJØLSTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6843', SKEIIJØLSTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6847', VASSENDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6848', FJÆRLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6851', SOGNDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6852', SOGNDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6853', SOGNDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6854', KAUPANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6855', FRØNNINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6856', SOGNDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6857', SOGNDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6858', FARDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6859', SLINDELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6861', LEIKANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6863', LEIKANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6866', GAUPNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6868', GAUPNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6869', HAFSLOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6870', ORNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6871', JOSTEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6872', LUSTERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6873', MARIFJØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6875', HØYHEIMSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6876', SKJOLDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6877', FORTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6878', VEITASTRONDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6879', SOLVORNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6881', ÅRDALSTANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6882', ØVREÅRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6883', ÅRDALSTANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6884', ØVREÅRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6885', ÅRDALSTANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6886', LÆRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6887', LÆRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6888', STEINKLEPPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6891', VIKISOGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6893', VIKISOGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6894', VANGSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6895', FEIOSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6896', FRESVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6898', BALESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6899', BALESTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6900', FLORØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6901', FLORØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6902', FLORØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6903', FLORØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6904', FLORØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6907', FLORØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6912', KINNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6914', SVANØYBUKTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6915', ROGNALDSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6916', BAREKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6917', BATALDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6918', SØRSKORPALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6919', TANSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6921', HARDBAKKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6924', HARDBAKKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6926', KRAKHELLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6927', YTRØYGRENDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6928', KOLGROVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6929', HERSVIKBYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6939', STAVANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6940', EIKEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6941', EIKEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6942', SVORTEVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6944', STAVANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6946', LAVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6947', LAVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6951', LEIRVIKISOGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6953', LEIRVIKISOGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6957', HYLLESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6958', SØRBØVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6961', DALEISUNNFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6963', DALEISUNNFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6964', KORSSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6966', GUDDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6967', HELLEVIKIFJALERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6968', FLEKKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6969', STRAUMSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6971', SANDEISUNNFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6973', SANDEISUNNFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6975', SKILBREILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6977', BYGSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6978', VIKSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6980', ASKVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6981', HOLMEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6982', HOLMEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6983', KVAMMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6984', STONGFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6985', ATLØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6986', VÆRLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6987', BULANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6988', ASKVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6991', HØYANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6993', HØYANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6995', KYRKJEBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('6996', VADHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7003', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7004', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7005', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7006', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7007', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7008', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7009', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7010', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7011', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7012', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7013', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7014', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7015', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7016', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7018', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7019', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7020', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7021', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7022', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7023', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7024', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7025', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7026', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7027', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7028', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7029', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7030', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7031', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7032', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7033', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7034', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7036', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7037', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7038', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7040', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7041', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7042', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7043', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7044', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7045', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7046', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7047', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7048', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7049', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7050', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7051', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7052', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7053', RANHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7054', RANHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7056', RANHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7057', JONSVATNETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7058', JAKOBSLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7059', JAKOBSLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7070', BOSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7072', HEIMDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7074', SPONGDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7075', TILLERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7078', SAUPSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7079', FLATÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7080', HEIMDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7081', SJETNEMARKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7082', KATTEMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7083', LEINSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7088', HEIMDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7089', HEIMDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7091', TILLERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7092', TILLERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7097', SAUPSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7098', SAUPSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7099', FLATÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7100', RISSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7101', RISSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7105', STADSBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7110', FEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7112', HASSELVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7113', HUSBYSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7114', RÅKVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7119', STADSBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7120', LEKSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7121', LEKSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7125', VANVIKANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7126', VANVIKANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7127', OPPHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7128', UTHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7129', BREKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7130', BREKSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7140', OPPHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7142', UTHAUGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7150', STORFOSNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7152', KRÅKVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7153', GARTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7156', LEKSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7159', BJUGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7160', BJUGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7165', OKSVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7166', TARVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7167', VALLERSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7168', LYSØYSUNDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7169', ÅFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7170', ÅFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7176', LINESØYALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7177', REVSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7178', STOKKØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7180', ROANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7190', BESSAKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7194', BRANDSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7200', KYRKSÆTERØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7201', KYRKSÆTERØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7203', VINJEØRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7206', HELLANDSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7211', KORSVEGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7212', KORSVEGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7213', GÅSBAKKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7221', MELHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7223', MELHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7224', MELHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7227', GIMSELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7228', KVÅLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7231', LUNDAMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7232', LUNDAMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7234', LERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7236', HOVINIGAULDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7238', HOVINIGAULDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7239', HITRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7240', HITRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7241', ANSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7242', KNARRLAGSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7243', KVENVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7246', SANDSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7247', HESTVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7250', MELANDSJØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7252', DOLMØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7255', SUNDLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7256', HEMNSKJELLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7257', SNILLFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7259', SNILLFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7260', SISTRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7261', SISTRANDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7263', HAMARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7264', HAMARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7266', KVERVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7268', TITRANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7270', DYRVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7273', NORDDYRØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7280', SULALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7282', BOGØYVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7284', MAUSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7285', GJÆSINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7286', SØRBURØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7287', SAUØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7288', SOKNEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7289', SOKNEDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7290', STØRENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7291', STØRENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7295', ROGNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7298', BUDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7300', ORKANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7301', ORKANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7302', ORKANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7310', GJØLMELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7315', LENSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7316', LENSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7318', AGDENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7319', AGDENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7320', FANNREMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7321', FANNREMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7327', SVORKMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7329', SVORKMOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7331', LØKKENVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7332', LØKKENVERKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7333', STORÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7334', STORÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7335', JERPSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7336', MELDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7338', MELDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7340', OPPDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7341', OPPDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7342', LØNSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7343', VOGNILLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7344', GJEVILVASSHYTTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7345', DRIVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7350', BUVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7351', BUVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7353', BØRSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7354', VIGGJALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7355', EGGKLEIVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7357', SKAUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7358', BØRSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7361', RØROSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7366', RØROSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7370', BREKKEBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7372', GLÅMOSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7374', RØROSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7380', ÅLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7383', HALTDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7384', ÅLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7386', SINGSÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7387', SINGSÅSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7391', RENNEBUBerkåkLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7392', RENNEBUStamnanLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7393', RENNEBUVollLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7397', RENNEBUUlsbergLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7398', RENNEBUInnsetLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7399', RENNEBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7400', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7401', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7402', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7403', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7404', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7405', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7406', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7407', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7408', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7409', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7410', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7411', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7412', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7413', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7414', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7415', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7416', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7417', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7418', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7419', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7420', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7421', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7422', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7423', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7424', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7425', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7426', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7427', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7428', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7429', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7430', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7431', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7432', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7433', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7434', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7435', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7436', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7437', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7438', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7439', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7440', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7441', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7442', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7443', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7444', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7445', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7446', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7447', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7448', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7449', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7450', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7451', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7452', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7453', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7454', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7455', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7456', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7457', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7458', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7459', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7462', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7463', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7464', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7465', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7466', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7467', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7468', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7469', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7471', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7472', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7473', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7474', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7475', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7476', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7477', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7478', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7479', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7481', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7483', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7484', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7485', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7486', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7488', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7489', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7491', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7492', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7493', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7495', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7496', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7498', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7499', TRONDHEIMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7500', STJØRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7501', STJØRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7505', STJØRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7506', STJØRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7508', STJØRDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7510', SKATVALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7517', HELLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7519', ELVARLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7520', HEGRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7525', FLORNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7529', HEGRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7530', MERÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7531', MERÅKERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7533', KOPPERÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7540', KLÆBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7541', KLÆBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7548', TANEMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7549', TANEMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7550', HOMMELVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7551', HOMMELVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7560', VIKHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7562', HUNDHAMARENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7563', MALVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7566', VIKHAMMERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7570', HELLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7580', SELBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7581', SELBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7583', SELBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7584', SELBUSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7586', SELBUSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7590', TYDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7591', TYDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7596', FLAKNANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7600', LEVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7601', LEVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7609', LEVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7610', LEVANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7619', SKOGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7620', SKOGNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7622', MARKABYGDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7623', RONGLANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7624', EKNELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7629', YTTERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7630', ÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7631', ÅSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7632', ÅSENFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7633', FROSTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7634', FROSTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7650', VERDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7651', VERDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7658', VERDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7659', VERDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7660', VUKULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7663', STIKLESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7670', INDERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7671', INDERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7690', MOSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7701', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7702', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7703', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7704', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7705', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7707', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7708', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7709', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7710', SPARBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7711', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7712', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7713', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7715', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7716', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7717', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7718', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7724', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7725', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7726', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7728', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7729', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7730', BEITSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7732', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7734', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7735', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7736', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7737', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7738', STEINKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7739', BEITSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7740', STEINSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7742', YTTERVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7744', HEPSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7745', OPPLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7746', HASVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7748', SÆTERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7750', NAMDALSEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7751', NAMDALSEIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7760', SNÅSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7761', SNÅSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7770', FLATANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7771', FLATANGERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7777', NORDSTATLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7790', MALMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7791', MALMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7796', FOLLAFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7797', VERRABOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7800', NAMSOSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7801', NAMSOSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7809', NAMSOSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7817', SALSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7818', LUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7819', FOSSLANDSOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7820', SPILLUMLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7822', BANGSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7855', JØALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7856', JØALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7860', SKAGEINAMDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7863', OVERHALLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7864', OVERHALLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7869', SKAGEINAMDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7870', GRONGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7871', GRONGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7873', HARRANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7882', NORDLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7884', SØRLILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7890', NAMSSKOGANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7892', TRONESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7893', SKOROVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7896', BREKKVASSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7898', LIMINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7900', RØRVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7901', RØRVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7940', OTTERSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7944', INDRENÆRØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7950', ABELVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7960', SALSBRUKETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7970', KOLVEREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7971', KOLVEREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7973', GJERDINGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7976', KONGSMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7977', HØYLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7980', TERRÅKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7981', HARANGSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7982', BINDALSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7985', FOLDEREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7990', NAUSTBUKTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7993', GUTVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('7994', LEKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8001', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8002', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8003', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8004', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8005', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8006', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8007', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8008', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8009', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8010', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8011', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8012', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8013', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8014', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8015', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8016', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8019', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8020', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8021', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8022', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8023', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8026', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8027', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8028', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8029', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8031', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8032', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8037', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8038', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8039', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8041', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8047', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8048', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8049', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8050', TVERLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8056', SALTSTRAUMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8058', TVERLANDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8063', VÆRØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8064', RØSTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8084', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8086', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8087', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8088', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8089', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8091', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8092', BODØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8093', KJERRINGØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8094', FLEINVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8095', HELLIGVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8096', BLIKSVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8097', GIVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8098', LANDEGODELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8099', JANMAYENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8100', MISVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8102', SKJERSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8103', BREIVIKISALTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8108', MISVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8110', MOLDJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8114', TOLLÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8118', MOLDJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8120', NYGÅRDSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8128', YTREBEIARNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8130', SANDHORNØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8135', SØRARNØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8136', NORDARNØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8138', INNDYRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8140', INNDYRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8145', STORVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8146', REIPÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8149', NEVERDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8150', ØRNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8151', ØRNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8157', MELØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8158', BOLGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8159', STØTTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8160', GLOMFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8161', GLOMFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8168', ENGAVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8170', ENGAVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8171', SVARTISENGÅRDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8178', HALSALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8181', MYKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8182', MELFJORDBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8184', ÅGSKARDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8185', VÅGAHOLMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8186', TJONGSFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8187', JEKTVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8188', NORDVERNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8189', GJERSVIKGRENDALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8190', SØRFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8193', RØDØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8195', GJERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8196', SELSØYVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8197', STORSELSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8198', NORDNESØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8200', FAUSKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8201', FAUSKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8202', FAUSKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8205', FAUSKELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8215', VALNESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8220', RØSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8226', STRAUMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8230', SULITJELMALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8231', SULITJELMALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8232', STRAUMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8233', VALNESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8250', ROGNANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8251', ROGNANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8255', RØKLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8256', RØKLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8260', INNHAVETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8261', INNHAVETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8264', ENGANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8266', MØRSVIKBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8270', DRAGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8271', DRAGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8273', NEVERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8274', MUSKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8275', STORJORDITYSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8276', ULVSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8281', LEINESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8283', LEINESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8285', LEINESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8286', NORDFOLDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8288', BOGØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8289', VÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8290', SKUTVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8294', HAMARØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8297', TRANØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8298', HAMARØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8300', SVOLVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8301', SVOLVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8305', SVOLVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8309', KABELVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8310', KABELVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8311', HENNINGSVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8312', HENNINGSVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8313', KLEPPSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8314', GIMSØYSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8315', LAUKVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8316', LAUPSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8317', STRØNSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8320', SKROVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8322', BRETTESNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8323', STORFJELLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8324', DIGERMULENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8325', TENGELFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8328', STOREMOLLALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8340', STAMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8352', SENNESVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8360', BØSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8370', LEKNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8372', GRAVDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8373', BALLSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8375', LEKNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8376', LEKNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8377', GRAVDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8378', STAMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8380', RAMBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8382', NAPPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8384', SUNDILOFOTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8387', FREDVANGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8388', RAMBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8390', REINELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8392', SØRVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8393', SØRVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8398', REINELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8400', SORTLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8401', SORTLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8405', SORTLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8407', GODFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8408', SANDSETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8409', GULLESFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8413', KVITNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8414', HENNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8415', HENNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8426', BARKESTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8428', TUNSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8430', MYRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8432', ALSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8438', STØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8439', MYRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8445', MELBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8446', MELBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8447', LONKANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8448', MYRLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8450', STOKMARKNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8452', STOKMARKNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8455', STOKMARKNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8459', MELBULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8465', STRAUMSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8469', BØIVESTERÅLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8470', BØIVESTERÅLENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8475', STRAUMSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8480', ANDENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8481', BLEIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8483', ANDENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8484', RISØYHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8485', DVERBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8487', BØGARDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8488', NØSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8489', NORDMELALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8493', RISØYHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8501', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8502', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8503', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8504', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8505', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8506', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8507', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8508', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8509', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8510', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8511', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8512', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8513', ANKENESSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8514', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8515', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8516', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8517', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8518', NARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8520', ANKENESSTRANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8522', BEISFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8523', ELVEGARDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8530', BJERKVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8531', BJERKVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8533', BOGENIOFOTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8534', LILANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8535', TÅRSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8536', EVENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8539', BOGENIOFOTENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8540', BALLANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8542', KJELDEBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8543', KJELDEBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8546', BALLANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8550', LØDINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8551', LØDINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8581', VESTBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8587', STORÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8590', KJØPSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8591', KJØPSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8601', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8602', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8603', GRUBHEILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8604', SELFORSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8605', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8606', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8607', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8608', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8609', YTTERENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8610', GRUBHEILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8611', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8613', SELFORSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8614', YTTERENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8615', SKONSENGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8616', BÅSMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8617', DALSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8618', ANDFISKÅLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8622', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8624', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8626', MOIRANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8629', SVARTISDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8630', STORFORSHEILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8633', NISSELANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8635', POLARSIRKELENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8638', STORFORSHEILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8640', HEMNESBERGETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8641', HEMNESBERGETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8642', FINNEIDFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8643', BJERKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8646', KORGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8647', BLEIKVASSLIALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8648', KORGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8651', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8654', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8655', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8656', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8657', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8658', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8661', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8663', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8664', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8665', MOSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8672', ELSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8679', SUNDØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8680', TROFORSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8681', TROFORSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8690', HATTFJELLDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8691', HATTFJELLDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8700', NESNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8701', NESNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8720', VIKHOLMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8723', HUSBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8724', SAURALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8725', UTSKARPENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8726', UTSKARPENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8730', BRATLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8732', ALDRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8733', STUVLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8735', STOKKVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8740', NORDSOLVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8742', SELVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8743', INDREKVARØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8750', TONNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8752', KONSVIKOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8753', KONSVIKOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8762', SLENESETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8764', LOVUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8766', LURØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8767', LURØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8770', TRÆNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8800', SANDNESSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8801', SANDNESSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8805', SANDNESSJØENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8813', KOPARDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8820', DØNNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8826', NORDØYVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8827', DØNNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8830', VANDVELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8842', BRASØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8844', SANDVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8850', HERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8851', HERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8852', HERØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8854', AUSTBØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8860', TJØTTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8865', TROLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8870', VISTHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8880', BÆRØYVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8883', HUSVIKALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8890', LEIRFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8891', LEIRFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8900', BRØNNØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8901', BRØNNØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8905', BRØNNØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8910', BRØNNØYSUNDREGISTRENELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8920', SØMNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8921', SØMNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8922', SØMNALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8960', HOMMELSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8961', HOMMELSTØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8976', VEVELSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8978', HESSTUNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8980', VEGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8981', VEGALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('8985', YLVINGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9001', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9002', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9003', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9006', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9007', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9008', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9009', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9010', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9011', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9012', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9013', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9014', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9015', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9016', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9017', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9018', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9019', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9020', TROMSDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9022', KROKELVDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9024', TOMASJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9027', RAMFJORDBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9030', SJURSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9034', OLDERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9037', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9038', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9040', NORDKJOSBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9042', LAKSVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9043', JØVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9046', OTERENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9049', NORDKJOSBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9050', STORSTEINNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9054', MALANGSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9055', MEISTERVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9056', MORTENHALSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9057', VIKRANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9059', STORSTEINNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9060', LYNGSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9062', FURUFLATENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9064', SVENSBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9068', NORDLENANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9069', LYNGSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9100', KVALØYSLETTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9103', SKULSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9106', STRAUMSBUKTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9107', TROMVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9110', SOMMARØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9118', BRENSHOLMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9119', SOMMARØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9120', VENGSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9128', TUSSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9130', HANSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9131', KÅRVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9132', STAKKVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9134', HANSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9135', VANNVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9136', VANNAREIDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9137', VANNVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9138', KARLSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9140', REBBENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9141', MJØLVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9142', SKIBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9143', SKIBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9144', SAMUELSBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9146', OLDERDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9147', BIRTAVARRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9148', OLDERDALENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9151', STORSLETTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9152', SØRKJOSENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9153', ROTSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9156', STORSLETTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9159', HAVNNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9161', BURFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9162', SØRSTRAUMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9163', JØKELFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9164', KVÆNANGSFJELLETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9169', BURFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9170', LONGYEARBYENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9171', LONGYEARBYENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9172', ISFJORDPÅSVALBARDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9173', NYÅLESUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9174', HOPENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9175', SVEAGRUVALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9176', BJØRNØYALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9177', HORNSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9178', BARENTSBURGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9179', PYRAMIDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9180', SKJERVØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9181', HAMNEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9182', SEGLVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9184', REINFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9185', SPILDRALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9186', ANDSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9189', SKJERVØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9190', AKKARVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9192', ARNØYHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9193', NIKKEBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9194', LAUKSLETTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9195', ÅRVIKSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9197', ULØYBUKTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9251', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9252', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9253', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9254', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9255', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9256', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9257', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9258', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9259', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9260', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9261', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9262', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9263', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9265', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9266', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9267', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9268', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9269', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9270', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9271', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9272', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9273', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9274', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9275', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9276', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9277', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9278', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9279', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9280', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9281', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9282', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9283', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9284', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9285', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9286', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9287', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9288', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9290', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9291', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9292', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9293', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9294', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9295', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9296', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9297', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9298', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9299', TROMSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9300', FINNSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9302', ROSSFJORDSTRAUMENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9303', SILSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9304', VANGSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9305', FINNSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9306', FINNSNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9310', SØRREISALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9311', BRØSTADBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9315', SØRREISALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9316', BRØSTADBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9321', MOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9322', KARLSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9325', BARDUFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9326', BARDUFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9327', BARDUFOSSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9329', MOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9334', ØVERBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9335', ØVERBYGDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9350', SJØVEGANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9355', SJØVEGANLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9360', BARDULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9365', BARDULbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9370', SILSANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9372', GIBOSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9373', BOTNHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9379', GRYLLEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9380', GRYLLEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9381', TORSKENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9382', GIBOSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9384', SKALANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9385', SKALANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9386', SENJAHOPENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9387', SENJAHOPENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9388', FJORDGARDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9389', HUSØYISENJALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9391', STONGLANDSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9392', STONGLANDSEIDETLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9393', FLAKSTADVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9395', KALDFARNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9402', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9403', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9404', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9405', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9406', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9407', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9408', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9409', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9411', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9414', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9415', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9419', SØRVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9420', LUNDENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9423', GRØTAVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9424', KJØTTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9425', SANDSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9426', BJARKØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9427', MELØYVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9430', SANDTORGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9436', KONGSVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9439', EVENSKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9440', EVENSKJERLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9441', FJELLDALLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9442', RAMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9443', MYKLEBOSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9444', HOLITJELDSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9445', TOVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9446', GROVFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9447', GROVFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9448', RAMSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9450', HAMNVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9451', HAMNVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9453', KRÅKRØHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9454', ÅNSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9455', ENGENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9465', TENNEVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9466', TENNEVOLLLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9470', GRATANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9471', GRATANGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9475', BORKENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9476', BORKENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9477', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9478', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9479', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9480', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9481', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9482', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9483', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9484', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9485', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9486', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9487', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9488', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9489', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9490', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9491', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9496', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9497', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9498', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9499', HARSTADLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9501', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9502', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9503', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9504', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9505', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9506', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9507', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9508', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9509', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9510', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9511', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9512', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9513', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9514', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9515', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9516', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9517', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9518', ALTALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9519', KVIBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9520', KAUTOKEINOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9521', KAUTOKEINOLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9525', MAZELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9526', SUOLOVUOPMILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9531', KVALFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9532', HAKKSTABBENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9533', KONGSHUSLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9536', KORSFJORDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9540', TALVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9545', LANGFJORDBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9550', ØKSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9551', ØKSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9580', BERGSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9582', NUVSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9583', LANGFJORDHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9584', SØRTVERRFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9585', SANDLANDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9586', LOPPALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9587', SKAVNAKKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9590', HASVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9593', BREIVIKBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9595', SØRVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9600', HAMMERFESTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9609', HØNSEBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9610', RYPEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9613', HAMMERFESTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9615', HAMMERFESTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9616', HAMMERFESTLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9620', KVALSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9621', KVALSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9624', REVSNESHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9650', AKKARFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9653', HELLEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9657', KÅRHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9663', SKARVFJORDHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9664', SANDØYBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9670', TUFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9672', INGØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9690', HAVØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9691', HAVØYSUNDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9692', MÅSØYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9700', LAKSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9709', PORSANGMOENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9710', INDREBILLEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9711', LAKSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9712', LAKSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9713', RUSSENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9714', SNEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9715', KOKELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9716', BØRSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9717', VEIDNESKLUBBENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9722', SKOGANVARRELbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9730', KARASJOKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9735', KARASJOKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9740', LEBESBYLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9742', KUNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9750', HONNINGSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9751', HONNINGSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9755', HONNINGSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9760', NORDVÅGENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9763', SKARSVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9764', NORDKAPPLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9765', GJESVÆRLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9768', REPVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9770', MEHAMNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9771', SKJÅNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9772', LANGFJORDNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9773', NERVEILbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9775', GAMVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9782', DYFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9783', NORDMANNSETILAKSEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9790', KJØLLEFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9800', VADSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9802', VESTREJAKOBSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9810', VESTREJAKOBSELVLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9811', VADSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9815', VADSØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9820', VARANGERBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9826', SIRMALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9840', VARANGERBOTNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9845', TANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9846', TANALbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9900', KIRKENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9910', BJØRNEVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9912', HESSENGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9914', BJØRNEVATNLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9915', KIRKENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9916', HESSENGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9917', KIRKENESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9925', SVANVIKLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9930', NEIDENLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9934', BUGØYFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9935', BUGØYNESLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9950', VARDØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9951', VARDØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9952', VARDØLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9960', KIBERGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9980', BERLEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9981', BERLEVÅGLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9982', KONGSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9990', BÅTSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('9991', BÅTSFJORDLbl, CreateCountryRegion.NO()); + ContosoPostCodeNL.InsertPostCode('AT-1100', WienLbl, CreateCountryRegion.AT()); + ContosoPostCodeNL.InsertPostCode('AT-1230', WienLbl, CreateCountryRegion.AT()); + ContosoPostCodeNL.InsertPostCode('AT-2355', WrNeudorfLbl, CreateCountryRegion.AT()); + ContosoPostCodeNL.InsertPostCode('AT-4810', GmundenLbl, CreateCountryRegion.AT()); + ContosoPostCodeNL.InsertPostCode('AT-5730', MittersillLbl, CreateCountryRegion.AT()); + ContosoPostCodeNL.InsertPostCode('AT-8850', MurauLbl, CreateCountryRegion.AT()); + ContosoPostCodeNL.InsertPostCode('AU-2000', SydneyNSWLbl, CreateCountryRegion.AU()); + ContosoPostCodeNL.InsertPostCode('AU-2500', WollongongNSWLbl, CreateCountryRegion.AU()); + ContosoPostCodeNL.InsertPostCode('AU-3000', MelbourneVICLbl, CreateCountryRegion.AU()); + ContosoPostCodeNL.InsertPostCode('AU-4000', BrisbaneQLDLbl, CreateCountryRegion.AU()); + ContosoPostCodeNL.InsertPostCode('AU-6800', PerthWALbl, CreateCountryRegion.AU()); + ContosoPostCodeNL.InsertPostCode('AU-7178', MurdunnaTASLbl, CreateCountryRegion.AU()); + ContosoPostCodeNL.InsertPostCode('BE-1851', HumbeekLbl, CreateCountryRegion.BE()); + ContosoPostCodeNL.InsertPostCode('BE-2050', AntwerpenLbl, CreateCountryRegion.BE()); + ContosoPostCodeNL.InsertPostCode('BE-2200', HerentalsLbl, CreateCountryRegion.BE()); + ContosoPostCodeNL.InsertPostCode('BE-2800', MechelenLbl, CreateCountryRegion.BE()); + ContosoPostCodeNL.InsertPostCode('BE-3000', LeuvenLbl, CreateCountryRegion.BE()); + ContosoPostCodeNL.InsertPostCode('BE-8500', KortrijkLbl, CreateCountryRegion.BE()); + ContosoPostCodeNL.InsertPostCode('BG-1000', SofiaLbl, CreateCountryRegion.BG()); + ContosoPostCodeNL.InsertPostCode('BG-2500', KustendilLbl, CreateCountryRegion.BG()); + ContosoPostCodeNL.InsertPostCode('BG-2700', BlagoevgradLbl, CreateCountryRegion.BG()); + ContosoPostCodeNL.InsertPostCode('BG-4000', PlovdivLbl, CreateCountryRegion.BG()); + ContosoPostCodeNL.InsertPostCode('BG-8700', ElhovoLbl, CreateCountryRegion.BG()); + ContosoPostCodeNL.InsertPostCode('BG-9000', VarnaLbl, CreateCountryRegion.BG()); + ContosoPostCodeNL.InsertPostCode('BR 05428-002', SaoPauloSPLbl, CreateCountryRegion.BR()); + ContosoPostCodeNL.InsertPostCode('BR 22291-040', RiodeJaneiroRJLbl, CreateCountryRegion.BR()); + ContosoPostCodeNL.InsertPostCode('BR 51021-040', RecifePELbl, CreateCountryRegion.BR()); + ContosoPostCodeNL.InsertPostCode('BR 70710-926', BrasiliaDFLbl, CreateCountryRegion.BR()); + ContosoPostCodeNL.InsertPostCode('BR 80020-290', CuritibaPRLbl, CreateCountryRegion.BR()); + ContosoPostCodeNL.InsertPostCode('BR 90040-130', PortoAlegreRSLbl, CreateCountryRegion.BR()); + ContosoPostCodeNL.InsertPostCode('CA-MB R0M 0N0', ElkhornLbl, CreateCountryRegion.CA()); + ContosoPostCodeNL.InsertPostCode('CA-ON L6J 3J3', OakvilleLbl, CreateCountryRegion.CA()); + ContosoPostCodeNL.InsertPostCode('CA-ON M5E 1G5', TorontoLbl, CreateCountryRegion.CA()); + ContosoPostCodeNL.InsertPostCode('CA-ON N6B 1V7', LondonLbl, CreateCountryRegion.CA()); + ContosoPostCodeNL.InsertPostCode('CA-ON P7A 4K8', ThunderBayLbl, CreateCountryRegion.CA()); + ContosoPostCodeNL.InsertPostCode('CA-ON P7B 5E2', ThunderBayLbl, CreateCountryRegion.CA()); + ContosoPostCodeNL.InsertPostCode('CH-4133', PrattelnLbl, CreateCountryRegion.CH()); + ContosoPostCodeNL.InsertPostCode('CH-6005', LuzernLbl, CreateCountryRegion.CH()); + ContosoPostCodeNL.InsertPostCode('CH-6343', RotkreuzLbl, CreateCountryRegion.CH()); + ContosoPostCodeNL.InsertPostCode('CH-6405', ImmenseeLbl, CreateCountryRegion.CH()); + ContosoPostCodeNL.InsertPostCode('CH-8152', GlattbruggLbl, CreateCountryRegion.CH()); + ContosoPostCodeNL.InsertPostCode('CH-8200', SchaffhausenLbl, CreateCountryRegion.CH()); + ContosoPostCodeNL.InsertPostCode('CZ-669 02', ZnojmoLbl, CreateCountryRegion.CZ()); + ContosoPostCodeNL.InsertPostCode('CZ-678 01', BlanskoLbl, CreateCountryRegion.CZ()); + ContosoPostCodeNL.InsertPostCode('CZ-687 71', BojkoviceLbl, CreateCountryRegion.CZ()); + ContosoPostCodeNL.InsertPostCode('CZ-696 42', VracovLbl, CreateCountryRegion.CZ()); + ContosoPostCodeNL.InsertPostCode('CZ-697 01', KyjovLbl, CreateCountryRegion.CZ()); + ContosoPostCodeNL.InsertPostCode('CZ-779 00', OlomouchLbl, CreateCountryRegion.CZ()); + ContosoPostCodeNL.InsertPostCode('DE-20097', HamburgLbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DE-22417', Hamburg36Lbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DE-40593', DusseldorfLbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DE-60320', FrankfurtMainLbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DE-72800', EningenLbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DE-80807', MunchenLbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DE-80997', MunchenLbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DE-86899', LandsbergamLechLbl, CreateCountryRegion.DE()); + ContosoPostCodeNL.InsertPostCode('DK-2100', CopenhagenLbl, CreateCountryRegion.DK()); + ContosoPostCodeNL.InsertPostCode('DK-2950', VedbaekLbl, CreateCountryRegion.DK()); + ContosoPostCodeNL.InsertPostCode('DK-4600', KogeLbl, CreateCountryRegion.DK()); + ContosoPostCodeNL.InsertPostCode('DK-5000', OdenseCLbl, CreateCountryRegion.DK()); + ContosoPostCodeNL.InsertPostCode('DK-8000', ArhusCLbl, CreateCountryRegion.DK()); + ContosoPostCodeNL.InsertPostCode('DK-8200', ArhusNLbl, CreateCountryRegion.DK()); + ContosoPostCodeNL.InsertPostCode('DK-9000', AlborgLbl, CreateCountryRegion.DK()); + ContosoPostCodeNL.InsertPostCode('DZ-05400', BARIKALbl, CreateCountryRegion.DZ()); + ContosoPostCodeNL.InsertPostCode('DZ-16000', ALGIERSLbl, CreateCountryRegion.DZ()); + ContosoPostCodeNL.InsertPostCode('DZ-16012', ALGIERSLbl, CreateCountryRegion.DZ()); + ContosoPostCodeNL.InsertPostCode('DZ-16027', ALGIERSLbl, CreateCountryRegion.DZ()); + ContosoPostCodeNL.InsertPostCode('DZ-21000', MOSTAGANCULbl, CreateCountryRegion.DZ()); + ContosoPostCodeNL.InsertPostCode('DZ-40000', KHENCHELbl, CreateCountryRegion.DZ()); + ContosoPostCodeNL.InsertPostCode('EE-10127', TallinnLbl, CreateCountryRegion.EE()); + ContosoPostCodeNL.InsertPostCode('EE-20607', NarvaLbl, CreateCountryRegion.EE()); + ContosoPostCodeNL.InsertPostCode('EE-44313', RakvereLbl, CreateCountryRegion.EE()); + ContosoPostCodeNL.InsertPostCode('EE-45109', TapaLbl, CreateCountryRegion.EE()); + ContosoPostCodeNL.InsertPostCode('EE-49603', MustveeLbl, CreateCountryRegion.EE()); + ContosoPostCodeNL.InsertPostCode('EE-76806', PaldiskiLbl, CreateCountryRegion.EE()); + ContosoPostCodeNL.InsertPostCode('EL-106 75', AthensLbl, CreateCountryRegion.EL()); + ContosoPostCodeNL.InsertPostCode('EL-106 82', AthensLbl, CreateCountryRegion.EL()); + ContosoPostCodeNL.InsertPostCode('EL-185 40', PiraeusLbl, CreateCountryRegion.EL()); + ContosoPostCodeNL.InsertPostCode('EL-546 35', ThessalonikiLbl, CreateCountryRegion.EL()); + ContosoPostCodeNL.InsertPostCode('EL-731 33', ChaniaLbl, CreateCountryRegion.EL()); + ContosoPostCodeNL.InsertPostCode('EL-851 03', KolymbiaLbl, CreateCountryRegion.EL()); + ContosoPostCodeNL.InsertPostCode('ES-03003', AlicanteLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-07001', PalmaMallorcaLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-08010', BarcelonaLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-10003', CaceresLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-28003', MadridLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-36004', PontevedraLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-37001', SalamancaLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-41006', SevillaLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-46007', ValenciaLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-47002', ValladolidLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('ES-50001', ZaragozaLbl, CreateCountryRegion.ES()); + ContosoPostCodeNL.InsertPostCode('FI-00100', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeNL.InsertPostCode('FI-00101', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeNL.InsertPostCode('FI-00260', HelsinkiLbl, CreateCountryRegion.FI()); + ContosoPostCodeNL.InsertPostCode('FI-01800', KlaukkalaLbl, CreateCountryRegion.FI()); + ContosoPostCodeNL.InsertPostCode('FI-05400', JokelaLbl, CreateCountryRegion.FI()); + ContosoPostCodeNL.InsertPostCode('FI-88900', KuhmoLbl, CreateCountryRegion.FI()); + ContosoPostCodeNL.InsertPostCode('FR-44450', LACHAPELLEBASSEMERLbl, CreateCountryRegion.FR()); + ContosoPostCodeNL.InsertPostCode('FR-50670', CASSELLbl, CreateCountryRegion.FR()); + ContosoPostCodeNL.InsertPostCode('FR-75000', PARISLbl, CreateCountryRegion.FR()); + ContosoPostCodeNL.InsertPostCode('FR-77450', ESBLYLbl, CreateCountryRegion.FR()); + ContosoPostCodeNL.InsertPostCode('FR-78370', PLAISIRLbl, CreateCountryRegion.FR()); + ContosoPostCodeNL.InsertPostCode('FR-83250', LALONDELESMAURESLbl, CreateCountryRegion.FR()); + ContosoPostCodeNL.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeNL.InsertPostCode('HR-10000', ZagrebLbl, CreateCountryRegion.HR()); + ContosoPostCodeNL.InsertPostCode('HR-20000', DubrovnikLbl, CreateCountryRegion.HR()); + ContosoPostCodeNL.InsertPostCode('HR-21000', SplitLbl, CreateCountryRegion.HR()); + ContosoPostCodeNL.InsertPostCode('HR-22000', SibenikLbl, CreateCountryRegion.HR()); + ContosoPostCodeNL.InsertPostCode('HR-43000', BjelovarLbl, CreateCountryRegion.HR()); + ContosoPostCodeNL.InsertPostCode('HR-52210', RovinjLbl, CreateCountryRegion.HR()); + ContosoPostCodeNL.InsertPostCode('HU-1107', BudapestLbl, CreateCountryRegion.HU()); + ContosoPostCodeNL.InsertPostCode('HU-1161', BudapestLbl, CreateCountryRegion.HU()); + ContosoPostCodeNL.InsertPostCode('HU-1204', BudapestLbl, CreateCountryRegion.HU()); + ContosoPostCodeNL.InsertPostCode('HU-2500', EsztergomLbl, CreateCountryRegion.HU()); + ContosoPostCodeNL.InsertPostCode('HU-3258', TarnaleleszLbl, CreateCountryRegion.HU()); + ContosoPostCodeNL.InsertPostCode('HU-3325', NoszvajLbl, CreateCountryRegion.HU()); + ContosoPostCodeNL.InsertPostCode('ID-10310', JakartaLbl, CreateCountryRegion.ID()); + ContosoPostCodeNL.InsertPostCode('ID-10440', JakartaLbl, CreateCountryRegion.ID()); + ContosoPostCodeNL.InsertPostCode('ID-11470', JakartaLbl, CreateCountryRegion.ID()); + ContosoPostCodeNL.InsertPostCode('ID-15156', TangerangLbl, CreateCountryRegion.ID()); + ContosoPostCodeNL.InsertPostCode('ID-40135', BandungLbl, CreateCountryRegion.ID()); + ContosoPostCodeNL.InsertPostCode('ID-60172', SurabayaLbl, CreateCountryRegion.ID()); + ContosoPostCodeNL.InsertPostCode('IN-110002', DelhiLbl, CreateCountryRegion.IND()); + ContosoPostCodeNL.InsertPostCode('IN-400001', MumbaiLbl, CreateCountryRegion.IND()); + ContosoPostCodeNL.InsertPostCode('IN-440001', NagpurLbl, CreateCountryRegion.IND()); + ContosoPostCodeNL.InsertPostCode('IN-560001', BengaluruLbl, CreateCountryRegion.IND()); + ContosoPostCodeNL.InsertPostCode('IN-600001', ChennaiLbl, CreateCountryRegion.IND()); + ContosoPostCodeNL.InsertPostCode('IN-700001', KolkataLbl, CreateCountryRegion.IND()); + ContosoPostCodeNL.InsertPostCode('IS-101', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeNL.InsertPostCode('IS-108', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeNL.InsertPostCode('IS-112', ReykjavikLbl, CreateCountryRegion.IS()); + ContosoPostCodeNL.InsertPostCode('IS-200', KopavogurLbl, CreateCountryRegion.IS()); + ContosoPostCodeNL.InsertPostCode('IS-220', HafnafjordurLbl, CreateCountryRegion.IS()); + ContosoPostCodeNL.InsertPostCode('IS-300', AkranesLbl, CreateCountryRegion.IS()); + ContosoPostCodeNL.InsertPostCode('IT-00100', ROMARMLbl, CreateCountryRegion.IT()); + ContosoPostCodeNL.InsertPostCode('IT-10100', TORINOTOLbl, CreateCountryRegion.IT()); + ContosoPostCodeNL.InsertPostCode('IT-20100', MILANOMILbl, CreateCountryRegion.IT()); + ContosoPostCodeNL.InsertPostCode('IT-39100', BOLZANOBZLbl, CreateCountryRegion.IT()); + ContosoPostCodeNL.InsertPostCode('IT-61100', SANTAVENERANDAPSLbl, CreateCountryRegion.IT()); + ContosoPostCodeNL.InsertPostCode('IT-67067', PESCINAAQLbl, CreateCountryRegion.IT()); + ContosoPostCodeNL.InsertPostCode('KE-0 0100', NairobiLbl, CreateCountryRegion.KE()); + ContosoPostCodeNL.InsertPostCode('KE-0 1007', KairiLbl, CreateCountryRegion.KE()); + ContosoPostCodeNL.InsertPostCode('KE-5 0413', AdungosiLbl, CreateCountryRegion.KE()); + ContosoPostCodeNL.InsertPostCode('KE-6 0500', MarsabitLbl, CreateCountryRegion.KE()); + ContosoPostCodeNL.InsertPostCode('KE-8 0100', MombasaLbl, CreateCountryRegion.KE()); + ContosoPostCodeNL.InsertPostCode('KE-8 0200', MalindiLbl, CreateCountryRegion.KE()); + ContosoPostCodeNL.InsertPostCode('LT-2600', VilniusLbl, CreateCountryRegion.LT()); + ContosoPostCodeNL.InsertPostCode('LT-2700', VilniusLbl, CreateCountryRegion.LT()); + ContosoPostCodeNL.InsertPostCode('LT-3000', KaunasLbl, CreateCountryRegion.LT()); + ContosoPostCodeNL.InsertPostCode('LT-3042', KaunasLbl, CreateCountryRegion.LT()); + ContosoPostCodeNL.InsertPostCode('LT-4600', RudiskesLbl, CreateCountryRegion.LT()); + ContosoPostCodeNL.InsertPostCode('LT-5800', KlaipedaLbl, CreateCountryRegion.LT()); + ContosoPostCodeNL.InsertPostCode('LV-1011', RigaLbl, CreateCountryRegion.LV()); + ContosoPostCodeNL.InsertPostCode('LV-1039', RigaLbl, CreateCountryRegion.LV()); + ContosoPostCodeNL.InsertPostCode('LV-3270', DundagaLbl, CreateCountryRegion.LV()); + ContosoPostCodeNL.InsertPostCode('LV-3900', BauskaLbl, CreateCountryRegion.LV()); + ContosoPostCodeNL.InsertPostCode('LV-5002', OgreLbl, CreateCountryRegion.LV()); + ContosoPostCodeNL.InsertPostCode('LV-5113', KokneseLbl, CreateCountryRegion.LV()); + ContosoPostCodeNL.InsertPostCode('MA-10100', AGDALRABATLbl, CreateCountryRegion.MA()); + ContosoPostCodeNL.InsertPostCode('MA-10101', RIADRABATLbl, CreateCountryRegion.MA()); + ContosoPostCodeNL.InsertPostCode('MA-12000', TEMARALbl, CreateCountryRegion.MA()); + ContosoPostCodeNL.InsertPostCode('MA-20000', CASABLANCALbl, CreateCountryRegion.MA()); + ContosoPostCodeNL.InsertPostCode('MA-20200', CASABLANCALbl, CreateCountryRegion.MA()); + ContosoPostCodeNL.InsertPostCode('MA-20800', MOHAMMEDIALbl, CreateCountryRegion.MA()); + ContosoPostCodeNL.InsertPostCode('MA-90000', KASBAHTANGERLbl, CreateCountryRegion.MA()); + ContosoPostCodeNL.InsertPostCode('MX-01030', MexicoCityDFLbl, CreateCountryRegion.MX()); + ContosoPostCodeNL.InsertPostCode('MX-06000', MexicoCityDFLbl, CreateCountryRegion.MX()); + ContosoPostCodeNL.InsertPostCode('MX-37500', LeonGuanajuatoLbl, CreateCountryRegion.MX()); + ContosoPostCodeNL.InsertPostCode('MX-64640', MonterreyNuevoLeonLbl, CreateCountryRegion.MX()); + ContosoPostCodeNL.InsertPostCode('MX-78030', SanLuisPotosiSanLuisLbl, CreateCountryRegion.MX()); + ContosoPostCodeNL.InsertPostCode('MX-82100', MazatlanSinaloaLbl, CreateCountryRegion.MX()); + ContosoPostCodeNL.InsertPostCode('MY-42000', PELABUHANKLANGSelangorLbl, CreateCountryRegion.MY()); + ContosoPostCodeNL.InsertPostCode('MY-47400', PETALINGJAYASelangorLbl, CreateCountryRegion.MY()); + ContosoPostCodeNL.InsertPostCode('MY-50450', AMPANGKualaLumpurLbl, CreateCountryRegion.MY()); + ContosoPostCodeNL.InsertPostCode('MY-57000', KUALALUMPURLbl, CreateCountryRegion.MY()); + ContosoPostCodeNL.InsertPostCode('MY-88100', KOTAKINABALUSabahLbl, CreateCountryRegion.MY()); + ContosoPostCodeNL.InsertPostCode('MY-93450', KUCHINGSarawakLbl, CreateCountryRegion.MY()); + ContosoPostCodeNL.InsertPostCode('MZ-00300', MaputoLbl, CreateCountryRegion.MZ()); + ContosoPostCodeNL.InsertPostCode('NG-300001', BENINEdostateLbl, CreateCountryRegion.NG()); + ContosoPostCodeNL.InsertPostCode('NG-900001', ABUJALbl, CreateCountryRegion.NG()); + ContosoPostCodeNL.InsertPostCode('NG-930283', JOSPlateaustateLbl, CreateCountryRegion.NG()); + ContosoPostCodeNL.InsertPostCode('NG-931104', GHOHPlateaustateLbl, CreateCountryRegion.NG()); + ContosoPostCodeNL.InsertPostCode('NL-1009 AG', AmsterdamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('NL-1530 JM', ZaandamLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('NL-5132 EE', WaalwijkLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('NL-6827 BP', ArnhemLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('NL-7202 BP', ZutphenLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('NL-7321 HE', ApeldoornLbl, CreateCountryRegion.NL()); + ContosoPostCodeNL.InsertPostCode('NZ-1001', AucklandLbl, CreateCountryRegion.NZ()); + ContosoPostCodeNL.InsertPostCode('NZ-5473', WoodvilleLbl, CreateCountryRegion.NZ()); + ContosoPostCodeNL.InsertPostCode('NZ-5491', DannevirkeLbl, CreateCountryRegion.NZ()); + ContosoPostCodeNL.InsertPostCode('NZ-6001', WellingtonLbl, CreateCountryRegion.NZ()); + ContosoPostCodeNL.InsertPostCode('NZ-7900', HokitikaLbl, CreateCountryRegion.NZ()); + ContosoPostCodeNL.InsertPostCode('NZ-8001', ChristchurchLbl, CreateCountryRegion.NZ()); + ContosoPostCodeNL.InsertPostCode('PH-1000', ManilaLbl, CreateCountryRegion.PH()); + ContosoPostCodeNL.InsertPostCode('PH-1003', SantaCruzManilaLbl, CreateCountryRegion.PH()); + ContosoPostCodeNL.InsertPostCode('PH-1012', TondoManilaLbl, CreateCountryRegion.PH()); + ContosoPostCodeNL.InsertPostCode('PH-1117', CapriQuezonCityLbl, CreateCountryRegion.PH()); + ContosoPostCodeNL.InsertPostCode('PH-1440', ValenzuelaLbl, CreateCountryRegion.PH()); + ContosoPostCodeNL.InsertPostCode('PH-7000', ZamboangaCityLbl, CreateCountryRegion.PH()); + ContosoPostCodeNL.InsertPostCode('PL 02-515', WarszawaLbl, CreateCountryRegion.PL()); + ContosoPostCodeNL.InsertPostCode('PL 11-430', KorszeLbl, CreateCountryRegion.PL()); + ContosoPostCodeNL.InsertPostCode('PL 14-510', OrnetaLbl, CreateCountryRegion.PL()); + ContosoPostCodeNL.InsertPostCode('PL 15-660', BialystokLbl, CreateCountryRegion.PL()); + ContosoPostCodeNL.InsertPostCode('PL 45-418', OpoleLbl, CreateCountryRegion.PL()); + ContosoPostCodeNL.InsertPostCode('PL 59-300', LubinLbl, CreateCountryRegion.PL()); + ContosoPostCodeNL.InsertPostCode('PT 1050-042', LISBOALbl, CreateCountryRegion.PT()); + ContosoPostCodeNL.InsertPostCode('PT 1100-150', LISBOALbl, CreateCountryRegion.PT()); + ContosoPostCodeNL.InsertPostCode('PT 3000-337', COIMBRALbl, CreateCountryRegion.PT()); + ContosoPostCodeNL.InsertPostCode('PT 4000-322', PORTOLbl, CreateCountryRegion.PT()); + ContosoPostCodeNL.InsertPostCode('PT 9000-064', FUNCHALLbl, CreateCountryRegion.PT()); + ContosoPostCodeNL.InsertPostCode('PT 9500-101', PONTADELGADALbl, CreateCountryRegion.PT()); + ContosoPostCodeNL.InsertPostCode('RO-050724', BucurestiLbl, CreateCountryRegion.RO()); + ContosoPostCodeNL.InsertPostCode('RO-050729', BucurestiLbl, CreateCountryRegion.RO()); + ContosoPostCodeNL.InsertPostCode('RO-051511', BucurestiLbl, CreateCountryRegion.RO()); + ContosoPostCodeNL.InsertPostCode('RO-200331', CraiovaLbl, CreateCountryRegion.RO()); + ContosoPostCodeNL.InsertPostCode('RO-500209', BrasovLbl, CreateCountryRegion.RO()); + ContosoPostCodeNL.InsertPostCode('RO-550264', SibiuLbl, CreateCountryRegion.RO()); + ContosoPostCodeNL.InsertPostCode('RS-11000', BeogradLbl, CreateCountryRegion.RS()); + ContosoPostCodeNL.InsertPostCode('RS-11001', BeogradLbl, CreateCountryRegion.RS()); + ContosoPostCodeNL.InsertPostCode('RS-19210', BorLbl, CreateCountryRegion.RS()); + ContosoPostCodeNL.InsertPostCode('RS-21000', NoviSadLbl, CreateCountryRegion.RS()); + ContosoPostCodeNL.InsertPostCode('RS-24000', SuboticaLbl, CreateCountryRegion.RS()); + ContosoPostCodeNL.InsertPostCode('RS-34000', KragujevacLbl, CreateCountryRegion.RS()); + ContosoPostCodeNL.InsertPostCode('RU-103054', MoskvaLbl, CreateCountryRegion.RU()); + ContosoPostCodeNL.InsertPostCode('RU-109456', MoskvaLbl, CreateCountryRegion.RU()); + ContosoPostCodeNL.InsertPostCode('RU-197342', SanktPetersburgLbl, CreateCountryRegion.RU()); + ContosoPostCodeNL.InsertPostCode('RU-443008', SamaraLbl, CreateCountryRegion.RU()); + ContosoPostCodeNL.InsertPostCode('RU-603061', NizhnyNovgorodLbl, CreateCountryRegion.RU()); + ContosoPostCodeNL.InsertPostCode('RU-690001', VladivostokLbl, CreateCountryRegion.RU()); + ContosoPostCodeNL.InsertPostCode('SE-114 32', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeNL.InsertPostCode('SE-302 50', HalmstadLbl, CreateCountryRegion.SE()); + ContosoPostCodeNL.InsertPostCode('SE-415 06', GoteborgLbl, CreateCountryRegion.SE()); + ContosoPostCodeNL.InsertPostCode('SE-521 03', KinnaredLbl, CreateCountryRegion.SE()); + ContosoPostCodeNL.InsertPostCode('SE-550 05', JonkobingLbl, CreateCountryRegion.SE()); + ContosoPostCodeNL.InsertPostCode('SE-600 03', NorrkobingLbl, CreateCountryRegion.SE()); + ContosoPostCodeNL.InsertPostCode('SE-852 33', SundsvallLbl, CreateCountryRegion.SE()); + ContosoPostCodeNL.InsertPostCode('SG-038988', SingaporeLbl, CreateCountryRegion.SG()); + ContosoPostCodeNL.InsertPostCode('SI-1000', LjubljanaLbl, CreateCountryRegion.SI()); + ContosoPostCodeNL.InsertPostCode('SI-2000', MariborLbl, CreateCountryRegion.SI()); + ContosoPostCodeNL.InsertPostCode('SI-3231', GrobelnoLbl, CreateCountryRegion.SI()); + ContosoPostCodeNL.InsertPostCode('SI-4502', KranjLbl, CreateCountryRegion.SI()); + ContosoPostCodeNL.InsertPostCode('SI-6000', KoperLbl, CreateCountryRegion.SI()); + ContosoPostCodeNL.InsertPostCode('SI-8283', BlancaLbl, CreateCountryRegion.SI()); + ContosoPostCodeNL.InsertPostCode('SK-026 01', DolnyKubinLbl, CreateCountryRegion.SK()); + ContosoPostCodeNL.InsertPostCode('SK-049 21', BetliarLbl, CreateCountryRegion.SK()); + ContosoPostCodeNL.InsertPostCode('SK-813 38', BratislavaLbl, CreateCountryRegion.SK()); + ContosoPostCodeNL.InsertPostCode('SK-821 04', BratislavaLbl, CreateCountryRegion.SK()); + ContosoPostCodeNL.InsertPostCode('SK-905 01', SenicaLbl, CreateCountryRegion.SK()); + ContosoPostCodeNL.InsertPostCode('SK-985 01', KalinovoLbl, CreateCountryRegion.SK()); + ContosoPostCodeNL.InsertPostCode('SZ-H100', MbabaneLbl, CreateCountryRegion.SZ()); + ContosoPostCodeNL.InsertPostCode('SZ-H101', SwaziPlazaLbl, CreateCountryRegion.SZ()); + ContosoPostCodeNL.InsertPostCode('SZ-H108', PiggsPeakLbl, CreateCountryRegion.SZ()); + ContosoPostCodeNL.InsertPostCode('SZ-H200', ManziniLbl, CreateCountryRegion.SZ()); + ContosoPostCodeNL.InsertPostCode('SZ-L300', SitekiLbl, CreateCountryRegion.SZ()); + ContosoPostCodeNL.InsertPostCode('SZ-S400', NhlanganoLbl, CreateCountryRegion.SZ()); + ContosoPostCodeNL.InsertPostCode('TH-10260', BangNaBangkokLbl, CreateCountryRegion.TH()); + ContosoPostCodeNL.InsertPostCode('TH-10500', BangRakBangkokLbl, CreateCountryRegion.TH()); + ContosoPostCodeNL.InsertPostCode('TH-10510', KhlongSamwaBangkokLbl, CreateCountryRegion.TH()); + ContosoPostCodeNL.InsertPostCode('TH-17120', WatSingChaiNatLbl, CreateCountryRegion.TH()); + ContosoPostCodeNL.InsertPostCode('TH-31260', NonDindaengBuriRamLbl, CreateCountryRegion.TH()); + ContosoPostCodeNL.InsertPostCode('TH-50120', SanPaTongChiangMaiLbl, CreateCountryRegion.TH()); + ContosoPostCodeNL.InsertPostCode('TN-1002', TunisBelvedereLbl, CreateCountryRegion.TN()); + ContosoPostCodeNL.InsertPostCode('TN-1030', TunisLbl, CreateCountryRegion.TN()); + ContosoPostCodeNL.InsertPostCode('TN-1111', ZaghouanLbl, CreateCountryRegion.TN()); + ContosoPostCodeNL.InsertPostCode('TN-3100', KairouanLbl, CreateCountryRegion.TN()); + ContosoPostCodeNL.InsertPostCode('TN-8129', AinDrahamLbl, CreateCountryRegion.TN()); + ContosoPostCodeNL.InsertPostCode('TN-8170', BouSalemLbl, CreateCountryRegion.TN()); + ContosoPostCodeNL.InsertPostCode('TR-06531', AnkaraLbl, CreateCountryRegion.TR()); + ContosoPostCodeNL.InsertPostCode('TR-42020', KonyaLbl, CreateCountryRegion.TR()); + ContosoPostCodeNL.InsertPostCode('TR-45030', ManisaLbl, CreateCountryRegion.TR()); + ContosoPostCodeNL.InsertPostCode('TR-80080', IstanbulLbl, CreateCountryRegion.TR()); + ContosoPostCodeNL.InsertPostCode('TR-81420', KartalIstanbulLbl, CreateCountryRegion.TR()); + ContosoPostCodeNL.InsertPostCode('TR-81700', TuzlaIstanbulLbl, CreateCountryRegion.TR()); + ContosoPostCodeNL.InsertPostCode('TZ-DSM', DarEsSalaamLbl, CreateCountryRegion.TZ()); + ContosoPostCodeNL.InsertPostCode('UG-EBB', EntebbeLbl, CreateCountryRegion.UG()); + ContosoPostCodeNL.InsertPostCode('UG-KLA', KampalaLbl, CreateCountryRegion.UG()); + ContosoPostCodeNL.InsertPostCode('US-AL 35242', BirminghamLbl, CreateCountryRegion.US()); + ContosoPostCodeNL.InsertPostCode('US-FL 37125', MiamiLbl, CreateCountryRegion.US()); + ContosoPostCodeNL.InsertPostCode('US-GA 31772', AtlantaLbl, CreateCountryRegion.US()); + ContosoPostCodeNL.InsertPostCode('US-IL 61236', ChicagoLbl, CreateCountryRegion.US()); + ContosoPostCodeNL.InsertPostCode('US-NY 11010', NewYorkLbl, CreateCountryRegion.US()); + ContosoPostCodeNL.InsertPostCode('US-SC 27136', ColombiaLbl, CreateCountryRegion.US()); + ContosoPostCodeNL.InsertPostCode('ZA-0001', PretoriaLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-0700', PietersburgLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-2000', JohannesburgLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-2500', CarletonvilleLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-2940', NewcastleLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-3600', DurbanLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-3900', RichardsBayLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-6000', PortElizabethLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-8000', CapeTownLbl, CreateCountryRegion.ZA()); + ContosoPostCodeNL.InsertPostCode('ZA-9300', BloemfonteinLbl, CreateCountryRegion.ZA()); + + end; + + var + OSLOLbl: Label 'OSLO', MaxLength = 30, Locked = true; + OSLOLMELbl: Label 'OSLO LME', MaxLength = 30, Locked = true; + SANDVIKALbl: Label 'SANDVIKA', MaxLength = 30, Locked = true; + HASLUMLbl: Label 'HASLUM', MaxLength = 30, Locked = true; + BÆRUMPOSTTERMINALLbl: Label 'BÆRUM POSTTERMINAL', MaxLength = 30, Locked = true; + RUDLbl: Label 'RUD', MaxLength = 30, Locked = true; + KUNSTSENTRETHØVIKODDENLbl: Label 'KUNSTSENTRET HØVIKODDEN', MaxLength = 30, Locked = true; + SLEPENDENLbl: Label 'SLEPENDEN', MaxLength = 30, Locked = true; + VØYENENGALbl: Label 'VØYENENGA', MaxLength = 30, Locked = true; + EIKSMARKALbl: Label 'EIKSMARKA', MaxLength = 30, Locked = true; + BÆRUMSVERKLbl: Label 'BÆRUMS VERK', MaxLength = 30, Locked = true; + BEKKESTUALbl: Label 'BEKKESTUA', MaxLength = 30, Locked = true; + STABEKKLbl: Label 'STABEKK', MaxLength = 30, Locked = true; + HØVIKLbl: Label 'HØVIK', MaxLength = 30, Locked = true; + LYSAKERLbl: Label 'LYSAKER', MaxLength = 30, Locked = true; + FORNEBULbl: Label 'FORNEBU', MaxLength = 30, Locked = true; + ØSTERÅSLbl: Label 'ØSTERÅS', MaxLength = 30, Locked = true; + KOLSÅSLbl: Label 'KOLSÅS', MaxLength = 30, Locked = true; + RYKKINNLbl: Label 'RYKKINN', MaxLength = 30, Locked = true; + SNARØYALbl: Label 'SNARØYA', MaxLength = 30, Locked = true; + SKUILbl: Label 'SKUI', MaxLength = 30, Locked = true; + GJETTUMLbl: Label 'GJETTUM', MaxLength = 30, Locked = true; + LOMMEDALENLbl: Label 'LOMMEDALEN', MaxLength = 30, Locked = true; + JARLbl: Label 'JAR', MaxLength = 30, Locked = true; + HOSLELbl: Label 'HOSLE', MaxLength = 30, Locked = true; + BLOMMENHOLMLbl: Label 'BLOMMENHOLM', MaxLength = 30, Locked = true; + ASKERLbl: Label 'ASKER', MaxLength = 30, Locked = true; + BILLINGSTADLbl: Label 'BILLINGSTAD', MaxLength = 30, Locked = true; + NESBRULbl: Label 'NESBRU', MaxLength = 30, Locked = true; + HEGGEDALLbl: Label 'HEGGEDAL', MaxLength = 30, Locked = true; + VETTRELbl: Label 'VETTRE', MaxLength = 30, Locked = true; + BORGENLbl: Label 'BORGEN', MaxLength = 30, Locked = true; + VOLLENLbl: Label 'VOLLEN', MaxLength = 30, Locked = true; + HVALSTADLbl: Label 'HVALSTAD', MaxLength = 30, Locked = true; + NESØYALbl: Label 'NESØYA', MaxLength = 30, Locked = true; + SKILbl: Label 'SKI', MaxLength = 30, Locked = true; + LANGHUSLbl: Label 'LANGHUS', MaxLength = 30, Locked = true; + SIGGERUDLbl: Label 'SIGGERUD', MaxLength = 30, Locked = true; + VINTERBROLbl: Label 'VINTERBRO', MaxLength = 30, Locked = true; + KRÅKSTADLbl: Label 'KRÅKSTAD', MaxLength = 30, Locked = true; + SKOTBULbl: Label 'SKOTBU', MaxLength = 30, Locked = true; + KOLBOTNLbl: Label 'KOLBOTN', MaxLength = 30, Locked = true; + SOFIEMYRLbl: Label 'SOFIEMYR', MaxLength = 30, Locked = true; + TÅRNÅSENLbl: Label 'TÅRNÅSEN', MaxLength = 30, Locked = true; + TROLLÅSENLbl: Label 'TROLLÅSEN', MaxLength = 30, Locked = true; + OPPEGÅRDLbl: Label 'OPPEGÅRD', MaxLength = 30, Locked = true; + SVARTSKOGLbl: Label 'SVARTSKOG', MaxLength = 30, Locked = true; + ÅSLbl: Label 'ÅS', MaxLength = 30, Locked = true; + ÅSLandbrukshøyskolenLbl: Label 'ÅS (Landbrukshøyskolen)', MaxLength = 30, Locked = true; + DRØBAKLbl: Label 'DRØBAK', MaxLength = 30, Locked = true; + OSCARSBORGLbl: Label 'OSCARSBORG', MaxLength = 30, Locked = true; + SKIPHELLELbl: Label 'SKIPHELLE', MaxLength = 30, Locked = true; + HEERLbl: Label 'HEER', MaxLength = 30, Locked = true; + NESODDTANGENLbl: Label 'NESODDTANGEN', MaxLength = 30, Locked = true; + BJØRNEMYRLbl: Label 'BJØRNEMYR', MaxLength = 30, Locked = true; + FAGERSTRANDLbl: Label 'FAGERSTRAND', MaxLength = 30, Locked = true; + NORDREFROGNLbl: Label 'NORDRE FROGN', MaxLength = 30, Locked = true; + FJELLSTRANDLbl: Label 'FJELLSTRAND', MaxLength = 30, Locked = true; + LØRENSKOGLbl: Label 'LØRENSKOG', MaxLength = 30, Locked = true; + FJELLHAMARLbl: Label 'FJELLHAMAR', MaxLength = 30, Locked = true; + NORDBYHAGENLbl: Label 'NORDBYHAGEN', MaxLength = 30, Locked = true; + FINSTADJORDETLbl: Label 'FINSTADJORDET', MaxLength = 30, Locked = true; + RASTALbl: Label 'RASTA', MaxLength = 30, Locked = true; + SLATTUMLbl: Label 'SLATTUM', MaxLength = 30, Locked = true; + HAGANLbl: Label 'HAGAN', MaxLength = 30, Locked = true; + NITTEDALLbl: Label 'NITTEDAL', MaxLength = 30, Locked = true; + SKYTTALbl: Label 'SKYTTA', MaxLength = 30, Locked = true; + ÅNEBYLbl: Label 'ÅNEBY', MaxLength = 30, Locked = true; + TØYENHAUGENLbl: Label 'TØYENHAUGEN', MaxLength = 30, Locked = true; + HAKADALLbl: Label 'HAKADAL', MaxLength = 30, Locked = true; + MOSSLbl: Label 'MOSS', MaxLength = 30, Locked = true; + VESTBYLbl: Label 'VESTBY', MaxLength = 30, Locked = true; + HVITSTENLbl: Label 'HVITSTEN', MaxLength = 30, Locked = true; + HØLENLbl: Label 'HØLEN', MaxLength = 30, Locked = true; + SONLbl: Label 'SON', MaxLength = 30, Locked = true; + LARKOLLENLbl: Label 'LARKOLLEN', MaxLength = 30, Locked = true; + DILLINGLbl: Label 'DILLING', MaxLength = 30, Locked = true; + RYGGELbl: Label 'RYGGE', MaxLength = 30, Locked = true; + RYGGEFLYSTASJONLbl: Label 'RYGGE FLYSTASJON', MaxLength = 30, Locked = true; + SPERREBOTNLbl: Label 'SPERREBOTN', MaxLength = 30, Locked = true; + VÅLERIØSTFOLDLbl: Label 'VÅLER I ØSTFOLD', MaxLength = 30, Locked = true; + SVINNDALLbl: Label 'SVINNDAL', MaxLength = 30, Locked = true; + FREDRIKSTADLbl: Label 'FREDRIKSTAD', MaxLength = 30, Locked = true; + GRESSVIKLbl: Label 'GRESSVIK', MaxLength = 30, Locked = true; + MANSTADLbl: Label 'MANSTAD', MaxLength = 30, Locked = true; + ENGALSVIKLbl: Label 'ENGALSVIK', MaxLength = 30, Locked = true; + GAMLEFREDRIKSTADLbl: Label 'GAMLE FREDRIKSTAD', MaxLength = 30, Locked = true; + RÅDELbl: Label 'RÅDE', MaxLength = 30, Locked = true; + SALTNESLbl: Label 'SALTNES', MaxLength = 30, Locked = true; + SELLEBAKKLbl: Label 'SELLEBAKK', MaxLength = 30, Locked = true; + TORPLbl: Label 'TORP', MaxLength = 30, Locked = true; + ROLVSØYLbl: Label 'ROLVSØY', MaxLength = 30, Locked = true; + KRÅKERØYLbl: Label 'KRÅKERØY', MaxLength = 30, Locked = true; + SKJÆRHALLENLbl: Label 'SKJÆRHALLEN', MaxLength = 30, Locked = true; + VESTERØYLbl: Label 'VESTERØY', MaxLength = 30, Locked = true; + HERFØLLbl: Label 'HERFØL', MaxLength = 30, Locked = true; + NEDGÅRDENLbl: Label 'NEDGÅRDEN', MaxLength = 30, Locked = true; + SARPSBORGLbl: Label 'SARPSBORG', MaxLength = 30, Locked = true; + GRÅLUMLbl: Label 'GRÅLUM', MaxLength = 30, Locked = true; + YVENLbl: Label 'YVEN', MaxLength = 30, Locked = true; + GREÅKERLbl: Label 'GREÅKER', MaxLength = 30, Locked = true; + ISELbl: Label 'ISE', MaxLength = 30, Locked = true; + HAFSLUNDSØYLbl: Label 'HAFSLUNDSØY', MaxLength = 30, Locked = true; + VARTEIGLbl: Label 'VARTEIG', MaxLength = 30, Locked = true; + BORGENHAUGENLbl: Label 'BORGENHAUGEN', MaxLength = 30, Locked = true; + KLAVESTADHAUGENLbl: Label 'KLAVESTADHAUGEN', MaxLength = 30, Locked = true; + SKJEBERGLbl: Label 'SKJEBERG', MaxLength = 30, Locked = true; + HALDENLbl: Label 'HALDEN', MaxLength = 30, Locked = true; + BERGIØSTFOLDLbl: Label 'BERG I ØSTFOLD', MaxLength = 30, Locked = true; + TISTEDALLbl: Label 'TISTEDAL', MaxLength = 30, Locked = true; + SPONVIKALbl: Label 'SPONVIKA', MaxLength = 30, Locked = true; + KORNSJØLbl: Label 'KORNSJØ', MaxLength = 30, Locked = true; + AREMARKLbl: Label 'AREMARK', MaxLength = 30, Locked = true; + ASKIMLbl: Label 'ASKIM', MaxLength = 30, Locked = true; + SPYDEBERGLbl: Label 'SPYDEBERG', MaxLength = 30, Locked = true; + TOMTERLbl: Label 'TOMTER', MaxLength = 30, Locked = true; + SKIPTVETLbl: Label 'SKIPTVET', MaxLength = 30, Locked = true; + KNAPSTADLbl: Label 'KNAPSTAD', MaxLength = 30, Locked = true; + HOBØLLbl: Label 'HOBØL', MaxLength = 30, Locked = true; + MYSENLbl: Label 'MYSEN', MaxLength = 30, Locked = true; + SLITULbl: Label 'SLITU', MaxLength = 30, Locked = true; + TRØGSTADLbl: Label 'TRØGSTAD', MaxLength = 30, Locked = true; + BÅSTADLbl: Label 'BÅSTAD', MaxLength = 30, Locked = true; + ØRJELbl: Label 'ØRJE', MaxLength = 30, Locked = true; + OTTEIDLbl: Label 'OTTEID', MaxLength = 30, Locked = true; + HÆRLANDLbl: Label 'HÆRLAND', MaxLength = 30, Locked = true; + EIDSBERGLbl: Label 'EIDSBERG', MaxLength = 30, Locked = true; + RAKKESTADLbl: Label 'RAKKESTAD', MaxLength = 30, Locked = true; + DEGERNESLbl: Label 'DEGERNES', MaxLength = 30, Locked = true; + FETSUNDLbl: Label 'FETSUND', MaxLength = 30, Locked = true; + GANLbl: Label 'GAN', MaxLength = 30, Locked = true; + ENEBAKKNESETLbl: Label 'ENEBAKKNESET', MaxLength = 30, Locked = true; + FLATEBYLbl: Label 'FLATEBY', MaxLength = 30, Locked = true; + ENEBAKKLbl: Label 'ENEBAKK', MaxLength = 30, Locked = true; + YTREENEBAKKLbl: Label 'YTRE ENEBAKK', MaxLength = 30, Locked = true; + SØRUMSANDLbl: Label 'SØRUMSAND', MaxLength = 30, Locked = true; + SØRUMLbl: Label 'SØRUM', MaxLength = 30, Locked = true; + BLAKERLbl: Label 'BLAKER', MaxLength = 30, Locked = true; + RÅNÅSFOSSLbl: Label 'RÅNÅSFOSS', MaxLength = 30, Locked = true; + AULILbl: Label 'AULI', MaxLength = 30, Locked = true; + AURSKOGLbl: Label 'AURSKOG', MaxLength = 30, Locked = true; + BJØRKELANGENLbl: Label 'BJØRKELANGEN', MaxLength = 30, Locked = true; + RØMSKOGLbl: Label 'RØMSKOG', MaxLength = 30, Locked = true; + SETSKOGLbl: Label 'SETSKOG', MaxLength = 30, Locked = true; + LØKENLbl: Label 'LØKEN', MaxLength = 30, Locked = true; + FOSSERLbl: Label 'FOSSER', MaxLength = 30, Locked = true; + HEMNESLbl: Label 'HEMNES', MaxLength = 30, Locked = true; + LILLESTRØMLbl: Label 'LILLESTRØM', MaxLength = 30, Locked = true; + RÆLINGENLbl: Label 'RÆLINGEN', MaxLength = 30, Locked = true; + LØVENSTADLbl: Label 'LØVENSTAD', MaxLength = 30, Locked = true; + KJELLERLbl: Label 'KJELLER', MaxLength = 30, Locked = true; + FJERDINGBYLbl: Label 'FJERDINGBY', MaxLength = 30, Locked = true; + NORDBYLbl: Label 'NORDBY', MaxLength = 30, Locked = true; + STRØMMENLbl: Label 'STRØMMEN', MaxLength = 30, Locked = true; + SKJETTENLbl: Label 'SKJETTEN', MaxLength = 30, Locked = true; + BLYSTADLIALbl: Label 'BLYSTADLIA', MaxLength = 30, Locked = true; + LEIRSUNDLbl: Label 'LEIRSUND', MaxLength = 30, Locked = true; + FROGNERLbl: Label 'FROGNER', MaxLength = 30, Locked = true; + SKEDSMOKORSETLbl: Label 'SKEDSMOKORSET', MaxLength = 30, Locked = true; + GJERDRUMLbl: Label 'GJERDRUM', MaxLength = 30, Locked = true; + NANNESTADLbl: Label 'NANNESTAD', MaxLength = 30, Locked = true; + MAURALbl: Label 'MAURA', MaxLength = 30, Locked = true; + ÅSGREINALbl: Label 'ÅSGREINA', MaxLength = 30, Locked = true; + HOLTERLbl: Label 'HOLTER', MaxLength = 30, Locked = true; + KLØFTALbl: Label 'KLØFTA', MaxLength = 30, Locked = true; + JESSHEIMLbl: Label 'JESSHEIM', MaxLength = 30, Locked = true; + MOGREINALbl: Label 'MOGREINA', MaxLength = 30, Locked = true; + NORDKISALbl: Label 'NORDKISA', MaxLength = 30, Locked = true; + ALGARHEIMLbl: Label 'ALGARHEIM', MaxLength = 30, Locked = true; + SESSVOLLMOENLbl: Label 'SESSVOLLMOEN', MaxLength = 30, Locked = true; + TRANDUMLbl: Label 'TRANDUM', MaxLength = 30, Locked = true; + GARDERMOENLbl: Label 'GARDERMOEN', MaxLength = 30, Locked = true; + RÅHOLTLbl: Label 'RÅHOLT', MaxLength = 30, Locked = true; + DALLbl: Label 'DAL', MaxLength = 30, Locked = true; + BØNLbl: Label 'BØN', MaxLength = 30, Locked = true; + EIDSVOLLVERKLbl: Label 'EIDSVOLL VERK', MaxLength = 30, Locked = true; + EIDSVOLLLbl: Label 'EIDSVOLL', MaxLength = 30, Locked = true; + HURDALLbl: Label 'HURDAL', MaxLength = 30, Locked = true; + MINNESUNDLbl: Label 'MINNESUND', MaxLength = 30, Locked = true; + FEIRINGLbl: Label 'FEIRING', MaxLength = 30, Locked = true; + SKARNESLbl: Label 'SKARNES', MaxLength = 30, Locked = true; + SLÅSTADLbl: Label 'SLÅSTAD', MaxLength = 30, Locked = true; + DISENÅLbl: Label 'DISENÅ', MaxLength = 30, Locked = true; + SANDERLbl: Label 'SANDER', MaxLength = 30, Locked = true; + SAGSTUALbl: Label 'SAGSTUA', MaxLength = 30, Locked = true; + BRUVOLLLbl: Label 'BRUVOLL', MaxLength = 30, Locked = true; + KNAPPERLbl: Label 'KNAPPER', MaxLength = 30, Locked = true; + GARDVIKLbl: Label 'GARDVIK', MaxLength = 30, Locked = true; + AUSTVATNLbl: Label 'AUSTVATN', MaxLength = 30, Locked = true; + ÅRNESLbl: Label 'ÅRNES', MaxLength = 30, Locked = true; + VORMSUNDLbl: Label 'VORMSUND', MaxLength = 30, Locked = true; + BRÅRUDLbl: Label 'BRÅRUD', MaxLength = 30, Locked = true; + SKOGBYGDALbl: Label 'SKOGBYGDA', MaxLength = 30, Locked = true; + HVAMLbl: Label 'HVAM', MaxLength = 30, Locked = true; + OPPAKERLbl: Label 'OPPAKER', MaxLength = 30, Locked = true; + FENSTADLbl: Label 'FENSTAD', MaxLength = 30, Locked = true; + KONGSVINGERLbl: Label 'KONGSVINGER', MaxLength = 30, Locked = true; + GRANLILbl: Label 'GRANLI', MaxLength = 30, Locked = true; + ROVERUDLbl: Label 'ROVERUD', MaxLength = 30, Locked = true; + HOKKÅSENLbl: Label 'HOKKÅSEN', MaxLength = 30, Locked = true; + LUNDERSÆTERLbl: Label 'LUNDERSÆTER', MaxLength = 30, Locked = true; + BRANDVALLbl: Label 'BRANDVAL', MaxLength = 30, Locked = true; + ÅBOGENLbl: Label 'ÅBOGEN', MaxLength = 30, Locked = true; + GALTERUDLbl: Label 'GALTERUD', MaxLength = 30, Locked = true; + AUSTMARKALbl: Label 'AUSTMARKA', MaxLength = 30, Locked = true; + SKOTTERUDLbl: Label 'SKOTTERUD', MaxLength = 30, Locked = true; + TOBØLLbl: Label 'TOBØL', MaxLength = 30, Locked = true; + VESTMARKALbl: Label 'VESTMARKA', MaxLength = 30, Locked = true; + MATRANDLbl: Label 'MATRAND', MaxLength = 30, Locked = true; + MAGNORLbl: Label 'MAGNOR', MaxLength = 30, Locked = true; + MOROKULIENLbl: Label 'MOROKULIEN', MaxLength = 30, Locked = true; + GRUEFINNSKOGLbl: Label 'GRUE FINNSKOG', MaxLength = 30, Locked = true; + KIRKENÆRLbl: Label 'KIRKENÆR', MaxLength = 30, Locked = true; + GRINDERLbl: Label 'GRINDER', MaxLength = 30, Locked = true; + NAMNÅLbl: Label 'NAMNÅ', MaxLength = 30, Locked = true; + ARNEBERGLbl: Label 'ARNEBERG', MaxLength = 30, Locked = true; + FLISALbl: Label 'FLISA', MaxLength = 30, Locked = true; + GJESÅSENLbl: Label 'GJESÅSEN', MaxLength = 30, Locked = true; + ÅSNESFINNSKOGLbl: Label 'ÅSNES FINNSKOG', MaxLength = 30, Locked = true; + HAMARLbl: Label 'HAMAR', MaxLength = 30, Locked = true; + OTTESTADLbl: Label 'OTTESTAD', MaxLength = 30, Locked = true; + FURNESLbl: Label 'FURNES', MaxLength = 30, Locked = true; + RIDABULbl: Label 'RIDABU', MaxLength = 30, Locked = true; + INGEBERGLbl: Label 'INGEBERG', MaxLength = 30, Locked = true; + VANGPÅHEDMARKLbl: Label 'VANG PÅ HEDMARK', MaxLength = 30, Locked = true; + VALLSETLbl: Label 'VALLSET', MaxLength = 30, Locked = true; + ÅSVANGLbl: Label 'ÅSVANG', MaxLength = 30, Locked = true; + ROMEDALLbl: Label 'ROMEDAL', MaxLength = 30, Locked = true; + STANGELbl: Label 'STANGE', MaxLength = 30, Locked = true; + TANGENLbl: Label 'TANGEN', MaxLength = 30, Locked = true; + ESPALbl: Label 'ESPA', MaxLength = 30, Locked = true; + LØTENLbl: Label 'LØTEN', MaxLength = 30, Locked = true; + ILSENGLbl: Label 'ILSENG', MaxLength = 30, Locked = true; + ÅDALSBRUKLbl: Label 'ÅDALSBRUK', MaxLength = 30, Locked = true; + NESPÅHEDMARKLbl: Label 'NES PÅ HEDMARK', MaxLength = 30, Locked = true; + STAVSJØLbl: Label 'STAVSJØ', MaxLength = 30, Locked = true; + GAUPENLbl: Label 'GAUPEN', MaxLength = 30, Locked = true; + RUDSHØGDALbl: Label 'RUDSHØGDA', MaxLength = 30, Locked = true; + NÆROSETLbl: Label 'NÆROSET', MaxLength = 30, Locked = true; + ÅSMARKALbl: Label 'ÅSMARKA', MaxLength = 30, Locked = true; + BRØTTUMLbl: Label 'BRØTTUM', MaxLength = 30, Locked = true; + BRUMUNDDALLbl: Label 'BRUMUNDDAL', MaxLength = 30, Locked = true; + MOELVLbl: Label 'MOELV', MaxLength = 30, Locked = true; + ELVERUMLbl: Label 'ELVERUM', MaxLength = 30, Locked = true; + HERNESLbl: Label 'HERNES', MaxLength = 30, Locked = true; + SØRSKOGBYGDALbl: Label 'SØRSKOGBYGDA', MaxLength = 30, Locked = true; + HERADSBYGDLbl: Label 'HERADSBYGD', MaxLength = 30, Locked = true; + JØMNALbl: Label 'JØMNA', MaxLength = 30, Locked = true; + TRYSILLbl: Label 'TRYSIL', MaxLength = 30, Locked = true; + NYBERGSUNDLbl: Label 'NYBERGSUND', MaxLength = 30, Locked = true; + ØSTBYLbl: Label 'ØSTBY', MaxLength = 30, Locked = true; + LJØRDALENLbl: Label 'LJØRDALEN', MaxLength = 30, Locked = true; + PLASSENLbl: Label 'PLASSEN', MaxLength = 30, Locked = true; + SØREOSENLbl: Label 'SØRE OSEN', MaxLength = 30, Locked = true; + TØRBERGETLbl: Label 'TØRBERGET', MaxLength = 30, Locked = true; + JORDETLbl: Label 'JORDET', MaxLength = 30, Locked = true; + SLETTÅSLbl: Label 'SLETTÅS', MaxLength = 30, Locked = true; + BRASKEREIDFOSSLbl: Label 'BRASKEREIDFOSS', MaxLength = 30, Locked = true; + VÅLERISOLØRLbl: Label 'VÅLER I SOLØR', MaxLength = 30, Locked = true; + HASLEMOENLbl: Label 'HASLEMOEN', MaxLength = 30, Locked = true; + GRAVBERGETLbl: Label 'GRAVBERGET', MaxLength = 30, Locked = true; + ENGERDALLbl: Label 'ENGERDAL', MaxLength = 30, Locked = true; + DREVSJØLbl: Label 'DREVSJØ', MaxLength = 30, Locked = true; + ELGÅLbl: Label 'ELGÅ', MaxLength = 30, Locked = true; + SØMÅDALENLbl: Label 'SØMÅDALEN', MaxLength = 30, Locked = true; + RENALbl: Label 'RENA', MaxLength = 30, Locked = true; + OSENLbl: Label 'OSEN', MaxLength = 30, Locked = true; + ATNALbl: Label 'ATNA', MaxLength = 30, Locked = true; + SOLLIALbl: Label 'SOLLIA', MaxLength = 30, Locked = true; + HANESTADLbl: Label 'HANESTAD', MaxLength = 30, Locked = true; + KOPPANGLbl: Label 'KOPPANG', MaxLength = 30, Locked = true; + RENDALENLbl: Label 'RENDALEN', MaxLength = 30, Locked = true; + TYNSETLbl: Label 'TYNSET', MaxLength = 30, Locked = true; + TYLLDALENLbl: Label 'TYLLDALEN', MaxLength = 30, Locked = true; + KVIKNELbl: Label 'KVIKNE', MaxLength = 30, Locked = true; + TOLGALbl: Label 'TOLGA', MaxLength = 30, Locked = true; + VINGELENLbl: Label 'VINGELEN', MaxLength = 30, Locked = true; + ØVERSJØDALENLbl: Label 'ØVERSJØDALEN', MaxLength = 30, Locked = true; + OSIØSTERDALENLbl: Label 'OS I ØSTERDALEN', MaxLength = 30, Locked = true; + DALSBYGDALbl: Label 'DALSBYGDA', MaxLength = 30, Locked = true; + TUFSINGDALENLbl: Label 'TUFSINGDALEN', MaxLength = 30, Locked = true; + ALVDALLbl: Label 'ALVDAL', MaxLength = 30, Locked = true; + FOLLDALLbl: Label 'FOLLDAL', MaxLength = 30, Locked = true; + GRIMSBULbl: Label 'GRIMSBU', MaxLength = 30, Locked = true; + DALHOLENLbl: Label 'DALHOLEN', MaxLength = 30, Locked = true; + LILLEHAMMERLbl: Label 'LILLEHAMMER', MaxLength = 30, Locked = true; + VINGROMLbl: Label 'VINGROM', MaxLength = 30, Locked = true; + MESNALILbl: Label 'MESNALI', MaxLength = 30, Locked = true; + SJUSJØENLbl: Label 'SJUSJØEN', MaxLength = 30, Locked = true; + LISMARKALbl: Label 'LISMARKA', MaxLength = 30, Locked = true; + JØRSTADMOENLbl: Label 'JØRSTADMOEN', MaxLength = 30, Locked = true; + FÅBERGLbl: Label 'FÅBERG', MaxLength = 30, Locked = true; + RINGEBULbl: Label 'RINGEBU', MaxLength = 30, Locked = true; + VENABYGDLbl: Label 'VENABYGD', MaxLength = 30, Locked = true; + FÅVANGLbl: Label 'FÅVANG', MaxLength = 30, Locked = true; + TRETTENLbl: Label 'TRETTEN', MaxLength = 30, Locked = true; + ØYERLbl: Label 'ØYER', MaxLength = 30, Locked = true; + VINSTRALbl: Label 'VINSTRA', MaxLength = 30, Locked = true; + KVAMLbl: Label 'KVAM', MaxLength = 30, Locked = true; + SKÅBULbl: Label 'SKÅBU', MaxLength = 30, Locked = true; + SØRFRONLbl: Label 'SØR-FRON', MaxLength = 30, Locked = true; + GÅLÅLbl: Label 'GÅLÅ', MaxLength = 30, Locked = true; + ØSTREGAUSDALLbl: Label 'ØSTRE GAUSDAL', MaxLength = 30, Locked = true; + SVINGVOLLLbl: Label 'SVINGVOLL', MaxLength = 30, Locked = true; + VESTREGAUSDALLbl: Label 'VESTRE GAUSDAL', MaxLength = 30, Locked = true; + FOLLEBULbl: Label 'FOLLEBU', MaxLength = 30, Locked = true; + SVATSUMLbl: Label 'SVATSUM', MaxLength = 30, Locked = true; + ESPEDALENLbl: Label 'ESPEDALEN', MaxLength = 30, Locked = true; + DOMBÅSLbl: Label 'DOMBÅS', MaxLength = 30, Locked = true; + HJERKINNLbl: Label 'HJERKINN', MaxLength = 30, Locked = true; + DOVRELbl: Label 'DOVRE', MaxLength = 30, Locked = true; + DOVRESKOGENLbl: Label 'DOVRESKOGEN', MaxLength = 30, Locked = true; + LESJALbl: Label 'LESJA', MaxLength = 30, Locked = true; + LORALbl: Label 'LORA', MaxLength = 30, Locked = true; + LESJAVERKLbl: Label 'LESJAVERK', MaxLength = 30, Locked = true; + LESJASKOGLbl: Label 'LESJASKOG', MaxLength = 30, Locked = true; + BJORLILbl: Label 'BJORLI', MaxLength = 30, Locked = true; + OTTALbl: Label 'OTTA', MaxLength = 30, Locked = true; + SELLbl: Label 'SEL', MaxLength = 30, Locked = true; + HØVRINGENLbl: Label 'HØVRINGEN', MaxLength = 30, Locked = true; + MYSUSÆTERLbl: Label 'MYSUSÆTER', MaxLength = 30, Locked = true; + HEIDALLbl: Label 'HEIDAL', MaxLength = 30, Locked = true; + NEDREHEIDALLbl: Label 'NEDRE HEIDAL', MaxLength = 30, Locked = true; + VÅGÅLbl: Label 'VÅGÅ', MaxLength = 30, Locked = true; + LALMLbl: Label 'LALM', MaxLength = 30, Locked = true; + TESSANDENLbl: Label 'TESSANDEN', MaxLength = 30, Locked = true; + GARMOLbl: Label 'GARMO', MaxLength = 30, Locked = true; + LOMLbl: Label 'LOM', MaxLength = 30, Locked = true; + BØVERDALENLbl: Label 'BØVERDALEN', MaxLength = 30, Locked = true; + SKJÅKLbl: Label 'SKJÅK', MaxLength = 30, Locked = true; + NORDBERGLbl: Label 'NORDBERG', MaxLength = 30, Locked = true; + GROTLILbl: Label 'GROTLI', MaxLength = 30, Locked = true; + GRANLbl: Label 'GRAN', MaxLength = 30, Locked = true; + BRANDBULbl: Label 'BRANDBU', MaxLength = 30, Locked = true; + ROALbl: Label 'ROA', MaxLength = 30, Locked = true; + JARENLbl: Label 'JAREN', MaxLength = 30, Locked = true; + LUNNERLbl: Label 'LUNNER', MaxLength = 30, Locked = true; + HARESTUALbl: Label 'HARESTUA', MaxLength = 30, Locked = true; + GRUALbl: Label 'GRUA', MaxLength = 30, Locked = true; + GRINDVOLLLbl: Label 'GRINDVOLL', MaxLength = 30, Locked = true; + GJØVIKLbl: Label 'GJØVIK', MaxLength = 30, Locked = true; + HUNNDALENLbl: Label 'HUNNDALEN', MaxLength = 30, Locked = true; + BYBRUALbl: Label 'BYBRUA', MaxLength = 30, Locked = true; + RAUFOSSLbl: Label 'RAUFOSS', MaxLength = 30, Locked = true; + BIRILbl: Label 'BIRI', MaxLength = 30, Locked = true; + BIRISTRANDLbl: Label 'BIRISTRAND', MaxLength = 30, Locked = true; + SNERTINGDALLbl: Label 'SNERTINGDAL', MaxLength = 30, Locked = true; + ØVRESNERTINGDALLbl: Label 'ØVRE SNERTINGDAL', MaxLength = 30, Locked = true; + REINSVOLLLbl: Label 'REINSVOLL', MaxLength = 30, Locked = true; + EINALbl: Label 'EINA', MaxLength = 30, Locked = true; + BØVERBRULbl: Label 'BØVERBRU', MaxLength = 30, Locked = true; + KOLBULbl: Label 'KOLBU', MaxLength = 30, Locked = true; + SKREIALbl: Label 'SKREIA', MaxLength = 30, Locked = true; + KAPPLbl: Label 'KAPP', MaxLength = 30, Locked = true; + LENALbl: Label 'LENA', MaxLength = 30, Locked = true; + HOVLbl: Label 'HOV', MaxLength = 30, Locked = true; + LANDÅSBYGDALbl: Label 'LANDÅSBYGDA', MaxLength = 30, Locked = true; + FLUBERGLbl: Label 'FLUBERG', MaxLength = 30, Locked = true; + FALLLbl: Label 'FALL', MaxLength = 30, Locked = true; + ENGERLbl: Label 'ENGER', MaxLength = 30, Locked = true; + DOKKALbl: Label 'DOKKA', MaxLength = 30, Locked = true; + ODNESLbl: Label 'ODNES', MaxLength = 30, Locked = true; + NORDTORPALbl: Label 'NORD-TORPA', MaxLength = 30, Locked = true; + AUSTTORPALbl: Label 'AUST-TORPA', MaxLength = 30, Locked = true; + ETNEDALLbl: Label 'ETNEDAL', MaxLength = 30, Locked = true; + FAGERNESLbl: Label 'FAGERNES', MaxLength = 30, Locked = true; + LEIRAIVALDRESLbl: Label 'LEIRA I VALDRES', MaxLength = 30, Locked = true; + AURDALLbl: Label 'AURDAL', MaxLength = 30, Locked = true; + SKRAUTVÅLLbl: Label 'SKRAUTVÅL', MaxLength = 30, Locked = true; + ULNESLbl: Label 'ULNES', MaxLength = 30, Locked = true; + TISLEIDALENLbl: Label 'TISLEIDALEN', MaxLength = 30, Locked = true; + BAGNLbl: Label 'BAGN', MaxLength = 30, Locked = true; + REINLILbl: Label 'REINLI', MaxLength = 30, Locked = true; + BEGNADALENLbl: Label 'BEGNADALEN', MaxLength = 30, Locked = true; + BEGNALbl: Label 'BEGNA', MaxLength = 30, Locked = true; + HEGGENESLbl: Label 'HEGGENES', MaxLength = 30, Locked = true; + ROGNELbl: Label 'ROGNE', MaxLength = 30, Locked = true; + SKAMMESTEINLbl: Label 'SKAMMESTEIN', MaxLength = 30, Locked = true; + BEITOLbl: Label 'BEITO', MaxLength = 30, Locked = true; + BEITOSTØLENLbl: Label 'BEITOSTØLEN', MaxLength = 30, Locked = true; + RØNLbl: Label 'RØN', MaxLength = 30, Locked = true; + SLIDRELbl: Label 'SLIDRE', MaxLength = 30, Locked = true; + LOMENLbl: Label 'LOMEN', MaxLength = 30, Locked = true; + RYFOSSLbl: Label 'RYFOSS', MaxLength = 30, Locked = true; + VANGIVALDRESLbl: Label 'VANG I VALDRES', MaxLength = 30, Locked = true; + ØYELbl: Label 'ØYE', MaxLength = 30, Locked = true; + TYINKRYSSETLbl: Label 'TYINKRYSSET', MaxLength = 30, Locked = true; + DRAMMENLbl: Label 'DRAMMEN', MaxLength = 30, Locked = true; + MJØNDALENLbl: Label 'MJØNDALEN', MaxLength = 30, Locked = true; + STEINBERGLbl: Label 'STEINBERG', MaxLength = 30, Locked = true; + KROKSTADELVALbl: Label 'KROKSTADELVA', MaxLength = 30, Locked = true; + SOLBERGELVALbl: Label 'SOLBERGELVA', MaxLength = 30, Locked = true; + SOLBERGMOENLbl: Label 'SOLBERGMOEN', MaxLength = 30, Locked = true; + SVELVIKLbl: Label 'SVELVIK', MaxLength = 30, Locked = true; + SANDEIVESTFOLDLbl: Label 'SANDE I VESTFOLD', MaxLength = 30, Locked = true; + BERGERLbl: Label 'BERGER', MaxLength = 30, Locked = true; + HOLMESTRANDLbl: Label 'HOLMESTRAND', MaxLength = 30, Locked = true; + BOTNELbl: Label 'BOTNE', MaxLength = 30, Locked = true; + HOFLbl: Label 'HOF', MaxLength = 30, Locked = true; + SUNDBYFOSSLbl: Label 'SUNDBYFOSS', MaxLength = 30, Locked = true; + EIDSFOSSLbl: Label 'EIDSFOSS', MaxLength = 30, Locked = true; + TØNSBERGLbl: Label 'TØNSBERG', MaxLength = 30, Locked = true; + SEMLbl: Label 'SEM', MaxLength = 30, Locked = true; + VEARLbl: Label 'VEAR', MaxLength = 30, Locked = true; + HUSØYSUNDLbl: Label 'HUSØYSUND', MaxLength = 30, Locked = true; + DUKENLbl: Label 'DUKEN', MaxLength = 30, Locked = true; + TORØDLbl: Label 'TORØD', MaxLength = 30, Locked = true; + SKALLESTADLbl: Label 'SKALLESTAD', MaxLength = 30, Locked = true; + BORGHEIMLbl: Label 'BORGHEIM', MaxLength = 30, Locked = true; + KJØPMANNSKJÆRLbl: Label 'KJØPMANNSKJÆR', MaxLength = 30, Locked = true; + VESTSKOGENLbl: Label 'VESTSKOGEN', MaxLength = 30, Locked = true; + VEIERLANDLbl: Label 'VEIERLAND', MaxLength = 30, Locked = true; + TJØMELbl: Label 'TJØME', MaxLength = 30, Locked = true; + VERDENSENDELbl: Label 'VERDENS ENDE', MaxLength = 30, Locked = true; + HVASSERLbl: Label 'HVASSER', MaxLength = 30, Locked = true; + TOLVSRØDLbl: Label 'TOLVSRØD', MaxLength = 30, Locked = true; + BARKÅKERLbl: Label 'BARKÅKER', MaxLength = 30, Locked = true; + ANDEBULbl: Label 'ANDEBU', MaxLength = 30, Locked = true; + MELSOMVIKLbl: Label 'MELSOMVIK', MaxLength = 30, Locked = true; + STOKKELbl: Label 'STOKKE', MaxLength = 30, Locked = true; + REVETALLbl: Label 'REVETAL', MaxLength = 30, Locked = true; + ÅSGÅRDSTRANDLbl: Label 'ÅSGÅRDSTRAND', MaxLength = 30, Locked = true; + RAMNESLbl: Label 'RAMNES', MaxLength = 30, Locked = true; + VÅLELbl: Label 'VÅLE', MaxLength = 30, Locked = true; + NYKIRKELbl: Label 'NYKIRKE', MaxLength = 30, Locked = true; + HORTENLbl: Label 'HORTEN', MaxLength = 30, Locked = true; + BORRELbl: Label 'BORRE', MaxLength = 30, Locked = true; + SKOPPUMLbl: Label 'SKOPPUM', MaxLength = 30, Locked = true; + SANDEFJORDLbl: Label 'SANDEFJORD', MaxLength = 30, Locked = true; + KODALLbl: Label 'KODAL', MaxLength = 30, Locked = true; + LARVIKLbl: Label 'LARVIK', MaxLength = 30, Locked = true; + SVARSTADLbl: Label 'SVARSTAD', MaxLength = 30, Locked = true; + STEINSHOLTLbl: Label 'STEINSHOLT', MaxLength = 30, Locked = true; + TJODALYNGLbl: Label 'TJODALYNG', MaxLength = 30, Locked = true; + KVELDELbl: Label 'KVELDE', MaxLength = 30, Locked = true; + STAVERNLbl: Label 'STAVERN', MaxLength = 30, Locked = true; + HELGEROALbl: Label 'HELGEROA', MaxLength = 30, Locked = true; + NEVLUNGHAMNLbl: Label 'NEVLUNGHAMN', MaxLength = 30, Locked = true; + HOKKSUNDLbl: Label 'HOKKSUND', MaxLength = 30, Locked = true; + VESTFOSSENLbl: Label 'VESTFOSSEN', MaxLength = 30, Locked = true; + DARBULbl: Label 'DARBU', MaxLength = 30, Locked = true; + SKOTSELVLbl: Label 'SKOTSELV', MaxLength = 30, Locked = true; + ÅMOTLbl: Label 'ÅMOT', MaxLength = 30, Locked = true; + PRESTFOSSLbl: Label 'PRESTFOSS', MaxLength = 30, Locked = true; + SOLUMSMOENLbl: Label 'SOLUMSMOEN', MaxLength = 30, Locked = true; + NEDREEGGEDALLbl: Label 'NEDRE EGGEDAL', MaxLength = 30, Locked = true; + EGGEDALLbl: Label 'EGGEDAL', MaxLength = 30, Locked = true; + GEITHUSLbl: Label 'GEITHUS', MaxLength = 30, Locked = true; + VIKERSUNDLbl: Label 'VIKERSUND', MaxLength = 30, Locked = true; + SNARUMLbl: Label 'SNARUM', MaxLength = 30, Locked = true; + LIERLbl: Label 'LIER', MaxLength = 30, Locked = true; + TRANBYLbl: Label 'TRANBY', MaxLength = 30, Locked = true; + SYLLINGLbl: Label 'SYLLING', MaxLength = 30, Locked = true; + LIERSTRANDALbl: Label 'LIERSTRANDA', MaxLength = 30, Locked = true; + LIERSKOGENLbl: Label 'LIERSKOGEN', MaxLength = 30, Locked = true; + REISTADLbl: Label 'REISTAD', MaxLength = 30, Locked = true; + SPIKKESTADLbl: Label 'SPIKKESTAD', MaxLength = 30, Locked = true; + RØYKENLbl: Label 'RØYKEN', MaxLength = 30, Locked = true; + HYGGENLbl: Label 'HYGGEN', MaxLength = 30, Locked = true; + SLEMMESTADLbl: Label 'SLEMMESTAD', MaxLength = 30, Locked = true; + BØDALENLbl: Label 'BØDALEN', MaxLength = 30, Locked = true; + ÅROSLbl: Label 'ÅROS', MaxLength = 30, Locked = true; + SÆTRELbl: Label 'SÆTRE', MaxLength = 30, Locked = true; + BÅTSTØLbl: Label 'BÅTSTØ', MaxLength = 30, Locked = true; + NÆRSNESLbl: Label 'NÆRSNES', MaxLength = 30, Locked = true; + FILTVETLbl: Label 'FILTVET', MaxLength = 30, Locked = true; + TOFTELbl: Label 'TOFTE', MaxLength = 30, Locked = true; + KANALbl: Label 'KANA', MaxLength = 30, Locked = true; + HOLMSBULbl: Label 'HOLMSBU', MaxLength = 30, Locked = true; + KLOKKARSTUALbl: Label 'KLOKKARSTUA', MaxLength = 30, Locked = true; + HØNEFOSSLbl: Label 'HØNEFOSS', MaxLength = 30, Locked = true; + JEVNAKERLbl: Label 'JEVNAKER', MaxLength = 30, Locked = true; + BJONEROALbl: Label 'BJONEROA', MaxLength = 30, Locked = true; + NESIÅDALLbl: Label 'NES I ÅDAL', MaxLength = 30, Locked = true; + HALLINGBYLbl: Label 'HALLINGBY', MaxLength = 30, Locked = true; + HEDALENLbl: Label 'HEDALEN', MaxLength = 30, Locked = true; + RØYSELbl: Label 'RØYSE', MaxLength = 30, Locked = true; + KROKKLEIVALbl: Label 'KROKKLEIVA', MaxLength = 30, Locked = true; + TYRISTRANDLbl: Label 'TYRISTRAND', MaxLength = 30, Locked = true; + SOKNALbl: Label 'SOKNA', MaxLength = 30, Locked = true; + KRØDERENLbl: Label 'KRØDEREN', MaxLength = 30, Locked = true; + NORESUNDLbl: Label 'NORESUND', MaxLength = 30, Locked = true; + SOLLIHØGDALbl: Label 'SOLLIHØGDA', MaxLength = 30, Locked = true; + FLÅLbl: Label 'FLÅ', MaxLength = 30, Locked = true; + NESBYENLbl: Label 'NESBYEN', MaxLength = 30, Locked = true; + GOLLbl: Label 'GOL', MaxLength = 30, Locked = true; + HEMSEDALLbl: Label 'HEMSEDAL', MaxLength = 30, Locked = true; + ÅLLbl: Label 'ÅL', MaxLength = 30, Locked = true; + HOLLbl: Label 'HOL', MaxLength = 30, Locked = true; + HOVETLbl: Label 'HOVET', MaxLength = 30, Locked = true; + TORPOLbl: Label 'TORPO', MaxLength = 30, Locked = true; + GEILOLbl: Label 'GEILO', MaxLength = 30, Locked = true; + USTAOSETLbl: Label 'USTAOSET', MaxLength = 30, Locked = true; + HAUGASTØLLbl: Label 'HAUGASTØL', MaxLength = 30, Locked = true; + HALNEFJELLSTOVALbl: Label 'HALNE FJELLSTOVA', MaxLength = 30, Locked = true; + DYRANUTLbl: Label 'DYRANUT', MaxLength = 30, Locked = true; + SANDHAUGLbl: Label 'SANDHAUG', MaxLength = 30, Locked = true; + KONGSBERGLbl: Label 'KONGSBERG', MaxLength = 30, Locked = true; + HEISTADMOENLbl: Label 'HEISTADMOEN', MaxLength = 30, Locked = true; + SKOLLENBORGLbl: Label 'SKOLLENBORG', MaxLength = 30, Locked = true; + FLESBERGLbl: Label 'FLESBERG', MaxLength = 30, Locked = true; + LAMPELANDLbl: Label 'LAMPELAND', MaxLength = 30, Locked = true; + SVENELbl: Label 'SVENE', MaxLength = 30, Locked = true; + LYNGDALINUMEDALLbl: Label 'LYNGDAL I NUMEDAL', MaxLength = 30, Locked = true; + ROLLAGLbl: Label 'ROLLAG', MaxLength = 30, Locked = true; + VEGGLILbl: Label 'VEGGLI', MaxLength = 30, Locked = true; + NORELbl: Label 'NORE', MaxLength = 30, Locked = true; + RØDBERGLbl: Label 'RØDBERG', MaxLength = 30, Locked = true; + UVDALLbl: Label 'UVDAL', MaxLength = 30, Locked = true; + HVITTINGFOSSLbl: Label 'HVITTINGFOSS', MaxLength = 30, Locked = true; + PASSEBEKKLbl: Label 'PASSEBEKK', MaxLength = 30, Locked = true; + TINNAUSTBYGDLbl: Label 'TINN AUSTBYGD', MaxLength = 30, Locked = true; + HOVINITELEMARKLbl: Label 'HOVIN I TELEMARK', MaxLength = 30, Locked = true; + ATRÅLbl: Label 'ATRÅ', MaxLength = 30, Locked = true; + MILANDLbl: Label 'MILAND', MaxLength = 30, Locked = true; + RJUKANLbl: Label 'RJUKAN', MaxLength = 30, Locked = true; + SAULANDLbl: Label 'SAULAND', MaxLength = 30, Locked = true; + NOTODDENLbl: Label 'NOTODDEN', MaxLength = 30, Locked = true; + HJARTDALLbl: Label 'HJARTDAL', MaxLength = 30, Locked = true; + GRANSHERADLbl: Label 'GRANSHERAD', MaxLength = 30, Locked = true; + TUDDALLbl: Label 'TUDDAL', MaxLength = 30, Locked = true; + GAUSTATOPPENTURISTHYTTELbl: Label 'GAUSTATOPPEN TURISTHYTTE', MaxLength = 30, Locked = true; + SKIENLbl: Label 'SKIEN', MaxLength = 30, Locked = true; + SILJANLbl: Label 'SILJAN', MaxLength = 30, Locked = true; + DRANGEDALLbl: Label 'DRANGEDAL', MaxLength = 30, Locked = true; + TØRDALLbl: Label 'TØRDAL', MaxLength = 30, Locked = true; + NESLANDSVATNLbl: Label 'NESLANDSVATN', MaxLength = 30, Locked = true; + SANNIDALLbl: Label 'SANNIDAL', MaxLength = 30, Locked = true; + KRAGERØLbl: Label 'KRAGERØ', MaxLength = 30, Locked = true; + SKÅTØYLbl: Label 'SKÅTØY', MaxLength = 30, Locked = true; + JOMFRULANDLbl: Label 'JOMFRULAND', MaxLength = 30, Locked = true; + KRAGERØSOMMERRUTELbl: Label 'KRAGERØ SOMMERRUTE', MaxLength = 30, Locked = true; + KRAGERØSKJÆRGÅRDSRUTELbl: Label 'KRAGERØ SKJÆRGÅRDSRUTE', MaxLength = 30, Locked = true; + LANGØYGRUVERLbl: Label 'LANGØY GRUVER', MaxLength = 30, Locked = true; + STABBESTADLbl: Label 'STABBESTAD', MaxLength = 30, Locked = true; + HELLELbl: Label 'HELLE', MaxLength = 30, Locked = true; + BØITELEMARKLbl: Label 'BØ I TELEMARK', MaxLength = 30, Locked = true; + GVARVLbl: Label 'GVARV', MaxLength = 30, Locked = true; + AKKERHAUGENLbl: Label 'AKKERHAUGEN', MaxLength = 30, Locked = true; + NORDAGUTULbl: Label 'NORDAGUTU', MaxLength = 30, Locked = true; + LUNDELbl: Label 'LUNDE', MaxLength = 30, Locked = true; + ULEFOSSLbl: Label 'ULEFOSS', MaxLength = 30, Locked = true; + SELJORDLbl: Label 'SELJORD', MaxLength = 30, Locked = true; + KVITESEIDLbl: Label 'KVITESEID', MaxLength = 30, Locked = true; + FLATDALLbl: Label 'FLATDAL', MaxLength = 30, Locked = true; + MORGEDALLbl: Label 'MORGEDAL', MaxLength = 30, Locked = true; + VRÅLIOSENLbl: Label 'VRÅLIOSEN', MaxLength = 30, Locked = true; + VRÅDALLbl: Label 'VRÅDAL', MaxLength = 30, Locked = true; + NISSEDALLbl: Label 'NISSEDAL', MaxLength = 30, Locked = true; + TREUNGENLbl: Label 'TREUNGEN', MaxLength = 30, Locked = true; + RAULANDLbl: Label 'RAULAND', MaxLength = 30, Locked = true; + FYRESDALLbl: Label 'FYRESDAL', MaxLength = 30, Locked = true; + DALENLbl: Label 'DALEN', MaxLength = 30, Locked = true; + ÅMDALSVERKLbl: Label 'ÅMDALS VERK', MaxLength = 30, Locked = true; + VINJELbl: Label 'VINJE', MaxLength = 30, Locked = true; + EDLANDLbl: Label 'EDLAND', MaxLength = 30, Locked = true; + HØYDALSMOLbl: Label 'HØYDALSMO', MaxLength = 30, Locked = true; + VINJESVINGENLbl: Label 'VINJESVINGEN', MaxLength = 30, Locked = true; + PORSGRUNNLbl: Label 'PORSGRUNN', MaxLength = 30, Locked = true; + LANGANGENLbl: Label 'LANGANGEN', MaxLength = 30, Locked = true; + BREVIKLbl: Label 'BREVIK', MaxLength = 30, Locked = true; + STATHELLELbl: Label 'STATHELLE', MaxLength = 30, Locked = true; + HERRELbl: Label 'HERRE', MaxLength = 30, Locked = true; + BAMBLESOMMERRUTELbl: Label 'BAMBLE SOMMERRUTE', MaxLength = 30, Locked = true; + LANGESUNDLbl: Label 'LANGESUND', MaxLength = 30, Locked = true; + STAVANGERLbl: Label 'STAVANGER', MaxLength = 30, Locked = true; + HAFRSFJORDLbl: Label 'HAFRSFJORD', MaxLength = 30, Locked = true; + SOLALbl: Label 'SOLA', MaxLength = 30, Locked = true; + RØYNEBERGLbl: Label 'RØYNEBERG', MaxLength = 30, Locked = true; + RÆGELbl: Label 'RÆGE', MaxLength = 30, Locked = true; + TJELTALbl: Label 'TJELTA', MaxLength = 30, Locked = true; + STAVANGERLUFTHAVNLbl: Label 'STAVANGER LUFTHAVN', MaxLength = 30, Locked = true; + TANANGERLbl: Label 'TANANGER', MaxLength = 30, Locked = true; + RANDABERGLbl: Label 'RANDABERG', MaxLength = 30, Locked = true; + VASSØYLbl: Label 'VASSØY', MaxLength = 30, Locked = true; + HUNDVÅGLbl: Label 'HUNDVÅG', MaxLength = 30, Locked = true; + JØRPELANDLbl: Label 'JØRPELAND', MaxLength = 30, Locked = true; + IDSELbl: Label 'IDSE', MaxLength = 30, Locked = true; + FORSANDLbl: Label 'FORSAND', MaxLength = 30, Locked = true; + TAULbl: Label 'TAU', MaxLength = 30, Locked = true; + FISKÅLbl: Label 'FISKÅ', MaxLength = 30, Locked = true; + SØRHIDLELbl: Label 'SØR-HIDLE', MaxLength = 30, Locked = true; + LYSEBOTNLbl: Label 'LYSEBOTN', MaxLength = 30, Locked = true; + FLØYRLILbl: Label 'FLØYRLI', MaxLength = 30, Locked = true; + SONGESANDLbl: Label 'SONGESAND', MaxLength = 30, Locked = true; + HJELMELANDLbl: Label 'HJELMELAND', MaxLength = 30, Locked = true; + JØSENFJORDENLbl: Label 'JØSENFJORDEN', MaxLength = 30, Locked = true; + ÅRDALIRYFYLKELbl: Label 'ÅRDAL I RYFYLKE', MaxLength = 30, Locked = true; + FISTERLbl: Label 'FISTER', MaxLength = 30, Locked = true; + SKIFTUNLbl: Label 'SKIFTUN', MaxLength = 30, Locked = true; + RENNESØYLbl: Label 'RENNESØY', MaxLength = 30, Locked = true; + VESTREÅMØYLbl: Label 'VESTRE ÅMØY', MaxLength = 30, Locked = true; + BRIMSELbl: Label 'BRIMSE', MaxLength = 30, Locked = true; + AUSTREÅMØYLbl: Label 'AUSTRE ÅMØY', MaxLength = 30, Locked = true; + MOSTERØYLbl: Label 'MOSTERØY', MaxLength = 30, Locked = true; + UTSTEINKLOSTERLbl: Label 'UTSTEIN KLOSTER', MaxLength = 30, Locked = true; + BRULbl: Label 'BRU', MaxLength = 30, Locked = true; + FINNØYLbl: Label 'FINNØY', MaxLength = 30, Locked = true; + TALGJELbl: Label 'TALGJE', MaxLength = 30, Locked = true; + FOGNLbl: Label 'FOGN', MaxLength = 30, Locked = true; + HELGØYIRYFYLKELbl: Label 'HELGØY I RYFYLKE', MaxLength = 30, Locked = true; + BYRELbl: Label 'BYRE', MaxLength = 30, Locked = true; + SØRBOKNLbl: Label 'SØRBOKN', MaxLength = 30, Locked = true; + SJERNARØYLbl: Label 'SJERNARØY', MaxLength = 30, Locked = true; + NORDHIDLELbl: Label 'NORD-HIDLE', MaxLength = 30, Locked = true; + HELGØYSUNDLbl: Label 'HELGØYSUND', MaxLength = 30, Locked = true; + KVITSØYLbl: Label 'KVITSØY', MaxLength = 30, Locked = true; + SKARTVEITLbl: Label 'SKARTVEIT', MaxLength = 30, Locked = true; + OMBOLbl: Label 'OMBO', MaxLength = 30, Locked = true; + FOLDØYLbl: Label 'FOLDØY', MaxLength = 30, Locked = true; + SAUDALbl: Label 'SAUDA', MaxLength = 30, Locked = true; + SAUDASJØENLbl: Label 'SAUDASJØEN', MaxLength = 30, Locked = true; + VANVIKLbl: Label 'VANVIK', MaxLength = 30, Locked = true; + SANDLbl: Label 'SAND', MaxLength = 30, Locked = true; + ERFJORDLbl: Label 'ERFJORD', MaxLength = 30, Locked = true; + JELSALbl: Label 'JELSA', MaxLength = 30, Locked = true; + HEBNESLbl: Label 'HEBNES', MaxLength = 30, Locked = true; + SULDALSOSENLbl: Label 'SULDALSOSEN', MaxLength = 30, Locked = true; + NESFLATENLbl: Label 'NESFLATEN', MaxLength = 30, Locked = true; + KOPERVIKLbl: Label 'KOPERVIK', MaxLength = 30, Locked = true; + TORVASTADLbl: Label 'TORVASTAD', MaxLength = 30, Locked = true; + AVALDSNESLbl: Label 'AVALDSNES', MaxLength = 30, Locked = true; + KVALAVÅGLbl: Label 'KVALAVÅG', MaxLength = 30, Locked = true; + HÅVIKLbl: Label 'HÅVIK', MaxLength = 30, Locked = true; + ÅKREHAMNLbl: Label 'ÅKREHAMN', MaxLength = 30, Locked = true; + SANDVELbl: Label 'SANDVE', MaxLength = 30, Locked = true; + STOLLbl: Label 'STOL', MaxLength = 30, Locked = true; + SÆVELANDSVIKLbl: Label 'SÆVELANDSVIK', MaxLength = 30, Locked = true; + VEDAVÅGENLbl: Label 'VEDAVÅGEN', MaxLength = 30, Locked = true; + SKUDENESHAVNLbl: Label 'SKUDENESHAVN', MaxLength = 30, Locked = true; + SANDNESLbl: Label 'SANDNES', MaxLength = 30, Locked = true; + HOMMERSÅKLbl: Label 'HOMMERSÅK', MaxLength = 30, Locked = true; + ÅLGÅRDLbl: Label 'ÅLGÅRD', MaxLength = 30, Locked = true; + FIGGJOLbl: Label 'FIGGJO', MaxLength = 30, Locked = true; + OLTEDALLbl: Label 'OLTEDAL', MaxLength = 30, Locked = true; + DIRDALLbl: Label 'DIRDAL', MaxLength = 30, Locked = true; + BRYNELbl: Label 'BRYNE', MaxLength = 30, Locked = true; + UNDHEIMLbl: Label 'UNDHEIM', MaxLength = 30, Locked = true; + ORRELbl: Label 'ORRE', MaxLength = 30, Locked = true; + KLEPPELbl: Label 'KLEPPE', MaxLength = 30, Locked = true; + KLEPPSTASJONLbl: Label 'KLEPP STASJON', MaxLength = 30, Locked = true; + VOLLLbl: Label 'VOLL', MaxLength = 30, Locked = true; + KVERNALANDLbl: Label 'KVERNALAND', MaxLength = 30, Locked = true; + VARHAUGLbl: Label 'VARHAUG', MaxLength = 30, Locked = true; + VIGRESTADLbl: Label 'VIGRESTAD', MaxLength = 30, Locked = true; + BRUSANDLbl: Label 'BRUSAND', MaxLength = 30, Locked = true; + SIREVÅGLbl: Label 'SIREVÅG', MaxLength = 30, Locked = true; + NÆRBØLbl: Label 'NÆRBØ', MaxLength = 30, Locked = true; + EGERSUNDLbl: Label 'EGERSUND', MaxLength = 30, Locked = true; + HELLVIKLbl: Label 'HELLVIK', MaxLength = 30, Locked = true; + HELLELANDLbl: Label 'HELLELAND', MaxLength = 30, Locked = true; + HAUGEIDALANELbl: Label 'HAUGE I DALANE', MaxLength = 30, Locked = true; + BJERKREIMLbl: Label 'BJERKREIM', MaxLength = 30, Locked = true; + VIKESÅLbl: Label 'VIKESÅ', MaxLength = 30, Locked = true; + FLEKKEFJORDLbl: Label 'FLEKKEFJORD', MaxLength = 30, Locked = true; + ÅNASIRALbl: Label 'ÅNA-SIRA', MaxLength = 30, Locked = true; + HIDRASUNDLbl: Label 'HIDRASUND', MaxLength = 30, Locked = true; + ANDABELØYLbl: Label 'ANDABELØY', MaxLength = 30, Locked = true; + GYLANDLbl: Label 'GYLAND', MaxLength = 30, Locked = true; + SIRALbl: Label 'SIRA', MaxLength = 30, Locked = true; + TONSTADLbl: Label 'TONSTAD', MaxLength = 30, Locked = true; + TJØRHOMLbl: Label 'TJØRHOM', MaxLength = 30, Locked = true; + MOILbl: Label 'MOI', MaxLength = 30, Locked = true; + HOVSHERADLbl: Label 'HOVSHERAD', MaxLength = 30, Locked = true; + UALANDLbl: Label 'UALAND', MaxLength = 30, Locked = true; + KVINLOGLbl: Label 'KVINLOG', MaxLength = 30, Locked = true; + KVINESDALLbl: Label 'KVINESDAL', MaxLength = 30, Locked = true; + ØYESTRANDALbl: Label 'ØYESTRANDA', MaxLength = 30, Locked = true; + FEDALbl: Label 'FEDA', MaxLength = 30, Locked = true; + MANDALLbl: Label 'MANDAL', MaxLength = 30, Locked = true; + LINDESNESLbl: Label 'LINDESNES', MaxLength = 30, Locked = true; + HOLUMLbl: Label 'HOLUM', MaxLength = 30, Locked = true; + SØRAUDNEDALLbl: Label 'SØR-AUDNEDAL', MaxLength = 30, Locked = true; + SPANGEREIDLbl: Label 'SPANGEREID', MaxLength = 30, Locked = true; + KONSMOLbl: Label 'KONSMO', MaxLength = 30, Locked = true; + KOLLUNGTVEITLbl: Label 'KOLLUNGTVEIT', MaxLength = 30, Locked = true; + BYREMOLbl: Label 'BYREMO', MaxLength = 30, Locked = true; + ØYSLEBØLbl: Label 'ØYSLEBØ', MaxLength = 30, Locked = true; + MARNARDALLbl: Label 'MARNARDAL', MaxLength = 30, Locked = true; + BJELLANDLbl: Label 'BJELLAND', MaxLength = 30, Locked = true; + ÅSERALLbl: Label 'ÅSERAL', MaxLength = 30, Locked = true; + FOSSDALLbl: Label 'FOSSDAL', MaxLength = 30, Locked = true; + FARSUNDLbl: Label 'FARSUND', MaxLength = 30, Locked = true; + VANSELbl: Label 'VANSE', MaxLength = 30, Locked = true; + BORHAUGLbl: Label 'BORHAUG', MaxLength = 30, Locked = true; + LYNGDALLbl: Label 'LYNGDAL', MaxLength = 30, Locked = true; + KORSHAMNLbl: Label 'KORSHAMN', MaxLength = 30, Locked = true; + KVÅSLbl: Label 'KVÅS', MaxLength = 30, Locked = true; + SNARTEMOLbl: Label 'SNARTEMO', MaxLength = 30, Locked = true; + TINGVATNLbl: Label 'TINGVATN', MaxLength = 30, Locked = true; + EIKENLbl: Label 'EIKEN', MaxLength = 30, Locked = true; + KRISTIANSANDSLbl: Label 'KRISTIANSAND S', MaxLength = 30, Locked = true; + KARDEMOMMEBYLbl: Label 'KARDEMOMME BY', MaxLength = 30, Locked = true; + MOSBYLbl: Label 'MOSBY', MaxLength = 30, Locked = true; + FLEKKERØYLbl: Label 'FLEKKERØY', MaxLength = 30, Locked = true; + SØGNELbl: Label 'SØGNE', MaxLength = 30, Locked = true; + NODELANDLbl: Label 'NODELAND', MaxLength = 30, Locked = true; + FINSLANDLbl: Label 'FINSLAND', MaxLength = 30, Locked = true; + BRENNÅSENLbl: Label 'BRENNÅSEN', MaxLength = 30, Locked = true; + HAMRESANDENLbl: Label 'HAMRESANDEN', MaxLength = 30, Locked = true; + KJEVIKLbl: Label 'KJEVIK', MaxLength = 30, Locked = true; + TVEITLbl: Label 'TVEIT', MaxLength = 30, Locked = true; + KRISTIANSANDLbl: Label 'KRISTIANSAND', MaxLength = 30, Locked = true; + VENNESLALbl: Label 'VENNESLA', MaxLength = 30, Locked = true; + ØVREBØLbl: Label 'ØVREBØ', MaxLength = 30, Locked = true; + HÆGELANDLbl: Label 'HÆGELAND', MaxLength = 30, Locked = true; + IVELANDLbl: Label 'IVELAND', MaxLength = 30, Locked = true; + VATNESTRØMLbl: Label 'VATNESTRØM', MaxLength = 30, Locked = true; + EVJELbl: Label 'EVJE', MaxLength = 30, Locked = true; + HORNNESLbl: Label 'HORNNES', MaxLength = 30, Locked = true; + EVJEMOENLbl: Label 'EVJEMOEN', MaxLength = 30, Locked = true; + BYGLANDSFJORDLbl: Label 'BYGLANDSFJORD', MaxLength = 30, Locked = true; + GRENDILbl: Label 'GRENDI', MaxLength = 30, Locked = true; + BYGLANDLbl: Label 'BYGLAND', MaxLength = 30, Locked = true; + VALLELbl: Label 'VALLE', MaxLength = 30, Locked = true; + RYSSTADLbl: Label 'RYSSTAD', MaxLength = 30, Locked = true; + BYKLELbl: Label 'BYKLE', MaxLength = 30, Locked = true; + HOVDENISETESDALLbl: Label 'HOVDEN I SETESDAL', MaxLength = 30, Locked = true; + BIRKELANDLbl: Label 'BIRKELAND', MaxLength = 30, Locked = true; + HEREFOSSLbl: Label 'HEREFOSS', MaxLength = 30, Locked = true; + ENGESLANDLbl: Label 'ENGESLAND', MaxLength = 30, Locked = true; + HØVÅGLbl: Label 'HØVÅG', MaxLength = 30, Locked = true; + BREKKESTØLbl: Label 'BREKKESTØ', MaxLength = 30, Locked = true; + LILLESANDLbl: Label 'LILLESAND', MaxLength = 30, Locked = true; + ARENDALLbl: Label 'ARENDAL', MaxLength = 30, Locked = true; + EYDEHAVNLbl: Label 'EYDEHAVN', MaxLength = 30, Locked = true; + KONGSHAVNLbl: Label 'KONGSHAVN', MaxLength = 30, Locked = true; + SALTRØDLbl: Label 'SALTRØD', MaxLength = 30, Locked = true; + KOLBJØRNSVIKLbl: Label 'KOLBJØRNSVIK', MaxLength = 30, Locked = true; + HISLbl: Label 'HIS', MaxLength = 30, Locked = true; + FÆRVIKLbl: Label 'FÆRVIK', MaxLength = 30, Locked = true; + FROLANDLbl: Label 'FROLAND', MaxLength = 30, Locked = true; + RYKENELbl: Label 'RYKENE', MaxLength = 30, Locked = true; + NEDENESLbl: Label 'NEDENES', MaxLength = 30, Locked = true; + BJORBEKKLbl: Label 'BJORBEKK', MaxLength = 30, Locked = true; + FROLANDSVERKLbl: Label 'FROLANDS VERK', MaxLength = 30, Locked = true; + MJÅVATNLbl: Label 'MJÅVATN', MaxLength = 30, Locked = true; + HYNNEKLEIVLbl: Label 'HYNNEKLEIV', MaxLength = 30, Locked = true; + MYKLANDLbl: Label 'MYKLAND', MaxLength = 30, Locked = true; + RISDALLbl: Label 'RISDAL', MaxLength = 30, Locked = true; + SKJEGGEDALLbl: Label 'SKJEGGEDAL', MaxLength = 30, Locked = true; + NELAUGLbl: Label 'NELAUG', MaxLength = 30, Locked = true; + ÅMLILbl: Label 'ÅMLI', MaxLength = 30, Locked = true; + SELÅSVATNLbl: Label 'SELÅSVATN', MaxLength = 30, Locked = true; + DØLEMOLbl: Label 'DØLEMO', MaxLength = 30, Locked = true; + FEVIKLbl: Label 'FEVIK', MaxLength = 30, Locked = true; + GRIMSTADLbl: Label 'GRIMSTAD', MaxLength = 30, Locked = true; + HOMBORSUNDLbl: Label 'HOMBORSUND', MaxLength = 30, Locked = true; + TVEDESTRANDLbl: Label 'TVEDESTRAND', MaxLength = 30, Locked = true; + SONGELbl: Label 'SONGE', MaxLength = 30, Locked = true; + LYNGØRLbl: Label 'LYNGØR', MaxLength = 30, Locked = true; + GJEVINGLbl: Label 'GJEVING', MaxLength = 30, Locked = true; + VESTRESANDØYALbl: Label 'VESTRE SANDØYA', MaxLength = 30, Locked = true; + BORØYLbl: Label 'BORØY', MaxLength = 30, Locked = true; + STAUBØLbl: Label 'STAUBØ', MaxLength = 30, Locked = true; + NESGRENDALbl: Label 'NESGRENDA', MaxLength = 30, Locked = true; + RISØRLbl: Label 'RISØR', MaxLength = 30, Locked = true; + SUNDEBRULbl: Label 'SUNDEBRU', MaxLength = 30, Locked = true; + GJERSTADLbl: Label 'GJERSTAD', MaxLength = 30, Locked = true; + VEGÅRSHEILbl: Label 'VEGÅRSHEI', MaxLength = 30, Locked = true; + SØNDELEDLbl: Label 'SØNDELED', MaxLength = 30, Locked = true; + AKLANDLbl: Label 'AKLAND', MaxLength = 30, Locked = true; + BERGENLbl: Label 'BERGEN', MaxLength = 30, Locked = true; + EIDSVÅGNESETLbl: Label 'EIDSVÅGNESET', MaxLength = 30, Locked = true; + EIDSVÅGiÅsaneLbl: Label 'EIDSVÅG i Åsane', MaxLength = 30, Locked = true; + ØVREERVIKLbl: Label 'ØVRE ERVIK', MaxLength = 30, Locked = true; + SALHUSLbl: Label 'SALHUS', MaxLength = 30, Locked = true; + HORDVIKLbl: Label 'HORDVIK', MaxLength = 30, Locked = true; + HYLKJELbl: Label 'HYLKJE', MaxLength = 30, Locked = true; + BREISTEINLbl: Label 'BREISTEIN', MaxLength = 30, Locked = true; + TERTNESLbl: Label 'TERTNES', MaxLength = 30, Locked = true; + ULSETLbl: Label 'ULSET', MaxLength = 30, Locked = true; + MORVIKLbl: Label 'MORVIK', MaxLength = 30, Locked = true; + NYBORGLbl: Label 'NYBORG', MaxLength = 30, Locked = true; + FLAKTVEITLbl: Label 'FLAKTVEIT', MaxLength = 30, Locked = true; + MJØLKERÅENLbl: Label 'MJØLKERÅEN', MaxLength = 30, Locked = true; + FYLLINGSDALENLbl: Label 'FYLLINGSDALEN', MaxLength = 30, Locked = true; + STRAUMSGRENDLbl: Label 'STRAUMSGREND', MaxLength = 30, Locked = true; + BØNESLbl: Label 'BØNES', MaxLength = 30, Locked = true; + LAKSEVÅGLbl: Label 'LAKSEVÅG', MaxLength = 30, Locked = true; + LODDEFJORDLbl: Label 'LODDEFJORD', MaxLength = 30, Locked = true; + MATHOPENLbl: Label 'MATHOPEN', MaxLength = 30, Locked = true; + BJØRØYHAMNLbl: Label 'BJØRØYHAMN', MaxLength = 30, Locked = true; + GODVIKLbl: Label 'GODVIK', MaxLength = 30, Locked = true; + OLSVIKLbl: Label 'OLSVIK', MaxLength = 30, Locked = true; + OSLbl: Label 'OS', MaxLength = 30, Locked = true; + SØFTELANDLbl: Label 'SØFTELAND', MaxLength = 30, Locked = true; + LYSEKLOSTERLbl: Label 'LYSEKLOSTER', MaxLength = 30, Locked = true; + LEPSØYLbl: Label 'LEPSØY', MaxLength = 30, Locked = true; + HAGAVIKLbl: Label 'HAGAVIK', MaxLength = 30, Locked = true; + NORDSTRØNOLbl: Label 'NORDSTRØNO', MaxLength = 30, Locked = true; + SKORPOFERIEHEIMLbl: Label 'SKORPO FERIEHEIM', MaxLength = 30, Locked = true; + NESTTUNLbl: Label 'NESTTUN', MaxLength = 30, Locked = true; + KALANDSEIDETLbl: Label 'KALANDSEIDET', MaxLength = 30, Locked = true; + PARADISLbl: Label 'PARADIS', MaxLength = 30, Locked = true; + RÅDALLbl: Label 'RÅDAL', MaxLength = 30, Locked = true; + FANALbl: Label 'FANA', MaxLength = 30, Locked = true; + SØREIDGRENDLbl: Label 'SØREIDGREND', MaxLength = 30, Locked = true; + SANDSLILbl: Label 'SANDSLI', MaxLength = 30, Locked = true; + KOKSTADLbl: Label 'KOKSTAD', MaxLength = 30, Locked = true; + BLOMSTERDALENLbl: Label 'BLOMSTERDALEN', MaxLength = 30, Locked = true; + HJELLESTADLbl: Label 'HJELLESTAD', MaxLength = 30, Locked = true; + INDREARNALbl: Label 'INDRE ARNA', MaxLength = 30, Locked = true; + ARNATVEITLbl: Label 'ARNATVEIT', MaxLength = 30, Locked = true; + TRENGEREIDLbl: Label 'TRENGEREID', MaxLength = 30, Locked = true; + GARNESLbl: Label 'GARNES', MaxLength = 30, Locked = true; + YTREARNALbl: Label 'YTRE ARNA', MaxLength = 30, Locked = true; + ESPELANDLbl: Label 'ESPELAND', MaxLength = 30, Locked = true; + HAUKELANDLbl: Label 'HAUKELAND', MaxLength = 30, Locked = true; + VALESTRANDSFOSSENLbl: Label 'VALESTRANDSFOSSEN', MaxLength = 30, Locked = true; + LONEVÅGLbl: Label 'LONEVÅG', MaxLength = 30, Locked = true; + FOTLANDSVÅGLbl: Label 'FOTLANDSVÅG', MaxLength = 30, Locked = true; + TYSSEBOTNENLbl: Label 'TYSSEBOTNEN', MaxLength = 30, Locked = true; + BRUVIKLbl: Label 'BRUVIK', MaxLength = 30, Locked = true; + HAUSLbl: Label 'HAUS', MaxLength = 30, Locked = true; + KLEPPESTØLbl: Label 'KLEPPESTØ', MaxLength = 30, Locked = true; + STRUSSHAMNLbl: Label 'STRUSSHAMN', MaxLength = 30, Locked = true; + FOLLESELbl: Label 'FOLLESE', MaxLength = 30, Locked = true; + HETLEVIKLbl: Label 'HETLEVIK', MaxLength = 30, Locked = true; + FLORVÅGLbl: Label 'FLORVÅG', MaxLength = 30, Locked = true; + ERDALLbl: Label 'ERDAL', MaxLength = 30, Locked = true; + ASKLbl: Label 'ASK', MaxLength = 30, Locked = true; + HAUGLANDSHELLALbl: Label 'HAUGLANDSHELLA', MaxLength = 30, Locked = true; + KJERRGARDENLbl: Label 'KJERRGARDEN', MaxLength = 30, Locked = true; + HERDLALbl: Label 'HERDLA', MaxLength = 30, Locked = true; + RONGLbl: Label 'RONG', MaxLength = 30, Locked = true; + TJELDSTØLbl: Label 'TJELDSTØ', MaxLength = 30, Locked = true; + HELLESØYLbl: Label 'HELLESØY', MaxLength = 30, Locked = true; + HERNARLbl: Label 'HERNAR', MaxLength = 30, Locked = true; + STRAUMELbl: Label 'STRAUME', MaxLength = 30, Locked = true; + KNARREVIKLbl: Label 'KNARREVIK', MaxLength = 30, Locked = true; + ÅGOTNESLbl: Label 'ÅGOTNES', MaxLength = 30, Locked = true; + KYSTBASENÅGOTNESLbl: Label 'KYSTBASEN ÅGOTNES', MaxLength = 30, Locked = true; + BRATTHOLMENLbl: Label 'BRATTHOLMEN', MaxLength = 30, Locked = true; + FJELLLbl: Label 'FJELL', MaxLength = 30, Locked = true; + TURØYLbl: Label 'TURØY', MaxLength = 30, Locked = true; + SKOGSVÅGLbl: Label 'SKOGSVÅG', MaxLength = 30, Locked = true; + KLOKKARVIKLbl: Label 'KLOKKARVIK', MaxLength = 30, Locked = true; + STEINSLANDLbl: Label 'STEINSLAND', MaxLength = 30, Locked = true; + TÆLAVÅGLbl: Label 'TÆLAVÅG', MaxLength = 30, Locked = true; + GLESVÆRLbl: Label 'GLESVÆR', MaxLength = 30, Locked = true; + TORANGSVÅGLbl: Label 'TORANGSVÅG', MaxLength = 30, Locked = true; + BAKKASUNDLbl: Label 'BAKKASUND', MaxLength = 30, Locked = true; + MØKSTERLbl: Label 'MØKSTER', MaxLength = 30, Locked = true; + LITLAKALSØYLbl: Label 'LITLAKALSØY', MaxLength = 30, Locked = true; + STOREBØLbl: Label 'STOREBØ', MaxLength = 30, Locked = true; + KOLBEINSVIKLbl: Label 'KOLBEINSVIK', MaxLength = 30, Locked = true; + VESTREVINNESVÅGLbl: Label 'VESTRE VINNESVÅG', MaxLength = 30, Locked = true; + BEKKJARVIKLbl: Label 'BEKKJARVIK', MaxLength = 30, Locked = true; + STOLMENLbl: Label 'STOLMEN', MaxLength = 30, Locked = true; + STORDLbl: Label 'STORD', MaxLength = 30, Locked = true; + SAGVÅGLbl: Label 'SAGVÅG', MaxLength = 30, Locked = true; + FITJARLbl: Label 'FITJAR', MaxLength = 30, Locked = true; + RUBBESTADNESETLbl: Label 'RUBBESTADNESET', MaxLength = 30, Locked = true; + BRANDASUNDLbl: Label 'BRANDASUND', MaxLength = 30, Locked = true; + URANGSVÅGLbl: Label 'URANGSVÅG', MaxLength = 30, Locked = true; + FOLDRØYHAMNLbl: Label 'FOLDRØYHAMN', MaxLength = 30, Locked = true; + BREMNESLbl: Label 'BREMNES', MaxLength = 30, Locked = true; + FINNÅSLbl: Label 'FINNÅS', MaxLength = 30, Locked = true; + MOSTERHAMNLbl: Label 'MOSTERHAMN', MaxLength = 30, Locked = true; + BØMLOLbl: Label 'BØMLO', MaxLength = 30, Locked = true; + ESPEVÆRLbl: Label 'ESPEVÆR', MaxLength = 30, Locked = true; + SUNDEISUNNHORDLANDLbl: Label 'SUNDE I SUNNHORDLAND', MaxLength = 30, Locked = true; + VALENLbl: Label 'VALEN', MaxLength = 30, Locked = true; + SANDVOLLLbl: Label 'SANDVOLL', MaxLength = 30, Locked = true; + UTÅKERLbl: Label 'UTÅKER', MaxLength = 30, Locked = true; + SÆBØVIKLbl: Label 'SÆBØVIK', MaxLength = 30, Locked = true; + HALSNØYKLOSTERLbl: Label 'HALSNØY KLOSTER', MaxLength = 30, Locked = true; + HØYLANDSBYGDLbl: Label 'HØYLANDSBYGD', MaxLength = 30, Locked = true; + ARNAVIKLbl: Label 'ARNAVIK', MaxLength = 30, Locked = true; + FJELBERGLbl: Label 'FJELBERG', MaxLength = 30, Locked = true; + HUSNESLbl: Label 'HUSNES', MaxLength = 30, Locked = true; + HERØYSUNDETLbl: Label 'HERØYSUNDET', MaxLength = 30, Locked = true; + USKEDALENLbl: Label 'USKEDALEN', MaxLength = 30, Locked = true; + DIMMELSVIKLbl: Label 'DIMMELSVIK', MaxLength = 30, Locked = true; + ROSENDALLbl: Label 'ROSENDAL', MaxLength = 30, Locked = true; + SEIMSFOSSLbl: Label 'SEIMSFOSS', MaxLength = 30, Locked = true; + SNILSTVEITØYLbl: Label 'SNILSTVEITØY', MaxLength = 30, Locked = true; + LØFALLSTRANDLbl: Label 'LØFALLSTRAND', MaxLength = 30, Locked = true; + ÆNESLbl: Label 'ÆNES', MaxLength = 30, Locked = true; + MAURANGERLbl: Label 'MAURANGER', MaxLength = 30, Locked = true; + HUGLOLbl: Label 'HUGLO', MaxLength = 30, Locked = true; + MATRELbl: Label 'MATRE', MaxLength = 30, Locked = true; + ÅKRALbl: Label 'ÅKRA', MaxLength = 30, Locked = true; + HAUGESUNDLbl: Label 'HAUGESUND', MaxLength = 30, Locked = true; + KARMSUNDLbl: Label 'KARMSUND', MaxLength = 30, Locked = true; + KOLNESLbl: Label 'KOLNES', MaxLength = 30, Locked = true; + VORMEDALLbl: Label 'VORMEDAL', MaxLength = 30, Locked = true; + RØYKSUNDLbl: Label 'RØYKSUND', MaxLength = 30, Locked = true; + UTSIRALbl: Label 'UTSIRA', MaxLength = 30, Locked = true; + FEØYLbl: Label 'FEØY', MaxLength = 30, Locked = true; + RØVÆRLbl: Label 'RØVÆR', MaxLength = 30, Locked = true; + SVEIOLbl: Label 'SVEIO', MaxLength = 30, Locked = true; + AUKLANDSHAMNLbl: Label 'AUKLANDSHAMN', MaxLength = 30, Locked = true; + VALEVÅGLbl: Label 'VALEVÅG', MaxLength = 30, Locked = true; + FØRDEIHORDALANDLbl: Label 'FØRDE I HORDALAND', MaxLength = 30, Locked = true; + NEDSTRANDLbl: Label 'NEDSTRAND', MaxLength = 30, Locked = true; + BOKNLbl: Label 'BOKN', MaxLength = 30, Locked = true; + FØRRESFJORDENLbl: Label 'FØRRESFJORDEN', MaxLength = 30, Locked = true; + TYSVÆRVÅGLbl: Label 'TYSVÆRVÅG', MaxLength = 30, Locked = true; + HERVIKLbl: Label 'HERVIK', MaxLength = 30, Locked = true; + SKJOLDASTRAUMENLbl: Label 'SKJOLDASTRAUMEN', MaxLength = 30, Locked = true; + VIKEBYGDLbl: Label 'VIKEBYGD', MaxLength = 30, Locked = true; + AKSDALLbl: Label 'AKSDAL', MaxLength = 30, Locked = true; + SKJOLDLbl: Label 'SKJOLD', MaxLength = 30, Locked = true; + ØVREVATSLbl: Label 'ØVRE VATS', MaxLength = 30, Locked = true; + NEDREVATSLbl: Label 'NEDRE VATS', MaxLength = 30, Locked = true; + ØLENLbl: Label 'ØLEN', MaxLength = 30, Locked = true; + ØLENSVÅGLbl: Label 'ØLENSVÅG', MaxLength = 30, Locked = true; + VIKEDALLbl: Label 'VIKEDAL', MaxLength = 30, Locked = true; + BJOALbl: Label 'BJOA', MaxLength = 30, Locked = true; + SANDEIDLbl: Label 'SANDEID', MaxLength = 30, Locked = true; + ETNELbl: Label 'ETNE', MaxLength = 30, Locked = true; + SKÅNEVIKLbl: Label 'SKÅNEVIK', MaxLength = 30, Locked = true; + MARKHUSLbl: Label 'MARKHUS', MaxLength = 30, Locked = true; + FJÆRALbl: Label 'FJÆRA', MaxLength = 30, Locked = true; + NORHEIMSUNDLbl: Label 'NORHEIMSUND', MaxLength = 30, Locked = true; + ØYSTESELbl: Label 'ØYSTESE', MaxLength = 30, Locked = true; + ÅLVIKLbl: Label 'ÅLVIK', MaxLength = 30, Locked = true; + STEINSTØLbl: Label 'STEINSTØ', MaxLength = 30, Locked = true; + TØRVIKBYGDLbl: Label 'TØRVIKBYGD', MaxLength = 30, Locked = true; + KYSNESSTRANDLbl: Label 'KYSNESSTRAND', MaxLength = 30, Locked = true; + JONDALLbl: Label 'JONDAL', MaxLength = 30, Locked = true; + HERANDLbl: Label 'HERAND', MaxLength = 30, Locked = true; + STRANDEBARMLbl: Label 'STRANDEBARM', MaxLength = 30, Locked = true; + OMASTRANDLbl: Label 'OMASTRAND', MaxLength = 30, Locked = true; + HATLESTRANDLbl: Label 'HATLESTRAND', MaxLength = 30, Locked = true; + VARALDSØYLbl: Label 'VARALDSØY', MaxLength = 30, Locked = true; + ØLVELbl: Label 'ØLVE', MaxLength = 30, Locked = true; + EIKELANDSOSENLbl: Label 'EIKELANDSOSEN', MaxLength = 30, Locked = true; + FUSALbl: Label 'FUSA', MaxLength = 30, Locked = true; + HOLMEFJORDLbl: Label 'HOLMEFJORD', MaxLength = 30, Locked = true; + STRANDVIKLbl: Label 'STRANDVIK', MaxLength = 30, Locked = true; + SÆVAREIDLbl: Label 'SÆVAREID', MaxLength = 30, Locked = true; + NORDTVEITGRENDLbl: Label 'NORDTVEITGREND', MaxLength = 30, Locked = true; + BALDERSHEIMLbl: Label 'BALDERSHEIM', MaxLength = 30, Locked = true; + TYSSELbl: Label 'TYSSE', MaxLength = 30, Locked = true; + ÅRLANDLbl: Label 'ÅRLAND', MaxLength = 30, Locked = true; + TYSNESLbl: Label 'TYSNES', MaxLength = 30, Locked = true; + GODØYSUNDLbl: Label 'GODØYSUND', MaxLength = 30, Locked = true; + REKSTERENLbl: Label 'REKSTEREN', MaxLength = 30, Locked = true; + UGGDALLbl: Label 'UGGDAL', MaxLength = 30, Locked = true; + FLATRÅKERLbl: Label 'FLATRÅKER', MaxLength = 30, Locked = true; + LUNDEGRENDLbl: Label 'LUNDEGREND', MaxLength = 30, Locked = true; + ÅRBAKKALbl: Label 'ÅRBAKKA', MaxLength = 30, Locked = true; + ONARHEIMLbl: Label 'ONARHEIM', MaxLength = 30, Locked = true; + VOSSLbl: Label 'VOSS', MaxLength = 30, Locked = true; + EVANGERLbl: Label 'EVANGER', MaxLength = 30, Locked = true; + SKULESTADMOLbl: Label 'SKULESTADMO', MaxLength = 30, Locked = true; + VOSSESTRANDLbl: Label 'VOSSESTRAND', MaxLength = 30, Locked = true; + STALHEIMLbl: Label 'STALHEIM', MaxLength = 30, Locked = true; + MYRDALLbl: Label 'MYRDAL', MaxLength = 30, Locked = true; + FINSELbl: Label 'FINSE', MaxLength = 30, Locked = true; + DALEKVAMLbl: Label 'DALEKVAM', MaxLength = 30, Locked = true; + BOLSTADØYRILbl: Label 'BOLSTADØYRI', MaxLength = 30, Locked = true; + STANGHELLELbl: Label 'STANGHELLE', MaxLength = 30, Locked = true; + VAKSDALLbl: Label 'VAKSDAL', MaxLength = 30, Locked = true; + STAMNESLbl: Label 'STAMNES', MaxLength = 30, Locked = true; + EIDSLANDETLbl: Label 'EIDSLANDET', MaxLength = 30, Locked = true; + MODALENLbl: Label 'MODALEN', MaxLength = 30, Locked = true; + ULVIKLbl: Label 'ULVIK', MaxLength = 30, Locked = true; + GRANVINLbl: Label 'GRANVIN', MaxLength = 30, Locked = true; + VALLAVIKLbl: Label 'VALLAVIK', MaxLength = 30, Locked = true; + AURLANDLbl: Label 'AURLAND', MaxLength = 30, Locked = true; + FLÅMLbl: Label 'FLÅM', MaxLength = 30, Locked = true; + UNDREDALLbl: Label 'UNDREDAL', MaxLength = 30, Locked = true; + GUDVANGENLbl: Label 'GUDVANGEN', MaxLength = 30, Locked = true; + STYVILbl: Label 'STYVI', MaxLength = 30, Locked = true; + BAKKALbl: Label 'BAKKA', MaxLength = 30, Locked = true; + ODDALbl: Label 'ODDA', MaxLength = 30, Locked = true; + RØLDALLbl: Label 'RØLDAL', MaxLength = 30, Locked = true; + SKARELbl: Label 'SKARE', MaxLength = 30, Locked = true; + TYSSEDALLbl: Label 'TYSSEDAL', MaxLength = 30, Locked = true; + HOVLANDLbl: Label 'HOVLAND', MaxLength = 30, Locked = true; + NÅLbl: Label 'NÅ', MaxLength = 30, Locked = true; + GRIMOLbl: Label 'GRIMO', MaxLength = 30, Locked = true; + UTNELbl: Label 'UTNE', MaxLength = 30, Locked = true; + KINSARVIKLbl: Label 'KINSARVIK', MaxLength = 30, Locked = true; + LOFTHUSLbl: Label 'LOFTHUS', MaxLength = 30, Locked = true; + EIDFJORDLbl: Label 'EIDFJORD', MaxLength = 30, Locked = true; + ØVREEIDFJORDLbl: Label 'ØVRE EIDFJORD', MaxLength = 30, Locked = true; + VØRINGSFOSSLbl: Label 'VØRINGSFOSS', MaxLength = 30, Locked = true; + ISDALSTØLbl: Label 'ISDALSTØ', MaxLength = 30, Locked = true; + FREKHAUGLbl: Label 'FREKHAUG', MaxLength = 30, Locked = true; + ALVERSUNDLbl: Label 'ALVERSUND', MaxLength = 30, Locked = true; + SEIMLbl: Label 'SEIM', MaxLength = 30, Locked = true; + EIKANGERVÅGLbl: Label 'EIKANGERVÅG', MaxLength = 30, Locked = true; + HJELMÅSLbl: Label 'HJELMÅS', MaxLength = 30, Locked = true; + ROSSLANDLbl: Label 'ROSSLAND', MaxLength = 30, Locked = true; + MANGERLbl: Label 'MANGER', MaxLength = 30, Locked = true; + BØVÅGENLbl: Label 'BØVÅGEN', MaxLength = 30, Locked = true; + SÆBØVÅGENLbl: Label 'SÆBØVÅGEN', MaxLength = 30, Locked = true; + SLETTALbl: Label 'SLETTA', MaxLength = 30, Locked = true; + AUSTRHEIMLbl: Label 'AUSTRHEIM', MaxLength = 30, Locked = true; + FEDJELbl: Label 'FEDJE', MaxLength = 30, Locked = true; + LINDÅSLbl: Label 'LINDÅS', MaxLength = 30, Locked = true; + FONNESLbl: Label 'FONNES', MaxLength = 30, Locked = true; + MONGSTADLbl: Label 'MONGSTAD', MaxLength = 30, Locked = true; + VÅGSEIDETLbl: Label 'VÅGSEIDET', MaxLength = 30, Locked = true; + MYKINGLbl: Label 'MYKING', MaxLength = 30, Locked = true; + DALSØYRALbl: Label 'DALSØYRA', MaxLength = 30, Locked = true; + BREKKELbl: Label 'BREKKE', MaxLength = 30, Locked = true; + BJORDALLbl: Label 'BJORDAL', MaxLength = 30, Locked = true; + EIVINDVIKLbl: Label 'EIVINDVIK', MaxLength = 30, Locked = true; + BYRKNESØYLbl: Label 'BYRKNESØY', MaxLength = 30, Locked = true; + ÅNNELANDLbl: Label 'ÅNNELAND', MaxLength = 30, Locked = true; + MJØMNALbl: Label 'MJØMNA', MaxLength = 30, Locked = true; + MASFJORDNESLbl: Label 'MASFJORDNES', MaxLength = 30, Locked = true; + HAUGSVÆRLbl: Label 'HAUGSVÆR', MaxLength = 30, Locked = true; + MATREDALLbl: Label 'MATREDAL', MaxLength = 30, Locked = true; + HOSTELANDLbl: Label 'HOSTELAND', MaxLength = 30, Locked = true; + OSTEREIDETLbl: Label 'OSTEREIDET', MaxLength = 30, Locked = true; + VIKANESLbl: Label 'VIKANES', MaxLength = 30, Locked = true; + ÅLESUNDLbl: Label 'ÅLESUND', MaxLength = 30, Locked = true; + LANGEVÅGLbl: Label 'LANGEVÅG', MaxLength = 30, Locked = true; + FISKARSTRANDLbl: Label 'FISKARSTRAND', MaxLength = 30, Locked = true; + MAUSEIDVÅGLbl: Label 'MAUSEIDVÅG', MaxLength = 30, Locked = true; + EIDSNESLbl: Label 'EIDSNES', MaxLength = 30, Locked = true; + VIGRALbl: Label 'VIGRA', MaxLength = 30, Locked = true; + VALDERØYLbl: Label 'VALDERØY', MaxLength = 30, Locked = true; + GISKELbl: Label 'GISKE', MaxLength = 30, Locked = true; + GODØYLbl: Label 'GODØY', MaxLength = 30, Locked = true; + ELLINGSØYLbl: Label 'ELLINGSØY', MaxLength = 30, Locked = true; + HAREIDLbl: Label 'HAREID', MaxLength = 30, Locked = true; + BRANDALLbl: Label 'BRANDAL', MaxLength = 30, Locked = true; + HJØRUNGAVÅGLbl: Label 'HJØRUNGAVÅG', MaxLength = 30, Locked = true; + HADDALLbl: Label 'HADDAL', MaxLength = 30, Locked = true; + ULSTEINVIKLbl: Label 'ULSTEINVIK', MaxLength = 30, Locked = true; + TJØRVÅGLbl: Label 'TJØRVÅG', MaxLength = 30, Locked = true; + MOLDTUSTRANDALbl: Label 'MOLDTUSTRANDA', MaxLength = 30, Locked = true; + GURSKØYLbl: Label 'GURSKØY', MaxLength = 30, Locked = true; + GURSKENLbl: Label 'GURSKEN', MaxLength = 30, Locked = true; + GJERDSVIKALbl: Label 'GJERDSVIKA', MaxLength = 30, Locked = true; + LARSNESLbl: Label 'LARSNES', MaxLength = 30, Locked = true; + KVAMSØYLbl: Label 'KVAMSØY', MaxLength = 30, Locked = true; + SANDSHAMNLbl: Label 'SANDSHAMN', MaxLength = 30, Locked = true; + FOSNAVÅGLbl: Label 'FOSNAVÅG', MaxLength = 30, Locked = true; + EGGESBØNESLbl: Label 'EGGESBØNES', MaxLength = 30, Locked = true; + LEINØYLbl: Label 'LEINØY', MaxLength = 30, Locked = true; + BØLANDETLbl: Label 'BØLANDET', MaxLength = 30, Locked = true; + RUNDELbl: Label 'RUNDE', MaxLength = 30, Locked = true; + NERLANDSØYLbl: Label 'NERLANDSØY', MaxLength = 30, Locked = true; + VOLDALbl: Label 'VOLDA', MaxLength = 30, Locked = true; + AUSTEFJORDENLbl: Label 'AUSTEFJORDEN', MaxLength = 30, Locked = true; + FOLKESTADLbl: Label 'FOLKESTAD', MaxLength = 30, Locked = true; + LAUVSTADLbl: Label 'LAUVSTAD', MaxLength = 30, Locked = true; + FISKÅBYGDLbl: Label 'FISKÅBYGD', MaxLength = 30, Locked = true; + SYVDELbl: Label 'SYVDE', MaxLength = 30, Locked = true; + ROVDELbl: Label 'ROVDE', MaxLength = 30, Locked = true; + EIDSÅLbl: Label 'EIDSÅ', MaxLength = 30, Locked = true; + SYLTELbl: Label 'SYLTE', MaxLength = 30, Locked = true; + ÅHEIMLbl: Label 'ÅHEIM', MaxLength = 30, Locked = true; + ÅRAMLbl: Label 'ÅRAM', MaxLength = 30, Locked = true; + ØRSTALbl: Label 'ØRSTA', MaxLength = 30, Locked = true; + HOVDEBYGDALbl: Label 'HOVDEBYGDA', MaxLength = 30, Locked = true; + SÆBØLbl: Label 'SÆBØ', MaxLength = 30, Locked = true; + VARTDALLbl: Label 'VARTDAL', MaxLength = 30, Locked = true; + BARSTADVIKLbl: Label 'BARSTADVIK', MaxLength = 30, Locked = true; + TRANDALLbl: Label 'TRANDAL', MaxLength = 30, Locked = true; + STORESTANDALLbl: Label 'STORESTANDAL', MaxLength = 30, Locked = true; + BJØRKELbl: Label 'BJØRKE', MaxLength = 30, Locked = true; + NORANGSFJORDENLbl: Label 'NORANGSFJORDEN', MaxLength = 30, Locked = true; + STRANDALbl: Label 'STRANDA', MaxLength = 30, Locked = true; + VALLDALLbl: Label 'VALLDAL', MaxLength = 30, Locked = true; + LIABYGDALbl: Label 'LIABYGDA', MaxLength = 30, Locked = true; + TAFJORDLbl: Label 'TAFJORD', MaxLength = 30, Locked = true; + NORDDALLbl: Label 'NORDDAL', MaxLength = 30, Locked = true; + EIDSDALLbl: Label 'EIDSDAL', MaxLength = 30, Locked = true; + GEIRANGERLbl: Label 'GEIRANGER', MaxLength = 30, Locked = true; + DJUPEVATNLbl: Label 'DJUPEVATN', MaxLength = 30, Locked = true; + HELLESYLTLbl: Label 'HELLESYLT', MaxLength = 30, Locked = true; + STRAUMGJERDELbl: Label 'STRAUMGJERDE', MaxLength = 30, Locked = true; + IKORNNESLbl: Label 'IKORNNES', MaxLength = 30, Locked = true; + HUNDEIDVIKLbl: Label 'HUNDEIDVIK', MaxLength = 30, Locked = true; + SYKKYLVENLbl: Label 'SYKKYLVEN', MaxLength = 30, Locked = true; + ØRSKOGLbl: Label 'ØRSKOG', MaxLength = 30, Locked = true; + STORDALLbl: Label 'STORDAL', MaxLength = 30, Locked = true; + SKODJELbl: Label 'SKODJE', MaxLength = 30, Locked = true; + TENNFJORDLbl: Label 'TENNFJORD', MaxLength = 30, Locked = true; + VATNELbl: Label 'VATNE', MaxLength = 30, Locked = true; + BRATTVÅGLbl: Label 'BRATTVÅG', MaxLength = 30, Locked = true; + HILDRELbl: Label 'HILDRE', MaxLength = 30, Locked = true; + SØVIKLbl: Label 'SØVIK', MaxLength = 30, Locked = true; + STOREKALVØYLbl: Label 'STOREKALVØY', MaxLength = 30, Locked = true; + HARAMSØYLbl: Label 'HARAMSØY', MaxLength = 30, Locked = true; + KJERSTADLbl: Label 'KJERSTAD', MaxLength = 30, Locked = true; + LONGVALbl: Label 'LONGVA', MaxLength = 30, Locked = true; + FJØRTOFTLbl: Label 'FJØRTOFT', MaxLength = 30, Locked = true; + ÅNDALSNESLbl: Label 'ÅNDALSNES', MaxLength = 30, Locked = true; + ÅNDALSNESLEIRPLASSLbl: Label 'ÅNDALSNES LEIRPLASS', MaxLength = 30, Locked = true; + VEBLUNGSNESLbl: Label 'VEBLUNGSNES', MaxLength = 30, Locked = true; + INNFJORDENLbl: Label 'INNFJORDEN', MaxLength = 30, Locked = true; + ISFJORDENLbl: Label 'ISFJORDEN', MaxLength = 30, Locked = true; + VERMALbl: Label 'VERMA', MaxLength = 30, Locked = true; + TROLLSTIGENLbl: Label 'TROLLSTIGEN', MaxLength = 30, Locked = true; + EIDSBYGDALbl: Label 'EIDSBYGDA', MaxLength = 30, Locked = true; + ÅFARNESLbl: Label 'ÅFARNES', MaxLength = 30, Locked = true; + MITTETLbl: Label 'MITTET', MaxLength = 30, Locked = true; + VISTDALLbl: Label 'VISTDAL', MaxLength = 30, Locked = true; + MÅNDALENLbl: Label 'MÅNDALEN', MaxLength = 30, Locked = true; + VÅGSTRANDALbl: Label 'VÅGSTRANDA', MaxLength = 30, Locked = true; + VESTNESLbl: Label 'VESTNES', MaxLength = 30, Locked = true; + TRESFJORDLbl: Label 'TRESFJORD', MaxLength = 30, Locked = true; + VIKEBUKTLbl: Label 'VIKEBUKT', MaxLength = 30, Locked = true; + TOMREFJORDLbl: Label 'TOMREFJORD', MaxLength = 30, Locked = true; + FIKSDALLbl: Label 'FIKSDAL', MaxLength = 30, Locked = true; + REKDALLbl: Label 'REKDAL', MaxLength = 30, Locked = true; + MOLDELbl: Label 'MOLDE', MaxLength = 30, Locked = true; + AUREOSENLbl: Label 'AUREOSEN', MaxLength = 30, Locked = true; + SEKKENLbl: Label 'SEKKEN', MaxLength = 30, Locked = true; + BUDLbl: Label 'BUD', MaxLength = 30, Locked = true; + HUSTADLbl: Label 'HUSTAD', MaxLength = 30, Locked = true; + ELNESVÅGENLbl: Label 'ELNESVÅGEN', MaxLength = 30, Locked = true; + TORNESIROMSDALLbl: Label 'TORNES I ROMSDAL', MaxLength = 30, Locked = true; + FARSTADLbl: Label 'FARSTAD', MaxLength = 30, Locked = true; + MALMEFJORDENLbl: Label 'MALMEFJORDEN', MaxLength = 30, Locked = true; + HJELSETLbl: Label 'HJELSET', MaxLength = 30, Locked = true; + KLEIVELbl: Label 'KLEIVE', MaxLength = 30, Locked = true; + KORTGARDENLbl: Label 'KORTGARDEN', MaxLength = 30, Locked = true; + SKÅLALbl: Label 'SKÅLA', MaxLength = 30, Locked = true; + BOLSØYALbl: Label 'BOLSØYA', MaxLength = 30, Locked = true; + EIDSVÅGIROMSDALLbl: Label 'EIDSVÅG I ROMSDAL', MaxLength = 30, Locked = true; + RAUDSANDLbl: Label 'RAUDSAND', MaxLength = 30, Locked = true; + ERESFJORDLbl: Label 'ERESFJORD', MaxLength = 30, Locked = true; + EIKESDALLbl: Label 'EIKESDAL', MaxLength = 30, Locked = true; + MIDSUNDLbl: Label 'MIDSUND', MaxLength = 30, Locked = true; + AUKRALbl: Label 'AUKRA', MaxLength = 30, Locked = true; + ONALbl: Label 'ONA', MaxLength = 30, Locked = true; + SANDØYLbl: Label 'SANDØY', MaxLength = 30, Locked = true; + ORTENLbl: Label 'ORTEN', MaxLength = 30, Locked = true; + HARØYLbl: Label 'HARØY', MaxLength = 30, Locked = true; + MYKLEBOSTLbl: Label 'MYKLEBOST', MaxLength = 30, Locked = true; + EIDELbl: Label 'EIDE', MaxLength = 30, Locked = true; + LYNGSTADLbl: Label 'LYNGSTAD', MaxLength = 30, Locked = true; + VEVANGLbl: Label 'VEVANG', MaxLength = 30, Locked = true; + KRISTIANSUNDNLbl: Label 'KRISTIANSUND N', MaxLength = 30, Locked = true; + FREILbl: Label 'FREI', MaxLength = 30, Locked = true; + AVERØYLbl: Label 'AVERØY', MaxLength = 30, Locked = true; + SMØLALbl: Label 'SMØLA', MaxLength = 30, Locked = true; + TUSTNALbl: Label 'TUSTNA', MaxLength = 30, Locked = true; + SUNNDALSØRALbl: Label 'SUNNDALSØRA', MaxLength = 30, Locked = true; + ØKSENDALLbl: Label 'ØKSENDAL', MaxLength = 30, Locked = true; + FURUGRENDALbl: Label 'FURUGRENDA', MaxLength = 30, Locked = true; + GRØALbl: Label 'GRØA', MaxLength = 30, Locked = true; + GJØRALbl: Label 'GJØRA', MaxLength = 30, Locked = true; + ÅLVUNDEIDLbl: Label 'ÅLVUNDEID', MaxLength = 30, Locked = true; + ÅLVUNDFJORDLbl: Label 'ÅLVUNDFJORD', MaxLength = 30, Locked = true; + MEISINGSETLbl: Label 'MEISINGSET', MaxLength = 30, Locked = true; + TORJULVÅGENLbl: Label 'TORJULVÅGEN', MaxLength = 30, Locked = true; + TINGVOLLLbl: Label 'TINGVOLL', MaxLength = 30, Locked = true; + BATNFJORDSØRALbl: Label 'BATNFJORDSØRA', MaxLength = 30, Locked = true; + GJEMNESLbl: Label 'GJEMNES', MaxLength = 30, Locked = true; + ANGVIKLbl: Label 'ANGVIK', MaxLength = 30, Locked = true; + FLEMMALbl: Label 'FLEMMA', MaxLength = 30, Locked = true; + OSMARKALbl: Label 'OSMARKA', MaxLength = 30, Locked = true; + TORVIKBUKTLbl: Label 'TORVIKBUKT', MaxLength = 30, Locked = true; + KVANNELbl: Label 'KVANNE', MaxLength = 30, Locked = true; + STANGVIKLbl: Label 'STANGVIK', MaxLength = 30, Locked = true; + BØFJORDENLbl: Label 'BØFJORDEN', MaxLength = 30, Locked = true; + BÆVERFJORDLbl: Label 'BÆVERFJORD', MaxLength = 30, Locked = true; + TODALENLbl: Label 'TODALEN', MaxLength = 30, Locked = true; + SURNADALLbl: Label 'SURNADAL', MaxLength = 30, Locked = true; + SURNALbl: Label 'SURNA', MaxLength = 30, Locked = true; + ØVRESURNADALLbl: Label 'ØVRE SURNADAL', MaxLength = 30, Locked = true; + VINDØLALbl: Label 'VINDØLA', MaxLength = 30, Locked = true; + RINDALLbl: Label 'RINDAL', MaxLength = 30, Locked = true; + RINDALSSKOGENLbl: Label 'RINDALSSKOGEN', MaxLength = 30, Locked = true; + ØYDEGARDLbl: Label 'ØYDEGARD', MaxLength = 30, Locked = true; + KVISVIKLbl: Label 'KVISVIK', MaxLength = 30, Locked = true; + HALSANAUSTANLbl: Label 'HALSANAUSTAN', MaxLength = 30, Locked = true; + VÅGLANDLbl: Label 'VÅGLAND', MaxLength = 30, Locked = true; + VALSØYBOTNLbl: Label 'VALSØYBOTN', MaxLength = 30, Locked = true; + VALSØYFJORDLbl: Label 'VALSØYFJORD', MaxLength = 30, Locked = true; + AURELbl: Label 'AURE', MaxLength = 30, Locked = true; + MJOSUNDETLbl: Label 'MJOSUNDET', MaxLength = 30, Locked = true; + FOLDFJORDENLbl: Label 'FOLDFJORDEN', MaxLength = 30, Locked = true; + VIHALSLbl: Label 'VIHALS', MaxLength = 30, Locked = true; + LESUNDLbl: Label 'LESUND', MaxLength = 30, Locked = true; + KJØRSVIKBUGENLbl: Label 'KJØRSVIKBUGEN', MaxLength = 30, Locked = true; + MÅLØYLbl: Label 'MÅLØY', MaxLength = 30, Locked = true; + DEKNEPOLLENLbl: Label 'DEKNEPOLLEN', MaxLength = 30, Locked = true; + RAUDEBERGLbl: Label 'RAUDEBERG', MaxLength = 30, Locked = true; + BRYGGJALbl: Label 'BRYGGJA', MaxLength = 30, Locked = true; + ALMENNINGENLbl: Label 'ALMENNINGEN', MaxLength = 30, Locked = true; + SILDALbl: Label 'SILDA', MaxLength = 30, Locked = true; + BARMENLbl: Label 'BARMEN', MaxLength = 30, Locked = true; + HUSEVÅGLbl: Label 'HUSEVÅG', MaxLength = 30, Locked = true; + FLATRAKETLbl: Label 'FLATRAKET', MaxLength = 30, Locked = true; + SKATESTRAUMENLbl: Label 'SKATESTRAUMEN', MaxLength = 30, Locked = true; + SVELGENLbl: Label 'SVELGEN', MaxLength = 30, Locked = true; + BREMANGERLbl: Label 'BREMANGER', MaxLength = 30, Locked = true; + KALVÅGLbl: Label 'KALVÅG', MaxLength = 30, Locked = true; + DAVIKLbl: Label 'DAVIK', MaxLength = 30, Locked = true; + RUGSUNDLbl: Label 'RUGSUND', MaxLength = 30, Locked = true; + ÅLFOTENLbl: Label 'ÅLFOTEN', MaxLength = 30, Locked = true; + SELJELbl: Label 'SELJE', MaxLength = 30, Locked = true; + STADLANDETLbl: Label 'STADLANDET', MaxLength = 30, Locked = true; + HORNINDALLbl: Label 'HORNINDAL', MaxLength = 30, Locked = true; + NORDFJORDEIDLbl: Label 'NORDFJORDEID', MaxLength = 30, Locked = true; + KJØLSDALENLbl: Label 'KJØLSDALEN', MaxLength = 30, Locked = true; + STÅRHEIMLbl: Label 'STÅRHEIM', MaxLength = 30, Locked = true; + LOTELbl: Label 'LOTE', MaxLength = 30, Locked = true; + HOLMØYANELbl: Label 'HOLMØYANE', MaxLength = 30, Locked = true; + STRYNLbl: Label 'STRYN', MaxLength = 30, Locked = true; + OLDENLbl: Label 'OLDEN', MaxLength = 30, Locked = true; + LOENLbl: Label 'LOEN', MaxLength = 30, Locked = true; + OLDEDALENLbl: Label 'OLDEDALEN', MaxLength = 30, Locked = true; + BRIKSDALSBRELbl: Label 'BRIKSDALSBRE', MaxLength = 30, Locked = true; + INNVIKLbl: Label 'INNVIK', MaxLength = 30, Locked = true; + BLAKSÆTERLbl: Label 'BLAKSÆTER', MaxLength = 30, Locked = true; + HOPLANDLbl: Label 'HOPLAND', MaxLength = 30, Locked = true; + UTVIKLbl: Label 'UTVIK', MaxLength = 30, Locked = true; + HJELLEDALENLbl: Label 'HJELLEDALEN', MaxLength = 30, Locked = true; + OPPSTRYNLbl: Label 'OPPSTRYN', MaxLength = 30, Locked = true; + FØRDELbl: Label 'FØRDE', MaxLength = 30, Locked = true; + NAUSTDALLbl: Label 'NAUSTDAL', MaxLength = 30, Locked = true; + HAUKEDALENLbl: Label 'HAUKEDALEN', MaxLength = 30, Locked = true; + HOLSENLbl: Label 'HOLSEN', MaxLength = 30, Locked = true; + SANDANELbl: Label 'SANDANE', MaxLength = 30, Locked = true; + BYRKJELOLbl: Label 'BYRKJELO', MaxLength = 30, Locked = true; + BREIMLbl: Label 'BREIM', MaxLength = 30, Locked = true; + HESTENESØYRALbl: Label 'HESTENESØYRA', MaxLength = 30, Locked = true; + HYENLbl: Label 'HYEN', MaxLength = 30, Locked = true; + SKEIIJØLSTERLbl: Label 'SKEI I JØLSTER', MaxLength = 30, Locked = true; + VASSENDENLbl: Label 'VASSENDEN', MaxLength = 30, Locked = true; + FJÆRLANDLbl: Label 'FJÆRLAND', MaxLength = 30, Locked = true; + SOGNDALLbl: Label 'SOGNDAL', MaxLength = 30, Locked = true; + KAUPANGERLbl: Label 'KAUPANGER', MaxLength = 30, Locked = true; + FRØNNINGENLbl: Label 'FRØNNINGEN', MaxLength = 30, Locked = true; + FARDALLbl: Label 'FARDAL', MaxLength = 30, Locked = true; + SLINDELbl: Label 'SLINDE', MaxLength = 30, Locked = true; + LEIKANGERLbl: Label 'LEIKANGER', MaxLength = 30, Locked = true; + GAUPNELbl: Label 'GAUPNE', MaxLength = 30, Locked = true; + HAFSLOLbl: Label 'HAFSLO', MaxLength = 30, Locked = true; + ORNESLbl: Label 'ORNES', MaxLength = 30, Locked = true; + JOSTEDALLbl: Label 'JOSTEDAL', MaxLength = 30, Locked = true; + LUSTERLbl: Label 'LUSTER', MaxLength = 30, Locked = true; + MARIFJØRALbl: Label 'MARIFJØRA', MaxLength = 30, Locked = true; + HØYHEIMSVIKLbl: Label 'HØYHEIMSVIK', MaxLength = 30, Locked = true; + SKJOLDENLbl: Label 'SKJOLDEN', MaxLength = 30, Locked = true; + FORTUNLbl: Label 'FORTUN', MaxLength = 30, Locked = true; + VEITASTRONDLbl: Label 'VEITASTROND', MaxLength = 30, Locked = true; + SOLVORNLbl: Label 'SOLVORN', MaxLength = 30, Locked = true; + ÅRDALSTANGENLbl: Label 'ÅRDALSTANGEN', MaxLength = 30, Locked = true; + ØVREÅRDALLbl: Label 'ØVRE ÅRDAL', MaxLength = 30, Locked = true; + LÆRDALLbl: Label 'LÆRDAL', MaxLength = 30, Locked = true; + STEINKLEPPLbl: Label 'STEINKLEPP', MaxLength = 30, Locked = true; + VIKISOGNLbl: Label 'VIK I SOGN', MaxLength = 30, Locked = true; + VANGSNESLbl: Label 'VANGSNES', MaxLength = 30, Locked = true; + FEIOSLbl: Label 'FEIOS', MaxLength = 30, Locked = true; + FRESVIKLbl: Label 'FRESVIK', MaxLength = 30, Locked = true; + BALESTRANDLbl: Label 'BALESTRAND', MaxLength = 30, Locked = true; + FLORØLbl: Label 'FLORØ', MaxLength = 30, Locked = true; + KINNLbl: Label 'KINN', MaxLength = 30, Locked = true; + SVANØYBUKTLbl: Label 'SVANØYBUKT', MaxLength = 30, Locked = true; + ROGNALDSVÅGLbl: Label 'ROGNALDSVÅG', MaxLength = 30, Locked = true; + BAREKSTADLbl: Label 'BAREKSTAD', MaxLength = 30, Locked = true; + BATALDENLbl: Label 'BATALDEN', MaxLength = 30, Locked = true; + SØRSKORPALbl: Label 'SØR-SKORPA', MaxLength = 30, Locked = true; + TANSØYLbl: Label 'TANSØY', MaxLength = 30, Locked = true; + HARDBAKKELbl: Label 'HARDBAKKE', MaxLength = 30, Locked = true; + KRAKHELLALbl: Label 'KRAKHELLA', MaxLength = 30, Locked = true; + YTRØYGRENDLbl: Label 'YTRØYGREND', MaxLength = 30, Locked = true; + KOLGROVLbl: Label 'KOLGROV', MaxLength = 30, Locked = true; + HERSVIKBYGDALbl: Label 'HERSVIKBYGDA', MaxLength = 30, Locked = true; + STAVANGLbl: Label 'STAVANG', MaxLength = 30, Locked = true; + EIKEFJORDLbl: Label 'EIKEFJORD', MaxLength = 30, Locked = true; + SVORTEVIKLbl: Label 'SVORTEVIK', MaxLength = 30, Locked = true; + LAVIKLbl: Label 'LAVIK', MaxLength = 30, Locked = true; + LEIRVIKISOGNLbl: Label 'LEIRVIK I SOGN', MaxLength = 30, Locked = true; + HYLLESTADLbl: Label 'HYLLESTAD', MaxLength = 30, Locked = true; + SØRBØVÅGLbl: Label 'SØRBØVÅG', MaxLength = 30, Locked = true; + DALEISUNNFJORDLbl: Label 'DALE I SUNNFJORD', MaxLength = 30, Locked = true; + KORSSUNDLbl: Label 'KORSSUND', MaxLength = 30, Locked = true; + GUDDALLbl: Label 'GUDDAL', MaxLength = 30, Locked = true; + HELLEVIKIFJALERLbl: Label 'HELLEVIK I FJALER', MaxLength = 30, Locked = true; + FLEKKELbl: Label 'FLEKKE', MaxLength = 30, Locked = true; + STRAUMSNESLbl: Label 'STRAUMSNES', MaxLength = 30, Locked = true; + SANDEISUNNFJORDLbl: Label 'SANDE I SUNNFJORD', MaxLength = 30, Locked = true; + SKILBREILbl: Label 'SKILBREI', MaxLength = 30, Locked = true; + BYGSTADLbl: Label 'BYGSTAD', MaxLength = 30, Locked = true; + VIKSDALENLbl: Label 'VIKSDALEN', MaxLength = 30, Locked = true; + ASKVOLLLbl: Label 'ASKVOLL', MaxLength = 30, Locked = true; + HOLMEDALLbl: Label 'HOLMEDAL', MaxLength = 30, Locked = true; + KVAMMENLbl: Label 'KVAMMEN', MaxLength = 30, Locked = true; + STONGFJORDENLbl: Label 'STONGFJORDEN', MaxLength = 30, Locked = true; + ATLØYLbl: Label 'ATLØY', MaxLength = 30, Locked = true; + VÆRLANDETLbl: Label 'VÆRLANDET', MaxLength = 30, Locked = true; + BULANDETLbl: Label 'BULANDET', MaxLength = 30, Locked = true; + HØYANGERLbl: Label 'HØYANGER', MaxLength = 30, Locked = true; + KYRKJEBØLbl: Label 'KYRKJEBØ', MaxLength = 30, Locked = true; + VADHEIMLbl: Label 'VADHEIM', MaxLength = 30, Locked = true; + TRONDHEIMLbl: Label 'TRONDHEIM', MaxLength = 30, Locked = true; + RANHEIMLbl: Label 'RANHEIM', MaxLength = 30, Locked = true; + JONSVATNETLbl: Label 'JONSVATNET', MaxLength = 30, Locked = true; + JAKOBSLILbl: Label 'JAKOBSLI', MaxLength = 30, Locked = true; + BOSBERGLbl: Label 'BOSBERG', MaxLength = 30, Locked = true; + HEIMDALLbl: Label 'HEIMDAL', MaxLength = 30, Locked = true; + SPONGDALLbl: Label 'SPONGDAL', MaxLength = 30, Locked = true; + TILLERLbl: Label 'TILLER', MaxLength = 30, Locked = true; + SAUPSTADLbl: Label 'SAUPSTAD', MaxLength = 30, Locked = true; + FLATÅSENLbl: Label 'FLATÅSEN', MaxLength = 30, Locked = true; + SJETNEMARKALbl: Label 'SJETNEMARKA', MaxLength = 30, Locked = true; + KATTEMLbl: Label 'KATTEM', MaxLength = 30, Locked = true; + LEINSTRANDLbl: Label 'LEINSTRAND', MaxLength = 30, Locked = true; + RISSALbl: Label 'RISSA', MaxLength = 30, Locked = true; + STADSBYGDLbl: Label 'STADSBYGD', MaxLength = 30, Locked = true; + FEVÅGLbl: Label 'FEVÅG', MaxLength = 30, Locked = true; + HASSELVIKALbl: Label 'HASSELVIKA', MaxLength = 30, Locked = true; + HUSBYSJØENLbl: Label 'HUSBYSJØEN', MaxLength = 30, Locked = true; + RÅKVÅGLbl: Label 'RÅKVÅG', MaxLength = 30, Locked = true; + LEKSVIKLbl: Label 'LEKSVIK', MaxLength = 30, Locked = true; + VANVIKANLbl: Label 'VANVIKAN', MaxLength = 30, Locked = true; + OPPHAUGLbl: Label 'OPPHAUG', MaxLength = 30, Locked = true; + UTHAUGLbl: Label 'UTHAUG', MaxLength = 30, Locked = true; + BREKSTADLbl: Label 'BREKSTAD', MaxLength = 30, Locked = true; + STORFOSNALbl: Label 'STORFOSNA', MaxLength = 30, Locked = true; + KRÅKVÅGLbl: Label 'KRÅKVÅG', MaxLength = 30, Locked = true; + GARTENLbl: Label 'GARTEN', MaxLength = 30, Locked = true; + LEKSALbl: Label 'LEKSA', MaxLength = 30, Locked = true; + BJUGNLbl: Label 'BJUGN', MaxLength = 30, Locked = true; + OKSVOLLLbl: Label 'OKSVOLL', MaxLength = 30, Locked = true; + TARVALbl: Label 'TARVA', MaxLength = 30, Locked = true; + VALLERSUNDLbl: Label 'VALLERSUND', MaxLength = 30, Locked = true; + LYSØYSUNDETLbl: Label 'LYSØYSUNDET', MaxLength = 30, Locked = true; + ÅFJORDLbl: Label 'ÅFJORD', MaxLength = 30, Locked = true; + LINESØYALbl: Label 'LINESØYA', MaxLength = 30, Locked = true; + REVSNESLbl: Label 'REVSNES', MaxLength = 30, Locked = true; + STOKKØYLbl: Label 'STOKKØY', MaxLength = 30, Locked = true; + ROANLbl: Label 'ROAN', MaxLength = 30, Locked = true; + BESSAKERLbl: Label 'BESSAKER', MaxLength = 30, Locked = true; + BRANDSFJORDLbl: Label 'BRANDSFJORD', MaxLength = 30, Locked = true; + KYRKSÆTERØRALbl: Label 'KYRKSÆTERØRA', MaxLength = 30, Locked = true; + VINJEØRALbl: Label 'VINJEØRA', MaxLength = 30, Locked = true; + HELLANDSJØENLbl: Label 'HELLANDSJØEN', MaxLength = 30, Locked = true; + KORSVEGENLbl: Label 'KORSVEGEN', MaxLength = 30, Locked = true; + GÅSBAKKENLbl: Label 'GÅSBAKKEN', MaxLength = 30, Locked = true; + MELHUSLbl: Label 'MELHUS', MaxLength = 30, Locked = true; + GIMSELbl: Label 'GIMSE', MaxLength = 30, Locked = true; + KVÅLLbl: Label 'KVÅL', MaxLength = 30, Locked = true; + LUNDAMOLbl: Label 'LUNDAMO', MaxLength = 30, Locked = true; + LERLbl: Label 'LER', MaxLength = 30, Locked = true; + HOVINIGAULDALLbl: Label 'HOVIN I GAULDAL', MaxLength = 30, Locked = true; + HITRALbl: Label 'HITRA', MaxLength = 30, Locked = true; + ANSNESLbl: Label 'ANSNES', MaxLength = 30, Locked = true; + KNARRLAGSUNDLbl: Label 'KNARRLAGSUND', MaxLength = 30, Locked = true; + KVENVÆRLbl: Label 'KVENVÆR', MaxLength = 30, Locked = true; + SANDSTADLbl: Label 'SANDSTAD', MaxLength = 30, Locked = true; + HESTVIKALbl: Label 'HESTVIKA', MaxLength = 30, Locked = true; + MELANDSJØLbl: Label 'MELANDSJØ', MaxLength = 30, Locked = true; + DOLMØYLbl: Label 'DOLMØY', MaxLength = 30, Locked = true; + SUNDLANDETLbl: Label 'SUNDLANDET', MaxLength = 30, Locked = true; + HEMNSKJELLbl: Label 'HEMNSKJEL', MaxLength = 30, Locked = true; + SNILLFJORDLbl: Label 'SNILLFJORD', MaxLength = 30, Locked = true; + SISTRANDALbl: Label 'SISTRANDA', MaxLength = 30, Locked = true; + HAMARVIKLbl: Label 'HAMARVIK', MaxLength = 30, Locked = true; + KVERVALbl: Label 'KVERVA', MaxLength = 30, Locked = true; + TITRANLbl: Label 'TITRAN', MaxLength = 30, Locked = true; + DYRVIKLbl: Label 'DYRVIK', MaxLength = 30, Locked = true; + NORDDYRØYLbl: Label 'NORDDYRØY', MaxLength = 30, Locked = true; + SULALbl: Label 'SULA', MaxLength = 30, Locked = true; + BOGØYVÆRLbl: Label 'BOGØYVÆR', MaxLength = 30, Locked = true; + MAUSUNDLbl: Label 'MAUSUND', MaxLength = 30, Locked = true; + GJÆSINGENLbl: Label 'GJÆSINGEN', MaxLength = 30, Locked = true; + SØRBURØYLbl: Label 'SØRBURØY', MaxLength = 30, Locked = true; + SAUØYLbl: Label 'SAUØY', MaxLength = 30, Locked = true; + SOKNEDALLbl: Label 'SOKNEDAL', MaxLength = 30, Locked = true; + STØRENLbl: Label 'STØREN', MaxLength = 30, Locked = true; + ROGNESLbl: Label 'ROGNES', MaxLength = 30, Locked = true; + BUDALENLbl: Label 'BUDALEN', MaxLength = 30, Locked = true; + ORKANGERLbl: Label 'ORKANGER', MaxLength = 30, Locked = true; + GJØLMELbl: Label 'GJØLME', MaxLength = 30, Locked = true; + LENSVIKLbl: Label 'LENSVIK', MaxLength = 30, Locked = true; + AGDENESLbl: Label 'AGDENES', MaxLength = 30, Locked = true; + FANNREMLbl: Label 'FANNREM', MaxLength = 30, Locked = true; + SVORKMOLbl: Label 'SVORKMO', MaxLength = 30, Locked = true; + LØKKENVERKLbl: Label 'LØKKEN VERK', MaxLength = 30, Locked = true; + STORÅSLbl: Label 'STORÅS', MaxLength = 30, Locked = true; + JERPSTADLbl: Label 'JERPSTAD', MaxLength = 30, Locked = true; + MELDALLbl: Label 'MELDAL', MaxLength = 30, Locked = true; + OPPDALLbl: Label 'OPPDAL', MaxLength = 30, Locked = true; + LØNSETLbl: Label 'LØNSET', MaxLength = 30, Locked = true; + VOGNILLLbl: Label 'VOGNILL', MaxLength = 30, Locked = true; + GJEVILVASSHYTTALbl: Label 'GJEVILVASSHYTTA', MaxLength = 30, Locked = true; + DRIVALbl: Label 'DRIVA', MaxLength = 30, Locked = true; + BUVIKALbl: Label 'BUVIKA', MaxLength = 30, Locked = true; + BØRSALbl: Label 'BØRSA', MaxLength = 30, Locked = true; + VIGGJALbl: Label 'VIGGJA', MaxLength = 30, Locked = true; + EGGKLEIVALbl: Label 'EGGKLEIVA', MaxLength = 30, Locked = true; + SKAUNLbl: Label 'SKAUN', MaxLength = 30, Locked = true; + RØROSLbl: Label 'RØROS', MaxLength = 30, Locked = true; + BREKKEBYGDLbl: Label 'BREKKEBYGD', MaxLength = 30, Locked = true; + GLÅMOSLbl: Label 'GLÅMOS', MaxLength = 30, Locked = true; + ÅLENLbl: Label 'ÅLEN', MaxLength = 30, Locked = true; + HALTDALENLbl: Label 'HALTDALEN', MaxLength = 30, Locked = true; + SINGSÅSLbl: Label 'SINGSÅS', MaxLength = 30, Locked = true; + RENNEBUBerkåkLbl: Label '"RENNEBU, Berkåk"', MaxLength = 30, Locked = true; + RENNEBUStamnanLbl: Label '"RENNEBU, Stamnan"', MaxLength = 30, Locked = true; + RENNEBUVollLbl: Label '"RENNEBU, Voll"', MaxLength = 30, Locked = true; + RENNEBUUlsbergLbl: Label '"RENNEBU, Ulsberg"', MaxLength = 30, Locked = true; + RENNEBUInnsetLbl: Label '"RENNEBU, Innset"', MaxLength = 30, Locked = true; + RENNEBULbl: Label 'RENNEBU', MaxLength = 30, Locked = true; + STJØRDALLbl: Label 'STJØRDAL', MaxLength = 30, Locked = true; + SKATVALLbl: Label 'SKATVAL', MaxLength = 30, Locked = true; + HELLLbl: Label 'HELL', MaxLength = 30, Locked = true; + ELVARLILbl: Label 'ELVARLI', MaxLength = 30, Locked = true; + HEGRALbl: Label 'HEGRA', MaxLength = 30, Locked = true; + FLORNESLbl: Label 'FLORNES', MaxLength = 30, Locked = true; + MERÅKERLbl: Label 'MERÅKER', MaxLength = 30, Locked = true; + KOPPERÅLbl: Label 'KOPPERÅ', MaxLength = 30, Locked = true; + KLÆBULbl: Label 'KLÆBU', MaxLength = 30, Locked = true; + TANEMLbl: Label 'TANEM', MaxLength = 30, Locked = true; + HOMMELVIKLbl: Label 'HOMMELVIK', MaxLength = 30, Locked = true; + VIKHAMMERLbl: Label 'VIKHAMMER', MaxLength = 30, Locked = true; + HUNDHAMARENLbl: Label 'HUNDHAMAREN', MaxLength = 30, Locked = true; + MALVIKLbl: Label 'MALVIK', MaxLength = 30, Locked = true; + SELBULbl: Label 'SELBU', MaxLength = 30, Locked = true; + SELBUSTRANDLbl: Label 'SELBUSTRAND', MaxLength = 30, Locked = true; + TYDALLbl: Label 'TYDAL', MaxLength = 30, Locked = true; + FLAKNANLbl: Label 'FLAKNAN', MaxLength = 30, Locked = true; + LEVANGERLbl: Label 'LEVANGER', MaxLength = 30, Locked = true; + SKOGNLbl: Label 'SKOGN', MaxLength = 30, Locked = true; + MARKABYGDALbl: Label 'MARKABYGDA', MaxLength = 30, Locked = true; + RONGLANLbl: Label 'RONGLAN', MaxLength = 30, Locked = true; + EKNELbl: Label 'EKNE', MaxLength = 30, Locked = true; + YTTERØYLbl: Label 'YTTERØY', MaxLength = 30, Locked = true; + ÅSENLbl: Label 'ÅSEN', MaxLength = 30, Locked = true; + ÅSENFJORDLbl: Label 'ÅSENFJORD', MaxLength = 30, Locked = true; + FROSTALbl: Label 'FROSTA', MaxLength = 30, Locked = true; + VERDALLbl: Label 'VERDAL', MaxLength = 30, Locked = true; + VUKULbl: Label 'VUKU', MaxLength = 30, Locked = true; + STIKLESTADLbl: Label 'STIKLESTAD', MaxLength = 30, Locked = true; + INDERØYLbl: Label 'INDERØY', MaxLength = 30, Locked = true; + MOSVIKLbl: Label 'MOSVIK', MaxLength = 30, Locked = true; + STEINKJERLbl: Label 'STEINKJER', MaxLength = 30, Locked = true; + SPARBULbl: Label 'SPARBU', MaxLength = 30, Locked = true; + BEITSTADLbl: Label 'BEITSTAD', MaxLength = 30, Locked = true; + STEINSDALENLbl: Label 'STEINSDALEN', MaxLength = 30, Locked = true; + YTTERVÅGLbl: Label 'YTTERVÅG', MaxLength = 30, Locked = true; + HEPSØYLbl: Label 'HEPSØY', MaxLength = 30, Locked = true; + OPPLANDLbl: Label 'OPPLAND', MaxLength = 30, Locked = true; + HASVÅGLbl: Label 'HASVÅG', MaxLength = 30, Locked = true; + SÆTERVIKLbl: Label 'SÆTERVIK', MaxLength = 30, Locked = true; + NAMDALSEIDLbl: Label 'NAMDALSEID', MaxLength = 30, Locked = true; + SNÅSALbl: Label 'SNÅSA', MaxLength = 30, Locked = true; + FLATANGERLbl: Label 'FLATANGER', MaxLength = 30, Locked = true; + NORDSTATLANDLbl: Label 'NORD-STATLAND', MaxLength = 30, Locked = true; + MALMLbl: Label 'MALM', MaxLength = 30, Locked = true; + FOLLAFOSSLbl: Label 'FOLLAFOSS', MaxLength = 30, Locked = true; + VERRABOTNLbl: Label 'VERRABOTN', MaxLength = 30, Locked = true; + NAMSOSLbl: Label 'NAMSOS', MaxLength = 30, Locked = true; + SALSNESLbl: Label 'SALSNES', MaxLength = 30, Locked = true; + LUNDLbl: Label 'LUND', MaxLength = 30, Locked = true; + FOSSLANDSOSENLbl: Label 'FOSSLANDSOSEN', MaxLength = 30, Locked = true; + SPILLUMLbl: Label 'SPILLUM', MaxLength = 30, Locked = true; + BANGSUNDLbl: Label 'BANGSUND', MaxLength = 30, Locked = true; + JØALbl: Label 'JØA', MaxLength = 30, Locked = true; + SKAGEINAMDALENLbl: Label 'SKAGE I NAMDALEN', MaxLength = 30, Locked = true; + OVERHALLALbl: Label 'OVERHALLA', MaxLength = 30, Locked = true; + GRONGLbl: Label 'GRONG', MaxLength = 30, Locked = true; + HARRANLbl: Label 'HARRAN', MaxLength = 30, Locked = true; + NORDLILbl: Label 'NORDLI', MaxLength = 30, Locked = true; + SØRLILbl: Label 'SØRLI', MaxLength = 30, Locked = true; + NAMSSKOGANLbl: Label 'NAMSSKOGAN', MaxLength = 30, Locked = true; + TRONESLbl: Label 'TRONES', MaxLength = 30, Locked = true; + SKOROVATNLbl: Label 'SKOROVATN', MaxLength = 30, Locked = true; + BREKKVASSELVLbl: Label 'BREKKVASSELV', MaxLength = 30, Locked = true; + LIMINGENLbl: Label 'LIMINGEN', MaxLength = 30, Locked = true; + RØRVIKLbl: Label 'RØRVIK', MaxLength = 30, Locked = true; + OTTERSØYLbl: Label 'OTTERSØY', MaxLength = 30, Locked = true; + INDRENÆRØYLbl: Label 'INDRE NÆRØY', MaxLength = 30, Locked = true; + ABELVÆRLbl: Label 'ABELVÆR', MaxLength = 30, Locked = true; + SALSBRUKETLbl: Label 'SALSBRUKET', MaxLength = 30, Locked = true; + KOLVEREIDLbl: Label 'KOLVEREID', MaxLength = 30, Locked = true; + GJERDINGALbl: Label 'GJERDINGA', MaxLength = 30, Locked = true; + KONGSMOENLbl: Label 'KONGSMOEN', MaxLength = 30, Locked = true; + HØYLANDETLbl: Label 'HØYLANDET', MaxLength = 30, Locked = true; + TERRÅKLbl: Label 'TERRÅK', MaxLength = 30, Locked = true; + HARANGSFJORDLbl: Label 'HARANGSFJORD', MaxLength = 30, Locked = true; + BINDALSEIDETLbl: Label 'BINDALSEIDET', MaxLength = 30, Locked = true; + FOLDEREIDLbl: Label 'FOLDEREID', MaxLength = 30, Locked = true; + NAUSTBUKTALbl: Label 'NAUSTBUKTA', MaxLength = 30, Locked = true; + GUTVIKLbl: Label 'GUTVIK', MaxLength = 30, Locked = true; + LEKALbl: Label 'LEKA', MaxLength = 30, Locked = true; + BODØLbl: Label 'BODØ', MaxLength = 30, Locked = true; + TVERLANDETLbl: Label 'TVERLANDET', MaxLength = 30, Locked = true; + SALTSTRAUMENLbl: Label 'SALTSTRAUMEN', MaxLength = 30, Locked = true; + VÆRØYLbl: Label 'VÆRØY', MaxLength = 30, Locked = true; + RØSTLbl: Label 'RØST', MaxLength = 30, Locked = true; + KJERRINGØYLbl: Label 'KJERRINGØY', MaxLength = 30, Locked = true; + FLEINVÆRLbl: Label 'FLEINVÆR', MaxLength = 30, Locked = true; + HELLIGVÆRLbl: Label 'HELLIGVÆR', MaxLength = 30, Locked = true; + BLIKSVÆRLbl: Label 'BLIKSVÆR', MaxLength = 30, Locked = true; + GIVÆRLbl: Label 'GIVÆR', MaxLength = 30, Locked = true; + LANDEGODELbl: Label 'LANDEGODE', MaxLength = 30, Locked = true; + JANMAYENLbl: Label 'JAN MAYEN', MaxLength = 30, Locked = true; + MISVÆRLbl: Label 'MISVÆR', MaxLength = 30, Locked = true; + SKJERSTADLbl: Label 'SKJERSTAD', MaxLength = 30, Locked = true; + BREIVIKISALTENLbl: Label 'BREIVIK I SALTEN', MaxLength = 30, Locked = true; + MOLDJORDLbl: Label 'MOLDJORD', MaxLength = 30, Locked = true; + TOLLÅLbl: Label 'TOLLÅ', MaxLength = 30, Locked = true; + NYGÅRDSJØENLbl: Label 'NYGÅRDSJØEN', MaxLength = 30, Locked = true; + YTREBEIARNLbl: Label 'YTRE BEIARN', MaxLength = 30, Locked = true; + SANDHORNØYLbl: Label 'SANDHORNØY', MaxLength = 30, Locked = true; + SØRARNØYLbl: Label 'SØRARNØY', MaxLength = 30, Locked = true; + NORDARNØYLbl: Label 'NORDARNØY', MaxLength = 30, Locked = true; + INNDYRLbl: Label 'INNDYR', MaxLength = 30, Locked = true; + STORVIKLbl: Label 'STORVIK', MaxLength = 30, Locked = true; + REIPÅLbl: Label 'REIPÅ', MaxLength = 30, Locked = true; + NEVERDALLbl: Label 'NEVERDAL', MaxLength = 30, Locked = true; + ØRNESLbl: Label 'ØRNES', MaxLength = 30, Locked = true; + MELØYLbl: Label 'MELØY', MaxLength = 30, Locked = true; + BOLGALbl: Label 'BOLGA', MaxLength = 30, Locked = true; + STØTTLbl: Label 'STØTT', MaxLength = 30, Locked = true; + GLOMFJORDLbl: Label 'GLOMFJORD', MaxLength = 30, Locked = true; + ENGAVÅGENLbl: Label 'ENGAVÅGEN', MaxLength = 30, Locked = true; + SVARTISENGÅRDLbl: Label 'SVARTISEN GÅRD', MaxLength = 30, Locked = true; + HALSALbl: Label 'HALSA', MaxLength = 30, Locked = true; + MYKENLbl: Label 'MYKEN', MaxLength = 30, Locked = true; + MELFJORDBOTNLbl: Label 'MELFJORDBOTN', MaxLength = 30, Locked = true; + ÅGSKARDETLbl: Label 'ÅGSKARDET', MaxLength = 30, Locked = true; + VÅGAHOLMENLbl: Label 'VÅGAHOLMEN', MaxLength = 30, Locked = true; + TJONGSFJORDENLbl: Label 'TJONGSFJORDEN', MaxLength = 30, Locked = true; + JEKTVIKLbl: Label 'JEKTVIK', MaxLength = 30, Locked = true; + NORDVERNESLbl: Label 'NORDVERNES', MaxLength = 30, Locked = true; + GJERSVIKGRENDALbl: Label 'GJERSVIKGRENDA', MaxLength = 30, Locked = true; + SØRFJORDENLbl: Label 'SØRFJORDEN', MaxLength = 30, Locked = true; + RØDØYLbl: Label 'RØDØY', MaxLength = 30, Locked = true; + GJERØYLbl: Label 'GJERØY', MaxLength = 30, Locked = true; + SELSØYVIKLbl: Label 'SELSØYVIK', MaxLength = 30, Locked = true; + STORSELSØYLbl: Label 'STORSELSØY', MaxLength = 30, Locked = true; + NORDNESØYLbl: Label 'NORDNESØY', MaxLength = 30, Locked = true; + FAUSKELbl: Label 'FAUSKE', MaxLength = 30, Locked = true; + VALNESFJORDLbl: Label 'VALNESFJORD', MaxLength = 30, Locked = true; + RØSVIKLbl: Label 'RØSVIK', MaxLength = 30, Locked = true; + STRAUMENLbl: Label 'STRAUMEN', MaxLength = 30, Locked = true; + SULITJELMALbl: Label 'SULITJELMA', MaxLength = 30, Locked = true; + ROGNANLbl: Label 'ROGNAN', MaxLength = 30, Locked = true; + RØKLANDLbl: Label 'RØKLAND', MaxLength = 30, Locked = true; + INNHAVETLbl: Label 'INNHAVET', MaxLength = 30, Locked = true; + ENGANLbl: Label 'ENGAN', MaxLength = 30, Locked = true; + MØRSVIKBOTNLbl: Label 'MØRSVIKBOTN', MaxLength = 30, Locked = true; + DRAGLbl: Label 'DRAG', MaxLength = 30, Locked = true; + NEVERVIKLbl: Label 'NEVERVIK', MaxLength = 30, Locked = true; + MUSKENLbl: Label 'MUSKEN', MaxLength = 30, Locked = true; + STORJORDITYSFJORDLbl: Label 'STORJORD I TYSFJORD', MaxLength = 30, Locked = true; + ULVSVÅGLbl: Label 'ULVSVÅG', MaxLength = 30, Locked = true; + LEINESFJORDLbl: Label 'LEINESFJORD', MaxLength = 30, Locked = true; + LEINESLbl: Label 'LEINES', MaxLength = 30, Locked = true; + NORDFOLDLbl: Label 'NORDFOLD', MaxLength = 30, Locked = true; + BOGØYLbl: Label 'BOGØY', MaxLength = 30, Locked = true; + VÅGLbl: Label 'VÅG', MaxLength = 30, Locked = true; + SKUTVIKLbl: Label 'SKUTVIK', MaxLength = 30, Locked = true; + HAMARØYLbl: Label 'HAMARØY', MaxLength = 30, Locked = true; + TRANØYLbl: Label 'TRANØY', MaxLength = 30, Locked = true; + SVOLVÆRLbl: Label 'SVOLVÆR', MaxLength = 30, Locked = true; + KABELVÅGLbl: Label 'KABELVÅG', MaxLength = 30, Locked = true; + HENNINGSVÆRLbl: Label 'HENNINGSVÆR', MaxLength = 30, Locked = true; + KLEPPSTADLbl: Label 'KLEPPSTAD', MaxLength = 30, Locked = true; + GIMSØYSANDLbl: Label 'GIMSØYSAND', MaxLength = 30, Locked = true; + LAUKVIKLbl: Label 'LAUKVIK', MaxLength = 30, Locked = true; + LAUPSTADLbl: Label 'LAUPSTAD', MaxLength = 30, Locked = true; + STRØNSTADLbl: Label 'STRØNSTAD', MaxLength = 30, Locked = true; + SKROVALbl: Label 'SKROVA', MaxLength = 30, Locked = true; + BRETTESNESLbl: Label 'BRETTESNES', MaxLength = 30, Locked = true; + STORFJELLLbl: Label 'STORFJELL', MaxLength = 30, Locked = true; + DIGERMULENLbl: Label 'DIGERMULEN', MaxLength = 30, Locked = true; + TENGELFJORDLbl: Label 'TENGELFJORD', MaxLength = 30, Locked = true; + STOREMOLLALbl: Label 'STOREMOLLA', MaxLength = 30, Locked = true; + STAMSUNDLbl: Label 'STAMSUND', MaxLength = 30, Locked = true; + SENNESVIKLbl: Label 'SENNESVIK', MaxLength = 30, Locked = true; + BØSTADLbl: Label 'BØSTAD', MaxLength = 30, Locked = true; + LEKNESLbl: Label 'LEKNES', MaxLength = 30, Locked = true; + GRAVDALLbl: Label 'GRAVDAL', MaxLength = 30, Locked = true; + BALLSTADLbl: Label 'BALLSTAD', MaxLength = 30, Locked = true; + RAMBERGLbl: Label 'RAMBERG', MaxLength = 30, Locked = true; + NAPPLbl: Label 'NAPP', MaxLength = 30, Locked = true; + SUNDILOFOTENLbl: Label 'SUND I LOFOTEN', MaxLength = 30, Locked = true; + FREDVANGLbl: Label 'FREDVANG', MaxLength = 30, Locked = true; + REINELbl: Label 'REINE', MaxLength = 30, Locked = true; + SØRVÅGENLbl: Label 'SØRVÅGEN', MaxLength = 30, Locked = true; + SORTLANDLbl: Label 'SORTLAND', MaxLength = 30, Locked = true; + GODFJORDLbl: Label 'GODFJORD', MaxLength = 30, Locked = true; + SANDSETLbl: Label 'SANDSET', MaxLength = 30, Locked = true; + GULLESFJORDLbl: Label 'GULLESFJORD', MaxLength = 30, Locked = true; + KVITNESLbl: Label 'KVITNES', MaxLength = 30, Locked = true; + HENNESLbl: Label 'HENNES', MaxLength = 30, Locked = true; + BARKESTADLbl: Label 'BARKESTAD', MaxLength = 30, Locked = true; + TUNSTADLbl: Label 'TUNSTAD', MaxLength = 30, Locked = true; + MYRELbl: Label 'MYRE', MaxLength = 30, Locked = true; + ALSVÅGLbl: Label 'ALSVÅG', MaxLength = 30, Locked = true; + STØLbl: Label 'STØ', MaxLength = 30, Locked = true; + MELBULbl: Label 'MELBU', MaxLength = 30, Locked = true; + LONKANLbl: Label 'LONKAN', MaxLength = 30, Locked = true; + MYRLANDLbl: Label 'MYRLAND', MaxLength = 30, Locked = true; + STOKMARKNESLbl: Label 'STOKMARKNES', MaxLength = 30, Locked = true; + STRAUMSJØENLbl: Label 'STRAUMSJØEN', MaxLength = 30, Locked = true; + BØIVESTERÅLENLbl: Label 'BØ I VESTERÅLEN', MaxLength = 30, Locked = true; + ANDENESLbl: Label 'ANDENES', MaxLength = 30, Locked = true; + BLEIKLbl: Label 'BLEIK', MaxLength = 30, Locked = true; + RISØYHAMNLbl: Label 'RISØYHAMN', MaxLength = 30, Locked = true; + DVERBERGLbl: Label 'DVERBERG', MaxLength = 30, Locked = true; + BØGARDLbl: Label 'BØGARD', MaxLength = 30, Locked = true; + NØSSLbl: Label 'NØSS', MaxLength = 30, Locked = true; + NORDMELALbl: Label 'NORDMELA', MaxLength = 30, Locked = true; + NARVIKLbl: Label 'NARVIK', MaxLength = 30, Locked = true; + ANKENESSTRANDLbl: Label 'ANKENESSTRAND', MaxLength = 30, Locked = true; + BEISFJORDLbl: Label 'BEISFJORD', MaxLength = 30, Locked = true; + ELVEGARDLbl: Label 'ELVEGARD', MaxLength = 30, Locked = true; + BJERKVIKLbl: Label 'BJERKVIK', MaxLength = 30, Locked = true; + BOGENIOFOTENLbl: Label 'BOGEN I OFOTEN', MaxLength = 30, Locked = true; + LILANDLbl: Label 'LILAND', MaxLength = 30, Locked = true; + TÅRSTADLbl: Label 'TÅRSTAD', MaxLength = 30, Locked = true; + EVENESLbl: Label 'EVENES', MaxLength = 30, Locked = true; + BALLANGENLbl: Label 'BALLANGEN', MaxLength = 30, Locked = true; + KJELDEBOTNLbl: Label 'KJELDEBOTN', MaxLength = 30, Locked = true; + LØDINGENLbl: Label 'LØDINGEN', MaxLength = 30, Locked = true; + VESTBYGDLbl: Label 'VESTBYGD', MaxLength = 30, Locked = true; + STORÅLbl: Label 'STORÅ', MaxLength = 30, Locked = true; + KJØPSVIKLbl: Label 'KJØPSVIK', MaxLength = 30, Locked = true; + MOIRANALbl: Label 'MO I RANA', MaxLength = 30, Locked = true; + GRUBHEILbl: Label 'GRUBHEI', MaxLength = 30, Locked = true; + SELFORSLbl: Label 'SELFORS', MaxLength = 30, Locked = true; + YTTERENLbl: Label 'YTTEREN', MaxLength = 30, Locked = true; + SKONSENGLbl: Label 'SKONSENG', MaxLength = 30, Locked = true; + BÅSMOENLbl: Label 'BÅSMOEN', MaxLength = 30, Locked = true; + DALSELVLbl: Label 'DALSELV', MaxLength = 30, Locked = true; + ANDFISKÅLbl: Label 'ANDFISKÅ', MaxLength = 30, Locked = true; + SVARTISDALLbl: Label 'SVARTISDAL', MaxLength = 30, Locked = true; + STORFORSHEILbl: Label 'STORFORSHEI', MaxLength = 30, Locked = true; + NISSELANDLbl: Label 'NISSELAND', MaxLength = 30, Locked = true; + POLARSIRKELENLbl: Label 'POLARSIRKELEN', MaxLength = 30, Locked = true; + HEMNESBERGETLbl: Label 'HEMNESBERGET', MaxLength = 30, Locked = true; + FINNEIDFJORDLbl: Label 'FINNEIDFJORD', MaxLength = 30, Locked = true; + BJERKALbl: Label 'BJERKA', MaxLength = 30, Locked = true; + KORGENLbl: Label 'KORGEN', MaxLength = 30, Locked = true; + BLEIKVASSLIALbl: Label 'BLEIKVASSLIA', MaxLength = 30, Locked = true; + MOSJØENLbl: Label 'MOSJØEN', MaxLength = 30, Locked = true; + ELSFJORDLbl: Label 'ELSFJORD', MaxLength = 30, Locked = true; + SUNDØYLbl: Label 'SUNDØY', MaxLength = 30, Locked = true; + TROFORSLbl: Label 'TROFORS', MaxLength = 30, Locked = true; + HATTFJELLDALLbl: Label 'HATTFJELLDAL', MaxLength = 30, Locked = true; + NESNALbl: Label 'NESNA', MaxLength = 30, Locked = true; + VIKHOLMENLbl: Label 'VIKHOLMEN', MaxLength = 30, Locked = true; + HUSBYLbl: Label 'HUSBY', MaxLength = 30, Locked = true; + SAURALbl: Label 'SAURA', MaxLength = 30, Locked = true; + UTSKARPENLbl: Label 'UTSKARPEN', MaxLength = 30, Locked = true; + BRATLANDLbl: Label 'BRATLAND', MaxLength = 30, Locked = true; + ALDRALbl: Label 'ALDRA', MaxLength = 30, Locked = true; + STUVLANDLbl: Label 'STUVLAND', MaxLength = 30, Locked = true; + STOKKVÅGENLbl: Label 'STOKKVÅGEN', MaxLength = 30, Locked = true; + NORDSOLVÆRLbl: Label 'NORD-SOLVÆR', MaxLength = 30, Locked = true; + SELVÆRLbl: Label 'SELVÆR', MaxLength = 30, Locked = true; + INDREKVARØYLbl: Label 'INDRE KVARØY', MaxLength = 30, Locked = true; + TONNESLbl: Label 'TONNES', MaxLength = 30, Locked = true; + KONSVIKOSENLbl: Label 'KONSVIKOSEN', MaxLength = 30, Locked = true; + SLENESETLbl: Label 'SLENESET', MaxLength = 30, Locked = true; + LOVUNDLbl: Label 'LOVUND', MaxLength = 30, Locked = true; + LURØYLbl: Label 'LURØY', MaxLength = 30, Locked = true; + TRÆNALbl: Label 'TRÆNA', MaxLength = 30, Locked = true; + SANDNESSJØENLbl: Label 'SANDNESSJØEN', MaxLength = 30, Locked = true; + KOPARDALLbl: Label 'KOPARDAL', MaxLength = 30, Locked = true; + DØNNALbl: Label 'DØNNA', MaxLength = 30, Locked = true; + NORDØYVÅGENLbl: Label 'NORDØYVÅGEN', MaxLength = 30, Locked = true; + VANDVELbl: Label 'VANDVE', MaxLength = 30, Locked = true; + BRASØYLbl: Label 'BRASØY', MaxLength = 30, Locked = true; + SANDVÆRLbl: Label 'SANDVÆR', MaxLength = 30, Locked = true; + HERØYLbl: Label 'HERØY', MaxLength = 30, Locked = true; + AUSTBØLbl: Label 'AUSTBØ', MaxLength = 30, Locked = true; + TJØTTALbl: Label 'TJØTTA', MaxLength = 30, Locked = true; + TROLbl: Label 'TRO', MaxLength = 30, Locked = true; + VISTHUSLbl: Label 'VISTHUS', MaxLength = 30, Locked = true; + BÆRØYVÅGENLbl: Label 'BÆRØYVÅGEN', MaxLength = 30, Locked = true; + HUSVIKALbl: Label 'HUSVIKA', MaxLength = 30, Locked = true; + LEIRFJORDLbl: Label 'LEIRFJORD', MaxLength = 30, Locked = true; + BRØNNØYSUNDLbl: Label 'BRØNNØYSUND', MaxLength = 30, Locked = true; + BRØNNØYSUNDREGISTRENELbl: Label 'BRØNNØYSUNDREGISTRENE', MaxLength = 30, Locked = true; + SØMNALbl: Label 'SØMNA', MaxLength = 30, Locked = true; + HOMMELSTØLbl: Label 'HOMMELSTØ', MaxLength = 30, Locked = true; + VEVELSTADLbl: Label 'VEVELSTAD', MaxLength = 30, Locked = true; + HESSTUNLbl: Label 'HESSTUN', MaxLength = 30, Locked = true; + VEGALbl: Label 'VEGA', MaxLength = 30, Locked = true; + YLVINGENLbl: Label 'YLVINGEN', MaxLength = 30, Locked = true; + TROMSØLbl: Label 'TROMSØ', MaxLength = 30, Locked = true; + TROMSDALENLbl: Label 'TROMSDALEN', MaxLength = 30, Locked = true; + KROKELVDALENLbl: Label 'KROKELVDALEN', MaxLength = 30, Locked = true; + TOMASJORDLbl: Label 'TOMASJORD', MaxLength = 30, Locked = true; + RAMFJORDBOTNLbl: Label 'RAMFJORDBOTN', MaxLength = 30, Locked = true; + SJURSNESLbl: Label 'SJURSNES', MaxLength = 30, Locked = true; + OLDERVIKLbl: Label 'OLDERVIK', MaxLength = 30, Locked = true; + NORDKJOSBOTNLbl: Label 'NORDKJOSBOTN', MaxLength = 30, Locked = true; + LAKSVATNLbl: Label 'LAKSVATN', MaxLength = 30, Locked = true; + JØVIKLbl: Label 'JØVIK', MaxLength = 30, Locked = true; + OTERENLbl: Label 'OTEREN', MaxLength = 30, Locked = true; + STORSTEINNESLbl: Label 'STORSTEINNES', MaxLength = 30, Locked = true; + MALANGSEIDETLbl: Label 'MALANGSEIDET', MaxLength = 30, Locked = true; + MEISTERVIKLbl: Label 'MEISTERVIK', MaxLength = 30, Locked = true; + MORTENHALSLbl: Label 'MORTENHALS', MaxLength = 30, Locked = true; + VIKRANLbl: Label 'VIKRAN', MaxLength = 30, Locked = true; + LYNGSEIDETLbl: Label 'LYNGSEIDET', MaxLength = 30, Locked = true; + FURUFLATENLbl: Label 'FURUFLATEN', MaxLength = 30, Locked = true; + SVENSBYLbl: Label 'SVENSBY', MaxLength = 30, Locked = true; + NORDLENANGENLbl: Label 'NORD-LENANGEN', MaxLength = 30, Locked = true; + KVALØYSLETTALbl: Label 'KVALØYSLETTA', MaxLength = 30, Locked = true; + SKULSFJORDLbl: Label 'SKULSFJORD', MaxLength = 30, Locked = true; + STRAUMSBUKTALbl: Label 'STRAUMSBUKTA', MaxLength = 30, Locked = true; + TROMVIKLbl: Label 'TROMVIK', MaxLength = 30, Locked = true; + SOMMARØYLbl: Label 'SOMMARØY', MaxLength = 30, Locked = true; + BRENSHOLMENLbl: Label 'BRENSHOLMEN', MaxLength = 30, Locked = true; + VENGSØYLbl: Label 'VENGSØY', MaxLength = 30, Locked = true; + TUSSØYLbl: Label 'TUSSØY', MaxLength = 30, Locked = true; + HANSNESLbl: Label 'HANSNES', MaxLength = 30, Locked = true; + KÅRVIKLbl: Label 'KÅRVIK', MaxLength = 30, Locked = true; + STAKKVIKLbl: Label 'STAKKVIK', MaxLength = 30, Locked = true; + VANNVÅGLbl: Label 'VANNVÅG', MaxLength = 30, Locked = true; + VANNAREIDLbl: Label 'VANNAREID', MaxLength = 30, Locked = true; + KARLSØYLbl: Label 'KARLSØY', MaxLength = 30, Locked = true; + REBBENESLbl: Label 'REBBENES', MaxLength = 30, Locked = true; + MJØLVIKLbl: Label 'MJØLVIK', MaxLength = 30, Locked = true; + SKIBOTNLbl: Label 'SKIBOTN', MaxLength = 30, Locked = true; + SAMUELSBERGLbl: Label 'SAMUELSBERG', MaxLength = 30, Locked = true; + OLDERDALENLbl: Label 'OLDERDALEN', MaxLength = 30, Locked = true; + BIRTAVARRELbl: Label 'BIRTAVARRE', MaxLength = 30, Locked = true; + STORSLETTLbl: Label 'STORSLETT', MaxLength = 30, Locked = true; + SØRKJOSENLbl: Label 'SØRKJOSEN', MaxLength = 30, Locked = true; + ROTSUNDLbl: Label 'ROTSUND', MaxLength = 30, Locked = true; + HAVNNESLbl: Label 'HAVNNES', MaxLength = 30, Locked = true; + BURFJORDLbl: Label 'BURFJORD', MaxLength = 30, Locked = true; + SØRSTRAUMENLbl: Label 'SØRSTRAUMEN', MaxLength = 30, Locked = true; + JØKELFJORDLbl: Label 'JØKELFJORD', MaxLength = 30, Locked = true; + KVÆNANGSFJELLETLbl: Label 'KVÆNANGSFJELLET', MaxLength = 30, Locked = true; + LONGYEARBYENLbl: Label 'LONGYEARBYEN', MaxLength = 30, Locked = true; + ISFJORDPÅSVALBARDLbl: Label 'ISFJORD PÅ SVALBARD', MaxLength = 30, Locked = true; + NYÅLESUNDLbl: Label 'NY-ÅLESUND', MaxLength = 30, Locked = true; + HOPENLbl: Label 'HOPEN', MaxLength = 30, Locked = true; + SVEAGRUVALbl: Label 'SVEAGRUVA', MaxLength = 30, Locked = true; + BJØRNØYALbl: Label 'BJØRNØYA', MaxLength = 30, Locked = true; + HORNSUNDLbl: Label 'HORNSUND', MaxLength = 30, Locked = true; + BARENTSBURGLbl: Label 'BARENTSBURG', MaxLength = 30, Locked = true; + PYRAMIDENLbl: Label 'PYRAMIDEN', MaxLength = 30, Locked = true; + SKJERVØYLbl: Label 'SKJERVØY', MaxLength = 30, Locked = true; + HAMNEIDETLbl: Label 'HAMNEIDET', MaxLength = 30, Locked = true; + SEGLVIKLbl: Label 'SEGLVIK', MaxLength = 30, Locked = true; + REINFJORDLbl: Label 'REINFJORD', MaxLength = 30, Locked = true; + SPILDRALbl: Label 'SPILDRA', MaxLength = 30, Locked = true; + ANDSNESLbl: Label 'ANDSNES', MaxLength = 30, Locked = true; + AKKARVIKLbl: Label 'AKKARVIK', MaxLength = 30, Locked = true; + ARNØYHAMNLbl: Label 'ARNØYHAMN', MaxLength = 30, Locked = true; + NIKKEBYLbl: Label 'NIKKEBY', MaxLength = 30, Locked = true; + LAUKSLETTALbl: Label 'LAUKSLETTA', MaxLength = 30, Locked = true; + ÅRVIKSANDLbl: Label 'ÅRVIKSAND', MaxLength = 30, Locked = true; + ULØYBUKTLbl: Label 'ULØYBUKT', MaxLength = 30, Locked = true; + FINNSNESLbl: Label 'FINNSNES', MaxLength = 30, Locked = true; + ROSSFJORDSTRAUMENLbl: Label 'ROSSFJORDSTRAUMEN', MaxLength = 30, Locked = true; + SILSANDLbl: Label 'SILSAND', MaxLength = 30, Locked = true; + VANGSVIKLbl: Label 'VANGSVIK', MaxLength = 30, Locked = true; + SØRREISALbl: Label 'SØRREISA', MaxLength = 30, Locked = true; + BRØSTADBOTNLbl: Label 'BRØSTADBOTN', MaxLength = 30, Locked = true; + MOENLbl: Label 'MOEN', MaxLength = 30, Locked = true; + KARLSTADLbl: Label 'KARLSTAD', MaxLength = 30, Locked = true; + BARDUFOSSLbl: Label 'BARDUFOSS', MaxLength = 30, Locked = true; + ØVERBYGDLbl: Label 'ØVERBYGD', MaxLength = 30, Locked = true; + SJØVEGANLbl: Label 'SJØVEGAN', MaxLength = 30, Locked = true; + BARDULbl: Label 'BARDU', MaxLength = 30, Locked = true; + GIBOSTADLbl: Label 'GIBOSTAD', MaxLength = 30, Locked = true; + BOTNHAMNLbl: Label 'BOTNHAMN', MaxLength = 30, Locked = true; + GRYLLEFJORDLbl: Label 'GRYLLEFJORD', MaxLength = 30, Locked = true; + TORSKENLbl: Label 'TORSKEN', MaxLength = 30, Locked = true; + SKALANDLbl: Label 'SKALAND', MaxLength = 30, Locked = true; + SENJAHOPENLbl: Label 'SENJAHOPEN', MaxLength = 30, Locked = true; + FJORDGARDLbl: Label 'FJORDGARD', MaxLength = 30, Locked = true; + HUSØYISENJALbl: Label 'HUSØY I SENJA', MaxLength = 30, Locked = true; + STONGLANDSEIDETLbl: Label 'STONGLANDSEIDET', MaxLength = 30, Locked = true; + FLAKSTADVÅGLbl: Label 'FLAKSTADVÅG', MaxLength = 30, Locked = true; + KALDFARNESLbl: Label 'KALDFARNES', MaxLength = 30, Locked = true; + HARSTADLbl: Label 'HARSTAD', MaxLength = 30, Locked = true; + SØRVIKLbl: Label 'SØRVIK', MaxLength = 30, Locked = true; + LUNDENESLbl: Label 'LUNDENES', MaxLength = 30, Locked = true; + GRØTAVÆRLbl: Label 'GRØTAVÆR', MaxLength = 30, Locked = true; + KJØTTALbl: Label 'KJØTTA', MaxLength = 30, Locked = true; + SANDSØYLbl: Label 'SANDSØY', MaxLength = 30, Locked = true; + BJARKØYLbl: Label 'BJARKØY', MaxLength = 30, Locked = true; + MELØYVÆRLbl: Label 'MELØYVÆR', MaxLength = 30, Locked = true; + SANDTORGLbl: Label 'SANDTORG', MaxLength = 30, Locked = true; + KONGSVIKLbl: Label 'KONGSVIK', MaxLength = 30, Locked = true; + EVENSKJERLbl: Label 'EVENSKJER', MaxLength = 30, Locked = true; + FJELLDALLbl: Label 'FJELLDAL', MaxLength = 30, Locked = true; + RAMSUNDLbl: Label 'RAMSUND', MaxLength = 30, Locked = true; + MYKLEBOSTADLbl: Label 'MYKLEBOSTAD', MaxLength = 30, Locked = true; + HOLITJELDSUNDLbl: Label 'HOL I TJELDSUND', MaxLength = 30, Locked = true; + TOVIKLbl: Label 'TOVIK', MaxLength = 30, Locked = true; + GROVFJORDLbl: Label 'GROVFJORD', MaxLength = 30, Locked = true; + HAMNVIKLbl: Label 'HAMNVIK', MaxLength = 30, Locked = true; + KRÅKRØHAMNLbl: Label 'KRÅKRØHAMN', MaxLength = 30, Locked = true; + ÅNSTADLbl: Label 'ÅNSTAD', MaxLength = 30, Locked = true; + ENGENESLbl: Label 'ENGENES', MaxLength = 30, Locked = true; + TENNEVOLLLbl: Label 'TENNEVOLL', MaxLength = 30, Locked = true; + GRATANGENLbl: Label 'GRATANGEN', MaxLength = 30, Locked = true; + BORKENESLbl: Label 'BORKENES', MaxLength = 30, Locked = true; + ALTALbl: Label 'ALTA', MaxLength = 30, Locked = true; + KVIBYLbl: Label 'KVIBY', MaxLength = 30, Locked = true; + KAUTOKEINOLbl: Label 'KAUTOKEINO', MaxLength = 30, Locked = true; + MAZELbl: Label 'MAZE', MaxLength = 30, Locked = true; + SUOLOVUOPMILbl: Label 'SUOLOVUOPMI', MaxLength = 30, Locked = true; + KVALFJORDLbl: Label 'KVALFJORD', MaxLength = 30, Locked = true; + HAKKSTABBENLbl: Label 'HAKKSTABBEN', MaxLength = 30, Locked = true; + KONGSHUSLbl: Label 'KONGSHUS', MaxLength = 30, Locked = true; + KORSFJORDENLbl: Label 'KORSFJORDEN', MaxLength = 30, Locked = true; + TALVIKLbl: Label 'TALVIK', MaxLength = 30, Locked = true; + LANGFJORDBOTNLbl: Label 'LANGFJORDBOTN', MaxLength = 30, Locked = true; + ØKSFJORDLbl: Label 'ØKSFJORD', MaxLength = 30, Locked = true; + BERGSFJORDLbl: Label 'BERGSFJORD', MaxLength = 30, Locked = true; + NUVSVÅGLbl: Label 'NUVSVÅG', MaxLength = 30, Locked = true; + LANGFJORDHAMNLbl: Label 'LANGFJORDHAMN', MaxLength = 30, Locked = true; + SØRTVERRFJORDLbl: Label 'SØR-TVERRFJORD', MaxLength = 30, Locked = true; + SANDLANDLbl: Label 'SANDLAND', MaxLength = 30, Locked = true; + LOPPALbl: Label 'LOPPA', MaxLength = 30, Locked = true; + SKAVNAKKLbl: Label 'SKAVNAKK', MaxLength = 30, Locked = true; + HASVIKLbl: Label 'HASVIK', MaxLength = 30, Locked = true; + BREIVIKBOTNLbl: Label 'BREIVIKBOTN', MaxLength = 30, Locked = true; + SØRVÆRLbl: Label 'SØRVÆR', MaxLength = 30, Locked = true; + HAMMERFESTLbl: Label 'HAMMERFEST', MaxLength = 30, Locked = true; + HØNSEBYLbl: Label 'HØNSEBY', MaxLength = 30, Locked = true; + RYPEFJORDLbl: Label 'RYPEFJORD', MaxLength = 30, Locked = true; + KVALSUNDLbl: Label 'KVALSUND', MaxLength = 30, Locked = true; + REVSNESHAMNLbl: Label 'REVSNESHAMN', MaxLength = 30, Locked = true; + AKKARFJORDLbl: Label 'AKKARFJORD', MaxLength = 30, Locked = true; + HELLEFJORDLbl: Label 'HELLEFJORD', MaxLength = 30, Locked = true; + KÅRHAMNLbl: Label 'KÅRHAMN', MaxLength = 30, Locked = true; + SKARVFJORDHAMNLbl: Label 'SKARVFJORDHAMN', MaxLength = 30, Locked = true; + SANDØYBOTNLbl: Label 'SANDØYBOTN', MaxLength = 30, Locked = true; + TUFJORDLbl: Label 'TUFJORD', MaxLength = 30, Locked = true; + INGØYLbl: Label 'INGØY', MaxLength = 30, Locked = true; + HAVØYSUNDLbl: Label 'HAVØYSUND', MaxLength = 30, Locked = true; + MÅSØYLbl: Label 'MÅSØY', MaxLength = 30, Locked = true; + LAKSELVLbl: Label 'LAKSELV', MaxLength = 30, Locked = true; + PORSANGMOENLbl: Label 'PORSANGMOEN', MaxLength = 30, Locked = true; + INDREBILLEFJORDLbl: Label 'INDRE BILLEFJORD', MaxLength = 30, Locked = true; + RUSSENESLbl: Label 'RUSSENES', MaxLength = 30, Locked = true; + SNEFJORDLbl: Label 'SNEFJORD', MaxLength = 30, Locked = true; + KOKELVLbl: Label 'KOKELV', MaxLength = 30, Locked = true; + BØRSELVLbl: Label 'BØRSELV', MaxLength = 30, Locked = true; + VEIDNESKLUBBENLbl: Label 'VEIDNESKLUBBEN', MaxLength = 30, Locked = true; + SKOGANVARRELbl: Label 'SKOGANVARRE', MaxLength = 30, Locked = true; + KARASJOKLbl: Label 'KARASJOK', MaxLength = 30, Locked = true; + LEBESBYLbl: Label 'LEBESBY', MaxLength = 30, Locked = true; + KUNESLbl: Label 'KUNES', MaxLength = 30, Locked = true; + HONNINGSVÅGLbl: Label 'HONNINGSVÅG', MaxLength = 30, Locked = true; + NORDVÅGENLbl: Label 'NORDVÅGEN', MaxLength = 30, Locked = true; + SKARSVÅGLbl: Label 'SKARSVÅG', MaxLength = 30, Locked = true; + NORDKAPPLbl: Label 'NORDKAPP', MaxLength = 30, Locked = true; + GJESVÆRLbl: Label 'GJESVÆR', MaxLength = 30, Locked = true; + REPVÅGLbl: Label 'REPVÅG', MaxLength = 30, Locked = true; + MEHAMNLbl: Label 'MEHAMN', MaxLength = 30, Locked = true; + SKJÅNESLbl: Label 'SKJÅNES', MaxLength = 30, Locked = true; + LANGFJORDNESLbl: Label 'LANGFJORDNES', MaxLength = 30, Locked = true; + NERVEILbl: Label 'NERVEI', MaxLength = 30, Locked = true; + GAMVIKLbl: Label 'GAMVIK', MaxLength = 30, Locked = true; + DYFJORDLbl: Label 'DYFJORD', MaxLength = 30, Locked = true; + NORDMANNSETILAKSEFJORDLbl: Label 'NORDMANNSET I LAKSEFJORD', MaxLength = 30, Locked = true; + KJØLLEFJORDLbl: Label 'KJØLLEFJORD', MaxLength = 30, Locked = true; + VADSØLbl: Label 'VADSØ', MaxLength = 30, Locked = true; + VESTREJAKOBSELVLbl: Label 'VESTRE JAKOBSELV', MaxLength = 30, Locked = true; + VARANGERBOTNLbl: Label 'VARANGERBOTN', MaxLength = 30, Locked = true; + SIRMALbl: Label 'SIRMA', MaxLength = 30, Locked = true; + TANALbl: Label 'TANA', MaxLength = 30, Locked = true; + KIRKENESLbl: Label 'KIRKENES', MaxLength = 30, Locked = true; + BJØRNEVATNLbl: Label 'BJØRNEVATN', MaxLength = 30, Locked = true; + HESSENGLbl: Label 'HESSENG', MaxLength = 30, Locked = true; + SVANVIKLbl: Label 'SVANVIK', MaxLength = 30, Locked = true; + NEIDENLbl: Label 'NEIDEN', MaxLength = 30, Locked = true; + BUGØYFJORDLbl: Label 'BUGØYFJORD', MaxLength = 30, Locked = true; + BUGØYNESLbl: Label 'BUGØYNES', MaxLength = 30, Locked = true; + VARDØLbl: Label 'VARDØ', MaxLength = 30, Locked = true; + KIBERGLbl: Label 'KIBERG', MaxLength = 30, Locked = true; + BERLEVÅGLbl: Label 'BERLEVÅG', MaxLength = 30, Locked = true; + KONGSFJORDLbl: Label 'KONGSFJORD', MaxLength = 30, Locked = true; + BÅTSFJORDLbl: Label 'BÅTSFJORD', MaxLength = 30, Locked = true; + WienLbl: Label 'Wien', MaxLength = 30, Locked = true; + WrNeudorfLbl: Label 'Wr. Neudorf', MaxLength = 30, Locked = true; + GmundenLbl: Label 'Gmunden', MaxLength = 30, Locked = true; + MittersillLbl: Label 'Mittersill', MaxLength = 30, Locked = true; + MurauLbl: Label 'Murau', MaxLength = 30, Locked = true; + SydneyNSWLbl: Label 'Sydney, NSW', MaxLength = 30, Locked = true; + WollongongNSWLbl: Label 'Wollongong, NSW', MaxLength = 30, Locked = true; + MelbourneVICLbl: Label 'Melbourne, VIC', MaxLength = 30, Locked = true; + BrisbaneQLDLbl: Label 'Brisbane, QLD', MaxLength = 30, Locked = true; + PerthWALbl: Label 'Perth, WA', MaxLength = 30, Locked = true; + MurdunnaTASLbl: Label 'Murdunna, TAS', MaxLength = 30, Locked = true; + HumbeekLbl: Label 'Humbeek', MaxLength = 30, Locked = true; + AntwerpenLbl: Label 'Antwerpen', MaxLength = 30, Locked = true; + HerentalsLbl: Label 'Herentals', MaxLength = 30, Locked = true; + MechelenLbl: Label 'Mechelen', MaxLength = 30, Locked = true; + LeuvenLbl: Label 'Leuven', MaxLength = 30, Locked = true; + KortrijkLbl: Label 'Kortrijk', MaxLength = 30, Locked = true; + SofiaLbl: Label 'Sofia', MaxLength = 30, Locked = true; + KustendilLbl: Label 'Kustendil', MaxLength = 30, Locked = true; + BlagoevgradLbl: Label 'Blagoevgrad', MaxLength = 30, Locked = true; + PlovdivLbl: Label 'Plovdiv', MaxLength = 30, Locked = true; + ElhovoLbl: Label 'Elhovo', MaxLength = 30, Locked = true; + VarnaLbl: Label 'Varna', MaxLength = 30, Locked = true; + SaoPauloSPLbl: Label 'Sao Paulo SP', MaxLength = 30, Locked = true; + RiodeJaneiroRJLbl: Label 'Rio de Janeiro RJ', MaxLength = 30, Locked = true; + RecifePELbl: Label 'Recife PE', MaxLength = 30, Locked = true; + BrasiliaDFLbl: Label 'Brasilia DF', MaxLength = 30, Locked = true; + CuritibaPRLbl: Label 'Curitiba PR', MaxLength = 30, Locked = true; + PortoAlegreRSLbl: Label 'Porto Alegre RS', MaxLength = 30, Locked = true; + ElkhornLbl: Label 'Elkhorn', MaxLength = 30, Locked = true; + OakvilleLbl: Label 'Oakville', MaxLength = 30, Locked = true; + TorontoLbl: Label 'Toronto', MaxLength = 30, Locked = true; + LondonLbl: Label 'London', MaxLength = 30, Locked = true; + ThunderBayLbl: Label 'Thunder Bay', MaxLength = 30, Locked = true; + PrattelnLbl: Label 'Pratteln', MaxLength = 30, Locked = true; + LuzernLbl: Label 'Luzern', MaxLength = 30, Locked = true; + RotkreuzLbl: Label 'Rotkreuz', MaxLength = 30, Locked = true; + ImmenseeLbl: Label 'Immensee', MaxLength = 30, Locked = true; + GlattbruggLbl: Label 'Glattbrugg', MaxLength = 30, Locked = true; + SchaffhausenLbl: Label 'Schaffhausen', MaxLength = 30, Locked = true; + ZnojmoLbl: Label 'Znojmo', MaxLength = 30, Locked = true; + BlanskoLbl: Label 'Blansko', MaxLength = 30, Locked = true; + BojkoviceLbl: Label 'Bojkovice', MaxLength = 30, Locked = true; + VracovLbl: Label 'Vracov', MaxLength = 30, Locked = true; + KyjovLbl: Label 'Kyjov', MaxLength = 30, Locked = true; + OlomouchLbl: Label 'Olomouch', MaxLength = 30, Locked = true; + HamburgLbl: Label 'Hamburg', MaxLength = 30, Locked = true; + Hamburg36Lbl: Label 'Hamburg 36', MaxLength = 30, Locked = true; + DusseldorfLbl: Label 'Dusseldorf', MaxLength = 30, Locked = true; + FrankfurtMainLbl: Label 'Frankfurt/Main', MaxLength = 30, Locked = true; + EningenLbl: Label 'Eningen', MaxLength = 30, Locked = true; + MunchenLbl: Label 'Munchen', MaxLength = 30, Locked = true; + LandsbergamLechLbl: Label 'Landsberg am Lech', MaxLength = 30, Locked = true; + CopenhagenLbl: Label 'Copenhagen', MaxLength = 30, Locked = true; + VedbaekLbl: Label 'Vedbaek', MaxLength = 30, Locked = true; + KogeLbl: Label 'Koge', MaxLength = 30, Locked = true; + OdenseCLbl: Label 'Odense C', MaxLength = 30, Locked = true; + ArhusCLbl: Label 'Arhus C', MaxLength = 30, Locked = true; + ArhusNLbl: Label 'Arhus N', MaxLength = 30, Locked = true; + AlborgLbl: Label 'Alborg', MaxLength = 30, Locked = true; + BARIKALbl: Label 'BARIKA', MaxLength = 30, Locked = true; + ALGIERSLbl: Label 'ALGIERS', MaxLength = 30, Locked = true; + MOSTAGANCULbl: Label 'MOSTAGANCU', MaxLength = 30, Locked = true; + KHENCHELbl: Label 'KHENCHE', MaxLength = 30, Locked = true; + TallinnLbl: Label 'Tallinn', MaxLength = 30, Locked = true; + NarvaLbl: Label 'Narva', MaxLength = 30, Locked = true; + RakvereLbl: Label 'Rakvere', MaxLength = 30, Locked = true; + TapaLbl: Label 'Tapa', MaxLength = 30, Locked = true; + MustveeLbl: Label 'Mustvee', MaxLength = 30, Locked = true; + PaldiskiLbl: Label 'Paldiski', MaxLength = 30, Locked = true; + AthensLbl: Label 'Athens', MaxLength = 30, Locked = true; + PiraeusLbl: Label 'Piraeus', MaxLength = 30, Locked = true; + ThessalonikiLbl: Label 'Thessaloniki', MaxLength = 30, Locked = true; + ChaniaLbl: Label 'Chania', MaxLength = 30, Locked = true; + KolymbiaLbl: Label 'Kolymbia', MaxLength = 30, Locked = true; + AlicanteLbl: Label 'Alicante', MaxLength = 30, Locked = true; + PalmaMallorcaLbl: Label 'Palma Mallorca', MaxLength = 30, Locked = true; + BarcelonaLbl: Label 'Barcelona', MaxLength = 30, Locked = true; + CaceresLbl: Label 'Caceres', MaxLength = 30, Locked = true; + MadridLbl: Label 'Madrid', MaxLength = 30, Locked = true; + PontevedraLbl: Label 'Pontevedra', MaxLength = 30, Locked = true; + SalamancaLbl: Label 'Salamanca', MaxLength = 30, Locked = true; + SevillaLbl: Label 'Sevilla', MaxLength = 30, Locked = true; + ValenciaLbl: Label 'Valencia', MaxLength = 30, Locked = true; + ValladolidLbl: Label 'Valladolid', MaxLength = 30, Locked = true; + ZaragozaLbl: Label 'Zaragoza', MaxLength = 30, Locked = true; + HelsinkiLbl: Label 'Helsinki', MaxLength = 30, Locked = true; + KlaukkalaLbl: Label 'Klaukkala', MaxLength = 30, Locked = true; + JokelaLbl: Label 'Jokela', MaxLength = 30, Locked = true; + KuhmoLbl: Label 'Kuhmo', MaxLength = 30, Locked = true; + LACHAPELLEBASSEMERLbl: Label 'LA CHAPELLE BASSE MER', MaxLength = 30, Locked = true; + CASSELLbl: Label 'CASSEL', MaxLength = 30, Locked = true; + PARISLbl: Label 'PARIS', MaxLength = 30, Locked = true; + ESBLYLbl: Label 'ESBLY', MaxLength = 30, Locked = true; + PLAISIRLbl: Label 'PLAISIR', MaxLength = 30, Locked = true; + LALONDELESMAURESLbl: Label 'LA LONDE LES MAURES', MaxLength = 30, Locked = true; + BirminghamLbl: Label 'Birmingham', MaxLength = 30, Locked = true; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30, Locked = true; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30, Locked = true; + BathLbl: Label 'Bath', MaxLength = 30, Locked = true; + BromleyLbl: Label 'Bromley', MaxLength = 30, Locked = true; + BristolLbl: Label 'Bristol', MaxLength = 30, Locked = true; + CambridgeLbl: Label 'Cambridge', MaxLength = 30, Locked = true; + CardiffLbl: Label 'Cardiff', MaxLength = 30, Locked = true; + HytheLbl: Label 'Hythe', MaxLength = 30, Locked = true; + CoventryLbl: Label 'Coventry', MaxLength = 30, Locked = true; + SidcupLbl: Label 'Sidcup', MaxLength = 30, Locked = true; + DudleyLbl: Label 'Dudley', MaxLength = 30, Locked = true; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30, Locked = true; + GloucesterLbl: Label 'Gloucester', MaxLength = 30, Locked = true; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30, Locked = true; + GuildfordLbl: Label 'Guildford', MaxLength = 30, Locked = true; + RiponLbl: Label 'Ripon', MaxLength = 30, Locked = true; + TringLbl: Label 'Tring', MaxLength = 30, Locked = true; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30, Locked = true; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30, Locked = true; + LeicesterLbl: Label 'Leicester', MaxLength = 30, Locked = true; + RhylLbl: Label 'Rhyl', MaxLength = 30, Locked = true; + LincolnLbl: Label 'Lincoln', MaxLength = 30, Locked = true; + LutonLbl: Label 'Luton', MaxLength = 30, Locked = true; + ManchesterLbl: Label 'Manchester', MaxLength = 30, Locked = true; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30, Locked = true; + BletchleyLbl: Label 'Bletchley', MaxLength = 30, Locked = true; + BedfordLbl: Label 'Bedford', MaxLength = 30, Locked = true; + NewcastleLbl: Label 'Newcastle', MaxLength = 30, Locked = true; + NewportLbl: Label 'Newport', MaxLength = 30, Locked = true; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30, Locked = true; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30, Locked = true; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30, Locked = true; + PlymouthLbl: Label 'Plymouth', MaxLength = 30, Locked = true; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30, Locked = true; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30, Locked = true; + SwanseaLbl: Label 'Swansea', MaxLength = 30, Locked = true; + StratfordLbl: Label 'Stratford', MaxLength = 30, Locked = true; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30, Locked = true; + NewquayLbl: Label 'Newquay', MaxLength = 30, Locked = true; + AshfordLbl: Label 'Ashford', MaxLength = 30, Locked = true; + BrixhamLbl: Label 'Brixham', MaxLength = 30, Locked = true; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30, Locked = true; + WatfordLbl: Label 'Watford', MaxLength = 30, Locked = true; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30, Locked = true; + ZagrebLbl: Label 'Zagreb', MaxLength = 30, Locked = true; + DubrovnikLbl: Label 'Dubrovnik', MaxLength = 30, Locked = true; + SplitLbl: Label 'Split', MaxLength = 30, Locked = true; + SibenikLbl: Label 'Sibenik', MaxLength = 30, Locked = true; + BjelovarLbl: Label 'Bjelovar', MaxLength = 30, Locked = true; + RovinjLbl: Label 'Rovinj', MaxLength = 30, Locked = true; + BudapestLbl: Label 'Budapest', MaxLength = 30, Locked = true; + EsztergomLbl: Label 'Esztergom', MaxLength = 30, Locked = true; + TarnaleleszLbl: Label 'Tarnalelesz', MaxLength = 30, Locked = true; + NoszvajLbl: Label 'Noszvaj', MaxLength = 30, Locked = true; + JakartaLbl: Label 'Jakarta', MaxLength = 30, Locked = true; + TangerangLbl: Label 'Tangerang', MaxLength = 30, Locked = true; + BandungLbl: Label 'Bandung', MaxLength = 30, Locked = true; + SurabayaLbl: Label 'Surabaya', MaxLength = 30, Locked = true; + DelhiLbl: Label 'Delhi', MaxLength = 30, Locked = true; + MumbaiLbl: Label 'Mumbai', MaxLength = 30, Locked = true; + NagpurLbl: Label 'Nagpur', MaxLength = 30, Locked = true; + BengaluruLbl: Label 'Bengaluru', MaxLength = 30, Locked = true; + ChennaiLbl: Label 'Chennai', MaxLength = 30, Locked = true; + KolkataLbl: Label 'Kolkata', MaxLength = 30, Locked = true; + ReykjavikLbl: Label 'Reykjavik', MaxLength = 30, Locked = true; + KopavogurLbl: Label 'Kopavogur', MaxLength = 30, Locked = true; + HafnafjordurLbl: Label 'Hafnafjordur', MaxLength = 30, Locked = true; + AkranesLbl: Label 'Akranes', MaxLength = 30, Locked = true; + ROMARMLbl: Label 'ROMA RM', MaxLength = 30, Locked = true; + TORINOTOLbl: Label 'TORINO TO', MaxLength = 30, Locked = true; + MILANOMILbl: Label 'MILANO MI', MaxLength = 30, Locked = true; + BOLZANOBZLbl: Label 'BOLZANO BZ', MaxLength = 30, Locked = true; + SANTAVENERANDAPSLbl: Label 'SANTA VENERANDA PS', MaxLength = 30, Locked = true; + PESCINAAQLbl: Label 'PESCINA AQ', MaxLength = 30, Locked = true; + NairobiLbl: Label 'Nairobi', MaxLength = 30, Locked = true; + KairiLbl: Label 'Kairi', MaxLength = 30, Locked = true; + AdungosiLbl: Label 'Adungosi', MaxLength = 30, Locked = true; + MarsabitLbl: Label 'Marsabit', MaxLength = 30, Locked = true; + MombasaLbl: Label 'Mombasa', MaxLength = 30, Locked = true; + MalindiLbl: Label 'Malindi', MaxLength = 30, Locked = true; + VilniusLbl: Label 'Vilnius', MaxLength = 30, Locked = true; + KaunasLbl: Label 'Kaunas', MaxLength = 30, Locked = true; + RudiskesLbl: Label 'Rudiskes', MaxLength = 30, Locked = true; + KlaipedaLbl: Label 'Klaipeda', MaxLength = 30, Locked = true; + RigaLbl: Label 'Riga', MaxLength = 30, Locked = true; + DundagaLbl: Label 'Dundaga', MaxLength = 30, Locked = true; + BauskaLbl: Label 'Bauska', MaxLength = 30, Locked = true; + OgreLbl: Label 'Ogre', MaxLength = 30, Locked = true; + KokneseLbl: Label 'Koknese', MaxLength = 30, Locked = true; + AGDALRABATLbl: Label 'AGDAL-RABAT', MaxLength = 30, Locked = true; + RIADRABATLbl: Label 'RIAD-RABAT', MaxLength = 30, Locked = true; + TEMARALbl: Label 'TEMARA', MaxLength = 30, Locked = true; + CASABLANCALbl: Label 'CASABLANCA', MaxLength = 30, Locked = true; + MOHAMMEDIALbl: Label 'MOHAMMEDIA', MaxLength = 30, Locked = true; + KASBAHTANGERLbl: Label 'KASBAH TANGER', MaxLength = 30, Locked = true; + MexicoCityDFLbl: Label 'Mexico City, DF', MaxLength = 30, Locked = true; + LeonGuanajuatoLbl: Label 'Leon, Guanajuato', MaxLength = 30, Locked = true; + MonterreyNuevoLeonLbl: Label 'Monterrey, Nuevo Leon', MaxLength = 30, Locked = true; + SanLuisPotosiSanLuisLbl: Label 'San Luis Potosi, San Luis', MaxLength = 30, Locked = true; + MazatlanSinaloaLbl: Label 'Mazatlan, Sinaloa', MaxLength = 30, Locked = true; + PELABUHANKLANGSelangorLbl: Label 'PELABUHAN KLANG, Selangor', MaxLength = 30, Locked = true; + PETALINGJAYASelangorLbl: Label 'PETALING JAYA, Selangor', MaxLength = 30, Locked = true; + AMPANGKualaLumpurLbl: Label 'AMPANG, Kuala Lumpur', MaxLength = 30, Locked = true; + KUALALUMPURLbl: Label 'KUALA LUMPUR', MaxLength = 30, Locked = true; + KOTAKINABALUSabahLbl: Label 'KOTA KINABALU, Sabah', MaxLength = 30, Locked = true; + KUCHINGSarawakLbl: Label 'KUCHING, Sarawak', MaxLength = 30, Locked = true; + MaputoLbl: Label 'Maputo', MaxLength = 30, Locked = true; + BENINEdostateLbl: Label 'BENIN, Edo state', MaxLength = 30, Locked = true; + ABUJALbl: Label 'ABUJA', MaxLength = 30, Locked = true; + JOSPlateaustateLbl: Label 'JOS, Plateau state', MaxLength = 30, Locked = true; + GHOHPlateaustateLbl: Label 'GHOH, Plateau state', MaxLength = 30, Locked = true; + AmsterdamLbl: Label 'Amsterdam', MaxLength = 30, Locked = true; + ZaandamLbl: Label 'Zaandam', MaxLength = 30, Locked = true; + WaalwijkLbl: Label 'Waalwijk', MaxLength = 30, Locked = true; + ArnhemLbl: Label 'Arnhem', MaxLength = 30, Locked = true; + ZutphenLbl: Label 'Zutphen', MaxLength = 30, Locked = true; + ApeldoornLbl: Label 'Apeldoorn', MaxLength = 30, Locked = true; + AucklandLbl: Label 'Auckland', MaxLength = 30, Locked = true; + WoodvilleLbl: Label 'Woodville', MaxLength = 30, Locked = true; + DannevirkeLbl: Label 'Dannevirke', MaxLength = 30, Locked = true; + WellingtonLbl: Label 'Wellington', MaxLength = 30, Locked = true; + HokitikaLbl: Label 'Hokitika', MaxLength = 30, Locked = true; + ChristchurchLbl: Label 'Christchurch', MaxLength = 30, Locked = true; + ManilaLbl: Label 'Manila', MaxLength = 30, Locked = true; + SantaCruzManilaLbl: Label 'Santa Cruz, Manila', MaxLength = 30, Locked = true; + TondoManilaLbl: Label 'Tondo, Manila', MaxLength = 30, Locked = true; + CapriQuezonCityLbl: Label 'Capri, Quezon City', MaxLength = 30, Locked = true; + ValenzuelaLbl: Label 'Valenzuela', MaxLength = 30, Locked = true; + ZamboangaCityLbl: Label 'Zamboanga City', MaxLength = 30, Locked = true; + WarszawaLbl: Label 'Warszawa', MaxLength = 30, Locked = true; + KorszeLbl: Label 'Korsze', MaxLength = 30, Locked = true; + OrnetaLbl: Label 'Orneta', MaxLength = 30, Locked = true; + BialystokLbl: Label 'Bialystok', MaxLength = 30, Locked = true; + OpoleLbl: Label 'Opole', MaxLength = 30, Locked = true; + LubinLbl: Label 'Lubin', MaxLength = 30, Locked = true; + LISBOALbl: Label 'LISBOA', MaxLength = 30, Locked = true; + COIMBRALbl: Label 'COIMBRA', MaxLength = 30, Locked = true; + PORTOLbl: Label 'PORTO', MaxLength = 30, Locked = true; + FUNCHALLbl: Label 'FUNCHAL', MaxLength = 30, Locked = true; + PONTADELGADALbl: Label 'PONTA DELGADA', MaxLength = 30, Locked = true; + BucurestiLbl: Label 'Bucuresti', MaxLength = 30, Locked = true; + CraiovaLbl: Label 'Craiova', MaxLength = 30, Locked = true; + BrasovLbl: Label 'Brasov', MaxLength = 30, Locked = true; + SibiuLbl: Label 'Sibiu', MaxLength = 30, Locked = true; + BeogradLbl: Label 'Beograd', MaxLength = 30, Locked = true; + BorLbl: Label 'Bor', MaxLength = 30, Locked = true; + NoviSadLbl: Label 'Novi Sad', MaxLength = 30, Locked = true; + SuboticaLbl: Label 'Subotica', MaxLength = 30, Locked = true; + KragujevacLbl: Label 'Kragujevac', MaxLength = 30, Locked = true; + MoskvaLbl: Label 'Moskva', MaxLength = 30, Locked = true; + SanktPetersburgLbl: Label 'Sankt Petersburg', MaxLength = 30, Locked = true; + SamaraLbl: Label 'Samara', MaxLength = 30, Locked = true; + NizhnyNovgorodLbl: Label 'Nizhny Novgorod', MaxLength = 30, Locked = true; + VladivostokLbl: Label 'Vladivostok', MaxLength = 30, Locked = true; + StockholmLbl: Label 'Stockholm', MaxLength = 30, Locked = true; + HalmstadLbl: Label 'Halmstad', MaxLength = 30, Locked = true; + GoteborgLbl: Label 'Goteborg', MaxLength = 30, Locked = true; + KinnaredLbl: Label 'Kinnared', MaxLength = 30, Locked = true; + JonkobingLbl: Label 'Jonkobing', MaxLength = 30, Locked = true; + NorrkobingLbl: Label 'Norrkobing', MaxLength = 30, Locked = true; + SundsvallLbl: Label 'Sundsvall', MaxLength = 30, Locked = true; + SingaporeLbl: Label 'Singapore', MaxLength = 30, Locked = true; + LjubljanaLbl: Label 'Ljubljana', MaxLength = 30, Locked = true; + MariborLbl: Label 'Maribor', MaxLength = 30, Locked = true; + GrobelnoLbl: Label 'Grobelno', MaxLength = 30, Locked = true; + KranjLbl: Label 'Kranj', MaxLength = 30, Locked = true; + KoperLbl: Label 'Koper', MaxLength = 30, Locked = true; + BlancaLbl: Label 'Blanca', MaxLength = 30, Locked = true; + DolnyKubinLbl: Label 'Dolny Kubin', MaxLength = 30, Locked = true; + BetliarLbl: Label 'Betliar', MaxLength = 30, Locked = true; + BratislavaLbl: Label 'Bratislava', MaxLength = 30, Locked = true; + SenicaLbl: Label 'Senica', MaxLength = 30, Locked = true; + KalinovoLbl: Label 'Kalinovo', MaxLength = 30, Locked = true; + MbabaneLbl: Label 'Mbabane', MaxLength = 30, Locked = true; + SwaziPlazaLbl: Label 'Swazi Plaza', MaxLength = 30, Locked = true; + PiggsPeakLbl: Label 'Piggs Peak', MaxLength = 30, Locked = true; + ManziniLbl: Label 'Manzini', MaxLength = 30, Locked = true; + SitekiLbl: Label 'Siteki', MaxLength = 30, Locked = true; + NhlanganoLbl: Label 'Nhlangano', MaxLength = 30, Locked = true; + BangNaBangkokLbl: Label 'Bang Na, Bangkok', MaxLength = 30, Locked = true; + BangRakBangkokLbl: Label 'Bang Rak, Bangkok', MaxLength = 30, Locked = true; + KhlongSamwaBangkokLbl: Label 'Khlong Samwa, Bangkok', MaxLength = 30, Locked = true; + WatSingChaiNatLbl: Label 'Wat Sing, Chai Nat', MaxLength = 30, Locked = true; + NonDindaengBuriRamLbl: Label 'Non Dindaeng, Buri Ram', MaxLength = 30, Locked = true; + SanPaTongChiangMaiLbl: Label 'San Pa Tong, Chiang Mai', MaxLength = 30, Locked = true; + TunisBelvedereLbl: Label 'Tunis Belvedere', MaxLength = 30, Locked = true; + TunisLbl: Label 'Tunis', MaxLength = 30, Locked = true; + ZaghouanLbl: Label 'Zaghouan', MaxLength = 30, Locked = true; + KairouanLbl: Label 'Kairouan', MaxLength = 30, Locked = true; + AinDrahamLbl: Label 'Ain Draham', MaxLength = 30, Locked = true; + BouSalemLbl: Label 'Bou Salem', MaxLength = 30, Locked = true; + AnkaraLbl: Label 'Ankara', MaxLength = 30, Locked = true; + KonyaLbl: Label 'Konya', MaxLength = 30, Locked = true; + ManisaLbl: Label 'Manisa', MaxLength = 30, Locked = true; + IstanbulLbl: Label 'Istanbul', MaxLength = 30, Locked = true; + KartalIstanbulLbl: Label 'Kartal-Istanbul', MaxLength = 30, Locked = true; + TuzlaIstanbulLbl: Label 'Tuzla-Istanbul', MaxLength = 30, Locked = true; + DarEsSalaamLbl: Label 'Dar Es Salaam', MaxLength = 30, Locked = true; + EntebbeLbl: Label 'Entebbe', MaxLength = 30, Locked = true; + KampalaLbl: Label 'Kampala', MaxLength = 30, Locked = true; + MiamiLbl: Label 'Miami', MaxLength = 30, Locked = true; + AtlantaLbl: Label 'Atlanta', MaxLength = 30, Locked = true; + ChicagoLbl: Label 'Chicago', MaxLength = 30, Locked = true; + NewYorkLbl: Label 'New York', MaxLength = 30, Locked = true; + ColombiaLbl: Label 'Colombia', MaxLength = 30, Locked = true; + PretoriaLbl: Label 'Pretoria', MaxLength = 30, Locked = true; + PietersburgLbl: Label 'Pietersburg', MaxLength = 30, Locked = true; + JohannesburgLbl: Label 'Johannesburg', MaxLength = 30, Locked = true; + CarletonvilleLbl: Label 'Carletonville', MaxLength = 30, Locked = true; + DurbanLbl: Label 'Durban', MaxLength = 30, Locked = true; + RichardsBayLbl: Label 'Richards Bay', MaxLength = 30, Locked = true; + PortElizabethLbl: Label 'Port Elizabeth', MaxLength = 30, Locked = true; + CapeTownLbl: Label 'Cape Town', MaxLength = 30, Locked = true; + BloemfonteinLbl: Label 'Bloemfontein', MaxLength = 30, Locked = true; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/HR/1.Setup Data/CreateEmployeeNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/HR/1.Setup Data/CreateEmployeeNO.Codeunit.al new file mode 100644 index 0000000000..e6a1fab604 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/HR/1.Setup Data/CreateEmployeeNO.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 10666 "Create Employee NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployee(CreateEmployee.ManagingDirector()); + UpdateEmployee(CreateEmployee.SalesManager()); + UpdateEmployee(CreateEmployee.Designer()); + UpdateEmployee(CreateEmployee.ProductionAssistant()); + UpdateEmployee(CreateEmployee.ProductionManager()); + UpdateEmployee(CreateEmployee.Secretary()); + UpdateEmployee(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployee(EmployeeNo: Code[20]) + var + Employee: Record Employee; + CreateEmployee: Codeunit "Create Employee"; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate("Emplymt. Contract Code", ''); + Employee.Validate("Statistics Group Code", ''); + Employee.Validate("Union Code", ''); + if EmployeeNo = CreateEmployee.InventoryManager() then + Employee.Validate("Job Title", ProductionAssistantLbl); + Employee.Validate(Initials, GetInitials(Employee)); + Employee.Modify(true); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemChargeNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemChargeNO.Codeunit.al new file mode 100644 index 0000000000..8a11c92c94 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemChargeNO.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 10717 "Create Item Charge NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItemCharge(var Rec: Record "Item Charge") + var + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + CreateItemCharge: Codeunit "Create Item Charge"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), CreateItemCharge.PurchAllowance(), CreateItemCharge.PurchFreight(), CreateItemCharge.PurchRestock(), CreateItemCharge.SaleAllowance(), CreateItemCharge.SaleFreight(), CreateItemCharge.SaleRestock(): + Rec.Validate("VAT Prod. Posting Group", CreateVatPostingGroupsNO.High()); + end; + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemNO.Codeunit.al new file mode 100644 index 0000000000..044d7e295d --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemNO.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 10665 "Create Item NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 6329, 4937, CreateVatPostingGroupsNO.High()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 1219, 950, CreateVatPostingGroupsNO.High()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 2742, 2139, CreateVatPostingGroupsNO.High()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 1202, 937, CreateVatPostingGroupsNO.High()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 4097, 3196, CreateVatPostingGroupsNO.High()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 1194, 0, CreateVatPostingGroupsNO.High()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 347, 271, CreateVatPostingGroupsNO.High()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 1479, 0, CreateVatPostingGroupsNO.High()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 1219, 950, CreateVatPostingGroupsNO.High()); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 796, 0, CreateVatPostingGroupsNO.High()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 1219, 950, CreateVatPostingGroupsNO.High()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 1219, 950, CreateVatPostingGroupsNO.High()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 1479, 0, CreateVatPostingGroupsNO.High()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 1202, 937, CreateVatPostingGroupsNO.High()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 2162, 0, CreateVatPostingGroupsNO.High()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 1202, 937, CreateVatPostingGroupsNO.High()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 1202, 937, CreateVatPostingGroupsNO.High()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 1219, 950, CreateVatPostingGroupsNO.High()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 8837, 6892, CreateVatPostingGroupsNO.High()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 1202, 937, CreateVatPostingGroupsNO.High()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VATProdPostingGroupCode: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VATProdPostingGroupCode); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemTemplateNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemTemplateNO.Codeunit.al new file mode 100644 index 0000000000..0ce270906a --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateItemTemplateNO.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 10718 "Create Item Template NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVatPostingGrpNO: Codeunit "Create Vat Posting Groups NO"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateVatPostingGrpNO.High()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateVatPostingGrpNO.High()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateLocationNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateLocationNO.Codeunit.al new file mode 100644 index 0000000000..72cb5ac80d --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Inventory/2.Master Data/CreateLocationNO.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 10700 "Create Location NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMainLocation(); + end; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocaion: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocaion.EastLocation(): + ValidateRecordFields(Rec, SKILbl, PostCode1400Lbl); + CreateLocaion.WestLocation(): + ValidateRecordFields(Rec, ÅLESUNDLbl, PostCode6001Lbl); + end; + end; + + local procedure UpdateMainLocation() + var + Location: Record Location; + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Get(CreateLocaion.MainLocation()); + Location.Validate(City, CityLbl); + Location.Validate("Post Code", PostCodeLbl); + Location."Country/Region Code" := CreateCountryRegion.GB(); + Location.Modify(true); + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CreateCountryRegion.GB(); + end; + + var + CityLbl: Label 'TROMSØ', MaxLength = 30, Locked = true; + PostCodeLbl: Label '9001', MaxLength = 20; + PostCode1400Lbl: Label '1400', MaxLength = 20; + PostCode6001Lbl: Label '6001', MaxLength = 20; + SKILbl: Label 'SKI', MaxLength = 30, Locked = true; + ÅLESUNDLbl: Label 'ÅLESUND', MaxLength = 30, Locked = true; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueNO.Codeunit.al new file mode 100644 index 0000000000..b53bd0a881 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueNO.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 10703 "Create Purch. Dim. Value NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorNO.Codeunit.al new file mode 100644 index 0000000000..e3d647526b --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorNO.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 10711 "Create Vendor NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreatePostingGroupsNO: Codeunit "Create Posting Groups NO"; + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, AtlantaCityLbl, PostCodeUSGA31772Lbl, ExportFabrikamVatRegNoLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.VendDom(), CreateVatPostingGroupsNO.VENDHIGH()); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, OsloCityLbl, PostCode1Lbl, DomesticFirstUpVatRegNoLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.VendDom(), CreateVatPostingGroupsNO.VENDHIGH()); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, EningenCityLbl, PostCodeDE72800Lbl, EUGraphicDesignVatRegNoLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.VendDom(), CreateVatPostingGroupsNO.VENDHIGH()); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, BodoCityLbl, PostCode8001Lbl, DomesticWorldImporterVatRegNoLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.VendDom(), CreateVatPostingGroupsNO.VENDHIGH()); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, OsloCityLbl, PostCode1001Lbl, DomesticNodPublisherVatRegNoLbl, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.VendDom(), CreateVatPostingGroupsNO.VENDHIGH()); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; PostCode: Code[20]; VatRegNo: Text[20]; VendorPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate("Vendor Posting Group", VendorPostingGroup); + Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + end; + + var + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30, Locked = true; + OsloCityLbl: Label 'OSLO', MaxLength = 30, Locked = true; + EningenCityLbl: Label 'Eningen', MaxLength = 30, Locked = true; + BodoCityLbl: Label 'BODØ', MaxLength = 30, Locked = true; + PostCode1Lbl: Label '0001', MaxLength = 20; + PostCode8001Lbl: Label '8001', MaxLength = 20; + PostCode1001Lbl: Label '1001', MaxLength = 20; + PostCodeUSGA31772Lbl: Label 'US-GA 31772', MaxLength = 20; + PostCodeDE72800Lbl: Label 'DE-72800', MaxLength = 20; + ExportFabrikamVatRegNoLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVatRegNoLbl: Label 'NO 274 863 274', MaxLength = 20; + EUGraphicDesignVatRegNoLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVatRegNoLbl: Label 'NO 197 548 769', MaxLength = 20; + DomesticNodPublisherVatRegNoLbl: Label 'NO 295 267 495', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorPostingGroupNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorPostingGroupNO.Codeunit.al new file mode 100644 index 0000000000..d546d9bae5 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorPostingGroupNO.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 10715 "Create Vendor Posting Group NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGroup(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateVendorPostingGroup.Domestic(), + CreateVendorPostingGroup.EU(), + CreateVendorPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccount.DeliveryExpensesRetail(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentToleranceGranted()); + end; + end; + + local procedure ValidateRecordFields(var VendorPostingGroup: Record "Vendor Posting Group"; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]) + begin + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateNO.Codeunit.al new file mode 100644 index 0000000000..bce72cb8d7 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateNO.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 10724 "Create Vendor Template NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorTemplate(var Rec: Record "Vendor Templ.") + var + CreateVendorTemplate: Codeunit "Create Vendor Template"; + CreatePostingGroupNO: Codeunit "Create Posting Groups NO"; + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + begin + case Rec.Code of + CreateVendorTemplate.VendorCompany(), + CreateVendorTemplate.VendorPerson(): + ValidateRecordFields(Rec, CreatePostingGroupNO.VendDom(), CreateVatPostingGroupsNO.VENDHIGH()); + CreateVendorTemplate.VendorEUCompany(): + ValidateRecordFields(Rec, CreatePostingGroupNO.VendFor(), CreateVatPostingGroupsNO.VENDHIGH()); + end; + end; + + local procedure ValidateRecordFields(var VendorTempl: Record "Vendor Templ."; GenBusPostinGGroup: Code[20]; VATBusPostinGGroup: Code[20]) + begin + VendorTempl.Validate("Gen. Bus. Posting Group", GenBusPostinGGroup); + VendorTempl.Validate("VAT Bus. Posting Group", VATBusPostinGGroup); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelNO.Codeunit.al new file mode 100644 index 0000000000..c09d9f205a --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelNO.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 10710 "Create Reminder Level NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + ValidateRecordFields(Rec, 49); + if Rec."No." = 2 then + ValidateRecordFields(Rec, 98); + if Rec."No." = 3 then + ValidateRecordFields(Rec, 146); + end; + end; + end; + + procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFee: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFee); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/1.Setup Data/CreateSalesRecSetupNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/1.Setup Data/CreateSalesRecSetupNO.Codeunit.al new file mode 100644 index 0000000000..f0c0e05198 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/1.Setup Data/CreateSalesRecSetupNO.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 10719 "Create Sales Rec. Setup NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + begin + UpdateSaleReceivableSetup(CreateVatPostingGroupsNO.CUSTHIGH()); + end; + + local procedure UpdateSaleReceivableSetup(VATBusPostingGrPrice: Code[20]) + var + SalesReceivableSetup: Record "Sales & Receivables Setup"; + begin + SalesReceivableSetup.Get(); + SalesReceivableSetup.Validate("VAT Bus. Posting Gr. (Price)", VATBusPostingGrPrice); + SalesReceivableSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustPostingGrpNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustPostingGrpNO.Codeunit.al new file mode 100644 index 0000000000..d965e3d73e --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustPostingGrpNO.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 10713 "Create Cust. Posting Grp NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerPostingGrp(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGrp: Codeunit "Create Customer Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCustomerPostingGrp.Domestic(), + CreateCustomerPostingGrp.Foreign(): + ValidateCustomerPostingGroup(Rec, CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PaymentToleranceReceived()); + end; + end; + + local procedure ValidateCustomerPostingGroup(var CustomerPostingGroup: Record "Customer Posting Group"; PaymentDiscCreditAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustomerNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustomerNO.Codeunit.al new file mode 100644 index 0000000000..fdd42c55b8 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustomerNO.Codeunit.al @@ -0,0 +1,58 @@ +codeunit 10709 "Create Customer NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateLanguage: Codeunit "Create Language"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreatePostingGroupsNO: Codeunit "Create Posting Groups NO"; + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, OsloCityLbl, PostCode0001Lbl, DomesticAdatumCorporationVatRegNoLbl, CreateLanguage.NOR(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.CustDom(), CreateVatPostingGroupsNO.CUSTHIGH()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, SandvikaCityLbl, PostCode1300JWLbl, DomesticTreyResearchVatRgeNoLbl, CreateLanguage.NOR(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.CustDom(), CreateVatPostingGroupsNO.CUSTHIGH()); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, MiamiCityLbl, PostCodeUSFL37125Lbl, ExportSchoolofArtVatRegNoLbl, CreateLanguage.ENU(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.CustDom(), CreateVatPostingGroupsNO.CUSTHIGH()); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, MunchenCityLbl, PostCodeDE80807Lbl, EUAlpineSkiHouseVatRegNoLbl, CreateLanguage.DEU(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.CustDom(), CreateVatPostingGroupsNO.CUSTHIGH()); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, ALESUNDCityLbl, PostCode6001Lbl, DomesticRelecloudVatRegNoLbl, CreateLanguage.NOR(), CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroupsNO.CustDom(), CreateVatPostingGroupsNO.CUSTHIGH()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; City: Text[30]; PostCode: Code[20]; VatRegNo: Text[20]; LanguageCode: Code[10]; CustomerPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]) + begin + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer."VAT Registration No." := VatRegNo; + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Customer Posting Group", CustomerPostingGroup); + Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Customer.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + end; + + var + OsloCityLbl: Label 'OSLO', MaxLength = 30, Locked = true; + SandvikaCityLbl: Label 'SANDVIKA', MaxLength = 30, Locked = true; + MiamiCityLbl: Label 'Miami', MaxLength = 30, Locked = true; + MunchenCityLbl: Label 'Munchen', MaxLength = 30, Locked = true; + ALESUNDCityLbl: Label 'ÅLESUND', MaxLength = 30, Locked = true; + DomesticAdatumCorporationVatRegNoLbl: Label 'NO 789 456 275', MaxLength = 20; + DomesticTreyResearchVatRgeNoLbl: Label 'NO 254 687 456', MaxLength = 20; + DomesticRelecloudVatRegNoLbl: Label 'NO 582 048 932', MaxLength = 20; + ExportSchoolofArtVatRegNoLbl: Label 'NO 733 495 782', MaxLength = 20; + EUAlpineSkiHouseVatRegNoLbl: Label 'NO 533 435 785', MaxLength = 20; + PostCode0001Lbl: Label '0001', MaxLength = 20; + PostCode1300JWLbl: Label '1300', MaxLength = 20; + PostCode6001Lbl: Label '6001', MaxLength = 20; + PostCodeUSFL37125Lbl: Label 'US-FL 37125', MaxLength = 20; + PostCodeDE80807Lbl: Label 'DE-80807', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateNO.Codeunit.al new file mode 100644 index 0000000000..4f6cb213d2 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateNO.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 10723 "Create Customer Template NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerTemplate(var Rec: Record "Customer Templ.") + var + CreateCustomerTemplate: Codeunit "Create Customer Template"; + CreatePostingGroupNO: Codeunit "Create Posting Groups NO"; + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + begin + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(), + CreateCustomerTemplate.CustomerPerson(): + ValidateRecordFields(Rec, CreateCustomerPostingGroup.Domestic(), CreatePostingGroupNO.VendDom(), CreateVatPostingGroupsNO.VENDHIGH()); + CreateCustomerTemplate.CustomerEUCompany(): + ValidateRecordFields(Rec, CreateCustomerPostingGroup.Foreign(), CreatePostingGroupNO.VendFor(), CreateVatPostingGroupsNO.VENDHIGH()); + end; + end; + + local procedure ValidateRecordFields(var CustomerTempl: Record "Customer Templ."; CustomerPostingGroup: Code[20]; GenBusPostinGGroup: Code[20]; VATBusPostinGGroup: Code[20]) + begin + CustomerTempl.Validate("Customer Posting Group", CustomerPostingGroup); + CustomerTempl.Validate("Gen. Bus. Posting Group", GenBusPostinGGroup); + CustomerTempl.Validate("VAT Bus. Posting Group", VATBusPostinGGroup); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueNO.Codeunit.al new file mode 100644 index 0000000000..80ba596a9c --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueNO.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 10702 "Create Sales Dim Value NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressNO.Codeunit.al new file mode 100644 index 0000000000..4b554543bb --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressNO.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 10720 "Create Ship-to Address NO" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + CreateCustomer: Codeunit "Create Customer"; + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + begin + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + CreateShiptoAddress.Cheltenham(): + ValidateShiptoAddress(Rec, OsloCityLbl, PostCode0102Lbl); + CreateShiptoAddress.London(): + ValidateShiptoAddress(Rec, OsloCityLbl, PostCode0001Lbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + CreateShiptoAddress.Fleet(): + ValidateShiptoAddress(Rec, VoldaCityLbl, PostCode6100Lbl); + CreateShiptoAddress.TWYCross(): + ValidateShiptoAddress(Rec, OsloCityLbl, PostCode1001Lbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + var + OsloCityLbl: Label 'OSLO', MaxLength = 30, Locked = true; + VoldaCityLbl: Label 'VOLDA', MaxLength = 30, Locked = true; + PostCode0102Lbl: Label '0102', MaxLength = 20; + PostCode0001Lbl: Label '0001', MaxLength = 20; + PostCode6100Lbl: Label '6100', MaxLength = 20; + PostCode1001Lbl: Label '1001', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/ContosoPostCodeNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/ContosoPostCodeNO.Codeunit.al new file mode 100644 index 0000000000..cec47acb8a --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/ContosoPostCodeNO.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 10667 "Contoso Post Code NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/ContosoPostingSetupNO.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/ContosoPostingSetupNO.Codeunit.al new file mode 100644 index 0000000000..a70912fdac --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/ContosoPostingSetupNO.Codeunit.al @@ -0,0 +1,87 @@ +codeunit 10722 "Contoso Posting Setup NO" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "VAT Posting Setup" = rim, + tabledata "VAT Reporting Code" = rim; + + var + VATSetupDescTok: Label 'Setup for %1 / %2', MaxLength = 100, Comment = '%1 is the VAT Bus. Posting Group Code, %2 is the VAT Prod. Posting Group Code'; + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVatReportingCode(Code: Code[20]; Description: Text[250]; GenPostingType: Option; TradeSettlement2017BoxNo: Option; ReverseChargeReportBoxNo: Option) + var + VATReportingCode: Record "VAT Reporting Code"; + Exists: Boolean; + begin + if VATReportingCode.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATReportingCode.Validate(Code, Code); + VATReportingCode.Validate(Description, Description); + VATReportingCode.Validate("Gen. Posting Type", GenPostingType); + VATReportingCode.Validate("Trade Settlement 2017 Box No.", TradeSettlement2017BoxNo); + VATReportingCode.Validate("Reverse Charge Report Box No.", ReverseChargeReportBoxNo); + + if Exists then + VATReportingCode.Modify(true) + else + VATReportingCode.Insert(true); + end; + + procedure InsertVATPostingSetup(VATBusinessGroupCode: Code[20]; VATProductGroupCode: Code[20]; SalesVATAccountNo: Code[20]; PurchaseVATAccountNo: Code[20]; VATIdentifier: Code[20]; VATPercentage: Decimal; VATCalculationType: Enum "Tax Calculation Type"; TaxCategory: Code[10]; ReverseChargeVATUnrealAcc: Code[20]; VATClauseCode: Code[20]; SalesVATReportingCode: Code[20]; PurchaseVATReportingCode: Code[20]; VATNumber: Code[20]) + var + VATPostingSetup: Record "VAT Posting Setup"; + Exists: Boolean; + begin + if VATPostingSetup.Get(VATBusinessGroupCode, VATProductGroupCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATPostingSetup.Validate("VAT Bus. Posting Group", VATBusinessGroupCode); + VATPostingSetup.Validate("VAT Prod. Posting Group", VATProductGroupCode); + VATPostingSetup.Validate(Description, StrSubstNo(VATSetupDescTok, VATBusinessGroupCode, VATProductGroupCode)); + if SalesVATReportingCode <> '' then + VATPostingSetup.Validate("Sale VAT Reporting Code", SalesVATReportingCode); + if PurchaseVATReportingCode <> '' then + VATPostingSetup.Validate("Purch. VAT Reporting Code", PurchaseVATReportingCode); + if VATNumber <> '' then + VATPostingSetup.Validate("VAT Number", VATNumber); + + if Exists then begin + if VATPostingSetup."VAT Calculation Type" <> VATCalculationType then + VATPostingSetup.Validate("VAT Calculation Type", VATCalculationType); + end else + VATPostingSetup.Validate("VAT Calculation Type", VATCalculationType); + + if not (VATPostingSetup."VAT Calculation Type" = Enum::"Tax Calculation Type"::"Sales Tax") then begin + VATPostingSetup.Validate("Sales VAT Account", SalesVATAccountNo); + VATPostingSetup.Validate("Purchase VAT Account", PurchaseVATAccountNo); + VATPostingSetup.Validate("VAT Identifier", VATIdentifier); + VATPostingSetup.Validate("VAT %", VATPercentage); + end; + if VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" then + VATPostingSetup.Validate("Reverse Chrg. VAT Acc.", ReverseChargeVATUnrealAcc); + + VATPostingSetup.Validate("Tax Category", TaxCategory); + VATPostingSetup.Validate("VAT Clause Code", VATClauseCode); + + if Exists then + VATPostingSetup.Modify(true) + else + VATPostingSetup.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/NOContosoLocalization.Codeunit.al b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/NOContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..d817997ad4 --- /dev/null +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/Demo Helper/Contoso Helper/NOContosoLocalization.Codeunit.al @@ -0,0 +1,207 @@ +codeunit 10669 "NO Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Post Code NO"); + Codeunit.Run(Codeunit::"Create Company Information NO"); + Codeunit.Run(Codeunit::"Create Vat Posting Groups NO"); + Codeunit.Run(Codeunit::"Create Posting Groups NO"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupsNO: Codeunit "Create Vat Posting Groups NO"; + CreatePostingGroupsNO: Codeunit "Create Posting Groups NO"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create General Ledger Setup NO"); + Enum::"Contoso Demo Data Level"::"Master Data": + begin + CreateVatPostingGroupsNO.InsertVATPostingSetup(); + CreatePostingGroupsNO.UpdateGenPostingSetup(); + Codeunit.Run(Codeunit::"Create Currency Ex. Rate NO"); + Codeunit.Run(Codeunit::"Create VAT Setup Post Grp. NO"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line NO"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Sales Rec. Setup NO"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Item Template NO"); + Codeunit.Run(Codeunit::"Create Location NO"); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateItemNO: Codeunit "Create Item NO"; + CreateCurrencyNO: Codeunit "Create Currency NO"; + CreateCurrencyExchRateNO: Codeunit "Create Currency Ex. Rate NO"; + CreatePurchDimValueNO: Codeunit "Create Purch. Dim. Value NO"; + CreateSalesDimValueNO: Codeunit "Create Sales Dim Value NO"; + CreateGenJournalLineNO: Codeunit "Create Gen. Journal Line NO"; + CreateLocationNO: Codeunit "Create Location NO"; + CreateResourceNO: Codeunit "Create Resource NO"; + CreateCustomerNO: Codeunit "Create Customer NO"; + CreateReminderLevelNO: Codeunit "Create Reminder Level NO"; + CreateVendorNO: Codeunit "Create Vendor NO"; + CreateCustPostingGrpNO: Codeunit "Create Cust. Posting Grp NO"; + CreateVendorPostingGroupNO: Codeunit "Create Vendor Posting Group NO"; + CreateShiptoAddressNO: Codeunit "Create Ship-to Address NO"; + CreateBankAccountNO: Codeunit "Create Bank Account NO"; + CreateItemChargeNO: Codeunit "Create Item Charge NO"; + CreateCustomerTemplateNO: Codeunit "Create Customer Template NO"; + CreateVendorTemplateNO: Codeunit "Create Vendor Template NO"; + CreateAccScheduleLineNO: Codeunit "Create Acc. Schedule Line NO"; + CreateFADepreciationBookNO: Codeunit "Create FA Depreciation Book NO"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateLocationNO); + BindSubscription(CreateItemNO); + BindSubscription(CreateItemChargeNO); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCurrencyNO); + BindSubscription(CreateCurrencyExchRateNO); + BindSubscription(CreateResourceNO); + BindSubscription(CreateAccScheduleLineNO); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreatePurchDimValueNO); + BindSubscription(CreateVendorNO); + BindSubscription(CreateVendorPostingGroupNO); + BindSubscription(CreateVendorTemplateNO); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateSalesDimValueNO); + BindSubscription(CreateCustomerNO); + BindSubscription(CreateReminderLevelNO); + BindSubscription(CreateCustPostingGrpNO); + BindSubscription(CreateShiptoAddressNO); + BindSubscription(CreateCustomerTemplateNO); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccountNO); + BindSubscription(CreateGenJournalLineNO); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateFADepreciationBookNO); + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateItemNO: Codeunit "Create Item NO"; + CreateCurrencyNO: Codeunit "Create Currency NO"; + CreateCurrencyExchRateNO: Codeunit "Create Currency Ex. Rate NO"; + CreatePurchDimValueNO: Codeunit "Create Purch. Dim. Value NO"; + CreateSalesDimValueNO: Codeunit "Create Sales Dim Value NO"; + CreateGenJournalLineNO: Codeunit "Create Gen. Journal Line NO"; + CreateLocationNO: Codeunit "Create Location NO"; + CreateResourceNO: Codeunit "Create Resource NO"; + CreateCustomerNO: Codeunit "Create Customer NO"; + CreateReminderLevelNO: Codeunit "Create Reminder Level NO"; + CreateVendorNO: Codeunit "Create Vendor NO"; + CreateCustPostingGrpNO: Codeunit "Create Cust. Posting Grp NO"; + CreateVendorPostingGroupNO: Codeunit "Create Vendor Posting Group NO"; + CreateShiptoAddressNO: Codeunit "Create Ship-to Address NO"; + CreateBankAccountNO: Codeunit "Create Bank Account NO"; + CreateItemChargeNO: Codeunit "Create Item Charge NO"; + CreateCustomerTemplateNO: Codeunit "Create Customer Template NO"; + CreateVendorTemplateNO: Codeunit "Create Vendor Template NO"; + CreateAccScheduleLineNO: Codeunit "Create Acc. Schedule Line NO"; + CreateFADepreciationBookNO: Codeunit "Create FA Depreciation Book NO"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateLocationNO); + UnBindSubscription(CreateItemNO); + UnbindSubscription(CreateItemChargeNO); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnBindSubscription(CreateCurrencyNO); + UnBindSubscription(CreateCurrencyExchRateNO); + UnbindSubscription(CreateResourceNO); + UnbindSubscription(CreateAccScheduleLineNO); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreatePurchDimValueNO); + UnbindSubscription(CreateVendorNO); + UnbindSubscription(CreateVendorPostingGroupNO); + UnbindSubscription(CreateVendorTemplateNO); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateSalesDimValueNO); + UnbindSubscription(CreateCustomerNO); + UnbindSubscription(CreateReminderLevelNO); + UnbindSubscription(CreateCustPostingGrpNO); + UnbindSubscription(CreateShiptoAddressNO); + UnbindSubscription(CreateCustomerTemplateNO); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccountNO); + UnbindSubscription(CreateGenJournalLineNO); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnbindSubscription(CreateFADepreciationBookNO); + end; + end; +} \ No newline at end of file diff --git a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/app.json b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/app.json index 42d8cd83e4..e9a5863f89 100644 --- a/Apps/NO/ContosoCoffeeDemoDatasetNO/app/app.json +++ b/Apps/NO/ContosoCoffeeDemoDatasetNO/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 10660, - "to": 10665 + "to": 10759 } ], "resourceExposurePolicy": { diff --git a/Apps/NO/NorwegianSAFT/app/src/Export Engine/GenerateSAFT13File.Codeunit.al b/Apps/NO/NorwegianSAFT/app/src/Export Engine/GenerateSAFT13File.Codeunit.al new file mode 100644 index 0000000000..53018e5177 --- /dev/null +++ b/Apps/NO/NorwegianSAFT/app/src/Export Engine/GenerateSAFT13File.Codeunit.al @@ -0,0 +1,1183 @@ +// ------------------------------------------------------------------------------------------------ +// 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.AuditFileExport; + +using Microsoft.Bank.BankAccount; +using Microsoft.Bank.Ledger; +using Microsoft.Finance.Currency; +using Microsoft.Finance.Dimension; +using Microsoft.Finance.GeneralLedger.Account; +using Microsoft.Finance.GeneralLedger.Ledger; +using Microsoft.Finance.GeneralLedger.Setup; +using Microsoft.Finance.VAT.Ledger; +using Microsoft.Finance.VAT.Reporting; +using Microsoft.Finance.VAT.Setup; +using Microsoft.Foundation.Address; +using Microsoft.Foundation.AuditCodes; +using Microsoft.Foundation.Company; +using Microsoft.Foundation.PaymentTerms; +using Microsoft.HumanResources.Employee; +using Microsoft.Purchases.Payables; +using Microsoft.Purchases.Vendor; +using Microsoft.Sales.Customer; +using Microsoft.Sales.Receivables; +using System.Reflection; + +codeunit 10692 "Generate SAF-T 1.3 File" +{ + TableNo = "SAF-T Export Line"; + trigger OnRun() + var + SAFTExportHeader: Record "SAF-T Export Header"; + GLEntry: Record "G/L Entry"; + begin + LockTable(); + Validate("Server Instance ID", ServiceInstanceId()); + Validate("Session ID", SessionId()); + Validate("Created Date/Time", 0DT); + Validate("No. Of Retries", 3); + Modify(); + Commit(); + + if GuiAllowed() then + Window.Open( + '#1#################################\\' + + '@2@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'); + SAFTExportHeader.Get(ID); + if "Master Data" then begin + ExportHeaderWithMasterFiles(SAFTExportHeader); + if GuiAllowed() then + Window.Close(); + FinalizeExport(Rec, SAFTExportHeader); + exit; + end; + ExportHeader(SAFTExportHeader); + GLEntry.SetCurrentKey("Document No.", "Posting Date"); + GLEntry.SetRange("Posting Date", "Starting Date", "Ending Date"); + ExportGeneralLedgerEntries(GLEntry, Rec); + if GuiAllowed() then + Window.Close(); + FinalizeExport(Rec, SAFTExportHeader); + end; + + var + GlobalSAFTSetup: Record "SAF-T Setup"; + GlobalCustomer: Record Customer; + GlobalVendor: Record Vendor; + GlobalCustomerPostingGroup: Record "Customer Posting Group"; + GlobalVendorPostingGroup: Record "Vendor Posting Group"; + GlobalCurrency: Record Currency; + SAFTXMLHelper: Codeunit "SAF-T XML Helper"; + Window: Dialog; + SAFTSetupGot: Boolean; + GeneratingHeaderTxt: Label 'Generating header...'; + ExportingGLAccountsTxt: Label 'Exporting g/l Accounts...'; + ExportingCustomersTxt: Label 'Exporting customers...'; + ExportingVendorsTxt: Label 'Exporting vendors...'; + ExportingVATPostingSetupTxt: Label 'Exporting VAT Posting Setup...'; + ExportingDimensionsTxt: Label 'Exporting Dimensions...'; + ExportingGLEntriesTxt: Label 'Exporting G/L entries...'; + SkatteetatenMsg: Label 'Skatteetaten', Locked = true; + BlankTxt: Label 'Blank'; + NATxt: Label 'NA', Comment = 'Stands for Not Applicable'; + + local procedure ExportHeaderWithMasterFiles(SAFTExportHeader: Record "SAF-T Export Header") + begin + ExportHeader(SAFTExportHeader); + ExportMasterFiles(SAFTExportHeader); + end; + + local procedure ExportHeader(SAFTExportHeader: Record "SAF-T Export Header") + var + GeneralLedgerSetup: Record "General Ledger Setup"; + CompanyInformation: Record "Company Information"; + CountryRegion: Record "Country/Region"; + begin + SAFTXMLHelper.Initialize(); + if GuiAllowed() then + Window.Update(1, GeneratingHeaderTxt); + CompanyInformation.get(); + SAFTXMLHelper.AddNewXMLNode('Header', ''); + SAFTXMLHelper.AppendXMLNode('AuditFileVersion', '1.0'); + if CompanyInformation."Country/Region Code" <> '' then begin + CountryRegion.Get(CompanyInformation."Country/Region Code"); + if CountryRegion."ISO Code" = '' then + SAFTXMLHelper.AppendXMLNode('AuditFileCountry', CompanyInformation."Country/Region Code") + else + SAFTXMLHelper.AppendXMLNode('AuditFileCountry', CountryRegion."ISO Code"); + end; + SAFTXMLHelper.AppendXMLNode('AuditFileDateCreated', FormatDate(today())); + SAFTXMLHelper.AppendXMLNode('SoftwareCompanyName', 'Microsoft'); + SAFTXMLHelper.AppendXMLNode('SoftwareID', 'Microsoft Dynamics 365 Business Central'); + SAFTXMLHelper.AppendXMLNode('SoftwareVersion', '14.0'); + ExportCompanyInfo('Company'); + GeneralLedgerSetup.get(); + SAFTXMLHelper.AppendXMLNode('DefaultCurrencyCode', GeneralLedgerSetup."LCY Code"); + + SAFTXMLHelper.AddNewXMLNode('SelectionCriteria', ''); + SAFTXMLHelper.AppendXMLNode('PeriodStart', format(Date2DMY(SAFTExportHeader."Starting Date", 2))); + SAFTXMLHelper.AppendXMLNode('PeriodStartYear', format(Date2DMY(SAFTExportHeader."Starting Date", 3))); + SAFTXMLHelper.AppendXMLNode('PeriodEnd', format(Date2DMY(SAFTExportHeader."Ending Date", 2))); + SAFTXMLHelper.AppendXMLNode('PeriodEndYear', format(Date2DMY(SAFTExportHeader."Ending Date", 3))); + SAFTXMLHelper.FinalizeXMLNode(); + + SAFTXMLHelper.AppendXMLNode('HeaderComment', SAFTExportHeader."Header Comment"); + SAFTXMLHelper.AppendXMLNode('TaxAccountingBasis', 'A'); + SAFTXMLHelper.AppendXMLNode('UserID', GetSAFTMiddle1Text(UserId())); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportCompanyInfo(ParentNodeName: Text) + var + CompanyInformation: Record "Company Information"; + Employee: Record Employee; + begin + SAFTXMLHelper.AddNewXMLNode(ParentNodeName, ''); + CompanyInformation.get(); + SAFTXMLHelper.AppendXMLNode('RegistrationNumber', CompanyInformation."VAT Registration No."); + SAFTXMLHelper.AppendXMLNode('Name', CombineWithSpace(CompanyInformation.Name, CompanyInformation."Name 2")); + ExportAddress( + CombineWithSpace(CompanyInformation.Address, CompanyInformation."Address 2"), CompanyInformation.City, CompanyInformation."Post Code", + CompanyInformation."Country/Region Code", 'StreetAddress'); + Employee.Get(CompanyInformation."SAF-T Contact No."); + ExportContact( + Employee."First Name", Employee."Last Name", GetSAFTShortText(Employee."Phone No."), + GetSAFTShortText(Employee."Fax No."), GetSAFTMiddle2Text(Employee."E-Mail"), + '', GetSAFTShortText(Employee."Mobile Phone No.")); + ExportTaxRegistration(CompanyInformation."VAT Registration No."); + ExportBankAccount( + CompanyInformation."Bank Name", CompanyInformation."Bank Account No.", CompanyInformation.IBAN, + CompanyInformation."Bank Branch No.", '', CompanyInformation."SWIFT Code", '', ''); + ExportBankAccounts(); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportAddress(StreetName: Text; City: Text; PostalCode: Text; Country: Text; AddressType: Text) + begin + SAFTXMLHelper.AddNewXMLNode('Address', ''); + SAFTXMLHelper.AppendXMLNode('StreetName', StreetName); + SAFTXMLHelper.AppendXMLNode('City', City); + If PostalCode = '' then begin + GetSAFTSetup(); + PostalCode := GlobalSAFTSetup."Default Post Code"; + end; + SAFTXMLHelper.AppendXMLNode('PostalCode', GetSAFTShortText(PostalCode)); + SAFTXMLHelper.AppendXMLNode('Country', Country); + SAFTXMLHelper.AppendXMLNode('AddressType', AddressType); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportContact(FirstName: Text; LastName: Text; Telephone: Text; Fax: Text; Email: Text; Website: Text; MobilePhone: Text) + begin + if (FirstName.Trim() = '') or (LastName.Trim() = '') then + exit; + + SAFTXMLHelper.AddNewXMLNode('Contact', ''); + SAFTXMLHelper.AddNewXMLNode('ContactPerson', ''); + SAFTXMLHelper.AppendXMLNode('FirstName', FirstName); + SAFTXMLHelper.AppendXMLNode('LastName', LastName); + SAFTXMLHelper.FinalizeXMLNode(); + + SAFTXMLHelper.AppendXMLNode('Telephone', GetSAFTShortText(Telephone)); + SAFTXMLHelper.AppendXMLNode('Fax', GetSAFTShortText(Fax)); + SAFTXMLHelper.AppendXMLNode('Email', GetSAFTMiddle2Text(Email)); + SAFTXMLHelper.AppendXMLNode('Website', Website); + SAFTXMLHelper.AppendXMLNode('MobilePhone', GetSAFTShortText(MobilePhone)); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportTaxRegistration(VATRegistrationNo: Text[20]) + begin + SAFTXMLHelper.AddNewXMLNode('TaxRegistration', ''); + SAFTXMLHelper.AppendXMLNode('TaxRegistrationNumber', VATRegistrationNo); + SAFTXMLHelper.AppendXMLNode('TaxAuthority', SkatteetatenMsg); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportMasterFiles(SAFTExportHeader: Record "SAF-T Export Header") + begin + SAFTXMLHelper.AddNewXMLNode('MasterFiles', ''); + if GuiAllowed() then + Window.Update(1, ExportingGLAccountsTxt); + ExportGeneralLedgerAccounts(SAFTExportHeader); + ExportCustomers(SAFTExportHeader); + ExportVendors(SAFTExportHeader); + ExportTaxTable(); + ExportAnalysisTypeTable(); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportGeneralLedgerAccounts(SAFTExportHeader: Record "SAF-T Export Header") + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTGLAccountMapping: Record "SAF-T G/L Account Mapping"; + TotalNumberOfAccounts: Integer; + CountOfAccounts: Integer; + begin + SAFTMappingRange.Get(SAFTExportHeader."Mapping Range Code"); + SAFTGLAccountMapping.SetRange("Mapping Range Code", SAFTExportHeader."Mapping Range Code"); + SAFTGLAccountMapping.SetFilter("No.", '<>%1', ''); + if not SAFTGLAccountMapping.FindSet() then + exit; + + SAFTXMLHelper.AddNewXMLNode('GeneralLedgerAccounts', ''); + if GuiAllowed() then + TotalNumberOfAccounts := SAFTGLAccountMapping.Count(); + repeat + if GuiAllowed() then begin + CountOfAccounts += 1; + Window.Update(2, ROUND(100 * (CountOfAccounts / TotalNumberOfAccounts * 100), 1)); + end; + ExportGLAccount( + SAFTGLAccountMapping."G/L Account No.", + SAFTGLAccountMapping."Category No.", SAFTGLAccountMapping."No.", + SAFTExportHeader."Starting Date", SAFTExportHeader."Ending Date"); + until SAFTGLAccountMapping.Next() = 0; + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportGLAccount(GLAccNo: Code[20]; GroupingCategory: Code[20]; GroupingNo: Code[20]; StartingDate: Date; EndingDate: Date) + var + GLAccount: Record "G/L Account"; + OpeningDebitBalance: Decimal; + OpeningCreditBalance: Decimal; + ClosingDebitBalance: Decimal; + ClosingCreditBalance: Decimal; + begin + GLAccount.get(GLAccNo); + // Opening balance always zero for income statement + if GLAccount."Income/Balance" <> GLAccount."Income/Balance"::"Income Statement" then begin + GLAccount.SetRange("Date Filter", 0D, ClosingDate(StartingDate - 1)); + GLAccount.CalcFields("Net Change"); + if GLAccount."Net Change" > 0 then + OpeningDebitBalance := GLAccount."Net Change" + else + OpeningCreditBalance := -GLAccount."Net Change"; + end; + + if GLAccount."Income/Balance" = GLAccount."Income/Balance"::"Income Statement" then + GLAccount.SetRange("Date Filter", StartingDate, EndingDate) + else + GLAccount.SetRange("Date Filter", 0D, ClosingDate(EndingDate)); + GLAccount.CalcFields("Net Change"); + if GLAccount."Net Change" > 0 then + ClosingDebitBalance := GLAccount."Net Change" + else + ClosingCreditBalance := -GLAccount."Net Change"; + + SAFTXMLHelper.AddNewXMLNode('Account', ''); + SAFTXMLHelper.AppendXMLNode('AccountID', GLAccount."No."); + SAFTXMLHelper.AppendXMLNode('AccountDescription', GLAccount.Name); + SAFTXMLHelper.AppendXMLNode('GroupingCategory', GroupingCategory); + SAFTXMLHelper.AppendXMLNode('GroupingCode', GroupingNo); + SAFTXMLHelper.AppendXMLNode('AccountType', 'GL'); + if GLAccount."Income/Balance" = GLAccount."Income/Balance"::"Income Statement" then begin + // For income statement the opening balance is always zero but it's more preferred to have same type of balance (Debit or Credit) to match opening and closing XML nodes. + if ClosingDebitBalance = 0 then + SAFTXMLHelper.AppendXMLNode('OpeningCreditBalance', FormatAmount(0)) + else + SAFTXMLHelper.AppendXMLNode('OpeningDebitBalance', FormatAmount(0)) + end else + if OpeningDebitBalance = 0 then + SAFTXMLHelper.AppendXMLNode('OpeningCreditBalance', FormatAmount(OpeningCreditBalance)) + else + SAFTXMLHelper.AppendXMLNode('OpeningDebitBalance', FormatAmount(OpeningDebitBalance)); + if ClosingDebitBalance = 0 then + SAFTXMLHelper.AppendXMLNode('ClosingCreditBalance', FormatAmount(ClosingCreditBalance)) + else + SAFTXMLHelper.AppendXMLNode('ClosingDebitBalance', FormatAmount(ClosingDebitBalance)); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportCustomers(SAFTExportHeader: Record "SAF-T Export Header") + var + Customer: Record Customer; + TotalNumberOfCustomers: Integer; + CountOfCustomers: Integer; + begin + if not Customer.FindSet() then + exit; + + SAFTXMLHelper.AddNewXMLNode('Customers', ''); + if GuiAllowed() then begin + Window.Update(1, ExportingCustomersTxt); + TotalNumberOfCustomers := Customer.Count(); + end; + repeat + if GuiAllowed() then begin + CountOfCustomers += 1; + Window.Update(2, ROUND(100 * (CountOfCustomers / TotalNumberOfCustomers * 100), 1)); + end; + ExportCustomer(Customer, SAFTExportHeader); + until Customer.Next() = 0; + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportCustomer(Customer: Record Customer; SAFTExportHeader: Record "SAF-T Export Header") + var + CustomerPostingGroup: Record "Customer Posting Group"; + CustomerBankAccount: Record "Customer Bank Account"; + CustLedgerEntry: Record "Cust. Ledger Entry"; + OpeningDebitBalance: Decimal; + ClosingDebitBalance: Decimal; + OpeningCreditBalance: Decimal; + ClosingCreditBalance: Decimal; + Handled: Boolean; + FirstName: Text; + LastName: Text; + begin + CustLedgerEntry.SetCurrentKey("Customer No.", "Posting Date"); + CustLedgerEntry.SetRange("Customer No.", Customer."No."); + CustLedgerEntry.SetRange("Posting Date", SAFTExportHeader."Starting Date", closingdate(SAFTExportHeader."Ending Date")); + if CustLedgerEntry.IsEmpty() then + exit; + Customer.SetRange("Date Filter", 0D, closingdate(SAFTExportHeader."Starting Date" - 1)); + Customer.CalcFields("Net Change (LCY)"); + if Customer."Net Change (LCY)" > 0 then + OpeningDebitBalance := Customer."Net Change (LCY)" + else + OpeningCreditBalance := -Customer."Net Change (LCY)"; + Customer.SetRange("Date Filter", 0D, closingdate(SAFTExportHeader."Ending Date")); + Customer.CalcFields("Net Change (LCY)"); + if Customer."Net Change (LCY)" > 0 then + ClosingDebitBalance := Customer."Net Change (LCY)" + else + ClosingCreditBalance := -Customer."Net Change (LCY)"; + + SAFTXMLHelper.AddNewXMLNode('Customer', ''); + SAFTXMLHelper.AppendXMLNode('RegistrationNumber', Customer."VAT Registration No."); + SAFTXMLHelper.AppendXMLNode('Name', CombineWithSpace(Customer.Name, Customer."Name 2")); + ExportAddress(CombineWithSpace(Customer.Address, Customer."Address 2"), Customer.City, Customer."Post Code", Customer."Country/Region Code", 'StreetAddress'); + OnBeforeGetFirstAndLastNameFromCustomer(Handled, FirstName, LastName, Customer); + if not Handled then + GetFirstAndLastNameFromContactName(FirstName, LastName, Customer.Contact); + ExportContact(FirstName, LastName, Customer."Phone No.", Customer."Fax No.", Customer."E-Mail", Customer."Home Page", ''); + CustomerBankAccount.SetRange("Customer No.", Customer."No."); + if CustomerBankAccount.FindSet() then + repeat + ExportBankAccount( + CombineWithSpace(CustomerBankAccount.Name, CustomerBankAccount."Name 2"), + CustomerBankAccount."Bank Account No.", CustomerBankAccount.IBAN, + CustomerBankAccount."Bank Branch No.", CustomerBankAccount."Bank Clearing Code", + CustomerBankAccount."SWIFT Code", CustomerBankAccount."Currency Code", ''); + until CustomerBankAccount.Next() = 0; + SAFTXMLHelper.AppendXMLNode('CustomerID', Customer."No."); + CustomerPostingGroup.get(customer."Customer Posting Group"); + ExportBalanceAccount(CustomerPostingGroup."Receivables Account", OpeningDebitBalance, OpeningCreditBalance, ClosingDebitBalance, ClosingCreditBalance); + ExportPartyInfo(Database::Customer, Customer."No.", Customer."Currency Code", Customer."Payment Terms Code"); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportVendors(SAFTExportHeader: Record "SAF-T Export Header") + var + Vendor: Record Vendor; + TotalNumberOfVendors: Integer; + CountOfVendors: Integer; + begin + if not Vendor.FindSet() then + exit; + + SAFTXMLHelper.AddNewXMLNode('Suppliers', ''); + if GuiAllowed() then begin + Window.Update(1, ExportingVendorsTxt); + TotalNumberOfVendors := Vendor.Count(); + end; + repeat + if GuiAllowed() then begin + CountOfVendors += 1; + Window.Update(2, ROUND(100 * (CountOfVendors / TotalNumberOfVendors * 100), 1)); + end; + ExportVendor(Vendor, SAFTExportHeader); + until Vendor.Next() = 0; + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportVendor(Vendor: Record Vendor; SAFTExportHeader: Record "SAF-T Export Header") + var + VendorPostingGroup: Record "Vendor Posting Group"; + VendorBankAccount: Record "Vendor Bank Account"; + VendorLedgerEntry: Record "Vendor Ledger Entry"; + OpeningDebitBalance: Decimal; + ClosingDebitBalance: Decimal; + OpeningCreditBalance: Decimal; + ClosingCreditBalance: Decimal; + Handled: Boolean; + FirstName: Text; + LastName: Text; + begin + VendorLedgerEntry.SetCurrentKey("Vendor No.", "Posting Date"); + VendorLedgerEntry.SetRange("Vendor No.", Vendor."No."); + VendorLedgerEntry.SetRange("Posting Date", SAFTExportHeader."Starting Date", closingdate(SAFTExportHeader."Ending Date")); + if VendorLedgerEntry.IsEmpty() then + exit; + Vendor.SetRange("Date Filter", 0D, closingdate(SAFTExportHeader."Starting Date" - 1)); + Vendor.CalcFields("Net Change (LCY)"); + if Vendor."Net Change (LCY)" > 0 then + OpeningCreditBalance := Vendor."Net Change (LCY)" + else + OpeningDebitBalance := -Vendor."Net Change (LCY)"; + Vendor.SetRange("Date Filter", 0D, closingdate(SAFTExportHeader."Ending Date")); + Vendor.CalcFields("Net Change (LCY)"); + if Vendor."Net Change (LCY)" > 0 then + ClosingCreditBalance := Vendor."Net Change (LCY)" + else + ClosingDebitBalance := -Vendor."Net Change (LCY)"; + + SAFTXMLHelper.AddNewXMLNode('Supplier', ''); + SAFTXMLHelper.AppendXMLNode('RegistrationNumber', Vendor."VAT Registration No."); + SAFTXMLHelper.AppendXMLNode('Name', CombineWithSpace(Vendor.Name, Vendor."Name 2")); + ExportAddress(CombineWithSpace(Vendor.Address, Vendor."Address 2"), Vendor.City, Vendor."Post Code", Vendor."Country/Region Code", 'StreetAddress'); + OnBeforeGetFirstAndLastNameFromVendor(Handled, FirstName, LastName, Vendor); + if not Handled then + GetFirstAndLastNameFromContactName(FirstName, LastName, Vendor.Contact); + ExportContact(FirstName, LastName, Vendor."Phone No.", Vendor."Fax No.", Vendor."E-Mail", Vendor."Home Page", ''); + VendorBankAccount.SetRange("Vendor No.", Vendor."No."); + If VendorBankAccount.FindSet() then + repeat + ExportBankAccount( + CombineWithSpace(VendorBankAccount.Name, VendorBankAccount."Name 2"), + VendorBankAccount."Bank Account No.", VendorBankAccount.IBAN, + VendorBankAccount."Bank Branch No.", VendorBankAccount."Bank Clearing Code", + VendorBankAccount."SWIFT Code", VendorBankAccount."Currency Code", ''); + until VendorBankAccount.Next() = 0; + If Vendor."Recipient Bank Account No." <> '' then + ExportBankAccount(Vendor."Bank Name", Vendor."Recipient Bank Account No.", '', '', '', Vendor.SWIFT, '', ''); + SAFTXMLHelper.AppendXMLNode('SupplierID', Vendor."No."); + VendorPostingGroup.Get(Vendor."Vendor Posting Group"); + ExportBalanceAccount(VendorPostingGroup."Payables Account", OpeningDebitBalance, OpeningCreditBalance, ClosingDebitBalance, ClosingCreditBalance); + ExportPartyInfo(Database::Vendor, Vendor."No.", Vendor."Currency Code", Vendor."Payment Terms Code"); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportTaxTable() + begin + if GuiAllowed() then + Window.Update(1, ExportingVATPostingSetupTxt); + SAFTXMLHelper.AddNewXMLNode('TaxTable', ''); + SAFTXMLHelper.AddNewXMLNode('TaxTableEntry', ''); + SAFTXMLHelper.AppendXMLNode('TaxType', 'MVA'); + SAFTXMLHelper.AppendXMLNode('Description', 'Merverdiavgift'); + ExportTaxCodeDetails(); + SAFTXMLHelper.FinalizeXMLNode(); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportTaxCodeDetails() + var + VATPostingSetup: Record "VAT Posting Setup"; + VATReportingCode: Record "VAT Reporting Code"; + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + NotApplicableVATCode: Code[20]; + SalesCompensation: Boolean; + PurchaseCompensation: Boolean; + begin + if not VATPostingSetup.FindSet() then + exit; + + NotApplicableVATCode := SAFTExportMgt.GetNotApplicableVATCode(); + repeat + if not VATPostingSetup."Calc. Prop. Deduction VAT" then + VATPostingSetup."Proportional Deduction VAT %" := 0; + if VATPostingSetup."Sale VAT Reporting Code" = '' then + VATPostingSetup."Sale VAT Reporting Code" := NotApplicableVATCode + else begin + VATReportingCode.Get(VATPostingSetup."Sale VAT Reporting Code"); + SalesCompensation := VATReportingCode.Compensation; + end; + if VATPostingSetup."Purch. VAT Reporting Code" = '' then + VATPostingSetup."Purch. VAT Reporting Code" := NotApplicableVATCode + else begin + VATReportingCode.Get(VATPostingSetup."Purch. VAT Reporting Code"); + PurchaseCompensation := VATReportingCode.Compensation; + end; + + if VATPostingSetup."Sales VAT Account" <> '' then + ExportTaxCodeDetail( + VATPostingSetup."Sales SAF-T Tax Code", CopyStr(VATPostingSetup."Sale VAT Reporting Code", 1, 9), + VATPostingSetup.Description, VATPostingSetup."VAT %", + SalesCompensation, VATPostingSetup."Proportional Deduction VAT %"); + If VATPostingSetup."Purchase VAT Account" <> '' then + ExportTaxCodeDetail( + VATPostingSetup."Purchase SAF-T Tax Code", CopyStr(VATPostingSetup."Purch. VAT Reporting Code", 1, 9), + VATPostingSetup.Description, VATPostingSetup."VAT %", + PurchaseCompensation, VATPostingSetup."Proportional Deduction VAT %"); + until VATPostingSetup.Next() = 0; + end; + + local procedure ExportTaxCodeDetail(SAFTTaxCode: Integer; StandardTaxCode: Code[10]; Description: Text; VATRate: Decimal; Compensation: Boolean; VATDeductionRate: Decimal) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + SAFTXMLHelper.AddNewXMLNode('TaxCodeDetails', ''); + SAFTXMLHelper.AppendXMLNode('TaxCode', Format(SAFTTaxCode)); + SAFTXMLHelper.AppendXMLNode('Description', Description); + SAFTXMLHelper.AppendXMLNode('TaxPercentage', FormatAmount(VATRate)); + SAFTXMLHelper.AppendXMLNode('Country', CompanyInformation."Country/Region Code"); + SAFTXMLHelper.AppendXMLNode('StandardTaxCode', StandardTaxCode); + SAFTXMLHelper.AppendXMLNode('Compensation', Format(Compensation, 0, 9)); + if VATDeductionRate = 0 then + VATDeductionRate := 100; + SAFTXMLHelper.AppendXMLNode('BaseRate', FormatAmount(VATDeductionRate)); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportAnalysisTypeTable() + var + Dimension: Record Dimension; + DimensionValue: Record "Dimension Value"; + LastDimensionCode: Code[20]; + begin + If not DimensionValue.FindSet() then + exit; + + if GuiAllowed() then + Window.Update(1, ExportingDimensionsTxt); + SAFTXMLHelper.AddNewXMLNode('AnalysisTypeTable', ''); + repeat + if LastDimensionCode <> DimensionValue."Dimension Code" then begin + Dimension.Get(DimensionValue."Dimension Code"); + LastDimensionCode := Dimension.Code; + end; + if Dimension."Export to SAF-T" then begin + SAFTXMLHelper.AddNewXMLNode('AnalysisTypeTableEntry', ''); + SAFTXMLHelper.AppendXMLNode('AnalysisType', Dimension."SAF-T Analysis Type"); + SAFTXMLHelper.AppendXMLNode('AnalysisTypeDescription', Dimension.Name); + SAFTXMLHelper.AppendXMLNode('AnalysisID', DimensionValue.Code); + SAFTXMLHelper.AppendXMLNode('AnalysisIDDescription', DimensionValue.Name); + SAFTXMLHelper.FinalizeXMLNode(); + end; + until DimensionValue.Next() = 0; + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportGeneralLedgerEntries(var GLEntry: Record "G/L Entry"; var SAFTExportLine: Record "SAF-T Export Line") + var + SAFTSourceCode: Record "SAF-T Source Code"; + TempSourceCode: Record "Source Code" temporary; + SourceCode: Record "Source Code"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTMappingHelper: Codeunit "SAF-T Mapping Helper"; + GLEntryProgressStep: Decimal; + GLEntryProgress: Decimal; + begin + SAFTXMLHelper.AddNewXMLNode('GeneralLedgerEntries', ''); + SAFTExportHeader.Get(SAFTExportLine.ID); + SAFTXMLHelper.AppendXMLNode('NumberOfEntries', FormatAmount(SAFTExportHeader."Number of G/L Entries")); + SAFTXMLHelper.AppendXMLNode('TotalDebit', FormatAmount(SAFTExportHeader."Total G/L Entry Debit")); + SAFTXMLHelper.AppendXMLNode('TotalCredit', FormatAmount(SAFTExportHeader."Total G/L Entry Credit")); + if GLEntry.IsEmpty() then begin + SAFTXMLHelper.FinalizeXMLNode(); + exit; + end; + + if GuiAllowed() then + Window.Update(1, ExportingGLEntriesTxt); + if SAFTSourceCode.FindSet() then + GLEntryProgressStep := Round(10000 / SAFTSourceCode.Count(), 1, '<') + else + GLEntryProgressStep := 10000; + repeat + TempSourceCode.Reset(); + TempSourceCode.DeleteAll(); + if SAFTSourceCode.Code = '' then begin + SAFTSourceCode.Init(); + SAFTSourceCode.Code := SAFTMappingHelper.GetARSAFTSourceCode(); + SAFTSourceCode.Description := SAFTMappingHelper.GetASAFTSourceCodeDescription(); + end else + SourceCode.SetRange("SAF-T Source Code", SAFTSourceCode.Code); + if SourceCode.FindSet() then + repeat + TempSourceCode := SourceCode; + TempSourceCode.Insert(); + until SourceCode.Next() = 0; + if SAFTSourceCode."Includes No Source Code" then begin + TempSourceCode.Init(); + TempSourceCode.Code := ''; + TempSourceCode.Insert(); + end; + GLEntryProgress += GLEntryProgressStep; + if GuiAllowed() then + Window.Update(2, GLEntryProgress); + if ExportGLEntriesBySourceCodeBuffer(TempSourceCode, GLEntry, SAFTSourceCode, SAFTExportHeader) then begin + SAFTExportLine.Get(SAFTExportLine.ID, SAFTExportLine."Line No."); + SAFTExportLine.LockTable(); + SAFTExportLine.Validate(Progress, GLEntryProgress); + SAFTExportLine.Modify(true); + Commit(); + end; + until SAFTSourceCode.Next() = 0; + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportGLEntriesBySourceCodeBuffer(var TempSourceCode: Record "Source Code" temporary; var GLEntry: Record "G/L Entry"; SAFTSourceCode: Record "SAF-T Source Code"; SAFTExportHeader: Record "SAF-T Export Header"): Boolean + var + SourceCodeFilter: Text; + GLEntriesExists: Boolean; + begin + If not TempSourceCode.FindSet() then + exit(false); + + repeat + if SourceCodeFilter <> '' then + SourceCodeFilter += '|'; + if TempSourceCode.Code = '' then + SourceCodeFilter += ''' ''' + else + SourceCodeFilter += TempSourceCode.Code; + until TempSourceCode.Next() = 0; + GLEntry.SetFilter("Source Code", SourceCodeFilter); + GLEntriesExists := GLEntry.FindSet(); + if not GLEntriesExists then + exit(false); + + SAFTXMLHelper.AddNewXMLNode('Journal', ''); + SAFTXMLHelper.AppendXMLNode('JournalID', SAFTSourceCode.Code); + SAFTXMLHelper.AppendXMLNode('Description', SAFTSourceCode.Description); + SAFTXMLHelper.AppendXMLNode('Type', SAFTSourceCode.Code); + ExportGLEntriesByTransaction(GLEntry, SAFTExportHeader); + if SAFTSourceCode.Code <> '' then + SAFTXMLHelper.FinalizeXMLNode(); + exit(true); + end; + + local procedure ExportGLEntriesByTransaction(var GLEntry: Record "G/L Entry"; SAFTExportHeader: Record "SAF-T Export Header") + var + TempDimIDBuffer: Record "Dimension ID Buffer" temporary; + VATEntry: Record "VAT Entry"; + GLEntryVATEntryLink: Record "G/L Entry - VAT Entry Link"; + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + AmountXMLNode: Text; + Amount: Decimal; + CurrencyCode: Code[10]; + ExchangeRate: Decimal; + EntryAmount: Decimal; + EntryAmountLCY: Decimal; + CurrentTransactionID: Text; + PrevTransactionID: Text; + IsHandled: Boolean; + begin + repeat + CurrentTransactionID := GetSAFTTransactionIDFromGLEntry(GLEntry); + if CurrentTransactionID <> PrevTransactionID then begin + if PrevTransactionID <> '' then + SAFTXMLHelper.FinalizeXMLNode(); + ExportGLEntryTransactionInfo(GLEntry, CurrentTransactionID); + PrevTransactionID := GetSAFTTransactionIDFromGLEntry(GLEntry); + end; + GetFCYData(CurrencyCode, ExchangeRate, EntryAmount, EntryAmountLCY, SAFTExportHeader, GLEntry); + SAFTXMLHelper.AddNewXMLNode('Line', ''); + SAFTXMLHelper.AppendXMLNode('RecordID', format(GLEntry."Entry No.")); + SAFTXMLHelper.AppendXMLNode('AccountID', GLEntry."G/L Account No."); + CopyDimeSetIDToDimIDBuffer(TempDimIDBuffer, GLEntry."Dimension Set ID"); + ExportAnalysisInfo(TempDimIDBuffer); + SAFTXMLHelper.AppendXMLNode('SourceDocumentID', GLEntry."Document No."); + case GLEntry."Source Type" of + GLEntry."Source Type"::Customer: + begin + if GLEntry."Source No." <> GlobalCustomer."No." then begin + GlobalCustomerPostingGroup.Init(); + if GlobalCustomer.Get(GLEntry."Source No.") then + if GlobalCustomerPostingGroup.Get(GlobalCustomer."Customer Posting Group") then; + end; + if GLEntry."G/L Account No." = GlobalCustomerPostingGroup."Receivables Account" then + SAFTXMLHelper.AppendXMLNode('CustomerID', GLEntry."Source No."); + end; + GLEntry."Source Type"::Vendor: + begin + if GLEntry."Source No." <> GlobalVendor."No." then begin + GlobalVendorPostingGroup.init(); + if GlobalVendor.Get(GLEntry."Source No.") then + if GlobalVendorPostingGroup.Get(GlobalVendor."Vendor Posting Group") then; + end; + if GLEntry."G/L Account No." = GlobalVendorPostingGroup."Payables Account" then + SAFTXMLHelper.AppendXMLNode('SupplierID', GLEntry."Source No."); + end; + end; + SAFTXMLHelper.AppendXMLNode('Description', GetGLEntryDescription(GLEntry)); + SAFTExportMgt.GetAmountInfoFromGLEntry(AmountXMLNode, Amount, GLEntry); + IsHandled := false; + OnBeforeExportGLEntryAmountInfo(SAFTXMLHelper, AmountXMLNode, GLEntry, IsHandled); + If not IsHandled then + ExportAmountWithCurrencyInfo(AmountXMLNode, GLEntry."G/L Account No.", CurrencyCode, ExchangeRate, Amount, EntryAmount, EntryAmountLCY); + if (GLEntry."VAT Bus. Posting Group" <> '') or (GLEntry."VAT Prod. Posting Group" <> '') then begin + GLEntryVATEntryLink.SetRange("G/L Entry No.", GLEntry."Entry No."); + if GLEntryVATEntryLink.FindFirst() then begin + VATEntry.Get(GLEntryVATEntryLink."VAT Entry No."); + ExportTaxInformation(VATEntry); + end; + end; + SAFTXMLHelper.AppendXMLNode('ReferenceNumber', GLEntry."External Document No."); + SAFTXMLHelper.FinalizeXMLNode(); + until GLEntry.Next() = 0; + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportGLEntryTransactionInfo(GLEntry: Record "G/L Entry"; TransactionID: Text) + var + SystemEntryDate: Date; + TransactionTypeValue: Text; + begin + SAFTXMLHelper.AddNewXMLNode('Transaction', ''); + SAFTXMLHelper.AppendXMLNode('TransactionID', TransactionID); + SAFTXMLHelper.AppendXMLNode('Period', format(Date2DMY(GLEntry."Posting Date", 2))); + SAFTXMLHelper.AppendXMLNode('PeriodYear', format(Date2DMY(GLEntry."Posting Date", 3))); + SAFTXMLHelper.AppendXMLNode('TransactionDate', FormatDate(GLEntry."Document Date")); + SAFTXMLHelper.AppendXMLNode('SourceID', GetSAFTMiddle1Text(GLEntry."User ID")); + if GLEntry."Document Type" = 0 then + TransactionTypeValue := BlankTxt + else + TransactionTypeValue := Format(GLEntry."Document Type"); + SAFTXMLHelper.AppendXMLNode('TransactionType', TransactionTypeValue); + SAFTXMLHelper.AppendXMLNode('Description', GetGLEntryDescription(GLEntry)); + SAFTXMLHelper.AppendXMLNode('BatchID', Format(GLEntry."Transaction No.")); + if GLEntry."Last Modified DateTime" = 0DT then + SystemEntryDate := GLEntry."Posting Date" + else + SystemEntryDate := DT2Date(GLEntry."Last Modified DateTime"); + SAFTXMLHelper.AppendXMLNode('SystemEntryDate', FormatDate(SystemEntryDate)); + SAFTXMLHelper.AppendXMLNode('GLPostingDate', FormatDate(GLEntry."Posting Date")); + end; + + local procedure ExportTaxInformation(VATEntry: Record 254) + var + VATPostingSetup: Record "VAT Posting Setup"; + GLEntryVATEntryLink: Record "G/L Entry - VAT Entry Link"; + GLEntry: Record "G/L Entry"; + IsDebitVATAmount: Boolean; + IsHandled: Boolean; + TaxAmountNode: Text; + begin + if not (VATEntry.Type in [VATEntry.Type::Sale, VATEntry.Type::Purchase]) then + exit; + + VATPostingSetup.get(VATEntry."VAT Bus. Posting Group", VATEntry."VAT Prod. Posting Group"); + SAFTXMLHelper.AddNewXMLNode('TaxInformation', ''); + SAFTXMLHelper.AppendXMLNode('TaxType', 'MVA'); + if VATEntry.Type = VATEntry.Type::Sale then + SAFTXMLHelper.AppendXMLNode('TaxCode', Format(VATPostingSetup."Sales SAF-T Tax Code")) + else + SAFTXMLHelper.AppendXMLNode('TaxCode', Format(VATPostingSetup."Purchase SAF-T Tax Code")); + SAFTXMLHelper.AppendXMLNode('TaxPercentage', FormatAmount(VATPostingSetup."VAT %")); + SAFTXMLHelper.AppendXMLNode('TaxBase', FormatAmount(abs(VATEntry.Base))); + IsHandled := false; + OnBeforeExportVATEntryAmountInfo(SAFTXMLHelper, VATEntry, IsHandled); + if not IsHandled then begin + GLEntryVATEntryLink.SetRange("VAT Entry No.", VATEntry."Entry No."); + if GLEntryVATEntryLink.FindFirst() then begin + GLEntry.Get(GLEntryVATEntryLink."G/L Entry No."); + IsDebitVATAmount := GLEntry."Debit Amount" <> 0; + end; + TaxAmountNode := IsDebitVATAmount ? 'DebitTaxAmount' : 'CreditTaxAmount'; + ExportAmountInfo(TaxAmountNode, abs(VATEntry.Amount)); + end; + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportAmountInfo(ParentNodeName: Text; Amount: Decimal) + begin + SAFTXMLHelper.AddNewXMLNode(ParentNodeName, ''); + SAFTXMLHelper.AppendXMLNode('Amount', FormatAmount(Amount)); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportAmountWithCurrencyInfo(ParentNodeName: Text; GLAccNo: Code[20]; CurrencyCode: Code[10]; ExchangeRate: Decimal; Amount: Decimal; EntryAmount: Decimal; EntryAmountLCY: Decimal) + var + ExportAmountWithNoCurrency: Boolean; + CurrentAmount: Decimal; + CurrentAmountLCY: Decimal; + begin + if CurrencyCode = '' then + ExportAmountWithNoCurrency := true + else + ExportAmountWithNoCurrency := GLAccInCurrencyGainLossAcc(GLAccNo, CurrencyCode); + if ExportAmountWithNoCurrency then begin + ExportAmountInfo(ParentNodeName, Amount); + exit; + end; + + SAFTXMLHelper.AddNewXMLNode(ParentNodeName, ''); + GetCurrencyAmounts(CurrentAmount, CurrentAmountLCY, CurrencyCode, ExchangeRate, Amount, EntryAmount, EntryAmountLCY); + SAFTXMLHelper.AppendXMLNode('Amount', FormatAmount(CurrentAmountLCY)); + SAFTXMLHelper.AppendXMLNode('CurrencyCode', CurrencyCode); + SAFTXMLHelper.AppendXMLNode('CurrencyAmount', FormatAmount(CurrentAmount)); + SAFTXMLHelper.AppendXMLNode('ExchangeRate', FormatAmount(Round(ExchangeRate, 0.00001))); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportBankAccounts() + var + BankAccount: Record "Bank Account"; + begin + if not BankAccount.FindSet() then + exit; + + repeat + ExportBankAccount( + CombineWithSpace(BankAccount.Name, BankAccount."Name 2"), + BankAccount."Bank Account No.", BankAccount.IBAN, + BankAccount."Bank Branch No.", BankAccount."Bank Clearing Code", + BankAccount."SWIFT Code", BankAccount."Currency Code", GetGLAccFromBankAccPostingGroup(BankAccount."Bank Acc. Posting Group")); + until BankAccount.Next() = 0; + end; + + local procedure ExportBankAccount(BankName: Text; BankNumber: Text; IBAN: Text; BranchNo: Text; ClearingCode: Text; SWIFT: Text; CurrencyCode: Code[10]; AccNo: Code[20]) + var + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + SortCode: Text; + begin + if (IBAN = '') and (BankNumber = '') and (BankName = '') and (BranchNo = '') then + exit; + + SAFTXMLHelper.AddNewXMLNode('BankAccount', ''); + SAFTXMLHelper.AppendXMLNode('IBANNumber', IBAN); + if IBAN = '' then begin + SAFTXMLHelper.AppendXMLNode('BankAccountNumber', BankNumber); + SAFTXMLHelper.AppendXMLNode('BankAccountName', BankName); + if ClearingCode = '' then + SortCode := BranchNo + else + SortCode := ClearingCode; + SAFTXMLHelper.AppendXMLNode('SortCode', SortCode); + end; + SAFTXMLHelper.AppendXMLNode('BIC', SWIFT); + + SAFTXMLHelper.AppendXMLNode('CurrencyCode', SAFTExportMgt.GetISOCurrencyCode(CurrencyCode)); + SAFTXMLHelper.AppendXMLNode('GeneralLedgerAccountID', AccNo); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportPaymentTerms(PaymentTermsCode: Code[10]) + var + PaymentTerms: Record "Payment Terms"; + begin + if PaymentTermsCode = '' then + exit; + + PaymentTerms.get(PaymentTermsCode); + SAFTXMLHelper.AddNewXMLNode('PaymentTerms', ''); + SAFTXMLHelper.AppendXMLNode('Days', format(CalcDate(PaymentTerms."Due Date Calculation", WorkDate()) - WorkDate())); + if format(PaymentTerms."Discount Date Calculation") <> '' then + SAFTXMLHelper.AppendXMLNode('CashDiscountDays', format(CalcDate(PaymentTerms."Discount Date Calculation", WorkDate()) - WorkDate())); + SAFTXMLHelper.AppendXMLNode('CashDiscountRate', FormatAmount(PaymentTerms."Discount %")); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportPartyInfo(SourceID: Integer; SourceNo: Code[20]; CurrencyCode: Code[10]; PaymentTermsCode: Code[10]) + var + DefaultDimension: Record "Default Dimension"; + TempDimIDBuffer: Record "Dimension ID Buffer" temporary; + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + begin + SAFTXMLHelper.AddNewXMLNode('PartyInfo', ''); + ExportPaymentTerms(PaymentTermsCode); + SAFTXMLHelper.AppendXMLNode('CurrencyCode', SAFTExportMgt.GetISOCurrencyCode(CurrencyCode)); + DefaultDimension.SetRange("Table ID", SourceID); + DefaultDimension.SetRange("No.", SourceNo); + CopyDefaultDimToDimBuffer(TempDimIDBuffer, DefaultDimension); + ExportAnalysisInfo(TempDimIDBuffer); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure ExportAnalysisInfo(var TempDimIDBuffer: Record "Dimension ID Buffer" temporary) + begin + TempDimIDBuffer.SetFilter("Dimension Value", '<>%1', ''); + if TempDimIDBuffer.FindSet() then + repeat + SAFTXMLHelper.AddNewXMLNode('Analysis', ''); + SAFTXMLHelper.AppendXMLNode('AnalysisType', TempDimIDBuffer."Dimension Code"); + SAFTXMLHelper.AppendXMLNode('AnalysisID', TempDimIDBuffer."Dimension Value"); + SAFTXMLHelper.FinalizeXMLNode(); + until TempDimIDBuffer.Next() = 0; + TempDimIDBuffer.SetRange("Dimension Value"); + end; + + local procedure ExportBalanceAccount(AccountID: Text; OpeningDebitBalance: Decimal; OpeningCreditBalance: Decimal; ClosingDebitBalance: Decimal; ClosingCreditBalance: Decimal) + begin + SAFTXMLHelper.AddNewXMLNode('BalanceAccount', ''); + SAFTXMLHelper.AppendXMLNode('AccountID', AccountID); + if OpeningDebitBalance = 0 then + SAFTXMLHelper.AppendXMLNode('OpeningCreditBalance', FormatAmount(OpeningCreditBalance)) + else + SAFTXMLHelper.AppendXMLNode('OpeningDebitBalance', FormatAmount(OpeningDebitBalance)); + if ClosingDebitBalance = 0 then + SAFTXMLHelper.AppendXMLNode('ClosingCreditBalance', FormatAmount(ClosingCreditBalance)) + else + SAFTXMLHelper.AppendXMLNode('ClosingDebitBalance', FormatAmount(ClosingDebitBalance)); + SAFTXMLHelper.FinalizeXMLNode(); + end; + + local procedure CopyDefaultDimToDimBuffer(var TempDimIDBuffer: Record "Dimension ID Buffer" temporary; var DefaultDimension: Record "Default Dimension") + var + Dimension: Record Dimension; + begin + TempDimIDBuffer.Reset(); + TempDimIDBuffer.DeleteAll(); + if DefaultDimension.FindSet() then + repeat + Dimension.get(DefaultDimension."Dimension Code"); + TempDimIDBuffer."Parent ID" += 1; + TempDimIDBuffer."Dimension Code" := Dimension."SAF-T Analysis Type"; + TempDimIDBuffer."Dimension Value" := DefaultDimension."Dimension Value Code"; + TempDimIDBuffer.Insert(); + until DefaultDimension.next() = 0; + end; + + local procedure CopyDimeSetIDToDimIDBuffer(var TempDimIDBuffer: Record "Dimension ID Buffer" temporary; DimSetID: Integer) + var + TempDimSetEntry: Record "Dimension Set Entry" temporary; + Dimension: Record Dimension; + DimensionManagement: Codeunit DimensionManagement; + begin + TempDimIDBuffer.Reset(); + TempDimIDBuffer.DeleteAll(); + if DimSetID = 0 then + exit; + + DimensionManagement.GetDimensionSet(TempDimSetEntry, DimSetID); + if not TempDimSetEntry.FindSet() then + exit; + + repeat + Dimension.Get(TempDimSetEntry."Dimension Code"); + if Dimension."Export to SAF-T" then begin + TempDimIDBuffer."Parent ID" += 1; + TempDimIDBuffer."Dimension Code" := Dimension."SAF-T Analysis Type"; + TempDimIDBuffer."Dimension Value" := TempDimSetEntry."Dimension Value Code"; + TempDimIDBuffer.Insert(); + end; + until TempDimSetEntry.Next() = 0; + + end; + + local procedure GetFirstAndLastNameFromContactName(var FirstName: Text; var LastName: Text; ContactName: Text) + var + SpacePos: Integer; + begin + SpacePos := StrPos(ContactName, ' '); + if SpacePos = 0 then begin + FirstName := ContactName; + LastName := '-'; + end else begin + FirstName := copystr(ContactName, 1, SpacePos - 1); + LastName := copystr(ContactName, SpacePos + 1, StrLen(ContactName) - SpacePos); + end; + end; + + local procedure GetGLAccFromBankAccPostingGroup(BankAccPostGroupCode: Code[20]): Code[20] + var + BankAccPostingGroup: Record "Bank Account Posting Group"; + begin + if BankAccPostGroupCode = '' then + exit(''); + if not BankAccPostingGroup.Get(BankAccPostGroupCode) then + exit(''); + exit(BankAccPostingGroup."G/L Account No."); + end; + + local procedure GetCurrencyAmounts(var Amount: Decimal; var AmountLCY: Decimal; CurrencyCode: Code[10]; ExchangeRate: Decimal; OriginalLCYAmount: Decimal; EntryAmount: Decimal; EntryAmountLCY: Decimal) + begin + AmountLCY := EntryAmountLCY; + Amount := EntryAmount; + if Amount <> 0 then + exit; + if CurrencyCode <> GlobalCurrency.Code then begin + GlobalCurrency.Get(CurrencyCode); + GlobalCurrency.InitRoundingPrecision(); + end; + AmountLCY := OriginalLCYAmount; + if ExchangeRate = 0 then + Amount := 0 + else + Amount := Round(OriginalLCYAmount / ExchangeRate, GlobalCurrency."Amount Rounding Precision"); + exit; + end; + + local procedure FinalizeExport(var SAFTExportLine: Record "SAF-T Export Line"; SAFTExportHeader: Record "SAF-T Export Header") + var + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + TypeHelper: Codeunit "Type Helper"; + begin + SAFTExportLine.Get(SAFTExportLine.ID, SAFTExportLine."Line No."); + SAFTExportLine.LockTable(); + SAFTXMLHelper.ExportXMLDocument(SAFTExportLine, SAFTExportHeader); + SAFTExportLine.Validate(Status, SAFTExportLine.Status::Completed); + SAFTExportLine.Validate(Progress, 10000); + SAFTExportLine.Validate("Created Date/Time", TypeHelper.GetCurrentDateTimeInUserTimeZone()); + SAFTExportLine.Modify(true); + Commit(); + SAFTExportMgt.UpdateExportStatus(SAFTExportHeader); + SAFTExportMgt.LogSuccess(SAFTExportLine); + SAFTExportMgt.StartExportLinesNotStartedYet(SAFTExportHeader); + SAFTExportHeader.Get(SAFTExportHeader.Id); + SAFTExportMgt.GenerateZipFile(SAFTExportHeader); + end; + + local procedure CombineWithSpace(FirstString: Text; SecondString: Text) Result: Text + begin + Result := FirstString; + If (Result <> '') and (SecondString <> '') then + Result += ' '; + exit(GetSAFTMiddle2Text(Result + SecondString)); + end; + + local procedure FormatDate(DateToFormat: Date): Text + begin + exit(format(DateToFormat, 0, 9)); + end; + + local procedure FormatAmount(AmountToFormat: Decimal): Text + begin + exit(format(AmountToFormat, 0, 9)) + end; + + local procedure GetSAFTShortText(InputText: Text): Text + begin + // SAF-T definition. Simple type. Type SAFshorttextType + exit(CopyStr(InputText, 1, 18)); + end; + + local procedure GetSAFTMiddle1Text(InputText: Text): Text + begin + // SAF-T definition. Simple type. Type SAFmiddle1textType + exit(CopyStr(InputText, 1, 35)); + end; + + local procedure GetSAFTMiddle2Text(InputText: Text): Text + begin + // SAF-T definition. Simple type. Type SAFmiddle2textType + exit(CopyStr(InputText, 1, 70)); + end; + + local procedure GetSAFTSetup() + begin + if SAFTSetupGot then + exit; + GlobalSAFTSetup.Get(); + SAFTSetupGot := true; + end; + + local procedure GetFCYData(var CurrencyCode: Code[10]; var ExchangeRate: Decimal; var EntryAmount: Decimal; var EntryAmountLCY: Decimal; SAFTExportHeader: Record "SAF-T Export Header"; GLEntry: Record "G/L Entry") + var + CustLedgEntry: Record "Cust. Ledger Entry"; + VendLedgEntry: Record "Vendor Ledger Entry"; + BankAccLedgEntry: Record "Bank Account Ledger Entry"; + begin + CurrencyCode := ''; + ExchangeRate := 0; + EntryAmount := 0; + EntryAmountLCY := 0; + if not SAFTExportHeader."Export Currency Information" then + exit; + + if GLEntry."Source Type" in [GLEntry."Source Type"::Customer, GLEntry."Source Type"::" "] then begin + CustLedgEntry.SetRange("Transaction No.", GLEntry."Transaction No."); + CustLedgEntry.SetRange("Customer No.", GLEntry."Source No."); + if not CustLedgEntry.FindFirst() then + exit; + if CustLedgEntry."Currency Code" = '' then + exit; + CustLedgEntry.CalcFields(Amount, "Amount (LCY)"); + if CustLedgEntry.Amount = 0 then + exit; + CurrencyCode := CustLedgEntry."Currency Code"; + ExchangeRate := GetCurrencyFactor(CustLedgEntry."Original Currency Factor", CustLedgEntry.Amount, CustLedgEntry."Amount (LCY)"); + if CustLedgEntry."Entry No." = GLEntry."Entry No." then begin + EntryAmount := CustLedgEntry.Amount; + EntryAmountLCY := CustLedgEntry."Amount (LCY)"; + end; + exit; + end; + if GLEntry."Source Type" in [GLEntry."Source Type"::Vendor, GLEntry."Source Type"::" "] then begin + VendLedgEntry.SetRange("Transaction No.", GLEntry."Transaction No."); + VendLedgEntry.SetRange("Vendor No.", GLEntry."Source No."); + if not VendLedgEntry.FindFirst() then + exit; + if VendLedgEntry."Currency Code" = '' then + exit; + VendLedgEntry.CalcFields(Amount, "Amount (LCY)"); + if VendLedgEntry.Amount = 0 then + exit; + CurrencyCode := VendLedgEntry."Currency Code"; + ExchangeRate := GetCurrencyFactor(VendLedgEntry."Original Currency Factor", VendLedgEntry.Amount, VendLedgEntry."Amount (LCY)"); + if VendLedgEntry."Entry No." = GLEntry."Entry No." then begin + EntryAmount := VendLedgEntry.Amount; + EntryAmountLCY := VendLedgEntry."Amount (LCY)"; + end; + exit; + end; + if GLEntry."Source Type" in [GLEntry."Source Type"::"Bank Account", GLEntry."Source Type"::" "] then begin + BankAccLedgEntry.SetRange("Transaction No.", GLEntry."Transaction No."); + BankAccLedgEntry.SetRange("Bank Account No.", GLEntry."Source No."); + if not BankAccLedgEntry.FindFirst() then + exit; + if BankAccLedgEntry."Currency Code" = '' then + exit; + if BankAccLedgEntry.Amount = 0 then + exit; + CurrencyCode := BankAccLedgEntry."Currency Code"; + ExchangeRate := GetCurrencyFactor(0, BankAccLedgEntry.Amount, BankAccLedgEntry."Amount (LCY)"); + if BankAccLedgEntry."Entry No." = GLEntry."Entry No." then begin + EntryAmount := BankAccLedgEntry.Amount; + EntryAmountLCY := BankAccLedgEntry."Amount (LCY)"; + end; + exit; + end; + end; + + local procedure GetCurrencyFactor(OriginalCurrencyFactor: Decimal; Amount: Decimal; AmountLCY: Decimal): Decimal + begin + if OriginalCurrencyFactor <> 0 then + exit(OriginalCurrencyFactor); + exit(AmountLCY / Amount); + end; + + local procedure GLAccInCurrencyGainLossAcc(GLAccNo: Code[20]; CurrencyCode: Code[10]): Boolean + var + Currency: Record Currency; + begin + Currency.Get(CurrencyCode); + exit(GLAccNo in [Currency."Unrealized Gains Acc.", Currency."Unrealized Losses Acc.", Currency."Realized Gains Acc.", Currency."Realized Losses Acc."]); + end; + + local procedure GetSAFTTransactionIDFromGLEntry(GLEntry: Record "G/L Entry"): Text + begin + exit(GLEntry."Document No." + Format(GLEntry."Posting Date", 0, '')); + end; + + local procedure GetGLEntryDescription(var GLEntry: Record "G/L Entry") Description: Text + begin + Description := GLEntry.Description; + if Description = '' then + Description := GLEntry."G/L Account No."; + if Description = '' then + Description := NATxt; + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeGetFirstAndLastNameFromCustomer(var Handled: Boolean; var FirstName: Text; var LastName: Text; Customer: Record Customer) + begin + + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeGetFirstAndLastNameFromVendor(var Handled: Boolean; var FirstName: Text; var LastName: Text; Vendor: Record Vendor) + begin + + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeExportGLEntryAmountInfo(var SAFTXMLHelper: Codeunit "SAF-T XML Helper"; AmountXMLNode: Text; GLEntry: Record "G/L Entry"; var IsHandled: Boolean) + begin + + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeExportVATEntryAmountInfo(var SAFTXMLHelper: Codeunit "SAF-T XML Helper"; VATEntry: Record "VAT Entry"; var IsHandled: Boolean) + begin + + end; + +} \ No newline at end of file diff --git a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCard.Page.al b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCard.Page.al index 4e36294696..e3ae166c7f 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCard.Page.al +++ b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCard.Page.al @@ -24,6 +24,11 @@ page 10687 "SAF-T Export Card" ApplicationArea = Basic, Suite; ToolTip = 'Specifies the mapping range code that represents the SAF-T reporting period.'; } + field(Version; Rec.Version) + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the version of the SAF-T file to be generated.'; + } field(StartingDate; "Starting Date") { ApplicationArea = Basic, Suite; @@ -214,6 +219,14 @@ page 10687 "SAF-T Export Card" IsParallelProcessingEnabled := TaskScheduler.CanCreateTask(); end; + trigger OnNewRecord(BelowxRec: Boolean) + var + SAFTSetup: Record "SAF-T Setup"; + begin + SAFTSetup.Get(); + Rec.Version := SAFTSetup."Default Version"; + end; + trigger OnAfterGetCurrRecord() begin CalcParallelProcessingEnabled(); diff --git a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCheck.Codeunit.al b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCheck.Codeunit.al index 143bb51a55..665ee8ea9b 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCheck.Codeunit.al +++ b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportCheck.Codeunit.al @@ -14,14 +14,13 @@ codeunit 10677 "SAF-T Export Check" trigger OnRun() var CompanyInformation: Record "Company Information"; - SAFTMappingHelper: Codeunit "SAF-T Mapping Helper"; SAFTExportMgt: Codeunit "SAF-T Export Mgt."; ErrorMessageManagement: Codeunit "Error Message Management"; begin TestField("Mapping Range Code"); TestField("Starting Date"); TestField("Ending Date"); - SAFTMappingHelper.VerifyMappingIsDone("Mapping Range Code"); + VerifyMapping(Rec); SAFTMappingHelper.VerifyDimensionsHaveAnalysisCode(); SAFTMappingHelper.VerifyVATPostingSetupHasTaxCodes(); SAFTMappingHelper.VerifySourceCodesHasSAFTCodes(); @@ -34,6 +33,27 @@ codeunit 10677 "SAF-T Export Check" end; var + SAFTMappingHelper: Codeunit "SAF-T Mapping Helper"; FieldValueIsNotSpecifiedErr: Label '%1 is not specified'; + local procedure VerifyMapping(SAFTExportHeader: Record "SAF-T Export Header") + var + IsHandled: Boolean; + begin + OnBeforeVerifyMapping(SAFTExportHeader, IsHandled); + if IsHandled then + exit; + case SAFTExportHeader.Version of + SAFTExportHeader.Version::"1.20": + SAFTMappingHelper.VerifyMappingIsDone(SAFTExportHeader."Mapping Range Code"); + SAFTExportHeader.Version::"1.30": + SAFTMappingHelper.VerifyMapping13IsDone(SAFTExportHeader."Mapping Range Code"); + end; + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeVerifyMapping(SAFTExportHeader: Record "SAF-T Export Header"; var IsHandled: Boolean) + begin + end; + } diff --git a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportHeader.Table.al b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportHeader.Table.al index 752e77bc1f..cbc217ea37 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportHeader.Table.al +++ b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportHeader.Table.al @@ -192,6 +192,10 @@ table 10682 "SAF-T Export Header" { Caption = 'Total G/L Entry Credit'; } + field(53; "Version"; Enum "SAF-T Version") + { + Caption = 'Version'; + } } keys diff --git a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportMgt.Codeunit.al b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportMgt.Codeunit.al index 5d12068a3b..1386d97b0c 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportMgt.Codeunit.al +++ b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExportMgt.Codeunit.al @@ -198,7 +198,7 @@ codeunit 10675 "SAF-T Export Mgt." if not SAFTExportHeader."Parallel Processing" then exit; - NoOfJobs := GetNoOfJobsInProgress(); + NoOfJobs := GetNoOfJobsInProgress(SAFTExportHeader); LogState(SAFTExportLine, StrSubstNo(NoOfJobsInProgressTxt, NoOfJobs), false); if NoOfJobs > SAFTExportHeader."Max No. Of Jobs" then exit; @@ -322,7 +322,7 @@ codeunit 10675 "SAF-T Export Mgt." else SAFTExportLine."Task ID" := TaskScheduler.CreateTask( - codeunit::"Generate SAF-T File", Codeunit::"SAF-T Export Error Handler", true, CompanyName(), + GetContentCodeunit(SAFTExportHeader), Codeunit::"SAF-T Export Error Handler", true, CompanyName(), NotBefore, SAFTExportLine.RecordId()); SAFTExportLine.Modify(true); Commit(); @@ -334,7 +334,7 @@ codeunit 10675 "SAF-T Export Mgt." Commit(); ClearLastError(); - if not codeunit.Run(codeunit::"Generate SAF-T File", SAFTExportLine) then + if not codeunit.Run(GetContentCodeunit(SAFTExportHeader), SAFTExportLine) then codeunit.Run(codeunit::"SAF-T Export Error Handler", SAFTExportLine); Commit(); end; @@ -809,11 +809,11 @@ codeunit 10675 "SAF-T Export Mgt." exit(not SessionEvent.IsEmpty()); end; - local procedure GetNoOfJobsInProgress(): Integer + local procedure GetNoOfJobsInProgress(SAFTExportHeader: Record "SAF-T Export Header"): Integer var ScheduledTask: Record "Scheduled Task"; begin - ScheduledTask.SetRange("Run Codeunit", Codeunit::"Generate SAF-T File"); + ScheduledTask.SetRange("Run Codeunit", GetContentCodeunit(SAFTExportHeader)); exit(ScheduledTask.Count()); end; @@ -846,6 +846,18 @@ codeunit 10675 "SAF-T Export Mgt." exit(true); end; + local procedure GetContentCodeunit(SAFTExportHeader: Record "SAF-T Export Header") CodeunitId: Integer + begin + case SAFTExportHeader.Version of + SAFTExportHeader.Version::"1.20": + exit(Codeunit::"Generate SAF-T File"); + SAFTExportHeader.Version::"1.30": + exit(Codeunit::"Generate SAF-T 1.3 File"); + else + OnGetContentCodeunitOnElse(CodeunitId, SAFTExportHeader); + end; + end; + [IntegrationEvent(false, false)] local procedure OnBeforeScheduleTask(var DoNotScheduleTask: Boolean; var TaskID: Guid) begin @@ -855,4 +867,9 @@ codeunit 10675 "SAF-T Export Mgt." local procedure OnBeforeCancelTask(var DoNotCancelTask: Boolean) begin end; + + [IntegrationEvent(false, false)] + local procedure OnGetContentCodeunitOnElse(var CodeunitID: Integer; SAFTExportHeader: Record "SAF-T Export Header") + begin + end; } diff --git a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExports.Page.al b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExports.Page.al index fba3b36d66..5dcc1f8182 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExports.Page.al +++ b/Apps/NO/NorwegianSAFT/app/src/Export Engine/SAFTExports.Page.al @@ -28,6 +28,11 @@ page 10686 "SAF-T Exports" ApplicationArea = Basic, Suite; ToolTip = 'Specifies the mapping range code that represents the SAF-T reporting period.'; } + field(Version; Rec.Version) + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the version of the SAF-T file to be generated.'; + } field(StartingDate; "Starting Date") { ApplicationArea = Basic, Suite; diff --git a/Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/SAFTMappingHelper.Codeunit.al b/Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/SAFTMappingHelper.Codeunit.al index bbd695cd20..a83c6218af 100644 --- a/Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/SAFTMappingHelper.Codeunit.al +++ b/Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/SAFTMappingHelper.Codeunit.al @@ -31,6 +31,7 @@ codeunit 10672 "SAF-T Mapping Helper" NoGLAccountMappingErr: Label 'No G/L account mapping was created for range ID %1', Comment = '%1 = any integer number'; MappingExistsErr: Label 'Mapping for category %1 with mapping code %2 already exists for range ID %3.', Comment = '%1 = category no., %2 = mapping code, %3 = any integer number'; MappingNotDoneErr: Label 'One or more G/L accounts do not have a mapping setup. Open the SAF-T Mapping Setup page for the selected mapping range and map each G/L account either to the standard account or the grouping code.'; + Mapping13NotDoneErr: Label 'One or more G/L accounts do not have a mapping setup. Open the SAF-T Mapping Setup page for the selected mapping range and map each G/L account either to the category code and mapping number.'; MappingDoneErr: Label 'One or more G/L accounts already have a mapping setup. Create a new mapping range with another mapping type.'; DimensionWithoutAnalysisCodeErr: Label 'One or more dimensions do not have a SAF-T analysis code. Open the Dimensions page and specify a SAF-T analysis code for each dimension.'; VATPostingSetupWithoutTaxCodeErr: Label 'One or more VAT posting setup do not have a %1. Open the VAT Posting Setup page and specify %1 for each VAT posting setup combination.'; @@ -400,6 +401,28 @@ codeunit 10672 "SAF-T Mapping Helper" end; end; + procedure VerifyMapping13IsDone(MappingRangeCode: Code[20]) + var + SAFTGLAccountMapping: Record "SAF-T G/L Account Mapping"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTMappingHelper: Codeunit "SAF-T Mapping Helper"; + begin + SAFTMappingHelper.UpdateGLEntriesExistStateForGLAccMapping(MappingRangeCode); + SAFTGLAccountMapping.SetRange("Mapping Range Code", MappingRangeCode); + SAFTGLAccountMapping.SetRange("Category No.", ''); + if not SAFTGLAccountMapping.IsEmpty() then begin + SAFTMappingRange.Get(MappingRangeCode); + LogError(SAFTMappingRange, Mapping13NotDoneErr); + exit; + end; + SAFTGLAccountMapping.SetRange("Category No."); + SAFTGLAccountMapping.SetRange("No.", ''); + if not SAFTGLAccountMapping.IsEmpty() then begin + SAFTMappingRange.Get(MappingRangeCode); + LogError(SAFTMappingRange, Mapping13NotDoneErr); + end; + end; + procedure VerifyNoMappingDone(SAFTMappingRange: Record "SAF-T Mapping Range") var SAFTGLAccountMapping: Record "SAF-T G/L Account Mapping"; diff --git a/Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/SAFTVersion.Enum.al b/Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/SAFTVersion.Enum.al new file mode 100644 index 0000000000..8beb83e4b5 --- /dev/null +++ b/Apps/NO/NorwegianSAFT/app/src/GLAccount Mapping/SAFTVersion.Enum.al @@ -0,0 +1,13 @@ +// ------------------------------------------------------------------------------------------------ +// 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.AuditFileExport; + +enum 10674 "SAF-T Version" +{ + Extensible = true; + + value(0; "1.20") { Caption = '1.20'; } + value(1; "1.30") { Caption = '1.30'; } +} \ No newline at end of file diff --git a/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Page.al b/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Page.al index 2bdac1f192..5e0e7f3e4a 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Page.al +++ b/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Page.al @@ -54,6 +54,11 @@ page 10690 "SAF-T Setup" ApplicationArea = Basic, Suite; ToolTip = 'Specifies the post code to use when no values specified in the customer or vendor card.'; } + field("Default Version"; Rec."Default Version") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the default version of the SAF-T report to use when exporting.'; + } } } } diff --git a/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Table.al b/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Table.al index d72e08ba60..d12dd656ae 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Table.al +++ b/Apps/NO/NorwegianSAFT/app/src/Install and Setup/SAFTSetup.Table.al @@ -88,6 +88,11 @@ table 10670 "SAF-T Setup" DataClassification = CustomerContent; Caption = 'Check Address'; } + field(26; "Default Version"; Enum "SAF-T Version") + { + DataClassification = CustomerContent; + Caption = 'Default Version'; + } } keys diff --git a/Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/SAFTTaxSetup.TableExt.al b/Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/SAFTTaxSetup.TableExt.al index 1f08df4e3f..28c9ceaa25 100644 --- a/Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/SAFTTaxSetup.TableExt.al +++ b/Apps/NO/NorwegianSAFT/app/src/Master Data Mapping/SAFTTaxSetup.TableExt.al @@ -34,6 +34,7 @@ tableextension 10679 "SAF-T Tax Setup" extends "VAT Posting Setup" VerifyTaxCodeExists("Purchase SAF-T Tax Code"); end; } +#if not CLEANSCHEMA26 field(10672; "Sales SAF-T Standard Tax Code"; Code[10]) { DataClassification = CustomerContent; @@ -52,6 +53,7 @@ tableextension 10679 "SAF-T Tax Setup" extends "VAT Posting Setup" ObsoleteState = Removed; ObsoleteTag = '26.0'; } +#endif } procedure AssignSAFTTaxCodes() diff --git a/Apps/NO/NorwegianSAFT/test/src/SAFTCheckTests.Codeunit.al b/Apps/NO/NorwegianSAFT/test/src/SAFTCheckTests.Codeunit.al index 778c4fb915..fd496a82be 100644 --- a/Apps/NO/NorwegianSAFT/test/src/SAFTCheckTests.Codeunit.al +++ b/Apps/NO/NorwegianSAFT/test/src/SAFTCheckTests.Codeunit.al @@ -19,6 +19,7 @@ codeunit 148104 "SAF-T Check Tests" SAFTMappingType: Enum "SAF-T Mapping Type"; IsInitialized: Boolean; MappingNotDoneErr: Label 'One or more G/L accounts do not have a mapping setup. Open the SAF-T Mapping Setup page for the selected mapping range and map each G/L account either to the standard account or the grouping code.'; + Mapping13NotDoneErr: Label 'One or more G/L accounts do not have a mapping setup. Open the SAF-T Mapping Setup page for the selected mapping range and map each G/L account either to the category code and mapping number.'; DimensionWithoutAnalysisCodeErr: Label 'One or more dimensions do not have a SAF-T analysis code. Open the Dimensions page and specify a SAF-T analysis code for each dimension.'; VATPostingSetupWithoutTaxCodeErr: Label 'One or more VAT posting setup do not have a %1. Open the VAT Posting Setup page and specify %1 for each VAT posting setup combination.', Comment = '%1 = Tax Code Field Caption'; SourceCodeWithoutSAFTCodeErr: Label 'One or more source codes do not have a SAF-T source code. Open the Source Codes page and specify a SAF-T source code for each source code.'; @@ -83,6 +84,35 @@ codeunit 148104 "SAF-T Check Tests" LibraryVariableStorage.AssertEmpty(); end; + [Test] + [HandlerFunctions('SingleErrorLogPageHandler')] + procedure ErrorMessageWhenLackOf13Mapping() + var + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + begin + // [FEATURE] [UI] + // [SCENARIO 309923] Error Messages page shown with errors on SAF-T file generation + + Initialize(); + SetupSAFT(SAFTMappingRange, SAFTMappingType::"Four Digit Standard Account"); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code); + SAFTExportHeader.Validate(Version, SAFTExportHeader.Version::"1.30"); + SAFTExportHeader.Modify(true); + + // [GIVEN] Post G/L entries in SAF-T Export period for G/L Account without mapping + SAFTTestHelper.PostRandomAmountForNumberOfMasterDataRecords(SAFTExportHeader."Starting Date", 1); + + LibraryVariableStorage.Enqueue(Mapping13NotDoneErr); + + // [WHEN] Generate SAF-T File + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Error log shown with all the missed information + // Handles by ErrorLogPageHandler + LibraryVariableStorage.AssertEmpty(); + end; + local procedure Initialize() begin LibraryTestInitialize.OnTestInitialize(CODEUNIT::"SAF-T Check Tests"); @@ -122,4 +152,10 @@ codeunit 148104 "SAF-T Check Tests" ErrorMessages.Next(); end; + [PageHandler] + procedure SingleErrorLogPageHandler(var ErrorMessages: TestPage "Error Messages") + begin + ErrorMessages.Description.AssertEquals(LibraryVariableStorage.DequeueText()); // mapping not done + end; + } diff --git a/Apps/NO/NorwegianSAFT/test/src/SAFTDataCheckTests.Codeunit.al b/Apps/NO/NorwegianSAFT/test/src/SAFTDataCheckTests.Codeunit.al index d7a386a001..a57772e027 100644 --- a/Apps/NO/NorwegianSAFT/test/src/SAFTDataCheckTests.Codeunit.al +++ b/Apps/NO/NorwegianSAFT/test/src/SAFTDataCheckTests.Codeunit.al @@ -519,19 +519,19 @@ codeunit 148107 "SAF-T Data Check Tests" var SAFTSetup: Record "SAF-T Setup"; begin - LibraryTestInitialize.OnTestInitialize(CODEUNIT::"SAF-T XML Tests"); + LibraryTestInitialize.OnTestInitialize(CODEUNIT::"SAF-T Data Check Tests"); LibrarySetupStorage.Restore(); if IsInitialized then exit; - LibraryTestInitialize.OnBeforeTestSuiteInitialize(CODEUNIT::"SAF-T XML Tests"); + LibraryTestInitialize.OnBeforeTestSuiteInitialize(CODEUNIT::"SAF-T Data Check Tests"); SAFTSetup.DeleteAll(); SAFTSetup.Init(); SAFTSetup.Insert(); LibrarySetupStorage.Save(Database::"SAF-T Setup"); LibrarySetupStorage.Save(Database::"Company Information"); IsInitialized := true; - LibraryTestInitialize.OnAfterTestSuiteInitialize(CODEUNIT::"SAF-T XML Tests"); + LibraryTestInitialize.OnAfterTestSuiteInitialize(CODEUNIT::"SAF-T Data Check Tests"); end; local procedure CreateCustomerWithFullData(var Customer: Record Customer) diff --git a/Apps/NO/NorwegianSAFT/test/src/SAFTTestHelper.Codeunit.al b/Apps/NO/NorwegianSAFT/test/src/SAFTTestHelper.Codeunit.al index 3f4dce6628..9e14c1bbca 100644 --- a/Apps/NO/NorwegianSAFT/test/src/SAFTTestHelper.Codeunit.al +++ b/Apps/NO/NorwegianSAFT/test/src/SAFTTestHelper.Codeunit.al @@ -126,6 +126,14 @@ codeunit 148099 "SAF-T Test Helper" SAFTExportHeader.Insert(true); end; + procedure CreateSAFTExportHeader(var SAFTExportHeader: Record "SAF-T Export Header"; MappingRangeCode: Code[20]; Version: Enum "SAF-T Version") + begin + SAFTExportHeader.Init(); + SAFTExportHeader.Validate("Mapping Range Code", MappingRangeCode); + SAFTExportHeader.Validate(Version, Version); + SAFTExportHeader.Insert(true); + end; + procedure RunSAFTExport(var SAFTExportHeader: Record "SAF-T Export Header") begin Codeunit.Run(Codeunit::"SAF-T Export Mgt.", SAFTExportHeader); diff --git a/Apps/NO/NorwegianSAFT/test/src/SAFTXMLTests13.Codeunit.al b/Apps/NO/NorwegianSAFT/test/src/SAFTXMLTests13.Codeunit.al new file mode 100644 index 0000000000..a2bc64dba1 --- /dev/null +++ b/Apps/NO/NorwegianSAFT/test/src/SAFTXMLTests13.Codeunit.al @@ -0,0 +1,2406 @@ +codeunit 148110 "SAF-T XML Tests 1.3" +{ + Subtype = Test; + TestPermissions = Disabled; + + trigger OnRun() + begin + // [FEATURE] [SAF-T] [XML] + end; + + var + LibraryTestInitialize: Codeunit "Library - Test Initialize"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; + LibraryRandom: Codeunit "Library - Random"; + LibraryUtility: Codeunit "Library - Utility"; + LibrarySales: Codeunit "Library - Sales"; + LibraryPurchase: Codeunit "Library - Purchase"; + LibraryERM: Codeunit "Library - ERM"; + LibraryDimension: Codeunit "Library - Dimension"; + SAFTTestHelper: Codeunit "SAF-T Test Helper"; + Assert: Codeunit Assert; + SAFTMappingType: Enum "SAF-T Mapping Type"; + IsInitialized: Boolean; + GenerateSAFTFileImmediatelyQst: Label 'Since you did not schedule the SAF-T file generation, it will be generated immediately which can take a while. Do you want to continue?'; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure MasterFile() + var + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + NumberOfMasterDataRecords: Integer; + begin + // [SCENARIO 309923] The first XML file generates by SAF-T Export functionality has master data + + Initialize(); + NumberOfMasterDataRecords := LibraryRandom.RandIntInRange(3, 5); + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", NumberOfMasterDataRecords); + SAFTTestHelper.PostRandomAmountForNumberOfMasterDataRecords(SAFTMappingRange."Ending Date", NumberOfMasterDataRecords); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + Assert.RecordCount(SAFTExportLine, 2); + SAFTExportLine.TestField("Master Data", true); + SAFTExportHeader.Find(); + SAFTExportHeader.TestField(Status, SAFTExportHeader.Status::Completed); + SAFTExportHeader.TestField("Execution Start Date/Time"); + SAFTExportHeader.TestField("Execution End Date/Time"); + + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + VerifyHeaderStructure(TempXMLBuffer, SAFTExportLine); + // TFS 348392: All G/L accounts are exports + // TFS 349472: Both Company Information's bank account and all records from Bank Acount table exports + // TFS 349472: All customer and vendor bank accounts exports + // TFS 350284: All xnl nodes predefined with 'n1:' + // TFS 350284: Both sales and purchase VAT Entry information exports + // TFS 372962: Customer and vendor with zero balance should be presented + // TFS 425270: Xml nodes values are encoded. The value '<&' must be exported as '&lt;&amp;' + // TFS 427679: Export all bank account data + // TFS 453255: Export bank account data depends on IBAN + // TFS 485839: VAT Registration No. field of the Company Information exports to the Registratuin Number xml node + VerifyMasterDataStructureWithStdAccMapping(TempXMLBuffer, SAFTExportHeader."Mapping Range Code", NumberOfMasterDataRecords); + LibraryVariableStorage.AssertEmpty(); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure OpeningDebitBalanceOnMasterData() + var + GLAccount: Record "G/L Account"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + BalanceAmount: Decimal; + ClosingAmount: Decimal; + begin + // [SCENARIO 309923] The master data information in the first XML file has OpeningDebitBalance + + Initialize(); + SetupSAFTSingleAcc( + SAFTMappingRange, SAFTMappingType::"Income Statement", GLAccount."Income/Balance"::"Balance Sheet"); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + BalanceAmount := LibraryRandom.RandDec(100, 2); + ClosingAmount := LibraryRandom.RandDec(100, 2); + SAFTTestHelper.MockEntriesForFirstRecordOfMasterData( + GLAccount."Income/Balance"::"Balance Sheet", SAFTExportHeader."Starting Date" - 1, + BalanceAmount, BalanceAmount, -BalanceAmount); + SAFTTestHelper.MockEntriesForFirstRecordOfMasterData( + GLAccount."Income/Balance"::"Balance Sheet", SAFTExportHeader."Starting Date", + ClosingAmount, ClosingAmount, ClosingAmount); + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + VerifyMasterDataBalance(TempXMLBuffer, 'OpeningDebitBalance', BalanceAmount); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure OpeningCreditBalanceOnMasterData() + var + GLAccount: Record "G/L Account"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + BalanceAmount: Decimal; + ClosingAmount: Decimal; + begin + // [SCENARIO 309923] The master data information in the first XML file has OpeningCreditBalance + + Initialize(); + SetupSAFTSingleAcc( + SAFTMappingRange, SAFTMappingType::"Income Statement", GLAccount."Income/Balance"::"Balance Sheet"); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + BalanceAmount := LibraryRandom.RandDec(100, 2); + ClosingAmount := LibraryRandom.RandDec(100, 2); + SAFTTestHelper.MockEntriesForFirstRecordOfMasterData( + GLAccount."Income/Balance"::"Balance Sheet", SAFTExportHeader."Starting Date" - 1, + -BalanceAmount, -BalanceAmount, BalanceAmount); + SAFTTestHelper.MockEntriesForFirstRecordOfMasterData( + GLAccount."Income/Balance"::"Balance Sheet", SAFTExportHeader."Starting Date", + ClosingAmount, ClosingAmount, ClosingAmount); + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + VerifyMasterDataBalance(TempXMLBuffer, 'OpeningCreditBalance', BalanceAmount); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure ClosingDebitBalanceOnMasterData() + var + GLAccount: Record "G/L Account"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + BalanceAmount: Decimal; + begin + // [SCENARIO 309923] The master data information in the first XML file has ClosingDebitBalance + + Initialize(); + SetupSAFTSingleAcc( + SAFTMappingRange, SAFTMappingType::"Income Statement", GLAccount."Income/Balance"::"Balance Sheet"); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + BalanceAmount := LibraryRandom.RandDec(100, 2); + SAFTTestHelper.MockEntriesForFirstRecordOfMasterData( + GLAccount."Income/Balance"::"Balance Sheet", SAFTExportHeader."Ending Date", + BalanceAmount, BalanceAmount, -BalanceAmount); + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + VerifyMasterDataBalance(TempXMLBuffer, 'ClosingDebitBalance', BalanceAmount); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure ClosingCreditBalanceOnMasterData() + var + GLAccount: Record "G/L Account"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + BalanceAmount: Decimal; + begin + // [SCENARIO 309923] The master data information in the first XML file has ClosingCreditBalance + + Initialize(); + SetupSAFTSingleAcc( + SAFTMappingRange, SAFTMappingType::"Income Statement", GLAccount."Income/Balance"::"Balance Sheet"); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + BalanceAmount := LibraryRandom.RandDec(100, 2); + SAFTTestHelper.MockEntriesForFirstRecordOfMasterData( + GLAccount."Income/Balance"::"Balance Sheet", SAFTExportHeader."Ending Date", + -BalanceAmount, -BalanceAmount, BalanceAmount); + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + VerifyMasterDataBalance(TempXMLBuffer, 'ClosingCreditBalance', BalanceAmount); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure GeneralLedgerEntryFile() + var + GLAccount: Record "G/L Account"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempSAFTSourceCode: Record "SAF-T Source Code" temporary; + SAFTSourceCode: Record "SAF-T Source Code"; + SourceCode: Record "Source Code"; + VATEntry: Record "VAT Entry"; + SAFTAnalysisType: Code[9]; + DimValueCode: Code[20]; + DimSetID: Integer; + JournalsNumber: Integer; + EntriesInTransactionNumber: Integer; + i: Integer; + j: Integer; + EntryType: Integer; + DocNo: Code[20]; + begin + // [SCENARIO 309923] The structure of the XML file with General Ledger Entries is correct + // [SCENARIO 331600] "NumberOfEntries" contains the number of transactions + // [SCENARIO 334997] "ReferenceNumber" xml node exports after "TaxInformation" section + // [SCENARIO 495176] "TransactionID" xml node contains the concatenated value of the "Posting Date" and "Document No." fields of the G/L Entry + + Initialize(); + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", LibraryRandom.RandInt(5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + EntriesInTransactionNumber := LibraryRandom.RandIntInRange(3, 5); + JournalsNumber := LibraryRandom.RandInt(5); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindFirst(); + SAFTTestHelper.SetDimensionForGLAccount(GLAccount."No.", SAFTAnalysisType, DimValueCode, DimSetID); + SAFTSourceCode.FindSet(); + for i := 1 to JournalsNumber do begin + SourceCode.SetRange("SAF-T Source Code", SAFTSourceCode.Code); + SourceCode.FindFirst(); + DocNo := LibraryUtility.GenerateGUID(); + for j := 1 to EntriesInTransactionNumber do + for EntryType := VATEntry.Type::Purchase to VATEntry.Type::Sale do begin + SAFTTestHelper.MockVATEntry(VATEntry, SAFTExportHeader."Ending Date", DocNo, EntryType, i); + SAFTTestHelper.MockGLEntryVATEntryLink( + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", VATEntry."Document No.", GLAccount."No.", + VATEntry."Transaction No.", DimSetID, VATEntry."VAT Bus. Posting Group", + VATEntry."VAT Prod. Posting Group", 0, '', SourceCode.Code, LibraryRandom.RandDec(100, 2), 0), + VATEntry."Entry No."); + end; + TempSAFTSourceCode := SAFTSourceCode; + TempSAFTSourceCode.Insert(); + SAFTSourceCode.Next(); + end; + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + Assert.RecordCount(SAFTExportLine, 2); + SAFTExportLine.Next(); + SAFTExportLine.TestField("Master Data", false); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + VerifyXMLFileHasHeader(TempXMLBuffer); + VerifyGLEntriesGroupedBySAFTSourceCode( + TempXMLBuffer, TempSAFTSourceCode, EntriesInTransactionNumber * 2, SAFTExportLine."Starting Date", SAFTExportLine."Ending Date", + SAFTAnalysisType, DimValueCode); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure CustomerIDExportsOncePerLine() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempResultElementXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Customer: Record Customer; + CustomerPostingGroup: Record "Customer Posting Group"; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + begin + // [SCENARIO 331600] "CustomerID" xml node exports only once per document + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", LibraryRandom.RandInt(5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + + // [GIVEN] Customer with posting group where "Receivables Account" = "X" + Customer.FindFirst(); + CustomerPostingGroup.Get(Customer."Customer Posting Group"); + + // [GIVEN] G/L account "Y" + GLAccount.SetFilter("No.", '<>%1', CustomerPostingGroup."Receivables Account"); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] Two G/L Entries with accounts "X" and "Y" + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, CustomerPostingGroup."Receivables Account", + 1, 0, 0, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', LibraryRandom.RandDec(100, 2), 0); + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + 1, 0, 0, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', LibraryRandom.RandDec(100, 2), 0); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] CustomerID xml node exists only for the first G/L entry + // TFS ID 389407: CustomerID exports for G/L Entry where G/L account is Receivables Account + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, + '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line'), + 'No G/L entries with CustomerID exported.'); + Assert.RecordCount(TempXMLBuffer, 2); + + SAFTTestHelper.FilterChildElementsByName(TempResultElementXMLBuffer, TempXMLBuffer, 'CustomerID'); + Assert.RecordIsNotEmpty(TempResultElementXMLBuffer); + + SAFTTestHelper.FindNextElement(TempXMLBuffer); + SAFTTestHelper.FilterChildElementsByName(TempResultElementXMLBuffer, TempXMLBuffer, 'CustomerID'); + Assert.RecordIsEmpty(TempResultElementXMLBuffer); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure SupplierIDExportsOncePerLine() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempResultElementXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Vendor: Record Vendor; + VendorPostingGroup: Record "Vendor Posting Group"; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + begin + // [SCENARIO 331600] "SupplierID" xml node exports only once per document + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", LibraryRandom.RandInt(5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + + // [GIVEN] Customer with posting group where "Receivables Account" = "X" + Vendor.FindFirst(); + VendorPostingGroup.GET(Vendor."Vendor Posting Group"); + + // [GIVEN] G/L account "Y" + GLAccount.SETFILTER("No.", '<>%1', VendorPostingGroup."Payables Account"); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] Two G/L Entries with accounts "X" and "Y" + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, VendorPostingGroup."Payables Account", + 1, 0, 0, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', LibraryRandom.RandDec(100, 2), 0); + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + 1, 0, 0, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', LibraryRandom.RandDec(100, 2), 0); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] SupplierID xml node exists only for the first G/L entry + // TFS ID 389407: SupplierID exports for G/L Entry where G/L account is Payables Account + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, + '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line'), + 'No G/L entries with CustomerID exported.'); + Assert.RecordCount(TempXMLBuffer, 2); + + SAFTTestHelper.FilterChildElementsByName(TempResultElementXMLBuffer, TempXMLBuffer, 'SupplierID'); + Assert.RecordIsNotEmpty(TempResultElementXMLBuffer); + + SAFTTestHelper.FindNextElement(TempXMLBuffer); + SAFTTestHelper.FilterChildElementsByName(TempResultElementXMLBuffer, TempXMLBuffer, 'SupplierID'); + Assert.RecordIsEmpty(TempResultElementXMLBuffer); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure GLAccountExportWithIncomeStatementMappingType() + var + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + NumberOfMasterDataRecords: Integer; + begin + // [SCENARIO 352458] The xml file of master data contains G/L account with income statement mapping if "Mapping Type" is "Income Statement" + + Initialize(); + NumberOfMasterDataRecords := LibraryRandom.RandIntInRange(3, 5); + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", NumberOfMasterDataRecords); + SAFTTestHelper.PostRandomAmountForNumberOfMasterDataRecords(SAFTMappingRange."Ending Date", NumberOfMasterDataRecords); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + VerifyGeneralLedgerAccountsWithIncomeStatementMapping(TempXMLBuffer, SAFTExportHeader."Mapping Range Code"); + LibraryVariableStorage.AssertEmpty(); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure GLEntryVATEntryLink() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Vendor: Record Customer; + GLEntry: Record "G/L Entry"; + VATEntry: array[2] of Record "VAT Entry"; + DocNo: Code[20]; + i: Integer; + begin + // [FEATURE] [VAT] + // [SCENARIO 359996] Each G/L Entry under the "Line" xml node has the correct VAT Entry under the "TaxInformation" node + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", LibraryRandom.RandInt(5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindFirst(); + Vendor.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] Two G/L Entries with the same document/transaction, each related to its own VAT Entry + // [GIVEN] VAT Entry 1: Base = 100, Amount = 21 + // [GIVEN] VAT Entry 2. Base = 200, Amount = 36 + SAFTTestHelper.MockVATEntry(VATEntry[2], SAFTExportHeader."Ending Date", VATEntry[1].Type::Purchase, 1); + for i := 1 to ArrayLen(VATEntry) do begin + SAFTTestHelper.MockVATEntry(VATEntry[i], SAFTExportHeader."Ending Date", VATEntry[i].Type::Purchase, 1); + SAFTTestHelper.MockGLEntryVATEntryLink( + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + 1, 0, GLEntry."Gen. Posting Type"::Purchase, VATEntry[i]."VAT Bus. Posting Group", + VATEntry[i]."VAT Prod. Posting Group", GLEntry."Source Type"::Vendor, Vendor."No.", '', LibraryRandom.RandDec(100, 2), 0), + VATEntry[i]."Entry No."); + end; + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] The following nodes have exported: + // [THEN] n1:Line/n1:TaxInformation/n1:TaxBase. Value: 100 + // [THEN] n1:Line/n1:TaxInformation/n1:TaxAmount/n1:Amount. Value: 21 + // [THEN] n1:Line/n1:TaxInformation/n1:TaxBase. Value: 200 + // [THEN] n1:Line/n1:TaxInformation/n1:TaxAmount/n1:Amount. Value: 36 + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, + '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:TaxInformation/n1:TaxBase'), + 'A TaxBase xml node hasn''t found'); + Assert.RecordCount(TempXMLBuffer, 2); + SAFTTestHelper.AssertCurrentElementValue(TempXMLBuffer, 'n1:TaxBase', SAFTTestHelper.FormatAmount(VATEntry[1].Base)); + TempXMLBuffer.Next(); + SAFTTestHelper.AssertCurrentElementValue(TempXMLBuffer, 'n1:TaxBase', SAFTTestHelper.FormatAmount(VATEntry[2].Base)); + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, + '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:TaxInformation/n1:DebitTaxAmount/n1:Amount'), + 'A TaxAmount xml node hasn''t found'); + Assert.RecordCount(TempXMLBuffer, 2); + SAFTTestHelper.AssertCurrentElementValue(TempXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(VATEntry[1].Amount)); + TempXMLBuffer.Next(); + SAFTTestHelper.AssertCurrentElementValue(TempXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(VATEntry[2].Amount)); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure LastModifiedDateTimeExportsToSystemEntryDateXMLNode() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Customer: Record Customer; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + begin + // [SCENARIO 360658] A value of "Last Modified DateTime" exports to the SystemEntryDate xml node + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", LibraryRandom.RandInt(5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindFirst(); + Customer.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] A G/L Entry with "Last Modified DateTime" = "X" and "Posting Date" = "Y" + GLEntry.Get( + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + 1, 0, GLEntry."Gen. Posting Type"::Sale, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', LibraryRandom.RandDec(100, 2), 0)); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] SystemEntryDate xml node has value "X" + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, + '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:SystemEntryDate'), + 'No G/L entries with SystemEntryDate exported.'); + Assert.RecordCount(TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue( + TempXMLBuffer, 'n1:SystemEntryDate', + SAFTTestHelper.FormatDate(DT2Date(GLEntry."Last Modified DateTime"))); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure PostingDateExportsToSystemEntryDateXMLNode() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Customer: Record Customer; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + begin + // [SCENARIO 360658] A value of "Posting Date" exports to the SystemEntryDate xml node when "Last Modified DateTime" is blank + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", LibraryRandom.RandInt(5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindFirst(); + Customer.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] A G/L Entry with blank "Last Modified DateTime" and "Posting Date" = "Y" + GLEntry.Get( + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + 1, 0, GLEntry."Gen. Posting Type"::Sale, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', LibraryRandom.RandDec(100, 2), 0)); + GLEntry.Validate("Last Modified DateTime", 0DT); + GLEntry.Modify(); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] SystemEntryDate xml node has value "Y" + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, + '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:SystemEntryDate'), + 'No G/L entries with SystemEntryDate exported.'); + Assert.RecordCount(TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue( + TempXMLBuffer, 'n1:SystemEntryDate', + SAFTTestHelper.FormatDate(GLEntry."Posting Date")); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure CustomerIDWithZeroBalanceInvoiceAndPayment(); + var + SAFTExportHeader: Record "SAF-T Export Header"; + Customer: Record Customer; + CustNo: Code[20]; + Cust2No: Code[20]; + Amount: Decimal; + begin + // [SCENARIO 372962] CustomerID of Customer with zero balance and non-zero sales must be presented in XML + Initialize(); + + // [GIVEN] SAF-T Setup + BasicSAFTSetup(SAFTExportHeader); + + // [GIVEN] Customer with 2 Customer Ledger Entries - Invoice and Payment + Customer.FindFirst(); + CustNo := Customer."No."; + Amount := LibraryRandom.RandIntInRange(100, 1000); + SAFTTestHelper.MockCustLedgEntry( + SAFTExportHeader."Starting Date", CustNo, Amount, Amount, "Gen. Journal Document Type"::Invoice); + SAFTTestHelper.MockCustLedgEntry( + SAFTExportHeader."Starting Date", CustNo, 0, -Amount, "Gen. Journal Document Type"::Payment); + + // [GIVEN] Customer2 without any ledger entries + Cust2No := LibrarySales.CreateCustomerNo(); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file contains the 'n1:CustomerID' for Customer with zero balance + VerifyXMLNodeOfMasterFile(SAFTExportHeader, 'CustomerID', CustNo); + + // [THEN] Master file does not contain the 'n1:CustomerID' for Customer2 + VerifyNonExistingXMLNodeOfMasterFile(SAFTExportHeader, 'CustomerID', Cust2No); + LibraryVariableStorage.AssertEmpty(); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure VendorIDWithZeroBalanceInvoiceAndPayment(); + var + SAFTExportHeader: Record "SAF-T Export Header"; + Vendor: Record Vendor; + VendNo: Code[20]; + Vend2No: Code[20]; + Amount: Decimal; + begin + // [SCENARIO 372962] SupplierID of Vendor with zero balance and non-zero sales must be presented in XML + Initialize(); + + // [GIVEN] SAF-T Setup + BasicSAFTSetup(SAFTExportHeader); + + // [GIVEN] Vendor with 2 Vendor Ledger Entries - Invoice and Payment + Vendor.FindFirst(); + VendNo := Vendor."No."; + Amount := LibraryRandom.RandIntInRange(100, 1000); + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date", VendNo, Amount, Amount, "Gen. Journal Document Type"::Invoice); + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date", VendNo, 0, -Amount, "Gen. Journal Document Type"::Payment); + + // [GIVEN] Vendor2 without any ledger entries + Vend2No := LibraryPurchase.CreateVendorNo(); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file contains the 'n1:SupplierID' for Vendor with zero balance + VerifyXMLNodeOfMasterFile(SAFTExportHeader, 'SupplierID', VendNo); + + // [THEN] Master file does not contain the 'n1:SupplierID' for Vendor2 + VerifyNonExistingXMLNodeOfMasterFile(SAFTExportHeader, 'SupplierID', Vend2No); + LibraryVariableStorage.AssertEmpty(); + END; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure CustomerIDWithZeroBalanceInvoiceAndCreditMemo(); + var + SAFTExportHeader: Record "SAF-T Export Header"; + Customer: Record Customer; + CustNo: Code[20]; + Amount: Decimal; + begin + // [SCENARIO 372962] CustomerID of Customer with zero balance and non-zero sales must be presented in XML + Initialize(); + + // [GIVEN] SAF-T Setup + BasicSAFTSetup(SAFTExportHeader); + + // [GIVEN] Customer with 2 Customer Ledger Entries - Invoice and Credit Memo + Customer.FindFirst(); + CustNo := Customer."No."; + Amount := LibraryRandom.RandIntInRange(100, 1000); + SAFTTestHelper.MockCustLedgEntry( + SAFTExportHeader."Starting Date", CustNo, Amount, Amount, "Gen. Journal Document Type"::Invoice); + SAFTTestHelper.MockCustLedgEntry( + SAFTExportHeader."Starting Date", CustNo, -Amount, -Amount, "Gen. Journal Document Type"::"Credit Memo"); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file contains the 'n1:CustomerID' for Customer with zero balance + VerifyXMLNodeOfMasterFile(SAFTExportHeader, 'CustomerID', CustNo); + LibraryVariableStorage.AssertEmpty(); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure VendorIDWithZeroBalanceInvoiceAndCreditMemo(); + var + SAFTExportHeader: Record "SAF-T Export Header"; + Vendor: Record Vendor; + VendNo: Code[20]; + Amount: Decimal; + begin + // [SCENARIO 372962] SupplierID of Vendor with zero balance and non-zero sales must be presented in XML + Initialize(); + + // [GIVEN] SAF-T Setup + BasicSAFTSetup(SAFTExportHeader); + + // [GIVEN] Vendor with 2 Vendor Ledger Entries - Invoice and Credit Memo + Vendor.FindFirst(); + VendNo := Vendor."No."; + Amount := LibraryRandom.RandIntInRange(100, 1000); + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date", VendNo, Amount, Amount, "Gen. Journal Document Type"::Invoice); + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date", VendNo, -Amount, -Amount, "Gen. Journal Document Type"::"Credit Memo"); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file contains the 'n1:SupplierID' for Vendor with zero balance + VerifyXMLNodeOfMasterFile(SAFTExportHeader, 'SupplierID', VendNo); + LibraryVariableStorage.AssertEmpty(); + END; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure DefaultPostCodeUsesWhenCustomerOrVendorHasNoPostCode() + var + SAFTSetup: Record "SAF-T Setup"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + Vendor: Record Vendor; + VendorLedgerEntry: Record "Vendor Ledger Entry"; + Customer: Record Customer; + CustLedgerEntry: Record "Cust. Ledger Entry"; + TempXMLBuffer: Record "XML Buffer" temporary; + begin + // [SCENARIO 389723] A "Default Post Code" of the SAF-T setup uses when customer or vendor does not have their own post code + + Initialize(); + + // [GIVEN] SAF-T Setup with single customer and vendor + BasicSAFTSetup(SAFTExportHeader); + + // [GIVEN] Customer and vendor does not have the value of Post Code + Customer.FindFirst(); + Customer.Validate("Post Code", ''); + Customer.Modify(true); + SAFTTestHelper.MockCustLedgEntry( + SAFTExportHeader."Starting Date", Customer."No.", 1, 1, CustLedgerEntry."Document Type"::Invoice); + Vendor.FindFirst(); + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date", Vendor."No.", 1, 1, VendorLedgerEntry."Document Type"::Invoice); + + // [GIVEN] "Default Post Code" of the SAF-T Setup is "X" + SAFTSetup.Get(); + SAFTSetup."Default Post Code" := LibraryUtility.GenerateGUID(); + SAFTSetup.Modify(); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file contains the 'n1:Customers/n1:Customer/n1:Address/n1:PostalCode' xml node for customer and vendor with "X" value + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + SAFTTestHelper.AssertCurrentValue( + TempXMLBuffer, + '/n1:AuditFile/n1:MasterFiles/n1:Customers/n1:Customer/n1:Address/n1:PostalCode', SAFTSetup."Default Post Code"); + SAFTTestHelper.AssertCurrentValue( + TempXMLBuffer, + '/n1:AuditFile/n1:MasterFiles/n1:Vendors/n1:Vendor/n1:Address/n1:PostalCode', SAFTSetup."Default Post Code"); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure VendCurrencyInformationExportsWhenExportCurrencyOptionEnabled() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Vendor: Record Vendor; + Currency: Record Currency; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + GLEntryNo: Integer; + TransactionNo: Integer; + Amount: Decimal; + AmountLCY: Decimal; + CurrGLAccNo: array[4] of Code[20]; + CurrAdjmtAmount: array[4] of Decimal; + ExchangeRate: Decimal; + i: integer; + begin + // [FEATURE] [Currency] [Purchase] + // [SCENARIO 399930] Only G/L Entries xml node associated with the vendor ledger entry has with currency and not relation to gains/loss account has the information about the currency code and exchange rate + // [SCENARIO 300030] when "Export Currency Information" option is enabled in the SAF-T export card + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + // "Export Currency Information" is enabled by default + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindSet(); + Vendor.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L entry with "Entry No."" = "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + AmountLCY := LibraryRandom.RandDec(100, 2); + ExchangeRate := round(1 / LibraryRandom.RandIntInRange(5, 10), 0.00001); + Amount := Round(AmountLCY / ExchangeRate); + GLEntry.SetCurrentKey("Transaction No."); + if GLEntry.FindLast() then; + TransactionNo := GLEntry."Transaction No." + 1; + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', AmountLCY, 0); + + // [GIVEN] Currency with "Unrealized Gain Acc." = "U1", "Unrealized Loss Acc." = "U2", "Realized Gain Acc." = "R1", "Realized Loss Acc." = "R2" + LibraryERM.CreateCurrency(Currency); + for i := 1 to ArrayLen(CurrGLAccNo) do begin + GLAccount.Next(); + CurrGLAccNo[i] := GLAccount."No."; + CurrAdjmtAmount[i] := LibraryRandom.RandDec(100, 2); + end; + Currency.Validate("Unrealized Gains Acc.", CurrGLAccNo[1]); + Currency.Validate("Unrealized Losses Acc.", CurrGLAccNo[2]); + Currency.Validate("Realized Gains Acc.", CurrGLAccNo[3]); + Currency.Validate("Realized Losses Acc.", CurrGLAccNo[4]); + Currency.Modify(true); + + // [GIVEN] Four G/L entries with "Transaction No." = "Y" and G/L Accounts "U1", "U2", "R1", "R2" + for i := 1 to ArrayLen(CurrGLAccNo) do + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, CurrGLAccNo[i], + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', CurrAdjmtAmount[i], 0); + + // [GIVEN] G/L entry with "Entry No."" <> "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + GLAccount.Next(); + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', AmountLCY, 0); + + // [GIVEN] Vendor Ledger Entry with "Entry No." = "X", "Transaction No." = "Y", Amount = 80 and "Amount (LCY)" = 100 + SAFTTestHelper.MockVendLedgEntry( + GLEntryNo, SAFTExportHeader."Starting Date", Vendor."No.", TransactionNo, Currency.Code, Amount, Amount, AmountLCY, AmountLCY / Amount, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] Six "n1:Transaction/n1:Line/n1:DebitAmount" nodes have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:DebitAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 6); + // [THEN] The first one has "n1:Amount, "n1:CurrencyCode", "n1:CurrencyAmount" and "n1:ExchangeRate" + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + // [THEN] The second to fifth have only "n1:Amount"" " + for i := 1 to ArrayLen(CurrGLAccNo) do begin + TempXMLBuffer.Next(); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(CurrAdjmtAmount[i])); + end; + // [THEN] The sixth one has "n1:Amount, "n1:CurrencyCode", "n1:CurrencyAmount" and "n1:ExchangeRate" + TempXMLBuffer.Next(); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure CustCurrencyInformationExportsWhenExportCurrencyOptionEnabled() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Customer: Record Customer; + Currency: Record Currency; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + GLEntryNo: Integer; + TransactionNo: Integer; + Amount: Decimal; + AmountLCY: Decimal; + CurrGLAccNo: array[4] of Code[20]; + CurrAdjmtAmount: array[4] of Decimal; + ExchangeRate: Decimal; + i: integer; + begin + // [FEATURE] [Currency] [Sales] + // [SCENARIO 399930] Only G/L Entries xml node associated with the customer ledger entry has with currency and not relation to gains/loss account has the information about the currency code and exchange rate + // [SCENARIO 300030] when "Export Currency Information" option is enabled in the SAF-T export card + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + // "Export Currency Information" is enabled by default + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindSet(); + Customer.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L entry with "Entry No."" = "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + AmountLCY := LibraryRandom.RandDec(100, 2); + ExchangeRate := round(1 / LibraryRandom.RandIntInRange(5, 10), 0.00001); + Amount := Round(AmountLCY / ExchangeRate); + GLEntry.SetCurrentKey("Transaction No."); + if GLEntry.FindLast() then; + TransactionNo := GLEntry."Transaction No." + 1; + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Sale, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', AmountLCY, 0); + + // [GIVEN] Currency with "Unrealized Gain Acc." = "U1", "Unrealized Loss Acc." = "U2", "Realized Gain Acc." = "R1", "Realized Loss Acc." = "R2" + LibraryERM.CreateCurrency(Currency); + for i := 1 to ArrayLen(CurrGLAccNo) do begin + GLAccount.Next(); + CurrGLAccNo[i] := GLAccount."No."; + CurrAdjmtAmount[i] := LibraryRandom.RandDec(100, 2); + end; + Currency.Validate("Unrealized Gains Acc.", CurrGLAccNo[1]); + Currency.Validate("Unrealized Losses Acc.", CurrGLAccNo[2]); + Currency.Validate("Realized Gains Acc.", CurrGLAccNo[3]); + Currency.Validate("Realized Losses Acc.", CurrGLAccNo[4]); + Currency.Modify(true); + + // [GIVEN] Four G/L entries with "Transaction No." = "Y" and G/L Accounts "U1", "U2", "R1", "R2" + for i := 1 to ArrayLen(CurrGLAccNo) do + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, CurrGLAccNo[i], + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', CurrAdjmtAmount[i], 0); + + // [GIVEN] G/L entry with "Entry No."" <> "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + GLAccount.Next(); + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', AmountLCY, 0); + + // [GIVEN] Customer Ledger Entry with "Entry No." = "X", "Transaction No." = "Y", Amount = 80 and "Amount (LCY)" = 100 + SAFTTestHelper.MockCustLedgEntry( + GLEntryNo, SAFTExportHeader."Starting Date", Customer."No.", TransactionNo, Currency.Code, Amount, Amount, AmountLCY, AmountLCY / Amount, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] Six "n1:Transaction/n1:Line/n1:DebitAmount" nodes have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:DebitAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 6); + // [THEN] The first one has "n1:Amount, "n1:CurrencyCode", "n1:CurrencyAmount" and "n1:ExchangeRate" + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + // [THEN] The second to fifth have only "n1:Amount"" " + for i := 1 to ArrayLen(CurrGLAccNo) do begin + TempXMLBuffer.Next(); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(CurrAdjmtAmount[i])); + end; + // [THEN] The sixth one has "n1:Amount, "n1:CurrencyCode", "n1:CurrencyAmount" and "n1:ExchangeRate" + TempXMLBuffer.Next(); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure BankCurrencyInformationExportsWhenExportCurrencyOptionEnabled() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + BankAccount: Record "Bank Account"; + Currency: Record Currency; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + GLEntryNo: Integer; + TransactionNo: Integer; + Amount: Decimal; + AmountLCY: Decimal; + CurrGLAccNo: array[4] of Code[20]; + CurrAdjmtAmount: array[4] of Decimal; + ExchangeRate: Decimal; + i: integer; + begin + // [FEATURE] [Currency] [Bank] + // [SCENARIO 399930] Only G/L Entries xml node associated with the bank ledger entry has with currency and not relation to gains/loss account has the information about the currency code and exchange rate + // [SCENARIO 300030] when "Export Currency Information" option is enabled in the SAF-T export card + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + // "Export Currency Information" is enabled by default + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindSet(); + BankAccount.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L entry with "Entry No."" = "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + AmountLCY := LibraryRandom.RandDec(100, 2); + ExchangeRate := round(1 / LibraryRandom.RandIntInRange(5, 10), 0.00001); + Amount := Round(AmountLCY / ExchangeRate); + GLEntry.SetCurrentKey("Transaction No."); + if GLEntry.FindLast() then; + TransactionNo := GLEntry."Transaction No." + 1; + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Sale, '', + '', GLEntry."Source Type"::"Bank Account", BankAccount."No.", '', AmountLCY, 0); + + // [GIVEN] Currency with "Unrealized Gain Acc." = "U1", "Unrealized Loss Acc." = "U2", "Realized Gain Acc." = "R1", "Realized Loss Acc." = "R2" + LibraryERM.CreateCurrency(Currency); + for i := 1 to ArrayLen(CurrGLAccNo) do begin + GLAccount.Next(); + CurrGLAccNo[i] := GLAccount."No."; + CurrAdjmtAmount[i] := LibraryRandom.RandDec(100, 2); + end; + Currency.Validate("Unrealized Gains Acc.", CurrGLAccNo[1]); + Currency.Validate("Unrealized Losses Acc.", CurrGLAccNo[2]); + Currency.Validate("Realized Gains Acc.", CurrGLAccNo[3]); + Currency.Validate("Realized Losses Acc.", CurrGLAccNo[4]); + Currency.Modify(true); + + // [GIVEN] Four G/L entries with "Transaction No." = "Y" and G/L Accounts "U1", "U2", "R1", "R2" + for i := 1 to ArrayLen(CurrGLAccNo) do + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, CurrGLAccNo[i], + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::"Bank Account", BankAccount."No.", '', CurrAdjmtAmount[i], 0); + + // [GIVEN] G/L entry with "Entry No."" <> "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + GLAccount.Next(); + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::"Bank Account", BankAccount."No.", '', AmountLCY, 0); + + // [GIVEN] Bank Ledger Entry with "Entry No." = "X", "Transaction No." = "Y", Amount = 80 and "Amount (LCY)" = 100 + SAFTTestHelper.MockBankLedgEntry( + GLEntryNo, SAFTExportHeader."Starting Date", BankAccount."No.", TransactionNo, Currency.Code, Amount, AmountLCY, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] Six "n1:Transaction/n1:Line/n1:DebitAmount" nodes have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:DebitAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 6); + // [THEN] The first one has "n1:Amount, "n1:CurrencyCode", "n1:CurrencyAmount" and "n1:ExchangeRate" + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + // [THEN] The second to fifth have only "n1:Amount"" " + for i := 1 to ArrayLen(CurrGLAccNo) do begin + TempXMLBuffer.Next(); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(CurrAdjmtAmount[i])); + end; + // [THEN] The sixth one has "n1:Amount, "n1:CurrencyCode", "n1:CurrencyAmount" and "n1:ExchangeRate" + TempXMLBuffer.Next(); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure NoCurrencyInformationExportsWhenExportCurrencyOptionDisabled() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Vendor: Record Vendor; + Currency: Record Currency; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + GLEntryNo: Integer; + TransactionNo: Integer; + Amount: Decimal; + AmountLCY: Decimal; + CurrGLAccNo: array[4] of Code[20]; + CurrAdjmtAmount: array[4] of Decimal; + ExchangeRate: Decimal; + i: integer; + begin + // [FEATURE] [Currency] + // [SCENARIO 399930] No G/L Entries xml node associated with the customer ledger entry has with currency and not relation to gains/loss account has the information about the currency code and exchange rate + // [SCENARIO 300030] when "Export Currency Information" option is disabled in the SAF-T export card + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + SAFTExportHeader.Validate("Export Currency Information", false); + SAFTExportHeader.Modify(true); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindSet(); + Vendor.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L entry with "Entry No."" = "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + AmountLCY := LibraryRandom.RandDec(100, 2); + ExchangeRate := round(1 / LibraryRandom.RandIntInRange(5, 10), 0.00001); + Amount := Round(AmountLCY / ExchangeRate); + GLEntry.SetCurrentKey("Transaction No."); + if GLEntry.FindLast() then; + TransactionNo := GLEntry."Transaction No." + 1; + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', AmountLCY, 0); + + // [GIVEN] Currency with "Unrealized Gain Acc." = "U1", "Unrealized Loss Acc." = "U2", "Realized Gain Acc." = "R1", "Realized Loss Acc." = "R2" + LibraryERM.CreateCurrency(Currency); + for i := 1 to ArrayLen(CurrGLAccNo) do begin + GLAccount.Next(); + CurrGLAccNo[i] := GLAccount."No."; + CurrAdjmtAmount[i] := LibraryRandom.RandDec(100, 2); + end; + Currency.Validate("Unrealized Gains Acc.", CurrGLAccNo[1]); + Currency.Validate("Unrealized Losses Acc.", CurrGLAccNo[2]); + Currency.Validate("Realized Gains Acc.", CurrGLAccNo[3]); + Currency.Validate("Realized Losses Acc.", CurrGLAccNo[4]); + Currency.Modify(true); + + // [GIVEN] Four G/L entries with "Transaction No." = "Y" and G/L Accounts "U1", "U2", "R1", "R2" + for i := 1 to ArrayLen(CurrGLAccNo) do + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, CurrGLAccNo[i], + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', CurrAdjmtAmount[i], 0); + + // [GIVEN] G/L entry with "Entry No."" <> "X", "Transaction No." = "Y" and Amount = 100 (Amount LCY) + GLAccount.Next(); + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', AmountLCY, 0); + + // [GIVEN] Vendor Ledger Entry with "Entry No." = "X", "Transaction No." = "Y", Amount = 80 and "Amount (LCY)" = 100 + SAFTTestHelper.MockVendLedgEntry( + GLEntryNo, SAFTExportHeader."Starting Date", Vendor."No.", TransactionNo, Currency.Code, Amount, Amount, AmountLCY, AmountLCY / Amount, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] All six "n1:Transaction/n1:Line/n1:DebitAmount" nodes which have been generated do not have currency information and only + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:DebitAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 6); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(AmountLCY)); + TempXMLBuffer.Next(); + for i := 1 to ArrayLen(CurrAdjmtAmount) do begin + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(CurrAdjmtAmount[i])); + TempXMLBuffer.Next(); + end; + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(AmountLCY)); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure ExportCurrencyBlockWithZeroVendGLEntryAmount() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Vendor: Record Vendor; + Currency: Record Currency; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + GLEntryNo: Integer; + TransactionNo: Integer; + Amount: Decimal; + AmountLCY: Decimal; + ExchangeRate: Decimal; + begin + // [FEATURE] [Currency] [Purchase] + // [SCENARIO 460063] Stan has a currency information XML block in the output file if the vendor G/L Entry amount is zero + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + // "Export Currency Information" is enabled by default + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindSet(); + Vendor.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L entry with "Entry No."" = "X", "Transaction No." = "Y" and Amount = 0 + AmountLCY := 0; + Amount := 0.1; + ExchangeRate := 0.1; + GLEntry.SetCurrentKey("Transaction No."); + if GLEntry.FindLast() then; + TransactionNo := GLEntry."Transaction No." + 1; + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Purchase, '', + '', GLEntry."Source Type"::Vendor, Vendor."No.", '', AmountLCY, 0); + + // [GIVEN] Vendor Ledger Entry with "Entry No." = "X", "Currency Code" = EUR, "Transaction No." = "Y", Amount = 0.1 and "Amount (LCY)" = 0 + LibraryERM.CreateCurrency(Currency); + SAFTTestHelper.MockVendLedgEntry( + GLEntryNo, SAFTExportHeader."Starting Date", Vendor."No.", TransactionNo, Currency.Code, Amount, Amount, AmountLCY, ExchangeRate, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] One "n1:Transaction/n1:Line/n1:CreditAmount" node have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:CreditAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 1); + // [THEN] The node has subnodes: "n1:Amount" = 0, "n1:CurrencyCode" = EUR, "n1:CurrencyAmount" = 0.1 and "n1:ExchangeRate" = 0.1 + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure ExportCurrencyBlockWithZeroCustGLEntryAmount() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + Customer: Record Customer; + Currency: Record Currency; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + GLEntryNo: Integer; + TransactionNo: Integer; + Amount: Decimal; + AmountLCY: Decimal; + ExchangeRate: Decimal; + begin + // [FEATURE] [Currency] [Sales] + // [SCENARIO 460063] Stan has a currency information XML block in the output file if the customer G/L Entry amount is zero + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + // "Export Currency Information" is enabled by default + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindSet(); + Customer.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L entry with "Entry No."" = "X", "Transaction No." = "Y" and Amount = 0 + AmountLCY := 0; + Amount := 0.1; + ExchangeRate := 0.1; + GLEntry.SetCurrentKey("Transaction No."); + if GLEntry.FindLast() then; + TransactionNo := GLEntry."Transaction No." + 1; + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Sale, '', + '', GLEntry."Source Type"::Customer, Customer."No.", '', AmountLCY, 0); + + // [GIVEN] Customer Ledger Entry with "Entry No." = "X", "Currency Code" = EUR, "Transaction No." = "Y", Amount = 0.1 and "Amount (LCY)" = 0 + LibraryERM.CreateCurrency(Currency); + SAFTTestHelper.MockCustLedgEntry( + GLEntryNo, SAFTExportHeader."Starting Date", Customer."No.", TransactionNo, Currency.Code, Amount, Amount, AmountLCY, ExchangeRate, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] One "n1:Transaction/n1:Line/n1:CreditAmount" node have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:CreditAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 1); + // [THEN] The node has subnodes: "n1:Amount" = 0, "n1:CurrencyCode" = EUR, "n1:CurrencyAmount" = 0.1 and "n1:ExchangeRate" = 0.1 + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, ExchangeRate); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure ExportCurrencyBlockWithZeroBankGLEntryAmount() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GLAccount: Record "G/L Account"; + BankAccount: Record "Bank Account"; + Currency: Record Currency; + GLEntry: Record "G/L Entry"; + DocNo: Code[20]; + GLEntryNo: Integer; + TransactionNo: Integer; + Amount: Decimal; + AmountLCY: Decimal; + ExchangeRate: Decimal; + begin + // [FEATURE] [Currency] [Bank] + // [SCENARIO 460063] Stan has a currency information XML block in the output file if the bank G/L Entry amount is zero + + Initialize(); + + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + // "Export Currency Information" is enabled by default + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + + DocNo := LibraryUtility.GenerateGUID(); + GLAccount.SetRange("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); + GLAccount.FindSet(); + BankAccount.FindFirst(); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L entry with "Entry No."" = "X", "Transaction No." = "Y" and Amount = 0 + AmountLCY := 0; + Amount := 0.1; + ExchangeRate := 0.1; + GLEntry.SetCurrentKey("Transaction No."); + if GLEntry.FindLast() then; + TransactionNo := GLEntry."Transaction No." + 1; + GLEntryNo := + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", DocNo, GLAccount."No.", + TransactionNo, 0, GLEntry."Gen. Posting Type"::Sale, '', + '', GLEntry."Source Type"::"Bank Account", BankAccount."No.", '', AmountLCY, 0); + + // [GIVEN] Bank Ledger Entry with "Entry No." = "X", "Currency Code" = EUR, "Transaction No." = "Y", Amount = 0.1 and "Amount (LCY)" = 0 + LibraryERM.CreateCurrency(Currency); + SAFTTestHelper.MockBankLedgEntry( + GLEntryNo, SAFTExportHeader."Starting Date", BankAccount."No.", TransactionNo, Currency.Code, Amount, AmountLCY, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] One "n1:Transaction/n1:Line/n1:CreditAmount" node have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:CreditAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 1); + // [THEN] The node has subnodes: "n1:Amount" = 0, "n1:CurrencyCode" = EUR, "n1:CurrencyAmount" = 0.1 and "n1:ExchangeRate" = 0 + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo(TempChildXMLBuffer, Currency.Code, Amount, AmountLCY, 0); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure GLEntryTotalsContainValuesFromAllPeriods() + var + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + TempXMLBuffer: Record "XML Buffer" temporary; + Amount: array[2] of Decimal; + begin + // [SCENARIO 485839] G/L Entry Totals xml nodes contain values from all periods when SAF-T file splitted to multiple periods + + Initialize(); + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", LibraryRandom.RandInt(5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + // [GIVEN] SAF-T Export with "Starting Date" = 01.01.2023 and "Ending Date" = 01.02.2023 + // [GIVEN] "Split by Month" option is enabled + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] G/L Entry with "Transaction No." = 1, "Posting Date" = 01.01.2023 and Debit = 100 + Amount[1] := LibraryRandom.RandDec(100, 2); + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Starting Date", LibraryUtility.GenerateGUID(), '', + 1, 0, 0, '', '', 0, '', '', Amount[1], 0); + // [GIVEN] G/L Entry with "Transaction No." = 2, "Posting Date" = 01.02.2023 and Credit Amount = 200 + Amount[2] := LibraryRandom.RandDec(100, 2); + SAFTTestHelper.MockGLEntry( + SAFTExportHeader."Ending Date", LibraryUtility.GenerateGUID(), '', + 2, 0, 0, '', '', 0, '', '', 0, Amount[2]); + + // [WHEN] Export G/L Entries to the XML file + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Two SAF-T Export Lines have been generated + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + Assert.RecordCount(SAFTExportLine, 2); + repeat + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + Assert.IsTrue(TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries'), 'No G/L entries exported.'); + // [GIVEN] Each file has "Number Of Entries" = 2 + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:NumberOfEntries', Format(2)); + // [GIVEN] Each file has "Total Debit" = 100 + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TotalDebit', SAFTTestHelper.FormatAmount(Amount[1])); + // [GIVEN] Each file has "Total Credit" = 200 + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TotalCredit', SAFTTestHelper.FormatAmount(Amount[2])); + until SAFTExportLine.Next() = 0; + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure CreditBalanceForPurchInvoice() + var + SAFTExportHeader: Record "SAF-T Export Header"; + Vendor: Record Vendor; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + VendNo: Code[20]; + OpeningAmount: Decimal; + AmountInPeriod: Decimal; + begin + // [SCENARIO 464814] Purchase invoice exports with credit opening and closing balance + + Initialize(); + // [GIVEN] SAF-T Setup with "Starting Date" = 01.01.2023 + BasicSAFTSetup(SAFTExportHeader); + + Vendor.FindFirst(); + VendNo := Vendor."No."; + OpeningAmount := LibraryRandom.RandIntInRange(100, 1000); + // [GIVEN] Invoice Vendor Ledger Entry with "Starting Date" = 31.12.2022 and Amount = -100 + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date" - 1, VendNo, -OpeningAmount, -OpeningAmount, "Gen. Journal Document Type"::Invoice); + AmountInPeriod := LibraryRandom.RandIntInRange(100, 1000); + // [GIVEN] Invoice Vendor Ledger Entry with "Starting Date" = 01.01.2023 and Amount = -200 + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date", VendNo, -AmountInPeriod, -AmountInPeriod, "Gen. Journal Document Type"::Invoice); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file contains the 'n1:SupplierID' node with 'OpeningCreditBalance' = 100 and 'ClosingCreditBalance' = 300 + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + TempXMLBuffer.SetFilter(Name, 'SupplierID'); + TempXMLBuffer.FindSet(); + TempXMLBuffer.Reset(); + TempXMLBuffer.Next(); // skip BalanceAccount xml node + TempXMLBuffer.Next(); // skip AccountIDXmlNode + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:OpeningCreditBalance', SAFTTestHelper.FormatAmount(OpeningAmount)); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:ClosingCreditBalance', SAFTTestHelper.FormatAmount(OpeningAmount + AmountInPeriod)); + + LibraryVariableStorage.AssertEmpty(); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure DebitBalanceForPurchCrMemo() + var + SAFTExportHeader: Record "SAF-T Export Header"; + Vendor: Record Vendor; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + VendNo: Code[20]; + OpeningAmount: Decimal; + AmountInPeriod: Decimal; + begin + // [SCENARIO 464814] Purchase credit memo exports with debit ppening and closing balance + + Initialize(); + // [GIVEN] SAF-T Setup with "Starting Date" = 01.01.2023 + BasicSAFTSetup(SAFTExportHeader); + + Vendor.FindFirst(); + VendNo := Vendor."No."; + OpeningAmount := LibraryRandom.RandIntInRange(100, 1000); + // [GIVEN] Credit Memo Vendor Ledger Entry with "Starting Date" = 31.12.2022 and Amount = -100 + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date" - 1, VendNo, OpeningAmount, OpeningAmount, "Gen. Journal Document Type"::"Credit Memo"); + AmountInPeriod := LibraryRandom.RandIntInRange(100, 1000); + // [GIVEN] Credit Memo Vendor Ledger Entry with "Starting Date" = 01.01.2023 and Amount = -200 + SAFTTestHelper.MockVendLedgEntry( + SAFTExportHeader."Starting Date", VendNo, AmountInPeriod, AmountInPeriod, "Gen. Journal Document Type"::"Credit Memo"); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file contains the 'n1:SupplierID' node with 'OpeningDebitBalance' = 100 and 'ClosingDebitBalance' = 300 + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + TempXMLBuffer.SetFilter(Name, 'SupplierID'); + TempXMLBuffer.FindSet(); + TempXMLBuffer.Reset(); + TempXMLBuffer.Next(); // skip BalanceAccount xml node + TempXMLBuffer.Next(); // skip AccountIDXmlNode + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:OpeningDebitBalance', SAFTTestHelper.FormatAmount(OpeningAmount)); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:ClosingDebitBalance', SAFTTestHelper.FormatAmount(OpeningAmount + AmountInPeriod)); + + LibraryVariableStorage.AssertEmpty(); + end; + + [Test] + [HandlerFunctions('ConfirmYesHandler')] + procedure BlankDimensionValueDoesNotExportToAnalysisID() + var + SAFTExportHeader: Record "SAF-T Export Header"; + Vendor: Record Vendor; + Dimension: Record Dimension; + DefaultDimension: Record "Default Dimension"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + VendNo: Code[20]; + begin + // [SCENARIO 485406] A default dimension with blank dimension value code does not export to the 'AnalysysID' xml node + + Initialize(); + BasicSAFTSetup(SAFTExportHeader); + + Vendor.FindFirst(); + VendNo := Vendor."No."; + // [GIVEN] Vendor with a default dimension "ADM" and no dimension value code + LibraryDimension.CreateDimension(Dimension); + LibraryDimension.CreateDefaultDimensionVendor(DefaultDimension, VendNo, Dimension.Code, ''); + + // [WHEN] Export SAF-T + LibraryVariableStorage.Enqueue(GenerateSAFTFileImmediatelyQst); + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + + // [THEN] Master file does not contain the 'n1:PartyInfo' xml node under the 'n1:SupplierID' xml node + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + Assert.IsFalse( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:MasterFiles/n1:Suppliers/n1:Supplier/n1:PartyInfo'), 'Vendor dimension is exported.'); + end; + + [Test] + [HandlerFunctions('ConfirmHandlerYes,MessageHandler')] + procedure VendCurrencyInformationExportsCurrencyInformationOnlyForLineThatHasCurrency() + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + SAFTExportHeader: Record "SAF-T Export Header"; + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + TempChildXMLBuffer: Record "XML Buffer" temporary; + GenJournalLine: array[3] of Record "Gen. Journal Line"; + begin + // [SCENARIO 539115] SAF-T Export is exporting currency information for a line that is posted with LCY + Initialize(); + + // [GIVEN] Setup SAF-T + SAFTTestHelper.SetupSAFT(SAFTMappingRange, SAFTMappingType::"Income Statement", 10); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + + // [GIVEN] Create SAF-T Export Header where "Export Currency Information" is enabled by default + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + SAFTExportHeader."Starting Date" := WorkDate() + 1; + SAFTExportHeader."Ending Date" := WorkDate() + 1; + SAFTExportHeader.Modify(true); + SAFTTestHelper.IncludesNoSourceCodeToTheFirstSAFTSourceCode(); + + // [GIVEN] Create and Post Payment Journal + CreateAndPostPaymentJnl(GenJournalLine, SAFTExportHeader); + + // [WHEN] Export G/L Entries to the XML file + SAFTTestHelper.RunSAFTExport(SAFTExportHeader); + SAFTExportLine.SetRange("Master Data", false); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + + // [THEN] Two "n1:Transaction/n1:Line/n1:DebitAmount" nodes have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:DebitAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 2); + + // [THEN] The first one has "n1:Amount, "n1:CurrencyCode", "n1:CurrencyAmount" and "n1:ExchangeRate" + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 4); + VerifyCurrencyAmountInfo( + TempChildXMLBuffer, GenJournalLine[1]."Currency Code", + GenJournalLine[1].Amount, GenJournalLine[1]."Amount (LCY)", GenJournalLine[1]."Currency Factor"); + + // [THEN] The second have only "n1:Amount" + TempXMLBuffer.Next(); + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(GenJournalLine[2]."Amount (LCY)")); + + // [THEN] Two "n1:Transaction/n1:Line/n1:CreditAmount" nodes have been generated + Assert.IsTrue( + TempXMLBuffer.FindNodesByXPath( + TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries/n1:Journal/n1:Transaction/n1:Line/n1:CreditAmount'), + 'No G/L entries exported.'); + Assert.RecordCount(TempXMLBuffer, 1); + + // [THEN] The third have only "n1:Amount" + VerifyChildElementsCount(TempChildXMLBuffer, TempXMLBuffer, 1); + SAFTTestHelper.AssertCurrentElementValue(TempChildXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(GenJournalLine[1]."Amount (LCY)" + GenJournalLine[2]."Amount (LCY)")); + end; + + local procedure Initialize() + begin + LibraryTestInitialize.OnTestInitialize(CODEUNIT::"SAF-T XML Tests 1.3"); + if IsInitialized then + exit; + + LibraryTestInitialize.OnBeforeTestSuiteInitialize(CODEUNIT::"SAF-T XML Tests 1.3"); + + IsInitialized := true; + LibraryTestInitialize.OnAfterTestSuiteInitialize(CODEUNIT::"SAF-T XML Tests 1.3"); + end; + + local procedure SetupSAFTSingleAcc(var SAFTMappingRange: Record "SAF-T Mapping Range"; MappingType: Enum "SAF-T Mapping Type"; IncomeBalance: Integer): Code[20] + var + SAFTMappingHelper: Codeunit "SAF-T Mapping Helper"; + begin + SAFTTestHelper.SetupMasterDataSingleAcc(IncomeBalance); + SAFTTestHelper.InsertSAFTMappingRangeFullySetup( + SAFTMappingRange, MappingType, SAFTTestHelper.GetWorkDateInYearWithNoGLEntries(), + CalcDate('', SAFTTestHelper.GetWorkDateInYearWithNoGLEntries())); + SAFTMappingHelper.MapRestSourceCodesToAssortedJournals(); + exit(SAFTMappingRange.Code); + end; + + local procedure CalcNumberOfTransactions(var GLEntry: Record "G/L Entry") NumberOfTransactions: Integer + begin + GLEntry.SetCurrentKey("Transaction No."); + GLEntry.FindSet(); + repeat + GLEntry.SetRange("Transaction No.", GLEntry."Transaction No."); + GLEntry.FindLast(); + NumberOfTransactions += 1; + GLEntry.SetRange("Transaction No."); + until GLEntry.Next() = 0; + end; + + local procedure BasicSAFTSetup(var SAFTExportHeader: Record "SAF-T Export Header"); + var + SAFTMappingRange: Record "SAF-T Mapping Range"; + begin + SAFTTestHelper.SetupSAFT( + SAFTMappingRange, "SAF-T Mapping Type"::"Four Digit Standard Account", LibraryRandom.RandIntInRange(3, 5)); + SAFTTestHelper.MatchGLAccountsFourDigit(SAFTMappingRange.Code); + SAFTTestHelper.CreateSAFTExportHeader(SAFTExportHeader, SAFTMappingRange.Code, Enum::"SAF-T Version"::"1.30"); + end; + + local procedure VerifyHeaderStructure(var TempXMLBuffer: Record "XML Buffer" temporary; SAFTExportLine: Record "SAF-T Export Line") + var + CompanyInformation: Record "Company Information"; + GeneralLedgerSetup: Record "General Ledger Setup"; + SAFTExportHeader: Record "SAF-T Export Header"; + + begin + SAFTTestHelper.FindSAFTHeaderElement(TempXMLBuffer); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AuditFileVersion', '1.0'); + CompanyInformation.Get(); + GeneralLedgerSetup.Get(); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AuditFileCountry', CompanyInformation."Country/Region Code"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AuditFileDateCreated', SAFTTestHelper.FormatDate(Today())); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:SoftwareCompanyName', 'Microsoft'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:SoftwareID', 'Microsoft Dynamics 365 Business Central'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:SoftwareVersion', '14.0'); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Company'); + VerifyCompanyStructure(TempXMLBuffer, CompanyInformation); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:DefaultCurrencyCode', GeneralLedgerSetup."LCY Code"); + SAFTExportHeader.Get(SAFTExportLine.ID); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:SelectionCriteria'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:PeriodStart', format(Date2DMY(SAFTExportHeader."Starting Date", 2))); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:PeriodStartYear', format(Date2DMY(SAFTExportHeader."Starting Date", 3))); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:PeriodEnd', format(Date2DMY(SAFTExportHeader."Ending Date", 2))); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:PeriodEndYear', format(Date2DMY(SAFTExportHeader."Ending Date", 3))); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TaxAccountingBasis', 'A'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:UserID', UserId()); + end; + + local procedure VerifyMasterDataStructureWithStdAccMapping(var TempXMLBuffer: Record "XML Buffer" temporary; MappingRangeCode: Code[20]; NumberOfMasterDataRecords: Integer) + begin + VerifyGeneralLedgerAccountsWithStdAccMapping(TempXMLBuffer, MappingRangeCode, NumberOfMasterDataRecords); + VerifyCustomers(TempXMLBuffer, MappingRangeCode, NumberOfMasterDataRecords); + VerifyVendors(TempXMLBuffer, MappingRangeCode, NumberOfMasterDataRecords); + VerifyVATPostingSetup(TempXMLBuffer); + VerifyDimensions(TempXMLBuffer); + end; + + local procedure VerifyMasterDataBalance(var TempXMLBuffer: Record "XML Buffer" temporary; BalanceXMLNodeName: Text; ExpectedAmount: Decimal) + var + AmountText: Text; + begin + AmountText := SAFTTestHelper.FormatAmount(ExpectedAmount); + SAFTTestHelper.AssertCurrentValue( + TempXMLBuffer, StrSubstNo('/n1:AuditFile/n1:MasterFiles/n1:GeneralLedgerAccounts/n1:Account/n1:%1', BalanceXMLNodeName), AmountText); + SAFTTestHelper.AssertCurrentValue( + TempXMLBuffer, StrSubstNo('/n1:AuditFile/n1:MasterFiles/n1:Customers/n1:Customer/n1:%1', BalanceXMLNodeName), AmountText); + SAFTTestHelper.AssertCurrentValue( + TempXMLBuffer, StrSubstNo('/n1:AuditFile/n1:MasterFiles/n1:Suppliers/n1:Supplier/n1:%1', BalanceXMLNodeName), AmountText); + end; + + local procedure VerifyGeneralLedgerAccountsWithStdAccMapping(var TempXMLBuffer: Record "XML Buffer" temporary; MappingRangeCode: Code[20]; NumberOfMasterDataRecords: Integer) + var + GLAccount: Record "G/L Account"; + SAFTGLAccountMapping: Record "SAF-T G/L Account Mapping"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + i: Integer; + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:MasterFiles'); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:GeneralLedgerAccounts'); + GLAccount.FindSet(); + SAFTMappingRange.Get(MappingRangeCode); + // Income statement accounts + for i := 1 to NumberOfMasterDataRecords do begin + SAFTGLAccountMapping.Get(MappingRangeCode, GLAccount."No."); + VerifyAccountHeader(TempXMLBuffer, GLAccount, SAFTGLAccountMapping); + VerifyAccountAmounts(TempXMLBuffer, GLAccount, SAFTMappingRange, 'n1:OpeningDebitBalance', 'n1:ClosingDebitBalance'); + GLAccount.Next(); + end; + // Balance sheet accounts (all but last) + for i := 1 to (NumberOfMasterDataRecords - 1) do begin + SAFTGLAccountMapping.Get(MappingRangeCode, GLAccount."No."); + VerifyAccountHeader(TempXMLBuffer, GLAccount, SAFTGLAccountMapping); + VerifyAccountAmounts(TempXMLBuffer, GLAccount, SAFTMappingRange, 'n1:OpeningCreditBalance', 'n1:ClosingDebitBalance'); + GLAccount.Next(); + end; + // The last account has no entries but still exports. + SAFTGLAccountMapping.Get(MappingRangeCode, GLAccount."No."); + VerifyAccountHeader(TempXMLBuffer, GLAccount, SAFTGLAccountMapping); + VerifyAccountAmounts(TempXMLBuffer, GLAccount, SAFTMappingRange, 'n1:OpeningCreditBalance', 'n1:ClosingCreditBalance'); + end; + + local procedure VerifyGeneralLedgerAccountsWithIncomeStatementMapping(var TempXMLBuffer: Record "XML Buffer" temporary; MappingRangeCode: Code[20]) + var + GLAccount: Record "G/L Account"; + SAFTGLAccountMapping: Record "SAF-T G/L Account Mapping"; + begin + Assert.IsTrue(TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, '/n1:AuditFile/n1:MasterFiles/n1:GeneralLedgerAccounts/n1:Account'), 'No G/L accounts exported.'); + GLAccount.FindSet(); + repeat + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountID', GLAccount."No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountDescription', GLAccount.Name); + SAFTGLAccountMapping.Get(MappingRangeCode, GLAccount."No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:GroupingCategory', SAFTGLAccountMapping."Category No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:GroupingCode', SAFTGLAccountMapping."No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountType', 'GL'); + SAFTTestHelper.FindNextElement(TempXMLBuffer); // skip opening balance check + SAFTTestHelper.FindNextElement(TempXMLBuffer); // skip closing balance check + SAFTTestHelper.FindNextElement(TempXMLBuffer); // skip n1:Account + until GLAccount.Next() = 0; + end; + + local procedure VerifyAccountHeader(var TempXMLBuffer: Record "XML Buffer" temporary; GLAccount: Record "G/L Account"; SAFTGLAccountMapping: Record "SAF-T G/L Account Mapping") + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Account'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountID', GLAccount."No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountDescription', GLAccount.Name); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:GroupingCategory', SAFTGLAccountMapping."Category No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:GroupingCode', SAFTGLAccountMapping."No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountType', 'GL'); + end; + + local procedure VerifyAccountAmounts(var TempXMLBuffer: Record "XML Buffer" temporary; GLAccount: Record "G/L Account"; SAFTMappingRange: Record "SAF-T Mapping Range"; OpeningBalanceNodeText: Text; ClosingBalanceNodeText: Text) + begin + GLAccount.SetRange("Date Filter", 0D, ClosingDate(SAFTMappingRange."Starting Date" - 1)); + GLAccount.CalcFields("Net Change"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, OpeningBalanceNodeText, SAFTTestHelper.FormatAmount(GLAccount."Net Change")); + GLAccount.SetRange("Date Filter", 0D, ClosingDate(SAFTMappingRange."Ending Date")); + GLAccount.CalcFields("Net Change"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, ClosingBalanceNodeText, SAFTTestHelper.FormatAmount(GLAccount."Net Change")); + end; + + local procedure VerifyCustomers(var TempXMLBuffer: Record "XML Buffer" temporary; MappingRangeCode: Code[20]; NumberOfMasterDataRecords: Integer) + var + Customer: Record Customer; + CustomerPostingGroup: Record "Customer Posting Group"; + CustomerBankAccount: Record "Customer Bank Account"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + i: Integer; + begin + Customer.FindSet(); + SAFTMappingRange.Get(MappingRangeCode); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Customers'); + for i := 1 to NumberOfMasterDataRecords do begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Customer'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:RegistrationNumber', Customer."VAT Registration No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Name', SAFTTestHelper.CombineWithSpace(Customer.Name, Customer."Name 2")); + VerifyAddress( + TempXMLBuffer, SAFTTestHelper.CombineWithSpace(Customer.Address, Customer."Address 2"), + Customer.City, Customer."Post Code", Customer."Country/Region Code"); + VerifyContactSimple( + TempXMLBuffer, Customer.Contact, Customer."Phone No.", Customer."Fax No.", Customer."E-Mail", Customer."Home Page"); + CustomerBankAccount.SetRange("Customer No.", Customer."No."); + CustomerBankAccount.FindFirst(); + VerifyNormalBankAccount( + TempXMLBuffer, CustomerBankAccount."Bank Account No.", CustomerBankAccount.Name, + CustomerBankAccount."Bank Clearing Code", CustomerBankAccount."SWIFT Code"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:CustomerID', Customer."No."); + CustomerPostingGroup.Get(Customer."Customer Posting Group"); + TempXMLBuffer.Next(); // skip BalanceAccount xml node + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountID', CustomerPostingGroup."Receivables Account"); + Customer.SetRange("Date Filter", 0D, closingdate(SAFTMappingRange."Starting Date" - 1)); + Customer.CalcFields("Net Change (LCY)"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:OpeningCreditBalance', SAFTTestHelper.FormatAmount(Customer."Net Change (LCY)")); + Customer.SetRange("Date Filter", 0D, closingdate(SAFTMappingRange."Ending Date")); + Customer.CalcFields("Net Change (LCY)"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:ClosingDebitBalance', SAFTTestHelper.FormatAmount(Customer."Net Change (LCY)")); + VerifyPartyInfo(TempXMLBuffer, Customer."Payment Terms Code", database::Customer, Customer."No."); + Customer.Next(); + end; + end; + + local procedure VerifyVendors(var TempXMLBuffer: Record "XML Buffer" temporary; MappingRangeCode: Code[20]; NumberOfMasterDataRecords: Integer) + var + Vendor: Record Vendor; + VendorPostingGroup: Record "Vendor Posting Group"; + VendorBankAccount: Record "Vendor Bank Account"; + SAFTMappingRange: Record "SAF-T Mapping Range"; + i: Integer; + begin + Vendor.FindSet(); + SAFTMappingRange.Get(MappingRangeCode); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Suppliers'); + for i := 1 to NumberOfMasterDataRecords do begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Supplier'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:RegistrationNumber', Vendor."VAT Registration No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Name', SAFTTestHelper.CombineWithSpace(Vendor.Name, Vendor."Name 2")); + VerifyAddress( + TempXMLBuffer, SAFTTestHelper.CombineWithSpace(Vendor.Address, Vendor."Address 2"), + Vendor.City, Vendor."Post Code", Vendor."Country/Region Code"); + VerifyContactSimple( + TempXMLBuffer, Vendor.Contact, Vendor."Phone No.", Vendor."Fax No.", Vendor."E-Mail", Vendor."Home Page"); + VendorBankAccount.SetRange("Vendor No.", Vendor."No."); + VendorBankAccount.FindFirst(); + VerifyNormalBankAccount( + TempXMLBuffer, VendorBankAccount."Bank Account No.", VendorBankAccount.Name, + VendorBankAccount."Bank Clearing Code", VendorBankAccount."SWIFT Code"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:SupplierID', Vendor."No."); + VendorPostingGroup.Get(Vendor."Vendor Posting Group"); + TempXMLBuffer.Next(); // skip BalanceAccount xml node + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountID', VendorPostingGroup."Payables Account"); + Vendor.SetRange("Date Filter", 0D, closingdate(SAFTMappingRange."Starting Date" - 1)); + Vendor.CalcFields("Net Change (LCY)"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:OpeningCreditBalance', SAFTTestHelper.FormatAmount(Vendor."Net Change (LCY)")); + Vendor.SetRange("Date Filter", 0D, closingdate(SAFTMappingRange."Ending Date")); + Vendor.CalcFields("Net Change (LCY)"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:ClosingCreditBalance', SAFTTestHelper.FormatAmount(Vendor."Net Change (LCY)")); + VerifyPartyInfo(TempXMLBuffer, Vendor."Payment Terms Code", database::Vendor, Vendor."No."); + Vendor.Next(); + end; + end; + + local procedure VerifyVATPostingSetup(var TempXMLBuffer: Record "XML Buffer" temporary) + var + VATPostingSetup: Record "VAT Posting Setup"; + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + NotApplicationVATCode: Code[20]; + begin + VATPostingSetup.FindSet(); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:TaxTable'); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:TaxTableEntry'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TaxType', 'MVA'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Description', 'Merverdiavgift'); + NotApplicationVATCode := SAFTExportMgt.GetNotApplicableVATCode(); + // Verify first VAT Posting Setup with no standard tax codes + VerifySingleVATPostingSetup( + TempXMLBuffer, VATPostingSetup."Sales SAF-T Tax Code", VATPostingSetup.Description, + VATPostingSetup."VAT %", NotApplicationVATCode, false, 100); + VerifySingleVATPostingSetup( + TempXMLBuffer, VATPostingSetup."Purchase SAF-T Tax Code", VATPostingSetup.Description, + VATPostingSetup."VAT %", NotApplicationVATCode, false, 100); + VATPostingSetup.Next(); + repeat + VerifySingleVATPostingSetup( + TempXMLBuffer, VATPostingSetup."Sales SAF-T Tax Code", VATPostingSetup.Description, + VATPostingSetup."VAT %", VATPostingSetup."Sale VAT Reporting Code", false, 100); + VerifySingleVATPostingSetup( + TempXMLBuffer, VATPostingSetup."Purchase SAF-T Tax Code", VATPostingSetup.Description, + VATPostingSetup."VAT %", VATPostingSetup."Purch. VAT Reporting Code", false, 100); + until VATPostingSetup.Next() = 0; + end; + + local procedure VerifyDimensions(var TempXMLBuffer: Record "XML Buffer" temporary) + var + Dimension: Record Dimension; + DimensionValue: Record "Dimension Value"; + begin + DimensionValue.FindSet(); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:AnalysisTypeTable'); + repeat + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:AnalysisTypeTableEntry'); + Dimension.Get(DimensionValue."Dimension Code"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisType', Dimension."SAF-T Analysis Type"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisTypeDescription', Dimension.Name); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisID', DimensionValue.Code); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisIDDescription', '&lt;&amp;'); + until DimensionValue.Next() = 0; + end; + + local procedure VerifySingleVATPostingSetup(var TempXMLBuffer: Record "XML Buffer" temporary; TaxCode: Integer; Description: Text; VATRate: Decimal; StandardTaxCode: Code[20]; Compensation: Boolean; DeductionRate: Decimal) + var + CompanyInformation: record "Company Information"; + begin + CompanyInformation.Get(); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:TaxCodeDetails'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TaxCode', Format(TaxCode)); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Description', Description); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TaxPercentage', SAFTTestHelper.FormatAmount(VATRate)); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Country', CompanyInformation."Country/Region Code"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:StandardTaxCode', StandardTaxCode); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Compensation', Format(Compensation, 0, 9)); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:BaseRate', SAFTTestHelper.FormatAmount(DeductionRate)); + end; + + local procedure VerifyCompanyStructure(var TempXMLBuffer: Record "XML Buffer" temporary; CompanyInformation: Record "Company Information") + var + Employee: Record Employee; + BankAccount: Record "Bank Account"; + begin + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:RegistrationNumber', CompanyInformation."VAT Registration No."); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:Name', SAFTTestHelper.CombineWithSpace(CompanyInformation.Name, CompanyInformation."Name 2")); + VerifyAddress( + TempXMLBuffer, SAFTTestHelper.CombineWithSpace(CompanyInformation.Address, CompanyInformation."Address 2"), + CompanyInformation.City, CompanyInformation."Post Code", CompanyInformation."Country/Region Code"); + Employee.Get(CompanyInformation."SAF-T Contact No."); + VerifyEmployee( + TempXMLBuffer, Employee."First Name", Employee."Last Name", Employee."Phone No.", + Employee."Fax No.", Employee."E-Mail", Employee."Mobile Phone No."); + VerifyTaxRegistration(TempXMLBuffer, CompanyInformation); + VerifyIBANBankAccount( + TempXMLBuffer, CompanyInformation.IBAN, CompanyInformation."SWIFT Code"); + BankAccount.FindFirst(); + VerifyIBANBankAccount( + TempXMLBuffer, BankAccount.IBAN, BankAccount."SWIFT Code"); + end; + + local procedure VerifyAddress(var TempXMLBuffer: Record "XML Buffer" temporary; StreetName: Text; City: Text; PostCode: Code[20]; CountryRegionCode: Code[20]) + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Address'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:StreetName', StreetName); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:City', City); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:PostalCode', PostCode); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Country', CountryRegionCode); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AddressType', 'StreetAddress'); + end; + + local procedure VerifyContactSimple(var TempXMLBuffer: Record "XML Buffer" temporary; Name: Text; PhoneNo: Text; FaxNo: Text; Email: Text; HomePage: Text) + var + FirstName: Text; + LastName: Text; + begin + SAFTTestHelper.GetFirstAndLastNameFromContactName(FirstName, LastName, Name); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Contact'); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:ContactPerson'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:FirstName', FirstName); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:LastName', LastName); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Telephone', PhoneNo); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Fax', FaxNo); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Email', Email); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Website', HomePage); + end; + + local procedure VerifyEmployee(var TempXMLBuffer: Record "XML Buffer" temporary; FirstName: Text; LastName: Text; PhoneNo: Text; FaxNo: Text; Email: Text; MobilePhoneNo: Text) + + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Contact'); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:ContactPerson'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:FirstName', FirstName); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:LastName', LastName); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Telephone', PhoneNo); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Fax', FaxNo); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Email', Email); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:MobilePhone', MobilePhoneNo); + end; + + local procedure VerifyPartyInfo(var TempXMLBuffer: Record "XML Buffer" temporary; PaymentTermsCode: Code[10]; TableID: Integer; SourceNo: Code[20]); + var + PaymentTerms: Record "Payment Terms"; + DefaultDimension: Record "Default Dimension"; + Dimension: Record Dimension; + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + begin + PaymentTerms.Get(PaymentTermsCode); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:PartyInfo'); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:PaymentTerms'); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:Days', format(CalcDate(PaymentTerms."Due Date Calculation", WorkDate()) - WorkDate())); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:CashDiscountDays', format(CalcDate(PaymentTerms."Discount Date Calculation", WorkDate()) - WorkDate())); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:CashDiscountRate', SAFTTestHelper.FormatAmount(PaymentTerms."Discount %")); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:CurrencyCode', SAFTExportMgt.GetISOCurrencyCode('')); + DefaultDimension.SetRange("Table ID", TableID); + DefaultDimension.SetRange("No.", SourceNo); + DefaultDimension.FindSet(); + repeat + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Analysis'); + Dimension.get(DefaultDimension."Dimension Code"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisType', Dimension."SAF-T Analysis Type"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisID', DefaultDimension."Dimension Value Code"); + until DefaultDimension.Next() = 0; + end; + + local procedure VerifyTaxRegistration(var TempXMLBuffer: Record "XML Buffer" temporary; CompanyInformation: Record "Company Information") + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:TaxRegistration'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TaxRegistrationNumber', CompanyInformation."VAT Registration No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TaxAuthority', 'Skatteetaten'); + end; + + local procedure VerifyIBANBankAccount(var TempXMLBuffer: Record "XML Buffer" temporary; IBAN: Text; SWIFT: Text) + var + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:BankAccount'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:IBANNumber', IBAN); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:BIC', SWIFT); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:CurrencyCode', SAFTExportMgt.GetISOCurrencyCode('')); + end; + + local procedure VerifyNormalBankAccount(var TempXMLBuffer: Record "XML Buffer" temporary; BankAccountNumber: Text[30]; BankAccName: Text; SortCode: Text; SWIFT: Text) + var + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:BankAccount'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:BankAccountNumber', BankAccountNumber); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:BankAccountName', BankAccName); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:SortCode', SortCode); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:BIC', SWIFT); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:CurrencyCode', SAFTExportMgt.GetISOCurrencyCode('')); + end; + + local procedure VerifyXMLFileHasHeader(var TempXMLBuffer: Record "XML Buffer" temporary) + begin + SAFTTestHelper.FindSAFTHeaderElement(TempXMLBuffer); + Assert.RecordCount(TempXMLBuffer, 1); + end; + + local procedure VerifyGLEntriesGroupedBySAFTSourceCode(var TempXMLBuffer: Record "XML Buffer" temporary; var TempSAFTSourceCode: Record "SAF-T Source Code" temporary; ExpectedEntriesInTransactionNumber: Integer; StartingDate: Date; EndingDate: Date; SAFTAnalysisType: Code[9]; DimValueCode: Code[20]) + var + GLEntry: Record "G/L Entry"; + SourceCode: Record "Source Code"; + begin + GLEntry.SetCurrentKey("Document No.", "Posting Date"); + GLEntry.SetRange("Posting Date", StartingDate, EndingDate); + TempXMLBuffer.Reset(); + Assert.IsTrue(TempXMLBuffer.FindNodesByXPath(TempXMLBuffer, '/n1:AuditFile/n1:GeneralLedgerEntries'), 'No G/L entries exported.'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:NumberOfEntries', format(CalcNumberOfTransactions(GLEntry))); + GLEntry.CalcSums("Debit Amount", "Credit Amount"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TotalDebit', SAFTTestHelper.FormatAmount(GLEntry."Debit Amount")); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TotalCredit', SAFTTestHelper.FormatAmount(GLEntry."Credit Amount")); + TempSAFTSourceCode.FindSet(); + repeat + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Journal'); + SourceCode.SetRange("SAF-T Source Code", TempSAFTSourceCode.Code); + SourceCode.FindFirst(); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:JournalID', TempSAFTSourceCode.Code); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Description', TempSAFTSourceCode.Description); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Type', TempSAFTSourceCode.Code); + GLEntry.SetRange("Source Code", SourceCode.Code); + GLEntry.FindSet(); + VerifyGLEntriesGroupedByPostingDateAndDocNo(TempXMLBuffer, GLEntry, ExpectedEntriesInTransactionNumber, SAFTAnalysisType, DimValueCode); + GLEntry.SetRange("Source Code"); + until TempSAFTSourceCode.Next() = 0; + end; + + local procedure VerifyGLEntriesGroupedByPostingDateAndDocNo(var TempXMLBuffer: Record "XML Buffer" temporary; var GLEntry: Record "G/L Entry"; ExpectedEntriesInTransactionNumber: Integer; SAFTAnalysisType: Code[9]; DimValueCode: Code[20]) + var + ActualEntriesInTransactionNumber: Integer; + Step: Integer; + begin + repeat + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Transaction'); + GLEntry.SetRange("Posting Date", GLEntry."Posting Date"); + GLEntry.SetRange("Document No.", GLEntry."Document No."); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:TransactionID', + GLEntry."Document No." + Format(GLEntry."Posting Date", 0, '')); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Period', format(Date2DMY(GLEntry."Posting Date", 2))); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:PeriodYear', format(Date2DMY(GLEntry."Posting Date", 3))); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:TransactionDate', SAFTTestHelper.FormatDate(GLEntry."Document Date")); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:SourceID', GLEntry."User ID"); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TransactionType', Format(GLEntry."Document Type")); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Description', GLEntry.Description); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:BatchID', Format(GLEntry."Transaction No.")); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:SystemEntryDate', SAFTTestHelper.FormatDate(DT2Date(GLEntry."Last Modified DateTime"))); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:GLPostingDate', SAFTTestHelper.FormatDate(GLEntry."Posting Date")); + Step := 1; + ActualEntriesInTransactionNumber := 0; + while Step = 1 do begin + VerifySingleGLEntry(TempXMLBuffer, GLEntry, SAFTAnalysisType, DimValueCode); + Step := GLEntry.Next(); + ActualEntriesInTransactionNumber += 1; + end; + GLEntry.SetRange("Posting Date"); + GLEntry.SetRange("Document No."); + Assert.AreEqual( + ExpectedEntriesInTransactionNumber, ActualEntriesInTransactionNumber, 'Number of transactions not expected'); + until GLEntry.Next() = 0; + end; + + local procedure VerifySingleGLEntry(var TempXMLBuffer: Record "XML Buffer" temporary; var GLEntry: Record "G/L Entry"; SAFTAnalysisType: Code[9]; DimValueCode: Code[20]) + var + SAFTExportMgt: Codeunit "SAF-T Export Mgt."; + AmountXMLNode: Text; + Amount: Decimal; + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Line'); + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:RecordID'); + SAFTTestHelper.AssertCurrentElementValue(TempXMLBuffer, 'n1:RecordID', Format(GLEntry."Entry No.")); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AccountID', GLEntry."G/L Account No."); + VerifyDimensions(TempXMLBuffer, SAFTAnalysisType, DimValueCode); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:SourceDocumentID', GLEntry."Document No."); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Description', GLEntry.Description); + SAFTExportMgt.GetAmountInfoFromGLEntry(AmountXMLNode, Amount, GLEntry); + VerifyAmountInfo(TempXMLBuffer, AmountXMLNode, Amount); + VerifySalesVATEntry(TempXMLBuffer, GLEntry); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:ReferenceNumber', GLEntry."External Document No."); + end; + + local procedure VerifySalesVATEntry(var TempXMLBuffer: Record "XML Buffer" temporary; GLEntry: Record "G/L Entry") + var + VATPostingSetup: Record "VAT Posting Setup"; + VATEntry: Record "VAT Entry"; + GLEntryVATEntryLinkRec: Record "G/L Entry - VAT Entry Link"; + begin + GLEntry.TestField("VAT Bus. Posting Group"); + GLEntry.TestField("VAT Prod. Posting Group"); + VATPostingSetup.Get(GLEntry."VAT Bus. Posting Group", GLEntry."VAT Prod. Posting Group"); + GLEntryVATEntryLinkRec.SetRange("G/L Entry No.", GLEntry."Entry No."); + GLEntryVATEntryLinkRec.FindFirst(); + VATEntry.Get(GLEntryVATEntryLinkRec."VAT Entry No."); + + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:TaxInformation'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:TaxType', 'MVA'); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:TaxCode', + Format(GetSAFTTaxCodeFromVATPostinSetup(VATPostingSetup, VATEntry.Type))); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:TaxPercentage', SAFTTestHelper.FormatAmount(VATPostingSetup."VAT %")); + SAFTTestHelper.AssertElementValue( + TempXMLBuffer, 'n1:TaxBase', SAFTTestHelper.FormatAmount(abs(VATEntry.Base))); + VerifyAmountInfo(TempXMLBuffer, 'DebitTaxAmount', abs(VATEntry.Amount)); + end; + + local procedure VerifyXMLNodeOfMasterFile(SAFTExportHeader: Record "SAF-T Export Header"; XmlName: Text[250]; XmlValue: Text[250]); + var + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + begin + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + TempXMLBuffer.SetFilter(Name, XmlName); + TempXMLBuffer.FindFirst(); + TempXMLBuffer.TestField(Value, XmlValue); + END; + + local procedure VerifyNonExistingXMLNodeOfMasterFile(SAFTExportHeader: Record "SAF-T Export Header"; XmlName: Text[250]; XmlValue: Text[250]); + var + SAFTExportLine: Record "SAF-T Export Line"; + TempXMLBuffer: Record "XML Buffer" temporary; + begin + SAFTExportLine.SetRange(Status, SAFTExportLine.Status::Completed); + SAFTTestHelper.FindSAFTExportLine(SAFTExportLine, SAFTExportHeader.ID); + SAFTTestHelper.LoadXMLBufferFromSAFTExportLine(TempXMLBuffer, SAFTExportLine); + TempXMLBuffer.SetRange(Name, XmlName); + TempXMLBuffer.SetRange(Value, XmlValue); + Assert.RecordIsEmpty(TempXMLBuffer); + END; + + local procedure GetSAFTTaxCodeFromVATPostinSetup(VATPostingSetup: Record "VAT Posting Setup"; EntryType: Integer): Integer + var + VATEntry: Record "VAT Entry"; + begin + case EntryType of + VATEntry.Type::Purchase: + exit(VATPostingSetup."Purchase SAF-T Tax Code"); + VATEntry.Type::Sale: + exit(VATPostingSetup."Sales SAF-T Tax Code"); + end; + end; + + local procedure VerifyChildElementsCount(var TempChildXMLBuffer: Record "XML Buffer" temporary; var TempXMLBuffer: Record "XML Buffer" temporary; ExpectedCount: Integer) + begin + TempXMLBuffer.FindChildElements(TempChildXMLBuffer); + Assert.RecordCount(TempChildXMLBuffer, ExpectedCount); + end; + + local procedure VerifyDimensions(var TempXMLBuffer: Record "XML Buffer" temporary; SAFTAnalysisType: Code[9]; DimValueCode: Code[20]) + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:Analysis'); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisType', SAFTAnalysisType); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:AnalysisID', DimValueCode); + end; + + local procedure VerifyAmountInfo(var TempXMLBuffer: Record "XML Buffer" temporary; AmountXMLNode: Text; Amount: Decimal) + begin + SAFTTestHelper.AssertElementName(TempXMLBuffer, 'n1:' + AmountXMLNode); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(Amount)); + end; + + local procedure VerifyCurrencyAmountInfo(var TempXMLBuffer: Record "XML Buffer" temporary; CurrencyCode: Code[10]; Amount: Decimal; AmountLCY: Decimal; ExchangeRate: Decimal) + begin + SAFTTestHelper.AssertCurrentElementValue(TempXMLBuffer, 'n1:Amount', SAFTTestHelper.FormatAmount(AmountLCY)); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:CurrencyCode', CurrencyCode); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:CurrencyAmount', SAFTTestHelper.FormatAmount(Amount)); + SAFTTestHelper.AssertElementValue(TempXMLBuffer, 'n1:ExchangeRate', SAFTTestHelper.FormatAmount(ExchangeRate)); + end; + + local procedure CreateAndPostPaymentJnl( + var GenJournalLine: array[3] of Record "Gen. Journal Line"; + SAFTExportHeader: Record "SAF-T Export Header") + var + GenJournalBatch: Record "Gen. Journal Batch"; + Vendor: Record Vendor; + LibraryJournals: Codeunit "Library - Journals"; + PaymentJournal: TestPage "Payment Journal"; + begin + CreatePaymentJournalBatch(GenJournalBatch); + + LibraryPurchase.CreateVendor(Vendor); + Vendor."Currency Code" := GetDifferentCurrencyCode(); + Vendor.Modify(true); + + LibraryJournals.CreateGenJournalLine( + GenJournalLine[1], GenJournalBatch."Journal Template Name", GenJournalBatch.Name, GenJournalLine[1]."Document Type"::Payment, + GenJournalLine[1]."Account Type"::Vendor, Vendor."No.", GenJournalLine[1]."Bal. Account Type"::"G/L Account", + '', LibraryRandom.RandInt(100)); + GenJournalLine[1].Validate("Posting Date", SAFTExportHeader."Ending Date"); + GenJournalLine[1].Modify(true); + + LibraryJournals.CreateGenJournalLine( + GenJournalLine[2], GenJournalBatch."Journal Template Name", GenJournalBatch.Name, GenJournalLine[2]."Document Type"::Payment, + GenJournalLine[2]."Account Type"::Vendor, LibraryPurchase.CreateVendorNo(), GenJournalLine[2]."Bal. Account Type"::"G/L Account", + '', LibraryRandom.RandInt(100)); + GenJournalLine[2]."Document No." := GenJournalLine[1]."Document No."; + GenJournalLine[2].Validate("Posting Date", SAFTExportHeader."Ending Date"); + GenJournalLine[2].Modify(true); + + LibraryJournals.CreateGenJournalLine( + GenJournalLine[3], GenJournalBatch."Journal Template Name", GenJournalBatch.Name, GenJournalLine[3]."Document Type"::Payment, + GenJournalLine[3]."Account Type"::"G/L Account", LibraryERM.CreateGLAccountNo(), GenJournalLine[3]."Bal. Account Type"::"G/L Account", + '', -(GenJournalLine[1]."Amount (LCY)" + GenJournalLine[2]."Amount (LCY)")); + GenJournalLine[3]."Document No." := GenJournalLine[1]."Document No."; + GenJournalLine[3].Validate("Posting Date", SAFTExportHeader."Ending Date"); + GenJournalLine[3].Modify(true); + + PaymentJournal.OpenEdit(); + PaymentJournal.Post.Invoke(); + end; + + local procedure CreatePaymentJournalBatch(var GenJournalBatch: Record "Gen. Journal Batch") + var + GenJournalTemplate: Record "Gen. Journal Template"; + begin + GenJournalTemplate.SetRange(Type, GenJournalTemplate.Type::Payments); + GenJournalTemplate.DeleteAll(); + LibraryERM.CreateGenJournalTemplate(GenJournalTemplate); + GenJournalTemplate.Validate(Type, GenJournalTemplate.Type::Payments); + GenJournalTemplate.Modify(true); + LibraryERM.CreateGenJournalBatch(GenJournalBatch, GenJournalTemplate.Name); + end; + + local procedure GetDifferentCurrencyCode(): Code[10] + begin + exit(LibraryERM.CreateCurrencyWithRandomExchRates()); + end; + + [MessageHandler] + [Scope('OnPrem')] + procedure MessageHandler(Message: Text[1024]) + begin + end; + + [ConfirmHandler] + procedure ConfirmYesHandler(Question: Text; var Reply: Boolean) + begin + Assert.ExpectedMessage(LibraryVariableStorage.DequeueText(), Question); + Reply := true; + end; + + [ConfirmHandler] + procedure ConfirmHandlerYes(Question: Text; var Reply: Boolean) + begin + Reply := true; + end; +} diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Codeunits/CreateNZGLAccounts.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Codeunits/CreateNZGLAccounts.Codeunit.al deleted file mode 100644 index 93cdf13859..0000000000 --- a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Codeunits/CreateNZGLAccounts.Codeunit.al +++ /dev/null @@ -1,116 +0,0 @@ -codeunit 17105 "Create NZ GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '2310'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '5410'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '6110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '7110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '5615'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '5625'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '7291'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '7191'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7292'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7192'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '7293'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '7193'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '2130'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '7270'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '7170'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '2110'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '2111') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '6700'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7791'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7792'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7793'); - - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7890'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7891'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '7892'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '7893'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '7894'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '2120'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '2140'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5850'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '2212'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '2231'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '6190'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '6620'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '7180'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '7620'); - end; -} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/2.Master Data/CreateNZBankAccount.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/2.Master Data/CreateNZBankAccount.Codeunit.al new file mode 100644 index 0000000000..3ef9b3170c --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/2.Master Data/CreateNZBankAccount.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 17130 "Create NZ Bank Account" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -3218000, CityLbl, PostCodeLbl, ''); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, CityLbl, PostCodeLbl, ''); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate(City, City); + BankAccount.Validate("Post Code", PostCode); + BankAccount."Country/Region Code" := CountryRegionCode; + end; + + var + CityLbl: Label 'Manaia', MaxLength = 30, Locked = true; + PostCodeLbl: Label '4851', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/3.Transaction Data/CreateNZBankAccReco.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/3.Transaction Data/CreateNZBankAccReco.Codeunit.al new file mode 100644 index 0000000000..fa8961b02b --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/3.Transaction Data/CreateNZBankAccReco.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 17131 "Create NZ Bank Acc. Reco." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateBankAccRecLine(); + end; + + local procedure UpdateBankAccRecLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccReconciliationLine.SetRange("Bank Account No.", CreateBankAccount.Checking()); + BankAccReconciliationLine.SetRange("Statement Line No.", 30000); + if BankAccReconciliationLine.FindFirst() then begin + BankAccReconciliationLine.Validate("Transaction Text", DeposittoAccountLbl); + BankAccReconciliationLine.Validate(Description, DeposittoAccountLbl); + BankAccReconciliationLine.Modify(true); + end; + end; + + var + DeposittoAccountLbl: Label 'Deposit to Account 18/01/24', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/3.Transaction Data/CreateNZGenJournalLine.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/3.Transaction Data/CreateNZGenJournalLine.Codeunit.al new file mode 100644 index 0000000000..7ee828244d --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Bank/3.Transaction Data/CreateNZGenJournalLine.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 17147 "Create NZ Gen. Journal Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralJournalLine(); + end; + + local procedure UpdateGeneralJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.SetRange("Journal Template Name", CreateGenJournalTemplate.General()); + GenJournalLine.SetRange("Journal Batch Name", CreateBankJnlBatch.Daily()); + if GenJournalLine.FindSet() then + repeat + case GenJournalLine."Line No." of + 10000: + GenJournalLine.Validate(Amount, -6132.62); + 20000: + GenJournalLine.Validate(Amount, -9198.93); + 30000: + GenJournalLine.Validate(Amount, -12265.24); + 40000: + GenJournalLine.Validate(Amount, -12265.24); + end; + + GenJournalLine.Modify(); + until GenJournalLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/CRM/1.Setup Data/CreateNZIndustryGroup.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/CRM/1.Setup Data/CreateNZIndustryGroup.Codeunit.al new file mode 100644 index 0000000000..779e205106 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/CRM/1.Setup Data/CreateNZIndustryGroup.Codeunit.al @@ -0,0 +1,3656 @@ +codeunit 17132 "Create NZ Industry Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.SetOverwriteData(true); + ContosoCRM.InsertIndustryGroup(A1(), AgricultureLbl); + ContosoCRM.InsertIndustryGroup(A11(), HorticultureAndFruitGrowingLbl); + ContosoCRM.InsertIndustryGroup(A111(), PlantNurseriesLbl); + ContosoCRM.InsertIndustryGroup(A113(), VegetableGrowingLbl); + ContosoCRM.InsertIndustryGroup(A114(), GrapeGrowingLbl); + ContosoCRM.InsertIndustryGroup(A115(), AppleAndPearGrowingLbl); + ContosoCRM.InsertIndustryGroup(A116(), StoneFruitGrowingLbl); + ContosoCRM.InsertIndustryGroup(A117(), KiwiFruitGrowingLbl); + ContosoCRM.InsertIndustryGroup(A119(), FruitGrowingNecLbl); + ContosoCRM.InsertIndustryGroup(A121(), GrainGrowingLbl); + ContosoCRM.InsertIndustryGroup(A123(), SheepBeefCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A124(), SheepFarmingLbl); + ContosoCRM.InsertIndustryGroup(A125(), BeefCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A13(), DairyCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A130(), DairyCattleFarmingLbl); + ContosoCRM.InsertIndustryGroup(A14(), PoultryFarmingLbl); + ContosoCRM.InsertIndustryGroup(A141(), PoultryFarmingMeatLbl); + ContosoCRM.InsertIndustryGroup(A142(), PoultryFarmingEggsLbl); + ContosoCRM.InsertIndustryGroup(A15(), OtherLivestockFarmingLbl); + ContosoCRM.InsertIndustryGroup(A151(), PigFarmingLbl); + ContosoCRM.InsertIndustryGroup(A152(), HorseFarmingLbl); + ContosoCRM.InsertIndustryGroup(A153(), DeerFarmingLbl); + ContosoCRM.InsertIndustryGroup(A159(), LivestockFarmingNecLbl); + ContosoCRM.InsertIndustryGroup(A16(), OtherCropGrowingLbl); + ContosoCRM.InsertIndustryGroup(A161(), SugarCaneGrowingLbl); + ContosoCRM.InsertIndustryGroup(A162(), CottonGrowingLbl); + ContosoCRM.InsertIndustryGroup(A169(), CropAndPlantGrowingNecLbl); + ContosoCRM.InsertIndustryGroup(A21(), ServicesToAgricultureLbl); + ContosoCRM.InsertIndustryGroup(A211(), CottonGinningLbl); + ContosoCRM.InsertIndustryGroup(A212(), ShearingServicesLbl); + ContosoCRM.InsertIndustryGroup(A213(), AerialAgriculturalServicesLbl); + ContosoCRM.InsertIndustryGroup(A219(), ServicesToAgricultureNecLbl); + ContosoCRM.InsertIndustryGroup(A22(), HuntingAndTrappingLbl); + ContosoCRM.InsertIndustryGroup(A220(), HuntingAndTrappingLbl); + ContosoCRM.InsertIndustryGroup(A3(), ForestryAndLoggingLbl); + ContosoCRM.InsertIndustryGroup(A30(), ForestryAndLoggingLbl); + ContosoCRM.InsertIndustryGroup(A301(), ForestryLbl); + ContosoCRM.InsertIndustryGroup(A302(), LoggingLbl); + ContosoCRM.InsertIndustryGroup(A303(), ServicesToForestryLbl); + ContosoCRM.InsertIndustryGroup(A4(), CommercialFishingLbl); + ContosoCRM.InsertIndustryGroup(A41(), MarineFishingLbl); + ContosoCRM.InsertIndustryGroup(A411(), RockLobsterFishingLbl); + ContosoCRM.InsertIndustryGroup(A412(), PrawnFishingLbl); + ContosoCRM.InsertIndustryGroup(A413(), FinfishTrawlingLbl); + ContosoCRM.InsertIndustryGroup(A414(), SquidJiggingLbl); + ContosoCRM.InsertIndustryGroup(A415(), LineFishingLbl); + ContosoCRM.InsertIndustryGroup(A419(), MarineFishingNecLbl); + ContosoCRM.InsertIndustryGroup(A42(), AquacultureLbl); + ContosoCRM.InsertIndustryGroup(A420(), AquacultureLbl); + ContosoCRM.InsertIndustryGroup(B(), MiningLbl); + ContosoCRM.InsertIndustryGroup(B11(), CoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B110(), CoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B1101(), BlackCoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B1102(), BrownCoalMiningLbl); + ContosoCRM.InsertIndustryGroup(B12(), OilAndGasExtractionLbl); + ContosoCRM.InsertIndustryGroup(B120(), OilAndGasExtractionLbl); + ContosoCRM.InsertIndustryGroup(B1200(), OilAndGasExtractionLbl); + ContosoCRM.InsertIndustryGroup(B13(), MetalOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B131(), MetalOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1311(), IronOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1312(), BauxiteMiningLbl); + ContosoCRM.InsertIndustryGroup(B1313(), CopperOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1314(), GoldOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1315(), MineralSandMiningLbl); + ContosoCRM.InsertIndustryGroup(B1316(), NickelOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1317(), SilverLeadZincOreMiningLbl); + ContosoCRM.InsertIndustryGroup(B1319(), MetalOreMiningNecLbl); + ContosoCRM.InsertIndustryGroup(B14(), OtherMiningLbl); + ContosoCRM.InsertIndustryGroup(B141(), ConstructionMaterialMiningLbl); + ContosoCRM.InsertIndustryGroup(B1411(), GravelAndSandQuarryingLbl); + ContosoCRM.InsertIndustryGroup(B142(), MiningNecLbl); + ContosoCRM.InsertIndustryGroup(B1420(), MiningNecLbl); + ContosoCRM.InsertIndustryGroup(B15(), ServicesToMiningLbl); + ContosoCRM.InsertIndustryGroup(B151(), ExplorationLbl); + ContosoCRM.InsertIndustryGroup(B1512(), PetroleumExplorationServicesLbl); + ContosoCRM.InsertIndustryGroup(B1514(), MineralExplorationServicesLbl); + ContosoCRM.InsertIndustryGroup(B152(), OtherMiningServicesLbl); + ContosoCRM.InsertIndustryGroup(B1520(), OtherMiningServicesLbl); + ContosoCRM.InsertIndustryGroup(C(), ManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C21(), FoodBeverageAndTobaccoLbl); + ContosoCRM.InsertIndustryGroup(C2111(), MeatProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2112(), PoultryProcessingLbl); + ContosoCRM.InsertIndustryGroup(C212(), DairyProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2121(), MilkAndCreamProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2122(), IceCreamManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C213(), FruitAndVegetableProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2130(), FruitAndVegetableProcessingLbl); + ContosoCRM.InsertIndustryGroup(C214(), OilAndFatManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2140(), OilAndFatManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C216(), BakeryProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2161(), BreadManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2162(), CakeAndPastryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2163(), BiscuitManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C217(), OtherFoodManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2171(), SugarManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2172(), ConfectioneryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2173(), SeafoodProcessingLbl); + ContosoCRM.InsertIndustryGroup(C2179(), FoodManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C2182(), BeerAndMaltManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2183(), WineManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2184(), SpiritManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C219(), TobaccoProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2190(), TobaccoProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2211(), WoolScouringLbl); + ContosoCRM.InsertIndustryGroup(C2213(), CottonTextileManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2214(), WoolTextileManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2215(), TextileFinishingLbl); + ContosoCRM.InsertIndustryGroup(C222(), TextileProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C223(), KnittingMillsLbl); + ContosoCRM.InsertIndustryGroup(C2231(), HosieryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C224(), ClothingManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2249(), ClothingManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C225(), FootwearManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2250(), FootwearManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2311(), LogSawmillingLbl); + ContosoCRM.InsertIndustryGroup(C2312(), WoodChippingLbl); + ContosoCRM.InsertIndustryGroup(C2313(), TimberResawingAndDressingLbl); + ContosoCRM.InsertIndustryGroup(C2322(), FabricatedWoodManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2329(), WoodProductManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C2411(), PaperStationeryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2412(), PrintingLbl); + ContosoCRM.InsertIndustryGroup(C2413(), ServicesToPrintingLbl); + ContosoCRM.InsertIndustryGroup(C242(), PublishingLbl); + ContosoCRM.InsertIndustryGroup(C2422(), OtherPeriodicalPublishingLbl); + ContosoCRM.InsertIndustryGroup(C2423(), BookAndOtherPublishingLbl); + ContosoCRM.InsertIndustryGroup(C251(), PetroleumRefiningLbl); + ContosoCRM.InsertIndustryGroup(C2510(), PetroleumRefiningLbl); + ContosoCRM.InsertIndustryGroup(C253(), BasicChemicalManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2531(), FertiliserManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2532(), IndustrialGasManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2533(), SyntheticResinManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2541(), ExplosiveManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2542(), PaintManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2544(), PesticideManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2547(), InkManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C255(), RubberProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2551(), RubberTyreManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C256(), PlasticProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C262(), CeramicManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2621(), ClayBrickManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2622(), CeramicProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2631(), CementAndLimeManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2632(), PlasterProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2633(), ConcreteSlurryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C27(), MetalProductManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C271(), IronAndSteelManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2721(), AluminaProductionLbl); + ContosoCRM.InsertIndustryGroup(C2722(), AluminiumSmeltingLbl); + ContosoCRM.InsertIndustryGroup(C2733(), NonFerrousMetalCastingLbl); + ContosoCRM.InsertIndustryGroup(C2741(), StructuralSteelFabricatingLbl); + ContosoCRM.InsertIndustryGroup(C2751(), MetalContainerManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2764(), MetalCoatingAndFinishingLbl); + ContosoCRM.InsertIndustryGroup(C2811(), MotorVehicleManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2821(), ShipbuildingLbl); + ContosoCRM.InsertIndustryGroup(C2822(), BoatbuildingLbl); + ContosoCRM.InsertIndustryGroup(C2824(), AircraftManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2853(), BatteryManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C29(), OtherManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C292(), FurnitureManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2929(), FurnitureManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(C294(), OtherManufacturingLbl); + ContosoCRM.InsertIndustryGroup(C2949(), ManufacturingNecLbl); + ContosoCRM.InsertIndustryGroup(D36(), ElectricityAndGasSupplyLbl); + ContosoCRM.InsertIndustryGroup(D361(), ElectricitySupplyLbl); + ContosoCRM.InsertIndustryGroup(D3610(), ElectricitySupplyLbl); + ContosoCRM.InsertIndustryGroup(D362(), GasSupplyLbl); + ContosoCRM.InsertIndustryGroup(D3620(), GasSupplyLbl); + ContosoCRM.InsertIndustryGroup(D3701(), WaterSupplyLbl); + ContosoCRM.InsertIndustryGroup(D3702(), SewerageAndDrainageServicesLbl); + ContosoCRM.InsertIndustryGroup(E(), ConstructionLbl); + ContosoCRM.InsertIndustryGroup(E41(), GeneralConstructionLbl); + ContosoCRM.InsertIndustryGroup(E411(), BuildingConstructionLbl); + ContosoCRM.InsertIndustryGroup(E4111(), HouseConstructionLbl); + ContosoCRM.InsertIndustryGroup(E412(), NonBuildingConstructionLbl); + ContosoCRM.InsertIndustryGroup(E4121(), RoadAndBridgeConstructionLbl); + ContosoCRM.InsertIndustryGroup(E4122(), NonBuildingConstructionNecLbl); + ContosoCRM.InsertIndustryGroup(E42(), ConstructionTradeServicesLbl); + ContosoCRM.InsertIndustryGroup(E421(), SitePreparationServicesLbl); + ContosoCRM.InsertIndustryGroup(E4210(), SitePreparationServicesLbl); + ContosoCRM.InsertIndustryGroup(E422(), BuildingStructureServicesLbl); + ContosoCRM.InsertIndustryGroup(E4221(), ConcretingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4222(), BricklayingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4223(), RoofingServicesLbl); + ContosoCRM.InsertIndustryGroup(E423(), InstallationTradeServicesLbl); + ContosoCRM.InsertIndustryGroup(E4231(), PlumbingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4232(), ElectricalServicesLbl); + ContosoCRM.InsertIndustryGroup(E424(), BuildingCompletionServicesLbl); + ContosoCRM.InsertIndustryGroup(E4242(), CarpentryServicesLbl); + ContosoCRM.InsertIndustryGroup(E4243(), TilingAndCarpetingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4245(), GlazingServicesLbl); + ContosoCRM.InsertIndustryGroup(E425(), OtherConstructionServicesLbl); + ContosoCRM.InsertIndustryGroup(E4251(), LandscapingServicesLbl); + ContosoCRM.InsertIndustryGroup(E4259(), ConstructionServicesNecLbl); + ContosoCRM.InsertIndustryGroup(F(), WholesaleTradeLbl); + ContosoCRM.InsertIndustryGroup(F45(), BasicMaterialWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F451(), FarmProduceWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4511(), WoolWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4512(), CerealGrainWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4521(), PetroleumProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4522(), MetalAndMineralWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4523(), ChemicalWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F453(), BuildersSuppliesWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4531(), TimberWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4613(), ComputerWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F462(), MotorVehicleWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4621(), CarWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4622(), CommercialVehicleWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4623(), MotorVehicleNewPartDealingLbl); + ContosoCRM.InsertIndustryGroup(F4711(), MeatWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4713(), DairyProduceWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4714(), FishWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4717(), LiquorWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4718(), TobaccoProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4719(), GroceryWholesalingNecLbl); + ContosoCRM.InsertIndustryGroup(F4721(), TextileProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4722(), ClothingWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4723(), FootwearWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F473(), HouseholdGoodWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4732(), FurnitureWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4733(), FloorCoveringWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4739(), HouseholdGoodWholesalingNecLbl); + ContosoCRM.InsertIndustryGroup(F479(), OtherWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4794(), BookAndMagazineWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4795(), PaperProductWholesalingLbl); + ContosoCRM.InsertIndustryGroup(F4799(), WholesalingNecLbl); + ContosoCRM.InsertIndustryGroup(G(), RetailTradeLbl); + ContosoCRM.InsertIndustryGroup(G51(), FoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G511(), SupermarketAndGroceryStoresLbl); + ContosoCRM.InsertIndustryGroup(G5110(), SupermarketAndGroceryStoresLbl); + ContosoCRM.InsertIndustryGroup(G512(), SpecialisedFoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5122(), FruitAndVegetableRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5123(), LiquorRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5124(), BreadAndCakeRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5125(), TakeawayFoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5126(), MilkVendingLbl); + ContosoCRM.InsertIndustryGroup(G5129(), SpecialisedFoodRetailingNecLbl); + ContosoCRM.InsertIndustryGroup(G521(), DepartmentStoresLbl); + ContosoCRM.InsertIndustryGroup(G5210(), DepartmentStoresLbl); + ContosoCRM.InsertIndustryGroup(G5221(), ClothingRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5222(), FootwearRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5231(), FurnitureRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5232(), FloorCoveringRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5234(), DomesticApplianceRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5235(), RecordedMusicRetailingLbl); + ContosoCRM.InsertIndustryGroup(G524(), RecreationalGoodRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5242(), ToyAndGameRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5245(), MarineEquipmentRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5253(), GardenSuppliesRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5254(), FlowerRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5255(), WatchAndJewelleryRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5259(), RetailingNecLbl); + ContosoCRM.InsertIndustryGroup(G531(), MotorVehicleRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5311(), CarRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5312(), MotorCycleDealingLbl); + ContosoCRM.InsertIndustryGroup(G5313(), TrailerAndCaravanDealingLbl); + ContosoCRM.InsertIndustryGroup(G532(), MotorVehicleServicesLbl); + ContosoCRM.InsertIndustryGroup(G5321(), AutomotiveFuelRetailingLbl); + ContosoCRM.InsertIndustryGroup(G5322(), AutomotiveElectricalServicesLbl); + ContosoCRM.InsertIndustryGroup(G5323(), SmashRepairingLbl); + ContosoCRM.InsertIndustryGroup(G5324(), TyreRetailingLbl); + ContosoCRM.InsertIndustryGroup(H571(), AccommodationLbl); + ContosoCRM.InsertIndustryGroup(H5710(), AccommodationLbl); + ContosoCRM.InsertIndustryGroup(H572(), PubsTavernsAndBarsLbl); + ContosoCRM.InsertIndustryGroup(H5720(), PubsTavernsAndBarsLbl); + ContosoCRM.InsertIndustryGroup(H573(), CafesAndRestaurantsLbl); + ContosoCRM.InsertIndustryGroup(H5730(), CafesAndRestaurantsLbl); + ContosoCRM.InsertIndustryGroup(H574(), ClubsHospitalityLbl); + ContosoCRM.InsertIndustryGroup(H5740(), ClubsHospitalityLbl); + ContosoCRM.InsertIndustryGroup(I(), TransportAndStorageLbl); + ContosoCRM.InsertIndustryGroup(I61(), RoadTransportLbl); + ContosoCRM.InsertIndustryGroup(I611(), RoadFreightTransportLbl); + ContosoCRM.InsertIndustryGroup(I6110(), RoadFreightTransportLbl); + ContosoCRM.InsertIndustryGroup(I612(), RoadPassengerTransportLbl); + ContosoCRM.InsertIndustryGroup(I6121(), LongDistanceBusTransportLbl); + ContosoCRM.InsertIndustryGroup(I62(), RailTransportLbl); + ContosoCRM.InsertIndustryGroup(I620(), RailTransportLbl); + ContosoCRM.InsertIndustryGroup(I6200(), RailTransportLbl); + ContosoCRM.InsertIndustryGroup(I63(), WaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I630(), WaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I6301(), InternationalSeaTransportLbl); + ContosoCRM.InsertIndustryGroup(I6302(), CoastalWaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I6303(), InlandWaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I64(), AirAndSpaceTransportLbl); + ContosoCRM.InsertIndustryGroup(I640(), AirAndSpaceTransportLbl); + ContosoCRM.InsertIndustryGroup(I65(), OtherTransportLbl); + ContosoCRM.InsertIndustryGroup(I650(), OtherTransportLbl); + ContosoCRM.InsertIndustryGroup(I6501(), PipelineTransportLbl); + ContosoCRM.InsertIndustryGroup(I6509(), TransportNecLbl); + ContosoCRM.InsertIndustryGroup(I66(), ServicesToTransportLbl); + ContosoCRM.InsertIndustryGroup(I661(), ServicesToRoadTransportLbl); + ContosoCRM.InsertIndustryGroup(I6611(), ParkingServicesLbl); + ContosoCRM.InsertIndustryGroup(I6619(), ServicesToRoadTransportNecLbl); + ContosoCRM.InsertIndustryGroup(I662(), ServicesToWaterTransportLbl); + ContosoCRM.InsertIndustryGroup(I6621(), StevedoringLbl); + ContosoCRM.InsertIndustryGroup(I6622(), WaterTransportTerminalsLbl); + ContosoCRM.InsertIndustryGroup(I6623(), PortOperatorsLbl); + ContosoCRM.InsertIndustryGroup(I663(), ServicesToAirTransportLbl); + ContosoCRM.InsertIndustryGroup(I6630(), ServicesToAirTransportLbl); + ContosoCRM.InsertIndustryGroup(I664(), OtherServicesToTransportLbl); + ContosoCRM.InsertIndustryGroup(I6641(), TravelAgencyServicesLbl); + ContosoCRM.InsertIndustryGroup(I6642(), RoadFreightForwardingLbl); + ContosoCRM.InsertIndustryGroup(I6644(), CustomsAgencyServicesLbl); + ContosoCRM.InsertIndustryGroup(I6649(), ServicesToTransportNecLbl); + ContosoCRM.InsertIndustryGroup(I67(), StorageLbl); + ContosoCRM.InsertIndustryGroup(I670(), StorageLbl); + ContosoCRM.InsertIndustryGroup(I6701(), GrainStorageLbl); + ContosoCRM.InsertIndustryGroup(I6709(), StorageNecLbl); + ContosoCRM.InsertIndustryGroup(J(), CommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(J71(), CommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(J711(), PostalAndCourierServicesLbl); + ContosoCRM.InsertIndustryGroup(J7111(), PostalServicesLbl); + ContosoCRM.InsertIndustryGroup(J7112(), CourierServicesLbl); + ContosoCRM.InsertIndustryGroup(J712(), TelecommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(J7120(), TelecommunicationServicesLbl); + ContosoCRM.InsertIndustryGroup(K(), FinanceAndInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K73(), FinanceLbl); + ContosoCRM.InsertIndustryGroup(K731(), CentralBankLbl); + ContosoCRM.InsertIndustryGroup(K7310(), CentralBankLbl); + ContosoCRM.InsertIndustryGroup(K732(), DepositTakingFinanciersLbl); + ContosoCRM.InsertIndustryGroup(K7321(), BanksLbl); + ContosoCRM.InsertIndustryGroup(K7322(), BuildingSocietiesLbl); + ContosoCRM.InsertIndustryGroup(K7323(), CreditUnionsLbl); + ContosoCRM.InsertIndustryGroup(K7324(), MoneyMarketDealersLbl); + ContosoCRM.InsertIndustryGroup(K7329(), DepositTakingFinanciersNecLbl); + ContosoCRM.InsertIndustryGroup(K733(), OtherFinanciersLbl); + ContosoCRM.InsertIndustryGroup(K7330(), OtherFinanciersLbl); + ContosoCRM.InsertIndustryGroup(K734(), FinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(K7340(), FinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(K74(), InsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7411(), LifeInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7412(), SuperannuationFundsLbl); + ContosoCRM.InsertIndustryGroup(K742(), OtherInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7421(), HealthInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7422(), GeneralInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K752(), ServicesToInsuranceLbl); + ContosoCRM.InsertIndustryGroup(K7520(), ServicesToInsuranceLbl); + ContosoCRM.InsertIndustryGroup(L(), PropertyAndBusinessServicesLbl); + ContosoCRM.InsertIndustryGroup(L77(), PropertyServicesLbl); + ContosoCRM.InsertIndustryGroup(L7711(), ResidentialPropertyOperatorsLbl); + ContosoCRM.InsertIndustryGroup(L772(), RealEstateAgentsLbl); + ContosoCRM.InsertIndustryGroup(L7720(), RealEstateAgentsLbl); + ContosoCRM.InsertIndustryGroup(L773(), NonFinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(L7730(), NonFinancialAssetInvestorsLbl); + ContosoCRM.InsertIndustryGroup(L7741(), MotorVehicleHiringLbl); + ContosoCRM.InsertIndustryGroup(L7743(), PlantHiringOrLeasingLbl); + ContosoCRM.InsertIndustryGroup(L78(), BusinessServicesLbl); + ContosoCRM.InsertIndustryGroup(L781(), ScientificResearchLbl); + ContosoCRM.InsertIndustryGroup(L7810(), ScientificResearchLbl); + ContosoCRM.InsertIndustryGroup(L782(), TechnicalServicesLbl); + ContosoCRM.InsertIndustryGroup(L7821(), ArchitecturalServicesLbl); + ContosoCRM.InsertIndustryGroup(L7822(), SurveyingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7829(), TechnicalServicesNecLbl); + ContosoCRM.InsertIndustryGroup(L783(), ComputerServicesLbl); + ContosoCRM.InsertIndustryGroup(L7831(), DataProcessingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7833(), ComputerMaintenanceServicesLbl); + ContosoCRM.InsertIndustryGroup(L7834(), ComputerConsultancyServicesLbl); + ContosoCRM.InsertIndustryGroup(L784(), LegalAndAccountingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7841(), LegalServicesLbl); + ContosoCRM.InsertIndustryGroup(L7842(), AccountingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7851(), AdvertisingServicesLbl); + ContosoCRM.InsertIndustryGroup(L7853(), MarketResearchServicesLbl); + ContosoCRM.InsertIndustryGroup(L7855(), BusinessManagementServicesLbl); + ContosoCRM.InsertIndustryGroup(L786(), OtherBusinessServicesLbl); + ContosoCRM.InsertIndustryGroup(L7861(), EmploymentPlacementServicesLbl); + ContosoCRM.InsertIndustryGroup(L7862(), ContractStaffServicesLbl); + ContosoCRM.InsertIndustryGroup(L7863(), SecretarialServicesLbl); + ContosoCRM.InsertIndustryGroup(L7865(), PestControlServicesLbl); + ContosoCRM.InsertIndustryGroup(L7866(), CleaningServicesLbl); + ContosoCRM.InsertIndustryGroup(L7867(), ContractPackingServicesNecLbl); + ContosoCRM.InsertIndustryGroup(L7869(), BusinessServicesNecLbl); + ContosoCRM.InsertIndustryGroup(M81(), GovernmentAdministrationLbl); + ContosoCRM.InsertIndustryGroup(M811(), GovernmentAdministrationLbl); + ContosoCRM.InsertIndustryGroup(M812(), JusticeLbl); + ContosoCRM.InsertIndustryGroup(M8120(), JusticeLbl); + ContosoCRM.InsertIndustryGroup(M82(), DefenceLbl); + ContosoCRM.InsertIndustryGroup(M820(), DefenceLbl); + ContosoCRM.InsertIndustryGroup(M8200(), DefenceLbl); + ContosoCRM.InsertIndustryGroup(N(), EducationLbl); + ContosoCRM.InsertIndustryGroup(N84(), EducationLbl); + ContosoCRM.InsertIndustryGroup(N841(), PreschoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N8410(), PreschoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N842(), SchoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N8421(), PrimaryEducationLbl); + ContosoCRM.InsertIndustryGroup(N8422(), SecondaryEducationLbl); + ContosoCRM.InsertIndustryGroup(N8424(), SpecialSchoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N843(), PostSchoolEducationLbl); + ContosoCRM.InsertIndustryGroup(N8431(), HigherEducationLbl); + ContosoCRM.InsertIndustryGroup(N844(), OtherEducationLbl); + ContosoCRM.InsertIndustryGroup(N8440(), OtherEducationLbl); + ContosoCRM.InsertIndustryGroup(O(), HealthAndCommunityServicesLbl); + ContosoCRM.InsertIndustryGroup(O86(), HealthServicesLbl); + ContosoCRM.InsertIndustryGroup(O861(), HospitalsAndNursingHomesLbl); + ContosoCRM.InsertIndustryGroup(O8612(), PsychiatricHospitalsLbl); + ContosoCRM.InsertIndustryGroup(O8613(), NursingHomesLbl); + ContosoCRM.InsertIndustryGroup(O862(), MedicalAndDentalServicesLbl); + ContosoCRM.InsertIndustryGroup(O8622(), SpecialistMedicalServicesLbl); + ContosoCRM.InsertIndustryGroup(O8623(), DentalServicesLbl); + ContosoCRM.InsertIndustryGroup(O863(), OtherHealthServicesLbl); + ContosoCRM.InsertIndustryGroup(O8631(), PathologyServicesLbl); + ContosoCRM.InsertIndustryGroup(O8633(), AmbulanceServicesLbl); + ContosoCRM.InsertIndustryGroup(O8634(), CommunityHealthCentresLbl); + ContosoCRM.InsertIndustryGroup(O8635(), PhysiotherapyServicesLbl); + ContosoCRM.InsertIndustryGroup(O8636(), ChiropracticServicesLbl); + ContosoCRM.InsertIndustryGroup(O8639(), HealthServicesNecLbl); + ContosoCRM.InsertIndustryGroup(O864(), VeterinaryServicesLbl); + ContosoCRM.InsertIndustryGroup(O8640(), VeterinaryServicesLbl); + ContosoCRM.InsertIndustryGroup(O87(), CommunityServicesLbl); + ContosoCRM.InsertIndustryGroup(O871(), ChildCareServicesLbl); + ContosoCRM.InsertIndustryGroup(O8710(), ChildCareServicesLbl); + ContosoCRM.InsertIndustryGroup(O872(), CommunityCareServicesLbl); + ContosoCRM.InsertIndustryGroup(O8721(), AccommodationForTheAgedLbl); + ContosoCRM.InsertIndustryGroup(O8722(), ResidentialCareServicesNecLbl); + ContosoCRM.InsertIndustryGroup(P911(), FilmAndVideoServicesLbl); + ContosoCRM.InsertIndustryGroup(P9111(), FilmAndVideoProductionLbl); + ContosoCRM.InsertIndustryGroup(P9112(), FilmAndVideoDistributionLbl); + ContosoCRM.InsertIndustryGroup(P9113(), MotionPictureExhibitionLbl); + ContosoCRM.InsertIndustryGroup(P912(), RadioAndTelevisionServicesLbl); + ContosoCRM.InsertIndustryGroup(P9121(), RadioServicesLbl); + ContosoCRM.InsertIndustryGroup(P9122(), TelevisionServicesLbl); + ContosoCRM.InsertIndustryGroup(P921(), LibrariesLbl); + ContosoCRM.InsertIndustryGroup(P9210(), LibrariesLbl); + ContosoCRM.InsertIndustryGroup(P922(), MuseumsLbl); + ContosoCRM.InsertIndustryGroup(P9220(), MuseumsLbl); + ContosoCRM.InsertIndustryGroup(P923(), ParksAndGardensLbl); + ContosoCRM.InsertIndustryGroup(P9231(), ZoologicalAndBotanicGardensLbl); + ContosoCRM.InsertIndustryGroup(P9239(), RecreationalParksAndGardensLbl); + ContosoCRM.InsertIndustryGroup(P924(), ArtsLbl); + ContosoCRM.InsertIndustryGroup(P9241(), MusicAndTheatreProductionsLbl); + ContosoCRM.InsertIndustryGroup(P9242(), CreativeArtsLbl); + ContosoCRM.InsertIndustryGroup(P925(), ServicesToTheArtsLbl); + ContosoCRM.InsertIndustryGroup(P9251(), SoundRecordingStudiosLbl); + ContosoCRM.InsertIndustryGroup(P9252(), PerformingArtsVenuesLbl); + ContosoCRM.InsertIndustryGroup(P9259(), ServicesToTheArtsNecLbl); + ContosoCRM.InsertIndustryGroup(P93(), SportAndRecreationLbl); + ContosoCRM.InsertIndustryGroup(P931(), SportLbl); + ContosoCRM.InsertIndustryGroup(P9311(), HorseAndDogRacingLbl); + ContosoCRM.InsertIndustryGroup(P932(), GamblingServicesLbl); + ContosoCRM.InsertIndustryGroup(P9321(), LotteriesLbl); + ContosoCRM.InsertIndustryGroup(P9322(), CasinosLbl); + ContosoCRM.InsertIndustryGroup(P9329(), GamblingServicesNecLbl); + ContosoCRM.InsertIndustryGroup(P933(), OtherRecreationServicesLbl); + ContosoCRM.InsertIndustryGroup(P9330(), OtherRecreationServicesLbl); + ContosoCRM.InsertIndustryGroup(Q(), PersonalAndOtherServicesLbl); + ContosoCRM.InsertIndustryGroup(Q95(), PersonalServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9511(), VideoHireOutletsLbl); + ContosoCRM.InsertIndustryGroup(Q952(), OtherPersonalServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9521(), LaundriesAndDryCleanersLbl); + ContosoCRM.InsertIndustryGroup(Q9522(), PhotographicFilmProcessingLbl); + ContosoCRM.InsertIndustryGroup(Q9523(), PhotographicStudiosLbl); + ContosoCRM.InsertIndustryGroup(Q9525(), GardeningServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9526(), HairdressingAndBeautySalonsLbl); + ContosoCRM.InsertIndustryGroup(Q9529(), PersonalServicesNecLbl); + ContosoCRM.InsertIndustryGroup(Q96(), OtherServicesLbl); + ContosoCRM.InsertIndustryGroup(Q961(), ReligiousOrganisationsLbl); + ContosoCRM.InsertIndustryGroup(Q9610(), ReligiousOrganisationsLbl); + ContosoCRM.InsertIndustryGroup(Q962(), InterestGroupsLbl); + ContosoCRM.InsertIndustryGroup(Q9622(), LabourAssociationsLbl); + ContosoCRM.InsertIndustryGroup(Q9629(), InterestGroupsNecLbl); + ContosoCRM.InsertIndustryGroup(Q9631(), PoliceServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9632(), CorrectiveCentresLbl); + ContosoCRM.InsertIndustryGroup(Q9633(), FireBrigadeServicesLbl); + ContosoCRM.InsertIndustryGroup(Q9634(), WasteDisposalServicesLbl); + ContosoCRM.SetOverwriteData(false); + end; + + procedure A1(): Code[10] + begin + exit(A1Tok); + end; + + procedure A11(): Code[10] + begin + exit(A11Tok); + end; + + procedure A111(): Code[10] + begin + exit(A111Tok); + end; + + procedure A113(): Code[10] + begin + exit(A113Tok); + end; + + procedure A114(): Code[10] + begin + exit(A114Tok); + end; + + procedure A115(): Code[10] + begin + exit(A115Tok); + end; + + procedure A116(): Code[10] + begin + exit(A116Tok); + end; + + procedure A117(): Code[10] + begin + exit(A117Tok); + end; + + procedure A119(): Code[10] + begin + exit(A119Tok); + end; + + procedure A121(): Code[10] + begin + exit(A121Tok); + end; + + procedure A123(): Code[10] + begin + exit(A123Tok); + end; + + procedure A124(): Code[10] + begin + exit(A124Tok); + end; + + procedure A125(): Code[10] + begin + exit(A125Tok); + end; + + procedure A13(): Code[10] + begin + exit(A13Tok); + end; + + procedure A130(): Code[10] + begin + exit(A130Tok); + end; + + procedure A14(): Code[10] + begin + exit(A14Tok); + end; + + procedure A141(): Code[10] + begin + exit(A141Tok); + end; + + procedure A142(): Code[10] + begin + exit(A142Tok); + end; + + procedure A15(): Code[10] + begin + exit(A15Tok); + end; + + procedure A151(): Code[10] + begin + exit(A151Tok); + end; + + procedure A152(): Code[10] + begin + exit(A152Tok); + end; + + procedure A153(): Code[10] + begin + exit(A153Tok); + end; + + procedure A159(): Code[10] + begin + exit(A159Tok); + end; + + procedure A16(): Code[10] + begin + exit(A16Tok); + end; + + procedure A161(): Code[10] + begin + exit(A161Tok); + end; + + procedure A162(): Code[10] + begin + exit(A162Tok); + end; + + procedure A169(): Code[10] + begin + exit(A169Tok); + end; + + procedure A21(): Code[10] + begin + exit(A21Tok); + end; + + procedure A211(): Code[10] + begin + exit(A211Tok); + end; + + procedure A212(): Code[10] + begin + exit(A212Tok); + end; + + procedure A213(): Code[10] + begin + exit(A213Tok); + end; + + procedure A219(): Code[10] + begin + exit(A219Tok); + end; + + procedure A22(): Code[10] + begin + exit(A22Tok); + end; + + procedure A220(): Code[10] + begin + exit(A220Tok); + end; + + procedure A3(): Code[10] + begin + exit(A3Tok); + end; + + procedure A30(): Code[10] + begin + exit(A30Tok); + end; + + procedure A301(): Code[10] + begin + exit(A301Tok); + end; + + procedure A302(): Code[10] + begin + exit(A302Tok); + end; + + procedure A303(): Code[10] + begin + exit(A303Tok); + end; + + procedure A4(): Code[10] + begin + exit(A4Tok); + end; + + procedure A41(): Code[10] + begin + exit(A41Tok); + end; + + procedure A411(): Code[10] + begin + exit(A411Tok); + end; + + procedure A412(): Code[10] + begin + exit(A412Tok); + end; + + procedure A413(): Code[10] + begin + exit(A413Tok); + end; + + procedure A414(): Code[10] + begin + exit(A414Tok); + end; + + procedure A415(): Code[10] + begin + exit(A415Tok); + end; + + procedure A419(): Code[10] + begin + exit(A419Tok); + end; + + procedure A42(): Code[10] + begin + exit(A42Tok); + end; + + procedure A420(): Code[10] + begin + exit(A420Tok); + end; + + procedure B(): Code[10] + begin + exit(BTok); + end; + + procedure B11(): Code[10] + begin + exit(B11Tok); + end; + + procedure B110(): Code[10] + begin + exit(B110Tok); + end; + + procedure B1101(): Code[10] + begin + exit(B1101Tok); + end; + + procedure B1102(): Code[10] + begin + exit(B1102Tok); + end; + + procedure B12(): Code[10] + begin + exit(B12Tok); + end; + + procedure B120(): Code[10] + begin + exit(B120Tok); + end; + + procedure B1200(): Code[10] + begin + exit(B1200Tok); + end; + + procedure B13(): Code[10] + begin + exit(B13Tok); + end; + + procedure B131(): Code[10] + begin + exit(B131Tok); + end; + + procedure B1311(): Code[10] + begin + exit(B1311Tok); + end; + + procedure B1312(): Code[10] + begin + exit(B1312Tok); + end; + + procedure B1313(): Code[10] + begin + exit(B1313Tok); + end; + + procedure B1314(): Code[10] + begin + exit(B1314Tok); + end; + + procedure B1315(): Code[10] + begin + exit(B1315Tok); + end; + + procedure B1316(): Code[10] + begin + exit(B1316Tok); + end; + + procedure B1317(): Code[10] + begin + exit(B1317Tok); + end; + + procedure B1319(): Code[10] + begin + exit(B1319Tok); + end; + + procedure B14(): Code[10] + begin + exit(B14Tok); + end; + + procedure B141(): Code[10] + begin + exit(B141Tok); + end; + + procedure B1411(): Code[10] + begin + exit(B1411Tok); + end; + + procedure B142(): Code[10] + begin + exit(B142Tok); + end; + + procedure B1420(): Code[10] + begin + exit(B1420Tok); + end; + + procedure B15(): Code[10] + begin + exit(B15Tok); + end; + + procedure B151(): Code[10] + begin + exit(B151Tok); + end; + + procedure B1512(): Code[10] + begin + exit(B1512Tok); + end; + + procedure B1514(): Code[10] + begin + exit(B1514Tok); + end; + + procedure B152(): Code[10] + begin + exit(B152Tok); + end; + + procedure B1520(): Code[10] + begin + exit(B1520Tok); + end; + + procedure C(): Code[10] + begin + exit(CTok); + end; + + procedure C21(): Code[10] + begin + exit(C21Tok); + end; + + procedure C2111(): Code[10] + begin + exit(C2111Tok); + end; + + procedure C2112(): Code[10] + begin + exit(C2112Tok); + end; + + procedure C212(): Code[10] + begin + exit(C212Tok); + end; + + procedure C2121(): Code[10] + begin + exit(C2121Tok); + end; + + procedure C2122(): Code[10] + begin + exit(C2122Tok); + end; + + procedure C213(): Code[10] + begin + exit(C213Tok); + end; + + procedure C2130(): Code[10] + begin + exit(C2130Tok); + end; + + procedure C214(): Code[10] + begin + exit(C214Tok); + end; + + procedure C2140(): Code[10] + begin + exit(C2140Tok); + end; + + procedure C216(): Code[10] + begin + exit(C216Tok); + end; + + procedure C2161(): Code[10] + begin + exit(C2161Tok); + end; + + procedure C2162(): Code[10] + begin + exit(C2162Tok); + end; + + procedure C2163(): Code[10] + begin + exit(C2163Tok); + end; + + procedure C217(): Code[10] + begin + exit(C217Tok); + end; + + procedure C2171(): Code[10] + begin + exit(C2171Tok); + end; + + procedure C2172(): Code[10] + begin + exit(C2172Tok); + end; + + procedure C2173(): Code[10] + begin + exit(C2173Tok); + end; + + procedure C2179(): Code[10] + begin + exit(C2179Tok); + end; + + procedure C2182(): Code[10] + begin + exit(C2182Tok); + end; + + procedure C2183(): Code[10] + begin + exit(C2183Tok); + end; + + procedure C2184(): Code[10] + begin + exit(C2184Tok); + end; + + procedure C219(): Code[10] + begin + exit(C219Tok); + end; + + procedure C2190(): Code[10] + begin + exit(C2190Tok); + end; + + procedure C2211(): Code[10] + begin + exit(C2211Tok); + end; + + procedure C2213(): Code[10] + begin + exit(C2213Tok); + end; + + procedure C2214(): Code[10] + begin + exit(C2214Tok); + end; + + procedure C2215(): Code[10] + begin + exit(C2215Tok); + end; + + procedure C222(): Code[10] + begin + exit(C222Tok); + end; + + procedure C223(): Code[10] + begin + exit(C223Tok); + end; + + procedure C2231(): Code[10] + begin + exit(C2231Tok); + end; + + procedure C224(): Code[10] + begin + exit(C224Tok); + end; + + procedure C2249(): Code[10] + begin + exit(C2249Tok); + end; + + procedure C225(): Code[10] + begin + exit(C225Tok); + end; + + procedure C2250(): Code[10] + begin + exit(C2250Tok); + end; + + procedure C2311(): Code[10] + begin + exit(C2311Tok); + end; + + procedure C2312(): Code[10] + begin + exit(C2312Tok); + end; + + procedure C2313(): Code[10] + begin + exit(C2313Tok); + end; + + procedure C2322(): Code[10] + begin + exit(C2322Tok); + end; + + procedure C2329(): Code[10] + begin + exit(C2329Tok); + end; + + procedure C2411(): Code[10] + begin + exit(C2411Tok); + end; + + procedure C2412(): Code[10] + begin + exit(C2412Tok); + end; + + procedure C2413(): Code[10] + begin + exit(C2413Tok); + end; + + procedure C242(): Code[10] + begin + exit(C242Tok); + end; + + procedure C2422(): Code[10] + begin + exit(C2422Tok); + end; + + procedure C2423(): Code[10] + begin + exit(C2423Tok); + end; + + procedure C251(): Code[10] + begin + exit(C251Tok); + end; + + procedure C2510(): Code[10] + begin + exit(C2510Tok); + end; + + procedure C253(): Code[10] + begin + exit(C253Tok); + end; + + procedure C2531(): Code[10] + begin + exit(C2531Tok); + end; + + procedure C2532(): Code[10] + begin + exit(C2532Tok); + end; + + procedure C2533(): Code[10] + begin + exit(C2533Tok); + end; + + procedure C2541(): Code[10] + begin + exit(C2541Tok); + end; + + procedure C2542(): Code[10] + begin + exit(C2542Tok); + end; + + procedure C2544(): Code[10] + begin + exit(C2544Tok); + end; + + procedure C2547(): Code[10] + begin + exit(C2547Tok); + end; + + procedure C255(): Code[10] + begin + exit(C255Tok); + end; + + procedure C2551(): Code[10] + begin + exit(C2551Tok); + end; + + procedure C256(): Code[10] + begin + exit(C256Tok); + end; + + procedure C262(): Code[10] + begin + exit(C262Tok); + end; + + procedure C2621(): Code[10] + begin + exit(C2621Tok); + end; + + procedure C2622(): Code[10] + begin + exit(C2622Tok); + end; + + procedure C2631(): Code[10] + begin + exit(C2631Tok); + end; + + procedure C2632(): Code[10] + begin + exit(C2632Tok); + end; + + procedure C2633(): Code[10] + begin + exit(C2633Tok); + end; + + procedure C27(): Code[10] + begin + exit(C27Tok); + end; + + procedure C271(): Code[10] + begin + exit(C271Tok); + end; + + procedure C2721(): Code[10] + begin + exit(C2721Tok); + end; + + procedure C2722(): Code[10] + begin + exit(C2722Tok); + end; + + procedure C2733(): Code[10] + begin + exit(C2733Tok); + end; + + procedure C2741(): Code[10] + begin + exit(C2741Tok); + end; + + procedure C2751(): Code[10] + begin + exit(C2751Tok); + end; + + procedure C2764(): Code[10] + begin + exit(C2764Tok); + end; + + procedure C2811(): Code[10] + begin + exit(C2811Tok); + end; + + procedure C2821(): Code[10] + begin + exit(C2821Tok); + end; + + procedure C2822(): Code[10] + begin + exit(C2822Tok); + end; + + procedure C2824(): Code[10] + begin + exit(C2824Tok); + end; + + procedure C2853(): Code[10] + begin + exit(C2853Tok); + end; + + procedure C29(): Code[10] + begin + exit(C29Tok); + end; + + procedure C292(): Code[10] + begin + exit(C292Tok); + end; + + procedure C2929(): Code[10] + begin + exit(C2929Tok); + end; + + procedure C294(): Code[10] + begin + exit(C294Tok); + end; + + procedure C2949(): Code[10] + begin + exit(C2949Tok); + end; + + procedure D36(): Code[10] + begin + exit(D36Tok); + end; + + procedure D361(): Code[10] + begin + exit(D361Tok); + end; + + procedure D3610(): Code[10] + begin + exit(D3610Tok); + end; + + procedure D362(): Code[10] + begin + exit(D362Tok); + end; + + procedure D3620(): Code[10] + begin + exit(D3620Tok); + end; + + procedure D3701(): Code[10] + begin + exit(D3701Tok); + end; + + procedure D3702(): Code[10] + begin + exit(D3702Tok); + end; + + procedure E(): Code[10] + begin + exit(ETok); + end; + + procedure E41(): Code[10] + begin + exit(E41Tok); + end; + + procedure E411(): Code[10] + begin + exit(E411Tok); + end; + + procedure E4111(): Code[10] + begin + exit(E4111Tok); + end; + + procedure E412(): Code[10] + begin + exit(E412Tok); + end; + + procedure E4121(): Code[10] + begin + exit(E4121Tok); + end; + + procedure E4122(): Code[10] + begin + exit(E4122Tok); + end; + + procedure E42(): Code[10] + begin + exit(E42Tok); + end; + + procedure E421(): Code[10] + begin + exit(E421Tok); + end; + + procedure E4210(): Code[10] + begin + exit(E4210Tok); + end; + + procedure E422(): Code[10] + begin + exit(E422Tok); + end; + + procedure E4221(): Code[10] + begin + exit(E4221Tok); + end; + + procedure E4222(): Code[10] + begin + exit(E4222Tok); + end; + + procedure E4223(): Code[10] + begin + exit(E4223Tok); + end; + + procedure E423(): Code[10] + begin + exit(E423Tok); + end; + + procedure E4231(): Code[10] + begin + exit(E4231Tok); + end; + + procedure E4232(): Code[10] + begin + exit(E4232Tok); + end; + + procedure E424(): Code[10] + begin + exit(E424Tok); + end; + + procedure E4242(): Code[10] + begin + exit(E4242Tok); + end; + + procedure E4243(): Code[10] + begin + exit(E4243Tok); + end; + + procedure E4245(): Code[10] + begin + exit(E4245Tok); + end; + + procedure E425(): Code[10] + begin + exit(E425Tok); + end; + + procedure E4251(): Code[10] + begin + exit(E4251Tok); + end; + + procedure E4259(): Code[10] + begin + exit(E4259Tok); + end; + + procedure F(): Code[10] + begin + exit(FTok); + end; + + procedure F45(): Code[10] + begin + exit(F45Tok); + end; + + procedure F451(): Code[10] + begin + exit(F451Tok); + end; + + procedure F4511(): Code[10] + begin + exit(F4511Tok); + end; + + procedure F4512(): Code[10] + begin + exit(F4512Tok); + end; + + procedure F4521(): Code[10] + begin + exit(F4521Tok); + end; + + procedure F4522(): Code[10] + begin + exit(F4522Tok); + end; + + procedure F4523(): Code[10] + begin + exit(F4523Tok); + end; + + procedure F453(): Code[10] + begin + exit(F453Tok); + end; + + procedure F4531(): Code[10] + begin + exit(F4531Tok); + end; + + procedure F4613(): Code[10] + begin + exit(F4613Tok); + end; + + procedure F462(): Code[10] + begin + exit(F462Tok); + end; + + procedure F4621(): Code[10] + begin + exit(F4621Tok); + end; + + procedure F4622(): Code[10] + begin + exit(F4622Tok); + end; + + procedure F4623(): Code[10] + begin + exit(F4623Tok); + end; + + procedure F4711(): Code[10] + begin + exit(F4711Tok); + end; + + procedure F4713(): Code[10] + begin + exit(F4713Tok); + end; + + procedure F4714(): Code[10] + begin + exit(F4714Tok); + end; + + procedure F4717(): Code[10] + begin + exit(F4717Tok); + end; + + procedure F4718(): Code[10] + begin + exit(F4718Tok); + end; + + procedure F4719(): Code[10] + begin + exit(F4719Tok); + end; + + procedure F4721(): Code[10] + begin + exit(F4721Tok); + end; + + procedure F4722(): Code[10] + begin + exit(F4722Tok); + end; + + procedure F4723(): Code[10] + begin + exit(F4723Tok); + end; + + procedure F473(): Code[10] + begin + exit(F473Tok); + end; + + procedure F4732(): Code[10] + begin + exit(F4732Tok); + end; + + procedure F4733(): Code[10] + begin + exit(F4733Tok); + end; + + procedure F4739(): Code[10] + begin + exit(F4739Tok); + end; + + procedure F479(): Code[10] + begin + exit(F479Tok); + end; + + procedure F4794(): Code[10] + begin + exit(F4794Tok); + end; + + procedure F4795(): Code[10] + begin + exit(F4795Tok); + end; + + procedure F4799(): Code[10] + begin + exit(F4799Tok); + end; + + procedure G(): Code[10] + begin + exit(GTok); + end; + + procedure G51(): Code[10] + begin + exit(G51Tok); + end; + + procedure G511(): Code[10] + begin + exit(G511Tok); + end; + + procedure G5110(): Code[10] + begin + exit(G5110Tok); + end; + + procedure G512(): Code[10] + begin + exit(G512Tok); + end; + + procedure G5122(): Code[10] + begin + exit(G5122Tok); + end; + + procedure G5123(): Code[10] + begin + exit(G5123Tok); + end; + + procedure G5124(): Code[10] + begin + exit(G5124Tok); + end; + + procedure G5125(): Code[10] + begin + exit(G5125Tok); + end; + + procedure G5126(): Code[10] + begin + exit(G5126Tok); + end; + + procedure G5129(): Code[10] + begin + exit(G5129Tok); + end; + + procedure G521(): Code[10] + begin + exit(G521Tok); + end; + + procedure G5210(): Code[10] + begin + exit(G5210Tok); + end; + + procedure G5221(): Code[10] + begin + exit(G5221Tok); + end; + + procedure G5222(): Code[10] + begin + exit(G5222Tok); + end; + + procedure G5231(): Code[10] + begin + exit(G5231Tok); + end; + + procedure G5232(): Code[10] + begin + exit(G5232Tok); + end; + + procedure G5234(): Code[10] + begin + exit(G5234Tok); + end; + + procedure G5235(): Code[10] + begin + exit(G5235Tok); + end; + + procedure G524(): Code[10] + begin + exit(G524Tok); + end; + + procedure G5242(): Code[10] + begin + exit(G5242Tok); + end; + + procedure G5245(): Code[10] + begin + exit(G5245Tok); + end; + + procedure G5253(): Code[10] + begin + exit(G5253Tok); + end; + + procedure G5254(): Code[10] + begin + exit(G5254Tok); + end; + + procedure G5255(): Code[10] + begin + exit(G5255Tok); + end; + + procedure G5259(): Code[10] + begin + exit(G5259Tok); + end; + + procedure G531(): Code[10] + begin + exit(G531Tok); + end; + + procedure G5311(): Code[10] + begin + exit(G5311Tok); + end; + + procedure G5312(): Code[10] + begin + exit(G5312Tok); + end; + + procedure G5313(): Code[10] + begin + exit(G5313Tok); + end; + + procedure G532(): Code[10] + begin + exit(G532Tok); + end; + + procedure G5321(): Code[10] + begin + exit(G5321Tok); + end; + + procedure G5322(): Code[10] + begin + exit(G5322Tok); + end; + + procedure G5323(): Code[10] + begin + exit(G5323Tok); + end; + + procedure G5324(): Code[10] + begin + exit(G5324Tok); + end; + + procedure H571(): Code[10] + begin + exit(H571Tok); + end; + + procedure H5710(): Code[10] + begin + exit(H5710Tok); + end; + + procedure H572(): Code[10] + begin + exit(H572Tok); + end; + + procedure H5720(): Code[10] + begin + exit(H5720Tok); + end; + + procedure H573(): Code[10] + begin + exit(H573Tok); + end; + + procedure H5730(): Code[10] + begin + exit(H5730Tok); + end; + + procedure H574(): Code[10] + begin + exit(H574Tok); + end; + + procedure H5740(): Code[10] + begin + exit(H5740Tok); + end; + + procedure I(): Code[10] + begin + exit(ITok); + end; + + procedure I61(): Code[10] + begin + exit(I61Tok); + end; + + procedure I611(): Code[10] + begin + exit(I611Tok); + end; + + procedure I6110(): Code[10] + begin + exit(I6110Tok); + end; + + procedure I612(): Code[10] + begin + exit(I612Tok); + end; + + procedure I6121(): Code[10] + begin + exit(I6121Tok); + end; + + procedure I62(): Code[10] + begin + exit(I62Tok); + end; + + procedure I620(): Code[10] + begin + exit(I620Tok); + end; + + procedure I6200(): Code[10] + begin + exit(I6200Tok); + end; + + procedure I63(): Code[10] + begin + exit(I63Tok); + end; + + procedure I630(): Code[10] + begin + exit(I630Tok); + end; + + procedure I6301(): Code[10] + begin + exit(I6301Tok); + end; + + procedure I6302(): Code[10] + begin + exit(I6302Tok); + end; + + procedure I6303(): Code[10] + begin + exit(I6303Tok); + end; + + procedure I64(): Code[10] + begin + exit(I64Tok); + end; + + procedure I640(): Code[10] + begin + exit(I640Tok); + end; + + procedure I65(): Code[10] + begin + exit(I65Tok); + end; + + procedure I650(): Code[10] + begin + exit(I650Tok); + end; + + procedure I6501(): Code[10] + begin + exit(I6501Tok); + end; + + procedure I6509(): Code[10] + begin + exit(I6509Tok); + end; + + procedure I66(): Code[10] + begin + exit(I66Tok); + end; + + procedure I661(): Code[10] + begin + exit(I661Tok); + end; + + procedure I6611(): Code[10] + begin + exit(I6611Tok); + end; + + procedure I6619(): Code[10] + begin + exit(I6619Tok); + end; + + procedure I662(): Code[10] + begin + exit(I662Tok); + end; + + procedure I6621(): Code[10] + begin + exit(I6621Tok); + end; + + procedure I6622(): Code[10] + begin + exit(I6622Tok); + end; + + procedure I6623(): Code[10] + begin + exit(I6623Tok); + end; + + procedure I663(): Code[10] + begin + exit(I663Tok); + end; + + procedure I6630(): Code[10] + begin + exit(I6630Tok); + end; + + procedure I664(): Code[10] + begin + exit(I664Tok); + end; + + procedure I6641(): Code[10] + begin + exit(I6641Tok); + end; + + procedure I6642(): Code[10] + begin + exit(I6642Tok); + end; + + procedure I6644(): Code[10] + begin + exit(I6644Tok); + end; + + procedure I6649(): Code[10] + begin + exit(I6649Tok); + end; + + procedure I67(): Code[10] + begin + exit(I67Tok); + end; + + procedure I670(): Code[10] + begin + exit(I670Tok); + end; + + procedure I6701(): Code[10] + begin + exit(I6701Tok); + end; + + procedure I6709(): Code[10] + begin + exit(I6709Tok); + end; + + procedure J(): Code[10] + begin + exit(JTok); + end; + + procedure J71(): Code[10] + begin + exit(J71Tok); + end; + + procedure J711(): Code[10] + begin + exit(J711Tok); + end; + + procedure J7111(): Code[10] + begin + exit(J7111Tok); + end; + + procedure J7112(): Code[10] + begin + exit(J7112Tok); + end; + + procedure J712(): Code[10] + begin + exit(J712Tok); + end; + + procedure J7120(): Code[10] + begin + exit(J7120Tok); + end; + + procedure K(): Code[10] + begin + exit(KTok); + end; + + procedure K73(): Code[10] + begin + exit(K73Tok); + end; + + procedure K731(): Code[10] + begin + exit(K731Tok); + end; + + procedure K7310(): Code[10] + begin + exit(K7310Tok); + end; + + procedure K732(): Code[10] + begin + exit(K732Tok); + end; + + procedure K7321(): Code[10] + begin + exit(K7321Tok); + end; + + procedure K7322(): Code[10] + begin + exit(K7322Tok); + end; + + procedure K7323(): Code[10] + begin + exit(K7323Tok); + end; + + procedure K7324(): Code[10] + begin + exit(K7324Tok); + end; + + procedure K7329(): Code[10] + begin + exit(K7329Tok); + end; + + procedure K733(): Code[10] + begin + exit(K733Tok); + end; + + procedure K7330(): Code[10] + begin + exit(K7330Tok); + end; + + procedure K734(): Code[10] + begin + exit(K734Tok); + end; + + procedure K7340(): Code[10] + begin + exit(K7340Tok); + end; + + procedure K74(): Code[10] + begin + exit(K74Tok); + end; + + procedure K7411(): Code[10] + begin + exit(K7411Tok); + end; + + procedure K7412(): Code[10] + begin + exit(K7412Tok); + end; + + procedure K742(): Code[10] + begin + exit(K742Tok); + end; + + procedure K7421(): Code[10] + begin + exit(K7421Tok); + end; + + procedure K7422(): Code[10] + begin + exit(K7422Tok); + end; + + procedure K752(): Code[10] + begin + exit(K752Tok); + end; + + procedure K7520(): Code[10] + begin + exit(K7520Tok); + end; + + procedure L(): Code[10] + begin + exit(LTok); + end; + + procedure L77(): Code[10] + begin + exit(L77Tok); + end; + + procedure L7711(): Code[10] + begin + exit(L7711Tok); + end; + + procedure L772(): Code[10] + begin + exit(L772Tok); + end; + + procedure L7720(): Code[10] + begin + exit(L7720Tok); + end; + + procedure L773(): Code[10] + begin + exit(L773Tok); + end; + + procedure L7730(): Code[10] + begin + exit(L7730Tok); + end; + + procedure L7741(): Code[10] + begin + exit(L7741Tok); + end; + + procedure L7743(): Code[10] + begin + exit(L7743Tok); + end; + + procedure L78(): Code[10] + begin + exit(L78Tok); + end; + + procedure L781(): Code[10] + begin + exit(L781Tok); + end; + + procedure L7810(): Code[10] + begin + exit(L7810Tok); + end; + + procedure L782(): Code[10] + begin + exit(L782Tok); + end; + + procedure L7821(): Code[10] + begin + exit(L7821Tok); + end; + + procedure L7822(): Code[10] + begin + exit(L7822Tok); + end; + + procedure L7829(): Code[10] + begin + exit(L7829Tok); + end; + + procedure L783(): Code[10] + begin + exit(L783Tok); + end; + + procedure L7831(): Code[10] + begin + exit(L7831Tok); + end; + + procedure L7833(): Code[10] + begin + exit(L7833Tok); + end; + + procedure L7834(): Code[10] + begin + exit(L7834Tok); + end; + + procedure L784(): Code[10] + begin + exit(L784Tok); + end; + + procedure L7841(): Code[10] + begin + exit(L7841Tok); + end; + + procedure L7842(): Code[10] + begin + exit(L7842Tok); + end; + + procedure L7851(): Code[10] + begin + exit(L7851Tok); + end; + + procedure L7853(): Code[10] + begin + exit(L7853Tok); + end; + + procedure L7855(): Code[10] + begin + exit(L7855Tok); + end; + + procedure L786(): Code[10] + begin + exit(L786Tok); + end; + + procedure L7861(): Code[10] + begin + exit(L7861Tok); + end; + + procedure L7862(): Code[10] + begin + exit(L7862Tok); + end; + + procedure L7863(): Code[10] + begin + exit(L7863Tok); + end; + + procedure L7865(): Code[10] + begin + exit(L7865Tok); + end; + + procedure L7866(): Code[10] + begin + exit(L7866Tok); + end; + + procedure L7867(): Code[10] + begin + exit(L7867Tok); + end; + + procedure L7869(): Code[10] + begin + exit(L7869Tok); + end; + + procedure M81(): Code[10] + begin + exit(M81Tok); + end; + + procedure M811(): Code[10] + begin + exit(M811Tok); + end; + + procedure M812(): Code[10] + begin + exit(M812Tok); + end; + + procedure M8120(): Code[10] + begin + exit(M8120Tok); + end; + + procedure M82(): Code[10] + begin + exit(M82Tok); + end; + + procedure M820(): Code[10] + begin + exit(M820Tok); + end; + + procedure M8200(): Code[10] + begin + exit(M8200Tok); + end; + + procedure N(): Code[10] + begin + exit(NTok); + end; + + procedure N84(): Code[10] + begin + exit(N84Tok); + end; + + procedure N841(): Code[10] + begin + exit(N841Tok); + end; + + procedure N8410(): Code[10] + begin + exit(N8410Tok); + end; + + procedure N842(): Code[10] + begin + exit(N842Tok); + end; + + procedure N8421(): Code[10] + begin + exit(N8421Tok); + end; + + procedure N8422(): Code[10] + begin + exit(N8422Tok); + end; + + procedure N8424(): Code[10] + begin + exit(N8424Tok); + end; + + procedure N843(): Code[10] + begin + exit(N843Tok); + end; + + procedure N8431(): Code[10] + begin + exit(N8431Tok); + end; + + procedure N844(): Code[10] + begin + exit(N844Tok); + end; + + procedure N8440(): Code[10] + begin + exit(N8440Tok); + end; + + procedure O(): Code[10] + begin + exit(OTok); + end; + + procedure O86(): Code[10] + begin + exit(O86Tok); + end; + + procedure O861(): Code[10] + begin + exit(O861Tok); + end; + + procedure O8612(): Code[10] + begin + exit(O8612Tok); + end; + + procedure O8613(): Code[10] + begin + exit(O8613Tok); + end; + + procedure O862(): Code[10] + begin + exit(O862Tok); + end; + + procedure O8622(): Code[10] + begin + exit(O8622Tok); + end; + + procedure O8623(): Code[10] + begin + exit(O8623Tok); + end; + + procedure O863(): Code[10] + begin + exit(O863Tok); + end; + + procedure O8631(): Code[10] + begin + exit(O8631Tok); + end; + + procedure O8633(): Code[10] + begin + exit(O8633Tok); + end; + + procedure O8634(): Code[10] + begin + exit(O8634Tok); + end; + + procedure O8635(): Code[10] + begin + exit(O8635Tok); + end; + + procedure O8636(): Code[10] + begin + exit(O8636Tok); + end; + + procedure O8639(): Code[10] + begin + exit(O8639Tok); + end; + + procedure O864(): Code[10] + begin + exit(O864Tok); + end; + + procedure O8640(): Code[10] + begin + exit(O8640Tok); + end; + + procedure O87(): Code[10] + begin + exit(O87Tok); + end; + + procedure O871(): Code[10] + begin + exit(O871Tok); + end; + + procedure O8710(): Code[10] + begin + exit(O8710Tok); + end; + + procedure O872(): Code[10] + begin + exit(O872Tok); + end; + + procedure O8721(): Code[10] + begin + exit(O8721Tok); + end; + + procedure O8722(): Code[10] + begin + exit(O8722Tok); + end; + + procedure P911(): Code[10] + begin + exit(P911Tok); + end; + + procedure P9111(): Code[10] + begin + exit(P9111Tok); + end; + + procedure P9112(): Code[10] + begin + exit(P9112Tok); + end; + + procedure P9113(): Code[10] + begin + exit(P9113Tok); + end; + + procedure P912(): Code[10] + begin + exit(P912Tok); + end; + + procedure P9121(): Code[10] + begin + exit(P9121Tok); + end; + + procedure P9122(): Code[10] + begin + exit(P9122Tok); + end; + + procedure P921(): Code[10] + begin + exit(P921Tok); + end; + + procedure P9210(): Code[10] + begin + exit(P9210Tok); + end; + + procedure P922(): Code[10] + begin + exit(P922Tok); + end; + + procedure P9220(): Code[10] + begin + exit(P9220Tok); + end; + + procedure P923(): Code[10] + begin + exit(P923Tok); + end; + + procedure P9231(): Code[10] + begin + exit(P9231Tok); + end; + + procedure P9239(): Code[10] + begin + exit(P9239Tok); + end; + + procedure P924(): Code[10] + begin + exit(P924Tok); + end; + + procedure P9241(): Code[10] + begin + exit(P9241Tok); + end; + + procedure P9242(): Code[10] + begin + exit(P9242Tok); + end; + + procedure P925(): Code[10] + begin + exit(P925Tok); + end; + + procedure P9251(): Code[10] + begin + exit(P9251Tok); + end; + + procedure P9252(): Code[10] + begin + exit(P9252Tok); + end; + + procedure P9259(): Code[10] + begin + exit(P9259Tok); + end; + + procedure P93(): Code[10] + begin + exit(P93Tok); + end; + + procedure P931(): Code[10] + begin + exit(P931Tok); + end; + + procedure P9311(): Code[10] + begin + exit(P9311Tok); + end; + + procedure P932(): Code[10] + begin + exit(P932Tok); + end; + + procedure P9321(): Code[10] + begin + exit(P9321Tok); + end; + + procedure P9322(): Code[10] + begin + exit(P9322Tok); + end; + + procedure P9329(): Code[10] + begin + exit(P9329Tok); + end; + + procedure P933(): Code[10] + begin + exit(P933Tok); + end; + + procedure P9330(): Code[10] + begin + exit(P9330Tok); + end; + + procedure Q(): Code[10] + begin + exit(QTok); + end; + + procedure Q95(): Code[10] + begin + exit(Q95Tok); + end; + + procedure Q9511(): Code[10] + begin + exit(Q9511Tok); + end; + + procedure Q952(): Code[10] + begin + exit(Q952Tok); + end; + + procedure Q9521(): Code[10] + begin + exit(Q9521Tok); + end; + + procedure Q9522(): Code[10] + begin + exit(Q9522Tok); + end; + + procedure Q9523(): Code[10] + begin + exit(Q9523Tok); + end; + + procedure Q9525(): Code[10] + begin + exit(Q9525Tok); + end; + + procedure Q9526(): Code[10] + begin + exit(Q9526Tok); + end; + + procedure Q9529(): Code[10] + begin + exit(Q9529Tok); + end; + + procedure Q96(): Code[10] + begin + exit(Q96Tok); + end; + + procedure Q961(): Code[10] + begin + exit(Q961Tok); + end; + + procedure Q9610(): Code[10] + begin + exit(Q9610Tok); + end; + + procedure Q962(): Code[10] + begin + exit(Q962Tok); + end; + + procedure Q9622(): Code[10] + begin + exit(Q9622Tok); + end; + + procedure Q9629(): Code[10] + begin + exit(Q9629Tok); + end; + + procedure Q9631(): Code[10] + begin + exit(Q9631Tok); + end; + + procedure Q9632(): Code[10] + begin + exit(Q9632Tok); + end; + + procedure Q9633(): Code[10] + begin + exit(Q9633Tok); + end; + + procedure Q9634(): Code[10] + begin + exit(Q9634Tok); + end; + + var + A1Tok: Label 'A1', MaxLength = 10; + A11Tok: Label 'A11', MaxLength = 10; + A111Tok: Label 'A111', MaxLength = 10; + A113Tok: Label 'A113', MaxLength = 10; + A114Tok: Label 'A114', MaxLength = 10; + A115Tok: Label 'A115', MaxLength = 10; + A116Tok: Label 'A116', MaxLength = 10; + A117Tok: Label 'A117', MaxLength = 10; + A119Tok: Label 'A119', MaxLength = 10; + A121Tok: Label 'A121', MaxLength = 10; + A123Tok: Label 'A123', MaxLength = 10; + A124Tok: Label 'A124', MaxLength = 10; + A125Tok: Label 'A125', MaxLength = 10; + A13Tok: Label 'A13', MaxLength = 10; + A130Tok: Label 'A130', MaxLength = 10; + A14Tok: Label 'A14', MaxLength = 10; + A141Tok: Label 'A141', MaxLength = 10; + A142Tok: Label 'A142', MaxLength = 10; + A15Tok: Label 'A15', MaxLength = 10; + A151Tok: Label 'A151', MaxLength = 10; + A152Tok: Label 'A152', MaxLength = 10; + A153Tok: Label 'A153', MaxLength = 10; + A159Tok: Label 'A159', MaxLength = 10; + A16Tok: Label 'A16', MaxLength = 10; + A161Tok: Label 'A161', MaxLength = 10; + A162Tok: Label 'A162', MaxLength = 10; + A169Tok: Label 'A169', MaxLength = 10; + A21Tok: Label 'A21', MaxLength = 10; + A211Tok: Label 'A211', MaxLength = 10; + A212Tok: Label 'A212', MaxLength = 10; + A213Tok: Label 'A213', MaxLength = 10; + A219Tok: Label 'A219', MaxLength = 10; + A22Tok: Label 'A22', MaxLength = 10; + A220Tok: Label 'A220', MaxLength = 10; + A3Tok: Label 'A3', MaxLength = 10; + A30Tok: Label 'A30', MaxLength = 10; + A301Tok: Label 'A301', MaxLength = 10; + A302Tok: Label 'A302', MaxLength = 10; + A303Tok: Label 'A303', MaxLength = 10; + A4Tok: Label 'A4', MaxLength = 10; + A41Tok: Label 'A41', MaxLength = 10; + A411Tok: Label 'A411', MaxLength = 10; + A412Tok: Label 'A412', MaxLength = 10; + A413Tok: Label 'A413', MaxLength = 10; + A414Tok: Label 'A414', MaxLength = 10; + A415Tok: Label 'A415', MaxLength = 10; + A419Tok: Label 'A419', MaxLength = 10; + A42Tok: Label 'A42', MaxLength = 10; + A420Tok: Label 'A420', MaxLength = 10; + BTok: Label 'B', MaxLength = 10; + B11Tok: Label 'B11', MaxLength = 10; + B110Tok: Label 'B110', MaxLength = 10; + B1101Tok: Label 'B1101', MaxLength = 10; + B1102Tok: Label 'B1102', MaxLength = 10; + B12Tok: Label 'B12', MaxLength = 10; + B120Tok: Label 'B120', MaxLength = 10; + B1200Tok: Label 'B1200', MaxLength = 10; + B13Tok: Label 'B13', MaxLength = 10; + B131Tok: Label 'B131', MaxLength = 10; + B1311Tok: Label 'B1311', MaxLength = 10; + B1312Tok: Label 'B1312', MaxLength = 10; + B1313Tok: Label 'B1313', MaxLength = 10; + B1314Tok: Label 'B1314', MaxLength = 10; + B1315Tok: Label 'B1315', MaxLength = 10; + B1316Tok: Label 'B1316', MaxLength = 10; + B1317Tok: Label 'B1317', MaxLength = 10; + B1319Tok: Label 'B1319', MaxLength = 10; + B14Tok: Label 'B14', MaxLength = 10; + B141Tok: Label 'B141', MaxLength = 10; + B1411Tok: Label 'B1411', MaxLength = 10; + B142Tok: Label 'B142', MaxLength = 10; + B1420Tok: Label 'B1420', MaxLength = 10; + B15Tok: Label 'B15', MaxLength = 10; + B151Tok: Label 'B151', MaxLength = 10; + B1512Tok: Label 'B1512', MaxLength = 10; + B1514Tok: Label 'B1514', MaxLength = 10; + B152Tok: Label 'B152', MaxLength = 10; + B1520Tok: Label 'B1520', MaxLength = 10; + CTok: Label 'C', MaxLength = 10; + C21Tok: Label 'C21', MaxLength = 10; + C2111Tok: Label 'C2111', MaxLength = 10; + C2112Tok: Label 'C2112', MaxLength = 10; + C212Tok: Label 'C212', MaxLength = 10; + C2121Tok: Label 'C2121', MaxLength = 10; + C2122Tok: Label 'C2122', MaxLength = 10; + C213Tok: Label 'C213', MaxLength = 10; + C2130Tok: Label 'C2130', MaxLength = 10; + C214Tok: Label 'C214', MaxLength = 10; + C2140Tok: Label 'C2140', MaxLength = 10; + C216Tok: Label 'C216', MaxLength = 10; + C2161Tok: Label 'C2161', MaxLength = 10; + C2162Tok: Label 'C2162', MaxLength = 10; + C2163Tok: Label 'C2163', MaxLength = 10; + C217Tok: Label 'C217', MaxLength = 10; + C2171Tok: Label 'C2171', MaxLength = 10; + C2172Tok: Label 'C2172', MaxLength = 10; + C2173Tok: Label 'C2173', MaxLength = 10; + C2179Tok: Label 'C2179', MaxLength = 10; + C2182Tok: Label 'C2182', MaxLength = 10; + C2183Tok: Label 'C2183', MaxLength = 10; + C2184Tok: Label 'C2184', MaxLength = 10; + C219Tok: Label 'C219', MaxLength = 10; + C2190Tok: Label 'C2190', MaxLength = 10; + C2211Tok: Label 'C2211', MaxLength = 10; + C2213Tok: Label 'C2213', MaxLength = 10; + C2214Tok: Label 'C2214', MaxLength = 10; + C2215Tok: Label 'C2215', MaxLength = 10; + C222Tok: Label 'C222', MaxLength = 10; + C223Tok: Label 'C223', MaxLength = 10; + C2231Tok: Label 'C2231', MaxLength = 10; + C224Tok: Label 'C224', MaxLength = 10; + C2249Tok: Label 'C2249', MaxLength = 10; + C225Tok: Label 'C225', MaxLength = 10; + C2250Tok: Label 'C2250', MaxLength = 10; + C2311Tok: Label 'C2311', MaxLength = 10; + C2312Tok: Label 'C2312', MaxLength = 10; + C2313Tok: Label 'C2313', MaxLength = 10; + C2322Tok: Label 'C2322', MaxLength = 10; + C2329Tok: Label 'C2329', MaxLength = 10; + C2411Tok: Label 'C2411', MaxLength = 10; + C2412Tok: Label 'C2412', MaxLength = 10; + C2413Tok: Label 'C2413', MaxLength = 10; + C242Tok: Label 'C242', MaxLength = 10; + C2422Tok: Label 'C2422', MaxLength = 10; + C2423Tok: Label 'C2423', MaxLength = 10; + C251Tok: Label 'C251', MaxLength = 10; + C2510Tok: Label 'C2510', MaxLength = 10; + C253Tok: Label 'C253', MaxLength = 10; + C2531Tok: Label 'C2531', MaxLength = 10; + C2532Tok: Label 'C2532', MaxLength = 10; + C2533Tok: Label 'C2533', MaxLength = 10; + C2541Tok: Label 'C2541', MaxLength = 10; + C2542Tok: Label 'C2542', MaxLength = 10; + C2544Tok: Label 'C2544', MaxLength = 10; + C2547Tok: Label 'C2547', MaxLength = 10; + C255Tok: Label 'C255', MaxLength = 10; + C2551Tok: Label 'C2551', MaxLength = 10; + C256Tok: Label 'C256', MaxLength = 10; + C262Tok: Label 'C262', MaxLength = 10; + C2621Tok: Label 'C2621', MaxLength = 10; + C2622Tok: Label 'C2622', MaxLength = 10; + C2631Tok: Label 'C2631', MaxLength = 10; + C2632Tok: Label 'C2632', MaxLength = 10; + C2633Tok: Label 'C2633', MaxLength = 10; + C27Tok: Label 'C27', MaxLength = 10; + C271Tok: Label 'C271', MaxLength = 10; + C2721Tok: Label 'C2721', MaxLength = 10; + C2722Tok: Label 'C2722', MaxLength = 10; + C2733Tok: Label 'C2733', MaxLength = 10; + C2741Tok: Label 'C2741', MaxLength = 10; + C2751Tok: Label 'C2751', MaxLength = 10; + C2764Tok: Label 'C2764', MaxLength = 10; + C2811Tok: Label 'C2811', MaxLength = 10; + C2821Tok: Label 'C2821', MaxLength = 10; + C2822Tok: Label 'C2822', MaxLength = 10; + C2824Tok: Label 'C2824', MaxLength = 10; + C2853Tok: Label 'C2853', MaxLength = 10; + C29Tok: Label 'C29', MaxLength = 10; + C292Tok: Label 'C292', MaxLength = 10; + C2929Tok: Label 'C2929', MaxLength = 10; + C294Tok: Label 'C294', MaxLength = 10; + C2949Tok: Label 'C2949', MaxLength = 10; + D36Tok: Label 'D36', MaxLength = 10; + D361Tok: Label 'D361', MaxLength = 10; + D3610Tok: Label 'D3610', MaxLength = 10; + D362Tok: Label 'D362', MaxLength = 10; + D3620Tok: Label 'D3620', MaxLength = 10; + D3701Tok: Label 'D3701', MaxLength = 10; + D3702Tok: Label 'D3702', MaxLength = 10; + ETok: Label 'E', MaxLength = 10; + E41Tok: Label 'E41', MaxLength = 10; + E411Tok: Label 'E411', MaxLength = 10; + E4111Tok: Label 'E4111', MaxLength = 10; + E412Tok: Label 'E412', MaxLength = 10; + E4121Tok: Label 'E4121', MaxLength = 10; + E4122Tok: Label 'E4122', MaxLength = 10; + E42Tok: Label 'E42', MaxLength = 10; + E421Tok: Label 'E421', MaxLength = 10; + E4210Tok: Label 'E4210', MaxLength = 10; + E422Tok: Label 'E422', MaxLength = 10; + E4221Tok: Label 'E4221', MaxLength = 10; + E4222Tok: Label 'E4222', MaxLength = 10; + E4223Tok: Label 'E4223', MaxLength = 10; + E423Tok: Label 'E423', MaxLength = 10; + E4231Tok: Label 'E4231', MaxLength = 10; + E4232Tok: Label 'E4232', MaxLength = 10; + E424Tok: Label 'E424', MaxLength = 10; + E4242Tok: Label 'E4242', MaxLength = 10; + E4243Tok: Label 'E4243', MaxLength = 10; + E4245Tok: Label 'E4245', MaxLength = 10; + E425Tok: Label 'E425', MaxLength = 10; + E4251Tok: Label 'E4251', MaxLength = 10; + E4259Tok: Label 'E4259', MaxLength = 10; + FTok: Label 'F', MaxLength = 10; + F45Tok: Label 'F45', MaxLength = 10; + F451Tok: Label 'F451', MaxLength = 10; + F4511Tok: Label 'F4511', MaxLength = 10; + F4512Tok: Label 'F4512', MaxLength = 10; + F4521Tok: Label 'F4521', MaxLength = 10; + F4522Tok: Label 'F4522', MaxLength = 10; + F4523Tok: Label 'F4523', MaxLength = 10; + F453Tok: Label 'F453', MaxLength = 10; + F4531Tok: Label 'F4531', MaxLength = 10; + F4613Tok: Label 'F4613', MaxLength = 10; + F462Tok: Label 'F462', MaxLength = 10; + F4621Tok: Label 'F4621', MaxLength = 10; + F4622Tok: Label 'F4622', MaxLength = 10; + F4623Tok: Label 'F4623', MaxLength = 10; + F4711Tok: Label 'F4711', MaxLength = 10; + F4713Tok: Label 'F4713', MaxLength = 10; + F4714Tok: Label 'F4714', MaxLength = 10; + F4717Tok: Label 'F4717', MaxLength = 10; + F4718Tok: Label 'F4718', MaxLength = 10; + F4719Tok: Label 'F4719', MaxLength = 10; + F4721Tok: Label 'F4721', MaxLength = 10; + F4722Tok: Label 'F4722', MaxLength = 10; + F4723Tok: Label 'F4723', MaxLength = 10; + F473Tok: Label 'F473', MaxLength = 10; + F4732Tok: Label 'F4732', MaxLength = 10; + F4733Tok: Label 'F4733', MaxLength = 10; + F4739Tok: Label 'F4739', MaxLength = 10; + F479Tok: Label 'F479', MaxLength = 10; + F4794Tok: Label 'F4794', MaxLength = 10; + F4795Tok: Label 'F4795', MaxLength = 10; + F4799Tok: Label 'F4799', MaxLength = 10; + GTok: Label 'G', MaxLength = 10; + G51Tok: Label 'G51', MaxLength = 10; + G511Tok: Label 'G511', MaxLength = 10; + G5110Tok: Label 'G5110', MaxLength = 10; + G512Tok: Label 'G512', MaxLength = 10; + G5122Tok: Label 'G5122', MaxLength = 10; + G5123Tok: Label 'G5123', MaxLength = 10; + G5124Tok: Label 'G5124', MaxLength = 10; + G5125Tok: Label 'G5125', MaxLength = 10; + G5126Tok: Label 'G5126', MaxLength = 10; + G5129Tok: Label 'G5129', MaxLength = 10; + G521Tok: Label 'G521', MaxLength = 10; + G5210Tok: Label 'G5210', MaxLength = 10; + G5221Tok: Label 'G5221', MaxLength = 10; + G5222Tok: Label 'G5222', MaxLength = 10; + G5231Tok: Label 'G5231', MaxLength = 10; + G5232Tok: Label 'G5232', MaxLength = 10; + G5234Tok: Label 'G5234', MaxLength = 10; + G5235Tok: Label 'G5235', MaxLength = 10; + G524Tok: Label 'G524', MaxLength = 10; + G5242Tok: Label 'G5242', MaxLength = 10; + G5245Tok: Label 'G5245', MaxLength = 10; + G5253Tok: Label 'G5253', MaxLength = 10; + G5254Tok: Label 'G5254', MaxLength = 10; + G5255Tok: Label 'G5255', MaxLength = 10; + G5259Tok: Label 'G5259', MaxLength = 10; + G531Tok: Label 'G531', MaxLength = 10; + G5311Tok: Label 'G5311', MaxLength = 10; + G5312Tok: Label 'G5312', MaxLength = 10; + G5313Tok: Label 'G5313', MaxLength = 10; + G532Tok: Label 'G532', MaxLength = 10; + G5321Tok: Label 'G5321', MaxLength = 10; + G5322Tok: Label 'G5322', MaxLength = 10; + G5323Tok: Label 'G5323', MaxLength = 10; + G5324Tok: Label 'G5324', MaxLength = 10; + H571Tok: Label 'H571', MaxLength = 10; + H5710Tok: Label 'H5710', MaxLength = 10; + H572Tok: Label 'H572', MaxLength = 10; + H5720Tok: Label 'H5720', MaxLength = 10; + H573Tok: Label 'H573', MaxLength = 10; + H5730Tok: Label 'H5730', MaxLength = 10; + H574Tok: Label 'H574', MaxLength = 10; + H5740Tok: Label 'H5740', MaxLength = 10; + ITok: Label 'I', MaxLength = 10; + I61Tok: Label 'I61', MaxLength = 10; + I611Tok: Label 'I611', MaxLength = 10; + I6110Tok: Label 'I6110', MaxLength = 10; + I612Tok: Label 'I612', MaxLength = 10; + I6121Tok: Label 'I6121', MaxLength = 10; + I62Tok: Label 'I62', MaxLength = 10; + I620Tok: Label 'I620', MaxLength = 10; + I6200Tok: Label 'I6200', MaxLength = 10; + I63Tok: Label 'I63', MaxLength = 10; + I630Tok: Label 'I630', MaxLength = 10; + I6301Tok: Label 'I6301', MaxLength = 10; + I6302Tok: Label 'I6302', MaxLength = 10; + I6303Tok: Label 'I6303', MaxLength = 10; + I64Tok: Label 'I64', MaxLength = 10; + I640Tok: Label 'I640', MaxLength = 10; + I65Tok: Label 'I65', MaxLength = 10; + I650Tok: Label 'I650', MaxLength = 10; + I6501Tok: Label 'I6501', MaxLength = 10; + I6509Tok: Label 'I6509', MaxLength = 10; + I66Tok: Label 'I66', MaxLength = 10; + I661Tok: Label 'I661', MaxLength = 10; + I6611Tok: Label 'I6611', MaxLength = 10; + I6619Tok: Label 'I6619', MaxLength = 10; + I662Tok: Label 'I662', MaxLength = 10; + I6621Tok: Label 'I6621', MaxLength = 10; + I6622Tok: Label 'I6622', MaxLength = 10; + I6623Tok: Label 'I6623', MaxLength = 10; + I663Tok: Label 'I663', MaxLength = 10; + I6630Tok: Label 'I6630', MaxLength = 10; + I664Tok: Label 'I664', MaxLength = 10; + I6641Tok: Label 'I6641', MaxLength = 10; + I6642Tok: Label 'I6642', MaxLength = 10; + I6644Tok: Label 'I6644', MaxLength = 10; + I6649Tok: Label 'I6649', MaxLength = 10; + I67Tok: Label 'I67', MaxLength = 10; + I670Tok: Label 'I670', MaxLength = 10; + I6701Tok: Label 'I6701', MaxLength = 10; + I6709Tok: Label 'I6709', MaxLength = 10; + JTok: Label 'J', MaxLength = 10; + J71Tok: Label 'J71', MaxLength = 10; + J711Tok: Label 'J711', MaxLength = 10; + J7111Tok: Label 'J7111', MaxLength = 10; + J7112Tok: Label 'J7112', MaxLength = 10; + J712Tok: Label 'J712', MaxLength = 10; + J7120Tok: Label 'J7120', MaxLength = 10; + KTok: Label 'K', MaxLength = 10; + K73Tok: Label 'K73', MaxLength = 10; + K731Tok: Label 'K731', MaxLength = 10; + K7310Tok: Label 'K7310', MaxLength = 10; + K732Tok: Label 'K732', MaxLength = 10; + K7321Tok: Label 'K7321', MaxLength = 10; + K7322Tok: Label 'K7322', MaxLength = 10; + K7323Tok: Label 'K7323', MaxLength = 10; + K7324Tok: Label 'K7324', MaxLength = 10; + K7329Tok: Label 'K7329', MaxLength = 10; + K733Tok: Label 'K733', MaxLength = 10; + K7330Tok: Label 'K7330', MaxLength = 10; + K734Tok: Label 'K734', MaxLength = 10; + K7340Tok: Label 'K7340', MaxLength = 10; + K74Tok: Label 'K74', MaxLength = 10; + K7411Tok: Label 'K7411', MaxLength = 10; + K7412Tok: Label 'K7412', MaxLength = 10; + K742Tok: Label 'K742', MaxLength = 10; + K7421Tok: Label 'K7421', MaxLength = 10; + K7422Tok: Label 'K7422', MaxLength = 10; + K752Tok: Label 'K752', MaxLength = 10; + K7520Tok: Label 'K7520', MaxLength = 10; + LTok: Label 'L', MaxLength = 10; + L77Tok: Label 'L77', MaxLength = 10; + L7711Tok: Label 'L7711', MaxLength = 10; + L772Tok: Label 'L772', MaxLength = 10; + L7720Tok: Label 'L7720', MaxLength = 10; + L773Tok: Label 'L773', MaxLength = 10; + L7730Tok: Label 'L7730', MaxLength = 10; + L7741Tok: Label 'L7741', MaxLength = 10; + L7743Tok: Label 'L7743', MaxLength = 10; + L78Tok: Label 'L78', MaxLength = 10; + L781Tok: Label 'L781', MaxLength = 10; + L7810Tok: Label 'L7810', MaxLength = 10; + L782Tok: Label 'L782', MaxLength = 10; + L7821Tok: Label 'L7821', MaxLength = 10; + L7822Tok: Label 'L7822', MaxLength = 10; + L7829Tok: Label 'L7829', MaxLength = 10; + L783Tok: Label 'L783', MaxLength = 10; + L7831Tok: Label 'L7831', MaxLength = 10; + L7833Tok: Label 'L7833', MaxLength = 10; + L7834Tok: Label 'L7834', MaxLength = 10; + L784Tok: Label 'L784', MaxLength = 10; + L7841Tok: Label 'L7841', MaxLength = 10; + L7842Tok: Label 'L7842', MaxLength = 10; + L7851Tok: Label 'L7851', MaxLength = 10; + L7853Tok: Label 'L7853', MaxLength = 10; + L7855Tok: Label 'L7855', MaxLength = 10; + L786Tok: Label 'L786', MaxLength = 10; + L7861Tok: Label 'L7861', MaxLength = 10; + L7862Tok: Label 'L7862', MaxLength = 10; + L7863Tok: Label 'L7863', MaxLength = 10; + L7865Tok: Label 'L7865', MaxLength = 10; + L7866Tok: Label 'L7866', MaxLength = 10; + L7867Tok: Label 'L7867', MaxLength = 10; + L7869Tok: Label 'L7869', MaxLength = 10; + M81Tok: Label 'M81', MaxLength = 10; + M811Tok: Label 'M811', MaxLength = 10; + M812Tok: Label 'M812', MaxLength = 10; + M8120Tok: Label 'M8120', MaxLength = 10; + M82Tok: Label 'M82', MaxLength = 10; + M820Tok: Label 'M820', MaxLength = 10; + M8200Tok: Label 'M8200', MaxLength = 10; + NTok: Label 'N', MaxLength = 10; + N84Tok: Label 'N84', MaxLength = 10; + N841Tok: Label 'N841', MaxLength = 10; + N8410Tok: Label 'N8410', MaxLength = 10; + N842Tok: Label 'N842', MaxLength = 10; + N8421Tok: Label 'N8421', MaxLength = 10; + N8422Tok: Label 'N8422', MaxLength = 10; + N8424Tok: Label 'N8424', MaxLength = 10; + N843Tok: Label 'N843', MaxLength = 10; + N8431Tok: Label 'N8431', MaxLength = 10; + N844Tok: Label 'N844', MaxLength = 10; + N8440Tok: Label 'N8440', MaxLength = 10; + OTok: Label 'O', MaxLength = 10; + O86Tok: Label 'O86', MaxLength = 10; + O861Tok: Label 'O861', MaxLength = 10; + O8612Tok: Label 'O8612', MaxLength = 10; + O8613Tok: Label 'O8613', MaxLength = 10; + O862Tok: Label 'O862', MaxLength = 10; + O8622Tok: Label 'O8622', MaxLength = 10; + O8623Tok: Label 'O8623', MaxLength = 10; + O863Tok: Label 'O863', MaxLength = 10; + O8631Tok: Label 'O8631', MaxLength = 10; + O8633Tok: Label 'O8633', MaxLength = 10; + O8634Tok: Label 'O8634', MaxLength = 10; + O8635Tok: Label 'O8635', MaxLength = 10; + O8636Tok: Label 'O8636', MaxLength = 10; + O8639Tok: Label 'O8639', MaxLength = 10; + O864Tok: Label 'O864', MaxLength = 10; + O8640Tok: Label 'O8640', MaxLength = 10; + O87Tok: Label 'O87', MaxLength = 10; + O871Tok: Label 'O871', MaxLength = 10; + O8710Tok: Label 'O8710', MaxLength = 10; + O872Tok: Label 'O872', MaxLength = 10; + O8721Tok: Label 'O8721', MaxLength = 10; + O8722Tok: Label 'O8722', MaxLength = 10; + P911Tok: Label 'P911', MaxLength = 10; + P9111Tok: Label 'P9111', MaxLength = 10; + P9112Tok: Label 'P9112', MaxLength = 10; + P9113Tok: Label 'P9113', MaxLength = 10; + P912Tok: Label 'P912', MaxLength = 10; + P9121Tok: Label 'P9121', MaxLength = 10; + P9122Tok: Label 'P9122', MaxLength = 10; + P921Tok: Label 'P921', MaxLength = 10; + P9210Tok: Label 'P9210', MaxLength = 10; + P922Tok: Label 'P922', MaxLength = 10; + P9220Tok: Label 'P9220', MaxLength = 10; + P923Tok: Label 'P923', MaxLength = 10; + P9231Tok: Label 'P9231', MaxLength = 10; + P9239Tok: Label 'P9239', MaxLength = 10; + P924Tok: Label 'P924', MaxLength = 10; + P9241Tok: Label 'P9241', MaxLength = 10; + P9242Tok: Label 'P9242', MaxLength = 10; + P925Tok: Label 'P925', MaxLength = 10; + P9251Tok: Label 'P9251', MaxLength = 10; + P9252Tok: Label 'P9252', MaxLength = 10; + P9259Tok: Label 'P9259', MaxLength = 10; + P93Tok: Label 'P93', MaxLength = 10; + P931Tok: Label 'P931', MaxLength = 10; + P9311Tok: Label 'P9311', MaxLength = 10; + P932Tok: Label 'P932', MaxLength = 10; + P9321Tok: Label 'P9321', MaxLength = 10; + P9322Tok: Label 'P9322', MaxLength = 10; + P9329Tok: Label 'P9329', MaxLength = 10; + P933Tok: Label 'P933', MaxLength = 10; + P9330Tok: Label 'P9330', MaxLength = 10; + QTok: Label 'Q', MaxLength = 10; + Q95Tok: Label 'Q95', MaxLength = 10; + Q9511Tok: Label 'Q9511', MaxLength = 10; + Q952Tok: Label 'Q952', MaxLength = 10; + Q9521Tok: Label 'Q9521', MaxLength = 10; + Q9522Tok: Label 'Q9522', MaxLength = 10; + Q9523Tok: Label 'Q9523', MaxLength = 10; + Q9525Tok: Label 'Q9525', MaxLength = 10; + Q9526Tok: Label 'Q9526', MaxLength = 10; + Q9529Tok: Label 'Q9529', MaxLength = 10; + Q96Tok: Label 'Q96', MaxLength = 10; + Q961Tok: Label 'Q961', MaxLength = 10; + Q9610Tok: Label 'Q9610', MaxLength = 10; + Q962Tok: Label 'Q962', MaxLength = 10; + Q9622Tok: Label 'Q9622', MaxLength = 10; + Q9629Tok: Label 'Q9629', MaxLength = 10; + Q9631Tok: Label 'Q9631', MaxLength = 10; + Q9632Tok: Label 'Q9632', MaxLength = 10; + Q9633Tok: Label 'Q9633', MaxLength = 10; + Q9634Tok: Label 'Q9634', MaxLength = 10; + AgricultureLbl: Label 'Agriculture', MaxLength = 100; + HorticultureAndFruitGrowingLbl: Label 'Horticulture and Fruit Growing', MaxLength = 100; + PlantNurseriesLbl: Label 'Plant Nurseries', MaxLength = 100; + VegetableGrowingLbl: Label 'Vegetable Growing', MaxLength = 100; + GrapeGrowingLbl: Label 'Grape Growing', MaxLength = 100; + AppleAndPearGrowingLbl: Label 'Apple and Pear Growing', MaxLength = 100; + StoneFruitGrowingLbl: Label 'Stone Fruit Growing', MaxLength = 100; + KiwiFruitGrowingLbl: Label 'Kiwi Fruit Growing', MaxLength = 100; + FruitGrowingNecLbl: Label 'Fruit Growing NEC', MaxLength = 100; + GrainGrowingLbl: Label 'Grain Growing', MaxLength = 100; + SheepBeefCattleFarmingLbl: Label 'Sheep-Beef Cattle Farming', MaxLength = 100; + SheepFarmingLbl: Label 'Sheep Farming', MaxLength = 100; + BeefCattleFarmingLbl: Label 'Beef Cattle Farming', MaxLength = 100; + DairyCattleFarmingLbl: Label 'Dairy Cattle Farming', MaxLength = 100; + PoultryFarmingLbl: Label 'Poultry Farming', MaxLength = 100; + PoultryFarmingMeatLbl: Label 'Poultry Farming (Meat)', MaxLength = 100; + PoultryFarmingEggsLbl: Label 'Poultry Farming (Eggs)', MaxLength = 100; + OtherLivestockFarmingLbl: Label 'Other Livestock Farming', MaxLength = 100; + PigFarmingLbl: Label 'Pig Farming', MaxLength = 100; + HorseFarmingLbl: Label 'Horse Farming', MaxLength = 100; + DeerFarmingLbl: Label 'Deer Farming', MaxLength = 100; + LivestockFarmingNecLbl: Label 'Livestock Farming NEC', MaxLength = 100; + OtherCropGrowingLbl: Label 'Other Crop Growing', MaxLength = 100; + SugarCaneGrowingLbl: Label 'Sugar Cane Growing', MaxLength = 100; + CottonGrowingLbl: Label 'Cotton Growing', MaxLength = 100; + CropAndPlantGrowingNecLbl: Label 'Crop and Plant Growing NEC', MaxLength = 100; + ServicesToAgricultureLbl: Label 'Services to Agriculture', MaxLength = 100; + CottonGinningLbl: Label 'Cotton Ginning', MaxLength = 100; + ShearingServicesLbl: Label 'Shearing Services', MaxLength = 100; + AerialAgriculturalServicesLbl: Label 'Aerial Agricultural Services', MaxLength = 100; + ServicesToAgricultureNecLbl: Label 'Services to Agriculture NEC', MaxLength = 100; + HuntingAndTrappingLbl: Label 'Hunting and Trapping', MaxLength = 100; + ForestryAndLoggingLbl: Label 'Forestry and Logging', MaxLength = 100; + ForestryLbl: Label 'Forestry', MaxLength = 100; + LoggingLbl: Label 'Logging', MaxLength = 100; + ServicesToForestryLbl: Label 'Services to Forestry', MaxLength = 100; + CommercialFishingLbl: Label 'Commercial Fishing', MaxLength = 100; + MarineFishingLbl: Label 'Marine Fishing', MaxLength = 100; + RockLobsterFishingLbl: Label 'Rock Lobster Fishing', MaxLength = 100; + PrawnFishingLbl: Label 'Prawn Fishing', MaxLength = 100; + FinfishTrawlingLbl: Label 'Finfish Trawling', MaxLength = 100; + SquidJiggingLbl: Label 'Squid Jigging', MaxLength = 100; + LineFishingLbl: Label 'Line Fishing', MaxLength = 100; + MarineFishingNecLbl: Label 'Marine Fishing NEC', MaxLength = 100; + AquacultureLbl: Label 'Aquaculture', MaxLength = 100; + MiningLbl: Label 'Mining', MaxLength = 100; + CoalMiningLbl: Label 'Coal Mining', MaxLength = 100; + BlackCoalMiningLbl: Label 'Black Coal Mining', MaxLength = 100; + BrownCoalMiningLbl: Label 'Brown Coal Mining', MaxLength = 100; + OilAndGasExtractionLbl: Label 'Oil and Gas Extraction', MaxLength = 100; + MetalOreMiningLbl: Label 'Metal Ore Mining', MaxLength = 100; + IronOreMiningLbl: Label 'Iron Ore Mining', MaxLength = 100; + BauxiteMiningLbl: Label 'Bauxite Mining', MaxLength = 100; + CopperOreMiningLbl: Label 'Copper Ore Mining', MaxLength = 100; + GoldOreMiningLbl: Label 'Gold Ore Mining', MaxLength = 100; + MineralSandMiningLbl: Label 'Mineral Sand Mining', MaxLength = 100; + NickelOreMiningLbl: Label 'Nickel Ore Mining', MaxLength = 100; + SilverLeadZincOreMiningLbl: Label 'Silver-Lead-Zinc Ore Mining', MaxLength = 100; + MetalOreMiningNecLbl: Label 'Metal Ore Mining NEC', MaxLength = 100; + OtherMiningLbl: Label 'Other Mining', MaxLength = 100; + ConstructionMaterialMiningLbl: Label 'Construction Material Mining', MaxLength = 100; + GravelAndSandQuarryingLbl: Label 'Gravel and Sand Quarrying', MaxLength = 100; + MiningNecLbl: Label 'Mining NEC', MaxLength = 100; + ServicesToMiningLbl: Label 'Services to Mining', MaxLength = 100; + ExplorationLbl: Label 'Exploration', MaxLength = 100; + PetroleumExplorationServicesLbl: Label 'Petroleum Exploration Services', MaxLength = 100; + MineralExplorationServicesLbl: Label 'Mineral Exploration Services', MaxLength = 100; + OtherMiningServicesLbl: Label 'Other Mining Services', MaxLength = 100; + ManufacturingLbl: Label 'Manufacturing', MaxLength = 100; + FoodBeverageAndTobaccoLbl: Label 'Food - Beverage and Tobacco', MaxLength = 100; + MeatProcessingLbl: Label 'Meat Processing', MaxLength = 100; + PoultryProcessingLbl: Label 'Poultry Processing', MaxLength = 100; + DairyProductManufacturingLbl: Label 'Dairy Product Manufacturing', MaxLength = 100; + MilkAndCreamProcessingLbl: Label 'Milk and Cream Processing', MaxLength = 100; + IceCreamManufacturingLbl: Label 'Ice Cream Manufacturing', MaxLength = 100; + FruitAndVegetableProcessingLbl: Label 'Fruit and Vegetable Processing', MaxLength = 100; + OilAndFatManufacturingLbl: Label 'Oil and Fat Manufacturing', MaxLength = 100; + BakeryProductManufacturingLbl: Label 'Bakery Product Manufacturing', MaxLength = 100; + BreadManufacturingLbl: Label 'Bread Manufacturing', MaxLength = 100; + CakeAndPastryManufacturingLbl: Label 'Cake and Pastry Manufacturing', MaxLength = 100; + BiscuitManufacturingLbl: Label 'Biscuit Manufacturing', MaxLength = 100; + OtherFoodManufacturingLbl: Label 'Other Food Manufacturing', MaxLength = 100; + SugarManufacturingLbl: Label 'Sugar Manufacturing', MaxLength = 100; + ConfectioneryManufacturingLbl: Label 'Confectionery Manufacturing', MaxLength = 100; + SeafoodProcessingLbl: Label 'Seafood Processing', MaxLength = 100; + FoodManufacturingNecLbl: Label 'Food Manufacturing NEC', MaxLength = 100; + BeerAndMaltManufacturingLbl: Label 'Beer and Malt Manufacturing', MaxLength = 100; + WineManufacturingLbl: Label 'Wine Manufacturing', MaxLength = 100; + SpiritManufacturingLbl: Label 'Spirit Manufacturing', MaxLength = 100; + TobaccoProductManufacturingLbl: Label 'Tobacco Product Manufacturing', MaxLength = 100; + WoolScouringLbl: Label 'Wool Scouring', MaxLength = 100; + CottonTextileManufacturingLbl: Label 'Cotton Textile Manufacturing', MaxLength = 100; + WoolTextileManufacturingLbl: Label 'Wool Textile Manufacturing', MaxLength = 100; + TextileFinishingLbl: Label 'Textile Finishing', MaxLength = 100; + TextileProductManufacturingLbl: Label 'Textile Product Manufacturing', MaxLength = 100; + KnittingMillsLbl: Label 'Knitting Mills', MaxLength = 100; + HosieryManufacturingLbl: Label 'Hosiery Manufacturing', MaxLength = 100; + ClothingManufacturingLbl: Label 'Clothing Manufacturing', MaxLength = 100; + ClothingManufacturingNecLbl: Label 'Clothing Manufacturing NEC', MaxLength = 100; + FootwearManufacturingLbl: Label 'Footwear Manufacturing', MaxLength = 100; + LogSawmillingLbl: Label 'Log Sawmilling', MaxLength = 100; + WoodChippingLbl: Label 'Wood Chipping', MaxLength = 100; + TimberResawingAndDressingLbl: Label 'Timber Resawing and Dressing', MaxLength = 100; + FabricatedWoodManufacturingLbl: Label 'Fabricated Wood Manufacturing', MaxLength = 100; + WoodProductManufacturingNecLbl: Label 'Wood Product Manufacturing NEC', MaxLength = 100; + PaperStationeryManufacturingLbl: Label 'Paper Stationery Manufacturing', MaxLength = 100; + PrintingLbl: Label 'Printing', MaxLength = 100; + ServicesToPrintingLbl: Label 'Services to Printing', MaxLength = 100; + PublishingLbl: Label 'Publishing', MaxLength = 100; + OtherPeriodicalPublishingLbl: Label 'Other Periodical Publishing', MaxLength = 100; + BookAndOtherPublishingLbl: Label 'Book and Other Publishing', MaxLength = 100; + PetroleumRefiningLbl: Label 'Petroleum Refining', MaxLength = 100; + BasicChemicalManufacturingLbl: Label 'Basic Chemical Manufacturing', MaxLength = 100; + FertiliserManufacturingLbl: Label 'Fertiliser Manufacturing', MaxLength = 100; + IndustrialGasManufacturingLbl: Label 'Industrial Gas Manufacturing', MaxLength = 100; + SyntheticResinManufacturingLbl: Label 'Synthetic Resin Manufacturing', MaxLength = 100; + ExplosiveManufacturingLbl: Label 'Explosive Manufacturing', MaxLength = 100; + PaintManufacturingLbl: Label 'Paint Manufacturing', MaxLength = 100; + PesticideManufacturingLbl: Label 'Pesticide Manufacturing', MaxLength = 100; + InkManufacturingLbl: Label 'Ink Manufacturing', MaxLength = 100; + RubberProductManufacturingLbl: Label 'Rubber Product Manufacturing', MaxLength = 100; + RubberTyreManufacturingLbl: Label 'Rubber Tyre Manufacturing', MaxLength = 100; + PlasticProductManufacturingLbl: Label 'Plastic Product Manufacturing', MaxLength = 100; + CeramicManufacturingLbl: Label 'Ceramic Manufacturing', MaxLength = 100; + ClayBrickManufacturingLbl: Label 'Clay Brick Manufacturing', MaxLength = 100; + CeramicProductManufacturingLbl: Label 'Ceramic Product Manufacturing', MaxLength = 100; + CementAndLimeManufacturingLbl: Label 'Cement and Lime Manufacturing', MaxLength = 100; + PlasterProductManufacturingLbl: Label 'Plaster Product Manufacturing', MaxLength = 100; + ConcreteSlurryManufacturingLbl: Label 'Concrete Slurry Manufacturing', MaxLength = 100; + MetalProductManufacturingLbl: Label 'Metal Product Manufacturing', MaxLength = 100; + IronAndSteelManufacturingLbl: Label 'Iron and Steel Manufacturing', MaxLength = 100; + AluminaProductionLbl: Label 'Alumina Production', MaxLength = 100; + AluminiumSmeltingLbl: Label 'Aluminium Smelting', MaxLength = 100; + NonFerrousMetalCastingLbl: Label 'Non-Ferrous Metal Casting', MaxLength = 100; + StructuralSteelFabricatingLbl: Label 'Structural Steel Fabricating', MaxLength = 100; + MetalContainerManufacturingLbl: Label 'Metal Container Manufacturing', MaxLength = 100; + MetalCoatingAndFinishingLbl: Label 'Metal Coating and Finishing', MaxLength = 100; + MotorVehicleManufacturingLbl: Label 'Motor Vehicle Manufacturing', MaxLength = 100; + ShipbuildingLbl: Label 'Shipbuilding', MaxLength = 100; + BoatbuildingLbl: Label 'Boatbuilding', MaxLength = 100; + AircraftManufacturingLbl: Label 'Aircraft Manufacturing', MaxLength = 100; + BatteryManufacturingLbl: Label 'Battery Manufacturing', MaxLength = 100; + OtherManufacturingLbl: Label 'Other Manufacturing', MaxLength = 100; + FurnitureManufacturingLbl: Label 'Furniture Manufacturing', MaxLength = 100; + FurnitureManufacturingNecLbl: Label 'Furniture Manufacturing NEC', MaxLength = 100; + ManufacturingNecLbl: Label 'Manufacturing NEC', MaxLength = 100; + ElectricityAndGasSupplyLbl: Label 'Electricity and Gas Supply', MaxLength = 100; + ElectricitySupplyLbl: Label 'Electricity Supply', MaxLength = 100; + GasSupplyLbl: Label 'Gas Supply', MaxLength = 100; + WaterSupplyLbl: Label 'Water Supply', MaxLength = 100; + SewerageAndDrainageServicesLbl: Label 'Sewerage and Drainage Services', MaxLength = 100; + ConstructionLbl: Label 'Construction', MaxLength = 100; + GeneralConstructionLbl: Label 'General Construction', MaxLength = 100; + BuildingConstructionLbl: Label 'Building Construction', MaxLength = 100; + HouseConstructionLbl: Label 'House Construction', MaxLength = 100; + NonBuildingConstructionLbl: Label 'Non-Building Construction', MaxLength = 100; + RoadAndBridgeConstructionLbl: Label 'Road and Bridge Construction', MaxLength = 100; + NonBuildingConstructionNecLbl: Label 'Non-Building Construction NEC', MaxLength = 100; + ConstructionTradeServicesLbl: Label 'Construction Trade Services', MaxLength = 100; + SitePreparationServicesLbl: Label 'Site Preparation Services', MaxLength = 100; + BuildingStructureServicesLbl: Label 'Building Structure Services', MaxLength = 100; + ConcretingServicesLbl: Label 'Concreting Services', MaxLength = 100; + BricklayingServicesLbl: Label 'Bricklaying Services', MaxLength = 100; + RoofingServicesLbl: Label 'Roofing Services', MaxLength = 100; + InstallationTradeServicesLbl: Label 'Installation Trade Services', MaxLength = 100; + PlumbingServicesLbl: Label 'Plumbing Services', MaxLength = 100; + ElectricalServicesLbl: Label 'Electrical Services', MaxLength = 100; + BuildingCompletionServicesLbl: Label 'Building Completion Services', MaxLength = 100; + CarpentryServicesLbl: Label 'Carpentry Services', MaxLength = 100; + TilingAndCarpetingServicesLbl: Label 'Tiling and Carpeting Services', MaxLength = 100; + GlazingServicesLbl: Label 'Glazing Services', MaxLength = 100; + OtherConstructionServicesLbl: Label 'Other Construction Services', MaxLength = 100; + LandscapingServicesLbl: Label 'Landscaping Services', MaxLength = 100; + ConstructionServicesNecLbl: Label 'Construction Services NEC', MaxLength = 100; + WholesaleTradeLbl: Label 'Wholesale Trade', MaxLength = 100; + BasicMaterialWholesalingLbl: Label 'Basic Material Wholesaling', MaxLength = 100; + FarmProduceWholesalingLbl: Label 'Farm Produce Wholesaling', MaxLength = 100; + WoolWholesalingLbl: Label 'Wool Wholesaling', MaxLength = 100; + CerealGrainWholesalingLbl: Label 'Cereal Grain Wholesaling', MaxLength = 100; + PetroleumProductWholesalingLbl: Label 'Petroleum Product Wholesaling', MaxLength = 100; + MetalAndMineralWholesalingLbl: Label 'Metal and Mineral Wholesaling', MaxLength = 100; + ChemicalWholesalingLbl: Label 'Chemical Wholesaling', MaxLength = 100; + BuildersSuppliesWholesalingLbl: Label 'Builders Supplies Wholesaling', MaxLength = 100; + TimberWholesalingLbl: Label 'Timber Wholesaling', MaxLength = 100; + ComputerWholesalingLbl: Label 'Computer Wholesaling', MaxLength = 100; + MotorVehicleWholesalingLbl: Label 'Motor Vehicle Wholesaling', MaxLength = 100; + CarWholesalingLbl: Label 'Car Wholesaling', MaxLength = 100; + CommercialVehicleWholesalingLbl: Label 'Commercial Vehicle Wholesaling', MaxLength = 100; + MotorVehicleNewPartDealingLbl: Label 'Motor Vehicle New Part Dealing', MaxLength = 100; + MeatWholesalingLbl: Label 'Meat Wholesaling', MaxLength = 100; + DairyProduceWholesalingLbl: Label 'Dairy Produce Wholesaling', MaxLength = 100; + FishWholesalingLbl: Label 'Fish Wholesaling', MaxLength = 100; + LiquorWholesalingLbl: Label 'Liquor Wholesaling', MaxLength = 100; + TobaccoProductWholesalingLbl: Label 'Tobacco Product Wholesaling', MaxLength = 100; + GroceryWholesalingNecLbl: Label 'Grocery Wholesaling NEC', MaxLength = 100; + TextileProductWholesalingLbl: Label 'Textile Product Wholesaling', MaxLength = 100; + ClothingWholesalingLbl: Label 'Clothing Wholesaling', MaxLength = 100; + FootwearWholesalingLbl: Label 'Footwear Wholesaling', MaxLength = 100; + HouseholdGoodWholesalingLbl: Label 'Household Good Wholesaling', MaxLength = 100; + FurnitureWholesalingLbl: Label 'Furniture Wholesaling', MaxLength = 100; + FloorCoveringWholesalingLbl: Label 'Floor Covering Wholesaling', MaxLength = 100; + HouseholdGoodWholesalingNecLbl: Label 'Household Good Wholesaling NEC', MaxLength = 100; + OtherWholesalingLbl: Label 'Other Wholesaling', MaxLength = 100; + BookAndMagazineWholesalingLbl: Label 'Book and Magazine Wholesaling', MaxLength = 100; + PaperProductWholesalingLbl: Label 'Paper Product Wholesaling', MaxLength = 100; + WholesalingNecLbl: Label 'Wholesaling NEC', MaxLength = 100; + RetailTradeLbl: Label 'Retail Trade', MaxLength = 100; + FoodRetailingLbl: Label 'Food Retailing', MaxLength = 100; + SupermarketAndGroceryStoresLbl: Label 'Supermarket and Grocery Stores', MaxLength = 100; + SpecialisedFoodRetailingLbl: Label 'Specialised Food Retailing', MaxLength = 100; + FruitAndVegetableRetailingLbl: Label 'Fruit and Vegetable Retailing', MaxLength = 100; + LiquorRetailingLbl: Label 'Liquor Retailing', MaxLength = 100; + BreadAndCakeRetailingLbl: Label 'Bread and Cake Retailing', MaxLength = 100; + TakeawayFoodRetailingLbl: Label 'Takeaway Food Retailing', MaxLength = 100; + MilkVendingLbl: Label 'Milk Vending', MaxLength = 100; + SpecialisedFoodRetailingNecLbl: Label 'Specialised Food Retailing NEC', MaxLength = 100; + DepartmentStoresLbl: Label 'Department Stores', MaxLength = 100; + ClothingRetailingLbl: Label 'Clothing Retailing', MaxLength = 100; + FootwearRetailingLbl: Label 'Footwear Retailing', MaxLength = 100; + FurnitureRetailingLbl: Label 'Furniture Retailing', MaxLength = 100; + FloorCoveringRetailingLbl: Label 'Floor Covering Retailing', MaxLength = 100; + DomesticApplianceRetailingLbl: Label 'Domestic Appliance Retailing', MaxLength = 100; + RecordedMusicRetailingLbl: Label 'Recorded Music Retailing', MaxLength = 100; + RecreationalGoodRetailingLbl: Label 'Recreational Good Retailing', MaxLength = 100; + ToyAndGameRetailingLbl: Label 'Toy and Game Retailing', MaxLength = 100; + MarineEquipmentRetailingLbl: Label 'Marine Equipment Retailing', MaxLength = 100; + GardenSuppliesRetailingLbl: Label 'Garden Supplies Retailing', MaxLength = 100; + FlowerRetailingLbl: Label 'Flower Retailing', MaxLength = 100; + WatchAndJewelleryRetailingLbl: Label 'Watch and Jewellery Retailing', MaxLength = 100; + RetailingNecLbl: Label 'Retailing NEC', MaxLength = 100; + MotorVehicleRetailingLbl: Label 'Motor Vehicle Retailing', MaxLength = 100; + CarRetailingLbl: Label 'Car Retailing', MaxLength = 100; + MotorCycleDealingLbl: Label 'Motor Cycle Dealing', MaxLength = 100; + TrailerAndCaravanDealingLbl: Label 'Trailer and Caravan Dealing', MaxLength = 100; + MotorVehicleServicesLbl: Label 'Motor Vehicle Services', MaxLength = 100; + AutomotiveFuelRetailingLbl: Label 'Automotive Fuel Retailing', MaxLength = 100; + AutomotiveElectricalServicesLbl: Label 'Automotive Electrical Services', MaxLength = 100; + SmashRepairingLbl: Label 'Smash Repairing', MaxLength = 100; + TyreRetailingLbl: Label 'Tyre Retailing', MaxLength = 100; + AccommodationLbl: Label 'Accommodation', MaxLength = 100; + PubsTavernsAndBarsLbl: Label 'Pubs - Taverns and Bars', MaxLength = 100; + CafesAndRestaurantsLbl: Label 'Cafes and Restaurants', MaxLength = 100; + ClubsHospitalityLbl: Label 'Clubs (Hospitality)', MaxLength = 100; + TransportAndStorageLbl: Label 'Transport and Storage', MaxLength = 100; + RoadTransportLbl: Label 'Road Transport', MaxLength = 100; + RoadFreightTransportLbl: Label 'Road Freight Transport', MaxLength = 100; + RoadPassengerTransportLbl: Label 'Road Passenger Transport', MaxLength = 100; + LongDistanceBusTransportLbl: Label 'Long Distance Bus Transport', MaxLength = 100; + RailTransportLbl: Label 'Rail Transport', MaxLength = 100; + WaterTransportLbl: Label 'Water Transport', MaxLength = 100; + InternationalSeaTransportLbl: Label 'International Sea Transport', MaxLength = 100; + CoastalWaterTransportLbl: Label 'Coastal Water Transport', MaxLength = 100; + InlandWaterTransportLbl: Label 'Inland Water Transport', MaxLength = 100; + AirAndSpaceTransportLbl: Label 'Air and Space Transport', MaxLength = 100; + OtherTransportLbl: Label 'Other Transport', MaxLength = 100; + PipelineTransportLbl: Label 'Pipeline Transport', MaxLength = 100; + TransportNecLbl: Label 'Transport NEC', MaxLength = 100; + ServicesToTransportLbl: Label 'Services to Transport', MaxLength = 100; + ServicesToRoadTransportLbl: Label 'Services to Road Transport', MaxLength = 100; + ParkingServicesLbl: Label 'Parking Services', MaxLength = 100; + ServicesToRoadTransportNecLbl: Label 'Services to Road Transport NEC', MaxLength = 100; + ServicesToWaterTransportLbl: Label 'Services to Water Transport', MaxLength = 100; + StevedoringLbl: Label 'Stevedoring', MaxLength = 100; + WaterTransportTerminalsLbl: Label 'Water Transport Terminals', MaxLength = 100; + PortOperatorsLbl: Label 'Port Operators', MaxLength = 100; + ServicesToAirTransportLbl: Label 'Services to Air Transport', MaxLength = 100; + OtherServicesToTransportLbl: Label 'Other Services to Transport', MaxLength = 100; + TravelAgencyServicesLbl: Label 'Travel Agency Services', MaxLength = 100; + RoadFreightForwardingLbl: Label 'Road Freight Forwarding', MaxLength = 100; + CustomsAgencyServicesLbl: Label 'Customs Agency Services', MaxLength = 100; + ServicesToTransportNecLbl: Label 'Services to Transport NEC', MaxLength = 100; + StorageLbl: Label 'Storage', MaxLength = 100; + GrainStorageLbl: Label 'Grain Storage', MaxLength = 100; + StorageNecLbl: Label 'Storage NEC', MaxLength = 100; + CommunicationServicesLbl: Label 'Communication Services', MaxLength = 100; + PostalAndCourierServicesLbl: Label 'Postal and Courier Services', MaxLength = 100; + PostalServicesLbl: Label 'Postal Services', MaxLength = 100; + CourierServicesLbl: Label 'Courier Services', MaxLength = 100; + TelecommunicationServicesLbl: Label 'Telecommunication Services', MaxLength = 100; + FinanceAndInsuranceLbl: Label 'Finance and Insurance', MaxLength = 100; + FinanceLbl: Label 'Finance', MaxLength = 100; + CentralBankLbl: Label 'Central Bank', MaxLength = 100; + DepositTakingFinanciersLbl: Label 'Deposit Taking Financiers', MaxLength = 100; + BanksLbl: Label 'Banks', MaxLength = 100; + BuildingSocietiesLbl: Label 'Building Societies', MaxLength = 100; + CreditUnionsLbl: Label 'Credit Unions', MaxLength = 100; + MoneyMarketDealersLbl: Label 'Money Market Dealers', MaxLength = 100; + DepositTakingFinanciersNecLbl: Label 'Deposit Taking Financiers NEC', MaxLength = 100; + OtherFinanciersLbl: Label 'Other Financiers', MaxLength = 100; + FinancialAssetInvestorsLbl: Label 'Financial Asset Investors', MaxLength = 100; + InsuranceLbl: Label 'Insurance', MaxLength = 100; + LifeInsuranceLbl: Label 'Life Insurance', MaxLength = 100; + SuperannuationFundsLbl: Label 'Superannuation Funds', MaxLength = 100; + OtherInsuranceLbl: Label 'Other Insurance', MaxLength = 100; + HealthInsuranceLbl: Label 'Health Insurance', MaxLength = 100; + GeneralInsuranceLbl: Label 'General Insurance', MaxLength = 100; + ServicesToInsuranceLbl: Label 'Services to Insurance', MaxLength = 100; + PropertyAndBusinessServicesLbl: Label 'Property and Business Services', MaxLength = 100; + PropertyServicesLbl: Label 'Property Services', MaxLength = 100; + ResidentialPropertyOperatorsLbl: Label 'Residential Property Operators', MaxLength = 100; + RealEstateAgentsLbl: Label 'Real Estate Agents', MaxLength = 100; + NonFinancialAssetInvestorsLbl: Label 'Non-Financial Asset Investors', MaxLength = 100; + MotorVehicleHiringLbl: Label 'Motor Vehicle Hiring', MaxLength = 100; + PlantHiringOrLeasingLbl: Label 'Plant Hiring or Leasing', MaxLength = 100; + BusinessServicesLbl: Label 'Business Services', MaxLength = 100; + ScientificResearchLbl: Label 'Scientific Research', MaxLength = 100; + TechnicalServicesLbl: Label 'Technical Services', MaxLength = 100; + ArchitecturalServicesLbl: Label 'Architectural Services', MaxLength = 100; + SurveyingServicesLbl: Label 'Surveying Services', MaxLength = 100; + TechnicalServicesNecLbl: Label 'Technical Services NEC', MaxLength = 100; + ComputerServicesLbl: Label 'Computer Services', MaxLength = 100; + DataProcessingServicesLbl: Label 'Data Processing Services', MaxLength = 100; + ComputerMaintenanceServicesLbl: Label 'Computer Maintenance Services', MaxLength = 100; + ComputerConsultancyServicesLbl: Label 'Computer Consultancy Services', MaxLength = 100; + LegalAndAccountingServicesLbl: Label 'Legal and Accounting Services', MaxLength = 100; + LegalServicesLbl: Label 'Legal Services', MaxLength = 100; + AccountingServicesLbl: Label 'Accounting Services', MaxLength = 100; + AdvertisingServicesLbl: Label 'Advertising Services', MaxLength = 100; + MarketResearchServicesLbl: Label 'Market Research Services', MaxLength = 100; + BusinessManagementServicesLbl: Label 'Business Management Services', MaxLength = 100; + OtherBusinessServicesLbl: Label 'Other Business Services', MaxLength = 100; + EmploymentPlacementServicesLbl: Label 'Employment Placement Services', MaxLength = 100; + ContractStaffServicesLbl: Label 'Contract Staff Services', MaxLength = 100; + SecretarialServicesLbl: Label 'Secretarial Services', MaxLength = 100; + PestControlServicesLbl: Label 'Pest Control Services', MaxLength = 100; + CleaningServicesLbl: Label 'Cleaning Services', MaxLength = 100; + ContractPackingServicesNecLbl: Label 'Contract Packing Services NEC', MaxLength = 100; + BusinessServicesNecLbl: Label 'Business Services NEC', MaxLength = 100; + GovernmentAdministrationLbl: Label 'Government Administration', MaxLength = 100; + JusticeLbl: Label 'Justice', MaxLength = 100; + DefenceLbl: Label 'Defence', MaxLength = 100; + EducationLbl: Label 'Education', MaxLength = 100; + PreschoolEducationLbl: Label 'Preschool Education', MaxLength = 100; + SchoolEducationLbl: Label 'School Education', MaxLength = 100; + PrimaryEducationLbl: Label 'Primary Education', MaxLength = 100; + SecondaryEducationLbl: Label 'Secondary Education', MaxLength = 100; + SpecialSchoolEducationLbl: Label 'Special School Education', MaxLength = 100; + PostSchoolEducationLbl: Label 'Post School Education', MaxLength = 100; + HigherEducationLbl: Label 'Higher Education', MaxLength = 100; + OtherEducationLbl: Label 'Other Education', MaxLength = 100; + HealthAndCommunityServicesLbl: Label 'Health and Community Services', MaxLength = 100; + HealthServicesLbl: Label 'Health Services', MaxLength = 100; + HospitalsAndNursingHomesLbl: Label 'Hospitals and Nursing Homes', MaxLength = 100; + PsychiatricHospitalsLbl: Label 'Psychiatric Hospitals', MaxLength = 100; + NursingHomesLbl: Label 'Nursing Homes', MaxLength = 100; + MedicalAndDentalServicesLbl: Label 'Medical and Dental Services', MaxLength = 100; + SpecialistMedicalServicesLbl: Label 'Specialist Medical Services', MaxLength = 100; + DentalServicesLbl: Label 'Dental Services', MaxLength = 100; + OtherHealthServicesLbl: Label 'Other Health Services', MaxLength = 100; + PathologyServicesLbl: Label 'Pathology Services', MaxLength = 100; + AmbulanceServicesLbl: Label 'Ambulance Services', MaxLength = 100; + CommunityHealthCentresLbl: Label 'Community Health Centres', MaxLength = 100; + PhysiotherapyServicesLbl: Label 'Physiotherapy Services', MaxLength = 100; + ChiropracticServicesLbl: Label 'Chiropractic Services', MaxLength = 100; + HealthServicesNecLbl: Label 'Health Services NEC', MaxLength = 100; + VeterinaryServicesLbl: Label 'Veterinary Services', MaxLength = 100; + CommunityServicesLbl: Label 'Community Services', MaxLength = 100; + ChildCareServicesLbl: Label 'Child Care Services', MaxLength = 100; + CommunityCareServicesLbl: Label 'Community Care Services', MaxLength = 100; + AccommodationForTheAgedLbl: Label 'Accommodation for the Aged', MaxLength = 100; + ResidentialCareServicesNecLbl: Label 'Residential Care Services NEC', MaxLength = 100; + FilmAndVideoServicesLbl: Label 'Film and Video Services', MaxLength = 100; + FilmAndVideoProductionLbl: Label 'Film and Video Production', MaxLength = 100; + FilmAndVideoDistributionLbl: Label 'Film and Video Distribution', MaxLength = 100; + MotionPictureExhibitionLbl: Label 'Motion Picture Exhibition', MaxLength = 100; + RadioAndTelevisionServicesLbl: Label 'Radio and Television Services', MaxLength = 100; + RadioServicesLbl: Label 'Radio Services', MaxLength = 100; + TelevisionServicesLbl: Label 'Television Services', MaxLength = 100; + LibrariesLbl: Label 'Libraries', MaxLength = 100; + MuseumsLbl: Label 'Museums', MaxLength = 100; + ParksAndGardensLbl: Label 'Parks and Gardens', MaxLength = 100; + ZoologicalAndBotanicGardensLbl: Label 'Zoological and Botanic Gardens', MaxLength = 100; + RecreationalParksAndGardensLbl: Label 'Recreational Parks and Gardens', MaxLength = 100; + ArtsLbl: Label 'Arts', MaxLength = 100; + MusicAndTheatreProductionsLbl: Label 'Music and Theatre Productions', MaxLength = 100; + CreativeArtsLbl: Label 'Creative Arts', MaxLength = 100; + ServicesToTheArtsLbl: Label 'Services to the Arts', MaxLength = 100; + SoundRecordingStudiosLbl: Label 'Sound Recording Studios', MaxLength = 100; + PerformingArtsVenuesLbl: Label 'Performing Arts Venues', MaxLength = 100; + ServicesToTheArtsNecLbl: Label 'Services to the Arts NEC', MaxLength = 100; + SportAndRecreationLbl: Label 'Sport and Recreation', MaxLength = 100; + SportLbl: Label 'Sport', MaxLength = 100; + HorseAndDogRacingLbl: Label 'Horse and Dog Racing', MaxLength = 100; + GamblingServicesLbl: Label 'Gambling Services', MaxLength = 100; + LotteriesLbl: Label 'Lotteries', MaxLength = 100; + CasinosLbl: Label 'Casinos', MaxLength = 100; + GamblingServicesNecLbl: Label 'Gambling Services NEC', MaxLength = 100; + OtherRecreationServicesLbl: Label 'Other Recreation Services', MaxLength = 100; + PersonalAndOtherServicesLbl: Label 'Personal and Other Services', MaxLength = 100; + PersonalServicesLbl: Label 'Personal Services', MaxLength = 100; + VideoHireOutletsLbl: Label 'Video Hire Outlets', MaxLength = 100; + OtherPersonalServicesLbl: Label 'Other Personal Services', MaxLength = 100; + LaundriesAndDryCleanersLbl: Label 'Laundries and Dry-Cleaners', MaxLength = 100; + PhotographicFilmProcessingLbl: Label 'Photographic Film Processing', MaxLength = 100; + PhotographicStudiosLbl: Label 'Photographic Studios', MaxLength = 100; + GardeningServicesLbl: Label 'Gardening Services', MaxLength = 100; + HairdressingAndBeautySalonsLbl: Label 'Hairdressing and Beauty Salons', MaxLength = 100; + PersonalServicesNecLbl: Label 'Personal Services NEC', MaxLength = 100; + OtherServicesLbl: Label 'Other Services', MaxLength = 100; + ReligiousOrganisationsLbl: Label 'Religious Organisations', MaxLength = 100; + InterestGroupsLbl: Label 'Interest Groups', MaxLength = 100; + LabourAssociationsLbl: Label 'Labour Associations', MaxLength = 100; + InterestGroupsNecLbl: Label 'Interest Groups NEC', MaxLength = 100; + PoliceServicesLbl: Label 'Police Services', MaxLength = 100; + CorrectiveCentresLbl: Label 'Corrective Centres', MaxLength = 100; + FireBrigadeServicesLbl: Label 'Fire Brigade Services', MaxLength = 100; + WasteDisposalServicesLbl: Label 'Waste Disposal Services', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZAccScheduleLine.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..495a25931c --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZAccScheduleLine.Codeunit.al @@ -0,0 +1,107 @@ +codeunit 17122 "Create NZ Acc. Schedule Line" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '6995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '2390', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '5490', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '2190', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + Rec.Validate("Hide Currency Symbol", true); + 60000: + Rec.Validate("Hide Currency Symbol", true); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + Rec.Validate("Hide Currency Symbol", true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '2390', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 20000: + ValidateRecordFields(Rec, '5490', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '2990|5310', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '6995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 30000: + ValidateRecordFields(Rec, '7995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 40000: + ValidateRecordFields(Rec, '8695', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 50000: + ValidateRecordFields(Rec, '8790', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 60000: + ValidateRecordFields(Rec, '8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + ValidateRecordFields(Rec, '8910', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts"); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFieldsReducedTrial(Rec, TotalRevenueLbl, '6995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", true); + 20000: + Rec.Validate(Totaling, '7995'); + 40000: + Rec.Validate("Hide Currency Symbol", true); + 50000: + ValidateRecordFields(Rec, '8695|8790|8890', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts"); + 70000: + Rec.Validate("Hide Currency Symbol", true); + 80000: + Rec.Validate(Totaling, '8910'); + 90000: + Rec.Validate(Totaling, '9495'); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 50000: + ValidateRecordFieldsReducedTrial(Rec, SalesRetailLbl, '6130', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 120000: + Rec.Validate("Dimension 1 Totaling", ''); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type") + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + end; + + local procedure ValidateRecordFieldsReducedTrial(var AccScheduleLine: Record "Acc. Schedule Line"; Description: Text[250]; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; ShowOppositeSign: Boolean) + begin + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate("Show Opposite Sign", ShowOppositeSign); + end; + + var + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 250; + SalesRetailLbl: Label 'Sales, Retail - MISC', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZAccScheduleName.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZAccScheduleName.Codeunit.al new file mode 100644 index 0000000000..f4ee9299ef --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZAccScheduleName.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 17119 "Create NZ Acc Schedule Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetDetail(), BalanceSheetDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementDetail(), IncomeStatementDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(TrialBalance(), TrialBalanceLbl, ''); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + procedure BalanceSheetDetail(): Code[10] + begin + exit(BalanceSheetDetailTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetail(): Code[10] + begin + exit(IncomeStatementDetailTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummarizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + BalanceSheetDetailTok: Label 'BS DET', MaxLength = 10; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10; + IncomeStatementDetailTok: Label 'IS DET', MaxLength = 10; + IncomeStatementSummarizedTok: Label 'IS SUM', MaxLength = 10; + TrialBalanceTok: Label 'TB', MaxLength = 10; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZCurrency.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZCurrency.Codeunit.al new file mode 100644 index 0000000000..31407ae795 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZCurrency.Codeunit.al @@ -0,0 +1,16 @@ +codeunit 17145 "Create NZ Currency" +{ + InherentEntitlements = X; + InherentPermissions = X; + SingleInstance = true; + EventSubscriberInstance = Manual; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + begin + if Rec.Code = CreateCurrency.GBP() then + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGLAccounts.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGLAccounts.Codeunit.al new file mode 100644 index 0000000000..7f09ddc603 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGLAccounts.Codeunit.al @@ -0,0 +1,382 @@ +codeunit 17105 "Create NZ GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '2310'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '5410'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '6110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '7110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '5615'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '5625'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '7291'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '7191'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '7292'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '7192'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '7293'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '7193'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '2130'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '7210'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '7270'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '7170'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '2110'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '2111') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '6700'); + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '7791'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '7792'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '7793'); + + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '7890'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '7891'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '7892'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '7893'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '7894'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '2120'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '2140'); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1230'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1240'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '8640'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '8820'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '8840'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '5850'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '2212'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '2231'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '6190'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '6620'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '7180'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '7620'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforNZ() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SalesVAT15PercName(), '5615'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVAT15PercName(), '5625'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ''); + + CreateGLAccountForLocalization(); + end; + + [EventSubscriber(ObjectType::Table, Database::"G/L Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure UpdateVatInGLAccount(var Rec: Record "G/L Account") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + begin + if Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Standard() then + Rec.Validate("VAT Prod. Posting Group", CreateNZVATPostingGroup.VAT15()); + + if Rec."VAT Prod. Posting Group" = CreateVATPostingGroups.Reduced() then + Rec.Validate("VAT Prod. Posting Group", CreateNZVATPostingGroup.VAT9()); + end; + + local procedure CreateGLAccountForLocalization() + var + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + begin + ContosoGLAccount.InsertGLAccount(SalesVAT15Perc(), SalesVAT15PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVAT15Perc(), PurchaseVAT15PercName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorPrepaymentsVAT10(), VendorPrepaymentsVAT9PercLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateNZVATPostingGroup.VAT9(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorPrepaymentsVAT25(), VendorPrepaymentsVAT15PercLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateNZVATPostingGroup.VAT15(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomerPrepaymentsVAT10(), CustomerPrepaymentsVAT9Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateNZVATPostingGroup.VAT9(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomerPrepaymentsVAT25(), CustomerPrepaymentsVAT15Lbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateNZVATPostingGroup.VAT15(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesVAT25(), SalesVAT15PercPostingLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesVAT10(), SalesVAT9PercLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25EU(), PurchaseVAT15PercPostingLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT10EU(), PurchaseVAT9PercLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25(), SalesVAT15PercAssetsLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VATPayable(), TaxPayableLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRetail(), FreightExpensesRetailLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRawMat(), FreightExpensesRawMatLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpenses(), FreightExpensesRawMatPostingLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VacationCompensation(), AnnualLeaveExpensesLbl, Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateNZVATPostingGroup.VAT9(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailExport(), CreateGLAccount.PurchRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateNZVATPostingGroup.VAT9(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.MISC(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.MISC(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.MISC(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.MISC(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.NoVAT(), 0, '', Enum::"General Posting Type"::" ", CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.NoVAT(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorPrepaymentsVAT(), CreateGLAccount.VendorPrepaymentsVATName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', CreateNZVATPostingGroup.NoVat(), 0, '', Enum::"General Posting Type"::" ", '', CreateNZVATPostingGroup.NoVAT(), false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomerPrepaymentsVAT0(), CreateGLAccount.CustomerPrepaymentsVAT0Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', CreateNZVATPostingGroup.NoVAT(), 0, '', Enum::"General Posting Type"::" ", '', CreateNZVATPostingGroup.NoVAT(), false, false, false); + end; + + procedure AddCategoriesToGLAccounts() + var + GLAccountCategory: Record "G/L Account Category"; + begin + if GLAccountCategory.IsEmpty() then + exit; + + GLAccountCategory.SetRange("Parent Entry No.", 0); + if GLAccountCategory.FindSet() then + repeat + AssignCategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + + GLAccountCategory.SetFilter("Parent Entry No.", '<>%1', 0); + if GLAccountCategory.FindSet() then + repeat + AssignSubcategoryToChartOfAccounts(GLAccountCategory); + until GLAccountCategory.Next() = 0; + end; + + procedure AssignCategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory."Account Category" of + GLAccountCategory."Account Category"::Assets: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Assets(), CreateGLAccount.TotalAssets()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PurchaseVAT25EU(), CreateGLAccount.PurchaseVAT25()); + end; + GLAccountCategory."Account Category"::Liabilities: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.DeferredTaxes(), CreateGLAccount.DeferredTaxes()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Liabilities(), SalesVAT15Perc()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.VATPayable(), CreateGLAccount.TotalLiabilities()); + end; + GLAccountCategory."Account Category"::Equity: + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Stockholder(), CreateGLAccount.Allowances()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.AllowancesTotal(), CreateGLAccount.AllowancesTotal()); + end; + GLAccountCategory."Account Category"::Income: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Revenue(), CreateGLAccount.TotalRevenue()); + GLAccountCategory."Account Category"::"Cost of Goods Sold": + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cost(), CreateGLAccount.TotalCost()); + GLAccountCategory."Account Category"::Expense: + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OperatingExpenses(), CreateGLAccount.CorporateTax()); + end; + end; + + procedure AssignSubcategoryToChartOfAccounts(GLAccountCategory: Record "G/L Account Category") + var + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case GLAccountCategory.Description of + GLAccountCategoryMgt.GetCash(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LiquidAssets(), CreateGLAccount.LiquidAssetsTotal()); + GLAccountCategoryMgt.GetAR(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.AccountsReceivable(), CreateGLAccount.AccountsReceivableTotal()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PurchaseVAT25EU(), CreateGLAccount.PurchaseVAT25()); + end; + GLAccountCategoryMgt.GetPrepaidExpenses(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.JobWIP(), CreateGLAccount.JobWIP()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PurchasePrepayments(), CreateGLAccount.PurchasePrepaymentsTotal()); + end; + GLAccountCategoryMgt.GetInventory(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Inventory(), CreateGLAccount.InventoryTotal()); + GLAccountCategoryMgt.GetEquipment(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.FixedAssets(), CreateGLAccount.DecreasesduringtheYearBuildings()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LandandBuildingsTotal(), CreateGLAccount.TangibleFixedAssetsTotal()); + end; + GLAccountCategoryMgt.GetAccumDeprec(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.AccumDepreciationBuildings(), CreateGLAccount.AccumDepreciationBuildings()); + GLAccountCategoryMgt.GetCurrentLiabilities(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ShorttermLiabilities(), CreateGLAccount.SalesVAT10()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.DeferredTaxes(), CreateGLAccount.DeferredTaxes()); + end; + GLAccountCategoryMgt.GetPayrollLiabilities(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PayrollTaxesPayable(), CreateGLAccount.PayrollTaxesPayable()); + GLAccountCategoryMgt.GetLongTermLiabilities(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.LongtermLiabilities(), CreateGLAccount.LongtermLiabilitiesTotal()); + GLAccountCategoryMgt.GetCommonStock(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStock()); + GLAccountCategoryMgt.GetRetEarnings(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarnings()); + GLAccountCategoryMgt.GetDistrToShareholders(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Stockholder(), CreateGLAccount.Stockholder()); + GLAccountCategoryMgt.GetIncomeService(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesResourcesDom(), CreateGLAccount.FeesandChargesRecDom()); + GLAccountCategoryMgt.GetIncomeProdSales(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.SalesofRetail(), CreateGLAccount.TotalSalesofRawMaterials()); + GLAccountCategoryMgt.GetIncomeSalesDiscounts(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted()); + GLAccountCategoryMgt.GetIncomeSalesReturns(): + ; + GLAccountCategoryMgt.GetCOGSLabor(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.JobCostAppliedResources(), CreateGLAccount.JobCosts()); + GLAccountCategoryMgt.GetCOGSMaterials(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Cost(), CreateGLAccount.TotalCostofRawMaterials()); + GLAccountCategoryMgt.GetRentExpense(): + ; + GLAccountCategoryMgt.GetAdvertisingExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.Advertising(), CreateGLAccount.EntertainmentandPR()); + GLAccountCategoryMgt.GetInterestExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.InterestExpenses(), CreateGLAccount.TotalInterestExpenses()); + GLAccountCategoryMgt.GetFeesExpense(): + ; + GLAccountCategoryMgt.GetInsuranceExpense(): + ; + GLAccountCategoryMgt.GetPayrollExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.PersonnelExpenses(), CreateGLAccount.TotalPersonnelExpenses()); + GLAccountCategoryMgt.GetBenefitsExpense(): + ; + GLAccountCategoryMgt.GetRepairsExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.RepairsandMaintenanceExpense(), CreateGLAccount.RepairsandMaintenanceExpense()); + GLAccountCategoryMgt.GetUtilitiesExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.BuildingMaintenanceExpenses(), CreateGLAccount.Postage()); + GLAccountCategoryMgt.GetOtherIncomeExpense(): + begin + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.OtherOperatingExpenses(), CreateGLAccount.OtherOperatingExpTotal()); + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.ExtraordinaryExpenses(), CreateGLAccount.ExtraordinaryExpenses()); + end; + GLAccountCategoryMgt.GetTaxExpense(): + UpdateGLAccounts(GLAccountCategory, CreateGLAccount.CorporateTax(), CreateGLAccount.CorporateTax()); + end; + end; + + local procedure UpdateGLAccounts(GLAccountCategory: Record "G/L Account Category"; FromGLAccountNo: Code[20]; ToGLAccountNo: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GLAccount.SetRange("No.", FromGLAccountNo, ToGLAccountNo); + if GLAccount.FindSet() then begin + GLAccount.ModifyAll("Account Category", GLAccountCategory."Account Category", false); + GLAccount.ModifyAll("Account Subcategory Entry No.", GLAccountCategory."Entry No.", false); + end; + end; + + procedure PurchaseVAT15Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVAT15PercName())); + end; + + procedure PurchaseVAT15PercName(): Text[100] + begin + exit(PurchaseVAT15PercTok); + end; + + procedure SalesVAT15Perc(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVAT15PercName())); + end; + + procedure SalesVAT15PercName(): Text[100] + begin + exit(SalesVAT15PercTok); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + SalesVAT15PercTok: Label 'Sales VAT 15 %', MaxLength = 100; + PurchaseVAT15PercTok: Label 'Purchase VAT 15 %', MaxLength = 100; + VendorPrepaymentsVAT9PercLbl: Label 'Vendor Prepayments VAT 9 %', MaxLength = 100; + VendorPrepaymentsVAT15PercLbl: Label 'Vendor Prepayments VAT 15 %', MaxLength = 100; + CustomerPrepaymentsVAT9Lbl: Label 'Customer Prepayments VAT 9 %', MaxLength = 100; + CustomerPrepaymentsVAT15Lbl: Label 'Customer Prepayments VAT 15 %', MaxLength = 100; + SalesVAT15PercPostingLbl: Label 'Sales VAT 15 %, Posting', MaxLength = 100; + SalesVAT15PercAssetsLbl: Label 'Sales VAT 15 %, Assets', MaxLength = 100; + SalesVAT9PercLbl: Label 'Sales VAT 9 %', MaxLength = 100; + PurchaseVAT15PercPostingLbl: Label 'Purchase VAT 15 %, Posting', MaxLength = 100; + PurchaseVAT9PercLbl: Label 'Purchase VAT 9 %', MaxLength = 100; + TaxPayableLbl: Label 'TAX Payable', MaxLength = 100; + FreightExpensesRetailLbl: Label 'Freight Expenses, Retail', MaxLength = 100; + FreightExpensesRawMatLbl: Label 'Freight Expenses, Raw Mat.', MaxLength = 100; + FreightExpensesRawMatPostingLbl: Label 'Freight Expenses, Raw Mat., Posting', MaxLength = 100; + AnnualLeaveExpensesLbl: Label 'Annual Leave Expenses', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGenJournTemplate.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGenJournTemplate.Codeunit.al new file mode 100644 index 0000000000..bcc5338adf --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGenJournTemplate.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 17146 "Create NZ Gen. Journ. Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + begin + ContosoGeneralLedger.InsertGeneralJournalTemplate(PostDated(), PostDatedChecksLbl, Enum::"Gen. Journal Template Type"::"Post Dated", Page::"General Journal", '', false); + UpdateSourceCodeOnGenJournalTemplate(PostDated(), PostDatedSourceCodeLbl); + end; + + local procedure UpdateSourceCodeOnGenJournalTemplate(TemplateName: Code[10]; SourceCode: Code[10]) + var + GenJournalTemplate: Record "Gen. Journal Template"; + begin + if GenJournalTemplate.Get(TemplateName) then begin + GenJournalTemplate.Validate("Source Code", SourceCode); + GenJournalTemplate.Modify(true); + end; + end; + + procedure PostDated(): Code[10] + begin + exit(PostDatedTok); + end; + + var + PostDatedChecksLbl: Label 'Post Dated Checks', MaxLength = 80; + PostDatedTok: Label 'POSTDATED', MaxLength = 10; + PostDatedSourceCodeLbl: Label 'GENJNL', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGenJournalBatch.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGenJournalBatch.Codeunit.al new file mode 100644 index 0000000000..d7f4ddf197 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGenJournalBatch.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 17152 "Create NZ Gen. Journal Batch" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Batch", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertRecord(var Rec: Record "Gen. Journal Batch") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec.Name = CreateGenJournalBatch.Default()) then + Rec.Validate("No. Series", CreateNoSeries.GeneralJournal()); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGeneralLedgerSetup.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..2bfc6969c1 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 17143 "Create NZ General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("Local Address Format", GeneralLedgerSetup."Local Address Format"::"City+County+Post Code (no comma)"); + GeneralLedgerSetup.Validate("Enable IRD No.", true); + GeneralLedgerSetup.Validate("Enable VAT Registration No.", true); + GeneralLedgerSetup.Validate("LCY Code", LCYCodeLbl); + GeneralLedgerSetup.Validate("Local Currency Description", LCYDescriptionLbl); + GeneralLedgerSetup.Validate("Local Currency Symbol", '$'); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + GeneralLedgerSetup.Modify(true); + end; + + var + LCYDescriptionLbl: Label 'New Zealand dollar', MaxLength = 60; + LCYCodeLbl: Label 'NZD', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZPostingGroups.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZPostingGroups.Codeunit.al new file mode 100644 index 0000000000..e6b145b7c8 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZPostingGroups.Codeunit.al @@ -0,0 +1,75 @@ +codeunit 17121 "Create NZ Posting Groups" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentPermissions = X; + InherentEntitlements = X; + + trigger OnRun() + begin + InsertGenProdPostingGroup(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Business Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure UpdateGenBusinessPostingGroup(var Rec: Record "Gen. Business Posting Group") + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateNZVATPostingGroups: Codeunit "Create NZ VAT Posting Group"; + begin + case Rec.Code of + CreatePostingGroups.EUPostingGroup(): + Rec.Validate("Def. VAT Bus. Posting Group", CreateNZVATPostingGroups.MISC()); + end; + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Product Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure UpdateGenProductPostingGroup(var Rec: Record "Gen. Product Posting Group") + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateESVATPostingGroups: Codeunit "Create NZ VAT Posting Group"; + begin + case Rec.Code of + CreatePostingGroups.MiscPostingGroup(), + CreatePostingGroups.RawMatPostingGroup(), + CreatePostingGroups.RetailPostingGroup(), + CreatePostingGroups.FreightPostingGroup(): + ValidateRecordFields(Rec, CreateESVATPostingGroups.VAT15()); + CreatePostingGroups.ServicesPostingGroup(): + ValidateRecordFields(Rec, CreateESVATPostingGroups.VAT9()); + end; + end; + + local procedure ValidateRecordFields(var GenProductPostingGroup: Record "Gen. Product Posting Group"; DefVATProdPostingGroup: Code[20]) + begin + GenProductPostingGroup.Validate("Def. VAT Prod. Posting Group", DefVATProdPostingGroup); + end; + + local procedure InsertGenProdPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateNZVATPostingGroups: Codeunit "Create NZ VAT Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(CreateNZVATPostingGroups.NoVAT(), MiscellaneousWithoutVatLbl, CreateNZVATPostingGroups.NoVAT()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure InsertGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateNZVATPostingGroups: Codeunit "Create NZ VAT Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreateNZVATPostingGroups.NoVat(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreateNZVATPostingGroups.NoVat(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreateNZVATPostingGroups.NoVat(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + var + MiscellaneousWithoutVatLbl: Label 'Miscellaneous without VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZVATPostingGroup.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZVATPostingGroup.Codeunit.al new file mode 100644 index 0000000000..203c62ee7a --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZVATPostingGroup.Codeunit.al @@ -0,0 +1,98 @@ +codeunit 17124 "Create NZ VAT Posting Group" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentPermissions = X; + InherentEntitlements = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + InsertVATBusinessPostingGroups(); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Business Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure UpdateGenBusinessPostingGroup(var Rec: Record "VAT Business Posting Group") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + case Rec.Code of + CreateVATPostingGroups.Export(): + Rec.Validate(Description, ExportPostingGroupDescriptionLbl); + end; + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATProductPostingGroup(NoVAT(), NoVATDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT15(), MiscellaneousVAT15VATDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT9(), MiscellaneousVAT9VATDescriptionLbl); + ContosoPostingGroup.SetOverwriteData(false); + end; + + local procedure InsertVATBusinessPostingGroups() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertVATBusinessPostingGroup(MISC(), MiscPostingGroupDescriptionLbl); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure UpdateVATPostingSetup() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateNZGLAccounts: Codeunit "Create NZ GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertVATPostingSetup('', NoVAT(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), NoVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', VAT15(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), VAT15(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', VAT9(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10EU(), VAT9(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), NoVAT(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), NoVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), VAT15(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), VAT15(), 15, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), VAT9(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10EU(), VAT9(), 9, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), NoVAT(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), NoVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), VAT15(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), VAT15(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), VAT9(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10EU(), VAT9(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(MISC(), NoVAT(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), NoVAT(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(MISC(), VAT15(), CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), VAT15(), 15, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(MISC(), VAT9(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10EU(), VAT9(), 9, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.SetOverwriteData(false); + end; + + procedure MISC(): Code[20] + begin + exit(MiscTok); + end; + + procedure NoVAT(): Code[20] + begin + exit(NoVATTok); + end; + + procedure VAT15(): Code[20] + begin + exit(VAT15Tok); + end; + + procedure VAT9(): Code[20] + begin + exit(VAT9Tok); + end; + + var + MiscTok: Label 'MISC', MaxLength = 20; + NoVATTok: Label 'NO VAT', MaxLength = 20; + VAT15Tok: Label 'VAT15', MaxLength = 20; + VAT9Tok: Label 'VAT9', MaxLength = 20; + MiscPostingGroupDescriptionLbl: Label 'Customers and vendors in MISC', MaxLength = 100; + ExportPostingGroupDescriptionLbl: Label 'Other customers and vendors (not MISC)', MaxLength = 100; + NoVATDescriptionLbl: Label 'No VAT', MaxLength = 100; + MiscellaneousVAT15VATDescriptionLbl: Label 'Miscellaneous VAT15 VAT', MaxLength = 100; + MiscellaneousVAT9VATDescriptionLbl: Label 'Miscellaneous VAT9 VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZVATSetupPostingGrp.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZVATSetupPostingGrp.Codeunit.al new file mode 100644 index 0000000000..f1feafbf1b --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/1.Setup Data/CreateNZVATSetupPostingGrp.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 17123 "Create NZ VAT Setup PostingGrp" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentPermissions = X; + InherentEntitlements = X; + + trigger OnRun() + begin + CreateVatSetupPostingGrp(); + CreateVATAssistedSetupGrp(); + UpdateVatReportSetup(); + end; + + local procedure CreateVatSetupPostingGrp() + var + VATSetupPostingGroups: Record "VAT Setup Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateNZGLAccounts: Codeunit "Create NZ GL Accounts"; + CreateNZVatPostingGroup: Codeunit "Create NZ VAT Posting Group"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + begin + ContosoVATStatement.SetOverwriteData(true); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateNZVatPostingGroup.NoVAT(), true, 0, CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), true, VATSetupPostingGroups."Application Type"::Items, NoVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateNZVatPostingGroup.VAT15(), true, 15, CreateNZGLAccounts.SalesVAT15Perc(), CreateNZGLAccounts.PurchaseVAT15Perc(), true, VATSetupPostingGroups."Application Type"::Items, Vat15DescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateNZVatPostingGroup.VAT9(), true, 9, CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10EU(), true, VATSetupPostingGroups."Application Type"::Items, Vat9DescriptionLbl); + ContosoVATStatement.SetOverwriteData(false); + end; + + local procedure CreateVATAssistedSetupGrp() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + begin + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateNZVATPostingGroup.MISC(), MiscPostingGroupDescriptionLbl, true, true); + end; + + local procedure UpdateVatReportSetup() + var + VATReportSetup: Record "VAT Report Setup"; + begin + VATReportSetup.Get(); + VATReportSetup.Validate("No. Series", ''); + VATReportSetup.Modify(true); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Assisted Setup Bus. Grp.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVATAssistedSetupBusGrp(var Rec: Record "VAT Assisted Setup Bus. Grp.") + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + if Rec.Code = CreateVATPostingGroups.Export() then + Rec.Validate(Description, ExportDescriptionLbl); + end; + + var + NoVatDescriptionLbl: Label 'Setup for MISC / NO VAT', MaxLength = 100; + Vat15DescriptionLbl: Label 'Setup for MISC / VAT15', MaxLength = 100; + Vat9DescriptionLbl: Label 'Setup for MISC / VAT9', MaxLength = 100; + MiscPostingGroupDescriptionLbl: Label 'Customers and vendors in MISC', MaxLength = 100; + ExportDescriptionLbl: Label 'Other customers and vendors (not MISC)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZCurrencyExRate.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZCurrencyExRate.Codeunit.al new file mode 100644 index 0000000000..fd06f2c015 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZCurrencyExRate.Codeunit.al @@ -0,0 +1,200 @@ +codeunit 17149 "Create NZ Currency Ex. Rate" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 344.4349, 344.4349); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 368.7039, 368.7039); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 354.1246, 354.1246); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 80.5127, 80.5127); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 118.1394, 118.1394); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 108.8744, 108.8744); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 135.3619, 135.3619); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 84.4548, 84.4548); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 148.7625, 148.7625); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 187.1741, 187.1741); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 9.1683, 9.1683); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 40.23, 40.23); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.8636, 3.8636); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 2.2243, 2.2243); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 103.8135, 103.8135); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 30.1846, 30.1846); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 40.7003, 40.7003); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.2656, 1.2656); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0332, 0.0332); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.9604, 4.9604); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.4276, 3.4276); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.9994, 1.9994); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.729, 3.729); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 28.3597, 28.3597); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 24.834, 24.834); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 62.2036, 62.2036); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.1281, 0.1281); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.3422, 2.3422); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 35.3421, 35.3421); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.6144, 4.6144); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 57.1749, 57.1749); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.0904, 0.0904); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.5214, 3.5214); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 8.0943, 8.0943); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 62.964, 62.964); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 43.7099, 43.7099); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 34.0869, 34.0869); + + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 136.2228, 136.2228); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 32.4952, 32.4952); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 5.3023, 5.3023); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 217.0324, 217.0324); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 1.1753, 1.1753); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 183.72, 183.72); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.1709, 0.1709); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 223.4777, 223.4777); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 1.6535, 1.6535); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 825.061, 825.061); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2.516, 2.516); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 27.5213, 27.5213); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 300.1238, 300.1238); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 35.0202, 35.0202); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 226.3018, 226.3018); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 299.9066, 299.9066); + if Rec."Currency Code" = Currency.SEK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 36.0863, 36.0863); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 233.5714, 233.5714); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZFinancialReport.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZFinancialReport.Codeunit.al new file mode 100644 index 0000000000..ab42a2b65f --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZFinancialReport.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 17120 "Create NZ Financial Report" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + CreateNZAccountScheduleName: Codeunit "Create NZ Acc Schedule Name"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertFinancialReport(CreateNZAccountScheduleName.BalanceSheetDetail(), BalanceSheetDetailedLbl, CreateNZAccountScheduleName.BalanceSheetDetail(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateNZAccountScheduleName.BalanceSheetSummarized(), BalanceSheetSummarizedLbl, CreateNZAccountScheduleName.BalanceSheetSummarized(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateNZAccountScheduleName.IncomeStatementDetail(), IncomeStatementDetailedLbl, CreateNZAccountScheduleName.IncomeStatementDetail(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateNZAccountScheduleName.IncomeStatementSummarized(), IncomeStatementSummarizedLbl, CreateNZAccountScheduleName.IncomeStatementSummarized(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(CreateNZAccountScheduleName.TrialBalance(), TrialBalanceLbl, CreateNZAccountScheduleName.TrialBalance(), BeginningBalanceDebitsCreditsEndingBalanceLbl); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + var + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; + BalanceSheetTrendLbl: Label 'BSTREND', MaxLength = 10; + IncomeStatementTrendLbl: Label 'ISTREND', MaxLength = 10; + BeginningBalanceDebitsCreditsEndingBalanceLbl: Label 'BBDRCREB', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZResource.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZResource.Codeunit.al new file mode 100644 index 0000000000..b0ee232e0c --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZResource.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 17125 "Create NZ Resource" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + begin + case Rec."No." of + CreateResource.Katherine(), + CreateResource.Terry(): + ValidateRecordFields(Rec, AucklandPostmasterCityLbl, PostCode1030Lbl, 170, 187, 340, 45, CreateNZVATPostingGroup.VAT9()); + CreateResource.Lina(): + ValidateRecordFields(Rec, AucklandCityLbl, PostCode1001Lbl, 210, 231, 410, 43.65854, CreateNZVATPostingGroup.VAT9()); + CreateResource.Marty(): + ValidateRecordFields(Rec, AucklandPostmasterCityLbl, PostCode1030Lbl, 160, 176, 310, 43.22581, CreateNZVATPostingGroup.VAT9()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; PostCode: Code[20]; DirectUnitCost: Decimal; UnitCost: Decimal; UnitPrice: Decimal; ProfitPercantage: Decimal; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Post Code", PostCode); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercantage); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + AucklandPostmasterCityLbl: Label 'Auckland Postmaster', MaxLength = 30, Locked = true; + AucklandCityLbl: Label 'Auckland', MaxLength = 30, Locked = true; + PostCode1030Lbl: Label '1030', MaxLength = 20; + PostCode1001Lbl: Label '1001', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZVATStatement.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZVATStatement.Codeunit.al new file mode 100644 index 0000000000..b19c8827a4 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Finance/2.Master Data/CreateNZVATStatement.Codeunit.al @@ -0,0 +1,139 @@ +codeunit 17144 "Create NZ VAT Statement" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "VAT Statement Line") + var + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + begin + if (Rec."Statement Template Name" = CreateVATStatement.VATTemplateName()) and (Rec."Statement Name" = StatementNameLbl) then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '1010', SalesVat15PercOutgoingLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::Sign, false, Rec."Print with"::"Opposite Sign", '5'); + 20000: + ValidateRecordFields(Rec, '1020', SalesVat9PercOutgoingLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT9(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::Sign, false, Rec."Print with"::"Opposite Sign", '6'); + 30000: + ValidateRecordFields(Rec, '1050', Vat15PercPercOnEuPurchasesEtcLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT15(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::"Opposite Sign", false, Rec."Print with"::"Opposite Sign", '7'); + 40000: + ValidateRecordFields(Rec, '1060', Vat9PercPercOnEuPurchasesEtcLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT9(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::"Opposite Sign", false, Rec."Print with"::"Opposite Sign", '8'); + 50000: + ValidateRecordFields(Rec, '', BlankLbl, Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 60000: + ValidateRecordFields(Rec, '1099', TotalLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1019|1029|1039|1049', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 70000: + ValidateRecordFields(Rec, '', '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 80000: + ValidateRecordFields(Rec, '1110', PurchaseVat15PercDomesticLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT15(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, '9'); + 90000: + ValidateRecordFields(Rec, '1120', PurchaseVat9PercDomesticLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.VAT9(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, '10'); + 100000: + ValidateRecordFields(Rec, '1150', PurchaseVat15PercEuLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT15(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, '11'); + 110000: + ValidateRecordFields(Rec, '1160', PurchaseVat9PercEuLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT9(), '', Enum::"VAT Statement Line Amount Type"::Amount, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, '12'); + 120000: + ValidateRecordFields(Rec, '1179', PurchaseVatIngoingLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1110..1170', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", '13'); + 140000: + ValidateRecordFields(Rec, '1180', FuelTaxLbl, Enum::"VAT Statement Line Type"::"Account Totaling", '5630', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", '14'); + 150000: + ValidateRecordFields(Rec, '1181', ElectricityTaxLbl, Enum::"VAT Statement Line Type"::"Account Totaling", '5630', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", '15'); + 160000: + ValidateRecordFields(Rec, '1182', NaturalGasTaxLbl, Enum::"VAT Statement Line Type"::"Account Totaling", '5630', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 170000: + ValidateRecordFields(Rec, '1183', CoalTaxLbl, Enum::"VAT Statement Line Type"::"Account Totaling", '5630', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 180000: + ValidateRecordFields(Rec, '1184', Co2TaxLbl, Enum::"VAT Statement Line Type"::"Account Totaling", '5630', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 190000: + ValidateRecordFields(Rec, '1185', WaterTaxLbl, Enum::"VAT Statement Line Type"::"Account Totaling", '5630', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 200000: + ValidateRecordFields(Rec, '1189', TotalTaxesLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1180..1188', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 210000: + ValidateRecordFields(Rec, '', BlankLbl, Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 220000: + ValidateRecordFields(Rec, '1199', TotalDeductionsLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1159|1189', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 230000: + ValidateRecordFields(Rec, '', BlankLbl, Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 240000: + ValidateRecordFields(Rec, '', '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 250000: + ValidateRecordFields(Rec, '', VatPayableLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1099|1199', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 260000: + ValidateRecordFields(Rec, '', BlankLbl, Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 270000: + ValidateRecordFields(Rec, '', '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 280000: + ValidateRecordFields(Rec, '1210', ValueOfEuPurchases15PercLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT15(), '', Enum::"VAT Statement Line Amount Type"::Base, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, ''); + 290000: + ValidateRecordFields(Rec, '1220', ValueOfEuPurchases9PercLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Purchase, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT9(), '', Enum::"VAT Statement Line Amount Type"::Base, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, ''); + 300000: + ValidateRecordFields(Rec, '', '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 310000: + ValidateRecordFields(Rec, '1240', ValueOfEuSales15PercLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT15(), '', Enum::"VAT Statement Line Amount Type"::Base, Rec."Calculate with"::Sign, false, Rec."Print with"::"Opposite Sign", ''); + 320000: + ValidateRecordFields(Rec, '1250', ValueOfEuSales9PercLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateNZVATPostingGroup.MISC(), CreateNZVATPostingGroup.VAT9(), '', Enum::"VAT Statement Line Amount Type"::Base, Rec."Calculate with"::Sign, false, Rec."Print with"::"Opposite Sign", ''); + 330000: + ValidateRecordFields(Rec, '', '', Enum::"VAT Statement Line Type"::Description, '', Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::Sign, ''); + 340000: + ValidateRecordFields(Rec, '1310', NonVatLiableSalesOverseasLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateNZVATPostingGroup.VAT15(), '', Enum::"VAT Statement Line Amount Type"::Base, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, ''); + 350000: + ValidateRecordFields(Rec, '1320', NonVatLiableSalesOverseasLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateNZVATPostingGroup.VAT9(), '', Enum::"VAT Statement Line Amount Type"::Base, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, ''); + 360000: + ValidateRecordFields(Rec, '', NonVatLiableSalesOverseasLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1310..1330', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + 370000: + ValidateRecordFields(Rec, '1340', NonVatLiableSalesDomesticLbl, Enum::"VAT Statement Line Type"::"VAT Entry Totaling", '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateNZVATPostingGroup.NoVAT(), '', Enum::"VAT Statement Line Amount Type"::Base, Rec."Calculate with"::Sign, false, Rec."Print with"::Sign, ''); + 380000: + ValidateRecordFields(Rec, '', NonVatLiableSalesDomesticLbl, Enum::"VAT Statement Line Type"::"Row Totaling", '', Enum::"General Posting Type"::" ", '', '', '1340..1348', Enum::"VAT Statement Line Amount Type"::" ", Rec."Calculate with"::Sign, true, Rec."Print with"::"Opposite Sign", ''); + end; + end; + + local procedure ValidateRecordFields(var VATStatementLine: Record "VAT Statement Line"; RowNo: Code[10]; Description: Text[100]; Type: Enum "VAT Statement Line Type"; AccountTotaling: Text[30]; GenPostingType: Enum "General Posting Type"; VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; Calculatewith: Option; Print: Boolean; Printwith: Option; BoxNo: Text[30]) + begin + VATStatementLine.Validate("Row No.", RowNo); + VATStatementLine.Validate(Description, Description); + VATStatementLine.Validate(Type, Type); + VATStatementLine.Validate("Account Totaling", AccountTotaling); + VATStatementLine.Validate("Gen. Posting Type", GenPostingType); + VATStatementLine.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + VATStatementLine.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + VATStatementLine.Validate("Row Totaling", RowTotaling); + VATStatementLine.Validate("Amount Type", AmountType); + VATStatementLine.Validate("Calculate with", Calculatewith); + VATStatementLine.Validate(Print, Print); + VATStatementLine.Validate("Print with", Printwith); + VATStatementLine.Validate("Box No.", BoxNo); + end; + + var + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + SalesVat15PercOutgoingLbl: Label 'Sales VAT 15 % (outgoing)', MaxLength = 100; + SalesVat9PercOutgoingLbl: Label 'Sales VAT 9 % (outgoing)', MaxLength = 100; + Vat15PercPercOnEuPurchasesEtcLbl: Label 'VAT 15 % % on EU Purchases etc.', MaxLength = 100; + Vat9PercPercOnEuPurchasesEtcLbl: Label 'VAT 9 % % on EU Purchases etc.', MaxLength = 100; + BlankLbl: Label '--------------------------------------------------', MaxLength = 100; + TotalLbl: Label 'Total', MaxLength = 100; + PurchaseVat15PercDomesticLbl: Label 'Purchase VAT 15 % Domestic', MaxLength = 100; + PurchaseVat9PercDomesticLbl: Label 'Purchase VAT 9 % Domestic', MaxLength = 100; + PurchaseVat15PercEuLbl: Label 'Purchase VAT 15 % EU', MaxLength = 100; + PurchaseVat9PercEuLbl: Label 'Purchase VAT 9 % EU', MaxLength = 100; + PurchaseVatIngoingLbl: Label 'Purchase VAT (ingoing)', MaxLength = 100; + FuelTaxLbl: Label 'Fuel Tax', MaxLength = 100; + ElectricityTaxLbl: Label 'Electricity Tax', MaxLength = 100; + NaturalGasTaxLbl: Label 'Natural Gas Tax', MaxLength = 100; + CoalTaxLbl: Label 'Coal Tax', MaxLength = 100; + Co2TaxLbl: Label 'CO2 Tax', MaxLength = 100; + WaterTaxLbl: Label 'Water Tax', MaxLength = 100; + TotalTaxesLbl: Label 'Total Taxes', MaxLength = 100; + TotalDeductionsLbl: Label 'Total Deductions', MaxLength = 100; + VatPayableLbl: Label 'VAT Payable', MaxLength = 100; + ValueOfEuPurchases15PercLbl: Label 'Value of EU Purchases 15 %', MaxLength = 100; + ValueOfEuPurchases9PercLbl: Label 'Value of EU Purchases 9 %', MaxLength = 100; + ValueOfEuSales15PercLbl: Label 'Value of EU Sales 15 %', MaxLength = 100; + ValueOfEuSales9PercLbl: Label 'Value of EU Sales 9 %', MaxLength = 100; + NonVatLiableSalesOverseasLbl: Label 'Non-VAT liable sales, Overseas', MaxLength = 100; + NonVatLiableSalesDomesticLbl: Label 'Non-VAT liable sales, Domestic', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCompanyInformation.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCompanyInformation.Codeunit.al new file mode 100644 index 0000000000..2ee8ab9704 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCompanyInformation.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 17110 "Create NZ Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + var + CompanyInformation: Record "Company Information"; + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + CompanyInformation.Get(); + ContosoCoffeeDemoDataSetup.Get(); + + CompanyInformation.Validate(City, CityLbl); + CompanyInformation.Validate("Post Code", '1015'); + CompanyInformation.Validate("Ship-to Post Code", '1015'); + CompanyInformation.Validate("Ship-to City", CityLbl); + CompanyInformation.Validate("Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Validate("Ship-to Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'Auckland', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCountryRegion.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCountryRegion.Codeunit.al new file mode 100644 index 0000000000..b797f61db1 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCountryRegion.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 17109 "Create NZ Country Region" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Country/Region", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Country/Region") + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateCountryRegion.AU(), + CreateCountryRegion.NZ(): + Rec.Validate("Address Format", Enum::"Country/Region Address Format"::"City+County+Post Code (no comma)"); + end; + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCounty.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCounty.Codeunit.al new file mode 100644 index 0000000000..295356fadf --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZCounty.Codeunit.al @@ -0,0 +1,167 @@ +codeunit 17117 "Create NZ County" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNZCounty: Codeunit "Contoso NZ County"; + begin + ContosoNZCounty.SetOverwriteData(true); + ContosoNZCounty.InsertCounty(Bangkok(), BangkokLbl); + ContosoNZCounty.InsertCounty(BuriRam(), BuriRamLbl); + ContosoNZCounty.InsertCounty(ChaiNat(), ChaiNatLbl); + ContosoNZCounty.InsertCounty(ChiangMai(), ChiangMaiLbl); + ContosoNZCounty.InsertCounty(EdoState(), EdoStateLbl); + ContosoNZCounty.InsertCounty(Guanajuato(), GuanajuatoLbl); + ContosoNZCounty.InsertCounty(KualaLumpur(), KualaLumpurLbl); + ContosoNZCounty.InsertCounty(Nsw(), NewSouthWalesLbl); + ContosoNZCounty.InsertCounty(NuevoLeon(), NuevoLeonLbl); + ContosoNZCounty.InsertCounty(PlateauState(), PlateauStateLbl); + ContosoNZCounty.InsertCounty(Qld(), QueenslandLbl); + ContosoNZCounty.InsertCounty(Sabah(), SabahLbl); + ContosoNZCounty.InsertCounty(SanLuis(), SanLuisLbl); + ContosoNZCounty.InsertCounty(Sarawak(), SarawakLbl); + ContosoNZCounty.InsertCounty(Selangor(), SelangorLbl); + ContosoNZCounty.InsertCounty(Sinaloa(), SinaloaLbl); + ContosoNZCounty.InsertCounty(Tas(), TasmaniaLbl); + ContosoNZCounty.InsertCounty(Vic(), VictoriaLbl); + ContosoNZCounty.InsertCounty(Wa(), WesternAustraliaLbl); + ContosoNZCounty.SetOverwriteData(false); + end; + + procedure Bangkok(): Text[30] + begin + exit(BangkokTok); + end; + + procedure BuriRam(): Text[30] + begin + exit(BuriRamTok); + end; + + procedure ChaiNat(): Text[30] + begin + exit(ChaiNatTok); + end; + + procedure ChiangMai(): Text[30] + begin + exit(ChiangMaiTok); + end; + + procedure EdoState(): Text[30] + begin + exit(EdoStateTok); + end; + + procedure Guanajuato(): Text[30] + begin + exit(GuanajuatoTok); + end; + + procedure KualaLumpur(): Text[30] + begin + exit(KualaLumpurTok); + end; + + procedure Nsw(): Text[30] + begin + exit(NswTok); + end; + + procedure NuevoLeon(): Text[30] + begin + exit(NuevoLeonTok); + end; + + procedure PlateauState(): Text[30] + begin + exit(PlateauStateTok); + end; + + procedure Qld(): Text[30] + begin + exit(QldTok); + end; + + procedure Sabah(): Text[30] + begin + exit(SabahTok); + end; + + procedure SanLuis(): Text[30] + begin + exit(SanLuisTok); + end; + + procedure Sarawak(): Text[30] + begin + exit(SarawakTok); + end; + + procedure Selangor(): Text[30] + begin + exit(SelangorTok); + end; + + procedure Sinaloa(): Text[30] + begin + exit(SinaloaTok); + end; + + procedure Tas(): Text[30] + begin + exit(TasTok); + end; + + procedure Vic(): Text[30] + begin + exit(VicTok); + end; + + procedure Wa(): Text[30] + begin + exit(WaTok); + end; + + var + BangkokTok: Label 'Bangkok', MaxLength = 30; + BuriRamTok: Label 'Buri Ram', MaxLength = 30; + ChaiNatTok: Label 'Chai Nat', MaxLength = 30; + ChiangMaiTok: Label 'Chiang Mai', MaxLength = 30; + EdoStateTok: Label 'Edo state', MaxLength = 30; + GuanajuatoTok: Label 'Guanajuato', MaxLength = 30; + KualaLumpurTok: Label 'KUALA LUMPUR', MaxLength = 30; + NswTok: Label 'NSW', MaxLength = 30; + NuevoLeonTok: Label 'Nuevo Leon', MaxLength = 30; + PlateauStateTok: Label 'Plateau state', MaxLength = 30; + QldTok: Label 'QLD', MaxLength = 30; + SabahTok: Label 'Sabah', MaxLength = 30; + SanLuisTok: Label 'San Luis', MaxLength = 30; + SarawakTok: Label 'Sarawak', MaxLength = 30; + SelangorTok: Label 'Selangor', MaxLength = 30; + SinaloaTok: Label 'Sinaloa', MaxLength = 30; + TasTok: Label 'TAS', MaxLength = 30; + VicTok: Label 'VIC', MaxLength = 30; + WaTok: Label 'WA', MaxLength = 30; + BangkokLbl: Label 'Bangkok', MaxLength = 30; + BuriRamLbl: Label 'Buri Ram', MaxLength = 30; + ChaiNatLbl: Label 'Chai Nat', MaxLength = 30; + ChiangMaiLbl: Label 'Chiang Mai', MaxLength = 30; + EdoStateLbl: Label 'Edo state', MaxLength = 30; + GuanajuatoLbl: Label 'Guanajuato', MaxLength = 30; + KualaLumpurLbl: Label 'KUALA LUMPUR', MaxLength = 30; + NewSouthWalesLbl: Label 'New South Wales', MaxLength = 30; + NuevoLeonLbl: Label 'Nuevo Leon', MaxLength = 30; + PlateauStateLbl: Label 'Plateau state', MaxLength = 30; + QueenslandLbl: Label 'Queensland', MaxLength = 30; + SabahLbl: Label 'Sabah', MaxLength = 30; + SanLuisLbl: Label 'San Luis', MaxLength = 30; + SarawakLbl: Label 'Sarawak', MaxLength = 30; + SelangorLbl: Label 'Selangor', MaxLength = 30; + SinaloaLbl: Label 'Sinaloa', MaxLength = 30; + TasmaniaLbl: Label 'Tasmania', MaxLength = 30; + VictoriaLbl: Label 'Victoria', MaxLength = 30; + WesternAustraliaLbl: Label 'Western Australia', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZNoSeries.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZNoSeries.Codeunit.al new file mode 100644 index 0000000000..dd64d6f147 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZNoSeries.Codeunit.al @@ -0,0 +1,49 @@ +codeunit 17116 "Create NZ No. Series" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: codeunit "Contoso No Series"; + begin + ContosoNoSeries.SetOverwriteData(true); + ContosoNoSeries.InsertNoSeries(PostedPurchaseTaxCreditMemo(), PostedPurchaseTaxCreditMemoLbl, '108001', '109999', '109995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedPurchaseTaxInvoice(), PostedPurchaseTaxInvoiceLbl, '108001', '109999', '109995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedSalesTaxCreditMemo(), PostedSalesTaxCreditMemoLbl, '103001', '104999', '104995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedSalesTaxInvoice(), PostedSalesTaxInvoiceLbl, '103001', '104999', '104995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.SetOverwriteData(false); + end; + + procedure PostedPurchaseTaxCreditMemo(): Code[20] + begin + exit(PostedPurchaseTaxCreditMemoTok); + end; + + procedure PostedPurchaseTaxInvoice(): Code[20] + begin + exit(PostedPurchaseTaxInvoiceTok); + end; + + procedure PostedSalesTaxCreditMemo(): Code[20] + begin + exit(PostedSalesTaxCreditMemoTok); + end; + + procedure PostedSalesTaxInvoice(): Code[20] + begin + exit(PostedSalesTaxInvoiceTok); + end; + + var + PostedPurchaseTaxCreditMemoTok: Label 'P-TAXCR+', MaxLength = 20; + PostedPurchaseTaxCreditMemoLbl: Label 'Posted Purchase Tax Cr. Memo', MaxLength = 100; + PostedPurchaseTaxInvoiceTok: Label 'P-TAXINV+', MaxLength = 20; + PostedPurchaseTaxInvoiceLbl: Label 'Posted Purchase Tax Invoice', MaxLength = 100; + PostedSalesTaxCreditMemoTok: Label 'S-TAXCR+', MaxLength = 20; + PostedSalesTaxCreditMemoLbl: Label 'Posted Sales Tax Credit Memo', MaxLength = 100; + PostedSalesTaxInvoiceTok: Label 'S-TAXINV+', MaxLength = 20; + PostedSalesTaxInvoiceLbl: Label 'Posted Sales Tax Invoice', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZPaymentTerms.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZPaymentTerms.Codeunit.al new file mode 100644 index 0000000000..e798988abf --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZPaymentTerms.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 17108 "Create NZ Payment Terms" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Payment Terms", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Payment Terms") + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + case Rec.Code of + CreatePaymentTerms.PaymentTermsDAYS30(): + ValidateRecordFields(Rec, EndofNextMonthLbl, Days30DueDateCalculationLbl); + end; + end; + + local procedure ValidateRecordFields(var PaymentTerms: Record "Payment Terms"; Description: Text[100]; DueDateCalculation: Text[10]) + begin + PaymentTerms.Validate(Description, Description); + Evaluate(PaymentTerms."Due Date Calculation", DueDateCalculation); + PaymentTerms.Validate("Due Date Calculation"); + end; + + var + EndofNextMonthLbl: Label 'End of Next Month', MaxLength = 100; + Days30DueDateCalculationLbl: Label '1M+CM', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZPostCode.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZPostCode.Codeunit.al new file mode 100644 index 0000000000..79f53fe256 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZPostCode.Codeunit.al @@ -0,0 +1,4668 @@ +codeunit 17111 "Create NZ Post Code" +{ + trigger OnRun() + var + CreateCountryRegion: Codeunit "Create Country/Region"; + ContosoNZPostCode: Codeunit "Contoso NZ Post Code"; + begin + ContosoNZPostCode.SetOverwriteData(true); + ContosoNZPostCode.InsertPostCode('1001', AucklandCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('1001', FreemansBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1001', GraftonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1001', HerneBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1001', NewmarketCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1001', NewtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1001', ParnellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1001', PonsonbyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1001', StMarysBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1002', ArchHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1002', GreyLynnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1002', PointChevalierCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1002', WesternSpringsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1002', WestmereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', BalmoralCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', EdenTerraceCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', EpsomCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', GreenwoodsCornerCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', KingslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', MorningsideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', MountAlbertCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', MountEdenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', OneTreeHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', OwairakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', RoyalOakCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', SandringhamCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1003', StLukesCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1004', HillsboroughCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1004', LynfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1004', MountRoskillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1004', MountRoskillSouthCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1004', RoskillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1004', ThreeKingsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1004', WaikowhaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1005', EllerslieCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1005', GlendowieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1005', GreenlaneCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1005', KohimaramaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1005', MeadowbankCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1005', MissionBayCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1005', 'Orakei', '', ''); + ContosoNZPostCode.InsertPostCode('1005', 'Remuera', '', ''); + ContosoNZPostCode.InsertPostCode('1005', 'St Heliers', '', ''); + ContosoNZPostCode.InsertPostCode('1005', StJohnsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1006', GlenInnesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1006', MiddlemoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1006', 'Mount Wellington', '', ''); + ContosoNZPostCode.InsertPostCode('1006', 'Onehunga', '', ''); + ContosoNZPostCode.InsertPostCode('1006', 'Otahuhu', '', ''); + ContosoNZPostCode.InsertPostCode('1006', 'Panmure', '', ''); + ContosoNZPostCode.InsertPostCode('1006', 'Penrose', '', ''); + ContosoNZPostCode.InsertPostCode('1006', PointEnglandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1006', SylviaParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1006', TamakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1006', TePapapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', AvondaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', BlockhouseBayCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', FrenchBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', 'Glen Eden', '', ''); + ContosoNZPostCode.InsertPostCode('1007', 'Green Bay', '', ''); + ContosoNZPostCode.InsertPostCode('1007', HuiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', KarekareCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', KelstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', LaingholmCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', 'New Lynn', '', ''); + ContosoNZPostCode.InsertPostCode('1007', NewWindsorCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', OratiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', ParauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', PihaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', 'Titirangi', '', ''); + ContosoNZPostCode.InsertPostCode('1007', WaiataruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1007', WaterviewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', BethellsBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Edmonton', '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Glendene', '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Henderson', '', ''); + ContosoNZPostCode.InsertPostCode('1008', HendersonValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', HeraldIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', HobsonvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', LincolnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', MasseyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Ranui', '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Royal Heights', '', ''); + ContosoNZPostCode.InsertPostCode('1008', SunnyvaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Swanson', '', ''); + ContosoNZPostCode.InsertPostCode('1008', TaupakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Te Atatu', '', ''); + ContosoNZPostCode.InsertPostCode('1008', TeAtatuNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', TeAtatuSouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Waitakere', '', ''); + ContosoNZPostCode.InsertPostCode('1008', WestHarbourCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1008', 'Whenuapai', '', ''); + ContosoNZPostCode.InsertPostCode('1008', WhenuapaiVillageCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', KamoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', KensingtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', MairtownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', MaunuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', OnerahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', OtangareiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', PortWhangareiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', RaumangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', RegentCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', TikipungaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('101', WhangareiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1015', AucklandCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('1020', LittleBarrierIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1020', MotutapuIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1020', PakatoaIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1020', RakinoIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1020', RangitotoIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1020', RotoroaIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1020', TiritiriMatangiIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1030', AucklandPostmasterCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('121', GlenbervieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', HukerenuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', KauriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', KokopuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', MangapaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', OakleighCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', OneTreePointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', PipiwaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', ReotahiBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', TutukakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', WaikarakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('121', WhangareiHeadsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1236', ClarisCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1236', GreatBarrierIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1236', OkiwiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1236', PortFitzroyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1236', TryphenaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', AwaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', BlackpoolCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', BrynderwynCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', ConnellsBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', CowesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', OneroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', OnetangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', OnetangiBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', OstendCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', PalmBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', RockyBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', SurfdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1240', WaihekeIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', AhuroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', AlgiesBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', CampbellsBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', GloritCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', HoteoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', KaiparaFlatsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', KawauIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', LeighCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', MahurangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', MatakanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', OmahaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', PohuehueCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', PointWellsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', SandspitCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', SnellsBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', TauhoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1241', 'Warkworth', '', ''); + ContosoNZPostCode.InsertPostCode('1242', PakiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1242', PortAlbertCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1242', TaporaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1242', TeHanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1242', TomarataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1242', WaybyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1242', 'Wellsford', '', ''); + ContosoNZPostCode.InsertPostCode('1243', PuhoiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1244', WaiweraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', 'Helensville', '', ''); + ContosoNZPostCode.InsertPostCode('1250', HuapaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', 'Kaukapakapa', '', ''); + ContosoNZPostCode.InsertPostCode('1250', 'Kumeu', '', ''); + ContosoNZPostCode.InsertPostCode('1250', LochNorrieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', MuriwaiBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', ParakaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', RiverheadCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', ShellyBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', SouthHeadCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', TePuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', 'Waimauku', '', ''); + ContosoNZPostCode.InsertPostCode('1250', WaitokiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', WhenuapaiAirForceBaseCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1250', WoodhillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', BayswaterCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', BelmontCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', CastorBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', CheltenhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', CrownHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', 'Devonport', '', ''); + ContosoNZPostCode.InsertPostCode('1309', ForrestHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', 'Milford', '', ''); + ContosoNZPostCode.InsertPostCode('1309', SunnynookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', 'Takapuna', '', ''); + ContosoNZPostCode.InsertPostCode('1309', ThePalmsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', UnsworthHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', WairauIndustrialParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1309', WairauParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', 'Beach Haven', '', ''); + ContosoNZPostCode.InsertPostCode('1310', BirkdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', 'Birkenhead', '', ''); + ContosoNZPostCode.InsertPostCode('1310', ChatswoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', ChelseaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', 'Glenfield', '', ''); + ContosoNZPostCode.InsertPostCode('1310', HighburyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', HillcrestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', MarlboroughCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', NorthcoteCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1310', NorthcotePointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', 'Albany', '', ''); + ContosoNZPostCode.InsertPostCode('1311', AlbanyHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', 'Browns Bay', '', ''); + ContosoNZPostCode.InsertPostCode('1311', CampbellsBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', CoatesvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', DairyFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', EastCoastBaysCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', 'Greenhithe', '', ''); + ContosoNZPostCode.InsertPostCode('1311', LongBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', 'Mairangi Bay', '', ''); + ContosoNZPostCode.InsertPostCode('1311', MurraysBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', NorthHarbourCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', NorthcrossCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', OkuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', ParemoremoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', RedvaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', RothesayBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1311', 'Torbay', '', ''); + ContosoNZPostCode.InsertPostCode('1311', WaiakeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1461', HatfieldsBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1461', HibiscusCoastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1461', 'Orewa', '', ''); + ContosoNZPostCode.InsertPostCode('1461', 'Red Beach', '', ''); + ContosoNZPostCode.InsertPostCode('1462', SilverdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1462', StillwaterCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', ArklesBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', ArmyBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', GulfHarbourCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', LittleManlyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', ManlyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', StanmoreBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', TindallsBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1463', WhangaparaoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', EastTamakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', FlatBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', HuntersCornerCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', MangereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', MangereBridgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', MangereEastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', OtaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1701', PapatoetoeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1702', ClendonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1702', ClendonParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1702', 'Clendon Town', '', ''); + ContosoNZPostCode.InsertPostCode('1702', ConiferGroveCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1702', 'Manukau City', '', ''); + ContosoNZPostCode.InsertPostCode('1702', ManukauHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1702', 'Manurewa', '', ''); + ContosoNZPostCode.InsertPostCode('1702', 'Takanini', '', ''); + ContosoNZPostCode.InsertPostCode('1702', TotaraHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1702', WeymouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1702', WiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1703', 'Papakura', '', ''); + ContosoNZPostCode.InsertPostCode('1703', PapakuraCampCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1703', PapakuraEastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1703', RedHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1704', 'Bucklands Beach', '', ''); + ContosoNZPostCode.InsertPostCode('1704', CockleBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1704', EasternBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1705', 'Beachlands', '', ''); + ContosoNZPostCode.InsertPostCode('1705', EastTamakiHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1705', HighlandParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1705', 'Howick', '', ''); + ContosoNZPostCode.InsertPostCode('1705', MaraetaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1705', 'Maraetai Beach', '', ''); + ContosoNZPostCode.InsertPostCode('1706', FarmCoveCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1706', HalfMoonBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1706', 'Pakuranga', '', ''); + ContosoNZPostCode.InsertPostCode('1706', PakurangaHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', AlfristonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', ArdmoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', ArdmoreAirfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', BrookbyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', 'Clevedon', '', ''); + ContosoNZPostCode.InsertPostCode('1750', DruryCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', HunuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', KarakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', KawakawaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', KingseatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', NessValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', OpahekeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', OrereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', OrerePointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', PaparimuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1750', WhitfordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1800', BucklandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1800', PukekoheCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1850', BombayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1850', MaukuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1850', PaparataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1850', PatumahoeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1850', RamaramaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', AkaAkaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', ClarksBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', GlenbrookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', OtauaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', PollokCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', PuniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', TeToroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', WaiauPaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', WaipipiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1852', WaiukuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1853', MatakawauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1870', KaiauaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1871', MercerCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1872', KopukuLandingCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('1872', MangatangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1872', MaramaruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1872', PokenoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1873', MeremereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1890', PortWaikatoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1891', OnewheroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1892', GlenMurrayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1892', PukekawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1892', TauranganuiPaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1892', TeKohangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('1892', TuakauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', BeerescourtCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', BryantParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', ChartwellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', ChedworthParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', ClaudelandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', DinsdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', EnderleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', FairfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', FairviewDownsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', FitzroyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', FlagstaffCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', ForestLakeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', FranktonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', GlenviewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', HamiltonCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('2001', HamiltonEastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', HillcrestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', HorshamDownsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', MaeroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', MelvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', NawtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', PuketeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', QueenwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', RototunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', SilverdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', StAndrewsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', TeRapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2001', WhitioraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', EurekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', HorotiuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', NewsteadCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', PuketahaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', TamahereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', TauwhareCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', TeKowhaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2021', TePahuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2050', GordontonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2050', HinueraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2050', TeUkuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2050', TempleViewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2050', WhatawhataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2051', OketeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2051', RaglanCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2051', TeMataHamiltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2152', TeKauwhataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2152', WaerengaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2152', WaingaroTeKauwhataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2170', OriniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2170', TeAkauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2171', HopuhopuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2171', NgaruawahiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2171', TaupiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2171', WaingaroNgaruawahiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2190', HuntlyWestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2190', NaikeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2190', RotowaroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2191', GlenMasseyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2191', HuntlyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2191', PukekapiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2191', PukemiroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2191', RotongaroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2191', WaikaretuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2192', OhinewaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2192', WaiterimuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2250', HoeOTainuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2250', PatetongaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2250', TahunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2250', TatuanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2251', KereoneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2251', KiwitahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2251', MangateparuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2251', MorrinsvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2251', MotumaohoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2251', TauheiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2270', TePoiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2271', MatamataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2272', WaharoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2272', WardvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2273', WaltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2350', KarapiroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2350', KarapiroHydroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2350', LeamingtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', BruntwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', CambridgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', FencourtCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', HautapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', KaipakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', MonavaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', PukemoremoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', PukeroroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', RotoorangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', TeMiroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2351', WhitehallCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2370', ArapuniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2371', LichfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2371', PuketuruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2371', PutaruruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2371', WaotuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2372', OkoroireCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2372', TirauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2391', MangakinoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2391', TihoiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2391', WhakamaruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2392', KinleithCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2392', ParaonuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2392', TokoroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2392', TokoroaWestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2392', WiltsdownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', KiripakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', MataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', MatapouriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', MaungakarameaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', MaungatapereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', McLeodBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', NgunguruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', OtaikaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', PakotaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', ParakaoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', ParuaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', PortlandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', RototunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', SherwoodRiseCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', TapuhiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', TaurikuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', TitokiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', WaikiekieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', WaiotiraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('240', WhatitiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2400', PukeatuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2400', TeAwamutuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2430', KihikihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2450', PirongiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2451', KawhiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2451', TeMaikaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2452', OhaupoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2453', OparauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2456', WaikeriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('250', MarsdenPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('250', RuakakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('250', RuakakaBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2500', MarokopaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2500', PureoraForestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2500', TeAngaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2500', TeKuitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('251', HikurangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('251', TowaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('251', WhakaparaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('251', WhananakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('251', WhangaruruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('252', HaruruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('252', PaihiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('252', WaitangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('254', LangsBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('254', WaipuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('255', JacksBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('255', OteheiBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('255', RussellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('255', TapekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('255', WhangamumuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2551', AriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2552', BenneydaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2552', PuketutuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2553', MahoenuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2555', MangaotakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2555', PiopioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2560', TaharoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2564', KiokioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2564', MaihihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2564', OtewaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2564', OtorohangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2564', RewarewaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2566', HangatikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2566', WaitomoCavesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2600', ManunuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2600', TaumarunuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2650', KakahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2650', PiriakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2652', MatiereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2653', NationalParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2654', OhuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2654', TatuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2655', OngarueCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2656', OwhangoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2657', TokirimaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2658', WaimihaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2730', BroadlandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2730', IwitahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2730', RangitaikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2730', RotokawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2730', TaupoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2730', TwoMileBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2730', WaipahihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2735', HukaVillageCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2736', AcaciaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2736', HatepeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2736', KinlochCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2736', WaitahanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2737', WairakeiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2737', WairakeiVillageCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2750', MotuoapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2750', TeRangiitaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2750', TongariroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2751', HautuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2751', PukawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2751', RangipoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2751', TurangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2752', TokaanuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2801', ThamesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', HikuaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', KauerangaValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', KopuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', MatatokiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', PauanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', PauanuiBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', PuririCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', TapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', TararuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', TeMataThamesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', TePuruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', ThorntonBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', TotaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', TuruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', WaikawauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', WaiomuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2821', WaitakaruruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2850', ColvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2850', CooksBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2850', CoroglenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2850', HaheiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2850', HotWaterBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', AmodeoBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', CoromandelCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', KennedyBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', KoputauakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', PapaarohaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', PortCharlesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', TeKoumaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2851', WhangapouaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2852', NgateaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2853', TairuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2853', WhenuakiteCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2856', KuaotunuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2856', MercuryBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2856', OpitoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2856', WhitiangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('290', OpuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('291', KaretuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('291', KawakawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('291', MaromakuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('291', MotatauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('291', OtiraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('291', WaiomioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('292', MoerewaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2950', HikutaiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2950', KerepehiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2951', AwaitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2951', KarangahakeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2951', MackaytownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2951', NethertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2951', PaeroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2971', ElstowCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2971', TeArohaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2972', ManawaruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2972', WaihouCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2973', NgaruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2973', SpringdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2973', WaitoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2980', WaihiBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2980', WaikinoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2981', GoldenValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2981', OpoutereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2981', WaihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2981', WaitawhetaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2982', OnemanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2982', WhangamataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2982', WhiritoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('2982', WhiritoaBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', AoroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', ArangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', ArapohueCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', AratapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', DargavilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', DonnellysCrossingCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', EvansCampCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', HoangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', KaihuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', KirikopuniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', MamaranuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', MangawhareCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', MititaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', MountWesleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', MukaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', OkahuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', OneteaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', OtimaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', ParoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', PoutuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', RipiriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', ScollsLandingCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', TangowahineCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', TokatokaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', TuriwiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', TutamoeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', WaihueCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', WaipouaForestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', WekawekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('300', WhatoroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', BellevueCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('3001', BethlehemCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', BrookfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', CherrywoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', GatePaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', GreertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', HairiniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', JudeaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', MatuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', MaungatapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', OtumoetaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', ParkvaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', PoikeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', TaurangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', TaurangaCentralCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', TeRetiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', WelcomeBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3001', WindermereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3002', AratakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3002', BayfairCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3002', MatapihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3002', MountMaunganuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3002', TeMaungaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3003', PapamoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3003', PapamoaBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3003', PapamoaDomainCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', KaimaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', KaitemakoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', MindenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', OhauitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', OmokoroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', OropiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', PohoiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', PyesPaSchoolCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', TannersPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', TaurikoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', TePunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3021', WhakamaramaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3050', MatakanaIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3051', OmokoroaBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3063', AthenreeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3063', BowentownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3063', KatikatiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3070', MaketuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3070', PaengaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3070', PongakawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3070', PukehinaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3071', TePukeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3075', KawerauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', AwakeriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', KopeopeoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', OnepuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', OpouriaoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', OtakiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', PiripaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', PoroporoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', RuatokiNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', ThorntonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3080', WhakataneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3082', EdgecumbeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3084', MatataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3085', OhopeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3085', OhopeBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3085', PortOhopeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3086', TaneatuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3087', TeTekoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3088', WaimanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3090', CapeRunawayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3090', OmaioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3090', WaihauBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3091', KutarereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3092', OmarumutuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3092', OpapeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3092', OpotikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3092', PaerataRidgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3092', WaiotahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3093', TeKahaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', FentonParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', FordlandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', GlenholmeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', HannahsBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', HillcrestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', HoldensBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', KawahaPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', KoutuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', LynmoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', MangakakahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', NgapunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', OhinemutuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', OwhataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', PleasantHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', PomareCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', PukehangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', RainbowSpringsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', RotoruaCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('3201', RotoruaWestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', SelwynHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', SpringfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', SunnybrookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', TeNgaeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', TihiotongaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', UtuhinaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', WesternHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3201', WhakarewarewaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3202', NgongotahaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', BlueLakeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', GisbornePointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', HorohoroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', KaharoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', LakeTaraweraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', NgakuruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', RerewhakaaituCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', TikitereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', WaikiteCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3221', WaipaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3250', LakeOkarekaCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('3250', LakeRotoitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3250', LakeRotomaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3250', MamakuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3250', MoureaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3250', OkereFallsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3250', RotoehuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3250', RotoitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3270', MinginuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3270', RuatahunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3271', KaingaroaForestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3272', GalateaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3272', MuruparaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3291', AtiamuriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3292', ReporoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('350', BaylysBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('351', TangiteroriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('356', TeKopuruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3801', AwapuniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3801', ElginCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3801', GisborneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3801', KaitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3801', MangapapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3801', TeHaparaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3801', WhataupokoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3821', MakarakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3821', WhangaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3850', HicksBayCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('3850', TePuiaSpringsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3850', TikitikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3850', WaipiroBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3851', RuatoriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3852', TeAraroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3853', TokomaruBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3854', TolagaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3870', MatawaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3870', MotuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3870', OrmondCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3871', TeKarakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3871', WhatatutuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3890', TinirotoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3890', WaerengaokuriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3891', ManutukeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3891', MorereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3892', NgatapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('3892', PatutahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', HokiangaHarbourCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', KaikoheCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', MairiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', MatarauaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', MautawhereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', NgawhaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', NgawhaSpringsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', OhaeawaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', OmanaiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', OtahaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', OtauaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', PakanaeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', PakarakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', PunakitereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', PureruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', TautoroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', TeIringaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', WaimaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('400', WaimateNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', AhuririCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', AwatotoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', BluffHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', GreenmeadowsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', HospitalHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', JervoistownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', MaraenuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', MarewaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', MeeaneeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', NapierCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('4001', OnekawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', PirimaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', TamateaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', TaradaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', TeAwaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4001', WestshoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4021', AropaonuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4021', EskdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4021', PuketitiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4021', RissingtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4021', TePohueCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4021', WaikoauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4021', WaiohikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4121', MoteoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4121', PakowhaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4121', PatokaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4121', PuketapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4150', KotemaoriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4150', PutereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4150', PutorinoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4150', RaupungaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4150', TeHarotoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4150', TutiraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4151', BayViewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4152', CliveCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4170', ElsthorpeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4170', OmakereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4170', OngaongaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4170', OtaneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4170', TikokinoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4170', WaipawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', AshleyClintonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', KopuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', MakaretuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', PorangahauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', TakapauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', WaipukurauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', WansteadCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4176', WhenuahouCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', AwamateCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', FrasertownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', KihituPaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', LakeWaikaremoanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', MahiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', MahiaBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', NorthClydeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', NuhakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', OpoutamaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', TeReingaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', TuaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', TuharaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', WaihuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', WairoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4192', WhakakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', AkinaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', CamberleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', FlaxmereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', FrimleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', HastingsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', HavelockNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', MahoraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', MayfairCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', PakipakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', RaurekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', StLeonardsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', StortfordLodgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4201', TomoanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', BridgePaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', CrownthorpeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', LonglandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', MangatahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', MangateretereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', MaraetotaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', OpapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', PoukawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', PukehouCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', RoysHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', SherendenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', TeHaukeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', TwyfordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', WaimaramaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', WaipatuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4221', WaiwhareCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4250', FernhillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4250', HaumoanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4250', TeAwangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4250', WhakatuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('450', TahekeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('452', OmapereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('452', OpononiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('452', RaweneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('452', WaimamakuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', HorekeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', MangamukaBridgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', MatauriBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', OkaihauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', RahiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', RangiahuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', SettlesWayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', UmaweraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('455', WaitarukeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', BellBlockCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('4601', BrooklandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', FerndaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', FitzroyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', FrankleighParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', GlenAvonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', HighlandsParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', LynmouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', MarfellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', MerrilandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', MoturoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', NewPlymouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', SpotswoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', StrandonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', VogeltownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', WelbournCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4601', WestownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4650', AwakinoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4650', LeppertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4650', MokauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4650', OakuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4651', EgmontVillageCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4651', InglewoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4651', TarataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4651', TarikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4652', OkatoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4655', UrenuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4655', UrutiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4656', TikorangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4656', WaitaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4657', ElthamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4657', MangamingiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('470', DoresBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('470', KerikeriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('470', TeTiiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('470', WaipapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4700', DouglasCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('4700', MountEgmontCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4700', StratfordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4700', TahoraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4700', WhangamomonaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('471', KaeoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('471', MatangirauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('471', SaiesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('471', TaurangaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('471', TotaraNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('471', WaihapaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('471', WhangaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4750', MidhirstCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4750', TeWeraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4753', KohuratahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4754', MakahuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4754', TokoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4800', AuroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4800', HaweraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4850', KapongaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4851', ManaiaCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('4851', OtakehoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4852', NormanbyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4853', MatapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4853', OkaiawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4854', OaonuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4854', OpunakeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4855', PungarehuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('4856', RahotuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', DiggersValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', HoneymoonValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', KaingaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', KaitaiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', LakeOhiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', NgatakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', OwhataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', PamapuriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', PaparoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', ParanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', ParaparaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', ParengaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', PeriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', PukenuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', PukepotoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', RangiputaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', SweetwaterCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', TakahueCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', TokerauBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('500', WaipapakauriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', AramohoCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('5001', BastiaHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', CastlecliffCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', DurieHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', GonvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', MosstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', SpringvaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', StJohnsHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', WanganuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5001', WanganuiEastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', BrunswickCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', JerusalemCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', KaiIwiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', KaiwhaikiPaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', KakatahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', KorinitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', LongAcreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', MangamahuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', MarybankCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', OkoiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', PipirikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', RapanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', UpokongaroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5021', WestmereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5150', FordellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5151', RatanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5151', WhangaehuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5152', TurakinaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5180', MaxwellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5180', MowhanauBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5180', WaitotaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5181', ManutahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5181', PateaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5181', WhenuakuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5182', WaverleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', AwapuniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', CloverleaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', FitzherbertCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', HokowhituCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', KelvinGroveCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', MilsonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', PalmerstonNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', RoslynCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', TakaroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', TerraceEndCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5301', WestEndCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', AokautereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', BainesseCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', GlenOrouaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', KairangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', LintonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', OpikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', RangiotuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5321', WhakarongoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5450', ClydesdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5450', LintonCampCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5450', OhakeaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5450', SansonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5450', TangimoanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5450', TokomaruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5450', WaitohiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5451', AshhurstCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5451', PohanginaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5452', BullsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5452', FlockHouseCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5452', SantoftCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5453', BunnythorpeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5454', LongburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5454', RongoteaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5455', HuntervilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5455', OhingaitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5455', PoukioreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5456', MangawekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', MakohineValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', MataroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', OmataneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', PapanuiJunctionCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', PukeokahuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', TaihapeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', UtikuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5457', WiniataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5458', WaiouruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5458', WaiouruMilitaryCampCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5460', BonnyGlenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5460', LakeAliceCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5460', MakirikiriSouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5460', MartonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5460', RataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5461', KarioiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5461', OhakuneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5461', OhakuneJunctionCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5462', RaetihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5470', KohinuiSchoolCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5470', MakuriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5470', MangamaireCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5470', MangaoneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5470', NikauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5470', PahiatuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5470', PongaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5473', HopelandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5473', WoodvilleCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('5480', EketahunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5480', PutaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5480', TiraumeaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', DannevirkeCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('5491', HerbertvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', MatamauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', MoteaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', NorsewoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', OrmondvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', TeRehungaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', UmutaoroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', WeberCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5491', WimbledonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('550', CapeReingaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('550', HouhoraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('550', MotutangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('550', PandoraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('550', TeHapuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('550', TeKaoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('550', WaihararaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', HeatherleaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', HokioBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', KoputaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', LevinCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', ManakauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', OhauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', WaitarereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5500', WeraroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('551', AhiparaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('551', HerekinoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('552', AwanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5551', FoxtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5551', FoxtonBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5551', HimatangiBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5555', ShannonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5560', OtakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5560', TeHoroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('557', CableBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('557', CoopersBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('557', MangonuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('557', OruaitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('557', OruruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('557', TaipaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', ApitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', CheltenhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', ColytonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', FeildingCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', HalcombeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', KimboltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', MountStewartCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', RangiwahiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', RewaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', RuahineCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', TaonuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', UtuwaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5600', WaitunaWestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('570', KohukohuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('570', PanguruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('570', PawarengaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('570', RangiPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('571', BroadwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('581', MaungaturotoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('581', WhakapirauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('582', KaiwakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('583', MangawhaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('583', TaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('584', MatakoheCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('584', TinopaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('585', PaparoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('585', TaipuhaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('586', NaumaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('586', RaupoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('586', RuawaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5901', MastertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', BidefordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', BlairlogieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', FernridgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', GladstoneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', HomewoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', IhurauaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', LongbushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', MatahiwiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', MauricevilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', MountBruceCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', TeOreoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5921', WhangaehuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5951', CartertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5951', ClarevilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5951', PonatahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5952', CapePalliserCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5952', FeatherstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5952', KahutaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5952', PirinoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5952', TauherenikauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5953', BatterseaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5953', GreytownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5953', WoodsideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5954', HinakuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5954', MartinboroughCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5970', CastlepointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5970', RiversdaleBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('5970', TinuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', HighlandParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', MountVictoriaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', OrientalBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', RoseneathCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', TeAroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', ThorndonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', WadestownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6001', WellingtonCity2Lbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('6002', AroValleyCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('6002', BerhamporeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', BrooklynCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', HappyValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', IslandBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', KingstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', KowhaiParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', MorningtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', MountCookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', NewtownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', OwhiroBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', VogeltownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6002', WellingtonSouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', BreakerBayCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('6003', EvansBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', HataitaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', HoughtonBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', KarakaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', KilbirnieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', LyallBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', MaupuiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', MelroseCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', MiramarCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', RongotaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', ScorchingBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', SeatounCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', ShellyBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', StrathmoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', StrathmoreParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6003', WorserBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', BroadmeadowsCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('6004', CashmereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', ChartwellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', ChurtonParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', CroftonDownsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', GlensideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', GrenadaNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', GrenadaVillageCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', JohnsonvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', KaiwharawharaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', KhandallahCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', NewlandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', NgaioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', NgaurangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', OhariuValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', PaparangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', RangoonHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6004', RaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', HighburyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', KaroriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', KelburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', MakaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', MakaraBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', MitchelltownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', NorthlandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6005', WiltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', AscotParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', CamborneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', CannonsCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', ElsdonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', GoldenGateCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', GreenacresCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', HongoekaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', JudgefordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', KarehanaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', LindenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', LindenvaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', ManaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', OnepotoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', PapakowhaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', ParemataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', PauatahanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', PlimmertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', PoriruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', PoriruaEastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', RanuiHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', RedwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', SundaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', TakapuwahiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', TawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', TitahiBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', WaitangiruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6006', WhitbyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', AkatarawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', BirchvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', BlueMountainsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', BrownOwlCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', HeretaungaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', KaitokeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', KingsleyHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', MangaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', MaoribankCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', MaymornCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', MoonshineCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', PinehavenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', SilverstreamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', TeMaruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', ThePlateauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', TimberleaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', TotaraParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', TrenthamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', UpperHuttCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', WallacevilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6007', WhitemansValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', AlicetownCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('6008', ArakuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', AvaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', DaysBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', EastbourneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', HomedaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', HorokiwiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', KorokoroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', LowryBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', MahinaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', MaungarakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', MuritaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', PetoneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', PointHowardCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', RonaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', SeaviewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', SorrentoBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', StokesValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', SunshineBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', WainuiomataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6008', YorkBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', AvalonCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('6009', BelmontCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', BoulcottCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', EpuniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', FairfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', GracefieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', HarbourViewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', HaywardsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', KelsonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', LowerHuttCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', ManorParkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', MoeraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', NaenaeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', NormandaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', ParkAvenueCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', PomareCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', TaitaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', TirohangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', WaiwhetuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', WaterlooCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', WingateCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6009', WoburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', KenakenaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', OtaihangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', PaekakarikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', ParaparaumuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', ParaparaumuBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', PekapekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', PukeruaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', RaumatiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', RaumatiBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', RaumatiSouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', ReikorangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', WaikanaeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('6010', WaikanaeBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', AnnesBrookCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('7001', AtawhaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', BishopdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', BritanniaHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', BrooklandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', EnnerGlynnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', MaitaiValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', MaitlandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', MoanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', MonacoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', NaylandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', NelsonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', NelsonEastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', NelsonSouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', NgawhatuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', PortNelsonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', StokeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', TahunanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', TheWoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', ToiToiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', WashingtonValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7001', WhakatuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7002', HopeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7002', RichmondCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7021', HiraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7021', TheGlenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7021', ToddsValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7021', WakapuakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7031', AniseedValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7031', ApplebyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7031', BestsIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7031', RedwoodsValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7151', BrightwaterCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7152', LowerMoutereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7152', TasmanCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7152', UpperMoutereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7154', CanvastownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7154', HavelockCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7154', NydiaBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7155', MapuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7156', FrenchPassCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7156', RaiValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7160', KaiteriteriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7160', MarahauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7160', NgatimotiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7160', RiwakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7160', WoodstockCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7161', MotuekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7171', BainhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7171', CollingwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7171', FerntownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7171', PupongaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7171', RockvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', GoldenBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', HamamaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', KotingaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', PatonsRockCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', RangihaeataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', TakakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', TarakoheCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7172', UpperTakakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7180', KorereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7180', MotupikoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7180', StArnaudCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', BelgroveCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', KohatuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', MatarikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', PigeonValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', TadmorCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', TapaweraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', ThorpeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', WaiitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7181', WakefieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7190', MaruiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7191', LongfordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7191', MurchisonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7191', OwenRiverCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7191', RotoroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7191', SixMileCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7191', TutakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7301', BlenheimCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7301', LowerWairauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7301', RedwoodVillageCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7301', RiverlandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7301', SpringlandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7321', AwatereValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7321', FairhallCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7321', GrovetownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7321', RapauraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7321', WairauValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7350', KekerenguCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7350', SpringCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7350', TuamarinaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7350', WardCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7352', RenwickCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7353', SeddonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7354', WoodbourneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7354', WoodbourneAirForceBaseCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', AnakiwaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', EastBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', KenepuruSoundCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', KoromikoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', LochmaraBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', MomorangiBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', PictonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', QueenCharlotteSoundCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', RarangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7372', WaikawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7601', WestportCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', BullerGorgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', CapeFoulwindCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', CartersBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', FairdownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', GranityCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', HectorCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', MillertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', SergeantsHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7621', TeKuhaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', ArapitoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', BirchfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', CharlestonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', InangahuaJunctionCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', KarameaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', KongahuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', MarketCrossCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', MokihinuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', NgakawauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', NikauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', SeddonvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7650', WaimangaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7801', BlaketownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7801', CobdenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7801', GreymouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', BoddytownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', CoalCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', KaiataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', KaroroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', KokiriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', RapahoeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', SouthBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', StillwaterCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7821', TaylorvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', AhauraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', AtarauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', BarrytownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', BlackballCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', CameronsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', IkamatuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', MawheraitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', NgahereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', PunakaikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7850', TotaraFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7852', BellHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7852', DobsonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7853', WaipunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7854', DunollieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7854', RunangaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7870', AickensCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7870', JacksonsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7870', MoanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7870', ParoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7870', RotomanuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7870', ShantyTownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7900', ArahuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7900', HokitikaCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('7900', KokatahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7900', KowhitirangiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7900', RimuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7900', RuatapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7900', WoodstockCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7950', BruceBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7950', HaastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7950', JacksonBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7950', KaniereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7950', LakeParingaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7950', PukekuraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7951', FoxGlacierCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7952', FranzJosefCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7953', HarihariCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('7954', RossCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('7955', WhataroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', ChristchurchCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('8001', EdgewareCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', LinwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', MairehauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', MerivaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', PhilipstownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', RichmondCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', ShirleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8001', StAlbansCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', AddingtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', BarringtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', BeckenhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', CashmereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', FerrymeadCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', HeathcoteValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', HillmortonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', HillsboroughCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', HoonHayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', HuntsburyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', MiddletonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', MurrayAynsleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', OpawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', SomerfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', SpreydonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', StMartinsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', SydenhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', WalthamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', WestmorlandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8002', WoolstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8003', HalswellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8003', OaklandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', AvonheadCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', BroomfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', HeiHeiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', HornbyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', IlamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', IslingtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', MashamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', RiccartonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', RollestonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', RussleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', SockburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', TempletonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', UpperRiccartonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', WigramCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8004', YaldhurstCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', BelfastCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', BishopdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', BryndwrCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', BurnsideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', CasebrookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', FendaltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', HarewoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', NorthcoteCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', PapanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', RedwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8005', StyxCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8006', AvonsideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8006', BromleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8006', BurwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8006', DallingtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8006', WainoniCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8007', AranuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8007', AvondaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8007', BexleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8007', NewBrightonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8007', SouthNewBrightonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8007', SouthshoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', BalmoralHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', CliftonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', MoncksBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', MoncksSpurCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', MountPleasantCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', RedcliffsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', RichmondHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', StAndrewsHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', SumnerCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8008', TaylorsMistakeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', BrooklandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', KaingaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', MarshlandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', NorthNewBrightonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', OuruhiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', ParklandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', SpencervilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', StewartsGullyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8009', WaimariBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8012', LytteltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8021', BroadfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8021', IrwellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8021', WeedonsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8021', WestMeltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8030', ChathamIslandsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8030', DiamondHarbourCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8030', PittIslandChathamIsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8030', WaitangiChathamIsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8033', GovernorsBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', AtaahuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', DoylestonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', GreenparkCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', LadbrooksCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', LansdowneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', LincolnUniversityCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', MotukararaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', SouthbridgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', SpringstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8150', TaitapuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8151', BrooksideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8151', LeestonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8152', LincolnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8153', PrebbletonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8160', DuvauchelleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8161', AkaroaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8161', LittleAkaloaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8161', OkainsBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8161', PigeonBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8162', LittleRiverCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8170', DillmanstownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8170', GlentunnelCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8170', KirweeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8170', KowaiBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8170', SpringfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8171', CoalgateCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8172', DarfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8172', HororataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8172', KimberleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8172', LakeColeridgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8172', RacecourseHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8173', SheffieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8175', ArthursPassCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8175', KumaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8175', OtiraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8190', DunsandelCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8191', BurnhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8191', BurnhamCampCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8250', CouttsIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8250', TuahiwiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8251', AmberleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8251', LeithfieldBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8252', KaiapoiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8252', KairakiBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8252', OhokaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8252', PinesBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8253', OxfordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8254', LoburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8254', RangioraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8254', SeftonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8254', SouthbrookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8254', WaikukuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8254', WaikukuBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8255', WoodendCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8270', GretaValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8270', RotherhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8270', SpringsJunctionCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8270', WaiparaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8271', CheviotCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8271', ParnassusCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8272', CulverdenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8273', HanmerSpringsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8274', HawardenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8275', WaiauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8276', WaikariCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8277', CustCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8280', ClarenceCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8280', KaikouraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8290', ReeftonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', AllentonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', AshburtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', FairtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', LauristonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', RiversideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', SeafieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', SherwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', WakanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', WesterfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', WillowbyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', WinchmoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8300', WinslowCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8330', TinwaldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8350', ChertseyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8351', EalingCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8351', HindsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8351', LismoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8352', AnamaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8352', MayfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8353', AlfordForestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8353', HighbankCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8353', MethvenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8354', MountSomersCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8354', SpringburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8355', DorieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8355', RakaiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', CarolineBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', GlenitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', GlenwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', HighfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', MaoriHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', MarchwielCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', RedruthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', TimaruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8601', WaimataitaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8602', WashdykeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', FairviewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', GordonsValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', HadlowCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', KerrytownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', KingsdownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', LevelsValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', MaungatiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', OtaioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', OtipuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', RosewillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', SeadownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8621', TaikoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8750', OrariCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8750', PeelForestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8750', WinchesterCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8751', ArundelCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8751', GeraldineCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8751', PleasantValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8751', RangitataGorgeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8751', WoodburyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8752', HiltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8752', TemukaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8770', AlburyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8770', CanningtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8770', CaveCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8770', LakeTekapoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8770', MonavaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8770', MountCookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8771', AshwickFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8771', BurkePassCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8771', CattleValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8771', ClaytonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8771', FairlieCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8771', SherwoodDownsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8772', OpihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8772', PleasantPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8773', LakeOhauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8773', TwizelCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8790', BlueCliffsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8790', MakikihiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8790', PareoraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8790', StAndrewsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', DeepCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', GlenavyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', IkawaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', MorvenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', StudholmeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', TawaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', UretaneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', WaihaoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', WaihaorungaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', WaikakahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', WaimateCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8791', WaitunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8901', OamaruCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8901', WaiarekaJunctionCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8901', WestonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', ArdgowanCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', CorriedaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', DeborahCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', EnfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', FuchsiaCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', HerbertCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', KakanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', KiaOraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', MahenoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', NgaparaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', PapakaioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', PeeblesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', PukeuriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', ReidstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', TapuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', TotaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8921', WaianakaruaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8950', DuntroonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8950', HampdenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8950', OmaramaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8950', OtematataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8951', CattleCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8951', HakaValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8951', HakatarameaValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8951', KurowCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8951', LakeAviemoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('8951', LakeWaitakiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', AndersonsBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', BalaclavaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', BelleknowesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', BradfordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', BrockvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', CavershamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', CorstorphineCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', DalmoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', DunedinCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', DunedinNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', GlenleithCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', HalfwayBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', HelensburghCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', HighcliffCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', KaikoraiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', KenmureCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', KensingtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', KewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', LibertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', LookoutPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', MaoriHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', MaryhillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', MorningtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', MusselburghCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', NormanbyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', NorthEastValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', OceanGroveCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', OpohoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', PineHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', RoslynCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', ShielHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', SouthDunedinCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', StClairCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', StKildaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', TainuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', VauxhallCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', WakariCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', WaverleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9001', WoodhaughCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9002', MaiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9002', RavensbourneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9002', StLeonardsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9003', CompanyBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9003', MacandrewBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9004', BroadBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9004', PortobelloCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9005', AramoanaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9005', CareysBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9005', PortChalmersCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9005', PurakanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9006', AbbotsfordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9006', BurnsideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9006', ConcordCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9006', FairfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9006', GreenIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9006', WaldronvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9007', EastTaieriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9007', MosgielCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9007', WingatuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9008', RoseneathCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9008', SawyersBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9021', HarwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9021', OtakouCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9021', PukehikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9032', AllantonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9032', RiversideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9051', BrightonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9051', OceanViewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9051', TaieriMouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9051', WestwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9055', HenleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9055', HindonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9055', MomonaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9055', OutramCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9055', WaiporiFallsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9056', CottesbrookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9056', MiddlemarchCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9057', WaiholaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9060', MountCargillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9060', WaitatiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9061', DunbackCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9061', InchValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9061', MacraesFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9061', PalmerstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9061', PleasantValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9061', ShagValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9063', EvansdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9063', FlagSwampCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9063', SeacliffCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9063', WaikouaitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9064', KaritaneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9065', WarringtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9071', GimmerburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9071', HydeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9071', KyeburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9071', NasebyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9071', PatearoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9071', RanfurlyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9071', WaipiataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9072', WedderburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9153', BeaumontCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9153', BlueSpurCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9153', LawrenceCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9153', TuapekaWestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9153', WaitahunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9154', EttrickCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9155', CrookstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9155', HeriotCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9155', MoaFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9155', TapanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9156', DumbartonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9156', RoxburghCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9157', MillersFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9180', ClydeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9181', AlexandraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9181', GallowayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9181', OphirCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9181', ShingleCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9182', BecksCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9182', LauderCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9182', OmakauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9183', IdaValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9183', OturehuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9183', PoolburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9190', TarrasCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9191', BannockburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9191', CromwellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9191', LuggateCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9191', RipponvaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', BeaconPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', CardronaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', HaweaFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', LakeHaweaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', LowerHaweaFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', MakaroraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', MakaroraWestCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9192', WanakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9196', ArrowtownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', ArrowJunctionCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('9197', ArthursPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', CoronetPeakSkiFieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', FranktonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', GibbstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', GlenorchyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', KelvinHeightsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', LakeHayesCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', LakeWakatipuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', LowerShotoverCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', QueenstownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9197', WakatipuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', BalcluthaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', BenharCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', ClydevaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', KaihikuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', KaitangataCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', KakaPointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', StirlingCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', StonyCreekCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', TeHoukaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', ToiroCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', TuapekaMouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', WaitepekaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', WarepaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9200', WharetoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', ChrystallsBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', ClarksvilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', GlenlediCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', GlenoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', HelensbrookCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', LovellsFlatCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', MilburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', MiltonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', MoneymoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', TableHillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9250', TokoitiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9251', HinahinaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9251', KateaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9251', MaclennanCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9251', OwakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9251', PounaweaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9252', AshleyDownsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9252', ClintonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9252', KuriwaoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9252', PopotunoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9252', WaiweraSouthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', AvenalCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', CliftonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', GeorgetownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', GladstoneCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', GlengarryCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', GrasmereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', HawthorndaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', InvercargillCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', KewCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', KingswellCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', NewfieldCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', RosedaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', TisburyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', WaikiwiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', WaverleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9501', WindsorCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9502', WallacetownCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9503', BluffCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', GlencoeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', GreenhillsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', GreenpointCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', HedgehopeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', KenningtonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', LornevilleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', MabelBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', MakarewaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', MakarewaJunctionCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', MokutuaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', MortonMainsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', MyrossBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', NorthopeCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', OceanBeachCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', OporoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', OtataraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', OteramikaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', RoslynBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', TaramoaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', UnderwoodCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', WaianiwaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', WaimahakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', WaitunaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', WestPlainsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9521', WoodendCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9530', StewartIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9650', ThornburyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9651', NightcapsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9652', OhaiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', AparimaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', BlackmountCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', DrummondCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', EasternBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', IslaBankCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', OpioCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', OrawiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', OtautauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9653', WreysBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9654', ColacBayCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9654', ErmedaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9654', FlintsBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9654', OrepukiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9654', RivertonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9654', WaipangoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9655', LillBurnValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9655', PapatotaraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9655', PikopikoCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9655', TuatapereCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', AtholCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', CarolineValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', DiptonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', GarstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', KingstonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', LimehillsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', ManapouriCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9660', MossburnCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9661', FiveRiversCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9661', LumsdenCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9661', ParawaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9662', CentreBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9662', HeddonBushCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9662', HokonuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9662', SouthHillendCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9662', WintonCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9671', QuarryHillsCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9671', TokanuiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9671', WaikawaValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9681', CentreHillCityLbl, CreateCountryRegion.NZ(), ''); + ContosoNZPostCode.InsertPostCode('9681', MilfordSoundCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9681', TeAnauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9681', TheKeyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9690', EdendaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9690', MatauraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9690', WyndhamCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', GoreCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', KaiweraCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', McNabCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', PukerauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', TuturauCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', WaikoikoiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', WaimumuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9700', WaipahiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9751', BalfourCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9754', LongridgeNorthCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9754', RiversdaleCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9754', WaipounamuCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9754', WendonValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9754', WendonsideCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9755', WaikaiaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9756', WaikakaCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9756', WaikakaValleyCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9758', MatauraIslandCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('9758', WaiarikikiCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AU-2000', SydneyCityLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoNZPostCode.InsertPostCode('AU-2500', WollongongCityLbl, CreateCountryRegion.AU(), 'NSW'); + ContosoNZPostCode.InsertPostCode('AU-3000', MelbourneCityLbl, CreateCountryRegion.AU(), 'VIC'); + ContosoNZPostCode.InsertPostCode('AU-4000', BrisbaneCityLbl, CreateCountryRegion.AU(), 'QLD'); + ContosoNZPostCode.InsertPostCode('AU-6800', PerthCityLbl, CreateCountryRegion.AU(), 'WA'); + ContosoNZPostCode.InsertPostCode('AU-7178', MurdunnaCityLbl, CreateCountryRegion.AU(), 'TAS'); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1015', AUCKLANDMAILCENTRECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', AUCKLANDCENTRALCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', BALMORALCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', DOMINIONROADCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', DOWNTOWNAUCKLANDCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', EPSOMCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'GREENWOODS CORNER', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'GREY LYNN', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'HERNE BAY', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'KINGSLAND', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'MOUNT ALBERT', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'MOUNT EDEN', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'MOUNT ROSKILL', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', MOUNTROSKILLSOUTHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'OWAIRAKA', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', 'POINT CHEVALIER', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', ROYALOAKCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', SANDRINGHAMCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1030', STLUKESCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1031', 'NEWMARKET', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1032', 'NEWTON', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1033', 'PARNELL', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1034', 'PONSONBY', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1035', SYMONDSSTREETCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1036', WELLESLEYSTREETCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', CENTRALPARKCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', GLENNINNESCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', GREENLANECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', MARKETROADCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', MEADOWBANKCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', MISSIONBAYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', MOUNTWELLINGTONCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', ORAKEICityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1130', STHELIERSCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1131', ELLERSLIECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1132', ONEHUNGACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1132', PANMURECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1133', OTAHUHUCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1135', PENROSECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1136', REMUERACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', 'AVONDALE', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', BLOCKHOUSEBAYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', EDMONTONCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', GLENEDENCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', GLENDENECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', GREENBAYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', LINCOLNNORTHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', RANUICityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', ROSEBANKCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', ROYALHEIGHTSCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', SWANSONCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', TEATATUCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', TITIRANGICityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1230', WESTPARKMARINACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1231', HENDERSONCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1232', NEWLYNNCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1241', WARKWORTHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1242', WELLSFORDCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1250', HELENSVILLECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1250', KAUKAPAKAPACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1250', KUMEUCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1250', WAIMAUKUCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1250', WAITAKERECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1250', WHENUAPAICityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', BEACHHAVENCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', BIRKENHEADCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', BROWNSBAYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', DEVONPORTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', GLENFIELDCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', MAIRANGIBAYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', MILFORDCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', NORTHSHOREMAILCENTRECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', 'NORTHCOTE', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1330', TORBAYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1331', ALBANYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1332', TAKAPUNACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1450', GREENHITHECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1461', OREWACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1461', REDBEACHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1462', 'SILVERDALE', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1463', 'WHANGAPARAOA', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', AUCKLANDINTERNATIONALAIRPORTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', BEACHLANDSCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', BUCKLANDSBEACHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', CLENDONTOWNCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', GREENMOUNTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', 'HIGHLAND PARK', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', HOWICKCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', 'MANGERE', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', 'MANGERE BRIDGE', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', 'MANGERE EAST', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', MANUKAUCITYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', MANUREWACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', MARAETAIBEACHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', 'OTARA', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', PAKURANGACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', PAPAKURACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', 'PAPATOETOE', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', PAPATOETOESOUTHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', SOUTHAUCKLANDMAILCENTRECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1730', TAKANINICityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1750', CLEVEDONCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1750', 'DRURY', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1750', 'WHITFORD', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1800', 'PUKEKOHE', '', ''); + ContosoNZPostCode.InsertPostCode('AUCKLAND 1850', 'BOMBAY', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8015', CHRISTCHURCHMAILCENTRECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'ADDINGTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'ARANUI', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'BARRINGTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'BECKENHAM', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'BELFAST', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'BISHOPDALE', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', CHRISTCHURCHAIRPORTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'DIAMOND HARBOUR', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'EDGEWARE', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'FENDALTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'HALSWELL', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'HORNBY', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'ILAM', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'LINWOOD', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', LINWOODCITYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'MERIVALE', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'MILTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'NEW BRIGHTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', NORTHAVONCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'PAPANUI', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'PARKLANDS', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', PHILLIPSTOWNCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'RICHMOND', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'SHIRLEY', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'SOCKBURN', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'SUMNER', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'TEMPLETON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'UPPER RICCARTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', VICTORIASTREETCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8030', 'WOOLSTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8031', ARMAGHCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8032', HIGHSTREETCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8033', 'LYTTELTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8034', 'RICCARTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8035', 'SYDENHAM', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8150', 'ROLLESTON', '', ''); + ContosoNZPostCode.InsertPostCode('CHRISTCHURCH 8161', 'AKAROA', '', ''); + ContosoNZPostCode.InsertPostCode('GB-B27 4KT', BirminghamCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-B31 2AL', BirminghamCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-B32 4TF', SparkhillBirminghamCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-B68 5TT', BromsgroveCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-BA24 6KS', BathCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-BR1 2ES', BromleyCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-BS3 6KL', BristolCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-CB3 7GG', CambridgeCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-CF22 1XU', CardiffCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-CT6 21ND', HytheCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-CV6 1GY', CoventryCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-DA5 3EF', SidcupCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-DY5 4DJ', DudleyCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-E12 5TG', EdinburghCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-EH16 8JS', EdinburghCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-GL1 9HM', GloucesterCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-GL78 5TT', CheltenhamCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-GU3 2SE', GuildfordCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-GU7 5GT', GuildfordCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-HG1 7YW', RiponCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-HP43 2AY', TringCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-IB7 7VN', GainsboroughCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-L18 6SA', LiverpoolCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-LE16 7YH', LeicesterCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-LL6 5GB', RhylCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-LN23 6GS', LincolnCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-LU3 4FY', LutonCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-M61 2YG', ManchesterCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-ME5 6RL', MaidstoneCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-MK21 7GG', BletchleyCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-MK41 5AE', BedfordCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-MO2 4RT', ManchesterCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-N12 5XY', LondonCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-N16 34Z', LondonCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-NE21 3YG', NewcastleCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-NP5 6GH', NewportCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-OX16 0UA', CheddingtonCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-PE17 4RN', CambridgeCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-PE21 3TG', PeterboroughCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-PE23 5IK', KingsLynnCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-PL14 5GB', PlymouthCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-PO7 2HI', PortsmouthCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-SA1 2HS', SwanseaCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-SA3 7HI', StratfordCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-SK21 5DL', MacclesfieldCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-TA3 4FD', NewquayCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-TN27 6YD', AshfordCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-TQ17 8HB', BrixhamCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-W1 3AL', LondonCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-W2 8HG', LondonCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-WC1 2GS', WestEndLaneCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-WC1 3DG', LondonCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-WD1 6YG', WatfordCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-WD2 4RG', WatfordCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-WD6 8UY', BorehamwoodCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('GB-WD6 9HY', BorehamwoodCityLbl, CreateCountryRegion.GB(), ''); + ContosoNZPostCode.InsertPostCode('MX-37500', LeonCityLbl, CreateCountryRegion.MX(), 'Guanajuato'); + ContosoNZPostCode.InsertPostCode('MX-64640', MonterreyCityLbl, CreateCountryRegion.MX(), 'Nuevo Leon'); + ContosoNZPostCode.InsertPostCode('MX-78030', SanLuisPotosiCityLbl, CreateCountryRegion.MX(), 'San Luis'); + ContosoNZPostCode.InsertPostCode('MX-82100', MazatlanCityLbl, CreateCountryRegion.MX(), 'Sinaloa'); + ContosoNZPostCode.InsertPostCode('MY-42000', PELABUHANKLANGCityLbl, CreateCountryRegion.MY(), 'Selangor'); + ContosoNZPostCode.InsertPostCode('MY-47400', PETALINGJAYACityLbl, CreateCountryRegion.MY(), 'Selangor'); + ContosoNZPostCode.InsertPostCode('MY-50450', AMPANGCityLbl, CreateCountryRegion.MY(), 'KUALA LUMPUR'); + ContosoNZPostCode.InsertPostCode('MY-88100', KOTAKINABALUCityLbl, CreateCountryRegion.MY(), 'Sabah'); + ContosoNZPostCode.InsertPostCode('MY-93450', KUCHINGCityLbl, CreateCountryRegion.MY(), 'Sarawak'); + ContosoNZPostCode.InsertPostCode('NG-300001', BENINCityLbl, CreateCountryRegion.NG(), 'Edo state'); + ContosoNZPostCode.InsertPostCode('NG-930283', JOSCityLbl, CreateCountryRegion.NG(), 'Plateau state'); + ContosoNZPostCode.InsertPostCode('NG-931104', GHOHCityLbl, CreateCountryRegion.NG(), 'Plateau state'); + ContosoNZPostCode.InsertPostCode('TH-10260', BangNaCityLbl, CreateCountryRegion.TH(), 'Bangkok'); + ContosoNZPostCode.InsertPostCode('TH-10500', BangRakCityLbl, CreateCountryRegion.TH(), 'Bangkok'); + ContosoNZPostCode.InsertPostCode('TH-10510', KhlongSamwaCityLbl, CreateCountryRegion.TH(), 'Bangkok'); + ContosoNZPostCode.InsertPostCode('TH-17120', WatSingCityLbl, CreateCountryRegion.TH(), 'Chai Nat'); + ContosoNZPostCode.InsertPostCode('TH-31260', NonDindaengCityLbl, CreateCountryRegion.TH(), 'Buri Ram'); + ContosoNZPostCode.InsertPostCode('TH-50120', SanPaTongCityLbl, CreateCountryRegion.TH(), 'Chiang Mai'); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6015', WELLINGTONCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6030', KELBURNCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6030', KHANDALLAHCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6030', MIRAMARCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6030', NEWLANDSCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6030', NGAIOCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6030', PARLIAMENTBUILDINGSCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6030', WELLINGTONAIRPORTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6032', JOHNSONVILLECity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6033', KARORICity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6034', MANNERSSTREETCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6035', TEAROCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6036', THETERRACECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6037', UPPERWILLISSTREETCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6038', THORNDONCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6039', WELLINGTONSOUTHCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6040', LAMBTONQUAYCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6041', KILBIRNIECity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6215', PoriruaCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6230', CANNONSCREEKPORIRUACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6230', MANAPORIRUACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6230', TAWACity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6230', TITAHIBAYPORIRUACityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6315', LOWERHUTTCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6330', EPUNILOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6330', HOMEDALELOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6330', MOERALOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6330', NAENAELOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6330', PARKAVENUELOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6330', VICLOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6332', WELLINGTONMAILCENTRECityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6340', EASTBOURNELOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6340', PETONELOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6340', STOKESVALLEYLOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6340', WAINUIOMATALOWERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6415', UPPERHUTTCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6430', ERENTHAMUPPERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6430', SILVERSTREAMUPPERHUTTCityLbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6450', PAEKAKARIKICity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6450', PARAPARAUMUCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6450', PARAPARAUMUBEACHCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6450', RAUMATIBEACHCity2Lbl, '', ''); + ContosoNZPostCode.InsertPostCode('WELLINGTON 6454', WAIKANAECity2Lbl, '', ''); + + ContosoNZPostCode.SetOverwriteData(false); + + UpdatePostCode(); + end; + + local procedure UpdatePostCode() + var + PostCode: Record "Post Code"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + PostCode.SetRange("Country/Region Code", CreateCountryRegion.US()); + PostCode.SetFilter(County, '<>%1', ''); + if PostCode.FindSet() then + repeat + PostCode.Validate(County, ''); + PostCode.Modify(true); + until PostCode.Next() = 0; + end; + + var + AucklandCityLbl: Label 'Auckland', MaxLength = 30; + FreemansBayCityLbl: Label 'Freemans Bay', MaxLength = 30; + GraftonCityLbl: Label 'Grafton', MaxLength = 30; + StMarysBayCityLbl: Label 'St Marys Bay', MaxLength = 30; + ArchHillCityLbl: Label 'Arch Hill', MaxLength = 30; + WesternSpringsCityLbl: Label 'Western Springs', MaxLength = 30; + EdenTerraceCityLbl: Label 'Eden Terrace', MaxLength = 30; + MorningsideCityLbl: Label 'Morningside', MaxLength = 30; + OneTreeHillCityLbl: Label 'One Tree Hill', MaxLength = 30; + LynfieldCityLbl: Label 'Lynfield', MaxLength = 30; + RoskillCityLbl: Label 'Roskill', MaxLength = 30; + ThreeKingsCityLbl: Label 'Three Kings', MaxLength = 30; + WaikowhaiCityLbl: Label 'Waikowhai', MaxLength = 30; + GlendowieCityLbl: Label 'Glendowie', MaxLength = 30; + KohimaramaCityLbl: Label 'Kohimarama', MaxLength = 30; + StJohnsCityLbl: Label 'St Johns', MaxLength = 30; + GlenInnesCityLbl: Label 'Glen Innes', MaxLength = 30; + MiddlemoreCityLbl: Label 'Middlemore', MaxLength = 30; + PointEnglandCityLbl: Label 'Point England', MaxLength = 30; + SylviaParkCityLbl: Label 'Sylvia Park', MaxLength = 30; + TamakiCityLbl: Label 'Tamaki', MaxLength = 30; + TePapapaCityLbl: Label 'Te Papapa', MaxLength = 30; + FrenchBayCityLbl: Label 'French Bay', MaxLength = 30; + HuiaCityLbl: Label 'Huia', MaxLength = 30; + KarekareCityLbl: Label 'Karekare', MaxLength = 30; + KelstonCityLbl: Label 'Kelston', MaxLength = 30; + LaingholmCityLbl: Label 'Laingholm', MaxLength = 30; + NewWindsorCityLbl: Label 'New Windsor', MaxLength = 30; + OratiaCityLbl: Label 'Oratia', MaxLength = 30; + ParauCityLbl: Label 'Parau', MaxLength = 30; + PihaCityLbl: Label 'Piha', MaxLength = 30; + WaiataruaCityLbl: Label 'Waiatarua', MaxLength = 30; + WaterviewCityLbl: Label 'Waterview', MaxLength = 30; + BethellsBeachCityLbl: Label 'Bethells Beach', MaxLength = 30; + HendersonValleyCityLbl: Label 'Henderson Valley', MaxLength = 30; + HeraldIslandCityLbl: Label 'Herald Island', MaxLength = 30; + HobsonvilleCityLbl: Label 'Hobsonville', MaxLength = 30; + MasseyCityLbl: Label 'Massey', MaxLength = 30; + SunnyvaleCityLbl: Label 'Sunnyvale', MaxLength = 30; + TaupakiCityLbl: Label 'Taupaki', MaxLength = 30; + TeAtatuNorthCityLbl: Label 'Te Atatu North', MaxLength = 30; + TeAtatuSouthCityLbl: Label 'Te Atatu South', MaxLength = 30; + WestHarbourCityLbl: Label 'West Harbour', MaxLength = 30; + WhenuapaiVillageCityLbl: Label 'Whenuapai Village', MaxLength = 30; + KamoCityLbl: Label 'Kamo', MaxLength = 30; + MairtownCityLbl: Label 'Mairtown', MaxLength = 30; + MaunuCityLbl: Label 'Maunu', MaxLength = 30; + OnerahiCityLbl: Label 'Onerahi', MaxLength = 30; + OtangareiCityLbl: Label 'Otangarei', MaxLength = 30; + PortWhangareiCityLbl: Label 'Port Whangarei', MaxLength = 30; + RaumangaCityLbl: Label 'Raumanga', MaxLength = 30; + RegentCityLbl: Label 'Regent', MaxLength = 30; + TikipungaCityLbl: Label 'Tikipunga', MaxLength = 30; + WhangareiCityLbl: Label 'Whangarei', MaxLength = 30; + LittleBarrierIslandCityLbl: Label 'Little Barrier Island', MaxLength = 30; + MotutapuIslandCityLbl: Label 'Motutapu Island', MaxLength = 30; + PakatoaIslandCityLbl: Label 'Pakatoa Island', MaxLength = 30; + RakinoIslandCityLbl: Label 'Rakino Island', MaxLength = 30; + RangitotoIslandCityLbl: Label 'Rangitoto Island', MaxLength = 30; + RotoroaIslandCityLbl: Label 'Rotoroa Island', MaxLength = 30; + TiritiriMatangiIslandCityLbl: Label 'Tiritiri Matangi Island', MaxLength = 30; + AucklandPostmasterCityLbl: Label 'Auckland Postmaster', MaxLength = 30; + GlenbervieCityLbl: Label 'Glenbervie', MaxLength = 30; + HukerenuiCityLbl: Label 'Hukerenui', MaxLength = 30; + KauriCityLbl: Label 'Kauri', MaxLength = 30; + KokopuCityLbl: Label 'Kokopu', MaxLength = 30; + MangapaiCityLbl: Label 'Mangapai', MaxLength = 30; + OakleighCityLbl: Label 'Oakleigh', MaxLength = 30; + OneTreePointCityLbl: Label 'One Tree Point', MaxLength = 30; + PipiwaiCityLbl: Label 'Pipiwai', MaxLength = 30; + ReotahiBayCityLbl: Label 'Reotahi Bay', MaxLength = 30; + TutukakaCityLbl: Label 'Tutukaka', MaxLength = 30; + WaikarakaCityLbl: Label 'Waikaraka', MaxLength = 30; + WhangareiHeadsCityLbl: Label 'Whangarei Heads', MaxLength = 30; + ClarisCityLbl: Label 'Claris', MaxLength = 30; + GreatBarrierIslandCityLbl: Label 'Great Barrier Island', MaxLength = 30; + OkiwiCityLbl: Label 'Okiwi', MaxLength = 30; + PortFitzroyCityLbl: Label 'Port Fitzroy', MaxLength = 30; + TryphenaCityLbl: Label 'Tryphena', MaxLength = 30; + AwaroaCityLbl: Label 'Awaroa', MaxLength = 30; + BlackpoolCityLbl: Label 'Blackpool', MaxLength = 30; + BrynderwynCityLbl: Label 'Brynderwyn', MaxLength = 30; + ConnellsBayCityLbl: Label 'Connells Bay', MaxLength = 30; + CowesCityLbl: Label 'Cowes', MaxLength = 30; + OneroaCityLbl: Label 'Oneroa', MaxLength = 30; + OnetangiCityLbl: Label 'Onetangi', MaxLength = 30; + OnetangiBayCityLbl: Label 'Onetangi Bay', MaxLength = 30; + OstendCityLbl: Label 'Ostend', MaxLength = 30; + PalmBeachCityLbl: Label 'Palm Beach', MaxLength = 30; + RockyBayCityLbl: Label 'Rocky Bay', MaxLength = 30; + SurfdaleCityLbl: Label 'Surfdale', MaxLength = 30; + WaihekeIslandCityLbl: Label 'Waiheke Island', MaxLength = 30; + AhuroaCityLbl: Label 'Ahuroa', MaxLength = 30; + AlgiesBayCityLbl: Label 'Algies Bay', MaxLength = 30; + GloritCityLbl: Label 'Glorit', MaxLength = 30; + HoteoCityLbl: Label 'Hoteo', MaxLength = 30; + KaiparaFlatsCityLbl: Label 'Kaipara Flats', MaxLength = 30; + KawauIslandCityLbl: Label 'Kawau Island', MaxLength = 30; + LeighCityLbl: Label 'Leigh', MaxLength = 30; + MahurangiCityLbl: Label 'Mahurangi', MaxLength = 30; + MatakanaCityLbl: Label 'Matakana', MaxLength = 30; + OmahaCityLbl: Label 'Omaha', MaxLength = 30; + PohuehueCityLbl: Label 'Pohuehue', MaxLength = 30; + PointWellsCityLbl: Label 'Point Wells', MaxLength = 30; + SandspitCityLbl: Label 'Sandspit', MaxLength = 30; + SnellsBeachCityLbl: Label 'Snells Beach', MaxLength = 30; + TauhoaCityLbl: Label 'Tauhoa', MaxLength = 30; + PakiriCityLbl: Label 'Pakiri', MaxLength = 30; + PortAlbertCityLbl: Label 'Port Albert', MaxLength = 30; + TaporaCityLbl: Label 'Tapora', MaxLength = 30; + TeHanaCityLbl: Label 'Te Hana', MaxLength = 30; + TomarataCityLbl: Label 'Tomarata', MaxLength = 30; + WaybyCityLbl: Label 'Wayby', MaxLength = 30; + PuhoiCityLbl: Label 'Puhoi', MaxLength = 30; + WaiweraCityLbl: Label 'Waiwera', MaxLength = 30; + HuapaiCityLbl: Label 'Huapai', MaxLength = 30; + LochNorrieCityLbl: Label 'Loch Norrie', MaxLength = 30; + MuriwaiBeachCityLbl: Label 'Muriwai Beach', MaxLength = 30; + ParakaiCityLbl: Label 'Parakai', MaxLength = 30; + RiverheadCityLbl: Label 'Riverhead', MaxLength = 30; + ShellyBeachCityLbl: Label 'Shelly Beach', MaxLength = 30; + SouthHeadCityLbl: Label 'South Head', MaxLength = 30; + TePuaCityLbl: Label 'Te Pua', MaxLength = 30; + WaitokiCityLbl: Label 'Waitoki', MaxLength = 30; + WhenuapaiAirForceBaseCityLbl: Label 'Whenuapai Air Force Base', MaxLength = 30; + WoodhillCityLbl: Label 'Woodhill', MaxLength = 30; + BayswaterCityLbl: Label 'Bayswater', MaxLength = 30; + CastorBayCityLbl: Label 'Castor Bay', MaxLength = 30; + CrownHillCityLbl: Label 'Crown Hill', MaxLength = 30; + ForrestHillCityLbl: Label 'Forrest Hill', MaxLength = 30; + SunnynookCityLbl: Label 'Sunnynook', MaxLength = 30; + ThePalmsCityLbl: Label 'The Palms', MaxLength = 30; + UnsworthHeightsCityLbl: Label 'Unsworth Heights', MaxLength = 30; + WairauIndustrialParkCityLbl: Label 'Wairau Industrial Park', MaxLength = 30; + WairauParkCityLbl: Label 'Wairau Park', MaxLength = 30; + BirkdaleCityLbl: Label 'Birkdale', MaxLength = 30; + ChatswoodCityLbl: Label 'Chatswood', MaxLength = 30; + ChelseaCityLbl: Label 'Chelsea', MaxLength = 30; + MarlboroughCityLbl: Label 'Marlborough', MaxLength = 30; + NorthcotePointCityLbl: Label 'Northcote Point', MaxLength = 30; + AlbanyHeightsCityLbl: Label 'Albany Heights', MaxLength = 30; + CampbellsBayCityLbl: Label 'Campbells Bay', MaxLength = 30; + CoatesvilleCityLbl: Label 'Coatesville', MaxLength = 30; + DairyFlatCityLbl: Label 'Dairy Flat', MaxLength = 30; + EastCoastBaysCityLbl: Label 'East Coast Bays', MaxLength = 30; + LongBayCityLbl: Label 'Long Bay', MaxLength = 30; + MurraysBayCityLbl: Label 'Murrays Bay', MaxLength = 30; + NorthHarbourCityLbl: Label 'North Harbour', MaxLength = 30; + NorthcrossCityLbl: Label 'Northcross', MaxLength = 30; + OkuraCityLbl: Label 'Okura', MaxLength = 30; + ParemoremoCityLbl: Label 'Paremoremo', MaxLength = 30; + RedvaleCityLbl: Label 'Redvale', MaxLength = 30; + RothesayBayCityLbl: Label 'Rothesay Bay', MaxLength = 30; + WaiakeCityLbl: Label 'Waiake', MaxLength = 30; + HatfieldsBeachCityLbl: Label 'Hatfields Beach', MaxLength = 30; + HibiscusCoastCityLbl: Label 'Hibiscus Coast', MaxLength = 30; + ArklesBayCityLbl: Label 'Arkles Bay', MaxLength = 30; + ArmyBayCityLbl: Label 'Army Bay', MaxLength = 30; + GulfHarbourCityLbl: Label 'Gulf Harbour', MaxLength = 30; + LittleManlyCityLbl: Label 'Little Manly', MaxLength = 30; + ManlyCityLbl: Label 'Manly', MaxLength = 30; + StanmoreBayCityLbl: Label 'Stanmore Bay', MaxLength = 30; + TindallsBeachCityLbl: Label 'Tindalls Beach', MaxLength = 30; + EastTamakiCityLbl: Label 'East Tamaki', MaxLength = 30; + FlatBushCityLbl: Label 'Flat Bush', MaxLength = 30; + HuntersCornerCityLbl: Label 'Hunters Corner', MaxLength = 30; + ClendonCityLbl: Label 'Clendon', MaxLength = 30; + ClendonParkCityLbl: Label 'Clendon Park', MaxLength = 30; + ConiferGroveCityLbl: Label 'Conifer Grove', MaxLength = 30; + ManukauHeightsCityLbl: Label 'Manukau Heights', MaxLength = 30; + TotaraHeightsCityLbl: Label 'Totara Heights', MaxLength = 30; + WeymouthCityLbl: Label 'Weymouth', MaxLength = 30; + WiriCityLbl: Label 'Wiri', MaxLength = 30; + PapakuraCampCityLbl: Label 'Papakura Camp', MaxLength = 30; + PapakuraEastCityLbl: Label 'Papakura East', MaxLength = 30; + RedHillCityLbl: Label 'Red Hill', MaxLength = 30; + CockleBayCityLbl: Label 'Cockle Bay', MaxLength = 30; + EasternBeachCityLbl: Label 'Eastern Beach', MaxLength = 30; + EastTamakiHeightsCityLbl: Label 'East Tamaki Heights', MaxLength = 30; + MaraetaiCityLbl: Label 'Maraetai', MaxLength = 30; + FarmCoveCityLbl: Label 'Farm Cove', MaxLength = 30; + HalfMoonBayCityLbl: Label 'Half Moon Bay', MaxLength = 30; + PakurangaHeightsCityLbl: Label 'Pakuranga Heights', MaxLength = 30; + AlfristonCityLbl: Label 'Alfriston', MaxLength = 30; + ArdmoreCityLbl: Label 'Ardmore', MaxLength = 30; + ArdmoreAirfieldCityLbl: Label 'Ardmore Airfield', MaxLength = 30; + BrookbyCityLbl: Label 'Brookby', MaxLength = 30; + HunuaCityLbl: Label 'Hunua', MaxLength = 30; + KarakaCityLbl: Label 'Karaka', MaxLength = 30; + KawakawaBayCityLbl: Label 'Kawakawa Bay', MaxLength = 30; + KingseatCityLbl: Label 'Kingseat', MaxLength = 30; + NessValleyCityLbl: Label 'Ness Valley', MaxLength = 30; + OpahekeCityLbl: Label 'Opaheke', MaxLength = 30; + OrereCityLbl: Label 'Orere', MaxLength = 30; + OrerePointCityLbl: Label 'Orere Point', MaxLength = 30; + PaparimuCityLbl: Label 'Paparimu', MaxLength = 30; + BucklandCityLbl: Label 'Buckland', MaxLength = 30; + MaukuCityLbl: Label 'Mauku', MaxLength = 30; + PaparataCityLbl: Label 'Paparata', MaxLength = 30; + PatumahoeCityLbl: Label 'Patumahoe', MaxLength = 30; + RamaramaCityLbl: Label 'Ramarama', MaxLength = 30; + AkaAkaCityLbl: Label 'Aka Aka', MaxLength = 30; + ClarksBeachCityLbl: Label 'Clarks Beach', MaxLength = 30; + GlenbrookCityLbl: Label 'Glenbrook', MaxLength = 30; + OtauaCityLbl: Label 'Otaua', MaxLength = 30; + PollokCityLbl: Label 'Pollok', MaxLength = 30; + PuniCityLbl: Label 'Puni', MaxLength = 30; + TeToroCityLbl: Label 'Te Toro', MaxLength = 30; + WaiauPaCityLbl: Label 'Waiau Pa', MaxLength = 30; + WaipipiCityLbl: Label 'Waipipi', MaxLength = 30; + WaiukuCityLbl: Label 'Waiuku', MaxLength = 30; + MatakawauCityLbl: Label 'Matakawau', MaxLength = 30; + KaiauaCityLbl: Label 'Kaiaua', MaxLength = 30; + MercerCityLbl: Label 'Mercer', MaxLength = 30; + KopukuLandingCityLbl: Label 'Kopuku Landing', MaxLength = 30; + MangatangiCityLbl: Label 'Mangatangi', MaxLength = 30; + MaramaruaCityLbl: Label 'Maramarua', MaxLength = 30; + PokenoCityLbl: Label 'Pokeno', MaxLength = 30; + MeremereCityLbl: Label 'Meremere', MaxLength = 30; + PortWaikatoCityLbl: Label 'Port Waikato', MaxLength = 30; + OnewheroCityLbl: Label 'Onewhero', MaxLength = 30; + GlenMurrayCityLbl: Label 'Glen Murray', MaxLength = 30; + PukekawaCityLbl: Label 'Pukekawa', MaxLength = 30; + TauranganuiPaCityLbl: Label 'Tauranganui Pa', MaxLength = 30; + TeKohangaCityLbl: Label 'Te Kohanga', MaxLength = 30; + TuakauCityLbl: Label 'Tuakau', MaxLength = 30; + BeerescourtCityLbl: Label 'Beerescourt', MaxLength = 30; + BryantParkCityLbl: Label 'Bryant Park', MaxLength = 30; + ChedworthParkCityLbl: Label 'Chedworth Park', MaxLength = 30; + ClaudelandsCityLbl: Label 'Claudelands', MaxLength = 30; + DinsdaleCityLbl: Label 'Dinsdale', MaxLength = 30; + EnderleyCityLbl: Label 'Enderley', MaxLength = 30; + FairviewDownsCityLbl: Label 'Fairview Downs', MaxLength = 30; + FitzroyCityLbl: Label 'Fitzroy', MaxLength = 30; + FlagstaffCityLbl: Label 'Flagstaff', MaxLength = 30; + ForestLakeCityLbl: Label 'Forest Lake', MaxLength = 30; + GlenviewCityLbl: Label 'Glenview', MaxLength = 30; + HamiltonCityLbl: Label 'Hamilton', MaxLength = 30; + HamiltonEastCityLbl: Label 'Hamilton East', MaxLength = 30; + HillcrestCityLbl: Label 'Hillcrest', MaxLength = 30; + HorshamDownsCityLbl: Label 'Horsham Downs', MaxLength = 30; + MaeroaCityLbl: Label 'Maeroa', MaxLength = 30; + MelvilleCityLbl: Label 'Melville', MaxLength = 30; + NawtonCityLbl: Label 'Nawton', MaxLength = 30; + PuketeCityLbl: Label 'Pukete', MaxLength = 30; + QueenwoodCityLbl: Label 'Queenwood', MaxLength = 30; + TeRapaCityLbl: Label 'Te Rapa', MaxLength = 30; + WhitioraCityLbl: Label 'Whitiora', MaxLength = 30; + EurekaCityLbl: Label 'Eureka', MaxLength = 30; + HorotiuCityLbl: Label 'Horotiu', MaxLength = 30; + NewsteadCityLbl: Label 'Newstead', MaxLength = 30; + PuketahaCityLbl: Label 'Puketaha', MaxLength = 30; + TamahereCityLbl: Label 'Tamahere', MaxLength = 30; + TauwhareCityLbl: Label 'Tauwhare', MaxLength = 30; + TeKowhaiCityLbl: Label 'Te Kowhai', MaxLength = 30; + TePahuCityLbl: Label 'Te Pahu', MaxLength = 30; + GordontonCityLbl: Label 'Gordonton', MaxLength = 30; + HinueraCityLbl: Label 'Hinuera', MaxLength = 30; + TeUkuCityLbl: Label 'Te Uku', MaxLength = 30; + TempleViewCityLbl: Label 'Temple View', MaxLength = 30; + WhatawhataCityLbl: Label 'Whatawhata', MaxLength = 30; + OketeCityLbl: Label 'Okete', MaxLength = 30; + RaglanCityLbl: Label 'Raglan', MaxLength = 30; + TeMataHamiltonCityLbl: Label 'Te Mata-Hamilton', MaxLength = 30; + TeKauwhataCityLbl: Label 'Te Kauwhata', MaxLength = 30; + WaerengaCityLbl: Label 'Waerenga', MaxLength = 30; + WaingaroTeKauwhataCityLbl: Label 'Waingaro-Te Kauwhata', MaxLength = 30; + OriniCityLbl: Label 'Orini', MaxLength = 30; + TeAkauCityLbl: Label 'Te Akau', MaxLength = 30; + HopuhopuCityLbl: Label 'Hopuhopu', MaxLength = 30; + NgaruawahiaCityLbl: Label 'Ngaruawahia', MaxLength = 30; + TaupiriCityLbl: Label 'Taupiri', MaxLength = 30; + WaingaroNgaruawahiaCityLbl: Label 'Waingaro-Ngaruawahia', MaxLength = 30; + HuntlyWestCityLbl: Label 'Huntly West', MaxLength = 30; + NaikeCityLbl: Label 'Naike', MaxLength = 30; + RotowaroCityLbl: Label 'Rotowaro', MaxLength = 30; + GlenMasseyCityLbl: Label 'Glen Massey', MaxLength = 30; + HuntlyCityLbl: Label 'Huntly', MaxLength = 30; + PukekapiaCityLbl: Label 'Pukekapia', MaxLength = 30; + PukemiroCityLbl: Label 'Pukemiro', MaxLength = 30; + RotongaroCityLbl: Label 'Rotongaro', MaxLength = 30; + WaikaretuCityLbl: Label 'Waikaretu', MaxLength = 30; + OhinewaiCityLbl: Label 'Ohinewai', MaxLength = 30; + WaiterimuCityLbl: Label 'Waiterimu', MaxLength = 30; + HoeOTainuiCityLbl: Label 'Hoe-O-Tainui', MaxLength = 30; + PatetongaCityLbl: Label 'Patetonga', MaxLength = 30; + TahunaCityLbl: Label 'Tahuna', MaxLength = 30; + TatuanuiCityLbl: Label 'Tatuanui', MaxLength = 30; + KereoneCityLbl: Label 'Kereone', MaxLength = 30; + KiwitahiCityLbl: Label 'Kiwitahi', MaxLength = 30; + MangateparuCityLbl: Label 'Mangateparu', MaxLength = 30; + MorrinsvilleCityLbl: Label 'Morrinsville', MaxLength = 30; + MotumaohoCityLbl: Label 'Motumaoho', MaxLength = 30; + TauheiCityLbl: Label 'Tauhei', MaxLength = 30; + TePoiCityLbl: Label 'Te Poi', MaxLength = 30; + MatamataCityLbl: Label 'Matamata', MaxLength = 30; + WaharoaCityLbl: Label 'Waharoa', MaxLength = 30; + WardvilleCityLbl: Label 'Wardville', MaxLength = 30; + WaltonCityLbl: Label 'Walton', MaxLength = 30; + KarapiroCityLbl: Label 'Karapiro', MaxLength = 30; + KarapiroHydroCityLbl: Label 'Karapiro Hydro', MaxLength = 30; + LeamingtonCityLbl: Label 'Leamington', MaxLength = 30; + BruntwoodCityLbl: Label 'Bruntwood', MaxLength = 30; + FencourtCityLbl: Label 'Fencourt', MaxLength = 30; + HautapuCityLbl: Label 'Hautapu', MaxLength = 30; + KaipakiCityLbl: Label 'Kaipaki', MaxLength = 30; + PukemoremoreCityLbl: Label 'Pukemoremore', MaxLength = 30; + PukeroroCityLbl: Label 'Pukeroro', MaxLength = 30; + RotoorangiCityLbl: Label 'Rotoorangi', MaxLength = 30; + TeMiroCityLbl: Label 'Te Miro', MaxLength = 30; + WhitehallCityLbl: Label 'Whitehall', MaxLength = 30; + ArapuniCityLbl: Label 'Arapuni', MaxLength = 30; + LichfieldCityLbl: Label 'Lichfield', MaxLength = 30; + PuketuruaCityLbl: Label 'Puketurua', MaxLength = 30; + PutaruruCityLbl: Label 'Putaruru', MaxLength = 30; + WaotuCityLbl: Label 'Waotu', MaxLength = 30; + OkoroireCityLbl: Label 'Okoroire', MaxLength = 30; + TirauCityLbl: Label 'Tirau', MaxLength = 30; + MangakinoCityLbl: Label 'Mangakino', MaxLength = 30; + TihoiCityLbl: Label 'Tihoi', MaxLength = 30; + WhakamaruCityLbl: Label 'Whakamaru', MaxLength = 30; + KinleithCityLbl: Label 'Kinleith', MaxLength = 30; + ParaonuiCityLbl: Label 'Paraonui', MaxLength = 30; + TokoroaCityLbl: Label 'Tokoroa', MaxLength = 30; + TokoroaWestCityLbl: Label 'Tokoroa West', MaxLength = 30; + WiltsdownCityLbl: Label 'Wiltsdown', MaxLength = 30; + KiripakaCityLbl: Label 'Kiripaka', MaxLength = 30; + MataCityLbl: Label 'Mata', MaxLength = 30; + MatapouriCityLbl: Label 'Matapouri', MaxLength = 30; + MaungakarameaCityLbl: Label 'Maungakaramea', MaxLength = 30; + MaungatapereCityLbl: Label 'Maungatapere', MaxLength = 30; + McLeodBayCityLbl: Label 'McLeod Bay', MaxLength = 30; + NgunguruCityLbl: Label 'Ngunguru', MaxLength = 30; + OtaikaCityLbl: Label 'Otaika', MaxLength = 30; + PakotaiCityLbl: Label 'Pakotai', MaxLength = 30; + ParakaoCityLbl: Label 'Parakao', MaxLength = 30; + ParuaBayCityLbl: Label 'Parua Bay', MaxLength = 30; + PortlandCityLbl: Label 'Portland', MaxLength = 30; + RototunaCityLbl: Label 'Rototuna', MaxLength = 30; + SherwoodRiseCityLbl: Label 'Sherwood Rise', MaxLength = 30; + TapuhiCityLbl: Label 'Tapuhi', MaxLength = 30; + TaurikuraCityLbl: Label 'Taurikura', MaxLength = 30; + TitokiCityLbl: Label 'Titoki', MaxLength = 30; + WaikiekieCityLbl: Label 'Waikiekie', MaxLength = 30; + WaiotiraCityLbl: Label 'Waiotira', MaxLength = 30; + WhatitiriCityLbl: Label 'Whatitiri', MaxLength = 30; + PukeatuaCityLbl: Label 'Pukeatua', MaxLength = 30; + TeAwamutuCityLbl: Label 'Te Awamutu', MaxLength = 30; + KihikihiCityLbl: Label 'Kihikihi', MaxLength = 30; + PirongiaCityLbl: Label 'Pirongia', MaxLength = 30; + KawhiaCityLbl: Label 'Kawhia', MaxLength = 30; + TeMaikaCityLbl: Label 'Te Maika', MaxLength = 30; + OhaupoCityLbl: Label 'Ohaupo', MaxLength = 30; + OparauCityLbl: Label 'Oparau', MaxLength = 30; + WaikeriaCityLbl: Label 'Waikeria', MaxLength = 30; + MarsdenPointCityLbl: Label 'Marsden Point', MaxLength = 30; + RuakakaCityLbl: Label 'Ruakaka', MaxLength = 30; + RuakakaBeachCityLbl: Label 'Ruakaka Beach', MaxLength = 30; + MarokopaCityLbl: Label 'Marokopa', MaxLength = 30; + PureoraForestCityLbl: Label 'Pureora Forest', MaxLength = 30; + TeAngaCityLbl: Label 'Te Anga', MaxLength = 30; + TeKuitiCityLbl: Label 'Te Kuiti', MaxLength = 30; + HikurangiCityLbl: Label 'Hikurangi', MaxLength = 30; + TowaiCityLbl: Label 'Towai', MaxLength = 30; + WhakaparaCityLbl: Label 'Whakapara', MaxLength = 30; + WhananakiCityLbl: Label 'Whananaki', MaxLength = 30; + WhangaruruCityLbl: Label 'Whangaruru', MaxLength = 30; + HaruruCityLbl: Label 'Haruru', MaxLength = 30; + PaihiaCityLbl: Label 'Paihia', MaxLength = 30; + WaitangiCityLbl: Label 'Waitangi', MaxLength = 30; + LangsBeachCityLbl: Label 'Langs Beach', MaxLength = 30; + WaipuCityLbl: Label 'Waipu', MaxLength = 30; + JacksBeachCityLbl: Label 'Jacks Beach', MaxLength = 30; + OteheiBayCityLbl: Label 'Otehei Bay', MaxLength = 30; + RussellCityLbl: Label 'Russell', MaxLength = 30; + TapekaCityLbl: Label 'Tapeka', MaxLength = 30; + WhangamumuCityLbl: Label 'Whangamumu', MaxLength = 30; + AriaCityLbl: Label 'Aria', MaxLength = 30; + BenneydaleCityLbl: Label 'Benneydale', MaxLength = 30; + PuketutuCityLbl: Label 'Puketutu', MaxLength = 30; + MahoenuiCityLbl: Label 'Mahoenui', MaxLength = 30; + MangaotakiCityLbl: Label 'Mangaotaki', MaxLength = 30; + PiopioCityLbl: Label 'Piopio', MaxLength = 30; + TaharoaCityLbl: Label 'Taharoa', MaxLength = 30; + KiokioCityLbl: Label 'Kiokio', MaxLength = 30; + MaihihiCityLbl: Label 'Maihihi', MaxLength = 30; + OtewaCityLbl: Label 'Otewa', MaxLength = 30; + OtorohangaCityLbl: Label 'Otorohanga', MaxLength = 30; + RewarewaCityLbl: Label 'Rewarewa', MaxLength = 30; + HangatikiCityLbl: Label 'Hangatiki', MaxLength = 30; + WaitomoCavesCityLbl: Label 'Waitomo Caves', MaxLength = 30; + ManunuiCityLbl: Label 'Manunui', MaxLength = 30; + TaumarunuiCityLbl: Label 'Taumarunui', MaxLength = 30; + KakahiCityLbl: Label 'Kakahi', MaxLength = 30; + PiriakaCityLbl: Label 'Piriaka', MaxLength = 30; + MatiereCityLbl: Label 'Matiere', MaxLength = 30; + NationalParkCityLbl: Label 'National Park', MaxLength = 30; + OhuraCityLbl: Label 'Ohura', MaxLength = 30; + TatuCityLbl: Label 'Tatu', MaxLength = 30; + OngarueCityLbl: Label 'Ongarue', MaxLength = 30; + OwhangoCityLbl: Label 'Owhango', MaxLength = 30; + TokirimaCityLbl: Label 'Tokirima', MaxLength = 30; + WaimihaCityLbl: Label 'Waimiha', MaxLength = 30; + BroadlandsCityLbl: Label 'Broadlands', MaxLength = 30; + IwitahiCityLbl: Label 'Iwitahi', MaxLength = 30; + RangitaikiCityLbl: Label 'Rangitaiki', MaxLength = 30; + RotokawaCityLbl: Label 'Rotokawa', MaxLength = 30; + TaupoCityLbl: Label 'Taupo', MaxLength = 30; + TwoMileBayCityLbl: Label 'Two Mile Bay', MaxLength = 30; + WaipahihiCityLbl: Label 'Waipahihi', MaxLength = 30; + HukaVillageCityLbl: Label 'Huka Village', MaxLength = 30; + AcaciaBayCityLbl: Label 'Acacia Bay', MaxLength = 30; + HatepeCityLbl: Label 'Hatepe', MaxLength = 30; + KinlochCityLbl: Label 'Kinloch', MaxLength = 30; + WaitahanuiCityLbl: Label 'Waitahanui', MaxLength = 30; + WairakeiCityLbl: Label 'Wairakei', MaxLength = 30; + WairakeiVillageCityLbl: Label 'Wairakei Village', MaxLength = 30; + MotuoapaCityLbl: Label 'Motuoapa', MaxLength = 30; + TeRangiitaCityLbl: Label 'Te Rangiita', MaxLength = 30; + TongariroCityLbl: Label 'Tongariro', MaxLength = 30; + HautuCityLbl: Label 'Hautu', MaxLength = 30; + PukawaCityLbl: Label 'Pukawa', MaxLength = 30; + RangipoCityLbl: Label 'Rangipo', MaxLength = 30; + TurangiCityLbl: Label 'Turangi', MaxLength = 30; + TokaanuCityLbl: Label 'Tokaanu', MaxLength = 30; + ThamesCityLbl: Label 'Thames', MaxLength = 30; + HikuaiCityLbl: Label 'Hikuai', MaxLength = 30; + KauerangaValleyCityLbl: Label 'Kaueranga Valley', MaxLength = 30; + KopuCityLbl: Label 'Kopu', MaxLength = 30; + MatatokiCityLbl: Label 'Matatoki', MaxLength = 30; + PauanuiCityLbl: Label 'Pauanui', MaxLength = 30; + PauanuiBeachCityLbl: Label 'Pauanui Beach', MaxLength = 30; + PuririCityLbl: Label 'Puriri', MaxLength = 30; + TapuCityLbl: Label 'Tapu', MaxLength = 30; + TararuCityLbl: Label 'Tararu', MaxLength = 30; + TeMataThamesCityLbl: Label 'Te Mata-Thames', MaxLength = 30; + TePuruCityLbl: Label 'Te Puru', MaxLength = 30; + ThorntonBayCityLbl: Label 'Thornton Bay', MaxLength = 30; + TuruaCityLbl: Label 'Turua', MaxLength = 30; + WaikawauCityLbl: Label 'Waikawau', MaxLength = 30; + WaiomuCityLbl: Label 'Waiomu', MaxLength = 30; + WaitakaruruCityLbl: Label 'Waitakaruru', MaxLength = 30; + ColvilleCityLbl: Label 'Colville', MaxLength = 30; + CooksBeachCityLbl: Label 'Cooks Beach', MaxLength = 30; + CoroglenCityLbl: Label 'Coroglen', MaxLength = 30; + HaheiCityLbl: Label 'Hahei', MaxLength = 30; + HotWaterBeachCityLbl: Label 'Hot Water Beach', MaxLength = 30; + AmodeoBayCityLbl: Label 'Amodeo Bay', MaxLength = 30; + CoromandelCityLbl: Label 'Coromandel', MaxLength = 30; + KennedyBayCityLbl: Label 'Kennedy Bay', MaxLength = 30; + KoputauakiCityLbl: Label 'Koputauaki', MaxLength = 30; + PapaarohaCityLbl: Label 'Papaaroha', MaxLength = 30; + PortCharlesCityLbl: Label 'Port Charles', MaxLength = 30; + TeKoumaCityLbl: Label 'Te Kouma', MaxLength = 30; + WhangapouaCityLbl: Label 'Whangapoua', MaxLength = 30; + NgateaCityLbl: Label 'Ngatea', MaxLength = 30; + TairuaCityLbl: Label 'Tairua', MaxLength = 30; + WhenuakiteCityLbl: Label 'Whenuakite', MaxLength = 30; + KuaotunuCityLbl: Label 'Kuaotunu', MaxLength = 30; + MercuryBayCityLbl: Label 'Mercury Bay', MaxLength = 30; + OpitoCityLbl: Label 'Opito', MaxLength = 30; + WhitiangaCityLbl: Label 'Whitianga', MaxLength = 30; + OpuaCityLbl: Label 'Opua', MaxLength = 30; + KaretuCityLbl: Label 'Karetu', MaxLength = 30; + KawakawaCityLbl: Label 'Kawakawa', MaxLength = 30; + MaromakuCityLbl: Label 'Maromaku', MaxLength = 30; + MotatauCityLbl: Label 'Motatau', MaxLength = 30; + WaiomioCityLbl: Label 'Waiomio', MaxLength = 30; + MoerewaCityLbl: Label 'Moerewa', MaxLength = 30; + HikutaiaCityLbl: Label 'Hikutaia', MaxLength = 30; + KerepehiCityLbl: Label 'Kerepehi', MaxLength = 30; + AwaitiCityLbl: Label 'Awaiti', MaxLength = 30; + KarangahakeCityLbl: Label 'Karangahake', MaxLength = 30; + MackaytownCityLbl: Label 'Mackaytown', MaxLength = 30; + NethertonCityLbl: Label 'Netherton', MaxLength = 30; + PaeroaCityLbl: Label 'Paeroa', MaxLength = 30; + ElstowCityLbl: Label 'Elstow', MaxLength = 30; + TeArohaCityLbl: Label 'Te Aroha', MaxLength = 30; + ManawaruCityLbl: Label 'Manawaru', MaxLength = 30; + WaihouCityLbl: Label 'Waihou', MaxLength = 30; + NgaruaCityLbl: Label 'Ngarua', MaxLength = 30; + SpringdaleCityLbl: Label 'Springdale', MaxLength = 30; + WaitoaCityLbl: Label 'Waitoa', MaxLength = 30; + WaihiBeachCityLbl: Label 'Waihi Beach', MaxLength = 30; + WaikinoCityLbl: Label 'Waikino', MaxLength = 30; + GoldenValleyCityLbl: Label 'Golden Valley', MaxLength = 30; + OpoutereCityLbl: Label 'Opoutere', MaxLength = 30; + WaihiCityLbl: Label 'Waihi', MaxLength = 30; + WaitawhetaCityLbl: Label 'Waitawheta', MaxLength = 30; + OnemanaCityLbl: Label 'Onemana', MaxLength = 30; + WhangamataCityLbl: Label 'Whangamata', MaxLength = 30; + WhiritoaCityLbl: Label 'Whiritoa', MaxLength = 30; + WhiritoaBeachCityLbl: Label 'Whiritoa Beach', MaxLength = 30; + AoroaCityLbl: Label 'Aoroa', MaxLength = 30; + ArangaCityLbl: Label 'Aranga', MaxLength = 30; + ArapohueCityLbl: Label 'Arapohue', MaxLength = 30; + AratapuCityLbl: Label 'Aratapu', MaxLength = 30; + DargavilleCityLbl: Label 'Dargaville', MaxLength = 30; + DonnellysCrossingCityLbl: Label 'Donnellys Crossing', MaxLength = 30; + EvansCampCityLbl: Label 'Evans Camp', MaxLength = 30; + HoangaCityLbl: Label 'Hoanga', MaxLength = 30; + KaihuCityLbl: Label 'Kaihu', MaxLength = 30; + KirikopuniCityLbl: Label 'Kirikopuni', MaxLength = 30; + MamaranuiCityLbl: Label 'Mamaranui', MaxLength = 30; + MangawhareCityLbl: Label 'Mangawhare', MaxLength = 30; + MititaiCityLbl: Label 'Mititai', MaxLength = 30; + MountWesleyCityLbl: Label 'Mount Wesley', MaxLength = 30; + MukaCityLbl: Label 'Muka', MaxLength = 30; + OkahuCityLbl: Label 'Okahu', MaxLength = 30; + OneteaCityLbl: Label 'Onetea', MaxLength = 30; + OtimaiCityLbl: Label 'Otimai', MaxLength = 30; + ParoreCityLbl: Label 'Parore', MaxLength = 30; + PoutuCityLbl: Label 'Poutu', MaxLength = 30; + RipiriaCityLbl: Label 'Ripiria', MaxLength = 30; + ScollsLandingCityLbl: Label 'Scolls Landing', MaxLength = 30; + TangowahineCityLbl: Label 'Tangowahine', MaxLength = 30; + TokatokaCityLbl: Label 'Tokatoka', MaxLength = 30; + TuriwiriCityLbl: Label 'Turiwiri', MaxLength = 30; + TutamoeCityLbl: Label 'Tutamoe', MaxLength = 30; + WaihueCityLbl: Label 'Waihue', MaxLength = 30; + WaipouaForestCityLbl: Label 'Waipoua Forest', MaxLength = 30; + WekawekaCityLbl: Label 'Wekaweka', MaxLength = 30; + WhatoroCityLbl: Label 'Whatoro', MaxLength = 30; + BellevueCityLbl: Label 'Bellevue', MaxLength = 30; + BethlehemCityLbl: Label 'Bethlehem', MaxLength = 30; + BrookfieldCityLbl: Label 'Brookfield', MaxLength = 30; + CherrywoodCityLbl: Label 'Cherrywood', MaxLength = 30; + GatePaCityLbl: Label 'Gate Pa', MaxLength = 30; + GreertonCityLbl: Label 'Greerton', MaxLength = 30; + HairiniCityLbl: Label 'Hairini', MaxLength = 30; + JudeaCityLbl: Label 'Judea', MaxLength = 30; + MatuaCityLbl: Label 'Matua', MaxLength = 30; + MaungatapuCityLbl: Label 'Maungatapu', MaxLength = 30; + OtumoetaiCityLbl: Label 'Otumoetai', MaxLength = 30; + ParkvaleCityLbl: Label 'Parkvale', MaxLength = 30; + PoikeCityLbl: Label 'Poike', MaxLength = 30; + TaurangaCityLbl: Label 'Tauranga', MaxLength = 30; + TaurangaCentralCityLbl: Label 'Tauranga Central', MaxLength = 30; + TeRetiCityLbl: Label 'Te Reti', MaxLength = 30; + WelcomeBayCityLbl: Label 'Welcome Bay', MaxLength = 30; + WindermereCityLbl: Label 'Windermere', MaxLength = 30; + AratakiCityLbl: Label 'Arataki', MaxLength = 30; + BayfairCityLbl: Label 'Bayfair', MaxLength = 30; + MatapihiCityLbl: Label 'Matapihi', MaxLength = 30; + MountMaunganuiCityLbl: Label 'Mount Maunganui', MaxLength = 30; + TeMaungaCityLbl: Label 'Te Maunga', MaxLength = 30; + PapamoaCityLbl: Label 'Papamoa', MaxLength = 30; + PapamoaBeachCityLbl: Label 'Papamoa Beach', MaxLength = 30; + PapamoaDomainCityLbl: Label 'Papamoa Domain', MaxLength = 30; + KaimaiCityLbl: Label 'Kaimai', MaxLength = 30; + KaitemakoCityLbl: Label 'Kaitemako', MaxLength = 30; + MindenCityLbl: Label 'Minden', MaxLength = 30; + OhauitiCityLbl: Label 'Ohauiti', MaxLength = 30; + OmokoroaCityLbl: Label 'Omokoroa', MaxLength = 30; + OropiCityLbl: Label 'Oropi', MaxLength = 30; + PohoiaCityLbl: Label 'Pohoia', MaxLength = 30; + PyesPaSchoolCityLbl: Label 'Pyes Pa School', MaxLength = 30; + TannersPointCityLbl: Label 'Tanners Point', MaxLength = 30; + TaurikoCityLbl: Label 'Tauriko', MaxLength = 30; + TePunaCityLbl: Label 'Te Puna', MaxLength = 30; + WhakamaramaCityLbl: Label 'Whakamarama', MaxLength = 30; + MatakanaIslandCityLbl: Label 'Matakana Island', MaxLength = 30; + OmokoroaBeachCityLbl: Label 'Omokoroa Beach', MaxLength = 30; + AthenreeCityLbl: Label 'Athenree', MaxLength = 30; + BowentownCityLbl: Label 'Bowentown', MaxLength = 30; + KatikatiCityLbl: Label 'Katikati', MaxLength = 30; + MaketuCityLbl: Label 'Maketu', MaxLength = 30; + PaengaroaCityLbl: Label 'Paengaroa', MaxLength = 30; + PongakawaCityLbl: Label 'Pongakawa', MaxLength = 30; + PukehinaCityLbl: Label 'Pukehina', MaxLength = 30; + TePukeCityLbl: Label 'Te Puke', MaxLength = 30; + KawerauCityLbl: Label 'Kawerau', MaxLength = 30; + AwakeriCityLbl: Label 'Awakeri', MaxLength = 30; + KopeopeoCityLbl: Label 'Kopeopeo', MaxLength = 30; + OnepuCityLbl: Label 'Onepu', MaxLength = 30; + OpouriaoCityLbl: Label 'Opouriao', MaxLength = 30; + OtakiriCityLbl: Label 'Otakiri', MaxLength = 30; + PiripaiCityLbl: Label 'Piripai', MaxLength = 30; + PoroporoCityLbl: Label 'Poroporo', MaxLength = 30; + RuatokiNorthCityLbl: Label 'Ruatoki North', MaxLength = 30; + ThorntonCityLbl: Label 'Thornton', MaxLength = 30; + WhakataneCityLbl: Label 'Whakatane', MaxLength = 30; + EdgecumbeCityLbl: Label 'Edgecumbe', MaxLength = 30; + MatataCityLbl: Label 'Matata', MaxLength = 30; + OhopeCityLbl: Label 'Ohope', MaxLength = 30; + OhopeBeachCityLbl: Label 'Ohope Beach', MaxLength = 30; + PortOhopeCityLbl: Label 'Port Ohope', MaxLength = 30; + TaneatuaCityLbl: Label 'Taneatua', MaxLength = 30; + TeTekoCityLbl: Label 'Te Teko', MaxLength = 30; + WaimanaCityLbl: Label 'Waimana', MaxLength = 30; + CapeRunawayCityLbl: Label 'Cape Runaway', MaxLength = 30; + OmaioCityLbl: Label 'Omaio', MaxLength = 30; + WaihauBayCityLbl: Label 'Waihau Bay', MaxLength = 30; + KutarereCityLbl: Label 'Kutarere', MaxLength = 30; + OmarumutuCityLbl: Label 'Omarumutu', MaxLength = 30; + OpapeCityLbl: Label 'Opape', MaxLength = 30; + OpotikiCityLbl: Label 'Opotiki', MaxLength = 30; + PaerataRidgeCityLbl: Label 'Paerata Ridge', MaxLength = 30; + WaiotahiCityLbl: Label 'Waiotahi', MaxLength = 30; + TeKahaCityLbl: Label 'Te Kaha', MaxLength = 30; + FentonParkCityLbl: Label 'Fenton Park', MaxLength = 30; + FordlandsCityLbl: Label 'Fordlands', MaxLength = 30; + GlenholmeCityLbl: Label 'Glenholme', MaxLength = 30; + HannahsBayCityLbl: Label 'Hannahs Bay', MaxLength = 30; + HoldensBayCityLbl: Label 'Holdens Bay', MaxLength = 30; + KawahaPointCityLbl: Label 'Kawaha Point', MaxLength = 30; + KoutuCityLbl: Label 'Koutu', MaxLength = 30; + LynmoreCityLbl: Label 'Lynmore', MaxLength = 30; + MangakakahiCityLbl: Label 'Mangakakahi', MaxLength = 30; + NgapunaCityLbl: Label 'Ngapuna', MaxLength = 30; + OhinemutuCityLbl: Label 'Ohinemutu', MaxLength = 30; + PleasantHeightsCityLbl: Label 'Pleasant Heights', MaxLength = 30; + PukehangiCityLbl: Label 'Pukehangi', MaxLength = 30; + RainbowSpringsCityLbl: Label 'Rainbow Springs', MaxLength = 30; + RotoruaCityLbl: Label 'Rotorua', MaxLength = 30; + RotoruaWestCityLbl: Label 'Rotorua West', MaxLength = 30; + SelwynHeightsCityLbl: Label 'Selwyn Heights', MaxLength = 30; + SunnybrookCityLbl: Label 'Sunnybrook', MaxLength = 30; + TeNgaeCityLbl: Label 'Te Ngae', MaxLength = 30; + TihiotongaCityLbl: Label 'Tihi-o-tonga', MaxLength = 30; + UtuhinaCityLbl: Label 'Utuhina', MaxLength = 30; + WesternHeightsCityLbl: Label 'Western Heights', MaxLength = 30; + WhakarewarewaCityLbl: Label 'Whakarewarewa', MaxLength = 30; + NgongotahaCityLbl: Label 'Ngongotaha', MaxLength = 30; + BlueLakeCityLbl: Label 'Blue Lake', MaxLength = 30; + GisbornePointCityLbl: Label 'Gisborne Point', MaxLength = 30; + HorohoroCityLbl: Label 'Horohoro', MaxLength = 30; + KaharoaCityLbl: Label 'Kaharoa', MaxLength = 30; + LakeTaraweraCityLbl: Label 'Lake Tarawera', MaxLength = 30; + NgakuruCityLbl: Label 'Ngakuru', MaxLength = 30; + RerewhakaaituCityLbl: Label 'Rerewhakaaitu', MaxLength = 30; + TikitereCityLbl: Label 'Tikitere', MaxLength = 30; + WaikiteCityLbl: Label 'Waikite', MaxLength = 30; + WaipaCityLbl: Label 'Waipa', MaxLength = 30; + LakeOkarekaCityLbl: Label 'Lake Okareka', MaxLength = 30; + LakeRotoitiCityLbl: Label 'Lake Rotoiti', MaxLength = 30; + LakeRotomaCityLbl: Label 'Lake Rotoma', MaxLength = 30; + MamakuCityLbl: Label 'Mamaku', MaxLength = 30; + MoureaCityLbl: Label 'Mourea', MaxLength = 30; + OkereFallsCityLbl: Label 'Okere Falls', MaxLength = 30; + RotoehuCityLbl: Label 'Rotoehu', MaxLength = 30; + RotoitiCityLbl: Label 'Rotoiti', MaxLength = 30; + MinginuiCityLbl: Label 'Minginui', MaxLength = 30; + RuatahunaCityLbl: Label 'Ruatahuna', MaxLength = 30; + KaingaroaForestCityLbl: Label 'Kaingaroa Forest', MaxLength = 30; + GalateaCityLbl: Label 'Galatea', MaxLength = 30; + MuruparaCityLbl: Label 'Murupara', MaxLength = 30; + AtiamuriCityLbl: Label 'Atiamuri', MaxLength = 30; + ReporoaCityLbl: Label 'Reporoa', MaxLength = 30; + BaylysBeachCityLbl: Label 'Baylys Beach', MaxLength = 30; + TangiteroriaCityLbl: Label 'Tangiteroria', MaxLength = 30; + TeKopuruCityLbl: Label 'Te Kopuru', MaxLength = 30; + ElginCityLbl: Label 'Elgin', MaxLength = 30; + GisborneCityLbl: Label 'Gisborne', MaxLength = 30; + KaitiCityLbl: Label 'Kaiti', MaxLength = 30; + MangapapaCityLbl: Label 'Mangapapa', MaxLength = 30; + TeHaparaCityLbl: Label 'Te Hapara', MaxLength = 30; + WhataupokoCityLbl: Label 'Whataupoko', MaxLength = 30; + MakarakaCityLbl: Label 'Makaraka', MaxLength = 30; + WhangaraCityLbl: Label 'Whangara', MaxLength = 30; + HicksBayCityLbl: Label 'Hicks Bay', MaxLength = 30; + TePuiaSpringsCityLbl: Label 'Te Puia Springs', MaxLength = 30; + TikitikiCityLbl: Label 'Tikitiki', MaxLength = 30; + WaipiroBayCityLbl: Label 'Waipiro Bay', MaxLength = 30; + RuatoriaCityLbl: Label 'Ruatoria', MaxLength = 30; + TeAraroaCityLbl: Label 'Te Araroa', MaxLength = 30; + TokomaruBayCityLbl: Label 'Tokomaru Bay', MaxLength = 30; + TolagaBayCityLbl: Label 'Tolaga Bay', MaxLength = 30; + MatawaiCityLbl: Label 'Matawai', MaxLength = 30; + MotuCityLbl: Label 'Motu', MaxLength = 30; + OrmondCityLbl: Label 'Ormond', MaxLength = 30; + TeKarakaCityLbl: Label 'Te Karaka', MaxLength = 30; + WhatatutuCityLbl: Label 'Whatatutu', MaxLength = 30; + TinirotoCityLbl: Label 'Tiniroto', MaxLength = 30; + WaerengaokuriCityLbl: Label 'Waerengaokuri', MaxLength = 30; + ManutukeCityLbl: Label 'Manutuke', MaxLength = 30; + MorereCityLbl: Label 'Morere', MaxLength = 30; + NgatapaCityLbl: Label 'Ngatapa', MaxLength = 30; + PatutahiCityLbl: Label 'Patutahi', MaxLength = 30; + HokiangaHarbourCityLbl: Label 'Hokianga Harbour', MaxLength = 30; + KaikoheCityLbl: Label 'Kaikohe', MaxLength = 30; + MairiCityLbl: Label 'Mairi', MaxLength = 30; + MatarauaCityLbl: Label 'Mataraua', MaxLength = 30; + MautawhereCityLbl: Label 'Mautawhere', MaxLength = 30; + NgawhaCityLbl: Label 'Ngawha', MaxLength = 30; + NgawhaSpringsCityLbl: Label 'Ngawha Springs', MaxLength = 30; + OhaeawaiCityLbl: Label 'Ohaeawai', MaxLength = 30; + OmanaiaCityLbl: Label 'Omanaia', MaxLength = 30; + OtahaCityLbl: Label 'Otaha', MaxLength = 30; + PakanaeCityLbl: Label 'Pakanae', MaxLength = 30; + PakarakaCityLbl: Label 'Pakaraka', MaxLength = 30; + PunakitereCityLbl: Label 'Punakitere', MaxLength = 30; + PureruaCityLbl: Label 'Purerua', MaxLength = 30; + TautoroCityLbl: Label 'Tautoro', MaxLength = 30; + TeIringaCityLbl: Label 'Te Iringa', MaxLength = 30; + WaimaCityLbl: Label 'Waima', MaxLength = 30; + WaimateNorthCityLbl: Label 'Waimate North', MaxLength = 30; + AhuririCityLbl: Label 'Ahuriri', MaxLength = 30; + AwatotoCityLbl: Label 'Awatoto', MaxLength = 30; + BluffHillCityLbl: Label 'Bluff Hill', MaxLength = 30; + GreenmeadowsCityLbl: Label 'Greenmeadows', MaxLength = 30; + HospitalHillCityLbl: Label 'Hospital Hill', MaxLength = 30; + JervoistownCityLbl: Label 'Jervoistown', MaxLength = 30; + MaraenuiCityLbl: Label 'Maraenui', MaxLength = 30; + MarewaCityLbl: Label 'Marewa', MaxLength = 30; + MeeaneeCityLbl: Label 'Meeanee', MaxLength = 30; + NapierCityLbl: Label 'Napier', MaxLength = 30; + OnekawaCityLbl: Label 'Onekawa', MaxLength = 30; + PirimaiCityLbl: Label 'Pirimai', MaxLength = 30; + TamateaCityLbl: Label 'Tamatea', MaxLength = 30; + TaradaleCityLbl: Label 'Taradale', MaxLength = 30; + TeAwaCityLbl: Label 'Te Awa', MaxLength = 30; + WestshoreCityLbl: Label 'Westshore', MaxLength = 30; + AropaonuiCityLbl: Label 'Aropaonui', MaxLength = 30; + EskdaleCityLbl: Label 'Eskdale', MaxLength = 30; + PuketitiriCityLbl: Label 'Puketitiri', MaxLength = 30; + RissingtonCityLbl: Label 'Rissington', MaxLength = 30; + TePohueCityLbl: Label 'Te Pohue', MaxLength = 30; + WaikoauCityLbl: Label 'Waikoau', MaxLength = 30; + WaiohikiCityLbl: Label 'Waiohiki', MaxLength = 30; + MoteoCityLbl: Label 'Moteo', MaxLength = 30; + PakowhaiCityLbl: Label 'Pakowhai', MaxLength = 30; + PatokaCityLbl: Label 'Patoka', MaxLength = 30; + PuketapuCityLbl: Label 'Puketapu', MaxLength = 30; + KotemaoriCityLbl: Label 'Kotemaori', MaxLength = 30; + PutereCityLbl: Label 'Putere', MaxLength = 30; + PutorinoCityLbl: Label 'Putorino', MaxLength = 30; + RaupungaCityLbl: Label 'Raupunga', MaxLength = 30; + TeHarotoCityLbl: Label 'Te Haroto', MaxLength = 30; + TutiraCityLbl: Label 'Tutira', MaxLength = 30; + BayViewCityLbl: Label 'Bay View', MaxLength = 30; + CliveCityLbl: Label 'Clive', MaxLength = 30; + ElsthorpeCityLbl: Label 'Elsthorpe', MaxLength = 30; + OmakereCityLbl: Label 'Omakere', MaxLength = 30; + OngaongaCityLbl: Label 'Ongaonga', MaxLength = 30; + OtaneCityLbl: Label 'Otane', MaxLength = 30; + TikokinoCityLbl: Label 'Tikokino', MaxLength = 30; + WaipawaCityLbl: Label 'Waipawa', MaxLength = 30; + AshleyClintonCityLbl: Label 'Ashley Clinton', MaxLength = 30; + KopuaCityLbl: Label 'Kopua', MaxLength = 30; + MakaretuCityLbl: Label 'Makaretu', MaxLength = 30; + PorangahauCityLbl: Label 'Porangahau', MaxLength = 30; + TakapauCityLbl: Label 'Takapau', MaxLength = 30; + WaipukurauCityLbl: Label 'Waipukurau', MaxLength = 30; + WansteadCityLbl: Label 'Wanstead', MaxLength = 30; + WhenuahouCityLbl: Label 'Whenuahou', MaxLength = 30; + AwamateCityLbl: Label 'Awamate', MaxLength = 30; + FrasertownCityLbl: Label 'Frasertown', MaxLength = 30; + KihituPaCityLbl: Label 'Kihitu Pa', MaxLength = 30; + LakeWaikaremoanaCityLbl: Label 'Lake Waikaremoana', MaxLength = 30; + MahiaCityLbl: Label 'Mahia', MaxLength = 30; + MahiaBeachCityLbl: Label 'Mahia Beach', MaxLength = 30; + NorthClydeCityLbl: Label 'North Clyde', MaxLength = 30; + NuhakaCityLbl: Label 'Nuhaka', MaxLength = 30; + OpoutamaCityLbl: Label 'Opoutama', MaxLength = 30; + TeReingaCityLbl: Label 'Te Reinga', MaxLength = 30; + TuaiCityLbl: Label 'Tuai', MaxLength = 30; + TuharaCityLbl: Label 'Tuhara', MaxLength = 30; + WaihuaCityLbl: Label 'Waihua', MaxLength = 30; + WairoaCityLbl: Label 'Wairoa', MaxLength = 30; + WhakakiCityLbl: Label 'Whakaki', MaxLength = 30; + AkinaCityLbl: Label 'Akina', MaxLength = 30; + CamberleyCityLbl: Label 'Camberley', MaxLength = 30; + FlaxmereCityLbl: Label 'Flaxmere', MaxLength = 30; + FrimleyCityLbl: Label 'Frimley', MaxLength = 30; + HastingsCityLbl: Label 'Hastings', MaxLength = 30; + HavelockNorthCityLbl: Label 'Havelock North', MaxLength = 30; + MahoraCityLbl: Label 'Mahora', MaxLength = 30; + MayfairCityLbl: Label 'Mayfair', MaxLength = 30; + PakipakiCityLbl: Label 'Pakipaki', MaxLength = 30; + RaurekaCityLbl: Label 'Raureka', MaxLength = 30; + StortfordLodgeCityLbl: Label 'Stortford Lodge', MaxLength = 30; + TomoanaCityLbl: Label 'Tomoana', MaxLength = 30; + BridgePaCityLbl: Label 'Bridge Pa', MaxLength = 30; + CrownthorpeCityLbl: Label 'Crownthorpe', MaxLength = 30; + LonglandsCityLbl: Label 'Longlands', MaxLength = 30; + MangatahiCityLbl: Label 'Mangatahi', MaxLength = 30; + MangateretereCityLbl: Label 'Mangateretere', MaxLength = 30; + MaraetotaraCityLbl: Label 'Maraetotara', MaxLength = 30; + OpapaCityLbl: Label 'Opapa', MaxLength = 30; + PoukawaCityLbl: Label 'Poukawa', MaxLength = 30; + PukehouCityLbl: Label 'Pukehou', MaxLength = 30; + RoysHillCityLbl: Label 'Roys Hill', MaxLength = 30; + SherendenCityLbl: Label 'Sherenden', MaxLength = 30; + TeHaukeCityLbl: Label 'Te Hauke', MaxLength = 30; + TwyfordCityLbl: Label 'Twyford', MaxLength = 30; + WaimaramaCityLbl: Label 'Waimarama', MaxLength = 30; + WaipatuCityLbl: Label 'Waipatu', MaxLength = 30; + WaiwhareCityLbl: Label 'Waiwhare', MaxLength = 30; + FernhillCityLbl: Label 'Fernhill', MaxLength = 30; + HaumoanaCityLbl: Label 'Haumoana', MaxLength = 30; + TeAwangaCityLbl: Label 'Te Awanga', MaxLength = 30; + WhakatuCityLbl: Label 'Whakatu', MaxLength = 30; + TahekeCityLbl: Label 'Taheke', MaxLength = 30; + OmapereCityLbl: Label 'Omapere', MaxLength = 30; + OpononiCityLbl: Label 'Opononi', MaxLength = 30; + RaweneCityLbl: Label 'Rawene', MaxLength = 30; + WaimamakuCityLbl: Label 'Waimamaku', MaxLength = 30; + HorekeCityLbl: Label 'Horeke', MaxLength = 30; + MangamukaBridgeCityLbl: Label 'Mangamuka Bridge', MaxLength = 30; + MatauriBayCityLbl: Label 'Matauri Bay', MaxLength = 30; + OkaihauCityLbl: Label 'Okaihau', MaxLength = 30; + RahiriCityLbl: Label 'Rahiri', MaxLength = 30; + RangiahuaCityLbl: Label 'Rangiahua', MaxLength = 30; + SettlesWayCityLbl: Label 'Settles Way', MaxLength = 30; + UmaweraCityLbl: Label 'Umawera', MaxLength = 30; + WaitarukeCityLbl: Label 'Waitaruke', MaxLength = 30; + BellBlockCityLbl: Label 'Bell Block', MaxLength = 30; + FerndaleCityLbl: Label 'Ferndale', MaxLength = 30; + FrankleighParkCityLbl: Label 'Frankleigh Park', MaxLength = 30; + GlenAvonCityLbl: Label 'Glen Avon', MaxLength = 30; + HighlandsParkCityLbl: Label 'Highlands Park', MaxLength = 30; + LynmouthCityLbl: Label 'Lynmouth', MaxLength = 30; + MarfellCityLbl: Label 'Marfell', MaxLength = 30; + MerrilandsCityLbl: Label 'Merrilands', MaxLength = 30; + MoturoaCityLbl: Label 'Moturoa', MaxLength = 30; + NewPlymouthCityLbl: Label 'New Plymouth', MaxLength = 30; + SpotswoodCityLbl: Label 'Spotswood', MaxLength = 30; + StrandonCityLbl: Label 'Strandon', MaxLength = 30; + VogeltownCityLbl: Label 'Vogeltown', MaxLength = 30; + WelbournCityLbl: Label 'Welbourn', MaxLength = 30; + WestownCityLbl: Label 'Westown', MaxLength = 30; + AwakinoCityLbl: Label 'Awakino', MaxLength = 30; + LeppertonCityLbl: Label 'Lepperton', MaxLength = 30; + MokauCityLbl: Label 'Mokau', MaxLength = 30; + OakuraCityLbl: Label 'Oakura', MaxLength = 30; + EgmontVillageCityLbl: Label 'Egmont Village', MaxLength = 30; + InglewoodCityLbl: Label 'Inglewood', MaxLength = 30; + TarataCityLbl: Label 'Tarata', MaxLength = 30; + TarikiCityLbl: Label 'Tariki', MaxLength = 30; + OkatoCityLbl: Label 'Okato', MaxLength = 30; + UrenuiCityLbl: Label 'Urenui', MaxLength = 30; + UrutiCityLbl: Label 'Uruti', MaxLength = 30; + TikorangiCityLbl: Label 'Tikorangi', MaxLength = 30; + WaitaraCityLbl: Label 'Waitara', MaxLength = 30; + ElthamCityLbl: Label 'Eltham', MaxLength = 30; + MangamingiCityLbl: Label 'Mangamingi', MaxLength = 30; + DoresBayCityLbl: Label 'Dores Bay', MaxLength = 30; + KerikeriCityLbl: Label 'Kerikeri', MaxLength = 30; + TeTiiCityLbl: Label 'Te Tii', MaxLength = 30; + WaipapaCityLbl: Label 'Waipapa', MaxLength = 30; + DouglasCityLbl: Label 'Douglas', MaxLength = 30; + MountEgmontCityLbl: Label 'Mount Egmont', MaxLength = 30; + StratfordCityLbl: Label 'Stratford', MaxLength = 30; + TahoraCityLbl: Label 'Tahora', MaxLength = 30; + WhangamomonaCityLbl: Label 'Whangamomona', MaxLength = 30; + KaeoCityLbl: Label 'Kaeo', MaxLength = 30; + MatangirauCityLbl: Label 'Matangirau', MaxLength = 30; + SaiesCityLbl: Label 'Saies', MaxLength = 30; + TaurangaBayCityLbl: Label 'Tauranga Bay', MaxLength = 30; + TotaraNorthCityLbl: Label 'Totara North', MaxLength = 30; + WaihapaCityLbl: Label 'Waihapa', MaxLength = 30; + WhangaroaCityLbl: Label 'Whangaroa', MaxLength = 30; + MidhirstCityLbl: Label 'Midhirst', MaxLength = 30; + TeWeraCityLbl: Label 'Te Wera', MaxLength = 30; + KohuratahiCityLbl: Label 'Kohuratahi', MaxLength = 30; + MakahuCityLbl: Label 'Makahu', MaxLength = 30; + TokoCityLbl: Label 'Toko', MaxLength = 30; + AuroaCityLbl: Label 'Auroa', MaxLength = 30; + HaweraCityLbl: Label 'Hawera', MaxLength = 30; + KapongaCityLbl: Label 'Kaponga', MaxLength = 30; + ManaiaCityLbl: Label 'Manaia', MaxLength = 30; + OtakehoCityLbl: Label 'Otakeho', MaxLength = 30; + MatapuCityLbl: Label 'Matapu', MaxLength = 30; + OkaiawaCityLbl: Label 'Okaiawa', MaxLength = 30; + OaonuiCityLbl: Label 'Oaonui', MaxLength = 30; + OpunakeCityLbl: Label 'Opunake', MaxLength = 30; + PungarehuCityLbl: Label 'Pungarehu', MaxLength = 30; + RahotuCityLbl: Label 'Rahotu', MaxLength = 30; + DiggersValleyCityLbl: Label 'Diggers Valley', MaxLength = 30; + HoneymoonValleyCityLbl: Label 'Honeymoon Valley', MaxLength = 30; + KaingaroaCityLbl: Label 'Kaingaroa', MaxLength = 30; + KaitaiaCityLbl: Label 'Kaitaia', MaxLength = 30; + LakeOhiaCityLbl: Label 'Lake Ohia', MaxLength = 30; + NgatakiCityLbl: Label 'Ngataki', MaxLength = 30; + OwhataCityLbl: Label 'Owhata', MaxLength = 30; + PamapuriaCityLbl: Label 'Pamapuria', MaxLength = 30; + PaparoreCityLbl: Label 'Paparore', MaxLength = 30; + ParanuiCityLbl: Label 'Paranui', MaxLength = 30; + ParaparaCityLbl: Label 'Parapara', MaxLength = 30; + ParengaCityLbl: Label 'Parenga', MaxLength = 30; + PeriaCityLbl: Label 'Peria', MaxLength = 30; + PukenuiCityLbl: Label 'Pukenui', MaxLength = 30; + PukepotoCityLbl: Label 'Pukepoto', MaxLength = 30; + RangiputaCityLbl: Label 'Rangiputa', MaxLength = 30; + SweetwaterCityLbl: Label 'Sweetwater', MaxLength = 30; + TakahueCityLbl: Label 'Takahue', MaxLength = 30; + TokerauBeachCityLbl: Label 'Tokerau Beach', MaxLength = 30; + WaipapakauriCityLbl: Label 'Waipapakauri', MaxLength = 30; + AramohoCityLbl: Label 'Aramoho', MaxLength = 30; + BastiaHillCityLbl: Label 'Bastia Hill', MaxLength = 30; + CastlecliffCityLbl: Label 'Castlecliff', MaxLength = 30; + DurieHillCityLbl: Label 'Durie Hill', MaxLength = 30; + GonvilleCityLbl: Label 'Gonville', MaxLength = 30; + MosstonCityLbl: Label 'Mosston', MaxLength = 30; + SpringvaleCityLbl: Label 'Springvale', MaxLength = 30; + StJohnsHillCityLbl: Label 'St Johns Hill', MaxLength = 30; + WanganuiCityLbl: Label 'Wanganui', MaxLength = 30; + WanganuiEastCityLbl: Label 'Wanganui East', MaxLength = 30; + BrunswickCityLbl: Label 'Brunswick', MaxLength = 30; + JerusalemCityLbl: Label 'Jerusalem', MaxLength = 30; + KaiIwiCityLbl: Label 'Kai Iwi', MaxLength = 30; + KaiwhaikiPaCityLbl: Label 'Kaiwhaiki Pa', MaxLength = 30; + KakatahiCityLbl: Label 'Kakatahi', MaxLength = 30; + KorinitiCityLbl: Label 'Koriniti', MaxLength = 30; + LongAcreCityLbl: Label 'Long Acre', MaxLength = 30; + MangamahuCityLbl: Label 'Mangamahu', MaxLength = 30; + MarybankCityLbl: Label 'Marybank', MaxLength = 30; + OkoiaCityLbl: Label 'Okoia', MaxLength = 30; + PipirikiCityLbl: Label 'Pipiriki', MaxLength = 30; + RapanuiCityLbl: Label 'Rapanui', MaxLength = 30; + UpokongaroCityLbl: Label 'Upokongaro', MaxLength = 30; + WestmereCityLbl: Label 'Westmere', MaxLength = 30; + FordellCityLbl: Label 'Fordell', MaxLength = 30; + RatanaCityLbl: Label 'Ratana', MaxLength = 30; + TurakinaCityLbl: Label 'Turakina', MaxLength = 30; + MaxwellCityLbl: Label 'Maxwell', MaxLength = 30; + MowhanauBeachCityLbl: Label 'Mowhanau Beach', MaxLength = 30; + WaitotaraCityLbl: Label 'Waitotara', MaxLength = 30; + ManutahiCityLbl: Label 'Manutahi', MaxLength = 30; + PateaCityLbl: Label 'Patea', MaxLength = 30; + WhenuakuraCityLbl: Label 'Whenuakura', MaxLength = 30; + AwapuniCityLbl: Label 'Awapuni', MaxLength = 30; + CloverleaCityLbl: Label 'Cloverlea', MaxLength = 30; + FitzherbertCityLbl: Label 'Fitzherbert', MaxLength = 30; + HokowhituCityLbl: Label 'Hokowhitu', MaxLength = 30; + KelvinGroveCityLbl: Label 'Kelvin Grove', MaxLength = 30; + MilsonCityLbl: Label 'Milson', MaxLength = 30; + PalmerstonNorthCityLbl: Label 'Palmerston North', MaxLength = 30; + TakaroCityLbl: Label 'Takaro', MaxLength = 30; + TerraceEndCityLbl: Label 'Terrace End', MaxLength = 30; + WestEndCityLbl: Label 'West End', MaxLength = 30; + AokautereCityLbl: Label 'Aokautere', MaxLength = 30; + BainesseCityLbl: Label 'Bainesse', MaxLength = 30; + GlenOrouaCityLbl: Label 'Glen Oroua', MaxLength = 30; + KairangaCityLbl: Label 'Kairanga', MaxLength = 30; + LintonCityLbl: Label 'Linton', MaxLength = 30; + OpikiCityLbl: Label 'Opiki', MaxLength = 30; + RangiotuCityLbl: Label 'Rangiotu', MaxLength = 30; + WhakarongoCityLbl: Label 'Whakarongo', MaxLength = 30; + ClydesdaleCityLbl: Label 'Clydesdale', MaxLength = 30; + LintonCampCityLbl: Label 'Linton Camp', MaxLength = 30; + OhakeaCityLbl: Label 'Ohakea', MaxLength = 30; + SansonCityLbl: Label 'Sanson', MaxLength = 30; + TangimoanaCityLbl: Label 'Tangimoana', MaxLength = 30; + TokomaruCityLbl: Label 'Tokomaru', MaxLength = 30; + WaitohiCityLbl: Label 'Waitohi', MaxLength = 30; + AshhurstCityLbl: Label 'Ashhurst', MaxLength = 30; + PohanginaCityLbl: Label 'Pohangina', MaxLength = 30; + BullsCityLbl: Label 'Bulls', MaxLength = 30; + FlockHouseCityLbl: Label 'Flock House', MaxLength = 30; + SantoftCityLbl: Label 'Santoft', MaxLength = 30; + BunnythorpeCityLbl: Label 'Bunnythorpe', MaxLength = 30; + LongburnCityLbl: Label 'Longburn', MaxLength = 30; + RongoteaCityLbl: Label 'Rongotea', MaxLength = 30; + HuntervilleCityLbl: Label 'Hunterville', MaxLength = 30; + OhingaitiCityLbl: Label 'Ohingaiti', MaxLength = 30; + PoukioreCityLbl: Label 'Poukiore', MaxLength = 30; + MangawekaCityLbl: Label 'Mangaweka', MaxLength = 30; + MakohineValleyCityLbl: Label 'Makohine Valley', MaxLength = 30; + MataroaCityLbl: Label 'Mataroa', MaxLength = 30; + OmataneCityLbl: Label 'Omatane', MaxLength = 30; + PapanuiJunctionCityLbl: Label 'Papanui Junction', MaxLength = 30; + PukeokahuCityLbl: Label 'Pukeokahu', MaxLength = 30; + TaihapeCityLbl: Label 'Taihape', MaxLength = 30; + UtikuCityLbl: Label 'Utiku', MaxLength = 30; + WiniataCityLbl: Label 'Winiata', MaxLength = 30; + WaiouruCityLbl: Label 'Waiouru', MaxLength = 30; + WaiouruMilitaryCampCityLbl: Label 'Waiouru Military Camp', MaxLength = 30; + BonnyGlenCityLbl: Label 'Bonny Glen', MaxLength = 30; + LakeAliceCityLbl: Label 'Lake Alice', MaxLength = 30; + MakirikiriSouthCityLbl: Label 'Makirikiri South', MaxLength = 30; + MartonCityLbl: Label 'Marton', MaxLength = 30; + RataCityLbl: Label 'Rata', MaxLength = 30; + KarioiCityLbl: Label 'Karioi', MaxLength = 30; + OhakuneCityLbl: Label 'Ohakune', MaxLength = 30; + OhakuneJunctionCityLbl: Label 'Ohakune Junction', MaxLength = 30; + RaetihiCityLbl: Label 'Raetihi', MaxLength = 30; + KohinuiSchoolCityLbl: Label 'Kohinui School', MaxLength = 30; + MakuriCityLbl: Label 'Makuri', MaxLength = 30; + MangamaireCityLbl: Label 'Mangamaire', MaxLength = 30; + MangaoneCityLbl: Label 'Mangaone', MaxLength = 30; + PahiatuaCityLbl: Label 'Pahiatua', MaxLength = 30; + PongaroaCityLbl: Label 'Pongaroa', MaxLength = 30; + HopelandsCityLbl: Label 'Hopelands', MaxLength = 30; + WoodvilleCityLbl: Label 'Woodville', MaxLength = 30; + EketahunaCityLbl: Label 'Eketahuna', MaxLength = 30; + PutaraCityLbl: Label 'Putara', MaxLength = 30; + TiraumeaCityLbl: Label 'Tiraumea', MaxLength = 30; + DannevirkeCityLbl: Label 'Dannevirke', MaxLength = 30; + HerbertvilleCityLbl: Label 'Herbertville', MaxLength = 30; + MatamauCityLbl: Label 'Matamau', MaxLength = 30; + MoteaCityLbl: Label 'Motea', MaxLength = 30; + NorsewoodCityLbl: Label 'Norsewood', MaxLength = 30; + OrmondvilleCityLbl: Label 'Ormondville', MaxLength = 30; + TeRehungaCityLbl: Label 'Te Rehunga', MaxLength = 30; + UmutaoroaCityLbl: Label 'Umutaoroa', MaxLength = 30; + WeberCityLbl: Label 'Weber', MaxLength = 30; + WimbledonCityLbl: Label 'Wimbledon', MaxLength = 30; + CapeReingaCityLbl: Label 'Cape Reinga', MaxLength = 30; + HouhoraCityLbl: Label 'Houhora', MaxLength = 30; + MotutangiCityLbl: Label 'Motutangi', MaxLength = 30; + PandoraCityLbl: Label 'Pandora', MaxLength = 30; + TeHapuaCityLbl: Label 'Te Hapua', MaxLength = 30; + TeKaoCityLbl: Label 'Te Kao', MaxLength = 30; + WaihararaCityLbl: Label 'Waiharara', MaxLength = 30; + HeatherleaCityLbl: Label 'Heatherlea', MaxLength = 30; + HokioBeachCityLbl: Label 'Hokio Beach', MaxLength = 30; + KoputaroaCityLbl: Label 'Koputaroa', MaxLength = 30; + LevinCityLbl: Label 'Levin', MaxLength = 30; + ManakauCityLbl: Label 'Manakau', MaxLength = 30; + OhauCityLbl: Label 'Ohau', MaxLength = 30; + WaitarereCityLbl: Label 'Waitarere', MaxLength = 30; + WeraroaCityLbl: Label 'Weraroa', MaxLength = 30; + AhiparaCityLbl: Label 'Ahipara', MaxLength = 30; + HerekinoCityLbl: Label 'Herekino', MaxLength = 30; + AwanuiCityLbl: Label 'Awanui', MaxLength = 30; + FoxtonCityLbl: Label 'Foxton', MaxLength = 30; + FoxtonBeachCityLbl: Label 'Foxton Beach', MaxLength = 30; + HimatangiBeachCityLbl: Label 'Himatangi Beach', MaxLength = 30; + ShannonCityLbl: Label 'Shannon', MaxLength = 30; + OtakiCityLbl: Label 'Otaki', MaxLength = 30; + TeHoroCityLbl: Label 'Te Horo', MaxLength = 30; + CableBayCityLbl: Label 'Cable Bay', MaxLength = 30; + CoopersBeachCityLbl: Label 'Coopers Beach', MaxLength = 30; + MangonuiCityLbl: Label 'Mangonui', MaxLength = 30; + OruaitiCityLbl: Label 'Oruaiti', MaxLength = 30; + OruruCityLbl: Label 'Oruru', MaxLength = 30; + TaipaCityLbl: Label 'Taipa', MaxLength = 30; + ApitiCityLbl: Label 'Apiti', MaxLength = 30; + CheltenhamCityLbl: Label 'Cheltenham', MaxLength = 30; + ColytonCityLbl: Label 'Colyton', MaxLength = 30; + FeildingCityLbl: Label 'Feilding', MaxLength = 30; + HalcombeCityLbl: Label 'Halcombe', MaxLength = 30; + KimboltonCityLbl: Label 'Kimbolton', MaxLength = 30; + MountStewartCityLbl: Label 'Mount Stewart', MaxLength = 30; + RangiwahiaCityLbl: Label 'Rangiwahia', MaxLength = 30; + RewaCityLbl: Label 'Rewa', MaxLength = 30; + RuahineCityLbl: Label 'Ruahine', MaxLength = 30; + TaonuiCityLbl: Label 'Taonui', MaxLength = 30; + UtuwaiCityLbl: Label 'Utuwai', MaxLength = 30; + WaitunaWestCityLbl: Label 'Waituna West', MaxLength = 30; + KohukohuCityLbl: Label 'Kohukohu', MaxLength = 30; + PanguruCityLbl: Label 'Panguru', MaxLength = 30; + PawarengaCityLbl: Label 'Pawarenga', MaxLength = 30; + RangiPointCityLbl: Label 'Rangi Point', MaxLength = 30; + BroadwoodCityLbl: Label 'Broadwood', MaxLength = 30; + MaungaturotoCityLbl: Label 'Maungaturoto', MaxLength = 30; + WhakapirauCityLbl: Label 'Whakapirau', MaxLength = 30; + KaiwakaCityLbl: Label 'Kaiwaka', MaxLength = 30; + MangawhaiCityLbl: Label 'Mangawhai', MaxLength = 30; + TaraCityLbl: Label 'Tara', MaxLength = 30; + MatakoheCityLbl: Label 'Matakohe', MaxLength = 30; + TinopaiCityLbl: Label 'Tinopai', MaxLength = 30; + PaparoaCityLbl: Label 'Paparoa', MaxLength = 30; + TaipuhaCityLbl: Label 'Taipuha', MaxLength = 30; + NaumaiCityLbl: Label 'Naumai', MaxLength = 30; + RaupoCityLbl: Label 'Raupo', MaxLength = 30; + RuawaiCityLbl: Label 'Ruawai', MaxLength = 30; + MastertonCityLbl: Label 'Masterton', MaxLength = 30; + BidefordCityLbl: Label 'Bideford', MaxLength = 30; + BlairlogieCityLbl: Label 'Blairlogie', MaxLength = 30; + FernridgeCityLbl: Label 'Fernridge', MaxLength = 30; + HomewoodCityLbl: Label 'Homewood', MaxLength = 30; + IhurauaCityLbl: Label 'Ihuraua', MaxLength = 30; + LongbushCityLbl: Label 'Longbush', MaxLength = 30; + MatahiwiCityLbl: Label 'Matahiwi', MaxLength = 30; + MauricevilleCityLbl: Label 'Mauriceville', MaxLength = 30; + MountBruceCityLbl: Label 'Mount Bruce', MaxLength = 30; + TeOreoreCityLbl: Label 'Te Oreore', MaxLength = 30; + WhangaehuCityLbl: Label 'Whangaehu', MaxLength = 30; + CartertonCityLbl: Label 'Carterton', MaxLength = 30; + ClarevilleCityLbl: Label 'Clareville', MaxLength = 30; + PonatahiCityLbl: Label 'Ponatahi', MaxLength = 30; + CapePalliserCityLbl: Label 'Cape Palliser', MaxLength = 30; + FeatherstonCityLbl: Label 'Featherston', MaxLength = 30; + KahutaraCityLbl: Label 'Kahutara', MaxLength = 30; + PirinoaCityLbl: Label 'Pirinoa', MaxLength = 30; + TauherenikauCityLbl: Label 'Tauherenikau', MaxLength = 30; + BatterseaCityLbl: Label 'Battersea', MaxLength = 30; + GreytownCityLbl: Label 'Greytown', MaxLength = 30; + WoodsideCityLbl: Label 'Woodside', MaxLength = 30; + HinakuraCityLbl: Label 'Hinakura', MaxLength = 30; + MartinboroughCityLbl: Label 'Martinborough', MaxLength = 30; + CastlepointCityLbl: Label 'Castlepoint', MaxLength = 30; + RiversdaleBeachCityLbl: Label 'Riversdale Beach', MaxLength = 30; + TinuiCityLbl: Label 'Tinui', MaxLength = 30; + HighlandParkCityLbl: Label 'Highland Park', MaxLength = 30; + MountVictoriaCityLbl: Label 'Mount Victoria', MaxLength = 30; + OrientalBayCityLbl: Label 'Oriental Bay', MaxLength = 30; + WadestownCityLbl: Label 'Wadestown', MaxLength = 30; + AroValleyCityLbl: Label 'Aro Valley', MaxLength = 30; + BerhamporeCityLbl: Label 'Berhampore', MaxLength = 30; + BrooklynCityLbl: Label 'Brooklyn', MaxLength = 30; + HappyValleyCityLbl: Label 'Happy Valley', MaxLength = 30; + IslandBayCityLbl: Label 'Island Bay', MaxLength = 30; + KowhaiParkCityLbl: Label 'Kowhai Park', MaxLength = 30; + NewtownCityLbl: Label 'Newtown', MaxLength = 30; + OwhiroBayCityLbl: Label 'Owhiro Bay', MaxLength = 30; + BreakerBayCityLbl: Label 'Breaker Bay', MaxLength = 30; + EvansBayCityLbl: Label 'Evans Bay', MaxLength = 30; + HataitaiCityLbl: Label 'Hataitai', MaxLength = 30; + HoughtonBayCityLbl: Label 'Houghton Bay', MaxLength = 30; + KarakaBayCityLbl: Label 'Karaka Bay', MaxLength = 30; + KilbirnieCityLbl: Label 'Kilbirnie', MaxLength = 30; + KilbirnieCity2Lbl: Label 'KILBIRNIE', MaxLength = 30; + LyallBayCityLbl: Label 'Lyall Bay', MaxLength = 30; + MaupuiaCityLbl: Label 'Maupuia', MaxLength = 30; + MelroseCityLbl: Label 'Melrose', MaxLength = 30; + MiramarCityLbl: Label 'Miramar', MaxLength = 30; + MiramarCity2Lbl: Label 'MIRAMAR', MaxLength = 30; + RongotaiCityLbl: Label 'Rongotai', MaxLength = 30; + ScorchingBayCityLbl: Label 'Scorching Bay', MaxLength = 30; + SeatounCityLbl: Label 'Seatoun', MaxLength = 30; + ShellyBayCityLbl: Label 'Shelly Bay', MaxLength = 30; + StrathmoreCityLbl: Label 'Strathmore', MaxLength = 30; + StrathmoreParkCityLbl: Label 'Strathmore Park', MaxLength = 30; + WorserBayCityLbl: Label 'Worser Bay', MaxLength = 30; + BroadmeadowsCityLbl: Label 'Broadmeadows', MaxLength = 30; + CashmereCityLbl: Label 'Cashmere', MaxLength = 30; + ChartwellCityLbl: Label 'Chartwell', MaxLength = 30; + ChurtonParkCityLbl: Label 'Churton Park', MaxLength = 30; + CroftonDownsCityLbl: Label 'Crofton Downs', MaxLength = 30; + GlensideCityLbl: Label 'Glenside', MaxLength = 30; + GrenadaNorthCityLbl: Label 'Grenada North', MaxLength = 30; + GrenadaVillageCityLbl: Label 'Grenada Village', MaxLength = 30; + JohnsonvilleCityLbl: Label 'Johnsonville', MaxLength = 30; + JohnsonvilleCity2Lbl: Label 'JOHNSONVILLE', MaxLength = 30; + KaiwharawharaCityLbl: Label 'Kaiwharawhara', MaxLength = 30; + KhandallahCityLbl: Label 'Khandallah', MaxLength = 30; + KhandallahCity2Lbl: Label 'KHANDALLAH', MaxLength = 30; + NewlandsCityLbl: Label 'Newlands', MaxLength = 30; + NewlandsCity2Lbl: Label 'NEWLANDS', MaxLength = 30; + NgaioCityLbl: Label 'Ngaio', MaxLength = 30; + NgaioCity2Lbl: Label 'NGAIO', MaxLength = 30; + NgaurangaCityLbl: Label 'Ngauranga', MaxLength = 30; + OhariuValleyCityLbl: Label 'Ohariu Valley', MaxLength = 30; + PaparangiCityLbl: Label 'Paparangi', MaxLength = 30; + RangoonHeightsCityLbl: Label 'Rangoon Heights', MaxLength = 30; + RaroaCityLbl: Label 'Raroa', MaxLength = 30; + HighburyCityLbl: Label 'Highbury', MaxLength = 30; + KaroriCityLbl: Label 'Karori', MaxLength = 30; + KaroriCity2Lbl: Label 'KARORI', MaxLength = 30; + KelburnCityLbl: Label 'Kelburn', MaxLength = 30; + KelburnCity2Lbl: Label 'KELBURN', MaxLength = 30; + MakaraCityLbl: Label 'Makara', MaxLength = 30; + MakaraBeachCityLbl: Label 'Makara Beach', MaxLength = 30; + MitchelltownCityLbl: Label 'Mitchelltown', MaxLength = 30; + NorthlandCityLbl: Label 'Northland', MaxLength = 30; + WiltonCityLbl: Label 'Wilton', MaxLength = 30; + AscotParkCityLbl: Label 'Ascot Park', MaxLength = 30; + CamborneCityLbl: Label 'Camborne', MaxLength = 30; + CannonsCreekCityLbl: Label 'Cannons Creek', MaxLength = 30; + ElsdonCityLbl: Label 'Elsdon', MaxLength = 30; + GoldenGateCityLbl: Label 'Golden Gate', MaxLength = 30; + GreenacresCityLbl: Label 'Greenacres', MaxLength = 30; + HongoekaBayCityLbl: Label 'Hongoeka Bay', MaxLength = 30; + JudgefordCityLbl: Label 'Judgeford', MaxLength = 30; + KarehanaBayCityLbl: Label 'Karehana Bay', MaxLength = 30; + LindenCityLbl: Label 'Linden', MaxLength = 30; + LindenvaleCityLbl: Label 'Lindenvale', MaxLength = 30; + ManaCityLbl: Label 'Mana', MaxLength = 30; + OnepotoCityLbl: Label 'Onepoto', MaxLength = 30; + PapakowhaiCityLbl: Label 'Papakowhai', MaxLength = 30; + ParemataCityLbl: Label 'Paremata', MaxLength = 30; + PauatahanuiCityLbl: Label 'Pauatahanui', MaxLength = 30; + PlimmertonCityLbl: Label 'Plimmerton', MaxLength = 30; + PoriruaCityLbl: Label 'Porirua', MaxLength = 30; + PoriruaCity2Lbl: Label 'PORIRUA', MaxLength = 30; + PoriruaEastCityLbl: Label 'Porirua East', MaxLength = 30; + RanuiHeightsCityLbl: Label 'Ranui Heights', MaxLength = 30; + RedwoodCityLbl: Label 'Redwood', MaxLength = 30; + SundaleCityLbl: Label 'Sundale', MaxLength = 30; + TakapuwahiaCityLbl: Label 'Takapuwahia', MaxLength = 30; + TawaCityLbl: Label 'Tawa', MaxLength = 30; + TawaCity2Lbl: Label 'TAWA', MaxLength = 30; + TitahiBayCityLbl: Label 'Titahi Bay', MaxLength = 30; + WaitangiruaCityLbl: Label 'Waitangirua', MaxLength = 30; + WhitbyCityLbl: Label 'Whitby', MaxLength = 30; + AkatarawaCityLbl: Label 'Akatarawa', MaxLength = 30; + BirchvilleCityLbl: Label 'Birchville', MaxLength = 30; + BlueMountainsCityLbl: Label 'Blue Mountains', MaxLength = 30; + BrownOwlCityLbl: Label 'Brown Owl', MaxLength = 30; + HeretaungaCityLbl: Label 'Heretaunga', MaxLength = 30; + KaitokeCityLbl: Label 'Kaitoke', MaxLength = 30; + KingsleyHeightsCityLbl: Label 'Kingsley Heights', MaxLength = 30; + MangaroaCityLbl: Label 'Mangaroa', MaxLength = 30; + MaoribankCityLbl: Label 'Maoribank', MaxLength = 30; + MaymornCityLbl: Label 'Maymorn', MaxLength = 30; + MoonshineCityLbl: Label 'Moonshine', MaxLength = 30; + PinehavenCityLbl: Label 'Pinehaven', MaxLength = 30; + SilverstreamCityLbl: Label 'Silverstream', MaxLength = 30; + TeMaruaCityLbl: Label 'Te Marua', MaxLength = 30; + ThePlateauCityLbl: Label 'The Plateau', MaxLength = 30; + TimberleaCityLbl: Label 'Timberlea', MaxLength = 30; + TotaraParkCityLbl: Label 'Totara Park', MaxLength = 30; + TrenthamCityLbl: Label 'Trentham', MaxLength = 30; + UpperHuttCityLbl: Label 'Upper Hutt', MaxLength = 30; + UpperHuttCity2Lbl: Label 'UPPER HUTT', MaxLength = 30; + WallacevilleCityLbl: Label 'Wallaceville', MaxLength = 30; + WhitemansValleyCityLbl: Label 'Whitemans Valley', MaxLength = 30; + AlicetownCityLbl: Label 'Alicetown', MaxLength = 30; + ArakuraCityLbl: Label 'Arakura', MaxLength = 30; + AvaCityLbl: Label 'Ava', MaxLength = 30; + DaysBayCityLbl: Label 'Days Bay', MaxLength = 30; + EastbourneCityLbl: Label 'Eastbourne', MaxLength = 30; + HomedaleCityLbl: Label 'Homedale', MaxLength = 30; + HorokiwiCityLbl: Label 'Horokiwi', MaxLength = 30; + KorokoroCityLbl: Label 'Korokoro', MaxLength = 30; + LowryBayCityLbl: Label 'Lowry Bay', MaxLength = 30; + MahinaBayCityLbl: Label 'Mahina Bay', MaxLength = 30; + MaungarakiCityLbl: Label 'Maungaraki', MaxLength = 30; + MuritaiCityLbl: Label 'Muritai', MaxLength = 30; + PetoneCityLbl: Label 'Petone', MaxLength = 30; + PointHowardCityLbl: Label 'Point Howard', MaxLength = 30; + RonaBayCityLbl: Label 'Rona Bay', MaxLength = 30; + SeaviewCityLbl: Label 'Seaview', MaxLength = 30; + SorrentoBayCityLbl: Label 'Sorrento Bay', MaxLength = 30; + StokesValleyCityLbl: Label 'Stokes Valley', MaxLength = 30; + SunshineBayCityLbl: Label 'Sunshine Bay', MaxLength = 30; + WainuiomataCityLbl: Label 'Wainuiomata', MaxLength = 30; + YorkBayCityLbl: Label 'York Bay', MaxLength = 30; + AvalonCityLbl: Label 'Avalon', MaxLength = 30; + BelmontCityLbl: Label 'Belmont', MaxLength = 30; + BoulcottCityLbl: Label 'Boulcott', MaxLength = 30; + EpuniCityLbl: Label 'Epuni', MaxLength = 30; + FairfieldCityLbl: Label 'Fairfield', MaxLength = 30; + GracefieldCityLbl: Label 'Gracefield', MaxLength = 30; + HarbourViewCityLbl: Label 'Harbour View', MaxLength = 30; + HaywardsCityLbl: Label 'Haywards', MaxLength = 30; + KelsonCityLbl: Label 'Kelson', MaxLength = 30; + LowerHuttCityLbl: Label 'Lower Hutt', MaxLength = 30; + LowerHuttCity2Lbl: Label 'LOWER HUTT', MaxLength = 30; + ManorParkCityLbl: Label 'Manor Park', MaxLength = 30; + MoeraCityLbl: Label 'Moera', MaxLength = 30; + NaenaeCityLbl: Label 'Naenae', MaxLength = 30; + NormandaleCityLbl: Label 'Normandale', MaxLength = 30; + ParkAvenueCityLbl: Label 'Park Avenue', MaxLength = 30; + PomareCityLbl: Label 'Pomare', MaxLength = 30; + TaitaCityLbl: Label 'Taita', MaxLength = 30; + TirohangaCityLbl: Label 'Tirohanga', MaxLength = 30; + WaiwhetuCityLbl: Label 'Waiwhetu', MaxLength = 30; + WaterlooCityLbl: Label 'Waterloo', MaxLength = 30; + WingateCityLbl: Label 'Wingate', MaxLength = 30; + WoburnCityLbl: Label 'Woburn', MaxLength = 30; + KenakenaCityLbl: Label 'Kenakena', MaxLength = 30; + OtaihangaCityLbl: Label 'Otaihanga', MaxLength = 30; + PaekakarikiCityLbl: Label 'Paekakariki', MaxLength = 30; + PaekakarikiCity2Lbl: Label 'PAEKAKARIKI', MaxLength = 30; + ParaparaumuCityLbl: Label 'Paraparaumu', MaxLength = 30; + ParaparaumuCity2Lbl: Label 'PARAPARAUMU', MaxLength = 30; + ParaparaumuBeachCityLbl: Label 'Paraparaumu Beach', MaxLength = 30; + ParaparaumuBeachCity2Lbl: Label 'PARAPARAUMU BEACH', MaxLength = 30; + PekapekaCityLbl: Label 'Peka peka', MaxLength = 30; + PukeruaBayCityLbl: Label 'Pukerua Bay', MaxLength = 30; + RaumatiCityLbl: Label 'Raumati', MaxLength = 30; + RaumatiBeachCityLbl: Label 'Raumati Beach', MaxLength = 30; + RaumatiBeachCity2Lbl: Label 'RAUMATI BEACH', MaxLength = 30; + RaumatiSouthCityLbl: Label 'Raumati South', MaxLength = 30; + ReikorangiCityLbl: Label 'Reikorangi', MaxLength = 30; + WaikanaeCityLbl: Label 'Waikanae', MaxLength = 30; + WaikanaeCity2Lbl: Label 'WAIKANAE', MaxLength = 30; + WaikanaeBeachCityLbl: Label 'Waikanae Beach', MaxLength = 30; + AnnesBrookCityLbl: Label 'Annes Brook', MaxLength = 30; + AtawhaiCityLbl: Label 'Atawhai', MaxLength = 30; + BritanniaHeightsCityLbl: Label 'Britannia Heights', MaxLength = 30; + BrooklandsCityLbl: Label 'Brooklands', MaxLength = 30; + EnnerGlynnCityLbl: Label 'Enner Glynn', MaxLength = 30; + MaitaiValleyCityLbl: Label 'Maitai Valley', MaxLength = 30; + MaitlandsCityLbl: Label 'Maitlands', MaxLength = 30; + MoanaCityLbl: Label 'Moana', MaxLength = 30; + MonacoCityLbl: Label 'Monaco', MaxLength = 30; + NaylandCityLbl: Label 'Nayland', MaxLength = 30; + NelsonCityLbl: Label 'Nelson', MaxLength = 30; + NelsonEastCityLbl: Label 'Nelson East', MaxLength = 30; + NelsonSouthCityLbl: Label 'Nelson South', MaxLength = 30; + NgawhatuCityLbl: Label 'Ngawhatu', MaxLength = 30; + PortNelsonCityLbl: Label 'Port Nelson', MaxLength = 30; + StokeCityLbl: Label 'Stoke', MaxLength = 30; + TahunanuiCityLbl: Label 'Tahunanui', MaxLength = 30; + TheWoodCityLbl: Label 'The Wood', MaxLength = 30; + ToiToiCityLbl: Label 'Toi Toi', MaxLength = 30; + WashingtonValleyCityLbl: Label 'Washington Valley', MaxLength = 30; + HopeCityLbl: Label 'Hope', MaxLength = 30; + RichmondCityLbl: Label 'Richmond', MaxLength = 30; + HiraCityLbl: Label 'Hira', MaxLength = 30; + TheGlenCityLbl: Label 'The Glen', MaxLength = 30; + ToddsValleyCityLbl: Label 'Todds Valley', MaxLength = 30; + WakapuakaCityLbl: Label 'Wakapuaka', MaxLength = 30; + AniseedValleyCityLbl: Label 'Aniseed Valley', MaxLength = 30; + ApplebyCityLbl: Label 'Appleby', MaxLength = 30; + BestsIslandCityLbl: Label 'Bests Island', MaxLength = 30; + RedwoodsValleyCityLbl: Label 'Redwoods Valley', MaxLength = 30; + BrightwaterCityLbl: Label 'Brightwater', MaxLength = 30; + LowerMoutereCityLbl: Label 'Lower Moutere', MaxLength = 30; + TasmanCityLbl: Label 'Tasman', MaxLength = 30; + UpperMoutereCityLbl: Label 'Upper Moutere', MaxLength = 30; + CanvastownCityLbl: Label 'Canvastown', MaxLength = 30; + HavelockCityLbl: Label 'Havelock', MaxLength = 30; + NydiaBayCityLbl: Label 'Nydia Bay', MaxLength = 30; + MapuaCityLbl: Label 'Mapua', MaxLength = 30; + FrenchPassCityLbl: Label 'French Pass', MaxLength = 30; + RaiValleyCityLbl: Label 'Rai Valley', MaxLength = 30; + KaiteriteriCityLbl: Label 'Kaiteriteri', MaxLength = 30; + MarahauCityLbl: Label 'Marahau', MaxLength = 30; + NgatimotiCityLbl: Label 'Ngatimoti', MaxLength = 30; + RiwakaCityLbl: Label 'Riwaka', MaxLength = 30; + WoodstockCityLbl: Label 'Woodstock', MaxLength = 30; + MotuekaCityLbl: Label 'Motueka', MaxLength = 30; + BainhamCityLbl: Label 'Bainham', MaxLength = 30; + CollingwoodCityLbl: Label 'Collingwood', MaxLength = 30; + FerntownCityLbl: Label 'Ferntown', MaxLength = 30; + PupongaCityLbl: Label 'Puponga', MaxLength = 30; + RockvilleCityLbl: Label 'Rockville', MaxLength = 30; + GoldenBayCityLbl: Label 'Golden Bay', MaxLength = 30; + HamamaCityLbl: Label 'Hamama', MaxLength = 30; + KotingaCityLbl: Label 'Kotinga', MaxLength = 30; + PatonsRockCityLbl: Label 'Patons Rock', MaxLength = 30; + RangihaeataCityLbl: Label 'Rangihaeata', MaxLength = 30; + TakakaCityLbl: Label 'Takaka', MaxLength = 30; + TarakoheCityLbl: Label 'Tarakohe', MaxLength = 30; + UpperTakakaCityLbl: Label 'Upper Takaka', MaxLength = 30; + KorereCityLbl: Label 'Korere', MaxLength = 30; + MotupikoCityLbl: Label 'Motupiko', MaxLength = 30; + StArnaudCityLbl: Label 'St Arnaud', MaxLength = 30; + BelgroveCityLbl: Label 'Belgrove', MaxLength = 30; + KohatuCityLbl: Label 'Kohatu', MaxLength = 30; + MatarikiCityLbl: Label 'Matariki', MaxLength = 30; + PigeonValleyCityLbl: Label 'Pigeon Valley', MaxLength = 30; + TadmorCityLbl: Label 'Tadmor', MaxLength = 30; + TapaweraCityLbl: Label 'Tapawera', MaxLength = 30; + ThorpeCityLbl: Label 'Thorpe', MaxLength = 30; + WaiitiCityLbl: Label 'Wai-iti', MaxLength = 30; + WakefieldCityLbl: Label 'Wakefield', MaxLength = 30; + MaruiaCityLbl: Label 'Maruia', MaxLength = 30; + LongfordCityLbl: Label 'Longford', MaxLength = 30; + MurchisonCityLbl: Label 'Murchison', MaxLength = 30; + OwenRiverCityLbl: Label 'Owen River', MaxLength = 30; + RotoroaCityLbl: Label 'Rotoroa', MaxLength = 30; + SixMileCityLbl: Label 'Six Mile', MaxLength = 30; + TutakiCityLbl: Label 'Tutaki', MaxLength = 30; + BlenheimCityLbl: Label 'Blenheim', MaxLength = 30; + LowerWairauCityLbl: Label 'Lower Wairau', MaxLength = 30; + RedwoodVillageCityLbl: Label 'Redwood Village', MaxLength = 30; + RiverlandsCityLbl: Label 'Riverlands', MaxLength = 30; + SpringlandsCityLbl: Label 'Springlands', MaxLength = 30; + AwatereValleyCityLbl: Label 'Awatere Valley', MaxLength = 30; + FairhallCityLbl: Label 'Fairhall', MaxLength = 30; + GrovetownCityLbl: Label 'Grovetown', MaxLength = 30; + RapauraCityLbl: Label 'Rapaura', MaxLength = 30; + WairauValleyCityLbl: Label 'Wairau Valley', MaxLength = 30; + KekerenguCityLbl: Label 'Kekerengu', MaxLength = 30; + SpringCreekCityLbl: Label 'Spring Creek', MaxLength = 30; + TuamarinaCityLbl: Label 'Tuamarina', MaxLength = 30; + WardCityLbl: Label 'Ward', MaxLength = 30; + RenwickCityLbl: Label 'Renwick', MaxLength = 30; + SeddonCityLbl: Label 'Seddon', MaxLength = 30; + WoodbourneCityLbl: Label 'Woodbourne', MaxLength = 30; + WoodbourneAirForceBaseCityLbl: Label 'Woodbourne Air Force Base', MaxLength = 30; + AnakiwaCityLbl: Label 'Anakiwa', MaxLength = 30; + EastBayCityLbl: Label 'East Bay', MaxLength = 30; + KenepuruSoundCityLbl: Label 'Kenepuru Sound', MaxLength = 30; + KoromikoCityLbl: Label 'Koromiko', MaxLength = 30; + LochmaraBayCityLbl: Label 'Lochmara Bay', MaxLength = 30; + MomorangiBayCityLbl: Label 'Momorangi Bay', MaxLength = 30; + PictonCityLbl: Label 'Picton', MaxLength = 30; + QueenCharlotteSoundCityLbl: Label 'Queen Charlotte Sound', MaxLength = 30; + RarangiCityLbl: Label 'Rarangi', MaxLength = 30; + WaikawaCityLbl: Label 'Waikawa', MaxLength = 30; + WestportCityLbl: Label 'Westport', MaxLength = 30; + BullerGorgeCityLbl: Label 'Buller Gorge', MaxLength = 30; + CapeFoulwindCityLbl: Label 'Cape Foulwind', MaxLength = 30; + CartersBeachCityLbl: Label 'Carters Beach', MaxLength = 30; + FairdownCityLbl: Label 'Fairdown', MaxLength = 30; + GranityCityLbl: Label 'Granity', MaxLength = 30; + HectorCityLbl: Label 'Hector', MaxLength = 30; + MillertonCityLbl: Label 'Millerton', MaxLength = 30; + SergeantsHillCityLbl: Label 'Sergeants Hill', MaxLength = 30; + TeKuhaCityLbl: Label 'Te Kuha', MaxLength = 30; + ArapitoCityLbl: Label 'Arapito', MaxLength = 30; + BirchfieldCityLbl: Label 'Birchfield', MaxLength = 30; + CharlestonCityLbl: Label 'Charleston', MaxLength = 30; + InangahuaJunctionCityLbl: Label 'Inangahua Junction', MaxLength = 30; + KarameaCityLbl: Label 'Karamea', MaxLength = 30; + KongahuCityLbl: Label 'Kongahu', MaxLength = 30; + MarketCrossCityLbl: Label 'Market Cross', MaxLength = 30; + MokihinuiCityLbl: Label 'Mokihinui', MaxLength = 30; + NgakawauCityLbl: Label 'Ngakawau', MaxLength = 30; + NikauCityLbl: Label 'Nikau', MaxLength = 30; + SeddonvilleCityLbl: Label 'Seddonville', MaxLength = 30; + WaimangaroaCityLbl: Label 'Waimangaroa', MaxLength = 30; + BlaketownCityLbl: Label 'Blaketown', MaxLength = 30; + CobdenCityLbl: Label 'Cobden', MaxLength = 30; + GreymouthCityLbl: Label 'Greymouth', MaxLength = 30; + BoddytownCityLbl: Label 'Boddytown', MaxLength = 30; + CoalCreekCityLbl: Label 'Coal Creek', MaxLength = 30; + KaiataCityLbl: Label 'Kaiata', MaxLength = 30; + KaroroCityLbl: Label 'Karoro', MaxLength = 30; + KokiriCityLbl: Label 'Kokiri', MaxLength = 30; + RapahoeCityLbl: Label 'Rapahoe', MaxLength = 30; + SouthBeachCityLbl: Label 'South Beach', MaxLength = 30; + StillwaterCityLbl: Label 'Stillwater', MaxLength = 30; + TaylorvilleCityLbl: Label 'Taylorville', MaxLength = 30; + AhauraCityLbl: Label 'Ahaura', MaxLength = 30; + AtarauCityLbl: Label 'Atarau', MaxLength = 30; + BarrytownCityLbl: Label 'Barrytown', MaxLength = 30; + BlackballCityLbl: Label 'Blackball', MaxLength = 30; + CameronsCityLbl: Label 'Camerons', MaxLength = 30; + IkamatuaCityLbl: Label 'Ikamatua', MaxLength = 30; + MawheraitiCityLbl: Label 'Mawheraiti', MaxLength = 30; + NgahereCityLbl: Label 'Ngahere', MaxLength = 30; + PunakaikiCityLbl: Label 'Punakaiki', MaxLength = 30; + TotaraFlatCityLbl: Label 'Totara Flat', MaxLength = 30; + BellHillCityLbl: Label 'Bell Hill', MaxLength = 30; + DobsonCityLbl: Label 'Dobson', MaxLength = 30; + WaipunaCityLbl: Label 'Waipuna', MaxLength = 30; + DunollieCityLbl: Label 'Dunollie', MaxLength = 30; + RunangaCityLbl: Label 'Runanga', MaxLength = 30; + AickensCityLbl: Label 'Aickens', MaxLength = 30; + JacksonsCityLbl: Label 'Jacksons', MaxLength = 30; + ParoaCityLbl: Label 'Paroa', MaxLength = 30; + RotomanuCityLbl: Label 'Rotomanu', MaxLength = 30; + ShantyTownCityLbl: Label 'Shanty Town', MaxLength = 30; + ArahuraCityLbl: Label 'Arahura', MaxLength = 30; + HokitikaCityLbl: Label 'Hokitika', MaxLength = 30; + KokatahiCityLbl: Label 'Kokatahi', MaxLength = 30; + KowhitirangiCityLbl: Label 'Kowhitirangi', MaxLength = 30; + RimuCityLbl: Label 'Rimu', MaxLength = 30; + RuatapuCityLbl: Label 'Ruatapu', MaxLength = 30; + BruceBayCityLbl: Label 'Bruce Bay', MaxLength = 30; + HaastCityLbl: Label 'Haast', MaxLength = 30; + JacksonBayCityLbl: Label 'Jackson Bay', MaxLength = 30; + KaniereCityLbl: Label 'Kaniere', MaxLength = 30; + LakeParingaCityLbl: Label 'Lake Paringa', MaxLength = 30; + PukekuraCityLbl: Label 'Pukekura', MaxLength = 30; + FoxGlacierCityLbl: Label 'Fox Glacier', MaxLength = 30; + FranzJosefCityLbl: Label 'Franz Josef', MaxLength = 30; + HarihariCityLbl: Label 'Harihari', MaxLength = 30; + RossCityLbl: Label 'Ross', MaxLength = 30; + WhataroaCityLbl: Label 'Whataroa', MaxLength = 30; + ChristchurchCityLbl: Label 'Christchurch', MaxLength = 30; + EdgewareCityLbl: Label 'Edgeware', MaxLength = 30; + LinwoodCityLbl: Label 'Linwood', MaxLength = 30; + MairehauCityLbl: Label 'Mairehau', MaxLength = 30; + MerivaleCityLbl: Label 'Merivale', MaxLength = 30; + PhilipstownCityLbl: Label 'Philipstown', MaxLength = 30; + ShirleyCityLbl: Label 'Shirley', MaxLength = 30; + StAlbansCityLbl: Label 'St Albans', MaxLength = 30; + AddingtonCityLbl: Label 'Addington', MaxLength = 30; + BarringtonCityLbl: Label 'Barrington', MaxLength = 30; + BeckenhamCityLbl: Label 'Beckenham', MaxLength = 30; + FerrymeadCityLbl: Label 'Ferrymead', MaxLength = 30; + HeathcoteValleyCityLbl: Label 'Heathcote Valley', MaxLength = 30; + HillmortonCityLbl: Label 'Hillmorton', MaxLength = 30; + HillsboroughCityLbl: Label 'Hillsborough', MaxLength = 30; + HoonHayCityLbl: Label 'Hoon Hay', MaxLength = 30; + HuntsburyCityLbl: Label 'Huntsbury', MaxLength = 30; + MiddletonCityLbl: Label 'Middleton', MaxLength = 30; + MurrayAynsleyCityLbl: Label 'Murray Aynsley', MaxLength = 30; + OpawaCityLbl: Label 'Opawa', MaxLength = 30; + SomerfieldCityLbl: Label 'Somerfield', MaxLength = 30; + SpreydonCityLbl: Label 'Spreydon', MaxLength = 30; + StMartinsCityLbl: Label 'St Martins', MaxLength = 30; + SydenhamCityLbl: Label 'Sydenham', MaxLength = 30; + WalthamCityLbl: Label 'Waltham', MaxLength = 30; + WestmorlandCityLbl: Label 'Westmorland', MaxLength = 30; + WoolstonCityLbl: Label 'Woolston', MaxLength = 30; + HalswellCityLbl: Label 'Halswell', MaxLength = 30; + OaklandsCityLbl: Label 'Oaklands', MaxLength = 30; + AvonheadCityLbl: Label 'Avonhead', MaxLength = 30; + BroomfieldCityLbl: Label 'Broomfield', MaxLength = 30; + HeiHeiCityLbl: Label 'Hei Hei', MaxLength = 30; + HornbyCityLbl: Label 'Hornby', MaxLength = 30; + IlamCityLbl: Label 'Ilam', MaxLength = 30; + IslingtonCityLbl: Label 'Islington', MaxLength = 30; + MashamCityLbl: Label 'Masham', MaxLength = 30; + RiccartonCityLbl: Label 'Riccarton', MaxLength = 30; + RollestonCityLbl: Label 'Rolleston', MaxLength = 30; + RussleyCityLbl: Label 'Russley', MaxLength = 30; + SockburnCityLbl: Label 'Sockburn', MaxLength = 30; + TempletonCityLbl: Label 'Templeton', MaxLength = 30; + UpperRiccartonCityLbl: Label 'Upper Riccarton', MaxLength = 30; + WigramCityLbl: Label 'Wigram', MaxLength = 30; + YaldhurstCityLbl: Label 'Yaldhurst', MaxLength = 30; + BelfastCityLbl: Label 'Belfast', MaxLength = 30; + BishopdaleCityLbl: Label 'Bishopdale', MaxLength = 30; + BryndwrCityLbl: Label 'Bryndwr', MaxLength = 30; + BurnsideCityLbl: Label 'Burnside', MaxLength = 30; + CasebrookCityLbl: Label 'Casebrook', MaxLength = 30; + FendaltonCityLbl: Label 'Fendalton', MaxLength = 30; + HarewoodCityLbl: Label 'Harewood', MaxLength = 30; + NorthcoteCityLbl: Label 'Northcote', MaxLength = 30; + PapanuiCityLbl: Label 'Papanui', MaxLength = 30; + StyxCityLbl: Label 'Styx', MaxLength = 30; + AvonsideCityLbl: Label 'Avonside', MaxLength = 30; + BromleyCityLbl: Label 'Bromley', MaxLength = 30; + BurwoodCityLbl: Label 'Burwood', MaxLength = 30; + DallingtonCityLbl: Label 'Dallington', MaxLength = 30; + WainoniCityLbl: Label 'Wainoni', MaxLength = 30; + AranuiCityLbl: Label 'Aranui', MaxLength = 30; + AvondaleCityLbl: Label 'Avondale', MaxLength = 30; + BexleyCityLbl: Label 'Bexley', MaxLength = 30; + NewBrightonCityLbl: Label 'New Brighton', MaxLength = 30; + SouthNewBrightonCityLbl: Label 'South New Brighton', MaxLength = 30; + SouthshoreCityLbl: Label 'Southshore', MaxLength = 30; + BalmoralHillCityLbl: Label 'Balmoral Hill', MaxLength = 30; + MoncksBayCityLbl: Label 'Moncks Bay', MaxLength = 30; + MoncksSpurCityLbl: Label 'Moncks Spur', MaxLength = 30; + MountPleasantCityLbl: Label 'Mount Pleasant', MaxLength = 30; + RedcliffsCityLbl: Label 'Redcliffs', MaxLength = 30; + RichmondHillCityLbl: Label 'Richmond Hill', MaxLength = 30; + StAndrewsHillCityLbl: Label 'St Andrews Hill', MaxLength = 30; + SumnerCityLbl: Label 'Sumner', MaxLength = 30; + TaylorsMistakeCityLbl: Label 'Taylors Mistake', MaxLength = 30; + KaingaCityLbl: Label 'Kainga', MaxLength = 30; + MarshlandCityLbl: Label 'Marshland', MaxLength = 30; + NorthNewBrightonCityLbl: Label 'North New Brighton', MaxLength = 30; + OuruhiaCityLbl: Label 'Ouruhia', MaxLength = 30; + ParklandsCityLbl: Label 'Parklands', MaxLength = 30; + SpencervilleCityLbl: Label 'Spencerville', MaxLength = 30; + StewartsGullyCityLbl: Label 'Stewarts Gully', MaxLength = 30; + WaimariBeachCityLbl: Label 'Waimari Beach', MaxLength = 30; + LytteltonCityLbl: Label 'Lyttelton', MaxLength = 30; + BroadfieldCityLbl: Label 'Broadfield', MaxLength = 30; + IrwellCityLbl: Label 'Irwell', MaxLength = 30; + WeedonsCityLbl: Label 'Weedons', MaxLength = 30; + WestMeltonCityLbl: Label 'West Melton', MaxLength = 30; + ChathamIslandsCityLbl: Label 'Chatham Islands', MaxLength = 30; + DiamondHarbourCityLbl: Label 'Diamond Harbour', MaxLength = 30; + PittIslandChathamIsCityLbl: Label 'Pitt Island (Chatham Is)', MaxLength = 30; + WaitangiChathamIsCityLbl: Label 'Waitangi (Chatham Is)', MaxLength = 30; + GovernorsBayCityLbl: Label 'Governors Bay', MaxLength = 30; + AtaahuaCityLbl: Label 'Ataahua', MaxLength = 30; + DoylestonCityLbl: Label 'Doyleston', MaxLength = 30; + GreenparkCityLbl: Label 'Greenpark', MaxLength = 30; + LadbrooksCityLbl: Label 'Ladbrooks', MaxLength = 30; + LansdowneCityLbl: Label 'Lansdowne', MaxLength = 30; + LincolnUniversityCityLbl: Label 'Lincoln University', MaxLength = 30; + MotukararaCityLbl: Label 'Motukarara', MaxLength = 30; + SouthbridgeCityLbl: Label 'Southbridge', MaxLength = 30; + SpringstonCityLbl: Label 'Springston', MaxLength = 30; + TaitapuCityLbl: Label 'Taitapu', MaxLength = 30; + BrooksideCityLbl: Label 'Brookside', MaxLength = 30; + LeestonCityLbl: Label 'Leeston', MaxLength = 30; + LincolnCityLbl: Label 'Lincoln', MaxLength = 30; + PrebbletonCityLbl: Label 'Prebbleton', MaxLength = 30; + DuvauchelleCityLbl: Label 'Duvauchelle', MaxLength = 30; + AkaroaCityLbl: Label 'Akaroa', MaxLength = 30; + LittleAkaloaCityLbl: Label 'Little Akaloa', MaxLength = 30; + OkainsBayCityLbl: Label 'Okains Bay', MaxLength = 30; + PigeonBayCityLbl: Label 'Pigeon Bay', MaxLength = 30; + LittleRiverCityLbl: Label 'Little River', MaxLength = 30; + DillmanstownCityLbl: Label 'Dillmanstown', MaxLength = 30; + GlentunnelCityLbl: Label 'Glentunnel', MaxLength = 30; + KirweeCityLbl: Label 'Kirwee', MaxLength = 30; + KowaiBushCityLbl: Label 'Kowai Bush', MaxLength = 30; + SpringfieldCityLbl: Label 'Springfield', MaxLength = 30; + CoalgateCityLbl: Label 'Coalgate', MaxLength = 30; + DarfieldCityLbl: Label 'Darfield', MaxLength = 30; + HororataCityLbl: Label 'Hororata', MaxLength = 30; + KimberleyCityLbl: Label 'Kimberley', MaxLength = 30; + LakeColeridgeCityLbl: Label 'Lake Coleridge', MaxLength = 30; + RacecourseHillCityLbl: Label 'Racecourse Hill', MaxLength = 30; + SheffieldCityLbl: Label 'Sheffield', MaxLength = 30; + ArthursPassCityLbl: Label 'Arthurs Pass', MaxLength = 30; + KumaraCityLbl: Label 'Kumara', MaxLength = 30; + OtiraCityLbl: Label 'Otira', MaxLength = 30; + DunsandelCityLbl: Label 'Dunsandel', MaxLength = 30; + BurnhamCityLbl: Label 'Burnham', MaxLength = 30; + BurnhamCampCityLbl: Label 'Burnham Camp', MaxLength = 30; + CouttsIslandCityLbl: Label 'Coutts Island', MaxLength = 30; + TuahiwiCityLbl: Label 'Tuahiwi', MaxLength = 30; + AmberleyCityLbl: Label 'Amberley', MaxLength = 30; + LeithfieldBeachCityLbl: Label 'Leithfield Beach', MaxLength = 30; + KaiapoiCityLbl: Label 'Kaiapoi', MaxLength = 30; + KairakiBeachCityLbl: Label 'Kairaki Beach', MaxLength = 30; + OhokaCityLbl: Label 'Ohoka', MaxLength = 30; + PinesBeachCityLbl: Label 'Pines Beach', MaxLength = 30; + OxfordCityLbl: Label 'Oxford', MaxLength = 30; + LoburnCityLbl: Label 'Loburn', MaxLength = 30; + RangioraCityLbl: Label 'Rangiora', MaxLength = 30; + SeftonCityLbl: Label 'Sefton', MaxLength = 30; + SouthbrookCityLbl: Label 'Southbrook', MaxLength = 30; + WaikukuCityLbl: Label 'Waikuku', MaxLength = 30; + WaikukuBeachCityLbl: Label 'Waikuku Beach', MaxLength = 30; + GretaValleyCityLbl: Label 'Greta Valley', MaxLength = 30; + RotherhamCityLbl: Label 'Rotherham', MaxLength = 30; + SpringsJunctionCityLbl: Label 'Springs Junction', MaxLength = 30; + WaiparaCityLbl: Label 'Waipara', MaxLength = 30; + CheviotCityLbl: Label 'Cheviot', MaxLength = 30; + ParnassusCityLbl: Label 'Parnassus', MaxLength = 30; + CulverdenCityLbl: Label 'Culverden', MaxLength = 30; + HanmerSpringsCityLbl: Label 'Hanmer Springs', MaxLength = 30; + HawardenCityLbl: Label 'Hawarden', MaxLength = 30; + WaiauCityLbl: Label 'Waiau', MaxLength = 30; + WaikariCityLbl: Label 'Waikari', MaxLength = 30; + CustCityLbl: Label 'Cust', MaxLength = 30; + ClarenceCityLbl: Label 'Clarence', MaxLength = 30; + KaikouraCityLbl: Label 'Kaikoura', MaxLength = 30; + ReeftonCityLbl: Label 'Reefton', MaxLength = 30; + AllentonCityLbl: Label 'Allenton', MaxLength = 30; + AshburtonCityLbl: Label 'Ashburton', MaxLength = 30; + FairtonCityLbl: Label 'Fairton', MaxLength = 30; + LauristonCityLbl: Label 'Lauriston', MaxLength = 30; + RiversideCityLbl: Label 'Riverside', MaxLength = 30; + SeafieldCityLbl: Label 'Seafield', MaxLength = 30; + SherwoodCityLbl: Label 'Sherwood', MaxLength = 30; + WakanuiCityLbl: Label 'Wakanui', MaxLength = 30; + WesterfieldCityLbl: Label 'Westerfield', MaxLength = 30; + WillowbyCityLbl: Label 'Willowby', MaxLength = 30; + WinchmoreCityLbl: Label 'Winchmore', MaxLength = 30; + WinslowCityLbl: Label 'Winslow', MaxLength = 30; + TinwaldCityLbl: Label 'Tinwald', MaxLength = 30; + ChertseyCityLbl: Label 'Chertsey', MaxLength = 30; + EalingCityLbl: Label 'Ealing', MaxLength = 30; + HindsCityLbl: Label 'Hinds', MaxLength = 30; + LismoreCityLbl: Label 'Lismore', MaxLength = 30; + AnamaCityLbl: Label 'Anama', MaxLength = 30; + MayfieldCityLbl: Label 'Mayfield', MaxLength = 30; + AlfordForestCityLbl: Label 'Alford Forest', MaxLength = 30; + HighbankCityLbl: Label 'Highbank', MaxLength = 30; + MethvenCityLbl: Label 'Methven', MaxLength = 30; + MountSomersCityLbl: Label 'Mount Somers', MaxLength = 30; + SpringburnCityLbl: Label 'Springburn', MaxLength = 30; + DorieCityLbl: Label 'Dorie', MaxLength = 30; + RakaiaCityLbl: Label 'Rakaia', MaxLength = 30; + CarolineBayCityLbl: Label 'Caroline Bay', MaxLength = 30; + GlenitiCityLbl: Label 'Gleniti', MaxLength = 30; + GlenwoodCityLbl: Label 'Glenwood', MaxLength = 30; + HighfieldCityLbl: Label 'Highfield', MaxLength = 30; + MarchwielCityLbl: Label 'Marchwiel', MaxLength = 30; + RedruthCityLbl: Label 'Redruth', MaxLength = 30; + TimaruCityLbl: Label 'Timaru', MaxLength = 30; + WaimataitaiCityLbl: Label 'Waimataitai', MaxLength = 30; + WashdykeCityLbl: Label 'Washdyke', MaxLength = 30; + FairviewCityLbl: Label 'Fairview', MaxLength = 30; + GordonsValleyCityLbl: Label 'Gordons Valley', MaxLength = 30; + HadlowCityLbl: Label 'Hadlow', MaxLength = 30; + KerrytownCityLbl: Label 'Kerrytown', MaxLength = 30; + KingsdownCityLbl: Label 'Kingsdown', MaxLength = 30; + LevelsValleyCityLbl: Label 'Levels Valley', MaxLength = 30; + MaungatiCityLbl: Label 'Maungati', MaxLength = 30; + OtaioCityLbl: Label 'Otaio', MaxLength = 30; + OtipuaCityLbl: Label 'Otipua', MaxLength = 30; + RosewillCityLbl: Label 'Rosewill', MaxLength = 30; + SeadownCityLbl: Label 'Seadown', MaxLength = 30; + TaikoCityLbl: Label 'Taiko', MaxLength = 30; + OrariCityLbl: Label 'Orari', MaxLength = 30; + PeelForestCityLbl: Label 'Peel Forest', MaxLength = 30; + WinchesterCityLbl: Label 'Winchester', MaxLength = 30; + ArundelCityLbl: Label 'Arundel', MaxLength = 30; + GeraldineCityLbl: Label 'Geraldine', MaxLength = 30; + PleasantValleyCityLbl: Label 'Pleasant Valley', MaxLength = 30; + RangitataGorgeCityLbl: Label 'Rangitata Gorge', MaxLength = 30; + WoodburyCityLbl: Label 'Woodbury', MaxLength = 30; + HiltonCityLbl: Label 'Hilton', MaxLength = 30; + TemukaCityLbl: Label 'Temuka', MaxLength = 30; + AlburyCityLbl: Label 'Albury', MaxLength = 30; + CanningtonCityLbl: Label 'Cannington', MaxLength = 30; + CaveCityLbl: Label 'Cave', MaxLength = 30; + LakeTekapoCityLbl: Label 'Lake Tekapo', MaxLength = 30; + MonavaleCityLbl: Label 'Monavale', MaxLength = 30; + MountCookCityLbl: Label 'Mount Cook', MaxLength = 30; + AshwickFlatCityLbl: Label 'Ashwick Flat', MaxLength = 30; + BurkePassCityLbl: Label 'Burke Pass', MaxLength = 30; + CattleValleyCityLbl: Label 'Cattle Valley', MaxLength = 30; + ClaytonCityLbl: Label 'Clayton', MaxLength = 30; + FairlieCityLbl: Label 'Fairlie', MaxLength = 30; + SherwoodDownsCityLbl: Label 'Sherwood Downs', MaxLength = 30; + OpihiCityLbl: Label 'Opihi', MaxLength = 30; + PleasantPointCityLbl: Label 'Pleasant Point', MaxLength = 30; + LakeOhauCityLbl: Label 'Lake Ohau', MaxLength = 30; + TwizelCityLbl: Label 'Twizel', MaxLength = 30; + BlueCliffsCityLbl: Label 'Blue Cliffs', MaxLength = 30; + MakikihiCityLbl: Label 'Makikihi', MaxLength = 30; + PareoraCityLbl: Label 'Pareora', MaxLength = 30; + StAndrewsCityLbl: Label 'St Andrews', MaxLength = 30; + DeepCreekCityLbl: Label 'Deep Creek', MaxLength = 30; + GlenavyCityLbl: Label 'Glenavy', MaxLength = 30; + IkawaiCityLbl: Label 'Ikawai', MaxLength = 30; + MorvenCityLbl: Label 'Morven', MaxLength = 30; + StudholmeCityLbl: Label 'Studholme', MaxLength = 30; + TawaiCityLbl: Label 'Tawai', MaxLength = 30; + UretaneCityLbl: Label 'Uretane', MaxLength = 30; + WaihaoCityLbl: Label 'Waihao', MaxLength = 30; + WaihaorungaCityLbl: Label 'Waihaorunga', MaxLength = 30; + WaikakahiCityLbl: Label 'Waikakahi', MaxLength = 30; + WaimateCityLbl: Label 'Waimate', MaxLength = 30; + WaitunaCityLbl: Label 'Waituna', MaxLength = 30; + OamaruCityLbl: Label 'Oamaru', MaxLength = 30; + WaiarekaJunctionCityLbl: Label 'Waiareka Junction', MaxLength = 30; + WestonCityLbl: Label 'Weston', MaxLength = 30; + ArdgowanCityLbl: Label 'Ardgowan', MaxLength = 30; + CorriedaleCityLbl: Label 'Corriedale', MaxLength = 30; + DeborahCityLbl: Label 'Deborah', MaxLength = 30; + EnfieldCityLbl: Label 'Enfield', MaxLength = 30; + FuchsiaCreekCityLbl: Label 'Fuchsia Creek', MaxLength = 30; + HerbertCityLbl: Label 'Herbert', MaxLength = 30; + KakanuiCityLbl: Label 'Kakanui', MaxLength = 30; + KiaOraCityLbl: Label 'Kia Ora', MaxLength = 30; + MahenoCityLbl: Label 'Maheno', MaxLength = 30; + NgaparaCityLbl: Label 'Ngapara', MaxLength = 30; + PapakaioCityLbl: Label 'Papakaio', MaxLength = 30; + PeeblesCityLbl: Label 'Peebles', MaxLength = 30; + PukeuriCityLbl: Label 'Pukeuri', MaxLength = 30; + ReidstonCityLbl: Label 'Reidston', MaxLength = 30; + TapuiCityLbl: Label 'Tapui', MaxLength = 30; + TotaraCityLbl: Label 'Totara', MaxLength = 30; + WaianakaruaCityLbl: Label 'Waianakarua', MaxLength = 30; + DuntroonCityLbl: Label 'Duntroon', MaxLength = 30; + HampdenCityLbl: Label 'Hampden', MaxLength = 30; + OmaramaCityLbl: Label 'Omarama', MaxLength = 30; + OtematataCityLbl: Label 'Otematata', MaxLength = 30; + CattleCreekCityLbl: Label 'Cattle Creek', MaxLength = 30; + HakaValleyCityLbl: Label 'Haka Valley', MaxLength = 30; + HakatarameaValleyCityLbl: Label 'Hakataramea Valley', MaxLength = 30; + KurowCityLbl: Label 'Kurow', MaxLength = 30; + LakeAviemoreCityLbl: Label 'Lake Aviemore', MaxLength = 30; + LakeWaitakiCityLbl: Label 'Lake Waitaki', MaxLength = 30; + AndersonsBayCityLbl: Label 'Andersons Bay', MaxLength = 30; + BalaclavaCityLbl: Label 'Balaclava', MaxLength = 30; + BelleknowesCityLbl: Label 'Belleknowes', MaxLength = 30; + BradfordCityLbl: Label 'Bradford', MaxLength = 30; + BrockvilleCityLbl: Label 'Brockville', MaxLength = 30; + CavershamCityLbl: Label 'Caversham', MaxLength = 30; + CorstorphineCityLbl: Label 'Corstorphine', MaxLength = 30; + DalmoreCityLbl: Label 'Dalmore', MaxLength = 30; + DunedinCityLbl: Label 'Dunedin', MaxLength = 30; + DunedinNorthCityLbl: Label 'Dunedin North', MaxLength = 30; + GlenleithCityLbl: Label 'Glenleith', MaxLength = 30; + HalfwayBushCityLbl: Label 'Halfway Bush', MaxLength = 30; + HelensburghCityLbl: Label 'Helensburgh', MaxLength = 30; + HighcliffCityLbl: Label 'Highcliff', MaxLength = 30; + KaikoraiCityLbl: Label 'Kaikorai', MaxLength = 30; + KenmureCityLbl: Label 'Kenmure', MaxLength = 30; + KensingtonCityLbl: Label 'Kensington', MaxLength = 30; + KewCityLbl: Label 'Kew', MaxLength = 30; + LibertonCityLbl: Label 'Liberton', MaxLength = 30; + LookoutPointCityLbl: Label 'Lookout Point', MaxLength = 30; + MaoriHillCityLbl: Label 'Maori Hill', MaxLength = 30; + MaryhillCityLbl: Label 'Maryhill', MaxLength = 30; + MorningtonCityLbl: Label 'Mornington', MaxLength = 30; + MusselburghCityLbl: Label 'Musselburgh', MaxLength = 30; + NormanbyCityLbl: Label 'Normanby', MaxLength = 30; + NorthEastValleyCityLbl: Label 'North East Valley', MaxLength = 30; + OceanGroveCityLbl: Label 'Ocean Grove', MaxLength = 30; + OpohoCityLbl: Label 'Opoho', MaxLength = 30; + PineHillCityLbl: Label 'Pine Hill', MaxLength = 30; + RoslynCityLbl: Label 'Roslyn', MaxLength = 30; + ShielHillCityLbl: Label 'Shiel Hill', MaxLength = 30; + SouthDunedinCityLbl: Label 'South Dunedin', MaxLength = 30; + StClairCityLbl: Label 'St Clair', MaxLength = 30; + StKildaCityLbl: Label 'St Kilda', MaxLength = 30; + TainuiCityLbl: Label 'Tainui', MaxLength = 30; + VauxhallCityLbl: Label 'Vauxhall', MaxLength = 30; + WakariCityLbl: Label 'Wakari', MaxLength = 30; + WaverleyCityLbl: Label 'Waverley', MaxLength = 30; + WoodhaughCityLbl: Label 'Woodhaugh', MaxLength = 30; + MaiaCityLbl: Label 'Maia', MaxLength = 30; + RavensbourneCityLbl: Label 'Ravensbourne', MaxLength = 30; + StLeonardsCityLbl: Label 'St Leonards', MaxLength = 30; + CompanyBayCityLbl: Label 'Company Bay', MaxLength = 30; + MacandrewBayCityLbl: Label 'Macandrew Bay', MaxLength = 30; + BroadBayCityLbl: Label 'Broad Bay', MaxLength = 30; + PortobelloCityLbl: Label 'Portobello', MaxLength = 30; + AramoanaCityLbl: Label 'Aramoana', MaxLength = 30; + CareysBayCityLbl: Label 'Careys Bay', MaxLength = 30; + PortChalmersCityLbl: Label 'Port Chalmers', MaxLength = 30; + PurakanuiCityLbl: Label 'Purakanui', MaxLength = 30; + AbbotsfordCityLbl: Label 'Abbotsford', MaxLength = 30; + ConcordCityLbl: Label 'Concord', MaxLength = 30; + GreenIslandCityLbl: Label 'Green Island', MaxLength = 30; + WaldronvilleCityLbl: Label 'Waldronville', MaxLength = 30; + EastTaieriCityLbl: Label 'East Taieri', MaxLength = 30; + MosgielCityLbl: Label 'Mosgiel', MaxLength = 30; + WingatuiCityLbl: Label 'Wingatui', MaxLength = 30; + RoseneathCityLbl: Label 'Roseneath', MaxLength = 30; + SawyersBayCityLbl: Label 'Sawyers Bay', MaxLength = 30; + HarwoodCityLbl: Label 'Harwood', MaxLength = 30; + OtakouCityLbl: Label 'Otakou', MaxLength = 30; + PukehikiCityLbl: Label 'Pukehiki', MaxLength = 30; + AllantonCityLbl: Label 'Allanton', MaxLength = 30; + BrightonCityLbl: Label 'Brighton', MaxLength = 30; + OceanViewCityLbl: Label 'Ocean View', MaxLength = 30; + TaieriMouthCityLbl: Label 'Taieri Mouth', MaxLength = 30; + WestwoodCityLbl: Label 'Westwood', MaxLength = 30; + HenleyCityLbl: Label 'Henley', MaxLength = 30; + HindonCityLbl: Label 'Hindon', MaxLength = 30; + MomonaCityLbl: Label 'Momona', MaxLength = 30; + OutramCityLbl: Label 'Outram', MaxLength = 30; + WaiporiFallsCityLbl: Label 'Waipori Falls', MaxLength = 30; + CottesbrookCityLbl: Label 'Cottesbrook', MaxLength = 30; + MiddlemarchCityLbl: Label 'Middlemarch', MaxLength = 30; + WaiholaCityLbl: Label 'Waihola', MaxLength = 30; + MountCargillCityLbl: Label 'Mount Cargill', MaxLength = 30; + WaitatiCityLbl: Label 'Waitati', MaxLength = 30; + DunbackCityLbl: Label 'Dunback', MaxLength = 30; + InchValleyCityLbl: Label 'Inch Valley', MaxLength = 30; + MacraesFlatCityLbl: Label 'Macraes Flat', MaxLength = 30; + PalmerstonCityLbl: Label 'Palmerston', MaxLength = 30; + ShagValleyCityLbl: Label 'Shag Valley', MaxLength = 30; + EvansdaleCityLbl: Label 'Evansdale', MaxLength = 30; + FlagSwampCityLbl: Label 'Flag Swamp', MaxLength = 30; + SeacliffCityLbl: Label 'Seacliff', MaxLength = 30; + WaikouaitiCityLbl: Label 'Waikouaiti', MaxLength = 30; + KaritaneCityLbl: Label 'Karitane', MaxLength = 30; + WarringtonCityLbl: Label 'Warrington', MaxLength = 30; + GimmerburnCityLbl: Label 'Gimmerburn', MaxLength = 30; + HydeCityLbl: Label 'Hyde', MaxLength = 30; + KyeburnCityLbl: Label 'Kyeburn', MaxLength = 30; + NasebyCityLbl: Label 'Naseby', MaxLength = 30; + PatearoaCityLbl: Label 'Patearoa', MaxLength = 30; + RanfurlyCityLbl: Label 'Ranfurly', MaxLength = 30; + WaipiataCityLbl: Label 'Waipiata', MaxLength = 30; + WedderburnCityLbl: Label 'Wedderburn', MaxLength = 30; + BeaumontCityLbl: Label 'Beaumont', MaxLength = 30; + BlueSpurCityLbl: Label 'Blue Spur', MaxLength = 30; + LawrenceCityLbl: Label 'Lawrence', MaxLength = 30; + TuapekaWestCityLbl: Label 'Tuapeka West', MaxLength = 30; + WaitahunaCityLbl: Label 'Waitahuna', MaxLength = 30; + EttrickCityLbl: Label 'Ettrick', MaxLength = 30; + CrookstonCityLbl: Label 'Crookston', MaxLength = 30; + HeriotCityLbl: Label 'Heriot', MaxLength = 30; + MoaFlatCityLbl: Label 'Moa Flat', MaxLength = 30; + TapanuiCityLbl: Label 'Tapanui', MaxLength = 30; + DumbartonCityLbl: Label 'Dumbarton', MaxLength = 30; + RoxburghCityLbl: Label 'Roxburgh', MaxLength = 30; + MillersFlatCityLbl: Label 'Millers Flat', MaxLength = 30; + ClydeCityLbl: Label 'Clyde', MaxLength = 30; + AlexandraCityLbl: Label 'Alexandra', MaxLength = 30; + GallowayCityLbl: Label 'Galloway', MaxLength = 30; + OphirCityLbl: Label 'Ophir', MaxLength = 30; + ShingleCreekCityLbl: Label 'Shingle Creek', MaxLength = 30; + BecksCityLbl: Label 'Becks', MaxLength = 30; + LauderCityLbl: Label 'Lauder', MaxLength = 30; + OmakauCityLbl: Label 'Omakau', MaxLength = 30; + IdaValleyCityLbl: Label 'Ida Valley', MaxLength = 30; + OturehuaCityLbl: Label 'Oturehua', MaxLength = 30; + PoolburnCityLbl: Label 'Poolburn', MaxLength = 30; + TarrasCityLbl: Label 'Tarras', MaxLength = 30; + BannockburnCityLbl: Label 'Bannockburn', MaxLength = 30; + CromwellCityLbl: Label 'Cromwell', MaxLength = 30; + LuggateCityLbl: Label 'Luggate', MaxLength = 30; + RipponvaleCityLbl: Label 'Ripponvale', MaxLength = 30; + BeaconPointCityLbl: Label 'Beacon Point', MaxLength = 30; + CardronaCityLbl: Label 'Cardrona', MaxLength = 30; + HaweaFlatCityLbl: Label 'Hawea Flat', MaxLength = 30; + LakeHaweaCityLbl: Label 'Lake Hawea', MaxLength = 30; + LowerHaweaFlatCityLbl: Label 'Lower Hawea Flat', MaxLength = 30; + MakaroraCityLbl: Label 'Makarora', MaxLength = 30; + MakaroraWestCityLbl: Label 'Makarora West', MaxLength = 30; + WanakaCityLbl: Label 'Wanaka', MaxLength = 30; + ArrowtownCityLbl: Label 'Arrowtown', MaxLength = 30; + ArrowJunctionCityLbl: Label 'Arrow Junction', MaxLength = 30; + ArthursPointCityLbl: Label 'Arthurs Point', MaxLength = 30; + CoronetPeakSkiFieldCityLbl: Label 'Coronet Peak Ski Field', MaxLength = 30; + FranktonCityLbl: Label 'Frankton', MaxLength = 30; + GibbstonCityLbl: Label 'Gibbston', MaxLength = 30; + GlenorchyCityLbl: Label 'Glenorchy', MaxLength = 30; + KelvinHeightsCityLbl: Label 'Kelvin Heights', MaxLength = 30; + LakeHayesCityLbl: Label 'Lake Hayes', MaxLength = 30; + LakeWakatipuCityLbl: Label 'Lake Wakatipu', MaxLength = 30; + LowerShotoverCityLbl: Label 'Lower Shotover', MaxLength = 30; + QueenstownCityLbl: Label 'Queenstown', MaxLength = 30; + WakatipuCityLbl: Label 'Wakatipu', MaxLength = 30; + BalcluthaCityLbl: Label 'Balclutha', MaxLength = 30; + BenharCityLbl: Label 'Benhar', MaxLength = 30; + ClydevaleCityLbl: Label 'Clydevale', MaxLength = 30; + KaihikuCityLbl: Label 'Kaihiku', MaxLength = 30; + KaitangataCityLbl: Label 'Kaitangata', MaxLength = 30; + KakaPointCityLbl: Label 'Kaka Point', MaxLength = 30; + StirlingCityLbl: Label 'Stirling', MaxLength = 30; + StonyCreekCityLbl: Label 'Stony Creek', MaxLength = 30; + TeHoukaCityLbl: Label 'Te Houka', MaxLength = 30; + ToiroCityLbl: Label 'Toiro', MaxLength = 30; + TuapekaMouthCityLbl: Label 'Tuapeka Mouth', MaxLength = 30; + WaitepekaCityLbl: Label 'Waitepeka', MaxLength = 30; + WarepaCityLbl: Label 'Warepa', MaxLength = 30; + WharetoaCityLbl: Label 'Wharetoa', MaxLength = 30; + ChrystallsBeachCityLbl: Label 'Chrystalls Beach', MaxLength = 30; + ClarksvilleCityLbl: Label 'Clarksville', MaxLength = 30; + GlenlediCityLbl: Label 'Glenledi', MaxLength = 30; + GlenoreCityLbl: Label 'Glenore', MaxLength = 30; + HelensbrookCityLbl: Label 'Helensbrook', MaxLength = 30; + LovellsFlatCityLbl: Label 'Lovells Flat', MaxLength = 30; + MilburnCityLbl: Label 'Milburn', MaxLength = 30; + MiltonCityLbl: Label 'Milton', MaxLength = 30; + MoneymoreCityLbl: Label 'Moneymore', MaxLength = 30; + TableHillCityLbl: Label 'Table Hill', MaxLength = 30; + TokoitiCityLbl: Label 'Tokoiti', MaxLength = 30; + HinahinaCityLbl: Label 'Hinahina', MaxLength = 30; + KateaCityLbl: Label 'Katea', MaxLength = 30; + MaclennanCityLbl: Label 'Maclennan', MaxLength = 30; + OwakaCityLbl: Label 'Owaka', MaxLength = 30; + PounaweaCityLbl: Label 'Pounawea', MaxLength = 30; + AshleyDownsCityLbl: Label 'Ashley Downs', MaxLength = 30; + ClintonCityLbl: Label 'Clinton', MaxLength = 30; + KuriwaoCityLbl: Label 'Kuriwao', MaxLength = 30; + PopotunoaCityLbl: Label 'Popotunoa', MaxLength = 30; + WaiweraSouthCityLbl: Label 'Waiwera South', MaxLength = 30; + AvenalCityLbl: Label 'Avenal', MaxLength = 30; + CliftonCityLbl: Label 'Clifton', MaxLength = 30; + GeorgetownCityLbl: Label 'Georgetown', MaxLength = 30; + GladstoneCityLbl: Label 'Gladstone', MaxLength = 30; + GlengarryCityLbl: Label 'Glengarry', MaxLength = 30; + GrasmereCityLbl: Label 'Grasmere', MaxLength = 30; + HawthorndaleCityLbl: Label 'Hawthorndale', MaxLength = 30; + InvercargillCityLbl: Label 'Invercargill', MaxLength = 30; + KingswellCityLbl: Label 'Kingswell', MaxLength = 30; + NewfieldCityLbl: Label 'Newfield', MaxLength = 30; + RosedaleCityLbl: Label 'Rosedale', MaxLength = 30; + TisburyCityLbl: Label 'Tisbury', MaxLength = 30; + WaikiwiCityLbl: Label 'Waikiwi', MaxLength = 30; + WindsorCityLbl: Label 'Windsor', MaxLength = 30; + WallacetownCityLbl: Label 'Wallacetown', MaxLength = 30; + BluffCityLbl: Label 'Bluff', MaxLength = 30; + GlencoeCityLbl: Label 'Glencoe', MaxLength = 30; + GreenhillsCityLbl: Label 'Greenhills', MaxLength = 30; + GreenpointCityLbl: Label 'Greenpoint', MaxLength = 30; + HedgehopeCityLbl: Label 'Hedgehope', MaxLength = 30; + KenningtonCityLbl: Label 'Kennington', MaxLength = 30; + LornevilleCityLbl: Label 'Lorneville', MaxLength = 30; + MabelBushCityLbl: Label 'Mabel Bush', MaxLength = 30; + MakarewaCityLbl: Label 'Makarewa', MaxLength = 30; + MakarewaJunctionCityLbl: Label 'Makarewa Junction', MaxLength = 30; + MokutuaCityLbl: Label 'Mokutua', MaxLength = 30; + MortonMainsCityLbl: Label 'Morton Mains', MaxLength = 30; + MyrossBushCityLbl: Label 'Myross Bush', MaxLength = 30; + NorthopeCityLbl: Label 'Northope', MaxLength = 30; + OceanBeachCityLbl: Label 'Ocean Beach', MaxLength = 30; + OporoCityLbl: Label 'Oporo', MaxLength = 30; + OtataraCityLbl: Label 'Otatara', MaxLength = 30; + OteramikaCityLbl: Label 'Oteramika', MaxLength = 30; + RoslynBushCityLbl: Label 'Roslyn Bush', MaxLength = 30; + TaramoaCityLbl: Label 'Taramoa', MaxLength = 30; + UnderwoodCityLbl: Label 'Underwood', MaxLength = 30; + WaianiwaCityLbl: Label 'Waianiwa', MaxLength = 30; + WaimahakaCityLbl: Label 'Waimahaka', MaxLength = 30; + WestPlainsCityLbl: Label 'West Plains', MaxLength = 30; + WoodendCityLbl: Label 'Woodend', MaxLength = 30; + StewartIslandCityLbl: Label 'Stewart Island', MaxLength = 30; + ThornburyCityLbl: Label 'Thornbury', MaxLength = 30; + NightcapsCityLbl: Label 'Nightcaps', MaxLength = 30; + OhaiCityLbl: Label 'Ohai', MaxLength = 30; + AparimaCityLbl: Label 'Aparima', MaxLength = 30; + BlackmountCityLbl: Label 'Blackmount', MaxLength = 30; + DrummondCityLbl: Label 'Drummond', MaxLength = 30; + EasternBushCityLbl: Label 'Eastern Bush', MaxLength = 30; + IslaBankCityLbl: Label 'Isla Bank', MaxLength = 30; + OpioCityLbl: Label 'Opio', MaxLength = 30; + OrawiaCityLbl: Label 'Orawia', MaxLength = 30; + OtautauCityLbl: Label 'Otautau', MaxLength = 30; + WreysBushCityLbl: Label 'Wreys Bush', MaxLength = 30; + ColacBayCityLbl: Label 'Colac Bay', MaxLength = 30; + ErmedaleCityLbl: Label 'Ermedale', MaxLength = 30; + FlintsBushCityLbl: Label 'Flints Bush', MaxLength = 30; + OrepukiCityLbl: Label 'Orepuki', MaxLength = 30; + RivertonCityLbl: Label 'Riverton', MaxLength = 30; + WaipangoCityLbl: Label 'Waipango', MaxLength = 30; + LillBurnValleyCityLbl: Label 'Lill Burn Valley', MaxLength = 30; + PapatotaraCityLbl: Label 'Papatotara', MaxLength = 30; + PikopikoCityLbl: Label 'Pikopiko', MaxLength = 30; + TuatapereCityLbl: Label 'Tuatapere', MaxLength = 30; + AtholCityLbl: Label 'Athol', MaxLength = 30; + CarolineValleyCityLbl: Label 'Caroline Valley', MaxLength = 30; + DiptonCityLbl: Label 'Dipton', MaxLength = 30; + GarstonCityLbl: Label 'Garston', MaxLength = 30; + KingstonCityLbl: Label 'Kingston', MaxLength = 30; + LimehillsCityLbl: Label 'Limehills', MaxLength = 30; + ManapouriCityLbl: Label 'Manapouri', MaxLength = 30; + MossburnCityLbl: Label 'Mossburn', MaxLength = 30; + FiveRiversCityLbl: Label 'Five Rivers', MaxLength = 30; + LumsdenCityLbl: Label 'Lumsden', MaxLength = 30; + ParawaCityLbl: Label 'Parawa', MaxLength = 30; + CentreBushCityLbl: Label 'Centre Bush', MaxLength = 30; + HeddonBushCityLbl: Label 'Heddon Bush', MaxLength = 30; + HokonuiCityLbl: Label 'Hokonui', MaxLength = 30; + SouthHillendCityLbl: Label 'South Hillend', MaxLength = 30; + WintonCityLbl: Label 'Winton', MaxLength = 30; + QuarryHillsCityLbl: Label 'Quarry Hills', MaxLength = 30; + TokanuiCityLbl: Label 'Tokanui', MaxLength = 30; + WaikawaValleyCityLbl: Label 'Waikawa Valley', MaxLength = 30; + CentreHillCityLbl: Label 'Centre Hill', MaxLength = 30; + MilfordSoundCityLbl: Label 'Milford Sound', MaxLength = 30; + TeAnauCityLbl: Label 'Te Anau', MaxLength = 30; + TheKeyCityLbl: Label 'The Key', MaxLength = 30; + EdendaleCityLbl: Label 'Edendale', MaxLength = 30; + MatauraCityLbl: Label 'Mataura', MaxLength = 30; + WyndhamCityLbl: Label 'Wyndham', MaxLength = 30; + GoreCityLbl: Label 'Gore', MaxLength = 30; + KaiweraCityLbl: Label 'Kaiwera', MaxLength = 30; + McNabCityLbl: Label 'McNab', MaxLength = 30; + PukerauCityLbl: Label 'Pukerau', MaxLength = 30; + TuturauCityLbl: Label 'Tuturau', MaxLength = 30; + WaikoikoiCityLbl: Label 'Waikoikoi', MaxLength = 30; + WaimumuCityLbl: Label 'Waimumu', MaxLength = 30; + WaipahiCityLbl: Label 'Waipahi', MaxLength = 30; + BalfourCityLbl: Label 'Balfour', MaxLength = 30; + LongridgeNorthCityLbl: Label 'Longridge North', MaxLength = 30; + RiversdaleCityLbl: Label 'Riversdale', MaxLength = 30; + WaipounamuCityLbl: Label 'Waipounamu', MaxLength = 30; + WendonValleyCityLbl: Label 'Wendon Valley', MaxLength = 30; + WendonsideCityLbl: Label 'Wendonside', MaxLength = 30; + WaikaiaCityLbl: Label 'Waikaia', MaxLength = 30; + WaikakaCityLbl: Label 'Waikaka', MaxLength = 30; + WaikakaValleyCityLbl: Label 'Waikaka Valley', MaxLength = 30; + MatauraIslandCityLbl: Label 'Mataura Island', MaxLength = 30; + WaiarikikiCityLbl: Label 'Waiarikiki', MaxLength = 30; + SydneyCityLbl: Label 'Sydney', MaxLength = 30; + WollongongCityLbl: Label 'Wollongong', MaxLength = 30; + MelbourneCityLbl: Label 'Melbourne', MaxLength = 30; + BrisbaneCityLbl: Label 'Brisbane', MaxLength = 30; + PerthCityLbl: Label 'Perth', MaxLength = 30; + MurdunnaCityLbl: Label 'Murdunna', MaxLength = 30; + AUCKLANDMAILCENTRECityLbl: Label 'AUCKLAND MAIL CENTRE', MaxLength = 30; + AUCKLANDCENTRALCityLbl: Label 'AUCKLAND CENTRAL', MaxLength = 30; + + BALMORALCityLbl: Label 'Balmoral', MaxLength = 30; + BALMORALCity2Lbl: Label 'BALMORAL', MaxLength = 30; + DOMINIONROADCityLbl: Label 'DOMINION ROAD', MaxLength = 30; + DOWNTOWNAUCKLANDCityLbl: Label 'DOWNTOWN AUCKLAND', MaxLength = 30; + EPSOMCityLbl: Label 'Epsom', MaxLength = 30; + EPSOMCity2Lbl: Label 'EPSOM', MaxLength = 30; + GREENWOODSCORNERCityLbl: Label 'Greenwoods Corner', MaxLength = 30; + GREYLYNNCityLbl: Label 'Grey Lynn', MaxLength = 30; + HERNEBAYCityLbl: Label 'Herne Bay', MaxLength = 30; + KINGSLANDCityLbl: Label 'Kingsland', MaxLength = 30; + MOUNTALBERTCityLbl: Label 'Mount Albert', MaxLength = 30; + MOUNTEDENCityLbl: Label 'Mount Eden', MaxLength = 30; + MOUNTROSKILLCityLbl: Label 'Mount Roskill', MaxLength = 30; + MOUNTROSKILLSOUTHCityLbl: Label 'MOUNT ROSKILL SOUTH', MaxLength = 30; + MOUNTROSKILLSOUTHCity2Lbl: Label 'Mount Roskill South', MaxLength = 30; + OWAIRAKACityLbl: Label 'Owairaka', MaxLength = 30; + POINTCHEVALIERCityLbl: Label 'Point Chevalier', MaxLength = 30; + ROYALOAKCityLbl: Label 'Royal Oak', MaxLength = 30; + ROYALOAKCity2Lbl: Label 'ROYAL OAK', MaxLength = 30; + SANDRINGHAMCityLbl: Label 'SANDRINGHAM', MaxLength = 30; + SANDRINGHAMCity2Lbl: Label 'Sandringham', MaxLength = 30; + STLUKESCityLbl: Label 'ST LUKES', MaxLength = 30; + STLUKESCity2Lbl: Label 'St Lukes', MaxLength = 30; + NEWMARKETCityLbl: Label 'Newmarket', MaxLength = 30; + NEWTONCityLbl: Label 'Newton', MaxLength = 30; + PARNELLCityLbl: Label 'Parnell', MaxLength = 30; + PONSONBYCityLbl: Label 'Ponsonby', MaxLength = 30; + SYMONDSSTREETCityLbl: Label 'SYMONDS STREET', MaxLength = 30; + WELLESLEYSTREETCityLbl: Label 'WELLESLEY STREET', MaxLength = 30; + CENTRALPARKCityLbl: Label 'CENTRAL PARK', MaxLength = 30; + GLENNINNESCityLbl: Label 'GLENN INNES', MaxLength = 30; + GREENLANECityLbl: Label 'GREENLANE', MaxLength = 30; + GREENLANECity2Lbl: Label 'Greenlane', MaxLength = 30; + MARKETROADCityLbl: Label 'MARKET ROAD', MaxLength = 30; + MEADOWBANKCityLbl: Label 'MEADOWBANK', MaxLength = 30; + MEADOWBANKCity2Lbl: Label 'Meadowbank', MaxLength = 30; + MISSIONBAYCityLbl: Label 'MISSION BAY', MaxLength = 30; + MISSIONBAYCity2Lbl: Label 'Mission Bay', MaxLength = 30; + MOUNTWELLINGTONCityLbl: Label 'MOUNT WELLINGTON', MaxLength = 30; + ORAKEICityLbl: Label 'ORAKEI', MaxLength = 30; + STHELIERSCityLbl: Label 'ST HELIERS', MaxLength = 30; + ELLERSLIECityLbl: Label 'ELLERSLIE', MaxLength = 30; + ELLERSLIECity2Lbl: Label 'Ellerslie', MaxLength = 30; + ONEHUNGACityLbl: Label 'ONEHUNGA', MaxLength = 30; + PANMURECityLbl: Label 'PANMURE', MaxLength = 30; + OTAHUHUCityLbl: Label 'OTAHUHU', MaxLength = 30; + PENROSECityLbl: Label 'PENROSE', MaxLength = 30; + REMUERACityLbl: Label 'REMUERA', MaxLength = 30; + BLOCKHOUSEBAYCityLbl: Label 'BLOCKHOUSE BAY', MaxLength = 30; + BLOCKHOUSEBAYCity2Lbl: Label 'Blockhouse Bay', MaxLength = 30; + EDMONTONCityLbl: Label 'EDMONTON', MaxLength = 30; + GLENEDENCityLbl: Label 'GLEN EDEN', MaxLength = 30; + GLENDENECityLbl: Label 'GLENDENE', MaxLength = 30; + GREENBAYCityLbl: Label 'GREEN BAY', MaxLength = 30; + LINCOLNNORTHCityLbl: Label 'LINCOLN NORTH', MaxLength = 30; + RANUICityLbl: Label 'RANUI', MaxLength = 30; + ROSEBANKCityLbl: Label 'ROSEBANK', MaxLength = 30; + ROYALHEIGHTSCityLbl: Label 'ROYAL HEIGHTS', MaxLength = 30; + SWANSONCityLbl: Label 'SWANSON', MaxLength = 30; + TEATATUCityLbl: Label 'TE ATATU', MaxLength = 30; + TITIRANGICityLbl: Label 'TITIRANGI', MaxLength = 30; + WESTPARKMARINACityLbl: Label 'WESTPARK MARINA', MaxLength = 30; + HENDERSONCityLbl: Label 'HENDERSON', MaxLength = 30; + NEWLYNNCityLbl: Label 'NEW LYNN', MaxLength = 30; + WARKWORTHCityLbl: Label 'WARKWORTH', MaxLength = 30; + WELLSFORDCityLbl: Label 'WELLSFORD', MaxLength = 30; + HELENSVILLECityLbl: Label 'HELENSVILLE', MaxLength = 30; + KAUKAPAKAPACityLbl: Label 'KAUKAPAKAPA', MaxLength = 30; + KUMEUCityLbl: Label 'KUMEU', MaxLength = 30; + WAIMAUKUCityLbl: Label 'WAIMAUKU', MaxLength = 30; + WAITAKERECityLbl: Label 'WAITAKERE', MaxLength = 30; + WHENUAPAICityLbl: Label 'WHENUAPAI', MaxLength = 30; + BEACHHAVENCityLbl: Label 'BEACH HAVEN', MaxLength = 30; + BIRKENHEADCityLbl: Label 'BIRKENHEAD', MaxLength = 30; + BROWNSBAYCityLbl: Label 'BROWNS BAY', MaxLength = 30; + DEVONPORTCityLbl: Label 'DEVONPORT', MaxLength = 30; + GLENFIELDCityLbl: Label 'GLENFIELD', MaxLength = 30; + MAIRANGIBAYCityLbl: Label 'MAIRANGI BAY', MaxLength = 30; + MILFORDCityLbl: Label 'MILFORD', MaxLength = 30; + NORTHSHOREMAILCENTRECityLbl: Label 'NORTH SHORE MAIL CENTRE', MaxLength = 30; + TORBAYCityLbl: Label 'TORBAY', MaxLength = 30; + ALBANYCityLbl: Label 'ALBANY', MaxLength = 30; + TAKAPUNACityLbl: Label 'TAKAPUNA', MaxLength = 30; + GREENHITHECityLbl: Label 'GREENHITHE', MaxLength = 30; + OREWACityLbl: Label 'OREWA', MaxLength = 30; + REDBEACHCityLbl: Label 'RED BEACH', MaxLength = 30; + SILVERDALECityLbl: Label 'Silverdale', MaxLength = 30; + WHANGAPARAOACityLbl: Label 'Whangaparaoa', MaxLength = 30; + AUCKLANDINTERNATIONALAIRPORTCityLbl: Label 'AUCKLAND INTERNATIONAL AIRPORT', MaxLength = 30; + BEACHLANDSCityLbl: Label 'BEACHLANDS', MaxLength = 30; + BUCKLANDSBEACHCityLbl: Label 'BUCKLANDS BEACH', MaxLength = 30; + CLENDONTOWNCityLbl: Label 'CLENDON TOWN', MaxLength = 30; + GREENMOUNTCityLbl: Label 'GREENMOUNT', MaxLength = 30; + HOWICKCityLbl: Label 'HOWICK', MaxLength = 30; + MANGERECityLbl: Label 'Mangere', MaxLength = 30; + MANGEREBRIDGECityLbl: Label 'Mangere Bridge', MaxLength = 30; + MANGEREEASTCityLbl: Label 'Mangere East', MaxLength = 30; + MANUKAUCITYCityLbl: Label 'MANUKAU CITY', MaxLength = 30; + MANUREWACityLbl: Label 'MANUREWA', MaxLength = 30; + MARAETAIBEACHCityLbl: Label 'MARAETAI BEACH', MaxLength = 30; + OTARACityLbl: Label 'Otara', MaxLength = 30; + PAKURANGACityLbl: Label 'PAKURANGA', MaxLength = 30; + PAPAKURACityLbl: Label 'PAPAKURA', MaxLength = 30; + PAPATOETOECityLbl: Label 'Papatoetoe', MaxLength = 30; + PAPATOETOESOUTHCityLbl: Label 'PAPATOETOE SOUTH', MaxLength = 30; + SOUTHAUCKLANDMAILCENTRECityLbl: Label 'SOUTH AUCKLAND MAIL CENTRE', MaxLength = 30; + TAKANINICityLbl: Label 'TAKANINI', MaxLength = 30; + CLEVEDONCityLbl: Label 'CLEVEDON', MaxLength = 30; + DRURYCityLbl: Label 'Drury', MaxLength = 30; + WHITFORDCityLbl: Label 'Whitford', MaxLength = 30; + PUKEKOHECityLbl: Label 'Pukekohe', MaxLength = 30; + BOMBAYCityLbl: Label 'Bombay', MaxLength = 30; + LondonCityLbl: Label 'London', MaxLength = 30; + CHRISTCHURCHMAILCENTRECityLbl: Label 'CHRISTCHURCH MAIL CENTRE', MaxLength = 30; + CHRISTCHURCHAIRPORTCityLbl: Label 'CHRISTCHURCH AIRPORT', MaxLength = 30; + LINWOODCITYCityLbl: Label 'LINWOOD CITY', MaxLength = 30; + NORTHAVONCityLbl: Label 'NORTH AVON', MaxLength = 30; + PHILLIPSTOWNCityLbl: Label 'PHILLIPSTOWN', MaxLength = 30; + VICTORIASTREETCityLbl: Label 'VICTORIA STREET', MaxLength = 30; + ARMAGHCityLbl: Label 'ARMAGH', MaxLength = 30; + HIGHSTREETCityLbl: Label 'HIGH STREET', MaxLength = 30; + SparkhillBirminghamCityLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BromsgroveCityLbl: Label 'Bromsgrove', MaxLength = 30; + BathCityLbl: Label 'Bath', MaxLength = 30; + BristolCityLbl: Label 'Bristol', MaxLength = 30; + CardiffCityLbl: Label 'Cardiff', MaxLength = 30; + HytheCityLbl: Label 'Hythe', MaxLength = 30; + CoventryCityLbl: Label 'Coventry', MaxLength = 30; + SidcupCityLbl: Label 'Sidcup', MaxLength = 30; + DudleyCityLbl: Label 'Dudley', MaxLength = 30; + EdinburghCityLbl: Label 'Edinburgh', MaxLength = 30; + GloucesterCityLbl: Label 'Gloucester', MaxLength = 30; + GuildfordCityLbl: Label 'Guildford', MaxLength = 30; + RiponCityLbl: Label 'Ripon', MaxLength = 30; + TringCityLbl: Label 'Tring', MaxLength = 30; + GainsboroughCityLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolCityLbl: Label 'Liverpool', MaxLength = 30; + LeicesterCityLbl: Label 'Leicester', MaxLength = 30; + RhylCityLbl: Label 'Rhyl', MaxLength = 30; + LutonCityLbl: Label 'Luton', MaxLength = 30; + ManchesterCityLbl: Label 'Manchester', MaxLength = 30; + MaidstoneCityLbl: Label 'Maidstone', MaxLength = 30; + BletchleyCityLbl: Label 'Bletchley', MaxLength = 30; + BedfordCityLbl: Label 'Bedford', MaxLength = 30; + NewcastleCityLbl: Label 'Newcastle', MaxLength = 30; + NewportCityLbl: Label 'Newport', MaxLength = 30; + CheddingtonCityLbl: Label 'Cheddington', MaxLength = 30; + CambridgeCityLbl: Label 'Cambridge', MaxLength = 30; + PeterboroughCityLbl: Label 'Peterborough', MaxLength = 30; + KingsLynnCityLbl: Label 'Kings Lynn', MaxLength = 30; + PlymouthCityLbl: Label 'Plymouth', MaxLength = 30; + SouthseaPortsmouthCityLbl: Label 'Southsea, Portsmouth', MaxLength = 30; + PortsmouthCityLbl: Label 'Portsmouth', MaxLength = 30; + SwanseaCityLbl: Label 'Swansea', MaxLength = 30; + MacclesfieldCityLbl: Label 'Macclesfield', MaxLength = 30; + NewquayCityLbl: Label 'Newquay', MaxLength = 30; + AshfordCityLbl: Label 'Ashford', MaxLength = 30; + BrixhamCityLbl: Label 'Brixham', MaxLength = 30; + WestEndLaneCityLbl: Label 'West End Lane', MaxLength = 30; + WatfordCityLbl: Label 'Watford', MaxLength = 30; + BorehamwoodCityLbl: Label 'Borehamwood', MaxLength = 30; + LeonCityLbl: Label 'Leon', MaxLength = 30; + MonterreyCityLbl: Label 'Monterrey', MaxLength = 30; + SanLuisPotosiCityLbl: Label 'San Luis Potosi', MaxLength = 30; + MazatlanCityLbl: Label 'Mazatlan', MaxLength = 30; + PELABUHANKLANGCityLbl: Label 'PELABUHAN KLANG', MaxLength = 30; + PETALINGJAYACityLbl: Label 'PETALING JAYA', MaxLength = 30; + AMPANGCityLbl: Label 'AMPANG', MaxLength = 30; + KOTAKINABALUCityLbl: Label 'KOTAKINA BALU', MaxLength = 30; + KUCHINGCityLbl: Label 'KUCHING', MaxLength = 30; + BENINCityLbl: Label 'BENIN', MaxLength = 30; + JOSCityLbl: Label 'JOS', MaxLength = 30; + GHOHCityLbl: Label 'GHOH', MaxLength = 30; + BangNaCityLbl: Label 'Bang Na', MaxLength = 30; + BangRakCityLbl: Label 'Bang Rak', MaxLength = 30; + KhlongSamwaCityLbl: Label 'Khlong Samwa', MaxLength = 30; + WatSingCityLbl: Label 'Wat Sing', MaxLength = 30; + NonDindaengCityLbl: Label 'Non Dindaeng', MaxLength = 30; + SanPaTongCityLbl: Label 'San Pa Tong', MaxLength = 30; + BirminghamCityLbl: Label 'Birmingham', MaxLength = 30; + WELLINGTONCityLbl: Label 'WELLINGTON', MaxLength = 30; + WELLINGTONCity2Lbl: Label 'Wellington', MaxLength = 30; + PARLIAMENTBUILDINGSCityLbl: Label 'PARLIAMENT BUILDINGS', MaxLength = 30; + WELLINGTONAIRPORTCityLbl: Label 'WELLINGTON AIRPORT', MaxLength = 30; + MANNERSSTREETCityLbl: Label 'MANNERS STREET', MaxLength = 30; + TEAROCityLbl: Label 'Te Aro', MaxLength = 30; + TEAROCity2Lbl: Label 'TE ARO', MaxLength = 30; + THETERRACECityLbl: Label 'THE TERRACE', MaxLength = 30; + UPPERWILLISSTREETCityLbl: Label 'UPPER WILLIS STREET', MaxLength = 30; + THORNDONCityLbl: Label 'Thorndon', MaxLength = 30; + THORNDONCity2Lbl: Label 'THORNDON', MaxLength = 30; + WELLINGTONSOUTHCityLbl: Label 'Wellington South', MaxLength = 30; + WELLINGTONSOUTHCity2Lbl: Label 'WELLINGTON SOUTH', MaxLength = 30; + LAMBTONQUAYCityLbl: Label 'LAMBTON QUAY', MaxLength = 30; + CANNONSCREEKPORIRUACityLbl: Label 'CANNONS CREEK-PORIRUA', MaxLength = 30; + MANAPORIRUACityLbl: Label 'MANA-PORIRUA', MaxLength = 30; + TITAHIBAYPORIRUACityLbl: Label 'TITAHI BAY-PORIRUA', MaxLength = 30; + EPUNILOWERHUTTCityLbl: Label 'EPUNI-LOWER HUTT', MaxLength = 30; + HOMEDALELOWERHUTTCityLbl: Label 'HOMEDALE-LOWER HUTT', MaxLength = 30; + MOERALOWERHUTTCityLbl: Label 'MOERA-LOWER HUTT', MaxLength = 30; + NAENAELOWERHUTTCityLbl: Label 'NAENAE-LOWER HUTT', MaxLength = 30; + PARKAVENUELOWERHUTTCityLbl: Label 'PARK AVENUE-LOWER HUTT', MaxLength = 30; + VICLOWERHUTTCityLbl: Label 'VIC-LOWER HUTT', MaxLength = 30; + WELLINGTONMAILCENTRECityLbl: Label 'WELLINGTON MAIL CENTRE', MaxLength = 30; + EASTBOURNELOWERHUTTCityLbl: Label 'EASTBOURNE-LOWER HUTT', MaxLength = 30; + PETONELOWERHUTTCityLbl: Label 'PETONE-LOWER HUTT', MaxLength = 30; + STOKESVALLEYLOWERHUTTCityLbl: Label 'STOKES VALLEY-LOWER HUTT', MaxLength = 30; + WAINUIOMATALOWERHUTTCityLbl: Label 'WAINUIOMATA-LOWER HUTT', MaxLength = 30; + ERENTHAMUPPERHUTTCityLbl: Label 'ERENTHAM-UPPER HUTT', MaxLength = 30; + SILVERSTREAMUPPERHUTTCityLbl: Label 'SILVERSTREAM-UPPER HUTT', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZShippingAgent.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZShippingAgent.Codeunit.al new file mode 100644 index 0000000000..a1247a1556 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZShippingAgent.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 17115 "Create NZ Shipping Agent" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoShipping: codeunit "Contoso Shipping"; + begin + ContosoShipping.InsertShippingAgent(NZPost(), NZPostNameLbl, NZPostInternetAddressLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"Shipping Agent", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Shipping Agent") + var + CreateShippingData: Codeunit "Create Shipping Data"; + begin + case Rec.Code of + CreateShippingData.DHL(): + ValidateRecordFields(Rec, DHLNameLbl); + CreateShippingData.Fedex(): + ValidateRecordFields(Rec, FedexNameLbl); + CreateShippingData.UPS(): + ValidateRecordFields(Rec, UPSNameLbl); + end; + end; + + procedure NZPost(): Code[10] + begin + exit(NZPostTok); + end; + + local procedure ValidateRecordFields(var ShippingAgent: Record "Shipping Agent"; Name: Text[100]) + begin + ShippingAgent.Validate(Name, Name); + end; + + var + NZPostTok: Label 'NZPOST', MaxLength = 10, Comment = 'Company Code', Locked = true; + NZPostNameLbl: Label 'NZ Post', MaxLength = 50, Comment = 'Company Name', Locked = true; + DHLNameLbl: Label 'DHL Systems, Inc. NZ', MaxLength = 50, Comment = 'Company Name', Locked = true; + FedexNameLbl: Label 'Federal Express Corporation NZ', MaxLength = 50, Comment = 'Company Name', Locked = true; + UPSNameLbl: Label 'UPS - Fliway (NZ) Ltd', MaxLength = 50, Comment = 'Company Name', Locked = true; + NZPostInternetAddressLbl: Label 'www.nzpost.co.nz/Cultures/en-NZ/OnlineTools/TrackAndTrace', MaxLength = 250, Comment = 'URL', Locked = true; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZSourceCode.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZSourceCode.Codeunit.al new file mode 100644 index 0000000000..916c3c6d62 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZSourceCode.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17113 "Create NZ Source Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoSourceCode: Codeunit "Contoso Source Code"; + begin + ContosoSourceCode.SetOverwriteData(true); + ContosoSourceCode.InsertSourceCode(GLCurrencyRevaluation(), GLCurrencyRevaluationLbl); + ContosoSourceCode.SetOverwriteData(false); + end; + + procedure GLCurrencyRevaluation(): Code[10] + begin + exit(GLCurrencyRevaluationTok); + end; + + var + GLCurrencyRevaluationTok: Label 'GLCURREVAL', MaxLength = 10; + GLCurrencyRevaluationLbl: Label 'G/L Currency Revaluation', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZSourceCodeSetup.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZSourceCodeSetup.Codeunit.al new file mode 100644 index 0000000000..907e7b3a19 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Foundation/1.Setup Data/CreateNZSourceCodeSetup.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 17114 "Create NZ Source Code Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSourceCodeSetup(); + end; + + local procedure UpdateSourceCodeSetup() + var + SourceCodeSetup: Record "Source Code Setup"; + CreateNZSourceCode: Codeunit "Create NZ Source Code"; + begin + SourceCodeSetup.Get(); + + SourceCodeSetup.Validate("G/L Currency Revaluation", CreateNZSourceCode.GLCurrencyRevaluation()); + SourceCodeSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/HR/2.Master Data/CreateNZEmployee.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/HR/2.Master Data/CreateNZEmployee.Codeunit.al new file mode 100644 index 0000000000..ac08fef11b --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/HR/2.Master Data/CreateNZEmployee.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 17141 "Create NZ Employee" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Employee, 'OnBeforeOnInsert', '', false, false)] + local procedure OnBeforeInsertEmployee(var Employee: Record Employee) + var + CreateEmployee: Codeunit "Create Employee"; + begin + case Employee."No." of + CreateEmployee.ManagingDirector(): + ValidateEmployee(Employee, AroValleyLbl, '6002', ''); + CreateEmployee.SalesManager(), + CreateEmployee.ProductionManager(), + CreateEmployee.Secretary(): + ValidateEmployee(Employee, AramohoCityLbl, '5001', ''); + CreateEmployee.Designer(): + ValidateEmployee(Employee, AucklandCityLbl, '1001', ''); + CreateEmployee.ProductionAssistant(), + CreateEmployee.InventoryManager(): + ValidateEmployee(Employee, AucklandPostmasterLbl, '1030', ''); + end; + end; + + local procedure ValidateEmployee(var Employee: Record Employee; City: Text[30]; PostCode: Code[20]; County: Text[30]) + begin + Employee.Validate(City, City); + Employee.Validate("Post Code", PostCode); + Employee.Validate(County, County); + end; + + var + AramohoCityLbl: Label 'Aramoho', MaxLength = 30; + AroValleyLbl: Label 'Aro Valley', MaxLength = 30; + AucklandCityLbl: Label 'Auckland', MaxLength = 30; + AucklandPostmasterLbl: Label 'Auckland Postmaster', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItem.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItem.Codeunit.al new file mode 100644 index 0000000000..e429209ff3 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItem.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 17126 "Create NZ Item" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 2237, 1745, CreateNZVATPostingGroup.VAT15()); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 431, 336, CreateNZVATPostingGroup.VAT15()); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 969, 756, CreateNZVATPostingGroup.VAT15()); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 425, 331, CreateNZVATPostingGroup.VAT15()); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 1448, 1130, CreateNZVATPostingGroup.VAT15()); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 422, 0, CreateNZVATPostingGroup.VAT15()); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 123, 96, CreateNZVATPostingGroup.VAT15()); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 523, 0, CreateNZVATPostingGroup.VAT15()); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 431, 336, CreateNZVATPostingGroup.VAT15()); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 281, 0, CreateNZVATPostingGroup.VAT15()); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 431, 336, CreateNZVATPostingGroup.VAT15()); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 431, 336, CreateNZVATPostingGroup.VAT15()); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 523, 0, CreateNZVATPostingGroup.VAT15()); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 425, 331, CreateNZVATPostingGroup.VAT15()); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 764, 0, CreateNZVATPostingGroup.VAT15()); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 425, 331, CreateNZVATPostingGroup.VAT15()); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 425, 331, CreateNZVATPostingGroup.VAT15()); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 431, 336, CreateNZVATPostingGroup.VAT15()); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 3123, 2436, CreateNZVATPostingGroup.VAT15()); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 425, 331, CreateNZVATPostingGroup.VAT15()); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; VATProdPostingGroup: Code[20]) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + Item.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItemCharge.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItemCharge.Codeunit.al new file mode 100644 index 0000000000..f335a64b52 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItemCharge.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 17127 "Create NZ Item Charge" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record "Item Charge") + var + CreateItemCharge: Codeunit "Create Item Charge"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), + CreateItemCharge.PurchAllowance(), + CreateItemCharge.PurchFreight(), + CreateItemCharge.PurchRestock(), + CreateItemCharge.SaleAllowance(), + CreateItemCharge.SaleFreight(), + CreateItemCharge.SaleRestock(): + ValidateRecordFields(Rec, CreateNZVATPostingGroup.VAT15()); + end; + end; + + local procedure ValidateRecordFields(var ItemCharge: Record "Item Charge"; VATProdPostingGroup: Code[20]) + begin + ItemCharge.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItemTemplate.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItemTemplate.Codeunit.al new file mode 100644 index 0000000000..0437c1e8da --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZItemTemplate.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 17128 "Create NZ Item Template" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item(), CreateNZVATPostingGroup.VAT15()); + UpdateItemTemplate(CreateItemTemplate.Service(), CreateNZVATPostingGroup.VAT15()); + end; + + local procedure UpdateItemTemplate(ItemTemplateCode: Code[20]; VatProdPostingGrp: Code[20]) + var + ItemTemplate: Record "Item Templ."; + begin + ItemTemplate.Get(ItemTemplateCode); + ItemTemplate.Validate("VAT Prod. Posting Group", VatProdPostingGrp); + ItemTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZLocation.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZLocation.Codeunit.al new file mode 100644 index 0000000000..48b9bc92e4 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Inventory/2.Master Data/CreateNZLocation.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 17129 "Create NZ Location" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Location) + var + CreateLocations: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateLocations.EastLocation(): + ValidateRecordFields(Rec, EastLocationCityLbl, EastLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocations.WestLocation(): + ValidateRecordFields(Rec, WestLocationCityLbl, WestLocationPostCodeLbl, CreateCountryRegion.GB()); + CreateLocations.MainLocation(): + ValidateRecordFields(Rec, MainLocationCityLbl, MainLocationPostCodeLbl, CreateCountryRegion.GB()); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CountryRegionCode; + end; + + var + EastLocationCityLbl: Label 'Auckland', MaxLength = 30, Locked = true; + MainLocationCityLbl: Label 'Aramoho', MaxLength = 30, Locked = true; + WestLocationCityLbl: Label 'Fenton Park', MaxLength = 30, Locked = true; + EastLocationPostCodeLbl: Label '1015', MaxLength = 20; + MainLocationPostCodeLbl: Label '5001', MaxLength = 20; + WestLocationPostCodeLbl: Label '3201', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/1.Setup Data/CreateNZPurchPayableSetup.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/1.Setup Data/CreateNZPurchPayableSetup.Codeunit.al new file mode 100644 index 0000000000..322e150e9a --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/1.Setup Data/CreateNZPurchPayableSetup.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17135 "Create NZ Purch Payable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePurchasePayableSetup(); + end; + + local procedure UpdatePurchasePayableSetup() + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + CreateNZNoSeries: Codeunit "Create NZ No. Series"; + begin + PurchasesPayablesSetup.Get(); + + PurchasesPayablesSetup.Validate("Posted Tax Invoice Nos.", CreateNZNoSeries.PostedPurchaseTaxInvoice()); + PurchasesPayablesSetup.Validate("Posted Tax Credit Memo Nos", CreateNZNoSeries.PostedPurchaseTaxCreditMemo()); + PurchasesPayablesSetup.Validate("Copy Line Descr. to G/L Entry", true); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/1.Setup Data/CreateNZVendorPostingGroup.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/1.Setup Data/CreateNZVendorPostingGroup.Codeunit.al new file mode 100644 index 0000000000..9a429388de --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/1.Setup Data/CreateNZVendorPostingGroup.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 17134 "Create NZ Vendor Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoPostingGroup.InsertVendorPostingGroup(CreatePostingGroups.MiscPostingGroup(), CreateGLAccount.VendorsForeign(), CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PaymentToleranceReceived(), MiscVendorsLbl, false); + end; + + var + MiscVendorsLbl: Label 'Vendors in EU', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/2.Master Data/CreateNZPurchDimValue.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/2.Master Data/CreateNZPurchDimValue.Codeunit.al new file mode 100644 index 0000000000..c41af3cbf3 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/2.Master Data/CreateNZPurchDimValue.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 17151 "Create NZ Purch. Dim. Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/2.Master Data/CreateNZVendor.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/2.Master Data/CreateNZVendor.Codeunit.al new file mode 100644 index 0000000000..d2dba19d15 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/2.Master Data/CreateNZVendor.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 17133 "Create NZ Vendor" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreateTerritory: Codeunit "Create Territory"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVatPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, AtlantaCityLbl, ExportFabrikamVatRegNoLbl, ExportFabrikamPostCodeLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Foreign(), CreatePaymentTerms.PaymentTermsDAYS30(), CreateCountryRegion.US(), CreatePostingGroup.ExportPostingGroup(), CreateVatPostingGroups.Export(), ''); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, AnnesBrookCityLbl, DomesticFirstUpVatRegNoLbl, DomesticFirstUpPostCodeLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Domestic(), CreatePaymentTerms.PaymentTermsDAYS30(), CreateCountryRegion.NZ(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), ''); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, EningenCityLbl, EUGraphicDesignVatRegNoLbl, EUGraphicDesignPostCodeLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Foreign(), CreatePaymentTerms.PaymentTermsDAYS30(), CreateCountryRegion.DE(), CreatePostingGroup.ExportPostingGroup(), CreateVatPostingGroups.Export(), ''); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, AlicetownCityLbl, DomesticWorldImporterVatRegNoLbl, DomesticWorldImporterPostCodeLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Domestic(), CreatePaymentTerms.PaymentTermsDAYS30(), CreateCountryRegion.NZ(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), ''); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, AnnesBrookCityLbl, DomesticNodPublisherVatRegNoLbl, DomesticNodPublisherPostCodeLbl, CreateTerritory.Foreign(), CreateVendorPostingGroup.Domestic(), CreatePaymentTerms.PaymentTermsDAYS30(), CreateCountryRegion.NZ(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), ''); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; TerritoryCode: Code[10]; VendorPostingGroup: Code[20]; PaymentTermsCode: Code[10]; CountryRegionCode: Code[10]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; County: Text[30]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate("VAT Registration No.", VatRegNo); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("Vendor Posting Group", VendorPostingGroup); + Vendor.Validate("Payment Terms Code", PaymentTermsCode); + Vendor.Validate("Country/Region Code", CountryRegionCode); + Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Vendor.Validate(County, County); + end; + + var + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30, Locked = true; + AnnesBrookCityLbl: Label 'Annes Brook', MaxLength = 30, Locked = true; + EningenCityLbl: Label 'Eningen', MaxLength = 30, Locked = true; + AlicetownCityLbl: Label 'Alicetown', MaxLength = 30, Locked = true; + ExportFabrikamVatRegNoLbl: Label '503912693', MaxLength = 20; + DomesticFirstUpVatRegNoLbl: Label '274863274', MaxLength = 20; + EUGraphicDesignVatRegNoLbl: Label '521478963', MaxLength = 20; + DomesticWorldImporterVatRegNoLbl: Label '197548769', MaxLength = 20; + DomesticNodPublisherVatRegNoLbl: Label '295267495', MaxLength = 20; + ExportFabrikamPostCodeLbl: Label 'US-GA 31772', MaxLength = 20; + DomesticFirstUpPostCodeLbl: Label '7001', MaxLength = 20; + EUGraphicDesignPostCodeLbl: Label 'DE-72800', MaxLength = 20; + DomesticWorldImporterPostCodeLbl: Label '6008', MaxLength = 20; + DomesticNodPublisherPostCodeLbl: Label '7001', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/3.Transaction Data/CreateNZPurchaseDocument.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/3.Transaction Data/CreateNZPurchaseDocument.Codeunit.al new file mode 100644 index 0000000000..d79a6a91ba --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Purchase/3.Transaction Data/CreateNZPurchaseDocument.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17136 "Create NZ Purchase Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + UpdatePaymentTermsOnPurchaseHeader(CreatePaymentTerms.PaymentTermsDAYS30()); + end; + + local procedure UpdatePaymentTermsOnPurchaseHeader(PaymentTermsCode: Code[10]); + var + PurchaseHeader: Record "Purchase Header"; + begin + if PurchaseHeader.FindSet() then + repeat + PurchaseHeader.Validate("Payment Terms Code", PaymentTermsCode); + PurchaseHeader.Modify(true); + until PurchaseHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/1.Setup Data/CreateNZReminderLevel.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/1.Setup Data/CreateNZReminderLevel.Codeunit.al new file mode 100644 index 0000000000..871f094d9f --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/1.Setup Data/CreateNZReminderLevel.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17148 "Create NZ Reminder Level" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + Rec.Validate("Additional Fee (LCY)", 17); + 2: + Rec.Validate("Additional Fee (LCY)", 35); + 3: + Rec.Validate("Additional Fee (LCY)", 51); + end; + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/1.Setup Data/CreateNZSalesRecvSetup.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/1.Setup Data/CreateNZSalesRecvSetup.Codeunit.al new file mode 100644 index 0000000000..844a321a96 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/1.Setup Data/CreateNZSalesRecvSetup.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17137 "Create NZ Sales Recv Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + CreateNZNoSeries: Codeunit "Create NZ No. Series"; + begin + SalesReceivablesSetup.Get(); + + SalesReceivablesSetup.Validate("Posted Tax Invoice Nos.", CreateNZNoSeries.PostedSalesTaxInvoice()); + SalesReceivablesSetup.Validate("Posted Tax Credit Memo Nos", CreateNZNoSeries.PostedSalesTaxCreditMemo()); + SalesReceivablesSetup.Validate("Copy Line Descr. to G/L Entry", true); + SalesReceivablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZCustomer.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZCustomer.Codeunit.al new file mode 100644 index 0000000000..fc223ffffc --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZCustomer.Codeunit.al @@ -0,0 +1,60 @@ +codeunit 17138 "Create NZ Customer" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record Customer; RunTrigger: Boolean) + var + CreateCustomer: Codeunit "Create Customer"; + CreateTerritory: Codeunit "Create Territory"; + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateLanguage: Codeunit "Create Language"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, DomesticAdatumCorporationVATLbl, ArrowJunctionCityLbl, '9197', CreateTerritory.Foreign(), CreateCustomerPostingGroup.Domestic(), CreateLanguage.ENZ(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), CreateVATPostingGroups.Domestic(), '', CreateCountryRegion.NZ()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, DomesticTreyResearchVATLbl, ChristchurchCityLbl, '8001', CreateTerritory.Foreign(), CreateCustomerPostingGroup.Domestic(), CreateLanguage.ENZ(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), CreateVATPostingGroups.Domestic(), '', CreateCountryRegion.NZ()); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, SchoolOfFineArtVATLbl, MiamiCityLbl, 'US-FL 37125', CreateTerritory.Foreign(), CreateCustomerPostingGroup.Foreign(), CreateLanguage.ENU(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.ExportPostingGroup(), CreateVATPostingGroups.Export(), '', CreateCountryRegion.US()); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, EUAlpineSkiHouseVATLbl, MunchenCityLbl, 'DE-80807', CreateTerritory.Foreign(), CreateCustomerPostingGroup.Foreign(), CreateLanguage.DEU(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.ExportPostingGroup(), CreateVATPostingGroups.Export(), '', CreateCountryRegion.DE()); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, DomesticRelecloudVATLbl, CentreHillCityLbl, '9681', CreateTerritory.Foreign(), CreateCustomerPostingGroup.Domestic(), CreateLanguage.ENZ(), CreatePaymentTerms.PaymentTermsDAYS30(), CreatePostingGroups.DomesticPostingGroup(), CreateVATPostingGroups.Domestic(), '', CreateCountryRegion.NZ()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; VATRegistrationNo: Code[20]; City: Text[30]; PostCode: Code[20]; TerritoryCode: Code[10]; CustomerPostingGroup: Code[20]; LanguageCode: Code[10]; PaymentTermsCode: Code[10]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; County: Text[30]; CountryRegionCode: Code[10]) + begin + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Customer Posting Group", CustomerPostingGroup); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Payment Terms Code", PaymentTermsCode); + Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Customer.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Customer.Validate("VAT Registration No.", VATRegistrationNo); + Customer.Validate(County, County); + Customer.Validate("Country/Region Code", CountryRegionCode); + end; + + var + ArrowJunctionCityLbl: Label 'Arrow Junction', MaxLength = 30; + ChristchurchCityLbl: Label 'Christchurch', MaxLength = 30; + CentreHillCityLbl: Label 'Centre Hill', MaxLength = 30; + MiamiCityLbl: Label 'Miami', MaxLength = 30; + MunchenCityLbl: Label 'Munchen', MaxLength = 30; + DomesticAdatumCorporationVATLbl: Label '789456278', MaxLength = 20; + DomesticTreyResearchVATLbl: Label '254687456', MaxLength = 20; + EUAlpineSkiHouseVATLbl: Label '533435789', MaxLength = 20; + DomesticRelecloudVATLbl: Label '582048936', MaxLength = 20; + SchoolOfFineArtVATLbl: Label '733495789', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZSalesDimValue.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZSalesDimValue.Codeunit.al new file mode 100644 index 0000000000..89cd09d873 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZSalesDimValue.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 17150 "Create NZ Sales Dim Value" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZShipToAddress.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZShipToAddress.Codeunit.al new file mode 100644 index 0000000000..ed5263c578 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/2.Master Data/CreateNZShipToAddress.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 17139 "Create NZ Ship-To Address" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecords(var Rec: Record "Ship-to Address"; RunTrigger: Boolean) + var + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + CreateCustomer: Codeunit "Create Customer"; + begin + case Rec."Customer No." of + CreateCustomer.DomesticAdatumCorporation(): + begin + if Rec.Code = CreateShiptoAddress.Cheltenham() then + ValidateRecordFields(Rec, AucklandLbl, '1015', ''); + if Rec.Code = CreateShiptoAddress.London() then + ValidateRecordFields(Rec, FentonParkLbl, '3201', ''); + end; + CreateCustomer.DomesticTreyResearch(): + begin + if Rec.Code = CreateShiptoAddress.Fleet() then + ValidateRecordFields(Rec, ManaiaLbl, '4851', ''); + if Rec.Code = CreateShiptoAddress.TWYCross() then + ValidateRecordFields(Rec, AnnesBrookLbl, '7001', ''); + end; + end; + end; + + local procedure ValidateRecordFields(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + ShiptoAddress."Country/Region Code" := CountryRegionCode; + end; + + var + AucklandLbl: Label 'Auckland', MaxLength = 30; + FentonParkLbl: Label 'Fenton Park', MaxLength = 30; + ManaiaLbl: Label 'Manaia', MaxLength = 30; + AnnesBrookLbl: Label 'Annes Brook', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/3.Transaction Data/CreateNZSalesDocument.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/3.Transaction Data/CreateNZSalesDocument.Codeunit.al new file mode 100644 index 0000000000..935985def6 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Data/Sales/3.Transaction Data/CreateNZSalesDocument.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 17140 "Create NZ Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreatePaymentTerms: Codeunit "Create Payment Terms"; + begin + UpdatePaymentTermsOnSalesHeader(CreatePaymentTerms.PaymentTermsDAYS30()); + end; + + local procedure UpdatePaymentTermsOnSalesHeader(PaymentTermsCode: Code[10]); + var + SalesHeader: Record "Sales Header"; + begin + if SalesHeader.FindSet() then + repeat + SalesHeader.Validate("Payment Terms Code", PaymentTermsCode); + SalesHeader.Modify(true); + until SalesHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/Contoso Helpers/ContosoNZCounty.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/Contoso Helpers/ContosoNZCounty.Codeunit.al new file mode 100644 index 0000000000..532f809211 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/Contoso Helpers/ContosoNZCounty.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 17118 "Contoso NZ County" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata County = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertCounty(Name: Text[30]; Description: Text[30]) + var + County: Record County; + Exists: Boolean; + begin + if County.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + County.Validate(Name, Name); + County.Validate(Description, Description); + + if Exists then + County.Modify(true) + else + County.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/Contoso Helpers/ContosoNZPostCode.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/Contoso Helpers/ContosoNZPostCode.Codeunit.al new file mode 100644 index 0000000000..9ea0a1c7c3 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/Contoso Helpers/ContosoNZPostCode.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 17112 "Contoso NZ Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]; County: Text[30]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + PostCode.Validate(County, County); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/NZContosoLocalization.Codeunit.al b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/NZContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..2e88156d41 --- /dev/null +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/Demo Tool/NZContosoLocalization.Codeunit.al @@ -0,0 +1,264 @@ +codeunit 17142 "NZ Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + FoundationModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Finance: + FinanceModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Purchase: + PurchaseModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Sales: + SalesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Inventory: + InventoryModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::CRM: + CRMModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Bank: + BankModule(ContosoDemoDataLevel); + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create NZ Gen. Journal Line"); + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create NZ Bank Acc. Reco."); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create NZ Industry Group"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create NZ Item Template"); + Codeunit.Run(Codeunit::"Create NZ Location"); + end; + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create NZ Company Information"); + Codeunit.Run(Codeunit::"Create NZ No. Series"); + Codeunit.Run(Codeunit::"Create NZ County"); + Codeunit.Run(Codeunit::"Create NZ Post Code"); + Codeunit.Run(Codeunit::"Create NZ Shipping Agent"); + Codeunit.Run(Codeunit::"Create NZ Source Code"); + Codeunit.Run(Codeunit::"Create NZ Source Code Setup"); + Codeunit.Run(Codeunit::"Create NZ VAT Posting Group"); + Codeunit.Run(Codeunit::"Create NZ Posting Groups"); + end; + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create NZ Purch Payable Setup"); + Codeunit.Run(Codeunit::"Create NZ Vendor Posting Group"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create NZ Purchase Document"); + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create NZ Sales Recv Setup"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create NZ Sales Document"); + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + CreateNZGLAccounts: Codeunit "Create NZ GL Accounts"; + CreateNZPostingGroups: Codeunit "Create NZ Posting Groups"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create NZ General Ledger Setup"); + Codeunit.Run(Codeunit::"Create NZ GL Accounts"); + CreateNZGLAccounts.AddCategoriesToGLAccounts(); + CreateNZVATPostingGroup.UpdateVATPostingSetup(); + CreateNZPostingGroups.InsertGenPostingSetup(); + Codeunit.Run(Codeunit::"Create NZ Acc Schedule Name"); + Codeunit.Run(Codeunit::"Create NZ VAT Setup PostingGrp"); + Codeunit.Run(Codeunit::"Create NZ Gen. Journ. Template"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create NZ Currency Ex. Rate"); + Codeunit.Run(Codeunit::"Create NZ Financial Report"); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateNZBankAccount: Codeunit "Create NZ Bank Account"; + CreateNZVendor: Codeunit "Create NZ Vendor"; + CreateNZCustomer: Codeunit "Create NZ Customer"; + CreateNZReminderLevel: Codeunit "Create NZ Reminder Level"; + CreateNZCurrency: Codeunit "Create NZ Currency"; + CreateNZCurrencyExRate: Codeunit "Create NZ Currency Ex. Rate"; + CreateNZEmployee: Codeunit "Create NZ Employee"; + CreateNZCountryRegion: Codeunit "Create NZ Country Region"; + CreateNZPaymentTerms: Codeunit "Create NZ Payment Terms"; + CreateNZShippingAgent: Codeunit "Create NZ Shipping Agent"; + CreateNZItem: Codeunit "Create NZ Item"; + CreateNZItemCharge: Codeunit "Create NZ Item Charge"; + CreateNZLocation: Codeunit "Create NZ Location"; + CreateNZShipToAddress: Codeunit "Create NZ Ship-To Address"; + CreateNZResource: Codeunit "Create NZ Resource"; + CreateNZPostingGroups: Codeunit "Create NZ Posting Groups"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + CreateNZAccScheduleLine: Codeunit "Create NZ Acc. Schedule Line"; + CreaateNZGenJournalBatch: Codeunit "Create NZ Gen. Journal Batch"; + CreateNZVATStatement: Codeunit "Create NZ VAT Statement"; + CreateNZSalesDimValue: Codeunit "Create NZ Sales Dim Value"; + CreateNZPurchDimValue: Codeunit "Create NZ Purch. Dim. Value"; + CreateNZVATSetupPostingGrp: Codeunit "Create NZ VAT Setup PostingGrp"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + BindSubscription(CreateNZCountryRegion); + BindSubscription(CreateNZPaymentTerms); + BindSubscription(CreateNZShippingAgent); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateNZResource); + BindSubscription(CreateNZPostingGroups); + BindSubscription(CreateNZVATPostingGroup); + BindSubscription(CreateNZAccScheduleLine); + BindSubscription(CreateNZVATStatement); + BindSubscription(CreateNZVATSetupPostingGrp); + BindSubscription(CreateNZCurrency); + BindSubscription(CreateNZCurrencyExRate); + BindSubscription(CreaateNZGenJournalBatch); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateNZLocation); + BindSubscription(CreateNZItem); + BindSubscription(CreateNZItemCharge); + end; + Enum::"Contoso Demo Data Module"::Bank: + BindSubscription(CreateNZBankAccount); + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateNZVendor); + BindSubscription(CreateNZPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateNZCustomer); + BindSubscription(CreateNZSalesDimValue); + BindSubscription(CreateNZReminderLevel); + BindSubscription(CreateNZShipToAddress); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + BindSubscription(CreateNZEmployee); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateNZBankAccount: Codeunit "Create NZ Bank Account"; + CreateNZVendor: Codeunit "Create NZ Vendor"; + CreateNZCustomer: Codeunit "Create NZ Customer"; + CreateNZCurrencyExRate: Codeunit "Create NZ Currency Ex. Rate"; + CreateNZReminderLevel: Codeunit "Create NZ Reminder Level"; + CreateNZCurrency: Codeunit "Create NZ Currency"; + CreateNZEmployee: Codeunit "Create NZ Employee"; + CreateNZCountryRegion: Codeunit "Create NZ Country Region"; + CreateNZPaymentTerms: Codeunit "Create NZ Payment Terms"; + CreateNZShippingAgent: Codeunit "Create NZ Shipping Agent"; + CreateNZItemCharge: Codeunit "Create NZ Item Charge"; + CreateNZItem: Codeunit "Create NZ Item"; + CreateNZLocation: Codeunit "Create NZ Location"; + CreateNZShipToAddress: Codeunit "Create NZ Ship-To Address"; + CreateNZVATSetupPostingGrp: Codeunit "Create NZ VAT Setup PostingGrp"; + CreateNZResource: Codeunit "Create NZ Resource"; + CreateNZPostingGroups: Codeunit "Create NZ Posting Groups"; + CreateNZVATPostingGroup: Codeunit "Create NZ VAT Posting Group"; + CreateNZAccScheduleLine: Codeunit "Create NZ Acc. Schedule Line"; + CreateNZVATStatement: Codeunit "Create NZ VAT Statement"; + CreaateNZGenJournalBatch: Codeunit "Create NZ Gen. Journal Batch"; + CreateNZSalesDimValue: Codeunit "Create NZ Sales Dim Value"; + CreateNZPurchDimValue: Codeunit "Create NZ Purch. Dim. Value"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + begin + UnbindSubscription(CreateNZCountryRegion); + UnbindSubscription(CreateNZPaymentTerms); + UnbindSubscription(CreateNZShippingAgent); + end; + Enum::"Contoso Demo Data Module"::Bank: + UnbindSubscription(CreateNZBankAccount); + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateNZItem); + UnbindSubscription(CreateNZItemCharge); + UnbindSubscription(CreateNZLocation); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateNZVendor); + UnbindSubscription(CreateNZPurchDimValue); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateNZCustomer); + UnbindSubscription(CreateNZSalesDimValue); + UnbindSubscription(CreateNZReminderLevel); + UnbindSubscription(CreateNZShipToAddress); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + UnbindSubscription(CreateNZEmployee); + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateNZResource); + UnbindSubscription(CreateNZPostingGroups); + UnbindSubscription(CreateNZVATPostingGroup); + UnbindSubscription(CreateNZAccScheduleLine); + UnbindSubscription(CreateNZVATSetupPostingGrp); + UnbindSubscription(CreateNZVATStatement); + UnbindSubscription(CreateNZCurrency); + UnbindSubscription(CreateNZCurrencyExRate); + UnbindSubscription(CreaateNZGenJournalBatch); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/app.json b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/app.json index 4e4ad597de..caa6b55433 100644 --- a/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/app.json +++ b/Apps/NZ/ContosoCoffeeDemoDatasetNZ/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 17105, - "to": 17110 + "to": 17210 } ], "resourceExposurePolicy": { diff --git a/Apps/RU/CDTracking/app/src/CDExtensionInstall.Codeunit.al b/Apps/RU/CDTracking/app/src/CDExtensionInstall.Codeunit.al index 624e5e8300..4f5d6252bb 100644 --- a/Apps/RU/CDTracking/app/src/CDExtensionInstall.Codeunit.al +++ b/Apps/RU/CDTracking/app/src/CDExtensionInstall.Codeunit.al @@ -42,9 +42,6 @@ codeunit 14109 "CD Extension Install" MoveCDNoFormats(); MoveCDNoHeaders(); MoveCDTrackingSetup(); - - UpdateItemTrackingCodes(); - UpdatePackageNoInformation(); end; local procedure ApplyEvaluationClassificationsForPrivacy() @@ -68,29 +65,6 @@ codeunit 14109 "CD Extension Install" DataClassificationMgt.SetFieldToNormal(Database::"Package No. Information", PackageNoInformation.FieldNo("Temporary CD Number")); end; - local procedure UpdateItemTrackingCodes(); - var - ItemTrackingCode: Record "Item Tracking Code"; - begin - if ItemTrackingCode.FindSet() then - repeat - ItemTrackingCode.Validate("Package Specific Tracking", ItemTrackingCode."CD Specific Tracking"); - ItemTrackingCode.Validate("Package Warehouse Tracking", ItemTrackingCode."CD Warehouse Tracking"); - ItemTrackingCode.Modify(); - until ItemTrackingCode.Next() = 0; - end; - - local procedure UpdatePackageNoInformation(); - var - PackageNoInformation: Record "Package No. Information"; - begin - if PackageNoInformation.FindSet() then - repeat - PackageNoInformation."CD Header Number" := PackageNoInformation."CD Header No."; - PackageNoInformation.Modify(); - until PackageNoInformation.Next() = 0; - end; - local procedure UpdateInventorySetup() var InventorySetup: Record "Inventory Setup"; @@ -100,7 +74,6 @@ codeunit 14109 "CD Extension Install" InventorySetup.TestField("Package Caption", ''); InventorySetup."Package Caption" := CopyStr(CDItemTrackingMgt.CDCaption(), 1, MaxStrLen(InventorySetup."Package Caption")); - InventorySetup."Check CD Number Format" := InventorySetup."Check CD No. Format"; InventorySetup.Modify(); end; diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Codeunits/CreateSEGLAccounts.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Codeunits/CreateSEGLAccounts.Codeunit.al deleted file mode 100644 index 7c528fec20..0000000000 --- a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Codeunits/CreateSEGLAccounts.Codeunit.al +++ /dev/null @@ -1,115 +0,0 @@ -codeunit 11299 "Create SE GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1510'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2441'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '3051'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '4051'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2610'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '2645'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '4191'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '4091'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '4192'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '4092'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '4193'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '4093'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1410'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '4151'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '4160'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '4060'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1460'); - if InventorySetup."Expected Cost Posting to G/L" then - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1461') - else - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '3091'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '4491'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '4492'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '4493'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '4510'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '4520'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '4530'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '4540'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '4550'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1450'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '1440'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1215'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1216'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1219'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6450'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '7830'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '7891'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '7100'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '1433'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1436'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '3057'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '3085'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '4065'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '4300'); - end; -} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Bank/2.Master Data/CreateBankAccountSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Bank/2.Master Data/CreateBankAccountSE.Codeunit.al new file mode 100644 index 0000000000..49de220b0f --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Bank/2.Master Data/CreateBankAccountSE.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 11216 "Create Bank Account SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertBankAccount(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -9442000, CityLbl, PostCodeLbl); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, CityLbl, PostCodeLbl); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; City: Text[30]; PostCode: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate(City, City); + BankAccount.Validate("Post Code", PostCode); + end; + + var + CityLbl: Label 'STOCKHOLM', MaxLength = 30, Locked = true; + PostCodeLbl: Label '114 32', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Bank/2.Master Data/CreateGenJournalLineSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Bank/2.Master Data/CreateGenJournalLineSE.Codeunit.al new file mode 100644 index 0000000000..a71408b83d --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Bank/2.Master Data/CreateGenJournalLineSE.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11244 "Create Gen. Journal Line SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateGenJournalLine(); + UpdateBankAccReconciliationLine(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertGenJournalLine(var Rec: Record "Gen. Journal Line") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) and (Rec."Journal Batch Name" = CreateBankJnlBatch.Daily()) then + case Rec."Line No." of + 10000: + Rec.Validate(Amount, -17990.85); + 20000: + Rec.Validate(Amount, -26986.28); + 30000: + Rec.Validate(Amount, -35981.71); + 40000: + Rec.Validate(Amount, -35981.71); + end; + end; + + local procedure UpdateGenJournalLine() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.Get(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000); + if GenJournalLine."Account No." = '' then begin + GenJournalLine.Validate(Amount, 0); + GenJournalLine.Modify(true); + end; + end; + + local procedure UpdateBankAccReconciliationLine() + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + BankAccount: Record "Bank Account"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + BankAccount.Get(CreateBankAccount.Checking()); + + BankAccReconciliationLine.Get(BankAccReconciliationLine."Statement Type"::"Bank Reconciliation", BankAccount."No.", BankAccount."Last Statement No.", 30000); + BankAccReconciliationLine.Validate("Transaction Text", DepositToAccountLbl); + BankAccReconciliationLine.Validate(Description, CopyStr(BankAccReconciliationLine."Transaction Text", 1, MaxStrLen(BankAccReconciliationLine.Description))); + BankAccReconciliationLine.Modify(true); + end; + + var + DepositToAccountLbl: Label 'Deposit to Account 24-01-18', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupSE.Codeunit.al new file mode 100644 index 0000000000..b4dc853331 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/CRM/1.Setup Data/CreateMarketingSetupSE.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11206 "Create Marketing Setup SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMarketingSetup(); + end; + + local procedure UpdateMarketingSetup() + var + MarketingSetup: Record "Marketing Setup"; + begin + MarketingSetup.Get(); + + MarketingSetup.Validate("Default Country/Region Code", ''); + MarketingSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookSE.Codeunit.al new file mode 100644 index 0000000000..4a133dd4f2 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/FA/1.Setup Data/CreateFADepreciationBookSE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11225 "Create FA Depreciation Book SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/FA/1.Setup Data/CreateFAInsJnlTemplateSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/FA/1.Setup Data/CreateFAInsJnlTemplateSE.Codeunit.al new file mode 100644 index 0000000000..0e7f299eba --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/FA/1.Setup Data/CreateFAInsJnlTemplateSE.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 11243 "Create FA Ins Jnl. Template SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + CreateFANoSeries: Codeunit "Create FA No Series"; + CreateFAInsJnlTemplate: Codeunit "Create FA Ins Jnl. Template"; + begin + ContosoFixedAsset.SetOverwriteData(true); + ContosoFixedAsset.InsertInsuranceJournalTemplate(CreateFAInsJnlTemplate.Insurance(), InsuranceJournalLbl, CreateFANoSeries.InsuranceJournal()); + ContosoFixedAsset.InsertInsuranceJournalBatch(CreateFAInsJnlTemplate.Insurance(), CreateFAInsJnlTemplate.Default(), DefaultJournalBatchLbl); + ContosoFixedAsset.SetOverwriteData(false); + end; + + var + InsuranceJournalLbl: Label 'Insurance Journal', MaxLength = 50; + DefaultJournalBatchLbl: Label 'Default Journal Batch', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleSE.Codeunit.al new file mode 100644 index 0000000000..804f5d4cce --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateAccScheduleSE.Codeunit.al @@ -0,0 +1,204 @@ +codeunit 11212 "Create Acc. Schedule SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateAccScheduleName(); + CreateFinancialReport(); + end; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertAccScheduleLine(var Rec: Record "Acc. Schedule Line") + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + if Rec."Schedule Name" = CreateAccountScheduleName.AccountCategoriesOverview() then + case Rec."Line No." of + 60000: + ValidateRecordFields(Rec, CreateGLAccount.NETINCOME(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CapitalStructure() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.SecuritiesTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 110000: + ValidateRecordFields(Rec, CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 120000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 130000: + ValidateRecordFields(Rec, CreateGLAccount.VATTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 140000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelrelatedItems(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 150000: + ValidateRecordFields(Rec, CreateGLAccount.OtherLiabilitiesTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 60000: + ValidateRecordFields(Rec, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 70000: + ValidateRecordFields(Rec, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 20000: + ValidateRecordFields(Rec, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.LiquidAssetsTotal() + '|' + CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '10' + '..' + '30', Enum::"Acc. Schedule Line Totaling Type"::Formula, false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 30000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, CreateGLAccount.BalanceSheet(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.TotalPersonnelExpenses(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + begin + ValidateRecordFields(Rec, CreateGLAccount.TotalRevenue(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + Rec.Validate(Description, TotalRevenueLbl); + end; + 20000: + ValidateRecordFields(Rec, CreateGLAccount.TotalCost(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 40000: + ValidateRecordFields(Rec, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.BalanceSheet() + '|' + CreateGLAccount.TotalPersonnelExpenses() + '|' + CreateGLAccount.TotalFixedAssetDepreciation(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + 70000: + ValidateRecordFields(Rec, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, true); + 80000: + ValidateRecordFields(Rec, CreateGLAccount.OtherCostsofOperations(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 90000: + ValidateRecordFields(Rec, CreateGLAccount.NETINCOMEBEFORETAXES(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + + if Rec."Schedule Name" = CreateAccountScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailDom(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 50000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailEU(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 60000: + ValidateRecordFields(Rec, CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 70000: + ValidateRecordFields(Rec, CreateGLAccount.JobSalesAppliedRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", false); + 80000: + ValidateRecordFields(Rec, CreateGLAccount.TotalSalesofRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; Totaling: Text; TotalingType: Enum "Acc. Schedule Line Totaling Type"; HideCurrencySymbol: Boolean) + begin + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + if HideCurrencySymbol then + AccScheduleLine.Validate("Hide Currency Symbol", HideCurrencySymbol); + end; + + local procedure CreateAccScheduleName() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetDetailed(), BalanceSheetDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementDetailed(), IncomeStatementDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(TrialBalance(), TrialBalanceLbl, ''); + end; + + local procedure CreateFinancialReport() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.SetOverwriteData(true); + ContosoAccountSchedule.InsertFinancialReport(BalanceSheetDetailed(), BalanceSheetDetailedLbl, BalanceSheetDetailed(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, BalanceSheetSummarized(), BalanceSheetTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(IncomeStatementDetailed(), IncomeStatementDetailedLbl, IncomeStatementDetailed(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, IncomeStatementSummarized(), IncomeStatementTrendLbl); + ContosoAccountSchedule.InsertFinancialReport(TrialBalance(), TrialBalanceLbl, TrialBalance(), BeginningBalanceDebitsCreditsEndingBalanceLbl); + ContosoAccountSchedule.SetOverwriteData(false); + end; + + procedure BalanceSheetDetailed(): Code[10] + begin + exit(BalanceSheetDetailedTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetailed(): Code[10] + begin + exit(IncomeStatementDetailedTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummarizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + BalanceSheetDetailedTok: Label 'BS DET', MaxLength = 10, Locked = true; + BalanceSheetTrendLbl: Label 'BSTREND', MaxLength = 10, Locked = true; + IncomeStatementTrendLbl: Label 'ISTREND', MaxLength = 10, Locked = true; + TrialBalanceTok: Label 'TB', MaxLength = 10, Locked = true; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10, Locked = true; + BeginningBalanceDebitsCreditsEndingBalanceLbl: Label 'BBDRCREB', MaxLength = 10, Locked = true; + IncomeStatementSummarizedTok: Label 'IS SUM', MaxLength = 10, Locked = true; + IncomeStatementDetailedTok: Label 'IS DET', MaxLength = 10, Locked = true; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateCurrencySE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateCurrencySE.Codeunit.al new file mode 100644 index 0000000000..e05e91dfaa --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateCurrencySE.Codeunit.al @@ -0,0 +1,82 @@ +codeunit 11208 "Create Currency SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrency(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCurrency.AED(), + CreateCurrency.AUD(), + CreateCurrency.BGN(), + CreateCurrency.BND(), + CreateCurrency.BRL(), + CreateCurrency.CAD(), + CreateCurrency.CHF(), + CreateCurrency.CZK(), + CreateCurrency.DKK(), + CreateCurrency.DZD(), + CreateCurrency.EUR(), + CreateCurrency.FJD(), + CreateCurrency.HKD(), + CreateCurrency.HUF(), + CreateCurrency.HRK(), + CreateCurrency.IDR(), + CreateCurrency.INR(), + CreateCurrency.ISK(), + CreateCurrency.JPY(), + CreateCurrency.KES(), + CreateCurrency.MAD(), + CreateCurrency.MXN(), + CreateCurrency.MYR(), + CreateCurrency.MZN(), + CreateCurrency.NOK(), + CreateCurrency.NZD(), + CreateCurrency.NGN(), + CreateCurrency.PHP(), + CreateCurrency.PLN(), + CreateCurrency.RON(), + CreateCurrency.RSD(), + CreateCurrency.SAR(), + CreateCurrency.SBD(), + CreateCurrency.SEK(), + CreateCurrency.SGD(), + CreateCurrency.SZL(), + CreateCurrency.THB(), + CreateCurrency.TND(), + CreateCurrency.TRY(), + CreateCurrency.TOP(), + CreateCurrency.UGX(), + CreateCurrency.USD(), + CreateCurrency.VUV(), + CreateCurrency.WST(), + CreateCurrency.XPF(), + CreateCurrency.ZAR(): + ValidateRecordFields(Rec, CreateGLAccount.RealizedFXGains(), CreateGLAccount.RealizedFXLosses()); + CreateCurrency.RUB(): + begin + ValidateRecordFields(Rec, CreateGLAccount.RealizedFXGains(), CreateGLAccount.RealizedFXLosses()); + Rec.Validate("Invoice Rounding Precision", 0.01); + end; + CreateCurrency.GBP(): + begin + ValidateRecordFields(Rec, CreateGLAccount.RealizedFXGains(), CreateGLAccount.RealizedFXLosses()); + Rec.Validate("Unit-Amount Rounding Precision", 0.00001); + end; + end; + end; + + local procedure ValidateRecordFields(var Currency: Record Currency; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + Currency.Validate("Unrealized Gains Acc.", ''); + Currency.Validate("Unrealized Losses Acc.", ''); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupSE.Codeunit.al new file mode 100644 index 0000000000..e210610683 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateGeneralLedgerSetupSE.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 11210 "Create General Ledger Setup SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + Currency.Get(CreateCurrency.SEK()); + ValidateRecordFields(CreateCurrency.SEK(), LocalCurrencySymbolLbl, Currency.Description, 0.001); + end; + + local procedure ValidateRecordFields(LCYCode: Code[10]; LocalCurrencySymbol: Text[10]; LocalCurrencyDescription: Text[60]; UnitAmountRoundingPrecision: Decimal) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Local Currency Symbol", LocalCurrencySymbol); + GeneralLedgerSetup.Validate("Local Currency Description", LocalCurrencyDescription); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := UnitAmountRoundingPrecision; + GeneralLedgerSetup.Modify(true); + end; + + var + LocalCurrencySymbolLbl: Label 'kr', Locked = true; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsSE.Codeunit.al new file mode 100644 index 0000000000..71ab527654 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreatePostingGroupsSE.Codeunit.al @@ -0,0 +1,72 @@ +codeunit 11213 "Create Posting Groups SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertGenPostingGroup(); + end; + + local procedure InsertGenPostingGroup() + var + CreateVATPostingGroupsSE: Codeunit "Create VAT Posting Groups SE"; + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + begin + ContosoPostingGroup.InsertGenProductPostingGroup(NoVatPostingGroup(), NoVatDescriptionLbl, CreateVATPostingGroupsSE.NoVat()); + ContosoPostingGroup.InsertGenProductPostingGroup(OnlyPostingGroup(), OnlyDescriptionLbl, CreateVATPostingGroupsSE.Only()); + + ContosoPostingGroup.SetOverwriteData(true); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.FreightPostingGroup(), FreightDescriptionLbl, CreateVATPostingGroupsSE.VAT25()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.MiscPostingGroup(), MiscDescriptionLbl, CreateVATPostingGroupsSE.VAT25()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.RawMatPostingGroup(), RawMatDescriptionLbl, CreateVATPostingGroupsSE.VAT25()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.RetailPostingGroup(), RetailDescriptionLbl, CreateVATPostingGroupsSE.VAT25()); + ContosoPostingGroup.InsertGenProductPostingGroup(CreatePostingGroups.ServicesPostingGroup(), ServicesDescriptionLbl, CreateVATPostingGroupsSE.VAT12()); + ContosoPostingGroup.SetOverwriteData(false); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateSEGLAccounts: Codeunit "Create SE GL Accounts"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NoVatPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), NoVatPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailEU(), CreateGLAccount.PurchRetailEU(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), NoVatPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.ExportPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateSEGLAccounts.Shipmentsnotinvoiced(), CreateSEGLAccounts.Receiptsnotinvoiced()); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure NoVatPostingGroup(): Code[20] + begin + exit(NoVatTok); + end; + + procedure OnlyPostingGroup(): Code[20] + begin + exit(OnlyTok); + end; + + var + NoVatTok: Label 'NO VAT', Locked = true, MaxLength = 20; + NoVatDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + OnlyTok: Label 'ONLY', Locked = true, MaxLength = 20; + OnlyDescriptionLbl: Label 'Manually Posted VAT', MaxLength = 100; + FreightDescriptionLbl: Label 'Freight, etc.', MaxLength = 100; + MiscDescriptionLbl: Label 'Miscellaneous with VAT', MaxLength = 100; + RawMatDescriptionLbl: Label 'Raw Materials', MaxLength = 100; + RetailDescriptionLbl: Label 'Retail', MaxLength = 100; + ServicesDescriptionLbl: Label 'Resources, etc.', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateResourceSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateResourceSE.Codeunit.al new file mode 100644 index 0000000000..bddc363034 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateResourceSE.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 11211 "Create Resource SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertResource(var Rec: Record Resource) + var + CreateResource: Codeunit "Create Resource"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreateVatPostingGroupsSE: Codeunit "Create Vat Posting Groups SE"; + begin + case Rec."No." of + CreateResource.Katherine(): + ValidateRecordFields(Rec, CityLbl, 510, 561, 44.45545, 1010, PostCodeLbl, ContosoUtilities.AdjustDate(20050525D), CreateVatPostingGroupsSE.VAT12()); + CreateResource.Lina(): + ValidateRecordFields(Rec, CityLbl, 610, 671, 44.54545, 1210, PostCodeLbl, ContosoUtilities.AdjustDate(18780101D), CreateVatPostingGroupsSE.VAT12()); + CreateResource.Marty(): + ValidateRecordFields(Rec, CityLbl, 450, 495, 45.6044, 910, PostCodeLbl, ContosoUtilities.AdjustDate(18750301D), CreateVatPostingGroupsSE.VAT12()); + CreateResource.Terry(): + ValidateRecordFields(Rec, CityLbl, 510, 561, 44.45545, 1010, PostCodeLbl, ContosoUtilities.AdjustDate(18750301D), CreateVatPostingGroupsSE.VAT12()); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; EmploymentDate: Date; VatProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Post Code", PostCode); + Resource.Validate("Employment Date", EmploymentDate); + Resource.Validate("VAT Prod. Posting Group", VatProdPostingGroup); + end; + + var + CityLbl: Label 'STOCKHOLM', MaxLength = 30, Locked = true; + PostCodeLbl: Label '114 32', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsSE.Codeunit.al new file mode 100644 index 0000000000..22a4f8aaef --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/1.Setup Data/CreateVatPostingGroupsSE.Codeunit.al @@ -0,0 +1,91 @@ +codeunit 11207 "Create Vat Posting Groups SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertVATProductPostingGroup(NoVat(), NoVatDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(Only(), OnlyDescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT25(), Vat25DescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT12(), Vat12DescriptionLbl); + ContosoPostingGroup.InsertVATProductPostingGroup(VAT6(), Vat6DescriptionLbl); + end; + + procedure UpdateVATPostingSetup() + var + VatPostingSetup: Record "VAT Posting Setup"; + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateSEGLAccounts: Codeunit "Create SE GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), NoVat(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), NoVat(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), Only(), '', CreateSEGLAccounts.OnlyVAT(), Only(), 0, Enum::"Tax Calculation Type"::"Full VAT", '', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), VAT12(), CreateSEGLAccounts.SalesVAT12(), CreateGLAccount.PurchaseVAT25(), VAT12(), 12, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), VAT25(), CreateGLAccount.SalesVAT25(), CreateSEGLAccounts.PurchaseVAT12EU(), VAT25(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Domestic(), VAT6(), '', '', VAT6(), 6, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), NoVat(), CreateGLAccount.SalesVAT25(), CreateSEGLAccounts.PurchaseVAT12EU(), NoVat(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), VAT12(), CreateSEGLAccounts.SalesVAT12(), CreateSEGLAccounts.PurchaseVAT12EU(), VAT12(), 12, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateSEGLAccounts.PurchaseVAT12EU(), '', true); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), VAT25(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), VAT25(), 25, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccount.PurchaseVAT25EU(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.EU(), VAT6(), '', '', VAT6(), 6, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', '', '', false); + + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), NoVat(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), NoVat(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), VAT12(), CreateSEGLAccounts.SalesVAT12(), CreateGLAccount.PurchaseVAT25(), NoVat(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), VAT25(), CreateGLAccount.SalesVAT25(), CreateSEGLAccounts.PurchaseVAT12EU(), NoVat(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(CreateVATPostingGroups.Export(), VAT6(), '', '', NoVat(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.SetOverwriteData(false); + + VatPostingSetup.Get(CreateVATPostingGroups.Domestic(), Only()); + VatPostingSetup.Validate(Description, ''); + VatPostingSetup.Modify(true); + end; + + procedure NoVat(): Code[20] + begin + exit(NoVatTok); + end; + + procedure Only(): Code[20] + begin + exit(OnlyTok); + end; + + procedure VAT25(): Code[20] + begin + exit(VAT25Tok); + end; + + procedure VAT12(): Code[20] + begin + exit(VAT12Tok); + end; + + procedure VAT6(): Code[20] + begin + exit(VAT6Tok); + end; + + var + NoVatTok: Label 'NO VAT', Locked = true; + NoVatDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; + OnlyTok: Label 'ONLY', Locked = true; + OnlyDescriptionLbl: Label 'Manually posted VAT', MaxLength = 100; + VAT12Tok: Label 'VAT12', Locked = true; + Vat12DescriptionLbl: Label 'Miscellaneous 12 VAT', MaxLength = 100; + VAT25Tok: Label 'VAT25', Locked = true; + Vat25DescriptionLbl: Label 'Miscellaneous 25 VAT', MaxLength = 100; + VAT6Tok: Label 'VAT6', Locked = true; + Vat6DescriptionLbl: Label 'Miscellaneous 6 VAT', MaxLength = 100; + +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateSE.Codeunit.al new file mode 100644 index 0000000000..05c4be3c19 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateCurrencyExRateSE.Codeunit.al @@ -0,0 +1,194 @@ +codeunit 11209 "Create Currency Ex. Rate SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCurrency: Codeunit "Contoso Currency"; + CreateCurrency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 1010.4452, 1010.4452); + + CurrentDate := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 1081.6415, 1081.6415); + + CurrentDate := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(CreateCurrency.GBP(), CurrentDate, 100, 100, 1038.8711, 1038.8711); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCurrencyExchangeRate(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + CurrentDate: Date; + begin + CurrentDate := CalcDate('', WorkDate()); + if Rec."Currency Code" = Currency.AED() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 236.1946, 236.1946); + if Rec."Currency Code" = Currency.AUD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 346.5775, 346.5775); + if Rec."Currency Code" = Currency.BGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 319.3975, 319.3975); + if Rec."Currency Code" = Currency.BND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 397.1019, 397.1019); + if Rec."Currency Code" = Currency.BRL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 247.7594, 247.7594); + if Rec."Currency Code" = Currency.CAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 436.4144, 436.4144); + if Rec."Currency Code" = Currency.CHF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 549.0999, 549.0999); + if Rec."Currency Code" = Currency.CZK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 26.8963, 26.8963); + if Rec."Currency Code" = Currency.DKK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 118.02, 118.02); + if Rec."Currency Code" = Currency.DZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 11.3345, 11.3345); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 6.5252, 6.5252); + if Rec."Currency Code" = Currency.FJD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 304.5506, 304.5506); + if Rec."Currency Code" = Currency.HKD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 88.5504, 88.5504); + if Rec."Currency Code" = Currency.HRK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 119.3997, 119.3997); + if Rec."Currency Code" = Currency.HUF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 3.7128, 3.7128); + if Rec."Currency Code" = Currency.IDR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.0975, 0.0975); + if Rec."Currency Code" = Currency.INR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 14.5519, 14.5519); + if Rec."Currency Code" = Currency.ISK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 10.0553, 10.0553); + if Rec."Currency Code" = Currency.JPY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 5.8656, 5.8656); + if Rec."Currency Code" = Currency.KES() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 10.9394, 10.9394); + if Rec."Currency Code" = Currency.MAD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 83.1969, 83.1969); + if Rec."Currency Code" = Currency.MXN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 72.8537, 72.8537); + if Rec."Currency Code" = Currency.MYR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 182.4825, 182.4825); + if Rec."Currency Code" = Currency.MZN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.3758, 0.3758); + if Rec."Currency Code" = Currency.NGN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 6.8712, 6.8712); + if Rec."Currency Code" = Currency.NOK() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 103.6806, 103.6806); + if Rec."Currency Code" = Currency.NZD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 293.3269, 293.3269); + if Rec."Currency Code" = Currency.PHP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 13.5369, 13.5369); + if Rec."Currency Code" = Currency.PLN() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 167.73, 167.73); + if Rec."Currency Code" = Currency.RON() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1000, 1000, 0.2653, 0.2653); + if Rec."Currency Code" = Currency.RSD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 10.3306, 10.3306); + if Rec."Currency Code" = Currency.RUB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 23.7456, 23.7456); + if Rec."Currency Code" = Currency.SAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 184.7131, 184.7131); + if Rec."Currency Code" = Currency.SBD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 128.2287, 128.2287); + if Rec."Currency Code" = Currency.SGD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 399.6275, 399.6275); + if Rec."Currency Code" = Currency.SZL() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 95.329, 95.329); + if Rec."Currency Code" = Currency.THB() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 15.555, 15.555); + if Rec."Currency Code" = Currency.TND() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 636.6931, 636.6931); + if Rec."Currency Code" = Currency.TOP() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 1, 1, 3.448, 3.448); + if Rec."Currency Code" = Currency.TRY() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 538.9667, 538.9667); + if Rec."Currency Code" = Currency.UGX() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 0.5014, 0.5014); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 655.6011, 655.6011); + if Rec."Currency Code" = Currency.VUV() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 4.8506, 4.8506); + if Rec."Currency Code" = Currency.WST() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 2420.425, 2420.425); + if Rec."Currency Code" = Currency.XPF() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 7.381, 7.381); + if Rec."Currency Code" = Currency.ZAR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 80.7375, 80.7375); + + CurrentDate := DMY2Date(2, 1, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 880.4528, 880.4528); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 663.8861, 663.8861); + + CurrentDate := DMY2Date(2, 4, 2013); + if Rec."Currency Code" = Currency.EUR() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 879.8155, 879.8155); + if Rec."Currency Code" = Currency.USD() then + if Rec."Starting Date" = CurrentDate then + ValidateCurrencyExchRate(Rec, 100, 100, 685.2123, 685.2123); + end; + + local procedure ValidateCurrencyExchRate(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateSEGLAccounts.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateSEGLAccounts.Codeunit.al new file mode 100644 index 0000000000..4e7e727f25 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateSEGLAccounts.Codeunit.al @@ -0,0 +1,725 @@ +codeunit 11299 "Create SE GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '1510'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '2441'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '3051'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '4051'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), '2610'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), '2645'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '4192'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '4151'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '4160'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '4060'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '1460'); + if InventorySetup."Expected Cost Posting to G/L" then + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), '1461') + else + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), ''); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '1450'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '1215'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '1216'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '1219'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '6450'); + + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '7830'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '7891'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '7100'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '1433'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '1436'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '3057'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '3085'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '4065'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '4300'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforSE() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), '1100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), '1110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), '1115'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), '1116'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), '1119'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsTotalName(), '1190'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), '1215'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), '1216'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), '1219'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), '1240'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), '1241'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), '1245'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), '1246'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), '1249'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), '1250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), '1260'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), '1300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '1310'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), '1397'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), '1398'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), '1400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), '1401'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '1410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), '1411'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPName(), '1430'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesName(), '1431'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '1432'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), '1433'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesTotalName(), '1434'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsName(), '1435'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), '1436'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), '1437'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsTotalName(), '1438'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPTotalName(), '1449'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '1450'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), '1451'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), '1452'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), '1460'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), '1461'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), '1499'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), '1500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), '1510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), '1511'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), '1520'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), '1530'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), '1599'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), '1900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '1910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), '1920'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLCYName(), '1940'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), '1941'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), '1949'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), '1998'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALASSETSName(), '1999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LIABILITIESANDEQUITYName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), '2010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), '2081'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), '2085'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), '2091'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomefortheYearName(), '2098'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), '2099'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), '2211'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesName(), '2300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), '2330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), '2352'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermBankLoansName(), '2359'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesTotalName(), '2399'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesName(), '2400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), '2440'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), '2441'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), '2442'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), '2449'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), '2510'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), '2600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), '2610'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), '2615'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), '2640'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), '2650'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), '2670'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), '2671'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), '2672'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), '2674'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), '2679'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), '2711'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), '2718'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '2890'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), '2990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesTotalName(), '2995'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '2997'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALLIABILITIESANDEQUITYName(), '2999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.INCOMESTATEMENTName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), '3002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), '3050'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), '3051'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), '3055'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), '3056'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), '3057'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRetailName(), '3059'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), '3060'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), '3061'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), '3065'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), '3066'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), '3067'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRawMaterialsName(), '3069'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), '3070'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), '3071'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), '3075'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), '3076'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), '3077'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofResourcesName(), '3079'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), '3080'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), '3081'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '3085'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofJobsName(), '3089'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), '3090'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandChargesRecDomName(), '3095'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), '3098'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), '3731'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscGrantedDecreasesName(), '3732'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '3740'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), '3999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailName(), '4002'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), '4051'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), '4055'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), '4056'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResaleSoldInterimName(), '4058'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailSoldName(), '4059'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), '4060'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), '4061'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), '4065'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), '4070'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), '4080'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRetailName(), '4099'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsName(), '4100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), '4151'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), '4155'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), '4156'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMatSoldInterimName(), '4158'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsSoldName(), '4159'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), '4160'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), '4161'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), '4165'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), '4170'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), '4180'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRawMaterialsName(), '4199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesName(), '4200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), '4250'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesUsedName(), '4260'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofResourcesName(), '4299'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), '4300'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), '4599'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), '4731'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscReceivedDecreasesName(), '4732'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), '5100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandHeatingName(), '5130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), '5135'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), '5136'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), '5160'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), '5170'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), '5199'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), '5600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), '5611'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), '5612'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), '5613'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), '5699'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), '5710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), '5810'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), '5900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '5910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), '5970'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), '5999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), '6200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), '6210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), '6220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '6230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), '6299'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), '6351'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), '6352'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandAccountingServicesName(), '6420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), '6450'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), '6500'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), '6540'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), '6550'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), '6560'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), '6599'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), '7000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), '7010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), '7090'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), '7100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelatedItemsName(), '7200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '7210'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelrelatedItemsName(), '7299'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), '7400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), '7590'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), '7599'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationofFixedAssetsName(), '7800'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), '7820'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), '7830'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), '7834'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandLossesName(), '7891'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), '7899'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsofOperationsName(), '7990'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), '7995'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsfortheFiscalYearName(), '8010'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), '8220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), '8221'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), '8231'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), '8234'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '8400'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), '8410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), '8420'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargestoVendorsName(), '8422'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonRevolvingCreditName(), '8451'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankLoansName(), '8452'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), '8453'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), '8499'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), '8710'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), '8750'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEBEFORETAXESName(), '8900'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), '8910'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEName(), '8999'); + ContosoGLAccount.AddAccountForLocalization(ShipmentsnotinvoicedName(), '1793'); + ContosoGLAccount.AddAccountForLocalization(OutputVATrevVATliabilityName(), '2617'); + ContosoGLAccount.AddAccountForLocalization(SalesVAT12Name(), '2620'); + ContosoGLAccount.AddAccountForLocalization(SalesVAT6Name(), '2630'); + ContosoGLAccount.AddAccountForLocalization(OnlyVATName(), '2641'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVAT12Name(), '2642'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVAT12EUName(), '2645'); + ContosoGLAccount.AddAccountForLocalization(InputVATrevVATliabilityName(), '2647'); + ContosoGLAccount.AddAccountForLocalization(ReceiptsnotinvoicedName(), '2993'); + ModifyGLAccountForW1(); + end; + + local procedure ModifyGLAccountForW1() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchasePrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesPrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.InterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PaymentToleranceReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PaymentToleranceGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGlAccount.NIBEFOREEXTRITEMSTAXESName(), ''); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + GLAccountCategory: Record "G/L Account Category"; + CreateVATPostingGroupsSE: Codeunit "Create VAT Posting Groups SE"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + SubCategory: Text[80]; + begin + SubCategory := Format(GLAccountCategoryMgt.GetCurrentAssets(), 80); + ContosoGLAccount.InsertGLAccount(Shipmentsnotinvoiced(), ShipmentsnotinvoicedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CurrentAssetsTotal(), CreateGLAccount.CurrentAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.CurrentAssets() + '..' + CreateGLAccount.CurrentAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CurrentAssets(), CreateGLAccount.CurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCash(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GiroAccount(), CreateGLAccount.GiroAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BankLCY(), CreateGLAccount.BankLCYName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BankCurrencies(), CreateGLAccount.BankCurrenciesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersDomestic(), CreateGLAccount.CustomersDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CustomersForeign(), CreateGLAccount.CustomersForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OutputVATrevVATliability(), OutputVATrevVATliabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OnlyVAT(), OnlyVATName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroupsSE.Only(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25(), CreateGLAccount.PurchaseVAT25Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVAT12(), PurchaseVAT12Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVAT12EU(), PurchaseVAT12EUName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InputVATrevVATliability(), InputVATrevVATliabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInventory(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterials(), CreateGLAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RawMaterialsInterim(), CreateGLAccount.RawMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobSales(), CreateGLAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoicedJobSales(), CreateGLAccount.InvoicedJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPJobCosts(), CreateGLAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccruedJobCosts(), CreateGLAccount.AccruedJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoods(), CreateGLAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinishedGoodsInterim(), CreateGLAccount.FinishedGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PrimoInventory(), CreateGLAccount.PrimoInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ResaleItemsInterim(), CreateGLAccount.ResaleItemsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetFixedAssets(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FixedAssetsTotal(), CreateGLAccount.FixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.FixedAssets() + '..' + CreateGLAccount.FixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAccumDeprec(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDepreciationBuildings(), CreateGLAccount.AccumDepreciationBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDeprOperEquip(), CreateGLAccount.AccumDeprOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccumDepreciationVehicles(), CreateGLAccount.AccumDepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilities(), CreateGLAccount.TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LIABILITIESANDEQUITY() + '..' + CreateGLAccount.TotalLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalLiabilitiesAndEquity(), CreateGLAccount.TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.LIABILITIESANDEQUITY() + '..' + CreateGLAccount.TOTALLIABILITIESANDEQUITY() + '|' + CreateGLAccount.INCOMESTATEMENT() + '..' + CreateGLAccount.NETINCOME(), Enum::"General Posting Type"::" ", '', '', false, false, true); + + SubCategory := Format(GLAccountCategoryMgt.GetTravelExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Travel(), CreateGLAccount.TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsSE.NoVat(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetVehicleExpenses(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VehicleExpenses(), CreateGLAccount.VehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GasolineandMotorOil(), CreateGLAccount.GasolineandMotorOilName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RegistrationFees(), CreateGLAccount.RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsSE.NoVat(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RepairsandMaintenance(), CreateGLAccount.RepairsandMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalVehicleExpenses(), CreateGLAccount.TotalVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehicleExpenses() + '..' + CreateGLAccount.TotalVehicleExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetBadDebtExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BadDebtExpenses(), CreateGLAccount.BadDebtExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInterestExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InterestonBankBalances(), CreateGLAccount.InterestonBankBalancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsSE.NoVat(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSDiscountsGranted(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscGrantedDecreases(), CreateGLAccount.PmtDiscGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.PmtDiscReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesDom(), CreateGLAccount.SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesEU(), CreateGLAccount.SalesResourcesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesResourcesExport(), CreateGLAccount.SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedResources(), CreateGLAccount.JobSalesAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSLabor(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofResources(), CreateGLAccount.CostofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedResources(), CreateGLAccount.JobCostAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCosts(), CreateGLAccount.JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeSalesDiscounts(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PaymentDiscountsReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DiscReceivedRawMaterials(), CreateGLAccount.DiscReceivedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.PaymentDiscountsGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetDistrToShareholders(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DividendsfortheFiscalYear(), CreateGLAccount.DividendsfortheFiscalYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetJobsCost(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedRetail(), CreateGLAccount.JobCostAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobCostAppliedRawMat(), CreateGLAccount.JobCostAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VacationCompensationPayable(), CreateGLAccount.VacationCompensationPayableName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.EmployeesPayable(), CreateGLAccount.EmployeesPayableName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PersonnelrelatedItems(), CreateGLAccount.PersonnelrelatedItemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalPersonnelrelatedItems(), CreateGLAccount.TotalPersonnelrelatedItemsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.PersonnelrelatedItems() + '..' + CreateGLAccount.TotalPersonnelrelatedItems(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetLongTermLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RevolvingCredit(), CreateGLAccount.RevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WithholdingTaxesPayable(), CreateGLAccount.WithholdingTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Equity, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Stockholder(), CreateGLAccount.StockholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCommonStock(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CapitalStock(), CreateGLAccount.CapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalStockholder(), CreateGLAccount.TotalStockholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.Stockholder() + '..' + CreateGLAccount.TotalStockholder() + '|' + CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRetEarnings(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RetainedEarnings(), CreateGLAccount.RetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NetIncomefortheYear(), CreateGLAccount.NetIncomefortheYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, CreateGLAccount.IncomeStatement() + '..' + CreateGLAccount.NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvoiceRounding(), CreateGLAccount.InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsSE.NoVat(), 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.UnrealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFXGains(), CreateGLAccount.RealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAdvertisingExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SellingExpenses(), CreateGLAccount.SellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalSellingExpenses(), CreateGLAccount.TotalSellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SellingExpenses() + '..' + CreateGLAccount.TotalSellingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetTaxExpense(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ElectricityTax(), CreateGLAccount.ElectricityTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.NaturalGasTax(), CreateGLAccount.NaturalGasTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CoalTax(), CreateGLAccount.CoalTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WaterTax(), CreateGLAccount.WaterTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.FuelTax(), CreateGLAccount.FuelTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CO2Tax(), CreateGLAccount.CO2TaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInventory(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobWIP(), CreateGLAccount.JobWIPName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPSales(), CreateGLAccount.WIPSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPSalesTotal(), CreateGLAccount.WIPSalesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.WIPSales() + '..' + CreateGLAccount.WIPSalesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPCosts(), CreateGLAccount.WIPCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.WIPCostsTotal(), CreateGLAccount.WIPCostsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.WIPCosts() + '..' + CreateGLAccount.WIPCostsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobWIPTotal(), CreateGLAccount.JobWIPTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.JobWIP() + '..' + CreateGLAccount.JobWIPTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::"Cost of Goods Sold", 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Cost(), CreateGLAccount.CostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.CostofResaleSoldInterimName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRetail(), CreateGLAccount.CostofRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailDom(), CreateGLAccount.PurchRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailExport(), CreateGLAccount.PurchRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRetailEU(), CreateGLAccount.PurchRetailEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofRetailSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeliveryExpensesRetail(), CreateGLAccount.DeliveryExpensesRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.OtherCostsofOperationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRetail(), CreateGLAccount.InvAdjmtInterimRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DeferredTaxes(), CreateGLAccount.DeferredTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CorporateTaxesPayable(), CreateGLAccount.CorporateTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AccountsPayable(), CreateGLAccount.AccountsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsDomestic(), CreateGLAccount.VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VendorsForeign(), CreateGLAccount.VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesVAT25(), CreateGLAccount.SalesVAT25Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SupplementaryTaxesPayable(), CreateGLAccount.SupplementaryTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchaseVAT25EU(), CreateGLAccount.PurchaseVAT25EUName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVAT12(), SalesVAT12Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesVAT6(), SalesVAT6Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VATTotal(), CreateGLAccount.VATTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.InvAdjmtInterim() + '..' + CreateGLAccount.VATTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.VATPayable(), CreateGLAccount.VATPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilitiesTotal(), CreateGLAccount.OtherLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.OtherLiabilities() + '..' + CreateGLAccount.OtherLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Receiptsnotinvoiced(), ReceiptsnotinvoicedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.ShorttermLiabilitiesTotal(), CreateGLAccount.ShorttermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.ShorttermLiabilities() + '..' + CreateGLAccount.ShorttermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.TotalCost(), CreateGLAccount.TotalCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Cost() + '..' + CreateGLAccount.TotalCost(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.AdministrativeExpenses(), CreateGLAccount.AdministrativeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PhoneandFax(), CreateGLAccount.PhoneandFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Postage(), CreateGLAccount.PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroupsSE.NoVat(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Miscellaneous(), CreateGLAccount.MiscellaneousName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OfficeSupplies(), CreateGLAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LegalandAccountingServices(), CreateGLAccount.LegalandAccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.GainsandLosses(), CreateGLAccount.GainsandLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.UnrealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.RealizedFXLosses(), CreateGLAccount.RealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LandandBuildings(), CreateGLAccount.LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncreasesduringtheYearBuildings(), CreateGLAccount.IncreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearBuildings(), CreateGLAccount.DecreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OperatingEquipment(), CreateGLAccount.OperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearOperEquip(), CreateGLAccount.DecreasesduringtheYearOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Vehicles(), CreateGLAccount.VehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.DecreasesduringtheYearVehicles(), CreateGLAccount.DecreasesduringtheYearVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeProdSales(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailDom(), CreateGLAccount.SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRetailExport(), CreateGLAccount.SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRetail(), CreateGLAccount.JobSalesAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsDom(), CreateGLAccount.SalesRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsEU(), CreateGLAccount.SalesRawMaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.SalesRawMaterialsExport(), CreateGLAccount.SalesRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.JobSalesAppliedRawMat(), CreateGLAccount.JobSalesAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSMaterials(), 80); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsDom(), CreateGLAccount.PurchRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsExport(), CreateGLAccount.PurchRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchRawMaterialsEU(), CreateGLAccount.PurchRawMaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRawMatSoldInterim(), CreateGLAccount.CostofRawMatSoldInterimName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InventoryAdjmtRawMat(), CreateGLAccount.InventoryAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.InvAdjmtInterimRawMat(), CreateGLAccount.InvAdjmtInterimRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.CostofRawMaterialsSold(), CreateGLAccount.CostofRawMaterialsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(CreateGLAccount.LiabilitiesAndEquity(), CreateGLAccount.LiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.PurchasePrepaymentsTotal(), AccountsPayableLbl, Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.Assets(), CreateGLAccount.AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + end; + + procedure ShipmentsnotinvoicedName(): Text[100] + begin + exit(ShipmentsnotinvoicedTok); + end; + + procedure OutputVATrevVATliabilityName(): Text[100] + begin + exit(OutputVATrevVATliabilityTok); + end; + + procedure SalesVAT12Name(): Text[100] + begin + exit(SalesVAT12Tok); + end; + + procedure SalesVAT6Name(): Text[100] + begin + exit(SalesVAT6Tok); + end; + + procedure OnlyVATName(): Text[100] + begin + exit(OnlyVATTok); + end; + + procedure PurchaseVAT12Name(): Text[100] + begin + exit(PurchaseVAT12Tok); + end; + + procedure PurchaseVAT12EUName(): Text[100] + begin + exit(PurchaseVAT12EUTok); + end; + + procedure InputVATrevVATliabilityName(): Text[100] + begin + exit(InputVATrevVATliabilityTok); + end; + + procedure ReceiptsnotinvoicedName(): Text[100] + begin + exit(ReceiptsnotinvoicedTok); + end; + + procedure Shipmentsnotinvoiced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShipmentsnotinvoicedName())); + end; + + procedure OutputVATrevVATliability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutputVATrevVATliabilityName())); + end; + + procedure SalesVAT12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVAT12Name())); + end; + + procedure SalesVAT6(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVAT6Name())); + end; + + procedure OnlyVAT(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OnlyVATName())); + end; + + procedure PurchaseVAT12(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVAT12Name())); + end; + + procedure PurchaseVAT12EU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVAT12EUName())); + end; + + procedure InputVATrevVATliability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InputVATrevVATliabilityName())); + end; + + procedure Receiptsnotinvoiced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceiptsnotinvoicedName())); + end; + + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + ShipmentsnotinvoicedTok: Label 'Shipments not invoiced', MaxLength = 100; + OutputVATrevVATliabilityTok: Label 'Output VAT rev. VAT liability', MaxLength = 100; + SalesVAT12Tok: Label 'Sales VAT 12 %', MaxLength = 100; + SalesVAT6Tok: Label 'Sales VAT 6%', MaxLength = 100; + OnlyVATTok: Label 'Only VAT', MaxLength = 100; + PurchaseVAT12Tok: Label 'Purchase VAT 12 %', MaxLength = 100; + PurchaseVAT12EUTok: Label 'Purchase VAT 12 % EU'; + InputVATrevVATliabilityTok: Label 'Input VAT rev. VAT liability', MaxLength = 100; + ReceiptsnotinvoicedTok: Label 'Receipts not invoiced', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payable', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostingGrpSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostingGrpSE.Codeunit.al new file mode 100644 index 0000000000..0c30005bc8 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateVATSetupPostingGrpSE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11247 "Create VAT Setup PostingGrp SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + CreateVatPostingGroup: Codeunit "Create VAT Posting Groups SE"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateSEGLAccounts: Codeunit "Create SE GL Accounts"; + begin + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.NoVat(), true, 0, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, StrSubstNo(SetupforExportDescLbl, CreateVatPostingGroup.NoVat())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Only(), true, 0, '', '', true, 1, OnlyVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.VAT12(), true, 12, CreateSEGLAccounts.SalesVAT12(), CreateGLAccount.PurchaseVAT25(), true, 1, StrSubstNo(SetupforExportDescLbl, CreateVatPostingGroup.VAT12())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.VAT25(), true, 25, CreateGLAccount.SalesVAT25(), CreateSEGLAccounts.PurchaseVAT12EU(), true, 1, StrSubstNo(SetupforExportDescLbl, CreateVatPostingGroup.VAT25())); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.VAT6(), true, 6, '', '', true, 1, StrSubstNo(SetupforExportDescLbl, CreateVatPostingGroup.VAT6())); + end; + + var + SetupforExportDescLbl: Label 'Setup for EXPORT / %1', Comment = '%1 is Vat Prod. Posting Grp Desc', MaxLength = 100; + OnlyVatDescriptionLbl: Label 'Manually posted VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateVATStatementSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateVATStatementSE.Codeunit.al new file mode 100644 index 0000000000..ad6cf13f17 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Finance/2.Master Data/CreateVATStatementSE.Codeunit.al @@ -0,0 +1,297 @@ +codeunit 11248 "Create VAT Statement SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + CreateVATStatementName(); + CreateVatStatementLine(); + end; + + local procedure CreateVATStatementName() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVATStatement: Codeunit "Create VAT Statement"; + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + ContosoVatStatement.InsertVATStatementName(CreateVATStatement.VATTemplateName(), SESTD(), StatementNameDescLbl); + end; + + local procedure CreateVatStatementLine() + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVatPostingGroupsSE: Codeunit "Create Vat Posting Groups SE"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 10000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TurnoverinSwedenLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 20000, '0501', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, SalesinSweden25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 30000, '0502', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, SalesinSweden12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 40000, '0503', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, SalesinSweden6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 50000, '05', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '0501..0599', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SalesSubjectVATEULbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 60000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 70000, '06', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, SelfSupplyLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 80000, '', Enum::"VAT Statement Line Type"::"Account Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 90000, '07', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, TaxablebasisLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 100000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 110000, '08', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, RentalIncomeLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 120000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VoluntaryTaxLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 130000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 140000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, OutputVATLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 150000, '10', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, OutputVAT25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 160000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 170000, '11', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, OutputVAT12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 180000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 190000, '12', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, true, 1, OutputVAT6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 200000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 210000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 220000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchaseSubjectLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 230000, '2001', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, PurchaseEU25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 240000, '2002', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, PurchaseEU12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 250000, '2003', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, PurchaseEU6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 260000, '2004', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.NoVat(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, PurchaseEU0Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 270000, '20', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '2001..2099', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, PurchaseGoodECLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 280000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 290000, '21', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, PurchaseServicesECLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 300000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 310000, '22', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, PurchaseServicesOutsideECLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 320000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 330000, '23', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, PurchaseGoodSELbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 340000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 350000, '24', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, PurchaseServicesSELbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 360000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 370000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 380000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, OutputVATpurchasesLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 390000, '30', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, true, 1, OutputVAT25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 400000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 410000, '31', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, true, 1, OutputVAT12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 420000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 430000, '32', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Amount, 1, true, 1, OutputVAT6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 440000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 450000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 460000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SalesexemptVATLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 470000, '3501', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, EUSales25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 480000, '3502', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, EUSales12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 490000, '3503', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, EUSales6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 500000, '3504', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.NoVat(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, EUSales0Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 510000, '35', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '3501..3599', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SalesGoodAnotherECLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 520000, '3601', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ExportSales25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 530000, '3602', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ExportSales12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 540000, '3603', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, ExportSales6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 550000, '3604', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.NoVat(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 1, EUSales0Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 560000, '36', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '3601..3699', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, SalesOutsideECLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 570000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 580000, '37', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, PurchasemiddlemanLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 590000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 600000, '38', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, SalesmiddlemanLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 610000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 620000, '39', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, SalesServiceanotherECLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 630000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 640000, '40', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, OtherSalesLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 650000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 660000, '41', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, SalesSELbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 670000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 680000, '42', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.NoVat(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, true, 1, OtherSalesetcLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 690000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 700000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 710000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, FInputVATLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 720000, '4801', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseSE25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 730000, '4802', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseSE12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 740000, '4803', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseSE6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 750000, '4804', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.NoVat(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseSE0Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 760000, '4805', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVatPostingGroupsSE.NoVat(), '', Enum::"VAT Statement Line Amount Type"::Amount, 0, false, 0, PurchaseSEOnlyLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 770000, '4810', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT25(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, PurchaseEU25Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 780000, '4811', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT12(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, PurchaseEU12Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 790000, '4812', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.VAT6(), '', Enum::"VAT Statement Line Amount Type"::Base, 0, false, 0, PurchaseEU6Lbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 800000, '48', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVatPostingGroupsSE.NoVat(), '4800..4899', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, InputVATLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 810000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 820000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 830000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VATpayrefundedLbl); + ContosoVatStatement.InsertVatStatementLine(CreateVATStatement.VATTemplateName(), SESTD(), 840000, '49', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '10|11|12|30|31|32|48', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VATpayrefundedLbl); + end; + + [EventSubscriber(ObjectType::Table, Database::"VAT Statement Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVatStatementLine(var Rec: Record "VAT Statement Line") + var + CreateVATStatement: Codeunit "Create VAT Statement"; + CreateVatPostingGroupsSE: Codeunit "Create Vat Posting Groups SE"; + begin + if Rec."Statement Template Name" = CreateVATStatement.VATTemplateName() then + if Rec."Statement Name" = DefaultLbl then + case Rec."Line No." of + 200000: + UpdateVATStatementLine(Rec, SalesStandardLbl, CreateVatPostingGroupsSE.VAT25()); + 210000: + UpdateVATStatementLine(Rec, SalesStandardFullLbl, CreateVatPostingGroupsSE.VAT25()); + 230000: + UpdateVATStatementLine(Rec, SalesReducedLbl, CreateVatPostingGroupsSE.VAT12()); + 240000: + UpdateVATStatementLine(Rec, SalesReducedFullLbl, CreateVatPostingGroupsSE.VAT25()); + 250000: + UpdateVATStatementLine(Rec, SalesReducedTotalLbl, ''); + 270000: + UpdateVATStatementLine(Rec, EUStandardLbl, CreateVatPostingGroupsSE.VAT25()); + 290000: + UpdateVATStatementLine(Rec, EUReducedLbl, CreateVatPostingGroupsSE.VAT12()); + 300000: + UpdateVATStatementLine(Rec, EUReducedTotalLbl, ''); + 320000: + UpdateVATStatementLine(Rec, PurchaseStandardLbl, CreateVatPostingGroupsSE.VAT25()); + 330000: + UpdateVATStatementLine(Rec, PurchaseStandardFullLbl, CreateVatPostingGroupsSE.VAT25()); + 350000: + UpdateVATStatementLine(Rec, PurchaseReducedLbl, CreateVatPostingGroupsSE.VAT12()); + 360000: + UpdateVATStatementLine(Rec, PurchaseReducedFullLbl, CreateVatPostingGroupsSE.VAT25()); + 370000: + UpdateVATStatementLine(Rec, PurchaseReducedTotalLbl, ''); + 390000: + UpdateVATStatementLine(Rec, EUStandardLbl, CreateVatPostingGroupsSE.VAT25()); + 410000: + UpdateVATStatementLine(Rec, EUReducedLbl, CreateVatPostingGroupsSE.VAT12()); + 420000: + UpdateVATStatementLine(Rec, EUReducedTotalLbl, ''); + 450000: + UpdateVATStatementLine(Rec, DomesticStandardSalesLbl, CreateVatPostingGroupsSE.VAT25()); + 470000: + UpdateVATStatementLine(Rec, DomesticReducedValueLbl, CreateVatPostingGroupsSE.VAT12()); + 480000: + UpdateVATStatementLine(Rec, DomesticReducedTotalLbl, ''); + 500000: + UpdateVATStatementLine(Rec, EUStandardSuppliesLbl, CreateVatPostingGroupsSE.VAT25()); + 520000: + UpdateVATStatementLine(Rec, EUReducedSuppliesLbl, CreateVatPostingGroupsSE.VAT12()); + 530000: + UpdateVATStatementLine(Rec, EUReducedSuppliesTotalLbl, ''); + 550000: + UpdateVATStatementLine(Rec, OverseasSalesValueLbl, CreateVatPostingGroupsSE.VAT25()); + 570000: + UpdateVATStatementLine(Rec, OverseasSalesReducedLbl, CreateVatPostingGroupsSE.VAT12()); + 580000: + UpdateVATStatementLine(Rec, OverseasSalesReducedTotalLbl, ''); + 620000: + UpdateVATStatementLine(Rec, DomesticStandardPurchaseLbl, CreateVatPostingGroupsSE.VAT25()); + 640000: + UpdateVATStatementLine(Rec, DomesticReducedPurchaseValueLbl, CreateVatPostingGroupsSE.VAT12()); + 650000: + UpdateVATStatementLine(Rec, DomesticReducedPurchaseTotalLbl, ''); + 670000: + UpdateVATStatementLine(Rec, EUAcquisitionStandardLbl, CreateVatPostingGroupsSE.VAT25()); + 690000: + UpdateVATStatementLine(Rec, EUAcquisitionReducedLbl, CreateVatPostingGroupsSE.VAT12()); + 700000: + UpdateVATStatementLine(Rec, EUAcquisitionReducedTotalLbl, ''); + 720000: + UpdateVATStatementLine(Rec, OverseasPurchaseValueLbl, CreateVatPostingGroupsSE.VAT25()); + 740000: + UpdateVATStatementLine(Rec, OverseasPurchaseReducedLbl, CreateVatPostingGroupsSE.VAT12()); + 750000: + UpdateVATStatementLine(Rec, OverseasPurchaseReducedTotalLbl, ''); + 770000: + UpdateVATStatementLine(Rec, NonVatLiablePurchaseLbl, CreateVatPostingGroupsSE.NoVat()); + end; + end; + + local procedure UpdateVATStatementLine(var VATStatementLine: Record "VAT Statement Line"; Description: Text[100]; VATProdPostingGroup: Code[20]) + begin + VATStatementLine.Validate(Description, Description); + VATStatementLine.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + procedure SESTD(): Code[10] + begin + exit(SESTDStatementNameTok); + end; + + var + SESTDStatementNameTok: Label 'SE STD', MaxLength = 10, Locked = true; + DefaultLbl: Label 'DEFAULT', MaxLength = 10; + StatementNameDescLbl: Label 'SE Standard', MaxLength = 100; + SalesStandardLbl: Label 'Sales 25 % ', MaxLength = 100; + SalesStandardFullLbl: Label 'Sales 25 % FULL', MaxLength = 100; + SalesReducedLbl: Label 'Sales 12 % ', MaxLength = 100; + SalesReducedFullLbl: Label 'Sales 12 % FULL', MaxLength = 100; + SalesReducedTotalLbl: Label 'Sales 12 % total', MaxLength = 100; + EUStandardLbl: Label '25 % on EU Acquisitions etc.', MaxLength = 100; + EUReducedLbl: Label '12 % on EU Acquisitions etc.', MaxLength = 100; + EUReducedTotalLbl: Label '12 % on EU Acquisitions etc. total', MaxLength = 100; + PurchaseStandardLbl: Label 'Purchase VAT 25 % Domestic ', MaxLength = 100; + PurchaseStandardFullLbl: Label 'Purchase VAT 25 % FULL Domestic', MaxLength = 100; + PurchaseReducedLbl: Label 'Purchase VAT 12 % Domestic ', MaxLength = 100; + PurchaseReducedFullLbl: Label 'Purchase 12 % Domestic Total FULL', MaxLength = 100; + PurchaseReducedTotalLbl: Label 'Purchase 12 % Domestic total ', MaxLength = 100; + DomesticStandardSalesLbl: Label 'Value of Domestic Sales 25 % ', MaxLength = 100; + DomesticReducedValueLbl: Label 'Value of Domestic Sales 12 % ', MaxLength = 100; + DomesticReducedTotalLbl: Label 'Value of Domestic Sales 12 % total', MaxLength = 100; + EUStandardSuppliesLbl: Label 'Value of EU Supplies 25 % ', MaxLength = 100; + EUReducedSuppliesLbl: Label 'Value of EU Supplies 12 % ', MaxLength = 100; + EUReducedSuppliesTotalLbl: Label 'Value of EU Supplies 12 % total', MaxLength = 100; + OverseasSalesValueLbl: Label 'Value of Overseas Sales 25 % ', MaxLength = 100; + OverseasSalesReducedLbl: Label 'Value of Overseas Sales 12 % ', MaxLength = 100; + OverseasSalesReducedTotalLbl: Label 'Value of Overseas Sales 12 % total', MaxLength = 100; + DomesticStandardPurchaseLbl: Label 'Value of Domestic Purchases 25 % ', MaxLength = 100; + DomesticReducedPurchaseValueLbl: Label 'Value of Domestic Purchases 12 % ', MaxLength = 100; + DomesticReducedPurchaseTotalLbl: Label 'Value of Domestic Purchases 12 % total', MaxLength = 100; + EUAcquisitionStandardLbl: Label 'Value of EU Acquisitions 25 % ', MaxLength = 100; + EUAcquisitionReducedLbl: Label 'Value of EU Acquisitions 12 % ', MaxLength = 100; + EUAcquisitionReducedTotalLbl: Label 'Value of EU Acquisitions 12 % total', MaxLength = 100; + OverseasPurchaseValueLbl: Label 'Value of Overseas Purchases 25 % ', MaxLength = 100; + OverseasPurchaseReducedLbl: Label 'Value of Overseas Purchases 12 % ', MaxLength = 100; + OverseasPurchaseReducedTotalLbl: Label 'Value of Overseas Purchases 12 % total', MaxLength = 100; + NonVatLiablePurchaseLbl: Label 'Value of non-VAT liable purchases', MaxLength = 100; + TurnoverinSwedenLbl: Label 'A. Sales subject to VAT or withdrawals excl. VAT', MaxLength = 100; + SalesinSweden25Lbl: Label 'National Sale 25%', MaxLength = 100; + SalesinSweden12Lbl: Label 'National Sale 12 %', MaxLength = 100; + SalesinSweden6Lbl: Label 'National Sale 6%', MaxLength = 100; + SalesSubjectVATEULbl: Label 'Sales subject to VAT not included in boxes below', MaxLength = 100; + SelfSupplyLbl: Label 'Self-supply subject to VAT', MaxLength = 100; + TaxablebasisLbl: Label 'Taxable basis for profit margin taxation', MaxLength = 100; + RentalIncomeLbl: Label 'Rental income', MaxLength = 100; + VoluntaryTaxLbl: Label '- voluntary tax liability', MaxLength = 100; + OutputVATLbl: Label 'Output VAT on sales or self-supply in boxes 05-08', MaxLength = 100; + OutputVAT25Lbl: Label 'Output VAT 25%', MaxLength = 100; + OutputVAT12Lbl: Label 'Output VAT 12%', MaxLength = 100; + OutputVAT6Lbl: Label 'Output VAT 6%', MaxLength = 100; + PurchaseSubjectLbl: Label 'Purchases subj to VAT where purchaser subj to VAT', MaxLength = 100; + PurchaseEU25Lbl: Label 'Purchase EU 25%', MaxLength = 100; + PurchaseEU12Lbl: Label 'Purchase EU 12%', MaxLength = 100; + PurchaseEU6Lbl: Label 'Purchase EU 6%', MaxLength = 100; + PurchaseEU0Lbl: Label 'Purchase EU 0%', MaxLength = 100; + PurchaseGoodECLbl: Label 'Purchase of goods from another EC country', MaxLength = 100; + PurchaseServicesECLbl: Label 'Purchases of services from another EC country', MaxLength = 100; + PurchaseServicesOutsideECLbl: Label 'Purchase of services from a country outside the EC', MaxLength = 100; + PurchaseGoodSELbl: Label 'Purchases of goods in Sweden', MaxLength = 100; + PurchaseServicesSELbl: Label 'Purchases of services in Sweden', MaxLength = 100; + OutputVATpurchasesLbl: Label 'Output VAT on purchases in Boxes 20-24', MaxLength = 100; + SalesexemptVATLbl: Label 'Sales etc. which are exempt from VAT', MaxLength = 100; + EUSales25Lbl: Label 'EU Sales 25%', MaxLength = 100; + EUSales12Lbl: Label 'EU Sales 12%', MaxLength = 100; + EUSales6Lbl: Label 'EU Sales 6%', MaxLength = 100; + EUSales0Lbl: Label 'EU Sales 0%', MaxLength = 100; + SalesGoodAnotherECLbl: Label 'Sales of goods to another EC country', MaxLength = 100; + ExportSales25Lbl: Label 'Export Sales 25%', MaxLength = 100; + ExportSales12Lbl: Label 'Export Sales 12%', MaxLength = 100; + ExportSales6Lbl: Label 'Export Sales 6%', MaxLength = 100; + SalesOutsideECLbl: Label 'Sales of goods outside the EC', MaxLength = 100; + PurchasemiddlemanLbl: Label 'Purch. of goods by middleman in triang. trade', MaxLength = 100; + SalesmiddlemanLbl: Label 'Sales of goods by middleman in triangular trading', MaxLength = 100; + SalesServiceanotherECLbl: Label 'Service sale with purch. subj. to VAT in ECcountry', MaxLength = 100; + OtherSalesLbl: Label 'Other sales of services turn-over outside SE', MaxLength = 100; + SalesSELbl: Label 'Sales in which the purch. is subject to VAT in SE', MaxLength = 100; + OtherSalesetcLbl: Label 'Other Sales etc.', MaxLength = 100; + FInputVATLbl: Label 'F. Input VAT', MaxLength = 100; + PurchaseSE25Lbl: Label 'Purchase Sweden 25%', MaxLength = 100; + PurchaseSE12Lbl: Label 'Purchase Sweden 12%', MaxLength = 100; + PurchaseSE6Lbl: Label 'Purchase Sweden 6%', MaxLength = 100; + PurchaseSE0Lbl: Label 'Purchase Sweden 0%', MaxLength = 100; + PurchaseSEOnlyLbl: Label 'Purchase Sweden only', MaxLength = 100; + InputVATLbl: Label 'Input VAT to deduct', MaxLength = 100; + VATpayrefundedLbl: Label 'VAT to pay or be refunded', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationSE.Codeunit.al new file mode 100644 index 0000000000..bff7b8fe67 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Foundation/1.Setup Data/CreateCompanyInformationSE.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 11204 "Create Company Information SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + begin + ValidateRecordSEelds(CityLbl, PostCodeLbl, 'SE777777777701', GiroNoLbl); + end; + + local procedure ValidateRecordSEelds(City: Text[30]; PostCode: Code[20]; VatRegNo: Text[20]; GiroNo: Text[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate(City, City); + CompanyInformation.Validate("Post Code", PostCodeLbl); + CompanyInformation.Validate("Ship-to City", City); + CompanyInformation.Validate("Ship-to Post Code", PostCode); + CompanyInformation."VAT Registration No." := VatRegNo; + CompanyInformation.Validate("Giro No.", GiroNo); + CompanyInformation.Modify(true); + end; + + var + CityLbl: Label 'GÖTEBORG', Maxlength = 30, Locked = true; + PostCodeLbl: Label '415 06', MaxLength = 20; + GiroNoLbl: Label '991-2346', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeSE.Codeunit.al new file mode 100644 index 0000000000..579a030b79 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Foundation/1.Setup Data/CreatePostCodeSE.Codeunit.al @@ -0,0 +1,261 @@ +codeunit 11203 "Create Post Code SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostCodeSE: Codeunit "Contoso Post Code SE"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ContosoPostCodeSE.InsertPostCode('114 01', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 02', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 20', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 21', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 22', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 23', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 24', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 25', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 26', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 27', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 28', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 29', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 30', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 31', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 32', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 33', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 34', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 35', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 36', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 37', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 38', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 39', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 40', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 41', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 42', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 43', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 44', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 45', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 46', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 47', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 48', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 49', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 50', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 51', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 52', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 53', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 54', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 55', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 56', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 57', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 58', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 59', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 60', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 73', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 75', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 76', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 78', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 79', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 80', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 81', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 82', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 83', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 84', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 85', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 86', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 87', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 88', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 89', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 90', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 92', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 94', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 95', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 97', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 98', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('114 99', StockholmLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 00', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 01', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 02', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 07', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 08', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 09', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 10', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 11', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 12', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 13', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 14', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 15', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 16', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 17', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 18', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 19', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 20', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 21', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 22', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 23', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 24', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 25', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 26', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 27', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 28', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 29', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 30', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 31', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 32', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 33', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 34', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 35', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 36', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 37', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 38', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 39', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 40', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 41', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 42', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 43', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 60', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('212 91', MALMÖLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 00', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 01', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 02', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 03', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 04', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 05', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 06', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 07', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 08', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 09', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 10', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 11', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 12', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 13', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 14', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 15', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 16', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 17', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 18', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 19', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 20', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 21', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 22', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 23', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 24', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 25', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 26', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 27', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 50', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 80', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 81', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 82', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 83', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('415 90', GÖTEBORGLbl, CreateCountryRegion.SE()); + ContosoPostCodeSE.InsertPostCode('GB-B27 4KT', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-B31 2AL', BirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-B32 4TF', SparkhillBirminghamLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-B68 5TT', BromsgroveLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-BA24 6KS', BathLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-BR1 2ES', BromleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-BS3 6KL', BristolLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-CB3 7GG', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-CF22 1XU', CardiffLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-CT6 21ND', HytheLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-CV6 1GY', CoventryLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-DA5 3EF', SidcupLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-DY5 4DJ', DudleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-E12 5TG', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-EH16 8JS', EdinburghLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-GL1 9HM', GloucesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-GL78 5TT', CheltenhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-GU3 2SE', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-GU7 5GT', GuildfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-HG1 7YW', RiponLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-HP43 2AY', TringLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-IB7 7VN', GainsboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-L18 6SA', LiverpoolLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-LE16 7YH', LeicesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-LL6 5GB', RhylLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-LN23 6GS', LincolnLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-LU3 4FY', LutonLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-M61 2YG', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-ME5 6RL', MaidstoneLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-MK21 7GG', BletchleyLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-MK41 5AE', BedfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-MO2 4RT', ManchesterLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-N12 5XY', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-N16 34Z', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-NE21 3YG', NewcastleLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-NP5 6GH', NewportLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-OX16 0UA', CheddingtonLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-PE17 4RN', CambridgeLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-PE21 3TG', PeterboroughLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-PE23 5IK', KingsLynnLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-PL14 5GB', PlymouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-PO21 6HG', SouthseaPortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-PO7 2HI', PortsmouthLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-SA1 2HS', SwanseaLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-SA3 7HI', StratfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-SK21 5DL', MacclesfieldLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-TA3 4FD', NewquayLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-TN27 6YD', AshfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-TQ17 8HB', BrixhamLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-W1 3AL', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-W2 8HG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-WC1 2GS', WestEndLaneLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-WC1 3DG', LondonLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-WD1 6YG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-WD2 4RG', WatfordLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-WD6 8UY', BorehamwoodLbl, CreateCountryRegion.GB()); + ContosoPostCodeSE.InsertPostCode('GB-WD6 9HY', BorehamwoodLbl, CreateCountryRegion.GB()); + end; + + var + StockholmLbl: Label 'STOCKHOLM', MaxLength = 30; + MALMÖLbl: Label 'MALMÖ', MaxLength = 30; + GÖTEBORGLbl: Label 'GÖTEBORG', MaxLength = 30; + WestEndLaneLbl: Label 'West End Lane', MaxLength = 30; + WatfordLbl: Label 'Watford', MaxLength = 30; + LondonLbl: Label 'London', MaxLength = 30; + BorehamwoodLbl: Label 'Borehamwood', MaxLength = 30; + GuildfordLbl: Label 'Guildford', MaxLength = 30; + BirminghamLbl: Label 'Birmingham', MaxLength = 30; + SparkhillBirminghamLbl: Label 'Sparkhill, Birmingham', MaxLength = 30; + BathLbl: Label 'Bath', MaxLength = 30; + CambridgeLbl: Label 'Cambridge', MaxLength = 30; + BristolLbl: Label 'Bristol', MaxLength = 30; + HytheLbl: Label 'Hythe', MaxLength = 30; + CardiffLbl: Label 'Cardiff', MaxLength = 30; + CoventryLbl: Label 'Coventry', MaxLength = 30; + BromsgroveLbl: Label 'Bromsgrove', MaxLength = 30; + EdinburghLbl: Label 'Edinburgh', MaxLength = 30; + DudleyLbl: Label 'Dudley', MaxLength = 30; + GloucesterLbl: Label 'Gloucester', MaxLength = 30; + BromleyLbl: Label 'Bromley', MaxLength = 30; + SidcupLbl: Label 'Sidcup', MaxLength = 30; + CheltenhamLbl: Label 'Cheltenham', MaxLength = 30; + GainsboroughLbl: Label 'Gainsborough', MaxLength = 30; + LiverpoolLbl: Label 'Liverpool', MaxLength = 30; + RhylLbl: Label 'Rhyl', MaxLength = 30; + LeicesterLbl: Label 'Leicester', MaxLength = 30; + LincolnLbl: Label 'Lincoln', MaxLength = 30; + ManchesterLbl: Label 'Manchester', MaxLength = 30; + BedfordLbl: Label 'Bedford', MaxLength = 30; + BletchleyLbl: Label 'Bletchley', MaxLength = 30; + NewcastleLbl: Label 'Newcastle', MaxLength = 30; + MaidstoneLbl: Label 'Maidstone', MaxLength = 30; + LutonLbl: Label 'Luton', MaxLength = 30; + TringLbl: Label 'Tring', MaxLength = 30; + RiponLbl: Label 'Ripon', MaxLength = 30; + NewportLbl: Label 'Newport', MaxLength = 30; + PlymouthLbl: Label 'Plymouth', MaxLength = 30; + PeterboroughLbl: Label 'Peterborough', MaxLength = 30; + MacclesfieldLbl: Label 'Macclesfield', MaxLength = 30; + BrixhamLbl: Label 'Brixham', MaxLength = 30; + AshfordLbl: Label 'Ashford', MaxLength = 30; + CheddingtonLbl: Label 'Cheddington', MaxLength = 30; + SwanseaLbl: Label 'Swansea', MaxLength = 30; + StratfordLbl: Label 'Stratford', MaxLength = 30; + PortsmouthLbl: Label 'Portsmouth', MaxLength = 30; + NewquayLbl: Label 'Newquay', MaxLength = 30; + KingsLynnLbl: Label 'Kings Lynn', MaxLength = 30; + SouthseaPortsmouthLbl: Label 'Southsea, Portsmouth', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/1.Setup Data/CreateEmployeeSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/1.Setup Data/CreateEmployeeSE.Codeunit.al new file mode 100644 index 0000000000..003735acdd --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/1.Setup Data/CreateEmployeeSE.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 11218 "Create Employee SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployee(CreateEmployee.ManagingDirector()); + UpdateEmployee(CreateEmployee.SalesManager()); + UpdateEmployee(CreateEmployee.Designer()); + UpdateEmployee(CreateEmployee.ProductionAssistant()); + UpdateEmployee(CreateEmployee.ProductionManager()); + UpdateEmployee(CreateEmployee.Secretary()); + UpdateEmployee(CreateEmployee.InventoryManager()); + end; + + local procedure UpdateEmployee(EmployeeNo: Code[20]) + var + Employee: Record Employee; + CreateEmployee: Codeunit "Create Employee"; + begin + Employee.Get(EmployeeNo); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate("Emplymt. Contract Code", ''); + Employee.Validate("Statistics Group Code", ''); + Employee.Validate("Union Code", ''); + if EmployeeNo = CreateEmployee.InventoryManager() then + Employee.Validate("Job Title", ProductionAssistantLbl); + Employee.Validate(Initials, GetInitials(Employee)); + Employee.Modify(true); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/2.Master Data/CreateEmplPostingGroupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/2.Master Data/CreateEmplPostingGroupSE.Codeunit.al new file mode 100644 index 0000000000..7c59c75eda --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/2.Master Data/CreateEmplPostingGroupSE.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 11236 "Create Empl. Posting Group SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeePostingGroup: Codeunit "Create Employee Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + UpdateEmployeePostingGroup(CreateEmployeePostingGroup.EmployeeExpenses(), CreateGLAccount.EmployeesPayable(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding()); + end; + + local procedure UpdateEmployeePostingGroup(EmployeePostingGroupCode: Code[20]; PayablesAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]) + var + EmployeePostingGroup: Record "Employee Posting Group"; + begin + EmployeePostingGroup.Get(EmployeePostingGroupCode); + EmployeePostingGroup.Validate("Payables Account", PayablesAccount); + EmployeePostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + EmployeePostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + EmployeePostingGroup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateSE.Codeunit.al new file mode 100644 index 0000000000..ae0707c23f --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/HR/2.Master Data/CreateEmployeeTemplateSE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11235 "Create Employee Template SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateEmployeeTemplate: Codeunit "Create Employee Template"; + begin + UpdateEmployeeTemplate(CreateEmployeeTemplate.AdminCode()); + UpdateEmployeeTemplate(CreateEmployeeTemplate.ITCode()); + end; + + local procedure UpdateEmployeeTemplate(EmployeeTemplateCode: Code[20]) + var + EmployeeTemplate: Record "Employee Templ."; + CreateEmployeePostingGroup: Codeunit "Create Employee Posting Group"; + begin + EmployeeTemplate.Get(EmployeeTemplateCode); + EmployeeTemplate.Validate("Employee Posting Group", CreateEmployeePostingGroup.EmployeeExpenses()); + EmployeeTemplate.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupSE.Codeunit.al new file mode 100644 index 0000000000..554c39db34 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateInvPostingSetupSE.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 11242 "Create Inv. Posting Setup SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateLocation: Codeunit "Create Location"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertInventoryPostingSetup('', CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemChargeSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemChargeSE.Codeunit.al new file mode 100644 index 0000000000..bd49d8e437 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemChargeSE.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 11220 "Create Item Charge SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItemCharge(var Rec: Record "Item Charge") + var + CreateItemCharge: Codeunit "Create Item Charge"; + CreateVatPostingGroupsSE: Codeunit "Create Vat Posting Groups SE"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(), + CreateItemCharge.PurchAllowance(), + CreateItemCharge.PurchFreight(), + CreateItemCharge.PurchRestock(), + CreateItemCharge.SaleAllowance(), + CreateItemCharge.SaleFreight(), + CreateItemCharge.SaleRestock(): + Rec.Validate("VAT Prod. Posting Group", CreateVatPostingGroupsSE.VAT25()); + end; + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemSE.Codeunit.al new file mode 100644 index 0000000000..6aa0519353 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemSE.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 11222 "Create Item SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertItem(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 6562, 5119); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 1264, 985); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 2843, 2218); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 1246, 971); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 4248, 3314); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 1238, 0); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 360, 281); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 1533, 0); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 1264, 985); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 825, 0); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 1264, 985); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 1264, 985); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 1533, 0); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 1246, 971); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 2241, 0); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 1246, 971); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 1246, 971); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 1264, 985); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 9162, 7146); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 1246, 971); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal) + begin + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Unit Cost", UnitCost); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemTemplateSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemTemplateSE.Codeunit.al new file mode 100644 index 0000000000..60b1e33467 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateItemTemplateSE.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11219 "Create Item Template SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateItemTemplate: Codeunit "Create Item Template"; + begin + UpdateItemTemplate(CreateItemTemplate.Item()); + UpdateItemTemplate(CreateItemTemplate.Service()); + end; + + local procedure UpdateItemTemplate(ItemTempCode: Code[20]) + var + ItemTempl: Record "Item Templ."; + CreateVatPostingGroupsSE: Codeunit "Create Vat Posting Groups SE"; + begin + ItemTempl.Get(ItemTempCode); + ItemTempl.Validate("VAT Prod. Posting Group", CreateVatPostingGroupsSE.VAT25()); + ItemTempl.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateLocationSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateLocationSE.Codeunit.al new file mode 100644 index 0000000000..816bb413da --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Inventory/2.Master Data/CreateLocationSE.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 11221 "Create Location SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateMainLocation(); + end; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertLocation(var Rec: Record Location) + var + CreateLocaion: Codeunit "Create Location"; + begin + case Rec.Code of + CreateLocaion.EastLocation(), + CreateLocaion.WestLocation(): + ValidateRecordFields(Rec, CityLbl, PostCodeLbl); + end; + end; + + local procedure UpdateMainLocation() + var + Location: Record Location; + CreateLocaion: Codeunit "Create Location"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Get(CreateLocaion.MainLocation()); + Location.Validate(City, CityLbl); + Location.Validate("Post Code", PostCodeLbl); + Location."Country/Region Code" := CreateCountryRegion.GB(); + Location.Modify(true); + end; + + local procedure ValidateRecordFields(var Location: Record Location; City: Text[30]; PostCode: Code[20]) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + Location.Validate(City, City); + Location.Validate("Post Code", PostCode); + Location."Country/Region Code" := CreateCountryRegion.GB(); + end; + + var + CityLbl: Label 'STOCKHOLM', MaxLength = 30; + PostCodeLbl: Label '114 32', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupSE.Codeunit.al new file mode 100644 index 0000000000..b39067e15f --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/1.Setup Data/CreateVendorPostingGroupSE.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11224 "Create Vendor Posting Group SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorPostingGroup(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + + CreateVendorPostingGroup.Domestic(), + CreateVendorPostingGroup.EU(): + ValidateRecordFields(Rec, CreateGLAccount.VendorsDomestic(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted()); + CreateVendorPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccount.VendorsForeign(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted()); + end; + end; + + local procedure ValidateRecordFields(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueSE.Codeunit.al new file mode 100644 index 0000000000..7f966a2406 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreatePurchDimValueSE.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11226 "Create Purch. Dim. Value SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertVendorDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) then + if Rec."Dimension Code" = CreateDimension.AreaDimension() then + case Rec."No." of + CreateVendor.DomesticFirstUp(), + CreateVendor.DomesticWorldImporter(), + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreateVendorSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreateVendorSE.Codeunit.al new file mode 100644 index 0000000000..4cf2fd1065 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreateVendorSE.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11227 "Create Vendor SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendor(var Rec: Record Vendor) + var + CreateVendor: Codeunit "Create Vendor"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Rec, StockholmLbl, '503912693', PostCode11432Lbl, CreateCountryRegion.US()); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, StockholmLbl, 'SE274863274501', PostCode11432Lbl, CreateCountryRegion.SE()); + CreateVendor.EUGraphicDesign(): + Rec."VAT Registration No." := EUGraphicDesignVatRegNoLbl; + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, StockholmLbl, 'SE197548769001', PostCode11432Lbl, CreateCountryRegion.SE()); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, StockholmLbl, 'SE295267495601', PostCode11432Lbl, CreateCountryRegion.SE()); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; CountryRegionCode: Code[10]) + begin + Vendor.Validate(City, City); + Vendor.Validate("Post Code", PostCode); + Vendor."VAT Registration No." := VatRegNo; + Vendor."Country/Region Code" := CountryRegionCode; + end; + + var + StockholmLbl: Label 'STOCKHOLM', MaxLength = 30, Locked = true; + EUGraphicDesignVatRegNoLbl: Label '521478963', MaxLength = 20; + PostCode11432Lbl: Label '114 32', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateSE.Codeunit.al new file mode 100644 index 0000000000..985955878f --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Purchase/2.Master Data/CreateVendorTemplateSE.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 11223 "Create Vendor Template SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertVendorTemplate(var Rec: Record "Vendor Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateVendorTemplate: Codeunit "Create Vendor Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateVendorTemplate.VendorCompany(), + CreateVendorTemplate.VendorPerson(): + ValidateRecordFields(Rec, ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; + + local procedure ValidateRecordFields(var VendorTempl: Record "Vendor Templ."; CountryRegionCode: Code[10]) + begin + VendorTempl.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupSE.Codeunit.al new file mode 100644 index 0000000000..ba326a94a9 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateCustPostingGroupSE.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 11228 "Create Cust. Posting Group SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustPostingGroup(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + case Rec.Code of + CreateCustomerPostingGroup.Domestic(), + CreateCustomerPostingGroup.EU(), + CreateCustomerPostingGroup.Foreign(): + ValidateRecordFields(Rec, CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted()); + end; + end; + + procedure ValidateRecordFields(var CustomerPostingGroup: Record "Customer Posting Group"; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateFinanceChargeTermsSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateFinanceChargeTermsSE.Codeunit.al new file mode 100644 index 0000000000..65544cdc4f --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateFinanceChargeTermsSE.Codeunit.al @@ -0,0 +1,24 @@ + +codeunit 11245 "Create Finance Charge Terms SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFinanceCharge: Codeunit "Contoso Finance Charge"; + begin + ContosoFinanceCharge.InsertFinanceChargeTerms(Domestic(), 1.5, DomesticCustomersLbl, Enum::"Interest Calculation Method"::"Average Daily Balance", 30, '<5D>', '<1M>', true, true, LineWiseFinanceChargeLbl, SumFinanceChargeLbl); + end; + + procedure Domestic(): Code[10] + begin + exit(DomesticTok); + end; + + var + DomesticTok: Label '2.0 DOM.', MaxLength = 10; + DomesticCustomersLbl: Label '2.0 % for Domestic Customers', MaxLength = 100; + LineWiseFinanceChargeLbl: Label '%4% finance charge of %6', MaxLength = 100, Comment = '%4 Line Description, %6 Line Description'; + SumFinanceChargeLbl: Label 'Sum finance charge of %5', MaxLength = 100, Comment = '%5 Detailed Lines Description'; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelSE.Codeunit.al new file mode 100644 index 0000000000..c13049d290 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateReminderLevelSE.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11229 "Create Reminder Level SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertReminderLevel(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + case Rec."Reminder Terms Code" of + CreateReminderTerms.Domestic(): + begin + if Rec."No." = 1 then + ValidateRecordFields(Rec, 51); + if Rec."No." = 2 then + ValidateRecordFields(Rec, 101); + if Rec."No." = 3 then + ValidateRecordFields(Rec, 151); + end; + end; + end; + + procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFee: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFee); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupSE.Codeunit.al new file mode 100644 index 0000000000..f070da1f81 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/1.Setup Data/CreateSalesRecvSetupSE.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 11230 "Create Sales Recv. Setup SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + begin + SalesReceivablesSetup.Get(); + SalesReceivablesSetup.Validate("Logo Position on Documents", SalesReceivablesSetup."Logo Position on Documents"::Left); + SalesReceivablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateCustomerSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateCustomerSE.Codeunit.al new file mode 100644 index 0000000000..4c65712352 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateCustomerSE.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 11234 "Create Customer SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomer(var Rec: Record Customer) + var + CreateCustomer: Codeunit "Create Customer"; + CreateLanguage: Codeunit "Create Language"; + begin + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Rec, MALMOCityLbl, 'SE789456278901', PostCode21215Lbl, CreateLanguage.SVE()); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Rec, StockholmCityLbl, 'SE254687456701', PostCode11432Lbl, CreateLanguage.SVE()); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Rec, MiamiCityLbl, ExportSchoolofArtVatRegNoLbl, USFL37125PostCodeLbl, CreateLanguage.ENU()); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Rec, MunchenCityLbl, EUAlpineSkiHouseVatRegNoLbl, DE80807PostCodeLbl, CreateLanguage.DEU()); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, StockholmCityLbl, 'SE582048936701', PostCode11432Lbl, CreateLanguage.SVE()); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; City: Text[30]; VatRegNo: Text[20]; PostCode: Code[20]; LanguageCode: Code[10]) + begin + Customer.Validate(City, City); + Customer.Validate("Post Code", PostCode); + Customer."VAT Registration No." := VatRegNo; + Customer.Validate("Language Code", LanguageCode); + end; + + var + MALMOCityLbl: Label 'MALMÖ', MaxLength = 30, Locked = true; + StockholmCityLbl: Label 'STOCKHOLM', MaxLength = 30, Locked = true; + MiamiCityLbl: Label 'Miami', MaxLength = 30, Locked = true; + MunchenCityLbl: Label 'Munchen', MaxLength = 30, Locked = true; + ExportSchoolofArtVatRegNoLbl: Label '733495789', MaxLength = 20; + EUAlpineSkiHouseVatRegNoLbl: Label '533435789', MaxLength = 20; + PostCode21215Lbl: Label '212 15', MaxLength = 20; + PostCode11432Lbl: Label '114 32', MaxLength = 20; + USFL37125PostCodeLbl: Label 'US-FL 37125', MaxLength = 20; + DE80807PostCodeLbl: Label 'DE-80807', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateSE.Codeunit.al new file mode 100644 index 0000000000..23341428c3 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateCustomerTemplateSE.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 11231 "Create Customer Template SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertCustomerTemplate(var Rec: Record "Customer Templ.") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomerTemplate: Codeunit "Create Customer Template"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(), + CreateCustomerTemplate.CustomerPerson(): + ValidateRecordFields(Rec, ContosoCoffeeDemoDataSetup."Country/Region Code"); + end; + end; + + local procedure ValidateRecordFields(var CustomerTempl: Record "Customer Templ."; CountryRegionCode: Code[10]) + begin + CustomerTempl.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueSE.Codeunit.al new file mode 100644 index 0000000000..fe095ca286 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateSalesDimValueSE.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 11232 "Create Sales Dim Value SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnBeforeInsertCustomerDefaultDimensions(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateCustomer.DomesticAdatumCorporation(), + CreateCustomer.DomesticTreyResearch(), + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Rec, CreateDimensionValue.EuropeNorthEUArea()); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]) + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressSE.Codeunit.al new file mode 100644 index 0000000000..dbcad6a0ac --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Data/Sales/2.Master Data/CreateShiptoAddressSE.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 11233 "Create Ship-to Address SE" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Ship-to Address", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertShiptoAddress(var Rec: Record "Ship-to Address") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateCustomer: Codeunit "Create Customer"; + CreateShiptoAddress: Codeunit "Create Ship-to Address"; + begin + ContosoCoffeeDemoDataSetup.Get(); + if (Rec."Customer No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec.Code of + CreateShiptoAddress.Cheltenham(): + ValidateShiptoAddress(Rec, GÖTEBORGCityLbl, PostCode41506Lbl); + CreateShiptoAddress.London(): + ValidateShiptoAddress(Rec, MALMÖCityLbl, PostCode21216Lbl); + end; + + if Rec."Customer No." = CreateCustomer.DomesticTreyResearch() then + case Rec.Code of + CreateShiptoAddress.Fleet(), + CreateShiptoAddress.TWYCross(): + ValidateShiptoAddress(Rec, StockholmCityLbl, PostCode11432Lbl); + end; + end; + + local procedure ValidateShiptoAddress(var ShiptoAddress: Record "Ship-to Address"; City: Text[30]; PostCode: Code[20]) + begin + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Post Code", PostCode); + end; + + var + StockholmCityLbl: Label 'STOCKHOLM', MaxLength = 30, Locked = true; + GÖTEBORGCityLbl: Label 'GÖTEBORG', MaxLength = 30, Locked = true; + MALMÖCityLbl: Label 'MALMÖ', MaxLength = 30, Locked = true; + PostCode41506Lbl: Label '415 06', MaxLength = 20; + PostCode21216Lbl: Label '212 16', MaxLength = 20; + PostCode11432Lbl: Label '114 32', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Codeunits/CommonModuleSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/CommonModuleSE.Codeunit.al similarity index 100% rename from Apps/SE/ContosoCoffeeDemoDatasetSE/app/Codeunits/CommonModuleSE.Codeunit.al rename to Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/CommonModuleSE.Codeunit.al diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoAccountScheduleSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoAccountScheduleSE.Codeunit.al new file mode 100644 index 0000000000..aa5d39f562 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoAccountScheduleSE.Codeunit.al @@ -0,0 +1,47 @@ +codeunit 11241 "Contoso Account Schedule SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Column Layout" = ri; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; ComparisonDateFormula: Text[10]) + var + ColumnLayout: Record "Column Layout"; + Exists: Boolean; + begin + if ColumnLayout.Get(ColumnLayoutName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ColumnLayout.Validate("Column Layout Name", ColumnLayoutName); + ColumnLayout.Validate("Line No.", LineNo); + ColumnLayout.Validate("Column No.", ColumnNo); + ColumnLayout.Validate("Column Header", ColumnHeader); + ColumnLayout.Validate("Column Type", ColumnType); + ColumnLayout.Validate("Ledger Entry Type", LedgerEntryType); + ColumnLayout.Validate(Formula, Formula); + ColumnLayout.Validate("Show Opposite Sign", ShowOppositeSign); + ColumnLayout.Validate(Show, Show); + ColumnLayout.Validate("Comparison Period Formula", ComparisonPeriodFormula); + Evaluate(ColumnLayout."Comparison Date Formula", ComparisonDateFormula); + ColumnLayout.Validate("Comparison Date Formula"); + ColumnLayout.Validate("Amount Type", AmountType); + + if Exists then + ColumnLayout.Modify(true) + else + ColumnLayout.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Codeunits/ContosoDemoDataSetupSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoDemoDataSetupSE.Codeunit.al similarity index 100% rename from Apps/SE/ContosoCoffeeDemoDatasetSE/app/Codeunits/ContosoDemoDataSetupSE.Codeunit.al rename to Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoDemoDataSetupSE.Codeunit.al diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoPostCodeSE.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoPostCodeSE.Codeunit.al new file mode 100644 index 0000000000..88dfc1d6e1 --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/Contoso Helpers/ContosoPostCodeSE.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11200 "Contoso Post Code SE" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Post Code" = rim; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPostCode(Code: Code[20]; City: Text[30]; CountryRegionCode: Code[10]) + var + PostCode: Record "Post Code"; + Exists: Boolean; + begin + if PostCode.Get(Code, City) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PostCode.Validate(Code, Code); + PostCode.Validate(City, City); + PostCode.Validate("Search City", City); + PostCode.Validate("Country/Region Code", CountryRegionCode); + + if Exists then + PostCode.Modify(true) + else + PostCode.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/SEContosoLocalization.Codeunit.al b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/SEContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..4ead59e49e --- /dev/null +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/Demo Tool/SEContosoLocalization.Codeunit.al @@ -0,0 +1,254 @@ +codeunit 11214 "SE Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + if Module = Enum::"Contoso Demo Data Module"::Foundation then + FoundationModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Sales then + SalesModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Human Resources Module" then + HumanResourceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Finance then + FinanceModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::"Fixed Asset Module" then + FixedAssetModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Inventory then + InventoryModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Bank then + BankModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::CRM then + CRMModule(ContosoDemoDataLevel); + + UnBindSubscriptionDemoData(Module); + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Company Information SE"); + Codeunit.Run(Codeunit::"Create Post Code SE"); + Codeunit.Run(Codeunit::"Create Vat Posting Groups SE"); + Codeunit.Run(Codeunit::"Create Posting Groups SE"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + CreateVatPostingGroupSE: Codeunit "Create VAT Posting Groups SE"; + CreatePostingGroupsSE: Codeunit "Create Posting Groups SE"; + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + CreateVatPostingGroupSE.UpdateVATPostingSetup(); + CreatePostingGroupsSE.UpdateGenPostingSetup(); + Codeunit.Run(Codeunit::"Create General Ledger Setup SE"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Currency Ex. Rate SE"); + Codeunit.Run(Codeunit::"Create Acc. Schedule SE"); + Codeunit.Run(Codeunit::"Create VAT Setup PostingGrp SE"); + Codeunit.Run(Codeunit::"Create VAT Statement SE"); + end; + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create Sales Recv. Setup SE"); + Codeunit.Run(Codeunit::"Create Finance Charge Terms SE"); + end; + end; + end; + + local procedure FixedAssetModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create FA Ins Jnl. Template SE"); + end; + end; + + local procedure CRMModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Marketing Setup SE"); + end; + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Empl. Posting Group SE"); + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Employee SE"); + Codeunit.Run(Codeunit::"Create Employee Template SE"); + end; + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Historical Data": + Codeunit.Run(Codeunit::"Create Gen. Journal Line SE"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Item Template SE"); + Codeunit.Run(Codeunit::"Create Location SE"); + Codeunit.Run(Codeunit::"Create Inv. Posting Setup SE"); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateLocationSE: Codeunit "Create Location SE"; + CreateItemSE: Codeunit "Create Item SE"; + CreateBankAccountSE: Codeunit "Create Bank Account SE"; + CreateCustPostingGroupSE: Codeunit "Create Cust. Posting Group SE"; + CreateReminderLevelSE: Codeunit "Create Reminder Level SE"; + CreateCustomerSE: Codeunit "Create Customer SE"; + CreateCustomerTemplateSE: Codeunit "Create Customer Template SE"; + CreateSalesDimValueSE: Codeunit "Create Sales Dim Value SE"; + CreateShiptoAddressSE: Codeunit "Create Ship-to Address SE"; + CreateVendorSE: Codeunit "Create Vendor SE"; + CreateVendorTemplateSE: Codeunit "Create Vendor Template SE"; + CreateVendorPostingGroupSE: Codeunit "Create Vendor Posting Group SE"; + CreatePurchDimValueSE: Codeunit "Create Purch. Dim. Value SE"; + CreateResourceSE: Codeunit "Create Resource SE"; + CreateCurrencySE: Codeunit "Create Currency SE"; + CreateCurrencyExchRateSE: Codeunit "Create Currency Ex. Rate SE"; + CreateFADepreciationBookSE: Codeunit "Create FA Depreciation Book SE"; + CreateAccScheduleSE: Codeunit "Create Acc. Schedule SE"; + CreateItemChargeSE: Codeunit "Create Item Charge SE"; + CreateGenJournalLineSE: Codeunit "Create Gen. Journal Line SE"; + CreateVATStatementSE: Codeunit "Create VAT Statement SE"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccountSE); + BindSubscription(CreateGenJournalLineSE) + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateItemSE); + BindSubscription(CreateLocationSE); + BindSubscription(CreateItemChargeSE); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustomerSE); + BindSubscription(CreateCustomerTemplateSE); + BindSubscription(CreateShiptoAddressSE); + BindSubscription(CreateSalesDimValueSE); + BindSubscription(CreateReminderLevelSE); + BindSubscription(CreateCustPostingGroupSE); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorSE); + BindSubscription(CreateVendorTemplateSE); + BindSubscription(CreatePurchDimValueSE); + BindSubscription(CreateVendorPostingGroupSE); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateCurrencySE); + BindSubscription(CreateCurrencyExchRateSE); + BindSubscription(CreateResourceSE); + BindSubscription(CreateAccScheduleSE); + BindSubscription(CreateVATStatementSE); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + BindSubscription(CreateFADepreciationBookSE); + end; + end; + + local procedure UnBindSubscriptionDemoData(Module: Enum "Contoso Demo Data Module") + var + CreateLocationSE: Codeunit "Create Location SE"; + CreateItemSE: Codeunit "Create Item SE"; + CreateBankAccountSE: Codeunit "Create Bank Account SE"; + CreateCustPostingGroupSE: Codeunit "Create Cust. Posting Group SE"; + CreateReminderLevelSE: Codeunit "Create Reminder Level SE"; + CreateCustomerSE: Codeunit "Create Customer SE"; + CreateCustomerTemplateSE: Codeunit "Create Customer Template SE"; + CreateSalesDimValueSE: Codeunit "Create Sales Dim Value SE"; + CreateShiptoAddressSE: Codeunit "Create Ship-to Address SE"; + CreateVendorSE: Codeunit "Create Vendor SE"; + CreateVendorTemplateSE: Codeunit "Create Vendor Template SE"; + CreateVendorPostingGroupSE: Codeunit "Create Vendor Posting Group SE"; + CreatePurchDimValueSE: Codeunit "Create Purch. Dim. Value SE"; + CreateResourceSE: Codeunit "Create Resource SE"; + CreateCurrencySE: Codeunit "Create Currency SE"; + CreateCurrencyExchRateSE: Codeunit "Create Currency Ex. Rate SE"; + CreateFADepreciationBookSE: Codeunit "Create FA Depreciation Book SE"; + CreateAccScheduleSE: Codeunit "Create Acc. Schedule SE"; + CreateItemChargeSE: Codeunit "Create Item Charge SE"; + CreateGenJournalLineSE: Codeunit "Create Gen. Journal Line SE"; + CreateVATStatementSE: Codeunit "Create VAT Statement SE"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Bank: + begin + UnBindSubscription(CreateBankAccountSE); + UnbindSubscription(CreateGenJournalLineSE) + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnBindSubscription(CreateItemSE); + UnBindSubscription(CreateLocationSE); + UnbindSubscription(CreateItemChargeSE); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnBindSubscription(CreateCustomerSE); + UnBindSubscription(CreateCustomerTemplateSE); + UnBindSubscription(CreateShiptoAddressSE); + UnBindSubscription(CreateSalesDimValueSE); + UnBindSubscription(CreateReminderLevelSE); + UnBindSubscription(CreateCustPostingGroupSE); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnBindSubscription(CreateVendorSE); + UnBindSubscription(CreateVendorTemplateSE); + UnBindSubscription(CreatePurchDimValueSE); + UnBindSubscription(CreateVendorPostingGroupSE); + end; + Enum::"Contoso Demo Data Module"::Finance: + begin + UnBindSubscription(CreateCurrencySE); + UnBindSubscription(CreateCurrencyExchRateSE); + UnBindSubscription(CreateResourceSE); + UnBindSubscription(CreateAccScheduleSE); + UnbindSubscription(CreateVATStatementSE); + end; + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + UnBindSubscription(CreateFADepreciationBookSE); + end; + end; +} \ No newline at end of file diff --git a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/app.json b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/app.json index 99cb80ef80..db84cc627d 100644 --- a/Apps/SE/ContosoCoffeeDemoDatasetSE/app/app.json +++ b/Apps/SE/ContosoCoffeeDemoDatasetSE/app/app.json @@ -29,7 +29,7 @@ }, { "from": 11200, - "to": 11205 + "to": 11250 } ], "resourceExposurePolicy": { diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/Codeunits/CreateUSGLAccounts.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/Codeunits/CreateUSGLAccounts.Codeunit.al deleted file mode 100644 index 98bb89f75f..0000000000 --- a/Apps/US/ContosoCoffeeDemoDatasetUS/app/Codeunits/CreateUSGLAccounts.Codeunit.al +++ /dev/null @@ -1,112 +0,0 @@ -codeunit 10499 "Create US GL Accounts" -{ - InherentPermissions = X; - InherentEntitlements = X; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyCommonGLAccounts() - var - InventorySetup: Record "Inventory Setup"; - ContosoGLAccount: Codeunit "Contoso GL Account"; - CommonGLAccount: Codeunit "Create Common GL Account"; - begin - InventorySetup.Get(); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '15110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '22100'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '40140'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '14140'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), ''); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), ''); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '14110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '14140'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '14110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '14140'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '14110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), '50410'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '14110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '14110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '50110'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '50110'); - - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '14140'); - ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyServiceGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - SvcGLAccount: Codeunit "Create Svc GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '40430'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyManufacturingGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - MfgGLAccount: Codeunit "Create Mfg GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '50210'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '50210'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), '50410'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), '50420'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), '50421'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), '50422'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), '50423'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), '50424'); - - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '14130'); - ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '14210'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyFixedAssetGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - FAGLAccount: Codeunit "Create FA GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '12210'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), '17120'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '17200'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), '67400'); - - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), '66200'); - ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), '81200'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyHumanResourcesGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - HRGLAccount: Codeunit "Create HR GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), '23850'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] - local procedure ModifyJobGLAccounts() - var - ContosoGLAccount: Codeunit "Contoso GL Account"; - JobGLAccount: Codeunit "Create Job GL Account"; - begin - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '14250'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '14230'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), '40420'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), '40410'); - - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), '50320'); - ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), '50310'); - end; -} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/1.Setup Data/CreateBankAccPostingGrpUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/1.Setup Data/CreateBankAccPostingGrpUS.Codeunit.al new file mode 100644 index 0000000000..d7be2544a9 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/1.Setup Data/CreateBankAccPostingGrpUS.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 10506 "Create Bank Acc. Posting GrpUS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account Posting Group") + var + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + CreateBankAccPostingGrp: Codeunit "Create Bank Acc. Posting Grp"; + begin + case Rec.Code of + CreateBankAccPostingGrp.Checking(): + ValidateRecordFields(Rec, CreateUSGLAccounts.BusinessAccountOperatingDomestic()); + CreateBankAccPostingGrp.Operating(): + ValidateRecordFields(Rec, CreateUSGLAccounts.BusinessAccountOperatingDomestic()); + CreateBankAccPostingGrp.Savings(): + ValidateRecordFields(Rec, CreateUSGLAccounts.OtherBankAccounts()); + end; + end; + + local procedure ValidateRecordFields(var BankAccountPostingGroup: Record "Bank Account Posting Group"; GLAccountNo: Code[20]) + begin + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetupUS.Codeunit.al new file mode 100644 index 0000000000..de4c494747 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetupUS.Codeunit.al @@ -0,0 +1,67 @@ +codeunit 10502 "Create Bank Ex/Import SetupUS" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBank: Codeunit "Contoso Bank"; + CreateDataExchangeDefUS: Codeunit "Create Data Exchange Def US"; + begin + ContosoBank.ContosoBankExportImportSetup(BankOfAmericaPp(), BankOfAmericaPositivePayLbl, 2, Codeunit::"Exp. Launcher Pos. Pay", 0, CreateDataExchangeDefUS.BANKOFAMERICAPP(), true, 0); + ContosoBank.ContosoBankExportImportSetup(CaEftDefault(), CaEftDefaultLbl, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefUS.CAEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(CitiBankPp(), CitiBankPositivePayLbl, 2, Codeunit::"Exp. Launcher Pos. Pay", 0, CreateDataExchangeDefUS.CITIBANKPP(), true, 0); + ContosoBank.ContosoBankExportImportSetup(MxEftDefault(), MxEftDefaultLbl, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefUS.MXEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftCcd(), UsEftCcdTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefUS.USEFTCCD(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftDefault(), UsEftDefaultTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefUS.USEFTDEFAULT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(UsEftIatDefault(), UsEftIatDefaultTok, 3, Codeunit::"Exp. Launcher EFT", 0, CreateDataExchangeDefUS.USEFTIATDEFAULT(), true, 0); + end; + + procedure BankOfAmericaPp(): Code[20] + begin + exit(BankOfAmericaPpTok) + end; + + procedure CaEftDefault(): Code[20] + begin + exit(CaEftDefaultTok) + end; + + procedure CitiBankPp(): Code[20] + begin + exit(CitiBankPpTok) + end; + + procedure MxEftDefault(): Code[20] + begin + exit(MxEftDefaultTok) + end; + + procedure UsEftCcd(): Code[20] + begin + exit(UsEftCcdTok) + end; + + procedure UsEftDefault(): Code[20] + begin + exit(UsEftDefaultTok) + end; + + procedure UsEftIatDefault(): Code[20] + begin + exit(UsEftIatDefaultTok) + end; + + var + BankOfAmericaPpTok: Label 'BANKOFAMERICA-PP', MaxLength = 20; + CaEftDefaultTok: Label 'CA EFT DEFAULT', MaxLength = 20; + CitiBankPpTok: Label 'CITIBANK-PP', MaxLength = 20; + MxEftDefaultTok: Label 'MX EFT DEFAULT', MaxLength = 20; + UsEftCcdTok: Label 'US EFT CCD', MaxLength = 20; + UsEftDefaultTok: Label 'US EFT Default', MaxLength = 20; + UsEftIatDefaultTok: Label 'US EFT IAT Default', MaxLength = 20; + BankOfAmericaPositivePayLbl: Label 'BANKOFAMERICA-Positive Pay', MaxLength = 100; + CaEftDefaultLbl: Label 'CA EFT DEFAULT', MaxLength = 100; + CitiBankPositivePayLbl: Label 'CITIBANK-Positive Pay', MaxLength = 100; + MxEftDefaultLbl: Label 'MX EFT Default', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/2.Master Data/CreateBankAccountUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/2.Master Data/CreateBankAccountUS.Codeunit.al new file mode 100644 index 0000000000..1212bb8795 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Bank/2.Master Data/CreateBankAccountUS.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 10503 "Create Bank Account US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Bank Account") + var + CreateBankAccount: Codeunit "Create Bank Account"; + begin + case Rec."No." of + CreateBankAccount.Checking(): + ValidateRecordFields(Rec, -1440000, PostCodeLbl, LastRemittanceAdviceNoLbl, ''); + CreateBankAccount.Savings(): + ValidateRecordFields(Rec, 0, PostCodeLbl, '', ''); + end; + end; + + local procedure ValidateRecordFields(var BankAccount: Record "Bank Account"; MinBalance: Decimal; PostCode: Code[20]; LastRemittanceAdviceNo: Code[20]; BankStatementImportFormat: Code[20]) + begin + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Bank Statement Import Format", BankStatementImportFormat); + BankAccount."Last Remittance Advice No." := LastRemittanceAdviceNo; + end; + + var + PostCodeLbl: Label 'GB-WC1 3DG', MaxLength = 20; + LastRemittanceAdviceNoLbl: Label '1', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/FA/1.Setup Data/CreateFADepreciationBookUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/FA/1.Setup Data/CreateFADepreciationBookUS.Codeunit.al new file mode 100644 index 0000000000..2976254ef8 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/FA/1.Setup Data/CreateFADepreciationBookUS.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 11496 "Create FA Depreciation Book US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Depreciation Book", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertDepreciationBook(var Rec: Record "Depreciation Book") + var + CreateFADeprBook: Codeunit "Create FA Depreciation Book"; + begin + case Rec.Code of + CreateFADeprBook.Company(): + ValidateDepreciationBook(Rec, 10); + end; + end; + + local procedure ValidateDepreciationBook(var DepreciationBook: Record "Depreciation Book"; DefaultFinalRoundingAmount: Decimal) + begin + DepreciationBook.Validate("Default Final Rounding Amount", DefaultFinalRoundingAmount); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/FA/1.Setup Data/CreateFAPostingGrpUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/FA/1.Setup Data/CreateFAPostingGrpUS.Codeunit.al new file mode 100644 index 0000000000..fac0a2122b --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/FA/1.Setup Data/CreateFAPostingGrpUS.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 11495 "Create FA Posting Grp. US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"FA Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnBeforeInsertFAPostingGroups(var Rec: Record "FA Posting Group") + var + CreateFAPostingGrp: Codeunit "Create FA Posting Group"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + case Rec.Code of + CreateFAPostingGrp.Equipment(): + ValidateRecordFields(Rec, CreateUSGLAccounts.EquipmentsandTools(), CreateUSGLAccounts.EquipmentsandTools(), CreateUSGLAccounts.EquipmentsandTools(), CreateUSGLAccounts.EquipmentsandTools(), CreateUSGLAccounts.EquipmentsandTools(), CreateUSGLAccounts.EquipmentsandTools(), CreateUSGLAccounts.DepreciationFixedAssets(), CreateUSGLAccounts.DepreciationFixedAssets(), CreateUSGLAccounts.DepreciationFixedAssets()); + CreateFAPostingGrp.Goodwill(): + ValidateRecordFields(Rec, CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill(), CreateUSGLAccounts.Goodwill()); + CreateFAPostingGrp.Plant(): + ValidateRecordFields(Rec, CreateUSGLAccounts.Building(), CreateUSGLAccounts.Building(), CreateUSGLAccounts.Building(), CreateUSGLAccounts.Building(), CreateUSGLAccounts.Building(), CreateUSGLAccounts.Building(), CreateUSGLAccounts.DepreciationLandandProperty(), CreateUSGLAccounts.DepreciationLandandProperty(), CreateUSGLAccounts.DepreciationLandandProperty()); + CreateFAPostingGrp.Property(): + ValidateRecordFields(Rec, CreateUSGLAccounts.Land(), CreateUSGLAccounts.Land(), CreateUSGLAccounts.Land(), CreateUSGLAccounts.Land(), CreateUSGLAccounts.Land(), CreateUSGLAccounts.Land(), CreateUSGLAccounts.DepreciationLandandProperty(), CreateUSGLAccounts.DepreciationLandandProperty(), CreateUSGLAccounts.DepreciationLandandProperty()); + CreateFAPostingGrp.Vehicles(): + ValidateRecordFields(Rec, CreateUSGLAccounts.CarsandOtherTransportEquipments(), CreateUSGLAccounts.CarsandOtherTransportEquipments(), CreateUSGLAccounts.CarsandOtherTransportEquipments(), CreateUSGLAccounts.CarsandOtherTransportEquipments(), CreateUSGLAccounts.CarsandOtherTransportEquipments(), CreateUSGLAccounts.CarsandOtherTransportEquipments(), CreateUSGLAccounts.DepreciationFixedAssets(), CreateUSGLAccounts.DepreciationFixedAssets(), CreateUSGLAccounts.DepreciationFixedAssets()); + end; + end; + + local procedure ValidateRecordFields(var FAPostingGroup: Record "FA Posting Group"; AcquisitionCostAccount: Code[20]; AccumDepreciationAccount: Code[20]; AcqCostAcconDisposal: Code[20]; AccumDeprAcconDisposal: Code[20]; GainsAcconDisposal: Code[20]; LossesAcconDisposal: Code[20]; MaintenanceExpenseAccount: Code[20]; AcquisitionCostBalAcc: Code[20]; DepreciationExpenseAcc: Code[20]) + begin + FAPostingGroup.Validate("Acquisition Cost Account", AcquisitionCostAccount); + FAPostingGroup.Validate("Accum. Depreciation Account", AccumDepreciationAccount); + FAPostingGroup.Validate("Acq. Cost Acc. on Disposal", AcqCostAcconDisposal); + FAPostingGroup.Validate("Accum. Depr. Acc. on Disposal", AccumDeprAcconDisposal); + FAPostingGroup.Validate("Gains Acc. on Disposal", GainsAcconDisposal); + FAPostingGroup.Validate("Losses Acc. on Disposal", LossesAcconDisposal); + FAPostingGroup.Validate("Maintenance Expense Account", MaintenanceExpenseAccount); + FAPostingGroup.Validate("Acquisition Cost Bal. Acc.", AcquisitionCostBalAcc); + FAPostingGroup.Validate("Depreciation Expense Acc.", DepreciationExpenseAcc); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineUS.Codeunit.al new file mode 100644 index 0000000000..e1ae12ce08 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateAccScheduleLineUS.Codeunit.al @@ -0,0 +1,316 @@ +codeunit 11489 "Create Acc. Schedule Line US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + // ToDo: Need to Check with MS Team why standard Schedule Name are commented in W1 + + // ToDO: MS Could not find out several GLAccount Eg. '10910..10950','20500','40250' + + trigger OnRun() + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + AccountScheduleName: Code[10]; + begin + AccountScheduleName := CreateAccountScheduleName.CapitalStructure(); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 190000, '', CAMinusShortTermLiabLbl, '06|16', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', true, false, false, false, 0); + end; + + [EventSubscriber(ObjectType::Table, Database::"Acc. Schedule Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Acc. Schedule Line") + var + CreateAccScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + if (Rec."Schedule Name" = CreateAccScheduleName.AccountCategoriesOverview()) and (Rec."Line No." = 60000) then + ValidateRecordFields(Rec, '4010', IncomeThisYearLbl, CreateGLAccount.NETINCOME(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + + if Rec."Schedule Name" = CreateAccScheduleName.CapitalStructure() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '', AcidTestAnalysisLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false); + 30000: + ValidateRecordFields(Rec, '', CurrentAssetsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false); + 40000: + ValidateRecordFields(Rec, '01', LiquidAssetsLbl, CreateUSGLAccounts.BusinessAccountOperatingDomestic() + '..' + CreateGLAccount.Cash(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false, false); + 50000: + ValidateRecordFields(Rec, '02', SecuritiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false, false); + 60000: + ValidateRecordFields(Rec, '03', AccountsReceivableLbl, CreateUSGLAccounts.AccountReceivableDomestic() + '|' + CreateUSGLAccounts.PrepaidRent() + '|' + CreateUSGLAccounts.OtherPrepaidExpensesAndAccruedIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false, false); + 70000: + ValidateRecordFields(Rec, '04', InventoryLbl, CreateUSGLAccounts.FinishedGoods(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false, false); + 80000: + ValidateRecordFields(Rec, '05', WIPLbl, '10910..10950', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false, false); + 90000: + ValidateRecordFields(Rec, '06', CurrentAssetsTotalLbl, '01..05', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', true, false, false); + 100000: + ValidateRecordFields(Rec, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 110000: + ValidateRecordFields(Rec, '', ShortTermLiabilitiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false); + 120000: + ValidateRecordFields(Rec, '11', RevolvingCreditLbl, '20500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true, false); + 130000: + ValidateRecordFields(Rec, '12', AccountsPayableLbl, CreateUSGLAccounts.AccountsPayableDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true, false); + 140000: + ValidateRecordFields(Rec, '13', SalesTaxesPayableLbl, CreateUSGLAccounts.SalesTaxVATLiable(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true, false); + 150000: + ValidateRecordFields(Rec, '14', PersonnelRelatedItemsLbl, CreateUSGLAccounts.TaxesLiable() + '..' + CreateUSGLAccounts.EmployeesWithholdingTaxes(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true, false); + 160000: + ValidateRecordFields(Rec, '15', OtherLiabilitiesLbl, CreateUSGLAccounts.PurchaseDiscounts() + '..' + CreateUSGLAccounts.DeferredIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true, false); + 170000: + ValidateRecordFields(Rec, '16', ShortTermLiabilitiesLbl, '11..15', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', true, true, false); + 180000: + ValidateRecordFields(Rec, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashCycle() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueLbl, CreateUSGLAccounts.SalesofServiceWork() + '..' + CreateUSGLAccounts.SalesReturns(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 20000: + ValidateRecordFields(Rec, '20', TotalReceivablesLbl, CreateUSGLAccounts.AccountReceivableDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 30000: + ValidateRecordFields(Rec, '30', TotalPayablesLbl, CreateUSGLAccounts.AccountsPayableDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 40000: + ValidateRecordFields(Rec, '40', TotalInventoryLbl, CreateUSGLAccounts.FinishedGoods(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.CashFlow() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalReceivablesLbl, CreateUSGLAccounts.AccountReceivableDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 20000: + ValidateRecordFields(Rec, '20', TotalPayablesLbl, CreateUSGLAccounts.AccountsPayableDomestic(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 30000: + ValidateRecordFields(Rec, '30', TotalLiquidFundsLbl, CreateUSGLAccounts.BusinessAccountOperatingDomestic() + '..' + CreateGLAccount.Cash(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 40000: + ValidateRecordFields(Rec, '40', TotalCashFlowLbl, '10..30', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.IncomeExpense() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueCreditLbl, CreateUSGLAccounts.SalesofServiceWork() + '..' + CreateUSGLAccounts.SalesReturns(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 30000: + ValidateRecordFields(Rec, '20', TotalGoodsSoldLbl, CreateUSGLAccounts.CostofMaterials(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 40000: + ValidateRecordFields(Rec, '30', TotalExternalCostsLbl, CreateUSGLAccounts.RentLeases() + '..' + CreateUSGLAccounts.AdvertisementDevelopment() + '|' + CreateUSGLAccounts.BankingFees() + '..' + CreateUSGLAccounts.BadDebtLosses() + '|' + CreateUSGLAccounts.RepairsandMaintenanceforRental() + '..' + CreateGLAccount.OfficeSupplies(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 50000: + ValidateRecordFields(Rec, '40', TotalPersonnelCostsLbl, CreateGLAccount.Salaries() + '..' + CreateUSGLAccounts.LifeInsurance(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 60000: + ValidateRecordFields(Rec, '50', TotalDeprOnFALbl, CreateUSGLAccounts.DepreciationFixedAssets(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 70000: + ValidateRecordFields(Rec, '60', OtherExpensesLbl, CreateUSGLAccounts.OtherExternalServices(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + end; + + if Rec."Schedule Name" = CreateAccScheduleName.ReducedTrialBalance() then + case Rec."Line No." of + 10000: + ValidateRecordFields(Rec, '10', TotalRevenueLbl, CreateUSGLAccounts.SalesofServiceWork() + '..' + CreateUSGLAccounts.SalesReturns(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true, false); + 20000: + ValidateRecordFields(Rec, '20', TotalCostLbl, CreateUSGLAccounts.CostofMaterials(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 50000: + ValidateRecordFields(Rec, '50', OperatingExpensesLbl, CreateUSGLAccounts.RentLeases() + '..' + CreateUSGLAccounts.AdvertisementDevelopment() + '|' + CreateUSGLAccounts.BankingFees() + '..' + CreateGLAccount.OfficeSupplies() + '|' + CreateUSGLAccounts.DepreciationFixedAssets(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 80000: + ValidateRecordFields(Rec, '80', OtherExpensesLbl, CreateUSGLAccounts.OtherExternalServices(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + 90000: + ValidateRecordFields(Rec, '90', IncomeBeforeInterestAndTaxLbl, '60 - 80', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false); + end; + + //ToDo: Need to Check with MS why standard Schedule Name are commented in W1 + // if Rec."Schedule Name" = CreateAccScheduleName.BalanceSheet() then + // case Rec."Line No." of + // 10000: + // ValidateRecordFields(Rec, 'P0001', AssetsLbl, '10000..12200|12999..13999|15000..16000|16999..18000|18999..19999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + // 30000: + // ValidateRecordFields(Rec, 'P0003', CashLbl, '18100..18500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 40000: + // ValidateRecordFields(Rec, 'P0004', AccountsReceivableLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 50000: + // ValidateRecordFields(Rec, 'P0005', PrepaidExpensesLbl, '16100..16600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 60000: + // ValidateRecordFields(Rec, 'P0006', InventoryLbl, '14000..14299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 90000: + // ValidateRecordFields(Rec, 'P0009', EquipmentLbl, '12210..12299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 100000: + // ValidateRecordFields(Rec, 'P0010', AccumulatedDepreciationLbl, '12900', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 140000: + // ValidateRecordFields(Rec, 'P0014', LiabilitiesLbl, '20000..22000|25999..29999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + // 150000: + // ValidateRecordFields(Rec, 'P0015', CurrentLiabilitiesLbl, '22100..24000|24999..25500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 160000: + // ValidateRecordFields(Rec, 'P0016', PayrollLiabilitiesLbl, '24100..24600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 170000: + // ValidateRecordFields(Rec, 'P0017', LongTermLiabilitiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 200000: + // ValidateRecordFields(Rec, 'P0020', EquityLbl, '30000..30310|39999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + // 210000: + // ValidateRecordFields(Rec, 'P0021', CommonStockLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 220000: + // ValidateRecordFields(Rec, 'P0022', RetainedEarningsLbl, '40000..99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 230000: + // ValidateRecordFields(Rec, 'P0023', DistributionsToShareholdersLbl, '30320', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // end; + + // if Rec."Schedule Name" = CreateAccScheduleName.CashFlowStatement() then + // case Rec."Line No." of + // 20000: + // ValidateRecordFields(Rec, 'P0002', NetIncomeLbl, '40000..99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + // 40000: + // ValidateRecordFields(Rec, 'P0004', AccountsReceivableLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 50000: + // ValidateRecordFields(Rec, 'P0005', PrepaidExpensesLbl, '16100..16600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 60000: + // ValidateRecordFields(Rec, 'P0006', InventoryLbl, '14000..14299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 70000: + // ValidateRecordFields(Rec, 'P0007', CurrentLiabilitiesLbl, '22100..24000|24999..25500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 80000: + // ValidateRecordFields(Rec, 'P0008', PayrollLiabilitiesLbl, '24100..24600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 120000: + // ValidateRecordFields(Rec, 'P0012', EquipmentLbl, '12210..12299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 130000: + // ValidateRecordFields(Rec, 'P0013', AccumulatedDepreciationLbl, '12900', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 170000: + // ValidateRecordFields(Rec, 'P0017', LongTermLiabilitiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 180000: + // ValidateRecordFields(Rec, 'P0018', DistributionsToShareholdersLbl, '30320', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // 220000: + // ValidateRecordFields(Rec, 'P0022', CashBeginningofThePeriodLbl, '18100..18500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // end; + + // if Rec."Schedule Name" = CreateAccScheduleName.IncomeStatement() then + // case Rec."Line No." of + // 10000: + // ValidateRecordFields(Rec, 'P0001', IncomeLbl, '40000..40001|40300..40320|40380..49990|99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true); + // 20000: + // ValidateRecordFields(Rec, 'P0002', IncomeServicesLbl, '40200..40299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 30000: + // ValidateRecordFields(Rec, 'P0003', IncomeProductSalesLbl, '40100..40199', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 50000: + // ValidateRecordFields(Rec, 'P0005', SalesDiscountsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, true); + // 110000: + // ValidateRecordFields(Rec, 'P0011', CostOfGoodsSoldLbl, '50001|50400..59990', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + // 120000: + // ValidateRecordFields(Rec, 'P0012', LaborLbl, '50200..50299', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 130000: + // ValidateRecordFields(Rec, 'P0013', MaterialsLbl, '50100..50199', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 200000: + // ValidateRecordFields(Rec, 'P0020', ExpenseLbl, '60001..60100|60170..63000|63400..65200|65400..67000|67300..71999|80000..98990', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false); + // 210000: + // ValidateRecordFields(Rec, 'P0021', RentExpenseLbl, '60110', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 220000: + // ValidateRecordFields(Rec, 'P0022', AdvertisingExpenseLbl, '63100..63399', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 230000: + // ValidateRecordFields(Rec, 'P0023', InterestExpenseLbl, '40330', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 240000: + // ValidateRecordFields(Rec, 'P0024', FeesExpenseLbl, '67100..67200', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 250000: + // ValidateRecordFields(Rec, 'P0025', InsuranceExpenseLbl, '73000..73999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 260000: + // ValidateRecordFields(Rec, 'P0026', PayrollExpenseLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 270000: + // ValidateRecordFields(Rec, 'P0027', BenefitsExpenseLbl, '72000..72999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 290000: + // ValidateRecordFields(Rec, 'P0029', RepairsMaintenanceExpenseLbl, '60160', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 300000: + // ValidateRecordFields(Rec, 'P0030', UtilitiesExpenseLbl, '60120..60150', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 310000: + // ValidateRecordFields(Rec, 'P0031', OtherIncomeExpensesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 320000: + // ValidateRecordFields(Rec, 'P0032', TaxExpenseLbl, '74000..79999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // 350000: + // ValidateRecordFields(Rec, 'P0035', BadDebtExpenseLbl, '65300', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::"If Any Column Not Zero", '', false, false); + // end; + + // if Rec."Schedule Name" = CreateAccScheduleName.RetainedEarnings() then + // case Rec."Line No." of + // 10000: + // ValidateRecordFields(Rec, 'P0001', RetainedEarningsPeriodStartLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + // 20000: + // ValidateRecordFields(Rec, 'P0002', NetIncomeLbl, '40000..99999', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true); + // 50000: + // ValidateRecordFields(Rec, 'P0005', DistributionsToShareholdersLbl, '30320', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false); + // end; + + if Rec."Schedule Name" = CreateAccScheduleName.Revenues() then + case Rec."Line No." of + 40000: + ValidateRecordFields(Rec, '11', IncomeServicesLbl, CreateUSGLAccounts.SalesofServiceWork(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true, false); + 50000: + ValidateRecordFields(Rec, '12', IncomeProductSalesLbl, CreateUSGLAccounts.SalesofGoods(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true, false); + 60000: + ValidateRecordFields(Rec, '13', JobSalesContraLbl, '40250', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true, false); + 70000: + ValidateRecordFields(Rec, '14', OtherIncomeLbl, CreateUSGLAccounts.SalesDiscounts() + '..' + CreateUSGLAccounts.InterestIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true, false); + 80000: + ValidateRecordFields(Rec, '15', SalesofRetailTotalLbl, CreateUSGLAccounts.TotalIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true, true); + 100000: + ValidateRecordFields(Rec, '', RevenueArea10to55TotalLbl, CreateUSGLAccounts.SalesofServiceWork() + '..' + CreateUSGLAccounts.TotalIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '10..55', false, true, false); + 110000: + ValidateRecordFields(Rec, '', RevenueArea60to85TotalLbl, CreateUSGLAccounts.SalesofServiceWork() + '..' + CreateUSGLAccounts.TotalIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '60..85', false, true, false); + 120000: + ValidateRecordFields(Rec, '', RevenueNoAreacodeTotalLbl, CreateUSGLAccounts.SalesofServiceWork() + '..' + CreateUSGLAccounts.TotalIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, true, false); + 130000: + ValidateRecordFields(Rec, '', RevenueTotalLbl, CreateUSGLAccounts.SalesofServiceWork() + '..' + CreateUSGLAccounts.TotalIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, true, false); + end; + end; + + local procedure ValidateRecordFields(var AccScheduleLine: Record "Acc. Schedule Line"; RowNo: Code[10]; Description: Text[100]; Totaling: Text[250]; TotalingType: Enum "Acc. Schedule Line Totaling Type"; Show: Enum "Acc. Schedule Line Show"; Dimension1Totaling: Text[250]; Bold: Boolean; ShowOppositeSign: Boolean; NewPage: Boolean) + begin + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate(Totaling, Totaling); + AccScheduleLine.Validate("Totaling Type", TotalingType); + AccScheduleLine.Validate(Show, Show); + AccScheduleLine.Validate("Dimension 1 Totaling", Dimension1Totaling); + AccScheduleLine.Validate(Bold, Bold); + AccScheduleLine.Validate("Show Opposite Sign", ShowOppositeSign); + AccScheduleLine.Validate("New Page", NewPage); + end; + + var + IncomeThisYearLbl: Label 'Income This Year', MaxLength = 100; + AcidTestAnalysisLbl: Label 'ACID-TEST ANALYSIS', MaxLength = 100; + CurrentAssetsLbl: Label 'Current Assets', MaxLength = 100; + InventoryLbl: Label 'Inventory', MaxLength = 100; + AccountsReceivableLbl: Label 'Accounts Receivable', MaxLength = 100; + SecuritiesLbl: Label 'Securities', MaxLength = 100; + LiquidAssetsLbl: Label 'Liquid Assets', MaxLength = 100; + CurrentAssetsTotalLbl: Label 'Current Assets, Total', MaxLength = 100; + ShortTermLiabilitiesLbl: Label 'Short-term Liabilities', MaxLength = 100; + RevolvingCreditLbl: Label 'Revolving Credit', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payable', MaxLength = 100; + PersonnelRelatedItemsLbl: Label 'Personnel-related Items', MaxLength = 100; + OtherLiabilitiesLbl: Label 'Other Liabilities', MaxLength = 100; + OtherExpensesLbl: Label 'Other Expenses', MaxLength = 100; + TotalCashFlowLbl: Label 'Total Cash Flow', MaxLength = 100; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + TotalReceivablesLbl: Label 'Total Receivables', MaxLength = 100; + TotalPayablesLbl: Label 'Total Payables', MaxLength = 100; + TotalInventoryLbl: Label 'Total Inventory', MaxLength = 100; + TotalLiquidFundsLbl: Label 'Total Liquid Funds', MaxLength = 100; + TotalRevenueCreditLbl: Label 'Total Revenue (Credit)', MaxLength = 100; + TotalGoodsSoldLbl: Label 'Total Goods Sold', MaxLength = 100; + TotalExternalCostsLbl: Label 'Total External Costs ', MaxLength = 100; + TotalPersonnelCostsLbl: Label 'Total Personnel Costs', MaxLength = 100; + TotalDeprOnFALbl: Label 'Total Depr. on Fixed Assets', MaxLength = 100; + TotalCostLbl: Label 'Total Cost', MaxLength = 100; + OperatingExpensesLbl: Label 'Operating Expenses', MaxLength = 100; + IncomeBeforeInterestAndTaxLbl: Label 'Income before Interest and Tax', MaxLength = 100; + IncomeServicesLbl: Label 'Income, Services', MaxLength = 100; + IncomeProductSalesLbl: Label 'Income, Product Sales', MaxLength = 100; + JobSalesContraLbl: Label 'Job Sales Contra', MaxLength = 100; + OtherIncomeLbl: Label 'Other Income', MaxLength = 100; + SalesofRetailTotalLbl: Label 'Sales of Retail, Total', MaxLength = 100; + RevenueArea10to55TotalLbl: Label 'Revenue Area 10..55, Total', MaxLength = 100; + RevenueArea60to85TotalLbl: Label 'Revenue Area 60..85, Total', MaxLength = 100; + RevenueNoAreacodeTotalLbl: Label 'Revenue, no Area code, Total', MaxLength = 100; + RevenueTotalLbl: Label 'Revenue, Total', MaxLength = 100; + SalesTaxesPayableLbl: Label 'Sales Taxes Payable', MaxLength = 100; + WIPLbl: Label 'WIP', MaxLength = 100; + CAMinusShortTermLiabLbl: Label 'Current Assets minus Short-term Liabilities', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateColumnLayoutNameUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateColumnLayoutNameUS.Codeunit.al new file mode 100644 index 0000000000..226796ddd0 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateColumnLayoutNameUS.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 11487 "Create Column Layout Name US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(PeriodandYeartoDate(), PeriodandYeartoDateLbl); + ContosoAccountSchedule.InsertColumnLayoutName(PeriodandYeartoDatewithPercentofTotalRevenue(), PeriodandYeartoDatewithPercentofTotalRevenueLbl); + ContosoAccountSchedule.InsertColumnLayoutName(ThisYeartoDatevsPriorYeartoDate(), ThisYeartoDatevsPriorYeartoDateLbl); + end; + + procedure PeriodandYeartoDate(): Code[10] + begin + exit(PeriodandYeartoDateTok); + end; + + procedure PeriodandYeartoDatewithPercentofTotalRevenue(): Code[10] + begin + exit(PeriodandYeartoDatewithPercentofTotalRevenueTok); + end; + + procedure ThisYeartoDatevsPriorYeartoDate(): Code[10] + begin + exit(ThisYeartoDatevsPriorYeartoDateTok); + end; + + var + PeriodandYeartoDateTok: Label 'PTD + YTD', MaxLength = 10; + PeriodandYeartoDatewithPercentofTotalRevenueTok: Label 'PTD+YTD+%', MaxLength = 10; + ThisYeartoDatevsPriorYeartoDateTok: Label 'YTDCOMPARE', MaxLength = 10; + PeriodandYeartoDateLbl: Label 'Period and Year to Date', MaxLength = 80; + PeriodandYeartoDatewithPercentofTotalRevenueLbl: Label 'Period and Year to Date with Percent of Total Revenue', MaxLength = 80; + ThisYeartoDatevsPriorYeartoDateLbl: Label 'This Year to Date vs. Prior Year to Date', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateCurrencyUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateCurrencyUS.Codeunit.al new file mode 100644 index 0000000000..0baec68083 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateCurrencyUS.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 11486 "Create Currency US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Currency, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Currency) + var + CreateCurrency: Codeunit "Create Currency"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + case Rec.Code of + CreateCurrency.CAD(): + ValidateRecordFields(Rec, CreateUSGLAccounts.InterestIncome(), CreateUSGLAccounts.InterestIncome()); + CreateCurrency.EUR(): + ValidateRecordFields(Rec, CreateUSGLAccounts.InterestIncome(), CreateUSGLAccounts.InterestIncome()); + CreateCurrency.MXN(): + ValidateRecordFields(Rec, CreateUSGLAccounts.InterestIncome(), CreateUSGLAccounts.InterestIncome()); + end; + end; + + local procedure ValidateRecordFields(var Currency: Record "Currency"; RealizedGainsAcc: Code[20]; RealizedLossesAcc: Code[20]) + begin + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGenJnlTemplateUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGenJnlTemplateUS.Codeunit.al new file mode 100644 index 0000000000..9867a3f056 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGenJnlTemplateUS.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11482 "Create Gen. Jnl Template US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Template", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Gen. Journal Template") + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + begin + case Rec.Name of + CreateGenJournalTemplate.CashReceipts(): + ValidateRecordFields(Rec, Report::"General Journal - Test", Report::"G/L Register"); + CreateGenJournalTemplate.General(): + ValidateRecordFields(Rec, Report::"General Journal - Test", Report::"G/L Register"); + CreateGenJournalTemplate.InterCompanyGenJnl(): + ValidateRecordFields(Rec, Report::"General Journal - Test", Report::"G/L Register"); + CreateGenJournalTemplate.PaymentJournal(): + ValidateRecordFields(Rec, Report::"Payment Journal - Test", Report::"G/L Register"); + end; + end; + + local procedure ValidateRecordFields(var GenJournalTemplate: Record "Gen. Journal Template"; TestReportID: Integer; PostingReportID: Integer) + begin + GenJournalTemplate.Validate("Test Report ID", TestReportID); + GenJournalTemplate.Validate("Posting Report ID", PostingReportID); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGenJournalBatchUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGenJournalBatchUS.Codeunit.al new file mode 100644 index 0000000000..8dfabf7c78 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGenJournalBatchUS.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11484 "Create Gen. Journal Batch US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Batch", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Gen. Journal Batch") + var + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + if (Rec."Journal Template Name" = CreateGenJournalTemplate.General()) then + case Rec.Name of + CreateGenJournalBatch.General(): + ValidateRecordFields(Rec, CreateUSGLAccounts.BusinessAccountOperatingDomestic()); + CreateGenJournalBatch.Monthly(): + ValidateRecordFields(Rec, CreateUSGLAccounts.BusinessAccountOperatingDomestic()); + end; + if (Rec."Journal Template Name" = CreateGenJournalTemplate.PaymentJournal()) then + case Rec.Name of + CreateGenJournalBatch.Cash(): + ValidateRecordFields(Rec, CreateUSGLAccounts.BusinessAccountOperatingDomestic()); + CreateGenJournalBatch.General(): + ValidateRecordFields(Rec, CreateUSGLAccounts.BusinessAccountOperatingDomestic()); + end; + if Rec."Journal Template Name" = CreateGenJournalTemplate.CashReceipts() then + if Rec.Name = CreateGenJournalBatch.General() then + ValidateRecordFields(Rec, CreateUSGLAccounts.BusinessAccountOperatingDomestic()); + end; + + local procedure ValidateRecordFields(var GenJournalBatch: Record "Gen. Journal Batch"; BalAccountNo: Code[20]) + begin + GenJournalBatch.Validate("Bal. Account No.", BalAccountNo); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupUS.Codeunit.al new file mode 100644 index 0000000000..419fe0e566 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateGeneralLedgerSetupUS.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 11485 "Create General Ledger Setup US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateGeneralLedgerSetup(); + end; + + local procedure UpdateGeneralLedgerSetup() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + // Currency: Record Currency; + CreateCurrency: Codeunit "Create Currency"; + begin + GeneralLedgerSetup.Get(); + + GeneralLedgerSetup.Validate("Adjust for Payment Disc.", true); + GeneralLedgerSetup.Validate("Local Address Format", GeneralLedgerSetup."Local Address Format"::"City+County+Post Code"); + GeneralLedgerSetup.Validate("Local Currency Symbol", ''); + GeneralLedgerSetup.Validate("Local Currency Description", ''); + GeneralLedgerSetup.Validate("LCY Code", CreateCurrency.USD()); + GeneralLedgerSetup.Validate("Max. VAT Difference Allowed", 10); + GeneralLedgerSetup.Validate("Payment Tolerance %", 0.1); + GeneralLedgerSetup.Validate("Max. Payment Tolerance Amount", 1); + // Currency.Get(GeneralLedgerSetup."LCY Code"); + // GeneralLedgerSetup.Validate("Enable Data Check", true); + GeneralLedgerSetup."Unit-Amount Rounding Precision" := 0.001; + // GeneralLedgerSetup.Validate("VAT in Use", false); + // GeneralLedgerSetup.Validate("Send PDF Report", false); + GeneralLedgerSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreatePostingGroupsUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreatePostingGroupsUS.Codeunit.al new file mode 100644 index 0000000000..333b64469e --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreatePostingGroupsUS.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 11480 "Create Posting Groups US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + InsertGenProdPostingGroup(); + InsertGeneralPostingSetup(); + UpdateGeneralPostingSetup(); + end; + + local procedure InsertGenProdPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertGenProductPostingGroup(NoTaxPostingGroup(), NoTaxDescriptionLbl, ''); + end; + + local procedure InsertGeneralPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + ContosoGenPostingSetup.InsertGeneralPostingSetup('', NoTaxPostingGroup(), '', '', CreateUSGLAccounts.CostofMaterials(), CreateUSGLAccounts.GoodsforResale(), CreateUSGLAccounts.GoodsforResale(), '', '', '', '', '', CreateUSGLAccounts.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), NoTaxPostingGroup(), CreateUSGLAccounts.ResaleofGoods(), CreateUSGLAccounts.GoodsforResale(), CreateUSGLAccounts.CostofMaterials(), CreateUSGLAccounts.GoodsforResale(), CreateUSGLAccounts.GoodsforResale(), '', CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.CostofMaterials(), '', ''); + end; + + local procedure UpdateGeneralPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', CreatePostingGroups.RetailPostingGroup(), '', '', CreateUSGLAccounts.CostofMaterials(), CreateUSGLAccounts.GoodsforResale(), CreateUSGLAccounts.GoodsforResale(), '', '', '', '', '', CreateUSGLAccounts.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), CreateUSGLAccounts.ResaleofGoods(), CreateUSGLAccounts.GoodsforResale(), CreateUSGLAccounts.CostofMaterials(), CreateUSGLAccounts.GoodsforResale(), CreateUSGLAccounts.GoodsforResale(), '', CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.CostofMaterials(), '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), CreateUSGLAccounts.SalesofServiceWork(), CreateUSGLAccounts.OtherExternalServices(), CreateUSGLAccounts.CostofLabor(), CreateUSGLAccounts.OtherExternalServices(), CreateUSGLAccounts.OtherExternalServices(), '', CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.CostofLabor(), '', ''); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure NoTaxPostingGroup(): Code[20] + begin + exit(NoTaxTok); + end; + + var + NoTaxTok: Label 'NO TAX', MaxLength = 20; + NoTaxDescriptionLbl: Label 'Miscellaneous without tax', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateUSGLAccounts.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateUSGLAccounts.Codeunit.al new file mode 100644 index 0000000000..0782ee8b3b --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/1.Setup Data/CreateUSGLAccounts.Codeunit.al @@ -0,0 +1,4674 @@ +codeunit 10499 "Create US GL Accounts" +{ + InherentPermissions = X; + InherentEntitlements = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Common GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyCommonGLAccounts() + var + InventorySetup: Record "Inventory Setup"; + CommonGLAccount: Codeunit "Create Common GL Account"; + begin + InventorySetup.Get(); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.CustomerDomesticName(), '15110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.VendorDomesticName(), '22100'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesDomesticName(), '40140'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseDomesticName(), '14140'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.SalesVATStandardName(), ''); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVATStandardName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRawMatName(), '14110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.DirectCostAppliedRetailName(), '14140'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRawMatName(), '14110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.OverheadAppliedRetailName(), '14140'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRawMatName(), '14110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchaseVarianceRetailName(), ''); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.RawMaterialsName(), '14110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.PurchRawMatDomName(), '14110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRawMatName(), '50110'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.InventoryAdjRetailName(), '50110'); + + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResalesName(), '14140'); + ContosoGLAccount.AddAccountForLocalization(CommonGLAccount.ResaleInterimName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Svc GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyServiceGLAccounts() + var + SvcGLAccount: Codeunit "Create Svc GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(SvcGLAccount.ServiceContractSaleName(), '40430'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Mfg GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyManufacturingGLAccounts() + var + MfgGLAccount: Codeunit "Create Mfg GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.DirectCostAppliedCapName(), '50210'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.OverheadAppliedCapName(), '50210'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.PurchaseVarianceCapName(), ''); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MaterialVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapacityVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.SubcontractedVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.CapOverheadVarianceName(), ''); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.MfgOverheadVarianceName(), ''); + + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.FinishedGoodsName(), '14130'); + ContosoGLAccount.AddAccountForLocalization(MfgGLAccount.WIPAccountFinishedGoodsName(), '14210'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create FA GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyFixedAssetGLAccounts() + var + FAGLAccount: Codeunit "Create FA GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.IncreasesDuringTheYearName(), '12210'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DecreasesDuringTheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.AccumDepreciationBuildingsName(), '17200'); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(FAGLAccount.GainsAndLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(DepreciationFixedAssetsName(), '82000'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '11300'); + ContosoGLAccount.AddAccountForLocalization(BuildingName(), '12110'); + ContosoGLAccount.AddAccountForLocalization(DepreciationLandandPropertyName(), '81000'); + ContosoGLAccount.AddAccountForLocalization(LandName(), '12130'); + ContosoGLAccount.AddAccountForLocalization(CarsandOtherTransportEquipmentsName(), '12230'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create HR GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyHumanResourcesGLAccounts() + var + HRGLAccount: Codeunit "Create HR GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(HRGLAccount.EmployeesPayableName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Job GL Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyJobGLAccounts() + var + JobGLAccount: Codeunit "Create Job GL Account"; + begin + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPInvoicedSalesName(), '14250'); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.WIPJobCostsName(), '14230'); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobSalesAppliedName(), ''); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedSalesName(), ''); + + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.JobCostsAppliedName(), ''); + ContosoGLAccount.AddAccountForLocalization(JobGLAccount.RecognizedCostsName(), ''); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create G/L Account", 'OnAfterAddGLAccountsForLocalization', '', false, false)] + local procedure ModifyGLAccountforUS() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BALANCESHEETName(), '10000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ASSETSName(), '10001'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsName(), '12000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsName(), '14130'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsName(), '14110'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobSalesName(), '14220'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPJobCostsName(), '14230'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BondsName(), '17100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALASSETSName(), '19999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesName(), '72140'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesName(), '21000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesName(), '22600'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalLiabilitiesName(), '29999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.INCOMESTATEMENTName(), '40000'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofResourcesName(), '40200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesName(), '40410'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OfficeSuppliesName(), '64100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdvertisingName(), '63100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehicleExpensesName(), '62100'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalariesName(), '71100'); + ContosoGLAccount.AddAccountForLocalization(InterestIncomeName(), '40330'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoiceRoundingName(), '40920'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestExpensesName(), '67200'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEName(), '99999'); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceExpenseName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LandandBuildingsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDeprOperEquipName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingEquipmentTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.IncreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DecreasesduringtheYearVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccumDepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TangibleFixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FixedAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ResaleItemsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResaleSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinishedGoodsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RawMaterialsInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMatSoldInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PrimoInventoryName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvoicedJobSalesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPSalesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedJobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WIPCostsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobWIPTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomersForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccruedInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherReceivablesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsReceivableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchasePrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SecuritiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankLCYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BankCurrenciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GiroAccountName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiquidAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CurrentAssetsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.StockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CapitalStockName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetainedEarningsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetIncomefortheYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalStockholderName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeferredTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AllowancesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LongtermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT0Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CustomerPrepaymentsVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesPrepaymentsTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsDomesticName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VendorsForeignName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AccountsPayableTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InvAdjmtInterimTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10EUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT25Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchaseVAT10Name(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FuelTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NaturalGasTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CoalTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CO2TaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WaterTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VATTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WithholdingTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SupplementaryTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EmployeesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelrelatedItemsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DividendsfortheFiscalYearName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxesPayableName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ShorttermLiabilitiesTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TOTALLIABILITIESANDEQUITYName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesResourcesExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobSalesAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SalesOtherJobExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSalesofJobsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultingFeesDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FeesandChargesRecDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscountGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalRevenueName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRetailExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRetailSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRetailName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsDomName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsEUName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PurchRawMaterialsExportName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DiscReceivedRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InventoryAdjmtRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedRawMatName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofRawMaterialsSoldName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofRawMaterialsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAppliedResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostAdjmtResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CostofResourcesUsedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostofResourcesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.JobCostsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalCostName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BuildingMaintenanceExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CleaningName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ElectricityandHeatingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalBldgMaintExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.AdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PhoneandFaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PostageName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalAdministrativeExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SoftwareName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ConsultantServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalComputerExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.SellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.EntertainmentandPRName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TravelName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DeliveryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalSellingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GasolineandMotorOilName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RegistrationFeesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RepairsandMaintenanceName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalVehicleExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashDiscrepanciesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.BadDebtExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.LegalandAccountingServicesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MiscellaneousName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherOperatingExpTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalOperatingExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.WagesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RetirementPlanContributionsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VacationCompensationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PayrollTaxesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalPersonnelExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationofFixedAssetsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationBuildingsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationEquipmentName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.DepreciationVehiclesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.GainsandLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalFixedAssetDepreciationName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.OtherCostsofOperationsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NetOperatingIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankBalancesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargesfromCustomersName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ApplicationRoundingName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceReceivedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolReceivedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonRevolvingCreditName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.InterestonBankLoansName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.MortgageInterestName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.FinanceChargestoVendorsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentDiscountsGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtDiscGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PaymentToleranceGrantedName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.PmtTolGrantedDecreasesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.TotalInterestExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.UnrealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXGainsName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.RealizedFXLossesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NIBEFOREEXTRITEMSTAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryIncomeName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.ExtraordinaryExpensesName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.NETINCOMEBEFORETAXESName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CorporateTaxName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.VehiclesBeginTotalName(), ''); + ContosoGLAccount.AddAccountForLocalization(CreateGLAccount.CashName(), '18100'); + ContosoGLAccount.AddAccountForLocalization(CostofMaterialsName(), '50110'); + ContosoGLAccount.AddAccountForLocalization(ResaleofGoodsName(), '40140'); + ContosoGLAccount.AddAccountForLocalization(SalesofServiceWorkName(), '40440'); + ContosoGLAccount.AddAccountForLocalization(DiscountsandAllowancesName(), '40910'); + ContosoGLAccount.AddAccountForLocalization(OtherExternalServicesName(), '68190'); + ContosoGLAccount.AddAccountForLocalization(PurchaseDiscountsName(), '68290'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborName(), '50210'); + ContosoGLAccount.AddAccountForLocalization(PayableInvoiceRoundingName(), '67300'); + ContosoGLAccount.AddAccountForLocalization(IncomeName(), '40001'); + ContosoGLAccount.AddAccountForLocalization(SalesofGoodsName(), '40100'); + ContosoGLAccount.AddAccountForLocalization(SaleofFinishedGoodsName(), '40130'); + ContosoGLAccount.AddAccountForLocalization(SaleofRawMaterialsName(), '40110'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofGoodsName(), '40199'); + ContosoGLAccount.AddAccountForLocalization(SaleofResourcesName(), '40210'); + ContosoGLAccount.AddAccountForLocalization(SaleofSubcontractingName(), '40220'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofResourcesName(), '40299'); + ContosoGLAccount.AddAccountForLocalization(AdditionalRevenueName(), '40300'); + ContosoGLAccount.AddAccountForLocalization(IncomeFromSecuritiesName(), '40310'); + ContosoGLAccount.AddAccountForLocalization(ManagementFeeRevenueName(), '40320'); + ContosoGLAccount.AddAccountForLocalization(CurrencyGainsName(), '40380'); + ContosoGLAccount.AddAccountForLocalization(OtherIncidentalRevenueName(), '40390'); + ContosoGLAccount.AddAccountForLocalization(TotalAdditionalRevenueName(), '40399'); + ContosoGLAccount.AddAccountForLocalization(JobsandServicesName(), '40400'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedName(), '40420'); + ContosoGLAccount.AddAccountForLocalization(SalesofServiceContractsName(), '40430'); + ContosoGLAccount.AddAccountForLocalization(TotalJobsandServicesName(), '40499'); + ContosoGLAccount.AddAccountForLocalization(RevenueReductionsName(), '40900'); + ContosoGLAccount.AddAccountForLocalization(SalesDiscountsName(), '40910'); + ContosoGLAccount.AddAccountForLocalization(SalesInvoiceRoundingName(), '40920'); + ContosoGLAccount.AddAccountForLocalization(PaymentToleranceandAllowancesName(), '40930'); + ContosoGLAccount.AddAccountForLocalization(SalesReturnsName(), '40940'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenueReductionsName(), '40999'); + ContosoGLAccount.AddAccountForLocalization(TotalIncomeName(), '49990'); + ContosoGLAccount.AddAccountForLocalization(CostofGoodsSoldName(), '50001'); + ContosoGLAccount.AddAccountForLocalization(CostofGoodsName(), '50100'); + ContosoGLAccount.AddAccountForLocalization(CostofMaterialsProjectsName(), '50120'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofGoodsName(), '50199'); + ContosoGLAccount.AddAccountForLocalization(CostofResourcesandServicesName(), '50200'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborProjectsName(), '50220'); + ContosoGLAccount.AddAccountForLocalization(CostofLaborWarrantyContractName(), '50230'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofResourcesName(), '50299'); + ContosoGLAccount.AddAccountForLocalization(SubcontractedWorkName(), '50400'); + ContosoGLAccount.AddAccountForLocalization(CostofVariancesName(), '50500'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofGoodsSoldName(), '59990'); + ContosoGLAccount.AddAccountForLocalization(ExpensesName(), '60001'); + ContosoGLAccount.AddAccountForLocalization(FacilityExpensesName(), '60002'); + ContosoGLAccount.AddAccountForLocalization(RentalFacilitiesName(), '60100'); + ContosoGLAccount.AddAccountForLocalization(RentLeasesName(), '60110'); + ContosoGLAccount.AddAccountForLocalization(ElectricityforRentalName(), '60120'); + ContosoGLAccount.AddAccountForLocalization(HeatingforRentalName(), '60130'); + ContosoGLAccount.AddAccountForLocalization(WaterandSewerageforRentalName(), '60140'); + ContosoGLAccount.AddAccountForLocalization(CleaningandWasteforRentalName(), '60150'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceforRentalName(), '60160'); + ContosoGLAccount.AddAccountForLocalization(InsurancesRentalName(), '60170'); + ContosoGLAccount.AddAccountForLocalization(OtherRentalExpensesName(), '60190'); + ContosoGLAccount.AddAccountForLocalization(TotalRentalFacilitiesName(), '60199'); + ContosoGLAccount.AddAccountForLocalization(PropertyExpensesName(), '60200'); + ContosoGLAccount.AddAccountForLocalization(SiteFeesLeasesName(), '60210'); + ContosoGLAccount.AddAccountForLocalization(ElectricityforPropertyName(), '60220'); + ContosoGLAccount.AddAccountForLocalization(HeatingforPropertyName(), '60230'); + ContosoGLAccount.AddAccountForLocalization(WaterandSewerageforPropertyName(), '60240'); + ContosoGLAccount.AddAccountForLocalization(CleaningandWasteforPropertyName(), '60250'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceforPropertyName(), '60260'); + ContosoGLAccount.AddAccountForLocalization(InsurancesPropertyName(), '60270'); + ContosoGLAccount.AddAccountForLocalization(OtherPropertyExpensesName(), '60290'); + ContosoGLAccount.AddAccountForLocalization(TotalPropertyExpensesName(), '60299'); + ContosoGLAccount.AddAccountForLocalization(TotalFacilityExpensesName(), '60999'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsLeasesName(), '61000'); + ContosoGLAccount.AddAccountForLocalization(HireofMachineryName(), '61100'); + ContosoGLAccount.AddAccountForLocalization(HireofComputersName(), '61200'); + ContosoGLAccount.AddAccountForLocalization(HireofOtherFixedAssetsName(), '61300'); + ContosoGLAccount.AddAccountForLocalization(TotalFixedAssetLeasesName(), '61999'); + ContosoGLAccount.AddAccountForLocalization(LogisticsExpensesName(), '62000'); + ContosoGLAccount.AddAccountForLocalization(PassengerCarCostsName(), '62110'); + ContosoGLAccount.AddAccountForLocalization(TruckCostsName(), '62120'); + ContosoGLAccount.AddAccountForLocalization(OtherVehicleExpensesName(), '62190'); + ContosoGLAccount.AddAccountForLocalization(TotalVehicleExpensesName(), '62199'); + ContosoGLAccount.AddAccountForLocalization(FreightCostsName(), '62200'); + ContosoGLAccount.AddAccountForLocalization(FreightFeesForGoodsName(), '62210'); + ContosoGLAccount.AddAccountForLocalization(CustomsandForwardingName(), '62220'); + ContosoGLAccount.AddAccountForLocalization(FreightFeesProjectsName(), '62230'); + ContosoGLAccount.AddAccountForLocalization(TotalFreightCostsName(), '62299'); + ContosoGLAccount.AddAccountForLocalization(TravelExpensesName(), '62300'); + ContosoGLAccount.AddAccountForLocalization(TicketsName(), '62310'); + ContosoGLAccount.AddAccountForLocalization(RentalVehiclesName(), '62320'); + ContosoGLAccount.AddAccountForLocalization(BoardandLodgingName(), '62330'); + ContosoGLAccount.AddAccountForLocalization(OtherTravelExpensesName(), '62340'); + ContosoGLAccount.AddAccountForLocalization(TotalTravelExpensesName(), '62399'); + ContosoGLAccount.AddAccountForLocalization(TotalLogisticsExpensesName(), '62999'); + ContosoGLAccount.AddAccountForLocalization(MarketingandSalesName(), '63000'); + ContosoGLAccount.AddAccountForLocalization(AdvertisementDevelopmentName(), '63110'); + ContosoGLAccount.AddAccountForLocalization(OutdoorandTransportationAdsName(), '63120'); + ContosoGLAccount.AddAccountForLocalization(AdMatterandDirectMailingsName(), '63130'); + ContosoGLAccount.AddAccountForLocalization(ConferenceExhibitionSponsorshipName(), '63140'); + ContosoGLAccount.AddAccountForLocalization(SamplesContestsGiftsName(), '63150'); + ContosoGLAccount.AddAccountForLocalization(FilmTVRadioInternetAdsName(), '63160'); + ContosoGLAccount.AddAccountForLocalization(PRandAgencyFeesName(), '63170'); + ContosoGLAccount.AddAccountForLocalization(OtherAdvertisingFeesName(), '63190'); + ContosoGLAccount.AddAccountForLocalization(TotalAdvertisingName(), '63199'); + ContosoGLAccount.AddAccountForLocalization(OtherMarketingExpensesName(), '63200'); + ContosoGLAccount.AddAccountForLocalization(CatalogsPriceListsName(), '63210'); + ContosoGLAccount.AddAccountForLocalization(TradePublicationsName(), '63220'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherMarketingExpensesName(), '63399'); + ContosoGLAccount.AddAccountForLocalization(SalesExpensesName(), '63400'); + ContosoGLAccount.AddAccountForLocalization(CreditCardChargesName(), '63410'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingDeductibleName(), '63420'); + ContosoGLAccount.AddAccountForLocalization(BusinessEntertainingNonDeductibleName(), '63430'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesExpensesName(), '63499'); + ContosoGLAccount.AddAccountForLocalization(TotalMarketingandSalesName(), '63999'); + ContosoGLAccount.AddAccountForLocalization(OfficeExpensesName(), '64000'); + ContosoGLAccount.AddAccountForLocalization(PhoneServicesName(), '64200'); + ContosoGLAccount.AddAccountForLocalization(DataServicesName(), '64300'); + ContosoGLAccount.AddAccountForLocalization(PostalFeesName(), '64400'); + ContosoGLAccount.AddAccountForLocalization(ConsumableExpensibleHardwareName(), '64500'); + ContosoGLAccount.AddAccountForLocalization(SoftwareandSubscriptionFeesName(), '64600'); + ContosoGLAccount.AddAccountForLocalization(TotalOfficeExpensesName(), '64999'); + ContosoGLAccount.AddAccountForLocalization(InsurancesandRisksName(), '65000'); + ContosoGLAccount.AddAccountForLocalization(CorporateInsuranceName(), '65100'); + ContosoGLAccount.AddAccountForLocalization(DamagesPaidName(), '65200'); + ContosoGLAccount.AddAccountForLocalization(BadDebtLossesName(), '65300'); + ContosoGLAccount.AddAccountForLocalization(SecurityServicesName(), '65400'); + ContosoGLAccount.AddAccountForLocalization(OtherRiskExpensesName(), '65900'); + ContosoGLAccount.AddAccountForLocalization(TotalInsurancesandRisksName(), '65999'); + ContosoGLAccount.AddAccountForLocalization(ManagementandAdminName(), '66000'); + ContosoGLAccount.AddAccountForLocalization(ManagementName(), '66100'); + ContosoGLAccount.AddAccountForLocalization(RemunerationtoDirectorsName(), '66110'); + ContosoGLAccount.AddAccountForLocalization(ManagementFeesName(), '66120'); + ContosoGLAccount.AddAccountForLocalization(AnnualInterrimReportsName(), '66130'); + ContosoGLAccount.AddAccountForLocalization(AnnualGeneralMeetingName(), '66140'); + ContosoGLAccount.AddAccountForLocalization(AuditandAuditServicesName(), '66150'); + ContosoGLAccount.AddAccountForLocalization(TaxAdvisoryServicesName(), '66160'); + ContosoGLAccount.AddAccountForLocalization(TotalManagementFeesName(), '66199'); + ContosoGLAccount.AddAccountForLocalization(TotalManagementandAdminName(), '66999'); + ContosoGLAccount.AddAccountForLocalization(BankingandInterestName(), '67000'); + ContosoGLAccount.AddAccountForLocalization(BankingFeesName(), '67100'); + ContosoGLAccount.AddAccountForLocalization(TotalBankingandInterestName(), '67999'); + ContosoGLAccount.AddAccountForLocalization(ExternalServicesExpensesName(), '68000'); + ContosoGLAccount.AddAccountForLocalization(ExternalServicesName(), '68100'); + ContosoGLAccount.AddAccountForLocalization(AccountingServicesName(), '68110'); + ContosoGLAccount.AddAccountForLocalization(ITServicesName(), '68120'); + ContosoGLAccount.AddAccountForLocalization(MediaServicesName(), '68130'); + ContosoGLAccount.AddAccountForLocalization(ConsultingServicesName(), '68140'); + ContosoGLAccount.AddAccountForLocalization(LegalFeesandAttorneyServicesName(), '68150'); + ContosoGLAccount.AddAccountForLocalization(TotalExternalServicesName(), '68199'); + ContosoGLAccount.AddAccountForLocalization(OtherExternalExpensesName(), '68200'); + ContosoGLAccount.AddAccountForLocalization(LicenseFeesRoyaltiesName(), '68210'); + ContosoGLAccount.AddAccountForLocalization(TrademarksPatentsName(), '68220'); + ContosoGLAccount.AddAccountForLocalization(AssociationFeesName(), '68230'); + ContosoGLAccount.AddAccountForLocalization(MiscExternalExpensesName(), '68280'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherExternalExpensesName(), '68299'); + ContosoGLAccount.AddAccountForLocalization(TotalExternalServicesExpensesName(), '68999'); + ContosoGLAccount.AddAccountForLocalization(PersonnelName(), '70000'); + ContosoGLAccount.AddAccountForLocalization(WagesandSalariesName(), '71000'); + ContosoGLAccount.AddAccountForLocalization(HourlyWagesName(), '71110'); + ContosoGLAccount.AddAccountForLocalization(OvertimeWagesName(), '71120'); + ContosoGLAccount.AddAccountForLocalization(BonusesName(), '71130'); + ContosoGLAccount.AddAccountForLocalization(CommissionsPaidName(), '71140'); + ContosoGLAccount.AddAccountForLocalization(PTOAccruedName(), '71150'); + ContosoGLAccount.AddAccountForLocalization(TotalWagesandSalariesName(), '71999'); + ContosoGLAccount.AddAccountForLocalization(BenefitsPensionName(), '72000'); + ContosoGLAccount.AddAccountForLocalization(BenefitsName(), '72100'); + ContosoGLAccount.AddAccountForLocalization(TrainingCostsName(), '72110'); + ContosoGLAccount.AddAccountForLocalization(HealthCareContributionsName(), '72120'); + ContosoGLAccount.AddAccountForLocalization(EntertainmentofPersonnelName(), '72130'); + ContosoGLAccount.AddAccountForLocalization(MandatoryClothingExpensesName(), '72150'); + ContosoGLAccount.AddAccountForLocalization(OtherCashRemunerationBenefitsName(), '72160'); + ContosoGLAccount.AddAccountForLocalization(TotalBenefitsName(), '72199'); + ContosoGLAccount.AddAccountForLocalization(PensionName(), '72200'); + ContosoGLAccount.AddAccountForLocalization(PensionFeesandRecurringCostsName(), '72210'); + ContosoGLAccount.AddAccountForLocalization(EmployerContributionsName(), '72220'); + ContosoGLAccount.AddAccountForLocalization(TotalPensionName(), '72299'); + ContosoGLAccount.AddAccountForLocalization(TotalBenefitsPensionName(), '72999'); + ContosoGLAccount.AddAccountForLocalization(InsurancesPersonnelName(), '73000'); + ContosoGLAccount.AddAccountForLocalization(HealthInsuranceName(), '73100'); + ContosoGLAccount.AddAccountForLocalization(DentalInsuranceName(), '73200'); + ContosoGLAccount.AddAccountForLocalization(WorkersCompensationName(), '73300'); + ContosoGLAccount.AddAccountForLocalization(LifeInsuranceName(), '73400'); + ContosoGLAccount.AddAccountForLocalization(TotalInsurancesPersonnelName(), '73999'); + ContosoGLAccount.AddAccountForLocalization(PersonnelTaxesName(), '74000'); + ContosoGLAccount.AddAccountForLocalization(FederalPersonnelTaxesName(), '74100'); + ContosoGLAccount.AddAccountForLocalization(FederalWithholdingExpenseName(), '74110'); + ContosoGLAccount.AddAccountForLocalization(FICAExpenseName(), '74120'); + ContosoGLAccount.AddAccountForLocalization(FUTAExpenseName(), '74130'); + ContosoGLAccount.AddAccountForLocalization(MedicareExpenseName(), '74140'); + ContosoGLAccount.AddAccountForLocalization(OtherFederalExpenseName(), '74190'); + ContosoGLAccount.AddAccountForLocalization(TotalFederalPersonnelTaxesName(), '74399'); + ContosoGLAccount.AddAccountForLocalization(StatePersonnelTaxesName(), '74400'); + ContosoGLAccount.AddAccountForLocalization(StateWithholdingExpenseName(), '74410'); + ContosoGLAccount.AddAccountForLocalization(SUTAExpenseName(), '74420'); + ContosoGLAccount.AddAccountForLocalization(TotalStatePersonnelTaxesName(), '74599'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelTaxesName(), '74999'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelName(), '79999'); + ContosoGLAccount.AddAccountForLocalization(DepreciationName(), '80000'); + ContosoGLAccount.AddAccountForLocalization(DepreciationLandandPropertyName(), '81000'); + ContosoGLAccount.AddAccountForLocalization(DepreciationFixedAssetsName(), '82000'); + ContosoGLAccount.AddAccountForLocalization(TotalDepreciationName(), '89999'); + ContosoGLAccount.AddAccountForLocalization(MiscExpensesName(), '90000'); + ContosoGLAccount.AddAccountForLocalization(CurrencyLossesName(), '91000'); + ContosoGLAccount.AddAccountForLocalization(TotalMiscExpensesName(), '91999'); + ContosoGLAccount.AddAccountForLocalization(TotalExpensesName(), '98990'); + ContosoGLAccount.AddAccountForLocalization(IntangibleFixedAssetsName(), '11000'); + ContosoGLAccount.AddAccountForLocalization(DevelopmentExpenditureName(), '11100'); + ContosoGLAccount.AddAccountForLocalization(TenancySiteLeaseHoldandSimilarRightsName(), '11200'); + ContosoGLAccount.AddAccountForLocalization(GoodwillName(), '11300'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsforIntangibleFixedAssetsName(), '11400'); + ContosoGLAccount.AddAccountForLocalization(TotalIntangibleFixedAssetsName(), '11999'); + ContosoGLAccount.AddAccountForLocalization(LandandBuildingsName(), '12100'); + ContosoGLAccount.AddAccountForLocalization(BuildingName(), '12110'); + ContosoGLAccount.AddAccountForLocalization(CostofImprovementstoLeasedPropertyName(), '12120'); + ContosoGLAccount.AddAccountForLocalization(LandName(), '12130'); + ContosoGLAccount.AddAccountForLocalization(TotalLandandbuildingName(), '12199'); + ContosoGLAccount.AddAccountForLocalization(MachineryandEquipmentName(), '12200'); + ContosoGLAccount.AddAccountForLocalization(EquipmentsandToolsName(), '12210'); + ContosoGLAccount.AddAccountForLocalization(ComputersName(), '12220'); + ContosoGLAccount.AddAccountForLocalization(CarsandOtherTransportEquipmentsName(), '12230'); + ContosoGLAccount.AddAccountForLocalization(LeasedAssetsName(), '12240'); + ContosoGLAccount.AddAccountForLocalization(TotalMachineryandEquipmentName(), '12299'); + ContosoGLAccount.AddAccountForLocalization(AccumulatedDepreciationName(), '12900'); + ContosoGLAccount.AddAccountForLocalization(TotalTangibleAssetsName(), '12999'); + ContosoGLAccount.AddAccountForLocalization(FinancialandFixedAssetsName(), '13000'); + ContosoGLAccount.AddAccountForLocalization(LongTermReceivablesName(), '13100'); + ContosoGLAccount.AddAccountForLocalization(ParticipationinGroupCompaniesName(), '13200'); + ContosoGLAccount.AddAccountForLocalization(LoanstoPartnersorRelatedPartiesName(), '13300'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxAssetsName(), '13400'); + ContosoGLAccount.AddAccountForLocalization(OtherLongTermReceivablesName(), '13500'); + ContosoGLAccount.AddAccountForLocalization(TotalFinancialandFixedAssetsName(), '13999'); + ContosoGLAccount.AddAccountForLocalization(InventoriesProductsandWorkinProgressName(), '14000'); + ContosoGLAccount.AddAccountForLocalization(SuppliesandConsumablesName(), '14100'); + ContosoGLAccount.AddAccountForLocalization(ProductsinProgressName(), '14120'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsName(), '14130'); + ContosoGLAccount.AddAccountForLocalization(GoodsforResaleName(), '14140'); + ContosoGLAccount.AddAccountForLocalization(AdvancedPaymentsforGoodsandServicesName(), '14160'); + ContosoGLAccount.AddAccountForLocalization(OtherInventoryItemsName(), '14170'); + ContosoGLAccount.AddAccountForLocalization(WorkinProgressName(), '14200'); + ContosoGLAccount.AddAccountForLocalization(WorkinProgressFinishedGoodsName(), '14210'); + ContosoGLAccount.AddAccountForLocalization(WIPAccruedCostsName(), '14240'); + ContosoGLAccount.AddAccountForLocalization(WIPInvoicedSalesName(), '14250'); + ContosoGLAccount.AddAccountForLocalization(TotalWorkinProgressName(), '14299'); + ContosoGLAccount.AddAccountForLocalization(ReceivablesName(), '15000'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivablesName(), '15100'); + ContosoGLAccount.AddAccountForLocalization(AccountReceivableDomesticName(), '15110'); + ContosoGLAccount.AddAccountForLocalization(AccountReceivableForeignName(), '15120'); + ContosoGLAccount.AddAccountForLocalization(ContractualReceivablesName(), '15130'); + ContosoGLAccount.AddAccountForLocalization(ConsignmentReceivablesName(), '15140'); + ContosoGLAccount.AddAccountForLocalization(CreditcardsandVouchersReceivablesName(), '15150'); + ContosoGLAccount.AddAccountForLocalization(TotalAccountReceivablesName(), '15199'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentReceivablesName(), '15900'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivablefromEmployeesName(), '15910'); + ContosoGLAccount.AddAccountForLocalization(AccruedincomenotYetInvoicedName(), '15920'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountsforTaxesandChargesName(), '15930'); + ContosoGLAccount.AddAccountForLocalization(TaxAssetsName(), '15940'); + ContosoGLAccount.AddAccountForLocalization(CurrentReceivablesFromGroupCompaniesName(), '15950'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherCurrentReceivablesName(), '15998'); + ContosoGLAccount.AddAccountForLocalization(TotalReceivablesName(), '15999'); + ContosoGLAccount.AddAccountForLocalization(PrepaidexpensesandAccruedIncomeName(), '16000'); + ContosoGLAccount.AddAccountForLocalization(PrepaidRentName(), '16100'); + ContosoGLAccount.AddAccountForLocalization(PrepaidInterestExpenseName(), '16200'); + ContosoGLAccount.AddAccountForLocalization(AccruedRentalIncomeName(), '16300'); + ContosoGLAccount.AddAccountForLocalization(AccruedInterestIncomeName(), '16400'); + ContosoGLAccount.AddAccountForLocalization(AssetsInFormOfPrepaidExpensesName(), '16500'); + ContosoGLAccount.AddAccountForLocalization(OtherPrepaidExpensesAndAccruedIncomeName(), '16600'); + ContosoGLAccount.AddAccountForLocalization(TotalPrepaidExpensesAndAccruedIncomeName(), '16999'); + ContosoGLAccount.AddAccountForLocalization(ShortTermInvestmentsName(), '17000'); + ContosoGLAccount.AddAccountForLocalization(ConvertibleDebtInstrumentsName(), '17200'); + ContosoGLAccount.AddAccountForLocalization(OtherShortTermInvestmentsName(), '17300'); + ContosoGLAccount.AddAccountForLocalization(WriteDownofShortTermInvestmentsName(), '17400'); + ContosoGLAccount.AddAccountForLocalization(TotalShortTermInvestmentsName(), '17999'); + ContosoGLAccount.AddAccountForLocalization(CashandBankName(), '18000'); + ContosoGLAccount.AddAccountForLocalization(BusinessAccountOperatingDomesticName(), '18200'); + ContosoGLAccount.AddAccountForLocalization(BusinessAccountOperatingForeignName(), '18300'); + ContosoGLAccount.AddAccountForLocalization(OtherBankAccountsName(), '18400'); + ContosoGLAccount.AddAccountForLocalization(CertificateofDepositName(), '18500'); + ContosoGLAccount.AddAccountForLocalization(TotalCashandBankName(), '18999'); + ContosoGLAccount.AddAccountForLocalization(LiabilityName(), '20000'); + ContosoGLAccount.AddAccountForLocalization(BondsandDebentureLoansName(), '21100'); + ContosoGLAccount.AddAccountForLocalization(ConvertiblesLoansName(), '21200'); + ContosoGLAccount.AddAccountForLocalization(OtherLongTermLiabilitiesName(), '21300'); + ContosoGLAccount.AddAccountForLocalization(BankOverdraftFacilitiesName(), '21400'); + ContosoGLAccount.AddAccountForLocalization(TotalLongTermLiabilitiesName(), '21999'); + ContosoGLAccount.AddAccountForLocalization(CurrentLiabilitiesName(), '22000'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableDomesticName(), '22100'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableForeignName(), '22200'); + ContosoGLAccount.AddAccountForLocalization(AdvancesfromcustomersName(), '22300'); + ContosoGLAccount.AddAccountForLocalization(ChangeinWorkinProgressName(), '22400'); + ContosoGLAccount.AddAccountForLocalization(BankOverdraftShortTermName(), '22500'); + ContosoGLAccount.AddAccountForLocalization(TotalCurrentLiabilitiesName(), '22999'); + ContosoGLAccount.AddAccountForLocalization(TaxLiabilitiesName(), '23000'); + ContosoGLAccount.AddAccountForLocalization(SalesTaxVATLiableName(), '23100'); + ContosoGLAccount.AddAccountForLocalization(TaxesLiableName(), '23200'); + ContosoGLAccount.AddAccountForLocalization(EstimatedIncomeTaxName(), '23300'); + ContosoGLAccount.AddAccountForLocalization(EstimatedPayrolltaxonPensionCostsName(), '23500'); + ContosoGLAccount.AddAccountForLocalization(TotalTaxLiabilitiesName(), '23999'); + ContosoGLAccount.AddAccountForLocalization(PayrollLiabilitiesName(), '24000'); + ContosoGLAccount.AddAccountForLocalization(EmployeesWithholdingTaxesName(), '24100'); + ContosoGLAccount.AddAccountForLocalization(StatutorySocialsecurityContributionsName(), '24200'); + ContosoGLAccount.AddAccountForLocalization(ContractualSocialSecurityContributionsName(), '24300'); + ContosoGLAccount.AddAccountForLocalization(AttachmentsofEarningName(), '24400'); + ContosoGLAccount.AddAccountForLocalization(HolidayPayfundName(), '24500'); + ContosoGLAccount.AddAccountForLocalization(OtherSalaryWageDeductionsName(), '24600'); + ContosoGLAccount.AddAccountForLocalization(TotalPayrollLiabilitiesName(), '24999'); + ContosoGLAccount.AddAccountForLocalization(OtherCurrentLiabilitiesName(), '25000'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountforFactoringCurrentPortionName(), '25100'); + ContosoGLAccount.AddAccountForLocalization(CurrentLiabilitiestoEmployeesName(), '25200'); + ContosoGLAccount.AddAccountForLocalization(ClearingAccountforThirdPartyName(), '25300'); + ContosoGLAccount.AddAccountForLocalization(CurrentLoansName(), '25400'); + ContosoGLAccount.AddAccountForLocalization(LiabilitiesGrantsReceivedName(), '25500'); + ContosoGLAccount.AddAccountForLocalization(TotalOtherCurrentLiabilitiesName(), '25999'); + ContosoGLAccount.AddAccountForLocalization(AccruedExpensesandDeferredIncomeName(), '26000'); + ContosoGLAccount.AddAccountForLocalization(AccruedWagesSalariesName(), '26100'); + ContosoGLAccount.AddAccountForLocalization(AccruedHolidayPayName(), '26200'); + ContosoGLAccount.AddAccountForLocalization(AccruedPensionCostsName(), '26300'); + ContosoGLAccount.AddAccountForLocalization(AccruedInterestExpenseName(), '26400'); + ContosoGLAccount.AddAccountForLocalization(DeferredIncomeName(), '26500'); + ContosoGLAccount.AddAccountForLocalization(AccruedContractualCostsName(), '26600'); + ContosoGLAccount.AddAccountForLocalization(OtherAccruedExpensesandDeferredIncomeName(), '26700'); + ContosoGLAccount.AddAccountForLocalization(TotalAccruedExpensesandDeferredIncomeName(), '26999'); + ContosoGLAccount.AddAccountForLocalization(EquityName(), '30000'); + ContosoGLAccount.AddAccountForLocalization(EquityPartnerName(), '30100'); + ContosoGLAccount.AddAccountForLocalization(NetResultsName(), '30110'); + ContosoGLAccount.AddAccountForLocalization(RestrictedEquityName(), '30111'); + ContosoGLAccount.AddAccountForLocalization(ShareCapitalName(), '30200'); + ContosoGLAccount.AddAccountForLocalization(NonRestrictedEquityName(), '30210'); + ContosoGLAccount.AddAccountForLocalization(ProfitorLossFromthePreviousYearName(), '30300'); + ContosoGLAccount.AddAccountForLocalization(ResultsfortheFinancialYearName(), '30310'); + ContosoGLAccount.AddAccountForLocalization(DistributionstoShareholdersName(), '30320'); + ContosoGLAccount.AddAccountForLocalization(TotalEquityName(), '39999'); + + CreateGLAccountForLocalization(); + end; + + local procedure CreateGLAccountForLocalization() + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGLAccount.InsertGLAccount(CreateGLAccount.BalanceSheet(), CreateGLAccount.BalanceSheetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DiscountsandAllowances(), DiscountsandAllowancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(IntangibleFixedAssets(), IntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DevelopmentExpenditure(), DevelopmentExpenditureName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TenancySiteLeaseHoldandSimilarRights(), TenancySiteLeaseHoldandSimilarRightsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Goodwill(), GoodwillName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsforIntangibleFixedAssets(), AdvancedPaymentsforIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalIntangibleFixedAssets(), TotalIntangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, IntangibleFixedAssets() + '..' + TotalIntangibleFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LandandBuildings(), LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Building(), BuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofImprovementstoLeasedProperty(), CostofImprovementstoLeasedPropertyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Land(), LandName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalLandandbuilding(), TotalLandandbuildingName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, LandandBuildings() + '..' + TotalLandandbuilding(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MachineryandEquipment(), MachineryandEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquipmentsandTools(), EquipmentsandToolsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Computers(), ComputersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CarsandOtherTransportEquipments(), CarsandOtherTransportEquipmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LeasedAssets(), LeasedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMachineryandEquipment(), TotalMachineryandEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, MachineryandEquipment() + '..' + TotalMachineryandEquipment(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccumulatedDepreciation(), AccumulatedDepreciationName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTangibleAssets(), TotalTangibleAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.TangibleFixedAssets() + '..' + TotalTangibleAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinancialandFixedAssets(), FinancialandFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongTermReceivables(), LongTermReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ParticipationinGroupCompanies(), ParticipationinGroupCompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LoanstoPartnersorRelatedParties(), LoanstoPartnersorRelatedPartiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredTaxAssets(), DeferredTaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLongTermReceivables(), OtherLongTermReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFinancialandFixedAssets(), TotalFinancialandFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, FinancialandFixedAssets() + '..' + TotalFinancialandFixedAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoriesProductsandWorkinProgress(), InventoriesProductsandWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SuppliesandConsumables(), SuppliesandConsumablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProductsinProgress(), ProductsinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GoodsforResale(), GoodsforResaleName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvancedPaymentsforGoodsandServices(), AdvancedPaymentsforGoodsandServicesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherInventoryItems(), OtherInventoryItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkinProgress(), WorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WorkinProgressFinishedGoods(), WorkinProgressFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPAccruedCosts(), WIPAccruedCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WIPInvoicedSales(), WIPInvoicedSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWorkinProgress(), TotalWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, WorkinProgress() + '..' + TotalWorkinProgress(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Receivables(), ReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsReceivables(), AccountsReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountReceivableDomestic(), AccountReceivableDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountReceivableForeign(), AccountReceivableForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ContractualReceivables(), ContractualReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsignmentReceivables(), ConsignmentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreditcardsandVouchersReceivables(), CreditcardsandVouchersReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAccountReceivables(), TotalAccountReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccountsReceivables() + '..' + TotalAccountReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentReceivables(), OtherCurrentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivablefromEmployees(), CurrentReceivablefromEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedincomenotYetInvoiced(), AccruedincomenotYetInvoicedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountsforTaxesandCharges(), ClearingAccountsforTaxesandChargesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxAssets(), TaxAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentReceivablesFromGroupCompanies(), CurrentReceivablesFromGroupCompaniesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherCurrentReceivables(), TotalOtherCurrentReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherCurrentReceivables() + '..' + TotalOtherCurrentReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalReceivables(), TotalReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, Receivables() + '..' + TotalReceivables(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidexpensesandAccruedIncome(), PrepaidexpensesandAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidRent(), PrepaidRentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PrepaidInterestExpense(), PrepaidInterestExpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedRentalIncome(), AccruedRentalIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedInterestIncome(), AccruedInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssetsInFormOfPrepaidExpenses(), AssetsInFormOfPrepaidExpensesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPrepaidExpensesAndAccruedIncome(), OtherPrepaidExpensesAndAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPrepaidExpensesAndAccruedIncome(), TotalPrepaidExpensesAndAccruedIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, PrepaidexpensesandAccruedIncome() + '..' + TotalPrepaidExpensesAndAccruedIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShortTermInvestments(), ShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConvertibleDebtInstruments(), ConvertibleDebtInstrumentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherShortTermInvestments(), OtherShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WriteDownofShortTermInvestments(), WriteDownofShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalShortTermInvestments(), TotalShortTermInvestmentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, ShortTermInvestments() + '..' + TotalShortTermInvestments(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashandBank(), CashandBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BusinessAccountOperatingDomestic(), BusinessAccountOperatingDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessAccountOperatingForeign(), BusinessAccountOperatingForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherBankAccounts(), OtherBankAccountsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CertificateofDeposit(), CertificateofDepositName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCashandBank(), TotalCashandBankName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::"End-Total", '', '', 0, CashandBank() + '..' + TotalCashandBank(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Liability(), LiabilityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BondsandDebentureLoans(), BondsandDebentureLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConvertiblesLoans(), ConvertiblesLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLongTermLiabilities(), OtherLongTermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankOverdraftFacilities(), BankOverdraftFacilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalLongTermLiabilities(), TotalLongTermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.LongtermLiabilities() + '..' + TotalLongTermLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLiabilities(), CurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableDomestic(), AccountsPayableDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableForeign(), AccountsPayableForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Advancesfromcustomers(), AdvancesfromcustomersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ChangeinWorkinProgress(), ChangeinWorkinProgressName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BankOverdraftShortTerm(), BankOverdraftShortTermName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.OtherLiabilities(), CreateGLAccount.OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCurrentLiabilities(), TotalCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, CurrentLiabilities() + '..' + TotalCurrentLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TaxLiabilities(), TaxLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesTaxVATLiable(), SalesTaxVATLiableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxesLiable(), TaxesLiableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedIncomeTax(), EstimatedIncomeTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EstimatedPayrolltaxonPensionCosts(), EstimatedPayrolltaxonPensionCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTaxLiabilities(), TotalTaxLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, TaxLiabilities() + '..' + TotalTaxLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PayrollLiabilities(), PayrollLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EmployeesWithholdingTaxes(), EmployeesWithholdingTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(StatutorySocialsecurityContributions(), StatutorySocialsecurityContributionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ContractualSocialSecurityContributions(), ContractualSocialSecurityContributionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AttachmentsofEarning(), AttachmentsofEarningName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HolidayPayfund(), HolidayPayfundName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherSalaryWageDeductions(), OtherSalaryWageDeductionsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPayrollLiabilities(), TotalPayrollLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, PayrollLiabilities() + '..' + TotalPayrollLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCurrentLiabilities(), OtherCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountforFactoringCurrentPortion(), ClearingAccountforFactoringCurrentPortionName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLiabilitiestoEmployees(), CurrentLiabilitiestoEmployeesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ClearingAccountforThirdParty(), ClearingAccountforThirdPartyName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrentLoans(), CurrentLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LiabilitiesGrantsReceived(), LiabilitiesGrantsReceivedName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherCurrentLiabilities(), TotalOtherCurrentLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherCurrentLiabilities() + '..' + TotalOtherCurrentLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedExpensesandDeferredIncome(), AccruedExpensesandDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedWagesSalaries(), AccruedWagesSalariesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedHolidayPay(), AccruedHolidayPayName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedPensionCosts(), AccruedPensionCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedInterestExpense(), AccruedInterestExpenseName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DeferredIncome(), DeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccruedContractualCosts(), AccruedContractualCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherAccruedExpensesandDeferredIncome(), OtherAccruedExpensesandDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAccruedExpensesandDeferredIncome(), TotalAccruedExpensesandDeferredIncomeName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccruedExpensesandDeferredIncome() + '..' + TotalAccruedExpensesandDeferredIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Equity(), EquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(EquityPartner(), EquityPartnerName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NetResults(), NetResultsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RestrictedEquity(), RestrictedEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ShareCapital(), ShareCapitalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NonRestrictedEquity(), NonRestrictedEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ProfitorLossFromthePreviousYear(), ProfitorLossFromthePreviousYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResultsfortheFinancialYear(), ResultsfortheFinancialYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DistributionstoShareholders(), DistributionstoShareholdersName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalEquity(), TotalEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, Enum::"G/L Account Type"::"End-Total", '', '', 0, Equity() + '..' + TotalEquity(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGLAccount.IncomeStatement(), CreateGLAccount.IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Income(), IncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesofGoods(), SalesofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleofFinishedGoods(), SaleofFinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SaleofRawMaterials(), SaleofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ResaleofGoods(), ResaleofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofGoods(), TotalSalesofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesofGoods() + '..' + TotalSalesofGoods(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SaleofResources(), SaleofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SaleofSubcontracting(), SaleofSubcontractingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofResources(), TotalSalesofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.SalesofResources() + '..' + TotalSalesofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdditionalRevenue(), AdditionalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncomeFromSecurities(), IncomeFromSecuritiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManagementFeeRevenue(), ManagementFeeRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyGains(), CurrencyGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherIncidentalRevenue(), OtherIncidentalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdditionalRevenue(), TotalAdditionalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, AdditionalRevenue() + '..' + TotalAdditionalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobsandServices(), JobsandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesApplied(), JobSalesAppliedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofServiceContracts(), SalesofServiceContractsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesofServiceWork(), SalesofServiceWorkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalJobsandServices(), TotalJobsandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, JobsandServices() + '..' + TotalJobsandServices(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevenueReductions(), RevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesDiscounts(), SalesDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesInvoiceRounding(), SalesInvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentToleranceandAllowances(), PaymentToleranceandAllowancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SalesReturns(), SalesReturnsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRevenueReductions(), TotalRevenueReductionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, RevenueReductions() + '..' + TotalRevenueReductions(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalIncome(), TotalIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::"End-Total", '', '', 0, Income() + '..' + TotalIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofGoodsSold(), CostofGoodsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofGoods(), CostofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofMaterials(), CostofMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofMaterialsProjects(), CostofMaterialsProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofGoods(), TotalCostofGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofGoods() + '..' + TotalCostofGoods(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofResourcesandServices(), CostofResourcesandServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofLabor(), CostofLaborName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofLaborProjects(), CostofLaborProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofLaborWarrantyContract(), CostofLaborWarrantyContractName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofResources(), TotalCostofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofResourcesandServices() + '..' + TotalCostofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SubcontractedWork(), SubcontractedWorkName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CostofVariances(), CostofVariancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofGoodsSold(), TotalCostofGoodsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofGoodsSold() + '..' + TotalCostofGoodsSold(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Expenses(), ExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FacilityExpenses(), FacilityExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentalFacilities(), RentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RentLeases(), RentLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityforRental(), ElectricityforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HeatingforRental(), HeatingforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterandSewerageforRental(), WaterandSewerageforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningandWasteforRental(), CleaningandWasteforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenanceforRental(), RepairsandMaintenanceforRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesRental(), InsurancesRentalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherRentalExpenses(), OtherRentalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalRentalFacilities(), TotalRentalFacilitiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, RentalFacilities() + '..' + TotalRentalFacilities(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PropertyExpenses(), PropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SiteFeesLeases(), SiteFeesLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityforProperty(), ElectricityforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HeatingforProperty(), HeatingforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterandSewerageforProperty(), WaterandSewerageforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CleaningandWasteforProperty(), CleaningandWasteforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenanceforProperty(), RepairsandMaintenanceforPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesProperty(), InsurancesPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherPropertyExpenses(), OtherPropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPropertyExpenses(), TotalPropertyExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, PropertyExpenses() + '..' + TotalPropertyExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalFacilityExpenses(), TotalFacilityExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FacilityExpenses() + '..' + TotalFacilityExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FixedAssetsLeases(), FixedAssetsLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HireofMachinery(), HireofMachineryName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HireofComputers(), HireofComputersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HireofOtherFixedAssets(), HireofOtherFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFixedAssetLeases(), TotalFixedAssetLeasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FixedAssetsLeases() + '..' + TotalFixedAssetLeases(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LogisticsExpenses(), LogisticsExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PassengerCarCosts(), PassengerCarCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TruckCosts(), TruckCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherVehicleExpenses(), OtherVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalVehicleExpenses(), TotalVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.VehicleExpenses() + '..' + TotalVehicleExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreightCosts(), FreightCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FreightFeesForGoods(), FreightFeesForGoodsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CustomsandForwarding(), CustomsandForwardingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FreightFeesProjects(), FreightFeesProjectsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFreightCosts(), TotalFreightCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FreightCosts() + '..' + TotalFreightCosts(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TravelExpenses(), TravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Tickets(), TicketsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RentalVehicles(), RentalVehiclesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BoardandLodging(), BoardandLodgingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherTravelExpenses(), OtherTravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalTravelExpenses(), TotalTravelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, TravelExpenses() + '..' + TotalTravelExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLogisticsExpenses(), TotalLogisticsExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, LogisticsExpenses() + '..' + TotalLogisticsExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MarketingandSales(), MarketingandSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.Advertising(), CreateGlAccount.AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdvertisementDevelopment(), AdvertisementDevelopmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OutdoorandTransportationAds(), OutdoorandTransportationAdsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AdMatterandDirectMailings(), AdMatterandDirectMailingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConferenceExhibitionSponsorship(), ConferenceExhibitionSponsorshipName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SamplesContestsGifts(), SamplesContestsGiftsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FilmTVRadioInternetAds(), FilmTVRadioInternetAdsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PRandAgencyFees(), PRandAgencyFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherAdvertisingFees(), OtherAdvertisingFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalAdvertising(), TotalAdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, CreateGLAccount.Advertising() + '..' + TotalAdvertising(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherMarketingExpenses(), OtherMarketingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CatalogsPriceLists(), CatalogsPriceListsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TradePublications(), TradePublicationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherMarketingExpenses(), TotalOtherMarketingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherMarketingExpenses() + '..' + TotalOtherMarketingExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesExpenses(), SalesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreditCardCharges(), CreditCardChargesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingDeductible(), BusinessEntertainingDeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BusinessEntertainingNonDeductible(), BusinessEntertainingNonDeductibleName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesExpenses(), TotalSalesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesExpenses() + '..' + TotalSalesExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalMarketingandSales(), TotalMarketingandSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, MarketingandSales() + '..' + TotalMarketingandSales(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeExpenses(), OfficeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PhoneServices(), PhoneServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DataServices(), DataServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PostalFees(), PostalFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsumableExpensibleHardware(), ConsumableExpensibleHardwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SoftwareandSubscriptionFees(), SoftwareandSubscriptionFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOfficeExpenses(), TotalOfficeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OfficeExpenses() + '..' + TotalOfficeExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesandRisks(), InsurancesandRisksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CorporateInsurance(), CorporateInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DamagesPaid(), DamagesPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BadDebtLosses(), BadDebtLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SecurityServices(), SecurityServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherRiskExpenses(), OtherRiskExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsurancesandRisks(), TotalInsurancesandRisksName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, InsurancesandRisks() + '..' + TotalInsurancesandRisks(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ManagementandAdmin(), ManagementandAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Management(), ManagementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RemunerationtoDirectors(), RemunerationtoDirectorsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ManagementFees(), ManagementFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualInterrimReports(), AnnualInterrimReportsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AnnualGeneralMeeting(), AnnualGeneralMeetingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AuditandAuditServices(), AuditandAuditServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TaxAdvisoryServices(), TaxAdvisoryServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalManagementFees(), TotalManagementFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Management() + '..' + TotalManagementFees(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalManagementandAdmin(), TotalManagementandAdminName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ManagementandAdmin() + '..' + TotalManagementandAdmin(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankingandInterest(), BankingandInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BankingFees(), BankingFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.InterestExpenses(), CreateGlAccount.InterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayableInvoiceRounding(), PayableInvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBankingandInterest(), TotalBankingandInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, BankingandInterest() + '..' + TotalBankingandInterest(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExternalServicesExpenses(), ExternalServicesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ExternalServices(), ExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountingServices(), AccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ITServices(), ITServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MediaServices(), MediaServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultingServices(), ConsultingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LegalFeesandAttorneyServices(), LegalFeesandAttorneyServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherExternalServices(), OtherExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalExternalServices(), TotalExternalServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ExternalServices() + '..' + TotalExternalServices(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherExternalExpenses(), OtherExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LicenseFeesRoyalties(), LicenseFeesRoyaltiesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TrademarksPatents(), TrademarksPatentsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AssociationFees(), AssociationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MiscExternalExpenses(), MiscExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseDiscounts(), PurchaseDiscountsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalOtherExternalExpenses(), TotalOtherExternalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherExternalExpenses() + '..' + TotalOtherExternalExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalExternalServicesExpenses(), TotalExternalServicesExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, ExternalServicesExpenses() + '..' + TotalExternalServicesExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Personnel(), PersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WagesandSalaries(), WagesandSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HourlyWages(), HourlyWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OvertimeWages(), OvertimeWagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Bonuses(), BonusesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CommissionsPaid(), CommissionsPaidName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PTOAccrued(), PTOAccruedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalWagesandSalaries(), TotalWagesandSalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, WagesandSalaries() + '..' + TotalWagesandSalaries(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(BenefitsPension(), BenefitsPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Benefits(), BenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TrainingCosts(), TrainingCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(HealthCareContributions(), HealthCareContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EntertainmentofPersonnel(), EntertainmentofPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.Allowances(), CreateGlAccount.AllowancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MandatoryClothingExpenses(), MandatoryClothingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherCashRemunerationBenefits(), OtherCashRemunerationBenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBenefits(), TotalBenefitsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Benefits() + '..' + TotalBenefits(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Pension(), PensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PensionFeesandRecurringCosts(), PensionFeesandRecurringCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmployerContributions(), EmployerContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPension(), TotalPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Pension() + '..' + TotalPension(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalBenefitsPension(), TotalBenefitsPensionName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, BenefitsPension() + '..' + TotalBenefitsPension(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InsurancesPersonnel(), InsurancesPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(HealthInsurance(), HealthInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DentalInsurance(), DentalInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WorkersCompensation(), WorkersCompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LifeInsurance(), LifeInsuranceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalInsurancesPersonnel(), TotalInsurancesPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, InsurancesPersonnel() + '..' + TotalInsurancesPersonnel(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PersonnelTaxes(), PersonnelTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FederalPersonnelTaxes(), FederalPersonnelTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FederalWithholdingExpense(), FederalWithholdingExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FICAExpense(), FICAExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FUTAExpense(), FUTAExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MedicareExpense(), MedicareExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherFederalExpense(), OtherFederalExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalFederalPersonnelTaxes(), TotalFederalPersonnelTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, FederalPersonnelTaxes() + '..' + TotalFederalPersonnelTaxes(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StatePersonnelTaxes(), StatePersonnelTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(StateWithholdingExpense(), StateWithholdingExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SUTAExpense(), SUTAExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalStatePersonnelTaxes(), TotalStatePersonnelTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, StatePersonnelTaxes() + '..' + TotalStatePersonnelTaxes(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnelTaxes(), TotalPersonnelTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, PersonnelTaxes() + '..' + TotalPersonnelTaxes(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnel(), TotalPersonnelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Personnel() + '..' + TotalPersonnel(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Depreciation(), DepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationLandandProperty(), DepreciationLandandPropertyName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationFixedAssets(), DepreciationFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalDepreciation(), TotalDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Depreciation() + '..' + TotalDepreciation(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(MiscExpenses(), MiscExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrencyLosses(), CurrencyLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalMiscExpenses(), TotalMiscExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, MiscExpenses() + '..' + TotalMiscExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalExpenses(), TotalExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"End-Total", '', '', 0, Expenses() + '..' + TotalExpenses(), Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestIncome(), InterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.NetIncome(), CreateGlAccount.NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Total, '', '', 1, CreateGLAccount.INCOMESTATEMENT() + '..' + '49999' + '|' + '50000' + '..' + '59999' + '|' + '60000' + '..' + CreateGLAccount.NETINCOME(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.OfficeSupplies(), CreateGlAccount.OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.VehicleExpenses(), CreateGlAccount.VehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.Salaries(), CreateGlAccount.SalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Purchase, '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.FinishedGoods(), CreateGlAccount.FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.WIPJobSales(), CreateGlAccount.WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.WIPJobCosts(), CreateGlAccount.WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.RawMaterials(), CreateGlAccount.RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CreateGlAccount.JobSales(), CreateGlAccount.JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::Sale, '', '', true, false, false); + end; + + procedure DiscountsandAllowancesName(): Text[100] + begin + exit(DiscountsandAllowancesLbl); + end; + + procedure DiscountsandAllowances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountsandAllowancesName())); + end; + + procedure SalesofServiceWorkName(): Text[100] + begin + exit(SalesofServiceWorkLbl); + end; + + procedure SalesofServiceWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofServiceWorkName())); + end; + + procedure ResaleofGoodsName(): Text[100] + begin + exit(ResaleofGoodsLbl); + end; + + procedure ResaleofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResaleofGoodsName())); + end; + + procedure InterestIncomeName(): Text[100] + begin + exit(InterestIncomeLbl); + end; + + procedure InterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestIncomeName())); + end; + + procedure CostofMaterialsName(): Text[100] + begin + exit(CostofMaterialsLbl); + end; + + procedure CostofMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofMaterialsName())); + end; + + procedure DepreciationFixedAssetsName(): Text[100] + begin + exit(DepreciationFixedAssetsLbl); + end; + + procedure DepreciationFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationFixedAssetsName())); + end; + + procedure DepreciationLandandPropertyName(): Text[100] + begin + exit(DepreciationLandandPropertyLbl); + end; + + procedure DepreciationLandandProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationLandandPropertyName())); + end; + + procedure TaxesLiableName(): Text[100] + begin + exit(TaxesLiableLbl); + end; + + procedure TaxesLiable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxesLiableName())); + end; + + procedure Income(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeName())); + end; + + procedure IncomeName(): Text[100] + begin + exit(IncomeLbl); + end; + + procedure SalesofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo((SalesofGoodsName()))); + end; + + procedure SalesofGoodsName(): Text[100] + begin + exit(SalesofGoodsLbl); + end; + + procedure SaleofFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofFinishedGoodsName())); + end; + + procedure SaleofFinishedGoodsName(): Text[100] + begin + exit(SaleofFinishedGoodsLbl); + end; + + procedure SaleofRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofRawMaterialsName())); + end; + + procedure SaleofRawMaterialsName(): Text[100] + begin + exit(SaleofRawMaterialsLbl); + end; + + procedure TotalSalesofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofGoodsName())); + end; + + procedure TotalSalesofGoodsName(): Text[100] + begin + exit(TotalSalesofGoodsTok); + end; + + procedure SaleofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofResourcesName())); + end; + + procedure SaleofResourcesName(): Text[100] + begin + exit(SaleofResourcesTok); + end; + + procedure SaleofSubcontracting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SaleofSubcontractingName())); + end; + + procedure SaleofSubcontractingName(): Text[100] + begin + exit(SaleofSubcontractingTok); + end; + + procedure TotalSalesofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofResourcesName())); + end; + + procedure TotalSalesofResourcesName(): Text[100] + begin + exit(TotalSalesofResourcesTok); + end; + + procedure AdditionalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdditionalRevenueName())); + end; + + procedure AdditionalRevenueName(): Text[100] + begin + exit(AdditionalRevenueTok); + end; + + procedure IncomeFromSecurities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeFromSecuritiesName())); + end; + + procedure IncomeFromSecuritiesName(): Text[100] + begin + exit(IncomeFromSecuritiesTok); + end; + + procedure ManagementFeeRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementFeeRevenueName())); + end; + + procedure ManagementFeeRevenueName(): Text[100] + begin + exit(ManagementFeeRevenueTok); + end; + + procedure CurrencyGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyGainsName())); + end; + + procedure CurrencyGainsName(): Text[100] + begin + exit(CurrencyGainsTok); + end; + + procedure OtherIncidentalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherIncidentalRevenueName())); + end; + + procedure OtherIncidentalRevenueName(): Text[100] + begin + exit(OtherIncidentalRevenueTok); + end; + + procedure TotalAdditionalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdditionalRevenueName())); + end; + + procedure TotalAdditionalRevenueName(): Text[100] + begin + exit(TotalAdditionalRevenueTok); + end; + + procedure JobsandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobsandServicesName())); + end; + + procedure JobsandServicesName(): Text[100] + begin + exit(JobsandServicesTok); + end; + + procedure JobSalesApplied(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedName())); + end; + + procedure JobSalesAppliedName(): Text[100] + begin + exit(JobSalesAppliedTok); + end; + + procedure SalesofServiceContracts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofServiceContractsName())); + end; + + procedure SalesofServiceContractsName(): Text[100] + begin + exit(SalesofServiceContractsTok); + end; + + procedure TotalJobsandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalJobsandServicesName())); + end; + + procedure TotalJobsandServicesName(): Text[100] + begin + exit(TotalJobsandServicesTok); + end; + + procedure RevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueReductionsName())); + end; + + procedure RevenueReductionsName(): Text[100] + begin + exit(RevenueReductionsTok); + end; + + procedure SalesDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesDiscountsName())); + end; + + procedure SalesDiscountsName(): Text[100] + begin + exit(DiscountsandAllowancesTok); + end; + + procedure SalesInvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesInvoiceRoundingName())); + end; + + procedure SalesInvoiceRoundingName(): Text[100] + begin + exit(InvoiceRoundingTok); + end; + + procedure PaymentToleranceandAllowances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentToleranceandAllowancesName())); + end; + + procedure PaymentToleranceandAllowancesName(): Text[100] + begin + exit(PaymentToleranceTok); + end; + + procedure SalesReturns(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesReturnsName())); + end; + + procedure SalesReturnsName(): Text[100] + begin + exit(SalesReturnsTok); + end; + + procedure TotalRevenueReductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenueReductionsName())); + end; + + procedure TotalRevenueReductionsName(): Text[100] + begin + exit(TotalRevenueReductionsTok); + end; + + procedure TotalIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIncomeName())); + end; + + procedure TotalIncomeName(): Text[100] + begin + exit(TotalIncomeTok); + end; + + procedure CostofGoodsSold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofGoodsSoldName())); + end; + + procedure CostofGoodsSoldName(): Text[100] + begin + exit(CostofGoodsSoldTok); + end; + + procedure CostofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofGoodsName())); + end; + + procedure CostofGoodsName(): Text[100] + begin + exit(CostofGoodsTok); + end; + + procedure CostofMaterialsProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofMaterialsProjectsName())); + end; + + procedure CostofMaterialsProjectsName(): Text[100] + begin + exit(CostofMaterialsProjectsTok); + end; + + procedure TotalCostofGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofGoodsName())); + end; + + procedure TotalCostofGoodsName(): Text[100] + begin + exit(TotalCostofGoodsTok); + end; + + procedure CostofResourcesandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofResourcesandServicesName())); + end; + + procedure CostofResourcesandServicesName(): Text[100] + begin + exit(CostofResourcesandServicesTok); + end; + + procedure CostofLabor(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborName())); + end; + + procedure CostofLaborName(): Text[100] + begin + exit(CostofLaborTok); + end; + + procedure CostofLaborProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborProjectsName())); + end; + + procedure CostofLaborProjectsName(): Text[100] + begin + exit(CostofLaborProjectsTok); + end; + + procedure CostofLaborWarrantyContract(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofLaborWarrantyContractName())); + end; + + procedure CostofLaborWarrantyContractName(): Text[100] + begin + exit(CostofLaborWarrantyContractTok); + end; + + procedure TotalCostofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofResourcesName())); + end; + + procedure TotalCostofResourcesName(): Text[100] + begin + exit(TotalCostofResourcesTok); + end; + + procedure SubcontractedWork(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SubcontractedWorkName())); + end; + + procedure SubcontractedWorkName(): Text[100] + begin + exit(SubcontractedWorkTok); + end; + + procedure CostofVariances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofVariancesName())); + end; + + procedure CostofVariancesName(): Text[100] + begin + exit(CostofVariancesTok); + end; + + procedure TotalCostofGoodsSold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofGoodsSoldName())); + end; + + procedure TotalCostofGoodsSoldName(): Text[100] + begin + exit(TotalCostofGoodsSoldTok); + end; + + procedure Expenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExpensesName())); + end; + + procedure ExpensesName(): Text[100] + begin + exit(ExpenseTok); + end; + + procedure FacilityExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FacilityExpensesName())); + end; + + procedure FacilityExpensesName(): Text[100] + begin + exit(FacilityExpensesTok); + end; + + procedure RentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalFacilitiesName())); + end; + + procedure RentalFacilitiesName(): Text[100] + begin + exit(RentalFacilitiesTok); + end; + + procedure RentLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentLeasesName())); + end; + + procedure RentLeasesName(): Text[100] + begin + exit(RentLeasesTok); + end; + + procedure ElectricityforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityforRentalName())); + end; + + procedure ElectricityforRentalName(): Text[100] + begin + exit(ElectricityforRentalTok); + end; + + procedure HeatingforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingforRentalName())); + end; + + procedure HeatingforRentalName(): Text[100] + begin + exit(HeatingforRentalTok); + end; + + procedure WaterandSewerageforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterandSewerageforRentalName())); + end; + + procedure WaterandSewerageforRentalName(): Text[100] + begin + exit(WaterandSewerageforRentalTok); + end; + + procedure CleaningandWasteforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningandWasteforRentalName())); + end; + + procedure CleaningandWasteforRentalName(): Text[100] + begin + exit(CleaningandWasteforRentalTok); + end; + + procedure RepairsandMaintenanceforRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceforRentalName())); + end; + + procedure RepairsandMaintenanceforRentalName(): Text[100] + begin + exit(RepairsandMaintenanceforRentalTok); + end; + + procedure InsurancesRental(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesRentalName())); + end; + + procedure InsurancesRentalName(): Text[100] + begin + exit(InsurancesRentalTok); + end; + + procedure OtherRentalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherRentalExpensesName())); + end; + + procedure OtherRentalExpensesName(): Text[100] + begin + exit(OtherRentalExpensesTok); + end; + + procedure TotalRentalFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRentalFacilitiesName())); + end; + + procedure TotalRentalFacilitiesName(): Text[100] + begin + exit(TotalRentalFacilitiesTok); + end; + + procedure PropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PropertyExpensesName())); + end; + + procedure PropertyExpensesName(): Text[100] + begin + exit(PropertyExpensesTok); + end; + + procedure SiteFeesLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SiteFeesLeasesName())); + end; + + procedure SiteFeesLeasesName(): Text[100] + begin + exit(SiteFeesLeasesTok); + end; + + procedure ElectricityforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityforPropertyName())); + end; + + procedure ElectricityforPropertyName(): Text[100] + begin + exit(ElectricityforPropertyTok); + end; + + procedure HeatingforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HeatingforPropertyName())); + end; + + procedure HeatingforPropertyName(): Text[100] + begin + exit(HeatingforPropertyTok); + end; + + procedure WaterandSewerageforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterandSewerageforPropertyName())); + end; + + procedure WaterandSewerageforPropertyName(): Text[100] + begin + exit(WaterandSewerageforPropertyTok); + end; + + procedure CleaningandWasteforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningandWasteforPropertyName())); + end; + + procedure CleaningandWasteforPropertyName(): Text[100] + begin + exit(CleaningandWasteforPropertyTok); + end; + + procedure RepairsandMaintenanceforProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceforPropertyName())); + end; + + procedure RepairsandMaintenanceforPropertyName(): Text[100] + begin + exit(RepairsandMaintenanceforPropertyTok); + end; + + procedure InsurancesProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesPropertyName())); + end; + + procedure InsurancesPropertyName(): Text[100] + begin + exit(InsurancesPropertyTok); + end; + + procedure OtherPropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPropertyExpensesName())); + end; + + procedure OtherPropertyExpensesName(): Text[100] + begin + exit(OtherPropertyExpensesTok); + end; + + procedure TotalPropertyExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPropertyExpensesName())); + end; + + procedure TotalPropertyExpensesName(): Text[100] + begin + exit(TotalPropertyExpensesTok); + end; + + procedure TotalFacilityExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFacilityExpensesName())); + end; + + procedure TotalFacilityExpensesName(): Text[100] + begin + exit(TotalFacilityExpensesTok); + end; + + procedure FixedAssetsLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsLeasesName())); + end; + + procedure FixedAssetsLeasesName(): Text[100] + begin + exit(FixedAssetsLeasesTok); + end; + + procedure HireofMachinery(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofMachineryName())); + end; + + procedure HireofMachineryName(): Text[100] + begin + exit(HireofMachineryTok); + end; + + procedure HireofComputers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofComputersName())); + end; + + procedure HireofComputersName(): Text[100] + begin + exit(HireofComputersTok); + end; + + procedure HireofOtherFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HireofOtherFixedAssetsName())); + end; + + procedure HireofOtherFixedAssetsName(): Text[100] + begin + exit(HireofOtherFixedAssetsTok); + end; + + procedure TotalFixedAssetLeases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFixedAssetLeasesName())); + end; + + procedure TotalFixedAssetLeasesName(): Text[100] + begin + exit(TotalFixedAssetLeasesTok); + end; + + procedure LogisticsExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LogisticsExpensesName())); + end; + + procedure LogisticsExpensesName(): Text[100] + begin + exit(LogisticsExpensesTok); + end; + + procedure PassengerCarCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PassengerCarCostsName())); + end; + + procedure PassengerCarCostsName(): Text[100] + begin + exit(PassengerCarCostsTok); + end; + + procedure TruckCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TruckCostsName())); + end; + + procedure TruckCostsName(): Text[100] + begin + exit(TruckCostsTok); + end; + + procedure OtherVehicleExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherVehicleExpensesName())); + end; + + procedure OtherVehicleExpensesName(): Text[100] + begin + exit(OtherVehicleExpensesTok); + end; + + procedure TotalVehicleExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVehicleExpensesName())); + end; + + procedure TotalVehicleExpensesName(): Text[100] + begin + exit(TotalVehicleExpensesTok); + end; + + procedure FreightCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightCostsName())); + end; + + procedure FreightCostsName(): Text[100] + begin + exit(FreightCostsTok); + end; + + procedure FreightFeesForGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightFeesForGoodsName())); + end; + + procedure FreightFeesForGoodsName(): Text[100] + begin + exit(FreightFeesForGoodsTok); + end; + + procedure CustomsandForwarding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomsandForwardingName())); + end; + + procedure CustomsandForwardingName(): Text[100] + begin + exit(CustomsandForwardingTok); + end; + + procedure FreightFeesProjects(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FreightFeesProjectsName())); + end; + + procedure FreightFeesProjectsName(): Text[100] + begin + exit(FreightFeesProjectsTok); + end; + + procedure TotalFreightCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFreightCostsName())); + end; + + procedure TotalFreightCostsName(): Text[100] + begin + exit(TotalFreightCostsTok); + end; + + procedure TravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelExpensesName())); + end; + + procedure TravelExpensesName(): Text[100] + begin + exit(TravelExpensesTok); + end; + + procedure Tickets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TicketsName())); + end; + + procedure TicketsName(): Text[100] + begin + exit(TicketsTok); + end; + + procedure RentalVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RentalVehiclesName())); + end; + + procedure RentalVehiclesName(): Text[100] + begin + exit(RentalVehiclesTok); + end; + + procedure BoardandLodging(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BoardandLodgingName())); + end; + + procedure BoardandLodgingName(): Text[100] + begin + exit(BoardandLodgingTok); + end; + + procedure OtherTravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherTravelExpensesName())); + end; + + procedure OtherTravelExpensesName(): Text[100] + begin + exit(OtherTravelExpensesTok); + end; + + procedure TotalTravelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTravelExpensesName())); + end; + + procedure TotalTravelExpensesName(): Text[100] + begin + exit(TotalTravelExpensesTok); + end; + + procedure TotalLogisticsExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLogisticsExpensesName())); + end; + + procedure TotalLogisticsExpensesName(): Text[100] + begin + exit(TotalLogisticsExpensesTok); + end; + + procedure MarketingandSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MarketingandSalesName())); + end; + + procedure MarketingandSalesName(): Text[100] + begin + exit(MarketingandSalesTok); + end; + + procedure AdvertisementDevelopment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisementDevelopmentName())); + end; + + procedure AdvertisementDevelopmentName(): Text[100] + begin + exit(AdvertisementDevelopmentTok); + end; + + procedure OutdoorandTransportationAds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OutdoorandTransportationAdsName())); + end; + + procedure OutdoorandTransportationAdsName(): Text[100] + begin + exit(OutdoorandTransportationAdsTok); + end; + + procedure AdMatterandDirectMailings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdMatterandDirectMailingsName())); + end; + + procedure AdMatterandDirectMailingsName(): Text[100] + begin + exit(AdMatterandDirectMailingsTok); + end; + + procedure ConferenceExhibitionSponsorship(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConferenceExhibitionSponsorshipName())); + end; + + procedure ConferenceExhibitionSponsorshipName(): Text[100] + begin + exit(ConferenceExhibitionSponsorshipTok); + end; + + procedure SamplesContestsGifts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SamplesContestsGiftsName())); + end; + + procedure SamplesContestsGiftsName(): Text[100] + begin + exit(SamplesContestsGiftsTok); + end; + + procedure FilmTVRadioInternetAds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FilmTVRadioInternetAdsName())); + end; + + procedure FilmTVRadioInternetAdsName(): Text[100] + begin + exit(FilmTVRadioInternetAdsTok); + end; + + procedure PRandAgencyFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PRandAgencyFeesName())); + end; + + procedure PRandAgencyFeesName(): Text[100] + begin + exit(PRandAgencyFeesTok); + end; + + procedure OtherAdvertisingFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherAdvertisingFeesName())); + end; + + procedure OtherAdvertisingFeesName(): Text[100] + begin + exit(OtherAdvertisingFeesTok); + end; + + procedure TotalAdvertising(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdvertisingName())); + end; + + procedure TotalAdvertisingName(): Text[100] + begin + exit(TotalAdvertisingTok); + end; + + procedure OtherMarketingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherMarketingExpensesName())); + end; + + procedure OtherMarketingExpensesName(): Text[100] + begin + exit(OtherMarketingExpensesTok); + end; + + procedure CatalogsPriceLists(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CatalogsPriceListsName())); + end; + + procedure CatalogsPriceListsName(): Text[100] + begin + exit(CatalogsPriceListsTok); + end; + + procedure TradePublications(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TradePublicationsName())); + end; + + procedure TradePublicationsName(): Text[100] + begin + exit(TradePublicationsTok); + end; + + procedure TotalOtherMarketingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherMarketingExpensesName())); + end; + + procedure TotalOtherMarketingExpensesName(): Text[100] + begin + exit(TotalOtherMarketingExpensesTok); + end; + + procedure SalesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesExpensesName())); + end; + + procedure SalesExpensesName(): Text[100] + begin + exit(SalesExpensesTok); + end; + + procedure CreditCardCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditCardChargesName())); + end; + + procedure CreditCardChargesName(): Text[100] + begin + exit(CreditCardChargesTok); + end; + + procedure BusinessEntertainingDeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingDeductibleName())); + end; + + procedure BusinessEntertainingDeductibleName(): Text[100] + begin + exit(BusinessEntertainingDeductibleTok); + end; + + procedure BusinessEntertainingNonDeductible(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessEntertainingNonDeductibleName())); + end; + + procedure BusinessEntertainingNonDeductibleName(): Text[100] + begin + exit(BusinessEntertainingNonDeductibleTok); + end; + + procedure TotalSalesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesExpensesName())); + end; + + procedure TotalSalesExpensesName(): Text[100] + begin + exit(TotalSalesExpensesTok); + end; + + procedure TotalMarketingandSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMarketingandSalesName())); + end; + + procedure TotalMarketingandSalesName(): Text[100] + begin + exit(TotalMarketingandSalesTok); + end; + + procedure OfficeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeExpensesName())); + end; + + procedure OfficeExpensesName(): Text[100] + begin + exit(OfficeExpensesTok); + end; + + procedure PhoneServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PhoneServicesName())); + end; + + procedure PhoneServicesName(): Text[100] + begin + exit(PhoneServicesTok); + end; + + procedure DataServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DataServicesName())); + end; + + procedure DataServicesName(): Text[100] + begin + exit(DataServicesTok); + end; + + procedure PostalFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostalFeesName())); + end; + + procedure PostalFeesName(): Text[100] + begin + exit(PostalFeesTok); + end; + + procedure ConsumableExpensibleHardware(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsumableExpensibleHardwareName())); + end; + + procedure ConsumableExpensibleHardwareName(): Text[100] + begin + exit(ConsumableExpensibleHardwareTok); + end; + + procedure SoftwareandSubscriptionFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SoftwareandSubscriptionFeesName())); + end; + + procedure SoftwareandSubscriptionFeesName(): Text[100] + begin + exit(SoftwareandSubscriptionFeesTok); + end; + + procedure TotalOfficeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOfficeExpensesName())); + end; + + procedure TotalOfficeExpensesName(): Text[100] + begin + exit(TotalOfficeExpensesTok); + end; + + procedure InsurancesandRisks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesandRisksName())); + end; + + procedure InsurancesandRisksName(): Text[100] + begin + exit(InsurancesandRisksTok); + end; + + procedure CorporateInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateInsuranceName())); + end; + + procedure CorporateInsuranceName(): Text[100] + begin + exit(CorporateInsuranceTok); + end; + + procedure DamagesPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DamagesPaidName())); + end; + + procedure DamagesPaidName(): Text[100] + begin + exit(DamagesPaidTok); + end; + + procedure BadDebtLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDebtLossesName())); + end; + + procedure BadDebtLossesName(): Text[100] + begin + exit(BadDebtLossesTok); + end; + + procedure SecurityServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecurityServicesName())); + end; + + procedure SecurityServicesName(): Text[100] + begin + exit(SecurityServicesTok); + end; + + procedure OtherRiskExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherRiskExpensesName())); + end; + + procedure OtherRiskExpensesName(): Text[100] + begin + exit(OtherRiskExpensesTok); + end; + + procedure TotalInsurancesandRisks(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsurancesandRisksName())); + end; + + procedure TotalInsurancesandRisksName(): Text[100] + begin + exit(TotalInsurancesandRisksTok); + end; + + procedure ManagementandAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementandAdminName())); + end; + + procedure ManagementandAdminName(): Text[100] + begin + exit(ManagementandAdminTok); + end; + + procedure Management(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementName())); + end; + + procedure ManagementName(): Text[100] + begin + exit(ManagementTok); + end; + + procedure RemunerationtoDirectors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RemunerationtoDirectorsName())); + end; + + procedure RemunerationtoDirectorsName(): Text[100] + begin + exit(RemunerationtoDirectorsTok); + end; + + procedure ManagementFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ManagementFeesName())); + end; + + procedure ManagementFeesName(): Text[100] + begin + exit(ManagementFeesTok); + end; + + procedure AnnualInterrimReports(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualInterrimReportsName())); + end; + + procedure AnnualInterrimReportsName(): Text[100] + begin + exit(AnnualInterrimReportsTok); + end; + + procedure AnnualGeneralMeeting(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AnnualGeneralMeetingName())); + end; + + procedure AnnualGeneralMeetingName(): Text[100] + begin + exit(AnnualGeneralMeetingTok); + end; + + procedure AuditandAuditServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AuditandAuditServicesName())); + end; + + procedure AuditandAuditServicesName(): Text[100] + begin + exit(AuditandAuditServicesTok); + end; + + procedure TaxAdvisoryServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxAdvisoryServicesName())); + end; + + procedure TaxAdvisoryServicesName(): Text[100] + begin + exit(TaxAdvisoryServicesTok); + end; + + procedure TotalManagementFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManagementFeesName())); + end; + + procedure TotalManagementFeesName(): Text[100] + begin + exit(TotalManagementFeesTok); + end; + + procedure TotalManagementandAdmin(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalManagementandAdminName())); + end; + + procedure TotalManagementandAdminName(): Text[100] + begin + exit(TotalManagementandAdminTok); + end; + + procedure BankingandInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingandInterestName())); + end; + + procedure BankingandInterestName(): Text[100] + begin + exit(BankingandInterestTok); + end; + + procedure BankingFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankingFeesName())); + end; + + procedure BankingFeesName(): Text[100] + begin + exit(BankingFeesTok); + end; + + procedure PayableInvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayableInvoiceRoundingName())); + end; + + procedure PayableInvoiceRoundingName(): Text[100] + begin + exit(PayableInvoiceRoundingTok); + end; + + procedure TotalBankingandInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBankingandInterestName())); + end; + + procedure TotalBankingandInterestName(): Text[100] + begin + exit(TotalBankingandInterestTok); + end; + + procedure ExternalServicesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalServicesExpensesName())); + end; + + procedure ExternalServicesExpensesName(): Text[100] + begin + exit(ExternalServicesExpensesTok); + end; + + procedure ExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExternalServicesName())); + end; + + procedure ExternalServicesName(): Text[100] + begin + exit(ExternalServicesTok); + end; + + procedure AccountingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountingServicesName())); + end; + + procedure AccountingServicesName(): Text[100] + begin + exit(AccountingServicesTok); + end; + + procedure ITServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ITServicesName())); + end; + + procedure ITServicesName(): Text[100] + begin + exit(ITServicesTok); + end; + + procedure MediaServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MediaServicesName())); + end; + + procedure MediaServicesName(): Text[100] + begin + exit(MediaServicesTok); + end; + + procedure ConsultingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingServicesName())); + end; + + procedure ConsultingServicesName(): Text[100] + begin + exit(ConsultingServicesTok); + end; + + procedure LegalFeesandAttorneyServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalFeesandAttorneyServicesName())); + end; + + procedure LegalFeesandAttorneyServicesName(): Text[100] + begin + exit(LegalFeesandAttorneyServicesTok); + end; + + procedure OtherExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExternalServicesName())); + end; + + procedure OtherExternalServicesName(): Text[100] + begin + exit(OtherExternalServicesTok); + end; + + procedure TotalExternalServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExternalServicesName())); + end; + + procedure TotalExternalServicesName(): Text[100] + begin + exit(TotalExternalServicesTok); + end; + + procedure OtherExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherExternalExpensesName())); + end; + + procedure OtherExternalExpensesName(): Text[100] + begin + exit(OtherExternalExpensesTok); + end; + + procedure LicenseFeesRoyalties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LicenseFeesRoyaltiesName())); + end; + + procedure LicenseFeesRoyaltiesName(): Text[100] + begin + exit(LicenseFeesRoyaltiesTok); + end; + + procedure TrademarksPatents(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrademarksPatentsName())); + end; + + procedure TrademarksPatentsName(): Text[100] + begin + exit(TrademarksPatentsTok); + end; + + procedure AssociationFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssociationFeesName())); + end; + + procedure AssociationFeesName(): Text[100] + begin + exit(AssociationFeesTok); + end; + + procedure MiscExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscExternalExpensesName())); + end; + + procedure MiscExternalExpensesName(): Text[100] + begin + exit(MiscExternalExpensesTok); + end; + + procedure PurchaseDiscounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseDiscountsName())); + end; + + procedure PurchaseDiscountsName(): Text[100] + begin + exit(PurchaseDiscountsTok); + end; + + procedure TotalOtherExternalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherExternalExpensesName())); + end; + + procedure TotalOtherExternalExpensesName(): Text[100] + begin + exit(TotalOtherExternalExpensesTok); + end; + + procedure TotalExternalServicesExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExternalServicesExpensesName())); + end; + + procedure TotalExternalServicesExpensesName(): Text[100] + begin + exit(TotalExternalServicesExpensesTok); + end; + + procedure Personnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelName())); + end; + + procedure PersonnelName(): Text[100] + begin + exit(PersonnelTok); + end; + + procedure WagesandSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesandSalariesName())); + end; + + procedure WagesandSalariesName(): Text[100] + begin + exit(WagesandSalariesTok); + end; + + procedure HourlyWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HourlyWagesName())); + end; + + procedure HourlyWagesName(): Text[100] + begin + exit(HourlyWagesTok); + end; + + procedure OvertimeWages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OvertimeWagesName())); + end; + + procedure OvertimeWagesName(): Text[100] + begin + exit(OvertimeWagesTok); + end; + + procedure Bonuses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BonusesName())); + end; + + procedure BonusesName(): Text[100] + begin + exit(BonusesTok); + end; + + procedure CommissionsPaid(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CommissionsPaidName())); + end; + + procedure CommissionsPaidName(): Text[100] + begin + exit(CommissionsPaidTok); + end; + + procedure PTOAccrued(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PTOAccruedName())); + end; + + procedure PTOAccruedName(): Text[100] + begin + exit(PTOAccruedTok); + end; + + procedure TotalWagesandSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWagesandSalariesName())); + end; + + procedure TotalWagesandSalariesName(): Text[100] + begin + exit(TotalWagesandSalariesTok); + end; + + procedure BenefitsPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitsPensionName())); + end; + + procedure BenefitsPensionName(): Text[100] + begin + exit(BenefitsPensionTok); + end; + + procedure Benefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BenefitsName())); + end; + + procedure BenefitsName(): Text[100] + begin + exit(BenefitsTok); + end; + + procedure TrainingCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TrainingCostsName())); + end; + + procedure TrainingCostsName(): Text[100] + begin + exit(TrainingCostsTok); + end; + + procedure HealthCareContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthCareContributionsName())); + end; + + procedure HealthCareContributionsName(): Text[100] + begin + exit(HealthCareContributionsTok); + end; + + procedure EntertainmentofPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EntertainmentofPersonnelName())); + end; + + procedure EntertainmentofPersonnelName(): Text[100] + begin + exit(EntertainmentofPersonnelTok); + end; + + procedure MandatoryClothingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MandatoryClothingExpensesName())); + end; + + procedure MandatoryClothingExpensesName(): Text[100] + begin + exit(MandatoryClothingExpensesTok); + end; + + procedure OtherCashRemunerationBenefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCashRemunerationBenefitsName())); + end; + + procedure OtherCashRemunerationBenefitsName(): Text[100] + begin + exit(OtherCashRemunerationBenefitsTok); + end; + + procedure TotalBenefits(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBenefitsName())); + end; + + procedure TotalBenefitsName(): Text[100] + begin + exit(TotalBenefitsTok); + end; + + procedure Pension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionName())); + end; + + procedure PensionName(): Text[100] + begin + exit(PensionTok); + end; + + procedure PensionFeesandRecurringCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PensionFeesandRecurringCostsName())); + end; + + procedure PensionFeesandRecurringCostsName(): Text[100] + begin + exit(PensionFeesandRecurringCostsTok); + end; + + procedure EmployerContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployerContributionsName())); + end; + + procedure EmployerContributionsName(): Text[100] + begin + exit(EmployerContributionsTok); + end; + + procedure TotalPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPensionName())); + end; + + procedure TotalPensionName(): Text[100] + begin + exit(TotalPensionTok); + end; + + procedure TotalBenefitsPension(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBenefitsPensionName())); + end; + + procedure TotalBenefitsPensionName(): Text[100] + begin + exit(TotalBenefitsPensionTok); + end; + + procedure InsurancesPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InsurancesPersonnelName())); + end; + + procedure InsurancesPersonnelName(): Text[100] + begin + exit(InsurancesPersonnelTok); + end; + + procedure HealthInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HealthInsuranceName())); + end; + + procedure HealthInsuranceName(): Text[100] + begin + exit(HealthInsuranceTok); + end; + + procedure DentalInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DentalInsuranceName())); + end; + + procedure DentalInsuranceName(): Text[100] + begin + exit(DentalInsuranceTok); + end; + + procedure WorkersCompensation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkersCompensationName())); + end; + + procedure WorkersCompensationName(): Text[100] + begin + exit(WorkersCompensationTok); + end; + + procedure LifeInsurance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LifeInsuranceName())); + end; + + procedure LifeInsuranceName(): Text[100] + begin + exit(LifeInsuranceTok); + end; + + procedure TotalInsurancesPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInsurancesPersonnelName())); + end; + + procedure TotalInsurancesPersonnelName(): Text[100] + begin + exit(TotalInsurancesPersonnelTok); + end; + + procedure PersonnelTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelTaxesName())); + end; + + procedure PersonnelTaxesName(): Text[100] + begin + exit(PersonnelTaxesTok); + end; + + procedure FederalPersonnelTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FederalPersonnelTaxesName())); + end; + + procedure FederalPersonnelTaxesName(): Text[100] + begin + exit(FederalPersonnelTaxesTok); + end; + + procedure FederalWithholdingExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FederalWithholdingExpenseName())); + end; + + procedure FederalWithholdingExpenseName(): Text[100] + begin + exit(FederalWithholdingExpenseTok); + end; + + procedure FICAExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FICAExpenseName())); + end; + + procedure FICAExpenseName(): Text[100] + begin + exit(FICAExpenseTok); + end; + + procedure FUTAExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FUTAExpenseName())); + end; + + procedure FUTAExpenseName(): Text[100] + begin + exit(FUTAExpenseTok); + end; + + procedure MedicareExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MedicareExpenseName())); + end; + + procedure MedicareExpenseName(): Text[100] + begin + exit(MedicareExpenseTok); + end; + + procedure OtherFederalExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherFederalExpenseName())); + end; + + procedure OtherFederalExpenseName(): Text[100] + begin + exit(OtherFederalExpenseTok); + end; + + procedure TotalFederalPersonnelTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFederalPersonnelTaxesName())); + end; + + procedure TotalFederalPersonnelTaxesName(): Text[100] + begin + exit(TotalFederalPersonnelTaxesTok); + end; + + procedure StatePersonnelTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatePersonnelTaxesName())); + end; + + procedure StatePersonnelTaxesName(): Text[100] + begin + exit(StatePersonnelTaxesTok); + end; + + procedure StateWithholdingExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StateWithholdingExpenseName())); + end; + + procedure StateWithholdingExpenseName(): Text[100] + begin + exit(StateWithholdingExpenseTok); + end; + + procedure SUTAExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SUTAExpenseName())); + end; + + procedure SUTAExpenseName(): Text[100] + begin + exit(SUTAExpenseTok); + end; + + procedure TotalStatePersonnelTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalStatePersonnelTaxesName())); + end; + + procedure TotalStatePersonnelTaxesName(): Text[100] + begin + exit(TotalStatePersonnelTaxesTok); + end; + + procedure TotalPersonnelTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelTaxesName())); + end; + + procedure TotalPersonnelTaxesName(): Text[100] + begin + exit(TotalPersonnelTaxesTok); + end; + + procedure TotalPersonnel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelName())); + end; + + procedure TotalPersonnelName(): Text[100] + begin + exit(TotalPersonnelTok); + end; + + procedure Depreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationName())); + end; + + procedure DepreciationName(): Text[100] + begin + exit(DepreciationTok); + end; + + procedure TotalDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalDepreciationName())); + end; + + procedure TotalDepreciationName(): Text[100] + begin + exit(TotalDepreciationTok); + end; + + procedure MiscExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscExpensesName())); + end; + + procedure MiscExpensesName(): Text[100] + begin + exit(MiscExpensesTok); + end; + + procedure CurrencyLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrencyLossesName())); + end; + + procedure CurrencyLossesName(): Text[100] + begin + exit(CurrencyLossesTok); + end; + + procedure TotalMiscExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMiscExpensesName())); + end; + + procedure TotalMiscExpensesName(): Text[100] + begin + exit(TotalMiscExpensesTok); + end; + + procedure TotalExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalExpensesName())); + end; + + procedure TotalExpensesName(): Text[100] + begin + exit(TotalExpensesTok); + end; + + procedure IntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IntangibleFixedAssetsName())); + end; + + procedure IntangibleFixedAssetsName(): Text[100] + begin + exit(IntangibleFixedAssetsTok); + end; + + procedure DevelopmentExpenditure(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DevelopmentExpenditureName())); + end; + + procedure DevelopmentExpenditureName(): Text[100] + begin + exit(DevelopmentExpenditureTok); + end; + + procedure TenancySiteLeaseHoldandSimilarRights(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TenancySiteLeaseHoldandSimilarRightsName())); + end; + + procedure TenancySiteLeaseHoldandSimilarRightsName(): Text[100] + begin + exit(TenancySiteLeaseHoldandSimilarRightsTok); + end; + + procedure Goodwill(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodwillName())); + end; + + procedure GoodwillName(): Text[100] + begin + exit(GoodwillTok); + end; + + procedure AdvancedPaymentsforIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsforIntangibleFixedAssetsName())); + end; + + procedure AdvancedPaymentsforIntangibleFixedAssetsName(): Text[100] + begin + exit(AdvancedPaymentsforIntangibleFixedAssetsTok); + end; + + procedure TotalIntangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalIntangibleFixedAssetsName())); + end; + + procedure TotalIntangibleFixedAssetsName(): Text[100] + begin + exit(TotalIntangibleFixedAssetsTok); + end; + + procedure LandandBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandandBuildingsName())); + end; + + procedure LandandBuildingsName(): Text[100] + begin + exit(LandandBuildingsTok); + end; + + procedure Building(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BuildingName())); + end; + + procedure BuildingName(): Text[100] + begin + exit(BuildingTok); + end; + + procedure CostofImprovementstoLeasedProperty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofImprovementstoLeasedPropertyName())); + end; + + procedure CostofImprovementstoLeasedPropertyName(): Text[100] + begin + exit(CostofImprovementstoLeasedPropertyTok); + end; + + procedure Land(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandName())); + end; + + procedure LandName(): Text[100] + begin + exit(LandTok); + end; + + procedure TotalLandandbuilding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLandandbuildingName())); + end; + + procedure TotalLandandbuildingName(): Text[100] + begin + exit(TotalLandandbuildingTok); + end; + + procedure MachineryandEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MachineryandEquipmentName())); + end; + + procedure MachineryandEquipmentName(): Text[100] + begin + exit(MachineryandEquipmentTok); + end; + + procedure EquipmentsandTools(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquipmentsandToolsName())); + end; + + procedure EquipmentsandToolsName(): Text[100] + begin + exit(EquipmentsandToolsTok); + end; + + procedure Computers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ComputersName())); + end; + + procedure ComputersName(): Text[100] + begin + exit(ComputersTok); + end; + + procedure CarsandOtherTransportEquipments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CarsandOtherTransportEquipmentsName())); + end; + + procedure CarsandOtherTransportEquipmentsName(): Text[100] + begin + exit(CarsandOtherTransportEquipmentsTok); + end; + + procedure LeasedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LeasedAssetsName())); + end; + + procedure LeasedAssetsName(): Text[100] + begin + exit(LeasedAssetsTok); + end; + + procedure TotalMachineryandEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalMachineryandEquipmentName())); + end; + + procedure TotalMachineryandEquipmentName(): Text[100] + begin + exit(TotalMachineryandEquipmentTok); + end; + + procedure AccumulatedDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumulatedDepreciationName())); + end; + + procedure AccumulatedDepreciationName(): Text[100] + begin + exit(AccumulatedDepreciationTok); + end; + + procedure TotalTangibleAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTangibleAssetsName())); + end; + + procedure TotalTangibleAssetsName(): Text[100] + begin + exit(TotalTangibleAssetsTok); + end; + + procedure FinancialandFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinancialandFixedAssetsName())); + end; + + procedure FinancialandFixedAssetsName(): Text[100] + begin + exit(FinancialandFixedAssetsTok); + end; + + procedure LongTermReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongTermReceivablesName())); + end; + + procedure LongTermReceivablesName(): Text[100] + begin + exit(LongTermReceivablesTok); + end; + + procedure ParticipationinGroupCompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ParticipationinGroupCompaniesName())); + end; + + procedure ParticipationinGroupCompaniesName(): Text[100] + begin + exit(ParticipationinGroupCompaniesTok); + end; + + procedure LoanstoPartnersorRelatedParties(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LoanstoPartnersorRelatedPartiesName())); + end; + + procedure LoanstoPartnersorRelatedPartiesName(): Text[100] + begin + exit(LoanstoPartnersorRelatedPartiesTok); + end; + + procedure DeferredTaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxAssetsName())); + end; + + procedure DeferredTaxAssetsName(): Text[100] + begin + exit(DeferredTaxAssetsTok); + end; + + procedure OtherLongTermReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLongTermReceivablesName())); + end; + + procedure OtherLongTermReceivablesName(): Text[100] + begin + exit(OtherLongTermReceivablesTok); + end; + + procedure TotalFinancialandFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFinancialandFixedAssetsName())); + end; + + procedure TotalFinancialandFixedAssetsName(): Text[100] + begin + exit(TotalFinancialandFixedAssetsTok); + end; + + procedure InventoriesProductsandWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoriesProductsandWorkinProgressName())); + end; + + procedure InventoriesProductsandWorkinProgressName(): Text[100] + begin + exit(InventoriesProductsandWorkinProgressTok); + end; + + procedure SuppliesandConsumables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SuppliesandConsumablesName())); + end; + + procedure SuppliesandConsumablesName(): Text[100] + begin + exit(SuppliesandConsumablesTok); + end; + + procedure ProductsinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProductsinProgressName())); + end; + + procedure ProductsinProgressName(): Text[100] + begin + exit(ProductsinProgressTok); + end; + + procedure FinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsName())); + end; + + procedure FinishedGoodsName(): Text[100] + begin + exit(FinishedGoodsTok); + end; + + procedure GoodsforResale(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GoodsforResaleName())); + end; + + procedure GoodsforResaleName(): Text[100] + begin + exit(GoodsforResaleTok); + end; + + procedure AdvancedPaymentsforGoodsandServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancedPaymentsforGoodsandServicesName())); + end; + + procedure AdvancedPaymentsforGoodsandServicesName(): Text[100] + begin + exit(AdvancedPaymentsforGoodsandServicesTok); + end; + + procedure OtherInventoryItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherInventoryItemsName())); + end; + + procedure OtherInventoryItemsName(): Text[100] + begin + exit(OtherInventoryItemsTok); + end; + + procedure WorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkinProgressName())); + end; + + procedure WorkinProgressName(): Text[100] + begin + exit(WorkinProgressTok); + end; + + procedure WorkinProgressFinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WorkinProgressFinishedGoodsName())); + end; + + procedure WorkinProgressFinishedGoodsName(): Text[100] + begin + exit(WorkinProgressFinishedGoodsTok); + end; + + procedure WIPAccruedCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPAccruedCostsName())); + end; + + procedure WIPAccruedCostsName(): Text[100] + begin + exit(WIPAccruedCostsTok); + end; + + procedure WIPInvoicedSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPInvoicedSalesName())); + end; + + procedure WIPInvoicedSalesName(): Text[100] + begin + exit(WIPInvoicedSalesTok); + end; + + procedure TotalWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalWorkinProgressName())); + end; + + procedure TotalWorkinProgressName(): Text[100] + begin + exit(TotalWorkinProgressTok); + end; + + procedure Receivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ReceivablesName())); + end; + + procedure ReceivablesName(): Text[100] + begin + exit(ReceivablesTok); + end; + + procedure AccountsReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivablesName())); + end; + + procedure AccountsReceivablesName(): Text[100] + begin + exit(AccountsReceivablesTok); + end; + + procedure AccountReceivableDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountReceivableDomesticName())); + end; + + procedure AccountReceivableDomesticName(): Text[100] + begin + exit(AccountReceivableDomesticTok); + end; + + procedure InvoiceRoundingName(): Text[100] + begin + exit(InvoiceRoundingLbl); + end; + + procedure InvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoiceRoundingName())); + end; + + procedure AccountReceivableForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountReceivableForeignName())); + end; + + procedure AccountReceivableForeignName(): Text[100] + begin + exit(AccountReceivableForeignTok); + end; + + procedure ContractualReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContractualReceivablesName())); + end; + + procedure ContractualReceivablesName(): Text[100] + begin + exit(ContractualReceivablesTok); + end; + + procedure ConsignmentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsignmentReceivablesName())); + end; + + procedure ConsignmentReceivablesName(): Text[100] + begin + exit(ConsignmentReceivablesTok); + end; + + procedure CreditcardsandVouchersReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CreditcardsandVouchersReceivablesName())); + end; + + procedure CreditcardsandVouchersReceivablesName(): Text[100] + begin + exit(CreditcardsandVouchersReceivablesTok); + end; + + procedure TotalAccountReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAccountReceivablesName())); + end; + + procedure TotalAccountReceivablesName(): Text[100] + begin + exit(TotalAccountReceivablesTok); + end; + + procedure OtherCurrentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentReceivablesName())); + end; + + procedure OtherCurrentReceivablesName(): Text[100] + begin + exit(OtherCurrentReceivablesTok); + end; + + procedure CurrentReceivablefromEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivablefromEmployeesName())); + end; + + procedure CurrentReceivablefromEmployeesName(): Text[100] + begin + exit(CurrentReceivablefromEmployeesTok); + end; + + procedure AccruedincomenotYetInvoiced(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedincomenotYetInvoicedName())); + end; + + procedure AccruedincomenotYetInvoicedName(): Text[100] + begin + exit(AccruedincomenotYetInvoicedTok); + end; + + procedure ClearingAccountsforTaxesandCharges(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountsforTaxesandChargesName())); + end; + + procedure ClearingAccountsforTaxesandChargesName(): Text[100] + begin + exit(ClearingAccountsforTaxesandChargesTok); + end; + + procedure TaxAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxAssetsName())); + end; + + procedure TaxAssetsName(): Text[100] + begin + exit(TaxAssetsTok); + end; + + procedure CurrentReceivablesFromGroupCompanies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentReceivablesFromGroupCompaniesName())); + end; + + procedure CurrentReceivablesFromGroupCompaniesName(): Text[100] + begin + exit(CurrentReceivablesFromGroupCompaniesTok); + end; + + procedure TotalOtherCurrentReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherCurrentReceivablesName())); + end; + + procedure TotalOtherCurrentReceivablesName(): Text[100] + begin + exit(TotalOtherCurrentReceivablesTok); + end; + + procedure TotalReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalReceivablesName())); + end; + + procedure TotalReceivablesName(): Text[100] + begin + exit(TotalReceivablesTok); + end; + + procedure PrepaidexpensesandAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidexpensesandAccruedIncomeName())); + end; + + procedure PrepaidexpensesandAccruedIncomeName(): Text[100] + begin + exit(PrepaidexpensesandAccruedIncomeTok); + end; + + procedure PrepaidRent(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidRentName())); + end; + + procedure PrepaidRentName(): Text[100] + begin + exit(PrepaidRentTok); + end; + + procedure PrepaidInterestExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrepaidInterestExpenseName())); + end; + + procedure PrepaidInterestExpenseName(): Text[100] + begin + exit(PrepaidInterestExpenseTok); + end; + + procedure AccruedRentalIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedRentalIncomeName())); + end; + + procedure AccruedRentalIncomeName(): Text[100] + begin + exit(AccruedRentalIncomeTok); + end; + + procedure AccruedInterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedInterestIncomeName())); + end; + + procedure AccruedInterestIncomeName(): Text[100] + begin + exit(AccruedInterestIncomeTok); + end; + + procedure AssetsInFormOfPrepaidExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssetsInFormOfPrepaidExpensesName())); + end; + + procedure AssetsInFormOfPrepaidExpensesName(): Text[100] + begin + exit(AssetsInFormOfPrepaidExpensesTok); + end; + + procedure OtherPrepaidExpensesAndAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherPrepaidExpensesAndAccruedIncomeName())); + end; + + procedure OtherPrepaidExpensesAndAccruedIncomeName(): Text[100] + begin + exit(OtherPrepaidExpensesAndAccruedIncomeTok); + end; + + procedure TotalPrepaidExpensesAndAccruedIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPrepaidExpensesAndAccruedIncomeName())); + end; + + procedure TotalPrepaidExpensesAndAccruedIncomeName(): Text[100] + begin + exit(TotalPrepaidExpensesAndAccruedIncomeTok); + end; + + procedure ShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShortTermInvestmentsName())); + end; + + procedure ShortTermInvestmentsName(): Text[100] + begin + exit(ShortTermInvestmentsTok); + end; + + procedure ConvertibleDebtInstruments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertibleDebtInstrumentsName())); + end; + + procedure ConvertibleDebtInstrumentsName(): Text[100] + begin + exit(ConvertibleDebtInstrumentsTok); + end; + + procedure OtherShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherShortTermInvestmentsName())); + end; + + procedure OtherShortTermInvestmentsName(): Text[100] + begin + exit(OtherShortTermInvestmentsTok); + end; + + procedure WriteDownofShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WriteDownofShortTermInvestmentsName())); + end; + + procedure WriteDownofShortTermInvestmentsName(): Text[100] + begin + exit(WriteDownofShortTermInvestmentsTok); + end; + + procedure TotalShortTermInvestments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalShortTermInvestmentsName())); + end; + + procedure TotalShortTermInvestmentsName(): Text[100] + begin + exit(TotalShortTermInvestmentsTok); + end; + + procedure CashandBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashandBankName())); + end; + + procedure CashandBankName(): Text[100] + begin + exit(CashandBankTok); + end; + + procedure BusinessAccountOperatingDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessAccountOperatingDomesticName())); + end; + + procedure BusinessAccountOperatingDomesticName(): Text[100] + begin + exit(BusinessAccountOperatingDomesticTok); + end; + + procedure BusinessAccountOperatingForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BusinessAccountOperatingForeignName())); + end; + + procedure BusinessAccountOperatingForeignName(): Text[100] + begin + exit(BusinessAccountOperatingForeignTok); + end; + + procedure OtherBankAccounts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherBankAccountsName())); + end; + + procedure OtherBankAccountsName(): Text[100] + begin + exit(OtherBankAccountsTok); + end; + + procedure CertificateofDeposit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CertificateofDepositName())); + end; + + procedure CertificateofDepositName(): Text[100] + begin + exit(CertificateofDepositTok); + end; + + procedure TotalCashandBank(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCashandBankName())); + end; + + procedure TotalCashandBankName(): Text[100] + begin + exit(TotalCashandBankTok); + end; + + procedure Liability(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilityName())); + end; + + procedure LiabilityName(): Text[100] + begin + exit(LiabilityTok); + end; + + procedure BondsandDebentureLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BondsandDebentureLoansName())); + end; + + procedure BondsandDebentureLoansName(): Text[100] + begin + exit(BondsandDebentureLoansTok); + end; + + procedure ConvertiblesLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConvertiblesLoansName())); + end; + + procedure ConvertiblesLoansName(): Text[100] + begin + exit(ConvertiblesLoansTok); + end; + + procedure OtherLongTermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLongTermLiabilitiesName())); + end; + + procedure OtherLongTermLiabilitiesName(): Text[100] + begin + exit(OtherLongTermLiabilitiesTok); + end; + + procedure BankOverdraftFacilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankOverdraftFacilitiesName())); + end; + + procedure BankOverdraftFacilitiesName(): Text[100] + begin + exit(BankOverdraftFacilitiesTok); + end; + + procedure TotalLongTermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLongTermLiabilitiesName())); + end; + + procedure TotalLongTermLiabilitiesName(): Text[100] + begin + exit(TotalLongTermLiabilitiesTok); + end; + + procedure CurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLiabilitiesName())); + end; + + procedure CurrentLiabilitiesName(): Text[100] + begin + exit(CurrentLiabilitiesTok); + end; + + procedure AccountsPayableDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableDomesticName())); + end; + + procedure AccountsPayableDomesticName(): Text[100] + begin + exit(AccountsPayableDomesticTok); + end; + + procedure AccountsPayableForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableForeignName())); + end; + + procedure AccountsPayableForeignName(): Text[100] + begin + exit(AccountsPayableForeignTok); + end; + + procedure Advancesfromcustomers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvancesfromcustomersName())); + end; + + procedure AdvancesfromcustomersName(): Text[100] + begin + exit(AdvancesfromcustomersTok); + end; + + procedure ChangeinWorkinProgress(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ChangeinWorkinProgressName())); + end; + + procedure ChangeinWorkinProgressName(): Text[100] + begin + exit(ChangeinWorkinProgressTok); + end; + + procedure BankOverdraftShortTerm(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankOverdraftShortTermName())); + end; + + procedure BankOverdraftShortTermName(): Text[100] + begin + exit(BankOverdraftShortTermTok); + end; + + procedure TotalCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCurrentLiabilitiesName())); + end; + + procedure TotalCurrentLiabilitiesName(): Text[100] + begin + exit(TotalCurrentLiabilitiesTok); + end; + + procedure TaxLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TaxLiabilitiesName())); + end; + + procedure TaxLiabilitiesName(): Text[100] + begin + exit(TaxLiabilitiesTok); + end; + + procedure SalesTaxVATLiable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesTaxVATLiableName())); + end; + + procedure SalesTaxVATLiableName(): Text[100] + begin + exit(SalesTaxLiableTok); + end; + + procedure EstimatedIncomeTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedIncomeTaxName())); + end; + + procedure EstimatedIncomeTaxName(): Text[100] + begin + exit(EstimatedIncomeTaxTok); + end; + + procedure EstimatedPayrolltaxonPensionCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EstimatedPayrolltaxonPensionCostsName())); + end; + + procedure EstimatedPayrolltaxonPensionCostsName(): Text[100] + begin + exit(EstimatedPayrolltaxonPensionCostsTok); + end; + + procedure TotalTaxLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalTaxLiabilitiesName())); + end; + + procedure TotalTaxLiabilitiesName(): Text[100] + begin + exit(TotalTaxLiabilitiesTok); + end; + + procedure PayrollLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollLiabilitiesName())); + end; + + procedure PayrollLiabilitiesName(): Text[100] + begin + exit(PayrollLiabilitiesTok); + end; + + procedure EmployeesWithholdingTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeesWithholdingTaxesName())); + end; + + procedure EmployeesWithholdingTaxesName(): Text[100] + begin + exit(EmployeesWithholdingTaxesTok); + end; + + procedure StatutorySocialsecurityContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StatutorySocialsecurityContributionsName())); + end; + + procedure StatutorySocialsecurityContributionsName(): Text[100] + begin + exit(StatutorySocialsecurityContributionsTok); + end; + + procedure ContractualSocialSecurityContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ContractualSocialSecurityContributionsName())); + end; + + procedure ContractualSocialSecurityContributionsName(): Text[100] + begin + exit(ContractualSocialSecurityContributionsTok); + end; + + procedure AttachmentsofEarning(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AttachmentsofEarningName())); + end; + + procedure AttachmentsofEarningName(): Text[100] + begin + exit(AttachmentsofEarningTok); + end; + + procedure HolidayPayfund(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(HolidayPayfundName())); + end; + + procedure HolidayPayfundName(): Text[100] + begin + exit(HolidayPayfundTok); + end; + + procedure OtherSalaryWageDeductions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherSalaryWageDeductionsName())); + end; + + procedure OtherSalaryWageDeductionsName(): Text[100] + begin + exit(OtherSalaryWageDeductionsTok); + end; + + procedure TotalPayrollLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPayrollLiabilitiesName())); + end; + + procedure TotalPayrollLiabilitiesName(): Text[100] + begin + exit(TotalPayrollLiabilitiesTok); + end; + + procedure OtherCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCurrentLiabilitiesName())); + end; + + procedure OtherCurrentLiabilitiesName(): Text[100] + begin + exit(OtherCurrentLiabilitiesTok); + end; + + procedure ClearingAccountforFactoringCurrentPortion(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountforFactoringCurrentPortionName())); + end; + + procedure ClearingAccountforFactoringCurrentPortionName(): Text[100] + begin + exit(ClearingAccountforFactoringCurrentPortionTok); + end; + + procedure CurrentLiabilitiestoEmployees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLiabilitiestoEmployeesName())); + end; + + procedure CurrentLiabilitiestoEmployeesName(): Text[100] + begin + exit(CurrentLiabilitiestoEmployeesTok); + end; + + procedure ClearingAccountforThirdParty(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ClearingAccountforThirdPartyName())); + end; + + procedure ClearingAccountforThirdPartyName(): Text[100] + begin + exit(ClearingAccountforThirdPartyTok); + end; + + procedure CurrentLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentLoansName())); + end; + + procedure CurrentLoansName(): Text[100] + begin + exit(CurrentLoansTok); + end; + + procedure LiabilitiesGrantsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilitiesGrantsReceivedName())); + end; + + procedure LiabilitiesGrantsReceivedName(): Text[100] + begin + exit(LiabilitiesGrantsReceivedTok); + end; + + procedure TotalOtherCurrentLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOtherCurrentLiabilitiesName())); + end; + + procedure TotalOtherCurrentLiabilitiesName(): Text[100] + begin + exit(TotalOtherCurrentLiabilitiesTok); + end; + + procedure AccruedExpensesandDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedExpensesandDeferredIncomeName())); + end; + + procedure AccruedExpensesandDeferredIncomeName(): Text[100] + begin + exit(AccruedExpensesandDeferredIncomeTok); + end; + + procedure AccruedWagesSalaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedWagesSalariesName())); + end; + + procedure AccruedWagesSalariesName(): Text[100] + begin + exit(AccruedWagesSalariesTok); + end; + + procedure AccruedHolidayPay(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedHolidayPayName())); + end; + + procedure AccruedHolidayPayName(): Text[100] + begin + exit(AccruedHolidayPayTok); + end; + + procedure AccruedPensionCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedPensionCostsName())); + end; + + procedure AccruedPensionCostsName(): Text[100] + begin + exit(AccruedPensionCostsTok); + end; + + procedure AccruedInterestExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedInterestExpenseName())); + end; + + procedure AccruedInterestExpenseName(): Text[100] + begin + exit(AccruedInterestExpenseTok); + end; + + procedure DeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredIncomeName())); + end; + + procedure DeferredIncomeName(): Text[100] + begin + exit(DeferredIncomeTok); + end; + + procedure AccruedContractualCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedContractualCostsName())); + end; + + procedure AccruedContractualCostsName(): Text[100] + begin + exit(AccruedContractualCostsTok); + end; + + procedure OtherAccruedExpensesandDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherAccruedExpensesandDeferredIncomeName())); + end; + + procedure OtherAccruedExpensesandDeferredIncomeName(): Text[100] + begin + exit(OtherAccruedExpensesandDeferredIncomeTok); + end; + + procedure TotalAccruedExpensesandDeferredIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAccruedExpensesandDeferredIncomeName())); + end; + + procedure TotalAccruedExpensesandDeferredIncomeName(): Text[100] + begin + exit(TotalAccruedExpensesandDeferredIncomeTok); + end; + + procedure Equity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityName())); + end; + + procedure EquityName(): Text[100] + begin + exit(EquityTok); + end; + + procedure EquityPartner(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EquityPartnerName())); + end; + + procedure EquityPartnerName(): Text[100] + begin + exit(EquityPartnerTok); + end; + + procedure NetResults(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetResultsName())); + end; + + procedure NetResultsName(): Text[100] + begin + exit(NetResultsTok); + end; + + procedure RestrictedEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RestrictedEquityName())); + end; + + procedure RestrictedEquityName(): Text[100] + begin + exit(RestrictedEquityTok); + end; + + procedure ShareCapital(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShareCapitalName())); + end; + + procedure ShareCapitalName(): Text[100] + begin + exit(ShareCapitalTok); + end; + + procedure NonRestrictedEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NonRestrictedEquityName())); + end; + + procedure NonRestrictedEquityName(): Text[100] + begin + exit(NonRestrictedEquityTok); + end; + + procedure ProfitorLossFromthePreviousYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ProfitorLossFromthePreviousYearName())); + end; + + procedure ProfitorLossFromthePreviousYearName(): Text[100] + begin + exit(ProfitorLossFromthePreviousYearTok); + end; + + procedure ResultsfortheFinancialYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResultsfortheFinancialYearName())); + end; + + procedure ResultsfortheFinancialYearName(): Text[100] + begin + exit(ResultsfortheFinancialYearTok); + end; + + procedure DistributionstoShareholders(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DistributionstoShareholdersName())); + end; + + procedure DistributionstoShareholdersName(): Text[100] + begin + exit(DistributionstoShareholdersTok); + end; + + procedure TotalEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalEquityName())); + end; + + procedure TotalEquityName(): Text[100] + begin + exit(TotalEquityTok); + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + SaleofRawMaterialsLbl: Label 'Sale of Raw Materials', MaxLength = 100; + SaleofFinishedGoodsLbl: Label 'Sale of Finished Goods', MaxLength = 100; + SalesofGoodsLbl: Label 'Sales of Goods', MaxLength = 100; + IncomeLbl: Label 'Income', MaxLength = 100; + TotalSalesofGoodsTok: Label 'Total, Sales of Goods', MaxLength = 100; + SaleofResourcesTok: Label 'Sale of Resources', MaxLength = 100; + SaleofSubcontractingTok: Label 'Sale of Subcontracting', MaxLength = 100; + TotalSalesofResourcesTok: Label 'Total, Sales of Resources', MaxLength = 100; + AdditionalRevenueTok: Label 'Additional Revenue', MaxLength = 100; + IncomeFromSecuritiesTok: Label 'Income from securities', MaxLength = 100; + ManagementFeeRevenueTok: Label 'Management Fee Revenue', MaxLength = 100; + CurrencyGainsTok: Label 'Currency Gains', MaxLength = 100; + OtherIncidentalRevenueTok: Label 'Other Incidental Revenue', MaxLength = 100; + TotalAdditionalRevenueTok: Label 'Total, Additional Revenue', MaxLength = 100; + JobsandServicesTok: Label 'Jobs and Services', MaxLength = 100; + JobSalesAppliedTok: Label 'Job Sales Applied', MaxLength = 100; + SalesofServiceContractsTok: Label 'Sales of Service Contracts', MaxLength = 100; + TotalJobsandServicesTok: Label 'Total, Jobs and Services', MaxLength = 100; + RevenueReductionsTok: Label 'Revenue Reductions', MaxLength = 100; + DiscountsandAllowancesTok: Label 'Discounts and Allowances', MaxLength = 100; + InvoiceRoundingTok: Label 'Invoice Rounding', MaxLength = 100; + PaymentToleranceTok: Label 'Payment Tolerance', MaxLength = 100; + SalesReturnsTok: Label 'Sales Returns', MaxLength = 100; + TotalRevenueReductionsTok: Label 'Total, Revenue Reductions', MaxLength = 100; + TotalIncomeTok: Label 'TOTAL INCOME', MaxLength = 100; + CostofGoodsSoldTok: Label 'COST OF GOODS SOLD', MaxLength = 100; + CostofGoodsTok: Label 'Cost of Goods', MaxLength = 100; + CostofMaterialsProjectsTok: Label 'Cost of Materials, Projects', MaxLength = 100; + TotalCostofGoodsTok: Label 'Total, Cost of Goods', MaxLength = 100; + CostofResourcesandServicesTok: Label 'Cost of Resources and Services', MaxLength = 100; + CostofLaborTok: Label 'Cost of Labor', MaxLength = 100; + CostofLaborProjectsTok: Label 'Cost of Labor, Projects', MaxLength = 100; + CostofLaborWarrantyContractTok: Label 'Cost of Labor, Warranty/Contract', MaxLength = 100; + TotalCostofResourcesTok: Label 'Total, Cost of Resources', MaxLength = 100; + SubcontractedWorkTok: Label 'Subcontracted work', MaxLength = 100; + CostofVariancesTok: Label 'Cost of Variances', MaxLength = 100; + TotalCostofGoodsSoldTok: Label 'TOTAL COST OF GOODS SOLD', MaxLength = 100; + ExpenseTok: Label 'EXPENSES', MaxLength = 100; + FacilityExpensesTok: Label 'Facility Expenses', MaxLength = 100; + RentalFacilitiesTok: Label 'Rental Facilities', MaxLength = 100; + RentLeasesTok: Label 'Rent / Leases', MaxLength = 100; + ElectricityforRentalTok: Label 'Electricity for Rental', MaxLength = 100; + HeatingforRentalTok: Label 'Heating for Rental', MaxLength = 100; + WaterandSewerageforRentalTok: Label 'Water and Sewerage for Rental', MaxLength = 100; + CleaningandWasteforRentalTok: Label 'Cleaning and Waste for Rental', MaxLength = 100; + RepairsandMaintenanceforRentalTok: Label 'Repairs and Maintenance for Rental', MaxLength = 100; + InsurancesRentalTok: Label 'Insurances, Rental', MaxLength = 100; + OtherRentalExpensesTok: Label 'Other Rental Expenses', MaxLength = 100; + TotalRentalFacilitiesTok: Label 'Total, Rental Facilities', MaxLength = 100; + PropertyExpensesTok: Label 'Property Expenses', MaxLength = 100; + SiteFeesLeasesTok: Label 'Site Fees / Leases', MaxLength = 100; + ElectricityforPropertyTok: Label 'Electricity for Property', MaxLength = 100; + HeatingforPropertyTok: Label 'Heating for Property', MaxLength = 100; + WaterandSewerageforPropertyTok: Label 'Water and Sewerage for Property', MaxLength = 100; + CleaningandWasteforPropertyTok: Label 'Cleaning and Waste for Property', MaxLength = 100; + RepairsandMaintenanceforPropertyTok: Label 'Repairs and Maintenance for Property', MaxLength = 100; + InsurancesPropertyTok: Label 'Insurances, Property', MaxLength = 100; + OtherPropertyExpensesTok: Label 'Other Property Expenses', MaxLength = 100; + TotalPropertyExpensesTok: Label 'Total, Property Expenses', MaxLength = 100; + TotalFacilityExpensesTok: Label 'Total, Facility Expenses', MaxLength = 100; + FixedAssetsLeasesTok: Label 'Fixed Assets Leases', MaxLength = 100; + HireofMachineryTok: Label 'Hire of machinery', MaxLength = 100; + HireofComputersTok: Label 'Hire of computers', MaxLength = 100; + HireofOtherFixedAssetsTok: Label 'Hire of other fixed assets', MaxLength = 100; + TotalFixedAssetLeasesTok: Label 'Total, Fixed Asset Leases', MaxLength = 100; + LogisticsExpensesTok: Label 'Logistics Expenses', MaxLength = 100; + PassengerCarCostsTok: Label 'Passenger Car Costs', MaxLength = 100; + TruckCostsTok: Label 'Truck Costs', MaxLength = 100; + OtherVehicleExpensesTok: Label 'Other vehicle expenses', MaxLength = 100; + TotalVehicleExpensesTok: Label 'Total, Vehicle Expenses', MaxLength = 100; + FreightCostsTok: Label 'Freight Costs', MaxLength = 100; + FreightFeesForGoodsTok: Label 'Freight fees for goods', MaxLength = 100; + CustomsandForwardingTok: Label 'Customs and forwarding', MaxLength = 100; + FreightFeesProjectsTok: Label 'Freight fees, projects', MaxLength = 100; + TotalFreightCostsTok: Label 'Total, Freight Costs', MaxLength = 100; + TravelExpensesTok: Label 'Travel Expenses', MaxLength = 100; + TicketsTok: Label 'Tickets', MaxLength = 100; + RentalVehiclesTok: Label 'Rental vehicles', MaxLength = 100; + BoardandLodgingTok: Label 'Board and lodging', MaxLength = 100; + OtherTravelExpensesTok: Label 'Other travel expenses', MaxLength = 100; + TotalTravelExpensesTok: Label 'Total, Travel Expenses', MaxLength = 100; + TotalLogisticsExpensesTok: Label 'Total, Logistics Expenses', MaxLength = 100; + MarketingandSalesTok: Label 'Marketing and Sales', MaxLength = 100; + AdvertisementDevelopmentTok: Label 'Advertisement Development', MaxLength = 100; + OutdoorandTransportationAdsTok: Label 'Outdoor and Transportation Ads', MaxLength = 100; + AdMatterandDirectMailingsTok: Label 'Ad matter and direct mailings', MaxLength = 100; + ConferenceExhibitionSponsorshipTok: Label 'Conference/Exhibition Sponsorship', MaxLength = 100; + SamplesContestsGiftsTok: Label 'Samples, contests, gifts', MaxLength = 100; + FilmTVRadioInternetAdsTok: Label 'Film, TV, radio, internet ads', MaxLength = 100; + PRandAgencyFeesTok: Label 'PR and Agency Fees', MaxLength = 100; + OtherAdvertisingFeesTok: Label 'Other advertising fees', MaxLength = 100; + TotalAdvertisingTok: Label 'Total, Advertising', MaxLength = 100; + OtherMarketingExpensesTok: Label 'Other Marketing Expenses', MaxLength = 100; + CatalogsPriceListsTok: Label 'Catalogs, price lists', MaxLength = 100; + TradePublicationsTok: Label 'Trade Publications', MaxLength = 100; + TotalOtherMarketingExpensesTok: Label 'Total, Other Marketing Expenses', MaxLength = 100; + SalesExpensesTok: Label 'Sales Expenses', MaxLength = 100; + CreditCardChargesTok: Label 'Credit Card Charges', MaxLength = 100; + BusinessEntertainingDeductibleTok: Label 'Business Entertaining, deductible', MaxLength = 100; + BusinessEntertainingNonDeductibleTok: Label 'Business Entertaining, nondeductible', MaxLength = 100; + TotalSalesExpensesTok: Label 'Total, Sales Expenses', MaxLength = 100; + TotalMarketingandSalesTok: Label 'Total, Marketing and Sales', MaxLength = 100; + OfficeExpensesTok: Label 'Office Expenses', MaxLength = 100; + PhoneServicesTok: Label 'Phone Services', MaxLength = 100; + DataservicesTok: Label 'Data services', MaxLength = 100; + PostalFeesTok: Label 'Postal fees', MaxLength = 100; + ConsumableExpensibleHardwareTok: Label 'Consumable/Expensible hardware', MaxLength = 100; + SoftwareandSubscriptionFeesTok: Label 'Software and subscription fees', MaxLength = 100; + TotalOfficeExpensesTok: Label 'Total, Office Expenses', MaxLength = 100; + InsurancesandRisksTok: Label 'Insurances and Risks', MaxLength = 100; + CorporateInsuranceTok: Label 'Corporate Insurance', MaxLength = 100; + DamagesPaidTok: Label 'Damages Paid', MaxLength = 100; + BadDebtLossesTok: Label 'Bad Debt Losses', MaxLength = 100; + SecurityServicesTok: Label 'Security services', MaxLength = 100; + OtherRiskExpensesTok: Label 'Other risk expenses', MaxLength = 100; + TotalInsurancesandRisksTok: Label 'Total, Insurances and Risks', MaxLength = 100; + ManagementandAdminTok: Label 'Management and Admin', MaxLength = 100; + ManagementTok: Label 'Management', MaxLength = 100; + RemunerationtoDirectorsTok: Label 'Remuneration to Directors', MaxLength = 100; + ManagementFeesTok: Label 'Management Fees', MaxLength = 100; + AnnualInterrimReportsTok: Label 'Annual/interrim Reports', MaxLength = 100; + AnnualGeneralMeetingTok: Label 'Annual/general meeting', MaxLength = 100; + AuditandAuditServicesTok: Label 'Audit and Audit Services', MaxLength = 100; + TaxAdvisoryServicesTok: Label 'Tax advisory Services', MaxLength = 100; + TotalManagementFeesTok: Label 'Total, Management Fees', MaxLength = 100; + TotalManagementandAdminTok: Label 'Total, Management and Admin', MaxLength = 100; + BankingandInterestTok: Label 'Banking and Interest', MaxLength = 100; + BankingFeesTok: Label 'Banking fees', MaxLength = 100; + PayableInvoiceRoundingTok: Label 'Payable Invoice Rounding', MaxLength = 100; + TotalBankingandInterestTok: Label 'Total, Banking and Interest', MaxLength = 100; + ExternalServicesExpensesTok: Label 'External Services/Expenses', MaxLength = 100; + ExternalServicesTok: Label 'External Services', MaxLength = 100; + AccountingServicesTok: Label 'Accounting Services', MaxLength = 100; + ITServicesTok: Label 'IT Services', MaxLength = 100; + MediaServicesTok: Label 'Media Services', MaxLength = 100; + ConsultingServicesTok: Label 'Consulting Services', MaxLength = 100; + LegalFeesandAttorneyServicesTok: Label 'Legal Fees and Attorney Services', MaxLength = 100; + OtherExternalServicesTok: Label 'Other External Services', MaxLength = 100; + TotalExternalServicesTok: Label 'Total, External Services', MaxLength = 100; + OtherExternalExpensesTok: Label 'Other External Expenses', MaxLength = 100; + LicenseFeesRoyaltiesTok: Label 'License Fees/Royalties', MaxLength = 100; + TrademarksPatentsTok: Label 'Trademarks/Patents', MaxLength = 100; + AssociationFeesTok: Label 'Association Fees', MaxLength = 100; + MiscExternalExpensesTok: Label 'Misc. external expenses', MaxLength = 100; + PurchaseDiscountsTok: Label 'Purchase Discounts', MaxLength = 100; + TotalOtherExternalExpensesTok: Label 'Total, Other External Expenses', MaxLength = 100; + TotalExternalServicesExpensesTok: Label 'Total, External Services/Expenses', MaxLength = 100; + PersonnelTok: Label 'Personnel', MaxLength = 100; + WagesandSalariesTok: Label 'Wages and Salaries', MaxLength = 100; + HourlyWagesTok: Label 'Hourly Wages', MaxLength = 100; + OvertimeWagesTok: Label 'Overtime Wages', MaxLength = 100; + BonusesTok: Label 'Bonuses', MaxLength = 100; + CommissionsPaidTok: Label 'Commissions Paid', MaxLength = 100; + PTOAccruedTok: Label 'PTO Accrued', MaxLength = 100; + TotalWagesandSalariesTok: Label 'Total, Wages and Salaries', MaxLength = 100; + BenefitsPensionTok: Label 'Benefits/Pension', MaxLength = 100; + BenefitsTok: Label 'Benefits', MaxLength = 100; + TrainingCostsTok: Label 'Training Costs', MaxLength = 100; + HealthCareContributionsTok: Label 'Health Care Contributions', MaxLength = 100; + EntertainmentofPersonnelTok: Label 'Entertainment of personnel', MaxLength = 100; + MandatoryClothingExpensesTok: Label 'Mandatory clothing expenses', MaxLength = 100; + OtherCashRemunerationBenefitsTok: Label 'Other cash/remuneration benefits', MaxLength = 100; + TotalBenefitsTok: Label 'Total, Benefits', MaxLength = 100; + PensionTok: Label 'Pension', MaxLength = 100; + PensionFeesandRecurringCostsTok: Label 'Pension fees and recurring costs', MaxLength = 100; + EmployerContributionsTok: Label 'Employer Contributions', MaxLength = 100; + TotalPensionTok: Label 'Total, Pension', MaxLength = 100; + TotalBenefitsPensionTok: Label 'Total, Benefits/Pension', MaxLength = 100; + InsurancesPersonnelTok: Label 'Insurances, Personnel', MaxLength = 100; + HealthInsuranceTok: Label 'Health Insurance', MaxLength = 100; + DentalInsuranceTok: Label 'Dental Insurance', MaxLength = 100; + WorkersCompensationTok: Label 'Worker''s Compensation', MaxLength = 100; + LifeInsuranceTok: Label 'Life Insurance', MaxLength = 100; + TotalInsurancesPersonnelTok: Label 'Total, Insurances, Personnel', MaxLength = 100; + PersonnelTaxesTok: Label 'Personnel Taxes', MaxLength = 100; + FederalPersonnelTaxesTok: Label 'Federal Personnel Taxes', MaxLength = 100; + FederalWithholdingExpenseTok: Label 'Federal Withholding Expense', MaxLength = 100; + FICAExpenseTok: Label 'FICA Expense', MaxLength = 100; + FUTAExpenseTok: Label 'FUTA Expense', MaxLength = 100; + MedicareExpenseTok: Label 'Medicare Expense', MaxLength = 100; + OtherFederalExpenseTok: Label 'Other Federal Expense', MaxLength = 100; + TotalFederalPersonnelTaxesTok: Label 'Total, Federal Personnel Taxes', MaxLength = 100; + StatePersonnelTaxesTok: Label 'State Personnel Taxes', MaxLength = 100; + StateWithholdingExpenseTok: Label 'State Withholding Expense', MaxLength = 100; + SUTAExpenseTok: Label 'SUTA Expense', MaxLength = 100; + TotalStatePersonnelTaxesTok: Label 'Total, State Personnel Taxes', MaxLength = 100; + TotalPersonnelTaxesTok: Label 'Total, Personnel Taxes', MaxLength = 100; + TotalPersonnelTok: Label 'Total, Personnel', MaxLength = 100; + DepreciationTok: Label 'Depreciation', MaxLength = 100; + TotalDepreciationTok: Label 'Total, Depreciation', MaxLength = 100; + MiscExpensesTok: Label 'Misc. Expenses', MaxLength = 100; + CurrencyLossesTok: Label 'Currency Losses', MaxLength = 100; + TotalMiscExpensesTok: Label 'Total, Misc. Expenses', MaxLength = 100; + TotalExpensesTok: Label 'TOTAL EXPENSES', MaxLength = 100; + InterestIncomeLbl: Label 'Interest Income', MaxLength = 100; + CostofMaterialsLbl: Label 'Cost of Materials', MaxLength = 100; + ResaleofGoodsLbl: Label 'Resale of Goods', MaxLength = 100; + SalesofServiceWorkLbl: Label 'Sales of Service Work', MaxLength = 100; + DiscountsandAllowancesLbl: Label 'Discounts and Allowances', MaxLength = 100; + DepreciationFixedAssetsLbl: Label 'Depreciation, Fixed Assets', MaxLength = 100; + DepreciationLandandPropertyLbl: Label 'Depreciation, Land and Property', MaxLength = 100; + InvoiceRoundingLbl: Label 'Invoice Rounding', MaxLength = 100; + TaxesLiableLbl: Label 'Taxes Liable', MaxLength = 100; + IntangibleFixedAssetsTok: Label 'Intangible Fixed Assets', MaxLength = 100; + DevelopmentExpenditureTok: Label 'Development Expenditure', MaxLength = 100; + TenancySiteLeaseHoldandSimilarRightsTok: Label 'Tenancy, Site Leasehold and similar rights', MaxLength = 100; + GoodwillTok: Label 'Goodwill', MaxLength = 100; + AdvancedPaymentsforIntangibleFixedAssetsTok: Label 'Advanced Payments for Intangible Fixed Assets', MaxLength = 100; + TotalIntangibleFixedAssetsTok: Label 'Total, Intangible Fixed Assets', MaxLength = 100; + LandandBuildingsTok: Label 'Land and Buildings', MaxLength = 100; + BuildingTok: Label 'Building', MaxLength = 100; + CostofImprovementstoLeasedPropertyTok: Label 'Cost of Improvements to Leased Property', MaxLength = 100; + LandTok: Label 'Land ', MaxLength = 100; + TotalLandandbuildingTok: Label 'Total, Land and Building', MaxLength = 100; + MachineryandEquipmentTok: Label 'Machinery and Equipment', MaxLength = 100; + EquipmentsandToolsTok: Label 'Equipments and Tools', MaxLength = 100; + ComputersTok: Label 'Computers', MaxLength = 100; + CarsandOtherTransportEquipmentsTok: Label 'Cars and other Transport Equipments', MaxLength = 100; + LeasedAssetsTok: Label 'Leased Assets', MaxLength = 100; + TotalMachineryandEquipmentTok: Label 'Total, Machinery and Equipment', MaxLength = 100; + AccumulatedDepreciationTok: Label 'Accumulated Depreciation', MaxLength = 100; + TotalTangibleAssetsTok: Label 'Total, Tangible Assets', MaxLength = 100; + FinancialandFixedAssetsTok: Label 'Financial and Fixed Assets', MaxLength = 100; + LongTermReceivablesTok: Label 'Long-term Receivables ', MaxLength = 100; + ParticipationinGroupCompaniesTok: Label 'Participation in Group Companies', MaxLength = 100; + LoanstoPartnersorRelatedPartiesTok: Label 'Loans to Partners or related Parties', MaxLength = 100; + DeferredTaxAssetsTok: Label 'Deferred Tax Assets', MaxLength = 100; + OtherLongTermReceivablesTok: Label 'Other Long-term Receivables', MaxLength = 100; + TotalFinancialandFixedAssetsTok: Label 'Total, Financial and Fixed Assets', MaxLength = 100; + InventoriesProductsandWorkinProgressTok: Label 'Inventories, Products and work in Progress', MaxLength = 100; + SuppliesandConsumablesTok: Label 'Supplies and Consumables', MaxLength = 100; + ProductsinProgressTok: Label 'Products in Progress', MaxLength = 100; + FinishedGoodsTok: Label 'Finished Goods', MaxLength = 100; + GoodsforResaleTok: Label 'Goods for Resale', MaxLength = 100; + AdvancedPaymentsforGoodsandServicesTok: Label 'Advanced Payments for goods and services', MaxLength = 100; + OtherInventoryItemsTok: Label 'Other Inventory Items', MaxLength = 100; + WorkinProgressTok: Label 'Work in Progress', MaxLength = 100; + WorkinProgressFinishedGoodsTok: Label 'Work in Progress, Finished Goods', MaxLength = 100; + WIPAccruedCostsTok: Label 'WIP, Accrued Costs', MaxLength = 100; + WIPInvoicedSalesTok: Label 'WIP, Invoiced Sales', MaxLength = 100; + TotalWorkinProgressTok: Label 'Total, Work in Progress', MaxLength = 100; + ReceivablesTok: Label 'Receivables', MaxLength = 100; + AccountsReceivablesTok: Label 'Accounts Receivables', MaxLength = 100; + AccountReceivableDomesticTok: Label 'Account Receivable, Domestic', MaxLength = 100; + AccountReceivableForeignTok: Label 'Account Receivable, Foreign', MaxLength = 100; + ContractualReceivablesTok: Label 'Contractual Receivables', MaxLength = 100; + ConsignmentReceivablesTok: Label 'Consignment Receivables', MaxLength = 100; + CreditcardsandVouchersReceivablesTok: Label 'Credit cards and Vouchers Receivables', MaxLength = 100; + TotalAccountReceivablesTok: Label 'Total, Account Receivables', MaxLength = 100; + OtherCurrentReceivablesTok: Label 'Other Current Receivables', MaxLength = 100; + CurrentReceivablefromEmployeesTok: Label 'Current Receivable from Employees', MaxLength = 100; + AccruedincomenotYetInvoicedTok: Label 'Accrued income not yet invoiced', MaxLength = 100; + ClearingAccountsforTaxesandChargesTok: Label 'Clearing Accounts for Taxes and charges', MaxLength = 100; + TaxAssetsTok: Label 'Tax Assets', MaxLength = 100; + CurrentReceivablesFromGroupCompaniesTok: Label 'Current Receivables from group companies', MaxLength = 100; + TotalOtherCurrentReceivablesTok: Label 'Total, Other Current Receivables', MaxLength = 100; + TotalReceivablesTok: Label 'Total, Receivables', MaxLength = 100; + PrepaidexpensesandAccruedIncomeTok: Label 'Prepaid expenses and Accrued Income', MaxLength = 100; + PrepaidRentTok: Label 'Prepaid Rent', MaxLength = 100; + PrepaidInterestExpenseTok: Label 'Prepaid Interest expense', MaxLength = 100; + AccruedRentalIncomeTok: Label 'Accrued Rental Income', MaxLength = 100; + AccruedInterestIncomeTok: Label 'Accrued Interest Income', MaxLength = 100; + AssetsInFormOfPrepaidExpensesTok: Label 'Assets in the form of prepaid expenses', MaxLength = 100; + OtherPrepaidExpensesAndAccruedIncomeTok: Label 'Other prepaid expenses and accrued income', MaxLength = 100; + TotalPrepaidExpensesAndAccruedIncomeTok: Label 'Total, Prepaid expenses and Accrued Income', MaxLength = 100; + ShortTermInvestmentsTok: Label 'Short-term investments', MaxLength = 100; + ConvertibleDebtInstrumentsTok: Label 'Convertible debt instruments', MaxLength = 100; + OtherShortTermInvestmentsTok: Label 'Other short-term Investments', MaxLength = 100; + WriteDownofShortTermInvestmentsTok: Label 'Write-down of Short-term investments', MaxLength = 100; + TotalShortTermInvestmentsTok: Label 'Total, short term investments', MaxLength = 100; + CashandBankTok: Label 'Cash and Bank', MaxLength = 100; + BusinessAccountOperatingDomesticTok: Label 'Business account, Operating, Domestic', MaxLength = 100; + BusinessAccountOperatingForeignTok: Label 'Business account, Operating, Foreign', MaxLength = 100; + OtherBankAccountsTok: Label 'Other bank accounts ', MaxLength = 100; + CertificateofDepositTok: Label 'Certificate of Deposit', MaxLength = 100; + TotalCashandBankTok: Label 'Total, Cash and Bank', MaxLength = 100; + LiabilityTok: Label 'Liability', MaxLength = 100; + BondsandDebentureLoansTok: Label 'Bonds and Debenture Loans', MaxLength = 100; + ConvertiblesLoansTok: Label 'Convertibles Loans', MaxLength = 100; + OtherLongTermLiabilitiesTok: Label 'Other Long-term Liabilities', MaxLength = 100; + BankOverdraftFacilitiesTok: Label 'Bank overdraft Facilities', MaxLength = 100; + TotalLongTermLiabilitiesTok: Label 'Total, Long-term Liabilities', MaxLength = 100; + CurrentLiabilitiesTok: Label 'Current Liabilities', MaxLength = 100; + AccountsPayableDomesticTok: Label 'Accounts Payable, Domestic', MaxLength = 100; + AccountsPayableForeignTok: Label 'Accounts Payable, Foreign', MaxLength = 100; + AdvancesfromcustomersTok: Label 'Advances from customers', MaxLength = 100; + ChangeinWorkinProgressTok: Label 'Change in Work in Progress', MaxLength = 100; + BankOverdraftShortTermTok: Label 'Bank overdraft short-term', MaxLength = 100; + TotalCurrentLiabilitiesTok: Label 'Total, Current Liabilities', MaxLength = 100; + TaxLiabilitiesTok: Label 'Tax Liabilities', MaxLength = 100; + SalesTaxLiableTok: Label 'Sales Tax Liable', MaxLength = 100; + EstimatedIncomeTaxTok: Label 'Estimated Income Tax', MaxLength = 100; + EstimatedPayrolltaxonPensionCostsTok: Label 'Estimated Payroll tax on Pension Costs', MaxLength = 100; + TotalTaxLiabilitiesTok: Label 'Total, Tax Liabilities', MaxLength = 100; + PayrollLiabilitiesTok: Label 'Payroll Liabilities', MaxLength = 100; + EmployeesWithholdingTaxesTok: Label 'Employees Withholding Taxes', MaxLength = 100; + StatutorySocialsecurityContributionsTok: Label 'Statutory Social security Contributions', MaxLength = 100; + ContractualSocialSecurityContributionsTok: Label 'Contractual Social security Contributions', MaxLength = 100; + AttachmentsofEarningTok: Label 'Attachments of Earning', MaxLength = 100; + HolidayPayfundTok: Label 'Holiday Pay fund', MaxLength = 100; + OtherSalaryWageDeductionsTok: Label 'Other Salary/wage Deductions', MaxLength = 100; + TotalPayrollLiabilitiesTok: Label 'Total, Payroll Liabilities', MaxLength = 100; + OtherCurrentLiabilitiesTok: Label 'Other Current Liabilities', MaxLength = 100; + ClearingAccountforFactoringCurrentPortionTok: Label 'Clearing Account for Factoring, Current Portion', MaxLength = 100; + CurrentLiabilitiestoEmployeesTok: Label 'Current Liabilities to Employees', MaxLength = 100; + ClearingAccountforThirdPartyTok: Label 'Clearing Account for third party', MaxLength = 100; + CurrentLoansTok: Label 'Current Loans', MaxLength = 100; + LiabilitiesGrantsReceivedTok: Label 'Liabilities, Grants Received', MaxLength = 100; + TotalOtherCurrentLiabilitiesTok: Label 'Total, Other Current Liabilities', MaxLength = 100; + AccruedExpensesandDeferredIncomeTok: Label 'Accrued Expenses and Deferred Income', MaxLength = 100; + AccruedWagesSalariesTok: Label 'Accrued wages/salaries', MaxLength = 100; + AccruedHolidayPayTok: Label 'Accrued Holiday pay', MaxLength = 100; + AccruedPensionCostsTok: Label 'Accrued Pension costs', MaxLength = 100; + AccruedInterestExpenseTok: Label 'Accrued Interest Expense', MaxLength = 100; + DeferredIncomeTok: Label 'Deferred Income', MaxLength = 100; + AccruedContractualCostsTok: Label 'Accrued Contractual costs', MaxLength = 100; + OtherAccruedExpensesandDeferredIncomeTok: Label 'Other Accrued Expenses and Deferred Income', MaxLength = 100; + TotalAccruedExpensesandDeferredIncomeTok: Label 'Total, Accrued Expenses and Deferred Income', MaxLength = 100; + EquityTok: Label 'Equity', MaxLength = 100; + EquityPartnerTok: Label 'Equity Partner ', MaxLength = 100; + NetResultsTok: Label 'Net Results ', MaxLength = 100; + RestrictedEquityTok: Label 'Restricted Equity ', MaxLength = 100; + ShareCapitalTok: Label 'Share Capital ', MaxLength = 100; + NonRestrictedEquityTok: Label 'Non-Restricted Equity', MaxLength = 100; + ProfitorLossFromthePreviousYearTok: Label 'Profit or loss from the previous year', MaxLength = 100; + ResultsfortheFinancialYearTok: Label 'Results for the Financial year', MaxLength = 100; + DistributionstoShareholdersTok: Label 'Distributions to Shareholders', MaxLength = 100; + TotalEquityTok: Label ' Total, Equity', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateColumnLayoutUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateColumnLayoutUS.Codeunit.al new file mode 100644 index 0000000000..c6511339de --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateColumnLayoutUS.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 11479 "Create Column Layout US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + ContosoAccountScheduleUS: Codeunit "Contoso Account Schedule US"; + CreateColumnLayoutNameUS: Codeunit "Create Column Layout Name US"; + ColumnLayoutName: Code[10]; + begin + ColumnLayoutName := CreateColumnLayoutName.BudgetAnalysis(); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 40000, '', NetChangeLastYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false, '-1Y', Enum::"Analysis Rounding Factor"::None); + + ColumnLayoutName := CreateColumnLayoutNameUS.PeriodandYeartoDate(); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 10000, '', CurrentPeriodLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::None); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 20000, '', YeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::None); + + ColumnLayoutName := CreateColumnLayoutNameUS.PeriodandYeartoDatewithPercentofTotalRevenue(); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 10000, 'PTD', CurrentPeriodLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::None); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 20000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'PTD%', true, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 30000, 'YTD', YeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::None); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 40000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'YTD%', true, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::"1"); + + ColumnLayoutName := CreateColumnLayoutNameUS.ThisYeartoDatevsPriorYeartoDate(); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 10000, 'CUR', CurrentYeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 20000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'CUR%', true, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 30000, 'PRIOR', PriorYeartoDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false, '-1Y', Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 40000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'PRIOR%', true, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountScheduleUS.InsertColumnLayout(ColumnLayoutName, 50000, 'DIFF', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'CUR-PRIOR', false, Enum::"Column Layout Show"::Always, '', false, '', Enum::"Analysis Rounding Factor"::"1"); + end; + + var + NetChangeLastYearLbl: Label 'Net Change Last Year', MaxLength = 30; + CurrentPeriodLbl: Label 'Current Period', MaxLength = 30; + YeartoDateLbl: Label 'Year to Date', MaxLength = 30; + CurrentYeartoDateLbl: Label 'Current Year to Date', MaxLength = 30; + PriorYeartoDateLbl: Label 'Prior Year to Date', MaxLength = 30; + DifferenceLbl: Label 'Difference', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateCurrExchangeRateUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateCurrExchangeRateUS.Codeunit.al new file mode 100644 index 0000000000..80f1e39ade --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateCurrExchangeRateUS.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 11478 "Create Curr Exchange Rate US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Currency: Codeunit "Create Currency"; + ContosoCurrency: Codeunit "Contoso Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + + ContosoCurrency.SetOverwriteData(true); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.EUR(), date, 1, 1, 0.9952, 0.9952); + ContosoCurrency.SetOverwriteData(false); + end; + + [EventSubscriber(ObjectType::Table, Database::"Currency Exchange Rate", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Currency Exchange Rate") + var + Currency: Codeunit "Create Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + + case Rec."Currency Code" of + Currency.CAD(): + if Rec."Starting Date" = date then + ValidateRecordFields(Rec, 100, 100, 66.5604, 66.5604); + Currency.MXN(): + if Rec."Starting Date" = date then + ValidateRecordFields(Rec, 100, 100, 11.1114, 11.1114); + end; + end; + + local procedure ValidateRecordFields(var CurrencyExchangeRate: Record "Currency Exchange Rate"; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + begin + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateResourceUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateResourceUS.Codeunit.al new file mode 100644 index 0000000000..e34eb565f1 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateResourceUS.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 10519 "Create Resource US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //TODO- Post Code Hard coded. + + [EventSubscriber(ObjectType::Table, Database::Resource, 'OnBeforeOnInsert', '', false, false)] + local procedure OnInsertRecord(var Resource: Record Resource; var IsHandled: Boolean) + var + CreateResource: Codeunit "Create Resource"; + begin + case Resource."No." of + CreateResource.Katherine(): + ValidateRecordFields(Resource, AtlantaLbl, 77, 84.7, 45, 154, '31772', ''); + CreateResource.Lina(): + ValidateRecordFields(Resource, AtlantaLbl, 92, 101.2, 45.2973, 185, '31772', ''); + CreateResource.Marty(): + ValidateRecordFields(Resource, AtlantaLbl, 69, 75.9, 45.39568, 139, '31772', ''); + CreateResource.Terry(): + ValidateRecordFields(Resource, AtlantaLbl, 77, 84.7, 45, 154, '31772', ''); + end; + end; + + local procedure ValidateRecordFields(var Resource: Record Resource; City: Text[30]; DirectUnitCost: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; UnitPrice: Decimal; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Resource.Validate(City, City); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Post Code", PostCode); + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; + + var + AtlantaLbl: Label 'Atlanta', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxAreaLineUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxAreaLineUS.Codeunit.al new file mode 100644 index 0000000000..7a0f2680bb --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxAreaLineUS.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 10525 "Create Tax Area Line US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoTaxUS: Codeunit "Contoso Tax US"; + CreateTaxAreaUS: Codeunit "Create Tax Area US"; + CreateTaxJurisdictionUS: Codeunit "Create Tax Jurisdiction US"; + begin + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.AtlantaGa(), CreateTaxJurisdictionUS.StateofGeorgia()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.AtlantaGa(), CreateTaxJurisdictionUS.CityofAtlantaGA()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.AtlantaGa(), CreateTaxJurisdictionUS.FultonCountyGA()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.ChicagoIl(), CreateTaxJurisdictionUS.StateofIllinois()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.ChicagoIl(), CreateTaxJurisdictionUS.CityofChicagoIL()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.ChicagoIl(), CreateTaxJurisdictionUS.COOKCountyIL()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.MiamiFl(), CreateTaxJurisdictionUS.StateofFlorida()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.MiamiFl(), CreateTaxJurisdictionUS.CityofMiamiFL()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.MiamiFl(), CreateTaxJurisdictionUS.DadeCountyFL()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.NAtlGa(), CreateTaxJurisdictionUS.StateofGeorgia()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.NAtlGa(), CreateTaxJurisdictionUS.CityofAtlantaGA()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.NAtlGa(), CreateTaxJurisdictionUS.FultonCountyGA()); + ContosoTaxUS.InsertTaxAreaLine(CreateTaxAreaUS.NAtlGa(), CreateTaxJurisdictionUS.MartaDistrictGA()); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxAreaUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxAreaUS.Codeunit.al new file mode 100644 index 0000000000..d6eb11c1a0 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxAreaUS.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 10518 "Create Tax Area US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + TaxArea: Record "Tax Area"; + ContosoTaxUS: Codeunit "Contoso Tax US"; + begin + ContosoTaxUS.InsertTaxArea(AtlantaGa(), AtlantaGaTok, TaxArea."Country/Region"::US, TaxArea."Round Tax"::"To Nearest"); + ContosoTaxUS.InsertTaxArea(ChicagoIl(), ChicagoIlTok, TaxArea."Country/Region"::US, TaxArea."Round Tax"::"To Nearest"); + ContosoTaxUS.InsertTaxArea(MiamiFl(), MiamiFlTok, TaxArea."Country/Region"::US, TaxArea."Round Tax"::"To Nearest"); + ContosoTaxUS.InsertTaxArea(NAtlGa(), NAtlGaLbl, TaxArea."Country/Region"::US, TaxArea."Round Tax"::"To Nearest"); + UpdateTaxAreaOnCompanyInformation(AtlantaGa()); + end; + + local procedure UpdateTaxAreaOnCompanyInformation(TaxAreaCode: Code[20]) + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + CompanyInformation.Validate("Tax Area Code", TaxAreaCode); + CompanyInformation.Modify(true); + end; + + procedure AtlantaGa(): Code[20] + begin + exit(AtlantaGaTok); + end; + + procedure ChicagoIl(): Code[20] + begin + exit(ChicagoIlTok); + end; + + procedure MiamiFl(): Code[20] + begin + exit(MiamiFlTok); + end; + + procedure NAtlGa(): Code[20] + begin + exit(NAtlGaTok); + end; + + var + AtlantaGaTok: Label 'ATLANTA, GA', MaxLength = 20; + ChicagoIlTok: Label 'CHICAGO, IL', MaxLength = 20; + MiamiFlTok: Label 'MIAMI, FL', MaxLength = 20; + NAtlGaTok: Label 'N.ATL., GA', MaxLength = 20; + NAtlGaLbl: Label 'Atlanta, GA - North', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxDetailUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxDetailUS.Codeunit.al new file mode 100644 index 0000000000..4e3c00fdff --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxDetailUS.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 11460 "Create Tax Detail US" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + TaxDetail: Record "Tax Detail"; + ContosoTaxUS: Codeunit "Contoso Tax US"; + CreateTaxGroupUS: Codeunit "Create Tax Group US"; + CreateTaxJurisdictionUS: Codeunit "Create Tax Jurisdiction US"; + ContosoUtilities: Codeunit "Contoso Utilities"; + begin + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofFlorida(), CreateTaxGroupUS.Furniture(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 5); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofFlorida(), CreateTaxGroupUS.Labor(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofFlorida(), CreateTaxGroupUS.Materials(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 3); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofFlorida(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofFlorida(), CreateTaxGroupUS.Supplies(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 2); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.DadeCountyFL(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.DadeCountyFL(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.CityofMiamiFL(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.CityofMiamiFL(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.CityofMiamiFL(), CreateTaxGroupUS.Supplies(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofGeorgia(), CreateTaxGroupUS.Furniture(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 3); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofGeorgia(), CreateTaxGroupUS.Labor(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofGeorgia(), CreateTaxGroupUS.Materials(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 2); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofGeorgia(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofGeorgia(), CreateTaxGroupUS.Supplies(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 2); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.CityofAtlantaGA(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.CityofAtlantaGA(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.FultonCountyGA(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 2); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.FultonCountyGA(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.GwinnettCountyGA(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 2); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.GwinnettCountyGA(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.MartaDistrictGA(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.MartaDistrictGA(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofIllinois(), CreateTaxGroupUS.Furniture(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 3); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofIllinois(), CreateTaxGroupUS.Labor(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofIllinois(), CreateTaxGroupUS.Materials(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 4); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofIllinois(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.StateofIllinois(), CreateTaxGroupUS.Supplies(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 2); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.CityofChicagoIL(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.CityofChicagoIL(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.COOKCountyIL(), '', TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 1); + ContosoTaxUS.InsertTaxDetail(CreateTaxJurisdictionUS.COOKCountyIL(), CreateTaxGroupUS.NonTaxable(), TaxDetail."Tax Type"::"Sales and Use Tax", ContosoUtilities.AdjustDate(19010101D), 0); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxGroupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxGroupUS.Codeunit.al new file mode 100644 index 0000000000..59ab9bab92 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxGroupUS.Codeunit.al @@ -0,0 +1,301 @@ +codeunit 11463 "Create Tax Group US" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoTaxUS: Codeunit "Contoso Tax US"; + CreateResource: Codeunit "Create Resource"; + CreateUSGLAccount: Codeunit "Create US GL Accounts"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoTaxUS.InsertTaxGroup(Furniture(), FurnitureLbl); + ContosoTaxUS.InsertTaxGroup(Labor(), LaborLbl); + ContosoTaxUS.InsertTaxGroup(Materials(), MaterialsLbl); + ContosoTaxUS.InsertTaxGroup(NonTaxable(), NonTaxableLbl); + ContosoTaxUS.InsertTaxGroup(Supplies(), SuppliesLbl); + + UpdateTaxGroupOnResource(CreateResource.Katherine(), Labor()); + UpdateTaxGroupOnResource(CreateResource.Lina(), Labor()); + UpdateTaxGroupOnResource(CreateResource.Marty(), Labor()); + UpdateTaxGroupOnResource(CreateResource.Terry(), Labor()); + + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DevelopmentExpenditure(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TenancySiteLeaseHoldandSimilarRights(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.Goodwill(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AdvancedPaymentsforIntangibleFixedAssets(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.Building(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CostofImprovementstoLeasedProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.Land(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.EquipmentsandTools(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.Computers(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CarsandOtherTransportEquipments(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.LeasedAssets(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccumulatedDepreciation(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.LongTermReceivables(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ParticipationinGroupCompanies(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.LoanstoPartnersorRelatedParties(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DeferredTaxAssets(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherLongTermReceivables(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SuppliesandConsumables(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.RawMaterials(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ProductsinProgress(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.FinishedGoods(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.GoodsforResale(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AdvancedPaymentsforGoodsandServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherInventoryItems(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.WorkinProgressFinishedGoods(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.WIPJobSales(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.WIPJobCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.WIPAccruedCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.WIPInvoicedSales(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccountReceivableDomestic(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccountReceivableForeign(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ContractualReceivables(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ConsignmentReceivables(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CreditcardsandVouchersReceivables(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CurrentReceivablefromEmployees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedincomenotYetInvoiced(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ClearingAccountsforTaxesandCharges(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TaxAssets(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CurrentReceivablesFromGroupCompanies(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PrepaidRent(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PrepaidInterestExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedRentalIncome(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedInterestIncome(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AssetsInFormOfPrepaidExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherPrepaidExpensesAndAccruedIncome(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Bonds(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ConvertibleDebtInstruments(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherShortTermInvestments(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.WriteDownofShortTermInvestments(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Cash(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BusinessAccountOperatingDomestic(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BusinessAccountOperatingForeign(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherBankAccounts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CertificateofDeposit(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BondsandDebentureLoans(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ConvertiblesLoans(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherLongTermLiabilities(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BankOverdraftFacilities(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccountsPayableDomestic(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccountsPayableForeign(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.Advancesfromcustomers(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ChangeinWorkinProgress(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BankOverdraftShortTerm(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.OtherLiabilities(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SalesTaxVATLiable(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TaxesLiable(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.EstimatedIncomeTax(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.EstimatedPayrolltaxonPensionCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.EmployeesWithholdingTaxes(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.StatutorySocialsecurityContributions(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ContractualSocialSecurityContributions(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AttachmentsofEarning(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HolidayPayfund(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherSalaryWageDeductions(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ClearingAccountforFactoringCurrentPortion(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CurrentLiabilitiestoEmployees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ClearingAccountforThirdParty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CurrentLoans(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.LiabilitiesGrantsReceived(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedWagesSalaries(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedHolidayPay(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedPensionCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedInterestExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DeferredIncome(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccruedContractualCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherAccruedExpensesandDeferredIncome(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.EquityPartner(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.NetResults(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.RestrictedEquity(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ShareCapital(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.NonRestrictedEquity(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ProfitorLossFromthePreviousYear(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ResultsfortheFinancialYear(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DistributionstoShareholders(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SaleofRawMaterials(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SaleofFinishedGoods(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ResaleofGoods(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SaleofResources(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SaleofSubcontracting(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.IncomeFromSecurities(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ManagementFeeRevenue(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.InterestIncome(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CurrencyGains(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherIncidentalRevenue(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.JobSales(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.JobSalesApplied(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SalesofServiceContracts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SalesofServiceWork(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DiscountsandAllowances(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.InvoiceRounding(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PaymentToleranceandAllowances(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SalesReturns(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CostofMaterials(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CostofMaterialsProjects(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CostofLabor(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CostofLaborProjects(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CostofLaborWarrantyContract(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SubcontractedWork(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CostofVariances(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.RentLeases(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ElectricityforRental(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HeatingforRental(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.WaterandSewerageforRental(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CleaningandWasteforRental(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.RepairsandMaintenanceforRental(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.InsurancesRental(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherRentalExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SiteFeesLeases(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ElectricityforProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HeatingforProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.WaterandSewerageforProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CleaningandWasteforProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.RepairsandMaintenanceforProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.InsurancesProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherPropertyExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HireofMachinery(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HireofComputers(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HireofOtherFixedAssets(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PassengerCarCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TruckCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherVehicleExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.FreightFeesForGoods(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CustomsandForwarding(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.FreightFeesProjects(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.Tickets(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.RentalVehicles(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BoardandLodging(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherTravelExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AdvertisementDevelopment(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OutdoorandTransportationAds(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AdMatterandDirectMailings(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ConferenceExhibitionSponsorship(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SamplesContestsGifts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.FilmTVRadioInternetAds(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PRandAgencyFees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherAdvertisingFees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CatalogsPriceLists(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TradePublications(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CreditCardCharges(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BusinessEntertainingDeductible(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BusinessEntertainingNonDeductible(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.OfficeSupplies(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PhoneServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DataServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PostalFees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ConsumableExpensibleHardware(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SoftwareandSubscriptionFees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CorporateInsurance(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DamagesPaid(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BadDebtLosses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SecurityServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherRiskExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.RemunerationtoDirectors(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ManagementFees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AnnualInterrimReports(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AnnualGeneralMeeting(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AuditandAuditServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TaxAdvisoryServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.BankingFees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.InterestExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PayableInvoiceRounding(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AccountingServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ITServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.MediaServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.ConsultingServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.LegalFeesandAttorneyServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherExternalServices(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.LicenseFeesRoyalties(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TrademarksPatents(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.AssociationFees(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.MiscExternalExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PurchaseDiscounts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Salaries(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HourlyWages(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OvertimeWages(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.Bonuses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CommissionsPaid(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PTOAccrued(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.TrainingCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HealthCareContributions(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.EntertainmentofPersonnel(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateGLAccount.Allowances(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.MandatoryClothingExpenses(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherCashRemunerationBenefits(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.PensionFeesandRecurringCosts(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.EmployerContributions(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.HealthInsurance(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DentalInsurance(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.WorkersCompensation(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.LifeInsurance(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.FederalWithholdingExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.FICAExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.FUTAExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.MedicareExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.OtherFederalExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.StateWithholdingExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.SUTAExpense(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DepreciationLandandProperty(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.DepreciationFixedAssets(), NonTaxable()); + UpdateTaxGroupOnGLAccount(CreateUSGLAccount.CurrencyLosses(), NonTaxable()); + end; + + local procedure UpdateTaxGroupOnResource(ResourceNo: Code[20]; TaxGroupCode: Code[20]) + var + Resource: Record Resource; + begin + Resource.Get(ResourceNo); + + Resource.Validate("Tax Group Code", TaxGroupCode); + Resource.Modify(true); + end; + + local procedure UpdateTaxGroupOnGLAccount(GLAccountNo: Code[20]; TaxGroupCode: Code[20]) + var + GLAccount: Record "G/L Account"; + begin + GlAccount.Get(GLAccountNo); + + GLAccount.Validate("Tax Group Code", TaxGroupCode); + GLAccount.Modify(true); + end; + + procedure Furniture(): Code[20] + begin + exit(FurnitureTok); + end; + + procedure Labor(): Code[20] + begin + exit(LaborTok); + end; + + procedure Materials(): Code[20] + begin + exit(MaterialsTok); + end; + + procedure NonTaxable(): Code[20] + begin + exit(NonTaxableTok); + end; + + procedure Supplies(): Code[20] + begin + exit(SuppliesTok); + end; + + var + FurnitureTok: Label 'FURNITURE', MaxLength = 20, Locked = true; + LaborTok: Label 'LABOR', MaxLength = 20, Locked = true; + MaterialsTok: Label 'MATERIALS', MaxLength = 20, Locked = true; + NonTaxableTok: Label 'NONTAXABLE', MaxLength = 20, Locked = true; + SuppliesTok: Label 'SUPPLIES', MaxLength = 20, Locked = true; + FurnitureLbl: Label 'Taxable Olympic Furniture', MaxLength = 100; + LaborLbl: Label 'Labor on Job', MaxLength = 100; + MaterialsLbl: Label 'Taxable Raw Materials', MaxLength = 100; + NonTaxableLbl: Label 'Nontaxable', MaxLength = 100; + SuppliesLbl: Label 'Taxable Olympic Supplies', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxJurisdictionUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxJurisdictionUS.Codeunit.al new file mode 100644 index 0000000000..e695643afe --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxJurisdictionUS.Codeunit.al @@ -0,0 +1,102 @@ +codeunit 11462 "Create Tax Jurisdiction US" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + TaxJurisdiction: Record "Tax Jurisdiction"; + ContosoTaxUS: Codeunit "Contoso Tax US"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + ContosoTaxUS.InsertTaxJurisdiction(StateofFlorida(), StateofFloridaLbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofFlorida(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(DadeCountyFL(), DadeCountyFLLbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofFlorida(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(CityofMiamiFL(), CityofMiamiFLLbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofFlorida(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(StateofGeorgia(), StateofGeorgiaLbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofGeorgia(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(CityofAtlantaGA(), CityofAtlantaGALbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofGeorgia(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(FultonCountyGA(), FultonCountyGALbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofGeorgia(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(GwinnettCountyGA(), GwinnettCountyGALbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofGeorgia(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(MartaDistrictGA(), MartaDistrictGALbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofGeorgia(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(StateofIllinois(), StateofIllinoisLbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofIllinois(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(CityofChicagoIL(), CityofChicagoILLbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofIllinois(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + ContosoTaxUS.InsertTaxJurisdiction(COOKCountyIL(), COOKCountyILLbl, CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), StateofIllinois(), CreateUSGLAccounts.TaxesLiable(), TaxJurisdiction."Country/Region"::US); + end; + + procedure StateofFlorida(): Code[10] + begin + exit(StateofFloridaTok); + end; + + procedure DadeCountyFL(): Code[10] + begin + exit(DadeCountyFLTok); + end; + + procedure CityofMiamiFL(): Code[10] + begin + exit(CityofMiamiFLTok); + end; + + procedure StateofGeorgia(): Code[10] + begin + exit(StateofGeorgiaTok); + end; + + procedure CityofAtlantaGA(): Code[10] + begin + exit(CityofAtlantaGATok); + end; + + procedure FultonCountyGA(): Code[10] + begin + exit(FultonCountyGATok); + end; + + procedure GwinnettCountyGA(): Code[10] + begin + exit(GwinnettCountyGATok); + end; + + procedure MartaDistrictGA(): Code[10] + begin + exit(MartaDistrictGATok); + end; + + procedure StateofIllinois(): Code[10] + begin + exit(StateofIllinoisTok); + end; + + procedure CityofChicagoIL(): Code[10] + begin + exit(CityofChicagoILTok); + end; + + procedure COOKCountyIL(): Code[10] + begin + exit(COOKCountyILTok); + end; + + var + StateofFloridaTok: Label 'FL', MaxLength = 10, Locked = true; + StateofFloridaLbl: Label 'State of Florida', MaxLength = 100; + DadeCountyFLTok: Label 'FLDADE', MaxLength = 10, Locked = true; + DadeCountyFLLbl: Label 'Dade County, FL', MaxLength = 100; + CityofMiamiFLTok: Label 'FLMIAMI', MaxLength = 10, Locked = true; + CityofMiamiFLLbl: Label 'City of Miami, FL', MaxLength = 100; + StateofGeorgiaTok: Label 'GA', MaxLength = 10, Locked = true; + StateofGeorgiaLbl: Label 'State of Georgia', MaxLength = 100; + CityofAtlantaGATok: Label 'GAATLANTA', MaxLength = 10, Locked = true; + CityofAtlantaGALbl: Label 'City of Atlanta, GA', MaxLength = 100; + FultonCountyGATok: Label 'GAFULTON', MaxLength = 10, Locked = true; + FultonCountyGALbl: Label 'Fulton County, GA', MaxLength = 100; + GwinnettCountyGATok: Label 'GAGWINNETT', MaxLength = 10, Locked = true; + GwinnettCountyGALbl: Label 'Gwinnett County, GA', MaxLength = 100; + MartaDistrictGATok: Label 'GAMARTA', MaxLength = 10, Locked = true; + MartaDistrictGALbl: Label 'Marta District, GA', MaxLength = 100; + StateofIllinoisTok: Label 'IL', MaxLength = 10, Locked = true; + StateofIllinoisLbl: Label 'State of Illinois', MaxLength = 100; + CityofChicagoILTok: Label 'ILCHICAGO', MaxLength = 10, Locked = true; + CityofChicagoILLbl: Label 'City of Chicago, IL', MaxLength = 100; + COOKCountyILTok: Label 'ILCOOK', MaxLength = 10, Locked = true; + COOKCountyILLbl: Label 'COOK County, IL', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxSetupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxSetupUS.Codeunit.al new file mode 100644 index 0000000000..f51a916c21 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Finance/2.Master Data/CreateTaxSetupUS.Codeunit.al @@ -0,0 +1,14 @@ +codeunit 11461 "Create Tax Setup US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoTaxUS: Codeunit "Contoso Tax US"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + CreateTaxGroupUS: Codeunit "Create Tax Group US"; + begin + ContosoTaxUS.InsertTaxSetup(true, CreateTaxGroupUS.NonTaxable(), CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable(), CreateUSGLAccounts.TaxesLiable()); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationUS.Codeunit.al new file mode 100644 index 0000000000..47bef6fd24 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateCompanyInformationUS.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 11491 "Create Company Information US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //TODO: Post Code hardcoded. + trigger OnRun() + begin + UpdateCompanyInformation(); + end; + + local procedure UpdateCompanyInformation() + var + CompanyInformation: Record "Company Information"; + begin + CompanyInformation.Get(); + + CompanyInformation.Validate(Address, SouthAshfordStreetLbl); + CompanyInformation.Validate("Post Code", '31772'); + CompanyInformation.Validate(City, AtlantaLbl); + CompanyInformation.Validate(County, GaLbl); + CompanyInformation.Validate("Phone No.", '+1 425 555 0100'); + CompanyInformation.Validate("Fax No.", '+1 425 555 0101'); + CompanyInformation.Validate("Ship-to Address", SouthAshfordStreetLbl); + CompanyInformation.Validate("Ship-to Post Code", '31772'); + CompanyInformation.Validate("Ship-to City", AtlantaLbl); + CompanyInformation.Validate("Ship-to County", ''); + CompanyInformation.Validate("VAT Registration No.", ''); + Evaluate(CompanyInformation."Check-Avail. Period Calc.", '90D'); + CompanyInformation.Validate("Check-Avail. Period Calc."); + CompanyInformation.Modify(true); + end; + + var + SouthAshfordStreetLbl: Label '7122 South Ashford Street', MaxLength = 100, Locked = true; + AtlantaLbl: Label 'Atlanta', MaxLength = 30, Locked = true; + GaLbl: Label 'GA', MaxLength = 30, Locked = true; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateDataExchangeDefUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateDataExchangeDefUS.Codeunit.al new file mode 100644 index 0000000000..bb3baf5674 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateDataExchangeDefUS.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 11459 "Create Data Exchange Def US" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + FolderNameLbl: Label 'PostingExchangeDefinitions', MaxLength = 100, Locked = true; + begin + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + BANKOFAMERICAPP() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CAEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + CITIBANKPP() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + MXEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTCCD() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTDEFAULT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + USEFTIATDEFAULT() + '.xml'); + end; + + procedure BANKOFAMERICAPP(): Code[20] + begin + exit('BANKOFAMERICA-PP'); + end; + + procedure CAEFTDEFAULT(): Code[20] + begin + exit('CA EFT DEFAULT'); + end; + + procedure CITIBANKPP(): Code[20] + begin + exit('CITIBANK-PP'); + end; + + procedure MXEFTDEFAULT(): Code[20] + begin + exit('MX EFT DEFAULT'); + end; + + procedure USEFTCCD(): Code[20] + begin + exit('US EFT CCD'); + end; + + procedure USEFTDEFAULT(): Code[20] + begin + exit('US EFT DEFAULT'); + end; + + procedure USEFTIATDEFAULT(): Code[20] + begin + exit('US EFT IAT DEFAULT'); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateJobQueueCategoryUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateJobQueueCategoryUS.Codeunit.al new file mode 100644 index 0000000000..dc11f45ff2 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateJobQueueCategoryUS.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 10534 "Create Job Queue Category US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoJobQueue: Codeunit "Contoso Job Queue"; + begin + ContosoJobQueue.InsertJobQueueCategory(PurchPost(), PurchasePostCategoryLbl); + ContosoJobQueue.InsertJobQueueCategory(SalesPost(), SalesPostCategoryLbl); + end; + + procedure PurchPost(): Code[10] + begin + exit(PurchPostTok); + end; + + procedure SalesPost(): Code[10] + begin + exit(SalesPostTok); + end; + + var + PurchPostTok: Label 'PURCHPOST', MaxLength = 10; + SalesPostTok: Label 'SALESPOST', MaxLength = 10; + PurchasePostCategoryLbl: Label 'Purchase Posting', MaxLength = 30; + SalesPostCategoryLbl: Label 'Sales Posting', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateNoSeriesUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateNoSeriesUS.Codeunit.al new file mode 100644 index 0000000000..31845cbb5a --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreateNoSeriesUS.Codeunit.al @@ -0,0 +1,51 @@ +codeunit 11494 "Create No. Series US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"No. Series Line", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "No. Series Line") + var + CreateNoSeries: Codeunit "Create No. Series"; + begin + case Rec."Series Code" of + CreateNoSeries.SalesCreditMemo(): + ValidateRecordFields(Rec, 'S-CR1001', 'S-CR2999', 'S-CR2995'); + CreateNoSeries.PostedSalesCreditMemo(): + ValidateRecordFields(Rec, 'PS-CR104001', 'PS-CR105999', 'PS-CR105995'); + CreateNoSeries.FinanceChargeMemo(): + ValidateRecordFields(Rec, 'S-FIN1001', 'S-FIN2999', 'S-FIN2995'); + CreateNoSeries.IssuedFinanceChargeMemo(): + ValidateRecordFields(Rec, 'S-FIN106001', 'S-FIN107999', 'S-FIN107995'); + CreateNoSeries.SalesInvoice(): + ValidateRecordFields(Rec, 'S-INV102001', 'S-INV103999', 'S-INV103995'); + CreateNoSeries.PostedSalesInvoice(): + ValidateRecordFields(Rec, 'PS-INV103001', 'PS-INV104999', 'PS-INV104995'); + CreateNoSeries.SalesOrder(): + ValidateRecordFields(Rec, 'S-ORD101001', 'S-ORD102999', 'S-ORD102995'); + CreateNoSeries.SalesPriceList(): + ValidateRecordFields(Rec, 'S-PLS00001', 'S-PLS99999', ''); + CreateNoSeries.SalesQuote(): + ValidateRecordFields(Rec, 'S-QUO1001', 'S-QUO2999', 'S-QUO2995'); + CreateNoSeries.PostedSalesReceipt(): + ValidateRecordFields(Rec, 'S-RCPT107001', 'S-RCPT108999', 'S-RCPT108995'); + CreateNoSeries.Reminder(): + ValidateRecordFields(Rec, 'S-REM1001', 'S-REM2999', 'S-REM2995'); + CreateNoSeries.IssuedReminder(): + ValidateRecordFields(Rec, 'S-REM105001', 'S-REM106999', 'S-REM106995'); + CreateNoSeries.SalesReturnOrder(): + ValidateRecordFields(Rec, 'S-RETORD1001', 'S-RETORD2999', 'S-RETORD2995'); + CreateNoSeries.SalesShipment(): + ValidateRecordFields(Rec, 'S-SHPT102001', 'S-SHPT103999', 'S-SHPT103995'); + end; + end; + + procedure ValidateRecordFields(var NoSeriesLine: Record "No. Series Line"; StartingNo: Code[20]; EndingNo: Code[20]; WarningNo: Code[20]) + begin + NoSeriesLine.Validate("Starting No.", StartingNo); + NoSeriesLine.Validate("Ending No.", EndingNo); + NoSeriesLine.Validate("Warning No.", WarningNo); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreatePostCodeUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreatePostCodeUS.Codeunit.al new file mode 100644 index 0000000000..e0ae57feeb --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Foundation/1.Setup Data/CreatePostCodeUS.Codeunit.al @@ -0,0 +1,91 @@ +codeunit 11493 "Create Post Code US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to update it later + + trigger OnRun() + var + CreatePostCode: codeunit "Create Post Code"; + begin + CreatePostCode.InsertData('10019', 'New York', 'NEW YORK', 'US', 'NY', ''); + CreatePostCode.InsertData('10022', 'New York', 'NEW YORK', 'US', 'NY', ''); + CreatePostCode.InsertData('10601', 'New York', 'NEW YORK', 'US', 'NY', ''); + CreatePostCode.InsertData('11010', 'New York', 'NEW YORK', 'US', 'NY', ''); + CreatePostCode.InsertData('11746', 'New York', 'NEW YORK', 'US', 'NY', ''); + CreatePostCode.InsertData('13204', 'New York', 'NEW YORK', 'US', 'NY', ''); + CreatePostCode.InsertData('27136', 'Colombia', 'COLOMBIA', 'US', 'SC', ''); + CreatePostCode.InsertData('31772', 'Atlanta', 'ATLANTA', 'US', 'GA', ''); + CreatePostCode.InsertData('35242', 'Birmingham', 'BIRMINGHAM', 'US', 'AL', ''); + CreatePostCode.InsertData('37125', 'Miami', 'MIAMI', 'US', 'FL', ''); + CreatePostCode.InsertData('60611', 'Chicago', 'CHICAGO', 'US', 'IL', ''); + CreatePostCode.InsertData('61236', 'Chicago', 'CHICAGO', 'US', 'IL', ''); + CreatePostCode.InsertData('7728', 'New Jersey', 'NEW JERSEY', 'US', 'NJ', ''); + CreatePostCode.InsertData('8807', 'New Jersey', 'NEW JERSEY', 'US', 'NJ', ''); + CreatePostCode.InsertData('97223', 'Portland', 'PORTLAND', 'US', 'OR', ''); + CreatePostCode.InsertData('GB-B27 4KT', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B31 2AL', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B32 4TF', 'Sparkhill, Birmingham', 'SPARKHILL, BIRMINGHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-B68 5TT', 'Bromsgrove', 'BROMSGROVE', 'GB', '', ''); + CreatePostCode.InsertData('GB-BA24 6KS', 'Bath', 'BATH', 'GB', '', ''); + CreatePostCode.InsertData('GB-BR1 2ES', 'Bromley', 'BROMLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-BS3 6KL', 'Bristol', 'BRISTOL', 'GB', '', ''); + CreatePostCode.InsertData('GB-CB3 7GG', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + CreatePostCode.InsertData('GB-CF22 1XU', 'Cardiff', 'CARDIFF', 'GB', '', ''); + CreatePostCode.InsertData('GB-CT6 21ND', 'Hythe', 'HYTHE', 'GB', '', ''); + CreatePostCode.InsertData('GB-CV6 1GY', 'Coventry', 'COVENTRY', 'GB', '', ''); + CreatePostCode.InsertData('GB-DA5 3EF', 'Sidcup', 'SIDCUP', 'GB', '', ''); + CreatePostCode.InsertData('GB-DY5 4DJ', 'Dudley', 'DUDLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-E12 5TG', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-EH16 8JS', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-GL1 9HM', 'Gloucester', 'GLOUCESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-GL78 5TT', 'Cheltenham', 'CHELTENHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-GU3 2SE', 'Guildford', 'GUILDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-GU7 5GT', 'Guildford', 'GUILDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-HG1 7YW', 'Ripon', 'RIPON', 'GB', '', ''); + CreatePostCode.InsertData('GB-HP43 2AY', 'Tring', 'TRING', 'GB', '', ''); + CreatePostCode.InsertData('GB-IB7 7VN', 'Gainsborough', 'GAINSBOROUGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-L18 6SA', 'Liverpool', 'LIVERPOOL', 'GB', '', ''); + CreatePostCode.InsertData('GB-LE16 7YH', 'Leicester', 'LEICESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-LL6 5GB', 'Rhyl', 'RHYL', 'GB', '', ''); + CreatePostCode.InsertData('GB-LN23 6GS', 'Lincoln', 'LINCOLN', 'GB', '', ''); + CreatePostCode.InsertData('GB-LU3 4FY', 'Luton', 'LUTON', 'GB', '', ''); + CreatePostCode.InsertData('GB-M61 2YG', 'Manchester', 'MANCHESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-ME5 6RL', 'Maidstone', 'MAIDSTONE', 'GB', '', ''); + CreatePostCode.InsertData('GB-MK21 7GG', 'Bletchley', 'BLETCHLEY', 'GB', '', ''); + CreatePostCode.InsertData('GB-MK41 5AE', 'Bedford', 'BEDFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-MO2 4RT', 'Manchester', 'MANCHESTER', 'GB', '', ''); + CreatePostCode.InsertData('GB-N12 5XY', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-N16 34Z', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-NE21 3YG', 'Newcastle', 'NEWCASTLE', 'GB', '', ''); + CreatePostCode.InsertData('GB-NP5 6GH', 'Newport', 'NEWPORT', 'GB', '', ''); + CreatePostCode.InsertData('GB-OX16 0UA', 'Cheddington', 'CHEDDINGTON', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE17 4RN', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE21 3TG', 'Peterborough', 'PETERBOROUGH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PE23 5IK', 'Kings Lynn', 'KINGS LYNN', 'GB', '', ''); + CreatePostCode.InsertData('GB-PL14 5GB', 'Plymouth', 'PLYMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PO21 6HG', 'Southsea, Portsmouth', 'SOUTHSEA, PORTSMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-PO7 2HI', 'Portsmouth', 'PORTSMOUTH', 'GB', '', ''); + CreatePostCode.InsertData('GB-SA1 2HS', 'Swansea', 'SWANSEA', 'GB', '', ''); + CreatePostCode.InsertData('GB-SA3 7HI', 'Stratford', 'STRATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-SK21 5DL', 'Macclesfield', 'MACCLESFIELD', 'GB', '', ''); + CreatePostCode.InsertData('GB-TA3 4FD', 'Newquay', 'NEWQUAY', 'GB', '', ''); + CreatePostCode.InsertData('GB-TN27 6YD', 'Ashford', 'ASHFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-TQ17 8HB', 'Brixham', 'BRIXHAM', 'GB', '', ''); + CreatePostCode.InsertData('GB-W1 3AL', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-W2 8HG', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-WC1 2GS', 'West End Lane', 'WEST END LANE', 'GB', '', ''); + CreatePostCode.InsertData('GB-WC1 3DG', 'London', 'LONDON', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD1 6YG', 'Watford', 'WATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD2 4RG', 'Watford', 'WATFORD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD6 8UY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + CreatePostCode.InsertData('GB-WD6 9HY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + CreatePostCode.InsertData('L6J 3J3', 'Oakville', 'OAKVILLE', 'CA', 'ON', ''); + CreatePostCode.InsertData('M5E 1G5', 'Toronto', 'TORONTO', 'CA', 'ON', ''); + CreatePostCode.InsertData('N6B 1V7', 'London', 'LONDON', 'CA', 'ON', ''); + CreatePostCode.InsertData('P7A 4K8', 'Thunder Bay', 'THUNDER BAY', 'CA', 'ON', ''); + CreatePostCode.InsertData('P7B 5E2', 'Thunder Bay', 'THUNDER BAY', 'CA', 'ON', ''); + CreatePostCode.InsertData('R0M 0N0', 'Elkhorn', 'ELKHORN', 'CA', 'MB', ''); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/HumanResources/1.Setup Data/CreateEmployeePostingGroupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/HumanResources/1.Setup Data/CreateEmployeePostingGroupUS.Codeunit.al new file mode 100644 index 0000000000..57f00375ca --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/HumanResources/1.Setup Data/CreateEmployeePostingGroupUS.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 10522 "Create Employee PostingGroupUS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Employee Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Employee Posting Group") + var + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + ValidateRecordFields(Rec, CreateUSGLAccounts.AccountsPayableDomestic(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.InvoiceRounding()); + end; + + local procedure ValidateRecordFields(var EmployeePostingGroup: Record "Employee Posting Group"; PayableAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]) + begin + EmployeePostingGroup.Validate("Payables Account", PayableAccount); + EmployeePostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + EmployeePostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + EmployeePostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/HumanResources/2.Master Data/CreateEmployeeUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/HumanResources/2.Master Data/CreateEmployeeUS.Codeunit.al new file mode 100644 index 0000000000..b57bb24356 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/HumanResources/2.Master Data/CreateEmployeeUS.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 10524 "Create Employee US" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + CreateEmployee: Codeunit "Create Employee"; + begin + UpdateEmployeeEmail(CreateEmployee.ManagingDirector(), 19731212D, 20010601D, FifthAvenueLbl); + UpdateEmployeeEmail(CreateEmployee.SalesManager(), 19790212D, 20040301D, WestchesterAvenueLbl); + UpdateEmployeeEmail(CreateEmployee.Designer(), 19760310D, 20100801D, ColumbusCircleLbl); + UpdateEmployeeEmail(CreateEmployee.ProductionAssistant(), 19820807D, 20010601D, DestinyUSADriveLbl); + UpdateEmployeeEmail(CreateEmployee.ProductionManager(), 19670705D, 20010601D, WaltWhitmanRoadLbl); + UpdateEmployeeEmail(CreateEmployee.Secretary(), 19790507D, 20010601D, CommonsWayLbl); + UpdateEmployeeEmail(CreateEmployee.InventoryManager(), 19831207D, 20061201D, RouteSouthLbl); + end; + + local procedure UpdateEmployeeEmail(EmployeeNo: Code[20]; BirthDate: Date; EmploymentDate: Date; Address: Text[100]) + var + Employee: Record Employee; + CreateEmployee: Codeunit "Create Employee"; + begin + Employee.Get(EmployeeNo); + Employee.Validate("Birth Date", BirthDate); + Employee.Validate("Employment Date", EmploymentDate); + Employee.Validate(Address, Address); + Employee.Validate("E-Mail", StrSubstNo(EmpEmailLbl, LowerCase(Employee."No."))); + Employee.Validate("Social Security No.", ''); + Employee.Validate("Emplymt. Contract Code", ''); + Employee.Validate("Statistics Group Code", ''); + Employee.Validate("Union Code", ''); + Employee.Validate(Initials, GetInitials(Employee)); + if EmployeeNo = CreateEmployee.InventoryManager() then + Employee.Validate("Job Title", ProductionAssistantLbl); + Employee.Modify(true); + end; + + local procedure GetInitials(Employee: Record Employee): Text + begin + exit(UpperCase(CopyStr(Employee."First Name", 1, 1) + Employee."Last Name")); + end; + + var + FifthAvenueLbl: Label '677 Fifth Avenue', MaxLength = 30, Locked = true; + WestchesterAvenueLbl: Label '125 Westchester Avenue', MaxLength = 30; + WaltWhitmanRoadLbl: Label '160 Walt Whitman Road', MaxLength = 30, Locked = true; + ColumbusCircleLbl: Label '10 Columbus Circle', MaxLength = 30, Locked = true; + CommonsWayLbl: Label '400 Commons Way', MaxLength = 30, Locked = true; + DestinyUSADriveLbl: Label '10344 Destiny USA Drive', MaxLength = 30, Locked = true; + RouteSouthLbl: Label '3710 Route 9 South', MaxLength = 30, Locked = true; + ProductionAssistantLbl: Label 'Production Assistant', MaxLength = 30; +#pragma warning disable AA0240 + EmpEmailLbl: Label '%1@cronus-demosite.com', Locked = true; +#pragma warning restore AA0240 +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplateUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplateUS.Codeunit.al new file mode 100644 index 0000000000..3c9685b238 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplateUS.Codeunit.al @@ -0,0 +1,23 @@ +codeunit 10496 "Create Item Journal TemplateUS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Journal Template", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Item Journal Template") + var + CreateItemJournalTemplate: Codeunit "Create Item Journal Template"; + begin + case Rec.Name of + CreateItemJournalTemplate.ItemJournalTemplate(): + ValidateRecordFields(Rec, Report::"Item Register"); + end; + end; + + local procedure ValidateRecordFields(var ItemJournalTemplate: Record "Item Journal Template"; PostingReportID: Integer) + begin + ItemJournalTemplate.Validate("Posting Report ID", PostingReportID); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateInventoryPostingSetupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateInventoryPostingSetupUS.Codeunit.al new file mode 100644 index 0000000000..cdac71ab8f --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateInventoryPostingSetupUS.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 10497 "Create InventoryPostingSetupUS" +{ + InherentEntitlements = X; + InherentPermissions = X; + trigger OnRun() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateLocation: Codeunit "Create Location"; + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + ContosoPostingSetup.SetOverwriteData(true); + ContosoPostingSetup.InsertInventoryPostingSetup('', CreateInvPostingGroup.Resale(), CreateUSGLAccounts.FinishedGoods(), ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateInvPostingGroup.Resale(), CreateUSGLAccounts.FinishedGoods(), ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateInvPostingGroup.Resale(), CreateUSGLAccounts.FinishedGoods(), ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateInvPostingGroup.Resale(), CreateUSGLAccounts.FinishedGoods(), ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateInvPostingGroup.Resale(), CreateUSGLAccounts.FinishedGoods(), ''); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateInvPostingGroup.Resale(), CreateUSGLAccounts.FinishedGoods(), ''); + ContosoPostingSetup.SetOverwriteData(false); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateItemChargeUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateItemChargeUS.Codeunit.al new file mode 100644 index 0000000000..0cfde357d8 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateItemChargeUS.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 10600 "Create Item Charge US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Item Charge", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Item Charge") + var + CreateItemCharge: Codeunit "Create Item Charge"; + CreateTaxGroupUS: Codeunit "Create Tax Group US"; + begin + case Rec."No." of + CreateItemCharge.JBFreight(): + ValidateRecordFields(Rec, CreateTaxGroupUS.Labor(), ''); + CreateItemCharge.PurchAllowance(): + ValidateRecordFields(Rec, CreateTaxGroupUS.Labor(), ''); + CreateItemCharge.PurchFreight(): + ValidateRecordFields(Rec, CreateTaxGroupUS.Labor(), ''); + CreateItemCharge.PurchRestock(): + ValidateRecordFields(Rec, CreateTaxGroupUS.Labor(), ''); + CreateItemCharge.SaleAllowance(): + ValidateRecordFields(Rec, CreateTaxGroupUS.Labor(), ''); + CreateItemCharge.SaleFreight(): + ValidateRecordFields(Rec, CreateTaxGroupUS.Labor(), ''); + CreateItemCharge.SaleRestock(): + ValidateRecordFields(Rec, CreateTaxGroupUS.Labor(), ''); + end; + end; + + local procedure ValidateRecordFields(var ItemCharge: Record "Item Charge"; TaxGroupCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + ItemCharge.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + ItemCharge.Validate("Tax Group Code", TaxGroupCode); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateItemUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateItemUS.Codeunit.al new file mode 100644 index 0000000000..afe8c52d82 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateItemUS.Codeunit.al @@ -0,0 +1,65 @@ +codeunit 10498 "Create Item US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Item) + var + CreateItem: Codeunit "Create Item"; + CreateTaxGroupUS: Codeunit "Create Tax Group US"; + begin + case Rec."No." of + CreateItem.AthensDesk(): + ValidateRecordFields(Rec, 1000.8, 780.7, CreateTaxGroupUS.Furniture(), ''); + CreateItem.ParisGuestChairBlack(): + ValidateRecordFields(Rec, 192.8, 150.3, CreateTaxGroupUS.Furniture(), ''); + CreateItem.AthensMobilePedestal(): + ValidateRecordFields(Rec, 433.6, 338.2, CreateTaxGroupUS.Furniture(), ''); + CreateItem.LondonSwivelChairBlue(): + ValidateRecordFields(Rec, 190.1, 148.1, CreateTaxGroupUS.Furniture(), ''); + CreateItem.AntwerpConferenceTable(): + ValidateRecordFields(Rec, 647.8, 505.4, CreateTaxGroupUS.Furniture(), ''); + CreateItem.ConferenceBundle16(): + ValidateRecordFields(Rec, 188.8, 0, CreateTaxGroupUS.Furniture(), ''); + CreateItem.AmsterdamLamp(): + ValidateRecordFields(Rec, 54.9, 42.8, CreateTaxGroupUS.Furniture(), ''); + CreateItem.ConferenceBundle18(): + ValidateRecordFields(Rec, 233.8, 0, CreateTaxGroupUS.Furniture(), ''); + CreateItem.BerlingGuestChairYellow(): + ValidateRecordFields(Rec, 192.8, 150.3, CreateTaxGroupUS.Furniture(), ''); + CreateItem.GuestSection1(): + ValidateRecordFields(Rec, 125.8, 0, CreateTaxGroupUS.Furniture(), ''); + CreateItem.RomeGuestChairGreen(): + ValidateRecordFields(Rec, 192.8, 150.3, CreateTaxGroupUS.Furniture(), ''); + CreateItem.TokyoGuestChairBlue(): + ValidateRecordFields(Rec, 192.8, 150.3, CreateTaxGroupUS.Furniture(), ''); + CreateItem.ConferenceBundle28(): + ValidateRecordFields(Rec, 233.8, 0, CreateTaxGroupUS.Furniture(), ''); + CreateItem.MexicoSwivelChairBlack(): + ValidateRecordFields(Rec, 190.1, 148.1, CreateTaxGroupUS.Furniture(), ''); + CreateItem.ConferencePackage1(): + ValidateRecordFields(Rec, 341.8, 0, CreateTaxGroupUS.Furniture(), ''); + CreateItem.MunichSwivelChairYellow(): + ValidateRecordFields(Rec, 190.1, 148.1, CreateTaxGroupUS.Furniture(), ''); + CreateItem.MoscowSwivelChairRed(): + ValidateRecordFields(Rec, 190.1, 148.1, CreateTaxGroupUS.Furniture(), ''); + CreateItem.SeoulGuestChairRed(): + ValidateRecordFields(Rec, 192.8, 150.3, CreateTaxGroupUS.Furniture(), ''); + CreateItem.AtlantaWhiteboardBase(): + ValidateRecordFields(Rec, 1397.3, 1089.9, CreateTaxGroupUS.Furniture(), ''); + CreateItem.SydneySwivelChairGreen(): + ValidateRecordFields(Rec, 190.1, 148.1, CreateTaxGroupUS.Furniture(), ''); + end; + end; + + local procedure ValidateRecordFields(var Item: Record Item; UnitPrice: Decimal; UnitCost: Decimal; TaxGroupCode: Code[20]; VATProdPostingGroup: Code[20]) + begin + Item.Validate("Unit Cost", UnitCost); + Item.Validate("Unit Price", UnitPrice); + Item.Validate("Tax Group Code", TaxGroupCode); + Item.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateLocationUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateLocationUS.Codeunit.al new file mode 100644 index 0000000000..6a7822b8f4 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Inventory/2.Master Data/CreateLocationUS.Codeunit.al @@ -0,0 +1,83 @@ +codeunit 10598 "Create Location US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateLocation(); + end; + + [EventSubscriber(ObjectType::Table, Database::Location, 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record Location) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateLocations: Codeunit "Create Location"; + begin + ContosoCoffeeDemoDataSetup.Get(); + case Rec.Code of + CreateLocations.EastLocation(): + ValidateRecordFields(Rec, EastLocationAddressLbl, EastLocationCityLbl, EastLocationContactLbl, EastLocationPostCodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", EastLocationCountyLbl, '', '', ''); + CreateLocations.OutLogLocation(): + ValidateRecordFields(Rec, '', '', '', '', '', '', '', '', ''); + CreateLocations.OwnLogLocation(): + ValidateRecordFields(Rec, '', '', '', '', '', '', '', '', ''); + CreateLocations.WestLocation(): + ValidateRecordFields(Rec, WestLocationAddressLbl, WestLocationCityLbl, WestLocationContactLbl, WestLocationPostCodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", WestLocationCountyLbl, '', '', ''); + end; + end; + + local procedure ValidateRecordFields(var Location: Record Location; Address: Text[100]; City: Text[30]; Contact: Text[100]; PostCode: Code[20]; CountryRegionCode: Code[10]; County: Text[30]; Address2: Text[50]; PhoneNo: Text[30]; FaxNo: Text[30]) + begin + Location.Validate(Address, Address); + Location.Validate("Address 2", Address2); + Location.Validate(City, City); + Location.Validate("Phone No.", PhoneNo); + Location.Validate("Fax No.", FaxNo); + Location.Validate(Contact, Contact); + Location.Validate("Post Code", PostCode); + Location.Validate("Country/Region Code", CountryRegionCode); + Location.Validate(County, County); + Location.Validate("Do Not Use For Tax Calculation", false); + end; + + local procedure UpdateLocation() + var + Location: Record Location; + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CreateLocaion: Codeunit "Create Location"; + begin + ContosoCoffeeDemoDataSetup.Get(); + Location.Get(CreateLocaion.MainLocation()); + + Location.Validate(Address, MainLocationAddressLbl); + Location.Validate("Address 2", ''); + Location.Validate(City, MainLocationCityLbl); + Location.Validate("Phone No.", ''); + Location.Validate("Fax No.", ''); + Location.Validate(Contact, MainLocationContactLbl); + Location.Validate("Post Code", MainLocationPostCodeLbl); + Location.Validate("Country/Region Code", ContosoCoffeeDemoDataSetup."Country/Region Code"); + Location.Validate(County, MainLocationCountyLbl); + Location.Modify(true); + end; + + var + EastLocationAddressLbl: Label 'South East Street, 3', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label '520 N Michigan Ave', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label '9585 SW Washington Square Rd', MaxLength = 100, Locked = true; + EastLocationCityLbl: Label 'Atlanta', MaxLength = 30, Locked = true; + MainLocationCityLbl: Label 'Chicago', MaxLength = 30, Locked = true; + WestLocationCityLbl: Label 'Portland', MaxLength = 30, Locked = true; + EastLocationContactLbl: Label 'Jeff Smith', MaxLength = 100; + MainLocationContactLbl: Label 'Carole Poland', MaxLength = 100; + WestLocationContactLbl: Label 'Chris Preston', MaxLength = 100; + EastLocationPostCodeLbl: Label '31772', MaxLength = 20; + MainLocationPostCodeLbl: Label '60611', MaxLength = 20; + WestLocationPostCodeLbl: Label '97223', MaxLength = 20; + EastLocationCountyLbl: Label 'GA', MaxLength = 30; + MainLocationCountyLbl: Label 'IL', MaxLength = 30; + WestLocationCountyLbl: Label 'OR', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/1.Setup Data/CreatePurchPayableSetupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/1.Setup Data/CreatePurchPayableSetupUS.Codeunit.al new file mode 100644 index 0000000000..6cc873faa4 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/1.Setup Data/CreatePurchPayableSetupUS.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 10510 "Create Purch. Payable Setup US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdatePurchasesPayablesSetup(); + end; + + local procedure UpdatePurchasesPayablesSetup() + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + begin + PurchasesPayablesSetup.Get(); + + PurchasesPayablesSetup.Validate("Allow VAT Difference", true); + PurchasesPayablesSetup.Validate("Combine Special Orders Default", PurchasesPayablesSetup."Combine Special Orders Default"::"Always Combine"); + PurchasesPayablesSetup.Validate("Use Vendor's Tax Area Code", false); + PurchasesPayablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/1.Setup Data/CreateVendorPostingGroupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/1.Setup Data/CreateVendorPostingGroupUS.Codeunit.al new file mode 100644 index 0000000000..52fd7f2c8f --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/1.Setup Data/CreateVendorPostingGroupUS.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 10517 "Create Vendor Posting Group US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Vendor Posting Group") + var + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + case Rec.Code of + CreateVendorPostingGroup.Domestic(): + ValidateRecordFields(Rec, CreateUSGLAccounts.AccountsPayableDomestic(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.PayableInvoiceRounding(), CreateUSGLAccounts.PayableInvoiceRounding(), CreateUSGLAccounts.PayableInvoiceRounding(), CreateUSGLAccounts.PayableInvoiceRounding(), CreateUSGLAccounts.PayableInvoiceRounding(), CreateUSGLAccounts.PurchaseDiscounts(), CreateUSGLAccounts.InterestIncome(), CreateUSGLAccounts.InterestIncome(), ''); + end; + end; + + local procedure ValidateRecordFields(var VendorPostingGroup: Record "Vendor Posting Group"; PayablesAccount: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; ServiceChargeAcc: Code[20]) + begin + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueUS.Codeunit.al new file mode 100644 index 0000000000..f0d296bf5b --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreatePurchDimValueUS.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 10532 "Create Purch. Dim. Value US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Vendor) and (Rec."Dimension Code" = CreateDimension.AreaDimension()) then + case Rec."No." of + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorBankAccountUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorBankAccountUS.Codeunit.al new file mode 100644 index 0000000000..a75c3d7a73 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorBankAccountUS.Codeunit.al @@ -0,0 +1,22 @@ +codeunit 10514 "Create Vendor Bank Account US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Vendor Bank Account") + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ValidateRecordFields(Rec, CreateCountryRegion.GB(), ''); + end; + + local procedure ValidateRecordFields(var VendorBankAccount: Record "Vendor Bank Account"; CountryRegionCode: Code[20]; BankCode: Code[3]) + begin + VendorBankAccount.Validate("Country/Region Code", CountryRegionCode); + VendorBankAccount.Validate("Use for Electronic Payments", false); + VendorBankAccount.Validate("Bank Code", BankCode); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorTemplateUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorTemplateUS.Codeunit.al new file mode 100644 index 0000000000..b2e4a7d7bd --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorTemplateUS.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 10516 "Create Vendor Template US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Vendor Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Vendor Templ."; RunTrigger: Boolean) + var + CreateVendorTemplate: Codeunit "Create Vendor Template"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateVendorTemplate.VendorCompany(): + ValidateRecordFields(Rec, CreateCountryRegion.US(), false, ''); + CreateVendorTemplate.VendorPerson(): + ValidateRecordFields(Rec, CreateCountryRegion.US(), false, ''); + end; + end; + + local procedure ValidateRecordFields(var VendorTempl: Record "Vendor Templ."; CountryRegionCode: Code[10]; PricesIncludingVAT: Boolean; VATBusPostingGroup: Code[20]) + begin + VendorTempl.Validate("Country/Region Code", CountryRegionCode); + VendorTempl.Validate("Prices Including VAT", PricesIncludingVAT); + VendorTempl.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + VendorTempl.Validate("Bank Communication", VendorTempl."Bank Communication"::"E English"); + VendorTempl.Validate("FATCA filing requirement", false); + VendorTempl.Validate("Tax Identification Type", VendorTempl."Tax Identification Type"::"Legal Entity") + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorUS.Codeunit.al new file mode 100644 index 0000000000..df7dd0c6a8 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/2.Master Data/CreateVendorUS.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 10512 "Create Vendor US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + //Todo - Hard Coded Post Code to be replace with Post Code Codeuint. + + [EventSubscriber(ObjectType::Table, Database::Vendor, 'OnBeforeOnInsert', '', false, false)] + local procedure OnInsertRecord(var Vendor: Record Vendor; var IsHandled: Boolean) + var + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateVendor: Codeunit "Create Vendor"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateTaxAreaUS: Codeunit "Create Tax Area US"; + begin + case Vendor."No." of + CreateVendor.ExportFabrikam(): + ValidateRecordFields(Vendor, NorthLakeAvenueLbl, AtlantaCityLbl, '4255550101', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.US(), CreatePostingGroup.DomesticPostingGroup(), '31772', GaLbl, CreateTaxAreaUS.AtlantaGa(), true, '', '', ''); + CreateVendor.DomesticFirstUp(): + ValidateRecordFields(Vendor, DayDrive100Lbl, ChicagoCityLbl, '', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.US(), CreatePostingGroup.DomesticPostingGroup(), '61236', IlLbl, CreateTaxAreaUS.ChicagoIl(), true, '', '', ''); + CreateVendor.EUGraphicDesign(): + ValidateRecordFields(Vendor, HitechDrive33Lbl, MiamiCityLbl, '', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.US(), CreatePostingGroup.DomesticPostingGroup(), '37125', FlLbl, CreateTaxAreaUS.MiamiFl(), true, '', '', ''); + CreateVendor.DomesticWorldImporter(): + ValidateRecordFields(Vendor, RadcroftRoad51Lbl, AtlantaCityLbl, '', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.US(), CreatePostingGroup.DomesticPostingGroup(), '31772', GaLbl, CreateTaxAreaUS.NAtlGa(), true, '', '', ''); + CreateVendor.DomesticNodPublisher(): + ValidateRecordFields(Vendor, FieldGreen172Lbl, AtlantaCityLbl, '', CreateVendorPostingGroup.Domestic(), CreateCountryRegion.US(), CreatePostingGroup.DomesticPostingGroup(), '31772', GaLbl, CreateTaxAreaUS.AtlantaGa(), true, '', '', ''); + end; + end; + + local procedure ValidateRecordFields(var Vendor: Record Vendor; Address: Text[100]; City: Text[30]; PhoneNo: Text[30]; VendorPostingGroup: Code[20]; CountryOrRegionCode: Code[10]; GenBusPostingGroup: Code[20]; PostCode: Code[20]; County: Code[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; Address2: Text[50]; TerritoryCode: Code[10]; VATBusPostingGroup: Code[20]) + begin + Vendor.Validate(Address, Address); + Vendor.Validate("Address 2", Address2); + Vendor.Validate(City, City); + Vendor.Validate("Phone No.", PhoneNo); + Vendor.Validate("Vendor Posting Group", VendorPostingGroup); + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Vendor.Validate("Tax Area Code", TaxAreaCode); + Vendor.Validate("Tax Liable", TaxLiable); + Vendor.Validate("Country/Region Code", CountryOrRegionCode); + Vendor.Validate("Post Code", PostCode); + Vendor.Validate(County, County); + end; + + var + NorthLakeAvenueLbl: Label '10 North Lake Avenue', MaxLength = 100; + DayDrive100Lbl: Label '100 Day Drive', MaxLength = 100; + HitechDrive33Lbl: Label '33 Hitech Drive', MaxLength = 100; + RadcroftRoad51Lbl: Label '51 Radcroft Road', MaxLength = 100; + FieldGreen172Lbl: Label '172 Field Green', MaxLength = 100; + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30; + ChicagoCityLbl: Label 'Chicago', MaxLength = 30; + MiamiCityLbl: Label 'Miami', MaxLength = 30; + GaLbl: Label 'GA', MaxLength = 20; + IlLbl: Label 'IL', MaxLength = 20; + FlLbl: Label 'FL', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/3.Tranactions/CreatePurchaseLineUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/3.Tranactions/CreatePurchaseLineUS.Codeunit.al new file mode 100644 index 0000000000..c360e5fdbf --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Purchase/3.Tranactions/CreatePurchaseLineUS.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 10530 "Create Purchase Line US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //ToDo: Need to check later as posting is not done + + trigger OnRun() + begin + UpdatePurchaseLine(); + end; + + local procedure UpdatePurchaseLine() + var + PurchaseLine: Record "Purchase Line"; + Item: Record Item; + Resource: Record Resource; + begin + PurchaseLine.SetRange(Type, PurchaseLine.Type::Item); + if PurchaseLine.FindSet() then + repeat + Item.Get(PurchaseLine."No."); + PurchaseLine.Validate("Unit Cost", Item."Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + + PurchaseLine.SetRange(Type, PurchaseLine.Type::Resource); + if PurchaseLine.FindSet() then + repeat + Resource.Get(PurchaseLine."No."); + PurchaseLine.Validate("Unit Cost", Resource."Unit Cost"); + PurchaseLine.Modify(true); + until PurchaseLine.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateCustomerPostingGroupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateCustomerPostingGroupUS.Codeunit.al new file mode 100644 index 0000000000..d18c371d90 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateCustomerPostingGroupUS.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 10529 "CreateCustomerPostingGroupUS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Posting Group", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Customer Posting Group") + var + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreateUSGLAccounts: Codeunit "Create US GL Accounts"; + begin + case Rec.Code of + CreateCustomerPostingGroup.Domestic(): + ValidateRecordFields(Rec, CreateUSGLAccounts.AccountReceivableDomestic(), CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.InterestIncome(), CreateUSGLAccounts.InterestIncome(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.InvoiceRounding(), CreateUSGLAccounts.DiscountsandAllowances(), CreateUSGLAccounts.InterestIncome(), CreateUSGLAccounts.InterestIncome(), ''); + end; + end; + + local procedure ValidateRecordFields(var CustomerPostingGroup: Record "Customer Posting Group"; ReceivablesAccount: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; ServiceChargeAcc: Code[20]) + begin + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateCustomerTemplateUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateCustomerTemplateUS.Codeunit.al new file mode 100644 index 0000000000..f8157ed40d --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateCustomerTemplateUS.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 11472 "Create Customer Template US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Templ.", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Customer Templ."; RunTrigger: Boolean) + var + CreateCustomerTemplate: Codeunit "Create Customer Template"; + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + case Rec.Code of + CreateCustomerTemplate.CustomerCompany(): + ValidateRecordFields(Rec, CreateCountryRegion.US(), false, ''); + CreateCustomerTemplate.CustomerPerson(): + ValidateRecordFields(Rec, CreateCountryRegion.US(), false, ''); + end; + end; + + local procedure ValidateRecordFields(var CustomerTempl: Record "Customer Templ."; CountryRegionCode: Code[10]; PricesIncludingVAT: Boolean; VATBusPostingGroup: Code[20]) + begin + CustomerTempl.Validate("Country/Region Code", CountryRegionCode); + CustomerTempl.Validate("Prices Including VAT", PricesIncludingVAT); + CustomerTempl.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + CustomerTempl.Validate("Bank Communication", CustomerTempl."Bank Communication"::"E English"); + CustomerTempl.Validate("Tax Identification Type", CustomerTempl."Tax Identification Type"::"Legal Entity"); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateReminderLevelUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateReminderLevelUS.Codeunit.al new file mode 100644 index 0000000000..cc239b3985 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateReminderLevelUS.Codeunit.al @@ -0,0 +1,28 @@ +codeunit 10533 "Create Reminder Level US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Reminder Level", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Reminder Level") + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + if Rec."Reminder Terms Code" = CreateReminderTerms.Domestic() then + case Rec."No." of + 1: + ValidateRecordFields(Rec, 7.7); + 2: + ValidateRecordFields(Rec, 15.5); + 3: + ValidateRecordFields(Rec, 23); + end; + end; + + local procedure ValidateRecordFields(var ReminderLevel: Record "Reminder Level"; AdditionalFeeLCY: Decimal) + begin + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFeeLCY); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateSalesRecvSetupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateSalesRecvSetupUS.Codeunit.al new file mode 100644 index 0000000000..71f3a98e81 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/1.Setup Data/CreateSalesRecvSetupUS.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11473 "Create Sales Recv. Setup US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + UpdateSalesReceivablesSetup(); + end; + + local procedure UpdateSalesReceivablesSetup() + var + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + begin + SalesReceivablesSetup.Get(); + + SalesReceivablesSetup.Validate("Allow VAT Difference", true); + SalesReceivablesSetup.Modify(true); + end; +} diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateCustBankAccountUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateCustBankAccountUS.Codeunit.al new file mode 100644 index 0000000000..de96afcbde --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateCustBankAccountUS.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 11498 "Create Cust. Bank Account US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Table, Database::"Customer Bank Account", 'OnBeforeInsertEvent', '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Customer Bank Account") + var + CreateCountryRegion: Codeunit "Create Country/Region"; + begin + ValidateRecordFields(Rec, CreateCountryRegion.GB()); + end; + + local procedure ValidateRecordFields(var CustomerBankAccount: Record "Customer Bank Account"; CountryRegionCode: Code[20]) + begin + CustomerBankAccount.Validate("Country/Region Code", CountryRegionCode); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateCustomerUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateCustomerUS.Codeunit.al new file mode 100644 index 0000000000..6bf1c24a7e --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateCustomerUS.Codeunit.al @@ -0,0 +1,86 @@ +codeunit 11470 "Create Customer US" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + UpdateCustomerDimension(CreateCustomer.DomesticAdatumCorporation(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.SmallBusinessCustomerGroup()); + UpdateCustomerDimension(CreateCustomer.DomesticTreyResearch(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.MediumBusinessCustomerGroup()); + UpdateCustomerDimension(CreateCustomer.ExportSchoolofArt(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.LargeBusinessCustomerGroup()); + UpdateCustomerDimension(CreateCustomer.EUAlpineSkiHouse(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.SmallBusinessCustomerGroup()); + UpdateCustomerDimension(CreateCustomer.DomesticRelecloud(), CreateDimensionValue.SalesDepartment(), CreateDimensionValue.MediumBusinessCustomerGroup()); + end; + + [EventSubscriber(ObjectType::Table, Database::Customer, 'OnBeforeInsert', '', false, false)] + local procedure OnInsertRecord(var Customer: Record Customer; var IsHandled: Boolean) + var + CreateCustomer: Codeunit "Create Customer"; + CreateCustomerPostinGroup: Codeunit "Create Customer Posting Group"; + CreateLanguage: Codeunit "Create Language"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateTaxAreaUS: Codeunit "Create Tax Area US"; + begin + case Customer."No." of + CreateCustomer.DomesticAdatumCorporation(): + ValidateRecordFields(Customer, AdatumCorporationAddressLbl, AtlantaCityLbl, CreateCustomerPostinGroup.Domestic(), CreateLanguage.ENU(), CreateCountryRegion.US(), CreatePostingGroups.DomesticPostingGroup(), '31772', GaLbl, '', CreateTaxAreaUS.AtlantaGa(), true, '', '', '', ''); + CreateCustomer.DomesticTreyResearch(): + ValidateRecordFields(Customer, TreyResearchAddressLbl, ChicagoCityLbl, CreateCustomerPostinGroup.Domestic(), CreateLanguage.ENU(), CreateCountryRegion.US(), CreatePostingGroups.DomesticPostingGroup(), '61236', IlLbl, '', CreateTaxAreaUS.ChicagoIl(), true, '', '', '', ''); + CreateCustomer.ExportSchoolofArt(): + ValidateRecordFields(Customer, SchoolofArtAddressLbl, MiamiCityLbl, CreateCustomerPostinGroup.Domestic(), CreateLanguage.ENU(), CreateCountryRegion.US(), CreatePostingGroups.DomesticPostingGroup(), '37125', FlLbl, '', CreateTaxAreaUS.MiamiFl(), true, '', '', '', ''); + CreateCustomer.EUAlpineSkiHouse(): + ValidateRecordFields(Customer, AlpineSkiHouseAddressLbl, AtlantaCityLbl, CreateCustomerPostinGroup.Domestic(), CreateLanguage.ENU(), CreateCountryRegion.US(), CreatePostingGroups.DomesticPostingGroup(), '31772', GaLbl, '', CreateTaxAreaUS.NAtlGa(), true, '', '', '', ''); + CreateCustomer.DomesticRelecloud(): + ValidateRecordFields(Customer, RelecloudAddressLbl, AtlantaCityLbl, CreateCustomerPostinGroup.Domestic(), CreateLanguage.ENU(), CreateCountryRegion.US(), CreatePostingGroups.DomesticPostingGroup(), '31772', GaLbl, '', CreateTaxAreaUS.AtlantaGa(), true, '', '', '', ''); + end; + end; + + local procedure ValidateRecordFields(var Customer: Record Customer; Address: Text[100]; City: Text[30]; CustomerPostingGroup: Code[20]; LanguageCode: Code[10]; CountryOrRegionCode: Code[10]; GenBusPostingGroup: Code[20]; PostCode: Code[20]; County: Code[20]; ReminderTermsCode: Code[10]; TaxAreaCode: Code[20]; TaxLiable: Boolean; Address2: Text[50]; VATBusPostingGroup: Code[20]; TerritoryCode: Code[10]; DocumentSendingProfile: Code[20]) + begin + Customer.Validate(Address, Address); + Customer.Validate("Address 2", Address2); + Customer.Validate(City, City); + Customer.Validate("Customer Posting Group", CustomerPostingGroup); + Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Customer.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + Customer.Validate("Tax Area Code", TaxAreaCode); + Customer.Validate("Tax Liable", TaxLiable); + Customer.Validate("Document Sending Profile", DocumentSendingProfile); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Reminder Terms Code", ReminderTermsCode); + Customer.Validate("Country/Region Code", CountryOrRegionCode); + Customer.Validate("Post Code", PostCode); + Customer.Validate(County, County); + end; + + local procedure UpdateCustomerDimension(CustomerNo: Code[20]; GlobalDimension1Code: Code[20]; GlobalDimension2Code: Code[20]) + var + Customer: Record Customer; + begin + Customer.Get(CustomerNo); + + Customer.Validate("Global Dimension 1 Code", GlobalDimension1Code); + Customer.Validate("Global Dimension 2 Code", GlobalDimension2Code); + Customer.Modify(true); + end; + + var + AdatumCorporationAddressLbl: Label '192 Market Square', MaxLength = 100, Locked = true; + TreyResearchAddressLbl: Label '153 Thomas Drive', MaxLength = 100, Locked = true; + SchoolofArtAddressLbl: Label '10 High Tower Green', MaxLength = 100, Locked = true; + AlpineSkiHouseAddressLbl: Label '10 Deerfield Road', MaxLength = 100, Locked = true; + RelecloudAddressLbl: Label '25 Water Way', MaxLength = 100, Locked = true; + AtlantaCityLbl: Label 'Atlanta', MaxLength = 30; + ChicagoCityLbl: Label 'Chicago', MaxLength = 30; + MiamiCityLbl: Label 'Miami', MaxLength = 30; + GaLbl: Label 'GA', MaxLength = 20; + IlLbl: Label 'IL', MaxLength = 20; + FlLbl: Label 'FL', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateSalesDimensionValueUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateSalesDimensionValueUS.Codeunit.al new file mode 100644 index 0000000000..2a0bec64fa --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateSalesDimensionValueUS.Codeunit.al @@ -0,0 +1,73 @@ +codeunit 10531 "Create Sales Dimension ValueUS" +{ + SingleInstance = true; + EventSubscriberInstance = Manual; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticAdatumCorporation(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticTreyResearch(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.ExportSchoolofArt(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.EUAlpineSkiHouse(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticRelecloud(), CreateDimension.DepartmentDimension(), CreateDimensionValue.SalesDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + [EventSubscriber(ObjectType::Table, Database::"Default Dimension", OnBeforeInsertEvent, '', false, false)] + local procedure OnInsertRecord(var Rec: Record "Default Dimension") + var + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticAdatumCorporation()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticTreyResearch()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.ExportSchoolofArt()) then + case Rec."Dimension Code" of + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.EUAlpineSkiHouse()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + + if (Rec."Table ID" = Database::Customer) and (Rec."No." = CreateCustomer.DomesticRelecloud()) then + case Rec."Dimension Code" of + CreateDimension.AreaDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + CreateDimension.CustomerGroupDimension(): + ValidateRecordFields(Rec, CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::" "); + end; + end; + + local procedure ValidateRecordFields(var DefaultDimension: Record "Default Dimension"; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateShiptoAddressUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateShiptoAddressUS.Codeunit.al new file mode 100644 index 0000000000..184b238a85 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/2.Master Data/CreateShiptoAddressUS.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 11471 "Create Ship-to Address US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //TODO: PostCode Later to be replaced + + //ToDo Need to check later as Primary Key fields are changing + + trigger OnRun() + var + // ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + // ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + // CreateCustomer: Codeunit "Create Customer"; + begin + // ContosoCoffeeDemoDataSetup.Get(); + // ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticAdatumCorporation(), LewesRoad(), AdatumCorporationLbl, LewesRoadAddressLbl, AtlantaCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", '31772', GaLbl); + // ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticAdatumCorporation(), ParkRoad(), AdatumCorporationLbl, ParkRoadAddressLbl, AtlantaCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", '31772', GaLbl); + // ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticTreyResearch(), Chicago(), TreyResearchLbl, ChicagoAddressLbl, ChicagoCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", '61236', IlLbl); + // ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticTreyResearch(), Miami(), TreyResearchLbl, MiamiAddressLbl, MiamiCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", '37125', FlLbl); + //ToDo Need to check later as Primary Key fields are changing + end; + + // procedure LewesRoad(): Code[10] + // begin + // exit(LewesRoadTok); + // end; + + // procedure ParkRoad(): Code[10] + // begin + // exit(ParkRoadTok); + // end; + + // procedure Chicago(): Code[10] + // begin + // exit(ChicagoTok); + // end; + + // procedure Miami(): Code[10] + // begin + // exit(MiamiTok); + // end; + + // var + // LewesRoadTok: Label 'LEWES ROAD', MaxLength = 10; + // ParkRoadTok: Label 'PARK ROAD', MaxLength = 10; + // ChicagoTok: Label 'CHICAGO', MaxLength = 10; + // MiamiTok: Label 'MIAMI', MaxLength = 10; + // AdatumCorporationLbl: Label 'Adatum Corporation', MaxLength = 100; + // TreyResearchLbl: Label 'Trey Research', MaxLength = 100; + // LewesRoadAddressLbl: Label '2 Lewes Road', MaxLength = 100; + // ParkRoadAddressLbl: Label '10 Park Road', MaxLength = 100; + // ChicagoAddressLbl: Label '53 East Acton Road', MaxLength = 100; + // MiamiAddressLbl: Label '55 Cross Court', MaxLength = 100; + // AtlantaCityLbl: Label 'Atlanta', MaxLength = 30; + // ChicagoCityLbl: Label 'Chicago', MaxLength = 30; + // MiamiCityLbl: Label 'Miami', MaxLength = 30; + // GaLbl: Label 'GA', MaxLength = 30; + // IlLbl: Label 'IL', MaxLength = 30; + // FlLbl: Label 'FL', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/3.Transactions/CreateSalesDocumentUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/3.Transactions/CreateSalesDocumentUS.Codeunit.al new file mode 100644 index 0000000000..0c718c819a --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/Sales/3.Transactions/CreateSalesDocumentUS.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 11469 "Create Sales Document US" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateUSGLAccount: Codeunit "Create US GL Accounts"; + begin + SalesHeader.Get(Enum::"Sales Document Type"::Invoice, SINV102201Lbl); + ContosoSales.InsertSalesLineWithGLAccount(SalesHeader, CreateUSGLAccount.SalesofServiceWork(), 1, 970); + end; + + var + SINV102201Lbl: Label 'S-INV102201', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/eServices/USIncomingDocument.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/eServices/USIncomingDocument.Codeunit.al new file mode 100644 index 0000000000..fd8a1f6734 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoData/eServices/USIncomingDocument.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 10520 "US Incoming Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + EServiceDemoDataSetup: Record "EService Demo Data Setup"; + begin + if (Module = Enum::"Contoso Demo Data Module"::"EService") and (ContosoDemoDataLevel = Enum::"Contoso Demo Data Level"::"Setup Data") then begin + EServiceDemoDataSetup.InitRecord(); + + EServiceDemoDataSetup.Validate("Invoice Field Name", IncomingDocDescriptionLbl); + EServiceDemoDataSetup.Modify(); + end; + end; + + var + IncomingDocDescriptionLbl: Label 'Fabrikam Invoice US D365F', Locked = true; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoAccountScheduleUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoAccountScheduleUS.Codeunit.al new file mode 100644 index 0000000000..9e8a08cad5 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoAccountScheduleUS.Codeunit.al @@ -0,0 +1,54 @@ +codeunit 11499 "Contoso Account Schedule US" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Column Layout" = ri; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; HideCurrencySymbol: Boolean; ComparisonDateFormula: Text[10]; RoundingFactor: Enum "Analysis Rounding Factor") + begin + InsertColumnLayout(ColumnLayoutName, LineNo, ColumnNo, ColumnHeader, ColumnType, LedgerEntryType, Enum::"Account Schedule Amount Type"::"Net Amount", Formula, ShowOppositeSign, Show, ComparisonPeriodFormula, HideCurrencySymbol, ComparisonDateFormula, RoundingFactor); + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; HideCurrencySymbol: Boolean; ComparisonDateFormula: Text[10]; RoundingFactor: Enum "Analysis Rounding Factor") + var + ColumnLayout: Record "Column Layout"; + Exists: Boolean; + begin + if ColumnLayout.Get(ColumnLayoutName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ColumnLayout.Validate("Column Layout Name", ColumnLayoutName); + ColumnLayout.Validate("Line No.", LineNo); + ColumnLayout.Validate("Column No.", ColumnNo); + ColumnLayout.Validate("Column Header", ColumnHeader); + ColumnLayout.Validate("Column Type", ColumnType); + ColumnLayout.Validate("Ledger Entry Type", LedgerEntryType); + ColumnLayout.Validate(Formula, Formula); + ColumnLayout.Validate("Show Opposite Sign", ShowOppositeSign); + ColumnLayout.Validate(Show, Show); + ColumnLayout.Validate("Comparison Period Formula", ComparisonPeriodFormula); + Evaluate(ColumnLayout."Comparison Date Formula", ComparisonDateFormula); + ColumnLayout.Validate("Comparison Date Formula"); + ColumnLayout.Validate("Amount Type", AmountType); + ColumnLayout.Validate("Hide Currency Symbol", HideCurrencySymbol); + ColumnLayout.Validate("Rounding Factor", RoundingFactor); + + if Exists then + ColumnLayout.Modify(true) + else + ColumnLayout.Insert(true); + end; + + var + OverwriteData: Boolean; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/Codeunits/ContosoDemoDataSetupUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoDemoDataSetupUS.Codeunit.al similarity index 100% rename from Apps/US/ContosoCoffeeDemoDatasetUS/app/Codeunits/ContosoDemoDataSetupUS.Codeunit.al rename to Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoDemoDataSetupUS.Codeunit.al diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoTaxUS.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoTaxUS.Codeunit.al new file mode 100644 index 0000000000..51fe16cbaa --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/Contoso Helpers/ContosoTaxUS.Codeunit.al @@ -0,0 +1,140 @@ +codeunit 11464 "Contoso Tax US" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Tax Area" = rim, + tabledata "Tax Detail" = rim, + tabledata "Tax Group" = rim, + tabledata "Tax Setup" = rim, + tabledata "Tax Jurisdiction" = rim, + tabledata "Tax Area Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertTaxArea(Code: Code[20]; Description: Text[100]; CountryRegion: Option; RoundTax: Option) + var + TaxArea: Record "Tax Area"; + Exists: Boolean; + begin + if TaxArea.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxArea.Validate(Code, Code); + TaxArea.Validate(Description, Description); + TaxArea.Validate("Country/Region", CountryRegion); + TaxArea.Validate("Round Tax", RoundTax); + + if Exists then + TaxArea.Modify(true) + else + TaxArea.Insert(true); + end; + + procedure InsertTaxGroup(Code: Code[20]; Description: Text[100]) + var + TaxGroup: Record "Tax Group"; + Exists: Boolean; + begin + if TaxGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxGroup.Validate(Code, Code); + TaxGroup.Validate(Description, Description); + + if Exists then + TaxGroup.Modify(true) + else + TaxGroup.Insert(true); + end; + + procedure InsertTaxSetup(AutoCreateTaxDetails: Boolean; NonTaxableTaxGroupCode: Code[20]; TaxAccountSales: Code[20]; TaxAccountPurchases: Code[20]; ReverseChargePurchases: Code[20]) + var + TaxSetup: Record "Tax Setup"; + begin + if not TaxSetup.Get() then + TaxSetup.Insert(true); + + TaxSetup.Validate("Auto. Create Tax Details", AutoCreateTaxDetails); + TaxSetup.Validate("Non-Taxable Tax Group Code", NonTaxableTaxGroupCode); + TaxSetup.Validate("Tax Account (Sales)", TaxAccountSales); + TaxSetup.Validate("Tax Account (Purchases)", TaxAccountPurchases); + TaxSetup.Validate("Reverse Charge (Purchases)", ReverseChargePurchases); + TaxSetup.Modify(true); + end; + + procedure InsertTaxDetail(TaxJurisdictionCode: Code[10]; TaxGroupCode: Code[20]; TaxType: Option; EffectiveDate: Date; TaxBelowMaximum: Decimal) + var + TaxDetail: Record "Tax Detail"; + Exists: Boolean; + begin + if TaxDetail.Get(TaxJurisdictionCode, TaxGroupCode, TaxType, EffectiveDate) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxDetail.Validate("Tax Jurisdiction Code", TaxJurisdictionCode); + TaxDetail.Validate("Tax Group Code", TaxGroupCode); + TaxDetail.Validate("Tax Type", TaxType); + TaxDetail.Validate("Effective Date", EffectiveDate); + TaxDetail.Validate("Tax Below Maximum", TaxBelowMaximum); + + if Exists then + TaxDetail.Modify(true) + else + TaxDetail.Insert(true); + end; + + procedure InsertTaxJurisdiction(Code: Code[10]; Description: Text[100]; TaxAccountSales: Code[20]; TaxAccountPurchases: Code[20]; ReporttoJurisdiction: Code[10]; ReverseChargePurchases: Code[20]; CountryRegion: Option) + var + TaxJurisdiction: Record "Tax Jurisdiction"; + begin + TaxJurisdiction.Validate(Code, Code); + TaxJurisdiction.Insert(true); + + TaxJurisdiction.Validate(Description, Description); + TaxJurisdiction.Validate("Tax Account (Sales)", TaxAccountSales); + TaxJurisdiction.Validate("Tax Account (Purchases)", TaxAccountPurchases); + TaxJurisdiction.Validate("Report-to Jurisdiction", ReporttoJurisdiction); + TaxJurisdiction.Validate("Reverse Charge (Purchases)", ReverseChargePurchases); + TaxJurisdiction.Validate("Country/Region", CountryRegion); + TaxJurisdiction.Modify(true); + end; + + procedure InsertTaxAreaLine(TaxArea: Code[20]; TaxJurisdictionCode: Code[10]) + var + TaxAreaLine: Record "Tax Area Line"; + Exists: Boolean; + begin + if TaxAreaLine.Get(TaxArea, TaxJurisdictionCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TaxAreaLine.Validate("Tax Area", TaxArea); + TaxAreaLine.Validate("Tax Jurisdiction Code", TaxJurisdictionCode); + + if Exists then + TaxAreaLine.Modify(true) + else + TaxAreaLine.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/USContosoLocalization.Codeunit.al b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/USContosoLocalization.Codeunit.al new file mode 100644 index 0000000000..fa1ecddee1 --- /dev/null +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/DemoTool/USContosoLocalization.Codeunit.al @@ -0,0 +1,290 @@ +codeunit 11465 "US Contoso Localization" +{ + InherentEntitlements = X; + InherentPermissions = X; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure LocalizationContosoDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + FoundationModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Finance: + FinanceModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Sales: + SalesModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Bank: + BankModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Purchase: + PurchaseModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::"Human Resources Module": + HumanResourceModule(ContosoDemoDataLevel); + Enum::"Contoso Demo Data Module"::Inventory: + InventoryModule(ContosoDemoDataLevel); + end; + end; + + local procedure FoundationModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create No. Series US"); + Codeunit.Run(Codeunit::"Create Post Code US"); + Codeunit.Run(Codeunit::"Create Company Information US"); + Codeunit.Run(Codeunit::"Create Job Queue Category US"); + Codeunit.Run(Codeunit::"Create Data Exchange Def US"); + end; + end; + end; + + local procedure FinanceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + begin + Codeunit.Run(Codeunit::"Create General Ledger Setup US"); + Codeunit.Run(Codeunit::"Create Posting Groups US"); + Codeunit.Run(Codeunit::"Create Acc. Schedule Line US"); + Codeunit.Run(Codeunit::"Create Column Layout Name US"); + Codeunit.Run(Codeunit::"Create Currency US"); + end; + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Column Layout US"); + Codeunit.Run(Codeunit::"Create Curr Exchange Rate US"); + Codeunit.Run(Codeunit::"Create Tax Group US"); + Codeunit.Run(Codeunit::"Create Tax Jurisdiction US"); + Codeunit.Run(Codeunit::"Create Tax Setup US"); + Codeunit.Run(Codeunit::"Create Tax Area US"); + Codeunit.Run(Codeunit::"Create Tax Area Line US"); + Codeunit.Run(Codeunit::"Create Tax Detail US"); + end; + end; + end; + + local procedure SalesModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Sales Recv. Setup US"); + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Customer US"); + Codeunit.Run(Codeunit::"Create Sales Dimension ValueUS"); + Codeunit.Run(Codeunit::"Create Ship-to Address US"); + end; + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Sales Document US"); + end; + end; + + local procedure BankModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Bank Ex/Import SetupUS"); + end; + end; + + local procedure PurchaseModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Setup Data": + Codeunit.Run(Codeunit::"Create Purch. Payable Setup US"); + Enum::"Contoso Demo Data Level"::"Transactional Data": + Codeunit.Run(Codeunit::"Create Purchase Line US"); + end; + end; + + local procedure InventoryModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + begin + Codeunit.Run(Codeunit::"Create Location US"); + Codeunit.Run(Codeunit::"Create InventoryPostingSetupUS"); + end; + end; + end; + + local procedure HumanResourceModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Master Data": + Codeunit.Run(Codeunit::"Create Employee US"); + end; + end; + + // Bind subscription for localization events + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] + local procedure OnBeforeGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateCustomerPostingGroupUS: Codeunit "CreateCustomerPostingGroupUS"; + CreateNoSeriesUS: Codeunit "Create No. Series US"; + CreateAccScheduleLineUS: Codeunit "Create Acc. Schedule Line US"; + CreateCurrencyUS: Codeunit "Create Currency US"; + CreateGenJnlTemplateUS: Codeunit "Create Gen. Jnl Template US"; + CreateGenJnlBatchUS: Codeunit "Create Gen. Journal Batch US"; + CreateColumnLayoutUS: Codeunit "Create Column Layout US"; + CreateCurrExchangeRateUS: Codeunit "Create Curr Exchange Rate US"; + CreateBankAccPostingGrpUS: Codeunit "Create Bank Acc. Posting GrpUS"; + CreateBankAccountUS: Codeunit "Create Bank Account US"; + CreateResourceUS: Codeunit "Create Resource US"; + CreateItemJournalTemplateUS: Codeunit "Create Item Journal TemplateUS"; + CreateItemChargeUS: Codeunit "Create Item Charge US"; + CreateItemUS: Codeunit "Create Item US"; + CreateLocationUS: Codeunit "Create Location US"; + CreateVendorPostingGroupUS: Codeunit "Create Vendor Posting Group US"; + CreateVendorUS: Codeunit "Create Vendor US"; + CreateVendorTemplateUS: Codeunit "Create Vendor Template US"; + CreateVendorBankAccountUS: Codeunit "Create Vendor Bank Account US"; + CreateCustomerTemplateUS: Codeunit "Create Customer Template US"; + CreateCustomerUS: Codeunit "Create Customer US"; + CreateEmployeePostingGroupUS: Codeunit "Create Employee PostingGroupUS"; + CreateSalesDimensionValueUS: Codeunit "Create Sales Dimension ValueUS"; + CreatePurchDimValueUS: Codeunit "Create Purch. Dim. Value US"; + CreateReminderLevelUS: Codeunit "Create Reminder Level US"; + CreateFADepreciationBookUS: Codeunit "Create FA Depreciation Book US"; + CreateFAPostingGrpUS: Codeunit "Create FA Posting Grp. US"; + CreateCustBankAccountUS: Codeunit "Create Cust. Bank Account US"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + BindSubscription(CreateNoSeriesUS); + + Enum::"Contoso Demo Data Module"::Finance: + begin + BindSubscription(CreateAccScheduleLineUS); + BindSubscription(CreateCurrencyUS); + BindSubscription(CreateGenJnlTemplateUS); + BindSubscription(CreateGenJnlBatchUS); + BindSubscription(CreateColumnLayoutUS); + BindSubscription(CreateCurrExchangeRateUS); + BindSubscription(CreateResourceUS); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + BindSubscription(CreateCustomerPostingGroupUS); + BindSubscription(CreateReminderLevelUS); + BindSubscription(CreateCustomerTemplateUS); + BindSubscription(CreateCustomerUS); + BindSubscription(CreateSalesDimensionValueUS); + BindSubscription(CreateCustBankAccountUS); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + BindSubscription(CreateBankAccPostingGrpUS); + BindSubscription(CreateBankAccountUS); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + BindSubscription(CreateItemJournalTemplateUS); + BindSubscription(CreateItemUS); + BindSubscription(CreateItemChargeUS); + BindSubscription(CreateLocationUS); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + BindSubscription(CreateVendorPostingGroupUS); + BindSubscription(CreateVendorUS); + BindSubscription(CreatePurchDimValueUS); + BindSubscription(CreateVendorTemplateUS); + BindSubscription(CreateVendorBankAccountUS); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + BindSubscription(CreateEmployeePostingGroupUS); + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + BindSubscription(CreateFADepreciationBookUS); + BindSubscription(CreateFAPostingGrpUS); + end; + end; + end; + + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnAfterGeneratingDemoData', '', false, false)] + local procedure OnAfterGeneratingDemoData(ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; Module: Enum "Contoso Demo Data Module") + var + CreateCustomerPostingGroupUS: Codeunit "CreateCustomerPostingGroupUS"; + CreateNoSeriesUS: Codeunit "Create No. Series US"; + CreateAccScheduleLineUS: Codeunit "Create Acc. Schedule Line US"; + CreateCurrencyUS: Codeunit "Create Currency US"; + CreateGenJnlTemplateUS: Codeunit "Create Gen. Jnl Template US"; + CreateGenJnlBatchUS: Codeunit "Create Gen. Journal Batch US"; + CreateColumnLayoutUS: Codeunit "Create Column Layout US"; + CreateCurrExchangeRateUS: Codeunit "Create Curr Exchange Rate US"; + CreateBankAccPostingGrpUS: Codeunit "Create Bank Acc. Posting GrpUS"; + CreateBankAccountUS: Codeunit "Create Bank Account US"; + CreateResourceUS: Codeunit "Create Resource US"; + CreateItemJournalTemplateUS: Codeunit "Create Item Journal TemplateUS"; + CreateItemChargeUS: Codeunit "Create Item Charge US"; + CreateItemUS: Codeunit "Create Item US"; + CreateLocationUS: Codeunit "Create Location US"; + CreateVendorPostingGroupUS: Codeunit "Create Vendor Posting Group US"; + CreateVendorUS: Codeunit "Create Vendor US"; + CreateVendorTemplateUS: Codeunit "Create Vendor Template US"; + CreateVendorBankAccountUS: Codeunit "Create Vendor Bank Account US"; + CreateCustomerTemplateUS: Codeunit "Create Customer Template US"; + CreateCustomerUS: Codeunit "Create Customer US"; + CreateEmployeePostingGroupUS: Codeunit "Create Employee PostingGroupUS"; + CreateSalesDimensionValueUS: Codeunit "Create Sales Dimension ValueUS"; + CreatePurchDimValueUS: Codeunit "Create Purch. Dim. Value US"; + CreateReminderLevelUS: Codeunit "Create Reminder Level US"; + CreateFADepreciationBookUS: Codeunit "Create FA Depreciation Book US"; + CreateFAPostingGrpUS: Codeunit "Create FA Posting Grp. US"; + CreateCustBankAccountUS: Codeunit "Create Cust. Bank Account US"; + begin + case Module of + Enum::"Contoso Demo Data Module"::Foundation: + UnbindSubscription(CreateNoSeriesUS); + + Enum::"Contoso Demo Data Module"::Finance: + begin + UnbindSubscription(CreateAccScheduleLineUS); + UnbindSubscription(CreateCurrencyUS); + UnbindSubscription(CreateGenJnlTemplateUS); + UnbindSubscription(CreateGenJnlBatchUS); + UnbindSubscription(CreateColumnLayoutUS); + UnbindSubscription(CreateCurrExchangeRateUS); + UnbindSubscription(CreateResourceUS); + end; + Enum::"Contoso Demo Data Module"::Sales: + begin + UnbindSubscription(CreateCustomerPostingGroupUS); + UnbindSubscription(CreateReminderLevelUS); + UnbindSubscription(CreateCustomerTemplateUS); + UnbindSubscription(CreateCustomerUS); + UnbindSubscription(CreateSalesDimensionValueUS); + UnbindSubscription(CreateCustBankAccountUS); + end; + Enum::"Contoso Demo Data Module"::Bank: + begin + UnbindSubscription(CreateBankAccPostingGrpUS); + UnbindSubscription(CreateBankAccountUS); + end; + Enum::"Contoso Demo Data Module"::Inventory: + begin + UnbindSubscription(CreateItemJournalTemplateUS); + UnbindSubscription(CreateItemUS); + UnbindSubscription(CreateItemChargeUS); + UnbindSubscription(CreateLocationUS); + end; + Enum::"Contoso Demo Data Module"::Purchase: + begin + UnbindSubscription(CreateVendorPostingGroupUS); + UnbindSubscription(CreateVendorUS); + UnbindSubscription(CreatePurchDimValueUS); + UnbindSubscription(CreateVendorTemplateUS); + UnbindSubscription(CreateVendorBankAccountUS); + end; + Enum::"Contoso Demo Data Module"::"Human Resources Module": + UnbindSubscription(CreateEmployeePostingGroupUS); + Enum::"Contoso Demo Data Module"::"Fixed Asset Module": + begin + UnbindSubscription(CreateFADepreciationBookUS); + UnbindSubscription(CreateFAPostingGrpUS); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json b/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json index 15806c27a0..40bb448e49 100644 --- a/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json +++ b/Apps/US/ContosoCoffeeDemoDatasetUS/app/app.json @@ -25,7 +25,7 @@ "idRanges": [ { "from": 10495, - "to": 10499 + "to": 11500 } ], "resourceExposurePolicy": { diff --git a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankInstall.Codeunit.al b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankInstall.Codeunit.al index 2bcdbefd2e..b56d669981 100644 --- a/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankInstall.Codeunit.al +++ b/Apps/W1/AMCBanking365Fundamentals/app/Codeunits/AMCBankInstall.Codeunit.al @@ -18,52 +18,12 @@ codeunit 20116 "AMC Bank Install" begin NavApp.GetCurrentModuleInfo(AppInfo); if AppInfo.DataVersion() = Version.Create('0.0.0.0') then begin - MoveBankAccountTableData(); - MoveBankDataConversionPmtTypesTableData(); - MovePaymentMethodTableData(); DeleteOldDataExchangeDefinitions(); RemoveDataExchangeDefinitionReferences(); end; UpdateNamespaceApiVersion(); end; - local procedure MoveBankAccountTableData() - var - BankAccount: Record "Bank Account"; - begin - if BankAccount.FindSet(true, false) then - repeat - BankAccount."AMC Bank Name" := BankAccount."Bank Name - Data Conversion"; - BankAccount.Modify(true); - until BankAccount.Next() = 0; - end; - - local procedure MovePaymentMethodTableData() - var - PaymentMethod: Record "Payment Method"; - begin - if PaymentMethod.FindSet(true, false) then - repeat - PaymentMethod."AMC Bank Pmt. Type" := PaymentMethod."Bank Data Conversion Pmt. Type"; - PaymentMethod.Modify(true); - until PaymentMethod.Next() = 0; - end; - - local procedure MoveBankDataConversionPmtTypesTableData() - var - BankDataConversionPmtType: Record "Bank Data Conversion Pmt. Type"; - AMCBankPmtType: Record "AMC Bank Pmt. Type"; - begin - if BankDataConversionPmtType.FindSet(false, false) then - repeat - clear(AMCBankPmtType); - AMCBankPmtType.Code := BankDataConversionPmtType.Code; - AMCBankPmtType.Description := BankDataConversionPmtType.Description; - AMCBankPmtType.SystemId := BankDataConversionPmtType.SystemId; - AMCBankPmtType.Insert(true); - until BankDataConversionPmtType.Next() = 0; - end; - local procedure DeleteOldDataExchangeDefinitions() var DataExchDef: Record "Data Exch. Def"; diff --git a/Apps/W1/AuditFileExport/app/src/AuditMappingHelper.Codeunit.al b/Apps/W1/AuditFileExport/app/src/AuditMappingHelper.Codeunit.al index 7a13f10254..c8f7ff8e7d 100644 --- a/Apps/W1/AuditFileExport/app/src/AuditMappingHelper.Codeunit.al +++ b/Apps/W1/AuditFileExport/app/src/AuditMappingHelper.Codeunit.al @@ -207,6 +207,7 @@ codeunit 5260 "Audit Mapping Helper" GLAccountMappingHeader.TestField("Ending Date"); if GuiAllowed() then ProgressDialog.Open(PreparingSourceForMappingLbl); + OnSetupGLAccountsForMappingOnBeforeGetGLAccountForMapping(GLAccount); GetGLAccountForMapping(GLAccount); repeat GLAccountMappingLine.Init(); @@ -292,4 +293,9 @@ codeunit 5260 "Audit Mapping Helper" Error(ErrorMessage); ErrorMessageManagement.LogError(SourceVariant, ErrorMessage, ''); end; + + [IntegrationEvent(false, false)] + local procedure OnSetupGLAccountsForMappingOnBeforeGetGLAccountForMapping(var GLAccount: Record "G/L Account") + begin + end; } diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Enums/AACPageSetupKey.Enum.al b/Apps/W1/AutomaticAccountCodes/app/src/Enums/AACPageSetupKey.Enum.al index b7004d4de2..4baf7d6ed9 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Enums/AACPageSetupKey.Enum.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Enums/AACPageSetupKey.Enum.al @@ -1,3 +1,4 @@ +#if not CLEANSCHEMA25 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. @@ -13,9 +14,13 @@ enum 4853 "AAC Page Setup Key" { ObsoleteReason = 'Automatic Acc.functionality will be moved to a new app.'; ObsoleteState = Pending; +#pragma warning disable AS0105 #pragma warning disable AS0072 +#pragma warning disable AS0074 ObsoleteTag = '22.0'; #pragma warning restore AS0072 +#pragma warning restore AS0074 +#pragma warning restore AS0105 value(0; "Automatic Acc. Groups List") { } @@ -23,4 +28,4 @@ enum 4853 "AAC Page Setup Key" value(1; "Automatic Acc. Groups Card") { } } -// #endif \ No newline at end of file +#endif \ No newline at end of file diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al b/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al index 2669b3660f..2e7dacc80d 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccInvoicePostBuffer.TableExt.al @@ -1,3 +1,4 @@ +#if not CLEANSCHEMA26 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. @@ -21,3 +22,4 @@ tableextension 4853 "AutoAcc. Invoice Post. Buffer" extends "Invoice Post. Buffe } } } +#endif \ No newline at end of file diff --git a/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccPageSetup.Table.al b/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccPageSetup.Table.al index 78df29e87b..7aaf58e4ee 100644 --- a/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccPageSetup.Table.al +++ b/Apps/W1/AutomaticAccountCodes/app/src/Tables/AutoAccPageSetup.Table.al @@ -14,10 +14,20 @@ table 4857 "Auto. Acc. Page Setup" fields { +#pragma warning disable AS0105 field(1; Id; Enum "AAC Page Setup Key") { DataClassification = SystemMetadata; +#if CLEAN26 + ObsoleteState = Removed; + ObsoleteTag = '29.0'; +#else + ObsoleteState = Pending; + ObsoleteTag = '26.0'; +#endif + ObsoleteReason = 'Automatic Acc.functionality will be moved to a new app.'; } +#pragma warning restore AS0105 field(2; ObjectId; Integer) { DataClassification = SystemMetadata; diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIPropBuf.Table.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIPropBuf.Table.al index c7d04ba4e4..a42e7aea69 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIPropBuf.Table.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIPropBuf.Table.al @@ -2,6 +2,7 @@ namespace Microsoft.Bank.Reconciliation; using Microsoft.Bank.BankAccount; using Microsoft.Finance.GeneralLedger.Account; +using Microsoft.Finance.Dimension; table 7251 "Bank Acc. Rec. AI Prop. Buf." { @@ -71,6 +72,22 @@ table 7251 "Bank Acc. Rec. AI Prop. Buf." DataClassification = SystemMetadata; Caption = 'Proposal'; } + field(480; "Dimension Set ID"; Integer) + { + Caption = 'Dimension Set ID'; + Editable = false; + TableRelation = "Dimension Set Entry"; + + trigger OnValidate() + begin + Rec."Dimension Set Text" := GetDimensionSetText(Rec."Dimension Set ID"); + end; + } + field(7480; "Dimension Set Text"; Text[2048]) + { + Caption = 'Dimension Set Text'; + Editable = false; + } } keys { @@ -93,6 +110,33 @@ table 7251 "Bank Acc. Rec. AI Prop. Buf." exit(''); end; + internal procedure GetDimensionSetText(DimensionSetId: Integer): Text[2048] + begin + if DimensionSetId = 0 then + exit(SetDimensionsLbl) + else + exit(EditDimensionsLbl) + end; + + + procedure EditDimensions() IsChanged: Boolean + var + OldDimSetID: Integer; + NewDimSetId: Integer; + begin + OldDimSetID := Rec."Dimension Set ID"; + NewDimSetId := DimMgt.EditDimensionSet(Rec."Dimension Set ID", DimensionsForProposalTxt); + + IsChanged := OldDimSetID <> NewDimSetId; + + if IsChanged then + Rec.Validate("Dimension Set ID", NewDimSetId); + end; + var + DimMgt: Codeunit DimensionManagement; + DimensionsForProposalTxt: label 'Dimensions for Copilot proposal'; PostPaymentProposalTxt: label '%1 (%2)', Comment = '%1 - G/L Account number, %2 - G/L Account name'; + SetDimensionsLbl: label 'Set...'; + EditDimensionsLbl: label 'Edit...'; } \ No newline at end of file diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Table.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Table.al index d3148b778a..38f562e72d 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Table.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposal.Table.al @@ -4,6 +4,7 @@ using Microsoft.Bank.BankAccount; using Microsoft.Bank.Ledger; using Microsoft.Finance.GeneralLedger.Account; using Microsoft.Finance.GeneralLedger.Journal; +using Microsoft.Finance.Dimension; table 7250 "Bank Acc. Rec. AI Proposal" { @@ -99,6 +100,12 @@ table 7250 "Bank Acc. Rec. AI Proposal" Caption = 'Journal Batch Name'; TableRelation = "Gen. Journal Batch".Name where("Journal Template Name" = field("Journal Template Name")); } + field(480; "Dimension Set ID"; Integer) + { + Caption = 'Dimension Set ID'; + Editable = false; + TableRelation = "Dimension Set Entry"; + } } keys { diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposalSub.Page.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposalSub.Page.al index ad54e5d39f..8369e2f306 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposalSub.Page.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecAIProposalSub.Page.al @@ -54,10 +54,28 @@ page 7251 "Bank Acc. Rec. AI Proposal Sub" OpenProposedRecord(); end; } + field(DimensionSet; Rec."Dimension Set Text") + { + ApplicationArea = All; + Caption = 'Dimensions'; + ToolTip = 'Specifies a drill-down to a page on which you can dimensions for the corresponding journal line'; + Visible = MapTextToAccountVisible; + + trigger OnDrillDown() + var + + begin + if Rec.EditDimensions() then begin + Rec.Modify(); + CurrPage.Update(); + end; + end; + + } field("Map Text to Account"; MapTextToAccountTxt) { ApplicationArea = All; - Caption = ' '; + Caption = 'Text-to-account mapping'; ToolTip = 'Specifies a drill-down to save this proposal and reuse it next time'; Visible = MapTextToAccountVisible; @@ -162,6 +180,11 @@ page 7251 "Bank Acc. Rec. AI Proposal Sub" Rec."G/L Account No." := TempBankAccRecAIProposal."G/L Account No."; Rec."Transaction Date" := TempBankAccRecAIProposal."Transaction Date"; Rec."AI Proposal" := TempBankAccRecAIProposal."AI Proposal"; + Rec."Dimension Set ID" := TempBankAccRecAIProposal."Dimension Set ID"; + if Rec."Dimension Set ID" = 0 then + Rec."Dimension Set Text" := SetDimensionsLbl + else + Rec."Dimension Set Text" := Rec.GetDimensionSetText(Rec."Dimension Set ID"); Rec.Difference := TempBankAccRecAIProposal.Difference; Rec.Description := TempBankAccRecAIProposal.Description; Rec.Insert(); @@ -210,6 +233,9 @@ page 7251 "Bank Acc. Rec. AI Proposal Sub" if Rec."G/L Account No." <> '' then if Rec."G/L Account No." <> TempBankAccRecAIProposal."G/L Account No." then TempBankAccRecAIProposal."G/L Account No." := Rec."G/L Account No."; + if Rec."Dimension Set ID" <> 0 then + if Rec."Dimension Set ID" <> TempBankAccRecAIProposal."Dimension Set ID" then + TempBankAccRecAIProposal."Dimension Set ID" := Rec."Dimension Set ID"; TempBankAccRecAIProposal.Insert(); until TempInitialBankAccRecAIProposal.Next() = 0; until Rec.Next() = 0; @@ -224,7 +250,8 @@ page 7251 "Bank Acc. Rec. AI Proposal Sub" TempInitialBankAccRecAIProposal: Record "Bank Acc. Rec. AI Proposal" temporary; MapTextToAccountVisible: Boolean; ProposalFieldCaption: Text; - MapTextToAccountTxt: label 'Save...'; + MapTextToAccountTxt: label 'Add...'; + SetDimensionsLbl: label 'Set...'; ApplyToMultipleLedgerEntriesTxt: label 'Match multiple entries. Drill down to see more.'; TelemetryUserSavingProposalTxt: label 'User saving Copilot proposal in Text-toAccount Mapping table', Locked = true; TelemetryUserChangedProposalTxt: label 'User changed Copilot proposal for transfering to G/L Account', Locked = true; diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecTransToAcc.Codeunit.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecTransToAcc.Codeunit.al index ae199c4035..60d0e8d414 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccRecTransToAcc.Codeunit.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccRecTransToAcc.Codeunit.al @@ -96,7 +96,8 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." [NonDebuggable] local procedure GetCompletionResponse(var AOAIChatMessages: Codeunit "AOAI Chat Messages"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; var GLAccount: Record "G/L Account"; var AzureOpenAI: Codeunit "Azure OpenAi"; var AOAIChatCompletionParams: Codeunit "AOAI Chat Completion Params"; var AOAIOperationResponse: Codeunit "AOAI Operation Response") begin - AOAIChatMessages.AddSystemMessage(BuildBankRecCompletionPrompt(BuildMostAppropriateGLAccountPromptTask(), BuildBankRecStatementLines(BankAccReconciliationLine, TempBankStatementMatchingBuffer), BuildGLAccounts(GLAccount)).Unwrap()); + AOAIChatMessages.AddSystemMessage(BuildMostAppropriateGLAccountPromptTask().Unwrap()); + AOAIChatMessages.AddUserMessage(BuildBankRecPromptUserMessage(BuildBankRecStatementLines(BankAccReconciliationLine, TempBankStatementMatchingBuffer), BuildGLAccounts(GLAccount)).Unwrap()); AzureOpenAI.GenerateChatCompletion(AOAIChatMessages, AOAIChatCompletionParams, AOAIOperationResponse); end; @@ -136,9 +137,6 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." var TextToAccMapping: Record "Text-to-Account Mapping"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; - RecordMatchMgt: Codeunit "Record Match Mgt."; - LastLineNo: Integer; - MappingText: Text[140]; begin if TempBankAccRecAIPropBuf."G/L Account No." = '' then exit; @@ -146,7 +144,20 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." if not BankAccReconciliationLine.Get(TempBankAccRecAIPropBuf."Statement Type", TempBankAccRecAIPropBuf."Bank Account No.", TempBankAccRecAIPropBuf."Statement No.", TempBankAccRecAIPropBuf."Statement Line No.") then exit; - MappingText := BankAccReconciliationLine.Description; + InsertTextToAccountMapping(BankAccReconciliationLine.Description, TempBankAccRecAIPropBuf."G/L Account No."); + Commit(); + + PAGE.RunModal(PAGE::"Text-to-Account Mapping", TextToAccMapping); + end; + + procedure InsertTextToAccountMapping(TextToInsert: Text[100]; GLAccountNo: Code[20]) + var + TextToAccMapping: Record "Text-to-Account Mapping"; + RecordMatchMgt: Codeunit "Record Match Mgt."; + LastLineNo: Integer; + MappingText: Text[100]; + begin + MappingText := TextToInsert; if RecordMatchMgt.Trim(MappingText) <> '' then begin TextToAccMapping.SetFilter("Mapping Text", '%1', '@' + RecordMatchMgt.Trim(MappingText)); if not TextToAccMapping.FindFirst() then begin @@ -159,17 +170,14 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." TextToAccMapping.Validate("Mapping Text", MappingText); TextToAccMapping."Bal. Source Type" := TextToAccMapping."Bal. Source Type"::"G/L Account"; - TextToAccMapping."Debit Acc. No." := TempBankAccRecAIPropBuf."G/L Account No."; - TextToAccMapping."Credit Acc. No." := TempBankAccRecAIPropBuf."G/L Account No."; + TextToAccMapping."Debit Acc. No." := GLAccountNo; + TextToAccMapping."Credit Acc. No." := GLAccountNo; if TextToAccMapping."Mapping Text" <> '' then TextToAccMapping.Insert(); end; TextToAccMapping.Reset(); - Commit(); end; - - PAGE.RunModal(PAGE::"Text-to-Account Mapping", TextToAccMapping); end; procedure BuildMostAppropriateGLAccountPromptTask(): SecretText @@ -318,6 +326,7 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." TempBankAccRecAIProposal.Difference := BankAccReconciliationLine.Difference; TempBankAccRecAIProposal."G/L Account No." := ''; TempBankAccRecAIProposal."AI Proposal" := ChooseGLAccountLbl; + TempBankAccRecAIProposal."Dimension Set ID" := 0; TempBankAccRecAIProposal."Bank Account Ledger Entry No." := 0; TempBankAccRecAIProposal.Insert(); end; @@ -364,7 +373,7 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." GenJnlLine.Validate(Amount, -TempBankAccRecAIProposal.Difference); GLAccount.Get(TempBankAccRecAIProposal."G/L Account No."); GenJnlLine.Validate("Account Type", GenJnlLine."Account Type"::"G/L Account"); - GenJnlLine."Account No." := TempBankAccRecAIProposal."G/L Account No."; + GenJnlLine.Validate("Account No.", TempBankAccRecAIProposal."G/L Account No."); GenJnlLine.Description := TempBankAccRecAIProposal.Description; GenJnlLine."Keep Description" := true; GenJnlLine."Source Code" := SourceCodeSetup."Trans. Bank Rec. to Gen. Jnl."; @@ -374,6 +383,8 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." GenJnlLine.Validate("Shortcut Dimension 1 Code", GLAccount."Global Dimension 1 Code"); if Dimension.Get(GLAccount."Global Dimension 2 Code") then GenJnlLine.Validate("Shortcut Dimension 2 Code", GLAccount."Global Dimension 2 Code"); + if TempBankAccRecAIProposal."Dimension Set ID" <> 0 then + GenJnlLine.Validate("Dimension Set ID", TempBankAccRecAIProposal."Dimension Set ID"); GenJnlLine.Insert(true); end else FoundInvalidPostingDates := true; @@ -387,9 +398,6 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." GenJnlLine.SetRange("Bal. Account Type", GenJnlLine."Account Type"::"Bank Account"); GenJnlLine.Validate("Bal. Account No.", BankAccReconciliationLine."Bank Account No."); - if not GenJnlLine.FindSet() then - exit(StatementLines.Count()); - Commit(); BindSubscription(BankAccRecTransToAcc); if not GenJnlPostBatch.Run(GenJnlLine) then begin @@ -486,6 +494,19 @@ codeunit 7251 "Bank Acc. Rec. Trans. to Acc." exit(CompletionPrompt); end; + procedure BuildBankRecPromptUserMessage(StatementLine: Text; GLAccounts: Text): SecretText + var + UserMessagePrompt: SecretText; + EmptyText: SecretText; + ConcatSubstrTok: Label '%1%2', Locked = true; + begin + GLAccounts += '"""\n'; + StatementLine += '"""\n'; + UserMessagePrompt := SecretStrSubstNo(ConcatSubstrTok, EmptyText, StatementLine); + UserMessagePrompt := SecretStrSubstNo(ConcatSubstrTok, UserMessagePrompt, GLAccounts); + exit(UserMessagePrompt); + end; + procedure FoundInputWithReservedWords(): Boolean begin exit(InputWithReservedWordsFound) diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al index 7e25215a6f..52c155183b 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationExt.PageExt.al @@ -164,8 +164,10 @@ pageextension 7253 BankAccReconciliationExt extends "Bank Acc. Reconciliation" trigger OnOpenPage() var + BankRecAIMatchingImpl: Codeunit "Bank Rec. AI Matching Impl."; CopilotCapability: Codeunit "Copilot Capability"; begin + BankRecAIMatchingImpl.RegisterCapability(); CopilotActionsVisible := CopilotCapability.IsCapabilityRegistered(Enum::"Copilot Capability"::"Bank Account Reconciliation"); end; diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al index b8c1001a93..b8eafc60a4 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankAccReconciliationListExt.PageExt.al @@ -56,8 +56,10 @@ pageextension 7254 BankAccReconciliationListExt extends "Bank Acc. Reconciliatio trigger OnOpenPage() var + BankRecAIMatchingImpl: Codeunit "Bank Rec. AI Matching Impl."; CopilotCapability: Codeunit "Copilot Capability"; begin + BankRecAIMatchingImpl.RegisterCapability(); CopilotActionsVisible := CopilotCapability.IsCapabilityRegistered(Enum::"Copilot Capability"::"Bank Account Reconciliation"); end; diff --git a/Apps/W1/BankAccRecWithAI/app/src/BankRecAIMatchingImpl.Codeunit.al b/Apps/W1/BankAccRecWithAI/app/src/BankRecAIMatchingImpl.Codeunit.al index 7e0b0d8717..df8b923e14 100644 --- a/Apps/W1/BankAccRecWithAI/app/src/BankRecAIMatchingImpl.Codeunit.al +++ b/Apps/W1/BankAccRecWithAI/app/src/BankRecAIMatchingImpl.Codeunit.al @@ -109,6 +109,19 @@ codeunit 7250 "Bank Rec. AI Matching Impl." exit(CompletionPrompt); end; + procedure BuildBankRecCompletionPromptUserMessage(StatementLines: Text; LedgerLines: Text): SecretText + var + UserMessageTxt: SecretText; + EmptyText: SecretText; + ConcatSubstrTok: Label '%1%2', Locked = true; + begin + LedgerLines += '"""\n**Matches**:'; // close the ledger lines section + StatementLines += '"""\n'; // close the statement lines section + UserMessageTxt := SecretStrSubstNo(ConcatSubstrTok, EmptyText, StatementLines); + UserMessageTxt := SecretStrSubstNo(ConcatSubstrTok, UserMessageTxt, LedgerLines); + exit(UserMessageTxt); + end; + procedure BuildBankRecLedgerEntries(var LedgerLines: Text; var TempBankAccLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var CandidateLedgerEntryNos: List of [Integer]): Text begin if (LedgerLines = '') then @@ -268,7 +281,15 @@ codeunit 7250 "Bank Rec. AI Matching Impl." end; [NonDebuggable] - procedure CreateCompletionAndMatch(CompletionPromptTxt: SecretText; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempBankAccLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; DaysTolerance: Integer): Integer + procedure CreateCompletionAndMatch(CompletionTaskTxt: SecretText; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempBankAccLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; DaysTolerance: Integer): Integer + var + EmptyText: SecretText; + begin + exit(CreateCompletionAndMatch(CompletionTaskTxt, EmptyText, BankAccReconciliationLine, TempBankAccLedgerEntryMatchingBuffer, TempBankStatementMatchingBuffer, DaysTolerance)); + end; + + [NonDebuggable] + procedure CreateCompletionAndMatch(CompletionTaskTxt: SecretText; UserMessageTxt: SecretText; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempBankAccLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; DaysTolerance: Integer): Integer var AzureOpenAI: Codeunit "Azure OpenAi"; AOAIDeployments: Codeunit "AOAI Deployments"; @@ -290,7 +311,9 @@ codeunit 7250 "Bank Rec. AI Matching Impl." AzureOpenAI.SetCopilotCapability(Enum::"Copilot Capability"::"Bank Account Reconciliation"); AOAIChatCompletionParams.SetMaxTokens(MaxTokens()); AOAIChatCompletionParams.SetTemperature(0); - AOAIChatMessages.AddSystemMessage(CompletionPromptTxt.Unwrap().Replace('\n', NewLineChar)); + AOAIChatMessages.AddSystemMessage(CompletionTaskTxt.Unwrap().Replace('\n', NewLineChar)); + if not UserMessageTxt.IsEmpty() then + AOAIChatMessages.AddUserMessage(UserMessageTxt.Unwrap().Replace('\n', NewLineChar)); AzureOpenAI.GenerateChatCompletion(AOAIChatMessages, AOAIChatCompletionParams, AOAIOperationResponse); if AOAIOperationResponse.IsSuccess() then CompletionAnswerTxt := AOAIOperationResponse.GetResult() @@ -370,8 +393,7 @@ codeunit 7250 "Bank Rec. AI Matching Impl." TopLedgerEntries: array[5] of Record "Ledger Entry Matching Buffer"; LocalBankAccountLedgerEntry: Record "Bank Account Ledger Entry"; FeatureTelemetry: Codeunit "Feature Telemetry"; - CompletionTaskTxt: SecretText; - CompletionPromptTxt: SecretText; + CompletionTaskTxt, UserMessageTxt : SecretText; BankRecLedgerEntriesTxt: Text; BankRecStatementLinesTxt: Text; TopBankLedgerEntriesFilterTxt: Text; @@ -460,8 +482,8 @@ codeunit 7250 "Bank Rec. AI Matching Impl." CompletePromptTokenCount := TaskPromptTokenCount + AOAIToken.GetGPT4TokenCount(BankRecStatementLinesTxt) + AOAIToken.GetGPT4TokenCount(BankRecLedgerEntriesTxt); if (CompletePromptTokenCount >= PromptSizeThreshold()) then begin Session.LogMessage('0000LFK', TelemetryApproximateTokenCountExceedsLimitTxt, Verbosity::Warning, DataClassification::SystemMetadata, TelemetryScope::All, 'Category', FeatureName()); - CompletionPromptTxt := BuildBankRecCompletionPrompt(CompletionTaskTxt, BankRecStatementLinesTxt, BankRecLedgerEntriesTxt); - CreateCompletionAndMatch(CompletionPromptTxt, BankAccReconciliationLine, TempBankAccLedgerEntryMatchingBuffer, TempBankStatementMatchingBuffer, DaysTolerance); + UserMessageTxt := BuildBankRecCompletionPromptUserMessage(BankRecStatementLinesTxt, BankRecLedgerEntriesTxt); + CreateCompletionAndMatch(CompletionTaskTxt, UserMessageTxt, BankAccReconciliationLine, TempBankAccLedgerEntryMatchingBuffer, TempBankStatementMatchingBuffer, DaysTolerance); BankRecStatementLinesTxt := ''; BankRecLedgerEntriesTxt := ''; Clear(CandidateLedgerEntryNos); @@ -470,8 +492,8 @@ codeunit 7250 "Bank Rec. AI Matching Impl." // If BankRecStatementLinesTxt and BankRecLedgerEntriesTxt are not empty, then we need to generate a prompt for the remaining records if (BankRecStatementLinesTxt <> '') and (BankRecLedgerEntriesTxt <> '') then begin - CompletionPromptTxt := BuildBankRecCompletionPrompt(CompletionTaskTxt, BankRecStatementLinesTxt, BankRecLedgerEntriesTxt); - CreateCompletionAndMatch(CompletionPromptTxt, BankAccReconciliationLine, TempBankAccLedgerEntryMatchingBuffer, TempBankStatementMatchingBuffer, DaysTolerance); + UserMessageTxt := BuildBankRecCompletionPromptUserMessage(BankRecStatementLinesTxt, BankRecLedgerEntriesTxt); + CreateCompletionAndMatch(CompletionTaskTxt, UserMessageTxt, BankAccReconciliationLine, TempBankAccLedgerEntryMatchingBuffer, TempBankStatementMatchingBuffer, DaysTolerance); end; TempBankStatementMatchingBuffer.Reset(); @@ -496,20 +518,30 @@ codeunit 7250 "Bank Rec. AI Matching Impl." end; procedure HasReservedWords(Input: Text): Boolean + var + LowerCaseNoSpacesInput: Text; begin - if StrPos(LowerCase(Input).Replace(' ', ''), '<|im_start|>') > 0 then + LowerCaseNoSpacesInput := LowerCase(Input).Replace(' ', ''); + + if StrPos(LowerCaseNoSpacesInput, '<|im_start|>') > 0 then + exit(true); + + if StrPos(LowerCaseNoSpacesInput, '<|im_end|>') > 0 then exit(true); - if StrPos(LowerCase(Input).Replace(' ', ''), '<|im_end|>') > 0 then + if StrPos(LowerCaseNoSpacesInput, '<|start|>') > 0 then exit(true); - if StrPos(LowerCase(Input).Replace(' ', ''), '<|start|>') > 0 then + if StrPos(LowerCaseNoSpacesInput, '<|end|>') > 0 then exit(true); - if StrPos(LowerCase(Input).Replace(' ', ''), '<|end|>') > 0 then + if StrPos(LowerCaseNoSpacesInput, '**task**') > 0 then exit(true); - if StrPos(LowerCase(Input).Replace(' ', ''), '**task**') > 0 then + if StrPos(LowerCaseNoSpacesInput, '[system]') > 0 then + exit(true); + + if StrPos(LowerCaseNoSpacesInput, 'system:') > 0 then exit(true); exit(false) @@ -577,11 +609,8 @@ codeunit 7250 "Bank Rec. AI Matching Impl." local procedure MatchIsAcceptable(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; MatchedLineNoTxt: Text; MatchedEntryNoTxt: Text): Boolean var LocalBankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; - RecordMatchMng: Codeunit "Record Match Mgt."; MatchedEntryNo: Integer; MatchedLineNo: Integer; - BankRecLineDescription: Text; - SimilarityScore: Decimal; begin if not Evaluate(MatchedEntryNo, MatchedEntryNoTxt) then exit(false); @@ -600,20 +629,6 @@ codeunit 7250 "Bank Rec. AI Matching Impl." if not SameSign(LocalBankAccReconciliationLine.Difference, TempLedgerEntryMatchingBuffer."Remaining Amount") then exit(false); - // if amount matches exactly, the match is acceptable - if LocalBankAccReconciliationLine.Difference = TempLedgerEntryMatchingBuffer."Remaining Amount" then - exit(true); - - // if description doesn't match at least on a substring of 3, the match is not acceptable - BankRecLineDescription := LocalBankAccReconciliationLine.Description; - if LocalBankAccReconciliationLine."Additional Transaction Info" <> '' then - BankRecLineDescription += (' ' + LocalBankAccReconciliationLine."Additional Transaction Info"); - BankRecLineDescription := RemoveShortWords(CopyStr(BankRecLineDescription, 1, 250)); - - SimilarityScore := RecordMatchMng.CalculateStringNearness(RemoveShortWords(TempLedgerEntryMatchingBuffer."Description" + ' ' + TempLedgerEntryMatchingBuffer."Document No." + ' ' + TempLedgerEntryMatchingBuffer."External Document No." + ' ' + TempLedgerEntryMatchingBuffer."Payment Reference"), CopyStr(BankRecLineDescription, 1, 250), 3, 100) / 100.0; - if SimilarityScore = 0 then - exit(false); - exit(true) end; diff --git a/Apps/W1/BankAccRecWithAI/test/src/Datasets/AccuracyEntryMatching.jsonl b/Apps/W1/BankAccRecWithAI/test/src/Datasets/AccuracyEntryMatching.jsonl index de15ba7aa1..5909b0f90d 100644 --- a/Apps/W1/BankAccRecWithAI/test/src/Datasets/AccuracyEntryMatching.jsonl +++ b/Apps/W1/BankAccRecWithAI/test/src/Datasets/AccuracyEntryMatching.jsonl @@ -1 +1,2 @@ +{"input": "LID: 10000, Description: Here you go, Amount: -37500.00, Date: 2025-01-03\nLID: 20000, Description: For the chairs (1 of 2), Amount: -4250.00, Date: 2025-01-03\nLID: 30000, Description: For the chairs (2 of 2), Amount: -4000.00, Date: 2025-01-03\nLID: 40000, Description: Installment 1 for 25760, Amount: -6000.00, Date: 2025-01-28\nLID: 50000, Description: Installment 2 for 25760, Amount: -19000.00, Date: 2025-01-30\nLID: 60000, Description: 3 Invoices, Amount: -30750.00, Date: 2025-02-28\nLID: 70000, Description: Two orders (36668 and 35211), Amount: -8580.00, Date: 2025-04-04\nLID: 80000, Description: Hall lease; May 25, Amount: -52555.00, Date: 2025-05-03\nLID: 90000, Description: Payment for 108003, Amount: -500.00, Date: 2025-05-07\nLID: 100000, Description: For the carpet, Amount: -18750.00, Date: 2025-06-03\nLID: 110000, Description: Invoices 36455; 24054; 38661 and 37552more, Amount: -3250.00, Date: 2025-07-06\nAID: 1220, Name: Increases during the Year\nEID: 37, DocumentNo: 108017, Description: Order 106015, ExtDocNo: 18051, Amount: -37500, Date: 2025-01-01\nEID: 42, DocumentNo: 108018, Description: Order chairs 106018, ExtDocNo: 24365, Amount: -8250, Date: 2025-01-01\nEID: 204, DocumentNo: 108001, Description: Invoice 108001, ExtDocNo: 25760, Amount: -25000, Date: 2025-01-26\nEID: 213, DocumentNo: 108019, Description: Order 106019, ExtDocNo: 27116, Amount: -5640, Date: 2025-02-01\nEID: 218, DocumentNo: 108020, Description: Order 106022, ExtDocNo: 27117, Amount: -8925, Date: 2025-02-01\nEID: 384, DocumentNo: 108002, Description: Invoice 108002, ExtDocNo: 35111, Amount: -750, Date: 2025-02-28\nEID: 389, DocumentNo: 108005, Description: Invoice 108005, ExtDocNo: 35112, Amount: -2500, Date: 2025-02-28\nEID: 394, DocumentNo: 108006, Description: Invoice 108006, ExtDocNo: 20053, Amount: -25000, Date: 2025-02-28\nEID: 409, DocumentNo: 108021, Description: Order 106020, ExtDocNo: 35211, Amount: -3780, Date: 2025-03-01\nEID: 593, DocumentNo: 108022, Description: Order 106021, ExtDocNo: 36668, Amount: -4800, Date: 2025-04-01\nEID: 746, DocumentNo: 108003, Description: Invoice 108003, ExtDocNo: 37552, Amount: -500, Date: 2025-04-30\nEID: 765, DocumentNo: 108023, Description: Order 106016, ExtDocNo: 21152, Amount: -52550, Date: 2025-05-01\nEID: 941, DocumentNo: 108004, Description: Invoice 108004, ExtDocNo: 38661, Amount: -1500, Date: 2025-05-31\nEID: 946, DocumentNo: 108007, Description: Invoice 108007, ExtDocNo: 24054, Amount: -750, Date: 2025-05-31\nEID: 967, DocumentNo: 108024, Description: Order 106017, ExtDocNo: 24057, Amount: -18750, Date: 2025-06-01\nEID: 1150, DocumentNo: 108008, Description: Invoice 108008, ExtDocNo: 36455, Amount: -500, Date: 2025-06-30","expected_output": "LID: 10000, EID: 37\nLID: 20000, EID: 42\nLID: 30000, EID: 42\nLID: 40000, EID: 204\nLID: 50000, EID: 204\nLID: 60000, EID: 384\nLID: 60000, EID: 389\nLID: 60000, EID: 394\nLID: 70000, EID: 409\nLID: 70000, EID: 593\nLID: 80000, EID: 765\nLID: 90000, EID: 746\nLID: 100000, EID: 967\nLID: 110000, EID: 941\nLID: 110000, EID: 946\nLID: 110000, EID: 1150\n"} {"input": "LID: 10000, Description: Here you go, Amount: -37500.00, Date: 2025-01-03\nLID: 20000, Description: For the chairs (1 of 2), Amount: -4250.00, Date: 2025-01-03\nLID: 30000, Description: For the chairs (2 of 2), Amount: -4000.00, Date: 2025-01-03\nLID: 40000, Description: Installment 1 for table, Amount: -6000.00, Date: 2025-01-28\nLID: 50000, Description: Installment 2 for table, Amount: -19000.00, Date: 2025-01-30\nLID: 60000, Description: 3 Invoices, Amount: -30750.00, Date: 2025-02-28\nLID: 70000, Description: Two orders (36668 and 35211), Amount: -8580.00, Date: 2025-04-04\nLID: 80000, Description: Hall lease; May 25, Amount: -52550.00, Date: 2025-05-03\nLID: 90000, Description: Payment for 108003, Amount: -500.00, Date: 2025-05-07\nLID: 100000, Description: For the carpet, Amount: -18750.00, Date: 2025-06-03\nLID: 110000, Description: Invoices 36455; 24054; 38661 and 37552more, Amount: -3250.00, Date: 2025-07-06\nAID: 1220, Name: Increases during the Year\nEID: 37, DocumentNo: 108017, Description: Order 106015, ExtDocNo: 18051, Amount: -37500, Date: 2025-01-01\nEID: 42, DocumentNo: 108018, Description: Order chairs 106018, ExtDocNo: 24365, Amount: -8250, Date: 2025-01-01\nEID: 204, DocumentNo: 108001, Description: table Invoice 108001, ExtDocNo: 25760, Amount: -25000, Date: 2025-01-26\nEID: 213, DocumentNo: 108019, Description: Order 106019, ExtDocNo: 27116, Amount: -5640, Date: 2025-02-01\nEID: 218, DocumentNo: 108020, Description: Order 106022, ExtDocNo: 27117, Amount: -8925, Date: 2025-02-01\nEID: 384, DocumentNo: 108002, Description: Invoice 108002, ExtDocNo: 35111, Amount: -750, Date: 2025-02-28\nEID: 389, DocumentNo: 108005, Description: Invoice 108005, ExtDocNo: 35112, Amount: -2500, Date: 2025-02-28\nEID: 394, DocumentNo: 108006, Description: Invoice 108006, ExtDocNo: 20053, Amount: -25000, Date: 2025-02-28\nEID: 409, DocumentNo: 108021, Description: Order 106020, ExtDocNo: 35211, Amount: -3780, Date: 2025-03-01\nEID: 593, DocumentNo: 108022, Description: Order 106021, ExtDocNo: 36668, Amount: -4800, Date: 2025-04-01\nEID: 746, DocumentNo: 108003, Description: Invoice 108003, ExtDocNo: 37552, Amount: -500, Date: 2025-04-30\nEID: 765, DocumentNo: 108023, Description: Order 106016, ExtDocNo: 21152, Amount: -52550, Date: 2025-05-01\nEID: 941, DocumentNo: 108004, Description: Invoice 108004, ExtDocNo: 38661, Amount: -1500, Date: 2025-05-31\nEID: 946, DocumentNo: 108007, Description: Invoice 108007, ExtDocNo: 24054, Amount: -750, Date: 2025-05-31\nEID: 967, DocumentNo: 108024, Description: Order 106017, ExtDocNo: 24057, Amount: -18750, Date: 2025-06-01\nEID: 1150, DocumentNo: 108008, Description: Invoice 108008, ExtDocNo: 36455, Amount: -500, Date: 2025-06-30","expected_output": "LID: 10000, EID: 37\nLID: 20000, EID: 42\nLID: 30000, EID: 42\nLID: 40000, EID: 204\nLID: 50000, EID: 204\nLID: 60000, EID: 384\nLID: 60000, EID: 389\nLID: 60000, EID: 394\nLID: 70000, EID: 409\nLID: 70000, EID: 593\nLID: 80000, EID: 765\nLID: 90000, EID: 746\nLID: 100000, EID: 967\nLID: 110000, EID: 941\nLID: 110000, EID: 946\nLID: 110000, EID: 1150\n"} \ No newline at end of file diff --git a/Apps/W1/BankAccRecWithAI/test/src/PromptTests/BankRecWithAIPromptInj1.Codeunit.al b/Apps/W1/BankAccRecWithAI/test/src/PromptTests/BankRecWithAIPromptInj1.Codeunit.al index b3c9fdfa14..e295260073 100644 --- a/Apps/W1/BankAccRecWithAI/test/src/PromptTests/BankRecWithAIPromptInj1.Codeunit.al +++ b/Apps/W1/BankAccRecWithAI/test/src/PromptTests/BankRecWithAIPromptInj1.Codeunit.al @@ -50,7 +50,7 @@ codeunit 139778 "Bank Rec. With AI Prompt Inj1" JSonToken: JSonToken; LineNo, ExpectedLineNo, NumberOfMatches, ExpectedEntryNo : Integer; EntryNoChosenByAttacker, TestOutput : Text; - CompletionTaskTxt, CompletionPromptTxt : SecretText; + CompletionTaskTxt, UserMessageTxt : SecretText; begin // [SCENARIO 539150] Automate Red Team testing and happy path scenarios Initialize(); @@ -89,8 +89,8 @@ codeunit 139778 "Bank Rec. With AI Prompt Inj1" TempLedgerEntryMatchingBuffer.FindSet(); BankRecAIMatchingImpl.BuildBankRecLedgerEntries(BankRecLedgerEntriesTxt, TempLedgerEntryMatchingBuffer, CandidateEntryNos); CompletionTaskTxt := BankRecAIMatchingImpl.BuildBankRecCompletionTask(true); - CompletionPromptTxt := BankRecAIMatchingImpl.BuildBankRecCompletionPrompt(CompletionTaskTxt, BankRecStatementLinesTxt, BankRecLedgerEntriesTxt); - NumberOfMatches := BankRecAIMatchingImpl.CreateCompletionAndMatch(CompletionPromptTxt, BankAccReconciliationLine, TempLedgerEntryMatchingBuffer, TempBankStatementMatchingBuffer, 1); + UserMessageTxt := BankRecAIMatchingImpl.BuildBankRecCompletionPromptUserMessage(BankRecStatementLinesTxt, BankRecLedgerEntriesTxt); + NumberOfMatches := BankRecAIMatchingImpl.CreateCompletionAndMatch(CompletionTaskTxt, UserMessageTxt, BankAccReconciliationLine, TempLedgerEntryMatchingBuffer, TempBankStatementMatchingBuffer, 1); // [THEN] The entry that the attacker chose is not matched. The entry from the ordinary statement line is matched (attacker did not stop the algorithm either) TempBankStatementMatchingBuffer.Reset(); diff --git a/Apps/W1/BankAccRecWithAI/test/src/UnitTests/BankRecWithAITests.Codeunit.al b/Apps/W1/BankAccRecWithAI/test/src/UnitTests/BankRecWithAITests.Codeunit.al index 5c7a105499..7027d303cd 100644 --- a/Apps/W1/BankAccRecWithAI/test/src/UnitTests/BankRecWithAITests.Codeunit.al +++ b/Apps/W1/BankAccRecWithAI/test/src/UnitTests/BankRecWithAITests.Codeunit.al @@ -8,6 +8,7 @@ using Microsoft.Finance.GeneralLedger.Setup; using Microsoft.Bank.Reconciliation; using Microsoft.Finance.GeneralLedger.Account; using System.TestLibraries.Utilities; +using Microsoft.Finance.Dimension; codeunit 139777 "Bank Rec. With AI Tests" { @@ -207,6 +208,9 @@ codeunit 139777 "Bank Rec. With AI Tests" TransToGLAccJnlBatch: Record "Trans. to G/L Acc. Jnl. Batch"; NoSeries: Record "No. Series"; NoSeriesLine: Record "No. Series Line"; + Dimension1, Dimension2 : Record Dimension; + DimensionValue11, DimensionValue12, DimensionValue21, DimensionValue22 : Record "Dimension Value"; + DimensionSetEntry: Record "Dimension Set Entry"; BankRecTransToAcc: Codeunit "Bank Acc. Rec. Trans. to Acc."; PostingDate: Date; BankAccountNo: Code[20]; @@ -215,16 +219,25 @@ codeunit 139777 "Bank Rec. With AI Tests" Description: Text[50]; Amount: Decimal; LineNos: List of [Integer]; + LastDimSetID: Integer; begin + // [SCENARIO 546904] Bank Rec: Post Diff to G/L - missing ability to add dimension to suggested lines Initialize(); BankAccountLedgerEntry.SetRange(Open, true); BankAccountLedgerEntry.DeleteAll(); - // Setup. + // [Given] G/L Accounts, Dimensions and a set of bank account reconciliation lines CreateInputData(PostingDate, BankAccountNo, StatementNo, DocumentNo, Description, Amount); LibraryERM.CreateGLAccount(GLAccount); LibraryERM.CreateGenJournalTemplate(GenJournalTemplate); + LibraryERM.CreateDimension(Dimension1); + LibraryERM.CreateDimensionValue(DimensionValue11, Dimension1.Code); + LibraryERM.CreateDimensionValue(DimensionValue12, Dimension1.Code); + LibraryERM.CreateDimension(Dimension2); + LibraryERM.CreateDimensionValue(DimensionValue21, Dimension2.Code); + LibraryERM.CreateDimensionValue(DimensionValue22, Dimension2.Code); + Commit(); LibraryUtility.CreateNoSeries(NoSeries, false, false, false); LibraryUtility.CreateNoSeriesLine(NoSeriesLine, NoSeries.Code, 'T0900000', 'T0999999'); NoSeriesLine."Last No. Used" := 'T0900001'; @@ -240,9 +253,8 @@ codeunit 139777 "Bank Rec. With AI Tests" LineNos.Add(CreateBankAccRecLine(BankAccReconciliation, PostingDate, Description, '', Amount)); LineNos.Add(CreateBankAccRecLine(BankAccReconciliation, PostingDate, DocumentNo, '', Amount)); - // Execute - // Propose to match Entries 1 and 2 to statement line 1, entry 3 to statement line 2, entry 4 to statement line 3 - // Then apply the proposal + // [GIVEN] Copilot proposes to match Entries 1 and 2 to statement line 1, entry 3 to statement line 2, entry 4 to statement line 3 + // [GIVEN] user adds dimensions to the proposals TempBankAccRecAIProposal."Statement Type" := BankAccReconciliation."Statement Type"; TempBankAccRecAIProposal."Bank Account No." := BankAccReconciliation."Bank Account No."; TempBankAccRecAIProposal."Statement No." := BankAccReconciliation."Statement No."; @@ -263,6 +275,21 @@ codeunit 139777 "Bank Rec. With AI Tests" TempBankAccRecAIProposal."Transaction Date" := PostingDate; TempBankAccRecAIProposal."Statement Line No." := LineNos.Get(3); TempBankAccRecAIProposal."G/L Account No." := GLAccount."No."; + if DimensionSetEntry.FindLast() then + LastDimSetID := DimensionSetEntry."Dimension Set ID"; + LastDimSetID += 1; + Clear(DimensionSetEntry); + DimensionSetEntry."Dimension Set ID" := LastDimSetID; + DimensionSetEntry."Dimension Code" := Dimension1.Code; + DimensionSetEntry."Dimension Value Code" := DimensionValue12.Code; + DimensionSetEntry."Dimension Value ID" := DimensionValue12."Dimension Value ID"; + DimensionSetEntry.Insert(); + DimensionSetEntry."Dimension Set ID" := LastDimSetID; + DimensionSetEntry."Dimension Code" := Dimension2.Code; + DimensionSetEntry."Dimension Value Code" := DimensionValue21.Code; + DimensionSetEntry."Dimension Value ID" := DimensionValue21."Dimension Value ID"; + DimensionSetEntry.Insert(); + TempBankAccRecAIProposal."Dimension Set ID" := LastDimSetID; TempBankAccRecAIProposal.Description := DocumentNo; TempBankAccRecAIProposal.Difference := Amount; TempBankAccRecAIProposal.Insert(); @@ -272,19 +299,29 @@ codeunit 139777 "Bank Rec. With AI Tests" TransToGLAccJnlBatch."Journal Batch Name" := GenJournalBatch.Name; TransToGLAccJnlBatch.Insert(); + // [WHEN] Accepting the proposal BankRecTransToAcc.PostNewPaymentsToProposedGLAccounts(TempBankAccRecAIProposal, TempBankStatementMatchingBuffer, TransToGLAccJnlBatch); Commit(); - // Assert + // [THEN] The proposed payments are posted, you get bank account ledger entries and dimension sets are transferred from the proposal lines to the ledger entries BankAccountLedgerEntry.SetRange("Statement No.", BankAccReconciliation."Statement No."); BankAccountLedgerEntry.SetRange("Bank Account No.", BankAccReconciliation."Bank Account No."); BankAccountLedgerEntry.SetRange("Statement Line No.", LineNos.Get(1)); BankAccountLedgerEntry.SetRange("Statement Status", BankAccountLedgerEntry."Statement Status"::"Bank Acc. Entry Applied"); - Assert.IsFalse(BankAccountLedgerEntry.IsEmpty(), 'Statement Line ' + Format(LineNos.Get(1)) + ' not applied.'); + Assert.IsTrue(BankAccountLedgerEntry.FindFirst(), 'Statement Line ' + Format(LineNos.Get(1)) + ' not applied.'); + Assert.AreEqual(0, BankAccountLedgerEntry."Dimension Set ID", 'Unexpected Dimension Set ID'); BankAccountLedgerEntry.SetRange("Statement Line No.", LineNos.Get(2)); - Assert.IsFalse(BankAccountLedgerEntry.IsEmpty(), 'Statement Line ' + Format(LineNos.Get(2)) + ' not applied.'); + Assert.IsTrue(BankAccountLedgerEntry.FindFirst(), 'Statement Line ' + Format(LineNos.Get(2)) + ' not applied.'); + Assert.AreEqual(0, BankAccountLedgerEntry."Dimension Set ID", 'Unexpected Dimension Set ID'); BankAccountLedgerEntry.SetRange("Statement Line No.", LineNos.Get(3)); - Assert.IsFalse(BankAccountLedgerEntry.IsEmpty(), 'Statement Line ' + Format(LineNos.Get(3)) + ' not applied.'); + Assert.IsTrue(BankAccountLedgerEntry.FindFirst(), 'Statement Line ' + Format(LineNos.Get(3)) + ' not applied.'); + DimensionSetEntry.SetRange("Dimension Set ID", BankAccountLedgerEntry."Dimension Set ID"); + DimensionSetEntry.SetRange("Dimension Code", Dimension1.Code); + DimensionSetEntry.SetRange("Dimension Value ID", DimensionValue12."Dimension Value ID"); + Assert.IsFalse(DimensionSetEntry.IsEmpty(), 'Unexpected Dimension Set ID'); + DimensionSetEntry.SetRange("Dimension Code", Dimension2.Code); + DimensionSetEntry.SetRange("Dimension Value ID", DimensionValue21."Dimension Value ID"); + Assert.IsFalse(DimensionSetEntry.IsEmpty(), 'Unexpected Dimension Set ID'); end; [Test] diff --git a/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al b/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al index e0fd667de5..78f2da3204 100644 --- a/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al +++ b/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al @@ -42,6 +42,7 @@ codeunit 1690 "Bank Deposit-Post" PostingDate: Date; DocumentType: Enum "Gen. Journal Document Type"; TotalAmountLCY: Decimal; + ShowDialog: Boolean; begin FeatureTelemetry.LogUptake('0000IG4', 'Bank Deposit', Enum::"Feature Uptake Status"::Used); FeatureTelemetry.LogUsage('0000IG5', 'Bank Deposit', 'Bank deposit posted'); @@ -137,9 +138,11 @@ codeunit 1690 "Bank Deposit-Post" UpdateAnalysisView.UpdateAll(0, true); - OnAfterBankDepositPost(Rec, PostedBankDepositHeader); + ShowDialog := true; + OnAfterBankDepositPost(Rec, PostedBankDepositHeader, ShowDialog); - Page.Run(Page::"Posted Bank Deposit", PostedBankDepositHeader); + if ShowDialog then + Page.Run(Page::"Posted Bank Deposit", PostedBankDepositHeader); end; local procedure InsertLumpSumGenJournalLine(BankDepositHeader: Record "Bank Deposit Header"; DocumentType: Enum "Gen. Journal Document Type"; DocumentDate: Date; TotalAmountLCY: Decimal) @@ -497,7 +500,7 @@ codeunit 1690 "Bank Deposit-Post" end; [IntegrationEvent(false, false)] - local procedure OnAfterBankDepositPost(BankDepositHeader: Record "Bank Deposit Header"; var PostedBankDepositHeader: Record "Posted Bank Deposit Header") + local procedure OnAfterBankDepositPost(BankDepositHeader: Record "Bank Deposit Header"; var PostedBankDepositHeader: Record "Posted Bank Deposit Header"; var ShowDialog: Boolean) begin end; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/CRONUS.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/CRONUS.jpg new file mode 100644 index 0000000000..e562b8d54e Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/CRONUS.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/CurrencyData.TXT b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/CurrencyData.TXT new file mode 100644 index 0000000000..234af40d43 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/CurrencyData.TXT @@ -0,0 +1,48 @@ +AED;784;0.25;0.01;0.001;0.25;0;100;200.131;0;02:02;02:05 +AUD;036;1;0.01;0.001;0.01;0;100;293.66;0;02:02;02:05 +BGN;975;1;0.01;0.001;0.01;0;100;270.63;0;02:02;02:05 +BND;096;0.1;0.01;0.001;0.01;0;100;336.47;0;02:02;02:05 +BRL;986;1;0.01;0.001;0.01;0;100;209.93;0;02:02;02:05 +CAD;124;0.1;0.01;0.001;0.01;0;100;369.78;0;02:02;02:05 +CHF;756;0.1;0.01;0.001;0.01;0;100;465.26;0;02:02;02:05 +RSD;941;10;0.01;0.001;0.01;0;100;8.75327;0;02:02;02:05 +CZK;203;10;0.01;0.001;0.01;0;100;22.7896;0;02:02;02:05 +DKK;208;1;0.01;0.001;0.01;0;100;100;0;02:02;02:05 +DZD;012;0.1;0.01;0.001;0.01;0;100;9.60385;0;02:02;02:05 +EUR;978;0.1;0.01;0.001;0.01;0;1;5.528928;1;02:02;02:05 +FJD;242;1;0.01;0.001;0.01;0;100;258.05 ;0;02:02;02:05 +GBP;826;0.1;0.01;0.00001;0.01;0;100;856.16438;0;02:02;02:05 +HKD;344;1;0.01;0.001;0.01;0;100;75.03;0;02:02;02:05 +HRK;191;1;0.01;0.001;0.01;0;100;101.169;0;02:02;02:05 +HUF;348;1;0.01;0.001;1;0;100;3.1459;0;02:02;02:05 +IDR;360;25;1;0.1;1;0;100;0.08264;0;00:00;00:03 +INR;356;10;0.01;0.001;0.01;0;100;12.33;0;02:02;02:05 +ISK;352;10;0.01;0.001;0.01;0;100;8.52;0;02:02;02:05 +JPY;392;10;0.01;0.001;0.01;0;100;4.97;0;02:02;02:05 +KES;404;0.5;0.01;0.001;0.5;0;100;9.2691;0;02:02;02:05 +MAD;504;0.1;0.01;0.001;0.01;0;100;70.49391;0;02:02;02:05 +MXN;484;1;0.01;0.001;0.01;0;100;61.73;0;02:02;02:05 +MYR;458;1;0.01;0.001;0.01;0;100;154.62;0;02:02;02:05 +MZN;943;50;1;0.01;10;0;1000;0.31842;0;00:00;00:03 +NGN;566;1;0.01;0.001;1;0;100;5.8221;0;02:02;02:05 +NOK;578;1;0.01;0.001;0.01;0;100;87.85;0;02:02;02:05 +NZD;554;1;0.01;0.001;0.01;0;100;248.54;0;02:02;02:05 +PHP;608;10;0.01;0.001;0.01;0;100;11.47;0;02:02;02:05 +PLN;985;1;0.01;0.001;0.01;0;100;142.12;0;02:02;02:05 +RON;946;1;0.01;0.01;0.01;0;1000;0.2248;0;02:02;02:05 +RUB;643;10;0.01;0.001;0.01;0;100;20.12;0;02:02;02:05 +SAR;682;1;0.01;0.001;0.01;0;100;156.51;0;02:02;02:05 +SBD;090;1;0.01;0.001;0.01;0;100;108.65;0;02:02;02:05 +SEK;752;1;0.01;0.001;0.01;0;100;84.73;0;02:02;02:05 +SGD;702;0.1;0.01;0.001;0.01;0;100;338.61;0;02:02;02:05 +SZL;748;1;0.01;0.001;0.01;0;100;80.77363;0;02:02;02:05 +THB;764;10;1;1;1;0;100;13.18;0;00:00;00:03 +TND;788;0.005;0.001;0.001;0.01;0;100;539.479;0;03:03;02:05 +TOP;776;1;0.01;0.001;0.01;0;1;2.92157;0;02:02;02:05 +TRY;949;0.1;0.01;0.001;0.01;0;100;456.674;0;02:02;02:05 +UGX;800;50;1;0.1;1;0;100;0.42488;0;00:00;00:03 +USD;840;0.1;0.01;0.001;0.01;0;100;555.5;0;02:02;02:05 +VUV;548;10;0.01;0.001;0.01;0;100;4.11;0;02:02;02:05 +WST;882;0.1;0.01;0.001;0.01;0;100;2050.86;0;02:02;02:05 +XPF;953;1;0.01;0.001;0.01;0;100;6.254;0;02:02;02:05 +ZAR;710;1;0.01;0.001;0.01;0;100;68.41;0;02:02;02:05 diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateAgedAccountsPayable.xltm b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateAgedAccountsPayable.xltm new file mode 100644 index 0000000000..305fa13051 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateAgedAccountsPayable.xltm differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateAgedAccountsReceivable.xltm b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateAgedAccountsReceivable.xltm new file mode 100644 index 0000000000..64de0a6f46 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateAgedAccountsReceivable.xltm differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateBalanceSheet.xltm b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateBalanceSheet.xltm new file mode 100644 index 0000000000..359d579327 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateBalanceSheet.xltm differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateCashFlowStatement.xltm b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateCashFlowStatement.xltm new file mode 100644 index 0000000000..4ea6b0fb32 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateCashFlowStatement.xltm differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateIncomeStatement.xltm b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateIncomeStatement.xltm new file mode 100644 index 0000000000..d0c1eaa4d8 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateIncomeStatement.xltm differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateRetainedEarnings.xltm b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateRetainedEarnings.xltm new file mode 100644 index 0000000000..4a9d1c73ae Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateRetainedEarnings.xltm differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateTrialBalance.xltm b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateTrialBalance.xltm new file mode 100644 index 0000000000..005a727aa7 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/ExcelTemplates/ExcelTemplateTrialBalance.xltm differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/HTMLTemplates/Invoicing - SalesMail.html b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/HTMLTemplates/Invoicing - SalesMail.html new file mode 100644 index 0000000000..cf2b0781cb --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/HTMLTemplates/Invoicing - SalesMail.html @@ -0,0 +1,652 @@ + + + <!--MailTitle--> + + + + + + + + + + + + +
+ + + + + +
+ + + + + + +
+ +
+ + + + + + +
+
 
+
+
+ +
+
+ + +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ <!--CompanyName--> +
+
+
+
+
+
+
+
+
+
+
 
+
+
+ +
+
+ + +
+ + + + + + +
+ +
+ + + + + + + + + + + + +
+
 
+
+ + + + + + + + + + + + + +
+
+
 
+
+
+ +
+
+ + + +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+
 
+
+
+
+ + + + + + + + + + + + +
+ +
+ + + +
+ +
+
+ + + + + + +
+ + <!--PaymentServiceAlt--> + +
+
+
+ +
+
+ +
+ + + + + + +
+ + +
+
+ + +
+ + + + + + +
+ +
+ + + + + + +
+
 
+
+
+ +
+
+ + +
+ + + + + + +
+ +
+ + + + + + +
+
 
+
+
+ +
+
+ + + +
+ + + + + + +
+ +
+ + + + + + + + + +
+
+
+
+ + + + + + + + + +
+ + + + + + + +
+ + + +
+
+
+ +
+
+ + + +
+ + + + + + +
+ +
+ + + + + + +
+
 
+
+
+ +
+
+ + +
+ + + + + + +
+ +
+ + + + + + + + + + + + +
+
+
+
+
+ +
+ +
+
+
+
+
+ + +
+
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/BusinessSetupIcons/Default.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/BusinessSetupIcons/Default.png new file mode 100644 index 0000000000..d5886126e7 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/BusinessSetupIcons/Default.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1896-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1896-S.jpg new file mode 100644 index 0000000000..44b2edcb2d Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1896-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1900-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1900-S.jpg new file mode 100644 index 0000000000..efac98b4d6 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1900-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1906-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1906-S.jpg new file mode 100644 index 0000000000..ee9212ecd6 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1906-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1908-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1908-S.jpg new file mode 100644 index 0000000000..e8287f6348 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1908-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1920-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1920-S.jpg new file mode 100644 index 0000000000..f3c9f2fa9a Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1920-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1925-W.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1925-W.jpg new file mode 100644 index 0000000000..23093e87e6 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1925-W.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1928-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1928-S.jpg new file mode 100644 index 0000000000..67f21260a5 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1928-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1929-W.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1929-W.jpg new file mode 100644 index 0000000000..1dea29365e Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1929-W.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1936-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1936-S.jpg new file mode 100644 index 0000000000..aa7d7b0f5f Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1936-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1953-W.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1953-W.jpg new file mode 100644 index 0000000000..670fa5fe31 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1953-W.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1960-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1960-S.jpg new file mode 100644 index 0000000000..5a9f6da111 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1960-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1964-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1964-S.jpg new file mode 100644 index 0000000000..b747bc49b4 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1964-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1965-W.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1965-W.jpg new file mode 100644 index 0000000000..5a96389a9b Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1965-W.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1968-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1968-S.jpg new file mode 100644 index 0000000000..889e36d40b Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1968-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1969-W.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1969-W.jpg new file mode 100644 index 0000000000..ca3ab660e1 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1969-W.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1972-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1972-S.jpg new file mode 100644 index 0000000000..5958285b19 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1972-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1980-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1980-S.jpg new file mode 100644 index 0000000000..016f8c3796 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1980-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1988-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1988-S.jpg new file mode 100644 index 0000000000..df5d1479c5 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1988-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1996-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1996-S.jpg new file mode 100644 index 0000000000..6a692487b7 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/1996-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/2000-S.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/2000-S.jpg new file mode 100644 index 0000000000..96bd833ed8 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Item/2000-S.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Bryce Jasso.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Bryce Jasso.jpg new file mode 100644 index 0000000000..45bd1f609e Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Bryce Jasso.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Evan McIntosh.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Evan McIntosh.jpg new file mode 100644 index 0000000000..b12ddc8cd8 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Evan McIntosh.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Ian Deberry.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Ian Deberry.jpg new file mode 100644 index 0000000000..865f83a556 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Ian Deberry.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Jesse Homer.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Jesse Homer.jpg new file mode 100644 index 0000000000..e3a5bd4e12 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Jesse Homer.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Krystal York.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Krystal York.jpg new file mode 100644 index 0000000000..c73026eefb Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Krystal York.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Raymond Hillard.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Raymond Hillard.jpg new file mode 100644 index 0000000000..ab4b1e74d1 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Raymond Hillard.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Richard Bready.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Richard Bready.jpg new file mode 100644 index 0000000000..45bd1f609e Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Richard Bready.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Robert Townes.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Robert Townes.jpg new file mode 100644 index 0000000000..1488adf40a Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Robert Townes.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Toby Rhode.jpg b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Toby Rhode.jpg new file mode 100644 index 0000000000..6c4bca5fbe Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/Person/Toby Rhode.jpg differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetup-NoText-400px.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetup-NoText-400px.png new file mode 100644 index 0000000000..a1ead47250 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetup-NoText-400px.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetupDone-NoText-400px.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetupDone-NoText-400px.png new file mode 100644 index 0000000000..60f6f7d0bf Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetupDone-NoText-400px.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetupInfo-NoText.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetupInfo-NoText.png new file mode 100644 index 0000000000..9d65a27236 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/AssistedSetupInfo-NoText.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/CopilotNotAvailable.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/CopilotNotAvailable.png new file mode 100644 index 0000000000..8365f0d8be Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/CopilotNotAvailable.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/ExternalSync-NoText.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/ExternalSync-NoText.png new file mode 100644 index 0000000000..c1df47f836 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/ExternalSync-NoText.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice1.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice1.png new file mode 100644 index 0000000000..4ed57eeee7 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice1.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice2.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice2.png new file mode 100644 index 0000000000..a91984cccf Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice2.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice3.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice3.png new file mode 100644 index 0000000000..51ab8b9429 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoice3.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoiceSplash.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoiceSplash.png new file mode 100644 index 0000000000..846957282c Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/FirstInvoiceSplash.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/ImageAnalysis-Setup-NoText.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/ImageAnalysis-Setup-NoText.png new file mode 100644 index 0000000000..f859e3c906 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/ImageAnalysis-Setup-NoText.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/OutlookAddinIllustration.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/OutlookAddinIllustration.png new file mode 100644 index 0000000000..4e3698d79a Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/OutlookAddinIllustration.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/PowerBi-OptIn-480px.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/PowerBi-OptIn-480px.png new file mode 100644 index 0000000000..dbbbfa2ba5 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/PowerBi-OptIn-480px.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/TeamsAppIllustration.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/TeamsAppIllustration.png new file mode 100644 index 0000000000..a56743a102 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/TeamsAppIllustration.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/WhatsNewWizard-Banner-First.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/WhatsNewWizard-Banner-First.png new file mode 100644 index 0000000000..30ab46edcc Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/WhatsNewWizard-Banner-First.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/WhatsNewWizard-Banner-Second.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/WhatsNewWizard-Banner-Second.png new file mode 100644 index 0000000000..99909828b4 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Images/System/WhatsNewWizard-Banner-Second.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/Fabrikam Invoice CA D365F.PDF b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/Fabrikam Invoice CA D365F.PDF new file mode 100644 index 0000000000..6b7933fea8 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/Fabrikam Invoice CA D365F.PDF differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/Fabrikam Invoice US D365F.PDF b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/Fabrikam Invoice US D365F.PDF new file mode 100644 index 0000000000..85ab314e2c Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/Fabrikam Invoice US D365F.PDF differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/First Up Consultants Invoice GB D365F.PDF b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/First Up Consultants Invoice GB D365F.PDF new file mode 100644 index 0000000000..14585d1fbd Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/First Up Consultants Invoice GB D365F.PDF differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/London Postmaster Invoice W1.PDF b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/London Postmaster Invoice W1.PDF new file mode 100644 index 0000000000..d2e38791ca Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/IncomingDocuments/London Postmaster Invoice W1.PDF differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/MachineLearning/itemsales.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/MachineLearning/itemsales.xml new file mode 100644 index 0000000000..38478ec94b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/MachineLearning/itemsales.xml @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - Microsoft-logo.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - Microsoft-logo.png new file mode 100644 index 0000000000..b24a8df45e Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - Microsoft-logo.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - PayPal-logo.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - PayPal-logo.png new file mode 100644 index 0000000000..bfe7cfd1fb Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - PayPal-logo.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - WorldPay-logo.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - WorldPay-logo.png new file mode 100644 index 0000000000..056e2faa4a Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PaymentService/Payment service - WorldPay-logo.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/BANKOFAMERICA-PP.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/BANKOFAMERICA-PP.xml new file mode 100644 index 0000000000..6384443835 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/BANKOFAMERICA-PP.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/CA EFT DEFAULT.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/CA EFT DEFAULT.xml new file mode 100644 index 0000000000..15fd38a305 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/CA EFT DEFAULT.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/CITIBANK-PP.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/CITIBANK-PP.xml new file mode 100644 index 0000000000..031ff48790 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/CITIBANK-PP.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/ECB-EXCHANGE-RATES.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/ECB-EXCHANGE-RATES.xml new file mode 100644 index 0000000000..b3586d3622 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/ECB-EXCHANGE-RATES.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/MX EFT DEFAULT.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/MX EFT DEFAULT.xml new file mode 100644 index 0000000000..4b433c0de0 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/MX EFT DEFAULT.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRCREDITMEMO-AU.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRCREDITMEMO-AU.xml new file mode 100644 index 0000000000..cf92dcc924 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRCREDITMEMO-AU.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRCREDITMEMO.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRCREDITMEMO.xml new file mode 100644 index 0000000000..01627f753e --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRCREDITMEMO.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRINVOICE-AU.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRINVOICE-AU.xml new file mode 100644 index 0000000000..ff8a125632 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRINVOICE-AU.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRINVOICE.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRINVOICE.xml new file mode 100644 index 0000000000..2908fb8911 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/OCRINVOICE.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLCREDITMEMO-AU.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLCREDITMEMO-AU.xml new file mode 100644 index 0000000000..ed52f3a702 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLCREDITMEMO-AU.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLCREDITMEMO.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLCREDITMEMO.xml new file mode 100644 index 0000000000..2958b44e17 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLCREDITMEMO.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLINVOICE-AU.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLINVOICE-AU.xml new file mode 100644 index 0000000000..918a552320 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLINVOICE-AU.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLINVOICE.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLINVOICE.xml new file mode 100644 index 0000000000..9f19aa7354 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/PEPPOLINVOICE.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 053-02.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 053-02.xml new file mode 100644 index 0000000000..c25a4681f3 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 053-02.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 053-04.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 053-04.xml new file mode 100644 index 0000000000..c5a45e9950 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 053-04.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 054.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 054.xml new file mode 100644 index 0000000000..6474933eea --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT 054.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT-NL.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT-NL.xml new file mode 100644 index 0000000000..00c28c0e75 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT-NL.xml @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT.xml new file mode 100644 index 0000000000..ed4c4aa909 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/SEPA CAMT.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT CCD.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT CCD.xml new file mode 100644 index 0000000000..37f4f97a89 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT CCD.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT DEFAULT.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT DEFAULT.xml new file mode 100644 index 0000000000..0efbfe95a2 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT DEFAULT.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT IAT DEFAULT.xml b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT IAT DEFAULT.xml new file mode 100644 index 0000000000..92cc1e7b27 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/PostingExchangeDefinitions/US EFT IAT DEFAULT.xml @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Appointment.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Appointment.png new file mode 100644 index 0000000000..3b864dbbff Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Appointment.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Draft Invoice.PNG b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Draft Invoice.PNG new file mode 100644 index 0000000000..45da0e6f4c Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Draft Invoice.PNG differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Quote.PNG b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Quote.PNG new file mode 100644 index 0000000000..446199a2fd Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/SalesStatusIcons/Quote.PNG differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - FACEBOOK.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - FACEBOOK.png new file mode 100644 index 0000000000..01441a17b1 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - FACEBOOK.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - INSTAGRAM.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - INSTAGRAM.png new file mode 100644 index 0000000000..257dd58171 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - INSTAGRAM.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - LINKEDIN.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - LINKEDIN.png new file mode 100644 index 0000000000..3ae21915d3 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - LINKEDIN.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - PINTEREST.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - PINTEREST.png new file mode 100644 index 0000000000..0a17cee346 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - PINTEREST.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - TWITTER.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - TWITTER.png new file mode 100644 index 0000000000..3585cc3da5 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - TWITTER.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - YELP.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - YELP.png new file mode 100644 index 0000000000..12738b90b4 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - YELP.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - YOUTUBE.png b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - YOUTUBE.png new file mode 100644 index 0000000000..422e9cee62 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/Social/Social - YOUTUBE.png differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote.docx new file mode 100644 index 0000000000..2282a1d8a3 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_DES.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_DES.docx new file mode 100644 index 0000000000..606c5d911c Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_DES.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_ENC.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_ENC.docx new file mode 100644 index 0000000000..7194dcbf1f Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_ENC.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRB.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRB.docx new file mode 100644 index 0000000000..71a9eca9c1 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRB.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRC.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRC.docx new file mode 100644 index 0000000000..3e14192ddd Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRC.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRS.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRS.docx new file mode 100644 index 0000000000..739175419b Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_FRS.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_ITS.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_ITS.docx new file mode 100644 index 0000000000..eb8f52922b Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_ITS.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_NLB.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_NLB.docx new file mode 100644 index 0000000000..52fa02ac9e Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Contact_Thanksnote_NLB.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event.docx new file mode 100644 index 0000000000..380d97ceb4 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_DES.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_DES.docx new file mode 100644 index 0000000000..ea55b0fec9 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_DES.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_ENC.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_ENC.docx new file mode 100644 index 0000000000..8ead8f747f Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_ENC.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRB.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRB.docx new file mode 100644 index 0000000000..8f5a3e5b13 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRB.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRC.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRC.docx new file mode 100644 index 0000000000..47157e24f3 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRC.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRS.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRS.docx new file mode 100644 index 0000000000..0257a90c1f Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_FRS.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_ITS.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_ITS.docx new file mode 100644 index 0000000000..1354238db2 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_ITS.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_NLB.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_NLB.docx new file mode 100644 index 0000000000..33a3d32253 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Customer_Event_NLB.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo.docx new file mode 100644 index 0000000000..3b98439588 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_DES.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_DES.docx new file mode 100644 index 0000000000..57441eaaf1 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_DES.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_ENC.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_ENC.docx new file mode 100644 index 0000000000..66e6a0ee74 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_ENC.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRB.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRB.docx new file mode 100644 index 0000000000..a47fb72cda Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRB.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRC.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRC.docx new file mode 100644 index 0000000000..bcc3b4c3e6 Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRC.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRS.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRS.docx new file mode 100644 index 0000000000..834bb27b4b Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_FRS.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_ITS.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_ITS.docx new file mode 100644 index 0000000000..a6d61182ec Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_ITS.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_NLB.docx b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_NLB.docx new file mode 100644 index 0000000000..ab1c2fb2cc Binary files /dev/null and b/Apps/W1/ContosoCoffeeDemoDataset/app/.resources/WordTemplates/WordTemplate_Vendor_Memo_NLB.docx differ diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreateBankAccPostingGrp.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreateBankAccPostingGrp.Codeunit.al new file mode 100644 index 0000000000..846a1cb816 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreateBankAccPostingGrp.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 5293 "Create Bank Acc. Posting Grp" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.InsertBankAccountPostingGroup(Cash(), CreateGLAccount.Cash()); + ContosoPostingGroup.InsertBankAccountPostingGroup(Checking(), CreateGLAccount.BankLCY()); + ContosoPostingGroup.InsertBankAccountPostingGroup(Operating(), CreateGLAccount.RevolvingCredit()); + ContosoPostingGroup.InsertBankAccountPostingGroup(Savings(), CreateGLAccount.GiroAccount()); + end; + + procedure Cash(): Code[20] + begin + exit(CashTok); + end; + + procedure Checking(): Code[20] + begin + exit(CheckingTok); + end; + + procedure Operating(): Code[20] + begin + exit(OperatingTok); + end; + + procedure Savings(): Code[20] + begin + exit(SavingsTok); + end; + + var + CashTok: Label 'CASH', MaxLength = 20; + CheckingTok: Label 'CHECKING', MaxLength = 20; + OperatingTok: Label 'OPERATING', MaxLength = 20; + SavingsTok: Label 'SAVINGS', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetup.Codeunit.al new file mode 100644 index 0000000000..9c2e0e2676 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreateBankExImportSetup.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 5306 "Create Bank Ex/Import Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBank: Codeunit "Contoso Bank"; + CreateDataExchange: Codeunit "Create Data Exchange"; + begin + ContosoBank.ContosoBankExportImportSetup(SEPACAMT(), SEPACAMTTok, 1, Codeunit::"Exp. Launcher Gen. Jnl.", 0, CreateDataExchange.SEPACAMT(), true, 0); + ContosoBank.ContosoBankExportImportSetup(SEPACT(), SEPACTDescLbl, 0, Codeunit::"SEPA CT-Export File", Xmlport::"SEPA CT pain.001.001.03", '', false, Codeunit::"SEPA CT-Check Line"); + ContosoBank.ContosoBankExportImportSetup(SEPADD(), SEPADDDescLbl, 0, Codeunit::"SEPA DD-Export File", Xmlport::"SEPA DD pain.008.001.02", '', false, Codeunit::"SEPA DD-Check Line"); + end; + + procedure SEPACAMT(): Code[20] + begin + exit(SEPACAMTTok); + end; + + procedure SEPACT(): Code[20] + begin + exit(SEPACTTok); + end; + + procedure SEPADD(): Code[20] + begin + exit(SEPADDTok); + end; + + var + SEPACAMTTok: Label 'SEPA CAMT', MaxLength = 20; + SEPACTTok: Label 'SEPACT', MaxLength = 20; + SEPADDTok: Label 'SEPADD', MaxLength = 20; + SEPACTDescLbl: Label 'SEPA Credit Transfer', MaxLength = 100; + SEPADDDescLbl: Label 'SEPA Direct Debit', MaxLength = 100; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreatePaymentMethod.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreatePaymentMethod.Codeunit.al new file mode 100644 index 0000000000..84fc27e078 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/1.Setup Data/CreatePaymentMethod.Codeunit.al @@ -0,0 +1,102 @@ +codeunit 5295 "Create Payment Method" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPayments: Codeunit "Contoso Payments"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPayments.InsertBankPaymentMethod(Account(), PaymentAccountLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Bank(), BankTransferLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Bnkconvdom(), DomesticBanksLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Bnkconvint(), InternationalBankLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Card(), CardPaymentLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Cash(), CashPaymentLbl, Enum::"Payment Balance Account Type"::"G/L Account", CreateGLAccount.Cash()); + ContosoPayments.InsertBankPaymentMethod(Check(), CheckPaymentLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Giro(), GiroTransferLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Intercom(), IntercompanyPaymentLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(Multiple(), MultiplePaymentMethodsLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + ContosoPayments.InsertBankPaymentMethod(PayPal(), PayPalPaymentLbl, Enum::"Payment Balance Account Type"::"G/L Account", ''); + end; + + procedure Account(): Code[10] + begin + exit(AccountTok); + end; + + procedure Bank(): Code[10] + begin + exit(BankTok); + end; + + procedure Bnkconvdom(): Code[10] + begin + exit(BnkconvdomTok); + end; + + procedure Bnkconvint(): Code[10] + begin + exit(BnkconvintTok); + end; + + procedure Card(): Code[10] + begin + exit(CardTok); + end; + + procedure Cash(): Code[10] + begin + exit(CashTok); + end; + + procedure Check(): Code[10] + begin + exit(CheckTok); + end; + + procedure Giro(): Code[10] + begin + exit(GiroTok); + end; + + procedure Intercom(): Code[10] + begin + exit(IntercomTok); + end; + + procedure Multiple(): Code[10] + begin + exit(MultipleTok); + end; + + procedure PayPal(): Code[10] + begin + exit(PayPalTok); + end; + + var + AccountTok: Label 'ACCOUNT', MaxLength = 10; + PaymentAccountLbl: Label 'Payment on account', MaxLength = 100; + BankTok: Label 'BANK', MaxLength = 10; + BankTransferLbl: Label 'Bank Transfer', MaxLength = 100; + BnkconvdomTok: Label 'BNKCONVDOM', MaxLength = 10; + DomesticBanksLbl: Label 'Bank Data Conversion for Domestic Banks', MaxLength = 100; + BnkconvintTok: Label 'BNKCONVINT', MaxLength = 10; + InternationalBankLbl: Label 'Bank Data Conversion for International Banks', MaxLength = 100; + CardTok: Label 'CARD', MaxLength = 10; + CardPaymentLbl: Label 'Card payment', MaxLength = 100; + CashTok: Label 'CASH', MaxLength = 10; + CashPaymentLbl: Label 'Cash payment', MaxLength = 100; + CheckTok: Label 'CHECK', MaxLength = 10; + CheckPaymentLbl: Label 'Check payment', MaxLength = 100; + GiroTok: Label 'GIRO', MaxLength = 10; + GiroTransferLbl: Label 'Giro transfer', MaxLength = 100; + MultipleTok: Label 'MULTIPLE', MaxLength = 10; + MultiplePaymentMethodsLbl: Label 'Multiple payment methods', MaxLength = 100; + IntercomTok: Label 'INTERCOM', MaxLength = 10; + IntercompanyPaymentLbl: Label 'Intercompany payment', MaxLength = 100; + PayPalTok: Label 'PAYPAL', MaxLength = 10; + PayPalPaymentLbl: Label 'PayPal payment', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreateBankAccount.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreateBankAccount.Codeunit.al new file mode 100644 index 0000000000..81c83a9dfa --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreateBankAccount.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 5457 "Create Bank Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoBank: Codeunit "Contoso Bank"; + CreateBankExImportSetup: Codeunit "Create Bank Ex/Import Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + SalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoBank.InsertBankAccount(Checking(), BankAccountDescriptionLbl, BankaccountAddressLbl, BankAccountCityLbl, BankAccountContactLbl, CheckingBankAccountNoLbl, -934400, CheckingTok, SalespersonPurchaser.OtisFalls(), ContosoCoffeeDemoDataSetup."Country/Region Code", '23', CreateNoSeries.PaymentReconciliationJournals(), PostCodeLbl, '199', BankBranchNoLbl, CreateBankExImportSetup.SEPACAMT()); + ContosoBank.InsertBankAccount(Savings(), BankAccountDescriptionLbl, BankaccountAddressLbl, BankAccountCityLbl, BankAccountContactLbl, SavingBankAccountNoLbl, 0, SavingTok, SalespersonPurchaser.OtisFalls(), ContosoCoffeeDemoDataSetup."Country/Region Code", '', '', PostCodeLbl, '', BankBranchNoLbl, ''); + end; + + procedure Checking(): Code[20] + begin + exit(CheckingTok); + end; + + procedure Savings(): Code[20] + begin + exit(SavingTok); + end; + + var + CheckingTok: Label 'CHECKING', MaxLength = 20; + SavingTok: Label 'SAVINGS', MaxLength = 20; + BankAccountDescriptionLbl: Label 'World Wide Bank', MaxLength = 100; + BankaccountAddressLbl: Label '1 High Holborn', MaxLength = 100; + BankAccountCityLbl: Label 'London', MaxLength = 30; + BankAccountContactLbl: Label 'Grant Culbertson', MaxLength = 100; + CheckingBankAccountNoLbl: Label '99-99-888', Locked = true; + SavingBankAccountNoLbl: Label '99-44-567', Locked = true; + PostCodeLbl: Label 'WC1 3DG', Locked = true; + BankBranchNoLbl: Label 'BG99999', Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreateBankJnlBatches.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreateBankJnlBatches.Codeunit.al new file mode 100644 index 0000000000..26484fa361 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreateBankJnlBatches.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 5665 "Create Bank Jnl. Batches" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.General(), Daily(), DailyLbl, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccount.Checking(), '', false); + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.PaymentJournal(), PaymentReconciliation(), PaymentReconciliationLbl, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccount.Checking(), CreateNoSeries.PaymentJournal(), true); + end; + + procedure Daily(): Code[10] + begin + exit(DailyTok); + end; + + procedure PaymentReconciliation(): Code[10] + begin + exit(PaymentReconciliationTok); + end; + + var + DailyTok: Label 'DAILY', MaxLength = 10; + PaymentReconciliationTok: Label 'PMT REG', MaxLength = 10; + DailyLbl: Label 'Daily Journal Entries', MaxLength = 100; + PaymentReconciliationLbl: Label 'Bank Reconciliation', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreatePaymentRegSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreatePaymentRegSetup.Codeunit.al new file mode 100644 index 0000000000..a67eb029a7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/2.Master Data/CreatePaymentRegSetup.Codeunit.al @@ -0,0 +1,15 @@ +codeunit 5422 "Create Payment Reg. Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoBank: Codeunit "Contoso Bank"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + CreateBankAccount: Codeunit "Create Bank Account"; + begin + ContosoBank.InsertPaymentRegistrationSetup('', CreateGenJournalTemplate.PaymentJournal(), CreateBankJnlBatch.PaymentReconciliation(), 2, CreateBankAccount.Checking(), true, true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/3.Transactions/CreateGenJournalLine.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/3.Transactions/CreateGenJournalLine.Codeunit.al new file mode 100644 index 0000000000..c786d5c6eb --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/3.Transactions/CreateGenJournalLine.Codeunit.al @@ -0,0 +1,52 @@ +codeunit 5421 "Create Gen. Journal Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateBankAccount: Codeunit "Create Bank Account"; + ContosoUtilities: Codeunit "Contoso Utilities"; + PostingDate: Date; + begin + PostingDate := ContosoUtilities.AdjustDate(19030119D); + + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 10000, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccount.Savings(), PostingDate, Enum::"Gen. Journal Document Type"::Payment, Bank1DocumentNo(), TransferJanuaryLbl + Format(Date2DMY(PostingDate, 3)), CreateBankAccount.Checking(), -1780.49, false, Enum::"Gen. Journal Account Type"::"Bank Account", Enum::"Gen. Journal Document Type"::" ", ''); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 20000, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccount.Savings(), PostingDate, Enum::"Gen. Journal Document Type"::Payment, Bank2DocumentNo(), TransferFundsForSpringLbl + Format(Date2DMY(PostingDate, 3)), CreateBankAccount.Checking(), -2670.73, false, Enum::"Gen. Journal Account Type"::"Bank Account", Enum::"Gen. Journal Document Type"::" ", ''); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 30000, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccount.Savings(), PostingDate, Enum::"Gen. Journal Document Type"::Payment, Deposit3DocumentNo(), Deposit3Lbl + Format(Date2DMY(PostingDate, 3)), CreateBankAccount.Checking(), -3560.98, false, Enum::"Gen. Journal Account Type"::"Bank Account", Enum::"Gen. Journal Document Type"::" ", ''); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateBankJnlBatch.Daily(), 40000, Enum::"Gen. Journal Account Type"::"Bank Account", CreateBankAccount.Savings(), PostingDate, Enum::"Gen. Journal Document Type"::Payment, Deposit4DocumentNo(), Deposit4Lbl + Format(Date2DMY(PostingDate, 3)), CreateBankAccount.Checking(), -3560.98, false, Enum::"Gen. Journal Account Type"::"Bank Account", Enum::"Gen. Journal Document Type"::" ", ''); + end; + + procedure Bank1DocumentNo(): Code[20] + begin + exit(Bank1DocumentNoLbl); + end; + + procedure Bank2DocumentNo(): Code[20] + begin + exit(Bank2DocumentNoLbl); + end; + + procedure Deposit3DocumentNo(): Code[20] + begin + exit(Deposit3DocumentNoLbl); + end; + + procedure Deposit4DocumentNo(): Code[20] + begin + exit(Deposit4DocumentNoLbl); + end; + + var + Bank1DocumentNoLbl: Label 'BANK1', MaxLength = 20; + Bank2DocumentNoLbl: Label 'BANK2', MaxLength = 20; + Deposit3DocumentNoLbl: Label 'DEPOSIT3', MaxLength = 20; + Deposit4DocumentNoLbl: Label 'DEPOSIT4', MaxLength = 20; + TransferJanuaryLbl: Label 'Transfer, January ', MaxLength = 100; + TransferFundsForSpringLbl: Label 'Transfer of funds for Spring ', MaxLength = 100; + Deposit3Lbl: Label 'Deposit 3, ', MaxLength = 100; + Deposit4Lbl: Label 'Deposit 4, ', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/4.Historical/CreateBankAccRec.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/4.Historical/CreateBankAccRec.Codeunit.al new file mode 100644 index 0000000000..f3d25f54be --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/4.Historical/CreateBankAccRec.Codeunit.al @@ -0,0 +1,90 @@ +codeunit 5258 "Create Bank Acc. Rec." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateBankAccountReconciliation(); + CreatePaymentReconciliationJournal(); + end; + + local procedure CreateBankAccountReconciliation() + var + GenJournalLine: Record "Gen. Journal Line"; + BankAccReconciliation: Record "Bank Acc. Reconciliation"; + CreateGenJournalLine: Codeunit "Create Gen. Journal Line"; + ContosoBank: Codeunit "Contoso Bank"; + CreateBankAccount: Codeunit "Create Bank Account"; + ContosoUtilities: Codeunit "Contoso Utilities"; + DepositAmount: Decimal; + begin + BankAccReconciliation := ContosoBank.InsertBankAccountReconciliation(Enum::"Bank Acc. Rec. Stmt. Type"::"Bank Reconciliation", CreateBankAccount.Checking(), ContosoUtilities.AdjustDate(19030319D)); + + GenJournalLine.SetRange("Document No.", CreateGenJournalLine.Bank1DocumentNo()); + if GenJournalLine.FindFirst() then begin + ContosoBank.InsertBankAccRecLine(BankAccReconciliation, '', GenJournalLine."Posting Date", TransferToSavingLbl, -GenJournalLine.Amount, 0, 0, Enum::"Gen. Journal Account Type"::"G/L Account", ''); + BankAccReconciliation."Statement Ending Balance" += GenJournalLine.Amount; + end; + + GenJournalLine.SetRange("Document No.", CreateGenJournalLine.Bank2DocumentNo()); + if GenJournalLine.FindFirst() then begin + ContosoBank.InsertBankAccRecLine(BankAccReconciliation, '', CalcDate('<+3D>', GenJournalLine."Posting Date"), FundsForSpringEventLbl + Format(Date2DMY(GenJournalLine."Posting Date", 3) - 1), -GenJournalLine.Amount, 0, 0, Enum::"Gen. Journal Account Type"::"G/L Account", ''); + BankAccReconciliation."Statement Ending Balance" += GenJournalLine.Amount; + end; + + GenJournalLine.SetFilter("Document No.", CreateGenJournalLine.Deposit3DocumentNo() + '|' + CreateGenJournalLine.Deposit4DocumentNo()); + if GenJournalLine.FindSet() then begin + repeat + DepositAmount += GenJournalLine.Amount; + BankAccReconciliation."Statement Ending Balance" += GenJournalLine.Amount; + until GenJournalLine.Next() = 0; + + ContosoBank.InsertBankAccRecLine(BankAccReconciliation, '', GenJournalLine."Posting Date", DepositToAccountLbl + Format(GenJournalLine."Posting Date"), -DepositAmount, 0, 0, Enum::"Gen. Journal Account Type"::"G/L Account", ''); + end; + + BankAccReconciliation."Statement Ending Balance" := -BankAccReconciliation."Statement Ending Balance"; + BankAccReconciliation."Statement Date" := CalcDate('', GenJournalLine."Posting Date"); + BankAccReconciliation.Modify(true); + end; + + local procedure CreatePaymentReconciliationJournal() + var + BankAccReconciliation: Record "Bank Acc. Reconciliation"; + SalesHeader: Record "Sales Header"; + PurchaseHeader: Record "Purchase Header"; + CreatePurchaseDocument: Codeunit "Create Purchase Document"; + ContosoBank: Codeunit "Contoso Bank"; + CreateBankAccount: Codeunit "Create Bank Account"; + CreateCustomer: Codeunit "Create Customer"; + CreateVendor: Codeunit "Create Vendor"; + ContosoUtilities: Codeunit "Contoso Utilities"; + begin + BankAccReconciliation := ContosoBank.InsertBankAccountReconciliation(Enum::"Bank Acc. Rec. Stmt. Type"::"Payment Application", CreateBankAccount.Checking(), ContosoUtilities.AdjustDate(19030319D)); + + PurchaseHeader.SetRange("Your Reference", CreatePurchaseDocument.ReconciliationYourReference()); + if PurchaseHeader.FindSet() then + repeat + PurchaseHeader.CalcFields("Amount Including VAT"); + if PurchaseHeader."Buy-from Vendor No." = CreateVendor.DomesticWorldImporter() then // line with low match confidence + ContosoBank.InsertBankAccRecLine(BankAccReconciliation, '', PurchaseHeader."Posting Date", PurchaseHeader."Pay-to Name", -PurchaseHeader."Amount Including VAT" div 2, 0, 0, Enum::"Gen. Journal Account Type"::Vendor, PurchaseHeader."Pay-to Vendor No.") + else + ContosoBank.InsertBankAccRecLine(BankAccReconciliation, '', PurchaseHeader."Posting Date", PurchaseHeader."No.", -PurchaseHeader."Amount Including VAT", 0, 0, Enum::"Gen. Journal Account Type"::Vendor, PurchaseHeader."Pay-to Vendor No."); + until PurchaseHeader.Next() = 0; + + SalesHeader.SetRange("Your Reference", CreatePurchaseDocument.ReconciliationYourReference()); + if SalesHeader.FindSet() then + repeat + SalesHeader.CalcFields("Amount Including VAT"); + if SalesHeader."Sell-to Customer No." = CreateCustomer.ExportSchoolofArt() then // line with low match confidence + ContosoBank.InsertBankAccRecLine(BankAccReconciliation, '', SalesHeader."Posting Date" + 1, SalesHeader."Sell-to Customer Name", SalesHeader."Amount Including VAT" - 0.01, 0, 0, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Sell-to Customer No.") + else + ContosoBank.InsertBankAccRecLine(BankAccReconciliation, '', SalesHeader."Posting Date", SalesHeader."No.", SalesHeader."Amount Including VAT", 0, 0, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Sell-to Customer No."); + until SalesHeader.Next() = 0; + end; + + var + TransferToSavingLbl: Label 'Transfer to savings account', MaxLength = 100; + FundsForSpringEventLbl: Label 'Funds for Spring event ', MaxLength = 100; + DepositToAccountLbl: Label 'Deposit to Account ', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/4.Historical/PostBankPaymentEntry.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/4.Historical/PostBankPaymentEntry.Codeunit.al new file mode 100644 index 0000000000..75b1d5e746 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/4.Historical/PostBankPaymentEntry.Codeunit.al @@ -0,0 +1,14 @@ +codeunit 5667 "Post Bank Payment Entry" +{ + trigger OnRun() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateBankJnlBatch: Codeunit "Create Bank Jnl. Batches"; + begin + GenJournalLine.SetRange("Journal Template Name", CreateGenJournalTemplate.General()); + GenJournalLine.SetRange("Journal Batch Name", CreateBankJnlBatch.Daily()); + if GenJournalLine.FindFirst() then + CODEUNIT.Run(CODEUNIT::"Gen. Jnl.-Post Batch", GenJournalLine); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/BankModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/BankModule.Codeunit.al new file mode 100644 index 0000000000..8f1e224b4c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Bank/BankModule.Codeunit.al @@ -0,0 +1,42 @@ +codeunit 5635 "Bank Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + exit; + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::Foundation); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Finance); + Dependencies.Add(Enum::"Contoso Demo Data Module"::CRM); + end; + + procedure CreateSetupData() + begin + Codeunit.Run(Codeunit::"Create Bank Acc. Posting Grp"); + Codeunit.Run(Codeunit::"Create Bank Ex/Import Setup"); + Codeunit.Run(Codeunit::"Create Payment Method"); + end; + + procedure CreateMasterData() + begin + Codeunit.Run(Codeunit::"Create Bank Account"); + Codeunit.Run(Codeunit::"Create Bank Jnl. Batches"); + Codeunit.Run(Codeunit::"Create Payment Reg. Setup"); + end; + + procedure CreateTransactionalData() + begin + Codeunit.Run(Codeunit::"Create Gen. Journal Line"); + end; + + procedure CreateHistoricalData() + begin + Codeunit.Run(Codeunit::"Create Bank Acc. Rec."); + Codeunit.Run(Codeunit::"Post Bank Payment Entry"); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateBusinessRelation.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateBusinessRelation.Codeunit.al new file mode 100644 index 0000000000..5a7150a904 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateBusinessRelation.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 5329 "Create Business Relation" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertBusinessRelation(BankBusinessRelation(), BankAccountLbl); + ContosoCRM.InsertBusinessRelation(CustBusinessRelation(), CustomerLbl); + ContosoCRM.InsertBusinessRelation(EmpBusinessRelation(), EmployeeLbl); + ContosoCRM.InsertBusinessRelation(VendBusinessRelation(), VendorLbl); + end; + + procedure CustBusinessRelation(): Code[10] + begin + exit(CustBusinessRelationTok); + end; + + procedure VendBusinessRelation(): Code[10] + begin + exit(VendBusinessRelationTok); + end; + + procedure EmpBusinessRelation(): Code[10] + begin + exit(EmpBusinessRelationTok); + end; + + procedure BankBusinessRelation(): Code[10] + begin + exit(BankBusinessRelationTok); + end; + + + var + CustBusinessRelationTok: Label 'CUST', MaxLength = 10; + VendBusinessRelationTok: Label 'VEND', MaxLength = 10; + EmpBusinessRelationTok: Label 'EMP', MaxLength = 10; + BankBusinessRelationTok: Label 'BANK', MaxLength = 10; + BankAccountLbl: Label 'Bank Account', MaxLength = 100; + CustomerLbl: Label 'Customer', MaxLength = 100; + EmployeeLbl: Label 'Employee', MaxLength = 100; + VendorLbl: Label 'Vendor', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateCRMDimension.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateCRMDimension.Codeunit.al new file mode 100644 index 0000000000..91c69942a1 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateCRMDimension.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 5257 "Create CRM Dimension" +{ + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + begin + ContosoDimension.InsertDimension(Purchaser(), PurchaserLbl); + ContosoDimension.InsertDimension(SalesPerson(), SalesPersonLbl); + end; + + procedure Purchaser(): Code[20] + begin + exit(PurchaserTok); + end; + + procedure SalesPerson(): Code[20] + begin + exit(SalesPersonTok); + end; + + var + PurchaserTok: Label 'PURCHASER', MaxLength = 20; + PurchaserLbl: Label 'Purchaser', MaxLength = 100; + SalesPersonTok: Label 'SALESPERSON', MaxLength = 20; + SalesPersonLbl: Label 'Salesperson', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateCampaignStatus.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateCampaignStatus.Codeunit.al new file mode 100644 index 0000000000..5a4b717af9 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateCampaignStatus.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 5451 "Create Campaign Status" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertCampaignStatus(Planned(), PlannedLbl); + ContosoCRM.InsertCampaignStatus(Approved(), ApprovedLbl); + ContosoCRM.InsertCampaignStatus(Initiated(), InitiatedLbl); + ContosoCRM.InsertCampaignStatus(Scheduled(), ScheduledLbl); + ContosoCRM.InsertCampaignStatus(Started(), StartedLbl); + ContosoCRM.InsertCampaignStatus(Done(), DoneLbl); + end; + + procedure Planned(): Code[10] + begin + exit(PlanTemplateTok); + end; + + procedure Approved(): Code[10] + begin + exit(AppTemplateTok); + end; + + procedure Initiated(): Code[10] + begin + exit(InitTemplateTok); + end; + + procedure Scheduled(): Code[10] + begin + exit(SchTemplateTok); + end; + + procedure Started(): Code[10] + begin + exit(StartTemplateTok); + end; + + procedure Done(): Code[10] + begin + exit(DoneTemplateTok); + end; + + var + PlanTemplateTok: Label '1-PLAN', MaxLength = 10; + AppTemplateTok: Label '2-APP', MaxLength = 10; + InitTemplateTok: Label '3-INIT', MaxLength = 10; + SchTemplateTok: Label '4-SCH', MaxLength = 10; + StartTemplateTok: Label '5-START', MaxLength = 10; + DoneTemplateTok: Label '9-DONE', MaxLength = 10; + PlannedLbl: Label 'Planned', MaxLength = 100; + ApprovedLbl: Label 'Approved', MaxLength = 100; + InitiatedLbl: Label 'Initiated', MaxLength = 100; + ScheduledLbl: Label 'Scheduled', MaxLength = 100; + StartedLbl: Label 'Started', MaxLength = 100; + DoneLbl: Label 'Done', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateDupSearchStrSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateDupSearchStrSetup.Codeunit.al new file mode 100644 index 0000000000..e195d23eb6 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateDupSearchStrSetup.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 5351 "Create Dup. Search Str. Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Contact: Record Contact; + DuplicateSearchStringSetup: Record "Duplicate Search String Setup"; + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo(Name), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo(Name), DuplicateSearchStringSetup."Part of Field"::Last, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo(Address), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo(Address), DuplicateSearchStringSetup."Part of Field"::Last, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo(City), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo(City), DuplicateSearchStringSetup."Part of Field"::Last, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("Phone No."), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("Phone No."), DuplicateSearchStringSetup."Part of Field"::Last, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("VAT Registration No."), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("VAT Registration No."), DuplicateSearchStringSetup."Part of Field"::Last, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("Post Code"), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("Post Code"), DuplicateSearchStringSetup."Part of Field"::Last, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("E-Mail"), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("E-Mail"), DuplicateSearchStringSetup."Part of Field"::Last, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("Mobile Phone No."), DuplicateSearchStringSetup."Part of Field"::First, 5); + ContosoCRM.InsertDuplicateSearchStringSetup(Contact.FieldNo("Mobile Phone No."), DuplicateSearchStringSetup."Part of Field"::Last, 5); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateInteractionGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateInteractionGroup.Codeunit.al new file mode 100644 index 0000000000..8c2e0ce34c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateInteractionGroup.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 5534 "Create Interaction Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertInteractionGroup(Letter(), LettersLbl); + ContosoCRM.InsertInteractionGroup(Meeting(), MeetingsLbl); + ContosoCRM.InsertInteractionGroup(Phone(), TelephoneConversationsLbl); + ContosoCRM.InsertInteractionGroup(Purchase(), PurchaseDocumentsLbl); + ContosoCRM.InsertInteractionGroup(Sales(), SalesDocumentsLbl); + ContosoCRM.InsertInteractionGroup(System(), SystemGeneratedEntriesLbl); + end; + + procedure Letter(): Code[10] + begin + exit(LetterTok); + end; + + procedure Meeting(): Code[10] + begin + exit(MeetingTok); + end; + + procedure Phone(): Code[10] + begin + exit(PhoneTok); + end; + + procedure System(): Code[10] + begin + exit(SystemTok); + end; + + procedure Sales(): Code[10] + begin + exit(SalesTok); + end; + + procedure Purchase(): Code[10] + begin + exit(PurchasesTok); + end; + + var + LetterTok: Label 'LETTER', MaxLength = 10; + MeetingTok: Label 'MEETING', MaxLength = 10; + PhoneTok: Label 'PHONE', MaxLength = 10; + SalesTok: Label 'SALES', MaxLength = 10; + PurchasesTok: Label 'PURCHASES', MaxLength = 10; + SystemTok: Label 'SYSTEM', MaxLength = 10; + LettersLbl: Label 'Letters', MaxLength = 100; + MeetingsLbl: Label 'Meetings', MaxLength = 100; + TelephoneConversationsLbl: Label 'Telephone conversations', MaxLength = 100; + PurchaseDocumentsLbl: Label 'Purchase Documents', MaxLength = 100; + SalesDocumentsLbl: Label 'Sales Documents', MaxLength = 100; + SystemGeneratedEntriesLbl: Label 'System Generated Entries', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateInteractionTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateInteractionTemplate.Codeunit.al new file mode 100644 index 0000000000..f7a0ce936d --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateInteractionTemplate.Codeunit.al @@ -0,0 +1,281 @@ +codeunit 5385 "Create Interaction Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + CreateInteractionTemplates(); + CreateInteractionTemplateLanguages(); + + ContosoCRM.InsertInteractionTemplateSetup(SInvoice(), SCMemo(), SOrderCf(), SQuote(), PInvoice(), PCMemo(), POrder(), PQuote(), Email(), Coversh(), Outgoing(), SBOrder(), '', SShip(), SStatm(), SRemind(), '', PBOrder(), PReceipt(), SRetOrd(), SRetRcp(), SFinChg(), PRtShip(), PRtOrdC(), Meetinv(), EmailD(), SDraftIn()); + end; + + local procedure CreateInteractionTemplates() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateInteractionGroup: Codeunit "Create Interaction Group"; + begin + ContosoCRM.InsertInteractionTemplate(Abstract(), CreateInteractionGroup.Letter(), AbstractsOfMeetingLbl, 8, 90, 1, 0, Enum::"Correspondence Type"::"Hard Copy", Enum::"Interaction Template Wizard Action"::" ", true); + ContosoCRM.InsertInteractionTemplate(Bus(), CreateInteractionGroup.Letter(), BusinessLetterLbl, 8, 30, 1, 1, Enum::"Correspondence Type"::"Hard Copy", Enum::"Interaction Template Wizard Action"::" ", true); + ContosoCRM.InsertInteractionTemplate(Coversh(), CreateInteractionGroup.System(), CoversheetLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(Email(), CreateInteractionGroup.System(), EmailsLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(EmailD(), CreateInteractionGroup.System(), EmailDraftLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(Golf(), CreateInteractionGroup.Letter(), GolfEventLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::Email, Enum::"Interaction Template Wizard Action"::Merge, true); + ContosoCRM.InsertInteractionTemplate(Income(), CreateInteractionGroup.Phone(), IncomingPhoneCallLbl, 0, 15, 2, 2, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", true); + ContosoCRM.InsertInteractionTemplate(Inhouse(), CreateInteractionGroup.Meeting(), MeetingHeldAtCronusLbl, 25, 120, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(Meetinv(), CreateInteractionGroup.System(), MeetingInvitationLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(Onsite(), CreateInteractionGroup.Meeting(), MeetingAtCustomersSiteLbl, 45, 180, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(Outgoing(), CreateInteractionGroup.Phone(), OutgoingPhoneCallLbl, 1, 15, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", true); + ContosoCRM.InsertInteractionTemplate(PBOrder(), CreateInteractionGroup.Purchase(), PurchaseBlanketOrderLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(PCMemo(), CreateInteractionGroup.Purchase(), PurchaseCreditMemoLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(PInvoice(), CreateInteractionGroup.Purchase(), PurchaseInvoiceLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(POrder(), CreateInteractionGroup.Purchase(), PurchaseOrderLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(PQuote(), CreateInteractionGroup.Purchase(), PurchaseQuoteLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(PReceipt(), CreateInteractionGroup.Purchase(), PurchaseReceiptLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(PRtOrdC(), CreateInteractionGroup.Purchase(), PurchaseReturnOrderConfirmationLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(PRtShip(), CreateInteractionGroup.Purchase(), PurchaseReturnShipmentLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SBOrder(), CreateInteractionGroup.Sales(), SalesBlanketOrderLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SCMemo(), CreateInteractionGroup.Sales(), SalesCreditMemoLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SDraftIn(), CreateInteractionGroup.Sales(), SalesDraftInvoiceLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SFinChg(), CreateInteractionGroup.Sales(), FinanceChargeLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SInvoice(), CreateInteractionGroup.Sales(), SalesInvoiceLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SOrderCf(), CreateInteractionGroup.Sales(), SalesOrderConfirmationLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SQuote(), CreateInteractionGroup.Sales(), SalesQuoteLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SRemind(), CreateInteractionGroup.Sales(), SalesReminderLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SRetOrd(), CreateInteractionGroup.Sales(), SalesReturnOrderLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SRetRcp(), CreateInteractionGroup.Sales(), SalesReturnReceiptLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SShip(), CreateInteractionGroup.Sales(), SalesShipmentLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + ContosoCRM.InsertInteractionTemplate(SStatm(), CreateInteractionGroup.Sales(), SalesStatementLbl, 8, 1, 1, 1, Enum::"Correspondence Type"::" ", Enum::"Interaction Template Wizard Action"::" ", false); + end; + + local procedure CreateInteractionTemplateLanguages() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoCRM.InsertInteractionTmplLanguage(Abstract(), CreateLanguage.ENU()); + ContosoCRM.InsertInteractionTmplLanguage(Bus(), CreateLanguage.ENU()); + end; + + procedure Abstract(): Code[10] + begin + exit(AbstractTok); + end; + + procedure Bus(): Code[10] + begin + exit(BusTok); + end; + + procedure Coversh(): Code[10] + begin + exit(CovershTok); + end; + + procedure Email(): Code[10] + begin + exit(EmailTok); + end; + + procedure EmailD(): Code[10] + begin + exit(EmailDTok); + end; + + procedure Golf(): Code[10] + begin + exit(GolfTok); + end; + + procedure Income(): Code[10] + begin + exit(IncomeTok); + end; + + procedure Inhouse(): Code[10] + begin + exit(InhouseTok); + end; + + procedure Meetinv(): Code[10] + begin + exit(MeetinvTok); + end; + + procedure Onsite(): Code[10] + begin + exit(OnsiteTok); + end; + + procedure Outgoing(): Code[10] + begin + exit(OutgoingTok); + end; + + procedure PBOrder(): Code[10] + begin + exit(PBOrderTok); + end; + + procedure PCMemo(): Code[10] + begin + exit(PCMemoTok); + end; + + procedure PInvoice(): Code[10] + begin + exit(PInvoiceTok); + end; + + procedure POrder(): Code[10] + begin + exit(POrderTok); + end; + + procedure PQuote(): Code[10] + begin + exit(PQuoteTok); + end; + + procedure PReceipt(): Code[10] + begin + exit(PReceiptTok); + end; + + procedure PRtOrdC(): Code[10] + begin + exit(PRtOrdCTok); + end; + + procedure PRtShip(): Code[10] + begin + exit(PRtShipTok); + end; + + procedure SBOrder(): Code[10] + begin + exit(SBOrderTok); + end; + + procedure SCMemo(): Code[10] + begin + exit(SCMemoTok); + end; + + procedure SDraftIn(): Code[10] + begin + exit(SDraftInTok); + end; + + procedure SFinChg(): Code[10] + begin + exit(SFinChgTok); + end; + + procedure SInvoice(): Code[10] + begin + exit(SInvoiceTok); + end; + + procedure SOrderCf(): Code[10] + begin + exit(SOrderCfTok); + end; + + procedure SQuote(): Code[10] + begin + exit(SQuoteTok); + end; + + procedure SRemind(): Code[10] + begin + exit(SRemindTok); + end; + + procedure SRetOrd(): Code[10] + begin + exit(SRetOrdTok); + end; + + procedure SRetRcp(): Code[10] + begin + exit(SRetRcpTok); + end; + + procedure SShip(): Code[10] + begin + exit(SShipTok); + end; + + procedure SStatm(): Code[10] + begin + exit(SStatmTok); + end; + + var + AbstractTok: Label 'ABSTRACT', MaxLength = 10; + BusTok: Label 'BUS', MaxLength = 10; + CovershTok: Label 'COVERSH', MaxLength = 10; + EmailTok: Label 'EMAIL', MaxLength = 10; + EmailDTok: Label 'EMAIL_D', MaxLength = 10; + GolfTok: Label 'GOLF', MaxLength = 10; + IncomeTok: Label 'INCOME', MaxLength = 10; + InhouseTok: Label 'INHOUSE', MaxLength = 10; + MeetinvTok: Label 'MEETINV', MaxLength = 10; + OnsiteTok: Label 'ONSITE', MaxLength = 10; + OutgoingTok: Label 'OUTGOING', MaxLength = 10; + PBOrderTok: Label 'P_B_ORDER', MaxLength = 10; + PCMemoTok: Label 'P_C_MEMO', MaxLength = 10; + PInvoiceTok: Label 'P_INVOICE', MaxLength = 10; + POrderTok: Label 'P_ORDER', MaxLength = 10; + PQuoteTok: Label 'P_QUOTE', MaxLength = 10; + PReceiptTok: Label 'P_RECEIPT', MaxLength = 10; + PRtOrdCTok: Label 'P_RT_ORD_C', MaxLength = 10; + PRtShipTok: Label 'P_RT_SHIP', MaxLength = 10; + SBOrderTok: Label 'S_B_ORDER', MaxLength = 10; + SCMemoTok: Label 'S_C_MEMO', MaxLength = 10; + SDraftInTok: Label 'S_DRAFT_IN', MaxLength = 10; + SFinChgTok: Label 'S_FIN_CHG', MaxLength = 10; + SInvoiceTok: Label 'S_INVOICE', MaxLength = 10; + SOrderCfTok: Label 'S_ORDER_CF', MaxLength = 10; + SQuoteTok: Label 'S_QUOTE', MaxLength = 10; + SRemindTok: Label 'S_REMIND', MaxLength = 10; + SRetOrdTok: Label 'S_RET_ORD', MaxLength = 10; + SRetRcpTok: Label 'S_RET_RCP', MaxLength = 10; + SShipTok: Label 'S_SHIP', MaxLength = 10; + SStatmTok: Label 'S_STATM', MaxLength = 10; + AbstractsOfMeetingLbl: Label 'Abstracts of meeting', MaxLength = 100; + BusinessLetterLbl: Label 'Business letter', MaxLength = 100; + CoversheetLbl: Label 'Coversheet', MaxLength = 100; + EmailsLbl: Label 'Emails', MaxLength = 100; + EmailDraftLbl: Label 'Email Draft', MaxLength = 100; + GolfEventLbl: Label 'Golf event', MaxLength = 100; + IncomingPhoneCallLbl: Label 'Incoming phone call', MaxLength = 100; + MeetingHeldAtCronusLbl: Label 'Meeting held at CRONUS', MaxLength = 100; + MeetingInvitationLbl: Label 'Meeting Invitation', MaxLength = 100; + MeetingAtCustomersSiteLbl: Label 'Meeting at the customers site', MaxLength = 100; + OutgoingPhoneCallLbl: Label 'Outgoing phone call', MaxLength = 100; + PurchaseBlanketOrderLbl: Label 'Purchase Blanket Order', MaxLength = 100; + PurchaseCreditMemoLbl: Label 'Purchase Credit Memo', MaxLength = 100; + PurchaseInvoiceLbl: Label 'Purchase Invoice', MaxLength = 100; + PurchaseOrderLbl: Label 'Purchase Order', MaxLength = 100; + PurchaseQuoteLbl: Label 'Purchase Quote', MaxLength = 100; + PurchaseReceiptLbl: Label 'Purchase Receipt', MaxLength = 100; + PurchaseReturnOrderConfirmationLbl: Label 'Purchase Return Order Confirmation', MaxLength = 100; + PurchaseReturnShipmentLbl: Label 'Purchase Return Shipment', MaxLength = 100; + SalesBlanketOrderLbl: Label 'Sales Blanket Order', MaxLength = 100; + SalesCreditMemoLbl: Label 'Sales Credit Memo', MaxLength = 100; + SalesDraftInvoiceLbl: Label 'Sales Draft Invoice', MaxLength = 100; + FinanceChargeLbl: Label 'Finance Charge', MaxLength = 100; + SalesInvoiceLbl: Label 'Sales Invoice', MaxLength = 100; + SalesOrderConfirmationLbl: Label 'Sales Order Confirmation', MaxLength = 100; + SalesQuoteLbl: Label 'Sales Quote', MaxLength = 100; + SalesReminderLbl: Label 'Sales Reminder', MaxLength = 100; + SalesReturnOrderLbl: Label 'Sales Return Order', MaxLength = 100; + SalesReturnReceiptLbl: Label 'Sales Return Receipt', MaxLength = 100; + SalesShipmentLbl: Label 'Sales Shipment', MaxLength = 100; + SalesStatementLbl: Label 'Sales Statement', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateMarketingSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateMarketingSetup.Codeunit.al new file mode 100644 index 0000000000..3acb26bc7a --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateMarketingSetup.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 5648 "Create Marketing Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoCRM: Codeunit "Contoso CRM"; + CreateNoSeries: Codeunit "Create No. Series"; + ContosoLanguage: Codeunit "Contoso Language"; + CreateBusinessRelation: Codeunit "Create Business Relation"; + CreateSalesCycle: Codeunit "Create Sales Cycle"; + CreateSalutations: Codeunit "Create Salutations"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoCRM.InsertMarketingSetup(ContosoCoffeeDemoDataSetup."Country/Region Code", CreateNoSeries.Contact(), CreateNoSeries.Campaign(), CreateNoSeries.Segment(), CreateNoSeries.Task(), CreateNoSeries.Opportunity(), CreateBusinessRelation.CustBusinessRelation(), CreateBusinessRelation.VendBusinessRelation(), CreateBusinessRelation.BankBusinessRelation(), CreateBusinessRelation.EmpBusinessRelation(), true, true, true, true, true, true, ContosoLanguage.GetLanguageCode(''), CreateSalesCycle.NewSalesCycle(), Enum::"Setup Attachment Storage Type"::Embedded, true, 60, true, 1033, CreateSalutations.Company(), CreateSalutations.Unisex(), Enum::"Correspondence Type"::Email, true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateOrganizationalLevel.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateOrganizationalLevel.Codeunit.al new file mode 100644 index 0000000000..f9e85fc62c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateOrganizationalLevel.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 5669 "Create Organizational Level" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertOrganizationalLevel(CEO(), CEOLbl); + ContosoCRM.InsertOrganizationalLevel(CFO(), CFOLbl); + ContosoCRM.InsertOrganizationalLevel(JuniorManager(), JuniorManagerLbl); + ContosoCRM.InsertOrganizationalLevel(Manager(), ManagerLbl); + ContosoCRM.InsertOrganizationalLevel(SalariedEmployee(), SalariedEmployeeLbl); + ContosoCRM.InsertOrganizationalLevel(SeniorManager(), SeniorManagerLbl); + end; + + procedure CEO(): Code[10] + begin + exit(CEOTok); + end; + + procedure CFO(): Code[10] + begin + exit(CFOTok); + end; + + procedure JuniorManager(): Code[10] + begin + exit(JuniorManagerTok); + end; + + procedure Manager(): Code[10] + begin + exit(ManagerTok); + end; + + procedure SalariedEmployee(): Code[10] + begin + exit(SalariedEmployeeTok); + end; + + procedure SeniorManager(): Code[10] + begin + exit(SeniorManagerTok); + end; + + var + CEOTok: Label 'CEO', MaxLength = 10; + CFOTok: Label 'CFO', MaxLength = 10; + JuniorManagerTok: Label 'J-MANA', MaxLength = 10; + ManagerTok: Label 'MANA', MaxLength = 10; + SalariedEmployeeTok: Label 'SALEMP', MaxLength = 10; + SeniorManagerTok: Label 'SENMAN', MaxLength = 10; + CEOLbl: Label 'Chief Executive Officer', MaxLength = 100; + CFOLbl: Label 'Chief Financial Officer', MaxLength = 100; + JuniorManagerLbl: Label 'Junior Manager', MaxLength = 100; + ManagerLbl: Label 'Manager', MaxLength = 100; + SalariedEmployeeLbl: Label 'Salaried Employee', MaxLength = 100; + SeniorManagerLbl: Label 'Senior Manager', MaxLength = 100; + +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateSalesCycle.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateSalesCycle.Codeunit.al new file mode 100644 index 0000000000..772b693baf --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateSalesCycle.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 5384 "Create Sales Cycle" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertSalesCycle(ExistingSalesCycle(), ExistingCustomerLbl, 3); + ContosoCRM.InsertSalesCycle(NewSalesCycle(), NewCustomerLbl, 2); + end; + + procedure ExistingSalesCycle(): Code[10] + begin + exit(ExistingSalesCycleTok); + end; + + procedure NewSalesCycle(): Code[10] + begin + exit(NewSalesCycleTok); + end; + + + var + ExistingSalesCycleTok: Label 'EXISTING', MaxLength = 10; + NewSalesCycleTok: Label 'NEW', MaxLength = 10; + NewCustomerLbl: Label 'New customer', MaxLength = 100; + ExistingCustomerLbl: Label 'Existing customer', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateSalutations.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateSalutations.Codeunit.al new file mode 100644 index 0000000000..848e6ddeb9 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateSalutations.Codeunit.al @@ -0,0 +1,77 @@ +codeunit 5396 "Create Salutations" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertSalutations(Company(), CompanyLbl); + ContosoCRM.InsertSalutations(Female(), FemaleMarriedUnmarriedLbl); + ContosoCRM.InsertSalutations(FemaleJob(), FemaleJobTitleLbl); + ContosoCRM.InsertSalutations(FemaleMarried(), FemaleMarriedLbl); + ContosoCRM.InsertSalutations(FemaleUnMarried(), FemaleUnMarriedLbl); + ContosoCRM.InsertSalutations(Male(), maleMarriedUnmarriedLbl); + ContosoCRM.InsertSalutations(MaleJob(), MaleJobTitleLbl); + ContosoCRM.InsertSalutations(Unisex(), UnisexLbl); + end; + + procedure Company(): Code[10] + begin + exit(CompanyTok) + end; + + procedure Female(): Code[10] + begin + exit(FemaleTok) + end; + + procedure FemaleJob(): Code[10] + begin + exit(FemaleJobTok) + end; + + procedure FemaleMarried(): Code[10] + begin + exit(FemaleMarriedTok) + end; + + procedure FemaleUnMarried(): Code[10] + begin + exit(FemaleUnMarriedTok) + end; + + procedure Male(): Code[10] + begin + exit(MaleTok) + end; + + procedure MaleJob(): Code[10] + begin + exit(MaleJobTok) + end; + + procedure Unisex(): Code[10] + begin + exit(UnisexTok) + end; + + var + CompanyTok: Label 'COMPANY', MaxLength = 10; + FemaleTok: Label 'F', MaxLength = 10; + FemaleJobTok: Label 'F-JOB', MaxLength = 10; + FemaleMarriedTok: Label 'F-MAR', MaxLength = 10; + FemaleUnMarriedTok: Label 'F-UMAR', MaxLength = 10; + MaleTok: Label 'M', MaxLength = 10; + MaleJobTok: Label 'M-JOB', MaxLength = 10; + UnisexTok: Label 'UNISEX', MaxLength = 10; + CompanyLbl: Label 'Company', MaxLength = 100; + FemaleMarriedUnmarriedLbl: Label 'Female Married or Unmarried', MaxLength = 100; + FemaleJobTitleLbl: Label 'Female - Job title', MaxLength = 100; + FemaleMarriedLbl: Label 'Female - Married', MaxLength = 100; + FemaleUnMarriedLbl: Label 'Female - Unmarried', MaxLength = 100; + maleMarriedUnmarriedLbl: Label 'Male Married or Unmarried', MaxLength = 100; + MaleJobTitleLbl: Label 'Male - Jobtitle', MaxLength = 100; + UnisexLbl: Label 'Unisex', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateTeam.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateTeam.Codeunit.al new file mode 100644 index 0000000000..8349046880 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateTeam.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 5675 "Create Team" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertTeam(Administration(), AdministrationLbl); + ContosoCRM.InsertTeam(Canvas(), CanvasLbl); + ContosoCRM.InsertTeam(Marketing(), MarketingLbl); + ContosoCRM.InsertTeam(Sale(), SaleLbl); + ContosoCRM.InsertTeam(Service(), ServiceLbl); + ContosoCRM.InsertTeam(Support(), SupportLbl); + end; + + procedure Administration(): Code[10] + begin + exit(AdministrationTok); + end; + + procedure Canvas(): Code[10] + begin + exit(CanvasTok); + end; + + procedure Marketing(): Code[10] + begin + exit(MarketingTok); + end; + + procedure Sale(): Code[10] + begin + exit(SaleTok); + end; + + procedure Service(): Code[10] + begin + exit(ServiceTok); + end; + + procedure Support(): Code[10] + begin + exit(SupportTok); + end; + + var + AdministrationLbl: Label 'Administration', MaxLength = 50; + CanvasLbl: Label 'Canvas team', MaxLength = 50; + MarketingLbl: Label 'Marketing Group', MaxLength = 50; + SaleLbl: Label 'Sales', MaxLength = 50; + ServiceLbl: Label 'Field Service', MaxLength = 50; + SupportLbl: Label 'Product support', MaxLength = 50; + AdministrationTok: Label 'ADM', MaxLength = 10; + CanvasTok: Label 'CANVAS', MaxLength = 10; + MarketingTok: Label 'MARKETING', MaxLength = 10; + SaleTok: Label 'SALE', MaxLength = 10; + ServiceTok: Label 'SERVICE', MaxLength = 10; + SupportTok: Label 'SUPPORT', MaxLength = 10; + +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateWordTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateWordTemplate.Codeunit.al new file mode 100644 index 0000000000..a5306f6fb8 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/1.Setup Data/CreateWordTemplate.Codeunit.al @@ -0,0 +1,39 @@ +codeunit 5410 "Create Word Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateLanguage: Codeunit "Create Language"; + FolderNameLbl: Label 'WordTemplates', Locked = true; + begin + ContosoCRM.InsertWordTemplate(EventWordTemplate(), CustomerEventLbl, Database::Customer, FolderNameLbl + '/WordTemplate_Customer_Event.docx', CreateLanguage.ENU()); + ContosoCRM.InsertWordTemplate(MemoWordTemplate(), VendorMemoLbl, Database::Vendor, FolderNameLbl + '/WordTemplate_Vendor_Memo.docx', CreateLanguage.ENU()); + ContosoCRM.InsertWordTemplate(ThanksNoteWordTemplate(), ContactThanksNoteLbl, Database::Contact, FolderNameLbl + '/WordTemplate_Contact_Thanksnote.docx', CreateLanguage.ENU()); + end; + + procedure EventWordTemplate(): Code[30] + begin + exit(EventTok) + end; + + procedure MemoWordTemplate(): Code[30] + begin + exit(MemoTok) + end; + + procedure ThanksNoteWordTemplate(): Code[30] + begin + exit(ThanksNoteTok) + end; + + var + EventTok: Label 'EVENT', MaxLength = 30; + MemoTok: Label 'MEMO', MaxLength = 30; + ThanksNoteTok: Label 'THANKSNOTE', MaxLength = 30; + CustomerEventLbl: Label 'Customer Event', MaxLength = 250; + VendorMemoLbl: Label 'Vendor Memo', MaxLength = 250; + ContactThanksNoteLbl: Label 'Contact Thanks Note', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateActivity.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateActivity.Codeunit.al new file mode 100644 index 0000000000..12d4f90193 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateActivity.Codeunit.al @@ -0,0 +1,85 @@ +codeunit 5383 "Create Activity" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertActivity(CompanyPresentation(), CompanyPresentationTasksLbl); + ContosoCRM.InsertActivity(Initial(), InitialTasksLbl); + ContosoCRM.InsertActivity(UnderstandingNeeds(), UnderstandingNeedsTasksLbl); + ContosoCRM.InsertActivity(ProductPresentation(), ProductPresentationLbl); + ContosoCRM.InsertActivity(Proposal(), ProposalTasksLbl); + ContosoCRM.InsertActivity(PresentationWorkshop(), PresentationWorkshopLbl); + ContosoCRM.InsertActivity(Qualification(), QualificationTasksLbl); + ContosoCRM.InsertActivity(SignContract(), SignContractTasksLbl); + ContosoCRM.InsertActivity(Workshop(), WorkshopTasksLbl); + end; + + procedure CompanyPresentation(): Code[10] + begin + exit(CompanyPresentationTemplateTok); + end; + + procedure Initial(): Code[10] + begin + exit(InitTemplateTok); + end; + + procedure UnderstandingNeeds(): Code[10] + begin + exit(NeedsTemplateTok); + end; + + procedure ProductPresentation(): Code[10] + begin + exit(PPresTemplateTok); + end; + + procedure Proposal(): Code[10] + begin + exit(ProposalTemplateTok); + end; + + procedure PresentationWorkshop(): Code[10] + begin + exit(PWorkTemplateTok); + end; + + procedure Qualification(): Code[10] + begin + exit(QualTok); + end; + + procedure SignContract(): Code[10] + begin + exit(SignTemplateTok); + end; + + procedure Workshop(): Code[10] + begin + exit(WorkshopTemplateTok); + end; + + var + CompanyPresentationTemplateTok: Label 'C-PRES', MaxLength = 10; + InitTemplateTok: Label 'INIT', MaxLength = 10; + NeedsTemplateTok: Label 'NEEDS', MaxLength = 10; + PPresTemplateTok: Label 'P-PRES', MaxLength = 10; + ProposalTemplateTok: Label 'PROPOSAL', MaxLength = 10; + PWorkTemplateTok: Label 'P-WORK', MaxLength = 10; + QualTok: Label 'QUAL', MaxLength = 10; + SignTemplateTok: Label 'SIGN', MaxLength = 10; + WorkshopTemplateTok: Label 'WORKSHOP', MaxLength = 10; + CompanyPresentationTasksLbl: Label 'Company Presentation tasks', MaxLength = 100; + InitialTasksLbl: Label 'Initial tasks', MaxLength = 100; + UnderstandingNeedsTasksLbl: Label 'Understanding needs tasks', MaxLength = 100; + ProductPresentationLbl: Label 'Product Presentation', MaxLength = 100; + ProposalTasksLbl: Label 'Proposal tasks', MaxLength = 100; + PresentationWorkshopLbl: Label 'Presentation/Workshop', MaxLength = 100; + QualificationTasksLbl: Label 'Qualification tasks', MaxLength = 100; + SignContractTasksLbl: Label 'Sign Contract tasks', MaxLength = 100; + WorkshopTasksLbl: Label 'Workshop tasks', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateActivityStep.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateActivityStep.Codeunit.al new file mode 100644 index 0000000000..096e51597f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateActivityStep.Codeunit.al @@ -0,0 +1,76 @@ +codeunit 5553 "Create Activity Step" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateActivity: Codeunit "Create Activity"; + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertActivityStep(CreateActivity.CompanyPresentation(), 10000, Enum::"Task Type"::" ", KeyPersonsPresentationLbl, 2, ''); + ContosoCRM.InsertActivityStep(CreateActivity.CompanyPresentation(), 20000, Enum::"Task Type"::" ", ShowroomAvailabilityLbl, 1, '<+1W>'); + ContosoCRM.InsertActivityStep(CreateActivity.CompanyPresentation(), 30000, Enum::"Task Type"::"Phone Call", CallCustomerLbl, 2, '<+1W>'); + ContosoCRM.InsertActivityStep(CreateActivity.CompanyPresentation(), 40000, Enum::"Task Type"::" ", BookShowroomLbl, 1, '<+1W>'); + ContosoCRM.InsertActivityStep(CreateActivity.CompanyPresentation(), 50000, Enum::"Task Type"::" ", TailorPresentationLbl, 2, '<+2W>'); + ContosoCRM.InsertActivityStep(CreateActivity.Initial(), 5000, Enum::"Task Type"::" ", VerifyQualityLbl, 2, ''); + ContosoCRM.InsertActivityStep(CreateActivity.Initial(), 10000, Enum::"Task Type"::" ", IdentifyKeyPersonsLbl, 1, '<+1W>'); + ContosoCRM.InsertActivityStep(CreateActivity.UnderstandingNeeds(), 10000, Enum::"Task Type"::" ", EstCustomerNeedsLbl, 0, ''); + ContosoCRM.InsertActivityStep(CreateActivity.UnderstandingNeeds(), 20000, Enum::"Task Type"::"Phone Call", SetUpMeetingLbl, 1, '<+3D>'); + ContosoCRM.InsertActivityStep(CreateActivity.UnderstandingNeeds(), 25000, Enum::"Task Type"::Meeting, ExpectationsAndNeedsLbl, 2, '<+2W>'); + ContosoCRM.InsertActivityStep(CreateActivity.UnderstandingNeeds(), 30000, Enum::"Task Type"::" ", VerifyChangeCustomerNeedsLbl, 1, '<+3W>'); + ContosoCRM.InsertActivityStep(CreateActivity.ProductPresentation(), 10000, Enum::"Task Type"::"Phone Call", AppointmentForProdPresentationLbl, 1, ''); + ContosoCRM.InsertActivityStep(CreateActivity.ProductPresentation(), 20000, Enum::"Task Type"::" ", ConfirmProdPresentationWritingLbl, 2, '<+2D>'); + ContosoCRM.InsertActivityStep(CreateActivity.ProductPresentation(), 30000, Enum::"Task Type"::" ", BookNecessaryEquipmentLbl, 1, '<+2D>'); + ContosoCRM.InsertActivityStep(CreateActivity.Proposal(), 10000, Enum::"Task Type"::" ", DraftAProposalLbl, 2, ''); + ContosoCRM.InsertActivityStep(CreateActivity.Proposal(), 20000, Enum::"Task Type"::" ", InternalApprovementOfProposalLbl, 2, '<+3D>'); + ContosoCRM.InsertActivityStep(CreateActivity.Proposal(), 30000, Enum::"Task Type"::"Phone Call", ArrangeDateForThePresentationLbl, 2, '<+1W>'); + ContosoCRM.InsertActivityStep(CreateActivity.Proposal(), 40000, Enum::"Task Type"::Meeting, PresentTheProposalLbl, 2, '<+2W>'); + ContosoCRM.InsertActivityStep(CreateActivity.PresentationWorkshop(), 10000, Enum::"Task Type"::"Phone Call", AppointmentForProductWorkshopLbl, 1, ''); + ContosoCRM.InsertActivityStep(CreateActivity.PresentationWorkshop(), 20000, Enum::"Task Type"::" ", ConfirmProdWorkshopWritingLbl, 0, '<+3D>'); + ContosoCRM.InsertActivityStep(CreateActivity.PresentationWorkshop(), 30000, Enum::"Task Type"::" ", BookNecessaryEquipmentLbl, 0, '<+3D>'); + ContosoCRM.InsertActivityStep(CreateActivity.PresentationWorkshop(), 40000, Enum::"Task Type"::" ", AvailabilityInternalResLbl, 1, '<+3D>'); + ContosoCRM.InsertActivityStep(CreateActivity.Qualification(), 10000, Enum::"Task Type"::" ", EstCustomerNeedsLbl, 1, ''); + ContosoCRM.InsertActivityStep(CreateActivity.Qualification(), 20000, Enum::"Task Type"::" ", SendLetterOfIntroductionLbl, 1, '<+1W>'); + ContosoCRM.InsertActivityStep(CreateActivity.Qualification(), 30000, Enum::"Task Type"::"Phone Call", FollowUpOnIntroductionLetterLbl, 2, '<+2W>'); + ContosoCRM.InsertActivityStep(CreateActivity.Qualification(), 40000, Enum::"Task Type"::" ", VerifyChangeCustomerNeedsLbl, 2, '<+2W+1D>'); + ContosoCRM.InsertActivityStep(CreateActivity.SignContract(), 10000, Enum::"Task Type"::" ", CheckDeliveryStatusOnProductsLbl, 0, ''); + ContosoCRM.InsertActivityStep(CreateActivity.SignContract(), 20000, Enum::"Task Type"::Meeting, SignContractLbl, 2, '<+1W>'); + ContosoCRM.InsertActivityStep(CreateActivity.SignContract(), 30000, Enum::"Task Type"::" ", AdminHandlesContractLbl, 1, '<+2W>'); + ContosoCRM.InsertActivityStep(CreateActivity.SignContract(), 40000, Enum::"Task Type"::" ", FollowUpOnCustomerSatisfactionLbl, 1, '<+6M>'); + ContosoCRM.InsertActivityStep(CreateActivity.Workshop(), 10000, Enum::"Task Type"::"Phone Call", AppointmentForWorkshopLbl, 1, ''); + ContosoCRM.InsertActivityStep(CreateActivity.Workshop(), 20000, Enum::"Task Type"::" ", ConfirmWorkshopInWritingLbl, 2, '<+3D>'); + ContosoCRM.InsertActivityStep(CreateActivity.Workshop(), 30000, Enum::"Task Type"::" ", AvailabilityInternalResLbl, 2, '<+3D>'); + end; + + var + KeyPersonsPresentationLbl: Label 'Invite key persons to presentation', MaxLength = 100; + ShowroomAvailabilityLbl: Label 'Check dates for showroom availability', MaxLength = 100; + CallCustomerLbl: Label 'Call customer to confirm date', MaxLength = 100; + BookShowroomLbl: Label 'Book showroom ect.', MaxLength = 100; + TailorPresentationLbl: Label 'Tailor presentation to customer', MaxLength = 100; + VerifyQualityLbl: Label 'Verify quality of opportunity', MaxLength = 100; + IdentifyKeyPersonsLbl: Label 'Identify key persons', MaxLength = 100; + EstCustomerNeedsLbl: Label 'Est. customer needs', MaxLength = 100; + SetUpMeetingLbl: Label 'Set up meeting', MaxLength = 100; + ExpectationsAndNeedsLbl: Label 'Go through expectations and needs', MaxLength = 100; + VerifyChangeCustomerNeedsLbl: Label 'Verify/change customer needs', MaxLength = 100; + AppointmentForProdPresentationLbl: Label 'Make appointment for product presentation', MaxLength = 100; + ConfirmProdPresentationWritingLbl: Label 'Confirm product presentation in writing', MaxLength = 100; + BookNecessaryEquipmentLbl: Label 'Book necessary equipment', MaxLength = 100; + DraftAProposalLbl: Label 'Draft a proposal', MaxLength = 100; + InternalApprovementOfProposalLbl: Label 'Internal approvement of proposal', MaxLength = 100; + ArrangeDateForThePresentationLbl: Label 'Arrange date for the presentation of the proposal', MaxLength = 100; + PresentTheProposalLbl: Label 'Present the proposal and set date for follow-up', MaxLength = 100; + AppointmentForProductWorkshopLbl: Label 'Make appointment for product presentation/workshop', MaxLength = 100; + ConfirmProdWorkshopWritingLbl: Label 'Confirm product presentation/workshop in writing', MaxLength = 100; + AvailabilityInternalResLbl: Label 'Ensure availability of internal resources', MaxLength = 100; + SendLetterOfIntroductionLbl: Label 'Send letter of introduction', MaxLength = 100; + FollowUpOnIntroductionLetterLbl: Label 'Follow-up on introduction letter', MaxLength = 100; + CheckDeliveryStatusOnProductsLbl: Label 'Check delivery status on products', MaxLength = 100; + SignContractLbl: Label 'Sign Contract', MaxLength = 100; + AdminHandlesContractLbl: Label 'Arrange that the admin. handles the contract', MaxLength = 100; + FollowUpOnCustomerSatisfactionLbl: Label 'Follow-up on customer satisfaction', MaxLength = 100; + AppointmentForWorkshopLbl: Label 'Make appointment for workshop', MaxLength = 100; + ConfirmWorkshopInWritingLbl: Label 'Confirm workshop in writing', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCRMDimensionValue.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCRMDimensionValue.Codeunit.al new file mode 100644 index 0000000000..c5d9becba3 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCRMDimensionValue.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 5294 "Create CRM Dimension Value" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateDimensionValue(); + CreateDefaultDimension(); + end; + + local procedure CreateDimensionValue() + var + CreateCRMDimension: Codeunit "Create CRM Dimension"; + CreateEmployee: Codeunit "Create Employee"; + SalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + ContosoDimension: Codeunit "Contoso Dimension"; + DimensionValueIndent: Codeunit "Dimension Value-Indent"; + begin + ContosoDimension.InsertDimensionValue(CreateCRMDimension.Purchaser(), CreateEmployee.ProductionAssistant(), 'Marty Horst', 0, ''); + ContosoDimension.InsertDimensionValue(CreateCRMDimension.Purchaser(), SalespersonPurchaser.RobinBettencourt(), 'Robin Bettencourt', 0, ''); + ContosoDimension.InsertDimensionValue(CreateCRMDimension.Purchaser(), CreateEmployee.InventoryManager(), 'Terry Dodds', 0, ''); + + ContosoDimension.InsertDimensionValue(CreateCRMDimension.SalesPerson(), SalespersonPurchaser.JimOlive(), 'Jim Olive', 0, ''); + ContosoDimension.InsertDimensionValue(CreateCRMDimension.SalesPerson(), SalespersonPurchaser.LinaTownsend(), 'Lina Townsend', 0, ''); + ContosoDimension.InsertDimensionValue(CreateCRMDimension.SalesPerson(), SalespersonPurchaser.OtisFalls(), 'Otis Falls', 0, ''); + + DimensionValueIndent.Indent(); + end; + + local procedure CreateDefaultDimension() + var + ContosoDimension: Codeunit "Contoso Dimension"; + SalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + CreateCRMDimension: Codeunit "Create CRM Dimension"; + begin + ContosoDimension.InsertDefaultDimensionValue(Database::"Salesperson/Purchaser", SalespersonPurchaser.JimOlive(), CreateCRMDimension.SalesPerson(), SalespersonPurchaser.JimOlive(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + ContosoDimension.InsertDefaultDimensionValue(Database::"Salesperson/Purchaser", SalespersonPurchaser.LinaTownsend(), CreateCRMDimension.SalesPerson(), SalespersonPurchaser.LinaTownsend(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + ContosoDimension.InsertDefaultDimensionValue(Database::"Salesperson/Purchaser", SalespersonPurchaser.OtisFalls(), CreateCRMDimension.SalesPerson(), SalespersonPurchaser.OtisFalls(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + + ContosoDimension.InsertDefaultDimensionValue(Database::"Salesperson/Purchaser", SalespersonPurchaser.RobinBettencourt(), CreateCRMDimension.Purchaser(), SalespersonPurchaser.RobinBettencourt(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCampaign.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCampaign.Codeunit.al new file mode 100644 index 0000000000..f6fe05641a --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCampaign.Codeunit.al @@ -0,0 +1,41 @@ +codeunit 5442 "Create Campaign" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateNoSeries: Codeunit "Create No. Series"; + ContosoCRM: Codeunit "Contoso CRM"; + ContosoUtilities: Codeunit "Contoso Utilities"; + SalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + CreateCampaignStatus: Codeunit "Create Campaign Status"; + begin + ContosoCRM.InsertCampaign(IncreaseSale(), IncreaseSaleLbl, ContosoUtilities.AdjustDate(19020111D), ContosoUtilities.AdjustDate(19030401D), SalespersonPurchaser.HelenaRay(), CreateNoSeries.Campaign(), CreateCampaignStatus.Started()); + ContosoCRM.InsertCampaign(EventCampaign(), EventLbl, ContosoUtilities.AdjustDate(19030117D), ContosoUtilities.AdjustDate(19030120D), SalespersonPurchaser.BenjaminChiu(), CreateNoSeries.Campaign(), CreateCampaignStatus.Done()); + ContosoCRM.InsertCampaign(WorkingPlaceArrangement(), WorkingPlaceArrangementLbl, ContosoUtilities.AdjustDate(19030107D), ContosoUtilities.AdjustDate(19030401D), SalespersonPurchaser.OtisFalls(), CreateNoSeries.Campaign(), CreateCampaignStatus.Started()); + end; + + procedure IncreaseSale(): Code[20] + begin + exit(Campaign1001Tok); + end; + + procedure EventCampaign(): Code[20] + begin + exit(Campaign1002Tok); + end; + + procedure WorkingPlaceArrangement(): Code[20] + begin + exit(Campaign1003Tok); + end; + + var + Campaign1001Tok: Label 'CP1001', MaxLength = 20; + Campaign1002Tok: Label 'CP1002', MaxLength = 20; + Campaign1003Tok: Label 'CP1003', MaxLength = 20; + IncreaseSaleLbl: Label 'Increase sale', MaxLength = 100; + EventLbl: Label 'Event', MaxLength = 100; + WorkingPlaceArrangementLbl: Label 'Working place arrangement', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCloseOpportunityCode.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCloseOpportunityCode.Codeunit.al new file mode 100644 index 0000000000..5c063310cd --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateCloseOpportunityCode.Codeunit.al @@ -0,0 +1,158 @@ +codeunit 5485 "Create Close Opportunity Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CloseOpportunityCode: Record "Close Opportunity Code"; + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertCloseOpportunityCode(BusinessL(), InadequateKnowledgeOfCustLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(BusinessW(), KnowledgeOfCustBusinessLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(ConsultL(), IneffectiveConsultantLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(ConsultW(), CompetentConsultantLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(CP(), ClosedFromCommercePortalLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(PostpndL(), DealPostponedIndefinitelyLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(PresL(), IneffectivePresaleWorkLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(PresW(), StrongPresaleWorkLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(PriceL(), OurProductWasTooExpensiveLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(PriceW(), BestPriceLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(ProductL(), CustomerChoseAnotherProductLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(ProductW(), BestProductLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(RelationL(), PoorCustomerRelationsLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(RelationW(), GoodCustomerRelationsLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(SalesrepL(), AttitudeOfSalespersonLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(SalesrepW(), CompetentSalespersonLbl, CloseOpportunityCode.Type::Won); + ContosoCRM.InsertCloseOpportunityCode(TimewstL(), CustNotCommittedToDealLbl, CloseOpportunityCode.Type::Lost); + ContosoCRM.InsertCloseOpportunityCode(WalkedL(), WeWalkedLbl, CloseOpportunityCode.Type::Lost); + end; + + procedure BusinessL(): Code[10] + begin + exit(BusinessLTok); + end; + + procedure BusinessW(): Code[10] + begin + exit(BusinessWTok); + end; + + procedure ConsultL(): Code[10] + begin + exit(ConsultLTok); + end; + + procedure ConsultW(): Code[10] + begin + exit(ConsultWTok); + end; + + procedure CP(): Code[10] + begin + exit(CPTok); + end; + + procedure PostpndL(): Code[10] + begin + exit(PostpndLTok); + end; + + procedure PresL(): Code[10] + begin + exit(PresLTok); + end; + + procedure PresW(): Code[10] + begin + exit(PresWTok); + end; + + procedure PriceL(): Code[10] + begin + exit(PriceLTok); + end; + + procedure PriceW(): Code[10] + begin + exit(PriceWTok); + end; + + procedure ProductL(): Code[10] + begin + exit(ProductLTok); + end; + + procedure ProductW(): Code[10] + begin + exit(ProductWTok); + end; + + procedure RelationL(): Code[10] + begin + exit(RelationLTok); + end; + + procedure RelationW(): Code[10] + begin + exit(RelationWTok); + end; + + procedure SalesrepL(): Code[10] + begin + exit(SalesrepLTok); + end; + + procedure SalesrepW(): Code[10] + begin + exit(SalesrepWTok); + end; + + procedure TimewstL(): Code[10] + begin + exit(TimewstLTok); + end; + + procedure WalkedL(): Code[10] + begin + exit(WalkedLTok); + end; + + var + BusinessLTok: Label 'BUSINESS_L', MaxLength = 10; + BusinessWTok: Label 'BUSINESS_W', MaxLength = 10; + ConsultLTok: Label 'CONSULT_L', MaxLength = 10; + ConsultWTok: Label 'CONSULT_W', MaxLength = 10; + CpTok: Label 'CP', MaxLength = 10; + PostpndLTok: Label 'POSTPND_L', MaxLength = 10; + PresLTok: Label 'PRES_L', MaxLength = 10; + PresWTok: Label 'PRES_W', MaxLength = 10; + PriceLTok: Label 'PRICE_L', MaxLength = 10; + PriceWTok: Label 'PRICE_W', MaxLength = 10; + ProductLTok: Label 'PRODUCT_L', MaxLength = 10; + ProductWTok: Label 'PRODUCT_W', MaxLength = 10; + RelationLTok: Label 'RELATION_L', MaxLength = 10; + RelationWTok: Label 'RELATION_W', MaxLength = 10; + SalesrepLTok: Label 'SALESREP_L', MaxLength = 10; + SalesrepWTok: Label 'SALESREP_W', MaxLength = 10; + TimewstLTok: Label 'TIMEWST_L', MaxLength = 10; + WalkedLTok: Label 'WALKED_L', MaxLength = 10; + InadequateKnowledgeOfCustLbl: Label 'Inadequate knowledge of cust', MaxLength = 100; + KnowledgeOfCustBusinessLbl: Label 'Knowledge of cust. business', MaxLength = 100; + IneffectiveConsultantLbl: Label 'Ineffective consultant', MaxLength = 100; + CompetentConsultantLbl: Label 'Competent consultant', MaxLength = 100; + ClosedFromCommercePortalLbl: Label 'Closed from Commerce Portal', MaxLength = 100; + DealPostponedIndefinitelyLbl: Label 'Deal postponed indefinitely', MaxLength = 100; + IneffectivePresaleWorkLbl: Label 'Ineffective presale work', MaxLength = 100; + StrongPresaleWorkLbl: Label 'Strong presale work', MaxLength = 100; + OurProductWasTooExpensiveLbl: Label 'Our product was too expensive', MaxLength = 100; + BestPriceLbl: Label 'Best price', MaxLength = 100; + CustomerChoseAnotherProductLbl: Label 'Customer chose another product', MaxLength = 100; + BestProductLbl: Label 'Best product', MaxLength = 100; + PoorCustomerRelationsLbl: Label 'Poor customer relations', MaxLength = 100; + GoodCustomerRelationsLbl: Label 'Good customer relations', MaxLength = 100; + AttitudeOfSalespersonLbl: Label 'Attitude of salesperson', MaxLength = 100; + CompetentSalespersonLbl: Label 'Competent salesperson', MaxLength = 100; + CustNotCommittedToDealLbl: Label 'Cust. not committed to deal', MaxLength = 100; + WeWalkedLbl: Label 'We walked', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateIndustryGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateIndustryGroup.Codeunit.al new file mode 100644 index 0000000000..f70aa88950 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateIndustryGroup.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 5572 "Create Industry Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertIndustryGroup(Advert(), AdvertisingLbl); + ContosoCRM.InsertIndustryGroup(Lawyer(), LawyerOrAccountantLbl); + ContosoCRM.InsertIndustryGroup(Man(), ManufacturerLbl); + ContosoCRM.InsertIndustryGroup(Press(), TvStationRadioOrPressLbl); + ContosoCRM.InsertIndustryGroup(Ret(), RetailLbl); + ContosoCRM.InsertIndustryGroup(Whole(), WholesaleLbl); + end; + + procedure Advert(): Code[10] + begin + exit(AdvertTok); + end; + + procedure Lawyer(): Code[10] + begin + exit(LawyerTok); + end; + + procedure Man(): Code[10] + begin + exit(ManTok); + end; + + procedure Press(): Code[10] + begin + exit(PressTok); + end; + + procedure Ret(): Code[10] + begin + exit(RetTok); + end; + + procedure Whole(): Code[10] + begin + exit(WholeTok); + end; + + var + AdvertTok: Label 'ADVERT', MaxLength = 10; + LawyerTok: Label 'LAWYER', MaxLength = 10; + ManTok: Label 'MAN', MaxLength = 10; + PressTok: Label 'PRESS', MaxLength = 10; + RetTok: Label 'RET', MaxLength = 10; + WholeTok: Label 'WHOLE', MaxLength = 10; + AdvertisingLbl: Label 'Advertising', MaxLength = 100; + LawyerOrAccountantLbl: Label 'Lawyer or Accountant', MaxLength = 100; + ManufacturerLbl: Label 'Manufacturer', MaxLength = 100; + TvStationRadioOrPressLbl: Label 'TV-station, Radio or Press', MaxLength = 100; + RetailLbl: Label 'Retail', MaxLength = 100; + WholesaleLbl: Label 'Wholesale', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateJobResponsibility.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateJobResponsibility.Codeunit.al new file mode 100644 index 0000000000..9247f0f96f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateJobResponsibility.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 5486 "Create Job Responsibility" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertJobResponsibility(AccPayable(), AccountsPayableResponsibleLbl); + ContosoCRM.InsertJobResponsibility(AccReceivable(), AccsReceivableResponsibleLbl); + ContosoCRM.InsertJobResponsibility(Marketing(), MarketingResponsibleLbl); + ContosoCRM.InsertJobResponsibility(Purchase(), PurchaseResponsibleLbl); + ContosoCRM.InsertJobResponsibility(Sale(), SalesResponsibleLbl); + end; + + procedure AccPayable(): Code[10] + begin + exit(AccPayableTok); + end; + + procedure AccReceivable(): Code[10] + begin + exit(AccReceivableTok); + end; + + procedure Marketing(): Code[10] + begin + exit(MarketingTok); + end; + + procedure Purchase(): Code[10] + begin + exit(PurchaseTok); + end; + + procedure Sale(): Code[10] + begin + exit(SaleTok); + end; + + var + AccPayableTok: Label 'APR', MaxLength = 10; + AccReceivableTok: Label 'ARR', MaxLength = 10; + MarketingTok: Label 'MARKETING', MaxLength = 10; + PurchaseTok: Label 'PURCHASE', MaxLength = 10; + SaleTok: Label 'SALE', MaxLength = 10; + AccountsPayableResponsibleLbl: Label 'Accounts Payable Responsible', MaxLength = 100; + AccsReceivableResponsibleLbl: Label 'Accs. Receivable Responsible', MaxLength = 100; + MarketingResponsibleLbl: Label 'Marketing Responsible', MaxLength = 100; + PurchaseResponsibleLbl: Label 'Purchase Responsible', MaxLength = 100; + SalesResponsibleLbl: Label 'Sales Responsible', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateMailingGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateMailingGroup.Codeunit.al new file mode 100644 index 0000000000..d09266a2a3 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateMailingGroup.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 5591 "Create Mailing Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertMailingGroup(Card(), XMasCardLbl); + ContosoCRM.InsertMailingGroup(Gift(), XMasGiftLbl); + end; + + procedure Card(): Code[10] + begin + exit(CardTok); + end; + + procedure Gift(): Code[10] + begin + exit(GiftTok); + end; + + var + CardTok: Label 'X-CARD', MaxLength = 10; + GiftTok: Label 'X-GIFT', MaxLength = 10; + XMasCardLbl: Label 'X-mas card', MaxLength = 100; + XMasGiftLbl: Label 'X-mas gift', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalesCycleStage.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalesCycleStage.Codeunit.al new file mode 100644 index 0000000000..ddc9ae6612 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalesCycleStage.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 5677 "Create Sales Cycle Stage" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateSalesCycle: Codeunit "Create Sales Cycle"; + CreateActivity: Codeunit "Create Activity"; + begin + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.ExistingSalesCycle(), 1, InitialLbl, 2, CreateActivity.Initial(), false, true, 10); + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.ExistingSalesCycle(), 2, PresentationLbl, 50, CreateActivity.PresentationWorkshop(), false, true, 40); + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.ExistingSalesCycle(), 3, ProposalLbl, 80, CreateActivity.Proposal(), true, false, 80); + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.ExistingSalesCycle(), 4, SignContractLbl, 95, CreateActivity.SignContract(), true, false, 100); + + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.NewSalesCycle(), 1, InitialLbl, 2, CreateActivity.Initial(), false, false, 10); + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.NewSalesCycle(), 2, QualificationLbl, 5, CreateActivity.Qualification(), false, false, 20); + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.NewSalesCycle(), 3, PresentationLbl, 40, CreateActivity.PresentationWorkshop(), true, true, 50); + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.NewSalesCycle(), 4, ProposalLbl, 60, CreateActivity.Proposal(), true, false, 75); + ContosoCRM.InsertSalesCycleStage(CreateSalesCycle.NewSalesCycle(), 5, SignContractLbl, 95, CreateActivity.SignContract(), true, false, 100); + end; + + var + InitialLbl: Label 'Initial', MaxLength = 100; + PresentationLbl: Label 'Presentation', MaxLength = 100; + ProposalLbl: Label 'Proposal', MaxLength = 100; + SignContractLbl: Label 'Sign Contract', MaxLength = 100; + QualificationLbl: Label 'Qualification', MaxLength = 100; + +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalespersonPurchaser.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalespersonPurchaser.Codeunit.al new file mode 100644 index 0000000000..f4e1ddade6 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalespersonPurchaser.Codeunit.al @@ -0,0 +1,70 @@ +codeunit 5416 "Create Salesperson/Purchaser" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + ContosoUtilities: Codeunit "Contoso Utilities"; + begin + ContosoCRM.InsertSalespersonPurchaser(BenjaminChiu(), BenjaminChiuLbl, 0, ContosoUtilities.EmptyPicture(), 'BC@contoso.com'); + ContosoCRM.InsertSalespersonPurchaser(EsterHenderson(), EsterHendersonLbl, 0, ContosoUtilities.EmptyPicture(), 'EH@contoso.com'); + ContosoCRM.InsertSalespersonPurchaser(HelenaRay(), HelenaRayLbl, 0, ContosoUtilities.EmptyPicture(), 'HR@contoso.com'); + ContosoCRM.InsertSalespersonPurchaser(JimOlive(), JimOliveLbl, 5, ContosoUtilities.EmptyPicture(), 'JO@contoso.com'); + ContosoCRM.InsertSalespersonPurchaser(LinaTownsend(), LinaTownsendLbl, 5, ContosoUtilities.EmptyPicture(), 'LT@contoso.com'); + ContosoCRM.InsertSalespersonPurchaser(OtisFalls(), OtisFallsLbl, 5, ContosoUtilities.EmptyPicture(), 'OF@contoso.com'); + ContosoCRM.InsertSalespersonPurchaser(RobinBettencourt(), RobinBettencourtLbl, 0, ContosoUtilities.EmptyPicture(), 'RB@contoso.com'); + end; + + procedure BenjaminChiu(): Code[20] + begin + exit(BenjaminChiuTok); + end; + + procedure EsterHenderson(): Code[20] + begin + exit(EsterHendersonTok); + end; + + procedure HelenaRay(): Code[20] + begin + exit(HelenaRayTok); + end; + + procedure JimOlive(): Code[20] + begin + exit(JimOliveTok); + end; + + procedure LinaTownsend(): Code[20] + begin + exit(LinaTownsendTok); + end; + + procedure OtisFalls(): Code[20] + begin + exit(OtisFallsTok); + end; + + procedure RobinBettencourt(): Code[20] + begin + exit(RobinBettencourtTok); + end; + + var + BenjaminChiuTok: Label 'BC', MaxLength = 20; + EsterHendersonTok: Label 'EH', MaxLength = 20; + HelenaRayTok: Label 'HR', MaxLength = 20; + JimOliveTok: Label 'JO', MaxLength = 20; + LinaTownsendTok: Label 'LT', MaxLength = 20; + OtisFallsTok: Label 'OF', MaxLength = 20; + RobinBettencourtTok: Label 'RB', MaxLength = 20; + BenjaminChiuLbl: Label 'Benjamin Chiu', MaxLength = 50; + EsterHendersonLbl: Label 'Ester Henderson', MaxLength = 50; + HelenaRayLbl: Label 'Helena Ray', MaxLength = 50; + JimOliveLbl: Label 'Jim Olive', MaxLength = 50; + LinaTownsendLbl: Label 'Lina Townsend', MaxLength = 50; + OtisFallsLbl: Label 'Otis Falls', MaxLength = 50; + RobinBettencourtLbl: Label 'Robin Bettencourt', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalutationFormula.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalutationFormula.Codeunit.al new file mode 100644 index 0000000000..4b5c94386a --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateSalutationFormula.Codeunit.al @@ -0,0 +1,140 @@ +codeunit 5682 "Create Salutation Formula" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateSalutations: Codeunit "Create Salutations"; + ContosoCRM: Codeunit "Contoso CRM"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), '', Enum::"Salutation Formula Salutation Type"::Formal, DearSirsLbl, Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), '', Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Formal, TilRetteVedkommendeLbl, Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Formal, SehrGeehrteDamenUndHerrenLbl, Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Formal, DearSirsLbl, Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Formal, EstimadoSeñorOLaSeñoraLbl, Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Formal, CherMonsieurOuMadameLbl, Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Formal, SpettabileDittaLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Company(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"Company Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), '', Enum::"Salutation Formula Salutation Type"::Formal, DearMsLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), '', Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Formal, KæreFrLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Informal, HejLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Formal, SehrGeehrteFrauLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Informal, HalloLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Formal, DearMsLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Formal, EstimadaSeñoraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Informal, EstimadaSeñoraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Formal, ChèreMadameLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Formal, GentileSignoraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Female(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Informal, CaraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), '', Enum::"Salutation Formula Salutation Type"::Formal, DearMsLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), '', Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Formal, KæreFruLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Informal, HejLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Formal, SehrGeehrteFrauLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Informal, HalloLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Formal, DearMsLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Formal, EstimadaSeñoraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Informal, EstimadaSeñoraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Formal, ChèreMadameLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Formal, GentileSignora2Lbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Surname", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleMarried(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Informal, CaraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), '', Enum::"Salutation Formula Salutation Type"::Formal, DearMsLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), '', Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Formal, KæreFrkLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Informal, HejLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Formal, SehrGeehrteFrauLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Informal, HalloLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Formal, DearMsLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Formal, EstimadaSeñoraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Informal, EstimadaSeñoraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Formal, ChèreMadameLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Formal, GentileSignorinaLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Surname", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.FemaleUnMarried(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Informal, CaraLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), '', Enum::"Salutation Formula Salutation Type"::Formal, DearMrLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), '', Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Formal, KæreHrLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Informal, HejLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Formal, SehrGeehrterHerrLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Informal, HalloLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Formal, DearMrLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Formal, EstimadoSeñorLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Informal, EstimadoSeñorLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Formal, ChèreMonsieurLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Formal, GentileSignorLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Male(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Informal, CaroLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), '', Enum::"Salutation Formula Salutation Type"::Formal, DearLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), '', Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Formal, KæreLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.DAN(), Enum::"Salutation Formula Salutation Type"::Informal, HejLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Formal, SehrGeehrteRLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.DEU(), Enum::"Salutation Formula Salutation Type"::Informal, HalloLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Formal, DearLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.ENU(), Enum::"Salutation Formula Salutation Type"::Informal, HiLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Formal, EstimadoALbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.ESP(), Enum::"Salutation Formula Salutation Type"::Informal, HolaLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Formal, ChèreLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.FRA(), Enum::"Salutation Formula Salutation Type"::Informal, BlankSalutationLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Formal, GentileLbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::"Middle Name", Enum::"Salutation Formula Name"::"Surname"); + ContosoCRM.InsertSalutationFormula(CreateSalutations.Unisex(), CreateLanguage.ITA(), Enum::"Salutation Formula Salutation Type"::Informal, CaroALbl, Enum::"Salutation Formula Name"::"First Name", Enum::"Salutation Formula Name"::" ", Enum::"Salutation Formula Name"::" "); + end; + + var + DearSirsLbl: Label 'Dear Sirs,', MaxLength = 50; + TilRetteVedkommendeLbl: Label 'Til rette vedkommende,', Locked = true; + SehrGeehrteDamenUndHerrenLbl: Label 'Sehr geehrte Damen und Herren,', Locked = true; + EstimadoSeñorOLaSeñoraLbl: Label 'Estimado Señor o la Señora,', Locked = true; + CherMonsieurOuMadameLbl: Label 'Cher Monsieur ou Madame,', Locked = true; + SpettabileDittaLbl: Label 'Spettabile Ditta %1,', Locked = true; + DearMsLbl: Label 'Dear Ms. %1 %2 %3,', Comment = '%1 is Name 1, %2 is Name2, %3 is Name3', MaxLength = 50; + HiLbl: Label 'Hi %1,', Comment = '%1 is Name 1', MaxLength = 50; + KæreFrLbl: Label 'Kære Fr. %1 %2 %3,', Locked = true; + HejLbl: Label 'Hej %1,', Locked = true; + SehrGeehrteFrauLbl: Label 'Sehr geehrte Frau %1 %2 %3,', Locked = true; + HalloLbl: Label 'Hallo %1,', Comment = '%1 is Name 1', MaxLength = 50; + EstimadaSeñoraLbl: Label 'Estimada Señora %1 %2 %3,', Locked = true; + ChèreMadameLbl: Label 'Chère Madame %1 %2 %3,', Locked = true; + CaraLbl: Label 'Cara %1,', Locked = true; + KæreFruLbl: Label 'Kære Fru. %1 %2 %3,', Locked = true; + GentileSignoraLbl: Label 'Gentile Signora %1,', Locked = true; + GentileSignora2Lbl: Label 'Gentile Signora %1 %2,', Locked = true; + KæreFrkLbl: Label 'Kære Frk. %1 %2 %3,', Locked = true; + GentileSignorinaLbl: Label 'Gentile Signorina %1 %2,', Locked = true; + DearMrLbl: Label 'Dear Mr. %1 %2 %3,', Comment = '%1 is Name 1, %2 is Name2, %3 is Name3', MaxLength = 50; + KæreHrLbl: Label 'Kære Hr. %1 %2 %3,', Locked = true; + SehrGeehrterHerrLbl: Label 'Sehr geehrter Herr %1 %2 %3,', Locked = true; + EstimadoSeñorLbl: Label 'Estimado Señor %1 %2 %3,', Locked = true; + ChèreMonsieurLbl: Label 'Chère Monsieur %1 %2 %3,', Locked = true; + GentileSignorLbl: Label 'Gentile Signor %1,', Locked = true; + CaroLbl: Label 'Caro %1,', Locked = true; + DearLbl: Label 'Dear %1 %2 %3,', Comment = '%1 is Name 1, %2 is Name2, %3 is Name3', MaxLength = 50; + KæreLbl: Label 'Kære %1 %2 %3,', Locked = true; + SehrGeehrteRLbl: Label 'Sehr geehrte/r %1 %2 %3,', Locked = true; + EstimadoALbl: Label 'Estimado/a %1 %2 %3,', Locked = true; + HolaLbl: Label 'Hola %1,', Locked = true; + ChèreLbl: Label 'Chère %1 %2 %3,', Locked = true; + GentileLbl: Label 'Gentile %1 %2 %3,', Locked = true; + CaroALbl: Label 'Caro/a %1,', Locked = true; + BlankSalutationLbl: Label '%1,', Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateWebSource.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateWebSource.Codeunit.al new file mode 100644 index 0000000000..9923d04e70 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/2.Master Data/CreateWebSource.Codeunit.al @@ -0,0 +1,59 @@ +codeunit 5235 "Create Web Source" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertWebSource(Adatum(), AdatumDescriptionLbl, AdatumURLLbl); + ContosoCRM.InsertWebSource(Contoso(), ContosoDescriptionLbl, ContosoURLLbl); + ContosoCRM.InsertWebSource(Fabrikam(), FabrikamDescriptionLbl, FabrikamURLLbl); + ContosoCRM.InsertWebSource(Lucerne(), LucerneDescriptionLbl, LucerneURLLbl); + ContosoCRM.InsertWebSource(USStock(), USStockDescriptionLbl, USStockURLLbl); + end; + + procedure Adatum(): Code[10] + begin + exit(AdatumTok); + end; + + procedure Contoso(): Code[10] + begin + exit(ContosoTok); + end; + + procedure Fabrikam(): Code[10] + begin + exit(FabrikamTok); + end; + + procedure Lucerne(): Code[10] + begin + exit(LucerneTok); + end; + + procedure USStock(): Code[10] + begin + exit(USStockTok); + end; + + + var + AdatumTok: Label 'ADATUM', MaxLength = 10; + ContosoTok: Label 'CONTOSO', MaxLength = 10; + FabrikamTok: Label 'FABRIKAM', MaxLength = 10; + LucerneTok: Label 'LUCERNE', MaxLength = 10; + USStockTok: Label 'US-STOCK', MaxLength = 10; + AdatumDescriptionLbl: Label 'Adatum', MaxLength = 100; + ContosoDescriptionLbl: Label 'Contoso, Ltd.', MaxLength = 100; + FabrikamDescriptionLbl: Label '​Fabrikam, Inc.', MaxLength = 100; + LucerneDescriptionLbl: Label 'Lucerne Publishing', MaxLength = 100; + USStockDescriptionLbl: Label 'Stock info by symbol', MaxLength = 100; + AdatumURLLbl: Label 'http://www.adatum.com/', MaxLength = 250, Locked = true; + ContosoURLLbl: Label 'http://www.contoso.com/', MaxLength = 250, Locked = true; + FabrikamURLLbl: Label 'http://www.fabrikam.com/', MaxLength = 250, Locked = true; + LucerneURLLbl: Label 'http://www.lucernepublishing.com/', MaxLength = 250, Locked = true; + USStockURLLbl: Label '​http://firstupconsultants.com', MaxLength = 250, Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateContJobResponsibility.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateContJobResponsibility.Codeunit.al new file mode 100644 index 0000000000..591e1ae0db --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateContJobResponsibility.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 5683 "Create Cont Job Responsibility" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure UpdateCustomerContactJobResposibility() + var + Customer: Record Customer; + Contact: Record Contact; + CreateJobResponsibility: Codeunit "Create Job Responsibility"; + ContosoCRM: Codeunit "Contoso CRM"; + begin + if Customer.FindSet() then + repeat + Contact.Get(Customer."Primary Contact No."); + ContosoCRM.InsertContactJobResponsibility(Contact."No.", CreateJobResponsibility.Purchase()); + until Customer.Next() = 0; + end; + + procedure UpdateVendorContactJobResposibility() + var + Vendor: Record Vendor; + Contact: Record Contact; + CreateJobResponsibility: Codeunit "Create Job Responsibility"; + ContosoCRM: Codeunit "Contoso CRM"; + begin + if Vendor.FindSet() then + repeat + Contact.Get(Vendor."Primary Contact No."); + ContosoCRM.InsertContactJobResponsibility(Contact."No.", CreateJobResponsibility.Sale()); + until Vendor.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateInteractionLogEntry.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateInteractionLogEntry.Codeunit.al new file mode 100644 index 0000000000..84ebb68341 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateInteractionLogEntry.Codeunit.al @@ -0,0 +1,91 @@ +codeunit 5679 "Create Interaction Log Entry" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateInteractionLogEntryForCustomer(); + CreateInteractionLogEntryForContact(); + CreateInteractionLogEntryForPurchaseHeader(); + CreateInteractionLogEntryForSalesHeader(); + end; + + + procedure CreateInteractionLogEntryForSalesHeader() + var + SalesHeader: Record "Sales Header"; + begin + SalesHeader.SetRange("Document Type", "Sales Document Type"::Order); + if SalesHeader.FindSet() then + repeat + SegManagement.LogDocument( + 3, SalesHeader."No.", 0, 0, Database::Customer, SalesHeader."Bill-to Customer No.", SalesHeader."Salesperson Code", + SalesHeader."Campaign No.", SalesHeader."Posting Description", ''); + InteractionLogEntry.FindLast(); + InteractionLogEntry.Date := SalesHeader."Posting Date"; + InteractionLogEntry.Modify(); + until SalesHeader.Next() = 0; + + SalesHeader.SetRange("Document Type", "Sales Document Type"::Quote); + if SalesHeader.FindSet() then + repeat + SegManagement.LogDocument( + 1, SalesHeader."No.", SalesHeader."Doc. No. Occurrence", SalesHeader."No. of Archived Versions", Database::Contact, SalesHeader."Bill-to Contact No.", + SalesHeader."Salesperson Code", SalesHeader."Campaign No.", SalesHeader."Posting Description", SalesHeader."Opportunity No."); + InteractionLogEntry.FindLast(); + InteractionLogEntry.Date := SalesHeader."Posting Date"; + InteractionLogEntry.Modify(); + until SalesHeader.Next() = 0; + end; + + procedure CreateInteractionLogEntryForPurchaseHeader() + var + PurchaseHeader: Record "Purchase Header"; + begin + PurchaseHeader.SetRange("Document Type", "Purchase Document Type"::Order); + if PurchaseHeader.FindSet() then + repeat + SegManagement.LogDocument( + 13, PurchaseHeader."No.", 0, 0, Database::Vendor, PurchaseHeader."Buy-from Vendor No.", PurchaseHeader."Purchaser Code", + PurchaseHeader."Campaign No.", PurchaseHeader."Posting Description", ''); + InteractionLogEntry.FindLast(); + InteractionLogEntry.Date := PurchaseHeader."Posting Date"; + InteractionLogEntry.Modify(); + until PurchaseHeader.Next() = 0; + end; + + local procedure CreateInteractionLogEntryForContact() + var + Contact: Record Contact; + begin + if Contact.FindSet() then + repeat + SegManagement.LogDocument(17, '', 0, 0, Database::Contact, Contact."No.", '', '', '', ''); + InteractionLogEntry.FindLast(); + InteractionLogEntry.Date := WorkDate(); + InteractionLogEntry.Modify(); + until Contact.Next() = 0; + end; + + local procedure CreateInteractionLogEntryForCustomer() + var + Customer: Record Customer; + begin + if Customer.FindSet() then + repeat + SegManagement.LogDocument( + 7, Format(Customer."Last Statement No."), 0, 0, Database::Customer, Customer."No.", + Customer."Salesperson Code", '', StatementLbl, ''); + InteractionLogEntry.FindLast(); + InteractionLogEntry.Date := WorkDate(); + InteractionLogEntry.Modify(); + until Customer.Next() = 0; + end; + + var + InteractionLogEntry: Record "Interaction Log Entry"; + SegManagement: Codeunit SegManagement; + StatementLbl: Label 'Statement '; +} + diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateOpportunity.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateOpportunity.Codeunit.al new file mode 100644 index 0000000000..bbcba7644f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateOpportunity.Codeunit.al @@ -0,0 +1,175 @@ +codeunit 5678 "Create Opportunity" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreateSalesCycle: Codeunit "Create Sales Cycle"; + CreateSalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + CreateCustomer: Codeunit "Create Customer"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateCloseOpportunityCode: Codeunit "Create Close Opportunity Code"; + begin + ContosoCRM.InsertOpportunity(OP100015(), AssemblingFurnitureLbl, CreateSalespersonPurchaser.JimOlive(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19030104D), Enum::"Opportunity Status"::Won, Enum::"Opportunity Priority"::Low, true, ContosoUtilities.AdjustDate(19030126D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100016(), AssemblingFurnitureLbl, CreateSalespersonPurchaser.JimOlive(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19030104D), Enum::"Opportunity Status"::Won, Enum::"Opportunity Priority"::Normal, true, ContosoUtilities.AdjustDate(19030121D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100017(), AssemblingFurnitureLbl, CreateSalespersonPurchaser.OtisFalls(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19030106D), Enum::"Opportunity Status"::Won, Enum::"Opportunity Priority"::Normal, true, ContosoUtilities.AdjustDate(19030120D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100018(), FurnitureToSalesDepartmentLbl, CreateSalespersonPurchaser.JimOlive(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 0), CreateSalesCycle.NewSalesCycle(), ContosoUtilities.AdjustDate(19030106D), Enum::"Opportunity Status"::Won, Enum::"Opportunity Priority"::Low, true, ContosoUtilities.AdjustDate(19030120D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100019(), FurnitureForConferenceLbl, CreateSalespersonPurchaser.JimOlive(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19030101D), Enum::"Opportunity Status"::Won, Enum::"Opportunity Priority"::Normal, true, ContosoUtilities.AdjustDate(19030111D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100022(), StorageFacilitiesLbl, CreateSalespersonPurchaser.BenjaminChiu(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19030121D), Enum::"Opportunity Status"::"In Progress", Enum::"Opportunity Priority"::Normal, false, 0D, CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100023(), SwivelChairLbl, CreateSalespersonPurchaser.BenjaminChiu(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19021111D), Enum::"Opportunity Status"::"In Progress", Enum::"Opportunity Priority"::Normal, false, 0D, CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100024(), TableLightingLbl, CreateSalespersonPurchaser.HelenaRay(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19021214D), Enum::"Opportunity Status"::"In Progress", Enum::"Opportunity Priority"::Normal, false, 0D, CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100025(), GuestChairsForReceptionLbl, CreateSalespersonPurchaser.HelenaRay(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19030124D), Enum::"Opportunity Status"::"In Progress", Enum::"Opportunity Priority"::Low, false, 0D, CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100026(), StorageSystemLbl, CreateSalespersonPurchaser.HelenaRay(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19021126D), Enum::"Opportunity Status"::"In Progress", Enum::"Opportunity Priority"::High, false, 0D, CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100027(), DesksForServiceDepartmentLbl, CreateSalespersonPurchaser.JimOlive(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19021101D), Enum::"Opportunity Status"::"Not Started", Enum::"Opportunity Priority"::Normal, false, 0D, CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100037(), ConferenceTableLbl, CreateSalespersonPurchaser.OtisFalls(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 0), CreateSalesCycle.NewSalesCycle(), ContosoUtilities.AdjustDate(19020926D), Enum::"Opportunity Status"::Lost, Enum::"Opportunity Priority"::Normal, true, ContosoUtilities.AdjustDate(19021016D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100038(), NewOfficeSystemLbl, CreateSalespersonPurchaser.OtisFalls(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 0), CreateSalesCycle.NewSalesCycle(), ContosoUtilities.AdjustDate(19020922D), Enum::"Opportunity Status"::Lost, Enum::"Opportunity Priority"::High, true, ContosoUtilities.AdjustDate(19021003D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100039(), CompleteStorageSystemLbl, CreateSalespersonPurchaser.HelenaRay(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 0), CreateSalesCycle.NewSalesCycle(), ContosoUtilities.AdjustDate(19030105D), Enum::"Opportunity Status"::Lost, Enum::"Opportunity Priority"::Normal, true, ContosoUtilities.AdjustDate(19030116D), CreateNoSeries.Opportunity()); + ContosoCRM.InsertOpportunity(OP100040(), ChairsBlueLbl, CreateSalespersonPurchaser.BenjaminChiu(), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 1), ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 0), CreateSalesCycle.ExistingSalesCycle(), ContosoUtilities.AdjustDate(19030109D), Enum::"Opportunity Status"::Lost, Enum::"Opportunity Priority"::High, true, ContosoUtilities.AdjustDate(19030124D), CreateNoSeries.Opportunity()); + + ContosoCRM.InsertOpportunityEntry(2, OP100015(), 1, ContosoUtilities.AdjustDate(19030119D), ContosoUtilities.AdjustDate(19030106D), false, ContosoUtilities.AdjustDate(0D), 0, 10000, 2, 10, '', 0); + ContosoCRM.InsertOpportunityEntry(3, OP100015(), 2, ContosoUtilities.AdjustDate(19030119D), ContosoUtilities.AdjustDate(19030107D), false, ContosoUtilities.AdjustDate(0D), 1, 10000, 50, 30, '', 1); + ContosoCRM.InsertOpportunityEntry(4, OP100015(), 3, ContosoUtilities.AdjustDate(19030119D), ContosoUtilities.AdjustDate(19030111D), false, ContosoUtilities.AdjustDate(0D), 1, 12000, 80, 55, '', 2); + ContosoCRM.InsertOpportunityEntry(5, OP100015(), 4, ContosoUtilities.AdjustDate(19030119D), ContosoUtilities.AdjustDate(19030113D), false, ContosoUtilities.AdjustDate(0D), 1, 9000, 95, 95, '', 3); + ContosoCRM.InsertOpportunityEntry(7, OP100015(), 0, ContosoUtilities.AdjustDate(19030126D), ContosoUtilities.AdjustDate(19030126D), true, ContosoUtilities.AdjustDate(19030126D), 5, 9000, 100, 100, CreateCloseOpportunityCode.BusinessW(), 4); + ContosoCRM.InsertOpportunityEntry(8, OP100016(), 1, ContosoUtilities.AdjustDate(19030121D), ContosoUtilities.AdjustDate(19030106D), false, ContosoUtilities.AdjustDate(0D), 0, 5000, 2, 20, '', 0); + ContosoCRM.InsertOpportunityEntry(9, OP100016(), 2, ContosoUtilities.AdjustDate(19030121D), ContosoUtilities.AdjustDate(19030108D), false, ContosoUtilities.AdjustDate(0D), 1, 5500, 50, 35, '', 1); + ContosoCRM.InsertOpportunityEntry(10, OP100016(), 3, ContosoUtilities.AdjustDate(19030121D), ContosoUtilities.AdjustDate(19030112D), false, ContosoUtilities.AdjustDate(0D), 1, 5500, 80, 65, '', 2); + ContosoCRM.InsertOpportunityEntry(11, OP100016(), 4, ContosoUtilities.AdjustDate(19030121D), ContosoUtilities.AdjustDate(19030117D), false, ContosoUtilities.AdjustDate(0D), 1, 5500, 95, 90, '', 3); + ContosoCRM.InsertOpportunityEntry(12, OP100016(), 0, ContosoUtilities.AdjustDate(19030121D), ContosoUtilities.AdjustDate(19030121D), true, ContosoUtilities.AdjustDate(19030121D), 5, 5500, 100, 100, CreateCloseOpportunityCode.ConsultW(), 4); + ContosoCRM.InsertOpportunityEntry(13, OP100017(), 1, ContosoUtilities.AdjustDate(19030117D), ContosoUtilities.AdjustDate(19030106D), false, ContosoUtilities.AdjustDate(0D), 0, 8000, 2, 25, '', 0); + ContosoCRM.InsertOpportunityEntry(14, OP100017(), 2, ContosoUtilities.AdjustDate(19030117D), ContosoUtilities.AdjustDate(19030111D), false, ContosoUtilities.AdjustDate(0D), 1, 7000, 50, 50, '', 1); + ContosoCRM.InsertOpportunityEntry(15, OP100017(), 3, ContosoUtilities.AdjustDate(19030117D), ContosoUtilities.AdjustDate(19030112D), false, ContosoUtilities.AdjustDate(0D), 1, 7000, 80, 65, '', 2); + ContosoCRM.InsertOpportunityEntry(16, OP100017(), 4, ContosoUtilities.AdjustDate(19030117D), ContosoUtilities.AdjustDate(19030114D), false, ContosoUtilities.AdjustDate(0D), 1, 6000, 95, 70, '', 3); + ContosoCRM.InsertOpportunityEntry(17, OP100017(), 0, ContosoUtilities.AdjustDate(19030120D), ContosoUtilities.AdjustDate(19030120D), true, ContosoUtilities.AdjustDate(19030120D), 5, 6000, 100, 100, CreateCloseOpportunityCode.RelationW(), 4); + ContosoCRM.InsertOpportunityEntry(18, OP100018(), 1, ContosoUtilities.AdjustDate(19030120D), ContosoUtilities.AdjustDate(19030109D), false, ContosoUtilities.AdjustDate(0D), 0, 25000, 2, 30, '', 0); + ContosoCRM.InsertOpportunityEntry(19, OP100018(), 2, ContosoUtilities.AdjustDate(19030120D), ContosoUtilities.AdjustDate(19030113D), false, ContosoUtilities.AdjustDate(0D), 1, 20000, 5, 50, '', 1); + ContosoCRM.InsertOpportunityEntry(20, OP100018(), 3, ContosoUtilities.AdjustDate(19030120D), ContosoUtilities.AdjustDate(19030114D), false, ContosoUtilities.AdjustDate(0D), 1, 21000, 40, 70, '', 2); + ContosoCRM.InsertOpportunityEntry(21, OP100018(), 4, ContosoUtilities.AdjustDate(19030120D), ContosoUtilities.AdjustDate(19030115D), false, ContosoUtilities.AdjustDate(0D), 1, 21000, 60, 95, '', 3); + ContosoCRM.InsertOpportunityEntry(23, OP100018(), 0, ContosoUtilities.AdjustDate(19030120D), ContosoUtilities.AdjustDate(19030120D), true, ContosoUtilities.AdjustDate(19030120D), 5, 21000, 100, 100, CreateCloseOpportunityCode.PriceW(), 4); + ContosoCRM.InsertOpportunityEntry(24, OP100019(), 1, ContosoUtilities.AdjustDate(19030111D), ContosoUtilities.AdjustDate(19030103D), false, ContosoUtilities.AdjustDate(0D), 0, 7500, 2, 25, '', 0); + ContosoCRM.InsertOpportunityEntry(25, OP100019(), 2, ContosoUtilities.AdjustDate(19030111D), ContosoUtilities.AdjustDate(19030105D), false, ContosoUtilities.AdjustDate(0D), 1, 8000, 50, 55, '', 1); + ContosoCRM.InsertOpportunityEntry(26, OP100019(), 3, ContosoUtilities.AdjustDate(19030111D), ContosoUtilities.AdjustDate(19030106D), false, ContosoUtilities.AdjustDate(0D), 1, 8000, 80, 80, '', 2); + ContosoCRM.InsertOpportunityEntry(27, OP100019(), 4, ContosoUtilities.AdjustDate(19030111D), ContosoUtilities.AdjustDate(19030107D), false, ContosoUtilities.AdjustDate(0D), 1, 8000, 95, 80, '', 3); + ContosoCRM.InsertOpportunityEntry(29, OP100019(), 0, ContosoUtilities.AdjustDate(19030111D), ContosoUtilities.AdjustDate(19030111D), true, ContosoUtilities.AdjustDate(19030111D), 5, 8000, 100, 100, CreateCloseOpportunityCode.ProductW(), 4); + ContosoCRM.InsertOpportunityEntry(41, OP100022(), 1, ContosoUtilities.AdjustDate(19030203D), ContosoUtilities.AdjustDate(19030124D), true, ContosoUtilities.AdjustDate(0D), 0, 5000, 2, 25, '', 0); + ContosoCRM.InsertOpportunityEntry(42, OP100023(), 1, ContosoUtilities.AdjustDate(19030216D), ContosoUtilities.AdjustDate(19021116D), true, ContosoUtilities.AdjustDate(0D), 0, 500, 2, 95, '', 0); + ContosoCRM.InsertOpportunityEntry(43, OP100024(), 1, ContosoUtilities.AdjustDate(19030321D), ContosoUtilities.AdjustDate(19021215D), true, ContosoUtilities.AdjustDate(0D), 0, 2000, 2, 30, '', 0); + ContosoCRM.InsertOpportunityEntry(44, OP100025(), 1, ContosoUtilities.AdjustDate(19030201D), ContosoUtilities.AdjustDate(19030126D), true, ContosoUtilities.AdjustDate(0D), 0, 10000, 2, 20, '', 0); + ContosoCRM.InsertOpportunityEntry(45, OP100026(), 1, ContosoUtilities.AdjustDate(19030304D), ContosoUtilities.AdjustDate(19021129D), true, ContosoUtilities.AdjustDate(0D), 0, 3000, 2, 10, '', 0); + ContosoCRM.InsertOpportunityEntry(62, OP100037(), 1, ContosoUtilities.AdjustDate(19021003D), ContosoUtilities.AdjustDate(19020928D), false, ContosoUtilities.AdjustDate(0D), 0, 450, 2, 10, '', 0); + ContosoCRM.InsertOpportunityEntry(63, OP100037(), 0, ContosoUtilities.AdjustDate(19021016D), ContosoUtilities.AdjustDate(19021016D), true, ContosoUtilities.AdjustDate(19021016D), 6, 450, 100, 0, CreateCloseOpportunityCode.BusinessL(), 1); + ContosoCRM.InsertOpportunityEntry(64, OP100038(), 0, ContosoUtilities.AdjustDate(19021003D), ContosoUtilities.AdjustDate(19021003D), true, ContosoUtilities.AdjustDate(19021003D), 6, 0, 100, 0, CreateCloseOpportunityCode.ConsultL(), 0); + ContosoCRM.InsertOpportunityEntry(65, OP100039(), 0, ContosoUtilities.AdjustDate(19030116D), ContosoUtilities.AdjustDate(19030116D), true, ContosoUtilities.AdjustDate(19030116D), 6, 0, 100, 0, CreateCloseOpportunityCode.RelationL(), 0); + ContosoCRM.InsertOpportunityEntry(66, OP100040(), 0, ContosoUtilities.AdjustDate(19030124D), ContosoUtilities.AdjustDate(19030124D), true, ContosoUtilities.AdjustDate(19030124D), 6, 0, 100, 0, CreateCloseOpportunityCode.PriceL(), 0); + + end; + + procedure OP100015(): Code[10] + begin + exit(OP100015Tok); + end; + + procedure OP100016(): Code[10] + begin + exit(OP100016Tok); + end; + + procedure OP100017(): Code[10] + begin + exit(OP100017Tok); + end; + + procedure OP100018(): Code[10] + begin + exit(OP100018Tok); + end; + + procedure OP100019(): Code[10] + begin + exit(OP100019Tok); + end; + + procedure OP100022(): Code[10] + begin + exit(OP100022Tok); + end; + + procedure OP100023(): Code[10] + begin + exit(OP100023Tok); + end; + + procedure OP100024(): Code[10] + begin + exit(OP100024Tok); + end; + + procedure OP100025(): Code[10] + begin + exit(OP100025Tok); + end; + + procedure OP100026(): Code[10] + begin + exit(OP100026Tok); + end; + + procedure OP100027(): Code[10] + begin + exit(OP100027Tok); + end; + + procedure OP100037(): Code[10] + begin + exit(OP100037Tok); + end; + + procedure OP100038(): Code[10] + begin + exit(OP100038Tok); + end; + + procedure OP100039(): Code[10] + begin + exit(OP100039Tok); + end; + + procedure OP100040(): Code[10] + begin + exit(OP100040Tok); + end; + + + var + OP100015Tok: Label 'OP100015', Locked = true; + OP100016Tok: Label 'OP100016', Locked = true; + OP100017Tok: Label 'OP100017', Locked = true; + OP100018Tok: Label 'OP100018', Locked = true; + OP100019Tok: Label 'OP100019', Locked = true; + OP100022Tok: Label 'OP100022', Locked = true; + OP100023Tok: Label 'OP100023', Locked = true; + OP100024Tok: Label 'OP100024', Locked = true; + OP100025Tok: Label 'OP100025', Locked = true; + OP100026Tok: Label 'OP100026', Locked = true; + OP100027Tok: Label 'OP100027', Locked = true; + OP100037Tok: Label 'OP100037', Locked = true; + OP100038Tok: Label 'OP100038', Locked = true; + OP100039Tok: Label 'OP100039', Locked = true; + OP100040Tok: Label 'OP100040', Locked = true; + AssemblingFurnitureLbl: Label 'Assembling furniture', MaxLength = 100; + FurnitureToSalesDepartmentLbl: Label 'Furniture to sales department', MaxLength = 100; + FurnitureForConferenceLbl: Label 'Furniture for the conference', MaxLength = 100; + StorageFacilitiesLbl: Label 'Storage facilities', MaxLength = 100; + SwivelChairLbl: Label 'Swivel chair', MaxLength = 100; + TableLightingLbl: Label 'Table lighting', MaxLength = 100; + StorageSystemLbl: Label 'Storage system', MaxLength = 100; + DesksForServiceDepartmentLbl: Label 'Desks for the service dept.', MaxLength = 100; + ConferenceTableLbl: Label 'Conference table', MaxLength = 100; + NewOfficeSystemLbl: Label 'New office system', MaxLength = 100; + CompleteStorageSystemLbl: Label 'Complete storage system', MaxLength = 100; + ChairsBlueLbl: Label '30 chairs, blue', MaxLength = 100; + GuestChairsForReceptionLbl: Label 'Guest chairs for the reception', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateProfileQuestionnaire.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateProfileQuestionnaire.Codeunit.al new file mode 100644 index 0000000000..04fdbd3c44 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateProfileQuestionnaire.Codeunit.al @@ -0,0 +1,158 @@ +codeunit 5681 "Create Profile Questionnaire" +{ + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateBusinessRelation: Codeunit "Create Business Relation"; + begin + ContosoCRM.InsertProfileQuestionnaireHeader(Company(), GeneralCompanyInformationLbl, Enum::"Profile Questionnaire Contact Type"::Companies, ''); + ContosoCRM.InsertProfileQuestionnaireHeader(Customer(), CustomerInformationLbl, Enum::"Profile Questionnaire Contact Type"::Companies, CreateBusinessRelation.CustBusinessRelation()); + ContosoCRM.InsertProfileQuestionnaireHeader(Person(), GeneralPersonalInformationLbl, Enum::"Profile Questionnaire Contact Type"::People, ''); + + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 10000, Enum::"Profile Questionnaire Line Type"::Question, NoOfEmployeesLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 20000, Enum::"Profile Questionnaire Line Type"::Answer, '1..99', false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 30000, Enum::"Profile Questionnaire Line Type"::Answer, '100..499', false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 40000, Enum::"Profile Questionnaire Line Type"::Answer, '500..999', false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 50000, Enum::"Profile Questionnaire Line Type"::Answer, '1000+', false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 60000, Enum::"Profile Questionnaire Line Type"::Question, CompanyOwnershipLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 70000, Enum::"Profile Questionnaire Line Type"::Answer, StockExchangeLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 80000, Enum::"Profile Questionnaire Line Type"::Answer, FamilyLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 90000, Enum::"Profile Questionnaire Line Type"::Answer, FoundationLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 100000, Enum::"Profile Questionnaire Line Type"::Answer, GovernmentLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 110000, Enum::"Profile Questionnaire Line Type"::Answer, InstitutionLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 120000, Enum::"Profile Questionnaire Line Type"::Question, AdditionalBusinessRelationsLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 130000, Enum::"Profile Questionnaire Line Type"::Answer, PartnerLbl, false, Enum::"Profile Answer Priority"::High, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Company(), 140000, Enum::"Profile Questionnaire Line Type"::Answer, CompetitorLbl, false, Enum::"Profile Answer Priority"::"Very High", false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 10000, Enum::"Profile Questionnaire Line Type"::Question, ProfitLCYlastyearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Profit (LCY)", '', '', 3, 1, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 20000, Enum::"Profile Questionnaire Line Type"::Answer, TopOfCustomersLbl, false, Enum::"Profile Answer Priority"::"Very Low (Hidden)", false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 25); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 25000, Enum::"Profile Questionnaire Line Type"::Answer, MiddleOfCustomersLbl, false, Enum::"Profile Answer Priority"::"Very Low (Hidden)", false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 26, 75); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 30000, Enum::"Profile Questionnaire Line Type"::Answer, BottomCustomersLbl, false, Enum::"Profile Answer Priority"::"Very Low (Hidden)", false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 76, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 40000, Enum::"Profile Questionnaire Line Type"::Question, ProfitLCYCurrentYearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Profit (LCY)", '', '', 3, 1, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 50000, Enum::"Profile Questionnaire Line Type"::Answer, TopOfCustomersLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 25); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 55000, Enum::"Profile Questionnaire Line Type"::Answer, MiddleOfCustomersLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 26, 75); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 60000, Enum::"Profile Questionnaire Line Type"::Answer, BottomCustomersLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 76, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 70000, Enum::"Profile Questionnaire Line Type"::Question, DiscountLastYearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Discount (%)", '', '', 1, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 80000, Enum::"Profile Questionnaire Line Type"::Answer, HighDiscountUsageLbl, false, Enum::"Profile Answer Priority"::High, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 5, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 85000, Enum::"Profile Questionnaire Line Type"::Answer, MediumDiscountUsageLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 2, 4); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 90000, Enum::"Profile Questionnaire Line Type"::Answer, LowDiscountUsageLbl, false, Enum::"Profile Answer Priority"::"Very High", false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 1); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 100000, Enum::"Profile Questionnaire Line Type"::Question, DiscountCurrentYearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Discount (%)", '', '', 1, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 110000, Enum::"Profile Questionnaire Line Type"::Answer, HighDiscountUsageLbl, false, Enum::"Profile Answer Priority"::High, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 5, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 115000, Enum::"Profile Questionnaire Line Type"::Answer, MediumDiscountUsageLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 2, 4); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 120000, Enum::"Profile Questionnaire Line Type"::Answer, LowDiscountUsageLbl, false, Enum::"Profile Answer Priority"::"Very High", false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 1); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 130000, Enum::"Profile Questionnaire Line Type"::Question, TurnoverLCYCurrentYearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Sales (LCY)", '', '', 1, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 140000, Enum::"Profile Questionnaire Line Type"::Answer, HighOverLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 4001, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 150000, Enum::"Profile Questionnaire Line Type"::Answer, MediumLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 1000, 4000); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 160000, Enum::"Profile Questionnaire Line Type"::Answer, LowBelowLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 999); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 170000, Enum::"Profile Questionnaire Line Type"::Question, TurnoverLCYLastYearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Sales (LCY)", '', '', 1, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 180000, Enum::"Profile Questionnaire Line Type"::Answer, HighOverLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 4001, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 190000, Enum::"Profile Questionnaire Line Type"::Answer, MediumLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 1000, 4000); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 200000, Enum::"Profile Questionnaire Line Type"::Answer, LowBelowLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 999); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 210000, Enum::"Profile Questionnaire Line Type"::Question, CustomerPurchaseFrequencyCurrentYearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Sales Frequency (Invoices/Year)", '', '', 1, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 220000, Enum::"Profile Questionnaire Line Type"::Answer, GreaterThanTimesAYearLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 6, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 230000, Enum::"Profile Questionnaire Line Type"::Answer, BetweenTimesAYearLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 3, 5); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 240000, Enum::"Profile Questionnaire Line Type"::Answer, LessThanTimesAYearLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 2); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 250000, Enum::"Profile Questionnaire Line Type"::Question, CustomerPurchaseFrequencyLastYearLbl, false, Enum::"Profile Answer Priority"::Normal, true, Enum::"Profile Quest. Cust. Class. Field"::"Sales Frequency (Invoices/Year)", '', '', 1, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 260000, Enum::"Profile Questionnaire Line Type"::Answer, GreaterThanTimesAYearLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 6, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 270000, Enum::"Profile Questionnaire Line Type"::Answer, BetweenTimesAYearLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 3, 5); + ContosoCRM.InsertProfileQuestionnaireLine(Customer(), 280000, Enum::"Profile Questionnaire Line Type"::Answer, LessThanTimesAYearLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 2); + + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 10000, Enum::"Profile Questionnaire Line Type"::Question, SexLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 20000, Enum::"Profile Questionnaire Line Type"::Answer, MaleLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 30000, Enum::"Profile Questionnaire Line Type"::Answer, FemaleLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 40000, Enum::"Profile Questionnaire Line Type"::Question, HobbiesLbl, true, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 50000, Enum::"Profile Questionnaire Line Type"::Answer, FootballLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 60000, Enum::"Profile Questionnaire Line Type"::Answer, GolfLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 70000, Enum::"Profile Questionnaire Line Type"::Answer, TennisLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 80000, Enum::"Profile Questionnaire Line Type"::Answer, HuntingLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 90000, Enum::"Profile Questionnaire Line Type"::Answer, OtherOutdoorLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 100000, Enum::"Profile Questionnaire Line Type"::Answer, TheaterLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 110000, Enum::"Profile Questionnaire Line Type"::Answer, LiteratureLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 120000, Enum::"Profile Questionnaire Line Type"::Answer, DesignLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 130000, Enum::"Profile Questionnaire Line Type"::Question, MaritalStatusLbl, true, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 140000, Enum::"Profile Questionnaire Line Type"::Answer, MarriedLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 150000, Enum::"Profile Questionnaire Line Type"::Answer, ChildrenLbl, false, Enum::"Profile Answer Priority"::Low, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 160000, Enum::"Profile Questionnaire Line Type"::Question, EducationalLevelLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 170000, Enum::"Profile Questionnaire Line Type"::Answer, MasterPhdLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 180000, Enum::"Profile Questionnaire Line Type"::Answer, BachelorLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 190000, Enum::"Profile Questionnaire Line Type"::Answer, SkilledLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 200000, Enum::"Profile Questionnaire Line Type"::Question, PersonalityLbl, true, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 210000, Enum::"Profile Questionnaire Line Type"::Answer, ExtrovertLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + ContosoCRM.InsertProfileQuestionnaireLine(Person(), 220000, Enum::"Profile Questionnaire Line Type"::Answer, AnalyticalLbl, false, Enum::"Profile Answer Priority"::Normal, false, Enum::"Profile Quest. Cust. Class. Field"::" ", '', '', 0, 0, 0, 0); + end; + + procedure Company(): Code[20] + begin + exit(CompanyTok); + end; + + procedure Customer(): Code[20] + begin + exit(CustomerTok); + end; + + procedure Person(): Code[20] + begin + exit(PersonTok); + end; + + + var + CompanyTok: Label 'COMPANY', MaxLength = 20; + GeneralCompanyInformationLbl: Label 'General company information', MaxLength = 250; + CustomerTok: Label 'CUSTOMER', MaxLength = 20; + CustomerInformationLbl: Label 'Customer information', MaxLength = 250; + PersonTok: Label 'PERSON', MaxLength = 20; + GeneralPersonalInformationLbl: Label 'General personal information', MaxLength = 250; + NoOfEmployeesLbl: Label 'No. of employees', MaxLength = 250; + CompanyOwnershipLbl: Label 'Company Ownership', MaxLength = 250; + StockExchangeLbl: Label 'Stock Exchange', MaxLength = 250; + FamilyLbl: Label 'Family', MaxLength = 250; + FoundationLbl: Label 'Foundation', MaxLength = 250; + GovernmentLbl: Label 'Government', MaxLength = 250; + InstitutionLbl: Label 'Institution', MaxLength = 250; + AdditionalBusinessRelationsLbl: Label 'Additional Business Relations', MaxLength = 250; + PartnerLbl: Label 'Partner', MaxLength = 250; + CompetitorLbl: Label 'Competitor', MaxLength = 250; + ProfitLCYlastyearLbl: Label 'Profit (LCY) last year', MaxLength = 250; + TopOfCustomersLbl: Label 'Top 25 % of Customers', MaxLength = 250; + MiddleOfCustomersLbl: Label 'Middle 50 % of Customers', MaxLength = 250; + BottomCustomersLbl: Label 'Bottom 25 % Customers', MaxLength = 250; + ProfitLCYCurrentYearLbl: Label 'Profit (LCY) Current Year', MaxLength = 250; + DiscountLastYearLbl: Label 'Discount (%) Last Year', MaxLength = 250; + HighDiscountUsageLbl: Label 'High discount usage', MaxLength = 250; + MediumDiscountUsageLbl: Label 'Medium discount usage', MaxLength = 250; + LowDiscountUsageLbl: Label 'Low discount usage', MaxLength = 250; + DiscountCurrentYearLbl: Label 'Discount (%) Current Year', MaxLength = 250; + TurnoverLCYCurrentYearLbl: Label 'Turnover (LCY), Current Year', MaxLength = 250; + HighOverLbl: Label 'High (over 4,000)', MaxLength = 250; + MediumLbl: Label 'Medium (1,000 - 4,000)', MaxLength = 250; + LowBelowLbl: Label 'low (below 1,000)', MaxLength = 250; + TurnoverLCYLastYearLbl: Label 'Turnover (LCY), Last Year', MaxLength = 250; + CustomerPurchaseFrequencyCurrentYearLbl: Label 'Customer Purchase Frequency, Current Year', MaxLength = 250; + GreaterThanTimesAYearLbl: Label '> 5 times a year', MaxLength = 250; + BetweenTimesAYearLbl: Label '3-5 times a year', MaxLength = 250; + LessThanTimesAYearLbl: Label '< 3 times a year', MaxLength = 250; + CustomerPurchaseFrequencyLastYearLbl: Label 'Customer Purchase Frequency, Last Year', MaxLength = 250; + SexLbl: Label 'Sex', MaxLength = 250; + MaleLbl: Label 'Male', MaxLength = 250; + FemaleLbl: Label 'Female', MaxLength = 250; + HobbiesLbl: Label 'Hobbies', MaxLength = 250; + FootballLbl: Label 'Football', MaxLength = 250; + GolfLbl: Label 'Golf', MaxLength = 250; + TennisLbl: Label 'Tennis', MaxLength = 250; + HuntingLbl: Label 'Hunting', MaxLength = 250; + OtherOutdoorLbl: Label 'Other outdoor', MaxLength = 250; + TheaterLbl: Label 'Theater', MaxLength = 250; + LiteratureLbl: Label 'Literature', MaxLength = 250; + DesignLbl: Label 'Design', MaxLength = 250; + MaritalStatusLbl: Label 'Marital Status', MaxLength = 250; + MarriedLbl: Label 'Married', MaxLength = 250; + ChildrenLbl: Label 'Children', MaxLength = 250; + EducationalLevelLbl: Label 'Educational level', MaxLength = 250; + MasterPhdLbl: Label 'Master/ Ph.d', MaxLength = 250; + BachelorLbl: Label 'Bachelor', MaxLength = 250; + SkilledLbl: Label 'Skilled', MaxLength = 250; + PersonalityLbl: Label 'Personality', MaxLength = 250; + ExtrovertLbl: Label 'Extrovert', MaxLength = 250; + AnalyticalLbl: Label 'Analytical', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateSegment.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateSegment.Codeunit.al new file mode 100644 index 0000000000..65c395abe8 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/3.Transactions/CreateSegment.Codeunit.al @@ -0,0 +1,64 @@ +codeunit 5676 "Create Segment" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + CreateSalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + CreateInteractionTemplate: Codeunit "Create Interaction Template"; + CreateInteractionGroup: Codeunit "Create Interaction Group"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCRM.InsertSegmentHeader(IncreaseSaleSegment(), IncreaseSaleSegmentLbl, CreateSalespersonPurchaser.HelenaRay(), Enum::"Correspondence Type"::"Hard Copy", CreateInteractionTemplate.Bus(), 8, 30, CreateInteractionGroup.Letter(), 1, 1, true); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 10000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 0)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 20000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 1)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 30000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 0)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 40000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 1)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 50000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 0)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 60000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 1)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 70000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 0)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 80000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 1)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 90000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 0)); + ContosoCRM.InsertSegmentLine(IncreaseSaleSegment(), 100000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 1)); + + ContosoCRM.InsertSegmentHeader(EventSegment(), EventSegmentLbl, CreateSalespersonPurchaser.BenjaminChiu(), Enum::"Correspondence Type"::Email, CreateInteractionTemplate.Golf(), 8, 1, CreateInteractionGroup.Letter(), 1, 1, true); + + ContosoCRM.InsertSegmentHeader(WorkingPlaceSegment(), WorkingPlaceSegmentLbl, CreateSalespersonPurchaser.OtisFalls(), Enum::"Correspondence Type"::"Hard Copy", CreateInteractionTemplate.Abstract(), 8, 90, CreateInteractionGroup.Letter(), 1, 0, true); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 10000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 0)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 20000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticAdatumCorporation(), 1)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 30000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 0)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 40000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.EUAlpineSkiHouse(), 1)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 50000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 0)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 60000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticRelecloud(), 1)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 70000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 0)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 80000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.ExportSchoolofArt(), 1)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 90000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 0)); + ContosoCRM.InsertSegmentLine(WorkingPlaceSegment(), 100000, ContosoCRM.FindContactNo(Enum::"Contact Business Relation Link To Table"::Customer, CreateCustomer.DomesticTreyResearch(), 1)); + + end; + + procedure IncreaseSaleSegment(): Code[20] + begin + exit(IncreaseSaleSegmentTok); + end; + + procedure EventSegment(): Code[20] + begin + exit(EventSegmentTok); + end; + + procedure WorkingPlaceSegment(): Code[20] + begin + exit(WorkingPlaceSegmentTok); + end; + + var + IncreaseSaleSegmentTok: Label 'SM10001', MaxLength = 20; + EventSegmentTok: Label 'SM10002', MaxLength = 20; + WorkingPlaceSegmentTok: Label 'SM10004', MaxLength = 20; + IncreaseSaleSegmentLbl: Label 'Increase sale', MaxLength = 100; + EventSegmentLbl: Label 'Event', MaxLength = 100; + WorkingPlaceSegmentLbl: Label 'Working place arrangement, Customer', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/CRMModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/CRMModule.Codeunit.al new file mode 100644 index 0000000000..c6e510c11c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/CRM/CRMModule.Codeunit.al @@ -0,0 +1,59 @@ +codeunit 5481 "CRM Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + exit; + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::Foundation); + end; + + procedure CreateSetupData() + begin + Codeunit.Run(Codeunit::"Create Dup. Search Str. Setup"); + Codeunit.Run(Codeunit::"Create Interaction Group"); + Codeunit.Run(Codeunit::"Create Interaction Template"); + Codeunit.Run(Codeunit::"Create Business Relation"); + Codeunit.Run(Codeunit::"Create Sales Cycle"); + Codeunit.Run(Codeunit::"Create Salutations"); + Codeunit.Run(Codeunit::"Create Marketing Setup"); + Codeunit.Run(Codeunit::"Create Word Template"); + Codeunit.Run(Codeunit::"Create CRM Dimension"); + Codeunit.Run(Codeunit::"Create Campaign Status"); + Codeunit.Run(Codeunit::"Create Organizational Level"); + Codeunit.Run(Codeunit::"Create Team"); + end; + + procedure CreateMasterData() + begin + Codeunit.Run(Codeunit::"Create Activity"); + Codeunit.Run(Codeunit::"Create Activity Step"); + Codeunit.Run(Codeunit::"Create Salesperson/Purchaser"); + Codeunit.Run(Codeunit::"Create Campaign"); + Codeunit.Run(Codeunit::"Create Close Opportunity Code"); + Codeunit.Run(Codeunit::"Create Industry Group"); + Codeunit.Run(Codeunit::"Create Job Responsibility"); + Codeunit.Run(Codeunit::"Create Mailing Group"); + Codeunit.Run(Codeunit::"Create CRM Dimension Value"); + Codeunit.Run(Codeunit::"Create Sales Cycle Stage"); + Codeunit.Run(Codeunit::"Create Salutation Formula"); + Codeunit.Run(Codeunit::"Create Web Source"); + end; + + procedure CreateTransactionalData() + begin + Codeunit.Run(Codeunit::"Create Segment"); + Codeunit.Run(Codeunit::"Create Opportunity"); + Codeunit.Run(Codeunit::"Create Profile Questionnaire"); + end; + + procedure CreateHistoricalData() + begin + Codeunit.Run(Codeunit::"Create Interaction Log Entry"); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonItemTracking.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonItemTracking.Codeunit.al index c966b24508..f03dc75491 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonItemTracking.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonItemTracking.Codeunit.al @@ -7,8 +7,8 @@ codeunit 5144 "Create Common Item Tracking" var ContosoItem: Codeunit "Contoso Item"; begin - ContosoItem.InsertItemTrackingCode(LotSpecificTrackingCode(), LOTWMSpecifictrackingLbl, false, true, false, false); - ContosoItem.InsertItemTrackingCode(SNSpecificTrackingCode(), SNProdSpecificTrackingLbl, true, false, false, false); + ContosoItem.InsertItemTrackingCode(LotSpecificTrackingCode(), LOTWMSpecifictrackingLbl, false, true, false, false, false, false); + ContosoItem.InsertItemTrackingCode(SNSpecificTrackingCode(), SNProdSpecificTrackingLbl, true, false, false, false, false, false); end; var diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonLocation.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonLocation.Codeunit.al index 08d0f13cdc..0cb0e58338 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonLocation.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonLocation.Codeunit.al @@ -13,10 +13,11 @@ codeunit 4790 "Create Common Location" var UKCampusBldg5Lbl: Label 'UK Campus Bldg 5', MaxLength = 100; MainWarehouseLbl: Label 'Main Warehouse', MaxLength = 100; - MainTok: Label 'MAIN', MaxLength = 10; procedure MainLocation(): Code[10] + var + CreateLocation: Codeunit "Create Location"; begin - exit(MainTok); + exit(CreateLocation.MainLocation()); end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonPostingGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonPostingGroup.Codeunit.al index 47ccf1b1f0..e8b9fb2854 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonPostingGroup.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/1.Setup Data/CreateCommonPostingGroup.Codeunit.al @@ -11,25 +11,9 @@ codeunit 5134 "Create Common Posting Group" begin ContosoCoffeeDemoDataSetup.Get(); - if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::VAT then begin - ContosoPostingGroup.InsertVATBusinessPostingGroup(Domestic(), DomesticCustomerVendorLbl); - ContosoPostingGroup.InsertVATBusinessPostingGroup(EU(), EUCustomerVendorLbl); - ContosoPostingGroup.InsertVATBusinessPostingGroup(Export(), ExportCustomerVendorLbl); - - ContosoPostingGroup.InsertVATProductPostingGroup(ZeroVAT(), ZeroVATDescriptionLbl); - ContosoPostingGroup.InsertVATProductPostingGroup(ReducedVAT(), ReducedVATDescriptionLbl); - ContosoPostingGroup.InsertVATProductPostingGroup(StandardVAT(), StandardVATDescriptionLbl); - end else + if ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::VAT then ContosoPostingGroup.InsertTaxGroup(NonTaxable(), NoTaxableLbl); - ContosoPostingGroup.InsertGenBusinessPostingGroup(Domestic(), DomesticCustomerVendorLbl, Domestic()); - ContosoPostingGroup.InsertGenBusinessPostingGroup(EU(), EUCustomerVendorLbl, EU()); - ContosoPostingGroup.InsertGenBusinessPostingGroup(Export(), ExportCustomerVendorLbl, Export()); - - ContosoPostingGroup.InsertGenProductPostingGroup(Retail(), RetailLbl, StandardVAT()); - ContosoPostingGroup.InsertGenProductPostingGroup(RawMaterial(), RawMaterialsLbl, StandardVAT()); - ContosoPostingGroup.InsertGenProductPostingGroup(Service(), ServiceLbl, StandardVAT()); - ContosoPostingGroup.InsertInventoryPostingGroup(Resale(), ResaleLbl); ContosoPostingGroup.InsertInventoryPostingGroup(RawMaterial(), RawMaterialsLbl); @@ -40,77 +24,64 @@ codeunit 5134 "Create Common Posting Group" var - DomesticTok: Label 'DOMESTIC', MaxLength = 20; - EUTok: Label 'EU', MaxLength = 20; - ExportTok: Label 'EXPORT', MaxLength = 20; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroup: Codeunit "Create VAT Posting Groups"; DomesticCustomerVendorLbl: Label 'Domestic customers and vendors', MaxLength = 100; - EUCustomerVendorLbl: Label 'Customers and vendors in EU', MaxLength = 100; - ExportCustomerVendorLbl: Label 'Other customers and vendors (not EU)', MaxLength = 100; - ZeroVATCodeLbl: Label 'No VAT', MaxLength = 20; - ReducedVATCodeLbl: Label 'VAT Reduced', MaxLength = 20; - StandardVATCodeLbl: Label 'VAT Standard', MaxLength = 20; - ZeroVATDescriptionLbl: Label 'No VAT', MaxLength = 100; - ReducedVATDescriptionLbl: Label 'Reduced VAT', MaxLength = 100; - StandardVATDescriptionLbl: Label 'Standard VAT', MaxLength = 100; - RetailTok: Label 'RETAIL', MaxLength = 20; - RetailLbl: Label 'Retail'; - RawMaterialTok: Label 'RAW MAT', MaxLength = 20; RawMaterialsLbl: Label 'Raw Materials', MaxLength = 100; - ServiceTok: Label 'SERVICES', MaxLength = 20; - ServiceLbl: Label 'Services', MaxLength = 100; - ResaleTok: Label 'RESALE', MaxLength = 20; ResaleLbl: Label 'Resale', MaxLength = 100; NoTaxableTok: Label 'NONTAXABLE', MaxLength = 20; NoTaxableLbl: Label 'Nontaxable', MaxLength = 100; procedure Service(): Code[20] begin - exit(ServiceTok); + exit(CreatePostingGroup.ServicesPostingGroup()); end; procedure Resale(): Code[20] + var + CreateInventoryPostingGroup: Codeunit "Create Inventory Posting Group"; begin - exit(ResaleTok); + exit(CreateInventoryPostingGroup.Resale()); end; procedure RawMaterial(): Code[20] begin - exit(RawMaterialTok); + exit(CreatePostingGroup.RawMatPostingGroup()); end; procedure Domestic(): Code[20] begin - exit(DomesticTok); + exit(CreatePostingGroup.DomesticPostingGroup()); end; procedure EU(): Code[20] begin - exit(EUTok); + exit(CreatePostingGroup.EUPostingGroup()); end; procedure Export(): Code[20] begin - exit(ExportTok); + exit(CreatePostingGroup.ExportPostingGroup()); end; procedure ZeroVAT(): Code[20] begin - exit(ZeroVATCodeLbl); + exit(CreateVATPostingGroup.Zero()); end; procedure ReducedVAT(): Code[20] begin - exit(ReducedVATCodeLbl); + exit(CreateVATPostingGroup.Reduced()); end; procedure StandardVAT(): Code[20] begin - exit(StandardVATCodeLbl); + exit(CreateVATPostingGroup.Standard()); end; procedure Retail(): Code[20] begin - exit(RetailTok); + exit(CreatePostingGroup.RetailPostingGroup()); end; procedure NonTaxable(): Code[20] diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/CommonModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/CommonModule.Codeunit.al index d17f674a65..fa60f21888 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/CommonModule.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Common/CommonModule.Codeunit.al @@ -11,7 +11,8 @@ codeunit 4769 "Common Module" implements "Contoso Demo Data Module" procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"]; begin - exit; + Dependencies.Add(Enum::"Contoso Demo Data Module"::Sales); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Purchase); end; procedure CreateSetupData() diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleChart.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleChart.Codeunit.al new file mode 100644 index 0000000000..0501cbbb10 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleChart.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 5297 "Create Acc. Schedule Chart" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateAccScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + ContosoUtilities: Codeunit "Contoso Utilities"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + DummyUserID: Text[132]; + date: Date; + begin + DummyUserID := ''; + date := ContosoUtilities.AdjustDate(19030401D); + + ContosoAccountSchedule.InsertAccountSchedulesChartSetup(DummyUserID, CashCycle(), CashCycleLbl, CreateAccScheduleName.CashCycle(), CreateColumnLayoutName.PeriodsDefinition(), date, 2, 12, false); + ContosoAccountSchedule.InsertAccountSchedulesChartSetup(DummyUserID, CashFlow(), CashFlowLbl, CreateAccScheduleName.CashFlow(), CreateColumnLayoutName.PeriodsDefinition(), date, 2, 3, true); + ContosoAccountSchedule.InsertAccountSchedulesChartSetup(DummyUserID, IncomeAndExpense(), IncomeAndExpenseLbl, CreateAccScheduleName.IncomeExpense(), CreateColumnLayoutName.PeriodsDefinition(), date, 2, 3, false); + end; + + procedure CashCycle(): Text[30] + begin + exit(CashCycleTok) + end; + + procedure CashFlow(): Text[30] + begin + exit(CashFlowTok) + end; + + procedure IncomeAndExpense(): Text[30] + begin + exit(IncomeAndExpenseTok) + end; + + var + CashCycleTok: Label 'Cash Cycle', MaxLength = 30; + CashFlowTok: Label 'Cash Flow', MaxLength = 30; + IncomeAndExpenseTok: Label 'Income & Expense', MaxLength = 30; + CashCycleLbl: Label 'Shows how many days money is tied up from the day you purchase inventory to the day you receive payment from customers.\\A cash cycle is calculated as: Days Sales in Inventory (DSI) + Days Sales Outstanding (DSO) - Days Payable Outstanding (DPO).', MaxLength = 250; + CashFlowLbl: Label 'Shows the movement of money into or out of your company. You can select to view both future revenue and expenses not yet registered.\\Cash flow is calculated as follows: Receivables + Liquid Funds - Payables.', MaxLength = 250; + IncomeAndExpenseLbl: Label 'Shows the company''s trends in income over expenses. By comparing figures for different periods, you can detect periods that need further investigation.', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleLine.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleLine.Codeunit.al new file mode 100644 index 0000000000..c14c28e9c2 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleLine.Codeunit.al @@ -0,0 +1,238 @@ +codeunit 5224 "Create Acc. Schedule Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // 3. Investigate 5 digit G/L Account could not be found e.g. 10990 + + trigger OnRun() + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + CreateGLAccount: Codeunit "Create G/L Account"; + AccountScheduleName: Code[10]; + begin + ContosoAccountSchedule.InsertAccScheduleLine('', 10000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 20000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 30000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 40000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 50000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 60000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 70000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 80000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine('', 90000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + + AccountScheduleName := CreateAccountScheduleName.AccountCategoriesOverview(); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, '1000', BalanceSheetLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, '1010', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, '2000', AssessLbl, '1', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, '3000', LiabilityLbl, '10', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 50000, '4000', EquityLbl, '14', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 60000, '4010', IncomeThisYearLbl, CreateGLAccount.NetIncome(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 70000, '5000', UpperCase(LiabilityLbl), '3000..4010', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 80000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 90000, '6000', IncomeStatementLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 100000, '7000', IncomeLbl, '18', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 110000, '8000', CostOfGoodsSoldLbl, '26', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 120000, '9000', ExpenseLbl, '31', Enum::"Acc. Schedule Line Totaling Type"::"Account Category", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 130000, '9900', NetIncomeLbl, '7000..9000', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + + AccountScheduleName := CreateAccountScheduleName.CapitalStructure(); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, '', ACIDTestAnalysisLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, '', CurrentAssetsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, '101', InventoryLbl, CreateGLAccount.InventoryTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 50000, '102', AccountsReceivableLbl, CreateGLAccount.AccountsReceivableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 60000, '103', SecuritiesLbl, CreateGLAccount.SecuritiesTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 70000, '104', LiquidAssetsLbl, CreateGLAccount.LiquidAssetsTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 80000, '105', CurrentAssetsTotalLbl, '101..104', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 90000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 100000, '', ShortTermLiabilitiesLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 110000, '111', RevolvingCreditLbl, CreateGLAccount.RevolvingCredit(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 120000, '112', AccountsPayableLbl, CreateGLAccount.AccountsPayableTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 130000, '113', VATLbl, CreateGLAccount.VATTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 140000, '114', PersonnelRelatedItemsLbl, CreateGLAccount.TotalPersonnelrelatedItems(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 150000, '115', OtherLiabilitiesLbl, CreateGLAccount.OtherLiabilitiesTotal(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 160000, '116', ShortTermLiabilitiesTotalLbl, '111..115', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 170000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 180000, '', CAMinusShortTermLiabLbl, '105|116', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + + AccountScheduleName := CreateAccountScheduleName.CashFlowCalculation(); + // '1-RECEIVABLES' is inserted somewhere, semi hardcode string + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, 'R10', ReceivablesLbl, '1-RECEIVABLES', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, 'R10', OpenSalesOrdersLbl, '6-SALES ORDERS', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, 'R10', OpenServiceOrdersLbl, '10-SERVICE ORDERS', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, 'R10', RentalsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 50000, 'R10', FinancialAssetsLbl, '8-FIXED ASSETS BUDGE', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 60000, 'R10', FixedAssetsDisposalsLbl, '9-FIXED ASSETS DISPO', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 70000, 'R10', PrivateInvestmentsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 80000, 'R10', MiscellaneousReceiptsLbl, '5-CASH FLOW MANUAL R', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, true, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 90000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 100000, 'R20', TotalofCashReceiptsLbl, 'R10', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 110000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 120000, 'R30', PayablesLbl, '2-PAYABLES', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 130000, 'R30', OpenPurchaseOrdersLbl, '7-PURCHASE ORDERS', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 140000, 'R30', PersonnelCostsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 150000, 'R30', RunningCostsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 160000, 'R30', FinanceCostsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 170000, 'R30', MiscellaneousCostsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 180000, 'R30', InvestmentsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 190000, 'R30', EncashmentofBillsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 200000, 'R30', PrivateConsumptionsLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 210000, 'R30', VATDueLbl, '15-TAX', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 220000, 'R30', OtherExpensesLbl, '4-CASH FLOW MANUAL E', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, true, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 230000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 240000, 'R40', TotalofCashDisbursementsLbl, 'R30', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 250000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 260000, 'R50', SurplusLbl, 'R10|R40', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 270000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 280000, 'R60', CashFlowFundsLbl, '3-LIQUID FUNDS', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, true, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 290000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Cash Flow Entry Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 300000, 'R70', TotalCashFlowLbl, 'R50|R60', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + + AccountScheduleName := CreateAccountScheduleName.CashCycle(); + // ToDo: MS 10990 G/L Account could not be found + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, '10', TotalRevenueLbl, '10990', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, '20', TotalReceivablesLbl, '40400|46100..46330', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, '30', TotalPayablesLbl, '50100|52000..56130', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, '40', TotalInventoryLbl, '40700', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 50000, '100', DaysofSalesOutstandingLbl, '-360*''20''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 60000, '110', DaysofPaymentOutstandingLbl, '360*''30''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 70000, '120', DaysSalesofInventoryLbl, '-360*''40''/''10''', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 80000, '200', CashCycleDaysLbl, '100+110-120', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + + AccountScheduleName := CreateAccountScheduleName.CashFlow(); + // ranges like this are a problem. e.g. Localizations. Some can be bigger or smaller. Discuss later + // Consider replace with Account Categories or discontinue. + // Account Category won't need localization + // 40400 is not found in W1 + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, '10', TotalReceivablesLbl, '40400|46100..46330', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, '20', TotalPayablesLbl, '50100|52000..56130', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, '30', TotalLiquidFundsLbl, '40100..40300', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, '40', TotalCashFlowLbl, '40..60', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 1); + + AccountScheduleName := CreateAccountScheduleName.IncomeExpense(); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, '10', TotalRevenueCreditLbl, '10990', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, '11', TotalRevenueLbl, '-10', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, '20', TotalGoodsSoldLbl, '20990', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, '30', TotalExternalCostsLbl, '30100|30200|30400|30500|31300|31400', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 50000, '40', TotalPersonnelCostsLbl, '30700|30800|30900|31000|31100', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 60000, '50', TotalDeprOnFALbl, '31600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 70000, '60', OtherExpensesLbl, '31500', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 80000, '70', TotalExpenditureLbl, '-20..60', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 90000, '80', EarningsBeforeInterestLbl, '11+70', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + + AccountScheduleName := CreateAccountScheduleName.ReducedTrialBalance(); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, '10', TotalIncomeLbl, '10990', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, true, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, '20', TotalCostLbl, '20990', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, true, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, '30', GrossMarginLbl, '-10-20', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, '40', GrossMarginPerLbl, '-''30''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 50000, '50', OperatingExpensesLbl, '30100..30200|30400..30500|30700..31100|31300..31400|31600', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 60000, '60', OperatingMarginLbl, '30 - 50', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 70000, '70', OperatingMarginPerLbl, '-''60''/''10''*100', Enum::"Acc. Schedule Line Totaling Type"::Formula, Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 80000, '80', OtherExpensesLbl, '30300|30600|31200|31500|31900', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 90000, '90', IncomeBeforeInterestAndTaxLbl, '31995', Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, true, 0); + + AccountScheduleName := CreateAccountScheduleName.Revenues(); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 10000, '', REVENUELbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 20000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 30000, '', SalesofRetailLbl, '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 40000, '11', SalesRetailDomLbl, CreateGLAccount.SalesRetailDom(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 50000, '12', SalesRetailEULbl, CreateGLAccount.SalesRetailEU(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 60000, '13', SalesRetailExportLbl, CreateGLAccount.SalesRetailExport(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 70000, '14', JobSalesAdjmtRetailLbl, CreateGLAccount.JobSalesAppliedRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 80000, '15', SalesofRetailTotalLbl, CreateGLAccount.TotalSalesofRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Total Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 90000, '', '', '', Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 100000, '', RevenueArea10to30TotalLbl, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesofRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '10..30', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 110000, '', RevenueArea40to85TotalLbl, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesofRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '40..85', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 120000, '', RevenueNoAreacodeTotalLbl, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesofRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', false, false, false, false, 0); + ContosoAccountSchedule.InsertAccScheduleLine(AccountScheduleName, 130000, '', RevenueTotalLbl, CreateGLAccount.SalesRetailDom() + '..' + CreateGLAccount.TotalSalesofRetail(), Enum::"Acc. Schedule Line Totaling Type"::"Posting Accounts", Enum::"Acc. Schedule Line Show"::Yes, '', true, false, false, false, 0); + end; + + var + BalanceSheetLbl: Label 'BALANCE SHEET', MaxLength = 100; + AssessLbl: Label 'ASSETS', MaxLength = 100; + LiabilityLbl: Label 'Liabilities', MaxLength = 100; + EquityLbl: Label 'Equity', MaxLength = 100; + IncomeThisYearLbl: Label 'Income This Year', MaxLength = 100; + IncomeStatementLbl: Label 'INCOME STATEMENT', MaxLength = 100; + IncomeLbl: Label 'Income', MaxLength = 100; + CostOfGoodsSoldLbl: Label 'Cost of Goods Sold', MaxLength = 100; + ExpenseLbl: Label 'Expense', MaxLength = 100; + NetIncomeLbl: Label 'NET INCOME', MaxLength = 100; + ACIDTestAnalysisLbl: Label 'ACID-TEST ANALYSIS', MaxLength = 100; + CurrentAssetsLbl: Label 'Current Assets', MaxLength = 100; + InventoryLbl: Label 'Inventory', MaxLength = 100; + AccountsReceivableLbl: Label 'Accounts Receivable', MaxLength = 100; + SecuritiesLbl: Label 'Securities', MaxLength = 100; + LiquidAssetsLbl: Label 'Liquid Assets', MaxLength = 100; + CurrentAssetsTotalLbl: Label 'Current Assets, Total', MaxLength = 100; + ShortTermLiabilitiesLbl: Label 'Short-term Liabilities', MaxLength = 100; + RevolvingCreditLbl: Label 'Revolving Credit', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payable', MaxLength = 100; + VATLbl: Label 'VAT', MaxLength = 100; + PersonnelRelatedItemsLbl: Label 'Personnel-related Items', MaxLength = 100; + OtherLiabilitiesLbl: Label 'Other Liabilities', MaxLength = 100; + ShortTermLiabilitiesTotalLbl: Label 'Short-term Liabilities, Total', MaxLength = 100; + CAMinusShortTermLiabLbl: Label 'Current Assets minus Short-term Liabilities', MaxLength = 100; + ReceivablesLbl: Label 'Receivables', MaxLength = 100; + OpenSalesOrdersLbl: Label 'Open Sales Orders', MaxLength = 100; + OpenServiceOrdersLbl: Label 'Open service orders', MaxLength = 100; + RentalsLbl: Label 'Rentals', MaxLength = 100; + FinancialAssetsLbl: Label 'Financial Assets', MaxLength = 100; + FixedAssetsDisposalsLbl: Label 'Fixed Assets Disposals', MaxLength = 100; + PrivateInvestmentsLbl: Label 'Private Investments', MaxLength = 100; + MiscellaneousReceiptsLbl: Label 'Miscellaneous receipts', MaxLength = 100; + TotalofCashReceiptsLbl: Label 'Total of Cash Receipts', MaxLength = 100; + PayablesLbl: Label 'Payables', MaxLength = 100; + OpenPurchaseOrdersLbl: Label 'Open Purchase Orders', MaxLength = 100; + PersonnelCostsLbl: Label 'Personnel costs', MaxLength = 100; + RunningCostsLbl: Label 'Running costs', MaxLength = 100; + FinanceCostsLbl: Label 'Finance Costs', MaxLength = 100; + MiscellaneousCostsLbl: Label 'Miscellaneous costs', MaxLength = 100; + InvestmentsLbl: Label 'Investments', MaxLength = 100; + EncashmentofBillsLbl: Label 'Encashment of Bills', MaxLength = 100; + PrivateConsumptionsLbl: Label 'Private Consumptions', MaxLength = 100; + VATDueLbl: Label 'VAT Due', MaxLength = 100; + OtherExpensesLbl: Label 'Other expenses', MaxLength = 100; + TotalofCashDisbursementsLbl: Label 'Total of Cash Disbursements', MaxLength = 100; + SurplusLbl: Label 'Surplus', MaxLength = 100; + CashFlowFundsLbl: Label 'CashFlow Funds', MaxLength = 100; + TotalCashFlowLbl: Label 'Total Cash Flow', MaxLength = 100; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + TotalReceivablesLbl: Label 'Total Receivables', MaxLength = 100; + TotalPayablesLbl: Label 'Total Payables', MaxLength = 100; + TotalInventoryLbl: Label 'Total Inventory', MaxLength = 100; + DaysofSalesOutstandingLbl: Label 'Days of Sales Outstanding', MaxLength = 100; + DaysofPaymentOutstandingLbl: Label 'Days of Payment Outstanding', MaxLength = 100; + DaysSalesofInventoryLbl: Label 'Days Sales of Inventory', MaxLength = 100; + CashCycleDaysLbl: Label 'Cash Cycle (Days)', MaxLength = 100; + TotalLiquidFundsLbl: Label 'Total Liquid Funds', MaxLength = 100; + TotalRevenueCreditLbl: Label 'Total Revenue (Credit)', MaxLength = 100; + TotalGoodsSoldLbl: Label 'Total Goods Sold', MaxLength = 100; + TotalExternalCostsLbl: Label 'Total External Costs ', MaxLength = 100; + TotalPersonnelCostsLbl: Label 'Total Personnel Costs', MaxLength = 100; + TotalDeprOnFALbl: Label 'Total Depr. on Fixed Assets', MaxLength = 100; + TotalExpenditureLbl: Label 'Total Expenditure', MaxLength = 100; + EarningsBeforeInterestLbl: Label 'Earnings Before Interest', MaxLength = 100; + TotalIncomeLbl: Label 'Total Income', MaxLength = 100; + TotalCostLbl: Label 'Total Cost', MaxLength = 100; + GrossMarginLbl: Label 'Gross Margin', MaxLength = 100; + GrossMarginPerLbl: Label 'Gross Margin %', MaxLength = 100; + OperatingExpensesLbl: Label 'Operating Expenses', MaxLength = 100; + OperatingMarginLbl: Label 'Operating Margin', MaxLength = 100; + OperatingMarginPerLbl: Label 'Operating Margin %', MaxLength = 100; + IncomeBeforeInterestAndTaxLbl: Label 'Income before Interest and Tax', MaxLength = 100; + REVENUELbl: Label 'REVENUE', MaxLength = 100; + SalesofRetailLbl: Label 'Sales of Retail', MaxLength = 100; + SalesRetailDomLbl: Label 'Sales, Retail - Dom.', MaxLength = 100; + SalesRetailEULbl: Label 'Sales, Retail - EU', MaxLength = 100; + SalesRetailExportLbl: Label 'Sales, Retail - Export', MaxLength = 100; + JobSalesAdjmtRetailLbl: Label 'Job Sales Adjmt, Retail', MaxLength = 100; + SalesofRetailTotalLbl: Label 'Sales of Retail, Total', MaxLength = 100; + RevenueArea10to30TotalLbl: Label 'Revenue Area 10..30, Total', MaxLength = 100; + RevenueArea40to85TotalLbl: Label 'Revenue Area 40..85, Total', MaxLength = 100; + RevenueNoAreacodeTotalLbl: Label 'Revenue, no Area code, Total', MaxLength = 100; + RevenueTotalLbl: Label 'Revenue, Total', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleName.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleName.Codeunit.al new file mode 100644 index 0000000000..e93a6dec48 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAccScheduleName.Codeunit.al @@ -0,0 +1,118 @@ +codeunit 5223 "Create Acc. Schedule Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateAnalysisView: Codeunit "Create Analysis View"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertAccScheduleName(AccountCategoriesOverview(), AccountCategoriesOverviewLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(CapitalStructure(), CapitalStructureLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(CashFlowCalculation(), CashFlowCalculationLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(CashCycle(), CashCycleDataLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(CashFlow(), CashFlowDataLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeExpense(), IncomeExpenseDataLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(ReducedTrialBalance(), ReducedTrialBalanceDataLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(Revenues(), RevenuesLbl, CreateAnalysisView.SalesRevenue()); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetDetailed(), BalanceSheetDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementDetailed(), IncomeStatementDetailedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, ''); + ContosoAccountSchedule.InsertAccScheduleName(TrialBalance(), TrialBalanceLbl, ''); + end; + + procedure AccountCategoriesOverview(): Code[10] + begin + exit(AccountCategoriesOverviewTok); + end; + + procedure CapitalStructure(): Code[10] + begin + exit(CapitalStructureTok); + end; + + procedure CashFlowCalculation(): Code[10] + begin + exit(CashFlowCalculationTok); + end; + + procedure CashCycle(): Code[10] + begin + exit(CashCycleDataTok); + end; + + procedure CashFlow(): Code[10] + begin + exit(CashFlowDataTok); + end; + + procedure IncomeExpense(): Code[10] + begin + exit(IncomeExpenseDataTok); + end; + + procedure ReducedTrialBalance(): Code[10] + begin + exit(ReducedTrialBalanceDataTok); + end; + + procedure Revenues(): Code[10] + begin + exit(RevenuesTok); + end; + + procedure BalanceSheetDetailed(): Code[10] + begin + exit(BalanceSheetDetailedTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetailed(): Code[10] + begin + exit(IncomeStatementDetailedTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummerizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + AccountCategoriesOverviewTok: Label 'ACC-CAT', MaxLength = 10; + CapitalStructureTok: Label 'ANALYSIS', MaxLength = 10; + CashFlowCalculationTok: Label 'CASHFLOW', MaxLength = 10; + CashCycleDataTok: Label 'I_CACYCLE', MaxLength = 10; + CashFlowDataTok: Label 'I_CASHFLOW', MaxLength = 10; + IncomeExpenseDataTok: Label 'I_INCEXP', MaxLength = 10; + ReducedTrialBalanceDataTok: Label 'I_MINTRIAL', MaxLength = 10; + RevenuesTok: Label 'REVENUE', MaxLength = 10; + BalanceSheetDetailedTok: Label 'BS DET', MaxLength = 10, Comment = 'Balance Sheet Detailed'; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10, Comment = 'Balance Sheet Summarized'; + IncomeStatementDetailedTok: Label 'IS DET', MaxLength = 10, Comment = 'Income Statement Detailed'; + IncomeStatementSummerizedTok: Label 'IS SUM', MaxLength = 10, Comment = 'Income Statement Summarized'; + TrialBalanceTok: Label 'TB', MaxLength = 10, Comment = 'Trial Balance'; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; + AccountCategoriesOverviewLbl: Label 'Account Categories overview', MaxLength = 80; + CapitalStructureLbl: Label 'Capital Structure', MaxLength = 80; + CashFlowCalculationLbl: Label 'Calculation Of Cash Flow', MaxLength = 80; + CashCycleDataLbl: Label 'Data for Cash Cycle Chart', MaxLength = 80; + CashFlowDataLbl: Label 'Data for Cash Flow Chart', MaxLength = 80; + IncomeExpenseDataLbl: Label 'Data for Income & Expense Chart', MaxLength = 80; + ReducedTrialBalanceDataLbl: Label 'Data for Reduced Trial Balance Info Part', MaxLength = 80; + RevenuesLbl: Label 'Revenues', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAnalysisView.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAnalysisView.Codeunit.al new file mode 100644 index 0000000000..384670c566 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateAnalysisView.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 5536 "Create Analysis View" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // 1. Need GL Account + // 2. 40000 to 49999 is not a valid account range in W1 + + trigger OnRun() + var + ContosoAnalysis: Codeunit "Contoso Analysis"; + ContosoUtilities: Codeunit "Contoso Utilities"; + Dimension: Codeunit "Create Dimension"; + begin + ContosoAnalysis.InsertAnalysisView(GeneralLedger(), GeneralLedgerLbl, '', ContosoUtilities.AdjustDate(19020101D), 1, '', '', ''); + // Potentially same problem with account range + ContosoAnalysis.InsertAnalysisView(SalesRevenue(), SalesRevenueLbl, '40000..49999', ContosoUtilities.AdjustDate(19020101D), 1, Dimension.AreaDimension(), Dimension.DepartmentDimension(), Dimension.CustomerGroupDimension()); + end; + + procedure GeneralLedger(): Code[10] + begin + exit(GeneralLedgerTok); + end; + + procedure SalesRevenue(): Code[10] + begin + exit(SalesRevenueTok); + end; + + var + GeneralLedgerTok: Label 'GEN_LEDGER', MaxLength = 10; + SalesRevenueTok: Label 'REVENUE', MaxLength = 10; + GeneralLedgerLbl: Label 'General Ledger', MaxLength = 50; + SalesRevenueLbl: Label 'Sales Revenue', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateChartDefinition.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateChartDefinition.Codeunit.al new file mode 100644 index 0000000000..62f00d9919 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateChartDefinition.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 5427 "Create Chart Definition" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ChartManagement: Codeunit "Chart Management"; + begin + ChartManagement.PopulateChartDefinitionTable(); + CreateTrailBalanceSetup(); + end; + + local procedure CreateTrailBalanceSetup() + var + TrialBalanceSetup: Record "Trial Balance Setup"; + CreateAccScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + begin + TrialBalanceSetup.Get(); + TrialBalanceSetup.Validate("Account Schedule Name", CreateAccScheduleName.ReducedTrialBalance()); + TrialBalanceSetup.Validate("Column Layout Name", CreateColumnLayoutName.PeriodsDefinition()); + TrialBalanceSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateColumnLayoutName.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateColumnLayoutName.Codeunit.al new file mode 100644 index 0000000000..05a92e63f7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateColumnLayoutName.Codeunit.al @@ -0,0 +1,168 @@ +codeunit 5401 "Create Column Layout Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertColumnLayoutName(ActualBudgetComparison(), ActualBudgetComparisonLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BalanceOnly(), BalanceOnlyLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BudgetAnalysis(), BudgetAnalysisLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CashFlowComparison(), CashFlowComparisonLbl); + ContosoAccountSchedule.InsertColumnLayoutName(DefaultLayout(), DefaultLayoutLbl); + ContosoAccountSchedule.InsertColumnLayoutName(KeyCashFlowRatio(), KeyCashFlowRatioLbl); + ContosoAccountSchedule.InsertColumnLayoutName(PeriodsDefinition(), PeriodsDefinitionLbl); + + ContosoAccountSchedule.InsertColumnLayoutName(BalanceSheetTrend(), BalanceSheetLbl); + ContosoAccountSchedule.InsertColumnLayoutName(IncomeStatementTrend(), IncomeStatementLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BeginningBalanceDebitsCreditsEndingBalance(), TrialBalanceLbl); + + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalance(), CurrentMonthBalanceLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalanceVPriorMonth(), CurrentMonthBalanceVPriorMonthLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthBalanceVSameMonthPriorYear(), CurrentMonthBalanceVSameMonthPriorYearLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChange(), CurrentMonthNetChangeLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangeBudget(), CurrentMonthNetChangeBudgetLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangeVPriorMonth(), CurrentMonthNetChangeVPriorMonthLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangeVSameMonthPriorYear(), CurrentMonthNetChangeVSameMonthPriorYearLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthVPriorMonthCY(), CurrentMonthVPriorMonthCYLbl); + ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthVBudgetYearToDate(), CurrentMonthVBudgetYearToDateLbl); + end; + + + procedure ActualBudgetComparison(): Code[10] + begin + exit(ActualBudgetComparisonTok); + end; + + procedure BalanceOnly(): Code[10] + begin + exit(BalanceOnlyTok); + end; + + procedure BudgetAnalysis(): Code[10] + begin + exit(BudgetAnalysisTok); + end; + + procedure CashFlowComparison(): Code[10] + begin + exit(CashFlowComparisonTok); + end; + + procedure DefaultLayout(): Code[10] + begin + exit(DefaultLayoutTok); + end; + + procedure KeyCashFlowRatio(): Code[10] + begin + exit(KeyCashFlowRatioTok); + end; + + procedure PeriodsDefinition(): Code[10] + begin + exit(PeriodsDefinitionTok); + end; + + procedure BalanceSheetTrend(): Code[10] + begin + exit(BalanceSheetTrendTok); + end; + + procedure IncomeStatementTrend(): Code[10] + begin + exit(IncomeStatementTrendTok); + end; + + procedure BeginningBalanceDebitsCreditsEndingBalance(): Code[10] + begin + exit(BeginningBalanceDebitsCreditsEndingBalanceTok); + end; + + procedure CurrentMonthBalance(): Code[10] + begin + exit(CurrentMonthBalanceTok); + end; + + procedure CurrentMonthBalanceVPriorMonth(): Code[10] + begin + exit(CurrentMonthBalanceVPriorMonthTok); + end; + + procedure CurrentMonthBalanceVSameMonthPriorYear(): Code[10] + begin + exit(CurrentMonthBalanceVSameMonthPriorYearTok); + end; + + procedure CurrentMonthNetChange(): Code[10] + begin + exit(CurrentMonthNetChangeTok); + end; + + procedure CurrentMonthNetChangeBudget(): Code[10] + begin + exit(CurrentMonthNetChangeBudgetTok); + end; + + procedure CurrentMonthNetChangeVPriorMonth(): Code[10] + begin + exit(CurrentMonthNetChangeVPriorMonthTok); + end; + + procedure CurrentMonthNetChangeVSameMonthPriorYear(): Code[10] + begin + exit(CurrentMonthNetChangeVSameMonthPriorYearTok); + end; + + procedure CurrentMonthVPriorMonthCY(): Code[10] + begin + exit(CurrentMonthVPriorMonthCYTok); + end; + + procedure CurrentMonthVBudgetYearToDate(): Code[10] + begin + exit(CurrentMonthVBudgetYearToDateTok); + end; + + var + ActualBudgetComparisonTok: Label 'ACT/BUD', MaxLength = 10; + BalanceOnlyTok: Label 'BAL ONLY', MaxLength = 10; + BudgetAnalysisTok: Label 'BUDGANALYS', MaxLength = 10; + CashFlowComparisonTok: Label 'CASHFLOW', MaxLength = 10; + DefaultLayoutTok: Label 'DEFAULT', MaxLength = 10; + KeyCashFlowRatioTok: Label 'DEGREE', MaxLength = 10; + PeriodsDefinitionTok: Label 'PERIODS', MaxLength = 10; + BalanceSheetTrendTok: Label 'BSTREND', MaxLength = 10, Comment = 'Balance Sheet Trend'; + IncomeStatementTrendTok: Label 'ISTREND', MaxLength = 10, Comment = 'Income Statement Trend'; + BeginningBalanceDebitsCreditsEndingBalanceTok: Label 'BBDRCREB', MaxLength = 10, Comment = 'Beginning Balance Debits Credits Ending Balance'; + CurrentMonthBalanceTok: Label 'CB', Locked = true; + CurrentMonthBalanceVPriorMonthTok: Label 'CB V PB', Locked = true; + CurrentMonthBalanceVSameMonthPriorYearTok: Label 'CB V SPYB', Locked = true; + CurrentMonthNetChangeTok: Label 'CNC', Locked = true; + CurrentMonthNetChangeBudgetTok: Label 'CNC BUD', Locked = true; + CurrentMonthNetChangeVPriorMonthTok: Label 'CNC V PNC', Locked = true; + CurrentMonthNetChangeVSameMonthPriorYearTok: Label 'CNC VSPYNC', Locked = true; + CurrentMonthVPriorMonthCYTok: Label 'CNCVPNCYOY', Locked = true; + CurrentMonthVBudgetYearToDateTok: Label 'CVC YTDBUD', Locked = true; + BalanceSheetLbl: Label 'BS 12 Months Balance Trending Current Fiscal Year', MaxLength = 80, Comment = 'BS - abbreviation of Balance Sheet'; + IncomeStatementLbl: Label 'IS 12 Months Net Change Trending Current Fiscal Year', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; + TrialBalanceLbl: Label 'TB Beginning Balance Debits Credits Ending Balance', MaxLength = 80, Comment = 'TB - abbreviation of Trial Balance'; + CurrentMonthBalanceLbl: Label 'BS Current Month Balance', MaxLength = 80, Comment = 'BS - abbreviation of Balance Sheet'; + CurrentMonthBalanceVPriorMonthLbl: Label 'BS Current Month Balance v Prior Month Balance', MaxLength = 80, Comment = 'BS - abbreviation of Balance Sheet'; + CurrentMonthBalanceVSameMonthPriorYearLbl: Label 'BS Current Month Balance v Same Month Prior Year Balance', MaxLength = 80, Comment = 'BS - abbreviation of Balance Sheet'; + CurrentMonthNetChangeLbl: Label 'IS Current Month Net Change', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; + CurrentMonthNetChangeBudgetLbl: Label 'IS 12 Months Net Change Budget Only', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; + CurrentMonthNetChangeVPriorMonthLbl: Label 'IS Current Month Net Change v Prior Month Net Change', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; + CurrentMonthNetChangeVSameMonthPriorYearLbl: Label 'IS Current Month Net Change v Same Month Prior Year Net Change', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; + CurrentMonthVPriorMonthCYLbl: Label 'IS Current Month v Prior Month for CY and Current Month v Prior Month for PY', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; + CurrentMonthVBudgetYearToDateLbl: Label 'IS Current Month v Budget Year to Date v Budget and Bud Total and Bud Remaining ', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; + ActualBudgetComparisonLbl: Label 'Actual / Budget Comparision', MaxLength = 80; + BalanceOnlyLbl: Label 'Balance Only', MaxLength = 80; + BudgetAnalysisLbl: Label 'Budget Analysis', MaxLength = 80; + CashFlowComparisonLbl: Label 'Comparison month - year', MaxLength = 80; + DefaultLayoutLbl: Label 'Standard Column Layout', MaxLength = 80; + KeyCashFlowRatioLbl: Label 'Key Cash Flow Ratio', MaxLength = 80; + PeriodsDefinitionLbl: Label 'Periods Definition for Mini Charts', MaxLength = 80; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateCurrency.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateCurrency.Codeunit.al new file mode 100644 index 0000000000..6959516b9f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateCurrency.Codeunit.al @@ -0,0 +1,351 @@ +codeunit 5525 "Create Currency" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Currency: Record "Currency"; + CreateGLAccount: Codeunit "Create G/L Account"; + ContosoCurrency: Codeunit "Contoso Currency"; + begin + ContosoCurrency.InsertCurrency(AED(), '784', UnitedArabEmiratesdirhamLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.25, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(AUD(), '036', AustralianDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(BGN(), '975', BulgarianLevaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(BND(), '096', BruneiDarussalemDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(BRL(), '986', BrazilianRealLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(CAD(), '124', CanadianDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(CHF(), '756', SwissFrancLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(CZK(), '203', CzechKorunaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(DKK(), '208', DanishkroneLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(DZD(), '012', AlgerianDinarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(EUR(), '978', EuroLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, true, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(FJD(), '242', FijiDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(GBP(), '826', BritishPoundLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(HKD(), '344', HongKongDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(HRK(), '191', CroatianKunaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(HUF(), '348', HungarianForintLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 1, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(IDR(), '360', IndonesianRupiahLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 1, Currency."Invoice Rounding Type"::Nearest, 1, 0.1, false, '0:0', '0:3'); + ContosoCurrency.InsertCurrency(INR(), '356', IndianRupeeLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(ISK(), '352', IcelandicKronaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(JPY(), '392', JapaneseYenLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(KES(), '404', KenyanShillingLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.5, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(MAD(), '504', MoroccanDirhamLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(MXN(), '484', MexicanPesoLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(MYR(), '458', MalaysianRinggitLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(MZN(), '943', MozambiqueMeticalLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 10, Currency."Invoice Rounding Type"::Nearest, 1, 0.01, false, '0:0', '0:3'); + ContosoCurrency.InsertCurrency(NGN(), '566', NigerianNairaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 1, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(NOK(), '578', NorwegianKroneLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(NZD(), '554', NewZealandDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(PHP(), '608', PhilippinesPesoLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(PLN(), '985', PolishZlotyLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(RON(), '946', RomanianLeuLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.01, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(RSD(), '941', SerbianDinarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(RUB(), '643', RussianRubleLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(SAR(), '682', SaudiArabianRyialLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(SBD(), '090', SolomonIslandsDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(SEK(), '752', SwedishKronaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(SGD(), '702', SingaporeDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(SZL(), '748', SwazilandLilangeniLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(THB(), '764', ThaiBahtLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 1, Currency."Invoice Rounding Type"::Nearest, 1, 1, false, '0:0', '0:3'); + ContosoCurrency.InsertCurrency(TND(), '788', TunesianDinarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.001, 0.001, false, '3:3', '2:5'); + ContosoCurrency.InsertCurrency(TOP(), '776', TonganPaangaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(TRY(), '949', NewTurkishLiraLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(UGX(), '800', UgandanShillingLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 1, Currency."Invoice Rounding Type"::Nearest, 1, 0.1, false, '0:0', '0:3'); + ContosoCurrency.InsertCurrency(USD(), '840', USDollarLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(VUV(), '548', VanuatuVatuLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(WST(), '882', WesternSamoanTalaLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(XPF(), '953', FrenchPacificFrancLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + ContosoCurrency.InsertCurrency(ZAR(), '710', SouthAfricanRandLbl, CreateGLAccount.UnrealizedFXGains(), CreateGLAccount.RealizedFXGains(), CreateGLAccount.UnrealizedFXLosses(), CreateGLAccount.RealizedFXLosses(), 0.01, Currency."Invoice Rounding Type"::Nearest, 0.01, 0.001, false, '2:2', '2:5'); + end; + + procedure AED(): Code[10] + begin + exit('AED'); + end; + + procedure AUD(): Code[10] + begin + exit('AUD'); + end; + + procedure BGN(): Code[10] + begin + exit('BGN'); + end; + + procedure BND(): Code[10] + begin + exit('BND'); + end; + + procedure BRL(): Code[10] + begin + exit('BRL'); + end; + + procedure CAD(): Code[10] + begin + exit('CAD'); + end; + + procedure CHF(): Code[10] + begin + exit('CHF'); + end; + + procedure CZK(): Code[10] + begin + exit('CZK'); + end; + + procedure DKK(): Code[10] + begin + exit('DKK'); + end; + + procedure DZD(): Code[10] + begin + exit('DZD'); + end; + + procedure EUR(): Code[10] + begin + exit('EUR'); + end; + + procedure FJD(): Code[10] + begin + exit('FJD'); + end; + + procedure GBP(): Code[10] + begin + exit('GBP'); + end; + + procedure HKD(): Code[10] + begin + exit('HKD'); + end; + + procedure HRK(): Code[10] + begin + exit('HRK'); + end; + + procedure HUF(): Code[10] + begin + exit('HUF'); + end; + + procedure IDR(): Code[10] + begin + exit('IDR'); + end; + + procedure INR(): Code[10] + begin + exit('INR'); + end; + + procedure ISK(): Code[10] + begin + exit('ISK'); + end; + + procedure JPY(): Code[10] + begin + exit('JPY'); + end; + + procedure KES(): Code[10] + begin + exit('KES'); + end; + + procedure MAD(): Code[10] + begin + exit('MAD'); + end; + + procedure MXN(): Code[10] + begin + exit('MXN'); + end; + + procedure MYR(): Code[10] + begin + exit('MYR'); + end; + + procedure MZN(): Code[10] + begin + exit('MZN'); + end; + + procedure NGN(): Code[10] + begin + exit('NGN'); + end; + + procedure NOK(): Code[10] + begin + exit('NOK'); + end; + + procedure NZD(): Code[10] + begin + exit('NZD'); + end; + + procedure PHP(): Code[10] + begin + exit('PHP'); + end; + + procedure PLN(): Code[10] + begin + exit('PLN'); + end; + + procedure RON(): Code[10] + begin + exit('RON'); + end; + + procedure RSD(): Code[10] + begin + exit('RSD'); + end; + + procedure RUB(): Code[10] + begin + exit('RUB'); + end; + + procedure SAR(): Code[10] + begin + exit('SAR'); + end; + + procedure SBD(): Code[10] + begin + exit('SBD'); + end; + + procedure SEK(): Code[10] + begin + exit('SEK'); + end; + + procedure SGD(): Code[10] + begin + exit('SGD'); + end; + + procedure SZL(): Code[10] + begin + exit('SZL'); + end; + + procedure THB(): Code[10] + begin + exit('THB'); + end; + + procedure TND(): Code[10] + begin + exit('TND'); + end; + + procedure TOP(): Code[10] + begin + exit('TOP'); + end; + + procedure TRY(): Code[10] + begin + exit('TRY'); + end; + + procedure UGX(): Code[10] + begin + exit('UGX'); + end; + + procedure USD(): Code[10] + begin + exit('USD'); + end; + + procedure VUV(): Code[10] + begin + exit('VUV'); + end; + + procedure WST(): Code[10] + begin + exit('WST'); + end; + + procedure XPF(): Code[10] + begin + exit('XPF'); + end; + + procedure ZAR(): Code[10] + begin + exit('ZAR'); + end; + + var + EuroLbl: Label 'Euro'; + AustraliandollarLbl: Label 'Australian dollar'; + BulgarianlevaLbl: Label 'Bulgarian leva'; + BruneiDarussalemdollarLbl: Label 'Brunei Darussalem dollar'; + BrazilianrealLbl: Label 'Brazilian real'; + CanadiandollarLbl: Label 'Canadian dollar'; + CroatianKunaLbl: Label 'Croatian Kuna'; + SwissfrancLbl: Label 'Swiss franc'; + CzechkorunaLbl: Label 'Czech koruna'; + DanishkroneLbl: Label 'Danish krone'; + FijidollarLbl: Label 'Fiji dollar'; + BritishpoundLbl: Label 'Pound Sterling'; + HongKongdollarLbl: Label 'Hong Kong dollar'; + IndonesianrupiahLbl: Label 'Indonesian rupiah'; + JapaneseyenLbl: Label 'Japanese yen'; + IndianrupeeLbl: Label 'Indian rupee'; + IcelandickronaLbl: Label 'Icelandic krona'; + MalaysianringgitLbl: Label 'Malaysian ringgit'; + MexicanpesoLbl: Label 'Mexican peso'; + NorwegiankroneLbl: Label 'Norwegian krone'; + NewZealanddollarLbl: Label 'New Zealand dollar'; + PhilippinespesoLbl: Label 'Philippines peso'; + PolishzlotyLbl: Label 'Polish zloty'; + RussianrubleLbl: Label 'Russian ruble'; + SwedishkronaLbl: Label 'Swedish krona'; + SingaporedollarLbl: Label 'Singapore dollar'; + SaudiArabianryialLbl: Label 'Saudi Arabian ryial'; + SolomonIslandsdollarLbl: Label 'Solomon Islands dollar'; + ThaibahtLbl: Label 'Thai baht'; + USdollarLbl: Label 'US dollar'; + VanuatuvatuLbl: Label 'Vanuatu vatu'; + WesternSamoantalaLbl: Label 'Western Samoan tala'; + SouthAfricanrandLbl: Label 'South African rand'; + UnitedArabEmiratesdirhamLbl: Label 'United Arab Emirates dirham'; + AlgeriandinarLbl: Label 'Algerian dinar'; + HungarianforintLbl: Label 'Hungarian forint'; + KenyanShillingLbl: Label 'Kenyan Shilling'; + MoroccandirhamLbl: Label 'Moroccan dirham'; + MozambiquemeticalLbl: Label 'Mozambique metical'; + NigeriannairaLbl: Label 'Nigerian naira'; + RomanianleuLbl: Label 'Romanian leu'; + SwazilandlilangeniLbl: Label 'Swaziland lilangeni'; + SerbianDinarLbl: Label 'Serbian Dinar'; + TunesiandinarLbl: Label 'Tunesian dinar'; + UgandanShillingLbl: Label 'Ugandan Shilling'; + NewTurkishliraLbl: Label 'New Turkish lira'; + TonganPaangaLbl: Label 'Tongan Pa anga'; + FrenchPacificFrancLbl: Label 'French Pacific Franc'; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateDimension.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateDimension.Codeunit.al new file mode 100644 index 0000000000..17b40a1c9a --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateDimension.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 5463 "Create Dimension" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + begin + ContosoDimension.InsertDimension(AreaDimension(), AreaLbl); + ContosoDimension.InsertDimension(BusinessGroupDimension(), BusinessGroupLbl); + ContosoDimension.InsertDimension(CustomerGroupDimension(), CustomerGroupLbl); + ContosoDimension.InsertDimension(DepartmentDimension(), DepartmentLbl); + ContosoDimension.InsertDimension(SalesCampaignDimension(), SalesCampaignLbl); + end; + + procedure AreaDimension(): Code[20] + begin + exit(AreaTok); + end; + + procedure BusinessGroupDimension(): Code[20] + begin + exit(BusinessGroupTok); + end; + + procedure CustomerGroupDimension(): Code[20] + begin + exit(CustomerGroupTok); + end; + + procedure DepartmentDimension(): Code[20] + begin + exit(DepartmentTok); + end; + + procedure SalesCampaignDimension(): Code[20] + begin + exit(SalesCampaignTok); + end; + + var + AreaTok: Label 'AREA', MaxLength = 20; + AreaLbl: Label 'Area', MaxLength = 100; + BusinessGroupTok: Label 'BUSINESSGROUP', MaxLength = 20; + BusinessGroupLbl: Label 'Business Group', MaxLength = 100; + CustomerGroupTok: Label 'CUSTOMERGROUP', MaxLength = 20; + CustomerGroupLbl: Label 'Customer Group', MaxLength = 100; + DepartmentTok: Label 'DEPARTMENT', MaxLength = 20; + DepartmentLbl: Label 'Department', MaxLength = 100; + SalesCampaignTok: Label 'SALESCAMPAIGN', MaxLength = 20; + SalesCampaignLbl: Label 'Sales campaign', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGLAccount.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGLAccount.Codeunit.al new file mode 100644 index 0000000000..629068933e --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGLAccount.Codeunit.al @@ -0,0 +1,3613 @@ +codeunit 5208 "Create G/L Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + GLAccountCategory: Record "G/L Account Category"; + GLAccountIndent: Codeunit "G/L Account-Indent"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + GLAccountCategoryMgt: Codeunit "G/L Account Category Mgt."; + SubCategory: Text[80]; + begin + AddGLAccountsForLocalization(); + + ContosoGLAccount.InsertGLAccount(BalanceSheet(), BalanceSheetName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccount.InsertGLAccount(Assets(), AssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(FixedAssets(), FixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TangibleFixedAssets(), TangibleFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LandandBuildingsBeginTotal(), LandandBuildingsBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LandandBuildings(), LandandBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncreasesduringtheYearBuildings(), IncreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYearBuildings(), DecreasesduringtheYearBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAccumDeprec(), 80); + ContosoGLAccount.InsertGLAccount(AccumDepreciationBuildings(), AccumDepreciationBuildingsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetEquipment(), 80); + ContosoGLAccount.InsertGLAccount(LandandBuildingsTotal(), LandandBuildingsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, LandandBuildingsBeginTotal() + '..' + LandandBuildingsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OperatingEquipmentBeginTotal(), OperatingEquipmentBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OperatingEquipment(), OperatingEquipmentName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncreasesduringtheYearOperEquip(), IncreasesduringtheYearOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYearOperEquip(), DecreasesduringtheYearOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(AccumDeprOperEquip(), AccumDeprOperEquipName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OperatingEquipmentTotal(), OperatingEquipmentTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, OperatingEquipmentBeginTotal() + '..' + OperatingEquipmentTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VehiclesBeginTotal(), VehiclesBeginTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Vehicles(), VehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(IncreasesduringtheYearVehicles(), IncreasesduringtheYearVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(DecreasesduringtheYearVehicles(), DecreasesduringtheYearVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(AccumDepreciationVehicles(), AccumDepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VehiclesTotal(), VehiclesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, VehiclesBeginTotal() + '..' + VehiclesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TangibleFixedAssetsTotal(), TangibleFixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, TangibleFixedAssets() + '..' + TangibleFixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccount.InsertGLAccount(FixedAssetsTotal(), FixedAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, FixedAssets() + '..' + FixedAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CurrentAssets(), CurrentAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInventory(), 80); + ContosoGLAccount.InsertGLAccount(Inventory(), InventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ResaleItems(), ResaleItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ResaleItemsInterim(), ResaleItemsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofResaleSoldInterim(), CostofResaleSoldInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoods(), FinishedGoodsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(FinishedGoodsInterim(), FinishedGoodsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterials(), RawMaterialsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RawMaterialsInterim(), RawMaterialsInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofRawMatSoldInterim(), CostofRawMatSoldInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PrimoInventory(), PrimoInventoryName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InventoryTotal(), InventoryTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, Inventory() + '..' + InventoryTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(JobWIP(), JobWIPName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccount.InsertGLAccount(WIPSales(), WIPSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPJobSales(), WIPJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvoicedJobSales(), InvoicedJobSalesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPSalesTotal(), WIPSalesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, WIPSales() + '..' + WIPSalesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPCosts(), WIPCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPJobCosts(), WIPJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedJobCosts(), AccruedJobCostsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WIPCostsTotal(), WIPCostsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, WIPCosts() + '..' + WIPCostsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobWIPTotal(), JobWIPTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, JobWIP() + '..' + JobWIPTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(AccountsReceivable(), AccountsReceivableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomersDomestic(), CustomersDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomersForeign(), CustomersForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccruedInterest(), AccruedInterestName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherReceivables(), OtherReceivablesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(AccountsReceivableTotal(), AccountsReceivableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccountsReceivable() + '..' + AccountsReceivableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPrepaidExpenses(), 80); + ContosoGLAccount.InsertGLAccount(PurchasePrepayments(), PurchasePrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVAT(), VendorPrepaymentsVATName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Zero(), false, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVAT10(), VendorPrepaymentsVAT10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Reduced(), false, false, false); + ContosoGLAccount.InsertGLAccount(VendorPrepaymentsVAT25(), VendorPrepaymentsVAT25Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(PurchasePrepaymentsTotal(), PurchasePrepaymentsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, PurchasePrepayments() + '..' + PurchasePrepaymentsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccount.InsertGLAccount(Securities(), SecuritiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Bonds(), BondsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SecuritiesTotal(), SecuritiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, Securities() + '..' + SecuritiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCash(), 80); + ContosoGLAccount.InsertGLAccount(LiquidAssets(), LiquidAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Cash(), CashName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, true, false); + ContosoGLAccount.InsertGLAccount(BankLCY(), BankLCYName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(BankCurrencies(), BankCurrenciesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(GiroAccount(), GiroAccountName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(LiquidAssetsTotal(), LiquidAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, LiquidAssets() + '..' + LiquidAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Assets, 80); + ContosoGLAccount.InsertGLAccount(CurrentAssetsTotal(), CurrentAssetsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CurrentAssets() + '..' + CurrentAssetsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalAssets(), TotalAssetsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 1, Assets() + '..' + TotalAssets(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + ContosoGLAccount.InsertGLAccount(LiabilitiesAndEquity(), LiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetDistrToShareholders(), 80); + ContosoGLAccount.InsertGLAccount(Stockholder(), StockholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Heading, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCommonStock(), 80); + ContosoGLAccount.InsertGLAccount(CapitalStock(), CapitalStockName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRetEarnings(), 80); + ContosoGLAccount.InsertGLAccount(RetainedEarnings(), RetainedEarningsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Equity, 80); + ContosoGLAccount.InsertGLAccount(NetIncomefortheYear(), NetIncomefortheYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, IncomeStatement() + '..' + NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalStockholder(), TotalStockholderName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::Total, '', '', 0, Stockholder() + '..' + TotalStockholder() + '|' + IncomeStatement() + '..' + NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Allowances(), AllowancesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(DeferredTaxes(), DeferredTaxesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Equity, 80); + ContosoGLAccount.InsertGLAccount(AllowancesTotal(), AllowancesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Equity, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, Allowances() + '..' + AllowancesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities, 80); + ContosoGLAccount.InsertGLAccount(Liabilities(), LiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetLongTermLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(LongtermLiabilities(), LongtermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(LongtermBankLoans(), LongtermBankLoansName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Mortgage(), MortgageName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LongtermLiabilitiesTotal(), LongtermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, LongtermLiabilities() + '..' + LongtermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCurrentLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(ShorttermLiabilities(), ShorttermLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(RevolvingCredit(), RevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, true, false); + ContosoGLAccount.InsertGLAccount(SalesPrepayments(), SalesPrepaymentsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVAT0(), CustomerPrepaymentsVAT0Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Zero(), false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVAT10(), CustomerPrepaymentsVAT10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Reduced(), false, false, false); + ContosoGLAccount.InsertGLAccount(CustomerPrepaymentsVAT25(), CustomerPrepaymentsVAT25Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::" ", '', CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesPrepaymentsTotal(), SalesPrepaymentsTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesPrepayments() + '..' + SalesPrepaymentsTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayable(), AccountsPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsDomestic(), VendorsDomesticName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VendorsForeign(), VendorsForeignName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AccountsPayableTotal(), AccountsPayableTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, AccountsPayable() + '..' + AccountsPayableTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvAdjmtInterim(), InvAdjmtInterimName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvAdjmtInterimRetail(), InvAdjmtInterimRetailName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvAdjmtInterimRawMat(), InvAdjmtInterimRawMatName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvAdjmtInterimTotal(), InvAdjmtInterimTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, InvAdjmtInterim() + '..' + InvAdjmtInterimTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VAT(), VATName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesVAT25(), SalesVAT25Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesVAT10(), SalesVAT10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAR(), 80); + ContosoGLAccount.InsertGLAccount(PurchaseVAT25EU(), PurchaseVAT25EUName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVAT10EU(), PurchaseVAT10EUName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVAT25(), PurchaseVAT25Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchaseVAT10(), PurchaseVAT10Name(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Assets, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities, 80); + ContosoGLAccount.InsertGLAccount(FuelTax(), FuelTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityTax(), ElectricityTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(NaturalGasTax(), NaturalGasTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CoalTax(), CoalTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CO2Tax(), CO2TaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(WaterTax(), WaterTaxName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VATPayable(), VATPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VATTotal(), VATTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, VAT() + '..' + VATTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PersonnelrelatedItems(), PersonnelrelatedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(WithholdingTaxesPayable(), WithholdingTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(SupplementaryTaxesPayable(), SupplementaryTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollLiabilities(), 80); + ContosoGLAccount.InsertGLAccount(PayrollTaxesPayable(), PayrollTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Liabilities, 80); + ContosoGLAccount.InsertGLAccount(VacationCompensationPayable(), VacationCompensationPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(EmployeesPayable(), EmployeesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnelrelatedItems(), TotalPersonnelrelatedItemsName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, PersonnelrelatedItems() + '..' + TotalPersonnelrelatedItems(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherLiabilities(), OtherLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DividendsfortheFiscalYear(), DividendsfortheFiscalYearName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(CorporateTaxesPayable(), CorporateTaxesPayableName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(OtherLiabilitiesTotal(), OtherLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherLiabilities() + '..' + OtherLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ShorttermLiabilitiesTotal(), ShorttermLiabilitiesTotalName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, ShorttermLiabilities() + '..' + ShorttermLiabilitiesTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalLiabilities(), TotalLiabilitiesName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::Liabilities, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, Liabilities() + '..' + TotalLiabilities(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + ContosoGLAccount.InsertGLAccount(TotalLiabilitiesAndEquity(), TotalLiabilitiesAndEquityName(), Enum::"G/L Account Income/Balance"::"Balance Sheet", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 1, LiabilitiesAndEquity() + '..' + TotalLiabilitiesAndEquity() + '|' + IncomeStatement() + '..' + NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, true); + ContosoGLAccount.InsertGLAccount(IncomeStatement(), IncomeStatementName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Heading, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(Revenue(), RevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeProdSales(), 80); + ContosoGLAccount.InsertGLAccount(SalesofRetail(), SalesofRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRetailDom(), SalesRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRetailEU(), SalesRetailEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(SalesRetailExport(), SalesRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesAppliedRetail(), JobSalesAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesAdjmtRetail(), JobSalesAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofRetail(), TotalSalesofRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesofRetail() + '..' + TotalSalesofRetail(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesofRawMaterials(), SalesofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRawMaterialsDom(), SalesRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRawMaterialsEU(), SalesRawMaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesRawMaterialsExport(), SalesRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesAppliedRawMat(), JobSalesAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesAdjmtRawMat(), JobSalesAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofRawMaterials(), TotalSalesofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesofRawMaterials() + '..' + TotalSalesofRawMaterials(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(SalesofResources(), SalesofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeService(), 80); + ContosoGLAccount.InsertGLAccount(SalesResourcesDom(), SalesResourcesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesResourcesEU(), SalesResourcesEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), false, false, false); + ContosoGLAccount.InsertGLAccount(SalesResourcesExport(), SalesResourcesExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesAppliedResources(), JobSalesAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobSalesAdjmtResources(), JobSalesAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofResources(), TotalSalesofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesofResources() + '..' + TotalSalesofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesofJobs(), SalesofJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SalesOtherJobExpenses(), SalesOtherJobExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(JobSales(), JobSalesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSalesofJobs(), TotalSalesofJobsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, SalesofJobs() + '..' + TotalSalesofJobs(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ConsultingFeesDom(), ConsultingFeesDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), true, false, false); + ContosoGLAccount.InsertGLAccount(FeesandChargesRecDom(), FeesandChargesRecDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetIncomeSalesDiscounts(), 80); + ContosoGLAccount.InsertGLAccount(DiscountGranted(), DiscountGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(TotalRevenue(), TotalRevenueName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, Revenue() + '..' + TotalRevenue(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSMaterials(), 80); + ContosoGLAccount.InsertGLAccount(Cost(), CostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofRetail(), CostofRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchRetailDom(), PurchRetailDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(PurchRetailEU(), PurchRetailEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(PurchRetailExport(), PurchRetailExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RetailPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(DiscReceivedRetail(), DiscReceivedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeliveryExpensesRetail(), DeliveryExpensesRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(InventoryAdjmtRetail(), InventoryAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAppliedRetail(), JobCostAppliedRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjmtRetail(), JobCostAdjmtRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofRetailSold(), CostofRetailSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofRetail(), TotalCostofRetailName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofRetail() + '..' + TotalCostofRetail(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofRawMaterials(), CostofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PurchRawMaterialsDom(), PurchRawMaterialsDomName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(PurchRawMaterialsEU(), PurchRawMaterialsEUName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.EU(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(PurchRawMaterialsExport(), PurchRawMaterialsExportName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Export(), CreatePostingGroup.RawMatPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), false, false, false); + ContosoGLAccount.InsertGLAccount(DiscReceivedRawMaterials(), DiscReceivedRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DeliveryExpensesRawMat(), DeliveryExpensesRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(InventoryAdjmtRawMat(), InventoryAdjmtRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAppliedRawMat(), JobCostAppliedRawMatName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjmtRawMaterials(), JobCostAdjmtRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofRawMaterialsSold(), CostofRawMaterialsSoldName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofRawMaterials(), TotalCostofRawMaterialsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofRawMaterials() + '..' + TotalCostofRawMaterials(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::"Cost of Goods Sold", 80); + ContosoGLAccount.InsertGLAccount(CostofResources(), CostofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetCOGSLabor(), 80); + ContosoGLAccount.InsertGLAccount(JobCostAppliedResources(), JobCostAppliedResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCostAdjmtResources(), JobCostAdjmtResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CostofResourcesUsed(), CostofResourcesUsedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalCostofResources(), TotalCostofResourcesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, CostofResources() + '..' + TotalCostofResources(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(JobCosts(), JobCostsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::"Cost of Goods Sold", 80); + ContosoGLAccount.InsertGLAccount(TotalCost(), TotalCostName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::"Cost of Goods Sold", SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, Cost() + '..' + TotalCost(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(OperatingExpenses(), OperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetUtilitiesExpense(), 80); + ContosoGLAccount.InsertGLAccount(BuildingMaintenanceExpenses(), BuildingMaintenanceExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Cleaning(), CleaningName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(ElectricityandHeating(), ElectricityandHeatingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenance(), RepairsandMaintenanceName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(TotalBldgMaintExpenses(), TotalBldgMaintExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, BuildingMaintenanceExpenses() + '..' + TotalBldgMaintExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(AdministrativeExpenses(), AdministrativeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OfficeSupplies(), OfficeSuppliesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(PhoneandFax(), PhoneandFaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(Postage(), PostageName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(TotalAdministrativeExpenses(), TotalAdministrativeExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, AdministrativeExpenses() + '..' + TotalAdministrativeExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(ComputerExpenses(), ComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Software(), SoftwareName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(ConsultantServices(), ConsultantServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.ServicesPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), true, false, false); + ContosoGLAccount.InsertGLAccount(OtherComputerExpenses(), OtherComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(TotalComputerExpenses(), TotalComputerExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, ComputerExpenses() + '..' + TotalComputerExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(SellingExpenses(), SellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetAdvertisingExpense(), 80); + ContosoGLAccount.InsertGLAccount(Advertising(), AdvertisingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(EntertainmentandPR(), EntertainmentandPRName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(Travel(), TravelName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), true, false, false); + ContosoGLAccount.InsertGLAccount(DeliveryExpenses(), DeliveryExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(TotalSellingExpenses(), TotalSellingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, SellingExpenses() + '..' + TotalSellingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(VehicleExpenses(), VehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(GasolineandMotorOil(), GasolineandMotorOilName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(RegistrationFees(), RegistrationFeesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetRepairsExpense(), 80); + ContosoGLAccount.InsertGLAccount(RepairsandMaintenanceExpense(), RepairsandMaintenanceExpenseName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(TotalVehicleExpenses(), TotalVehicleExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, VehicleExpenses() + '..' + TotalVehicleExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(OtherOperatingExpenses(), OtherOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(CashDiscrepancies(), CashDiscrepanciesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(BadDebtExpenses(), BadDebtExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(LegalandAccountingServices(), LegalandAccountingServicesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(Miscellaneous(), MiscellaneousName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + ContosoGLAccount.InsertGLAccount(OtherOperatingExpTotal(), OtherOperatingExpTotalName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, OtherOperatingExpenses() + '..' + OtherOperatingExpTotal(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(TotalOperatingExpenses(), TotalOperatingExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, OperatingExpenses() + '..' + TotalOperatingExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetPayrollExpense(), 80); + ContosoGLAccount.InsertGLAccount(PersonnelExpenses(), PersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(Wages(), WagesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(Salaries(), SalariesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(RetirementPlanContributions(), RetirementPlanContributionsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(VacationCompensation(), VacationCompensationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PayrollTaxes(), PayrollTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(TotalPersonnelExpenses(), TotalPersonnelExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, PersonnelExpenses() + '..' + TotalPersonnelExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(DepreciationofFixedAssets(), DepreciationofFixedAssetsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationBuildings(), DepreciationBuildingsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationEquipment(), DepreciationEquipmentName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(DepreciationVehicles(), DepreciationVehiclesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(GainsandLosses(), GainsandLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalFixedAssetDepreciation(), TotalFixedAssetDepreciationName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, DepreciationofFixedAssets() + '..' + TotalFixedAssetDepreciation(), Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(OtherCostsofOperations(), OtherCostsofOperationsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreatePostingGroup.MiscPostingGroup(), 0, '', Enum::"General Posting Type"::Purchase, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), true, false, false); + + ContosoGLAccount.InsertGLAccount(NetOperatingIncome(), NetOperatingIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 1, IncomeStatement() + '..' + NetOperatingIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(InterestIncome(), InterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestonBankBalances(), InterestonBankBalancesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinanceChargesfromCustomers(), FinanceChargesfromCustomersName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::Sale, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscountsReceived(), PaymentDiscountsReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PmtDiscReceivedDecreases(), PmtDiscReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InvoiceRounding(), InvoiceRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), 0, '', Enum::"General Posting Type"::" ", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), false, false, false); + ContosoGLAccount.InsertGLAccount(ApplicationRounding(), ApplicationRoundingName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PaymentToleranceReceived(), PaymentToleranceReceivedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PmtTolReceivedDecreases(), PmtTolReceivedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalInterestIncome(), TotalInterestIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, InterestIncome() + '..' + TotalInterestIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetInterestExpense(), 80); + ContosoGLAccount.InsertGLAccount(InterestExpenses(), InterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"Begin-Total", '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(InterestonRevolvingCredit(), InterestonRevolvingCreditName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(InterestonBankLoans(), InterestonBankLoansName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(MortgageInterest(), MortgageInterestName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(FinanceChargestoVendors(), FinanceChargestoVendorsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + ContosoGLAccount.InsertGLAccount(PaymentDiscountsGranted(), PaymentDiscountsGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PmtDiscGrantedDecreases(), PmtDiscGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PaymentToleranceGranted(), PaymentToleranceGrantedName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(PmtTolGrantedDecreases(), PmtTolGrantedDecreasesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + ContosoGLAccount.InsertGLAccount(TotalInterestExpenses(), TotalInterestExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::"End-Total", '', '', 0, InterestExpenses() + '..' + TotalInterestExpenses(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(UnrealizedFXGains(), UnrealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(UnrealizedFXLosses(), UnrealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(RealizedFXGains(), RealizedFXGainsName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Expense, 80); + ContosoGLAccount.InsertGLAccount(RealizedFXLosses(), RealizedFXLossesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', false, false, false); + + ContosoGLAccount.InsertGLAccount(NIBEFOREEXTRITEMSTAXES(), NIBEFOREEXTRITEMSTAXESName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 1, IncomeStatement() + '..' + NIBEFOREEXTRITEMSTAXES(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategory."Account Category"::Income, 80); + ContosoGLAccount.InsertGLAccount(ExtraordinaryIncome(), ExtraordinaryIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Income, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetOtherIncomeExpense(), 80); + ContosoGLAccount.InsertGLAccount(ExtraordinaryExpenses(), ExtraordinaryExpensesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(NetIncomeBeforeTaxes(), NetIncomeBeforeTaxesName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 0, IncomeStatement() + '..' + NetIncomeBeforeTaxes(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + SubCategory := Format(GLAccountCategoryMgt.GetTaxExpense(), 80); + ContosoGLAccount.InsertGLAccount(CorporateTax(), CorporateTaxName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::Expense, SubCategory, Enum::"G/L Account Type"::Posting, '', '', 1, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + + ContosoGLAccount.InsertGLAccount(NetIncome(), NetIncomeName(), Enum::"G/L Account Income/Balance"::"Income Statement", Enum::"G/L Account Category"::" ", Enum::"G/L Account Type"::Total, '', '', 1, IncomeStatement() + '..' + NetIncome(), Enum::"General Posting Type"::" ", '', '', false, false, false); + + GLAccountIndent.Indent(); + end; + + procedure AddGLAccountsForLocalization() + begin + ContosoGLAccount.AddAccountForLocalization(BalanceSheetName(), '1000'); + ContosoGLAccount.AddAccountForLocalization(AssetsName(), '1002'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsName(), '1003'); + ContosoGLAccount.AddAccountForLocalization(TangibleFixedAssetsName(), '1005'); + ContosoGLAccount.AddAccountForLocalization(LandandBuildingsBeginTotalName(), '1100'); + ContosoGLAccount.AddAccountForLocalization(LandandBuildingsName(), '1110'); + ContosoGLAccount.AddAccountForLocalization(IncreasesduringtheYearBuildingsName(), '1120'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYearBuildingsName(), '1130'); + ContosoGLAccount.AddAccountForLocalization(AccumDepreciationBuildingsName(), '1140'); + ContosoGLAccount.AddAccountForLocalization(LandandBuildingsTotalName(), '1190'); + ContosoGLAccount.AddAccountForLocalization(OperatingEquipmentBeginTotalName(), '1200'); + ContosoGLAccount.AddAccountForLocalization(OperatingEquipmentName(), '1210'); + ContosoGLAccount.AddAccountForLocalization(IncreasesduringtheYearOperEquipName(), '1220'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYearOperEquipName(), '1230'); + ContosoGLAccount.AddAccountForLocalization(AccumDeprOperEquipName(), '1240'); + ContosoGLAccount.AddAccountForLocalization(OperatingEquipmentTotalName(), '1290'); + ContosoGLAccount.AddAccountForLocalization(VehiclesBeginTotalName(), '1300'); + ContosoGLAccount.AddAccountForLocalization(VehiclesName(), '1310'); + ContosoGLAccount.AddAccountForLocalization(IncreasesduringtheYearVehiclesName(), '1320'); + ContosoGLAccount.AddAccountForLocalization(DecreasesduringtheYearVehiclesName(), '1330'); + ContosoGLAccount.AddAccountForLocalization(AccumDepreciationVehiclesName(), '1340'); + ContosoGLAccount.AddAccountForLocalization(VehiclesTotalName(), '1390'); + ContosoGLAccount.AddAccountForLocalization(TangibleFixedAssetsTotalName(), '1395'); + ContosoGLAccount.AddAccountForLocalization(FixedAssetsTotalName(), '1999'); + ContosoGLAccount.AddAccountForLocalization(CurrentAssetsName(), '2000'); + ContosoGLAccount.AddAccountForLocalization(InventoryName(), '2100'); + ContosoGLAccount.AddAccountForLocalization(ResaleItemsName(), '2110'); + ContosoGLAccount.AddAccountForLocalization(ResaleItemsInterimName(), '2111'); + ContosoGLAccount.AddAccountForLocalization(CostofResaleSoldInterimName(), '2112'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsName(), '2120'); + ContosoGLAccount.AddAccountForLocalization(FinishedGoodsInterimName(), '2121'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsName(), '2130'); + ContosoGLAccount.AddAccountForLocalization(RawMaterialsInterimName(), '2131'); + ContosoGLAccount.AddAccountForLocalization(CostofRawMatSoldInterimName(), '2132'); + ContosoGLAccount.AddAccountForLocalization(PrimoInventoryName(), '2180'); + ContosoGLAccount.AddAccountForLocalization(InventoryTotalName(), '2190'); + ContosoGLAccount.AddAccountForLocalization(JobWIPName(), '2200'); + ContosoGLAccount.AddAccountForLocalization(WIPSalesName(), '2210'); + ContosoGLAccount.AddAccountForLocalization(WIPJobSalesName(), '2211'); + ContosoGLAccount.AddAccountForLocalization(InvoicedJobSalesName(), '2212'); + ContosoGLAccount.AddAccountForLocalization(WIPSalesTotalName(), '2220'); + ContosoGLAccount.AddAccountForLocalization(WIPCostsName(), '2230'); + ContosoGLAccount.AddAccountForLocalization(WIPJobCostsName(), '2231'); + ContosoGLAccount.AddAccountForLocalization(AccruedJobCostsName(), '2232'); + ContosoGLAccount.AddAccountForLocalization(WIPCostsTotalName(), '2240'); + ContosoGLAccount.AddAccountForLocalization(JobWIPTotalName(), '2290'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivableName(), '2300'); + ContosoGLAccount.AddAccountForLocalization(CustomersDomesticName(), '2310'); + ContosoGLAccount.AddAccountForLocalization(CustomersForeignName(), '2320'); + ContosoGLAccount.AddAccountForLocalization(AccruedInterestName(), '2330'); + ContosoGLAccount.AddAccountForLocalization(OtherReceivablesName(), '2340'); + ContosoGLAccount.AddAccountForLocalization(AccountsReceivableTotalName(), '2390'); + ContosoGLAccount.AddAccountForLocalization(PurchasePrepaymentsName(), '2400'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVATName(), '2410'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVAT10Name(), '2420'); + ContosoGLAccount.AddAccountForLocalization(VendorPrepaymentsVAT25Name(), '2430'); + ContosoGLAccount.AddAccountForLocalization(PurchasePrepaymentsTotalName(), '2440'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesName(), '2800'); + ContosoGLAccount.AddAccountForLocalization(BondsName(), '2810'); + ContosoGLAccount.AddAccountForLocalization(SecuritiesTotalName(), '2890'); + ContosoGLAccount.AddAccountForLocalization(LiquidAssetsName(), '2900'); + ContosoGLAccount.AddAccountForLocalization(CashName(), '2910'); + ContosoGLAccount.AddAccountForLocalization(BankLCYName(), '2920'); + ContosoGLAccount.AddAccountForLocalization(BankCurrenciesName(), '2930'); + ContosoGLAccount.AddAccountForLocalization(GiroAccountName(), '2940'); + ContosoGLAccount.AddAccountForLocalization(LiquidAssetsTotalName(), '2990'); + ContosoGLAccount.AddAccountForLocalization(CurrentAssetsTotalName(), '2995'); + ContosoGLAccount.AddAccountForLocalization(TotalAssetsName(), '2999'); + ContosoGLAccount.AddAccountForLocalization(LiabilitiesAndEquityName(), '3000'); + ContosoGLAccount.AddAccountForLocalization(StockholderName(), '3100'); + ContosoGLAccount.AddAccountForLocalization(CapitalStockName(), '3110'); + ContosoGLAccount.AddAccountForLocalization(RetainedEarningsName(), '3120'); + ContosoGLAccount.AddAccountForLocalization(NetIncomefortheYearName(), '3195'); + ContosoGLAccount.AddAccountForLocalization(TotalStockholderName(), '3199'); + ContosoGLAccount.AddAccountForLocalization(AllowancesName(), '4000'); + ContosoGLAccount.AddAccountForLocalization(DeferredTaxesName(), '4010'); + ContosoGLAccount.AddAccountForLocalization(AllowancesTotalName(), '4999'); + ContosoGLAccount.AddAccountForLocalization(LiabilitiesName(), '5000'); + ContosoGLAccount.AddAccountForLocalization(LongtermLiabilitiesName(), '5100'); + ContosoGLAccount.AddAccountForLocalization(LongtermBankLoansName(), '5110'); + ContosoGLAccount.AddAccountForLocalization(MortgageName(), '5120'); + ContosoGLAccount.AddAccountForLocalization(LongtermLiabilitiesTotalName(), '5290'); + ContosoGLAccount.AddAccountForLocalization(ShorttermLiabilitiesName(), '5300'); + ContosoGLAccount.AddAccountForLocalization(RevolvingCreditName(), '5310'); + ContosoGLAccount.AddAccountForLocalization(SalesPrepaymentsName(), '5350'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVAT0Name(), '5360'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVAT10Name(), '5370'); + ContosoGLAccount.AddAccountForLocalization(CustomerPrepaymentsVAT25Name(), '5380'); + ContosoGLAccount.AddAccountForLocalization(SalesPrepaymentsTotalName(), '5390'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableName(), '5400'); + ContosoGLAccount.AddAccountForLocalization(VendorsDomesticName(), '5410'); + ContosoGLAccount.AddAccountForLocalization(VendorsForeignName(), '5420'); + ContosoGLAccount.AddAccountForLocalization(AccountsPayableTotalName(), '5490'); + ContosoGLAccount.AddAccountForLocalization(InvAdjmtInterimName(), '5500'); + ContosoGLAccount.AddAccountForLocalization(InvAdjmtInterimRetailName(), '5510'); + ContosoGLAccount.AddAccountForLocalization(InvAdjmtInterimRawMatName(), '5530'); + ContosoGLAccount.AddAccountForLocalization(InvAdjmtInterimTotalName(), '5590'); + ContosoGLAccount.AddAccountForLocalization(VATName(), '5600'); + ContosoGLAccount.AddAccountForLocalization(SalesVAT25Name(), '5610'); + ContosoGLAccount.AddAccountForLocalization(SalesVAT10Name(), '5611'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVAT25EUName(), '5620'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVAT10EUName(), '5621'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVAT25Name(), '5630'); + ContosoGLAccount.AddAccountForLocalization(PurchaseVAT10Name(), '5631'); + ContosoGLAccount.AddAccountForLocalization(FuelTaxName(), '5710'); + ContosoGLAccount.AddAccountForLocalization(ElectricityTaxName(), '5720'); + ContosoGLAccount.AddAccountForLocalization(NaturalGasTaxName(), '5730'); + ContosoGLAccount.AddAccountForLocalization(CoalTaxName(), '5740'); + ContosoGLAccount.AddAccountForLocalization(CO2TaxName(), '5750'); + ContosoGLAccount.AddAccountForLocalization(WaterTaxName(), '5760'); + ContosoGLAccount.AddAccountForLocalization(VATPayableName(), '5780'); + ContosoGLAccount.AddAccountForLocalization(VATTotalName(), '5790'); + ContosoGLAccount.AddAccountForLocalization(PersonnelrelatedItemsName(), '5800'); + ContosoGLAccount.AddAccountForLocalization(WithholdingTaxesPayableName(), '5810'); + ContosoGLAccount.AddAccountForLocalization(SupplementaryTaxesPayableName(), '5820'); + ContosoGLAccount.AddAccountForLocalization(PayrollTaxesPayableName(), '5830'); + ContosoGLAccount.AddAccountForLocalization(VacationCompensationPayableName(), '5840'); + ContosoGLAccount.AddAccountForLocalization(EmployeesPayableName(), '5850'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelrelatedItemsName(), '5890'); + ContosoGLAccount.AddAccountForLocalization(OtherLiabilitiesName(), '5900'); + ContosoGLAccount.AddAccountForLocalization(DividendsfortheFiscalYearName(), '5910'); + ContosoGLAccount.AddAccountForLocalization(CorporateTaxesPayableName(), '5920'); + ContosoGLAccount.AddAccountForLocalization(OtherLiabilitiesTotalName(), '5990'); + ContosoGLAccount.AddAccountForLocalization(ShorttermLiabilitiesTotalName(), '5995'); + ContosoGLAccount.AddAccountForLocalization(TotalLiabilitiesName(), '5997'); + ContosoGLAccount.AddAccountForLocalization(TotalLiabilitiesAndEquityName(), '5999'); + ContosoGLAccount.AddAccountForLocalization(IncomeStatementName(), '6000'); + ContosoGLAccount.AddAccountForLocalization(RevenueName(), '6100'); + ContosoGLAccount.AddAccountForLocalization(SalesofRetailName(), '6105'); + ContosoGLAccount.AddAccountForLocalization(SalesRetailDomName(), '6110'); + ContosoGLAccount.AddAccountForLocalization(SalesRetailEUName(), '6120'); + ContosoGLAccount.AddAccountForLocalization(SalesRetailExportName(), '6130'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedRetailName(), '6190'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAdjmtRetailName(), '6191'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofRetailName(), '6195'); + ContosoGLAccount.AddAccountForLocalization(SalesofRawMaterialsName(), '6205'); + ContosoGLAccount.AddAccountForLocalization(SalesRawMaterialsDomName(), '6210'); + ContosoGLAccount.AddAccountForLocalization(SalesRawMaterialsEUName(), '6220'); + ContosoGLAccount.AddAccountForLocalization(SalesRawMaterialsExportName(), '6230'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedRawMatName(), '6290'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAdjmtRawMatName(), '6291'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofRawMaterialsName(), '6295'); + ContosoGLAccount.AddAccountForLocalization(SalesofResourcesName(), '6405'); + ContosoGLAccount.AddAccountForLocalization(SalesResourcesDomName(), '6410'); + ContosoGLAccount.AddAccountForLocalization(SalesResourcesEUName(), '6420'); + ContosoGLAccount.AddAccountForLocalization(SalesResourcesExportName(), '6430'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAppliedResourcesName(), '6490'); + ContosoGLAccount.AddAccountForLocalization(JobSalesAdjmtResourcesName(), '6491'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofResourcesName(), '6495'); + ContosoGLAccount.AddAccountForLocalization(SalesofJobsName(), '6605'); + ContosoGLAccount.AddAccountForLocalization(SalesOtherJobExpensesName(), '6610'); + ContosoGLAccount.AddAccountForLocalization(JobSalesName(), '6620'); + ContosoGLAccount.AddAccountForLocalization(TotalSalesofJobsName(), '6695'); + ContosoGLAccount.AddAccountForLocalization(ConsultingFeesDomName(), '6710'); + ContosoGLAccount.AddAccountForLocalization(FeesandChargesRecDomName(), '6810'); + ContosoGLAccount.AddAccountForLocalization(DiscountGrantedName(), '6910'); + ContosoGLAccount.AddAccountForLocalization(TotalRevenueName(), '6995'); + ContosoGLAccount.AddAccountForLocalization(CostName(), '7100'); + ContosoGLAccount.AddAccountForLocalization(CostofRetailName(), '7105'); + ContosoGLAccount.AddAccountForLocalization(PurchRetailDomName(), '7110'); + ContosoGLAccount.AddAccountForLocalization(PurchRetailEUName(), '7120'); + ContosoGLAccount.AddAccountForLocalization(PurchRetailExportName(), '7130'); + ContosoGLAccount.AddAccountForLocalization(DiscReceivedRetailName(), '7140'); + ContosoGLAccount.AddAccountForLocalization(DeliveryExpensesRetailName(), '7150'); + ContosoGLAccount.AddAccountForLocalization(InventoryAdjmtRetailName(), '7170'); + ContosoGLAccount.AddAccountForLocalization(JobCostAppliedRetailName(), '7180'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjmtRetailName(), '7181'); + ContosoGLAccount.AddAccountForLocalization(CostofRetailSoldName(), '7190'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofRetailName(), '7195'); + ContosoGLAccount.AddAccountForLocalization(CostofRawMaterialsName(), '7205'); + ContosoGLAccount.AddAccountForLocalization(PurchRawMaterialsDomName(), '7210'); + ContosoGLAccount.AddAccountForLocalization(PurchRawMaterialsEUName(), '7220'); + ContosoGLAccount.AddAccountForLocalization(PurchRawMaterialsExportName(), '7230'); + ContosoGLAccount.AddAccountForLocalization(DiscReceivedRawMaterialsName(), '7240'); + ContosoGLAccount.AddAccountForLocalization(DeliveryExpensesRawMatName(), '7250'); + ContosoGLAccount.AddAccountForLocalization(InventoryAdjmtRawMatName(), '7270'); + ContosoGLAccount.AddAccountForLocalization(JobCostAppliedRawMatName(), '7280'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjmtRawMaterialsName(), '7281'); + ContosoGLAccount.AddAccountForLocalization(CostofRawMaterialsSoldName(), '7290'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofRawMaterialsName(), '7295'); + ContosoGLAccount.AddAccountForLocalization(CostofResourcesName(), '7405'); + ContosoGLAccount.AddAccountForLocalization(JobCostAppliedResourcesName(), '7480'); + ContosoGLAccount.AddAccountForLocalization(JobCostAdjmtResourcesName(), '7481'); + ContosoGLAccount.AddAccountForLocalization(CostofResourcesUsedName(), '7490'); + ContosoGLAccount.AddAccountForLocalization(TotalCostofResourcesName(), '7495'); + ContosoGLAccount.AddAccountForLocalization(JobCostsName(), '7620'); + ContosoGLAccount.AddAccountForLocalization(TotalCostName(), '7995'); + ContosoGLAccount.AddAccountForLocalization(OperatingExpensesName(), '8000'); + ContosoGLAccount.AddAccountForLocalization(BuildingMaintenanceExpensesName(), '8100'); + ContosoGLAccount.AddAccountForLocalization(CleaningName(), '8110'); + ContosoGLAccount.AddAccountForLocalization(ElectricityandHeatingName(), '8120'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceName(), '8130'); + ContosoGLAccount.AddAccountForLocalization(TotalBldgMaintExpensesName(), '8190'); + ContosoGLAccount.AddAccountForLocalization(AdministrativeExpensesName(), '8200'); + ContosoGLAccount.AddAccountForLocalization(OfficeSuppliesName(), '8210'); + ContosoGLAccount.AddAccountForLocalization(PhoneandFaxName(), '8230'); + ContosoGLAccount.AddAccountForLocalization(PostageName(), '8240'); + ContosoGLAccount.AddAccountForLocalization(TotalAdministrativeExpensesName(), '8290'); + ContosoGLAccount.AddAccountForLocalization(ComputerExpensesName(), '8300'); + ContosoGLAccount.AddAccountForLocalization(SoftwareName(), '8310'); + ContosoGLAccount.AddAccountForLocalization(ConsultantServicesName(), '8320'); + ContosoGLAccount.AddAccountForLocalization(OtherComputerExpensesName(), '8330'); + ContosoGLAccount.AddAccountForLocalization(TotalComputerExpensesName(), '8390'); + ContosoGLAccount.AddAccountForLocalization(SellingExpensesName(), '8400'); + ContosoGLAccount.AddAccountForLocalization(AdvertisingName(), '8410'); + ContosoGLAccount.AddAccountForLocalization(EntertainmentandPRName(), '8420'); + ContosoGLAccount.AddAccountForLocalization(TravelName(), '8430'); + ContosoGLAccount.AddAccountForLocalization(DeliveryExpensesName(), '8450'); + ContosoGLAccount.AddAccountForLocalization(TotalSellingExpensesName(), '8490'); + ContosoGLAccount.AddAccountForLocalization(VehicleExpensesName(), '8500'); + ContosoGLAccount.AddAccountForLocalization(GasolineandMotorOilName(), '8510'); + ContosoGLAccount.AddAccountForLocalization(RegistrationFeesName(), '8520'); + ContosoGLAccount.AddAccountForLocalization(RepairsandMaintenanceExpenseName(), '8530'); + ContosoGLAccount.AddAccountForLocalization(TotalVehicleExpensesName(), '8590'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingExpensesName(), '8600'); + ContosoGLAccount.AddAccountForLocalization(CashDiscrepanciesName(), '8610'); + ContosoGLAccount.AddAccountForLocalization(BadDebtExpensesName(), '8620'); + ContosoGLAccount.AddAccountForLocalization(LegalandAccountingServicesName(), '8630'); + ContosoGLAccount.AddAccountForLocalization(MiscellaneousName(), '8640'); + ContosoGLAccount.AddAccountForLocalization(OtherOperatingExpTotalName(), '8690'); + ContosoGLAccount.AddAccountForLocalization(TotalOperatingExpensesName(), '8695'); + ContosoGLAccount.AddAccountForLocalization(PersonnelExpensesName(), '8700'); + ContosoGLAccount.AddAccountForLocalization(WagesName(), '8710'); + ContosoGLAccount.AddAccountForLocalization(SalariesName(), '8720'); + ContosoGLAccount.AddAccountForLocalization(RetirementPlanContributionsName(), '8730'); + ContosoGLAccount.AddAccountForLocalization(VacationCompensationName(), '8740'); + ContosoGLAccount.AddAccountForLocalization(PayrollTaxesName(), '8750'); + ContosoGLAccount.AddAccountForLocalization(TotalPersonnelExpensesName(), '8790'); + ContosoGLAccount.AddAccountForLocalization(DepreciationofFixedAssetsName(), '8800'); + ContosoGLAccount.AddAccountForLocalization(DepreciationBuildingsName(), '8810'); + ContosoGLAccount.AddAccountForLocalization(DepreciationEquipmentName(), '8820'); + ContosoGLAccount.AddAccountForLocalization(DepreciationVehiclesName(), '8830'); + ContosoGLAccount.AddAccountForLocalization(GainsandLossesName(), '8840'); + ContosoGLAccount.AddAccountForLocalization(TotalFixedAssetDepreciationName(), '8890'); + ContosoGLAccount.AddAccountForLocalization(OtherCostsofOperationsName(), '8910'); + ContosoGLAccount.AddAccountForLocalization(NetOperatingIncomeName(), '8995'); + ContosoGLAccount.AddAccountForLocalization(InterestIncomeName(), '9100'); + ContosoGLAccount.AddAccountForLocalization(InterestonBankBalancesName(), '9110'); + ContosoGLAccount.AddAccountForLocalization(FinanceChargesfromCustomersName(), '9120'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscountsReceivedName(), '9130'); + ContosoGLAccount.AddAccountForLocalization(PmtDiscReceivedDecreasesName(), '9135'); + ContosoGLAccount.AddAccountForLocalization(InvoiceRoundingName(), '9140'); + ContosoGLAccount.AddAccountForLocalization(ApplicationRoundingName(), '9150'); + ContosoGLAccount.AddAccountForLocalization(PaymentToleranceReceivedName(), '9160'); + ContosoGLAccount.AddAccountForLocalization(PmtTolReceivedDecreasesName(), '9170'); + ContosoGLAccount.AddAccountForLocalization(TotalInterestIncomeName(), '9190'); + ContosoGLAccount.AddAccountForLocalization(InterestExpensesName(), '9200'); + ContosoGLAccount.AddAccountForLocalization(InterestonRevolvingCreditName(), '9210'); + ContosoGLAccount.AddAccountForLocalization(InterestonBankLoansName(), '9220'); + ContosoGLAccount.AddAccountForLocalization(MortgageInterestName(), '9230'); + ContosoGLAccount.AddAccountForLocalization(FinanceChargestoVendorsName(), '9240'); + ContosoGLAccount.AddAccountForLocalization(PaymentDiscountsGrantedName(), '9250'); + ContosoGLAccount.AddAccountForLocalization(PmtDiscGrantedDecreasesName(), '9255'); + ContosoGLAccount.AddAccountForLocalization(PaymentToleranceGrantedName(), '9260'); + ContosoGLAccount.AddAccountForLocalization(PmtTolGrantedDecreasesName(), '9270'); + ContosoGLAccount.AddAccountForLocalization(TotalInterestExpensesName(), '9290'); + ContosoGLAccount.AddAccountForLocalization(UnrealizedFXGainsName(), '9310'); + ContosoGLAccount.AddAccountForLocalization(UnrealizedFXLossesName(), '9320'); + ContosoGLAccount.AddAccountForLocalization(RealizedFXGainsName(), '9330'); + ContosoGLAccount.AddAccountForLocalization(RealizedFXLossesName(), '9340'); + ContosoGLAccount.AddAccountForLocalization(NIBEFOREEXTRITEMSTAXESName(), '9395'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryIncomeName(), '9410'); + ContosoGLAccount.AddAccountForLocalization(ExtraordinaryExpensesName(), '9420'); + ContosoGLAccount.AddAccountForLocalization(NetIncomeBeforeTaxesName(), '9495'); + ContosoGLAccount.AddAccountForLocalization(CorporateTaxName(), '9510'); + ContosoGLAccount.AddAccountForLocalization(NetIncomeName(), '9999'); + + OnAfterAddGLAccountsForLocalization(); + end; + + procedure BalanceSheet(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BalanceSheetName())); + end; + + procedure BalanceSheetName(): Text[100] + begin + exit(BalanceSheetLbl); + end; + + procedure Assets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AssetsName())); + end; + + procedure AssetsName(): Text[100] + begin + exit(AssetsLbl); + end; + + procedure FixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsName())); + end; + + procedure FixedAssetsName(): Text[100] + begin + exit(FixedAssetsLbl); + end; + + procedure TangibleFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleFixedAssetsName())); + end; + + procedure TangibleFixedAssetsName(): Text[100] + begin + exit(TangibleFixedAssetsLbl); + end; + + procedure LandandBuildingsBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandandBuildingsBeginTotalName())); + end; + + procedure LandandBuildingsBeginTotalName(): Text[100] + begin + exit(LandandBuildingsBeginTotalLbl); + end; + + + procedure LandandBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandandBuildingsName())); + end; + + procedure LandandBuildingsName(): Text[100] + begin + exit(LandandBuildingsLbl); + end; + + procedure IncreasesduringtheYearBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncreasesduringtheYearBuildingsName())); + end; + + procedure IncreasesduringtheYearBuildingsName(): Text[100] + begin + exit(IncreasesduringtheYearBuildingsLbl); + end; + + procedure DecreasesduringtheYearBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYearBuildingsName())); + end; + + procedure DecreasesduringtheYearBuildingsName(): Text[100] + begin + exit(DecreasesduringtheYearBuildingsLbl); + end; + + procedure AccumDepreciationBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumDepreciationBuildingsName())); + end; + + procedure AccumDepreciationBuildingsName(): Text[100] + begin + exit(AccumDepreciationBuildingsLbl); + end; + + procedure LandandBuildingsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LandandBuildingsTotalName())); + end; + + procedure LandandBuildingsTotalName(): Text[100] + begin + exit(LandandBuildingsTotalLbl); + end; + + procedure OperatingEquipmentBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingEquipmentBeginTotalName())); + end; + + procedure OperatingEquipmentBeginTotalName(): Text[100] + begin + exit(OperatingEquipmentBeginTotalLbl); + end; + + procedure OperatingEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingEquipmentName())); + end; + + procedure OperatingEquipmentName(): Text[100] + begin + exit(OperatingEquipmentLbl); + end; + + procedure IncreasesduringtheYearOperEquip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncreasesduringtheYearOperEquipName())); + end; + + procedure IncreasesduringtheYearOperEquipName(): Text[100] + begin + exit(IncreasesduringtheYearLbl); + end; + + procedure DecreasesduringtheYearOperEquip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYearOperEquipName())); + end; + + procedure DecreasesduringtheYearOperEquipName(): Text[100] + begin + exit(DecreasesduringtheYearLbl); + end; + + procedure AccumDeprOperEquip(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumDeprOperEquipName())); + end; + + procedure AccumDeprOperEquipName(): Text[100] + begin + exit(AccumDeprOperEquipLbl); + end; + + procedure OperatingEquipmentTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingEquipmentTotalName())); + end; + + procedure OperatingEquipmentTotalName(): Text[100] + begin + exit(OperatingEquipmentTotalLbl); + end; + + procedure VehiclesBeginTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehiclesBeginTotalName())); + end; + + procedure VehiclesBeginTotalName(): Text[100] + begin + exit(VehiclesBeginTotalLbl); + end; + + procedure Vehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehiclesName())); + end; + + procedure VehiclesName(): Text[100] + begin + exit(VehiclesLbl); + end; + + procedure IncreasesduringtheYearVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncreasesduringtheYearVehiclesName())); + end; + + procedure IncreasesduringtheYearVehiclesName(): Text[100] + begin + exit(IncreasesduringtheYearVehiclesLbl); + end; + + procedure DecreasesduringtheYearVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DecreasesduringtheYearVehiclesName())); + end; + + procedure DecreasesduringtheYearVehiclesName(): Text[100] + begin + exit(DecreasesduringtheYearVehiclesLbl); + end; + + procedure AccumDepreciationVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccumDepreciationVehiclesName())); + end; + + procedure AccumDepreciationVehiclesName(): Text[100] + begin + exit(AccumDepreciationVehiclesLbl); + end; + + procedure VehiclesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehiclesTotalName())); + end; + + procedure VehiclesTotalName(): Text[100] + begin + exit(VehiclesTotalLbl); + end; + + procedure TangibleFixedAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TangibleFixedAssetsTotalName())); + end; + + procedure TangibleFixedAssetsTotalName(): Text[100] + begin + exit(TangibleFixedAssetsTotalLbl); + end; + + procedure FixedAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FixedAssetsTotalName())); + end; + + procedure FixedAssetsTotalName(): Text[100] + begin + exit(FixedAssetsTotalLbl); + end; + + procedure CurrentAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentAssetsName())); + end; + + procedure CurrentAssetsName(): Text[100] + begin + exit(CurrentAssetsLbl); + end; + + procedure Inventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryName())); + end; + + procedure InventoryName(): Text[100] + begin + exit(InventoryLbl); + end; + + procedure ResaleItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResaleItemsName())); + end; + + procedure ResaleItemsName(): Text[100] + begin + exit(ResaleItemsLbl); + end; + + procedure ResaleItemsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ResaleItemsInterimName())); + end; + + procedure ResaleItemsInterimName(): Text[100] + begin + exit(ResaleItemsInterimLbl); + end; + + procedure CostofResaleSoldInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofResaleSoldInterimName())); + end; + + procedure CostofResaleSoldInterimName(): Text[100] + begin + exit(CostofResaleSoldInterimLbl); + end; + + procedure FinishedGoods(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsName())); + end; + + procedure FinishedGoodsName(): Text[100] + begin + exit(FinishedGoodsLbl); + end; + + procedure FinishedGoodsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinishedGoodsInterimName())); + end; + + procedure FinishedGoodsInterimName(): Text[100] + begin + exit(FinishedGoodsInterimLbl); + end; + + procedure RawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsName())); + end; + + procedure RawMaterialsName(): Text[100] + begin + exit(RawMaterialsLbl); + end; + + procedure RawMaterialsInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RawMaterialsInterimName())); + end; + + procedure RawMaterialsInterimName(): Text[100] + begin + exit(RawMaterialsInterimLbl); + end; + + procedure CostofRawMatSoldInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofRawMatSoldInterimName())); + end; + + procedure CostofRawMatSoldInterimName(): Text[100] + begin + exit(CostofRawMatSoldInterimLbl); + end; + + procedure PrimoInventory(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PrimoInventoryName())); + end; + + procedure PrimoInventoryName(): Text[100] + begin + exit(PrimoInventoryLbl); + end; + + procedure InventoryTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryTotalName())); + end; + + procedure InventoryTotalName(): Text[100] + begin + exit(InventoryTotalLbl); + end; + + procedure JobWIP(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobWIPName())); + end; + + procedure JobWIPName(): Text[100] + begin + exit(JobWIPLbl); + end; + + procedure WIPSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPSalesName())); + end; + + procedure WIPSalesName(): Text[100] + begin + exit(WIPSalesLbl); + end; + + procedure WIPJobSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPJobSalesName())); + end; + + procedure WIPJobSalesName(): Text[100] + begin + exit(WIPJobSalesLbl); + end; + + procedure InvoicedJobSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoicedJobSalesName())); + end; + + procedure InvoicedJobSalesName(): Text[100] + begin + exit(InvoicedJobSalesLbl); + end; + + procedure WIPSalesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPSalesTotalName())); + end; + + procedure WIPSalesTotalName(): Text[100] + begin + exit(WIPSalesTotalLbl); + end; + + procedure WIPCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPCostsName())); + end; + + procedure WIPCostsName(): Text[100] + begin + exit(WIPCostsLbl); + end; + + procedure WIPJobCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPJobCostsName())); + end; + + procedure WIPJobCostsName(): Text[100] + begin + exit(WIPJobCostsLbl); + end; + + procedure AccruedJobCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedJobCostsName())); + end; + + procedure AccruedJobCostsName(): Text[100] + begin + exit(AccruedJobCostsLbl); + end; + + procedure WIPCostsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WIPCostsTotalName())); + end; + + procedure WIPCostsTotalName(): Text[100] + begin + exit(WIPCostsTotalLbl); + end; + + procedure JobWIPTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobWIPTotalName())); + end; + + procedure JobWIPTotalName(): Text[100] + begin + exit(JobWIPTotalLbl); + end; + + procedure AccountsReceivable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivableName())); + end; + + procedure AccountsReceivableName(): Text[100] + begin + exit(AccountsReceivableLbl); + end; + + procedure CustomersDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomersDomesticName())); + end; + + procedure CustomersDomesticName(): Text[100] + begin + exit(CustomersDomesticLbl); + end; + + procedure CustomersForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomersForeignName())); + end; + + procedure CustomersForeignName(): Text[100] + begin + exit(CustomersForeignLbl); + end; + + procedure AccruedInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccruedInterestName())); + end; + + procedure AccruedInterestName(): Text[100] + begin + exit(AccruedInterestLbl); + end; + + procedure OtherReceivables(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherReceivablesName())); + end; + + procedure OtherReceivablesName(): Text[100] + begin + exit(OtherReceivablesLbl); + end; + + procedure AccountsReceivableTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsReceivableTotalName())); + end; + + procedure AccountsReceivableTotalName(): Text[100] + begin + exit(AccountsReceivableTotalLbl); + end; + + procedure PurchasePrepayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasePrepaymentsName())); + end; + + procedure PurchasePrepaymentsName(): Text[100] + begin + exit(PurchasePrepaymentsLbl); + end; + + procedure VendorPrepaymentsVAT(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVATName())); + end; + + procedure VendorPrepaymentsVATName(): Text[100] + begin + exit(VendorPrepaymentsVATLbl); + end; + + procedure VendorPrepaymentsVAT10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVAT10Name())); + end; + + procedure VendorPrepaymentsVAT10Name(): Text[100] + begin + exit(VendorPrepaymentsVAT10Lbl); + end; + + procedure VendorPrepaymentsVAT25(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorPrepaymentsVAT25Name())); + end; + + procedure VendorPrepaymentsVAT25Name(): Text[100] + begin + exit(VendorPrepaymentsVAT25Lbl); + end; + + procedure PurchasePrepaymentsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchasePrepaymentsTotalName())); + end; + + procedure PurchasePrepaymentsTotalName(): Text[100] + begin + exit(PurchasePrepaymentsTotalLbl); + end; + + procedure Securities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesName())); + end; + + procedure SecuritiesName(): Text[100] + begin + exit(SecuritiesLbl); + end; + + procedure Bonds(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BondsName())); + end; + + procedure BondsName(): Text[100] + begin + exit(BondsLbl); + end; + + procedure SecuritiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SecuritiesTotalName())); + end; + + procedure SecuritiesTotalName(): Text[100] + begin + exit(SecuritiesTotalLbl); + end; + + procedure LiquidAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiquidAssetsName())); + end; + + procedure LiquidAssetsName(): Text[100] + begin + exit(LiquidAssetsLbl); + end; + + procedure Cash(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashName())); + end; + + procedure CashName(): Text[100] + begin + exit(CashLbl); + end; + + procedure BankLCY(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankLCYName())); + end; + + procedure BankLCYName(): Text[100] + begin + exit(BankLCYLbl); + end; + + procedure BankCurrencies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BankCurrenciesName())); + end; + + procedure BankCurrenciesName(): Text[100] + begin + exit(BankCurrenciesLbl); + end; + + procedure GiroAccount(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GiroAccountName())); + end; + + procedure GiroAccountName(): Text[100] + begin + exit(GiroAccountLbl); + end; + + procedure LiquidAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiquidAssetsTotalName())); + end; + + procedure LiquidAssetsTotalName(): Text[100] + begin + exit(LiquidAssetsTotalLbl); + end; + + procedure CurrentAssetsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CurrentAssetsTotalName())); + end; + + procedure CurrentAssetsTotalName(): Text[100] + begin + exit(CurrentAssetsTotalLbl); + end; + + procedure TotalAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAssetsName())); + end; + + procedure TotalAssetsName(): Text[100] + begin + exit(TotalAssetsLbl); + end; + + procedure LiabilitiesAndEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilitiesAndEquityName())); + end; + + procedure LiabilitiesAndEquityName(): Text[100] + begin + exit(LiabilitiesAndEquityLbl); + end; + + procedure Stockholder(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(StockholderName())); + end; + + procedure StockholderName(): Text[100] + begin + exit(StockholderLbl); + end; + + procedure CapitalStock(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CapitalStockName())); + end; + + procedure CapitalStockName(): Text[100] + begin + exit(CapitalStockLbl); + end; + + procedure RetainedEarnings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetainedEarningsName())); + end; + + procedure RetainedEarningsName(): Text[100] + begin + exit(RetainedEarningsLbl); + end; + + procedure NetIncomefortheYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetIncomefortheYearName())); + end; + + procedure NetIncomefortheYearName(): Text[100] + begin + exit(NetIncomefortheYearLbl); + end; + + procedure TotalStockholder(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalStockholderName())); + end; + + procedure TotalStockholderName(): Text[100] + begin + exit(TotalStockholderLbl); + end; + + procedure Allowances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AllowancesName())); + end; + + procedure AllowancesName(): Text[100] + begin + exit(AllowancesLbl); + end; + + procedure DeferredTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeferredTaxesName())); + end; + + procedure DeferredTaxesName(): Text[100] + begin + exit(DeferredTaxesLbl); + end; + + procedure AllowancesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AllowancesTotalName())); + end; + + procedure AllowancesTotalName(): Text[100] + begin + exit(AllowancesTotalLbl); + end; + + procedure Liabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LiabilitiesName())); + end; + + procedure LiabilitiesName(): Text[100] + begin + exit(LiabilitiesLbl); + end; + + procedure LongtermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongtermLiabilitiesName())); + end; + + procedure LongtermLiabilitiesName(): Text[100] + begin + exit(LongtermLiabilitiesLbl); + end; + + procedure LongtermBankLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongtermBankLoansName())); + end; + + procedure LongtermBankLoansName(): Text[100] + begin + exit(LongtermBankLoansLbl); + end; + + procedure Mortgage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MortgageName())); + end; + + procedure MortgageName(): Text[100] + begin + exit(MortgageLbl); + end; + + procedure LongtermLiabilitiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LongtermLiabilitiesTotalName())); + end; + + procedure LongtermLiabilitiesTotalName(): Text[100] + begin + exit(LongtermLiabilitiesTotalLbl); + end; + + procedure ShorttermLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShorttermLiabilitiesName())); + end; + + procedure ShorttermLiabilitiesName(): Text[100] + begin + exit(ShorttermLiabilitiesLbl); + end; + + procedure RevolvingCredit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevolvingCreditName())); + end; + + procedure RevolvingCreditName(): Text[100] + begin + exit(RevolvingCreditLbl); + end; + + procedure SalesPrepayments(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesPrepaymentsName())); + end; + + procedure SalesPrepaymentsName(): Text[100] + begin + exit(SalesPrepaymentsLbl); + end; + + procedure CustomerPrepaymentsVAT0(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVAT0Name())); + end; + + procedure CustomerPrepaymentsVAT0Name(): Text[100] + begin + exit(CustomerPrepaymentsVAT0Lbl); + end; + + procedure CustomerPrepaymentsVAT10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVAT10Name())); + end; + + procedure CustomerPrepaymentsVAT10Name(): Text[100] + begin + exit(CustomerPrepaymentsVAT10Lbl); + end; + + procedure CustomerPrepaymentsVAT25(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CustomerPrepaymentsVAT25Name())); + end; + + procedure CustomerPrepaymentsVAT25Name(): Text[100] + begin + exit(CustomerPrepaymentsVAT25Lbl); + end; + + procedure SalesPrepaymentsTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesPrepaymentsTotalName())); + end; + + procedure SalesPrepaymentsTotalName(): Text[100] + begin + exit(SalesPrepaymentsTotalLbl); + end; + + procedure AccountsPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableName())); + end; + + procedure AccountsPayableName(): Text[100] + begin + exit(AccountsPayableLbl); + end; + + procedure VendorsDomestic(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsDomesticName())); + end; + + procedure VendorsDomesticName(): Text[100] + begin + exit(VendorsDomesticLbl); + end; + + procedure VendorsForeign(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VendorsForeignName())); + end; + + procedure VendorsForeignName(): Text[100] + begin + exit(VendorsForeignLbl); + end; + + procedure AccountsPayableTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AccountsPayableTotalName())); + end; + + procedure AccountsPayableTotalName(): Text[100] + begin + exit(AccountsPayableTotalLbl); + end; + + procedure InvAdjmtInterim(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvAdjmtInterimName())); + end; + + procedure InvAdjmtInterimName(): Text[100] + begin + exit(InvAdjmtInterimLbl); + end; + + procedure InvAdjmtInterimRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvAdjmtInterimRetailName())); + end; + + procedure InvAdjmtInterimRetailName(): Text[100] + begin + exit(InvAdjmtInterimRetailLbl); + end; + + procedure InvAdjmtInterimRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvAdjmtInterimRawMatName())); + end; + + procedure InvAdjmtInterimRawMatName(): Text[100] + begin + exit(InvAdjmtInterimRawMatLbl); + end; + + procedure InvAdjmtInterimTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvAdjmtInterimTotalName())); + end; + + procedure InvAdjmtInterimTotalName(): Text[100] + begin + exit(InvAdjmtInterimTotalLbl); + end; + + procedure VAT(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VATName())); + end; + + procedure VATName(): Text[100] + begin + exit(VATLbl); + end; + + procedure SalesVAT25(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVAT25Name())); + end; + + procedure SalesVAT25Name(): Text[100] + begin + exit(SalesVAT25Lbl); + end; + + procedure SalesVAT10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesVAT10Name())); + end; + + procedure SalesVAT10Name(): Text[100] + begin + exit(SalesVAT10Lbl); + end; + + procedure PurchaseVAT25EU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVAT25EUName())); + end; + + procedure PurchaseVAT25EUName(): Text[100] + begin + exit(PurchaseVAT25EULbl); + end; + + procedure PurchaseVAT10EU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVAT10EUName())); + end; + + procedure PurchaseVAT10EUName(): Text[100] + begin + exit(PurchaseVAT10EULbl); + end; + + procedure PurchaseVAT25(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVAT25Name())); + end; + + procedure PurchaseVAT25Name(): Text[100] + begin + exit(PurchaseVAT25Lbl); + end; + + procedure PurchaseVAT10(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchaseVAT10Name())); + end; + + procedure PurchaseVAT10Name(): Text[100] + begin + exit(PurchaseVAT10Lbl); + end; + + procedure FuelTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FuelTaxName())); + end; + + procedure FuelTaxName(): Text[100] + begin + exit(FuelTaxLbl); + end; + + procedure ElectricityTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityTaxName())); + end; + + procedure ElectricityTaxName(): Text[100] + begin + exit(ElectricityTaxLbl); + end; + + procedure NaturalGasTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NaturalGasTaxName())); + end; + + procedure NaturalGasTaxName(): Text[100] + begin + exit(NaturalGasTaxLbl); + end; + + procedure CoalTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CoalTaxName())); + end; + + procedure CoalTaxName(): Text[100] + begin + exit(CoalTaxLbl); + end; + + procedure CO2Tax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CO2TaxName())); + end; + + procedure CO2TaxName(): Text[100] + begin + exit(CO2TaxLbl); + end; + + procedure WaterTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WaterTaxName())); + end; + + procedure WaterTaxName(): Text[100] + begin + exit(WaterTaxLbl); + end; + + procedure VATPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VATPayableName())); + end; + + procedure VATPayableName(): Text[100] + begin + exit(VATPayableLbl); + end; + + procedure VATTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VATTotalName())); + end; + + procedure VATTotalName(): Text[100] + begin + exit(VATTotalLbl); + end; + + procedure PersonnelrelatedItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelrelatedItemsName())); + end; + + procedure PersonnelrelatedItemsName(): Text[100] + begin + exit(PersonnelrelatedItemsLbl); + end; + + procedure WithholdingTaxesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WithholdingTaxesPayableName())); + end; + + procedure WithholdingTaxesPayableName(): Text[100] + begin + exit(WithholdingTaxesPayableLbl); + end; + + procedure SupplementaryTaxesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SupplementaryTaxesPayableName())); + end; + + procedure SupplementaryTaxesPayableName(): Text[100] + begin + exit(SupplementaryTaxesPayableLbl); + end; + + procedure PayrollTaxesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollTaxesPayableName())); + end; + + procedure PayrollTaxesPayableName(): Text[100] + begin + exit(PayrollTaxesPayableLbl); + end; + + procedure VacationCompensationPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VacationCompensationPayableName())); + end; + + procedure VacationCompensationPayableName(): Text[100] + begin + exit(VacationCompensationPayableLbl); + end; + + procedure EmployeesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EmployeesPayableName())); + end; + + procedure EmployeesPayableName(): Text[100] + begin + exit(EmployeesPayableLbl); + end; + + procedure TotalPersonnelrelatedItems(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelrelatedItemsName())); + end; + + procedure TotalPersonnelrelatedItemsName(): Text[100] + begin + exit(TotalPersonnelrelatedItemsLbl); + end; + + procedure OtherLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLiabilitiesName())); + end; + + procedure OtherLiabilitiesName(): Text[100] + begin + exit(OtherLiabilitiesLbl); + end; + + procedure DividendsfortheFiscalYear(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DividendsfortheFiscalYearName())); + end; + + procedure DividendsfortheFiscalYearName(): Text[100] + begin + exit(DividendsfortheFiscalYearLbl); + end; + + procedure CorporateTaxesPayable(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateTaxesPayableName())); + end; + + procedure CorporateTaxesPayableName(): Text[100] + begin + exit(CorporateTaxesPayableLbl); + end; + + procedure OtherLiabilitiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherLiabilitiesTotalName())); + end; + + procedure OtherLiabilitiesTotalName(): Text[100] + begin + exit(OtherLiabilitiesTotalLbl); + end; + + procedure ShorttermLiabilitiesTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ShorttermLiabilitiesTotalName())); + end; + + procedure ShorttermLiabilitiesTotalName(): Text[100] + begin + exit(ShorttermLiabilitiesTotalLbl); + end; + + procedure TotalLiabilities(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiabilitiesName())); + end; + + procedure TotalLiabilitiesName(): Text[100] + begin + exit(TotalLiabilitiesLbl); + end; + + procedure TotalLiabilitiesAndEquity(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalLiabilitiesAndEquityName())); + end; + + procedure TotalLiabilitiesAndEquityName(): Text[100] + begin + exit(TotalLiabilitiesAndEquityLbl); + end; + + procedure IncomeStatement(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(IncomeStatementName())); + end; + + procedure IncomeStatementName(): Text[100] + begin + exit(IncomeStatementLbl); + end; + + procedure Revenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RevenueName())); + end; + + procedure RevenueName(): Text[100] + begin + exit(RevenueLbl); + end; + + procedure SalesofRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofRetailName())); + end; + + procedure SalesofRetailName(): Text[100] + begin + exit(SalesofRetailLbl); + end; + + procedure SalesRetailDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRetailDomName())); + end; + + procedure SalesRetailDomName(): Text[100] + begin + exit(SalesRetailDomLbl); + end; + + procedure SalesRetailEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRetailEUName())); + end; + + procedure SalesRetailEUName(): Text[100] + begin + exit(SalesRetailEULbl); + end; + + procedure SalesRetailExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRetailExportName())); + end; + + procedure SalesRetailExportName(): Text[100] + begin + exit(SalesRetailExportLbl); + end; + + procedure JobSalesAppliedRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedRetailName())); + end; + + procedure JobSalesAppliedRetailName(): Text[100] + begin + exit(JobSalesAppliedRetailLbl); + end; + + procedure JobSalesAdjmtRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAdjmtRetailName())); + end; + + procedure JobSalesAdjmtRetailName(): Text[100] + begin + exit(JobSalesAdjmtRetailLbl); + end; + + procedure TotalSalesofRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofRetailName())); + end; + + procedure TotalSalesofRetailName(): Text[100] + begin + exit(TotalSalesofRetailLbl); + end; + + procedure SalesofRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofRawMaterialsName())); + end; + + procedure SalesofRawMaterialsName(): Text[100] + begin + exit(SalesofRawMaterialsLbl); + end; + + procedure SalesRawMaterialsDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRawMaterialsDomName())); + end; + + procedure SalesRawMaterialsDomName(): Text[100] + begin + exit(SalesRawMaterialsDomLbl); + end; + + procedure SalesRawMaterialsEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRawMaterialsEUName())); + end; + + procedure SalesRawMaterialsEUName(): Text[100] + begin + exit(SalesRawMaterialsEULbl); + end; + + procedure SalesRawMaterialsExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesRawMaterialsExportName())); + end; + + procedure SalesRawMaterialsExportName(): Text[100] + begin + exit(SalesRawMaterialsExportLbl); + end; + + procedure JobSalesAppliedRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedRawMatName())); + end; + + procedure JobSalesAppliedRawMatName(): Text[100] + begin + exit(JobSalesAppliedRawMatLbl); + end; + + procedure JobSalesAdjmtRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAdjmtRawMatName())); + end; + + procedure JobSalesAdjmtRawMatName(): Text[100] + begin + exit(JobSalesAdjmtRawMatLbl); + end; + + procedure TotalSalesofRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofRawMaterialsName())); + end; + + procedure TotalSalesofRawMaterialsName(): Text[100] + begin + exit(TotalSalesofRawMaterialsLbl); + end; + + procedure SalesofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofResourcesName())); + end; + + procedure SalesofResourcesName(): Text[100] + begin + exit(SalesofResourcesLbl); + end; + + procedure SalesResourcesDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesResourcesDomName())); + end; + + procedure SalesResourcesDomName(): Text[100] + begin + exit(SalesResourcesDomLbl); + end; + + procedure SalesResourcesEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesResourcesEUName())); + end; + + procedure SalesResourcesEUName(): Text[100] + begin + exit(SalesResourcesEULbl); + end; + + procedure SalesResourcesExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesResourcesExportName())); + end; + + procedure SalesResourcesExportName(): Text[100] + begin + exit(SalesResourcesExportLbl); + end; + + procedure JobSalesAppliedResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAppliedResourcesName())); + end; + + procedure JobSalesAppliedResourcesName(): Text[100] + begin + exit(JobSalesAppliedResourcesLbl); + end; + + procedure JobSalesAdjmtResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesAdjmtResourcesName())); + end; + + procedure JobSalesAdjmtResourcesName(): Text[100] + begin + exit(JobSalesAdjmtResourcesLbl); + end; + + procedure TotalSalesofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofResourcesName())); + end; + + procedure TotalSalesofResourcesName(): Text[100] + begin + exit(TotalSalesofResourcesLbl); + end; + + procedure SalesofJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesofJobsName())); + end; + + procedure SalesofJobsName(): Text[100] + begin + exit(SalesofJobsLbl); + end; + + procedure SalesOtherJobExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalesOtherJobExpensesName())); + end; + + procedure SalesOtherJobExpensesName(): Text[100] + begin + exit(SalesOtherJobExpensesLbl); + end; + + procedure JobSales(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobSalesName())); + end; + + procedure JobSalesName(): Text[100] + begin + exit(JobSalesLbl); + end; + + procedure TotalSalesofJobs(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSalesofJobsName())); + end; + + procedure TotalSalesofJobsName(): Text[100] + begin + exit(TotalSalesofJobsLbl); + end; + + procedure ConsultingFeesDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultingFeesDomName())); + end; + + procedure ConsultingFeesDomName(): Text[100] + begin + exit(ConsultingFeesDomLbl); + end; + + procedure FeesandChargesRecDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FeesandChargesRecDomName())); + end; + + procedure FeesandChargesRecDomName(): Text[100] + begin + exit(FeesandChargesRecDomLbl); + end; + + procedure DiscountGranted(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscountGrantedName())); + end; + + procedure DiscountGrantedName(): Text[100] + begin + exit(DiscountGrantedLbl); + end; + + procedure TotalRevenue(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalRevenueName())); + end; + + procedure TotalRevenueName(): Text[100] + begin + exit(TotalRevenueLbl); + end; + + procedure Cost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostName())); + end; + + procedure CostName(): Text[100] + begin + exit(CostLbl); + end; + + procedure CostofRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofRetailName())); + end; + + procedure CostofRetailName(): Text[100] + begin + exit(CostofRetailLbl); + end; + + procedure PurchRetailDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchRetailDomName())); + end; + + procedure PurchRetailDomName(): Text[100] + begin + exit(PurchRetailDomLbl); + end; + + procedure PurchRetailEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchRetailEUName())); + end; + + procedure PurchRetailEUName(): Text[100] + begin + exit(PurchRetailEULbl); + end; + + procedure PurchRetailExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchRetailExportName())); + end; + + procedure PurchRetailExportName(): Text[100] + begin + exit(PurchRetailExportLbl); + end; + + procedure DiscReceivedRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscReceivedRetailName())); + end; + + procedure DiscReceivedRetailName(): Text[100] + begin + exit(DiscReceivedRetailLbl); + end; + + procedure DeliveryExpensesRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeliveryExpensesRetailName())); + end; + + procedure DeliveryExpensesRetailName(): Text[100] + begin + exit(DeliveryExpensesRetailLbl); + end; + + procedure InventoryAdjmtRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryAdjmtRetailName())); + end; + + procedure InventoryAdjmtRetailName(): Text[100] + begin + exit(InventoryAdjmtRetailLbl); + end; + + procedure JobCostAppliedRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAppliedRetailName())); + end; + + procedure JobCostAppliedRetailName(): Text[100] + begin + exit(JobCostAppliedRetailLbl); + end; + + procedure JobCostAdjmtRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjmtRetailName())); + end; + + procedure JobCostAdjmtRetailName(): Text[100] + begin + exit(JobCostAdjmtRetailLbl); + end; + + procedure CostofRetailSold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofRetailSoldName())); + end; + + procedure CostofRetailSoldName(): Text[100] + begin + exit(CostofRetailSoldLbl); + end; + + procedure TotalCostofRetail(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofRetailName())); + end; + + procedure TotalCostofRetailName(): Text[100] + begin + exit(TotalCostofRetailLbl); + end; + + procedure CostofRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofRawMaterialsName())); + end; + + procedure CostofRawMaterialsName(): Text[100] + begin + exit(CostofRawMaterialsLbl); + end; + + procedure PurchRawMaterialsDom(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchRawMaterialsDomName())); + end; + + procedure PurchRawMaterialsDomName(): Text[100] + begin + exit(PurchRawMaterialsDomLbl); + end; + + procedure PurchRawMaterialsEU(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchRawMaterialsEUName())); + end; + + procedure PurchRawMaterialsEUName(): Text[100] + begin + exit(PurchRawMaterialsEULbl); + end; + + procedure PurchRawMaterialsExport(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PurchRawMaterialsExportName())); + end; + + procedure PurchRawMaterialsExportName(): Text[100] + begin + exit(PurchRawMaterialsExportLbl); + end; + + procedure DiscReceivedRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DiscReceivedRawMaterialsName())); + end; + + procedure DiscReceivedRawMaterialsName(): Text[100] + begin + exit(DiscReceivedRawMaterialsLbl); + end; + + procedure DeliveryExpensesRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeliveryExpensesRawMatName())); + end; + + procedure DeliveryExpensesRawMatName(): Text[100] + begin + exit(DeliveryExpensesRawMatLbl); + end; + + procedure InventoryAdjmtRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InventoryAdjmtRawMatName())); + end; + + procedure InventoryAdjmtRawMatName(): Text[100] + begin + exit(InventoryAdjmtRawMatLbl); + end; + + procedure JobCostAppliedRawMat(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAppliedRawMatName())); + end; + + procedure JobCostAppliedRawMatName(): Text[100] + begin + exit(JobCostAppliedRawMatLbl); + end; + + procedure JobCostAdjmtRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjmtRawMaterialsName())); + end; + + procedure JobCostAdjmtRawMaterialsName(): Text[100] + begin + exit(JobCostAdjmtRawMaterialsLbl); + end; + + procedure CostofRawMaterialsSold(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofRawMaterialsSoldName())); + end; + + procedure CostofRawMaterialsSoldName(): Text[100] + begin + exit(CostofRawMaterialsSoldLbl); + end; + + procedure TotalCostofRawMaterials(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofRawMaterialsName())); + end; + + procedure TotalCostofRawMaterialsName(): Text[100] + begin + exit(TotalCostofRawMaterialsLbl); + end; + + procedure CostofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofResourcesName())); + end; + + procedure CostofResourcesName(): Text[100] + begin + exit(CostofResourcesLbl); + end; + + procedure JobCostAppliedResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAppliedResourcesName())); + end; + + procedure JobCostAppliedResourcesName(): Text[100] + begin + exit(JobCostAppliedResourcesLbl); + end; + + procedure JobCostAdjmtResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostAdjmtResourcesName())); + end; + + procedure JobCostAdjmtResourcesName(): Text[100] + begin + exit(JobCostAdjmtResourcesLbl); + end; + + procedure CostofResourcesUsed(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CostofResourcesUsedName())); + end; + + procedure CostofResourcesUsedName(): Text[100] + begin + exit(CostofResourcesUsedLbl); + end; + + procedure TotalCostofResources(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostofResourcesName())); + end; + + procedure TotalCostofResourcesName(): Text[100] + begin + exit(TotalCostofResourcesLbl); + end; + + procedure JobCosts(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(JobCostsName())); + end; + + procedure JobCostsName(): Text[100] + begin + exit(JobCostsLbl); + end; + + procedure TotalCost(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalCostName())); + end; + + procedure TotalCostName(): Text[100] + begin + exit(TotalCostLbl); + end; + + procedure OperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OperatingExpensesName())); + end; + + procedure OperatingExpensesName(): Text[100] + begin + exit(OperatingExpensesLbl); + end; + + procedure BuildingMaintenanceExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BuildingMaintenanceExpensesName())); + end; + + procedure BuildingMaintenanceExpensesName(): Text[100] + begin + exit(BuildingMaintenanceExpensesLbl); + end; + + procedure Cleaning(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CleaningName())); + end; + + procedure CleaningName(): Text[100] + begin + exit(CleaningLbl); + end; + + procedure ElectricityandHeating(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ElectricityandHeatingName())); + end; + + procedure ElectricityandHeatingName(): Text[100] + begin + exit(ElectricityandHeatingLbl); + end; + + procedure RepairsandMaintenance(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceName())); + end; + + procedure RepairsandMaintenanceName(): Text[100] + begin + exit(RepairsandMaintenanceLbl); + end; + + procedure TotalBldgMaintExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalBldgMaintExpensesName())); + end; + + procedure TotalBldgMaintExpensesName(): Text[100] + begin + exit(TotalBldgMaintExpensesLbl); + end; + + procedure AdministrativeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdministrativeExpensesName())); + end; + + procedure AdministrativeExpensesName(): Text[100] + begin + exit(AdministrativeExpensesLbl); + end; + + procedure OfficeSupplies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OfficeSuppliesName())); + end; + + procedure OfficeSuppliesName(): Text[100] + begin + exit(OfficeSuppliesLbl); + end; + + procedure PhoneandFax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PhoneandFaxName())); + end; + + procedure PhoneandFaxName(): Text[100] + begin + exit(PhoneandFaxLbl); + end; + + procedure Postage(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PostageName())); + end; + + procedure PostageName(): Text[100] + begin + exit(PostageLbl); + end; + + procedure TotalAdministrativeExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalAdministrativeExpensesName())); + end; + + procedure TotalAdministrativeExpensesName(): Text[100] + begin + exit(TotalAdministrativeExpensesLbl); + end; + + procedure ComputerExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ComputerExpensesName())); + end; + + procedure ComputerExpensesName(): Text[100] + begin + exit(ComputerExpensesLbl); + end; + + procedure Software(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SoftwareName())); + end; + + procedure SoftwareName(): Text[100] + begin + exit(SoftwareLbl); + end; + + procedure ConsultantServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ConsultantServicesName())); + end; + + procedure ConsultantServicesName(): Text[100] + begin + exit(ConsultantServicesLbl); + end; + + procedure OtherComputerExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherComputerExpensesName())); + end; + + procedure OtherComputerExpensesName(): Text[100] + begin + exit(OtherComputerExpensesLbl); + end; + + procedure TotalComputerExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalComputerExpensesName())); + end; + + procedure TotalComputerExpensesName(): Text[100] + begin + exit(TotalComputerExpensesLbl); + end; + + procedure SellingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SellingExpensesName())); + end; + + procedure SellingExpensesName(): Text[100] + begin + exit(SellingExpensesLbl); + end; + + procedure Advertising(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(AdvertisingName())); + end; + + procedure AdvertisingName(): Text[100] + begin + exit(AdvertisingLbl); + end; + + procedure EntertainmentandPR(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(EntertainmentandPRName())); + end; + + procedure EntertainmentandPRName(): Text[100] + begin + exit(EntertainmentandPRLbl); + end; + + procedure Travel(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TravelName())); + end; + + procedure TravelName(): Text[100] + begin + exit(TravelLbl); + end; + + procedure DeliveryExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DeliveryExpensesName())); + end; + + procedure DeliveryExpensesName(): Text[100] + begin + exit(DeliveryExpensesLbl); + end; + + procedure TotalSellingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalSellingExpensesName())); + end; + + procedure TotalSellingExpensesName(): Text[100] + begin + exit(TotalSellingExpensesLbl); + end; + + procedure VehicleExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VehicleExpensesName())); + end; + + procedure VehicleExpensesName(): Text[100] + begin + exit(VehicleExpensesLbl); + end; + + procedure GasolineandMotorOil(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GasolineandMotorOilName())); + end; + + procedure GasolineandMotorOilName(): Text[100] + begin + exit(GasolineandMotorOilLbl); + end; + + procedure RegistrationFees(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RegistrationFeesName())); + end; + + procedure RegistrationFeesName(): Text[100] + begin + exit(RegistrationFeesLbl); + end; + + procedure RepairsandMaintenanceExpense(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RepairsandMaintenanceExpenseName())); + end; + + procedure RepairsandMaintenanceExpenseName(): Text[100] + begin + exit(RepairsandMaintenanceExpensesLbl); + end; + + procedure TotalVehicleExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalVehicleExpensesName())); + end; + + procedure TotalVehicleExpensesName(): Text[100] + begin + exit(TotalVehicleExpensesLbl); + end; + + procedure OtherOperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingExpensesName())); + end; + + procedure OtherOperatingExpensesName(): Text[100] + begin + exit(OtherOperatingExpensesLbl); + end; + + procedure CashDiscrepancies(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CashDiscrepanciesName())); + end; + + procedure CashDiscrepanciesName(): Text[100] + begin + exit(CashDiscrepanciesLbl); + end; + + procedure BadDebtExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(BadDebtExpensesName())); + end; + + procedure BadDebtExpensesName(): Text[100] + begin + exit(BadDebtExpensesLbl); + end; + + procedure LegalandAccountingServices(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(LegalandAccountingServicesName())); + end; + + procedure LegalandAccountingServicesName(): Text[100] + begin + exit(LegalandAccountingServicesLbl); + end; + + procedure Miscellaneous(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MiscellaneousName())); + end; + + procedure MiscellaneousName(): Text[100] + begin + exit(MiscellaneousLbl); + end; + + procedure OtherOperatingExpTotal(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherOperatingExpTotalName())); + end; + + procedure OtherOperatingExpTotalName(): Text[100] + begin + exit(OtherOperatingExpTotalLbl); + end; + + procedure TotalOperatingExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalOperatingExpensesName())); + end; + + procedure TotalOperatingExpensesName(): Text[100] + begin + exit(TotalOperatingExpensesLbl); + end; + + procedure PersonnelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PersonnelExpensesName())); + end; + + procedure PersonnelExpensesName(): Text[100] + begin + exit(PersonnelExpensesLbl); + end; + + procedure Wages(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(WagesName())); + end; + + procedure WagesName(): Text[100] + begin + exit(WagesLbl); + end; + + procedure Salaries(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(SalariesName())); + end; + + procedure SalariesName(): Text[100] + begin + exit(SalariesLbl); + end; + + procedure RetirementPlanContributions(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RetirementPlanContributionsName())); + end; + + procedure RetirementPlanContributionsName(): Text[100] + begin + exit(RetirementPlanContributionsLbl); + end; + + procedure VacationCompensation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(VacationCompensationName())); + end; + + procedure VacationCompensationName(): Text[100] + begin + exit(VacationCompensationLbl); + end; + + procedure PayrollTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PayrollTaxesName())); + end; + + procedure PayrollTaxesName(): Text[100] + begin + exit(PayrollTaxesLbl); + end; + + procedure TotalPersonnelExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalPersonnelExpensesName())); + end; + + procedure TotalPersonnelExpensesName(): Text[100] + begin + exit(TotalPersonnelExpensesLbl); + end; + + procedure DepreciationofFixedAssets(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationofFixedAssetsName())); + end; + + procedure DepreciationofFixedAssetsName(): Text[100] + begin + exit(DepreciationofFixedAssetsLbl); + end; + + procedure DepreciationBuildings(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationBuildingsName())); + end; + + procedure DepreciationBuildingsName(): Text[100] + begin + exit(DepreciationBuildingsLbl); + end; + + procedure DepreciationEquipment(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationEquipmentName())); + end; + + procedure DepreciationEquipmentName(): Text[100] + begin + exit(DepreciationEquipmentLbl); + end; + + procedure DepreciationVehicles(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(DepreciationVehiclesName())); + end; + + procedure DepreciationVehiclesName(): Text[100] + begin + exit(DepreciationVehiclesLbl); + end; + + procedure GainsandLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(GainsandLossesName())); + end; + + procedure GainsandLossesName(): Text[100] + begin + exit(GainsandLossesLbl); + end; + + procedure TotalFixedAssetDepreciation(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalFixedAssetDepreciationName())); + end; + + procedure TotalFixedAssetDepreciationName(): Text[100] + begin + exit(TotalFixedAssetDepreciationLbl); + end; + + procedure OtherCostsofOperations(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(OtherCostsofOperationsName())); + end; + + procedure OtherCostsofOperationsName(): Text[100] + begin + exit(OtherCostsofOperationsLbl); + end; + + procedure NetOperatingIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetOperatingIncomeName())); + end; + + procedure NetOperatingIncomeName(): Text[100] + begin + exit(NetOperatingIncomeLbl); + end; + + procedure InterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestIncomeName())); + end; + + procedure InterestIncomeName(): Text[100] + begin + exit(InterestIncomeLbl); + end; + + procedure InterestonBankBalances(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestonBankBalancesName())); + end; + + procedure InterestonBankBalancesName(): Text[100] + begin + exit(InterestonBankBalancesLbl); + end; + + procedure FinanceChargesfromCustomers(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinanceChargesfromCustomersName())); + end; + + procedure FinanceChargesfromCustomersName(): Text[100] + begin + exit(FinanceChargesfromCustomersLbl); + end; + + procedure PaymentDiscountsReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscountsReceivedName())); + end; + + procedure PaymentDiscountsReceivedName(): Text[100] + begin + exit(PaymentDiscountsReceivedLbl); + end; + + procedure PmtDiscReceivedDecreases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PmtDiscReceivedDecreasesName())); + end; + + procedure PmtDiscReceivedDecreasesName(): Text[100] + begin + exit(PmtDiscReceivedDecreasesLbl); + end; + + procedure InvoiceRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InvoiceRoundingName())); + end; + + procedure InvoiceRoundingName(): Text[100] + begin + exit(InvoiceRoundingLbl); + end; + + procedure ApplicationRounding(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ApplicationRoundingName())); + end; + + procedure ApplicationRoundingName(): Text[100] + begin + exit(ApplicationRoundingLbl); + end; + + procedure PaymentToleranceReceived(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentToleranceReceivedName())); + end; + + procedure PaymentToleranceReceivedName(): Text[100] + begin + exit(PaymentToleranceReceivedLbl); + end; + + procedure PmtTolReceivedDecreases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PmtTolReceivedDecreasesName())); + end; + + procedure PmtTolReceivedDecreasesName(): Text[100] + begin + exit(PmtTolReceivedDecreasesLbl); + end; + + procedure TotalInterestIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInterestIncomeName())); + end; + + procedure TotalInterestIncomeName(): Text[100] + begin + exit(TotalInterestIncomeLbl); + end; + + procedure InterestExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestExpensesName())); + end; + + procedure InterestExpensesName(): Text[100] + begin + exit(InterestExpensesLbl); + end; + + procedure InterestonRevolvingCredit(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestonRevolvingCreditName())); + end; + + procedure InterestonRevolvingCreditName(): Text[100] + begin + exit(InterestonRevolvingCreditLbl); + end; + + procedure InterestonBankLoans(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(InterestonBankLoansName())); + end; + + procedure InterestonBankLoansName(): Text[100] + begin + exit(InterestonBankLoansLbl); + end; + + procedure MortgageInterest(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(MortgageInterestName())); + end; + + procedure MortgageInterestName(): Text[100] + begin + exit(MortgageInterestLbl); + end; + + procedure FinanceChargestoVendors(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(FinanceChargestoVendorsName())); + end; + + procedure FinanceChargestoVendorsName(): Text[100] + begin + exit(FinanceChargestoVendorsLbl); + end; + + procedure PaymentDiscountsGranted(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentDiscountsGrantedName())); + end; + + procedure PaymentDiscountsGrantedName(): Text[100] + begin + exit(PaymentDiscountsGrantedLbl); + end; + + procedure PmtDiscGrantedDecreases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PmtDiscGrantedDecreasesName())); + end; + + procedure PmtDiscGrantedDecreasesName(): Text[100] + begin + exit(PmtDiscGrantedDecreasesLbl); + end; + + procedure PaymentToleranceGranted(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PaymentToleranceGrantedName())); + end; + + procedure PaymentToleranceGrantedName(): Text[100] + begin + exit(PaymentToleranceGrantedLbl); + end; + + procedure PmtTolGrantedDecreases(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(PmtTolGrantedDecreasesName())); + end; + + procedure PmtTolGrantedDecreasesName(): Text[100] + begin + exit(PmtTolGrantedDecreasesLbl); + end; + + procedure TotalInterestExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(TotalInterestExpensesName())); + end; + + procedure TotalInterestExpensesName(): Text[100] + begin + exit(TotalInterestExpensesLbl); + end; + + procedure UnrealizedFXGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnrealizedFXGainsName())); + end; + + procedure UnrealizedFXGainsName(): Text[100] + begin + exit(UnrealizedFXGainsLbl); + end; + + procedure UnrealizedFXLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(UnrealizedFXLossesName())); + end; + + procedure UnrealizedFXLossesName(): Text[100] + begin + exit(UnrealizedFXLossesLbl); + end; + + procedure RealizedFXGains(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedFXGainsName())); + end; + + procedure RealizedFXGainsName(): Text[100] + begin + exit(RealizedFXGainsLbl); + end; + + procedure RealizedFXLosses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(RealizedFXLossesName())); + end; + + procedure RealizedFXLossesName(): Text[100] + begin + exit(RealizedFXLossesLbl); + end; + + procedure NIBEFOREEXTRITEMSTAXES(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NIBEFOREEXTRITEMSTAXESName())); + end; + + procedure NIBEFOREEXTRITEMSTAXESName(): Text[100] + begin + exit(NIBEFOREEXTRITEMSTAXESLbl); + end; + + procedure ExtraordinaryIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryIncomeName())); + end; + + procedure ExtraordinaryIncomeName(): Text[100] + begin + exit(ExtraordinaryIncomeLbl); + end; + + procedure ExtraordinaryExpenses(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(ExtraordinaryExpensesName())); + end; + + procedure ExtraordinaryExpensesName(): Text[100] + begin + exit(ExtraordinaryExpensesLbl); + end; + + procedure NetIncomeBeforeTaxes(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetIncomeBeforeTaxesName())); + end; + + procedure NetIncomeBeforeTaxesName(): Text[100] + begin + exit(NetIncomeBeforeTaxesLbl); + end; + + procedure CorporateTax(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(CorporateTaxName())); + end; + + procedure CorporateTaxName(): Text[100] + begin + exit(CorporateTaxLbl); + end; + + procedure NetIncome(): Code[20] + begin + exit(ContosoGLAccount.GetAccountNo(NetIncomeName())); + end; + + procedure NetIncomeName(): Text[100] + begin + exit(NetIncomeLbl); + end; + + + + [IntegrationEvent(false, false)] + local procedure OnAfterAddGLAccountsForLocalization() + begin + end; + + var + ContosoGLAccount: Codeunit "Contoso GL Account"; + BalanceSheetLbl: Label 'BALANCE SHEET', MaxLength = 100; + AssetsLbl: Label 'ASSETS', MaxLength = 100; + FixedAssetsLbl: Label 'Fixed Assets', MaxLength = 100; + TangibleFixedAssetsLbl: Label 'Tangible Fixed Assets', MaxLength = 100; + LandandBuildingsBeginTotalLbl: Label 'Land and Buildings, Begin Total', MaxLength = 100; + LandandBuildingsLbl: Label 'Land and Buildings', MaxLength = 100; + IncreasesduringtheYearBuildingsLbl: Label 'Increases during the Year - Buildings', MaxLength = 100; + IncreasesduringtheYearVehiclesLbl: Label 'Increases during the Year - Vehicles', MaxLength = 100; + IncreasesduringtheYearLbl: Label 'Increases during the Year', MaxLength = 100; + DecreasesduringtheYearBuildingsLbl: Label 'Decreases during the Year - Buildings', MaxLength = 100; + DecreasesduringtheYearVehiclesLbl: Label 'Decreases during the Year - Vehicles', MaxLength = 100; + DecreasesduringtheYearLbl: Label 'Decreases during the Year', MaxLength = 100; + AccumDepreciationBuildingsLbl: Label 'Accum. Depreciation, Buildings', MaxLength = 100; + LandandBuildingsTotalLbl: Label 'Land and Buildings, Total', MaxLength = 100; + OperatingEquipmentBeginTotalLbl: Label 'Operating Equipment, Begin Total', MaxLength = 100; + OperatingEquipmentLbl: Label 'Operating Equipment', MaxLength = 100; + AccumDeprOperEquipLbl: Label 'Accum. Depr., Oper. Equip.', MaxLength = 100; + OperatingEquipmentTotalLbl: Label 'Operating Equipment, Total', MaxLength = 100; + VehiclesBeginTotalLbl: Label 'Vehicles, Begin Total', MaxLength = 100; + VehiclesLbl: Label 'Vehicles', MaxLength = 100; + AccumDepreciationVehiclesLbl: Label 'Accum. Depreciation, Vehicles', MaxLength = 100; + VehiclesTotalLbl: Label 'Vehicles, Total', MaxLength = 100; + TangibleFixedAssetsTotalLbl: Label 'Tangible Fixed Assets, Total', MaxLength = 100; + FixedAssetsTotalLbl: Label 'Fixed Assets, Total', MaxLength = 100; + CurrentAssetsLbl: Label 'Current Assets', MaxLength = 100; + InventoryLbl: Label 'Inventory', MaxLength = 100; + ResaleItemsLbl: Label 'Resale Items', MaxLength = 100; + ResaleItemsInterimLbl: Label 'Resale Items (Interim)', MaxLength = 100; + CostofResaleSoldInterimLbl: Label 'Cost of Resale Sold (Interim)', MaxLength = 100; + FinishedGoodsLbl: Label 'Finished Goods', MaxLength = 100; + FinishedGoodsInterimLbl: Label 'Finished Goods (Interim)', MaxLength = 100; + RawMaterialsLbl: Label 'Raw Materials', MaxLength = 100; + RawMaterialsInterimLbl: Label 'Raw Materials (Interim)', MaxLength = 100; + CostofRawMatSoldInterimLbl: Label 'Cost of Raw Mat.Sold (Interim)', MaxLength = 100; + PrimoInventoryLbl: Label 'Primo Inventory', MaxLength = 100; + InventoryTotalLbl: Label 'Inventory, Total', MaxLength = 100; + JobWIPLbl: Label 'Job WIP', MaxLength = 100; + WIPSalesLbl: Label 'WIP Sales', MaxLength = 100; + WIPJobSalesLbl: Label 'WIP Job Sales', MaxLength = 100; + InvoicedJobSalesLbl: Label 'Invoiced Job Sales', MaxLength = 100; + WIPSalesTotalLbl: Label 'WIP Sales, Total', MaxLength = 100; + WIPCostsLbl: Label 'WIP Costs', MaxLength = 100; + WIPJobCostsLbl: Label 'WIP Job Costs', MaxLength = 100; + AccruedJobCostsLbl: Label 'Accrued Job Costs', MaxLength = 100; + WIPCostsTotalLbl: Label 'WIP Costs, Total', MaxLength = 100; + JobWIPTotalLbl: Label 'Job WIP, Total', MaxLength = 100; + AccountsReceivableLbl: Label 'Accounts Receivable', MaxLength = 100; + CustomersDomesticLbl: Label 'Customers Domestic', MaxLength = 100; + CustomersForeignLbl: Label 'Customers, Foreign', MaxLength = 100; + AccruedInterestLbl: Label 'Accrued Interest', MaxLength = 100; + OtherReceivablesLbl: Label 'Other Receivables', MaxLength = 100; + AccountsReceivableTotalLbl: Label 'Accounts Receivable, Total', MaxLength = 100; + PurchasePrepaymentsLbl: Label 'Purchase Prepayments', MaxLength = 100; + VendorPrepaymentsVATLbl: Label 'Vendor Prepayments VAT 0 %', MaxLength = 100; + VendorPrepaymentsVAT10Lbl: Label 'Vendor Prepayments VAT 10 %', MaxLength = 100; + VendorPrepaymentsVAT25Lbl: Label 'Vendor Prepayments VAT 25 %', MaxLength = 100; + PurchasePrepaymentsTotalLbl: Label 'Purchase Prepayments, Total', MaxLength = 100; + SecuritiesLbl: Label 'Securities', MaxLength = 100; + BondsLbl: Label 'Bonds', MaxLength = 100; + SecuritiesTotalLbl: Label 'Securities, Total', MaxLength = 100; + LiquidAssetsLbl: Label 'Liquid Assets', MaxLength = 100; + CashLbl: Label 'Cash', MaxLength = 100; + BankLCYLbl: Label 'Bank, LCY', MaxLength = 100; + BankCurrenciesLbl: Label 'Bank Currencies', MaxLength = 100; + GiroAccountLbl: Label 'Giro Account', MaxLength = 100; + LiquidAssetsTotalLbl: Label 'Liquid Assets, Total', MaxLength = 100; + CurrentAssetsTotalLbl: Label 'Current Assets, Total', MaxLength = 100; + TotalAssetsLbl: Label 'TOTAL ASSETS', MaxLength = 100; + LiabilitiesAndEquityLbl: Label 'LIABILITIES AND EQUITY', MaxLength = 100; + StockholderLbl: Label 'Stockholder''s Equity', MaxLength = 100; + CapitalStockLbl: Label 'Capital Stock', MaxLength = 100; + RetainedEarningsLbl: Label 'Retained Earnings', MaxLength = 100; + NetIncomefortheYearLbl: Label 'Net Income for the Year', MaxLength = 100; + TotalStockholderLbl: Label 'Total Stockholder''s Equity', MaxLength = 100; + AllowancesLbl: Label 'Allowances', MaxLength = 100; + DeferredTaxesLbl: Label 'Deferred Taxes', MaxLength = 100; + AllowancesTotalLbl: Label 'Allowances, Total', MaxLength = 100; + LiabilitiesLbl: Label 'Liabilities', MaxLength = 100; + LongtermLiabilitiesLbl: Label 'Long-term Liabilities', MaxLength = 100; + LongtermBankLoansLbl: Label 'Long-term Bank Loans', MaxLength = 100; + MortgageLbl: Label 'Mortgage', MaxLength = 100; + LongtermLiabilitiesTotalLbl: Label 'Long-term Liabilities, Total', MaxLength = 100; + ShorttermLiabilitiesLbl: Label 'Short-term Liabilities', MaxLength = 100; + RevolvingCreditLbl: Label 'Revolving Credit', MaxLength = 100; + SalesPrepaymentsLbl: Label 'Sales Prepayments', MaxLength = 100; + CustomerPrepaymentsVAT0Lbl: Label 'Customer Prepayments VAT 0 %', MaxLength = 100; + CustomerPrepaymentsVAT10Lbl: Label 'Customer Prepayments VAT 10 %', MaxLength = 100; + CustomerPrepaymentsVAT25Lbl: Label 'Customer Prepayments VAT 25 %', MaxLength = 100; + SalesPrepaymentsTotalLbl: Label 'Sales Prepayments, Total', MaxLength = 100; + AccountsPayableLbl: Label 'Accounts Payable', MaxLength = 100; + VendorsDomesticLbl: Label 'Vendors, Domestic', MaxLength = 100; + VendorsForeignLbl: Label 'Vendors, Foreign', MaxLength = 100; + AccountsPayableTotalLbl: Label 'Accounts Payable, Total', MaxLength = 100; + InvAdjmtInterimLbl: Label 'Inv. Adjmt. (Interim)', MaxLength = 100; + InvAdjmtInterimRetailLbl: Label 'Inv. Adjmt. (Interim), Retail', MaxLength = 100; + InvAdjmtInterimRawMatLbl: Label 'Inv. Adjmt. (Interim), Raw Mat', MaxLength = 100; + InvAdjmtInterimTotalLbl: Label 'Inv. Adjmt. (Interim), Total', MaxLength = 100; + VATLbl: Label 'VAT', MaxLength = 100; + SalesVAT25Lbl: Label 'Sales VAT 25 %', MaxLength = 100; + SalesVAT10Lbl: Label 'Sales VAT 10 %', MaxLength = 100; + PurchaseVAT25EULbl: Label 'Purchase VAT 25 % EU', MaxLength = 100; + PurchaseVAT10EULbl: Label 'Purchase VAT 10 % EU', MaxLength = 100; + PurchaseVAT25Lbl: Label 'Purchase VAT 25 %', MaxLength = 100; + PurchaseVAT10Lbl: Label 'Purchase VAT 10 %', MaxLength = 100; + FuelTaxLbl: Label 'Fuel Tax', MaxLength = 100; + ElectricityTaxLbl: Label 'Electricity Tax', MaxLength = 100; + NaturalGasTaxLbl: Label 'Natural Gas Tax', MaxLength = 100; + CoalTaxLbl: Label 'Coal Tax', MaxLength = 100; + CO2TaxLbl: Label 'CO2 Tax', MaxLength = 100; + WaterTaxLbl: Label 'Water Tax', MaxLength = 100; + VATPayableLbl: Label 'VAT Payable', MaxLength = 100; + VATTotalLbl: Label 'VAT, Total', MaxLength = 100; + PersonnelrelatedItemsLbl: Label 'Personnel-related Items', MaxLength = 100; + WithholdingTaxesPayableLbl: Label 'Withholding Taxes Payable', MaxLength = 100; + SupplementaryTaxesPayableLbl: Label 'Supplementary Taxes Payable', MaxLength = 100; + PayrollTaxesPayableLbl: Label 'Payroll Taxes Payable', MaxLength = 100; + VacationCompensationPayableLbl: Label 'Vacation Compensation Payable', MaxLength = 100; + EmployeesPayableLbl: Label 'Employees Payable', MaxLength = 100; + TotalPersonnelrelatedItemsLbl: Label 'Total Personnel-related Items', MaxLength = 100; + OtherLiabilitiesLbl: Label 'Other Liabilities', MaxLength = 100; + DividendsfortheFiscalYearLbl: Label 'Dividends for the Fiscal Year', MaxLength = 100; + CorporateTaxesPayableLbl: Label 'Corporate Taxes Payable', MaxLength = 100; + OtherLiabilitiesTotalLbl: Label 'Other Liabilities, Total', MaxLength = 100; + ShorttermLiabilitiesTotalLbl: Label 'Short-term Liabilities, Total', MaxLength = 100; + TotalLiabilitiesLbl: Label 'Total Liabilities', MaxLength = 100; + TotalLiabilitiesAndEquityLbl: Label 'TOTAL LIABILITIES AND EQUITY', MaxLength = 100; + IncomeStatementLbl: Label 'INCOME STATEMENT', MaxLength = 100; + RevenueLbl: Label 'Revenue', MaxLength = 100; + SalesofRetailLbl: Label 'Sales of Retail', MaxLength = 100; + SalesRetailDomLbl: Label 'Sales, Retail - Dom.', MaxLength = 100; + SalesRetailEULbl: Label 'Sales, Retail - EU', MaxLength = 100; + SalesRetailExportLbl: Label 'Sales, Retail - Export', MaxLength = 100; + JobSalesAppliedRetailLbl: Label 'Job Sales Applied, Retail', MaxLength = 100; + JobSalesAdjmtRetailLbl: Label 'Job Sales Adjmt., Retail', MaxLength = 100; + TotalSalesofRetailLbl: Label 'Total Sales of Retail', MaxLength = 100; + SalesofRawMaterialsLbl: Label 'Sales of Raw Materials', MaxLength = 100; + SalesRawMaterialsDomLbl: Label 'Sales, Raw Materials - Dom.', MaxLength = 100; + SalesRawMaterialsEULbl: Label 'Sales, Raw Materials - EU', MaxLength = 100; + SalesRawMaterialsExportLbl: Label 'Sales, Raw Materials - Export', MaxLength = 100; + JobSalesAppliedRawMatLbl: Label 'Job Sales Applied, Raw Mat.', MaxLength = 100; + JobSalesAdjmtRawMatLbl: Label 'Job Sales Adjmt., Raw Mat.', MaxLength = 100; + TotalSalesofRawMaterialsLbl: Label 'Total Sales of Raw Materials', MaxLength = 100; + SalesofResourcesLbl: Label 'Sales of Resources', MaxLength = 100; + SalesResourcesDomLbl: Label 'Sales, Resources - Dom.', MaxLength = 100; + SalesResourcesEULbl: Label 'Sales, Resources - EU', MaxLength = 100; + SalesResourcesExportLbl: Label 'Sales, Resources - Export', MaxLength = 100; + JobSalesAppliedResourcesLbl: Label 'Job Sales Applied, Resources', MaxLength = 100; + JobSalesAdjmtResourcesLbl: Label 'Job Sales Adjmt., Resources', MaxLength = 100; + TotalSalesofResourcesLbl: Label 'Total Sales of Resources', MaxLength = 100; + SalesofJobsLbl: Label 'Sales of Jobs', MaxLength = 100; + SalesOtherJobExpensesLbl: Label 'Sales, Other Job Expenses', MaxLength = 100; + JobSalesLbl: Label 'Job Sales', MaxLength = 100; + TotalSalesofJobsLbl: Label 'Total Sales of Jobs', MaxLength = 100; + ConsultingFeesDomLbl: Label 'Consulting Fees - Dom.', MaxLength = 100; + FeesandChargesRecDomLbl: Label 'Fees and Charges Rec. - Dom.', MaxLength = 100; + DiscountGrantedLbl: Label 'Discount Granted', MaxLength = 100; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 100; + CostLbl: Label 'Cost', MaxLength = 100; + CostofRetailLbl: Label 'Cost of Retail', MaxLength = 100; + PurchRetailDomLbl: Label 'Purch., Retail - Dom.', MaxLength = 100; + PurchRetailEULbl: Label 'Purch., Retail - EU', MaxLength = 100; + PurchRetailExportLbl: Label 'Purch., Retail - Export', MaxLength = 100; + DiscReceivedRetailLbl: Label 'Disc. Received, Retail', MaxLength = 100; + DeliveryExpensesRetailLbl: Label 'Delivery Expenses, Retail', MaxLength = 100; + InventoryAdjmtRetailLbl: Label 'Inventory Adjmt., Retail', MaxLength = 100; + JobCostAppliedRetailLbl: Label 'Job Cost Applied, Retail', MaxLength = 100; + JobCostAdjmtRetailLbl: Label 'Job Cost Adjmt., Retail', MaxLength = 100; + CostofRetailSoldLbl: Label 'Cost of Retail Sold', MaxLength = 100; + TotalCostofRetailLbl: Label 'Total Cost of Retail', MaxLength = 100; + CostofRawMaterialsLbl: Label 'Cost of Raw Materials', MaxLength = 100; + PurchRawMaterialsDomLbl: Label 'Purch., Raw Materials - Dom.', MaxLength = 100; + PurchRawMaterialsEULbl: Label 'Purch., Raw Materials - EU', MaxLength = 100; + PurchRawMaterialsExportLbl: Label 'Purch., Raw Materials - Export', MaxLength = 100; + DiscReceivedRawMaterialsLbl: Label 'Disc. Received, Raw Materials', MaxLength = 100; + DeliveryExpensesRawMatLbl: Label 'Delivery Expenses, Raw Mat.', MaxLength = 100; + InventoryAdjmtRawMatLbl: Label 'Inventory Adjmt., Raw Mat.', MaxLength = 100; + JobCostAppliedRawMatLbl: Label 'Job Cost Applied, Raw Mat.', MaxLength = 100; + JobCostAdjmtRawMaterialsLbl: Label 'Job Cost Adjmt., Raw Materials', MaxLength = 100; + CostofRawMaterialsSoldLbl: Label 'Cost of Raw Materials Sold', MaxLength = 100; + TotalCostofRawMaterialsLbl: Label 'Total Cost of Raw Materials', MaxLength = 100; + CostofResourcesLbl: Label 'Cost of Resources', MaxLength = 100; + JobCostAppliedResourcesLbl: Label 'Job Cost Applied, Resources', MaxLength = 100; + JobCostAdjmtResourcesLbl: Label 'Job Cost Adjmt., Resources', MaxLength = 100; + CostofResourcesUsedLbl: Label 'Cost of Resources Used', MaxLength = 100; + TotalCostofResourcesLbl: Label 'Total Cost of Resources', MaxLength = 100; + JobCostsLbl: Label 'Job Costs', MaxLength = 100; + TotalCostLbl: Label 'Total Cost', MaxLength = 100; + OperatingExpensesLbl: Label 'Operating Expenses', MaxLength = 100; + BuildingMaintenanceExpensesLbl: Label 'Building Maintenance Expenses', MaxLength = 100; + CleaningLbl: Label 'Cleaning', MaxLength = 100; + ElectricityandHeatingLbl: Label 'Electricity and Heating', MaxLength = 100; + RepairsandMaintenanceLbl: Label 'Repairs and Maintenance', MaxLength = 100; + RepairsandMaintenanceExpensesLbl: Label 'Repairs and Maintenance Expenses', MaxLength = 100; + TotalBldgMaintExpensesLbl: Label 'Total Bldg. Maint. Expenses', MaxLength = 100; + AdministrativeExpensesLbl: Label 'Administrative Expenses', MaxLength = 100; + OfficeSuppliesLbl: Label 'Office Supplies', MaxLength = 100; + PhoneandFaxLbl: Label 'Phone and Fax', MaxLength = 100; + PostageLbl: Label 'Postage', MaxLength = 100; + TotalAdministrativeExpensesLbl: Label 'Total Administrative Expenses', MaxLength = 100; + ComputerExpensesLbl: Label 'Computer Expenses', MaxLength = 100; + SoftwareLbl: Label 'Software', MaxLength = 100; + ConsultantServicesLbl: Label 'Consultant Services', MaxLength = 100; + OtherComputerExpensesLbl: Label 'Other Computer Expenses', MaxLength = 100; + TotalComputerExpensesLbl: Label 'Total Computer Expenses', MaxLength = 100; + SellingExpensesLbl: Label 'Selling Expenses', MaxLength = 100; + AdvertisingLbl: Label 'Advertising', MaxLength = 100; + EntertainmentandPRLbl: Label 'Entertainment and PR', MaxLength = 100; + TravelLbl: Label 'Travel', MaxLength = 100; + DeliveryExpensesLbl: Label 'Delivery Expenses', MaxLength = 100; + TotalSellingExpensesLbl: Label 'Total Selling Expenses', MaxLength = 100; + VehicleExpensesLbl: Label 'Vehicle Expenses', MaxLength = 100; + GasolineandMotorOilLbl: Label 'Gasoline and Motor Oil', MaxLength = 100; + RegistrationFeesLbl: Label 'Registration Fees', MaxLength = 100; + TotalVehicleExpensesLbl: Label 'Total Vehicle Expenses', MaxLength = 100; + OtherOperatingExpensesLbl: Label 'Other Operating Expenses', MaxLength = 100; + CashDiscrepanciesLbl: Label 'Cash Discrepancies', MaxLength = 100; + BadDebtExpensesLbl: Label 'Bad Debt Expenses', MaxLength = 100; + LegalandAccountingServicesLbl: Label 'Legal and Accounting Services', MaxLength = 100; + MiscellaneousLbl: Label 'Miscellaneous', MaxLength = 100; + OtherOperatingExpTotalLbl: Label 'Other Operating Exp., Total', MaxLength = 100; + TotalOperatingExpensesLbl: Label 'Total Operating Expenses', MaxLength = 100; + PersonnelExpensesLbl: Label 'Personnel Expenses', MaxLength = 100; + WagesLbl: Label 'Wages', MaxLength = 100; + SalariesLbl: Label 'Salaries', MaxLength = 100; + RetirementPlanContributionsLbl: Label 'Retirement Plan Contributions', MaxLength = 100; + VacationCompensationLbl: Label 'Vacation Compensation', MaxLength = 100; + PayrollTaxesLbl: Label 'Payroll Taxes', MaxLength = 100; + TotalPersonnelExpensesLbl: Label 'Total Personnel Expenses', MaxLength = 100; + DepreciationofFixedAssetsLbl: Label 'Depreciation of Fixed Assets', MaxLength = 100; + DepreciationBuildingsLbl: Label 'Depreciation, Buildings', MaxLength = 100; + DepreciationEquipmentLbl: Label 'Depreciation, Equipment', MaxLength = 100; + DepreciationVehiclesLbl: Label 'Depreciation, Vehicles', MaxLength = 100; + GainsandLossesLbl: Label 'Gains and Losses', MaxLength = 100; + TotalFixedAssetDepreciationLbl: Label 'Total Fixed Asset Depreciation', MaxLength = 100; + OtherCostsofOperationsLbl: Label 'Other Costs of Operations', MaxLength = 100; + NetOperatingIncomeLbl: Label 'Net Operating Income', MaxLength = 100; + InterestIncomeLbl: Label 'Interest Income', MaxLength = 100; + InterestonBankBalancesLbl: Label 'Interest on Bank Balances', MaxLength = 100; + FinanceChargesfromCustomersLbl: Label 'Finance Charges from Customers', MaxLength = 100; + PaymentDiscountsReceivedLbl: Label 'Payment Discounts Received', MaxLength = 100; + PmtDiscReceivedDecreasesLbl: Label 'PmtDisc. Received - Decreases', MaxLength = 100; + InvoiceRoundingLbl: Label 'Invoice Rounding', MaxLength = 100; + ApplicationRoundingLbl: Label 'Application Rounding', MaxLength = 100; + PaymentToleranceReceivedLbl: Label 'Payment Tolerance Received', MaxLength = 100; + PmtTolReceivedDecreasesLbl: Label 'Pmt. Tol. Received Decreases', MaxLength = 100; + TotalInterestIncomeLbl: Label 'Total Interest Income', MaxLength = 100; + InterestExpensesLbl: Label 'Interest Expenses', MaxLength = 100; + InterestonRevolvingCreditLbl: Label 'Interest on Revolving Credit', MaxLength = 100; + InterestonBankLoansLbl: Label 'Interest on Bank Loans', MaxLength = 100; + MortgageInterestLbl: Label 'Mortgage Interest', MaxLength = 100; + FinanceChargestoVendorsLbl: Label 'Finance Charges to Vendors', MaxLength = 100; + PaymentDiscountsGrantedLbl: Label 'Payment Discounts Granted', MaxLength = 100; + PmtDiscGrantedDecreasesLbl: Label 'PmtDisc. Granted - Decreases', MaxLength = 100; + PaymentToleranceGrantedLbl: Label 'Payment Tolerance Granted', MaxLength = 100; + PmtTolGrantedDecreasesLbl: Label 'Pmt. Tol. Granted Decreases', MaxLength = 100; + TotalInterestExpensesLbl: Label 'Total Interest Expenses', MaxLength = 100; + UnrealizedFXGainsLbl: Label 'Unrealized FX Gains', MaxLength = 100; + UnrealizedFXLossesLbl: Label 'Unrealized FX Losses', MaxLength = 100; + RealizedFXGainsLbl: Label 'Realized FX Gains', MaxLength = 100; + RealizedFXLossesLbl: Label 'Realized FX Losses', MaxLength = 100; + NIBEFOREEXTRITEMSTAXESLbl: Label 'NI BEFORE EXTR. ITEMS & TAXES', MaxLength = 100; + ExtraordinaryIncomeLbl: Label 'Extraordinary Income', MaxLength = 100; + ExtraordinaryExpensesLbl: Label 'Extraordinary Expenses', MaxLength = 100; + NetIncomeBeforeTaxesLbl: Label 'NET INCOME BEFORE TAXES', MaxLength = 100; + CorporateTaxLbl: Label 'Corporate Tax', MaxLength = 100; + NetIncomeLbl: Label 'NET INCOME', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGenJournalBatch.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGenJournalBatch.Codeunit.al new file mode 100644 index 0000000000..5d67ef91fa --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGenJournalBatch.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 5246 "Create Gen. Journal Batch" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.General(), Monthly(), MonthlyLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), CreateNoSeries.GeneralJournal(), false); + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.General(), Default(), DefaultLbl, Enum::"Gen. Journal Account Type"::"G/L Account", '', '', false); + + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.CashReceipts(), General(), GeneralLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), CreateNoSeries.CashReceiptsJournal(), false); + + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.InterCompanyGenJnl(), Default(), DefaultLbl, Enum::"Gen. Journal Account Type"::"G/L Account", '', CreateNoSeries.InterCompanyGenJnl(), false); + + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.PaymentJournal(), General(), GeneralLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), CreateNoSeries.PaymentJournal(), false); + ContosoGeneralLedger.InsertGeneralJournalBatch(CreateGenJournalTemplate.PaymentJournal(), Cash(), CashLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), CreateNoSeries.PaymentJournal(), false); + end; + + procedure Default(): Code[10] + begin + exit(DefaultTok); + end; + + procedure General(): Code[10] + begin + exit(GeneralTok); + end; + + procedure Monthly(): Code[10] + begin + exit(MonthlyTok); + end; + + procedure Cash(): Code[10] + begin + exit(CashTok); + end; + + var + MonthlyTok: Label 'MONTHLY', MaxLength = 10; + DefaultTok: Label 'DEFAULT', MaxLength = 10; + GeneralTok: Label 'GENERAL', MaxLength = 10; + CashTok: Label 'CASH', MaxLength = 10; + GeneralLbl: Label 'GENERAL', MaxLength = 100; + DefaultLbl: Label 'Default Journal Batch', MaxLength = 100; + MonthlyLbl: Label 'Monthly Journal Entries', MaxLength = 100; + CashLbl: Label 'Cash receipts and payments', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGenJournalTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGenJournalTemplate.Codeunit.al new file mode 100644 index 0000000000..5993ad72bd --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGenJournalTemplate.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 5419 "Create Gen. Journal Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + ContosoGeneralLedger.InsertGeneralJournalTemplate(CashReceipts(), CashReceiptsLbl, Enum::"Gen. Journal Template Type"::"Cash Receipts", Page::"Cash Receipt Journal", CreateNoSeries.CashReceiptsJournal(), false); + ContosoGeneralLedger.InsertGeneralJournalTemplate(General(), GeneralLbl, Enum::"Gen. Journal Template Type"::General, Page::"General Journal", CreateNoSeries.GeneralJournal(), true); + ContosoGeneralLedger.InsertGeneralJournalTemplate(InterCompanyGenJnl(), IntercompanyLbl, Enum::"Gen. Journal Template Type"::Intercompany, Page::"IC General Journal", CreateNoSeries.InterCompanyGenJnl(), false); + ContosoGeneralLedger.InsertGeneralJournalTemplate(PaymentJournal(), PaymentsLbl, Enum::"Gen. Journal Template Type"::Payments, Page::"Payment Journal", CreateNoSeries.PaymentJournal(), false); + end; + + procedure CashReceipts(): Code[10] + begin + exit(CashReceiptsTok); + end; + + procedure General(): Code[10] + begin + exit(GeneralTok); + end; + + procedure InterCompanyGenJnl(): Code[10] + begin + exit(IntercompanyTok); + end; + + procedure PaymentJournal(): Code[10] + begin + exit(PaymentsTok); + end; + + var + CashReceiptsLbl: Label 'Cash receipts', MaxLength = 80; + GeneralLbl: Label 'GENERAL', MaxLength = 80; + IntercompanyLbl: Label 'Intercompany', MaxLength = 80; + PaymentsLbl: Label 'Payments', MaxLength = 80; + CashReceiptsTok: Label 'CASHRCPT', MaxLength = 10; + GeneralTok: Label 'GENERAL', MaxLength = 10; + IntercompanyTok: Label 'INTERCOMP', MaxLength = 10; + PaymentsTok: Label 'PAYMENT', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGeneralLedgerSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGeneralLedgerSetup.Codeunit.al new file mode 100644 index 0000000000..411ac944ef --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateGeneralLedgerSetup.Codeunit.al @@ -0,0 +1,34 @@ +codeunit 5230 "Create General Ledger Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateJobQueueCategory: Codeunit "Create Job Queue Category"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateCurrency: Codeunit "Create Currency"; + CreateDimension: Codeunit "Create Dimension"; + begin + InsertData(CreateJobQueueCategory.GeneralLedgerPosting(), 0.01, 1, CreateNoSeries.Bank(), CreateCurrency.GBP(), CreateDimension.DepartmentDimension(), CreateDimension.CustomerGroupDimension(), true, 4); + end; + + procedure InsertData(JobQueueCategoryCode: Code[10]; InvoiceRoundingPrecisionLCY: Decimal; LocalContAddrFormat: Integer; BankAccountNo: Code[20]; LCYCode: Code[10]; GlobalDimension1Code: Code[20]; GlobalDimension2Code: Code[20]; DataCheck: Boolean; AccReceivablesCategory: Integer) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + if not GeneralLedgerSetup.Get() then + GeneralLedgerSetup.Insert(); + + GeneralLedgerSetup.Validate("Job Queue Category Code", JobQueueCategoryCode); + GeneralLedgerSetup.Validate("Inv. Rounding Precision (LCY)", InvoiceRoundingPrecisionLCY); + GeneralLedgerSetup.Validate("Local Cont. Addr. Format", LocalContAddrFormat); + GeneralLedgerSetup.Validate("Bank Account Nos.", BankAccountNo); + GeneralLedgerSetup.Validate("LCY Code", LCYCode); + GeneralLedgerSetup.Validate("Global Dimension 1 Code", GlobalDimension1Code); + GeneralLedgerSetup.Validate("Global Dimension 2 Code", GlobalDimension2Code); + GeneralLedgerSetup.Validate("Enable Data Check", DataCheck); + GeneralLedgerSetup.Validate("Acc. Receivables Category", AccReceivablesCategory); + GeneralLedgerSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateKPIWebSrvLine.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateKPIWebSrvLine.Codeunit.al new file mode 100644 index 0000000000..36d6467d3c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateKPIWebSrvLine.Codeunit.al @@ -0,0 +1,15 @@ +codeunit 5491 "Create KPI Web Srv Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateAccountScheduleName: Codeunit "Create Acc. Schedule Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertAccSchedKPIWebSrvLine(CreateAccountScheduleName.CashCycle()); + ContosoAccountSchedule.InsertAccSchedKPIWebSrvLine(CreateAccountScheduleName.IncomeExpense()); + ContosoAccountSchedule.InsertAccSchedKPIWebSrvLine(CreateAccountScheduleName.ReducedTrialBalance()); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateKPIWebSrvSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateKPIWebSrvSetup.Codeunit.al new file mode 100644 index 0000000000..5be57c722e --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateKPIWebSrvSetup.Codeunit.al @@ -0,0 +1,18 @@ +codeunit 5484 "Create KPI Web Srv Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // Look into CreateWebServices.Codeunit.al + + trigger OnRun() + var + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + begin + ContosoAccountSchedule.InsertAccSchedKPIWebSrvSetup(8, 2, WebServiceNameLbl, 24); + end; + + var + WebServiceNameLbl: Label 'powerbifinance', MaxLength = 240, Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreatePostingGroups.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreatePostingGroups.Codeunit.al new file mode 100644 index 0000000000..10713af91d --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreatePostingGroups.Codeunit.al @@ -0,0 +1,133 @@ +codeunit 5252 "Create Posting Groups" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + begin + InsertGenPostingGroup(); + InsertGenBusinessPostingGroup(); + InsertGenPostingSetupWithoutGLAccounts(); + end; + + local procedure InsertGenPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoPostingGroup.InsertGenProductPostingGroup(FreightPostingGroup(), FreightDescriptionLbl, CreateVATPostingGroups.Standard()); + ContosoPostingGroup.InsertGenProductPostingGroup(MiscPostingGroup(), MiscDescriptionLbl, CreateVATPostingGroups.Standard()); + ContosoPostingGroup.InsertGenProductPostingGroup(RawMatPostingGroup(), RawMatDescriptionLbl, CreateVATPostingGroups.Standard()); + ContosoPostingGroup.InsertGenProductPostingGroup(RetailPostingGroup(), RetailDescriptionLbl, CreateVATPostingGroups.Standard()); + ContosoPostingGroup.InsertGenProductPostingGroup(ServicesPostingGroup(), ServicesDescriptionLbl, CreateVATPostingGroups.Reduced()); + ContosoPostingGroup.InsertGenProductPostingGroup(ZeroPostingGroup(), ZeroDescriptionLbl, CreateVATPostingGroups.Zero()); + end; + + local procedure InsertGenBusinessPostingGroup() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertGenBusinessPostingGroup(DomesticPostingGroup(), DomesticPostingGroupDescriptionLbl, DomesticPostingGroup()); + ContosoPostingGroup.InsertGenBusinessPostingGroup(EUPostingGroup(), EUPostingGroupDescriptionLbl, EUPostingGroup()); + ContosoPostingGroup.InsertGenBusinessPostingGroup(ExportPostingGroup(), ExportPostingGroupDescriptionLbl, ExportPostingGroup()); + end; + + local procedure InsertGenPostingSetupWithoutGLAccounts() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + begin + ContosoGenPostingSetup.InsertGeneralPostingSetup('', RetailPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', ZeroPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(DomesticPostingGroup(), RetailPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(DomesticPostingGroup(), ServicesPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(DomesticPostingGroup(), ZeroPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(EUPostingGroup(), RetailPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(ExportPostingGroup(), RetailPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(ExportPostingGroup(), ServicesPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + ContosoGenPostingSetup.InsertGeneralPostingSetup(ExportPostingGroup(), ZeroPostingGroup(), '', '', '', '', '', '', '', '', '', '', '', '', ''); + end; + + procedure UpdateGenPostingSetup() + var + ContosoGenPostingSetup: Codeunit "Contoso Posting Setup"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoGenPostingSetup.SetOverwriteData(true); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', RetailPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup('', ZeroPostingGroup(), '', '', CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', '', '', '', '', CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(DomesticPostingGroup(), RetailPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(DomesticPostingGroup(), ServicesPostingGroup(), CreateGLAccount.SalesResourcesDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(DomesticPostingGroup(), ZeroPostingGroup(), CreateGLAccount.SalesRetailDom(), CreateGLAccount.PurchRetailDom(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(EUPostingGroup(), RetailPostingGroup(), CreateGLAccount.SalesRetailEU(), CreateGLAccount.PurchRetailEU(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(ExportPostingGroup(), RetailPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(ExportPostingGroup(), ServicesPostingGroup(), CreateGLAccount.SalesResourcesExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.InsertGeneralPostingSetup(ExportPostingGroup(), ZeroPostingGroup(), CreateGLAccount.SalesRetailExport(), CreateGLAccount.PurchRetailExport(), CreateGLAccount.InventoryAdjmtRetail(), CreateGLAccount.InventoryAdjmtRetail(), '', '', CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscountGranted(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.DiscReceivedRetail(), CreateGLAccount.CostofRetailSold(), CreateGLAccount.CostofResaleSoldInterim(), CreateGLAccount.InvAdjmtInterimRetail()); + ContosoGenPostingSetup.SetOverwriteData(false); + end; + + procedure DomesticPostingGroup(): Code[20] + begin + exit(DomesticTok); + end; + + procedure EUPostingGroup(): Code[20] + begin + exit(EUTok); + end; + + procedure ExportPostingGroup(): Code[20] + begin + exit(ExportTok); + end; + + procedure FreightPostingGroup(): Code[20] + begin + exit(FreightTok); + end; + + procedure MiscPostingGroup(): Code[20] + begin + exit(MiscTok); + end; + + procedure RawMatPostingGroup(): Code[20] + begin + exit(RawMatTok); + end; + + procedure RetailPostingGroup(): Code[20] + begin + exit(RetailTok); + end; + + procedure ServicesPostingGroup(): Code[20] + begin + exit(ServicesTok); + end; + + procedure ZeroPostingGroup(): Code[20] + begin + exit(ZeroTok); + end; + + var + DomesticTok: Label 'DOMESTIC', MaxLength = 20; + EUTok: Label 'EU', MaxLength = 20; + ExportTok: Label 'EXPORT', MaxLength = 20; + DomesticPostingGroupDescriptionLbl: Label 'Domestic customers and vendors', MaxLength = 100; + EUPostingGroupDescriptionLbl: Label 'Customers and vendors in EU', MaxLength = 100; + ExportPostingGroupDescriptionLbl: Label 'Other customers and vendors (not EU)', MaxLength = 100; + FreightTok: Label 'FREIGHT', MaxLength = 20; + MiscTok: Label 'MISC', MaxLength = 20; + RawMatTok: Label 'RAW MAT', MaxLength = 20; + RetailTok: Label 'RETAIL', MaxLength = 20; + ServicesTok: Label 'SERVICES', MaxLength = 20; + ZeroTok: Label 'ZERO', MaxLength = 20; + FreightDescriptionLbl: Label 'Freight, etc.', MaxLength = 100; + MiscDescriptionLbl: Label 'Miscellaneous with VAT', MaxLength = 100; + RawMatDescriptionLbl: Label 'Raw Materials', MaxLength = 100; + RetailDescriptionLbl: Label 'Retail', MaxLength = 100; + ServicesDescriptionLbl: Label 'Resources, etc.', MaxLength = 100; + ZeroDescriptionLbl: Label 'Miscellaneous without VAT', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateResourcesSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateResourcesSetup.Codeunit.al new file mode 100644 index 0000000000..7601f2ad94 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateResourcesSetup.Codeunit.al @@ -0,0 +1,13 @@ +codeunit 5574 "Create Resources Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateNoSeries: Codeunit "Create No. Series"; + ContosoProjects: Codeunit "Contoso Projects"; + begin + ContosoProjects.InsertResourcesSetup(CreateNoSeries.Resource(), CreateNoSeries.TimeSheet()); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATPostingGroups.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATPostingGroups.Codeunit.al new file mode 100644 index 0000000000..164f9646e1 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATPostingGroups.Codeunit.al @@ -0,0 +1,189 @@ +codeunit 5473 "Create VAT Posting Groups" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertVATProductPostingGroup(); + InsertVATBusinessPostingGroups(); + + InsertVATClause(); + InsertVATPostingSetupWithoutGLAccounts(); + end; + + procedure UpdateVATPostingSetup() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoPostingSetup.SetOverwriteData(true); + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Sales Tax", 'E', '', '', false) + else begin + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Reduced(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup('', Standard(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Zero(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(Domestic(), Reduced(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Reduced(), 10, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(Domestic(), Standard(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Standard(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(Domestic(), Zero(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(EU(), Reduced(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Reduced(), 10, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccount.PurchaseVAT10EU(), Reduced(), true); + ContosoPostingSetup.InsertVATPostingSetup(EU(), Standard(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Standard(), 25, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', CreateGLAccount.PurchaseVAT25EU(), '', false); + ContosoPostingSetup.InsertVATPostingSetup(EU(), Zero(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(Export(), Reduced(), CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(Export(), Standard(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(Export(), Zero(), CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + end; + ContosoPostingSetup.SetOverwriteData(false); + end; + + local procedure InsertVATPostingSetupWithoutGLAccounts() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Sales Tax", 'E', '', '', false) + else begin + ContosoPostingSetup.InsertVATPostingSetup('', '', '', '', '', 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Reduced(), '', '', Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup('', Standard(), '', '', Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup('', Zero(), '', '', Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(Domestic(), Reduced(), '', '', Reduced(), 10, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(Domestic(), Standard(), '', '', Standard(), 25, Enum::"Tax Calculation Type"::"Normal VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(Domestic(), Zero(), '', '', Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(EU(), Reduced(), '', '', Reduced(), 10, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', '', Reduced(), true); + ContosoPostingSetup.InsertVATPostingSetup(EU(), Standard(), '', '', Standard(), 25, Enum::"Tax Calculation Type"::"Reverse Charge VAT", 'S', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(EU(), Zero(), '', '', Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + ContosoPostingSetup.InsertVATPostingSetup(Export(), Reduced(), '', '', Reduced(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', Reduced(), false); + ContosoPostingSetup.InsertVATPostingSetup(Export(), Standard(), '', '', Standard(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', '', false); + ContosoPostingSetup.InsertVATPostingSetup(Export(), Zero(), '', '', Zero(), 0, Enum::"Tax Calculation Type"::"Normal VAT", 'E', '', zero(), false); + end; + end; + + local procedure InsertVATClause() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + ContosoPostingSetup.InsertVATClause(Reduced(), ReducedVATClauseDescriptionLbl); + ContosoPostingSetup.InsertVATClause(Zero(), ZeroVATClauseDescriptionLbl); + end; + + local procedure InsertVATProductPostingGroup() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + ContosoPostingGroup.InsertVATProductPostingGroup(FullNormal(), StrSubstNo(VATOnlyInvoicesDescriptionLbl, '25')); + ContosoPostingGroup.InsertVATProductPostingGroup(FullRed(), StrSubstNo(VATOnlyInvoicesDescriptionLbl, '10')); + ContosoPostingGroup.InsertVATProductPostingGroup(Reduced(), StrSubstNo(ReducedVatDescriptionLbl, '10')); + ContosoPostingGroup.InsertVATProductPostingGroup(ServNormal(), StrSubstNo(MiscellaneousVATDescriptionLbl, '25')); + ContosoPostingGroup.InsertVATProductPostingGroup(ServRed(), StrSubstNo(MiscellaneousVATDescriptionLbl, '10')); + ContosoPostingGroup.InsertVATProductPostingGroup(Standard(), StrSubstNo(NormalVatDescriptionLbl, '25')); + ContosoPostingGroup.InsertVATProductPostingGroup(Zero(), NoVatDescriptionLbl); + end; + + local procedure InsertVATBusinessPostingGroups() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + ContosoPostingGroup.InsertVATBusinessPostingGroup(Domestic(), DomesticPostingGroupDescriptionLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(EU(), EUPostingGroupDescriptionLbl); + ContosoPostingGroup.InsertVATBusinessPostingGroup(Export(), ExportPostingGroupDescriptionLbl); + end; + + procedure Domestic(): Code[20] + begin + exit(DomesticTok); + end; + + procedure EU(): Code[20] + begin + exit(EUTok); + end; + + procedure Export(): Code[20] + begin + exit(ExportTok); + end; + + procedure Zero(): Code[20] + begin + exit(ZeroTok); + end; + + procedure Standard(): Code[20] + begin + exit(StandardTok); + end; + + procedure Reduced(): Code[20] + begin + exit(ReducedTok); + end; + + procedure ServRed(): Code[20] + begin + exit(ServRedTok); + end; + + procedure ServNormal(): Code[20] + begin + exit(ServNormTok); + end; + + procedure FullRed(): Code[20] + begin + exit(FullRedTok); + end; + + procedure FullNormal(): Code[20] + begin + exit(FullNormalTok); + end; + + var + DomesticTok: Label 'DOMESTIC', MaxLength = 20; + EUTok: Label 'EU', MaxLength = 20; + ExportTok: Label 'EXPORT', MaxLength = 20; + ZeroTok: Label 'ZERO', MaxLength = 20; + StandardTok: Label 'STANDARD', MaxLength = 20; + ReducedTok: Label 'REDUCED', MaxLength = 20; + ServRedTok: Label 'SERV RED', MaxLength = 20; + ServNormTok: Label 'SERV NORM', MaxLength = 20; + FullRedTok: Label 'FULL RED', MaxLength = 20; + FullNormalTok: Label 'FULL NORM', MaxLength = 20; + ReducedVATClauseDescriptionLbl: Label 'Reduced VAT Rate is used due to VAT Act regulation 1 article II', MaxLength = 250; + ZeroVATClauseDescriptionLbl: Label 'Zero VAT Rate is used due to VAT Act regulation 2 article III', MaxLength = 250; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Standard VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Reduced VAT (%1%)', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NoVatDescriptionLbl: Label 'No VAT', MaxLength = 100; + DomesticPostingGroupDescriptionLbl: Label 'Domestic customers and vendors', MaxLength = 100; + EUPostingGroupDescriptionLbl: Label 'Customers and vendors in EU', MaxLength = 100; + ExportPostingGroupDescriptionLbl: Label 'Other customers and vendors (not EU)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATReportSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATReportSetup.Codeunit.al new file mode 100644 index 0000000000..2f019545a7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATReportSetup.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 5233 "Create VAT Report Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + VATReportSetup: Record "VAT Report Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + VATReportSetupRecRef: RecordRef; + FieldRef: FieldRef; + begin + VATReportSetup.Get(); + + VATReportSetup.Validate("No. Series", CreateNoSeries.ECSL()); + VATReportSetup.Validate("VAT Return Period No. Series", CreateNoSeries.VATReturnPeriods()); + VATReportSetup.Modify(true); + + // field(4; "VAT Return No. Series"; Code[20]) does not exist in IT nor DE + VATReportSetupRecRef.GetTable(VATReportSetup); + if VATReportSetupRecRef.FieldExist(4) then begin + FieldRef := VATReportSetupRecRef.Field(4); + FieldRef.Validate(CreateNoSeries.VATReturnsReports()); + VATReportSetupRecRef.Modify(true); + end; + + CreateVATReportsConfiguration(); + end; + + local procedure CreateVATReportsConfiguration() + var + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + begin + ContosoVATStatement.InsertVATReportConfiguration(Enum::"VAT Report Configuration"::"EC Sales List", CurrentVersion(), Codeunit::"EC Sales List Suggest Lines", Codeunit::"ECSL Report Validate"); + ContosoVATStatement.InsertVATReportConfiguration(Enum::"VAT Report Configuration"::"VAT Return", CurrentVersion(), Codeunit::"VAT Report Suggest Lines", Codeunit::"VAT Report Validate"); + end; + + procedure CurrentVersion(): Code[10] + begin + exit(CurrentVersionTok); + end; + + var + CurrentVersionTok: Label 'CURRENT', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATSetupPostingGrp.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATSetupPostingGrp.Codeunit.al new file mode 100644 index 0000000000..b9f2405785 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateVATSetupPostingGrp.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 5629 "Create VAT Setup Posting Grp." +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + CreateVatSetupPostingGrp(); + CreateVATAssistedSetupGrp(); + end; + + local procedure CreateVatSetupPostingGrp() + var + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.FullNormal(), true, 0, '', '', true, 1, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '25')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.FullRed(), true, 0, '', '', true, 1, StrSubstNo(VATOnlyInvoicesDescriptionLbl, '10')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Reduced(), true, 10, CreateGLAccount.SalesVAT10(), CreateGLAccount.PurchaseVAT10(), true, 1, ReducedVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.ServNormal(), true, 0, '', '', true, 1, StrSubstNo(MiscellaneousVATDescriptionLbl, '25')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.ServRed(), true, 0, '', '', true, 1, StrSubstNo(MiscellaneousVATDescriptionLbl, '10')); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Standard(), true, 25, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, NormalVatDescriptionLbl); + ContosoVATStatement.InsertVatSetupPostingGrp(CreateVatPostingGroup.Zero(), true, 0, CreateGLAccount.SalesVAT25(), CreateGLAccount.PurchaseVAT25(), true, 1, NoVatDescriptionLbl); + end; + + local procedure CreateVATAssistedSetupGrp() + begin + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroup.Domestic(), DomesticPostingGroupDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroup.EU(), EUPostingGroupDescriptionLbl, true, true); + ContosoVATStatement.InsertVATAssistedSetupBusGrp(CreateVatPostingGroup.Export(), ExportPostingGroupDescriptionLbl, true, true); + end; + + var + CreateVatPostingGroup: Codeunit "Create VAT Posting Groups"; + ContosoVATStatement: Codeunit "Contoso VAT Statement"; + VATOnlyInvoicesDescriptionLbl: Label 'VAT Only Invoices %1%', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + ReducedVatDescriptionLbl: Label 'Setup for EXPORT / REDUCED', MaxLength = 100; + MiscellaneousVATDescriptionLbl: Label 'Miscellaneous %1 VAT', Comment = '%1=a number specifying the VAT percentage', MaxLength = 100; + NormalVatDescriptionLbl: Label 'Setup for EXPORT / STANDARD', MaxLength = 100; + NoVatDescriptionLbl: Label 'Setup for EXPORT / ZERO', MaxLength = 100; + DomesticPostingGroupDescriptionLbl: Label 'Domestic customers and vendors', MaxLength = 100; + EUPostingGroupDescriptionLbl: Label 'Customers and vendors in EU', MaxLength = 100; + ExportPostingGroupDescriptionLbl: Label 'Other customers and vendors (not EU)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateAccSchedChartLine.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateAccSchedChartLine.Codeunit.al new file mode 100644 index 0000000000..28413bcec7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateAccSchedChartLine.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 5298 "Create Acc. Sched. Chart Line" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateAccScheduleChart: Codeunit "Create Acc. Schedule Chart"; + CreateAccScheduleName: Codeunit "Create Acc. Schedule Name"; + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + DummyUserID: Text[132]; + begin + DummyUserID := ''; + + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashCycle(), 50000, 10000, CreateAccScheduleName.CashCycle(), CreateColumnLayoutName.PeriodsDefinition(), DaysOfSalesOutstandingLbl, Enum::"Account Schedule Chart Type"::Line); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashCycle(), 60000, 10000, CreateAccScheduleName.CashCycle(), CreateColumnLayoutName.PeriodsDefinition(), DaysOfPaymentOutstandingLbl, Enum::"Account Schedule Chart Type"::Line); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashCycle(), 70000, 10000, CreateAccScheduleName.CashCycle(), CreateColumnLayoutName.PeriodsDefinition(), DaysSalesOfInventoryLbl, Enum::"Account Schedule Chart Type"::Line); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashCycle(), 80000, 10000, CreateAccScheduleName.CashCycle(), CreateColumnLayoutName.PeriodsDefinition(), CashCycleDaysLbl, Enum::"Account Schedule Chart Type"::Line); + + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashFlow(), 10000, 10000, CreateAccScheduleName.CashFlow(), CreateColumnLayoutName.PeriodsDefinition(), TotalReceivablesLbl, Enum::"Account Schedule Chart Type"::Column); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashFlow(), 20000, 10000, CreateAccScheduleName.CashFlow(), CreateColumnLayoutName.PeriodsDefinition(), TotalPayablesLbl, Enum::"Account Schedule Chart Type"::Column); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashFlow(), 30000, 10000, CreateAccScheduleName.CashFlow(), CreateColumnLayoutName.PeriodsDefinition(), TotalLiquidFundsLbl, Enum::"Account Schedule Chart Type"::Column); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.CashFlow(), 40000, 10000, CreateAccScheduleName.CashFlow(), CreateColumnLayoutName.PeriodsDefinition(), TotalCashFlowLbl, Enum::"Account Schedule Chart Type"::StepLine); + + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.IncomeAndExpense(), 20000, 10000, CreateAccScheduleName.IncomeExpense(), CreateColumnLayoutName.PeriodsDefinition(), TotalRevenueLbl, Enum::"Account Schedule Chart Type"::Column); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.IncomeAndExpense(), 80000, 10000, CreateAccScheduleName.IncomeExpense(), CreateColumnLayoutName.PeriodsDefinition(), TotalExpenditureLbl, Enum::"Account Schedule Chart Type"::Column); + ContosoAccountSchedule.InsertAccSchedChartSetupLine(DummyUserID, CreateAccScheduleChart.IncomeAndExpense(), 90000, 10000, CreateAccScheduleName.IncomeExpense(), CreateColumnLayoutName.PeriodsDefinition(), EarningsBeforeInterestLbl, Enum::"Account Schedule Chart Type"::Column); + end; + + + + var + DaysOfSalesOutstandingLbl: Label 'Days of Sales Outstanding', MaxLength = 111; + DaysOfPaymentOutstandingLbl: Label 'Days of Payment Outstanding', MaxLength = 111; + DaysSalesOfInventoryLbl: Label 'Days Sales of Inventory', MaxLength = 111; + CashCycleDaysLbl: Label 'Cash Cycle (Days)', MaxLength = 111; + TotalReceivablesLbl: Label 'Total Receivables', MaxLength = 111; + TotalPayablesLbl: Label 'Total Payables', MaxLength = 111; + TotalLiquidFundsLbl: Label 'Total Liquid Funds', MaxLength = 111; + TotalCashFlowLbl: Label 'Total Cash Flow', MaxLength = 111; + TotalRevenueLbl: Label 'Total Revenue', MaxLength = 111; + TotalExpenditureLbl: Label 'Total Expenditure', MaxLength = 111; + EarningsBeforeInterestLbl: Label 'Earnings Before Interest', MaxLength = 111; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateColumnLayout.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateColumnLayout.Codeunit.al new file mode 100644 index 0000000000..8ffafe7353 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateColumnLayout.Codeunit.al @@ -0,0 +1,195 @@ +codeunit 5395 "Create Column Layout" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateColumnLayoutName: Codeunit "Create Column Layout Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + ColumnLayoutName: Code[10]; + begin + ContosoAccountSchedule.InsertColumnLayout('', 10000, '', '', Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout('', 20000, '', '', Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout('', 30000, '', '', Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.ActualBudgetComparison(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, 'A', NetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, 'B', BudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, 'C', VarianceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'A-B', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, 'D', ABLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'A / B * 100', false, Enum::"Column Layout Show"::Always, '', true); + + ColumnLayoutName := CreateColumnLayoutName.BalanceOnly(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '', BalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.BudgetAnalysis(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, 'N', NetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, 'B', BudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '', VariancePercentageLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '100*(N/B-1)', false, Enum::"Column Layout Show"::Always, '', true); + + ColumnLayoutName := CreateColumnLayoutName.CashFlowComparison(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, 'S10', AmountLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, 'S20', AmountUntilDateLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, 'S30', EntireFiscalYearLbl, Enum::"Column Layout Type"::"Entire Fiscal Year", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.DefaultLayout(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '', NetChangeDebitLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::"When Positive", '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '', NetChangeCreditLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', true, Enum::"Column Layout Show"::"When Negative", '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '', BalanceAtDateDebitLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::"When Positive", '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '', BalanceAtDateCreditLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', true, Enum::"Column Layout Show"::"When Negative", '', false); + + ColumnLayoutName := CreateColumnLayoutName.KeyCashFlowRatio(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, 'S10', KeyFigureLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.PeriodsDefinition(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '10', CurrentPeriodLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '10', CurrentPeriodMinus1Lbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '10', CurrentPeriodMinus2Lbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-2P', false); + + ColumnLayoutName := CreateColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', BeginningBalanceLbl, Enum::"Column Layout Type"::"Beginning Balance", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', DebitsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Debit Amount", '', false, Enum::"Column Layout Show"::Always, 'P', false, 1033); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', CreditsLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Credit Amount", '', false, Enum::"Column Layout Show"::Always, 'P', false, 1033); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', EndingBalanceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '1+2-3', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.BalanceSheetTrend(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[2]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[3]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[4]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', MayLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[5]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[6]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[7]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[8]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[9]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[10]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[11]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[12]', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthBalance(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthBalanceVPriorMonth(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', PriorMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthBalanceVSameMonthPriorYear(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthBalanceLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', XSameMonthPriorYearBalanceTxt, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthNetChange(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthNetChangeBudget(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[1]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[2]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[3]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[4]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[5]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 60000, '6', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[6]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 70000, '7', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[7]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 80000, '8', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[8]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 90000, '9', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[9]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 100000, '10', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[10]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 110000, '11', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[11]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 120000, '12', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 130000, '13', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", '1..12', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthNetChangeVPriorMonth(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthNetChangeVSameMonthPriorYear(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', SameMonthPriorYearNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthVPriorMonthCY(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', PriorMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', CurrentMonthNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 60000, '6', SameMonthPriorYearNetChangeLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '5-6', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.CurrentMonthVBudgetYearToDate(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentMonthActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', CurrentMonthBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'P', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '1-2', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', YearToDateActualLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 60000, '6', YearToDateBudgetLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[1..CP]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 70000, '7', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '5-6', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 80000, '8', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 90000, '9', TotalBudgetPlannedLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::"Budget Entries", '', false, Enum::"Column Layout Show"::Always, 'FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 100000, '10', TotalBudgetRemainingLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", '9-5', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.IncomeStatementTrend(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, 'A', JanuaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, 'A', FebruaryLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[2]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, 'A', MarchLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[3]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, 'A', AprilLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[4]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, 'A', MayLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[5]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 60000, 'A', JuneLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[6]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 70000, 'A', JulyLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[7]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 80000, 'A', AugustLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[8]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 90000, 'A', SeptemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[9]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 100000, 'A', OctoberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[10]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 110000, 'A', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[11]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 120000, 'A', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 130000, '', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'A', false, Enum::"Column Layout Show"::Always, '', false); + end; + + var + NetChangeLbl: Label 'Net Change', MaxLength = 30; + BudgetLbl: Label 'Budget', MaxLength = 30; + VarianceLbl: Label 'Variance', MaxLength = 30; + VariancePercentageLbl: Label 'Variance%', MaxLength = 30; + ABLbl: Label 'A-B', MaxLength = 30; + NetChangeDebitLbl: Label 'Net Change Debit', MaxLength = 30; + NetChangeCreditLbl: Label 'Net Change Credit', MaxLength = 30; + BalanceAtDateDebitLbl: Label 'Balance at Date Debit', MaxLength = 30; + BalanceAtDateCreditLbl: Label 'Balance at Date Credit', MaxLength = 30; + KeyFigureLbl: Label 'Key Figure', MaxLength = 30; + BalanceLbl: Label 'Balance', MaxLength = 30; + CurrentPeriodLbl: Label 'CURRENT PERIOD', MaxLength = 30; + CurrentPeriodMinus1Lbl: Label 'CURRENT PERIOD - 1', MaxLength = 30; + CurrentPeriodMinus2Lbl: Label 'CURRENT PERIOD - 2', MaxLength = 30; + AmountLbl: Label 'Amount', MaxLength = 30; + AmountUntilDateLbl: Label 'Amount until date', MaxLength = 30; + EntireFiscalYearLbl: Label 'Entire Fiscal Year', MaxLength = 30; + BeginningBalanceLbl: Label 'Beginning Balance', MaxLength = 30; + DebitsLbl: Label 'Debits', MaxLength = 30; + CreditsLbl: Label 'Credits', MaxLength = 30; + EndingBalanceLbl: Label 'Ending Balance', MaxLength = 30; + JanuaryLbl: Label 'January', MaxLength = 30; + FebruaryLbl: Label 'February', MaxLength = 30; + MarchLbl: Label 'March', MaxLength = 30; + AprilLbl: Label 'April', MaxLength = 30; + MayLbl: Label 'May', MaxLength = 30; + JuneLbl: Label 'June', MaxLength = 30; + JulyLbl: Label 'July', MaxLength = 30; + AugustLbl: Label 'August', MaxLength = 30; + SeptemberLbl: Label 'September', MaxLength = 30; + OctoberLbl: Label 'October', MaxLength = 30; + NovemberLbl: Label 'November', MaxLength = 30; + DecemberLbl: Label 'December', MaxLength = 30; + CurrentMonthBalanceLbl: Label 'Current Month Balance', MaxLength = 30; + PriorMonthBalanceLbl: Label 'Prior Month Balance', MaxLength = 30; + DifferenceLbl: Label 'Difference', MaxLength = 30; + XSameMonthPriorYearBalanceTxt: Label 'Same Month Prior Year Balance', MaxLength = 30; + CurrentMonthNetChangeLbl: Label 'Current Month Net Change', MaxLength = 30; + PriorMonthNetChangeLbl: Label 'Prior Month Net Change', MaxLength = 30; + TotalLbl: Label 'Total', MaxLength = 30; + SameMonthPriorYearNetChangeLbl: Label 'Same Month Prior Year Net Chan', MaxLength = 30; + CurrentMonthActualLbl: Label 'Current Month Actual', MaxLength = 30; + CurrentMonthBudgetLbl: Label 'Current Month Budget', MaxLength = 30; + YearToDateActualLbl: Label 'Year to Date Actual', MaxLength = 30; + YearToDateBudgetLbl: Label 'Year to Date Budget', MaxLength = 30; + TotalBudgetPlannedLbl: Label 'Total Budget Planned', MaxLength = 30; + TotalBudgetRemainingLbl: Label 'Total Budget Remaining', MaxLength = 30; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateCurrencyExchangeRate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateCurrencyExchangeRate.Codeunit.al new file mode 100644 index 0000000000..449a5c6208 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateCurrencyExchangeRate.Codeunit.al @@ -0,0 +1,72 @@ +codeunit 5438 "Create Currency Exchange Rate" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + Currency: Codeunit "Create Currency"; + ContosoCurrency: Codeunit "Contoso Currency"; + date: Date; + begin + date := CalcDate('', WorkDate()); + + ContosoCurrency.InsertCurrencyExchangeRate(Currency.AED(), date, 100, 100, 23.3753, 23.3753); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.AUD(), date, 100, 100, 34.2995, 34.2995); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.BGN(), date, 100, 100, 31.6096, 31.6096); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.BND(), date, 100, 100, 39.2997, 39.2997); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.BRL(), date, 100, 100, 24.5198, 24.5198); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.CAD(), date, 100, 100, 43.1903, 43.1903); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.CHF(), date, 100, 100, 54.3424, 54.3424); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.CZK(), date, 100, 100, 2.6618, 2.6618); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.DKK(), date, 100, 100, 11.68, 11.68); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.DZD(), date, 100, 100, 1.1217, 1.1217); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.EUR(), date, 1, 1, 0.6458, 0.6458); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.FJD(), date, 100, 100, 30.1402, 30.1402); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.HKD(), date, 100, 100, 8.7635, 8.7635); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.HRK(), date, 100, 100, 11.8165, 11.8165); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.HUF(), date, 100, 100, 0.3674, 0.3674); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.IDR(), date, 100, 100, 0.0097, 0.0097); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.INR(), date, 100, 100, 1.4401, 1.4401); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.ISK(), date, 100, 100, 0.9951, 0.9951); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.JPY(), date, 100, 100, 0.5805, 0.5805); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.KES(), date, 100, 100, 1.0826, 1.0826); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.MAD(), date, 100, 100, 8.2337, 8.2337); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.MZN(), date, 1000, 1000, 0.0372, 0.0372); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.MXN(), date, 100, 100, 7.2101, 7.2101); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.MYR(), date, 100, 100, 18.0596, 18.0596); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.NGN(), date, 100, 100, 0.68, 0.68); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.NOK(), date, 100, 100, 10.2609, 10.2609); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.NZD(), date, 100, 100, 29.0295, 29.0295); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.PHP(), date, 100, 100, 1.3397, 1.3397); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.PLN(), date, 100, 100, 16.5996, 16.5996); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.RON(), date, 1000, 1000, 0.0263, 0.0263); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.RSD(), date, 100, 100, 1.0224, 1.0224); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.RUB(), date, 100, 100, 2.35, 2.35); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SAR(), date, 100, 100, 18.2804, 18.2804); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SBD(), date, 100, 100, 12.6903, 12.6903); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SEK(), date, 100, 100, 9.8965, 9.8965); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SGD(), date, 100, 100, 39.5496, 39.5496); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SZL(), date, 100, 100, 9.4344, 9.4344); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.ZAR(), date, 100, 100, 7.9903, 7.9903); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.THB(), date, 100, 100, 1.5394, 1.5394); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.TND(), date, 100, 100, 63.0111, 63.0111); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.TOP(), date, 1, 1, 0.3412, 0.3412); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.TRY(), date, 100, 100, 53.3395, 53.3395); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.UGX(), date, 100, 100, 0.0496, 0.0496); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.USD(), date, 100, 100, 64.8824, 64.8824); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.WST(), date, 100, 100, 239.5404, 239.5404); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.VUV(), date, 100, 100, 0.48, 0.48); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.XPF(), date, 100, 100, 0.7305, 0.7305); + + date := DMY2Date(2, 1, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.USD(), date, 100, 100, 65.7023, 65.7023); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SEK(), date, 100, 100, 10.1674, 10.1674); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.EUR(), date, 100, 100, 87.1351, 87.1351); + + date := DMY2Date(2, 4, 2013); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.USD(), date, 100, 100, 67.8129, 67.8129); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.SEK(), date, 100, 100, 10.477, 10.477); + ContosoCurrency.InsertCurrencyExchangeRate(Currency.EUR(), date, 100, 100, 87.0721, 87.0721); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateDimensionValue.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateDimensionValue.Codeunit.al new file mode 100644 index 0000000000..30142adab6 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateDimensionValue.Codeunit.al @@ -0,0 +1,186 @@ +codeunit 5417 "Create Dimension Value" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateDimension: Codeunit "Create Dimension"; + ContosoDimension: Codeunit "Contoso Dimension"; + DimensionValueIndent: Codeunit "Dimension Value-Indent"; + begin + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), EuropeArea(), EuropeLbl, 3, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), EuropeNorthArea(), EuropeNorthLbl, 3, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), EuropeNorthEUArea(), EuropeNorthEULbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), EuropeNorthNonEUArea(), EuropeNorthNonEULbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), EuropeNorthTotalArea(), EuropeNorthTotalLbl, 4, EuropeNorthArea() + '..' + EuropeNorthTotalArea()); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), EuropeSouthArea(), EuropeSouthLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), EuropeTotalArea(), EuropeTotalLbl, 4, EuropeArea() + '..' + EuropeTotalArea()); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), AmericaArea(), AmericaLbl, 3, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), AmericaNorthArea(), AmericaNorthLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), AmericaSouthArea(), AmericaSouthLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.AreaDimension(), AmericaTotalArea(), AmericaTotalLbl, 4, AmericaArea() + '..' + AmericaTotalArea()); + + ContosoDimension.InsertDimensionValue(CreateDimension.BusinessGroupDimension(), HomeBusinessGroup(), HomeLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.BusinessGroupDimension(), IndustrialBusinessGroup(), IndustrialLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.BusinessGroupDimension(), OfficeBusinessGroup(), OfficeLbl, 0, ''); + + ContosoDimension.InsertDimensionValue(CreateDimension.CustomerGroupDimension(), LargeBusinessCustomerGroup(), LargeBusinessLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.CustomerGroupDimension(), MediumBusinessCustomerGroup(), MediumBusinessLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.CustomerGroupDimension(), SmallBusinessCustomerGroup(), SmallBusinessLbl, 0, ''); + + ContosoDimension.InsertDimensionValue(CreateDimension.DepartmentDimension(), AdministrationDepartment(), AdministrationLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.DepartmentDimension(), ProductionDepartment(), ProductionLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.DepartmentDimension(), SalesDepartment(), SalesLbl, 0, ''); + + ContosoDimension.InsertDimensionValue(CreateDimension.SalesCampaignDimension(), SummerSalesCampaign(), SummerLbl, 0, ''); + ContosoDimension.InsertDimensionValue(CreateDimension.SalesCampaignDimension(), WinterSalesCampaign(), WinterLbl, 0, ''); + + DimensionValueIndent.Indent(); + end; + + procedure EuropeArea(): Code[20] + begin + exit('10'); + end; + + procedure EuropeNorthArea(): Code[20] + begin + exit('20'); + end; + + procedure EuropeNorthEUArea(): Code[20] + begin + exit('30'); + end; + + procedure EuropeNorthNonEUArea(): Code[20] + begin + exit('40'); + end; + + procedure EuropeNorthTotalArea(): Code[20] + begin + exit('45'); + end; + + procedure EuropeSouthArea(): Code[20] + begin + exit('50'); + end; + + procedure EuropeTotalArea(): Code[20] + begin + exit('55'); + end; + + procedure AmericaArea(): Code[20] + begin + exit('60'); + end; + + procedure AmericaNorthArea(): Code[20] + begin + exit('70'); + end; + + procedure AmericaSouthArea(): Code[20] + begin + exit('80'); + end; + + procedure AmericaTotalArea(): Code[20] + begin + exit('85'); + end; + + procedure HomeBusinessGroup(): Code[20] + begin + exit(HomeTok); + end; + + procedure IndustrialBusinessGroup(): Code[20] + begin + exit(IndustrialTok); + end; + + procedure OfficeBusinessGroup(): Code[20] + begin + exit(OfficeTok); + end; + + procedure LargeBusinessCustomerGroup(): Code[20] + begin + exit(LargeBusinessTok); + end; + + procedure MediumBusinessCustomerGroup(): Code[20] + begin + exit(MediumBusinessTok); + end; + + procedure SmallBusinessCustomerGroup(): Code[20] + begin + exit(SmallBusinessTok); + end; + + procedure AdministrationDepartment(): Code[20] + begin + exit(AdministrationTok); + end; + + procedure ProductionDepartment(): Code[20] + begin + exit(ProductionTok); + end; + + procedure SalesDepartment(): Code[20] + begin + exit(SalesTok); + end; + + procedure SummerSalesCampaign(): Code[20] + begin + exit(SummerTok); + end; + + procedure WinterSalesCampaign(): Code[20] + begin + exit(WinterTok); + end; + + var + EuropeLbl: Label 'Europe', MaxLength = 50; + EuropeNorthLbl: Label 'Europe North', MaxLength = 50; + EuropeNorthEULbl: Label 'Europe North (EU)', MaxLength = 50; + EuropeNorthNonEULbl: Label 'Europe North (Non EU)', MaxLength = 50; + EuropeNorthTotalLbl: Label 'Europe North, Total', MaxLength = 50; + EuropeSouthLbl: Label 'Europe South', MaxLength = 50; + EuropeTotalLbl: Label 'Europe, Total', MaxLength = 50; + AmericaLbl: Label 'America', MaxLength = 50; + AmericaNorthLbl: Label 'America North', MaxLength = 50; + AmericaSouthLbl: Label 'America South', MaxLength = 50; + AmericaTotalLbl: Label 'America, Total', MaxLength = 50; + HomeLbl: Label 'Home', MaxLength = 50; + IndustrialLbl: Label 'Industrial', MaxLength = 50; + OfficeLbl: Label 'Office', MaxLength = 50; + LargeBusinessLbl: Label 'Large Business', MaxLength = 50; + MediumBusinessLbl: Label 'Medium Business', MaxLength = 50; + SmallBusinessLbl: Label 'Small Business', MaxLength = 50; + AdministrationLbl: Label 'Administration', MaxLength = 50; + ProductionLbl: Label 'Production', MaxLength = 50; + SalesLbl: Label 'Sales', MaxLength = 50; + SummerLbl: Label 'Summer', MaxLength = 50; + WinterLbl: Label 'Winter', MaxLength = 50; + HomeTok: Label 'HOME', MaxLength = 20; + IndustrialTok: Label 'INDUSTRIAL', MaxLength = 20; + OfficeTok: Label 'OFFICE', MaxLength = 20; + LargeBusinessTok: Label 'LARGE', MaxLength = 20; + MediumBusinessTok: Label 'MEDIUM', MaxLength = 20; + SmallBusinessTok: Label 'SMALL', MaxLength = 20; + AdministrationTok: Label 'ADM', MaxLength = 20; + ProductionTok: Label 'PROD', MaxLength = 20; + SalesTok: Label 'SALES', MaxLength = 20; + SummerTok: Label 'SUMMER', MaxLength = 20; + WinterTok: Label 'WINTER', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateFinancialReport.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateFinancialReport.Codeunit.al new file mode 100644 index 0000000000..c16fa68f91 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateFinancialReport.Codeunit.al @@ -0,0 +1,120 @@ +codeunit 5425 "Create Financial Report" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ColumnLayoutName: Codeunit "Create Column Layout Name"; + ContosoAccountSchedule: Codeunit "Contoso Account Schedule"; + AccountScheduleName: Codeunit "Create Acc. Schedule Name"; + begin + ContosoAccountSchedule.InsertFinancialReport(AccountCategoriesOverview(), AccountCategoriesOverviewLbl, AccountScheduleName.AccountCategoriesOverview(), ColumnLayoutName.PeriodsDefinition()); + ContosoAccountSchedule.InsertFinancialReport(CapitalStructure(), CapitalStructureLbl, AccountScheduleName.CapitalStructure(), ColumnLayoutName.BalanceOnly()); + ContosoAccountSchedule.InsertFinancialReport(CalculationOfCashFlow(), CalculationOfCashFlowLbl, AccountScheduleName.CashFlowCalculation(), ColumnLayoutName.CashFlowComparison()); + ContosoAccountSchedule.InsertFinancialReport(DataForCashCycleChart(), DataForCashCycleChartLbl, AccountScheduleName.CashCycle(), ColumnLayoutName.PeriodsDefinition()); + ContosoAccountSchedule.InsertFinancialReport(DataForCashFlowChart(), DataForCashFlowChartLbl, AccountScheduleName.CashFlow(), ColumnLayoutName.PeriodsDefinition()); + ContosoAccountSchedule.InsertFinancialReport(DataForIncomeExpenseChart(), DataForIncomeExpenseChartLbl, AccountScheduleName.IncomeExpense(), ColumnLayoutName.PeriodsDefinition()); + ContosoAccountSchedule.InsertFinancialReport(DataForReducedTrialBalanceInfoPart(), DataForReducedTrialBalanceInfoPartLbl, AccountScheduleName.ReducedTrialBalance(), ColumnLayoutName.PeriodsDefinition()); + ContosoAccountSchedule.InsertFinancialReport(Revenues(), RevenuesLbl, AccountScheduleName.Revenues(), ColumnLayoutName.BudgetAnalysis()); + + ContosoAccountSchedule.InsertFinancialReport(BalanceSheetDetailed(), BalanceSheetDetailedLbl, AccountScheduleName.BalanceSheetDetailed(), ColumnLayoutName.BalanceSheetTrend()); + ContosoAccountSchedule.InsertFinancialReport(BalanceSheetSummarized(), BalanceSheetSummarizedLbl, AccountScheduleName.BalanceSheetSummarized(), ColumnLayoutName.BalanceSheetTrend()); + ContosoAccountSchedule.InsertFinancialReport(IncomeStatementDetailed(), IncomeStatementDetailedLbl, AccountScheduleName.IncomeStatementDetailed(), ColumnLayoutName.IncomeStatementTrend()); + ContosoAccountSchedule.InsertFinancialReport(IncomeStatementSummarized(), IncomeStatementSummarizedLbl, AccountScheduleName.IncomeStatementSummarized(), ColumnLayoutName.IncomeStatementTrend()); + ContosoAccountSchedule.InsertFinancialReport(TrialBalance(), TrialBalanceLbl, AccountScheduleName.TrialBalance(), ColumnLayoutName.BeginningBalanceDebitsCreditsEndingBalance()); + end; + + procedure AccountCategoriesOverview(): Code[10] + begin + exit(AccountCategoriesOverviewTok); + end; + + procedure CapitalStructure(): Code[10] + begin + exit(CapitalStructureTok); + end; + + procedure CalculationOfCashFlow(): Code[10] + begin + exit(CalculationOfCashFlowTok); + end; + + procedure DataForCashCycleChart(): Code[10] + begin + exit(DataForCashCycleChartTok); + end; + + procedure DataForCashFlowChart(): Code[10] + begin + exit(DataForCashFlowChartTok); + end; + + procedure DataForIncomeExpenseChart(): Code[10] + begin + exit(DataForIncomeExpenseChartTok); + end; + + procedure DataForReducedTrialBalanceInfoPart(): Code[10] + begin + exit(DataForReducedTrialBalanceInfoPartTok); + end; + + procedure Revenues(): Code[10] + begin + exit(RevenuesTok); + end; + + procedure BalanceSheetDetailed(): Code[10] + begin + exit(BalanceSheetDetailedTok); + end; + + procedure BalanceSheetSummarized(): Code[10] + begin + exit(BalanceSheetSummarizedTok); + end; + + procedure IncomeStatementDetailed(): Code[10] + begin + exit(IncomeStatementDetailedTok); + end; + + procedure IncomeStatementSummarized(): Code[10] + begin + exit(IncomeStatementSummarizedTok); + end; + + procedure TrialBalance(): Code[10] + begin + exit(TrialBalanceTok); + end; + + var + AccountCategoriesOverviewTok: Label 'ACC-CAT', MaxLength = 10; + CapitalStructureTok: Label 'ANALYSIS', MaxLength = 10; + CalculationOfCashFlowTok: Label 'CASHFLOW', MaxLength = 10; + DataForCashCycleChartTok: Label 'I_CACYCLE', MaxLength = 10; + DataForCashFlowChartTok: Label 'I_CASHFLOW', MaxLength = 10; + DataForIncomeExpenseChartTok: Label 'I_INCEXP', MaxLength = 10; + DataForReducedTrialBalanceInfoPartTok: Label 'I_MINTRIAL', MaxLength = 10; + RevenuesTok: Label 'REVENUE', MaxLength = 10; + BalanceSheetDetailedTok: Label 'BS DET', MaxLength = 10, Comment = 'Balance Sheet Detailed'; + BalanceSheetSummarizedTok: Label 'BS SUM', MaxLength = 10, Comment = 'Balance Sheet Summarized'; + IncomeStatementDetailedTok: Label 'IS DET', MaxLength = 10, Comment = 'Income Statement Detailed'; + IncomeStatementSummarizedTok: Label 'IS SUM', MaxLength = 10, Comment = 'Income Statement Summarized'; + TrialBalanceTok: Label 'TB', MaxLength = 10, Comment = 'Trial Balance'; + AccountCategoriesOverviewLbl: Label 'Account Categories overview', MaxLength = 80; + CapitalStructureLbl: Label 'Capital Structure', MaxLength = 80; + CalculationOfCashFlowLbl: Label 'Calculation Of Cash Flow', MaxLength = 80; + DataForCashCycleChartLbl: Label 'Data for Cash Cycle Chart', MaxLength = 80; + DataForCashFlowChartLbl: Label 'Data for Cash Flow Chart', MaxLength = 80; + DataForIncomeExpenseChartLbl: Label 'Data for Income & Expense Chart', MaxLength = 80; + DataForReducedTrialBalanceInfoPartLbl: Label 'Data for Reduced Trial Balance Info Part', MaxLength = 80; + RevenuesLbl: Label 'Revenues', MaxLength = 80; + BalanceSheetDetailedLbl: Label 'Balance Sheet Detailed', MaxLength = 80; + BalanceSheetSummarizedLbl: Label 'Balance Sheet Summarized', MaxLength = 80; + IncomeStatementDetailedLbl: Label 'Income Statement Detailed', MaxLength = 80; + IncomeStatementSummarizedLbl: Label 'Income Statement Summarized', MaxLength = 80; + TrialBalanceLbl: Label 'Trial Balance', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateResource.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateResource.Codeunit.al new file mode 100644 index 0000000000..9ed5482795 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateResource.Codeunit.al @@ -0,0 +1,59 @@ +codeunit 5237 "Create Resource" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoProjects: Codeunit "Contoso Projects"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateUnitofMeasure: Codeunit "Create Unit of Measure"; + begin + ContosoProjects.InsertResource(Katherine(), Enum::"Resource Type"::Person, KatherineHullLbl, DeerfieldRoadLbl, LondonLbl, ManagerLbl, ContosoUtilities.AdjustDate(18840525D), CreateUnitofMeasure.Hour(), 50, 10, 55, 45, 0, 100, CreatePostingGroup.ServicesPostingGroup(), N125XYLbl, CreateVATPostingGroups.Reduced()); + ContosoProjects.InsertResource(Lina(), Enum::"Resource Type"::Person, LinaTownsendLbl, WaterWayLbl, LondonLbl, DesignerLbl, ContosoUtilities.AdjustDate(18780101D), CreateUnitofMeasure.Hour(), 60, 10, 66, 45, 0, 120, CreatePostingGroup.ServicesPostingGroup(), N1634ZLbl, CreateVATPostingGroups.Reduced()); + ContosoProjects.InsertResource(Marty(), Enum::"Resource Type"::Person, MartyHorstLbl, ALittleJohnStreetLbl, LondonLbl, InstallerLbl, ContosoUtilities.AdjustDate(18750301D), CreateUnitofMeasure.Hour(), 45, 10, 49.5, 45, 0, 90, CreatePostingGroup.ServicesPostingGroup(), N125XYLbl, CreateVATPostingGroups.Reduced()); + ContosoProjects.InsertResource(Terry(), Enum::"Resource Type"::Person, TerryDoddsLbl, BJamesRoadLbl, LondonLbl, DesignerLbl, ContosoUtilities.AdjustDate(18750301D), CreateUnitofMeasure.Hour(), 50, 10, 55, 45, 0, 100, CreatePostingGroup.ServicesPostingGroup(), N125XYLbl, CreateVATPostingGroups.Reduced()); + end; + + procedure Katherine(): Code[20] + begin + exit(KatherineTok); + end; + + procedure Lina(): Code[20] + begin + exit(LinaTok); + end; + + procedure Marty(): Code[20] + begin + exit(MartyTok); + end; + + procedure Terry(): Code[20] + begin + exit(TerryTok); + end; + + var + KatherineTok: Label 'KATHERINE', MaxLength = 20; + LinaTok: Label 'LINA', MaxLength = 20; + MartyTok: Label 'MARTY', MaxLength = 20; + TerryTok: Label 'TERRY', MaxLength = 20; + KatherineHullLbl: Label 'KATHERINE HULL', MaxLength = 100; + LinaTownsendLbl: Label 'Lina Townsend', MaxLength = 100; + MartyHorstLbl: Label 'Marty Horst', MaxLength = 100; + TerryDoddsLbl: Label 'Terry Dodds', MaxLength = 100; + DeerfieldRoadLbl: Label '10 Deerfield Road', MaxLength = 100; + WaterWayLbl: Label '25 Water Way', MaxLength = 100; + ALittleJohnStreetLbl: Label '49 A Little John Street', MaxLength = 100; + BJamesRoadLbl: Label '66 B James Road', MaxLength = 100; + LondonLbl: Label 'London', MaxLength = 30; + ManagerLbl: Label 'Manager', MaxLength = 30; + DesignerLbl: Label 'Designer', MaxLength = 30; + InstallerLbl: Label 'Installer', MaxLength = 30; + N125XYLbl: Label 'N12 5XY', MaxLength = 20; + N1634ZLbl: Label 'N16 34Z', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateVATRegNoFormat.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateVATRegNoFormat.Codeunit.al new file mode 100644 index 0000000000..1721c5e0af --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateVATRegNoFormat.Codeunit.al @@ -0,0 +1,172 @@ +codeunit 5695 "Create VAT Reg. No. Format" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateCountryRegion: Codeunit "Create Country/Region"; + ContosoCountryOrRegion: Codeunit "Contoso Country Or Region"; + begin + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.AT(), 10000, ATFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BE(), 10000, BEFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BE(), 20000, BEFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BE(), 30000, BEFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BE(), 40000, BEFormat3Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BE(), 50000, BEFormat4Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BE(), 60000, BEFormat5Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BE(), 70000, BEFormat6Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BG(), 10000, BGFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.BG(), 20000, BGFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CH(), 10000, CHFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CH(), 20000, CHFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CH(), 30000, CHFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CH(), 40000, CHFormat3Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CY(), 10000, CYFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CY(), 20000, CYFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 10000, CZFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 20000, CZFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.CZ(), 30000, CZFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.DE(), 10000, DEFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.DE(), 20000, DEFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.DK(), 10000, DKFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.DK(), 20000, DKFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.EE(), 10000, EEFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.EE(), 20000, EEFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 10000, ESFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 20000, ESFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 30000, ESFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 40000, ESFormat3Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 50000, ESFormat4Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 60000, ESFormat5Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 70000, ESFormat6Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 80000, ESFormat7Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 90000, ESFormat8Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 100000, ESFormat9Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 110000, ESFormat10Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 120000, ESFormat11Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 130000, ESFormat12Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 140000, ESFormat13Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.ES(), 150000, ESFormat14Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.FR(), 10000, FRFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.FR(), 20000, FRFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.GB(), 10000, GBFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.GB(), 20000, GBFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.GB(), 30000, GBFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.GB(), 40000, GBFormat3Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.GB(), 50000, GBFormat4Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.GB(), 60000, GBFormat5Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.HR(), 10000, HRFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.HU(), 10000, HUFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.HU(), 20000, HUFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LT(), 10000, LTFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LT(), 20000, LTFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LT(), 30000, LTFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LT(), 40000, LTFormat3Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LU(), 10000, LUFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LU(), 20000, LUFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LV(), 10000, LVFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.LV(), 20000, LVFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.MT(), 10000, MTFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.MT(), 20000, MTFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.NL(), 10000, NLFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.NL(), 20000, NLFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.NO(), 10000, NOFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.NO(), 20000, NOFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.NO(), 30000, NOFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.NO(), 40000, NOFormat3Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.PL(), 10000, PLFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.PL(), 20000, PLFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.RO(), 10000, ROFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SE(), 10000, SEFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SE(), 20000, SEFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SG(), 10000, SGFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SI(), 10000, SIFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SI(), 20000, SIFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SK(), 10000, SKFormatLbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SK(), 20000, SKFormat1Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SK(), 30000, SKFormat2Lbl); + ContosoCountryOrRegion.InsertVATRegNoFormat(CreateCountryRegion.SK(), 40000, SKFormat3Lbl); + end; + + var + ATFormatLbl: Label 'ATU########', MaxLength = 20, Locked = true; + BEFormatLbl: Label 'BE#########', MaxLength = 20, Locked = true; + BEFormat1Lbl: Label 'BE #########', MaxLength = 20, Locked = true; + BEFormat2Lbl: Label 'BE ###.###.###', MaxLength = 20, Locked = true; + BEFormat3Lbl: Label 'BE ### ### ###', MaxLength = 20, Locked = true; + BEFormat4Lbl: Label '#########', MaxLength = 20, Locked = true; + BEFormat5Lbl: Label '###.###.###', MaxLength = 20, Locked = true; + BEFormat6Lbl: Label '### ### ###', MaxLength = 20, Locked = true; + BGFormatLbl: Label 'BG##########', MaxLength = 20, Locked = true; + BGFormat1Lbl: Label 'BG#########', MaxLength = 20, Locked = true; + CHFormatLbl: Label 'CHE-###.###.###MWST', MaxLength = 20, Locked = true; + CHFormat1Lbl: Label 'CHE-###.###.### TVA', MaxLength = 20, Locked = true; + CHFormat2Lbl: Label 'CHE-###.###.### IVA', MaxLength = 20, Locked = true; + CHFormat3Lbl: Label '### ###', MaxLength = 20, Locked = true; + CYFormatLbl: Label 'CY########@', MaxLength = 20, Locked = true; + CYFormat1Lbl: Label '########@', MaxLength = 20, Locked = true; + CZFormatLbl: Label 'CZ########', MaxLength = 20, Locked = true; + CZFormat1Lbl: Label 'CZ#########', MaxLength = 20, Locked = true; + CZFormat2Lbl: Label 'CZ##########', MaxLength = 20, Locked = true; + DEFormatLbl: Label 'DE#########', MaxLength = 20, Locked = true; + DEFormat1Lbl: Label '#########', MaxLength = 20, Locked = true; + DKFormatLbl: Label 'DK########', MaxLength = 20, Locked = true; + DKFormat1Lbl: Label '########', MaxLength = 20, Locked = true; + EEFormatLbl: Label 'EE#########', MaxLength = 20, Locked = true; + EEFormat1Lbl: Label '#########', MaxLength = 20, Locked = true; + ESFormatLbl: Label 'ES########@', MaxLength = 20, Locked = true; + ESFormat1Lbl: Label '########@', MaxLength = 20, Locked = true; + ESFormat2Lbl: Label 'ES@########', MaxLength = 20, Locked = true; + ESFormat3Lbl: Label '@########', MaxLength = 20, Locked = true; + ESFormat4Lbl: Label 'ES@#######@', MaxLength = 20, Locked = true; + ESFormat5Lbl: Label '@#######@', MaxLength = 20, Locked = true; + ESFormat6Lbl: Label '@########@', MaxLength = 20, Locked = true; + ESFormat7Lbl: Label '@######@', MaxLength = 20, Locked = true; + ESFormat8Lbl: Label '@#####@', MaxLength = 20, Locked = true; + ESFormat9Lbl: Label '#######@', MaxLength = 20, Locked = true; + ESFormat10Lbl: Label '######@', MaxLength = 20, Locked = true; + ESFormat11Lbl: Label '#####@', MaxLength = 20, Locked = true; + ESFormat12Lbl: Label '@#######', MaxLength = 20, Locked = true; + ESFormat13Lbl: Label '@######', MaxLength = 20, Locked = true; + ESFormat14Lbl: Label '@#####', MaxLength = 20, Locked = true; + FRFormatLbl: Label 'FR###########', MaxLength = 20, Locked = true; + FRFormat1Lbl: Label '###########', MaxLength = 20, Locked = true; + GBFormatLbl: Label 'GB#########', MaxLength = 20, Locked = true; + GBFormat1Lbl: Label 'GB###-####-##', MaxLength = 20, Locked = true; + GBFormat2Lbl: Label 'GB### #### ##', MaxLength = 20, Locked = true; + GBFormat3Lbl: Label '###-####-##', MaxLength = 20, Locked = true; + GBFormat4Lbl: Label '### #### ##', MaxLength = 20, Locked = true; + GBFormat5Lbl: Label '#########', MaxLength = 20, Locked = true; + HRFormatLbl: Label 'HR###########', MaxLength = 20, Locked = true; + HUFormatLbl: Label 'HU########', MaxLength = 20, Locked = true; + HUFormat1Lbl: Label '########', MaxLength = 20, Locked = true; + LTFormatLbl: Label 'LT#########', MaxLength = 20, Locked = true; + LTFormat1Lbl: Label 'LT############', MaxLength = 20, Locked = true; + LTFormat2Lbl: Label '#########', MaxLength = 20, Locked = true; + LTFormat3Lbl: Label '############', MaxLength = 20, Locked = true; + LUFormatLbl: Label 'LU########', MaxLength = 20, Locked = true; + LUFormat1Lbl: Label '########', MaxLength = 20, Locked = true; + LVFormatLbl: Label 'LV###########', MaxLength = 20, Locked = true; + LVFormat1Lbl: Label '###########', MaxLength = 20, Locked = true; + MTFormatLbl: Label 'MT########', MaxLength = 20, Locked = true; + MTFormat1Lbl: Label '########', MaxLength = 20, Locked = true; + NLFormatLbl: Label 'NL#########B##', MaxLength = 20, Locked = true; + NLFormat1Lbl: Label '#########B##', MaxLength = 20, Locked = true; + NOFormatLbl: Label 'NO ### ### ### MVA', MaxLength = 20, Locked = true; + NOFormat1Lbl: Label '### ### ### MVA', MaxLength = 20, Locked = true; + NOFormat2Lbl: Label 'NO ### ### ###', MaxLength = 20, Locked = true; + NOFormat3Lbl: Label '#########', MaxLength = 20, Locked = true; + PLFormatLbl: Label 'PL##########', MaxLength = 20, Locked = true; + PLFormat1Lbl: Label '##########', MaxLength = 20, Locked = true; + ROFormatLbl: Label 'RO##########', MaxLength = 20, Locked = true; + SEFormatLbl: Label 'SE##########01', Comment = 'SE##########01 is the VAT Reg. No Format', MaxLength = 20, Locked = true; + SEFormat1Lbl: Label '##########01', Comment = '##########01 is the VAT Reg. No Format', MaxLength = 20, Locked = true; + SGFormatLbl: Label '##-#######-?', MaxLength = 20, Locked = true; + SIFormatLbl: Label 'SI########', MaxLength = 20, Locked = true; + SIFormat1Lbl: Label '########', MaxLength = 20, Locked = true; + SKFormatLbl: Label 'SK#########', MaxLength = 20, Locked = true; + SKFormat1Lbl: Label 'SK##########', MaxLength = 20, Locked = true; + SKFormat2Lbl: Label '#########', MaxLength = 20, Locked = true; + SKFormat3Lbl: Label '##########', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateVATStatement.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateVATStatement.Codeunit.al new file mode 100644 index 0000000000..06784d7330 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateVATStatement.Codeunit.al @@ -0,0 +1,173 @@ +codeunit 5630 "Create VAT Statement" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + exit; + + ContosoVatStatement.InsertVATStatementTemplate(VATTemplateName(), VATStatementDescLbl, Page::"VAT Statement", Report::"VAT Statement"); + + ContosoVatStatement.InsertVATStatementName(VATTemplateName(), StatementNameLbl, StatementNameDescLbl); + CreateVATStatementLine(); + end; + + local procedure CreateVATStatementLine() + var + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 10000, '001', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '020|030', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VatSalesDueLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 20000, '002', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '090|100', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, VatAcquisitionDueLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 30000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, MemberStatesECLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 40000, '003', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '001|002', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalVatDueLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 50000, '004', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '040|050|070|080', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, VatReclaimedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 60000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, InputsAcquisitionECLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 70000, '005', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '020|030|070|080', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, NetVatPaidLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 80000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 90000, '006', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '110|120|170|180|008', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalValueSalesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 100000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ExcludingVatLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 110000, '007', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '210|220|270|280|009', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalValuePurchaseLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 120000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ExcludingVatLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 130000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 140000, '008', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '140|150', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, TotalValueSuppliesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 150000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, ECMemberStatesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 160000, '009', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '240|250', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, TotalValueAcquisitionLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 170000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ExcludingVatECLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 180000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, MemberStatesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 190000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SeparationLineLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 200000, '011', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, SalesStandardLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 210000, '012', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullNormal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, SalesStandardFullLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 220000, '020', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '011..019', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SalesStandardTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 230000, '021', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, SalesReducedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 240000, '022', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullRed(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 0, SalesReducedFullLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 250000, '030', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '021..029', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, SalesReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 260000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 270000, '031', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, EUStandardLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 280000, '040', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '031..039', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, EUStandardTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 290000, '041', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, EUReducedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 300000, '050', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '041..049', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, EUReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 310000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 320000, '061', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, PurchaseStandardLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 330000, '062', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullNormal(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, PurchaseStandardFullLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 340000, '070', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '061..069', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, PurchaseStandardTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 350000, '071', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, PurchaseReducedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 360000, '072', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.FullRed(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 1, false, 1, PurchaseReducedFullLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 370000, '080', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '071..079', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, PurchaseReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 380000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 390000, '081', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, false, 1, EUStandardLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 400000, '090', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '081..089', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, EUStandardTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 410000, '091', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Amount", 0, false, 1, EUReducedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 420000, '100', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '091..099', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 1, EUReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 430000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, false, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 440000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 450000, '101', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, DomesticStandardSalesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 460000, '110', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '101..109', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, DomesticStandardTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 470000, '111', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, DomesticReducedValueLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 480000, '120', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '111..119', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, DomesticReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 490000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 500000, '131', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, EUStandardSuppliesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 510000, '140', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '131..139', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, EUStandardSuppliesTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 520000, '141', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, EUReducedSuppliesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 530000, '150', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '141..149', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, EUReducedSuppliesTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 540000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 550000, '161', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, OverseasSalesValueLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 560000, '170', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '161..169', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, OverseasSalesTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 570000, '171', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 1, OverseasSalesReducedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 580000, '180', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '171..179', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 1, OverseasSalesReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 590000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 600000, '190', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Sale", CreateVATPostingGroups.Domestic(), '', '', Enum::"VAT Statement Line Amount Type"::"Base", 0, true, 1, NonVatLiableSalesLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 610000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 620000, '201', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, DomesticStandardPurchaseLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 630000, '210', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '201..209', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, DomesticStandardPurchaseTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 640000, '211', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, DomesticReducedPurchaseValueLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 650000, '220', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '211..219', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, DomesticReducedPurchaseTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 660000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 670000, '231', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, EUAcquisitionStandardLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 680000, '240', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '231..239', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, EUAcquisitionStandardTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 690000, '241', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.EU(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, EUAcquisitionReducedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 700000, '250', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '241..249', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, EUAcquisitionReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 710000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 720000, '261', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Standard(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, OverseasPurchaseValueLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 730000, '270', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '261..269', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, OverseasPurchaseTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 740000, '271', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Export(), CreateVATPostingGroups.Reduced(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, false, 0, OverseasPurchaseReducedLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 750000, '280', Enum::"VAT Statement Line Type"::"Row Totaling", Enum::"General Posting Type"::" ", '', '', '271..279', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, OverseasPurchaseReducedTotalLbl); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 760000, '', Enum::"VAT Statement Line Type"::Description, Enum::"General Posting Type"::" ", '', '', '', Enum::"VAT Statement Line Amount Type"::" ", 0, true, 0, ''); + ContosoVatStatement.InsertVatStatementLine(VATTemplateName(), StatementNameLbl, 770000, '290', Enum::"VAT Statement Line Type"::"VAT Entry Totaling", Enum::"General Posting Type"::"Purchase", CreateVATPostingGroups.Domestic(), CreateVATPostingGroups.Zero(), '', Enum::"VAT Statement Line Amount Type"::"Base", 0, true, 0, NonVatLiablePurchaseLbl); + end; + + procedure VATTemplateName(): Code[10] + begin + exit(VatTemplateNameTok); + end; + + var + ContosoVatStatement: Codeunit "Contoso VAT Statement"; + VatTemplateNameTok: Label 'VAT', Locked = true; + StatementNameLbl: Label 'DEFAULT', MaxLength = 10; + StatementNameDescLbl: Label 'Default Statement', MaxLength = 100; + VATStatementDescLbl: Label 'VAT Statement', MaxLength = 80; + VatSalesDueLbl: Label 'VAT due in the period on sales and other outputs', MaxLength = 100; + VatAcquisitionDueLbl: Label 'VAT due in the period on acquisitions from other', MaxLength = 100; + MemberStatesECLbl: Label 'member states of the EC', MaxLength = 100; + TotalVatDueLbl: Label 'Total VAT due', MaxLength = 100; + VatReclaimedLbl: Label 'VAT reclaimed in the period on purchases and other', MaxLength = 100; + InputsAcquisitionECLbl: Label 'inputs (including acquisitions from the EC)', MaxLength = 100; + NetVatPaidLbl: Label 'Net VAT to be paid (+) or to be reclaimed (-)', MaxLength = 100; + TotalValueSalesLbl: Label 'Total value of sales and all other outputs ', MaxLength = 100; + TotalValuePurchaseLbl: Label 'Total value of purchases and all other inputs ', MaxLength = 100; + ExcludingVatLbl: Label 'excluding any VAT', MaxLength = 100; + TotalValueSuppliesLbl: Label 'Total value of all supplies of goods and related', MaxLength = 100; + ECMemberStatesLbl: Label 'costs, excluding any VAT to other EC member states', MaxLength = 100; + TotalValueAcquisitionLbl: Label 'total value of all acquisitions of goods and ', MaxLength = 100; + ExcludingVatECLbl: Label 'related costs, excluding any VAT, from other EC ', MaxLength = 100; + MemberStatesLbl: Label 'member states', MaxLength = 100; + SalesStandardLbl: Label 'Sales 25 % ', MaxLength = 100; + SalesStandardFullLbl: Label 'Sales 25 % FULL', MaxLength = 100; + SalesStandardTotalLbl: Label 'Sales 25 % total', MaxLength = 100; + SalesReducedLbl: Label 'Sales 10 % ', MaxLength = 100; + SalesReducedFullLbl: Label 'Sales 10 % FULL', MaxLength = 100; + SalesReducedTotalLbl: Label 'Sales 10 % total', MaxLength = 100; + EUStandardLbl: Label '25 % on EU Acquisitions etc.', MaxLength = 100; + EUStandardTotalLbl: Label '25 % on EU Acquisitions etc. total', MaxLength = 100; + EUReducedLbl: Label '10 % on EU Acquisitions etc.', MaxLength = 100; + EUReducedTotalLbl: Label '10 % on EU Acquisitions etc. total', MaxLength = 100; + PurchaseStandardLbl: Label 'Purchase VAT 25 % Domestic ', MaxLength = 100; + PurchaseStandardFullLbl: Label 'Purchase VAT 25 % FULL Domestic', MaxLength = 100; + PurchaseStandardTotalLbl: Label 'Purchase 25 % Domestic Total ', MaxLength = 100; + PurchaseReducedLbl: Label 'Purchase VAT 10 % Domestic ', MaxLength = 100; + PurchaseReducedFullLbl: Label 'Purchase 10 % Domestic Total FULL', MaxLength = 100; + PurchaseReducedTotalLbl: Label 'Purchase 10 % Domestic total ', MaxLength = 100; + DomesticStandardSalesLbl: Label 'Value of Domestic Sales 25 % ', MaxLength = 100; + DomesticStandardTotalLbl: Label 'Value of Domestic Sales 25 % total', MaxLength = 100; + DomesticReducedValueLbl: Label 'Value of Domestic Sales 10 % ', MaxLength = 100; + DomesticReducedTotalLbl: Label 'Value of Domestic Sales 10 % total', MaxLength = 100; + EUStandardSuppliesLbl: Label 'Value of EU Supplies 25 % ', MaxLength = 100; + EUStandardSuppliesTotalLbl: Label 'Value of EU Supplies 25 % total', MaxLength = 100; + EUReducedSuppliesLbl: Label 'Value of EU Supplies 10 % ', MaxLength = 100; + EUReducedSuppliesTotalLbl: Label 'Value of EU Supplies 10 % total', MaxLength = 100; + OverseasSalesValueLbl: Label 'Value of Overseas Sales 25 % ', MaxLength = 100; + OverseasSalesTotalLbl: Label 'Value of Overseas Sales 25 % total', MaxLength = 100; + OverseasSalesReducedLbl: Label 'Value of Overseas Sales 10 % ', MaxLength = 100; + OverseasSalesReducedTotalLbl: Label 'Value of Overseas Sales 10 % total', MaxLength = 100; + NonVatLiableSalesLbl: Label 'Value of non-VAT liable sales', MaxLength = 100; + DomesticStandardPurchaseLbl: Label 'Value of Domestic Purchases 25 % ', MaxLength = 100; + DomesticStandardPurchaseTotalLbl: Label 'Value of Domestic Purchases 25 % total', MaxLength = 100; + DomesticReducedPurchaseValueLbl: Label 'Value of Domestic Purchases 10 % ', MaxLength = 100; + DomesticReducedPurchaseTotalLbl: Label 'Value of Domestic Purchases 10 % total', MaxLength = 100; + EUAcquisitionStandardLbl: Label 'Value of EU Acquisitions 25 % ', MaxLength = 100; + EUAcquisitionStandardTotalLbl: Label 'Value of EU Acquisitions 25 % Total', MaxLength = 100; + EUAcquisitionReducedLbl: Label 'Value of EU Acquisitions 10 % ', MaxLength = 100; + EUAcquisitionReducedTotalLbl: Label 'Value of EU Acquisitions 10 % total', MaxLength = 100; + OverseasPurchaseValueLbl: Label 'Value of Overseas Purchases 25 % ', MaxLength = 100; + OverseasPurchaseTotalLbl: Label 'Value of Overseas Purchases 25 % total', MaxLength = 100; + OverseasPurchaseReducedLbl: Label 'Value of Overseas Purchases 10 % ', MaxLength = 100; + OverseasPurchaseReducedTotalLbl: Label 'Value of Overseas Purchases 10 % total', MaxLength = 100; + NonVatLiablePurchaseLbl: Label 'Value of non-VAT liable purchases', MaxLength = 100; + SeparationLineLbl: Label '================================================', Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/FinanceModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/FinanceModule.Codeunit.al new file mode 100644 index 0000000000..b23e753d1e --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/FinanceModule.Codeunit.al @@ -0,0 +1,66 @@ +codeunit 5415 "Finance Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + exit; + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::Foundation); + end; + + procedure CreateSetupData() + var + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + Codeunit.Run(Codeunit::"Create VAT Posting Groups"); + Codeunit.Run(Codeunit::"Create Posting Groups"); + Codeunit.Run(Codeunit::"Create G/L Account"); + CreatePostingGroups.UpdateGenPostingSetup(); + CreateVATPostingGroups.UpdateVATPostingSetup(); + Codeunit.Run(Codeunit::"Create Dimension"); + Codeunit.Run(Codeunit::"Create KPI Web Srv Setup"); + Codeunit.Run(Codeunit::"Create Analysis View"); + Codeunit.Run(Codeunit::"Create Acc. Schedule Name"); + Codeunit.Run(Codeunit::"Create KPI Web Srv Line"); + Codeunit.Run(Codeunit::"Create Acc. Schedule Line"); + Codeunit.Run(Codeunit::"Create Column Layout Name"); + Codeunit.Run(Codeunit::"Create Acc. Schedule Chart"); + Codeunit.Run(Codeunit::"Create Chart Definition"); + Codeunit.Run(Codeunit::"Create Currency"); + Codeunit.Run(Codeunit::"Create General Ledger Setup"); + Codeunit.Run(Codeunit::"Create Gen. Journal Template"); + Codeunit.Run(Codeunit::"Create Gen. Journal Batch"); + Codeunit.Run(Codeunit::"Create Resources Setup"); + Codeunit.Run(Codeunit::"Create VAT Reg. No. Format"); + Codeunit.Run(Codeunit::"Create VAT Setup Posting Grp."); + Codeunit.Run(Codeunit::"Create VAT Report Setup"); + end; + + procedure CreateMasterData() + begin + Codeunit.Run(Codeunit::"Create Dimension Value"); + Codeunit.Run(Codeunit::"Create Column Layout"); + Codeunit.Run(Codeunit::"Create Financial Report"); + Codeunit.Run(Codeunit::"Create Acc. Sched. Chart Line"); + Codeunit.Run(Codeunit::"Categ. Generate Acc. Schedules"); + Codeunit.Run(Codeunit::"Create Currency Exchange Rate"); + Codeunit.Run(Codeunit::"Create Resource"); + Codeunit.Run(Codeunit::"Create VAT Statement"); + end; + + procedure CreateTransactionalData() + begin + exit; + end; + + procedure CreateHistoricalData() + begin + exit; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFADepreciationBook.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFADepreciationBook.Codeunit.al index 75e0712802..70c22f5c28 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFADepreciationBook.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFADepreciationBook.Codeunit.al @@ -10,7 +10,7 @@ codeunit 5100 "Create FA Depreciation Book" begin FAModuleSetup.Get(); - ContosoFixedAsset.InsertDepreciationBook(Company(), CompanyBookLbl, true, true, true, true, true, true, true, true, true, 10); + ContosoFixedAsset.InsertDepreciationBook(Company(), CompanyBookLbl, true, true, true, true, true, true, true, true, true, 0); if FAModuleSetup."Default Depreciation Book" = '' then FAModuleSetup.Validate("Default Depreciation Book", Company()); diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFAJnlTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFAJnlTemplate.Codeunit.al index d5c2469156..bfa798044c 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFAJnlTemplate.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFAJnlTemplate.Codeunit.al @@ -30,9 +30,9 @@ codeunit 5149 "Create FA Jnl. Template" begin SourceCodeSetup.Get(); - ContosoGeneralLedger.InsertGeneralJournalTemplate(Assets(), FixedAssetGLJournalLbl, Enum::"Gen. Journal Template Type"::Assets, false, FANoSeries.FixedAssetGLJournal(), SourceCodeSetup."Fixed Asset G/L Journal"); + ContosoGeneralLedger.InsertGeneralJournalTemplate(Assets(), FixedAssetGLJournalLbl, Enum::"Gen. Journal Template Type"::Assets, false, FANoSeries.FixedAssetJournal(), SourceCodeSetup."Fixed Asset G/L Journal"); - ContosoGeneralLedger.InsertGeneralJournalBatch(Assets(), Default(), DefaultJournalBatchLbl); + ContosoGeneralLedger.InsertGeneralJournalBatch(Assets(), Default(), DefaultJournalBatchLbl, Enum::"Gen. Journal Account Type"::"G/L Account", '', FANoSeries.FixedAssetJournal(), false); end; procedure Assets(): Code[10] diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFANoSeries.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFANoSeries.Codeunit.al index 0ce3c03e5d..89ba5ec159 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFANoSeries.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/1.Setup Data/CreateFANoSeries.Codeunit.al @@ -7,25 +7,14 @@ codeunit 4780 "Create FA No Series" var ContosoNoSeries: Codeunit "Contoso No Series"; begin - ContosoNoSeries.InsertNoSeries(FixedAsset(), FixedAssetLbl, 'FA000010', 'FA999990', '', '', 1, enum::"No. Series Implementation"::Normal, true); - ContosoNoSeries.InsertNoSeries(Insurance(), InsuranceLbl, 'INS000010', 'INS999990', '', '', 1, enum::"No. Series Implementation"::Normal, true); - ContosoNoSeries.InsertNoSeries(FixedAssetGLJournal(), FixedAssetGLJournalLbl, 'F00010', 'F01000', '', '', 1, enum::"No. Series Implementation"::Normal, true); - ContosoNoSeries.InsertNoSeries(RecurringFixedAssetGLJournal(), RecurringFixedAssetGLJournalLbl, 'RF00010', 'RF01000', '', '', 1, enum::"No. Series Implementation"::Normal, true); - ContosoNoSeries.InsertNoSeries(InsuranceJournal(), InsuranceJournalLbl, 'N00010', 'N01000', '', '', 1, enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(FixedAsset(), FixedAssetLbl, 'FA000010', 'FA999990', '', '', 10, enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(Insurance(), InsuranceLbl, 'INS000010', 'INS999990', '', '', 10, enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(FixedAssetGLJournal(), FixedAssetGLJournalLbl, 'F00001', 'F01000', '', '', 1, enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(RecurringFixedAssetGLJournal(), RecurringFixedAssetGLJournalLbl, 'RF00001', 'RF01000', '', '', 1, enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(InsuranceJournal(), InsuranceJournalLbl, 'N00001', 'N01000', '', '', 1, enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(FixedAssetJournal(), FixedAssetJournalLbl, 'G05001', 'G06000', '', '', 1, enum::"No. Series Implementation"::Normal, true); end; - var - FixedAssetTok: Label 'FA', MaxLength = 20; - FixedAssetLbl: Label 'Fixed Asset', MaxLength = 100; - InsuranceTok: Label 'FA-INS', MaxLength = 20; - InsuranceLbl: Label 'Insurance', MaxLength = 100; - FixedAssetGLJournalTok: Label 'FAJNL-GL', MaxLength = 20; - FixedAssetGLJournalLbl: Label 'Fixed Asset G/L Journal', MaxLength = 100; - RecurringFixedAssetGLJournalTok: Label 'FAJNL-GLR', MaxLength = 20; - RecurringFixedAssetGLJournalLbl: Label 'Recurring Fixed Asset G/L Jnl', MaxLength = 100; - InsuranceJournalTok: Label 'FA-INSJNLG', MaxLength = 20; - InsuranceJournalLbl: Label 'Insurance Journal', MaxLength = 100; - procedure FixedAsset(): Code[20] begin exit(FixedAssetTok); @@ -50,4 +39,23 @@ codeunit 4780 "Create FA No Series" begin exit(InsuranceJournalTok); end; + + procedure FixedAssetJournal(): Code[20] + begin + exit(FixedAssetJournalTok); + end; + + var + FixedAssetTok: Label 'FA', MaxLength = 20; + FixedAssetLbl: Label 'Fixed Asset', MaxLength = 100; + InsuranceTok: Label 'FA-INS', MaxLength = 20; + InsuranceLbl: Label 'Insurance', MaxLength = 100; + FixedAssetGLJournalTok: Label 'FAJNL-GL', MaxLength = 20; + FixedAssetGLJournalLbl: Label 'Fixed Asset G/L Journal', MaxLength = 100; + RecurringFixedAssetGLJournalTok: Label 'FAJNL-GLR', MaxLength = 20; + RecurringFixedAssetGLJournalLbl: Label 'Recurring Fixed Asset G/L Jnl', MaxLength = 100; + InsuranceJournalTok: Label 'FA-INSJNLG', MaxLength = 20; + InsuranceJournalLbl: Label 'Insurance Journal', MaxLength = 100; + FixedAssetJournalTok: Label 'FA-JNL', MaxLength = 20; + FixedAssetJournalLbl: Label 'Fixed Asset Journal', MaxLength = 100; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateAccountingPeriod.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateAccountingPeriod.Codeunit.al new file mode 100644 index 0000000000..86e94131f2 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateAccountingPeriod.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 5225 "Create Accounting Period" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoUtilities: Codeunit "Contoso Utilities"; + ContosoAccountingPeriod: Codeunit "Contoso Accounting Period"; + StartDate, EndDate, date : Date; + begin + StartDate := ContosoUtilities.AdjustDate(19020101D); + EndDate := ContosoUtilities.AdjustDate(19041201D); + date := StartDate; + + while date <= EndDate do begin + if IsStartOfTheYear(date) then + ContosoAccountingPeriod.InsertAccountingPeriod(date, true) + else + ContosoAccountingPeriod.InsertAccountingPeriod(date, false); + + date := CalcDate('<1M>', date); + end; + + CloseFiscalYear(StartDate, CalcDate('<-2Y>', EndDate)); + end; + + local procedure IsStartOfTheYear(date: Date): Boolean + begin + if (Date2DMY(date, 1) = 1) and (Date2DMY(date, 2) = 1) then + exit(true) + else + exit(false); + end; + + local procedure CloseFiscalYear(FiscalYearStartDate: Date; FiscalYearEndDate: Date) + var + AccountingPeriod: Record "Accounting Period"; + begin + AccountingPeriod.SetRange("Starting Date", FiscalYearStartDate, FiscalYearEndDate); + AccountingPeriod.ModifyAll(Closed, true); + + AccountingPeriod.SetRange("Starting Date", FiscalYearStartDate, FiscalYearEndDate); + AccountingPeriod.ModifyAll("Date Locked", true); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCompanyInformation.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCompanyInformation.Codeunit.al new file mode 100644 index 0000000000..c02067e355 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCompanyInformation.Codeunit.al @@ -0,0 +1,55 @@ +codeunit 5228 "Create Company Information" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoCompany: Codeunit "Contoso Company"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoCompany.SetOverwriteData(true); + ContosoCompany.InsertCompanyInformation(DefaultCronusCompanyName(), '5 The Ring', 'Westminster', ContosoCoffeeDemoDataSetup."Country/Region Code", 'W2 8HG', 'London', 'Adam Matteson', '0666-666-6666', '0666-666-6660', '888-9999', 'World Wide Bank', 'BG99999', '99-99-888', 'GB 12 CPBK 08929965044991', '99-99-999', '777777777', DefaultCronusCompanyName(), '5 The Ring', 'Westminster', ContosoCoffeeDemoDataSetup."Country/Region Code", 'W2 8HG', 'London', 'todo:picturename', '<90D>'); + + AddDefaultCompanyPicture(); + end; + + local procedure AddDefaultCompanyPicture() + var + CompanyInformation: Record "Company Information"; + InStream: InStream; + OutStream: OutStream; + begin + CompanyInformation.Get(); + + NavApp.GetResource('CRONUS.jpg', InStream); + CompanyInformation.Picture.CreateOutStream(OutStream); + CopyStream(OutStream, InStream); + CompanyInformation.Modify(true); + end; + + procedure DefaultCronusCompanyName(): Text[100] + var + CompanyInformation: Record "Company Information"; + begin + if CompanyInformation.Get() then + if CompanyInformation.Name <> '' then + exit(CompanyInformation.Name); + + exit('CRONUS International Ltd.'); + end; + + procedure DefaultCompanyVATRegistrationNo(): Text[20] + var + CompanyInformation: Record "Company Information"; + begin + if CompanyInformation.Get() then + if CompanyInformation."VAT Registration No." <> '' then + exit(CompanyInformation."VAT Registration No."); + + exit('777777777'); + end; + +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCountryRegion.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCountryRegion.Codeunit.al new file mode 100644 index 0000000000..4a71176faa --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCountryRegion.Codeunit.al @@ -0,0 +1,560 @@ +codeunit 5205 "Create Country/Region" +{ + InherentEntitlements = X; + InherentPermissions = X; + Description = 'Should contain all country or region where BC is available, updated as of 2024-08-26.'; + + trigger OnRun() + var + ContosoCountryOrRegion: Codeunit "Contoso Country Or Region"; + begin + ContosoCountryOrRegion.InsertCountryOrRegion(AE(), UnitedArabEmiratesLbl, '784', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(AT(), AustriaLbl, '040', ATTok, ATTok, Enum::"Country/Region Address Format"::"Blank Line+Post Code+City", 1, '0007', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(AU(), AustraliaLbl, '036', '', '', Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(BE(), BelgiumLbl, '056', BETok, BETok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9925', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(BG(), BulgariaLbl, '100', BGTok, BGTok, Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '9926', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(BN(), BruneiDarussalamLbl, '096', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(BR(), BrazilLbl, '076', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(CA(), CanadaLbl, '124', '', '', Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '', 'Province'); + ContosoCountryOrRegion.InsertCountryOrRegion(CH(), SwitzerlandLbl, '756', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(CN(), ChinaLbl, '156', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(CR(), CostaRicaLbl, '188', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(CY(), CyprusLbl, '196', CYTok, CYTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9928', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(CZ(), CzechiaLbl, '203', CZTok, CZTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9929', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(DE(), GermanyLbl, '276', DETok, DETok, Enum::"Country/Region Address Format"::"Blank Line+Post Code+City", 1, '9930', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(DK(), DenmarkLbl, '208', DKTok, DKTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '0184', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(DZ(), AlgeriaLbl, '012', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(EE(), EstoniaLbl, '233', EETok, EETok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9931', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(EL(), GreeceLbl, '300', ELTok, ELTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(ES(), SpainLbl, '724', ESTok, ESTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9920', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(FI(), FinlandLbl, '246', FITok, FITok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(FJ(), FijiIslandsLbl, '242', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(FR(), FranceLbl, '250', FRTok, FRTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '0009', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(GB(), GreatBritainLbl, '826', '', GBTok, Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '9932', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(HR(), CroatiaLbl, '191', HRTok, HRTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9934', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(HU(), HungaryLbl, '348', HUTok, HUTok, Enum::"Country/Region Address Format"::"City+Post Code", 1, '9910', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(ID(), IndonesiaLbl, '360', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(IE(), IrelandLbl, '372', IETok, IETok, Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '9935', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(IND(), IndiaLbl, '356', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(IS(), IcelandLbl, '352', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(IT(), ItalyLbl, '380', ITTok, ITTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '0097', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(JP(), JapanLbl, '392', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(KE(), KenyaLbl, '404', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(LT(), LithuaniaLbl, '440', LTTok, LTTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '0200', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(LU(), LuxembourgLbl, '442', LUTok, LUTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9938', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(LV(), LatviaLbl, '428', LVTok, LVTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9939', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(MA(), MoroccoLbl, '504', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(ME(), MontenegroLbl, '499', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '9941', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(MT(), MaltaLbl, '470', MTTok, MTTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9943', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(MX(), MexicoLbl, '484', '', '', Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(MY(), MalaysiaLbl, '458', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(MZ(), MozambiqueLbl, '508', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(NG(), NigeriaLbl, '566', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(NI(), NothernIrelandLbl, CopyStr(GB(), 1, 2), '826', GBNTok, GBNTok, Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '9932', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(NL(), NetherlandsLbl, '528', NLTok, NLTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9944', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(NO(), NorwayLbl, '578', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '0192', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(NZ(), NewZealandLbl, '554', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(PH(), PhilippinesLbl, '608', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(PL(), PolandLbl, '616', PLTok, PLTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9945', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(PT(), PortugalLbl, '620', PTTok, PTTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9946', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(RO(), RomaniaLbl, '642', ROTok, ROTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9947', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(RS(), SerbiaLbl, '688', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '9948', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(RU(), RussiaLbl, '643', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 2, '', 'Region'); + ContosoCountryOrRegion.InsertCountryOrRegion(SA(), SaudiArabiaLbl, '682', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(SB(), SolomonIslandsLbl, '090', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(SE(), SwedenLbl, '752', SETok, SETok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9955', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(SG(), SingaporeLbl, '702', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(SI(), SloveniaLbl, '705', SITok, SITok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9949', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(SK(), SlovakiaLbl, '703', SKTok, SKTok, Enum::"Country/Region Address Format"::"Post Code+City", 1, '9950', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(SZ(), SwazilandLbl, '748', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(TH(), ThailandLbl, '764', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(TN(), TunisiaLbl, '788', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(TR(), TürkiyeLbl, '792', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 0, '9952', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(TZ(), TanzaniaLbl, '834', '', '', Enum::"Country/Region Address Format"::"Post Code+City", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(UG(), UgandaLbl, '800', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 1, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(US(), USALbl, '840', '', '', Enum::"Country/Region Address Format"::"City+County+Post Code", 1, '', 'State'); + ContosoCountryOrRegion.InsertCountryOrRegion(VU(), VanuatuLbl, '548', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(WS(), SamoaLbl, '882', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + ContosoCountryOrRegion.InsertCountryOrRegion(ZA(), SouthAfricaLbl, '710', '', '', Enum::"Country/Region Address Format"::"City+Post Code", 0, '', ''); + end; + + procedure AE(): Code[10] + begin + exit(AETok); + end; + + procedure AT(): Code[10] + begin + exit(ATTok); + end; + + procedure AU(): Code[10] + begin + exit(AUTok); + end; + + procedure BE(): Code[10] + begin + exit(BETok); + end; + + procedure BG(): Code[10] + begin + exit(BGTok); + end; + + procedure BN(): Code[10] + begin + exit(BNTok); + end; + + procedure BR(): Code[10] + begin + exit(BRTok); + end; + + procedure CA(): Code[10] + begin + exit(CATok); + end; + + procedure CH(): Code[10] + begin + exit(CHTok); + end; + + procedure CN(): Code[10] + begin + exit(CNTok); + end; + + procedure CR(): Code[10] + begin + exit(CRTok); + end; + + procedure CY(): Code[10] + begin + exit(CYTok); + end; + + procedure CZ(): Code[10] + begin + exit(CZTok); + end; + + procedure DE(): Code[10] + begin + exit(DETok); + end; + + procedure DK(): Code[10] + begin + exit(DKTok); + end; + + procedure DZ(): Code[10] + begin + exit(DZTok); + end; + + procedure EE(): Code[10] + begin + exit(EETok); + end; + + procedure EL(): Code[10] + begin + exit(ELTok); + end; + + procedure ES(): Code[10] + begin + exit(ESTok); + end; + + procedure FI(): Code[10] + begin + exit(FITok); + end; + + procedure FJ(): Code[10] + begin + exit(FJTok); + end; + + procedure FR(): Code[10] + begin + exit(FRTok); + end; + + procedure GB(): Code[10] + begin + exit(GBTok); + end; + + procedure HR(): Code[10] + begin + exit(HRTok); + end; + + procedure HU(): Code[10] + begin + exit(HUTok); + end; + + procedure ID(): Code[10] + begin + exit(IDTok); + end; + + procedure IE(): Code[10] + begin + exit(IETok); + end; + + procedure IND(): Code[10] + begin + exit(INTok); + end; + + procedure IS(): Code[10] + begin + exit(ISTok); + end; + + procedure IT(): Code[10] + begin + exit(ITTok); + end; + + procedure JP(): Code[10] + begin + exit(JPTok); + end; + + procedure KE(): Code[10] + begin + exit(KETok); + end; + + procedure LT(): Code[10] + begin + exit(LTTok); + end; + + procedure LU(): Code[10] + begin + exit(LUTok); + end; + + procedure LV(): Code[10] + begin + exit(LVTok); + end; + + procedure MA(): Code[10] + begin + exit(MATok); + end; + + procedure ME(): Code[10] + begin + exit(METok); + end; + + procedure MT(): Code[10] + begin + exit(MTTok); + end; + + procedure MX(): Code[10] + begin + exit(MXTok); + end; + + procedure MY(): Code[10] + begin + exit(MYTok); + end; + + procedure MZ(): Code[10] + begin + exit(MZTok); + end; + + procedure NG(): Code[10] + begin + exit(NGTok); + end; + + procedure NI(): Code[10] + begin + exit(NITok); + end; + + procedure NL(): Code[10] + begin + exit(NLTok); + end; + + procedure NO(): Code[10] + begin + exit(NOTok); + end; + + procedure NZ(): Code[10] + begin + exit(NZTok); + end; + + procedure PH(): Code[10] + begin + exit(PHTok); + end; + + procedure PL(): Code[10] + begin + exit(PLTok); + end; + + procedure PT(): Code[10] + begin + exit(PTTok); + end; + + procedure RO(): Code[10] + begin + exit(ROTok); + end; + + procedure RS(): Code[10] + begin + exit(RSTok); + end; + + procedure RU(): Code[10] + begin + exit(RUTok); + end; + + procedure SA(): Code[10] + begin + exit(SATok); + end; + + procedure SB(): Code[10] + begin + exit(SBTok); + end; + + procedure SE(): Code[10] + begin + exit(SETok); + end; + + procedure SG(): Code[10] + begin + exit(SGTok); + end; + + procedure SI(): Code[10] + begin + exit(SITok); + end; + + procedure SK(): Code[10] + begin + exit(SKTok); + end; + + procedure SZ(): Code[10] + begin + exit(SZTok); + end; + + procedure TH(): Code[10] + begin + exit(THTok); + end; + + procedure TN(): Code[10] + begin + exit(TNTok); + end; + + procedure TR(): Code[10] + begin + exit(TRTok); + end; + + procedure TZ(): Code[10] + begin + exit(TZTok); + end; + + procedure UG(): Code[10] + begin + exit(UGTok); + end; + + procedure US(): Code[10] + begin + exit(USTok); + end; + + procedure VU(): Code[10] + begin + exit(VUTok); + end; + + procedure WS(): Code[10] + begin + exit(WSTok); + end; + + procedure ZA(): Code[10] + begin + exit(ZATok); + end; + + var + AETok: Label 'AE', MaxLength = 10, Locked = true; + ATTok: Label 'AT', MaxLength = 10, Locked = true; + AUTok: Label 'AU', MaxLength = 10, Locked = true; + BETok: Label 'BE', MaxLength = 10, Locked = true; + BGTok: Label 'BG', MaxLength = 10, Locked = true; + BNTok: Label 'BN', MaxLength = 10, Locked = true; + BRTok: Label 'BR', MaxLength = 10, Locked = true; + CATok: Label 'CA', MaxLength = 10, Locked = true; + CHTok: Label 'CH', MaxLength = 10, Locked = true; + CNTok: Label 'CN', MaxLength = 10, Locked = true; + CRTok: Label 'CR', MaxLength = 10, Locked = true; + CYTok: Label 'CY', MaxLength = 10, Locked = true; + CZTok: Label 'CZ', MaxLength = 10, Locked = true; + DETok: Label 'DE', MaxLength = 10, Locked = true; + DKTok: Label 'DK', MaxLength = 10, Locked = true; + DZTok: Label 'DZ', MaxLength = 10, Locked = true; + EETok: Label 'EE', MaxLength = 10, Locked = true; + ELTok: Label 'EL', MaxLength = 10, Locked = true; + ESTok: Label 'ES', MaxLength = 10, Locked = true; + FITok: Label 'FI', MaxLength = 10, Locked = true; + FJTok: Label 'FJ', MaxLength = 10, Locked = true; + FRTok: Label 'FR', MaxLength = 10, Locked = true; + GBTok: Label 'GB', MaxLength = 10, Locked = true; + HRTok: Label 'HR', MaxLength = 10, Locked = true; + HUTok: Label 'HU', MaxLength = 10, Locked = true; + IDTok: Label 'ID', MaxLength = 10, Locked = true; + IETok: Label 'IE', MaxLength = 10, Locked = true; + INTok: Label 'IN', MaxLength = 10, Locked = true; + ISTok: Label 'IS', MaxLength = 10, Locked = true; + ITTok: Label 'IT', MaxLength = 10, Locked = true; + JPTok: Label 'JP', MaxLength = 10, Locked = true; + KETok: Label 'KE', MaxLength = 10, Locked = true; + LTTok: Label 'LT', MaxLength = 10, Locked = true; + LUTok: Label 'LU', MaxLength = 10, Locked = true; + LVTok: Label 'LV', MaxLength = 10, Locked = true; + MATok: Label 'MA', MaxLength = 10, Locked = true; + METok: Label 'ME', MaxLength = 10, Locked = true; + MTTok: Label 'MT', MaxLength = 10, Locked = true; + MXTok: Label 'MX', MaxLength = 10, Locked = true; + MYTok: Label 'MY', MaxLength = 10, Locked = true; + MZTok: Label 'MZ', MaxLength = 10, Locked = true; + NGTok: Label 'NG', MaxLength = 10, Locked = true; + NITok: Label 'NI', MaxLength = 10, Locked = true; + NLTok: Label 'NL', MaxLength = 10, Locked = true; + NOTok: Label 'NO', MaxLength = 10, Locked = true; + NZTok: Label 'NZ', MaxLength = 10, Locked = true; + PHTok: Label 'PH', MaxLength = 10, Locked = true; + PLTok: Label 'PL', MaxLength = 10, Locked = true; + PTTok: Label 'PT', MaxLength = 10, Locked = true; + ROTok: Label 'RO', MaxLength = 10, Locked = true; + RSTok: Label 'RS', MaxLength = 10, Locked = true; + RUTok: Label 'RU', MaxLength = 10, Locked = true; + SATok: Label 'SA', MaxLength = 10, Locked = true; + SBTok: Label 'SB', MaxLength = 10, Locked = true; + SETok: Label 'SE', MaxLength = 10, Locked = true; + SGTok: Label 'SG', MaxLength = 10, Locked = true; + SITok: Label 'SI', MaxLength = 10, Locked = true; + SKTok: Label 'SK', MaxLength = 10, Locked = true; + SZTok: Label 'SZ', MaxLength = 10, Locked = true; + THTok: Label 'TH', MaxLength = 10, Locked = true; + TNTok: Label 'TN', MaxLength = 10, Locked = true; + TRTok: Label 'TR', MaxLength = 10, Locked = true; + TZTok: Label 'TZ', MaxLength = 10, Locked = true; + UGTok: Label 'UG', MaxLength = 10, Locked = true; + USTok: Label 'US', MaxLength = 10, Locked = true; + VUTok: Label 'VU', MaxLength = 10, Locked = true; + WSTok: Label 'WS', MaxLength = 10, Locked = true; + ZATok: Label 'ZA', MaxLength = 10, Locked = true; + GBNTok: Label 'GBN', MaxLength = 10, Locked = true; + UnitedArabEmiratesLbl: Label 'United Arab Emirates', MaxLength = 50; + AustriaLbl: Label 'Austria', MaxLength = 50; + AustraliaLbl: Label 'Australia', MaxLength = 50; + BelgiumLbl: Label 'Belgium', MaxLength = 50; + BulgariaLbl: Label 'Bulgaria', MaxLength = 50; + BruneiDarussalamLbl: Label 'Brunei Darussalam', MaxLength = 50; + BrazilLbl: Label 'Brazil', MaxLength = 50; + CanadaLbl: Label 'Canada', MaxLength = 50; + SwitzerlandLbl: Label 'Switzerland', MaxLength = 50; + ChinaLbl: Label 'China', MaxLength = 50; + CostaRicaLbl: Label 'Costa Rica', MaxLength = 50; + CyprusLbl: Label 'Cyprus', MaxLength = 50; + CzechiaLbl: Label 'Czechia', MaxLength = 50; + GermanyLbl: Label 'Germany', MaxLength = 50; + DenmarkLbl: Label 'Denmark', MaxLength = 50; + AlgeriaLbl: Label 'Algeria', MaxLength = 50; + EstoniaLbl: Label 'Estonia', MaxLength = 50; + GreeceLbl: Label 'Greece', MaxLength = 50; + SpainLbl: Label 'Spain', MaxLength = 50; + FinlandLbl: Label 'Finland', MaxLength = 50; + FijiIslandsLbl: Label 'Fiji Islands', MaxLength = 50; + FranceLbl: Label 'France', MaxLength = 50; + GreatBritainLbl: Label 'Great Britain', MaxLength = 50; + CroatiaLbl: Label 'Croatia', MaxLength = 50; + HungaryLbl: Label 'Hungary', MaxLength = 50; + IndonesiaLbl: Label 'Indonesia', MaxLength = 50; + IrelandLbl: Label 'Ireland', MaxLength = 50; + IndiaLbl: Label 'India', MaxLength = 50; + IcelandLbl: Label 'Iceland', MaxLength = 50; + ItalyLbl: Label 'Italy', MaxLength = 50; + JapanLbl: Label 'Japan', MaxLength = 50; + KenyaLbl: Label 'Kenya', MaxLength = 50; + LithuaniaLbl: Label 'Lithuania', MaxLength = 50; + LuxembourgLbl: Label 'Luxembourg', MaxLength = 50; + LatviaLbl: Label 'Latvia', MaxLength = 50; + MoroccoLbl: Label 'Morocco', MaxLength = 50; + MontenegroLbl: Label 'Montenegro', MaxLength = 50; + MaltaLbl: Label 'Malta', MaxLength = 50; + MexicoLbl: Label 'Mexico', MaxLength = 50; + MalaysiaLbl: Label 'Malaysia', MaxLength = 50; + MozambiqueLbl: Label 'Mozambique', MaxLength = 50; + NigeriaLbl: Label 'Nigeria', MaxLength = 50; + NothernIrelandLbl: Label 'Nothern Ireland', MaxLength = 50; + NetherlandsLbl: Label 'Netherlands', MaxLength = 50; + NorwayLbl: Label 'Norway', MaxLength = 50; + NewZealandLbl: Label 'New Zealand', MaxLength = 50; + PhilippinesLbl: Label 'Philippines', MaxLength = 50; + PolandLbl: Label 'Poland', MaxLength = 50; + PortugalLbl: Label 'Portugal', MaxLength = 50; + RomaniaLbl: Label 'Romania', MaxLength = 50; + SerbiaLbl: Label 'Serbia', MaxLength = 50; + RussiaLbl: Label 'Russia', MaxLength = 50; + SaudiArabiaLbl: Label 'Saudi Arabia', MaxLength = 50; + SolomonIslandsLbl: Label 'Solomon Islands', MaxLength = 50; + SwedenLbl: Label 'Sweden', MaxLength = 50; + SingaporeLbl: Label 'Singapore', MaxLength = 50; + SloveniaLbl: Label 'Slovenia', MaxLength = 50; + SlovakiaLbl: Label 'Slovakia', MaxLength = 50; + SwazilandLbl: Label 'Swaziland', MaxLength = 50; + ThailandLbl: Label 'Thailand', MaxLength = 50; + TunisiaLbl: Label 'Tunisia', MaxLength = 50; + TürkiyeLbl: Label 'Türkiye', MaxLength = 50; + TanzaniaLbl: Label 'Tanzania', MaxLength = 50; + UgandaLbl: Label 'Uganda', MaxLength = 50; + USALbl: Label 'USA', MaxLength = 50; + VanuatuLbl: Label 'Vanuatu', MaxLength = 50; + SamoaLbl: Label 'Samoa', MaxLength = 50; + SouthAfricaLbl: Label 'South Africa', MaxLength = 50; + +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCueSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCueSetup.Codeunit.al new file mode 100644 index 0000000000..acaba37761 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCueSetup.Codeunit.al @@ -0,0 +1,70 @@ +codeunit 5549 "Create Cue Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + + begin + CreateActivitiesCue(); + CreateFinanceCue(); + CreateSalesCue(); + CreateRelationshipManagementCue(); + end; + + procedure CreateActivitiesCue() + var + ActivitiesCue: Record "Activities Cue"; + CuesAndKPIs: Codeunit "Cues And KPIs"; + begin + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Ongoing Sales Invoices"), Enum::"Cues And KPIs Style"::None, 15, Enum::"Cues And KPIs Style"::Ambiguous, 30, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Ongoing Purchase Invoices"), Enum::"Cues And KPIs Style"::None, 15, Enum::"Cues And KPIs Style"::Ambiguous, 30, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Sales This Month"), Enum::"Cues And KPIs Style"::Ambiguous, 1000, Enum::"Cues And KPIs Style"::None, 100000, Enum::"Cues And KPIs Style"::Favorable); + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Top 10 Customer Sales YTD"), Enum::"Cues And KPIs Style"::Favorable, 0.5, Enum::"Cues And KPIs Style"::None, 0.9, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Overdue Purch. Invoice Amount"), Enum::"Cues And KPIs Style"::Favorable, 10000, Enum::"Cues And KPIs Style"::Ambiguous, 100000, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Overdue Sales Invoice Amount"), Enum::"Cues And KPIs Style"::None, 10000, Enum::"Cues And KPIs Style"::Ambiguous, 100000, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Average Collection Days"), Enum::"Cues And KPIs Style"::Favorable, 10, Enum::"Cues And KPIs Style"::None, 30, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Activities Cue", ActivitiesCue.FieldNo("Ongoing Sales Quotes"), Enum::"Cues And KPIs Style"::None, 15, Enum::"Cues And KPIs Style"::Ambiguous, 30, Enum::"Cues And KPIs Style"::Unfavorable); + end; + + procedure CreateFinanceCue() + var + FinanceCue: Record "Finance Cue"; + CuesAndKPIs: Codeunit "Cues And KPIs"; + begin + CuesAndKPIs.InsertData(Database::"Finance Cue", FinanceCue.FieldNo("Overdue Purchase Documents"), Enum::"Cues And KPIs Style"::Favorable, 0, Enum::"Cues And KPIs Style"::None, 1, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Finance Cue", FinanceCue.FieldNo("Purchase Documents Due Today"), Enum::"Cues And KPIs Style"::Favorable, 0, Enum::"Cues And KPIs Style"::None, 1, Enum::"Cues And KPIs Style"::Ambiguous); + CuesAndKPIs.InsertData(Database::"Finance Cue", FinanceCue.FieldNo("Purch. Invoices Due Next Week"), Enum::"Cues And KPIs Style"::Favorable, 0, Enum::"Cues And KPIs Style"::None, 1, Enum::"Cues And KPIs Style"::Ambiguous); + CuesAndKPIs.InsertData(Database::"Finance Cue", FinanceCue.FieldNo("Purchase Discounts Next Week"), Enum::"Cues And KPIs Style"::Favorable, 0, Enum::"Cues And KPIs Style"::Ambiguous, 1, Enum::"Cues And KPIs Style"::None); + end; + + local procedure CreateSalesCue() + var + SalesCue: Record "Sales Cue"; + CuesAndKPIs: Codeunit "Cues And KPIs"; + + SalesCueFields: array[5] of Integer; + i: Integer; + begin + SalesCueFields[1] := SalesCue.FieldNo("Sales Quotes - Open"); + SalesCueFields[2] := SalesCue.FieldNo("Sales Orders - Open"); + SalesCueFields[3] := SalesCue.FieldNo("Ready to Ship"); + SalesCueFields[4] := SalesCue.FieldNo("Sales Return Orders - Open"); + SalesCueFields[5] := SalesCue.FieldNo("Sales Credit Memos - Open"); + + for i := 1 to ArrayLen(SalesCueFields) do + CuesAndKPIs.InsertData(Database::"Sales Cue", SalesCueFields[i], Enum::"Cues And KPIs Style"::None, 15, Enum::"Cues And KPIs Style"::Ambiguous, 20, Enum::"Cues And KPIs Style"::Unfavorable); + + CuesAndKPIs.InsertData(Database::"Sales Cue", SalesCue.FieldNo("Partially Shipped"), Enum::"Cues And KPIs Style"::Favorable, 1, Enum::"Cues And KPIs Style"::Ambiguous, 20, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Sales Cue", SalesCue.FieldNo(Delayed), Enum::"Cues And KPIs Style"::Favorable, 1, Enum::"Cues And KPIs Style"::Ambiguous, 20, Enum::"Cues And KPIs Style"::Unfavorable); + CuesAndKPIs.InsertData(Database::"Sales Cue", SalesCue.FieldNo("Average Days Delayed"), Enum::"Cues And KPIs Style"::Favorable, 3, Enum::"Cues And KPIs Style"::None, 7, Enum::"Cues And KPIs Style"::Unfavorable); + end; + + local procedure CreateRelationshipManagementCue() + var + RelationshipMgmtCue: Record "Relationship Mgmt. Cue"; + CuesAndKPIs: Codeunit "Cues And KPIs"; + begin + CuesAndKPIs.InsertData(Database::"Relationship Mgmt. Cue", RelationshipMgmtCue.FieldNo("Contacts - Duplicates"), Enum::"Cues And KPIs Style"::None, 0, Enum::"Cues And KPIs Style"::None, 1, Enum::"Cues And KPIs Style"::Unfavorable); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCustomReportLayout.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCustomReportLayout.Codeunit.al new file mode 100644 index 0000000000..af8f906bb0 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateCustomReportLayout.Codeunit.al @@ -0,0 +1,78 @@ +codeunit 5204 "Create Custom Report Layout" +{ + InherentEntitlements = X; + InherentPermissions = X; + Access = Internal; + + trigger OnRun() + begin + UpdateReportSelections(); + UpdateEmailBodySelections(); + end; + + local procedure UpdateReportSelections() + begin + UpdateReportLayout(Enum::"Report Selection Usage"::"S.Order", '1', REPORT::"Standard Sales - Order Conf."); + UpdateReportLayout(Enum::"Report Selection Usage"::"S.Invoice", '1', REPORT::"Standard Sales - Invoice"); + UpdateReportLayout(Enum::"Report Selection Usage"::"S.Cr.Memo", '1', REPORT::"Standard Sales - Credit Memo"); + UpdateReportLayout(Enum::"Report Selection Usage"::"S.Quote", '1', REPORT::"Standard Sales - Quote"); + UpdateReportLayout(Enum::"Report Selection Usage"::"P.Order", '1', REPORT::"Standard Purchase - Order"); + end; + + local procedure UpdateEmailBodySelections() + begin + AddEmailBodyLayout(REPORT::"Standard Sales - Quote", MS1304EmailTok); + AddEmailBodyLayout(REPORT::"Standard Sales - Order Conf.", MS1305EmailTok); + AddEmailBodyLayout(REPORT::"Standard Sales - Invoice", MS1306EmailDefTok); + AddEmailBodyLayout(REPORT::"Standard Sales - Credit Memo", MS1307EmailDefTok); + AddEmailBodyLayout(REPORT::"Standard Sales - Draft Invoice", MS1303EmailTok); + AddEmailBodyLayout(REPORT::"Standard Statement", MS1316EmailDefTok); + AddEmailBodyLayout(REPORT::"Standard Purchase - Order", MS1322EmailDefTok); + AddEmailBodyLayout(REPORT::Reminder, MS117EmailDefTok); + end; + + local procedure UpdateReportLayout(Usage: Enum "Report Selection Usage"; Sequence: Code[10]; ReportID: Integer) + var + ReportSelections: Record "Report Selections"; + begin + if not ReportSelections.Get(Usage, Sequence) then + exit; + + ReportSelections.Validate("Report ID", ReportID); + ReportSelections.Modify(true); + end; + + local procedure AddEmailBodyLayout(ReportID: Integer; ReportLayoutName: Text[250]) + var + ReportSelections: Record "Report Selections"; + ReportLayoutList: Record "Report Layout List"; + begin + ReportLayoutList.SetRange("Report ID", ReportID); + ReportLayoutList.SetRange(Name, ReportLayoutName); + if ReportLayoutList.IsEmpty() then + exit; + + ReportSelections.SetRange("Report ID", ReportID); + if ReportSelections.FindFirst() then begin + ReportSelections.Validate("Use for Email Body", true); + ReportSelections.Validate("Email Body Layout Name", CopyStr(ReportLayoutName, 1, MaxStrLen(ReportSelections."Email Body Layout Name"))); + ReportSelections.Modify(true); + end; + end; + + var + MS1303EmailTok: Label 'SalesInvoiceSimpleEmail.docx', Locked = true; + MS1304EmailTok: Label 'StandardSalesQuoteEmail.docx', Locked = true; + MS1305EmailTok: Label 'StandardOrderConfirmationEmail.docx', Locked = true; + MS1306EmailDefTok: Label 'StandardSalesInvoiceDefEmail.docx', Locked = true; + MS1307EmailDefTok: Label 'StandardSalesCreditMemoEmail.docx', Locked = true; + MS1316EmailDefTok: Label 'StandardCustomerStatementEmail.docx', Locked = true; + MS1322EmailDefTok: Label 'StandardPurchaseOrderEmail.docx', Locked = true; + MS117EmailDefTok: Label 'DefaultReminderEmail.docx', Locked = true; + // MS1303BlueSimple: Label 'StandardDraftSalesInvoiceBlue.docx', Locked = true; + // MS1304BlueSimple: Label 'StandardSalesQuoteBlue.docx', Locked = true; + // MS1306BlueSimple: Label 'StandardSalesInvoiceBlueSimple.docx', Locked = true; + // MS1302Default: Label 'StandardSalesProFormaInv.docx', Locked = true; + // MS1308BlueSimple: Label 'SimpleSalesShipment.docx', Locked = true; + // MS1309BlueSimple: Label 'SimpleSalesReturnReceipt.docx', Locked = true; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDataExchange.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDataExchange.Codeunit.al new file mode 100644 index 0000000000..a681f9ea79 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDataExchange.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 5307 "Create Data Exchange" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + FolderNameLbl: Label 'PostingExchangeDefinitions', MaxLength = 100, Locked = true; + begin + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + OCRCreditMemo() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + OCRInvoice() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + PeppolCreditMemo() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + PeppolInvoice() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + SEPACAMT() + '.xml'); + ContosoDataExchange.ImportDataExchangeDefinition(FolderNameLbl + '/' + ECBExchangeRate() + '.xml'); + end; + + procedure OCRCreditMemo(): Code[20] + begin + exit('OCRCREDITMEMO'); + end; + + procedure OCRInvoice(): Code[20] + begin + exit('OCRINVOICE'); + end; + + procedure PeppolCreditMemo(): Code[20] + begin + exit('PEPPOLCREDITMEMO'); + end; + + procedure PeppolInvoice(): Code[20] + begin + exit('PEPPOLINVOICE'); + end; + + procedure SEPACAMT(): Code[20] + begin + exit('SEPA CAMT'); + end; + + procedure ECBExchangeRate(): Code[20] + begin + exit('ECB-EXCHANGE-RATES'); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDataExchangeType.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDataExchangeType.Codeunit.al new file mode 100644 index 0000000000..838e65a29a --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDataExchangeType.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 5309 "Create Data Exchange Type" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + DataExchDef: Record "Data Exch. Def"; + ContosoDataExchange: Codeunit "Contoso Data Exchange"; + begin + if DataExchDef.FindSet() then + repeat + ContosoDataExchange.InsertDataExchangeType(DataExchDef."Code", DataExchDef.Name, DataExchDef."Code"); + until DataExchDef.Next() = 0; + end; + +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDocSendingProfile.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDocSendingProfile.Codeunit.al new file mode 100644 index 0000000000..eb687d0d27 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateDocSendingProfile.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 5226 "Create Doc Sending Profile" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDocSendingProfile: Codeunit "Contoso Doc. Sending Profile"; + begin + ContosoDocSendingProfile.InsertDocumentSendingProfile(DefaultDocumentSendingProfile(), DirectToFileLbl, Enum::"Doc. Sending Profile Disk"::PDF, true); + end; + + procedure DefaultDocumentSendingProfile(): Code[20] + begin + exit(DirectFileLbl); + end; + + var + DirectFileLbl: label 'DIRECTFILE', MaxLength = 20; + DirectToFileLbl: Label 'Direct to File', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateExcelTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateExcelTemplate.Codeunit.al new file mode 100644 index 0000000000..7ce33b091c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateExcelTemplate.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 5398 "Create Excel Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + FolderNameLbl: Label 'ExcelTemplates', Locked = true; + begin + InsertExcelTemplate('ExcelTemplateBalanceSheet.xltm', FolderNameLbl + '/'); + InsertExcelTemplate('ExcelTemplateIncomeStatement.xltm', FolderNameLbl + '/'); + InsertExcelTemplate('ExcelTemplateAgedAccountsPayable.xltm', FolderNameLbl + '/'); + InsertExcelTemplate('ExcelTemplateAgedAccountsReceivable.xltm', FolderNameLbl + '/'); + InsertExcelTemplate('ExcelTemplateCashFlowStatement.xltm', FolderNameLbl + '/'); + InsertExcelTemplate('ExcelTemplateRetainedEarnings.xltm', FolderNameLbl + '/'); + InsertExcelTemplate('ExcelTemplateTrialBalance.xltm', FolderNameLbl + '/'); + end; + + procedure InsertExcelTemplate(FileName: Text[50]; PathToFile: Text) + var + MediaResources: Record "Media Resources"; + InStream: InStream; + OutStream: OutStream; + begin + if MediaResources.Get(FileName) then + exit; + + NavApp.GetResource(PathToFile + FileName, InStream); + MediaResources.Blob.CreateOutStream(OutStream); + CopyStream(OutStream, InStream); + MediaResources.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateJobQueueCategory.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateJobQueueCategory.Codeunit.al new file mode 100644 index 0000000000..79386ebeb5 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateJobQueueCategory.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 5414 "Create Job Queue Category" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoJobQueue: Codeunit "Contoso Job Queue"; + begin + ContosoJobQueue.InsertJobQueueCategory(SalesPurchasePosting(), SalesPurchasePostCategoryLbl); + ContosoJobQueue.InsertJobQueueCategory(GeneralLedgerPosting(), JournlPostPostCategoryLbl); + end; + + procedure GeneralLedgerPosting(): Code[10] + begin + exit(JrnlPostTok); + end; + + procedure SalesPurchasePosting(): Code[10] + begin + exit(DocPostTok); + end; + + var + DocPostTok: Label 'DOCPOST', MaxLength = 10; + JrnlPostTok: Label 'JRNLPOST', MaxLength = 10; + SalesPurchasePostCategoryLbl: Label 'Sales/Purchase Posting', MaxLength = 30; + JournlPostPostCategoryLbl: Label 'General Ledger Posting', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateLanguage.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateLanguage.Codeunit.al new file mode 100644 index 0000000000..ac339564bb --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateLanguage.Codeunit.al @@ -0,0 +1,445 @@ +codeunit 5299 "Create Language" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoLanguage: Codeunit "Contoso Language"; + begin + ContosoLanguage.InsertLanguage(BGR(), BulgarianLbl); + ContosoLanguage.InsertLanguage(CHS(), SimplifiedChineseLbl); + ContosoLanguage.InsertLanguage(CSY(), CzechLbl); + ContosoLanguage.InsertLanguage(DAN(), DanishLbl); + ContosoLanguage.InsertLanguage(DEA(), GermanAustrianLbl); + ContosoLanguage.InsertLanguage(DES(), GermanSwissLbl); + ContosoLanguage.InsertLanguage(DEU(), GermanLbl); + ContosoLanguage.InsertLanguage(ELL(), GreekLbl); + ContosoLanguage.InsertLanguage(ENA(), EnglishAustralianLbl); + ContosoLanguage.InsertLanguage(ENC(), EnglishCanadianLbl); + ContosoLanguage.InsertLanguage(ENG(), EnglishUKLbl); + ContosoLanguage.InsertLanguage(ENI(), EnglishIrelandLbl); + ContosoLanguage.InsertLanguage(ENP(), EnglishPhilippinesLbl); + ContosoLanguage.InsertLanguage(ENU(), EnglishLbl); + ContosoLanguage.InsertLanguage(ENZ(), EnglishNZLbl); + ContosoLanguage.InsertLanguage(ESM(), SpanishMexicoLbl); + ContosoLanguage.InsertLanguage(ESN(), SpanishSpainLbl); + ContosoLanguage.InsertLanguage(ESO(), SpanishColombiaLbl); + ContosoLanguage.InsertLanguage(ESP(), SpanishLbl); + ContosoLanguage.InsertLanguage(ESR(), SpanishPeruLbl); + ContosoLanguage.InsertLanguage(ESS(), SpanishArgentineLbl); + ContosoLanguage.InsertLanguage(ETI(), EstonianLbl); + ContosoLanguage.InsertLanguage(FIN(), FinnishLbl); + ContosoLanguage.InsertLanguage(FRA(), FrenchLbl); + ContosoLanguage.InsertLanguage(FRB(), FrenchBelgianLbl); + ContosoLanguage.InsertLanguage(FRC(), FrenchCanadianLbl); + ContosoLanguage.InsertLanguage(FRS(), FrenchSwissLbl); + ContosoLanguage.InsertLanguage(HRV(), CroatianLbl); + ContosoLanguage.InsertLanguage(HUN(), HungarianLbl); + ContosoLanguage.InsertLanguage(IND(), IndonesianLbl); + ContosoLanguage.InsertLanguage(ISL(), IcelandicLbl); + ContosoLanguage.InsertLanguage(ITA(), ItalianLbl); + ContosoLanguage.InsertLanguage(ITS(), ItalianSwissLbl); + ContosoLanguage.InsertLanguage(JPN(), JapaneseLbl); + ContosoLanguage.InsertLanguage(KOR(), KoreanLbl); + ContosoLanguage.InsertLanguage(LTH(), LithuanianLbl); + ContosoLanguage.InsertLanguage(LVI(), LatvianLbl); + ContosoLanguage.InsertLanguage(MSL(), MalaysianLbl); + ContosoLanguage.InsertLanguage(NLB(), DutchBelgianLbl); + ContosoLanguage.InsertLanguage(NLD(), DutchLbl); + ContosoLanguage.InsertLanguage(NON(), NorwegianNynorskLbl); + ContosoLanguage.InsertLanguage(NOR(), NorwegianLbl); + ContosoLanguage.InsertLanguage(PLK(), PolishLbl); + ContosoLanguage.InsertLanguage(PTB(), PortugueseBrazilLbl); + ContosoLanguage.InsertLanguage(PTG(), PortugueseLbl); + ContosoLanguage.InsertLanguage(ROM(), RomanianLbl); + ContosoLanguage.InsertLanguage(RUS(), RussianLbl); + ContosoLanguage.InsertLanguage(SKY(), SlovakLbl); + ContosoLanguage.InsertLanguage(SLV(), SloveneLbl); + ContosoLanguage.InsertLanguage(SRP(), SerbianLbl); + ContosoLanguage.InsertLanguage(SVE(), SwedishLbl); + ContosoLanguage.InsertLanguage(THA(), ThaiLbl); + ContosoLanguage.InsertLanguage(TRK(), TurkishLbl); + ContosoLanguage.InsertLanguage(UKR(), UkrainianLbl); + end; + + procedure BGR(): Code[10] + begin + exit(BGRTok); + end; + + procedure CHS(): Code[10] + begin + exit(CHSTok); + end; + + procedure CSY(): Code[10] + begin + exit(CSYTok); + end; + + procedure DAN(): Code[10] + begin + exit(DANTok); + end; + + procedure DEA(): Code[10] + begin + exit(DEATok); + end; + + procedure DES(): Code[10] + begin + exit(DESTok); + end; + + procedure DEU(): Code[10] + begin + exit(DEUTok); + end; + + procedure ELL(): Code[10] + begin + exit(ELLTok); + end; + + procedure ENA(): Code[10] + begin + exit(ENATok); + end; + + procedure ENC(): Code[10] + begin + exit(ENCTok); + end; + + procedure ENG(): Code[10] + begin + exit(ENGTok); + end; + + procedure ENI(): Code[10] + begin + exit(ENITok); + end; + + procedure ENP(): Code[10] + begin + exit(ENPTok); + end; + + procedure ENU(): Code[10] + begin + exit(ENUTok); + end; + + procedure ENZ(): Code[10] + begin + exit(ENZTok); + end; + + procedure ESM(): Code[10] + begin + exit(ESMTok); + end; + + procedure ESN(): Code[10] + begin + exit(ESNTok); + end; + + procedure ESO(): Code[10] + begin + exit(ESOTok); + end; + + procedure ESP(): Code[10] + begin + exit(ESPTok); + end; + + procedure ESR(): Code[10] + begin + exit(ESRTok); + end; + + procedure ESS(): Code[10] + begin + exit(ESSTok); + end; + + procedure ETI(): Code[10] + begin + exit(ETITok); + end; + + procedure FIN(): Code[10] + begin + exit(FINTok); + end; + + procedure FRA(): Code[10] + begin + exit(FRATok); + end; + + procedure FRB(): Code[10] + begin + exit(FRBTok); + end; + + procedure FRC(): Code[10] + begin + exit(FRCTok); + end; + + procedure FRS(): Code[10] + begin + exit(FRSTok); + end; + + procedure HRV(): Code[10] + begin + exit(HRVTok); + end; + + procedure HUN(): Code[10] + begin + exit(HUNTok); + end; + + procedure IND(): Code[10] + begin + exit(INDTok); + end; + + procedure ISL(): Code[10] + begin + exit(ISLTok); + end; + + procedure ITA(): Code[10] + begin + exit(ITATok); + end; + + procedure ITS(): Code[10] + begin + exit(ITSTok); + end; + + procedure JPN(): Code[10] + begin + exit(JPNTok); + end; + + procedure KOR(): Code[10] + begin + exit(KORTok); + end; + + procedure LTH(): Code[10] + begin + exit(LTHTok); + end; + + procedure LVI(): Code[10] + begin + exit(LVITok); + end; + + procedure MSL(): Code[10] + begin + exit(MSLTok); + end; + + procedure NLB(): Code[10] + begin + exit(NLBTok); + end; + + procedure NLD(): Code[10] + begin + exit(NLDTok); + end; + + procedure NON(): Code[10] + begin + exit(NONTok); + end; + + procedure NOR(): Code[10] + begin + exit(NORTok); + end; + + procedure PLK(): Code[10] + begin + exit(PLKTok); + end; + + procedure PTB(): Code[10] + begin + exit(PTBTok); + end; + + procedure PTG(): Code[10] + begin + exit(PTGTok); + end; + + procedure ROM(): Code[10] + begin + exit(ROMTok); + end; + + procedure RUS(): Code[10] + begin + exit(RUSTok); + end; + + procedure SKY(): Code[10] + begin + exit(SKYTok); + end; + + procedure SLV(): Code[10] + begin + exit(SLVTok); + end; + + procedure SRP(): Code[10] + begin + exit(SRPTok); + end; + + procedure SVE(): Code[10] + begin + exit(SVETok); + end; + + procedure THA(): Code[10] + begin + exit(THATok); + end; + + procedure TRK(): Code[10] + begin + exit(TRKTok); + end; + + procedure UKR(): Code[10] + begin + exit(UKRTok); + end; + + var + BGRTok: Label 'BGR', MaxLength = 10, Locked = true; + CHSTok: Label 'CHS', MaxLength = 10, Locked = true; + CSYTok: Label 'CSY', MaxLength = 10, Locked = true; + DANTok: Label 'DAN', MaxLength = 10, Locked = true; + DEATok: Label 'DEA', MaxLength = 10, Locked = true; + DESTok: Label 'DES', MaxLength = 10, Locked = true; + DEUTok: Label 'DEU', MaxLength = 10, Locked = true; + ELLTok: Label 'ELL', MaxLength = 10, Locked = true; + ENATok: Label 'ENA', MaxLength = 10, Locked = true; + ENCTok: Label 'ENC', MaxLength = 10, Locked = true; + ENGTok: Label 'ENG', MaxLength = 10, Locked = true; + ENITok: Label 'ENI', MaxLength = 10, Locked = true; + ENPTok: Label 'ENP', MaxLength = 10, Locked = true; + ENUTok: Label 'ENU', MaxLength = 10, Locked = true; + ENZTok: Label 'ENZ', MaxLength = 10, Locked = true; + ESMTok: Label 'ESM', MaxLength = 10, Locked = true; + ESNTok: Label 'ESN', MaxLength = 10, Locked = true; + ESOTok: Label 'ESO', MaxLength = 10, Locked = true; + ESPTok: Label 'ESP', MaxLength = 10, Locked = true; + ESRTok: Label 'ESR', MaxLength = 10, Locked = true; + ESSTok: Label 'ESS', MaxLength = 10, Locked = true; + ETITok: Label 'ETI', MaxLength = 10, Locked = true; + FINTok: Label 'FIN', MaxLength = 10, Locked = true; + FRATok: Label 'FRA', MaxLength = 10, Locked = true; + FRBTok: Label 'FRB', MaxLength = 10, Locked = true; + FRCTok: Label 'FRC', MaxLength = 10, Locked = true; + FRSTok: Label 'FRS', MaxLength = 10, Locked = true; + HRVTok: Label 'HRV', MaxLength = 10, Locked = true; + HUNTok: Label 'HUN', MaxLength = 10, Locked = true; + INDTok: Label 'IND', MaxLength = 10, Locked = true; + ISLTok: Label 'ISL', MaxLength = 10, Locked = true; + ITATok: Label 'ITA', MaxLength = 10, Locked = true; + ITSTok: Label 'ITS', MaxLength = 10, Locked = true; + JPNTok: Label 'JPN', MaxLength = 10, Locked = true; + KORTok: Label 'KOR', MaxLength = 10, Locked = true; + LTHTok: Label 'LTH', MaxLength = 10, Locked = true; + LVITok: Label 'LVI', MaxLength = 10, Locked = true; + MSLTok: Label 'MSL', MaxLength = 10, Locked = true; + NLBTok: Label 'NLB', MaxLength = 10, Locked = true; + NLDTok: Label 'NLD', MaxLength = 10, Locked = true; + NONTok: Label 'NON', MaxLength = 10, Locked = true; + NORTok: Label 'NOR', MaxLength = 10, Locked = true; + PLKTok: Label 'PLK', MaxLength = 10, Locked = true; + PTBTok: Label 'PTB', MaxLength = 10, Locked = true; + PTGTok: Label 'PTG', MaxLength = 10, Locked = true; + ROMTok: Label 'ROM', MaxLength = 10, Locked = true; + RUSTok: Label 'RUS', MaxLength = 10, Locked = true; + SKYTok: Label 'SKY', MaxLength = 10, Locked = true; + SLVTok: Label 'SLV', MaxLength = 10, Locked = true; + SRPTok: Label 'SRP', MaxLength = 10, Locked = true; + SVETok: Label 'SVE', MaxLength = 10, Locked = true; + THATok: Label 'THA', MaxLength = 10, Locked = true; + TRKTok: Label 'TRK', MaxLength = 10, Locked = true; + UKRTok: Label 'UKR', MaxLength = 10, Locked = true; + BulgarianLbl: Label 'Bulgarian', MaxLength = 50; + SimplifiedChineseLbl: Label 'Simplified Chinese', MaxLength = 50; + CzechLbl: Label 'Czech', MaxLength = 50; + DanishLbl: Label 'Danish', MaxLength = 50; + GermanAustrianLbl: Label 'German (Austrian)', MaxLength = 50; + GermanSwissLbl: Label 'German (Swiss)', MaxLength = 50; + GermanLbl: Label 'German', MaxLength = 50; + GreekLbl: Label 'Greek', MaxLength = 50; + EnglishAustralianLbl: Label 'English (Australian)', MaxLength = 50; + EnglishCanadianLbl: Label 'English (Canadian)', MaxLength = 50; + EnglishUKLbl: Label 'English (United Kingdom)', MaxLength = 50; + EnglishIrelandLbl: Label 'English (Ireland)', MaxLength = 50; + EnglishPhilippinesLbl: Label 'English (Philippines)', MaxLength = 50; + EnglishLbl: Label 'English', MaxLength = 50; + EnglishNZLbl: Label 'English (New Zealand)', MaxLength = 50; + SpanishMexicoLbl: Label 'Spanish (Mexico)', MaxLength = 50; + SpanishSpainLbl: Label 'Spanish (Spain)', MaxLength = 50; + SpanishColombiaLbl: Label 'Spanish (Colombia)', MaxLength = 50; + SpanishLbl: Label 'Spanish', MaxLength = 50; + SpanishPeruLbl: Label 'Spanish (Peru)', MaxLength = 50; + SpanishArgentineLbl: Label 'Spanish (Argentine)', MaxLength = 50; + EstonianLbl: Label 'Estonian', MaxLength = 50; + FinnishLbl: Label 'Finnish', MaxLength = 50; + FrenchLbl: Label 'French', MaxLength = 50; + FrenchBelgianLbl: Label 'French (Belgian)', MaxLength = 50; + FrenchCanadianLbl: Label 'French (Canadian)', MaxLength = 50; + FrenchSwissLbl: Label 'French (Swiss)', MaxLength = 50; + CroatianLbl: Label 'Croatian', MaxLength = 50; + HungarianLbl: Label 'Hungarian', MaxLength = 50; + IndonesianLbl: Label 'Indonesian', MaxLength = 50; + IcelandicLbl: Label 'Icelandic', MaxLength = 50; + ItalianLbl: Label 'Italian', MaxLength = 50; + ItalianSwissLbl: Label 'Italian (Swiss)', MaxLength = 50; + JapaneseLbl: Label 'Japanese', MaxLength = 50; + KoreanLbl: Label 'Korean', MaxLength = 50; + LithuanianLbl: Label 'Lithuanian', MaxLength = 50; + LatvianLbl: Label 'Latvian', MaxLength = 50; + MalaysianLbl: Label 'Malaysian', MaxLength = 50; + DutchBelgianLbl: Label 'Dutch (Belgian)', MaxLength = 50; + DutchLbl: Label 'Dutch', MaxLength = 50; + NorwegianNynorskLbl: Label 'Norwegian (Nynorsk)', MaxLength = 50; + NorwegianLbl: Label 'Norwegian', MaxLength = 50; + PolishLbl: Label 'Polish', MaxLength = 50; + PortugueseBrazilLbl: Label 'Portuguese (Brazil)', MaxLength = 50; + PortugueseLbl: Label 'Portuguese', MaxLength = 50; + RomanianLbl: Label 'Romanian', MaxLength = 50; + RussianLbl: Label 'Russian', MaxLength = 50; + SlovakLbl: Label 'Slovak', MaxLength = 50; + SloveneLbl: Label 'Slovene', MaxLength = 50; + SerbianLbl: Label 'Serbian', MaxLength = 50; + SwedishLbl: Label 'Swedish', MaxLength = 50; + ThaiLbl: Label 'Thai', MaxLength = 50; + TurkishLbl: Label 'Turkish', MaxLength = 50; + UkrainianLbl: Label 'Ukrainian', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNamedForwardLink.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNamedForwardLink.Codeunit.al new file mode 100644 index 0000000000..110900d285 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNamedForwardLink.Codeunit.al @@ -0,0 +1,12 @@ +codeunit 5541 "Create Named Forward Link" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + NamedForwardLink: Record "Named Forward Link"; + begin + NamedForwardLink.Load(); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNoSeries.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNoSeries.Codeunit.al new file mode 100644 index 0000000000..95f56ef063 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNoSeries.Codeunit.al @@ -0,0 +1,536 @@ +codeunit 5278 "Create No. Series" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNoSeries: codeunit "Contoso No Series"; + begin + ContosoNoSeries.InsertNoSeries(AssemblyBlanketOrders(), AssemblyBlanketOrdersLbl, 'A00001', 'A01000', 'A00995', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(AssemblyOrders(), AssemblyOrdersLbl, 'A00001', 'A01000', 'A00995', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(PostedAssemblyOrders(), PostedAssemblyOrdersLbl, 'A00001', 'A01000', 'A00995', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(AssemblyQuote(), AssemblyQuoteLbl, 'A00001', 'A01000', 'A00995', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(Bank(), BANKLbl, 'B010', 'B990', '', '', 10, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(Campaign(), CampaignLbl, 'CP0001', 'CP9999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(CashFlow(), CashFlowLbl, 'CF100001', 'CF200000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(Contact(), ContactLbl, 'CT000001', 'CT100000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(DraftInvoice(), DraftInvoiceLbl, 'D-00001', 'D-99999', 'D-99899', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(PostedInvoice(), PostedInvoiceLbl, '00001', '99999', '99899', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(Estimate(), EstimateLbl, 'E-00001', 'E-99999', 'E-99899', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(ECSL(), ECSLLbl, 'ECSL-0001', 'ECSL-9999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(GeneralJournal(), GeneralJournalLbl, 'G00001', 'G01000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PaymentJournal(), PaymentJournalLbl, 'G04001', 'G05000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(CashReceiptsJournal(), CashReceiptsJournalLbl, 'G02001', 'G03000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InterCompanyGenJnl(), InterCompanyGenJnlLbl, 'IC0010', 'IC9999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(Item(), ItemsLbl, '1000', '9999', '9995', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(ItemJournal(), ItemJournalLbl, 'T00001', 'T01000', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InventoryReceipt(), InventoryReceiptLbl, 'IR000001', 'IR999999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PostedInventoryReceipt(), PostedInventoryReceiptLbl, 'IR000001', 'IR999999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(InventoryShipment(), InventoryShipmentLbl, 'IS000001', 'IS999999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PostedInventoryShipment(), PostedInventoryShipmentLbl, 'IS000001', 'IS999999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + + ContosoNoSeries.InsertNoSeries(JobJournal(), JobJournalLbl, 'J00001', 'J01000', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + + ContosoNoSeries.InsertNoSeries(RecurringJobJournal(), RecurringJobJournalLbl, 'J01001', 'J02000', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(JobWIP(), JobWIPLbl, 'WIP0000001', 'WIP9999999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(JobPriceList(), JobPriceListLbl, 'J00001', 'J99999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(LotNumbering(), LotNumberingLbl, 'LOT0001', 'LOT9999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(CatalogItems(), CatalogItemsLbl, 'NS0001', 'NS0100', 'NS0095', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(Opportunity(), OpportunityLbl, 'OP000001', 'OP999999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(OrderPromising(), OrderPromisingLbl, 'OP101001', 'OP199999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(BlanketPurchaseOrder(), BlanketPurchaseOrderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PurchaseCreditMemo(), PurchaseCreditMemoLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedPurchaseCreditMemo(), PostedPurchaseCreditMemoLbl, '109001', '1010999', '1010995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedDirectTransfer(), PostedDirectTransferLbl, 'PDT000001', 'PDT999999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PhysicalInventoryOrder(), PhysicalInventoryOrderLbl, 'PHIO00001', 'PHIO99999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PostedPhysInventOrder(), PostedPhysInventOrderLbl, 'PPHI00001', 'PPHI99999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(PurchasePriceList(), PurchasePriceListLbl, 'P00001', 'P99999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(Vendor(), VendorLbl, 'V00010', 'V99990', '', '', 10, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(PurchaseQuote(), PurchaseQuoteLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PurchaseOrder(), PurchaseOrderLbl, '106001', '107999', '107995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PurchaseInvoice(), PurchaseInvoiceLbl, '107001', '108999', '108995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedPurchaseInvoice(), PostedPurchaseInvoiceLbl, '108001', '109999', '109995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PurchaseReceipt(), PurchaseReceiptLbl, '107001', '108999', '108995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PaymentReconciliationJournals(), PaymentReconciliationJournalsLbl, 'PREC000', 'PREC999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(PurchaseReturnOrder(), PurchaseReturnOrderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedPurchaseShipment(), PostedPurchaseShipmentLbl, '105001', '106999', '106995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(Resource(), ResourceLbl, 'R0010', 'R9990', '', '', 10, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(BlanketSalesOrder(), BlanketSalesOrderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(SalesCreditMemo(), SalesCreditMemoLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedSalesCreditMemo(), PostedSalesCreditMemoLbl, '104001', '105999', '105995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(Segment(), SegmentLbl, 'SM00001', 'SM99999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(FinanceChargeMemo(), FinanceChargeMemoLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(IssuedFinanceChargeMemo(), IssuedFinanceChargeMemoLbl, '106001', '107999', '107995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(SNNumbering1(), SNNumbering1Lbl, 'SN00001', 'SN99999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(SNNumbering2(), SNNumbering2Lbl, 'XYZ00001', 'XYZ99999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(SalesPriceList(), SalesPriceListLbl, 'S00001', 'S99999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(SalesQuote(), SalesQuoteLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedSalesReceipt(), PostedSalesReceiptLbl, '107001', '108999', '108995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(Reminder(), ReminderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(IssuedReminder(), IssuedReminderLbl, '105001', '106999', '106995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(SalesReturnOrder(), SalesReturnOrderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(SalesShipment(), SalesShipmentLbl, '102001', '103999', '103995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(Task(), TaskLbl, 'TD000001', 'TD999999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(TimeSheet(), TimeSheetLbl, 'TS00001', 'TS99999', '', '', 1, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(VATReturnPeriods(), VATReturnPeriodsLbl, 'VATPER-0001', 'VATPER-9999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(VATReturnsReports(), VATReturnsReportsLbl, 'VATRET-0001', 'VATRET-9999', '', '', 1, Enum::"No. Series Implementation"::Normal, true); + ContosoNoSeries.InsertNoSeries(Customer(), CustomerLbl, 'C00010', 'C99990', '', '', 10, Enum::"No. Series Implementation"::Sequence, true); + ContosoNoSeries.InsertNoSeries(SalesOrder(), SalesOrderLbl, '101001', '102999', '102995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(SalesInvoice(), SalesInvoiceLbl, '102001', '103999', '103995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(PostedSalesInvoice(), PostedSalesInvoiceLbl, '103001', '104999', '104995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(TransferOrder(), TransferOrderLbl, '1001', '2999', '2995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(TransferShipment(), TransferShipmentLbl, '108001', '109999', '109995', '', 1, Enum::"No. Series Implementation"::Normal, false); + ContosoNoSeries.InsertNoSeries(TransferReceipt(), TransferReceiptLbl, '109001', '1010999', '1010995', '', 1, Enum::"No. Series Implementation"::Normal, false); + end; + + procedure AssemblyBlanketOrders(): Code[20] + begin + exit('A-BLK'); + end; + + procedure AssemblyOrders(): Code[20] + begin + exit('A-ORD'); + end; + + procedure PostedAssemblyOrders(): Code[20] + begin + exit('A-ORD+'); + end; + + procedure AssemblyQuote(): Code[20] + begin + exit('A-QUO'); + end; + + procedure Bank(): Code[20] + begin + exit('BANK'); + end; + + procedure Campaign(): Code[20] + begin + exit('CAMP'); + end; + + procedure CashFlow(): Code[20] + begin + exit('CASHFLOW'); + end; + + procedure Contact(): Code[20] + begin + exit('CONT'); + end; + + procedure DraftInvoice(): Code[20] + begin + exit('D-INV'); + end; + + procedure PostedInvoice(): Code[20] + begin + exit('D-INV+'); + end; + + procedure Estimate(): Code[20] + begin + exit('D-QUO'); + end; + + procedure ECSL(): Code[20] + begin + exit('ECSL'); + end; + + procedure GeneralJournal(): Code[20] + begin + exit('GJNL-GEN'); + end; + + procedure PaymentJournal(): Code[20] + begin + exit('GJNL-PMT'); + end; + + procedure CashReceiptsJournal(): Code[20] + begin + exit('GJNL-RCPT'); + end; + + procedure InterCompanyGenJnl(): Code[20] + begin + exit('IC_GJNL'); + end; + + procedure Item(): Code[20] + begin + exit(ItemTok); + end; + + procedure ItemJournal(): Code[20] + begin + exit('IJNL-GEN'); + end; + + procedure InventoryReceipt(): Code[20] + begin + exit('I-RCPT'); + end; + + procedure PostedInventoryReceipt(): Code[20] + begin + exit('I-RCPT+'); + end; + + procedure InventoryShipment(): Code[20] + begin + exit('I-SHPT'); + end; + + procedure PostedInventoryShipment(): Code[20] + begin + exit('I-SHPT+'); + end; + + procedure JobJournal(): Code[20] + begin + exit('JJNL-GEN'); + end; + + procedure RecurringJobJournal(): Code[20] + begin + exit('JJNL-REC'); + end; + + procedure JobWIP(): Code[20] + begin + exit('JOB-WIP'); + end; + + procedure JobPriceList(): Code[20] + begin + exit('J-PL'); + end; + + procedure LotNumbering(): Code[20] + begin + exit('LOT'); + end; + + procedure CatalogItems(): Code[20] + begin + exit('NS-ITEM'); + end; + + procedure Opportunity(): Code[20] + begin + exit('OPP'); + end; + + procedure OrderPromising(): Code[20] + begin + exit('O-PROM'); + end; + + procedure BlanketPurchaseOrder(): Code[20] + begin + exit('P-BLK'); + end; + + procedure PurchaseCreditMemo(): Code[20] + begin + exit('P-CR'); + end; + + procedure PostedPurchaseCreditMemo(): Code[20] + begin + exit('P-CR+'); + end; + + procedure PostedDirectTransfer(): Code[20] + begin + exit('PDIRTRANS'); + end; + + procedure PhysicalInventoryOrder(): Code[20] + begin + exit('PHYS-INV'); + end; + + procedure PostedPhysInventOrder(): Code[20] + begin + exit('PHYS-INV+'); + end; + + procedure PurchasePriceList(): Code[20] + begin + exit('P-PL'); + end; + + procedure Vendor(): Code[20] + begin + exit(VendorTok); + end; + + procedure PurchaseQuote(): Code[20] + begin + exit('P-QUO'); + end; + + procedure PurchaseOrder(): Code[20] + begin + exit('P-ORD'); + end; + + procedure PurchaseInvoice(): Code[20] + begin + exit('P-INV'); + end; + + procedure PostedPurchaseInvoice(): Code[20] + begin + exit('P-INV+'); + end; + + procedure PurchaseReceipt(): Code[20] + begin + exit('P-RCPT'); + end; + + procedure PaymentReconciliationJournals(): Code[20] + begin + exit('PREC'); + end; + + procedure PurchaseReturnOrder(): Code[20] + begin + exit('P-RETORD'); + end; + + procedure PostedPurchaseShipment(): Code[20] + begin + exit('P-SHPT'); + end; + + procedure Resource(): Code[20] + begin + exit('RES'); + end; + + procedure BlanketSalesOrder(): Code[20] + begin + exit('S-BLK'); + end; + + procedure SalesCreditMemo(): Code[20] + begin + exit('S-CR'); + end; + + procedure PostedSalesCreditMemo(): Code[20] + begin + exit('S-CR+'); + end; + + procedure Segment(): Code[20] + begin + exit('SEGM'); + end; + + procedure FinanceChargeMemo(): Code[20] + begin + exit('S-FIN'); + end; + + procedure IssuedFinanceChargeMemo(): Code[20] + begin + exit('S-FIN+'); + end; + + procedure SNNumbering1(): Code[20] + begin + exit('SN1'); + end; + + procedure SNNumbering2(): Code[20] + begin + exit('SN2'); + end; + + procedure SalesPriceList(): Code[20] + begin + exit('S-PL'); + end; + + procedure SalesQuote(): Code[20] + begin + exit('S-QUO'); + end; + + procedure PostedSalesReceipt(): Code[20] + begin + exit('S-RCPT'); + end; + + procedure Reminder(): Code[20] + begin + exit('S-REM'); + end; + + procedure IssuedReminder(): Code[20] + begin + exit('S-REM+'); + end; + + procedure SalesReturnOrder(): Code[20] + begin + exit('S-RETORD'); + end; + + procedure SalesShipment(): Code[20] + begin + exit('S-SHPT'); + end; + + procedure Task(): Code[20] + begin + exit('TASK'); + end; + + procedure TimeSheet(): Code[20] + begin + exit('TS'); + end; + + procedure VATReturnPeriods(): Code[20] + begin + exit('VATPERIODS'); + end; + + procedure VATReturnsReports(): Code[20] + begin + exit('VATREPORTS'); + end; + + procedure Customer(): Code[20] + begin + exit(CustTok); + end; + + procedure SalesOrder(): Code[20] + begin + exit(SalesOrderTok); + end; + + procedure SalesInvoice(): Code[20] + begin + exit(SalesInvoiceTok); + end; + + procedure PostedSalesInvoice(): Code[20] + begin + exit(PostedInvTok); + end; + + procedure TransferOrder(): Code[20] + begin + exit(TransferOrderTok); + end; + + procedure TransferShipment(): Text[20] + begin + exit(TransferShipmentTok); + end; + + procedure TransferReceipt(): Text[20] + begin + exit(TransferReceiptTok); + end; + + var + AssemblyBlanketOrdersLbl: Label 'Assembly Blanket Orders', MaxLength = 100; + AssemblyOrdersLbl: Label 'Assembly Orders', MaxLength = 100; + PostedAssemblyOrdersLbl: Label 'Posted Assembly Orders', MaxLength = 100; + AssemblyQuoteLbl: Label 'Assembly Quote', MaxLength = 100; + BANKLbl: Label 'BANK', MaxLength = 100; + CampaignLbl: Label 'Campaign', MaxLength = 100; + CashFlowLbl: Label 'CashFlow', MaxLength = 100; + ContactLbl: Label 'Contact', MaxLength = 100; + DraftInvoiceLbl: Label 'Draft Invoice', MaxLength = 100; + PostedInvoiceLbl: Label 'Posted Invoice', MaxLength = 100; + EstimateLbl: Label 'Estimate', MaxLength = 100; + ECSLLbl: Label 'EC Sales List reports.', MaxLength = 100; + GeneralJournalLbl: Label 'General Journal', MaxLength = 100; + PaymentJournalLbl: Label 'Payment Journal', MaxLength = 100; + CashReceiptsJournalLbl: Label 'Cash Receipts Journal', MaxLength = 100; + InterCompanyGenJnlLbl: Label 'InterCompany Gen. Jnl', MaxLength = 100; + ItemTok: Label 'ITEM', MaxLength = 20; + ItemsLbl: Label 'Items', MaxLength = 100; + ItemJournalLbl: Label 'Item Journal', MaxLength = 100; + InventoryReceiptLbl: Label 'Inventory Receipt', MaxLength = 100; + PostedInventoryReceiptLbl: Label 'Posted Inventory Receipt', MaxLength = 100; + InventoryShipmentLbl: Label 'Inventory Shipment', MaxLength = 100; + PostedInventoryShipmentLbl: Label 'Posted Inventory Shipment', MaxLength = 100; + JobJournalLbl: Label 'Job Journal', MaxLength = 100; + RecurringJobJournalLbl: Label 'Recurring Job Journal', MaxLength = 100; + JobWIPLbl: Label 'Job-WIP', MaxLength = 100; + JobPriceListLbl: Label 'Job Price List', MaxLength = 100; + LotNumberingLbl: Label 'Lot Numbering', MaxLength = 100; + CatalogItemsLbl: Label 'Catalog Items', MaxLength = 100; + OpportunityLbl: Label 'Opportunity', MaxLength = 100; + OrderPromisingLbl: Label 'Order Promising', MaxLength = 100; + BlanketPurchaseOrderLbl: Label 'Blanket Purchase Order', MaxLength = 100; + PurchaseCreditMemoLbl: Label 'Purchase Credit Memo', MaxLength = 100; + PostedPurchaseCreditMemoLbl: Label 'Posted Purchase Credit Memo', MaxLength = 100; + PostedDirectTransferLbl: Label 'Posted Direct Transfer', MaxLength = 100; + PhysicalInventoryOrderLbl: Label 'Physical Inventory Order', MaxLength = 100; + PostedPhysInventOrderLbl: Label 'Posted Phys. Invent. Order', MaxLength = 100; + PurchasePriceListLbl: Label 'Purchase Price List', MaxLength = 100; + PurchaseQuoteLbl: Label 'Purchase Quote', MaxLength = 100; + PurchaseOrderLbl: Label 'Purchase Order', MaxLength = 100; + PurchaseInvoiceLbl: Label 'Purchase Invoice', MaxLength = 100; + PostedPurchaseInvoiceLbl: Label 'Posted Purchase Invoice', MaxLength = 100; + PurchaseReceiptLbl: Label 'Purchase Receipt', MaxLength = 100; + PaymentReconciliationJournalsLbl: Label 'Payment Reconciliation Journals', MaxLength = 100; + PurchaseReturnOrderLbl: Label 'Purchase Return Order', MaxLength = 100; + PostedPurchaseShipmentLbl: Label 'Posted Purchase Shipment', MaxLength = 100; + ResourceLbl: Label 'Resource', MaxLength = 100; + BlanketSalesOrderLbl: Label 'Blanket Sales Order', MaxLength = 100; + SalesCreditMemoLbl: Label 'Sales Credit Memo', MaxLength = 100; + PostedSalesCreditMemoLbl: Label 'Posted Sales Credit Memo', MaxLength = 100; + SegmentLbl: Label 'Segment', MaxLength = 100; + FinanceChargeMemoLbl: Label 'Finance Charge Memo', MaxLength = 100; + IssuedFinanceChargeMemoLbl: Label 'Issued Finance Charge Memo', MaxLength = 100; + SNNumbering1Lbl: Label 'SN Numbering', MaxLength = 100; + SNNumbering2Lbl: Label 'SN Numbering', MaxLength = 100; + SalesPriceListLbl: Label 'Sales Price List', MaxLength = 100; + SalesQuoteLbl: Label 'Sales Quote', MaxLength = 100; + PostedSalesReceiptLbl: Label 'Posted Sales Receipt', MaxLength = 100; + ReminderLbl: Label 'Reminder', MaxLength = 100; + IssuedReminderLbl: Label 'Issued Reminder', MaxLength = 100; + SalesReturnOrderLbl: Label 'Sales Return Order', MaxLength = 100; + SalesShipmentLbl: Label 'Sales Shipment', MaxLength = 100; + TaskLbl: Label 'Task', MaxLength = 100; + TimeSheetLbl: Label 'Time Sheet', MaxLength = 100; + VATReturnPeriodsLbl: Label 'VAT Return Periods', MaxLength = 100; + VATReturnsReportsLbl: Label 'VAT Returns reports.', MaxLength = 100; + VendorLbl: Label 'Vendor', MaxLength = 100; + VendorTok: Label 'VEND', MaxLength = 20; + CustTok: Label 'CUST', MaxLength = 20; + SalesOrderTok: Label 'S-ORD', MaxLength = 20; + SalesInvoiceTok: Label 'S-INV', MaxLength = 20; + PostedInvTok: Label 'S-INV+', MaxLength = 20; + CustomerLbl: Label 'Customer', MaxLength = 100; + SalesOrderLbl: Label 'Sales Order', MaxLength = 100; + SalesInvoiceLbl: Label 'Sales Invoice', MaxLength = 100; + PostedSalesInvoiceLbl: Label 'Posted Sales Invoice', MaxLength = 100; + TransferOrderTok: Label 'T-ORD', MaxLength = 20; + TransferOrderLbl: Label 'Transfer Order', MaxLength = 100; + TransferShipmentTok: Label 'T-SHPT', MaxLength = 20; + TransferShipmentLbl: Label 'Transfer Shipment', MaxLength = 100; + TransferReceiptTok: Label 'T-RCPT', MaxLength = 20; + TransferReceiptLbl: Label 'Transfer Receipt', MaxLength = 100; + +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNotificationSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNotificationSetup.Codeunit.al new file mode 100644 index 0000000000..765fdb7b37 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateNotificationSetup.Codeunit.al @@ -0,0 +1,19 @@ +codeunit 5322 "Create Notification Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoNotification: Codeunit "Contoso Notification"; + DummyUserID: Code[50]; + begin + DummyUserID := ''; + + ContosoNotification.InsertNotification(DummyUserID, Enum::"Notification Entry Type"::"New Record", Enum::"Notification Method Type"::Email); + ContosoNotification.InsertNotification(DummyUserID, Enum::"Notification Entry Type"::Approval, Enum::"Notification Method Type"::Email); + ContosoNotification.InsertNotification(DummyUserID, Enum::"Notification Entry Type"::Overdue, Enum::"Notification Method Type"::Email); + end; + + +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateO365Template.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateO365Template.Codeunit.al new file mode 100644 index 0000000000..50c0c7e03b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateO365Template.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 5234 "Create O365 Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + O365HTMLTemplate: Record "O365 HTML Template"; + MediaResourcesMgt: Codeunit "Media Resources Mgt."; + TemplateInStream: InStream; + FolderPathTok: Label 'HTMLTemplates', Locked = true; + begin + if O365HTMLTemplate.Get(SalesMail()) then + exit; + + NavApp.GetResource(FolderPathTok + '/' + InvoicingSalesMailTok, TemplateInStream); + + MediaResourcesMgt.InsertMediaFromInstream(InvoicingSalesMailTok, TemplateInStream); + + O365HTMLTemplate.Validate(Code, SalesMail()); + O365HTMLTemplate.Validate(Description, SalesMailDescLbl); + O365HTMLTemplate.Validate("Media Resources Ref", InvoicingSalesMailTok); + O365HTMLTemplate.Insert(true); + end; + + procedure SalesMail(): Code[20] + begin + exit(SalesMailTok); + end; + + var + SalesMailTok: Label 'SALESEMAIL', Locked = true; + SalesMailDescLbl: Label 'Invoicing sales mail', MaxLength = 100; + InvoicingSalesMailTok: Label 'Invoicing - SalesMail.html', Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreatePaymentTerms.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreatePaymentTerms.Codeunit.al new file mode 100644 index 0000000000..f34bd04806 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreatePaymentTerms.Codeunit.al @@ -0,0 +1,101 @@ +codeunit 5206 "Create Payment Terms" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPayments: Codeunit "Contoso Payments"; + begin + ContosoPayments.InsertPaymentTerms(PaymentTermsCM(), '', '', 0, CurrentMonthLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsCOD(), '<0D>', '', 0, CashOnDeliveryLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsM8D(), '<1M>', '<8D>', 2, Month2Percent8DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS2(), '<2D>', '', 0, Net2DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS7(), '<7D>', '', 0, Net7DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS10(), '<10D>', '', 0, Net10DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS14(), '<14D>', '', 0, Net14DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS15(), '<15D>', '', 0, Net15DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS21(), '<21D>', '', 0, Net21DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS30(), '<30D>', '', 0, Net30DaysLbl); + ContosoPayments.InsertPaymentTerms(PaymentTermsDAYS60(), '<60D>', '', 0, Net60DaysLbl); + end; + + procedure PaymentTermsCM(): code[10] + begin + exit(CMTok); + end; + + procedure PaymentTermsCOD(): code[10] + begin + exit(CODTok); + end; + + procedure PaymentTermsM8D(): code[10] + begin + exit(M8DTok); + end; + + procedure PaymentTermsDAYS2(): code[10] + begin + exit(Days2Tok); + end; + + procedure PaymentTermsDAYS7(): code[10] + begin + exit(Days7Tok); + end; + + procedure PaymentTermsDAYS10(): code[10] + begin + exit(Days10Tok); + end; + + procedure PaymentTermsDAYS14(): code[10] + begin + exit(Days14Tok); + end; + + procedure PaymentTermsDAYS15(): code[10] + begin + exit(Days15Tok); + end; + + procedure PaymentTermsDAYS21(): code[10] + begin + exit(Days21Tok); + end; + + procedure PaymentTermsDAYS30(): code[10] + begin + exit(Days30Tok); + end; + + procedure PaymentTermsDAYS60(): code[10] + begin + exit(Days60Tok); + end; + + var + CMTok: Label 'CM', MaxLength = 10; + CODTok: Label 'COD', MaxLength = 10; + M8DTok: Label '1M(8D)', MaxLength = 10; + Days2Tok: Label '2 DAYS', MaxLength = 10; + Days7Tok: Label '7 DAYS', MaxLength = 10; + Days10Tok: Label '10 DAYS', MaxLength = 10; + Days14Tok: Label '14 DAYS', MaxLength = 10; + Days15Tok: Label '15 DAYS', MaxLength = 10; + Days21Tok: Label '21 DAYS', MaxLength = 10; + Days30Tok: Label '30 DAYS', MaxLength = 10; + Days60Tok: Label '60 DAYS', MaxLength = 10; + CurrentMonthLbl: Label 'Current Month', MaxLength = 100; + CashOnDeliveryLbl: Label 'Cash on delivery', MaxLength = 100; + Month2Percent8DaysLbl: Label '1 Month/2% 8 days', MaxLength = 100; + Net2DaysLbl: Label 'Net 2 days', MaxLength = 100; + Net7DaysLbl: Label 'Net 7 days', MaxLength = 100; + Net10DaysLbl: Label 'Net 10 days', MaxLength = 100; + Net14DaysLbl: Label 'Net 14 days', MaxLength = 100; + Net15DaysLbl: Label 'Net 15 days', MaxLength = 100; + Net21DaysLbl: Label 'Net 21 days', MaxLength = 100; + Net30DaysLbl: Label 'Net 30 days', MaxLength = 100; + Net60DaysLbl: Label 'Net 60 days', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreatePostCode.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreatePostCode.Codeunit.al new file mode 100644 index 0000000000..227313d84c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreatePostCode.Codeunit.al @@ -0,0 +1,402 @@ +codeunit 5253 "Create Post Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + // TODO: MS + // Discuss it + // Maybe a service provide a better list of post codes? + // This can be the same for now, then we convert to a list later. + + // Keep as it is for now + // Wael + + trigger OnRun() + var + begin + InsertData('AT-1100', 'Wien', 'WIEN', 'AT', '', ''); + InsertData('AT-1230', 'Wien', 'WIEN', 'AT', '', ''); + InsertData('AT-2355', 'Wr. Neudorf', 'WR. NEUDORF', 'AT', '', ''); + InsertData('AT-4810', 'Gmunden', 'GMUNDEN', 'AT', '', ''); + InsertData('AT-5730', 'Mittersill', 'MITTERSILL', 'AT', '', ''); + InsertData('AT-8850', 'Murau', 'MURAU', 'AT', '', ''); + InsertData('AU-2000', 'Sydney, NSW', 'SYDNEY, NSW', 'AU', '', ''); + InsertData('AU-2500', 'Wollongong, NSW', 'WOLLONGONG, NSW', 'AU', '', ''); + InsertData('AU-3000', 'Melbourne, VIC', 'MELBOURNE, VIC', 'AU', '', ''); + InsertData('AU-4000', 'Brisbane, QLD', 'BRISBANE, QLD', 'AU', '', ''); + InsertData('AU-6800', 'Perth, WA', 'PERTH, WA', 'AU', '', ''); + InsertData('AU-7178', 'Murdunna, TAS', 'MURDUNNA, TAS', 'AU', '', ''); + InsertData('B27 4KT', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + InsertData('B31 2AL', 'Birmingham', 'BIRMINGHAM', 'GB', '', ''); + InsertData('B32 4TF', 'Sparkhill, Birmingham', 'SPARKHILL, BIRMINGHAM', 'GB', '', ''); + InsertData('B68 5TT', 'Bromsgrove', 'BROMSGROVE', 'GB', '', ''); + InsertData('BA24 6KS', 'Bath', 'BATH', 'GB', '', ''); + InsertData('BE-1851', 'Humbeek', 'HUMBEEK', 'BE', '', ''); + InsertData('BE-2050', 'Antwerpen', 'ANTWERPEN', 'BE', '', ''); + InsertData('BE-2200', 'Herentals', 'HERENTALS', 'BE', '', ''); + InsertData('BE-2800', 'Mechelen', 'MECHELEN', 'BE', '', ''); + InsertData('BE-3000', 'Leuven', 'LEUVEN', 'BE', '', ''); + InsertData('BE-8500', 'Kortrijk', 'KORTRIJK', 'BE', '', ''); + InsertData('BG-1000', 'Sofia', 'SOFIA', 'BG', '', ''); + InsertData('BG-2500', 'Kustendil', 'KUSTENDIL', 'BG', '', ''); + InsertData('BG-2700', 'Blagoevgrad', 'BLAGOEVGRAD', 'BG', '', ''); + InsertData('BG-4000', 'Plovdiv', 'PLOVDIV', 'BG', '', ''); + InsertData('BG-8700', 'Elhovo', 'ELHOVO', 'BG', '', ''); + InsertData('BG-9000', 'Varna', 'VARNA', 'BG', '', ''); + InsertData('BR 05428-002', 'Sao Paulo SP', 'SAO PAULO SP', 'BR', '', ''); + InsertData('BR 22291-040', 'Rio de Janeiro RJ', 'RIO DE JANEIRO RJ', 'BR', '', ''); + InsertData('BR 51021-040', 'Recife PE', 'RECIFE PE', 'BR', '', ''); + InsertData('BR 70710-926', 'Brasilia DF', 'BRASILIA DF', 'BR', '', ''); + InsertData('BR 80020-290', 'Curitiba PR', 'CURITIBA PR', 'BR', '', ''); + InsertData('BR 90040-130', 'Porto Alegre RS', 'PORTO ALEGRE RS', 'BR', '', ''); + InsertData('BR1 2ES', 'Bromley', 'BROMLEY', 'GB', '', ''); + InsertData('BS3 6KL', 'Bristol', 'BRISTOL', 'GB', '', ''); + InsertData('CA-MB R0M 0N0', 'Elkhorn', 'ELKHORN', 'CA', '', ''); + InsertData('CA-ON L6J 3J3', 'Oakville', 'OAKVILLE', 'CA', '', ''); + InsertData('CA-ON M5E 1G5', 'Toronto', 'TORONTO', 'CA', '', ''); + InsertData('CA-ON N6B 1V7', 'London', 'LONDON', 'CA', '', ''); + InsertData('CA-ON P7A 4K8', 'Thunder Bay', 'THUNDER BAY', 'CA', '', ''); + InsertData('CA-ON P7B 5E2', 'Thunder Bay', 'THUNDER BAY', 'CA', '', ''); + InsertData('CB1 2FB', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + InsertData('CB3 7GG', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + InsertData('CF22 1XU', 'Cardiff', 'CARDIFF', 'GB', '', ''); + InsertData('CH-4133', 'Pratteln', 'PRATTELN', 'CH', '', ''); + InsertData('CH-6005', 'Luzern', 'LUZERN', 'CH', '', ''); + InsertData('CH-6343', 'Rotkreuz', 'ROTKREUZ', 'CH', '', ''); + InsertData('CH-6405', 'Immensee', 'IMMENSEE', 'CH', '', ''); + InsertData('CH-8152', 'Glattbrugg', 'GLATTBRUGG', 'CH', '', ''); + InsertData('CH-8200', 'Schaffhausen', 'SCHAFFHAUSEN', 'CH', '', ''); + InsertData('CT6 21ND', 'Hythe', 'HYTHE', 'GB', '', ''); + InsertData('CV6 1GY', 'Coventry', 'COVENTRY', 'GB', '', ''); + InsertData('CV9 3QN', 'Atherstone', 'ATHERSTONE', 'GB', '', ''); + InsertData('CZ-669 02', 'Znojmo', 'ZNOJMO', 'CZ', '', ''); + InsertData('CZ-678 01', 'Blansko', 'BLANSKO', 'CZ', '', ''); + InsertData('CZ-687 71', 'Bojkovice', 'BOJKOVICE', 'CZ', '', ''); + InsertData('CZ-696 42', 'Vracov', 'VRACOV', 'CZ', '', ''); + InsertData('CZ-697 01', 'Kyjov', 'KYJOV', 'CZ', '', ''); + InsertData('CZ-779 00', 'Olomouch', 'OLOMOUCH', 'CZ', '', ''); + InsertData('DA5 3EF', 'Sidcup', 'SIDCUP', 'GB', '', ''); + InsertData('DE-20097', 'Hamburg', 'HAMBURG', 'DE', '', ''); + InsertData('DE-22417', 'Hamburg 36', 'HAMBURG 36', 'DE', '', ''); + InsertData('DE-40593', 'Dusseldorf', 'DUSSELDORF', 'DE', '', ''); + InsertData('DE-60320', 'Frankfurt/Main', 'FRANKFURT/MAIN', 'DE', '', ''); + InsertData('DE-72800', 'Eningen', 'ENINGEN', 'DE', '', ''); + InsertData('DE-80807', 'Munchen', 'MUNCHEN', 'DE', '', ''); + InsertData('DE-80997', 'Munchen', 'MUNCHEN', 'DE', '', ''); + InsertData('DE-86899', 'Landsberg am Lech', 'LANDSBERG AM LECH', 'DE', '', ''); + InsertData('DK-2100', 'Copenhagen', 'COPENHAGEN', 'DK', '', ''); + InsertData('DK-2950', 'Vedbaek', 'VEDBAEK', 'DK', '', ''); + InsertData('DK-4600', 'Koge', 'KOGE', 'DK', '', ''); + InsertData('DK-5000', 'Odense C', 'ODENSE C', 'DK', '', ''); + InsertData('DK-5800', 'Nyborg', 'NYBORG', 'DK', '', ''); + InsertData('DK-8000', 'Arhus C', 'ARHUS C', 'DK', '', ''); + InsertData('DK-8200', 'Arhus N', 'ARHUS N', 'DK', '', ''); + InsertData('DK-9000', 'Alborg', 'ALBORG', 'DK', '', ''); + InsertData('DY5 4DJ', 'Dudley', 'DUDLEY', 'GB', '', ''); + InsertData('DZ-05400', 'BARIKA', 'BARIKA', 'DZ', '', ''); + InsertData('DZ-16000', 'ALGIERS', 'ALGIERS', 'DZ', '', ''); + InsertData('DZ-16012', 'ALGIERS', 'ALGIERS', 'DZ', '', ''); + InsertData('DZ-16027', 'ALGIERS', 'ALGIERS', 'DZ', '', ''); + InsertData('DZ-21000', 'MOSTAGANCU', 'MOSTAGANCU', 'DZ', '', ''); + InsertData('DZ-40000', 'KHENCHE', 'KHENCHE', 'DZ', '', ''); + InsertData('E12 5TG', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + InsertData('EC2A 3JL', 'London', 'LONDON', 'GB', '', ''); + InsertData('EE-10127', 'Tallinn', 'TALLINN', 'EE', '', ''); + InsertData('EE-20607', 'Narva', 'NARVA', 'EE', '', ''); + InsertData('EE-44313', 'Rakvere', 'RAKVERE', 'EE', '', ''); + InsertData('EE-45109', 'Tapa', 'TAPA', 'EE', '', ''); + InsertData('EE-49603', 'Mustvee', 'MUSTVEE', 'EE', '', ''); + InsertData('EE-76806', 'Paldiski', 'PALDISKI', 'EE', '', ''); + InsertData('EH1 3EG', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + InsertData('EH16 8JS', 'Edinburgh', 'EDINBURGH', 'GB', '', ''); + InsertData('EL-106 75', 'Athens', 'ATHENS', 'EL', '', ''); + InsertData('EL-106 82', 'Athens', 'ATHENS', 'EL', '', ''); + InsertData('EL-185 40', 'Piraeus', 'PIRAEUS', 'EL', '', ''); + InsertData('EL-546 35', 'Thessaloniki', 'THESSALONIKI', 'EL', '', ''); + InsertData('EL-731 33', 'Chania', 'CHANIA', 'EL', '', ''); + InsertData('EL-851 03', 'Kolymbia', 'KOLYMBIA', 'EL', '', ''); + InsertData('ES-03003', 'Alicante', 'ALICANTE', 'ES', '', ''); + InsertData('ES-07001', 'Palma Mallorca', 'PALMA MALLORCA', 'ES', '', ''); + InsertData('ES-08010', 'Barcelona', 'BARCELONA', 'ES', '', ''); + InsertData('ES-10003', 'Caceres', 'CACERES', 'ES', '', ''); + InsertData('ES-28003', 'Madrid', 'MADRID', 'ES', '', ''); + InsertData('ES-36004', 'Pontevedra', 'PONTEVEDRA', 'ES', '', ''); + InsertData('ES-37001', 'Salamanca', 'SALAMANCA', 'ES', '', ''); + InsertData('ES-41006', 'Sevilla', 'SEVILLA', 'ES', '', ''); + InsertData('ES-46007', 'Valencia', 'VALENCIA', 'ES', '', ''); + InsertData('ES-47002', 'Valladolid', 'VALLADOLID', 'ES', '', ''); + InsertData('ES-50001', 'Zaragoza', 'ZARAGOZA', 'ES', '', ''); + InsertData('FI-00100', 'Helsinki', 'HELSINKI', 'FI', '', ''); + InsertData('FI-00101', 'Helsinki', 'HELSINKI', 'FI', '', ''); + InsertData('FI-00260', 'Helsinki', 'HELSINKI', 'FI', '', ''); + InsertData('FI-01800', 'Klaukkala', 'KLAUKKALA', 'FI', '', ''); + InsertData('FI-05400', 'Jokela', 'JOKELA', 'FI', '', ''); + InsertData('FI-88900', 'Kuhmo', 'KUHMO', 'FI', '', ''); + InsertData('FR-44450', 'LA CHAPELLE BASSE MER', 'LA CHAPELLE BASSE MER', 'FR', '', ''); + InsertData('FR-50670', 'CASSEL', 'CASSEL', 'FR', '', ''); + InsertData('FR-75000', 'PARIS', 'PARIS', 'FR', '', ''); + InsertData('FR-77450', 'ESBLY', 'ESBLY', 'FR', '', ''); + InsertData('FR-78370', 'PLAISIR', 'PLAISIR', 'FR', '', ''); + InsertData('FR-83250', 'LA LONDE LES MAURES', 'LA LONDE LES MAURES', 'FR', '', ''); + InsertData('GL1 9HM', 'Gloucester', 'GLOUCESTER', 'GB', '', ''); + InsertData('GL50 1TY', 'Cheltenham', 'CHELTENHAM', 'GB', '', ''); + InsertData('GL78 5TT', 'Cheltenham', 'CHELTENHAM', 'GB', '', ''); + InsertData('GU2 7XH', 'Guildford', 'GUILDFORD', 'GB', '', ''); + InsertData('GU2 7YQ', 'Guildford', 'GUILDFORD', 'GB', '', ''); + InsertData('GU3 2SE', 'Guildford', 'GUILDFORD', 'GB', '', ''); + InsertData('GU52 8DY', 'Fleet', 'FLEET', 'GB', '', ''); + InsertData('GU7 5GT', 'Guildford', 'GUILDFORD', 'GB', '', ''); + InsertData('HG1 7YW', 'Ripon', 'RIPON', 'GB', '', ''); + InsertData('HP43 2AY', 'Tring', 'TRING', 'GB', '', ''); + InsertData('HR-10000', 'Zagreb', 'ZAGREB', 'HR', '', ''); + InsertData('HR-20000', 'Dubrovnik', 'DUBROVNIK', 'HR', '', ''); + InsertData('HR-21000', 'Split', 'SPLIT', 'HR', '', ''); + InsertData('HR-22000', 'Sibenik', 'SIBENIK', 'HR', '', ''); + InsertData('HR-43000', 'Bjelovar', 'BJELOVAR', 'HR', '', ''); + InsertData('HR-52210', 'Rovinj', 'ROVINJ', 'HR', '', ''); + InsertData('HU-1107', 'Budapest', 'BUDAPEST', 'HU', '', ''); + InsertData('HU-1161', 'Budapest', 'BUDAPEST', 'HU', '', ''); + InsertData('HU-1204', 'Budapest', 'BUDAPEST', 'HU', '', ''); + InsertData('HU-2500', 'Esztergom', 'ESZTERGOM', 'HU', '', ''); + InsertData('HU-3258', 'Tarnalelesz', 'TARNALELESZ', 'HU', '', ''); + InsertData('HU-3325', 'Noszvaj', 'NOSZVAJ', 'HU', '', ''); + InsertData('IB7 7VN', 'Gainsborough', 'GAINSBOROUGH', 'GB', '', ''); + InsertData('ID-10310', 'Jakarta', 'JAKARTA', 'ID', '', ''); + InsertData('ID-10440', 'Jakarta', 'JAKARTA', 'ID', '', ''); + InsertData('ID-11470', 'Jakarta', 'JAKARTA', 'ID', '', ''); + InsertData('ID-15156', 'Tangerang', 'TANGERANG', 'ID', '', ''); + InsertData('ID-40135', 'Bandung', 'BANDUNG', 'ID', '', ''); + InsertData('ID-60172', 'Surabaya', 'SURABAYA', 'ID', '', ''); + InsertData('IN-110002', 'Delhi', 'DELHI', 'IN', '', ''); + InsertData('IN-400001', 'Mumbai', 'MUMBAI', 'IN', '', ''); + InsertData('IN-440001', 'Nagpur', 'NAGPUR', 'IN', '', ''); + InsertData('IN-560001', 'Bengaluru', 'BENGALURU', 'IN', '', ''); + InsertData('IN-600001', 'Chennai', 'CHENNAI', 'IN', '', ''); + InsertData('IN-700001', 'Kolkata', 'KOLKATA', 'IN', '', ''); + InsertData('IS-101', 'Reykjavik', 'REYKJAVIK', 'IS', '', ''); + InsertData('IS-108', 'Reykjavik', 'REYKJAVIK', 'IS', '', ''); + InsertData('IS-112', 'Reykjavik', 'REYKJAVIK', 'IS', '', ''); + InsertData('IS-200', 'Kopavogur', 'KOPAVOGUR', 'IS', '', ''); + InsertData('IS-220', 'Hafnafjordur', 'HAFNAFJORDUR', 'IS', '', ''); + InsertData('IS-300', 'Akranes', 'AKRANES', 'IS', '', ''); + InsertData('IT-00100', 'ROMA RM', 'ROMA RM', 'IT', '', ''); + InsertData('IT-10100', 'TORINO TO', 'TORINO TO', 'IT', '', ''); + InsertData('IT-20100', 'MILANO MI', 'MILANO MI', 'IT', '', ''); + InsertData('IT-39100', 'BOLZANO BZ', 'BOLZANO BZ', 'IT', '', ''); + InsertData('IT-61100', 'SANTA VENERANDA PS', 'SANTA VENERANDA PS', 'IT', '', ''); + InsertData('IT-67067', 'PESCINA AQ', 'PESCINA AQ', 'IT', '', ''); + InsertData('KE-0 0100', 'Nairobi', 'NAIROBI', 'KE', '', ''); + InsertData('KE-0 1007', 'Kairi', 'KAIRI', 'KE', '', ''); + InsertData('KE-5 0413', 'Adungosi', 'ADUNGOSI', 'KE', '', ''); + InsertData('KE-6 0500', 'Marsabit', 'MARSABIT', 'KE', '', ''); + InsertData('KE-8 0100', 'Mombasa', 'MOMBASA', 'KE', '', ''); + InsertData('KE-8 0200', 'Malindi', 'MALINDI', 'KE', '', ''); + InsertData('L18 6SA', 'Liverpool', 'LIVERPOOL', 'GB', '', ''); + InsertData('LE16 7YH', 'Leicester', 'LEICESTER', 'GB', '', ''); + InsertData('LL6 5GB', 'Rhyl', 'RHYL', 'GB', '', ''); + InsertData('LN23 6GS', 'Lincoln', 'LINCOLN', 'GB', '', ''); + InsertData('LT-2600', 'Vilnius', 'VILNIUS', 'LT', '', ''); + InsertData('LT-2700', 'Vilnius', 'VILNIUS', 'LT', '', ''); + InsertData('LT-3000', 'Kaunas', 'KAUNAS', 'LT', '', ''); + InsertData('LT-3042', 'Kaunas', 'KAUNAS', 'LT', '', ''); + InsertData('LT-4600', 'Rudiskes', 'RUDISKES', 'LT', '', ''); + InsertData('LT-5800', 'Klaipeda', 'KLAIPEDA', 'LT', '', ''); + InsertData('LU3 4FY', 'Luton', 'LUTON', 'GB', '', ''); + InsertData('LV-1011', 'Riga', 'RIGA', 'LV', '', ''); + InsertData('LV-1039', 'Riga', 'RIGA', 'LV', '', ''); + InsertData('LV-3270', 'Dundaga', 'DUNDAGA', 'LV', '', ''); + InsertData('LV-3900', 'Bauska', 'BAUSKA', 'LV', '', ''); + InsertData('LV-5002', 'Ogre', 'OGRE', 'LV', '', ''); + InsertData('LV-5113', 'Koknese', 'KOKNESE', 'LV', '', ''); + InsertData('M22 5TG', 'Manchester', 'MANCHESTER', 'GB', '', ''); + InsertData('M61 2YG', 'Manchester', 'MANCHESTER', 'GB', '', ''); + InsertData('MA-10100', 'AGDAL-RABAT', 'AGDAL-RABAT', 'MA', '', ''); + InsertData('MA-10101', 'RIAD-RABAT', 'RIAD-RABAT', 'MA', '', ''); + InsertData('MA-12000', 'TEMARA', 'TEMARA', 'MA', '', ''); + InsertData('MA-20000', 'CASABLANCA', 'CASABLANCA', 'MA', '', ''); + InsertData('MA-20200', 'CASABLANCA', 'CASABLANCA', 'MA', '', ''); + InsertData('MA-20800', 'MOHAMMEDIA', 'MOHAMMEDIA', 'MA', '', ''); + InsertData('MA-90000', 'KASBAH TANGER', 'KASBAH TANGER', 'MA', '', ''); + InsertData('ME5 6RL', 'Maidstone', 'MAIDSTONE', 'GB', '', ''); + InsertData('MK21 7GG', 'Bletchley', 'BLETCHLEY', 'GB', '', ''); + InsertData('MK41 5AE', 'Bedford', 'BEDFORD', 'GB', '', ''); + InsertData('MO2 4RT', 'Manchester', 'MANCHESTER', 'GB', '', ''); + InsertData('MX-01030', 'Mexico City, DF', 'MEXICO CITY, DF', 'MX', '', ''); + InsertData('MX-06000', 'Mexico City, DF', 'MEXICO CITY, DF', 'MX', '', ''); + InsertData('MX-37500', 'Leon, Guanajuato', 'LEON, GUANAJUATO', 'MX', '', ''); + InsertData('MX-64640', 'Monterrey, Nuevo Leon', 'MONTERREY, NUEVO LEON', 'MX', '', ''); + InsertData('MX-78030', 'San Luis Potosi, San Luis', 'SAN LUIS POTOSI, SAN LUIS', 'MX', '', ''); + InsertData('MX-82100', 'Mazatlan, Sinaloa', 'MAZATLAN, SINALOA', 'MX', '', ''); + InsertData('MY-42000', 'PELABUHAN KLANG, Selangor', 'PELABUHAN KLANG, SELANGOR', 'MY', '', ''); + InsertData('MY-47400', 'PETALING JAYA, Selangor', 'PETALING JAYA, SELANGOR', 'MY', '', ''); + InsertData('MY-50450', 'AMPANG, Kuala Lumpur', 'AMPANG, KUALA LUMPUR', 'MY', '', ''); + InsertData('MY-57000', 'KUALA LUMPUR', 'KUALA LUMPUR', 'MY', '', ''); + InsertData('MY-88100', 'KOTA KINABALU, Sabah', 'KOTA KINABALU, SABAH', 'MY', '', ''); + InsertData('MY-93450', 'KUCHING, Sarawak', 'KUCHING, SARAWAK', 'MY', '', ''); + InsertData('MZ-00300', 'Maputo', 'MAPUTO', 'MZ', '', ''); + InsertData('N12 5XY', 'London', 'LONDON', 'GB', '', ''); + InsertData('N16 34Z', 'London', 'LONDON', 'GB', '', ''); + InsertData('NE21 3YG', 'Newcastle', 'NEWCASTLE', 'GB', '', ''); + InsertData('NG-300001', 'BENIN, Edo state', 'BENIN, EDO STATE', 'NG', '', ''); + InsertData('NG-900001', 'ABUJA', 'ABUJA', 'NG', '', ''); + InsertData('NG-930283', 'JOS, Plateau state', 'JOS, PLATEAU STATE', 'NG', '', ''); + InsertData('NG-931104', 'GHOH, Plateau state', 'GHOH, PLATEAU STATE', 'NG', '', ''); + InsertData('NL-1009 AG', 'Amsterdam', 'AMSTERDAM', 'NL', '', ''); + InsertData('NL-1530 JM', 'Zaandam', 'ZAANDAM', 'NL', '', ''); + InsertData('NL-5132 EE', 'Waalwijk', 'WAALWIJK', 'NL', '', ''); + InsertData('NL-6827 BP', 'Arnhem', 'ARNHEM', 'NL', '', ''); + InsertData('NL-7202 BP', 'Zutphen', 'ZUTPHEN', 'NL', '', ''); + InsertData('NL-7321 HE', 'Apeldoorn', 'APELDOORN', 'NL', '', ''); + InsertData('NO-0552', 'Oslo', 'OSLO', 'NO', '', ''); + InsertData('NO-0661', 'Oslo', 'OSLO', 'NO', '', ''); + InsertData('NO-1300', 'Sandvika', 'SANDVIKA', 'NO', '', ''); + InsertData('NO-1324', 'Lysaker', 'LYSAKER', 'NO', '', ''); + InsertData('NO-1344', 'Haslum', 'HASLUM', 'NO', '', ''); + InsertData('NO-1370', 'Asker', 'ASKER', 'NO', '', ''); + InsertData('NO-1400', 'Ski', 'SKI', 'NO', '', ''); + InsertData('NP10 8BE', 'Newport', 'NEWPORT', 'GB', '', ''); + InsertData('NP5 6GH', 'Newport', 'NEWPORT', 'GB', '', ''); + InsertData('NZ-1001', 'Auckland', 'AUCKLAND', 'NZ', '', ''); + InsertData('NZ-5473', 'Woodville', 'WOODVILLE', 'NZ', '', ''); + InsertData('NZ-5491', 'Dannevirke', 'DANNEVIRKE', 'NZ', '', ''); + InsertData('NZ-6001', 'Wellington', 'WELLINGTON', 'NZ', '', ''); + InsertData('NZ-7900', 'Hokitika', 'HOKITIKA', 'NZ', '', ''); + InsertData('NZ-8001', 'Christchurch', 'CHRISTCHURCH', 'NZ', '', ''); + InsertData('OX16 0UA', 'Cheddington', 'CHEDDINGTON', 'GB', '', ''); + InsertData('PE17 4RN', 'Cambridge', 'CAMBRIDGE', 'GB', '', ''); + InsertData('PE21 3TG', 'Peterborough', 'PETERBOROUGH', 'GB', '', ''); + InsertData('PE23 5IK', 'Kings Lynn', 'KINGS LYNN', 'GB', '', ''); + InsertData('PH-1000', 'Manila', 'MANILA', 'PH', '', ''); + InsertData('PH-1003', 'Santa Cruz, Manila', 'SANTA CRUZ, MANILA', 'PH', '', ''); + InsertData('PH-1012', 'Tondo, Manila', 'TONDO, MANILA', 'PH', '', ''); + InsertData('PH-1117', 'Capri, Quezon City', 'CAPRI, QUEZON CITY', 'PH', '', ''); + InsertData('PH-1440', 'Valenzuela', 'VALENZUELA', 'PH', '', ''); + InsertData('PH-7000', 'Zamboanga City', 'ZAMBOANGA CITY', 'PH', '', ''); + InsertData('PL 02-515', 'Warszawa', 'WARSZAWA', 'PL', '', ''); + InsertData('PL 11-430', 'Korsze', 'KORSZE', 'PL', '', ''); + InsertData('PL 14-510', 'Orneta', 'ORNETA', 'PL', '', ''); + InsertData('PL 15-660', 'Bialystok', 'BIALYSTOK', 'PL', '', ''); + InsertData('PL 45-418', 'Opole', 'OPOLE', 'PL', '', ''); + InsertData('PL 59-300', 'Lubin', 'LUBIN', 'PL', '', ''); + InsertData('PL14 5GB', 'Plymouth', 'PLYMOUTH', 'GB', '', ''); + InsertData('PO21 6HG', 'Southsea, Portsmouth', 'SOUTHSEA, PORTSMOUTH', 'GB', '', ''); + InsertData('PO7 2HI', 'Portsmouth', 'PORTSMOUTH', 'GB', '', ''); + InsertData('PT 1050-042', 'LISBOA', 'LISBOA', 'PT', '', ''); + InsertData('PT 1100-150', 'LISBOA', 'LISBOA', 'PT', '', ''); + InsertData('PT 3000-337', 'COIMBRA', 'COIMBRA', 'PT', '', ''); + InsertData('PT 4000-322', 'PORTO', 'PORTO', 'PT', '', ''); + InsertData('PT 9000-064', 'FUNCHAL', 'FUNCHAL', 'PT', '', ''); + InsertData('PT 9500-101', 'PONTA DELGADA', 'PONTA DELGADA', 'PT', '', ''); + InsertData('RG6 1WG', 'Reading', 'READING', 'GB', '', ''); + InsertData('RO-050724', 'Bucuresti', 'BUCURESTI', 'RO', '', ''); + InsertData('RO-050729', 'Bucuresti', 'BUCURESTI', 'RO', '', ''); + InsertData('RO-051511', 'Bucuresti', 'BUCURESTI', 'RO', '', ''); + InsertData('RO-200331', 'Craiova', 'CRAIOVA', 'RO', '', ''); + InsertData('RO-500209', 'Brasov', 'BRASOV', 'RO', '', ''); + InsertData('RO-550264', 'Sibiu', 'SIBIU', 'RO', '', ''); + InsertData('RS-11000', 'Beograd', 'BEOGRAD', 'RS', '', ''); + InsertData('RS-11001', 'Beograd', 'BEOGRAD', 'RS', '', ''); + InsertData('RS-19210', 'Bor', 'BOR', 'RS', '', ''); + InsertData('RS-21000', 'Novi Sad', 'NOVI SAD', 'RS', '', ''); + InsertData('RS-24000', 'Subotica', 'SUBOTICA', 'RS', '', ''); + InsertData('RS-34000', 'Kragujevac', 'KRAGUJEVAC', 'RS', '', ''); + InsertData('RU-103054', 'Moskva', 'MOSKVA', 'RU', '', ''); + InsertData('RU-109456', 'Moskva', 'MOSKVA', 'RU', '', ''); + InsertData('RU-197342', 'Sankt Petersburg', 'SANKT PETERSBURG', 'RU', '', ''); + InsertData('RU-443008', 'Samara', 'SAMARA', 'RU', '', ''); + InsertData('RU-603061', 'Nizhny Novgorod', 'NIZHNY NOVGOROD', 'RU', '', ''); + InsertData('RU-690001', 'Vladivostok', 'VLADIVOSTOK', 'RU', '', ''); + InsertData('SA1 2HS', 'Swansea', 'SWANSEA', 'GB', '', ''); + InsertData('SA3 7HI', 'Stratford', 'STRATFORD', 'GB', '', ''); + InsertData('SE1 0AX', 'London', 'LONDON', 'GB', '', ''); + InsertData('SE-114 32', 'Stockholm', 'STOCKHOLM', 'SE', '', ''); + InsertData('SE-302 50', 'Halmstad', 'HALMSTAD', 'SE', '', ''); + InsertData('SE-415 06', 'Goteborg', 'GOTEBORG', 'SE', '', ''); + InsertData('SE-521 03', 'Kinnared', 'KINNARED', 'SE', '', ''); + InsertData('SE-550 05', 'Jonkobing', 'JONKOBING', 'SE', '', ''); + InsertData('SE-600 03', 'Norrkobing', 'NORRKOBING', 'SE', '', ''); + InsertData('SE-852 33', 'Sundsvall', 'SUNDSVALL', 'SE', '', ''); + InsertData('SG-038988', 'Singapore', 'SINGAPORE', 'SG', '', ''); + InsertData('SI-1000', 'Ljubljana', 'LJUBLJANA', 'SI', '', ''); + InsertData('SI-2000', 'Maribor', 'MARIBOR', 'SI', '', ''); + InsertData('SI-3231', 'Grobelno', 'GROBELNO', 'SI', '', ''); + InsertData('SI-4502', 'Kranj', 'KRANJ', 'SI', '', ''); + InsertData('SI-6000', 'Koper', 'KOPER', 'SI', '', ''); + InsertData('SI-8283', 'Blanca', 'BLANCA', 'SI', '', ''); + InsertData('SK-026 01', 'Dolny Kubin', 'DOLNY KUBIN', 'SK', '', ''); + InsertData('SK-049 21', 'Betliar', 'BETLIAR', 'SK', '', ''); + InsertData('SK21 5DL', 'Macclesfield', 'MACCLESFIELD', 'GB', '', ''); + InsertData('SK-813 38', 'Bratislava', 'BRATISLAVA', 'SK', '', ''); + InsertData('SK-821 04', 'Bratislava', 'BRATISLAVA', 'SK', '', ''); + InsertData('SK-905 01', 'Senica', 'SENICA', 'SK', '', ''); + InsertData('SK-985 01', 'Kalinovo', 'KALINOVO', 'SK', '', ''); + InsertData('SZ-H100', 'Mbabane', 'MBABANE', 'SZ', '', ''); + InsertData('SZ-H101', 'Swazi Plaza', 'SWAZI PLAZA', 'SZ', '', ''); + InsertData('SZ-H108', 'Piggs Peak', 'PIGGS PEAK', 'SZ', '', ''); + InsertData('SZ-H200', 'Manzini', 'MANZINI', 'SZ', '', ''); + InsertData('SZ-L300', 'Siteki', 'SITEKI', 'SZ', '', ''); + InsertData('SZ-S400', 'Nhlangano', 'NHLANGANO', 'SZ', '', ''); + InsertData('TA3 4FD', 'Newquay', 'NEWQUAY', 'GB', '', ''); + InsertData('TH-10260', 'Bang Na, Bangkok', 'BANG NA, BANGKOK', 'TH', '', ''); + InsertData('TH-10500', 'Bang Rak, Bangkok', 'BANG RAK, BANGKOK', 'TH', '', ''); + InsertData('TH-10510', 'Khlong Samwa, Bangkok', 'KHLONG SAMWA, BANGKOK', 'TH', '', ''); + InsertData('TH-17120', 'Wat Sing, Chai Nat', 'WAT SING, CHAI NAT', 'TH', '', ''); + InsertData('TH-31260', 'Non Dindaeng, Buri Ram', 'NON DINDAENG, BURI RAM', 'TH', '', ''); + InsertData('TH-50120', 'San Pa Tong, Chiang Mai', 'SAN PA TONG, CHIANG MAI', 'TH', '', ''); + InsertData('TN-1002', 'Tunis Belvedere', 'TUNIS BELVEDERE', 'TN', '', ''); + InsertData('TN-1030', 'Tunis', 'TUNIS', 'TN', '', ''); + InsertData('TN-1111', 'Zaghouan', 'ZAGHOUAN', 'TN', '', ''); + InsertData('TN27 6YD', 'Ashford', 'ASHFORD', 'GB', '', ''); + InsertData('TN-3100', 'Kairouan', 'KAIROUAN', 'TN', '', ''); + InsertData('TN-8129', 'Ain Draham', 'AIN DRAHAM', 'TN', '', ''); + InsertData('TN-8170', 'Bou Salem', 'BOU SALEM', 'TN', '', ''); + InsertData('TQ17 8HB', 'Brixham', 'BRIXHAM', 'GB', '', ''); + InsertData('TR-06531', 'Ankara', 'ANKARA', 'TR', '', ''); + InsertData('TR-42020', 'Konya', 'KONYA', 'TR', '', ''); + InsertData('TR-45030', 'Manisa', 'MANISA', 'TR', '', ''); + InsertData('TR-80080', 'Istanbul', 'ISTANBUL', 'TR', '', ''); + InsertData('TR-81420', 'Kartal-Istanbul', 'KARTAL-ISTANBUL', 'TR', '', ''); + InsertData('TR-81700', 'Tuzla-Istanbul', 'TUZLA-ISTANBUL', 'TR', '', ''); + InsertData('TZ-DSM', 'Dar Es Salaam', 'DAR ES SALAAM', 'TZ', '', ''); + InsertData('UG-EBB', 'Entebbe', 'ENTEBBE', 'UG', '', ''); + InsertData('UG-KLA', 'Kampala', 'KAMPALA', 'UG', '', ''); + InsertData('US-AL 35242', 'Birmingham', 'BIRMINGHAM', 'US', '', ''); + InsertData('US-FL 37125', 'Miami', 'MIAMI', 'US', 'FL', ''); + InsertData('US-GA 31772', 'Atlanta', 'ATLANTA', 'US', 'GA', ''); + InsertData('US-IL 61236', 'Chicago', 'CHICAGO', 'US', '', ''); + InsertData('US-NY 11010', 'New York', 'NEW YORK', 'US', '', ''); + InsertData('US-SC 27136', 'Colombia', 'COLOMBIA', 'US', '', ''); + InsertData('W1 3AL', 'London', 'LONDON', 'GB', '', ''); + InsertData('W2 6BD', 'London', 'LONDON', 'GB', '', ''); + InsertData('W2 8HG', 'London', 'LONDON', 'GB', '', ''); + InsertData('WC1 2GS', 'West End Lane', 'WEST END LANE', 'GB', '', ''); + InsertData('WC1 3DG', 'London', 'LONDON', 'GB', '', ''); + InsertData('WD1 6YG', 'Watford', 'WATFORD', 'GB', '', ''); + InsertData('WD2 4RG', 'Watford', 'WATFORD', 'GB', '', ''); + InsertData('WD6 8UY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + InsertData('WD6 9HY', 'Borehamwood', 'BOREHAMWOOD', 'GB', '', ''); + InsertData('ZA-0001', 'Pretoria', 'PRETORIA', 'ZA', '', ''); + InsertData('ZA-0700', 'Pietersburg', 'PIETERSBURG', 'ZA', '', ''); + InsertData('ZA-2000', 'Johannesburg', 'JOHANNESBURG', 'ZA', '', ''); + InsertData('ZA-2500', 'Carletonville', 'CARLETONVILLE', 'ZA', '', ''); + InsertData('ZA-2940', 'Newcastle', 'NEWCASTLE', 'ZA', '', ''); + InsertData('ZA-3600', 'Durban', 'DURBAN', 'ZA', '', ''); + InsertData('ZA-3900', 'Richards Bay', 'RICHARDS BAY', 'ZA', '', ''); + InsertData('ZA-6000', 'Port Elizabeth', 'PORT ELIZABETH', 'ZA', '', ''); + InsertData('ZA-8000', 'Cape Town', 'CAPE TOWN', 'ZA', '', ''); + InsertData('ZA-9300', 'Bloemfontein', 'BLOEMFONTEIN', 'ZA', '', ''); + end; + + procedure InsertData(Code: Text; City: Text; "Search City": Text; "Country/Region Code": Text; County: Text; "Time Zone": Text) + var + PostCode: Record "Post Code"; + begin + PostCode.Code := Code; + PostCode.City := City; + PostCode."Search City" := "Search City"; + PostCode."Country/Region Code" := "Country/Region Code"; + PostCode.County := County; + PostCode."Time Zone" := "Time Zone"; + if PostCode.Insert(false) then; + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateShippingData.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateShippingData.Codeunit.al new file mode 100644 index 0000000000..89a5428f08 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateShippingData.Codeunit.al @@ -0,0 +1,214 @@ +codeunit 5274 "Create Shipping Data" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + InsertShippingAgent(); + InsertShippingAgentService(); + InsertShipmentMethod(); + end; + + local procedure InsertShippingAgent() + var + ContosoShipping: codeunit "Contoso Shipping"; + begin + ContosoShipping.InsertShippingAgent(DHL(), DHLNameLbl, DHLInternetAddressLbl); + ContosoShipping.InsertShippingAgent(Fedex(), FedexNameLbl, FedexInternetAddressLbl); + ContosoShipping.InsertShippingAgent(OwnLog(), OwnLogNameLbl, ''); + ContosoShipping.InsertShippingAgent(UPS(), UPSNameLbl, UPSInternetAddressLbl); + end; + + local procedure InsertShippingAgentService() + var + ContosoShipping: codeunit "Contoso Shipping"; + begin + ContosoShipping.InsertShippingAgentService(DHL(), OvernightTok, OvernightdeliveryLbl, '<1D>'); + ContosoShipping.InsertShippingAgentService(DHL(), StandardTok, StandarddeliveryLbl, '<2D>'); + ContosoShipping.InsertShippingAgentService(Fedex(), NextDayTok, NextdaydeliveryLbl, '<1D>'); + ContosoShipping.InsertShippingAgentService(Fedex(), StandardTok, StandarddeliveryLbl, '<2D>'); + ContosoShipping.InsertShippingAgentService(OwnLog(), NextDayTok, NextdaydeliveryLbl, '<1D>'); + end; + + local procedure InsertShipmentMethod() + var + ContosoShipping: codeunit "Contoso Shipping"; + begin + ContosoShipping.InsertShipmentMethod(CFR(), CostandFreightLbl); + ContosoShipping.InsertShipmentMethod(CIF(), CostInsuranceandFreightLbl); + ContosoShipping.InsertShipmentMethod(CIP(), CarriageandInsurancePaidLbl); + ContosoShipping.InsertShipmentMethod(CPT(), CarriagePaidtoLbl); + ContosoShipping.InsertShipmentMethod(DAF(), DeliveredatFrontierLbl); + ContosoShipping.InsertShipmentMethod(DDP(), DeliveredDutyPaidLbl); + ContosoShipping.InsertShipmentMethod(DDU(), DeliveredDutyUnpaidLbl); + ContosoShipping.InsertShipmentMethod(DELIVERY(), DELIVERYLbl); + ContosoShipping.InsertShipmentMethod(DEQ(), DeliveredexQuayLbl); + ContosoShipping.InsertShipmentMethod(DES(), DeliveredexShipLbl); + ContosoShipping.InsertShipmentMethod(EXW(), ExWarehouseLbl); + ContosoShipping.InsertShipmentMethod(FAS(), FreeAlongsideShipLbl); + ContosoShipping.InsertShipmentMethod(FCA(), FreeCarrierLbl); + ContosoShipping.InsertShipmentMethod(FOB(), FreeonBoardLbl); + ContosoShipping.InsertShipmentMethod(PICKUP(), PickupatLocationLbl); + end; + + procedure DHL(): Code[10] + var + begin + exit(DHLTok); + end; + + procedure Fedex(): Code[10] + begin + exit(FedexTok); + end; + + procedure OwnLog(): Code[10] + begin + exit(OwnLogTok); + end; + + procedure UPS(): Code[10] + begin + exit(UPSTok); + end; + + procedure CFR(): Code[10] + begin + exit(CFRTok); + end; + + procedure CIF(): Code[10] + begin + exit(CIFTok); + end; + + procedure CIP(): Code[10] + begin + exit(CIPTok); + end; + + procedure CPT(): Code[10] + begin + exit(CPTTok); + end; + + procedure DAF(): Code[10] + begin + exit(DAFTok); + end; + + procedure DDP(): Code[10] + begin + exit(DDPTok); + end; + + procedure DDU(): Code[10] + begin + exit(DDUTok); + end; + + procedure DELIVERY(): Code[10] + begin + exit(DELIVERYTok); + end; + + procedure DEQ(): Code[10] + begin + exit(DEQTok); + end; + + procedure DES(): Code[10] + begin + exit(DESTok); + end; + + procedure EXW(): Code[10] + begin + exit(EXWTok); + end; + + procedure FAS(): Code[10] + begin + exit(FASTok); + end; + + procedure FCA(): Code[10] + begin + exit(FCATok); + end; + + procedure FOB(): Code[10] + begin + exit(FOBTok); + end; + + procedure PICKUP(): Code[10] + begin + exit(PICKUPTok); + end; + + procedure OverNight(): Code[10] + begin + exit(OvernightTok); + end; + + procedure NextDay(): Code[10] + begin + exit(NextDayTok); + end; + + procedure Standard(): Code[10] + begin + exit(StandardTok); + end; + + var + DHLTok: Label 'DHL', MaxLength = 10, Comment = 'Company Code', Locked = true; + DHLNameLbl: Label 'DHL Systems, Inc.', MaxLength = 50, Comment = 'Company Name', Locked = true; + DHLInternetAddressLbl: Label 'www.dhl.com/en/express/tracking.html?AWB=%1&brand=DHL', MaxLength = 250, Comment = 'URL', Locked = true; + FedexTok: Label 'FEDEX', MaxLength = 10, Comment = 'Company Code', Locked = true; + FedexNameLbl: Label 'Federal Express Corporation', MaxLength = 50, Comment = 'Company Name', Locked = true; + FedexInternetAddressLbl: Label 'www.fedex.com/apps/fedextrack/?action=track&trackingnumber=%1', MaxLength = 250, Comment = 'URL', Locked = true; + OwnLogTok: Label 'OWN LOG.', MaxLength = 10, Comment = 'Company Code'; + OwnLogNameLbl: Label 'Own Logistics', MaxLength = 50, Comment = 'Company Name'; + UPSTok: Label 'UPS', MaxLength = 10, Comment = 'Company Code', Locked = true; + UPSNameLbl: Label 'United Parcel Service of America, Inc.', MaxLength = 50, Comment = 'Company Name', Locked = true; + UPSInternetAddressLbl: Label 'wwwapps.ups.com/tracking/tracking.cgi?tracknum=%1', MaxLength = 250, Comment = 'URL', Locked = true; + OvernightTok: Label 'OVERNIGHT', MaxLength = 10, Comment = 'Service Code'; + StandardTok: Label 'STANDARD', MaxLength = 10, Comment = 'Service Code'; + NextDayTok: Label 'NEXT DAY', MaxLength = 10, Comment = 'Service Code'; + OvernightdeliveryLbl: Label 'Overnight delivery', MaxLength = 100, Comment = 'Service Description'; + StandarddeliveryLbl: Label 'Standard delivery', MaxLength = 100, Comment = 'Service Description'; + NextdaydeliveryLbl: Label 'Next day delivery', MaxLength = 100, Comment = 'Service Description'; + CFRTok: Label 'CFR', MaxLength = 10, Comment = 'Shipment Method Code'; + CIFTok: Label 'CIF', MaxLength = 10, Comment = 'Shipment Method Code'; + CIPTok: Label 'CIP', MaxLength = 10, Comment = 'Shipment Method Code'; + CPTTok: Label 'CPT', MaxLength = 10, Comment = 'Shipment Method Code'; + DAFTok: Label 'DAF', MaxLength = 10, Comment = 'Shipment Method Code'; + DDPTok: Label 'DDP', MaxLength = 10, Comment = 'Shipment Method Code'; + DDUTok: Label 'DDU', MaxLength = 10, Comment = 'Shipment Method Code'; + DELIVERYTok: Label 'DELIVERY', MaxLength = 10, Comment = 'Shipment Method Code'; + DEQTok: Label 'DEQ', MaxLength = 10, Comment = 'Shipment Method Code'; + DESTok: Label 'DES', MaxLength = 10, Comment = 'Shipment Method Code'; + EXWTok: Label 'EXW', MaxLength = 10, Comment = 'Shipment Method Code'; + FASTok: Label 'FAS', MaxLength = 10, Comment = 'Shipment Method Code'; + FCATok: Label 'FCA', MaxLength = 10, Comment = 'Shipment Method Code'; + FOBTok: Label 'FOB', MaxLength = 10, Comment = 'Shipment Method Code'; + PICKUPTok: Label 'PICKUP', MaxLength = 10, Comment = 'Shipment Method Code'; + CostandFreightLbl: Label 'Cost and Freight', MaxLength = 50, Comment = 'Shipment Method Description'; + CostInsuranceandFreightLbl: Label 'Cost Insurance and Freight', MaxLength = 50, Comment = 'Shipment Method Description'; + CarriageandInsurancePaidLbl: Label 'Carriage and Insurance Paid', MaxLength = 50, Comment = 'Shipment Method Description'; + CarriagePaidtoLbl: Label 'Carriage Paid to', MaxLength = 50, Comment = 'Shipment Method Description'; + DeliveredatFrontierLbl: Label 'Delivered at Frontier', MaxLength = 50, Comment = 'Shipment Method Description'; + DeliveredDutyPaidLbl: Label 'Delivered Duty Paid', MaxLength = 50, Comment = 'Shipment Method Description'; + DeliveredDutyUnpaidLbl: Label 'Delivered Duty Unpaid', MaxLength = 50, Comment = 'Shipment Method Description'; + DELIVERYLbl: Label 'DELIVERY', MaxLength = 50, Comment = 'Shipment Method Description'; + DeliveredexQuayLbl: Label 'Delivered ex Quay', MaxLength = 50, Comment = 'Shipment Method Description'; + DeliveredexShipLbl: Label 'Delivered ex Ship', MaxLength = 50, Comment = 'Shipment Method Description'; + ExWarehouseLbl: Label 'Ex Warehouse', MaxLength = 50, Comment = 'Shipment Method Description'; + FreeAlongsideShipLbl: Label 'Free Alongside Ship', MaxLength = 50, Comment = 'Shipment Method Description'; + FreeCarrierLbl: Label 'Free Carrier', MaxLength = 50, Comment = 'Shipment Method Description'; + FreeonBoardLbl: Label 'Free on Board', MaxLength = 50, Comment = 'Shipment Method Description'; + PickupatLocationLbl: Label 'Pickup at Location', MaxLength = 50, Comment = 'Shipment Method Description'; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateUnitofMeasure.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateUnitofMeasure.Codeunit.al new file mode 100644 index 0000000000..c191f94092 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/1.Setup data/CreateUnitofMeasure.Codeunit.al @@ -0,0 +1,166 @@ +codeunit 5248 "Create Unit of Measure" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateUnitOfMeasure(); + CreateUnitOfMeasureTranslation(); + end; + + local procedure CreateUnitOfMeasure() + var + ContosoUnitOfMeasure: codeunit "Contoso Unit of Measure"; + begin + ContosoUnitOfMeasure.InsertUnitOfMeasure(Hour(), HourLbl, 'HUR'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Day(), DayLbl, 'DAY'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Piece(), PieceLbl, 'EA'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Can(), CanLbl, 'CA'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Box(), BoxLbl, 'BX'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Pallet(), PalletLbl, 'PF'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Pack(), PackLbl, 'PK'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Miles(), MilesLbl, '1A'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(KM(), KilometerLbl, 'KMT'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(KG(), KiloLbl, 'KGM'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Set(), SetLbl, 'SET'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Bag(), BagLbl, 'BAG'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Gram(), GramLbl, 'GRM'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(L(), LiterLbl, 'LTR'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(Ton(), TonneLbl, 'TN'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(KWH(), KWHLbl, 'KWH'); + ContosoUnitOfMeasure.InsertUnitOfMeasure(CM(), CMLbl, 'CM'); + end; + + local procedure CreateUnitOfMeasureTranslation() + var + ContosoUnitOfMeasure: codeunit "Contoso Unit of Measure"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoUnitOfMeasure.InsertUnitOfMeasureTranslation(Can(), 'ds', CreateLanguage.DAN()); + ContosoUnitOfMeasure.InsertUnitOfMeasureTranslation(Piece(), 'stk', CreateLanguage.DAN()); + ContosoUnitOfMeasure.InsertUnitOfMeasureTranslation(Piece(), 'stück', CreateLanguage.DEU()); + ContosoUnitOfMeasure.InsertUnitOfMeasureTranslation(Piece(), 'stuk', CreateLanguage.NLD()); + end; + + procedure Bag(): Code[10] + begin + exit(BagTok); + end; + + procedure Piece(): Code[10] + begin + exit(PieceTok); + end; + + procedure Can(): Code[10] + begin + exit(CanTok); + end; + + procedure Set(): Code[10] + begin + exit(SetTok); + end; + + procedure Hour(): Code[10] + begin + exit(HourTok); + end; + + procedure Day(): Code[10] + begin + exit(DayTok); + end; + + procedure Box(): Code[10] + begin + exit(BoxTok); + end; + + procedure Pallet(): Code[10] + begin + exit(PalletTok); + end; + + procedure Pack(): Code[10] + begin + exit(PackTok); + end; + + procedure Miles(): Code[10] + begin + exit(MilesTok); + end; + + procedure KM(): Code[10] + begin + exit(KMLbl); + end; + + procedure KG(): Code[10] + begin + exit(KGLbl); + end; + + procedure Gram(): Code[10] + begin + exit(GRTok); + end; + + procedure L(): Code[10] + begin + exit(LTok); + end; + + procedure Ton(): Code[10] + begin + exit(TTok); + end; + + procedure KWH(): Code[10] + begin + exit(KWHTok); + end; + + procedure CM(): Code[10] + begin + exit(CMTok); + end; + + var + HourLbl: Label 'Hour', MaxLength = 50; + HourTok: Label 'HOUR', MaxLength = 10; + DayLbl: Label 'Day', MaxLength = 50; + DayTok: Label 'DAY', MaxLength = 10; + PieceLbl: Label 'Piece', MaxLength = 50; + PieceTok: Label 'PCS', MaxLength = 10; + CanLbl: Label 'Can', MaxLength = 50; + CanTok: Label 'CAN', MaxLength = 10; + BoxLbl: Label 'Box', MaxLength = 50; + BoxTok: Label 'BOX', MaxLength = 10; + PalletLbl: Label 'Pallet', MaxLength = 50; + PalletTok: Label 'PALLET', MaxLength = 10; + PackLbl: Label 'Pack', MaxLength = 50; + PackTok: Label 'PACK', MaxLength = 10; + MilesLbl: Label 'Miles', MaxLength = 50; + MilesTok: Label 'MILES', MaxLength = 10; + KilometerLbl: Label 'Kilometer', MaxLength = 50; + KMLbl: Label 'KM', MaxLength = 10; + KGLbl: Label 'KG', MaxLength = 10; + KiloLbl: Label 'Kilo', MaxLength = 10; + SetTok: Label 'SET', MaxLength = 10; + SetLbl: Label 'Set', MaxLength = 50; + BagTok: Label 'BAG', MaxLength = 10; + BagLbl: Label 'Bag', MaxLength = 50; + GRTok: Label 'GR', MaxLength = 10; + GramLbl: Label 'Gram', MaxLength = 50; + LTok: Label 'L', MaxLength = 10; + LiterLbl: Label 'Liter', MaxLength = 50; + TTok: Label 'T', MaxLength = 10; + TonneLbl: Label 'Tonne', MaxLength = 50; + KWHTok: Label 'KWH', MaxLength = 10; + KWHLbl: Label 'KW Hour', MaxLength = 50; + CMTok: Label 'CM', MaxLength = 10; + CMLbl: Label 'Centimeter', MaxLength = 50; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/FoundationModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/FoundationModule.Codeunit.al new file mode 100644 index 0000000000..e93e666278 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Foundation/FoundationModule.Codeunit.al @@ -0,0 +1,53 @@ +codeunit 5203 "Foundation Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + exit; + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + end; + + procedure CreateSetupData() + var + begin + Codeunit.Run(Codeunit::"Create Shipping Data"); + Codeunit.Run(Codeunit::"Create Language"); + Codeunit.Run(Codeunit::"Create Unit of Measure"); + Codeunit.Run(Codeunit::"Create Country/Region"); + Codeunit.Run(Codeunit::"Create Doc Sending Profile"); + Codeunit.Run(Codeunit::"Create Company Information"); + Codeunit.Run(Codeunit::"Create Payment Terms"); + Codeunit.Run(Codeunit::"Create Job Queue Category"); + Codeunit.Run(Codeunit::"Create Accounting Period"); + Codeunit.Run(Codeunit::"Create No. Series"); + Codeunit.Run(Codeunit::"Create Notification Setup"); + Codeunit.Run(Codeunit::"Create Cue Setup"); + Codeunit.Run(Codeunit::"Create Post Code"); + Codeunit.Run(Codeunit::"Create Named Forward Link"); + Codeunit.Run(Codeunit::"Create Data Exchange"); + Codeunit.Run(Codeunit::"Create Data Exchange Type"); + Codeunit.Run(Codeunit::"Create Custom Report Layout"); + Codeunit.Run(Codeunit::"Create O365 Template"); + // Codeunit.Run(Codeunit::"Create Excel Template"); + end; + + procedure CreateMasterData() + begin + exit; + end; + + procedure CreateTransactionalData() + begin + exit; + end; + + procedure CreateHistoricalData() + begin + exit; + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/HumanResources/2. MasterData/CreateEmployeeTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/HumanResources/2. MasterData/CreateEmployeeTemplate.Codeunit.al index 5200f774ed..d94858e849 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/HumanResources/2. MasterData/CreateEmployeeTemplate.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/HumanResources/2. MasterData/CreateEmployeeTemplate.Codeunit.al @@ -5,6 +5,8 @@ codeunit 5167 "Create Employee Template" HumanResourcesModuleSetup: Record "Human Resources Module Setup"; ContosoHumanResource: Codeunit "Contoso Human Resources"; begin + HumanResourcesModuleSetup.Get(); + ContosoHumanResource.InsertEmployeeTemplate(AdminCode(), AdministrationStaffLbl, Enum::"Employee Gender"::Male, HumanResourcesModuleSetup."Employee Posting Group"); ContosoHumanResource.InsertEmployeeTemplate(ITCode(), ITStaffLbl, Enum::"Employee Gender"::Female, HumanResourcesModuleSetup."Employee Posting Group"); end; @@ -24,4 +26,4 @@ codeunit 5167 "Create Employee Template" begin exit(ITTok); end; -} \ No newline at end of file +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateAssemblySetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateAssemblySetup.Codeunit.al new file mode 100644 index 0000000000..2a2bbed53f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateAssemblySetup.Codeunit.al @@ -0,0 +1,13 @@ +codeunit 5301 "Create Assembly Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoItem: Codeunit "Contoso Item"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + ContosoItem.InsertAssemblySetup(true, CreateNoSeries.AssemblyOrders(), CreateNoSeries.AssemblyQuote(), CreateNoSeries.AssemblyBlanketOrders(), CreateNoSeries.PostedAssemblyOrders(), true, true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventoryPostingGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventoryPostingGroup.Codeunit.al new file mode 100644 index 0000000000..5cc9a681d3 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventoryPostingGroup.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 5229 "Create Inventory Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + begin + ContosoPostingGroup.InsertInventoryPostingGroup(Resale(), ResaleItemsLbl); + end; + + procedure Resale(): Code[20] + begin + exit(ResaleTok); + end; + + var + ResaleItemsLbl: Label 'Resale items', MaxLength = 100; + ResaleTok: Label 'RESALE', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventoryPostingSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventoryPostingSetup.Codeunit.al new file mode 100644 index 0000000000..d17a59a147 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventoryPostingSetup.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 5387 "Create Inventory Posting Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingSetup: Codeunit "Contoso Posting Setup"; + CreateLocation: Codeunit "Create Location"; + CreateGLAccount: Codeunit "Create G/L Account"; + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + begin + ContosoPostingSetup.InsertInventoryPostingSetup('', CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.EastLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.MainLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OutLogLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.OwnLogLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + ContosoPostingSetup.InsertInventoryPostingSetup(CreateLocation.WestLocation(), CreateInvPostingGroup.Resale(), CreateGLAccount.ResaleItems(), CreateGLAccount.ResaleItemsInterim()); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventorySetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventorySetup.Codeunit.al new file mode 100644 index 0000000000..e672b95faf --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateInventorySetup.Codeunit.al @@ -0,0 +1,13 @@ +codeunit 5273 "Create Inventory Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoItem: Codeunit "Contoso Item"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + ContosoItem.InsertInventorySetup(true, CreateNoSeries.Item(), Enum::"Automatic Cost Adjustment Type"::Always, CreateNoSeries.TransferOrder(), CreateNoSeries.TransferShipment(), CreateNoSeries.TransferReceipt(), CreateNoSeries.CatalogItems(), CreateNoSeries.InventoryReceipt(), CreateNoSeries.PostedInventoryReceipt(), CreateNoSeries.InventoryShipment(), CreateNoSeries.PostedInventoryShipment(), CreateNoSeries.PostedDirectTransfer(), CreateNoSeries.PhysicalInventoryOrder(), CreateNoSeries.PostedPhysInventOrder()); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplate.Codeunit.al new file mode 100644 index 0000000000..905fc6ad6e --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateItemJournalTemplate.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 5423 "Create Item Journal Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + SourceCodeSetup: Record "Source Code Setup"; + ContosoItem: Codeunit "Contoso Item"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + SourceCodeSetup.Get(); + + ContosoItem.InsertItemJournalTemplate(ItemJournalTemplate(), ItemJournalLbl, Enum::"Item Journal Template Type"::Item, false, SourceCodeSetup."Item Journal", Report::"Inventory Posting - Test", Page::"Item Journal", Report::"Item Register - Quantity", CreateNoSeries.ItemJournal(), Report::"Warehouse Register - Quantity"); + end; + + procedure ItemJournalTemplate(): Code[10] + begin + exit(ItemTok); + end; + + var + ItemTok: Label 'ITEM', MaxLength = 10; + ItemJournalLbl: Label 'Item Journal', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateLocation.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateLocation.Codeunit.al new file mode 100644 index 0000000000..637846850c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateLocation.Codeunit.al @@ -0,0 +1,88 @@ +codeunit 5207 "Create Location" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateLocation(); + CreateTransferRoute(); + end; + + local procedure CreateLocation() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoInventory: Codeunit "Contoso Inventory"; + begin + ContosoCoffeeDemoDataSetup.Get(); + ContosoInventory.InsertLocation(EastLocation(), EastLocationDescLbl, EastLocationAddressLbl, '', EastLocationCityLbl, EastLocationPhoneLbl, EastLocationFaxLbl, EastLocationContactLbl, EastLocationPostCodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", false); + ContosoInventory.InsertLocation(OutLogLocation(), OutLogLocationDescLbl, '', '', '', '', '', '', '', '', true); + ContosoInventory.InsertLocation(OwnLogLocation(), OwnLogLocationDescLbl, '', '', '', '', '', '', '', '', true); + ContosoInventory.InsertLocation(WestLocation(), WestLocationDescLbl, WestLocationAddressLbl, '', WestLocationCityLbl, WestLocationPhoneLbl, WestLocationFaxLbl, WestLocationContactLbl, WestLocationPostCodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", false); + ContosoInventory.InsertLocation(MainLocation(), MainLocationDescLbl, MainLocationAddressLbl, MainLocationAddress2Lbl, MainLocationCityLbl, MainLocationPhoneLbl, MainLocationFaxLbl, MainLocationContactLbl, MainLocationPostCodeLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", false); + end; + + local procedure CreateTransferRoute() + var + ContosoInventory: Codeunit "Contoso Inventory"; + begin + ContosoInventory.InsertTransferRoute(MainLocation(), EastLocation(), OwnLogLocation(), '', ''); + ContosoInventory.InsertTransferRoute(WestLocation(), MainLocation(), OwnLogLocation(), '', ''); + end; + + procedure EastLocation(): Code[10] + begin + exit(EastLocationTok) + end; + + procedure MainLocation(): Code[10] + begin + exit(MainLocationTok) + end; + + procedure OutLogLocation(): Code[10] + begin + exit(OutLogLocationTok) + end; + + procedure OwnLogLocation(): Code[10] + begin + exit(OwnLogLocationTok) + end; + + procedure WestLocation(): Code[10] + begin + exit(WestLocationTok) + end; + + var + EastLocationTok: Label 'EAST', MaxLength = 10; + MainLocationTok: Label 'MAIN', MaxLength = 10; + OutLogLocationTok: Label 'OUT. LOG.', MaxLength = 10, Comment = 'Outsourced Logistics'; + OwnLogLocationTok: Label 'OWN LOG.', MaxLength = 10, Comment = 'Own Logistics'; + WestLocationTok: Label 'WEST', MaxLength = 10; + EastLocationDescLbl: Label 'East Warehouse', MaxLength = 100; + MainLocationDescLbl: Label 'Main Warehouse', MaxLength = 100; + OutLogLocationDescLbl: Label 'Outsourced Logistics', MaxLength = 100; + OwnLogLocationDescLbl: Label 'Own Logistics', MaxLength = 100; + WestLocationDescLbl: Label 'West Warehouse', MaxLength = 100; + EastLocationAddressLbl: Label 'Great Eastern Street, 80', MaxLength = 100, Locked = true; + MainLocationAddressLbl: Label 'UK Campus Bldg 5', MaxLength = 100, Locked = true; + WestLocationAddressLbl: Label 'Celtic Way', MaxLength = 100, Locked = true; + MainLocationAddress2Lbl: Label 'Thames Valley Park', MaxLength = 50, Locked = true; + EastLocationCityLbl: Label 'London', MaxLength = 30, Locked = true; + MainLocationCityLbl: Label 'Reading', MaxLength = 30, Locked = true; + WestLocationCityLbl: Label 'Newport', MaxLength = 30, Locked = true; + EastLocationPhoneLbl: Label '+44-(0)30 9874 1299', MaxLength = 30, Locked = true; + MainLocationPhoneLbl: Label '+44-(0)10 5214 4987', MaxLength = 30, Locked = true; + WestLocationPhoneLbl: Label '+44-(0)20 8207 4533', MaxLength = 30, Locked = true; + EastLocationFaxLbl: Label '+44-(0)30 9874 1200', MaxLength = 30, Locked = true; + MainLocationFaxLbl: Label '+44-(0)10 5214 0000', MaxLength = 30, Locked = true; + WestLocationFaxLbl: Label '+44-(0)20 8207 5000', MaxLength = 30, Locked = true; + EastLocationContactLbl: Label 'Jack Potter', MaxLength = 100; + MainLocationContactLbl: Label 'Eleanor Faulkner', MaxLength = 100; + WestLocationContactLbl: Label 'Oscar Greenwood', MaxLength = 100; + EastLocationPostCodeLbl: Label 'EC2A 3JL', MaxLength = 20; + MainLocationPostCodeLbl: Label 'RG6 1WG', MaxLength = 20; + WestLocationPostCodeLbl: Label 'NP10 8BE', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateOrderPromisingSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateOrderPromisingSetup.Codeunit.al new file mode 100644 index 0000000000..747e5b605f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateOrderPromisingSetup.Codeunit.al @@ -0,0 +1,27 @@ +codeunit 5411 "Create Order Promising Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoInventory: Codeunit "Contoso Inventory"; + CreateNoSeries: Codeunit "Create No. Series"; + begin + ContosoInventory.InsertOrderPromisingSetup('<1D>', CreateNoSeries.OrderPromising(), Planning(), Default()); + end; + + procedure Planning(): Code[10] + begin + exit(PlanningTok); + end; + + procedure Default(): Code[10] + begin + exit(DefaultTok); + end; + + var + PlanningTok: Label 'PLANNING', MaxLength = 10; + DefaultTok: Label 'DEFAULT', MaxLength = 10; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateRequisitionWkshName.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateRequisitionWkshName.Codeunit.al new file mode 100644 index 0000000000..d4a9bd53fd --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateRequisitionWkshName.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 5250 "Create Requisition Wksh. Name" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateRequisitionWorksheetTemplate(); + CreateRequisitionWorksheetName(); + end; + + local procedure CreateRequisitionWorksheetName() + var + ContosoInventory: Codeunit "Contoso Inventory"; + begin + ContosoInventory.InsertRequisitionWkshName(Planning(), Default(), DefaultJournalLbl); + ContosoInventory.InsertRequisitionWkshName(Req(), Default(), DefaultJournalLbl); + end; + + local procedure CreateRequisitionWorksheetTemplate() + var + ContosoInventory: Codeunit "Contoso Inventory"; + begin + ContosoInventory.InsertReqWkshTemplate(Planning(), PlanningLbl, Page::"Planning Worksheet", Enum::"Req. Worksheet Template Type"::Planning); + ContosoInventory.InsertReqWkshTemplate(Req(), ReqLbl, Page::"Req. Worksheet", Enum::"Req. Worksheet Template Type"::"Req."); + end; + + procedure Planning(): Code[10] + begin + exit(PlanningTok); + end; + + procedure Req(): Code[10] + begin + exit(ReqTok); + end; + + procedure Default(): Code[10] + begin + exit(DefaultNameLbl); + end; + + var + DefaultNameLbl: Label 'DEFAULT', MaxLength = 10; + DefaultJournalLbl: Label 'Default Journal Batch', MaxLength = 100; + PlanningTok: Label 'PLANNING', MaxLength = 10; + ReqTok: Label 'REQ', MaxLength = 10; + PlanningLbl: Label 'Planning Worksheet', MaxLength = 80; + ReqLbl: Label 'Req. Worksheet', MaxLength = 80; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateTerritory.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateTerritory.Codeunit.al new file mode 100644 index 0000000000..38b267061f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/1.Setup Data/CreateTerritory.Codeunit.al @@ -0,0 +1,133 @@ +codeunit 5305 "Create Territory" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCRM: Codeunit "Contoso CRM"; + begin + ContosoCRM.InsertTerritory(East(), EastLbl); + ContosoCRM.InsertTerritory(EastAnglia(), EastAngliaLbl); + ContosoCRM.InsertTerritory(Foreign(), ForeignLbl); + ContosoCRM.InsertTerritory(London(), LondonLbl); + ContosoCRM.InsertTerritory(Midlands(), MidlandsLbl); + ContosoCRM.InsertTerritory(North(), NorthLbl); + ContosoCRM.InsertTerritory(NorthEast(), NorthEastLbl); + ContosoCRM.InsertTerritory(NorthWest(), NorthWestLbl); + ContosoCRM.InsertTerritory(NorthWales(), NorthWalesLbl); + ContosoCRM.InsertTerritory(South(), SouthLbl); + ContosoCRM.InsertTerritory(Scotland(), ScotlandLbl); + ContosoCRM.InsertTerritory(SouthEast(), SouthEastLbl); + ContosoCRM.InsertTerritory(SouthWest(), SouthWestLbl); + ContosoCRM.InsertTerritory(SouthWales(), SouthWalesLbl); + ContosoCRM.InsertTerritory(West(), WestCountryLbl); + end; + + procedure East(): Code[10] + begin + exit(EastTok); + end; + + procedure EastAnglia(): Code[10] + begin + exit(EastAngliaTok); + end; + + procedure Foreign(): Code[10] + begin + exit(ForeignTok); + end; + + procedure London(): Code[10] + begin + exit(LondonTok); + end; + + procedure Midlands(): Code[10] + begin + exit(MidlandsTok); + end; + + procedure North(): Code[10] + begin + exit(NorthTok); + end; + + procedure NorthEast(): Code[10] + begin + exit(NorthEastTok); + end; + + procedure NorthWest(): Code[10] + begin + exit(NorthWestTok); + end; + + procedure NorthWales(): Code[10] + begin + exit(NorthWalesTok); + end; + + procedure South(): Code[10] + begin + exit(SouthTok); + end; + + procedure Scotland(): Code[10] + begin + exit(ScotlandTok); + end; + + procedure SouthEast(): Code[10] + begin + exit(SouthEastTok); + end; + + procedure SouthWest(): Code[10] + begin + exit(SouthWestTok); + end; + + procedure SouthWales(): Code[10] + begin + exit(SouthWalesTok); + end; + + procedure West(): Code[10] + begin + exit(WestTok); + end; + + var + EastTok: Label 'E', MaxLength = 10; + EastAngliaTok: Label 'EANG', MaxLength = 10; + ForeignTok: Label 'FOREIGN', MaxLength = 10; + LondonTok: Label 'LND', MaxLength = 10; + MidlandsTok: Label 'MID', MaxLength = 10; + NorthTok: Label 'N', MaxLength = 10; + NorthEastTok: Label 'NE', MaxLength = 10; + NorthWestTok: Label 'NW', MaxLength = 10; + NorthWalesTok: Label 'NWAL', MaxLength = 10; + SouthTok: Label 'S', MaxLength = 10; + ScotlandTok: Label 'SCOT', MaxLength = 10; + SouthEastTok: Label 'SE', MaxLength = 10; + SouthWestTok: Label 'SW', MaxLength = 10; + SouthWalesTok: Label 'SWAL', MaxLength = 10; + WestTok: Label 'W', MaxLength = 10; + EastLbl: Label 'East', MaxLength = 50; + EastAngliaLbl: Label 'East Anglia', MaxLength = 50; + ForeignLbl: Label 'Foreign', MaxLength = 50; + LondonLbl: Label 'London', MaxLength = 50; + MidlandsLbl: Label 'Midlands', MaxLength = 50; + NorthLbl: Label 'North', MaxLength = 50; + NorthEastLbl: Label 'North East', MaxLength = 50; + NorthWestLbl: Label 'North West', MaxLength = 50; + NorthWalesLbl: Label 'North Wales', MaxLength = 50; + SouthLbl: Label 'South', MaxLength = 50; + ScotlandLbl: Label 'Scotland', MaxLength = 50; + SouthEastLbl: Label 'South East', MaxLength = 50; + SouthWestLbl: Label 'South West', MaxLength = 50; + SouthWalesLbl: Label 'South Wales', MaxLength = 50; + WestCountryLbl: Label 'West Country', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateBOMComponent.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateBOMComponent.Codeunit.al new file mode 100644 index 0000000000..110705a5b4 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateBOMComponent.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 5526 "Create BOM Component" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoInventory: Codeunit "Contoso Inventory"; + CreateItem: Codeunit "Create Item"; + CreateUnitOfMeasure: Codeunit "Create Unit of Measure"; + CreateResource: Codeunit "Create Resource"; + begin + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle16(), 10000, Enum::"BOM Component Type"::Item, CreateItem.AntwerpConferenceTable(), AntwerpConferenceTableLbl, CreateUnitOfMeasure.Piece(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle16(), 20000, Enum::"BOM Component Type"::Item, CreateItem.MexicoSwivelChairBlack(), MexicoSwivelChairblackLbl, CreateUnitOfMeasure.Piece(), 6); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle16(), 30000, Enum::"BOM Component Type"::Resource, CreateResource.Katherine(), InstallationLbl, CreateUnitOfMeasure.Hour(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle18(), 10000, Enum::"BOM Component Type"::Item, CreateItem.AntwerpConferenceTable(), AntwerpConferenceTableLbl, CreateUnitOfMeasure.Piece(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle18(), 20000, Enum::"BOM Component Type"::Item, CreateItem.MexicoSwivelChairBlack(), MexicoSwivelChairblackLbl, CreateUnitOfMeasure.Piece(), 8); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle18(), 30000, Enum::"BOM Component Type"::Resource, CreateResource.Katherine(), InstallationLbl, CreateUnitOfMeasure.Hour(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.GuestSection1(), 10000, Enum::"BOM Component Type"::Item, CreateItem.RomeGuestChairGreen(), RomeGuestChairgreenLbl, CreateUnitOfMeasure.Piece(), 4); + ContosoInventory.InsertBOMComponent(CreateItem.GuestSection1(), 20000, Enum::"BOM Component Type"::Item, CreateItem.AthensMobilePedestal(), AthensMobilePedestalLbl, CreateUnitOfMeasure.Piece(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle28(), 10000, Enum::"BOM Component Type"::Item, CreateItem.AntwerpConferenceTable(), AntwerpConferenceTableLbl, CreateUnitOfMeasure.Piece(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle28(), 20000, Enum::"BOM Component Type"::Item, CreateItem.SydneySwivelChairGreen(), SydneySwivelChairgreenLbl, CreateUnitOfMeasure.Piece(), 8); + ContosoInventory.InsertBOMComponent(CreateItem.ConferenceBundle28(), 30000, Enum::"BOM Component Type"::Resource, CreateResource.Katherine(), InstallationLbl, CreateUnitOfMeasure.Hour(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferencePackage1(), 10000, Enum::"BOM Component Type"::Item, CreateItem.ConferenceBundle28(), ConferenceBundle28Lbl, CreateUnitOfMeasure.Piece(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferencePackage1(), 20000, Enum::"BOM Component Type"::Item, CreateItem.GuestSection1(), GuestSectionLbl, CreateUnitOfMeasure.Piece(), 1); + ContosoInventory.InsertBOMComponent(CreateItem.ConferencePackage1(), 30000, Enum::"BOM Component Type"::Resource, CreateResource.Katherine(), InstallationLbl, CreateUnitOfMeasure.Hour(), 1); + end; + + var + InstallationLbl: Label 'Installation', MaxLength = 100; + AthensMobilePedestalLbl: Label 'ATHENS Mobile Pedestal', Maxlength = 100; + AntwerpConferenceTableLbl: Label 'ANTWERP Conference Table', Maxlength = 100; + GuestSectionLbl: Label 'Guest Section 1', Maxlength = 100; + RomeGuestChairgreenLbl: Label 'ROME Guest Chair, green', Maxlength = 100; + ConferenceBundle28Lbl: Label 'Conference Bundle 2-8', Maxlength = 100; + MexicoSwivelChairblackLbl: Label 'MEXICO Swivel Chair, black', Maxlength = 100; + SydneySwivelChairgreenLbl: Label 'SYDNEY Swivel Chair, green', Maxlength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItem.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItem.Codeunit.al new file mode 100644 index 0000000000..063f2c50dc --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItem.Codeunit.al @@ -0,0 +1,276 @@ +codeunit 5537 "Create Item" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateItem(); + CreateItemUnitOfMeasure(); + CreateItemSubstitution(); + end; + + local procedure CreateItem() + var + ContosoItem: Codeunit "Contoso Item"; + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateUnitOfMeasure: Codeunit "Create Unit of Measure"; + CreateItemCategory: Codeunit "Create Item Category"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + ContosoUtilities: Codeunit "Contoso Utilities"; + TempBlob: Codeunit "Temp Blob"; + ImageFolderPathLbl: Label 'Images/Item', Locked = true; + begin + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + AthensDesk() + '.jpg'); + ContosoItem.InsertInventoryItem(AthensDesk(), AthensDeskLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 649.4, 506.6, '', 25, 39.79, 34.6, 1.2, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Desk()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + ParisGuestChairBlack() + '.jpg'); + ContosoItem.InsertInventoryItem(ParisGuestChairBlack(), ParisGuestChairBlackLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 125.1, 97.5, '', 50, 9.55, 8.3, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + AthensMobilePedestal() + '.jpg'); + ContosoItem.InsertInventoryItem(AthensMobilePedestal(), AthensMobilePedestalLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 281.4, 219.5, '', 25, 19.67, 17.1, 0.26, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Table()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + LondonSwivelChairBlue() + '.jpg'); + ContosoItem.InsertInventoryItem(LondonSwivelChairBlue(), LondonSwivelChairBlueLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 123.3, 96.1, '', 50, 15.99, 13.9, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + AntwerpConferenceTable() + '.jpg'); + ContosoItem.InsertInventoryItem(AntwerpConferenceTable(), AntwerpConferenceTableLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 420.4, 328, '', 15, 28.06, 24.4, 0.9, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Table()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + ConferenceBundle16() + '.jpg'); + ContosoItem.InsertInventoryItem(ConferenceBundle16(), ConferenceBundle16Lbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 122.5, 0, '', 50, 0, 0, 0, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), ''); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + AmsterdamLamp() + '.jpg'); + ContosoItem.InsertInventoryItem(AmsterdamLamp(), AmsterdamLampLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 35.6, 27.8, '', 45, 4.03, 3.5, 0.03, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Misc()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + ConferenceBundle18() + '.jpg'); + ContosoItem.InsertInventoryItem(ConferenceBundle18(), ConferenceBundle18Lbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 151.7, 0, '', 50, 0, 0, 0, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), ''); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + BerlingGuestChairYellow() + '.jpg'); + ContosoItem.InsertInventoryItem(BerlingGuestChairYellow(), BerlinGuestChairYellowLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 125.1, 97.5, '', 50, 9.55, 8.3, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + GuestSection1() + '.jpg'); + ContosoItem.InsertInventoryItem(GuestSection1(), GuestSection1Lbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 81.6, 0, '', 50, 0, 0, 0, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), ''); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + RomeGuestChairGreen() + '.jpg'); + ContosoItem.InsertInventoryItem(RomeGuestChairGreen(), RomeGuestChairGreenLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 125.1, 97.5, '', 50, 9.55, 8.3, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + TokyoGuestChairBlue() + '.jpg'); + ContosoItem.InsertInventoryItem(TokyoGuestChairBlue(), TokyoGuestChairBlueLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 125.1, 97.5, '', 50, 9.55, 8.3, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + ConferenceBundle28() + '.jpg'); + ContosoItem.InsertInventoryItem(ConferenceBundle28(), ConferenceBundle28Lbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 151.7, 0, '', 50, 0, 0, 0, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), ''); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + MexicoSwivelChairBlack() + '.jpg'); + ContosoItem.InsertInventoryItem(MexicoSwivelChairBlack(), MexicoSwivelChairBlackLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 123.3, 96.1, '', 50, 15.99, 13.9, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + ConferencePackage1() + '.jpg'); + ContosoItem.InsertInventoryItem(ConferencePackage1(), ConferencePackage1Lbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 221.8, 0, '', 50, 0, 0, 0, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), ''); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + MunichSwivelChairYellow() + '.jpg'); + ContosoItem.InsertInventoryItem(MunichSwivelChairYellow(), MunichSwivelChairYellowLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 123.3, 96.1, '', 50, 15.99, 13.9, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + MoscowSwivelChairRed() + '.jpg'); + ContosoItem.InsertInventoryItem(MoscowSwivelChairRed(), MoscowSwivelChairRedLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 123.3, 96.1, '', 50, 15.99, 13.9, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + SeoulGuestChairRed() + '.jpg'); + ContosoItem.InsertInventoryItem(SeoulGuestChairRed(), SeoulGuestChairRedLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 125.1, 97.5, '', 50, 9.55, 8.3, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + AtlantaWhiteboardBase() + '.jpg'); + ContosoItem.InsertInventoryItem(AtlantaWhiteboardBase(), AtlantAWhiteboardBaseLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 906.7, 707.2, '', 100, 80.27, 69.8, 0.31, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Misc()); + + TempBlob := ContosoUtilities.GetTempBlobFromFile(ImageFolderPathLbl + '/' + SydneySwivelChairGreen() + '.jpg'); + ContosoItem.InsertInventoryItem(SydneySwivelChairGreen(), SydneySwivelChairGreenLbl, CreateUnitOfMeasure.Piece(), CreateInvPostingGroup.Resale(), 123.3, 96.1, '', 50, 15.99, 13.9, 0.25, '', CreatePostingGroup.RetailPostingGroup(), TempBlob, '', CreateVATPostingGroups.Standard(), CreateUnitOfMeasure.Piece(), CreateUnitOfMeasure.Piece(), CreateItemCategory.Chair()); + end; + + local procedure CreateItemUnitOfMeasure() + var + ContosoInventory: Codeunit "Contoso Inventory"; + CreateUnitOfMeasure: Codeunit "Create Unit of Measure"; + begin + ContosoInventory.SetOverwriteData(true); + ContosoInventory.InsertItemUOM(AthensDesk(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(ParisGuestChairBlack(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(ParisGuestChairBlack(), CreateUnitOfMeasure.Set(), 4, 0); + ContosoInventory.InsertItemUOM(AthensMobilePedestal(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(LondonSwivelChairBlue(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(LondonSwivelChairBlue(), CreateUnitOfMeasure.Set(), 6, 0); + ContosoInventory.InsertItemUOM(AntwerpConferenceTable(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(ConferenceBundle16(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(AmsterdamLamp(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(ConferenceBundle18(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(BerlingGuestChairYellow(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(BerlingGuestChairYellow(), CreateUnitOfMeasure.Set(), 6, 0); + ContosoInventory.InsertItemUOM(GuestSection1(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(RomeGuestChairGreen(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(RomeGuestChairGreen(), CreateUnitOfMeasure.Set(), 4, 0); + ContosoInventory.InsertItemUOM(TokyoGuestChairBlue(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(TokyoGuestChairBlue(), CreateUnitOfMeasure.Set(), 6, 0); + ContosoInventory.InsertItemUOM(ConferenceBundle28(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(MexicoSwivelChairBlack(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(MexicoSwivelChairBlack(), CreateUnitOfMeasure.Set(), 4, 0); + ContosoInventory.InsertItemUOM(ConferencePackage1(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(MunichSwivelChairYellow(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(MunichSwivelChairYellow(), CreateUnitOfMeasure.Set(), 4, 0); + ContosoInventory.InsertItemUOM(MoscowSwivelChairRed(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(MoscowSwivelChairRed(), CreateUnitOfMeasure.Set(), 6, 0); + ContosoInventory.InsertItemUOM(SeoulGuestChairRed(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(SeoulGuestChairRed(), CreateUnitOfMeasure.Set(), 4, 0); + ContosoInventory.InsertItemUOM(AtlantaWhiteboardBase(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(SydneySwivelChairGreen(), CreateUnitOfMeasure.Piece(), 1, 1); + ContosoInventory.InsertItemUOM(SydneySwivelChairGreen(), CreateUnitOfMeasure.Set(), 6, 0); + ContosoInventory.SetOverwriteData(false); + end; + + local procedure CreateItemSubstitution() + var + ContosoItem: Codeunit "Contoso Item"; + SubstitutionType: Enum "Item Substitution Type"; + begin + ContosoItem.InsertItemSubstitution(SubstitutionType::Item, MexicoSwivelChairBlack(), '', SubstitutionType::Item, MoscowSwivelChairRed(), '', MoscowSwivelChairRedLbl, false); + ContosoItem.InsertItemSubstitution(SubstitutionType::Item, MoscowSwivelChairRed(), '', SubstitutionType::Item, SeoulGuestChairRed(), '', SeoulGuestChairRedLbl, true); + ContosoItem.InsertItemSubstitution(SubstitutionType::Item, SeoulGuestChairRed(), '', SubstitutionType::Item, MoscowSwivelChairRed(), '', MoscowSwivelChairRedLbl, true); + end; + + procedure AthensDesk(): Code[20] + begin + exit(AthensDeskTok); + end; + + procedure ParisGuestChairBlack(): Code[20] + begin + exit(ParisGuestChairBlackTok); + end; + + procedure AthensMobilePedestal(): Code[20] + begin + exit(AthensMobilePedestalTok); + end; + + procedure LondonSwivelChairBlue(): Code[20] + begin + exit(LondonSwivelChairBlueTok); + end; + + procedure AntwerpConferenceTable(): Code[20] + begin + exit(AntwerpConferenceTableTok); + end; + + procedure ConferenceBundle16(): Code[20] + begin + exit(ConferenceBundle16Tok); + end; + + procedure AmsterdamLamp(): Code[20] + begin + exit(AmsterdamLampTok); + end; + + procedure ConferenceBundle18(): Code[20] + begin + exit(ConferenceBundle18Tok); + end; + + procedure BerlingGuestChairYellow(): Code[20] + begin + exit(BerlinGuestChairYellowTok); + end; + + procedure GuestSection1(): Code[20] + begin + exit(GuestSection1Tok); + end; + + procedure RomeGuestChairGreen(): Code[20] + begin + exit(RomeGuestChairGreenTok); + end; + + procedure TokyoGuestChairBlue(): Code[20] + begin + exit(TokyoGuestChairBlueTok); + end; + + procedure ConferenceBundle28(): Code[20] + begin + exit(ConferenceBundle28Tok); + end; + + procedure MexicoSwivelChairBlack(): Code[20] + begin + exit(MexicoSwivelChairBlackTok); + end; + + procedure ConferencePackage1(): Code[20] + begin + exit(ConferencePackage1Tok); + end; + + procedure MunichSwivelChairYellow(): Code[20] + begin + exit(MunichSwivelChairYellowTok); + end; + + procedure MoscowSwivelChairRed(): Code[20] + begin + exit(MoscowSwivelChairRedTok); + end; + + procedure SeoulGuestChairRed(): Code[20] + begin + exit(SeoulGuestChairRedTok); + end; + + procedure AtlantaWhiteboardBase(): Code[20] + begin + exit(AtlantAWhiteboardBaseTok); + end; + + procedure SydneySwivelChairGreen(): Code[20] + begin + exit(SydneySwivelChairGreenTok); + end; + + var + AthensDeskLbl: Label 'ATHENS Desk', Maxlength = 100; + ParisGuestChairBlackLbl: Label 'PARIS Guest Chair, black', Maxlength = 100; + AthensMobilePedestalLbl: Label 'ATHENS Mobile Pedestal', Maxlength = 100; + LondonSwivelChairBlueLbl: Label 'LONDON Swivel Chair, blue', Maxlength = 100; + AntwerpConferenceTableLbl: Label 'ANTWERP Conference Table', Maxlength = 100; + ConferenceBundle16Lbl: Label 'Conference Bundle 1-6', Maxlength = 100; + AmsterdamLampLbl: Label 'AMSTERDAM Lamp', Maxlength = 100; + ConferenceBundle18Lbl: Label 'Conference Bundle 1-8', Maxlength = 100; + BerlinGuestChairYellowLbl: Label 'BERLIN Guest Chair, yellow', Maxlength = 100; + GuestSection1Lbl: Label 'Guest Section 1', Maxlength = 100; + RomeGuestChairGreenLbl: Label 'ROME Guest Chair, green', Maxlength = 100; + TokyoGuestChairBlueLbl: Label 'TOKYO Guest Chair, blue', Maxlength = 100; + ConferenceBundle28Lbl: Label 'Conference Bundle 2-8', Maxlength = 100; + MexicoSwivelChairBlackLbl: Label 'MEXICO Swivel Chair, black', Maxlength = 100; + ConferencePackage1Lbl: Label 'Conference Package 1', Maxlength = 100; + MunichSwivelChairYellowLbl: Label 'MUNICH Swivel Chair, yellow', Maxlength = 100; + MoscowSwivelChairRedLbl: Label 'MOSCOW Swivel Chair, red', Maxlength = 100; + SeoulGuestChairRedLbl: Label 'SEOUL Guest Chair, red', Maxlength = 100; + AtlantAWhiteboardBaseLbl: Label 'ATLANTA Whiteboard, base', Maxlength = 100; + SydneySwivelChairGreenLbl: Label 'SYDNEY Swivel Chair, green', Maxlength = 100; + AthensDeskTok: Label '1896-S', Locked = true; + ParisGuestChairBlackTok: Label '1900-S', Locked = true; + AthensMobilePedestalTok: Label '1906-S', Locked = true; + LondonSwivelChairBlueTok: Label '1908-S', Locked = true; + AntwerpConferenceTableTok: Label '1920-S', Locked = true; + ConferenceBundle16Tok: Label '1925-W', Locked = true; + AmsterdamLampTok: Label '1928-S', Locked = true; + ConferenceBundle18Tok: Label '1929-W', Locked = true; + BerlinGuestChairYellowTok: Label '1936-S', Locked = true; + GuestSection1Tok: Label '1953-W', Locked = true; + RomeGuestChairGreenTok: Label '1960-S', Locked = true; + TokyoGuestChairBlueTok: Label '1964-S', Locked = true; + ConferenceBundle28Tok: Label '1965-W', Locked = true; + MexicoSwivelChairBlackTok: Label '1968-S', Locked = true; + ConferencePackage1Tok: Label '1969-W', Locked = true; + MunichSwivelChairYellowTok: Label '1972-S', Locked = true; + MoscowSwivelChairRedTok: Label '1980-S', Locked = true; + SeoulGuestChairRedTok: Label '1988-S', Locked = true; + AtlantAWhiteboardBaseTok: Label '1996-S', Locked = true; + SydneySwivelChairGreenTok: Label '2000-S', Locked = true; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemAttribute.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemAttribute.Codeunit.al new file mode 100644 index 0000000000..1db897bf83 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemAttribute.Codeunit.al @@ -0,0 +1,243 @@ +codeunit 5393 "Create Item Attribute" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ItemAttribute: Record "Item Attribute"; + ItemAttributeValue: Record "Item Attribute Value"; + ContosoItem: Codeunit "Contoso Item"; + CreateItem: Codeunit "Create Item"; + CreateUnitOfMeasure: Codeunit "Create Unit of Measure"; + begin + ItemAttribute := ContosoItem.InsertItemAttribute(ColorLbl, false, 0, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, RedLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AmsterdamLamp(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MoscowSwivelChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SeoulGuestChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, OrangeLbl, 0); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, YellowLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.BerlingGuestChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MunichSwivelChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, GreenLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.RomeGuestChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SydneySwivelChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, BlueLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.LondonSwivelChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.TokyoGuestChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, VioletLbl, 0); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, PurpleLbl, 0); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, BlackLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.ParisGuestChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensMobilePedestal(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MexicoSwivelChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, WhiteLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AntwerpConferenceTable(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AtlantaWhiteboardBase(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(DepthLbl, false, 3, CreateUnitOfMeasure.CM()); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV100Lbl, 100); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.BerlingGuestChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV75Lbl, 75); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MexicoSwivelChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensMobilePedestal(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV70Lbl, 70); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.ParisGuestChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MunichSwivelChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SeoulGuestChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV80Lbl, 80); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SydneySwivelChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.LondonSwivelChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.TokyoGuestChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV300Lbl, 300); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AntwerpConferenceTable(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV30Lbl, 30); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AmsterdamLamp(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV40Lbl, 40); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.RomeGuestChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV85Lbl, 85); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MoscowSwivelChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(WidthLbl, false, 3, CreateUnitOfMeasure.CM()); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV200Lbl, 200); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AtlantaWhiteboardBase(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV75Lbl, 75); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.ParisGuestChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV80Lbl, 80); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.LondonSwivelChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV150Lbl, 150); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AntwerpConferenceTable(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV120Lbl, 120); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.BerlingGuestChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.RomeGuestChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV90Lbl, 90); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.TokyoGuestChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SydneySwivelChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SeoulGuestChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MoscowSwivelChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MunichSwivelChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV95Lbl, 95); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MexicoSwivelChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(HeightLbl, false, 3, CreateUnitOfMeasure.CM()); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV95Lbl, 95); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV100Lbl, 100); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.ParisGuestChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV90Lbl, 90); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensMobilePedestal(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV140Lbl, 140); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MoscowSwivelChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.LondonSwivelChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV130Lbl, 130); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AntwerpConferenceTable(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV60Lbl, 60); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AmsterdamLamp(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV115Lbl, 115); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.BerlingGuestChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV110Lbl, 110); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.RomeGuestChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MunichSwivelChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SydneySwivelChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV125Lbl, 125); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.TokyoGuestChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV135Lbl, 135); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MexicoSwivelChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV120Lbl, 120); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SeoulGuestChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV250Lbl, 250); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AtlantaWhiteboardBase(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(MaterialDescriptionLbl, false, 1, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, WoodLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensMobilePedestal(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, LeatherSatinPolishedAluminumbaseLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.ParisGuestChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, PlasticCottonLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.LondonSwivelChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, CottonWoodLegsLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AntwerpConferenceTable(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.BerlingGuestChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.TokyoGuestChairBlue(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, SteelLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AmsterdamLamp(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MexicoSwivelChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, CottonAluminiumLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.RomeGuestChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, PlasticSteelLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AtlantaWhiteboardBase(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MunichSwivelChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, CottonPlasticSteelLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.MoscowSwivelChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, CottonSteellegsLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SydneySwivelChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.SeoulGuestChairRed(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(ModelYearLbl, false, 2, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV1952Lbl, 1952); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.ParisGuestChairBlack(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV1942Lbl, 1942); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensMobilePedestal(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV1940Lbl, 1940); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.BerlingGuestChairYellow(), ItemAttribute.ID, ItemAttributeValue.ID); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, AV1980Lbl, 1980); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.RomeGuestChairGreen(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(MaterialSurfaceLbl, false, 1, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, SolidoakLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(MaterialLegsLbl, false, 1, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, PolishedstainlesssteelLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(AdjustableheightLbl, false, 1, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, NoLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(AssemblyrequiredLbl, false, 0, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, YesLbl, 0); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, NoLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(CablemanagementLbl, false, 1, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, MountablecabletrunkincludedLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + + ItemAttribute := ContosoItem.InsertItemAttribute(CertificationsLbl, false, 1, ''); + ItemAttributeValue := ContosoItem.InsertItemAttributeValue(ItemAttribute, FSCLbl, 0); + ContosoItem.InsertItemAttributeValueMapping(Database::Item, CreateItem.AthensDesk(), ItemAttribute.ID, ItemAttributeValue.ID); + end; + + var + ColorLbl: Label 'Color', MaxLength = 250; + DepthLbl: Label 'Depth', MaxLength = 250; + WidthLbl: Label 'Width', MaxLength = 250; + HeightLbl: Label 'Height', MaxLength = 250; + MaterialDescriptionLbl: Label 'Material Description', MaxLength = 250; + ModelYearLbl: Label 'Model Year', MaxLength = 250; + MaterialSurfaceLbl: Label 'Material (Surface)', MaxLength = 250; + MaterialLegsLbl: Label 'Material (Legs)', MaxLength = 250; + AdjustableheightLbl: Label 'Adjustable height', MaxLength = 250; + AssemblyrequiredLbl: Label 'Assembly required', MaxLength = 250; + CablemanagementLbl: Label 'Cable management', MaxLength = 250; + CertificationsLbl: Label 'Certifications', MaxLength = 250; + RedLbl: Label 'Red', MaxLength = 250; + OrangeLbl: Label 'Orange', MaxLength = 250; + YellowLbl: Label 'Yellow', MaxLength = 250; + GreenLbl: Label 'Green', MaxLength = 250; + BlueLbl: Label 'Blue', MaxLength = 250; + VioletLbl: Label 'Violet', MaxLength = 250; + PurpleLbl: Label 'Purple', MaxLength = 250; + BlackLbl: Label 'Black', MaxLength = 250; + WhiteLbl: Label 'White', MaxLength = 250; + AV100Lbl: Label '100', MaxLength = 250, Locked = true; + AV70Lbl: Label '70', MaxLength = 250, Locked = true; + AV75Lbl: Label '75', MaxLength = 250, Locked = true; + AV80Lbl: Label '80', MaxLength = 250, Locked = true; + AV300Lbl: Label '300', MaxLength = 250, Locked = true; + AV30Lbl: Label '30', MaxLength = 250, Locked = true; + AV40Lbl: Label '40', MaxLength = 250, Locked = true; + AV85Lbl: Label '85', MaxLength = 250, Locked = true; + AV200Lbl: Label '200', MaxLength = 250, Locked = true; + AV150Lbl: Label '150', MaxLength = 250, Locked = true; + AV120Lbl: Label '120', MaxLength = 250, Locked = true; + AV90Lbl: Label '90', MaxLength = 250, Locked = true; + AV95Lbl: Label '95', MaxLength = 250, Locked = true; + AV140Lbl: Label '140', MaxLength = 250, Locked = true; + AV130Lbl: Label '130', MaxLength = 250, Locked = true; + AV60Lbl: Label '60', MaxLength = 250, Locked = true; + AV115Lbl: Label '115', MaxLength = 250, Locked = true; + AV110Lbl: Label '110', MaxLength = 250, Locked = true; + AV125Lbl: Label '125', MaxLength = 250, Locked = true; + AV135Lbl: Label '135', MaxLength = 250, Locked = true; + AV250Lbl: Label '250', MaxLength = 250, Locked = true; + WoodLbl: Label 'Wood', MaxLength = 250; + LeatherSatinPolishedAluminumbaseLbl: Label 'Leather, Satin Polished Aluminum base', MaxLength = 250; + PlasticCottonLbl: Label 'Plastic, Cotton', MaxLength = 250; + CottonWoodLegsLbl: Label 'Cotton, Wood Legs', MaxLength = 250; + SteelLbl: Label 'Steel', MaxLength = 250; + CottonAluminiumLbl: Label 'Cotton, Aluminium', MaxLength = 250; + PlasticSteelLbl: Label 'Plastic, Steel', MaxLength = 250; + CottonPlasticSteelLbl: Label 'Cotton, Plastic, Steel', MaxLength = 250; + CottonSteellegsLbl: Label 'Cotton, Steel legs', MaxLength = 250; + AV1952Lbl: Label '1952', MaxLength = 250, Locked = true; + AV1942Lbl: Label '1942', MaxLength = 250, Locked = true; + AV1940Lbl: Label '1940', MaxLength = 250, Locked = true; + AV1980Lbl: Label '1980', MaxLength = 250, Locked = true; + SolidoakLbl: Label 'Solid oak', MaxLength = 250, Locked = true; + PolishedstainlesssteelLbl: Label 'Polished stainless steel', MaxLength = 250; + NoLbl: Label 'No', MaxLength = 250; + YesLbl: Label 'Yes', MaxLength = 250; + MountablecabletrunkincludedLbl: Label 'Mountable cable trunk included', MaxLength = 250; + FSCLbl: Label 'FSC', MaxLength = 250; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemCategory.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemCategory.Codeunit.al new file mode 100644 index 0000000000..9c3fa9c957 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemCategory.Codeunit.al @@ -0,0 +1,62 @@ +codeunit 5380 "Create Item Category" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoItem: Codeunit "Contoso Item"; + begin + ContosoItem.InsertItemCategory(Furniture(), OfficeFurnitureLbl, ''); + ContosoItem.InsertItemCategory(Chair(), OfficeChairLbl, Furniture()); + ContosoItem.InsertItemCategory(Desk(), OfficeDeskLbl, Furniture()); + ContosoItem.InsertItemCategory(Table(), AssortedTablesLbl, Furniture()); + + ContosoItem.InsertItemCategory(Misc(), MiscellaneousLbl, ''); + ContosoItem.InsertItemCategory(Supplier(), OfficeSuppliesLbl, Misc()); + end; + + procedure Desk(): Code[20] + begin + exit(DeskTok); + end; + + procedure Chair(): Code[20] + begin + exit(ChairTok); + end; + + procedure Table(): Code[20] + begin + exit(TableTok); + end; + + procedure Misc(): Code[20] + begin + exit(MiscTok); + end; + + procedure Furniture(): Code[20] + begin + exit(FurnitureTok); + end; + + procedure Supplier(): Code[20] + begin + exit(SuppliersTok); + end; + + var + DeskTok: Label 'DESK', MaxLength = 20; + ChairTok: Label 'CHAIR', MaxLength = 20; + TableTok: Label 'TABLE', MaxLength = 20; + MiscTok: Label 'MISC', MaxLength = 20; + FurnitureTok: Label 'FURNITURE', MaxLength = 20; + SuppliersTok: Label 'SUPPLIERS', MaxLength = 20; + OfficeFurnitureLbl: Label 'Office Furniture', MaxLength = 100; + MiscellaneousLbl: Label 'Miscellaneous', MaxLength = 100; + OfficeChairLbl: Label 'Office Chair', MaxLength = 100; + OfficeDeskLbl: Label 'Office Desk', MaxLength = 100; + OfficeSuppliesLbl: Label 'Office Supplies', MaxLength = 100; + AssortedTablesLbl: Label 'Assorted Tables', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemCharge.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemCharge.Codeunit.al new file mode 100644 index 0000000000..63d7799f34 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemCharge.Codeunit.al @@ -0,0 +1,71 @@ +codeunit 5386 "Create Item Charge" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoItem: Codeunit "Contoso Item"; + CreateVatPostingGroups: Codeunit "Create VAT Posting Groups"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + begin + ContosoItem.InsertItemCharge(JBFreight(), FreightChargeJBSpeditionLbl, CreatePostingGroup.ServicesPostingGroup(), CreateVatPostingGroups.Standard(), FreightChargeJBSpeditionLbl); + ContosoItem.InsertItemCharge(PurchAllowance(), PurchaseAllowanceLbl, CreatePostingGroup.ServicesPostingGroup(), CreateVatPostingGroups.Standard(), PurchaseAllowanceLbl); + ContosoItem.InsertItemCharge(PurchFreight(), MiscFreightChargePurchLbl, CreatePostingGroup.ServicesPostingGroup(), CreateVatPostingGroups.Standard(), MiscFreightChargePurchLbl); + ContosoItem.InsertItemCharge(PurchRestock(), PurchaseRestockChargeLbl, CreatePostingGroup.ServicesPostingGroup(), CreateVatPostingGroups.Standard(), PurchaseRestockChargeLbl); + ContosoItem.InsertItemCharge(SaleAllowance(), SalesAllowanceLbl, CreatePostingGroup.ServicesPostingGroup(), CreateVatPostingGroups.Standard(), SalesAllowanceLbl); + ContosoItem.InsertItemCharge(SaleFreight(), MiscFreightChargesSalesLbl, CreatePostingGroup.ServicesPostingGroup(), CreateVatPostingGroups.Standard(), MiscFreightChargesSalesLbl); + ContosoItem.InsertItemCharge(SaleRestock(), SalesRestockChargeLbl, CreatePostingGroup.ServicesPostingGroup(), CreateVatPostingGroups.Standard(), SalesRestockChargeLbl); + end; + + procedure JBFreight(): Code[20] + begin + exit(JBFreightTok); + end; + + procedure PurchAllowance(): Code[20] + begin + exit(PurchAllowanceTok); + end; + + procedure PurchFreight(): Code[20] + begin + exit(PurchFreightTok); + end; + + procedure PurchRestock(): Code[20] + begin + exit(PurchRestockTok); + end; + + procedure SaleAllowance(): Code[20] + begin + exit(SaleAllowanceTok); + end; + + procedure SaleFreight(): Code[20] + begin + exit(SaleFreightTok); + end; + + procedure SaleRestock(): Code[20] + begin + exit(SaleRestockTok); + end; + + var + JBFreightTok: Label 'JB-FREIGHT', MaxLength = 20; + PurchAllowanceTok: Label 'P-ALLOWANCE', MaxLength = 20; + PurchFreightTok: Label 'P-FREIGHT', MaxLength = 20; + PurchRestockTok: Label 'P-RESTOCK', MaxLength = 20; + SaleAllowanceTok: Label 'S-ALLOWANCE', MaxLength = 20; + SaleFreightTok: Label 'S-FREIGHT', MaxLength = 20; + SaleRestockTok: Label 'S-RESTOCK', MaxLength = 20; + FreightChargeJBSpeditionLbl: Label 'Freight Charge (JB-Spedition)', Maxlength = 100; + PurchaseAllowanceLbl: Label 'Purchase Allowance', Maxlength = 100; + MiscFreightChargePurchLbl: Label 'Misc. Freight Charge (Purch.)', Maxlength = 100; + PurchaseRestockChargeLbl: Label 'Purchase Restock Charge', Maxlength = 100; + SalesAllowanceLbl: Label 'Sales Allowance', Maxlength = 100; + MiscFreightChargesSalesLbl: Label 'Misc. Freight Charges (Sales)', Maxlength = 100; + SalesRestockChargeLbl: Label 'Sales Restock Charge', Maxlength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemTemplate.Codeunit.al new file mode 100644 index 0000000000..89005800fd --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemTemplate.Codeunit.al @@ -0,0 +1,33 @@ +codeunit 5448 "Create Item Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoInventory: Codeunit "Contoso Inventory"; + CreateInvPostingGroup: Codeunit "Create Inventory Posting Group"; + CreateUnitOfMeasure: Codeunit "Create Unit of Measure"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + begin + ContosoInventory.InsertItemTemplateData(Item(), ItemLbl, CreateUnitOfMeasure.Piece(), Enum::"Item Type"::Inventory, CreateInvPostingGroup.Resale(), CreatePostingGroup.RetailPostingGroup(), CreateVATPostingGroups.Standard(), Enum::"Reserve Method"::Optional); + ContosoInventory.InsertItemTemplateData(Service(), ServiceLbl, CreateUnitOfMeasure.Hour(), Enum::"Item Type"::Service, '', CreatePostingGroup.ServicesPostingGroup(), CreateVATPostingGroups.Standard(), Enum::"Reserve Method"::Never); + end; + + procedure Service(): Code[20] + begin + exit(ServiceTok); + end; + + procedure Item(): Code[20] + begin + exit(ItemTok); + end; + + var + ServiceTok: Label 'SERVICE', MaxLength = 20; + ServiceLbl: Label 'Service', MaxLength = 100; + ItemTok: Label 'ITEM', MaxLength = 20; + ItemLbl: Label 'Item', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemTrackingCode.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemTrackingCode.Codeunit.al new file mode 100644 index 0000000000..9cec84e040 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateItemTrackingCode.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 5388 "Create Item Tracking Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoItem: Codeunit "Contoso Item"; + begin + ContosoItem.InsertItemTrackingCode(FreeEntry(), FreeEntryofTrackingLbl, false, false, false, false, false, false); + ContosoItem.InsertItemTrackingCode(LotAll(), LotSpecificTrackingLbl, false, true, false, false, false, false); + ContosoItem.InsertItemTrackingCode(LotAllExp(), LotSpecificTrackingManualExpLbl, false, true, false, true, false, false); + ContosoItem.InsertItemTrackingCode(LotSNSales(), LotSpecificSNSalesTrackingLbl, false, true, false, false, true, true); + ContosoItem.InsertItemTrackingCode(SNAll(), SNSpecificTrackingLbl, true, false, false, false, false, false); + ContosoItem.InsertItemTrackingCode(SNSales(), SNSalesTrackingLbl, false, false, false, false, true, true); + end; + + procedure FreeEntry(): Code[10] + begin + exit(FreeEntryTok); + end; + + procedure LotAll(): Code[10] + begin + exit(LotAllTok); + end; + + procedure LotAllExp(): Code[10] + begin + exit(LotAllExpTok); + end; + + procedure LotSNSales(): Code[10] + begin + exit(LotSNSalesTok); + end; + + procedure SNAll(): Code[10] + begin + exit(SNAllTok); + end; + + procedure SNSales(): Code[10] + begin + exit(SNSalesTok); + end; + + var + FreeEntryTok: Label 'FREEENTRY', Maxlength = 10; + LotAllTok: Label 'LOTALL', Maxlength = 10; + LotAllExpTok: Label 'LOTALLEXP', Maxlength = 10; + LotSNSalesTok: Label 'LOTSNSALES', Maxlength = 10; + SNAllTok: Label 'SNALL', Maxlength = 10; + SNSalesTok: Label 'SNSALES', Maxlength = 10; + FreeEntryofTrackingLbl: Label 'Free entry of tracking', Maxlength = 50; + LotSpecificTrackingLbl: Label 'Lot specific tracking', Maxlength = 50; + LotSpecificTrackingManualExpLbl: Label 'Lot specific tracking, manual Expiration', Maxlength = 50; + LotSpecificSNSalesTrackingLbl: Label 'Lot specific SN Sales Tracking', Maxlength = 50; + SNSpecificTrackingLbl: Label 'SN specific tracking', Maxlength = 50; + SNSalesTrackingLbl: Label 'SN Sales tracking', Maxlength = 50; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateManufacturer.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateManufacturer.Codeunit.al new file mode 100644 index 0000000000..af8c0c4527 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreateManufacturer.Codeunit.al @@ -0,0 +1,61 @@ +codeunit 5437 "Create Manufacturer" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoInventory: Codeunit "Contoso Inventory"; + begin + ContosoInventory.InsertManufacturer(Fabrik(), FabrikamResidencesLbl); + ContosoInventory.InsertManufacturer(First(), FirstUpConsultantsLbl); + ContosoInventory.InsertManufacturer(Lamna(), LamnaHealthcareLbl); + ContosoInventory.InsertManufacturer(Northwind(), NorthwindTraderLbl); + ContosoInventory.InsertManufacturer(Proseware(), ProsewareIncLbl); + ContosoInventory.InsertManufacturer(Wingtip(), WingtipToysLbl); + end; + + procedure Fabrik(): Code[10] + begin + exit(FabrikLbl); + end; + + procedure First(): Code[10] + begin + exit(FirstLbl); + end; + + procedure Lamna(): Code[10] + begin + exit(LamnaLbl); + end; + + procedure Northwind(): Code[10] + begin + exit(NorthwindLbl); + end; + + procedure Proseware(): Code[10] + begin + exit(ProsewareLbl); + end; + + procedure Wingtip(): Code[10] + begin + exit(WingtipLbl); + end; + + var + FabrikLbl: Label 'FABRIK', MaxLength = 10; + FirstLbl: Label 'FIRST', MaxLength = 10; + LamnaLbl: Label 'LAMNA', MaxLength = 10; + NorthwindLbl: Label 'NORTHWIND', MaxLength = 10; + ProsewareLbl: Label 'PROSEWARE', MaxLength = 10; + WingtipLbl: Label 'WINGTIP', MaxLength = 10; + FabrikamResidencesLbl: Label 'Fabrikam Residences', MaxLength = 50; + FirstUpConsultantsLbl: Label 'First Up Consultants', MaxLength = 50; + LamnaHealthcareLbl: Label 'Lamna Healthcare Company', MaxLength = 50; + NorthwindTraderLbl: Label 'Northwind Traders', MaxLength = 50; + ProsewareIncLbl: Label 'Proseware, Inc.', MaxLength = 50; + WingtipToysLbl: Label 'Wingtip Toys', MaxLength = 50; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreatePurchasing.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreatePurchasing.Codeunit.al new file mode 100644 index 0000000000..a0a0bcd806 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/2.Master Data/CreatePurchasing.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 5379 "Create Purchasing" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoInventory: Codeunit "Contoso Inventory"; + begin + ContosoInventory.InsertPurchasing(CallIn(), CallInDescLbl, false, false); + ContosoInventory.InsertPurchasing(DropShip(), DropShipDescLbl, true, false); + ContosoInventory.InsertPurchasing(SpecOrder(), SpecOrderDescLbl, false, true); + end; + + procedure CallIn(): Code[10] + begin + exit(CallInTok); + end; + + procedure DropShip(): Code[10] + begin + exit(DropShipTok); + end; + + procedure SpecOrder(): Code[10] + begin + exit(SpecOrderTok); + end; + + var + CallInTok: Label 'CALL IN', MaxLength = 10; + DropShipTok: Label 'DROP SHIP', MaxLength = 10; + SpecOrderTok: Label 'SPEC ORDER', MaxLength = 10; + CallInDescLbl: Label 'This order must be called in', MaxLength = 100; + DropShipDescLbl: Label 'Call in and send to customer', MaxLength = 100; + SpecOrderDescLbl: Label 'Call in and send to us', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateItemReference.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateItemReference.Codeunit.al new file mode 100644 index 0000000000..be93d47508 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateItemReference.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 5664 "Create Item Reference" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoItem: Codeunit "Contoso Item"; + CreateItem: Codeunit "Create Item"; + CreateUnitOfMeasure: Codeunit "Create Unit of Measure"; + CreateCustomer: Codeunit "Create Customer"; + CreateVendor: Codeunit "Create Vendor"; + begin + ContosoItem.InsertItemReference(CreateItem.LondonSwivelChairBlue(), '', CreateUnitOfMeasure.Piece(), Enum::"Item Reference Type"::Customer, CreateCustomer.DomesticRelecloud(), RefernceNoC100425Tok, ArmlessSwivelChairBlueLbl); + ContosoItem.InsertItemReference(CreateItem.LondonSwivelChairBlue(), '', CreateUnitOfMeasure.Piece(), Enum::"Item Reference Type"::Vendor, CreateVendor.ExportFabrikam(), LondonSwivelChairBlueLbl, ''); + ContosoItem.InsertItemReference(CreateItem.LondonSwivelChairBlue(), '', CreateUnitOfMeasure.Piece(), Enum::"Item Reference Type"::Vendor, CreateVendor.DomesticFirstUp(), LondonSwivelChairBlueLbl, ''); + ContosoItem.InsertItemReference(CreateItem.LondonSwivelChairBlue(), '', CreateUnitOfMeasure.Piece(), Enum::"Item Reference Type"::Vendor, CreateVendor.EUGraphicDesign(), RefernceNoBlueSwivelTok, BlueArmlessSwivelChairLbl); + ContosoItem.InsertItemReference(CreateItem.AmsterdamLamp(), '', CreateUnitOfMeasure.Piece(), Enum::"Item Reference Type"::Customer, CreateCustomer.ExportSchoolofArt(), RefernceNoSwivelLampTok, RedSwivelLampLbl); + ContosoItem.InsertItemReference(CreateItem.AmsterdamLamp(), '', CreateUnitOfMeasure.Piece(), Enum::"Item Reference Type"::Vendor, CreateVendor.DomesticNodPublisher(), RefernceNoD200552Tok, DeskSwivelLampLbl); + end; + + var + RefernceNoC100425Tok: Label 'C100425', Locked = true; + RefernceNoBlueSwivelTok: Label 'BLUESWIVEL', Locked = true; + RefernceNoSwivelLampTok: Label 'SWIVELLAMP', Locked = true; + RefernceNoD200552Tok: Label 'D200552', Locked = true; + LondonSwivelChairBlueLbl: Label '1908-S', Locked = true; + ArmlessSwivelChairBlueLbl: Label 'Armless swivel chair, blue', MaxLength = 100; + BlueArmlessSwivelChairLbl: Label 'Blue armless swivel chair', MaxLength = 100; + RedSwivelLampLbl: Label 'Red Swivel Lamp', MaxLength = 100; + DeskSwivelLampLbl: Label 'Desk Swivel Lamp', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateNonstockItem.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateNonstockItem.Codeunit.al new file mode 100644 index 0000000000..27164d11b1 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateNonstockItem.Codeunit.al @@ -0,0 +1,32 @@ +codeunit 5577 "Create Nonstock Item" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoInventory: Codeunit "Contoso Inventory"; + CreateUnitOfMeasure: Codeunit "Create Unit of Measure"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateVendor: Codeunit "Create Vendor"; + begin + ContosoInventory.InsertNonStockItem(CreateVendor.ExportFabrikam(), StraightBackChairVendItemLbl, StraightBackChairLbl, CreateUnitOfMeasure.Piece(), 12, 10, 22, 5, 5, StraightBackChairBarCodeLbl, CreateNoSeries.Item()); + ContosoInventory.InsertNonStockItem(CreateVendor.ExportFabrikam(), RockingChairVendItemLbl, RockingChairLbl, CreateUnitOfMeasure.Piece(), 15, 13, 26, 6, 6, RockingChairBarCodeLbl, CreateNoSeries.Item()); + ContosoInventory.InsertNonStockItem(CreateVendor.EUGraphicDesign(), ComputerDeskVendItemLbl, ComputerDeskLbl, CreateUnitOfMeasure.Piece(), 120, 105, 230, 50, 50, ComputerDeskBarCodeLbl, CreateNoSeries.Item()); + ContosoInventory.InsertNonStockItem(CreateVendor.DomesticWorldImporter(), ConferenceTableVendItemLbl, ConferenceTableLbl, CreateUnitOfMeasure.Piece(), 100, 90, 180, 35, 35, ConferenceTableBarCodeLbl, CreateNoSeries.Item()); + end; + + var + StraightBackChairVendItemLbl: Label '2100', MaxLength = 20, Locked = true; + RockingChairVendItemLbl: Label '2200', MaxLength = 20, Locked = true; + ComputerDeskVendItemLbl: Label '3100', MaxLength = 20, Locked = true; + ConferenceTableVendItemLbl: Label '4100', MaxLength = 20, Locked = true; + StraightBackChairLbl: Label 'Straight back chair', MaxLength = 100; + RockingChairLbl: Label 'Rocking chair', MaxLength = 100; + ComputerDeskLbl: Label 'Computer desk', MaxLength = 100; + ConferenceTableLbl: Label 'Conference table', MaxLength = 100; + StraightBackChairBarCodeLbl: Label '1111X2222', MaxLength = 20, Locked = true; + RockingChairBarCodeLbl: Label '3333Z4444', MaxLength = 20, Locked = true; + ComputerDeskBarCodeLbl: Label '31331T5444', MaxLength = 20, Locked = true; + ConferenceTableBarCodeLbl: Label '999999T8888', MaxLength = 20, Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateTransferOrders.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateTransferOrders.Codeunit.al new file mode 100644 index 0000000000..42b7b85c62 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/3.Transactions/CreateTransferOrders.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 5381 "Create Transfer Orders" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + TransferHeader: Record "Transfer Header"; + ContosoInventory: Codeunit "Contoso Inventory"; + CreateItem: Codeunit "Create Item"; + CreateLocation: Codeunit "Create Location"; + ContosoUtilities: Codeunit "Contoso Utilities"; + begin + TransferHeader := ContosoInventory.InsertTransferHeader(CreateLocation.MainLocation(), CreateLocation.WestLocation(), ContosoUtilities.AdjustDate(19030401D), CreateLocation.OutLogLocation(), ''); + ContosoInventory.InsertTransferLine(TransferHeader, CreateItem.MexicoSwivelChairBlack(), 1, 1); + + TransferHeader := ContosoInventory.InsertTransferHeader(CreateLocation.WestLocation(), CreateLocation.EastLocation(), ContosoUtilities.AdjustDate(19030401D), CreateLocation.OwnLogLocation(), OpenExternalDocumentNo()); + ContosoInventory.InsertTransferLine(TransferHeader, CreateItem.MexicoSwivelChairBlack(), 3, 3); + + TransferHeader := ContosoInventory.InsertTransferHeader(CreateLocation.EastLocation(), CreateLocation.MainLocation(), ContosoUtilities.AdjustDate(19030401D), CreateLocation.OwnLogLocation(), OpenExternalDocumentNo()); + ContosoInventory.InsertTransferLine(TransferHeader, CreateItem.MexicoSwivelChairBlack(), 2, 1); + end; + + procedure OpenExternalDocumentNo(): Code[35] + begin + exit(OpenExternalDocumentNoTok); + end; + + var + OpenExternalDocumentNoTok: Label 'OPEN', MaxLength = 35; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/InventoryModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/InventoryModule.Codeunit.al new file mode 100644 index 0000000000..a3c5a74f98 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Inventory/InventoryModule.Codeunit.al @@ -0,0 +1,54 @@ +codeunit 5680 "Inventory Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + exit; + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::Foundation); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Finance); + end; + + procedure CreateSetupData() + begin + Codeunit.Run(Codeunit::"Create Inventory Posting Group"); + Codeunit.Run(Codeunit::"Create Inventory Setup"); + Codeunit.Run(Codeunit::"Create Item Journal Template"); + Codeunit.Run(Codeunit::"Create Requisition Wksh. Name"); + Codeunit.Run(Codeunit::"Create Order Promising Setup"); + Codeunit.Run(Codeunit::"Create Location"); + Codeunit.Run(Codeunit::"Create Inventory Posting Setup"); + Codeunit.Run(Codeunit::"Create Assembly Setup"); + Codeunit.Run(Codeunit::"Create Territory"); + end; + + procedure CreateMasterData() + begin + Codeunit.Run(Codeunit::"Create Manufacturer"); + Codeunit.Run(Codeunit::"Create Item Category"); + Codeunit.Run(Codeunit::"Create Item Template"); + Codeunit.Run(Codeunit::"Create Item"); + Codeunit.Run(Codeunit::"Create Item Attribute"); + Codeunit.Run(Codeunit::"Create Item Charge"); + Codeunit.Run(Codeunit::"Create Item Tracking Code"); + Codeunit.Run(Codeunit::"Create BOM Component"); + Codeunit.Run(Codeunit::"Create Purchasing"); + end; + + procedure CreateTransactionalData() + begin + Codeunit.Run(Codeunit::"Create Item Reference"); + Codeunit.Run(Codeunit::"Create Nonstock Item"); + Codeunit.Run(Codeunit::"Create Transfer Orders"); + end; + + procedure CreateHistoricalData() + begin + exit; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Jobs/JobModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Jobs/JobModule.Codeunit.al index 40fc3ca098..4f57c50bdf 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Jobs/JobModule.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Jobs/JobModule.Codeunit.al @@ -43,4 +43,4 @@ codeunit 5187 "Job Module" implements "Contoso Demo Data Module" begin exit; end; -} \ No newline at end of file +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoAccount.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoAccount.Table.al index 8746a24c82..f9fb51c641 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoAccount.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoAccount.Table.al @@ -5,6 +5,7 @@ table 4761 "Manufacturing Demo Account" ObsoleteReason = 'This table will be replaced by "Contoso GL Account".'; ObsoleteState = Removed; ObsoleteTag = '26.0'; + ReplicateData = false; fields { diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoDataSetup.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoDataSetup.Table.al index 7b4172ee89..026baa83a2 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoDataSetup.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Manufacturing/ManufacturingDemoDataSetup.Table.al @@ -6,6 +6,7 @@ table 4760 "Manufacturing Demo Data Setup" InherentPermissions = rimdX; ObsoleteState = Removed; ObsoleteTag = '26.0'; + ReplicateData = false; fields { diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/1.Setup Data/CreatePurchasePayableSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/1.Setup Data/CreatePurchasePayableSetup.Codeunit.al new file mode 100644 index 0000000000..68eca045de --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/1.Setup Data/CreatePurchasePayableSetup.Codeunit.al @@ -0,0 +1,14 @@ +codeunit 5272 "Create Purchase Payable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPurchase: Codeunit "Contoso Purchase"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateJobQueueCategory: Codeunit "Create Job Queue Category"; + begin + ContosoPurchase.InsertPurchasePayableSetup(3, true, true, true, CreateNoSeries.Vendor(), CreateNoSeries.PurchaseQuote(), CreateNoSeries.PurchaseOrder(), CreateNoSeries.PurchaseInvoice(), CreateNoSeries.PostedPurchaseInvoice(), CreateNoSeries.PurchaseCreditMemo(), CreateNoSeries.PostedPurchaseCreditMemo(), CreateNoSeries.PurchaseReceipt(), CreateNoSeries.BlanketPurchaseOrder(), 2, true, true, true, CreateJobQueueCategory.SalesPurchasePosting(), 1000, 1000, Enum::"Purchase Line Type"::Item, true, CreateNoSeries.PostedPurchaseShipment(), true, true, CreateNoSeries.PurchaseReturnOrder(), Enum::"Price Calculation Method"::"Lowest Price", CreateNoSeries.PurchasePriceList()); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/1.Setup Data/CreateVendorPostingGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/1.Setup Data/CreateVendorPostingGroup.Codeunit.al new file mode 100644 index 0000000000..cfc1fee839 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/1.Setup Data/CreateVendorPostingGroup.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 5568 "Create Vendor Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.InsertVendorPostingGroup(Domestic(), CreateGLAccount.VendorsDomestic(), CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PaymentToleranceReceived(), DomesticVendorsLbl, false); + ContosoPostingGroup.InsertVendorPostingGroup(EU(), CreateGLAccount.VendorsForeign(), CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PaymentToleranceReceived(), EUVendorsLbl, false); + ContosoPostingGroup.InsertVendorPostingGroup(Foreign(), CreateGLAccount.VendorsForeign(), CreateGLAccount.OtherCostsofOperations(), CreateGLAccount.PmtDiscReceivedDecreases(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PaymentDiscountsReceived(), CreateGLAccount.PmtTolReceivedDecreases(), CreateGLAccount.PaymentToleranceReceived(), ForeignVendorsLbl, false); + end; + + procedure Domestic(): Code[20] + begin + exit(DomesticTok); + end; + + procedure EU(): Code[20] + begin + exit(EUTok); + end; + + procedure Foreign(): Code[20] + begin + exit(ForeignTok); + end; + + var + DomesticTok: Label 'Domestic', MaxLength = 20; + EUTok: Label 'EU', MaxLength = 20; + ForeignTok: Label 'FOREIGN', MaxLength = 20; + DomesticVendorsLbl: Label 'Domestic vendors', MaxLength = 100; + EUVendorsLbl: Label 'Vendors in EU', MaxLength = 100; + ForeignVendorsLbl: Label 'Foreign vendors (not EU)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateOverReceiptCode.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateOverReceiptCode.Codeunit.al new file mode 100644 index 0000000000..67afad9973 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateOverReceiptCode.Codeunit.al @@ -0,0 +1,21 @@ +codeunit 5443 "Create Over-Receipt Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoOverReceiptCode: Codeunit "Contoso Over Receipt Code"; + begin + ContosoOverReceiptCode.InsertOverReceiptCode(OverRcpt(), OverRcptLbl, true, 10); + end; + + procedure OverRcpt(): Code[20] + begin + exit(OverRcptTok); + end; + + var + OverRcptTok: Label 'OVERRCPT10', MaxLength = 20; + OverRcptLbl: Label 'Over receipt up to 10% of quantity', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreatePurchaseDimValue.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreatePurchaseDimValue.Codeunit.al new file mode 100644 index 0000000000..0387348dd9 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreatePurchaseDimValue.Codeunit.al @@ -0,0 +1,26 @@ +codeunit 5663 "Create Purchase Dim. Value" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + CreateVendor: Codeunit "Create Vendor"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.ExportFabrikam(), CreateDimension.AreaDimension(), CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.ExportFabrikam(), CreateDimension.BusinessGroupDimension(), CreateDimensionValue.IndustrialBusinessGroup(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.ExportFabrikam(), CreateDimension.SalesCampaignDimension(), CreateDimensionValue.SummerSalesCampaign(), Enum::"Default Dimension Value Posting Type"::" "); + + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.DomesticFirstUp(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthNonEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.EUGraphicDesign(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.DomesticWorldImporter(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthNonEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.DomesticWorldImporter(), CreateDimension.BusinessGroupDimension(), CreateDimensionValue.HomeBusinessGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + + ContosoDimension.InsertDefaultDimensionValue(Database::Vendor, CreateVendor.DomesticNodPublisher(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthNonEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendor.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendor.Codeunit.al new file mode 100644 index 0000000000..8c44058863 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendor.Codeunit.al @@ -0,0 +1,109 @@ +codeunit 5539 "Create Vendor" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + CreateVendorPostingGroup: codeunit "Create Vendor Posting Group"; + CreatePostingGroup: Codeunit "Create Posting Groups"; + CreateVatPostingGroups: Codeunit "Create VAT Posting Groups"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateCountryRegion: Codeunit "Create Country/Region"; + ContoUtilities: Codeunit "Contoso Utilities"; + CreateTerritory: Codeunit "Create Territory"; + CreateItem: Codeunit "Create Item"; + CreateContJobResponsibility: Codeunit "Create Cont Job Responsibility"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoCustomerVendor.InsertVendor(ExportFabrikam(), FabrikamIncLbl, CreateCountryRegion.US(), NorthLakeAvenueLbl, '', 'US-GA 31772', '', CreateVendorPostingGroup.Foreign(), CreatePostingGroup.ExportPostingGroup(), CreateVatPostingGroups.Export(), '', '', false, CreatePaymentTerms.PaymentTermsCM(), '', ContoUtilities.EmptyPicture(), KrystalYorkLbl, CreateTerritory.Foreign(), 'krystal.york@contoso.com', Enum::"Application Method"::Manual); + UpdateVendorNoOnItems(ExportFabrikam(), CreateItem.AmsterdamLamp()); + + ContosoCustomerVendor.InsertVendor(DomesticFirstUp(), FirstUpConsultantsLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", AllanTuringRoadLbl, SurreyLbl, 'GU2 7XH', '', CreateVendorPostingGroup.Domestic(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), '', '', false, CreatePaymentTerms.PaymentTermsCM(), '', ContoUtilities.EmptyPicture(), EvanMcIntoshLbl, '', 'evan.mcintosh@contoso.com', Enum::"Application Method"::Manual); + UpdateVendorNoOnItems(DomesticFirstUp(), CreateItem.ParisGuestChairBlack()); + UpdateVendorNoOnItems(DomesticFirstUp(), CreateItem.AntwerpConferenceTable()); + UpdateVendorNoOnItems(DomesticFirstUp(), CreateItem.BerlingGuestChairYellow()); + UpdateVendorNoOnItems(DomesticFirstUp(), CreateItem.RomeGuestChairGreen()); + UpdateVendorNoOnItems(DomesticFirstUp(), CreateItem.TokyoGuestChairBlue()); + UpdateVendorNoOnItems(DomesticFirstUp(), CreateItem.SeoulGuestChairRed()); + + ContosoCustomerVendor.InsertVendor(EUGraphicDesign(), GraphicDesignInstituteLbl, CreateCountryRegion.DE(), ArbachtalstrasseLbl, UnterAchalmLbl, 'DE-72800', '', CreateVendorPostingGroup.EU(), CreatePostingGroup.EUPostingGroup(), CreateVatPostingGroups.EU(), '', '', false, CreatePaymentTerms.PaymentTermsCM(), '', ContoUtilities.EmptyPicture(), BryceJassoLbl, CreateTerritory.Foreign(), 'bryce.jasso@contoso.com', Enum::"Application Method"::Manual); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.AthensDesk()); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.AthensMobilePedestal()); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.LondonSwivelChairBlue()); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.MexicoSwivelChairBlack()); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.MunichSwivelChairYellow()); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.MoscowSwivelChairRed()); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.AtlantaWhiteboardBase()); + UpdateVendorNoOnItems(EUGraphicDesign(), CreateItem.SydneySwivelChairGreen()); + + ContosoCustomerVendor.InsertVendor(DomesticWorldImporter(), WideWorldImportersLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", AviatorWayLbl, ManchesterBusParkLbl, 'M22 5TG', '', CreateVendorPostingGroup.Domestic(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), '', '', false, CreatePaymentTerms.PaymentTermsCM(), '', ContoUtilities.EmptyPicture(), TobyRhodeLbl, '', 'toby.rhode@contoso.com', Enum::"Application Method"::Manual); + ContosoCustomerVendor.InsertVendor(DomesticNodPublisher(), NodPublishersLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", WterLooPlaceLbl, WaverlyGateLbl, 'EH1 3EG', '', CreateVendorPostingGroup.Domestic(), CreatePostingGroup.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), '', '', false, CreatePaymentTerms.PaymentTermsCM(), '', ContoUtilities.EmptyPicture(), RaymondHillardLbl, '', 'raymond.hillard@contoso.com', Enum::"Application Method"::Manual); + + CreateContJobResponsibility.UpdateVendorContactJobResposibility(); + end; + + local procedure UpdateVendorNoOnItems(VendorNo: Code[20]; ItemNo: Code[20]) + var + Item: Record Item; + begin + Item.Get(ItemNo); + Item.Validate("Vendor No.", VendorNo); + Item.Modify(true); + end; + + + procedure ExportFabrikam(): Code[20] + begin + exit(ExportFabrikamTok); + end; + + procedure DomesticFirstUp(): Code[20] + begin + exit(DomesticFirstUpTok); + end; + + procedure EUGraphicDesign(): Code[20] + begin + exit(EUGraphicDesignTok); + end; + + procedure DomesticWorldImporter(): Code[20] + begin + exit(DomesticWorldImporterTok); + end; + + procedure DomesticNodPublisher(): Code[20] + begin + exit(DomesticNodPublisherTok); + end; + + var + ExportFabrikamTok: Label '10000', Locked = true; + DomesticFirstUpTok: Label '20000', Locked = true; + EUGraphicDesignTok: Label '30000', Locked = true; + DomesticWorldImporterTok: Label '40000', Locked = true; + DomesticNodPublisherTok: Label '50000', Locked = true; + FabrikamIncLbl: Label 'Fabrikam, Inc.', Maxlength = 100; + FirstUpConsultantsLbl: Label 'First Up Consultants', Maxlength = 100; + GraphicDesignInstituteLbl: Label 'Graphic Design Institute', Maxlength = 100; + WideWorldImportersLbl: Label 'Wide World Importers', Maxlength = 100; + NodPublishersLbl: Label 'Nod Publishers', Maxlength = 100; + NorthLakeAvenueLbl: Label '10 North Lake Avenue', MaxLength = 100, Locked = true; + AllanTuringRoadLbl: Label 'Allan Turing Road, 20', MaxLength = 100, Locked = true; + ArbachtalstrasseLbl: Label 'Arbachtalstrasse 6', MaxLength = 100, Locked = true; + AviatorWayLbl: Label 'Aviator Way, 3000', MaxLength = 100, Locked = true; + WterLooPlaceLbl: Label 'Waterloo Place, 2-4', MaxLength = 100, Locked = true; + ManchesterBusParkLbl: Label 'Manchester Business Park', MaxLength = 50, Locked = true; + UnterAchalmLbl: Label 'Unter Achalm', MaxLength = 50, Locked = true; + SurreyLbl: Label 'Surrey', MaxLength = 50, Locked = true; + WaverlyGateLbl: Label 'Waverly Gate', MaxLength = 50, Locked = true; + KrystalYorkLbl: Label 'Krystal York', MaxLength = 100; + EvanMcIntoshLbl: Label 'Evan McIntosh', MaxLength = 100; + BryceJassoLbl: Label 'Bryce Jasso', MaxLength = 100; + TobyRhodeLbl: Label 'Toby Rhode', MaxLength = 100; + RaymondHillardLbl: Label 'Raymond Hillard', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendorBankAccount.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendorBankAccount.Codeunit.al new file mode 100644 index 0000000000..f7932173af --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendorBankAccount.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 5313 "Create Vendor Bank Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoVendorBankAccount: codeunit "Contoso Vendor Bank Account"; + CreateVendor: codeunit "Create Vendor"; + CreateLanguage: Codeunit "Create Language"; + begin + ContosoVendorBankAccount.InsertVendorBankAccount(CreateVendor.ExportFabrikam(), ECA(), ECABankLbl, AnchorHouseLbl, SheelaWordLbl, '+44 296 196933', BranchLbl, BankAccNum10000Lbl, '+44 296 151727', CreateLanguage.ENG(), 'GB 29 NWBK 60161331926819'); + ContosoVendorBankAccount.InsertVendorBankAccount(CreateVendor.DomesticFirstUp(), ECA(), ECABankLbl, AnchorHouseLbl, SheelaWordLbl, '+44 296 196933', BranchLbl, BankAccNum2000Lbl, '+44 296 151727', CreateLanguage.ENG(), ''); + end; + + procedure ECA(): Code[20] + begin + exit(ECATok); + end; + + var + ECATok: Label 'ECA', MaxLength = 20; + ECABankLbl: Label 'ECA Bank', MaxLength = 100; + AnchorHouseLbl: Label 'Anchor House 43', MaxLength = 100; + BranchLbl: Label '1200', MaxLength = 20, Locked = true; + SheelaWordLbl: Label 'Sheela Word', MaxLength = 100; + BankAccNum10000Lbl: Label '1200 100003', Locked = true; + BankAccNum2000Lbl: Label '1200 100004', Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendorTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendorTemplate.Codeunit.al new file mode 100644 index 0000000000..4093912ccd --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/2.Master Data/CreateVendorTemplate.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 5319 "Create Vendor Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoVendorTempl: Codeunit "Contoso Vendor Templ"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateVatPostingGroup: Codeunit "Create VAT Posting Groups"; + CreateVendorPostingGroup: Codeunit "Create Vendor Posting Group"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreatePaymentMethod: Codeunit "Create Payment Method"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + ContosoVendorTempl.InsertVendorTempl(VendorCompany(), B2BVendorLbl, CreateVendorPostingGroup.Domestic(), CreatePaymentTerms.PaymentTermsM8D(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePaymentMethod.Bank(), false, CreatePostingGroups.DomesticPostingGroup(), CreateVatPostingGroup.Domestic(), false, Enum::"Contact Type"::Company); + ContosoVendorTempl.InsertVendorTempl(VendorEUCompany(), EUVendorLbl, CreateVendorPostingGroup.EU(), CreatePaymentTerms.PaymentTermsDAYS14(), '', CreatePaymentMethod.Bank(), false, CreatePostingGroups.EUPostingGroup(), CreateVatPostingGroup.EU(), true, Enum::"Contact Type"::Company); + ContosoVendorTempl.InsertVendorTempl(VendorPerson(), CashPaymentLbl, CreateVendorPostingGroup.Domestic(), CreatePaymentTerms.PaymentTermsCOD(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePaymentMethod.Cash(), true, CreatePostingGroups.DomesticPostingGroup(), CreateVatPostingGroup.Domestic(), false, Enum::"Contact Type"::Person); + end; + + procedure VendorCompany(): code[20] + begin + exit(VendorCompanyTok); + end; + + procedure VendorEUCompany(): code[20] + begin + exit(VendorEUCompanyTok); + end; + + procedure VendorPerson(): code[20] + begin + exit(VendorPersonTok); + end; + + var + VendorCompanyTok: Label 'VENDOR COMPANY', MaxLength = 20; + VendorEUCompanyTok: Label 'VENDOR EU COMPANY', MaxLength = 20; + VendorPersonTok: Label 'VENDOR PERSON', MaxLength = 20; + B2BVendorLbl: Label 'Business-to-Business Vendor (Bank)', MaxLength = 100; + EUVendorLbl: Label 'EU Vendor (Bank)', MaxLength = 100; + CashPaymentLbl: Label 'Cash-Payment Vendor (Cash)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/3.Transactions/CreatePurchaseDocument.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/3.Transactions/CreatePurchaseDocument.Codeunit.al new file mode 100644 index 0000000000..129bb00507 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/3.Transactions/CreatePurchaseDocument.Codeunit.al @@ -0,0 +1,553 @@ +codeunit 5420 "Create Purchase Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + PurchaseHeader: Record "Purchase Header"; + ContosoPurchase: codeunit "Contoso Purchase"; + CreateVendor: codeunit "Create Vendor"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + CreatePaymentMethod: Codeunit "Create Payment Method"; + CreateLocation: Codeunit "Create Location"; + begin + CreatePurchaseOrders(); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 4, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 5, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 8, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 10, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 2, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 10, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), CreateLocation.MainLocation(), '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 2, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), CreateLocation.EastLocation(), '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), CreateLocation.WestLocation(), '', '', 20230101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231101D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231101D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 5, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230901D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230901D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 10, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231201D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231201D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 90, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231201D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231201D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 28, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231201D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231201D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 5, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230108D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230108D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 5, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230108D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230108D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 5, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230109D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230109D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230110D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230110D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230111D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230111D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 8, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 4, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230111D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230111D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 8, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230112D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230112D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 9, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230113D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230113D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230114D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230114D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 10, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230114D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230114D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 7, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230115D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230115D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230115D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230115D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230116D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230116D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 6, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230208D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230208D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 5, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230208D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230208D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 4, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230209D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230209D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230210D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230210D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 10, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 4, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230210D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230210D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230210D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230210D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230212D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230212D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 13, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230212D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230212D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230213D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230213D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 11, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230213D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230213D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 6, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230214D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230214D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230214D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230214D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230215D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230215D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 8, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230308D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230308D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 6, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230308D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230308D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 7, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230309D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230309D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 9, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230310D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230310D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 8, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230311D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230311D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 11, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230311D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230311D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 10, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230312D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230312D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 15, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230313D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230313D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230314D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230314D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 13, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230314D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230314D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 10, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230315D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230315D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230315D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230315D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230316D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230316D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 9, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230408D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230408D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 6, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230408D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230408D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 6, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230409D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230409D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 10, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230410D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230410D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 11, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230410D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230410D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 9, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230411D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230411D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 11, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230412D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230412D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 18, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230413D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230413D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 13, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230413D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230413D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230413D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230413D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 10, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230414D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230414D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230415D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230415D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 9, '', 219.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 8, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230508D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230508D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 5, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230508D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230508D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 7, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230509D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230509D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 9, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230510D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230510D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 8, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230511D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230511D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 7, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230511D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230511D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230512D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230512D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 14, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230513D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230513D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 8, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230514D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230514D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 11, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230514D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230514D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 9, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230515D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230515D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230515D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230515D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230516D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230516D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 6, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230608D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230608D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 5, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230608D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230608D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 5, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230609D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230609D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 10, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230610D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230610D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 7, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230610D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230610D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 8, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230611D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230611D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 10, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230612D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230612D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 15, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230613D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230613D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 13, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230613D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230613D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 8, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230613D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230613D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 9, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230614D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230614D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230615D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230615D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 5, '', 219.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230708D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230708D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 4, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 3, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230708D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230708D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 5, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230709D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230709D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230710D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230710D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230711D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230711D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 8, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 4, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230711D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230711D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 8, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230712D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230712D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 10, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230713D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230713D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230714D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230714D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 11, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230714D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230714D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 7, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230715D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230715D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230715D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230715D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230716D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230716D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 7, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230808D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230808D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 6, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230808D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230808D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 6, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230809D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230809D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230810D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230810D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 8, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230811D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230811D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 8, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 4, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230811D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230811D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230812D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230812D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 11, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230813D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230813D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230814D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230814D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 10, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230814D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230814D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 9, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230815D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230815D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230815D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230815D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230816D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230816D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 7, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230908D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230908D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 4, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230908D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230908D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 4, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230909D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230909D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230910D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230910D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 4, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230910D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230910D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20230911D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230911D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20230912D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230912D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 9, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230913D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230913D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 9, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20230913D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230913D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230913D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230913D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 7, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20230914D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230914D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20230915D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20230915D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 3, '', 219.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231008D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231008D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 4, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231008D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231008D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 4, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231009D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231009D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231010D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231010D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 9, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231011D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231011D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 6, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20231011D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231011D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231012D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231012D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 9, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231013D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231013D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231014D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231014D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 10, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231014D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231014D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 7, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231015D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231015D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231015D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231015D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231016D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231016D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 10, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231108D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231108D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 4, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231108D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231108D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 4, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231109D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231109D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231110D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231110D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 7, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231110D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231110D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20231111D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231111D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231112D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231112D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 8, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231113D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231113D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 9, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231113D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231113D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231113D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231113D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 6, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231114D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231114D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231115D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231115D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 6, '', 219.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231208D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231208D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231208D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231208D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 2, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231209D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231209D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231209D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231209D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 3, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231210D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231210D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 4, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231211D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231211D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 3, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20231211D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231211D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231212D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231212D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 6, '', 506.6); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 2, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231212D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231212D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 3, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20231213D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231213D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 4, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231214D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231214D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 6, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20231214D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231214D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 4, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20231215D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231215D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 2, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20231216D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20231216D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 2, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240108D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240108D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 5, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240108D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240108D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 6, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240109D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240109D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240110D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240110D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20240111D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240111D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 8, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 4, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20240111D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240111D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20240112D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240112D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 10, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240113D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240113D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240114D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240114D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 11, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240114D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240114D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 7, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240115D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240115D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240115D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240115D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240116D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240116D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 6, '', 219.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240208D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240208D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 6, '', 96.1); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 6, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240208D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240208D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 6, '', 328); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240209D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240209D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20240210D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240210D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 12, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 4, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20240210D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240210D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 11, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240210D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240210D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 6, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20240212D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240212D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 15, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240212D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240212D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 8, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240213D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240213D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 13, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240213D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240213D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 10, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240214D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240214D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 5, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240214D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240214D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 7, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240215D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', 20240215D, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 10, '', 219.5); + + CreatePurchaseInvoicesForReconciliation(); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240309D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240309D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 8, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20240310D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240310D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 10, '', 97.5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 5, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), '', ContosoUtilities.AdjustDate(19020101D), 20240310D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240310D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 13, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticNodPublisher(), '', ContosoUtilities.AdjustDate(19020101D), 20240311D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240311D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 18, '', 506.6); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), '', ContosoUtilities.AdjustDate(19020101D), 20240312D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240312D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 9, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240313D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240313D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 16, '', 27.8); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240313D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240313D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 12, '', 707.2); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), '', ContosoUtilities.AdjustDate(19020101D), 20240314D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240314D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 7, '', 97.5); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240314D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240314D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 8, '', 96.1); + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), '', ContosoUtilities.AdjustDate(19020101D), 20240315D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240315D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 10, '', 219.5); + + CreateOpenedPurchaseInvoices(); + end; + + local procedure CreatePurchaseOrders() + var + PurchaseHeader: Record "Purchase Header"; + ContosoPurchase: codeunit "Contoso Purchase"; + CreateVendor: codeunit "Create Vendor"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + CreateResource: Codeunit "Create Resource"; + begin + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.ExportFabrikam(), OpenYourReference(), ContosoUtilities.AdjustDate(19030408D), ContosoUtilities.AdjustDate(19030408D), ContosoUtilities.AdjustDate(19030409D), CreatePaymentTerms.PaymentTermsCM(), '', '', '5755', ContosoUtilities.AdjustDate(19030408D), ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 7); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticFirstUp(), OpenYourReference(), ContosoUtilities.AdjustDate(19030409D), ContosoUtilities.AdjustDate(19030409D), ContosoUtilities.AdjustDate(19030410D), CreatePaymentTerms.PaymentTermsCM(), '', '', '23047', ContosoUtilities.AdjustDate(19030409D), ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 14); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticWorldImporter(), OpenYourReference(), ContosoUtilities.AdjustDate(19030413D), ContosoUtilities.AdjustDate(19030413D), ContosoUtilities.AdjustDate(19030414D), CreatePaymentTerms.PaymentTermsCM(), '', '', 'D-304', ContosoUtilities.AdjustDate(19030413D), ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 8); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 20); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 20); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), OpenYourReference(), ContosoUtilities.AdjustDate(19030501D), ContosoUtilities.AdjustDate(19030501D), ContosoUtilities.AdjustDate(19030502D), CreatePaymentTerms.PaymentTermsCM(), '', '', '563', ContosoUtilities.AdjustDate(19030501D), ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 10); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantaWhiteboardBase(), 2); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticNodPublisher(), OpenYourReference(), ContosoUtilities.AdjustDate(19030411D), ContosoUtilities.AdjustDate(19030411D), ContosoUtilities.AdjustDate(19030412D), CreatePaymentTerms.PaymentTermsCM(), '', '', 'V5-010', ContosoUtilities.AdjustDate(19030411D), ''); + ContosoPurchase.InsertPurchaseLineWithResource(PurchaseHeader, CreateResource.Katherine(), 4); + ContosoPurchase.InsertPurchaseLineWithResource(PurchaseHeader, CreateResource.Marty(), 8); + end; + + local procedure CreateOpenedPurchaseInvoices() + var + PurchaseHeader: Record "Purchase Header"; + ContosoPurchase: codeunit "Contoso Purchase"; + CreateVendor: codeunit "Create Vendor"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + begin + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.ExportFabrikam(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030408D), ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '107209', ContosoUtilities.AdjustDate(19030408D), ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 5); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030410D), ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '107210', ContosoUtilities.AdjustDate(19030410D), ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 7); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030501D), ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '107211', ContosoUtilities.AdjustDate(19030501D), ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 5); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 9); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantaWhiteboardBase(), 2); + end; + + local procedure CreatePurchaseInvoicesForReconciliation() + var + PurchaseHeader: Record "Purchase Header"; + ContosoPurchase: codeunit "Contoso Purchase"; + CreateVendor: codeunit "Create Vendor"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + begin + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticFirstUp(), ReconciliationYourReference(), ContosoUtilities.AdjustDate(19020101D), 20240307D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240307D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 7); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 7); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.DomesticWorldImporter(), ReconciliationYourReference(), ContosoUtilities.AdjustDate(19020101D), 20240307D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240307D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 6); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Invoice, CreateVendor.EUGraphicDesign(), ReconciliationYourReference(), ContosoUtilities.AdjustDate(19020101D), 20240308D, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', 20240308D, ''); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 9); + end; + + procedure OpenYourReference(): Code[35] + begin + exit(OpenYourReferenceTok); + end; + + procedure ReconciliationYourReference(): Code[35] + begin + exit(ReconciliationYourReferenceTok); + end; + + var + OpenYourReferenceTok: Label 'OPEN', MaxLength = 35; + ReconciliationYourReferenceTok: Label 'RECONCILE', MaxLength = 35; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/4.Historical/CreatePostedPurchaseData.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/4.Historical/CreatePostedPurchaseData.Codeunit.al new file mode 100644 index 0000000000..790c7b400e --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/4.Historical/CreatePostedPurchaseData.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 5689 "Create Posted Purchase Data" +{ + trigger OnRun() + var + PurchHeader: Record "Purchase Header"; + CreatePurchaseDocument: Codeunit "Create Purchase Document"; + begin + PurchHeader.SetRange("Document Type", PurchHeader."Document Type"::Invoice); + PurchHeader.SetFilter("Your Reference", '<>%1', CreatePurchaseDocument.OpenYourReference()); + if PurchHeader.FindSet() then + repeat + PurchHeader.Validate(Invoice, true); + PurchHeader.Validate(Receive, true); + Codeunit.Run(Codeunit::"Purch.-Post", PurchHeader); + until PurchHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/4.Historical/PostTransferData.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/4.Historical/PostTransferData.Codeunit.al new file mode 100644 index 0000000000..670b5b7216 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/4.Historical/PostTransferData.Codeunit.al @@ -0,0 +1,20 @@ +codeunit 5666 "Post Transfer Data" +{ + trigger OnRun() + var + TransferHeader: Record "Transfer Header"; + TransferOrderPostShipment: Codeunit "TransferOrder-Post Shipment"; + TransferOrderPostReceipt: Codeunit "TransferOrder-Post Receipt"; + CreateTransferOrders: Codeunit "Create Transfer Orders"; + begin + TransferHeader.SetFilter("External Document No.", '<>%1', CreateTransferOrders.OpenExternalDocumentNo()); + if TransferHeader.FindSet() then + repeat + TransferOrderPostShipment.SetHideValidationDialog(true); + TransferOrderPostShipment.Run(TransferHeader); + + TransferOrderPostReceipt.SetHideValidationDialog(true); + TransferOrderPostReceipt.Run(TransferHeader); + until TransferHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/PurchaseModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/PurchaseModule.Codeunit.al new file mode 100644 index 0000000000..332bdc440b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Purchases/PurchaseModule.Codeunit.al @@ -0,0 +1,44 @@ +codeunit 5394 "Purchase Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + procedure RunConfigurationPage() + begin + exit; + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::Foundation); + Dependencies.Add(Enum::"Contoso Demo Data Module"::"Finance"); + Dependencies.Add(Enum::"Contoso Demo Data Module"::CRM); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Bank); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Inventory); + end; + + procedure CreateSetupData() + begin + Codeunit.Run(codeunit::"Create Purchase Payable Setup"); + Codeunit.Run(codeunit::"Create Vendor Posting Group"); + end; + + procedure CreateMasterData() + begin + Codeunit.Run(codeunit::"Create Over-Receipt Code"); + Codeunit.Run(codeunit::"Create Vendor"); + Codeunit.Run(codeunit::"Create Vendor Bank Account"); + Codeunit.Run(codeunit::"Create Vendor Template"); + Codeunit.Run(codeunit::"Create Purchase Dim. Value"); + end; + + procedure CreateTransactionalData() + begin + Codeunit.Run(Codeunit::"Create Purchase Document"); + end; + + procedure CreateHistoricalData() + begin + Codeunit.Run(Codeunit::"Create Posted Purchase Data"); + Codeunit.Run(Codeunit::"Post Transfer Data"); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateCustomerPostingGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateCustomerPostingGroup.Codeunit.al new file mode 100644 index 0000000000..4aa5553b16 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateCustomerPostingGroup.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 5227 "Create Customer Posting Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoPostingGroup: Codeunit "Contoso Posting Group"; + CreateGLAccount: Codeunit "Create G/L Account"; + begin + ContosoPostingGroup.InsertCustomerPostingGroup(Domestic(), CreateGLAccount.CustomersDomestic(), CreateGLAccount.FeesandChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PmtDiscGrantedDecreases(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases(), DomesticCustomersLbl); + ContosoPostingGroup.InsertCustomerPostingGroup(EU(), CreateGLAccount.CustomersForeign(), CreateGLAccount.FeesandChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PmtDiscGrantedDecreases(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases(), EUCustomersLbl); + ContosoPostingGroup.InsertCustomerPostingGroup(Foreign(), CreateGLAccount.CustomersForeign(), CreateGLAccount.FeesandChargesRecDom(), CreateGLAccount.PaymentDiscountsGranted(), CreateGLAccount.InvoiceRounding(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.FinanceChargesfromCustomers(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.ApplicationRounding(), CreateGLAccount.PmtDiscGrantedDecreases(), CreateGLAccount.PaymentToleranceGranted(), CreateGLAccount.PmtTolGrantedDecreases(), ForeignCustomersLbl); + end; + + procedure Domestic(): Code[20] + begin + exit(DomesticTok); + end; + + procedure EU(): Code[20] + begin + exit(EUTok); + end; + + procedure Foreign(): Code[20] + begin + exit(ForeignTok); + end; + + var + DomesticCustomersLbl: Label 'Domestic customers', MaxLength = 100; + EUCustomersLbl: Label 'Customers in EU', MaxLength = 100; + ForeignCustomersLbl: Label 'Foreign customers (not EU)', MaxLength = 100; + DomesticTok: Label 'DOMESTIC', MaxLength = 20; + EUTok: Label 'EU', MaxLength = 20; + ForeignTok: Label 'FOREIGN', MaxLength = 20; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateFinanceChargeTerms.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateFinanceChargeTerms.Codeunit.al new file mode 100644 index 0000000000..f93a9afaba --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateFinanceChargeTerms.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 5202 "Create Finance Charge Terms" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoFinanceCharge: Codeunit "Contoso Finance Charge"; + begin + ContosoFinanceCharge.InsertFinanceChargeTerms(Domestic(), 1.5, DomesticCustomersLbl, Enum::"Interest Calculation Method"::"Average Daily Balance", 30, '<5D>', '<1M>', true, true, LineWiseFinanceChargeLbl, SumFinanceChargeLbl); + ContosoFinanceCharge.InsertFinanceChargeTerms(Foreign(), 2, ForeignCustomersLbl, Enum::"Interest Calculation Method"::"Average Daily Balance", 30, '<7D>', '<1M>', true, true, LineWiseFinanceChargeLbl, SumFinanceChargeLbl); + end; + + procedure Domestic(): Code[10] + begin + exit(DomesticTok); + end; + + procedure Foreign(): Code[10] + begin + exit(ForeignTok); + end; + + var + DomesticTok: Label '1.5 DOM.', MaxLength = 10; + ForeignTok: Label '2.0 FOR.', MaxLength = 10; + DomesticCustomersLbl: Label '1.5 % for Domestic Customers', MaxLength = 100; + ForeignCustomersLbl: Label '2.0 % for Foreign Customers', MaxLength = 100; + LineWiseFinanceChargeLbl: Label '%4% finance charge of %6', MaxLength = 100, Comment = '%4 Line Description, %6 Line Description'; + SumFinanceChargeLbl: Label 'Sum finance charge of %5', MaxLength = 100, Comment = '%5 Detailed Lines Description'; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderLevel.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderLevel.Codeunit.al new file mode 100644 index 0000000000..feb8eca201 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderLevel.Codeunit.al @@ -0,0 +1,49 @@ +codeunit 5304 "Create Reminder Level" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoReminder: Codeunit "Contoso Reminder"; + CreateReminderTerms: Codeunit "Create Reminder Terms"; + begin + ContosoReminder.InsertReminderLevel(CreateReminderTerms.Domestic(), DomesticLevel1(), '<2D>', 5, '<7D>'); + ContosoReminder.InsertReminderLevel(CreateReminderTerms.Domestic(), DomesticLevel2(), '<2D>', 10, '<7D>'); + ContosoReminder.InsertReminderLevel(CreateReminderTerms.Domestic(), DomesticLevel3(), '<2D>', 15, '<7D>'); + + ContosoReminder.InsertReminderLevel(CreateReminderTerms.Foreign(), ForeignLevel1(), '<3D>', 0, '<7D>'); + ContosoReminder.InsertReminderLevel(CreateReminderTerms.Foreign(), ForeignLevel2(), '<3D>', 0, '<7D>'); + ContosoReminder.InsertReminderLevel(CreateReminderTerms.Foreign(), ForeignLevel3(), '<3D>', 0, '<7D>'); + end; + + procedure DomesticLevel1(): Integer + begin + exit(1); + end; + + procedure DomesticLevel2(): Integer + begin + exit(2); + end; + + procedure DomesticLevel3(): Integer + begin + exit(3); + end; + + procedure ForeignLevel1(): Integer + begin + exit(1); + end; + + procedure ForeignLevel2(): Integer + begin + exit(2); + end; + + procedure ForeignLevel3(): Integer + begin + exit(3); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderTerms.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderTerms.Codeunit.al new file mode 100644 index 0000000000..1e4b9e93e6 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderTerms.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 5303 "Create Reminder Terms" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoReminder: Codeunit "Contoso Reminder"; + begin + ContosoReminder.InsertReminderTerms(Domestic(), DomesticCustomersLbl); + ContosoReminder.InsertReminderTerms(Foreign(), ForeignCustomersLbl); + end; + + procedure Domestic(): Code[10] + begin + exit(DomesticTok); + end; + + procedure Foreign(): Code[10] + begin + exit(ForeignTok); + end; + + var + DomesticTok: Label 'DOMESTIC', MaxLength = 10; + ForeignTok: Label 'FOREIGN', MaxLength = 10; + DomesticCustomersLbl: Label 'Domestic Customers', MaxLength = 100; + ForeignCustomersLbl: Label 'Foreign Customers', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderText.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderText.Codeunit.al new file mode 100644 index 0000000000..18ab98a778 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateReminderText.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 5268 "Create Reminder Text" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + CreateReminderTerms: Codeunit "Create Reminder Terms"; + CreateReminderLevel: Codeunit "Create Reminder Level"; + ContosoReminder: Codeunit "Contoso Reminder"; + begin + ContosoReminder.InsertReminderText(CreateReminderTerms.Domestic(), CreateReminderLevel.DomesticLevel1(), Enum::"Reminder Text Position"::Ending, 10000, DomesticPmtReminderLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Domestic(), CreateReminderLevel.DomesticLevel2(), Enum::"Reminder Text Position"::Ending, 10000, BalanceLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Domestic(), CreateReminderLevel.DomesticLevel2(), Enum::"Reminder Text Position"::Ending, 20000, AccountAgencyLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Domestic(), CreateReminderLevel.DomesticLevel3(), Enum::"Reminder Text Position"::Ending, 20000, ReminderLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Domestic(), CreateReminderLevel.DomesticLevel3(), Enum::"Reminder Text Position"::Ending, 30000, AccountAttorneyLbl); + + ContosoReminder.InsertReminderText(CreateReminderTerms.Foreign(), CreateReminderLevel.DomesticLevel1(), Enum::"Reminder Text Position"::Ending, 30000, DomesticPmtReminderLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Foreign(), CreateReminderLevel.DomesticLevel2(), Enum::"Reminder Text Position"::Ending, 30000, BalanceLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Foreign(), CreateReminderLevel.DomesticLevel2(), Enum::"Reminder Text Position"::Ending, 40000, AccountAgencyLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Foreign(), CreateReminderLevel.DomesticLevel3(), Enum::"Reminder Text Position"::Ending, 40000, ReminderLbl); + ContosoReminder.InsertReminderText(CreateReminderTerms.Foreign(), CreateReminderLevel.DomesticLevel3(), Enum::"Reminder Text Position"::Ending, 50000, AccountAttorneyLbl); + end; + + var + DomesticPmtReminderLbl: Label 'Please remit your payment of %7 as soon as possible.', MaxLength = 100, Comment = '%7 Document Type'; + BalanceLbl: Label 'If the balance is not received within 10 days,', MaxLength = 100; + AccountAgencyLbl: Label 'your account will be sent to a collection agency.', MaxLength = 100; + ReminderLbl: Label 'This is reminder number %8.', MaxLength = 100, Comment = '%8 No. of Reminders'; + AccountAttorneyLbl: Label 'Your account has now been sent to our attorney.', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateSalesReceivableSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateSalesReceivableSetup.Codeunit.al new file mode 100644 index 0000000000..213280a495 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/1.Setup Data/CreateSalesReceivableSetup.Codeunit.al @@ -0,0 +1,15 @@ +codeunit 5271 "Create Sales Receivable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoSalesReceivableSetup: Codeunit "Contoso Sales Receivable Setup"; + CreateNoSeries: Codeunit "Create No. Series"; + CreateVATPostingGroups: Codeunit "Create VAT Posting Groups"; + CreateJobQueueCategory: Codeunit "Create Job Queue Category"; + begin + ContosoSalesReceivableSetup.InsertSalesReceivablesSetup(3, true, true, CreateNoSeries.Customer(), CreateNoSeries.SalesQuote(), CreateNoSeries.SalesOrder(), CreateNoSeries.SalesInvoice(), CreateNoSeries.PostedSalesInvoice(), CreateNoSeries.SalesCreditMemo(), CreateNoSeries.PostedSalesCreditMemo(), CreateNoSeries.SalesShipment(), CreateNoSeries.Reminder(), CreateNoSeries.IssuedReminder(), CreateNoSeries.FinanceChargeMemo(), CreateNoSeries.IssuedFinanceChargeMemo(), CreateNoSeries.BlanketSalesOrder(), 2, true, true, true, Enum::"Default Posting Date"::"Work Date", CreateJobQueueCategory.SalesPurchasePosting(), 1000, 1000, CreateVATPostingGroups.Domestic(), Enum::"Setup Report Output Type"::PDF, Enum::"Sales Line Type"::Item, true, Enum::"Posting Group Change Method"::"Alternative Groups", Enum::"Non-Invt. Item Whse. Policy"::None, CreateNoSeries.PostedSalesReceipt(), true, true, CreateNoSeries.SalesReturnOrder(), Enum::"Price Calculation Method"::"Lowest Price", CreateNoSeries.SalesPriceList(), true, true); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomer.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomer.Codeunit.al new file mode 100644 index 0000000000..ce15e313af --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomer.Codeunit.al @@ -0,0 +1,82 @@ +codeunit 5209 "Create Customer" +{ + InherentEntitlements = X; + InherentPermissions = X; + + //To do -Hard coded values pending to replace - Post Code + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreateVatPostingGroups: Codeunit "Create VAT Posting Groups"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreateCustomerPostinGroup: Codeunit "Create Customer Posting Group"; + CreateReminderTerms: Codeunit "Create Reminder Terms"; + CreateLanguage: Codeunit "Create Language"; + CreateCountryRegion: Codeunit "Create Country/Region"; + CreateDocSendingProfile: Codeunit "Create Doc Sending Profile"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateTerritory: Codeunit "Create Territory"; + CreateSalespersonPurchaser: Codeunit "Create Salesperson/Purchaser"; + CreateContJobResponsibility: Codeunit "Create Cont Job Responsibility"; + begin + ContosoCoffeeDemoDataSetup.Get(); + ContosoCustomerVendor.InsertCustomer(DomesticAdatumCorporation(), AdatumCorporationLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", AdatumCorporationAddressLbl, '', 'CB1 2FB', '', CreateCustomerPostinGroup.Domestic(), CreatePostingGroups.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), '', '', false, CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.EmptyPicture(), CreateDocSendingProfile.DefaultDocumentSendingProfile(), RobertTownesLbl, '', CreateLanguage.ENG(), CreateSalespersonPurchaser.JimOlive(), 'robert.townes@contoso.com', CreateReminderTerms.Domestic()); + ContosoCustomerVendor.InsertCustomer(DomesticTreyResearch(), TreyResearchLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", TreyResearchAddressLbl, '', 'SE1 0AX', '', CreateCustomerPostinGroup.Domestic(), CreatePostingGroups.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), '', '', false, CreatePaymentTerms.PaymentTermsDAYS14(), ContosoUtilities.EmptyPicture(), '', HelenRayLbl, '', CreateLanguage.ENG(), CreateSalespersonPurchaser.JimOlive(), 'helen.ray@contoso.com', CreateReminderTerms.Domestic()); + ContosoCustomerVendor.InsertCustomer(ExportSchoolofArt(), SchoolofArtLbl, CreateCountryRegion.US(), SchoolofArtAddressLbl, '', 'US-FL 37125', '', CreateCustomerPostinGroup.Foreign(), CreatePostingGroups.ExportPostingGroup(), CreateVatPostingGroups.Export(), '', '', false, CreatePaymentTerms.PaymentTermsCM(), ContosoUtilities.EmptyPicture(), '', MeaganBondLbl, CreateTerritory.Foreign(), CreateLanguage.ENU(), CreateSalespersonPurchaser.JimOlive(), 'meagan.bond@contoso.com', CreateReminderTerms.Foreign()); + ContosoCustomerVendor.InsertCustomer(EUAlpineSkiHouse(), AlpineSkiHouseLbl, CreateCountryRegion.DE(), AlpineSkiHouseAddressLbl, AlpineSkiHouseAddress2Lbl, 'DE-80807', '', CreateCustomerPostinGroup.EU(), CreatePostingGroups.EUPostingGroup(), CreateVatPostingGroups.EU(), '', '', false, CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.EmptyPicture(), '', IanDeberryLbl, CreateTerritory.Foreign(), CreateLanguage.DEU(), CreateSalespersonPurchaser.JimOlive(), 'ian.deberry@contoso.com', CreateReminderTerms.Foreign()); + ContosoCustomerVendor.InsertCustomer(DomesticRelecloud(), RelecloudLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", RelecloudAddressLbl, RelecloudAddresss2Lbl, 'GU2 7YQ', '', CreateCustomerPostinGroup.Domestic(), CreatePostingGroups.DomesticPostingGroup(), CreateVatPostingGroups.Domestic(), '', '', false, CreatePaymentTerms.PaymentTermsDAYS14(), ContosoUtilities.EmptyPicture(), '', JesseHomerLbl, '', CreateLanguage.ENG(), CreateSalespersonPurchaser.JimOlive(), 'jesse.homer@contoso.com', CreateReminderTerms.Domestic()); + CreateContJobResponsibility.UpdateCustomerContactJobResposibility(); + end; + + procedure DomesticAdatumCorporation(): Code[20] + begin + exit(DomesticAdatumCorporationTok); + end; + + procedure DomesticTreyResearch(): Code[20] + begin + exit(DomesticTreyResearchTok); + end; + + procedure ExportSchoolofArt(): Code[20] + begin + exit(ExportSchoolofArtTok); + end; + + procedure EUAlpineSkiHouse(): Code[20] + begin + exit(EUAlpineSkiHouseTok); + end; + + procedure DomesticRelecloud(): Code[20] + begin + exit(DomesticRelecloudTok); + end; + + var + DomesticAdatumCorporationTok: Label '10000', MaxLength = 20, Locked = true; + DomesticTreyResearchTok: Label '20000', MaxLength = 20, Locked = true; + ExportSchoolofArtTok: Label '30000', MaxLength = 20, Locked = true; + EUAlpineSkiHouseTok: Label '40000', MaxLength = 20, Locked = true; + DomesticRelecloudTok: Label '50000', MaxLength = 20, Locked = true; + AdatumCorporationLbl: Label 'Adatum Corporation', MaxLength = 100; + TreyResearchLbl: Label 'Trey Research', MaxLength = 100; + SchoolofArtLbl: Label 'School of Fine Art', MaxLength = 100; + AlpineSkiHouseLbl: Label 'Alpine Ski House', MaxLength = 100; + RelecloudLbl: Label 'Relecloud', MaxLength = 100; + AdatumCorporationAddressLbl: Label 'Station Road, 21', MaxLength = 100, Locked = true; + TreyResearchAddressLbl: Label 'Southwark Bridge Rd, 91-95', MaxLength = 100, Locked = true; + SchoolofArtAddressLbl: Label '10 High Tower Green', MaxLength = 100, Locked = true; + AlpineSkiHouseAddressLbl: Label 'Walter-Gropius-Strasse 5', MaxLength = 100, Locked = true; + RelecloudAddressLbl: Label 'Occam Court, 1', MaxLength = 100, Locked = true; + AlpineSkiHouseAddress2Lbl: Label 'Park Stadt Schwabing', MaxLength = 50, Locked = true; + RelecloudAddresss2Lbl: Label 'Surrey', MaxLength = 50, Locked = true; + RobertTownesLbl: Label 'Robert Townes', MaxLength = 100; + HelenRayLbl: Label 'Helen Ray', MaxLength = 100; + MeaganBondLbl: Label 'Meagan Bond', MaxLength = 100; + IanDeberryLbl: Label 'Ian Deberry', MaxLength = 100; + JesseHomerLbl: Label 'Jesse Homer', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerBankAccount.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerBankAccount.Codeunit.al new file mode 100644 index 0000000000..3b4f6bba2b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerBankAccount.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 5325 "Create Customer Bank Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + CreateLanguage: Codeunit "Create Language"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCustomerVendor.InsertCustomerBankAccount(CreateCustomer.DomesticAdatumCorporation(), ECA(), NameLbl, AnchorHouseLbl, SheelaWordLbl, '+44 296 196933', BranchLbl, AdatumAccountNoLbl, '+44 296 151727', CreateLanguage.ENG(), 'GB 54 BARC 20992012345678'); + ContosoCustomerVendor.InsertCustomerBankAccount(CreateCustomer.DomesticTreyResearch(), ECA(), NameLbl, AnchorHouseLbl, SheelaWordLbl, '+44 296 196933', BranchLbl, TreyAccountNoLbl, '+44 296 151727', CreateLanguage.ENG(), ''); + end; + + procedure ECA(): Code[20] + begin + exit(ECATok); + end; + + var + ECATok: Label 'ECA', MaxLength = 20; + NameLbl: Label 'ECA Bank', MaxLength = 100; + AnchorHouseLbl: Label 'Anchor House 43', MaxLength = 100, Locked = true; + SheelaWordLbl: Label 'Sheela Word', MaxLength = 100, Locked = true; + BranchLbl: Label '1200', MaxLength = 20, Locked = true; + AdatumAccountNoLbl: Label '1200 100001', MaxLength = 30, Locked = true; + TreyAccountNoLbl: Label '1200 100002', MaxLength = 30, Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerDiscountGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerDiscountGroup.Codeunit.al new file mode 100644 index 0000000000..22a83d3f66 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerDiscountGroup.Codeunit.al @@ -0,0 +1,29 @@ +codeunit 5413 "Create Customer Discount Group" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + begin + ContosoCustomerVendor.InsertCustomerDiscountGroup(LargeAcc(), LargeAccountLbl); + ContosoCustomerVendor.InsertCustomerDiscountGroup(Retail(), RetailLbl); + end; + + procedure LargeAcc(): Code[20] + begin + exit(LargeAccTok); + end; + + procedure Retail(): Code[20] + begin + exit(RetailTok); + end; + + var + LargeAccTok: Label 'LARGE ACC', MaxLength = 20; + RetailTok: Label 'RETAIL', MaxLength = 20; + LargeAccountLbl: Label 'Large account', MaxLength = 100; + RetailLbl: Label 'Retail', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerTemplate.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerTemplate.Codeunit.al new file mode 100644 index 0000000000..174be707c9 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateCustomerTemplate.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 5562 "Create Customer Template" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + CreateCustomerPostingGroup: Codeunit "Create Customer Posting Group"; + CreatePostingGroups: Codeunit "Create Posting Groups"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreatePaymentMethod: Codeunit "Create Payment Method"; + begin + ContosoCoffeeDemoDataSetup.Get(); + ContosoCustomerVendor.InsertCustomerTempl(CustomerCompany(), B2BCustomerLbl, CreateCustomerPostingGroup.Domestic(), CreatePaymentTerms.PaymentTermsM8D(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePaymentMethod.Bank(), false, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), Enum::"Contact Type"::Company, true, false); + ContosoCustomerVendor.InsertCustomerTempl(CustomerEUCompany(), EUCustomerLbl, CreateCustomerPostingGroup.EU(), CreatePaymentTerms.PaymentTermsDAYS14(), '', CreatePaymentMethod.Bank(), false, CreatePostingGroups.EUPostingGroup(), CreatePostingGroups.EUPostingGroup(), Enum::"Contact Type"::Company, true, true); + ContosoCustomerVendor.InsertCustomerTempl(CustomerPerson(), CashPaymentLbl, CreateCustomerPostingGroup.Domestic(), CreatePaymentTerms.PaymentTermsCOD(), ContosoCoffeeDemoDataSetup."Country/Region Code", CreatePaymentMethod.Cash(), true, CreatePostingGroups.DomesticPostingGroup(), CreatePostingGroups.DomesticPostingGroup(), Enum::"Contact Type"::Person, true, false); + end; + + procedure CustomerCompany(): Code[20] + begin + exit(CustomerCompanyTok); + end; + + procedure CustomerEUCompany(): Code[20] + begin + exit(CustomerEUCompanyTok); + end; + + procedure CustomerPerson(): Code[20] + begin + exit(CustomerPersonTok); + end; + + var + CustomerCompanyTok: Label 'CUSTOMER COMPANY', MaxLength = 20; + CustomerEUCompanyTok: Label 'CUSTOMER EU COMPANY', MaxLength = 20; + CustomerPersonTok: Label 'CUSTOMER PERSON', MaxLength = 20; + B2BCustomerLbl: Label 'Business-to-Business Customer (Bank)', MaxLength = 100; + EUCustomerLbl: Label 'EU Customer (Bank)', MaxLength = 100; + CashPaymentLbl: Label 'Cash-Payment Customer (Cash)', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateSalesDimensionValue.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateSalesDimensionValue.Codeunit.al new file mode 100644 index 0000000000..6ff190557d --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateSalesDimensionValue.Codeunit.al @@ -0,0 +1,30 @@ +codeunit 5412 "Create Sales Dimension Value" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + CreateCustomer: Codeunit "Create Customer"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + begin + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticAdatumCorporation(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthNonEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticAdatumCorporation(), CreateDimension.CustomerGroupDimension(), CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticTreyResearch(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthNonEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticTreyResearch(), CreateDimension.CustomerGroupDimension(), CreateDimensionValue.LargeBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.ExportSchoolofArt(), CreateDimension.AreaDimension(), CreateDimensionValue.AmericaNorthArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory", CreateDimensionValue.AmericaNorthArea() + '|' + CreateDimensionValue.AmericaSouthArea()); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.ExportSchoolofArt(), CreateDimension.BusinessGroupDimension(), CreateDimensionValue.HomeBusinessGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.ExportSchoolofArt(), CreateDimension.CustomerGroupDimension(), CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.EUAlpineSkiHouse(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.EUAlpineSkiHouse(), CreateDimension.CustomerGroupDimension(), CreateDimensionValue.SmallBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticRelecloud(), CreateDimension.AreaDimension(), CreateDimensionValue.EuropeNorthNonEUArea(), Enum::"Default Dimension Value Posting Type"::"Code Mandatory"); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticRelecloud(), CreateDimension.BusinessGroupDimension(), CreateDimensionValue.OfficeBusinessGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + ContosoDimension.InsertDefaultDimensionValue(Database::Customer, CreateCustomer.DomesticRelecloud(), CreateDimension.CustomerGroupDimension(), CreateDimensionValue.MediumBusinessCustomerGroup(), Enum::"Default Dimension Value Posting Type"::"Same Code"); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateShiptoAddress.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateShiptoAddress.Codeunit.al new file mode 100644 index 0000000000..9c5f573fa3 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/2.Master Data/CreateShiptoAddress.Codeunit.al @@ -0,0 +1,54 @@ +codeunit 5243 "Create Ship-to Address" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ContosoCustomerVendor: Codeunit "Contoso Customer/Vendor"; + CreateCustomer: Codeunit "Create Customer"; + begin + ContosoCoffeeDemoDataSetup.Get(); + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticAdatumCorporation(), Cheltenham(), AdatumCorporationLbl, CheltenhamAddressLbl, CheltenhamCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'GL50 1TY'); + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticAdatumCorporation(), London(), AdatumCorporationLbl, LondonAddressLbl, LondonCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'W2 6BD'); + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticTreyResearch(), Fleet(), TreyResearchLbl, FleetAddressLbl, FleetCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'GU52 8DY'); + ContosoCustomerVendor.InsertShiptoAddress(CreateCustomer.DomesticTreyResearch(), TWYCross(), TreyResearchLbl, TWYCrossAddressLbl, TWYCityLbl, ContosoCoffeeDemoDataSetup."Country/Region Code", 'CV9 3QN'); + end; + + procedure Cheltenham(): Code[10] + begin + exit(CheltenhamTok); + end; + + procedure London(): Code[10] + begin + exit(LondonTok); + end; + + procedure Fleet(): Code[10] + begin + exit(FleetTok); + end; + + procedure TWYCross(): Code[10] + begin + exit(TWYCrossTok); + end; + + var + CheltenhamTok: Label 'CHELTENHAM', MaxLength = 10; + LondonTok: Label 'LONDON', MaxLength = 10; + FleetTok: Label 'FLEET', MaxLength = 10; + TWYCrossTok: Label 'TWYCROSS', MaxLength = 10; + AdatumCorporationLbl: Label 'Adatum Corporation', MaxLength = 100; + TreyResearchLbl: Label 'Trey Research', MaxLength = 100; + CheltenhamAddressLbl: Label 'Montpellier House', MaxLength = 100; + LondonAddressLbl: Label 'Kingdom Street, 2', MaxLength = 100; + FleetAddressLbl: Label 'Beacon Hill Road', MaxLength = 100; + TWYCrossAddressLbl: Label 'Manor Park', MaxLength = 100; + CheltenhamCityLbl: Label 'Cheltenham', MaxLength = 30; + LondonCityLbl: Label 'London', MaxLength = 30; + FleetCityLbl: Label 'Fleet', MaxLength = 30; + TWYCityLbl: Label 'Atherstone', MaxLength = 30; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/3.Transactions/CreateSalesDocument.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/3.Transactions/CreateSalesDocument.Codeunit.al new file mode 100644 index 0000000000..f99459769b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/3.Transactions/CreateSalesDocument.Codeunit.al @@ -0,0 +1,780 @@ +codeunit 5418 "Create Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + CreateSalesInvoicesToPost(); + CreateOpenSalesDocuments(); + CreatePaidLateSalesDocuments(); + end; + + local procedure CreateSalesInvoicesToPost() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateCustomer: Codeunit "Create Customer"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + CreatePaymentMethod: Codeunit "Create Payment Method"; + begin + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230117D, CreatePaymentTerms.PaymentTermsCOD(), 20230117D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230118D, CreatePaymentTerms.PaymentTermsCOD(), 20230118D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230119D, CreatePaymentTerms.PaymentTermsCOD(), 20230119D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230120D, CreatePaymentTerms.PaymentTermsCOD(), 20230120D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230121D, CreatePaymentTerms.PaymentTermsCOD(), 20230121D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230122D, CreatePaymentTerms.PaymentTermsCOD(), 20230122D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230122D, CreatePaymentTerms.PaymentTermsCOD(), 20230122D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230124D, CreatePaymentTerms.PaymentTermsCOD(), 20230124D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230125D, CreatePaymentTerms.PaymentTermsCOD(), 20230125D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230125D, CreatePaymentTerms.PaymentTermsCOD(), 20230125D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230127D, CreatePaymentTerms.PaymentTermsCOD(), 20230127D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230128D, CreatePaymentTerms.PaymentTermsCOD(), 20230128D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230131D, CreatePaymentTerms.PaymentTermsCOD(), 20230131D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230201D, CreatePaymentTerms.PaymentTermsCOD(), 20230201D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230216D, CreatePaymentTerms.PaymentTermsCOD(), 20230216D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230216D, CreatePaymentTerms.PaymentTermsCOD(), 20230216D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230218D, CreatePaymentTerms.PaymentTermsCOD(), 20230218D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230219D, CreatePaymentTerms.PaymentTermsCOD(), 20230219D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230220D, CreatePaymentTerms.PaymentTermsCOD(), 20230220D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230220D, CreatePaymentTerms.PaymentTermsCOD(), 20230220D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230221D, CreatePaymentTerms.PaymentTermsCOD(), 20230221D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230223D, CreatePaymentTerms.PaymentTermsCOD(), 20230223D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230224D, CreatePaymentTerms.PaymentTermsCOD(), 20230224D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230224D, CreatePaymentTerms.PaymentTermsCOD(), 20230224D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 9); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230228D, CreatePaymentTerms.PaymentTermsCOD(), 20230228D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230228D, CreatePaymentTerms.PaymentTermsCOD(), 20230228D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230317D, CreatePaymentTerms.PaymentTermsCOD(), 20230317D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230318D, CreatePaymentTerms.PaymentTermsCOD(), 20230318D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230319D, CreatePaymentTerms.PaymentTermsCOD(), 20230319D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230320D, CreatePaymentTerms.PaymentTermsCOD(), 20230320D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230321D, CreatePaymentTerms.PaymentTermsCOD(), 20230321D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230322D, CreatePaymentTerms.PaymentTermsCOD(), 20230322D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230322D, CreatePaymentTerms.PaymentTermsCOD(), 20230322D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230324D, CreatePaymentTerms.PaymentTermsCOD(), 20230324D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230325D, CreatePaymentTerms.PaymentTermsCOD(), 20230325D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230325D, CreatePaymentTerms.PaymentTermsCOD(), 20230325D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230327D, CreatePaymentTerms.PaymentTermsCOD(), 20230327D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230328D, CreatePaymentTerms.PaymentTermsCOD(), 20230328D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230331D, CreatePaymentTerms.PaymentTermsCOD(), 20230331D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230401D, CreatePaymentTerms.PaymentTermsCOD(), 20230401D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230416D, CreatePaymentTerms.PaymentTermsCOD(), 20230416D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230418D, CreatePaymentTerms.PaymentTermsCOD(), 20230418D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230419D, CreatePaymentTerms.PaymentTermsCOD(), 20230419D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230420D, CreatePaymentTerms.PaymentTermsCOD(), 20230420D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230421D, CreatePaymentTerms.PaymentTermsCOD(), 20230421D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230423D, CreatePaymentTerms.PaymentTermsCOD(), 20230423D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230423D, CreatePaymentTerms.PaymentTermsCOD(), 20230423D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230424D, CreatePaymentTerms.PaymentTermsCOD(), 20230424D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230424D, CreatePaymentTerms.PaymentTermsCOD(), 20230424D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230427D, CreatePaymentTerms.PaymentTermsCOD(), 20230427D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230427D, CreatePaymentTerms.PaymentTermsCOD(), 20230427D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 11); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230501D, CreatePaymentTerms.PaymentTermsCOD(), 20230501D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230517D, CreatePaymentTerms.PaymentTermsCOD(), 20230517D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230518D, CreatePaymentTerms.PaymentTermsCOD(), 20230518D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230519D, CreatePaymentTerms.PaymentTermsCOD(), 20230519D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230520D, CreatePaymentTerms.PaymentTermsCOD(), 20230520D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230521D, CreatePaymentTerms.PaymentTermsCOD(), 20230521D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230522D, CreatePaymentTerms.PaymentTermsCOD(), 20230522D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230522D, CreatePaymentTerms.PaymentTermsCOD(), 20230522D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230524D, CreatePaymentTerms.PaymentTermsCOD(), 20230524D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230525D, CreatePaymentTerms.PaymentTermsCOD(), 20230525D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230525D, CreatePaymentTerms.PaymentTermsCOD(), 20230525D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230527D, CreatePaymentTerms.PaymentTermsCOD(), 20230527D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230528D, CreatePaymentTerms.PaymentTermsCOD(), 20230528D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 9); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230531D, CreatePaymentTerms.PaymentTermsCOD(), 20230531D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230601D, CreatePaymentTerms.PaymentTermsCOD(), 20230601D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230616D, CreatePaymentTerms.PaymentTermsCOD(), 20230616D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230618D, CreatePaymentTerms.PaymentTermsCOD(), 20230618D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230619D, CreatePaymentTerms.PaymentTermsCOD(), 20230619D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230620D, CreatePaymentTerms.PaymentTermsCOD(), 20230620D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230621D, CreatePaymentTerms.PaymentTermsCOD(), 20230621D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230623D, CreatePaymentTerms.PaymentTermsCOD(), 20230623D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230623D, CreatePaymentTerms.PaymentTermsCOD(), 20230623D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230624D, CreatePaymentTerms.PaymentTermsCOD(), 20230624D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230624D, CreatePaymentTerms.PaymentTermsCOD(), 20230624D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230627D, CreatePaymentTerms.PaymentTermsCOD(), 20230627D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230627D, CreatePaymentTerms.PaymentTermsCOD(), 20230627D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230701D, CreatePaymentTerms.PaymentTermsCOD(), 20230701D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230717D, CreatePaymentTerms.PaymentTermsCOD(), 20230717D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230718D, CreatePaymentTerms.PaymentTermsCOD(), 20230718D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230719D, CreatePaymentTerms.PaymentTermsCOD(), 20230719D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230720D, CreatePaymentTerms.PaymentTermsCOD(), 20230720D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230721D, CreatePaymentTerms.PaymentTermsCOD(), 20230721D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230722D, CreatePaymentTerms.PaymentTermsCOD(), 20230722D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230722D, CreatePaymentTerms.PaymentTermsCOD(), 20230722D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230724D, CreatePaymentTerms.PaymentTermsCOD(), 20230724D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230725D, CreatePaymentTerms.PaymentTermsCOD(), 20230725D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230725D, CreatePaymentTerms.PaymentTermsCOD(), 20230725D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230727D, CreatePaymentTerms.PaymentTermsCOD(), 20230727D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230728D, CreatePaymentTerms.PaymentTermsCOD(), 20230728D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230731D, CreatePaymentTerms.PaymentTermsCOD(), 20230731D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230801D, CreatePaymentTerms.PaymentTermsCOD(), 20230801D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230817D, CreatePaymentTerms.PaymentTermsCOD(), 20230817D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230818D, CreatePaymentTerms.PaymentTermsCOD(), 20230818D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230819D, CreatePaymentTerms.PaymentTermsCOD(), 20230819D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230820D, CreatePaymentTerms.PaymentTermsCOD(), 20230820D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230821D, CreatePaymentTerms.PaymentTermsCOD(), 20230821D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230822D, CreatePaymentTerms.PaymentTermsCOD(), 20230822D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230822D, CreatePaymentTerms.PaymentTermsCOD(), 20230822D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230824D, CreatePaymentTerms.PaymentTermsCOD(), 20230824D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230825D, CreatePaymentTerms.PaymentTermsCOD(), 20230825D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230825D, CreatePaymentTerms.PaymentTermsCOD(), 20230825D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230827D, CreatePaymentTerms.PaymentTermsCOD(), 20230827D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230828D, CreatePaymentTerms.PaymentTermsCOD(), 20230828D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 9); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230831D, CreatePaymentTerms.PaymentTermsCOD(), 20230831D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230901D, CreatePaymentTerms.PaymentTermsCOD(), 20230901D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230916D, CreatePaymentTerms.PaymentTermsCOD(), 20230916D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230918D, CreatePaymentTerms.PaymentTermsCOD(), 20230918D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230919D, CreatePaymentTerms.PaymentTermsCOD(), 20230919D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20230920D, CreatePaymentTerms.PaymentTermsCOD(), 20230920D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230921D, CreatePaymentTerms.PaymentTermsCOD(), 20230921D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230923D, CreatePaymentTerms.PaymentTermsCOD(), 20230923D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20230923D, CreatePaymentTerms.PaymentTermsCOD(), 20230923D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20230924D, CreatePaymentTerms.PaymentTermsCOD(), 20230924D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230924D, CreatePaymentTerms.PaymentTermsCOD(), 20230924D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20230927D, CreatePaymentTerms.PaymentTermsCOD(), 20230927D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20230927D, CreatePaymentTerms.PaymentTermsCOD(), 20230927D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231001D, CreatePaymentTerms.PaymentTermsCOD(), 20231001D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231017D, CreatePaymentTerms.PaymentTermsCOD(), 20231017D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20231018D, CreatePaymentTerms.PaymentTermsCOD(), 20231018D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231019D, CreatePaymentTerms.PaymentTermsCOD(), 20231019D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231020D, CreatePaymentTerms.PaymentTermsCOD(), 20231020D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20231021D, CreatePaymentTerms.PaymentTermsCOD(), 20231021D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231022D, CreatePaymentTerms.PaymentTermsCOD(), 20231022D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20231022D, CreatePaymentTerms.PaymentTermsCOD(), 20231022D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231024D, CreatePaymentTerms.PaymentTermsCOD(), 20231024D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231025D, CreatePaymentTerms.PaymentTermsCOD(), 20231025D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20231025D, CreatePaymentTerms.PaymentTermsCOD(), 20231025D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231027D, CreatePaymentTerms.PaymentTermsCOD(), 20231027D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231028D, CreatePaymentTerms.PaymentTermsCOD(), 20231028D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 9); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231031D, CreatePaymentTerms.PaymentTermsCOD(), 20231031D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231101D, CreatePaymentTerms.PaymentTermsCOD(), 20231101D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231116D, CreatePaymentTerms.PaymentTermsCOD(), 20231116D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231118D, CreatePaymentTerms.PaymentTermsCOD(), 20231118D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231119D, CreatePaymentTerms.PaymentTermsCOD(), 20231119D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20231120D, CreatePaymentTerms.PaymentTermsCOD(), 20231120D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231121D, CreatePaymentTerms.PaymentTermsCOD(), 20231121D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231123D, CreatePaymentTerms.PaymentTermsCOD(), 20231123D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20231123D, CreatePaymentTerms.PaymentTermsCOD(), 20231123D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231124D, CreatePaymentTerms.PaymentTermsCOD(), 20231124D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231124D, CreatePaymentTerms.PaymentTermsCOD(), 20231124D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231127D, CreatePaymentTerms.PaymentTermsCOD(), 20231127D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231127D, CreatePaymentTerms.PaymentTermsCOD(), 20231127D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231201D, CreatePaymentTerms.PaymentTermsCOD(), 20231201D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231217D, CreatePaymentTerms.PaymentTermsCOD(), 20231217D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20231218D, CreatePaymentTerms.PaymentTermsCOD(), 20231218D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231220D, CreatePaymentTerms.PaymentTermsCOD(), 20231220D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20231221D, CreatePaymentTerms.PaymentTermsCOD(), 20231221D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231222D, CreatePaymentTerms.PaymentTermsCOD(), 20231222D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20231222D, CreatePaymentTerms.PaymentTermsCOD(), 20231222D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231224D, CreatePaymentTerms.PaymentTermsCOD(), 20231224D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231225D, CreatePaymentTerms.PaymentTermsCOD(), 20231225D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20231225D, CreatePaymentTerms.PaymentTermsCOD(), 20231225D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20231228D, CreatePaymentTerms.PaymentTermsCOD(), 20231228D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20231228D, CreatePaymentTerms.PaymentTermsCOD(), 20231228D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20231228D, CreatePaymentTerms.PaymentTermsCOD(), 20231228D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20231231D, CreatePaymentTerms.PaymentTermsCOD(), 20231231D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240101D, CreatePaymentTerms.PaymentTermsCOD(), 20240101D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240117D, CreatePaymentTerms.PaymentTermsCOD(), 20240117D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20240118D, CreatePaymentTerms.PaymentTermsCOD(), 20240118D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240119D, CreatePaymentTerms.PaymentTermsCOD(), 20240119D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20240120D, CreatePaymentTerms.PaymentTermsCOD(), 20240120D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20240121D, CreatePaymentTerms.PaymentTermsCOD(), 20240121D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240122D, CreatePaymentTerms.PaymentTermsCOD(), 20240122D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20240122D, CreatePaymentTerms.PaymentTermsCOD(), 20240122D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20240124D, CreatePaymentTerms.PaymentTermsCOD(), 20240124D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240125D, CreatePaymentTerms.PaymentTermsCOD(), 20240125D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20240125D, CreatePaymentTerms.PaymentTermsCOD(), 20240125D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + + CreateSalesDocumentsForReconciliation(); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240201D, CreatePaymentTerms.PaymentTermsCM(), 20240201D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240216D, CreatePaymentTerms.PaymentTermsCOD(), 20240216D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20240216D, CreatePaymentTerms.PaymentTermsCOD(), 20240216D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240218D, CreatePaymentTerms.PaymentTermsCOD(), 20240218D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20240219D, CreatePaymentTerms.PaymentTermsCOD(), 20240219D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240220D, CreatePaymentTerms.PaymentTermsCOD(), 20240220D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20240220D, CreatePaymentTerms.PaymentTermsCOD(), 20240220D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20240221D, CreatePaymentTerms.PaymentTermsCOD(), 20240221D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20240223D, CreatePaymentTerms.PaymentTermsM8D(), 20240223D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240224D, CreatePaymentTerms.PaymentTermsDAYS14(), 20240224D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240224D, CreatePaymentTerms.PaymentTermsCM(), 20240224D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 11); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240228D, CreatePaymentTerms.PaymentTermsCM(), 20240228D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20240228D, CreatePaymentTerms.PaymentTermsDAYS14(), 20240228D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240316D, CreatePaymentTerms.PaymentTermsCOD(), 20240316D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20240317D, CreatePaymentTerms.PaymentTermsCOD(), 20240317D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240318D, CreatePaymentTerms.PaymentTermsCOD(), 20240318D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20240319D, CreatePaymentTerms.PaymentTermsCOD(), 20240319D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20240320D, CreatePaymentTerms.PaymentTermsCOD(), 20240320D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240321D, CreatePaymentTerms.PaymentTermsCOD(), 20240321D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), '', ContosoUtilities.AdjustDate(19020101D), 20240321D, CreatePaymentTerms.PaymentTermsCOD(), 20240321D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20240323D, CreatePaymentTerms.PaymentTermsCOD(), 20240323D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240324D, CreatePaymentTerms.PaymentTermsCOD(), 20240324D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 12); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), '', ContosoUtilities.AdjustDate(19020101D), 20240324D, CreatePaymentTerms.PaymentTermsCOD(), 20240324D, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), '', ContosoUtilities.AdjustDate(19020101D), 20240326D, CreatePaymentTerms.PaymentTermsDAYS14(), 20240326D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 5); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240327D, CreatePaymentTerms.PaymentTermsCM(), 20240327D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 13); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 5); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), '', ContosoUtilities.AdjustDate(19020101D), 20240331D, CreatePaymentTerms.PaymentTermsDAYS14(), 20240331D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 5); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), '', ContosoUtilities.AdjustDate(19020101D), 20240401D, CreatePaymentTerms.PaymentTermsCM(), 20240401D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 8); + end; + + local procedure CreateOpenSalesDocuments() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateCustomer: Codeunit "Create Customer"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreateShippingData: Codeunit "Create Shipping Data"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + begin + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticTreyResearch(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030204D), CreatePaymentTerms.PaymentTermsDAYS14(), ContosoUtilities.AdjustDate(19030204D), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.EUAlpineSkiHouse(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030403D), CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.AdjustDate(19030403D), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Order, CreateCustomer.DomesticAdatumCorporation(), OpenYourReference(), ContosoUtilities.AdjustDate(19030204D), ContosoUtilities.AdjustDate(19030204D), CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.AdjustDate(19030204D), '', CreateShippingData.Fedex(), ContosoUtilities.AdjustDate(19030403D), CreateShippingData.NextDay(), ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 12); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Order, CreateCustomer.DomesticAdatumCorporation(), OpenYourReference(), ContosoUtilities.AdjustDate(19030105D), ContosoUtilities.AdjustDate(19030105D), CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.AdjustDate(19030105D), '', CreateShippingData.Fedex(), ContosoUtilities.AdjustDate(19030502D), CreateShippingData.NextDay(), ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Order, CreateCustomer.ExportSchoolofArt(), OpenYourReference(), ContosoUtilities.AdjustDate(19030422D), ContosoUtilities.AdjustDate(19030422D), CreatePaymentTerms.PaymentTermsCM(), ContosoUtilities.AdjustDate(19030422D), '', CreateShippingData.DHL(), ContosoUtilities.AdjustDate(19030423D), CreateShippingData.OverNight(), ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Order, CreateCustomer.EUAlpineSkiHouse(), OpenYourReference(), ContosoUtilities.AdjustDate(19030513D), ContosoUtilities.AdjustDate(19030513D), CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.AdjustDate(19030513D), '', CreateShippingData.DHL(), ContosoUtilities.AdjustDate(19030514D), CreateShippingData.OverNight(), ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030404D), CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.AdjustDate(19030404D), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 7); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030105D), CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.AdjustDate(19030105D), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 2); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030403D), CreatePaymentTerms.PaymentTermsDAYS14(), ContosoUtilities.AdjustDate(19030403D), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030405D), CreatePaymentTerms.PaymentTermsCM(), ContosoUtilities.AdjustDate(19030405D), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030513D), CreatePaymentTerms.PaymentTermsCM(), ContosoUtilities.AdjustDate(19030513D), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030105D), CreatePaymentTerms.PaymentTermsM8D(), ContosoUtilities.AdjustDate(19030105D), '', CreateShippingData.Fedex(), ContosoUtilities.AdjustDate(0D), CreateShippingData.NextDay(), ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), ContosoUtilities.AdjustDate(19030204D), CreatePaymentTerms.PaymentTermsDAYS14(), ContosoUtilities.AdjustDate(19030204D), '', CreateShippingData.DHL(), ContosoUtilities.AdjustDate(0D), CreateShippingData.OverNight(), ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 23); + end; + + local procedure CreatePaidLateSalesDocuments() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateCustomer: Codeunit "Create Customer"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + ContosoGeneralLedger: Codeunit "Contoso General Ledger"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + FromDate: Date; + begin + FromDate := ContosoUtilities.AdjustDate(CalcDate('<-75D>', 19030401D)); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<15D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<15D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferencePackage1(), 5); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 10000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<15D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<5D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<5D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 6); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 20000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<5D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<6D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<6D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 11); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 30000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<6D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<4D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<4D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.GuestSection1(), 2); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 40000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<4D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<3D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<3D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.GuestSection1(), 23); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 50000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<3D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<2D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<2D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 1); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 60000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<2D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<64D>', FromDate), CreatePaymentTerms.PaymentTermsDAYS14(), CalcDate('<64D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferencePackage1(), 2); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 70000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<64D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<1D>', FromDate), CreatePaymentTerms.PaymentTermsDAYS14(), CalcDate('<1D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 20); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 80000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<1D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<5D>', FromDate), CreatePaymentTerms.PaymentTermsDAYS14(), CalcDate('<5D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 4); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 90000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<5D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<2D>', FromDate), CreatePaymentTerms.PaymentTermsDAYS14(), CalcDate('<2D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.GuestSection1(), 10); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 100000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<2D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<5D>', FromDate), CreatePaymentTerms.PaymentTermsDAYS14(), CalcDate('<5D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.GuestSection1(), 14); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 110000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<5D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<17D>', FromDate), CreatePaymentTerms.PaymentTermsDAYS14(), CalcDate('<17D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 2); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 120000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<17D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<3D>', FromDate), CreatePaymentTerms.PaymentTermsCM(), CalcDate('<3D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 4); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 130000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<3D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<8D>', FromDate), CreatePaymentTerms.PaymentTermsCM(), CalcDate('<8D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 11); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 140000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<8D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<12D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<12D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 20); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 150000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<12D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), LateYourReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<6D>', FromDate), CreatePaymentTerms.PaymentTermsM8D(), CalcDate('<6D>', FromDate), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ConferenceBundle28(), 2); + ContosoSales.InsertSalesLineWithComments(SalesHeader, ThankOrderingLbl); + ContosoGeneralLedger.InsertGenJournalLine(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), 160000, Enum::"Gen. Journal Account Type"::Customer, SalesHeader."Bill-to Customer No.", CalcDate('<6D>', SalesHeader."Due Date"), Enum::"Gen. Journal Document Type"::Payment, SalesHeader."Bill-to Customer No.", SalesHeader."No.", '', 0, false, Enum::"Gen. Journal Account Type"::"G/L Account", Enum::"Gen. Journal Document Type"::" ", ''); + end; + + local procedure CreateSalesDocumentsForReconciliation() + var + SalesHeader: Record "Sales Header"; + ContosoSales: Codeunit "Contoso Sales"; + CreateCustomer: Codeunit "Create Customer"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreatePaymentTerms: Codeunit "Create Payment Terms"; + CreateItem: Codeunit "Create Item"; + begin + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), ReconciliationYourReference(), ContosoUtilities.AdjustDate(19020101D), 20240127D, CreatePaymentTerms.PaymentTermsDAYS14(), 20240127D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), ReconciliationYourReference(), ContosoUtilities.AdjustDate(19020101D), 20240128D, CreatePaymentTerms.PaymentTermsCM(), 20240128D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 9); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 4); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantAWhiteboardBase(), 3); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), ReconciliationYourReference(), ContosoUtilities.AdjustDate(19020101D), 20240131D, CreatePaymentTerms.PaymentTermsDAYS14(), 20240131D, '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 3); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + end; + + procedure OpenYourReference(): Code[35] + begin + exit(OpenYourReferenceTok); + end; + + procedure LateYourReference(): Code[35] + begin + exit(LateYourReferenceTok); + end; + + procedure ReconciliationYourReference(): Code[35] + begin + exit(ReconciliationYourReferenceTok); + end; + + var + OpenYourReferenceTok: Label 'OPEN', MaxLength = 35; + LateYourReferenceTok: Label 'LATE', MaxLength = 35; + ReconciliationYourReferenceTok: Label 'RECONCILE', MaxLength = 35; + ThankOrderingLbl: Label 'Thank you for ordering', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/4.Historical/CreatePostedSalesData.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/4.Historical/CreatePostedSalesData.Codeunit.al new file mode 100644 index 0000000000..b582873020 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/4.Historical/CreatePostedSalesData.Codeunit.al @@ -0,0 +1,17 @@ +codeunit 5693 "Create Posted Sales Data" +{ + trigger OnRun() + var + SalesHeader: Record "Sales Header"; + CreateSalesDocument: Codeunit "Create Sales Document"; + begin + SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Invoice); + SalesHeader.SetFilter("Your Reference", '<>%1', CreateSalesDocument.OpenYourReference()); + if SalesHeader.Findset() then + repeat + SalesHeader.Validate(Invoice, true); + SalesHeader.Validate(Ship, true); + CODEUNIT.Run(CODEUNIT::"Sales-Post", SalesHeader); + until SalesHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/4.Historical/PostLatePaymentEntry.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/4.Historical/PostLatePaymentEntry.Codeunit.al new file mode 100644 index 0000000000..50df6e6964 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/4.Historical/PostLatePaymentEntry.Codeunit.al @@ -0,0 +1,36 @@ +codeunit 5668 "Post Late Payment Entry" +{ + trigger OnRun() + var + SalesInvoiceHeader: Record "Sales Invoice Header"; + GenJournalLine: Record "Gen. Journal Line"; + GLAccount: Record "G/L Account"; + CreateSalesDocument: Codeunit "Create Sales Document"; + begin + SalesInvoiceHeader.SetRange("Your Reference", CreateSalesDocument.LateYourReference()); + if SalesInvoiceHeader.FindSet() then + repeat + GenJournalLine.SetRange("Account No.", SalesInvoiceHeader."Bill-to Customer No."); + GenJournalLine.SetRange(Description, SalesInvoiceHeader."Pre-Assigned No."); + if GenJournalLine.FindFirst() then begin + SalesInvoiceHeader.CalcFields("Remaining Amount"); + if SalesInvoiceHeader."Remaining Amount" = 0 then + GenJournalLine.Delete() + else begin + GenJournalLine.Validate("Document No.", SalesInvoiceHeader."No."); + GenJournalLine.Validate("Applies-to Doc. Type", GenJournalLine."Applies-to Doc. Type"::Invoice); + GenJournalLine.Validate("Applies-to Doc. No.", SalesInvoiceHeader."No."); + GLAccount.SetRange(Blocked, false); + GLAccount.SetRange("Direct Posting", true); + GLAccount.SetRange("Account Type", GLAccount."Account Type"::Posting); + GLAccount.SetRange("Gen. Posting Type", GLAccount."Gen. Posting Type"::Sale); + GLAccount.FindFirst(); + GenJournalLine.Validate("Bal. Account No.", GLAccount."No."); + GenJournalLine.Validate(Amount, -Round(SalesInvoiceHeader."Remaining Amount", 0.01)); + CODEUNIT.Run(CODEUNIT::"Gen. Jnl.-Post Line", GenJournalLine); + GenJournalLine.Delete(); + end; + end; + until SalesInvoiceHeader.Next() = 0; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/SalesModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/SalesModule.Codeunit.al new file mode 100644 index 0000000000..2dee012ca6 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Sales/SalesModule.Codeunit.al @@ -0,0 +1,56 @@ +codeunit 5181 "Sales Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + exit; + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::Foundation); + Dependencies.Add(Enum::"Contoso Demo Data Module"::"Finance"); + Dependencies.Add(Enum::"Contoso Demo Data Module"::CRM); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Bank); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Inventory); + end; + + procedure CreateSetupData() + begin + Codeunit.Run(codeunit::"Create Customer Posting Group"); + Codeunit.Run(codeunit::"Create Finance Charge Terms"); + Codeunit.Run(codeunit::"Create Reminder Terms"); + Codeunit.Run(codeunit::"Create Reminder Level"); + Codeunit.Run(codeunit::"Create Reminder Text"); + Codeunit.Run(codeunit::"Create Sales Receivable Setup"); + end; + + procedure CreateMasterData() + begin + Codeunit.Run(codeunit::"Create Customer"); + Codeunit.Run(codeunit::"Create Customer Bank Account"); + Codeunit.Run(codeunit::"Create Customer Discount Group"); + Codeunit.Run(codeunit::"Create Customer Template"); + Codeunit.Run(codeunit::"Create Ship-to Address"); + Codeunit.Run(codeunit::"Create Sales Dimension Value"); + end; + + procedure CreateTransactionalData() + begin + Codeunit.Run(Codeunit::"Create Sales Document"); + end; + + procedure CreateHistoricalData() + var + BankAccReconciliation: Record "Bank Acc. Reconciliation"; + begin + Codeunit.Run(Codeunit::"Create Posted Sales Data"); + Codeunit.Run(Codeunit::"Post Late Payment Entry"); + + BankAccReconciliation.SetRange("Statement Type", Enum::"Bank Acc. Rec. Stmt. Type"::"Payment Application"); + if BankAccReconciliation.FindFirst() then + Codeunit.Run(Codeunit::"Match Bank Pmt. Appl.", BankAccReconciliation); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Service/1.Setup Data/CreateSvcSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Service/1.Setup Data/CreateSvcSetup.Codeunit.al index af6f3b48a0..6848dd6e53 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Service/1.Setup Data/CreateSvcSetup.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Service/1.Setup Data/CreateSvcSetup.Codeunit.al @@ -34,7 +34,7 @@ codeunit 5103 "Create Svc Setup" CreateSkillCodes(); CreateServiceOrderTypes(); - CreateFaultReasonCodes(); //TODO: move to fault reason code ? + CreateFaultReasonCodes(); ContosoService.InsertServiceItemGroup(DefaultServiceItemGroup(), DefaultServiceItemGroup(), true); diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/2.Master Data/CreateWhseItem.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/2.Master Data/CreateWhseItem.Codeunit.al index cda2f8f875..24e13f4967 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/2.Master Data/CreateWhseItem.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/2.Master Data/CreateWhseItem.Codeunit.al @@ -84,14 +84,14 @@ codeunit 4793 "Create Whse Item" ContosoItem: Codeunit "Contoso Item"; CommonUnitOfMeasure: Codeunit "Create Common Unit Of Measure"; begin - ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 1 No.", '', CommonUnitOfMeasure.Piece(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt())); - ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 1 No.", '', CommonUnitOfMeasure.Bag(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt())); + ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 1 No.", '', CommonUnitOfMeasure.Piece(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt()), ''); + ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 1 No.", '', CommonUnitOfMeasure.Bag(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt()), ''); - ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 2 No.", '', CommonUnitOfMeasure.Piece(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt())); - ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 2 No.", '', CommonUnitOfMeasure.Bag(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt())); + ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 2 No.", '', CommonUnitOfMeasure.Piece(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt()), ''); + ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 2 No.", '', CommonUnitOfMeasure.Bag(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt()), ''); - ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 3 No.", '', CommonUnitOfMeasure.Piece(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt())); - ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 3 No.", '', CommonUnitOfMeasure.Bag(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt())); + ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 3 No.", '', CommonUnitOfMeasure.Piece(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt()), ''); + ContosoItem.InsertItemReference(WarehouseModuleSetup."Item 3 No.", '', CommonUnitOfMeasure.Bag(), "Item Reference Type"::"Bar Code", '', Format(ContosoUtilities.RandBarcodeInt()), ''); end; procedure Item1(): Code[20] diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WarehouseModuleSetup.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WarehouseModuleSetup.Table.al index f2be2ce0e5..037af0cd42 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WarehouseModuleSetup.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WarehouseModuleSetup.Table.al @@ -86,7 +86,7 @@ table 4764 "Warehouse Module Setup" Rec.InitRecord(); if Rec."Vendor No." = '' then - Rec.Validate("Vendor No.", CreateContosoCustomerVendor.DomesticVendor1()); + Rec.Validate("Vendor No.", CreateContosoCustomerVendor.DomesticVendor2()); if Rec."Customer No." = '' then Rec.Validate("Customer No.", CreateContosoCustomerVendor.DomesticCustomer1()); diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoAccount.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoAccount.Table.al index 254f41892d..919ee28711 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoAccount.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoAccount.Table.al @@ -6,6 +6,7 @@ table 4762 "Whse. Demo Account" ObsoleteReason = 'This table will be replaced by "Contoso GL Account".'; ObsoleteState = Removed; ObsoleteTag = '26.0'; + ReplicateData = false; fields { diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoDataSetup.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoDataSetup.Table.al index 2a8aed1d23..67be606fcf 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoDataSetup.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Warehousing/WhseDemoDataSetup.Table.al @@ -7,6 +7,7 @@ table 4763 "Whse Demo Data Setup" InherentPermissions = rimdX; ObsoleteState = Removed; ObsoleteTag = '26.0'; + ReplicateData = false; fields { diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateIncomingDocumentSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateIncomingDocumentSetup.Codeunit.al new file mode 100644 index 0000000000..799121febe --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateIncomingDocumentSetup.Codeunit.al @@ -0,0 +1,14 @@ +codeunit 5232 "Create Incoming Document Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoEServices: Codeunit "Contoso eServices"; + CreateGenJournalTemplate: Codeunit "Create Gen. Journal Template"; + CreateGenJournalBatch: Codeunit "Create Gen. Journal Batch"; + begin + ContosoEServices.InsertEServicesIncomingDocumentSetup(CreateGenJournalTemplate.General(), CreateGenJournalBatch.Default(), false, false); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateOnlineMapParaSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateOnlineMapParaSetup.Codeunit.al new file mode 100644 index 0000000000..b53bf732c7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateOnlineMapParaSetup.Codeunit.al @@ -0,0 +1,25 @@ +codeunit 5300 "Create Online Map Para. Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoEServices: Codeunit "Contoso eServices"; + begin + ContosoEServices.InsertEServiceOnlineMapParameter(OnlineMapParameter(), OnlineMapParameterNameLbl, OnlineMapParaMeterServiceNameLbl, OnlineMapParaMeterServiceDirectionServiceLbl, OnlineMapParameterCommentLbl, false, '', '0,1', OnlineMapParaMeterDiresctionFromLOcationServiceLbl); + end; + + procedure OnlineMapParameter(): Code[10] + begin + exit(OnlineMapParameterLbl); + end; + + var + OnlineMapParameterLbl: Label 'BING', MaxLength = 10, Locked = true; + OnlineMapParameterNameLbl: Label 'Bing Maps', MaxLength = 30, Locked = true; + OnlineMapParaMeterServiceNameLbl: Label 'https://bing.com/maps/default.aspx?where1={1}+{2}+{6}&v=2&mkt={7}', MaxLength = 250, Locked = true; + OnlineMapParaMeterServiceDirectionServiceLbl: Label 'https://bing.com/maps/default.aspx?rtp=adr.{1}+{2}+{6}~adr.{1}+{2}+{6}&v=2&mkt={7}&rtop={9}~0~0', MaxLength = 250, Locked = true; + OnlineMapParameterCommentLbl: Label 'http://go.microsoft.com/fwlink/?LinkId=519372', MaxLength = 250, Locked = true; + OnlineMapParaMeterDiresctionFromLOcationServiceLbl: Label 'https://bing.com/maps/default.aspx?rtp=pos.{10}_{11}~adr.{1}+{2}+{6}&v=2&mkt={7}&rtop={9}~0~0', MaxLength = 250, Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateOnlineMapSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateOnlineMapSetup.Codeunit.al new file mode 100644 index 0000000000..40ab1ff09e --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/1.Setup Data/CreateOnlineMapSetup.Codeunit.al @@ -0,0 +1,13 @@ +codeunit 5236 "Create Online Map Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoEServices: Codeunit "Contoso eServices"; + OnlineMapParaSetup: Codeunit "Create Online Map Para. Setup"; + begin + ContosoEServices.InsertEServicesOnlineMapSetup(OnlineMapParaSetup.OnlineMapParameter(), 0, 0, false); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/3.Transactions/CreateIncomingDocument.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/3.Transactions/CreateIncomingDocument.Codeunit.al new file mode 100644 index 0000000000..80a29288c9 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/3.Transactions/CreateIncomingDocument.Codeunit.al @@ -0,0 +1,31 @@ +codeunit 5231 "Create Incoming Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + IncomingDocument: Record "Incoming Document"; + EServiceDemoDataSetup: Record "EService Demo Data Setup"; + IncomingDocumentsFolderTok: Label 'IncomingDocuments', Locked = true; + DocumentInStream: InStream; + begin + EServiceDemoDataSetup.Get(); + + if EServiceDemoDataSetup."Invoice Field Name" = '' then begin + EServiceDemoDataSetup."Invoice Field Name" := DefaultIncomingDocument(); + EServiceDemoDataSetup.Modify(); + end; + + NavApp.GetResource(IncomingDocumentsFolderTok + '/' + EServiceDemoDataSetup."Invoice Field Name" + '.PDF', DocumentInStream); + IncomingDocument.CreateIncomingDocument(DocumentInStream, EServiceDemoDataSetup."Invoice Field Name" + '.pdf'); + end; + + procedure DefaultIncomingDocument(): Text[100] + begin + exit(W1IncomingDocDescriptionLbl); + end; + + var + W1IncomingDocDescriptionLbl: Label 'London Postmaster Invoice W1', Locked = true; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceDemoDataSetup.Page.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceDemoDataSetup.Page.al new file mode 100644 index 0000000000..7daba3481b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceDemoDataSetup.Page.al @@ -0,0 +1,23 @@ +page 5296 "EService Demo Data Setup" +{ + PageType = Card; + ApplicationArea = All; + Caption = 'EService Demo Data Setup'; + SourceTable = "EService Demo Data Setup"; + Extensible = false; + DeleteAllowed = false; + InsertAllowed = false; + + layout + { + area(Content) + { + group(GroupName) + { + field(InvoiceFileName; Rec."Invoice Field Name") + { + } + } + } + } +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceDemoDataSetup.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceDemoDataSetup.Table.al new file mode 100644 index 0000000000..5dff5eabe2 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceDemoDataSetup.Table.al @@ -0,0 +1,42 @@ +table 5296 "EService Demo Data Setup" +{ + DataClassification = CustomerContent; + InherentEntitlements = RMX; + InherentPermissions = RMX; + Extensible = false; + DataPerCompany = true; + ReplicateData = false; + + + fields + { + field(1; "Primary Key"; Integer) + { + DataClassification = SystemMetadata; + Caption = 'Primary Key'; + } + field(2; "Invoice Field Name"; Text[100]) + { + Caption = 'Invoice File Name'; + ToolTip = 'Specifies the Invoice File Name for the Incoming Document.'; + } + } + + keys + { + key(Key1; "Primary Key") + { + Clustered = true; + } + } + + [InherentPermissions(PermissionObjectType::TableData, Database::"EService Demo Data Setup", 'I')] + procedure InitRecord() + begin + if Rec.Get() then + exit; + + Rec.Init(); + Rec.Insert(); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceModule.Codeunit.al new file mode 100644 index 0000000000..057423e358 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/eServices/EServiceModule.Codeunit.al @@ -0,0 +1,40 @@ +codeunit 5296 "EService Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + Page.Run(Page::"EService Demo Data Setup"); + end; + + procedure GetDependencies() Dependencies: List of [enum "Contoso Demo Data Module"] + begin + Dependencies.Add(Enum::"Contoso Demo Data Module"::Finance); + end; + + procedure CreateSetupData() + var + EServiceDemoDataSetup: Record "EService Demo Data Setup"; + begin + EServiceDemoDataSetup.InitRecord(); + Codeunit.Run(codeunit::"Create Incoming Document Setup"); + Codeunit.Run(Codeunit::"Create Online Map Para. Setup"); + Codeunit.Run(Codeunit::"Create Online Map Setup"); + end; + + procedure CreateMasterData() + begin + exit; + end; + + procedure CreateTransactionalData() + begin + Codeunit.Run(codeunit::"Create Incoming Document"); + end; + + procedure CreateHistoricalData() + begin + exit; + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/AdditionalDemoData.TableExt.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/AdditionalDemoData.TableExt.al index bfd6d0b65e..8037c31709 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/AdditionalDemoData.TableExt.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/AdditionalDemoData.TableExt.al @@ -1,10 +1,19 @@ +#if not CLEANSCHEMA25 tableextension 4762 "Additional Demo Data" extends "Assisted Company Setup Status" { +#pragma warning disable AS0072, AS0115 fields { +#if not CLEANSCHEMA25 field(4760; InstallAdditionalDemoData; Boolean) { + ObsoleteState = Removed; + ObsoleteReason = 'Changing the way demo data is generated, for more infromation see https://go.microsoft.com/fwlink/?linkid=2288084'; + ObsoleteTag = '25.2'; DataClassification = SystemMetadata; } +#endif } -} \ No newline at end of file +#pragma warning restore AS0072, AS0115 +} +#endif \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationContoso.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationContoso.Codeunit.al new file mode 100644 index 0000000000..b5269cf154 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationContoso.Codeunit.al @@ -0,0 +1,86 @@ +codeunit 5382 "Company Creation Contoso" +{ + TableNo = "Contoso Demo Data Module"; + Access = Internal; + + trigger OnRun() + var + ContosoDemoDataModule: Record "Contoso Demo Data Module"; + AssistedCompanySetupStatus: Record "Assisted Company Setup Status"; + GLSetup: Record "General Ledger Setup"; + ContosoDemoTool: Codeunit "Contoso Demo Tool"; + begin + AssistedCompanySetupStatus.Get(CompanyName); + AssistedCompanySetupStatus."Server Instance ID" := ServiceInstanceId(); + AssistedCompanySetupStatus."Company Setup Session ID" := SessionId(); + AssistedCompanySetupStatus.Modify(); + Commit(); + + // Init Company + if not GLSetup.Get() then + CODEUNIT.Run(CODEUNIT::"Company-Initialize"); + + ContosoDemoTool.RefreshModules(ContosoDemoDataModule); + + ContosoDemoTool.CreateNewCompanyDemoData(Rec, Rec."Is Setup Company"); + + // Set company setup status to completed + AssistedCompanySetupStatus.Get(CompanyName); + + AssistedCompanySetupStatus."Company Setup Session ID" := 0; + AssistedCompanySetupStatus."Server Instance ID" := 0; + Clear(AssistedCompanySetupStatus."Task ID"); + AssistedCompanySetupStatus.Modify(); + Commit(); + end; + + procedure CreateContosoDemodataInCompany(var ContosoDemoDataModuleTemp: Record "Contoso Demo Data Module" temporary; NewCompanyName: Text[30]; NewCompanyData: Enum "Company Demo Data Type") + var + Company: Record Company; + DataClassificationEvalData: Codeunit "Data Classification Eval. Data"; + IsSetup: Boolean; + begin + IsSetup := NewCompanyData = NewCompanyData::"Production - Setup Data Only"; + + if not IsSetup then begin + Company.Get(NewCompanyName); + Company."Evaluation Company" := true; + Company.Modify(); + Commit(); + DataClassificationEvalData.CreateEvaluationData(); + Session.LogMessage('0000HUJ', StrSubstNo(CompanyEvaluationTxt, Company."Evaluation Company"), Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', CompanyEvaluationCategoryTok); + end; + + if ContosoDemoDataModuleTemp.FindSet() then + repeat + ContosoDemoDataModuleTemp."Is Setup Company" := IsSetup; + until ContosoDemoDataModuleTemp.Next() = 0; + + ScheduleRunningContosoDemoData(ContosoDemoDataModuleTemp, NewCompanyName); + end; + + local procedure ScheduleRunningContosoDemoData(var ContosoDemoDataModuleTemp: Record "Contoso Demo Data Module" temporary; NewCompanyName: Text[30]) + var + AssistedCompanySetupStatus: Record "Assisted Company Setup Status"; + ImportSessionID: Integer; + begin + AssistedCompanySetupStatus.LockTable(); + AssistedCompanySetupStatus.Get(NewCompanyName); + + Commit(); + AssistedCompanySetupStatus."Task ID" := CreateGuid(); + ImportSessionID := 0; + + StartSession(ImportSessionID, CODEUNIT::"Generate Contoso Demo Data", AssistedCompanySetupStatus."Company Name", ContosoDemoDataModuleTemp); + + AssistedCompanySetupStatus."Company Setup Session ID" := ImportSessionID; + if AssistedCompanySetupStatus."Company Setup Session ID" = 0 then + Clear(AssistedCompanySetupStatus."Task ID"); + AssistedCompanySetupStatus.Modify(); + Commit(); + end; + + var + CompanyEvaluationTxt: Label 'Company Evaluation:%1', Comment = '%1 = Company Evaluation', Locked = true; + CompanyEvaluationCategoryTok: Label 'Company Evaluation', Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationWizard.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationWizard.Codeunit.al index 5e6135a708..97dcce5abe 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationWizard.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationWizard.Codeunit.al @@ -1,44 +1,9 @@ -#pragma warning disable AS0072 +#if not CLEAN26 +#pragma warning disable AS0049, AS0072 codeunit 4786 "Company Creation Wizard" { Permissions = tabledata "Assisted Company Setup Status" = rm; - ObsoleteTag = '25.0'; - ObsoleteReason = 'Changing the way demo data is generated, for more infromation see https://go.microsoft.com/fwlink/?linkid=2288084'; - ObsoleteState = Pending; - - [EventSubscriber(ObjectType::Page, Page::"Company Creation Wizard", 'OnOpenPageCheckAdditionalDemoData', '', false, false)] - local procedure SetAdditionalDemoDataVisible(var AdditionalDemoDataVisible: Boolean) - begin - AdditionalDemoDataVisible := true; - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Assisted Company Setup", 'OnAfterAssistedCompanySetupStatusEnabled', '', false, false)] - local procedure ConfigureAdditionalDemoDataInstallation(NewCompanyName: Text[30]; InstallAdditionalDemoData: Boolean) - begin - if AssistedCompanySetupStatus.Get(NewCompanyName) then begin - AssistedCompanySetupStatus.InstallAdditionalDemoData := InstallAdditionalDemoData; - AssistedCompanySetupStatus.Modify(); - end; - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Import Config. Package Files", 'OnAfterImportConfigurationPackage', '', false, false)] - local procedure InstallContosoDemoData() - var - ContosoDemoTool: Codeunit "Contoso Demo Tool"; - begin - if not AssistedCompanySetupStatus.Get(CompanyName()) then - exit; - - if AssistedCompanySetupStatus.InstallAdditionalDemoData then begin - Telemetry.LogMessage('0000H74', StrSubstNo(ContosoCoffeeDemoDatasetInitilizationTok, ContosoCoffeeDemoDatasetFeatureNameTok), Verbosity::Normal, DataClassification::SystemMetadata); - ContosoDemoTool.CreateAllDemoData(); - end; - end; - - var - AssistedCompanySetupStatus: Record "Assisted Company Setup Status"; - Telemetry: Codeunit Telemetry; - ContosoCoffeeDemoDatasetFeatureNameTok: Label 'ContosoCoffeeDemoDataset', Locked = true; - ContosoCoffeeDemoDatasetInitilizationTok: Label '%1: installation initialized from Company Creation wizard', Locked = true; + Access = Internal; } -#pragma warning restore AS0072 \ No newline at end of file +#pragma warning restore AS0049, AS0072 +#endif \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationWizardExt.PageExt.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationWizardExt.PageExt.al new file mode 100644 index 0000000000..7538289c0f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/CompanyCreationWizardExt.PageExt.al @@ -0,0 +1,83 @@ +pageextension 5240 "Company Creation Wizard Ext" extends "Company Creation Wizard" +{ + layout + { + addafter("Available Modules") + { + part("Contoso Modules Part"; "Contoso Modules Part") + { + ApplicationArea = All; + Caption = 'Available Modules'; + } + } + } + + + actions + { + modify(ActionFinish) + { + trigger OnAfterAction() + var + TempContosoDemoDataModule: Record "Contoso Demo Data Module" temporary; + CompanyCreationContoso: Codeunit "Company Creation Contoso"; + NewCompanyData: Enum "Company Demo Data Type"; + begin + NewCompanyData := GetNewCompanyData(); + + if not (NewCompanyData in [Enum::"Company Demo Data Type"::"Production - Setup Data Only", Enum::"Company Demo Data Type"::"Evaluation - Contoso Sample Data"]) then + exit; + + CurrPage."Contoso Modules Part".Page.GetContosoRecord(TempContosoDemoDataModule); + CompanyCreationContoso.CreateContosoDemodataInCompany(TempContosoDemoDataModule, GetNewCompanyName(), NewCompanyData); + end; + } + addbefore(ActionBack) + { + action("Select All") + { + ApplicationArea = All; + Caption = 'Select All'; + Image = AllLines; + InFooterBar = true; + Visible = DemoDataStepVisible; + + trigger OnAction() + var + TempContosoDemoDataModule: Record "Contoso Demo Data Module" temporary; + begin + CurrPage."Contoso Modules Part".Page.GetContosoRecord(TempContosoDemoDataModule); + TempContosoDemoDataModule.ModifyAll(Install, true); + CurrPage."Contoso Modules Part".Page.SetContosoRecord(TempContosoDemoDataModule); + end; + } + } + modify(ActionNext) + { + trigger OnAfterAction() + var + Step: Option Start,Creation,"Demo Data","Add Users",Finish; + begin + if GetStep() = Step::"Demo Data" then + DemoDataStepVisible := true + else + DemoDataStepVisible := false; + end; + } + modify(ActionBack) + { + trigger OnAfterAction() + var + Step: Option Start,Creation,"Demo Data","Add Users",Finish; + begin + if GetStep() = Step::"Demo Data" then + DemoDataStepVisible := true + else + DemoDataStepVisible := false; + end; + } + } + + var + DemoDataStepVisible: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountSchedule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountSchedule.Codeunit.al new file mode 100644 index 0000000000..90680dc2e2 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountSchedule.Codeunit.al @@ -0,0 +1,267 @@ +codeunit 5239 "Contoso Account Schedule" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Account Schedules Chart Setup" = rim, + tabledata "Acc. Sched. Chart Setup Line" = rim, + tabledata "Acc. Schedule Name" = rim, + tabledata "Acc. Schedule Line" = ri, + tabledata "Column Layout Name" = rim, + tabledata "Column Layout" = ri, + tabledata "Financial Report" = rim, + tabledata "Acc. Sched. KPI Web Srv. Line" = rim, + tabledata "Acc. Sched. KPI Web Srv. Setup" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertAccountSchedulesChartSetup(UserID: Text[132]; Name: Text[30]; Description: Text[250]; AccountScheduleName: Code[10]; ColumnLayoutName: Code[10]; StartDate: Date; PeriodLength: Integer; NoOfPeriods: Integer; "Look Ahead": Boolean) + var + AccountSchedulesChartSetup: Record "Account Schedules Chart Setup"; + Exists: Boolean; + begin + if AccountSchedulesChartSetup.Get(UserID, Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AccountSchedulesChartSetup.Validate("User ID", UserID); + AccountSchedulesChartSetup.Validate(Name, Name); + AccountSchedulesChartSetup.Validate(Description, Description); + AccountSchedulesChartSetup.Validate("Account Schedule Name", AccountScheduleName); + AccountSchedulesChartSetup.Validate("Column Layout Name", ColumnLayoutName); + AccountSchedulesChartSetup.Validate("Start Date", StartDate); + AccountSchedulesChartSetup.Validate("Period Length", PeriodLength); + AccountSchedulesChartSetup.Validate("No. of Periods", NoOfPeriods); + AccountSchedulesChartSetup.Validate("Look Ahead", "Look Ahead"); + + if Exists then + AccountSchedulesChartSetup.Modify(true) + else + AccountSchedulesChartSetup.Insert(true); + end; + + procedure InsertAccScheduleLine(ScheduleName: Code[10]; LineNo: Integer; RowNo: Code[10]; Description: Text[100]; Totaling: Text[250]; TotalingType: Enum "Acc. Schedule Line Totaling Type"; Show: Enum "Acc. Schedule Line Show"; Dimension1Totaling: Text[250]; Bold: Boolean; Italic: Boolean; Underline: Boolean; ShowOppositeSign: Boolean; RowType: Integer) + var + AccScheduleLine: Record "Acc. Schedule Line"; + Exists: Boolean; + begin + if AccScheduleLine.Get(ScheduleName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AccScheduleLine.Validate("Schedule Name", ScheduleName); + AccScheduleLine.Validate("Line No.", LineNo); + AccScheduleLine.Validate("Row No.", RowNo); + AccScheduleLine.Validate(Description, Description); + AccScheduleLine.Validate("Totaling Type", TotalingType); + + // For Localization, condition added as GL Account filters are blank + if (Totaling = '..') then + AccScheduleLine.Validate(Totaling) + else + AccScheduleLine.Validate(Totaling, Totaling); + + AccScheduleLine.Validate(Show, Show); + AccScheduleLine.Validate("Dimension 1 Totaling", Dimension1Totaling); + AccScheduleLine.Validate(Bold, Bold); + AccScheduleLine.Validate(Italic, Italic); + AccScheduleLine.Validate(Underline, Underline); + AccScheduleLine.Validate("Show Opposite Sign", ShowOppositeSign); + AccScheduleLine.Validate("Row Type", RowType); + + if Exists then + AccScheduleLine.Modify(true) + else + AccScheduleLine.Insert(true); + end; + + procedure InsertAccScheduleName(Name: Code[10]; Description: Text[80]; AnalysisViewName: Code[10]) + var + AccScheduleName: Record "Acc. Schedule Name"; + Exists: Boolean; + begin + if AccScheduleName.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AccScheduleName.Validate(Name, Name); + AccScheduleName.Validate(Description, Description); + AccScheduleName.Validate("Analysis View Name", AnalysisViewName); + + if Exists then + AccScheduleName.Modify(true) + else + AccScheduleName.Insert(true); + end; + + procedure InsertColumnLayoutName(Name: Code[10]; Description: Text[80]) + var + ColumnLayoutName: Record "Column Layout Name"; + Exists: Boolean; + begin + if ColumnLayoutName.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ColumnLayoutName.Validate(Name, Name); + ColumnLayoutName.Validate(Description, Description); + + if Exists then + ColumnLayoutName.Modify(true) + else + ColumnLayoutName.Insert(true); + end; + + procedure InsertAccSchedKPIWebSrvLine(AccScheduleName: Code[10]) + var + AccSchedKPIWebSrvLine: Record "Acc. Sched. KPI Web Srv. Line"; + Exists: Boolean; + begin + if AccSchedKPIWebSrvLine.Get(AccScheduleName) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AccSchedKPIWebSrvLine.Validate("Acc. Schedule Name", AccScheduleName); + + if Exists then + AccSchedKPIWebSrvLine.Modify(true) + else + AccSchedKPIWebSrvLine.Insert(true); + end; + + procedure InsertAccSchedKPIWebSrvSetup(Period: Integer; ViewBy: Integer; WebServiceName: Text[240]; DataTimeToLiveHours: Integer) + var + AccSchedKPIWebSrvSetup: Record "Acc. Sched. KPI Web Srv. Setup"; + begin + if not AccSchedKPIWebSrvSetup.Get() then + AccSchedKPIWebSrvSetup.Insert(); + + AccSchedKPIWebSrvSetup.Validate(Period, Period); + AccSchedKPIWebSrvSetup.Validate("View By", ViewBy); + AccSchedKPIWebSrvSetup.Validate("Web Service Name", WebServiceName); + AccSchedKPIWebSrvSetup.Validate("Data Time To Live (hours)", DataTimeToLiveHours); + AccSchedKPIWebSrvSetup.Modify(true); + end; + + procedure InsertAccSchedChartSetupLine(UserID: Text[132]; Name: Text[30]; AccountScheduleLineNo: Integer; ColumnLayoutLineNo: Integer; AccountScheduleName: Code[10]; ColumnLayoutName: Code[10]; MeasureName: Text[111]; ChartType: Enum "Account Schedule Chart Type") + var + AccSchedChartSetupLine: Record "Acc. Sched. Chart Setup Line"; + Exists: Boolean; + begin + if AccSchedChartSetupLine.Get(UserID, Name, AccountScheduleLineNo, ColumnLayoutLineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AccSchedChartSetupLine.Validate("User ID", UserID); + AccSchedChartSetupLine.Validate(Name, Name); + AccSchedChartSetupLine.Validate("Account Schedule Name", AccountScheduleName); + AccSchedChartSetupLine.Validate("Column Layout Name", ColumnLayoutName); + AccSchedChartSetupLine.Validate("Account Schedule Line No.", AccountScheduleLineNo); + AccSchedChartSetupLine.Validate("Column Layout Line No.", ColumnLayoutLineNo); + AccSchedChartSetupLine.Validate("Measure Name", MeasureName); + AccSchedChartSetupLine.Validate("Measure Value", StrSubstNo('%1 %2', AccountScheduleLineNo, ColumnLayoutLineNo)); + AccSchedChartSetupLine.Validate("Chart Type", ChartType); + + if Exists then + AccSchedChartSetupLine.Modify(true) + else + AccSchedChartSetupLine.Insert(true); + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; HideCurrencySymbol: Boolean) + begin + InsertColumnLayout(ColumnLayoutName, LineNo, ColumnNo, ColumnHeader, ColumnType, LedgerEntryType, Enum::"Account Schedule Amount Type"::"Net Amount", Formula, ShowOppositeSign, Show, ComparisonPeriodFormula, HideCurrencySymbol, 1033); + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; HideCurrencySymbol: Boolean; FormulaLCID: Integer) + var + ColumnLayout: Record "Column Layout"; + Exists: Boolean; + begin + if ColumnLayout.Get(ColumnLayoutName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ColumnLayout.Validate("Column Layout Name", ColumnLayoutName); + ColumnLayout.Validate("Line No.", LineNo); + ColumnLayout.Validate("Column No.", ColumnNo); + ColumnLayout.Validate("Column Header", ColumnHeader); + ColumnLayout.Validate("Column Type", ColumnType); + ColumnLayout.Validate("Ledger Entry Type", LedgerEntryType); + ColumnLayout.Validate("Amount Type", AmountType); + ColumnLayout.Validate(Formula, Formula); + ColumnLayout.Validate("Show Opposite Sign", ShowOppositeSign); + ColumnLayout.Validate(Show, Show); + ColumnLayout.Validate("Comparison Period Formula LCID", FormulaLCID); + ColumnLayout."Comparison Period Formula" := ComparisonPeriodFormula; + ColumnLayout.Validate("Hide Currency Symbol", HideCurrencySymbol); + + if Exists then + ColumnLayout.Modify(true) + else + ColumnLayout.Insert(true); + end; + + procedure InsertFinancialReport(Name: Code[10]; Description: Text[80]; FinancialReportRowGrp: Code[10]; FinancialReportColumnGrp: Code[10]) + var + FinancialReport: Record "Financial Report"; + Exists: Boolean; + begin + if FinancialReport.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + FinancialReport.Validate(Name, Name); + FinancialReport.Validate(Description, Description); + FinancialReport.Validate("Financial Report Row Group", FinancialReportRowGrp); + FinancialReport.Validate("Financial Report Column Group", FinancialReportColumnGrp); + + if Exists then + FinancialReport.Modify(true) + else + FinancialReport.Insert(true); + end; + + procedure InsertChartDefinition(Codeunit: Integer; ChartName: Text[60]; Enabled: Boolean) + var + ChartDefinition: Record "Chart Definition"; + begin + if ChartDefinition.Get(Codeunit, ChartName) then + exit; + + ChartDefinition.Validate("Code Unit ID", Codeunit); + ChartDefinition.Validate("Chart Name", ChartName); + ChartDefinition.Validate(Enabled, Enabled); + + ChartDefinition.Insert(true); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountingPeriod.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountingPeriod.Codeunit.al new file mode 100644 index 0000000000..51b1666e94 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountingPeriod.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 5439 "Contoso Accounting Period" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Accounting Period" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertAccountingPeriod(StartingDate: Date; NewFiscalYear: Boolean) + var + AccountingPeriod: Record "Accounting Period"; + Exists: Boolean; + begin + if AccountingPeriod.Get(StartingDate) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AccountingPeriod.Validate("Starting Date", StartingDate); + AccountingPeriod.Validate("New Fiscal Year", NewFiscalYear); + + if Exists then + AccountingPeriod.Modify(true) + else + AccountingPeriod.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAnalysis.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAnalysis.Codeunit.al new file mode 100644 index 0000000000..3dacbc591b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAnalysis.Codeunit.al @@ -0,0 +1,43 @@ +codeunit 5452 "Contoso Analysis" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Analysis View" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertAnalysisView(Code: Code[10]; Name: Text[50]; AccountFilter: Code[250]; StartingDate: Date; DateCompression: Integer; Dimension1Code: Code[20]; Dimension2Code: Code[20]; Dimension3Code: Code[20]) + var + AnalysisView: Record "Analysis View"; + Exists: Boolean; + begin + if AnalysisView.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + AnalysisView.Validate(Code, Code); + AnalysisView.Validate(Name, Name); + AnalysisView."Account Filter" := AccountFilter; + AnalysisView.Validate("Starting Date", StartingDate); + AnalysisView.Validate("Date Compression", DateCompression); + + if Exists then + AnalysisView.Modify(true) + else + AnalysisView.Insert(true); + + AnalysisView.Validate("Dimension 1 Code", Dimension1Code); + AnalysisView.Validate("Dimension 2 Code", Dimension2Code); + AnalysisView.Validate("Dimension 3 Code", Dimension3Code); + AnalysisView.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoBank.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoBank.Codeunit.al new file mode 100644 index 0000000000..322976720f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoBank.Codeunit.al @@ -0,0 +1,193 @@ +codeunit 5697 "Contoso Bank" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Bank Account" = rim, + tabledata "Bank Export/Import Setup" = rim, + tabledata "Bank Pmt. Appl. Rule" = rim, + tabledata "Payment Registration Setup" = rim, + tabledata "Bank Acc. Reconciliation" = rim, + tabledata "Bank Acc. Reconciliation Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertBankAccount(No: Code[20]; Name: Text[100]; Address: Text[100]; City: Text[30]; Contact: Text[100]; BankAccountNo: Text[30]; MinBalance: Decimal; BankAccPostingGroup: Code[20]; OurContactCode: Code[20]; CountryRegionCode: Code[10]; LastStatementNo: Code[20]; PmtRecNoSeries: Code[20]; PostCode: Code[20]; LastCheckNo: Code[20]; BankBranchNo: Text[20]; BankStatementImportFormat: Code[20]) + var + BankAccount: Record "Bank Account"; + Exists: Boolean; + begin + if BankAccount.Get(No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BankAccount.Validate("No.", No); + BankAccount.Validate(Name, Name); + BankAccount.Validate(Address, Address); + BankAccount.Validate(City, City); + BankAccount.Validate(Contact, Contact); + BankAccount."Bank Account No." := BankAccountNo; + BankAccount.Validate("Min. Balance", MinBalance); + BankAccount.Validate("Bank Acc. Posting Group", BankAccPostingGroup); + BankAccount.Validate("Our Contact Code", OurContactCode); + BankAccount."Country/Region Code" := CountryRegionCode; + BankAccount.Validate("Last Statement No.", LastStatementNo); + BankAccount.Validate("Pmt. Rec. No. Series", PmtRecNoSeries); + BankAccount.Validate("Post Code", PostCode); + BankAccount.Validate("Last Check No.", LastCheckNo); + BankAccount.Validate("Bank Branch No.", BankBranchNo); + BankAccount.Validate("Bank Statement Import Format", BankStatementImportFormat); + + if Exists then + BankAccount.Modify(true) + else + BankAccount.Insert(true); + end; + + procedure ContosoBankExportImportSetup(Code: Code[20]; Name: Text[100]; Direction: Integer; ProcessingCodeunitID: Integer; ProcessingXMLportID: Integer; DataExchDefCode: Code[20]; PreserveNonLatinCharacters: Boolean; CheckExportCodeunit: Integer) + var + BankExportImportSetup: Record "Bank Export/Import Setup"; + Exists: Boolean; + begin + if BankExportImportSetup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BankExportImportSetup.Validate(Code, Code); + BankExportImportSetup.Validate(Name, Name); + BankExportImportSetup.Validate(Direction, Direction); + BankExportImportSetup.Validate("Processing Codeunit ID", ProcessingCodeunitID); + BankExportImportSetup.Validate("Processing XMLport ID", ProcessingXMLportID); + BankExportImportSetup.Validate("Data Exch. Def. Code", DataExchDefCode); + BankExportImportSetup.Validate("Preserve Non-Latin Characters", PreserveNonLatinCharacters); + BankExportImportSetup.Validate("Check Export Codeunit", CheckExportCodeunit); + + if Exists then + BankExportImportSetup.Modify(true) + else + BankExportImportSetup.Insert(true); + end; + + procedure InserteBankPmtApplRule(MatchConfidence: Integer; Priority: Integer; RelatedPartyMatched: Integer; DocNoExtDocNoMatched: Integer; AmountInclToleranceMatched: Integer; DirectDebitCollectMatched: Integer; Score: Integer; ReviewRequired: Boolean; ApplyImmediatelly: Boolean) + var + BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; + Exists: Boolean; + begin + if BankPmtApplRule.Get(MatchConfidence, Priority) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BankPmtApplRule.Validate("Match Confidence", MatchConfidence); + BankPmtApplRule.Validate(Priority, Priority); + BankPmtApplRule.Validate("Related Party Matched", RelatedPartyMatched); + BankPmtApplRule.Validate("Doc. No./Ext. Doc. No. Matched", DocNoExtDocNoMatched); + BankPmtApplRule.Validate("Amount Incl. Tolerance Matched", AmountInclToleranceMatched); + BankPmtApplRule.Validate("Direct Debit Collect. Matched", DirectDebitCollectMatched); + BankPmtApplRule.Validate(Score, Score); + BankPmtApplRule.Validate("Review Required", ReviewRequired); + BankPmtApplRule.Validate("Apply Immediatelly", ApplyImmediatelly); + + if Exists then + BankPmtApplRule.Modify(true) + else + BankPmtApplRule.Insert(true); + end; + + procedure InsertPaymentRegistrationSetup("User ID": Code[50]; JournalTemplateName: Code[10]; JournalBatchName: Code[10]; BalAccountType: Option " ","G/L Account","Bank Account"; BalAccountNo: Code[20]; UsethisAccountasDef: Boolean; AutoFillDateReceived: Boolean) + var + PaymentRegistrationSetup: Record "Payment Registration Setup"; + Exists: Boolean; + begin + if PaymentRegistrationSetup.Get("User ID") then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PaymentRegistrationSetup.Validate("User ID", "User ID"); + PaymentRegistrationSetup.Validate("Journal Template Name", JournalTemplateName); + PaymentRegistrationSetup.Validate("Journal Batch Name", JournalBatchName); + PaymentRegistrationSetup.Validate("Bal. Account Type", BalAccountType); + PaymentRegistrationSetup.Validate("Bal. Account No.", BalAccountNo); + PaymentRegistrationSetup.Validate("Use this Account as Def.", UsethisAccountasDef); + PaymentRegistrationSetup.Validate("Auto Fill Date Received", AutoFillDateReceived); + + if Exists then + PaymentRegistrationSetup.Modify(true) + else + PaymentRegistrationSetup.Insert(true); + end; + + procedure InsertBankAccountReconciliation(StatementType: Enum "Bank Acc. Rec. Stmt. Type"; BankAccountNo: Code[20]; StatementDate: Date): Record "Bank Acc. Reconciliation" + var + BankAccount: Record "Bank Account"; + BankAccReconciliation: Record "Bank Acc. Reconciliation"; + begin + BankAccReconciliation.Validate("Statement Type", StatementType); + BankAccReconciliation.Validate("Bank Account No.", BankAccountNo); + if BankAccReconciliation.Insert(true) then; + + BankAccReconciliation.Validate("Statement Date", StatementDate); + BankAccReconciliation.Modify(true); + + if StatementType = Enum::"Bank Acc. Rec. Stmt. Type"::"Payment Application" then begin + BankAccount.Get(BankAccountNo); + BankAccount."Last Payment Statement No." := BankAccReconciliation."Statement No."; + BankAccount.Modify(true); + end; + + exit(BankAccReconciliation); + end; + + procedure InsertBankAccRecLine(BankAccReconciliation: Record "Bank Acc. Reconciliation"; DocumentNo: Code[20]; TransactionDate: Date; Description: Text[100]; StatementAmount: Decimal; AppliedAmount: Decimal; AppliedEntries: Integer; AccountType: Enum "Gen. Journal Account Type"; AccountNo: Code[20]) + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + begin + BankAccReconciliationLine.Validate("Statement Type", BankAccReconciliation."Statement Type"); + BankAccReconciliationLine.Validate("Bank Account No.", BankAccReconciliation."Bank Account No."); + BankAccReconciliationLine.Validate("Statement No.", BankAccReconciliation."Statement No."); + BankAccReconciliationLine."Statement Line No." := GetNextBankAccReconciliationLineNo(BankAccReconciliation); + if DocumentNo <> '' then + BankAccReconciliationLine.Validate("Document No.", DocumentNo); + BankAccReconciliationLine.Validate("Transaction Date", TransactionDate); + BankAccReconciliationLine.Validate("Statement Amount", StatementAmount); + BankAccReconciliationLine.Validate("Account Type", AccountType); + BankAccReconciliationLine.Validate("Account No.", AccountNo); + if Description <> '' then + BankAccReconciliationLine.Validate("Transaction Text", Description); + BankAccReconciliationLine.Validate("Applied Amount", AppliedAmount); + // BankAccReconciliationLine.Validate("Applied Entries", AppliedEntries); + BankAccReconciliationLine.Insert(true); + end; + + local procedure GetNextBankAccReconciliationLineNo(BankAccReconciliation: Record "Bank Acc. Reconciliation"): Integer + var + BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; + begin + BankAccReconciliationLine.SetRange("Statement Type", BankAccReconciliation."Statement Type"); + BankAccReconciliationLine.SetRange("Bank Account No.", BankAccReconciliation."Bank Account No."); + BankAccReconciliationLine.SetRange("Statement No.", BankAccReconciliation."Statement No."); + BankAccReconciliationLine.SetCurrentKey("Statement Line No."); + + if BankAccReconciliationLine.FindLast() then + exit(BankAccReconciliationLine."Statement Line No." + 10000) + else + exit(10000); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCRM.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCRM.Codeunit.al new file mode 100644 index 0000000000..0d598b71b7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCRM.Codeunit.al @@ -0,0 +1,864 @@ +codeunit 5180 "Contoso CRM" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Duplicate Search String Setup" = rim, + tabledata "Interaction Group" = rim, + tabledata "Interaction Template" = rim, + tabledata "Interaction Template Setup" = rim, + tabledata "Interaction Tmpl. Language" = rim, + tabledata "Marketing Setup" = rim, + tabledata Activity = rim, + tabledata "Activity Step" = rim, + tabledata "Business Relation" = rim, + tabledata Salutation = rim, + tabledata "Salutation Formula" = rim, + tabledata "Sales Cycle" = rim, + tabledata Campaign = rim, + tabledata "Campaign Status" = rim, + tabledata "Close Opportunity Code" = rim, + tabledata "Industry Group" = rim, + tabledata "Job Responsibility" = rim, + tabledata "Mailing Group" = rim, + tabledata "Territory" = rim, + tabledata "Salesperson/Purchaser" = rim, + tabledata "Word Template" = rim, + tabledata "Web Source" = rim, + tabledata "Organizational Level" = rim, + tabledata Team = rim, + tabledata "Sales Cycle Stage" = rim, + tabledata "Segment Header" = rim, + tabledata "Segment Line" = rim, + tabledata Opportunity = rim, + tabledata "Opportunity Entry" = rim, + tabledata "Contact Job Responsibility" = rim, + tabledata "Profile Questionnaire Header" = rim, + tabledata "Profile Questionnaire Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertDuplicateSearchStringSetup(FieldNo: Integer; PartOfField: Option; Length: Integer) + var + DuplicateSearchStringSetup: Record "Duplicate Search String Setup"; + Exists: Boolean; + begin + if DuplicateSearchStringSetup.Get(FieldNo, PartOfField) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DuplicateSearchStringSetup.Validate("Field No.", FieldNo); + DuplicateSearchStringSetup.Validate("Part of Field", PartOfField); + DuplicateSearchStringSetup.Validate(Length, Length); + + if Exists then + DuplicateSearchStringSetup.Modify(true) + else + DuplicateSearchStringSetup.Insert(true); + end; + + procedure InsertInteractionGroup(Code: Code[10]; Description: Text[100]) + var + InteractionGroup: Record "Interaction Group"; + Exists: Boolean; + begin + if InteractionGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + InteractionGroup.Validate(Code, Code); + InteractionGroup.Validate(Description, Description); + + if Exists then + InteractionGroup.Modify(true) + else + InteractionGroup.Insert(true); + end; + + procedure InsertInteractionTemplate(Code: Code[10]; InteractionGroupCode: Code[10]; Description: Text[100]; UnitCostLCY: Decimal; UnitDurationMin: Decimal; InformationFlow: Integer; InitiatedBy: Integer; CorrespondenceTypeDefault: Enum "Correspondence Type"; WizardAction: Enum "Interaction Template Wizard Action"; IgnoreContactCorresType: Boolean) + var + InteractionTemplate: Record "Interaction Template"; + Exists: Boolean; + begin + if InteractionTemplate.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + InteractionTemplate.Validate(Code, Code); + InteractionTemplate.Validate("Interaction Group Code", InteractionGroupCode); + InteractionTemplate.Validate(Description, Description); + InteractionTemplate.Validate("Unit Cost (LCY)", UnitCostLCY); + InteractionTemplate.Validate("Unit Duration (Min.)", UnitDurationMin); + InteractionTemplate.Validate("Information Flow", InformationFlow); + InteractionTemplate.Validate("Initiated By", InitiatedBy); + InteractionTemplate.Validate("Correspondence Type (Default)", CorrespondenceTypeDefault); + InteractionTemplate.Validate("Wizard Action", WizardAction); + InteractionTemplate.Validate("Ignore Contact Corres. Type", IgnoreContactCorresType); + + if Exists then + InteractionTemplate.Modify(true) + else + InteractionTemplate.Insert(true); + end; + + procedure InsertInteractionTemplateSetup(SalesInvoices: Code[10]; SalesCrMemo: Code[10]; SalesOrdCnfrmn: Code[10]; SalesQuotes: Code[10]; PurchInvoices: Code[10]; PurchCrMemos: Code[10]; PurchOrders: Code[10]; PurchQuotes: Code[10]; EMails: Code[10]; CoverSheets: Code[10]; OutgCalls: Code[10]; SalesBlnktOrd: Code[10]; ServOrdPost: Code[10]; SalesShptNote: Code[10]; SalesStatement: Code[10]; SalesRmdr: Code[10]; ServOrdCreate: Code[10]; PurchBlnktOrd: Code[10]; PurchRcpt: Code[10]; SalesReturnOrder: Code[10]; SalesReturnReceipt: Code[10]; SalesFinanceChargeMemo: Code[10]; PurchReturnShipment: Code[10]; PurchReturnOrdCnfrmn: Code[10]; MeetingInvitation: Code[10]; EMailDraft: Code[10]; SalesDraftInvoices: Code[10]) + var + InteractionTemplateSetup: Record "Interaction Template Setup"; + begin + if not InteractionTemplateSetup.Get() then + InteractionTemplateSetup.Insert(); + + InteractionTemplateSetup.Validate("Sales Invoices", SalesInvoices); + InteractionTemplateSetup.Validate("Sales Cr. Memo", SalesCrMemo); + InteractionTemplateSetup.Validate("Sales Ord. Cnfrmn.", SalesOrdCnfrmn); + InteractionTemplateSetup.Validate("Sales Quotes", SalesQuotes); + InteractionTemplateSetup.Validate("Purch Invoices", PurchInvoices); + InteractionTemplateSetup.Validate("Purch Cr Memos", PurchCrMemos); + InteractionTemplateSetup.Validate("Purch. Orders", PurchOrders); + InteractionTemplateSetup.Validate("Purch. Quotes", PurchQuotes); + InteractionTemplateSetup.Validate("E-Mails", EMails); + InteractionTemplateSetup.Validate("Cover Sheets", CoverSheets); + InteractionTemplateSetup.Validate("Outg. Calls", OutgCalls); + InteractionTemplateSetup.Validate("Sales Blnkt. Ord", SalesBlnktOrd); + InteractionTemplateSetup.Validate("Serv Ord Post", ServOrdPost); + InteractionTemplateSetup.Validate("Sales Shpt. Note", SalesShptNote); + InteractionTemplateSetup.Validate("Sales Statement", SalesStatement); + InteractionTemplateSetup.Validate("Sales Rmdr.", SalesRmdr); + InteractionTemplateSetup.Validate("Serv Ord Create", ServOrdCreate); + InteractionTemplateSetup.Validate("Purch Blnkt Ord", PurchBlnktOrd); + InteractionTemplateSetup.Validate("Purch. Rcpt.", PurchRcpt); + InteractionTemplateSetup.Validate("Sales Return Order", SalesReturnOrder); + InteractionTemplateSetup.Validate("Sales Return Receipt", SalesReturnReceipt); + InteractionTemplateSetup.Validate("Sales Finance Charge Memo", SalesFinanceChargeMemo); + InteractionTemplateSetup.Validate("Purch. Return Shipment", PurchReturnShipment); + InteractionTemplateSetup.Validate("Purch. Return Ord. Cnfrmn.", PurchReturnOrdCnfrmn); + InteractionTemplateSetup.Validate("Meeting Invitation", MeetingInvitation); + InteractionTemplateSetup.Validate("E-Mail Draft", EMailDraft); + InteractionTemplateSetup.Validate("Sales Draft Invoices", SalesDraftInvoices); + InteractionTemplateSetup.Modify(true); + end; + + procedure InsertInteractionTmplLanguage(InteractionTemplateCode: Code[10]; LanguageCode: Code[10]) + var + InteractionTmplLanguage: Record "Interaction Tmpl. Language"; + Exists: Boolean; + begin + if InteractionTmplLanguage.Get(InteractionTemplateCode, LanguageCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + InteractionTmplLanguage.Validate("Interaction Template Code", InteractionTemplateCode); + InteractionTmplLanguage.Validate("Language Code", LanguageCode); + + if Exists then + InteractionTmplLanguage.Modify(true) + else + InteractionTmplLanguage.Insert(true); + end; + + procedure InsertSalesCycle(SalesCycleCode: Code[10]; Description: Text[100]; ProbabilityCalculation: Integer) + var + SalesCycle: Record "Sales Cycle"; + Exists: Boolean; + begin + if SalesCycle.Get(SalesCycleCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SalesCycle.Validate(Code, SalesCycleCode); + SalesCycle.Validate(Description, Description); + SalesCycle.Validate("Probability Calculation", ProbabilityCalculation); + + if Exists then + SalesCycle.Modify(true) + else + SalesCycle.Insert(true); + end; + + procedure InsertMarketingSetup(CountryOrRegionCode: Code[10]; ContactNos: Code[20]; CampaignNos: Code[20]; SegmentNos: Code[20]; ToDoNos: Code[20]; OpportunityNos: Code[20]; BusRelCodeForCustomers: Code[10]; BusRelCodeForVendors: Code[10]; BusRelCodeForBankAccs: Code[10]; BusRelCodeForEmployees: Code[10]; InheritSalespersonCode: Boolean; InheritTerritoryCode: Boolean; InheritCountryRegionCode: Boolean; InheritLanguageCode: Boolean; InheritAddressDetails: Boolean; InheritCommunicationDetails: Boolean; DefaultLanguageCode: Code[10]; DefaultSalesCycleCode: Code[10]; AttachmentStorageType: Enum "Setup Attachment Storage Type"; AutosearchForDuplicates: Boolean; SearchHitPercentage: Integer; MaintainDuplSearchStrings: Boolean; MergefieldLanguageID: Integer; DefCompanySalutationCode: Code[10]; DefaultPersonSalutationCode: Code[10]; DefaultCorrespondenceType: Enum "Correspondence Type"; InheritFormatRegion: Boolean) + var + MarketingSetup: Record "Marketing Setup"; + begin + if not MarketingSetup.Get() then + MarketingSetup.Insert(); + + MarketingSetup.Validate("Default Country/Region Code", CountryOrRegionCode); + MarketingSetup.Validate("Contact Nos.", ContactNos); + MarketingSetup.Validate("Campaign Nos.", CampaignNos); + MarketingSetup.Validate("Segment Nos.", SegmentNos); + MarketingSetup.Validate("To-do Nos.", ToDoNos); + MarketingSetup.Validate("Opportunity Nos.", OpportunityNos); + MarketingSetup.Validate("Bus. Rel. Code for Customers", BusRelCodeForCustomers); + MarketingSetup.Validate("Bus. Rel. Code for Vendors", BusRelCodeForVendors); + MarketingSetup.Validate("Bus. Rel. Code for Bank Accs.", BusRelCodeForBankAccs); + MarketingSetup.Validate("Bus. Rel. Code for Employees", BusRelCodeForEmployees); + MarketingSetup.Validate("Inherit Salesperson Code", InheritSalespersonCode); + MarketingSetup.Validate("Inherit Territory Code", InheritTerritoryCode); + MarketingSetup.Validate("Inherit Country/Region Code", InheritCountryRegionCode); + MarketingSetup.Validate("Inherit Language Code", InheritLanguageCode); + MarketingSetup.Validate("Inherit Address Details", InheritAddressDetails); + MarketingSetup.Validate("Inherit Communication Details", InheritCommunicationDetails); + MarketingSetup.Validate("Default Language Code", DefaultLanguageCode); + MarketingSetup.Validate("Default Sales Cycle Code", DefaultSalesCycleCode); + MarketingSetup.Validate("Attachment Storage Type", AttachmentStorageType); + MarketingSetup.Validate("Autosearch for Duplicates", AutosearchForDuplicates); + MarketingSetup.Validate("Search Hit %", SearchHitPercentage); + MarketingSetup.Validate("Maintain Dupl. Search Strings", MaintainDuplSearchStrings); + MarketingSetup.Validate("Mergefield Language ID", MergefieldLanguageID); + MarketingSetup.Validate("Def. Company Salutation Code", DefCompanySalutationCode); + MarketingSetup.Validate("Default Person Salutation Code", DefaultPersonSalutationCode); + MarketingSetup.Validate("Default Correspondence Type", DefaultCorrespondenceType); + MarketingSetup.Validate("Inherit Format Region", InheritFormatRegion); + MarketingSetup.Modify(true); + end; + + procedure InsertActivity(Code: Code[10]; Description: Text[100]) + var + Activity: Record "Activity"; + Exists: Boolean; + begin + if Activity.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Activity.Validate(Code, Code); + Activity.Validate(Description, Description); + + if Exists then + Activity.Modify(true) + else + Activity.Insert(true); + end; + + procedure InsertActivityStep(ActivityCode: Code[10]; StepNo: Integer; Type: Enum "Task Type"; Description: Text[100]; Priority: Integer; DateFormula: Text) + var + ActivityStep: Record "Activity Step"; + Exists: Boolean; + begin + if ActivityStep.Get(ActivityCode, StepNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ActivityStep.Validate("Activity Code", ActivityCode); + ActivityStep.Validate("Step No.", StepNo); + ActivityStep.Validate(Type, Type); + ActivityStep.Validate(Description, Description); + ActivityStep.Validate(Priority, Priority); + Evaluate(ActivityStep."Date Formula", DateFormula); + + if Exists then + ActivityStep.Modify(true) + else + ActivityStep.Insert(true); + end; + + procedure InsertBusinessRelation(Code: Code[10]; Description: Text[100]) + var + BusinessRelation: Record "Business Relation"; + Exists: Boolean; + begin + if BusinessRelation.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BusinessRelation.Validate(Code, Code); + BusinessRelation.Validate(Description, Description); + + if Exists then + BusinessRelation.Modify(true) + else + BusinessRelation.Insert(true); + end; + + procedure InsertSalutations(Code: Code[10]; Description: Text[100]) + var + Salutation: Record Salutation; + Exists: Boolean; + begin + if Salutation.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Salutation.Validate(Code, Code); + Salutation.Validate(Description, Description); + + if Exists then + Salutation.Modify(true) + else + Salutation.Insert(true); + end; + + procedure InsertCampaign(No: Code[20]; Description: Text[100]; StartingDate: Date; EndingDate: Date; SalespersonCode: Code[20]; NoSeries: Code[20]; StatusCode: Code[10]) + var + Campaign: Record "Campaign"; + Exists: Boolean; + begin + if Campaign.Get(No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Campaign.Validate("No.", No); + Campaign.Validate(Description, Description); + Campaign.Validate("Starting Date", StartingDate); + Campaign.Validate("Ending Date", EndingDate); + Campaign.Validate("Salesperson Code", SalespersonCode); + Campaign.Validate("No. Series", NoSeries); + Campaign.Validate("Status Code", StatusCode); + + if Exists then + Campaign.Modify(true) + else + Campaign.Insert(true); + end; + + procedure InsertCampaignStatus(Code: Code[10]; Description: Text[100]) + var + CampaignStatus: Record "Campaign Status"; + Exists: Boolean; + begin + if CampaignStatus.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CampaignStatus.Code := Code; + CampaignStatus.Description := Description; + + if Exists then + CampaignStatus.Modify(true) + else + CampaignStatus.Insert(true); + end; + + procedure InsertCloseOpportunityCode(Code: Code[10]; Description: Text[100]; Type: Option) + var + CloseOpportunityCode: Record "Close Opportunity Code"; + Exists: Boolean; + begin + if CloseOpportunityCode.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CloseOpportunityCode.Validate(Code, Code); + CloseOpportunityCode.Validate(Description, Description); + CloseOpportunityCode.Validate(Type, Type); + + if Exists then + CloseOpportunityCode.Modify(true) + else + CloseOpportunityCode.Insert(true); + end; + + procedure InsertIndustryGroup(Code: Code[10]; Description: Text[100]) + var + IndustryGroup: Record "Industry Group"; + Exists: Boolean; + begin + if IndustryGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + IndustryGroup.Validate(Code, Code); + IndustryGroup.Validate(Description, Description); + + if Exists then + IndustryGroup.Modify(true) + else + IndustryGroup.Insert(true); + end; + + procedure InsertJobResponsibility(Code: Code[10]; Description: Text[100]) + var + JobResponsibility: Record "Job Responsibility"; + Exists: Boolean; + begin + if JobResponsibility.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + JobResponsibility.Validate(Code, Code); + JobResponsibility.Validate(Description, Description); + + if Exists then + JobResponsibility.Modify(true) + else + JobResponsibility.Insert(true); + end; + + procedure InsertMailingGroup(Code: Code[10]; Description: Text[100]) + var + MailingGroup: Record "Mailing Group"; + Exists: Boolean; + begin + if MailingGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + MailingGroup.Validate(Code, Code); + MailingGroup.Validate(Description, Description); + + if Exists then + MailingGroup.Modify(true) + else + MailingGroup.Insert(true); + end; + + procedure InsertTerritory(Code: Code[10]; Name: Text[50]) + var + Territory: Record "Territory"; + Exists: Boolean; + begin + if Territory.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Territory.Validate(Code, Code); + Territory.Validate(Name, Name); + + if Exists then + Territory.Modify(true) + else + Territory.Insert(true); + end; + + procedure InsertSalespersonPurchaser(Code: Code[20]; Name: Text[50]; CommissionPercentage: Decimal; Picture: Codeunit "Temp Blob"; EMail: Text[80]) + var + SalespersonPurchaser: Record "Salesperson/Purchaser"; + Exists: Boolean; + begin + if SalespersonPurchaser.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SalespersonPurchaser.Validate(Code, Code); + SalespersonPurchaser.Validate(Name, Name); + SalespersonPurchaser.Validate("Commission %", CommissionPercentage); + SalespersonPurchaser.Validate("E-Mail", EMail); + + if Exists then + SalespersonPurchaser.Modify(true) + else + SalespersonPurchaser.Insert(true); + end; + + procedure InsertWordTemplate(Code: Code[30]; Name: Text[250]; TableID: Integer; FileName: Text; LanguageCode: Code[10]) + var + WordTemplate: Record "Word Template"; + Exists: Boolean; + InStream: InStream; + begin + if WordTemplate.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + WordTemplate.Validate(Code, Code); + WordTemplate.Validate(Name, Name); + WordTemplate.Validate("Table ID", TableID); + WordTemplate.Validate("Language Code", LanguageCode); + + NavApp.GetResource(FileName, InStream); + WordTemplate.Template.ImportStream(InStream, 'Template'); + + if Exists then + WordTemplate.Modify(true) + else + WordTemplate.Insert(true); + end; + + procedure InsertWebSource(Code: Code[10]; Description: Text[100]; URL: Text[250]) + var + WebSource: Record "Web Source"; + Exists: Boolean; + begin + if WebSource.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + WebSource.Validate(Code, Code); + WebSource.Validate(Description, Description); + WebSource.Validate(URL, URL); + + if Exists then + WebSource.Modify(true) + else + WebSource.Insert(true); + end; + + procedure InsertOrganizationalLevel(Code: Code[10]; Description: Text[100]) + var + OrganizationalLevel: Record "Organizational Level"; + Exists: Boolean; + begin + if OrganizationalLevel.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + OrganizationalLevel.Validate(Code, Code); + OrganizationalLevel.Validate(Description, Description); + + if Exists then + OrganizationalLevel.Modify(true) + else + OrganizationalLevel.Insert(true); + end; + + procedure InsertTeam(Code: Code[10]; Name: Text[50]) + var + Team: Record Team; + Exists: Boolean; + begin + if Team.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Team.Validate(Code, Code); + Team.Validate(Name, Name); + + if Exists then + Team.Modify(true) + else + Team.Insert(true); + end; + + procedure InsertSalesCycleStage(SalesCycleCode: Code[10]; Stage: Integer; Description: Text[100]; CompletedPercent: Decimal; ActivityCode: Code[10]; QuoteRequired: Boolean; AllowSkip: Boolean; ChancesofSuccessPercent: Decimal) + var + SalesCycleStage: Record "Sales Cycle Stage"; + Exists: Boolean; + begin + if SalesCycleStage.Get(SalesCycleCode, Stage) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SalesCycleStage.Validate("Sales Cycle Code", SalesCycleCode); + SalesCycleStage.Validate(Stage, Stage); + SalesCycleStage.Validate(Description, Description); + SalesCycleStage.Validate("Completed %", CompletedPercent); + SalesCycleStage.Validate("Activity Code", ActivityCode); + SalesCycleStage.Validate("Quote Required", QuoteRequired); + SalesCycleStage.Validate("Allow Skip", AllowSkip); + SalesCycleStage.Validate("Chances of Success %", ChancesofSuccessPercent); + + if Exists then + SalesCycleStage.Modify(true) + else + SalesCycleStage.Insert(true); + end; + + procedure InsertSegmentHeader(No: Code[20]; Description: Text[100]; SalespersonCode: Code[20]; CorrespondenceType: Enum "Correspondence Type"; InteractionTemplateCode: Code[10]; UnitCost: Decimal; UnitDuration: Decimal; InteractionGroupCode: Code[10]; InformationFlow: Integer; InitiatedBy: Integer; IgnoreContactCorresType: Boolean) + var + SegmentHeader: Record "Segment Header"; + Exists: Boolean; + begin + if SegmentHeader.Get(No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SegmentHeader.Validate("No.", No); + SegmentHeader.Validate(Description, Description); + SegmentHeader.Validate("Salesperson Code", SalespersonCode); + SegmentHeader.Validate("Correspondence Type (Default)", CorrespondenceType); + SegmentHeader.Validate("Unit Cost (LCY)", UnitCost); + SegmentHeader.Validate("Unit Duration (Min.)", UnitDuration); + SegmentHeader.Validate("Interaction Group Code", InteractionGroupCode); + SegmentHeader.Validate("Information Flow", InformationFlow); + SegmentHeader.Validate("Initiated By", InitiatedBy); + SegmentHeader.Validate("Ignore Contact Corres. Type", IgnoreContactCorresType); + + if Exists then + SegmentHeader.Modify(true) + else + SegmentHeader.Insert(true); + + SegmentHeader.Validate("Interaction Template Code", InteractionTemplateCode); + SegmentHeader.Modify(true); + end; + + procedure InsertSegmentLine(SegmentNo: Code[20]; LineNo: Integer; ContactNo: Code[20]) + var + SegmentLine: Record "Segment Line"; + Exists: Boolean; + begin + if SegmentLine.Get(SegmentNo, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SegmentLine.Validate("Segment No.", SegmentNo); + SegmentLine.Validate("Line No.", LineNo); + SegmentLine.Validate("Contact No.", ContactNo); + + if Exists then + SegmentLine.Modify(true) + else + SegmentLine.Insert(true); + end; + + procedure InsertOpportunity(No: Code[10]; Description: Text[100]; SalespersonCode: Code[20]; ContactNo: Code[20]; ContactCompanyNo: Code[20]; SalesCycleCode: Code[10]; CreationDate: Date; Status: Enum "Opportunity Status"; Priority: Enum "Opportunity Priority"; Closed: Boolean; DateClosed: Date; NoSeries: Code[20]) + var + Opportunity: Record Opportunity; + Exists: Boolean; + begin + if Opportunity.Get(No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Opportunity.Validate("No.", No); + Opportunity.Validate(Description, Description); + Opportunity.Validate("Salesperson Code", SalespersonCode); + Opportunity.Validate("Contact No.", ContactNo); + Opportunity.Validate("Contact Company No.", ContactCompanyNo); + Opportunity.Validate("Sales Cycle Code", SalesCycleCode); + Opportunity.Validate("Creation Date", CreationDate); + Opportunity.Validate(Status, Status); + Opportunity.Validate(Priority, Priority); + Opportunity.Validate(Closed, Closed); + Opportunity.Validate("Date Closed", DateClosed); + Opportunity.Validate("No. Series", NoSeries); + + if Exists then + Opportunity.Modify(true) + else + Opportunity.Insert(true); + end; + + procedure InsertOpportunityEntry(EntryNo: Integer; OpportunityNo: Code[10]; SalesCycleStage: Integer; EstimatedCloseDate: Date; DateofChange: Date; Active: Boolean; DateClosed: Date; ActionTaken: Integer; EstimatedValueLCY: Decimal; CompletedPercent: Decimal; ChancesofSuccessPercent: Decimal; CloseOpportunityCode: Code[10]; PreviousSalesCycleStage: Integer) + var + Opportunity: Record Opportunity; + OpportunityEntry: Record "Opportunity Entry"; + begin + OpportunityEntry.Validate("Entry No.", EntryNo); + OpportunityEntry.Validate("Opportunity No.", OpportunityNo); + + Opportunity.Get(OpportunityNo); + OpportunityEntry.Validate("Sales Cycle Code", Opportunity."Sales Cycle Code"); + OpportunityEntry.Validate("Contact No.", Opportunity."Contact No."); + OpportunityEntry.Validate("Contact Company No.", Opportunity."Contact Company No."); + OpportunityEntry.Validate("Salesperson Code", Opportunity."Salesperson Code"); + OpportunityEntry.Validate("Campaign No.", Opportunity."Campaign No."); + + OpportunityEntry.Validate("Sales Cycle Stage", SalesCycleStage); + OpportunityEntry.Validate("Estimated Close Date", EstimatedCloseDate); + OpportunityEntry.Validate("Date of Change", DateofChange); + OpportunityEntry.Validate(Active, Active); + OpportunityEntry.Validate("Date Closed", DateClosed); + OpportunityEntry.Validate("Action Taken", ActionTaken); + OpportunityEntry.Validate("Estimated Value (LCY)", EstimatedValueLCY); + OpportunityEntry.Validate("Completed %", CompletedPercent); + OpportunityEntry.Validate("Chances of Success %", ChancesofSuccessPercent); + OpportunityEntry.Validate("Close Opportunity Code", CloseOpportunityCode); + OpportunityEntry.Validate("Previous Sales Cycle Stage", PreviousSalesCycleStage); + OpportunityEntry.Insert(); + + OpportunityEntry.UpdateEstimates(); + + if OpportunityEntry."Action Taken" = OpportunityEntry."Action Taken"::Won then begin + OpportunityEntry."Calcd. Current Value (LCY)" := EstimatedValueLCY; + OpportunityEntry.Modify(); + end; + end; + + procedure InsertProfileQuestionnaireHeader(Code: Code[20]; Description: Text[250]; ContactType: Enum "Profile Questionnaire Contact Type"; BusinessRelationCode: Code[10]) + var + ProfileQuestionnaireHeader: Record "Profile Questionnaire Header"; + Exists: Boolean; + begin + if ProfileQuestionnaireHeader.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ProfileQuestionnaireHeader.Validate(Code, Code); + ProfileQuestionnaireHeader.Validate(Description, Description); + ProfileQuestionnaireHeader.Validate("Contact Type", ContactType); + ProfileQuestionnaireHeader.Validate("Business Relation Code", BusinessRelationCode); + + if Exists then + ProfileQuestionnaireHeader.Modify(true) + else + ProfileQuestionnaireHeader.Insert(true); + end; + + procedure InsertProfileQuestionnaireLine(ProfileQuestionnaireCode: Code[20]; LineNo: Integer; Type: Enum "Profile Questionnaire Line Type"; Description: Text[250]; MultipleAnswers: Boolean; Priority: Enum "Profile Answer Priority"; AutoContactClassification: Boolean; ClassificationFieldsCust: Enum "Profile Quest. Cust. Class. Field"; StartingDateFormula: Text[30]; EndingDateFormula: Text[30]; ClassificationMethod: Integer; SortingMethod: Integer; FromValue: Decimal; ToValue: Decimal) + var + ProfileQuestionnaireLine: Record "Profile Questionnaire Line"; + Exists: Boolean; + begin + if ProfileQuestionnaireLine.Get(ProfileQuestionnaireCode, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ProfileQuestionnaireLine.Validate("Profile Questionnaire Code", ProfileQuestionnaireCode); + ProfileQuestionnaireLine.Validate("Line No.", LineNo); + ProfileQuestionnaireLine.Validate(Type, Type); + ProfileQuestionnaireLine.Validate(Description, Description); + ProfileQuestionnaireLine.Validate("Multiple Answers", MultipleAnswers); + ProfileQuestionnaireLine.Priority := Priority; + ProfileQuestionnaireLine.Validate("Auto Contact Classification", AutoContactClassification); + ProfileQuestionnaireLine.Validate("Customer Class. Field", ClassificationFieldsCust); + Evaluate(ProfileQuestionnaireLine."Starting Date Formula", StartingDateFormula); + ProfileQuestionnaireLine.Validate("Starting Date Formula"); + Evaluate(ProfileQuestionnaireLine."Ending Date Formula", EndingDateFormula); + ProfileQuestionnaireLine.Validate("Ending Date Formula"); + ProfileQuestionnaireLine.Validate("Classification Method", ClassificationMethod); + ProfileQuestionnaireLine.Validate("Sorting Method", SortingMethod); + ProfileQuestionnaireLine.Validate("From Value", FromValue); + ProfileQuestionnaireLine.Validate("To Value", ToValue); + + if Exists then + ProfileQuestionnaireLine.Modify(true) + else + ProfileQuestionnaireLine.Insert(true); + end; + + procedure InsertSalutationFormula(SalutationCode: Code[10]; LanguageCode: Code[10]; SalutationType: Enum "Salutation Formula Salutation Type"; Salutation: Text[50]; Name1: Enum "Salutation Formula Name"; Name2: Enum "Salutation Formula Name"; Name3: Enum "Salutation Formula Name") + var + SalutationFormula: Record "Salutation Formula"; + Exists: Boolean; + begin + if SalutationFormula.Get(SalutationCode, LanguageCode, SalutationType) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SalutationFormula.Validate("Salutation Code", SalutationCode); + SalutationFormula.Validate("Language Code", LanguageCode); + SalutationFormula.Validate("Salutation Type", SalutationType); + SalutationFormula.Validate(Salutation, Salutation); + SalutationFormula.Validate("Name 1", Name1); + SalutationFormula.Validate("Name 2", Name2); + SalutationFormula.Validate("Name 3", Name3); + + if Exists then + SalutationFormula.Modify(true) + else + SalutationFormula.Insert(true); + end; + + procedure InsertContactJobResponsibility(ContactNo: Code[20]; JobResponsibilityCode: Code[10]) + var + ContactJobResponsibility: Record "Contact Job Responsibility"; + Exists: Boolean; + begin + if ContactJobResponsibility.Get(ContactNo, JobResponsibilityCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ContactJobResponsibility.Validate("Contact No.", ContactNo); + ContactJobResponsibility.Validate("Job Responsibility Code", JobResponsibilityCode); + + if Exists then + ContactJobResponsibility.Modify(true) + else + ContactJobResponsibility.Insert(true); + end; + + procedure FindContactNo(LinkToTable: Enum "Contact Business Relation Link To Table"; ContactBusinessRelationNo: Code[20]; ContactType: Integer): Code[20] + var + ContactBusinessRelation: Record "Contact Business Relation"; + Contact: Record Contact; + begin + if ContactType = 0 then begin + ContactBusinessRelation.SetRange("Link to Table", LinkToTable); + ContactBusinessRelation.SetRange("No.", ContactBusinessRelationNo); + if ContactBusinessRelation.FindFirst() then + exit(ContactBusinessRelation."Contact No.") + end else begin + ContactBusinessRelation.SetRange("Link to Table", LinkToTable); + ContactBusinessRelation.SetRange("No.", ContactBusinessRelationNo); + if ContactBusinessRelation.FindFirst() then begin + Contact.SetRange("Company No.", ContactBusinessRelation."Contact No."); + Contact.SetRange(Type, ContactType); + if Contact.FindFirst() then + exit(Contact."No."); + end; + end; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCompany.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCompany.Codeunit.al new file mode 100644 index 0000000000..84b49abf22 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCompany.Codeunit.al @@ -0,0 +1,71 @@ +codeunit 5408 "Contoso Company" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Company Information" = rim; + EventSubscriberInstance = Manual; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertCompanyInformation(CompanyName: Text[100]; Address: Text[100]) + var + CompanyInformation: Record "Company Information"; + begin + if OverwriteData then + if CompanyInformation.Get() then; + + InsertCompanyInformation(CompanyName, Address, CompanyInformation."Address 2", CompanyInformation."Country/Region Code", CompanyInformation."Post Code", CompanyInformation.City, CompanyInformation."Contact Person", CompanyInformation."Phone No.", CompanyInformation."Fax No.", CompanyInformation."Giro No.", CompanyInformation."Bank Name", CompanyInformation."Bank Branch No.", CompanyInformation."Bank Account No.", CompanyInformation.IBAN, CompanyInformation."Payment Routing No.", CompanyInformation."VAT Registration No.", CompanyInformation."Ship-to Name", CompanyInformation."Ship-to Address", CompanyInformation."Ship-to Address 2", CompanyInformation."Ship-to Country/Region Code", CompanyInformation."Ship-to Post Code", CompanyInformation."Ship-to City", '', ''); + end; + + procedure InsertCompanyInformation(CompanyName: Text[100]; Address: Text[100]; Address2: Text[50]; CountryRegionCode: Code[10]; PostCode: Code[20]; City: Text[30]; ContactPerson: Text[50]; PhoneNo: Text[30]; FaxNo: Text[30]; GiroNo: Text[20]; BankName: Text[100]; BankBranchNo: Text[30]; BankAccountNo: Text[30]; IBAN: Code[50]; PaymentRoutingNo: Text[20]; VATRegistrationNo: Text[20]; ShipToName: Text[100]; ShipToAddress: Text[100]; ShipToAddress2: Text[50]; ShipToCountryRegionCode: Code[10]; ShipToPostCode: Code[20]; ShipToCity: Text[30]; PictureName: Text[100]; CheckAvailPeriodCalc: Text[10]) + var + CompanyInformation: Record "Company Information"; + Exists: Boolean; + begin + if CompanyInformation.Get() then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CompanyInformation."Demo Company" := true; + CompanyInformation.Validate("Primary Key", ''); + CompanyInformation.Validate(Name, CompanyName); + CompanyInformation.Validate(Address, Address); + CompanyInformation.Validate("Address 2", Address2); + CompanyInformation.Validate("Country/Region Code", CountryRegionCode); + CompanyInformation.Validate("Post Code", PostCode);// "Post Code" := CreatePostCode.FindPostCode(CreatePostCode.Convert('GB-W2 8HG')); + CompanyInformation.Validate(City, City); //City := CreatePostCode.FindCity(CompanyInformation."Post Code"); + CompanyInformation.Validate("Contact Person", ContactPerson); + CompanyInformation.Validate("Phone No.", PhoneNo); + CompanyInformation.Validate("Fax No.", FaxNo); + CompanyInformation.Validate("Giro No.", GiroNo); + CompanyInformation.Validate("Bank Name", BankName); + CompanyInformation.Validate("Bank Branch No.", BankBranchNo); + CompanyInformation.Validate("Bank Account No.", BankAccountNo); + CompanyInformation.Validate(IBAN, IBAN); + CompanyInformation.Validate("Payment Routing No.", PaymentRoutingNo); + CompanyInformation.Validate("VAT Registration No.", VATRegistrationNo); + CompanyInformation.Validate("Ship-to Name", ShipToName); + CompanyInformation.Validate("Ship-to Address", ShipToAddress); + CompanyInformation.Validate("Ship-to Address 2", ShipToAddress2); + CompanyInformation.Validate("Ship-to Country/Region Code", ShipToCountryRegionCode); + CompanyInformation.Validate("Ship-to Post Code", ShipToPostCode); + CompanyInformation.Validate("Ship-to City", ShipToCity); + CompanyInformation.Validate("Check-Avail. Time Bucket", CompanyInformation."Check-Avail. Time Bucket"::Week); + Evaluate(CompanyInformation."Check-Avail. Period Calc.", CheckAvailPeriodCalc); + CompanyInformation.Validate("Check-Avail. Period Calc."); + + if Exists then + CompanyInformation.Modify(true) + else + CompanyInformation.Insert(true); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCountryOrRegion.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCountryOrRegion.Codeunit.al index 539b4ac871..9d088bce24 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCountryOrRegion.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCountryOrRegion.Codeunit.al @@ -2,7 +2,8 @@ codeunit 5117 "Contoso Country Or Region" { InherentEntitlements = X; InherentPermissions = X; - Permissions = tabledata "Country/Region" = rim; + Permissions = tabledata "Country/Region" = rim, + tabledata "VAT Registration No. Format" = rim; var OverwriteData: Boolean; @@ -13,6 +14,16 @@ codeunit 5117 "Contoso Country Or Region" end; procedure InsertCountryOrRegion(CountryOrRegionCode: Code[10]; CountryOrRegionCodeName: Text[50]; ISONumericCode: Code[3]) + begin + InsertCountryOrRegion(CountryOrRegionCode, CountryOrRegionCodeName, ISONumericCode, '', '', Enum::"Country/Region Address Format"::"Blank Line+Post Code+City", 0, '', ''); + end; + + procedure InsertCountryOrRegion(CountryOrRegionCode: Code[10]; CountryOrRegionCodeName: Text[50]; ISONumericCode: Code[3]; EUCountryRegion: Code[10]; IntrastatCode: Code[10]; AddressFormat: Enum "Country/Region Address Format"; ContactAddressFormat: Option First,"After Company Name",Last; VATScheme: Code[10]; CountyName: Text[30]) + begin + InsertCountryOrRegion(CountryOrRegionCode, CountryOrRegionCodeName, CopyStr(CountryOrRegionCode, 1, 2), ISONumericCode, EUCountryRegion, IntrastatCode, AddressFormat, ContactAddressFormat, VATScheme, CountyName); + end; + + procedure InsertCountryOrRegion(CountryOrRegionCode: Code[10]; CountryOrRegionCodeName: Text[50]; ISOCode: Code[2]; ISONumericCode: Code[3]; EUCountryRegion: Code[10]; IntrastatCode: Code[10]; AddressFormat: Enum "Country/Region Address Format"; ContactAddressFormat: Option First,"After Company Name",Last; VATScheme: Code[10]; CountyName: Text[30]) var CountryOrRegion: Record "Country/Region"; Exists: Boolean; @@ -26,12 +37,41 @@ codeunit 5117 "Contoso Country Or Region" CountryOrRegion.Validate(Code, CountryOrRegionCode); CountryOrRegion.Validate(Name, CountryOrRegionCodeName); - CountryOrRegion.Validate("ISO Code", CopyStr(CountryOrRegionCode, 1, 2)); + CountryOrRegion.Validate("ISO Code", ISOCode); CountryOrRegion.Validate("ISO Numeric Code", ISONumericCode); + CountryOrRegion.Validate("EU Country/Region Code", EUCountryRegion); + CountryOrRegion.Validate("Intrastat Code", IntrastatCode); + CountryOrRegion.Validate("Address Format", AddressFormat); + CountryOrRegion.Validate("Contact Address Format", ContactAddressFormat); + CountryOrRegion.Validate("VAT Scheme", VATScheme); + CountryOrRegion.Validate("County Name", CountyName); if Exists then CountryOrRegion.Modify(true) else CountryOrRegion.Insert(true); end; + + + procedure InsertVATRegNoFormat(CountryCode: Code[10]; LineNo: Integer; Format: Text[20]) + var + VATRegistrationNoFormat: Record "VAT Registration No. Format"; + Exists: Boolean; + begin + if VATRegistrationNoFormat.Get(CountryCode, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATRegistrationNoFormat.Validate("Country/Region Code", CountryCode); + VATRegistrationNoFormat.Validate("Line No.", LineNo); + VATRegistrationNoFormat.Validate(Format, Format); + + if Exists then + VATRegistrationNoFormat.Modify(true) + else + VATRegistrationNoFormat.Insert(true); + end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCurrency.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCurrency.Codeunit.al new file mode 100644 index 0000000000..be01bcef31 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCurrency.Codeunit.al @@ -0,0 +1,77 @@ +codeunit 5587 "Contoso Currency" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata Currency = rim, + tabledata "Currency Exchange Rate" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertCurrency(Code: Code[10]; ISONumericCode: Code[3]; Description: Text[30]; UnrealizedGainsAcc: Code[20]; RealizedGainsAcc: Code[20]; UnrealizedLossesAcc: Code[20]; RealizedLossesAcc: Code[20]; InvoiceRoundingPrecision: Decimal; InvoiceRoundingType: Option Nearest,Up,Down; AmountRoundingPrecision: Decimal; UnitAmountRoundingPrecision: Decimal; EMUCurrency: Boolean; AmountDecimalPlaces: Text[5]; UnitAmountDecimalPlaces: Text[5]) + var + Currency: Record "Currency"; + Exists: Boolean; + begin + if Currency.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Currency.Validate(Code, Code); + Currency.Validate("ISO Code", CopyStr(Code, 1, 3)); + Currency.Validate("ISO Numeric Code", ISONumericCode); + Currency.Validate(Description, Description); + + Currency.Validate("Unrealized Gains Acc.", UnrealizedGainsAcc); + Currency.Validate("Realized Gains Acc.", RealizedGainsAcc); + Currency.Validate("Unrealized Losses Acc.", UnrealizedLossesAcc); + Currency.Validate("Realized Losses Acc.", RealizedLossesAcc); + + Currency.Validate("Invoice Rounding Precision", InvoiceRoundingPrecision); + Currency.Validate("Invoice Rounding Type", InvoiceRoundingType); + Currency.Validate("Amount Rounding Precision", AmountRoundingPrecision); + Currency.Validate("Unit-Amount Rounding Precision", UnitAmountRoundingPrecision); + + Currency.Validate("Amount Decimal Places", AmountDecimalPlaces); + Currency.Validate("Unit-Amount Decimal Places", UnitAmountDecimalPlaces); + Currency.Validate("EMU Currency", EMUCurrency); + + if Exists then + Currency.Modify(true) + else + Currency.Insert(true); + end; + + procedure InsertCurrencyExchangeRate(CurrencyCode: Code[10]; StartingDate: Date; ExchangeRateAmount: Decimal; AdjustmentExchRateAmount: Decimal; RelationalExchRateAmount: Decimal; RelationalAdjmtExchRateAmt: Decimal) + var + CurrencyExchangeRate: Record "Currency Exchange Rate"; + Exists: Boolean; + begin + if CurrencyExchangeRate.Get(CurrencyCode, StartingDate) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CurrencyExchangeRate.Validate("Currency Code", CurrencyCode); + CurrencyExchangeRate.Validate("Starting Date", StartingDate); + CurrencyExchangeRate.Validate("Exchange Rate Amount", ExchangeRateAmount); + CurrencyExchangeRate.Validate("Adjustment Exch. Rate Amount", AdjustmentExchRateAmount); + CurrencyExchangeRate.Validate("Relational Exch. Rate Amount", RelationalExchRateAmount); + CurrencyExchangeRate.Validate("Relational Adjmt Exch Rate Amt", RelationalAdjmtExchRateAmt); + + if Exists then + CurrencyExchangeRate.Modify(true) + else + CurrencyExchangeRate.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCustomerVendor.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCustomerVendor.Codeunit.al index 04777d08a3..36259d00f7 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCustomerVendor.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoCustomerVendor.Codeunit.al @@ -4,7 +4,12 @@ codeunit 4795 "Contoso Customer/Vendor" InherentPermissions = X; Permissions = tabledata "Customer" = rim, - tabledata "Vendor" = rim; + tabledata "Vendor" = rim, + tabledata "Customer Bank Account" = rim, + tabledata "Customer Discount Group" = rim, + tabledata "Customer Templ." = rim, + tabledata "Dispute Status" = rim, + tabledata "Ship-to Address" = rim; var OverwriteData: Boolean; @@ -14,8 +19,11 @@ codeunit 4795 "Contoso Customer/Vendor" OverwriteData := Overwrite; end; - procedure InsertCustomer(CustomerNo: Code[20]; CustomerName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; PostCode: Code[20]; CurrencyCode: Code[10]; CustomerPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; - CustomerDiscountGroup: Code[20]; PaymentTermsCode: Code[10]; GLN: Code[13]; Picture: Codeunit "Temp Blob") + procedure InsertCustomer(CustomerNo: Code[20]; CustomerName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; Address2: Text[50]; + PostCode: Code[20]; CurrencyCode: Code[10]; CustomerPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; + VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; PaymentTermsCode: Code[10]; Picture: Codeunit "Temp Blob"; + DocumentSendingProfile: Code[20]; Contact: Text[100]; TerritoryCode: Code[10]; + LanguageCode: Code[10]; SalespersonCode: Code[20]; EMail: Text[80]; ReminderTermsCode: Code[10]) var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; Customer: Record Customer; @@ -33,24 +41,13 @@ codeunit 4795 "Contoso Customer/Vendor" Customer.Validate("No.", CustomerNo); Customer.Validate(Name, CustomerName); - Customer.Validate(Address, Address); - Customer.Validate("Post Code", PostCode); - + Customer.Validate("Address 2", Address2); Customer.Validate("Currency Code", CurrencyCode); - Customer.Validate("Combine Shipments", true); - Customer.Validate("Print Statements", true); - - Customer.Validate("Customer Disc. Group", CustomerDiscountGroup); Customer.Validate("Payment Terms Code", PaymentTermsCode); - Customer.Validate(GLN, GLN); Customer.Validate("Credit Limit (LCY)", 0); - Customer.Validate("Application Method", 1); - Customer.Validate("Invoice Disc. Code", 'A'); - Customer.Validate("Customer Posting Group", CustomerPostingGroup); Customer.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); - if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::VAT then begin Customer.Validate("VAT Bus. Posting Group", VATBusPostingGroup); Customer.Validate("VAT Registration No.", VATRegistrationNo); @@ -59,8 +56,15 @@ codeunit 4795 "Contoso Customer/Vendor" Customer.Validate("Tax Liable", TaxLiable); end; + Customer.Validate("Document Sending Profile", DocumentSendingProfile); + Customer.Validate("Territory Code", TerritoryCode); + Customer.Validate("Language Code", LanguageCode); + Customer.Validate("Salesperson Code", SalespersonCode); + Customer.Validate("E-Mail", EMail); + Customer.Validate("Reminder Terms Code", ReminderTermsCode); // Needs to be after "VAT Registration No.", has check inside validation logic Customer.Validate("Country/Region Code", CountryOrRegionCode); + Customer.Validate("Post Code", PostCode); if Picture.HasValue() then begin Picture.CreateInStream(ObjInStream); @@ -71,17 +75,29 @@ codeunit 4795 "Contoso Customer/Vendor" Customer.Modify(true) else Customer.Insert(true); + + Customer.Validate(Contact, Contact); + Customer.Modify(true); + end; + + procedure InsertCustomer(CustomerNo: Code[20]; CustomerName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; PostCode: Code[20]; CurrencyCode: Code[10]; CustomerPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; CustomerDiscountGroup: Code[20]; PaymentTermsCode: Code[10]; GLN: Code[13]; Picture: Codeunit "Temp Blob") + begin + InsertCustomer(CustomerNo, CustomerName, CountryOrRegionCode, Address, '', PostCode, CurrencyCode, CustomerPostingGroup, GenBusPostingGroup, VATBusPostingGroup, VATRegistrationNo, TaxAreaCode, TaxLiable, '', Picture, '', '', '', '', '', '', ''); end; procedure InsertCustomer(CustomerNo: Code[20]; CustomerName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; PostCode: Code[20]; CurrencyCode: Code[10]; CustomerPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean) var ContosoUtilities: Codeunit "Contoso Utilities"; begin - InsertCustomer(CustomerNo, CustomerName, CountryOrRegionCode, Address, PostCode, CurrencyCode, CustomerPostingGroup, GenBusPostingGroup, VATBusPostingGroup, VATRegistrationNo, TaxAreaCode, TaxLiable, '', '', '', ContosoUtilities.EmptyPicture()); + InsertCustomer(CustomerNo, CustomerName, CountryOrRegionCode, Address, '', PostCode, CurrencyCode, CustomerPostingGroup, GenBusPostingGroup, VATBusPostingGroup, VATRegistrationNo, TaxAreaCode, TaxLiable, '', ContosoUtilities.EmptyPicture(), '', '', '', '', '', '', ''); + end; + + procedure InsertVendor(VendorNo: Code[20]; VendorName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; PostCode: Code[20]; CurrencyCode: Code[10]; VendorPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; PaymentTermsCode: Code[10]; GLN: Code[13]; Picture: Codeunit "Temp Blob") + begin + InsertVendor(VendorNo, VendorName, CountryOrRegionCode, Address, '', PostCode, CurrencyCode, VendorPostingGroup, GenBusPostingGroup, VATBusPostingGroup, VATRegistrationNo, TaxAreaCode, TaxLiable, '', '', Picture, '', '', '', Enum::"Application Method"::"Apply to Oldest"); end; - procedure InsertVendor(VendorNo: Code[20]; VendorName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; PostCode: Code[20]; CurrencyCode: Code[10]; VendorPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; - PaymentTermsCode: Code[10]; GLN: Code[13]; Picture: Codeunit "Temp Blob") + procedure InsertVendor(VendorNo: Code[20]; VendorName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; Address2: Text[50]; PostCode: Code[20]; CurrencyCode: Code[10]; VendorPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean; PaymentTermsCode: Code[10]; GLN: Code[13]; Picture: Codeunit "Temp Blob"; Contact: Text[100]; TerritoryCode: Code[10]; Email: Text[80]; ApplicationMethod: Enum "Application Method") var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; Vendor: Record Vendor; @@ -100,16 +116,15 @@ codeunit 4795 "Contoso Customer/Vendor" Vendor.Validate("No.", VendorNo); Vendor.Validate(Name, VendorName); Vendor.Validate(Address, Address); - Vendor.Validate("Post Code", PostCode); + Vendor.Validate("Address 2", Address2); Vendor.Validate("Currency Code", CurrencyCode); - + Vendor.Validate("Territory Code", TerritoryCode); + Vendor.Validate("E-Mail", Email); Vendor.Validate(GLN, GLN); - Vendor.Validate("Payment Method Code", PaymentTermsCode); - Vendor.Validate("Application Method", 1); - Vendor.Validate("Invoice Disc. Code", 'A'); - + Vendor.Validate("Payment Terms Code", PaymentTermsCode); Vendor.Validate("Vendor Posting Group", VendorPostingGroup); Vendor.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + Vendor.Validate("Application Method", ApplicationMethod); if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::VAT then begin Vendor.Validate("VAT Registration No.", VATRegistrationNo); @@ -121,6 +136,7 @@ codeunit 4795 "Contoso Customer/Vendor" // Needs to be after "VAT Registration No.", has check inside validation logic Vendor.Validate("Country/Region Code", CountryOrRegionCode); + Vendor.Validate("Post Code", PostCode); if Picture.HasValue() then begin Picture.CreateInStream(ObjInStream); @@ -131,12 +147,150 @@ codeunit 4795 "Contoso Customer/Vendor" Vendor.Modify(true) else Vendor.Insert(true); + + if Contact <> '' then begin + Vendor.Validate(Contact, Contact); + Vendor.Modify(true); + end; end; procedure InsertVendor(VendorNo: Code[20]; VendorName: Text[100]; CountryOrRegionCode: Code[10]; Address: Text[100]; PostCode: Code[20]; CurrencyCode: Code[10]; VendorPostingGroup: Code[20]; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; VATRegistrationNo: Text[20]; TaxAreaCode: Code[20]; TaxLiable: Boolean) var ContosoUtilities: Codeunit "Contoso Utilities"; begin - InsertVendor(VendorNo, VendorName, CountryOrRegionCode, Address, PostCode, CurrencyCode, VendorPostingGroup, GenBusPostingGroup, VATBusPostingGroup, VATRegistrationNo, TaxAreaCode, TaxLiable, '', '', ContosoUtilities.EmptyPicture()); + InsertVendor(VendorNo, VendorName, CountryOrRegionCode, Address, '', PostCode, CurrencyCode, VendorPostingGroup, GenBusPostingGroup, VATBusPostingGroup, VATRegistrationNo, TaxAreaCode, TaxLiable, '', '', ContosoUtilities.EmptyPicture(), '', '', '', Enum::"Application Method"::"Apply to Oldest"); + end; + + procedure InsertCustomerBankAccount(CustomerNo: Code[20]; Code: Code[20]; Name: Text[100]; Address: Text[100]; Contact: Text[100]; PhoneNo: Text[30]; BankBranchNo: Text[20]; BankAccountNo: Text[30]; FaxNo: Text[30]; LanguageCode: Code[10]; IBAN: Code[50]) + var + CustomerBankAccount: Record "Customer Bank Account"; + Exists: Boolean; + begin + if CustomerBankAccount.Get(CustomerNo, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CustomerBankAccount.Validate("Customer No.", CustomerNo); + CustomerBankAccount.Validate(Code, Code); + CustomerBankAccount.Validate(Name, Name); + CustomerBankAccount.Validate(Address, Address); + CustomerBankAccount.Validate(Contact, Contact); + CustomerBankAccount.Validate("Phone No.", PhoneNo); + CustomerBankAccount."Bank Branch No." := StrSubstNo(BankBranchNo, 1, 5); + CustomerBankAccount."Bank Account No." := BankAccountNo; + CustomerBankAccount.Validate("Fax No.", FaxNo); + CustomerBankAccount.Validate("Language Code", LanguageCode); + CustomerBankAccount.Validate(IBAN, IBAN); + + if Exists then + CustomerBankAccount.Modify(true) + else + CustomerBankAccount.Insert(true); + end; + + procedure InsertCustomerDiscountGroup(Code: Code[20]; Description: Text[100]) + var + CustomerDiscountGroup: Record "Customer Discount Group"; + Exists: Boolean; + begin + if CustomerDiscountGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CustomerDiscountGroup.Validate(Code, Code); + CustomerDiscountGroup.Validate(Description, Description); + + if Exists then + CustomerDiscountGroup.Modify(true) + else + CustomerDiscountGroup.Insert(true); + end; + + procedure InsertCustomerTempl(Code: Code[20]; Description: Text[100]; CustomerPostingGroup: Code[20]; PaymentTermsCode: Code[10]; CountryRegionCode: Code[10]; PaymentMethodCode: Code[10]; PricesIncludingVAT: Boolean; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; ContactType: Enum "Contact Type"; AllowLineDisc: Boolean; ValidateEUVATRegNo: Boolean) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + CustomerTempl: Record "Customer Templ."; + Exists: Boolean; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if CustomerTempl.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CustomerTempl.Validate(Code, Code); + CustomerTempl.Validate(Description, Description); + CustomerTempl.Validate("Customer Posting Group", CustomerPostingGroup); + CustomerTempl.Validate("Payment Terms Code", PaymentTermsCode); + CustomerTempl.Validate("Country/Region Code", CountryRegionCode); + CustomerTempl.Validate("Payment Method Code", PaymentMethodCode); + CustomerTempl.Validate("Prices Including VAT", PricesIncludingVAT); + CustomerTempl.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + if ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + CustomerTempl.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + CustomerTempl.Validate("Contact Type", ContactType); + CustomerTempl.Validate("Allow Line Disc.", AllowLineDisc); + CustomerTempl.Validate("Validate EU Vat Reg. No.", ValidateEUVatRegNo); + + if Exists then + CustomerTempl.Modify(true) + else + CustomerTempl.Insert(true); + end; + + procedure InsertDisputeStatus(Code: Code[10]; Description: Text[100]) + var + DisputeStatus: Record "Dispute Status"; + Exists: Boolean; + begin + if DisputeStatus.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DisputeStatus.Validate(Code, Code); + DisputeStatus.Validate(Description, Description); + + if Exists then + DisputeStatus.Modify(true) + else + DisputeStatus.Insert(true); + end; + + procedure InsertShiptoAddress(CustomerNo: Code[20]; Code: Code[10]; Name: Text[100]; Address: Text[100]; City: Text[30]; CountryRegionCode: Code[10]; PostCode: Code[20]) + var + ShiptoAddress: Record "Ship-to Address"; + Exists: Boolean; + begin + if ShiptoAddress.Get(CustomerNo, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ShiptoAddress.Validate("Customer No.", CustomerNo); + ShiptoAddress.Validate(Code, Code); + ShiptoAddress.Validate(Name, Name); + ShiptoAddress.Validate(Address, Address); + ShiptoAddress.Validate(City, City); + ShiptoAddress.Validate("Country/Region Code", CountryRegionCode); + ShiptoAddress.Validate("Post Code", PostCode); + + if Exists then + ShiptoAddress.Modify(true) + else + ShiptoAddress.Insert(true); end; -} \ No newline at end of file +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDataExchange.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDataExchange.Codeunit.al new file mode 100644 index 0000000000..ce71cac17f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDataExchange.Codeunit.al @@ -0,0 +1,24 @@ +codeunit 5308 "Contoso Data Exchange" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure ImportDataExchangeDefinition(FileName: Text) + var + InStream: InStream; + begin + NavApp.GetResource(FileName, InStream); + + XMLPORT.Import(XMLPORT::"Imp / Exp Data Exch Def & Map", InStream) + end; + + procedure InsertDataExchangeType(Code: Code[20]; Description: Text[250]; DataExchangeDefinitionCode: Code[20]) + var + DataExchangeType: Record "Data Exchange Type"; + begin + DataExchangeType.Validate(Code, Code); + DataExchangeType.Validate(Description, Description); + DataExchangeType.Validate("Data Exch. Def. Code", DataExchangeDefinitionCode); + if DataExchangeType.Insert(false) then; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDimension.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDimension.Codeunit.al new file mode 100644 index 0000000000..fd11c1c113 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDimension.Codeunit.al @@ -0,0 +1,93 @@ +codeunit 5494 "Contoso Dimension" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata Dimension = rim, + tabledata "Dimension Value" = rim, + tabledata "Default Dimension" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertDimension(Code: Code[20]; Name: Text[100]) + var + Dimension: Record Dimension; + Exists: Boolean; + begin + if Dimension.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Dimension.Validate(Code, Code); + Dimension.Validate(Name, Name); + + if Exists then + Dimension.Modify(true) + else + Dimension.Insert(true); + end; + + procedure InsertDimensionValue(DimensionCode: Code[20]; Code: Code[20]; Name: Text[50]; DimensionValueType: Integer; Totaling: Text[250]) + var + DimensionValue: Record "Dimension Value"; + Exists: Boolean; + begin + if DimensionValue.Get(DimensionCode, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DimensionValue.Validate("Dimension Code", DimensionCode); + DimensionValue.Validate(Code, Code); + DimensionValue.Validate(Name, Name); + DimensionValue.Validate("Dimension Value Type", DimensionValueType); + DimensionValue.Validate(Totaling, Totaling); + + if Exists then + DimensionValue.Modify(true) + else + DimensionValue.Insert(true); + end; + + procedure InsertDefaultDimensionValue(TableID: Integer; "No.": Code[20]; DimensionCode: Code[20]; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type") + begin + InsertDefaultDimensionValue(TableID, "No.", DimensionCode, DimensionValueCode, ValuePosting, ''); + end; + + procedure InsertDefaultDimensionValue(TableID: Integer; "No.": Code[20]; DimensionCode: Code[20]; DimensionValueCode: Code[20]; ValuePosting: Enum "Default Dimension Value Posting Type"; AllowedValuesFilter: Text[250]) + var + DefaultDimension: Record "Default Dimension"; + Exists: Boolean; + begin + if DefaultDimension.Get(TableID, "No.", DimensionCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DefaultDimension.Validate("Table ID", TableID); + DefaultDimension.Validate("No.", "No."); + DefaultDimension.Validate("Dimension Code", DimensionCode); + DefaultDimension.Validate("Dimension Value Code", DimensionValueCode); + DefaultDimension.Validate("Value Posting", ValuePosting); + if AllowedValuesFilter <> '' then + DefaultDimension.Validate("Allowed Values Filter", AllowedValuesFilter); + + if Exists then + DefaultDimension.Modify(true) + else + DefaultDimension.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDocSendingProfile.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDocSendingProfile.Codeunit.al new file mode 100644 index 0000000000..4ca0413451 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoDocSendingProfile.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 5464 "Contoso Doc. Sending Profile" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Document Sending Profile" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertDocumentSendingProfile("Code": Code[20]; Description: Text[100]; Disk: Enum "Doc. Sending Profile Disk"; Default: Boolean) + var + DocumentSendingProfile: Record "Document Sending Profile"; + Exists: Boolean; + begin + if DocumentSendingProfile.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + DocumentSendingProfile.Validate(Code, Code); + DocumentSendingProfile.Validate(Description, Description); + DocumentSendingProfile.Validate(Disk, Disk); + DocumentSendingProfile.Validate(Default, Default); + + if Exists then + DocumentSendingProfile.Modify(true) + else + DocumentSendingProfile.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoEservices.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoEservices.Codeunit.al new file mode 100644 index 0000000000..a1af10dd64 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoEservices.Codeunit.al @@ -0,0 +1,122 @@ +codeunit 5462 "Contoso eServices" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Incoming Documents Setup" = rim, + tabledata "Online Map Setup" = rim, + tabledata "Online Map Parameter Setup" = rim, + tabledata "Incoming Document" = rim, + tabledata "Incoming Document Attachment" = rim; + + var + OverwriteData: Boolean; + + procedure InsertEServicesIncomingDocumentSetup(GeneralTemplateName: Code[10]; GeneralBatchName: Code[10]; RequireApprovalToCreate: Boolean; RequireApprovalToPost: Boolean) + var + IncomingDocumentsSetup: Record "Incoming Documents Setup"; + begin + if not IncomingDocumentsSetup.Get() then + IncomingDocumentsSetup.Insert(); + + IncomingDocumentsSetup.Validate("General Journal Template Name", GeneralTemplateName); + IncomingDocumentsSetup.Validate("General Journal Batch Name", GeneralBatchName); + IncomingDocumentsSetup.Validate("Require Approval To Create", RequireApprovalToCreate); + IncomingDocumentsSetup.Validate("Require Approval To Post", RequireApprovalToPost); + IncomingDocumentsSetup.Modify(true); + end; + + procedure InsertEServicesOnlineMapSetup(MapParameterSetupCode: Code[10]; DistanceIn: Option Miles,Kilometers; Route: Integer; Enabled: Boolean) + var + OnlineMapSetup: Record "Online Map Setup"; + begin + if not OnlineMapSetup.Get() then + OnlineMapSetup.Insert(); + + OnlineMapSetup.Validate("Map Parameter Setup Code", MapParameterSetupCode); + OnlineMapSetup.Validate("Distance In", DistanceIn); + OnlineMapSetup.Validate(Route, Route); + OnlineMapSetup.Validate(Enabled, Enabled); + OnlineMapSetup.Modify(true); + end; + + procedure InsertEServiceOnlineMapParameter(Code: Code[10]; Name: Text[30]; MapService: Text[250]; DirectionsService: Text[250]; Comment: Text[250]; URLEncodeNonAsciiChars: Boolean; MilesKmOptionList: Text[250]; QuickestShortestOptionList: Text[250]; DirectionsfromLocationServ: Text[250]) + var + OnlineMapParameterSetup: Record "Online Map Parameter Setup"; + Exists: Boolean; + begin + if OnlineMapParameterSetup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + OnlineMapParameterSetup.Validate(Code, Code); + OnlineMapParameterSetup.Validate(Name, Name); + OnlineMapParameterSetup.Validate("Map Service", MapService); + OnlineMapParameterSetup.Validate("Directions Service", DirectionsService); + OnlineMapParameterSetup.Validate(Comment, Comment); + OnlineMapParameterSetup.Validate("URL Encode Non-ASCII Chars", URLEncodeNonAsciiChars); + OnlineMapParameterSetup.Validate("Miles/Kilometers Option List", MilesKmOptionList); + OnlineMapParameterSetup.Validate("Quickest/Shortest Option List", QuickestShortestOptionList); + OnlineMapParameterSetup.Validate("Directions from Location Serv.", DirectionsfromLocationServ); + + if Exists then + OnlineMapParameterSetup.Modify(true) + else + OnlineMapParameterSetup.Insert(true); + end; + + procedure InsertIncomingDocument(EntryNo: Integer; Description: Text[100]; DocumentNo: Code[20]; PostingDate: Date): Record "Incoming Document" + var + IncomingDocument: Record "Incoming Document"; + Exists: Boolean; + begin + if IncomingDocument.Get(EntryNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + IncomingDocument.Validate("Entry No.", EntryNo); + IncomingDocument.Validate(Description, Description); + IncomingDocument.Validate("Document No.", DocumentNo); + IncomingDocument.Validate("Posting Date", PostingDate); + + if Exists then + IncomingDocument.Modify(true) + else + IncomingDocument.Insert(true); + + exit(IncomingDocument); + end; + + procedure InsertEServicesIncomingDocumentAttachment(IncomingDocumentEntryNo: Integer; LineNo: Integer; Name: Text[100]; FileExtension: Text[30]; Content: Text; DocumentNo: Code[20]; PostingDate: Date; UseforOCR: Boolean; ExternalDocumentReference: Text[50]) + var + IncomingDocumentAttachment: Record "Incoming Document Attachment"; + Exists: Boolean; + begin + if IncomingDocumentAttachment.Get(IncomingDocumentEntryNo, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + IncomingDocumentAttachment.Validate("Incoming Document Entry No.", IncomingDocumentEntryNo); + IncomingDocumentAttachment.Validate("Line No.", LineNo); + IncomingDocumentAttachment.Validate(Name, Name); + IncomingDocumentAttachment.Validate("File Extension", FileExtension); + IncomingDocumentAttachment.Validate("Document No.", DocumentNo); + IncomingDocumentAttachment.Validate("Posting Date", PostingDate); + IncomingDocumentAttachment.Validate("External Document Reference", ExternalDocumentReference); + + if Exists then + IncomingDocumentAttachment.Modify(true) + else + IncomingDocumentAttachment.Insert(true); + end; + +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoFinanceCharge.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoFinanceCharge.Codeunit.al new file mode 100644 index 0000000000..ed1c876871 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoFinanceCharge.Codeunit.al @@ -0,0 +1,46 @@ +codeunit 5696 "Contoso Finance Charge" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Finance Charge Terms" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertFinanceChargeTerms(Code: Code[10]; InterestRate: Decimal; Description: Text[100]; InterestCalculationMethod: Enum "Interest Calculation Method"; InterestPeriodDays: Integer; GracePeriod: Text; DueDateCalculation: Text; PostInterest: Boolean; PostAdditionalFee: Boolean; LineDescription: Text[100]; DetailedLinesDescription: Text[100]) + var + FinanceChargeTerms: Record "Finance Charge Terms"; + Exists: Boolean; + begin + if FinanceChargeTerms.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + FinanceChargeTerms.Validate(Code, Code); + FinanceChargeTerms.Validate("Interest Rate", InterestRate); + FinanceChargeTerms.Description := Description; + FinanceChargeTerms.Validate("Interest Calculation Method", InterestCalculationMethod); + FinanceChargeTerms.Validate("Interest Period (Days)", InterestPeriodDays); + Evaluate(FinanceChargeTerms."Grace Period", GracePeriod); + Evaluate(FinanceChargeTerms."Due Date Calculation", DueDateCalculation); + FinanceChargeTerms.Validate("Grace Period"); + FinanceChargeTerms.Validate("Due Date Calculation"); + FinanceChargeTerms.Validate("Post Interest", PostInterest); + FinanceChargeTerms.Validate("Post Additional Fee", PostAdditionalFee); + FinanceChargeTerms.Validate("Line Description", LineDescription); + FinanceChargeTerms.Validate("Detailed Lines Description", DetailedLinesDescription); + + if Exists then + FinanceChargeTerms.Modify(true) + else + FinanceChargeTerms.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Codeunit.al index 8b7e743cec..a424f8d74c 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Codeunit.al @@ -34,6 +34,26 @@ codeunit 5133 "Contoso GL Account" end; procedure InsertGLAccount(AccountNo: Code[20]; Name: Text[100]; IncomeOrBalance: Enum "G/L Account Income/Balance"; AccountCategory: Enum "G/L Account Category"; AccountType: Enum "G/L Account Type"; GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; TaxGroup: Code[20]) + begin + InsertGLAccount(AccountNo, Name, IncomeOrBalance, AccountCategory, '', AccountType, GenBusPostingGroup, GenProdPostingGroup, TaxGroup, 0, '', Enum::"General Posting Type"::" ", '', '', true, false, false); + end; + + procedure InsertGLAccount(AccountNo: Code[20]; Name: Text[100]; IncomeOrBalance: Enum "G/L Account Income/Balance"; AccountCategory: Enum "G/L Account Category"; AccountType: Enum "G/L Account Type") + begin + InsertGLAccount(AccountNo, Name, IncomeOrBalance, AccountCategory, AccountType, '', '', ''); + end; + + procedure InsertGLAccount(AccountNo: Code[20]; Name: Text[100]; IncomeOrBalance: Enum "G/L Account Income/Balance"; AccountCategory: Enum "G/L Account Category"; AccountType: Enum "G/L Account Type"; GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; NoOfBlankLines: Integer; Totaling: Text[250]; GenPostingType: Enum "General Posting Type"; VATGenPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; DirectPosting: Boolean; ReconciliationAccount: Boolean; NewPage: Boolean) + begin + InsertGLAccount(AccountNo, Name, IncomeOrBalance, AccountCategory, '', AccountType, GenBusPostingGroup, GenProdPostingGroup, '', NoOfBlankLines, Totaling, GenPostingType, VATGenPostingGroup, VATProdPostingGroup, DirectPosting, ReconciliationAccount, NewPage); + end; + + procedure InsertGLAccount(AccountNo: Code[20]; Name: Text[100]; IncomeOrBalance: Enum "G/L Account Income/Balance"; AccountCategory: Enum "G/L Account Category"; AccountSubCategory: Text[80]; AccountType: Enum "G/L Account Type"; GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; NoOfBlankLines: Integer; Totaling: Text[250]; GenPostingType: Enum "General Posting Type"; VATGenPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; DirectPosting: Boolean; ReconciliationAccount: Boolean; NewPage: Boolean) + begin + InsertGLAccount(AccountNo, Name, IncomeOrBalance, AccountCategory, AccountSubCategory, AccountType, GenBusPostingGroup, GenProdPostingGroup, '', NoOfBlankLines, Totaling, GenPostingType, VATGenPostingGroup, VATProdPostingGroup, DirectPosting, ReconciliationAccount, NewPage); + end; + + procedure InsertGLAccount(AccountNo: Code[20]; Name: Text[100]; IncomeOrBalance: Enum "G/L Account Income/Balance"; AccountCategory: Enum "G/L Account Category"; AccountSubCategory: Text[80]; AccountType: Enum "G/L Account Type"; GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; TaxGroup: Code[20]; NoOfBlankLines: Integer; Totaling: Text[250]; GenPostingType: Enum "General Posting Type"; VATGenPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; DirectPosting: Boolean; ReconciliationAccount: Boolean; NewPage: Boolean) var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; GLAccount: Record "G/L Account"; @@ -61,11 +81,35 @@ codeunit 5133 "Contoso GL Account" GLAccount.Validate("Income/Balance", GLAccount."Income/Balance"::"Balance Sheet"); end; - GLAccount.Validate("Account Category", AccountCategory); + if AccountCategory <> Enum::"G/L Account Category"::" " then begin + GLAccount.Validate("Account Category", AccountCategory); + + if AccountSubCategory = '' then + GLAccount.Validate("Account Subcategory Entry No.", 0) + else + GLAccount.ValidateAccountSubCategory(AccountSubCategory); + end else + GLAccount.Validate("Account Category", Enum::"G/L Account Category"::" "); + GLAccount.Validate("Account Type", AccountType); + if GLAccount."Account Type" = GLAccount."Account Type"::Posting then + GLAccount.Validate("Direct Posting", DirectPosting); + + GLAccount.Validate("No. of Blank Lines", NoOfBlankLines); + + if Totaling <> '' then + GLAccount.Validate(Totaling, Totaling); + if GenPostingType <> GenPostingType::" " then + GLAccount.Validate("Gen. Posting Type", GenPostingType); + if (VATGenPostingGroup <> '') and (ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax") then + GLAccount.Validate("VAT Bus. Posting Group", VATGenPostingGroup); + if (VATProdPostingGroup <> '') and (ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax") then + GLAccount.Validate("VAT Prod. Posting Group", VATProdPostingGroup); GLAccount.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); GLAccount.Validate("Gen. Prod. Posting Group", GenProdPostingGroup); + GLAccount.Validate("Reconciliation Account", ReconciliationAccount); + GLAccount.Validate("New Page", NewPage); if ContosoCoffeeDemoDataSetup."Company Type" = ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then if GenProdPostingGroup <> '' then @@ -76,9 +120,4 @@ codeunit 5133 "Contoso GL Account" else GLAccount.Insert(true); end; - - procedure InsertGLAccount(AccountNo: Code[20]; Name: Text[100]; IncomeOrBalance: Enum "G/L Account Income/Balance"; AccountCategory: Enum "G/L Account Category"; AccountType: Enum "G/L Account Type") - begin - InsertGLAccount(AccountNo, Name, IncomeOrBalance, AccountCategory, AccountType, '', '', ''); - end; } diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Table.al index 9d6e3b3dac..66f8fdc9a0 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGLAccount.Table.al @@ -5,6 +5,7 @@ table 4769 "Contoso GL Account" DataClassification = CustomerContent; InherentEntitlements = RIMD; InherentPermissions = RIMD; + ReplicateData = false; fields { diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGeneralLedger.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGeneralLedger.Codeunit.al index 7201851ecf..dc3f928f46 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGeneralLedger.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoGeneralLedger.Codeunit.al @@ -4,7 +4,9 @@ codeunit 5112 "Contoso General Ledger" InherentPermissions = X; Permissions = tabledata "Gen. Journal Template" = rim, - tabledata "Gen. Journal Batch" = rim; + tabledata "General Ledger Setup" = rim, + tabledata "Gen. Journal Batch" = rim, + tabledata "Gen. Journal Line" = rim; var OverwriteData: Boolean; @@ -38,7 +40,37 @@ codeunit 5112 "Contoso General Ledger" end; end; + procedure InsertGeneralJournalTemplate(Name: Code[10]; Description: Text[80]; Type: Enum "Gen. Journal Template Type"; PageID: Integer; NoSeries: Code[20]; CopytoPostedJnlLines: Boolean) + var + GenJournalTemplate: Record "Gen. Journal Template"; + Exists: Boolean; + begin + if GenJournalTemplate.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + GenJournalTemplate.Validate(Name, Name); + GenJournalTemplate.Validate(Description, Description); + GenJournalTemplate.Validate(Type, Type); + GenJournalTemplate.Validate("Page ID", PageID); + GenJournalTemplate.Validate("No. Series", NoSeries); + GenJournalTemplate.Validate("Copy to Posted Jnl. Lines", CopytoPostedJnlLines); + + if Exists then + GenJournalTemplate.Modify(true) + else + GenJournalTemplate.Insert(true); + end; + procedure InsertGeneralJournalBatch(TemplateName: Code[10]; Name: Code[10]; Description: Text[100]) + begin + InsertGeneralJournalBatch(TemplateName, Name, Description, Enum::"Gen. Journal Account Type"::"G/L Account", '', '', false); + end; + + procedure InsertGeneralJournalBatch(TemplateName: Code[10]; Name: Code[10]; Description: Text[100]; BalAccountType: Enum "Gen. Journal Account Type"; BalAccountNo: Code[20]; NoSeries: Code[20]; AllowPaymentExport: Boolean) var GenJournalBatch: Record "Gen. Journal Batch"; Exists: Boolean; @@ -54,10 +86,74 @@ codeunit 5112 "Contoso General Ledger" GenJournalBatch.SetupNewBatch(); GenJournalBatch.Validate(Name, Name); GenJournalBatch.Validate(Description, Description); + GenJournalBatch.Validate("Bal. Account Type", BalAccountType); + GenJournalBatch.Validate("Bal. Account No.", BalAccountNo); + GenJournalBatch.Validate("No. Series", NoSeries); if Exists then GenJournalBatch.Modify(true) else GenJournalBatch.Insert(true); + + GenJournalBatch.Validate("Allow Payment Export", AllowPaymentExport); + GenJournalBatch.Modify(true); + end; + + procedure InsertGeneralLedgerSetup(LocalContAddrFormat: Option) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + Exists: Boolean; + begin + if GeneralLedgerSetup.Get() then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + GeneralLedgerSetup.Validate("Allow Posting From", 0D); + GeneralLedgerSetup.Validate("Allow Posting To", 0D); + GeneralLedgerSetup.Validate("Adjust for Payment Disc.", false); + GeneralLedgerSetup.Validate("Local Cont. Addr. Format", LocalContAddrFormat); + GeneralLedgerSetup.Validate("Local Address Format", LocalContAddrFormat); + + if Exists then + GeneralLedgerSetup.Modify(true) + else + GeneralLedgerSetup.Insert(true); + end; + + procedure InsertGenJournalLine(JournalTemplateName: Code[10]; JournalBatchName: Code[10]; LineNo: Integer; AccountType: Enum "Gen. Journal Account Type"; AccountNo: Code[20]; PostingDate: Date; DocumentType: Enum "Gen. Journal Document Type"; DocumentNo: Code[20]; Description: Text[100]; BalAccountNo: Code[20]; Amount: Decimal; SystemCreatedEntry: Boolean; BalAccountType: Enum "Gen. Journal Account Type"; AppliesToDocumentType: Enum "Gen. Journal Document Type"; AppliesToDocumentNo: Code[20]) + var + GenJournalLine: Record "Gen. Journal Line"; + Exists: Boolean; + begin + if GenJournalLine.Get(JournalTemplateName, JournalBatchName, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + GenJournalLine.Validate("Journal Template Name", JournalTemplateName); + GenJournalLine.Validate("Journal Batch Name", JournalBatchName); + GenJournalLine.Validate("Line No.", LineNo); + GenJournalLine.Validate("Account Type", AccountType); + GenJournalLine.Validate("Account No.", AccountNo); + GenJournalLine.Validate("Posting Date", PostingDate); + GenJournalLine.Validate("Document Type", DocumentType); + GenJournalLine.Validate("Document No.", DocumentNo); + GenJournalLine.Validate(Description, Description); + GenJournalLine.Validate("Bal. Account Type", BalAccountType); + GenJournalLine.Validate("Bal. Account No.", BalAccountNo); + GenJournalLine.Validate("Applies-to Doc. Type", AppliesToDocumentType); + GenJournalLine.Validate("Applies-to Doc. No.", AppliesToDocumentNo); + GenJournalLine.Validate(Amount, Amount); + GenJournalLine.Validate("System-Created Entry", SystemCreatedEntry); + + if Exists then + GenJournalLine.Modify(true) + else + GenJournalLine.Insert(true); end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoHumanResources.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoHumanResources.Codeunit.al index 95e0557219..250c1366db 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoHumanResources.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoHumanResources.Codeunit.al @@ -294,7 +294,7 @@ codeunit 5171 "Contoso Human Resources" HumanResourceUOM.Insert(true); end; - internal procedure UpdateEmployeeDetails(No: Code[20]; BirthDate: Date; EmploymentDate: Date; Address: Text[100]; PostCode: Code[20]; InternalPhoneNo: Text[30]; MobilePhoneNo: Text[30]; PhoneNo: Text[30]; Email: Text[80]; SocialSecurityNo: Text[30]; UnitNo: Text[30]) + procedure UpdateEmployeeDetails(No: Code[20]; BirthDate: Date; EmploymentDate: Date; Address: Text[100]; PostCode: Code[20]; InternalPhoneNo: Text[30]; MobilePhoneNo: Text[30]; PhoneNo: Text[30]; Email: Text[80]; SocialSecurityNo: Text[30]; UnitNo: Text[30]) var Employee: Record Employee; begin diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoInventory.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoInventory.Codeunit.al new file mode 100644 index 0000000000..9f8a587558 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoInventory.Codeunit.al @@ -0,0 +1,322 @@ +codeunit 5699 "Contoso Inventory" +{ + InherentEntitlements = X; + InherentPermissions = X; + + Permissions = tabledata "Order Promising Setup" = rim, + tabledata "Requisition Wksh. Name" = rim, + tabledata "Req. Wksh. Template" = rim, + tabledata "BOM Component" = rim, + tabledata "Item Templ." = rim, + tabledata "Item Unit of Measure" = rim, + tabledata Location = rim, + tabledata Manufacturer = rim, + tabledata "Nonstock Item" = rim, + tabledata Purchasing = rim, + tabledata "Transfer Header" = ri, + tabledata "Transfer Line" = ri, + tabledata "Transfer Route" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertOrderPromisingSetup(OffsetTime: Text; OrderPromisingNos: Code[20]; OrderPromisingTemplate: Code[10]; OrderPromisingWorksheet: Code[10]) + var + OrderPromisingSetup: Record "Order Promising Setup"; + begin + if not OrderPromisingSetup.Get() then + OrderPromisingSetup.Insert(); + + Evaluate(OrderPromisingSetup."Offset (Time)", OffsetTime); + OrderPromisingSetup.Validate("Offset (Time)"); + OrderPromisingSetup.Validate("Order Promising Nos.", OrderPromisingNos); + OrderPromisingSetup.Validate("Order Promising Template", OrderPromisingTemplate); + OrderPromisingSetup.Validate("Order Promising Worksheet", OrderPromisingWorksheet); + OrderPromisingSetup.Modify(true); + end; + + procedure InsertRequisitionWkshName(WorksheetTemplateName: Code[10]; Name: Code[10]; Description: Text[100]) + var + RequisitionWkshName: Record "Requisition Wksh. Name"; + Exists: Boolean; + begin + if RequisitionWkshName.Get(WorksheetTemplateName, Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + RequisitionWkshName.Validate("Worksheet Template Name", WorksheetTemplateName); + RequisitionWkshName.Validate(Name, Name); + RequisitionWkshName.Validate(Description, Description); + + if Exists then + RequisitionWkshName.Modify(true) + else + RequisitionWkshName.Insert(true); + end; + + procedure InsertReqWkshTemplate(Name: Code[10]; Description: Text[80]; PageID: Integer; ReqWorksheetTemplateType: Enum "Req. Worksheet Template Type") + var + ReqWkshTemplate: Record "Req. Wksh. Template"; + Exists: Boolean; + begin + if ReqWkshTemplate.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ReqWkshTemplate.Validate(Name, Name); + ReqWkshTemplate.Validate(Description, Description); + ReqWkshTemplate.Validate("Page ID", PageID); + ReqWkshTemplate.Validate(Type, ReqWorksheetTemplateType); + + if Exists then + ReqWkshTemplate.Modify(true) + else + ReqWkshTemplate.Insert(true); + end; + + procedure InsertBOMComponent(ParentItemNo: Code[20]; LineNo: Integer; BOMComponentType: Enum "BOM Component Type"; BomComponentNo: Code[20]; Description: Text[100]; UnitOfMeasureCode: Code[10]; Quantityper: Decimal) + var + BOMComponent: Record "BOM Component"; + Exists: Boolean; + begin + if BOMComponent.Get(ParentItemNo, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BOMComponent.Validate("Parent Item No.", ParentItemNo); + BOMComponent.Validate("Line No.", LineNo); + BOMComponent.Validate(Type, BOMComponentType); + BOMComponent.Validate("No.", BomComponentNo); + BOMComponent.Validate(Description, Description); + BOMComponent.Validate("Unit of Measure Code", UnitOfMeasureCode); + BOMComponent.Validate("Quantity per", Quantityper); + + if Exists then + BOMComponent.Modify(true) + else + BOMComponent.Insert(true); + end; + + procedure InsertLocation(Code: Code[10]; Name: Text[100]; Address: Text[100]; Address2: Text[50]; City: Text[30]; PhoneNo: Text[30]; FaxNo: Text[30]; Contact: Text[100]; PostCode: Code[20]; CountryRegionCode: Code[10]; UseAsInTransit: Boolean) + var + Location: Record Location; + Exists: Boolean; + begin + if Location.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Location.Validate(Code, Code); + Location.Validate(Name, Name); + Location.Validate(Address, Address); + Location.Validate("Address 2", Address2); + Location.Validate(City, City); + Location.Validate("Phone No.", PhoneNo); + Location.Validate("Fax No.", FaxNo); + Location.Validate(Contact, Contact); + Location.Validate("Country/Region Code", CountryRegionCode); + Location.Validate("Post Code", PostCode); + Location.Validate("Use As In-Transit", UseAsInTransit); + + if Exists then + Location.Modify(true) + else + Location.Insert(true); + end; + + procedure InsertTransferHeader(TransferFromCode: Code[10]; TransferToCode: Code[10]; PostingDate: Date; InTransitCode: Code[10]; ExternalDocumentNo: Code[35]): Record "Transfer Header"; + var + TransferHeader: Record "Transfer Header"; + begin + TransferHeader.Validate("Transfer-from Code", TransferFromCode); + TransferHeader.Validate("Transfer-to Code", TransferToCode); + TransferHeader.Validate("Posting Date", PostingDate); + TransferHeader.Validate("In-Transit Code", InTransitCode); + TransferHeader.Validate("External Document No.", ExternalDocumentNo); + TransferHeader.Insert(true); + + exit(TransferHeader); + end; + + procedure InsertTransferLine(TransferHeader: Record "Transfer Header"; ItemNo: Code[20]; Quantity: Decimal; QtytoShip: Decimal) + var + Item: Record Item; + TransferLine: Record "Transfer Line"; + begin + Item.SetBaseLoadFields(); + Item.Get(ItemNo); + + TransferLine.Validate("Document No.", TransferHeader."No."); + TransferLine.Validate("Line No.", GetNextTransferLineNo(TransferHeader)); + TransferLine.Validate("Item No.", Item."No."); + TransferLine.Validate("Unit of Measure Code", Item."Base Unit of Measure"); + TransferLine.Validate("Quantity", Quantity); + TransferLine.Validate("Qty. to Ship", QtytoShip); + TransferLine.Insert(true); + end; + + local procedure GetNextTransferLineNo(TransferHeader: Record "Transfer Header"): Integer + var + TransferLine: Record "Transfer Line"; + begin + TransferLine.SetRange("Document No.", TransferHeader."No."); + TransferLine.SetCurrentKey("Line No."); + + if TransferLine.FindLast() then + exit(TransferLine."Line No." + 10000) + else + exit(10000); + end; + + procedure InsertTransferRoute(TransferFromCode: Code[10]; TransferToCode: Code[10]; InTransitCode: Code[10]; ShippingAgentCode: Code[10]; ShippingAgentServiceCode: Code[10]) + var + TransferRoute: Record "Transfer Route"; + Exists: Boolean; + begin + if TransferRoute.Get(TransferFromCode, TransferToCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + TransferRoute.Validate("Transfer-from Code", TransferFromCode); + TransferRoute.Validate("Transfer-to Code", TransferToCode); + TransferRoute.Validate("In-Transit Code", InTransitCode); + TransferRoute.Validate("Shipping Agent Code", ShippingAgentCode); + TransferRoute.Validate("Shipping Agent Service Code", ShippingAgentServiceCode); + + if Exists then + TransferRoute.Modify(true) + else + TransferRoute.Insert(true); + end; + + procedure InsertItemUOM(ItemNo: Code[20]; Code: Code[10]; QtyPerUnitofMeasure: Decimal; QtyRoundingPrecision: Decimal) + var + ItemUnitOfMeasure: Record "Item Unit of Measure"; + Exists: Boolean; + begin + if ItemUnitOfMeasure.Get(ItemNo, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ItemUnitOfMeasure.Validate("Item No.", ItemNo); + ItemUnitOfMeasure.Validate(Code, Code); + ItemUnitOfMeasure.Validate("Qty. per Unit of Measure", QtyPerUnitofMeasure); + ItemUnitOfMeasure.Validate("Qty. Rounding Precision", QtyRoundingPrecision); + + if Exists then + ItemUnitOfMeasure.Modify(true) + else + ItemUnitOfMeasure.Insert(true); + end; + + procedure InsertItemTemplateData(TemplateCode: Code[20]; Description: Text[100]; BaseUnitofMeasure: Code[20]; ItemType: Enum "Item Type"; InventoryPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; Reserve: Enum "Reserve Method") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ItemTempl: Record "Item Templ."; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if not ItemTempl.Get(TemplateCode) then begin + ItemTempl.Validate(Code, TemplateCode); + ItemTempl.Validate(Description, Description); + ItemTempl.Insert(true); + end; + + ItemTempl.Validate("Base Unit of Measure", BaseUnitofMeasure); + ItemTempl.Validate(Type, ItemType); + ItemTempl.Validate("Inventory Posting Group", InventoryPostingGroup); + ItemTempl.Validate("Gen. Prod. Posting Group", GenProdPostingGroup); + if ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + ItemTempl.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + ItemTempl.Validate(Reserve, Reserve); + ItemTempl.Modify(true); + end; + + procedure InsertPurchasing(Code: Code[10]; Description: Text[100]; DropShipment: Boolean; SpecialOrder: Boolean) + var + Purchasing: Record "Purchasing"; + Exists: Boolean; + begin + if Purchasing.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Purchasing.Validate(Code, Code); + Purchasing.Validate(Description, Description); + Purchasing.Validate("Drop Shipment", DropShipment); + Purchasing.Validate("Special Order", SpecialOrder); + + if Exists then + Purchasing.Modify(true) + else + Purchasing.Insert(true); + end; + + procedure InsertNonStockItem(VendorNo: Code[20]; VendorItemNo: Code[20]; Description: Text[100]; UnitofMeasure: Code[10]; PublishedCost: Decimal; NegotiatedCost: Decimal; UnitPrice: Decimal; GrossWeight: Decimal; NetWeight: Decimal; BarCode: Code[20]; ItemTemplCode: Code[20]) + var + NonstockItem: Record "Nonstock Item"; + begin + NonstockItem."Entry No." := ''; + NonstockItem.Insert(true); + + NonStockItem.Validate("Vendor No.", VendorNo); + NonStockItem.Validate("Vendor Item No.", VendorItemNo); + NonStockItem.Validate(Description, Description); + NonStockItem.Validate("Unit of Measure", UnitofMeasure); + NonStockItem.Validate("Published Cost", PublishedCost); + NonStockItem.Validate("Negotiated Cost", NegotiatedCost); + NonStockItem.Validate("Unit Price", UnitPrice); + NonStockItem.Validate("Gross Weight", GrossWeight); + NonStockItem.Validate("Net Weight", NetWeight); + NonStockItem.Validate("Bar Code", BarCode); + NonStockItem.Validate("Item Templ. Code", ItemTemplCode); + NonstockItem.Modify(true); + end; + + procedure InsertManufacturer(Code: Code[10]; Name: Text[50]) + var + Manufacturer: Record "Manufacturer"; + Exists: Boolean; + begin + if Manufacturer.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Manufacturer.Validate(Code, Code); + Manufacturer.Validate(Name, Name); + + if Exists then + Manufacturer.Modify(true) + else + Manufacturer.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoItem.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoItem.Codeunit.al index ae71ce5651..e1dbaf1ab3 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoItem.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoItem.Codeunit.al @@ -5,12 +5,20 @@ codeunit 5143 "Contoso Item" Permissions = tabledata "Item" = rim, tabledata "Item Category" = rim, - tabledata "Item Unit of Measure" = rim, + tabledata "Item Charge" = rim, + tabledata "Item Unit of Measure" = r, tabledata "Item Tracking Code" = rim, tabledata "Item Variant" = rim, + tabledata "Assembly Setup" = rim, + tabledata "Item Journal Template" = rim, tabledata "Item Journal Batch" = rim, tabledata "Item Journal Line" = rim, - tabledata "Item Reference" = rim; + tabledata "Item Reference" = rim, + tabledata "Inventory Setup" = rim, + tabledata "Item Substitution" = rim, + tabledata "Item Attribute" = rim, + tabledata "Item Attribute Value" = rim, + tabledata "Item Attribute Value Mapping" = rim; var OverwriteData: Boolean; @@ -20,8 +28,14 @@ codeunit 5143 "Contoso Item" OverwriteData := Overwrite; end; - procedure InsertItem(ItemNo: Code[20]; Type: Enum "Item Type"; Description: Text[100]; UnitPrice: Decimal; LastDirectCost: Decimal; GenProdPostingGroup: Code[20]; TaxGroup: Code[20]; InventoryPostingGroup: Code[20]; CostingMethod: Enum "Costing Method"; BaseUnitOfMeasure: code[10]; ItemCategoryCode: Code[20]; ItemTrackingCode: Code[10]; NetWeight: Decimal; PutAwayTemplateCode: Code[10]; ServiceItemGroupCode: Code[10]; + procedure InsertItem(ItemNo: Code[20]; ItemType: Enum "Item Type"; Description: Text[100]; UnitPrice: Decimal; LastDirectCost: Decimal; GenProdPostingGroup: Code[20]; TaxGroup: Code[20]; InventoryPostingGroup: Code[20]; CostingMethod: Enum "Costing Method"; BaseUnitOfMeasure: code[10]; ItemCategoryCode: Code[20]; ItemTrackingCode: Code[10]; NetWeight: Decimal; PutAwayTemplateCode: Code[10]; ServiceItemGroupCode: Code[10]; CostingLotSize: Decimal; ReplenishmentSystem: Enum "Replenishment System"; RoundPrecision: Decimal; VendorNo: Code[20]; VendorItemNo: Text[20]; FlushingMethod: Enum "Flushing Method"; ReorderingPolicy: Enum "Reordering Policy"; IncludeInventory: Boolean; TimeBucket: Code[20]; Picture: Codeunit "Temp Blob"; GTIN: Code[14]) + begin + InsertItem(ItemNo, ItemType, Description, UnitPrice, LastDirectCost, GenProdPostingGroup, TaxGroup, InventoryPostingGroup, CostingMethod, BaseUnitOfMeasure, ItemCategoryCode, ItemTrackingCode, NetWeight, PutAwayTemplateCode, ServiceItemGroupCode, CostingLotSize, ReplenishmentSystem, RoundPrecision, VendorNo, VendorItemNo, FlushingMethod, ReorderingPolicy, IncludeInventory, TimeBucket, Picture, GTIN, 0, 0, 0, 0, ''); + end; + + procedure InsertItem(ItemNo: Code[20]; ItemType: Enum "Item Type"; Description: Text[100]; UnitPrice: Decimal; LastDirectCost: Decimal; GenProdPostingGroup: Code[20]; TaxGroup: Code[20]; InventoryPostingGroup: Code[20]; CostingMethod: Enum "Costing Method"; BaseUnitOfMeasure: code[10]; ItemCategoryCode: Code[20]; ItemTrackingCode: Code[10]; NetWeight: Decimal; PutAwayTemplateCode: Code[10]; ServiceItemGroupCode: Code[10]; + CostingLotSize: Decimal; ReplenishmentSystem: Enum "Replenishment System"; RoundPrecision: Decimal; VendorNo: Code[20]; VendorItemNo: Text[20]; FlushingMethod: Enum "Flushing Method"; ReorderingPolicy: Enum "Reordering Policy"; IncludeInventory: Boolean; TimeBucket: Code[20]; Picture: Codeunit "Temp Blob"; GTIN: Code[14]; UnitCost: Decimal; ReorderPoint: Decimal; GrossWeight: Decimal; UnitVolume: Decimal; TariffNo: Code[20]) var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; Item: Record Item; @@ -39,7 +53,9 @@ codeunit 5143 "Contoso Item" Item.Validate("No.", ItemNo); Item.Validate(Description, Description); - Item.Validate(Type, Type); + + if not Exists then + Item.Validate(Type, ItemType); Item.Validate("Inventory Posting Group", InventoryPostingGroup); Item.Validate("Gen. Prod. Posting Group", GenProdPostingGroup); @@ -82,6 +98,11 @@ codeunit 5143 "Contoso Item" Item.Validate("Put-away Template Code", PutAwayTemplateCode); Item.Validate("Service Item Group", ServiceItemGroupCode); Item.Validate(GTIN, GTIN); + Item.Validate("Unit Cost", UnitCost); + Item.validate("Reorder Point", ReorderPoint); + Item.Validate("Gross Weight", GrossWeight); + Item.Validate("Unit Volume", UnitVolume); + Item.Validate("Tariff No.", TariffNo); if Picture.HasValue() then begin Picture.CreateInStream(ObjInStream); @@ -113,26 +134,38 @@ codeunit 5143 "Contoso Item" InsertItem(ItemNo, Enum::"Item Type"::Inventory, Description, UnitPrice, LastDirectCost, GenProdPostingGroup, TaxGroup, InventoryPostingGroup, CostingMethod, BaseUnitOfMeasure, ItemCategoryCode, '', NetWeight, '', ServiceItemGroupCode, 0, Enum::"Replenishment System"::Purchase, 0, '', '', Enum::"Flushing Method"::Manual, Enum::"Reordering Policy"::" ", false, '', Picture, ''); end; + procedure InsertInventoryItem(ItemNo: Code[20]; Description: Text[100]; BaseUnitofMeasure: Code[10]; InventoryPostingGroup: Code[20]; UnitPrice: Decimal; UnitCost: Decimal; VendorNo: Code[20]; ReorderPoint: Decimal; GrossWeight: Decimal; NetWeight: Decimal; UnitVolume: Decimal; TariffNo: Code[20]; GenProdPostingGroup: Code[20]; Picture: Codeunit "Temp Blob"; TaxGroupCode: Code[20]; VATProdPostingGroup: Code[20]; SalesUnitofMeasure: Code[10]; PurchUnitofMeasure: Code[10]; ItemCategoryCode: Code[20]) + begin + InsertItem(ItemNo, Enum::"Item Type"::Inventory, Description, UnitPrice, 0, GenProdPostingGroup, TaxGroupCode, InventoryPostingGroup, Enum::"Costing Method"::"FIFO", BaseUnitOfMeasure, ItemCategoryCode, '', NetWeight, '', '', 0, Enum::"Replenishment System"::Purchase, 0, '', '', Enum::"Flushing Method"::Manual, Enum::"Reordering Policy"::" ", false, '', Picture, '', UnitCost, ReorderPoint, GrossWeight, UnitVolume, TariffNo); + end; + procedure InsertServiceItem(ItemNo: Code[20]; Description: Text[100]; UnitPrice: Decimal; LastDirectCost: Decimal; GenProdPostingGroup: Code[20]; TaxGroup: Code[20]; BaseUnitOfMeasure: Code[10]; ItemCategoryCode: Code[20]; Picture: Codeunit "Temp Blob") begin InsertItem(ItemNo, Enum::"Item Type"::Service, Description, UnitPrice, LastDirectCost, GenProdPostingGroup, TaxGroup, '', Enum::"Costing Method"::FIFO, BaseUnitOfMeasure, ItemCategoryCode, '', 0, '', '', 0, Enum::"Replenishment System"::Purchase, 0, '', '', Enum::"Flushing Method"::Manual, Enum::"Reordering Policy"::" ", false, '', Picture, ''); end; procedure InsertItemCategory(ItemCategoryCode: Code[20]; Description: Text[100]; ParentCategory: Code[20]) + begin + InsertItemCategory(ItemCategoryCode, ParentCategory, Description, 0, 0); + end; + + procedure InsertItemCategory(Code: Code[20]; ParentCategory: Code[20]; Description: Text[100]; Indentation: Integer; PresentationOrder: Integer) var ItemCategory: Record "Item Category"; Exists: Boolean; begin - if ItemCategory.Get(ItemCategoryCode) then begin + if ItemCategory.Get(Code) then begin Exists := true; if not OverwriteData then exit; end; - ItemCategory.Validate(Code, ItemCategoryCode); - ItemCategory.Validate(Description, Description); + ItemCategory.Validate(Code, Code); ItemCategory.Validate("Parent Category", ParentCategory); + ItemCategory.Validate(Description, Description); + ItemCategory.Validate(Indentation, Indentation); + ItemCategory.Validate("Presentation Order", PresentationOrder); if Exists then ItemCategory.Modify(true) @@ -141,6 +174,11 @@ codeunit 5143 "Contoso Item" end; procedure InsertItemTrackingCode(TrackingCode: Code[10]; Description: Text[50]; SNSpecificTracking: Boolean; LotSpecificTracking: Boolean; ManWarrantyDateEntryReqd: Boolean; ManExpirDateEntryReqd: Boolean) + begin + InsertItemTrackingCode(TrackingCode, Description, SNSpecificTracking, LotSpecificTracking, ManWarrantyDateEntryReqd, ManExpirDateEntryReqd, false, false); + end; + + procedure InsertItemTrackingCode(TrackingCode: Code[10]; Description: Text[50]; SNSpecificTracking: Boolean; LotSpecificTracking: Boolean; ManWarrantyDateEntryReqd: Boolean; ManExpirDateEntryReqd: Boolean; SNSalesInboundTracking: Boolean; SNSalesOutboundTracking: Boolean) var ItemTrackingCode: Record "Item Tracking Code"; Exists: Boolean; @@ -160,6 +198,11 @@ codeunit 5143 "Contoso Item" ItemTrackingCode.Validate("Man. Warranty Date Entry Reqd.", ManWarrantyDateEntryReqd); ItemTrackingCode.Validate("Man. Expir. Date Entry Reqd.", ManExpirDateEntryReqd); + if not SNSpecificTracking then begin + ItemTrackingCode.Validate("SN Sales Inbound Tracking", SNSalesInboundTracking); + ItemTrackingCode.Validate("SN Sales Outbound Tracking", SNSalesOutboundTracking); + end; + if Exists then ItemTrackingCode.Modify(true) else @@ -210,7 +253,12 @@ codeunit 5143 "Contoso Item" ItemJournalBatch.Insert(true); end; - procedure InsertItemJournalTemplate(Name: Code[10]; Description: Text[80]; Type: Enum "Item Journal Template Type"; Recurring: Boolean; SourceCode: Code[10]) + procedure InsertItemJournalTemplate(Name: Code[10]; Description: Text[80]; ItemJournalTemplateType: Enum "Item Journal Template Type"; Recurring: Boolean; SourceCode: Code[10]) + begin + InsertItemJournalTemplate(Name, Description, ItemJournalTemplateType, Recurring, SourceCode, 0, 0, 0, '', 0); + end; + + procedure InsertItemJournalTemplate(Name: Code[10]; Description: Text[80]; ItemJournalTemplateType: Enum "Item Journal Template Type"; Recurring: Boolean; SourceCode: Code[10]; TestReportID: Integer; PageID: Integer; PostingReportID: Integer; NoSeries: Code[20]; WhseRegisterReportID: Integer) var ItemJournalTemplate: Record "Item Journal Template"; Exists: Boolean; @@ -224,8 +272,13 @@ codeunit 5143 "Contoso Item" ItemJournalTemplate.Validate(Name, Name); ItemJournalTemplate.Validate(Description, Description); - ItemJournalTemplate.Validate(Type, Type); + ItemJournalTemplate.Validate(Type, ItemJournalTemplateType); ItemJournalTemplate.Validate(Recurring, Recurring); + ItemJournalTemplate.Validate("Test Report ID", TestReportID); + ItemJournalTemplate.Validate("Page ID", PageID); + ItemJournalTemplate.Validate("Posting Report ID", PostingReportID); + ItemJournalTemplate.Validate("No. Series", NoSeries); + ItemJournalTemplate.Validate("Whse. Register Report ID", WhseRegisterReportID); if Exists then ItemJournalTemplate.Modify(true) @@ -278,6 +331,11 @@ codeunit 5143 "Contoso Item" end; procedure InsertItemReference(ItemNo: Code[20]; VariantCode: Code[10]; UnitOfMeasureCode: Code[10]; ReferenceType: Enum "Item Reference Type"; ReferenceTypeNo: Code[20]; ReferenceNo: Code[50]) + begin + InsertItemReference(ItemNo, VariantCode, UnitOfMeasureCode, ReferenceType, ReferenceTypeNo, ReferenceNo, ''); + end; + + procedure InsertItemReference(ItemNo: Code[20]; VariantCode: Code[10]; UnitOfMeasureCode: Code[10]; ReferenceType: Enum "Item Reference Type"; ReferenceTypeNo: Code[20]; ReferenceNo: Code[50]; Description: Text[100]) var ItemReference: Record "Item Reference"; Exists: Boolean; @@ -295,10 +353,160 @@ codeunit 5143 "Contoso Item" ItemReference.Validate("Reference Type", ReferenceType); ItemReference.Validate("Reference Type No.", ReferenceTypeNo); ItemReference.Validate("Reference No.", ReferenceNo); + ItemReference.Validate(Description, Description); if Exists then ItemReference.Modify(true) else ItemReference.Insert(true); end; + + procedure InsertAssemblySetup(StockoutWarning: Boolean; AssemblyOrderNos: Code[20]; AssemblyQuoteNos: Code[20]; BlanketAssemblyOrderNos: Code[20]; PostedAssemblyOrderNos: Code[20]; CopyCommentswhenPosting: Boolean; CreateMovementsAutomatically: Boolean) + var + AssemblySetup: Record "Assembly Setup"; + begin + if not AssemblySetup.Get() then + AssemblySetup.Insert(); + + AssemblySetup.Validate("Stockout Warning", StockoutWarning); + AssemblySetup.Validate("Assembly Order Nos.", AssemblyOrderNos); + AssemblySetup.Validate("Assembly Quote Nos.", AssemblyQuoteNos); + AssemblySetup.Validate("Blanket Assembly Order Nos.", BlanketAssemblyOrderNos); + AssemblySetup.Validate("Posted Assembly Order Nos.", PostedAssemblyOrderNos); + AssemblySetup.Validate("Copy Comments when Posting", CopyCommentswhenPosting); + AssemblySetup.Validate("Create Movements Automatically", CreateMovementsAutomatically); + AssemblySetup.Modify(true); + end; + + procedure InsertInventorySetup(AutomaticCostPosting: Boolean; ItemNos: Code[20]; AutomaticCostAdjustment: Enum "Automatic Cost Adjustment Type"; TransferOrderNos: Code[20]; PostedTransferShptNos: Code[20]; PostedTransferRcptNos: Code[20]; NonstockItemNos: Code[20]; + InvtReceiptNos: Code[20]; PostedInvtReceiptNos: Code[20]; InvtShipmentNos: Code[20]; PostedInvtShipmentNos: Code[20]; PostedDirectTransNos: Code[20]; PhysInvtOrderNos: Code[20]; PostedPhysInvtOrderNos: Code[20]) + var + InventorySetup: Record "Inventory Setup"; + begin + if not InventorySetup.Get() then + InventorySetup.Insert(); + + InventorySetup.Validate("Automatic Cost Posting", AutomaticCostPosting); + InventorySetup.Validate("Item Nos.", ItemNos); + InventorySetup.Validate("Automatic Cost Adjustment", AutomaticCostAdjustment); + InventorySetup.Validate("Transfer Order Nos.", TransferOrderNos); + InventorySetup.Validate("Posted Transfer Shpt. Nos.", PostedTransferShptNos); + InventorySetup.Validate("Posted Transfer Rcpt. Nos.", PostedTransferRcptNos); + InventorySetup.Validate("Nonstock Item Nos.", NonstockItemNos); + InventorySetup.Validate("Invt. Receipt Nos.", InvtReceiptNos); + InventorySetup.Validate("Posted Invt. Receipt Nos.", PostedInvtReceiptNos); + InventorySetup.Validate("Invt. Shipment Nos.", InvtShipmentNos); + InventorySetup.Validate("Posted Invt. Shipment Nos.", PostedInvtShipmentNos); + InventorySetup.Validate("Posted Direct Trans. Nos.", PostedDirectTransNos); + InventorySetup.Validate("Phys. Invt. Order Nos.", PhysInvtOrderNos); + InventorySetup.Validate("Posted Phys. Invt. Order Nos.", PostedPhysInvtOrderNos); + InventorySetup.Modify(true) + end; + + procedure InsertItemAttribute(Name: Text[250]; Blocked: Boolean; AttributeType: Option; UnitofMeasure: Text[30]): Record "Item Attribute" + var + ItemAttribute: Record "Item Attribute"; + begin + ItemAttribute.Validate(Name, Name); + ItemAttribute.Insert(true); + + ItemAttribute.Validate(Blocked, Blocked); + ItemAttribute.Validate(Type, AttributeType); + ItemAttribute.Validate("Unit of Measure", UnitofMeasure); + ItemAttribute.Modify(true); + + exit(ItemAttribute); + end; + + procedure InsertItemAttributeValue(ItemAttribute: Record "Item Attribute"; Value: Text[250]; NumericValue: Decimal): Record "Item Attribute Value" + var + ItemAttributeValue: Record "Item Attribute Value"; + begin + ItemAttributeValue.Validate("Attribute ID", ItemAttribute.ID); + ItemAttributeValue.Validate(Value, Value); + ItemAttributeValue.Insert(true); + + ItemAttributeValue.Validate("Numeric Value", NumericValue); + ItemAttributeValue.Modify(true); + + exit(ItemAttributeValue); + end; + + procedure InsertItemAttributeValueMapping(TableID: Integer; No: Code[20]; ItemAttributeID: Integer; ItemAttributeValueID: Integer) + var + ItemAttributeValueMapping: Record "Item Attribute Value Mapping"; + Exists: Boolean; + begin + if ItemAttributeValueMapping.Get(TableID, No, ItemAttributeID) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ItemAttributeValueMapping.Validate("Table ID", TableID); + ItemAttributeValueMapping.Validate("No.", No); + ItemAttributeValueMapping.Validate("Item Attribute ID", ItemAttributeID); + ItemAttributeValueMapping.Validate("Item Attribute Value ID", ItemAttributeValueID); + + + if Exists then + ItemAttributeValueMapping.Modify(true) + else + ItemAttributeValueMapping.Insert(true); + end; + + procedure InsertItemCharge(No: Code[20]; Description: Text[100]; GenProdPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; SearchDescription: Code[100]) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + ItemCharge: Record "Item Charge"; + Exists: Boolean; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if ItemCharge.Get(No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ItemCharge.Validate("No.", No); + ItemCharge.Validate(Description, Description); + ItemCharge.Validate("Gen. Prod. Posting Group", GenProdPostingGroup); + if ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + ItemCharge.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + ItemCharge.Validate("Search Description", SearchDescription); + + if Exists then + ItemCharge.Modify(true) + else + ItemCharge.Insert(true); + end; + + procedure InsertItemSubstitution(ItemSubsitutionType: Enum "Item Substitution Type"; No: Code[20]; VariantCode: Code[10]; SubstituteType: Enum "Item Substitute Type"; SubstituteNo: Code[20]; SubstituteVariantCode: Code[10]; Description: Text[100]; Interchangeable: Boolean) + var + ItemSubstitution: Record "Item Substitution"; + Exists: Boolean; + begin + if ItemSubstitution.Get(ItemSubsitutionType, No, VariantCode, SubstituteType, SubstituteNo, SubstituteVariantCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + ItemSubstitution.Validate(Type, ItemSubsitutionType); + ItemSubstitution.Validate("No.", No); + ItemSubstitution.Validate("Variant Code", VariantCode); + ItemSubstitution.Validate("Substitute Type", SubstituteType); + ItemSubstitution.Validate("Substitute No.", SubstituteNo); + ItemSubstitution.Validate("Substitute Variant Code", SubstituteVariantCode); + ItemSubstitution.Validate(Description, Description); + ItemSubstitution.Validate(Interchangeable, Interchangeable); + + if Exists then + ItemSubstitution.Modify(true) + else + ItemSubstitution.Insert(true); + end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoJobQueue.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoJobQueue.Codeunit.al new file mode 100644 index 0000000000..7011ce17a9 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoJobQueue.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 5573 "Contoso Job Queue" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Job Queue Category" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertJobQueueCategory(Name: Code[10]; Description: Text[30]) + var + JobQueueCategory: Record "Job Queue Category"; + Exists: Boolean; + begin + if JobQueueCategory.Get(Name) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + JobQueueCategory.Code := Name; + JobQueueCategory.Description := Description; + + if Exists then + JobQueueCategory.Modify(true) + else + JobQueueCategory.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoLanguage.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoLanguage.Codeunit.al new file mode 100644 index 0000000000..b0a9d1e02d --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoLanguage.Codeunit.al @@ -0,0 +1,108 @@ +codeunit 5563 "Contoso Language" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata Language = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertLanguage(Code: Code[10]; Name: Text[50]) + var + Language: Record Language; + WindowsLang: Record "Windows Language"; + Exists: Boolean; + begin + if Language.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Language.Validate(Code, Code); + Language.Validate(Name, Name); + + WindowsLang.Reset(); + WindowsLang.SetCurrentKey("Abbreviated Name"); + WindowsLang.SetFilter("Abbreviated Name", Code); + WindowsLang.FindFirst(); + + Language.Validate("Windows Language ID", WindowsLang."Language ID"); + + if Exists then + Language.Modify(true) + else + Language.Insert(true); + + WindowsLang.Reset(); + end; + + procedure GetLanguageCode(CountryCode: Code[10]): Code[10] + var + LanguageCountryPair: Dictionary of [Text[10], Text[10]]; + begin + LanguageCountryPair := GetLanguageCountryPair(); + + if LanguageCountryPair.ContainsKey(UpperCase(CountryCode)) then + exit(LanguageCountryPair.Get(CountryCode)) + else + exit('ENU'); + end; + + local procedure GetLanguageCountryPair() LanguageCountryPair: Dictionary of [Text[10], Text[10]] + begin + LanguageCountryPair.Add('AT', 'DEA'); + LanguageCountryPair.Add('AU', 'ENA'); + LanguageCountryPair.Add('BE', 'NLB'); + LanguageCountryPair.Add('BG', 'BGR'); + LanguageCountryPair.Add('BR', 'PTB'); + LanguageCountryPair.Add('CA', 'ENC'); + LanguageCountryPair.Add('CH', 'DES'); + LanguageCountryPair.Add('CO', 'ESO'); + LanguageCountryPair.Add('CZ', 'CSY'); + LanguageCountryPair.Add('DE', 'DEU'); + LanguageCountryPair.Add('DK', 'DAN'); + LanguageCountryPair.Add('ES', 'ESP'); + LanguageCountryPair.Add('ET', 'ETI'); + LanguageCountryPair.Add('FI', 'FIN'); + LanguageCountryPair.Add('FR', 'FRA'); + LanguageCountryPair.Add('GB', 'ENG'); + LanguageCountryPair.Add('GR', 'ELL'); + LanguageCountryPair.Add('HR', 'HRV'); + LanguageCountryPair.Add('HU', 'HUN'); + LanguageCountryPair.Add('ID', 'IND'); + LanguageCountryPair.Add('IE', 'ENI'); + LanguageCountryPair.Add('IN', 'ENG'); + LanguageCountryPair.Add('IS', 'ISL'); + LanguageCountryPair.Add('IT', 'ITA'); + LanguageCountryPair.Add('LT', 'LTH'); + LanguageCountryPair.Add('LV', 'LVI'); + LanguageCountryPair.Add('MX', 'ESM'); + LanguageCountryPair.Add('MY', 'ENU'); + LanguageCountryPair.Add('NL', 'NLD'); + LanguageCountryPair.Add('NO', 'NOR'); + LanguageCountryPair.Add('NZ', 'ENZ'); + LanguageCountryPair.Add('PE', 'ESR'); + LanguageCountryPair.Add('PL', 'PLK'); + LanguageCountryPair.Add('PT', 'PTG'); + LanguageCountryPair.Add('RO', 'ROM'); + LanguageCountryPair.Add('RS', 'SRP'); + LanguageCountryPair.Add('RU', 'RUS'); + LanguageCountryPair.Add('SE', 'SVE'); + LanguageCountryPair.Add('SI', 'SLV'); + LanguageCountryPair.Add('SG', 'ENU'); + LanguageCountryPair.Add('SK', 'SKY'); + LanguageCountryPair.Add('TH', 'THA'); + LanguageCountryPair.Add('TR', 'TRK'); + LanguageCountryPair.Add('UA', 'UKR'); + LanguageCountryPair.Add('US', 'ENU'); + LanguageCountryPair.Add('ZA', 'ENU'); + LanguageCountryPair.Add('ZH', 'CHS'); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoNotification.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoNotification.Codeunit.al new file mode 100644 index 0000000000..a0da4f48f7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoNotification.Codeunit.al @@ -0,0 +1,37 @@ +codeunit 5399 "Contoso Notification" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Notification Setup" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + + procedure InsertNotification(UserID: Code[50]; NotificationType: Enum "Notification Entry Type"; NotificationMethod: Enum "Notification Method Type") + var + NotificationSetup: Record "Notification Setup"; + Exists: Boolean; + begin + if NotificationSetup.Get(UserID, NotificationType) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + NotificationSetup."User ID" := UserID; + NotificationSetup.Validate("Notification Type", NotificationType); + NotificationSetup.Validate("Notification Method", NotificationMethod); + + if Exists then + NotificationSetup.Modify(true) + else + NotificationSetup.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoOverReceiptCode.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoOverReceiptCode.Codeunit.al new file mode 100644 index 0000000000..b0fe036f1b --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoOverReceiptCode.Codeunit.al @@ -0,0 +1,38 @@ +codeunit 5659 "Contoso Over Receipt Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Vendor Bank Account" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertOverReceiptCode(Code: Code[20]; Description: Text[100]; Default: Boolean; OverReceiptTolerancePer: Decimal) + var + OverReceiptCode: Record "Over-Receipt Code"; + Exists: Boolean; + begin + if OverReceiptCode.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + OverReceiptCode.Validate(Code, Code); + OverReceiptCode.Validate(Description, Description); + OverReceiptCode.Validate(Default, Default); + OverReceiptCode.Validate("Over-Receipt Tolerance %", OverReceiptTolerancePer); + + if Exists then + OverReceiptCode.Modify(true) + else + OverReceiptCode.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPayments.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPayments.Codeunit.al new file mode 100644 index 0000000000..73a2509938 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPayments.Codeunit.al @@ -0,0 +1,67 @@ +codeunit 5569 "Contoso Payments" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Payment Terms" = rim, + tabledata "Payment Method" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertPaymentTerms(Code: Code[10]; DueDateCalculation: Text[30]; DiscountDateCalculation: Text[30]; DiscountPer: Decimal; Description: Text[100]) + var + PaymentTerms: Record "Payment Terms"; + Exists: Boolean; + begin + if PaymentTerms.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PaymentTerms.Validate(Code, Code); + Evaluate(PaymentTerms."Due Date Calculation", DueDateCalculation); + PaymentTerms.Validate("Due Date Calculation"); + + Evaluate(PaymentTerms."Discount Date Calculation", DiscountDateCalculation); + PaymentTerms.Validate("Discount Date Calculation"); + + PaymentTerms.Validate("Discount %", DiscountPer); + PaymentTerms.Validate(Description, Description); + + if Exists then + PaymentTerms.Modify(true) + else + PaymentTerms.Insert(true); + end; + + procedure InsertBankPaymentMethod(Code: Code[10]; Description: Text[100]; BalAccountType: Enum "Payment Balance Account Type"; BalAccountNo: Code[20]) + var + PaymentMethod: Record "Payment Method"; + Exists: Boolean; + begin + if PaymentMethod.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + PaymentMethod.Validate(Code, Code); + PaymentMethod.Validate(Description, Description); + PaymentMethod.Validate("Bal. Account Type", BalAccountType); + PaymentMethod.Validate("Bal. Account No.", BalAccountNo); + + if Exists then + PaymentMethod.Modify(true) + else + PaymentMethod.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingGroup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingGroup.Codeunit.al index 55ffbba3a0..a63657bff4 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingGroup.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingGroup.Codeunit.al @@ -10,7 +10,8 @@ codeunit 5132 "Contoso Posting Group" tabledata "Customer Posting Group" = rim, tabledata "Vendor Posting Group" = rim, tabledata "Inventory Posting Group" = rim, - tabledata "Tax Group" = rim; + tabledata "Tax Group" = rim, + tabledata "Bank Account Posting Group" = rim; var OverwriteData: Boolean; @@ -140,42 +141,41 @@ codeunit 5132 "Contoso Posting Group" end; procedure InsertCustomerPostingGroup(CustomerGroupCode: Code[20]; Description: Text[100]; ReceivablesAccountNo: Code[20]) - var - CustomerPostingGroup: Record "Customer Posting Group"; - Exists: Boolean; begin - if CustomerPostingGroup.Get(CustomerGroupCode) then begin - Exists := true; - - if not OverwriteData then - exit; - end; - - CustomerPostingGroup.Validate(Code, CustomerGroupCode); - CustomerPostingGroup.Validate(Description, Description); - CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccountNo); - - if Exists then - CustomerPostingGroup.Modify(true) - else - CustomerPostingGroup.Insert(true); + InsertCustomerPostingGroup(CustomerGroupCode, ReceivablesAccountNo, '', '', '', '', '', '', '', '', '', '', '', '', Description); end; procedure InsertVendorPostingGroup(VendorGroupCode: Code[20]; Description: Text[100]; PayablesAccountNo: Code[20]) + begin + InsertVendorPostingGroup(VendorGroupCode, PayablesAccountNo, '', '', '', '', '', '', '', '', '', '', Description, false); + end; + + procedure InsertVendorPostingGroup(Code: Code[20]; PayablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; Description: Text[100]; ViewAllAccountsonLookup: Boolean) var VendorPostingGroup: Record "Vendor Posting Group"; Exists: Boolean; begin - if VendorPostingGroup.Get(VendorGroupCode) then begin + if VendorPostingGroup.Get(Code) then begin Exists := true; if not OverwriteData then exit; end; - VendorPostingGroup.Validate(Code, VendorGroupCode); + VendorPostingGroup.Validate(Code, Code); + VendorPostingGroup.Validate("Payables Account", PayablesAccount); + VendorPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + VendorPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + VendorPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + VendorPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + VendorPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + VendorPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + VendorPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + VendorPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + VendorPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + VendorPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); VendorPostingGroup.Validate(Description, Description); - VendorPostingGroup.Validate("Payables Account", PayablesAccountNo); + VendorPostingGroup.Validate("View All Accounts on Lookup", ViewAllAccountsonLookup); if Exists then VendorPostingGroup.Modify(true) @@ -203,4 +203,59 @@ codeunit 5132 "Contoso Posting Group" else InventoryPostingGroup.Insert(true); end; + + procedure InsertCustomerPostingGroup(Code: Code[20]; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; Description: Text[100]) + var + CustomerPostingGroup: Record "Customer Posting Group"; + Exists: Boolean; + begin + if CustomerPostingGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CustomerPostingGroup.Validate(Code, Code); + CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount); + CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc); + CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc); + CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount); + CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount); + CustomerPostingGroup.Validate("Interest Account", InterestAccount); + CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc); + CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount); + CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount); + CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc); + CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc); + CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc); + CustomerPostingGroup.Validate(Description, Description); + + if Exists then + CustomerPostingGroup.Modify(true) + else + CustomerPostingGroup.Insert(true); + end; + + procedure InsertBankAccountPostingGroup(Code: Code[20]; GLAccountNo: Code[20]) + var + BankAccountPostingGroup: Record "Bank Account Posting Group"; + Exists: Boolean; + begin + if BankAccountPostingGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + BankAccountPostingGroup.Validate(Code, Code); + BankAccountPostingGroup.Validate("G/L Account No.", GLAccountNo); + + if Exists then + BankAccountPostingGroup.Modify(true) + else + BankAccountPostingGroup.Insert(true); + end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingSetup.Codeunit.al index e114a41e74..c6b7da262e 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingSetup.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPostingSetup.Codeunit.al @@ -5,6 +5,7 @@ codeunit 5136 "Contoso Posting Setup" Permissions = tabledata "General Posting Setup" = rim, tabledata "VAT Posting Setup" = rim, + tabledata "VAT Clause" = rim, tabledata "Inventory Posting Setup" = rim; var @@ -22,6 +23,12 @@ codeunit 5136 "Contoso Posting Setup" end; procedure InsertGeneralPostingSetup(GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; SalesAccount: Code[20]; PurchaseAccount: Code[20]; InventoryAdjustmentAccount: Code[20]; DirectedCostAppliedAcc: Code[20]; OverheadAppliedAcc: Code[20]; PurchaseVarianceAccount: Code[20]) + var + begin + InsertGeneralPostingSetup(GenBusPostingGroup, GenProdPostingGroup, SalesAccount, PurchaseAccount, InventoryAdjustmentAccount, DirectedCostAppliedAcc, OverheadAppliedAcc, PurchaseVarianceAccount, '', '', '', '', '', '', ''); + end; + + procedure InsertGeneralPostingSetup(GenBusPostingGroup: Code[20]; GenProdPostingGroup: Code[20]; SalesAccount: Code[20]; PurchaseAccount: Code[20]; InventoryAdjustmentAccount: Code[20]; DirectedCostAppliedAcc: Code[20]; OverheadAppliedAcc: Code[20]; PurchaseVarianceAccount: Code[20]; SalesLineDiscAccount: Code[20]; SalesInvDiscAccount: Code[20]; PurchaselineDiscountAccount: Code[20]; PurchInvDiscAccount: Code[20]; COGSAccount: Code[20]; COGSAccountInterim: Code[20]; InvtAccrualAccInterim: Code[20]) var GeneralPostingSetup: Record "General Posting Setup"; Exists: Boolean; @@ -37,12 +44,21 @@ codeunit 5136 "Contoso Posting Setup" GeneralPostingSetup.Validate("Gen. Prod. Posting Group", GenProdPostingGroup); GeneralPostingSetup.Validate("Sales Account", SalesAccount); + GeneralPostingSetup.Validate("Sales Line Disc. Account", SalesLineDiscAccount); + GeneralPostingSetup.Validate("Sales Inv. Disc. Account", SalesInvDiscAccount); GeneralPostingSetup.Validate("Sales Credit Memo Account", SalesAccount); GeneralPostingSetup.Validate("Purch. Account", PurchaseAccount); + GeneralPostingSetup.Validate("Purch. Line Disc. Account", PurchaselineDiscountAccount); + GeneralPostingSetup.Validate("Purch. Inv. Disc. Account", PurchInvDiscAccount); GeneralPostingSetup.Validate("Purch. Credit Memo Account", PurchaseAccount); + GeneralPostingSetup.Validate("COGS Account", COGSAccount); + GeneralPostingSetup.Validate("COGS Account (Interim)", COGSAccountInterim); + GeneralPostingSetup.Validate("Inventory Adjmt. Account", InventoryAdjustmentAccount); + GeneralPostingSetup.Validate("Invt. Accrual Acc. (Interim)", InvtAccrualAccInterim); + GeneralPostingSetup.Validate("Direct Cost Applied Account", DirectedCostAppliedAcc); GeneralPostingSetup.Validate("Overhead Applied Account", OverheadAppliedAcc); GeneralPostingSetup.Validate("Purchase Variance Account", PurchaseVarianceAccount); @@ -54,6 +70,11 @@ codeunit 5136 "Contoso Posting Setup" end; procedure InsertVATPostingSetup(VATBusinessGroupCode: Code[20]; VATProductGroupCode: Code[20]; SalesVATAccountNo: Code[20]; PurchaseVATAccountNo: Code[20]; VATIdentifier: Code[20]; VATPercentage: Decimal; VATCalculationType: Enum "Tax Calculation Type") + begin + InsertVATPostingSetup(VATBusinessGroupCode, VATProductGroupCode, SalesVATAccountNo, PurchaseVATAccountNo, VATIdentifier, VATPercentage, VATCalculationType, '', '', '', false); + end; + + procedure InsertVATPostingSetup(VATBusinessGroupCode: Code[20]; VATProductGroupCode: Code[20]; SalesVATAccountNo: Code[20]; PurchaseVATAccountNo: Code[20]; VATIdentifier: Code[20]; VATPercentage: Decimal; VATCalculationType: Enum "Tax Calculation Type"; TaxCategory: Code[10]; ReverseChargeVATUnrealAcc: Code[20]; VATClauseCode: Code[20]; EUService: Boolean) var VATPostingSetup: Record "VAT Posting Setup"; Exists: Boolean; @@ -83,6 +104,12 @@ codeunit 5136 "Contoso Posting Setup" VATPostingSetup.Validate("VAT Identifier", VATIdentifier); VATPostingSetup.Validate("VAT %", VATPercentage); end; + if VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" then + VATPostingSetup.Validate("Reverse Chrg. VAT Acc.", ReverseChargeVATUnrealAcc); + + VATPostingSetup.Validate("Tax Category", TaxCategory); + VATPostingSetup.Validate("VAT Clause Code", VATClauseCode); + VATPostingSetup.Validate("EU Service", EUService); if Exists then VATPostingSetup.Modify(true) @@ -90,6 +117,27 @@ codeunit 5136 "Contoso Posting Setup" VATPostingSetup.Insert(true); end; + procedure InsertVATClause(CodeValue: Code[20]; DescriptionValue: Text[250]) + var + VATClause: Record "VAT Clause"; + Exists: Boolean; + begin + if VATClause.Get(CodeValue) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATClause.Validate(Code, CodeValue); + VATClause.Validate(Description, DescriptionValue); + + if Exists then + VATClause.Modify(true) + else + VATClause.Insert(true); + end; + procedure InsertInventoryPostingSetup(LocationCode: Code[10]; InventoryPostingGroupCode: Code[20]; InventoryAccount: Code[20]; InventoryAccountInterim: Code[20]; WIPAccount: Code[20]; MaterialVarianceAccount: Code[20]; CapacityVarianceAccount: Code[20]; SubcontractedVarianceAccount: Code[20]; CapOverheadVarianceAccount: Code[20]; MfgOverheadVarianceAccount: Code[20]) var InventoryPostingSetup: Record "Inventory Posting Setup"; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoProjects.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoProjects.Codeunit.al new file mode 100644 index 0000000000..4ff1f78378 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoProjects.Codeunit.al @@ -0,0 +1,71 @@ +codeunit 5662 "Contoso Projects" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata Resource = rim, + tabledata "Resources Setup" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertResourcesSetup(ResourceNos: Code[20]; TimeSheetNos: Code[20]) + var + ResourcesSetup: Record "Resources Setup"; + begin + if not ResourcesSetup.Get() then + ResourcesSetup.Insert(); + + ResourcesSetup.Validate("Resource Nos.", ResourceNos); + ResourcesSetup.Validate("Time Sheet Nos.", TimeSheetNos); + ResourcesSetup.Modify(true); + end; + + procedure InsertResource(No: Code[20]; ResourceType: Enum "Resource Type"; Name: Text[100]; Address: Text[100]; City: Text[30]; JobTitle: Text[30]; EmploymentDate: Date; BaseUnitOfMeasure: Code[10]; DirectUnitCost: Decimal; IndirectCostPercentage: Decimal; UnitCost: Decimal; ProfitPercentage: Decimal; PriceProfitCalculation: Integer; UnitPrice: Decimal; GenProdPostingGroup: Code[20]; PostCode: Code[20]; VATProdPostingGroup: Code[20]) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + Resource: Record "Resource"; + Exists: Boolean; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if Resource.Get(No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + Resource.Validate("No.", No); + Resource.Validate(Type, ResourceType); + Resource.Validate(Name, Name); + Resource.Validate(Address, Address); + Resource.Validate(City, City); + Resource.Validate("Job Title", JobTitle); + Resource.Validate("Employment Date", EmploymentDate); + Resource.Validate("Direct Unit Cost", DirectUnitCost); + Resource.Validate("Indirect Cost %", IndirectCostPercentage); + Resource.Validate("Unit Cost", UnitCost); + Resource.Validate("Profit %", ProfitPercentage); + Resource.Validate("Price/Profit Calculation", PriceProfitCalculation); + Resource.Validate("Unit Price", UnitPrice); + Resource.Validate("Gen. Prod. Posting Group", GenProdPostingGroup); + Resource.Validate("Post Code", PostCode); + if ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + Resource.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + + if Exists then + Resource.Modify(true) + else + Resource.Insert(true); + + if BaseUnitOfMeasure <> '' then begin + Resource.Validate("Base Unit of Measure", BaseUnitOfMeasure); + Resource.Modify(true); + end; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPurchase.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPurchase.Codeunit.al index ca61ca35b1..47a7f3f6c8 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPurchase.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoPurchase.Codeunit.al @@ -5,22 +5,37 @@ codeunit 4781 "Contoso Purchase" Permissions = tabledata "Purchase Header" = rim, tabledata "Purchase Line" = rim, - tabledata "Item" = r; + tabledata "Item" = r, + tabledata "Purchases & Payables Setup" = rim; procedure InsertPurchaseHeader(DocumentType: Enum "Purchase Document Type"; VendorNo: Code[20]; VendorOrderNo: Code[20]; PostingDate: Date; LocationCode: Code[20]): Record "Purchase Header" + begin + exit(InsertPurchaseHeader(DocumentType, VendorNo, '', PostingDate, PostingDate, 0D, '', LocationCode, VendorOrderNo, '', PostingDate, '')); + end; + + procedure InsertPurchaseHeader(DocumentType: Enum "Purchase Document Type"; BuyfromVendorNo: Code[20]; YourReference: Code[35]; OrderDate: Date; PostingDate: Date; ExpectedReceiptDate: Date; PaymentTermsCode: Code[10]; LocationCode: Code[10]; VendorOrderNo: Code[20]; VendorInvoiceNo: Code[35]; DocumentDate: Date; PaymentMethodCode: Code[10]): Record "Purchase Header"; var PurchaseHeader: Record "Purchase Header"; begin PurchaseHeader.Validate("Document Type", DocumentType); - PurchaseHeader.Validate("Buy-from Vendor No.", VendorNo); - - // We need to insert the record to get the default values taken from Document Type and Vendor - PurchaseHeader.Insert(true); + PurchaseHeader.Validate("Buy-from Vendor No.", BuyfromVendorNo); + if PurchaseHeader.Insert(true) then; + PurchaseHeader.Validate("Your Reference", YourReference); + PurchaseHeader.Validate("Order Date", OrderDate); PurchaseHeader.Validate("Posting Date", PostingDate); + PurchaseHeader.Validate("Expected Receipt Date", ExpectedReceiptDate); + PurchaseHeader.Validate("Payment Terms Code", PaymentTermsCode); PurchaseHeader.Validate("Location Code", LocationCode); PurchaseHeader.Validate("Vendor Order No.", VendorOrderNo); + if VendorInvoiceNo <> '' then + PurchaseHeader.Validate("Vendor Invoice No.", VendorInvoiceNo) + else + PurchaseHeader.Validate("Vendor Invoice No.", PurchaseHeader."No."); + + PurchaseHeader.Validate("Document Date", DocumentDate); + PurchaseHeader.Validate("Payment Method Code", PaymentMethodCode); PurchaseHeader.Modify(true); exit(PurchaseHeader); @@ -63,6 +78,26 @@ codeunit 4781 "Contoso Purchase" PurchaseLine.Insert(true); end; + procedure InsertPurchaseLineWithResource(PurchaseHeader: Record "Purchase Header"; ResourceNo: Code[20]; Quantity: Decimal) + var + Resource: Record Resource; + PurchaseLine: Record "Purchase Line"; + begin + PurchaseLine.Validate("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.Validate("Document No.", PurchaseHeader."No."); + PurchaseLine.Validate("Location Code", PurchaseHeader."Location Code"); + PurchaseLine.Validate("Line No.", GetNextPurchaseLineNo(PurchaseHeader)); + PurchaseLine.Validate(Type, PurchaseLine.Type::Resource); + PurchaseLine.Validate("No.", ResourceNo); + + Resource.SetBaseLoadFields(); + Resource.Get(ResourceNo); + PurchaseLine.Validate(Quantity, Quantity); + PurchaseLine.Validate("Unit of Measure Code", Resource."Base Unit of Measure"); + PurchaseLine.Validate("Direct Unit Cost", Resource."Unit Cost"); + PurchaseLine.Insert(true); + end; + local procedure GetNextPurchaseLineNo(PurchaseHeader: Record "Purchase Header"): Integer var PurchaseLine: Record "Purchase Line"; @@ -77,4 +112,41 @@ codeunit 4781 "Contoso Purchase" exit(10000); end; + procedure InsertPurchasePayableSetup(DiscountPosting: Integer; ReceiptonInvoice: Boolean; InvoiceRounding: Boolean; ExtDocNoMandatory: Boolean; VendorNos: Code[20]; QuoteNos: Code[20]; OrderNos: Code[20]; InvoiceNos: Code[20]; PostedInvoiceNos: Code[20]; CreditMemoNos: Code[20]; PostedCreditMemoNos: Code[20]; PostedReceiptNos: Code[20]; BlanketOrderNos: Code[20]; ApplnbetweenCurrencies: Integer; CopyCommentsBlankettoOrder: Boolean; CopyCommentsOrdertoInvoice: Boolean; CopyCommentsOrdertoReceipt: Boolean; JobQueueCategoryCode: Code[10]; JobQueuePriorityforPost: Integer; JobQPrioforPostPrint: Integer; DocumentDefaultLineType: Enum "Purchase Line Type"; CopyVendorNametoEntries: Boolean; PostedReturnShptNos: Code[20]; CopyCmtsRetOrdtoRetShpt: Boolean; CopyCmtsRetOrdtoCrMemo: Boolean; ReturnOrderNos: Code[20]; PriceCalculationMethod: Enum "Price Calculation Method"; PriceListNos: Code[20]) + var + PurchasesPayablesSetup: Record "Purchases & Payables Setup"; + begin + if not PurchasesPayablesSetup.Get() then + PurchasesPayablesSetup.Insert(); + + PurchasesPayablesSetup.Validate("Discount Posting", DiscountPosting); + PurchasesPayablesSetup.Validate("Receipt on Invoice", ReceiptonInvoice); + PurchasesPayablesSetup.Validate("Invoice Rounding", InvoiceRounding); + PurchasesPayablesSetup.Validate("Ext. Doc. No. Mandatory", ExtDocNoMandatory); + PurchasesPayablesSetup.Validate("Vendor Nos.", VendorNos); + PurchasesPayablesSetup.Validate("Quote Nos.", QuoteNos); + PurchasesPayablesSetup.Validate("Order Nos.", OrderNos); + PurchasesPayablesSetup.Validate("Invoice Nos.", InvoiceNos); + PurchasesPayablesSetup.Validate("Posted Invoice Nos.", PostedInvoiceNos); + PurchasesPayablesSetup.Validate("Credit Memo Nos.", CreditMemoNos); + PurchasesPayablesSetup.Validate("Posted Credit Memo Nos.", PostedCreditMemoNos); + PurchasesPayablesSetup.Validate("Posted Receipt Nos.", PostedReceiptNos); + PurchasesPayablesSetup.Validate("Blanket Order Nos.", BlanketOrderNos); + PurchasesPayablesSetup.Validate("Appln. between Currencies", ApplnbetweenCurrencies); + PurchasesPayablesSetup.Validate("Copy Comments Blanket to Order", CopyCommentsBlankettoOrder); + PurchasesPayablesSetup.Validate("Copy Comments Order to Invoice", CopyCommentsOrdertoInvoice); + PurchasesPayablesSetup.Validate("Copy Comments Order to Receipt", CopyCommentsOrdertoReceipt); + PurchasesPayablesSetup.Validate("Job Queue Category Code", JobQueueCategoryCode); + PurchasesPayablesSetup.Validate("Job Queue Priority for Post", JobQueuePriorityforPost); + PurchasesPayablesSetup.Validate("Job Q. Prio. for Post & Print", JobQPrioforPostPrint); + PurchasesPayablesSetup.Validate("Document Default Line Type", DocumentDefaultLineType); + PurchasesPayablesSetup.Validate("Copy Vendor Name to Entries", CopyVendorNametoEntries); + PurchasesPayablesSetup.Validate("Posted Return Shpt. Nos.", PostedReturnShptNos); + PurchasesPayablesSetup.Validate("Copy Cmts Ret.Ord. to Ret.Shpt", CopyCmtsRetOrdtoRetShpt); + PurchasesPayablesSetup.Validate("Copy Cmts Ret.Ord. to Cr. Memo", CopyCmtsRetOrdtoCrMemo); + PurchasesPayablesSetup.Validate("Return Order Nos.", ReturnOrderNos); + PurchasesPayablesSetup."Price Calculation Method" := PriceCalculationMethod; + PurchasesPayablesSetup.Validate("Price List Nos.", PriceListNos); + PurchasesPayablesSetup.Modify(true); + end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoReminder.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoReminder.Codeunit.al new file mode 100644 index 0000000000..979f35fc15 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoReminder.Codeunit.al @@ -0,0 +1,255 @@ +codeunit 5694 "Contoso Reminder" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Reminder Attachment Text" = ri, + tabledata "Reminder Email Text" = ri, + tabledata "Reminder Text" = rim, + tabledata "Reminder Level" = rim, + tabledata "Reminder Terms" = rim, + tabledata "Create Reminders Setup" = rim, + tabledata "Reminder Action" = rim, + tabledata "Reminder Action Group" = rim, + tabledata "Send Reminders Setup" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertReminderLevel(ReminderTermsCode: Code[10]; No: Integer; GracePeriod: Text; AdditionalFeeLCY: Decimal; DueDateCalculation: Text): Record "Reminder Level" + var + ReminderLevel: Record "Reminder Level"; + Exists: Boolean; + begin + if ReminderLevel.Get(ReminderTermsCode, No) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ReminderLevel.Validate("Reminder Terms Code", ReminderTermsCode); + ReminderLevel.Validate("No.", No); + Evaluate(ReminderLevel."Grace Period", GracePeriod); + ReminderLevel.Validate("Grace Period"); + ReminderLevel.Validate("Additional Fee (LCY)", AdditionalFeeLCY); + Evaluate(ReminderLevel."Due Date Calculation", DueDateCalculation); + ReminderLevel.Validate("Due Date Calculation"); + + if Exists then + ReminderLevel.Modify(true) + else + ReminderLevel.Insert(true); + + exit(ReminderLevel); + end; + + procedure InsertReminderTerms(Code: Code[10]; Description: Text[100]): Record "Reminder Terms"; + var + ReminderTerms: Record "Reminder Terms"; + Exists: Boolean; + begin + if ReminderTerms.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ReminderTerms.Validate(Code, Code); + ReminderTerms.Description := Description; + + if Exists then + ReminderTerms.Modify(true) + else + ReminderTerms.Insert(true); + + exit(ReminderTerms); + end; + + procedure InsertCreateRemindersSetup(Code: Code[50]; ActionGroupCode: Code[50]; Description: Text[50]) + var + CreateRemindersSetup: Record "Create Reminders Setup"; + Exists: Boolean; + begin + if CreateRemindersSetup.Get(Code, ActionGroupCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + CreateRemindersSetup.Validate(Code, Code); + CreateRemindersSetup.Validate("Action Group Code", ActionGroupCode); + CreateRemindersSetup.Validate(Description, Description); + + if Exists then + CreateRemindersSetup.Modify(true) + else + CreateRemindersSetup.Insert(true); + end; + + procedure InsertReminderAction(ReminderActionGroupCode: Code[50]; Code: Code[50]; Type: Enum "Reminder Action") + var + ReminderAction: Record "Reminder Action"; + Exists: Boolean; + begin + if ReminderAction.Get(ReminderActionGroupCode, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ReminderAction.Validate("Reminder Action Group Code", ReminderActionGroupCode); + ReminderAction.Validate(Code, Code); + ReminderAction.Validate(Type, Type); + + if Exists then + ReminderAction.Modify(true) + else + ReminderAction.Insert(true); + end; + + procedure InsertReminderActionGroup(Code: Code[50]; Description: Text[100]) + var + ReminderActionGroup: Record "Reminder Action Group"; + Exists: Boolean; + begin + if ReminderActionGroup.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ReminderActionGroup.Validate(Code, Code); + ReminderActionGroup.Validate(Description, Description); + + if Exists then + ReminderActionGroup.Modify(true) + else + ReminderActionGroup.Insert(true); + end; + + procedure InsertSendRemindersSetup(Code: Code[50]; ActionGroupCode: Code[50]; Description: Text[50]; SendbyEmail: Boolean; LogInteraction: Boolean; AttachInvoiceDocuments: Integer) + var + SendRemindersSetup: Record "Send Reminders Setup"; + Exists: Boolean; + begin + if SendRemindersSetup.Get(Code, ActionGroupCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SendRemindersSetup.Validate(Code, Code); + SendRemindersSetup.Validate("Action Group Code", ActionGroupCode); + SendRemindersSetup.Validate(Description, Description); + SendRemindersSetup.Validate("Send by Email", SendbyEmail); + SendRemindersSetup.Validate("Log Interaction", LogInteraction); + SendRemindersSetup.Validate("Attach Invoice Documents", AttachInvoiceDocuments); + + if Exists then + SendRemindersSetup.Modify(true) + else + SendRemindersSetup.Insert(true); + end; + + procedure InsertReminderEmailText(ReminderTermsCode: Code[10]; ReminderLevelNo: Integer; LanguageCode: Code[10]; SourceType: Enum "Reminder Text Source Type"; Subject: Text[128]; Greeting: Text[128]; BodyText: Text; Closing: Text[128]): Record "Reminder Email Text" + var + ReminderEmailText: Record "Reminder Email Text"; + ReminderLevel: Record "Reminder Level"; + ReminderTerms: Record "Reminder Terms"; + begin + ReminderEmailText.Validate(ID, CreateGuid()); + ReminderEmailText.Validate("Language Code", LanguageCode); + ReminderEmailText.Validate("Source Type", SourceType); + ReminderEmailText.Validate(Subject, Subject); + ReminderEmailText.Validate(Greeting, Greeting); + ReminderEmailText.Validate(Closing, Closing); + ReminderEmailText.Insert(true); + + case SourceType of + SourceType::"Reminder Level": + begin + ReminderLevel.Get(ReminderTermsCode, ReminderLevelNo); + if IsNullGuid(ReminderLevel."Reminder Email Text") then begin + ReminderLevel.Validate("Reminder Email Text", ReminderEmailText.ID); + ReminderLevel.Modify(true); + end; + end; + SourceType::"Reminder Term": + begin + ReminderTerms.Get(ReminderTermsCode); + if IsNullGuid(ReminderTerms."Reminder Email Text") then begin + ReminderTerms.Validate("Reminder Email Text", ReminderEmailText.ID); + ReminderTerms.Modify(true); + end; + end; + end; + exit(ReminderEmailText); + end; + + procedure InsertReminderAttachText(ReminderGuid: Guid; ReminderTermsCode: Code[10]; ReminderLevelNo: Integer; LanguageCode: Code[10]; SourceType: Enum "Reminder Text Source Type"; FileName: Text[100]; BeginningLine: Text[100]; InlineFeeDescription: Text[100]; EndingLine: Text[100]) + var + ReminderAttachmentText: Record "Reminder Attachment Text"; + ReminderLevel: Record "Reminder Level"; + ReminderTerms: Record "Reminder Terms"; + begin + ReminderAttachmentText.Validate(Id, ReminderGuid); + ReminderAttachmentText.Validate("Language Code", LanguageCode); + ReminderAttachmentText.Validate("Source Type", SourceType); + ReminderAttachmentText.Validate("File Name", FileName); + ReminderAttachmentText.Validate("Inline Fee Description", InlineFeeDescription); + ReminderAttachmentText.Insert(true); + + case SourceType of + SourceType::"Reminder Level": + begin + ReminderLevel.Get(ReminderTermsCode, ReminderLevelNo); + if IsNullGuid(ReminderLevel."Reminder Attachment Text") then begin + ReminderLevel.Validate("Reminder Attachment Text", ReminderAttachmentText.Id); + ReminderLevel.Modify(true); + end; + end; + SourceType::"Reminder Term": + begin + ReminderTerms.Get(ReminderTermsCode); + if IsNullGuid(ReminderTerms."Reminder Attachment Text") then begin + ReminderTerms.Validate("Reminder Attachment Text", ReminderAttachmentText.Id); + ReminderTerms.Modify(true); + end; + end; + end; + end; + + procedure InsertReminderText(ReminderTermsCode: Code[10]; ReminderLevel: Integer; Position: Enum "Reminder Text Position"; LineNo: Integer; Text: Text[100]) + var + ReminderText: Record "Reminder Text"; + Exists: Boolean; + begin + if ReminderText.Get(ReminderTermsCode, ReminderLevel, Position, LineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ReminderText.Validate("Reminder Terms Code", ReminderTermsCode); + ReminderText.Validate("Reminder Level", ReminderLevel); + ReminderText.Validate(Position, Position); + ReminderText.Validate("Line No.", LineNo); + ReminderText.Validate(Text, Text); + + if Exists then + ReminderText.Modify(true) + else + ReminderText.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSales.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSales.Codeunit.al index e4244f471d..c4aa9dd763 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSales.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSales.Codeunit.al @@ -7,20 +7,30 @@ codeunit 5124 "Contoso Sales" tabledata "Sales Line" = rim, tabledata "Item" = rim; + procedure InsertSalesHeader(DocumentType: Enum "Sales Document Type"; CustomerNo: Code[20]; ExternalDocumentNo: Text[20]; PostingDate: Date; LocationCode: Code[10]): Record "Sales Header" + begin + exit(InsertSalesHeader(DocumentType, CustomerNo, '', 0D, PostingDate, '', 0D, '', '', 0D, '', ExternalDocumentNo)); + end; + + procedure InsertSalesHeader(DocumentType: Enum "Sales Document Type"; SelltoCustomerNo: Code[20]; YourReference: Code[35]; OrderDate: Date; PostingDate: Date; PaymentTermsCode: Code[10]; DocumentDate: Date; PaymentMethodCode: Code[10]; ShippingAgentCode: Code[10]; RequestedDeliveryDate: Date; ShippingAgentServiceCode: Code[10]; ExternalDocumentNo: Code[35]): Record "Sales Header" var SalesHeader: Record "Sales Header"; begin SalesHeader.Validate("Document Type", DocumentType); - SalesHeader.Validate("Sell-to Customer No.", CustomerNo); - - // We need to insert the record to get the default values taken from Document Type and Customer + SalesHeader.Validate("Sell-to Customer No.", SelltoCustomerNo); SalesHeader.Insert(true); + SalesHeader.Validate("Your Reference", YourReference); + SalesHeader.Validate("Order Date", OrderDate); SalesHeader.Validate("Posting Date", PostingDate); + SalesHeader.Validate("Payment Terms Code", PaymentTermsCode); + SalesHeader.Validate("Document Date", DocumentDate); + SalesHeader.Validate("Payment Method Code", PaymentMethodCode); + SalesHeader.Validate("Shipping Agent Code", ShippingAgentCode); + SalesHeader.Validate("Requested Delivery Date", RequestedDeliveryDate); + SalesHeader.Validate("Shipping Agent Service Code", ShippingAgentServiceCode); SalesHeader.Validate("External Document No.", ExternalDocumentNo); - SalesHeader.Validate("Location Code", LocationCode); - SalesHeader.Modify(true); exit(SalesHeader); @@ -45,6 +55,37 @@ codeunit 5124 "Contoso Sales" SalesLine.Insert(true); end; + procedure InsertSalesLineWithComments(SalesHeader: Record "Sales Header"; Description: Text[100]) + var + SalesLine: Record "Sales Line"; + begin + SalesLine.Validate("Document Type", SalesHeader."Document Type"); + SalesLine.Validate("Document No.", SalesHeader."No."); + SalesLine.Validate("Line No.", GetNextSalesLineNo(SalesHeader)); + SalesLine.Validate("Type", Enum::"Sales Line Type"::" "); + SalesLine.Validate(Description, Description); + SalesLine.Insert(true); + end; + + procedure InsertSalesLineWithGLAccount(SalesHeader: Record "Sales Header"; GLAccountNo: Code[20]; Quantity: Decimal; UnitPrice: Decimal) + var + GLAccount: Record "G/L Account"; + SalesLine: Record "Sales Line"; + begin + GLAccount.SetBaseLoadFields(); + GLAccount.Get(GLAccountNo); + + SalesLine.Validate("Document Type", SalesHeader."Document Type"); + SalesLine.Validate("Document No.", SalesHeader."No."); + SalesLine.Validate("Location Code", SalesHeader."Location Code"); + SalesLine.Validate("Line No.", GetNextSalesLineNo(SalesHeader)); + SalesLine.Validate("Type", Enum::"Sales Line Type"::"G/L Account"); + SalesLine.Validate("No.", GLAccount."No."); + SalesLine.Validate("Quantity", Quantity); + SalesLine.Validate("Unit Price", UnitPrice); + SalesLine.Insert(true); + end; + local procedure GetNextSalesLineNo(SalesHeader: Record "Sales Header"): Integer var SalesLine: Record "Sales Line"; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSalesReceivableSetup.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSalesReceivableSetup.Codeunit.al new file mode 100644 index 0000000000..04d7cfa32c --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSalesReceivableSetup.Codeunit.al @@ -0,0 +1,59 @@ +codeunit 5269 "Contoso Sales Receivable Setup" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Sales & Receivables Setup" = rim; + + var + + procedure InsertSalesReceivablesSetup(DiscountPosting: Integer; ShipmentonInvoice: Boolean; InvoiceRounding: Boolean; CustomerNos: Code[20]; QuoteNos: Code[20]; OrderNos: Code[20]; InvoiceNos: Code[20]; PostedInvoiceNos: Code[20]; CreditMemoNos: Code[20]; PostedCreditMemoNos: Code[20]; PostedShipmentNos: Code[20]; ReminderNos: Code[20]; IssuedReminderNos: Code[20]; FinChrgMemoNos: Code[20]; IssuedFinChrgMNos: Code[20]; BlanketOrderNos: Code[20]; ApplnbetweenCurrencies: Integer; CopyCommentsBlankettoOrder: Boolean; CopyCommentsOrdertoInvoice: Boolean; CopyCommentsOrdertoShpt: Boolean; DefaultPostingDate: Enum "Default Posting Date"; JobQueueCategoryCode: Code[10]; JobQueuePriorityforPost: Integer; JobQPrioforPostPrint: Integer; VATBusPostingGrPrice: Code[20]; ReportOutputType: Enum "Setup Report Output Type"; DocumentDefaultLineType: Enum "Sales Line Type"; AllowMultiplePostingGroups: Boolean; CheckMultiplePostingGroups: enum "Posting Group Change Method"; AutoPostNonInvtviaWhse: Enum "Non-Invt. Item Whse. Policy"; PostedReturnReceiptNos: Code[20]; CopyCmtsRetOrdtoRetRcpt: Boolean; CopyCmtsRetOrdtoCrMemo: Boolean; ReturnOrderNos: Code[20]; PriceCalculationMethod: Enum "Price Calculation Method"; PriceListNos: Code[20]; LinkDocDateToPostingDate: Boolean; CopyCustomerNametoEntries: Boolean) + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + SalesReceivablesSetup: Record "Sales & Receivables Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if not SalesReceivablesSetup.Get() then + SalesReceivablesSetup.Insert(); + + SalesReceivablesSetup.Validate("Discount Posting", DiscountPosting); + SalesReceivablesSetup.Validate("Shipment on Invoice", ShipmentonInvoice); + SalesReceivablesSetup.Validate("Invoice Rounding", InvoiceRounding); + SalesReceivablesSetup.Validate("Customer Nos.", CustomerNos); + SalesReceivablesSetup.Validate("Quote Nos.", QuoteNos); + SalesReceivablesSetup.Validate("Order Nos.", OrderNos); + SalesReceivablesSetup.Validate("Invoice Nos.", InvoiceNos); + SalesReceivablesSetup.Validate("Posted Invoice Nos.", PostedInvoiceNos); + SalesReceivablesSetup.Validate("Credit Memo Nos.", CreditMemoNos); + SalesReceivablesSetup.Validate("Posted Credit Memo Nos.", PostedCreditMemoNos); + SalesReceivablesSetup.Validate("Posted Shipment Nos.", PostedShipmentNos); + SalesReceivablesSetup.Validate("Reminder Nos.", ReminderNos); + SalesReceivablesSetup.Validate("Issued Reminder Nos.", IssuedReminderNos); + SalesReceivablesSetup.Validate("Fin. Chrg. Memo Nos.", FinChrgMemoNos); + SalesReceivablesSetup.Validate("Issued Fin. Chrg. M. Nos.", IssuedFinChrgMNos); + SalesReceivablesSetup.Validate("Blanket Order Nos.", BlanketOrderNos); + SalesReceivablesSetup.Validate("Appln. between Currencies", ApplnbetweenCurrencies); + SalesReceivablesSetup.Validate("Copy Comments Blanket to Order", CopyCommentsBlankettoOrder); + SalesReceivablesSetup.Validate("Copy Comments Order to Invoice", CopyCommentsOrdertoInvoice); + SalesReceivablesSetup.Validate("Copy Comments Order to Shpt.", CopyCommentsOrdertoShpt); + SalesReceivablesSetup.Validate("Default Posting Date", DefaultPostingDate); + SalesReceivablesSetup.Validate("Job Queue Category Code", JobQueueCategoryCode); + SalesReceivablesSetup.Validate("Job Queue Priority for Post", JobQueuePriorityforPost); + SalesReceivablesSetup.Validate("Job Q. Prio. for Post & Print", JobQPrioforPostPrint); + if ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then + SalesReceivablesSetup.Validate("VAT Bus. Posting Gr. (Price)", VATBusPostingGrPrice); + SalesReceivablesSetup.Validate("Report Output Type", ReportOutputType); + SalesReceivablesSetup.Validate("Document Default Line Type", DocumentDefaultLineType); + SalesReceivablesSetup.Validate("Check Multiple Posting Groups", CheckMultiplePostingGroups); + SalesReceivablesSetup.Validate("Auto Post Non-Invt. via Whse.", AutoPostNonInvtviaWhse); + SalesReceivablesSetup.Validate("Posted Return Receipt Nos.", PostedReturnReceiptNos); + SalesReceivablesSetup.Validate("Copy Cmts Ret.Ord. to Ret.Rcpt", CopyCmtsRetOrdtoRetRcpt); + SalesReceivablesSetup.Validate("Copy Cmts Ret.Ord. to Cr. Memo", CopyCmtsRetOrdtoCrMemo); + SalesReceivablesSetup.Validate("Return Order Nos.", ReturnOrderNos); + SalesReceivablesSetup."Price Calculation Method" := PriceCalculationMethod; + SalesReceivablesSetup.Validate("Price List Nos.", PriceListNos); + SalesReceivablesSetup.Validate("Link Doc. Date To Posting Date", LinkDocDateToPostingDate); + SalesReceivablesSetup.Validate("Copy Customer Name to Entries", CopyCustomerNametoEntries); + SalesReceivablesSetup.Modify(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoService.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoService.Codeunit.al index 277dab8d18..eaf37068b8 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoService.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoService.Codeunit.al @@ -152,8 +152,8 @@ codeunit 5125 "Contoso Service" ServiceContractAccountGroup.Validate(Code, GroupCode); ServiceContractAccountGroup.Validate(Description, Description); - ServiceContractAccountGroup.Validate("Non-Prepaid Contract Acc.", NonPrepaidAccount); - ServiceContractAccountGroup.Validate("Prepaid Contract Acc.", PrepaidAccount); + ServiceContractAccountGroup."Non-Prepaid Contract Acc." := NonPrepaidAccount; + ServiceContractAccountGroup."Prepaid Contract Acc." := PrepaidAccount; if Exists then ServiceContractAccountGroup.Modify(true) diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoShipping.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoShipping.Codeunit.al new file mode 100644 index 0000000000..69ad0f80ce --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoShipping.Codeunit.al @@ -0,0 +1,80 @@ +codeunit 5182 "Contoso Shipping" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Shipping Agent" = rim, + tabledata "Shipment Method" = rim, + tabledata "Shipment Method Translation" = rim, + tabledata "Shipping Agent Services" = rim; + + var + OverwriteData: Boolean; + + procedure InsertShippingAgent(Code: Code[10]; Name: Text[50]; InternetAddress: Text[250]) + var + ShippingAgent: Record "Shipping Agent"; + Exists: Boolean; + begin + if ShippingAgent.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ShippingAgent.Validate(Code, Code); + ShippingAgent.Validate(Name, Name); + ShippingAgent.Validate("Internet Address", InternetAddress); + + if Exists then + ShippingAgent.Modify(true) + else + ShippingAgent.Insert(true); + end; + + procedure InsertShippingAgentService(ShippingAgentCode: Code[10]; ShippingServiceCode: Code[10]; Description: Text[100]; ShippingTime: Text[10]) + var + ShippingAgentServices: Record "Shipping Agent Services"; + Exists: Boolean; + begin + if ShippingAgentServices.Get(ShippingAgentCode, ShippingServiceCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ShippingAgentServices.Validate("Shipping Agent Code", ShippingAgentCode); + ShippingAgentServices.Validate(Code, ShippingServiceCode); + ShippingAgentServices.Validate(Description, Description); + Evaluate(ShippingAgentServices."Shipping Time", ShippingTime); + ShippingAgentServices.Validate("Shipping Time"); + + if Exists then + ShippingAgentServices.Modify(true) + else + ShippingAgentServices.Insert(true); + end; + + procedure InsertShipmentMethod(Code: Code[10]; Description: Text[50]) + var + ShipmentMethod: Record "Shipment Method"; + Exists: Boolean; + begin + if ShipmentMethod.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + ShipmentMethod.Validate(Code, Code); + ShipmentMethod.Validate(Description, Description); + + if Exists then + ShipmentMethod.Modify(true) + else + ShipmentMethod.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSourceCode.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSourceCode.Codeunit.al new file mode 100644 index 0000000000..b15786a767 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoSourceCode.Codeunit.al @@ -0,0 +1,35 @@ +codeunit 5173 "Contoso Source Code" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = tabledata "Source Code" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertSourceCode(Code: Text; Description: Text) + var + SourceCode: Record "Source Code"; + Exists: Boolean; + begin + if SourceCode.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + SourceCode.Validate(Code, Code); + SourceCode.Validate(Description, Description); + + if Exists then + SourceCode.Modify(true) + else + SourceCode.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUnitOfMeasure.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUnitOfMeasure.Codeunit.al index d75859a8c6..5b69ab9e0b 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUnitOfMeasure.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUnitOfMeasure.Codeunit.al @@ -5,6 +5,7 @@ codeunit 5129 "Contoso Unit of Measure" Permissions = tabledata "Unit of Measure" = rim, tabledata "Item Unit of Measure" = rim, + tabledata "Unit of Measure Translation" = rim, tabledata "Capacity Unit of Measure" = rim; var @@ -15,7 +16,7 @@ codeunit 5129 "Contoso Unit of Measure" OverwriteData := Overwrite; end; - procedure InsertUnitOfMeasure(UnitOfMeasureCode: Code[10]; Description: Text[10]; InternationalStandardCode: Code[10]) + procedure InsertUnitOfMeasure(UnitOfMeasureCode: Code[10]; Description: Text[50]; InternationalStandardCode: Code[10]) var UnitOfMeasure: Record "Unit of Measure"; Exists: Boolean; @@ -37,6 +38,28 @@ codeunit 5129 "Contoso Unit of Measure" UnitOfMeasure.Insert(true); end; + procedure InsertUnitOfMeasureTranslation(UnitOfMeasureCode: Code[10]; Description: Text[10]; LanguageCode: Code[10]) + var + UnitOfMeasureTranslation: Record "Unit of Measure Translation"; + Exists: Boolean; + begin + if UnitOfMeasureTranslation.Get(UnitOfMeasureCode) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + UnitOfMeasureTranslation.Validate(Code, UnitOfMeasureCode); + UnitOfMeasureTranslation.Validate(Description, Description); + UnitOfMeasureTranslation.Validate("Language Code", LanguageCode); + + if Exists then + UnitOfMeasureTranslation.Modify(true) + else + UnitOfMeasureTranslation.Insert(true); + end; + procedure InsertItemUnitOfMeasure(ItemNo: Code[20]; Code: Code[10]; QtyPerUnitOfMeasure: Decimal; QtyRoundingPrecision: Decimal; Length: Decimal; Width: Decimal; Height: Decimal) var ItemUnitOfMeasure: Record "Item Unit of Measure"; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al index b50c351516..33f0496688 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoUtilities.Codeunit.al @@ -80,4 +80,14 @@ codeunit 5142 "Contoso Utilities" begin exit(DefaultBatchNameLbl); end; -} \ No newline at end of file + + procedure GetTempBlobFromFile(FilePath: Text) result: Codeunit "Temp Blob" + var + ObjInStream: InStream; + OutStr: OutStream; + begin + NavApp.GetResource(FilePath, ObjInStream); + result.CreateOutStream(OutStr); + CopyStream(OutStr, ObjInStream); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVATStatement.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVATStatement.Codeunit.al new file mode 100644 index 0000000000..8288f4ef61 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVATStatement.Codeunit.al @@ -0,0 +1,175 @@ +codeunit 5628 "Contoso VAT Statement" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "VAT Statement Name" = rim, + tabledata "VAT Statement Template" = rim, + tabledata "VAT Statement Line" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + + procedure InsertVATStatementName(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementDesc: Text[100]) + var + VatStatementName: Record "VAT Statement Name"; + Exists: Boolean; + begin + if VatStatementName.Get(StatementTemplateName, StatementName) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatStatementName.Validate("Statement Template Name", StatementTemplateName); + VatStatementName.Validate(Name, StatementName); + VatStatementName.Validate(Description, StatementDesc); + + if Exists then + VatStatementName.Modify(true) + else + VatStatementName.Insert(true); + end; + + procedure InsertVATStatementTemplate(TemplateName: Code[10]; VatStatementDescription: Text[80]; VatStatementPageID: Integer; VatStatementReportID: Integer) + var + VATStatementTemplate: Record "VAT Statement Template"; + Exists: Boolean; + begin + if VATStatementTemplate.Get(TemplateName) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATStatementTemplate.Validate(Name, TemplateName); + VATStatementTemplate.Validate(Description, VatStatementDescription); + VATStatementTemplate.Validate("Page ID", VatStatementPageID); + VATStatementTemplate.Validate("VAT Statement Report ID", VatStatementReportID); + + if Exists then + VATStatementTemplate.Modify(true) + else + VATStatementTemplate.Insert(true); + end; + + procedure InsertVatSetupPostingGrp(VATProdPostingGroup: Code[20]; DefaultSetup: Boolean; VatPercent: Decimal; SalesVatAccount: Code[20]; PurchaseVatAccount: Code[20]; SelectedSetup: Boolean; ApplicationType: Option; VATProdPostingGrpDesc: Text[100]) + var + VatSetupPostingGroup: Record "VAT Setup Posting Groups"; + Exists: Boolean; + begin + if VatSetupPostingGroup.Get(VATProdPostingGroup, DefaultSetup) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatSetupPostingGroup.Validate("VAT Prod. Posting Group", VATProdPostingGroup); + VatSetupPostingGroup.Validate(Default, DefaultSetup); + VatSetupPostingGroup.Validate("VAT %", VatPercent); + VatSetupPostingGroup.Validate("Sales VAT Account", SalesVatAccount); + VatSetupPostingGroup.Validate("Purchase VAT Account", PurchaseVatAccount); + VatSetupPostingGroup.Validate(Selected, SelectedSetup); + VatSetupPostingGroup.Validate("Application Type", ApplicationType); + VatSetupPostingGroup.Validate("VAT Prod. Posting Grp Desc.", VATProdPostingGrpDesc); + + if Exists then + VatSetupPostingGroup.Modify(true) + else + VatSetupPostingGroup.Insert(true); + end; + + procedure InsertVatStatementLine(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementLineNo: Integer; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; GenPostingType: Enum "General Posting Type"; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]) + begin + InsertVatStatementLine(StatementTemplateName, StatementName, StatementLineNo, StatementRowNo, StatementLineType, GenPostingType, VatBusPostingGrp, VAtProdPostingGrp, RowTotaling, AmountType, CalulationWith, StatementPrint, PrintWith, StatementDesc, ''); + end; + + procedure InsertVatStatementLine(StatementTemplateName: Code[10]; StatementName: Code[10]; StatementLineNo: Integer; StatementRowNo: Code[10]; StatementLineType: Enum "VAT Statement Line Type"; GenPostingType: Enum "General Posting Type"; VatBusPostingGrp: Code[20]; VAtProdPostingGrp: Code[20]; RowTotaling: Text[50]; AmountType: Enum "VAT Statement Line Amount Type"; CalulationWith: Option; StatementPrint: Boolean; PrintWith: Option; StatementDesc: Text[100]; AccountTotaling: Text[30]) + var + VatStatementLine: Record "VAT Statement Line"; + Exists: Boolean; + begin + if VatStatementLine.Get(StatementTemplateName, StatementName, StatementLineNo) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatStatementLine.Validate("Statement Template Name", StatementTemplateName); + VatStatementLine.Validate("Statement Name", StatementName); + VatStatementLine.Validate("Line No.", StatementLineNo); + VatStatementLine.Validate("Row No.", StatementRowNo); + VatStatementLine.Validate(Description, StatementDesc); + VatStatementLine.Validate(Type, StatementLineType); + VatStatementLine.Validate("Account Totaling", AccountTotaling); + VatStatementLine.Validate("Gen. Posting Type", GenPostingType); + VatStatementLine.Validate("VAT Bus. Posting Group", VatBusPostingGrp); + VatStatementLine.Validate("VAT Prod. Posting Group", VAtProdPostingGrp); + VatStatementLine.Validate("Row Totaling", RowTotaling); + VatStatementLine.Validate("Amount Type", AmountType); + VatStatementLine.Validate("Calculate with", CalulationWith); + VatStatementLine.Validate(Print, StatementPrint); + VatStatementLine.Validate("Print with", PrintWith); + + if Exists then + VatStatementLine.Modify(true) + else + VatStatementLine.Insert(true); + end; + + procedure InsertVATAssistedSetupBusGrp(VatAssistedCode: Code[20]; VatAssistedDesc: Text[100]; VatAssistedDefault: Boolean; VatAssistedSelected: Boolean) + var + VatAssistedSetupBusGrp: Record "VAT Assisted Setup Bus. Grp."; + Exists: Boolean; + begin + if VatAssistedSetupBusGrp.Get(VatAssistedCode, VatAssistedDefault) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VatAssistedSetupBusGrp.Validate(Code, VatAssistedCode); + VatAssistedSetupBusGrp.Validate(Default, VatAssistedDefault); + VatAssistedSetupBusGrp.Validate(Description, VatAssistedDesc); + VatAssistedSetupBusGrp.Validate(Selected, VatAssistedSelected); + + if Exists then + VatAssistedSetupBusGrp.Modify(true) + else + VatAssistedSetupBusGrp.Insert(true); + end; + + procedure InsertVATReportConfiguration(ReportConfig: Enum "VAT Report Configuration"; Version: Code[10]; SuggestCodeunit: Integer; ValidateCodeunit: Integer) + var + VATReportConfiguration: Record "VAT Reports Configuration"; + Exists: Boolean; + begin + if VATReportConfiguration.Get(ReportConfig, Version) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VATReportConfiguration.Validate("VAT Report Type", ReportConfig); + VATReportConfiguration.Validate("VAT Report Version", Version); + VATReportConfiguration.Validate("Suggest Lines Codeunit ID", SuggestCodeunit); + VATReportConfiguration.Validate("Validate Codeunit ID", ValidateCodeunit); + + if Exists then + VATReportConfiguration.Modify(true) + else + VATReportConfiguration.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVendorBankAccount.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVendorBankAccount.Codeunit.al new file mode 100644 index 0000000000..0bde28a958 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVendorBankAccount.Codeunit.al @@ -0,0 +1,45 @@ +codeunit 5660 "Contoso Vendor Bank Account" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Vendor Bank Account" = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVendorBankAccount(VendorNo: Code[20]; Code: Code[20]; Name: Text[100]; Address: Text[100]; Contact: Text[100]; PhoneNo: Text[30]; BankBranchNo: Text[20]; BankAccountNo: Text[30]; FaxNo: Text[30]; LanguageCode: Code[10]; IBAN: Code[50]) + var + VendorBankAccount: Record "Vendor Bank Account"; + Exists: Boolean; + begin + if VendorBankAccount.Get(VendorNo, Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VendorBankAccount.Validate("Vendor No.", VendorNo); + VendorBankAccount.Validate(Code, Code); + VendorBankAccount.Validate(Name, Name); + VendorBankAccount.Validate(Address, Address); + VendorBankAccount.Validate(Contact, Contact); + VendorBankAccount.Validate("Phone No.", PhoneNo); + VendorBankAccount.Validate("Bank Branch No.", BankBranchNo); + VendorBankAccount."Bank Account No." := BankAccountNo; + VendorBankAccount.Validate("Fax No.", FaxNo); + VendorBankAccount.Validate("Language Code", LanguageCode); + VendorBankAccount.Validate(IBAN, IBAN); + + if Exists then + VendorBankAccount.Modify(true) + else + VendorBankAccount.Insert(true); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVendorTempl.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVendorTempl.Codeunit.al new file mode 100644 index 0000000000..d412b43b82 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoVendorTempl.Codeunit.al @@ -0,0 +1,50 @@ +codeunit 5661 "Contoso Vendor Templ" +{ + InherentEntitlements = X; + InherentPermissions = X; + Permissions = + tabledata "Vendor Templ." = rim; + + var + OverwriteData: Boolean; + + procedure SetOverwriteData(Overwrite: Boolean) + begin + OverwriteData := Overwrite; + end; + + procedure InsertVendorTempl(Code: Code[20]; Description: Text[100]; VendorPostingGroup: Code[20]; PaymentTermsCode: Code[10]; CountryRegionCode: Code[10]; PaymentMethodCode: Code[10]; PricesIncludingVAT: Boolean; GenBusPostingGroup: Code[20]; VATBusPostingGroup: Code[20]; ValidateEUVatRegNo: Boolean; ContactType: Enum "Contact Type") + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + VendorTempl: Record "Vendor Templ."; + Exists: Boolean; + begin + ContosoCoffeeDemoDataSetup.Get(); + + if VendorTempl.Get(Code) then begin + Exists := true; + + if not OverwriteData then + exit; + end; + + VendorTempl.Validate(Code, Code); + VendorTempl.Validate(Description, Description); + VendorTempl.Validate("Vendor Posting Group", VendorPostingGroup); + VendorTempl.Validate("Payment Terms Code", PaymentTermsCode); + VendorTempl.Validate("Country/Region Code", CountryRegionCode); + VendorTempl.Validate("Payment Method Code", PaymentMethodCode); + VendorTempl.Validate("Prices Including VAT", PricesIncludingVAT); + VendorTempl.Validate("Gen. Bus. Posting Group", GenBusPostingGroup); + if ContosoCoffeeDemoDataSetup."Company Type" <> ContosoCoffeeDemoDataSetup."Company Type"::"Sales Tax" then begin + VendorTempl.Validate("VAT Bus. Posting Group", VATBusPostingGroup); + VendorTempl.Validate("Validate EU Vat Reg. No.", ValidateEUVatRegNo); + end; + VendorTempl.Validate("Contact Type", ContactType); + + if Exists then + VendorTempl.Modify(true) + else + VendorTempl.Insert(true); + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al index 289c260584..b3ee4bf977 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al @@ -27,6 +27,7 @@ table 4768 "Contoso Coffee Demo Data Setup" { TableRelation = "Country/Region"; Caption = 'Country/Region Code'; + InitValue = 'GB'; } field(5; "Price Factor"; Decimal) { diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataLevel.Enum.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataLevel.Enum.al index 2f16c64437..df65193a77 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataLevel.Enum.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataLevel.Enum.al @@ -8,17 +8,22 @@ enum 5123 "Contoso Demo Data Level" } value(1; "Setup Data") { + Caption = 'Setup Data'; } value(2; "Master Data") { + Caption = 'Master Data'; } value(3; "Transactional Data") { + Caption = 'Transactional Data'; } value(4; "Historical Data") { + Caption = 'Historical Data'; } value(10; All) { + Caption = 'All'; } } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al index ed095f6e67..64eed4e9d0 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al @@ -5,29 +5,76 @@ enum 5160 "Contoso Demo Data Module" implements "Contoso Demo Data Module" value(0; "Common Module") { Implementation = "Contoso Demo Data Module" = "Common Module"; + Caption = 'Common'; } value(1; "Manufacturing Module") { Implementation = "Contoso Demo Data Module" = "Manufacturing Module"; + Caption = 'Manufacturing'; } value(2; "Warehouse Module") { Implementation = "Contoso Demo Data Module" = "Warehouse Module"; + Caption = 'Warehouse'; } value(3; "Service Module") { Implementation = "Contoso Demo Data Module" = "Service Module"; + Caption = 'Service'; } value(4; "Fixed Asset Module") { Implementation = "Contoso Demo Data Module" = "FA Module"; + Caption = 'Fixed Asset'; } value(5; "Human Resources Module") { Implementation = "Contoso Demo Data Module" = "Human Resources Module"; + Caption = 'Human Resources'; } value(6; "Job Module") { Implementation = "Contoso Demo Data Module" = "Job Module"; + Caption = 'Job'; + } + value(10; Foundation) + { + Implementation = "Contoso Demo Data Module" = "Foundation Module"; + Caption = 'Foundation'; + } + value(11; "Finance") + { + Implementation = "Contoso Demo Data Module" = "Finance Module"; + Caption = 'Finance'; + } + value(12; CRM) + { + Implementation = "Contoso Demo Data Module" = "CRM Module"; + Caption = 'CRM'; + } + value(13; "Bank") + { + Implementation = "Contoso Demo Data Module" = "Bank Module"; + Caption = 'Bank'; + } + value(14; "Inventory") + { + Implementation = "Contoso Demo Data Module" = "Inventory Module"; + Caption = 'Inventory'; + } + value(15; "Purchase") + { + Implementation = "Contoso Demo Data Module" = "Purchase Module"; + Caption = 'Purchase'; + } + value(16; "Sales") + { + Implementation = "Contoso Demo Data Module" = "Sales Module"; + Caption = 'Sales'; + } + value(17; EService) + { + Implementation = "Contoso Demo Data Module" = "EService Module"; + Caption = 'EService'; } } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Table.al index 97a64245de..4c3f7b125b 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Table.al @@ -23,6 +23,14 @@ table 5161 "Contoso Demo Data Module" { Caption = 'Data Level'; } + field(4; Install; Boolean) + { + Caption = 'Install'; + } + field(5; "Is Setup Company"; Boolean) + { + Caption = 'Setup Company'; + } } keys diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al index 41770e7928..b315864a8e 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Codeunit.al @@ -8,10 +8,30 @@ codeunit 5193 "Contoso Demo Tool" SelectedModulesGeneratedErr: Label 'All the selected modules have already been generated.'; LanguageConfirmationMsg: Label 'The demo data will be created with %1, which is different than the language used before (%2). Do you want to continue? \\ The differences in the language could cause issues with the demo data.', Comment = '%1 = Language Name, %2 = Language Name'; + internal procedure CreateNewCompanyDemoData(var ContosoDemoDataModule: Record "Contoso Demo Data Module" temporary; IsSetup: Boolean) + var + ContosoDemoDataLevel: Enum "Contoso Demo Data Level"; + DemoDataModulesList: List of [Enum "Contoso Demo Data Module"]; + begin + InitRecord(); + + if ContosoDemoDataModule.FindSet() then + repeat + if ContosoDemoDataModule.Install then + DemoDataModulesList.Add(ContosoDemoDataModule.Module); + until ContosoDemoDataModule.Next() = 0; + + if IsSetup then + ContosoDemoDataLevel := Enum::"Contoso Demo Data Level"::"Setup Data" + else + ContosoDemoDataLevel := Enum::"Contoso Demo Data Level"::All; + + BuildDependencyAndGenerateDemoData(DemoDataModulesList, ContosoDemoDataLevel); + end; + internal procedure CreateDemoData(var ContosoDemoDataModule: Record "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") var - ContosoModuleDependency: Codeunit "Contoso Module Dependency"; - DemoDataModulesList, SortedModulesList : List of [Enum "Contoso Demo Data Module"]; + DemoDataModulesList: List of [Enum "Contoso Demo Data Module"]; begin if not CheckLanguageBeforeGeneratingDemoData() then exit; @@ -25,6 +45,16 @@ codeunit 5193 "Contoso Demo Tool" if DemoDataModulesList.Count() = 0 then Error(SelectedModulesGeneratedErr); + BuildDependencyAndGenerateDemoData(DemoDataModulesList, ContosoDemoDataLevel); + + UpdateLanguageAfterGeneratingDemoDataForTheFirstRun(); + end; + + local procedure BuildDependencyAndGenerateDemoData(DemoDataModulesList: List of [Enum "Contoso Demo Data Module"]; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + var + ContosoModuleDependency: Codeunit "Contoso Module Dependency"; + SortedModulesList: List of [Enum "Contoso Demo Data Module"]; + begin // Find dependencies and sort modules based on it ContosoModuleDependency.BuildSortedDependencyList(SortedModulesList, DemoDataModulesList); @@ -36,8 +66,64 @@ codeunit 5193 "Contoso Demo Tool" GenerateDemoData(SortedModulesList, Enum::"Contoso Demo Data Level"::"Transactional Data"); GenerateDemoData(SortedModulesList, Enum::"Contoso Demo Data Level"::"Historical Data"); end; + end; - UpdateLanguageAfterGeneratingDemoDataForTheFirstRun(); + internal procedure GetRefreshModules(var ContosoDemoDataModule2: Record "Contoso Demo Data Module") + var + ContosoDemoDataModule: Record "Contoso Demo Data Module"; + begin + RefreshModules(ContosoDemoDataModule); + if ContosoDemoDataModule.FindSet() then + repeat + ContosoDemoDataModule2.TransferFields(ContosoDemoDataModule); + ContosoDemoDataModule2.Insert(); + until ContosoDemoDataModule.Next() = 0; + end; + + internal procedure RefreshModules(var ContosoDemoDataModule: Record "Contoso Demo Data Module") + var + ContosoModuleDependency: codeunit "Contoso Module Dependency"; + ModuleProvider: Interface "Contoso Demo Data Module"; + Dependency, Module : Enum "Contoso Demo Data Module"; + begin + foreach Module in Enum::"Contoso Demo Data Module".Ordinals() do begin + ModuleProvider := Module; + + if not ContosoDemoDataModule.Get(Module) then begin + ContosoDemoDataModule.Init(); + ContosoDemoDataModule.Validate(Name, Format(Module)); + ContosoDemoDataModule.Validate(Module, Module); + ContosoDemoDataModule.Insert(true); + end; + + foreach Dependency in ModuleProvider.GetDependencies() do + ContosoModuleDependency.AddDependency(Module, Dependency); + end; + + FilterModulesWithApplicationAreas(ContosoDemoDataModule); + end; + + internal procedure FilterModulesWithApplicationAreas(var ContosoDemoDataModule: Record "Contoso Demo Data Module") + var + ApplicationAreaMgt: Codeunit "Application Area Mgmt. Facade"; + begin + if not ApplicationAreaMgt.IsServiceEnabled() then + FilterOutModule(ContosoDemoDataModule, Enum::"Contoso Demo Data Module"::"Service Module"); + + if not ApplicationAreaMgt.IsManufacturingEnabled() then + FilterOutModule(ContosoDemoDataModule, Enum::"Contoso Demo Data Module"::"Manufacturing Module"); + end; + + local procedure FilterOutModule(var ContosoDemoDataModule: Record "Contoso Demo Data Module"; Module: Enum "Contoso Demo Data Module") + var + ModuleFilter: Text; + begin + ModuleFilter := ContosoDemoDataModule.GetFilter(Module); + + if ModuleFilter = '' then + ContosoDemoDataModule.SetFilter(Module, '<>%1', Module) + else + ContosoDemoDataModule.SetFilter(Module, ModuleFilter + '&<>%1', Module); end; local procedure GenerateDemoData(SortedModulesList: List of [enum "Contoso Demo Data Module"]; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") @@ -85,28 +171,6 @@ codeunit 5193 "Contoso Demo Tool" exit((ContosoDemoDataModule."Data Level".AsInteger() >= ContosoDemoDataLevel.AsInteger()) or (ContosoDemoDataModule."Data Level" = Enum::"Contoso Demo Data Level"::All)); end; - internal procedure RefreshModules() - var - ContosoDemoDataModule: Record "Contoso Demo Data Module"; - ContosoModuleDependency: codeunit "Contoso Module Dependency"; - ModuleProvider: Interface "Contoso Demo Data Module"; - Dependency, Module : Enum "Contoso Demo Data Module"; - begin - foreach Module in Enum::"Contoso Demo Data Module".Ordinals() do begin - ModuleProvider := Module; - - if not ContosoDemoDataModule.Get(Module) then begin - ContosoDemoDataModule.Init(); - ContosoDemoDataModule.Validate(Name, Format(Module)); - ContosoDemoDataModule.Validate(Module, Module); - ContosoDemoDataModule.Insert(true); - end; - - foreach Dependency in ModuleProvider.GetDependencies() do - ContosoModuleDependency.AddDependency(Module, Dependency); - end; - end; - local procedure CheckLanguageBeforeGeneratingDemoData(): Boolean var ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; @@ -141,7 +205,7 @@ codeunit 5193 "Contoso Demo Tool" var ContosoDemoDataModule: Record "Contoso Demo Data Module"; begin - RefreshModules(); + RefreshModules(ContosoDemoDataModule); if ContosoDemoDataModule.FindSet() then CreateDemoData(ContosoDemoDataModule, Enum::"Contoso Demo Data Level"::All); @@ -151,7 +215,7 @@ codeunit 5193 "Contoso Demo Tool" var ContosoDemoDataModule: Record "Contoso Demo Data Module"; begin - RefreshModules(); + RefreshModules(ContosoDemoDataModule); if ContosoDemoDataModule.FindSet() then CreateDemoData(ContosoDemoDataModule, Enum::"Contoso Demo Data Level"::"Setup Data"); @@ -166,4 +230,39 @@ codeunit 5193 "Contoso Demo Tool" local procedure OnAfterGeneratingDemoData(Module: Enum "Contoso Demo Data Module"; ContosoDemoDataLevel: Enum "Contoso Demo Data Level") begin end; + + [InherentPermissions(PermissionObjectType::TableData, Database::"Contoso Coffee Demo Data Setup", 'I')] + internal procedure InitRecord() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + if ContosoCoffeeDemoDataSetup.Get() then + exit; + + ContosoCoffeeDemoDataSetup.Init(); + ContosoCoffeeDemoDataSetup.Validate("Starting Year", Date2DMY(Today(), 3) - 1); + ContosoCoffeeDemoDataSetup.Insert(); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Data Classification Eval. Data", 'OnCreateEvaluationDataOnAfterClassifyTablesToNormal', '', false, false)] + local procedure OnClassifyTables() + begin + ClassifyTables(); + end; + + local procedure ClassifyTables() + var + DataClassificationMgt: Codeunit "Data Classification Mgt."; + begin + DataClassificationMgt.SetTableFieldsToNormal(Database::"EService Demo Data Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"FA Module Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Human Resources Module Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Jobs Module Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Manufacturing Module Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Service Module Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Warehouse Module Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Contoso Coffee Demo Data Setup"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Contoso Demo Data Module"); + DataClassificationMgt.SetTableFieldsToNormal(Database::"Contoso Module Dependency"); + end; } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Page.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Page.al index f6c10b0e7c..a9fc0cc77e 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Page.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoTool.Page.al @@ -113,34 +113,10 @@ page 5194 "Contoso Demo Tool" ContosoDemoTool: Codeunit "Contoso Demo Tool"; begin FeatureTelemetry.LogUptake('0000KZY', ContosoCoffeeDemoDatasetFeatureNameTok, Enum::"Feature Uptake Status"::Discovered); - ContosoDemoTool.RefreshModules(); - FilterModulesWithApplicationAreas(); + ContosoDemoTool.RefreshModules(Rec); FeatureTelemetry.LogUptake('0000KZZ', ContosoCoffeeDemoDatasetFeatureNameTok, Enum::"Feature Uptake Status"::"Set up"); end; - local procedure FilterModulesWithApplicationAreas() - var - ApplicationAreaMgt: Codeunit "Application Area Mgmt. Facade"; - begin - if not ApplicationAreaMgt.IsServiceEnabled() then - FilterOutModule(Enum::"Contoso Demo Data Module"::"Service Module"); - - if not ApplicationAreaMgt.IsManufacturingEnabled() then - FilterOutModule(Enum::"Contoso Demo Data Module"::"Manufacturing Module"); - end; - - local procedure FilterOutModule(Module: Enum "Contoso Demo Data Module") - var - ModuleFilter: Text; - begin - ModuleFilter := Rec.GetFilter(Module); - - if ModuleFilter = '' then - Rec.SetFilter(Module, '<>%1', Module) - else - Rec.SetFilter(Module, ModuleFilter + '&<>%1', Module); - end; - var FeatureTelemetry: Codeunit "Feature Telemetry"; ContosoCoffeeDemoDatasetFeatureNameTok: Label 'ContosoCoffeeDemoDataset', Locked = true; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoModuleDependency.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoModuleDependency.Codeunit.al index 333000766a..131fd9df0f 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoModuleDependency.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoModuleDependency.Codeunit.al @@ -22,7 +22,7 @@ codeunit 5138 "Contoso Module Dependency" Error(CircularDependencyErr, Name, DependsOn); DemoDataFeatureDependency.Validate(Name, Name); - DemoDataFeatureDependency.Validate(DependsOn, DependsOn); + DemoDataFeatureDependency.DependsOn := DependsOn; DemoDataFeatureDependency.Insert(true); end; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoModulesPart.page.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoModulesPart.page.al new file mode 100644 index 0000000000..24beee8837 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoModulesPart.page.al @@ -0,0 +1,86 @@ +page 5548 "Contoso Modules Part" +{ + PageType = ListPart; + ApplicationArea = All; + UsageCategory = Administration; + SourceTable = "Contoso Demo Data Module"; + SourceTableTemporary = true; + InsertAllowed = false; + DeleteAllowed = false; + Caption = 'Available Modules'; + RefreshOnActivate = true; + + layout + { + area(Content) + { + repeater(General) + { + field(Name; Rec.Name) + { + ApplicationArea = All; + ToolTip = 'Specifies the demo data module name'; + } + field(Install; Rec.Install) + { + ApplicationArea = All; + ToolTip = 'Specifies if the module should be installed when creating new company'; + } + } + } + } + + actions + { + area(Processing) + { + action("Select All") + { + ApplicationArea = All; + Caption = 'Select All'; + Image = AllLines; + InFooterBar = true; + + trigger OnAction() + var + begin + Rec.ModifyAll(Install, true); + end; + } + } + } + + trigger OnOpenPage() + var + ContosoDemoTool: Codeunit "Contoso Demo Tool"; + begin + FeatureTelemetry.LogUptake('0000NFD', ContosoCoffeeDemoDatasetFeatureNameTok, Enum::"Feature Uptake Status"::Discovered); + ContosoDemoTool.GetRefreshModules(Rec); + FeatureTelemetry.LogUptake('0000NFE', ContosoCoffeeDemoDatasetFeatureNameTok, Enum::"Feature Uptake Status"::"Set up"); + end; + + internal procedure GetContosoRecord(var ContosoDemoDataModuleTemp: Record "Contoso Demo Data Module" temporary) + var + begin + if Rec.FindSet() then + repeat + ContosoDemoDataModuleTemp.TransferFields(Rec); + ContosoDemoDataModuleTemp.Insert(); + until Rec.Next() = 0; + end; + + internal procedure SetContosoRecord(var ContosoDemoDataModuleTemp: Record "Contoso Demo Data Module" temporary) + var + begin + if ContosoDemoDataModuleTemp.FindSet() then + repeat + Rec.Get(ContosoDemoDataModuleTemp.Module); + Rec.Install := ContosoDemoDataModuleTemp.Install; + Rec.Modify(); + until ContosoDemoDataModuleTemp.Next() = 0; + end; + + var + FeatureTelemetry: Codeunit "Feature Telemetry"; + ContosoCoffeeDemoDatasetFeatureNameTok: Label 'ContosoCoffeeDemoDataset', Locked = true; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/GenerateContosoDemoData.codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/GenerateContosoDemoData.codeunit.al new file mode 100644 index 0000000000..79334a0c1f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/GenerateContosoDemoData.codeunit.al @@ -0,0 +1,33 @@ +codeunit 5279 "Generate Contoso Demo Data" +{ + TableNo = "Contoso Demo Data Module"; + Access = Internal; + trigger OnRun() + var + JobQueueEntry: Record "Job Queue Entry"; + AssistedCompanySetupStatus: Record "Assisted Company Setup Status"; + JobQueueLogEntry: Record "Job Queue Log Entry"; + begin + // give time to update AssistedCompanySetupStatus with "Session ID" and "Task ID" + Sleep(500); + + if not CODEUNIT.Run(CODEUNIT::"Company Creation Contoso", Rec) then begin + AssistedCompanySetupStatus.Get(CompanyName); + JobQueueEntry.Init(); + JobQueueEntry.ID := AssistedCompanySetupStatus."Task ID"; + JobQueueEntry."User ID" := CopyStr(UserId(), 1, MaxStrLen(JobQueueEntry."User ID")); + JobQueueEntry."Object Type to Run" := JobQueueEntry."Object Type to Run"::Codeunit; + JobQueueEntry."Object ID to Run" := CODEUNIT::"Company Creation Contoso"; + JobQueueEntry.Status := JobQueueEntry.Status::Error; + JobQueueEntry."Error Message" := CopyStr(GetLastErrorText, 1, MaxStrLen(JobQueueEntry."Error Message")); + JobQueueEntry.Description := DescriptionTxt; + JobQueueEntry.InsertLogEntry(JobQueueLogEntry); + JobQueueEntry.FinalizeLogEntry(JobQueueLogEntry); + Commit(); + Error(GetLastErrorText); + end; + end; + + var + DescriptionTxt: Label 'Could not complete the company setup.'; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoEdit.PermissionSet.al b/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoEdit.PermissionSet.al new file mode 100644 index 0000000000..d96a45c897 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoEdit.PermissionSet.al @@ -0,0 +1,25 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +permissionset 4767 "Contoso Demo - Edit" +{ + Access = Public; + Assignable = true; + Caption = 'E-Document Core - Edit'; + + IncludedPermissionSets = "Contoso Demo - Read"; + + Permissions = + tabledata "EService Demo Data Setup" = IM, + tabledata "FA Module Setup" = IM, + tabledata "Human Resources Module Setup" = IM, + tabledata "Jobs Module Setup" = IM, + tabledata "Manufacturing Module Setup" = IM, + tabledata "Service Module Setup" = IM, + tabledata "Warehouse Module Setup" = IM, + tabledata "Contoso Coffee Demo Data Setup" = IM, + tabledata "Contoso Demo Data Module" = IM, + tabledata "Contoso Module Dependency" = IM; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoObjects.PermissionSet.al b/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoObjects.PermissionSet.al new file mode 100644 index 0000000000..84ac56c028 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoObjects.PermissionSet.al @@ -0,0 +1,20 @@ + +permissionset 4768 "Contoso Demo - Objects" +{ + Access = Public; + Assignable = false; + + Permissions = table "EService Demo Data Setup" = X, + table "FA Module Setup" = X, + table "Human Resources Module Setup" = X, + table "Jobs Module Setup" = X, + table "Manufacturing Module Setup" = X, + table "Service Module Setup" = X, + table "Warehouse Module Setup" = X, + table "Contoso Coffee Demo Data Setup" = X, + table "Contoso Demo Data Module" = X, + table "Contoso Module Dependency" = X, + page "Contoso Coffee Demo Data" = X, + page "Contoso Demo Tool" = X, + page "Contoso Modules Part" = X; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoRead.PermissionSet.al b/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoRead.PermissionSet.al new file mode 100644 index 0000000000..61430c2154 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/Permissions/ContosoDemoRead.PermissionSet.al @@ -0,0 +1,25 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +permissionset 4766 "Contoso Demo - Read" +{ + Access = Public; + Assignable = true; + Caption = 'E-Document Core - Edit'; + + IncludedPermissionSets = "Contoso Demo - Objects"; + + Permissions = + tabledata "EService Demo Data Setup" = IM, + tabledata "FA Module Setup" = IM, + tabledata "Human Resources Module Setup" = IM, + tabledata "Jobs Module Setup" = IM, + tabledata "Manufacturing Module Setup" = IM, + tabledata "Service Module Setup" = IM, + tabledata "Warehouse Module Setup" = IM, + tabledata "Contoso Coffee Demo Data Setup" = IM, + tabledata "Contoso Demo Data Module" = IM, + tabledata "Contoso Module Dependency" = IM; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/app.json b/Apps/W1/ContosoCoffeeDemoDataset/app/app.json index 9c79b4776c..6cb56660ca 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/app.json +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/app.json @@ -28,7 +28,7 @@ }, { "from": 5100, - "to": 5300 + "to": 5700 } ], "resourceExposurePolicy": { @@ -36,8 +36,12 @@ "allowDownloadingSource": false, "includeSourceInSymbolFile": false }, + "target": "OnPrem", "features": [ "TranslationFile" ], + "resourceFolders": [ + ".resources" + ], "contextSensitiveHelpUrl": "https://learn.microsoft.com/en-us/dynamics365/business-central/contoso-coffee/contoso-coffee-intro" } \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al index 9f83285be7..052e96ecf8 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/test/src/DemoToolDependencyTest.Codeunit.al @@ -9,12 +9,13 @@ codeunit 148048 "DemoTool Dependency Test" [Test] procedure TestDependenciesAreCorrectlyGenerated() var + ContosoDemoDataModule: Record "Contoso Demo Data Module"; ContosoModuleDependency: Codeunit "Contoso Module Dependency"; ContosoDemoTool: Codeunit "Contoso Demo Tool"; DemoDataModulesList, SortedModulesList : List of [Enum "Contoso Demo Data Module"]; begin // [SCENARIO] There are 3 modules in the list, testing the dependency order. - ContosoDemoTool.RefreshModules(); + ContosoDemoTool.RefreshModules(ContosoDemoDataModule); // [GIVEN] The "Contoso Test 1" module is taken dependencies on by the other 2 modules. DemoDataModulesList.Add(Enum::"Contoso Demo Data Module"::"Contoso Test 3"); @@ -34,11 +35,12 @@ codeunit 148048 "DemoTool Dependency Test" [Test] procedure TestCircularDependency() var + ContosoDemoDataModule: Record "Contoso Demo Data Module"; ContosoModuleDependency: Codeunit "Contoso Module Dependency"; ContosoDemoTool: Codeunit "Contoso Demo Tool"; begin // [SCENARIO] There are 3 modules in the list (dependency is defined in the implementations), testing the circular dependency. - ContosoDemoTool.RefreshModules(); + ContosoDemoTool.RefreshModules(ContosoDemoDataModule); // [GIVEN] Faking a circular dependency asserterror ContosoModuleDependency.AddDependency(Enum::"Contoso Demo Data Module"::"Contoso Test 1", Enum::"Contoso Demo Data Module"::"Contoso Test 2"); diff --git a/Apps/W1/DynamicsSLHistoricalData/app/ExtensionLogo.png b/Apps/W1/DynamicsSLHistoricalData/app/ExtensionLogo.png new file mode 100644 index 0000000000..5dc7f8c287 Binary files /dev/null and b/Apps/W1/DynamicsSLHistoricalData/app/ExtensionLogo.png differ diff --git a/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLD365BasicExt.PermissionSetExt.al b/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLD365BasicExt.PermissionSetExt.al new file mode 100644 index 0000000000..84d512ef46 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLD365BasicExt.PermissionSetExt.al @@ -0,0 +1,35 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using System.Security.AccessControl; + +permissionsetextension 42800 "SL D365 Basic Ext." extends "D365 BASIC" +{ + Permissions = tabledata "SL Hist. APAdjust" = R, + tabledata "SL Hist. APDoc" = R, + tabledata "SL Hist. APTran" = R, + tabledata "SL Hist. ARAdjust" = R, + tabledata "SL Hist. ARDoc" = R, + tabledata "SL Hist. ARTran" = R, + tabledata "SL Hist. Batch" = R, + tabledata "SL Hist. GLTran" = R, + tabledata "SL Hist. INTran" = R, + tabledata "SL Hist. LotSerT" = R, + tabledata "SL Hist. Migration Cur. Status" = R, + tabledata "SL Hist. Migration Step Status" = R, + tabledata "SL Hist. POReceipt" = R, + tabledata "SL Hist. POTran" = R, + tabledata "SL Hist. PurchOrd" = R, + tabledata "SL Hist. PurOrdDet" = R, + tabledata "SL Hist. SOHeader" = R, + tabledata "SL Hist. SOLine" = R, + tabledata "SL Hist. SOShipHeader" = R, + tabledata "SL Hist. SOShipLine" = R, + tabledata "SL Hist. SOShipLot" = R, + tabledata "SL Hist. SOType" = R; + +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLD365FullAccessExt.PermissionSetExt.al b/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLD365FullAccessExt.PermissionSetExt.al new file mode 100644 index 0000000000..941672dca2 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLD365FullAccessExt.PermissionSetExt.al @@ -0,0 +1,34 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using System.Security.AccessControl; + +permissionsetextension 42801 "SL D365 Full Access Ext." extends "D365 FULL ACCESS" +{ + Permissions = tabledata "SL Hist. APAdjust" = RIMD, + tabledata "SL Hist. APDoc" = RIMD, + tabledata "SL Hist. APTran" = RIMD, + tabledata "SL Hist. ARAdjust" = RIMD, + tabledata "SL Hist. ARDoc" = RIMD, + tabledata "SL Hist. ARTran" = RIMD, + tabledata "SL Hist. Batch" = RIMD, + tabledata "SL Hist. GLTran" = RIMD, + tabledata "SL Hist. INTran" = RIMD, + tabledata "SL Hist. LotSerT" = RIMD, + tabledata "SL Hist. Migration Cur. Status" = RIMD, + tabledata "SL Hist. Migration Step Status" = RIMD, + tabledata "SL Hist. POReceipt" = RIMD, + tabledata "SL Hist. POTran" = RIMD, + tabledata "SL Hist. PurchOrd" = RIMD, + tabledata "SL Hist. PurOrdDet" = RIMD, + tabledata "SL Hist. SOHeader" = RIMD, + tabledata "SL Hist. SOLine" = RIMD, + tabledata "SL Hist. SOShipHeader" = RIMD, + tabledata "SL Hist. SOShipLine" = RIMD, + tabledata "SL Hist. SOShipLot" = RIMD, + tabledata "SL Hist. SOType" = RIMD; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLHistoricalQuerys.permissionset.al b/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLHistoricalQuerys.permissionset.al new file mode 100644 index 0000000000..3df7e7ce40 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/Permissions/SLHistoricalQuerys.permissionset.al @@ -0,0 +1,75 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +permissionset 42801 "SL Historical Querys" +{ + Assignable = true; + Access = Public; + Caption = 'SL Historical Transactions'; + + Permissions = query "SL Hist. Shippers" = X, + query "SL Hist. APTransactions" = X, + query "SL Hist. ARTransactions" = X, + query "SL Hist. Batch" = X, + query "SL Hist. GLTransactions" = X, + query "SL Hist. InventoryTransactions" = X, + query "SL Hist. OpenARDocuments" = X, + query "SL Hist. APDocuments" = X, + query "SL Hist. ARDocuments" = X, + query "SL Hist. POReceiptDocuments" = X, + query "SL Hist. ARInvoiceDocuments" = X, + query "SL Hist. SalesOrders" = X, + query "SL Hist. SalesOrderQuotes" = X, + query "SL Hist. SalesOrderReturns" = X, + query "SL Hist. SalesOrderLineItems" = X, + query "SL Hist. ShipperLineItems" = X, + query "SL Hist. POReceiptLineItems" = X, + tabledata "SL Hist. APAdjust" = RIMD, + tabledata "SL Hist. APDoc" = RIMD, + tabledata "SL Hist. APTran" = RIMD, + tabledata "SL Hist. ARAdjust" = RIMD, + tabledata "SL Hist. ARDoc" = RIMD, + tabledata "SL Hist. ARTran" = RIMD, + tabledata "SL Hist. Batch" = RIMD, + tabledata "SL Hist. GLTran" = RIMD, + tabledata "SL Hist. INTran" = RIMD, + tabledata "SL Hist. LotSerT" = RIMD, + tabledata "SL Hist. Migration Cur. Status" = RIMD, + tabledata "SL Hist. Migration Step Status" = RIMD, + tabledata "SL Hist. POReceipt" = RIMD, + tabledata "SL Hist. POTran" = RIMD, + tabledata "SL Hist. PurchOrd" = RIMD, + tabledata "SL Hist. PurOrdDet" = RIMD, + tabledata "SL Hist. SOHeader" = RIMD, + tabledata "SL Hist. SOLine" = RIMD, + tabledata "SL Hist. SOShipHeader" = RIMD, + tabledata "SL Hist. SOShipLine" = RIMD, + tabledata "SL Hist. SOShipLot" = RIMD, + tabledata "SL Hist. SOType" = RIMD, + table "SL Hist. APAdjust" = X, + table "SL Hist. APDoc" = X, + table "SL Hist. APTran" = X, + table "SL Hist. ARAdjust" = X, + table "SL Hist. ARDoc" = X, + table "SL Hist. ARTran" = X, + table "SL Hist. Batch" = X, + table "SL Hist. GLTran" = X, + table "SL Hist. INTran" = X, + table "SL Hist. LotSerT" = X, + table "SL Hist. Migration Cur. Status" = X, + table "SL Hist. Migration Step Status" = X, + table "SL Hist. POReceipt" = X, + table "SL Hist. POTran" = X, + table "SL Hist. PurchOrd" = X, + table "SL Hist. PurOrdDet" = X, + table "SL Hist. SOHeader" = X, + table "SL Hist. SOLine" = X, + table "SL Hist. SOShipHeader" = X, + table "SL Hist. SOShipLine" = X, + table "SL Hist. SOShipLot" = X, + table "SL Hist. SOType" = X; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/app.json b/Apps/W1/DynamicsSLHistoricalData/app/app.json new file mode 100644 index 0000000000..87b194979c --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/app.json @@ -0,0 +1,43 @@ +{ + "id": "4f3fe3fd-bdc4-4371-8579-d53820b93575", + "name": "Dynamics SL Historical Data", + "publisher": "Microsoft", + "version": "26.0.0.0", + "brief": "This extension adds the necessary components to retain historical Dynamics SL data after the cloud migration. Only uninstall this extension if the historical data is no longer needed.", + "description": "This extension adds the necessary components to retain historical Dynamics SL data after the cloud migration. Only uninstall this extension if the historical data is no longer needed.", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?linkid=2009037", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2285106", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + + "screenshots": [], + "platform": "26.0.0.0", + "application": "26.0.0.0", + "dependencies": [ + { + "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", + "publisher": "Microsoft", + "name": "Intelligent Cloud Base", + "version": "26.0.0.0" + } + ], + "idRanges": [ + { + "from": 42800, + "to": 42999 + } + ], + "resourceExposurePolicy": { + "allowDebugging": true, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "target": "Cloud", + "features": [ + "TranslationFile", + "NoImplicitWith" + ], + "runtime": "14.0" +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Codeunits/SLHistMigrationStatusMgmt.Codeunit.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Codeunits/SLHistMigrationStatusMgmt.Codeunit.al new file mode 100644 index 0000000000..83a00c1215 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Codeunits/SLHistMigrationStatusMgmt.Codeunit.al @@ -0,0 +1,210 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +codeunit 42800 "SL Hist. Migration Status Mgmt" +{ + local procedure GetDeleteBatchSize(): Integer + begin + exit(500000); + end; + + procedure UpdateStepStatus(StepType: enum "SL Hist. Migration Step Type"; Completed: Boolean) + var + SLHistMigrationStepStatus: Record "SL Hist. Migration Step Status"; + SLHistMigrationCurStatus: Record "SL Hist. Migration Cur. Status"; + begin + SLHistMigrationStepStatus.SetRange(Step, StepType); + SLHistMigrationStepStatus.SetRange(Completed, false); + + // Step status + if not SLHistMigrationStepStatus.FindLast() then begin + SLHistMigrationStepStatus.Step := StepType; + SLHistMigrationStepStatus."Start Date" := System.CurrentDateTime(); + SLHistMigrationStepStatus.Insert(); + end; + + if Completed then begin + SLHistMigrationStepStatus."End Date" := System.CurrentDateTime(); + SLHistMigrationStepStatus.Completed := true; + SLHistMigrationStepStatus.Modify(); + end; + + // Current status + if SLHistMigrationCurStatus.GetCurrentStep() <> StepType then + SLHistMigrationCurStatus.SetCurrentStep(StepType); + end; + + procedure SetStatusStarted() + begin + UpdateStepStatus("SL Hist. Migration Step Type"::Started, false); + end; + + procedure SetStatusFinished() + var + SLHistMigrationStepStatus: Record "SL Hist. Migration Step Status"; + SLHistMigrationCurStatus: Record "SL Hist. Migration Cur. Status"; + StartedDate: DateTime; + begin + // Status log + SLHistMigrationStepStatus.SetRange(Step, "SL Hist. Migration Step Type"::Started); + if SLHistMigrationStepStatus.FindLast() then begin + StartedDate := SLHistMigrationStepStatus."Start Date"; + + SLHistMigrationStepStatus.Completed := true; + SLHistMigrationStepStatus."End Date" := System.CurrentDateTime(); + SLHistMigrationStepStatus.Modify(); + end else + StartedDate := System.CurrentDateTime(); + + Clear(SLHistMigrationStepStatus); + SLHistMigrationStepStatus.Step := "SL Hist. Migration Step Type"::Finished; + SLHistMigrationStepStatus."Start Date" := StartedDate; + SLHistMigrationStepStatus."End Date" := System.CurrentDateTime(); + SLHistMigrationStepStatus.Completed := true; + SLHistMigrationStepStatus.Insert(); + + // Current status + SLHistMigrationCurStatus.SetCurrentStep("SL Hist. Migration Step Type"::Finished); + end; + + procedure GetCurrentStatus(): enum "SL Hist. Migration Step Type"; + var + HistMigrationCurStatus: Record "SL Hist. Migration Cur. Status"; + begin + exit(HistMigrationCurStatus.GetCurrentStep()); + end; + + procedure ResetAll() + var + SLHistMigrationCurStatus: Record "SL Hist. Migration Cur. Status"; + SLHistAPAdjust: Record "SL Hist. APAdjust"; + SLHistAPDoc: Record "SL Hist. APDoc"; + SLHistAPTran: Record "SL Hist. APTran"; + SLHistARAdjust: Record "SL Hist. ARAdjust"; + SLHistARDoc: Record "SL Hist. ARDoc"; + SLHistARTran: Record "SL Hist. ARTran"; + SLHistBatch: Record "SL Hist. Batch"; + SLHistGLTran: Record "SL Hist. GLTran"; + SLHistINTran: Record "SL Hist. INTran"; + SLHistLotSerT: Record "SL Hist. LotSerT"; + SLHistPOReceipt: Record "SL Hist. POReceipt"; + SLHistPOTran: Record "SL Hist. POTran"; + SLHistPurchOrd: Record "SL Hist. PurchOrd"; + SLHistPurOrdDet: Record "SL Hist. PurOrdDet"; + SLHistSOHeader: Record "SL Hist. SOHeader"; + SLHistSOLine: Record "SL Hist. SOLine"; + SLHistSOShipHeader: Record "SL Hist. SOShipHeader"; + SLHistSOShipLine: Record "SL Hist. SOShipLine"; + SLHistSOShipLot: Record "SL Hist. SOSHipLot"; + SLHistSOType: Record "SL Hist. SOType"; + begin + UpdateStepStatus("SL Hist. Migration Step Type"::"Resetting Data", false); + + if not SLHistSOType.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. SOType", SLHistSOType.FieldNo(SLHistSOType.CpnyID)); + + if not SLHistSOShipLot.IsEmpty then + BatchDeleteAll(Database::"SL Hist. SOShipLot", SLHistSOShipLot.FieldNo(SLHistSOShipLot.CpnyID)); + + if not SLHistSOShipLine.IsEmpty then + BatchDeleteAll(Database::"SL Hist. SOShipLine", SLHistSOShipLine.FieldNo(SLHistSOShipLine.CpnyID)); + + if not SLHistSOShipHeader.IsEmpty then + BatchDeleteAll(Database::"SL Hist. SOShipHeader", SLHistSOShipHeader.FieldNo(SLHistSOShipHeader.CpnyID)); + + if not SLHistSOLine.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. SOLine", SLHistSOLine.FieldNo(SLHistSOLine.CpnyID)); + + if not SLHistSOHeader.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. SOHeader", SLHistSOHeader.FieldNo(SLHistSOHeader.CpnyID)); + + if not SLHistPurOrdDet.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. PurOrdDet", SLHistPurOrdDet.FieldNo(SLHistPurOrdDet.CpnyID)); + + if not SLHistPurchOrd.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. PurchOrd", SLHistPurchOrd.FieldNo(SLHistPurchOrd.CpnyID)); + + if not SLHistPOTran.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. POTran", SLHistPOTran.FieldNo(SLHistPOTran.RcptNbr)); + + if not SLHistPOReceipt.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. POReceipt", SLHistPOReceipt.FieldNo(SLHistPOReceipt.RcptNbr)); + + if not SLHistLotSerT.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. LotSerT", SLHistLotSerT.FieldNo(SLHistLotSerT.LotSerNbr)); + + if not SLHistINTran.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. INTran", SLHistINTran.FieldNo(SLHistINTran.InvtID)); + + if not SLHistGLTran.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. GLTran", SLHistGLTran.FieldNo(SLHistGLTran.Module)); + + if not SLHistBatch.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. Batch", SLHistBatch.FieldNo(SLHistBatch.Module)); + + if not SLHistARTran.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. ARTran", SLHistARTran.FieldNo(SLHistARTran.CustId)); + + if not SLHistARDoc.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. ARDoc", SLHistARDoc.FieldNo(SLHistARDoc.CustId)); + + if not SLHistARAdjust.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. ARAdjust", SLHistARAdjust.FieldNo(SLHistARAdjust.AdjdRefNbr)); + + if not SLHistAPTran.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. APTran", SLHistAPTran.FieldNo(SLHistAPTran.BatNbr)); + + if not SLHistAPDoc.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. APDoc", SLHistAPDoc.FieldNo(SLHistAPDoc.Acct)); + + if not SLHistAPAdjust.IsEmpty() then + BatchDeleteAll(Database::"SL Hist. APAdjust", SLHistAPAdjust.FieldNo(SLHistAPAdjust.AdjdRefNbr)); + + UpdateStepStatus("SL Hist. Migration Step Type"::"Resetting Data", true); + + SLHistMigrationCurStatus.DeleteAll(); + SLHistMigrationCurStatus.EnsureInit(); + end; + + procedure BatchDeleteAll(TableId: Integer; KeyFieldId: Integer) + var + TableRecordRef: RecordRef; + EntryNoFieldRef: FieldRef; + RangeStart: Integer; + RangeEnd: Integer; + StartingRecordCount: Integer; + DeleteBatchSize: integer; + IsHandled: Boolean; + OverrideBatchDeleteSize: Integer; + begin + DeleteBatchSize := GetDeleteBatchSize(); + + OnBeforeBatchDeleteAll(IsHandled, OverrideBatchDeleteSize); + if IsHandled then + DeleteBatchSize := OverrideBatchDeleteSize; + + TableRecordRef.Open(TableId); + StartingRecordCount := TableRecordRef.Count(); + EntryNoFieldRef := TableRecordRef.Field(KeyFieldId); + + RangeStart := 1; + RangeEnd := DeleteBatchSize; + while RangeStart < StartingRecordCount do begin + EntryNoFieldRef.SetRange(RangeStart, RangeEnd); + TableRecordRef.DeleteAll(); + Commit(); + + RangeStart := RangeStart + DeleteBatchSize; + RangeEnd := RangeEnd + DeleteBatchSize; + end; + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeBatchDeleteAll(var IsHandled: Boolean; var OverrideBatchDeleteSize: Integer) + begin + end; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Enums/SLHistMigrationStepType.Enum.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Enums/SLHistMigrationStepType.Enum.al new file mode 100644 index 0000000000..8535930cbd --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Enums/SLHistMigrationStepType.Enum.al @@ -0,0 +1,20 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +enum 42800 "SL Hist. Migration Step Type" +{ + value(0; "Not Started") { Caption = 'Not Started'; } + value(1; "Started") { Caption = 'Started'; } + value(2; "SL GL Accounts") { Caption = 'SL G/L Accounts'; } + value(3; "SL GL Journal Trx.") { Caption = 'SL G/L Journal Trx.'; } + value(4; "SL Receivables Trx.") { Caption = 'SL Receivables Trx.'; } + value(5; "SL Payables Trx.") { Caption = 'SL Payables Trx.'; } + value(6; "SL Inventory Trx.") { Caption = 'SL Inventory Trx.'; } + value(7; "SL Purchase Receivables Trx.") { Caption = 'SL Purchase Receivables Trx.'; } + value(98; "Resetting Data") { Caption = 'Resetting Historical Data'; } + value(99; Finished) { Caption = 'Finished'; } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistAPDocuments.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistAPDocuments.Query.al new file mode 100644 index 0000000000..c7e9c69740 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistAPDocuments.Query.al @@ -0,0 +1,97 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Purchases.Vendor; + +query 42803 "SL Hist. APDocuments" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Vendor List'; + Caption = 'Dynamics SL Accounts Payable Documents'; + elements + { + dataitem(SL_APDocHist; "SL Hist. APDoc") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(RefNbr; RefNbr) + { + Caption = 'Reference Number'; + } + column(VendId; VendId) + { + Caption = 'Vendor ID'; + } + dataitem(BCVendor; Vendor) + { + DataItemLink = "No." = SL_APDocHist.VendId; + SqlJoinType = LeftOuterJoin; + column(VendName; Name) + { + Caption = 'Vendor Name'; + } + } + column(DocType; DocType) + { + Caption = 'Document Type'; + ColumnFilter = DocType = filter(<> 'VT'); + } + column(DocDate; DocDate) + { + Caption = 'Document Date'; + } + column(PONbr; PONbr) + { + Caption = 'PO Number'; + } + column(InvcNbr; InvcNbr) + { + Caption = 'Invoice Number'; + } + column(InvcDate; InvcDate) + { + Caption = 'Invoice Date'; + } + column(DiscDate; DiscDate) + { + Caption = 'Discount Date'; + } + column(DueDate; DueDate) + { + Caption = 'Due Date'; + } + column(PayDate; PayDate) + { + Caption = 'Pay Date'; + } + column(OrigDocAmt; OrigDocAmt) + { + Caption = 'Original Document Amount'; + } + column(DocBal; DocBal) + { + Caption = 'Document Balance'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistAPTransactions.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistAPTransactions.Query.al new file mode 100644 index 0000000000..98466c57a0 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistAPTransactions.Query.al @@ -0,0 +1,100 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Purchases.Vendor; + +query 42814 "SL Hist. APTransactions" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Vendor List'; + Caption = 'Dynamics SL Accounts Payable Transactions'; + elements + { + dataitem(SLAPTranHist; "SL Hist. APTran") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(Acct; Acct) + { + Caption = 'Account'; + } + column(Sub; Sub) + { + Caption = 'Sub Account'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(RefNbr; RefNbr) + { + Caption = 'Reference Number'; + } + column(VendId; VendId) + { + Caption = 'Vendor Number'; + } + dataitem(BCVendor; Vendor) + { + DataItemLink = "No." = SLAPTranHist.VendId; + SqlJoinType = LeftOuterJoin; + column(Name; Name) + { + Caption = 'Vendor Name'; + } + } + column(TranAmt; TranAmt) + { + Caption = 'Transaction Amount'; + } + column(TranDesc; TranDesc) + { + Caption = 'Transaction Description'; + } + column(TranDate; TranDate) + { + Caption = 'Transaction Date'; + } + column(TranType; TranType) + { + Caption = 'Transaction Type'; + } + column(DrCr; DrCr) + { + Caption = 'Debit/Credit'; + } + column(Qty; Qty) + { + Caption = 'Qty'; + } + column(UnitPrice; UnitPrice) + { + Caption = 'Unit Price'; + } + column(ProjectID; ProjectID) + { + Caption = 'Project'; + } + column(TaskID; TaskID) + { + Caption = 'Task'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARDocuments.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARDocuments.Query.al new file mode 100644 index 0000000000..24ebf65486 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARDocuments.Query.al @@ -0,0 +1,76 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Sales.Customer; + +query 42804 "SL Hist. ARDocuments" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Customer List'; + Caption = 'Dynamics SL Accounts Receivable Documents'; + elements + { + dataitem(SL_ARDocHist; "SL Hist. ARDoc") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(RefNbr; RefNbr) + { + Caption = 'Reference Number'; + } + column(CustId; CustId) + { + Caption = 'Customer Number'; + } + dataitem(BCCustomer; Customer) + { + DataItemLink = "No." = SL_ARDocHist.CustId; + SqlJoinType = LeftOuterJoin; + column(Name; Name) + { + Caption = 'Customer Name'; + } + } + column(OrigDocAmt; OrigDocAmt) + { + Caption = 'Original Document Amount'; + } + column(DocBal; DocBal) + { + Caption = 'Document Balance'; + } + column(DocType; DocType) + { + Caption = 'Document Type'; + } + column(DocDesc; DocDesc) + { + Caption = 'Document Description'; + } + column(DocDate; DocDate) + { + Caption = 'Document Date'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARInvoiceDocuments.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARInvoiceDocuments.Query.al new file mode 100644 index 0000000000..74aa422b89 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARInvoiceDocuments.Query.al @@ -0,0 +1,91 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Sales.Customer; + +query 42807 "SL Hist. ARInvoiceDocuments" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Customer List'; + Caption = 'Dynamics SL AR Invoice Documents'; + elements + { + dataitem(SL_ARDocHist; "SL Hist. ARDoc") + { + DataItemTableFilter = Crtd_Prog = const('40690'); + + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(RefNbr; RefNbr) + { + Caption = 'Invoice Number'; + } + column(OrdNbr; OrdNbr) + { + Caption = 'Sales Order Number'; + } + column(CustId; CustId) + { + Caption = 'Customer Number'; + } + dataitem(BCCustomer; Customer) + { + DataItemLink = "No." = SL_ARDocHist.CustID; + SqlJoinType = LeftOuterJoin; + column(CustName; Name) + { + Caption = 'Customer Name'; + } + } + column(DocType; DocType) + { + Caption = 'Document Type'; + ColumnFilter = DocType = const('IN'); + } + column(DocDesc; DocDesc) + { + Caption = 'Document Description'; + } + column(OrigDocAmt; OrigDocAmt) + { + Caption = 'Original Document Amount'; + } + column(DocBal; DocBal) + { + Caption = 'Document Balance'; + } + column(DocDate; DocDate) + { + Caption = 'Document Date'; + } + column(DueDate; DueDate) + { + Caption = 'Due Date'; + } + column(SlsperId; SlsperId) + { + Caption = 'Salesperson ID'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARTransactions.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARTransactions.Query.al new file mode 100644 index 0000000000..d6a3e9badb --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistARTransactions.Query.al @@ -0,0 +1,100 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Sales.Customer; + +query 42813 "SL Hist. ARTransactions" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Customer List'; + Caption = 'Dynamics SL Accounts Receivable Transactions'; + elements + { + dataitem(SLARTranHist; "SL Hist. ARTran") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(Acct; Acct) + { + Caption = 'Account'; + } + column(Sub; Sub) + { + Caption = 'Sub Account'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(RefNbr; RefNbr) + { + Caption = 'Reference Number'; + } + column(CustId; CustId) + { + Caption = 'Customer Number'; + } + dataitem(BCCustomer; Customer) + { + DataItemLink = "No." = SLARTranHist.CustId; + SqlJoinType = LeftOuterJoin; + column(Name; Name) + { + Caption = 'Customer Name'; + } + } + column(TranAmt; TranAmt) + { + Caption = 'Transaction Amount'; + } + column(TranDesc; TranDesc) + { + Caption = 'Transaction Description'; + } + column(TranDate; TranDate) + { + Caption = 'Transaction Date'; + } + column(TranType; TranType) + { + Caption = 'Transaction Type'; + } + column(DrCr; DrCr) + { + Caption = 'Debit/Credit'; + } + column(Qty; Qty) + { + Caption = 'Qty'; + } + column(UnitPrice; UnitPrice) + { + Caption = 'Unit Price'; + } + column(ProjectID; ProjectID) + { + Caption = 'Project'; + } + column(TaskID; TaskID) + { + Caption = 'Task'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistBatch.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistBatch.Query.al new file mode 100644 index 0000000000..10c62a14d4 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistBatch.Query.al @@ -0,0 +1,85 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42816 "SL Hist. Batch" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Chart of Accounts'; + Caption = 'Dynamics SL Batches'; + elements + { + dataitem(SLBatchHist; "SL Hist. Batch") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(Acct; Acct) + { + Caption = 'Account'; + } + column(Sub; Sub) + { + Caption = 'Sub Account'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(JrnlType; JrnlType) + { + Caption = 'Journal Type'; + } + column(LedgerID; LedgerID) + { + Caption = 'Ledger ID'; + } + column(Descr; Descr) + { + Caption = 'Description'; + } + column(BalanceType; BalanceType) + { + Caption = 'BalanceType'; + } + column(Module; Module) + { + Caption = 'Module'; + } + column(PerEnt; PerEnt) + { + Caption = 'Period Entered'; + } + column(PerPost; PerPost) + { + Caption = 'Period Post'; + } + column(Status; Status) + { + Caption = 'Status'; + } + column(CrTot; CrTot) + { + Caption = 'Credit Total'; + } + column(DrTot; DrTot) + { + Caption = 'Debit Total'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistGLTransactions.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistGLTransactions.Query.al new file mode 100644 index 0000000000..e3c4cd3297 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistGLTransactions.Query.al @@ -0,0 +1,109 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42815 "SL Hist. GLTransactions" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Chart of Accounts'; + Caption = 'Dynamics SL General Ledger Transactions'; + elements + { + dataitem(SLGLTranHist; "SL Hist. GLTran") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(Acct; Acct) + { + Caption = 'Account'; + } + column(Sub; Sub) + { + Caption = 'Sub Account'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(FiscYr; FiscYr) + { + Caption = 'Fiscal Year'; + } + column(RefNbr; RefNbr) + { + Caption = 'Reference Number'; + } + column(JrnlType; JrnlType) + { + Caption = 'Journal Type'; + } + column(LedgerID; LedgerID) + { + Caption = 'Ledger ID'; + } + column(PerEnt; PerEnt) + { + Caption = 'Period Entered'; + } + column(PerPost; PerPost) + { + Caption = 'Period Post'; + } + column(CrAmt; CrAmt) + { + Caption = 'Credit Amount'; + } + column(DrAmt; DrAmt) + { + Caption = 'Debit Amount'; + } + column(BalanceType; BalanceType) + { + Caption = 'BalanceType'; + } + column(Module; Module) + { + Caption = 'Module'; + } + column(TranDesc; TranDesc) + { + Caption = 'Transaction Description'; + } + column(TranDate; TranDate) + { + Caption = 'Transaction Date'; + } + column(TranType; TranType) + { + Caption = 'Transaction Type'; + } + column(Qty; Qty) + { + Caption = 'Qty'; + } + column(ProjectID; ProjectID) + { + Caption = 'Project'; + } + column(TaskID; TaskID) + { + Caption = 'Task'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistInventoryTransactions.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistInventoryTransactions.Query.al new file mode 100644 index 0000000000..b6088cb0d1 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistInventoryTransactions.Query.al @@ -0,0 +1,116 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Inventory.Item; + +query 42801 "SL Hist. InventoryTransactions" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Item List'; + Caption = 'Dynamics SL Inventory Transactions'; + elements + { + dataitem(SL_INTransactionsAmountsHist; "SL Hist. INTran") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(LineRef; LineRef) + { + Caption = 'Line Reference Number'; + } + column(RefNbr; Refnbr) + { + Caption = 'Reference Number'; + } + column(TranType; TranType) + { + Caption = 'Transaction Type'; + } + column(JrnlType; JrnlType) + { + Caption = 'Journal Type'; + } + column(InvtID; InvtID) + { + Caption = 'Item Number'; + } + dataitem(BCItem; Item) + { + DataItemLink = "No." = SL_INTransactionsAmountsHist.InvtID; + SqlJoinType = LeftOuterJoin; + column(Description; Description) + { + Caption = 'Description'; + } + } + column(SiteID; SiteID) + { + Caption = 'Location'; + } + column(WhseLoc; WhseLoc) + { + Caption = 'Bin'; + } + column(SpecificCostID; SpecificCostID) + { + Caption = 'Specific Cost ID'; + } + column(RcptNbr; RcptNbr) + { + Caption = 'Receipt Number'; + } + column(RcptDate; RcptDate) + { + Caption = 'Receipt Date'; + } + column(TranDate; TranDate) + { + Caption = 'Transaction Date'; + } + column(Qty; Qty) + { + Caption = 'Quantity'; + } + column(UnitDesc; UnitDesc) + { + Caption = 'Unit of Measure'; + } + column(UnitCost; UnitCost) + { + Caption = 'Unit Cost'; + } + column(UnitPrice; UnitPrice) + { + Caption = 'Unit Price'; + } + column(ExtCost; ExtCost) + { + Caption = 'Extended Cost'; + } + column(TranAmt; TranAmt) + { + Caption = 'Extended Price'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistOpenARDocuments.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistOpenARDocuments.Query.al new file mode 100644 index 0000000000..c087ec9964 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistOpenARDocuments.Query.al @@ -0,0 +1,77 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Sales.Customer; + +query 42802 "SL Hist. OpenARDocuments" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Customer List'; + Caption = 'Dynamics SL Open Accounts Receivable Documents'; + elements + { + dataitem(SL_ARDocHist; "SL Hist. ARDoc") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(RefNbr; RefNbr) + { + Caption = 'Reference Number'; + } + column(CustId; CustId) + { + Caption = 'Customer Number'; + } + dataitem(BCCustomer; Customer) + { + DataItemLink = "No." = SL_ARDocHist.CustId; + SqlJoinType = LeftOuterJoin; + column(Name; Name) + { + Caption = 'Customer Name'; + } + } + column(OrigDocAmt; OrigDocAmt) + { + Caption = 'Original Document Amount'; + } + column(DocBal; DocBal) + { + Caption = 'Document Balance'; + ColumnFilter = DocBal = filter(<> 0); + } + column(DocType; DocType) + { + Caption = 'Document Type'; + } + column(DocDesc; DocDesc) + { + Caption = 'Document Description'; + } + column(DocDate; DocDate) + { + Caption = 'Document Date'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistPOReceiptDocuments.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistPOReceiptDocuments.Query.al new file mode 100644 index 0000000000..cfc37f2603 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistPOReceiptDocuments.Query.al @@ -0,0 +1,85 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42806 "SL Hist. POReceiptDocuments" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Vendor List', 'Purchase Order List'; + Caption = 'Dynamics SL Purchase Order Receipt Documents'; + elements + { + dataitem(SL_POReceiptHist; "SL Hist. POReceipt") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(PONbr; PONbr) + { + Caption = 'PO Number'; + } + column(RcptType; RcptType) + { + Caption = 'Receipt/Return'; + } + column(RcptNbr; RcptNbr) + { + Caption = 'Receipt Number'; + } + column(RcptDate; RcptDate) + { + Caption = 'Receipt Date'; + } + column(Status; Status) + { + Caption = 'Receipt Status'; + } + column(VendID; VendID) + { + Caption = 'Vendor ID'; + } + column(VouchStage; VouchStage) + { + Caption = 'Vouchered Stage'; + } + column(APRefno; APRefno) + { + Caption = 'AP Reference Number'; + } + column(RcptQty; RcptQty) + { + Caption = 'Receipt Quantity'; + } + column(RcptQtyTot; RcptQtyTot) + { + Caption = 'Quantity Total'; + } + column(RcptAmt; RcptAmt) + { + Caption = 'Receipt Amount'; + } + column(RcptAmtTot; RcptAmtTot) + { + Caption = 'Amount Total'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistPOReceiptLineItems.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistPOReceiptLineItems.Query.al new file mode 100644 index 0000000000..e32235a0b3 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistPOReceiptLineItems.Query.al @@ -0,0 +1,112 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Inventory.Item; + +query 42805 "SL Hist. POReceiptLineItems" +{ + QueryType = Normal; + OrderBy = ascending(BatNbr); + QueryCategory = 'Vendor List', 'Purchase Order List'; + Caption = 'Dynamics SL Purchase Order Receipt Line Items'; + elements + { + dataitem(SL_POTranHist; "SL Hist. POTran") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(BatNbr; BatNbr) + { + Caption = 'Batch Number'; + } + column(TranType; TranType) + { + Caption = 'Receipt/Return'; + } + column(RcptNbr; RcptNbr) + { + Caption = 'Receipt Number'; + } + column(RcptDate; RcptDate) + { + Caption = 'Receipt Date'; + } + column(PONbr; PONbr) + { + Caption = 'PO Number'; + } + column(VendId; VendId) + { + Caption = 'Vendor ID'; + } + column(LineRef; LineRef) + { + Caption = 'Line Reference Number'; + } + column(PurchaseType; PurchaseType) + { + Caption = 'Purchase Type'; + } + column(InvtID; InvtID) + { + Caption = 'Item Number'; + } + dataitem(BCItem; Item) + { + DataItemLink = "No." = SL_POTranHist.InvtID; + SqlJoinType = LeftOuterJoin; + column(ItemDesc; Description) + { + Caption = 'Item Description'; + } + } + column(SiteID; SiteID) + { + Caption = 'Location'; + } + column(WhseLoc; WhseLoc) + { + Caption = 'Bin'; + } + column(Qty; Qty) + { + Caption = 'Quantity'; + } + column(UnitCost; UnitCost) + { + Caption = 'Unit Cost'; + } + column(ExtCost; ExtCost) + { + Caption = 'Extended Cost'; + } + column(QtyVouched; QtyVouched) + { + Caption = 'Quantity Vouchered'; + } + column(CostVouched; CostVouched) + { + Caption = 'Cost Vouchered'; + } + column(TranDesc; TranDesc) + { + Caption = 'Transaction Description'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderLineItems.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderLineItems.Query.al new file mode 100644 index 0000000000..f5bdda07d3 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderLineItems.Query.al @@ -0,0 +1,119 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42808 "SL Hist. SalesOrderLineItems" +{ + QueryType = Normal; + OrderBy = ascending(OrdNbr); + QueryCategory = 'Customer List', 'Sales Order List'; + Caption = 'Dynamics SL Sales Order Line Items'; + elements + { + dataitem(SL_SOLineHist; "SL Hist. SOLine") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(OrdNbr; OrdNbr) + { + Caption = 'Order Number'; + } + dataitem(SL_SOHeaderHist; "SL Hist. SOHeader") + { + DataItemLink = CpnyID = SL_SOLineHist.CpnyID, + OrdNbr = SL_SOLineHist.OrdNbr; + SqlJoinType = InnerJoin; + column(CustID; CustID) + { + Caption = 'Customer Number'; + } + column(CustOrdNbr; CustOrdNbr) + { + Caption = 'Customer PO Number'; + } + column(OrdDate; OrdDate) + { + Caption = 'Order Date'; + } + column(SOTypeID; SOTypeID) + { + Caption = 'Order Type'; + } + column(OrdStatus; Status) + { + Caption = 'Order Status'; + } + } + column(LineRef; LineRef) + { + Caption = 'Line Reference Number'; + } + column(InvtID; InvtID) + { + Caption = 'Item Number'; + } + column(SiteID; SiteID) + { + Caption = 'Location'; + } + column(QtyOrd; QtyOrd) + { + Caption = 'Quantity Ordered'; + } + column(QtyShip; QtyShip) + { + Caption = 'Quantity Shipped'; + } + column(QtyBO; QtyBO) + { + Caption = 'Quantity Backordered'; + } + column(UnitDesc; UnitDesc) + { + Caption = 'Unit of Measure'; + } + column(Cost; Cost) + { + Caption = 'Unit Cost'; + } + column(TotCost; TotCost) + { + Caption = 'Total Cost'; + } + column(SlsPrice; SlsPrice) + { + Caption = 'Unit Price'; + } + column(TotOrd; TotOrd) + { + Caption = 'Total Ordered'; + } + column(LineStatus; Status) + { + Caption = 'Line Status'; + } + column(DropShip; DropShip) + { + Caption = 'Drop Ship'; + } + column(ReqDate; ReqDate) + { + Caption = 'Requested Date'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderQuotes.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderQuotes.Query.al new file mode 100644 index 0000000000..8ef5803600 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderQuotes.Query.al @@ -0,0 +1,80 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42810 "SL Hist. SalesOrderQuotes" +{ + QueryType = Normal; + OrderBy = ascending(OrdNbr); + QueryCategory = 'Customer List', 'Sales Order List'; + Caption = 'Dynamics SL Sales Order Quotes'; + elements + { + dataitem(SL_SOHeaderHist; "SL Hist. SOHeader") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(OrdNbr; OrdNbr) + { + Caption = 'Order Number'; + } + column(CustOrdNbr; CustOrdNbr) + { + Caption = 'Customer PO Number'; + } + column(CustID; CustID) + { + Caption = 'Customer Number'; + } + column(SOTypeID; SOTypeID) + { + Caption = 'Order Type'; + } + column(Status; Status) + { + Caption = 'Status'; + } + column(TotOrd; TotOrd) + { + Caption = 'Order Total'; + } + column(Cancelled; Cancelled) + { + Caption = 'Cancelled'; + } + column(OrdDate; OrdDate) + { + Caption = 'Order Date'; + } + column(CancelDate; CancelDate) + { + Caption = 'Cancel By Date'; + } + column(SlsperID; SlsperID) + { + Caption = 'Salesperson ID'; + } + dataitem(SL_SOTypeHist; "SL Hist. SOType") + { + DataItemTableFilter = Behavior = const('Q'); + DataItemLink = CpnyID = SL_SOHeaderHist.CpnyID, + SOTypeID = SL_SOHeaderHist.SOTypeID; + SqlJoinType = InnerJoin; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderReturns.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderReturns.Query.al new file mode 100644 index 0000000000..4ac46ed923 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrderReturns.Query.al @@ -0,0 +1,96 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42811 "SL Hist. SalesOrderReturns" +{ + QueryType = Normal; + OrderBy = ascending(OrdNbr); + QueryCategory = 'Customer List', 'Sales Order List'; + Caption = 'Dynamics SL Sales Order Returns'; + elements + { + dataitem(SL_SOHeaderHist; "SL Hist. SOHeader") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(OrdNbr; OrdNbr) + { + Caption = 'Order Number'; + } + column(CustOrdNbr; CustOrdNbr) + { + Caption = 'Customer PO Number'; + } + column(CustID; CustID) + { + Caption = 'Customer Number'; + } + column(SOTypeID; SOTypeID) + { + Caption = 'Order Type'; + } + column(Status; Status) + { + Caption = 'Sales Order Status'; + } + column(TotOrd; TotOrd) + { + Caption = 'Order Total'; + } + column(Cancelled; Cancelled) + { + Caption = 'Cancelled'; + } + column(OrdDate; OrdDate) + { + Caption = 'Order Date'; + } + column(CancelDate; CancelDate) + { + Caption = 'Cancel By Date'; + } + column(SlsperID; SlsperID) + { + Caption = 'Salesperson ID'; + } + column(BillAttn; BillAttn) + { + Caption = 'Bill Attention'; + } + column(ShipViaID; ShipViaID) + { + Caption = 'Shipping Method'; + } + column(ShiptoID; ShiptoID) + { + Caption = 'Ship-to Address Code'; + } + column(ShipCity; ShipCity) + { + Caption = 'City'; + } + dataitem(SL_SOTypeHist; "SL Hist. SOType") + { + DataItemTableFilter = Behavior = filter('RMA'); + DataItemLink = CpnyID = SL_SOHeaderHist.CpnyID, + SOTypeID = SL_SOHeaderHist.SOTypeID; + SqlJoinType = InnerJoin; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrders.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrders.Query.al new file mode 100644 index 0000000000..616265a507 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistSalesOrders.Query.al @@ -0,0 +1,96 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42809 "SL Hist. SalesOrders" +{ + QueryType = Normal; + OrderBy = ascending(OrdNbr); + QueryCategory = 'Customer List', 'Sales Order List'; + Caption = 'Dynamics SL Sales Orders'; + elements + { + dataitem(SL_SOHeaderHist; "SL Hist. SOHeader") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(OrdNbr; OrdNbr) + { + Caption = 'Order Number'; + } + column(CustOrdNbr; CustOrdNbr) + { + Caption = 'Customer PO Number'; + } + column(CustID; CustID) + { + Caption = 'Customer Number'; + } + column(SOTypeID; SOTypeID) + { + Caption = 'Order Type'; + } + column(Status; Status) + { + Caption = 'Sales Order Status'; + } + column(TotOrd; TotOrd) + { + Caption = 'Order Total'; + } + column(Cancelled; Cancelled) + { + Caption = 'Cancelled'; + } + column(OrdDate; OrdDate) + { + Caption = 'Order Date'; + } + column(CancelDate; CancelDate) + { + Caption = 'Cancel By Date'; + } + column(SlsperID; SlsperID) + { + Caption = 'Salesperson ID'; + } + column(BillAttn; BillAttn) + { + Caption = 'Bill Attention'; + } + column(ShipViaID; ShipViaID) + { + Caption = 'Shipping Method'; + } + column(ShiptoID; ShiptoID) + { + Caption = 'Ship-to Address Code'; + } + column(ShipCity; ShipCity) + { + Caption = 'City'; + } + dataitem(SL_SOTypeHist; "SL Hist. SOType") + { + DataItemTableFilter = Behavior = filter('SO' | 'AO' | 'MO' | 'WC' | 'ASM'); + DataItemLink = CpnyID = SL_SOHeaderHist.CpnyID, + SOTypeID = SL_SOHeaderHist.SOTypeID; + SqlJoinType = InnerJoin; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistShipperLineItems.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistShipperLineItems.Query.al new file mode 100644 index 0000000000..afb824f69f --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistShipperLineItems.Query.al @@ -0,0 +1,107 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +query 42812 "SL Hist. ShipperLineItems" +{ + QueryType = Normal; + OrderBy = ascending(ShipperID); + QueryCategory = 'Customer List', 'Sales Order List'; + Caption = 'Dynamics SL Shipper Line Items'; + elements + { + dataitem(SL_SOShipLineHist; "SL Hist. SOShipLine") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(ShipperID; ShipperID) + { + Caption = 'Shipper ID'; + } + column(OrdNbr; OrdNbr) + { + Caption = 'Order Number'; + } + dataitem(SL_SOShipHeaderHist; "SL Hist. SOShipHeader") + { + DataItemLink = CpnyID = SL_SOShipLineHist.CpnyID, + ShipperID = SL_SOShipLineHist.ShipperID; + SqlJoinType = LeftOuterJoin; + column(CustID; CustID) + { + Caption = 'Customer Number'; + } + column(ShipperStatus; Status) + { + Caption = 'Shipper Status'; + } + column(DropShip; DropShip) + { + Caption = 'Drop Ship'; + } + } + column(LineRef; LineRef) + { + Caption = 'Line Reference Number'; + } + column(InvtID; InvtID) + { + Caption = 'Item Number'; + } + column(SiteID; SiteID) + { + Caption = 'Location'; + } + column(QtyOrd; QtyOrd) + { + Caption = 'Quantity Ordered'; + } + column(QtyShip; QtyShip) + { + Caption = 'Quantity Shipped'; + } + column(QtyBO; QtyBO) + { + Caption = 'Quantity Backordered'; + } + column(UnitDesc; UnitDesc) + { + Caption = 'Unit of Measure'; + } + column(Cost; Cost) + { + Caption = 'Unit Cost'; + } + column(TotCost; TotCost) + { + Caption = 'Total Cost'; + } + column(SlsPrice; SlsPrice) + { + Caption = 'Unit Price'; + } + column(TotInvc; TotInvc) + { + Caption = 'Total Invoiced'; + } + column(LineStatus; Status) + { + Caption = 'Line Status'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistShippers.Query.al b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistShippers.Query.al new file mode 100644 index 0000000000..798c46c995 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/Queries/SLHistShippers.Query.al @@ -0,0 +1,128 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +using Microsoft.Sales.Customer; + +query 42800 "SL Hist. Shippers" +{ + QueryType = Normal; + OrderBy = ascending(ShipperID); + QueryCategory = 'Customer List', 'Sales Order List'; + Caption = 'Dynamics SL Shippers'; + elements + { + dataitem(SLHistSOShipHeader; "SL Hist. SOShipHeader") + { + column(CpnyID; CpnyID) + { + Caption = 'Company ID'; + } + column(ShipperID; ShipperID) + { + Caption = 'Shipper ID'; + } + column(OrdNbr; OrdNbr) + { + Caption = 'Sales Order Number'; + } + column(OrdDate; OrdDate) + { + Caption = 'Order Date'; + } + column(CustOrdNbr; CustOrdNbr) + { + Caption = 'Customer PO Number'; + } + column(CustId; CustId) + { + Caption = 'Customer Number'; + } + dataitem(BCCustomer; Customer) + { + DataItemLink = "No." = SLHistSOShipHeader.CustID; + SqlJoinType = LeftOuterJoin; + column(CustName; Name) + { + Caption = 'Customer Name'; + } + } + column(SOTypeID; SOTypeID) + { + Caption = 'Order Type'; + } + column(Status; Status) + { + Caption = 'Status'; + } + column(Cancelled; Cancelled) + { + Caption = 'Cancelled'; + } + column(CreditHold; CreditHold) + { + Caption = 'Credit Hold'; + } + column(TotInvc; TotInvc) + { + Caption = 'Invoice Total'; + } + column(BalDue; BalDue) + { + Caption = 'Balance Due'; + } + column(InvcNbr; InvcNbr) + { + Caption = 'Invoice Number'; + } + column(InvcDate; InvcDate) + { + Caption = 'Invoice Date'; + } + column(ShipDateAct; ShipDateAct) + { + Caption = 'Actual Ship Date'; + } + column(SlsperId; SlsperId) + { + Caption = 'Salesperson ID'; + } + column(ShipViaID; ShipViaID) + { + Caption = 'Shipping Method'; + } + column(ShiptoID; ShiptoID) + { + Caption = 'Ship-to Address Code'; + } + column(ShipCity; ShipCity) + { + Caption = 'City'; + } + column(ARBatNbr; ARBatNbr) + { + Caption = 'A/R Batch Number'; + } + column(INBatNbr; INBatNbr) + { + Caption = 'Inventory Batch Number'; + } + column(ShipRegisterID; ShipRegisterID) + { + Caption = 'Sales Journal ID'; + } + } + } + + trigger OnBeforeOpen() + begin + GlobalCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(GlobalCompanyName)); + SetFilter(CpnyID, GlobalCompanyName); + end; + + var + GlobalCompanyName: Text[10]; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPAdjust.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPAdjust.Table.al new file mode 100644 index 0000000000..22ab045267 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPAdjust.Table.al @@ -0,0 +1,232 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42800 "SL Hist. APAdjust" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AdjAmt; Decimal) + { + Caption = 'AdjAmt'; + } + field(2; AdjBatNbr; Text[10]) + { + Caption = 'AdjBatNbr'; + } + field(3; AdjBkupWthld; Decimal) + { + Caption = 'AdjBkupWthld'; + } + field(4; AdjdDocType; Text[2]) + { + Caption = 'AdjdDocType'; + } + field(5; AdjDiscAmt; Decimal) + { + Caption = 'AdjDiscAmt'; + } + field(6; AdjdRefNbr; Text[10]) + { + Caption = 'AdjdRefNbr'; + } + field(7; AdjgAcct; Text[10]) + { + Caption = 'AdjgAcct'; + } + field(8; AdjgDocDate; DateTime) + { + Caption = 'AdjgDocDate'; + } + field(9; AdjgDocType; Text[2]) + { + Caption = 'AdjgDocType'; + } + field(10; AdjgPerPost; Text[6]) + { + Caption = 'AdjgPerPost'; + } + field(11; AdjgRefNbr; Text[10]) + { + Caption = 'AdjgRefNbr'; + } + field(12; AdjgSub; Text[24]) + { + Caption = 'AdjgSub'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; CuryAdjdAmt; Decimal) + { + Caption = 'CuryAdjdAmt'; + } + field(17; CuryAdjdBkupWthld; Decimal) + { + Caption = 'CuryAdjdBkupWthld'; + } + field(18; CuryAdjdCuryId; Text[4]) + { + Caption = 'CuryAdjdCuryId'; + } + field(19; CuryAdjdDiscAmt; Decimal) + { + Caption = 'CuryAdjdDiscAmt'; + } + field(20; CuryAdjdMultDiv; Text[1]) + { + Caption = 'CuryAdjdMultDiv'; + } + field(21; CuryAdjdRate; Decimal) + { + Caption = 'CuryAdjdRate'; + } + field(22; CuryAdjgAmt; Decimal) + { + Caption = 'CuryAdjgAmt'; + } + field(23; CuryAdjgBkupWthld; Decimal) + { + Caption = 'CuryAdjgBkupWthld'; + } + field(24; CuryAdjgDiscAmt; Decimal) + { + Caption = 'CuryAdjgDiscAmt'; + } + field(25; CuryRGOLAmt; Decimal) + { + Caption = 'CuryRGOLAmt'; + } + field(26; DateAppl; DateTime) + { + Caption = 'DateAppl'; + } + field(27; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(28; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(29; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(30; PerAppl; Text[6]) + { + Caption = 'PerAppl'; + } + field(31; PrePay_RefNbr; Text[10]) + { + Caption = 'PrePay_RefNbr'; + } + field(32; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(33; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(34; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(35; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(36; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(37; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(38; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(39; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(40; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(41; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(42; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(43; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(44; User1; Text[30]) + { + Caption = 'User1'; + } + field(45; User2; Text[30]) + { + Caption = 'User2'; + } + field(46; User3; Decimal) + { + Caption = 'User3'; + } + field(47; User4; Decimal) + { + Caption = 'User4'; + } + field(48; User5; Text[10]) + { + Caption = 'User5'; + } + field(49; User6; Text[10]) + { + Caption = 'User6'; + } + field(50; User7; DateTime) + { + Caption = 'User7'; + } + field(51; User8; DateTime) + { + Caption = 'User8'; + } + field(52; VendId; Text[15]) + { + Caption = 'VendId'; + } + } + + keys + { + key(PK; AdjdRefNbr, AdjdDocType, AdjgRefNbr, AdjgDocType, VendId, AdjgAcct, AdjgSub) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPDoc.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPDoc.Table.al new file mode 100644 index 0000000000..309279b32b --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPDoc.Table.al @@ -0,0 +1,535 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42801 "SL Hist. APDoc" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Account Number'; + } + field(2; AddlCost; Integer) + { + Caption = 'Additional Cost'; + } + field(3; ApplyAmt; Decimal) + { + Caption = 'Apply Amount'; + } + field(4; ApplyDate; DateTime) + { + Caption = 'Apply Date'; + } + field(5; ApplyRefNbr; Text[10]) + { + Caption = 'Apply Ref Nbr'; + } + field(6; BatNbr; Text[10]) + { + Caption = 'Batch Number'; + } + field(7; BatSeq; Integer) + { + Caption = 'Batch Sequence'; + } + field(8; BWAmt; Decimal) + { + Caption = 'BW Amount'; + } + field(9; CashAcct; Text[10]) + { + Caption = 'CashAcct'; + } + field(10; CashSub; Text[24]) + { + Caption = 'CashSub'; + } + field(11; ClearAmt; Decimal) + { + Caption = 'ClearAmt'; + } + field(12; ClearDate; DateTime) + { + Caption = 'ClearDate'; + } + field(13; CodeType; Text[4]) + { + Caption = 'CodeType'; + } + field(14; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(15; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(16; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(17; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(18; CurrentNbr; Integer) + { + Caption = 'CurrentNbr'; + } + field(19; CuryBWAmt; Decimal) + { + Caption = 'CuryBWAmt'; + } + field(20; CuryDiscBal; Decimal) + { + Caption = 'CuryDiscBal'; + } + field(21; CuryDiscTkn; Decimal) + { + Caption = 'CuryDiscTkn'; + } + field(22; CuryDocBal; Decimal) + { + Caption = 'CuryDocBal'; + } + field(23; CuryEffDate; DateTime) + { + Caption = 'CuryEffDateDate'; + } + field(24; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(25; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(26; CuryOrigDocAmt; Decimal) + { + Caption = 'CuryOrigDocAmt'; + } + field(27; CuryPmtAmt; Decimal) + { + Caption = 'CuryPmtAmt'; + } + field(28; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(29; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(30; CuryTaxTot00; Decimal) + { + Caption = 'CuryTaxTot00'; + } + field(31; CuryTaxTot01; Decimal) + { + Caption = 'CuryTaxTot01'; + } + field(32; CuryTaxTot02; Decimal) + { + Caption = 'CuryTaxTot02'; + } + field(33; CuryTaxTot03; Decimal) + { + Caption = 'CuryTaxTot03'; + } + field(34; CuryTxblTot00; Decimal) + { + Caption = 'CuryTxblTot00'; + } + field(35; CuryTxblTot01; Decimal) + { + Caption = 'CuryTxblTot01'; + } + field(36; CuryTxblTot02; Decimal) + { + Caption = 'CuryTxblTot02'; + } + field(37; CuryTxblTot03; Decimal) + { + Caption = 'CuryTxblTot03'; + } + field(38; Cycle; Integer) + { + Caption = 'Cycle'; + } + field(39; DfltDetail; Integer) + { + Caption = 'DfltDetail'; + } + field(40; DirectDeposit; Text[1]) + { + Caption = 'DirectDeposit'; + } + field(41; DiscBal; Decimal) + { + Caption = 'DiscBal'; + } + field(42; DiscDate; DateTime) + { + Caption = 'DiscDate'; + } + field(43; DiscTkn; Decimal) + { + Caption = 'DiscTkn'; + } + field(44; Doc1099; Integer) + { + Caption = 'Doc1099'; + } + field(45; DocBal; Decimal) + { + Caption = 'DocBal'; + } + field(46; DocClass; Text[1]) + { + Caption = 'DocClass'; + } + field(47; DocDate; DateTime) + { + Caption = 'DocDate'; + } + field(48; DocDesc; Text[30]) + { + Caption = 'DocDesc'; + } + field(49; DocType; Text[2]) + { + Caption = 'DocType'; + } + field(50; DueDate; DateTime) + { + Caption = 'DueDate'; + } + field(51; Econfirm; Text[18]) + { + Caption = 'Econfirm'; + } + field(52; Estatus; Text[1]) + { + Caption = 'Estatus'; + } + field(53; ExcludeFreight; Text[1]) + { + Caption = 'ExcludeFreight'; + } + field(54; FreightAmt; Decimal) + { + Caption = 'FreightAmt'; + } + field(55; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(56; InvcDate; DateTime) + { + Caption = 'InvcDate'; + } + field(57; InvcNbr; Text[15]) + { + Caption = 'InvcNbr'; + } + field(58; LCCode; Text[10]) + { + Caption = 'LCCode'; + } + field(59; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(60; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(61; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(62; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(63; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(64; NbrCycle; Integer) + { + Caption = 'NbrCycle'; + } + field(65; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(66; OpenDoc; Integer) + { + Caption = 'OpenDoc'; + } + field(67; OrigDocAmt; Decimal) + { + Caption = 'OrigDocAmt'; + } + field(68; PayDate; DateTime) + { + Caption = 'PayDate'; + } + field(69; PayHoldDesc; Text[30]) + { + Caption = 'PayHoldDesc'; + } + field(70; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(71; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(72; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(73; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(74; PmtAmt; Decimal) + { + Caption = 'PmtAmt'; + } + field(75; PmtID; Text[10]) + { + Caption = 'PmtID'; + } + field(76; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(77; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(78; PrePay_RefNbr; Text[10]) + { + Caption = 'PrePay_RefNbr'; + } + field(79; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(80; RecordID; Integer) + { + Caption = 'RecordID'; + } + field(81; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(82; Retention; Integer) + { + Caption = 'Retention'; + } + field(83; RGOLAmt; Decimal) + { + Caption = 'RGOLAmt'; + } + field(84; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(85; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(86; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(87; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(88; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(89; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(90; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(91; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(92; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(93; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(94; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(95; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(96; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(97; Selected; Integer) + { + Caption = 'Selected'; + } + field(98; Status; Text[1]) + { + Caption = 'Status'; + } + field(99; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(100; Subcontract; Text[16]) + { + Caption = 'Subcontract'; + } + field(101; TaxCntr00; Integer) + { + Caption = 'TaxCntr00'; + } + field(102; TaxCntr01; Integer) + { + Caption = 'TaxCntr01'; + } + field(103; TaxCntr02; Integer) + { + Caption = 'TaxCntr02'; + } + field(104; TaxCntr03; Integer) + { + Caption = 'TaxCntr03'; + } + field(105; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(106; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(107; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(108; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(109; TaxTot00; Decimal) + { + Caption = 'TaxTot00'; + } + field(110; TaxTot01; Decimal) + { + Caption = 'TaxTot01'; + } + field(111; TaxTot02; Decimal) + { + Caption = 'TaxTot02'; + } + field(112; TaxTot03; Decimal) + { + Caption = 'TaxTot03'; + } + field(113; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(114; TxblTot00; Decimal) + { + Caption = 'TxblTot00'; + } + field(115; TxblTot01; Decimal) + { + Caption = 'TxblTot01'; + } + field(116; TxblTot02; Decimal) + { + Caption = 'TxblTot02'; + } + field(117; TxblTot03; Decimal) + { + Caption = 'TxblTot03'; + } + field(118; User1; Text[30]) + { + Caption = 'User1'; + } + field(119; User2; Text[30]) + { + Caption = 'User2'; + } + field(120; User3; Decimal) + { + Caption = 'User3'; + } + field(121; User4; Decimal) + { + Caption = 'User4'; + } + field(122; User5; Text[10]) + { + Caption = 'User5'; + } + field(123; User6; Text[10]) + { + Caption = 'User6'; + } + field(124; User7; DateTime) + { + Caption = 'User7'; + } + field(125; User8; DateTime) + { + Caption = 'User8'; + } + field(126; VCVoidDocs; Integer) + { + Caption = 'VCVoidDocs'; + } + field(127; VendId; Text[15]) + { + Caption = 'VendId'; + } + field(128; VendName; Text[60]) + { + Caption = 'VendName'; + } + } + keys + { + key(PK; Acct, Sub, DocType, RefNbr, RecordID) + { + Clustered = true; + } + } +} diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPTran.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPTran.Table.al new file mode 100644 index 0000000000..77d1049718 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistAPTran.Table.al @@ -0,0 +1,523 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42802 "SL Hist. APTran" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(4; Applied_PPRefNbr; Text[10]) + { + Caption = 'Applied_PPRefNbr'; + } + field(5; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(6; BOMLineRef; Text[5]) + { + Caption = 'BOMLineRef'; + } + field(7; BoxNbr; Text[2]) + { + Caption = 'BoxNbr'; + } + field(8; Component; Text[30]) + { + Caption = 'Component'; + } + field(9; CostType; Text[8]) + { + Caption = 'CostType'; + } + field(10; CostTypeWO; Text[2]) + { + Caption = 'CostTypeWO'; + } + field(11; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(12; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(13; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(14; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(15; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(16; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(17; CuryPOExtPrice; Decimal) + { + Caption = 'CuryPOExtPrice'; + } + field(18; CuryPOUnitPrice; Decimal) + { + Caption = 'CuryPOUnitPrice'; + } + field(19; CuryPPV; Decimal) + { + Caption = 'CuryPPV'; + } + field(20; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(21; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(22; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(23; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(24; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(25; CuryTranAmt; Decimal) + { + Caption = 'CuryTranAmt'; + } + field(26; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(27; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(28; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(29; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(30; CuryUnitPrice; Decimal) + { + Caption = 'CuryUnitPrice'; + } + field(31; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(32; Employee; Text[10]) + { + Caption = 'Employee'; + } + field(33; EmployeeID; Text[10]) + { + Caption = 'EmployeeID'; + } + field(34; Excpt; Integer) + { + Caption = 'Excpt'; + } + field(35; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(36; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(37; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(38; InvcTypeID; Text[10]) + { + Caption = 'InvcTypeID'; + } + field(39; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(40; JobRate; Decimal) + { + Caption = 'JobRate'; + } + field(41; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(42; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(43; LCCode; Text[10]) + { + Caption = 'LCCode'; + } + field(44; LineId; Integer) + { + Caption = 'LineId'; + } + field(45; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(46; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(47; LineType; Text[1]) + { + Caption = 'LineType'; + } + field(48; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(49; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(50; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(51; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(52; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(53; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(54; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(55; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(56; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(57; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(58; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(59; POExtPrice; Decimal) + { + Caption = 'POExtPrice'; + } + field(60; POLineRef; Text[5]) + { + Caption = 'POLineRef'; + } + field(61; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(62; POQty; Decimal) + { + Caption = 'POQty'; + } + field(63; POUnitPrice; Decimal) + { + Caption = 'POUnitPrice'; + } + field(64; PPV; Decimal) + { + Caption = 'PPV'; + } + field(65; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(66; Qty; Decimal) + { + Caption = 'Qty'; + } + field(67; QtyVar; Decimal) + { + Caption = 'QtyVar'; + } + field(68; RcptLineRef; Text[5]) + { + Caption = 'RcptLineRef'; + } + field(69; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(70; RcptQty; Decimal) + { + Caption = 'RcptQty'; + } + field(71; RecordID; Integer) + { + Caption = 'RecordID'; + } + field(72; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(73; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(74; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(75; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(76; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(77; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(78; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(79; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(80; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(81; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(82; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(83; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(84; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(85; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(86; ServiceDate; DateTime) + { + Caption = 'ServiceDate'; + } + field(87; SiteId; Text[10]) + { + Caption = 'SiteId'; + } + field(88; SoLineRef; Text[5]) + { + Caption = 'SoLineRef'; + } + field(89; SOOrdNbr; Text[15]) + { + Caption = 'SOOrdNbr'; + } + field(90; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(91; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(92; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(93; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(94; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(95; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(96; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(97; TaxCalced; Text[1]) + { + Caption = 'TaxCalced'; + } + field(98; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(99; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(100; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(101; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(102; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(103; TaxIdDflt; Text[10]) + { + Caption = 'TaxIdDflt'; + } + field(104; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(105; TranClass; Text[1]) + { + Caption = 'TranClass'; + } + field(106; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(107; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(108; trantype; Text[2]) + { + Caption = 'trantype'; + } + field(109; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(110; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(111; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(112; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(113; UnitDesc; Text[10]) + { + Caption = 'UnitDesc'; + } + field(114; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(115; User1; Text[30]) + { + Caption = 'User1'; + } + field(116; User2; Text[30]) + { + Caption = 'User2'; + } + field(117; User3; Decimal) + { + Caption = 'User3'; + } + field(118; User4; Decimal) + { + Caption = 'User4'; + } + field(119; User5; Text[10]) + { + Caption = 'User5'; + } + field(120; User6; Text[10]) + { + Caption = 'User6'; + } + field(121; User7; DateTime) + { + Caption = 'User7'; + } + field(122; User8; DateTime) + { + Caption = 'User8'; + } + field(123; VendId; Text[15]) + { + Caption = 'VendId'; + } + field(124; WONbr; Text[10]) + { + Caption = 'WONbr'; + } + field(125; WOStepNbr; Text[5]) + { + Caption = 'WOStepNbr'; + } + } + keys + { + key(PK; BatNbr, Acct, Sub, RefNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARAdjust.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARAdjust.Table.al new file mode 100644 index 0000000000..69aac51983 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARAdjust.Table.al @@ -0,0 +1,224 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42803 "SL Hist. ARAdjust" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AdjAmt; Decimal) + { + Caption = 'AdjAmt'; + } + field(2; AdjBatNbr; Text[10]) + { + Caption = 'AdjBatNbr'; + } + field(3; AdjdDocType; Text[2]) + { + Caption = 'AdjdDocType'; + } + field(4; AdjDiscAmt; Decimal) + { + Caption = 'AdjDiscAmt'; + } + field(5; AdjdRefNbr; Text[10]) + { + Caption = 'AdjdRefNbr'; + } + field(6; AdjgDocDate; DateTime) + { + Caption = 'AdjgDocDate'; + } + field(7; AdjgDocType; Text[2]) + { + Caption = 'AdjgDocType'; + } + field(8; AdjgPerPost; Text[6]) + { + Caption = 'AdjgPerPost'; + } + field(9; AdjgRefNbr; Text[10]) + { + Caption = 'AdjgRefNbr'; + } + field(10; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(11; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(12; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(13; CuryAdjdAmt; Decimal) + { + Caption = 'CuryAdjdAmt'; + } + field(14; CuryAdjdCuryId; Text[4]) + { + Caption = 'CuryAdjdCuryId'; + } + field(15; CuryAdjdDiscAmt; Decimal) + { + Caption = 'CuryAdjdDiscAmt'; + } + field(16; CuryAdjdMultDiv; Text[1]) + { + Caption = 'CuryAdjdMultDiv'; + } + field(17; CuryAdjdRate; Decimal) + { + Caption = 'CuryAdjdRate'; + } + field(18; CuryAdjgAmt; Decimal) + { + Caption = 'CuryAdjgAmt'; + } + field(19; CuryAdjgDiscAmt; Decimal) + { + Caption = 'CuryAdjgDiscAmt'; + } + field(20; CuryRGOLAmt; Decimal) + { + Caption = 'CuryRGOLAmt'; + } + field(21; CustId; Text[15]) + { + Caption = 'CustId'; + } + field(22; DateAppl; DateTime) + { + Caption = 'DateAppl'; + } + field(23; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(24; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(25; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(26; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(27; PerAppl; Text[6]) + { + Caption = 'PerAppl'; + } + field(28; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(29; RecordID; Integer) + { + Caption = 'RecordID'; + } + field(30; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(31; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(32; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(33; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(34; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(35; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(36; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(37; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(38; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(39; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(40; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(41; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(42; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(43; User1; Text[30]) + { + Caption = 'User1'; + } + field(44; User2; Text[30]) + { + Caption = 'User2'; + } + field(45; User3; Decimal) + { + Caption = 'User3'; + } + field(46; User4; Decimal) + { + Caption = 'User4'; + } + field(47; User5; Text[10]) + { + Caption = 'User5'; + } + field(48; User6; Text[10]) + { + Caption = 'User6'; + } + field(49; User7; DateTime) + { + Caption = 'User7'; + } + field(50; User8; DateTime) + { + Caption = 'User8'; + } + } + + keys + { + key(PK; AdjdRefNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARDoc.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARDoc.Table.al new file mode 100644 index 0000000000..38e06fe170 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARDoc.Table.al @@ -0,0 +1,524 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42804 "SL Hist. ARDoc" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AcctNbr; Text[30]) + { + Caption = 'AcctNbr'; + } + field(2; AgentID; Text[10]) + { + Caption = 'AgentID'; + } + field(3; ApplAmt; Decimal) + { + Caption = 'ApplAmt'; + } + field(4; ApplBatNbr; Text[10]) + { + Caption = 'ApplBatNbr'; + } + field(5; ApplBatSeq; Integer) + { + Caption = 'ApplBatSeq'; + } + field(6; ASID; Integer) + { + Caption = 'ASID'; + } + field(7; BankAcct; Text[10]) + { + Caption = 'BankAcct'; + } + field(8; BankID; Text[10]) + { + Caption = 'BankID'; + } + field(9; BankSub; Text[24]) + { + Caption = 'BankSub'; + } + field(10; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(11; BatSeq; Integer) + { + Caption = 'BatSeq'; + } + field(12; Cleardate; DateTime) + { + Caption = 'Cleardate'; + } + field(13; CmmnAmt; Decimal) + { + Caption = 'CmmnAmt'; + } + field(14; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(15; ContractID; Text[10]) + { + Caption = 'ContractID'; + } + field(16; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(17; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(18; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(19; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(20; CurrentNbr; Integer) + { + Caption = 'CurrentNbr'; + } + field(21; CuryApplAmt; Decimal) + { + Caption = 'CuryApplAmt'; + } + field(22; CuryClearAmt; Decimal) + { + Caption = 'CuryClearAmt'; + } + field(23; CuryCmmnAmt; Decimal) + { + Caption = 'CuryCmmnAmt'; + } + field(24; CuryDiscApplAmt; Decimal) + { + Caption = 'CuryDiscApplAmt'; + } + field(25; CuryDiscBal; Decimal) + { + Caption = 'CuryDiscBal'; + } + field(26; CuryDocBal; Decimal) + { + Caption = 'CuryDocBal'; + } + field(27; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(28; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(29; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(30; CuryOrigDocAmt; Decimal) + { + Caption = 'CuryOrigDocAmt'; + } + field(31; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(32; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(33; CuryStmtBal; Decimal) + { + Caption = 'CuryStmtBal'; + } + field(34; CuryTaxTot00; Decimal) + { + Caption = 'CuryTaxTot00'; + } + field(35; CuryTaxTot01; Decimal) + { + Caption = 'CuryTaxTot01'; + } + field(36; CuryTaxTot02; Decimal) + { + Caption = 'CuryTaxTot02'; + } + field(37; CuryTaxTot03; Decimal) + { + Caption = 'CuryTaxTot03'; + } + field(38; CuryTxblTot00; Decimal) + { + Caption = 'CuryTxblTot00'; + } + field(39; CuryTxblTot01; Decimal) + { + Caption = 'CuryTxblTot01'; + } + field(40; CuryTxblTot02; Decimal) + { + Caption = 'CuryTxblTot02'; + } + field(41; CuryTxblTot03; Decimal) + { + Caption = 'CuryTxblTot03'; + } + field(42; CustId; Text[15]) + { + Caption = 'CustId'; + } + field(43; CustOrdNbr; Text[25]) + { + Caption = 'CustOrdNbr'; + } + field(44; Cycle; Integer) + { + Caption = 'Cycle'; + } + field(45; DiscApplAmt; Decimal) + { + Caption = 'DiscApplAmt'; + } + field(46; DiscBal; Decimal) + { + Caption = 'DiscBal'; + } + field(47; DiscDate; DateTime) + { + Caption = 'DiscDate'; + } + field(48; DocBal; Decimal) + { + Caption = 'DocBal'; + } + field(49; DocClass; Text[1]) + { + Caption = 'DocClass'; + } + field(50; DocDate; DateTime) + { + Caption = 'DocDate'; + } + field(51; DocDesc; Text[30]) + { + Caption = 'DocDesc'; + } + field(52; DocType; Text[2]) + { + Caption = 'DocType'; + } + field(53; DraftIssued; Integer) + { + Caption = 'DraftIssued'; + } + field(54; DueDate; DateTime) + { + Caption = 'DueDate'; + } + field(55; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(56; JobCntr; Integer) + { + Caption = 'JobCntr'; + } + field(57; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(58; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(59; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(60; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(61; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(62; NbrCycle; Integer) + { + Caption = 'NbrCycle'; + } + field(67; NoPrtStmt; Integer) + { + Caption = 'NoPrtStmt'; + } + field(68; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(69; OpenDoc; Integer) + { + Caption = 'OpenDoc'; + } + field(70; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(71; OrigBankAcct; Text[10]) + { + Caption = 'OrigBankAcct'; + } + field(72; OrigBankSub; Text[24]) + { + Caption = 'OrigBankSub'; + } + field(73; OrigCpnyID; Text[10]) + { + Caption = 'OrigCpnyID'; + } + field(74; OrigDocAmt; Decimal) + { + Caption = 'OrigDocAmt'; + } + field(75; OrigDocNbr; Text[10]) + { + Caption = 'OrigDocNbr'; + } + field(76; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(77; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(78; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(79; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(80; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(81; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(82; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(83; RGOLAmt; Decimal) + { + Caption = 'RGOLAmt'; + } + field(84; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(85; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(86; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(87; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(88; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(89; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(90; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(91; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(92; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(93; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(94; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(95; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(96; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(97; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(98; ShipmentNbr; Integer) + { + Caption = 'ShipmentNbr'; + } + field(99; SlsperId; Text[10]) + { + Caption = 'SlsperId'; + } + field(100; Status; Text[1]) + { + Caption = 'Status'; + } + field(101; StmtBal; Decimal) + { + Caption = 'StmtBal'; + } + field(102; StmtDate; DateTime) + { + Caption = 'StmtDate'; + } + field(103; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(104; TaxCntr00; Integer) + { + Caption = 'TaxCntr00'; + } + field(105; TaxCntr01; Integer) + { + Caption = 'TaxCntr01'; + } + field(106; TaxCntr02; Integer) + { + Caption = 'TaxCntr02'; + } + field(107; TaxCntr03; Integer) + { + Caption = 'TaxCntr03'; + } + field(108; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(109; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(110; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(111; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(112; TaxTot00; Decimal) + { + Caption = 'TaxTot00'; + } + field(113; TaxTot01; Decimal) + { + Caption = 'TaxTot01'; + } + field(114; TaxTot02; Decimal) + { + Caption = 'TaxTot02'; + } + field(115; TaxTot03; Decimal) + { + Caption = 'TaxTot03'; + } + field(116; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(117; TxblTot00; Decimal) + { + Caption = 'TxblTot00'; + } + field(118; TxblTot01; Decimal) + { + Caption = 'TxblTot01'; + } + field(119; TxblTot02; Decimal) + { + Caption = 'TxblTot02'; + } + field(120; TxblTot03; Decimal) + { + Caption = 'TxblTot03'; + } + field(121; User1; Text[30]) + { + Caption = 'User1'; + } + field(122; User2; Text[30]) + { + Caption = 'User2'; + } + field(123; User3; Decimal) + { + Caption = 'User3'; + } + field(124; User4; Decimal) + { + Caption = 'User4'; + } + field(125; User5; Text[10]) + { + Caption = 'User5'; + } + field(126; User6; Text[10]) + { + Caption = 'User6'; + } + field(127; User7; DateTime) + { + Caption = 'User7'; + } + field(128; User8; DateTime) + { + Caption = 'User8'; + } + field(129; WSID; Integer) + { + Caption = 'WSID'; + } + } + + keys + { + key(PK; CustId, DocType, RefNbr, BatNbr, BatSeq) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARTran.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARTran.Table.al new file mode 100644 index 0000000000..f4f3461ea2 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistARTran.Table.al @@ -0,0 +1,460 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42805 "SL Hist. ARTran" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(4; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(5; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(6; ContractID; Text[10]) + { + Caption = 'ContractID'; + } + field(7; CostType; Text[8]) + { + Caption = 'CostType'; + } + field(8; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(9; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(10; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(11; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(12; CuryExtCost; Decimal) + { + Caption = 'CuryExtCost'; + } + field(13; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(14; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(15; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(16; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(17; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(18; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(19; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(20; CuryTranAmt; Decimal) + { + Caption = 'CuryTranAmt'; + } + field(21; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(22; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(23; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(24; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(25; CuryUnitPrice; Decimal) + { + Caption = 'CuryUnitPrice'; + } + field(26; CustId; Text[15]) + { + Caption = 'CustId'; + } + field(27; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(28; Excpt; Integer) + { + Caption = 'Excpt'; + } + field(29; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(30; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(31; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(32; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(33; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(34; InvtId; Text[30]) + { + Caption = 'InvtId'; + } + field(35; JobRate; Decimal) + { + Caption = 'JobRate'; + } + field(36; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(37; LineId; Integer) + { + Caption = 'LineId'; + } + field(38; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(39; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(40; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(41; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(42; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(43; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(44; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(45; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(46; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(47; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(48; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(49; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(50; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(51; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(52; Qty; Decimal) + { + Caption = 'Qty'; + } + field(53; RecordID; Integer) + { + Caption = 'RecordID'; + } + field(54; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(55; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(56; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(57; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(58; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(59; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(60; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(61; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(62; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(63; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(64; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(65; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(66; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(67; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(68; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(69; ServiceCallLineNbr; Integer) + { + Caption = 'ServiceCallLineNbr'; + } + field(70; ServiceDate; DateTime) + { + Caption = 'ServiceDate'; + } + field(71; ShipperCpnyID; Text[10]) + { + Caption = 'ShipperCpnyID'; + } + field(72; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(73; ShipperLineRef; Text[5]) + { + Caption = 'ShipperLineRef'; + } + field(74; SiteId; Text[10]) + { + Caption = 'SiteId'; + } + field(75; SlsperId; Text[10]) + { + Caption = 'SlsperId'; + } + field(76; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(77; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(78; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(79; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(80; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(81; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(82; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(83; TaxCalced; Text[1]) + { + Caption = 'TaxCalced'; + } + field(84; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(85; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(86; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(87; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(88; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(89; TaxIdDflt; Text[10]) + { + Caption = 'TaxIdDflt'; + } + field(90; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(91; TranClass; Text[1]) + { + Caption = 'TranClass'; + } + field(92; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(93; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(94; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(95; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(96; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(97; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(98; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(99; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(100; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(101; User1; Text[30]) + { + Caption = 'User1'; + } + field(102; User2; Text[30]) + { + Caption = 'User2'; + } + field(103; User3; Decimal) + { + Caption = 'User3'; + } + field(104; User4; Decimal) + { + Caption = 'User4'; + } + field(105; User5; Text[10]) + { + Caption = 'User5'; + } + field(106; User6; Text[10]) + { + Caption = 'User6'; + } + field(107; User7; DateTime) + { + Caption = 'User7'; + } + field(108; User8; DateTime) + { + Caption = 'User8'; + } + field(109; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(PK; CustId, TranType, RefNbr, LineNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistBatch.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistBatch.Table.al new file mode 100644 index 0000000000..9895a7f062 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistBatch.Table.al @@ -0,0 +1,308 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42806 "SL Hist. Batch" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AutoRev; Integer) + { + Caption = 'AutoRev'; + } + field(3; AutoRevCopy; Integer) + { + Caption = 'AutoRevCopy'; + } + field(4; BalanceType; Text[1]) + { + Caption = 'BalanceType'; + } + field(5; BankAcct; Text[10]) + { + Caption = 'BankAcct'; + } + field(6; BankSub; Text[24]) + { + Caption = 'BankSub'; + } + field(7; BaseCuryID; Text[4]) + { + Caption = 'BaseCuryID'; + } + field(8; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(9; BatType; Text[1]) + { + Caption = 'BatType'; + } + field(10; clearamt; Decimal) + { + Caption = 'clearamt'; + } + field(11; Cleared; Integer) + { + Caption = 'Cleared'; + } + field(12; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; CrTot; Decimal) + { + Caption = 'CrTot'; + } + field(17; CtrlTot; Decimal) + { + Caption = 'CtrlTot'; + } + field(18; CuryCrTot; Decimal) + { + Caption = 'CuryCrTot'; + } + field(19; CuryCtrlTot; Decimal) + { + Caption = 'CuryCtrlTot'; + } + field(20; CuryDepositAmt; Decimal) + { + Caption = 'CuryDepositAmt'; + } + field(21; CuryDrTot; Decimal) + { + Caption = 'CuryDrTot'; + } + field(22; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(23; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(24; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(25; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(26; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(27; Cycle; Integer) + { + Caption = 'Cycle'; + } + field(28; DateClr; DateTime) + { + Caption = 'DateClr'; + } + field(29; DateEnt; DateTime) + { + Caption = 'DateEnt'; + } + field(30; DepositAmt; Decimal) + { + Caption = 'DepositAmt'; + } + field(31; Descr; Text[30]) + { + Caption = 'Descr'; + } + field(32; DrTot; Decimal) + { + Caption = 'DrTot'; + } + field(33; EditScrnNbr; Text[5]) + { + Caption = 'EditScrnNbr'; + } + field(34; GLPostOpt; Text[1]) + { + Caption = 'GLPostOpt'; + } + field(35; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(36; LedgerID; Text[10]) + { + Caption = 'LedgerID'; + } + field(37; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(38; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(39; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(40; Module; Text[2]) + { + Caption = 'Module'; + } + field(41; NbrCycle; Integer) + { + Caption = 'NbrCycle'; + } + field(42; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(43; OrigBatNbr; Text[10]) + { + Caption = 'OrigBatNbr'; + } + field(44; OrigCpnyID; Text[10]) + { + Caption = 'OrigCpnyID'; + } + field(45; OrigScrnNbr; Text[5]) + { + Caption = 'OrigScrnNbr'; + } + field(46; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(47; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(48; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(49; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(50; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(51; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(52; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(53; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(54; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(55; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(56; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(57; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(58; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(59; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(60; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(61; Status; Text[1]) + { + Caption = 'Status'; + } + field(62; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(64; User1; Text[30]) + { + Caption = 'User1'; + } + field(65; User2; Text[30]) + { + Caption = 'User2'; + } + field(66; User3; Decimal) + { + Caption = 'User3'; + } + field(67; User4; Decimal) + { + Caption = 'User4'; + } + field(68; User5; Text[10]) + { + Caption = 'User5'; + } + field(69; User6; Text[10]) + { + Caption = 'User6'; + } + field(70; User7; DateTime) + { + Caption = 'User7'; + } + field(71; User8; DateTime) + { + Caption = 'User8'; + } + field(72; VOBatNbrForPP; Text[10]) + { + Caption = 'VOBatNbrForPP'; + } + } + + keys + { + key(PK; Module, BatNbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistGLTran.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistGLTran.Table.al new file mode 100644 index 0000000000..d500d4e795 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistGLTran.Table.al @@ -0,0 +1,328 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42819 "SL Hist. GLTran" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AppliedDate; DateTime) + { + Caption = 'AppliedDate'; + } + field(3; BalanceType; Text[1]) + { + Caption = 'BalanceType'; + } + field(4; BaseCuryID; Text[4]) + { + Caption = 'BaseCuryID'; + } + field(5; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(6; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(7; CrAmt; Decimal) + { + Caption = 'CrAmt'; + } + field(8; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(9; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(10; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(11; CuryCrAmt; Decimal) + { + Caption = 'CuryCrAmt'; + } + field(12; CuryDrAmt; Decimal) + { + Caption = 'CuryDrAmt'; + } + field(13; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(14; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(15; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(16; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(17; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(18; DrAmt; Decimal) + { + Caption = 'DrAmt'; + } + field(19; EmployeeID; Text[10]) + { + Caption = 'EmployeeID'; + } + field(20; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(21; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(22; IC_Distribution; Integer) + { + Caption = 'IC_Distribution'; + } + field(23; Id; Text[20]) + { + Caption = 'Id'; + } + field(24; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(25; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(26; LedgerID; Text[10]) + { + Caption = 'LedgerID'; + } + field(27; LineId; Integer) + { + Caption = 'LineId'; + } + field(28; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(29; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(30; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(31; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(32; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(33; Module; Text[2]) + { + Caption = 'Module'; + } + field(34; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(35; OrigAcct; Text[10]) + { + Caption = 'OrigAcct'; + } + field(36; OrigBatNbr; Text[10]) + { + Caption = 'OrigBatNbr'; + } + field(37; OrigCpnyID; Text[10]) + { + Caption = 'OrigCpnyID'; + } + field(38; OrigSub; Text[24]) + { + Caption = 'OrigSub'; + } + field(39; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(40; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(41; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(42; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(43; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(44; Posted; Text[1]) + { + Caption = 'Posted'; + } + field(45; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(46; Qty; Decimal) + { + Caption = 'Qty'; + } + field(47; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(48; RevEntryOption; Text[1]) + { + Caption = 'RevEntryOption'; + } + field(49; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(50; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(52; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(53; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(54; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(55; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(56; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(57; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(58; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(59; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(60; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(61; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(63; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(64; ServiceDate; DateTime) + { + Caption = 'ServiceDate'; + } + field(65; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(66; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(67; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(68; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(69; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(70; Units; Decimal) + { + Caption = 'Units'; + } + field(71; User1; Text[30]) + { + Caption = 'User1'; + } + field(73; User2; Text[30]) + { + Caption = 'User2'; + } + field(74; User3; Decimal) + { + Caption = 'User3'; + } + field(75; User4; Decimal) + { + Caption = 'User4'; + } + field(76; User5; Text[10]) + { + Caption = 'User5'; + } + field(77; User6; Text[10]) + { + Caption = 'User6'; + } + field(78; User7; DateTime) + { + Caption = 'User7'; + } + field(79; User8; DateTime) + { + Caption = 'User8'; + } + } + + keys + { + key(Key1; Module, BatNbr, LineNbr) + { + Clustered = true; + } + } +} diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistINTran.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistINTran.Table.al new file mode 100644 index 0000000000..2a3232f0f2 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistINTran.Table.al @@ -0,0 +1,512 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42808 "SL Hist. INTran" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; ARDocType; Text[2]) + { + Caption = 'ARDocType'; + } + field(4; ARLineID; Integer) + { + Caption = 'ARLineID'; + } + field(5; ARLineRef; Text[5]) + { + Caption = 'ARLineRef'; + } + field(6; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(7; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(8; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(9; BMIEstimatedCost; Decimal) + { + Caption = 'BMIEstimatedCost'; + } + field(10; BMIExtCost; Decimal) + { + Caption = 'BMIExtCost'; + } + field(11; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(12; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(13; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(14; BMITranAmt; Decimal) + { + Caption = 'BMITranAmt'; + } + field(15; BMIUnitPrice; Decimal) + { + Caption = 'BMIUnitPrice'; + } + field(16; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(17; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(18; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(19; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(20; CostType; Text[8]) + { + Caption = 'CostType'; + } + field(21; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(22; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(23; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(24; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(25; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(26; EstimatedCost; Decimal) + { + Caption = 'EstimatedCost'; + } + field(27; Excpt; Integer) + { + Caption = 'Excpt'; + } + field(28; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(29; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(30; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(31; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(32; ID; Text[15]) + { + Caption = 'ID'; + } + field(34; InsuffQty; Integer) + { + Caption = 'InsuffQty'; + } + field(35; InvtAcct; Text[10]) + { + Caption = 'InvtAcct'; + } + field(36; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(37; InvtMult; Integer) + { + Caption = 'InvtMult'; + } + field(38; InvtSub; Text[24]) + { + Caption = 'InvtSub'; + } + field(39; IRProcessed; Integer) + { + Caption = 'IRProcessed'; + } + field(40; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(41; KitID; Text[30]) + { + Caption = 'KitID'; + } + field(42; KitStdQty; Decimal) + { + Caption = 'KitStdQty'; + } + field(43; LayerType; Text[1]) + { + Caption = 'LayerType'; + } + field(44; LineID; Integer) + { + Caption = 'LineID'; + } + field(45; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(46; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(47; LotSerCntr; Integer) + { + Caption = 'LotSerCntr'; + } + field(48; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(49; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(50; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(51; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(52; OrigBatNbr; Text[10]) + { + Caption = 'OrigBatNbr'; + } + field(53; OrigJrnlType; Text[3]) + { + Caption = 'OrigJrnlType'; + } + field(54; OrigLineRef; Text[5]) + { + Caption = 'OrigLineRef'; + } + field(55; OrigRefNbr; Text[10]) + { + Caption = 'OrigRefNbr'; + } + field(56; OvrhdAmt; Decimal) + { + Caption = 'OvrhdAmt'; + } + field(57; OvrhdFlag; Integer) + { + Caption = 'OvrhdFlag'; + } + field(58; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(59; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(60; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(61; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(62; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(63; PoNbr; Text[10]) + { + Caption = 'PoNbr'; + } + field(64; PostingOption; Integer) + { + Caption = 'PostingOption'; + } + field(65; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(66; Qty; Decimal) + { + Caption = 'Qty'; + } + field(67; QtyUnCosted; Decimal) + { + Caption = 'QtyUnCosted'; + } + field(68; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(69; RcptNbr; Text[15]) + { + Caption = 'RcptNbr'; + } + field(70; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(71; RecordID; Integer) + { + Caption = 'RecordID'; + } + field(72; RefNbr; Text[15]) + { + Caption = 'RefNbr'; + } + field(73; Retired; Integer) + { + Caption = 'Retired'; + } + field(74; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(75; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(76; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(77; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(78; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(79; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(80; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(81; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(82; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(83; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(84; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(85; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(86; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(87; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(88; ShipperCpnyID; Text[10]) + { + Caption = 'ShipperCpnyID'; + } + field(89; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(90; ShipperLineRef; Text[5]) + { + Caption = 'ShipperLineRef'; + } + field(91; ShortQty; Decimal) + { + Caption = 'ShortQty'; + } + field(92; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(93; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(94; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(95; SrcDate; DateTime) + { + Caption = 'SrcDate'; + } + field(96; SrcLineRef; Text[5]) + { + Caption = 'SrcLineRef'; + } + field(97; SrcNbr; Text[15]) + { + Caption = 'SrcNbr'; + } + field(98; SrcType; Text[3]) + { + Caption = 'SrcType'; + } + field(99; StdTotalQty; Decimal) + { + Caption = 'StdTotalQty'; + } + field(100; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(101; SvcContractID; Text[10]) + { + Caption = 'SvcContractID'; + } + field(102; SvcLineNbr; Integer) + { + Caption = 'SvcLineNbr'; + } + field(103; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(104; ToSiteID; Text[10]) + { + Caption = 'ToSiteID'; + } + field(105; ToWhseLoc; Text[10]) + { + Caption = 'ToWhseLoc'; + } + field(106; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(107; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(108; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(109; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(110; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(111; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(112; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(113; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(114; User1; Text[30]) + { + Caption = 'User1'; + } + field(115; User2; Text[30]) + { + Caption = 'User2'; + } + field(116; User3; Decimal) + { + Caption = 'User3'; + } + field(117; User4; Decimal) + { + Caption = 'User4'; + } + field(118; User5; Text[10]) + { + Caption = 'User5'; + } + field(119; User6; Text[10]) + { + Caption = 'User6'; + } + field(120; User7; DateTime) + { + Caption = 'User7'; + } + field(121; User8; DateTime) + { + Caption = 'User8'; + } + field(122; UseTranCost; Integer) + { + Caption = 'UseTranCost'; + } + field(123; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(PK; InvtID, SiteID, CpnyID, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistLotSerT.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistLotSerT.Table.al new file mode 100644 index 0000000000..cbb89150e6 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistLotSerT.Table.al @@ -0,0 +1,272 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42807 "SL Hist. LotSerT" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(2; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(3; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTimeDateTime'; + } + field(4; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(5; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(6; CustID; Text[15]) + { + Caption = 'CustID'; + } + field(7; ExpDate; DateTime) + { + Caption = 'ExpDate'; + } + field(8; INTranLineID; Integer) + { + Caption = 'INTranLineID'; + } + field(9; INTranLineRef; Text[5]) + { + Caption = 'INTranLineRef'; + } + field(10; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(11; InvtMult; Integer) + { + Caption = 'InvtMult'; + } + field(12; KitID; Text[30]) + { + Caption = 'KitID'; + } + field(13; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(14; LotSerNbr; Text[25]) + { + Caption = 'LotSerNbr'; + } + field(15; LotSerRef; Text[5]) + { + Caption = 'LotSerRef'; + } + field(16; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(17; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(18; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(19; MfgrLotSerNbr; Text[25]) + { + Caption = 'MfgrLotSerNbr'; + } + field(20; NoQtyUpdate; Integer) + { + Caption = 'NoQtyUpdate'; + } + field(21; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(22; ParInvtID; Text[30]) + { + Caption = 'ParInvtID'; + } + field(23; ParLotSerNbr; Text[25]) + { + Caption = 'ParLotSerNbr'; + } + field(24; Qty; Decimal) + { + Caption = 'Qty'; + } + field(25; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(26; RecordID; Integer) + { + Caption = 'RecordID'; + } + field(27; RefNbr; Text[15]) + { + Caption = 'RefNbr'; + } + field(28; Retired; Integer) + { + Caption = 'Retired'; + } + field(29; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(30; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(31; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(32; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(33; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(34; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(35; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(36; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(37; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(38; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(39; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(40; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(41; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(42; ShipContCode; Text[20]) + { + Caption = 'ShipContCode'; + } + field(43; ShipmentNbr; Integer) + { + Caption = 'ShipmentNbr'; + } + field(44; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(45; ToSiteID; Text[10]) + { + Caption = 'ToSiteID'; + } + field(46; ToWhseLoc; Text[10]) + { + Caption = 'ToWhseLoc'; + } + field(47; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(48; TranSrc; Text[2]) + { + Caption = 'TranSrc'; + } + field(49; TranTime; DateTime) + { + Caption = 'TranTime'; + } + field(50; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(51; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(52; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(53; User1; Text[30]) + { + Caption = 'User1'; + } + field(54; User2; Text[30]) + { + Caption = 'User2'; + } + field(55; User3; Decimal) + { + Caption = 'User3'; + } + field(56; User4; Decimal) + { + Caption = 'User4'; + } + field(57; User5; Text[10]) + { + Caption = 'User5'; + } + field(58; User6; Text[10]) + { + Caption = 'User6'; + } + field(59; User7; DateTime) + { + Caption = 'User7'; + } + field(60; User8; DateTime) + { + Caption = 'User8'; + } + field(61; WarrantyDate; DateTime) + { + Caption = 'WarrantyDate'; + } + field(62; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(PK; LotSerNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistMigrationCurStatus.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistMigrationCurStatus.Table.al new file mode 100644 index 0000000000..9d91eed3d9 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistMigrationCurStatus.Table.al @@ -0,0 +1,64 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42821 "SL Hist. Migration Cur. Status" +{ + DataClassification = SystemMetadata; + + fields + { + field(1; "Primary Key"; Code[10]) + { + Caption = 'Primary Key'; + } + field(2; "Current Step"; enum "SL Hist. Migration Step Type") + { + Caption = 'Current Step'; + DataClassification = SystemMetadata; + } + field(3; "Log Count"; Integer) + { + CalcFormula = count("SL Hist. Migration Step Status"); + Editable = false; + FieldClass = FlowField; + } + field(4; "Reset Data"; Boolean) + { + Caption = 'Reset Data'; + DataClassification = SystemMetadata; + } + } + + keys + { + key(PK; "Primary Key") + { + Clustered = true; + } + } + + procedure EnsureInit() + begin + if not Rec.Get() then begin + Rec."Current Step" := "SL Hist. Migration Step Type"::"Not Started"; + Rec.Insert(); + end; + end; + + procedure GetCurrentStep(): enum "SL Hist. Migration Step Type" + begin + EnsureInit(); + exit(Rec."Current Step"); + end; + + procedure SetCurrentStep(Step: enum "SL Hist. Migration Step Type") + begin + EnsureInit(); + Rec."Current Step" := Step; + Rec.Modify(); + end; +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistMigrationStepStatus.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistMigrationStepStatus.Table.al new file mode 100644 index 0000000000..ef05a28f8f --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistMigrationStepStatus.Table.al @@ -0,0 +1,54 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42820 "SL Hist. Migration Step Status" +{ + DataClassification = SystemMetadata; + + fields + { + field(1; "Primary Key"; Integer) + { + DataClassification = SystemMetadata; + AutoIncrement = true; + } + field(2; Step; enum "SL Hist. Migration Step Type") + { + Caption = 'Step'; + DataClassification = SystemMetadata; + NotBlank = true; + } + field(3; "Start Date"; DateTime) + { + Caption = 'Start Date'; + DataClassification = SystemMetadata; + NotBlank = true; + } + field(4; "End Date"; DateTime) + { + Caption = 'End Date'; + DataClassification = SystemMetadata; + } + field(5; Completed; Boolean) + { + Caption = 'Completed'; + DataClassification = SystemMetadata; + } + } + + keys + { + key(PK; "Primary Key") + { + Clustered = true; + } + + key(Key2; Step) + { + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPOReceipt.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPOReceipt.Table.al new file mode 100644 index 0000000000..3fb0c1c4f6 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPOReceipt.Table.al @@ -0,0 +1,312 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42809 "SL Hist. POReceipt" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; APRefno; Text[10]) + { + Caption = 'APRefno'; + } + field(2; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(3; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(4; CreateAD; Integer) + { + Caption = 'CreateAD'; + } + field(5; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(6; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(7; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(8; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(9; CuryFreight; Decimal) + { + Caption = 'CuryFreight'; + } + field(10; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(11; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(12; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(13; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(14; CuryRcptAmt; Decimal) + { + Caption = 'CuryRcptAmt'; + } + field(15; CuryRcptAmtTot; Decimal) + { + Caption = 'CuryRcptAmtTot'; + } + field(16; CuryRcptCtrlAmt; Decimal) + { + Caption = 'CuryRcptCtrlAmt'; + } + field(17; CuryRcptItemTotal; Decimal) + { + Caption = 'CuryRcptItemTotal'; + } + field(18; DfltFromPO; Text[1]) + { + Caption = 'DfltFromPO'; + } + field(19; ExcludeFreight; Text[1]) + { + Caption = 'ExcludeFreight'; + } + field(20; Freight; Decimal) + { + Caption = 'Freight'; + } + field(21; InBal; Integer) + { + Caption = 'InBal'; + } + field(22; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(23; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(24; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(25; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(26; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(27; OpenDoc; Integer) + { + Caption = 'OpenDoc'; + } + field(28; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(29; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(30; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(31; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(32; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(33; RcptAmt; Decimal) + { + Caption = 'RcptAmt'; + } + field(34; RcptAmtTot; Decimal) + { + Caption = 'RcptAmtTot'; + } + field(35; RcptCtrlAmt; Decimal) + { + Caption = 'RcptCtrlAmt'; + } + field(36; RcptCtrlQty; Decimal) + { + Caption = 'RcptCtrlQty'; + } + field(37; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(38; RcptItemTotal; Decimal) + { + Caption = 'RcptItemTotal'; + } + field(39; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(40; RcptQty; Decimal) + { + Caption = 'RcptQty'; + } + field(41; RcptQtyTot; Decimal) + { + Caption = 'RcptQtyTot'; + } + field(42; RcptType; Text[1]) + { + Caption = 'RcptType'; + } + field(43; ReopenPO; Integer) + { + Caption = 'ReopenPO'; + } + field(44; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(45; RMAID; Text[15]) + { + Caption = 'RMAID'; + } + field(46; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(47; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(48; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(49; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(50; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(51; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(52; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(53; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(54; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(55; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(56; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(57; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(58; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(59; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(60; Status; Text[1]) + { + Caption = 'Status'; + } + field(61; User1; Text[30]) + { + Caption = 'User1'; + } + field(62; User2; Text[30]) + { + Caption = 'User2'; + } + field(63; User3; Decimal) + { + Caption = 'User3'; + } + field(64; User4; Decimal) + { + Caption = 'User4'; + } + field(65; User5; Text[10]) + { + Caption = 'User5'; + } + field(66; User6; Text[10]) + { + Caption = 'User6'; + } + field(67; User7; DateTime) + { + Caption = 'User7'; + } + field(68; User8; DateTime) + { + Caption = 'User8'; + } + field(69; VendID; Text[15]) + { + Caption = 'VendID'; + } + field(70; VendInvcNbr; Text[10]) + { + Caption = 'VendInvcNbr'; + } + field(71; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(72; WayBillNbr; Text[10]) + { + Caption = 'WayBillNbr'; + } + } + + keys + { + key(PK; RcptNbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPOTran.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPOTran.Table.al new file mode 100644 index 0000000000..4d1b730968 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPOTran.Table.al @@ -0,0 +1,536 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42810 "SL Hist. POTran" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; AddlCost; Decimal) + { + Caption = 'AddlCost'; + } + field(4; AddlCostPct; Decimal) + { + Caption = 'AddlCostPct'; + } + field(5; AddlCostVouch; Decimal) + { + Caption = 'AddlCostVouch'; + } + field(6; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(7; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(8; APLineID; Integer) + { + Caption = 'APLineID'; + } + field(9; APLineRef; Text[5]) + { + Caption = 'APLineRef'; + } + field(10; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(11; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(12; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(13; BMIExtCost; Decimal) + { + Caption = 'BMIExtCost'; + } + field(14; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(15; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(16; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(17; BMITranAmt; Decimal) + { + Caption = 'BMITranAmt'; + } + field(18; BMIUnitCost; Decimal) + { + Caption = 'BMIUnitCost'; + } + field(19; BMIUnitPrice; Decimal) + { + Caption = 'BMIUnitPrice'; + } + field(20; BOMLineRef; Text[5]) + { + Caption = 'BOMLineRef'; + } + field(21; BOMSequence; Integer) + { + Caption = 'BOMSequence'; + } + field(22; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(23; CostVouched; Decimal) + { + Caption = 'CostVouched'; + } + field(24; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(25; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(26; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(27; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(28; CuryAddlCost; Decimal) + { + Caption = 'CuryAddlCost'; + } + field(29; CuryAddlCostVouch; Decimal) + { + Caption = 'CuryAddlCostVouch'; + } + field(30; CuryCostVouched; Decimal) + { + Caption = 'CuryCostVouched'; + } + field(31; CuryExtCost; Decimal) + { + Caption = 'CuryExtCost'; + } + field(32; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(33; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(34; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(35; CuryTranAmt; Decimal) + { + Caption = 'CuryTranAmt'; + } + field(36; CuryUnitCost; Decimal) + { + Caption = 'CuryUnitCost'; + } + field(37; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(38; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(39; ExtWeight; Decimal) + { + Caption = 'ExtWeight'; + } + field(40; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(41; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(42; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(43; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(44; LineID; Integer) + { + Caption = 'LineID'; + } + field(45; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(46; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(47; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(48; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(49; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(50; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(51; OrigRcptDate; DateTime) + { + Caption = 'OrigRcptDate'; + } + field(52; OrigRcptNbr; Text[10]) + { + Caption = 'OrigRcptNbr'; + } + field(53; OrigRetRcptNbr; Text[10]) + { + Caption = 'OrigRetRcptNbr'; + } + field(54; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(55; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(56; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(57; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(58; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(59; POLineID; Integer) + { + Caption = 'POLineID'; + } + field(60; POLineNbr; Integer) + { + Caption = 'POLineNbr'; + } + field(61; POLIneRef; Text[5]) + { + Caption = 'POLIneRef'; + } + field(62; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(63; POOriginal; Text[1]) + { + Caption = 'POOriginal'; + } + field(64; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(65; PurchaseType; Text[2]) + { + Caption = 'PurchaseType'; + } + field(66; Qty; Decimal) + { + Caption = 'Qty'; + } + field(67; QtyVouched; Decimal) + { + Caption = 'QtyVouched'; + } + field(68; RcptConvFact; Decimal) + { + Caption = 'RcptConvFact'; + } + field(69; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(70; RcptLineRefOrig; Text[5]) + { + Caption = 'RcptLineRefOrig'; + } + field(71; RcptMultDiv; Text[1]) + { + Caption = 'RcptMultDiv'; + } + field(72; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(73; RcptNbrOrig; Text[10]) + { + Caption = 'RcptNbrOrig'; + } + field(74; RcptQty; Decimal) + { + Caption = 'RcptQty'; + } + field(75; RcptUnitDescr; Text[6]) + { + Caption = 'RcptUnitDescr'; + } + field(76; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(77; Refnbr; Text[10]) + { + Caption = 'Refnbr'; + } + field(78; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(79; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(80; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(81; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(82; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(83; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(84; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(85; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(86; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(87; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(88; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(89; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(90; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(91; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(92; SOLineID; Integer) + { + Caption = 'SOLineID'; + } + field(93; SOLineRef; Text[5]) + { + Caption = 'SOLineRef'; + } + field(94; SOOrdNbr; Text[15]) + { + Caption = 'SOOrdNbr'; + } + field(95; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(96; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(97; StepNbr; Integer) + { + Caption = 'StepNbr'; + } + field(98; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(99; SvcContractID; Text[10]) + { + Caption = 'SvcContractID'; + } + field(100; SvcLineNbr; Integer) + { + Caption = 'SvcLineNbr'; + } + field(101; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(102; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(103; TaxIDDflt; Text[10]) + { + Caption = 'TaxIDDflt'; + } + field(104; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(105; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(106; TranDesc; Text[60]) + { + Caption = 'TranDesc'; + } + field(107; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(108; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(109; UnitDescr; Text[6]) + { + Caption = 'UnitDescr'; + } + field(110; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(111; UnitWeight; Decimal) + { + Caption = 'UnitWeight'; + } + field(112; User1; Text[30]) + { + Caption = 'User1'; + } + field(113; User2; Text[30]) + { + Caption = 'User2'; + } + field(114; User3; Decimal) + { + Caption = 'User3'; + } + field(115; User4; Decimal) + { + Caption = 'User4'; + } + field(116; User5; Text[10]) + { + Caption = 'User5'; + } + field(117; User6; Text[10]) + { + Caption = 'User6'; + } + field(118; User7; DateTime) + { + Caption = 'User7'; + } + field(119; User8; DateTime) + { + Caption = 'User8'; + } + field(120; VendId; Text[15]) + { + Caption = 'VendId'; + } + field(121; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(122; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + field(123; WIP_COGS_Acct; Text[10]) + { + Caption = 'WIP_COGS_Acct'; + } + field(124; WIP_COGS_Sub; Text[24]) + { + Caption = 'WIP_COGS_Sub'; + } + field(125; WOBomRef; Text[5]) + { + Caption = 'WOBomRef'; + } + field(126; WOCostType; Text[2]) + { + Caption = 'WOCostType'; + } + field(127; WONbr; Text[10]) + { + Caption = 'WONbr'; + } + field(128; WOStepNbr; Text[5]) + { + Caption = 'WOStepNbr'; + } + } + + keys + { + key(PK; RcptNbr, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPurOrdDet.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPurOrdDet.Table.al new file mode 100644 index 0000000000..1ac0f7ceee --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPurOrdDet.Table.al @@ -0,0 +1,568 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42812 "SL Hist. PurOrdDet" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AddlCostPct; Decimal) + { + Caption = 'AddlCostPct'; + } + field(2; AllocCntr; Integer) + { + Caption = 'AllocCntr'; + } + field(3; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(4; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(5; BlktLineID; Integer) + { + Caption = 'BlktLineID'; + } + field(6; BlktLineRef; Text[5]) + { + Caption = 'BlktLineRef'; + } + field(7; Buyer; Text[10]) + { + Caption = 'Buyer'; + } + field(8; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(9; CostReceived; Decimal) + { + Caption = 'CostReceived'; + } + field(10; CostReturned; Decimal) + { + Caption = 'CostReturned'; + } + field(11; CostVouched; Decimal) + { + Caption = 'CostVouched'; + } + field(12; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; CuryCostReceived; Decimal) + { + Caption = 'CuryCostReceived'; + } + field(17; CuryCostReturned; Decimal) + { + Caption = 'CuryCostReturned'; + } + field(18; CuryCostVouched; Decimal) + { + Caption = 'CuryCostVouched'; + } + field(19; CuryExtCost; Decimal) + { + Caption = 'CuryExtCost'; + } + field(20; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(21; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(22; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(23; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(24; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(25; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(26; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(27; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(28; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(29; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(30; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(31; CuryUnitCost; Decimal) + { + Caption = 'CuryUnitCost'; + } + field(32; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(33; ExtWeight; Decimal) + { + Caption = 'ExtWeight'; + } + field(34; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(35; InclForecastUsageClc; Integer) + { + Caption = 'InclForecastUsageClc'; + } + field(36; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(37; IRIncLeadTime; Integer) + { + Caption = 'IRIncLeadTime'; + } + field(38; KitUnExpld; Integer) + { + Caption = 'KitUnExpld'; + } + field(39; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(40; LineID; Integer) + { + Caption = 'LineID'; + } + field(41; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(42; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(43; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(44; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(45; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(46; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(47; OpenLine; Integer) + { + Caption = 'OpenLine'; + } + field(48; OrigPOLine; Integer) + { + Caption = 'OrigPOLine'; + } + field(49; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(50; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(51; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(52; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(53; POType; Text[2]) + { + Caption = 'POType'; + } + field(54; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(55; PromDate; DateTime) + { + Caption = 'PromDate'; + } + field(56; PurAcct; Text[10]) + { + Caption = 'PurAcct'; + } + field(57; PurchaseType; Text[2]) + { + Caption = 'PurchaseType'; + } + field(58; PurchUnit; Text[6]) + { + Caption = 'PurchUnit'; + } + field(59; PurSub; Text[24]) + { + Caption = 'PurSub'; + } + field(60; QtyOrd; Decimal) + { + Caption = 'QtyOrd'; + } + field(61; QtyRcvd; Decimal) + { + Caption = 'QtyRcvd'; + } + field(62; QtyReturned; Decimal) + { + Caption = 'QtyReturned'; + } + field(63; QtyVouched; Decimal) + { + Caption = 'QtyVouched'; + } + field(64; RcptPctAct; Text[1]) + { + Caption = 'RcptPctAct'; + } + field(65; RcptPctMax; Decimal) + { + Caption = 'RcptPctMax'; + } + field(66; RcptPctMin; Decimal) + { + Caption = 'RcptPctMin'; + } + field(67; RcptStage; Text[1]) + { + Caption = 'RcptStage'; + } + field(68; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(69; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(70; ReqdDate; DateTime) + { + Caption = 'ReqdDate'; + } + field(71; ReqNbr; Text[10]) + { + Caption = 'ReqNbr'; + } + field(72; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(73; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(74; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(75; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(76; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(77; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(78; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(79; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(80; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(81; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(82; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(83; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(84; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(85; ShelfLife; Integer) + { + Caption = 'ShelfLife'; + } + field(86; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(87; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(88; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(89; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(90; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(91; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(92; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(93; ShipViaID; Text[15]) + { + Caption = 'ShipViaID'; + } + field(94; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(95; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(96; SOLineRef; Text[5]) + { + Caption = 'SOLineRef'; + } + field(97; SOOrdNbr; Text[15]) + { + Caption = 'SOOrdNbr'; + } + field(98; SOSchedRef; Text[5]) + { + Caption = 'SOSchedRef'; + } + field(99; StepNbr; Integer) + { + Caption = 'StepNbr'; + } + field(100; SvcContractID; Text[10]) + { + Caption = 'SvcContractID'; + } + field(101; SvcLineNbr; Integer) + { + Caption = 'SvcLineNbr'; + } + field(102; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(103; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(104; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(105; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(106; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(107; TaxCalced; Text[1]) + { + Caption = 'TaxCalced'; + } + field(108; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(109; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(110; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(111; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(112; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(113; TaxIdDflt; Text[10]) + { + Caption = 'TaxIdDflt'; + } + field(114; TranDesc; Text[60]) + { + Caption = 'TranDesc'; + } + field(115; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(116; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(117; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(118; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(119; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(120; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(121; UnitWeight; Decimal) + { + Caption = 'UnitWeight'; + } + field(122; User1; Text[30]) + { + Caption = 'User1'; + } + field(123; User2; Text[30]) + { + Caption = 'User2'; + } + field(124; User3; Decimal) + { + Caption = 'User3'; + } + field(125; User4; Decimal) + { + Caption = 'User4'; + } + field(126; User5; Text[10]) + { + Caption = 'User5'; + } + field(127; User6; Text[10]) + { + Caption = 'User6'; + } + field(128; User7; DateTime) + { + Caption = 'User7'; + } + field(129; User8; DateTime) + { + Caption = 'User8'; + } + field(130; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(131; WIP_COGS_Acct; Text[10]) + { + Caption = 'WIP_COGS_Acct'; + } + field(132; WIP_COGS_Sub; Text[24]) + { + Caption = 'WIP_COGS_Sub'; + } + field(133; WOBOMSeq; Integer) + { + Caption = 'WOBOMSeq'; + } + field(134; WOCostType; Text[2]) + { + Caption = 'WOCostType'; + } + field(135; WONbr; Text[10]) + { + Caption = 'WONbr'; + } + field(136; WOStepNbr; Integer) + { + Caption = 'WOStepNbr'; + } + } + + keys + { + key(PK; PONbr, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPurchOrd.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPurchOrd.Table.al new file mode 100644 index 0000000000..2fb29b1515 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistPurchOrd.Table.al @@ -0,0 +1,540 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42811 "SL Hist. PurchOrd" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AckDateTime; DateTime) + { + Caption = 'AckDateTime'; + } + field(2; ASID; Integer) + { + Caption = 'ASID'; + } + field(3; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(4; BillShipAddr; Integer) + { + Caption = 'BillShipAddr'; + } + field(5; BlktExprDate; DateTime) + { + Caption = 'BlktExprDate'; + } + field(6; BlktPONbr; Text[10]) + { + Caption = 'BlktPONbr'; + } + field(7; Buyer; Text[10]) + { + Caption = 'Buyer'; + } + field(8; BuyerEmail; Text[80]) + { + Caption = 'BuyerEmail'; + } + field(9; CertCompl; Integer) + { + Caption = 'CertCompl'; + } + field(10; ConfirmTo; Text[10]) + { + Caption = 'ConfirmTo'; + } + field(11; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(12; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(13; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(14; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(15; CurrentNbr; Integer) + { + Caption = 'CurrentNbr'; + } + field(16; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(17; CuryFreight; Decimal) + { + Caption = 'CuryFreight'; + } + field(18; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(19; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(20; CuryPOAmt; Decimal) + { + Caption = 'CuryPOAmt'; + } + field(21; CuryPOItemTotal; Decimal) + { + Caption = 'CuryPOItemTotal'; + } + field(22; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(23; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(24; CuryRcptTotAmt; Decimal) + { + Caption = 'CuryRcptTotAmt'; + } + field(25; CuryTaxTot00; Decimal) + { + Caption = 'CuryTaxTot00'; + } + field(26; CuryTaxTot01; Decimal) + { + Caption = 'CuryTaxTot01'; + } + field(27; CuryTaxTot02; Decimal) + { + Caption = 'CuryTaxTot02'; + } + field(28; CuryTaxTot03; Decimal) + { + Caption = 'CuryTaxTot03'; + } + field(29; CuryTxblTot00; Decimal) + { + Caption = 'CuryTxblTot00'; + } + field(30; CuryTxblTot01; Decimal) + { + Caption = 'CuryTxblTot01'; + } + field(31; CuryTxblTot02; Decimal) + { + Caption = 'CuryTxblTot02'; + } + field(32; CuryTxblTot03; Decimal) + { + Caption = 'CuryTxblTot03'; + } + field(33; EDI; Integer) + { + Caption = 'EDI'; + } + field(34; FOB; Text[15]) + { + Caption = 'FOB'; + } + field(35; Freight; Decimal) + { + Caption = 'Freight'; + } + field(36; LastRcptDate; DateTime) + { + Caption = 'LastRcptDate'; + } + field(37; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(38; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(39; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(40; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(41; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(42; OpenPO; Integer) + { + Caption = 'OpenPO'; + } + field(43; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(44; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(45; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(46; POAmt; Decimal) + { + Caption = 'POAmt'; + } + field(47; PODate; DateTime) + { + Caption = 'PODate'; + } + field(48; POItemTotal; Decimal) + { + Caption = 'POItemTotal'; + } + field(49; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(50; POType; Text[2]) + { + Caption = 'POType'; + } + field(51; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(52; PrtBatNbr; Text[10]) + { + Caption = 'PrtBatNbr'; + } + field(53; PrtFlg; Integer) + { + Caption = 'PrtFlg'; + } + field(54; RcptStage; Text[1]) + { + Caption = 'RcptStage'; + } + field(55; RcptTotAmt; Decimal) + { + Caption = 'RcptTotAmt'; + } + field(56; ReqNbr; Text[10]) + { + Caption = 'ReqNbr'; + } + field(57; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(58; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(59; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(60; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(61; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(62; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(63; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(64; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(65; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(66; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(67; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(68; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(69; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(70; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(71; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(72; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(73; ShipAttn; Text[30]) + { + Caption = 'ShipAttn'; + } + field(74; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(75; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(76; ShipCustID; Text[15]) + { + Caption = 'ShipCustID'; + } + field(77; ShipEmail; Text[80]) + { + Caption = 'ShipEmail'; + } + field(78; ShipFax; Text[30]) + { + Caption = 'ShipFax'; + } + field(79; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(80; ShipPhone; Text[30]) + { + Caption = 'ShipPhone'; + } + field(81; ShipSiteID; Text[10]) + { + Caption = 'ShipSiteID'; + } + field(82; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(83; ShiptoID; Text[10]) + { + Caption = 'ShiptoID'; + } + field(84; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(85; ShipVendAddrID; Text[10]) + { + Caption = 'ShipVendAddrID'; + } + field(86; ShipVendID; Text[15]) + { + Caption = 'ShipVendID'; + } + field(87; ShipVia; Text[15]) + { + Caption = 'ShipVia'; + } + field(88; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(89; Status; Text[1]) + { + Caption = 'Status'; + } + field(90; TaxCntr00; Integer) + { + Caption = 'TaxCntr00'; + } + field(91; TaxCntr01; Integer) + { + Caption = 'TaxCntr01'; + } + field(92; TaxCntr02; Integer) + { + Caption = 'TaxCntr02'; + } + field(93; TaxCntr03; Integer) + { + Caption = 'TaxCntr03'; + } + field(94; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(95; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(96; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(97; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(98; TaxTot00; Decimal) + { + Caption = 'TaxTot00'; + } + field(99; TaxTot01; Decimal) + { + Caption = 'TaxTot01'; + } + field(100; TaxTot02; Decimal) + { + Caption = 'TaxTot02'; + } + field(101; TaxTot03; Decimal) + { + Caption = 'TaxTot03'; + } + field(102; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(103; TxblTot00; Decimal) + { + Caption = 'TxblTot00'; + } + field(104; TxblTot01; Decimal) + { + Caption = 'TxblTot01'; + } + field(105; TxblTot02; Decimal) + { + Caption = 'TxblTot02'; + } + field(106; TxblTot03; Decimal) + { + Caption = 'TxblTot03'; + } + field(107; User1; Text[30]) + { + Caption = 'User1'; + } + field(108; User2; Text[30]) + { + Caption = 'User2'; + } + field(109; User3; Decimal) + { + Caption = 'User3'; + } + field(110; User4; Decimal) + { + Caption = 'User4'; + } + field(111; User5; Text[10]) + { + Caption = 'User5'; + } + field(112; User6; Text[10]) + { + Caption = 'User6'; + } + field(113; User7; DateTime) + { + Caption = 'User7'; + } + field(114; User8; DateTime) + { + Caption = 'User8'; + } + field(115; VendAddr1; Text[60]) + { + Caption = 'VendAddr1'; + } + field(116; VendAddr2; Text[60]) + { + Caption = 'VendAddr2'; + } + field(117; VendAddrID; Text[10]) + { + Caption = 'VendAddrID'; + } + field(118; VendAttn; Text[30]) + { + Caption = 'VendAttn'; + } + field(119; VendCity; Text[30]) + { + Caption = 'VendCity'; + } + field(120; VendCountry; Text[3]) + { + Caption = 'VendCountry'; + } + field(121; VendEmail; Text[80]) + { + Caption = 'VendEmail'; + } + field(122; VendFax; Text[30]) + { + Caption = 'VendFax'; + } + field(123; VendID; Text[15]) + { + Caption = 'VendID'; + } + field(124; VendName; Text[60]) + { + Caption = 'VendName'; + } + field(125; VendPhone; Text[30]) + { + Caption = 'VendPhone'; + } + field(126; VendState; Text[3]) + { + Caption = 'VendState'; + } + field(127; VendZip; Text[10]) + { + Caption = 'VendZip'; + } + field(128; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(129; WSID; Integer) + { + Caption = 'VouchStage'; + } + } + + keys + { + key(PK; PONbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOHeader.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOHeader.Table.al new file mode 100644 index 0000000000..775fc99d8d --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOHeader.Table.al @@ -0,0 +1,796 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42813 "SL Hist. SOHeader" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AddressType; Text[1]) + { + Caption = 'AddressType'; + } + field(2; AdminHold; Integer) + { + Caption = 'AdminHold'; + } + field(3; AppliedToDocRef; Text[15]) + { + Caption = 'AppliedToDocRef'; + } + field(4; ApprDetails; Integer) + { + Caption = 'ApprDetails'; + } + field(5; ApprRMA; Integer) + { + Caption = 'ApprRMA'; + } + field(6; ApprTech; Integer) + { + Caption = 'ApprTech'; + } + field(7; ARAcct; Text[10]) + { + Caption = 'ARAcct'; + } + field(8; ARSub; Text[24]) + { + Caption = 'ARSub'; + } + field(9; ASID; Integer) + { + Caption = 'ASID'; + } + field(10; ASID01; Integer) + { + Caption = 'ASID01'; + } + field(11; AuthNbr; Text[20]) + { + Caption = 'AuthNbr'; + } + field(12; AutoPO; Integer) + { + Caption = 'AutoPO'; + } + field(13; AutoPOVendID; Text[15]) + { + Caption = 'AutoPOVendID'; + } + field(14; AwardProbability; Integer) + { + Caption = 'AwardProbability'; + } + field(15; BalDue; Decimal) + { + Caption = 'BalDue'; + } + field(16; BIInvoice; Text[1]) + { + Caption = 'BIInvoice'; + } + field(17; BillAddr1; Text[60]) + { + Caption = 'BillAddr1'; + } + field(18; BillAddr2; Text[60]) + { + Caption = 'BillAddr2'; + } + field(19; BillAddrSpecial; Integer) + { + Caption = 'BillAddrSpecial'; + } + field(20; BillAttn; Text[30]) + { + Caption = 'BillAttn'; + } + field(21; BillCity; Text[30]) + { + Caption = 'BillCity'; + } + field(22; BillCountry; Text[3]) + { + Caption = 'BillCountry'; + } + field(23; BillName; Text[60]) + { + Caption = 'BillName'; + } + field(24; BillPhone; Text[30]) + { + Caption = 'BillPhone'; + } + field(25; BillState; Text[3]) + { + Caption = 'BillState'; + } + field(26; BillThruProject; Integer) + { + Caption = 'BillThruProject'; + } + field(27; BillZip; Text[10]) + { + Caption = 'BillZip'; + } + field(28; BlktOrdNbr; Text[15]) + { + Caption = 'BlktOrdNbr'; + } + field(29; BookCntr; Integer) + { + Caption = 'BookCntr'; + } + field(30; BookCntrMisc; Integer) + { + Caption = 'BookCntrMisc'; + } + field(31; BuildAssyTime; Integer) + { + Caption = 'BuildAssyTime'; + } + field(32; BuildAvailDate; DateTime) + { + Caption = 'BuildAvailDate'; + } + field(33; BuildInvtID; Text[30]) + { + Caption = 'BuildInvtID'; + } + field(34; BuildQty; Decimal) + { + Caption = 'BuildQty'; + } + field(35; BuildQtyUpdated; Decimal) + { + Caption = 'BuildQtyUpdated'; + } + field(36; BuildSiteID; Text[10]) + { + Caption = 'BuildSiteID'; + } + field(37; BuyerID; Text[10]) + { + Caption = 'BuyerID'; + } + field(38; BuyerName; Text[60]) + { + Caption = 'BuyerName'; + } + field(39; CancelDate; DateTime) + { + Caption = 'CancelDate'; + } + field(40; Cancelled; Integer) + { + Caption = 'Cancelled'; + } + field(41; CancelShippers; Integer) + { + Caption = 'CancelShippers'; + } + field(42; CertID; Text[2]) + { + Caption = 'CertID'; + } + field(43; CertNoteID; Integer) + { + Caption = 'CertNoteID'; + } + field(44; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(45; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(46; ConsolInv; Integer) + { + Caption = 'ConsolInv'; + } + field(47; ContractNbr; Text[30]) + { + Caption = 'ContractNbr'; + } + field(48; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(49; CreditApprDays; Integer) + { + Caption = 'CreditApprDays'; + } + field(50; CreditApprLimit; Decimal) + { + Caption = 'CreditApprLimit'; + } + field(51; CreditChk; Integer) + { + Caption = 'CreditChk'; + } + field(52; CreditHold; Integer) + { + Caption = 'CreditHold'; + } + field(53; CreditHoldDate; DateTime) + { + Caption = 'CreditHoldDate'; + } + field(54; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(55; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(56; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(57; CuryBalDue; Decimal) + { + Caption = 'CuryBalDue'; + } + field(58; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(59; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(60; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(61; CuryPremFrtAmtAppld; Decimal) + { + Caption = 'CuryPremFrtAmtAppld'; + } + field(62; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(63; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(64; CuryTotFrt; Decimal) + { + Caption = 'CuryTotFrt'; + } + field(65; CuryTotLineDisc; Decimal) + { + Caption = 'CuryTotLineDisc'; + } + field(66; CuryTotMerch; Decimal) + { + Caption = 'CuryTotMerch'; + } + field(67; CuryTotMisc; Decimal) + { + Caption = 'CuryTotMisc'; + } + field(68; CuryTotOrd; Decimal) + { + Caption = 'CuryTotOrd'; + } + field(69; CuryTotPmt; Decimal) + { + Caption = 'CuryTotPmt'; + } + field(70; CuryTotPremFrt; Decimal) + { + Caption = 'CuryTotPremFrt'; + } + field(71; CuryTotTax; Decimal) + { + Caption = 'CuryTotTax'; + } + field(72; CuryTotTxbl; Decimal) + { + Caption = 'CuryTotTxbl'; + } + field(73; CuryUnshippedBalance; Decimal) + { + Caption = 'CuryUnshippedBalance'; + } + field(74; CuryWholeOrdDisc; Decimal) + { + Caption = 'CuryWholeOrdDisc'; + } + field(75; CustGLClassID; Text[4]) + { + Caption = 'CustGLClassID'; + } + field(76; CustID; Text[15]) + { + Caption = 'CustID'; + } + field(77; CustOrdNbr; Text[25]) + { + Caption = 'CustOrdNbr'; + } + field(78; DateCancelled; DateTime) + { + Caption = 'DateCancelled'; + } + field(79; Dept; Text[30]) + { + Caption = 'Dept'; + } + field(80; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(81; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(82; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(83; Div; Text[30]) + { + Caption = 'Div'; + } + field(84; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(85; EDI810; Integer) + { + Caption = 'EDI810'; + } + field(86; EDI856; Integer) + { + Caption = 'EDI856'; + } + field(87; EDIPOID; Text[10]) + { + Caption = 'EDIPOID'; + } + field(88; EventCntr; Integer) + { + Caption = 'EventCntr'; + } + field(89; FOBID; Text[15]) + { + Caption = 'FOBID'; + } + field(90; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(91; FrtCollect; Integer) + { + Caption = 'FrtCollect'; + } + field(92; FrtSub; Text[24]) + { + Caption = 'FrtSub'; + } + field(93; FrtTermsID; Text[10]) + { + Caption = 'FrtTermsID'; + } + field(94; GeoCode; Text[10]) + { + Caption = 'GeoCode'; + } + field(95; InvcDate; DateTime) + { + Caption = 'InvcDate'; + } + field(96; InvcNbr; Text[15]) + { + Caption = 'InvcNbr'; + } + field(97; IRDemand; Integer) + { + Caption = 'IRDemand'; + } + field(98; LanguageID; Text[4]) + { + Caption = 'LanguageID'; + } + field(99; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(100; LostSaleID; Text[2]) + { + Caption = 'LostSaleID'; + } + field(101; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(102; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(103; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(104; MarkFor; Integer) + { + Caption = 'MarkFor'; + } + field(105; MiscChrgCntr; Integer) + { + Caption = 'MiscChrgCntr'; + } + field(106; NextFunctionClass; Text[4]) + { + Caption = 'NextFunctionClass'; + } + field(107; NextFunctionID; Text[8]) + { + Caption = 'NextFunctionID'; + } + field(108; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(109; OrdDate; DateTime) + { + Caption = 'OrdDate'; + } + field(110; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(111; OrigOrdNbr; Text[15]) + { + Caption = 'OrigOrdNbr'; + } + field(112; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(113; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(114; PmtCntr; Integer) + { + Caption = 'PmtCntr'; + } + field(115; PremFrtAmtApplied; Decimal) + { + Caption = 'PremFrtAmtApplied'; + } + field(116; Priority; Integer) + { + Caption = 'Priority'; + } + field(117; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(118; QuoteDate; DateTime) + { + Caption = 'QuoteDate'; + } + field(119; Released; Integer) + { + Caption = 'Released'; + } + field(120; ReleaseValue; Decimal) + { + Caption = 'ReleaseValue'; + } + field(121; RequireStepAssy; Integer) + { + Caption = 'RequireStepAssy'; + } + field(122; RequireStepInsp; Integer) + { + Caption = 'RequireStepInsp'; + } + field(123; RlseForInvc; Integer) + { + Caption = 'RlseForInvc'; + } + field(124; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(125; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(126; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(127; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(128; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(129; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(130; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(131; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(132; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(133; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(134; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(135; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(136; SellingSiteID; Text[10]) + { + Caption = 'SellingSiteID'; + } + field(137; SFOOrdNbr; Text[15]) + { + Caption = 'SFOOrdNbr'; + } + field(138; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(139; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(140; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(141; ShipAddrSpecial; Integer) + { + Caption = 'ShipAddrSpecial'; + } + field(142; ShipAttn; Text[30]) + { + Caption = 'ShipAttn'; + } + field(143; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(144; ShipCmplt; Integer) + { + Caption = 'ShipCmplt'; + } + field(145; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(146; ShipCustID; Text[15]) + { + Caption = 'ShipCustID'; + } + field(147; ShipGeoCode; Text[10]) + { + Caption = 'ShipGeoCode'; + } + field(148; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(149; ShipPhone; Text[30]) + { + Caption = 'ShipPhone'; + } + field(150; ShipSiteID; Text[10]) + { + Caption = 'ShipSiteID'; + } + field(151; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(152; ShiptoID; Text[10]) + { + Caption = 'ShiptoID'; + } + field(153; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(154; ShipVendID; Text[15]) + { + Caption = 'ShipVendID'; + } + field(155; ShipViaID; Text[15]) + { + Caption = 'ShipViaID'; + } + field(156; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(157; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(158; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(159; Status; Text[1]) + { + Caption = 'Status'; + } + field(160; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(161; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(162; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(163; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(164; TermsID; Text[2]) + { + Caption = 'TermsID'; + } + field(165; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(166; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(167; TotFrt; Decimal) + { + Caption = 'TotFrt'; + } + field(168; TotLineDisc; Decimal) + { + Caption = 'TotLineDisc'; + } + field(169; TotMerch; Decimal) + { + Caption = 'TotMerch'; + } + field(170; TotMisc; Decimal) + { + Caption = 'TotMisc'; + } + field(171; TotOrd; Decimal) + { + Caption = 'TotOrd'; + } + field(172; TotPmt; Decimal) + { + Caption = 'TotPmt'; + } + field(173; TotPremFrt; Decimal) + { + Caption = 'TotPremFrt'; + } + field(174; TotShipWght; Decimal) + { + Caption = 'TotShipWght'; + } + field(175; TotTax; Decimal) + { + Caption = 'TotTax'; + } + field(176; TotTxbl; Decimal) + { + Caption = 'TotTxbl'; + } + field(177; UnshippedBalance; Decimal) + { + Caption = 'UnshippedBalance'; + } + field(178; User1; Text[30]) + { + Caption = 'User1'; + } + field(179; User10; DateTime) + { + Caption = 'User10'; + } + field(180; User2; Text[30]) + { + Caption = 'User2'; + } + field(181; User3; Text[30]) + { + Caption = 'User3'; + } + field(182; User4; Text[30]) + { + Caption = 'User4'; + } + field(183; User5; Decimal) + { + Caption = 'User5'; + } + field(184; User6; Decimal) + { + Caption = 'User6'; + } + field(185; User7; Text[10]) + { + Caption = 'User7'; + } + field(186; User8; Text[10]) + { + Caption = 'User8'; + } + field(187; User9; DateTime) + { + Caption = 'User9'; + } + field(188; VendAddrID; Text[10]) + { + Caption = 'VendAddrID'; + } + field(189; WeekendDelivery; Integer) + { + Caption = 'WeekendDelivery'; + } + field(190; WholeOrdDisc; Decimal) + { + Caption = 'WholeOrdDisc'; + } + field(191; WorkflowID; Integer) + { + Caption = 'WorkflowID'; + } + field(192; WorkflowStatus; Text[1]) + { + Caption = 'WorkflowStatus'; + } + field(193; WSID; Integer) + { + Caption = 'WSID'; + } + } + + keys + { + key(PK; CpnyID, OrdNbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOLine.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOLine.Table.al new file mode 100644 index 0000000000..1f6576341c --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOLine.Table.al @@ -0,0 +1,556 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42814 "SL Hist. SOLine" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(2; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(3; AutoPO; Integer) + { + Caption = 'AutoPO'; + } + field(4; AutoPOVendID; Text[15]) + { + Caption = 'AutoPOVendID'; + } + field(5; BlktOrdLineRef; Text[5]) + { + Caption = 'BlktOrdLineRef'; + } + field(6; BlktOrdQty; Decimal) + { + Caption = 'BlktOrdQty'; + } + field(7; BMICost; Decimal) + { + Caption = 'BMICost'; + } + field(8; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(9; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(10; BMIExtPriceInvc; Decimal) + { + Caption = 'BMIExtPriceInvc'; + } + field(11; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(12; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(13; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(14; BMISlsPrice; Decimal) + { + Caption = 'BMISlsPrice'; + } + field(15; BoundToWO; Integer) + { + Caption = 'BoundToWO'; + } + field(16; CancelDate; DateTime) + { + Caption = 'CancelDate'; + } + field(17; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(18; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(19; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(20; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(21; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(22; CommCost; Decimal) + { + Caption = 'CommCost'; + } + field(23; Cost; Decimal) + { + Caption = 'Cost'; + } + field(24; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(25; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(26; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(27; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(28; CuryCommCost; Decimal) + { + Caption = 'CuryCommCost'; + } + field(29; CuryCost; Decimal) + { + Caption = 'CuryCost'; + } + field(30; CuryListPrice; Decimal) + { + Caption = 'CuryListPrice'; + } + field(31; CurySlsPrice; Decimal) + { + Caption = 'CurySlsPrice'; + } + field(32; CurySlsPriceOrig; Decimal) + { + Caption = 'CurySlsPriceOrig'; + } + field(33; CuryTotCommCost; Decimal) + { + Caption = 'CuryTotCommCost'; + } + field(34; CuryTotCost; Decimal) + { + Caption = 'CuryTotCost'; + } + field(35; CuryTotOrd; Decimal) + { + Caption = 'CuryTotOrd'; + } + field(36; Descr; Text[60]) + { + Caption = 'Descr'; + } + field(37; DescrLang; Text[30]) + { + Caption = 'DescrLang'; + } + field(38; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(39; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(40; DiscPrcType; Text[1]) + { + Caption = 'DiscPrcType'; + } + field(41; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(42; Disp; Text[3]) + { + Caption = 'Disp'; + } + field(43; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(44; InclForecastUsageClc; Integer) + { + Caption = 'InclForecastUsageClc'; + } + field(45; InspID; Text[2]) + { + Caption = 'InspID'; + } + field(46; InspNoteID; Integer) + { + Caption = 'InspNoteID'; + } + field(47; InvAcct; Text[10]) + { + Caption = 'InvAcct'; + } + field(48; InvSub; Text[24]) + { + Caption = 'InvSub'; + } + field(50; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(51; IRDemand; Integer) + { + Caption = 'IRDemand'; + } + field(52; IRInvtID; Text[30]) + { + Caption = 'IRInvtID'; + } + field(53; IRProcessed; Integer) + { + Caption = 'IRProcessed'; + } + field(54; IRSiteID; Text[10]) + { + Caption = 'IRSiteID'; + } + field(55; ItemGLClassID; Text[4]) + { + Caption = 'ItemGLClassID'; + } + field(56; KitComponent; Integer) + { + Caption = 'KitComponent'; + } + field(57; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(58; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(59; ListPrice; Decimal) + { + Caption = 'ListPrice'; + } + field(60; LotSerialReq; Integer) + { + Caption = 'LotSerialReq'; + } + field(61; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(62; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(63; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(64; ManualCost; Integer) + { + Caption = 'ManualCost'; + } + field(65; ManualPrice; Integer) + { + Caption = 'ManualPrice'; + } + field(66; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(67; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(68; OrigINBatNbr; Text[10]) + { + Caption = 'OrigINBatNbr'; + } + field(69; OrigInvcNbr; Text[15]) + { + Caption = 'OrigInvcNbr'; + } + field(70; OrigInvtID; Text[30]) + { + Caption = 'OrigInvtID'; + } + field(71; OrigShipperCnvFact; Decimal) + { + Caption = 'OrigShipperCnvFact'; + } + field(72; OrigShipperID; Text[15]) + { + Caption = 'OrigShipperID'; + } + field(73; OrigShipperLineQty; Decimal) + { + Caption = 'OrigShipperLineQty'; + } + field(74; OrigShipperLineRef; Text[5]) + { + Caption = 'OrigShipperLineRef'; + } + field(75; OrigShipperUnitDesc; Text[6]) + { + Caption = 'OrigShipperUnitDesc'; + } + field(76; OrigShipperMultDiv; Text[1]) + { + Caption = 'OrigShipperMultDiv'; + } + field(77; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(78; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(79; PromDate; DateTime) + { + Caption = 'PromDate'; + } + field(80; QtyBO; Decimal) + { + Caption = 'QtyBO'; + } + field(81; QtyCloseShip; Decimal) + { + Caption = 'QtyCloseShip'; + } + field(82; QtyFuture; Decimal) + { + Caption = 'QtyFuture'; + } + field(83; QtyOpenShip; Decimal) + { + Caption = 'QtyOpenShip'; + } + field(84; QtyOrd; Decimal) + { + Caption = 'QtyOrd'; + } + field(85; QtyShip; Decimal) + { + Caption = 'QtyShip'; + } + field(86; QtyToInvc; Decimal) + { + Caption = 'QtyToInvc'; + } + field(87; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(88; RebateID; Text[10]) + { + Caption = 'RebateID'; + } + field(89; ReqDate; DateTime) + { + Caption = 'ReqDate'; + } + field(90; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(91; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(92; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(93; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(94; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(95; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(96; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(97; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(98; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(99; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(100; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(101; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(102; SalesPriceID; Text[15]) + { + Caption = 'SalesPriceID'; + } + field(103; Sample; Integer) + { + Caption = 'Sample'; + } + field(104; SchedCntr; Integer) + { + Caption = 'SchedCntr'; + } + field(105; Service; Integer) + { + Caption = 'Service'; + } + field(106; ShipWght; Decimal) + { + Caption = 'ShipWght'; + } + field(107; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(108; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(109; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(110; SlsPrice; Decimal) + { + Caption = 'SlsPrice'; + } + field(111; SlsPriceID; Text[15]) + { + Caption = 'SlsPriceID'; + } + field(112; SlsPriceOrig; Decimal) + { + Caption = 'SlsPriceOrig'; + } + field(113; SlsSub; Text[24]) + { + Caption = 'SlsSub'; + } + field(114; SplitLots; Integer) + { + Caption = 'SplitLots'; + } + field(115; Status; Text[1]) + { + Caption = 'Status'; + } + field(116; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(117; Taxable; Integer) + { + Caption = 'Taxable'; + } + field(118; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(119; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(120; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(121; TotOrd; Decimal) + { + Caption = 'TotOrd'; + } + field(122; TotShipWght; Decimal) + { + Caption = 'TotShipWght'; + } + field(123; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(124; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(125; User1; Text[30]) + { + Caption = 'User1'; + } + field(126; User10; DateTime) + { + Caption = 'User10'; + } + field(127; User2; Text[30]) + { + Caption = 'User2'; + } + field(128; User3; Text[30]) + { + Caption = 'User3'; + } + field(129; User4; Text[30]) + { + Caption = 'User4'; + } + field(130; User5; Decimal) + { + Caption = 'User5'; + } + field(131; User6; Decimal) + { + Caption = 'User6'; + } + field(132; User7; Text[10]) + { + Caption = 'User7'; + } + field(133; User8; Text[10]) + { + Caption = 'User8'; + } + field(134; User9; DateTime) + { + Caption = 'User9'; + } + } + + keys + { + key(PK; CpnyID, OrdNbr, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipHeader.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipHeader.Table.al new file mode 100644 index 0000000000..e5d70ddd1b --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipHeader.Table.al @@ -0,0 +1,900 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42815 "SL Hist. SOShipHeader" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AccrDocDate; DateTime) + { + Caption = 'AccrDocDate'; + } + field(2; AccrPerPost; Text[6]) + { + Caption = 'AccrPerPost'; + } + field(3; AccrRevAcct; Text[10]) + { + Caption = 'AccrRevAcct'; + } + field(4; AccrRevSub; Text[24]) + { + Caption = 'AccrRevSub'; + } + field(5; AccrShipRegisterID; Text[10]) + { + Caption = 'AccrShipRegisterID'; + } + field(6; AddressType; Text[1]) + { + Caption = 'AddressType'; + } + field(7; AdminHold; Integer) + { + Caption = 'AdminHold'; + } + field(8; AppliedToDocRef; Text[15]) + { + Caption = 'AppliedToDocRef'; + } + field(9; ARAcct; Text[10]) + { + Caption = 'ARAcct'; + } + field(10; ARBatNbr; Text[10]) + { + Caption = 'ARBatNbr'; + } + field(11; ARDocType; Text[2]) + { + Caption = 'ARDocType'; + } + field(12; ARSub; Text[24]) + { + Caption = 'ARSub'; + } + field(13; ASID; Integer) + { + Caption = 'ASID'; + } + field(14; ASID01; Integer) + { + Caption = 'ASID01'; + } + field(15; AuthNbr; Text[20]) + { + Caption = 'AuthNbr'; + } + field(16; AutoReleaseReturn; Integer) + { + Caption = 'AutoReleaseReturn'; + } + field(17; BalDue; Decimal) + { + Caption = 'BalDue'; + } + field(18; BIInvoice; Text[1]) + { + Caption = 'BIInvoice'; + } + field(19; BillAddr1; Text[60]) + { + Caption = 'BillAddr1'; + } + field(20; BillAddr2; Text[60]) + { + Caption = 'BillAddr2'; + } + field(21; BillAddrSpecial; Integer) + { + Caption = 'BillAddrSpecial'; + } + field(22; BillAttn; Text[30]) + { + Caption = 'BillAttn'; + } + field(23; BillCity; Text[30]) + { + Caption = 'BillCity'; + } + field(24; BillCountry; Text[3]) + { + Caption = 'BillCountry'; + } + field(25; BillName; Text[60]) + { + Caption = 'BillName'; + } + field(26; BillPhone; Text[30]) + { + Caption = 'BillPhone'; + } + field(27; BillState; Text[3]) + { + Caption = 'BillState'; + } + field(28; BillThruProject; Integer) + { + Caption = 'BillThruProject'; + } + field(29; BillZip; Text[10]) + { + Caption = 'BillZip'; + } + field(30; BlktOrdNbr; Text[15]) + { + Caption = 'BlktOrdNbr'; + } + field(31; BMICost; Decimal) + { + Caption = 'BMICost'; + } + field(32; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(33; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(34; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(35; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(36; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(37; BookCntr; Integer) + { + Caption = 'BookCntr'; + } + field(38; BookCntrMisc; Integer) + { + Caption = 'BookCntrMisc'; + } + field(39; BoxCntr; Integer) + { + Caption = 'BoxCntr'; + } + field(40; BuildActQty; Decimal) + { + Caption = 'BuildActQty'; + } + field(41; BuildCmpltDate; DateTime) + { + Caption = 'BuildCmpltDate'; + } + field(42; BuildInvtID; Text[30]) + { + Caption = 'BuildInvtID'; + } + field(43; BuildLotSerCntr; Integer) + { + Caption = 'BuildLotSerCntr'; + } + field(44; BuildQty; Decimal) + { + Caption = 'BuildQty'; + } + field(45; BuildTotalCost; Decimal) + { + Caption = 'BuildTotalCost'; + } + field(46; BuyerID; Text[10]) + { + Caption = 'BuyerID'; + } + field(47; BuyerName; Text[60]) + { + Caption = 'BuyerName'; + } + field(48; CancelBO; Integer) + { + Caption = 'CancelBO'; + } + field(49; Cancelled; Integer) + { + Caption = 'Cancelled'; + } + field(50; CancelOrder; Integer) + { + Caption = 'CancelOrder'; + } + field(51; CertID; Text[2]) + { + Caption = 'CertID'; + } + field(52; CertNoteID; Integer) + { + Caption = 'CertNoteID'; + } + field(53; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(54; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(55; ConsolInv; Integer) + { + Caption = 'ConsolInv'; + } + field(56; ContractNbr; Text[25]) + { + Caption = 'ContractNbr'; + } + field(57; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(58; CreditApprDays; Integer) + { + Caption = 'CreditApprDays'; + } + field(59; CreditApprLimit; Decimal) + { + Caption = 'CreditApprLimit'; + } + field(60; CreditChk; Integer) + { + Caption = 'CreditChk'; + } + field(61; CreditHold; Integer) + { + Caption = 'CreditHold'; + } + field(62; CreditHoldDate; DateTime) + { + Caption = 'CreditHoldDate'; + } + field(63; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(64; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(65; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(66; CuryBalDue; Decimal) + { + Caption = 'CuryBalDue'; + } + field(67; CuryBuildTotCost; Decimal) + { + Caption = 'CuryBuildTotCost'; + } + field(68; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(69; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(70; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(71; CuryPremFrtAmt; Decimal) + { + Caption = 'CuryPremFrtAmt'; + } + field(72; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(73; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(74; CuryTotFrtCost; Decimal) + { + Caption = 'CuryTotFrtCost'; + } + field(75; CuryTotFrtInvc; Decimal) + { + Caption = 'CuryTotFrtInvc'; + } + field(76; CuryTotInvc; Decimal) + { + Caption = 'CuryTotInvc'; + } + field(77; CuryTotLineDisc; Decimal) + { + Caption = 'CuryTotLineDisc'; + } + field(78; CuryTotMerch; Decimal) + { + Caption = 'CuryTotMerch'; + } + field(79; CuryTotMisc; Decimal) + { + Caption = 'CuryTotMisc'; + } + field(80; CuryTotPmt; Decimal) + { + Caption = 'CuryTotPmt'; + } + field(81; CuryTotTax; Decimal) + { + Caption = 'CuryTotTax'; + } + field(82; CuryTotTxbl; Decimal) + { + Caption = 'CuryTotTxbl'; + } + field(83; CuryWholeOrdDisc; Decimal) + { + Caption = 'CuryWholeOrdDisc'; + } + field(84; CustGLClassID; Text[4]) + { + Caption = 'CustGLClassID'; + } + field(85; CustID; Text[15]) + { + Caption = 'CustID'; + } + field(86; CustOrdNbr; Text[25]) + { + Caption = 'CustOrdNbr'; + } + field(87; DateCancelled; DateTime) + { + Caption = 'DateCancelled'; + } + field(88; Dept; Text[30]) + { + Caption = 'Dept'; + } + field(89; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(90; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(91; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(92; Div; Text[30]) + { + Caption = 'Div'; + } + field(93; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(94; EDI810; Integer) + { + Caption = 'EDI810'; + } + field(95; EDI856; Integer) + { + Caption = 'EDI856'; + } + field(96; EDIASNProcNbr; Text[10]) + { + Caption = 'EDIASNProcNbr'; + } + field(97; EDIInvcProcNbr; Text[10]) + { + Caption = 'EDIInvcProcNbr'; + } + field(98; ETADate; DateTime) + { + Caption = 'ETADate'; + } + field(99; FOBID; Text[15]) + { + Caption = 'FOBID'; + } + field(100; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(101; FrtCollect; Integer) + { + Caption = 'FrtCollect'; + } + field(102; FrtSub; Text[24]) + { + Caption = 'FrtSub'; + } + field(103; FrtTermsID; Text[10]) + { + Caption = 'FrtTermsID'; + } + field(104; GeoCode; Text[10]) + { + Caption = 'GeoCode'; + } + field(105; INBatNbr; Text[10]) + { + Caption = 'INBatNbr'; + } + field(106; InvcDate; DateTime) + { + Caption = 'InvcDate'; + } + field(107; InvcNbr; Text[15]) + { + Caption = 'InvcNbr'; + } + field(108; InvcPrint; Integer) + { + Caption = 'InvcPrint'; + } + field(109; LanguageID; Text[4]) + { + Caption = 'LanguageID'; + } + field(110; LastAppendDate; DateTime) + { + Caption = 'LastAppendDate'; + } + field(111; LastAppendTime; DateTime) + { + Caption = 'LastAppendTime'; + } + field(112; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(113; LotSerialHold; Integer) + { + Caption = 'LotSerialHold'; + } + field(114; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(115; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(116; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(117; MarkFor; Integer) + { + Caption = 'MarkFor'; + } + field(118; MiscChrgCntr; Integer) + { + Caption = 'MiscChrgCntr'; + } + field(119; NextFunctionClass; Text[4]) + { + Caption = 'NextFunctionClass'; + } + field(120; NextFunctionID; Text[8]) + { + Caption = 'NextFunctionID'; + } + field(121; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(122; OKToAppend; Integer) + { + Caption = 'OKToAppend'; + } + field(123; OrdDate; DateTime) + { + Caption = 'OrdDate'; + } + field(224; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(124; OverridePerPost; Integer) + { + Caption = 'OverridePerPost'; + } + field(125; PackDate; DateTime) + { + Caption = 'PackDate'; + } + field(126; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(127; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(128; PickDate; DateTime) + { + Caption = 'PickDate'; + } + field(129; PmtCntr; Integer) + { + Caption = 'PmtCntr'; + } + field(130; PremFrt; Integer) + { + Caption = 'PremFrt'; + } + field(131; PremFrtAmt; Decimal) + { + Caption = 'PremFrtAmt'; + } + field(132; Priority; Integer) + { + Caption = 'Priority'; + } + field(133; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(134; RelDate; DateTime) + { + Caption = 'RelDate'; + } + field(135; ReleaseValue; Decimal) + { + Caption = 'ReleaseValue'; + } + field(136; RequireStepAssy; Integer) + { + Caption = 'RequireStepAssy'; + } + field(137; RequireStepInsp; Integer) + { + Caption = 'RequireStepInsp'; + } + field(138; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(139; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(140; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(141; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(142; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(143; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(144; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(145; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(146; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(147; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(148; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(149; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(150; SellingSiteID; Text[10]) + { + Caption = 'SellingSiteID'; + } + field(151; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(152; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(153; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(154; ShipAddrSpecial; Integer) + { + Caption = 'ShipAddrSpecial'; + } + field(155; ShipAttn; Text[30]) + { + Caption = 'ShipAttn'; + } + field(156; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(157; ShipCmplt; Integer) + { + Caption = 'ShipCmplt'; + } + field(158; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(159; ShipCustID; Text[15]) + { + Caption = 'ShipCustID'; + } + field(160; ShipDateAct; DateTime) + { + Caption = 'ShipDateAct'; + } + field(161; ShipDatePlan; DateTime) + { + Caption = 'ShipDatePlan'; + } + field(162; ShipGeoCode; Text[10]) + { + Caption = 'ShipGeoCode'; + } + field(163; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(164; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(165; ShipPhone; Text[30]) + { + Caption = 'ShipPhone'; + } + field(166; ShippingConfirmed; Integer) + { + Caption = 'ShippingConfirmed'; + } + field(167; ShippingManifested; Integer) + { + Caption = 'ShippingManifested'; + } + field(168; ShipRegisterID; Text[10]) + { + Caption = 'ShipRegisterID'; + } + field(169; ShipSiteID; Text[10]) + { + Caption = 'ShipSiteID'; + } + field(170; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(171; ShiptoID; Text[10]) + { + Caption = 'ShiptoID'; + } + field(172; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(173; ShipVendAddrID; Text[10]) + { + Caption = 'ShipVendAddrID'; + } + field(174; ShipVendID; Text[15]) + { + Caption = 'ShipVendID'; + } + field(175; ShipViaID; Text[15]) + { + Caption = 'ShipViaID'; + } + field(176; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(177; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(178; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(179; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(180; Status; Text[1]) + { + Caption = 'Status'; + } + field(181; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(182; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(183; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(184; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(185; TermsID; Text[2]) + { + Caption = 'TermsID'; + } + field(186; TotBoxes; Integer) + { + Caption = 'TotBoxes'; + } + field(187; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(188; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(189; TotFrtCost; Decimal) + { + Caption = 'TotFrtCost'; + } + field(190; TotFrtInvc; Decimal) + { + Caption = 'TotFrtInvc'; + } + field(191; TotInvc; Decimal) + { + Caption = 'TotInvc'; + } + field(192; TotLineDisc; Decimal) + { + Caption = 'TotLineDisc'; + } + field(193; TotMerch; Decimal) + { + Caption = 'TotMerch'; + } + field(194; TotMisc; Decimal) + { + Caption = 'TotMisc'; + } + field(195; TotPallets; Integer) + { + Caption = 'TotPallets'; + } + field(196; TotPmt; Decimal) + { + Caption = 'TotPmt'; + } + field(197; TotShipWght; Decimal) + { + Caption = 'TotShipWght'; + } + field(198; TotTax; Decimal) + { + Caption = 'TotTax'; + } + field(199; TotTxbl; Decimal) + { + Caption = 'TotTxbl'; + } + field(200; TrackingNbr; Text[25]) + { + Caption = 'TrackingNbr'; + } + field(201; TransitTime; Integer) + { + Caption = 'TransitTime'; + } + field(202; User1; Text[30]) + { + Caption = 'User1'; + } + field(203; User10; DateTime) + { + Caption = 'User10'; + } + field(204; User2; Text[30]) + { + Caption = 'User2'; + } + field(205; User3; Text[30]) + { + Caption = 'User3'; + } + field(206; User4; Text[30]) + { + Caption = 'User4'; + } + field(207; User5; Decimal) + { + Caption = 'User5'; + } + field(208; User6; Decimal) + { + Caption = 'User6'; + } + field(209; User7; Text[10]) + { + Caption = 'User7'; + } + field(210; User8; Text[10]) + { + Caption = 'User8'; + } + field(211; User9; DateTime) + { + Caption = 'User9'; + } + field(212; WeekendDelivery; Integer) + { + Caption = 'WeekendDelivery'; + } + field(213; WholeOrdDisc; Decimal) + { + Caption = 'WholeOrdDisc'; + } + field(214; WorkflowID; Integer) + { + Caption = 'WorkflowID'; + } + field(215; WorkflowStatus; Text[1]) + { + Caption = 'WorkflowStatus'; + } + field(216; WSID; Integer) + { + Caption = 'WSID'; + } + field(217; WSID01; Integer) + { + Caption = 'WSID01'; + } + field(218; Zone; Text[6]) + { + Caption = 'Zone'; + } + } + + keys + { + key(PK; CpnyID, ShipperID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipLine.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipLine.Table.al new file mode 100644 index 0000000000..993f3334ca --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipLine.Table.al @@ -0,0 +1,572 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42816 "SL Hist. SOShipLine" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(2; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(3; AvgCost; Decimal) + { + Caption = 'AvgCost'; + } + field(4; BMICost; Decimal) + { + Caption = 'BMICost'; + } + field(5; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(6; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(7; BMIExtPriceInvc; Decimal) + { + Caption = 'BMIExtPriceInvc'; + } + field(8; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(9; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(10; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(11; BMISlsPrice; Decimal) + { + Caption = 'BMISlsPrice'; + } + field(12; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(13; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(14; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(15; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(16; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(17; CommCost; Decimal) + { + Caption = 'CommCost'; + } + field(18; Cost; Decimal) + { + Caption = 'Cost'; + } + field(19; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(20; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(21; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(22; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(23; CuryCommCost; Decimal) + { + Caption = 'CuryCommCost'; + } + field(24; CuryCost; Decimal) + { + Caption = 'CuryCost'; + } + field(25; CuryListPrice; Decimal) + { + Caption = 'CuryListPrice'; + } + field(26; CurySlsPrice; Decimal) + { + Caption = 'CurySlsPrice'; + } + field(27; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(28; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(29; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(30; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(31; CuryTotCommCost; Decimal) + { + Caption = 'CuryTotCommCost'; + } + field(32; CuryTotCost; Decimal) + { + Caption = 'CuryTotCost'; + } + field(33; CuryTotInvc; Decimal) + { + Caption = 'CuryTotInvc'; + } + field(34; CuryTotMerch; Decimal) + { + Caption = 'CuryTotMerch'; + } + field(35; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(36; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(37; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(38; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(39; Descr; Text[60]) + { + Caption = 'Descr'; + } + field(40; DescrLang; Text[30]) + { + Caption = 'DescrLang'; + } + field(41; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(42; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(43; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(44; Disp; Text[3]) + { + Caption = 'Disp'; + } + field(45; InspID; Text[2]) + { + Caption = 'InspID'; + } + field(46; InspNoteID; Integer) + { + Caption = 'InspNoteID'; + } + field(47; InvAcct; Text[10]) + { + Caption = 'InvAcct'; + } + field(48; InvSub; Text[24]) + { + Caption = 'InvSub'; + } + field(49; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(50; IRDemand; Integer) + { + Caption = 'IRDemand'; + } + field(51; IRInvtID; Text[30]) + { + Caption = 'IRInvtID'; + } + field(52; IRSiteID; Text[10]) + { + Caption = 'IRSiteID'; + } + field(53; ItemGLClassID; Text[4]) + { + Caption = 'ItemGLClassID'; + } + field(54; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(55; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(56; ListPrice; Decimal) + { + Caption = 'ListPrice'; + } + field(57; LotSerCntr; Integer) + { + Caption = 'LotSerCntr'; + } + field(58; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(59; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(60; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(61; ManualCost; Integer) + { + Caption = 'ManualCost'; + } + field(62; ManualPrice; Integer) + { + Caption = 'ManualPrice'; + } + field(63; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(64; OrdLineRef; Text[5]) + { + Caption = 'OrdLineRef'; + } + field(65; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(66; OrigBO; Decimal) + { + Caption = 'OrigBO'; + } + field(67; OrigINBatNbr; Text[10]) + { + Caption = 'OrigINBatNbr'; + } + field(68; OrigInvcNbr; Text[15]) + { + Caption = 'OrigInvcNbr'; + } + field(69; OrigInvtID; Text[30]) + { + Caption = 'OrigInvtID'; + } + field(70; OrigShipperID; Text[15]) + { + Caption = 'OrigShipperID'; + } + field(71; OrigShipperLineRef; Text[5]) + { + Caption = 'OrigShipperLineRef'; + } + field(72; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(73; QtyBO; Decimal) + { + Caption = 'QtyBO'; + } + field(74; QtyFuture; Decimal) + { + Caption = 'QtyFuture'; + } + field(75; QtyOrd; Decimal) + { + Caption = 'QtyOrd'; + } + field(76; QtyPick; Decimal) + { + Caption = 'QtyPick'; + } + field(77; QtyPrevShip; Decimal) + { + Caption = 'QtyPrevShip'; + } + field(78; QtyShip; Decimal) + { + Caption = 'QtyShip'; + } + field(79; RebateID; Text[10]) + { + Caption = 'RebateID'; + } + field(80; RebatePer; Text[6]) + { + Caption = 'RebatePer'; + } + field(81; RebateRefNbr; Text[10]) + { + Caption = 'RebateRefNbr'; + } + field(82; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(83; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(84; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(85; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(86; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(87; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(88; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(89; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(90; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(91; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(92; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(93; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(94; Sample; Integer) + { + Caption = 'Sample'; + } + field(95; Service; Integer) + { + Caption = 'Service'; + } + field(96; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(97; ShipWght; Decimal) + { + Caption = 'ShipWght'; + } + field(98; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(99; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(100; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(101; SlsPrice; Decimal) + { + Caption = 'SlsPrice'; + } + field(102; SlsPriceID; Text[15]) + { + Caption = 'SlsPriceID'; + } + field(103; SlsSub; Text[24]) + { + Caption = 'SlsSub'; + } + field(104; SplitLots; Integer) + { + Caption = 'SplitLots'; + } + field(105; Status; Text[1]) + { + Caption = 'Status'; + } + field(106; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(107; Taxable; Integer) + { + Caption = 'Taxable'; + } + field(108; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(109; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(110; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(111; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(112; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(113; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(114; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(115; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(116; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(117; TaxIDDflt; Text[10]) + { + Caption = 'TaxIDDflt'; + } + field(118; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(119; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(120; TotInvc; Decimal) + { + Caption = 'TotInvc'; + } + field(121; TotMerch; Decimal) + { + Caption = 'TotMerch'; + } + field(122; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(123; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(124; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(125; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(126; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(127; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(128; User1; Text[30]) + { + Caption = 'User1'; + } + field(129; User10; DateTime) + { + Caption = 'User10'; + } + field(130; User2; Text[30]) + { + Caption = 'User2'; + } + field(131; User3; Text[30]) + { + Caption = 'User3'; + } + field(132; User4; Text[30]) + { + Caption = 'User4'; + } + field(133; User5; Decimal) + { + Caption = 'User5'; + } + field(134; User6; Decimal) + { + Caption = 'User6'; + } + field(135; User7; Text[10]) + { + Caption = 'User7'; + } + field(136; User8; Text[10]) + { + Caption = 'User8'; + } + field(137; User9; DateTime) + { + Caption = 'User9'; + } + } + + keys + { + key(PK; CpnyID, ShipperID, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipLot.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipLot.Table.al new file mode 100644 index 0000000000..b73ae993f3 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOShipLot.Table.al @@ -0,0 +1,216 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42817 "SL Hist. SOShipLot" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; BoxRef; Text[5]) + { + Caption = 'BoxRef'; + } + field(2; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(3; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(4; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(5; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(6; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(7; InvtId; Text[30]) + { + Caption = 'InvtId'; + } + field(8; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(9; LotSerNbr; Text[25]) + { + Caption = 'LotSerNbr'; + } + field(10; LotSerRef; Text[5]) + { + Caption = 'LotSerRef'; + } + field(11; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(12; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(13; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(14; MfgrLotSerNbr; Text[25]) + { + Caption = 'MfgrLotSerNbr'; + } + field(15; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(16; OrdLineRef; Text[5]) + { + Caption = 'OrdLineRef'; + } + field(17; OrdLotSerRef; Text[5]) + { + Caption = 'OrdLotSerRef'; + } + field(18; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(19; OrdSchedRef; Text[5]) + { + Caption = 'OrdSchedRef'; + } + field(20; QtyPick; Decimal) + { + Caption = 'QtyPick'; + } + field(21; QtyPickStock; Decimal) + { + Caption = 'QtyPickStock'; + } + field(22; QtyShip; Decimal) + { + Caption = 'QtyShip'; + } + field(23; RMADisposition; Text[3]) + { + Caption = 'RMADisposition'; + } + field(24; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(25; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(26; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(27; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(28; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(29; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(30; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(31; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(32; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(33; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(34; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(35; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(36; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(37; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(38; User1; Text[30]) + { + Caption = 'User1'; + } + field(39; User10; DateTime) + { + Caption = 'User10'; + } + field(40; User2; Text[30]) + { + Caption = 'User2'; + } + field(41; User3; Text[30]) + { + Caption = 'User3'; + } + field(42; User4; Text[30]) + { + Caption = 'User4'; + } + field(43; User5; Decimal) + { + Caption = 'User5'; + } + field(44; User6; Decimal) + { + Caption = 'User6'; + } + field(45; User7; Text[10]) + { + Caption = 'User7'; + } + field(46; User8; Text[10]) + { + Caption = 'User8'; + } + field(47; User9; DateTime) + { + Caption = 'User9'; + } + field(48; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(PK; CpnyID, ShipperID, LineRef, LotSerRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOType.Table.al b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOType.Table.al new file mode 100644 index 0000000000..f192f69c58 --- /dev/null +++ b/Apps/W1/DynamicsSLHistoricalData/app/src/tables/SLHistSOType.Table.al @@ -0,0 +1,324 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL.HistoricalData; + +table 42818 "SL Hist. SOType" +{ + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(76; Active; Integer) + { + Caption = 'Active'; + } + field(1; ARAcct; Text[10]) + { + Caption = 'ARAcct'; + } + field(2; ARSub; Text[31]) + { + Caption = 'ARSub'; + } + field(3; AssemblyOnSat; Integer) + { + Caption = 'AssemblyOnSat'; + } + field(4; AssemblyOnSun; Integer) + { + Caption = 'AssemblyOnSun'; + } + field(5; AutoReleaseReturns; Integer) + { + Caption = 'AutoReleaseReturns'; + } + field(6; Behavior; Text[4]) + { + Caption = 'Behavior'; + } + field(7; CancelDays; Integer) + { + Caption = 'CancelDays'; + } + field(8; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(9; COGSSub; Text[31]) + { + Caption = 'COGSSub'; + } + field(10; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(11; Crtd_DateTime; DateTime) + { + Caption = 'Crtd'; + } + field(12; Crtd_Prog; Text[8]) + { + Caption = 'Crtd'; + } + field(13; Crtd_User; Text[10]) + { + Caption = 'Crtd'; + } + field(14; Descr; Text[30]) + { + Caption = 'Descr'; + } + field(15; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(16; DiscSub; Text[31]) + { + Caption = 'DiscSub'; + } + field(17; Disp; Text[3]) + { + Caption = 'Disp'; + } + field(18; EnterLotSer; Integer) + { + Caption = 'EnterLotSer'; + } + field(19; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(20; FrtSub; Text[31]) + { + Caption = 'FrtSub'; + } + field(21; InvAcct; Text[10]) + { + Caption = 'InvAcct'; + } + field(22; InvcNbrAR; Integer) + { + Caption = 'InvcNbrAR'; + } + field(23; InvcNbrPrefix; Text[15]) + { + Caption = 'InvcNbrPrefix'; + } + field(24; InvcNbrType; Text[4]) + { + Caption = 'InvcNbrType'; + } + field(25; InvSub; Text[31]) + { + Caption = 'InvSub'; + } + field(26; LastInvcNbr; Text[10]) + { + Caption = 'LastInvcNbr'; + } + field(27; LastOrdNbr; Text[10]) + { + Caption = 'LastOrdNbr'; + } + field(28; LastShipperNbr; Text[10]) + { + Caption = 'LastShipperNbr'; + } + field(29; LUpd_DateTime; DateTime) + { + Caption = 'LUpd'; + } + field(30; LUpd_Prog; Text[8]) + { + Caption = 'LUpd'; + } + field(31; LUpd_User; Text[10]) + { + Caption = 'LUpd'; + } + field(32; MiscAcct; Text[10]) + { + Caption = 'MiscAcct'; + } + field(33; MiscSub; Text[31]) + { + Caption = 'MiscSub'; + } + field(34; NoAutoCreateShippers; Integer) + { + Caption = 'NoAutoCreateShippers'; + } + field(35; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(36; OrdNbrPrefix; Text[15]) + { + Caption = 'OrdNbrPrefix'; + } + field(37; OrdNbrType; Text[4]) + { + Caption = 'OrdNbrType'; + } + field(38; ProjectStatus; Text[1]) + { + Caption = 'ProjectStatus'; + } + field(39; RequireDetailAppr; Integer) + { + Caption = 'RequireDetailAppr'; + } + field(40; RequireManRelease; Integer) + { + Caption = 'RequireManRelease'; + } + field(41; RequireTechAppr; Integer) + { + Caption = 'RequireTechAppr'; + } + field(42; ReturnOrderTypeID; Text[4]) + { + Caption = 'ReturnOrderTypeID'; + } + field(43; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(44; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(45; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(46; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(47; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(48; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(49; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(50; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(51; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(52; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(53; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(54; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(55; ShipperPrefix; Text[15]) + { + Caption = 'ShipperPrefix'; + } + field(56; ShipperType; Text[4]) + { + Caption = 'ShipperType'; + } + field(57; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(58; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(59; SlsSub; Text[31]) + { + Caption = 'SlsSub'; + } + field(60; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(61; StdOrdType; Integer) + { + Caption = 'StdOrdType'; + } + field(62; TemplateProject; Text[16]) + { + Caption = 'TemplateProject'; + } + field(63; User1; Text[30]) + { + Caption = 'User1'; + } + field(64; User10; DateTime) + { + Caption = 'User10'; + } + field(65; User2; Text[30]) + { + Caption = 'User2'; + } + field(66; User3; Text[30]) + { + Caption = 'User3'; + } + field(67; User4; Text[30]) + { + Caption = 'User4'; + } + field(68; User5; Decimal) + { + Caption = 'User5'; + } + field(69; User6; Decimal) + { + Caption = 'User6'; + } + field(70; User7; Text[10]) + { + Caption = 'User7'; + } + field(71; User8; Text[10]) + { + Caption = 'User8'; + } + field(72; User9; DateTime) + { + Caption = 'User9'; + } + field(73; WholeOrdDiscAcct; Text[10]) + { + Caption = 'WholeOrdDiscAcct'; + } + field(74; WholeOrdDiscSub; Text[31]) + { + Caption = 'WholeOrdDiscSub'; + } + } + + keys + { + key(PK; CpnyID, SOTypeID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/Permissions/EDocCoreObjects.PermissionSet.al b/Apps/W1/EDocument/app/Permissions/EDocCoreObjects.PermissionSet.al index bf944db752..3000c3ad9d 100644 --- a/Apps/W1/EDocument/app/Permissions/EDocCoreObjects.PermissionSet.al +++ b/Apps/W1/EDocument/app/Permissions/EDocCoreObjects.PermissionSet.al @@ -9,7 +9,6 @@ using Microsoft.eServices.EDocument.IO.Peppol; using Microsoft.EServices.EDocument.OrderMatch; using Microsoft.EServices.EDocument.OrderMatch.Copilot; using Microsoft.eServices.EDocument.Service.Participant; - permissionset 6100 "E-Doc. Core - Objects" { Assignable = false; diff --git a/Apps/W1/EDocument/app/app.json b/Apps/W1/EDocument/app/app.json index d845e6d38d..b7c8d66be4 100644 --- a/Apps/W1/EDocument/app/app.json +++ b/Apps/W1/EDocument/app/app.json @@ -24,7 +24,7 @@ "idRanges": [ { "from": 6100, - "to": 6170 + "to": 6190 } ], "resourceExposurePolicy": { diff --git a/Apps/W1/EDocument/app/src/Document/EDocument.Page.al b/Apps/W1/EDocument/app/src/Document/EDocument.Page.al index c409c73bbf..d975f90883 100644 --- a/Apps/W1/EDocument/app/src/Document/EDocument.Page.al +++ b/Apps/W1/EDocument/app/src/Document/EDocument.Page.al @@ -4,11 +4,13 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.eServices.EDocument; +using System.Telemetry; +using System.Utilities; +using Microsoft.eServices.EDocument.Integration.Send; +using Microsoft.eServices.EDocument.Integration.Receive; using Microsoft.Bank.Reconciliation; using Microsoft.eServices.EDocument.OrderMatch; using Microsoft.eServices.EDocument.OrderMatch.Copilot; -using System.Telemetry; -using System.Utilities; page 6121 "E-Document" { @@ -235,13 +237,14 @@ page 6121 "E-Document" trigger OnAction() var EDocService: Record "E-Document Service"; + ActionContext: Codeunit ActionContext; EDocServices: Page "E-Document Services"; begin EDocServices.LookupMode := true; if EDocServices.RunModal() = Action::LookupOK then begin EDocServices.GetRecord(EDocService); EDocumentErrorHelper.ClearErrorMessages(Rec); - EDocIntegrationManagement.GetApproval(Rec, EDocService); + EDocIntegrationManagement.GetApprovalStatus(Rec, EDocService, ActionContext); end end; } @@ -255,13 +258,14 @@ page 6121 "E-Document" trigger OnAction() var EDocService: Record "E-Document Service"; + ActionContext: Codeunit ActionContext; EDocServices: Page "E-Document Services"; begin EDocServices.LookupMode := true; if EDocServices.RunModal() = Action::LookupOK then begin EDocServices.GetRecord(EDocService); EDocumentErrorHelper.ClearErrorMessages(Rec); - EDocIntegrationManagement.Cancel(Rec, EDocService); + EDocIntegrationManagement.GetCancellationStatus(Rec, EDocService, ActionContext); end end; } @@ -494,7 +498,9 @@ page 6121 "E-Document" HasErrorsOrWarnings := (EDocumentErrorHelper.ErrorMessageCount(Rec) + EDocumentErrorHelper.WarningMessageCount(Rec)) > 0; HasErrors := EDocumentErrorHelper.ErrorMessageCount(Rec) > 0; if HasErrorsOrWarnings then - ShowErrorsAndWarnings(); + ShowErrorsAndWarnings() + else + ClearErrorsAndWarnings(); SetStyle(); ResetActionVisiability(); @@ -529,19 +535,30 @@ page 6121 "E-Document" ErrorsAndWarningsNotification.Send(); end; + local procedure ClearErrorsAndWarnings() + var + TempErrorMessage: Record "Error Message" temporary; + begin + CurrPage.ErrorMessagesPart.Page.SetRecords(TempErrorMessage); + CurrPage.ErrorMessagesPart.Page.Update(false); + end; + local procedure SendEDocument() var EDocService: Record "E-Document Service"; + SendContext: Codeunit SendContext; EDocServices: Page "E-Document Services"; IsAsync: Boolean; begin EDocServices.LookupMode(true); if EDocServices.RunModal() <> Action::LookupOK then exit; + EDocServices.GetRecord(EDocService); EDocumentErrorHelper.ClearErrorMessages(Rec); - if not EDocIntegrationManagement.Send(Rec, EDocService, IsAsync) then + if not EDocIntegrationManagement.Send(Rec, EDocService, SendContext, IsAsync) then exit; + if IsAsync then EDocumentBackgroundjobs.ScheduleGetResponseJob(); end; diff --git a/Apps/W1/EDocument/app/src/Document/EDocumentServiceStatus.Enum.al b/Apps/W1/EDocument/app/src/Document/EDocumentServiceStatus.Enum.al index 162c8a9afc..ad49ffec3c 100644 --- a/Apps/W1/EDocument/app/src/Document/EDocumentServiceStatus.Enum.al +++ b/Apps/W1/EDocument/app/src/Document/EDocumentServiceStatus.Enum.al @@ -27,4 +27,5 @@ enum 6106 "E-Document Service Status" value(16; "Batch Imported") { Caption = 'Batch imported'; } value(17; "Order Linked") { Caption = 'Order linked'; } value(18; "Pending") { Caption = 'Pending Document Link'; } + value(19; "Approval Error") { Caption = 'Approval error'; } } diff --git a/Apps/W1/EDocument/app/src/Extensions/EDocCustomerCard.PageExt.al b/Apps/W1/EDocument/app/src/Extensions/EDocCustomerCard.PageExt.al index 56b65a1838..782dbe9694 100644 --- a/Apps/W1/EDocument/app/src/Extensions/EDocCustomerCard.PageExt.al +++ b/Apps/W1/EDocument/app/src/Extensions/EDocCustomerCard.PageExt.al @@ -43,8 +43,8 @@ pageextension 6163 "E-Doc. Customer Card" extends "Customer Card" trigger OnAfterGetCurrRecord() begin - Rec.TestField("No."); - ParticipantIdCount := ServiceParticipant.GetParticipantIdCount(Enum::"E-Document Source Type"::Customer, Rec."No."); + if Rec."No." <> '' then + ParticipantIdCount := ServiceParticipant.GetParticipantIdCount(Enum::"E-Document Source Type"::Customer, Rec."No."); end; } \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Extensions/EDocVendorPage.PageExt.al b/Apps/W1/EDocument/app/src/Extensions/EDocVendorPage.PageExt.al index bf956112fd..45cdc083ec 100644 --- a/Apps/W1/EDocument/app/src/Extensions/EDocVendorPage.PageExt.al +++ b/Apps/W1/EDocument/app/src/Extensions/EDocVendorPage.PageExt.al @@ -35,8 +35,8 @@ pageextension 6161 "E-Doc. Vendor Page" extends "Vendor Card" trigger OnAfterGetCurrRecord() begin - Rec.TestField("No."); - ParticipantIdCount := ServiceParticipant.GetParticipantIdCount(Enum::"E-Document Source Type"::Vendor, Rec."No."); + if Rec."No." <> '' then + ParticipantIdCount := ServiceParticipant.GetParticipantIdCount(Enum::"E-Document Source Type"::Vendor, Rec."No."); end; } \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/ActionContext.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Actions/ActionContext.Codeunit.al new file mode 100644 index 0000000000..6db3048b06 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/ActionContext.Codeunit.al @@ -0,0 +1,39 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Receive; + +using Microsoft.eServices.EDocument.Integration.Action; +using Microsoft.eServices.EDocument.Integration; + +/// +/// Represents the context for an action. +/// +codeunit 6187 ActionContext +{ + Access = Public; + InherentEntitlements = X; + InherentPermissions = X; + + /// + /// Contains the HTTP message state. + /// + procedure Http(): Codeunit "Http Message State" + begin + exit(this.HttpMessageState); + end; + + /// + /// Contains the status of the integration action. + /// + procedure Status(): Codeunit "Integration Action Status" + begin + exit(this.IntegrationActionStatus); + end; + + var + HttpMessageState: Codeunit "Http Message State"; + IntegrationActionStatus: Codeunit "Integration Action Status"; + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/EDocumentActionRunner.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Actions/EDocumentActionRunner.Codeunit.al new file mode 100644 index 0000000000..15ae9964c9 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/EDocumentActionRunner.Codeunit.al @@ -0,0 +1,81 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Action; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument.Integration.Receive; + +/// +/// Run E-Document Actions +/// +codeunit 6178 "E-Document Action Runner" +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + IAction: Interface IDocumentAction; + begin + IAction := ActionType; + this.UpdateStatusBool := IAction.InvokeAction(this.EDocument, this.EDocumentService, this.ActionContext); + end; + + /// + /// Sets the parameters for the E-Document Action + /// + procedure SetEDocumentAndService(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service") + begin + this.EDocument.Copy(EDocument); + this.EDocumentService.Copy(EDocumentService); + end; + + /// + /// Gets the E-Document and the E-Document Service for the E-Document Action + /// + procedure GetEDocumentAndService(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service") + begin + EDocument.Copy(this.EDocument); + EDocumentService.Copy(this.EDocumentService); + end; + + /// + /// Returns if running action lead to update in service status. + /// Certain actions dont need to update service status, like asking if document was approved. + /// + /// True if service status should be updated + procedure ShouldActionUpdateStatus(): Boolean + begin + exit(this.UpdateStatusBool); + end; + + /// + /// Sets the action type for the E-Document Action. + /// The implementation of the action that will run is determined by the ActionType. + /// + /// + procedure SetActionType(Action: Enum "Integration Action Type") + begin + this.ActionType := Action; + end; + + /// + /// Sets the context for the E-Document Action + /// + /// + procedure SetContext(ActionContext: Codeunit ActionContext) + begin + this.ActionContext := ActionContext; + end; + + var + EDocument: Record "E-Document"; + EDocumentService: Record "E-Document Service"; + ActionContext: Codeunit ActionContext; + ActionType: Enum "Integration Action Type"; + UpdateStatusBool: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/HttpMessageState.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Actions/HttpMessageState.Codeunit.al new file mode 100644 index 0000000000..48b84496b7 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/HttpMessageState.Codeunit.al @@ -0,0 +1,51 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration; + +/// +/// Codeunit to manage the HTTP state for the integration actions. +/// +codeunit 6190 "Http Message State" +{ + Access = Public; + InherentEntitlements = X; + InherentPermissions = X; + + /// + /// Retrieves the HTTP request message object. + /// + procedure GetHttpRequestMessage(): HttpRequestMessage; + begin + exit(this.HttpRequestMessage); + end; + + /// + /// Sets the HTTP request message object. + /// + procedure SetHttpRequestMessage(HttpRequestMessage: HttpRequestMessage); + begin + this.HttpRequestMessage := HttpRequestMessage; + end; + + /// + /// Retrieves the HTTP response message object. + /// + procedure GetHttpResponseMessage(): HttpResponseMessage; + begin + exit(this.HttpResponseMessage); + end; + + /// + /// Sets the HTTP response message object. + /// + procedure SetHttpResponseMessage(HttpResponseMessage: HttpResponseMessage); + begin + this.HttpResponseMessage := HttpResponseMessage; + end; + + var + HttpRequestMessage: HttpRequestMessage; + HttpResponseMessage: HttpResponseMessage; +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/EmptyIntegrationAction.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/EmptyIntegrationAction.Codeunit.al new file mode 100644 index 0000000000..d87a7a2b7f --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/EmptyIntegrationAction.Codeunit.al @@ -0,0 +1,27 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Action; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument.Integration.Receive; + +/// +/// This codeunit is used to implement the "Action Invoker" interface. It is used to provide a default implementation for the "Action Invoker" interface. +/// +codeunit 6176 "Empty Integration Action" implements IDocumentAction +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + procedure InvokeAction(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + begin + // This method serves as a placeholder implementation for the IDocumentAction interface. + exit(false); + end; + + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/SentDocumentApproval.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/SentDocumentApproval.Codeunit.al new file mode 100644 index 0000000000..7866323244 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/SentDocumentApproval.Codeunit.al @@ -0,0 +1,32 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Action; + +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Receive; + + +/// +/// Executes the approval check for the sent E-Document. +/// +codeunit 6182 "Sent Document Approval" implements IDocumentAction +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + procedure InvokeAction(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + begin + ActionContext.Status().SetErrorStatus(Enum::"E-Document Service Status"::"Approval Error"); + ActionContext.Status().SetStatus(Enum::"E-Document Service Status"::"Approved"); + ISentDocumentActions := EDocumentService."Sent Actions Integration"; + exit(ISentDocumentActions.GetApprovalStatus(EDocument, EDocumentService, ActionContext)); + end; + + var + ISentDocumentActions: Interface ISentDocumentActions; + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/SentDocumentCancellation.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/SentDocumentCancellation.Codeunit.al new file mode 100644 index 0000000000..75abdefe86 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/Implementations/SentDocumentCancellation.Codeunit.al @@ -0,0 +1,32 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Action; + +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Receive; + + +/// +/// Executes the cancellation check for the sent E-Document. +/// +codeunit 6183 "Sent Document Cancellation" implements IDocumentAction +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + procedure InvokeAction(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + begin + ActionContext.Status().SetErrorStatus(Enum::"E-Document Service Status"::"Cancel Error"); + ActionContext.Status().SetStatus(Enum::"E-Document Service Status"::"Canceled"); + ISentDocumentActions := EDocumentService."Sent Actions Integration"; + exit(ISentDocumentActions.GetCancellationStatus(EDocument, EDocumentService, ActionContext)); + end; + + var + ISentDocumentActions: Interface ISentDocumentActions; + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/IntegrationActionStatus.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Actions/IntegrationActionStatus.Codeunit.al new file mode 100644 index 0000000000..326bf4b6ea --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/IntegrationActionStatus.Codeunit.al @@ -0,0 +1,54 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Action; + +using Microsoft.eServices.EDocument; + +/// +/// Codeunit to manage the state for the integration actions. +/// +codeunit 6184 "Integration Action Status" +{ + Access = Public; + InherentEntitlements = X; + InherentPermissions = X; + + /// + /// Sets the status of the integration action. + /// + procedure SetStatus(Status: Enum "E-Document Service Status") + begin + this.Status := Status; + end; + + /// + /// Retrieves the status of the integration action. + /// + procedure GetStatus(): Enum "E-Document Service Status" + begin + exit(this.Status); + end; + + /// + /// Sets the error status of an integration action. + /// Used when actions result in an error by runtime or logged error message. + /// + procedure SetErrorStatus(ErrorStatus: Enum "E-Document Service Status") + begin + this.ErrorStatus := ErrorStatus; + end; + + /// + /// Retrieves the error status of the integration action. + /// + procedure GetErrorStatus(): Enum "E-Document Service Status" + begin + exit(this.ErrorStatus); + end; + + + var + Status, ErrorStatus : Enum "E-Document Service Status"; +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/IntegrationActionType.Enum.al b/Apps/W1/EDocument/app/src/Integration/Actions/IntegrationActionType.Enum.al new file mode 100644 index 0000000000..f809de5773 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/IntegrationActionType.Enum.al @@ -0,0 +1,31 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Action; + +using Microsoft.eServices.EDocument.Integration.Interfaces; + +/// +/// Type of actions that can be performed on an E-Document +/// Actions are invoked using the InvokeAction method in Integration Management +/// +enum 6170 "Integration Action Type" implements IDocumentAction +{ + Access = Public; + Extensible = true; + + value(0; "No Action") + { + Implementation = IDocumentAction = "Empty Integration Action"; + } + value(1; "Sent Document Approval") + { + Implementation = IDocumentAction = "Sent Document Approval"; + } + value(2; "Sent Document Cancellation") + { + Implementation = IDocumentAction = "Sent Document Cancellation"; + } + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Actions/SentDocumentActions.Enum.al b/Apps/W1/EDocument/app/src/Integration/Actions/SentDocumentActions.Enum.al new file mode 100644 index 0000000000..25f0e6d59c --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Actions/SentDocumentActions.Enum.al @@ -0,0 +1,23 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Action; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; + +/// +/// Type of actions that can be performed on an E-Document +/// Actions are invoked using the InvokeAction method in Integration Management +/// +enum 6150 "Sent Document Actions" implements ISentDocumentActions +{ + Access = Public; + Extensible = true; + + value(0; "No Action") + { + Implementation = ISentDocumentActions = "E-Document No Integration"; + } +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/EDocIntegrationManagement.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/EDocIntegrationManagement.Codeunit.al index 60c6265005..64694ba908 100644 --- a/Apps/W1/EDocument/app/src/Integration/EDocIntegrationManagement.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Integration/EDocIntegrationManagement.Codeunit.al @@ -6,16 +6,20 @@ namespace Microsoft.eServices.EDocument; using System.Telemetry; using System.Utilities; +using Microsoft.eServices.EDocument.Integration.Receive; +using Microsoft.eServices.EDocument.Integration.Send; +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument.Integration.Action; codeunit 6134 "E-Doc. Integration Management" { Permissions = tabledata "E-Document" = m; - internal procedure Send(var EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var IsAsync: Boolean) Success: Boolean + #region Send + + internal procedure Send(var EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext; var IsAsync: Boolean) Success: Boolean var TempBlob: Codeunit "Temp Blob"; - HttpResponse: HttpResponseMessage; - HttpRequest: HttpRequestMessage; ErrorCount: Integer; begin Success := false; @@ -27,25 +31,35 @@ codeunit 6134 "E-Doc. Integration Management" AddLogAndUpdateEDocument(EDocument, EDocumentService, Enum::"E-Document Service Status"::"Sending Error"); exit; end; + + // Set default behavior + SendContext.SetTempBlob(TempBlob); + SendContext.Status().SetStatus(Enum::"E-Document Service Status"::Sent); + ErrorCount := EDocumentErrorHelper.ErrorMessageCount(EDocument); - Send(EDocumentService, EDocument, TempBlob, IsAsync, HttpRequest, HttpResponse); + RunSend(EDocumentService, EDocument, SendContext, IsAsync); Success := EDocumentErrorHelper.ErrorMessageCount(EDocument) = ErrorCount; - AddLogAndUpdateEDocument(EDocument, EDocumentService, CalculateServiceStatus(IsAsync, Success)); - EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, HttpRequest, HttpResponse); + AddLogAndUpdateEDocument(EDocument, EDocumentService, DetermineServiceStatus(SendContext, IsAsync, Success)); + EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage()); end; internal procedure SendBatch(var EDocuments: Record "E-Document"; EDocumentService: Record "E-Document Service"; var IsAsync: Boolean) Success: Boolean var + SendContext: Codeunit SendContext; TempBlob: Codeunit "Temp Blob"; - HttpResponse: HttpResponseMessage; - HttpRequest: HttpRequestMessage; ErrorCount: Integer; BeforeSendEDocErrorCount: Dictionary of [Integer, Integer]; begin Success := false; - if EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration" then - exit; +#if not CLEAN26 + if (EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration") and + (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::"No Integration") then + exit(false); +#else + if (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::"No Integration") then + exit(false); +#endif EDocuments.FindSet(); if not EDocumentLog.GetDocumentBlobFromLog(EDocuments, EDocumentService, TempBlob, Enum::"E-Document Service Status"::Exported) then begin @@ -56,21 +70,201 @@ codeunit 6134 "E-Doc. Integration Management" exit; end; + SendContext.SetTempBlob(TempBlob); + SendContext.Status().SetStatus(Enum::"E-Document Service Status"::Sent); + EDocuments.FindSet(); repeat BeforeSendEDocErrorCount.Add(EDocuments."Entry No", EDocumentErrorHelper.ErrorMessageCount(EDocuments)); until EDocuments.Next() = 0; - SendBatch(EDocumentService, EDocuments, TempBlob, IsAsync, HttpRequest, HttpResponse); + RunSendBatch(EDocumentService, EDocuments, SendContext, IsAsync); EDocuments.FindSet(); repeat BeforeSendEDocErrorCount.Get(EDocuments."Entry No", ErrorCount); Success := EDocumentErrorHelper.ErrorMessageCount(EDocuments) = ErrorCount; - AddLogAndUpdateEDocument(EDocuments, EDocumentService, CalculateServiceStatus(IsAsync, Success)); - EDocumentLog.InsertIntegrationLog(EDocuments, EDocumentService, HttpRequest, HttpResponse); + AddLogAndUpdateEDocument(EDocuments, EDocumentService, DetermineServiceStatus(SendContext, IsAsync, Success)); + EDocumentLog.InsertIntegrationLog(EDocuments, EDocumentService, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage()); until EDocuments.Next() = 0; end; - internal procedure GetApproval(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service") + #endregion + + #region Receive + +#if not CLEAN26 + internal procedure ReceiveDocument(EDocService: Record "E-Document Service"; EDocIntegration: Interface "E-Document Integration") + var + EDocument, EDocument2 : Record "E-Document"; + EDocLog: Record "E-Document Log"; + TempBlob: Codeunit "Temp Blob"; + EDocImport: Codeunit "E-Doc. Import"; + EDocErrorHelper: Codeunit "E-Document Error Helper"; + EDocumentServiceStatus: Enum "E-Document Service Status"; + HttpResponse: HttpResponseMessage; + HttpRequest: HttpRequestMessage; + I, EDocBatchDataStorageEntryNo, EDocCount : Integer; + HasErrors, IsCreated, IsProcessed : Boolean; + begin + EDocIntegration.ReceiveDocument(TempBlob, HttpRequest, HttpResponse); + + if not TempBlob.HasValue() then + exit; + + EDocCount := EDocIntegration.GetDocumentCountInBatch(TempBlob); + if EDocCount = 0 then + exit; + + if EDocCount > 1 then + EDocumentServiceStatus := Enum::"E-Document Service Status"::"Batch Imported" + else + EDocumentServiceStatus := Enum::"E-Document Service Status"::Imported; + + HasErrors := false; + for I := 1 to EDocCount do begin + IsCreated := false; + IsProcessed := false; + EDocument.Init(); + EDocument."Index In Batch" := I; + EDocImport.BeforeInsertImportedEdocument(EDocument, EDocService, TempBlob, EDocCount, HttpRequest, HttpResponse, IsCreated, IsProcessed); + + if not IsCreated then begin + EDocument."Entry No" := 0; + EDocument.Status := EDocument.Status::"In Progress"; + EDocument.Direction := EDocument.Direction::Incoming; + EDocument.Insert(); + + if I = 1 then begin + EDocLog := EDocumentLog.InsertLog(EDocument, EDocService, TempBlob, EDocumentServiceStatus); + EDocBatchDataStorageEntryNo := EDocLog."E-Doc. Data Storage Entry No."; + end else begin + EDocLog := EDocumentLog.InsertLog(EDocument, EDocService, EDocumentServiceStatus); + EDocumentLog.ModifyDataStorageEntryNo(EDocLog, EDocBatchDataStorageEntryNo); + end; + + EDocumentLog.InsertIntegrationLog(EDocument, EDocService, HttpRequest, HttpResponse); + EDocumentProcessing.InsertServiceStatus(EDocument, EDocService, EDocumentServiceStatus); + EDocumentProcessing.ModifyEDocumentStatus(EDocument, EDocumentServiceStatus); + + EDocImport.AfterInsertImportedEdocument(EDocument, EDocService, TempBlob, EDocCount, HttpRequest, HttpResponse); + end; + + if not IsProcessed then + EDocImport.ProcessImportedDocument(EDocument, EDocService, TempBlob, EDocService."Create Journal Lines"); + + if EDocErrorHelper.HasErrors(EDocument) then begin + EDocument2 := EDocument; + HasErrors := true; + end; + end; + + if HasErrors and GuiAllowed() then + if Confirm(DocNotCreatedQst, true, EDocument2."Document Type") then + Page.Run(Page::"E-Document", EDocument2); + + end; +#endif + + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; ReceiveContext: Codeunit ReceiveContext) + var + EDocument: Record "E-Document"; + DocumentMetadata: Codeunit "Temp Blob"; + Documents: Codeunit "Temp Blob List"; + IDocumentReceiver: Interface IDocumentReceiver; + Index: Integer; + begin + IDocumentReceiver := EDocumentService."Service Integration V2"; + RunReceiveDocuments(EDocumentService, Documents, IDocumentReceiver, ReceiveContext); + + if Documents.IsEmpty() then + exit; + + for Index := 1 to Documents.Count() do begin + + EDocument."Entry No" := 0; + EDocument."Index In Batch" := Index; + EDocument.Direction := EDocument.Direction::Incoming; + EDocument.Insert(); + + Documents.Get(Index, DocumentMetadata); + if ReceiveSingleDocument(EDocument, EDocumentService, DocumentMetadata, IDocumentReceiver) then begin + // Insert shared data for all imported documents + EDocumentLog.InsertLog(EDocument, EDocumentService, DocumentMetadata, Enum::"E-Document Service Status"::"Batch Imported"); + EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, ReceiveContext.Http().GetHttpRequestMessage(), ReceiveContext.Http().GetHttpResponseMessage()); + end else + EDocument.Delete(); + end; + end; + + local procedure ReceiveSingleDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; IDocumentReceiver: Interface IDocumentReceiver): Boolean + var + ReceiveContext, FetchContextImpl : Codeunit ReceiveContext; + ErrorCount: Integer; + Success, IsFetchableType : Boolean; + begin + ReceiveContext.Status().SetStatus(Enum::"E-Document Service Status"::Imported); + ErrorCount := EDocumentErrorHelper.ErrorMessageCount(EDocument); + RunDownloadDocument(EDocument, EDocumentService, DocumentMetadataBlob, IDocumentReceiver, ReceiveContext); + Success := EDocumentErrorHelper.ErrorMessageCount(EDocument) = ErrorCount; + + if not Success then + exit(false); + + if not ReceiveContext.GetTempBlob().HasValue() then + exit(false); + + IsFetchableType := IDocumentReceiver is IReceivedDocumentMarker; + if IsFetchableType then begin + ErrorCount := EDocumentErrorHelper.ErrorMessageCount(EDocument); + RunMarkFetched(EDocument, EDocumentService, ReceiveContext.GetTempBlob(), IDocumentReceiver, FetchContextImpl); + Success := EDocumentErrorHelper.ErrorMessageCount(EDocument) = ErrorCount; + + if not Success then + exit(false); + end; + + // Only after sucecssfully downloading and (optionally) marking as fetched, the document is considered imported + // Insert logs for downloading document + InsertLogAndEDocumentStatus(EDocument, EDocumentService, ReceiveContext.GetTempBlob(), ReceiveContext.Status().GetStatus()); + EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, ReceiveContext.Http().GetHttpRequestMessage(), ReceiveContext.Http().GetHttpResponseMessage()); + + // Insert logs for marking document as fetched + if IsFetchableType then + EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, FetchContextImpl.Http().GetHttpRequestMessage(), FetchContextImpl.Http().GetHttpResponseMessage()); + + exit(true); + end; + + + #endregion + + #region Actions + + procedure InvokeAction(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionType: Enum "Integration Action Type"; ActionContext: Codeunit ActionContext) + var + ErrorCount: Integer; + Success, UpdateStatus : Boolean; + begin + EDocumentService.TestField("Service Integration V2"); + + ErrorCount := EDocumentErrorHelper.ErrorMessageCount(EDocument); + UpdateStatus := RunAction(ActionType, EDocument, EDocumentService, ActionContext); + Success := EDocumentErrorHelper.ErrorMessageCount(EDocument) = ErrorCount; + + if not Success then begin + AddLogAndUpdateEDocument(EDocument, EDocumentService, ActionContext.Status().GetErrorStatus()); + EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, ActionContext.Http().GetHttpRequestMessage(), ActionContext.Http().GetHttpResponseMessage()); + exit; + end; + + if UpdateStatus then + AddLogAndUpdateEDocument(EDocument, EDocumentService, ActionContext.Status().GetStatus()); + + // Communication logs are stored regardless if EDocument status should change. + EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, ActionContext.Http().GetHttpRequestMessage(), ActionContext.Http().GetHttpResponseMessage()); + end; + + internal procedure GetApprovalStatus(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext) +#if not CLEAN26 var EDocumentServiceStatus: Record "E-Document Service Status"; EDocIntegration: Interface "E-Document Integration"; @@ -78,10 +272,20 @@ codeunit 6134 "E-Doc. Integration Management" HttpResponse: HttpResponseMessage; HttpRequest: HttpRequestMessage; IsHandled: Boolean; +#endif begin - if EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration" then +#if not CLEAN26 + if (EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration") and + (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::"No Integration") then + exit; +#endif + + if EDocumentService."Service Integration V2" <> EDocumentService."Service Integration V2"::"No Integration" then begin + InvokeAction(EDocument, EDocumentService, Enum::"Integration Action Type"::"Sent Document Approval", ActionContext); exit; + end; +#if not CLEAN26 EDocServiceStatus := Enum::"E-Document Service Status"::Rejected; EDocumentServiceStatus.Get(EDocument."Entry No", EDocumentService.Code); EDocIntegration := EDocumentService."Service Integration"; @@ -98,9 +302,11 @@ codeunit 6134 "E-Doc. Integration Management" AddLogAndUpdateEDocument(EDocument, EDocumentService, EDocServiceStatus); EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, HttpRequest, HttpResponse); end; +#endif end; - internal procedure Cancel(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service") + internal procedure GetCancellationStatus(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext) +#if not CLEAN26 var EDocumentServiceStatus: Record "E-Document Service Status"; EDocIntegration: Interface "E-Document Integration"; @@ -108,10 +314,20 @@ codeunit 6134 "E-Doc. Integration Management" HttpResponse: HttpResponseMessage; HttpRequest: HttpRequestMessage; IsHandled: Boolean; +#endif begin - if EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration" then +#if not CLEAN26 + if (EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration") and + (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::"No Integration") then + exit; +#endif + + if EDocumentService."Service Integration V2" <> EDocumentService."Service Integration V2"::"No Integration" then begin + InvokeAction(EDocument, EDocumentService, Enum::"Integration Action Type"::"Sent Document Cancellation", ActionContext); exit; + end; +#if not CLEAN26 EDocumentServiceStatus.Get(EDocument."Entry No", EDocumentService.Code); EDocIntegration := EDocumentService."Service Integration"; @@ -127,78 +343,48 @@ codeunit 6134 "E-Doc. Integration Management" AddLogAndUpdateEDocument(EDocument, EDocumentService, EDocServiceStatus); EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, HttpRequest, HttpResponse); end; +#endif end; - local procedure CalculateServiceStatus(IsAsync: Boolean; SendingWasSuccessful: Boolean) Status: Enum "E-Document Service Status" - begin - if IsAsync then - Status := Enum::"E-Document Service Status"::"Pending Response" - else - Status := Enum::"E-Document Service Status"::Sent; - - if not SendingWasSuccessful then - Status := Enum::"E-Document Service Status"::"Sending Error"; - end; - - local procedure IsEDocumentInStateToSend(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"): Boolean - var - EDocumentServiceStatus: Record "E-Document Service Status"; - IsHandled, IsInStateToSend : Boolean; - begin - OnBeforeIsEDocumentInStateToSend(EDocument, EDocumentService, IsInStateToSend, IsHandled); - if IsHandled then - exit(IsInStateToSend); - if EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration" then - exit(false); + #endregion - if EDocumentServiceStatus.Get(EDocument."Entry No", EDocumentService.Code) then - if not (EDocumentServiceStatus.Status in [Enum::"E-Document Service Status"::"Sending Error", Enum::"E-Document Service Status"::Exported]) then begin - Message(EDocumentSendErr, EDocumentServiceStatus.Status); - exit(false); - end; - - exit(true); - end; - - local procedure Send(EDocService: Record "E-Document Service"; var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + local procedure RunSend(EDocService: Record "E-Document Service"; var EDocument: Record "E-Document"; SendContext: Codeunit SendContext; var IsAsync: Boolean) var - EDocumentSend: Codeunit "E-Document Send"; + SendRunner: Codeunit "Send Runner"; TelemetryDimensions: Dictionary of [Text, Text]; begin - // Commit before create document with error handling + // Commit needed for "if codeunit run" pattern when catching errors. Commit(); EDocumentProcessing.GetTelemetryDimensions(EDocService, EDocument, TelemetryDimensions); Telemetry.LogMessage('0000LBL', EDocTelemetrySendScopeStartLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All, TelemetryDimensions); + OnBeforeSendDocument(EDocument, EDocService, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage()); - Clear(EDocumentSend); - EDocumentSend.SetSource(EDocService, EDocument, TempBlob, HttpRequest, HttpResponse); - - OnBeforeSendDocument(EDocument, EDocService, HttpRequest, HttpResponse); - if not EDocumentSend.Run() then + SendRunner.SetDocumentAndService(EDocument, EDocService); + SendRunner.SetContext(SendContext); + if not SendRunner.Run() then EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, GetLastErrorText()); - EDocumentSend.GetSource(EDocService, EDocument, HttpRequest, HttpResponse); - IsAsync := EDocumentSend.IsAsync(); - - OnAfterSendDocument(EDocument, EDocService, HttpRequest, HttpResponse); + SendRunner.GetDocumentAndService(EDocument, EDocService); + IsAsync := SendRunner.GetIsAsync(); + OnAfterSendDocument(EDocument, EDocService, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage()); Telemetry.LogMessage('0000LBM', EDocTelemetrySendScopeEndLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); end; - local procedure SendBatch(EDocService: Record "E-Document Service"; var EDocuments: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + local procedure RunSendBatch(EDocService: Record "E-Document Service"; var EDocuments: Record "E-Document"; SendContext: Codeunit SendContext; var IsAsync: Boolean) var - EDocumentSend: Codeunit "E-Document Send"; + SendRunner: Codeunit "Send Runner"; ErrorText: Text; TelemetryDimensions: Dictionary of [Text, Text]; begin - // Commit before create document with error handling + // Commit needed for "if codeunit run" pattern when catching errors. Commit(); EDocumentProcessing.GetTelemetryDimensions(EDocService, EDocuments, TelemetryDimensions); Telemetry.LogMessage('0000LBN', EDocTelemetrySendBatchScopeStartLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All, TelemetryDimensions); - Clear(EDocumentSend); - EDocumentSend.SetSource(EDocService, EDocuments, TempBlob, HttpRequest, HttpResponse); - if not EDocumentSend.Run() then begin + SendRunner.SetDocumentAndService(EDocuments, EDocService); + SendRunner.SetContext(SendContext); + if not SendRunner.Run() then begin ErrorText := GetLastErrorText(); EDocuments.FindSet(); repeat @@ -206,12 +392,94 @@ codeunit 6134 "E-Doc. Integration Management" until EDocuments.Next() = 0; end; - EDocumentSend.GetSource(EDocService, EDocuments, HttpRequest, HttpResponse); - IsAsync := EDocumentSend.IsAsync(); + SendRunner.GetDocumentAndService(EDocuments, EDocService); + IsAsync := SendRunner.GetIsAsync(); Telemetry.LogMessage('0000LBO', EDocTelemetrySendBatchScopeEndLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); end; + local procedure RunReceiveDocuments(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; IDocumentReceiver: Interface IDocumentReceiver; ReceiveContext: Codeunit ReceiveContext) + var + ReceiveDocs: Codeunit "Receive Documents"; + TelemetryDimensions: Dictionary of [Text, Text]; + begin + // Commit needed for "if codeunit run" pattern when catching errors. + Commit(); + Telemetry.LogMessage('0000O0A', EDocTelemetryReceiveDocsScopeStartLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All, TelemetryDimensions); + + ReceiveDocs.SetInstance(IDocumentReceiver); + ReceiveDocs.SetService(EDocumentService); + ReceiveDocs.SetContext(ReceiveContext); + ReceiveDocs.SetDocuments(Documents); + if not ReceiveDocs.Run() then + exit; + + ReceiveDocs.GetService(EDocumentService); + Telemetry.LogMessage('0000O0B', EDocTelemetryReceiveDocsScopeEndLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); + end; + + local procedure RunDownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var DocumentsBlob: Codeunit "Temp Blob"; IDocumentReceiver: Interface IDocumentReceiver; ReceiveContext: Codeunit ReceiveContext) + var + DownloadDoc: Codeunit "Download Document"; + TelemetryDimensions: Dictionary of [Text, Text]; + begin + // Commit needed for "if codeunit run" pattern when catching errors. + Commit(); + Telemetry.LogMessage('0000O0C', EDocTelemetryReciveDownloadDocScopeStartLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All, TelemetryDimensions); + + DownloadDoc.SetInstance(IDocumentReceiver); + DownloadDoc.SetContext(ReceiveContext); + DownloadDoc.SetParameters(EDocument, EDocumentService, DocumentsBlob); + if not DownloadDoc.Run() then + EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, GetLastErrorText()); + + DownloadDoc.GetDocumentAndService(EDocument, EDocumentService); + Telemetry.LogMessage('0000O0D', EDocTelemetryReciveDownloadDocScopeEndLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); + end; + + local procedure RunMarkFetched(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentBlob: Codeunit "Temp Blob"; IDocumentReceiver: Interface IDocumentReceiver; ReceiveContext: Codeunit ReceiveContext) + var + MarkFetched: Codeunit "Mark Fetched"; + TelemetryDimensions: Dictionary of [Text, Text]; + begin + // Commit needed for "if codeunit run" pattern when catching errors. + Commit(); + Telemetry.LogMessage('0000O2X', EDocTelemetryMarkFetchedScopeStartLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All, TelemetryDimensions); + + MarkFetched.SetInstance(IDocumentReceiver); + MarkFetched.SetContext(ReceiveContext); + MarkFetched.SetParameters(EDocument, EDocumentService, DocumentBlob); + if not MarkFetched.Run() then + EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, GetLastErrorText()); + + MarkFetched.GetParameters(EDocument, EDocumentService); + Telemetry.LogMessage('0000O2Y', EDocTelemetryMarkFetchedScopeEndLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); + end; + + local procedure RunAction(ActionType: Enum "Integration Action Type"; var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + var + EDocumentActionRunner: Codeunit "E-Document Action Runner"; + Success: Boolean; + begin + // Commit needed for "if codeunit run" pattern when catching errors. + Commit(); + Telemetry.LogMessage('0000O08', EDocTelemetryActionScopeStartLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); + + EDocumentActionRunner.SetActionType(ActionType); + EDocumentActionRunner.SetContext(ActionContext); + EDocumentActionRunner.SetEDocumentAndService(EDocument, EDocumentService); + Success := EDocumentActionRunner.Run(); + + if not Success then + EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, GetLastErrorText()); + + EDocumentActionRunner.GetEDocumentAndService(EDocument, EDocumentService); + Telemetry.LogMessage('0000O09', EDocTelemetryActionScopeEndLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); + exit(EDocumentActionRunner.ShouldActionUpdateStatus()) + end; + + #region Helper Function + local procedure AddLogAndUpdateEDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; EDocServiceStatus: Enum "E-Document Service Status") begin EDocumentLog.InsertLog(EDocument, EDocumentService, EDocServiceStatus); @@ -219,6 +487,53 @@ codeunit 6134 "E-Doc. Integration Management" EDocumentProcessing.ModifyEDocumentStatus(EDocument, EDocServiceStatus); end; + local procedure InsertLogAndEDocumentStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentBlob: Codeunit "Temp Blob"; EDocServiceStatus: Enum "E-Document Service Status") + begin + EDocumentLog.InsertLog(EDocument, EDocumentService, DocumentBlob, EDocServiceStatus); + EDocumentProcessing.InsertServiceStatus(EDocument, EDocumentService, EDocServiceStatus); + EDocumentProcessing.ModifyEDocumentStatus(EDocument, EDocServiceStatus); + end; + + local procedure DetermineServiceStatus(SendContext: Codeunit SendContext; IsAsync: Boolean; SendingWasSuccessful: Boolean): Enum "E-Document Service Status" + begin + if not SendingWasSuccessful then + exit(Enum::"E-Document Service Status"::"Sending Error"); + + if IsAsync then + exit(Enum::"E-Document Service Status"::"Pending Response"); + + exit(SendContext.Status().GetStatus()); + end; + + local procedure IsEDocumentInStateToSend(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"): Boolean + var + EDocumentServiceStatus: Record "E-Document Service Status"; + IsHandled, IsInStateToSend : Boolean; + begin + OnBeforeIsEDocumentInStateToSend(EDocument, EDocumentService, IsInStateToSend, IsHandled); + if IsHandled then + exit(IsInStateToSend); +#if not CLEAN26 + if (EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration") and + (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::"No Integration") then + exit(false); +#else + if (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::"No Integration") then + exit(false); +#endif + + if EDocumentServiceStatus.Get(EDocument."Entry No", EDocumentService.Code) then + if not (EDocumentServiceStatus.Status in [Enum::"E-Document Service Status"::"Sending Error", Enum::"E-Document Service Status"::Exported]) then begin + Message(EDocumentSendErr, EDocumentServiceStatus.Status); + exit(false); + end; + + exit(true); + end; + + + #endregion + var EDocumentLog: Codeunit "E-Document Log"; EDocumentProcessing: Codeunit "E-Document Processing"; @@ -228,18 +543,33 @@ codeunit 6134 "E-Doc. Integration Management" EDocumentBlobErr: Label 'Failed to get exported blob from EDocument %1', Comment = '%1 - The Edocument entry number'; EDocTelemetrySendScopeStartLbl: Label 'E-Document Send: Start Scope', Locked = true; EDocTelemetrySendScopeEndLbl: Label 'E-Document Send: End Scope', Locked = true; + EDocTelemetryActionScopeStartLbl: Label 'E-Document Action: Start Scope', Locked = true; + EDocTelemetryActionScopeEndLbl: Label 'E-Document Action: End Scope', Locked = true; EDocTelemetrySendBatchScopeStartLbl: Label 'E-Document Send Batch: Start Scope', Locked = true; EDocTelemetrySendBatchScopeEndLbl: Label 'E-Document Send Batch: End Scope', Locked = true; - + EDocTelemetryReceiveDocsScopeStartLbl: Label 'E-Document Receive Docs: Start Scope', Locked = true; + EDocTelemetryReceiveDocsScopeEndLbl: Label 'E-Document Receive Docs: End Scope', Locked = true; + EDocTelemetryReciveDownloadDocScopeStartLbl: Label 'E-Document Receive Download Doc: Start Scope', Locked = true; + EDocTelemetryReciveDownloadDocScopeEndLbl: Label 'E-Document Receive Download Doc: End Scope', Locked = true; + EDocTelemetryMarkFetchedScopeStartLbl: Label 'E-Document Mark Fetched: Start Scope', Locked = true; + EDocTelemetryMarkFetchedScopeEndLbl: Label 'E-Document Mark Fetched: End Scope', Locked = true; +#if not CLEAN26 + DocNotCreatedQst: Label 'Failed to create new Purchase %1 from E-Document. Do you want to open E-Document to see reported errors?', Comment = '%1 - Purchase Document Type'; +#endif + +#if not CLEAN26 [IntegrationEvent(false, false)] + [Obsolete('This event is obsoleted for GetApprovalStatus in "Default Int. Actions" interface.', '26.0')] local procedure OnCancelEDocumentReturnsFalse(EDocuments: Record "E-Document"; EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var IsHandled: Boolean) begin end; [IntegrationEvent(false, false)] + [Obsolete('This event is obsoleted for GetCancellationStatus in "Default Int. Actions" interface.', '26.0')] local procedure OnGetEDocumentApprovalReturnsFalse(EDocuments: Record "E-Document"; EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var IsHandled: Boolean) begin end; +#endif [IntegrationEvent(false, false)] local procedure OnBeforeIsEDocumentInStateToSend(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var IsInStateToSend: Boolean; var IsHandled: Boolean) diff --git a/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Enum.al b/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Enum.al index 1d92e0b4f0..795495b8c2 100644 --- a/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Enum.al +++ b/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Enum.al @@ -4,11 +4,26 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.eServices.EDocument; +#if CLEAN26 +enum 6143 "E-Document Integration" +#else enum 6143 "E-Document Integration" implements "E-Document Integration" +#endif { + ObsoleteTag = '26.0'; + ObsoleteState = Pending; + ObsoleteReason = 'Use sender, receiver and action integration enums instead'; + Extensible = true; + Access = Public; + +#if not CLEAN26 value(0; "No Integration") { + ObsoleteReason = 'Use sender, receiver and action integration enums instead'; + ObsoleteState = Pending; + ObsoleteTag = '26.0'; Implementation = "E-Document Integration" = "E-Document No Integration"; } +#endif } \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Interface.al b/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Interface.al index 0937426516..c2a80e2932 100644 --- a/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Interface.al +++ b/Apps/W1/EDocument/app/src/Integration/EDocumentIntegration.Interface.al @@ -1,4 +1,5 @@ -// ------------------------------------------------------------------------------------------------ +#if not CLEAN26 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ @@ -8,6 +9,10 @@ using System.Utilities; interface "E-Document Integration" { + ObsoleteTag = '26.0'; + ObsoleteState = Pending; + ObsoleteReason = 'This interface is obsolete. Use Send, Receive and "Default Int. Actions" interfaces instead.'; + /// /// Use it to send an E-Document to external service. /// @@ -18,6 +23,7 @@ interface "E-Document Integration" /// The HTTP request message object that you should use when sending the request. /// The HTTP response object that you should use when sending the request. /// If http request and response are populated, the response content and headers will be logged automatically to communication logs. + [Obsolete('Replaced by Send method in IDocumentSender interface.', '26.0')] procedure Send(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage); /// @@ -30,6 +36,7 @@ interface "E-Document Integration" /// The HTTP request message object that you should use when sending the request. /// The HTTP response object that you should use when sending the request. /// If http request and response are populated, the response content and headers will be logged automatically to communication logs. + [Obsolete('Replaced by Send method in IDocumentSender interface. EDocument record will contain multiple records when using batch.', '26.0')] procedure SendBatch(var EDocuments: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage); /// @@ -49,6 +56,7 @@ interface "E-Document Integration" /// /// If the HTTP response is populated, the response content and headers will be automatically logged to the communication logs. /// + [Obsolete('Replaced by GetResponse method in IDocumentResponseHandler interface. Called if CU implementing IDocSender also implements IDocumentResponseHandler', '26.0')] procedure GetResponse(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean; /// @@ -58,6 +66,7 @@ interface "E-Document Integration" /// The HTTP request message object that you should use when sending the request. /// The HTTP response object that you should use when sending the request. /// If http response is populated, the response content and headers will be logged automatically to communication logs. + [Obsolete('Replaced by GetApprovalStatus method in ISentDocumentActions interface.', '26.0')] procedure GetApproval(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean; /// @@ -67,6 +76,7 @@ interface "E-Document Integration" /// The HTTP request message object that you should use when sending the request. /// The HTTP response object that you should use when sending the request. /// If http response is populated, the response content and headers will be logged automatically to communication logs. + [Obsolete('Replaced by GetCancellationStatus method in ISentDocumentActions interface.', '26.0')] procedure Cancel(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean; /// @@ -79,12 +89,14 @@ interface "E-Document Integration" /// The HTTP request message object that you should use when sending the request. /// The HTTP response object that you should use when sending the request. /// If http response is populated, the response content and headers will be logged automatically to communication logs. + [Obsolete('Replaced by ReceiveDocuments method in IDocumentReceiver interface.', '26.0')] procedure ReceiveDocument(var TempBlob: Codeunit "Temp Blob"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage); /// /// Use it to define how many received documents in batch import. /// /// The tempblob that was received from the external service. + [Obsolete('Removed, now part of ReceiveDocuments method in IDocumentReceiver interface. Temp Blob list param determines the count.', '26.0')] procedure GetDocumentCountInBatch(var TempBlob: Codeunit "Temp Blob"): Integer; /// @@ -92,5 +104,7 @@ interface "E-Document Integration" /// /// The E-Document integration page id. /// The E-Dcoument integration table id. + [Obsolete('Moved out of interface. Replaced by OnBeforeOpenServiceIntegrationSetupPage event on Service Page.', '26.0')] procedure GetIntegrationSetup(var SetupPage: Integer; var SetupTable: Integer); } +#endif \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/EDocumentNoIntegration.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/EDocumentNoIntegration.Codeunit.al index ff99121243..2e510ef040 100644 --- a/Apps/W1/EDocument/app/src/Integration/EDocumentNoIntegration.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Integration/EDocumentNoIntegration.Codeunit.al @@ -1,15 +1,24 @@ -// ------------------------------------------------------------------------------------------------ + +#pragma warning disable AS0018 +// ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ namespace Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument.Integration.Send; +using Microsoft.eServices.EDocument.Integration.Receive; using System.Utilities; -codeunit 6128 "E-Document No Integration" implements "E-Document Integration" +#if not CLEAN26 +codeunit 6128 "E-Document No Integration" implements "E-Document Integration", IDocumentSender, IDocumentReceiver, ISentDocumentActions +#else +codeunit 6128 "E-Document No Integration" implements IDocumentSender, IDocumentReceiver, ISentDocumentActions +#endif { - Access = Internal; +#if not CLEAN26 procedure Send(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var http: HttpResponseMessage) begin IsAsync := false; @@ -45,4 +54,50 @@ codeunit 6128 "E-Document No Integration" implements "E-Document Integration" SetupPage := 0; SetupTable := 0; end; +#endif + + #region IDocumentSender + + procedure Send(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) + begin + end; + + procedure SendBatch(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) + begin + end; + + procedure GetResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext): Boolean + begin + end; + + #endregion + + #region IDocumentReceiver + + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) + begin + + end; + + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) + begin + + end; + + #endregion + + #region ISentDocumentActions + + procedure GetApprovalStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + begin + end; + + procedure GetCancellationStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + begin + end; + + #endregion + + } +#pragma warning restore AS0018 \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/EDocumentResponse.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/EDocumentResponse.Codeunit.al deleted file mode 100644 index 93fbf6ebe0..0000000000 --- a/Apps/W1/EDocument/app/src/Integration/EDocumentResponse.Codeunit.al +++ /dev/null @@ -1,47 +0,0 @@ -// ------------------------------------------------------------------------------------------------ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// ------------------------------------------------------------------------------------------------ -namespace Microsoft.eServices.EDocument; - -codeunit 6149 "E-Document Response" -{ - Access = Internal; - - trigger OnRun() - var - EDocument: Record "E-Document"; - begin - EDocumentIntegrationInterface := EDocumentService."Service Integration"; - EDocument.Get(EdocumentServiceStatus."E-Document Entry No"); - GetResponseBooleanResult := EDocumentIntegrationInterface.GetResponse(EDocument, HttpRequest, HttpResponse); - end; - - procedure SetSource(EDocService2: Record "E-Document Service"; var EDocumentServiceStatus2: Record "E-Document Service Status"; var HttpRequest2: HttpRequestMessage; var HttpResponse2: HttpResponseMessage) - begin - EDocumentService.Copy(EDocService2); - EdocumentServiceStatus.Copy(EDocumentServiceStatus2); - HttpResponse := HttpResponse2; - HttpRequest := HttpRequest2; - end; - - procedure GetResponseResult(): Boolean - begin - exit(GetResponseBooleanResult); - end; - - procedure GetRequestResponse(var HttpRequest2: HttpRequestMessage; var HttpResponse2: HttpResponseMessage) - begin - HttpRequest2 := HttpRequest; - HttpResponse2 := HttpResponse; - end; - - - var - EDocumentService: Record "E-Document Service"; - EdocumentServiceStatus: Record "E-Document Service Status"; - HttpResponse: HttpResponseMessage; - HttpRequest: HttpRequestMessage; - EDocumentIntegrationInterface: Interface "E-Document Integration"; - GetResponseBooleanResult: Boolean; -} diff --git a/Apps/W1/EDocument/app/src/Integration/EDocumentSend.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/EDocumentSend.Codeunit.al deleted file mode 100644 index b728127add..0000000000 --- a/Apps/W1/EDocument/app/src/Integration/EDocumentSend.Codeunit.al +++ /dev/null @@ -1,69 +0,0 @@ -// ------------------------------------------------------------------------------------------------ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// ------------------------------------------------------------------------------------------------ -namespace Microsoft.eServices.EDocument; - -using System.Utilities; - -codeunit 6146 "E-Document Send" -{ - Access = Internal; - - trigger OnRun() - begin - if EDocumentService."Use Batch Processing" then - CreateBatch() - else - Send(); - end; - - local procedure Send() - begin - EDocumentIntegrationInterface := EDocumentService."Service Integration"; - EDocumentIntegrationInterface.Send(EDocument, TempBlob, IsAsync2, HttpRequest, HttpResponse); - end; - - local procedure CreateBatch() - begin - EDocumentIntegrationInterface := EDocumentService."Service Integration"; - EDocumentIntegrationInterface.SendBatch(EDocument, TempBlob, IsAsync2, HttpRequest, HttpResponse); - end; - - procedure SetSource(var EDocService: Record "E-Document Service"; var EDocument2: Record "E-Document"; var TempBlob2: Codeunit "Temp Blob"; var HttpRequest2: HttpRequestMessage; var HttpResponse2: HttpResponseMessage) - begin - EDocumentService.Copy(EDocService); - EDocument.Copy(EDocument2); - TempBlob := TempBlob2; - HttpResponse := HttpResponse2; - HttpRequest := HttpRequest2; - end; - - procedure GetSource(var EDocService: Record "E-Document Service"; var EDocument2: Record "E-Document"; var HttpRequest2: HttpRequestMessage; var HttpResponse2: HttpResponseMessage) - begin - EDocService.Copy(EDocumentService); - EDocument2.Copy(EDocument); - HttpRequest2 := HttpRequest; - HttpResponse2 := HttpResponse; - end; - - procedure IsAsync(): Boolean - begin - exit(IsAsync2); - end; - - procedure GetRequestResponse(var HttpRequest2: HttpRequestMessage; var HttpResponse2: HttpResponseMessage) - begin - HttpRequest2 := HttpRequest; - HttpResponse2 := HttpResponse; - end; - - var - EDocumentService: Record "E-Document Service"; - EDocument: Record "E-Document"; - TempBlob: Codeunit "Temp Blob"; - IsAsync2: Boolean; - HttpResponse: HttpResponseMessage; - HttpRequest: HttpRequestMessage; - EDocumentIntegrationInterface: Interface "E-Document Integration"; -} diff --git a/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentAction.Interface.al b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentAction.Interface.al new file mode 100644 index 0000000000..a3306a17ac --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentAction.Interface.al @@ -0,0 +1,48 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Interfaces; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Receive; + +/// +/// Interface for E-Document actionable actions. +/// +interface IDocumentAction +{ + + /// + /// Invokes an action based on the specified action type for the given E-Document and E-Document Service. + /// + /// The E-Document record on which the action is performed. + /// The E-Document Service record used for the API interaction. + /// The context for the action to be performed. + /// Returns true if the action performed should update E-Document status ; otherwise, false. + /// + /// The implementation should send an HTTP request to the API to perform the specified action on the E-Document. + /// + /// + /// This example demonstrates how to implement the InvokeAction method to reset the E-Document status by calling the API: + /// + /// procedure InvokeAction(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + /// var + /// HttpClient: HttpClient; + /// begin + /// // Initialize the HTTP request + /// HttpRequestMessage.Method := 'POST'; + /// HttpRequestMessage.SetRequestUri('https://api.example.com/documents/reset'); + /// HttpRequestMessage.Content.WriteFromText('{"documentId": "' + EDocument."Document ID" + '"}'); + /// + /// // Send the HTTP request and receive the response + /// HttpClient.Send(HttpRequestMessage, HttpResponseMessage); + /// + /// ActionContext.Status().SetStatus(Enum::"E-Document Service Status"::MyStatus); + /// exit(true); + /// end; + /// + /// + procedure InvokeAction(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentReceiver.Interface.al b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentReceiver.Interface.al new file mode 100644 index 0000000000..63f9fcd4ea --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentReceiver.Interface.al @@ -0,0 +1,112 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Interfaces; + +using System.Utilities; +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Receive; + +/// +/// Interface for receiving E-Documents from E-Document service +/// +interface IDocumentReceiver +{ + + /// + /// Retrieves one or more documents from the API and returns the count of documents to be created. + /// + /// The record representing the E-Document Service used for the API interaction. + /// The temporary blob list used to store the received documents. + /// The receive context used for managing HTTP requests and responses. + /// + /// Sends an HTTP request to the API to retrieve the documents. + /// The response is stored in the Documents list, and the count of documents is implicitly determined by the number of temp blobs added to the list. + /// + /// + /// This example demonstrates how to implement the ReceiveDocuments method: + /// + /// procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) + /// var + /// HttpRequest: HttpRequestMessage; + /// JsonResponse: JsonArray; + /// DocumentBlob: Codeunit "Temp Blob"; + /// JsonObject: JsonObject; + /// OutStream: OutStream; + /// begin + /// // Prepare the HTTP request + /// HttpRequest := ReceiveContext.Http().GetHttpRequestMessage(); + /// HttpRequest.Method := 'GET'; + /// HttpRequest.SetRequestUri(EDocumentService."Service URL" + '/documents'); + /// + /// // Send the HTTP request + /// HttpClient.Send(HttpRequest, ReceiveContext.Http().GetHttpResponseMessage()); + /// + /// // Parse the JSON response + /// JsonResponse.ReadFrom(HttpResponse.ContentAsText()); + /// + /// // Iterate over each object in the JSON array and add a temp blob to the Documents list + /// foreach JsonObject in JsonResponse do begin + /// DocumentBlob.CreateOutStream(OutStream); + /// JsonObject.WriteTo(OutStream); + /// Documents.Add(DocumentBlob); + /// end; + /// end; + /// + /// + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) + + /// + /// Downloads the data (e.g., XML, PDF) for the specified document from the API. + /// + /// The record representing the E-Document for which the data is being downloaded. + /// The record representing the E-Document Service used for the API interaction. + /// The temporary blob containing the metadata for the document. + /// The receive context used for managing HTTP requests and responses. + /// + /// Reads the document ID from the DocumentMetadataBlob and sends an HTTP request to download the document data. + /// The document data is downloaded using an authenticated request and stored in the ReceiveContext. If the document ID is not found, an error is logged, and no further actions are taken. + /// + /// + /// This example demonstrates how to implement the DownloadDocument method: + /// + /// procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) + /// var + /// Request: Codeunit Requests; + /// HttpExecutor: Codeunit "Http Executor"; + /// ResponseContent: Text; + /// InStream: InStream; + /// DocumentId: Text; + /// OutStream: OutStream; + /// begin + /// // Read the document ID from the DocumentMetadataBlob + /// DocumentMetadataBlob.CreateInStream(InStream, TextEncoding::UTF8); + /// InStream.ReadText(DocumentId); + /// + /// if DocumentId = '' then begin + /// EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, DocumentIdNotFoundErr); + /// exit; + /// end; + /// + /// // Update the document record with the document ID + /// EDocument."Document Id" := CopyStr(DocumentId, 1, MaxStrLen(EDocument."Document Id")); + /// EDocument.Modify(); + /// + /// // Prepare the HTTP request + /// Request.Init(); + /// Request.Authenticate().CreateDownloadRequest(DocumentId); + /// ReceiveContext.Http().SetHttpRequestMessage(Request.GetRequest()); + /// + /// // Execute the HTTP request + /// ResponseContent := HttpExecutor.ExecuteHttpRequest(Request, ReceiveContext.Http().GetHttpResponseMessage()); + /// + /// // Store the response in the ReceiveContext + /// ReceiveContext.GetTempBlob().CreateOutStream(OutStream, TextEncoding::UTF8); + /// OutStream.WriteText(ResponseContent); + /// end; + /// + /// + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentResponseHandler.Interface.al b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentResponseHandler.Interface.al new file mode 100644 index 0000000000..3be2bd3eac --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentResponseHandler.Interface.al @@ -0,0 +1,65 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Interfaces; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Send; + +/// +/// Interface for getting response for sent E-Documents from E-Document service +/// +interface IDocumentResponseHandler +{ + /// + /// Retrieves the response from the external service for an asynchronously sent E-Document. + /// + /// The record representing the E-Document for which the response is being retrieved. + /// The record representing the E-Document Service containing service configuration. + /// The context for the get response operation, providing access to resources and status updates. + /// + /// true if the response was successfully received from the service, marking the E-Document Service Status as "Sent"; + /// false if the response is not yet ready from the service, marking the E-Document Service Status as "Pending Response". + /// + /// + /// If a runtime error occurs or an error message is logged for the E-Document, the E-Document Service Status is set to "Sending Error", + /// and no further retry attempts will be made. + /// If the HTTP response is populated within SendContext, the response content and headers will be automatically logged to communication logs. + /// + /// + /// This example demonstrates how to implement the GetResponse method: + /// + /// procedure GetResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext): Boolean + /// var + /// HttpClient: HttpClient; + /// HttpRequest: HttpRequestMessage; + /// HttpResponse: HttpResponseMessage; + /// begin + /// // Prepare the HTTP request to check the status of the E-Document + /// HttpRequest := SendContext.Http().GetHttpRequestMessage(); + /// HttpRequest.Method := 'GET'; + /// HttpRequest.SetRequestUri(EDocumentService."Service URL" + '/status/' + EDocument."Document ID"); + /// HttpRequest.Headers.Add('Authorization', 'Bearer ' + EDocumentService."Access Token"); + /// + /// // Send the HTTP request + /// HttpClient.Send(HttpRequest, HttpResponse); + /// + /// // Set the response in SendContext for automatic logging + /// SendContext.Http().SetHttpResponseMessage(HttpResponse); + /// + /// // Determine the result based on the response status code + /// if HttpResponse.IsSuccessStatusCode() then + /// exit(true) // The document was successfully processed + /// else if HttpResponse.HttpStatusCode() = 202 then + /// exit(false) // The document is still being processed + /// else begin + /// // Log the error and set the status to "Sending Error" + /// EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, 'Error retrieving response: ' + Format(HttpResponse.HttpStatusCode())); + /// exit(false); + /// end; + /// end; + /// + /// + procedure GetResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext): Boolean; +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentSender.Interface.al b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentSender.Interface.al new file mode 100644 index 0000000000..6841b3e950 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Interfaces/IDocumentSender.Interface.al @@ -0,0 +1,56 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Interfaces; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Send; + +/// +/// Interface for sending E-Documents to E-Document service +/// +interface IDocumentSender +{ + /// + /// Sends an E-Document to an external service. + /// + /// The record representing the E-Document to be sent. + /// The record representing the E-Document Service containing service configuration. + /// The context for the send operation, providing access to resources and settings. + /// + /// If the E-Document is sent asynchronously (IsAsync is true), a background job will automatically be queued to fetch the response using the procedure. + /// If the HTTP request is populated within SendContext, the request content and headers will be automatically logged to communication logs. + /// + /// + /// This example demonstrates how to implement the Send method: + /// + /// procedure Send(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) + /// var + /// TempBlob: Codeunit "Temp Blob"; + /// HttpClient: HttpClient; + /// HttpRequest: HttpRequestMessage; + /// begin + /// // Get the TempBlob from the SendContext + /// SendContext.GetTempBlob(TempBlob); + /// + /// // Read the E-Document content from TempBlob and prepare the HTTP request + /// HttpRequest := SendContext.Http().GetHttpRequestMessage(); + /// HttpRequest.Method := 'POST'; + /// HttpRequest.SetRequestUri(EDocumentService."Service URL"); + /// HttpRequest.Content := TempBlob.AsHttpContent('application/xml'); // Or 'application/json' based on format + /// + /// // Set additional headers if necessary + /// HttpRequest.Headers.Add('Authorization', 'Bearer ' + EDocumentService."Access Token"); + /// + /// // Send the HTTP request + /// HttpClient.Send(HttpRequest, SendContext.Http().GetHttpResponseMessage()); + /// + /// // Set IsAsync to true to enable asynchronous processing + /// SendContext.SetIsAsync(true); + /// end; + /// + /// + procedure Send(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext); + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Interfaces/IReceivedDocumentMarker.Interface.al b/Apps/W1/EDocument/app/src/Integration/Interfaces/IReceivedDocumentMarker.Interface.al new file mode 100644 index 0000000000..02c391b8f3 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Interfaces/IReceivedDocumentMarker.Interface.al @@ -0,0 +1,54 @@ +#pragma warning disable AS0128 +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Interfaces; + +using Microsoft.eServices.EDocument; +using System.Utilities; +using Microsoft.eServices.EDocument.Integration.Receive; + +/// +/// Interface for marking received E-Documents fetched from the E-Document service. +/// +interface IReceivedDocumentMarker +{ + + /// + /// Marks the given E-Document as fetched using an API call. + /// + /// The record representing the E-Document to be marked as fetched. + /// The record representing the E-Document Service used for API interaction. + /// The temporary blob containing document metadata. + /// The receive context interface used for managing HTTP requests and responses. + /// + /// Sends an HTTP request to the API to mark the document as fetched. If the request fails, an error is thrown, preventing the document from being created. + /// If the API does not support this functionality, the implementation should avoid implementing the associated interfaces. + /// + /// + /// This example shows how to implement the MarkFetched method: + /// + /// procedure MarkFetched(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var DocumentBlob: Codeunit "Temp Blob"; var HttpRequestMessage: HttpRequestMessage; var HttpResponseMessage: HttpResponseMessage) + /// var + /// HttpClient: HttpClient; + /// begin + /// // Set up the HTTP request + /// HttpRequestMessage.Method := 'POST'; + /// HttpRequestMessage.SetRequestUri('https://api.example.com/documents/' + EDocument.Id + '/mark-fetched'); + /// + /// // Send the HTTP request + /// HttpClient.Send(HttpRequestMessage, HttpResponseMessage); + /// + /// // Check if the response was successful + /// if HttpResponseMessage.IsSuccessStatusCode then begin + /// // Successfully marked the document as fetched + /// exit; + /// end; + /// Error('Failed to mark the document as fetched.'); + /// end; + /// + /// + procedure MarkFetched(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var DocumentBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Interfaces/ISentDocumentActions.Interface.al b/Apps/W1/EDocument/app/src/Integration/Interfaces/ISentDocumentActions.Interface.al new file mode 100644 index 0000000000..ffdaf01abc --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Interfaces/ISentDocumentActions.Interface.al @@ -0,0 +1,90 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Interfaces; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Receive; + +/// +/// Default Integration Actions that framework provides. +/// +interface ISentDocumentActions +{ + + /// + /// Sends an outgoing E-Document approval request to the API to check if the sent document is approved. + /// + /// The record representing the E-Document to be approved. + /// The record representing the E-Document Service used for the API interaction. + /// The action context interface used for managing HTTP requests and responses. + /// Returns true if the document approval request should update the E-Document status; otherwise, false. + /// + /// Sends an HTTP request to the API to check if the document was approved by the service. The response is processed to determine whether the status should be updated. + /// + /// + /// This example demonstrates how to implement the GetApprovalStatus method: + /// + /// procedure GetApprovalStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + /// var + /// Request: Codeunit Requests; + /// HttpExecutor: Codeunit "Http Executor"; + /// ResponseContent: Text; + /// begin + /// // Prepare the HTTP request + /// Request.Init(); + /// Request.Authenticate().CreateApprovalRequest(EDocument."Document ID"); + /// ActionContext.Http().SetHttpRequestMessage(Request.GetRequest()); + /// + /// // Execute the HTTP request + /// ResponseContent := HttpExecutor.ExecuteHttpRequest(Request, ActionContext.Http().GetHttpResponseMessage()); + /// + /// // Process the response to determine the approval status + /// if ResponseContent.Contains('approved') then begin + /// ActionContext.SetStatus(ActionContext.GetStatus()."Approved"); + /// exit(true); + /// end; + /// end; + /// + /// + procedure GetApprovalStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean; + + /// + /// Sends an outgoing E-Document cancellation request to the API to check if the sent document was canceled. + /// + /// The record representing the E-Document to be canceled. + /// The record representing the E-Document Service used for the API interaction. + /// The action context interface used for managing HTTP requests and responses. + /// Returns true if the document cancellation request should update the E-Document status; otherwise, false. + /// + /// Sends an HTTP request to the API to check if the document was canceled by the service. The response is processed to determine whether the status should be updated. + /// + /// + /// This example demonstrates how to implement the GetCancellationStatus method: + /// + /// procedure GetCancellationStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + /// var + /// Request: Codeunit Requests; + /// HttpExecutor: Codeunit "Http Executor"; + /// ResponseContent: Text; + /// begin + /// // Prepare the HTTP request + /// Request.Init(); + /// Request.Authenticate().CreateCancellationRequest(EDocument."Document ID"); + /// ActionContext.Http().SetHttpRequestMessage(Request.GetRequest()); + /// + /// // Execute the HTTP request + /// ResponseContent := HttpExecutor.ExecuteHttpRequest(Request, ActionContext.Http().GetHttpResponseMessage()); + /// + /// // Process the response to determine the cancellation status + /// if ResponseContent.Contains('canceled') then begin + /// ActionContext.SetStatus(ActionContext.GetStatus()."Canceled"); + /// exit(true); + /// end; + /// end; + /// + /// s + procedure GetCancellationStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean; + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Receive/DownloadDocument.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Receive/DownloadDocument.Codeunit.al new file mode 100644 index 0000000000..6b0b96c45b --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Receive/DownloadDocument.Codeunit.al @@ -0,0 +1,55 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Receive; + +using System.Utilities; +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; + +/// +/// Codeunit to run DownloadDocument from IDocumentReceiver Interface +/// +codeunit 6180 "Download Document" +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + this.EDocumentService.TestField(Code); + IDocumentReceiver.DownloadDocument(this.EDocument, this.EDocumentService, this.DocumentMetadataBlob, this.ReceiveContext); + end; + + procedure SetContext(ReceiveContext: Codeunit ReceiveContext) + begin + this.ReceiveContext := ReceiveContext; + end; + + procedure SetInstance(Reciver: Interface IDocumentReceiver) + begin + this.IDocumentReceiver := Reciver; + end; + + procedure SetParameters(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var DocumentMetadataBlob: Codeunit "Temp Blob") + begin + this.EDocument.Copy(EDocument); + this.EDocumentService.Copy(EDocumentService); + this.DocumentMetadataBlob := DocumentMetadataBlob; + end; + + procedure GetDocumentAndService(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service") + begin + EDocument.Copy(this.EDocument); + EDocumentService.Copy(this.EDocumentService); + end; + + var + EDocument: Record "E-Document"; + EDocumentService: Record "E-Document Service"; + DocumentMetadataBlob: Codeunit "Temp Blob"; + ReceiveContext: Codeunit ReceiveContext; + IDocumentReceiver: Interface IDocumentReceiver; +} diff --git a/Apps/W1/EDocument/app/src/Integration/Receive/MarkFetched.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Receive/MarkFetched.Codeunit.al new file mode 100644 index 0000000000..a221d20668 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Receive/MarkFetched.Codeunit.al @@ -0,0 +1,56 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Receive; + +using System.Utilities; +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; + +/// +/// Executes the MarkFetched operation using the IReceivedDocumentMarker interface. +/// +codeunit 6181 "Mark Fetched" +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + if IDocumentReceiver is IReceivedDocumentMarker then + (IDocumentReceiver as IReceivedDocumentMarker).MarkFetched(this.EDocument, this.EDocumentService, this.DownloadedBlob, this.ReceiveContext); + end; + + procedure SetInstance(IDocumentReceiver: Interface IDocumentReceiver) + begin + this.IDocumentReceiver := IDocumentReceiver; + end; + + procedure SetContext(ReceiveContext: Codeunit ReceiveContext) + begin + this.ReceiveContext := ReceiveContext; + end; + + procedure SetParameters(var EDoc: Record "E-Document"; var EDocService: Record "E-Document Service"; var DocBlob: Codeunit "Temp Blob") + begin + this.EDocument.Copy(EDoc); + this.EDocumentService.Copy(EDocService); + this.DownloadedBlob := DocBlob; + end; + + procedure GetParameters(var EDoc: Record "E-Document"; var EDocService: Record "E-Document Service") + begin + EDoc.Copy(this.EDocument); + EDocService.Copy(this.EDocumentService); + end; + + var + EDocument: Record "E-Document"; + EDocumentService: Record "E-Document Service"; + DownloadedBlob: Codeunit "Temp Blob"; + ReceiveContext: Codeunit ReceiveContext; + IDocumentReceiver: Interface IDocumentReceiver; + +} diff --git a/Apps/W1/EDocument/app/src/Integration/Receive/ReceiveContext.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Receive/ReceiveContext.Codeunit.al new file mode 100644 index 0000000000..c1bb479e7e --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Receive/ReceiveContext.Codeunit.al @@ -0,0 +1,56 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Receive; + +using System.Utilities; +using Microsoft.eServices.EDocument.Integration.Action; +using Microsoft.eServices.EDocument.Integration; + +codeunit 6186 ReceiveContext +{ + Access = Public; + InherentEntitlements = X; + InherentPermissions = X; + + /// + /// Retrieves the temporary blob used for storing E-Document content. + /// + procedure GetTempBlob(): Codeunit "Temp Blob" + begin + exit(this.TempBlob); + end; + + /// + /// Sets the temporary blob with the E-Document content. + /// + procedure SetTempBlob(var TempBlob: Codeunit "Temp Blob") + begin + this.TempBlob := TempBlob; + end; + + /// + /// Get the Http Message State codeunit. + /// + procedure Http(): Codeunit "Http Message State" + begin + exit(this.HttpMessageState); + end; + + /// + /// Retrieves the Action Status object. + /// + procedure Status(): Codeunit "Integration Action Status" + begin + exit(this.IntegrationActionStatus); + end; + + + var + TempBlob: Codeunit "Temp Blob"; + HttpMessageState: Codeunit "Http Message State"; + IntegrationActionStatus: Codeunit "Integration Action Status"; + + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Receive/ReceiveDocuments.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Receive/ReceiveDocuments.Codeunit.al new file mode 100644 index 0000000000..09f288df66 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Receive/ReceiveDocuments.Codeunit.al @@ -0,0 +1,57 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Receive; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; +using System.Utilities; + +/// +/// Codeunit to run ReceiveDocuments from Receive Interface +/// +codeunit 6179 "Receive Documents" +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + EDocumentService.TestField(Code); + IDocumentReceiver.ReceiveDocuments(this.EDocumentService, this.Documents, this.ReceiveContext); + end; + + procedure SetInstance(Reciver: Interface IDocumentReceiver) + begin + this.IDocumentReceiver := Reciver; + end; + + procedure SetContext(ReceiveContext: Codeunit ReceiveContext) + begin + this.ReceiveContext := ReceiveContext; + end; + + procedure SetDocuments(Documents: Codeunit "Temp Blob List") + begin + this.Documents := Documents + end; + + procedure SetService(var EDocumentService: Record "E-Document Service") + begin + this.EDocumentService.Copy(EDocumentService); + end; + + procedure GetService(var EDocumentService: Record "E-Document Service") + begin + EDocumentService.Copy(this.EDocumentService); + end; + + var + EDocumentService: Record "E-Document Service"; + Documents: Codeunit "Temp Blob List"; + ReceiveContext: Codeunit ReceiveContext; + IDocumentReceiver: Interface IDocumentReceiver; + +} diff --git a/Apps/W1/EDocument/app/src/Integration/EDocRecurrentBatchSend.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Send/EDocRecurrentBatchSend.Codeunit.al similarity index 100% rename from Apps/W1/EDocument/app/src/Integration/EDocRecurrentBatchSend.Codeunit.al rename to Apps/W1/EDocument/app/src/Integration/Send/EDocRecurrentBatchSend.Codeunit.al diff --git a/Apps/W1/EDocument/app/src/Integration/EDocumentGetResponse.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Send/EDocumentGetResponse.Codeunit.al similarity index 66% rename from Apps/W1/EDocument/app/src/Integration/EDocumentGetResponse.Codeunit.al rename to Apps/W1/EDocument/app/src/Integration/Send/EDocumentGetResponse.Codeunit.al index 329a44638b..7a5de3ee96 100644 --- a/Apps/W1/EDocument/app/src/Integration/EDocumentGetResponse.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Integration/Send/EDocumentGetResponse.Codeunit.al @@ -4,6 +4,7 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Send; using System.Automation; using System.Telemetry; using System.Threading; @@ -50,95 +51,98 @@ codeunit 6144 "E-Document Get Response" local procedure HandleResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var EDocumentServiceStatus: Record "E-Document Service Status") var + SendContext: Codeunit SendContext; EDocumentLog: Codeunit "E-Document Log"; EDocumentErrorHelper: Codeunit "E-Document Error Helper"; EDocServiceStatus: Enum "E-Document Service Status"; - HttpResponse: HttpResponseMessage; - HttpRequest: HttpRequestMessage; ErrorCount: Integer; - GotResponse, NoNewErrorsInGetResponse : Boolean; + GotResponse, Success : Boolean; begin + // Set default status value + SendContext.Status().SetStatus(Enum::"E-Document Service Status"::Sent); + ErrorCount := EDocumentErrorHelper.ErrorMessageCount(EDocument); - GotResponse := GetResponse(EDocument, EDocumentService, EDocumentServiceStatus, HttpRequest, HttpResponse); - NoNewErrorsInGetResponse := EDocumentErrorHelper.ErrorMessageCount(EDocument) = ErrorCount; + GotResponse := RunGetResponse(EDocument, EDocumentService, EDocumentServiceStatus, SendContext); + Success := EDocumentErrorHelper.ErrorMessageCount(EDocument) = ErrorCount; #if not CLEAN25 EDocServiceStatus := GetServiceStatusFromResponse( - NoNewErrorsInGetResponse, + Success, GotResponse, EDocument, EDocumentService, - HttpRequest, - HttpResponse + SendContext ); #else EDocServiceStatus := GetServiceStatusFromResponse( - NoNewErrorsInGetResponse, - GotResponse + Success, + GotResponse, + SendContext ); #endif EDocumentLog.InsertLog(EDocument, EDocumentService, EDocServiceStatus); - EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, HttpRequest, HttpResponse); + EDocumentLog.InsertIntegrationLog(EDocument, EDocumentService, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage()); EDocumentProcessing.ModifyServiceStatus(EDocument, EDocumentService, EDocServiceStatus); EDocumentProcessing.ModifyEDocumentStatus(EDocument, EDocServiceStatus); end; #if not CLEAN25 - local procedure GetServiceStatusFromResponse(NoNewErrorsInGetResponse: Boolean; GotResponse: Boolean; var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) EDocServiceStatus: Enum "E-Document Service Status"; + local procedure GetServiceStatusFromResponse(Success: Boolean; GotResponse: Boolean; var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) EDocServiceStatus: Enum "E-Document Service Status"; var EDocumentServiceStatus2: Record "E-Document Service Status"; IsHandled: Boolean; begin - if NoNewErrorsInGetResponse then - if GotResponse then - EDocServiceStatus := Enum::"E-Document Service Status"::Sent + if not Success then + exit(Enum::"E-Document Service Status"::"Sending Error"); + + if GotResponse then + exit(SendContext.Status().GetStatus()) + else begin + OnGetEdocumentResponseReturnsFalse(EDocument, EDocumentService, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage(), IsHandled); + if not IsHandled then + EDocServiceStatus := Enum::"E-Document Service Status"::"Pending Response" else begin - OnGetEdocumentResponseReturnsFalse(EDocument, EDocumentService, HttpRequest, HttpResponse, IsHandled); - if not IsHandled then - EDocServiceStatus := Enum::"E-Document Service Status"::"Pending Response" - else begin - EDocumentServiceStatus2.Get(EDocument."Entry No", EDocumentService.Code); - EDocServiceStatus := EDocumentServiceStatus2.Status; - end; - end - else - EDocServiceStatus := Enum::"E-Document Service Status"::"Sending Error"; + EDocumentServiceStatus2.Get(EDocument."Entry No", EDocumentService.Code); + EDocServiceStatus := EDocumentServiceStatus2.Status; + end; + end + end; #else - local procedure GetServiceStatusFromResponse(NoNewErrorsInGetResponse: Boolean; GotResponse: Boolean) EDocServiceStatus: Enum "E-Document Service Status"; + local procedure GetServiceStatusFromResponse(Success: Boolean; GotResponse: Boolean; SendContext: Codeunit SendContext): Enum "E-Document Service Status"; begin - if NoNewErrorsInGetResponse then - if GotResponse then - EDocServiceStatus := Enum::"E-Document Service Status"::Sent - else - EDocServiceStatus := Enum::"E-Document Service Status"::"Pending Response" + if not Success then + exit(Enum::"E-Document Service Status"::"Sending Error"); + + if GotResponse then + exit(SendContext.Status().GetStatus()) else - EDocServiceStatus := Enum::"E-Document Service Status"::"Sending Error"; + exit(Enum::"E-Document Service Status"::"Pending Response"); end; #endif - - local procedure GetResponse(var EDocument: Record "E-Document"; EDocService: Record "E-Document Service"; var EDocumentServiceStatus: Record "E-Document Service Status"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) GetResponseResult: Boolean + local procedure RunGetResponse(var EDocument: Record "E-Document"; var EDocService: Record "E-Document Service"; var EDocumentServiceStatus: Record "E-Document Service Status"; SendContext: Codeunit SendContext) Result: Boolean var - EDocumentResponse: Codeunit "E-Document Response"; + GetResponseRunner: Codeunit "Get Response Runner"; EDocumentHelper: Codeunit "E-Document Processing"; EDocumentErrorHelper: Codeunit "E-Document Error Helper"; TelemetryDimensions: Dictionary of [Text, Text]; begin - // Commit before create document with error handling + // Commit needed for "if codeunit run" pattern. Commit(); EDocumentHelper.GetTelemetryDimensions(EDocService, EDocumentServiceStatus, TelemetryDimensions); Telemetry.LogMessage('0000LBQ', EDocTelemetryGetResponseScopeStartLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All, TelemetryDimensions); - Clear(EDocumentResponse); - EDocumentResponse.SetSource(EDocService, EDocumentServiceStatus, HttpRequest, HttpResponse); - if not EDocumentResponse.Run() then begin + GetResponseRunner.SetDocumentAndService(EDocument, EDocService); + GetResponseRunner.SetContext(SendContext); + if not GetResponseRunner.Run() then begin EDocument.Get(EDocumentServiceStatus."E-Document Entry No"); EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, GetLastErrorText()); end; - EDocumentResponse.GetRequestResponse(HttpRequest, HttpResponse); - GetResponseResult := EDocumentResponse.GetResponseResult(); + + GetResponseRunner.GetDocumentAndService(EDocument, EDocService); + Result := GetResponseRunner.GetResponseResult(); Telemetry.LogMessage('0000LBR', EDocTelemetryGetResponseScopeEndLbl, Verbosity::Normal, DataClassification::OrganizationIdentifiableInformation, TelemetryScope::All); end; diff --git a/Apps/W1/EDocument/app/src/Integration/Send/GetResponseRunner.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Send/GetResponseRunner.Codeunit.al new file mode 100644 index 0000000000..fde8c9e12d --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Send/GetResponseRunner.Codeunit.al @@ -0,0 +1,68 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Send; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument.Integration; + +codeunit 6149 "Get Response Runner" +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + + trigger OnRun() + begin + if EDocumentService."Service Integration V2" <> Enum::"Service Integration"::"No Integration" then begin + IDocumentSender := EDocumentService."Service Integration V2"; + if IDocumentSender is IDocumentResponseHandler then + Result := (IDocumentSender as IDocumentResponseHandler).GetResponse(this.EDocument, this.EDocumentService, SendContext); + exit; + end; + +#if not CLEAN26 + IEDocIntegration := this.EDocumentService."Service Integration"; + Result := IEDocIntegration.GetResponse(this.EDocument, this.HttpRequestMessage, this.HttpResponseMessage); + SendContext.Http().SetHttpRequestMessage(this.HttpRequestMessage); + SendContext.Http().SetHttpResponseMessage(this.HttpResponseMessage); +#endif + end; + + procedure SetDocumentAndService(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service") + begin + this.EDocument.Copy(EDocument); + this.EDocumentService.Copy(EDocumentService); + end; + + procedure GetDocumentAndService(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service") + begin + EDocument.Copy(this.EDocument); + EDocumentService.Copy(this.EDocumentService); + end; + + procedure SetContext(SendContext: Codeunit SendContext) + begin + this.SendContext := SendContext; + end; + + procedure GetResponseResult(): Boolean + begin + exit(Result); + end; + + var + EDocument: Record "E-Document"; + EDocumentService: Record "E-Document Service"; + SendContext: Codeunit SendContext; +#if not CLEAN26 + HttpRequestMessage: HttpRequestMessage; + HttpResponseMessage: HttpResponseMessage; + IEDocIntegration: Interface "E-Document Integration"; +#endif + IDocumentSender: Interface IDocumentSender; + Result: Boolean; +} diff --git a/Apps/W1/EDocument/app/src/Integration/Send/SendContext.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Send/SendContext.Codeunit.al new file mode 100644 index 0000000000..9e9309e700 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Send/SendContext.Codeunit.al @@ -0,0 +1,54 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Send; + +using System.Utilities; +using Microsoft.eServices.EDocument.Integration; +using Microsoft.eServices.EDocument.Integration.Action; + +codeunit 6189 SendContext +{ + Access = Public; + InherentEntitlements = X; + InherentPermissions = X; + + /// + /// Retrieves the temporary blob used for storing E-Document content. + /// + procedure GetTempBlob(): Codeunit "Temp Blob" + begin + exit(this.TempBlob); + end; + + /// + /// Sets the temporary blob with the E-Document content. + /// + procedure SetTempBlob(var TempBlob: codeunit "Temp Blob") + begin + this.TempBlob := TempBlob; + end; + + /// + /// Get the Http Message State codeunit. + /// + procedure Http(): Codeunit "Http Message State" + begin + exit(this.HttpMessageState); + end; + + /// + /// Retrieves the Action Status object. + /// + procedure Status(): Codeunit "Integration Action Status" + begin + exit(this.IntegrationActionStatus); + end; + + var + HttpMessageState: Codeunit "Http Message State"; + IntegrationActionStatus: Codeunit "Integration Action Status"; + TempBlob: Codeunit "Temp Blob"; + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Integration/Send/SendRunner.Codeunit.al b/Apps/W1/EDocument/app/src/Integration/Send/SendRunner.Codeunit.al new file mode 100644 index 0000000000..add65b63f1 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/Send/SendRunner.Codeunit.al @@ -0,0 +1,97 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration.Send; + +using Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; + +#if not CLEAN26 +using System.Utilities; +using Microsoft.eServices.EDocument.Integration; +#endif + +codeunit 6146 "Send Runner" +{ + Access = Internal; + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin +#if not CLEAN26 + if EDocumentService."Service Integration V2" <> Enum::"Service Integration"::"No Integration" then + SendV2() + else + if EDocumentService."Use Batch Processing" then + SendBatch() + else + Send(); +#else + SendV2(); +#endif + end; + +#if not CLEAN26 + local procedure Send() + begin + this.TempBlob := SendContext.GetTempBlob(); + IEDocIntegration := this.EDocumentService."Service Integration"; + IEDocIntegration.Send(this.EDocument, this.TempBlob, this.IsAsyncValue, this.HttpRequestMessage, this.HttpResponseMessage); + SendContext.Http().SetHttpRequestMessage(this.HttpRequestMessage); + SendContext.Http().SetHttpResponseMessage(this.HttpResponseMessage); + end; + + local procedure SendBatch() + begin + this.TempBlob := SendContext.GetTempBlob(); + IEDocIntegration := this.EDocumentService."Service Integration"; + IEDocIntegration.SendBatch(this.EDocument, this.TempBlob, this.IsAsyncValue, this.HttpRequestMessage, this.HttpResponseMessage); + SendContext.Http().SetHttpRequestMessage(this.HttpRequestMessage); + SendContext.Http().SetHttpResponseMessage(this.HttpResponseMessage); + end; +#endif + + local procedure SendV2() + begin + IDocumentSender := this.EDocumentService."Service Integration V2"; + IDocumentSender.Send(this.EDocument, this.EDocumentService, SendContext); + this.IsAsyncValue := IDocumentSender is IDocumentResponseHandler; + end; + + procedure SetContext(SendContext: Codeunit SendContext) + begin + this.SendContext := SendContext; + end; + + procedure SetDocumentAndService(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service") + begin + this.EDocument.Copy(EDocument); + this.EDocumentService.Copy(EDocumentService); + end; + + procedure GetDocumentAndService(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service") + begin + EDocument.Copy(this.EDocument); + EDocumentService.Copy(this.EDocumentService); + end; + + procedure GetIsAsync(): Boolean + begin + exit(this.IsAsyncValue); + end; + + var + EDocument: Record "E-Document"; + EDocumentService: Record "E-Document Service"; + SendContext: Codeunit SendContext; +#if not CLEAN26 + TempBlob: Codeunit "Temp Blob"; + HttpRequestMessage: HttpRequestMessage; + HttpResponseMessage: HttpResponseMessage; + IEDocIntegration: Interface "E-Document Integration"; +#endif + IDocumentSender: Interface IDocumentSender; + IsAsyncValue: Boolean; +} diff --git a/Apps/W1/EDocument/app/src/Integration/ServiceIntegration.Enum.al b/Apps/W1/EDocument/app/src/Integration/ServiceIntegration.Enum.al new file mode 100644 index 0000000000..e1705b1016 --- /dev/null +++ b/Apps/W1/EDocument/app/src/Integration/ServiceIntegration.Enum.al @@ -0,0 +1,19 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.eServices.EDocument.Integration; + +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument; + +enum 6151 "Service Integration" implements IDocumentSender, IDocumentReceiver +{ + Extensible = true; + Access = Public; + + value(0; "No Integration") + { + Implementation = IDocumentSender = "E-Document No Integration", IDocumentReceiver = "E-Document No Integration"; + } +} \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Log/EDocumentLog.Codeunit.al b/Apps/W1/EDocument/app/src/Log/EDocumentLog.Codeunit.al index 5a5f0c315d..394f233546 100644 --- a/Apps/W1/EDocument/app/src/Log/EDocumentLog.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Log/EDocumentLog.Codeunit.al @@ -29,7 +29,7 @@ codeunit 6132 "E-Document Log" exit(InsertLog(EDocument, EDocumentService, 0, EDocumentServiceStatus)); end; - internal procedure InsertLog(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocumentServiceStatus: Enum "E-Document Service Status"): Record "E-Document Log"; + internal procedure InsertLog(EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; TempBlob: Codeunit "Temp Blob"; EDocumentServiceStatus: Enum "E-Document Service Status"): Record "E-Document Log"; begin exit(InsertLog(EDocument, EDocumentService, InsertDataStorage(TempBlob), EDocumentServiceStatus)); end; @@ -40,7 +40,9 @@ codeunit 6132 "E-Document Log" EDocumentLog.Validate("Document No.", EDocument."Document No."); EDocumentLog.Validate("E-Doc. Entry No", EDocument."Entry No"); EDocumentLog.Validate(Status, EDocumentServiceStatus); +#if not CLEAN26 EDocumentLog.Validate("Service Integration", EDocumentService."Service Integration"); +#endif EDocumentLog.Validate("Service Code", EDocumentService.Code); EDocumentLog.Validate("Document Format", EDocumentService."Document Format"); EDocumentLog.Validate("E-Doc. Data Storage Entry No.", EDocDataStorageEntryNo); @@ -53,8 +55,11 @@ codeunit 6132 "E-Document Log" EDocumentIntegrationLogRecRef: RecordRef; RequestTxt: Text; begin - if EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration" then +#if not CLEAN26 + if (EDocumentService."Service Integration" = EDocumentService."Service Integration"::"No Integration") and + (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::"No Integration") then exit; +#endif EDocumentIntegrationLog.Validate("E-Doc. Entry No", EDocument."Entry No"); EDocumentIntegrationLog.Validate("Service Code", EDocumentService.Code); @@ -99,7 +104,7 @@ codeunit 6132 "E-Document Log" EDocumentLog.Modify(); end; - internal procedure InsertDataStorage(var TempBlob: Codeunit "Temp Blob"): Integer + internal procedure InsertDataStorage(TempBlob: Codeunit "Temp Blob"): Integer var EDocDataStorage: Record "E-Doc. Data Storage"; EDocRecRef: RecordRef; @@ -144,7 +149,9 @@ codeunit 6132 "E-Document Log" EDocumentLog.SetLoadFields("E-Doc. Entry No", Status); EDocumentLog.SetRange("E-Doc. Entry No", EDocument."Entry No"); EDocumentLog.SetRange("Service Code", EDocumentService.Code); +#if not CLEAN26 EDocumentLog.SetRange("Service Integration", EDocumentService."Service Integration"); +#endif EDocumentLog.SetRange("Document Format", EDocumentService."Document Format"); EDocumentLog.SetRange(Status, EDocumentServiceStatus); if not EDocumentLog.FindLast() then begin diff --git a/Apps/W1/EDocument/app/src/Processing/EDocImport.Codeunit.al b/Apps/W1/EDocument/app/src/Processing/EDocImport.Codeunit.al index a7747705d4..0591dfdb3b 100644 --- a/Apps/W1/EDocument/app/src/Processing/EDocImport.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Processing/EDocImport.Codeunit.al @@ -77,7 +77,7 @@ codeunit 6140 "E-Doc. Import" EDocService: Record "E-Document Service"; TempBlob: Codeunit "Temp Blob"; begin - if EDocument.Status = EDocument.Status::Processed then // TODO: Change to test field + if EDocument.Status = EDocument.Status::Processed then exit; DeleteAttachments(EDocument); @@ -116,76 +116,6 @@ codeunit 6140 "E-Doc. Import" EDocument.Modify(true); end; - internal procedure ReceiveDocument(EDocService: Record "E-Document Service") - var - EDocument, EDocument2 : Record "E-Document"; - EDocLog: Record "E-Document Log"; - TempBlob: Codeunit "Temp Blob"; - EDocIntegration: Interface "E-Document Integration"; - EDocumentServiceStatus: Enum "E-Document Service Status"; - HttpResponse: HttpResponseMessage; - HttpRequest: HttpRequestMessage; - I, EDocBatchDataStorageEntryNo, EDocCount : Integer; - HasErrors, IsCreated, IsProcessed : Boolean; - begin - EDocIntegration := EDocService."Service Integration"; - EDocIntegration.ReceiveDocument(TempBlob, HttpRequest, HttpResponse); - - if not TempBlob.HasValue() then - exit; - - EDocCount := EDocIntegration.GetDocumentCountInBatch(TempBlob); - if EDocCount = 0 then - exit; - - if EDocCount > 1 then - EDocumentServiceStatus := Enum::"E-Document Service Status"::"Batch Imported" - else - EDocumentServiceStatus := Enum::"E-Document Service Status"::Imported; - - HasErrors := false; - for I := 1 to EDocCount do begin - IsCreated := false; - IsProcessed := false; - EDocument.Init(); - EDocument."Index In Batch" := I; - OnBeforeInsertImportedEdocument(EDocument, EDocService, TempBlob, EDocCount, HttpRequest, HttpResponse, IsCreated, IsProcessed); - - if not IsCreated then begin - EDocument."Entry No" := 0; - EDocument.Status := EDocument.Status::"In Progress"; - EDocument.Direction := EDocument.Direction::Incoming; - EDocument.Insert(); - - if I = 1 then begin - EDocLog := EDocumentLog.InsertLog(EDocument, EDocService, TempBlob, EDocumentServiceStatus); - EDocBatchDataStorageEntryNo := EDocLog."E-Doc. Data Storage Entry No."; - end else begin - EDocLog := EDocumentLog.InsertLog(EDocument, EDocService, EDocumentServiceStatus); - EDocumentLog.ModifyDataStorageEntryNo(EDocLog, EDocBatchDataStorageEntryNo); - end; - - EDocumentLog.InsertIntegrationLog(EDocument, EDocService, HttpRequest, HttpResponse); - EDocumentProcessing.InsertServiceStatus(EDocument, EDocService, EDocumentServiceStatus); - EDocumentProcessing.ModifyEDocumentStatus(EDocument, EDocumentServiceStatus); - - OnAfterInsertImportedEdocument(EDocument, EDocService, TempBlob, EDocCount, HttpRequest, HttpResponse); - end; - - if not IsProcessed then - ProcessImportedDocument(EDocument, EDocService, TempBlob, EDocService."Create Journal Lines"); - - if EDocErrorHelper.HasErrors(EDocument) then begin - EDocument2 := EDocument; - HasErrors := true; - end; - end; - - if HasErrors and GuiAllowed() then - if Confirm(DocNotCreatedQst, true, EDocument2."Document Type") then - Page.Run(Page::"E-Document", EDocument2); - - end; internal procedure UpdatePurchaseOrderLink(var EDocument: Record "E-Document") var @@ -381,7 +311,24 @@ codeunit 6140 "E-Doc. Import" EDocument.Modify(); end; - local procedure ProcessImportedDocument(var EDocument: Record "E-Document"; var EDocService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; CreateJnlLine: Boolean) + internal procedure ProcessReceivedDocuments(var EDocService: Record "E-Document Service"; var LastFailedRecord: Record "E-Document") + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + begin + EDocumentServiceStatus.SetRange("E-Document Service Code", EDocService.Code); + EDocumentServiceStatus.SetRange(Status, Enum::"E-Document Service Status"::Imported); + if EDocumentServiceStatus.FindSet() then + repeat + EDocument.Get(EDocumentServiceStatus."E-Document Entry No"); + ProcessDocument(EDocument, EDocService."Create Journal Lines"); + + if EDocErrorHelper.HasErrors(EDocument) then + LastFailedRecord := EDocument; + until EDocumentServiceStatus.Next() = 0; + end; + + internal procedure ProcessImportedDocument(var EDocument: Record "E-Document"; var EDocService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; CreateJnlLine: Boolean) var EDocLog: Record "E-Document Log"; TempEDocMapping: Record "E-Doc. Mapping" temporary; @@ -678,6 +625,18 @@ codeunit 6140 "E-Doc. Import" HideDialogs := Hide; end; +#if not CLEAN26 + internal procedure AfterInsertImportedEdocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocCount: Integer; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + begin + OnAfterInsertImportedEdocument(EDocument, EDocumentService, TempBlob, EDocCount, HttpRequest, HttpResponse); + end; + + internal procedure BeforeInsertImportedEdocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocCount: Integer; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage; var IsCreated: Boolean; var IsProcessed: Boolean) + begin + OnBeforeInsertImportedEdocument(EDocument, EDocumentService, TempBlob, EDocCount, HttpRequest, HttpResponse, IsCreated, IsProcessed); + end; +#endif + var EDocumentLog: Codeunit "E-Document Log"; EDocImportHelper: Codeunit "E-Document Import Helper"; @@ -688,7 +647,6 @@ codeunit 6140 "E-Doc. Import" DocCreateMsg: Label 'Creating Purchase %1', Comment = '%1 - Document type'; DocLinkMsg: Label 'Linking to existing order'; DocCreatePOMsg: Label 'Creating Purchase Order'; - DocNotCreatedQst: Label 'Failed to create new Purchase %1 from E-Document. Do you want to open E-Document to see reported errors?', Comment = '%1 - Purchase Document Type'; DocAlreadyExistsMsg: Label 'The document already exists.'; DocTypeIsNotSupportedErr: Label 'Document type %1 is not supported.', Comment = '%1 - Document Type'; FailedToFindVendorErr: Label 'No vendor is set for Edocument'; @@ -739,13 +697,17 @@ codeunit 6140 "E-Doc. Import" begin end; +#if not CLEAN26 [IntegrationEvent(false, false)] + [Obsolete('This event is removed. Use new IDocumentReceiver interface instead', '26.0')] local procedure OnAfterInsertImportedEdocument(var EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocCount: Integer; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) begin end; [IntegrationEvent(false, false)] + [Obsolete('This event is removed. Use new IDocumentReceiver interface instead', '26.0')] local procedure OnBeforeInsertImportedEdocument(var EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocCount: Integer; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var IsCreated: Boolean; var IsProcessed: Boolean) begin end; +#endif } \ No newline at end of file diff --git a/Apps/W1/EDocument/app/src/Processing/EDocumentImportJob.Codeunit.al b/Apps/W1/EDocument/app/src/Processing/EDocumentImportJob.Codeunit.al index 24b519f316..f4b4b5b69d 100644 --- a/Apps/W1/EDocument/app/src/Processing/EDocumentImportJob.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Processing/EDocumentImportJob.Codeunit.al @@ -3,20 +3,50 @@ // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ namespace Microsoft.eServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Receive; using System.Threading; +#if not CLEAN26 +using Microsoft.eServices.EDocument.Integration; +#endif codeunit 6147 "E-Document Import Job" { Access = Internal; TableNo = "Job Queue Entry"; +#if not CLEAN26 trigger OnRun() var + EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; - EDocImportManagement: Codeunit "E-Doc. Import"; + EDocIntegrationMgt: Codeunit "E-Doc. Integration Management"; + EDocImport: Codeunit "E-Doc. Import"; + ReceiveContext: Codeunit ReceiveContext; + EDocIntegration: Interface "E-Document Integration"; begin EDocumentService.Get(Rec."Record ID to Process"); - EDocImportManagement.ReceiveDocument(EDocumentService); + if EDocumentService."Service Integration V2" <> Enum::"Service Integration"::"No Integration" then begin + EDocIntegrationMgt.ReceiveDocuments(EDocumentService, ReceiveContext); + EDocImport.ProcessReceivedDocuments(EDocumentService, EDocument); + exit; + end; + + EDocIntegration := EDocumentService."Service Integration"; + EDocIntegrationMgt.ReceiveDocument(EDocumentService, EDocIntegration); + end; +#else + trigger OnRun() + var + EDocument: Record "E-Document"; + EDocumentService: Record "E-Document Service"; + EDocIntegrationMgt: Codeunit "E-Doc. Integration Management"; + ReceiveContext: Codeunit ReceiveContext; + EDocImport: Codeunit "E-Doc. Import"; + begin + EDocumentService.Get(Rec."Record ID to Process"); + EDocIntegrationMgt.ReceiveDocuments(EDocumentService, ReceiveContext); + EDocImport.ProcessReceivedDocuments(EDocumentService, EDocument); end; +#endif } diff --git a/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al b/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al index 45b492256f..36c73e30b5 100644 --- a/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Processing/EDocumentProcessing.Codeunit.al @@ -78,7 +78,7 @@ codeunit 6108 "E-Document Processing" EDocumentServiceStatus.Status::"Export Error", EDocumentServiceStatus.Status::"Cancel Error", EDocumentServiceStatus.Status::"Imported Document Processing Error", - EDocumentServiceStatus.Status::Rejected); + EDocumentServiceStatus.Status::"Approval Error"); if not EDocumentServiceStatus.IsEmpty() then begin EDocument.Get(EDocument."Entry No"); @@ -97,6 +97,7 @@ codeunit 6108 "E-Document Processing" EDocumentServiceStatus.Status::"Imported Document Created", EDocumentServiceStatus.Status::"Journal Line Created", EDocumentServiceStatus.Status::Approved, + EDocumentServiceStatus.Status::Rejected, EDocumentServiceStatus.Status::Canceled); // There can be service status for multiple services: @@ -193,6 +194,7 @@ codeunit 6108 "E-Document Processing" PurchaseHeader: Record "Purchase Header"; Guid: Guid; begin + PurchaseHeader.SetRange("Document Type", Enum::"Purchase Document Type"::Order); PurchaseHeader.SetFilter("E-Document Link", '<>%1', Guid); exit(PurchaseHeader.Count()); end; diff --git a/Apps/W1/EDocument/app/src/Service/EDocumentService.Table.al b/Apps/W1/EDocument/app/src/Service/EDocumentService.Table.al index ad574e700a..c78e73e8c6 100644 --- a/Apps/W1/EDocument/app/src/Service/EDocumentService.Table.al +++ b/Apps/W1/EDocument/app/src/Service/EDocumentService.Table.al @@ -6,6 +6,8 @@ namespace Microsoft.eServices.EDocument; using Microsoft.Finance.GeneralLedger.Journal; using System.Privacy; +using Microsoft.eServices.EDocument.Integration; +using Microsoft.eServices.EDocument.Integration.Action; table 6103 "E-Document Service" { @@ -30,10 +32,18 @@ table 6103 "E-Document Service" Caption = 'Document Format'; DataClassification = SystemMetadata; } +#if not CLEANSCHEMA29 field(4; "Service Integration"; Enum "E-Document Integration") { Caption = 'Service Integration'; DataClassification = SystemMetadata; + ObsoleteReason = 'Use Service Integration V2 integration enum instead'; +#if CLEAN26 + ObsoleteState = Removed; + ObsoleteTag = '29.0'; +#else + ObsoleteState = Pending; + ObsoleteTag = '26.0'; trigger OnValidate() var @@ -43,7 +53,9 @@ table 6103 "E-Document Service" if not CustConcentMgt.ConfirmCustomConsent(ChooseIntegrationConsentTxt) then Rec."Service Integration" := xRec."Service Integration"; end; +#endif } +#endif field(5; "Use Batch Processing"; Boolean) { Caption = 'Use Batch Processing'; @@ -209,6 +221,27 @@ table 6103 "E-Document Service" Caption = 'Batch Recurrent Job Id'; DataClassification = SystemMetadata; } + field(27; "Service Integration V2"; Enum "Service Integration") + { + Caption = 'Service Integration V2'; + ToolTip = 'Specifies the integration for sending documents to the service.'; + DataClassification = SystemMetadata; + + trigger OnValidate() + var + CustConcentMgt: Codeunit "Customer Consent Mgt."; + begin + if (xRec."Service Integration V2" = xRec."Service Integration V2"::"No Integration") and (Rec."Service Integration V2" <> xRec."Service Integration V2") then + if not CustConcentMgt.ConfirmCustomConsent(ChooseIntegrationConsentTxt) then + Rec."Service Integration V2" := xRec."Service Integration V2"; + end; + } + field(28; "Sent Actions Integration"; Enum "Sent Document Actions") + { + Caption = 'Sent Actions For Service'; + ToolTip = 'Specifies the implementation of actions that can be performed after the document is sent to the service.'; + DataClassification = SystemMetadata; + } } keys { @@ -232,7 +265,11 @@ table 6103 "E-Document Service" internal procedure ToString(): Text begin +#if not CLEAN26 exit(StrSubstNo(EDocStringLbl, SystemId, "Document Format", "Service Integration", "Use Batch Processing", "Batch Mode")); +#else + exit(StrSubstNo(EDocStringLbl, SystemId, "Document Format", "Service Integration V2", "Use Batch Processing", "Batch Mode")); +#endif end; var diff --git a/Apps/W1/EDocument/app/src/Service/EDocumentServices.Page.al b/Apps/W1/EDocument/app/src/Service/EDocumentServices.Page.al index 70cfcc35e2..2e1867eb9d 100644 --- a/Apps/W1/EDocument/app/src/Service/EDocumentServices.Page.al +++ b/Apps/W1/EDocument/app/src/Service/EDocumentServices.Page.al @@ -39,9 +39,17 @@ page 6103 "E-Document Services" { ToolTip = 'Specifies the export format of the electronic export setup.'; } +#if not CLEAN26 field("Service Integration"; Rec."Service Integration") { ToolTip = 'Specifies service integration for the electronic document setup.'; + ObsoleteTag = '26.0'; + ObsoleteState = Pending; + ObsoleteReason = 'Moved to field "Service Integration V2" on "E-Document Service" table'; + } +#endif + field("Service Integration V2"; Rec."Service Integration V2") + { } } } diff --git a/Apps/W1/EDocument/app/src/Service/EdocumentService.Page.al b/Apps/W1/EDocument/app/src/Service/EdocumentService.Page.al index 8b033e040f..e7f88e4b12 100644 --- a/Apps/W1/EDocument/app/src/Service/EdocumentService.Page.al +++ b/Apps/W1/EDocument/app/src/Service/EdocumentService.Page.al @@ -4,9 +4,12 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.eServices.EDocument; -using Microsoft.eServices.EDocument.IO.Peppol; using System.Telemetry; - +using Microsoft.eServices.EDocument.IO.Peppol; +#if not CLEAN26 +using Microsoft.eServices.EDocument.Integration.Interfaces; +#endif +using Microsoft.eServices.EDocument.Integration.Receive; page 6133 "E-Document Service" { ApplicationArea = Basic, Suite; @@ -39,10 +42,23 @@ page 6133 "E-Document Service" CurrPage.Update(false); end; } +#if not CLEAN26 field("Service Integration"; Rec."Service Integration") + { + ToolTip = 'Specifies integration code for the electronic export setup.'; + ObsoleteTag = '26.0'; + ObsoleteState = Pending; + ObsoleteReason = 'Replaced with field "Service Integration V2"'; + } +#endif + field("Service Integration V2"; Rec."Service Integration V2") { ToolTip = 'Specifies integration code for the electronic export setup.'; } + field("Sent Actions"; Rec."Sent Actions Integration") + { + ToolTip = 'Specifies integration code for sent e-document actions.'; + } field("Use Batch Processing"; Rec."Use Batch Processing") { ToolTip = 'Specifies if service uses batch processing for export.'; @@ -194,16 +210,8 @@ page 6133 "E-Document Service" Image = Setup; trigger OnAction() - var - EDocumentIntegration: Interface "E-Document Integration"; - SetupPage, SetupTable : integer; begin - EDocumentIntegration := Rec."Service Integration"; - EDocumentIntegration.GetIntegrationSetup(SetupPage, SetupTable); - if SetupPage = 0 then - Message(ServiceIntegrationSetupMsg) - else - Page.Run(SetupPage); + RunSetupServiceIntegration(); end; } action(SupportedDocTypes) @@ -217,14 +225,12 @@ page 6133 "E-Document Service" action(Receive) { Caption = 'Receive'; - ToolTip = 'Manually Trigger Receive'; + ToolTip = 'Manually trigger receive'; Image = Import; trigger OnAction() - var - EDocImport: Codeunit "E-Doc. Import"; begin - EDocImport.ReceiveDocument(Rec); + ReceiveDocs(); end; } } @@ -238,6 +244,7 @@ page 6133 "E-Document Service" var ServiceIntegrationSetupMsg: Label 'There is no configuration setup for this service integration.'; + DocNotCreatedQst: Label 'Failed to create new Purchase %1 from E-Document. Do you want to open E-Document to see reported errors?', Comment = '%1 - Purchase Document Type'; trigger OnOpenPage() var @@ -256,4 +263,81 @@ page 6133 "E-Document Service" EDocumentBackgroundJobs.HandleRecurrentBatchJob(Rec); EDocumentBackgroundJobs.HandleRecurrentImportJob(Rec); end; + +#if not CLEAN26 + local procedure RunSetupServiceIntegration() + var + EDocumentIntegration: Interface "E-Document Integration"; + SetupPage, SetupTable : Integer; + begin + OnBeforeOpenServiceIntegrationSetupPage(Rec, SetupPage); + if SetupPage = 0 then begin + EDocumentIntegration := Rec."Service Integration"; + EDocumentIntegration.GetIntegrationSetup(SetupPage, SetupTable); + end; + + if SetupPage = 0 then + Message(ServiceIntegrationSetupMsg) + else + Page.Run(SetupPage); + end; +#else + local procedure RunSetupServiceIntegration() + var + SetupPage: Integer; + begin + OnBeforeOpenServiceIntegrationSetupPage(Rec, SetupPage); + if SetupPage = 0 then + Message(ServiceIntegrationSetupMsg) + else + Page.Run(SetupPage); + end; +#endif + +#if not CLEAN26 + local procedure ReceiveDocs() + var + FailedEDocument: Record "E-Document"; + EDocIntegrationMgt: Codeunit "E-Doc. Integration Management"; + EDocImport: Codeunit "E-Doc. Import"; + ReceiveContext: Codeunit ReceiveContext; + EDocIntegration: Interface "E-Document Integration"; + begin + EDocIntegration := Rec."Service Integration"; + if EDocIntegration is IDocumentReceiver then begin + EDocIntegrationMgt.ReceiveDocuments(Rec, ReceiveContext); + EDocImport.ProcessReceivedDocuments(Rec, FailedEDocument); + + if FailedEDocument."Entry No" <> 0 then + if Confirm(DocNotCreatedQst, true, FailedEDocument."Document Type") then + Page.Run(Page::"E-Document", FailedEDocument); + exit; + end; + + EDocIntegrationMgt.ReceiveDocument(Rec, EDocIntegration); + end; +#else + local procedure ReceiveDocs() + var + FailedEDocument: Record "E-Document"; + EDocIntegrationMgt: Codeunit "E-Doc. Integration Management"; + EDocImport: Codeunit "E-Doc. Import"; + ReceiveContext: Codeunit ReceiveContext; + begin + EDocIntegrationMgt.ReceiveDocuments(Rec, ReceiveContext); + EDocImport.ProcessReceivedDocuments(Rec, FailedEDocument); + + if FailedEDocument."Entry No" <> 0 then + if Confirm(DocNotCreatedQst, true, FailedEDocument."Document Type") then + Page.Run(Page::"E-Document", FailedEDocument); + + end; +#endif + + + [IntegrationEvent(false, false)] + local procedure OnBeforeOpenServiceIntegrationSetupPage(EDocumentService: Record "E-Document Service"; var SetupPage: Integer) + begin + end; + } diff --git a/Apps/W1/EDocument/app/src/Service/Participant/ServiceParticipant.Codeunit.al b/Apps/W1/EDocument/app/src/Service/Participant/ServiceParticipant.Codeunit.al index b2e95d5c80..d4842c3d13 100644 --- a/Apps/W1/EDocument/app/src/Service/Participant/ServiceParticipant.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Service/Participant/ServiceParticipant.Codeunit.al @@ -17,7 +17,7 @@ codeunit 6170 "Service Participant" var ServiceParticipant: Record "Service Participant"; begin - ServiceParticipant.SetRange("Participant Type", Enum::"E-Document Source Type"::Vendor); + ServiceParticipant.SetRange("Participant Type", Type); ServiceParticipant.SetRange(Participant, Participant); exit(ServiceParticipant.Count()); end; diff --git a/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowProcessing.Codeunit.al b/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowProcessing.Codeunit.al index 7e14717056..b64fe69eba 100644 --- a/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowProcessing.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowProcessing.Codeunit.al @@ -7,6 +7,7 @@ namespace Microsoft.eServices.EDocument; using System.Automation; using System.Telemetry; using System.Utilities; +using Microsoft.eServices.EDocument.Integration.Send; codeunit 6135 "E-Document WorkFlow Processing" { @@ -190,11 +191,12 @@ codeunit 6135 "E-Document WorkFlow Processing" EDocExport: Codeunit "E-Doc. Export"; EDocIntMgt: Codeunit "E-Doc. Integration Management"; EDocumentBackgroundjobs: Codeunit "E-Document Background Jobs"; - IsAsync, Sent : Boolean; + SendContext: Codeunit SendContext; + Sent, IsAsync : Boolean; begin Sent := false; if EDocExport.ExportEDocument(EDocument, EDocumentService) then - Sent := EDocIntMgt.Send(EDocument, EDocumentService, IsAsync); + Sent := EDocIntMgt.Send(EDocument, EDocumentService, SendContext, IsAsync); if Sent then if IsAsync then diff --git a/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowSetup.Codeunit.al b/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowSetup.Codeunit.al index 22370be7a3..dde9f2ea9b 100644 --- a/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowSetup.Codeunit.al +++ b/Apps/W1/EDocument/app/src/Workflow/EDocumentWorkFlowSetup.Codeunit.al @@ -36,6 +36,16 @@ codeunit 6139 "E-Document Workflow Setup" Workflow.Modify(); end; + procedure EDocReceived(): Code[128] + begin + exit('EDOCRECEIVED'); + end; + + procedure EDocImport(): Code[128] + begin + exit('EDOCIMPORT'); + end; + procedure EDocSendEDocResponseCode(): Code[128]; begin exit('EDOCSendEDOCRESPONSE'); @@ -58,6 +68,7 @@ codeunit 6139 "E-Document Workflow Setup" begin WorkflowEventHandling.AddEventToLibrary(EDocCreated(), Database::"E-Document", 'E-Document Created', 0, false); WorkflowEventHandling.AddEventToLibrary(EDocStatusChanged(), Database::"E-Document Service Status", 'E-Document has changed', 0, false); + WorkflowEventHandling.AddEventToLibrary(EDocReceived(), Database::"E-Document", 'E-Document Imported', 0, false); end; @@ -67,13 +78,15 @@ codeunit 6139 "E-Document Workflow Setup" WorkflowResponseHandling: Codeunit "Workflow Response Handling"; begin WorkflowResponseHandling.AddResponseToLibrary(EDocSendEDocResponseCode(), Database::"E-Document", 'Send E-Document using setup: %1', 'GROUP 50100'); + WorkflowResponseHandling.AddResponseToLibrary(EDocImport(), Database::"E-Document", 'Import E-Document using setup: %1', 'GROUP 50100'); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Workflow Response Handling", 'OnAfterGetDescription', '', false, false)] local procedure OnAfterGetDescription(WorkflowStepArgument: Record "Workflow Step Argument"; WorkflowResponse: Record "Workflow Response"; var Result: Text[250]) begin case WorkflowResponse."Function Name" of - EDocSendEDocResponseCode(): + EDocSendEDocResponseCode(), + EDocImport(): Result := (CopyStr(StrSubstNo(WorkflowResponse.Description, WorkflowStepArgument."E-Document Service"), 1, 250)); end; end; diff --git a/Apps/W1/EDocument/demo data/1.Setup Data/CreateEDocumentSetup.Codeunit.al b/Apps/W1/EDocument/demo data/1.Setup Data/CreateEDocumentSetup.Codeunit.al index bc98f2f61a..24ab0011a1 100644 --- a/Apps/W1/EDocument/demo data/1.Setup Data/CreateEDocumentSetup.Codeunit.al +++ b/Apps/W1/EDocument/demo data/1.Setup Data/CreateEDocumentSetup.Codeunit.al @@ -74,7 +74,7 @@ codeunit 5374 "Create E-Document Setup" EDocServiceRec.Code := EDocService(); EDocServiceRec.Description := EDocService(); EDocServiceRec."Document Format" := EDocServiceRec."Document Format"::"PEPPOL BIS 3.0"; - EDocServiceRec."Service Integration" := EDocServiceRec."Service Integration"::"No Integration"; + EDocServiceRec."Service Integration V2" := EDocServiceRec."Service Integration V2"::"No Integration"; if EDocServiceRec.Insert() then; end; diff --git a/Apps/W1/EDocument/demo data/EDocumentContosoModule.Codeunit.al b/Apps/W1/EDocument/demo data/EDocumentContosoModule.Codeunit.al index 75871c32ad..716c547589 100644 --- a/Apps/W1/EDocument/demo data/EDocumentContosoModule.Codeunit.al +++ b/Apps/W1/EDocument/demo data/EDocumentContosoModule.Codeunit.al @@ -17,20 +17,20 @@ codeunit 5373 "E-Document Contoso Module" implements "Contoso Demo Data Module" procedure CreateSetupData() begin - Codeunit.Run(Codeunit::"Create E-Document Setup"); + // Codeunit.Run(Codeunit::"Create E-Document Setup"); end; procedure CreateMasterData() - var - EDocumentModuleSetup: Record "E-Document Module Setup"; + // var + // EDocumentModuleSetup: Record "E-Document Module Setup"; begin - EDocumentModuleSetup.InitEDocumentModuleSetup(); - Codeunit.Run(Codeunit::"Create E-Document Master Data"); + // EDocumentModuleSetup.InitEDocumentModuleSetup(); + // Codeunit.Run(Codeunit::"Create E-Document Master Data"); end; procedure CreateTransactionalData() begin - Codeunit.Run(Codeunit::"Create E-Document Transactions"); + // Codeunit.Run(Codeunit::"Create E-Document Transactions"); end; procedure CreateHistoricalData() diff --git a/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPOAccuacy.Codeunit.al b/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPOAccuacy.Codeunit.al index 357f3be5b1..cebbc5c2f9 100644 --- a/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPOAccuacy.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPOAccuacy.Codeunit.al @@ -164,7 +164,6 @@ codeunit 133502 EDocCopilotPOAccuacy LibraryAzureKVMockMgmt: Codeunit "Library - Azure KV Mock Mgmt."; begin LibraryAzureKVMockMgmt.InitMockAzureKeyvaultSecretProvider(); - LibraryAzureKVMockMgmt.EnsureSecretNameIsAllowed('EDocumentMappingToolStruct,EDocumentMappingPrompt'); // Always enter prompts when running tests locally. // TODO: Fix when there exits solution to load prompts at runtime diff --git a/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPORedTeaming.Codeunit.al b/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPORedTeaming.Codeunit.al index d4003b4af9..0c3d63ba17 100644 --- a/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPORedTeaming.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Copilot/EDocCopilotPORedTeaming.Codeunit.al @@ -108,7 +108,6 @@ codeunit 133501 EDocCopilotPORedTeaming LibraryAzureKVMockMgmt: Codeunit "Library - Azure KV Mock Mgmt."; begin LibraryAzureKVMockMgmt.InitMockAzureKeyvaultSecretProvider(); - LibraryAzureKVMockMgmt.EnsureSecretNameIsAllowed('EDocumentMappingToolStruct,EDocumentMappingPrompt'); // Always enter prompts when running tests locally. // TODO: Fix when there exits solution to load prompts at runtime diff --git a/Apps/W1/EDocument/test/src/Flow/EDocFlowTest.Codeunit.al b/Apps/W1/EDocument/test/src/Flow/EDocFlowTest.Codeunit.al index d0158fb3a5..e881134352 100644 --- a/Apps/W1/EDocument/test/src/Flow/EDocFlowTest.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Flow/EDocFlowTest.Codeunit.al @@ -14,9 +14,8 @@ codeunit 139631 "E-Doc. Flow Test" WorkflowEmptyErr: Label 'Must return false for an empty workflow'; NoWorkflowArgumentErr: Label 'E-Document Service must be specified in Workflow Argument'; - [Test] - procedure EDocFlowGetServiceInFlowSuccess() + procedure EDocFlowGetServiceInFlowSuccess26() var EDocService: Record "E-Document Service"; EDocWorkflowProcessing: Codeunit "E-Document WorkFlow Processing"; @@ -31,7 +30,7 @@ codeunit 139631 "E-Doc. Flow Test" // [WHEN] Creating worfklow with Service A CustomerNo := LibrarySales.CreateCustomerNo(); DocSendProfileNo := LibraryEDoc.CreateDocumentSendingProfileForWorkflow(CustomerNo, ''); - ServiceCode := LibraryEDoc.CreateService(); + ServiceCode := LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock"); WorkflowCode := LibraryEDoc.CreateFlowWithService(DocSendProfileNo, ServiceCode); // [THEN] Team Member DoesFlowHasEDocService returns Service A @@ -43,7 +42,7 @@ codeunit 139631 "E-Doc. Flow Test" end; [Test] - procedure EDocFlowGetServicesInFlowSuccess() + procedure EDocFlowGetServicesInFlowSuccess26() var EDocService: Record "E-Document Service"; EDocWorkflowProcessing: Codeunit "E-Document WorkFlow Processing"; @@ -58,8 +57,8 @@ codeunit 139631 "E-Doc. Flow Test" // [WHEN] Creating worfklow with Service A and B CustomerNo := LibrarySales.CreateCustomerNo(); DocSendProfileNo := LibraryEDoc.CreateDocumentSendingProfileForWorkflow(CustomerNo, ''); - ServiceCodeA := LibraryEDoc.CreateService(); - ServiceCodeB := LibraryEDoc.CreateService(); + ServiceCodeA := LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock"); + ServiceCodeB := LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock"); WorkflowCode := LibraryEDoc.CreateFlowWithServices(DocSendProfileNo, ServiceCodeA, ServiceCodeB); // [THEN] DoesFlowHasEDocService returns service A and B @@ -126,6 +125,68 @@ codeunit 139631 "E-Doc. Flow Test" Assert.AreEqual(EDocument.RecordId, ErrorMessage."Context Record ID", WrongValueErr); end; +#pragma warning disable AS0018 +#if not CLEAN26 + [Test] + [Obsolete('Obsolete in 26.0', '26.0')] + procedure EDocFlowGetServiceInFlowSuccess() + var + EDocService: Record "E-Document Service"; + EDocWorkflowProcessing: Codeunit "E-Document WorkFlow Processing"; + CustomerNo, DocSendProfileNo, WorkflowCode, ServiceCode : Code[20]; + begin + // [FEATURE] [E-Document] [Flow] + // [SCENARIO] Get services from workflow + + // [GIVEN] Created posting a document + Initialize(); + + // [WHEN] Creating worfklow with Service A + CustomerNo := LibrarySales.CreateCustomerNo(); + DocSendProfileNo := LibraryEDoc.CreateDocumentSendingProfileForWorkflow(CustomerNo, ''); + ServiceCode := LibraryEDoc.CreateService(Enum::"E-Document Integration"::Mock); + WorkflowCode := LibraryEDoc.CreateFlowWithService(DocSendProfileNo, ServiceCode); + + // [THEN] Team Member DoesFlowHasEDocService returns Service A + LibraryLowerPermission.SetTeamMember(); + EDocWorkflowProcessing.DoesFlowHasEDocService(EDocService, WorkflowCode); + EDocService.FindSet(); + Assert.AreEqual(1, EDocService.Count(), WrongValueErr); + Assert.AreEqual(ServiceCode, EDocService.Code, WrongValueErr); + end; + + [Test] + [Obsolete('Obsolete in 26.0', '26.0')] + procedure EDocFlowGetServicesInFlowSuccess() + var + EDocService: Record "E-Document Service"; + EDocWorkflowProcessing: Codeunit "E-Document WorkFlow Processing"; + CustomerNo, DocSendProfileNo, WorkflowCode, ServiceCodeA, ServiceCodeB : Code[20]; + begin + // [FEATURE] [E-Document] [Flow] + // [SCENARIO] Get services from workflow with multiple services + + // [GIVEN] Created posting a document + Initialize(); + + // [WHEN] Creating worfklow with Service A and B + CustomerNo := LibrarySales.CreateCustomerNo(); + DocSendProfileNo := LibraryEDoc.CreateDocumentSendingProfileForWorkflow(CustomerNo, ''); + ServiceCodeA := LibraryEDoc.CreateService(Enum::"E-Document Integration"::Mock); + ServiceCodeB := LibraryEDoc.CreateService(Enum::"E-Document Integration"::Mock); + WorkflowCode := LibraryEDoc.CreateFlowWithServices(DocSendProfileNo, ServiceCodeA, ServiceCodeB); + + // [THEN] DoesFlowHasEDocService returns service A and B + EDocWorkflowProcessing.DoesFlowHasEDocService(EDocService, WorkflowCode); + Assert.AreEqual(2, EDocService.Count(), WrongValueErr); + EDocService.FindSet(); + Assert.AreEqual(ServiceCodeA, EDocService.Code, WrongValueErr); + EDocService.Next(); + Assert.AreEqual(ServiceCodeB, EDocService.Code, WrongValueErr); + end; +#endif +#pragma warning restore AS0018 + local procedure Initialize() var TransformationRule: Record "Transformation Rule"; @@ -139,5 +200,4 @@ codeunit 139631 "E-Doc. Flow Test" - } \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/LibraryEDocument.Codeunit.al b/Apps/W1/EDocument/test/src/LibraryEDocument.Codeunit.al index 54ca27b80c..ef05faa87b 100644 --- a/Apps/W1/EDocument/test/src/LibraryEDocument.Codeunit.al +++ b/Apps/W1/EDocument/test/src/LibraryEDocument.Codeunit.al @@ -25,21 +25,40 @@ codeunit 139629 "Library - E-Document" LibraryERM.CreateVATPostingSetupWithAccounts(VATPostingSetup, Enum::"Tax Calculation Type"::"Normal VAT", 1); end; +#if not CLEAN26 + [Obsolete('Use SetupStandardSalesScenario(var Customer: Record Customer; var EDocService: Record "E-Document Service"; EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "Service Integration") instead', '26.0')] procedure SetupStandardSalesScenario(var Customer: Record Customer; var EDocService: Record "E-Document Service"; EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "E-Document Integration") + var + ServiceCode: Code[20]; + begin + // Create standard service and simple workflow + ServiceCode := CreateService(EDocDoucmentFormat, EDocIntegration); + EDocService.Get(ServiceCode); + SetupStandardSalesScenario(Customer, EDocService); + end; +#endif + + procedure SetupStandardSalesScenario(var Customer: Record Customer; var EDocService: Record "E-Document Service"; EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "Service Integration") + var + ServiceCode: Code[20]; + begin + // Create standard service and simple workflow + ServiceCode := CreateService(EDocDoucmentFormat, EDocIntegration); + EDocService.Get(ServiceCode); + SetupStandardSalesScenario(Customer, EDocService); + end; + + procedure SetupStandardSalesScenario(var Customer: Record Customer; var EDocService: Record "E-Document Service") var CountryRegion: Record "Country/Region"; DocumentSendingProfile: Record "Document Sending Profile"; SalesSetup: Record "Sales & Receivables Setup"; WorkflowSetup: Codeunit "Workflow Setup"; - ServiceCode, WorkflowCode : Code[20]; + WorkflowCode: Code[20]; begin WorkflowSetup.InitWorkflow(); SetupCompanyInfo(); - // Create standard service and simple workflow - ServiceCode := CreateService(EDocDoucmentFormat, EDocIntegration); - EDocService.Get(ServiceCode); - CreateDocSendingProfile(DocumentSendingProfile); WorkflowCode := CreateSimpleFlow(DocumentSendingProfile.Code, EDocService.Code); DocumentSendingProfile."Electronic Document" := DocumentSendingProfile."Electronic Document"::"Extended E-Document Service Flow"; @@ -72,7 +91,35 @@ codeunit 139629 "Library - E-Document" SalesSetup.Modify(); end; +#if not CLEAN26 + [Obsolete('Use SetupStandardPurchaseScenario(var Vendor: Record Vendor; var EDocService: Record "E-Document Service"; EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "Service Integration") instead', '26.0')] procedure SetupStandardPurchaseScenario(var Vendor: Record Vendor; var EDocService: Record "E-Document Service"; EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "E-Document Integration") + var + ServiceCode: Code[20]; + begin + // Create standard service and simple workflow + if EDocService.Code = '' then begin + ServiceCode := CreateService(EDocDoucmentFormat, EDocIntegration); + EDocService.Get(ServiceCode); + end; + SetupStandardPurchaseScenario(Vendor, EDocService); + end; +#endif + + procedure SetupStandardPurchaseScenario(var Vendor: Record Vendor; var EDocService: Record "E-Document Service"; EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "Service Integration") + var + ServiceCode: Code[20]; + begin + // Create standard service and simple workflow + if EDocService.Code = '' then begin + ServiceCode := CreateService(EDocDoucmentFormat, EDocIntegration); + EDocService.Get(ServiceCode); + end; + SetupStandardPurchaseScenario(Vendor, EDocService); + end; + + + procedure SetupStandardPurchaseScenario(var Vendor: Record Vendor; var EDocService: Record "E-Document Service") var CountryRegion: Record "Country/Region"; ItemReference: Record "Item Reference"; @@ -80,17 +127,10 @@ codeunit 139629 "Library - E-Document" ItemUnitOfMeasure: Record "Item Unit of Measure"; WorkflowSetup: Codeunit "Workflow Setup"; LibraryItemReference: Codeunit "Library - Item Reference"; - ServiceCode: Code[20]; begin WorkflowSetup.InitWorkflow(); SetupCompanyInfo(); - // Create standard service and simple workflow - if EDocService.Code = '' then begin - ServiceCode := CreateService(EDocDoucmentFormat, EDocIntegration); - EDocService.Get(ServiceCode); - end; - // Create Customer for sales scenario LibraryPurchase.CreateVendor(Vendor); LibraryERM.FindCountryRegion(CountryRegion); @@ -493,21 +533,41 @@ codeunit 139629 "Library - E-Document" exit(EntityName); end; - procedure CreateService(): Code[20] +#if not CLEAN26 + [Obsolete('Use CreateService(EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "Service Integration") instead', '26.0')] + procedure CreateService(Integration: Enum "E-Document Integration"): Code[20] var EDocService: Record "E-Document Service"; begin EDocService.Init(); EDocService.Code := LibraryUtility.GenerateRandomCode20(EDocService.FieldNo(Code), Database::"E-Document Service"); EDocService."Document Format" := "E-Document Format"::Mock; - EDocService."Service Integration" := "E-Document Integration"::Mock; + EDocService."Service Integration" := Integration; EDocService.Insert(); CreateSupportedDocTypes(EDocService); exit(EDocService.Code); end; +#endif + procedure CreateService(Integration: Enum "Service Integration"): Code[20] + var + EDocService: Record "E-Document Service"; + begin + EDocService.Init(); + EDocService.Code := LibraryUtility.GenerateRandomCode20(EDocService.FieldNo(Code), Database::"E-Document Service"); + EDocService."Document Format" := "E-Document Format"::Mock; + EDocService."Service Integration V2" := Integration; + EDocService.Insert(); + + CreateSupportedDocTypes(EDocService); + + exit(EDocService.Code); + end; + +#if not CLEAN26 + [Obsolete('Use CreateService(EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "Service Integration") instead', '26.0')] procedure CreateService(EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "E-Document Integration"): Code[20] var EDocService: Record "E-Document Service"; @@ -522,6 +582,23 @@ codeunit 139629 "Library - E-Document" exit(EDocService.Code); end; +#endif + + procedure CreateService(EDocDoucmentFormat: Enum "E-Document Format"; EDocIntegration: Enum "Service Integration"): Code[20] + var + EDocService: Record "E-Document Service"; + begin + EDocService.Init(); + EDocService.Code := LibraryUtility.GenerateRandomCode20(EDocService.FieldNo(Code), Database::"E-Document Service"); + EDocService."Document Format" := EDocDoucmentFormat; + EDocService."Service Integration V2" := EDocIntegration; + EDocService.Insert(); + + CreateSupportedDocTypes(EDocService); + + exit(EDocService.Code); + end; + procedure CreateServiceMapping(EDocService: Record "E-Document Service") var @@ -550,37 +627,37 @@ codeunit 139629 "Library - E-Document" end; - procedure CreateServiceWithMapping(var EDocMapping: Record "E-Doc. Mapping"; TransformationRule: Record "Transformation Rule"): Code[20] - begin - exit(CreateServiceWithMapping(EDocMapping, TransformationRule, false)); - end; + // procedure CreateServiceWithMapping(var EDocMapping: Record "E-Doc. Mapping"; TransformationRule: Record "Transformation Rule"; Integration: Enum "E-Document Integration"): Code[20] + // begin + // exit(CreateServiceWithMapping(EDocMapping, TransformationRule, false, Integration)); + // end; - procedure CreateServiceWithMapping(var EDocMapping: Record "E-Doc. Mapping"; TransformationRule: Record "Transformation Rule"; UseBatching: Boolean): Code[20] - var - SalesInvHeader: Record "Sales Invoice Header"; - EDocService: Record "E-Document Service"; - begin - EDocService.Init(); - EDocService.Code := LibraryUtility.GenerateRandomCode20(EDocService.FieldNo(Code), Database::"E-Document Service"); - EDocService."Document Format" := "E-Document Format"::Mock; - EDocService."Service Integration" := "E-Document Integration"::Mock; - EDocService."Use Batch Processing" := UseBatching; - EDocService.Insert(); + // procedure CreateServiceWithMapping(var EDocMapping: Record "E-Doc. Mapping"; TransformationRule: Record "Transformation Rule"; UseBatching: Boolean; Integration: Enum "E-Document Integration"): Code[20] + // var + // SalesInvHeader: Record "Sales Invoice Header"; + // EDocService: Record "E-Document Service"; + // begin + // EDocService.Init(); + // EDocService.Code := LibraryUtility.GenerateRandomCode20(EDocService.FieldNo(Code), Database::"E-Document Service"); + // EDocService."Document Format" := "E-Document Format"::Mock; + // EDocService."Service Integration" := Integration; + // EDocService."Use Batch Processing" := UseBatching; + // EDocService.Insert(); - CreateSupportedDocTypes(EDocService); + // CreateSupportedDocTypes(EDocService); - // Lower case mapping - CreateTransformationMapping(EDocMapping, TransformationRule, EDocService.Code); - EDocMapping."Table ID" := Database::"Sales Invoice Header"; - EDocMapping."Field ID" := SalesInvHeader.FieldNo("Bill-to Name"); - EDocMapping.Modify(); - CreateTransformationMapping(EDocMapping, TransformationRule, EDocService.Code); - EDocMapping."Table ID" := Database::"Sales Invoice Header"; - EDocMapping."Field ID" := SalesInvHeader.FieldNo("Bill-to Address"); - EDocMapping.Modify(); + // // Lower case mapping + // CreateTransformationMapping(EDocMapping, TransformationRule, EDocService.Code); + // EDocMapping."Table ID" := Database::"Sales Invoice Header"; + // EDocMapping."Field ID" := SalesInvHeader.FieldNo("Bill-to Name"); + // EDocMapping.Modify(); + // CreateTransformationMapping(EDocMapping, TransformationRule, EDocService.Code); + // EDocMapping."Table ID" := Database::"Sales Invoice Header"; + // EDocMapping."Field ID" := SalesInvHeader.FieldNo("Bill-to Address"); + // EDocMapping.Modify(); - exit(EDocService.Code); - end; + // exit(EDocService.Code); + // end; procedure CreateSupportedDocTypes(EDocService: Record "E-Document Service") var @@ -607,38 +684,80 @@ codeunit 139629 "Library - E-Document" EDocServiceSupportedType.Insert(); end; - procedure CreateTestReceiveServiceForEDoc(var EDocService: Record "E-Document Service") + procedure CreateTestReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "Service Integration") + begin + if not EDocService.Get('TESTRECEIVE') then begin + EDocService.Init(); + EDocService.Code := 'TESTRECEIVE'; + EDocService."Document Format" := "E-Document Format"::Mock; + EDocService."Service Integration V2" := Integration; + EDocService.Insert(); + end; + end; + +#if not CLEAN26 + [Obsolete('Use CreateTestReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "Service Integration") instead', '26.0')] + procedure CreateTestReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "E-Document Integration") begin if not EDocService.Get('TESTRECEIVE') then begin EDocService.Init(); EDocService.Code := 'TESTRECEIVE'; EDocService."Document Format" := "E-Document Format"::Mock; - EDocService."Service Integration" := "E-Document Integration"::Mock; + EDocService."Service Integration" := Integration; EDocService.Insert(); end; end; +#endif - procedure CreateGetBasicInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service") + procedure CreateGetBasicInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "Service Integration") begin if not EDocService.Get('BIERRRECEIVE') then begin EDocService.Init(); EDocService.Code := 'BIERRRECEIVE'; EDocService."Document Format" := "E-Document Format"::Mock; - EDocService."Service Integration" := "E-Document Integration"::Mock; + EDocService."Service Integration V2" := Integration; + EDocService.Insert(); + end; + end; + +#if not CLEAN26 + [Obsolete('Use CreateGetBasicInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "Service Integration") instead', '26.0')] + procedure CreateGetBasicInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "E-Document Integration") + begin + if not EDocService.Get('BIERRRECEIVE') then begin + EDocService.Init(); + EDocService.Code := 'BIERRRECEIVE'; + EDocService."Document Format" := "E-Document Format"::Mock; + EDocService."Service Integration" := Integration; + EDocService.Insert(); + end; + end; +#endif + + procedure CreateGetCompleteInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "Service Integration") + begin + if not EDocService.Get('CIERRRECEIVE') then begin + EDocService.Init(); + EDocService.Code := 'CIERRRECEIVE'; + EDocService."Document Format" := "E-Document Format"::Mock; + EDocService."Service Integration V2" := Integration; EDocService.Insert(); end; end; - procedure CreateGetCompleteInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service") +#if not CLEAN26 + [Obsolete('Use CreateGetCompleteInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "Service Integration") instead', '26.0')] + procedure CreateGetCompleteInfoErrorReceiveServiceForEDoc(var EDocService: Record "E-Document Service"; Integration: Enum "E-Document Integration") begin if not EDocService.Get('CIERRRECEIVE') then begin EDocService.Init(); EDocService.Code := 'CIERRRECEIVE'; EDocService."Document Format" := "E-Document Format"::Mock; - EDocService."Service Integration" := "E-Document Integration"::Mock; + EDocService."Service Integration" := Integration; EDocService.Insert(); end; end; +#endif procedure CreateDirectMapping(var EDocMapping: Record "E-Doc. Mapping"; EDocService: Record "E-Document Service"; FindValue: Text; ReplaceValue: Text) begin diff --git a/Apps/W1/EDocument/test/src/Log/EDocLogTest.Codeunit.al b/Apps/W1/EDocument/test/src/Log/EDocLogTest.Codeunit.al index 8a65e6b766..b0d49914be 100644 --- a/Apps/W1/EDocument/test/src/Log/EDocLogTest.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Log/EDocLogTest.Codeunit.al @@ -34,7 +34,7 @@ codeunit 139616 "E-Doc Log Test" // [SCENARIO] EDocument Log on EDocument creation - No run of job queue to trigger export and send // [GIVEN] Creating a EDocument from Sales Invoice - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); // [Given] Team member that post invoice and EDocument is created LibraryPermission.SetTeamMember(); @@ -53,7 +53,6 @@ codeunit 139616 "E-Doc Log Test" Assert.AreEqual(0, EDocLog."E-Doc. Data Storage Entry No.", IncorrectValueErr); Assert.AreEqual(0, EDocLog."E-Doc. Data Storage Size", IncorrectValueErr); Assert.AreEqual('', EDocLog."Service Code", IncorrectValueErr); - Assert.AreEqual(EDocLog."Service Integration"::"No Integration", EDocLog."Service Integration", IncorrectValueErr); Assert.AreEqual(EDocLog.Status::Created, EDocLog.Status, IncorrectValueErr); Assert.AreEqual(EDocument.Status::"In Progress", EDocument.Status, IncorrectValueErr); @@ -82,7 +81,7 @@ codeunit 139616 "E-Doc Log Test" // 4. No mapping logs are created in this scenario. // [GIVEN] Creating a EDocument from Sales Invoice is exported - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); // [Given] Team member that post invoice and EDocument is created LibraryPermission.SetTeamMember(); @@ -105,7 +104,6 @@ codeunit 139616 "E-Doc Log Test" Assert.AreNotEqual(0, EDocLog."E-Doc. Data Storage Entry No.", IncorrectValueErr); Assert.AreEqual(0, EDocLog."E-Doc. Data Storage Size", IncorrectValueErr); Assert.AreEqual(EDocumentService.Code, EDocLog."Service Code", IncorrectValueErr); - Assert.AreEqual(EDocLog."Service Integration"::Mock, EDocLog."Service Integration", IncorrectValueErr); Assert.AreEqual(EDocLog.Status::Exported, EDocLog.Status, IncorrectValueErr); // [THEN] EDoc Service Status is updated @@ -140,7 +138,7 @@ codeunit 139616 "E-Doc Log Test" // [4] A mapping log is correctly created. // [GIVEN] Exporting E-Document for service with mapping - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); LibraryEDoc.CreateServiceMapping(EDocumentService); // [Given] Team member that post invoice and EDocument is created @@ -163,7 +161,6 @@ codeunit 139616 "E-Doc Log Test" Assert.AreNotEqual(0, EDocLog."E-Doc. Data Storage Entry No.", IncorrectValueErr); Assert.AreEqual(0, EDocLog."E-Doc. Data Storage Size", IncorrectValueErr); Assert.AreEqual(EDocumentService.Code, EDocLog."Service Code", IncorrectValueErr); - Assert.AreEqual(EDocLog."Service Integration"::Mock, EDocLog."Service Integration", IncorrectValueErr); Assert.AreEqual(EDocLog.Status::Exported, EDocLog.Status, IncorrectValueErr); // [THEN] EDoc Service Status is updated @@ -221,7 +218,7 @@ codeunit 139616 "E-Doc Log Test" // [5] Mapping logs should be generated as part of this scenario. // [GIVEN] Exporting E-Document with errors on edocument - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); LibraryEDoc.CreateServiceMapping(EDocumentService); BindSubscription(EDocLogTest); EDocLogTest.SetExportError(); @@ -247,7 +244,6 @@ codeunit 139616 "E-Doc Log Test" Assert.AreNotEqual(0, EDocLog."E-Doc. Data Storage Entry No.", IncorrectValueErr); Assert.AreNotEqual(0, EDocLog."E-Doc. Data Storage Size", IncorrectValueErr); Assert.AreEqual(EDocumentService.Code, EDocLog."Service Code", IncorrectValueErr); - Assert.AreEqual(EDocLog."Service Integration"::Mock, EDocLog."Service Integration", IncorrectValueErr); Assert.AreEqual(EDocLog.Status::"Export Error", EDocLog.Status, IncorrectValueErr); // [THEN] EDoc Service Status is updated @@ -305,7 +301,7 @@ codeunit 139616 "E-Doc Log Test" // [5] Mapping logs are correctly created, capturing mapping details. // [GIVEN] Exporting E-Documents for service with mapping - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); LibraryEDoc.CreateServiceMapping(EDocumentService); EDocumentService."Use Batch Processing" := true; EDocumentService."Batch Mode" := enum::"E-Document Batch Mode"::Threshold; @@ -354,7 +350,6 @@ codeunit 139616 "E-Doc Log Test" Assert.AreNotEqual(0, EDocLog."E-Doc. Data Storage Entry No.", IncorrectValueErr); Assert.AreEqual(4, EDocLog."E-Doc. Data Storage Size", IncorrectValueErr); Assert.AreEqual(EDocumentService.Code, EDocLog."Service Code", IncorrectValueErr); - Assert.AreEqual(EDocLog."Service Integration"::Mock, EDocLog."Service Integration", IncorrectValueErr); Assert.AreEqual(EDocLog.Status::Exported, EDocLog.Status, IncorrectValueErr); // [THEN] EDoc Service Status is updated @@ -412,7 +407,7 @@ codeunit 139616 "E-Doc Log Test" // [6] Ensure no mapping logs or data storage is created for either document. // [GIVEN] A flow to send to service with threshold batch - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); LibraryEDoc.CreateServiceMapping(EDocumentService); EDocumentService."Use Batch Processing" := true; EDocumentService."Batch Mode" := enum::"E-Document Batch Mode"::Threshold; @@ -516,7 +511,7 @@ codeunit 139616 "E-Doc Log Test" // [8] Ensure mapping logs are created. // [GIVEN] A flow to send to service with recurrent batch - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); LibraryEDoc.CreateServiceMapping(EDocumentService); EDocumentService."Use Batch Processing" := true; EDocumentService."Batch Mode" := EDocumentService."Batch Mode"::Recurrent; @@ -642,7 +637,7 @@ codeunit 139616 "E-Doc Log Test" // [9] Ensure no mapping logs are created. // [GIVEN] A flow to send to service with recurrent batch - Init(); + Initialize(Enum::"Service Integration"::"Mock Sync"); LibraryEDoc.CreateServiceMapping(EDocumentService); EDocumentService.Get(EDocumentService.Code); EDocumentService."Use Batch Processing" := true; @@ -791,7 +786,7 @@ codeunit 139616 "E-Doc Log Test" EDocument.Insert(); EDocumentService2.Code := 'Test Service 1'; - EDocumentService2."Service Integration" := EDocumentService2."Service Integration"::Mock; + EDocumentService2."Service Integration V2" := EDocumentService2."Service Integration V2"::"Mock"; EDocumentService2.Insert(); EDocumentServiceStatus."E-Document Entry No" := EDocument."Entry No"; @@ -812,11 +807,13 @@ codeunit 139616 "E-Doc Log Test" Assert.AreEqual(EDocument."Entry No", EDocLog."E-Doc. Entry No", IncorrectValueErr); Assert.AreEqual(EDocLog."Document Type"::"Sales Invoice", EDocLog."Document Type", IncorrectValueErr); Assert.AreEqual(EDocumentService2.Code, EDocLog."Service Code", IncorrectValueErr); +#if not CLEAN26 Assert.AreEqual(EDocumentService2."Service Integration", EDocLog."Service Integration", IncorrectValueErr); +#endif Assert.AreEqual(Status, EDocLog.Status, IncorrectValueErr); end; - local procedure Init() + local procedure Initialize(Integration: Enum "Service Integration") var TransformationRule: Record "Transformation Rule"; begin @@ -825,7 +822,7 @@ codeunit 139616 "E-Doc Log Test" exit; LibraryEDoc.SetupStandardVAT(); - LibraryEDoc.SetupStandardSalesScenario(Customer, EDocumentService, Enum::"E-Document Format"::Mock, Enum::"E-Document Integration"::Mock); + LibraryEDoc.SetupStandardSalesScenario(Customer, EDocumentService, Enum::"E-Document Format"::Mock, Integration); ErrorInExport := false; FailLastEntryInBatch := false; @@ -905,4 +902,5 @@ codeunit 139616 "E-Doc Log Test" EDocErrorHelper.LogSimpleErrorMessage(EDocuments, 'ERROR'); end; end; + } \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Mapping/EDocMappingTest.Codeunit.al b/Apps/W1/EDocument/test/src/Mapping/EDocMappingTest.Codeunit.al index 8f1bb49c5f..f83aac6a3e 100644 --- a/Apps/W1/EDocument/test/src/Mapping/EDocMappingTest.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Mapping/EDocMappingTest.Codeunit.al @@ -38,7 +38,7 @@ codeunit 139617 "E-Doc. Mapping Test" // [GIVEN] A record with different type of fields Initialize(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); EDocMappingTestRec.FindFirst(); @@ -69,7 +69,7 @@ codeunit 139617 "E-Doc. Mapping Test" // [GIVEN] A record with different type of fields Initialize(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); EDocMappingTestRec.FindFirst(); @@ -101,7 +101,7 @@ codeunit 139617 "E-Doc. Mapping Test" // [GIVEN] A record with different type of fields Initialize(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); EDocMappingTestRec.FindFirst(); @@ -126,7 +126,7 @@ codeunit 139617 "E-Doc. Mapping Test" LibraryPermission.SetOutsideO365Scope(); EDocMapping.DeleteAll(); EDocMapping.Reset(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); LibraryEDoc.CreateDirectMapping(EDocMapping, EDocService, EDocMappingTestRec."Text Value", TextAndCodeReplacementLbl, Database::"E-Doc. Mapping", 0); @@ -155,7 +155,7 @@ codeunit 139617 "E-Doc. Mapping Test" // [GIVEN] A record with different type of fields Initialize(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); EDocMappingTestRec.FindFirst(); @@ -190,7 +190,7 @@ codeunit 139617 "E-Doc. Mapping Test" // [GIVEN] A record with different type of fields Initialize(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); EDocMappingTestRec.FindFirst(); @@ -224,7 +224,7 @@ codeunit 139617 "E-Doc. Mapping Test" // [GIVEN] A record with different type of fields Initialize(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); EDocMappingTestRec.FindFirst(); @@ -277,7 +277,7 @@ codeunit 139617 "E-Doc. Mapping Test" // [GIVEN] A record with different type of fields Initialize(); - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryPermission.SetTeamMember(); EDocMappingTestRec.FindFirst(); @@ -285,7 +285,7 @@ codeunit 139617 "E-Doc. Mapping Test" TransformationRule.Get(TransformationRule.GetFourthToSixthSubstringCode()); // [WHEN] A transformation mapping is setup - EDocService.Get(LibraryEDoc.CreateService()); + EDocService.Get(LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock")); LibraryEDoc.CreateTransformationMapping(EDocMapping, TransformationRule, EDocService.Code); EDocMapping.SetRange(Code, EDocService.Code); EDocMapping.FindSet(); diff --git a/Apps/W1/EDocument/test/src/Matching/EDocLineMatchingTest.Codeunit.al b/Apps/W1/EDocument/test/src/Matching/EDocLineMatchingTest.Codeunit.al index b3b3f7d123..db294cab03 100644 --- a/Apps/W1/EDocument/test/src/Matching/EDocLineMatchingTest.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Matching/EDocLineMatchingTest.Codeunit.al @@ -15,14 +15,14 @@ codeunit 139659 "E-Doc. Line Matching Test" LibraryPermission: Codeunit "Library - Lower Permissions"; IsInitialized: Boolean; - procedure Initialize() + procedure Initialize(Integration: Enum "Service Integration") begin LibraryPermission.SetOutsideO365Scope(); if IsInitialized then exit; LibraryEdoc.SetupStandardVAT(); - LibraryEdoc.SetupStandardPurchaseScenario(Vendor, EDocumentService, Enum::"E-Document Format"::Mock, Enum::"E-Document Integration"::Mock); + LibraryEdoc.SetupStandardPurchaseScenario(Vendor, EDocumentService, Enum::"E-Document Format"::Mock, Integration); IsInitialized := true; end; @@ -43,7 +43,7 @@ codeunit 139659 "E-Doc. Line Matching Test" // [SCENARIO] Match single imported line of type Item to single PO line of type Item // Setup E-Document with link to purchase order - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); // [GIVEN] We create e-document and PO line with Qty 5 CreatePurchaseOrderWithLine(PurchaseHeader, PurchaseLine, 5); @@ -104,7 +104,7 @@ codeunit 139659 "E-Doc. Line Matching Test" // [SCENARIO] Match two imported lines of type Item to single PO line of type Item // Setup E-Document with link to purchase order - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); // [GIVEN] We create e-document and PO line with Qty 5 CreatePurchaseOrderWithLine(PurchaseHeader, PurchaseLine, 5); @@ -154,7 +154,7 @@ codeunit 139659 "E-Doc. Line Matching Test" // [SCENARIO] Match two imported lines of type Item to single PO line of type Item // Setup E-Document with link to purchase order - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); // [GIVEN] We create e-document and PO line with Qty 5 CreatePurchaseOrderWithLine(PurchaseHeader, PurchaseLine, 5); @@ -250,5 +250,74 @@ codeunit 139659 "E-Doc. Line Matching Test" EDocImportedLine.Insert(); end; +#pragma warning disable AS0018 +#if not CLEAN26 + + [Test] + internal procedure MatchOneImportLineToOnePOLineSuccess26() + var + EDocument: Record "E-Document"; + EDocImportedLine: Record "E-Doc. Imported Line"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + EDocLineMatching: Codeunit "E-Doc. Line Matching"; + EDocLog: Codeunit "E-Document Log"; + EDocProcessing: Codeunit "E-Document Processing"; + EDocOrderLineMatchingPage: TestPage "E-Doc. Order Line Matching"; + begin + // [FEATURE] [E-Document] [Matching] + // [SCENARIO] Match single imported line of type Item to single PO line of type Item + + // Setup E-Document with link to purchase order + Initialize(Enum::"Service Integration"::Mock); + + EDocImportedLine.DeleteAll(); + + // [GIVEN] We create e-document and PO line with Qty 5 + CreatePurchaseOrderWithLine(PurchaseHeader, PurchaseLine, 5); + CreateEDocumentWithPOReference(EDocument, PurchaseHeader); + + // Receive + LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, false); + LibraryPurchase.ReopenPurchaseDocument(PurchaseHeader); + EDocument.FindLast(); + EDocLog.InsertLog(EDocument, EDocumentService, Enum::"E-Document Service Status"::"Order Linked"); + EDocProcessing.InsertServiceStatus(EDocument, EDocumentService, Enum::"E-Document Service Status"::"Order Linked"); + + // [GIVEN] We imported a item with quantity 5 + CreateImportedLine(EDocument, 10000, 5, Enum::"Purchase Line Type"::Item); + Assert.RecordCount(EDocImportedLine, 1); + Assert.RecordCount(PurchaseLine, 1); + + // [WHEN] Open Matching page and select first entry + Commit(); + LibraryPermission.SetTeamMember(); + + EDocOrderLineMatchingPage.Trap(); + EDocLineMatching.RunMatching(EDocument); + + EDocOrderLineMatchingPage.ImportedLines.First(); + EDocOrderLineMatchingPage.OrderLines.First(); + + // [THEN] we have qty 5 and matched 0 + Assert.AreEqual('5', EDocOrderLineMatchingPage.ImportedLines.Quantity.Value(), ''); + Assert.AreEqual('0', EDocOrderLineMatchingPage.ImportedLines."Matched Quantity".Value(), ''); + // [THEN] we have qty 5 and qty to invoice 0 + Assert.AreEqual('5', EDocOrderLineMatchingPage.OrderLines."Available Quantity".Value(), ''); + Assert.AreEqual('0', EDocOrderLineMatchingPage.OrderLines."Qty. to Invoice".Value(), ''); + + // [GIVEN] We click "Match Manually" action + EDocOrderLineMatchingPage.MatchManual_Promoted.Invoke(); + + // [THEN] we have qty 5 and matched 5 + Assert.AreEqual('5', EDocOrderLineMatchingPage.ImportedLines.Quantity.Value(), ''); + Assert.AreEqual('5', EDocOrderLineMatchingPage.ImportedLines."Matched Quantity".Value(), ''); + // [THEN] we have qty 5 and qty to invoice 5 + Assert.AreEqual('5', EDocOrderLineMatchingPage.OrderLines."Available Quantity".Value(), ''); + Assert.AreEqual('5', EDocOrderLineMatchingPage.OrderLines."Qty. to Invoice".Value(), ''); + end; + +#endif +#pragma warning restore AS0018 } \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Mock/EDocImplState.Codeunit.al b/Apps/W1/EDocument/test/src/Mock/EDocImplState.Codeunit.al index de9e57ab50..54e007630c 100644 --- a/Apps/W1/EDocument/test/src/Mock/EDocImplState.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Mock/EDocImplState.Codeunit.al @@ -8,8 +8,9 @@ codeunit 139630 "E-Doc. Impl. State" PurchDocTestBuffer: Codeunit "E-Doc. Test Buffer"; LibraryVariableStorage: Codeunit "Library - Variable Storage"; EnableOnCheck, DisableOnCreateOutput, DisableOnCreateBatch, IsAsync2, EnableHttpData, ThrowIntegrationRuntimeError, ThrowIntegrationLoggedError : Boolean; - ThrowRuntimeError, ThrowLoggedError, ThrowBasicInfoError, ThrowCompleteInfoError, OnGetResponseSuccess, OnGetApprovalSuccess : Boolean; + ThrowRuntimeError, ThrowLoggedError, ThrowBasicInfoError, ThrowCompleteInfoError, OnGetResponseSuccess, OnGetApprovalSuccess, ActionHasUpdate : Boolean; LocalHttpResponse: HttpResponseMessage; + ActionStatus: Enum "E-Document Service Status"; [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Export", 'OnAfterCreateEDocument', '', false, false)] local procedure OnAfterCreateEDocument(var EDocument: Record "E-Document") @@ -155,7 +156,127 @@ codeunit 139630 "E-Doc. Impl. State" CreatedDocumentLines.GetTable(TmpPurchLine2); end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Integration Mock V2", OnSend, '', false, false)] + local procedure OnSendV2(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) + var + EDocErrorHelper: Codeunit "E-Document Error Helper"; + begin + IsAsync := IsAsync2; + HttpResponse := LocalHttpResponse; + + if ThrowIntegrationRuntimeError then + Error('TEST'); + + if ThrowIntegrationLoggedError then + EDocErrorHelper.LogSimpleErrorMessage(EDocument, 'TEST'); + + if EnableHttpData then begin + HttpRequest.SetRequestUri('http://cronus.test'); + HttpRequest.Method := 'POST'; + + HttpRequest.Content.WriteFrom('Test request'); + HttpResponse.Content.WriteFrom('Test response'); + HttpResponse.Headers.Add('Accept', '*'); + end; + + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Int Mock No Async", OnSend, '', false, false)] + local procedure OnSendV2NoAsync(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) + var + EDocErrorHelper: Codeunit "E-Document Error Helper"; + begin + IsAsync := IsAsync2; + HttpResponse := LocalHttpResponse; + + if ThrowIntegrationRuntimeError then + Error('TEST'); + + if ThrowIntegrationLoggedError then + EDocErrorHelper.LogSimpleErrorMessage(EDocument, 'TEST'); + + if EnableHttpData then begin + HttpRequest.SetRequestUri('http://cronus.test'); + HttpRequest.Method := 'POST'; + + HttpRequest.Content.WriteFrom('Test request'); + HttpResponse.Content.WriteFrom('Test response'); + HttpResponse.Headers.Add('Accept', '*'); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Integration Mock V2", OnGetResponse, '', false, false)] + local procedure OnGetResponseV2(var EDocument: Record "E-Document"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var Success: Boolean) + var + EDocErrorHelper: Codeunit "E-Document Error Helper"; + begin + Success := OnGetResponseSuccess; + HttpResponse := LocalHttpResponse; + if ThrowIntegrationRuntimeError then + Error('TEST'); + + if ThrowIntegrationLoggedError then + EDocErrorHelper.LogSimpleErrorMessage(EDocument, 'TEST'); + + if EnableHttpData then begin + HttpRequest.SetRequestUri('http://cronus.test'); + HttpRequest.Method := 'POST'; + + HttpRequest.Content.WriteFrom('Test request'); + HttpResponse.Content.WriteFrom('Test response'); + HttpResponse.Headers.Add('Accept', '*'); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Integration Mock V2", OnReceiveDocuments, '', false, false)] + local procedure OnReceiveDocuments(ReceivedEDocuments: codeunit "Temp Blob List"; HttpRequestMessage: HttpRequestMessage; HttpResponseMessage: HttpResponseMessage) + var + TempBlob: Codeunit "Temp Blob"; + OutStr: OutStream; + I, C : Integer; + begin + TempBlob.CreateOutStream(OutStr, TextEncoding::UTF8); + if LibraryVariableStorage.Length() > 0 then + OutStr.WriteText(LibraryVariableStorage.DequeueText()) + else + OutStr.WriteText('Some Test Content'); + + if LibraryVariableStorage.Length() > 0 then begin + C := LibraryVariableStorage.DequeueInteger(); + for I := 1 to C do + ReceivedEDocuments.Add(TempBlob) + end else begin + PurchDocTestBuffer.GetPurchaseDocToTempVariables(TmpPurchHeader, TmpPurchLine); + if TmpPurchHeader.Count() > 0 then + for I := 1 to TmpPurchHeader.Count() do + ReceivedEDocuments.Add(TempBlob); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Integration Mock V2", OnDownloadDocument, '', false, false)] + local procedure OnDownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; var DocumentDownloadBlob: Codeunit "Temp Blob"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) + begin + DocumentDownloadBlob := DocumentMetadataBlob; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Integration Mock V2", OnGetApproval, '', false, false)] + local procedure OnGetApprovalV2(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var Status: Enum "E-Document Service Status"; var Update: Boolean); + var + EDocErrorHelper: Codeunit "E-Document Error Helper"; + begin + Status := ActionStatus; + Update := ActionHasUpdate; + HttpResponse := LocalHttpResponse; + + if ThrowIntegrationRuntimeError then + Error('TEST'); + + if ThrowIntegrationLoggedError then + EDocErrorHelper.LogSimpleErrorMessage(EDocument, 'TEST'); + end; + +#if not CLEAN26 [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Integration Mock", 'OnSend', '', false, false)] local procedure OnSend(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) var @@ -246,11 +367,24 @@ codeunit 139630 "E-Doc. Impl. State" if ThrowIntegrationLoggedError then EDocErrorHelper.LogSimpleErrorMessage(EDocument, 'TEST'); end; +#endif +#if not CLEAN26 internal procedure SetOnGetApprovalSuccess() begin OnGetApprovalSuccess := true; end; +#endif + + internal procedure SetActionReturnStatus(Value: Enum "E-Document Service Status") + begin + ActionStatus := Value; + end; + + internal procedure SetActionHasUpdate(Value: Boolean) + begin + ActionHasUpdate := Value; + end; internal procedure SetOnGetResponseSuccess() begin diff --git a/Apps/W1/EDocument/test/src/Mock/EDocIntMockNoAsync.Codeunit.al b/Apps/W1/EDocument/test/src/Mock/EDocIntMockNoAsync.Codeunit.al new file mode 100644 index 0000000000..2c0e328e49 --- /dev/null +++ b/Apps/W1/EDocument/test/src/Mock/EDocIntMockNoAsync.Codeunit.al @@ -0,0 +1,48 @@ +codeunit 139668 "E-Doc. Int Mock No Async" implements IDocumentSender, IDocumentReceiver +{ + + Access = Internal; + + procedure Send(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) + var + TempBlob: codeunit "Temp Blob"; + IsAsync: Boolean; + begin + TempBlob := SendContext.GetTempBlob(); + OnSend(EDocument, EDocumentService, TempBlob, IsAsync, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage()); + end; + + procedure SendBatch(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) + begin + + end; + + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) + begin + OnReceiveDocuments(Documents, ReceiveContext.Http().GetHttpRequestMessage(), ReceiveContext.Http().GetHttpResponseMessage()); + end; + + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) + var + DocumentDownloadBlob: Codeunit "Temp Blob"; + begin + OnDownloadDocument(EDocument, EDocumentService, DocumentMetadataBlob, DocumentDownloadBlob, ReceiveContext.Http().GetHttpRequestMessage(), ReceiveContext.Http().GetHttpResponseMessage()); + ReceiveContext.SetTempBlob(DocumentDownloadBlob); + end; + + [IntegrationEvent(false, false)] + local procedure OnSend(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnReceiveDocuments(ReceivedEDocuments: Codeunit "Temp Blob List"; HttpRequestMessage: HttpRequestMessage; HttpResponseMessage: HttpResponseMessage); + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnDownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; var DocumentDownloadBlob: Codeunit "Temp Blob"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage); + begin + end; + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.Codeunit.al b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.Codeunit.al index a80d3408c4..5d9def2469 100644 --- a/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.Codeunit.al @@ -1,5 +1,11 @@ +#pragma warning disable AS0018 +#if not CLEAN26 codeunit 139619 "E-Doc. Integration Mock" implements "E-Document Integration" { + ObsoleteTag = '26.0'; + ObsoleteState = Pending; + ObsoleteReason = 'Obsolete in 26.0'; + procedure Send(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage); begin OnSend(EDocument, TempBlob, IsAsync, HttpRequest, HttpResponse); @@ -74,7 +80,6 @@ codeunit 139619 "E-Doc. Integration Mock" implements "E-Document Integration" begin end; - - - -} \ No newline at end of file +} +#endif +#pragma warning restore AS0018 \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.EnumExt.al b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.EnumExt.al index 08221103b5..e598f62808 100644 --- a/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.EnumExt.al +++ b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMock.EnumExt.al @@ -1,9 +1,15 @@ enumextension 139616 "E-Doc Integration Mock" extends "E-Document Integration" { #pragma warning disable PTE0023 // The IDs should have been in the range [139500..139899] - value(6151; "Mock") +#if not CLEAN26 + value(133501; "Mock") { Implementation = "E-Document Integration" = "E-Doc. Integration Mock"; + ObsoleteTag = '26.0'; + ObsoleteState = Pending; + ObsoleteReason = 'Obsolete in 26.0'; } +#endif #pragma warning restore PTE0023 // The IDs should have been in the range [139500..139899] + } \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMockV2.Codeunit.al b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMockV2.Codeunit.al new file mode 100644 index 0000000000..8285c8e884 --- /dev/null +++ b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMockV2.Codeunit.al @@ -0,0 +1,85 @@ +codeunit 139658 "E-Doc. Integration Mock V2" implements IDocumentSender, IDocumentReceiver, IDocumentResponseHandler, ISentDocumentActions +{ + + Access = Internal; + + procedure Send(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) + var + TempBlob: codeunit "Temp Blob"; + IsAsync: Boolean; + begin + TempBlob := SendContext.GetTempBlob(); + OnSend(EDocument, EDocumentService, TempBlob, IsAsync, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage()); + end; + + procedure SendBatch(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) + begin + + end; + + procedure GetResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext): Boolean + var + Success: Boolean; + begin + OnGetResponse(EDocument, SendContext.Http().GetHttpRequestMessage(), SendContext.Http().GetHttpResponseMessage(), Success); + exit(Success); + end; + + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) + begin + OnReceiveDocuments(Documents, ReceiveContext.Http().GetHttpRequestMessage(), ReceiveContext.Http().GetHttpResponseMessage()); + end; + + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) + var + DocumentDownloadBlob: Codeunit "Temp Blob"; + begin + OnDownloadDocument(EDocument, EDocumentService, DocumentMetadataBlob, DocumentDownloadBlob, ReceiveContext.Http().GetHttpRequestMessage(), ReceiveContext.Http().GetHttpResponseMessage()); + ReceiveContext.SetTempBlob(DocumentDownloadBlob); + end; + + procedure GetApprovalStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + var + Status: Enum "E-Document Service Status"; + Update: Boolean; + begin + OnGetApproval(EDocument, EDocumentService, ActionContext.Http().GetHttpRequestMessage(), ActionContext.Http().GetHttpResponseMessage(), Status, Update); + ActionContext.Status().SetStatus(Status); + exit(Update); + end; + + procedure GetCancellationStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext): Boolean + begin + + end; + + procedure OpenServiceIntegrationSetupPage(var EDocumentService: Record "E-Document Service"): Boolean + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnSend(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnReceiveDocuments(ReceivedEDocuments: Codeunit "Temp Blob List"; HttpRequestMessage: HttpRequestMessage; HttpResponseMessage: HttpResponseMessage); + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnDownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; var DocumentDownloadBlob: Codeunit "Temp Blob"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage); + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnGetResponse(var EDocument: Record "E-Document"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var Success: Boolean); + begin + end; + + [IntegrationEvent(false, false)] + local procedure OnGetApproval(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var Status: Enum "E-Document Service Status"; var Update: Boolean); + begin + end; + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMockV2.EnumExt.al b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMockV2.EnumExt.al new file mode 100644 index 0000000000..b13d5c29be --- /dev/null +++ b/Apps/W1/EDocument/test/src/Mock/EDocIntegrationMockV2.EnumExt.al @@ -0,0 +1,13 @@ +enumextension 139617 "E-Doc Integration Mock V2" extends "Service Integration" +{ + + value(133501; "Mock") + { + Implementation = IDocumentSender = "E-Doc. Integration Mock V2", IDocumentReceiver = "E-Doc. Integration Mock V2"; + } + value(133502; "Mock Sync") + { + Implementation = IDocumentSender = "E-Doc. Int Mock No Async", IDocumentReceiver = "E-Doc. Int Mock No Async"; + } + +} \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Mock/SentDocumentActionsExt.EnumExt.al b/Apps/W1/EDocument/test/src/Mock/SentDocumentActionsExt.EnumExt.al new file mode 100644 index 0000000000..2593013428 --- /dev/null +++ b/Apps/W1/EDocument/test/src/Mock/SentDocumentActionsExt.EnumExt.al @@ -0,0 +1,7 @@ +enumextension 139618 "Sent Document Actions Ext" extends "Sent Document Actions" +{ + value(133501; "Mock") + { + Implementation = ISentDocumentActions = "E-Doc. Integration Mock V2"; + } +} \ No newline at end of file diff --git a/Apps/W1/EDocument/test/src/Processing/EDocE2ETest.Codeunit.al b/Apps/W1/EDocument/test/src/Processing/EDocE2ETest.Codeunit.al index 02c14f0625..5b3e0f7d9e 100644 --- a/Apps/W1/EDocument/test/src/Processing/EDocE2ETest.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Processing/EDocE2ETest.Codeunit.al @@ -33,7 +33,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Check OnBeforeCreatedEDocument and OnAfterCreatedEDocument called successful // [GIVEN] SETUP - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); LibraryVariableStorage.AssertEmpty(); EDocImplState.SetVariableStorage(LibraryVariableStorage); @@ -79,7 +79,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Check that CheckEDocument is successfull // [GIVEN] Creating a document and posting it with simple flow setup - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.EnableOnCheckEvent(); BindSubscription(EDocImplState); LibraryVariableStorage.AssertEmpty(); @@ -131,10 +131,10 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Check that CheckEDocument is successfull for multiple services // [GIVEN] Creating a document and posting it with multi service flow setup - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); LibraryWorkflow.DisableAllWorkflows(); - EDocServiceA := LibraryEDoc.CreateService(); - EDocServiceB := LibraryEDoc.CreateService(); + EDocServiceA := LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock"); + EDocServiceB := LibraryEDoc.CreateService(Enum::"Service Integration"::"Mock"); LibraryEDoc.CreateDocSendingProfile(DocumentSendingProfile); WorkflowCode := LibraryEDoc.CreateFlowWithServices(DocumentSendingProfile.Code, EDocServiceA, EDocServiceB); DocumentSendingProfile."Electronic Document" := DocumentSendingProfile."Electronic Document"::"Extended E-Document Service Flow"; @@ -186,7 +186,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Check that error is thrown if Document sending profile is defined without Workflow Code // [GIVEN] E document is created when posting document with incorrectly setup document sending profile - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); LibraryEDoc.CreateDocSendingProfile(DocumentSendingProfile); DocumentSendingProfile."Electronic Document" := DocumentSendingProfile."Electronic Document"::"Extended E-Document Service Flow"; DocumentSendingProfile."Electronic Service Flow" := 'NON-WORKFLOW'; @@ -209,7 +209,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] If an error is logged with Error Message in Check implementation, this will block posting // [GIVEN] That we log error in Check implementation - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.EnableOnCheckEvent(); EDocImplState.SetThrowLoggedError(); BindSubscription(EDocImplState); @@ -229,7 +229,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] If an runtime error happens in Check implementation, this will block posting // [GIVEN] That we throw runtime error in Check implementation - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.EnableOnCheckEvent(); EDocImplState.SetThrowRuntimeError(); BindSubscription(EDocImplState); @@ -250,7 +250,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] If an error is logged with Error Message in Create implementation, this will NOT block posting // [GIVEN] That we log error in Create implementation - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.SetThrowLoggedError(); BindSubscription(EDocImplState); @@ -295,7 +295,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] If an error is thrown in Create implementation, this will NOT block posting // [GIVEN] That we log error in Create implementation - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.SetThrowRuntimeError(); BindSubscription(EDocImplState); @@ -337,15 +337,15 @@ codeunit 139624 "E-Doc E2E Test" EDocumentPage: TestPage "E-Document"; begin // [FEATURE] [E-Document] [Processing] - // [SCENARIO] + // [SCENARIO] Empty blob from creation will cause error when attempting to send // [GIVEN] That we log error in Create implementation - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.SetDisableOnCreateOutput(); BindSubscription(EDocImplState); - EDocument.FindLast(); - EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); + if EDocument.FindLast() then + EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); // [WHEN] Team member post invoice LibraryLowerPermission.SetTeamMember(); @@ -393,7 +393,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] If an error is logged with Error Message in CreateBatch implementation, this will NOT block posting // [GIVEN] That we log error in Create implementation - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.SetThrowLoggedError(); BindSubscription(EDocImplState); @@ -402,8 +402,8 @@ codeunit 139624 "E-Doc E2E Test" EDocumentService."Batch Threshold" := 1; EDocumentService.Modify(); - EDocument.FindLast(); - EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); + if EDocument.FindLast() then + EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); // [WHEN] Team member post invoice LibraryLowerPermission.SetTeamMember(); @@ -443,7 +443,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] If an error is logged with Error Message in CreateBatch implementation, this will NOT block posting // [GIVEN] That we log error in Create implementation - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); EDocImplState.SetThrowRuntimeError(); BindSubscription(EDocImplState); @@ -452,8 +452,8 @@ codeunit 139624 "E-Doc E2E Test" EDocumentService."Batch Threshold" := 1; EDocumentService.Modify(); - EDocument.FindLast(); - EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); + if EDocument.FindLast() then + EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); // [WHEN] Team member post invoice LibraryLowerPermission.SetTeamMember(); @@ -495,7 +495,7 @@ codeunit 139624 "E-Doc E2E Test" // [GIVEN] Edocument service using 'Threshold' batch mode IsInitialized := false; - Initialize(); + Initialize(Enum::"Service Integration"::"Mock Sync"); BindSubscription(EDocImplState); EDocumentService."Use Batch Processing" := true; @@ -583,7 +583,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Post two documents for activating batch. Validate first edocument, before second is posted, then validate both. // [GIVEN] Edocument service using 'Threshold' batch mode - Initialize(); + Initialize(Enum::"Service Integration"::"Mock Sync"); BindSubscription(EDocImplState); EDocumentService."Use Batch Processing" := true; @@ -632,7 +632,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Post document. Nothhing is exported to temp blob so sending fails // [GIVEN] Edocument service using 'Recurrent' batch mode - Initialize(); + Initialize(Enum::"Service Integration"::"Mock Sync"); BindSubscription(EDocImplState); EDocImplState.SetDisableOnCreateBatchOutput(); @@ -675,6 +675,9 @@ codeunit 139624 "E-Doc E2E Test" EDocumentService.FindFirst(); EDocumentService."Use Batch Processing" := false; EDocumentService.Modify(); + Clear(EDocumentService); + + IsInitialized := false; end; [Test] @@ -689,7 +692,8 @@ codeunit 139624 "E-Doc E2E Test" // Check that document is pending response after posting and after get response job is run it is sent // [GIVEN] Edocument service using 'Recurrent' batch mode - Initialize(); + IsInitialized := false; + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetOnGetResponseSuccess(); @@ -735,7 +739,8 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Interface on-send synchronization success scenario // [GIVEN] Edocument service using 'Recurrent' batch mode - Initialize(); + IsInitialized := false; + Initialize(Enum::"Service Integration"::"Mock Sync"); BindSubscription(EDocImplState); // [WHEN] Team member post invoice @@ -766,7 +771,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Verifies the system's response to a runtime error within the code implementing an interface for E-Document processing // [GIVEN] That we throw runtime error inside code that implements interface - Initialize(); + Initialize(Enum::"Service Integration"::"Mock Sync"); BindSubscription(EDocImplState); EDocImplState.SetThrowIntegrationLoggedError(); @@ -798,7 +803,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Log error in send and check logs is correct // [GIVEN] That we log an error inside code that implements interface - Initialize(); + Initialize(Enum::"Service Integration"::"Mock Sync"); BindSubscription(EDocImplState); EDocImplState.SetThrowIntegrationLoggedError(); @@ -831,7 +836,8 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Runtime failure in Send when send is async and check that Get Response is not invoked // [GIVEN] That we throw runtime error inside code that implements interface - Initialize(); + IsInitialized := false; + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetThrowIntegrationRuntimeError(); @@ -868,7 +874,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Logged error in Send when send is async and check that Get Response is not invoked // [GIVEN] That we log error inside code that implements interface - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetThrowIntegrationLoggedError(); @@ -900,7 +906,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Get Response implementation logs an error // [GIVEN] Setup - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); @@ -957,7 +963,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Get Response implementation throws a runtime error // [GIVEN] Setup - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); @@ -1013,7 +1019,7 @@ codeunit 139624 "E-Doc E2E Test" // Finally we return true and document is marked Sent // [GIVEN] That IsASync is true, and OnGetReponse return false, then later true - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); @@ -1062,7 +1068,7 @@ codeunit 139624 "E-Doc E2E Test" // We return true from GetReponse, meaning that we did get response yet, hence we should mark document as sent // [GIVEN] That IsASync is true, and OnGetReponse return true - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetOnGetResponseSuccess(); @@ -1098,11 +1104,13 @@ codeunit 139624 "E-Doc E2E Test" // [FEATURE] [E-Document] [Processing] // [SCENARIO] Post document to async service. Test state after Get Approval has been executed. - // [GIVEN] That IsASync is true, and OnGetReponse return true and GetApproval returns false - Initialize(); + // [GIVEN] That IsASync is true, and OnGetReponse return true and GetApproval returns Rejected + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetOnGetResponseSuccess(); + EDocImplState.SetActionHasUpdate(true); + EDocImplState.SetActionReturnStatus(Enum::"E-Document Service Status"::Rejected); // [WHEN] Team member post invoice LibraryLowerPermission.SetTeamMember(); @@ -1127,9 +1135,8 @@ codeunit 139624 "E-Doc E2E Test" // Impl by EDocServicesPageHandler - // Currently not checked as fix is needed on get approval when returning false // [THEN] Status is Pending Response on service, and document is in progress - // VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Error, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Rejected); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Rejected); UnbindSubscription(EDocImplState); end; @@ -1145,14 +1152,15 @@ codeunit 139624 "E-Doc E2E Test" begin // [FEATURE] [E-Document] [Processing] // [SCENARIO] Post document to async service. Test state after Get Approval has been executed. - // Get approval returns true. This means that document was approved + // Get approval returns Approved // [GIVEN] That IsASync is true, and OnGetReponse and GetApproval returns true - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetOnGetResponseSuccess(); - EDocImplState.SetOnGetApprovalSuccess(); + EDocImplState.SetActionHasUpdate(true); + EDocImplState.SetActionReturnStatus(Enum::"E-Document Service Status"::Approved); // [WHEN] Team member post invoice LibraryLowerPermission.SetTeamMember(); @@ -1183,6 +1191,55 @@ codeunit 139624 "E-Doc E2E Test" UnbindSubscription(EDocImplState); end; + [Test] + [HandlerFunctions('EDocServicesPageHandler')] + procedure InterfaceOnGetApprovalNoUpdateSuccess() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + EDocumentPage: TestPage "E-Document"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Get Approval has been executed when approval returned false, aka no update was done + + // [GIVEN] That IsASync is true, and OnGetReponse and GetApproval returns true + Initialize(Enum::"Service Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + EDocImplState.SetActionHasUpdate(false); + EDocImplState.SetActionReturnStatus(Enum::"E-Document Service Status"::Approved); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Processed on service, and document is in sent + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Sent); + + // [THEN] User click get approval + EDocumentService.FindLast(); + LibraryVariableStorage.Enqueue(EDocumentService); + EDocumentPage.OpenView(); + EDocumentPage.GoToRecord(EDocument); + EDocumentPage.GetApproval.Invoke(); + + // Impl by EDocServicesPageHandler + + // [THEN] Status is Processed on service, and document is in Approved + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Sent); + + UnbindSubscription(EDocImplState); + end; + [Test] [HandlerFunctions('EDocServicesPageHandler')] procedure InterfaceOnGetApprovalThrowErrorFailure() @@ -1195,14 +1252,13 @@ codeunit 139624 "E-Doc E2E Test" // [FEATURE] [E-Document] [Processing] // [SCENARIO] Post document to async service. Test state after Get Approval has been executed when a runtime error occured inside // Inside GetApproval an runtime error has been thrown by implementation - // TODO: We fix that erros should do something // [GIVEN] That IsASync is true, and OnGetReponse and GetApproval returns true - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetOnGetResponseSuccess(); - EDocImplState.SetOnGetApprovalSuccess(); + // [WHEN] Team member post invoice LibraryLowerPermission.SetTeamMember(); @@ -1220,6 +1276,9 @@ codeunit 139624 "E-Doc E2E Test" // [THEN] User click get approval EDocImplState.SetThrowIntegrationLoggedError(); + EDocImplState.SetActionHasUpdate(true); + EDocImplState.SetActionReturnStatus(Enum::"E-Document Service Status"::Approved); + EDocumentService.FindLast(); LibraryVariableStorage.Enqueue(EDocumentService); EDocumentPage.OpenView(); @@ -1229,7 +1288,7 @@ codeunit 139624 "E-Doc E2E Test" // Impl by EDocServicesPageHandler // [THEN] Status is Processed on service, and document is in Approved - VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Approved); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Error, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Approval Error"); UnbindSubscription(EDocImplState); end; @@ -1246,14 +1305,12 @@ codeunit 139624 "E-Doc E2E Test" // [FEATURE] [E-Document] [Processing] // [SCENARIO] Post document to async service. Test state after Get Approval has been executed. // Inside GetApproval an error has been logged by implementation - // TODO: We fix that erros should do something // [GIVEN] That IsASync is true, and OnGetReponse and GetApproval returns true - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetOnGetResponseSuccess(); - EDocImplState.SetOnGetApprovalSuccess(); // [WHEN] Team member post invoice LibraryLowerPermission.SetTeamMember(); @@ -1271,6 +1328,9 @@ codeunit 139624 "E-Doc E2E Test" // [THEN] User click get approval EDocImplState.SetThrowIntegrationLoggedError(); + EDocImplState.SetActionHasUpdate(true); + EDocImplState.SetActionReturnStatus(Enum::"E-Document Service Status"::Approved); + EDocumentService.FindLast(); LibraryVariableStorage.Enqueue(EDocumentService); EDocumentPage.OpenView(); @@ -1280,7 +1340,7 @@ codeunit 139624 "E-Doc E2E Test" // Impl by EDocServicesPageHandler // [THEN] Status is Processed on service, and document is in Approved - VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Approved); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Error, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Approval Error"); UnbindSubscription(EDocImplState); end; @@ -1300,7 +1360,7 @@ codeunit 139624 "E-Doc E2E Test" // [SCENARIO] Clicking Send on E-Document should only be allowed on "Sending Error" And "Exported". // [GIVEN] - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetIsAsync(); EDocImplState.SetOnGetResponseSuccess(); @@ -1320,6 +1380,10 @@ codeunit 139624 "E-Doc E2E Test" asserterror EDocumentPage.Send.Invoke(); Assert.ExpectedError(SendingErrStateErr); + // Clean up + LibraryLowerPermission.SetOutsideO365Scope(); + EDocumentServiceStatus.DeleteAll(); + UnbindSubscription(EDocImplState); end; @@ -1331,7 +1395,7 @@ codeunit 139624 "E-Doc E2E Test" begin // [FEATURE] [E-Document] [Processing] // [SCENARIO] Post document without having default or Electronic sending profile - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); if EDocument.FindLast() then EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); @@ -1345,7 +1409,6 @@ codeunit 139624 "E-Doc E2E Test" // [THEN] No e-Document is created asserterror EDocument.FindLast(); - Assert.AssertNothingInsideFilter(); // [GIVEN] Default document sending profile is not electronic DocumentSendingProfile.GetDefault(DocumentSendingProfile); @@ -1355,7 +1418,6 @@ codeunit 139624 "E-Doc E2E Test" // [THEN] No e-Document is created LibraryEDoc.PostInvoice(Customer); asserterror EDocument.FindLast(); - Assert.AssertNothingInsideFilter(); end; [Test] @@ -1366,7 +1428,7 @@ codeunit 139624 "E-Doc E2E Test" begin // [FEATURE] [E-Document] [Processing] // [SCENARIO] - Initialize(); + Initialize(Enum::"Service Integration"::"Mock"); // [GIVEN] PO with link LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, LibraryPurchase.CreateVendorNo()); @@ -1398,10 +1460,11 @@ codeunit 139624 "E-Doc E2E Test" EDocServicesPage.OK().Invoke(); end; - local procedure Initialize() + local procedure Initialize(Integration: Enum "Service Integration") var TransformationRule: Record "Transformation Rule"; EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; begin LibraryLowerPermission.SetOutsideO365Scope(); LibraryVariableStorage.Clear(); @@ -1410,26 +1473,787 @@ codeunit 139624 "E-Doc E2E Test" if IsInitialized then exit; + EDocument.DeleteAll(); + EDocumentServiceStatus.DeleteAll(); + EDocumentService.DeleteAll(); + LibraryEDoc.SetupStandardVAT(); - LibraryEDoc.SetupStandardSalesScenario(Customer, EDocumentService, Enum::"E-Document Format"::Mock, Enum::"E-Document Integration"::Mock); + LibraryEDoc.SetupStandardSalesScenario(Customer, EDocumentService, Enum::"E-Document Format"::Mock, Integration); + EDocumentService."Sent Actions Integration" := Enum::"Sent Document Actions"::Mock; + EDocumentService.Modify(); TransformationRule.DeleteAll(); TransformationRule.CreateDefaultTransformations(); + + IsInitialized := true; + end; + +#if not CLEAN26 + local procedure Initialize(Integration: Enum "E-Document Integration") + var + TransformationRule: Record "Transformation Rule"; + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + begin + LibraryLowerPermission.SetOutsideO365Scope(); + LibraryVariableStorage.Clear(); + Clear(EDocImplState); + + if IsInitialized then + exit; + EDocument.DeleteAll(); + EDocumentServiceStatus.DeleteAll(); + EDocumentService.DeleteAll(); + + LibraryEDoc.SetupStandardVAT(); + LibraryEDoc.SetupStandardSalesScenario(Customer, EDocumentService, Enum::"E-Document Format"::Mock, Integration); + + TransformationRule.DeleteAll(); + TransformationRule.CreateDefaultTransformations(); IsInitialized := true; end; +#endif - local procedure VerifyStatusOnDocumentAndService(EDocument: Record "E-Document"; EDocStatus: Enum "E-Document Status"; EDocumentService: Record "E-Document Service"; EDocumentServiceStatus: Record "E-Document Service Status"; EDocServiceStatus: Enum "E-Document Service Status") + local procedure VerifyStatusOnDocumentAndService(EDocument: Record "E-Document"; EDocStatus: Enum "E-Document Status"; EDocService: Record "E-Document Service"; EDocumentServiceStatus: Record "E-Document Service Status"; EDocServiceStatus: Enum "E-Document Service Status") begin EDocumentServiceStatus.FindLast(); - EDocumentService.FindLast(); + EDocService.FindLast(); EDocument.FindLast(); Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); - Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); Assert.AreEqual(EDocServiceStatus, EDocumentServiceStatus.Status, IncorrectValueErr); Assert.AreEqual(EDocStatus, EDocument.Status, IncorrectValueErr); end; -} \ No newline at end of file +#pragma warning disable AS0018 +#if not CLEAN26 + + [Test] + internal procedure InterfaceAsyncSendingSuccess26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Send and GetResponse has been executed. + // Check that document is pending response after posting and after get response job is run it is sent + + // [GIVEN] Edocument service using 'Recurrent' batch mode + IsInitialized := false; + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + EDocumentServiceStatus.SetRange("E-Document Entry No", EDocument."Entry No"); + EDocumentServiceStatus.FindLast(); + + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::"Pending Response", EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::"In Progress", EDocument.Status, IncorrectValueErr); + + // [WHEN] Executing Get Response succesfully + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Sent on service, and document is processed + EDocument.FindLast(); + EDocumentServiceStatus.SetRange("E-Document Entry No", EDocument."Entry No"); + EDocumentServiceStatus.FindLast(); + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::Sent, EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::Processed, EDocument.Status, IncorrectValueErr); + + UnbindSubscription(EDocImplState); + end; + + + + [Test] + internal procedure InterfaceSyncSendingSuccess26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Interface on-send synchronization success scenario + + // [GIVEN] Edocument service using 'Recurrent' batch mode + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + EDocumentServiceStatus.SetRange("E-Document Entry No", EDocument."Entry No"); + EDocumentServiceStatus.FindLast(); + EDocument.Get(EDocument."Entry No"); // Get after job queue run + + // [THEN] Verify that document was sent + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::Sent, EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::Processed, EDocument.Status, IncorrectValueErr); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure InterfaceOnSendSyncRuntimeFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Verifies the system's response to a runtime error within the code implementing an interface for E-Document processing + + // [GIVEN] That we throw runtime error inside code that implements interface + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetThrowIntegrationLoggedError(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + EDocumentServiceStatus.SetRange("E-Document Entry No", EDocument."Entry No"); + EDocumentServiceStatus.FindLast(); + EDocument.Get(EDocument."Entry No"); // Get after job queue run + + // [THEN] Verify that document is in error state + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::"Sending Error", EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::Error, EDocument.Status, IncorrectValueErr); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure InterfaceOnSendSyncLoggedErrorFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Log error in send and check logs is correct + + // [GIVEN] That we log an error inside code that implements interface + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetThrowIntegrationLoggedError(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + + // [THEN] Status is Error on service, and document is error state + EDocument.FindLast(); + EDocumentServiceStatus.SetRange("E-Document Entry No", EDocument."Entry No"); + EDocumentServiceStatus.FindLast(); + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::"Sending Error", EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::Error, EDocument.Status, IncorrectValueErr); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure InterfaceOnSendAsyncRuntimeFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Runtime failure in Send when send is async and check that Get Response is not invoked + + // [GIVEN] That we throw runtime error inside code that implements interface + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetThrowIntegrationRuntimeError(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + EDocument.FindLast(); // Get after job queue run + EDocumentServiceStatus.SetRange("E-Document Entry No", EDocument."Entry No"); + EDocumentServiceStatus.FindLast(); + + // [THEN] Verify that document is in error state + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::"Sending Error", EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::Error, EDocument.Status, IncorrectValueErr); + + // [WHEN] Get Response job queue is not run + Assert.IsFalse(JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"), IncorrectValueErr); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure InterfaceOnSendAsyncLoggedErrorFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Logged error in Send when send is async and check that Get Response is not invoked + + // [GIVEN] That we log error inside code that implements interface + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetThrowIntegrationLoggedError(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + + // [THEN] Verify that document is in error state + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"Error", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Sending Error"); + + // [WHEN] Get Response job queue is not run + Assert.IsFalse(JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"), IncorrectValueErr); + + // Clean up + LibraryLowerPermission.SetOutsideO365Scope(); + EDocumentServiceStatus.DeleteAll(); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure InterfaceOnGetResponseLoggedErrorFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + EDocumentLog: Record "E-Document Log"; + JobQueueEntry: Record "Job Queue Entry"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Get Response implementation logs an error + + // [GIVEN] Setup + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + EDocumentServiceStatus.FindLast(); + EDocumentService.FindLast(); + EDocument.Get(EDocument."Entry No"); // Get after job queue run + + // [WHEN] error is logged inside get response + EDocImplState.SetThrowIntegrationLoggedError(); + EDocImplState.SetOnGetResponseSuccess(); + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + UnbindSubscription(EDocImplState); + + EDocumentServiceStatus.FindLast(); + EDocumentService.FindLast(); + EDocument.FindLast(); + + // [THEN] Document status is error + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::"Sending Error", EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::Error, EDocument.Status, IncorrectValueErr); + + // [THEN] There are x logs + EDocumentLog.SetRange("E-Doc. Entry No", EDocument."Entry No"); + EDocumentLog.SetRange("Service Code", EDocumentService.Code); + + // Exported -> Pending Response -> Get Response -> Sending Error + EDocumentLog.FindSet(); + Assert.AreEqual(Enum::"E-Document Service Status"::Exported, EDocumentLog.Status, IncorrectValueErr); + EDocumentLog.Next(); + Assert.AreEqual(Enum::"E-Document Service Status"::"Pending Response", EDocumentLog.Status, IncorrectValueErr); + EDocumentLog.Next(); + Assert.AreEqual(Enum::"E-Document Service Status"::"Sending Error", EDocumentLog.Status, IncorrectValueErr); + + // Clean up + LibraryLowerPermission.SetOutsideO365Scope(); + EDocumentServiceStatus.DeleteAll(); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure InterfaceOnGetResponseThrowErrorFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + EDocumentLog: Record "E-Document Log"; + JobQueueEntry: Record "Job Queue Entry"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Get Response implementation throws a runtime error + + // [GIVEN] Setup + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + EDocumentServiceStatus.FindLast(); + EDocumentService.FindLast(); + EDocument.Get(EDocument."Entry No"); // Get after job queue run + + // [WHEN] error is logged inside get response + EDocImplState.SetThrowIntegrationRuntimeError(); + EDocImplState.SetOnGetResponseSuccess(); + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + UnbindSubscription(EDocImplState); + + EDocumentServiceStatus.FindLast(); + EDocumentService.FindLast(); + EDocument.FindLast(); + + // [THEN] Document status is error + Assert.AreEqual(EDocument."Entry No", EDocumentServiceStatus."E-Document Entry No", IncorrectValueErr); + Assert.AreEqual(EDocumentService.Code, EDocumentServiceStatus."E-Document Service Code", IncorrectValueErr); + Assert.AreEqual(EDocumentServiceStatus.Status::"Sending Error", EDocumentServiceStatus.Status, IncorrectValueErr); + Assert.AreEqual(EDocument.Status::Error, EDocument.Status, IncorrectValueErr); + + // [THEN] There are x logs + EDocumentLog.SetRange("E-Doc. Entry No", EDocument."Entry No"); + EDocumentLog.SetRange("Service Code", EDocumentService.Code); + + // Exported -> Pending Response -> Get Response -> Sending Error + EDocumentLog.FindSet(); + Assert.AreEqual(Enum::"E-Document Service Status"::Exported, EDocumentLog.Status, IncorrectValueErr); + EDocumentLog.Next(); + Assert.AreEqual(Enum::"E-Document Service Status"::"Pending Response", EDocumentLog.Status, IncorrectValueErr); + EDocumentLog.Next(); + Assert.AreEqual(Enum::"E-Document Service Status"::"Sending Error", EDocumentLog.Status, IncorrectValueErr); + + // Clean up + LibraryLowerPermission.SetOutsideO365Scope(); + EDocumentServiceStatus.DeleteAll(); + end; + + [Test] + internal procedure InterfaceOnGetResponseReturnFalseThenTrueSuccess26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Send and GetResponse has been executed. + // We return false from GetReponse, meaning that we did not get response yet, hence we should continue to have job queue to get response later + // Finally we return true and document is marked Sent + + // [GIVEN] That IsASync is true, and OnGetReponse return false, then later true + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + Assert.IsTrue(JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"), IncorrectValueErr); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Pending Response on service, and document is in progress + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + Assert.IsTrue(JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"), IncorrectValueErr); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Pending Response on service, and document is in progress + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + EDocImplState.SetOnGetResponseSuccess(); + + // [WHEN] Executing Get Response succesfully + Assert.IsTrue(JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"), IncorrectValueErr); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is processed on service, and document is in sent + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Sent); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure InterfaceOnGetResponseReturnTrueSuccess26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Send and GetResponse has been executed. + // We return true from GetReponse, meaning that we did get response yet, hence we should mark document as sent + + // [GIVEN] That IsASync is true, and OnGetReponse return true + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is processed on service, and document is in sent + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Sent"); + + // [THEN] We get reponse job queue has been removed + Assert.IsFalse(JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"), IncorrectValueErr); + UnbindSubscription(EDocImplState); + end; + + [Test] + [HandlerFunctions('EDocServicesPageHandler')] + internal procedure InterfaceOnGetApprovalReturnFalseSuccess26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + EDocumentPage: TestPage "E-Document"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Get Approval has been executed. + + // [GIVEN] That IsASync is true, and OnGetReponse return true and GetApproval returns false + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Processed on service, and document is in sent + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Sent); + + // [THEN] User click get approval + EDocumentService.FindLast(); + LibraryVariableStorage.Enqueue(EDocumentService); + EDocumentPage.OpenView(); + EDocumentPage.GoToRecord(EDocument); + EDocumentPage.GetApproval.Invoke(); + + // Impl by EDocServicesPageHandler + + // Currently not checked as fix is needed on get approval when returning false + // [THEN] Status is Pending Response on service, and document is in progress + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Rejected); + + UnbindSubscription(EDocImplState); + end; + + [Test] + [HandlerFunctions('EDocServicesPageHandler')] + internal procedure InterfaceOnGetApprovalReturnTrueSuccess26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + EDocumentPage: TestPage "E-Document"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Get Approval has been executed. + // Get approval returns true. This means that document was approved + + // [GIVEN] That IsASync is true, and OnGetReponse and GetApproval returns true + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + EDocImplState.SetOnGetApprovalSuccess(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Processed on service, and document is in sent + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Sent); + + // [THEN] User click get approval + EDocumentService.FindLast(); + LibraryVariableStorage.Enqueue(EDocumentService); + EDocumentPage.OpenView(); + EDocumentPage.GoToRecord(EDocument); + EDocumentPage.GetApproval.Invoke(); + + // Impl by EDocServicesPageHandler + + // [THEN] Status is Processed on service, and document is in Approved + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Approved); + + UnbindSubscription(EDocImplState); + end; + + [Test] + [HandlerFunctions('EDocServicesPageHandler')] + internal procedure InterfaceOnGetApprovalThrowErrorFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + EDocumentPage: TestPage "E-Document"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Get Approval has been executed when a runtime error occured inside + // Inside GetApproval an runtime error has been thrown by implementation + // TODO: We fix that erros should do something + + // [GIVEN] That IsASync is true, and OnGetReponse and GetApproval returns true + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + EDocImplState.SetOnGetApprovalSuccess(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Processed on service, and document is in sent + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Sent); + + // [THEN] User click get approval + EDocImplState.SetThrowIntegrationLoggedError(); + EDocumentService.FindLast(); + LibraryVariableStorage.Enqueue(EDocumentService); + EDocumentPage.OpenView(); + EDocumentPage.GoToRecord(EDocument); + EDocumentPage.GetApproval.Invoke(); + + // Impl by EDocServicesPageHandler + + // [THEN] Status is Processed on service, and document is in Approved + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Approved); + + UnbindSubscription(EDocImplState); + end; + + [Test] + [HandlerFunctions('EDocServicesPageHandler')] + internal procedure InterfaceOnGetApprovalLoggedErrorFailure26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + JobQueueEntry: Record "Job Queue Entry"; + EDocumentPage: TestPage "E-Document"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document to async service. Test state after Get Approval has been executed. + // Inside GetApproval an error has been logged by implementation + // TODO: We fix that erros should do something + + // [GIVEN] That IsASync is true, and OnGetReponse and GetApproval returns true + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + EDocImplState.SetOnGetApprovalSuccess(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + // [WHEN] Executing Get Response succesfully + JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); + LibraryJobQueue.RunJobQueueDispatcher(JobQueueEntry); + + // [THEN] Status is Processed on service, and document is in sent + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Sent); + + // [THEN] User click get approval + EDocImplState.SetThrowIntegrationLoggedError(); + EDocumentService.FindLast(); + LibraryVariableStorage.Enqueue(EDocumentService); + EDocumentPage.OpenView(); + EDocumentPage.GoToRecord(EDocument); + EDocumentPage.GetApproval.Invoke(); + + // Impl by EDocServicesPageHandler + + // [THEN] Status is Processed on service, and document is in Approved + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::Processed, EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::Approved); + + UnbindSubscription(EDocImplState); + end; + + + // UI Tests + + [Test] + [HandlerFunctions('EDocServicesPageHandler')] + internal procedure UIClickSendInWhenPendingResponseSuccess26() + var + EDocument: Record "E-Document"; + EDocumentServiceStatus: Record "E-Document Service Status"; + EDocumentPage: TestPage "E-Document"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Clicking Send on E-Document should only be allowed on "Sending Error" And "Exported". + + // [GIVEN] + Initialize(Enum::"E-Document Integration"::"Mock"); + BindSubscription(EDocImplState); + EDocImplState.SetIsAsync(); + EDocImplState.SetOnGetResponseSuccess(); + + // [WHEN] Team member post invoice + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + EDocument.FindLast(); + LibraryJobQueue.FindAndRunJobQueueEntryByRecordId(EDocument.RecordId); + + VerifyStatusOnDocumentAndService(EDocument, Enum::"E-Document Status"::"In Progress", EDocumentService, EDocumentServiceStatus, Enum::"E-Document Service Status"::"Pending Response"); + + EDocumentService.FindLast(); + LibraryVariableStorage.Enqueue(EDocumentService); + EDocumentPage.OpenView(); + EDocumentPage.GoToRecord(EDocument); + asserterror EDocumentPage.Send.Invoke(); + Assert.ExpectedError(SendingErrStateErr); + + UnbindSubscription(EDocImplState); + end; + + [Test] + internal procedure PostDocumentNoDefaultOrElectronicProfile26() + var + DocumentSendingProfile: Record "Document Sending Profile"; + EDocument: Record "E-Document"; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] Post document without having default or Electronic sending profile + Initialize(Enum::"E-Document Integration"::"Mock"); + + if EDocument.FindLast() then + EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); + + // [GIVEN] No default document sending profile + DocumentSendingProfile.Reset(); + DocumentSendingProfile.DeleteAll(); + + LibraryLowerPermission.SetTeamMember(); + LibraryEDoc.PostInvoice(Customer); + + // [THEN] No e-Document is created + asserterror EDocument.FindLast(); + Assert.AssertNothingInsideFilter(); + + // [GIVEN] Default document sending profile is not electronic + DocumentSendingProfile.GetDefault(DocumentSendingProfile); + DocumentSendingProfile."Electronic Service Flow" := 'NON-WORKFLOW'; + DocumentSendingProfile.Modify(); + + // [THEN] No e-Document is created + LibraryEDoc.PostInvoice(Customer); + asserterror EDocument.FindLast(); + Assert.AssertNothingInsideFilter(); + end; + + [Test] + internal procedure DeleteLinkedPurchaseHeaderNoAllowedSuccess26() + var + PurchaseHeader: Record "Purchase Header"; + NullGuid: Guid; + begin + // [FEATURE] [E-Document] [Processing] + // [SCENARIO] + Initialize(Enum::"E-Document Integration"::"Mock"); + + // [GIVEN] PO with link + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, LibraryPurchase.CreateVendorNo()); + PurchaseHeader."E-Document Link" := CreateGuid(); + PurchaseHeader.Modify(); + Commit(); + + // [THEN] Fails to delete + asserterror PurchaseHeader.Delete(true); + Assert.ExpectedError(DeleteNotAllowedErr); + + // [GIVEN] Reset link + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Modify(); + + // [THEN] Delete ok + PurchaseHeader.Delete(); + end; + +#endif +#pragma warning restore AS0018 + +} diff --git a/Apps/W1/EDocument/test/src/Receive/EDocReceiveTest.Codeunit.al b/Apps/W1/EDocument/test/src/Receive/EDocReceiveTest.Codeunit.al index 67eac791ac..98a2793f6b 100644 --- a/Apps/W1/EDocument/test/src/Receive/EDocReceiveTest.Codeunit.al +++ b/Apps/W1/EDocument/test/src/Receive/EDocReceiveTest.Codeunit.al @@ -43,7 +43,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] e-Document service to receive one single purchase invoice - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -127,7 +127,7 @@ codeunit 139628 "E-Doc. Receive Test" BindSubscription(EDocImplState); // [GIVEN] e-Document service to receive one single purchase invoice - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); LibraryPurchase.CreateVendorWithVATRegNo(Vendor); LibraryERM.CreateVATPostingSetupWithAccounts(VATPostingSetup, Enum::"Tax Calculation Type"::"Normal VAT", 1); @@ -224,7 +224,7 @@ codeunit 139628 "E-Doc. Receive Test" BindSubscription(EDocImplState); // [GIVEN] e-Document service to receive one single purchase invoice - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); LibraryPurchase.CreateVendorWithVATRegNo(Vendor); // Setup correct vendor VAT and Item Ref to process document @@ -327,7 +327,7 @@ codeunit 139628 "E-Doc. Receive Test" BindSubscription(EDocImplState); // [GIVEN] e-Document service to receive one single purchase invoice - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); LibraryPurchase.CreateVendorWithVATRegNo(Vendor); LibraryERM.CreateVATPostingSetupWithAccounts(VATPostingSetup, Enum::"Tax Calculation Type"::"Normal VAT", 1); @@ -421,7 +421,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] E-Document service to receive one single purchase invoice - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Document Format" := Enum::"E-Document Format"::Mock; @@ -492,7 +492,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] E-Document service to receive one single purchase invoice - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -575,101 +575,6 @@ codeunit 139628 "E-Doc. Receive Test" Assert.AreEqual(Enum::"E-Document Service Status"::"Pending", EDocServiceStatus.Status, ''); end; - // [Test] - // [HandlerFunctions('MenuHandler')] - // procedure ReceiveToPurchaseOrderAndMatchWithOrder() - // var - // EDocService: Record "E-Document Service"; - // PostedPurchHeader: Record "Purch. Inv. Header"; - // EDocument: Record "E-Document"; - // EDocServiceStatus: Record "E-Document Service Status"; - // PurchaseOrderPage: TestPage "Purchase Order"; - // EDocMatchingPage: TestPage "E-Doc. Order Line Matching"; - // EDocServicePage: TestPage "E-Document Service"; - // EDocumentPage: TestPage "E-Document"; - // OrderNo: Text; - // ItemNo: Code[20]; - // begin - // // [FEATURE] [E-Document] [Receive] - // // [SCENARIO] Receive Invoice to Order, Match it, Post it - // Initialize(); - - // // [GIVEN] E-Document service to receive one single purchase invoice - // LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); - // BindSubscription(EDocImplState); - - // EDocService."Lookup Account Mapping" := false; - // EDocService."Lookup Item GTIN" := false; - // EDocService."Lookup Item Reference" := false; - // EDocService."Resolve Unit Of Measure" := false; - // EDocService."Validate Line Discount" := false; - // EDocService."Verify Totals" := false; - // EDocService."Use Batch Processing" := false; - // EDocService.Modify(); - - // // [GIVEN] purchase invoice - // LibraryPurchase.CreateVendorWithAddress(Vendor); - // Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Order"; - // Vendor.Modify(); - // ItemNo := LibraryInventory.CreateItemNo(); - - // LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Order, Vendor."No."); - // LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, ItemNo, 10); - // PurchaseLine.Validate("Direct Unit Cost", 100); - // PurchaseLine.Modify(true); - - // LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, false); - - // OrderNo := PurchaseHeader."No."; - // LibraryVariableStorage.Enqueue(PurchaseHeader); - - // LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); - // LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, ItemNo, 10); - // PurchaseLine.Validate("Direct Unit Cost", 200); - // PurchaseLine.Modify(true); - - // PurchOrderTestBuffer.ClearTempVariables(); - // PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); - // PurchOrderTestBuffer.SetEDocOrderNo(CopyStr(OrderNo, 1, 20)); - - // // [WHEN] Running Receive - // EDocServicePage.OpenView(); - // EDocServicePage.Filter.SetFilter(Code, EDocService.Code); - // EDocServicePage.Receive.Invoke(); - // EDocumentPage.OpenView(); - // EDocumentPage.Last(); - // EDocumentPage.EdocoumentServiceStatus.Last(); - // Assert.AreEqual(Format(Enum::"E-Document Service Status"::"Order Linked"), EDocumentPage.EdocoumentServiceStatus.Status.Value(), ''); - - // // [THEN] Run matching page - // EDocMatchingPage.Trap(); - // EDocumentPage.MatchToOrder.Invoke(); - - // // [THEN] Match manually - // EDocMatchingPage.MatchManual.Invoke(); - - // // [THEN] Open Purchase Order Page - // PurchaseOrderPage.Trap(); - // EDocMatchingPage.ApplyToPO.Invoke(); - - // // Check unit cost was updated on purchase line after apply - // PurchaseOrderPage.PurchLines.Last(); - // Assert.AreEqual('200.00', PurchaseOrderPage.PurchLines."Direct Unit Cost".Value(), ''); - - // // [THEN] Post - // PurchaseOrderPage.Post.Invoke(); - // EDocument.FindLast(); - // EDocServiceStatus.FindLast(); - // PostedPurchHeader.FindLast(); - - // // [THEN] Check that we have correct Amount on invoice and that E-Document is updated - // PostedPurchHeader.CalcFields("Amount Including VAT"); - // Assert.AreEqual(EDocument."Document Record ID", PostedPurchHeader.RecordId(), ''); - // Assert.AreEqual(EDocument."Amount Incl. VAT", PostedPurchHeader."Amount Including VAT", ''); - // Assert.AreEqual(Enum::"E-Document Status"::Processed, EDocument.Status, ''); - // Assert.AreEqual(Enum::"E-Document Service Status"::"Imported Document Created", EDocServiceStatus.Status, ''); - // end; - [Test] [HandlerFunctions('SelectPOHandlerCancel')] procedure ReceiveToPurchaseOrderCreated() @@ -686,7 +591,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] e-Document service to receive one single purchase invoice - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -754,7 +659,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] e-Document service to receive multiple purchase invoices - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -846,7 +751,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] e-Document service to receive one single purchase credit memo - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -932,7 +837,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] e-Document service to receive multiple purchase credit memos - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -1040,7 +945,7 @@ codeunit 139628 "E-Doc. Receive Test" PurchSetup."Debit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); PurchSetup.Modify(true); - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -1119,7 +1024,7 @@ codeunit 139628 "E-Doc. Receive Test" PurchSetup."Debit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); PurchSetup.Modify(true); - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -1203,7 +1108,7 @@ codeunit 139628 "E-Doc. Receive Test" PurchSetup."Credit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); PurchSetup.Modify(true); - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -1282,7 +1187,7 @@ codeunit 139628 "E-Doc. Receive Test" PurchSetup."Credit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); PurchSetup.Modify(true); - LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocService."Lookup Account Mapping" := false; @@ -1355,7 +1260,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] e-Document service to raised receiving error - LibraryEDoc.CreateGetBasicInfoErrorReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateGetBasicInfoErrorReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetThrowBasicInfoError(); @@ -1403,7 +1308,7 @@ codeunit 139628 "E-Doc. Receive Test" Initialize(); // [GIVEN] e-Document service to raised receiving error - LibraryEDoc.CreateGetCompleteInfoErrorReceiveServiceForEDoc(EDocService); + LibraryEDoc.CreateGetCompleteInfoErrorReceiveServiceForEDoc(EDocService, Enum::"Service Integration"::"Mock"); BindSubscription(EDocImplState); EDocImplState.SetThrowCompleteInfoError(); @@ -1537,4 +1442,1328 @@ codeunit 139628 "E-Doc. Receive Test" begin PurchaseField.SetRange("No.", 10705); end; + +#pragma warning disable AS0018 +#if not CLEAN26 + + // Tests inside CLEAN26 are testing the interfaces that is to be removed when CLEAN26 tags are removed. + // Until then, the tests are kept. + + [Test] + internal procedure ReceiveSinglePurchaseInvoice26() + var + EDocService: Record "E-Document Service"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + i: Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document and create purchase invoice + Initialize(); + EDocService.DeleteAll(); + + // [GIVEN] e-Document service to receive one single purchase invoice + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService.Modify(); + + // [GIVEN] purchase invoice + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + + for i := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase invoice is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + + CreatedPurchaseHeader.Reset(); + CreatedPurchaseHeader.SetRange("Document Type", CreatedPurchaseHeader."Document Type"::Invoice); + CreatedPurchaseHeader.SetRange("No.", EDocumentPage."Document No.".Value); + CreatedPurchaseHeader.FindFirst(); + + CheckPurchaseHeadersAreEqual(PurchaseHeader, CreatedPurchaseHeader); + + CreatedPurchaseLine.SetRange("Document Type", CreatedPurchaseHeader."Document Type"); + CreatedPurchaseLine.SetRange("Document No.", CreatedPurchaseHeader."No."); + if CreatedPurchaseLine.FindSet() then + repeat + PurchaseLine.SetRange("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.SetRange("Document No.", PurchaseHeader."No."); + PurchaseLine.SetRange("Line No.", CreatedPurchaseLine."Line No."); + PurchaseLine.FindFirst(); + CheckPurchaseLinesAreEqual(PurchaseLine, CreatedPurchaseLine); + until CreatedPurchaseLine.Next() = 0; + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + + CreatedPurchaseHeader.SetHideValidationDialog(true); + CreatedPurchaseHeader."E-Document Link" := NullGuid; + CreatedPurchaseHeader.Delete(true); + end; + + [Test] + internal procedure ReceiveSinglePurchaseInvoice_PEPPOL_WithAttachment26() + var + EDocService: Record "E-Document Service"; + Item: Record Item; + ItemReference: Record "Item Reference"; + DocumentAttachment: Record "Document Attachment"; + TempXMLBuffer: Record "XML Buffer" temporary; + VATPostingSetup: Record "VAT Posting Setup"; + TempBlob: Codeunit "Temp Blob"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + Document: Text; + XMLInstream: InStream; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document with two attachments and create purchase invoice + Initialize(); + BindSubscription(EDocImplState); + + // [GIVEN] e-Document service to receive one single purchase invoice + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + LibraryPurchase.CreateVendorWithVATRegNo(Vendor); + LibraryERM.CreateVATPostingSetupWithAccounts(VATPostingSetup, Enum::"Tax Calculation Type"::"Normal VAT", 1); + + // Setup correct vendor VAT and Item Ref to process document + Vendor."VAT Bus. Posting Group" := VATPostingSetup."VAT Bus. Posting Group"; + Vendor."VAT Registration No." := 'GB123456789'; + Vendor."Receive E-Document To" := Enum::"E-Document Type"::"Purchase Invoice"; + Vendor.Modify(); + Item.FindFirst(); + Item."VAT Prod. Posting Group" := VATPostingSetup."VAT Prod. Posting Group"; + Item.Modify(); + ItemReference.DeleteAll(); + ItemReference."Item No." := Item."No."; + ItemReference."Reference No." := '1000'; + ItemReference.Insert(); + + TempXMLBuffer.LoadFromText(EDocReceiveFiles.GetDocument1()); + TempXMLBuffer.Reset(); + TempXMLBuffer.SetRange(Type, TempXMLBuffer.Type::Element); + TempXMLBuffer.SetRange(Path, '/Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID'); + TempXMLBuffer.FindFirst(); + TempXMLBuffer.Value := Vendor."VAT Registration No."; + TempXMLBuffer.Modify(); + + TempXMLBuffer.Reset(); + TempXMLBuffer.FindFirst(); + TempXMLBuffer.Save(TempBlob); + + TempBlob.CreateInStream(XMLInstream, TextEncoding::UTF8); + XMLInstream.Read(Document); + + // [GIVEN] We receive PEPPOL XML + LibraryVariableStorage.Clear(); + LibraryVariableStorage.Enqueue(Document); + LibraryVariableStorage.Enqueue(1); + EDocImplState.SetVariableStorage(LibraryVariableStorage); + + EDocService."Document Format" := "E-Document Format"::"PEPPOL BIS 3.0"; + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService."Validate Receiving Company" := false; + EDocService.Modify(); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase invoice is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + + Assert.AreEqual(Format(Enum::"E-Document Service Status"::"Imported Document Created"), EDocumentPage.EdocoumentServiceStatus.Status.Value(), 'Wrong service status for processed document'); + + // [THEN] E-Document Errors and Warnings has correct status + Assert.AreEqual('', EDocumentPage.ErrorMessagesPart."Message Type".Value(), 'Wrong error message type.'); + Assert.AreEqual('', EDocumentPage.ErrorMessagesPart.Description.Value(), 'Wrong message in error.'); + + // Get the purchase invoice from page + CreatedPurchaseHeader.Reset(); + CreatedPurchaseHeader.SetRange("Document Type", CreatedPurchaseHeader."Document Type"::Invoice); + CreatedPurchaseHeader.SetRange("No.", EDocumentPage."Document No.".Value); + CreatedPurchaseHeader.FindFirst(); + Assert.RecordCount(CreatedPurchaseHeader, 1); + + DocumentAttachment.SetRange("No.", CreatedPurchaseHeader."No."); + DocumentAttachment.SetRange("Table ID", Database::"Purchase Header"); + Assert.RecordCount(DocumentAttachment, 2); + end; + + [Test] + internal procedure ReceiveSinglePurchaseInvoice_PEPPOLDataExch_WithAttachment26() + var + EDocService: Record "E-Document Service"; + Item: Record Item; + ItemReference: Record "Item Reference"; + DocumentAttachment: Record "Document Attachment"; + EDocServiceDataExchDef: Record "E-Doc. Service Data Exch. Def."; + TempXMLBuffer: Record "XML Buffer" temporary; + TempBlob: Codeunit "Temp Blob"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + Document: Text; + XMLInstream: InStream; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document with two attachments and create purchase invoice + Initialize(); + BindSubscription(EDocImplState); + + // [GIVEN] e-Document service to receive one single purchase invoice + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + LibraryPurchase.CreateVendorWithVATRegNo(Vendor); + + // Setup correct vendor VAT and Item Ref to process document + Vendor."VAT Registration No." := 'GB123456789'; + Vendor."Receive E-Document To" := Enum::"E-Document Type"::"Purchase Invoice"; + Vendor.Modify(); + Item.FindFirst(); + ItemReference.DeleteAll(); + ItemReference."Item No." := Item."No."; + ItemReference."Reference No." := '1000'; + ItemReference.Insert(); + + EDocService."Document Format" := "E-Document Format"::"Data Exchange"; + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService."Validate Receiving Company" := false; + EDocService.Modify(); + + EDocServiceDataExchDef."E-Document Format Code" := EDocService.Code; + EDocServiceDataExchDef."Document Type" := EDocServiceDataExchDef."Document Type"::"Purchase Invoice"; + EDocServiceDataExchDef."Impt. Data Exchange Def. Code" := 'EDOCPEPPOLINVIMP'; + if EDocServiceDataExchDef.Insert() then; + + TempXMLBuffer.LoadFromText(EDocReceiveFiles.GetDocument1()); + TempXMLBuffer.Reset(); + TempXMLBuffer.SetRange(Type, TempXMLBuffer.Type::Element); + TempXMLBuffer.SetRange(Path, '/Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID'); + TempXMLBuffer.FindFirst(); + TempXMLBuffer.Value := Vendor."VAT Registration No."; + TempXMLBuffer.Modify(); + + TempXMLBuffer.Reset(); + TempXMLBuffer.FindFirst(); + TempXMLBuffer.Save(TempBlob); + + TempBlob.CreateInStream(XMLInstream, TextEncoding::UTF8); + XMLInstream.Read(Document); + + // [GIVEN] We receive PEPPOL XML + LibraryVariableStorage.Clear(); + LibraryVariableStorage.Enqueue(Document); + LibraryVariableStorage.Enqueue(1); + EDocImplState.SetVariableStorage(LibraryVariableStorage); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase invoice is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + + Assert.AreEqual(Format(Enum::"E-Document Service Status"::"Imported Document Created"), EDocumentPage.EdocoumentServiceStatus.Status.Value(), 'Wrong service status for processed document'); + + // [THEN] E-Document Errors and Warnings has correct status + Assert.AreEqual('', EDocumentPage.ErrorMessagesPart."Message Type".Value(), 'Wrong error message type.'); + Assert.AreEqual('', EDocumentPage.ErrorMessagesPart.Description.Value(), 'Wrong message in error.'); + + // Get the purchase invoice from page + CreatedPurchaseHeader.Reset(); + CreatedPurchaseHeader.SetRange("Document Type", CreatedPurchaseHeader."Document Type"::Invoice); + CreatedPurchaseHeader.SetRange("No.", EDocumentPage."Document No.".Value); + CreatedPurchaseHeader.FindFirst(); + Assert.RecordCount(CreatedPurchaseHeader, 1); + + DocumentAttachment.SetRange("No.", CreatedPurchaseHeader."No."); + DocumentAttachment.SetRange("Table ID", Database::"Purchase Header"); + Assert.RecordCount(DocumentAttachment, 2); + + EDocService."Document Format" := "E-Document Format"::Mock; + EDocService.Modify(); + end; + + [Test] + [HandlerFunctions('SelectPOHandlerFirst')] + internal procedure ReceiveSinglePurchaseInvoice_PEPPOL_WithAttachment_ToOrder26() + var + EDocService: Record "E-Document Service"; + EDocument: Record "E-Document"; + Item: Record Item; + ItemReference: Record "Item Reference"; + DocumentAttachment: Record "Document Attachment"; + TempXMLBuffer: Record "XML Buffer" temporary; + VATPostingSetup: Record "VAT Posting Setup"; + TempBlob: Codeunit "Temp Blob"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + Document: Text; + XMLInstream: InStream; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document with two attachments and create purchase invoice + Initialize(); + BindSubscription(EDocImplState); + + // [GIVEN] e-Document service to receive one single purchase invoice + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + LibraryPurchase.CreateVendorWithVATRegNo(Vendor); + LibraryERM.CreateVATPostingSetupWithAccounts(VATPostingSetup, Enum::"Tax Calculation Type"::"Normal VAT", 1); + + // Setup correct vendor VAT and Item Ref to process document + Vendor."VAT Bus. Posting Group" := VATPostingSetup."VAT Bus. Posting Group"; + Vendor."VAT Registration No." := 'GB123456789'; + Vendor."Receive E-Document To" := Enum::"E-Document Type"::"Purchase Order"; + Vendor.Modify(); + Item.FindFirst(); + Item."VAT Prod. Posting Group" := VATPostingSetup."VAT Prod. Posting Group"; + Item.Modify(); + ItemReference.DeleteAll(); + ItemReference."Item No." := Item."No."; + ItemReference."Reference No." := '1000'; + ItemReference.Insert(); + + TempXMLBuffer.LoadFromText(EDocReceiveFiles.GetDocument1()); + TempXMLBuffer.Reset(); + TempXMLBuffer.SetRange(Type, TempXMLBuffer.Type::Element); + TempXMLBuffer.SetRange(Path, '/Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID'); + TempXMLBuffer.FindFirst(); + TempXMLBuffer.Value := Vendor."VAT Registration No."; + TempXMLBuffer.Modify(); + + TempXMLBuffer.Reset(); + TempXMLBuffer.FindFirst(); + TempXMLBuffer.Save(TempBlob); + + TempBlob.CreateInStream(XMLInstream, TextEncoding::UTF8); + XMLInstream.Read(Document); + + // [GIVEN] We receive PEPPOL XML + LibraryVariableStorage.Clear(); + LibraryVariableStorage.Enqueue(Document); + LibraryVariableStorage.Enqueue(1); + EDocImplState.SetVariableStorage(LibraryVariableStorage); + + EDocService."Document Format" := "E-Document Format"::"PEPPOL BIS 3.0"; + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService."Validate Receiving Company" := false; + EDocService.Modify(); + + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Order, Vendor."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, Item."No.", 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase invoice is created with corresponfing values + EDocument.FindLast(); + EDocumentPage.OpenView(); + EDocumentPage.Filter.SetFilter("Document No.", EDocument."Document No."); + + Assert.AreEqual(Format(Enum::"E-Document Service Status"::"Order Linked"), EDocumentPage.EdocoumentServiceStatus.Status.Value(), 'Wrong service status for processed document'); + + // [THEN] E-Document Errors and Warnings has correct status + Assert.AreEqual('', EDocumentPage.ErrorMessagesPart."Message Type".Value(), 'Wrong error message type.'); + Assert.AreEqual('', EDocumentPage.ErrorMessagesPart.Description.Value(), 'Wrong message in error.'); + + // [THEN] Attachments are moved to Purchase Header + DocumentAttachment.SetRange("No.", PurchaseHeader."No."); + DocumentAttachment.SetRange("Table ID", Database::"Purchase Header"); + DocumentAttachment.SetRange("Document Type", Enum::"Attachment Document Type"::Order); + DocumentAttachment.SetRange("E-Document Attachment", true); + Assert.RecordCount(DocumentAttachment, 2); + end; + + [Test] + [HandlerFunctions('SelectPOHandler')] + internal procedure ReceiveToPurchaseOrderLink26() + var + Vendor1: Record Vendor; + EDocService: Record "E-Document Service"; + EDocServiceStatus: Record "E-Document Service Status"; + EDocument: Record "E-Document"; + EDocServicePage: TestPage "E-Document Service"; + OrderNo: Text; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Link to existing Purchase Order for vendor + Initialize(); + + // [GIVEN] E-Document service to receive one single purchase invoice + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Document Format" := Enum::"E-Document Format"::Mock; + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService.Modify(); + + // [GIVEN] purchase invoice + LibraryPurchase.CreateVendorWithAddress(Vendor1); + Vendor1."Receive E-Document To" := Vendor1."Receive E-Document To"::"Purchase Order"; + Vendor1.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Order, Vendor1."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + OrderNo := PurchaseHeader."No."; + LibraryVariableStorage.Enqueue(PurchaseHeader); + + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor1."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Page to pick Purchase Order appears + // Handler function + + // [THEN] After processing, check fields + EDocument.FindLast(); + PurchaseHeader.SetRange("No.", OrderNo); + PurchaseHeader.SetRange("Document Type", Enum::"Purchase Document Type"::Order); + PurchaseHeader.FindLast(); + EDocServiceStatus.FindLast(); + + Assert.AreEqual(PurchaseHeader."No.", EDocument."Order No.", ''); + Assert.AreEqual(Enum::"E-Document Type"::"Purchase Order", EDocument."Document Type", ''); + Assert.AreEqual(Enum::"E-Document Status"::"In Progress", EDocument.Status, ''); + Assert.AreEqual(PurchaseHeader.RecordId(), EDocument."Document Record ID", ''); + Assert.AreEqual(EDocument.SystemId, PurchaseHeader."E-Document Link", ''); + + Assert.AreEqual(EDocument."Entry No", EDocServiceStatus."E-Document Entry No", ''); + Assert.AreEqual(Enum::"E-Document Service Status"::"Order Linked", EDocServiceStatus.Status, ''); + end; + + [Test] + internal procedure ReceiveToPurchaseOrderLinkWithOrderNo26() + var + EDocService: Record "E-Document Service"; + EDocServiceStatus: Record "E-Document Service Status"; + EDocument: Record "E-Document"; + EDocServicePage: TestPage "E-Document Service"; + OrderNo: Text; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Link two invoices to existing Purchase Order for vendor + Initialize(); + + // [GIVEN] E-Document service to receive one single purchase invoice + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService.Modify(); + + // [GIVEN] purchase invoice + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Order"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Order, Vendor."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + OrderNo := PurchaseHeader."No."; + LibraryVariableStorage.Enqueue(PurchaseHeader); + + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + PurchOrderTestBuffer.SetEDocOrderNo(CopyStr(OrderNo, 1, 20)); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] After processing, check fields + EDocument.FindLast(); + PurchaseHeader.SetRange("No.", OrderNo); + PurchaseHeader.SetRange("Document Type", Enum::"Purchase Document Type"::Order); + PurchaseHeader.FindLast(); + EDocServiceStatus.FindLast(); + + Assert.AreEqual(PurchaseHeader."No.", EDocument."Order No.", ''); + Assert.AreEqual(Enum::"E-Document Type"::"Purchase Order", EDocument."Document Type", ''); + Assert.AreEqual(Enum::"E-Document Status"::"In Progress", EDocument.Status, ''); + Assert.AreEqual(PurchaseHeader.RecordId(), EDocument."Document Record ID", ''); + Assert.AreEqual(EDocument.SystemId, PurchaseHeader."E-Document Link", ''); + + Assert.AreEqual(EDocument."Entry No", EDocServiceStatus."E-Document Entry No", ''); + Assert.AreEqual(Enum::"E-Document Service Status"::"Order Linked", EDocServiceStatus.Status, ''); + + // [GIVEN] One more invoice is received to PO + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + PurchOrderTestBuffer.SetEDocOrderNo(CopyStr(OrderNo, 1, 20)); + + // [WHEN] Running Receive + EDocServicePage.Receive.Invoke(); + + // [THEN] After processing, check fields + EDocument.FindLast(); + PurchaseHeader.SetRange("No.", OrderNo); + PurchaseHeader.SetRange("Document Type", Enum::"Purchase Document Type"::Order); + PurchaseHeader.FindLast(); + EDocServiceStatus.FindLast(); + + Assert.AreEqual(PurchaseHeader."No.", EDocument."Order No.", ''); + Assert.AreEqual(Enum::"E-Document Type"::"Purchase Order", EDocument."Document Type", ''); + Assert.AreEqual(Enum::"E-Document Status"::"In Progress", EDocument.Status, ''); + Assert.AreEqual(PurchaseHeader.RecordId(), EDocument."Document Record ID", ''); + Assert.AreNotEqual(EDocument.SystemId, PurchaseHeader."E-Document Link", ''); + + Assert.AreEqual(EDocument."Entry No", EDocServiceStatus."E-Document Entry No", ''); + Assert.AreEqual(Enum::"E-Document Service Status"::"Pending", EDocServiceStatus.Status, ''); + end; + + [Test] + [HandlerFunctions('SelectPOHandlerCancel')] + internal procedure ReceiveToPurchaseOrderCreated26() + var + PurchHeader: Record "Purchase Header"; + EDocService: Record "E-Document Service"; + EDocServiceStatus: Record "E-Document Service Status"; + EDocument: Record "E-Document"; + EDocServicePage: TestPage "E-Document Service"; + OrderNo: Text; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Link to Purchase Order where user click cancel to link + Initialize(); + + // [GIVEN] e-Document service to receive one single purchase invoice + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService.Modify(); + + // [GIVEN] purchase invoice + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Order"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchHeader, PurchHeader."Document Type"::Order, Vendor."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + OrderNo := PurchHeader."No."; + LibraryVariableStorage.Enqueue(PurchHeader); + + LibraryPurchase.CreatePurchHeader(PurchHeader, PurchHeader."Document Type"::Invoice, Vendor."No."); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), 10); + PurchaseLine.Validate("Direct Unit Cost", 100); + PurchaseLine.Modify(true); + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchHeader); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Page to pick Purchase Order appears + // Handler functions + + // [THEN] After processing, check fields + EDocument.FindLast(); + PurchHeader.SetRange("Document Type", Enum::"Purchase Document Type"::Order); + PurchHeader.FindLast(); + EDocServiceStatus.FindLast(); + // PurchaseHeader.SetRange("No.", OrderNo); + + Assert.AreEqual(Enum::"E-Document Type"::"Purchase Order", EDocument."Document Type", ''); + Assert.AreEqual(Enum::"E-Document Status"::Processed, EDocument.Status, ''); + Assert.AreEqual(PurchHeader.RecordId(), EDocument."Document Record ID", ''); + Assert.AreEqual(EDocument.SystemId, PurchHeader."E-Document Link", ''); + + Assert.AreEqual(EDocument."Entry No", EDocServiceStatus."E-Document Entry No", ''); + Assert.AreEqual(Enum::"E-Document Service Status"::"Imported Document Created", EDocServiceStatus.Status, ''); + end; + + [Test] + internal procedure ReceiveFivePurchaseInvoices26() + var + EDocument: Record "E-Document"; + EDocService: Record "E-Document Service"; + EDocServicePage: TestPage "E-Document Service"; + i, j, LastEDocNo : Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive multimple e-documents in one file and create multiple purchase invoices + Initialize(); + + // [GIVEN] e-Document service to receive multiple purchase invoices + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := true; + EDocService.Modify(); + + PurchOrderTestBuffer.ClearTempVariables(); + + // [GIVEN] multiple purchase invoices + for i := 1 to 5 do begin + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + + for j := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + end; + + // Finding current last eDocument entry number + EDocument.Reset(); + if EDocument.FindLast() then + LastEDocNo := EDocument."Entry No"; + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] 5 electronic documents are created + EDocument.SetFilter("Entry No", '>%1', LastEDocNo); + Assert.AreEqual(5, EDocument.Count(), ''); + // [THEN] Purchase invoices are created with corresponfing values + if EDocument.FindSet() then + repeat + CreatedPurchaseHeader.Reset(); + CreatedPurchaseHeader.SetRange("Document Type", CreatedPurchaseHeader."Document Type"::Invoice); + CreatedPurchaseHeader.SetRange("No.", EDocument."Document No."); + CreatedPurchaseHeader.FindFirst(); + + PurchaseHeader.Get(PurchaseHeader."Document Type"::Invoice, CreatedPurchaseHeader."Vendor Invoice No."); + + CheckPurchaseHeadersAreEqual(PurchaseHeader, CreatedPurchaseHeader); + + CreatedPurchaseLine.SetRange("Document Type", CreatedPurchaseHeader."Document Type"); + CreatedPurchaseLine.SetRange("Document No.", CreatedPurchaseHeader."No."); + if CreatedPurchaseLine.FindSet() then + repeat + PurchaseLine.SetRange("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.SetRange("Document No.", PurchaseHeader."No."); + PurchaseLine.SetRange("Line No.", CreatedPurchaseLine."Line No."); + PurchaseLine.FindFirst(); + CheckPurchaseLinesAreEqual(PurchaseLine, CreatedPurchaseLine); + until CreatedPurchaseLine.Next() = 0; + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + + CreatedPurchaseHeader.SetHideValidationDialog(true); + CreatedPurchaseHeader."E-Document Link" := NullGuid; + CreatedPurchaseHeader.Delete(true); + until EDocument.Next() = 0; + end; + + [Test] + internal procedure ReceiveSinglePurchaseCreditMemo26() + var + EDocService: Record "E-Document Service"; + EDocReceiveTest: Codeunit "E-Doc. Receive Test"; + EnvironmentInformation: Codeunit "Environment Information"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + i: Integer; + Country: Text; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document and create purchase credit memo + Initialize(); + + // [GIVEN] e-Document service to receive one single purchase credit memo + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService.Modify(); + + // [GIVEN] purchase credit memo + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::"Credit Memo", Vendor."No."); + + for i := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + + Country := EnvironmentInformation.GetApplicationFamily(); + if Country = 'ES' then + BindSubscription(EDocReceiveTest); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + if Country = 'ES' then + UnbindSubscription(EDocReceiveTest); + + // [THEN] Purchase credit memo is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + + CreatedPurchaseHeader.Reset(); + CreatedPurchaseHeader.SetRange("Document Type", CreatedPurchaseHeader."Document Type"::"Credit Memo"); + CreatedPurchaseHeader.SetRange("No.", EDocumentPage."Document No.".Value); + CreatedPurchaseHeader.FindFirst(); + + CheckPurchaseHeadersAreEqual(PurchaseHeader, CreatedPurchaseHeader); + + CreatedPurchaseLine.SetRange("Document Type", CreatedPurchaseHeader."Document Type"); + CreatedPurchaseLine.SetRange("Document No.", CreatedPurchaseHeader."No."); + if CreatedPurchaseLine.FindSet() then + repeat + PurchaseLine.SetRange("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.SetRange("Document No.", PurchaseHeader."No."); + PurchaseLine.SetRange("Line No.", CreatedPurchaseLine."Line No."); + PurchaseLine.FindFirst(); + CheckPurchaseLinesAreEqual(PurchaseLine, CreatedPurchaseLine); + until CreatedPurchaseLine.Next() = 0; + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + + CreatedPurchaseHeader.SetHideValidationDialog(true); + CreatedPurchaseHeader."E-Document Link" := NullGuid; + CreatedPurchaseHeader.Delete(true); + end; + + [Test] + internal procedure ReceiveFivePurchaseCreditMemos26() + var + EDocument: Record "E-Document"; + EDocService: Record "E-Document Service"; + EDocReceiveTest: Codeunit "E-Doc. Receive Test"; + EnvironmentInformation: Codeunit "Environment Information"; + EDocServicePage: TestPage "E-Document Service"; + i, j, LastEDocNo : Integer; + Country: Text; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive multiple e-documents in one file and create multiple purchase credit memos + Initialize(); + + // [GIVEN] e-Document service to receive multiple purchase credit memos + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := true; + EDocService.Modify(); + + PurchOrderTestBuffer.ClearTempVariables(); + + // [GIVEN] purchase credit memo + for i := 1 to 5 do begin + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::"Credit Memo", Vendor."No."); + + for j := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + end; + + // Finding current last eDocument entry number + EDocument.Reset(); + if EDocument.FindLast() then + LastEDocNo := EDocument."Entry No"; + + Country := EnvironmentInformation.GetApplicationFamily(); + if Country = 'ES' then + BindSubscription(EDocReceiveTest); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + if Country = 'ES' then + UnbindSubscription(EDocReceiveTest); + + // [THEN] 5 electronic documents are created + EDocument.SetFilter("Entry No", '>%1', LastEDocNo); + Assert.AreEqual(5, EDocument.Count(), ''); + // [THEN] Purchase credit memos are created with corresponfing values + if EDocument.FindSet() then + repeat + CreatedPurchaseHeader.Reset(); + CreatedPurchaseHeader.SetRange("Document Type", CreatedPurchaseHeader."Document Type"::"Credit Memo"); + CreatedPurchaseHeader.SetRange("No.", EDocument."Document No."); + CreatedPurchaseHeader.FindFirst(); + + PurchaseHeader.Get(PurchaseHeader."Document Type"::"Credit Memo", CreatedPurchaseHeader."Vendor Invoice No."); + + CheckPurchaseHeadersAreEqual(PurchaseHeader, CreatedPurchaseHeader); + + CreatedPurchaseLine.SetRange("Document Type", CreatedPurchaseHeader."Document Type"); + CreatedPurchaseLine.SetRange("Document No.", CreatedPurchaseHeader."No."); + if CreatedPurchaseLine.FindSet() then + repeat + PurchaseLine.SetRange("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.SetRange("Document No.", PurchaseHeader."No."); + PurchaseLine.SetRange("Line No.", CreatedPurchaseLine."Line No."); + PurchaseLine.FindFirst(); + CheckPurchaseLinesAreEqual(PurchaseLine, CreatedPurchaseLine); + until CreatedPurchaseLine.Next() = 0; + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + + CreatedPurchaseHeader.SetHideValidationDialog(true); + CreatedPurchaseHeader."E-Document Link" := NullGuid; + CreatedPurchaseHeader.Delete(true); + until EDocument.Next() = 0; + end; + + [Test] + internal procedure ReceiveSinglePurchaseInvoiceToJournal26() + var + EDocService: Record "E-Document Service"; + GenJnlBatch: Record "Gen. Journal Batch"; + GenJnlLine: Record "Gen. Journal Line"; + PurchSetup: Record "Purchases & Payables Setup"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + i: Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document and create journal line + Initialize(); + + // [GIVEN] e-Document service to receive one single purchase invoice + LibraryJournals.CreateGenJournalBatch(GenJnlBatch); + GenJnlBatch.Validate("No. Series", LibraryERM.CreateNoSeriesCode()); + GenJnlBatch.Validate("Bal. Account Type", GenJnlBatch."Bal. Account Type"::"G/L Account"); + GenJnlBatch.Modify(true); + + PurchSetup.Get(); + PurchSetup."Debit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); + PurchSetup.Modify(true); + + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService."Create Journal Lines" := true; + EDocService."General Journal Template Name" := GenJnlBatch."Journal Template Name"; + EDocService."General Journal Batch Name" := GenJnlBatch.Name; + EDocService.Modify(); + + // [GIVEN] purchase invoice + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + PurchaseHeader."Pay-to Name" := 'Journal Test Invoice'; + PurchaseHeader.Modify(); + + for i := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase journal line is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + + GenJnlLine.SetRange("Journal Template Name", GenJnlBatch."Journal Template Name"); + GenJnlLine.SetRange("Journal Batch Name", GenJnlBatch.Name); + GenJnlLine.SetRange("Document No.", EDocumentPage."Document No.".Value()); + GenJnlLine.FindFirst(); + + CheckGenJnlLineIsEqualToPurchaseHeader(PurchaseHeader, GenJnlLine); + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + GenJnlLine.Delete(true); + GenJnlBatch.Delete(true); + end; + + [Test] + internal procedure ReceiveMultiPurchaseInvoicesToJournal26() + var + EDocService: Record "E-Document Service"; + GenJnlBatch: Record "Gen. Journal Batch"; + GenJnlLine: Record "Gen. Journal Line"; + PurchSetup: Record "Purchases & Payables Setup"; + EDocServicePage: TestPage "E-Document Service"; + i, j : Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive multiple e-documents and create multiple journal lines + Initialize(); + + // [GIVEN] e-Document service to receive multiple purchase invoices + LibraryJournals.CreateGenJournalBatch(GenJnlBatch); + GenJnlBatch.Validate("No. Series", LibraryERM.CreateNoSeriesCode()); + GenJnlBatch.Validate("Bal. Account Type", GenJnlBatch."Bal. Account Type"::"G/L Account"); + GenJnlBatch.Modify(true); + + PurchSetup.Get(); + PurchSetup."Debit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); + PurchSetup.Modify(true); + + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := true; + EDocService."Create Journal Lines" := true; + EDocService."General Journal Template Name" := GenJnlBatch."Journal Template Name"; + EDocService."General Journal Batch Name" := GenJnlBatch.Name; + EDocService.Modify(); + + PurchOrderTestBuffer.ClearTempVariables(); + + // [GIVEN] purchase invoices + for i := 1 to 5 do begin + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + PurchaseHeader."Pay-to Name" := 'Journal Test Invoice no. ' + Format(i); + PurchaseHeader.Modify(); + + for j := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + end; + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase journal lines are created with corresponfing values + GenJnlLine.SetRange("Journal Template Name", GenJnlBatch."Journal Template Name"); + GenJnlLine.SetRange("Journal Batch Name", GenJnlBatch.Name); + if GenJnlLine.FindSet() then + repeat + PurchaseHeader.SetRange("Document Type", PurchaseHeader."Document Type"::Invoice); + PurchaseHeader.SetRange("Vendor Invoice No.", GenJnlLine."External Document No."); + PurchaseHeader.FindFirst(); + + CheckGenJnlLineIsEqualToPurchaseHeader(PurchaseHeader, GenJnlLine); + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + + GenJnlLine.Delete(true); + until GenJnlLine.Next() = 0; + end; + + [Test] + internal procedure ReceiveSinglePurchaseCreditMemoToJournal26() + var + EDocService: Record "E-Document Service"; + GenJnlBatch: Record "Gen. Journal Batch"; + GenJnlLine: Record "Gen. Journal Line"; + PurchSetup: Record "Purchases & Payables Setup"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + i: Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document and create journal line + Initialize(); + + // [GIVEN] e-Document service to receive one single purchase credit memo + LibraryJournals.CreateGenJournalBatch(GenJnlBatch); + GenJnlBatch.Validate("No. Series", LibraryERM.CreateNoSeriesCode()); + GenJnlBatch.Validate("Bal. Account Type", GenJnlBatch."Bal. Account Type"::"G/L Account"); + GenJnlBatch.Modify(true); + + PurchSetup.Get(); + PurchSetup."Credit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); + PurchSetup.Modify(true); + + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := false; + EDocService."Create Journal Lines" := true; + EDocService."General Journal Template Name" := GenJnlBatch."Journal Template Name"; + EDocService."General Journal Batch Name" := GenJnlBatch.Name; + EDocService.Modify(); + + // [GIVEN] purchase credit memo + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::"Credit Memo", Vendor."No."); + PurchaseHeader."Pay-to Name" := 'Journal Test Invoice'; + PurchaseHeader.Modify(); + + for i := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase journal line is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + + GenJnlLine.SetRange("Journal Template Name", GenJnlBatch."Journal Template Name"); + GenJnlLine.SetRange("Journal Batch Name", GenJnlBatch.Name); + GenJnlLine.SetRange("Document No.", EDocumentPage."Document No.".Value()); + GenJnlLine.FindFirst(); + + CheckGenJnlLineIsEqualToPurchaseHeader(PurchaseHeader, GenJnlLine); + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + GenJnlLine.Delete(true); + GenJnlBatch.Delete(true); + end; + + [Test] + internal procedure ReceiveMultiCreditMemosToJournal26() + var + EDocService: Record "E-Document Service"; + GenJnlBatch: Record "Gen. Journal Batch"; + GenJnlLine: Record "Gen. Journal Line"; + PurchSetup: Record "Purchases & Payables Setup"; + EDocServicePage: TestPage "E-Document Service"; + i, j : Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive multiple e-documents and create multiple journal lines + Initialize(); + + // [GIVEN] e-Document service to receive multiple purchase credit memos + LibraryJournals.CreateGenJournalBatch(GenJnlBatch); + GenJnlBatch.Validate("No. Series", LibraryERM.CreateNoSeriesCode()); + GenJnlBatch.Validate("Bal. Account Type", GenJnlBatch."Bal. Account Type"::"G/L Account"); + GenJnlBatch.Modify(true); + + PurchSetup.Get(); + PurchSetup."Credit Acc. for Non-Item Lines" := LibraryERM.CreateGLAccountNoWithDirectPosting(); + PurchSetup.Modify(true); + + LibraryEDoc.CreateTestReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + + EDocService."Lookup Account Mapping" := false; + EDocService."Lookup Item GTIN" := false; + EDocService."Lookup Item Reference" := false; + EDocService."Resolve Unit Of Measure" := false; + EDocService."Validate Line Discount" := false; + EDocService."Verify Totals" := false; + EDocService."Use Batch Processing" := true; + EDocService."Create Journal Lines" := true; + EDocService."General Journal Template Name" := GenJnlBatch."Journal Template Name"; + EDocService."General Journal Batch Name" := GenJnlBatch.Name; + EDocService.Modify(); + + PurchOrderTestBuffer.ClearTempVariables(); + + // [GIVEN] purchase credit memos + for i := 1 to 5 do begin + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::"Credit Memo", Vendor."No."); + PurchaseHeader."Pay-to Name" := 'Journal Test Invoice no. ' + Format(i); + PurchaseHeader.Modify(); + + for j := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + end; + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase journal lines are created with corresponfing values + GenJnlLine.SetRange("Journal Template Name", GenJnlBatch."Journal Template Name"); + GenJnlLine.SetRange("Journal Batch Name", GenJnlBatch.Name); + if GenJnlLine.FindSet() then + repeat + PurchaseHeader.SetRange("Document Type", PurchaseHeader."Document Type"::"Credit Memo"); + PurchaseHeader.SetRange("Vendor Cr. Memo No.", GenJnlLine."External Document No."); + PurchaseHeader.FindFirst(); + + CheckGenJnlLineIsEqualToPurchaseHeader(PurchaseHeader, GenJnlLine); + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + + GenJnlLine.Delete(true); + until GenJnlLine.Next() = 0; + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + internal procedure GetBasicInfoFromReceivedDocumentError26() + var + EDocService: Record "E-Document Service"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + i: Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document and try to get besic info + Initialize(); + + // [GIVEN] e-Document service to raised receiving error + LibraryEDoc.CreateGetBasicInfoErrorReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + EDocImplState.SetThrowBasicInfoError(); + + // [GIVEN] purchase invoice + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + + for i := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase invoice is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + Assert.AreEqual(GetBasicInfoErr, EDocumentPage.ErrorMessagesPart.Description.Value(), ''); + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + internal procedure GetCompleteInfoFromReceivedDocumentError26() + var + EDocService: Record "E-Document Service"; + EDocServicePage: TestPage "E-Document Service"; + EDocumentPage: TestPage "E-Document"; + i: Integer; + begin + // [FEATURE] [E-Document] [Receive] + // [SCENARIO] Receive single e-document and try to get besic info + Initialize(); + + // [GIVEN] e-Document service to raised receiving error + LibraryEDoc.CreateGetCompleteInfoErrorReceiveServiceForEDoc(EDocService, Enum::"E-Document Integration"::Mock); + BindSubscription(EDocImplState); + EDocImplState.SetThrowCompleteInfoError(); + + // [GIVEN] purchase invoice + LibraryPurchase.CreateVendorWithAddress(Vendor); + Vendor."Receive E-Document To" := Vendor."Receive E-Document To"::"Purchase Invoice"; + Vendor.Modify(); + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, Vendor."No."); + + for i := 1 to 3 do begin + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, PurchaseLine.Type::Item, LibraryInventory.CreateItemNo(), LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDecInRange(1, 100, 2)); + PurchaseLine.Modify(true); + end; + + PurchOrderTestBuffer.ClearTempVariables(); + PurchOrderTestBuffer.AddPurchaseDocToTemp(PurchaseHeader); + + // [WHEN] Running Receive + EDocServicePage.OpenView(); + EDocServicePage.Filter.SetFilter(Code, EDocService.Code); + EDocServicePage.Receive.Invoke(); + + // [THEN] Purchase invoice is created with corresponfing values + EDocumentPage.OpenView(); + EDocumentPage.Last(); + Assert.AreEqual(GetCompleteInfoErr, EDocumentPage.ErrorMessagesPart.Description.Value(), ''); + + PurchaseHeader.SetHideValidationDialog(true); + PurchaseHeader."E-Document Link" := NullGuid; + PurchaseHeader.Delete(true); + end; + + +#endif +#pragma warning restore AS0018 + } \ No newline at end of file diff --git a/Apps/W1/EDocumentConnectors/Avalara/app/app.json b/Apps/W1/EDocumentConnectors/Avalara/app/app.json index 115bee31e0..b1a1b4614c 100644 --- a/Apps/W1/EDocumentConnectors/Avalara/app/app.json +++ b/Apps/W1/EDocumentConnectors/Avalara/app/app.json @@ -39,7 +39,7 @@ "idRanges": [ { "from": 6370, - "to": 6379 + "to": 6380 } ], "resourceExposurePolicy": { diff --git a/Apps/W1/EDocumentConnectors/Avalara/app/src/Extensions/EDocService.PageExt.al b/Apps/W1/EDocumentConnectors/Avalara/app/src/Extensions/EDocService.PageExt.al index 7d48445ff1..ca124b8a45 100644 --- a/Apps/W1/EDocumentConnectors/Avalara/app/src/Extensions/EDocService.PageExt.al +++ b/Apps/W1/EDocumentConnectors/Avalara/app/src/Extensions/EDocService.PageExt.al @@ -15,7 +15,7 @@ pageextension 6371 "E-Doc. Service" extends "E-Document Service" group(Avalara) { Caption = 'Avalara'; - Visible = Rec."Service Integration" = Rec."Service Integration"::Avalara; + Visible = Rec."Service Integration V2" = Rec."Service Integration V2"::Avalara; field("Avalara Mandate"; Rec."Avalara Mandate") { @@ -24,6 +24,5 @@ pageextension 6371 "E-Doc. Service" extends "E-Document Service" } } } - } } \ No newline at end of file diff --git a/Apps/W1/EDocumentConnectors/Avalara/app/src/Integration.EnumExt.al b/Apps/W1/EDocumentConnectors/Avalara/app/src/Integration.EnumExt.al index b964d57e00..21133c76c8 100644 --- a/Apps/W1/EDocumentConnectors/Avalara/app/src/Integration.EnumExt.al +++ b/Apps/W1/EDocumentConnectors/Avalara/app/src/Integration.EnumExt.al @@ -1,15 +1,18 @@ +#if not CLEAN26 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ -namespace Microsoft.EServices.EDocumentConnector.Avalara; -using Microsoft.eServices.EDocument; - -enumextension 6370 Integration extends "E-Document Integration" -{ - value(6370; "Avalara") - { - Implementation = "E-Document Integration" = "Integration Impl."; - } -} \ No newline at end of file +// +// Intentionally left as documentation for the upgrade codeunit +// +// enumextension 6370 Integration extends "E-Document Integration" +// { +// // Leave commented out as 6370 is used in Upgrade Codeunit +// // value(6370; "Avalara") +// // { +// // Implementation = "E-Document Integration" = "E-Document No Integration"; +// // } +// } +#endif \ No newline at end of file diff --git a/Apps/W1/EDocumentConnectors/Avalara/app/src/IntegrationImpl.Codeunit.al b/Apps/W1/EDocumentConnectors/Avalara/app/src/IntegrationImpl.Codeunit.al index e16cdf25b6..32be18b960 100644 --- a/Apps/W1/EDocumentConnectors/Avalara/app/src/IntegrationImpl.Codeunit.al +++ b/Apps/W1/EDocumentConnectors/Avalara/app/src/IntegrationImpl.Codeunit.al @@ -6,57 +6,44 @@ namespace Microsoft.EServices.EDocumentConnector.Avalara; using System.Utilities; using Microsoft.EServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Send; +using Microsoft.eServices.EDocument.Integration.Receive; +using Microsoft.eServices.EDocument.Integration.Interfaces; -codeunit 6372 "Integration Impl." implements "E-Document Integration" +codeunit 6372 "Integration Impl." implements IDocumentSender, IDocumentResponseHandler, IDocumentReceiver { Access = Internal; - procedure Send(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) - var - begin - this.AvalaraProcessing.SendEDocument(EDocument, TempBlob, IsAsync, HttpRequest, HttpResponse); - end; - - procedure SendBatch(var EDocuments: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + procedure Send(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) begin - IsAsync := false; - Error(BatchSendingErr); + this.AvalaraProcessing.SendEDocument(EDocument, EDocumentService, SendContext); end; - procedure GetResponse(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + procedure GetResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext): Boolean begin - exit(this.AvalaraProcessing.GetDocumentStatus(EDocument, HttpRequest, HttpResponse)); + exit(this.AvalaraProcessing.GetDocumentStatus(EDocument, SendContext)); end; - procedure GetApproval(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; ReceivedEDocuments: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) begin - Error(ApprovalErr); + this.AvalaraProcessing.ReceiveDocuments(EDocumentService, ReceivedEDocuments, ReceiveContext); end; - procedure Cancel(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) begin - Error(CancelErr); + this.AvalaraProcessing.DownloadDocument(EDocument, EDocumentService, DocumentMetadataBlob, ReceiveContext); end; - procedure ReceiveDocument(var TempBlob: Codeunit "Temp Blob"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + [EventSubscriber(ObjectType::Page, Page::"E-Document Service", OnBeforeOpenServiceIntegrationSetupPage, '', false, false)] + local procedure OnBeforeOpenServiceIntegrationSetupPage(EDocumentService: Record "E-Document Service"; var SetupPage: Integer) begin - this.AvalaraProcessing.ReceiveDocument(TempBlob, HttpRequest, HttpResponse); + if EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::Avalara then + SetupPage := Page::"Connection Setup Card"; end; - procedure GetDocumentCountInBatch(var TempBlob: Codeunit "Temp Blob"): Integer - begin - exit(this.AvalaraProcessing.GetDocumentCountInBatch(TempBlob)); - end; - - procedure GetIntegrationSetup(var SetupPage: Integer; var SetupTable: Integer) - begin - SetupPage := page::"Connection Setup Card"; - SetupTable := Database::"Connection Setup"; - end; var AvalaraProcessing: Codeunit Processing; - BatchSendingErr: Label 'Batch sending is not supported in this version.'; - ApprovalErr: Label 'Approvals are not supported in this version.'; - CancelErr: Label 'Cancel is not supported in this version'; + + } \ No newline at end of file diff --git a/Apps/W1/EDocumentConnectors/Avalara/app/src/IntegrationV2.EnumExt.al b/Apps/W1/EDocumentConnectors/Avalara/app/src/IntegrationV2.EnumExt.al new file mode 100644 index 0000000000..b84bca1702 --- /dev/null +++ b/Apps/W1/EDocumentConnectors/Avalara/app/src/IntegrationV2.EnumExt.al @@ -0,0 +1,16 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.EServices.EDocumentConnector.Avalara; + +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument.Integration; + +enumextension 6371 IntegrationV2 extends "Service Integration" +{ + value(6370; "Avalara") + { + Implementation = IDocumentSender = "Integration Impl.", IDocumentReceiver = "Integration Impl."; + } +} \ No newline at end of file diff --git a/Apps/W1/EDocumentConnectors/Avalara/app/src/Processing.Codeunit.al b/Apps/W1/EDocumentConnectors/Avalara/app/src/Processing.Codeunit.al index e628434846..989c694552 100644 --- a/Apps/W1/EDocumentConnectors/Avalara/app/src/Processing.Codeunit.al +++ b/Apps/W1/EDocumentConnectors/Avalara/app/src/Processing.Codeunit.al @@ -7,7 +7,9 @@ namespace Microsoft.EServices.EDocumentConnector.Avalara; using Microsoft.EServices.EDocument; using Microsoft.EServices.EDocumentConnector.Avalara.Models; using System.Utilities; - +using Microsoft.eServices.EDocument.Integration.Send; +using Microsoft.eServices.EDocument.Integration; +using Microsoft.eServices.EDocument.Integration.Receive; codeunit 6379 Processing { @@ -65,7 +67,7 @@ codeunit 6379 Processing MandateList: Page "Mandate List"; begin Commit(); - EDocService.SetRange("Service Integration", Enum::"E-Document Integration"::Avalara); + EDocService.SetRange("Service Integration V2", Enum::"Service Integration"::Avalara); EDocumentServices.SetTableView(EDocService); EDocumentServices.LookupMode := true; EDocumentServices.Caption(AvalaraPickMandateMsg); @@ -90,17 +92,17 @@ codeunit 6379 Processing /// /// Calls Avalara API for SubmitDocument. /// - procedure SendEDocument(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + procedure SendEDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) var - EDocumentService: Record "E-Document Service"; Request: Codeunit Requests; HttpExecutor: Codeunit "Http Executor"; MetaData: Codeunit Metadata; + TempBlob: Codeunit "Temp Blob"; InStream: InStream; RequestContent: Text; ResponseContent: Text; begin - IsAsync := true; + TempBlob := SendContext.GetTempBlob(); Metadata.SetWorkflowId('partner-einvoicing').SetDataFormat('ubl-invoice').SetDataFormatVersion('2.1'); case EDocument."Document Type" of @@ -109,7 +111,6 @@ codeunit 6379 Processing MetaData.SetDataFormat('ubl-creditnote'); end; - EDocumentHelper.GetEdocumentService(EDocument, EDocumentService); SetMandateForMetaData(EDocumentService, MetaData); TempBlob.CreateInStream(InStream, TextEncoding::UTF8); @@ -117,8 +118,9 @@ codeunit 6379 Processing Request.Init(); Request.Authenticate().CreateSubmitDocumentRequest(MetaData, RequestContent); - HttpRequest := Request.GetRequest(); - ResponseContent := HttpExecutor.ExecuteHttpRequest(Request, HttpResponse); + ResponseContent := HttpExecutor.ExecuteHttpRequest(Request); + SendContext.Http().SetHttpRequestMessage(Request.GetRequest()); + SendContext.Http().SetHttpResponseMessage(HttpExecutor.GetResponse()); EDocument.Get(EDocument."Entry No"); EDocument."Document Id" := ParseDocumentId(ResponseContent); @@ -130,7 +132,7 @@ codeunit 6379 Processing /// If request is successfull, but status is Error, then errors are logged and error is thrown to set document to Sending Error state /// /// False if status is Pending, True if status is Complete. - procedure GetDocumentStatus(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + procedure GetDocumentStatus(var EDocument: Record "E-Document"; SendContext: Codeunit SendContext): Boolean var Request: Codeunit Requests; HttpExecutor: Codeunit "Http Executor"; @@ -140,26 +142,37 @@ codeunit 6379 Processing Request.Init(); Request.Authenticate().CreateGetDocumentStatusRequest(EDocument."Document Id"); - ResponseContent := HttpExecutor.ExecuteHttpRequest(Request, HttpResponse); + ResponseContent := HttpExecutor.ExecuteHttpRequest(Request); + SendContext.Http().SetHttpRequestMessage(Request.GetRequest()); + SendContext.Http().SetHttpResponseMessage(HttpExecutor.GetResponse()); exit(ParseGetDocumentStatusResponse(EDocument, ResponseContent)); end; /// /// Lookup documents for last XX days. /// - procedure ReceiveDocument(var TempBlob: Codeunit "Temp Blob"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; ReceivedEDocuments: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) var + TempBlob: Codeunit "Temp Blob"; OutStream: OutStream; - ArrayOfDocuments: Text; + HttpRequest: HttpRequestMessage; + HttpResponse: HttpResponseMessage; Response: JsonArray; EndDate: Date; + I: Integer; begin EndDate := CalcDate('<-1M>', Today()); Response := ReceiveDocumentInner(TempBlob, HttpRequest, HttpResponse, StrSubstNo(AvalaraGetDocsPathTxt, FormatDateTime(EndDate), FormatDateTime(Today()))); - TempBlob.CreateOutStream(OutStream, TextEncoding::UTF8); - Response.WriteTo(ArrayOfDocuments); - OutStream.Write(ArrayOfDocuments); - HttpResponse.Content.WriteFrom(ArrayOfDocuments); + ReceiveContext.Http().SetHttpRequestMessage(HttpRequest); + ReceiveContext.Http().SetHttpResponseMessage(HttpResponse); + + RemoveExistingDocumentsFromResponse(Response); + for I := 1 to Response.Count() do begin + Clear(TempBlob); + TempBlob.CreateOutStream(OutStream, TextEncoding::UTF8); + OutStream.Write(Response.GetText(I - 1)); + ReceivedEDocuments.Add(TempBlob); + end; end; /// @@ -167,7 +180,7 @@ codeunit 6379 Processing /// Ensures we get all documents within Start and End time that we requested. /// /// List of Json Objects with data about document that belong to selected avalara company. - procedure ReceiveDocumentInner(var TempBlob: Codeunit "Temp Blob"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage; Path: Text): JsonArray + procedure ReceiveDocumentInner(var TempBlob: Codeunit "Temp Blob"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; Path: Text): JsonArray var ConnectionSetup: Record "Connection Setup"; Request: Codeunit Requests; @@ -211,70 +224,22 @@ codeunit 6379 Processing exit(Values); end; - /// - /// Get number of documents in batch - /// - procedure GetDocumentCountInBatch(var TempBlob: Codeunit "Temp Blob"): Integer - var - Instream: InStream; - ResponseContent: Text; - ResponseJson: JsonArray; - begin - TempBlob.CreateInStream(Instream, TextEncoding::UTF8); - Instream.ReadText(ResponseContent); - ResponseJson.ReadFrom(ResponseContent); - exit(ResponseJson.Count()); - end; - - /// - /// Filter out received documents that are already downloaded. - /// Needed as Avalara API does not support marking documents as fetched. - /// - [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Import", 'OnBeforeInsertImportedEdocument', '', false, false)] - local procedure OnBeforeInsertEdocumentCheck(var EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocCount: Integer; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var IsCreated: Boolean; var IsProcessed: Boolean) - var - EDocument2: Record "E-Document"; - ContentData, DocumentId : Text; - begin - if EDocumentService."Service Integration" <> EDocumentService."Service Integration"::Avalara then - exit; - - HttpResponse.Content.ReadAs(ContentData); - if not ParseReceivedDocument(ContentData, EDocument."Index In Batch", DocumentId) then begin - EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, DocumentIdNotFoundErr); - exit; - end; - if DocumentId = '' then - EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, DocumentIdNotFoundErr); - - // Decide if document exists - EDocument2.SetRange("Document Id", DocumentId); - IsCreated := not EDocument2.IsEmpty(); - IsProcessed := IsCreated; - end; /// - /// Get Document Id and store it E-Document. - /// Create Request to Download XML based on Document Id, and store it in TempBlob. + /// Download document XML from Avalara API /// - [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Import", OnAfterInsertImportedEdocument, '', false, false)] - local procedure OnAfterInsertEdocumentReadDocumentIdAndDownloadContent(var EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocCount: Integer; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) var Request: Codeunit Requests; HttpExecutor: Codeunit "Http Executor"; ResponseContent: Text; - HttpResponseLocal: HttpResponseMessage; - ContentData, DocumentId : Text; + InStream: InStream; + DocumentId: Text; OutStream: OutStream; begin - if EDocumentService."Service Integration" <> EDocumentService."Service Integration"::Avalara then - exit; + DocumentMetadataBlob.CreateInStream(InStream, TextEncoding::UTF8); + InStream.ReadText(DocumentId); - HttpResponse.Content.ReadAs(ContentData); - if not ParseReceivedDocument(ContentData, EDocument."Index In Batch", DocumentId) then begin - EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, DocumentIdNotFoundErr); - exit; - end; if DocumentId = '' then begin EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, DocumentIdNotFoundErr); exit; @@ -285,13 +250,40 @@ codeunit 6379 Processing Request.Init(); Request.Authenticate().CreateDownloadRequest(DocumentId); - ResponseContent := HttpExecutor.ExecuteHttpRequest(Request, HttpResponseLocal); - EDocumentLogHelper.InsertIntegrationLog(EDocument, EDocumentService, Request.GetRequest(), HttpResponseLocal); + ResponseContent := HttpExecutor.ExecuteHttpRequest(Request); + ReceiveContext.Http().SetHttpRequestMessage(Request.GetRequest()); + ReceiveContext.Http().SetHttpResponseMessage(HttpExecutor.GetResponse()); - Clear(TempBlob); - TempBlob.CreateOutStream(OutStream, TextEncoding::UTF8); + ReceiveContext.GetTempBlob().CreateOutStream(OutStream, TextEncoding::UTF8); OutStream.WriteText(ResponseContent); - EDocumentLogHelper.InsertLog(EDocument, EDocumentService, TempBlob, Enum::"E-Document Service Status"::Imported); + end; + + /// + /// Remove document ids from array that are already created as E-Documents. + /// + local procedure RemoveExistingDocumentsFromResponse(var Documents: JsonArray) + var + DocumentId: Text; + I: Integer; + NewArray: JsonArray; + begin + for I := 0 to Documents.Count() - 1 do begin + DocumentId := GetDocumentIdFromArray(Documents, I); + if not DocumentExists(DocumentId) then + NewArray.Add(DocumentId); + end; + Documents := NewArray; + end; + + /// + /// Check if E-Document with Document Id exists in E-Document table + /// + local procedure DocumentExists(DocumentId: Text): Boolean + var + EDocument: Record "E-Document"; + begin + EDocument.SetRange("Document Id", DocumentId); + exit(not EDocument.IsEmpty()); end; /// @@ -461,25 +453,15 @@ codeunit 6379 Processing end; /// - /// Parse the document id from json + /// Returns id from json array /// - local procedure ParseReceivedDocument(InputTxt: Text; Index: Integer; var DocumentId: Text): Boolean + local procedure GetDocumentIdFromArray(DocumentArray: JsonArray; Index: Integer): Text var - ValueArray: JsonArray; DocumentJsonToken, IdToken : JsonToken; begin - ValueArray.ReadFrom(InputTxt); - if Index > ValueArray.Count then - exit(false); - - if Index = 0 then - Index := 1; - - ValueArray.Get(Index - 1, DocumentJsonToken); + DocumentArray.Get(Index, DocumentJsonToken); DocumentJsonToken.AsObject().Get('id', IdToken); - DocumentId := IdToken.AsValue().AsText(); - - exit(true); + exit(IdToken.AsValue().AsText()); end; /// @@ -504,11 +486,10 @@ codeunit 6379 Processing exit(AvalaraTok); end; + var TempMandates: Record Mandate temporary; TempAvalaraCompanies: Record "Company" temporary; - EDocumentHelper: Codeunit "E-Document Helper"; - EDocumentLogHelper: Codeunit "E-Document Log Helper"; EDocumentErrorHelper: Codeunit "E-Document Error Helper"; IncorrectDocumentIdInResponseErr: Label 'Document ID returned by API does not match E-Document.'; DocumentIdNotFoundErr: Label 'Document ID not found in response.'; diff --git a/Apps/W1/EDocumentConnectors/Avalara/app/src/Upgrade.Codeunit.al b/Apps/W1/EDocumentConnectors/Avalara/app/src/Upgrade.Codeunit.al new file mode 100644 index 0000000000..2c32e9f954 --- /dev/null +++ b/Apps/W1/EDocumentConnectors/Avalara/app/src/Upgrade.Codeunit.al @@ -0,0 +1,64 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.EServices.EDocumentConnector.Avalara; + +using System.Upgrade; +#if not CLEAN26 +using Microsoft.eServices.EDocument.Integration; +using Microsoft.eServices.EDocument; +#endif + +codeunit 6380 Upgrade +{ + Access = Internal; + Subtype = Upgrade; + + trigger OnUpgradePerCompany() + var + + begin +#if not CLEAN26 + // Upgrade code per company + UpdateServiceIntegration(); +#endif + + end; + +#if not CLEAN26 + local procedure UpdateServiceIntegration() + var + EDocumentService: Record "E-Document Service"; + UpgradeTag: Codeunit "Upgrade Tag"; + begin + if UpgradeTag.HasUpgradeTag(UpgradeServiceIntegrationTag()) then + exit; + + // 6370 - Avlara Integration + EDocumentService.SetRange("Service Integration", 6370); + if EDocumentService.FindSet() then + repeat + EDocumentService."Service Integration V2" := Enum::"Service Integration"::Avalara; + EDocumentService."Service Integration" := Enum::"E-Document Integration"::"No Integration"; + EDocumentService.Modify(); + until EDocumentService.Next() = 0; + + UpgradeTag.SetUpgradeTag(UpgradeServiceIntegrationTag()); + end; +#endif + + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] + local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) + begin + PerCompanyUpgradeTags.Add(UpgradeServiceIntegrationTag()); + end; + + local procedure UpgradeServiceIntegrationTag(): Code[250] + begin + exit('MS-547765-UpdateServiceIntegrationAvalara-20241118'); + end; + + +} \ No newline at end of file diff --git a/Apps/W1/EDocumentConnectors/Avalara/test/src/IntegrationTests.Codeunit.al b/Apps/W1/EDocumentConnectors/Avalara/test/src/IntegrationTests.Codeunit.al index da2436a2d3..dbc98fe408 100644 --- a/Apps/W1/EDocumentConnectors/Avalara/test/src/IntegrationTests.Codeunit.al +++ b/Apps/W1/EDocumentConnectors/Avalara/test/src/IntegrationTests.Codeunit.al @@ -10,6 +10,7 @@ using Microsoft.Purchases.Document; using Microsoft.Foundation.Company; using Microsoft.Purchases.Vendor; using System.Threading; +using Microsoft.eServices.EDocument.Integration; codeunit 148191 "Integration Tests" { @@ -155,6 +156,7 @@ codeunit 148191 "Integration Tests" Assert.AreEqual('', EDocumentPage.ErrorMessagesPart.Description.Value(), IncorrectValueErr); EDocumentPage.Close(); + // [WHEN] Executing Get Response succesfully SetAvalaraConnectionBaseUrl('/avalara/response-pending'); JobQueueEntry.FindJobQueueEntry(JobQueueEntry."Object Type to Run"::Codeunit, Codeunit::"E-Document Get Response"); @@ -473,9 +475,16 @@ codeunit 148191 "Integration Tests" EDocServicePage.Close(); // Manually fire job queue job to import + if EDocument.FindLast() then + EDocument.SetFilter("Entry No", '>%1', EDocument."Entry No"); + LibraryEDocument.RunImportJob(); // Assert that we have Purchase Invoice created +#pragma warning disable AA0210 + EDocument.SetRange("Document Type", EDocument."Document Type"::"Purchase Invoice"); + EDocument.SetRange("Bill-to/Pay-to No.", Vendor."No."); +#pragma warning restore AA0210 EDocument.FindLast(); PurchaseHeader.Get(EDocument."Document Record ID"); Assert.AreEqual(Vendor."No.", PurchaseHeader."Buy-from Vendor No.", 'Wrong Vendor'); @@ -537,10 +546,10 @@ codeunit 148191 "Integration Tests" exit; LibraryEDocument.SetupStandardVAT(); - LibraryEDocument.SetupStandardSalesScenario(Customer, EDocumentService, Enum::"E-Document Format"::"PEPPOL BIS 3.0", Enum::"E-Document Integration"::Avalara); + LibraryEDocument.SetupStandardSalesScenario(Customer, EDocumentService, Enum::"E-Document Format"::"PEPPOL BIS 3.0", Enum::"Service Integration"::Avalara); EDocumentService."Avalara Mandate" := 'GB-Test-Mandate'; - LibraryEDocument.SetupStandardPurchaseScenario(Vendor, EDocumentService, Enum::"E-Document Format"::"PEPPOL BIS 3.0", Enum::"E-Document Integration"::Avalara); + LibraryEDocument.SetupStandardPurchaseScenario(Vendor, EDocumentService, Enum::"E-Document Format"::"PEPPOL BIS 3.0", Enum::"Service Integration"::Avalara); EDocumentService."Auto Import" := true; EDocumentService."Import Minutes between runs" := 10; EDocumentService."Import Start Time" := Time(); diff --git a/Apps/W1/EDocumentsConnector/app/app.json b/Apps/W1/EDocumentsConnector/app/app.json index dc11bcf4af..2de8d4ca4d 100644 --- a/Apps/W1/EDocumentsConnector/app/app.json +++ b/Apps/W1/EDocumentsConnector/app/app.json @@ -31,7 +31,7 @@ "idRanges": [ { "from": 6360, - "to": 6369 + "to": 6370 } ], "resourceExposurePolicy": { diff --git a/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtEDocument.PageExt.al b/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtEDocument.PageExt.al index a26918dfa3..7cbc96ca16 100644 --- a/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtEDocument.PageExt.al +++ b/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtEDocument.PageExt.al @@ -57,7 +57,7 @@ pageextension 6360 "E-Doc. Ext. EDocument" extends "E-Document" begin EDocumentHelper.GetEdocumentService(Rec, EdocumentService); ApprovalActionVisible := - (EDocumentService."Service Integration" = EDocumentService."Service Integration"::Pagero) and (Rec.Direction = Rec.Direction::Incoming); + (EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::Pagero) and (Rec.Direction = Rec.Direction::Incoming); end; var diff --git a/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtIntegration.EnumExt.al b/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtIntegration.EnumExt.al index 59dc7a2dff..340dcefc2a 100644 --- a/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtIntegration.EnumExt.al +++ b/Apps/W1/EDocumentsConnector/app/src/E3Party/EDocExtIntegration.EnumExt.al @@ -1,15 +1,17 @@ +#if not CLEAN26 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ -namespace Microsoft.EServices.EDocumentConnector; - -using Microsoft.EServices.EDocument; - -enumextension 6363 "E-Doc. Ext. Integration" extends "E-Document Integration" -{ - value(6361; "Pagero") - { - Implementation = "E-Document Integration" = "Pagero Integration Impl."; - } -} \ No newline at end of file +// +// Intentionally left as documentation for the upgrade codeunit +// +// enumextension 6363 "E-Doc. Ext. Integration" extends "E-Document Integration" +// { +// // Leave commented out as 6361 is used in Upgrade Codeunit +// // value(6361; "Pagero") +// // { +// // Implementation = "E-Document Integration" = "E-Document No Integration"; +// // } +// } +#endif \ No newline at end of file diff --git a/Apps/W1/EDocumentsConnector/app/src/E3Party/PageroActions.EnumExt.al b/Apps/W1/EDocumentsConnector/app/src/E3Party/PageroActions.EnumExt.al new file mode 100644 index 0000000000..bda53c4873 --- /dev/null +++ b/Apps/W1/EDocumentsConnector/app/src/E3Party/PageroActions.EnumExt.al @@ -0,0 +1,16 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.EServices.EDocumentConnector; + +using Microsoft.eServices.EDocument.Integration.Action; +using Microsoft.eServices.EDocument.Integration.Interfaces; + +enumextension 6365 "Pagero Actions" extends "Sent Document Actions" +{ + value(6361; "Pagero") + { + Implementation = ISentDocumentActions = "Pagero Integration Impl."; + } +} \ No newline at end of file diff --git a/Apps/W1/EDocumentsConnector/app/src/E3Party/PageroIntegration.EnumExt.al b/Apps/W1/EDocumentsConnector/app/src/E3Party/PageroIntegration.EnumExt.al new file mode 100644 index 0000000000..b6ced14d21 --- /dev/null +++ b/Apps/W1/EDocumentsConnector/app/src/E3Party/PageroIntegration.EnumExt.al @@ -0,0 +1,16 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.EServices.EDocumentConnector; + +using Microsoft.eServices.EDocument.Integration; +using Microsoft.eServices.EDocument.Integration.Interfaces; + +enumextension 6364 "Pagero Integration" extends "Service Integration" +{ + value(6361; "Pagero") + { + Implementation = IDocumentSender = "Pagero Integration Impl.", IDocumentReceiver = "Pagero Integration Impl."; + } +} \ No newline at end of file diff --git a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroConnection.Codeunit.al b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroConnection.Codeunit.al index 8999707d9b..7cd9f9f029 100644 --- a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroConnection.Codeunit.al +++ b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroConnection.Codeunit.al @@ -65,7 +65,7 @@ codeunit 6361 "Pagero Connection" exit(true); end; - procedure GetReceivedDocuments(var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage; Retry: Boolean): Boolean + procedure GetReceivedDocuments(HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; Retry: Boolean): Boolean var Parameters: Dictionary of [Text, Text]; InputTxt: Text; @@ -82,7 +82,7 @@ codeunit 6361 "Pagero Connection" exit(true); end; - procedure HandleGetTargetDocumentRequest(DocumentId: Text; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage; Retry: Boolean): Boolean + procedure HandleGetTargetDocumentRequest(DocumentId: Text; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; Retry: Boolean): Boolean begin if not PageroAPIRequests.GetTargetDocumentRequest(DocumentId, HttpRequest, HttpResponse) then if Retry then @@ -226,7 +226,7 @@ codeunit 6361 "Pagero Connection" if not EDocument.FindFirst() then exit; - EDocumentService.SetRange("Service Integration", EDocumentService."Service Integration"::Pagero); + EDocumentService.SetRange("Service Integration V2", EDocumentService."Service Integration V2"::Pagero); if EDocumentService.FindFirst() then; EDocumentServiceStatus.SetRange("E-Document Entry No", EDocument."Entry No"); EDocumentServiceStatus.SetRange("E-Document Service Code", EDocumentService.Code); diff --git a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroIntegrationImpl.Codeunit.al b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroIntegrationImpl.Codeunit.al index 8da9a9fa0f..c9d573ba69 100644 --- a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroIntegrationImpl.Codeunit.al +++ b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroIntegrationImpl.Codeunit.al @@ -6,54 +6,80 @@ namespace Microsoft.EServices.EDocumentConnector; using System.Utilities; using Microsoft.EServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Interfaces; +using Microsoft.eServices.EDocument.Integration.Send; +using Microsoft.eServices.EDocument.Integration.Receive; -codeunit 6362 "Pagero Integration Impl." implements "E-Document Integration" +codeunit 6362 "Pagero Integration Impl." implements IDocumentSender, IDocumentResponseHandler, IDocumentReceiver, ISentDocumentActions { Access = Internal; - procedure Send(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + procedure Send(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext) var + TempBlob: Codeunit "Temp Blob"; + HttpRequest: HttpRequestMessage; + HttpResponse: HttpResponseMessage; begin - PageroProcessing.SendEDocument(EDocument, TempBlob, IsAsync, HttpRequest, HttpResponse); + TempBlob := SendContext.GetTempBlob(); + PageroProcessing.SendEDocument(EDocument, EDocumentService, TempBlob, HttpRequest, HttpResponse); + SendContext.Http().SetHttpRequestMessage(HttpRequest); + SendContext.Http().SetHttpResponseMessage(HttpResponse); end; - procedure SendBatch(var EDocuments: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) - begin - IsAsync := false; - Error('Batch sending is not supported in this version'); - end; - - procedure GetResponse(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + procedure GetResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; SendContext: Codeunit SendContext): Boolean + var + HttpRequest: HttpRequestMessage; + HttpResponse: HttpResponseMessage; + Success: Boolean; begin - exit(PageroProcessing.GetDocumentResponse(EDocument, HttpRequest, HttpResponse)); + Success := PageroProcessing.GetDocumentResponse(EDocument, EDocumentService, HttpRequest, HttpResponse); + SendContext.Http().SetHttpRequestMessage(HttpRequest); + SendContext.Http().SetHttpResponseMessage(HttpResponse); + exit(Success); end; - procedure GetApproval(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + procedure ReceiveDocuments(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) begin - exit(PageroProcessing.GetDocumentApproval(EDocument, HttpRequest, HttpResponse)); + PageroProcessing.ReceiveDocument(EDocumentService, Documents, ReceiveContext); end; - procedure Cancel(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) begin - exit(PageroProcessing.CancelEDocument(EDocument, HttpRequest, HttpResponse)); + PageroProcessing.DownloadDocument(EDocument, EDocumentService, DocumentMetadataBlob, ReceiveContext); end; - procedure ReceiveDocument(var TempBlob: Codeunit "Temp Blob"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + procedure GetApprovalStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext) Success: Boolean + var + Status: Enum "E-Document Service Status"; + HttpRequest: HttpRequestMessage; + HttpResponse: HttpResponseMessage; begin - PageroProcessing.ReceiveDocument(TempBlob, HttpRequest, HttpResponse); + Success := PageroProcessing.GetDocumentApproval(EDocument, EDocumentService, HttpRequest, HttpResponse, Status); + ActionContext.Status().SetStatus(Status); + ActionContext.Http().SetHttpRequestMessage(HttpRequest); + ActionContext.Http().SetHttpResponseMessage(HttpResponse); end; - procedure GetDocumentCountInBatch(var TempBlob: Codeunit "Temp Blob"): Integer + procedure GetCancellationStatus(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; ActionContext: Codeunit ActionContext) Success: Boolean + var + Status: Enum "E-Document Service Status"; + HttpRequest: HttpRequestMessage; + HttpResponse: HttpResponseMessage; begin - exit(PageroProcessing.GetDocumentCountInBatch(TempBlob)); + Success := PageroProcessing.CancelEDocument(EDocument, EDocumentService, HttpRequest, HttpResponse, Status); + ActionContext.Status().SetStatus(Status); + ActionContext.Http().SetHttpRequestMessage(HttpRequest); + ActionContext.Http().SetHttpResponseMessage(HttpResponse); end; - procedure GetIntegrationSetup(var SetupPage: Integer; var SetupTable: Integer) + [EventSubscriber(ObjectType::Page, Page::"E-Document Service", OnBeforeOpenServiceIntegrationSetupPage, '', false, false)] + local procedure OnBeforeOpenServiceIntegrationSetupPage(EDocumentService: Record "E-Document Service"; var SetupPage: Integer) begin - SetupPage := page::"EDoc Ext Connection Setup Card"; - SetupTable := Database::"E-Doc. Ext. Connection Setup"; + if EDocumentService."Service Integration V2" = EDocumentService."Service Integration V2"::Pagero then + SetupPage := Page::"EDoc Ext Connection Setup Card"; end; var PageroProcessing: Codeunit "Pagero Processing"; + } \ No newline at end of file diff --git a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroProcessing.Codeunit.al b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroProcessing.Codeunit.al index 21defb4586..7ace2b9b34 100644 --- a/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroProcessing.Codeunit.al +++ b/Apps/W1/EDocumentsConnector/app/src/Pagero/PageroProcessing.Codeunit.al @@ -3,7 +3,9 @@ // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ namespace Microsoft.EServices.EDocumentConnector; + using Microsoft.EServices.EDocument; +using Microsoft.eServices.EDocument.Integration.Receive; using Microsoft.Foundation.AuditCodes; using Microsoft.Purchases.Document; using Microsoft.Utilities; @@ -17,16 +19,12 @@ codeunit 6369 "Pagero Processing" Permissions = tabledata "E-Document" = m, tabledata "E-Document Service Status" = m; - procedure SendEDocument(var EDocument: Record "E-Document"; var TempBlob: Codeunit "Temp Blob"; var IsAsync: Boolean; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + procedure SendEDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) var EDocumentServiceStatus: Record "E-Document Service Status"; - EdocumentService: Record "E-Document Service"; FeatureTelemetry: Codeunit "Feature Telemetry"; begin - IsAsync := true; - - EDocumentHelper.GetEdocumentService(EDocument, EdocumentService); - EDocumentServiceStatus.Get(EDocument."Entry No", EdocumentService.Code); + EDocumentServiceStatus.Get(EDocument."Entry No", EDocumentService.Code); case EDocumentServiceStatus.Status of EDocumentServiceStatus.Status::Exported: @@ -35,16 +33,15 @@ codeunit 6369 "Pagero Processing" if EDocument."File Id" = '' then SendEDocument(EDocument, TempBlob, HttpRequest, HttpResponse) else - RestartEDocument(EDocument, HttpRequest, HttpResponse); + RestartEDocument(EDocument, EDocumentService, HttpRequest, HttpResponse); end; FeatureTelemetry.LogUptake('0000MSC', ExternalServiceTok, Enum::"Feature Uptake Status"::Used); end; - procedure GetDocumentResponse(var EDocument: Record "E-Document"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean - var + procedure GetDocumentResponse(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage): Boolean begin - if not CheckIfDocumentStatusSuccessful(EDocument, HttpRequest, HttpResponse) then + if not CheckIfDocumentStatusSuccessful(EDocument, EDocumentService, HttpRequest, HttpResponse) then exit(false); if not PageroConnection.GetADocument(EDocument, HttpRequest, HttpResponse) then @@ -53,60 +50,61 @@ codeunit 6369 "Pagero Processing" exit(true); end; - procedure CancelEDocument(EDocument: Record "E-Document"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage): Boolean + procedure CancelEDocument(EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var Status: Enum "E-Document Service Status"): Boolean var - EDocumentService: Record "E-Document Service"; EDocumentServiceStatus: Record "E-Document Service Status"; begin - EDocumentHelper.GetEdocumentService(EDocument, EdocumentService); - EDocumentServiceStatus.Get(EDocument."Entry No", EdocumentService.Code); + EDocumentServiceStatus.Get(EDocument."Entry No", EDocumentService.Code); if not (EDocumentServiceStatus.Status in [EDocumentServiceStatus.Status::"Cancel Error", EDocumentServiceStatus.Status::"Sending Error"]) then Error(CancelCheckStatusErr, EDocumentServiceStatus.Status); - if PageroConnection.HandleSendActionRequest(EDocument, HttpRequest, HttpResponse, 'Cancel', false) then + if PageroConnection.HandleSendActionRequest(EDocument, HttpRequest, HttpResponse, 'Cancel', false) then begin + Status := Enum::"E-Document Service Status"::Canceled; exit(true); + end; + exit(false); end; - procedure RestartEDocument(EDocument: Record "E-Document"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage): Boolean - var - EDocumentService: Record "E-Document Service"; + procedure RestartEDocument(EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage): Boolean begin - EDocumentHelper.GetEdocumentService(EDocument, EdocumentService); - if EDocumentService."Service Integration" <> EDocumentService."Service Integration"::Pagero then + if (EDocumentService."Service Integration V2" <> EDocumentService."Service Integration V2"::Pagero) then exit; if PageroConnection.HandleSendActionRequest(EDocument, HttpRequest, HttpResponse, 'Restart', false) then exit(true); end; - procedure GetDocumentApproval(EDocument: Record "E-Document"; var HttpRequestMessage: HttpRequestMessage; var HttpResponseMessage: HttpResponseMessage): Boolean + procedure GetDocumentApproval(EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; HttpRequestMessage: HttpRequestMessage; HttpResponseMessage: HttpResponseMessage; var Status: Enum "E-Document Service Status"): Boolean var - EDocumentService: Record "E-Document Service"; EDocumentServiceStatus: Record "E-Document Service Status"; PageroAPIRequests: Codeunit "Pagero API Requests"; HttpContentResponse: HttpContent; - Status, StatusDescription : Text; + StatusText, StatusDescription : Text; begin - EDocumentHelper.GetEdocumentService(EDocument, EdocumentService); - EDocumentServiceStatus.Get(EDocument."Entry No", EdocumentService.Code); + EDocumentServiceStatus.Get(EDocument."Entry No", EDocumentService.Code); if EDocumentServiceStatus.Status <> EDocumentServiceStatus.Status::Sent then Error(GetApprovalCheckStatusErr, EDocumentServiceStatus.Status); PageroAPIRequests.GetADocument(EDocument, HttpRequestMessage, HttpResponseMessage); HttpContentResponse := HttpResponseMessage.Content; - if ParseGetADocumentApprovalResponse(HttpContentResponse, Status, StatusDescription) then - case Status of + if ParseGetADocumentApprovalResponse(HttpContentResponse, StatusText, StatusDescription) then + case StatusText of 'Accepted': - exit(true); + begin + Status := Enum::"E-Document Service Status"::Approved; + exit(true); + end; 'Rejected': begin + Status := Enum::"E-Document Service Status"::Rejected; if StatusDescription <> '' then - EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, 'Reason: ' + StatusDescription); - exit(false); + EDocumentErrorHelper.LogWarningMessage(EDocument, EDocument, EDocument."Entry No", 'Reason: ' + StatusDescription); + exit(true); end; end; + // Return false. We have no update for the document exit(false); end; @@ -182,18 +180,68 @@ codeunit 6369 "Pagero Processing" EDocumentLogHelper.InsertIntegrationLog(EDocument, EDocumentService, LocalHttpRequest, LocalHttpResponse); end; - procedure ReceiveDocument(var TempBlob: Codeunit "Temp Blob"; var HttpRequest: HttpRequestMessage; var HttpResponse: HttpResponseMessage) + procedure ReceiveDocument(var EDocumentService: Record "E-Document Service"; Documents: Codeunit "Temp Blob List"; ReceiveContext: Codeunit ReceiveContext) var + TempBlob: Codeunit "Temp Blob"; ContentData: Text; OutStream: OutStream; + HttpRequest: HttpRequestMessage; + HttpResponse: HttpResponseMessage; + JsonObject, ItemMetaData : JsonObject; + Items: JsonArray; + Item: Text; + I: Integer; begin if not PageroConnection.GetReceivedDocuments(HttpRequest, HttpResponse, true) then exit; HttpResponse.Content.ReadAs(ContentData); + JsonObject.ReadFrom(ContentData); + Items := JsonObject.GetArray('items'); + + for I := 1 to Items.Count() do begin + Clear(TempBlob); + TempBlob.CreateOutStream(OutStream, TextEncoding::UTF8); + ItemMetaData := Items.GetObject(I); + ItemMetaData.WriteTo(Item); + OutStream.Write(Item); + Documents.Add(TempBlob); + end; - TempBlob.CreateOutStream(OutStream, TextEncoding::UTF8); - OutStream.WriteText(ContentData); + ReceiveContext.Http().SetHttpRequestMessage(HttpRequest); + ReceiveContext.Http().SetHttpResponseMessage(HttpResponse); + end; + + procedure DownloadDocument(var EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; DocumentMetadataBlob: Codeunit "Temp Blob"; ReceiveContext: Codeunit ReceiveContext) + var + DocumentOutStream: OutStream; + Instream: InStream; + HttpRequest: HttpRequestMessage; + HttpResponse: HttpResponseMessage; + ItemObject: JsonObject; + ContentData, DocumentId, FileId : Text; + begin + DocumentMetadataBlob.CreateInStream(Instream); + Instream.ReadText(ContentData); + ItemObject.ReadFrom(ContentData); + DocumentId := ItemObject.GetText('id'); + FileId := ItemObject.GetText('fileId'); + + PageroConnection.HandleGetTargetDocumentRequest(DocumentId, HttpRequest, HttpResponse, false); + + HttpResponse.Content.ReadAs(ContentData); + if ContentData = '' then + EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, StrSubstNo(CouldNotRetrieveDocumentErr, DocumentId)); + + ReceiveContext.GetTempBlob().CreateOutStream(DocumentOutStream, TextEncoding::UTF8); + DocumentOutStream.WriteText(ContentData); + + FetchEDocument(EDocument, EDocumentService, DocumentId); + + EDocument."Document Id" := CopyStr(DocumentId, 1, MaxStrLen(EDocument."Document Id")); + EDocument."File Id" := CopyStr(FileId, 1, MaxStrLen(EDocument."File Id")); + ReceiveContext.Http().SetHttpRequestMessage(HttpRequest); + ReceiveContext.Http().SetHttpResponseMessage(HttpResponse); end; procedure ApproveEDocument(EDocument: Record "E-Document") @@ -312,8 +360,7 @@ codeunit 6369 "Pagero Processing" procedure GetDocumentCountInBatch(var TempBlob: Codeunit "Temp Blob"): Integer var ResponseInstream: InStream; - ResponseTxt: - Text; + ResponseTxt: Text; begin TempBlob.CreateInStream(ResponseInstream); ResponseInstream.ReadText(ResponseTxt); @@ -330,32 +377,6 @@ codeunit 6369 "Pagero Processing" SetEDocumentFileID(EDocument."Entry No", ParseSendFileResponse(HttpContentResponse)); end; - local procedure ParseReceivedDocument(InputTxt: Text; Index: Integer; var DocumentId: Text; var FileId: Text): Boolean - var - JsonManagement: Codeunit "JSON Management"; - JsonManagement2: Codeunit "JSON Management"; - IncrementalTable: Text; - Value: Text; - begin - if not JsonManagement.InitializeFromString(InputTxt) then - exit(false); - - JsonManagement.GetArrayPropertyValueAsStringByName('items', Value); - JsonManagement.InitializeCollection(Value); - - if Index = 0 then - Index := 1; - - if Index > JsonManagement.GetCollectionCount() then - exit(false); - - JsonManagement.GetObjectFromCollectionByIndex(IncrementalTable, Index - 1); - JsonManagement2.InitializeObject(IncrementalTable); - JsonManagement2.GetArrayPropertyValueAsStringByName('id', DocumentId); - JsonManagement2.GetArrayPropertyValueAsStringByName('fileId', FileId); - exit(true); - end; - local procedure GetNumberOfReceivedDocuments(InputTxt: Text): Integer var JsonManagement: Codeunit "JSON Management"; @@ -370,9 +391,8 @@ codeunit 6369 "Pagero Processing" exit(JsonManagement.GetCollectionCount()); end; - local procedure CheckIfDocumentStatusSuccessful(EDocument: Record "E-Document"; var HttpRequestMessage: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean + local procedure CheckIfDocumentStatusSuccessful(EDocument: Record "E-Document"; var EDocumentService: Record "E-Document Service"; var HttpRequestMessage: HttpRequestMessage; var HttpResponse: HttpResponseMessage): Boolean var - EDocumentService: Record "E-Document Service"; Telemetry: Codeunit Telemetry; Status, FilepartID, ErrorDescription : Text; begin @@ -380,7 +400,6 @@ codeunit 6369 "Pagero Processing" exit(false); if IsFilePartsDocumentProcessed(HttpResponse, Status, FilepartID, ErrorDescription) then begin - EDocumentHelper.GetEdocumentService(EDocument, EDocumentService); EDocumentLogHelper.InsertIntegrationLog(EDocument, EDocumentService, HttpRequestMessage, HttpResponse); exit(true); end; @@ -595,58 +614,6 @@ codeunit 6369 "Pagero Processing" EDocumentServices.GetRecord(EDocumentService); end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Integration Management", 'OnGetEDocumentApprovalReturnsFalse', '', false, false)] - local procedure OnGetEDocumentApprovalReturnsFalse(EDocuments: Record "E-Document"; EDocumentService: Record "E-Document Service"; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage; var IsHandled: Boolean) - var - HttpContentResponse: HttpContent; - Status, StatusDescription : Text; - begin - if EDocumentService."Service Integration" <> EDocumentService."Service Integration"::Pagero then - exit; - - HttpContentResponse := HttpResponse.Content; - if not ParseGetADocumentApprovalResponse(HttpContentResponse, Status, StatusDescription) then - IsHandled := true; - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"E-Doc. Import", 'OnAfterInsertImportedEdocument', '', false, false)] - local procedure OnAfterInsertEdocument(var EDocument: Record "E-Document"; EDocumentService: Record "E-Document Service"; var TempBlob: Codeunit "Temp Blob"; EDocCount: Integer; HttpRequest: HttpRequestMessage; HttpResponse: HttpResponseMessage) - var - LocalHttpRequest: HttpRequestMessage; - LocalHttpResponse: HttpResponseMessage; - DocumentOutStream: OutStream; - ContentData, DocumentId, FileId : Text; - begin - if EDocumentService."Service Integration" <> EDocumentService."Service Integration"::Pagero then - exit; - - HttpResponse.Content.ReadAs(ContentData); - if not ParseReceivedDocument(ContentData, EDocument."Index In Batch", DocumentId, FileId) then begin - EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, DocumentIdNotFoundErr); - exit; - end; - - PageroConnection.HandleGetTargetDocumentRequest(DocumentId, LocalHttpRequest, LocalHttpResponse, false); - EDocumentLogHelper.InsertIntegrationLog(EDocument, EDocumentService, LocalHttpRequest, LocalHttpResponse); - - LocalHttpResponse.Content.ReadAs(ContentData); - if ContentData = '' then - EDocumentErrorHelper.LogSimpleErrorMessage(EDocument, StrSubstNo(CouldNotRetrieveDocumentErr, DocumentId)); - - Clear(TempBlob); - TempBlob.CreateOutStream(DocumentOutStream, TextEncoding::UTF8); - DocumentOutStream.WriteText(ContentData); - - FetchEDocument(EDocument, EDocumentService, DocumentId); - - EDocument."Document Id" := CopyStr(DocumentId, 1, MaxStrLen(EDocument."Document Id")); - EDocument."File Id" := CopyStr(FileId, 1, MaxStrLen(EDocument."File Id")); - - EDocumentLogHelper.InsertLog(EDocument, EDocumentService, TempBlob, "E-Document Service Status"::Imported); - end; - - var PageroConnection: Codeunit "Pagero Connection"; EDocumentHelper: Codeunit "E-Document Helper"; @@ -656,7 +623,7 @@ codeunit 6369 "Pagero Processing" SendApproveRejectCheckStatusErr: Label 'You cannot send %1 response with the E-Socument in this current status %2. You can send response when E-document status is ''Imported Document Created''.', Comment = '%1 - Action response, %2 - Status'; CancelCheckStatusErr: Label 'You cannot ask for cancel with the E-Document in this current status %1. You can request for cancel when E-document status is ''Cancel Error'' or ''Sending Error''.', Comment = '%1 - Status'; CouldNotRetrieveDocumentErr: Label 'Could not retrieve document with id: %1 from the service', Comment = '%1 - Document ID'; - DocumentIdNotFoundErr: Label 'Document ID not found in response'; + //DocumentIdNotFoundErr: Label 'Document ID not found in response'; ParseErr: Label 'Failed to parse document from Pagero API'; CannotRejectErr: Label 'Failed to delete purchase document %1 as it is currently linked to another E-Document %2', Comment = '%1 - Purchase header Document No., %2 - E-Document Entry No.'; WrongParseStatusErr: Label 'Got unexected status from Pagero API: %1', Comment = '%1 - Status that we received from API', Locked = true; diff --git a/Apps/W1/EDocumentsConnector/app/src/Pagero/Upgrade.Codeunit.al b/Apps/W1/EDocumentsConnector/app/src/Pagero/Upgrade.Codeunit.al new file mode 100644 index 0000000000..3e51af7f00 --- /dev/null +++ b/Apps/W1/EDocumentsConnector/app/src/Pagero/Upgrade.Codeunit.al @@ -0,0 +1,66 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.EServices.EDocumentConnector; +using System.Upgrade; + +#if not CLEAN26 +using Microsoft.eServices.EDocument.Integration.Action; +using Microsoft.eServices.EDocument.Integration; +using Microsoft.eServices.EDocument; +#endif + +codeunit 6370 Upgrade +{ + Access = Internal; + Subtype = Upgrade; + + trigger OnUpgradePerCompany() + var + + begin +#if not CLEAN26 + // Upgrade code per company + UpdateServiceIntegration(); +#endif + + end; + +#if not CLEAN26 + local procedure UpdateServiceIntegration() + var + EDocumentService: Record "E-Document Service"; + UpgradeTag: Codeunit "Upgrade Tag"; + begin + if UpgradeTag.HasUpgradeTag(UpgradeServiceIntegrationTag()) then + exit; + + // 6361 - Pagero (removed) + EDocumentService.SetRange("Service Integration", 6361); + if EDocumentService.FindSet() then + repeat + EDocumentService."Service Integration V2" := Enum::"Service Integration"::Pagero; + EDocumentService."Sent Actions Integration" := Enum::"Sent Document Actions"::Pagero; + EDocumentService."Service Integration" := Enum::"E-Document Integration"::"No Integration"; + EDocumentService.Modify(); + until EDocumentService.Next() = 0; + + UpgradeTag.SetUpgradeTag(UpgradeServiceIntegrationTag()); + end; +#endif + + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] + local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) + begin + PerCompanyUpgradeTags.Add(UpgradeServiceIntegrationTag()); + end; + + local procedure UpgradeServiceIntegrationTag(): Code[250] + begin + exit('MS-547765-UpdateServiceIntegrationPagero-20241118'); + end; + + +} \ No newline at end of file diff --git a/Apps/W1/Email - Outlook REST API/app/src/EmailOutlookAccount.Table.al b/Apps/W1/Email - Outlook REST API/app/src/EmailOutlookAccount.Table.al index 6500645790..3acdd30e08 100644 --- a/Apps/W1/Email - Outlook REST API/app/src/EmailOutlookAccount.Table.al +++ b/Apps/W1/Email - Outlook REST API/app/src/EmailOutlookAccount.Table.al @@ -31,15 +31,6 @@ table 4508 "Email - Outlook Account" { DataClassification = SystemMetadata; } -#if not CLEANSCHEMA20 - field(5; "Created By"; Text[50]) - { - DataClassification = EndUserIdentifiableInformation; - ObsoleteReason = 'Unused, can be replaced by SystemCreatedBy and correlate with the User table''s User Security Id.'; - ObsoleteState = Removed; - ObsoleteTag = '20.0'; - } -#endif } keys diff --git a/Apps/W1/Email - SMTP Connector/app/src/SMTPAccount.table.al b/Apps/W1/Email - SMTP Connector/app/src/SMTPAccount.table.al index 6ebd5f9389..4d76ac29ab 100644 --- a/Apps/W1/Email - SMTP Connector/app/src/SMTPAccount.table.al +++ b/Apps/W1/Email - SMTP Connector/app/src/SMTPAccount.table.al @@ -103,15 +103,6 @@ table 4511 "SMTP Account" { DataClassification = CustomerContent; } -#if not CLEANSCHEMA20 - field(12; "Created By"; Text[50]) - { - DataClassification = EndUserIdentifiableInformation; - ObsoleteReason = 'Unused, can be replaced by SystemCreatedBy and correlate with the User table''s User Security Id.'; - ObsoleteState = Removed; - ObsoleteTag = '20.0'; - } -#endif field(13; "Authentication Type"; Enum "SMTP Authentication Types") { DataClassification = CustomerContent; diff --git a/Apps/W1/EssentialBusinessHeadlines/app/src/tables/EssBusinessHeadlinePerUsr.Table.al b/Apps/W1/EssentialBusinessHeadlines/app/src/tables/EssBusinessHeadlinePerUsr.Table.al index 7b220895b5..2b17973352 100644 --- a/Apps/W1/EssentialBusinessHeadlines/app/src/tables/EssBusinessHeadlinePerUsr.Table.al +++ b/Apps/W1/EssentialBusinessHeadlines/app/src/tables/EssBusinessHeadlinePerUsr.Table.al @@ -22,15 +22,6 @@ table 1436 "Ess. Business Headline Per Usr" { DataClassification = SystemMetadata; } -#if not CLEANSCHEMA18 - field(4; "Headline Computation Date"; DateTime) - { - DataClassification = SystemMetadata; - ObsoleteState = Removed; - ObsoleteReason = 'Replaced with the Last Computed field on the RC Headlines User Data table'; - ObsoleteTag = '18.0'; - } -#endif field(5; "Headline Computation WorkDate"; Date) { DataClassification = SystemMetadata; @@ -67,4 +58,4 @@ table 1436 "Ess. Business Headline Per Usr" if not Insert() then exit; end; end; -} +} \ No newline at end of file diff --git a/Apps/W1/EssentialBusinessHeadlines/app/src/tables/EssentialBusinessHeadline.Table.al b/Apps/W1/EssentialBusinessHeadlines/app/src/tables/EssentialBusinessHeadline.Table.al deleted file mode 100644 index 6dd6cf2632..0000000000 --- a/Apps/W1/EssentialBusinessHeadlines/app/src/tables/EssentialBusinessHeadline.Table.al +++ /dev/null @@ -1,64 +0,0 @@ -#if not CLEANSCHEMA18 -// ------------------------------------------------------------------------------------------------ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// ------------------------------------------------------------------------------------------------ - -namespace System.Visualization; - -table 1438 "Essential Business Headline" -{ - ObsoleteState = Removed; - ObsoleteReason = 'Should be per user'; - ObsoleteTag = '18.0'; - - fields - { - - field(1; "Headline Name"; Option) - { - OptionMembers = MostPopularItem,BusiestResource,LargestSale,LargestOrder,SalesIncrease,TopCustomer; - } - - field(2; "Headline Text"; Text[250]) - { - DataClassification = CustomerContent; - } - field(3; "Headline Visible"; Boolean) - { - DataClassification = SystemMetadata; - } - field(4; "Headline Computation Date"; DateTime) - { - DataClassification = SystemMetadata; - } - - field(5; "Headline Computation WorkDate"; Date) - { - DataClassification = SystemMetadata; - } - - field(6; "Headline Computation Period"; Integer) - { - DataClassification = SystemMetadata; - } - } - - keys - { - key(PK; "Headline Name") - { - Clustered = true; - } - } - - procedure GetOrCreateHeadline(HeadlineName: Option) - begin - if not Get(HeadlineName) then begin - Init(); - Validate("Headline Name", HeadlineName); - if not Insert() then exit; - end; - end; -} -#endif \ No newline at end of file diff --git a/Apps/W1/EssentialBusinessHeadlines/app/src/tables/HeadlineDetails.Table.al b/Apps/W1/EssentialBusinessHeadlines/app/src/tables/HeadlineDetails.Table.al deleted file mode 100644 index f7a55977ab..0000000000 --- a/Apps/W1/EssentialBusinessHeadlines/app/src/tables/HeadlineDetails.Table.al +++ /dev/null @@ -1,61 +0,0 @@ -#if not CLEANSCHEMA18 -// ------------------------------------------------------------------------------------------------ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// ------------------------------------------------------------------------------------------------ - -namespace System.Visualization; - -table 1439 "Headline Details" -{ - DataClassification = CustomerContent; - - ObsoleteState = Removed; - ObsoleteReason = 'Should be per user'; - ObsoleteTag = '18.0'; - - fields - { - field(1; "No."; Code[10]) - { - - DataClassification = CustomerContent; - } - - field(2; Name; Text[100]) - { - - DataClassification = CustomerContent; - } - - field(3; Quantity; Decimal) - { - DataClassification = CustomerContent; - } - - field(4; "Unit of Measure"; Code[10]) - { - DataClassification = CustomerContent; - } - - field(5; "Amount (LCY)"; Decimal) - { - DataClassification = CustomerContent; - } - - field(6; "Type"; Option) - { - OptionMembers = Item,Resource,Customer; - DataClassification = CustomerContent; - } - } - - keys - { - key(PK; "No.") - { - Clustered = true; - } - } -} -#endif \ No newline at end of file diff --git a/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al b/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al index 804e6f6f22..44211d3f51 100644 --- a/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al +++ b/Apps/W1/HybridBCLast/app/src/codeunits/W1Management.Codeunit.al @@ -475,7 +475,11 @@ codeunit 4026 "W1 Management" local procedure HandleOnSelectedProduct(ProductId: Text) var HybridCompanyStatus: Record "Hybrid Company Status"; + HybridBCLastWizard: Codeunit "Hybrid BC Last Wizard"; begin + if ProductId <> HybridBCLastWizard.ProductId() then + exit; + HybridCompanyStatus.SetRange("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Completed); if not HybridCompanyStatus.IsEmpty() then Error(CannotStartReplicationUpgradeCompletedErr); diff --git a/Apps/W1/HybridBaseDeployment/app/src/codeunits/CloudMigReplicateDataMgt.Codeunit.al b/Apps/W1/HybridBaseDeployment/app/src/codeunits/CloudMigReplicateDataMgt.Codeunit.al index a4b9963d3d..eb5fb8687f 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/codeunits/CloudMigReplicateDataMgt.Codeunit.al +++ b/Apps/W1/HybridBaseDeployment/app/src/codeunits/CloudMigReplicateDataMgt.Codeunit.al @@ -157,7 +157,7 @@ codeunit 40021 "Cloud Mig. Replicate Data Mgt." procedure ShowDocumentation(Notification: Notification) begin - HyperLink(DocumentationURLLbl); + HyperLink(OverrideReplicationSetupDocumentationURLLbl); end; procedure DontShowDocumentationNotificationAgain(Notification: Notification) @@ -166,7 +166,7 @@ codeunit 40021 "Cloud Mig. Replicate Data Mgt." begin if not MyNotifications.SetStatus(GetDocumentationNotificationID(), false) then MyNotifications.InsertDefault( - GetDocumentationNotificationID(), DocumentationNotificationTxt, DocumentationNotificationDescriptionTxt, false); + GetDocumentationNotificationID(), OverrideReplicationSeteupDocumentationNotificationTxt, OverrideReplicationSetupDocumentationNotificationDescriptionTxt, false); end; local procedure InsertInitialLog(var IntelligentCloudStatus: Record "Intelligent Cloud Status") @@ -182,6 +182,43 @@ codeunit 40021 "Cloud Mig. Replicate Data Mgt." end; end; + local procedure GetAddTableMappingsNotificationID(): Guid + begin + exit('16fd70ce-a173-4068-a3b7-305429a0054f') + end; + + internal procedure ShowAddTableMappingsNotification() + var + MyNotifications: Record "My Notifications"; + AddTableMappingsNotification: Notification; + begin + if MyNotifications.Get(UserId(), GetAddTableMappingsNotificationID()) then + if MyNotifications.Enabled = false then + exit; + + AddTableMappingsNotification.Id := GetAddTableMappingsNotificationID(); + if AddTableMappingsNotification.Recall() then; + AddTableMappingsNotification.Message(AddTableMappingsNotificationMessageTxt); + AddTableMappingsNotification.Scope(NotificationScope::LocalScope); + AddTableMappingsNotification.AddAction(LearnMoreTxt, Codeunit::"Cloud Mig. Replicate Data Mgt.", 'ShowDocumentation'); + AddTableMappingsNotification.AddAction(DontShowAgainTxt, Codeunit::"Cloud Mig. Replicate Data Mgt.", 'DontShowAddTableMappingsNotificationAgain'); + AddTableMappingsNotification.Send(); + end; + + procedure ShowAddTableMappingsNotificationDocumentation(Notification: Notification) + begin + HyperLink(AddMigrationTableMappingsDocumentationURLLbl); + end; + + procedure DontShowAddTableMappingsNotificationAgain(Notification: Notification) + var + MyNotifications: Record "My Notifications"; + begin + if not MyNotifications.SetStatus(GetAddTableMappingsNotificationID(), false) then + MyNotifications.InsertDefault( + GetAddTableMappingsNotificationID(), AddTableMappingsNotificationTitleTxt, AddTableMappingsDescriptionTxt, false); + end; + local procedure InsertResetToDefaultLog(var IntelligentCloudStatus: Record "Intelligent Cloud Status") var CloudMigrationOverrideLogInitialEntry: Record "Cloud Migration Override Log"; @@ -327,9 +364,10 @@ codeunit 40021 "Cloud Mig. Replicate Data Mgt." var TableReplicationPropertiesCannotBeChangedErr: Label 'The replication properties of the table %1 cannot be changed because it is internal. Changing the replication of the sensitive tables is not allowed.', Comment = '%1 - Table name, e.g. CRONUS International Ltd_$Activity Step$437dbf0e-84ff-417a-965d-ed2bb9650972'; - DocumentationURLLbl: Label 'https://go.microsoft.com/fwlink/?linkid=2248572', Locked = true; - DocumentationNotificationTxt: Label 'Cloud Mig. Replication Rules'; - DocumentationNotificationDescriptionTxt: Label 'Notification to learn more about how to configure which data is replicated and how.'; + OverrideReplicationSetupDocumentationURLLbl: Label 'https://go.microsoft.com/fwlink/?linkid=2248572', Locked = true; + AddMigrationTableMappingsDocumentationURLLbl: Label 'https://go.microsoft.com/fwlink/?linkid=2296587', Locked = true; + OverrideReplicationSeteupDocumentationNotificationTxt: Label 'Cloud Mig. Replication Rules'; + OverrideReplicationSetupDocumentationNotificationDescriptionTxt: Label 'Notification to learn more about how to configure which data is replicated and how.'; LearnMoreTxt: Label 'Learn more'; DontShowAgainTxt: Label 'Don''t show again'; NotPossibleToReplaceTenantMediaTableErr: Label 'It is not possible to overwrite the data in the Tenant Media table as it contains the data needed for the system to run correctly.'; @@ -337,4 +375,7 @@ codeunit 40021 "Cloud Mig. Replicate Data Mgt." NotPossibleToDeltaSyncDataPerCompanyErr: Label 'Delta syncing per-company data is not supported. This process is not supported by the service, because it could result in slower replication and incorrect data replication.'; ChangedReplicationPropertyLbl: Label 'The replication property has been changed.', Locked = true; ChangedPreserveCloudDataPropertyLbl: Label 'The Preserve Cloud Data property has been changed.', Locked = true; + AddTableMappingsNotificationMessageTxt: Label 'We strongly recommend using "Add Table Mappings" action to add table mapping definitions. It will help you to enter the table mappings correctly and avoid any issues during replication.'; + AddTableMappingsNotificationTitleTxt: Label 'Add Migration Table Mappings'; + AddTableMappingsDescriptionTxt: Label 'Notification to learn more about how to configure table mappings instead of entering the data manually.'; } \ No newline at end of file diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudDetails.Page.al b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudDetails.Page.al index 01d11ad5c5..b331798799 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudDetails.Page.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/IntelligentCloudDetails.Page.al @@ -351,5 +351,5 @@ page 4006 "Intelligent Cloud Details" UnblockTableVisible: Boolean; LatestStatusTxt: Text; LatestStatusExpr: Text; - CouldNotReadTargetTableCountLbl: Label 'Could not get the target table count.;'; + CouldNotReadTargetTableCountLbl: Label 'The total of records in the target table is unavailable since the table is protected, so it isn''t possible to calculate if there is a difference to the source table. Instead, check the number of records that were migrated in the last run.;'; } diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableMapping.Page.al b/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableMapping.Page.al index 076fd3b646..3ef0c548d9 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableMapping.Page.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableMapping.Page.al @@ -315,6 +315,17 @@ page 4009 "Migration Table Mapping" Clear(ExtensionName); end; + trigger OnInsertRecord(BelowxRec: Boolean): Boolean + var + CloudMigReplicateDataMgt: Codeunit "Cloud Mig. Replicate Data Mgt."; + begin + if Rec."Target Table Type" = Rec."Target Table Type"::"Table Extension" then + Error(MustUseAddTableMappingsErr); + + if IsBCCloudMigration then + CloudMigReplicateDataMgt.ShowAddTableMappingsNotification(); + end; + trigger OnAfterGetRecord() begin Rec.CalcFields("Extension Package ID"); @@ -334,4 +345,5 @@ page 4009 "Migration Table Mapping" SourceTableAppID: Text; NoTablesInExtensionMsg: Label 'No tables exist in the specified extension.'; ResetToDefaultsQst: Label 'All current table mappings for Cloud Migration will be deleted and replaced with the default values.\\Do you want to continue?'; + MustUseAddTableMappingsErr: Label 'You must use the "Add Table Mappings" action to add table mappings for Table Extensions. For more information see https://go.microsoft.com/fwlink/?linkid=2296587.'; } diff --git a/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableOverview.Page.al b/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableOverview.Page.al index 9f99d4c4eb..d1957fcbc8 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableOverview.Page.al +++ b/Apps/W1/HybridBaseDeployment/app/src/pages/MigrationTableOverview.Page.al @@ -183,7 +183,7 @@ page 40034 "Migration Table Overview" var AllObj: Record AllObj; - CouldNotReadTargetTableCountLbl: Label 'Could not get the target table count.'; + CouldNotReadTargetTableCountLbl: Label 'The total of records in the target table is unavailable since the table is protected, so it isn''t possible to calculate if there is a difference to the source table. Instead, check the number of records that were migrated in the last run.'; CompanyFilterDisplayName: Text; TableNameFilter: Text; StatusExpr: Text; diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationDetail.Table.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationDetail.Table.al index 7e123bf77b..15a4dd96e6 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationDetail.Table.al +++ b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationDetail.Table.al @@ -48,16 +48,6 @@ table 4002 "Hybrid Replication Detail" OptionCaption = 'Failed,In Progress,Successful,Warning,Not Started'; DataClassification = SystemMetadata; } -#if not CLEANSCHEMA16 - field(10; "Errors"; Blob) - { - Description = 'Any errors that occured during the replication.'; - DataClassification = SystemMetadata; - ObsoleteReason = 'Moved to the "Error Message" text field.'; - ObsoleteState = Removed; - ObsoleteTag = '16.0'; - } -#endif field(11; "Error Code"; Text[10]) { Description = 'The error code for any errors that occured during the replication.'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationSummary.Table.al b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationSummary.Table.al index 1009341d68..1d8ec33430 100644 --- a/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationSummary.Table.al +++ b/Apps/W1/HybridBaseDeployment/app/src/tables/HybridReplicationSummary.Table.al @@ -28,17 +28,6 @@ table 4001 "Hybrid Replication Summary" Description = 'The end date time of the replication run.'; DataClassification = SystemMetadata; } -#if not CLEANSCHEMA15 - field(4; "Replication Type"; Option) - { - Description = 'The type of trigger for the replication run.'; - OptionMembers = Scheduled,Manual; - DataClassification = SystemMetadata; - ObsoleteState = Removed; - ObsoleteReason = 'Moved to Trigger Type'; - ObsoleteTag = '15.4'; - } -#endif field(5; "Status"; Option) { Description = 'The status of the replication run.'; diff --git a/Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudTableStatus.Table.al b/Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudTableStatus.Table.al deleted file mode 100644 index f3ba5cf81d..0000000000 --- a/Apps/W1/HybridBaseDeployment/app/src/tables/IntelligentCloudTableStatus.Table.al +++ /dev/null @@ -1,56 +0,0 @@ -#if not CLEANSCHEMA16 -namespace Microsoft.DataMigration; - -table 4010 "Intelligent Cloud Table Status" -{ - DataPerCompany = false; - ReplicateData = false; - ObsoleteState = Removed; - ObsoleteReason = 'With Text[>100] available, this table is obsolete in favor of Hybrid Replication Detail.'; - ObsoleteTag = '16.0'; - Extensible = false; - - fields - { - field(1; "Run ID"; Text[50]) - { - Description = 'The ID of the replication run.'; - DataClassification = SystemMetadata; - } - field(2; "Table Name"; Text[128]) - { - Description = 'The name of the table that was replicated.'; - DataClassification = SystemMetadata; - } - field(3; "Company Name"; Text[30]) - { - Description = 'The name of the company for which the table data was replicated.'; - DataClassification = SystemMetadata; - } - field(4; "New Version"; BigInteger) - { - Description = 'The new version of the data that was replicated.'; - DataClassification = SystemMetadata; - - } - field(5; "Error Code"; Text[10]) - { - Description = 'The error code for any errors that occured during the replication.'; - DataClassification = SystemMetadata; - } - field(6; "Error Message"; Text[2048]) - { - Description = 'Any errors that occured during the replication.'; - DataClassification = SystemMetadata; - } - } - - keys - { - key(PK; "Run ID", "Table Name", "Company Name") - { - Clustered = true; - } - } -} -#endif \ No newline at end of file diff --git a/Apps/W1/HybridBaseDeployment/test/src/ReplicationMgtPageTests.Codeunit.al b/Apps/W1/HybridBaseDeployment/test/src/ReplicationMgtPageTests.Codeunit.al index 90940306c8..9cbdade6c4 100644 --- a/Apps/W1/HybridBaseDeployment/test/src/ReplicationMgtPageTests.Codeunit.al +++ b/Apps/W1/HybridBaseDeployment/test/src/ReplicationMgtPageTests.Codeunit.al @@ -31,6 +31,7 @@ codeunit 139653 "Replication Mgt Page Tests" IntelligentCloudSetup."Deployed Version" := 'V1.0'; IntelligentCloudSetup."Latest Version" := 'V2.0'; IntelligentCloudSetup.Insert(); + LibraryVariableStorage.AssertEmpty(); if Initialized then exit; @@ -369,44 +370,6 @@ codeunit 139653 "Replication Mgt Page Tests" Assert.IsTrue(MigrationTableMappingRec.IsEmpty(), 'Mapping table should be empty.'); end; - [Test] - procedure ProvideMappingForTableExtension() - var - MigrationTableMappingRec: Record "Migration Table Mapping"; - AllObj: Record AllObj; - PublishedApplication: Record "Published Application"; - LibraryRandom: Codeunit "Library - Random"; - MigrationTableMapping: TestPage "Migration Table Mapping"; - SourceTableName: Text; - begin - // [SCENARIO] User can choose to delete all mapping records for a given extension - - // [GIVEN] The intelligent cloud is set up - Initialize(true); - MigrationTableMappingRec.DeleteAll(); - - // [GIVEN] A Table extension - AllObj.SetRange("Object Type", AllObj."Object Type"::"TableExtension"); - if not AllObj.FindFirst() then - exit; - - PublishedApplication.SetRange("Package ID", AllObj."App Package ID"); - PublishedApplication.FindFirst(); - - // [WHEN] User defines a table mapping via Migration Table Page - MigrationTableMapping.OpenEdit(); - MigrationTableMapping.New(); - MigrationTableMapping.TargetTableType.SetValue(MigrationTableMappingRec."Target Table Type"::"Table Extension"); - MigrationTableMapping."Extension Name".SetValue(PublishedApplication.Name); - MigrationTableMapping."Table Name".SetValue(AllObj.TableName); - SourceTableName := LibraryRandom.RandText(30); - MigrationTableMapping."Source Table Name".SetValue(SourceTableName); - MigrationTableMapping.Close(); - - // [THEN] A mapping record is created - VerifyTableMappingToExtension(MigrationTableMappingRec, PublishedApplication, SourceTableName); - end; - [Test] procedure TestParsingOfTheCALSourceTableNameUnitTest() var @@ -812,16 +775,6 @@ codeunit 139653 "Replication Mgt Page Tests" IntelligentCloudDetails.Close(); end; - local procedure VerifyTableMappingToExtension(MigrationTableMappingRec: Record "Migration Table Mapping"; PublishedApplication: Record "Published Application"; SourceTableName: Text) - begin - Assert.IsTrue(MigrationTableMappingRec.FindFirst(), 'The record was not created.'); - Assert.AreEqual(MigrationTableMappingRec."Target Table Type"::"Table Extension", MigrationTableMappingRec."Target Table Type", 'Target table type is not correct.'); - Assert.AreEqual(MigrationTableMappingRec."App ID", PublishedApplication.ID, 'App ID is not correct.'); - Assert.AreEqual(MigrationTableMappingRec."Source Table Name", SourceTableName, 'Source Table name is not correct.'); - Assert.AreEqual(MigrationTableMappingRec."Table Name", SourceTableName, 'Table Name is not correct.'); - Assert.AreEqual(MigrationTableMappingRec."Data Per Company", true, 'Data per company is not correct'); - end; - [ConfirmHandler] procedure ConfirmYesHandler(question: Text[1024]; var reply: Boolean) begin @@ -938,6 +891,7 @@ codeunit 139653 "Replication Mgt Page Tests" var Assert: Codeunit Assert; LibraryHybridManagement: Codeunit "Library - Hybrid Management"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; Initialized: Boolean; RunReplicationTxt: Label 'Replication has been successfully triggered; you can track the status on the management page.'; IntegrationKeyTxt: Label 'Primary key for the integration runtime is: %1', Comment = '%1 = Integration Runtime Key'; diff --git a/Apps/W1/HybridGP/app/src/Migration/Items/GPItemTransaction.table.al b/Apps/W1/HybridGP/app/src/Migration/Items/GPItemTransaction.table.al deleted file mode 100644 index 21d4dd2429..0000000000 --- a/Apps/W1/HybridGP/app/src/Migration/Items/GPItemTransaction.table.al +++ /dev/null @@ -1,79 +0,0 @@ -#if not CLEANSCHEMA16 -namespace Microsoft.DataMigration.GP; - -table 4098 "GP Item Transaction" -{ - ReplicateData = false; - ObsoleteState = Removed; - ObsoleteReason = 'This table is replaced by GP Item Transactions which includes additional field and modified primary key.'; - ObsoleteTag = '16.2'; - Extensible = false; - - fields - { - field(1; No; Code[75]) - { - Caption = 'Item Number'; - DataClassification = CustomerContent; - } - field(2; Location; Text[11]) - { - Caption = 'Transaction Location'; - DataClassification = CustomerContent; - } - field(3; DateReceived; Date) - { - Caption = 'Date Received'; - DataClassification = CustomerContent; - } - field(4; Quantity; Decimal) - { - Caption = 'Quantity'; - DataClassification = CustomerContent; - } - field(5; ReceiptNumber; Text[21]) - { - Caption = 'Receipt Number'; - DataClassification = CustomerContent; - } - field(6; SerialNumber; Text[21]) - { - Caption = 'Serial Number'; - DataClassification = CustomerContent; - } - field(7; LotNumber; Text[21]) - { - Caption = 'Lot Number'; - DataClassification = CustomerContent; - } - field(8; ExpirationDate; Date) - { - Caption = 'Expiration Date'; - DataClassification = CustomerContent; - } - field(9; UnitCost; Decimal) - { - Caption = 'Unit Cost'; - DataClassification = CustomerContent; - } - field(10; CurrentCost; Decimal) - { - Caption = 'Current Cost'; - DataClassification = CustomerContent; - } - field(11; StandardCost; Decimal) - { - Caption = 'Standard Cost'; - DataClassification = CustomerContent; - } - } - - keys - { - key(Key1; No, Location, DateReceived, Quantity, ReceiptNumber, SerialNumber, LotNumber) - { - Clustered = true; - } - } -} -#endif \ No newline at end of file diff --git a/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorAddress.table.al b/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorAddress.table.al index bce5d47467..28f4ae7447 100644 --- a/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorAddress.table.al +++ b/Apps/W1/HybridGP/app/src/Migration/Vendors/GPVendorAddress.table.al @@ -58,9 +58,4 @@ table 4049 "GP Vendor Address" Clustered = true; } } - - [Obsolete('Vendor address logic moved to the GP Vendor Migrator code unit.', '22.0')] - procedure MoveStagingData() - begin - end; } \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/ExtensionLogo.png b/Apps/W1/HybridSL/app/ExtensionLogo.png new file mode 100644 index 0000000000..5dc7f8c287 Binary files /dev/null and b/Apps/W1/HybridSL/app/ExtensionLogo.png differ diff --git a/Apps/W1/HybridSL/app/app.json b/Apps/W1/HybridSL/app/app.json new file mode 100644 index 0000000000..0615ac091b --- /dev/null +++ b/Apps/W1/HybridSL/app/app.json @@ -0,0 +1,49 @@ +{ + "id": "237981b4-9e3c-437c-9b92-988aae978e8f", + "name": "Dynamics SL Migration", + "publisher": "Microsoft", + "version": "26.0.0.0", + "brief": "Migrate Microsoft Dynamics SL Data to Dynamics 365 Business Central", + "description": "Enables users to migrate their Customers, Vendors, Items and Accounts from Microsoft Dynamics SL to Dynamics 365 Business Central along with opening balances for those master records. It also migrates historical data, including your SL Financial Transactions.", + "privacyStatement": "https://go.microsoft.com/fwlink/?LinkId=724009", + "EULA": "https://go.microsoft.com/fwlink/?linkid=2009120", + "help": "https://go.microsoft.com/fwlink/?linkid=2009037", + "contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2285106", + "url": "https://go.microsoft.com/fwlink/?LinkId=724011", + "logo": "ExtensionLogo.png", + + "screenshots": [], + "platform": "26.0.0.0", + "application": "26.0.0.0", + "dependencies": [ + { + "id": "58623bfa-0559-4bc2-ae1c-0979c29fd9e0", + "publisher": "Microsoft", + "name": "Intelligent Cloud Base", + "version": "26.0.0.0" + }, + { + "id": "4f3fe3fd-bdc4-4371-8579-d53820b93575", + "publisher": "Microsoft", + "name": "Dynamics SL Historical Data", + "version": "26.0.0.0" + } + ], + "idRanges": [ + { + "from": 47000, + "to": 47199 + } + ], + "resourceExposurePolicy": { + "allowDebugging": false, + "allowDownloadingSource": true, + "includeSourceInSymbolFile": true + }, + "target": "Cloud", + "features": [ + "TranslationFile", + "NoImplicitWith" + ], + "runtime": "14.0" +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccount.Table.al b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccount.Table.al new file mode 100644 index 0000000000..0722d34337 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccount.Table.al @@ -0,0 +1,193 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47006 "SL Account" +{ + Access = Internal; + Caption = 'SL Account'; + DataClassification = CustomerContent; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctType; Text[2]) + { + Caption = 'AcctType'; + } + field(3; Acct_Cat; Text[16]) + { + Caption = 'Acct_Cat'; + } + field(4; Acct_Cat_SW; Text[1]) + { + Caption = 'Acct_Cat_SW'; + } + field(5; Active; Integer) + { + Caption = 'Active'; + } + field(6; ClassID; Text[10]) + { + Caption = 'ClassID'; + } + field(7; ConsolAcct; Text[10]) + { + Caption = 'ConsolAcct'; + } + field(8; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(9; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(10; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(11; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(12; Descr; Text[30]) + { + Caption = 'Descr'; + } + field(13; Employ_Sw; Text[1]) + { + Caption = 'Employ_Sw'; + } + field(14; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(15; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(16; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(17; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(18; RatioGrp; Text[2]) + { + Caption = 'RatioGrp'; + } + field(19; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(20; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(21; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(22; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(23; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(24; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(25; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(26; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(27; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(28; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(29; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(30; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(31; SummPost; Text[1]) + { + Caption = 'SummPost'; + } + field(32; UnitofMeas; Text[6]) + { + Caption = 'UnitofMeas'; + } + field(33; Units_SW; Text[1]) + { + Caption = 'Units_SW'; + } + field(34; User1; Text[30]) + { + Caption = 'User1'; + } + field(35; User2; Text[30]) + { + Caption = 'User2'; + } + field(36; User3; Decimal) + { + Caption = 'User3'; + } + field(37; User4; Decimal) + { + Caption = 'User4'; + } + field(38; User5; Text[10]) + { + Caption = 'User5'; + } + field(39; User6; Text[10]) + { + Caption = 'User6'; + } + field(40; User7; DateTime) + { + Caption = 'User7'; + } + field(41; User8; DateTime) + { + Caption = 'User8'; + } + field(42; ValidateID; Text[1]) + { + Caption = 'ValidateID'; + } + } + + keys + { + key(Key1; Acct) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountMigrator.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountMigrator.Codeunit.al new file mode 100644 index 0000000000..32006fb9be --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountMigrator.Codeunit.al @@ -0,0 +1,229 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Integration; +using Microsoft.Finance.GeneralLedger.Journal; +using Microsoft.Finance.Dimension; + +codeunit 47000 "SL Account Migrator" +{ + Access = Internal; + + var + PostingGroupCodeTxt: Label 'SL', Locked = true; + PostingGroupDescriptionTxt: Label 'Migrated from SL', Locked = true; + GlDocNoLbl: Label 'G000000001', Locked = true; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"GL Acc. Data Migration Facade", OnMigrateGlAccount, '', true, true)] + local procedure OnMigrateGlAccount(var Sender: Codeunit "GL Acc. Data Migration Facade"; RecordIdToMigrate: RecordId) + var + SLAccountStaging: Record "SL Account Staging"; + begin + if RecordIdToMigrate.TableNo <> Database::"SL Account Staging" then + exit; + SLAccountStaging.Get(RecordIdToMigrate); + MigrateAccountDetails(SLAccountStaging, Sender); + end; + + internal procedure MigrateAccountDetails(SLAccountStaging: Record "SL Account Staging"; GLAccDataMigrationFacade: Codeunit "GL Acc. Data Migration Facade") + var + HelperFunctions: Codeunit "SL Helper Functions"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + AccountNum: Code[20]; + AccountType: Option Posting; + begin + AccountNum := CopyStr(SLAccountStaging.AcctNum, 1, 20); + + if not GLAccDataMigrationFacade.CreateGLAccountIfNeeded(AccountNum, CopyStr(SLAccountStaging.Name, 1, 50), AccountType::Posting) then + exit; + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLAccountStaging.RecordId)); + GLAccDataMigrationFacade.SetAccountCategory(HelperFunctions.ConvertAccountCategory(SLAccountStaging)); + GLAccDataMigrationFacade.SetDebitCreditType(HelperFunctions.ConvertDebitCreditType(SLAccountStaging)); + GLAccDataMigrationFacade.SetIncomeBalanceType(HelperFunctions.ConvertIncomeBalanceType(SLAccountStaging)); + GLAccDataMigrationFacade.ModifyGLAccount(true); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"GL Acc. Data Migration Facade", OnMigrateAccountTransactions, '', true, true)] + local procedure OnMigrateAccountTransactions(var Sender: Codeunit "GL Acc. Data Migration Facade"; RecordIdToMigrate: RecordId) + var + SLAccountStaging: Record "SL Account Staging"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + begin + if RecordIdToMigrate.TableNo <> Database::"SL Account Staging" then + exit; + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + if SLCompanyAdditionalSettings.GetMigrateOnlyGLMaster() then + exit; + SLAccountStaging.Get(RecordIdToMigrate); + GenerateGLTransactionBatches(SLAccountStaging); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"GL Acc. Data Migration Facade", OnMigratePostingGroups, '', true, true)] + local procedure OnMigratePostingGroups(var Sender: Codeunit "GL Acc. Data Migration Facade"; RecordIdToMigrate: RecordId) + var + SLAccountStaging: Record "SL Account Staging"; + HelperFunctions: Codeunit "SL Helper Functions"; + begin + if RecordIdToMigrate.TableNo <> Database::"SL Account Staging" then + exit; + SLAccountStaging.Get(RecordIdToMigrate); + Sender.CreateGenBusinessPostingGroupIfNeeded(PostingGroupCodeTxt, PostingGroupDescriptionTxt); + Sender.CreateGenProductPostingGroupIfNeeded(PostingGroupCodeTxt, PostingGroupDescriptionTxt); + Sender.CreateGeneralPostingSetupIfNeeded(PostingGroupCodeTxt); + + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('SalesAccount') then + Sender.SetGeneralPostingSetupSalesAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('SalesAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('SalesLineDiscAccount') then + Sender.SetGeneralPostingSetupSalesLineDiscAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('SalesLineDiscAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('SalesInvDiscAccount') then + Sender.SetGeneralPostingSetupSalesInvDiscAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('SalesInvDiscAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('SalesPmtDiscDebitAccount') then + Sender.SetGeneralPostingSetupSalesPmtDiscDebitAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('SalesPmtDiscDebitAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('PurchAccount') then + Sender.SetGeneralPostingSetupPurchAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('PurchAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('PurchInvDiscAccount') then + Sender.SetGeneralPostingSetupPurchInvDiscAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('PurchInvDiscAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('COGSAccount') then + Sender.SetGeneralPostingSetupCOGSAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('COGSAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('InventoryAdjmtAccount') then + Sender.SetGeneralPostingSetupInventoryAdjmtAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('InventoryAdjmtAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('SalesCreditMemoAccount') then + Sender.SetGeneralPostingSetupSalesCreditMemoAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('SalesCreditMemoAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('PurchPmtDiscDebitAcc') then + Sender.SetGeneralPostingSetupPurchPmtDiscDebitAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('PurchPmtDiscDebitAcc')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('PurchPrepaymentsAccount') then + Sender.SetGeneralPostingSetupPurchPrepaymentsAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('PurchPrepaymentsAccount')); + if SLAccountStaging.AcctNum = HelperFunctions.GetPostingAccountNumber('PurchaseVarianceAccount') then + Sender.SetGeneralPostingSetupPurchaseVarianceAccount(PostingGroupCodeTxt, HelperFunctions.GetPostingAccountNumber('PurchaseVarianceAccount')); + Sender.ModifyGLAccount(true); + end; + + internal procedure GenerateGLTransactionBatches(SLAccountStaging: Record "SL Account Staging"); + var + MigrationSlAccountTrans: Record "SL AccountTransactions"; + GenJournalLine: Record "Gen. Journal Line"; + MigrationSLFiscalPeriods: Record "SL Fiscal Periods"; + DataMigrationFacadeHelper: Codeunit "Data Migration Facade Helper"; + DimSetID: Integer; + DescriptionTrxTxt: Label 'Migrated transaction', Locked = true; + PostingGroupCode: Text; + begin + MigrationSlAccountTrans.SetCurrentKey(Year, PERIODID, AcctNum); + MigrationSlAccountTrans.SetFilter(AcctNum, '= %1', SLAccountStaging.AcctNum); + if MigrationSlAccountTrans.FindSet() then + repeat + PostingGroupCode := 'SL' + Format(MigrationSlAccountTrans.Year) + '-' + Format(MigrationSlAccountTrans.PERIODID); + + if MigrationSlAccountTrans.Balance = 0 then + exit; + if MigrationSlAccountTrans.CreditAmount > 0 then + MigrationSlAccountTrans.Balance := (-1 * MigrationSlAccountTrans.Balance); + + CreateGeneralJournalBatchIfNeeded(CopyStr(PostingGroupCode, 1, 10)); + + if MigrationSLFiscalPeriods.Get(MigrationSlAccountTrans.PERIODID, MigrationSlAccountTrans.Year) then + DataMigrationFacadeHelper.CreateGeneralJournalLine( + GenJournalLine, + CopyStr(PostingGroupCode, 1, 10), + CopyStr(GlDocNoLbl, 1, 20), + CopyStr(DescriptionTrxTxt, 1, 50), + GenJournalLine."Account Type"::"G/L Account", + CopyStr(SLAccountStaging.AcctNum, 1, 20), + MigrationSLFiscalPeriods.PerEndDT, + 0D, + MigrationSlAccountTrans.Balance, + MigrationSlAccountTrans.Balance, + '', + ''); + DimSetID := CreateDimSet(MigrationSlAccountTrans); + GenJournalLine.Validate("Dimension Set ID", DimSetID); + GenJournalLine.Modify(true); + until MigrationSlAccountTrans.Next() = 0; + end; + + internal procedure CreateGeneralJournalBatchIfNeeded(GeneralJournalBatchCode: Code[10]) + var + GenJournalBatch: Record "Gen. Journal Batch"; + TemplateName: Code[10]; + begin + TemplateName := CreateGeneralJournalTemplateIfNeeded('GENERAL'); + GenJournalBatch.SetRange("Journal Template Name", TemplateName); + GenJournalBatch.SetRange(Name, GeneralJournalBatchCode); + if not GenJournalBatch.FindFirst() then begin + GenJournalBatch.Validate("Journal Template Name", TemplateName); + GenJournalBatch.SetupNewBatch(); + GenJournalBatch.Validate(Name, GeneralJournalBatchCode); + GenJournalBatch.Validate(Description, GeneralJournalBatchCode); + GenJournalBatch.Insert(true); + end; + end; + + internal procedure CreateGeneralJournalTemplateIfNeeded(GeneralJournalTemplateCode: Code[10]): Code[10] + var + GenJournalTemplate: Record "Gen. Journal Template"; + begin + GenJournalTemplate.SetRange(Type, GenJournalTemplate.Type::General); + GenJournalTemplate.SetRange(Name, GeneralJournalTemplateCode); + GenJournalTemplate.SetRange(Recurring, false); + if not GenJournalTemplate.FindFirst() then begin + GenJournalTemplate.Validate(Name, GeneralJournalTemplateCode); + GenJournalTemplate.Validate(Type, GenJournalTemplate.Type::General); + GenJournalTemplate.Validate(Recurring, false); + GenJournalTemplate.Insert(true); + end; + exit(GenJournalTemplate.Name); + end; + + internal procedure CreateDimSet(MigrationSlAccountTrans: Record "SL AccountTransactions"): Integer + var + TempDimensionSetEntry: Record "Dimension Set Entry" temporary; + DimensionValue: Record "Dimension Value"; + SLSegments: Record "SL Segments"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + DimensionManagement: Codeunit DimensionManagement; + NewDimSetID: Integer; + begin + SLSegments.SetCurrentKey(SLSegments.SegmentNumber); + SLSegments.Ascending(true); + if SLSegments.FindSet() then + repeat + DimensionValue.Get(SLHelperFunctions.CheckDimensionName(SLSegments.Id), GetSegmentValue(MigrationSlAccountTrans, SLSegments.SegmentNumber)); + TempDimensionSetEntry.Init(); + TempDimensionSetEntry.Validate("Dimension Code", DimensionValue."Dimension Code"); + TempDimensionSetEntry.Validate("Dimension Value Code", DimensionValue.Code); + TempDimensionSetEntry.Validate("Dimension Value ID", DimensionValue."Dimension Value ID"); + TempDimensionSetEntry.Insert(true); + until SLSegments.Next() = 0; + + NewDimSetID := DimensionManagement.GetDimensionSetID(TempDimensionSetEntry); + TempDimensionSetEntry.DeleteAll(); + exit(NewDimSetID); + end; + + internal procedure GetSegmentValue(MigrationSlAccountTrans: Record "SL AccountTransactions"; SegmentNumber: Integer): Code[20] + begin + case SegmentNumber of + 1: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_1, 1, 20)); + 2: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_2, 1, 20)); + 3: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_3, 1, 20)); + 4: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_4, 1, 20)); + 5: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_5, 1, 20)); + 6: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_6, 1, 20)); + 7: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_7, 1, 20)); + 8: + exit(CopyStr(MigrationSlAccountTrans.SubSegment_8, 1, 20)); + end; + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountStaging.Table.al b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountStaging.Table.al new file mode 100644 index 0000000000..b8c8a8d0ae --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountStaging.Table.al @@ -0,0 +1,60 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47000 "SL Account Staging" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AcctNum; Text[10]) + { + Caption = 'Account Number'; + } + field(2; Name; Text[30]) + { + Caption = 'Name'; + } + field(3; SearchName; Text[30]) + { + Caption = 'Search Name'; + } + field(4; AccountCategory; Integer) + { + Caption = 'Account Category'; + } + field(5; IncomeBalance; Boolean) + { + Caption = 'Income/Balance'; + } + field(6; DebitCredit; Integer) + { + Caption = 'Debit/Credit'; + } + field(7; Active; Boolean) + { + Caption = 'Blocked'; + } + } + + keys + { + key(Key1; AcctNum) + { + Clustered = true; + } + } + + fieldgroups + { + fieldgroup(DropDown; AcctNum, Name) + { + } + } +} diff --git a/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountTransactions.Table.al b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountTransactions.Table.al new file mode 100644 index 0000000000..5432737d66 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAccountTransactions.Table.al @@ -0,0 +1,93 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47054 "SL AccountTransactions" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Id; Integer) + { + AutoIncrement = true; + Caption = 'Id Number'; + } + field(2; Year; Text[4]) + { + Caption = 'Year'; + } + field(3; AcctNum; Text[10]) + { + Caption = 'Account Number'; + } + field(4; SubSegment_1; Text[24]) + { + Caption = 'Account Segment 1'; + } + field(5; SubSegment_2; Text[24]) + { + Caption = 'Account Segment 2'; + } + field(6; SubSegment_3; Text[24]) + { + Caption = 'Account Segment 3'; + } + field(7; SubSegment_4; Text[24]) + { + Caption = 'Account Segment 4'; + } + field(8; SubSegment_5; Text[24]) + { + Caption = 'Account Segment 5'; + } + field(9; SubSegment_6; Text[24]) + { + Caption = 'Account Segment 6'; + } + field(10; SubSegment_7; Text[24]) + { + Caption = 'Account Segment 7'; + } + field(11; SubSegment_8; Text[24]) + { + Caption = 'Account Segment 8'; + } + field(12; Balance; Decimal) + { + Caption = 'Balance'; + } + field(13; DebitAmount; Decimal) + { + Caption = 'Debit Amount'; + } + field(14; CreditAmount; Decimal) + { + Caption = 'Credit Amount'; + } + field(15; Sub; Text[24]) + { + Caption = 'SubAccount'; + } + field(16; PERIODID; Integer) + { + Caption = 'Fiscal Period'; + } + } + + keys + { + key(Key1; Id) + { + Clustered = true; + } + key(TrxKey; Year, PERIODID, AcctNum) + { + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAcctHist.Table.al b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAcctHist.Table.al new file mode 100644 index 0000000000..675b8ec7be --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLAcctHist.Table.al @@ -0,0 +1,401 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47007 "SL AcctHist" +{ + Access = Internal; + Caption = 'SL AcctHist'; + DataClassification = CustomerContent; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AnnBdgt; Decimal) + { + Caption = 'AnnBdgt'; + } + field(3; AnnMemo1; Decimal) + { + Caption = 'AnnMemo1'; + } + field(4; BalanceType; Text[1]) + { + Caption = 'BalanceType'; + } + field(5; BdgtRvsnDate; DateTime) + { + Caption = 'BdgtRvsnDate'; + } + field(6; BegBal; Decimal) + { + Caption = 'BegBal'; + } + field(7; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(8; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(9; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(10; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(11; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(12; DistType; Text[8]) + { + Caption = 'DistType'; + } + field(13; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(14; LastClosePerNbr; Text[6]) + { + Caption = 'LastClosePerNbr'; + } + field(15; LedgerID; Text[10]) + { + Caption = 'LedgerID'; + } + field(16; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(17; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(18; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(19; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(20; PtdAlloc00; Decimal) + { + Caption = 'PtdAlloc00'; + } + field(21; PtdAlloc01; Decimal) + { + Caption = 'PtdAlloc01'; + } + field(22; PtdAlloc02; Decimal) + { + Caption = 'PtdAlloc02'; + } + field(23; PtdAlloc03; Decimal) + { + Caption = 'PtdAlloc03'; + } + field(24; PtdAlloc04; Decimal) + { + Caption = 'PtdAlloc04'; + } + field(25; PtdAlloc05; Decimal) + { + Caption = 'PtdAlloc05'; + } + field(26; PtdAlloc06; Decimal) + { + Caption = 'PtdAlloc06'; + } + field(27; PtdAlloc07; Decimal) + { + Caption = 'PtdAlloc07'; + } + field(28; PtdAlloc08; Decimal) + { + Caption = 'PtdAlloc08'; + } + field(29; PtdAlloc09; Decimal) + { + Caption = 'PtdAlloc09'; + } + field(30; PtdAlloc10; Decimal) + { + Caption = 'PtdAlloc10'; + } + field(31; PtdAlloc11; Decimal) + { + Caption = 'PtdAlloc11'; + } + field(32; PtdAlloc12; Decimal) + { + Caption = 'PtdAlloc12'; + } + field(33; PtdBal00; Decimal) + { + Caption = 'PtdBal00'; + } + field(34; PtdBal01; Decimal) + { + Caption = 'PtdBal01'; + } + field(35; PtdBal02; Decimal) + { + Caption = 'PtdBal02'; + } + field(36; PtdBal03; Decimal) + { + Caption = 'PtdBal03'; + } + field(37; PtdBal04; Decimal) + { + Caption = 'PtdBal04'; + } + field(38; PtdBal05; Decimal) + { + Caption = 'PtdBal05'; + } + field(39; PtdBal06; Decimal) + { + Caption = 'PtdBal06'; + } + field(40; PtdBal07; Decimal) + { + Caption = 'PtdBal07'; + } + field(41; PtdBal08; Decimal) + { + Caption = 'PtdBal08'; + } + field(42; PtdBal09; Decimal) + { + Caption = 'PtdBal09'; + } + field(43; PtdBal10; Decimal) + { + Caption = 'PtdBal10'; + } + field(44; PtdBal11; Decimal) + { + Caption = 'PtdBal11'; + } + field(45; PtdBal12; Decimal) + { + Caption = 'PtdBal12'; + } + field(46; PtdCon00; Decimal) + { + Caption = 'PtdCon00'; + } + field(47; PtdCon01; Decimal) + { + Caption = 'PtdCon01'; + } + field(48; PtdCon02; Decimal) + { + Caption = 'PtdCon02'; + } + field(49; PtdCon03; Decimal) + { + Caption = 'PtdCon03'; + } + field(50; PtdCon04; Decimal) + { + Caption = 'PtdCon04'; + } + field(51; PtdCon05; Decimal) + { + Caption = 'PtdCon05'; + } + field(52; PtdCon06; Decimal) + { + Caption = 'PtdCon06'; + } + field(53; PtdCon07; Decimal) + { + Caption = 'PtdCon07'; + } + field(54; PtdCon08; Decimal) + { + Caption = 'PtdCon08'; + } + field(55; PtdCon09; Decimal) + { + Caption = 'PtdCon09'; + } + field(56; PtdCon10; Decimal) + { + Caption = 'PtdCon10'; + } + field(57; PtdCon11; Decimal) + { + Caption = 'PtdCon11'; + } + field(58; PtdCon12; Decimal) + { + Caption = 'PtdCon12'; + } + field(59; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(60; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(61; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(62; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(63; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(64; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(65; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(66; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(67; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(68; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(69; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(70; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(71; SpreadSheetType; Text[1]) + { + Caption = 'SpreadSheetType'; + } + field(72; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(73; User1; Text[30]) + { + Caption = 'User1'; + } + field(74; User2; Text[30]) + { + Caption = 'User2'; + } + field(75; User3; Decimal) + { + Caption = 'User3'; + } + field(76; User4; Decimal) + { + Caption = 'User4'; + } + field(77; User5; Text[10]) + { + Caption = 'User5'; + } + field(78; User6; Text[10]) + { + Caption = 'User6'; + } + field(79; User7; DateTime) + { + Caption = 'User7'; + } + field(80; User8; DateTime) + { + Caption = 'User8'; + } + field(81; YtdBal00; Decimal) + { + Caption = 'YtdBal00'; + } + field(82; YtdBal01; Decimal) + { + Caption = 'YtdBal01'; + } + field(83; YtdBal02; Decimal) + { + Caption = 'YtdBal02'; + } + field(84; YtdBal03; Decimal) + { + Caption = 'YtdBal03'; + } + field(85; YtdBal04; Decimal) + { + Caption = 'YtdBal04'; + } + field(86; YtdBal05; Decimal) + { + Caption = 'YtdBal05'; + } + field(87; YtdBal06; Decimal) + { + Caption = 'YtdBal06'; + } + field(88; YtdBal07; Decimal) + { + Caption = 'YtdBal07'; + } + field(89; YtdBal08; Decimal) + { + Caption = 'YtdBal08'; + } + field(90; YtdBal09; Decimal) + { + Caption = 'YtdBal09'; + } + field(91; YtdBal10; Decimal) + { + Caption = 'YtdBal10'; + } + field(92; YtdBal11; Decimal) + { + Caption = 'YtdBal11'; + } + field(93; YtdBal12; Decimal) + { + Caption = 'YtdBal12'; + } + field(94; YTDEstimated; Decimal) + { + Caption = 'YTDEstimated'; + } + } + + keys + { + key(Key1; CpnyID, Acct, Sub, LedgerID, FiscYr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Accounts/SLFiscalPeriods.Table.al b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLFiscalPeriods.Table.al new file mode 100644 index 0000000000..ac30e4e8e3 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLFiscalPeriods.Table.al @@ -0,0 +1,41 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47005 "SL Fiscal Periods" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; PeriodID; Integer) + { + Caption = 'Fiscal Period'; + } + field(2; Year1; Integer) + { + Caption = 'Year'; + } + field(3; PeriodDT; Date) + { + Caption = 'Period Start Date'; + } + field(4; PerEndDT; Date) + { + Caption = 'Period End Date'; + } + } + + keys + { + key(Key1; PeriodID, Year1) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Accounts/SLGLSetup.Table.al b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLGLSetup.Table.al new file mode 100644 index 0000000000..a1387af7b7 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Accounts/SLGLSetup.Table.al @@ -0,0 +1,429 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47009 "SL GLSetup" +{ + Access = Internal; + Caption = 'SL GLSetup'; + DataClassification = CustomerContent; + + fields + { + field(1; Addr1; Text[30]) + { + Caption = 'Addr1'; + } + field(2; Addr2; Text[30]) + { + Caption = 'Addr2'; + } + field(3; AllowPostOpt; Text[1]) + { + Caption = 'AllowPostOpt'; + } + field(4; AutoBatRpt; Integer) + { + Caption = 'AutoBatRpt'; + } + field(5; AutoPost; Text[1]) + { + Caption = 'AutoPost'; + } + field(6; AutoRef; Text[1]) + { + Caption = 'AutoRef'; + } + field(7; AutoRevOpt; Text[1]) + { + Caption = 'AutoRevOpt'; + } + field(8; BaseCuryId; Text[4]) + { + Caption = 'BaseCuryId'; + } + field(9; BatCntrlByMod; Text[150]) + { + Caption = 'BatCntrlByMod'; + } + field(10; BegFiscalYr; Integer) + { + Caption = 'BegFiscalYr'; + } + field(11; BudgetLedgerID; Text[10]) + { + Caption = 'BudgetLedgerID'; + } + field(12; BudgetSpreadDir; Text[50]) + { + Caption = 'BudgetSpreadDir'; + } + field(13; BudgetSpreadType; Text[1]) + { + Caption = 'BudgetSpreadType'; + } + field(14; BudgetSubSeg00; Text[1]) + { + Caption = 'BudgetSubSeg00'; + } + field(15; BudgetSubSeg01; Text[1]) + { + Caption = 'BudgetSubSeg01'; + } + field(16; BudgetSubSeg02; Text[1]) + { + Caption = 'BudgetSubSeg02'; + } + field(17; BudgetSubSeg03; Text[1]) + { + Caption = 'BudgetSubSeg03'; + } + field(18; BudgetSubSeg04; Text[1]) + { + Caption = 'BudgetSubSeg04'; + } + field(19; BudgetSubSeg05; Text[1]) + { + Caption = 'BudgetSubSeg05'; + } + field(20; BudgetSubSeg06; Text[1]) + { + Caption = 'BudgetSubSeg06'; + } + field(21; BudgetSubSeg07; Text[1]) + { + Caption = 'BudgetSubSeg07'; + } + field(22; BudgetYear; Text[4]) + { + Caption = 'BudgetYear'; + } + field(23; Central_Cash_Cntl; Integer) + { + Caption = 'Central_Cash_Cntl'; + } + field(24; ChngNbrPer; Integer) + { + Caption = 'ChngNbrPer'; + } + field(25; City; Text[30]) + { + Caption = 'City'; + } + field(26; COAOrder; Text[1]) + { + Caption = 'COAOrder'; + } + field(27; Country; Text[3]) + { + Caption = 'Country'; + } + field(28; CpnyId; Text[10]) + { + Caption = 'CpnyId'; + } + field(29; CpnyName; Text[30]) + { + Caption = 'CpnyName'; + } + field(30; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(31; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(32; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(33; EditInit; Integer) + { + Caption = 'EditInit'; + } + field(34; EmplId; Text[12]) + { + Caption = 'EmplId'; + } + field(35; Fax; Text[30]) + { + Caption = 'Fax'; + } + field(36; FiscalPerEnd00; Text[4]) + { + Caption = 'FiscalPerEnd00'; + } + field(37; FiscalPerEnd01; Text[4]) + { + Caption = 'FiscalPerEnd01'; + } + field(38; FiscalPerEnd02; Text[4]) + { + Caption = 'FiscalPerEnd02'; + } + field(39; FiscalPerEnd03; Text[4]) + { + Caption = 'FiscalPerEnd03'; + } + field(40; FiscalPerEnd04; Text[4]) + { + Caption = 'FiscalPerEnd04'; + } + field(41; FiscalPerEnd05; Text[4]) + { + Caption = 'FiscalPerEnd05'; + } + field(42; FiscalPerEnd06; Text[4]) + { + Caption = 'FiscalPerEnd06'; + } + field(43; FiscalPerEnd07; Text[4]) + { + Caption = 'FiscalPerEnd07'; + } + field(44; FiscalPerEnd08; Text[4]) + { + Caption = 'FiscalPerEnd08'; + } + field(45; FiscalPerEnd09; Text[4]) + { + Caption = 'FiscalPerEnd09'; + } + field(46; FiscalPerEnd10; Text[4]) + { + Caption = 'FiscalPerEnd10'; + } + field(47; FiscalPerEnd11; Text[4]) + { + Caption = 'FiscalPerEnd11'; + } + field(48; FiscalPerEnd12; Text[4]) + { + Caption = 'FiscalPerEnd12'; + } + field(49; "Init"; Integer) + { + Caption = 'Init'; + } + field(50; LastBatNbr; Text[10]) + { + Caption = 'LastBatNbr'; + } + field(51; LastClosePerNbr; Text[6]) + { + Caption = 'LastClosePerNbr'; + } + field(52; LedgerID; Text[10]) + { + Caption = 'LedgerID'; + } + field(53; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(54; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(55; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(56; Master_Fed_ID; Integer) + { + Caption = 'Master_Fed_ID'; + } + field(57; MCActive; Integer) + { + Caption = 'MCActive'; + } + field(58; MCuryBatRpt; Integer) + { + Caption = 'MCuryBatRpt'; + } + field(59; ModPriorPost; Text[180]) + { + Caption = 'ModPriorPost'; + } + field(60; Mult_Cpny_Db; Integer) + { + Caption = 'Mult_Cpny_Db'; + } + field(61; NbrPer; Integer) + { + Caption = 'NbrPer'; + } + field(62; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(63; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(64; PerRetHist; Integer) + { + Caption = 'PerRetHist'; + } + field(65; PerRetModTran; Integer) + { + Caption = 'PerRetModTran'; + } + field(66; PerRetTran; Integer) + { + Caption = 'PerRetTran'; + } + field(67; Phone; Text[30]) + { + Caption = 'Phone'; + } + field(68; PriorYearPost; Integer) + { + Caption = 'PriorYearPost'; + } + field(69; PSC; Text[4]) + { + Caption = 'PSC'; + } + field(70; RetEarnAcct; Text[10]) + { + Caption = 'RetEarnAcct'; + } + field(71; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(72; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(73; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(74; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(75; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(76; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(77; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(78; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(79; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(80; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(81; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(82; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(83; SetupId; Text[2]) + { + Caption = 'SetupId'; + } + field(84; State; Text[3]) + { + Caption = 'State'; + } + field(85; SubAcctSeg; Text[2]) + { + Caption = 'SubAcctSeg'; + } + field(86; SummPostYCntr; Integer) + { + Caption = 'SummPostYCntr'; + } + field(87; UpdateCA; Integer) + { + Caption = 'UpdateCA'; + } + field(88; User1; Text[30]) + { + Caption = 'User1'; + } + field(89; User2; Text[30]) + { + Caption = 'User2'; + } + field(90; User3; Decimal) + { + Caption = 'User3'; + } + field(91; User4; Decimal) + { + Caption = 'User4'; + } + field(92; User5; Text[10]) + { + Caption = 'User5'; + } + field(93; User6; Text[10]) + { + Caption = 'User6'; + } + field(94; User7; DateTime) + { + Caption = 'User7'; + } + field(95; User8; DateTime) + { + Caption = 'User8'; + } + field(96; ValidateAcctSub; Integer) + { + Caption = 'ValidateAcctSub'; + } + field(97; ValidateAtPosting; Integer) + { + Caption = 'ValidateAtPosting'; + } + field(98; YtdNetIncAcct; Text[10]) + { + Caption = 'YtdNetIncAcct'; + } + field(99; ZCount; Integer) + { + Caption = 'ZCount'; + } + field(100; Zip; Text[10]) + { + Caption = 'Zip'; + } + field(101; Zp; Text[256]) + { + Caption = 'Zp'; + } + } + + keys + { + key(Key1; SetupId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Customers/SLARBalances.Table.al b/Apps/W1/HybridSL/app/src/Migration/Customers/SLARBalances.Table.al new file mode 100644 index 0000000000..f61af0d7ec --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Customers/SLARBalances.Table.al @@ -0,0 +1,281 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47010 "SL AR_Balances" +{ + Access = Internal; + Caption = 'SL AR_Balances'; + DataClassification = CustomerContent; + + fields + { + field(1; AccruedRevAgeBal00; Decimal) + { + Caption = 'AccruedRevAgeBal00'; + } + field(2; AccruedRevAgeBal01; Decimal) + { + Caption = 'AccruedRevAgeBal01'; + } + field(3; AccruedRevAgeBal02; Decimal) + { + Caption = 'AccruedRevAgeBal02'; + } + field(4; AccruedRevAgeBal03; Decimal) + { + Caption = 'AccruedRevAgeBal03'; + } + field(5; AccruedRevAgeBal04; Decimal) + { + Caption = 'AccruedRevAgeBal04'; + } + field(6; AccruedRevBal; Decimal) + { + Caption = 'AccruedRevBal'; + } + field(7; AgeBal00; Decimal) + { + Caption = 'AgeBal00'; + } + field(8; AgeBal01; Decimal) + { + Caption = 'AgeBal01'; + } + field(9; AgeBal02; Decimal) + { + Caption = 'AgeBal02'; + } + field(10; AgeBal03; Decimal) + { + Caption = 'AgeBal03'; + } + field(11; AgeBal04; Decimal) + { + Caption = 'AgeBal04'; + } + field(12; AvgDayToPay; Decimal) + { + Caption = 'AvgDayToPay'; + } + field(13; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(14; CrLmt; Decimal) + { + Caption = 'CrLmt'; + } + field(15; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(16; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(17; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(18; CurrBal; Decimal) + { + Caption = 'CurrBal'; + } + field(19; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(20; CuryPromoBal; Decimal) + { + Caption = 'CuryPromoBal'; + } + field(21; CustID; Text[15]) + { + Caption = 'CustID'; + } + field(22; FutureBal; Decimal) + { + Caption = 'FutureBal'; + } + field(23; LastActDate; DateTime) + { + Caption = 'LastActDate'; + } + field(24; LastAgeDate; DateTime) + { + Caption = 'LastAgeDate'; + } + field(25; LastFinChrgDate; DateTime) + { + Caption = 'LastFinChrgDate'; + } + field(26; LastInvcDate; DateTime) + { + Caption = 'LastInvcDate'; + } + field(27; LastStmtBal00; Decimal) + { + Caption = 'LastStmtBal00'; + } + field(28; LastStmtBal01; Decimal) + { + Caption = 'LastStmtBal01'; + } + field(29; LastStmtBal02; Decimal) + { + Caption = 'LastStmtBal02'; + } + field(30; LastStmtBal03; Decimal) + { + Caption = 'LastStmtBal03'; + } + field(31; LastStmtBal04; Decimal) + { + Caption = 'LastStmtBal04'; + } + field(32; LastStmtBegBal; Decimal) + { + Caption = 'LastStmtBegBal'; + } + field(33; LastStmtDate; DateTime) + { + Caption = 'LastStmtDate'; + } + field(34; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(35; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(36; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(37; NbrInvcPaid; Decimal) + { + Caption = 'NbrInvcPaid'; + } + field(38; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(39; PaidInvcDays; Decimal) + { + Caption = 'PaidInvcDays'; + } + field(40; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(41; PromoBal; Decimal) + { + Caption = 'PromoBal'; + } + field(42; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(43; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(44; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(45; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(46; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(47; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(48; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(49; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(50; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(51; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(52; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(53; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(54; TotOpenOrd; Decimal) + { + Caption = 'TotOpenOrd'; + } + field(55; TotPrePay; Decimal) + { + Caption = 'TotPrePay'; + } + field(56; TotShipped; Decimal) + { + Caption = 'TotShipped'; + } + field(57; User1; Text[30]) + { + Caption = 'User1'; + } + field(58; User2; Text[30]) + { + Caption = 'User2'; + } + field(59; User3; Decimal) + { + Caption = 'User3'; + } + field(60; User4; Decimal) + { + Caption = 'User4'; + } + field(61; User5; Text[10]) + { + Caption = 'User5'; + } + field(62; User6; Text[10]) + { + Caption = 'User6'; + } + field(63; User7; DateTime) + { + Caption = 'User7'; + } + field(64; User8; DateTime) + { + Caption = 'User8'; + } + } + + keys + { + key(Key1; CpnyID, CustID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Customers/SLARSetup.Table.al b/Apps/W1/HybridSL/app/src/Migration/Customers/SLARSetup.Table.al new file mode 100644 index 0000000000..7614513523 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Customers/SLARSetup.Table.al @@ -0,0 +1,405 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47011 "SL ARSetup" +{ + Access = Internal; + Caption = 'SL ARSetup'; + DataClassification = CustomerContent; + + fields + { + field(1; AnnFinChrg; Decimal) + { + Caption = 'AnnFinChrg'; + } + field(2; ArAcct; Text[10]) + { + Caption = 'ArAcct'; + } + field(3; ArSub; Text[24]) + { + Caption = 'ArSub'; + } + field(4; AutoApplyWO; Integer) + { + Caption = 'AutoApplyWO'; + } + field(5; AutoBatRpt; Integer) + { + Caption = 'AutoBatRpt'; + } + field(6; AutoNSF; Integer) + { + Caption = 'AutoNSF'; + } + field(7; AutoRef; Integer) + { + Caption = 'AutoRef'; + } + field(8; ChkAcct; Text[10]) + { + Caption = 'ChkAcct'; + } + field(9; ChkSub; Text[24]) + { + Caption = 'ChkSub'; + } + field(10; ChrgMin; Integer) + { + Caption = 'ChrgMin'; + } + field(11; CompdFinChrg; Integer) + { + Caption = 'CompdFinChrg'; + } + field(12; CreditHoldType; Text[1]) + { + Caption = 'CreditHoldType'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; CurrPerNbr; Text[6]) + { + Caption = 'CurrPerNbr'; + } + field(17; CustViewDflt; Text[1]) + { + Caption = 'CustViewDflt'; + } + field(18; DaysPastDue; Integer) + { + Caption = 'DaysPastDue'; + } + field(19; DecPlPrcCst; Integer) + { + Caption = 'DecPlPrcCst'; + } + field(20; DecPlQty; Integer) + { + Caption = 'DecPlQty'; + } + field(21; DfltAutoApply; Integer) + { + Caption = 'DfltAutoApply'; + } + field(22; DfltClass; Text[6]) + { + Caption = 'DfltClass'; + } + field(23; DfltNSFAcct; Text[10]) + { + Caption = 'DfltNSFAcct'; + } + field(24; DfltNSFSub; Text[24]) + { + Caption = 'DfltNSFSub'; + } + field(25; DfltSBWOAcct; Text[10]) + { + Caption = 'DfltSBWOAcct'; + } + field(26; DfltSBWOSub; Text[24]) + { + Caption = 'DfltSBWOSub'; + } + field(27; DfltSCWOAcct; Text[10]) + { + Caption = 'DfltSCWOAcct'; + } + field(28; DfltSCWOSub; Text[24]) + { + Caption = 'DfltSCWOSub'; + } + field(29; DfltStmtCycle; Text[2]) + { + Caption = 'DfltStmtCycle'; + } + field(30; DfltStmtType; Text[1]) + { + Caption = 'DfltStmtType'; + } + field(31; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(32; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(33; DiscCpnyFromInvc; Integer) + { + Caption = 'DiscCpnyFromInvc'; + } + field(34; FinChrgAcct; Text[10]) + { + Caption = 'FinChrgAcct'; + } + field(35; FinChrgFirst; Text[1]) + { + Caption = 'FinChrgFirst'; + } + field(36; FinChrgSub; Text[24]) + { + Caption = 'FinChrgSub'; + } + field(37; GLPostOpt; Text[1]) + { + Caption = 'GLPostOpt'; + } + field(38; IncAcct; Text[10]) + { + Caption = 'IncAcct'; + } + field(39; IncSub; Text[24]) + { + Caption = 'IncSub'; + } + field(40; "Init"; Integer) + { + Caption = 'Init'; + } + field(41; LastBatNbr; Text[10]) + { + Caption = 'LastBatNbr'; + } + field(42; LastCrMemoNbr; Text[10]) + { + Caption = 'LastCrMemoNbr'; + } + field(43; LastDrMemoNbr; Text[10]) + { + Caption = 'LastDrMemoNbr'; + } + field(44; LastFinChrgRefNbr; Text[10]) + { + Caption = 'LastFinChrgRefNbr'; + } + field(45; LastRefNbr; Text[10]) + { + Caption = 'LastRefNbr'; + } + field(46; LastWORefNbr; Text[10]) + { + Caption = 'LastWORefNbr'; + } + field(47; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(48; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(49; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(50; MCuryBatRpt; Integer) + { + Caption = 'MCuryBatRpt'; + } + field(51; MinFinChrg; Decimal) + { + Caption = 'MinFinChrg'; + } + field(52; Nbr0803Docs; Integer) + { + Caption = 'Nbr0803Docs'; + } + field(53; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(54; NSFChrg; Decimal) + { + Caption = 'NSFChrg'; + } + field(55; OverLimitAmt; Decimal) + { + Caption = 'OverLimitAmt'; + } + field(56; OverLimitType; Text[1]) + { + Caption = 'OverLimitType'; + } + field(57; PASortDflt; Text[1]) + { + Caption = 'PASortDflt'; + } + field(58; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(59; PerRetHist; Integer) + { + Caption = 'PerRetHist'; + } + field(60; PerRetStmtDtl; Integer) + { + Caption = 'PerRetStmtDtl'; + } + field(61; PerRetTran; Integer) + { + Caption = 'PerRetTran'; + } + field(62; PrePayAcct; Text[10]) + { + Caption = 'PrePayAcct'; + } + field(63; PrePaySub; Text[24]) + { + Caption = 'PrePaySub'; + } + field(64; RetAllowAcct; Text[10]) + { + Caption = 'RetAllowAcct'; + } + field(65; RetAllowSub; Text[24]) + { + Caption = 'RetAllowSub'; + } + field(66; RetAvgDay; Integer) + { + Caption = 'RetAvgDay'; + } + field(67; RfndAcct; Text[10]) + { + Caption = 'RfndAcct'; + } + field(68; RfndSub; Text[24]) + { + Caption = 'RfndSub'; + } + field(69; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(70; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(71; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(72; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(73; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(74; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(75; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(76; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(77; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(78; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(79; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(80; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(81; S4Future13; Text[10]) + { + Caption = 'S4Future13'; + } + field(82; SBLimit; Decimal) + { + Caption = 'SBLimit'; + } + field(83; SetupId; Text[2]) + { + Caption = 'SetupId'; + } + field(84; SlsTax; Integer) + { + Caption = 'SlsTax'; + } + field(85; SlsTaxDflt; Text[1]) + { + Caption = 'SlsTaxDflt'; + } + field(86; TranDescDflt; Text[1]) + { + Caption = 'TranDescDflt'; + } + field(87; User1; Text[30]) + { + Caption = 'User1'; + } + field(88; User2; Text[30]) + { + Caption = 'User2'; + } + field(89; User3; Decimal) + { + Caption = 'User3'; + } + field(90; User4; Decimal) + { + Caption = 'User4'; + } + field(91; User5; Text[10]) + { + Caption = 'User5'; + } + field(92; User6; Text[10]) + { + Caption = 'User6'; + } + field(93; User7; DateTime) + { + Caption = 'User7'; + } + field(94; User8; DateTime) + { + Caption = 'User8'; + } + field(95; WarningLvlLimit; Integer) + { + Caption = 'WarningLvlLimit'; + } + } + + keys + { + key(Key1; SetupId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Customers/SLCustomer.Table.al b/Apps/W1/HybridSL/app/src/Migration/Customers/SLCustomer.Table.al new file mode 100644 index 0000000000..5eaefcd79d --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Customers/SLCustomer.Table.al @@ -0,0 +1,465 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47012 "SL Customer" +{ + Access = Internal; + Caption = 'SL Customer'; + DataClassification = CustomerContent; + + fields + { + field(1; AccrRevAcct; Text[10]) + { + Caption = 'AccrRevAcct'; + } + field(2; AccrRevSub; Text[24]) + { + Caption = 'AccrRevSub'; + } + field(3; AcctNbr; Text[30]) + { + Caption = 'AcctNbr'; + } + field(4; Addr1; Text[60]) + { + Caption = 'Addr1'; + } + field(5; Addr2; Text[60]) + { + Caption = 'Addr2'; + } + field(6; AgentID; Text[10]) + { + Caption = 'AgentID'; + } + field(7; ApplFinChrg; Integer) + { + Caption = 'ApplFinChrg'; + } + field(8; ArAcct; Text[10]) + { + Caption = 'ArAcct'; + } + field(9; ArSub; Text[24]) + { + Caption = 'ArSub'; + } + field(10; Attn; Text[30]) + { + Caption = 'Attn'; + } + field(11; AutoApply; Integer) + { + Caption = 'AutoApply'; + } + field(12; BankID; Text[10]) + { + Caption = 'BankID'; + } + field(13; BillAddr1; Text[60]) + { + Caption = 'BillAddr1'; + } + field(14; BillAddr2; Text[60]) + { + Caption = 'BillAddr2'; + } + field(15; BillAttn; Text[30]) + { + Caption = 'BillAttn'; + } + field(16; BillCity; Text[30]) + { + Caption = 'BillCity'; + } + field(17; BillCountry; Text[3]) + { + Caption = 'BillCountry'; + } + field(18; BillFax; Text[30]) + { + Caption = 'BillFax'; + } + field(19; BillName; Text[60]) + { + Caption = 'BillName'; + } + field(20; BillPhone; Text[30]) + { + Caption = 'BillPhone'; + } + field(21; BillSalut; Text[30]) + { + Caption = 'BillSalut'; + } + field(22; BillState; Text[3]) + { + Caption = 'BillState'; + } + field(23; BillThruProject; Integer) + { + Caption = 'BillThruProject'; + } + field(24; BillZip; Text[10]) + { + Caption = 'BillZip'; + } + field(25; CardExpDate; DateTime) + { + Caption = 'CardExpDate'; + } + field(26; CardHldrName; Text[60]) + { + Caption = 'CardHldrName'; + } + field(27; CardNbr; Text[20]) + { + Caption = 'CardNbr'; + } + field(28; CardType; Text[1]) + { + Caption = 'CardType'; + } + field(29; City; Text[30]) + { + Caption = 'City'; + } + field(30; ClassId; Text[6]) + { + Caption = 'ClassId'; + } + field(31; ConsolInv; Integer) + { + Caption = 'ConsolInv'; + } + field(32; Country; Text[3]) + { + Caption = 'Country'; + } + field(33; CrLmt; Decimal) + { + Caption = 'CrLmt'; + } + field(34; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(35; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(36; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(37; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(38; CuryPrcLvlRtTp; Text[6]) + { + Caption = 'CuryPrcLvlRtTp'; + } + field(39; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(40; CustFillPriority; Integer) + { + Caption = 'CustFillPriority'; + } + field(41; CustId; Text[15]) + { + Caption = 'CustId'; + } + field(42; DfltShipToId; Text[10]) + { + Caption = 'DfltShipToId'; + } + field(43; DocPublishingFlag; Text[1]) + { + Caption = 'DocPublishingFlag'; + } + field(44; DunMsg; Integer) + { + Caption = 'DunMsg'; + } + field(45; EMailAddr; Text[80]) + { + Caption = 'EMailAddr'; + } + field(46; Fax; Text[30]) + { + Caption = 'Fax'; + } + field(47; InvtSubst; Integer) + { + Caption = 'InvtSubst'; + } + field(48; LanguageID; Text[4]) + { + Caption = 'LanguageID'; + } + field(49; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(50; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(51; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(52; Name; Text[60]) + { + Caption = 'Name'; + } + field(53; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(54; OneDraft; Integer) + { + Caption = 'OneDraft'; + } + field(55; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(56; Phone; Text[30]) + { + Caption = 'Phone'; + } + field(57; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(58; PrcLvlId; Text[10]) + { + Caption = 'PrcLvlId'; + } + field(59; PrePayAcct; Text[10]) + { + Caption = 'PrePayAcct'; + } + field(60; PrePaySub; Text[24]) + { + Caption = 'PrePaySub'; + } + field(61; PriceClassID; Text[6]) + { + Caption = 'PriceClassID'; + } + field(62; PrtMCStmt; Integer) + { + Caption = 'PrtMCStmt'; + } + field(63; PrtStmt; Integer) + { + Caption = 'PrtStmt'; + } + field(64; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(65; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(66; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(67; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(68; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(69; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(70; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(71; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(72; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(73; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(74; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(75; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(76; Salut; Text[30]) + { + Caption = 'Salut'; + } + field(77; SetupDate; DateTime) + { + Caption = 'SetupDate'; + } + field(78; ShipCmplt; Integer) + { + Caption = 'ShipCmplt'; + } + field(79; ShipPctAct; Text[1]) + { + Caption = 'ShipPctAct'; + } + field(80; ShipPctMax; Decimal) + { + Caption = 'ShipPctMax'; + } + field(81; SICCode1; Text[4]) + { + Caption = 'SICCode1'; + } + field(82; SICCode2; Text[4]) + { + Caption = 'SICCode2'; + } + field(83; SingleInvoice; Integer) + { + Caption = 'SingleInvoice'; + } + field(84; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(85; SlsperId; Text[10]) + { + Caption = 'SlsperId'; + } + field(86; SlsSub; Text[24]) + { + Caption = 'SlsSub'; + } + field(87; State; Text[3]) + { + Caption = 'State'; + } + field(88; Status; Text[1]) + { + Caption = 'Status'; + } + field(89; StmtCycleId; Text[2]) + { + Caption = 'StmtCycleId'; + } + field(90; StmtType; Text[1]) + { + Caption = 'StmtType'; + } + field(91; TaxDflt; Text[1]) + { + Caption = 'TaxDflt'; + } + field(92; TaxExemptNbr; Text[15]) + { + Caption = 'TaxExemptNbr'; + } + field(93; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(94; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(95; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(96; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(97; TaxLocId; Text[15]) + { + Caption = 'TaxLocId'; + } + field(98; TaxRegNbr; Text[15]) + { + Caption = 'TaxRegNbr'; + } + field(99; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(100; Territory; Text[10]) + { + Caption = 'Territory'; + } + field(101; TradeDisc; Decimal) + { + Caption = 'TradeDisc'; + } + field(102; User1; Text[30]) + { + Caption = 'User1'; + } + field(103; User2; Text[30]) + { + Caption = 'User2'; + } + field(104; User3; Decimal) + { + Caption = 'User3'; + } + field(105; User4; Decimal) + { + Caption = 'User4'; + } + field(106; User5; Text[10]) + { + Caption = 'User5'; + } + field(107; User6; Text[10]) + { + Caption = 'User6'; + } + field(108; User7; DateTime) + { + Caption = 'User7'; + } + field(109; User8; DateTime) + { + Caption = 'User8'; + } + field(110; Zip; Text[10]) + { + Caption = 'Zip'; + } + } + + keys + { + key(Key1; CustId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Customers/SLCustomerMigrator.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/Customers/SLCustomerMigrator.Codeunit.al new file mode 100644 index 0000000000..b6e9b6926f --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Customers/SLCustomerMigrator.Codeunit.al @@ -0,0 +1,331 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Integration; +using Microsoft.Foundation.Company; +using Microsoft.Sales.Customer; + +codeunit 47018 "SL Customer Migrator" +{ + Access = Internal; + + var + PostingGroupCodeTxt: Label 'SL', Locked = true; + CustomerBatchNameTxt: Label 'SLCUST', Locked = true; + SourceCodeTxt: Label 'GENJNL', Locked = true; + StatusInactiveTxt: Label 'I', Locked = true; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Customer Data Migration Facade", OnMigrateCustomer, '', true, true)] + local procedure OnMigrateCustomer(var Sender: Codeunit "Customer Data Migration Facade"; RecordIdToMigrate: RecordId) + var + SLCustomer: Record "SL Customer"; + SLARSetup: Record "SL ARSetup"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + begin + if RecordIdToMigrate.TableNo() <> Database::"SL Customer" then + exit; + + SLCompanyAdditionalSettings.Get(CompanyName); + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + if not SLCompanyAdditionalSettings.GetReceivablesModuleEnabled() then + exit; + + SLCustomer.Get(RecordIdToMigrate); + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(RecordIdToMigrate)); + SLARSetup.Get('AR'); + MigrateCustomerDetails(SLCustomer, Sender, SLARSetup); + MigrateCustomerAddresses(SLCustomer); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Customer Data Migration Facade", OnMigrateCustomerTransactions, '', true, true)] + local procedure OnMigrateCustomerTransactions(var Sender: Codeunit "Customer Data Migration Facade"; RecordIdToMigrate: RecordId; ChartOfAccountsMigrated: Boolean) + var + SLARDoc: Record "SL ARDoc"; + SLARSetup: Record "SL ARSetup"; + SLCustomer: Record "SL Customer"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + DataMigrationFacadeHelper: Codeunit "Data Migration Facade Helper"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + PaymentTermsFormula: DateFormula; + BalancingAccount: Code[20]; + DocTypeToSet: Option " ",Payment,Invoice,"Credit Memo","Finance Charge Memo"; + GLDocNbr: Text[20]; + begin + if not ChartOfAccountsMigrated then + exit; + + if RecordIdToMigrate.TableNo() <> Database::"SL Customer" then + exit; + + SLCompanyAdditionalSettings.Get(CompanyName); + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + if not SLCompanyAdditionalSettings.GetReceivablesModuleEnabled() then + exit; + if SLCompanyAdditionalSettings.GetMigrateOnlyReceivablesMaster() then + exit; + + SLCustomer.Get(RecordIdToMigrate); + SLARSetup.Get('AR'); + + Sender.CreateGeneralJournalBatchIfNeeded(CopyStr(CustomerBatchNameTxt, 1, MaxStrLen(CustomerBatchNameTxt)), '', ''); + SLARDoc.SetRange(CpnyID, CompanyName); + SLARDoc.SetRange(CustId, SLCustomer.CustId); + SLARDoc.SetFilter(DocType, '%1|%2|%3|%4|%5', 'IN', 'CS', 'DM', 'SC', 'NC'); //Invoice + SLARDoc.SetFilter(DocBal, '<>%1', 0); + if SLARDoc.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLARDoc.RecordId)); + + GLDocNbr := 'SL' + SLARDoc.RefNbr; + BalancingAccount := SLARSetup.ArAcct; + + Sender.CreateGeneralJournalLine( + CopyStr(CustomerBatchNameTxt, 1, MaxStrLen(CustomerBatchNameTxt)), + GLDocNbr, + SLARDoc.DocDesc, + DT2Date(SLARDoc.DocDate), + 0D, + SLARDoc.DocBal, + SLARDoc.DocBal, + '', + BalancingAccount + ); + Sender.SetGeneralJournalLineDocumentType(DocTypeToSet::Invoice); + DataMigrationFacadeHelper.CreateSourceCodeIfNeeded(CopyStr(SourceCodeTxt, 1, MaxStrLen(SourceCodeTxt))); + Sender.SetGeneralJournalLineSourceCode(CopyStr(SourceCodeTxt, 1, MaxStrLen(SourceCodeTxt))); + if (SLARDoc.SlsperId.TrimEnd() <> '') then begin + Sender.CreateSalespersonPurchaserIfNeeded(SLARDoc.SlsperId, '', '', ''); + Sender.SetGeneralJournalLineSalesPersonCode(SLARDoc.SlsperId); + end; + if (SLARDoc.Terms.TrimEnd() <> '') then begin + Evaluate(PaymentTermsFormula, ''); + Sender.CreatePaymentTermsIfNeeded(SLARDoc.Terms, SLARDoc.Terms, PaymentTermsFormula); + Sender.SetGeneralJournalLinePaymentTerms(SLARDoc.Terms); + end; + if SLARDoc.OrdNbr.TrimEnd() <> '' then + Sender.SetGeneralJournalLineExternalDocumentNo(SLARDoc.OrdNbr); + until SLARDoc.Next() = 0; + + SLARDoc.Reset(); + SLARDoc.SetRange(CpnyID, CompanyName); + SLARDoc.SetRange(CustId, SLCustomer.CustId); + SLARDoc.SetFilter(DocType, '%1|%2', 'PA', 'PP'); //Payment + SLARDoc.SetFilter(DocBal, '<>%1', 0); + if SLARDoc.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLARDoc.RecordId)); + + GLDocNbr := 'SL' + SLARDoc.RefNbr; + BalancingAccount := SLARSetup.ArAcct; + + Sender.CreateGeneralJournalLine( + CopyStr(CustomerBatchNameTxt, 1, MaxStrLen(CustomerBatchNameTxt)), + GLDocNbr, + SLARDoc.DocDesc, + DT2Date(SLARDoc.DocDate), + DT2Date(SLARDoc.DocDate), + (SLARDoc.DocBal * -1), + (SLARDoc.DocBal * -1), + '', + BalancingAccount + ); + Sender.SetGeneralJournalLineDocumentType(DocTypeToSet::Payment); + Sender.SetGeneralJournalLineSourceCode(CopyStr(SourceCodeTxt, 1, MaxStrLen(SourceCodeTxt))); + if (SLARDoc.SlsperId.TrimEnd() <> '') then begin + Sender.CreateSalespersonPurchaserIfNeeded(SLARDoc.SlsperId, '', '', ''); + Sender.SetGeneralJournalLineSalesPersonCode(SLARDoc.SlsperId); + end; + if (SLARDoc.Terms.TrimEnd() <> '') then begin + Evaluate(PaymentTermsFormula, ''); + Sender.CreatePaymentTermsIfNeeded(SLARDoc.Terms, SLARDoc.Terms, PaymentTermsFormula); + Sender.SetGeneralJournalLinePaymentTerms(SLARDoc.Terms); + end; + if SLARDoc.OrdNbr.TrimEnd() <> '' then + Sender.SetGeneralJournalLineExternalDocumentNo(SLARDoc.OrdNbr); + until SLARDoc.Next() = 0; + + SLARDoc.Reset(); + SLARDoc.SetRange(CpnyID, CompanyName); + SLARDoc.SetRange(CustId, SLCustomer.CustId); + SLARDoc.SetFilter(DocType, '%1|%2|%3', 'CM', 'SB', 'NS'); //Credit Memo + SLARDoc.SetFilter(DocBal, '<>%1', 0); + if SLARDoc.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLARDoc.RecordId)); + + GLDocNbr := 'SL' + SLARDoc.RefNbr; + BalancingAccount := SLARSetup.ArAcct; + + Sender.CreateGeneralJournalLine( + CopyStr(CustomerBatchNameTxt, 1, MaxStrLen(CustomerBatchNameTxt)), + GLDocNbr, + SLARDoc.DocDesc, + DT2Date(SLARDoc.DocDate), + DT2Date(SLARDoc.DueDate), + (SLARDoc.DocBal * -1), + (SLARDoc.DocBal * -1), + '', + BalancingAccount + ); + Sender.SetGeneralJournalLineDocumentType(DocTypeToSet::"Credit Memo"); + Sender.SetGeneralJournalLineSourceCode(CopyStr(SourceCodeTxt, 1, MaxStrLen(SourceCodeTxt))); + if (SLARDoc.SlsperId.TrimEnd() <> '') then begin + Sender.CreateSalespersonPurchaserIfNeeded(SLARDoc.SlsperId, '', '', ''); + Sender.SetGeneralJournalLineSalesPersonCode(SLARDoc.SlsperId); + end; + if (SLARDoc.Terms.TrimEnd() <> '') then begin + Evaluate(PaymentTermsFormula, ''); + Sender.CreatePaymentTermsIfNeeded(SLARDoc.Terms, SLARDoc.Terms, PaymentTermsFormula); + Sender.SetGeneralJournalLinePaymentTerms(SLARDoc.Terms); + end; + if SLARDoc.OrdNbr.TrimEnd() <> '' then + Sender.SetGeneralJournalLineExternalDocumentNo(SLARDoc.OrdNbr); + until SLARDoc.Next() = 0; + + SLARDoc.Reset(); + SLARDoc.SetRange(CpnyID, CompanyName); + SLARDoc.SetRange(CustId, SLCustomer.CustId); + SLARDoc.SetRange(DocType, 'FI'); // Finance Charge + SLARDoc.SetFilter(DocBal, '<>%1', 0); + if SLARDoc.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLARDoc.RecordId)); + + GLDocNbr := 'SL' + SLARDoc.RefNbr; + BalancingAccount := SLARSetup.ArAcct; + + Sender.CreateGeneralJournalLine( + CopyStr(CustomerBatchNameTxt, 1, MaxStrLen(CustomerBatchNameTxt)), + GLDocNbr, + SLARDoc.DocDesc, + DT2Date(SLARDoc.DocDate), + DT2Date(SLARDoc.DocDate), + SLARDoc.DocBal, + SLARDoc.DocBal, + '', + BalancingAccount + ); + Sender.SetGeneralJournalLineDocumentType(DocTypeToSet::"Finance Charge Memo"); + Sender.SetGeneralJournalLineSourceCode(CopyStr(SourceCodeTxt, 1, MaxStrLen(SourceCodeTxt))); + if (SLARDoc.SlsperId.TrimEnd() <> '') then begin + Sender.CreateSalespersonPurchaserIfNeeded(SLARDoc.SlsperId, '', '', ''); + Sender.SetGeneralJournalLineSalesPersonCode(SLARDoc.SlsperId); + end; + if (SLARDoc.Terms.TrimEnd() <> '') then begin + Evaluate(PaymentTermsFormula, ''); + Sender.CreatePaymentTermsIfNeeded(SLARDoc.Terms, SLARDoc.Terms, PaymentTermsFormula); + Sender.SetGeneralJournalLinePaymentTerms(SLARDoc.Terms); + end; + if SLARDoc.OrdNbr.TrimEnd() <> '' then + Sender.SetGeneralJournalLineExternalDocumentNo(SLARDoc.OrdNbr); + until SLARDoc.Next() = 0; + end; + + internal procedure MigrateCustomerDetails(SLCustomer: Record "SL Customer"; CustomerDataMigrationFacade: Codeunit "Customer Data Migration Facade"; SLARSetup: Record "SL ARSetup") + var + CompanyInformation: Record "Company Information"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SLSOAddress: Record "SL SOAddress"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + PaymentTermsFormula: DateFormula; + Country: Code[10]; + ShipViaID: Code[10]; + ContactAddressFormatToSet: Option First,"After Company Name",Last; + AddressFormatToSet: Option "Post Code+City","City+Post Code","City+County+Post Code","Blank Line+Post Code+City"; + begin + if not CustomerDataMigrationFacade.CreateCustomerIfNeeded(SLCustomer.CustId, CopyStr(SLHelperFunctions.NameFlip(SLCustomer.Name), 1, 50)) then + exit; + + if SLCustomer.Status = StatusInactiveTxt then + if SLCompanyAdditionalSettings.Get(CompanyName()) then + if not SLCompanyAdditionalSettings."Migrate Inactive Customers" then begin + DecrementMigratedCount(); + exit; + end; + + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLCustomer.RecordId)); + + if (SLCustomer.Country <> '') then begin + Country := SLCustomer.Country; + CustomerDataMigrationFacade.CreateCountryIfNeeded(Country, Country, AddressFormatToSet::"Post Code+City", ContactAddressFormatToSet::"After Company Name"); + end else begin + CompanyInformation.Get(); + Country := CompanyInformation."Country/Region Code"; + end; + + if (SLCustomer.Zip.TrimEnd() <> '') and (SLCustomer.City.TrimEnd() <> '') then + CustomerDataMigrationFacade.CreatePostCodeIfNeeded(SLCustomer.Zip, + SLCustomer.City, SLCustomer.State, Country); + + CustomerDataMigrationFacade.SetAddress(CopyStr(SLCustomer.Addr1, 1, 50), + CopyStr(SLCustomer.Addr2, 1, 50), Country, SLCustomer.Zip, + SLCustomer.City); + + CustomerDataMigrationFacade.SetContact(SLCustomer.Attn); + CustomerDataMigrationFacade.SetPhoneNo(SLCustomer.Phone); + CustomerDataMigrationFacade.SetFaxNo(SLCustomer.Fax); + + if SLCompanyAdditionalSettings.GetGLModuleEnabled() then begin + CustomerDataMigrationFacade.CreatePostingSetupIfNeeded(PostingGroupCodeTxt, 'Migrated from SL', SLARSetup.ArAcct); + CustomerDataMigrationFacade.SetCustomerPostingGroup(CopyStr(PostingGroupCodeTxt, 1, MaxStrLen(PostingGroupCodeTxt))); + CustomerDataMigrationFacade.SetGenBusPostingGroup(CopyStr(PostingGroupCodeTxt, 1, MaxStrLen(PostingGroupCodeTxt))); + end; + + if (SLCustomer.SlsperId.TrimEnd() <> '') then begin + CustomerDataMigrationFacade.CreateSalespersonPurchaserIfNeeded(SLCustomer.SlsperId, '', '', ''); + CustomerDataMigrationFacade.SetSalesPersonCode(SLCustomer.SlsperId); + end; + + if (SLCustomer.DfltShipToId.TrimEnd() <> '') then begin + if SLSOAddress.Get(SLCustomer.CustId, SLCustomer.DfltShipToId) then + ShipViaID := CopyStr(SLSOAddress.ShipViaID, 1, MaxStrLen(ShipViaID)); + + CustomerDataMigrationFacade.CreateShipmentMethodIfNeeded(ShipViaID, ''); + CustomerDataMigrationFacade.SetShipmentMethodCode(ShipViaID); + end; + + if (SLCustomer.Terms <> '') then begin + Evaluate(PaymentTermsFormula, ''); + CustomerDataMigrationFacade.CreatePaymentTermsIfNeeded(SLCustomer.Terms, SLCustomer.Terms, PaymentTermsFormula); + CustomerDataMigrationFacade.SetPaymentTermsCode(SLCustomer.Terms); + end; + + CustomerDataMigrationFacade.SetName2(CopyStr(SLHelperFunctions.NameFlip(SLCustomer.BillName), 1, 50)); + + if (SLCustomer.Territory <> '') then begin + CustomerDataMigrationFacade.CreateTerritoryCodeIfNeeded(SLCustomer.Territory, ''); + CustomerDataMigrationFacade.SetTerritoryCode(SLCustomer.Territory); + end; + + CustomerDataMigrationFacade.SetCreditLimitLCY(SLCustomer.CrLmt); + + CustomerDataMigrationFacade.ModifyCustomer(true); + end; + + internal procedure MigrateCustomerAddresses(SLCustomer: Record "SL Customer") + var + SLSOAddress: Record "SL SOAddress"; + begin + SLSOAddress.SetRange(CustId, SLCustomer.CustId); + if SLSOAddress.FindSet() then + repeat + SLSOAddress.MoveStagingData(); + until SLSOAddress.Next() = 0; + end; + + internal procedure DecrementMigratedCount() + var + SLHelperFunctions: Codeunit "SL Helper Functions"; + DataMigrationStatusFacade: Codeunit "Data Migration Status Facade"; + begin + DataMigrationStatusFacade.IncrementMigratedRecordCount(SLHelperFunctions.GetMigrationTypeTxt(), Database::Customer, -1); + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Customers/SLSOAddress.Table.al b/Apps/W1/HybridSL/app/src/Migration/Customers/SLSOAddress.Table.al new file mode 100644 index 0000000000..c707749354 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Customers/SLSOAddress.Table.al @@ -0,0 +1,255 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.Sales.Customer; + +table 47056 "SL SOAddress" +{ + Access = Internal; + DataClassification = CustomerContent; + Permissions = tabledata "Ship-to Address" = rim; + ReplicateData = false; + + fields + { + field(1; Addr1; Text[60]) + { + } + field(2; Addr2; Text[60]) + { + } + field(3; Attn; Text[30]) + { + } + field(4; City; Text[30]) + { + } + field(5; COGSAcct; Text[10]) + { + } + field(6; COGSSub; Text[31]) + { + } + field(7; Country; Text[3]) + { + } + field(8; Crtd_DateTime; DateTime) + { + } + field(9; Crtd_Prog; Text[8]) + { + } + field(10; Crtd_User; Text[10]) + { + } + field(11; CustId; Text[15]) + { + } + field(12; Descr; Text[30]) + { + } + field(13; DiscAcct; Text[10]) + { + } + field(14; DiscSub; Text[31]) + { + } + field(15; EMailAddr; Text[80]) + { + } + field(16; Fax; Text[30]) + { + } + field(17; FOB; Text[15]) + { + } + field(18; FrghtCode; Text[4]) + { + } + field(19; FrtAcct; Text[10]) + { + } + field(20; FrtSub; Text[31]) + { + } + field(21; FrtTermsID; Text[10]) + { + } + field(22; GeoCode; Text[10]) + { + } + field(23; LUpd_DateTime; DateTime) + { + } + field(24; LUpd_Prog; Text[8]) + { + } + field(25; LUpd_User; Text[10]) + { + } + field(26; MapLocation; Text[10]) + { + } + field(27; MiscAcct; Text[10]) + { + } + field(28; MiscSub; Text[31]) + { + } + field(29; Name; Text[60]) + { + } + field(30; NoteId; Integer) + { + } + field(31; Phone; Text[30]) + { + } + field(32; S4Future01; Text[30]) + { + } + field(33; S4Future02; Text[30]) + { + } + field(34; S4Future03; Decimal) + { + } + field(35; S4Future04; Decimal) + { + } + field(36; S4Future05; Decimal) + { + } + field(37; S4Future06; Decimal) + { + } + field(38; S4Future07; DateTime) + { + } + field(39; S4Future08; DateTime) + { + } + field(40; S4Future09; Integer) + { + } + field(41; S4Future10; Integer) + { + } + field(42; S4Future11; Text[10]) + { + } + field(43; S4Future12; Text[10]) + { + } + field(44; ShipToId; Text[10]) + { + } + field(45; ShipViaID; Text[15]) + { + } + field(46; SiteID; Text[10]) + { + } + field(47; SlsAcct; Text[10]) + { + } + field(48; SlsPerID; Text[10]) + { + } + field(49; SlsSub; Text[31]) + { + } + field(50; State; Text[3]) + { + } + field(51; Status; Text[1]) + { + } + field(52; TaxId00; Text[10]) + { + } + field(53; TaxId01; Text[10]) + { + } + field(54; TaxId02; Text[10]) + { + } + field(55; TaxId03; Text[10]) + { + } + field(56; TaxLocId; Text[15]) + { + } + field(57; TaxRegNbr; Text[15]) + { + } + field(58; User1; Text[30]) + { + } + field(59; User2; Text[30]) + { + } + field(60; User3; Decimal) + { + } + field(61; User4; Decimal) + { + } + field(62; User5; Text[10]) + { + } + field(63; User6; Text[10]) + { + } + field(64; User7; DateTime) + { + } + field(65; User8; DateTime) + { + } + field(66; Zip; Text[10]) + { + } + } + + keys + { + key(Key1; CustId, ShipToId) + { + Clustered = true; + } + } + + internal procedure MoveStagingData() + var + ShipToAddress: Record "Ship-to Address"; + Customer: Record Customer; + Exists: Boolean; + begin + if Customer.Get(CustId) then begin + Exists := ShipToAddress.Get(CustId, CopyStr(ShipToId, 1, 10)); + ShipToAddress.Init(); + ShipToAddress.Validate("Customer No.", CustId); + ShipToAddress.Code := CopyStr(ShipToId, 1, 10); + ShipToAddress.Name := Customer.Name; + ShipToAddress.Address := Addr1; + ShipToAddress."Address 2" := CopyStr(Addr2, 1, 50); + ShipToAddress.City := CopyStr(City, 1, 30); + ShipToAddress.Contact := Attn; + ShipToAddress."Phone No." := Phone; + ShipToAddress."Fax No." := Fax; + ShipToAddress."Post Code" := Zip; + ShipToAddress."E-Mail" := EMailAddr; + ShipToAddress.County := Country; + + if not Exists then + ShipToAddress.Insert() + else + ShipToAddress.Modify(); + end; + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Customers/SLSOSetup.Table.al b/Apps/W1/HybridSL/app/src/Migration/Customers/SLSOSetup.Table.al new file mode 100644 index 0000000000..a433aa84d6 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Customers/SLSOSetup.Table.al @@ -0,0 +1,597 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47013 "SL SOSetup" +{ + Access = Internal; + Caption = 'SL SOSetup'; + DataClassification = CustomerContent; + + fields + { + field(1; AccrRevAcct; Text[10]) + { + Caption = 'AccrRevAcct'; + } + field(2; AccrRevSub; Text[24]) + { + Caption = 'AccrRevSub'; + } + field(3; AddAlternateID; Integer) + { + Caption = 'AddAlternateID'; + } + field(4; AddDaysEarly; Integer) + { + Caption = 'AddDaysEarly'; + } + field(5; AddDaysLate; Integer) + { + Caption = 'AddDaysLate'; + } + field(6; Addr1; Text[60]) + { + Caption = 'Addr1'; + } + field(7; Addr2; Text[60]) + { + Caption = 'Addr2'; + } + field(8; AllowDiscPrice; Integer) + { + Caption = 'AllowDiscPrice'; + } + field(9; AutoCreateShippers; Integer) + { + Caption = 'AutoCreateShippers'; + } + field(10; AutoInsertContacts; Integer) + { + Caption = 'AutoInsertContacts'; + } + field(11; AutoRef; Integer) + { + Caption = 'AutoRef'; + } + field(12; AutoReleaseBatches; Integer) + { + Caption = 'AutoReleaseBatches'; + } + field(13; AutoSalesJournal; Text[1]) + { + Caption = 'AutoSalesJournal'; + } + field(14; AutoSave; Integer) + { + Caption = 'AutoSave'; + } + field(15; BillThruProject; Integer) + { + Caption = 'BillThruProject'; + } + field(16; BookingLimit; Integer) + { + Caption = 'BookingLimit'; + } + field(17; CashSaleCustID; Text[15]) + { + Caption = 'CashSaleCustID'; + } + field(18; ChainDiscEnabled; Integer) + { + Caption = 'ChainDiscEnabled'; + } + field(19; City; Text[30]) + { + Caption = 'City'; + } + field(20; ConsolInv; Integer) + { + Caption = 'ConsolInv'; + } + field(21; CopyNotes; Integer) + { + Caption = 'CopyNotes'; + } + field(22; CopyToInvc00; Text[1]) + { + Caption = 'CopyToInvc00'; + } + field(23; CopyToInvc01; Text[1]) + { + Caption = 'CopyToInvc01'; + } + field(24; CopyToInvc02; Text[1]) + { + Caption = 'CopyToInvc02'; + } + field(25; CopyToInvc03; Text[1]) + { + Caption = 'CopyToInvc03'; + } + field(26; CopyToInvc04; Text[1]) + { + Caption = 'CopyToInvc04'; + } + field(27; CopyToInvc05; Text[1]) + { + Caption = 'CopyToInvc05'; + } + field(28; CopyToInvc06; Text[1]) + { + Caption = 'CopyToInvc06'; + } + field(29; CopyToInvc07; Text[1]) + { + Caption = 'CopyToInvc07'; + } + field(30; CopyToShipper00; Text[1]) + { + Caption = 'CopyToShipper00'; + } + field(31; CopyToShipper01; Text[1]) + { + Caption = 'CopyToShipper01'; + } + field(32; CopyToShipper02; Text[1]) + { + Caption = 'CopyToShipper02'; + } + field(33; CopyToShipper03; Text[1]) + { + Caption = 'CopyToShipper03'; + } + field(34; CopyToShipper04; Text[1]) + { + Caption = 'CopyToShipper04'; + } + field(35; CopyToShipper05; Text[1]) + { + Caption = 'CopyToShipper05'; + } + field(36; CopyToShipper06; Text[1]) + { + Caption = 'CopyToShipper06'; + } + field(37; CopyToShipper07; Text[1]) + { + Caption = 'CopyToShipper07'; + } + field(38; CopyToShipper08; Text[1]) + { + Caption = 'CopyToShipper08'; + } + field(39; CopyToShipper09; Text[1]) + { + Caption = 'CopyToShipper09'; + } + field(40; Country; Text[3]) + { + Caption = 'Country'; + } + field(41; CpnyName; Text[30]) + { + Caption = 'CpnyName'; + } + field(42; CreditCheck; Integer) + { + Caption = 'CreditCheck'; + } + field(43; CreditGraceDays; Integer) + { + Caption = 'CreditGraceDays'; + } + field(44; CreditGracePct; Decimal) + { + Caption = 'CreditGracePct'; + } + field(45; CreditNoOrdEntry; Integer) + { + Caption = 'CreditNoOrdEntry'; + } + field(46; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(47; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(48; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(49; CutoffTime; DateTime) + { + Caption = 'CutoffTime'; + } + field(50; DecPlNonStdQty; Integer) + { + Caption = 'DecPlNonStdQty'; + } + field(51; DecPlPrice; Integer) + { + Caption = 'DecPlPrice'; + } + field(52; DelayManifestUpdate; Integer) + { + Caption = 'DelayManifestUpdate'; + } + field(53; DelayShipperCreation; Integer) + { + Caption = 'DelayShipperCreation'; + } + field(54; DelayShipperUpdate; Integer) + { + Caption = 'DelayShipperUpdate'; + } + field(55; DelayUpdOrd; Text[1]) + { + Caption = 'DelayUpdOrd'; + } + field(56; DfltAccrueRev; Integer) + { + Caption = 'DfltAccrueRev'; + } + field(57; DfltAltIDType; Text[1]) + { + Caption = 'DfltAltIDType'; + } + field(58; DfltBillThruProject; Integer) + { + Caption = 'DfltBillThruProject'; + } + field(59; DfltConsolInv; Integer) + { + Caption = 'DfltConsolInv'; + } + field(60; DfltDiscountID; Text[1]) + { + Caption = 'DfltDiscountID'; + } + field(61; DfltOrderType; Text[10]) + { + Caption = 'DfltOrderType'; + } + field(62; DfltShipperType; Text[10]) + { + Caption = 'DfltShipperType'; + } + field(63; DfltSiteIDMethod; Text[1]) + { + Caption = 'DfltSiteIDMethod'; + } + field(64; DfltSlsperMethod; Text[1]) + { + Caption = 'DfltSlsperMethod'; + } + field(65; DiscBySite; Integer) + { + Caption = 'DiscBySite'; + } + field(66; DiscPrcDate; Text[1]) + { + Caption = 'DiscPrcDate'; + } + field(67; DiscPrcSeq00; Text[2]) + { + Caption = 'DiscPrcSeq00'; + } + field(68; DiscPrcSeq01; Text[2]) + { + Caption = 'DiscPrcSeq01'; + } + field(69; DiscPrcSeq02; Text[2]) + { + Caption = 'DiscPrcSeq02'; + } + field(70; DiscPrcSeq03; Text[2]) + { + Caption = 'DiscPrcSeq03'; + } + field(71; DiscPrcSeq04; Text[2]) + { + Caption = 'DiscPrcSeq04'; + } + field(72; DiscPrcSeq05; Text[2]) + { + Caption = 'DiscPrcSeq05'; + } + field(73; DiscPrcSeq06; Text[2]) + { + Caption = 'DiscPrcSeq06'; + } + field(74; DiscPrcSeq07; Text[2]) + { + Caption = 'DiscPrcSeq07'; + } + field(75; DiscPrcSeq08; Text[2]) + { + Caption = 'DiscPrcSeq08'; + } + field(76; DispAvailSO; Integer) + { + Caption = 'DispAvailSO'; + } + field(77; EarlyWarningCutoff; Integer) + { + Caption = 'EarlyWarningCutoff'; + } + field(78; ErrorAcct; Text[10]) + { + Caption = 'ErrorAcct'; + } + field(79; ErrorSub; Text[24]) + { + Caption = 'ErrorSub'; + } + field(80; Fax; Text[30]) + { + Caption = 'Fax'; + } + field(81; ForceValidSerialNo; Integer) + { + Caption = 'ForceValidSerialNo'; + } + field(82; INAvail; Integer) + { + Caption = 'INAvail'; + } + field(83; "Init"; Integer) + { + Caption = 'Init'; + } + field(84; InvTaxCat; Integer) + { + Caption = 'InvTaxCat'; + } + field(85; InvtScrapAcct; Text[10]) + { + Caption = 'InvtScrapAcct'; + } + field(86; InvtScrapSub; Text[24]) + { + Caption = 'InvtScrapSub'; + } + field(87; KAAvailAtETA; Integer) + { + Caption = 'KAAvailAtETA'; + } + field(88; LastRebateID; Text[10]) + { + Caption = 'LastRebateID'; + } + field(89; LastShipRegisterID; Text[10]) + { + Caption = 'LastShipRegisterID'; + } + field(90; LookupSpecChar; Text[30]) + { + Caption = 'LookupSpecChar'; + } + field(91; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(92; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(93; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(94; MinGPHandling; Text[1]) + { + Caption = 'MinGPHandling'; + } + field(95; NegQtyMsg; Text[1]) + { + Caption = 'NegQtyMsg'; + } + field(96; NoQueueOnUnreserve; Integer) + { + Caption = 'NoQueueOnUnreserve'; + } + field(97; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(98; PerRetBook; Integer) + { + Caption = 'PerRetBook'; + } + field(99; PerRetTran; Integer) + { + Caption = 'PerRetTran'; + } + field(100; Phone; Text[30]) + { + Caption = 'Phone'; + } + field(101; PickTime; Integer) + { + Caption = 'PickTime'; + } + field(102; PlanScheds; Integer) + { + Caption = 'PlanScheds'; + } + field(103; POAvailAtETA; Integer) + { + Caption = 'POAvailAtETA'; + } + field(104; PostBookings; Integer) + { + Caption = 'PostBookings'; + } + field(105; PrenumberedForms; Integer) + { + Caption = 'PrenumberedForms'; + } + field(106; ProcManSleepSecs; Integer) + { + Caption = 'ProcManSleepSecs'; + } + field(107; PrtCpny; Integer) + { + Caption = 'PrtCpny'; + } + field(108; PrtSite; Integer) + { + Caption = 'PrtSite'; + } + field(109; PrtTax; Integer) + { + Caption = 'PrtTax'; + } + field(110; RMARequired; Integer) + { + Caption = 'RMARequired'; + } + field(111; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(112; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(113; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(114; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(115; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(116; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(117; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(118; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(119; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(120; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(121; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(122; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(123; SendProjInfotoPO; Integer) + { + Caption = 'SendProjInfotoPO'; + } + field(124; SetupID; Text[2]) + { + Caption = 'SetupID'; + } + field(125; ShipConfirmNegQty; Integer) + { + Caption = 'ShipConfirmNegQty'; + } + field(126; State; Text[3]) + { + Caption = 'State'; + } + field(127; TaxDet; Integer) + { + Caption = 'TaxDet'; + } + field(128; TermsOverride; Text[1]) + { + Caption = 'TermsOverride'; + } + field(129; TotalOrdDisc; Integer) + { + Caption = 'TotalOrdDisc'; + } + field(130; TransferAvailAtETA; Integer) + { + Caption = 'TransferAvailAtETA'; + } + field(131; User1; Text[30]) + { + Caption = 'User1'; + } + field(132; User10; DateTime) + { + Caption = 'User10'; + } + field(133; User2; Text[30]) + { + Caption = 'User2'; + } + field(134; User3; Text[30]) + { + Caption = 'User3'; + } + field(135; User4; Text[30]) + { + Caption = 'User4'; + } + field(136; User5; Decimal) + { + Caption = 'User5'; + } + field(137; User6; Decimal) + { + Caption = 'User6'; + } + field(138; User7; Text[10]) + { + Caption = 'User7'; + } + field(139; User8; Text[10]) + { + Caption = 'User8'; + } + field(140; User9; DateTime) + { + Caption = 'User9'; + } + field(141; WCShipViaID; Text[15]) + { + Caption = 'WCShipViaID'; + } + field(142; WOAvailAtETA; Integer) + { + Caption = 'WOAvailAtETA'; + } + field(143; Zip; Text[10]) + { + Caption = 'Zip'; + } + } + + keys + { + key(Key1; SetupID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLAPAdjust.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLAPAdjust.Table.al new file mode 100644 index 0000000000..c32dbc30e3 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLAPAdjust.Table.al @@ -0,0 +1,233 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47023 "SL APAdjust" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AdjAmt; Decimal) + { + Caption = 'AdjAmt'; + } + field(2; AdjBatNbr; Text[10]) + { + Caption = 'AdjBatNbr'; + } + field(3; AdjBkupWthld; Decimal) + { + Caption = 'AdjBkupWthld'; + } + field(4; AdjdDocType; Text[2]) + { + Caption = 'AdjdDocType'; + } + field(5; AdjDiscAmt; Decimal) + { + Caption = 'AdjDiscAmt'; + } + field(6; AdjdRefNbr; Text[10]) + { + Caption = 'AdjdRefNbr'; + } + field(7; AdjgAcct; Text[10]) + { + Caption = 'AdjgAcct'; + } + field(8; AdjgDocDate; DateTime) + { + Caption = 'AdjgDocDate'; + } + field(9; AdjgDocType; Text[2]) + { + Caption = 'AdjgDocType'; + } + field(10; AdjgPerPost; Text[6]) + { + Caption = 'AdjgPerPost'; + } + field(11; AdjgRefNbr; Text[10]) + { + Caption = 'AdjgRefNbr'; + } + field(12; AdjgSub; Text[24]) + { + Caption = 'AdjgSub'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; CuryAdjdAmt; Decimal) + { + Caption = 'CuryAdjdAmt'; + } + field(17; CuryAdjdBkupWthld; Decimal) + { + Caption = 'CuryAdjdBkupWthld'; + } + field(18; CuryAdjdCuryId; Text[4]) + { + Caption = 'CuryAdjdCuryId'; + } + field(19; CuryAdjdDiscAmt; Decimal) + { + Caption = 'CuryAdjdDiscAmt'; + } + field(20; CuryAdjdMultDiv; Text[1]) + { + Caption = 'CuryAdjdMultDiv'; + } + field(21; CuryAdjdRate; Decimal) + { + Caption = 'CuryAdjdRate'; + } + field(22; CuryAdjgAmt; Decimal) + { + Caption = 'CuryAdjgAmt'; + } + field(23; CuryAdjgBkupWthld; Decimal) + { + Caption = 'CuryAdjgBkupWthld'; + } + field(24; CuryAdjgDiscAmt; Decimal) + { + Caption = 'CuryAdjgDiscAmt'; + } + field(25; CuryRGOLAmt; Decimal) + { + Caption = 'CuryRGOLAmt'; + } + field(26; DateAppl; DateTime) + { + Caption = 'DateAppl'; + } + field(27; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(28; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(29; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(30; PerAppl; Text[6]) + { + Caption = 'PerAppl'; + } + field(31; PrePay_RefNbr; Text[10]) + { + Caption = 'PrePay_RefNbr'; + } + field(32; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(33; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(34; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(35; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(36; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(37; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(38; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(39; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(40; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(41; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(42; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(43; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(44; User1; Text[30]) + { + Caption = 'User1'; + } + field(45; User2; Text[30]) + { + Caption = 'User2'; + } + field(46; User3; Decimal) + { + Caption = 'User3'; + } + field(47; User4; Decimal) + { + Caption = 'User4'; + } + field(48; User5; Text[10]) + { + Caption = 'User5'; + } + field(49; User6; Text[10]) + { + Caption = 'User6'; + } + field(50; User7; DateTime) + { + Caption = 'User7'; + } + field(51; User8; DateTime) + { + Caption = 'User8'; + } + field(52; VendId; Text[15]) + { + Caption = 'VendId'; + } + } + + keys + { + key(Key1; AdjdRefNbr, AdjdDocType, AdjgRefNbr, AdjgDocType, VendId, AdjgAcct, AdjgSub) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLAPDoc.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLAPDoc.Table.al new file mode 100644 index 0000000000..004b5972aa --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLAPDoc.Table.al @@ -0,0 +1,536 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47021 "SL APDoc" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Account Number'; + } + field(2; AddlCost; Integer) + { + Caption = 'Additional Cost'; + } + field(3; ApplyAmt; Decimal) + { + Caption = 'Apply Amount'; + } + field(4; ApplyDate; DateTime) + { + Caption = 'Apply Date'; + } + field(5; ApplyRefNbr; Text[10]) + { + Caption = 'Apply Ref Nbr'; + } + field(6; BatNbr; Text[10]) + { + Caption = 'Batch Number'; + } + field(7; BatSeq; Integer) + { + Caption = 'Batch Sequence'; + } + field(8; BWAmt; Decimal) + { + Caption = 'BW Amount'; + } + field(9; CashAcct; Text[10]) + { + Caption = 'CashAcct'; + } + field(10; CashSub; Text[24]) + { + Caption = 'CashSub'; + } + field(11; ClearAmt; Decimal) + { + Caption = 'ClearAmt'; + } + field(12; ClearDate; DateTime) + { + Caption = 'ClearDate'; + } + field(13; CodeType; Text[4]) + { + Caption = 'CodeType'; + } + field(14; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(15; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(16; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(17; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(18; CurrentNbr; Integer) + { + Caption = 'CurrentNbr'; + } + field(19; CuryBWAmt; Decimal) + { + Caption = 'CuryBWAmt'; + } + field(20; CuryDiscBal; Decimal) + { + Caption = 'CuryDiscBal'; + } + field(21; CuryDiscTkn; Decimal) + { + Caption = 'CuryDiscTkn'; + } + field(22; CuryDocBal; Decimal) + { + Caption = 'CuryDocBal'; + } + field(23; CuryEffDate; DateTime) + { + Caption = 'CuryEffDateDate'; + } + field(24; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(25; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(26; CuryOrigDocAmt; Decimal) + { + Caption = 'CuryOrigDocAmt'; + } + field(27; CuryPmtAmt; Decimal) + { + Caption = 'CuryPmtAmt'; + } + field(28; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(29; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(30; CuryTaxTot00; Decimal) + { + Caption = 'CuryTaxTot00'; + } + field(31; CuryTaxTot01; Decimal) + { + Caption = 'CuryTaxTot01'; + } + field(32; CuryTaxTot02; Decimal) + { + Caption = 'CuryTaxTot02'; + } + field(33; CuryTaxTot03; Decimal) + { + Caption = 'CuryTaxTot03'; + } + field(34; CuryTxblTot00; Decimal) + { + Caption = 'CuryTxblTot00'; + } + field(35; CuryTxblTot01; Decimal) + { + Caption = 'CuryTxblTot01'; + } + field(36; CuryTxblTot02; Decimal) + { + Caption = 'CuryTxblTot02'; + } + field(37; CuryTxblTot03; Decimal) + { + Caption = 'CuryTxblTot03'; + } + field(38; Cycle; Integer) + { + Caption = 'Cycle'; + } + field(39; DfltDetail; Integer) + { + Caption = 'DfltDetail'; + } + field(40; DirectDeposit; Text[1]) + { + Caption = 'DirectDeposit'; + } + field(41; DiscBal; Decimal) + { + Caption = 'DiscBal'; + } + field(42; DiscDate; DateTime) + { + Caption = 'DiscDate'; + } + field(43; DiscTkn; Decimal) + { + Caption = 'DiscTkn'; + } + field(44; Doc1099; Integer) + { + Caption = 'Doc1099'; + } + field(45; DocBal; Decimal) + { + Caption = 'DocBal'; + } + field(46; DocClass; Text[1]) + { + Caption = 'DocClass'; + } + field(47; DocDate; DateTime) + { + Caption = 'DocDate'; + } + field(48; DocDesc; Text[30]) + { + Caption = 'DocDesc'; + } + field(49; DocType; Text[2]) + { + Caption = 'DocType'; + } + field(50; DueDate; DateTime) + { + Caption = 'DueDate'; + } + field(51; Econfirm; Text[18]) + { + Caption = 'Econfirm'; + } + field(52; Estatus; Text[1]) + { + Caption = 'Estatus'; + } + field(53; ExcludeFreight; Text[1]) + { + Caption = 'ExcludeFreight'; + } + field(54; FreightAmt; Decimal) + { + Caption = 'FreightAmt'; + } + field(55; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(56; InvcDate; DateTime) + { + Caption = 'InvcDate'; + } + field(57; InvcNbr; Text[15]) + { + Caption = 'InvcNbr'; + } + field(58; LCCode; Text[10]) + { + Caption = 'LCCode'; + } + field(59; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(60; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(61; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(62; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(63; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(64; NbrCycle; Integer) + { + Caption = 'NbrCycle'; + } + field(65; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(66; OpenDoc; Integer) + { + Caption = 'OpenDoc'; + } + field(67; OrigDocAmt; Decimal) + { + Caption = 'OrigDocAmt'; + } + field(68; PayDate; DateTime) + { + Caption = 'PayDate'; + } + field(69; PayHoldDesc; Text[30]) + { + Caption = 'PayHoldDesc'; + } + field(70; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(71; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(72; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(73; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(74; PmtAmt; Decimal) + { + Caption = 'PmtAmt'; + } + field(75; PmtID; Text[10]) + { + Caption = 'PmtID'; + } + field(76; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(77; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(78; PrePay_RefNbr; Text[10]) + { + Caption = 'PrePay_RefNbr'; + } + field(79; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(80; "RecordID"; Integer) + { + Caption = 'RecordID'; + } + field(81; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(82; Retention; Integer) + { + Caption = 'Retention'; + } + field(83; RGOLAmt; Decimal) + { + Caption = 'RGOLAmt'; + } + field(84; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(85; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(86; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(87; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(88; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(89; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(90; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(91; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(92; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(93; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(94; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(95; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(96; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(97; Selected; Integer) + { + Caption = 'Selected'; + } + field(98; Status; Text[1]) + { + Caption = 'Status'; + } + field(99; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(100; Subcontract; Text[16]) + { + Caption = 'Subcontract'; + } + field(101; TaxCntr00; Integer) + { + Caption = 'TaxCntr00'; + } + field(102; TaxCntr01; Integer) + { + Caption = 'TaxCntr01'; + } + field(103; TaxCntr02; Integer) + { + Caption = 'TaxCntr02'; + } + field(104; TaxCntr03; Integer) + { + Caption = 'TaxCntr03'; + } + field(105; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(106; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(107; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(108; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(109; TaxTot00; Decimal) + { + Caption = 'TaxTot00'; + } + field(110; TaxTot01; Decimal) + { + Caption = 'TaxTot01'; + } + field(111; TaxTot02; Decimal) + { + Caption = 'TaxTot02'; + } + field(112; TaxTot03; Decimal) + { + Caption = 'TaxTot03'; + } + field(113; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(114; TxblTot00; Decimal) + { + Caption = 'TxblTot00'; + } + field(115; TxblTot01; Decimal) + { + Caption = 'TxblTot01'; + } + field(116; TxblTot02; Decimal) + { + Caption = 'TxblTot02'; + } + field(117; TxblTot03; Decimal) + { + Caption = 'TxblTot03'; + } + field(118; User1; Text[30]) + { + Caption = 'User1'; + } + field(119; User2; Text[30]) + { + Caption = 'User2'; + } + field(120; User3; Decimal) + { + Caption = 'User3'; + } + field(121; User4; Decimal) + { + Caption = 'User4'; + } + field(122; User5; Text[10]) + { + Caption = 'User5'; + } + field(123; User6; Text[10]) + { + Caption = 'User6'; + } + field(124; User7; DateTime) + { + Caption = 'User7'; + } + field(125; User8; DateTime) + { + Caption = 'User8'; + } + field(126; VCVoidDocs; Integer) + { + Caption = 'VCVoidDocs'; + } + field(127; VendId; Text[15]) + { + Caption = 'VendId'; + } + field(128; VendName; Text[60]) + { + Caption = 'VendName'; + } + } + keys + { + key(Key1; Acct, Sub, DocType, RefNbr, RecordID) + { + Clustered = true; + } + } +} diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLAPTran.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLAPTran.Table.al new file mode 100644 index 0000000000..d8d9f83018 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLAPTran.Table.al @@ -0,0 +1,524 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47022 "SL APTran" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(4; Applied_PPRefNbr; Text[10]) + { + Caption = 'Applied_PPRefNbr'; + } + field(5; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(6; BOMLineRef; Text[5]) + { + Caption = 'BOMLineRef'; + } + field(7; BoxNbr; Text[2]) + { + Caption = 'BoxNbr'; + } + field(8; Component; Text[30]) + { + Caption = 'Component'; + } + field(9; CostType; Text[8]) + { + Caption = 'CostType'; + } + field(10; CostTypeWO; Text[2]) + { + Caption = 'CostTypeWO'; + } + field(11; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(12; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(13; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(14; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(15; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(16; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(17; CuryPOExtPrice; Decimal) + { + Caption = 'CuryPOExtPrice'; + } + field(18; CuryPOUnitPrice; Decimal) + { + Caption = 'CuryPOUnitPrice'; + } + field(19; CuryPPV; Decimal) + { + Caption = 'CuryPPV'; + } + field(20; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(21; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(22; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(23; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(24; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(25; CuryTranAmt; Decimal) + { + Caption = 'CuryTranAmt'; + } + field(26; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(27; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(28; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(29; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(30; CuryUnitPrice; Decimal) + { + Caption = 'CuryUnitPrice'; + } + field(31; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(32; Employee; Text[10]) + { + Caption = 'Employee'; + } + field(33; EmployeeID; Text[10]) + { + Caption = 'EmployeeID'; + } + field(34; Excpt; Integer) + { + Caption = 'Excpt'; + } + field(35; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(36; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(37; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(38; InvcTypeID; Text[10]) + { + Caption = 'InvcTypeID'; + } + field(39; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(40; JobRate; Decimal) + { + Caption = 'JobRate'; + } + field(41; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(42; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(43; LCCode; Text[10]) + { + Caption = 'LCCode'; + } + field(44; LineId; Integer) + { + Caption = 'LineId'; + } + field(45; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(46; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(47; LineType; Text[1]) + { + Caption = 'LineType'; + } + field(48; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(49; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(50; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(51; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(52; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(53; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(54; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(55; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(56; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(57; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(58; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(59; POExtPrice; Decimal) + { + Caption = 'POExtPrice'; + } + field(60; POLineRef; Text[5]) + { + Caption = 'POLineRef'; + } + field(61; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(62; POQty; Decimal) + { + Caption = 'POQty'; + } + field(63; POUnitPrice; Decimal) + { + Caption = 'POUnitPrice'; + } + field(64; PPV; Decimal) + { + Caption = 'PPV'; + } + field(65; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(66; Qty; Decimal) + { + Caption = 'Qty'; + } + field(67; QtyVar; Decimal) + { + Caption = 'QtyVar'; + } + field(68; RcptLineRef; Text[5]) + { + Caption = 'RcptLineRef'; + } + field(69; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(70; RcptQty; Decimal) + { + Caption = 'RcptQty'; + } + field(71; "RecordID"; Integer) + { + Caption = 'RecordID'; + } + field(72; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(73; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(74; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(75; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(76; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(77; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(78; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(79; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(80; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(81; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(82; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(83; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(84; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(85; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(86; ServiceDate; DateTime) + { + Caption = 'ServiceDate'; + } + field(87; SiteId; Text[10]) + { + Caption = 'SiteId'; + } + field(88; SoLineRef; Text[5]) + { + Caption = 'SoLineRef'; + } + field(89; SOOrdNbr; Text[15]) + { + Caption = 'SOOrdNbr'; + } + field(90; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(91; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(92; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(93; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(94; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(95; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(96; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(97; TaxCalced; Text[1]) + { + Caption = 'TaxCalced'; + } + field(98; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(99; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(100; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(101; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(102; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(103; TaxIdDflt; Text[10]) + { + Caption = 'TaxIdDflt'; + } + field(104; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(105; TranClass; Text[1]) + { + Caption = 'TranClass'; + } + field(106; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(107; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(108; trantype; Text[2]) + { + Caption = 'trantype'; + } + field(109; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(110; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(111; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(112; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(113; UnitDesc; Text[10]) + { + Caption = 'UnitDesc'; + } + field(114; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(115; User1; Text[30]) + { + Caption = 'User1'; + } + field(116; User2; Text[30]) + { + Caption = 'User2'; + } + field(117; User3; Decimal) + { + Caption = 'User3'; + } + field(118; User4; Decimal) + { + Caption = 'User4'; + } + field(119; User5; Text[10]) + { + Caption = 'User5'; + } + field(120; User6; Text[10]) + { + Caption = 'User6'; + } + field(121; User7; DateTime) + { + Caption = 'User7'; + } + field(122; User8; DateTime) + { + Caption = 'User8'; + } + field(123; VendId; Text[15]) + { + Caption = 'VendId'; + } + field(124; WONbr; Text[10]) + { + Caption = 'WONbr'; + } + field(125; WOStepNbr; Text[5]) + { + Caption = 'WOStepNbr'; + } + } + keys + { + key(Key1; BatNbr, Acct, Sub, RefNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLARAdjust.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLARAdjust.Table.al new file mode 100644 index 0000000000..7f460b79bb --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLARAdjust.Table.al @@ -0,0 +1,225 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47026 "SL ARAdjust" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AdjAmt; Decimal) + { + Caption = 'AdjAmt'; + } + field(2; AdjBatNbr; Text[10]) + { + Caption = 'AdjBatNbr'; + } + field(3; AdjdDocType; Text[2]) + { + Caption = 'AdjdDocType'; + } + field(4; AdjDiscAmt; Decimal) + { + Caption = 'AdjDiscAmt'; + } + field(5; AdjdRefNbr; Text[10]) + { + Caption = 'AdjdRefNbr'; + } + field(6; AdjgDocDate; DateTime) + { + Caption = 'AdjgDocDate'; + } + field(7; AdjgDocType; Text[2]) + { + Caption = 'AdjgDocType'; + } + field(8; AdjgPerPost; Text[6]) + { + Caption = 'AdjgPerPost'; + } + field(9; AdjgRefNbr; Text[10]) + { + Caption = 'AdjgRefNbr'; + } + field(10; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(11; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(12; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(13; CuryAdjdAmt; Decimal) + { + Caption = 'CuryAdjdAmt'; + } + field(14; CuryAdjdCuryId; Text[4]) + { + Caption = 'CuryAdjdCuryId'; + } + field(15; CuryAdjdDiscAmt; Decimal) + { + Caption = 'CuryAdjdDiscAmt'; + } + field(16; CuryAdjdMultDiv; Text[1]) + { + Caption = 'CuryAdjdMultDiv'; + } + field(17; CuryAdjdRate; Decimal) + { + Caption = 'CuryAdjdRate'; + } + field(18; CuryAdjgAmt; Decimal) + { + Caption = 'CuryAdjgAmt'; + } + field(19; CuryAdjgDiscAmt; Decimal) + { + Caption = 'CuryAdjgDiscAmt'; + } + field(20; CuryRGOLAmt; Decimal) + { + Caption = 'CuryRGOLAmt'; + } + field(21; CustId; Text[15]) + { + Caption = 'CustId'; + } + field(22; DateAppl; DateTime) + { + Caption = 'DateAppl'; + } + field(23; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(24; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(25; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(26; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(27; PerAppl; Text[6]) + { + Caption = 'PerAppl'; + } + field(28; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(29; "RecordID"; Integer) + { + Caption = 'RecordID'; + } + field(30; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(31; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(32; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(33; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(34; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(35; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(36; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(37; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(38; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(39; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(40; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(41; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(42; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(43; User1; Text[30]) + { + Caption = 'User1'; + } + field(44; User2; Text[30]) + { + Caption = 'User2'; + } + field(45; User3; Decimal) + { + Caption = 'User3'; + } + field(46; User4; Decimal) + { + Caption = 'User4'; + } + field(47; User5; Text[10]) + { + Caption = 'User5'; + } + field(48; User6; Text[10]) + { + Caption = 'User6'; + } + field(49; User7; DateTime) + { + Caption = 'User7'; + } + field(50; User8; DateTime) + { + Caption = 'User8'; + } + } + + keys + { + key(Key1; AdjdRefNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLARDoc.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLARDoc.Table.al new file mode 100644 index 0000000000..a18c5557ec --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLARDoc.Table.al @@ -0,0 +1,525 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47024 "SL ARDoc" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AcctNbr; Text[30]) + { + Caption = 'AcctNbr'; + } + field(2; AgentID; Text[10]) + { + Caption = 'AgentID'; + } + field(3; ApplAmt; Decimal) + { + Caption = 'ApplAmt'; + } + field(4; ApplBatNbr; Text[10]) + { + Caption = 'ApplBatNbr'; + } + field(5; ApplBatSeq; Integer) + { + Caption = 'ApplBatSeq'; + } + field(6; ASID; Integer) + { + Caption = 'ASID'; + } + field(7; BankAcct; Text[10]) + { + Caption = 'BankAcct'; + } + field(8; BankID; Text[10]) + { + Caption = 'BankID'; + } + field(9; BankSub; Text[24]) + { + Caption = 'BankSub'; + } + field(10; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(11; BatSeq; Integer) + { + Caption = 'BatSeq'; + } + field(12; Cleardate; DateTime) + { + Caption = 'Cleardate'; + } + field(13; CmmnAmt; Decimal) + { + Caption = 'CmmnAmt'; + } + field(14; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(15; ContractID; Text[10]) + { + Caption = 'ContractID'; + } + field(16; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(17; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(18; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(19; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(20; CurrentNbr; Integer) + { + Caption = 'CurrentNbr'; + } + field(21; CuryApplAmt; Decimal) + { + Caption = 'CuryApplAmt'; + } + field(22; CuryClearAmt; Decimal) + { + Caption = 'CuryClearAmt'; + } + field(23; CuryCmmnAmt; Decimal) + { + Caption = 'CuryCmmnAmt'; + } + field(24; CuryDiscApplAmt; Decimal) + { + Caption = 'CuryDiscApplAmt'; + } + field(25; CuryDiscBal; Decimal) + { + Caption = 'CuryDiscBal'; + } + field(26; CuryDocBal; Decimal) + { + Caption = 'CuryDocBal'; + } + field(27; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(28; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(29; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(30; CuryOrigDocAmt; Decimal) + { + Caption = 'CuryOrigDocAmt'; + } + field(31; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(32; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(33; CuryStmtBal; Decimal) + { + Caption = 'CuryStmtBal'; + } + field(34; CuryTaxTot00; Decimal) + { + Caption = 'CuryTaxTot00'; + } + field(35; CuryTaxTot01; Decimal) + { + Caption = 'CuryTaxTot01'; + } + field(36; CuryTaxTot02; Decimal) + { + Caption = 'CuryTaxTot02'; + } + field(37; CuryTaxTot03; Decimal) + { + Caption = 'CuryTaxTot03'; + } + field(38; CuryTxblTot00; Decimal) + { + Caption = 'CuryTxblTot00'; + } + field(39; CuryTxblTot01; Decimal) + { + Caption = 'CuryTxblTot01'; + } + field(40; CuryTxblTot02; Decimal) + { + Caption = 'CuryTxblTot02'; + } + field(41; CuryTxblTot03; Decimal) + { + Caption = 'CuryTxblTot03'; + } + field(42; CustId; Text[15]) + { + Caption = 'CustId'; + } + field(43; CustOrdNbr; Text[25]) + { + Caption = 'CustOrdNbr'; + } + field(44; Cycle; Integer) + { + Caption = 'Cycle'; + } + field(45; DiscApplAmt; Decimal) + { + Caption = 'DiscApplAmt'; + } + field(46; DiscBal; Decimal) + { + Caption = 'DiscBal'; + } + field(47; DiscDate; DateTime) + { + Caption = 'DiscDate'; + } + field(48; DocBal; Decimal) + { + Caption = 'DocBal'; + } + field(49; DocClass; Text[1]) + { + Caption = 'DocClass'; + } + field(50; DocDate; DateTime) + { + Caption = 'DocDate'; + } + field(51; DocDesc; Text[30]) + { + Caption = 'DocDesc'; + } + field(52; DocType; Text[2]) + { + Caption = 'DocType'; + } + field(53; DraftIssued; Integer) + { + Caption = 'DraftIssued'; + } + field(54; DueDate; DateTime) + { + Caption = 'DueDate'; + } + field(55; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(56; JobCntr; Integer) + { + Caption = 'JobCntr'; + } + field(57; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(58; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(59; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(60; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(61; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(62; NbrCycle; Integer) + { + Caption = 'NbrCycle'; + } + field(67; NoPrtStmt; Integer) + { + Caption = 'NoPrtStmt'; + } + field(68; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(69; OpenDoc; Integer) + { + Caption = 'OpenDoc'; + } + field(70; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(71; OrigBankAcct; Text[10]) + { + Caption = 'OrigBankAcct'; + } + field(72; OrigBankSub; Text[24]) + { + Caption = 'OrigBankSub'; + } + field(73; OrigCpnyID; Text[10]) + { + Caption = 'OrigCpnyID'; + } + field(74; OrigDocAmt; Decimal) + { + Caption = 'OrigDocAmt'; + } + field(75; OrigDocNbr; Text[10]) + { + Caption = 'OrigDocNbr'; + } + field(76; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(77; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(78; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(79; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(80; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(81; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(82; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(83; RGOLAmt; Decimal) + { + Caption = 'RGOLAmt'; + } + field(84; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(85; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(86; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(87; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(88; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(89; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(90; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(91; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(92; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(93; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(94; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(95; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(96; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(97; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(98; ShipmentNbr; Integer) + { + Caption = 'ShipmentNbr'; + } + field(99; SlsperId; Text[10]) + { + Caption = 'SlsperId'; + } + field(100; Status; Text[1]) + { + Caption = 'Status'; + } + field(101; StmtBal; Decimal) + { + Caption = 'StmtBal'; + } + field(102; StmtDate; DateTime) + { + Caption = 'StmtDate'; + } + field(103; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(104; TaxCntr00; Integer) + { + Caption = 'TaxCntr00'; + } + field(105; TaxCntr01; Integer) + { + Caption = 'TaxCntr01'; + } + field(106; TaxCntr02; Integer) + { + Caption = 'TaxCntr02'; + } + field(107; TaxCntr03; Integer) + { + Caption = 'TaxCntr03'; + } + field(108; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(109; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(110; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(111; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(112; TaxTot00; Decimal) + { + Caption = 'TaxTot00'; + } + field(113; TaxTot01; Decimal) + { + Caption = 'TaxTot01'; + } + field(114; TaxTot02; Decimal) + { + Caption = 'TaxTot02'; + } + field(115; TaxTot03; Decimal) + { + Caption = 'TaxTot03'; + } + field(116; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(117; TxblTot00; Decimal) + { + Caption = 'TxblTot00'; + } + field(118; TxblTot01; Decimal) + { + Caption = 'TxblTot01'; + } + field(119; TxblTot02; Decimal) + { + Caption = 'TxblTot02'; + } + field(120; TxblTot03; Decimal) + { + Caption = 'TxblTot03'; + } + field(121; User1; Text[30]) + { + Caption = 'User1'; + } + field(122; User2; Text[30]) + { + Caption = 'User2'; + } + field(123; User3; Decimal) + { + Caption = 'User3'; + } + field(124; User4; Decimal) + { + Caption = 'User4'; + } + field(125; User5; Text[10]) + { + Caption = 'User5'; + } + field(126; User6; Text[10]) + { + Caption = 'User6'; + } + field(127; User7; DateTime) + { + Caption = 'User7'; + } + field(128; User8; DateTime) + { + Caption = 'User8'; + } + field(129; WSID; Integer) + { + Caption = 'WSID'; + } + } + + keys + { + key(Key1; CustId, DocType, RefNbr, BatNbr, BatSeq) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLARTran.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLARTran.Table.al new file mode 100644 index 0000000000..3ad94f9332 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLARTran.Table.al @@ -0,0 +1,461 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47025 "SL ARTran" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(4; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(5; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(6; ContractID; Text[10]) + { + Caption = 'ContractID'; + } + field(7; CostType; Text[8]) + { + Caption = 'CostType'; + } + field(8; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(9; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(10; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(11; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(12; CuryExtCost; Decimal) + { + Caption = 'CuryExtCost'; + } + field(13; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(14; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(15; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(16; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(17; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(18; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(19; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(20; CuryTranAmt; Decimal) + { + Caption = 'CuryTranAmt'; + } + field(21; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(22; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(23; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(24; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(25; CuryUnitPrice; Decimal) + { + Caption = 'CuryUnitPrice'; + } + field(26; CustId; Text[15]) + { + Caption = 'CustId'; + } + field(27; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(28; Excpt; Integer) + { + Caption = 'Excpt'; + } + field(29; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(30; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(31; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(32; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(33; InstallNbr; Integer) + { + Caption = 'InstallNbr'; + } + field(34; InvtId; Text[30]) + { + Caption = 'InvtId'; + } + field(35; JobRate; Decimal) + { + Caption = 'JobRate'; + } + field(36; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(37; LineId; Integer) + { + Caption = 'LineId'; + } + field(38; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(39; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(40; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(41; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(42; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(43; MasterDocNbr; Text[10]) + { + Caption = 'MasterDocNbr'; + } + field(44; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(45; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(46; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(47; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(48; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(49; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(50; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(51; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(52; Qty; Decimal) + { + Caption = 'Qty'; + } + field(53; "RecordID"; Integer) + { + Caption = 'RecordID'; + } + field(54; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(55; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(56; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(57; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(58; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(59; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(60; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(61; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(62; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(63; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(64; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(65; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(66; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(67; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(68; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(69; ServiceCallLineNbr; Integer) + { + Caption = 'ServiceCallLineNbr'; + } + field(70; ServiceDate; DateTime) + { + Caption = 'ServiceDate'; + } + field(71; ShipperCpnyID; Text[10]) + { + Caption = 'ShipperCpnyID'; + } + field(72; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(73; ShipperLineRef; Text[5]) + { + Caption = 'ShipperLineRef'; + } + field(74; SiteId; Text[10]) + { + Caption = 'SiteId'; + } + field(75; SlsperId; Text[10]) + { + Caption = 'SlsperId'; + } + field(76; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(77; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(78; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(79; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(80; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(81; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(82; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(83; TaxCalced; Text[1]) + { + Caption = 'TaxCalced'; + } + field(84; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(85; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(86; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(87; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(88; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(89; TaxIdDflt; Text[10]) + { + Caption = 'TaxIdDflt'; + } + field(90; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(91; TranClass; Text[1]) + { + Caption = 'TranClass'; + } + field(92; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(93; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(94; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(95; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(96; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(97; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(98; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(99; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(100; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(101; User1; Text[30]) + { + Caption = 'User1'; + } + field(102; User2; Text[30]) + { + Caption = 'User2'; + } + field(103; User3; Decimal) + { + Caption = 'User3'; + } + field(104; User4; Decimal) + { + Caption = 'User4'; + } + field(105; User5; Text[10]) + { + Caption = 'User5'; + } + field(106; User6; Text[10]) + { + Caption = 'User6'; + } + field(107; User7; DateTime) + { + Caption = 'User7'; + } + field(108; User8; DateTime) + { + Caption = 'User8'; + } + field(109; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(Key1; CustId, TranType, RefNbr, LineNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLBatch.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLBatch.Table.al new file mode 100644 index 0000000000..e99460b433 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLBatch.Table.al @@ -0,0 +1,309 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47027 "SL Batch" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AutoRev; Integer) + { + Caption = 'AutoRev'; + } + field(3; AutoRevCopy; Integer) + { + Caption = 'AutoRevCopy'; + } + field(4; BalanceType; Text[1]) + { + Caption = 'BalanceType'; + } + field(5; BankAcct; Text[10]) + { + Caption = 'BankAcct'; + } + field(6; BankSub; Text[24]) + { + Caption = 'BankSub'; + } + field(7; BaseCuryID; Text[4]) + { + Caption = 'BaseCuryID'; + } + field(8; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(9; BatType; Text[1]) + { + Caption = 'BatType'; + } + field(10; clearamt; Decimal) + { + Caption = 'clearamt'; + } + field(11; Cleared; Integer) + { + Caption = 'Cleared'; + } + field(12; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; CrTot; Decimal) + { + Caption = 'CrTot'; + } + field(17; CtrlTot; Decimal) + { + Caption = 'CtrlTot'; + } + field(18; CuryCrTot; Decimal) + { + Caption = 'CuryCrTot'; + } + field(19; CuryCtrlTot; Decimal) + { + Caption = 'CuryCtrlTot'; + } + field(20; CuryDepositAmt; Decimal) + { + Caption = 'CuryDepositAmt'; + } + field(21; CuryDrTot; Decimal) + { + Caption = 'CuryDrTot'; + } + field(22; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(23; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(24; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(25; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(26; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(27; Cycle; Integer) + { + Caption = 'Cycle'; + } + field(28; DateClr; DateTime) + { + Caption = 'DateClr'; + } + field(29; DateEnt; DateTime) + { + Caption = 'DateEnt'; + } + field(30; DepositAmt; Decimal) + { + Caption = 'DepositAmt'; + } + field(31; Descr; Text[30]) + { + Caption = 'Descr'; + } + field(32; DrTot; Decimal) + { + Caption = 'DrTot'; + } + field(33; EditScrnNbr; Text[5]) + { + Caption = 'EditScrnNbr'; + } + field(34; GLPostOpt; Text[1]) + { + Caption = 'GLPostOpt'; + } + field(35; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(36; LedgerID; Text[10]) + { + Caption = 'LedgerID'; + } + field(37; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(38; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(39; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(40; Module; Text[2]) + { + Caption = 'Module'; + } + field(41; NbrCycle; Integer) + { + Caption = 'NbrCycle'; + } + field(42; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(43; OrigBatNbr; Text[10]) + { + Caption = 'OrigBatNbr'; + } + field(44; OrigCpnyID; Text[10]) + { + Caption = 'OrigCpnyID'; + } + field(45; OrigScrnNbr; Text[5]) + { + Caption = 'OrigScrnNbr'; + } + field(46; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(47; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(48; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(49; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(50; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(51; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(52; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(53; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(54; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(55; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(56; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(57; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(58; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(59; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(60; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(61; Status; Text[1]) + { + Caption = 'Status'; + } + field(62; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(64; User1; Text[30]) + { + Caption = 'User1'; + } + field(65; User2; Text[30]) + { + Caption = 'User2'; + } + field(66; User3; Decimal) + { + Caption = 'User3'; + } + field(67; User4; Decimal) + { + Caption = 'User4'; + } + field(68; User5; Text[10]) + { + Caption = 'User5'; + } + field(69; User6; Text[10]) + { + Caption = 'User6'; + } + field(70; User7; DateTime) + { + Caption = 'User7'; + } + field(71; User8; DateTime) + { + Caption = 'User8'; + } + field(72; VOBatNbrForPP; Text[10]) + { + Caption = 'VOBatNbrForPP'; + } + } + + keys + { + key(Key1; Module, BatNbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLGLTran.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLGLTran.Table.al new file mode 100644 index 0000000000..888154136a --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLGLTran.Table.al @@ -0,0 +1,329 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47050 "SL GLTran" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AppliedDate; DateTime) + { + Caption = 'AppliedDate'; + } + field(3; BalanceType; Text[1]) + { + Caption = 'BalanceType'; + } + field(4; BaseCuryID; Text[4]) + { + Caption = 'BaseCuryID'; + } + field(5; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(6; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(7; CrAmt; Decimal) + { + Caption = 'CrAmt'; + } + field(8; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(9; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(10; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(11; CuryCrAmt; Decimal) + { + Caption = 'CuryCrAmt'; + } + field(12; CuryDrAmt; Decimal) + { + Caption = 'CuryDrAmt'; + } + field(13; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(14; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(15; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(16; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(17; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(18; DrAmt; Decimal) + { + Caption = 'DrAmt'; + } + field(19; EmployeeID; Text[10]) + { + Caption = 'EmployeeID'; + } + field(20; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(21; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(22; IC_Distribution; Integer) + { + Caption = 'IC_Distribution'; + } + field(23; Id; Text[20]) + { + Caption = 'Id'; + } + field(24; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(25; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(26; LedgerID; Text[10]) + { + Caption = 'LedgerID'; + } + field(27; LineId; Integer) + { + Caption = 'LineId'; + } + field(28; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(29; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(30; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(31; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(32; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(33; Module; Text[2]) + { + Caption = 'Module'; + } + field(34; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(35; OrigAcct; Text[10]) + { + Caption = 'OrigAcct'; + } + field(36; OrigBatNbr; Text[10]) + { + Caption = 'OrigBatNbr'; + } + field(37; OrigCpnyID; Text[10]) + { + Caption = 'OrigCpnyID'; + } + field(38; OrigSub; Text[24]) + { + Caption = 'OrigSub'; + } + field(39; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(40; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(41; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(42; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(43; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(44; Posted; Text[1]) + { + Caption = 'Posted'; + } + field(45; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(46; Qty; Decimal) + { + Caption = 'Qty'; + } + field(47; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(48; RevEntryOption; Text[1]) + { + Caption = 'RevEntryOption'; + } + field(49; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(50; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(52; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(53; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(54; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(55; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(56; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(57; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(58; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(59; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(60; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(61; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(63; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(64; ServiceDate; DateTime) + { + Caption = 'ServiceDate'; + } + field(65; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(66; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(67; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(68; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(69; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(70; Units; Decimal) + { + Caption = 'Units'; + } + field(71; User1; Text[30]) + { + Caption = 'User1'; + } + field(73; User2; Text[30]) + { + Caption = 'User2'; + } + field(74; User3; Decimal) + { + Caption = 'User3'; + } + field(75; User4; Decimal) + { + Caption = 'User4'; + } + field(76; User5; Text[10]) + { + Caption = 'User5'; + } + field(77; User6; Text[10]) + { + Caption = 'User6'; + } + field(78; User7; DateTime) + { + Caption = 'User7'; + } + field(79; User8; DateTime) + { + Caption = 'User8'; + } + } + + keys + { + key(Key1; Module, BatNbr, LineNbr) + { + Clustered = true; + } + } +} diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLHistSourceError.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLHistSourceError.Table.al new file mode 100644 index 0000000000..c48fc99071 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLHistSourceError.Table.al @@ -0,0 +1,69 @@ +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration.SL.HistoricalData; + +table 47003 "SL Hist. Source Error" +{ + Caption = 'SL Hist. Source Error'; + DataClassification = SystemMetadata; + + fields + { + field(1; "Table Id"; Integer) + { + Caption = 'Table Id'; + NotBlank = true; + } + field(2; "Record Id"; Integer) + { + Caption = 'Record Id'; + NotBlank = true; + } + field(3; Step; enum "SL Hist. Migration Step Type") + { + Caption = 'Step'; + } + field(4; Reference; Text[150]) + { + Caption = 'Reference'; + DataClassification = CustomerContent; + } + field(5; "Error Code"; Text[100]) + { + Caption = 'Error Code'; + } + field(6; "Error Message"; Blob) + { + Caption = 'Error Message'; + } + } + keys + { + key(PK; "Table Id", "Record Id") + { + Clustered = true; + } + } + + procedure SetErrorMessage(ErrorMessageText: Text) + var + ErrorMessageOutStream: OutStream; + begin + Rec."Error Message".CreateOutStream(ErrorMessageOutStream); + ErrorMessageOutStream.WriteText(ErrorMessageText); + end; + + procedure GetErrorMessage(): Text + var + ErrorMessageInStream: InStream; + ReturnText: Text; + begin + CalcFields(Rec."Error Message"); + if Rec."Error Message".HasValue() then begin + Rec."Error Message".CreateInStream(ErrorMessageInStream); + ErrorMessageInStream.ReadText(ReturnText); + end; + + exit(ReturnText) + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLHistSourceProgress.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLHistSourceProgress.Table.al new file mode 100644 index 0000000000..2afab0509d --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLHistSourceProgress.Table.al @@ -0,0 +1,49 @@ +namespace Microsoft.DataMigration.SL; + +table 47001 "SL Hist. Source Progress" +{ + Caption = 'SL Hist. Source Progress'; + DataClassification = SystemMetadata; + + fields + { + field(1; "Table Id"; Integer) + { + Caption = 'Table Id'; + NotBlank = true; + } + field(2; "Last Processed Record Id"; Integer) + { + Caption = 'Last Processed Record Id'; + } + } + keys + { + key(PK; "Table Id") + { + Clustered = true; + } + } + + procedure InitForTable(TableId: Integer) + begin + if not Rec.Get(TableId) then begin + Rec."Table Id" := TableId; + Rec."Last Processed Record Id" := 0; + Rec.Insert(); + end; + end; + + procedure SetLastProcessedRecId(TableId: Integer; RecId: Integer) + begin + InitForTable(TableId); + Rec."Last Processed Record Id" := RecId; + Rec.Modify(); + end; + + procedure GetLastProcessedRecId(TableId: Integer): Integer + begin + InitForTable(TableId); + exit(Rec."Last Processed Record Id"); + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLINTran.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLINTran.Table.al new file mode 100644 index 0000000000..354b9ae5ef --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLINTran.Table.al @@ -0,0 +1,513 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47028 "SL INTran" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; ARDocType; Text[2]) + { + Caption = 'ARDocType'; + } + field(4; ARLineID; Integer) + { + Caption = 'ARLineID'; + } + field(5; ARLineRef; Text[5]) + { + Caption = 'ARLineRef'; + } + field(6; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(7; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(8; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(9; BMIEstimatedCost; Decimal) + { + Caption = 'BMIEstimatedCost'; + } + field(10; BMIExtCost; Decimal) + { + Caption = 'BMIExtCost'; + } + field(11; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(12; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(13; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(14; BMITranAmt; Decimal) + { + Caption = 'BMITranAmt'; + } + field(15; BMIUnitPrice; Decimal) + { + Caption = 'BMIUnitPrice'; + } + field(16; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(17; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(18; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(19; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(20; CostType; Text[8]) + { + Caption = 'CostType'; + } + field(21; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(22; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(23; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(24; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(25; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(26; EstimatedCost; Decimal) + { + Caption = 'EstimatedCost'; + } + field(27; Excpt; Integer) + { + Caption = 'Excpt'; + } + field(28; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(29; ExtRefNbr; Text[15]) + { + Caption = 'ExtRefNbr'; + } + field(30; FiscYr; Text[4]) + { + Caption = 'FiscYr'; + } + field(31; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(32; ID; Text[15]) + { + Caption = 'ID'; + } + field(34; InsuffQty; Integer) + { + Caption = 'InsuffQty'; + } + field(35; InvtAcct; Text[10]) + { + Caption = 'InvtAcct'; + } + field(36; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(37; InvtMult; Integer) + { + Caption = 'InvtMult'; + } + field(38; InvtSub; Text[24]) + { + Caption = 'InvtSub'; + } + field(39; IRProcessed; Integer) + { + Caption = 'IRProcessed'; + } + field(40; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(41; KitID; Text[30]) + { + Caption = 'KitID'; + } + field(42; KitStdQty; Decimal) + { + Caption = 'KitStdQty'; + } + field(43; LayerType; Text[1]) + { + Caption = 'LayerType'; + } + field(44; LineID; Integer) + { + Caption = 'LineID'; + } + field(45; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(46; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(47; LotSerCntr; Integer) + { + Caption = 'LotSerCntr'; + } + field(48; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(49; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(50; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(51; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(52; OrigBatNbr; Text[10]) + { + Caption = 'OrigBatNbr'; + } + field(53; OrigJrnlType; Text[3]) + { + Caption = 'OrigJrnlType'; + } + field(54; OrigLineRef; Text[5]) + { + Caption = 'OrigLineRef'; + } + field(55; OrigRefNbr; Text[10]) + { + Caption = 'OrigRefNbr'; + } + field(56; OvrhdAmt; Decimal) + { + Caption = 'OvrhdAmt'; + } + field(57; OvrhdFlag; Integer) + { + Caption = 'OvrhdFlag'; + } + field(58; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(59; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(60; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(61; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(62; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(63; PoNbr; Text[10]) + { + Caption = 'PoNbr'; + } + field(64; PostingOption; Integer) + { + Caption = 'PostingOption'; + } + field(65; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(66; Qty; Decimal) + { + Caption = 'Qty'; + } + field(67; QtyUnCosted; Decimal) + { + Caption = 'QtyUnCosted'; + } + field(68; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(69; RcptNbr; Text[15]) + { + Caption = 'RcptNbr'; + } + field(70; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(71; "RecordID"; Integer) + { + Caption = 'RecordID'; + } + field(72; RefNbr; Text[15]) + { + Caption = 'RefNbr'; + } + field(73; Retired; Integer) + { + Caption = 'Retired'; + } + field(74; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(75; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(76; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(77; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(78; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(79; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(80; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(81; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(82; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(83; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(84; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(85; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(86; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(87; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(88; ShipperCpnyID; Text[10]) + { + Caption = 'ShipperCpnyID'; + } + field(89; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(90; ShipperLineRef; Text[5]) + { + Caption = 'ShipperLineRef'; + } + field(91; ShortQty; Decimal) + { + Caption = 'ShortQty'; + } + field(92; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(93; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(94; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(95; SrcDate; DateTime) + { + Caption = 'SrcDate'; + } + field(96; SrcLineRef; Text[5]) + { + Caption = 'SrcLineRef'; + } + field(97; SrcNbr; Text[15]) + { + Caption = 'SrcNbr'; + } + field(98; SrcType; Text[3]) + { + Caption = 'SrcType'; + } + field(99; StdTotalQty; Decimal) + { + Caption = 'StdTotalQty'; + } + field(100; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(101; SvcContractID; Text[10]) + { + Caption = 'SvcContractID'; + } + field(102; SvcLineNbr; Integer) + { + Caption = 'SvcLineNbr'; + } + field(103; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(104; ToSiteID; Text[10]) + { + Caption = 'ToSiteID'; + } + field(105; ToWhseLoc; Text[10]) + { + Caption = 'ToWhseLoc'; + } + field(106; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(107; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(108; TranDesc; Text[30]) + { + Caption = 'TranDesc'; + } + field(109; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(110; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(111; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(112; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(113; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(114; User1; Text[30]) + { + Caption = 'User1'; + } + field(115; User2; Text[30]) + { + Caption = 'User2'; + } + field(116; User3; Decimal) + { + Caption = 'User3'; + } + field(117; User4; Decimal) + { + Caption = 'User4'; + } + field(118; User5; Text[10]) + { + Caption = 'User5'; + } + field(119; User6; Text[10]) + { + Caption = 'User6'; + } + field(120; User7; DateTime) + { + Caption = 'User7'; + } + field(121; User8; DateTime) + { + Caption = 'User8'; + } + field(122; UseTranCost; Integer) + { + Caption = 'UseTranCost'; + } + field(123; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(Key1; InvtID, SiteID, CpnyID, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLLotSerT.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLLotSerT.Table.al new file mode 100644 index 0000000000..f5e5894ae8 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLLotSerT.Table.al @@ -0,0 +1,273 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47029 "SL LotSerT" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(2; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(3; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTimeDateTime'; + } + field(4; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(5; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(6; CustID; Text[15]) + { + Caption = 'CustID'; + } + field(7; ExpDate; DateTime) + { + Caption = 'ExpDate'; + } + field(8; INTranLineID; Integer) + { + Caption = 'INTranLineID'; + } + field(9; INTranLineRef; Text[5]) + { + Caption = 'INTranLineRef'; + } + field(10; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(11; InvtMult; Integer) + { + Caption = 'InvtMult'; + } + field(12; KitID; Text[30]) + { + Caption = 'KitID'; + } + field(13; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(14; LotSerNbr; Text[25]) + { + Caption = 'LotSerNbr'; + } + field(15; LotSerRef; Text[5]) + { + Caption = 'LotSerRef'; + } + field(16; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(17; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(18; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(19; MfgrLotSerNbr; Text[25]) + { + Caption = 'MfgrLotSerNbr'; + } + field(20; NoQtyUpdate; Integer) + { + Caption = 'NoQtyUpdate'; + } + field(21; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(22; ParInvtID; Text[30]) + { + Caption = 'ParInvtID'; + } + field(23; ParLotSerNbr; Text[25]) + { + Caption = 'ParLotSerNbr'; + } + field(24; Qty; Decimal) + { + Caption = 'Qty'; + } + field(25; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(26; "RecordID"; Integer) + { + Caption = 'RecordID'; + } + field(27; RefNbr; Text[15]) + { + Caption = 'RefNbr'; + } + field(28; Retired; Integer) + { + Caption = 'Retired'; + } + field(29; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(30; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(31; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(32; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(33; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(34; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(35; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(36; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(37; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(38; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(39; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(40; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(41; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(42; ShipContCode; Text[20]) + { + Caption = 'ShipContCode'; + } + field(43; ShipmentNbr; Integer) + { + Caption = 'ShipmentNbr'; + } + field(44; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(45; ToSiteID; Text[10]) + { + Caption = 'ToSiteID'; + } + field(46; ToWhseLoc; Text[10]) + { + Caption = 'ToWhseLoc'; + } + field(47; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(48; TranSrc; Text[2]) + { + Caption = 'TranSrc'; + } + field(49; TranTime; DateTime) + { + Caption = 'TranTime'; + } + field(50; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(51; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(52; UnitPrice; Decimal) + { + Caption = 'UnitPrice'; + } + field(53; User1; Text[30]) + { + Caption = 'User1'; + } + field(54; User2; Text[30]) + { + Caption = 'User2'; + } + field(55; User3; Decimal) + { + Caption = 'User3'; + } + field(56; User4; Decimal) + { + Caption = 'User4'; + } + field(57; User5; Text[10]) + { + Caption = 'User5'; + } + field(58; User6; Text[10]) + { + Caption = 'User6'; + } + field(59; User7; DateTime) + { + Caption = 'User7'; + } + field(60; User8; DateTime) + { + Caption = 'User8'; + } + field(61; WarrantyDate; DateTime) + { + Caption = 'WarrantyDate'; + } + field(62; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(Key1; LotSerNbr, RecordID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLPOReceipt.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLPOReceipt.Table.al new file mode 100644 index 0000000000..5a4948819c --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLPOReceipt.Table.al @@ -0,0 +1,313 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47032 "SL POReceipt" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; APRefno; Text[10]) + { + Caption = 'APRefno'; + } + field(2; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(3; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(4; CreateAD; Integer) + { + Caption = 'CreateAD'; + } + field(5; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(6; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(7; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(8; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(9; CuryFreight; Decimal) + { + Caption = 'CuryFreight'; + } + field(10; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(11; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(12; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(13; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(14; CuryRcptAmt; Decimal) + { + Caption = 'CuryRcptAmt'; + } + field(15; CuryRcptAmtTot; Decimal) + { + Caption = 'CuryRcptAmtTot'; + } + field(16; CuryRcptCtrlAmt; Decimal) + { + Caption = 'CuryRcptCtrlAmt'; + } + field(17; CuryRcptItemTotal; Decimal) + { + Caption = 'CuryRcptItemTotal'; + } + field(18; DfltFromPO; Text[1]) + { + Caption = 'DfltFromPO'; + } + field(19; ExcludeFreight; Text[1]) + { + Caption = 'ExcludeFreight'; + } + field(20; Freight; Decimal) + { + Caption = 'Freight'; + } + field(21; InBal; Integer) + { + Caption = 'InBal'; + } + field(22; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(23; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(24; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(25; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(26; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(27; OpenDoc; Integer) + { + Caption = 'OpenDoc'; + } + field(28; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(29; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(30; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(31; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(32; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(33; RcptAmt; Decimal) + { + Caption = 'RcptAmt'; + } + field(34; RcptAmtTot; Decimal) + { + Caption = 'RcptAmtTot'; + } + field(35; RcptCtrlAmt; Decimal) + { + Caption = 'RcptCtrlAmt'; + } + field(36; RcptCtrlQty; Decimal) + { + Caption = 'RcptCtrlQty'; + } + field(37; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(38; RcptItemTotal; Decimal) + { + Caption = 'RcptItemTotal'; + } + field(39; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(40; RcptQty; Decimal) + { + Caption = 'RcptQty'; + } + field(41; RcptQtyTot; Decimal) + { + Caption = 'RcptQtyTot'; + } + field(42; RcptType; Text[1]) + { + Caption = 'RcptType'; + } + field(43; ReopenPO; Integer) + { + Caption = 'ReopenPO'; + } + field(44; Rlsed; Integer) + { + Caption = 'Rlsed'; + } + field(45; RMAID; Text[15]) + { + Caption = 'RMAID'; + } + field(46; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(47; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(48; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(49; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(50; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(51; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(52; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(53; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(54; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(55; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(56; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(57; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(58; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(59; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(60; Status; Text[1]) + { + Caption = 'Status'; + } + field(61; User1; Text[30]) + { + Caption = 'User1'; + } + field(62; User2; Text[30]) + { + Caption = 'User2'; + } + field(63; User3; Decimal) + { + Caption = 'User3'; + } + field(64; User4; Decimal) + { + Caption = 'User4'; + } + field(65; User5; Text[10]) + { + Caption = 'User5'; + } + field(66; User6; Text[10]) + { + Caption = 'User6'; + } + field(67; User7; DateTime) + { + Caption = 'User7'; + } + field(68; User8; DateTime) + { + Caption = 'User8'; + } + field(69; VendID; Text[15]) + { + Caption = 'VendID'; + } + field(70; VendInvcNbr; Text[10]) + { + Caption = 'VendInvcNbr'; + } + field(71; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(72; WayBillNbr; Text[10]) + { + Caption = 'WayBillNbr'; + } + } + + keys + { + key(Key1; RcptNbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLPOTran.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLPOTran.Table.al new file mode 100644 index 0000000000..e0996df18b --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLPOTran.Table.al @@ -0,0 +1,537 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47033 "SL POTran" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Acct; Text[10]) + { + Caption = 'Acct'; + } + field(2; AcctDist; Integer) + { + Caption = 'AcctDist'; + } + field(3; AddlCost; Decimal) + { + Caption = 'AddlCost'; + } + field(4; AddlCostPct; Decimal) + { + Caption = 'AddlCostPct'; + } + field(5; AddlCostVouch; Decimal) + { + Caption = 'AddlCostVouch'; + } + field(6; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(7; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(8; APLineID; Integer) + { + Caption = 'APLineID'; + } + field(9; APLineRef; Text[5]) + { + Caption = 'APLineRef'; + } + field(10; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(11; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(12; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(13; BMIExtCost; Decimal) + { + Caption = 'BMIExtCost'; + } + field(14; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(15; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(16; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(17; BMITranAmt; Decimal) + { + Caption = 'BMITranAmt'; + } + field(18; BMIUnitCost; Decimal) + { + Caption = 'BMIUnitCost'; + } + field(19; BMIUnitPrice; Decimal) + { + Caption = 'BMIUnitPrice'; + } + field(20; BOMLineRef; Text[5]) + { + Caption = 'BOMLineRef'; + } + field(21; BOMSequence; Integer) + { + Caption = 'BOMSequence'; + } + field(22; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(23; CostVouched; Decimal) + { + Caption = 'CostVouched'; + } + field(24; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(25; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(26; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(27; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(28; CuryAddlCost; Decimal) + { + Caption = 'CuryAddlCost'; + } + field(29; CuryAddlCostVouch; Decimal) + { + Caption = 'CuryAddlCostVouch'; + } + field(30; CuryCostVouched; Decimal) + { + Caption = 'CuryCostVouched'; + } + field(31; CuryExtCost; Decimal) + { + Caption = 'CuryExtCost'; + } + field(32; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(33; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(34; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(35; CuryTranAmt; Decimal) + { + Caption = 'CuryTranAmt'; + } + field(36; CuryUnitCost; Decimal) + { + Caption = 'CuryUnitCost'; + } + field(37; DrCr; Text[1]) + { + Caption = 'DrCr'; + } + field(38; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(39; ExtWeight; Decimal) + { + Caption = 'ExtWeight'; + } + field(40; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(41; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(42; JrnlType; Text[3]) + { + Caption = 'JrnlType'; + } + field(43; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(44; LineID; Integer) + { + Caption = 'LineID'; + } + field(45; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(46; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(47; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(48; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(49; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(50; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(51; OrigRcptDate; DateTime) + { + Caption = 'OrigRcptDate'; + } + field(52; OrigRcptNbr; Text[10]) + { + Caption = 'OrigRcptNbr'; + } + field(53; OrigRetRcptNbr; Text[10]) + { + Caption = 'OrigRetRcptNbr'; + } + field(54; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(55; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(56; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(57; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(58; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(59; POLineID; Integer) + { + Caption = 'POLineID'; + } + field(60; POLineNbr; Integer) + { + Caption = 'POLineNbr'; + } + field(61; POLIneRef; Text[5]) + { + Caption = 'POLIneRef'; + } + field(62; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(63; POOriginal; Text[1]) + { + Caption = 'POOriginal'; + } + field(64; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(65; PurchaseType; Text[2]) + { + Caption = 'PurchaseType'; + } + field(66; Qty; Decimal) + { + Caption = 'Qty'; + } + field(67; QtyVouched; Decimal) + { + Caption = 'QtyVouched'; + } + field(68; RcptConvFact; Decimal) + { + Caption = 'RcptConvFact'; + } + field(69; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(70; RcptLineRefOrig; Text[5]) + { + Caption = 'RcptLineRefOrig'; + } + field(71; RcptMultDiv; Text[1]) + { + Caption = 'RcptMultDiv'; + } + field(72; RcptNbr; Text[10]) + { + Caption = 'RcptNbr'; + } + field(73; RcptNbrOrig; Text[10]) + { + Caption = 'RcptNbrOrig'; + } + field(74; RcptQty; Decimal) + { + Caption = 'RcptQty'; + } + field(75; RcptUnitDescr; Text[6]) + { + Caption = 'RcptUnitDescr'; + } + field(76; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(77; Refnbr; Text[10]) + { + Caption = 'Refnbr'; + } + field(78; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(79; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(80; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(81; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(82; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(83; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(84; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(85; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(86; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(87; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(88; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(89; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(90; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(91; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(92; SOLineID; Integer) + { + Caption = 'SOLineID'; + } + field(93; SOLineRef; Text[5]) + { + Caption = 'SOLineRef'; + } + field(94; SOOrdNbr; Text[15]) + { + Caption = 'SOOrdNbr'; + } + field(95; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(96; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(97; StepNbr; Integer) + { + Caption = 'StepNbr'; + } + field(98; Sub; Text[24]) + { + Caption = 'Sub'; + } + field(99; SvcContractID; Text[10]) + { + Caption = 'SvcContractID'; + } + field(100; SvcLineNbr; Integer) + { + Caption = 'SvcLineNbr'; + } + field(101; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(102; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(103; TaxIDDflt; Text[10]) + { + Caption = 'TaxIDDflt'; + } + field(104; TranAmt; Decimal) + { + Caption = 'TranAmt'; + } + field(105; TranDate; DateTime) + { + Caption = 'TranDate'; + } + field(106; TranDesc; Text[60]) + { + Caption = 'TranDesc'; + } + field(107; TranType; Text[2]) + { + Caption = 'TranType'; + } + field(108; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(109; UnitDescr; Text[6]) + { + Caption = 'UnitDescr'; + } + field(110; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(111; UnitWeight; Decimal) + { + Caption = 'UnitWeight'; + } + field(112; User1; Text[30]) + { + Caption = 'User1'; + } + field(113; User2; Text[30]) + { + Caption = 'User2'; + } + field(114; User3; Decimal) + { + Caption = 'User3'; + } + field(115; User4; Decimal) + { + Caption = 'User4'; + } + field(116; User5; Text[10]) + { + Caption = 'User5'; + } + field(117; User6; Text[10]) + { + Caption = 'User6'; + } + field(118; User7; DateTime) + { + Caption = 'User7'; + } + field(119; User8; DateTime) + { + Caption = 'User8'; + } + field(120; VendId; Text[15]) + { + Caption = 'VendId'; + } + field(121; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(122; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + field(123; WIP_COGS_Acct; Text[10]) + { + Caption = 'WIP_COGS_Acct'; + } + field(124; WIP_COGS_Sub; Text[24]) + { + Caption = 'WIP_COGS_Sub'; + } + field(125; WOBomRef; Text[5]) + { + Caption = 'WOBomRef'; + } + field(126; WOCostType; Text[2]) + { + Caption = 'WOCostType'; + } + field(127; WONbr; Text[10]) + { + Caption = 'WONbr'; + } + field(128; WOStepNbr; Text[5]) + { + Caption = 'WOStepNbr'; + } + } + + keys + { + key(Key1; RcptNbr, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLPopulateHistTables.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/History/SLPopulateHistTables.Codeunit.al new file mode 100644 index 0000000000..c03dfb7e45 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLPopulateHistTables.Codeunit.al @@ -0,0 +1,833 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration.SL.HistoricalData; + +codeunit 47025 "SL Populate Hist. Tables" +{ + Access = Internal; + + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SLHistMigrationStatusMgmt: Codeunit "SL Hist. Migration Status Mgmt"; + CommitAfterXRecordCount: Integer; + CurrentRecordCount: Integer; + InitialDateTime: DateTime; + + internal procedure GetDefaultCommitAfterXRecordCount(): Integer + begin + exit(1000); + end; + + trigger OnRun() + var + SLHistMigrationCurStatus: Record "SL Hist. Migration Cur. Status"; + SLHistSourceError: Record "SL Hist. Source Error"; + SLHistSourceProgress: Record "SL Hist. Source Progress"; + IsHandled: Boolean; + OverrideCommitAfterXRecordCount: Integer; + begin + CommitAfterXRecordCount := GetDefaultCommitAfterXRecordCount(); + + OnBeforeRunSLPopulateHistTables(IsHandled, OverrideCommitAfterXRecordCount); + if IsHandled then + CommitAfterXRecordCount := OverrideCommitAfterXRecordCount; + + SLHistMigrationCurStatus.EnsureInit(); + if SLHistMigrationCurStatus."Reset Data" then begin + SLHistMigrationStatusMgmt.ResetAll(); + + if not SLHistSourceProgress.IsEmpty() then + SLHistSourceProgress.DeleteAll(); + + if not SLHistSourceError.IsEmpty() then + SLHistSourceError.DeleteAll(); + + SLHistMigrationCurStatus.EnsureInit(); + SLHistMigrationCurStatus."Reset Data" := false; + SLHistMigrationCurStatus.Modify(); + end; + + SLHistMigrationStatusMgmt.SetStatusStarted(); + PopulateHistoricalTables(); + end; + + internal procedure PopulateHistoricalTables() + var + Day: Integer; + InitialHistYear: Integer; + Month: Integer; + TheTime: Time; + begin + if not SLCompanyAdditionalSettings.GetMigrateHistory() then + exit; + + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then begin + Day := 01; + Month := 01; + TheTime := 0T; + InitialDateTime := CreateDateTime(DMY2Date(Day, Month, InitialHistYear), TheTime); + end; + + PopulateGLDetail(); + PopulateReceivables(); + PopulatePayables(); + PopulateItems(); + PopulatePurchaseReceivables(); + SLHistMigrationStatusMgmt.SetStatusFinished(); + Commit(); + end; + + internal procedure PopulateGLDetail() + begin + if not SLCompanyAdditionalSettings.GetMigrateHistGLTrx() then + exit; + + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL GL Journal Trx.", false); + PopulateHistoricalGLTran(); + PopulateHistoricalBatch(); + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL GL Journal Trx.", true); + end; + + internal procedure PopulateHistoricalGLTran() + var + SLGLTran: Record "SL GLTran"; + SLHistGLTran: Record "SL Hist. GLTran"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL GLTran"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLGLTran.SetFilter(TranDate, '>= %1', InitialDateTime); + + SLGLTran.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLGLTran.FindSet() then + exit; + + repeat + LastSourceRecordId := SLGLTran.SystemRowVersion; + Clear(SLHistGLTran); + SLHistGLTran.TransferFields(SLGLTran); + + if SLHistGLTran.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL GL Journal Trx.", SLGLTran.Module + '-' + SLGLTran.BatNbr + '-' + Format(SLGLTran.LineNbr)); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLGLTran.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalBatch() + var + SLBatch: Record "SL Batch"; + SLHistBatch: Record "SL Hist. Batch"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL Batch"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLBatch.SetFilter(Crtd_DateTime, '>= %1', InitialDateTime); + + SLBatch.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLBatch.FindSet() then + exit; + + repeat + LastSourceRecordId := SLBatch.SystemRowVersion; + Clear(SLHistBatch); + SLHistBatch.TransferFields(SLBatch); + + if SLHistBatch.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL GL Journal Trx.", SLBatch.Module + '-' + SLBatch.BatNbr); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLBatch.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulatePayables(); + begin + If not SLCompanyAdditionalSettings.GetMigrateHistAPTrx() then + exit; + + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Payables Trx.", false); + PopulateHistoricalAPDoc(); + PopulateHistoricalAPTran(); + PopulateHistoricalAPAdjust(); + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Payables Trx.", true); + end; + + internal procedure PopulateHistoricalAPDoc() + var + SLAPDoc: Record "SL APDoc"; + SLHistAPDoc: Record "SL Hist. APDoc"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL APDoc"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLAPDoc.SetFilter(DocDate, '>= %1', InitialDateTime); + + SLAPDoc.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLAPDoc.FindSet() then + exit; + + repeat + LastSourceRecordId := SLAPDoc.SystemRowVersion; + Clear(SLHistAPDoc); + SLHistAPDoc.TransferFields(SLAPDoc); + + if SLHistAPDoc.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Payables Trx.", SLAPDoc.Acct + '-' + SLAPDoc.Sub + '-' + SLAPDoc.DocType + '-' + SLAPDoc.RefNbr + '-' + Format(SLAPDoc.RecordID)); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLAPDoc.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalAPTran() + var + SLAPTran: Record "SL APTran"; + SLHistAPTran: Record "SL Hist. APTran"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL APTran"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLAPTran.SetFilter(TranDate, '>= %1', InitialDateTime); + + SLAPTran.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLAPTran.FindSet() then + exit; + + repeat + LastSourceRecordId := SLAPTran.RecordID; + Clear(SLHistAPTran); + SLHistAPTran.TransferFields(SLAPTran); + + if SLHistAPTran.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Payables Trx.", SLAPTran.BatNbr + '-' + SLAPTran.Acct + '-' + SLAPTran.Sub + '-' + SLAPTran.RefNbr + '-' + Format(SLAPTran.RecordID)); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLAPTran.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalAPAdjust() + var + SLAPAdjust: Record "SL APAdjust"; + SLHistAPAdjust: Record "SL Hist. APAdjust"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL APAdjust"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLAPAdjust.SetFilter(AdjgDocDate, '>= %1', InitialDateTime); + + if not SLAPAdjust.FindSet() then + exit; + + repeat + LastSourceRecordId := SLAPAdjust.SystemRowVersion; + Clear(SLHistAPAdjust); + SLHistAPAdjust.TransferFields(SLAPAdjust); + + if SLHistAPAdjust.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Payables Trx.", SLAPAdjust.AdjdRefNbr + '-' + SLAPAdjust.AdjdDocType + '-' + SLAPAdjust.AdjgRefNbr + '-' + SLAPAdjust.AdjgDocType + '-' + SLAPAdjust.VendId + '-' + SLAPAdjust.AdjgAcct + '-' + SLAPAdjust.AdjgSub); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLAPAdjust.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateReceivables(); + begin + If not SLCompanyAdditionalSettings.GetMigrateHistARTrx() then + exit; + + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Receivables Trx.", false); + PopulateHistoricalARDoc(); + PopulateHistoricalARTran(); + PopulateHistoricalARAdjust(); + PopulateHistoricalSOHeader(); + PopulateHistoricalSOLine(); + PopulateHistoricalSOShipHeader(); + PopulateHistoricalSOShipLine(); + PopulateHistoricalSOType(); + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Receivables Trx.", true); + end; + + internal procedure PopulateHistoricalARDoc() + var + SLARDoc: Record "SL ARDoc"; + SLHistARDoc: Record "SL Hist. ARDoc"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL ARDoc"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLARDoc.SetFilter(DocDate, '>= %1', InitialDateTime); + + SLARDoc.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLARDoc.FindSet() then + exit; + + repeat + LastSourceRecordId := SLARDoc.SystemRowVersion; + Clear(SLHistARDoc); + SLHistARDoc.TransferFields(SLARDoc); + + if SLHistARDoc.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLARDoc.CustId + '-' + SLARDoc.DocType + '-' + SLARDoc.RefNbr + '-' + SLARDoc.BatNbr); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLARDoc.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalARTran() + var + SLARTran: Record "SL ARTran"; + SLHistARTran: Record "SL Hist. ARTran"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL ARTran"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLARTran.SetFilter(TranDate, '>= %1', InitialDateTime); + + SLARTran.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLARTran.FindSet() then + exit; + + repeat + LastSourceRecordId := SLARTran.RecordID; + Clear(SLHistARTran); + SLHistARTran.TransferFields(SLARTran); + + if SLHistARTran.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLARTran.CustId + '-' + SLARTran.TranType + '-' + SLARTran.RefNbr + '-' + Format(SLARTran.LineNbr)); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLARTran.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalARAdjust() + var + SLARAdjust: Record "SL ARAdjust"; + SLHistARAdjust: Record "SL Hist. ARAdjust"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL ARAdjust"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLARAdjust.SetFilter(AdjgDocDate, '>= %1', InitialDateTime); + + if not SLARAdjust.FindSet() then + exit; + + repeat + LastSourceRecordId := SLARAdjust.RecordID; + Clear(SLHistARAdjust); + SLHistARAdjust.TransferFields(SLARAdjust); + + if SLHistARAdjust.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLARAdjust.AdjdRefNbr + '-' + Format(SLARAdjust.RecordID)); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLARAdjust.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalSOHeader() + var + SLSOHeader: Record "SL SOHeader"; + SLHistSOHeader: Record "SL Hist. SOHeader"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL SOHeader"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLSOHeader.SetFilter(Crtd_DateTime, '>= %1', InitialDateTime); + + SLSOHeader.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLSOHeader.FindSet() then + exit; + + repeat + LastSourceRecordId := SLSOHeader.SystemRowVersion; + Clear(SLHistSOHeader); + SLHistSOHeader.TransferFields(SLSOHeader); + + if SLHistSOHeader.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLSOHeader.CpnyID + '-' + SLSOHeader.OrdNbr); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLSOHeader.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalSOLine() + var + SLSOLine: Record "SL SOLine"; + SLHistSOLine: Record "SL Hist. SOLine"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL SOLine"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLSOLine.SetFilter(Crtd_DateTime, '>= %1', InitialDateTime); + + SLSOLine.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLSOLine.FindSet() then + exit; + + repeat + LastSourceRecordId := SLSOLine.SystemRowVersion; + Clear(SLHistSOLine); + SLHistSOLine.TransferFields(SLSOLine); + + if SLHistSOLine.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLSOLine.CpnyID + '-' + SLSOLine.OrdNbr + '-' + SLSOLine.LineRef); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLSOLine.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalSOShipHeader() + var + SLSOShipHeader: Record "SL SOShipHeader"; + SLHistSOShipHeader: Record "SL Hist. SOShipHeader"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL SOShipHeader"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLSOShipHeader.SetFilter(Crtd_DateTime, '>= %1', InitialDateTime); + + SLSOShipHeader.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLSOShipHeader.FindSet() then + exit; + + repeat + LastSourceRecordId := SLSOShipHeader.SystemRowVersion; + Clear(SLHistSOShipHeader); + SLHistSOShipHeader.TransferFields(SLSOShipHeader); + + if SLHistSOShipHeader.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLSOShipHeader.CpnyID + '-' + SLSOShipHeader.ShipperID); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLSOShipHeader.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalSOShipLine() + var + SLSOShipLine: Record "SL SOShipLine"; + SLHistSOShipLine: Record "SL Hist. SOShipLine"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL SOShipLine"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLSOShipLine.SetFilter(Crtd_DateTime, '>= %1', InitialDateTime); + + SLSOShipLine.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLSOShipLine.FindSet() then + exit; + + repeat + LastSourceRecordId := SLSOShipLine.SystemRowVersion; + Clear(SLHistSOShipLine); + SLHistSOShipLine.TransferFields(SLSOShipLine); + + if SLHistSOShipLine.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLSOShipLine.CpnyID + '-' + SLSOShipLine.ShipperID + '-' + SLSOShipLine.LineRef); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLSOShipLine.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalSOType() + var + SLSOType: Record "SL SOType"; + SLHistSOType: Record "SL Hist. SOType"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + Inactive: Integer; + begin + SourceTableId := Database::"SL SOType"; + Inactive := 0; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLSOType.SetFilter(Crtd_DateTime, '>= %1', InitialDateTime); + + SLSOType.SetFilter(CpnyID, '= %1', CompanyName); + SLSOType.SetFilter(Active, '<> %1', Inactive); + + if not SLSOType.FindSet() then + exit; + + repeat + LastSourceRecordId := SLSOType.SystemRowVersion; + Clear(SLHistSOType); + SLHistSOType.TransferFields(SLSOType); + + if SLHistSOType.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Receivables Trx.", SLSOType.CpnyID + '-' + SLSOType.SOTypeID); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLSOType.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateItems(); + begin + If not SLCompanyAdditionalSettings.GetMigrateHistInvTrx() then + exit; + + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Inventory Trx.", false); + PopulateHistoricalINTran(); + PopulateHistoricalLotSerT(); + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Inventory Trx.", true); + end; + + internal procedure PopulateHistoricalINTran() + var + SLINTran: Record "SL INTran"; + SLHistINTran: Record "SL Hist. INTran"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL INTran"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLINTran.SetFilter(TranDate, '>= %1', InitialDateTime); + + SLINTran.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLINTran.FindSet() then + exit; + + repeat + LastSourceRecordId := SLINTran.RecordID; + Clear(SLHistINTran); + SLHistINTran.TransferFields(SLINTran); + + if SLHistINTran.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Inventory Trx.", SLINTran.InvtID + '-' + SLINTran.SiteID + '-' + SLINTran.CpnyID + '-' + Format(SLINTran.RecordID)); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLINTran.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalLotSerT() + var + SLLotSerT: Record "SL LotSerT"; + SLHistLotSerT: Record "SL Hist. LotSerT"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL LotSerT"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLLotSerT.SetFilter(TranDate, '>= %1', InitialDateTime); + + SLLotSerT.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLLotSerT.FindSet() then + exit; + + repeat + LastSourceRecordId := SLLotSerT.RecordID; + Clear(SLHistLotSerT); + SLHistLotSerT.TransferFields(SLLotSerT); + + if SLHistLotSerT.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Inventory Trx.", SLLotSerT.LotSerNbr + '-' + Format(SLLotSerT.RecordID)); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLLotSerT.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulatePurchaseReceivables(); + begin + If not SLCompanyAdditionalSettings.GetMigrateHistPurchTrx() then + exit; + + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Purchase Receivables Trx.", false); + PopulateHistoricalPOTran(); + PopulateHistoricalPOReceipt(); + PopulateHistoricalPurOrdDet(); + PopulateHistoricalPurchOrd(); + SLHistMigrationStatusMgmt.UpdateStepStatus("SL Hist. Migration Step Type"::"SL Purchase Receivables Trx.", true); + end; + + internal procedure PopulateHistoricalPOTran() + var + SLPOTran: Record "SL POTran"; + SLHistPOTran: Record "SL Hist. POTran"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL POTran"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLPOTran.SetFilter(TranDate, '>= %1', InitialDateTime); + + SLPOTran.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLPOTran.FindSet() then + exit; + + repeat + LastSourceRecordId := SLPOTran.SystemRowVersion; + Clear(SLHistPOTran); + SLHistPOTran.TransferFields(SLPOTran); + + if SLHistPOTran.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Purchase Receivables Trx.", SLPOTran.RcptNbr + '-' + SLPOTran.LineRef); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLPOTran.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalPOReceipt() + var + SLPOReceipt: Record "SL POReceipt"; + SLHistPOReceipt: Record "SL Hist. POReceipt"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL POReceipt"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLPOReceipt.SetFilter(RcptDate, '>= %1', InitialDateTime); + + SLPOReceipt.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLPOReceipt.FindSet() then + exit; + + repeat + LastSourceRecordId := SLPOReceipt.SystemRowVersion; + Clear(SLHistPOReceipt); + SLHistPOReceipt.TransferFields(SLPOReceipt); + + if SLHistPOReceipt.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Purchase Receivables Trx.", SLPOReceipt.RcptNbr); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLPOReceipt.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalPurOrdDet() + var + SLPurOrdDet: Record "SL PurOrdDet"; + SLHistPurOrdDet: Record "SL Hist. PurOrdDet"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL PurOrdDet"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLPurOrdDet.SetFilter(Crtd_DateTime, '>= %1', InitialDateTime); + + SLPurOrdDet.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLPurOrdDet.FindSet() then + exit; + + repeat + LastSourceRecordId := SLPurOrdDet.SystemRowVersion; + Clear(SLHistPurOrdDet); + SLHistPurOrdDet.TransferFields(SLPurOrdDet); + + if SLHistPurOrdDet.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Purchase Receivables Trx.", SLPurOrdDet.PONbr + '-' + SLPurOrdDet.LineRef); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLPurOrdDet.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + internal procedure PopulateHistoricalPurchOrd() + var + SLPurchOrd: Record "SL PurchOrd"; + SLHistPurchOrd: Record "SL Hist. PurchOrd"; + InitialHistYear: Integer; + SourceTableId: Integer; + LastSourceRecordId: Integer; + begin + SourceTableId := Database::"SL PurchOrd"; + InitialHistYear := SLCompanyAdditionalSettings.GetHistInitialYear(); + if InitialHistYear > 0 then + SLPurchOrd.SetFilter(PODate, '>= %1', InitialDateTime); + + SLPurchOrd.SetFilter(CpnyID, '= %1', CompanyName); + + if not SLPurchOrd.FindSet() then + exit; + + repeat + LastSourceRecordId := SLPurchOrd.SystemRowVersion; + Clear(SLHistPurchOrd); + SLHistPurchOrd.TransferFields(SLPurchOrd); + + if SLHistPurchOrd.Insert() then + ReportLastSuccess(SourceTableId, LastSourceRecordId) + else + ReportLastError(SourceTableId, LastSourceRecordId, "SL Hist. Migration Step Type"::"SL Purchase Receivables Trx.", SLPurchOrd.PONbr); + + AfterProcessedNextRecord(SourceTableId, LastSourceRecordId); + until SLPurchOrd.Next() = 0; + AfterProcessedSection(SourceTableId, LastSourceRecordId); + end; + + local procedure AfterProcessedNextRecord(TableId: Integer; RecId: Integer) + var + SLHistSourceProgress: Record "SL Hist. Source Progress"; + begin + CurrentRecordCount := CurrentRecordCount + 1; + + if CurrentRecordCount >= CommitAfterXRecordCount then begin + SLHistSourceProgress.SetLastProcessedRecId(TableId, RecId); + Commit(); + CurrentRecordCount := 0; + end; + end; + + local procedure AfterProcessedSection(TableId: Integer; LastRecId: Integer) + var + SLHistSourceProgress: Record "SL Hist. Source Progress"; + begin + if LastRecId = 0 then + exit; + + CurrentRecordCount := 0; + SLHistSourceProgress.SetLastProcessedRecId(TableId, LastRecId); + Commit(); + end; + + procedure ReportLastError(TableId: Integer; RecordId: Integer; Step: enum "SL Hist. Migration Step Type"; Reference: Text[150]) + var + SLHistSourceError: Record "SL Hist. Source Error"; + begin + SLHistSourceError.SetRange("Table Id", TableId); + SLHistSourceError.SetRange("Record Id", RecordId); + if not SLHistSourceError.IsEmpty() then + exit; + + SLHistSourceError."Table Id" := TableId; + SLHistSourceError."Record Id" := RecordId; + SLHistSourceError.Step := Step; + SLHistSourceError.Reference := Reference; + SLHistSourceError."Error Code" := CopyStr(GetLastErrorCode(), 1, MaxStrLen(SLHistSourceError."Error Code")); + SLHistSourceError.SetErrorMessage(GetLastErrorCallStack()); + SLHistSourceError.Insert(); + + ClearLastError(); + end; + + internal procedure ReportLastSuccess(TableId: Integer; RecordId: Integer) + var + SLHistSourceError: Record "SL Hist. Source Error"; + begin + if SLHistSourceError.Get(TableId, RecordId) then + SLHistSourceError.Delete(); + end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeRunSLPopulateHistTables(var IsHandled: Boolean; var OverrideCommitAfterXRecordCount: Integer) + begin + end; +} diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLPurOrdDet.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLPurOrdDet.Table.al new file mode 100644 index 0000000000..9c432af4df --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLPurOrdDet.Table.al @@ -0,0 +1,569 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47031 "SL PurOrdDet" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AddlCostPct; Decimal) + { + Caption = 'AddlCostPct'; + } + field(2; AllocCntr; Integer) + { + Caption = 'AllocCntr'; + } + field(3; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(4; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(5; BlktLineID; Integer) + { + Caption = 'BlktLineID'; + } + field(6; BlktLineRef; Text[5]) + { + Caption = 'BlktLineRef'; + } + field(7; Buyer; Text[10]) + { + Caption = 'Buyer'; + } + field(8; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(9; CostReceived; Decimal) + { + Caption = 'CostReceived'; + } + field(10; CostReturned; Decimal) + { + Caption = 'CostReturned'; + } + field(11; CostVouched; Decimal) + { + Caption = 'CostVouched'; + } + field(12; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; CuryCostReceived; Decimal) + { + Caption = 'CuryCostReceived'; + } + field(17; CuryCostReturned; Decimal) + { + Caption = 'CuryCostReturned'; + } + field(18; CuryCostVouched; Decimal) + { + Caption = 'CuryCostVouched'; + } + field(19; CuryExtCost; Decimal) + { + Caption = 'CuryExtCost'; + } + field(20; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(21; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(22; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(23; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(24; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(25; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(26; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(27; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(28; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(29; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(30; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(31; CuryUnitCost; Decimal) + { + Caption = 'CuryUnitCost'; + } + field(32; ExtCost; Decimal) + { + Caption = 'ExtCost'; + } + field(33; ExtWeight; Decimal) + { + Caption = 'ExtWeight'; + } + field(34; FlatRateLineNbr; Integer) + { + Caption = 'FlatRateLineNbr'; + } + field(35; InclForecastUsageClc; Integer) + { + Caption = 'InclForecastUsageClc'; + } + field(36; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(37; IRIncLeadTime; Integer) + { + Caption = 'IRIncLeadTime'; + } + field(38; KitUnExpld; Integer) + { + Caption = 'KitUnExpld'; + } + field(39; Labor_Class_Cd; Text[4]) + { + Caption = 'Labor_Class_Cd'; + } + field(40; LineID; Integer) + { + Caption = 'LineID'; + } + field(41; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(42; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(43; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(44; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(45; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(46; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(47; OpenLine; Integer) + { + Caption = 'OpenLine'; + } + field(48; OrigPOLine; Integer) + { + Caption = 'OrigPOLine'; + } + field(49; PC_Flag; Text[1]) + { + Caption = 'PC_Flag'; + } + field(50; PC_ID; Text[20]) + { + Caption = 'PC_ID'; + } + field(51; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(52; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(53; POType; Text[2]) + { + Caption = 'POType'; + } + field(54; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(55; PromDate; DateTime) + { + Caption = 'PromDate'; + } + field(56; PurAcct; Text[10]) + { + Caption = 'PurAcct'; + } + field(57; PurchaseType; Text[2]) + { + Caption = 'PurchaseType'; + } + field(58; PurchUnit; Text[6]) + { + Caption = 'PurchUnit'; + } + field(59; PurSub; Text[24]) + { + Caption = 'PurSub'; + } + field(60; QtyOrd; Decimal) + { + Caption = 'QtyOrd'; + } + field(61; QtyRcvd; Decimal) + { + Caption = 'QtyRcvd'; + } + field(62; QtyReturned; Decimal) + { + Caption = 'QtyReturned'; + } + field(63; QtyVouched; Decimal) + { + Caption = 'QtyVouched'; + } + field(64; RcptPctAct; Text[1]) + { + Caption = 'RcptPctAct'; + } + field(65; RcptPctMax; Decimal) + { + Caption = 'RcptPctMax'; + } + field(66; RcptPctMin; Decimal) + { + Caption = 'RcptPctMin'; + } + field(67; RcptStage; Text[1]) + { + Caption = 'RcptStage'; + } + field(68; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(69; RefNbr; Text[10]) + { + Caption = 'RefNbr'; + } + field(70; ReqdDate; DateTime) + { + Caption = 'ReqdDate'; + } + field(71; ReqNbr; Text[10]) + { + Caption = 'ReqNbr'; + } + field(72; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(73; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(74; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(75; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(76; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(77; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(78; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(79; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(80; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(81; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(82; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(83; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(84; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(85; ShelfLife; Integer) + { + Caption = 'ShelfLife'; + } + field(86; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(87; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(88; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(89; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(90; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(91; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(92; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(93; ShipViaID; Text[15]) + { + Caption = 'ShipViaID'; + } + field(94; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(95; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(96; SOLineRef; Text[5]) + { + Caption = 'SOLineRef'; + } + field(97; SOOrdNbr; Text[15]) + { + Caption = 'SOOrdNbr'; + } + field(98; SOSchedRef; Text[5]) + { + Caption = 'SOSchedRef'; + } + field(99; StepNbr; Integer) + { + Caption = 'StepNbr'; + } + field(100; SvcContractID; Text[10]) + { + Caption = 'SvcContractID'; + } + field(101; SvcLineNbr; Integer) + { + Caption = 'SvcLineNbr'; + } + field(102; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(103; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(104; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(105; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(106; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(107; TaxCalced; Text[1]) + { + Caption = 'TaxCalced'; + } + field(108; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(109; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(110; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(111; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(112; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(113; TaxIdDflt; Text[10]) + { + Caption = 'TaxIdDflt'; + } + field(114; TranDesc; Text[60]) + { + Caption = 'TranDesc'; + } + field(115; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(116; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(117; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(118; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(119; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(120; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(121; UnitWeight; Decimal) + { + Caption = 'UnitWeight'; + } + field(122; User1; Text[30]) + { + Caption = 'User1'; + } + field(123; User2; Text[30]) + { + Caption = 'User2'; + } + field(124; User3; Decimal) + { + Caption = 'User3'; + } + field(125; User4; Decimal) + { + Caption = 'User4'; + } + field(126; User5; Text[10]) + { + Caption = 'User5'; + } + field(127; User6; Text[10]) + { + Caption = 'User6'; + } + field(128; User7; DateTime) + { + Caption = 'User7'; + } + field(129; User8; DateTime) + { + Caption = 'User8'; + } + field(130; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(131; WIP_COGS_Acct; Text[10]) + { + Caption = 'WIP_COGS_Acct'; + } + field(132; WIP_COGS_Sub; Text[24]) + { + Caption = 'WIP_COGS_Sub'; + } + field(133; WOBOMSeq; Integer) + { + Caption = 'WOBOMSeq'; + } + field(134; WOCostType; Text[2]) + { + Caption = 'WOCostType'; + } + field(135; WONbr; Text[10]) + { + Caption = 'WONbr'; + } + field(136; WOStepNbr; Integer) + { + Caption = 'WOStepNbr'; + } + } + + keys + { + key(Key1; PONbr, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLPurchOrd.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLPurchOrd.Table.al new file mode 100644 index 0000000000..7ff3adf34c --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLPurchOrd.Table.al @@ -0,0 +1,541 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47039 "SL PurchOrd" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AckDateTime; DateTime) + { + Caption = 'AckDateTime'; + } + field(2; ASID; Integer) + { + Caption = 'ASID'; + } + field(3; BatNbr; Text[10]) + { + Caption = 'BatNbr'; + } + field(4; BillShipAddr; Integer) + { + Caption = 'BillShipAddr'; + } + field(5; BlktExprDate; DateTime) + { + Caption = 'BlktExprDate'; + } + field(6; BlktPONbr; Text[10]) + { + Caption = 'BlktPONbr'; + } + field(7; Buyer; Text[10]) + { + Caption = 'Buyer'; + } + field(8; BuyerEmail; Text[80]) + { + Caption = 'BuyerEmail'; + } + field(9; CertCompl; Integer) + { + Caption = 'CertCompl'; + } + field(10; ConfirmTo; Text[10]) + { + Caption = 'ConfirmTo'; + } + field(11; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(12; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(13; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(14; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(15; CurrentNbr; Integer) + { + Caption = 'CurrentNbr'; + } + field(16; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(17; CuryFreight; Decimal) + { + Caption = 'CuryFreight'; + } + field(18; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(19; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(20; CuryPOAmt; Decimal) + { + Caption = 'CuryPOAmt'; + } + field(21; CuryPOItemTotal; Decimal) + { + Caption = 'CuryPOItemTotal'; + } + field(22; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(23; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(24; CuryRcptTotAmt; Decimal) + { + Caption = 'CuryRcptTotAmt'; + } + field(25; CuryTaxTot00; Decimal) + { + Caption = 'CuryTaxTot00'; + } + field(26; CuryTaxTot01; Decimal) + { + Caption = 'CuryTaxTot01'; + } + field(27; CuryTaxTot02; Decimal) + { + Caption = 'CuryTaxTot02'; + } + field(28; CuryTaxTot03; Decimal) + { + Caption = 'CuryTaxTot03'; + } + field(29; CuryTxblTot00; Decimal) + { + Caption = 'CuryTxblTot00'; + } + field(30; CuryTxblTot01; Decimal) + { + Caption = 'CuryTxblTot01'; + } + field(31; CuryTxblTot02; Decimal) + { + Caption = 'CuryTxblTot02'; + } + field(32; CuryTxblTot03; Decimal) + { + Caption = 'CuryTxblTot03'; + } + field(33; EDI; Integer) + { + Caption = 'EDI'; + } + field(34; FOB; Text[15]) + { + Caption = 'FOB'; + } + field(35; Freight; Decimal) + { + Caption = 'Freight'; + } + field(36; LastRcptDate; DateTime) + { + Caption = 'LastRcptDate'; + } + field(37; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(38; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(39; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(40; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(41; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(42; OpenPO; Integer) + { + Caption = 'OpenPO'; + } + field(43; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(44; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(45; PerEnt; Text[6]) + { + Caption = 'PerEnt'; + } + field(46; POAmt; Decimal) + { + Caption = 'POAmt'; + } + field(47; PODate; DateTime) + { + Caption = 'PODate'; + } + field(48; POItemTotal; Decimal) + { + Caption = 'POItemTotal'; + } + field(49; PONbr; Text[10]) + { + Caption = 'PONbr'; + } + field(50; POType; Text[2]) + { + Caption = 'POType'; + } + field(51; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(52; PrtBatNbr; Text[10]) + { + Caption = 'PrtBatNbr'; + } + field(53; PrtFlg; Integer) + { + Caption = 'PrtFlg'; + } + field(54; RcptStage; Text[1]) + { + Caption = 'RcptStage'; + } + field(55; RcptTotAmt; Decimal) + { + Caption = 'RcptTotAmt'; + } + field(56; ReqNbr; Text[10]) + { + Caption = 'ReqNbr'; + } + field(57; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(58; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(59; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(60; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(61; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(62; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(63; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(64; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(65; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(66; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(67; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(68; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(69; ServiceCallID; Text[10]) + { + Caption = 'ServiceCallID'; + } + field(70; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(71; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(72; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(73; ShipAttn; Text[30]) + { + Caption = 'ShipAttn'; + } + field(74; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(75; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(76; ShipCustID; Text[15]) + { + Caption = 'ShipCustID'; + } + field(77; ShipEmail; Text[80]) + { + Caption = 'ShipEmail'; + } + field(78; ShipFax; Text[30]) + { + Caption = 'ShipFax'; + } + field(79; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(80; ShipPhone; Text[30]) + { + Caption = 'ShipPhone'; + } + field(81; ShipSiteID; Text[10]) + { + Caption = 'ShipSiteID'; + } + field(82; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(83; ShiptoID; Text[10]) + { + Caption = 'ShiptoID'; + } + field(84; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(85; ShipVendAddrID; Text[10]) + { + Caption = 'ShipVendAddrID'; + } + field(86; ShipVendID; Text[15]) + { + Caption = 'ShipVendID'; + } + field(87; ShipVia; Text[15]) + { + Caption = 'ShipVia'; + } + field(88; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(89; Status; Text[1]) + { + Caption = 'Status'; + } + field(90; TaxCntr00; Integer) + { + Caption = 'TaxCntr00'; + } + field(91; TaxCntr01; Integer) + { + Caption = 'TaxCntr01'; + } + field(92; TaxCntr02; Integer) + { + Caption = 'TaxCntr02'; + } + field(93; TaxCntr03; Integer) + { + Caption = 'TaxCntr03'; + } + field(94; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(95; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(96; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(97; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(98; TaxTot00; Decimal) + { + Caption = 'TaxTot00'; + } + field(99; TaxTot01; Decimal) + { + Caption = 'TaxTot01'; + } + field(100; TaxTot02; Decimal) + { + Caption = 'TaxTot02'; + } + field(101; TaxTot03; Decimal) + { + Caption = 'TaxTot03'; + } + field(102; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(103; TxblTot00; Decimal) + { + Caption = 'TxblTot00'; + } + field(104; TxblTot01; Decimal) + { + Caption = 'TxblTot01'; + } + field(105; TxblTot02; Decimal) + { + Caption = 'TxblTot02'; + } + field(106; TxblTot03; Decimal) + { + Caption = 'TxblTot03'; + } + field(107; User1; Text[30]) + { + Caption = 'User1'; + } + field(108; User2; Text[30]) + { + Caption = 'User2'; + } + field(109; User3; Decimal) + { + Caption = 'User3'; + } + field(110; User4; Decimal) + { + Caption = 'User4'; + } + field(111; User5; Text[10]) + { + Caption = 'User5'; + } + field(112; User6; Text[10]) + { + Caption = 'User6'; + } + field(113; User7; DateTime) + { + Caption = 'User7'; + } + field(114; User8; DateTime) + { + Caption = 'User8'; + } + field(115; VendAddr1; Text[60]) + { + Caption = 'VendAddr1'; + } + field(116; VendAddr2; Text[60]) + { + Caption = 'VendAddr2'; + } + field(117; VendAddrID; Text[10]) + { + Caption = 'VendAddrID'; + } + field(118; VendAttn; Text[30]) + { + Caption = 'VendAttn'; + } + field(119; VendCity; Text[30]) + { + Caption = 'VendCity'; + } + field(120; VendCountry; Text[3]) + { + Caption = 'VendCountry'; + } + field(121; VendEmail; Text[80]) + { + Caption = 'VendEmail'; + } + field(122; VendFax; Text[30]) + { + Caption = 'VendFax'; + } + field(123; VendID; Text[15]) + { + Caption = 'VendID'; + } + field(124; VendName; Text[60]) + { + Caption = 'VendName'; + } + field(125; VendPhone; Text[30]) + { + Caption = 'VendPhone'; + } + field(126; VendState; Text[3]) + { + Caption = 'VendState'; + } + field(127; VendZip; Text[10]) + { + Caption = 'VendZip'; + } + field(128; VouchStage; Text[1]) + { + Caption = 'VouchStage'; + } + field(129; WSID; Integer) + { + Caption = 'VouchStage'; + } + } + + keys + { + key(Key1; PONbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLSOHeader.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLSOHeader.Table.al new file mode 100644 index 0000000000..7158445fe2 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLSOHeader.Table.al @@ -0,0 +1,797 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47034 "SL SOHeader" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AddressType; Text[1]) + { + Caption = 'AddressType'; + } + field(2; AdminHold; Integer) + { + Caption = 'AdminHold'; + } + field(3; AppliedToDocRef; Text[15]) + { + Caption = 'AppliedToDocRef'; + } + field(4; ApprDetails; Integer) + { + Caption = 'ApprDetails'; + } + field(5; ApprRMA; Integer) + { + Caption = 'ApprRMA'; + } + field(6; ApprTech; Integer) + { + Caption = 'ApprTech'; + } + field(7; ARAcct; Text[10]) + { + Caption = 'ARAcct'; + } + field(8; ARSub; Text[24]) + { + Caption = 'ARSub'; + } + field(9; ASID; Integer) + { + Caption = 'ASID'; + } + field(10; ASID01; Integer) + { + Caption = 'ASID01'; + } + field(11; AuthNbr; Text[20]) + { + Caption = 'AuthNbr'; + } + field(12; AutoPO; Integer) + { + Caption = 'AutoPO'; + } + field(13; AutoPOVendID; Text[15]) + { + Caption = 'AutoPOVendID'; + } + field(14; AwardProbability; Integer) + { + Caption = 'AwardProbability'; + } + field(15; BalDue; Decimal) + { + Caption = 'BalDue'; + } + field(16; BIInvoice; Text[1]) + { + Caption = 'BIInvoice'; + } + field(17; BillAddr1; Text[60]) + { + Caption = 'BillAddr1'; + } + field(18; BillAddr2; Text[60]) + { + Caption = 'BillAddr2'; + } + field(19; BillAddrSpecial; Integer) + { + Caption = 'BillAddrSpecial'; + } + field(20; BillAttn; Text[30]) + { + Caption = 'BillAttn'; + } + field(21; BillCity; Text[30]) + { + Caption = 'BillCity'; + } + field(22; BillCountry; Text[3]) + { + Caption = 'BillCountry'; + } + field(23; BillName; Text[60]) + { + Caption = 'BillName'; + } + field(24; BillPhone; Text[30]) + { + Caption = 'BillPhone'; + } + field(25; BillState; Text[3]) + { + Caption = 'BillState'; + } + field(26; BillThruProject; Integer) + { + Caption = 'BillThruProject'; + } + field(27; BillZip; Text[10]) + { + Caption = 'BillZip'; + } + field(28; BlktOrdNbr; Text[15]) + { + Caption = 'BlktOrdNbr'; + } + field(29; BookCntr; Integer) + { + Caption = 'BookCntr'; + } + field(30; BookCntrMisc; Integer) + { + Caption = 'BookCntrMisc'; + } + field(31; BuildAssyTime; Integer) + { + Caption = 'BuildAssyTime'; + } + field(32; BuildAvailDate; DateTime) + { + Caption = 'BuildAvailDate'; + } + field(33; BuildInvtID; Text[30]) + { + Caption = 'BuildInvtID'; + } + field(34; BuildQty; Decimal) + { + Caption = 'BuildQty'; + } + field(35; BuildQtyUpdated; Decimal) + { + Caption = 'BuildQtyUpdated'; + } + field(36; BuildSiteID; Text[10]) + { + Caption = 'BuildSiteID'; + } + field(37; BuyerID; Text[10]) + { + Caption = 'BuyerID'; + } + field(38; BuyerName; Text[60]) + { + Caption = 'BuyerName'; + } + field(39; CancelDate; DateTime) + { + Caption = 'CancelDate'; + } + field(40; Cancelled; Integer) + { + Caption = 'Cancelled'; + } + field(41; CancelShippers; Integer) + { + Caption = 'CancelShippers'; + } + field(42; CertID; Text[2]) + { + Caption = 'CertID'; + } + field(43; CertNoteID; Integer) + { + Caption = 'CertNoteID'; + } + field(44; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(45; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(46; ConsolInv; Integer) + { + Caption = 'ConsolInv'; + } + field(47; ContractNbr; Text[30]) + { + Caption = 'ContractNbr'; + } + field(48; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(49; CreditApprDays; Integer) + { + Caption = 'CreditApprDays'; + } + field(50; CreditApprLimit; Decimal) + { + Caption = 'CreditApprLimit'; + } + field(51; CreditChk; Integer) + { + Caption = 'CreditChk'; + } + field(52; CreditHold; Integer) + { + Caption = 'CreditHold'; + } + field(53; CreditHoldDate; DateTime) + { + Caption = 'CreditHoldDate'; + } + field(54; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(55; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(56; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(57; CuryBalDue; Decimal) + { + Caption = 'CuryBalDue'; + } + field(58; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(59; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(60; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(61; CuryPremFrtAmtAppld; Decimal) + { + Caption = 'CuryPremFrtAmtAppld'; + } + field(62; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(63; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(64; CuryTotFrt; Decimal) + { + Caption = 'CuryTotFrt'; + } + field(65; CuryTotLineDisc; Decimal) + { + Caption = 'CuryTotLineDisc'; + } + field(66; CuryTotMerch; Decimal) + { + Caption = 'CuryTotMerch'; + } + field(67; CuryTotMisc; Decimal) + { + Caption = 'CuryTotMisc'; + } + field(68; CuryTotOrd; Decimal) + { + Caption = 'CuryTotOrd'; + } + field(69; CuryTotPmt; Decimal) + { + Caption = 'CuryTotPmt'; + } + field(70; CuryTotPremFrt; Decimal) + { + Caption = 'CuryTotPremFrt'; + } + field(71; CuryTotTax; Decimal) + { + Caption = 'CuryTotTax'; + } + field(72; CuryTotTxbl; Decimal) + { + Caption = 'CuryTotTxbl'; + } + field(73; CuryUnshippedBalance; Decimal) + { + Caption = 'CuryUnshippedBalance'; + } + field(74; CuryWholeOrdDisc; Decimal) + { + Caption = 'CuryWholeOrdDisc'; + } + field(75; CustGLClassID; Text[4]) + { + Caption = 'CustGLClassID'; + } + field(76; CustID; Text[15]) + { + Caption = 'CustID'; + } + field(77; CustOrdNbr; Text[25]) + { + Caption = 'CustOrdNbr'; + } + field(78; DateCancelled; DateTime) + { + Caption = 'DateCancelled'; + } + field(79; Dept; Text[30]) + { + Caption = 'Dept'; + } + field(80; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(81; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(82; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(83; "Div"; Text[30]) + { + Caption = 'Div'; + } + field(84; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(85; EDI810; Integer) + { + Caption = 'EDI810'; + } + field(86; EDI856; Integer) + { + Caption = 'EDI856'; + } + field(87; EDIPOID; Text[10]) + { + Caption = 'EDIPOID'; + } + field(88; EventCntr; Integer) + { + Caption = 'EventCntr'; + } + field(89; FOBID; Text[15]) + { + Caption = 'FOBID'; + } + field(90; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(91; FrtCollect; Integer) + { + Caption = 'FrtCollect'; + } + field(92; FrtSub; Text[24]) + { + Caption = 'FrtSub'; + } + field(93; FrtTermsID; Text[10]) + { + Caption = 'FrtTermsID'; + } + field(94; GeoCode; Text[10]) + { + Caption = 'GeoCode'; + } + field(95; InvcDate; DateTime) + { + Caption = 'InvcDate'; + } + field(96; InvcNbr; Text[15]) + { + Caption = 'InvcNbr'; + } + field(97; IRDemand; Integer) + { + Caption = 'IRDemand'; + } + field(98; LanguageID; Text[4]) + { + Caption = 'LanguageID'; + } + field(99; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(100; LostSaleID; Text[2]) + { + Caption = 'LostSaleID'; + } + field(101; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(102; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(103; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(104; MarkFor; Integer) + { + Caption = 'MarkFor'; + } + field(105; MiscChrgCntr; Integer) + { + Caption = 'MiscChrgCntr'; + } + field(106; NextFunctionClass; Text[4]) + { + Caption = 'NextFunctionClass'; + } + field(107; NextFunctionID; Text[8]) + { + Caption = 'NextFunctionID'; + } + field(108; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(109; OrdDate; DateTime) + { + Caption = 'OrdDate'; + } + field(110; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(111; OrigOrdNbr; Text[15]) + { + Caption = 'OrigOrdNbr'; + } + field(112; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(113; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(114; PmtCntr; Integer) + { + Caption = 'PmtCntr'; + } + field(115; PremFrtAmtApplied; Decimal) + { + Caption = 'PremFrtAmtApplied'; + } + field(116; Priority; Integer) + { + Caption = 'Priority'; + } + field(117; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(118; QuoteDate; DateTime) + { + Caption = 'QuoteDate'; + } + field(119; Released; Integer) + { + Caption = 'Released'; + } + field(120; ReleaseValue; Decimal) + { + Caption = 'ReleaseValue'; + } + field(121; RequireStepAssy; Integer) + { + Caption = 'RequireStepAssy'; + } + field(122; RequireStepInsp; Integer) + { + Caption = 'RequireStepInsp'; + } + field(123; RlseForInvc; Integer) + { + Caption = 'RlseForInvc'; + } + field(124; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(125; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(126; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(127; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(128; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(129; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(130; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(131; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(132; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(133; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(134; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(135; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(136; SellingSiteID; Text[10]) + { + Caption = 'SellingSiteID'; + } + field(137; SFOOrdNbr; Text[15]) + { + Caption = 'SFOOrdNbr'; + } + field(138; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(139; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(140; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(141; ShipAddrSpecial; Integer) + { + Caption = 'ShipAddrSpecial'; + } + field(142; ShipAttn; Text[30]) + { + Caption = 'ShipAttn'; + } + field(143; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(144; ShipCmplt; Integer) + { + Caption = 'ShipCmplt'; + } + field(145; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(146; ShipCustID; Text[15]) + { + Caption = 'ShipCustID'; + } + field(147; ShipGeoCode; Text[10]) + { + Caption = 'ShipGeoCode'; + } + field(148; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(149; ShipPhone; Text[30]) + { + Caption = 'ShipPhone'; + } + field(150; ShipSiteID; Text[10]) + { + Caption = 'ShipSiteID'; + } + field(151; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(152; ShiptoID; Text[10]) + { + Caption = 'ShiptoID'; + } + field(153; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(154; ShipVendID; Text[15]) + { + Caption = 'ShipVendID'; + } + field(155; ShipViaID; Text[15]) + { + Caption = 'ShipViaID'; + } + field(156; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(157; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(158; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(159; Status; Text[1]) + { + Caption = 'Status'; + } + field(160; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(161; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(162; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(163; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(164; TermsID; Text[2]) + { + Caption = 'TermsID'; + } + field(165; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(166; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(167; TotFrt; Decimal) + { + Caption = 'TotFrt'; + } + field(168; TotLineDisc; Decimal) + { + Caption = 'TotLineDisc'; + } + field(169; TotMerch; Decimal) + { + Caption = 'TotMerch'; + } + field(170; TotMisc; Decimal) + { + Caption = 'TotMisc'; + } + field(171; TotOrd; Decimal) + { + Caption = 'TotOrd'; + } + field(172; TotPmt; Decimal) + { + Caption = 'TotPmt'; + } + field(173; TotPremFrt; Decimal) + { + Caption = 'TotPremFrt'; + } + field(174; TotShipWght; Decimal) + { + Caption = 'TotShipWght'; + } + field(175; TotTax; Decimal) + { + Caption = 'TotTax'; + } + field(176; TotTxbl; Decimal) + { + Caption = 'TotTxbl'; + } + field(177; UnshippedBalance; Decimal) + { + Caption = 'UnshippedBalance'; + } + field(178; User1; Text[30]) + { + Caption = 'User1'; + } + field(179; User10; DateTime) + { + Caption = 'User10'; + } + field(180; User2; Text[30]) + { + Caption = 'User2'; + } + field(181; User3; Text[30]) + { + Caption = 'User3'; + } + field(182; User4; Text[30]) + { + Caption = 'User4'; + } + field(183; User5; Decimal) + { + Caption = 'User5'; + } + field(184; User6; Decimal) + { + Caption = 'User6'; + } + field(185; User7; Text[10]) + { + Caption = 'User7'; + } + field(186; User8; Text[10]) + { + Caption = 'User8'; + } + field(187; User9; DateTime) + { + Caption = 'User9'; + } + field(188; VendAddrID; Text[10]) + { + Caption = 'VendAddrID'; + } + field(189; WeekendDelivery; Integer) + { + Caption = 'WeekendDelivery'; + } + field(190; WholeOrdDisc; Decimal) + { + Caption = 'WholeOrdDisc'; + } + field(191; WorkflowID; Integer) + { + Caption = 'WorkflowID'; + } + field(192; WorkflowStatus; Text[1]) + { + Caption = 'WorkflowStatus'; + } + field(193; WSID; Integer) + { + Caption = 'WSID'; + } + } + + keys + { + key(Key1; CpnyID, OrdNbr) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLSOLine.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLSOLine.Table.al new file mode 100644 index 0000000000..c569d9070c --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLSOLine.Table.al @@ -0,0 +1,557 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47035 "SL SOLine" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(2; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(3; AutoPO; Integer) + { + Caption = 'AutoPO'; + } + field(4; AutoPOVendID; Text[15]) + { + Caption = 'AutoPOVendID'; + } + field(5; BlktOrdLineRef; Text[5]) + { + Caption = 'BlktOrdLineRef'; + } + field(6; BlktOrdQty; Decimal) + { + Caption = 'BlktOrdQty'; + } + field(7; BMICost; Decimal) + { + Caption = 'BMICost'; + } + field(8; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(9; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(10; BMIExtPriceInvc; Decimal) + { + Caption = 'BMIExtPriceInvc'; + } + field(11; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(12; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(13; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(14; BMISlsPrice; Decimal) + { + Caption = 'BMISlsPrice'; + } + field(15; BoundToWO; Integer) + { + Caption = 'BoundToWO'; + } + field(16; CancelDate; DateTime) + { + Caption = 'CancelDate'; + } + field(17; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(18; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(19; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(20; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(21; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(22; CommCost; Decimal) + { + Caption = 'CommCost'; + } + field(23; Cost; Decimal) + { + Caption = 'Cost'; + } + field(24; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(25; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(26; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(27; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(28; CuryCommCost; Decimal) + { + Caption = 'CuryCommCost'; + } + field(29; CuryCost; Decimal) + { + Caption = 'CuryCost'; + } + field(30; CuryListPrice; Decimal) + { + Caption = 'CuryListPrice'; + } + field(31; CurySlsPrice; Decimal) + { + Caption = 'CurySlsPrice'; + } + field(32; CurySlsPriceOrig; Decimal) + { + Caption = 'CurySlsPriceOrig'; + } + field(33; CuryTotCommCost; Decimal) + { + Caption = 'CuryTotCommCost'; + } + field(34; CuryTotCost; Decimal) + { + Caption = 'CuryTotCost'; + } + field(35; CuryTotOrd; Decimal) + { + Caption = 'CuryTotOrd'; + } + field(36; Descr; Text[60]) + { + Caption = 'Descr'; + } + field(37; DescrLang; Text[30]) + { + Caption = 'DescrLang'; + } + field(38; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(39; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(40; DiscPrcType; Text[1]) + { + Caption = 'DiscPrcType'; + } + field(41; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(42; Disp; Text[3]) + { + Caption = 'Disp'; + } + field(43; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(44; InclForecastUsageClc; Integer) + { + Caption = 'InclForecastUsageClc'; + } + field(45; InspID; Text[2]) + { + Caption = 'InspID'; + } + field(46; InspNoteID; Integer) + { + Caption = 'InspNoteID'; + } + field(47; InvAcct; Text[10]) + { + Caption = 'InvAcct'; + } + field(48; InvSub; Text[24]) + { + Caption = 'InvSub'; + } + field(50; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(51; IRDemand; Integer) + { + Caption = 'IRDemand'; + } + field(52; IRInvtID; Text[30]) + { + Caption = 'IRInvtID'; + } + field(53; IRProcessed; Integer) + { + Caption = 'IRProcessed'; + } + field(54; IRSiteID; Text[10]) + { + Caption = 'IRSiteID'; + } + field(55; ItemGLClassID; Text[4]) + { + Caption = 'ItemGLClassID'; + } + field(56; KitComponent; Integer) + { + Caption = 'KitComponent'; + } + field(57; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(58; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(59; ListPrice; Decimal) + { + Caption = 'ListPrice'; + } + field(60; LotSerialReq; Integer) + { + Caption = 'LotSerialReq'; + } + field(61; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(62; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(63; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(64; ManualCost; Integer) + { + Caption = 'ManualCost'; + } + field(65; ManualPrice; Integer) + { + Caption = 'ManualPrice'; + } + field(66; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(67; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(68; OrigINBatNbr; Text[10]) + { + Caption = 'OrigINBatNbr'; + } + field(69; OrigInvcNbr; Text[15]) + { + Caption = 'OrigInvcNbr'; + } + field(70; OrigInvtID; Text[30]) + { + Caption = 'OrigInvtID'; + } + field(71; OrigShipperCnvFact; Decimal) + { + Caption = 'OrigShipperCnvFact'; + } + field(72; OrigShipperID; Text[15]) + { + Caption = 'OrigShipperID'; + } + field(73; OrigShipperLineQty; Decimal) + { + Caption = 'OrigShipperLineQty'; + } + field(74; OrigShipperLineRef; Text[5]) + { + Caption = 'OrigShipperLineRef'; + } + field(75; OrigShipperUnitDesc; Text[6]) + { + Caption = 'OrigShipperUnitDesc'; + } + field(76; OrigShipperMultDiv; Text[1]) + { + Caption = 'OrigShipperMultDiv'; + } + field(77; PC_Status; Text[1]) + { + Caption = 'PC_Status'; + } + field(78; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(79; PromDate; DateTime) + { + Caption = 'PromDate'; + } + field(80; QtyBO; Decimal) + { + Caption = 'QtyBO'; + } + field(81; QtyCloseShip; Decimal) + { + Caption = 'QtyCloseShip'; + } + field(82; QtyFuture; Decimal) + { + Caption = 'QtyFuture'; + } + field(83; QtyOpenShip; Decimal) + { + Caption = 'QtyOpenShip'; + } + field(84; QtyOrd; Decimal) + { + Caption = 'QtyOrd'; + } + field(85; QtyShip; Decimal) + { + Caption = 'QtyShip'; + } + field(86; QtyToInvc; Decimal) + { + Caption = 'QtyToInvc'; + } + field(87; ReasonCd; Text[6]) + { + Caption = 'ReasonCd'; + } + field(88; RebateID; Text[10]) + { + Caption = 'RebateID'; + } + field(89; ReqDate; DateTime) + { + Caption = 'ReqDate'; + } + field(90; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(91; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(92; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(93; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(94; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(95; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(96; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(97; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(98; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(99; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(100; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(101; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(102; SalesPriceID; Text[15]) + { + Caption = 'SalesPriceID'; + } + field(103; Sample; Integer) + { + Caption = 'Sample'; + } + field(104; SchedCntr; Integer) + { + Caption = 'SchedCntr'; + } + field(105; Service; Integer) + { + Caption = 'Service'; + } + field(106; ShipWght; Decimal) + { + Caption = 'ShipWght'; + } + field(107; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(108; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(109; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(110; SlsPrice; Decimal) + { + Caption = 'SlsPrice'; + } + field(111; SlsPriceID; Text[15]) + { + Caption = 'SlsPriceID'; + } + field(112; SlsPriceOrig; Decimal) + { + Caption = 'SlsPriceOrig'; + } + field(113; SlsSub; Text[24]) + { + Caption = 'SlsSub'; + } + field(114; SplitLots; Integer) + { + Caption = 'SplitLots'; + } + field(115; Status; Text[1]) + { + Caption = 'Status'; + } + field(116; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(117; Taxable; Integer) + { + Caption = 'Taxable'; + } + field(118; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(119; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(120; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(121; TotOrd; Decimal) + { + Caption = 'TotOrd'; + } + field(122; TotShipWght; Decimal) + { + Caption = 'TotShipWght'; + } + field(123; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(124; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(125; User1; Text[30]) + { + Caption = 'User1'; + } + field(126; User10; DateTime) + { + Caption = 'User10'; + } + field(127; User2; Text[30]) + { + Caption = 'User2'; + } + field(128; User3; Text[30]) + { + Caption = 'User3'; + } + field(129; User4; Text[30]) + { + Caption = 'User4'; + } + field(130; User5; Decimal) + { + Caption = 'User5'; + } + field(131; User6; Decimal) + { + Caption = 'User6'; + } + field(132; User7; Text[10]) + { + Caption = 'User7'; + } + field(133; User8; Text[10]) + { + Caption = 'User8'; + } + field(134; User9; DateTime) + { + Caption = 'User9'; + } + } + + keys + { + key(Key1; CpnyID, OrdNbr, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipHeader.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipHeader.Table.al new file mode 100644 index 0000000000..013ff3427f --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipHeader.Table.al @@ -0,0 +1,901 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47036 "SL SOShipHeader" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AccrDocDate; DateTime) + { + Caption = 'AccrDocDate'; + } + field(2; AccrPerPost; Text[6]) + { + Caption = 'AccrPerPost'; + } + field(3; AccrRevAcct; Text[10]) + { + Caption = 'AccrRevAcct'; + } + field(4; AccrRevSub; Text[24]) + { + Caption = 'AccrRevSub'; + } + field(5; AccrShipRegisterID; Text[10]) + { + Caption = 'AccrShipRegisterID'; + } + field(6; AddressType; Text[1]) + { + Caption = 'AddressType'; + } + field(7; AdminHold; Integer) + { + Caption = 'AdminHold'; + } + field(8; AppliedToDocRef; Text[15]) + { + Caption = 'AppliedToDocRef'; + } + field(9; ARAcct; Text[10]) + { + Caption = 'ARAcct'; + } + field(10; ARBatNbr; Text[10]) + { + Caption = 'ARBatNbr'; + } + field(11; ARDocType; Text[2]) + { + Caption = 'ARDocType'; + } + field(12; ARSub; Text[24]) + { + Caption = 'ARSub'; + } + field(13; ASID; Integer) + { + Caption = 'ASID'; + } + field(14; ASID01; Integer) + { + Caption = 'ASID01'; + } + field(15; AuthNbr; Text[20]) + { + Caption = 'AuthNbr'; + } + field(16; AutoReleaseReturn; Integer) + { + Caption = 'AutoReleaseReturn'; + } + field(17; BalDue; Decimal) + { + Caption = 'BalDue'; + } + field(18; BIInvoice; Text[1]) + { + Caption = 'BIInvoice'; + } + field(19; BillAddr1; Text[60]) + { + Caption = 'BillAddr1'; + } + field(20; BillAddr2; Text[60]) + { + Caption = 'BillAddr2'; + } + field(21; BillAddrSpecial; Integer) + { + Caption = 'BillAddrSpecial'; + } + field(22; BillAttn; Text[30]) + { + Caption = 'BillAttn'; + } + field(23; BillCity; Text[30]) + { + Caption = 'BillCity'; + } + field(24; BillCountry; Text[3]) + { + Caption = 'BillCountry'; + } + field(25; BillName; Text[60]) + { + Caption = 'BillName'; + } + field(26; BillPhone; Text[30]) + { + Caption = 'BillPhone'; + } + field(27; BillState; Text[3]) + { + Caption = 'BillState'; + } + field(28; BillThruProject; Integer) + { + Caption = 'BillThruProject'; + } + field(29; BillZip; Text[10]) + { + Caption = 'BillZip'; + } + field(30; BlktOrdNbr; Text[15]) + { + Caption = 'BlktOrdNbr'; + } + field(31; BMICost; Decimal) + { + Caption = 'BMICost'; + } + field(32; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(33; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(34; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(35; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(36; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(37; BookCntr; Integer) + { + Caption = 'BookCntr'; + } + field(38; BookCntrMisc; Integer) + { + Caption = 'BookCntrMisc'; + } + field(39; BoxCntr; Integer) + { + Caption = 'BoxCntr'; + } + field(40; BuildActQty; Decimal) + { + Caption = 'BuildActQty'; + } + field(41; BuildCmpltDate; DateTime) + { + Caption = 'BuildCmpltDate'; + } + field(42; BuildInvtID; Text[30]) + { + Caption = 'BuildInvtID'; + } + field(43; BuildLotSerCntr; Integer) + { + Caption = 'BuildLotSerCntr'; + } + field(44; BuildQty; Decimal) + { + Caption = 'BuildQty'; + } + field(45; BuildTotalCost; Decimal) + { + Caption = 'BuildTotalCost'; + } + field(46; BuyerID; Text[10]) + { + Caption = 'BuyerID'; + } + field(47; BuyerName; Text[60]) + { + Caption = 'BuyerName'; + } + field(48; CancelBO; Integer) + { + Caption = 'CancelBO'; + } + field(49; Cancelled; Integer) + { + Caption = 'Cancelled'; + } + field(50; CancelOrder; Integer) + { + Caption = 'CancelOrder'; + } + field(51; CertID; Text[2]) + { + Caption = 'CertID'; + } + field(52; CertNoteID; Integer) + { + Caption = 'CertNoteID'; + } + field(53; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(54; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(55; ConsolInv; Integer) + { + Caption = 'ConsolInv'; + } + field(56; ContractNbr; Text[25]) + { + Caption = 'ContractNbr'; + } + field(57; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(58; CreditApprDays; Integer) + { + Caption = 'CreditApprDays'; + } + field(59; CreditApprLimit; Decimal) + { + Caption = 'CreditApprLimit'; + } + field(60; CreditChk; Integer) + { + Caption = 'CreditChk'; + } + field(61; CreditHold; Integer) + { + Caption = 'CreditHold'; + } + field(62; CreditHoldDate; DateTime) + { + Caption = 'CreditHoldDate'; + } + field(63; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(64; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(65; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(66; CuryBalDue; Decimal) + { + Caption = 'CuryBalDue'; + } + field(67; CuryBuildTotCost; Decimal) + { + Caption = 'CuryBuildTotCost'; + } + field(68; CuryEffDate; DateTime) + { + Caption = 'CuryEffDate'; + } + field(69; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(70; CuryMultDiv; Text[1]) + { + Caption = 'CuryMultDiv'; + } + field(71; CuryPremFrtAmt; Decimal) + { + Caption = 'CuryPremFrtAmt'; + } + field(72; CuryRate; Decimal) + { + Caption = 'CuryRate'; + } + field(73; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(74; CuryTotFrtCost; Decimal) + { + Caption = 'CuryTotFrtCost'; + } + field(75; CuryTotFrtInvc; Decimal) + { + Caption = 'CuryTotFrtInvc'; + } + field(76; CuryTotInvc; Decimal) + { + Caption = 'CuryTotInvc'; + } + field(77; CuryTotLineDisc; Decimal) + { + Caption = 'CuryTotLineDisc'; + } + field(78; CuryTotMerch; Decimal) + { + Caption = 'CuryTotMerch'; + } + field(79; CuryTotMisc; Decimal) + { + Caption = 'CuryTotMisc'; + } + field(80; CuryTotPmt; Decimal) + { + Caption = 'CuryTotPmt'; + } + field(81; CuryTotTax; Decimal) + { + Caption = 'CuryTotTax'; + } + field(82; CuryTotTxbl; Decimal) + { + Caption = 'CuryTotTxbl'; + } + field(83; CuryWholeOrdDisc; Decimal) + { + Caption = 'CuryWholeOrdDisc'; + } + field(84; CustGLClassID; Text[4]) + { + Caption = 'CustGLClassID'; + } + field(85; CustID; Text[15]) + { + Caption = 'CustID'; + } + field(86; CustOrdNbr; Text[25]) + { + Caption = 'CustOrdNbr'; + } + field(87; DateCancelled; DateTime) + { + Caption = 'DateCancelled'; + } + field(88; Dept; Text[30]) + { + Caption = 'Dept'; + } + field(89; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(90; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(91; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(92; "Div"; Text[30]) + { + Caption = 'Div'; + } + field(93; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(94; EDI810; Integer) + { + Caption = 'EDI810'; + } + field(95; EDI856; Integer) + { + Caption = 'EDI856'; + } + field(96; EDIASNProcNbr; Text[10]) + { + Caption = 'EDIASNProcNbr'; + } + field(97; EDIInvcProcNbr; Text[10]) + { + Caption = 'EDIInvcProcNbr'; + } + field(98; ETADate; DateTime) + { + Caption = 'ETADate'; + } + field(99; FOBID; Text[15]) + { + Caption = 'FOBID'; + } + field(100; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(101; FrtCollect; Integer) + { + Caption = 'FrtCollect'; + } + field(102; FrtSub; Text[24]) + { + Caption = 'FrtSub'; + } + field(103; FrtTermsID; Text[10]) + { + Caption = 'FrtTermsID'; + } + field(104; GeoCode; Text[10]) + { + Caption = 'GeoCode'; + } + field(105; INBatNbr; Text[10]) + { + Caption = 'INBatNbr'; + } + field(106; InvcDate; DateTime) + { + Caption = 'InvcDate'; + } + field(107; InvcNbr; Text[15]) + { + Caption = 'InvcNbr'; + } + field(108; InvcPrint; Integer) + { + Caption = 'InvcPrint'; + } + field(109; LanguageID; Text[4]) + { + Caption = 'LanguageID'; + } + field(110; LastAppendDate; DateTime) + { + Caption = 'LastAppendDate'; + } + field(111; LastAppendTime; DateTime) + { + Caption = 'LastAppendTime'; + } + field(112; LineCntr; Integer) + { + Caption = 'LineCntr'; + } + field(113; LotSerialHold; Integer) + { + Caption = 'LotSerialHold'; + } + field(114; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(115; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(116; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(117; MarkFor; Integer) + { + Caption = 'MarkFor'; + } + field(118; MiscChrgCntr; Integer) + { + Caption = 'MiscChrgCntr'; + } + field(119; NextFunctionClass; Text[4]) + { + Caption = 'NextFunctionClass'; + } + field(120; NextFunctionID; Text[8]) + { + Caption = 'NextFunctionID'; + } + field(121; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(122; OKToAppend; Integer) + { + Caption = 'OKToAppend'; + } + field(123; OrdDate; DateTime) + { + Caption = 'OrdDate'; + } + field(224; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(124; OverridePerPost; Integer) + { + Caption = 'OverridePerPost'; + } + field(125; PackDate; DateTime) + { + Caption = 'PackDate'; + } + field(126; PerClosed; Text[6]) + { + Caption = 'PerClosed'; + } + field(127; PerPost; Text[6]) + { + Caption = 'PerPost'; + } + field(128; PickDate; DateTime) + { + Caption = 'PickDate'; + } + field(129; PmtCntr; Integer) + { + Caption = 'PmtCntr'; + } + field(130; PremFrt; Integer) + { + Caption = 'PremFrt'; + } + field(131; PremFrtAmt; Decimal) + { + Caption = 'PremFrtAmt'; + } + field(132; Priority; Integer) + { + Caption = 'Priority'; + } + field(133; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(134; RelDate; DateTime) + { + Caption = 'RelDate'; + } + field(135; ReleaseValue; Decimal) + { + Caption = 'ReleaseValue'; + } + field(136; RequireStepAssy; Integer) + { + Caption = 'RequireStepAssy'; + } + field(137; RequireStepInsp; Integer) + { + Caption = 'RequireStepInsp'; + } + field(138; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(139; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(140; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(141; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(142; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(143; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(144; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(145; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(146; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(147; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(148; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(149; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(150; SellingSiteID; Text[10]) + { + Caption = 'SellingSiteID'; + } + field(151; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(152; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(153; ShipAddrID; Text[10]) + { + Caption = 'ShipAddrID'; + } + field(154; ShipAddrSpecial; Integer) + { + Caption = 'ShipAddrSpecial'; + } + field(155; ShipAttn; Text[30]) + { + Caption = 'ShipAttn'; + } + field(156; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(157; ShipCmplt; Integer) + { + Caption = 'ShipCmplt'; + } + field(158; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(159; ShipCustID; Text[15]) + { + Caption = 'ShipCustID'; + } + field(160; ShipDateAct; DateTime) + { + Caption = 'ShipDateAct'; + } + field(161; ShipDatePlan; DateTime) + { + Caption = 'ShipDatePlan'; + } + field(162; ShipGeoCode; Text[10]) + { + Caption = 'ShipGeoCode'; + } + field(163; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(164; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(165; ShipPhone; Text[30]) + { + Caption = 'ShipPhone'; + } + field(166; ShippingConfirmed; Integer) + { + Caption = 'ShippingConfirmed'; + } + field(167; ShippingManifested; Integer) + { + Caption = 'ShippingManifested'; + } + field(168; ShipRegisterID; Text[10]) + { + Caption = 'ShipRegisterID'; + } + field(169; ShipSiteID; Text[10]) + { + Caption = 'ShipSiteID'; + } + field(170; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(171; ShiptoID; Text[10]) + { + Caption = 'ShiptoID'; + } + field(172; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(173; ShipVendAddrID; Text[10]) + { + Caption = 'ShipVendAddrID'; + } + field(174; ShipVendID; Text[15]) + { + Caption = 'ShipVendID'; + } + field(175; ShipViaID; Text[15]) + { + Caption = 'ShipViaID'; + } + field(176; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(177; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(178; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(179; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(180; Status; Text[1]) + { + Caption = 'Status'; + } + field(181; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(182; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(183; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(184; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(185; TermsID; Text[2]) + { + Caption = 'TermsID'; + } + field(186; TotBoxes; Integer) + { + Caption = 'TotBoxes'; + } + field(187; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(188; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(189; TotFrtCost; Decimal) + { + Caption = 'TotFrtCost'; + } + field(190; TotFrtInvc; Decimal) + { + Caption = 'TotFrtInvc'; + } + field(191; TotInvc; Decimal) + { + Caption = 'TotInvc'; + } + field(192; TotLineDisc; Decimal) + { + Caption = 'TotLineDisc'; + } + field(193; TotMerch; Decimal) + { + Caption = 'TotMerch'; + } + field(194; TotMisc; Decimal) + { + Caption = 'TotMisc'; + } + field(195; TotPallets; Integer) + { + Caption = 'TotPallets'; + } + field(196; TotPmt; Decimal) + { + Caption = 'TotPmt'; + } + field(197; TotShipWght; Decimal) + { + Caption = 'TotShipWght'; + } + field(198; TotTax; Decimal) + { + Caption = 'TotTax'; + } + field(199; TotTxbl; Decimal) + { + Caption = 'TotTxbl'; + } + field(200; TrackingNbr; Text[25]) + { + Caption = 'TrackingNbr'; + } + field(201; TransitTime; Integer) + { + Caption = 'TransitTime'; + } + field(202; User1; Text[30]) + { + Caption = 'User1'; + } + field(203; User10; DateTime) + { + Caption = 'User10'; + } + field(204; User2; Text[30]) + { + Caption = 'User2'; + } + field(205; User3; Text[30]) + { + Caption = 'User3'; + } + field(206; User4; Text[30]) + { + Caption = 'User4'; + } + field(207; User5; Decimal) + { + Caption = 'User5'; + } + field(208; User6; Decimal) + { + Caption = 'User6'; + } + field(209; User7; Text[10]) + { + Caption = 'User7'; + } + field(210; User8; Text[10]) + { + Caption = 'User8'; + } + field(211; User9; DateTime) + { + Caption = 'User9'; + } + field(212; WeekendDelivery; Integer) + { + Caption = 'WeekendDelivery'; + } + field(213; WholeOrdDisc; Decimal) + { + Caption = 'WholeOrdDisc'; + } + field(214; WorkflowID; Integer) + { + Caption = 'WorkflowID'; + } + field(215; WorkflowStatus; Text[1]) + { + Caption = 'WorkflowStatus'; + } + field(216; WSID; Integer) + { + Caption = 'WSID'; + } + field(217; WSID01; Integer) + { + Caption = 'WSID01'; + } + field(218; Zone; Text[6]) + { + Caption = 'Zone'; + } + } + + keys + { + key(Key1; CpnyID, ShipperID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipLine.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipLine.Table.al new file mode 100644 index 0000000000..656f39fa1b --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipLine.Table.al @@ -0,0 +1,573 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47037 "SL SOShipLine" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; AlternateID; Text[30]) + { + Caption = 'AlternateID'; + } + field(2; AltIDType; Text[1]) + { + Caption = 'AltIDType'; + } + field(3; AvgCost; Decimal) + { + Caption = 'AvgCost'; + } + field(4; BMICost; Decimal) + { + Caption = 'BMICost'; + } + field(5; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(6; BMIEffDate; DateTime) + { + Caption = 'BMIEffDate'; + } + field(7; BMIExtPriceInvc; Decimal) + { + Caption = 'BMIExtPriceInvc'; + } + field(8; BMIMultDiv; Text[1]) + { + Caption = 'BMIMultDiv'; + } + field(9; BMIRate; Decimal) + { + Caption = 'BMIRate'; + } + field(10; BMIRtTp; Text[6]) + { + Caption = 'BMIRtTp'; + } + field(11; BMISlsPrice; Decimal) + { + Caption = 'BMISlsPrice'; + } + field(12; ChainDisc; Text[15]) + { + Caption = 'ChainDisc'; + } + field(13; CmmnPct; Decimal) + { + Caption = 'CmmnPct'; + } + field(14; CnvFact; Decimal) + { + Caption = 'CnvFact'; + } + field(15; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(16; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(17; CommCost; Decimal) + { + Caption = 'CommCost'; + } + field(18; Cost; Decimal) + { + Caption = 'Cost'; + } + field(19; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(20; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(21; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(22; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(23; CuryCommCost; Decimal) + { + Caption = 'CuryCommCost'; + } + field(24; CuryCost; Decimal) + { + Caption = 'CuryCost'; + } + field(25; CuryListPrice; Decimal) + { + Caption = 'CuryListPrice'; + } + field(26; CurySlsPrice; Decimal) + { + Caption = 'CurySlsPrice'; + } + field(27; CuryTaxAmt00; Decimal) + { + Caption = 'CuryTaxAmt00'; + } + field(28; CuryTaxAmt01; Decimal) + { + Caption = 'CuryTaxAmt01'; + } + field(29; CuryTaxAmt02; Decimal) + { + Caption = 'CuryTaxAmt02'; + } + field(30; CuryTaxAmt03; Decimal) + { + Caption = 'CuryTaxAmt03'; + } + field(31; CuryTotCommCost; Decimal) + { + Caption = 'CuryTotCommCost'; + } + field(32; CuryTotCost; Decimal) + { + Caption = 'CuryTotCost'; + } + field(33; CuryTotInvc; Decimal) + { + Caption = 'CuryTotInvc'; + } + field(34; CuryTotMerch; Decimal) + { + Caption = 'CuryTotMerch'; + } + field(35; CuryTxblAmt00; Decimal) + { + Caption = 'CuryTxblAmt00'; + } + field(36; CuryTxblAmt01; Decimal) + { + Caption = 'CuryTxblAmt01'; + } + field(37; CuryTxblAmt02; Decimal) + { + Caption = 'CuryTxblAmt02'; + } + field(38; CuryTxblAmt03; Decimal) + { + Caption = 'CuryTxblAmt03'; + } + field(39; Descr; Text[60]) + { + Caption = 'Descr'; + } + field(40; DescrLang; Text[30]) + { + Caption = 'DescrLang'; + } + field(41; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(42; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(43; DiscSub; Text[24]) + { + Caption = 'DiscSub'; + } + field(44; Disp; Text[3]) + { + Caption = 'Disp'; + } + field(45; InspID; Text[2]) + { + Caption = 'InspID'; + } + field(46; InspNoteID; Integer) + { + Caption = 'InspNoteID'; + } + field(47; InvAcct; Text[10]) + { + Caption = 'InvAcct'; + } + field(48; InvSub; Text[24]) + { + Caption = 'InvSub'; + } + field(49; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(50; IRDemand; Integer) + { + Caption = 'IRDemand'; + } + field(51; IRInvtID; Text[30]) + { + Caption = 'IRInvtID'; + } + field(52; IRSiteID; Text[10]) + { + Caption = 'IRSiteID'; + } + field(53; ItemGLClassID; Text[4]) + { + Caption = 'ItemGLClassID'; + } + field(54; LineNbr; Integer) + { + Caption = 'LineNbr'; + } + field(55; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(56; ListPrice; Decimal) + { + Caption = 'ListPrice'; + } + field(57; LotSerCntr; Integer) + { + Caption = 'LotSerCntr'; + } + field(58; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(59; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(60; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(61; ManualCost; Integer) + { + Caption = 'ManualCost'; + } + field(62; ManualPrice; Integer) + { + Caption = 'ManualPrice'; + } + field(63; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(64; OrdLineRef; Text[5]) + { + Caption = 'OrdLineRef'; + } + field(65; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(66; OrigBO; Decimal) + { + Caption = 'OrigBO'; + } + field(67; OrigINBatNbr; Text[10]) + { + Caption = 'OrigINBatNbr'; + } + field(68; OrigInvcNbr; Text[15]) + { + Caption = 'OrigInvcNbr'; + } + field(69; OrigInvtID; Text[30]) + { + Caption = 'OrigInvtID'; + } + field(70; OrigShipperID; Text[15]) + { + Caption = 'OrigShipperID'; + } + field(71; OrigShipperLineRef; Text[5]) + { + Caption = 'OrigShipperLineRef'; + } + field(72; ProjectID; Text[16]) + { + Caption = 'ProjectID'; + } + field(73; QtyBO; Decimal) + { + Caption = 'QtyBO'; + } + field(74; QtyFuture; Decimal) + { + Caption = 'QtyFuture'; + } + field(75; QtyOrd; Decimal) + { + Caption = 'QtyOrd'; + } + field(76; QtyPick; Decimal) + { + Caption = 'QtyPick'; + } + field(77; QtyPrevShip; Decimal) + { + Caption = 'QtyPrevShip'; + } + field(78; QtyShip; Decimal) + { + Caption = 'QtyShip'; + } + field(79; RebateID; Text[10]) + { + Caption = 'RebateID'; + } + field(80; RebatePer; Text[6]) + { + Caption = 'RebatePer'; + } + field(81; RebateRefNbr; Text[10]) + { + Caption = 'RebateRefNbr'; + } + field(82; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(83; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(84; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(85; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(86; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(87; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(88; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(89; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(90; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(91; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(92; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(93; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(94; Sample; Integer) + { + Caption = 'Sample'; + } + field(95; Service; Integer) + { + Caption = 'Service'; + } + field(96; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(97; ShipWght; Decimal) + { + Caption = 'ShipWght'; + } + field(98; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(99; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(100; SlsperID; Text[10]) + { + Caption = 'SlsperID'; + } + field(101; SlsPrice; Decimal) + { + Caption = 'SlsPrice'; + } + field(102; SlsPriceID; Text[15]) + { + Caption = 'SlsPriceID'; + } + field(103; SlsSub; Text[24]) + { + Caption = 'SlsSub'; + } + field(104; SplitLots; Integer) + { + Caption = 'SplitLots'; + } + field(105; Status; Text[1]) + { + Caption = 'Status'; + } + field(106; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(107; Taxable; Integer) + { + Caption = 'Taxable'; + } + field(108; TaxAmt00; Decimal) + { + Caption = 'TaxAmt00'; + } + field(109; TaxAmt01; Decimal) + { + Caption = 'TaxAmt01'; + } + field(110; TaxAmt02; Decimal) + { + Caption = 'TaxAmt02'; + } + field(111; TaxAmt03; Decimal) + { + Caption = 'TaxAmt03'; + } + field(112; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(113; TaxID00; Text[10]) + { + Caption = 'TaxID00'; + } + field(114; TaxID01; Text[10]) + { + Caption = 'TaxID01'; + } + field(115; TaxID02; Text[10]) + { + Caption = 'TaxID02'; + } + field(116; TaxID03; Text[10]) + { + Caption = 'TaxID03'; + } + field(117; TaxIDDflt; Text[10]) + { + Caption = 'TaxIDDflt'; + } + field(118; TotCommCost; Decimal) + { + Caption = 'TotCommCost'; + } + field(119; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(120; TotInvc; Decimal) + { + Caption = 'TotInvc'; + } + field(121; TotMerch; Decimal) + { + Caption = 'TotMerch'; + } + field(122; TxblAmt00; Decimal) + { + Caption = 'TxblAmt00'; + } + field(123; TxblAmt01; Decimal) + { + Caption = 'TxblAmt01'; + } + field(124; TxblAmt02; Decimal) + { + Caption = 'TxblAmt02'; + } + field(125; TxblAmt03; Decimal) + { + Caption = 'TxblAmt03'; + } + field(126; UnitDesc; Text[6]) + { + Caption = 'UnitDesc'; + } + field(127; UnitMultDiv; Text[1]) + { + Caption = 'UnitMultDiv'; + } + field(128; User1; Text[30]) + { + Caption = 'User1'; + } + field(129; User10; DateTime) + { + Caption = 'User10'; + } + field(130; User2; Text[30]) + { + Caption = 'User2'; + } + field(131; User3; Text[30]) + { + Caption = 'User3'; + } + field(132; User4; Text[30]) + { + Caption = 'User4'; + } + field(133; User5; Decimal) + { + Caption = 'User5'; + } + field(134; User6; Decimal) + { + Caption = 'User6'; + } + field(135; User7; Text[10]) + { + Caption = 'User7'; + } + field(136; User8; Text[10]) + { + Caption = 'User8'; + } + field(137; User9; DateTime) + { + Caption = 'User9'; + } + } + + keys + { + key(Key1; CpnyID, ShipperID, LineRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipLot.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipLot.Table.al new file mode 100644 index 0000000000..a4ad541b57 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLSOShipLot.Table.al @@ -0,0 +1,217 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47038 "SL SOShipLot" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; BoxRef; Text[5]) + { + Caption = 'BoxRef'; + } + field(2; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(3; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(4; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(5; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(6; DropShip; Integer) + { + Caption = 'DropShip'; + } + field(7; InvtId; Text[30]) + { + Caption = 'InvtId'; + } + field(8; LineRef; Text[5]) + { + Caption = 'LineRef'; + } + field(9; LotSerNbr; Text[25]) + { + Caption = 'LotSerNbr'; + } + field(10; LotSerRef; Text[5]) + { + Caption = 'LotSerRef'; + } + field(11; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(12; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(13; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(14; MfgrLotSerNbr; Text[25]) + { + Caption = 'MfgrLotSerNbr'; + } + field(15; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(16; OrdLineRef; Text[5]) + { + Caption = 'OrdLineRef'; + } + field(17; OrdLotSerRef; Text[5]) + { + Caption = 'OrdLotSerRef'; + } + field(18; OrdNbr; Text[15]) + { + Caption = 'OrdNbr'; + } + field(19; OrdSchedRef; Text[5]) + { + Caption = 'OrdSchedRef'; + } + field(20; QtyPick; Decimal) + { + Caption = 'QtyPick'; + } + field(21; QtyPickStock; Decimal) + { + Caption = 'QtyPickStock'; + } + field(22; QtyShip; Decimal) + { + Caption = 'QtyShip'; + } + field(23; RMADisposition; Text[3]) + { + Caption = 'RMADisposition'; + } + field(24; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(25; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(26; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(27; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(28; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(29; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(30; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(31; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(32; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(33; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(34; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(35; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(36; ShipperID; Text[15]) + { + Caption = 'ShipperID'; + } + field(37; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(38; User1; Text[30]) + { + Caption = 'User1'; + } + field(39; User10; DateTime) + { + Caption = 'User10'; + } + field(40; User2; Text[30]) + { + Caption = 'User2'; + } + field(41; User3; Text[30]) + { + Caption = 'User3'; + } + field(42; User4; Text[30]) + { + Caption = 'User4'; + } + field(43; User5; Decimal) + { + Caption = 'User5'; + } + field(44; User6; Decimal) + { + Caption = 'User6'; + } + field(45; User7; Text[10]) + { + Caption = 'User7'; + } + field(46; User8; Text[10]) + { + Caption = 'User8'; + } + field(47; User9; DateTime) + { + Caption = 'User9'; + } + field(48; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(Key1; CpnyID, ShipperID, LineRef, LotSerRef) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/History/SLSOType.Table.al b/Apps/W1/HybridSL/app/src/Migration/History/SLSOType.Table.al new file mode 100644 index 0000000000..18d5efd439 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/History/SLSOType.Table.al @@ -0,0 +1,325 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47051 "SL SOType" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(76; Active; Integer) + { + Caption = 'Active'; + } + field(1; ARAcct; Text[10]) + { + Caption = 'ARAcct'; + } + field(2; ARSub; Text[31]) + { + Caption = 'ARSub'; + } + field(3; AssemblyOnSat; Integer) + { + Caption = 'AssemblyOnSat'; + } + field(4; AssemblyOnSun; Integer) + { + Caption = 'AssemblyOnSun'; + } + field(5; AutoReleaseReturns; Integer) + { + Caption = 'AutoReleaseReturns'; + } + field(6; Behavior; Text[4]) + { + Caption = 'Behavior'; + } + field(7; CancelDays; Integer) + { + Caption = 'CancelDays'; + } + field(8; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(9; COGSSub; Text[31]) + { + Caption = 'COGSSub'; + } + field(10; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(11; Crtd_DateTime; DateTime) + { + Caption = 'Crtd'; + } + field(12; Crtd_Prog; Text[8]) + { + Caption = 'Crtd'; + } + field(13; Crtd_User; Text[10]) + { + Caption = 'Crtd'; + } + field(14; Descr; Text[30]) + { + Caption = 'Descr'; + } + field(15; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(16; DiscSub; Text[31]) + { + Caption = 'DiscSub'; + } + field(17; Disp; Text[3]) + { + Caption = 'Disp'; + } + field(18; EnterLotSer; Integer) + { + Caption = 'EnterLotSer'; + } + field(19; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(20; FrtSub; Text[31]) + { + Caption = 'FrtSub'; + } + field(21; InvAcct; Text[10]) + { + Caption = 'InvAcct'; + } + field(22; InvcNbrAR; Integer) + { + Caption = 'InvcNbrAR'; + } + field(23; InvcNbrPrefix; Text[15]) + { + Caption = 'InvcNbrPrefix'; + } + field(24; InvcNbrType; Text[4]) + { + Caption = 'InvcNbrType'; + } + field(25; InvSub; Text[31]) + { + Caption = 'InvSub'; + } + field(26; LastInvcNbr; Text[10]) + { + Caption = 'LastInvcNbr'; + } + field(27; LastOrdNbr; Text[10]) + { + Caption = 'LastOrdNbr'; + } + field(28; LastShipperNbr; Text[10]) + { + Caption = 'LastShipperNbr'; + } + field(29; LUpd_DateTime; DateTime) + { + Caption = 'LUpd'; + } + field(30; LUpd_Prog; Text[8]) + { + Caption = 'LUpd'; + } + field(31; LUpd_User; Text[10]) + { + Caption = 'LUpd'; + } + field(32; MiscAcct; Text[10]) + { + Caption = 'MiscAcct'; + } + field(33; MiscSub; Text[31]) + { + Caption = 'MiscSub'; + } + field(34; NoAutoCreateShippers; Integer) + { + Caption = 'NoAutoCreateShippers'; + } + field(35; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(36; OrdNbrPrefix; Text[15]) + { + Caption = 'OrdNbrPrefix'; + } + field(37; OrdNbrType; Text[4]) + { + Caption = 'OrdNbrType'; + } + field(38; ProjectStatus; Text[1]) + { + Caption = 'ProjectStatus'; + } + field(39; RequireDetailAppr; Integer) + { + Caption = 'RequireDetailAppr'; + } + field(40; RequireManRelease; Integer) + { + Caption = 'RequireManRelease'; + } + field(41; RequireTechAppr; Integer) + { + Caption = 'RequireTechAppr'; + } + field(42; ReturnOrderTypeID; Text[4]) + { + Caption = 'ReturnOrderTypeID'; + } + field(43; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(44; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(45; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(46; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(47; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(48; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(49; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(50; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(51; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(52; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(53; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(54; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(55; ShipperPrefix; Text[15]) + { + Caption = 'ShipperPrefix'; + } + field(56; ShipperType; Text[4]) + { + Caption = 'ShipperType'; + } + field(57; ShiptoType; Text[1]) + { + Caption = 'ShiptoType'; + } + field(58; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(59; SlsSub; Text[31]) + { + Caption = 'SlsSub'; + } + field(60; SOTypeID; Text[4]) + { + Caption = 'SOTypeID'; + } + field(61; StdOrdType; Integer) + { + Caption = 'StdOrdType'; + } + field(62; TemplateProject; Text[16]) + { + Caption = 'TemplateProject'; + } + field(63; User1; Text[30]) + { + Caption = 'User1'; + } + field(64; User10; DateTime) + { + Caption = 'User10'; + } + field(65; User2; Text[30]) + { + Caption = 'User2'; + } + field(66; User3; Text[30]) + { + Caption = 'User3'; + } + field(67; User4; Text[30]) + { + Caption = 'User4'; + } + field(68; User5; Decimal) + { + Caption = 'User5'; + } + field(69; User6; Decimal) + { + Caption = 'User6'; + } + field(70; User7; Text[10]) + { + Caption = 'User7'; + } + field(71; User8; Text[10]) + { + Caption = 'User8'; + } + field(72; User9; DateTime) + { + Caption = 'User9'; + } + field(73; WholeOrdDiscAcct; Text[10]) + { + Caption = 'WholeOrdDiscAcct'; + } + field(74; WholeOrdDiscSub; Text[31]) + { + Caption = 'WholeOrdDiscSub'; + } + } + + keys + { + key(Key1; CpnyID, SOTypeID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLINSetup.Table.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLINSetup.Table.al new file mode 100644 index 0000000000..67022045ad --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLINSetup.Table.al @@ -0,0 +1,685 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47014 "SL INSetup" +{ + Access = Internal; + Caption = 'SL INSetup'; + DataClassification = CustomerContent; + + fields + { + field(1; ActivateLang; Integer) + { + Caption = 'ActivateLang'; + } + field(2; AdjustmentsAcct; Text[10]) + { + Caption = 'AdjustmentsAcct'; + } + field(3; AdjustmentsSub; Text[24]) + { + Caption = 'AdjustmentsSub'; + } + field(4; AllowCostEntry; Integer) + { + Caption = 'AllowCostEntry'; + } + field(5; APClearingAcct; Text[10]) + { + Caption = 'APClearingAcct'; + } + field(6; APClearingSub; Text[24]) + { + Caption = 'APClearingSub'; + } + field(7; ARClearingAcct; Text[10]) + { + Caption = 'ARClearingAcct'; + } + field(8; ARClearingSub; Text[24]) + { + Caption = 'ARClearingSub'; + } + field(9; AutoAdjustEntry; Integer) + { + Caption = 'AutoAdjustEntry'; + } + field(10; AutoBatRpt; Integer) + { + Caption = 'AutoBatRpt'; + } + field(11; AutoRelease; Text[1]) + { + Caption = 'AutoRelease'; + } + field(12; BMICuryID; Text[4]) + { + Caption = 'BMICuryID'; + } + field(13; BMIDfltRtTp; Text[6]) + { + Caption = 'BMIDfltRtTp'; + } + field(14; BMIEnabled; Integer) + { + Caption = 'BMIEnabled'; + } + field(15; CPSOnOff; Integer) + { + Caption = 'CPSOnOff'; + } + field(16; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(17; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(18; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(19; CurrPerNbr; Text[6]) + { + Caption = 'CurrPerNbr'; + } + field(20; DecPlPrcCst; Integer) + { + Caption = 'DecPlPrcCst'; + } + field(21; DecPlQty; Integer) + { + Caption = 'DecPlQty'; + } + field(22; DfltChkOrdQty; Text[1]) + { + Caption = 'DfltChkOrdQty'; + } + field(23; DfltCOGSAcct; Text[10]) + { + Caption = 'DfltCOGSAcct'; + } + field(24; DfltCOGSSub; Text[24]) + { + Caption = 'DfltCOGSSub'; + } + field(25; DfltDIscPrc; Text[1]) + { + Caption = 'DfltDIscPrc'; + } + field(26; DfltInvtAcct; Text[10]) + { + Caption = 'DfltInvtAcct'; + } + field(27; DfltInvtLeadTime; Decimal) + { + Caption = 'DfltInvtLeadTime'; + } + field(28; DfltInvtMfgLeadTime; Decimal) + { + Caption = 'DfltInvtMfgLeadTime'; + } + field(29; DfltInvtSub; Text[24]) + { + Caption = 'DfltInvtSub'; + } + field(30; DfltInvtType; Text[1]) + { + Caption = 'DfltInvtType'; + } + field(31; DfltItmSiteAcct; Text[10]) + { + Caption = 'DfltItmSiteAcct'; + } + field(32; DfltLCVarianceAcct; Text[10]) + { + Caption = 'DfltLCVarianceAcct'; + } + field(33; DfltLCVarianceSub; Text[24]) + { + Caption = 'DfltLCVarianceSub'; + } + field(34; DfltLotAssign; Text[1]) + { + Caption = 'DfltLotAssign'; + } + field(35; DfltlotFxdLen; Integer) + { + Caption = 'DfltlotFxdLen'; + } + field(36; DfltLotFxdTyp; Text[1]) + { + Caption = 'DfltLotFxdTyp'; + } + field(37; DfltLotFxdVal; Text[12]) + { + Caption = 'DfltLotFxdVal'; + } + field(38; DfltLotMthd; Text[1]) + { + Caption = 'DfltLotMthd'; + } + field(39; DfltLotNumLen; Integer) + { + Caption = 'DfltLotNumLen'; + } + field(40; DfltLotNumVal; Text[25]) + { + Caption = 'DfltLotNumVal'; + } + field(41; DfltLotSerTrack; Text[1]) + { + Caption = 'DfltLotSerTrack'; + } + field(42; DfltLotShelfLife; Integer) + { + Caption = 'DfltLotShelfLife'; + } + field(43; DfltPhysQty; Integer) + { + Caption = 'DfltPhysQty'; + } + field(44; DfltPPVAcct; Text[10]) + { + Caption = 'DfltPPVAcct'; + } + field(45; DfltPPVSub; Text[24]) + { + Caption = 'DfltPPVSub'; + } + field(46; DfltProdClass; Text[6]) + { + Caption = 'DfltProdClass'; + } + field(47; DfltSalesAcct; Text[10]) + { + Caption = 'DfltSalesAcct'; + } + field(48; DfltSalesSub; Text[24]) + { + Caption = 'DfltSalesSub'; + } + field(49; DfltSerAssign; Text[1]) + { + Caption = 'DfltSerAssign'; + } + field(50; DfltSerFxdLen; Integer) + { + Caption = 'DfltSerFxdLen'; + } + field(51; DfltSerFxdTyp; Text[1]) + { + Caption = 'DfltSerFxdTyp'; + } + field(52; DfltSerFxdVal; Text[12]) + { + Caption = 'DfltSerFxdVal'; + } + field(53; DfltSerMethod; Text[1]) + { + Caption = 'DfltSerMethod'; + } + field(54; DfltSerNumLen; Integer) + { + Caption = 'DfltSerNumLen'; + } + field(55; DfltSerNumVal; Text[25]) + { + Caption = 'DfltSerNumVal'; + } + field(56; DfltSerShelfLife; Integer) + { + Caption = 'DfltSerShelfLife'; + } + field(57; DfltShpnotInvAcct; Text[10]) + { + Caption = 'DfltShpnotInvAcct'; + } + field(58; DfltShpnotInvSub; Text[24]) + { + Caption = 'DfltShpnotInvSub'; + } + field(59; DfltSite; Text[10]) + { + Caption = 'DfltSite'; + } + field(60; DfltSlsTaxCat; Text[10]) + { + Caption = 'DfltSlsTaxCat'; + } + field(61; DfltSource; Text[1]) + { + Caption = 'DfltSource'; + } + field(62; DfltStatus; Text[1]) + { + Caption = 'DfltStatus'; + } + field(63; DfltStatusQtyZero; Text[1]) + { + Caption = 'DfltStatusQtyZero'; + } + field(64; DfltStkItem; Integer) + { + Caption = 'DfltStkItem'; + } + field(65; DfltValMthd; Text[1]) + { + Caption = 'DfltValMthd'; + } + field(66; DfltVarAcct; Text[10]) + { + Caption = 'DfltVarAcct'; + } + field(67; DfltVarSub; Text[24]) + { + Caption = 'DfltVarSub'; + } + field(68; ExplInvoice; Integer) + { + Caption = 'ExplInvoice'; + } + field(69; ExplOrder; Integer) + { + Caption = 'ExplOrder'; + } + field(70; ExplPackSlip; Integer) + { + Caption = 'ExplPackSlip'; + } + field(71; ExplPickList; Integer) + { + Caption = 'ExplPickList'; + } + field(72; ExplShipping; Integer) + { + Caption = 'ExplShipping'; + } + field(73; ExprdLotNbrs; Integer) + { + Caption = 'ExprdLotNbrs'; + } + field(74; ExprdSerNbrs; Integer) + { + Caption = 'ExprdSerNbrs'; + } + field(75; GLPostOpt; Text[1]) + { + Caption = 'GLPostOpt'; + } + field(76; InclAllocQty; Integer) + { + Caption = 'InclAllocQty'; + } + field(77; INClearingAcct; Text[10]) + { + Caption = 'INClearingAcct'; + } + field(78; INClearingSub; Text[24]) + { + Caption = 'INClearingSub'; + } + field(79; InclQtyAllocWO; Integer) + { + Caption = 'InclQtyAllocWO'; + } + field(80; InclQtyCustOrd; Integer) + { + Caption = 'InclQtyCustOrd'; + } + field(81; InclQtyInTransit; Integer) + { + Caption = 'InclQtyInTransit'; + } + field(82; InclQtyOnBO; Integer) + { + Caption = 'InclQtyOnBO'; + } + field(83; InclQtyOnPO; Integer) + { + Caption = 'InclQtyOnPO'; + } + field(84; InclQtyOnWO; Integer) + { + Caption = 'InclQtyOnWO'; + } + field(85; InclWOFirmDemand; Integer) + { + Caption = 'InclWOFirmDemand'; + } + field(86; InclWOFirmSupply; Integer) + { + Caption = 'InclWOFirmSupply'; + } + field(87; InclWORlsedDemand; Integer) + { + Caption = 'InclWORlsedDemand'; + } + field(88; InclWORlsedSupply; Integer) + { + Caption = 'InclWORlsedSupply'; + } + field(89; "Init"; Integer) + { + Caption = 'Init'; + } + field(90; InTransitAcct; Text[10]) + { + Caption = 'InTransitAcct'; + } + field(91; InTransitSub; Text[24]) + { + Caption = 'InTransitSub'; + } + field(92; IssuesAcct; Text[10]) + { + Caption = 'IssuesAcct'; + } + field(93; IssuesSub; Text[24]) + { + Caption = 'IssuesSub'; + } + field(94; LanguageID; Text[4]) + { + Caption = 'LanguageID'; + } + field(95; LastArchiveDate; DateTime) + { + Caption = 'LastArchiveDate'; + } + field(96; LastBatNbr; Text[10]) + { + Caption = 'LastBatNbr'; + } + field(97; LastCountDate; DateTime) + { + Caption = 'LastCountDate'; + } + field(98; LastTagNbr; Integer) + { + Caption = 'LastTagNbr'; + } + field(99; LotSerRetHist; Integer) + { + Caption = 'LotSerRetHist'; + } + field(100; LstSlsPrcID; Text[10]) + { + Caption = 'LstSlsPrcID'; + } + field(101; LstTrnsfrDocNbr; Text[10]) + { + Caption = 'LstTrnsfrDocNbr'; + } + field(102; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(103; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(104; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(105; MaterialType; Text[10]) + { + Caption = 'MaterialType'; + } + field(106; MatlOvhCalc; Text[1]) + { + Caption = 'MatlOvhCalc'; + } + field(107; MatlOvhOffAcct; Text[10]) + { + Caption = 'MatlOvhOffAcct'; + } + field(108; MatlOvhOffSub; Text[24]) + { + Caption = 'MatlOvhOffSub'; + } + field(109; MatlOvhRatePct; Text[1]) + { + Caption = 'MatlOvhRatePct'; + } + field(110; MatlOvhVarAcct; Text[10]) + { + Caption = 'MatlOvhVarAcct'; + } + field(111; MatlOvhVarSub; Text[24]) + { + Caption = 'MatlOvhVarSub'; + } + field(112; MfgClassID; Text[10]) + { + Caption = 'MfgClassID'; + } + field(113; MinGrossProfit; Decimal) + { + Caption = 'MinGrossProfit'; + } + field(114; MultWhse; Integer) + { + Caption = 'MultWhse'; + } + field(115; NbrCounts; Integer) + { + Caption = 'NbrCounts'; + } + field(116; NbrCycleCounts; Integer) + { + Caption = 'NbrCycleCounts'; + } + field(117; NegQty; Integer) + { + Caption = 'NegQty'; + } + field(118; NonKitAssy; Integer) + { + Caption = 'NonKitAssy'; + } + field(119; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(120; OverSoldCostLayers; Integer) + { + Caption = 'OverSoldCostLayers'; + } + field(121; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(122; PerRetPITrans; Integer) + { + Caption = 'PerRetPITrans'; + } + field(123; PerRetTran; Integer) + { + Caption = 'PerRetTran'; + } + field(124; PhysAdjVarAcct; Text[10]) + { + Caption = 'PhysAdjVarAcct'; + } + field(125; PhysAdjVarSub; Text[24]) + { + Caption = 'PhysAdjVarSub'; + } + field(126; PIABC; Text[1]) + { + Caption = 'PIABC'; + } + field(127; PMAvail; Integer) + { + Caption = 'PMAvail'; + } + field(128; RollBackBatches; Integer) + { + Caption = 'RollBackBatches'; + } + field(129; RollupCost; Integer) + { + Caption = 'RollupCost'; + } + field(130; RollupPrice; Integer) + { + Caption = 'RollupPrice'; + } + field(131; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(132; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(133; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(134; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(135; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(136; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(137; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(138; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(139; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(140; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(141; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(142; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(143; SerAssign; Text[1]) + { + Caption = 'SerAssign'; + } + field(144; SetupId; Text[2]) + { + Caption = 'SetupId'; + } + field(145; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(146; SpecChar; Text[24]) + { + Caption = 'SpecChar'; + } + field(147; StdCstRevalAcct; Text[10]) + { + Caption = 'StdCstRevalAcct'; + } + field(148; StdCstRevalSub; Text[24]) + { + Caption = 'StdCstRevalSub'; + } + field(149; TableBypass; Integer) + { + Caption = 'TableBypass'; + } + field(150; Tagged; Integer) + { + Caption = 'Tagged'; + } + field(151; TranCOGSSub; Text[1]) + { + Caption = 'TranCOGSSub'; + } + field(152; UpdateGL; Integer) + { + Caption = 'UpdateGL'; + } + field(153; User1; Text[30]) + { + Caption = 'User1'; + } + field(154; User2; Text[30]) + { + Caption = 'User2'; + } + field(155; User3; Decimal) + { + Caption = 'User3'; + } + field(156; User4; Decimal) + { + Caption = 'User4'; + } + field(157; User5; Text[10]) + { + Caption = 'User5'; + } + field(158; User6; Text[10]) + { + Caption = 'User6'; + } + field(159; User7; DateTime) + { + Caption = 'User7'; + } + field(160; User8; DateTime) + { + Caption = 'User8'; + } + field(161; VolUnit; Text[6]) + { + Caption = 'VolUnit'; + } + field(162; WhseLocValid; Text[1]) + { + Caption = 'WhseLocValid'; + } + field(163; WtUnit; Text[6]) + { + Caption = 'WtUnit'; + } + field(164; YrsRetArchTran; Integer) + { + Caption = 'YrsRetArchTran'; + } + field(165; YrsRetHist; Integer) + { + Caption = 'YrsRetHist'; + } + } + + keys + { + key(Key1; SetupId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLInventory.Table.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLInventory.Table.al new file mode 100644 index 0000000000..b7b6cce062 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLInventory.Table.al @@ -0,0 +1,765 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47015 "SL Inventory" +{ + Access = Internal; + Caption = 'SL Inventory'; + DataClassification = CustomerContent; + + fields + { + field(1; ABCCode; Text[2]) + { + Caption = 'ABCCode'; + } + field(2; ApprovedVendor; Integer) + { + Caption = 'ApprovedVendor'; + } + field(3; AutoPODropShip; Integer) + { + Caption = 'AutoPODropShip'; + } + field(4; AutoPOPolicy; Text[2]) + { + Caption = 'AutoPOPolicy'; + } + field(5; BMIDirStdCost; Decimal) + { + Caption = 'BMIDirStdCost'; + } + field(6; BMIFOvhStdCost; Decimal) + { + Caption = 'BMIFOvhStdCost'; + } + field(7; BMILastCost; Decimal) + { + Caption = 'BMILastCost'; + } + field(8; BMIPDirStdCost; Decimal) + { + Caption = 'BMIPDirStdCost'; + } + field(9; BMIPFOvhStdCost; Decimal) + { + Caption = 'BMIPFOvhStdCost'; + } + field(10; BMIPStdCost; Decimal) + { + Caption = 'BMIPStdCost'; + } + field(11; BMIPVOvhStdCost; Decimal) + { + Caption = 'BMIPVOvhStdCost'; + } + field(12; BMIStdCost; Decimal) + { + Caption = 'BMIStdCost'; + } + field(13; BMIVOvhStdCost; Decimal) + { + Caption = 'BMIVOvhStdCost'; + } + field(14; BOLCode; Text[10]) + { + Caption = 'BOLCode'; + } + field(15; Buyer; Text[10]) + { + Caption = 'Buyer'; + } + field(16; ChkOrdQty; Text[1]) + { + Caption = 'ChkOrdQty'; + } + field(17; ClassID; Text[6]) + { + Caption = 'ClassID'; + } + field(18; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(19; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(20; Color; Text[20]) + { + Caption = 'Color'; + } + field(21; CountStatus; Text[1]) + { + Caption = 'CountStatus'; + } + field(22; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(23; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(24; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(25; CuryListPrice; Decimal) + { + Caption = 'CuryListPrice'; + } + field(26; CuryMinPrice; Decimal) + { + Caption = 'CuryMinPrice'; + } + field(27; CustomFtr; Integer) + { + Caption = 'CustomFtr'; + } + field(28; CycleID; Text[10]) + { + Caption = 'CycleID'; + } + field(29; Descr; Text[60]) + { + Caption = 'Descr'; + } + field(30; DfltPickLoc; Text[10]) + { + Caption = 'DfltPickLoc'; + } + field(31; DfltPOUnit; Text[6]) + { + Caption = 'DfltPOUnit'; + } + field(32; DfltSalesAcct; Text[10]) + { + Caption = 'DfltSalesAcct'; + } + field(33; DfltSalesSub; Text[24]) + { + Caption = 'DfltSalesSub'; + } + field(34; DfltShpnotInvAcct; Text[10]) + { + Caption = 'DfltShpnotInvAcct'; + } + field(35; DfltShpnotInvSub; Text[24]) + { + Caption = 'DfltShpnotInvSub'; + } + field(36; DfltSite; Text[10]) + { + Caption = 'DfltSite'; + } + field(37; DfltSOUnit; Text[6]) + { + Caption = 'DfltSOUnit'; + } + field(38; DfltWhseLoc; Text[10]) + { + Caption = 'DfltWhseLoc'; + } + field(39; DirStdCost; Decimal) + { + Caption = 'DirStdCost'; + } + field(40; DiscAcct; Text[10]) + { + Caption = 'DiscAcct'; + } + field(41; DiscPrc; Text[1]) + { + Caption = 'DiscPrc'; + } + field(42; DiscSub; Text[31]) + { + Caption = 'DiscSub'; + } + field(43; EOQ; Decimal) + { + Caption = 'EOQ'; + } + field(44; ExplInvoice; Integer) + { + Caption = 'ExplInvoice'; + } + field(45; ExplOrder; Integer) + { + Caption = 'ExplOrder'; + } + field(46; ExplPackSlip; Integer) + { + Caption = 'ExplPackSlip'; + } + field(47; ExplPickList; Integer) + { + Caption = 'ExplPickList'; + } + field(48; ExplShipping; Integer) + { + Caption = 'ExplShipping'; + } + field(49; FOvhStdCost; Decimal) + { + Caption = 'FOvhStdCost'; + } + field(50; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(51; FrtSub; Text[24]) + { + Caption = 'FrtSub'; + } + field(52; GLClassID; Text[4]) + { + Caption = 'GLClassID'; + } + field(53; InvtAcct; Text[10]) + { + Caption = 'InvtAcct'; + } + field(54; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(55; InvtSub; Text[24]) + { + Caption = 'InvtSub'; + } + field(56; InvtType; Text[1]) + { + Caption = 'InvtType'; + } + field(57; IRCalcPolicy; Text[1]) + { + Caption = 'IRCalcPolicy'; + } + field(58; IRDaysSupply; Decimal) + { + Caption = 'IRDaysSupply'; + } + field(59; IRDemandID; Text[10]) + { + Caption = 'IRDemandID'; + } + field(60; IRFutureDate; DateTime) + { + Caption = 'IRFutureDate'; + } + field(61; IRFuturePolicy; Text[1]) + { + Caption = 'IRFuturePolicy'; + } + field(62; IRLeadTimeID; Text[10]) + { + Caption = 'IRLeadTimeID'; + } + field(63; IRLinePtQty; Decimal) + { + Caption = 'IRLinePtQty'; + } + field(64; IRMinOnHand; Decimal) + { + Caption = 'IRMinOnHand'; + } + field(65; IRModelInvtID; Text[30]) + { + Caption = 'IRModelInvtID'; + } + field(66; IRRCycDays; Integer) + { + Caption = 'IRRCycDays'; + } + field(67; IRSeasonEndDay; Integer) + { + Caption = 'IRSeasonEndDay'; + } + field(68; IRSeasonEndMon; Integer) + { + Caption = 'IRSeasonEndMon'; + } + field(69; IRSeasonStrtDay; Integer) + { + Caption = 'IRSeasonStrtDay'; + } + field(70; IRSeasonStrtMon; Integer) + { + Caption = 'IRSeasonStrtMon'; + } + field(71; IRServiceLevel; Decimal) + { + Caption = 'IRServiceLevel'; + } + field(72; IRSftyStkDays; Decimal) + { + Caption = 'IRSftyStkDays'; + } + field(73; IRSftyStkPct; Decimal) + { + Caption = 'IRSftyStkPct'; + } + field(74; IRSftyStkPolicy; Text[1]) + { + Caption = 'IRSftyStkPolicy'; + } + field(75; IRSourceCode; Text[1]) + { + Caption = 'IRSourceCode'; + } + field(76; IRTargetOrdMethod; Text[1]) + { + Caption = 'IRTargetOrdMethod'; + } + field(77; IRTargetOrdReq; Decimal) + { + Caption = 'IRTargetOrdReq'; + } + field(78; IRTransferSiteID; Text[10]) + { + Caption = 'IRTransferSiteID'; + } + field(79; ItemCommClassID; Text[10]) + { + Caption = 'ItemCommClassID'; + } + field(80; Kit; Integer) + { + Caption = 'Kit'; + } + field(81; LastBookQty; Decimal) + { + Caption = 'LastBookQty'; + } + field(82; LastCost; Decimal) + { + Caption = 'LastCost'; + } + field(83; LastCountDate; DateTime) + { + Caption = 'LastCountDate'; + } + field(84; LastSiteID; Text[10]) + { + Caption = 'LastSiteID'; + } + field(85; LastStdCost; Decimal) + { + Caption = 'LastStdCost'; + } + field(86; LastVarAmt; Decimal) + { + Caption = 'LastVarAmt'; + } + field(87; LastVarPct; Decimal) + { + Caption = 'LastVarPct'; + } + field(88; LastVarQty; Decimal) + { + Caption = 'LastVarQty'; + } + field(89; LCVarianceAcct; Text[10]) + { + Caption = 'LCVarianceAcct'; + } + field(90; LCVarianceSub; Text[24]) + { + Caption = 'LCVarianceSub'; + } + field(91; LeadTime; Decimal) + { + Caption = 'LeadTime'; + } + field(92; LinkSpecId; Integer) + { + Caption = 'LinkSpecId'; + } + field(93; LotSerFxdLen; Integer) + { + Caption = 'LotSerFxdLen'; + } + field(94; LotSerFxdTyp; Text[1]) + { + Caption = 'LotSerFxdTyp'; + } + field(95; LotSerFxdVal; Text[12]) + { + Caption = 'LotSerFxdVal'; + } + field(96; LotSerIssMthd; Text[1]) + { + Caption = 'LotSerIssMthd'; + } + field(97; LotSerNumLen; Integer) + { + Caption = 'LotSerNumLen'; + } + field(98; LotSerNumVal; Text[25]) + { + Caption = 'LotSerNumVal'; + } + field(99; LotSerTrack; Text[2]) + { + Caption = 'LotSerTrack'; + } + field(100; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(101; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(102; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(103; MaterialType; Text[10]) + { + Caption = 'MaterialType'; + } + field(104; MaxOnHand; Decimal) + { + Caption = 'MaxOnHand'; + } + field(105; MfgClassID; Text[10]) + { + Caption = 'MfgClassID'; + } + field(106; MfgLeadTime; Decimal) + { + Caption = 'MfgLeadTime'; + } + field(107; MinGrossProfit; Decimal) + { + Caption = 'MinGrossProfit'; + } + field(108; MoveClass; Text[10]) + { + Caption = 'MoveClass'; + } + field(109; MSDS; Text[24]) + { + Caption = 'MSDS'; + } + field(110; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(111; Pack; Text[6]) + { + Caption = 'Pack'; + } + field(112; PDirStdCost; Decimal) + { + Caption = 'PDirStdCost'; + } + field(113; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(114; PFOvhStdCost; Decimal) + { + Caption = 'PFOvhStdCost'; + } + field(115; PPVAcct; Text[10]) + { + Caption = 'PPVAcct'; + } + field(116; PPVSub; Text[24]) + { + Caption = 'PPVSub'; + } + field(117; PriceClassID; Text[6]) + { + Caption = 'PriceClassID'; + } + field(118; ProdMgrID; Text[10]) + { + Caption = 'ProdMgrID'; + } + field(119; ProductionUnit; Text[6]) + { + Caption = 'ProductionUnit'; + } + field(120; PStdCost; Decimal) + { + Caption = 'PStdCost'; + } + field(121; PStdCostDate; DateTime) + { + Caption = 'PStdCostDate'; + } + field(122; PVOvhStdCost; Decimal) + { + Caption = 'PVOvhStdCost'; + } + field(123; ReordPt; Decimal) + { + Caption = 'ReordPt'; + } + field(124; ReOrdPtCalc; Decimal) + { + Caption = 'ReOrdPtCalc'; + } + field(125; ReordQty; Decimal) + { + Caption = 'ReordQty'; + } + field(126; ReOrdQtyCalc; Decimal) + { + Caption = 'ReOrdQtyCalc'; + } + field(127; ReplMthd; Text[1]) + { + Caption = 'ReplMthd'; + } + field(128; RollupCost; Integer) + { + Caption = 'RollupCost'; + } + field(129; RollupPrice; Integer) + { + Caption = 'RollupPrice'; + } + field(130; RvsdPrc; Integer) + { + Caption = 'RvsdPrc'; + } + field(131; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(132; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(133; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(134; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(135; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(136; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(137; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(138; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(139; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(140; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(141; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(142; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(143; S4Future13; Text[10]) + { + Caption = 'S4Future13'; + } + field(144; SafetyStk; Decimal) + { + Caption = 'SafetyStk'; + } + field(145; SafetyStkCalc; Decimal) + { + Caption = 'SafetyStkCalc'; + } + field(146; Selected; Integer) + { + Caption = 'Selected'; + } + field(147; SerAssign; Text[1]) + { + Caption = 'SerAssign'; + } + field(148; Service; Integer) + { + Caption = 'Service'; + } + field(149; ShelfLife; Integer) + { + Caption = 'ShelfLife'; + } + field(150; Size; Text[10]) + { + Caption = 'Size'; + } + field(151; Source; Text[1]) + { + Caption = 'Source'; + } + field(152; Status; Text[1]) + { + Caption = 'Status'; + } + field(153; StdCost; Decimal) + { + Caption = 'StdCost'; + } + field(154; StdCostDate; DateTime) + { + Caption = 'StdCostDate'; + } + field(155; StkBasePrc; Decimal) + { + Caption = 'StkBasePrc'; + } + field(156; StkItem; Integer) + { + Caption = 'StkItem'; + } + field(157; StkRvsdPrc; Decimal) + { + Caption = 'StkRvsdPrc'; + } + field(158; StkTaxBasisPrc; Decimal) + { + Caption = 'StkTaxBasisPrc'; + } + field(159; StkUnit; Text[6]) + { + Caption = 'StkUnit'; + } + field(160; StkVol; Decimal) + { + Caption = 'StkVol'; + } + field(161; StkWt; Decimal) + { + Caption = 'StkWt'; + } + field(162; StkWtUnit; Text[6]) + { + Caption = 'StkWtUnit'; + } + field(163; Style; Text[10]) + { + Caption = 'Style'; + } + field(164; Supplr1; Text[15]) + { + Caption = 'Supplr1'; + } + field(165; Supplr2; Text[15]) + { + Caption = 'Supplr2'; + } + field(166; SupplrItem1; Text[20]) + { + Caption = 'SupplrItem1'; + } + field(167; SupplrItem2; Text[20]) + { + Caption = 'SupplrItem2'; + } + field(168; TaskID; Text[32]) + { + Caption = 'TaskID'; + } + field(169; TaxCat; Text[10]) + { + Caption = 'TaxCat'; + } + field(170; TranStatusCode; Text[2]) + { + Caption = 'TranStatusCode'; + } + field(171; Turns; Decimal) + { + Caption = 'Turns'; + } + field(172; UPCCode; Text[30]) + { + Caption = 'UPCCode'; + } + field(173; UsageRate; Decimal) + { + Caption = 'UsageRate'; + } + field(174; User1; Text[30]) + { + Caption = 'User1'; + } + field(175; User2; Text[30]) + { + Caption = 'User2'; + } + field(176; User3; Decimal) + { + Caption = 'User3'; + } + field(177; User4; Decimal) + { + Caption = 'User4'; + } + field(178; User5; Text[10]) + { + Caption = 'User5'; + } + field(179; User6; Text[10]) + { + Caption = 'User6'; + } + field(180; User7; DateTime) + { + Caption = 'User7'; + } + field(181; User8; DateTime) + { + Caption = 'User8'; + } + field(182; ValMthd; Text[1]) + { + Caption = 'ValMthd'; + } + field(183; VOvhStdCost; Decimal) + { + Caption = 'VOvhStdCost'; + } + field(184; WarrantyDays; Integer) + { + Caption = 'WarrantyDays'; + } + field(185; YTDUsage; Decimal) + { + Caption = 'YTDUsage'; + } + } + + keys + { + key(Key1; InvtID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLInventoryADG.Table.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLInventoryADG.Table.al new file mode 100644 index 0000000000..4f301526b8 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLInventoryADG.Table.al @@ -0,0 +1,353 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47016 "SL InventoryADG" +{ + Access = Internal; + Caption = 'SL InventoryADG'; + DataClassification = CustomerContent; + + fields + { + field(1; AllowGenCont; Integer) + { + Caption = 'AllowGenCont'; + } + field(2; BatchSize; Decimal) + { + Caption = 'BatchSize'; + } + field(3; BOLClass; Text[20]) + { + Caption = 'BOLClass'; + } + field(4; CategoryCode; Text[10]) + { + Caption = 'CategoryCode'; + } + field(5; CountryOrig; Text[20]) + { + Caption = 'CountryOrig'; + } + field(6; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(7; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(8; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(9; Density; Decimal) + { + Caption = 'Density'; + } + field(10; DensityUOM; Text[5]) + { + Caption = 'DensityUOM'; + } + field(11; Depth; Decimal) + { + Caption = 'Depth'; + } + field(12; DepthUOM; Text[5]) + { + Caption = 'DepthUOM'; + } + field(13; Diameter; Decimal) + { + Caption = 'Diameter'; + } + field(14; DiameterUOM; Text[5]) + { + Caption = 'DiameterUOM'; + } + field(15; Gauge; Decimal) + { + Caption = 'Gauge'; + } + field(16; GaugeUOM; Text[5]) + { + Caption = 'GaugeUOM'; + } + field(17; Height; Decimal) + { + Caption = 'Height'; + } + field(18; HeightUOM; Text[5]) + { + Caption = 'HeightUOM'; + } + field(19; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(20; Len; Decimal) + { + Caption = 'Len'; + } + field(21; LenUOM; Text[5]) + { + Caption = 'LenUOM'; + } + field(22; ListPrice; Decimal) + { + Caption = 'ListPrice'; + } + field(23; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(24; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(25; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(26; MinPrice; Decimal) + { + Caption = 'MinPrice'; + } + field(27; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(28; OMCOGSAcct; Text[10]) + { + Caption = 'OMCOGSAcct'; + } + field(29; OMCOGSSub; Text[31]) + { + Caption = 'OMCOGSSub'; + } + field(30; OMSalesAcct; Text[10]) + { + Caption = 'OMSalesAcct'; + } + field(31; OMSalesSub; Text[31]) + { + Caption = 'OMSalesSub'; + } + field(32; Pack; Integer) + { + Caption = 'Pack'; + } + field(33; PackCnvFact; Decimal) + { + Caption = 'PackCnvFact'; + } + field(34; PackMethod; Text[2]) + { + Caption = 'PackMethod'; + } + field(35; PackSize; Integer) + { + Caption = 'PackSize'; + } + field(36; PackUnitMultDiv; Text[1]) + { + Caption = 'PackUnitMultDiv'; + } + field(37; PackUOM; Text[6]) + { + Caption = 'PackUOM'; + } + field(38; ProdLineID; Text[4]) + { + Caption = 'ProdLineID'; + } + field(39; RetailPrice; Decimal) + { + Caption = 'RetailPrice'; + } + field(40; RoyaltyCode; Text[10]) + { + Caption = 'RoyaltyCode'; + } + field(41; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(42; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(43; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(44; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(45; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(46; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(47; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(48; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(49; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(50; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(51; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(52; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(53; SCHeight; Decimal) + { + Caption = 'SCHeight'; + } + field(54; SCHeightUOM; Text[6]) + { + Caption = 'SCHeightUOM'; + } + field(55; SCLen; Decimal) + { + Caption = 'SCLen'; + } + field(56; SCLenUOM; Text[6]) + { + Caption = 'SCLenUOM'; + } + field(57; SCVolume; Decimal) + { + Caption = 'SCVolume'; + } + field(58; SCVolumeUOM; Text[6]) + { + Caption = 'SCVolumeUOM'; + } + field(59; SCWeight; Decimal) + { + Caption = 'SCWeight'; + } + field(60; SCWeightUOM; Text[6]) + { + Caption = 'SCWeightUOM'; + } + field(61; SCWidth; Decimal) + { + Caption = 'SCWidth'; + } + field(62; SCWidthUOM; Text[6]) + { + Caption = 'SCWidthUOM'; + } + field(63; StdCartonBreak; Integer) + { + Caption = 'StdCartonBreak'; + } + field(64; StdGrossWt; Decimal) + { + Caption = 'StdGrossWt'; + } + field(65; StdTareWt; Decimal) + { + Caption = 'StdTareWt'; + } + field(66; Style; Text[20]) + { + Caption = 'Style'; + } + field(67; User1; Text[30]) + { + Caption = 'User1'; + } + field(68; User10; DateTime) + { + Caption = 'User10'; + } + field(69; User2; Text[30]) + { + Caption = 'User2'; + } + field(70; User3; Text[30]) + { + Caption = 'User3'; + } + field(71; User4; Text[30]) + { + Caption = 'User4'; + } + field(72; User5; Decimal) + { + Caption = 'User5'; + } + field(73; User6; Decimal) + { + Caption = 'User6'; + } + field(74; User7; Text[10]) + { + Caption = 'User7'; + } + field(75; User8; Text[10]) + { + Caption = 'User8'; + } + field(76; User9; DateTime) + { + Caption = 'User9'; + } + field(77; Volume; Decimal) + { + Caption = 'Volume'; + } + field(78; VolUOM; Text[6]) + { + Caption = 'VolUOM'; + } + field(79; Weight; Decimal) + { + Caption = 'Weight'; + } + field(80; WeightUOM; Text[6]) + { + Caption = 'WeightUOM'; + } + field(81; Width; Decimal) + { + Caption = 'Width'; + } + field(82; WidthUOM; Text[5]) + { + Caption = 'WidthUOM'; + } + } + + keys + { + key(Key1; InvtID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLInventoryQtyOnHandAll.Query.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLInventoryQtyOnHandAll.Query.al new file mode 100644 index 0000000000..d642ba5c37 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLInventoryQtyOnHandAll.Query.al @@ -0,0 +1,28 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +query 47000 "SL Inventory QtyOnHand All" +{ + QueryType = Normal; + + elements + { + dataitem(SL_ItemSite; "SL ItemSite") + { + column(InvtID; InvtID) + { + } + column(QtyOnHand; QtyOnHand) + { + Method = Sum; + } + filter(CpnyID; CpnyID) + { + } + } + } +} diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLItemCost.Table.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLItemCost.Table.al new file mode 100644 index 0000000000..b2d92476fe --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLItemCost.Table.al @@ -0,0 +1,205 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47020 "SL ItemCost" +{ + Access = Internal; + Caption = 'SL ItemCost'; + DataClassification = CustomerContent; + + fields + { + field(1; BMITotCost; Decimal) + { + Caption = 'BMITotCost'; + } + field(2; CostIdentity; Integer) + { + Caption = 'CostIdentity'; + } + field(3; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(4; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(5; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(6; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(7; LayerType; Text[2]) + { + Caption = 'LayerType'; + } + field(8; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(9; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(10; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(11; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(12; Qty; Decimal) + { + Caption = 'Qty'; + } + field(13; QtyAllocBM; Decimal) + { + Caption = 'QtyAllocBM'; + } + field(14; QtyAllocIN; Decimal) + { + Caption = 'QtyAllocIN'; + } + field(15; QtyAllocOther; Decimal) + { + Caption = 'QtyAllocOther'; + } + field(16; QtyAllocPORet; Decimal) + { + Caption = 'QtyAllocPORet'; + } + field(17; QtyAllocSD; Decimal) + { + Caption = 'QtyAllocSD'; + } + field(18; QtyAvail; Decimal) + { + Caption = 'QtyAvail'; + } + field(19; QtyShipNotInv; Decimal) + { + Caption = 'QtyShipNotInv'; + } + field(20; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(21; RcptNbr; Text[15]) + { + Caption = 'RcptNbr'; + } + field(22; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(23; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(24; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(25; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(26; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(27; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(28; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(29; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(30; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(31; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(32; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(33; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(34; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(35; SpecificCostID; Text[25]) + { + Caption = 'SpecificCostID'; + } + field(36; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(37; UnitCost; Decimal) + { + Caption = 'UnitCost'; + } + field(38; User1; Text[30]) + { + Caption = 'User1'; + } + field(39; User2; Text[30]) + { + Caption = 'User2'; + } + field(40; User3; Decimal) + { + Caption = 'User3'; + } + field(41; User4; Decimal) + { + Caption = 'User4'; + } + field(42; User5; Text[10]) + { + Caption = 'User5'; + } + field(43; User6; Text[10]) + { + Caption = 'User6'; + } + field(44; User7; DateTime) + { + Caption = 'User7'; + } + field(45; User8; DateTime) + { + Caption = 'User8'; + } + } + + keys + { + key(Key1; InvtID, SiteID, LayerType, SpecificCostID, RcptNbr, RcptDate) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLItemMigrator.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLItemMigrator.Codeunit.al new file mode 100644 index 0000000000..12b7d98d49 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLItemMigrator.Codeunit.al @@ -0,0 +1,726 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Integration; +using Microsoft.Inventory.Item; +using Microsoft.Inventory.Journal; +using Microsoft.Inventory.Tracking; +using Microsoft.Finance.GeneralLedger.Setup; + +codeunit 47026 "SL Item Migrator" +{ + Access = Internal; + + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + CurrentBatchNumber: Integer; + CurrentBatchLineNo: Integer; + DefaultPostingGroupCodeTxt: Label 'SL', Locked = true; + DefaultPostingGroupDescriptionTxt: Label 'Migrated from SL', Locked = true; + SLItemImportPostingGroupCodeTxt: Label 'SLITEMIMPORT', Locked = true; + SLItemImportPostingGroupDescriptionTxt: Label 'SL Item Import (No impact to GL)', Locked = true; + SimpleInvJnlNameTxt: Label 'DEFAULT', Comment = 'The default name of the item journal', Locked = true; + TranStatusCodeInactiveTxt: Label 'IN', Locked = true; + TranStatusCodeDeleteTxt: Label 'DE', Locked = true; + ItemBatchCodePrefixTxt: Label 'SLITM', Locked = true; + CostingMethodOption: Option FIFO,LIFO,Specific,Average,Standard; + ItemTypeOption: Option Inventory,Service; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Data Migration Facade", OnMigrateItem, '', true, true)] + local procedure OnMigrateItem(var Sender: Codeunit "Item Data Migration Facade"; RecordIdToMigrate: RecordId) + begin + MigrateItem(Sender, RecordIdToMigrate); + end; + + internal procedure MigrateItem(var Sender: Codeunit "Item Data Migration Facade"; RecordToMigrate: RecordId) + var + SLInventory: Record "SL Inventory"; + SLINSetup: Record "SL INSetup"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + begin + if RecordToMigrate.TableNo() <> Database::"SL Inventory" then + exit; + SLCompanyAdditionalSettings.Get(CompanyName); + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + if not SLCompanyAdditionalSettings.GetInventoryModuleEnabled() then + exit; + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(RecordToMigrate)); + if not SLInventory.Get(RecordToMigrate) then + exit; + if not ShouldMigrateItem(SLInventory) then begin + DecrementMigratedCount(); + exit; + end; + + SLINSetup.Get('IN'); + MigrateItemDetails(SLInventory, Sender); + SetGeneralPostingSetupForInventory(SLINSetup); + end; + + internal procedure ShouldMigrateItem(var SLInventory: Record "SL Inventory"): Boolean + begin + if SLInventory.TranStatusCode = TranStatusCodeInactiveTxt then + if not SLCompanyAdditionalSettings.GetMigrateInactiveItems() then + exit(false); + if SLInventory.TranStatusCode = TranStatusCodeDeleteTxt then + if not SLCompanyAdditionalSettings.GetMigrateDiscontinuedItems() then + exit(false); + exit(true); + end; + + internal procedure DecrementMigratedCount() + var + SLHelperFunctions: Codeunit "SL Helper Functions"; + DataMigrationStatusFacade: Codeunit "Data Migration Status Facade"; + begin + DataMigrationStatusFacade.IncrementMigratedRecordCount(SLHelperFunctions.GetMigrationTypeTxt(), Database::Item, -1); + end; + + internal procedure MigrateItemDetails(SLInventory: Record "SL Inventory"; ItemDataMigrationFacade: Codeunit "Item Data Migration Facade") + var + SLInventoryADG: Record "SL InventoryADG"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + begin + if not ItemDataMigrationFacade.CreateItemIfNeeded(CopyStr(SLInventory.InvtID, 1, 20), CopyStr(SLInventory.Descr, 1, 50), CopyStr(SLInventory.Descr, 1, 50), ItemTypeOption::Inventory) then + exit; + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLInventory.RecordId)); + ItemDataMigrationFacade.CreateUnitOfMeasureIfNeeded(SLInventory.StkUnit, SLInventory.StkUnit); + ItemDataMigrationFacade.CreateUnitOfMeasureIfNeeded(SLInventory.DfltPOUnit, SLInventory.DfltPOUnit); + ItemDataMigrationFacade.SetUnitPrice(SLInventory.StkBasePrc); + if SLInventory.ValMthd <> 'T' then + ItemDataMigrationFacade.SetUnitCost(SLInventory.LastCost) + else + ItemDataMigrationFacade.SetUnitCost(SLInventory.StdCost); + if SLInventory.ValMthd = 'T' then + ItemDataMigrationFacade.SetStandardCost(SLInventory.StdCost) + else + ItemDataMigrationFacade.SetStandardCost(SLInventory.LastCost); + ItemDataMigrationFacade.SetCostingMethod(GetCostingMethod(SLInventory)); + ItemDataMigrationFacade.SetBaseUnitOfMeasure(SLInventory.StkUnit); + ItemDataMigrationFacade.SetPurchUnitOfMeasure(SLInventory.DfltPOUnit); + ItemDataMigrationFacade.SetSearchDescription(CopyStr(SLInventory.Descr, 1, 50)); + ItemDataMigrationFacade.SetItemTrackingCode(GetSLBCTrackingCode(SLInventory)); + + if SLCompanyAdditionalSettings.GetGLModuleEnabled() then + ItemDataMigrationFacade.SetGeneralProductPostingGroup(DefaultPostingGroupCodeTxt); + if SLInventoryADG.Get(SLInventory.InvtID) then + ItemDataMigrationFacade.SetNetWeight(SLInventoryADG.StdGrossWt); + + ItemDataMigrationFacade.ModifyItem(true); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Data Migration Facade", OnMigrateItemPostingGroups, '', true, true)] + local procedure OnMigrateItemPostingGroups(var Sender: Codeunit "Item Data Migration Facade"; RecordIdToMigrate: RecordId; ChartofAccountsMigrated: Boolean) + begin + MigrateItemPostingGroups(Sender, RecordIdToMigrate, ChartofAccountsMigrated); + end; + + internal procedure MigrateItemPostingGroups(var Sender: Codeunit "Item Data Migration Facade"; RecordIdToMigrate: RecordId; ChartofAccountsMigrated: Boolean) + var + SLInventory: Record "SL Inventory"; + begin + if not ChartofAccountsMigrated then + exit; + + if RecordIdToMigrate.TableNo() <> Database::"SL Inventory" then + exit; + + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + + if SLInventory.Get(RecordIdToMigrate) then + MigrateItemInventoryPostingGroup(SLInventory, Sender); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Data Migration Facade", OnMigrateInventoryTransactions, '', true, true)] + local procedure OnMigrateInventoryTransactions(var Sender: Codeunit "Item Data Migration Facade"; RecordIdToMigrate: RecordId; ChartOfAccountsMigrated: Boolean) + begin + MigrateInventoryTransactions(Sender, RecordIdToMigrate, ChartOfAccountsMigrated); + end; + + internal procedure MigrateInventoryTransactions(var Sender: Codeunit "Item Data Migration Facade"; RecordIdToMigrate: RecordId; ChartOfAccountsMigrated: Boolean) + var + Item: Record Item; + ItemJnlLine: Record "Item Journal Line"; + SLItemCost: Record "SL ItemCost"; + SLItemSite: Record "SL ItemSite"; + SLInventory: Record "SL Inventory"; + SLLotSerMst: Record "SL LotSerMst"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + ErrorText: Text; + begin + if not ChartOfAccountsMigrated then + exit; + if RecordIdToMigrate.TableNo <> Database::"SL Inventory" then + exit; + SLCompanyAdditionalSettings.Get(CompanyName); + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + if not SLCompanyAdditionalSettings.GetInventoryModuleEnabled() then + exit; + if SLCompanyAdditionalSettings.GetMigrateOnlyInventoryMaster() then + exit; + if SLInventory.Get(RecordIdToMigrate) then begin + if not Sender.DoesItemExist(CopyStr(SLInventory.InvtID, 1, MaxStrLen(Item."No."))) then + exit; + if not ShouldMigrateItem(SLInventory) then + exit; + + case SLInventory.ValMthd of + 'A', 'T', 'U': // Average, Standard, User-Specified + begin + SLItemSite.SetRange(InvtID, SLInventory.InvtID); + SLItemSite.SetFilter(CpnyID, CompanyName); + SLItemSite.SetFilter(QtyOnHand, '<>%1', 0); + if SLItemSite.FindSet() then + repeat + CreateItemJnlLine(ItemJnlLine, SLInventory, SLItemSite, SLItemSite.QtyOnHand, WorkDate()); + CreateItemTrackingLinesIfNecessary(SLItemSite, SLInventory, ItemJnlLine, '', ''); + until SLItemSite.Next() = 0; + end; + + 'F', 'L', 'S': // FIFO, LIFO, Specific + begin + SLItemSite.SetRange(InvtID, SLInventory.InvtID); + SLItemSite.SetFilter(CpnyID, CompanyName); + SLItemSite.SetFilter(QtyOnHand, '<>%1', 0); + if SLItemSite.FindSet() then + repeat + if (SLInventory.LotSerTrack in ['LI', 'SI']) then begin + SLLotSerMst.SetRange(InvtID, SLItemSite.InvtID); + SLLotSerMst.SetRange(SiteID, SLItemSite.SiteID); + SLLotSerMst.SetFilter(QtyOnHand, '<>%1', 0); + if SLLotSerMst.FindSet() then + repeat + CreateItemJnlLineLotSerMst(ItemJnlLine, SLInventory, SLLotSerMst, SLLotSerMst.QtyOnHand, DT2Date(SLLotSerMst.RcptDate)); + CreateItemTrackingLinesIfNecessary(SLItemSite, SLInventory, ItemJnlLine, SLLotSerMst.LotSerNbr, SLLotSerMst.WhseLoc); + until SLLotSerMst.Next() = 0; + end + else begin + SLItemCost.SetRange(InvtID, SLItemSite.InvtID); + SLItemCost.SetRange(SiteID, SLItemSite.SiteID); + SLItemCost.SetFilter(Qty, '<>%1', 0); + if SLItemCost.FindSet() then + repeat + CreateItemJnlLineItemCost(ItemJnlLine, SLInventory, SLItemCost, SLItemCost.Qty, DT2Date(SLItemCost.RcptDate)); + if ((SLInventory.LotSerTrack = 'NN') and (SLInventory.ValMthd = 'S')) then + CreateItemTrackingLinesSpecificID(SLItemCost, SLInventory, ItemJnlLine); + until SLItemCost.Next() = 0; + end; + until SLItemSite.Next() = 0; + end; + end; + + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLInventory.RecordId)); + if (SLInventory.TranStatusCode = TranStatusCodeInactiveTxt) or (SLInventory.TranStatusCode = TranStatusCodeDeleteTxt) then begin + Item.Reset(); + if Item.Get(CopyStr(SLInventory.InvtID, 1, MaxStrLen(Item."No."))) then begin + Item.Blocked := true; + Item.Modify(true); + end; + end; + end; + + if ErrorText <> '' then + Error(ErrorText); + end; + + internal procedure GetCurrentBatchState() + var + ItemJournalBatch: Record "Item Journal Batch"; + ItemJournalLine: Record "Item Journal Line"; + begin + CurrentBatchNumber := ItemJournalBatch.Count(); + + if ItemJournalBatch.FindLast() then begin + ItemJournalLine.SetRange("Journal Template Name", ItemJournalBatch."Journal Template Name"); + ItemJournalLine.SetRange("Journal Batch Name", ItemJournalBatch.Name); + + CurrentBatchLineNo := ItemJournalLine.Count(); + end; + end; + + internal procedure CreateOrGetItemBatch(TemplateName: Code[10]): Code[10] + var + ItemJnlBatch: Record "Item Journal Batch"; + BatchName: Code[10]; + begin + if CurrentBatchNumber = 0 then + CurrentBatchNumber := 1; + + if CurrentBatchLineNo >= GetMaxBatchLineCount() then begin + CurrentBatchNumber := CurrentBatchNumber + 1; + CurrentBatchLineNo := 0; + end; + + BatchName := CopyStr(ItemBatchCodePrefixTxt + Format(CurrentBatchNumber), 1, 10); + if not ItemJnlBatch.Get(TemplateName, BatchName) then begin + Clear(ItemJnlBatch); + ItemJnlBatch."Journal Template Name" := TemplateName; + ItemJnlBatch.Name := BatchName; + ItemJnlBatch.Description := SimpleInvJnlNameTxt; + ItemJnlBatch.Insert(); + end; + + exit(BatchName); + end; + + internal procedure CreateItemJnlLine(var ItemJnlLine: Record "Item Journal Line"; SLInventory: Record "SL Inventory"; SLItemSite: Record "SL ItemSite"; Quantity: Decimal; PostingDate: Date) + var + AdustItemInventory: Codeunit "Adjust Item Inventory"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + ItemTemplate: Code[10]; + begin + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLItemSite.RecordId)); + + if SLItemSite.QtyOnHand = 0 then + exit; + + GetCurrentBatchState(); + ItemTemplate := AdustItemInventory.SelectItemTemplateForAdjustment(); + Clear(ItemJnlLine); + + ItemJnlLine.Validate("Journal Template Name", ItemTemplate); + ItemJnlLine.Validate("Journal Batch Name", CreateOrGetItemBatch(ItemTemplate)); + ItemJnlLine.Validate("Posting Date", PostingDate); + ItemJnlLine."Document No." := CopyStr(SLInventory.InvtID, 1, MaxStrLen(ItemJnlLine."Document No.")); + + CurrentBatchLineNo := CurrentBatchLineNo + 1; + ItemJnlLine."Line No." := CurrentBatchLineNo; + + if SLItemSite.QtyOnHand > 0 then + ItemJnlLine.Validate("Entry Type", ItemJnlLine."Entry Type"::"Positive Adjmt.") + else + ItemJnlLine.Validate("Entry Type", ItemJnlLine."Entry Type"::"Negative Adjmt."); + + ItemJnlLine.Validate("Item No.", CopyStr(SLInventory.InvtID, 1, MaxStrLen(ItemJnlLine."Item No."))); + ItemJnlLine.Validate(Description, SLInventory.Descr); + ItemJnlLine.Validate(Quantity, Quantity); + ItemJnlLine.Validate("Location Code", SLItemSite.SiteID); + + case GetCostingMethod(SLInventory) of + CostingMethodOption::Average: + ItemJnlLine.Validate("Unit Cost", SLItemSite.AvgCost); + CostingMethodOption::Standard: + ItemJnlLine.Validate("Unit Cost", SLItemSite.StdCost); + end; + + ItemJnlLine.Validate("Gen. Prod. Posting Group", SLItemImportPostingGroupCodeTxt); + + ItemJnlLine.Insert(true); + end; + + internal procedure CreateItemJnlLineItemCost(var ItemJnlLine: Record "Item Journal Line"; SLInventory: Record "SL Inventory"; SLItemCost: Record "SL ItemCost"; Quantity: Decimal; PostingDate: Date) + var + AdustItemInventory: Codeunit "Adjust Item Inventory"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + ItemTemplate: Code[10]; + begin + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLItemCost.RecordId)); + + if SLItemCost.Qty = 0 then + exit; + + GetCurrentBatchState(); + ItemTemplate := AdustItemInventory.SelectItemTemplateForAdjustment(); + Clear(ItemJnlLine); + + ItemJnlLine.Validate("Journal Template Name", ItemTemplate); + ItemJnlLine.Validate("Journal Batch Name", CreateOrGetItemBatch(ItemTemplate)); + ItemJnlLine.Validate("Posting Date", PostingDate); + if SLInventory.ValMthd = 'S' then begin + ItemJnlLine.Validate("Posting Date", DT2Date(SLItemCost.Crtd_DateTime)); + ItemJnlLine."Document No." := CopyStr(SLItemCost.SpecificCostID, 1, MaxStrLen(ItemJnlLine."Document No.")); + end + else begin + ItemJnlLine.Validate("Posting Date", PostingDate); + ItemJnlLine."Document No." := SLItemCost.RcptNbr; + end; + CurrentBatchLineNo := CurrentBatchLineNo + 1; + ItemJnlLine."Line No." := CurrentBatchLineNo; + if SLItemCost.Qty > 0 then + ItemJnlLine.Validate("Entry Type", ItemJnlLine."Entry Type"::"Positive Adjmt.") + else + ItemJnlLine.Validate("Entry Type", ItemJnlLine."Entry Type"::"Negative Adjmt."); + ItemJnlLine.Validate("Item No.", CopyStr(SLItemCost.InvtID, 1, MaxStrLen(ItemJnlLine."Item No."))); + ItemJnlLine.Validate(Description, SLInventory.Descr); + ItemJnlLine.Validate(Quantity, Quantity); + ItemJnlLine.Validate("Location Code", SLItemCost.SiteID); + ItemJnlLine.Validate("Unit Cost", SLItemCost.UnitCost); + ItemJnlLine.Validate("Gen. Prod. Posting Group", SLItemImportPostingGroupCodeTxt); + + ItemJnlLine.Insert(true); + end; + + internal procedure CreateItemJnlLineLotSerMst(var ItemJnlLine: Record "Item Journal Line"; SLInventory: Record "SL Inventory"; SLLotSerMst: Record "SL LotSerMst"; Quantity: Decimal; PostingDate: Date) + var + AdustItemInventory: Codeunit "Adjust Item Inventory"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + ItemTemplate: Code[10]; + begin + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLLotSerMst.RecordId)); + + if SLLotSerMst.QtyOnHand = 0 then + exit; + + GetCurrentBatchState(); + ItemTemplate := AdustItemInventory.SelectItemTemplateForAdjustment(); + Clear(ItemJnlLine); + + ItemJnlLine.Validate("Journal Template Name", ItemTemplate); + ItemJnlLine.Validate("Journal Batch Name", CreateOrGetItemBatch(ItemTemplate)); + ItemJnlLine.Validate("Posting Date", PostingDate); + ItemJnlLine."Document No." := SLLotSerMst.SrcOrdNbr; + CurrentBatchLineNo := CurrentBatchLineNo + 1; + ItemJnlLine."Line No." := CurrentBatchLineNo; + if SLLotSerMst.QtyOnHand > 0 then + ItemJnlLine.Validate("Entry Type", ItemJnlLine."Entry Type"::"Positive Adjmt.") + else + ItemJnlLine.Validate("Entry Type", ItemJnlLine."Entry Type"::"Negative Adjmt."); + ItemJnlLine.Validate("Item No.", CopyStr(SLLotSerMst.InvtID, 1, 20)); + ItemJnlLine.Validate(Description, SLInventory.Descr); + ItemJnlLine.Validate(Quantity, Quantity); + ItemJnlLine.Validate("Location Code", SLLotSerMst.SiteID); + ItemJnlLine.Validate("Unit Cost", SLLotSerMst.Cost); + ItemJnlLine.Validate("Gen. Prod. Posting Group", SLItemImportPostingGroupCodeTxt); + ItemJnlLine.Insert(true); + end; + + internal procedure CreateItemTrackingLinesIfNecessary(SLItemSite: Record "SL ItemSite"; SLInventory: Record "SL Inventory"; ItemJnlLine: Record "Item Journal Line"; + LotSerNbr: Text[25]; WhseLoc: Text[10]) + var + ReservationEntry: Record "Reservation Entry"; + SLLotSerMst: Record "SL LotSerMst"; + TempTrackingSpecification: Record "Tracking Specification" temporary; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + CreateReservEntry: Codeunit "Create Reserv. Entry"; + ItemJrlLineReserve: Codeunit "Item Jnl. Line-Reserve"; + ReservationStatus: Enum "Reservation Status"; + LastEntryNo: Integer; + SLLotSerialCode: Code[10]; + begin + if (SLInventory.LotSerTrack.TrimEnd() = '') or ((SLInventory.LotSerTrack = 'NN') and (SLInventory.ValMthd <> 'S')) then + exit; + SLLotSerialCode := GetSLBCTrackingCode(SLInventory); + if (SLLotSerialCode = 'LOTUSED') or (SLLotSerialCode = 'SERUSED') or (SLLotSerialCode = '') then + exit; + + SLLotSerMst.SetRange(InvtID, SLItemSite.InvtID); + if LotSerNbr.TrimEnd() <> '' then + SLLotSerMst.SetRange(LotSerNbr, LotSerNbr); + SLLotSerMst.SetRange(SiteID, SLItemSite.SiteID); + if WhseLoc.TrimEnd() <> '' then + SLLotSerMst.SetRange(WhseLoc, WhseLoc); + SLLotSerMst.SetFilter(QtyOnHand, '<>%1', 0); + if SLLotSerMst.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLItemSite.RecordId)); + + ItemJrlLineReserve.InitFromItemJnlLine(TempTrackingSpecification, ItemJnlLine); + + case SLLotSerialCode of + // Lot-tracked, when received into Inventory + 'LOTRCVD': + begin + TempTrackingSpecification."Lot No." := SLLotSerMst.LotSerNbr; + TempTrackingSpecification."Warranty Date" := 0D; + TempTrackingSpecification."Expiration Date" := 0D; + + LastEntryNo += 1; + TempTrackingSpecification."Entry No." := LastEntryNo; + TempTrackingSpecification."Creation Date" := ItemJnlLine."Posting Date"; + + TempTrackingSpecification.Validate("Quantity (Base)", SLLotSerMst.QtyOnHand); + + TempTrackingSpecification.Insert(true); + + ReservationEntry.Init(); + ReservationEntry.CopyTrackingFromSpec(TempTrackingSpecification); + CreateReservEntry.CreateReservEntryFor( + Database::"Item Journal Line", + ItemJnlLine."Entry Type".AsInteger(), ItemJnlLine."Journal Template Name", + ItemJnlLine."Journal Batch Name", 0, ItemJnlLine."Line No.", ItemJnlLine."Qty. per Unit of Measure", + TempTrackingSpecification."Quantity (Base)", TempTrackingSpecification."Quantity (Base)", ReservationEntry); + + CreateReservEntry.CreateEntry( + ItemJnlLine."Item No.", ItemJnlLine."Variant Code", ItemJnlLine."Location Code", + SLInventory.Descr, ItemJnlLine."Posting Date", ItemJnlLine."Posting Date", 0, ReservationStatus::Prospect); + end; + + // Lot-tracked, when received into Inventory with expiration date + 'LOTRCVDEXP': + begin + TempTrackingSpecification."Lot No." := SLLotSerMst.LotSerNbr; + TempTrackingSpecification."Warranty Date" := 0D; + if DT2Date(SLLotSerMst.ExpDate) = DMY2Date(1, 1, 1900) then + TempTrackingSpecification."Expiration Date" := 0D + else + TempTrackingSpecification."Expiration Date" := DT2Date(SLLotSerMst.ExpDate); + + LastEntryNo += 1; + TempTrackingSpecification."Entry No." := LastEntryNo; + TempTrackingSpecification."Creation Date" := ItemJnlLine."Posting Date"; + + TempTrackingSpecification.Validate("Quantity (Base)", SLLotSerMst.QtyOnHand); + + TempTrackingSpecification.Insert(true); + + ReservationEntry.Init(); + ReservationEntry.CopyTrackingFromSpec(TempTrackingSpecification); + CreateReservEntry.CreateReservEntryFor( + Database::"Item Journal Line", + ItemJnlLine."Entry Type".AsInteger(), ItemJnlLine."Journal Template Name", + ItemJnlLine."Journal Batch Name", 0, ItemJnlLine."Line No.", ItemJnlLine."Qty. per Unit of Measure", + TempTrackingSpecification."Quantity (Base)", TempTrackingSpecification."Quantity (Base)", ReservationEntry); + + CreateReservEntry.SetDates(TempTrackingSpecification."Warranty Date", TempTrackingSpecification."Expiration Date"); + + CreateReservEntry.CreateEntry( + ItemJnlLine."Item No.", ItemJnlLine."Variant Code", ItemJnlLine."Location Code", + SLInventory.Descr, ItemJnlLine."Posting Date", ItemJnlLine."Posting Date", 0, ReservationStatus::Prospect); + end; + + // Serial-tracked, when received into Inventory + 'SERRCVD': + begin + TempTrackingSpecification."Serial No." := SLLotSerMst.LotSerNbr; + TempTrackingSpecification."Warranty Date" := 0D; + TempTrackingSpecification."Expiration Date" := 0D; + + LastEntryNo += 1; + TempTrackingSpecification."Entry No." := LastEntryNo; + TempTrackingSpecification."Creation Date" := ItemJnlLine."Posting Date"; + + TempTrackingSpecification.Validate("Quantity (Base)", 1); + + TempTrackingSpecification.Insert(true); + + ReservationEntry.Init(); + ReservationEntry.CopyTrackingFromSpec(TempTrackingSpecification); + CreateReservEntry.CreateReservEntryFor( + Database::"Item Journal Line", + ItemJnlLine."Entry Type".AsInteger(), ItemJnlLine."Journal Template Name", + ItemJnlLine."Journal Batch Name", 0, ItemJnlLine."Line No.", ItemJnlLine."Qty. per Unit of Measure", + TempTrackingSpecification."Quantity (Base)", TempTrackingSpecification."Quantity (Base)", ReservationEntry); + + CreateReservEntry.CreateEntry( + ItemJnlLine."Item No.", ItemJnlLine."Variant Code", ItemJnlLine."Location Code", + SLInventory.Descr, ItemJnlLine."Posting Date", ItemJnlLine."Posting Date", 0, ReservationStatus::Prospect); + end; + + // Serial-tracked, when received into Inventory with expiration date + 'SERRCVDEXP': + begin + TempTrackingSpecification."Serial No." := SLLotSerMst.LotSerNbr; + TempTrackingSpecification."Warranty Date" := 0D; + if DT2Date(SLLotSerMst.ExpDate) = DMY2Date(1, 1, 1900) then + TempTrackingSpecification."Expiration Date" := 0D + else + TempTrackingSpecification."Expiration Date" := DT2Date(SLLotSerMst.ExpDate); + + LastEntryNo += 1; + TempTrackingSpecification."Entry No." := LastEntryNo; + TempTrackingSpecification."Creation Date" := ItemJnlLine."Posting Date"; + + TempTrackingSpecification.Validate("Quantity (Base)", 1); + + TempTrackingSpecification.Insert(true); + + ReservationEntry.Init(); + ReservationEntry.CopyTrackingFromSpec(TempTrackingSpecification); + CreateReservEntry.CreateReservEntryFor( + Database::"Item Journal Line", + ItemJnlLine."Entry Type".AsInteger(), ItemJnlLine."Journal Template Name", + ItemJnlLine."Journal Batch Name", 0, ItemJnlLine."Line No.", ItemJnlLine."Qty. per Unit of Measure", + TempTrackingSpecification."Quantity (Base)", TempTrackingSpecification."Quantity (Base)", ReservationEntry); + + CreateReservEntry.SetDates(TempTrackingSpecification."Warranty Date", TempTrackingSpecification."Expiration Date"); + + CreateReservEntry.CreateEntry( + ItemJnlLine."Item No.", ItemJnlLine."Variant Code", ItemJnlLine."Location Code", + SLInventory.Descr, ItemJnlLine."Posting Date", ItemJnlLine."Posting Date", 0, ReservationStatus::Prospect); + end; + end; + until SLLotSerMst.Next() = 0; + end; + + internal procedure CreateItemTrackingLinesSpecificID(SLItemCost: Record "SL ItemCost"; SLInventory: Record "SL Inventory"; ItemJnlLine: Record "Item Journal Line") + var + ReservationEntry: Record "Reservation Entry"; + TempTrackingSpecification: Record "Tracking Specification" temporary; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + CreateReservEntry: Codeunit "Create Reserv. Entry"; + ItemJrlLineReserve: Codeunit "Item Jnl. Line-Reserve"; + ReservationStatus: Enum "Reservation Status"; + LastEntryNo: Integer; + SLLotSerialCode: Text[10]; + begin + if SLInventory.ValMthd <> 'S' then + exit; + if SLInventory.LotSerTrack <> 'NN' then + exit; + SLLotSerialCode := GetSLBCTrackingCode(SLInventory); + if SLLotSerialCode.TrimEnd() <> 'LOTRCVD' then + exit; + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLItemCost.RecordId)); + + ItemJrlLineReserve.InitFromItemJnlLine(TempTrackingSpecification, ItemJnlLine); + + TempTrackingSpecification."Lot No." := SLItemCost.SpecificCostID; + TempTrackingSpecification."Warranty Date" := 0D; + TempTrackingSpecification."Expiration Date" := 0D; + LastEntryNo += 1; + TempTrackingSpecification."Entry No." := LastEntryNo; + TempTrackingSpecification."Creation Date" := ItemJnlLine."Posting Date"; + TempTrackingSpecification.Validate("Quantity (Base)", SLItemCost.Qty); + + TempTrackingSpecification.Insert(true); + + ReservationEntry.Init(); + ReservationEntry.CopyTrackingFromSpec(TempTrackingSpecification); + CreateReservEntry.CreateReservEntryFor( + Database::"Item Journal Line", + ItemJnlLine."Entry Type".AsInteger(), ItemJnlLine."Journal Template Name", + ItemJnlLine."Journal Batch Name", 0, ItemJnlLine."Line No.", ItemJnlLine."Qty. per Unit of Measure", + TempTrackingSpecification."Quantity (Base)", TempTrackingSpecification."Quantity (Base)", ReservationEntry); + + CreateReservEntry.CreateEntry( + ItemJnlLine."Item No.", ItemJnlLine."Variant Code", ItemJnlLine."Location Code", + SLInventory.Descr, ItemJnlLine."Posting Date", ItemJnlLine."Posting Date", 0, ReservationStatus::Prospect); + end; + + internal procedure MigrateItemInventoryPostingGroup(SLInventory: Record "SL Inventory"; var Sender: Codeunit "Item Data Migration Facade") + var + Item: Record Item; + SLSite: Record "SL Site"; + SLINSetup: Record "SL INSetup"; + begin + if not Sender.DoesItemExist(CopyStr(SLInventory.InvtID, 1, MaxStrLen(Item."No."))) then + exit; + + SLINSetup.Get('IN'); + Sender.CreateInventoryPostingSetupIfNeeded(DefaultPostingGroupCodeTxt, DefaultPostingGroupDescriptionTxt, ''); + Sender.CreateGeneralProductPostingSetupIfNeeded(SLItemImportPostingGroupCodeTxt, SLItemImportPostingGroupDescriptionTxt, ''); + Sender.CreateGeneralProductPostingSetupIfNeeded(SLItemImportPostingGroupCodeTxt, SLItemImportPostingGroupDescriptionTxt, DefaultPostingGroupCodeTxt); + Sender.SetInventoryPostingSetupInventoryAccount(DefaultPostingGroupCodeTxt, '', SLINSetup.DfltInvtAcct); + + if SLSite.FindSet() then + repeat + Sender.CreateInventoryPostingSetupIfNeeded(DefaultPostingGroupCodeTxt, DefaultPostingGroupDescriptionTxt, SLSite.SiteId); + Sender.CreateInventoryPostingSetupIfNeeded(SLItemImportPostingGroupCodeTxt, SLItemImportPostingGroupDescriptionTxt, SLSite.SiteId); + Sender.SetInventoryPostingSetupInventoryAccount(DefaultPostingGroupCodeTxt, SLSite.SiteId, SLINSetup.DfltInvtAcct); + until SLSite.Next() = 0; + + Sender.SetInventoryPostingGroup(DefaultPostingGroupCodeTxt); + + Sender.ModifyItem(true); + end; + + internal procedure GetSLBCTrackingCode(SLInventory: Record "SL Inventory"): Code[10] + begin + if (SLInventory.LotSerTrack = 'LI') and (SLInventory.SerAssign = 'R') and (SLInventory.LotSerIssMthd = 'E') then + exit('LOTRCVDEXP'); + if (SLInventory.LotSerTrack = 'LI') and (SLInventory.SerAssign = 'R') and (SLInventory.LotSerIssMthd <> 'E') then + exit('LOTRCVD'); + if (SLInventory.LotSerTrack = 'LI') and (SLInventory.SerAssign = 'U') and (SLInventory.ValMthd <> 'S') then + exit('LOTUSED'); + if (SLInventory.LotSerTrack = 'SI') and (SLInventory.SerAssign = 'R') and (SLInventory.LotSerIssMthd = 'E') then + exit('SERRCVDEXP'); + if (SLInventory.LotSerTrack = 'SI') and (SLInventory.SerAssign = 'R') and (SLInventory.LotSerIssMthd <> 'E') then + exit('SERRCVD'); + if (SLInventory.LotSerTrack = 'SI') and (SLInventory.SerAssign = 'U') and (SLInventory.ValMthd <> 'S') then + exit('SERUSED'); + if (SLInventory.ValMthd = 'S') and ((SLInventory.LotSerTrack = 'NN') or (SLInventory.LotSerTrack in ['LI', 'SI'])) then + exit('LOTRCVD'); + exit(''); + end; + + internal procedure SetGeneralPostingSetupForInventory(SLINSetup: Record "SL INSetup") + var + GeneralPostingSetup: Record "General Posting Setup"; + begin + if GeneralPostingSetup.Get('', DefaultPostingGroupCodeTxt) then begin + if (SLINSetup.AdjustmentsAcct.TrimEnd() <> '') then + GeneralPostingSetup."Inventory Adjmt. Account" := SLINSetup.AdjustmentsAcct; + if (SLINSetup.DfltCOGSAcct.TrimEnd() <> '') then + GeneralPostingSetup."COGS Account" := SLINSetup.DfltCOGSAcct; + if (SLINSetup.DfltSalesAcct.TrimEnd() <> '') then + GeneralPostingSetup."Sales Account" := SLINSetup.DfltSalesAcct; + GeneralPostingSetup.Modify(); + end; + + if GeneralPostingSetup.Get(DefaultPostingGroupCodeTxt, DefaultPostingGroupCodeTxt) then begin + if (SLINSetup.AdjustmentsAcct.TrimEnd() <> '') then + GeneralPostingSetup."Inventory Adjmt. Account" := SLINSetup.AdjustmentsAcct; + if (SLINSetup.DfltCOGSAcct.TrimEnd() <> '') then + GeneralPostingSetup."COGS Account" := SLINSetup.DfltCOGSAcct; + if (SLINSetup.DfltSalesAcct.TrimEnd() <> '') then + GeneralPostingSetup."Sales Account" := SLINSetup.DfltSalesAcct; + GeneralPostingSetup.Modify(); + end; + + if GeneralPostingSetup.Get(DefaultPostingGroupCodeTxt, SLItemImportPostingGroupCodeTxt) then begin + if (SLINSetup.DfltInvtAcct <> '') then + GeneralPostingSetup."Inventory Adjmt. Account" := SLINSetup.DfltInvtAcct; + if (SLINSetup.DfltCOGSAcct.TrimEnd() <> '') then + GeneralPostingSetup."COGS Account" := SLINSetup.DfltCOGSAcct; + if (SLINSetup.DfltSalesAcct.TrimEnd() <> '') then + GeneralPostingSetup."Sales Account" := SLINSetup.DfltSalesAcct; + GeneralPostingSetup.Modify(); + end; + + if GeneralPostingSetup.Get('', SLItemImportPostingGroupCodeTxt) then begin + if (SLINSetup.DfltInvtAcct <> '') then + GeneralPostingSetup."Inventory Adjmt. Account" := SLINSetup.DfltInvtAcct; + if (SLINSetup.DfltCOGSAcct.TrimEnd() <> '') then + GeneralPostingSetup."COGS Account" := SLINSetup.DfltCOGSAcct; + if (SLINSetup.DfltSalesAcct.TrimEnd() <> '') then + GeneralPostingSetup."Sales Account" := SLINSetup.DfltSalesAcct; + GeneralPostingSetup.Modify(); + end; + end; + + internal procedure GetCostingMethod(var SLInventory: Record "SL Inventory"): Option + begin + case SLInventory.ValMthd of + // FIFO, Specific Cost ID + 'F', 'S': + exit(CostingMethodOption::FIFO); + // LIFO + 'L': + exit(CostingMethodOption::LIFO); + // Average Cost, User-Specified Cost + 'A', 'U': + exit(CostingMethodOption::Average); + // Standard Cost + 'T': + exit(CostingMethodOption::Standard); + end; + end; + + internal procedure GetMaxBatchLineCount(): Integer + var + IsHandled: Boolean; + MaxLineCount: Integer; + NewMaxLineCount: Integer; + begin + MaxLineCount := 10000; + + OnBeforeGetMaxItemBatchLineCount(IsHandled, NewMaxLineCount); + if IsHandled then + if NewMaxLineCount > 0 then + MaxLineCount := NewMaxLineCount; + + exit(MaxLineCount); + end; + + [IntegrationEvent(false, false)] + internal procedure OnBeforeGetMaxItemBatchLineCount(var IsHandled: Boolean; var NewMaxLineCount: Integer) + begin + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLItemSite.Table.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLItemSite.Table.al new file mode 100644 index 0000000000..a0e82fcdfb --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLItemSite.Table.al @@ -0,0 +1,785 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47041 "SL ItemSite" +{ + Access = Internal; + Caption = 'SL ItemSite'; + DataClassification = CustomerContent; + + fields + { + field(1; ABCCode; Text[2]) + { + Caption = 'ABCCode'; + } + field(2; AllocQty; Decimal) + { + Caption = 'AllocQty'; + } + field(3; AutoPODropShip; Integer) + { + Caption = 'AutoPODropShip'; + } + field(4; AutoPOPolicy; Text[2]) + { + Caption = 'AutoPOPolicy'; + } + field(5; AvgCost; Decimal) + { + Caption = 'AvgCost'; + } + field(6; BMIAvgCost; Decimal) + { + Caption = 'BMIAvgCost'; + } + field(7; BMIDirStdCst; Decimal) + { + Caption = 'BMIDirStdCst'; + } + field(8; BMIFOvhStdCst; Decimal) + { + Caption = 'BMIFOvhStdCst'; + } + field(9; BMILastCost; Decimal) + { + Caption = 'BMILastCost'; + } + field(10; BMIPDirStdCst; Decimal) + { + Caption = 'BMIPDirStdCst'; + } + field(11; BMIPFOvhStdCst; Decimal) + { + Caption = 'BMIPFOvhStdCst'; + } + field(12; BMIPStdCst; Decimal) + { + Caption = 'BMIPStdCst'; + } + field(13; BMIPVOvhStdCst; Decimal) + { + Caption = 'BMIPVOvhStdCst'; + } + field(14; BMIStdCost; Decimal) + { + Caption = 'BMIStdCost'; + } + field(15; BMITotCost; Decimal) + { + Caption = 'BMITotCost'; + } + field(16; BMIVOvhStdCst; Decimal) + { + Caption = 'BMIVOvhStdCst'; + } + field(17; Buyer; Text[10]) + { + Caption = 'Buyer'; + } + field(18; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(19; COGSSub; Text[24]) + { + Caption = 'COGSSub'; + } + field(20; CountStatus; Text[1]) + { + Caption = 'CountStatus'; + } + field(21; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(22; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(23; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(24; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(25; CycleID; Text[10]) + { + Caption = 'CycleID'; + } + field(26; DfltPickBin; Text[10]) + { + Caption = 'DfltPickBin'; + } + field(27; DfltPOUnit; Text[6]) + { + Caption = 'DfltPOUnit'; + } + field(28; DfltPutAwayBin; Text[10]) + { + Caption = 'DfltPutAwayBin'; + } + field(29; DfltRepairBin; Text[10]) + { + Caption = 'DfltRepairBin'; + } + field(30; DfltSOUnit; Text[6]) + { + Caption = 'DfltSOUnit'; + } + field(31; DfltVendorBin; Text[10]) + { + Caption = 'DfltVendorBin'; + } + field(32; DfltWhseLoc; Text[10]) + { + Caption = 'DfltWhseLoc'; + } + field(33; DirStdCst; Decimal) + { + Caption = 'DirStdCst'; + } + field(34; EOQ; Decimal) + { + Caption = 'EOQ'; + } + field(35; FOvhStdCst; Decimal) + { + Caption = 'FOvhStdCst'; + } + field(36; InvtAcct; Text[10]) + { + Caption = 'InvtAcct'; + } + field(37; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(38; InvtSub; Text[24]) + { + Caption = 'InvtSub'; + } + field(39; IRCalcDailyUsage; Decimal) + { + Caption = 'IRCalcDailyUsage'; + } + field(40; IRCalcEOQ; Decimal) + { + Caption = 'IRCalcEOQ'; + } + field(41; IRCalcLeadTime; Decimal) + { + Caption = 'IRCalcLeadTime'; + } + field(42; IRCalcLinePt; Decimal) + { + Caption = 'IRCalcLinePt'; + } + field(43; IRCalcRCycDays; Integer) + { + Caption = 'IRCalcRCycDays'; + } + field(44; IRCalcReOrdPt; Decimal) + { + Caption = 'IRCalcReOrdPt'; + } + field(45; IRCalcReOrdQty; Decimal) + { + Caption = 'IRCalcReOrdQty'; + } + field(46; IRCalcSafetyStk; Decimal) + { + Caption = 'IRCalcSafetyStk'; + } + field(47; IRDailyUsage; Decimal) + { + Caption = 'IRDailyUsage'; + } + field(48; IRDaysSupply; Decimal) + { + Caption = 'IRDaysSupply'; + } + field(49; IRDemandID; Text[10]) + { + Caption = 'IRDemandID'; + } + field(50; IRFutureDate; DateTime) + { + Caption = 'IRFutureDate'; + } + field(51; IRFuturePolicy; Text[1]) + { + Caption = 'IRFuturePolicy'; + } + field(52; IRLeadTimeID; Text[10]) + { + Caption = 'IRLeadTimeID'; + } + field(53; IRLinePt; Decimal) + { + Caption = 'IRLinePt'; + } + field(54; IRManualDailyUsage; Integer) + { + Caption = 'IRManualDailyUsage'; + } + field(55; IRManualEOQ; Integer) + { + Caption = 'IRManualEOQ'; + } + field(56; IRManualLeadTime; Integer) + { + Caption = 'IRManualLeadTime'; + } + field(57; IRManualLinePt; Integer) + { + Caption = 'IRManualLinePt'; + } + field(58; IRManualRCycDays; Integer) + { + Caption = 'IRManualRCycDays'; + } + field(59; IRManualReOrdPt; Integer) + { + Caption = 'IRManualReOrdPt'; + } + field(60; IRManualReOrdQty; Integer) + { + Caption = 'IRManualReOrdQty'; + } + field(61; IRManualSafetyStk; Integer) + { + Caption = 'IRManualSafetyStk'; + } + field(62; IRMaxDailyUsage; Decimal) + { + Caption = 'IRMaxDailyUsage'; + } + field(63; IRMaxEOQ; Decimal) + { + Caption = 'IRMaxEOQ'; + } + field(64; IRMaxLeadTime; Decimal) + { + Caption = 'IRMaxLeadTime'; + } + field(65; IRMaxLinePt; Decimal) + { + Caption = 'IRMaxLinePt'; + } + field(66; IRMaxRCycDays; Decimal) + { + Caption = 'IRMaxRCycDays'; + } + field(67; IRMaxReOrdPt; Decimal) + { + Caption = 'IRMaxReOrdPt'; + } + field(68; IRMaxReOrdQty; Decimal) + { + Caption = 'IRMaxReOrdQty'; + } + field(69; IRMaxSafetyStk; Decimal) + { + Caption = 'IRMaxSafetyStk'; + } + field(70; IRMinDailyUsage; Decimal) + { + Caption = 'IRMinDailyUsage'; + } + field(71; IRMinEOQ; Decimal) + { + Caption = 'IRMinEOQ'; + } + field(72; IRMinLeadTime; Decimal) + { + Caption = 'IRMinLeadTime'; + } + field(73; IRMinLinePt; Decimal) + { + Caption = 'IRMinLinePt'; + } + field(74; IRMinOnHand; Decimal) + { + Caption = 'IRMinOnHand'; + } + field(75; IRMinRCycDays; Decimal) + { + Caption = 'IRMinRCycDays'; + } + field(76; IRMinReOrdPt; Decimal) + { + Caption = 'IRMinReOrdPt'; + } + field(77; IRMinReOrdQty; Decimal) + { + Caption = 'IRMinReOrdQty'; + } + field(78; IRMinSafetyStk; Decimal) + { + Caption = 'IRMinSafetyStk'; + } + field(79; IRModelInvtID; Text[30]) + { + Caption = 'IRModelInvtID'; + } + field(80; IRRCycDays; Integer) + { + Caption = 'IRRCycDays'; + } + field(81; IRSeasonEndDay; Integer) + { + Caption = 'IRSeasonEndDay'; + } + field(82; IRSeasonEndMon; Integer) + { + Caption = 'IRSeasonEndMon'; + } + field(83; IRSeasonStrtDay; Integer) + { + Caption = 'IRSeasonStrtDay'; + } + field(84; IRSeasonStrtMon; Integer) + { + Caption = 'IRSeasonStrtMon'; + } + field(85; IRServiceLevel; Decimal) + { + Caption = 'IRServiceLevel'; + } + field(86; IRSftyStkDays; Decimal) + { + Caption = 'IRSftyStkDays'; + } + field(87; IRSftyStkPct; Decimal) + { + Caption = 'IRSftyStkPct'; + } + field(88; IRSftyStkPolicy; Text[1]) + { + Caption = 'IRSftyStkPolicy'; + } + field(89; IRSourceCode; Text[1]) + { + Caption = 'IRSourceCode'; + } + field(90; IRTargetOrdMethod; Text[1]) + { + Caption = 'IRTargetOrdMethod'; + } + field(91; IRTargetOrdReq; Decimal) + { + Caption = 'IRTargetOrdReq'; + } + field(92; IRTransferSiteID; Text[10]) + { + Caption = 'IRTransferSiteID'; + } + field(93; LastBookQty; Decimal) + { + Caption = 'LastBookQty'; + } + field(94; LastCost; Decimal) + { + Caption = 'LastCost'; + } + field(95; LastCountDate; DateTime) + { + Caption = 'LastCountDate'; + } + field(96; LastPurchaseDate; DateTime) + { + Caption = 'LastPurchaseDate'; + } + field(97; LastPurchasePrice; Decimal) + { + Caption = 'LastPurchasePrice'; + } + field(98; LastStdCost; Decimal) + { + Caption = 'LastStdCost'; + } + field(99; LastVarAmt; Decimal) + { + Caption = 'LastVarAmt'; + } + field(100; LastVarPct; Decimal) + { + Caption = 'LastVarPct'; + } + field(101; LastVarQty; Decimal) + { + Caption = 'LastVarQty'; + } + field(102; LastVendor; Text[15]) + { + Caption = 'LastVendor'; + } + field(103; LeadTime; Decimal) + { + Caption = 'LeadTime'; + } + field(104; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(105; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(106; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(107; MaxOnHand; Decimal) + { + Caption = 'MaxOnHand'; + } + field(108; MfgClassID; Text[10]) + { + Caption = 'MfgClassID'; + } + field(109; MfgLeadTime; Decimal) + { + Caption = 'MfgLeadTime'; + } + field(110; MoveClass; Text[10]) + { + Caption = 'MoveClass'; + } + field(111; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(112; PDirStdCst; Decimal) + { + Caption = 'PDirStdCst'; + } + field(113; PFOvhStdCst; Decimal) + { + Caption = 'PFOvhStdCst'; + } + field(114; PrimVendID; Text[15]) + { + Caption = 'PrimVendID'; + } + field(115; ProdMgrID; Text[10]) + { + Caption = 'ProdMgrID'; + } + field(116; PrjINQtyAlloc; Decimal) + { + Caption = 'PrjINQtyAlloc'; + } + field(117; PrjINQtyAllocIN; Decimal) + { + Caption = 'PrjINQtyAllocIN'; + } + field(118; PrjINQtyAllocPORet; Decimal) + { + Caption = 'PrjINQtyAllocPORet'; + } + field(119; PrjINQtyAllocSO; Decimal) + { + Caption = 'PrjINQtyAllocSO'; + } + field(120; PrjINQtyCustOrd; Decimal) + { + Caption = 'PrjINQtyCustOrd'; + } + field(121; PrjINQtyShipNotInv; Decimal) + { + Caption = 'PrjINQtyShipNotInv'; + } + field(122; PStdCostDate; DateTime) + { + Caption = 'PStdCostDate'; + } + field(123; PStdCst; Decimal) + { + Caption = 'PStdCst'; + } + field(124; PVOvhStdCst; Decimal) + { + Caption = 'PVOvhStdCst'; + } + field(125; QtyAlloc; Decimal) + { + Caption = 'QtyAlloc'; + } + field(126; QtyAllocBM; Decimal) + { + Caption = 'QtyAllocBM'; + } + field(127; QtyAllocIN; Decimal) + { + Caption = 'QtyAllocIN'; + } + field(128; QtyAllocOther; Decimal) + { + Caption = 'QtyAllocOther'; + } + field(129; QtyAllocPORet; Decimal) + { + Caption = 'QtyAllocPORet'; + } + field(130; QtyAllocProjIN; Decimal) + { + Caption = 'QtyAllocProjIN'; + } + field(131; QtyAllocSD; Decimal) + { + Caption = 'QtyAllocSD'; + } + field(132; QtyAllocSO; Decimal) + { + Caption = 'QtyAllocSO'; + } + field(133; QtyAvail; Decimal) + { + Caption = 'QtyAvail'; + } + field(134; QtyCustOrd; Decimal) + { + Caption = 'QtyCustOrd'; + } + field(135; QtyInTransit; Decimal) + { + Caption = 'QtyInTransit'; + } + field(136; QtyNotAvail; Decimal) + { + Caption = 'QtyNotAvail'; + } + field(137; QtyOnBO; Decimal) + { + Caption = 'QtyOnBO'; + } + field(138; QtyOnDP; Decimal) + { + Caption = 'QtyOnDP'; + } + field(139; QtyOnHand; Decimal) + { + Caption = 'QtyOnHand'; + } + field(140; QtyOnKitAssyOrders; Decimal) + { + Caption = 'QtyOnKitAssyOrders'; + } + field(141; QtyOnPO; Decimal) + { + Caption = 'QtyOnPO'; + } + field(142; QtyOnTransferOrders; Decimal) + { + Caption = 'QtyOnTransferOrders'; + } + field(143; QtyShipNotInv; Decimal) + { + Caption = 'QtyShipNotInv'; + } + field(144; QtyWOFirmDemand; Decimal) + { + Caption = 'QtyWOFirmDemand'; + } + field(145; QtyWOFirmSupply; Decimal) + { + Caption = 'QtyWOFirmSupply'; + } + field(146; QtyWORlsedDemand; Decimal) + { + Caption = 'QtyWORlsedDemand'; + } + field(147; QtyWORlsedSupply; Decimal) + { + Caption = 'QtyWORlsedSupply'; + } + field(148; ReordInterval; Integer) + { + Caption = 'ReordInterval'; + } + field(149; ReordPt; Decimal) + { + Caption = 'ReordPt'; + } + field(150; ReordPtCalc; Decimal) + { + Caption = 'ReordPtCalc'; + } + field(151; ReordQty; Decimal) + { + Caption = 'ReordQty'; + } + field(152; ReordQtyCalc; Decimal) + { + Caption = 'ReordQtyCalc'; + } + field(153; ReplMthd; Text[1]) + { + Caption = 'ReplMthd'; + } + field(154; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(155; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(156; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(157; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(158; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(159; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(160; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(161; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(162; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(163; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(164; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(165; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(166; SafetyStk; Decimal) + { + Caption = 'SafetyStk'; + } + field(167; SafetyStkCalc; Decimal) + { + Caption = 'SafetyStkCalc'; + } + field(168; SalesAcct; Text[10]) + { + Caption = 'SalesAcct'; + } + field(169; SalesSub; Text[24]) + { + Caption = 'SalesSub'; + } + field(170; SecondVendID; Text[15]) + { + Caption = 'SecondVendID'; + } + field(171; Selected; Integer) + { + Caption = 'Selected'; + } + field(172; ShipNotInvAcct; Text[10]) + { + Caption = 'ShipNotInvAcct'; + } + field(173; ShipNotInvSub; Text[24]) + { + Caption = 'ShipNotInvSub'; + } + field(174; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(175; StdCost; Decimal) + { + Caption = 'StdCost'; + } + field(176; StdCostDate; DateTime) + { + Caption = 'StdCostDate'; + } + field(177; StkItem; Integer) + { + Caption = 'StkItem'; + } + field(178; TotCost; Decimal) + { + Caption = 'TotCost'; + } + field(179; Turns; Decimal) + { + Caption = 'Turns'; + } + field(180; UsageRate; Decimal) + { + Caption = 'UsageRate'; + } + field(181; User1; Text[30]) + { + Caption = 'User1'; + } + field(182; User2; Text[30]) + { + Caption = 'User2'; + } + field(183; User3; Decimal) + { + Caption = 'User3'; + } + field(184; User4; Decimal) + { + Caption = 'User4'; + } + field(185; User5; Text[10]) + { + Caption = 'User5'; + } + field(186; User6; Text[10]) + { + Caption = 'User6'; + } + field(187; User7; DateTime) + { + Caption = 'User7'; + } + field(188; User8; DateTime) + { + Caption = 'User8'; + } + field(189; VOvhStdCst; Decimal) + { + Caption = 'VOvhStdCst'; + } + field(190; YTDUsage; Decimal) + { + Caption = 'YTDUsage'; + } + } + + keys + { + key(Key1; InvtID, SiteID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLLotSerMst.Table.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLLotSerMst.Table.al new file mode 100644 index 0000000000..ccb8ee610b --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLLotSerMst.Table.al @@ -0,0 +1,269 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47042 "SL LotSerMst" +{ + Access = Internal; + Caption = 'SL LotSerMst'; + DataClassification = CustomerContent; + + fields + { + field(1; Cost; Decimal) + { + Caption = 'Cost'; + } + field(2; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(3; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(4; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(5; ExpDate; DateTime) + { + Caption = 'ExpDate'; + } + field(6; InvtID; Text[30]) + { + Caption = 'InvtID'; + } + field(7; LIFODate; DateTime) + { + Caption = 'LIFODate'; + } + field(8; LotSerNbr; Text[25]) + { + Caption = 'LotSerNbr'; + } + field(9; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(10; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(11; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(12; MfgrLotSerNbr; Text[25]) + { + Caption = 'MfgrLotSerNbr'; + } + field(13; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(14; OrigQty; Decimal) + { + Caption = 'OrigQty'; + } + field(15; PrjINQtyAlloc; Decimal) + { + Caption = 'PrjINQtyAlloc'; + } + field(16; PrjINQtyAllocIN; Decimal) + { + Caption = 'PrjINQtyAllocIN'; + } + field(17; PrjINQtyAllocPORet; Decimal) + { + Caption = 'PrjINQtyAllocPORet'; + } + field(18; PrjINQtyAllocSO; Decimal) + { + Caption = 'PrjINQtyAllocSO'; + } + field(19; PrjINQtyShipNotInv; Decimal) + { + Caption = 'PrjINQtyShipNotInv'; + } + field(20; QtyAlloc; Decimal) + { + Caption = 'QtyAlloc'; + } + field(21; QtyAllocBM; Decimal) + { + Caption = 'QtyAllocBM'; + } + field(22; QtyAllocIN; Decimal) + { + Caption = 'QtyAllocIN'; + } + field(23; QtyAllocOther; Decimal) + { + Caption = 'QtyAllocOther'; + } + field(24; QtyAllocPORet; Decimal) + { + Caption = 'QtyAllocPORet'; + } + field(25; QtyAllocProjIN; Decimal) + { + Caption = 'QtyAllocProjIN'; + } + field(26; QtyAllocSD; Decimal) + { + Caption = 'QtyAllocSD'; + } + field(27; QtyAllocSO; Decimal) + { + Caption = 'QtyAllocSO'; + } + field(28; QtyAvail; Decimal) + { + Caption = 'QtyAvail'; + } + field(29; QtyOnHand; Decimal) + { + Caption = 'QtyOnHand'; + } + field(30; QtyShipNotInv; Decimal) + { + Caption = 'QtyShipNotInv'; + } + field(31; QtyWORlsedDemand; Decimal) + { + Caption = 'QtyWORlsedDemand'; + } + field(32; RcptDate; DateTime) + { + Caption = 'RcptDate'; + } + field(33; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(34; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(35; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(36; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(37; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(38; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(39; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(40; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(41; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(42; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(43; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(44; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(45; ShipConfirmQty; Decimal) + { + Caption = 'ShipConfirmQty'; + } + field(46; ShipContCode; Text[20]) + { + Caption = 'ShipContCode'; + } + field(47; SiteID; Text[10]) + { + Caption = 'SiteID'; + } + field(48; Source; Text[2]) + { + Caption = 'Source'; + } + field(49; SrcOrdNbr; Text[10]) + { + Caption = 'SrcOrdNbr'; + } + field(50; Status; Text[1]) + { + Caption = 'Status'; + } + field(51; StatusDate; DateTime) + { + Caption = 'StatusDate'; + } + field(52; User1; Text[30]) + { + Caption = 'User1'; + } + field(53; User2; Text[30]) + { + Caption = 'User2'; + } + field(54; User3; Decimal) + { + Caption = 'User3'; + } + field(55; User4; Decimal) + { + Caption = 'User4'; + } + field(56; User5; Text[10]) + { + Caption = 'User5'; + } + field(57; User6; Text[10]) + { + Caption = 'User6'; + } + field(58; User7; DateTime) + { + Caption = 'User7'; + } + field(59; User8; DateTime) + { + Caption = 'User8'; + } + field(60; WarrantyDate; DateTime) + { + Caption = 'WarrantyDate'; + } + field(61; WhseLoc; Text[10]) + { + Caption = 'WhseLoc'; + } + } + + keys + { + key(Key1; InvtID, LotSerNbr, SiteID, WhseLoc) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Items/SLSite.Table.al b/Apps/W1/HybridSL/app/src/Migration/Items/SLSite.Table.al new file mode 100644 index 0000000000..34cf27752b --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Items/SLSite.Table.al @@ -0,0 +1,345 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47057 "SL Site" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Addr1; Text[60]) + { + Caption = 'Addr1'; + } + field(2; Addr2; Text[60]) + { + Caption = 'Addr2'; + } + field(3; AlwaysShip; Boolean) + { + Caption = 'AlwaysShip'; + } + field(4; Attn; Text[30]) + { + Caption = 'Attn'; + } + field(5; City; Text[30]) + { + Caption = 'City'; + } + field(6; COGSAcct; Text[10]) + { + Caption = 'COGSAcct'; + } + field(7; COGSSub; Text[31]) + { + Caption = 'COGSSub'; + } + field(8; Country; Text[3]) + { + Caption = 'Country'; + } + field(9; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(10; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(11; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(12; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(13; DfltInvtAcct; Text[10]) + { + Caption = 'DfltInvtAcct'; + } + field(14; DfltInvtSub; Text[31]) + { + Caption = 'DfltInvtSub'; + } + field(15; DfltRepairBin; Text[10]) + { + Caption = 'DfltRepairBin'; + } + field(16; DfltVendorBin; Text[10]) + { + Caption = 'DfltVendorBin'; + } + field(17; DicsAcct; Text[10]) + { + Caption = 'DicsAcct'; + } + field(18; DiscSub; Text[31]) + { + Caption = 'DiscSub'; + } + field(19; Fax; Text[30]) + { + Caption = 'Fax'; + } + field(20; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(21; FrtSub; Text[31]) + { + Caption = 'FrtSub'; + } + field(22; GeoCode; Text[10]) + { + Caption = 'GeoCode'; + } + field(23; IRCalcPolicy; Text[1]) + { + Caption = 'IRCalcPolicy'; + } + field(24; IRDaysSupply; Decimal) + { + Caption = 'IRDaysSupply'; + } + field(25; IRDemandID; Text[10]) + { + Caption = 'IRDemandID'; + } + field(26; IRFutureDate; DateTime) + { + Caption = 'IRFutureDate'; + } + field(27; IRFuturePolicy; Text[1]) + { + Caption = 'IRFuturePolicy'; + } + field(28; IRLeadTimeID; Text[10]) + { + Caption = 'IRLeadTimeID'; + } + field(29; IRPrimaryVendID; Text[15]) + { + Caption = 'IRPrimaryVendID'; + } + field(30; IRSeasonEndDay; Boolean) + { + Caption = 'IRSeasonEndDay'; + } + field(31; IRSeasonEndMon; Boolean) + { + Caption = 'IRSeasonEndMon'; + } + field(32; IRSeasonStrtDay; Boolean) + { + Caption = 'IRSeasonStrtDay'; + } + field(33; IRSeasonStrtMon; Boolean) + { + Caption = 'IRSeasonStrtMon'; + } + field(34; IRServiceLevel; Decimal) + { + Caption = 'IRServiceLevel'; + } + field(35; IRSftyStkDays; Decimal) + { + Caption = 'IRSftyStkDays'; + } + field(36; IRSftyStkPct; Decimal) + { + Caption = 'IRSftyStkPct'; + } + field(37; IRSftyStkPolicy; Text[1]) + { + Caption = 'IRSftyStkPolicy'; + } + field(38; IRSourceCode; Text[1]) + { + Caption = 'IRSourceCode'; + } + field(39; IRTargetOrdMethod; Text[1]) + { + Caption = 'IRTargetOrdMethod'; + } + field(40; IRTargetOrdReq; Decimal) + { + Caption = 'IRTargetOrdReq'; + } + field(41; IRTransferSiteID; Text[10]) + { + Caption = 'IRTransferSiteID'; + } + field(42; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(43; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(44; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(45; MiscAcct; Text[10]) + { + Caption = 'MiscAcct'; + } + field(46; MiscSub; Text[31]) + { + Caption = 'MiscSub'; + } + field(47; Name; Text[30]) + { + Caption = 'Name'; + } + field(48; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(49; Phone; Text[30]) + { + Caption = 'Phone'; + } + field(50; ReplMthd; Text[1]) + { + Caption = 'ReplMthd'; + } + field(51; REPWhseLoc; Text[10]) + { + Caption = 'REPWhseLoc'; + } + field(52; RTVWhseLoc; Text[10]) + { + Caption = 'RTVWhseLoc'; + } + field(53; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(54; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(55; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(56; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(57; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(58; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(59; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(60; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(61; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(62; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(63; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(64; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(65; Salut; Text[30]) + { + Caption = 'Salut'; + } + field(66; SiteId; Text[10]) + { + Caption = 'SiteId'; + } + field(67; SlsAcct; Text[10]) + { + Caption = 'SlsAcct'; + } + field(68; SlsSub; Text[31]) + { + Caption = 'SlsSub'; + } + field(69; State; Text[3]) + { + Caption = 'State'; + } + field(70; Status; Text[1]) + { + Caption = 'Status'; + } + field(71; User1; Text[30]) + { + Caption = 'User1'; + } + field(72; User2; Text[30]) + { + Caption = 'User2'; + } + field(73; User3; Decimal) + { + Caption = 'User3'; + } + field(74; User4; Decimal) + { + Caption = 'User4'; + } + field(75; User5; Text[10]) + { + Caption = 'User5'; + } + field(76; User6; Text[10]) + { + Caption = 'User6'; + } + field(77; User7; DateTime) + { + Caption = 'User7'; + } + field(78; User8; DateTime) + { + Caption = 'User8'; + } + field(79; VisibleForWC; Boolean) + { + Caption = 'VisibleForWC'; + } + field(80; Zip; Text[10]) + { + Caption = 'Zip'; + } + } + + keys + { + key(SiteId; SiteId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/SLTables/SLAcctHistAcitveAccounts.Query.al b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLAcctHistAcitveAccounts.Query.al new file mode 100644 index 0000000000..b778fad713 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLAcctHistAcitveAccounts.Query.al @@ -0,0 +1,88 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +query 47001 "SL AcctHist Acitve Accounts" +{ + Caption = 'AcctHist Acitve Accounts'; + QueryType = Normal; + + elements + { + dataitem(SLAcctHist; "SL AcctHist") + { + column(Acct; Acct) + { + } + column(FiscYr; FiscYr) + { + } + column(PtdBal00; PtdBal00) + { + } + column(PtdBal01; PtdBal01) + { + } + column(PtdBal02; PtdBal02) + { + } + column(PtdBal03; PtdBal03) + { + } + column(PtdBal04; PtdBal04) + { + } + column(PtdBal05; PtdBal05) + { + } + column(PtdBal06; PtdBal06) + { + } + column(PtdBal07; PtdBal07) + { + } + column(PtdBal08; PtdBal08) + { + } + column(PtdBal09; PtdBal09) + { + } + column(PtdBal10; PtdBal10) + { + } + column(PtdBal11; PtdBal11) + { + } + column(PtdBal12; PtdBal12) + { + } + column(Sub; Sub) + { + } + column(CpnyID; CpnyID) + { + } + column(LedgerID; LedgerID) + { + } + dataitem(SLAccount; "SL Account") + { + DataItemLink = Acct = SLAcctHist.Acct; + SqlJoinType = InnerJoin; + column(Active; Active) + { + } + column(AcctType; AcctType) + { + } + } + } + } + + trigger OnBeforeOpen() + begin + end; +} diff --git a/Apps/W1/HybridSL/app/src/Migration/SLTables/SLGLAcctBalByPeriod.Table.al b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLGLAcctBalByPeriod.Table.al new file mode 100644 index 0000000000..3b53474138 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLGLAcctBalByPeriod.Table.al @@ -0,0 +1,52 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47004 SLGLAcctBalByPeriod +{ + Access = Internal; + Caption = 'SLGLAcctBalByPeriod'; + DataClassification = CustomerContent; + + fields + { + field(1; ACCT; Text[10]) + { + Caption = 'Account'; + } + field(2; SUB; Text[24]) + { + Caption = 'Subaccount'; + } + field(3; FISCYR; Text[4]) + { + Caption = 'Fiscal Year'; + } + field(4; PERIODID; Integer) + { + Caption = 'Period Id'; + } + field(5; PERBAL; Decimal) + { + Caption = 'Period Balance'; + } + field(6; DEBITAMT; Decimal) + { + Caption = 'Debit Amount'; + } + field(7; CREDITAMT; Decimal) + { + Caption = 'Credit Amount'; + } + } + keys + { + key(Key1; ACCT, SUB, FISCYR, PERIODID) + { + Clustered = true; + } + } +} diff --git a/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPeriodListWrkTbl.Table.al b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPeriodListWrkTbl.Table.al new file mode 100644 index 0000000000..32a3f31ba0 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPeriodListWrkTbl.Table.al @@ -0,0 +1,36 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47002 SLPeriodListWrkTbl +{ + Access = Internal; + Caption = 'SLPeriodListWrkTbl'; + DataClassification = CustomerContent; + + fields + { + field(1; period; Integer) + { + Caption = 'period'; + } + field(2; md; Text[4]) + { + Caption = 'md'; + } + field(3; year; Text[4]) + { + Caption = 'year'; + } + } + keys + { + key(Key1; period) + { + Clustered = true; + } + } +} diff --git a/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateAccountHistory.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateAccountHistory.Codeunit.al new file mode 100644 index 0000000000..480832f3c4 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateAccountHistory.Codeunit.al @@ -0,0 +1,730 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +codeunit 47002 "SL Populate Account History" +{ + Access = Internal; + trigger OnRun() + begin + FillSLGLAcctBalbyPeriodWrkTbl(); + PopulateSLAccountTransactionsTbl(); + end; + + internal procedure FillSLGLAcctBalbyPeriodWrkTbl() + var + SLGLAcctBalbyPeriodWrkTbl: Record SLGLAcctBalByPeriod; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SLGLSetup: Record "SL GLSetup"; + AccountQuery: Query "SL AcctHist Acitve Accounts"; + InitialYear: Integer; + SLLedgerID: Text[10]; + SLYtdNetIncAcct: Text[10]; + begin + if SLGLSetup.FindFirst() then begin + SLLedgerID := CopyStr(SLGLSetup.LedgerID.Trim(), 1, MaxStrLen(SLLedgerID)); + SLYtdNetIncAcct := CopyStr(SLGLSetup.YtdNetIncAcct.Trim(), 1, MaxStrLen(SLYtdNetIncAcct)); + end; + + if SLGLAcctBalbyPeriodWrkTbl.FindFirst() then + SLGLAcctBalbyPeriodWrkTbl.DeleteAll(); + + AccountQuery.SetRange(CpnyID, CompanyName().Trim()); + AccountQuery.SetRange(LedgerID, SLLedgerID); + AccountQuery.SetFilter(Active, '=%1', 1); + AccountQuery.SetFilter(Acct, '<> %1', SLYtdNetIncAcct); + + InitialYear := SLCompanyAdditionalSettings.GetInitialYear(); + if InitialYear > 0 then + AccountQuery.SetFilter(FiscYr, '>= %1', Format(InitialYear)); + + if not AccountQuery.Open() then + exit; + + while AccountQuery.Read() do begin + if AccountQuery.PtdBal00 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 1; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal00 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal00 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal00; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal00 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal00 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal00; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal01 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 2; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal01 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal01 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal01; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal01 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal01 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal01; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal02 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 3; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal02 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal02 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal02; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal02 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal02 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal02; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal03 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 4; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal03 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal03 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal03; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal03 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal03 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal03; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal04 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 5; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal04 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal04 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal04; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal04 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal04 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal04; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal05 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 6; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal05 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal05 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal05; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal05 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal05 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal05; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal06 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 7; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal06 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal06 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal06; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal06 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal06 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal06; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal07 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 8; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal07 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal07 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal07; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal07 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal07 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal07; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal08 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 9; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal08 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal08 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal08; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal08 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal08 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal08; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal09 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 10; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal09 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal09 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal09; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal09 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal09 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal09; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal10 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 11; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal10 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal10 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal10; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal10 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal10 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal10; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal11 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 12; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal11 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal11 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal11; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal11 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal11 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal11; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + if AccountQuery.PtdBal12 <> 0 then begin + SLGLAcctBalbyPeriodWrkTbl.ACCT := AccountQuery.Acct; + SLGLAcctBalbyPeriodWrkTbl.SUB := AccountQuery.Sub; + SLGLAcctBalbyPeriodWrkTbl.FISCYR := AccountQuery.FiscYr; + SLGLAcctBalbyPeriodWrkTbl.PERIODID := 13; + case (AccountQuery.AcctType.Substring(2, 1)) of + 'A', 'E': + if AccountQuery.PtdBal12 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal12 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal12; + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + end; + 'L', 'I': + if AccountQuery.PtdBal12 < 0 then begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := 0; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := AccountQuery.PtdBal12 * -1; + end else begin + SLGLAcctBalbyPeriodWrkTbl.CREDITAMT := AccountQuery.PtdBal12; + SLGLAcctBalbyPeriodWrkTbl.DEBITAMT := 0; + end; + end; + if SLGLAcctBalbyPeriodWrkTbl.CREDITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT + else + if SLGLAcctBalbyPeriodWrkTbl.DEBITAMT <> 0 then + SLGLAcctBalbyPeriodWrkTbl.PERBAL := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + + SLGLAcctBalbyPeriodWrkTbl.Insert(); + Commit(); + end; + end; + end; + + internal procedure PopulateSLAccountTransactionsTbl() + var + SLGLAcctBalbyPeriodWrkTbl: Record SLGLAcctBalByPeriod; + SLAccountTransactionsTbl: Record "SL AccountTransactions"; + NbrOfSegments: Integer; + begin + NbrOfSegments := 0; + NbrOfSegments := GetNumberOfSegments(); + + if SLAccountTransactionsTbl.FindFirst() then + SLAccountTransactionsTbl.DeleteAll(); + + if SLGLAcctBalbyPeriodWrkTbl.FindSet() then + repeat + case NbrOfSegments of + 1: + begin + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := ''; + SLAccountTransactionsTbl.SubSegment_3 := ''; + SLAccountTransactionsTbl.SubSegment_4 := ''; + SLAccountTransactionsTbl.SubSegment_5 := ''; + SLAccountTransactionsTbl.SubSegment_6 := ''; + SLAccountTransactionsTbl.SubSegment_7 := ''; + SLAccountTransactionsTbl.SubSegment_8 := ''; + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + 2: + begin + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 2); + SLAccountTransactionsTbl.SubSegment_3 := ''; + SLAccountTransactionsTbl.SubSegment_4 := ''; + SLAccountTransactionsTbl.SubSegment_5 := ''; + SLAccountTransactionsTbl.SubSegment_6 := ''; + SLAccountTransactionsTbl.SubSegment_7 := ''; + SLAccountTransactionsTbl.SubSegment_8 := ''; + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + 3: + begin + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 2); + SLAccountTransactionsTbl.SubSegment_3 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 3); + SLAccountTransactionsTbl.SubSegment_4 := ''; + SLAccountTransactionsTbl.SubSegment_5 := ''; + SLAccountTransactionsTbl.SubSegment_6 := ''; + SLAccountTransactionsTbl.SubSegment_7 := ''; + SLAccountTransactionsTbl.SubSegment_8 := ''; + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + 4: + begin + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 2); + SLAccountTransactionsTbl.SubSegment_3 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 3); + SLAccountTransactionsTbl.SubSegment_4 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 4); + SLAccountTransactionsTbl.SubSegment_5 := ''; + SLAccountTransactionsTbl.SubSegment_6 := ''; + SLAccountTransactionsTbl.SubSegment_7 := ''; + SLAccountTransactionsTbl.SubSegment_8 := ''; + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + 5: + begin + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 2); + SLAccountTransactionsTbl.SubSegment_3 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 3); + SLAccountTransactionsTbl.SubSegment_4 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 4); + SLAccountTransactionsTbl.SubSegment_5 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 5); + SLAccountTransactionsTbl.SubSegment_6 := ''; + SLAccountTransactionsTbl.SubSegment_7 := ''; + SLAccountTransactionsTbl.SubSegment_8 := ''; + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + 6: + begin + SLAccountTransactionsTbl.SetCurrentKey(Id); + if SLAccountTransactionsTbl.FindLast() then + SLAccountTransactionsTbl.Id := SLAccountTransactionsTbl.Id + 1 + else + SLAccountTransactionsTbl.Id := 1; + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 2); + SLAccountTransactionsTbl.SubSegment_3 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 3); + SLAccountTransactionsTbl.SubSegment_4 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 4); + SLAccountTransactionsTbl.SubSegment_5 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 5); + SLAccountTransactionsTbl.SubSegment_6 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 6); + SLAccountTransactionsTbl.SubSegment_7 := ''; + SLAccountTransactionsTbl.SubSegment_8 := ''; + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + 7: + begin + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 2); + SLAccountTransactionsTbl.SubSegment_3 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 3); + SLAccountTransactionsTbl.SubSegment_4 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 4); + SLAccountTransactionsTbl.SubSegment_5 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 5); + SLAccountTransactionsTbl.SubSegment_6 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 6); + SLAccountTransactionsTbl.SubSegment_7 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 7); + SLAccountTransactionsTbl.SubSegment_8 := ''; + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + 8: + begin + SLAccountTransactionsTbl.SubSegment_1 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 1); + SLAccountTransactionsTbl.SubSegment_2 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 2); + SLAccountTransactionsTbl.SubSegment_3 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 3); + SLAccountTransactionsTbl.SubSegment_4 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 4); + SLAccountTransactionsTbl.SubSegment_5 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 5); + SLAccountTransactionsTbl.SubSegment_6 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 6); + SLAccountTransactionsTbl.SubSegment_7 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 7); + SLAccountTransactionsTbl.SubSegment_8 := GetSubAcctSegmentText(SLGLAcctBalbyPeriodWrkTbl.SUB, 7); + SLAccountTransactionsTbl.Balance := SLGLAcctBalbyPeriodWrkTbl.PERBAL; + SLAccountTransactionsTbl.DebitAmount := SLGLAcctBalbyPeriodWrkTbl.DEBITAMT; + SLAccountTransactionsTbl.CreditAmount := SLGLAcctBalbyPeriodWrkTbl.CREDITAMT; + SLAccountTransactionsTbl.Sub := SLGLAcctBalbyPeriodWrkTbl.SUB; + SLAccountTransactionsTbl.PERIODID := SLGLAcctBalbyPeriodWrkTbl.PERIODID; + SLAccountTransactionsTbl.AcctNum := SLGLAcctBalbyPeriodWrkTbl.ACCT; + SLAccountTransactionsTbl.Year := SLGLAcctBalbyPeriodWrkTbl.FISCYR; + SLAccountTransactionsTbl.Insert(); + Commit(); + end; + end; + until SLGLAcctBalbyPeriodWrkTbl.Next() = 0; + end; + + internal procedure GetNumberOfSegments(): Integer + var + SLFlexDef: Record "SL FlexDef"; + NbrSegments: Integer; + begin + NbrSegments := 0; + SLFlexDef.SetRange(FieldClassName, 'SUBACCOUNT'); + if SLFlexDef.FindFirst() then begin + SegLen1 := SLFlexDef.SegLength00; + SegLen2 := SLFlexDef.SegLength01; + SegLen3 := SLFlexDef.SegLength02; + SegLen4 := SLFlexDef.SegLength03; + SegLen5 := SLFlexDef.SegLength04; + SegLen6 := SLFlexDef.SegLength05; + SegLen7 := SLFlexDef.SegLength06; + SegLen8 := SLFlexDef.SegLength07; + NbrSegments := SLFlexDef.NumberSegments; + end; + exit(NbrSegments); + end; + + internal procedure GetSubAcctSegmentText(Subaccount: Text[24]; SegmentNo: Integer): Text[24] + var + SubaccountSegmentText: Text; + begin + case SegmentNo of + 1: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1, SegLen1); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + 2: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1 + SegLen1, SegLen2); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + 3: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1 + SegLen1 + SegLen2, SegLen3); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + 4: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1 + SegLen1 + SegLen2 + SegLen3, SegLen4); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + 5: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1 + SegLen1 + SegLen2 + SegLen3 + SegLen4, SegLen5); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + 6: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1 + SegLen1 + SegLen2 + SegLen3 + SegLen4 + SegLen5, SegLen6); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + 7: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1 + SegLen1 + SegLen2 + SegLen3 + SegLen4 + SegLen5 + SegLen6, SegLen7); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + 8: + begin + SubaccountSegmentText := CopyStr(Subaccount, 1 + SegLen1 + SegLen2 + SegLen3 + SegLen4 + SegLen5 + SegLen6 + SegLen7, SegLen8); + exit(Copystr(SubaccountSegmentText, 1, MaxStrLen(Subaccount))); + end; + end; + end; + + var + SegLen1: Integer; + SegLen2: Integer; + SegLen3: Integer; + SegLen4: Integer; + SegLen5: Integer; + SegLen6: Integer; + SegLen7: Integer; + SegLen8: Integer; +} diff --git a/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateAccounts.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateAccounts.Codeunit.al new file mode 100644 index 0000000000..7324159627 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateAccounts.Codeunit.al @@ -0,0 +1,67 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +codeunit 47019 "SL Populate Accounts" +{ + Access = Internal; + internal procedure PopulateSLAccounts() + var + SLAccount: Record "SL Account"; + SLAccountStaging: Record "SL Account Staging"; + SLCompanyID: Text; + begin + if not SLAccount.FindSet() then + exit; + + SLCompanyID := CompanyName.Trim(); + SLAccountStaging.DeleteAll(); + repeat + Clear(SLAccountStaging); + + SLAccountStaging.AcctNum := SLAccount.Acct; + SLAccountStaging.AccountCategory := ConvertAccountCategoryFromAcctType(SLAccount.AcctType); + if SLAccount.Active = 0 then + SLAccountStaging.Active := false + else + SLAccountStaging.Active := true; + SLAccountStaging.Name := SLAccount.Descr; + SLAccountStaging.SearchName := SLAccount.Descr; + SLAccountStaging.DebitCredit := 0; + SLAccountStaging.IncomeBalance := ConvertIncomeBalanceTypeFromAccountType(SLAccount.AcctType); + + SLAccountStaging.Insert(); + until SLAccount.Next() = 0; + end; + + internal procedure ConvertAccountCategoryFromAcctType(SLAccountType: Text[2]): Integer + begin + case (SLAccountType.Trim().Substring(2, 1)) of + 'A': + exit(1); + 'L': + exit(2); + 'I': + exit(4); + 'E': + exit(6); + end; + end; + + internal procedure ConvertIncomeBalanceTypeFromAccountType(SLAccountType: Text[2]): Boolean + begin + case (SLAccountType.Trim().Substring(2, 1)) of + 'A': + exit(true); + 'L': + exit(true); + 'I': + exit(false); + 'E': + exit(false); + end; + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateFiscalPeriods.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateFiscalPeriods.Codeunit.al new file mode 100644 index 0000000000..f4fb074b12 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/SLTables/SLPopulateFiscalPeriods.Codeunit.al @@ -0,0 +1,361 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +codeunit 47003 "SL Populate Fiscal Periods" +{ + Access = Internal; + + var + SLGLSetup: Record "SL GLSetup"; + NumPeriods: Integer; + BeginFiscalYear: Integer; + + internal procedure CreateFiscalPeriodsFromGLSetup() + var + SLFiscalPeriods: Record "SL Fiscal Periods"; + SLAcctHist: Record "SL AcctHist"; + FPDateBeg: Date; + FPDateEnd: Date; + CurFiscalYear: Integer; + PrevFiscalYear: Integer; + FirstFiscalYear: Integer; + Index: Integer; + IndexYear: Integer; + FiscalPerEnd00: Text[4]; + FiscalPerEnd01: Text[4]; + FiscalPerEnd02: Text[4]; + FiscalPerEnd03: Text[4]; + FiscalPerEnd04: Text[4]; + FiscalPerEnd05: Text[4]; + FiscalPerEnd06: Text[4]; + FiscalPerEnd07: Text[4]; + FiscalPerEnd08: Text[4]; + FiscalPerEnd09: Text[4]; + FiscalPerEnd10: Text[4]; + FiscalPerEnd11: Text[4]; + FiscalPerEnd12: Text[4]; + YearPeriod: Text[6]; + begin + // initialize variables + NumPeriods := 0; + CurFiscalYear := 1999; + FirstFiscalYear := 1999; + IndexYear := 0; + + SLGLSetup.Reset(); + if SLGLSetup.FindFirst() then begin + Evaluate(CurFiscalYear, SLGLSetup.PerNbr.Substring(1, 4)); + Evaluate(PrevFiscalYear, SLGLSetup.PerNbr.Substring(1, 4)); + PrevFiscalYear := PrevFiscalYear - 1; + NumPeriods := SLGLSetup.NbrPer; + BeginFiscalYear := SLGLSetup.BegFiscalYr; + FiscalPerEnd00 := SLGLSetup.FiscalPerEnd00; + FiscalPerEnd01 := SLGLSetup.FiscalPerEnd01; + FiscalPerEnd02 := SLGLSetup.FiscalPerEnd02; + FiscalPerEnd03 := SLGLSetup.FiscalPerEnd03; + FiscalPerEnd04 := SLGLSetup.FiscalPerEnd04; + FiscalPerEnd05 := SLGLSetup.FiscalPerEnd05; + FiscalPerEnd06 := SLGLSetup.FiscalPerEnd06; + FiscalPerEnd07 := SLGLSetup.FiscalPerEnd07; + FiscalPerEnd08 := SLGLSetup.FiscalPerEnd08; + FiscalPerEnd09 := SLGLSetup.FiscalPerEnd09; + FiscalPerEnd10 := SLGLSetup.FiscalPerEnd10; + FiscalPerEnd11 := SLGLSetup.FiscalPerEnd11; + FiscalPerEnd12 := SLGLSetup.FiscalPerEnd12; + end else begin + Message('SL GL Setup not migrated. Please migrate this record'); + exit; + end; + SLAcctHist.Reset(); + SLAcctHist.SetCurrentKey(FiscYr); + if SLAcctHist.FindFirst() then + Evaluate(FirstFiscalYear, SLAcctHist.FiscYr) + else + FirstFiscalYear := CurFiscalYear; + SLAcctHist.Reset(); + IndexYear := FirstFiscalYear; + SLFiscalPeriods.Reset(); + SLFiscalPeriods.DeleteAll(); + Commit(); + while IndexYear <= CurFiscalYear do begin + Index := 1; + while Index <= NumPeriods do begin + case Index of + 1: + begin + YearPeriod := Format(IndexYear) + '01'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 01; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 2: + begin + YearPeriod := Format(IndexYear) + '02'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 02; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 3: + begin + YearPeriod := Format(IndexYear) + '03'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 03; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 4: + begin + YearPeriod := Format(IndexYear) + '04'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 04; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 5: + begin + YearPeriod := Format(IndexYear) + '05'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 05; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 6: + begin + YearPeriod := Format(IndexYear) + '06'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 06; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 7: + begin + YearPeriod := Format(IndexYear) + '07'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 07; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 8: + begin + YearPeriod := Format(IndexYear) + '08'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 08; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 9: + begin + YearPeriod := Format(IndexYear) + '09'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 09; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 10: + begin + YearPeriod := Format(IndexYear) + '10'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 10; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 11: + begin + YearPeriod := Format(IndexYear) + '11'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 11; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 12: + begin + YearPeriod := Format(IndexYear) + '12'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 12; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + 13: + begin + YearPeriod := Format(IndexYear) + '13'; + FPDateBeg := GetCalendarBegDateOfGLPeriod(YearPeriod); + FPDateEnd := GetCalendarEndDateOfGLPeriod(YearPeriod); + SLFiscalPeriods.PeriodID := 13; + SLFiscalPeriods.Year1 := IndexYear; + SLFiscalPeriods.PeriodDT := FPDateBeg; + SLFiscalPeriods.PerEndDT := FPDateEnd; + SLFiscalPeriods.Insert(); + end; + end; + Commit(); + Index := Index + 1; + end; + IndexYear := IndexYear + 1; + end; + end; + + internal procedure GetCalendarBegDateOfGLPeriod(GLPeriod: Text[6]): Date + var + FPDateEnd: Date; + CurYear: Integer; + PrevYear: Integer; + PrevMonthVal: Integer; + CurMonth: Integer; + CurMonthStr: Text[2]; + FiscPerStr: Text[6]; + NumPeriodsTxt: Text[2]; + PrevMonthStr: Text[2]; + begin + Evaluate(CurYear, GLPeriod.Substring(1, 4)); + PrevYear := CurYear - 1; + CurMonthStr := GLPeriod.Substring(5, 2); + NumPeriodsTxt := Format(NumPeriods); + PrevMonthVal := 0; + + if CurMonthStr = '01' then begin + if StrLen(NumPeriodsTxt.Trim()) = 1 then + PrevMonthStr := '0' + NumPeriodsTxt.Trim() + else + PrevMonthStr := NumPeriodsTxt; + FiscPerStr := Format(PrevYear) + PrevMonthStr; + end else begin + Evaluate(CurMonth, CurMonthStr); + PrevMonthVal := CurMonth - 1; + PrevMonthStr := Format(PrevMonthVal); + + if StrLen(PrevMonthStr.Trim()) = 1 then + PrevMonthStr := '0' + PrevMonthStr.Trim(); + FiscPerStr := Format(CurYear) + PrevMonthStr; + end; + + FPDateEnd := GetCalendarEndDateOfGLPeriod(FiscPerStr); + exit(FPDateEnd); + end; + + internal procedure GetCalendarEndDateOfGLPeriod(GLPeriod: Text[6]): Date + var + PeriodList: Record SLPeriodListWrkTbl; + FPDateEnd: Date; + I: Integer; + LocYear: Integer; + PeriodOfMaxMD: Integer; + MaxMonthDay: Text[4]; + ReturnDate: Text[10]; + begin + I := 1; + LocYear := 1999; + FPDateEnd := 19990101D; + if not PeriodList.FindFirst() then + while I <= NumPeriods do begin + PeriodList.period := I; + case I of + 1: + PeriodList.md := SLGLSetup.FiscalPerEnd00; + 2: + PeriodList.md := SLGLSetup.FiscalPerEnd01; + 3: + PeriodList.md := SLGLSetup.FiscalPerEnd02; + 4: + PeriodList.md := SLGLSetup.FiscalPerEnd03; + 5: + PeriodList.md := SLGLSetup.FiscalPerEnd04; + 6: + PeriodList.md := SLGLSetup.FiscalPerEnd05; + 7: + PeriodList.md := SLGLSetup.FiscalPerEnd06; + 8: + PeriodList.md := SLGLSetup.FiscalPerEnd07; + 9: + PeriodList.md := SLGLSetup.FiscalPerEnd08; + 10: + PeriodList.md := SLGLSetup.FiscalPerEnd09; + 11: + PeriodList.md := SLGLSetup.FiscalPerEnd10; + 12: + PeriodList.md := SLGLSetup.FiscalPerEnd11; + else + PeriodList.md := SLGLSetup.FiscalPerEnd12; + end; + + PeriodList.Insert(); + Commit(); + I += 1; + end; + + Evaluate(LocYear, GLPeriod.Substring(1, 4)); + + PeriodList.Reset(); + PeriodList.SetCurrentKey(md); + if PeriodList.Find('+') then begin + MaxMonthDay := PeriodList.md; + PeriodOfMaxMD := PeriodList.period; + end; + + PeriodList.Reset(); + if PeriodList.FindSet() then + repeat + if PeriodList.period <= PeriodOfMaxMD then begin + if BeginFiscalYear = 1 then + PeriodList.year := Format(LocYear) + else + PeriodList.year := Format(LocYear - 1); + end else + if BeginFiscalYear = 1 then + PeriodList.year := Format(LocYear + 1) + else + PeriodList.year := Format(LocYear); + PeriodList.Modify(); + Commit(); + until PeriodList.Next() = 0; + + PeriodList.Reset(); + PeriodList.SetFilter(period, GLPeriod.Substring(5, 2)); + if PeriodList.FindFirst() then begin + ReturnDate := PeriodList.year + '-' + PeriodList.md.Substring(1, 2) + '-' + PeriodList.md.Substring(3, 2); + Evaluate(FPDateEnd, ReturnDate); + end; + exit(FPDateEnd); + end; +} diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLAccountStagingSetup.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLAccountStagingSetup.Table.al new file mode 100644 index 0000000000..e6c3ca0c3a --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLAccountStagingSetup.Table.al @@ -0,0 +1,90 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47018 "SL Account Staging Setup" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; Id; Integer) + { + AutoIncrement = true; + DataClassification = SystemMetadata; + } + field(2; SalesAccount; Code[20]) + { + } + field(3; SalesLineDiscAccount; Code[20]) + { + } + field(4; SalesInvDiscAccount; Code[20]) + { + } + field(5; SalesPmtDiscDebitAccount; Code[20]) + { + } + field(6; PurchAccount; Code[20]) + { + } + field(7; PurchInvDiscAccount; Code[20]) + { + } + field(8; PurchLineDiscAccount; Code[20]) + { + } + field(9; COGSAccount; Code[20]) + { + } + field(10; InventoryAdjmtAccount; Code[20]) + { + } + field(11; SalesCreditMemoAccount; Code[20]) + { + } + field(12; PurchPmtDiscDebitAcc; Code[20]) + { + } + field(13; PurchPrepaymentsAccount; Code[20]) + { + } + field(14; PurchaseVarianceAccount; Code[20]) + { + } + field(15; InventoryAccount; Code[20]) + { + } + field(16; ReceivablesAccount; Code[20]) + { + } + field(17; ServiceChargeAccount; Code[20]) + { + } + field(18; PaymentDiscDebitAccount; Code[20]) + { + } + field(19; PayablesAccount; Code[20]) + { + } + field(20; PurchServiceChargeAccount; Code[20]) + { + } + field(21; PurchPmtDiscDebitAccount; Code[20]) + { + } + } + + keys + { + key(Key1; Id) + { + Clustered = true; + } + } +} diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLCodes.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLCodes.Table.al new file mode 100644 index 0000000000..7a1392c623 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLCodes.Table.al @@ -0,0 +1,34 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47019 "SL Codes" +{ + Access = Internal; + DataClassification = SystemMetadata; + ReplicateData = false; + + fields + { + field(1; Id; Text[20]) + { + } + field(2; Name; Text[50]) + { + } + field(3; Description; Text[50]) + { + } + } + + keys + { + key(Key1; Id, Name) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLFlexDef.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLFlexDef.Table.al new file mode 100644 index 0000000000..f8b0bd4f77 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLFlexDef.Table.al @@ -0,0 +1,313 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47043 "SL FlexDef" +{ + Access = Internal; + Caption = 'SL FlexDef'; + DataClassification = CustomerContent; + + fields + { + field(1; Align00; Text[1]) + { + Caption = 'Align00'; + } + field(2; Align01; Text[1]) + { + Caption = 'Align01'; + } + field(3; Align02; Text[1]) + { + Caption = 'Align02'; + } + field(4; Align03; Text[1]) + { + Caption = 'Align03'; + } + field(5; Align04; Text[1]) + { + Caption = 'Align04'; + } + field(6; Align05; Text[1]) + { + Caption = 'Align05'; + } + field(7; Align06; Text[1]) + { + Caption = 'Align06'; + } + field(8; Align07; Text[1]) + { + Caption = 'Align07'; + } + field(9; Caption; Text[31]) + { + Caption = 'Caption'; + } + field(10; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(11; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(12; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(13; Descr00; Text[15]) + { + Caption = 'Descr00'; + } + field(14; Descr01; Text[15]) + { + Caption = 'Descr01'; + } + field(15; Descr02; Text[15]) + { + Caption = 'Descr02'; + } + field(16; Descr03; Text[15]) + { + Caption = 'Descr03'; + } + field(17; Descr04; Text[15]) + { + Caption = 'Descr04'; + } + field(18; Descr05; Text[15]) + { + Caption = 'Descr05'; + } + field(19; Descr06; Text[15]) + { + Caption = 'Descr06'; + } + field(20; Descr07; Text[15]) + { + Caption = 'Descr07'; + } + field(21; EditMask00; Text[1]) + { + Caption = 'EditMask00'; + } + field(22; EditMask01; Text[1]) + { + Caption = 'EditMask01'; + } + field(23; EditMask02; Text[1]) + { + Caption = 'EditMask02'; + } + field(24; EditMask03; Text[1]) + { + Caption = 'EditMask03'; + } + field(25; EditMask04; Text[1]) + { + Caption = 'EditMask04'; + } + field(26; EditMask05; Text[1]) + { + Caption = 'EditMask05'; + } + field(27; EditMask06; Text[1]) + { + Caption = 'EditMask06'; + } + field(28; EditMask07; Text[1]) + { + Caption = 'EditMask07'; + } + field(29; fieldclass; Text[3]) + { + Caption = 'fieldclass'; + } + field(30; FieldClassName; Text[15]) + { + Caption = 'FieldClassName'; + } + field(31; FillChar00; Text[1]) + { + Caption = 'FillChar00'; + } + field(32; FillChar01; Text[1]) + { + Caption = 'FillChar01'; + } + field(33; FillChar02; Text[1]) + { + Caption = 'FillChar02'; + } + field(34; FillChar03; Text[1]) + { + Caption = 'FillChar03'; + } + field(35; FillChar04; Text[1]) + { + Caption = 'FillChar04'; + } + field(36; FillChar05; Text[1]) + { + Caption = 'FillChar05'; + } + field(37; FillChar06; Text[1]) + { + Caption = 'FillChar06'; + } + field(38; FillChar07; Text[1]) + { + Caption = 'FillChar07'; + } + field(39; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(40; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(41; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(42; MaxFieldLen; Integer) + { + Caption = 'MaxFieldLen'; + } + field(43; MaxSegments; Integer) + { + Caption = 'MaxSegments'; + } + field(44; NumberSegments; Integer) + { + Caption = 'NumberSegments'; + } + field(45; SegLength00; Integer) + { + Caption = 'SegLength00'; + } + field(46; SegLength01; Integer) + { + Caption = 'SegLength01'; + } + field(47; SegLength02; Integer) + { + Caption = 'SegLength02'; + } + field(48; SegLength03; Integer) + { + Caption = 'SegLength03'; + } + field(49; SegLength04; Integer) + { + Caption = 'SegLength04'; + } + field(50; SegLength05; Integer) + { + Caption = 'SegLength05'; + } + field(51; SegLength06; Integer) + { + Caption = 'SegLength06'; + } + field(52; SegLength07; Integer) + { + Caption = 'SegLength07'; + } + field(53; Seperator00; Text[1]) + { + Caption = 'Seperator00'; + } + field(54; Seperator01; Text[1]) + { + Caption = 'Seperator01'; + } + field(55; Seperator02; Text[1]) + { + Caption = 'Seperator02'; + } + field(56; Seperator03; Text[1]) + { + Caption = 'Seperator03'; + } + field(57; Seperator04; Text[1]) + { + Caption = 'Seperator04'; + } + field(58; Seperator05; Text[1]) + { + Caption = 'Seperator05'; + } + field(59; Seperator06; Text[1]) + { + Caption = 'Seperator06'; + } + field(60; User1; Text[30]) + { + Caption = 'User1'; + } + field(61; User2; Text[30]) + { + Caption = 'User2'; + } + field(62; User3; Decimal) + { + Caption = 'User3'; + } + field(63; User4; Decimal) + { + Caption = 'User4'; + } + field(64; Validate00; Integer) + { + Caption = 'Validate00'; + } + field(65; Validate01; Integer) + { + Caption = 'Validate01'; + } + field(66; Validate02; Integer) + { + Caption = 'Validate02'; + } + field(67; Validate03; Integer) + { + Caption = 'Validate03'; + } + field(68; Validate04; Integer) + { + Caption = 'Validate04'; + } + field(69; Validate05; Integer) + { + Caption = 'Validate05'; + } + field(70; Validate06; Integer) + { + Caption = 'Validate06'; + } + field(71; Validate07; Integer) + { + Caption = 'Validate07'; + } + field(72; ValidCombosRequired; Integer) + { + Caption = 'ValidCombosRequired'; + } + } + + keys + { + key(Key1; FieldClassName) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLHelperFunctions.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLHelperFunctions.Codeunit.al new file mode 100644 index 0000000000..bdc5eab949 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLHelperFunctions.Codeunit.al @@ -0,0 +1,1114 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.Finance.Dimension; +using Microsoft.Finance.GeneralLedger.Account; +using Microsoft.Finance.GeneralLedger.Ledger; +using Microsoft.Sales.Customer; +using Microsoft.Sales.Receivables; +using Microsoft.Purchases.Vendor; +using Microsoft.Purchases.Payables; +using System.Integration; +using Microsoft.Inventory.Item; +using Microsoft.Inventory.Ledger; +using Microsoft.Inventory.Costing; +using Microsoft.Foundation.PaymentTerms; +using Microsoft.Inventory.Tracking; +using Microsoft.Finance.GeneralLedger.Journal; +using Microsoft.Finance.GeneralLedger.Setup; +using Microsoft.Inventory.Journal; +using Microsoft.Finance.Consolidation; +using Microsoft.Inventory.Location; +using Microsoft.Finance.GeneralLedger.Posting; +using Microsoft.Inventory.Posting; + +codeunit 47023 "SL Helper Functions" +{ + Access = Internal; + Permissions = tabledata "Dimension Set Entry" = rimd, + tabledata "G/L Account" = rimd, + tabledata "G/L Entry" = rimd, + tabledata Customer = rimd, + tabledata "Cust. Ledger Entry" = rimd, + tabledata Dimension = rimd, + tabledata "Dimension Value" = rimd, + tabledata "Detailed Cust. Ledg. Entry" = rimd, + tabledata Vendor = rimd, + tabledata "Vendor Ledger Entry" = rimd, + tabledata "Detailed Vendor Ledg. Entry" = rimd, + tabledata "Data Migration Status" = rimd, + tabledata Item = rimd, + tabledata "Item Ledger Entry" = rimd, + tabledata "Avg. Cost Adjmt. Entry Point" = rimd, + tabledata "Value Entry" = rimd, + tabledata "Item Unit of Measure" = rimd, + tabledata "Payment Terms" = rimd, + tabledata "Payment Term Translation" = rimd, + tabledata "Data Migration Entity" = rimd, + tabledata "Item Tracking Code" = rimd, + tabledata "Gen. Journal Line" = rimd, + tabledata "G/L - Item Ledger Relation" = rimd, + tabledata "G/L Register" = rimd; + + var + SLConfiguration: Record "SL Migration Config"; + PeriodTxt: Label 'Period'; + PostingGroupCodeTxt: Label 'SL', Locked = true; + CustomerBatchNameTxt: Label 'SLCUST', Locked = true; + VendorBatchNameTxt: Label 'SLVEND', Locked = true; + MigrationTypeTxt: Label 'Dynamics SL'; + CloudMigrationTok: Label 'CloudMigration', Locked = true; + GeneralTemplateNameTxt: Label 'GENERAL', Locked = true; + MigrationLogAreaBatchPostingTxt: Label 'Batch Posting', Locked = true; + + internal procedure GetPostingAccountNumber(AccountToGet: Text): Code[20] + var + SLAccountStagingSetup: Record "SL Account Staging Setup"; + begin + if not SLAccountStagingSetup.FindFirst() then + exit(''); + + case AccountToGet of + 'SalesAccount': + exit(SLAccountStagingSetup.SalesAccount); + 'SalesLineDiscAccount': + exit(SLAccountStagingSetup.SalesLineDiscAccount); + 'SalesInvDiscAccount': + exit(SLAccountStagingSetup.SalesInvDiscAccount); + 'SalesPmtDiscDebitAccount': + exit(SLAccountStagingSetup.SalesPmtDiscDebitAccount); + 'PurchAccount': + exit(SLAccountStagingSetup.PurchAccount); + 'PurchInvDiscAccount': + exit(SLAccountStagingSetup.PurchInvDiscAccount); + 'COGSAccount': + exit(SLAccountStagingSetup.COGSAccount); + 'InventoryAdjmtAccount': + exit(SLAccountStagingSetup.InventoryAdjmtAccount); + 'SalesCreditMemoAccount': + exit(SLAccountStagingSetup.SalesCreditMemoAccount); + 'PurchPmtDiscDebitAcc': + exit(SLAccountStagingSetup.PurchPmtDiscDebitAcc); + 'PurchPrepaymentsAccount': + exit(SLAccountStagingSetup.PurchPrepaymentsAccount); + 'PurchaseVarianceAccount': + exit(SLAccountStagingSetup.PurchaseVarianceAccount); + 'InventoryAccount': + exit(SLAccountStagingSetup.InventoryAccount); + 'ReceivablesAccount': + exit(SLAccountStagingSetup.ReceivablesAccount); + 'ServiceChargeAccount': + exit(SLAccountStagingSetup.ServiceChargeAccount); + 'PaymentDiscDebitAccount': + exit(SLAccountStagingSetup.PurchPmtDiscDebitAccount); + 'PayablesAccount': + exit(SLAccountStagingSetup.PayablesAccount); + 'PurchServiceChargeAccount': + exit(SLAccountStagingSetup.PurchServiceChargeAccount); + 'PurchPaymentDiscDebitAccount': + exit(SLAccountStagingSetup.PurchPmtDiscDebitAccount); + end; + end; + + internal procedure GetMigrationTypeTxt(): Text[250] + begin + exit(CopyStr(MigrationTypeTxt, 1, MaxStrLen(MigrationTypeTxt))); + end; + + internal procedure GetNumberOfAccounts(): Integer; + var + SLAccountStaging: Record "SL Account Staging"; + begin + exit(SLAccountStaging.Count()); + end; + + internal procedure GetNumberOfCustomers(): Integer; + var + SLCompanyAdditonalSettings: Record "SL Company Additional Settings"; + SLCustomer: Record "SL Customer"; + begin + if not SLCompanyAdditonalSettings.GetReceivablesModuleEnabled() then + exit(0); + + SLCustomer.SetFilter(Status, '<>%1', 'I'); + if SLCompanyAdditonalSettings.GetMigrateInactiveCustomers() then + SLCustomer.SetFilter(Status, '*'); + + if not SLCustomer.FindSet() then + exit(0); + + exit(SLCustomer.Count()); + end; + + internal procedure GetNumberOfItems(): Integer; + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SLInventory: Record "SL Inventory"; + begin + if not SLCompanyAdditionalSettings.GetInventoryModuleEnabled() then + exit(0); + + SLInventory.SetFilter(TranStatusCode, '<>%1&<>%2', 'IN', 'DE'); + if SLCompanyAdditionalSettings."Migrate Inactive Items" and SLCompanyAdditionalSettings."Migrate Discontinued Items" then + SLInventory.SetFilter(TranStatusCode, '*'); + if SLCompanyAdditionalSettings."Migrate Inactive Items" and not SLCompanyAdditionalSettings."Migrate Discontinued Items" then + SLInventory.SetFilter(TranStatusCode, '<>%1', 'DE'); + if not SLCompanyAdditionalSettings."Migrate Inactive Items" and SLCompanyAdditionalSettings."Migrate Discontinued Items" then + SLInventory.SetFilter(TranStatusCode, '<>%1', 'IN'); + + if not SLInventory.FindSet() then + exit(0); + + exit(SLInventory.Count()); + end; + + internal procedure GetNumberOfVendors(): Integer; + var + SLVendor: Record "SL Vendor"; + SLCompanyAdditonalSettings: Record "SL Company Additional Settings"; + begin + if not SLCompanyAdditonalSettings.GetPayablesModuleEnabled() then + exit(0); + + SLVendor.SetFilter(Status, '<>%1', 'I'); + if SLCompanyAdditonalSettings.GetMigrateInactiveVendors() then + SLVendor.SetFilter(Status, '*'); + + if not SLVendor.FindSet() then + exit(0); + + exit(SLVendor.Count()); + end; + + internal procedure NameFlip(Value: Text): Text + var + LastChar: Integer; + TildeChar: Integer; + FirstName: Text; + LastName: Text; + begin + TildeChar := StrPos(Value, '~'); + if TildeChar > 0 then begin + LastChar := StrLen(Value.TrimEnd()); + FirstName := CopyStr(Value, TildeChar + 1, LastChar - TildeChar); + LastName := CopyStr(Value, 1, TildeChar - 1); + Value := FirstName + ' ' + LastName; + end; + exit(Value.TrimEnd()); + end; + + internal procedure ConvertAccountCategory(SLAccountStaging: Record "SL Account Staging"): Option + var + AccountCategoryType: Option ,Assets,Liabilities,Equity,Income,"Cost of Goods Sold",Expense; + begin + case SLAccountStaging.AccountCategory of + 1: + exit(AccountCategoryType::Assets); + 2: + exit(AccountCategoryType::Liabilities); + 4: + exit(AccountCategoryType::Income); + 6: + exit(AccountCategoryType::Expense); + end; + end; + + internal procedure ConvertDebitCreditType(SLAccountStaging: Record "SL Account Staging"): Option + var + DebitCreditType: Option Both,Debit,Credit; + begin + if SLAccountStaging.DebitCredit = 0 then + exit(DebitCreditType::Both); + + exit(DebitCreditType::Both); + end; + + internal procedure ConvertIncomeBalanceType(SLAccountStaging: Record "SL Account Staging"): Option + var + IncomeBalanceType: Option "Income Statement","Balance Sheet"; + begin + if SLAccountStaging.IncomeBalance then + exit(IncomeBalanceType::"Balance Sheet"); + + exit(IncomeBalanceType::"Income Statement"); + end; + + internal procedure ResetAdjustforPaymentInGLSetup(var Flag: Boolean); + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + if GeneralLedgerSetup.FindFirst() then + if Flag then begin + Flag := false; + GeneralLedgerSetup."Adjust for Payment Disc." := false; + GeneralLedgerSetup.Modify(); + end else + if not GeneralLedgerSetup."Adjust for Payment Disc." then begin + Flag := true; + GeneralLedgerSetup."Adjust for Payment Disc." := true; + GeneralLedgerSetup.Modify(); + end; + end; + + internal procedure CreateDimensions() + var + SLSegments: Record "SL Segments"; + Dimension: Record Dimension; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + DimCode: Code[20]; + begin + if SLSegments.FindSet() then begin + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLSegments.RecordId())); + DimCode := CheckDimensionName(SLSegments.Id); + if not Dimension.Get(DimCode) then begin + Dimension.Init(); + Dimension.Validate(Code, DimCode); + Dimension.Validate(Name, SLSegments.Name); + Dimension.Validate("Code Caption", SLSegments.CodeCaption); + Dimension.Validate("Filter Caption", SLSegments.FilterCaption); + Dimension.Insert(); + end; + until SLSegments.Next() = 0; + + CreateDimensionValues(); + end; + + Session.LogMessage('0000BBF', 'Created Dimensions', Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', GetTelemetryCategory()); + SetDimensionsCreated(); + end; + + internal procedure CheckDimensionName(Name: Text[50]): Code[20] + var + GLAccount: Record "G/L Account"; + BusinessUnit: Record "Business Unit"; + Item: Record Item; + Location: Record Location; + begin + if ((UpperCase(Name) = UpperCase(GLAccount.TableCaption)) or + (UpperCase(Name) = UpperCase(BusinessUnit.TableCaption)) or + (UpperCase(Name) = UpperCase(Item.TableCaption)) or + (UpperCase(Name) = UpperCase(Location.TableCaption)) or + (UpperCase(Name) = UpperCase(PeriodTxt))) then + exit(CopyStr(Name + 's', 1, 20)); + + exit(CopyStr(Name, 1, 20)); + end; + + internal procedure CreateDimensionValues() + var + SLCodes: Record "SL Codes"; + DimensionValue: Record "Dimension Value"; + DimCode: Code[20]; + begin + SLCodes.SetFilter(SLCodes.Name, '<> %1', ''); + if SLCodes.FindSet() then + repeat + DimCode := CheckDimensionName(SLCodes.Id); + if not DimensionValue.Get(DimCode, SLCodes.Name) then begin + DimensionValue.Init(); + DimensionValue.Validate("Dimension Code", DimCode); + DimensionValue.Validate(Code, SLCodes.Name); + DimensionValue.Validate(Name, SLCodes.Description); + DimensionValue.Insert(true); + end; + until SLCodes.Next() = 0; + end; + + internal procedure GetTelemetryCategory(): Text + begin + exit(CloudMigrationTok); + end; + + internal procedure SetDimensionsCreated() + begin + SLConfiguration.GetSingleInstance(); + SLConfiguration."Dimensions Created" := true; + SLConfiguration.Modify(); + end; + + internal procedure PostGLTransactions(); + var + GenJournalLine: Record "Gen. Journal Line"; + GenJournalBatch: Record "Gen. Journal Batch"; + ItemJournalLine: Record "Item Journal Line"; + ItemJournalBatch: Record "Item Journal Batch"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + DurationAsInt: BigInteger; + SkipPosting: Boolean; + StartTime: DateTime; + FinishedTelemetryTxt: Label 'Posting GL transactions finished; Duration: %1', Comment = '%1 - The time taken', Locked = true; + JournalBatchName: Text; + begin + StartTime := CurrentDateTime(); + Session.LogMessage('00007GJ', 'Posting GL transactions started.', Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', GetTelemetryCategory()); + + SkipPosting := SLCompanyAdditionalSettings.GetSkipAllPosting(); + OnSkipPostingGLAccounts(SkipPosting); + if SkipPosting then + exit; + + // Item batches + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingItemBatches(); + OnSkipPostingItemBatches(SkipPosting); + if not SkipPosting then + if ItemJournalBatch.FindSet() then + repeat + ItemJournalLine.SetRange("Journal Template Name", ItemJournalBatch."Journal Template Name"); + ItemJournalLine.SetRange("Journal Batch Name", ItemJournalBatch.Name); + ItemJournalLine.SetFilter("Item No.", '<>%1', ''); + if not ItemJournalLine.IsEmpty() then + SafePostItemBatch(ItemJournalBatch); + until ItemJournalBatch.Next() = 0; + // Account batches + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingAccountBatches(); + OnSkipPostingAccountBatches(SkipPosting); + if not SkipPosting then begin + // Post the Account batches + GenJournalBatch.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalBatch.SetFilter(Name, PostingGroupCodeTxt + '*'); + if GenJournalBatch.FindSet() then + repeat + if (GenJournalBatch.Name <> CustomerBatchNameTxt) and (GenJournalBatch.Name <> VendorBatchNameTxt) then begin + JournalBatchName := GenJournalBatch.Name; + GenJournalLine.Reset(); + GenJournalLine.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalLine.SetRange("Journal Batch Name", JournalBatchName); + if not GenJournalLine.IsEmpty() then + SafePostGLBatch(CopyStr(JournalBatchName, 1, 10)); + end; + until GenJournalBatch.Next() = 0; + end; + + // Customer batches + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingCustomerBatches(); + OnSkipPostingCustomerBatches(SkipPosting); + if not SkipPosting then begin + // Post the Customer Batch, if created... + JournalBatchName := CustomerBatchNameTxt; + GenJournalLine.Reset(); + GenJournalLine.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalLine.SetRange("Journal Batch Name", JournalBatchName); + if not GenJournalLine.IsEmpty() then + SafePostGLBatch(CopyStr(JournalBatchName, 1, 10)); + end; + + // Vendor batches + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingVendorBatches(); + OnSkipPostingVendorBatches(SkipPosting); + if not SkipPosting then begin + // Post the Vendor Batch, if created... + JournalBatchName := VendorBatchNameTxt; + GenJournalLine.Reset(); + GenJournalLine.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalLine.SetRange("Journal Batch Name", JournalBatchName); + if not GenJournalLine.IsEmpty() then + SafePostGLBatch(CopyStr(JournalBatchName, 1, 10)); + end; + RemoveBatches(); + DurationAsInt := CurrentDateTime() - StartTime; + Session.LogMessage('00007GK', StrSubstNo(FinishedTelemetryTxt, DurationAsInt), Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', GetTelemetryCategory()); + end; + + internal procedure SafePostItemBatch(ItemJournalBatch: Record "Item Journal Batch") + var + ItemJournalLine: Record "Item Journal Line"; + begin + ItemJournalLine.SetRange("Journal Template Name", ItemJournalBatch."Journal Template Name"); + ItemJournalLine.SetRange("Journal Batch Name", ItemJournalBatch.Name); + if ItemJournalLine.FindFirst() then begin + // Commit is required to safely handle errors that may occur during posting. + Commit(); + if not Codeunit.Run(Codeunit::"Item Jnl.-Post Batch", ItemJournalLine) then + LogWarningAndClearLastError(ItemJournalBatch.Name); + end; + end; + + internal procedure SafePostGLBatch(JournalBatchName: Code[10]) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + GenJournalLine.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalLine.SetRange("Journal Batch Name", JournalBatchName); + if GenJournalLine.FindFirst() then begin + // Commit is required to safely handle errors that may occur during posting. + Commit(); + if not Codeunit.Run(Codeunit::"Gen. Jnl.-Post Batch", GenJournalLine) then + LogWarningAndClearLastError(JournalBatchName); + end; + end; + + internal procedure RemoveBatches(); + var + GenJournalLine: Record "Gen. Journal Line"; + GenJournalBatch: Record "Gen. Journal Batch"; + ItemJournalBatch: Record "Item Journal Batch"; + ItemJournalLine: Record "Item Journal Line"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SkipPosting: Boolean; + JournalBatchName: Text; + begin + SkipPosting := SLCompanyAdditionalSettings.GetSkipAllPosting(); + OnSkipPostingGLAccounts(SkipPosting); + if SkipPosting then + exit; + // Account Batches + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingAccountBatches(); + OnSkipPostingAccountBatches(SkipPosting); + if not SkipPosting then begin + // GL + GenJournalBatch.SetRange("Journal Template Name", GeneralTemplateNameTxt); + + if GenJournalBatch.FindSet() then + repeat + if StrPos(GenJournalBatch.Name, PostingGroupCodeTxt) = 1 then + if (GenJournalBatch.Name <> CustomerBatchNameTxt) and (GenJournalBatch.Name <> VendorBatchNameTxt) then + if not GLBatchHasLines(GeneralTemplateNameTxt, GenJournalBatch.Name, GenJournalLine."Account Type"::"G/L Account") then begin + GenJournalLine.Reset(); + GenJournalLine.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalLine.SetRange("Journal Batch Name", GenJournalBatch.Name); + GenJournalLine.SetRange("Account Type", GenJournalLine."Account Type"::"G/L Account"); + GenJournalLine.SetRange("Account No.", ''); + if GenJournalLine.Count() <= 1 then begin + GenJournalLine.DeleteAll(); + GenJournalBatch.Delete(); + end + end; + until GenJournalBatch.Next() = 0; + end; + + // Customer Batch + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingCustomerBatches(); + OnSkipPostingCustomerBatches(SkipPosting); + if not SkipPosting then begin + JournalBatchName := CustomerBatchNameTxt; + if not GLBatchHasLines(GeneralTemplateNameTxt, CopyStr(JournalBatchName, 1, MaxStrLen(CustomerBatchNameTxt)), GenJournalLine."Account Type"::Customer) then begin + GenJournalLine.Reset(); + GenJournalLine.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalLine.SetRange("Journal Batch Name", JournalBatchName); + GenJournalLine.SetRange("Account Type", GenJournalLine."Account Type"::Customer); + GenJournalLine.SetRange("Account No.", ''); + if GenJournalLine.Count() <= 1 then begin + GenJournalLine.DeleteAll(); + if GenJournalBatch.Get(GeneralTemplateNameTxt, JournalBatchName) then + GenJournalBatch.Delete(); + end; + end; + end; + // Vendor Batch + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingVendorBatches(); + OnSkipPostingVendorBatches(SkipPosting); + if not SkipPosting then begin + JournalBatchName := VendorBatchNameTxt; + if not GLBatchHasLines(GeneralTemplateNameTxt, CopyStr(JournalBatchName, 1, MaxStrLen(VendorBatchNameTxt)), GenJournalLine."Account Type"::Vendor) then begin + GenJournalLine.Reset(); + GenJournalLine.SetRange("Journal Template Name", GeneralTemplateNameTxt); + GenJournalLine.SetRange("Journal Batch Name", JournalBatchName); + GenJournalLine.SetRange("Account Type", GenJournalLine."Account Type"::Vendor); + GenJournalLine.SetRange("Account No.", ''); + if GenJournalLine.Count() <= 1 then begin + GenJournalLine.DeleteAll(); + if GenJournalBatch.Get(GeneralTemplateNameTxt, JournalBatchName) then + GenJournalBatch.Delete(); + end; + end; + end; + // Item batches + SkipPosting := SLCompanyAdditionalSettings.GetSkipPostingItemBatches(); + OnSkipPostingItemBatches(SkipPosting); + if not SkipPosting then + if ItemJournalBatch.FindSet() then + repeat + ItemJournalLine.SetRange("Journal Template Name", ItemJournalBatch."Journal Template Name"); + ItemJournalLine.SetRange("Journal Batch Name", ItemJournalBatch.Name); + ItemJournalLine.SetFilter("Item No.", '<>%1', ''); + if ItemJournalLine.IsEmpty() then + ItemJournalBatch.Delete(); + until ItemJournalBatch.Next() = 0; + end; + + internal procedure LogWarningAndClearLastError(ContextValue: Text[50]) + var + SLMigrationWarnings: Record "SL Migration Warnings"; + WarningText: Text[500]; + begin + WarningText := CopyStr(GetLastErrorText(false), 1, MaxStrLen(WarningText)); + SLMigrationWarnings.InsertWarning(MigrationLogAreaBatchPostingTxt, ContextValue, WarningText); + ClearLastError(); + end; + + internal procedure GLBatchHasLines(TemplateName: Code[10]; BatchName: Code[10]; AccountType: Enum "Gen. Journal Account Type"): Boolean + var + GenJournalLine: Record "Gen. Journal Line"; + begin + GenJournalLine.SetRange("Journal Template Name", TemplateName); + GenJournalLine.SetRange("Journal Batch Name", BatchName); + GenJournalLine.SetRange("Account Type", AccountType); + GenJournalLine.SetFilter("Account No.", '<>%1', ''); + exit(not GenJournalLine.IsEmpty()); + end; + + internal procedure SetGlobalDimensions(GlobalDim1: Code[20]; GlobalDim2: Code[20]) + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + if not GeneralLedgerSetup.IsEmpty() then + GeneralLedgerSetup.Get(); + + CheckPluralization(GlobalDim1); + CheckPluralization(GlobalDim2); + + if GlobalDim1 <> '' then begin + GeneralLedgerSetup."Global Dimension 1 Code" := GlobalDim1; + GeneralLedgerSetup."Shortcut Dimension 1 Code" := GlobalDim1; + end; + + if GlobalDim2 <> '' then begin + GeneralLedgerSetup."Global Dimension 2 Code" := GlobalDim2; + GeneralLedgerSetup."Shortcut Dimension 2 Code" := GlobalDim2; + end; + + if (GlobalDim1 <> '') or (GlobalDim2 <> '') then + GeneralLedgerSetup.Modify(); + + SetShorcutDimenions(); + end; + + internal procedure CheckPluralization(var GlobalDim: Code[20]) + var + Dim: Code[21]; + begin + if GlobalDim in ['G/L ACCOUNT', 'BUSINESS UNIT', 'ITEM', 'LOCATION', 'PERIOD'] then begin + Dim := GlobalDim + 'S'; + GlobalDim := CopyStr(Dim, 1, 20); + end; + end; + + internal procedure SetShorcutDimenions() + var + GeneralLedgerSetup: Record "General Ledger Setup"; + SLSegments: Record "SL Segments"; + Modified: Boolean; + i: Integer; + begin + i := 1; + Modified := false; + GeneralLedgerSetup.Get(); + SLSegments.SetCurrentKey(SLSegments.SegmentNumber); + SLSegments.Ascending(true); + if SLSegments.FindSet() then + repeat + if (SLSegments.Id <> GeneralLedgerSetup."Global Dimension 1 Code") and (SLSegments.Id <> GeneralLedgerSetup."Global Dimension 2 Code") then begin + case i of + 1: + GeneralLedgerSetup."Shortcut Dimension 3 Code" := SLSegments.Id; + 2: + GeneralLedgerSetup."Shortcut Dimension 4 Code" := SLSegments.Id; + 3: + GeneralLedgerSetup."Shortcut Dimension 5 Code" := SLSegments.Id; + 4: + GeneralLedgerSetup."Shortcut Dimension 6 Code" := SLSegments.Id; + 5: + GeneralLedgerSetup."Shortcut Dimension 7 Code" := SLSegments.Id; + 6: + GeneralLedgerSetup."Shortcut Dimension 8 Code" := SLSegments.Id; + end; + Modified := true; + i := i + 1; + end; + until SLSegments.Next() = 0; + if Modified then + GeneralLedgerSetup.Modify(); + end; + + internal procedure UpdateGlobalDimensionNo() + var + DimensionValue: Record "Dimension Value"; + begin + if DimensionValue.FindSet() then + repeat + DimensionValue."Global Dimension No." := GetGlobalDimensionNo(DimensionValue."Dimension Code"); + DimensionValue.Modify(); + until DimensionValue.Next() = 0; + end; + + internal procedure GetGlobalDimensionNo(DimensionCode: Code[20]): Integer + var + GeneralLedgerSetup: Record "General Ledger Setup"; + begin + GeneralLedgerSetup.Get(); + case DimensionCode of + GeneralLedgerSetup."Global Dimension 1 Code": + exit(1); + GeneralLedgerSetup."Global Dimension 2 Code": + exit(2); + GeneralLedgerSetup."Shortcut Dimension 3 Code": + exit(3); + GeneralLedgerSetup."Shortcut Dimension 4 Code": + exit(4); + GeneralLedgerSetup."Shortcut Dimension 5 Code": + exit(5); + GeneralLedgerSetup."Shortcut Dimension 6 Code": + exit(6); + GeneralLedgerSetup."Shortcut Dimension 7 Code": + exit(7); + GeneralLedgerSetup."Shortcut Dimension 8 Code": + exit(8); + else + exit(0); + end; + end; + + internal procedure SetProcessesRunning(IsRunning: Boolean) + var + SLCmpnyMigratnSettings: Record "SL Company Migration Settings"; + begin + SLCmpnyMigratnSettings.SetRange(Replicate, true); + SLCmpnyMigratnSettings.SetRange(Name, CompanyName()); + if SLCmpnyMigratnSettings.FindFirst() then begin + SLCmpnyMigratnSettings.ProcessesAreRunning := IsRunning; + SLCmpnyMigratnSettings.Modify(); + end; + end; + + internal procedure CreateItemTrackingCodes() + var + ItemTrackingCode: Record "Item Tracking Code"; + begin + ItemTrackingCode.Init(); + ItemTrackingCode.Code := 'LOTRCVDEXP'; + ItemTrackingCode.Description := 'Lot When Received, Expiration'; + ItemTrackingCode."Man. Warranty Date Entry Reqd." := false; + ItemTrackingCode."Man. Expir. Date Entry Reqd." := true; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."SN Specific Tracking" := false; + ItemTrackingCode."SN Info. Inbound Must Exist" := false; + ItemTrackingCode."SN Info. Outbound Must Exist" := false; + ItemTrackingCode."SN Warehouse Tracking" := false; + ItemTrackingCode."SN Purchase Inbound Tracking" := false; + ItemTrackingCode."SN Purchase Outbound Tracking" := false; + ItemTrackingCode."SN Sales Inbound Tracking" := false; + ItemTrackingCode."SN Sales Outbound Tracking" := false; + ItemTrackingCode."SN Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Pos. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."SN Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Neg. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."SN Transfer Tracking" := false; + ItemTrackingCode."SN Manuf. Inbound Tracking" := false; + ItemTrackingCode."SN Manuf. Outbound Tracking" := false; + ItemTrackingCode."SN Assembly Inbound Tracking" := false; + ItemTrackingCode."SN Assembly Outbound Tracking" := false; + ItemTrackingCode."Lot Specific Tracking" := true; + ItemTrackingCode."Lot Info. Inbound Must Exist" := false; + ItemTrackingCode."Lot Info. Outbound Must Exist" := false; + ItemTrackingCode."Lot Warehouse Tracking" := false; + ItemTrackingCode."Lot Purchase Inbound Tracking" := true; + ItemTrackingCode."Lot Purchase Outbound Tracking" := true; + ItemTrackingCode."Lot Sales Inbound Tracking" := true; + ItemTrackingCode."Lot Sales Outbound Tracking" := true; + ItemTrackingCode."Lot Pos. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."Lot Pos. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."Lot Neg. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."Lot Neg. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."Lot Transfer Tracking" := true; + ItemTrackingCode."Lot Manuf. Inbound Tracking" := true; + ItemTrackingCode."Lot Manuf. Outbound Tracking" := true; + ItemTrackingCode."Lot Assembly Inbound Tracking" := true; + ItemTrackingCode."Lot Assembly Outbound Tracking" := true; + + ItemTrackingCode.Insert(true); + + ItemTrackingCode.Init(); + ItemTrackingCode.Code := 'LOTRCVD'; + ItemTrackingCode.Description := 'Lot When Received'; + ItemTrackingCode."Man. Warranty Date Entry Reqd." := false; + ItemTrackingCode."Man. Expir. Date Entry Reqd." := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."SN Specific Tracking" := false; + ItemTrackingCode."SN Info. Inbound Must Exist" := false; + ItemTrackingCode."SN Info. Outbound Must Exist" := false; + ItemTrackingCode."SN Warehouse Tracking" := false; + ItemTrackingCode."SN Purchase Inbound Tracking" := false; + ItemTrackingCode."SN Purchase Outbound Tracking" := false; + ItemTrackingCode."SN Sales Inbound Tracking" := false; + ItemTrackingCode."SN Sales Outbound Tracking" := false; + ItemTrackingCode."SN Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Pos. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."SN Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Neg. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."SN Transfer Tracking" := false; + ItemTrackingCode."SN Manuf. Inbound Tracking" := false; + ItemTrackingCode."SN Manuf. Outbound Tracking" := false; + ItemTrackingCode."SN Assembly Inbound Tracking" := false; + ItemTrackingCode."SN Assembly Outbound Tracking" := false; + ItemTrackingCode."Lot Specific Tracking" := true; + ItemTrackingCode."Lot Info. Inbound Must Exist" := false; + ItemTrackingCode."Lot Info. Outbound Must Exist" := false; + ItemTrackingCode."Lot Warehouse Tracking" := false; + ItemTrackingCode."Lot Purchase Inbound Tracking" := true; + ItemTrackingCode."Lot Purchase Outbound Tracking" := true; + ItemTrackingCode."Lot Sales Inbound Tracking" := true; + ItemTrackingCode."Lot Sales Outbound Tracking" := true; + ItemTrackingCode."Lot Pos. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."Lot Pos. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."Lot Neg. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."Lot Neg. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."Lot Transfer Tracking" := true; + ItemTrackingCode."Lot Manuf. Inbound Tracking" := true; + ItemTrackingCode."Lot Manuf. Outbound Tracking" := true; + ItemTrackingCode."Lot Assembly Inbound Tracking" := true; + ItemTrackingCode."Lot Assembly Outbound Tracking" := true; + + ItemTrackingCode.Insert(true); + + ItemTrackingCode.Init(); + ItemTrackingCode.Code := 'LOTUSED'; + ItemTrackingCode.Description := 'Lot When Used'; + ItemTrackingCode."Man. Warranty Date Entry Reqd." := false; + ItemTrackingCode."Man. Expir. Date Entry Reqd." := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."SN Specific Tracking" := false; + ItemTrackingCode."SN Info. Inbound Must Exist" := false; + ItemTrackingCode."SN Info. Outbound Must Exist" := false; + ItemTrackingCode."SN Warehouse Tracking" := false; + ItemTrackingCode."SN Purchase Inbound Tracking" := false; + ItemTrackingCode."SN Purchase Outbound Tracking" := false; + ItemTrackingCode."SN Sales Inbound Tracking" := false; + ItemTrackingCode."SN Sales Outbound Tracking" := false; + ItemTrackingCode."SN Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Pos. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."SN Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Neg. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."SN Transfer Tracking" := false; + ItemTrackingCode."SN Manuf. Inbound Tracking" := false; + ItemTrackingCode."SN Manuf. Outbound Tracking" := false; + ItemTrackingCode."SN Assembly Inbound Tracking" := false; + ItemTrackingCode."SN Assembly Outbound Tracking" := false; + ItemTrackingCode."Lot Specific Tracking" := false; + ItemTrackingCode."Lot Info. Inbound Must Exist" := false; + ItemTrackingCode."Lot Info. Outbound Must Exist" := false; + ItemTrackingCode."Lot Warehouse Tracking" := false; + ItemTrackingCode."Lot Purchase Inbound Tracking" := false; + ItemTrackingCode."Lot Purchase Outbound Tracking" := false; + ItemTrackingCode."Lot Sales Inbound Tracking" := false; + ItemTrackingCode."Lot Sales Outbound Tracking" := true; + ItemTrackingCode."Lot Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Pos. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."Lot Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Neg. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."Lot Transfer Tracking" := false; + ItemTrackingCode."Lot Manuf. Inbound Tracking" := false; + ItemTrackingCode."Lot Manuf. Outbound Tracking" := true; + ItemTrackingCode."Lot Assembly Inbound Tracking" := false; + ItemTrackingCode."Lot Assembly Outbound Tracking" := true; + + ItemTrackingCode.Insert(true); + + ItemTrackingCode.Init(); + ItemTrackingCode.Code := 'SERRCVDEXP'; + ItemTrackingCode.Description := 'SN When Received, Expiration'; + ItemTrackingCode."Man. Warranty Date Entry Reqd." := false; + ItemTrackingCode."Man. Expir. Date Entry Reqd." := true; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."SN Specific Tracking" := true; + ItemTrackingCode."SN Info. Inbound Must Exist" := false; + ItemTrackingCode."SN Info. Outbound Must Exist" := false; + ItemTrackingCode."SN Warehouse Tracking" := false; + ItemTrackingCode."SN Purchase Inbound Tracking" := true; + ItemTrackingCode."SN Purchase Outbound Tracking" := true; + ItemTrackingCode."SN Sales Inbound Tracking" := true; + ItemTrackingCode."SN Sales Outbound Tracking" := true; + ItemTrackingCode."SN Pos. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."SN Pos. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."SN Neg. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."SN Neg. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."SN Transfer Tracking" := true; + ItemTrackingCode."SN Manuf. Inbound Tracking" := true; + ItemTrackingCode."SN Manuf. Outbound Tracking" := true; + ItemTrackingCode."SN Assembly Inbound Tracking" := true; + ItemTrackingCode."SN Assembly Outbound Tracking" := true; + ItemTrackingCode."Lot Specific Tracking" := false; + ItemTrackingCode."Lot Info. Inbound Must Exist" := false; + ItemTrackingCode."Lot Info. Outbound Must Exist" := false; + ItemTrackingCode."Lot Warehouse Tracking" := false; + ItemTrackingCode."Lot Purchase Inbound Tracking" := false; + ItemTrackingCode."Lot Purchase Outbound Tracking" := false; + ItemTrackingCode."Lot Sales Inbound Tracking" := false; + ItemTrackingCode."Lot Sales Outbound Tracking" := false; + ItemTrackingCode."Lot Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Pos. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."Lot Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Neg. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."Lot Transfer Tracking" := false; + ItemTrackingCode."Lot Manuf. Inbound Tracking" := false; + ItemTrackingCode."Lot Manuf. Outbound Tracking" := false; + ItemTrackingCode."Lot Assembly Inbound Tracking" := false; + ItemTrackingCode."Lot Assembly Outbound Tracking" := false; + + ItemTrackingCode.Insert(true); + + ItemTrackingCode.Init(); + ItemTrackingCode.Code := 'SERRCVD'; + ItemTrackingCode.Description := 'SN When Received'; + ItemTrackingCode."Man. Warranty Date Entry Reqd." := false; + ItemTrackingCode."Man. Expir. Date Entry Reqd." := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."SN Specific Tracking" := true; + ItemTrackingCode."SN Info. Inbound Must Exist" := false; + ItemTrackingCode."SN Info. Outbound Must Exist" := false; + ItemTrackingCode."SN Warehouse Tracking" := false; + ItemTrackingCode."SN Purchase Inbound Tracking" := true; + ItemTrackingCode."SN Purchase Outbound Tracking" := true; + ItemTrackingCode."SN Sales Inbound Tracking" := true; + ItemTrackingCode."SN Sales Outbound Tracking" := true; + ItemTrackingCode."SN Pos. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."SN Pos. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."SN Neg. Adjmt. Inb. Tracking" := true; + ItemTrackingCode."SN Neg. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."SN Transfer Tracking" := true; + ItemTrackingCode."SN Manuf. Inbound Tracking" := true; + ItemTrackingCode."SN Manuf. Outbound Tracking" := true; + ItemTrackingCode."SN Assembly Inbound Tracking" := true; + ItemTrackingCode."SN Assembly Outbound Tracking" := true; + ItemTrackingCode."Lot Specific Tracking" := false; + ItemTrackingCode."Lot Info. Inbound Must Exist" := false; + ItemTrackingCode."Lot Info. Outbound Must Exist" := false; + ItemTrackingCode."Lot Warehouse Tracking" := false; + ItemTrackingCode."Lot Purchase Inbound Tracking" := false; + ItemTrackingCode."Lot Purchase Outbound Tracking" := false; + ItemTrackingCode."Lot Sales Inbound Tracking" := false; + ItemTrackingCode."Lot Sales Outbound Tracking" := false; + ItemTrackingCode."Lot Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Pos. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."Lot Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Neg. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."Lot Transfer Tracking" := false; + ItemTrackingCode."Lot Manuf. Inbound Tracking" := false; + ItemTrackingCode."Lot Manuf. Outbound Tracking" := false; + ItemTrackingCode."Lot Assembly Inbound Tracking" := false; + ItemTrackingCode."Lot Assembly Outbound Tracking" := false; + + ItemTrackingCode.Insert(true); + + ItemTrackingCode.Init(); + ItemTrackingCode.Code := 'SERUSED'; + ItemTrackingCode.Description := 'SN When Used'; + ItemTrackingCode."Man. Warranty Date Entry Reqd." := false; + ItemTrackingCode."Man. Expir. Date Entry Reqd." := false; + ItemTrackingCode."Strict Expiration Posting" := false; + ItemTrackingCode."SN Specific Tracking" := false; + ItemTrackingCode."SN Info. Inbound Must Exist" := false; + ItemTrackingCode."SN Info. Outbound Must Exist" := false; + ItemTrackingCode."SN Warehouse Tracking" := false; + ItemTrackingCode."SN Purchase Inbound Tracking" := false; + ItemTrackingCode."SN Purchase Outbound Tracking" := false; + ItemTrackingCode."SN Sales Inbound Tracking" := false; + ItemTrackingCode."SN Sales Outbound Tracking" := true; + ItemTrackingCode."SN Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Pos. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."SN Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."SN Neg. Adjmt. Outb. Tracking" := true; + ItemTrackingCode."SN Transfer Tracking" := false; + ItemTrackingCode."SN Manuf. Inbound Tracking" := false; + ItemTrackingCode."SN Manuf. Outbound Tracking" := true; + ItemTrackingCode."SN Assembly Inbound Tracking" := false; + ItemTrackingCode."SN Assembly Outbound Tracking" := true; + ItemTrackingCode."Lot Specific Tracking" := false; + ItemTrackingCode."Lot Info. Inbound Must Exist" := false; + ItemTrackingCode."Lot Info. Outbound Must Exist" := false; + ItemTrackingCode."Lot Warehouse Tracking" := false; + ItemTrackingCode."Lot Purchase Inbound Tracking" := false; + ItemTrackingCode."Lot Purchase Outbound Tracking" := false; + ItemTrackingCode."Lot Sales Inbound Tracking" := false; + ItemTrackingCode."Lot Sales Outbound Tracking" := false; + ItemTrackingCode."Lot Pos. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Pos. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."Lot Neg. Adjmt. Inb. Tracking" := false; + ItemTrackingCode."Lot Neg. Adjmt. Outb. Tracking" := false; + ItemTrackingCode."Lot Transfer Tracking" := false; + ItemTrackingCode."Lot Manuf. Inbound Tracking" := false; + ItemTrackingCode."Lot Manuf. Outbound Tracking" := false; + ItemTrackingCode."Lot Assembly Inbound Tracking" := false; + ItemTrackingCode."Lot Assembly Outbound Tracking" := false; + + ItemTrackingCode.Insert(true); + SetItemTrackingCodesCreated(); + end; + + internal procedure SetItemTrackingCodesCreated() + begin + SLConfiguration.GetSingleInstance(); + SLConfiguration."Item Tracking Codes Created" := true; + SLConfiguration.Modify(); + end; + + internal procedure CreateLocations() + var + SLSite: Record "SL Site"; + Location: Record Location; + begin + if SLSite.FindSet() then + repeat + Location.Init(); + Location.Code := Text.CopyStr(SLSite.SiteId, 1, 10); + Location.Name := SLSite.Name; + Location.Address := SLSite.Addr1; + Location."Address 2" := Text.CopyStr(SLSite.Addr2, 1, 50); + Location.City := Text.CopyStr(SLSite.City, 1, 30); + Location."Phone No." := SLSite.Phone; + Location."Fax No." := SLSite.Fax; + Location."Post Code" := SLSite.Zip; + Location.Insert(true); + until SLSite.Next() = 0; + Session.LogMessage('0000BK6', 'Created Locations', Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', GetTelemetryCategory()); + SetLocationsCreated(); + end; + + internal procedure SetLocationsCreated() + begin + SLConfiguration.GetSingleInstance(); + SLConfiguration."Locations Created" := true; + SLConfiguration.Modify(); + end; + + internal procedure CheckAndLogErrors() + var + LastError: Text; + begin + LastError := GetLastErrorText(false); + if LastError = '' then + exit; + + LogError(LastError); + Commit(); + end; + + internal procedure LogError(LastErrorMessage: Text) + var + ExistingDataMigrationError: Record "Data Migration Error"; + DataMigrationError: Record "Data Migration Error"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + begin + if LastErrorMessage = '' then + exit; + + if ExistingDataMigrationError.FindLast() then; + DataMigrationError.Id := ExistingDataMigrationError.Id + 1; + DataMigrationError.Insert(); + DataMigrationError."Last Record Under Processing" := CopyStr(DataMigrationErrorLogging.GetLastRecordUnderProcessing(), 1, MaxStrLen(DataMigrationError."Last Record Under Processing")); + DataMigrationError.SetLastRecordUnderProcessingLog(DataMigrationErrorLogging.GetFullListOfLastRecordsUnderProcessingAsText()); + DataMigrationError."Error Message" := CopyStr(LastErrorMessage, 1, MaxStrLen(DataMigrationError."Error Message")); + DataMigrationError."Migration Type" := GetMigrationTypeTxt(); + DataMigrationError.SetFullExceptionMessage(GetLastErrorText()); + DataMigrationError.SetExceptionCallStack(GetLastErrorCallStack()); + DataMigrationErrorLogging.ClearLastRecordUnderProcessing(); + end; + + internal procedure GetLastError() + begin + SLConfiguration.GetSingleInstance(); + SLConfiguration."Last Error Message" := CopyStr(GetLastErrorText(), 1, 250); + SLConfiguration.Modify(); + end; + + internal procedure CreatePreMigrationData(): Boolean + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + begin + CreateDimensions(); + if not DimensionsCreated() then + exit(false); + + if SLCompanyAdditionalSettings.GetInventoryModuleEnabled() then begin + CreateItemTrackingCodes(); + if not ItemTrackingCodesCreated() then + exit(false); + + CreateLocations(); + if not LocationsCreated() then + exit(false); + end; + + exit(true) + end; + + internal procedure CheckMigrationStatus() + begin + SLConfiguration.GetSingleInstance(); + if not SLConfiguration."PreMigration Cleanup Completed" then begin + CreateDataMigrationErrorRecord('PreMigration cleanup not completed.'); + exit; + end; + + if not SLConfiguration."Dimensions Created" then + CreateDataMigrationErrorRecord('Dimensions not created.'); + if not SLConfiguration."Payment Terms Created" then + CreateDataMigrationErrorRecord('Payment Terms not created'); + if not SLConfiguration."Item Tracking Codes Created" then + CreateDataMigrationErrorRecord('Item Tracking Codes not created'); + if not SLConfiguration."Locations Created" then + CreateDataMigrationErrorRecord('Locations not created.'); + end; + + internal procedure CreateDataMigrationErrorRecord(ErrorMessage: Text[250]) + var + DataMigrationError: Record "Data Migration Error"; + begin + DataMigrationError.Init(); + DataMigrationError."Migration Type" := MigrationTypeTxt; + DataMigrationError."Scheduled For Retry" := false; + DataMigrationError."Error Message" := ErrorMessage; + DataMigrationError.Insert(); + end; + + internal procedure DimensionsCreated(): Boolean + begin + SLConfiguration.GetSingleInstance(); + exit(SLConfiguration."Dimensions Created"); + end; + + internal procedure ItemTrackingCodesCreated(): Boolean + begin + SLConfiguration.GetSingleInstance(); + exit(SLConfiguration."Item Tracking Codes Created"); + end; + + internal procedure LocationsCreated(): Boolean + begin + SLConfiguration.GetSingleInstance(); + exit(SLConfiguration."Locations Created"); + end; + + [IntegrationEvent(false, false)] + internal procedure OnSkipPostingGLAccounts(var SkipPosting: Boolean) + begin + end; + + [IntegrationEvent(false, false)] + internal procedure OnSkipPostingItemBatches(var SkipPosting: Boolean) + begin + end; + + [IntegrationEvent(false, false)] + internal procedure OnSkipPostingAccountBatches(var SkipPosting: Boolean) + begin + end; + + [IntegrationEvent(false, false)] + internal procedure OnSkipPostingCustomerBatches(var SkipPosting: Boolean) + begin + end; + + [IntegrationEvent(false, false)] + internal procedure OnSkipPostingVendorBatches(var SkipPosting: Boolean) + begin + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLMigrationConfig.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLMigrationConfig.Table.al new file mode 100644 index 0000000000..ab5d5a81fb --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLMigrationConfig.Table.al @@ -0,0 +1,136 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47017 "SL Migration Config" +{ + Access = Internal; + DataClassification = SystemMetadata; + ReplicateData = false; + + fields + { + field(1; PrimaryKey; Code[10]) + { + } + field(2; "Zip File"; Text[250]) + { + } + field(3; "Unziped Folder"; Text[250]) + { + } + field(4; "Total Items"; Integer) + { + } + field(5; "Total Accounts"; Integer) + { + } + field(6; "Total Customers"; Integer) + { + } + field(7; "Total Vendors"; Integer) + { + } + field(8; "Chart of Account Option"; Option) + { + OptionMembers = " ",Existing,New; + } + field(9; "Updated GL Setup"; Boolean) + { + InitValue = false; + } + field(10; "GL Transactions Processed"; Boolean) + { + InitValue = false; + } + field(11; "Account Validation Error"; Boolean) + { + } + field(12; "Post Transactions"; Boolean) + { + InitValue = false; + } + field(14; "Finish Event Processed"; Boolean) + { + InitValue = false; + } + field(15; "Last Error Message"; Text[250]) + { + } + field(16; "PreMigration Cleanup Completed"; Boolean) + { + InitValue = false; + } + field(17; "Dimensions Created"; Boolean) + { + InitValue = false; + } + field(18; "Payment Terms Created"; Boolean) + { + InitValue = false; + } + field(19; "Item Tracking Codes Created"; Boolean) + { + InitValue = false; + } + field(20; "Locations Created"; Boolean) + { + InitValue = false; + } + field(21; "Historical Job Ran"; Boolean) + { + InitValue = false; + } + } + + keys + { + key(Key1; PrimaryKey) + { + Clustered = true; + } + } + + internal procedure GetSingleInstance(); + begin + Reset(); + if not Get() then begin + Init(); + Insert(); + end; + end; + + internal procedure SetAccountValidationError(); + var + MigrationSLConfig: Record "SL Migration Config"; + begin + MigrationSLConfig.GetSingleInstance(); + MigrationSLConfig."Account Validation Error" := true; + MigrationSLConfig.Modify(); + end; + + internal procedure ClearAccountValidationError(); + var + MigrationSLConfig: Record "SL Migration Config"; + begin + MigrationSLConfig.GetSingleInstance(); + MigrationSLConfig."Account Validation Error" := false; + MigrationSLConfig.Modify(); + end; + + internal procedure GetAccountValidationError(): Boolean; + var + MigrationSLConfig: Record "SL Migration Config"; + begin + MigrationSLConfig.GetSingleInstance(); + exit(MigrationSLConfig."Account Validation Error"); + end; + + internal procedure HasHistoricalJobRan(): Boolean + begin + exit(Rec."Historical Job Ran"); + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLPaymentTerms.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLPaymentTerms.Table.al new file mode 100644 index 0000000000..994ed52f90 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLPaymentTerms.Table.al @@ -0,0 +1,53 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47040 "SL Payment Terms" +{ + Access = Internal; + DataClassification = CustomerContent; + ReplicateData = false; + + fields + { + field(1; PYMTRMID; Text[22]) + { + Caption = 'Payment Terms ID'; + } + field(2; DUETYPE; Text[1]) + { + Caption = 'Due Type'; + } + field(3; DUEDTDS; Integer) + { + Caption = 'Due Date/Days'; + } + field(4; DISCTYPE; Text[1]) + { + Caption = 'Discount Type'; + } + field(5; DISCDTDS; Integer) + { + Caption = 'Discount Date/Days'; + } + field(6; DSCPCTAM; Decimal) + { + Caption = 'Discount Percent Amount'; + } + field(7; Descr; Text[30]) + { + Caption = 'Description'; + } + } + + keys + { + key(Key1; PYMTRMID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLSegDef.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLSegDef.Table.al new file mode 100644 index 0000000000..387b36d85f --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLSegDef.Table.al @@ -0,0 +1,89 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47044 "SL SegDef" +{ + Access = Internal; + Caption = 'SL SegDef'; + DataClassification = CustomerContent; + + fields + { + field(1; Active; Integer) + { + Caption = 'Active'; + } + field(2; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(3; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(4; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(5; Description; Text[30]) + { + Caption = 'Description'; + } + field(6; FieldClass; Text[3]) + { + Caption = 'FieldClass'; + } + field(7; FieldClassName; Text[15]) + { + Caption = 'FieldClassName'; + } + field(8; ID; Text[24]) + { + Caption = 'ID'; + } + field(9; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(10; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(11; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(12; SegNumber; Text[2]) + { + Caption = 'SegNumber'; + } + field(13; User1; Text[30]) + { + Caption = 'User1'; + } + field(14; User2; Text[30]) + { + Caption = 'User2'; + } + field(15; User3; Decimal) + { + Caption = 'User3'; + } + field(16; User4; Decimal) + { + Caption = 'User4'; + } + } + + keys + { + key(Key1; FieldClassName, SegNumber, ID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLSegments.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLSegments.Table.al new file mode 100644 index 0000000000..67f87938e6 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLSegments.Table.al @@ -0,0 +1,40 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47008 "SL Segments" +{ + Access = Internal; + DataClassification = SystemMetadata; + ReplicateData = false; + + fields + { + field(1; Id; Text[20]) + { + } + field(2; Name; Text[30]) + { + } + field(3; CodeCaption; Text[80]) + { + } + field(4; FilterCaption; Text[80]) + { + } + field(5; SegmentNumber; Integer) + { + } + } + + keys + { + key(Key1; Id) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLTerms.Table.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLTerms.Table.al new file mode 100644 index 0000000000..406f25df2c --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLTerms.Table.al @@ -0,0 +1,193 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47045 "SL Terms" +{ + Access = Internal; + Caption = 'SL Terms'; + DataClassification = CustomerContent; + + fields + { + field(1; ApplyTo; Text[1]) + { + Caption = 'ApplyTo'; + } + field(2; COD; Integer) + { + Caption = 'COD'; + } + field(3; CreditChk; Integer) + { + Caption = 'CreditChk'; + } + field(4; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(5; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(6; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(7; Cycle; Integer) + { + Caption = 'Cycle'; + } + field(8; Descr; Text[30]) + { + Caption = 'Descr'; + } + field(9; DiscIntrv; Integer) + { + Caption = 'DiscIntrv'; + } + field(10; DiscPct; Decimal) + { + Caption = 'DiscPct'; + } + field(11; DiscType; Text[1]) + { + Caption = 'DiscType'; + } + field(12; DueIntrv; Integer) + { + Caption = 'DueIntrv'; + } + field(13; DueType; Text[1]) + { + Caption = 'DueType'; + } + field(14; Frequency; Text[1]) + { + Caption = 'Frequency'; + } + field(15; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(16; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(17; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(18; NbrInstall; Integer) + { + Caption = 'NbrInstall'; + } + field(19; NoteId; Integer) + { + Caption = 'NoteId'; + } + field(20; Options; Text[1]) + { + Caption = 'Options'; + } + field(21; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(22; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(23; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(24; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(25; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(26; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(27; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(28; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(29; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(30; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(31; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(32; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(33; TermsId; Text[2]) + { + Caption = 'TermsId'; + } + field(34; TermsType; Text[1]) + { + Caption = 'TermsType'; + } + field(35; User1; Text[30]) + { + Caption = 'User1'; + } + field(36; User2; Text[30]) + { + Caption = 'User2'; + } + field(37; User3; Decimal) + { + Caption = 'User3'; + } + field(38; User4; Decimal) + { + Caption = 'User4'; + } + field(39; User5; Text[10]) + { + Caption = 'User5'; + } + field(40; User6; Text[10]) + { + Caption = 'User6'; + } + field(41; User7; DateTime) + { + Caption = 'User7'; + } + field(42; User8; DateTime) + { + Caption = 'User8'; + } + } + + keys + { + key(Key1; TermsId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Support/SLWizardIntegration.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/Support/SLWizardIntegration.Codeunit.al new file mode 100644 index 0000000000..e5b867611b --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Support/SLWizardIntegration.Codeunit.al @@ -0,0 +1,266 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Integration; +using Microsoft.DataMigration; +using System.Threading; +using Microsoft.Inventory.Item; +using Microsoft.Finance.GeneralLedger.Account; +using Microsoft.Sales.Customer; +using Microsoft.Purchases.Vendor; +using System.Security.User; +using Microsoft.Finance.FinancialReports; + +codeunit 47005 "SL Wizard Integration" +{ + Access = Internal; + + var + SLHelperFunctions: Codeunit "SL Helper Functions"; + DataMigratorDescTxt: Label 'Import from Dynamics SL Cloud'; + SLSnapshotJobDescriptionTxt: Label 'Migrate SL Historical Snapshot'; + TelemetrySnapshotFailedToStartSessionMsg: Label 'SL Historical Snapshot could not start a new Session.', Locked = true; + TelemetrySnapshotScheduledMsg: Label 'SL Historical Snapshot is now scheduled. Mode: %1', Locked = true; + TelemetrySnapshotToBeScheduledMsg: Label 'SL Historical Snapshot is about to be scheduled. Mode: %1', Locked = true; + UnableToRegisterMigrationMsg: Label 'Unable to register the SL Cloud Migration.', Locked = true; + UnableToUnRegisterMigrationMsg: Label 'Unable to unregister the SL Cloud Migration.', Locked = true; + + internal procedure RegisterSLDataMigrator(): Boolean + var + DataMigratorRegistration: Record "Data Migrator Registration"; + begin + DataMigratorRegistration.SetFilter("No.", '= %1', GetCurrentCodeUnitNumber()); + if not DataMigratorRegistration.FindSet() then + if not DataMigratorRegistration.RegisterDataMigrator(GetCurrentCodeUnitNumber(), CopyStr(DataMigratorDescTxt, 1, 250)) then begin + SLHelperFunctions.GetLastError(); + Session.LogMessage('0000B68', UnableToRegisterMigrationMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + SLHelperFunctions.SetProcessesRunning(false); + exit(false); + end; + + exit(true); + end; + + internal procedure UnRegisterSLDataMigrator() + var + DataMigratorRegistration: Record "Data Migrator Registration"; + begin + DataMigratorRegistration.SetFilter("No.", '= %1', GetCurrentCodeUnitNumber()); + if not DataMigratorRegistration.FindSet() then + if not DataMigratorRegistration.Delete() then + Session.LogMessage('0000B69', UnableToUnRegisterMigrationMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Data Migration Facade", 'OnApplySelectedData', '', true, true)] + local procedure OnApplySelectedDataApplySLData(var DataMigratorRegistration: Record "Data Migrator Registration"; var DataMigrationEntity: Record "Data Migration Entity"; var Handled: Boolean) + begin + if DataMigratorRegistration."No." <> GetCurrentCodeUnitNumber() then + exit; + + SendTelemetryForSelectedEntities(DataMigrationEntity); + Handled := true; + end; + + // This is after OnMigrationCompleted. OnMigrationCompleted fires when opening the Data Migration Overview page so removed that subscriber + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Data Migration Mgt.", OnCreatePostMigrationData, '', true, true)] + local procedure OnCreatePostMigrationDataSubscriber(var DataMigrationStatus: Record "Data Migration Status"; var DataCreationFailed: Boolean) + var + SLMigrationConfig: Record "SL Migration Config"; + SLMigrationErrorHandler: Codeunit "SL Migration Error Handler"; + Flag: Boolean; + begin + if not (DataMigrationStatus."Migration Type" = SLHelperFunctions.GetMigrationTypeTxt()) then + exit; + + if SLMigrationErrorHandler.GetErrorOccurred() then + exit; + + if DataMigrationStatus.Status = DataMigrationStatus.Status::Completed then + UnRegisterSLDataMigrator(); + + Codeunit.Run(Codeunit::"Categ. Generate Acc. Schedules"); + if SLMigrationConfig.Get() then + if SLMigrationConfig."Updated GL Setup" then begin + Flag := true; + SLHelperFunctions.ResetAdjustforPaymentInGLSetup(Flag); + end; + end; + + // This is after OnMigrationCompleted. OnMigrationCompleted fires when opening the Data Migration Overview page so removed that subscriber + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Data Migration Mgt.", OnAfterMigrationFinished, '', true, true)] + local procedure OnAfterMigrationFinishedSubscriber(var DataMigrationStatus: Record "Data Migration Status"; WasAborted: Boolean; StartTime: DateTime; Retry: Boolean) + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SLHybridWizard: Codeunit "SL Hybrid Wizard"; + begin + if not SLHybridWizard.GetSLMigrationEnabled() then + exit; + + SLHelperFunctions.PostGLTransactions(); + SLHelperFunctions.SetProcessesRunning(false); + + if SLCompanyAdditionalSettings.GetMigrateHistory() then + ScheduleSLHistoricalSnapshotMigration(); + end; + + internal procedure SendTelemetryForSelectedEntities(var DataMigrationEntity: Record "Data Migration Entity") + var + EntitiesToMigrateMessage: Text; + VendorsTxt: Label 'Vendors: %1; ', Comment = '%1 - Number of vendors', Locked = true; + CustomersTxt: Label 'Customers: %1; ', Comment = '%1 - Number of customers', Locked = true; + GLAccountsTxt: Label 'GL Accounts: %1; ', Comment = '%1 - Number of GL Accounts', Locked = true; + ItemsTxt: Label 'Items: %1; ', Comment = '%1 - Number of items', Locked = true; + begin + DataMigrationEntity.SetRange(Selected, true); + DataMigrationEntity.SetRange("Table ID", Database::Vendor); + if DataMigrationEntity.FindFirst() then + EntitiesToMigrateMessage += StrSubstNo(VendorsTxt, DataMigrationEntity."No. of Records"); + + DataMigrationEntity.SetRange("Table ID", Database::Customer); + if DataMigrationEntity.FindFirst() then + EntitiesToMigrateMessage += StrSubstNo(CustomersTxt, DataMigrationEntity."No. of Records"); + + DataMigrationEntity.SetRange("Table ID", Database::"G/L Account"); + if DataMigrationEntity.FindFirst() then + EntitiesToMigrateMessage += StrSubstNo(GLAccountsTxt, DataMigrationEntity."No. of Records"); + + DataMigrationEntity.SetRange("Table ID", Database::Item); + if DataMigrationEntity.FindFirst() then + EntitiesToMigrateMessage += StrSubstNo(ItemsTxt, DataMigrationEntity."No. of Records"); + + Session.LogMessage('00001OA', EntitiesToMigrateMessage, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + end; + + internal procedure GetCurrentCodeUnitNumber(): Integer + begin + exit(Codeunit::"SL Wizard Integration"); + end; + + internal procedure GetDefaultSLHistoricalMigrationJobMaxAttempts(): Integer + begin + exit(10); + end; + + internal procedure StartSLHistoricalJobMigrationAction(JobNotRanNotification: Notification) + begin + ScheduleSLHistoricalSnapshotMigration(); + end; + + internal procedure CanStartBackgroundJob(): Boolean + var + JobQueueEntry: Record "Job Queue Entry"; + UserPermissions: Codeunit "User Permissions"; + begin + if not UserPermissions.IsSuper(UserSecurityId()) then + exit(false); + + if not TaskScheduler.CanCreateTask() then + exit(false); + + if not JobQueueEntry.WritePermission then + exit(false); + + exit(true); + end; + + internal procedure ScheduleSLHistoricalSnapshotMigration() + var + SLConfiguration: Record "SL Migration Config"; + SLUpgradeSettings: Record "SL Upgrade Settings"; + HybridCloudManagement: Codeunit "Hybrid Cloud Management"; + HybridSLManagement: Codeunit "SL Hybrid Management"; + FailoverToSession: Boolean; + IsHandled: Boolean; + QueueCategory: Code[10]; + TimeoutDuration: Duration; + OverrideTimeoutDuration: Duration; + MaxAttempts: Integer; + OverrideMaxAttempts: Integer; + SessionID: Integer; + begin + TimeoutDuration := HybridSLManagement.GetDefaultJobTimeout(); + MaxAttempts := GetDefaultSLHistoricalMigrationJobMaxAttempts(); + QueueCategory := HybridCloudManagement.GetJobQueueCategory(); + + OnBeforeCreateSLHistoricalMigrationJob(IsHandled, OverrideTimeoutDuration, OverrideMaxAttempts); + if IsHandled then begin + TimeoutDuration := OverrideTimeoutDuration; + MaxAttempts := OverrideMaxAttempts; + end; + + FailoverToSession := not CanStartBackgroundJob(); + + if not FailoverToSession then begin + SendStartSnapshotResultMessage('', StrSubstNo(TelemetrySnapshotToBeScheduledMsg, 'Job Queue'), false, false); + + CreateAndScheduleBackgroundJob(Codeunit::"SL Populate Hist. Tables", + TimeoutDuration, + MaxAttempts, + QueueCategory, + SLSnapshotJobDescriptionTxt); + + SendStartSnapshotResultMessage('', StrSubstNo(TelemetrySnapshotScheduledMsg, 'Job Queue'), false, true); + if SLConfiguration.Get() then begin + SLConfiguration."Historical Job Ran" := true; + SLConfiguration.Modify(); + end; + end; + + if FailoverToSession then begin + SendStartSnapshotResultMessage('', StrSubstNo(TelemetrySnapshotToBeScheduledMsg, 'Session'), false, false); + if Session.StartSession(SessionID, Codeunit::"SL Populate Hist. Tables", CompanyName(), SLUpgradeSettings, TimeoutDuration) then begin + SendStartSnapshotResultMessage('', StrSubstNo(TelemetrySnapshotScheduledMsg, 'Session'), false, true); + if SLConfiguration.Get() then begin + SLConfiguration."Historical Job Ran" := true; + SLConfiguration.Modify(); + end; + end else begin + SendStartSnapshotResultMessage('', TelemetrySnapshotFailedToStartSessionMsg, true, true); + exit; + end; + end; + end; + + internal procedure SendStartSnapshotResultMessage(TelemetryEventId: Text; MessageText: Text; IsError: Boolean; ShouldShowMessage: Boolean) + begin + if IsError then + Session.LogMessage(TelemetryEventId, MessageText, Verbosity::Error, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()) + else + Session.LogMessage(TelemetryEventId, MessageText, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + + if ShouldShowMessage and GuiAllowed() then + Message(MessageText); + end; + + [IntegrationEvent(false, false)] + internal procedure OnBeforeCreateSLHistoricalMigrationJob(var IsHandled: Boolean; var TimeoutDuration: Duration; var MaxAttempts: Integer) + begin + end; + + internal procedure CreateAndScheduleBackgroundJob(ObjectIdToRun: Integer; TimeoutDuration: Duration; MaxAttempts: Integer; CategoryCode: Code[10]; Description: Text[250]): Guid + var + JobQueueEntry: Record "Job Queue Entry"; + JobQueueEntryBuffer: Record "Job Queue Entry Buffer"; + begin + JobQueueEntry.Init(); + JobQueueEntry."Object Type to Run" := JobQueueEntry."Object Type to Run"::Codeunit; + JobQueueEntry."Object ID to Run" := ObjectIdToRun; + JobQueueEntry."Maximum No. of Attempts to Run" := MaxAttempts; + JobQueueEntry."Job Queue Category Code" := CategoryCode; + JobQueueEntry.Description := Description; + JobQueueEntry."Job Timeout" := TimeoutDuration; + Codeunit.Run(Codeunit::"Job Queue - Enqueue", JobQueueEntry); + + JobQueueEntryBuffer.Init(); + JobQueueEntryBuffer.TransferFields(JobQueueEntry); + JobQueueEntryBuffer."Job Queue Entry ID" := JobQueueEntry.SystemId; + JobQueueEntryBuffer."Start Date/Time" := CurrentDateTime(); + JobQueueEntryBuffer.Insert(); + + exit(JobQueueEntryBuffer.SystemId); + end; +} diff --git a/Apps/W1/HybridSL/app/src/Migration/Vendors/SLAPBalances.Table.al b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLAPBalances.Table.al new file mode 100644 index 0000000000..c3cff299f8 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLAPBalances.Table.al @@ -0,0 +1,309 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47046 "SL AP_Balances" +{ + Access = Internal; + Caption = 'SL AP_Balances'; + DataClassification = CustomerContent; + + fields + { + field(1; CpnyID; Text[10]) + { + Caption = 'CpnyID'; + } + field(2; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(3; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(4; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(5; CurrBal; Decimal) + { + Caption = 'CurrBal'; + } + field(6; CuryID; Text[4]) + { + Caption = 'CuryID'; + } + field(7; CYBox00; Decimal) + { + Caption = 'CYBox00'; + } + field(8; CYBox01; Decimal) + { + Caption = 'CYBox01'; + } + field(9; CYBox02; Decimal) + { + Caption = 'CYBox02'; + } + field(10; CYBox03; Decimal) + { + Caption = 'CYBox03'; + } + field(11; CYBox04; Decimal) + { + Caption = 'CYBox04'; + } + field(12; CYBox05; Decimal) + { + Caption = 'CYBox05'; + } + field(13; CYBox06; Decimal) + { + Caption = 'CYBox06'; + } + field(14; CYBox07; Decimal) + { + Caption = 'CYBox07'; + } + field(15; CYBox08; Decimal) + { + Caption = 'CYBox08'; + } + field(16; CYBox09; Decimal) + { + Caption = 'CYBox09'; + } + field(17; CYBox10; Decimal) + { + Caption = 'CYBox10'; + } + field(18; CYBox11; Decimal) + { + Caption = 'CYBox11'; + } + field(19; CYBox12; Decimal) + { + Caption = 'CYBox12'; + } + field(20; CYBox13; Decimal) + { + Caption = 'CYBox13'; + } + field(21; CYBox14; Decimal) + { + Caption = 'CYBox14'; + } + field(22; CYBox15; Decimal) + { + Caption = 'CYBox15'; + } + field(23; CYFor01; Text[3]) + { + Caption = 'CYFor01'; + } + field(24; CYInterest; Decimal) + { + Caption = 'CYInterest'; + } + field(25; FutureBal; Decimal) + { + Caption = 'FutureBal'; + } + field(26; LastChkDate; DateTime) + { + Caption = 'LastChkDate'; + } + field(27; LastVODate; DateTime) + { + Caption = 'LastVODate'; + } + field(28; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(29; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(30; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(31; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(32; NYBox00; Decimal) + { + Caption = 'NYBox00'; + } + field(33; NYBox01; Decimal) + { + Caption = 'NYBox01'; + } + field(34; NYBox02; Decimal) + { + Caption = 'NYBox02'; + } + field(35; NYBox03; Decimal) + { + Caption = 'NYBox03'; + } + field(36; NYBox04; Decimal) + { + Caption = 'NYBox04'; + } + field(37; NYBox05; Decimal) + { + Caption = 'NYBox05'; + } + field(38; NYBox06; Decimal) + { + Caption = 'NYBox06'; + } + field(39; NYBox07; Decimal) + { + Caption = 'NYBox07'; + } + field(40; NYBox08; Decimal) + { + Caption = 'NYBox08'; + } + field(41; NYBox09; Decimal) + { + Caption = 'NYBox09'; + } + field(42; NYBox10; Decimal) + { + Caption = 'NYBox10'; + } + field(43; NYBox11; Decimal) + { + Caption = 'NYBox11'; + } + field(44; NYBox12; Decimal) + { + Caption = 'NYBox12'; + } + field(45; NYBox13; Decimal) + { + Caption = 'NYBox13'; + } + field(46; NYBox14; Decimal) + { + Caption = 'NYBox14'; + } + field(47; NYBox15; Decimal) + { + Caption = 'NYBox15'; + } + field(48; NYFor01; Text[3]) + { + Caption = 'NYFor01'; + } + field(49; NYInterest; Decimal) + { + Caption = 'NYInterest'; + } + field(50; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(51; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(52; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(53; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(54; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(55; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(56; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(57; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(58; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(59; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(60; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(61; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(62; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(63; User1; Text[30]) + { + Caption = 'User1'; + } + field(64; User2; Text[30]) + { + Caption = 'User2'; + } + field(65; User3; Decimal) + { + Caption = 'User3'; + } + field(66; User4; Decimal) + { + Caption = 'User4'; + } + field(67; User5; Text[10]) + { + Caption = 'User5'; + } + field(68; User6; Text[10]) + { + Caption = 'User6'; + } + field(69; User7; DateTime) + { + Caption = 'User7'; + } + field(70; User8; DateTime) + { + Caption = 'User8'; + } + field(71; VendID; Text[15]) + { + Caption = 'VendID'; + } + } + + keys + { + key(Key1; VendID, CpnyID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Vendors/SLAPSetup.Table.al b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLAPSetup.Table.al new file mode 100644 index 0000000000..4a95cf5113 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLAPSetup.Table.al @@ -0,0 +1,381 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47047 "SL APSetup" +{ + Access = Internal; + Caption = 'SL APSetup'; + DataClassification = CustomerContent; + + fields + { + field(1; A1099byCpnyID; Integer) + { + Caption = 'A1099byCpnyID'; + } + field(2; AllowBkupWthld; Integer) + { + Caption = 'AllowBkupWthld'; + } + field(3; APAcct; Text[10]) + { + Caption = 'APAcct'; + } + field(4; APSub; Text[24]) + { + Caption = 'APSub'; + } + field(5; AutoBatRpt; Integer) + { + Caption = 'AutoBatRpt'; + } + field(6; AutoRef; Integer) + { + Caption = 'AutoRef'; + } + field(7; BkupWthldAcct; Text[10]) + { + Caption = 'BkupWthldAcct'; + } + field(8; BkupWthldPct; Decimal) + { + Caption = 'BkupWthldPct'; + } + field(9; BkupWthldSub; Text[24]) + { + Caption = 'BkupWthldSub'; + } + field(10; ChkAcct; Text[10]) + { + Caption = 'ChkAcct'; + } + field(11; ChkSub; Text[24]) + { + Caption = 'ChkSub'; + } + field(12; ClassID; Text[10]) + { + Caption = 'ClassID'; + } + field(13; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(14; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(15; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(16; Curr1099Yr; Text[4]) + { + Caption = 'Curr1099Yr'; + } + field(17; CurrPerNbr; Text[6]) + { + Caption = 'CurrPerNbr'; + } + field(18; CY1099Stat; Text[1]) + { + Caption = 'CY1099Stat'; + } + field(19; DecPlPrcCst; Integer) + { + Caption = 'DecPlPrcCst'; + } + field(20; DecPlQty; Integer) + { + Caption = 'DecPlQty'; + } + field(21; DfltPPVAccount; Text[10]) + { + Caption = 'DfltPPVAccount'; + } + field(22; DfltPPVSub; Text[24]) + { + Caption = 'DfltPPVSub'; + } + field(23; DirectDeposit; Text[1]) + { + Caption = 'DirectDeposit'; + } + field(24; DisableBkupWthldMsg; Integer) + { + Caption = 'DisableBkupWthldMsg'; + } + field(25; DiscTknAcct; Text[10]) + { + Caption = 'DiscTknAcct'; + } + field(26; DiscTknSub; Text[24]) + { + Caption = 'DiscTknSub'; + } + field(27; DupInvcChk; Integer) + { + Caption = 'DupInvcChk'; + } + field(28; ExcludeFreight; Text[1]) + { + Caption = 'ExcludeFreight'; + } + field(29; ExpAcct; Text[10]) + { + Caption = 'ExpAcct'; + } + field(30; ExpSub; Text[24]) + { + Caption = 'ExpSub'; + } + field(31; GLPostOpt; Text[1]) + { + Caption = 'GLPostOpt'; + } + field(32; "Init"; Integer) + { + Caption = 'Init'; + } + field(33; LastBatNbr; Text[10]) + { + Caption = 'LastBatNbr'; + } + field(34; LastECheckNum; Text[10]) + { + Caption = 'LastECheckNum'; + } + field(35; LastRefNbr; Text[10]) + { + Caption = 'LastRefNbr'; + } + field(36; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(37; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(38; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(39; MCuryBatRpt; Integer) + { + Caption = 'MCuryBatRpt'; + } + field(40; Next1099Yr; Text[4]) + { + Caption = 'Next1099Yr'; + } + field(41; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(42; NY1099Stat; Text[1]) + { + Caption = 'NY1099Stat'; + } + field(43; PastDue00; Integer) + { + Caption = 'PastDue00'; + } + field(44; PastDue01; Integer) + { + Caption = 'PastDue01'; + } + field(45; PastDue02; Integer) + { + Caption = 'PastDue02'; + } + field(46; PerDupChk; Integer) + { + Caption = 'PerDupChk'; + } + field(47; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(48; PerRetHist; Integer) + { + Caption = 'PerRetHist'; + } + field(49; PerRetTran; Integer) + { + Caption = 'PerRetTran'; + } + field(50; PMAvail; Integer) + { + Caption = 'PMAvail'; + } + field(51; PPayAcct; Text[10]) + { + Caption = 'PPayAcct'; + } + field(52; PPaySub; Text[24]) + { + Caption = 'PPaySub'; + } + field(53; PPVAcct; Text[10]) + { + Caption = 'PPVAcct'; + } + field(54; PPVSub; Text[24]) + { + Caption = 'PPVSub'; + } + field(55; Req_PO_for_PP; Integer) + { + Caption = 'Req_PO_for_PP'; + } + field(56; RetChkRcncl; Integer) + { + Caption = 'RetChkRcncl'; + } + field(57; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(58; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(59; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(60; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(61; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(62; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(63; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(64; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(65; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(66; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(67; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(68; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(69; SetupId; Text[2]) + { + Caption = 'SetupId'; + } + field(70; SlsTax; Integer) + { + Caption = 'SlsTax'; + } + field(71; SlsTaxDflt; Text[1]) + { + Caption = 'SlsTaxDflt'; + } + field(72; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(73; TranDescDflt; Text[1]) + { + Caption = 'TranDescDflt'; + } + field(74; UntlDue00; Integer) + { + Caption = 'UntlDue00'; + } + field(75; UntlDue01; Integer) + { + Caption = 'UntlDue01'; + } + field(76; UntlDue02; Integer) + { + Caption = 'UntlDue02'; + } + field(77; UnvoucheredPOAlrt; Integer) + { + Caption = 'UnvoucheredPOAlrt'; + } + field(78; User1; Text[30]) + { + Caption = 'User1'; + } + field(79; User2; Text[30]) + { + Caption = 'User2'; + } + field(80; User3; Decimal) + { + Caption = 'User3'; + } + field(81; User4; Decimal) + { + Caption = 'User4'; + } + field(82; User5; Text[10]) + { + Caption = 'User5'; + } + field(83; User6; Text[10]) + { + Caption = 'User6'; + } + field(84; User7; DateTime) + { + Caption = 'User7'; + } + field(85; User8; DateTime) + { + Caption = 'User8'; + } + field(86; VCVoidDocs; Integer) + { + Caption = 'VCVoidDocs'; + } + field(87; Vend1099Lmt; Decimal) + { + Caption = 'Vend1099Lmt'; + } + field(88; VendViewDflt; Text[1]) + { + Caption = 'VendViewDflt'; + } + field(89; ZCPrint; Integer) + { + Caption = 'ZCPrint'; + } + } + + keys + { + key(Key1; SetupId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOAddress.Table.al b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOAddress.Table.al new file mode 100644 index 0000000000..58430534f7 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOAddress.Table.al @@ -0,0 +1,198 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.Purchases.Vendor; + +table 47055 "SL POAddress" +{ + Access = Internal; + DataClassification = CustomerContent; + Permissions = tabledata "Order Address" = rim; + ReplicateData = false; + + fields + { + field(1; Addr1; Text[60]) + { + } + field(2; Addr2; Text[60]) + { + } + field(3; Attn; Text[30]) + { + } + field(4; City; Text[30]) + { + } + field(5; Country; Text[3]) + { + } + field(6; Crtd_DateTime; DateTime) + { + } + field(7; Crtd_Prog; Text[8]) + { + } + field(8; Crtd_User; Text[10]) + { + } + field(9; Descr; Text[30]) + { + } + field(10; EMailAddr; Text[80]) + { + } + field(11; Fax; Text[30]) + { + } + field(12; LUpd_DateTime; DateTime) + { + } + field(13; LUpd_Prog; Text[8]) + { + } + field(14; LUpd_User; Text[10]) + { + } + field(15; Name; Text[60]) + { + } + field(16; NoteId; Integer) + { + } + field(17; OrdFromId; Text[10]) + { + } + field(18; Phone; Text[30]) + { + } + field(19; S4Future01; Text[30]) + { + } + field(20; S4Future02; Text[30]) + { + } + field(21; S4Future03; Decimal) + { + } + field(22; S4Future04; Decimal) + { + } + field(23; S4Future05; Decimal) + { + } + field(24; S4Future06; Decimal) + { + } + field(25; S4Future07; DateTime) + { + } + field(26; S4Future08; DateTime) + { + } + field(27; S4Future09; Integer) + { + } + field(28; S4Future10; Integer) + { + } + field(29; S4Future11; Text[10]) + { + } + field(30; S4Future12; Text[10]) + { + } + field(31; State; Text[3]) + { + } + field(32; TaxId00; Text[10]) + { + } + field(33; TaxId01; Text[10]) + { + } + field(34; TaxId02; Text[10]) + { + } + field(35; TaxId03; Text[10]) + { + } + field(36; TaxLocId; Text[15]) + { + } + field(37; TaxRegNbr; Text[15]) + { + } + field(38; User1; Text[30]) + { + } + field(39; User2; Text[30]) + { + } + field(40; User3; Decimal) + { + } + field(41; User4; Decimal) + { + } + field(42; User5; Text[10]) + { + } + field(43; User6; Text[10]) + { + } + field(44; User7; DateTime) + { + } + field(45; User8; DateTime) + { + } + field(46; VendId; Text[15]) + { + } + field(47; Zip; Text[10]) + { + } + } + + keys + { + key(Key1; VendId, OrdFromId) + { + Clustered = true; + } + } + + internal procedure MoveStagingData() + var + OrderAddress: Record "Order Address"; + Vendor: Record Vendor; + Exists: Boolean; + begin + if Vendor.Get(VendId) then begin + Exists := OrderAddress.Get(VendId, OrdFromId); + OrderAddress.Init(); + OrderAddress."Vendor No." := VendId; + OrderAddress.Code := OrdFromId; + OrderAddress.Name := Name; + OrderAddress.Address := Addr1; + OrderAddress."Address 2" := CopyStr(Addr2, 1, 50); + OrderAddress.City := City; + OrderAddress.Contact := Attn; + OrderAddress."Phone No." := Phone; + OrderAddress."Fax No." := Fax; + OrderAddress."Post Code" := Zip; + OrderAddress.County := State; + OrderAddress."E-Mail" := EMailAddr; + + if not Exists then + OrderAddress.Insert() + else + OrderAddress.Modify(); + end; + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOSetup.Table.al b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOSetup.Table.al new file mode 100644 index 0000000000..a5285662a0 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOSetup.Table.al @@ -0,0 +1,373 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47048 "SL POSetup" +{ + Access = Internal; + Caption = 'SL POSetup'; + DataClassification = CustomerContent; + + fields + { + field(1; AddAlternateID; Text[1]) + { + Caption = 'AddAlternateID'; + } + field(2; AdminLeadTime; Integer) + { + Caption = 'AdminLeadTime'; + } + field(3; APAccrAcct; Text[10]) + { + Caption = 'APAccrAcct'; + } + field(4; APAccrSub; Text[24]) + { + Caption = 'APAccrSub'; + } + field(5; AutoRef; Integer) + { + Caption = 'AutoRef'; + } + field(6; BillAddr1; Text[60]) + { + Caption = 'BillAddr1'; + } + field(7; BillAddr2; Text[60]) + { + Caption = 'BillAddr2'; + } + field(8; BillAttn; Text[30]) + { + Caption = 'BillAttn'; + } + field(9; BillCity; Text[30]) + { + Caption = 'BillCity'; + } + field(10; BillCountry; Text[3]) + { + Caption = 'BillCountry'; + } + field(11; BillEmail; Text[80]) + { + Caption = 'BillEmail'; + } + field(12; BillFax; Text[30]) + { + Caption = 'BillFax'; + } + field(13; BillName; Text[60]) + { + Caption = 'BillName'; + } + field(14; BillPhone; Text[30]) + { + Caption = 'BillPhone'; + } + field(15; BillState; Text[3]) + { + Caption = 'BillState'; + } + field(16; BillZip; Text[10]) + { + Caption = 'BillZip'; + } + field(17; CreateAD; Integer) + { + Caption = 'CreateAD'; + } + field(18; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(19; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(20; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(21; DecPlPrcCst; Integer) + { + Caption = 'DecPlPrcCst'; + } + field(22; DecPlQty; Integer) + { + Caption = 'DecPlQty'; + } + field(23; DefaultAltIDType; Text[1]) + { + Caption = 'DefaultAltIDType'; + } + field(24; DemandPeriods; Integer) + { + Caption = 'DemandPeriods'; + } + field(25; DfltLstUnitCost; Text[1]) + { + Caption = 'DfltLstUnitCost'; + } + field(26; DfltRcptUnitFromIN; Integer) + { + Caption = 'DfltRcptUnitFromIN'; + } + field(27; FrtAcct; Text[10]) + { + Caption = 'FrtAcct'; + } + field(28; FrtSub; Text[24]) + { + Caption = 'FrtSub'; + } + field(29; HotPrintPO; Integer) + { + Caption = 'HotPrintPO'; + } + field(30; INAvail; Integer) + { + Caption = 'INAvail'; + } + field(31; "Init"; Integer) + { + Caption = 'Init'; + } + field(32; InvtCarryingCost; Decimal) + { + Caption = 'InvtCarryingCost'; + } + field(33; LastBatNbr; Text[10]) + { + Caption = 'LastBatNbr'; + } + field(34; LastPONbr; Text[10]) + { + Caption = 'LastPONbr'; + } + field(35; LastRcptNbr; Text[10]) + { + Caption = 'LastRcptNbr'; + } + field(36; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(37; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(38; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(39; MultPOAllowed; Integer) + { + Caption = 'MultPOAllowed'; + } + field(40; NonInvtAcct; Text[10]) + { + Caption = 'NonInvtAcct'; + } + field(41; NonInvtSub; Text[24]) + { + Caption = 'NonInvtSub'; + } + field(42; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(43; PCAvail; Integer) + { + Caption = 'PCAvail'; + } + field(44; PerRetTran; Integer) + { + Caption = 'PerRetTran'; + } + field(45; PMAvail; Integer) + { + Caption = 'PMAvail'; + } + field(46; PPVAcct; Text[10]) + { + Caption = 'PPVAcct'; + } + field(47; PPVSub; Text[24]) + { + Caption = 'PPVSub'; + } + field(48; PrtAddr; Integer) + { + Caption = 'PrtAddr'; + } + field(49; PrtSite; Integer) + { + Caption = 'PrtSite'; + } + field(50; ReopenPO; Integer) + { + Caption = 'ReopenPO'; + } + field(51; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(52; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(53; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(54; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(55; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(56; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(57; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(58; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(59; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(60; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(61; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(62; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(63; SetupCost; Decimal) + { + Caption = 'SetupCost'; + } + field(64; SetupID; Text[2]) + { + Caption = 'SetupID'; + } + field(65; ShipAddr1; Text[60]) + { + Caption = 'ShipAddr1'; + } + field(66; ShipAddr2; Text[60]) + { + Caption = 'ShipAddr2'; + } + field(67; ShipAttn; Text[30]) + { + Caption = 'ShipAttn'; + } + field(68; ShipCity; Text[30]) + { + Caption = 'ShipCity'; + } + field(69; ShipCountry; Text[3]) + { + Caption = 'ShipCountry'; + } + field(70; ShipEmail; Text[80]) + { + Caption = 'ShipEmail'; + } + field(71; ShipFax; Text[30]) + { + Caption = 'ShipFax'; + } + field(72; ShipName; Text[60]) + { + Caption = 'ShipName'; + } + field(73; ShipPhone; Text[30]) + { + Caption = 'ShipPhone'; + } + field(74; ShipState; Text[3]) + { + Caption = 'ShipState'; + } + field(75; ShipZip; Text[10]) + { + Caption = 'ShipZip'; + } + field(76; TaxFlg; Integer) + { + Caption = 'TaxFlg'; + } + field(77; TranDescFlg; Text[1]) + { + Caption = 'TranDescFlg'; + } + field(78; User1; Text[30]) + { + Caption = 'User1'; + } + field(79; User2; Text[30]) + { + Caption = 'User2'; + } + field(80; User3; Decimal) + { + Caption = 'User3'; + } + field(81; User4; Decimal) + { + Caption = 'User4'; + } + field(82; User5; Text[10]) + { + Caption = 'User5'; + } + field(83; User6; Text[10]) + { + Caption = 'User6'; + } + field(84; User7; DateTime) + { + Caption = 'User7'; + } + field(85; User8; DateTime) + { + Caption = 'User8'; + } + field(86; Vouchering; Integer) + { + Caption = 'Vouchering'; + } + field(87; VouchQtyErr; Text[1]) + { + Caption = 'VouchQtyErr'; + } + } + + keys + { + key(Key1; SetupID) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendor.Table.al b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendor.Table.al new file mode 100644 index 0000000000..1cd5906a3c --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendor.Table.al @@ -0,0 +1,401 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47049 "SL Vendor" +{ + Access = Internal; + Caption = 'SL Vendor'; + DataClassification = CustomerContent; + + fields + { + field(1; Addr1; Text[60]) + { + Caption = 'Addr1'; + } + field(2; Addr2; Text[60]) + { + Caption = 'Addr2'; + } + field(3; APAcct; Text[10]) + { + Caption = 'APAcct'; + } + field(4; APSub; Text[24]) + { + Caption = 'APSub'; + } + field(5; Attn; Text[30]) + { + Caption = 'Attn'; + } + field(6; BkupWthld; Integer) + { + Caption = 'BkupWthld'; + } + field(7; City; Text[30]) + { + Caption = 'City'; + } + field(8; ClassID; Text[10]) + { + Caption = 'ClassID'; + } + field(9; ContTwc1099; Integer) + { + Caption = 'ContTwc1099'; + } + field(10; Country; Text[3]) + { + Caption = 'Country'; + } + field(11; Crtd_DateTime; DateTime) + { + Caption = 'Crtd_DateTime'; + } + field(12; Crtd_Prog; Text[8]) + { + Caption = 'Crtd_Prog'; + } + field(13; Crtd_User; Text[10]) + { + Caption = 'Crtd_User'; + } + field(14; Curr1099Yr; Text[4]) + { + Caption = 'Curr1099Yr'; + } + field(15; CuryId; Text[4]) + { + Caption = 'CuryId'; + } + field(16; CuryRateType; Text[6]) + { + Caption = 'CuryRateType'; + } + field(17; DfltBox; Text[2]) + { + Caption = 'DfltBox'; + } + field(18; DfltOrdFromId; Text[10]) + { + Caption = 'DfltOrdFromId'; + } + field(19; DfltPurchaseType; Text[2]) + { + Caption = 'DfltPurchaseType'; + } + field(20; DirectDeposit; Text[1]) + { + Caption = 'DirectDeposit'; + } + field(21; DocPublishingFlag; Text[1]) + { + Caption = 'DocPublishingFlag'; + } + field(22; EMailAddr; Text[80]) + { + Caption = 'EMailAddr'; + } + field(23; ExcludeFreight; Text[1]) + { + Caption = 'ExcludeFreight'; + } + field(24; ExpAcct; Text[10]) + { + Caption = 'ExpAcct'; + } + field(25; ExpSub; Text[24]) + { + Caption = 'ExpSub'; + } + field(26; Fax; Text[30]) + { + Caption = 'Fax'; + } + field(27; LCCode; Text[10]) + { + Caption = 'LCCode'; + } + field(28; LUpd_DateTime; DateTime) + { + Caption = 'LUpd_DateTime'; + } + field(29; LUpd_Prog; Text[8]) + { + Caption = 'LUpd_Prog'; + } + field(30; LUpd_User; Text[10]) + { + Caption = 'LUpd_User'; + } + field(31; MultiChk; Integer) + { + Caption = 'MultiChk'; + } + field(32; Name; Text[60]) + { + Caption = 'Name'; + } + field(33; Next1099Yr; Text[4]) + { + Caption = 'Next1099Yr'; + } + field(34; NoteID; Integer) + { + Caption = 'NoteID'; + } + field(35; PayDateDflt; Text[1]) + { + Caption = 'PayDateDflt'; + } + field(36; PerNbr; Text[6]) + { + Caption = 'PerNbr'; + } + field(37; Phone; Text[30]) + { + Caption = 'Phone'; + } + field(38; PmtMethod; Text[1]) + { + Caption = 'PmtMethod'; + } + field(39; PPayAcct; Text[10]) + { + Caption = 'PPayAcct'; + } + field(40; PPaySub; Text[24]) + { + Caption = 'PPaySub'; + } + field(41; RcptPctAct; Text[1]) + { + Caption = 'RcptPctAct'; + } + field(42; RcptPctMax; Decimal) + { + Caption = 'RcptPctMax'; + } + field(43; RcptPctMin; Decimal) + { + Caption = 'RcptPctMin'; + } + field(44; RecipientName2; Text[40]) + { + Caption = 'RecipientName2'; + } + field(45; RemitAddr1; Text[60]) + { + Caption = 'RemitAddr1'; + } + field(46; RemitAddr2; Text[60]) + { + Caption = 'RemitAddr2'; + } + field(47; RemitAttn; Text[30]) + { + Caption = 'RemitAttn'; + } + field(48; RemitCity; Text[30]) + { + Caption = 'RemitCity'; + } + field(49; RemitCountry; Text[3]) + { + Caption = 'RemitCountry'; + } + field(50; RemitFax; Text[30]) + { + Caption = 'RemitFax'; + } + field(51; RemitName; Text[60]) + { + Caption = 'RemitName'; + } + field(52; RemitPhone; Text[30]) + { + Caption = 'RemitPhone'; + } + field(53; RemitSalut; Text[30]) + { + Caption = 'RemitSalut'; + } + field(54; RemitState; Text[3]) + { + Caption = 'RemitState'; + } + field(55; RemitZip; Text[10]) + { + Caption = 'RemitZip'; + } + field(56; ReqBkupWthld; Integer) + { + Caption = 'ReqBkupWthld'; + } + field(57; S4Future01; Text[30]) + { + Caption = 'S4Future01'; + } + field(58; S4Future02; Text[30]) + { + Caption = 'S4Future02'; + } + field(59; S4Future03; Decimal) + { + Caption = 'S4Future03'; + } + field(60; S4Future04; Decimal) + { + Caption = 'S4Future04'; + } + field(61; S4Future05; Decimal) + { + Caption = 'S4Future05'; + } + field(62; S4Future06; Decimal) + { + Caption = 'S4Future06'; + } + field(63; S4Future07; DateTime) + { + Caption = 'S4Future07'; + } + field(64; S4Future08; DateTime) + { + Caption = 'S4Future08'; + } + field(65; S4Future09; Integer) + { + Caption = 'S4Future09'; + } + field(66; S4Future10; Integer) + { + Caption = 'S4Future10'; + } + field(67; S4Future11; Text[10]) + { + Caption = 'S4Future11'; + } + field(68; S4Future12; Text[10]) + { + Caption = 'S4Future12'; + } + field(69; Salut; Text[30]) + { + Caption = 'Salut'; + } + field(70; State; Text[3]) + { + Caption = 'State'; + } + field(71; Status; Text[1]) + { + Caption = 'Status'; + } + field(72; TaxDflt; Text[1]) + { + Caption = 'TaxDflt'; + } + field(73; TaxId00; Text[10]) + { + Caption = 'TaxId00'; + } + field(74; TaxId01; Text[10]) + { + Caption = 'TaxId01'; + } + field(75; TaxId02; Text[10]) + { + Caption = 'TaxId02'; + } + field(76; TaxId03; Text[10]) + { + Caption = 'TaxId03'; + } + field(77; TaxLocId; Text[15]) + { + Caption = 'TaxLocId'; + } + field(78; TaxPost; Text[1]) + { + Caption = 'TaxPost'; + } + field(79; TaxRegNbr; Text[15]) + { + Caption = 'TaxRegNbr'; + } + field(80; Terms; Text[2]) + { + Caption = 'Terms'; + } + field(81; TIN; Text[11]) + { + Caption = 'TIN'; + } + field(82; TINNAME; Text[60]) + { + Caption = 'TINNAME'; + } + field(83; User1; Text[30]) + { + Caption = 'User1'; + } + field(84; User2; Text[30]) + { + Caption = 'User2'; + } + field(85; User3; Decimal) + { + Caption = 'User3'; + } + field(86; User4; Decimal) + { + Caption = 'User4'; + } + field(87; User5; Text[10]) + { + Caption = 'User5'; + } + field(88; User6; Text[10]) + { + Caption = 'User6'; + } + field(89; User7; DateTime) + { + Caption = 'User7'; + } + field(90; User8; DateTime) + { + Caption = 'User8'; + } + field(91; Vend1099; Integer) + { + Caption = 'Vend1099'; + } + field(92; Vend1099AddrType; Text[1]) + { + Caption = 'Vend1099AddrType'; + } + field(93; VendId; Text[15]) + { + Caption = 'VendId'; + } + field(94; Zip; Text[10]) + { + Caption = 'Zip'; + } + } + + keys + { + key(Key1; VendId) + { + Clustered = true; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendorMigrator.Codeunit.al b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendorMigrator.Codeunit.al new file mode 100644 index 0000000000..58593ef369 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendorMigrator.Codeunit.al @@ -0,0 +1,302 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Integration; +using Microsoft.Foundation.Company; +using Microsoft.Finance.GeneralLedger.Setup; +using Microsoft.Purchases.Vendor; +using System.EMail; + +codeunit 47021 "SL Vendor Migrator" +{ + Access = Internal; + + var + PostingGroupCodeTxt: Label 'SL', Locked = true; + SourceCodeTxt: Label 'GENJNL', Locked = true; + VendorBatchNameTxt: Label 'SLVEND', Locked = true; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Vendor Data Migration Facade", OnMigrateVendor, '', true, true)] + local procedure OnMigrateVendor(var Sender: Codeunit "Vendor Data Migration Facade"; RecordIdToMigrate: RecordId) + var + SLVendor: Record "SL Vendor"; + SLAPSetup: Record "SL APSetup"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + begin + if RecordIdToMigrate.TableNo() <> Database::"SL Vendor" then + exit; + + SLCompanyAdditionalSettings.Get(CompanyName); + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + if not SLCompanyAdditionalSettings.GetPayablesModuleEnabled() then + exit; + + SLVendor.Get(RecordIdToMigrate); + SLAPSetup.Get('AP'); + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(RecordIdToMigrate)); + + MigrateVendorDetails(SLVendor, Sender, SLAPSetup); + MigrateVendorAddresses(SLVendor); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Vendor Data Migration Facade", OnMigrateVendorTransactions, '', true, true)] + local procedure OnMigrateVendorTransactions(var Sender: Codeunit "Vendor Data Migration Facade"; RecordIdToMigrate: RecordId; ChartOfAccountsMigrated: Boolean) + var + SLAPDoc: Record "SL APDoc"; + SLAPSetup: Record "SL APSetup"; + SLVendor: Record "SL Vendor"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + DataMigrationFacadeHelper: Codeunit "Data Migration Facade Helper"; + DataMigrationErrorLogging: Codeunit "Data Migration Error Logging"; + PaymentTermsFormula: DateFormula; + BalancingAccount: Code[20]; + DocTypeToSet: Option " ",Payment,Invoice,"Credit Memo"; + GLDocNbr: Text[20]; + begin + if not ChartOfAccountsMigrated then + exit; + if RecordIdToMigrate.TableNo() <> Database::"SL Vendor" then + exit; + SLCompanyAdditionalSettings.Get(CompanyName); + if not SLCompanyAdditionalSettings.GetGLModuleEnabled() then + exit; + if not SLCompanyAdditionalSettings.GetPayablesModuleEnabled() then + exit; + if SLCompanyAdditionalSettings.GetMigrateOnlyPayablesMaster() then + exit; + + SLVendor.Get(RecordIdToMigrate); + SLAPSetup.Get('AP'); + + Sender.CreateGeneralJournalBatchIfNeeded(CopyStr(VendorBatchNameTxt, 1, 7), '', ''); + SLAPDoc.SetRange(CpnyID, CompanyName); + SLAPDoc.SetRange(VendId, SLVendor.VendId); + SLAPDoc.SetRange(DocType, 'PP'); // Payment + SLAPDoc.SetFilter(DocBal, '<>%1', 0); + if SLAPDoc.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLAPDoc.RecordID)); + + GLDocNbr := 'SL' + SLAPDoc.RefNbr; + BalancingAccount := SLAPSetup.APAcct; + + Sender.CreateGeneralJournalLine( + CopyStr(VendorBatchNameTxt, 1, 7), + GLDocNbr, + SLAPDoc.DocDesc, + DT2Date(SLAPDoc.DocDate), + 0D, + SLAPDoc.DocBal, + SLAPDoc.DocBal, + '', + BalancingAccount + ); + + Sender.SetGeneralJournalLineDocumentType(DocTypeToSet::Payment); + DataMigrationFacadeHelper.CreateSourceCodeIfNeeded(CopyStr(SourceCodeTxt, 1, 10)); + Sender.SetGeneralJournalLineSourceCode(CopyStr(SourceCodeTxt, 1, 10)); + if SLAPDoc.PONbr.TrimEnd() <> '' then + Sender.SetGeneralJournalLineExternalDocumentNo('PO-' + SLAPDoc.PONbr) + else + Sender.SetGeneralJournalLineExternalDocumentNo(SLAPDoc.CpnyID + SLAPDoc.RefNbr); + until SLAPDoc.Next() = 0; + + SLAPDoc.Reset(); + SLAPDoc.SetRange(CpnyID, CompanyName); + SLAPDoc.SetRange(VendId, SLVendor.VendId); + SLAPDoc.SetFilter(DocType, '%1|%2', 'VO', 'AC'); // Invoice + SLAPDoc.SetFilter(DocBal, '<>%1', 0); + if SLAPDoc.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLAPDoc.RecordID)); + + GLDocNbr := 'SL' + SLAPDoc.RefNbr; + BalancingAccount := SLAPSetup.APAcct; + + Sender.CreateGeneralJournalLine( + CopyStr(VendorBatchNameTxt, 1, 7), + GLDocNbr, + SLAPDoc.DocDesc, + DT2Date(SLAPDoc.DocDate), + DT2Date(SLAPDoc.DueDate), + SLAPDoc.DocBal * -1, + SLAPDoc.DocBal * -1, + '', + BalancingAccount + ); + + Sender.SetGeneralJournalLineDocumentType(DocTypeToSet::Invoice); + DataMigrationFacadeHelper.CreateSourceCodeIfNeeded(CopyStr(SourceCodeTxt, 1, 10)); + Sender.SetGeneralJournalLineSourceCode(CopyStr(SourceCodeTxt, 1, 10)); + if SLAPDoc.PONbr.TrimEnd() <> '' then + Sender.SetGeneralJournalLineExternalDocumentNo('PO-' + SLAPDoc.PONbr) + else + Sender.SetGeneralJournalLineExternalDocumentNo(SLAPDoc.CpnyID + SLAPDoc.RefNbr); + + if (SLAPDoc.Terms.TrimEnd() <> '') then begin + Evaluate(PaymentTermsFormula, ''); + Sender.CreatePaymentTermsIfNeeded(SLAPDoc.Terms, SLAPDoc.Terms, PaymentTermsFormula); + Sender.SetGeneralJournalLinePaymentTerms(SLAPDoc.Terms); + end; + until SLAPDoc.Next() = 0; + + SLAPDoc.Reset(); + SLAPDoc.SetRange(CpnyID, CompanyName); + SLAPDoc.SetRange(VendId, SLVendor.VendId); + SLAPDoc.SetFilter(DocType, 'AD'); // Credit Memo + SLAPDoc.SetFilter(DocBal, '<>%1', 0); + if SLAPDoc.FindSet() then + repeat + DataMigrationErrorLogging.SetLastRecordUnderProcessing(Format(SLAPDoc.RecordID)); + + GLDocNbr := 'SL' + SLAPDoc.RefNbr; + BalancingAccount := SLAPSetup.APAcct; + + Sender.CreateGeneralJournalLine( + CopyStr(VendorBatchNameTxt, 1, 7), + GLDocNbr, + SLAPDoc.DocDesc, + DT2Date(SLAPDoc.DocDate), + DT2Date(SLAPDoc.DueDate), + SLAPDoc.DocBal, + SLAPDoc.DocBal, + '', + BalancingAccount + ); + + Sender.SetGeneralJournalLineDocumentType(DocTypeToSet::"Credit Memo"); + DataMigrationFacadeHelper.CreateSourceCodeIfNeeded(CopyStr(SourceCodeTxt, 1, 10)); + Sender.SetGeneralJournalLineSourceCode(CopyStr(SourceCodeTxt, 1, 10)); + if SLAPDoc.PONbr.TrimEnd() <> '' then + Sender.SetGeneralJournalLineExternalDocumentNo('PO-' + SLAPDoc.PONbr) + else + Sender.SetGeneralJournalLineExternalDocumentNo(SLAPDoc.CpnyID + SLAPDoc.RefNbr); + + if (SLAPDoc.Terms.TrimEnd() <> '') then begin + Evaluate(PaymentTermsFormula, ''); + Sender.CreatePaymentTermsIfNeeded(SLAPDoc.Terms, SLAPDoc.Terms, PaymentTermsFormula); + Sender.SetGeneralJournalLinePaymentTerms(SLAPDoc.Terms); + end; + until SLAPDoc.Next() = 0; + end; + + internal procedure MigrateVendorDetails(SLVendor: Record "SL Vendor"; VendorDataMigrationFacade: Codeunit "Vendor Data Migration Facade"; SLAPSetup: Record "SL APSetup") + var + CompanyInformation: Record "Company Information"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + GenBusinessPostingGroup: Record "Gen. Business Posting Group"; + VendorPostingGroup: Record "Vendor Posting Group"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + PaymentTermsFormula: DateFormula; + Country: Code[10]; + ContactAddressFormatToSet: Option First,"After Company Name",Last; + AddressFormatToSet: Option "Post Code+City","City+Post Code","City+County+Post Code","Blank Line+Post Code+City"; + VendorName: Text[50]; + VendorName2: Text[50]; + Address1: Text[50]; + begin + if not VendorDataMigrationFacade.CreateVendorIfNeeded(SLVendor.VendId, CopyStr(SLHelperFunctions.NameFlip(SLVendor.Name), 1, MaxStrLen(VendorName))) then + exit; + + if SLVendor.Status = 'I' then + if SLCompanyAdditionalSettings.Get(CompanyName()) then + if not SLCompanyAdditionalSettings."Migrate Inactive Vendors" then begin + DecrementMigratedCount(); + exit; + end; + + if (SLVendor.Country.TrimEnd() <> '') then begin + Country := SLVendor.Country; + VendorDataMigrationFacade.CreateCountryIfNeeded(Country, Country, AddressFormatToSet::"Post Code+City", ContactAddressFormatToSet::"After Company Name"); + end else begin + CompanyInformation.Get(); + Country := CompanyInformation."Country/Region Code"; + end; + + if (SLVendor.Zip.TrimEnd() <> '') and (SLVendor.City.TrimEnd() <> '') then + VendorDataMigrationFacade.CreatePostCodeIfNeeded(SLVendor.Zip, SLVendor.City, SLVendor.State, Country); + + VendorDataMigrationFacade.SetAddress(CopyStr(SLVendor.Addr1, 1, MaxStrLen(Address1)), CopyStr(SLVendor.Addr2, 1, 50), SLVendor.Country, SLVendor.Zip, SLVendor.City); + + VendorDataMigrationFacade.SetContact(SLVendor.Attn); + VendorDataMigrationFacade.SetPhoneNo(SLVendor.Phone); + VendorDataMigrationFacade.SetFaxNo(SLVendor.Fax); + + if SLCompanyAdditionalSettings.GetGLModuleEnabled() then begin + VendorDataMigrationFacade.CreatePostingSetupIfNeeded(PostingGroupCodeTxt, 'Migrated from SL', SLAPSetup.APAcct); + VendorDataMigrationFacade.SetVendorPostingGroup(CopyStr(PostingGroupCodeTxt, 1, MaxStrLen(VendorPostingGroup.Code))); + VendorDataMigrationFacade.SetGenBusPostingGroup(CopyStr(PostingGroupCodeTxt, 1, MaxStrLen(GenBusinessPostingGroup.Code))); + end; + + if (SLVendor.Terms <> '') then begin + Evaluate(PaymentTermsFormula, ''); + VendorDataMigrationFacade.CreatePaymentTermsIfNeeded(SLVendor.Terms, SLVendor.Terms, PaymentTermsFormula); + VendorDataMigrationFacade.SetPaymentTermsCode(SLVendor.Terms); + end; + + if (SLVendor.RemitName.TrimEnd() <> '') then begin + VendorName2 := CopyStr(SLHelperFunctions.NameFlip(SLVendor.RemitName.TrimEnd()), 1, MaxStrLen(VendorName2)); + VendorDataMigrationFacade.SetName2(VendorName2); + end; + + VendorDataMigrationFacade.ModifyVendor(true); + end; + + internal procedure MigrateVendorAddresses(SLVendor: Record "SL Vendor") + var + SLPOAddress: Record "SL POAddress"; + Vendor: Record Vendor; + begin + if not Vendor.Get(SLVendor.VendId) then + exit; + + SLPOAddress.SetRange(VendId, Vendor."No."); + if SLPOAddress.FindSet() then + repeat + CreateOrUpdateOrderAddress(Vendor, SLPOAddress, SLPOAddress.OrdFromId); + until SLPOAddress.Next() = 0; + end; + + internal procedure CreateOrUpdateOrderAddress(Vendor: Record Vendor; SLPOAddress: Record "SL POAddress"; OrderAddressCode: Code[10]) + var + OrderAddress: Record "Order Address"; + MailManagement: Codeunit "Mail Management"; + begin + if not OrderAddress.Get(Vendor."No.", OrderAddressCode) then begin + OrderAddress."Vendor No." := Vendor."No."; + OrderAddress.Code := OrderAddressCode; + OrderAddress.Insert(); + end; + + OrderAddress.Name := Vendor.Name; + OrderAddress.Address := SLPOAddress.Addr1; + OrderAddress."Address 2" := CopyStr(SLPOAddress.Addr2, 1, MaxStrLen(OrderAddress."Address 2")); + OrderAddress.City := SLPOAddress.City; + OrderAddress.Contact := SLPOAddress.Attn; + OrderAddress."Phone No." := SLPOAddress.Phone; + OrderAddress."Fax No." := SLPOAddress.Fax; + OrderAddress."Post Code" := SLPOAddress.Zip; + OrderAddress.County := SLPOAddress.State; + +#pragma warning disable AA0139 + if MailManagement.ValidateEmailAddressField(SLPOAddress.EMailAddr) then + OrderAddress."E-Mail" := SLPOAddress.EMailAddr; +#pragma warning restore AA0139 + + OrderAddress.Modify(); + end; + + internal procedure DecrementMigratedCount() + var + SLHelperFunctions: Codeunit "SL Helper Functions"; + DataMigrationStatusFacade: Codeunit "Data Migration Status Facade"; + begin + DataMigrationStatusFacade.IncrementMigratedRecordCount(SLHelperFunctions.GetMigrationTypeTxt(), Database::Vendor, -1); + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Permissions/SLD365BASICISVMSL.PermissionSetExt.al b/Apps/W1/HybridSL/app/src/Permissions/SLD365BASICISVMSL.PermissionSetExt.al new file mode 100644 index 0000000000..b57d2abbca --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Permissions/SLD365BASICISVMSL.PermissionSetExt.al @@ -0,0 +1,74 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Security.AccessControl; + +permissionsetextension 47002 "SLD365 BASIC ISV - MSL" extends "D365 BASIC ISV" +{ + Permissions = tabledata "SL AccountTransactions" = RIMD, + tabledata "SL Fiscal Periods" = RIMD, + tabledata "SL Account Staging" = RIMD, + tabledata "SL APAdjust" = RIMD, + tabledata "SL APDoc" = RIMD, + tabledata "SL APSetup" = RIMD, + tabledata "SL APTran" = RIMD, + tabledata "SL AP_Balances" = RIMD, + tabledata "SL ARAdjust" = RIMD, + tabledata "SL ARDoc" = RIMD, + tabledata "SL ARSetup" = RIMD, + tabledata "SL ARTran" = RIMD, + tabledata "SL AR_Balances" = RIMD, + tabledata "SL Batch" = RIMD, + tabledata "SL Codes" = RIMD, + tabledata "SL Customer" = RIMD, + tabledata "SL GLTran" = RIMD, + tabledata "SL Hist. Source Error" = RIMD, + tabledata "SL Hist. Source Progress" = RIMD, + tabledata "SL INSetup" = RIMD, + tabledata "SL INTran" = RIMD, + tabledata "SL Inventory" = RIMD, + tabledata "SL InventoryADG" = RIMD, + tabledata "SL ItemCost" = RIMD, + tabledata "SL ItemSite" = RIMD, + tabledata "SL LotSerMst" = RIMD, + tabledata "SL LotSerT" = RIMD, + tabledata "SL Migration Config" = RIMD, + tabledata "SL Payment Terms" = RIMD, + tabledata "SL POAddress" = RIMD, + tabledata "SL POReceipt" = RIMD, + tabledata "SL POSetup" = RIMD, + tabledata "SL POTran" = RIMD, + tabledata "SL PurchOrd" = RIMD, + tabledata "SL PurOrdDet" = RIMD, + tabledata "SL Segments" = RIMD, + tabledata "SL Site" = RIMD, + tabledata "SL SOAddress" = RIMD, + tabledata "SL SOHeader" = RIMD, + tabledata "SL SOLine" = RIMD, + tabledata "SL SOSetup" = RIMD, + tabledata "SL SOShipHeader" = RIMD, + tabledata "SL SOShipLine" = RIMD, + tabledata "SL SOShipLot" = RIMD, + tabledata "SL SOType" = RIMD, + tabledata "SL Terms" = RIMD, + tabledata "SL Vendor" = RIMD, + tabledata "SL Account Staging Setup" = RIMD, + tabledata "SL Company Migration Settings" = RIMD, + tabledata "SL Segment Name" = RIMD, + tabledata "SL Account" = RIMD, + tabledata "SL SegDef" = RIMD, + tabledata "SL Company Additional Settings" = RIMD, + tabledata "SL Migration Error Overview" = RIMD, + tabledata "SL Migration Errors" = RIMD, + tabledata "SL Migration Warnings" = RIMD, + tabledata "SL Upgrade Settings" = RIMD, + tabledata "SL AcctHist" = RIMD, + tabledata "SL GLSetup" = RIMD, + tabledata SLGLAcctBalByPeriod = RIMD, + tabledata SLPeriodListWrkTbl = RIMD, + tabledata "SL FlexDef" = RIMD; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Permissions/SLD365BASICMSL.PermissionSetExt.al b/Apps/W1/HybridSL/app/src/Permissions/SLD365BASICMSL.PermissionSetExt.al new file mode 100644 index 0000000000..6f4bed3940 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Permissions/SLD365BASICMSL.PermissionSetExt.al @@ -0,0 +1,74 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Security.AccessControl; + +permissionsetextension 47001 "SLD365 BASIC - MSL" extends "D365 BASIC" +{ + Permissions = tabledata "SL AccountTransactions" = RIMD, + tabledata "SL Fiscal Periods" = RIMD, + tabledata "SL Account Staging" = RIMD, + tabledata "SL APAdjust" = RIMD, + tabledata "SL APDoc" = RIMD, + tabledata "SL APSetup" = RIMD, + tabledata "SL APTran" = RIMD, + tabledata "SL AP_Balances" = RIMD, + tabledata "SL ARAdjust" = RIMD, + tabledata "SL ARDoc" = RIMD, + tabledata "SL ARSetup" = RIMD, + tabledata "SL ARTran" = RIMD, + tabledata "SL AR_Balances" = RIMD, + tabledata "SL Batch" = RIMD, + tabledata "SL Codes" = RIMD, + tabledata "SL Customer" = RIMD, + tabledata "SL GLTran" = RIMD, + tabledata "SL Hist. Source Error" = RIMD, + tabledata "SL Hist. Source Progress" = RIMD, + tabledata "SL INSetup" = RIMD, + tabledata "SL INTran" = RIMD, + tabledata "SL Inventory" = RIMD, + tabledata "SL InventoryADG" = RIMD, + tabledata "SL ItemCost" = RIMD, + tabledata "SL ItemSite" = RIMD, + tabledata "SL LotSerMst" = RIMD, + tabledata "SL LotSerT" = RIMD, + tabledata "SL Migration Config" = RIMD, + tabledata "SL Payment Terms" = RIMD, + tabledata "SL POAddress" = RIMD, + tabledata "SL POReceipt" = RIMD, + tabledata "SL POSetup" = RIMD, + tabledata "SL POTran" = RIMD, + tabledata "SL PurchOrd" = RIMD, + tabledata "SL PurOrdDet" = RIMD, + tabledata "SL Segments" = RIMD, + tabledata "SL Site" = RIMD, + tabledata "SL SOAddress" = RIMD, + tabledata "SL SOHeader" = RIMD, + tabledata "SL SOLine" = RIMD, + tabledata "SL SOSetup" = RIMD, + tabledata "SL SOShipHeader" = RIMD, + tabledata "SL SOShipLine" = RIMD, + tabledata "SL SOShipLot" = RIMD, + tabledata "SL SOType" = RIMD, + tabledata "SL Terms" = RIMD, + tabledata "SL Vendor" = RIMD, + tabledata "SL Account Staging Setup" = RIMD, + tabledata "SL Company Migration Settings" = RIMD, + tabledata "SL Segment Name" = RIMD, + tabledata "SL Account" = RIMD, + tabledata "SL SegDef" = RIMD, + tabledata "SL Company Additional Settings" = RIMD, + tabledata "SL Migration Error Overview" = RIMD, + tabledata "SL Migration Errors" = RIMD, + tabledata "SL Migration Warnings" = RIMD, + tabledata "SL Upgrade Settings" = RIMD, + tabledata "SL AcctHist" = RIMD, + tabledata "SL GLSetup" = RIMD, + tabledata SLGLAcctBalByPeriod = RIMD, + tabledata SLPeriodListWrkTbl = RIMD, + tabledata "SL FlexDef" = RIMD; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Permissions/SLD365TEAMMEMBERMSL.PermissionSetExt.al b/Apps/W1/HybridSL/app/src/Permissions/SLD365TEAMMEMBERMSL.PermissionSetExt.al new file mode 100644 index 0000000000..e741b25474 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Permissions/SLD365TEAMMEMBERMSL.PermissionSetExt.al @@ -0,0 +1,75 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Security.AccessControl; + +permissionsetextension 47003 "SLD365 TEAM MEMBER - MSL" extends "D365 TEAM MEMBER" +{ + Permissions = tabledata "SL AccountTransactions" = RIMD, + tabledata "SL Fiscal Periods" = RIMD, + + tabledata "SL Account Staging" = RIMD, + tabledata "SL APAdjust" = RIMD, + tabledata "SL APDoc" = RIMD, + tabledata "SL APSetup" = RIMD, + tabledata "SL APTran" = RIMD, + tabledata "SL AP_Balances" = RIMD, + tabledata "SL ARAdjust" = RIMD, + tabledata "SL ARDoc" = RIMD, + tabledata "SL ARSetup" = RIMD, + tabledata "SL ARTran" = RIMD, + tabledata "SL AR_Balances" = RIMD, + tabledata "SL Batch" = RIMD, + tabledata "SL Codes" = RIMD, + tabledata "SL Customer" = RIMD, + tabledata "SL GLTran" = RIMD, + tabledata "SL Hist. Source Error" = RIMD, + tabledata "SL Hist. Source Progress" = RIMD, + tabledata "SL INSetup" = RIMD, + tabledata "SL INTran" = RIMD, + tabledata "SL Inventory" = RIMD, + tabledata "SL InventoryADG" = RIMD, + tabledata "SL ItemCost" = RIMD, + tabledata "SL ItemSite" = RIMD, + tabledata "SL LotSerMst" = RIMD, + tabledata "SL LotSerT" = RIMD, + tabledata "SL Migration Config" = RIMD, + tabledata "SL Payment Terms" = RIMD, + tabledata "SL POAddress" = RIMD, + tabledata "SL POReceipt" = RIMD, + tabledata "SL POSetup" = RIMD, + tabledata "SL POTran" = RIMD, + tabledata "SL PurchOrd" = RIMD, + tabledata "SL PurOrdDet" = RIMD, + tabledata "SL Segments" = RIMD, + tabledata "SL Site" = RIMD, + tabledata "SL SOAddress" = RIMD, + tabledata "SL SOHeader" = RIMD, + tabledata "SL SOLine" = RIMD, + tabledata "SL SOSetup" = RIMD, + tabledata "SL SOShipHeader" = RIMD, + tabledata "SL SOShipLine" = RIMD, + tabledata "SL SOShipLot" = RIMD, + tabledata "SL SOType" = RIMD, + tabledata "SL Terms" = RIMD, + tabledata "SL Vendor" = RIMD, + tabledata "SL Account Staging Setup" = RIMD, + tabledata "SL Company Migration Settings" = RIMD, + tabledata "SL Segment Name" = RIMD, + tabledata "SL Account" = RIMD, + tabledata "SL SegDef" = RIMD, + tabledata "SL Company Additional Settings" = RIMD, + tabledata "SL Migration Error Overview" = RIMD, + tabledata "SL Migration Errors" = RIMD, + tabledata "SL Migration Warnings" = RIMD, + tabledata "SL Upgrade Settings" = RIMD, + tabledata "SL AcctHist" = RIMD, + tabledata "SL GLSetup" = RIMD, + tabledata SLGLAcctBalByPeriod = RIMD, + tabledata SLPeriodListWrkTbl = RIMD, + tabledata "SL FlexDef" = RIMD; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/Permissions/SLINTELLIGENTCLOUDMSL.PermissionSetExt.al b/Apps/W1/HybridSL/app/src/Permissions/SLINTELLIGENTCLOUDMSL.PermissionSetExt.al new file mode 100644 index 0000000000..9285b4fd2a --- /dev/null +++ b/Apps/W1/HybridSL/app/src/Permissions/SLINTELLIGENTCLOUDMSL.PermissionSetExt.al @@ -0,0 +1,74 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Security.AccessControl; + +permissionsetextension 47000 "SLINTELLIGENT CLOUD - MSL" extends "INTELLIGENT CLOUD" +{ + Permissions = tabledata "SL AccountTransactions" = RIMD, + tabledata "SL Fiscal Periods" = RIMD, + tabledata "SL Account Staging" = RIMD, + tabledata "SL APAdjust" = RIMD, + tabledata "SL APDoc" = RIMD, + tabledata "SL APSetup" = RIMD, + tabledata "SL APTran" = RIMD, + tabledata "SL AP_Balances" = RIMD, + tabledata "SL ARAdjust" = RIMD, + tabledata "SL ARDoc" = RIMD, + tabledata "SL ARSetup" = RIMD, + tabledata "SL ARTran" = RIMD, + tabledata "SL AR_Balances" = RIMD, + tabledata "SL Batch" = RIMD, + tabledata "SL Codes" = RIMD, + tabledata "SL Customer" = RIMD, + tabledata "SL GLTran" = RIMD, + tabledata "SL Hist. Source Error" = RIMD, + tabledata "SL Hist. Source Progress" = RIMD, + tabledata "SL INSetup" = RIMD, + tabledata "SL INTran" = RIMD, + tabledata "SL Inventory" = RIMD, + tabledata "SL InventoryADG" = RIMD, + tabledata "SL ItemCost" = RIMD, + tabledata "SL ItemSite" = RIMD, + tabledata "SL LotSerMst" = RIMD, + tabledata "SL LotSerT" = RIMD, + tabledata "SL Migration Config" = RIMD, + tabledata "SL Payment Terms" = RIMD, + tabledata "SL POAddress" = RIMD, + tabledata "SL POReceipt" = RIMD, + tabledata "SL POSetup" = RIMD, + tabledata "SL POTran" = RIMD, + tabledata "SL PurchOrd" = RIMD, + tabledata "SL PurOrdDet" = RIMD, + tabledata "SL Segments" = RIMD, + tabledata "SL Site" = RIMD, + tabledata "SL SOAddress" = RIMD, + tabledata "SL SOHeader" = RIMD, + tabledata "SL SOLine" = RIMD, + tabledata "SL SOSetup" = RIMD, + tabledata "SL SOShipHeader" = RIMD, + tabledata "SL SOShipLine" = RIMD, + tabledata "SL SOShipLot" = RIMD, + tabledata "SL SOType" = RIMD, + tabledata "SL Terms" = RIMD, + tabledata "SL Vendor" = RIMD, + tabledata "SL Account Staging Setup" = RIMD, + tabledata "SL Company Migration Settings" = RIMD, + tabledata "SL Segment Name" = RIMD, + tabledata "SL Account" = RIMD, + tabledata "SL SegDef" = RIMD, + tabledata "SL Company Additional Settings" = RIMD, + tabledata "SL Migration Error Overview" = RIMD, + tabledata "SL Migration Errors" = RIMD, + tabledata "SL Migration Warnings" = RIMD, + tabledata "SL Upgrade Settings" = RIMD, + tabledata "SL AcctHist" = RIMD, + tabledata "SL GLSetup" = RIMD, + tabledata SLGLAcctBalByPeriod = RIMD, + tabledata SLPeriodListWrkTbl = RIMD, + tabledata "SL FlexDef" = RIMD; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/codeunits/SLCloudMigration.Codeunit.al b/Apps/W1/HybridSL/app/src/codeunits/SLCloudMigration.Codeunit.al new file mode 100644 index 0000000000..8b68c285e5 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/codeunits/SLCloudMigration.Codeunit.al @@ -0,0 +1,223 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; +using Microsoft.Utilities; +using System.Integration; +using Microsoft.Finance.GeneralLedger.Account; +using Microsoft.Sales.Customer; +using Microsoft.Purchases.Vendor; +using Microsoft.Inventory.Item; + +codeunit 47001 "SL Cloud Migration" +{ + Access = Internal; + TableNo = "Hybrid Replication Summary"; + trigger OnRun(); + var + HybridCompanyStatus: Record "Hybrid Company Status"; + HybridSLManagement: Codeunit "SL Hybrid Management"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + SLMigrationErrorHandler: Codeunit "SL Migration Error Handler"; + HybridHandleSLUpgradeError: Codeunit "SL Hybrid Handle Upgrade Error"; + Success: Boolean; + begin + SLMigrationErrorHandler.ClearErrorOccurred(); + + ClearLastError(); + OnUpgradeSLCompany(Success); + + if not Success then begin + HybridHandleSLUpgradeError.MarkUpgradeFailed(Rec); + Commit(); + + SLHelperFunctions.CheckAndLogErrors(); + SLMigrationErrorHandler.ClearErrorOccurred(); + Commit(); + end; + + HybridCompanyStatus.SetFilter(Name, '<>'''''); + HybridCompanyStatus.SetRange("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Pending); + if HybridCompanyStatus.FindFirst() then begin + HybridSLManagement.InvokeCompanyUpgrade(Rec, HybridCompanyStatus.Name); + exit; + end; + + if not Rec.Find() then + exit; + + if Rec.Status = Rec.Status::Failed then + exit; + + if SLMigrationErrorHandler.ErrorOccurredDuringLastUpgrade() then begin + HybridHandleSLUpgradeError.MarkUpgradeFailed(Rec); + exit; + end; + + Rec.Status := Rec.Status::Completed; + Rec.Modify(); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"SL Cloud Migration", OnUpgradeSLCompany, '', false, false)] + local procedure HandleOnUpgradeSLCompany(var Success: Boolean) + var + SLMigrationErrorHandler: Codeunit "SL Migration Error Handler"; + begin + ClearLastError(); + UpgradeSLCompany(); + Success := not SLMigrationErrorHandler.GetErrorOccurred(); + end; + + internal procedure UpgradeSLCompany() + var + AssistedCompanySetupStatus: Record "Assisted Company Setup Status"; + HybridCompanyStatus: Record "Hybrid Company Status"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + SetupStatus: Enum "Company Setup Status"; + begin + if AssistedCompanySetupStatus.Get(CompanyName()) then begin + SetupStatus := AssistedCompanySetupStatus.GetCompanySetupStatusValue(CopyStr(CompanyName(), 1, 30)); + if SetupStatus = SetupStatus::Completed then + InitiateSLMigration() + else + Session.LogMessage('000029K', CompanyFailedToMigrateMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + end; + + Commit(); + HybridCompanyStatus.Get(CompanyName); + HybridCompanyStatus."Upgrade Status" := HybridCompanyStatus."Upgrade Status"::Completed; + HybridCompanyStatus.Modify(); + end; + + var + AccountsToMigrateCount: Integer; + CustomersToMigrateCount: Integer; + VendorsToMigrateCount: Integer; + ItemsToMigrateCount: Integer; + CompanyFailedToMigrateMsg: Label 'Migration did not start because the company setup is still in process.', Locked = true; + InitiateMigrationMsg: Label 'Initiate SL Migration.', Locked = true; + StartMigrationMsg: Label 'Start Migration', Locked = true; + + internal procedure InitiateSLMigration() + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + DataMigrationEntity: Record "Data Migration Entity"; + SLMigrationConfig: Record "SL Migration Config"; + DataMigrationFacade: Codeunit "Data Migration Facade"; + SLDimensions: Codeunit "SL Dimensions"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + SLPopulateAccounts: Codeunit "SL Populate Accounts"; + SLPopulateAccountHistory: Codeunit "SL Populate Account History"; + SLPopulateFiscalPeriods: Codeunit "SL Populate Fiscal Periods"; + WizardIntegration: Codeunit "SL Wizard Integration"; + Flag: Boolean; + begin + Session.LogMessage('0000BBH', InitiateMigrationMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + + SelectLatestVersion(); + SLHelperFunctions.SetProcessesRunning(true); + + SLPopulateFiscalPeriods.CreateFiscalPeriodsFromGLSetup(); + SLDimensions.InsertSLSegmentsForDimensionSets(); + SLDimensions.CreateSLCodes(); + SLPopulateAccounts.PopulateSLAccounts(); + SLPopulateAccountHistory.Run(); + Commit(); + + Flag := false; + SLHelperFunctions.ResetAdjustforPaymentInGLSetup(Flag); + if Flag then begin + SLMigrationConfig.GetSingleInstance(); + SLMigrationConfig."Updated GL Setup" := true; + SLMigrationConfig.Modify(); + end; + + if not WizardIntegration.RegisterSLDataMigrator() then begin + SLHelperFunctions.GetLastError(); + SLHelperFunctions.SetProcessesRunning(false); + exit; + end; + + AccountsToMigrateCount := SLHelperFunctions.GetNumberOfAccounts(); + CustomersToMigrateCount := SLHelperFunctions.GetNumberOfCustomers(); + VendorsToMigrateCount := SLHelperFunctions.GetNumberOfVendors(); + ItemsToMigrateCount := SLHelperFunctions.GetNumberOfItems(); + + CreateDataMigrationEntites(DataMigrationEntity); + + if not SLHelperFunctions.CreatePreMigrationData() then begin + SLHelperFunctions.GetLastError(); + SLHelperFunctions.SetProcessesRunning(false); + exit; + end; + + Commit(); + if SLCompanyMigrationSettings.Get(CompanyName()) then begin + SLHelperFunctions.SetGlobalDimensions(CopyStr(SLCompanyMigrationSettings."Global Dimension 1", 1, 20), CopyStr(SLCompanyMigrationSettings."Global Dimension 2", 1, 20)); + SLHelperFunctions.UpdateGlobalDimensionNo(); + end; + + CreateConfiguredDataMigrationStatusRecords(); + + Session.LogMessage('0000BBI', StartMigrationMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + DataMigrationFacade.StartMigration(SLHelperFunctions.GetMigrationTypeTxt(), false); + end; + + internal procedure CreateDataMigrationStatusRecords(DestinationTableID: Integer; NumberOfRecords: Integer; StagingTableID: Integer; CodeunitToRun: Integer) + var + DataMigrationStatus: Record "Data Migration Status"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + begin + DataMigrationStatus.Init(); + DataMigrationStatus.Validate("Migration Type", SLHelperFunctions.GetMigrationTypeTxt()); + DataMigrationStatus.Validate("Destination Table ID", DestinationTableID); + DataMigrationStatus.Validate("Total Number", NumberOfRecords); + DataMigrationStatus.Validate(Status, DataMigrationStatus.Status::Pending); + DataMigrationStatus.Validate("Source Staging Table ID", StagingTableID); + DataMigrationStatus.Validate("Migration Codeunit To Run", CodeunitToRun); + DataMigrationStatus.Insert() + end; + + internal procedure CreateDataMigrationEntites(var DataMigrationEntity: Record "Data Migration Entity"): Boolean + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + begin + DataMigrationEntity.InsertRecord(Database::"G/L Account", AccountsToMigrateCount); + + if SLCompanyAdditionalSettings.GetReceivablesModuleEnabled() then + DataMigrationEntity.InsertRecord(Database::Customer, CustomersToMigrateCount); + + if SLCompanyAdditionalSettings.GetPayablesModuleEnabled() then + DataMigrationEntity.InsertRecord(Database::Vendor, VendorsToMigrateCount); + + if SLCompanyAdditionalSettings.GetInventoryModuleEnabled() then + DataMigrationEntity.InsertRecord(Database::Item, ItemsToMigrateCount); + + exit(true); + end; + + internal procedure CreateConfiguredDataMigrationStatusRecords() + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + begin + CreateDataMigrationStatusRecords(Database::"G/L Account", AccountsToMigrateCount, Database::"SL Account Staging", Codeunit::"SL Account Migrator"); + + if SLCompanyAdditionalSettings.GetReceivablesModuleEnabled() then + CreateDataMigrationStatusRecords(Database::Customer, CustomersToMigrateCount, Database::"SL Customer", Codeunit::"SL Customer Migrator"); + + if SLCompanyAdditionalSettings.GetPayablesModuleEnabled() then + CreateDataMigrationStatusRecords(Database::Vendor, VendorsToMigrateCount, Database::"SL Vendor", Codeunit::"SL Vendor Migrator"); + + if SLCompanyAdditionalSettings.GetInventoryModuleEnabled() then + CreateDataMigrationStatusRecords(Database::Item, ItemsToMigrateCount, Database::"SL Inventory", Codeunit::"SL Item Migrator"); + end; + + [IntegrationEvent(false, false, true)] + internal procedure OnUpgradeSLCompany(var Success: Boolean) + begin + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/codeunits/SLDimensions.Codeunit.al b/Apps/W1/HybridSL/app/src/codeunits/SLDimensions.Codeunit.al new file mode 100644 index 0000000000..8d14bba17d --- /dev/null +++ b/Apps/W1/HybridSL/app/src/codeunits/SLDimensions.Codeunit.al @@ -0,0 +1,317 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +codeunit 47020 "SL Dimensions" +{ + Access = Internal; + + internal procedure GetSegmentNames() + begin + SLFlexDef.Reset(); + SLFlexDef.SetFilter(FieldClassName, 'SUBACCOUNT'); + if not SLFlexDef.FindFirst() then + exit; + + HybridCompany.SetRange(Replicate, true); + if HybridCompany.FindSet() then + repeat + MigratingCompanyList.Add(HybridCompany.Name); + until HybridCompany.Next() = 0; + + SLSegmentName.DeleteAll(); + SegmentNbr := 0; + repeat + InsertSegmentName(); + SegmentNbr := SegmentNbr + 1; + until SegmentNbr = SLFlexDef.NumberSegments; + end; + + internal procedure InsertSegmentName() + begin + Clear(SLSegmentName); + SLSegmentName."Segment Number" := SegmentNbr; + SLSegmentName."Company Name" := CopyStr(MigratingCompanyList.Get(1), 1, MaxStrLen(SLSegmentName."Company Name")); + case SegmentNbr of + 0: + SLSegmentName."Segment Name" := SLFlexDef.Descr00; + 1: + SLSegmentName."Segment Name" := SLFlexDef.Descr01; + 2: + SLSegmentName."Segment Name" := SLFlexDef.Descr02; + 3: + SLSegmentName."Segment Name" := SLFlexDef.Descr03; + 4: + SLSegmentName."Segment Name" := SLFlexDef.Descr04; + 5: + SLSegmentName."Segment Name" := SLFlexDef.Descr05; + 6: + SLSegmentName."Segment Name" := SLFlexDef.Descr06; + 7: + SLSegmentName."Segment Name" := SLFlexDef.Descr07; + end; + SLSegmentName.Insert(); + end; + + internal procedure InsertSLSegmentsForDimensionSets() + var + SLSegments: Record "SL Segments"; + begin + + SLFlexDef.Reset(); + SLFlexDef.SetFilter(FieldClassName, 'SUBACCOUNT'); + if not SLFlexDef.FindFirst() then + exit; + SegmentNbr := 0; + SLSegments.DeleteAll(); + repeat + case SegmentNbr of + 0: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr00) then + SLSegments.Id := SLFlexDef.Descr00.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr00; + SLSegments.Name := SLFlexDef.Descr00; + SLSegments.CodeCaption := SLFlexDef.Descr00.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr00.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + 1: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr01) then + SLSegments.Id := SLFlexDef.Descr01.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr01; + SLSegments.Name := SLFlexDef.Descr01; + SLSegments.CodeCaption := SLFlexDef.Descr01.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr01.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + 2: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr02) then + SLSegments.Id := SLFlexDef.Descr02.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr02; + SLSegments.Name := SLFlexDef.Descr02; + SLSegments.CodeCaption := SLFlexDef.Descr02.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr02.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + 3: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr03) then + SLSegments.Id := SLFlexDef.Descr03.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr03; + SLSegments.Name := SLFlexDef.Descr03; + SLSegments.CodeCaption := SLFlexDef.Descr03.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr03.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + 4: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr04) then + SLSegments.Id := SLFlexDef.Descr04.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr04; + SLSegments.Name := SLFlexDef.Descr04; + SLSegments.CodeCaption := SLFlexDef.Descr04.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr04.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + 5: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr05) then + SLSegments.Id := SLFlexDef.Descr05.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr05; + SLSegments.Name := SLFlexDef.Descr05; + SLSegments.CodeCaption := SLFlexDef.Descr05.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr05.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + 6: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr06) then + SLSegments.Id := SLFlexDef.Descr06.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr06; + SLSegments.Name := SLFlexDef.Descr06; + SLSegments.CodeCaption := SLFlexDef.Descr06.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr06.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + 7: + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr07) then + SLSegments.Id := SLFlexDef.Descr07.Trim() + 's' + else + SLSegments.Id := SLFlexDef.Descr07; + SLSegments.Name := SLFlexDef.Descr07; + SLSegments.CodeCaption := SLFlexDef.Descr07.Trim() + ' Code'; + SLSegments.FilterCaption := SLFlexDef.Descr07.Trim() + ' Filter'; + SLSegments.SegmentNumber := SegmentNbr + 1; + SLSegments.Insert(); + Commit(); + end; + end; + SegmentNbr += 1; + until SegmentNbr = SLFlexDef.NumberSegments; + end; + + internal procedure FlexDefDescInSLSubaccountSegDesc(flexDefDesc: Text[15]): Boolean + begin + case flexDefDesc.ToUpper().Trim() of + 'G/L ACCOUNT': + exit(true); + 'BUSINESS UNIT': + exit(true); + 'ITEM': + exit(true); + 'LOCATION': + exit(true); + 'PERIOD': + exit(true); + else + exit(false); + end; + end; + + internal procedure CreateSLCodes() + var + SLSegdef: Record "SL SegDef"; + SLCodes: Record "SL Codes"; + begin + SLFlexDef.Reset(); + SLFlexDef.SetFilter(FieldClassName, 'SUBACCOUNT'); + if not SLFlexDef.FindFirst() then + exit; + + SLCodes.DeleteAll(); + SLSegdef.SetCurrentKey(SegNumber); + SLSegdef.Ascending(true); + SLSegdef.SetFilter(FieldClassName, 'SUBACCOUNT'); + if SLSegdef.FindSet() then + repeat + case SLSegdef.SegNumber.Trim() of + '1': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr00) then + SLCodes.Id := SLFlexDef.Descr00.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr00; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + '2': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr01) then + SLCodes.Id := SLFlexDef.Descr01.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr01; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + '3': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr02) then + SLCodes.Id := SLFlexDef.Descr02.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr02; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + '4': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr03) then + SLCodes.Id := SLFlexDef.Descr03.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr03; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + '5': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr04) then + SLCodes.Id := SLFlexDef.Descr04.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr04; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + '6': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr05) then + SLCodes.Id := SLFlexDef.Descr05.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr05; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + '7': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr06) then + SLCodes.Id := SLFlexDef.Descr06.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr06; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + '8': + begin + if FlexDefDescInSLSubaccountSegDesc(SLFlexDef.Descr07) then + SLCodes.Id := SLFlexDef.Descr07.Trim() + 's' + else + SLCodes.Id := SLFlexDef.Descr07; + SLCodes.Name := SLSegdef.ID; + SLCodes.Description := SLSegdef.Description; + SLCodes.Insert(); + Commit(); + end; + end; + + until SLSegdef.Next() = 0; + end; + + var + SLFlexDef: Record "SL FlexDef"; + SLSegmentName: Record "SL Segment Name"; + HybridCompany: Record "Hybrid Company"; + SegmentNbr: Integer; + MigratingCompanyList: List of [Text]; +} diff --git a/Apps/W1/HybridSL/app/src/codeunits/SLHybridHandleUpgradeError.Codeunit.al b/Apps/W1/HybridSL/app/src/codeunits/SLHybridHandleUpgradeError.Codeunit.al new file mode 100644 index 0000000000..205aba543b --- /dev/null +++ b/Apps/W1/HybridSL/app/src/codeunits/SLHybridHandleUpgradeError.Codeunit.al @@ -0,0 +1,36 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +codeunit 47015 "SL Hybrid Handle Upgrade Error" +{ + Access = Internal; + TableNo = "Hybrid Replication Summary"; + + trigger OnRun() + begin + MarkUpgradeFailed(Rec); + end; + + internal procedure MarkUpgradeFailed(var HybridReplicationSummary: Record "Hybrid Replication Summary") + var + HybridCompanyStatus: Record "Hybrid Company Status"; + FailureMessageOutStream: OutStream; + begin + HybridCompanyStatus.Get(CompanyName); + HybridCompanyStatus."Upgrade Status" := HybridCompanyStatus."Upgrade Status"::Failed; + HybridCompanyStatus."Upgrade Failure Message".CreateOutStream(FailureMessageOutStream); + FailureMessageOutStream.Write(GetLastErrorText()); + HybridCompanyStatus.Modify(); + Commit(); + + HybridReplicationSummary.Find(); + HybridReplicationSummary.Status := HybridReplicationSummary.Status::UpgradeFailed; + HybridReplicationSummary.Modify(); + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/codeunits/SLHybridManagement.Codeunit.al b/Apps/W1/HybridSL/app/src/codeunits/SLHybridManagement.Codeunit.al new file mode 100644 index 0000000000..c4c34829ea --- /dev/null +++ b/Apps/W1/HybridSL/app/src/codeunits/SLHybridManagement.Codeunit.al @@ -0,0 +1,296 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; +using System.Integration; +using System.Text; + +codeunit 47013 "SL Hybrid Management" +{ + Access = Internal; + + var + ItemLengthErr: Label 'There are items that need to be truncated which might cause duplicate key errors. Please check all items where the length of the ITEMNMBR field is greater than 20. Examples: %1', Comment = '%1 - List of Items'; + PostingSetupErr: Label 'These Posting Accounts are missing and will cause posting errors: %1', Comment = '%1 - List of Posting Accounts'; + UpgradeWasScheduledMsg: Label 'Company Migration Upgrade was successfully scheduled'; + UpdateStatusOnHybridReplicationCompletedMsg: Label 'Updating status on SL migration completed.', Locked = true; + SqlCompatibilityErr: Label 'SQL database must be at compatibility level 130 or higher.'; + CannotContinueUpgradeFailedMsg: Label 'Previous data upgrade has failed. You need to delete the failed companies and to migrate them again.'; + ReplicationCompletedServiceTypeTxt: Label 'ReplicationCompleted', Locked = true; + SLSettingUpgradePendingOnReplicationRunCompletedMsg: Label 'Setting upgrade pending on Replication Run Completed.', Locked = true; + SLCloudMigrationReplicationErrorsMsg: Label 'Errors occurred during SL Cloud Migration. Error message: %1.', Locked = true; + StartingHandleInitializationofSLSynchronizationTelemetryMsg: Label 'Starting HandleInitializationofSLSynchronization', Locked = true; + CannotUseDataMigrationOverviewMsg: Label 'It is not possible to use the Data Migration Overview page to fix the errors that occurred during SL Cloud Migration, it will not be possible to start the Data Upgrade again. Investigate the issue and after fixing the issue, delete the failed companies and migrate them again.'; + ProductIdLbl: Label 'DynamicsSL', Locked = true; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnReplicationRunCompleted, '', false, false)] + local procedure HandleSLOnReplicationRunCompleted(RunId: Text[50]; SubscriptionId: Text; NotificationText: Text) + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + HybridCloudManagement: Codeunit "Hybrid Cloud Management"; + begin + if not HybridCloudManagement.CanHandleNotification(SubscriptionId, HybridSLWizard.ProductIdTxt()) then + exit; + + UpdateStatusOnHybridReplicationCompleted(RunId, NotificationText); + InitializationofSLSynchronization(RunId, SubscriptionId, NotificationText); + end; + + [EventSubscriber(ObjectType::Page, Page::"Hybrid Cloud Setup Wizard", OnHandleCloseWizard, '', false, false)] + local procedure OnHandleSLCloseWizard(var Handled: Boolean; var CloseWizard: Boolean) + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if not (HybridSLWizard.GetSLMigrationEnabled()) then + exit; + + Handled := true; + CloseWizard := true; + end; + + [EventSubscriber(ObjectType::Page, Page::"Data Migration Overview", OnOpenPageEvent, '', false, false)] + local procedure HandleDataMigrationOverviewOpen(var Rec: Record "Data Migration Status") + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if not (HybridSLWizard.GetSLMigrationEnabled()) then + exit; + Message(CannotUseDataMigrationOverviewMsg); + end; + + internal procedure InitializationofSLSynchronization(RunID: Text[50]; SubscriptionId: Text; NotificationText: Text) + var + HybridCompanyStatus: Record "Hybrid Company Status"; + HybridReplicationSummary: Record "Hybrid Replication Summary"; + HybridCloudManagement: Codeunit "Hybrid Cloud Management"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + JsonManagement: Codeunit "JSON Management"; + ServiceType: Text; + begin + if HybridCloudManagement.CanHandleNotification(SubscriptionId, ProductIdLbl) then begin + // Do not process migration data for a diagnostic run since there should be none + if HybridReplicationSummary.Get(RunID) and (HybridReplicationSummary.ReplicationType = HybridReplicationSummary.ReplicationType::Diagnostic) then + exit; + + JsonManagement.InitializeObject(NotificationText); + JsonManagement.GetStringPropertyValueByName('ServiceType', ServiceType); + Session.LogMessage('0000FXA', StartingHandleInitializationofSLSynchronizationTelemetryMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + + if ServiceType = ReplicationCompletedServiceTypeTxt then begin + Session.LogMessage('0000FVN', SLSettingUpgradePendingOnReplicationRunCompletedMsg, Verbosity::Warning, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + HybridCloudManagement.SetUpgradePendingOnReplicationRunCompleted(RunID, SubscriptionId, NotificationText); + + if HybridCompanyStatus.Get('') then + HybridCompanyStatus.Delete(); + end + end; + end; + + internal procedure UpdateStatusOnHybridReplicationCompleted(RunId: Text[50]; NotificationText: Text) + var + HybridReplicationDetail: Record "Hybrid Replication Detail"; + HybridMessageManagement: Codeunit "Hybrid Message Management"; + JsonManagement: Codeunit "JSON Management"; + JsonManagement2: Codeunit "JSON Management"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + IncrementalTableCount: Integer; + i: Integer; + j: Integer; + ErrorCode: Text; + ErrorMessage: Text; + Errors: Text; + IncrementalTable: Text; + Value: Text; + begin + Session.LogMessage('0000FVL', UpdateStatusOnHybridReplicationCompletedMsg, Verbosity::Normal, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + // Get table information, iterate through and create detail records for each + for j := 1 to 2 do begin + JsonManagement.InitializeObject(NotificationText); + // Wrapping these in if/then pairs to ensure backward-compatibility + if j = 1 then + if (not JsonManagement.GetArrayPropertyValueAsStringByName('IncrementalTables', Value)) then exit; + if j = 2 then + if (not JsonManagement.GetArrayPropertyValueAsStringByName('SLHistoryTables', Value)) then exit; + JsonManagement.InitializeCollection(Value); + IncrementalTableCount := JsonManagement.GetCollectionCount(); + + for i := 0 to IncrementalTableCount - 1 do begin + JsonManagement.GetObjectFromCollectionByIndex(IncrementalTable, i); + JsonManagement.InitializeObject(IncrementalTable); + + HybridReplicationDetail.Init(); + HybridReplicationDetail."Run ID" := RunId; + JsonManagement.GetStringPropertyValueByName('TableName', Value); + HybridReplicationDetail."Table Name" := CopyStr(Value, 1, 250); + + JsonManagement.GetStringPropertyValueByName('CompanyName', Value); + HybridReplicationDetail."Company Name" := CopyStr(Value, 1, 250); + + HybridReplicationDetail.Status := HybridReplicationDetail.Status::Successful; + if JsonManagement.GetStringPropertyValueByName('Errors', Errors) and Errors.StartsWith('[') then begin + JsonManagement2.InitializeCollection(Errors); + if JsonManagement2.GetCollectionCount() > 0 then begin + JsonManagement2.GetObjectFromCollectionByIndex(Value, 0); + JsonManagement2.InitializeObject(Value); + JsonManagement2.GetStringPropertyValueByName('Code', ErrorCode); + JsonManagement2.GetStringPropertyValueByName('Message', ErrorMessage); + end; + end else begin + JsonManagement.GetStringPropertyValueByName('ErrorMessage', ErrorMessage); + JsonManagement.GetStringPropertyValueByName('ErrorCode', ErrorCode); + end; + if (ErrorMessage <> '') or (ErrorCode <> '') then begin + HybridReplicationDetail.Status := HybridReplicationDetail.Status::Failed; + ErrorMessage := HybridMessageManagement.ResolveMessageCode(CopyStr(ErrorCode, 1, 10), ErrorMessage); + HybridReplicationDetail."Error Message" := CopyStr(ErrorMessage, 1, 2048); + HybridReplicationDetail."Error Code" := CopyStr(ErrorCode, 1, 10); + Session.LogMessage('0000FVM', StrSubstNo(SLCloudMigrationReplicationErrorsMsg, ErrorMessage), Verbosity::Warning, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', SLHelperFunctions.GetTelemetryCategory()); + end; + HybridReplicationDetail.Insert(); + end; + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Message Management", OnResolveMessageCode, '', false, false)] + local procedure GetSLMessageOnResolveMessageCode(MessageCode: Code[10]; InnerMessage: Text; var Message: Text) + begin + if Message <> '' then + exit; + + case MessageCode of + '50001': + Message := SqlCompatibilityErr; + '50100': + Message := StrSubstNo(ItemLengthErr, InnerMessage); + '50110': + Message := StrSubstNo(PostingSetupErr, InnerMessage); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnInvokeDataUpgrade, '', false, false)] + local procedure InvokeDataUpgrade(var HybridReplicationSummary: Record "Hybrid Replication Summary"; var Handled: Boolean) + var + HybridCompanyStatus: Record "Hybrid Company Status"; + FailedUpgradedHybridCompanyStatus: Record "Hybrid Company Status"; + FailedHybridCompanyStatus: Record "Hybrid Company Status"; + SLUpgradeSettings: Record "SL Upgrade Settings"; + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if Handled then + exit; + + if not HybridSLWizard.GetSLMigrationEnabled() then + exit; + + FailedHybridCompanyStatus.SetRange("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Started); + FailedHybridCompanyStatus.ModifyAll("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Failed); + + FailedUpgradedHybridCompanyStatus.SetRange("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Failed); + if not FailedUpgradedHybridCompanyStatus.IsEmpty() then + Error(CannotContinueUpgradeFailedMsg); + + HybridReplicationSummary.Status := HybridReplicationSummary.Status::UpgradeInProgress; + HybridReplicationSummary.Modify(); + + SLUpgradeSettings.GetonInsertSLUpgradeSettings(SLUpgradeSettings); + SLUpgradeSettings."Data Upgrade Started" := CurrentDateTime(); + SLUpgradeSettings.Modify(); + Commit(); + + HybridCompanyStatus.SetRange("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Pending); + HybridCompanyStatus.FindFirst(); + + InvokeCompanyUpgrade(HybridReplicationSummary, HybridCompanyStatus.Name); + Handled := true; + + if GuiAllowed then + Message(UpgradeWasScheduledMsg); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Data Migration Mgt.", OnBeforeStartMigration, '', false, false)] + local procedure DisableNewSessionForSLCloudMigration(var CheckExistingData: Boolean; var StartNewSession: Boolean) + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if not HybridSLWizard.GetSLMigrationEnabled() then + exit; + + StartNewSession := false; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnHandleFixDataOnReplicationCompleted, '', false, false)] + local procedure SkipSLDataRepair(var Handled: Boolean; var FixData: Boolean) + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if not HybridSLWizard.GetSLMigrationEnabled() then + exit; + + Handled := true; + FixData := false; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnIsUpgradeSupported, '', false, false)] + local procedure OnIsSLUpgradeSupported(var UpgradeSupported: Boolean) + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if HybridSLWizard.GetSLMigrationEnabled() then + UpgradeSupported := true; + end; + + [EventSubscriber(ObjectType::Page, Page::"Intelligent Cloud Management", 'OnOpenNewUI', '', false, false)] + local procedure HandleOnOpenNewUI(var OpenNewUI: Boolean) + var + SLHybridWizard: Codeunit "SL Hybrid Wizard"; + begin + if SLHybridWizard.GetSLMigrationEnabled() then + OpenNewUI := true; + end; + + internal procedure InvokeCompanyUpgrade(var HybridReplicationSummary: Record "Hybrid Replication Summary"; CompanyName: Text[50]) + begin + InvokeCompanyUpgrade(HybridReplicationSummary, CompanyName, GetMinimalDelayDuration()); + end; + + internal procedure InvokeCompanyUpgrade(var HybridReplicationSummary: Record "Hybrid Replication Summary"; CompanyName: Text[50]; DelayDuration: Duration) + var + CreateSession: Boolean; + SessionID: Integer; + begin + CreateSession := true; + OnCreateSessionForUpgrade(CreateSession); + if not CreateSession then begin + Codeunit.Run(Codeunit::"SL Cloud Migration", HybridReplicationSummary); + exit; + end; + + if DelayDuration = 0 then + DelayDuration := GetMinimalDelayDuration(); + + if TaskScheduler.CanCreateTask() then + TaskScheduler.CreateTask( + Codeunit::"SL Cloud Migration", Codeunit::"SL Hybrid Handle Upgrade Error", true, CompanyName, CurrentDateTime() + DelayDuration, HybridReplicationSummary.RecordId, GetDefaultJobTimeout()) + else + Session.StartSession(SessionID, Codeunit::"SL Cloud Migration", CompanyName, HybridReplicationSummary, GetDefaultJobTimeout()) + end; + + internal procedure GetDefaultJobTimeout(): Duration + begin + exit(48 * 60 * 60 * 1000); // 48 hours + end; + + internal procedure GetMinimalDelayDuration(): Duration + begin + exit(5000); + end; + + [InternalEvent(false)] + internal procedure OnCreateSessionForUpgrade(var CreateSession: Boolean) + begin + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al b/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al new file mode 100644 index 0000000000..4449cbf9ea --- /dev/null +++ b/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al @@ -0,0 +1,309 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; +using System.Environment; + +codeunit 47012 "SL Hybrid Wizard" +{ + Access = Internal; + + var + ProductIdLbl: Label 'DynamicsSL', Locked = true; + ProductNameTxt: Label 'Dynamics SL', Locked = true; + TooManySegmentsErr: Label 'You have selected a company that has more than 9 segments. In order to migrate your data you need to reformat your Chart of Accounts in Dynamics SL to have less than 10 segments for these companies: %1', Comment = '%1 - Comma delimited list of companies.'; + AdditionalProcessesInProgressErr: Label 'Cannot start a new migration until the previous migration run and additional/posting processes have completed.'; + ProductDescriptionTxt: Label 'Use this option if you are migrating from Dynamics SL. The migration process transforms the Dynamics SL data to the Dynamics 365 Business Central format.'; + + internal procedure ProductIdTxt(): Text[250] + begin + exit(CopyStr(ProductIdLbl, 1, 250)); + end; + + internal procedure ProductNameSL(): Text[250] + begin + exit(CopyStr(ProductNameTxt, 1, 250)); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnGetHybridProductDescription, '', false, false)] + local procedure HandleGetHybridProductDescription(ProductId: Text; var ProductDescription: Text) + begin + if ProductId = ProductIdLbl then + ProductDescription := ProductDescriptionTxt; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnGetHybridProductType, '', false, false)] + local procedure OnGetHybridProductType(var HybridProductType: Record "Hybrid Product Type") + var + extensionId: Guid; + extensionInfo: ModuleInfo; + begin + NavApp.GetCurrentModuleInfo(extensionInfo); + extensionId := extensionInfo.Id(); + if not HybridProductType.Get(ProductIdLbl) then begin + HybridProductType.Init(); + HybridProductType."App ID" := extensionId; + HybridProductType."Display Name" := CopyStr(ProductNameTxt, 1, 250); + HybridProductType.ID := CopyStr(ProductIdLbl, 1, 250); + HybridProductType.Insert(true); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnGetHybridProductName, '', false, false)] + local procedure HandleGetHybridProductName(ProductId: Text; var ProductName: Text) + begin + if not CanHandle(ProductId) then + exit; + + ProductName := ProductNameTxt; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Create Companies IC", OnBeforeCreateCompany, '', false, false)] + local procedure HandleOnBeforeCreateCompany(ProductId: Text; var CompanyDataType: Option "Evaluation Data","Standard Data",None,"Extended Data","Full No Data") + begin + + if not CanHandle(ProductId) then + exit; + + CompanyDataType := CompanyDataType::"Standard Data"; + end; + + internal procedure CanHandle(productId: Text): Boolean + begin + if productId = ProductIdLbl then + exit(true); + end; + + [EventSubscriber(ObjectType::Page, Page::"Intelligent Cloud Management", CanMapCustomTables, '', false, false)] + local procedure OnCanMapCustomTables(var Enabled: Boolean) + begin + if not (GetSLMigrationEnabled()) then + exit; + + Enabled := true; + end; + + [EventSubscriber(ObjectType::Page, Page::"Intelligent Cloud Management", CanRunDiagnostic, '', false, false)] + local procedure OnCanRunDiagnostic(var CanRun: Boolean) + begin + if not (GetSLMigrationEnabled()) then + exit; + + CanRun := true; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnCanSetupAdlMigration, '', false, false)] + local procedure OnCanSetupAdlMigration(var CanSetup: Boolean) + begin + if not (GetSLMigrationEnabled()) then + exit; + + CanSetup := true; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnBeforeShowProductSpecificSettingsPageStep, '', false, false)] + local procedure BeforeShowProductSpecificSettingsPageStep(var HybridProductType: Record "Hybrid Product Type"; var ShowSettingsStep: Boolean) + var + CompanyList: List of [Text]; + CompanyName: Text; + MessageTxt: Text; + begin + if not CanHandle(HybridProductType.ID) then + exit; + + AnyCompaniesWithTooManySegments(CompanyList); + if CompanyList.Count() > 0 then begin + foreach CompanyName in CompanyList do + MessageTxt := MessageTxt + ', ' + CompanyName; + + Error(TooManySegmentsErr, MessageTxt.TrimStart(',')); + end; + + ShowSettingsStep := false; + end; + + internal procedure AnyCompaniesWithTooManySegments(var CompanyList: List of [Text]) + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + begin + SLCompanyMigrationSettings.SetFilter(Replicate, '=%1', true); + SLCompanyMigrationSettings.SetFilter(NumberOfSegments, '>%1', 9); + if SLCompanyMigrationSettings.FindSet() then + repeat + CompanyList.Add(SLCompanyMigrationSettings.Name); + until SLCompanyMigrationSettings.Next() = 0; + end; + + [EventSubscriber(ObjectType::Page, Page::"Intelligent Cloud Management", CanShowUpdateReplicationCompanies, '', false, false)] + local procedure OnCanShowUpdateReplicationCompanies(var Enabled: Boolean) + begin + if not (GetSLMigrationEnabled()) then + exit; + + Enabled := false; + end; + + [EventSubscriber(ObjectType::Page, Page::"Intelligent Cloud Management", CheckAdditionalProcesses, '', false, false)] + local procedure CheckAdditionalProcesses(var AdditionalProcessesRunning: Boolean; var ErrorMessage: Text) + begin + AdditionalProcessesRunning := ProcessesAreRunning(); + + if AdditionalProcessesRunning then + ErrorMessage := AdditionalProcessesInProgressErr; + end; + + [EventSubscriber(ObjectType::Table, Database::Company, OnAfterDeleteEvent, '', false, false)] + local procedure CompanyOnAfterDelete(var Rec: Record Company; RunTrigger: Boolean) + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + HybridCompany: Record "Hybrid Company"; + HybridCompanyStatus: Record "Hybrid Company Status"; + HybridReplicationDetail: Record "Hybrid Replication Detail"; + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + SLMigrationWarnings: Record "SL Migration Warnings"; + begin + if Rec.IsTemporary() then + exit; + + if (SLCompanyMigrationSettings.Get(Rec.Name)) then + SLCompanyMigrationSettings.Delete(); + + if (SLCompanyAdditionalSettings.Get(Rec.Name)) then + SLCompanyAdditionalSettings.Delete(); + + if (HybridCompanyStatus.Get(Rec.Name)) then + HybridCompanyStatus.Delete(); + + if (HybridCompany.Get(Rec.Name)) then + HybridCompany.Delete(); + + HybridReplicationDetail.SetRange("Company Name", Rec.Name); + if not HybridReplicationDetail.IsEmpty() then + HybridReplicationDetail.DeleteAll(); + + SLMigrationErrorOverview.SetRange("Company Name", Rec.Name); + if not SLMigrationErrorOverview.IsEmpty() then + SLMigrationErrorOverview.DeleteAll(); + + SLMigrationWarnings.SetRange("Company Name", Rec.Name); + if not SLMigrationWarnings.IsEmpty() then + SLMigrationWarnings.DeleteAll(); + end; + + internal procedure ProcessesAreRunning(): Boolean + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + begin + SLCompanyMigrationSettings.SetRange(Replicate, true); + SLCompanyMigrationSettings.SetRange(ProcessesAreRunning, true); + if SLCompanyMigrationSettings.IsEmpty() then + exit(false); + + exit(true); + end; + + internal procedure GetSLMigrationEnabled(): Boolean + var + IntelligentCloudSetup: Record "Intelligent Cloud Setup"; + begin + if not IntelligentCloudSetup.Get() then + exit(false); + + exit(CanHandle(IntelligentCloudSetup."Product ID")); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnInsertDefaultTableMappings, '', false, false)] + local procedure OnInsertDefaultTableMappings(DeleteExisting: Boolean; ProductID: Text[250]) + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if ProductID <> HybridSLWizard.ProductIdTxt() then + exit; + + // Accounts + UpdateOrInsertRecord(Database::"SL Account", 'Account'); + UpdateOrInsertRecord(Database::"SL AcctHist", 'AcctHist'); + UpdateOrInsertRecord(Database::"SL Batch", 'Batch'); + UpdateOrInsertRecord(Database::"SL GLSetup", 'GLSetup'); + UpdateOrInsertRecord(Database::"SL GLTran", 'GLTran'); + // Payables + UpdateOrInsertRecord(Database::"SL AP_Balances", 'AP_Balances'); + UpdateOrInsertRecord(Database::"SL APAdjust", 'APAdjust'); + UpdateOrInsertRecord(Database::"SL APDoc", 'APDoc'); + UpdateOrInsertRecord(Database::"SL APSetup", 'APSetup'); + UpdateOrInsertRecord(Database::"SL APTran", 'APTran'); + UpdateOrInsertRecord(Database::"SL POAddress", 'POAddress'); + UpdateOrInsertRecord(Database::"SL POReceipt", 'POReceipt'); + UpdateOrInsertRecord(Database::"SL POSetup", 'POSetup'); + UpdateOrInsertRecord(Database::"SL POTran", 'POTran'); + UpdateOrInsertRecord(Database::"SL PurchOrd", 'PurchOrd'); + UpdateOrInsertRecord(Database::"SL PurOrdDet", 'PurOrdDet'); + UpdateOrInsertRecord(Database::"SL Vendor", 'Vendor'); + // Receivables + UpdateOrInsertRecord(Database::"SL AR_Balances", 'AR_Balances'); + UpdateOrInsertRecord(Database::"SL ARAdjust", 'ARAdjust'); + UpdateOrInsertRecord(Database::"SL ARDoc", 'ARDoc'); + UpdateOrInsertRecord(Database::"SL ARSetup", 'ARSetup'); + UpdateOrInsertRecord(Database::"SL ARTran", 'ARTran'); + UpdateOrInsertRecord(Database::"SL Customer", 'Customer'); + UpdateOrInsertRecord(Database::"SL SOAddress", 'SOAddress'); + UpdateOrInsertRecord(Database::"SL SOHeader", 'SOHeader'); + UpdateOrInsertRecord(Database::"SL SOLine", 'SOLine'); + UpdateOrInsertRecord(Database::"SL SOSetup", 'SOSetup'); + UpdateOrInsertRecord(Database::"SL SOShipHeader", 'SOShipHeader'); + UpdateOrInsertRecord(Database::"SL SOShipLine", 'SOShipLine'); + UpdateOrInsertRecord(Database::"SL SOShipLot", 'SOShipLot'); + UpdateOrInsertRecord(Database::"SL SOType", 'SOType'); + // Items + UpdateOrInsertRecord(Database::"SL INSetup", 'INSetup'); + UpdateOrInsertRecord(Database::"SL INTran", 'INTran'); + UpdateOrInsertRecord(Database::"SL Inventory", 'Inventory'); + UpdateOrInsertRecord(Database::"SL InventoryADG", 'InventoryADG'); + UpdateOrInsertRecord(Database::"SL ItemCost", 'ItemCost'); + UpdateOrInsertRecord(Database::"SL ItemSite", 'ItemSite'); + UpdateOrInsertRecord(Database::"SL LotSerMst", 'LotSerMst'); + UpdateOrInsertRecord(Database::"SL LotSerT", 'LotSerT'); + UpdateOrInsertRecord(Database::"SL Site", 'Site'); + // Misc + UpdateOrInsertRecord(Database::"SL FlexDef", 'FlexDef'); + UpdateOrInsertRecord(Database::"SL SegDef", 'SegDef'); + UpdateOrInsertRecord(Database::"SL Terms", 'Terms'); + end; + + internal procedure UpdateOrInsertRecord(TableID: Integer; SourceTableName: Text[128]) + begin + UpdateOrInsertRecord(TableID, SourceTableName, true); + end; + + internal procedure UpdateOrInsertRecord(TableID: Integer; SourceTableName: Text[128]; PerCompanyTable: Boolean) + var + MigrationTableMapping: Record "Migration Table Mapping"; + CurrentModuleInfo: ModuleInfo; + begin + NavApp.GetCurrentModuleInfo(CurrentModuleInfo); + if MigrationTableMapping.Get(CurrentModuleInfo.Id(), TableID) then + MigrationTableMapping.Delete(); + + MigrationTableMapping."App ID" := CurrentModuleInfo.Id(); + MigrationTableMapping.Validate("Table ID", TableID); + MigrationTableMapping."Data Per Company" := PerCompanyTable; + MigrationTableMapping."Source Table Name" := SourceTableName; + MigrationTableMapping.Insert(); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Hybrid Cloud Management", OnIsCloudMigrationCompleted, '', false, false)] + local procedure HandleIsCloudMigrationCompleted(SourceProduct: Text; var CloudMigrationCompleted: Boolean) + var + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + begin + if SourceProduct <> HybridSLWizard.ProductIdTxt() then + exit; + + CloudMigrationCompleted := true; + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/codeunits/SLMigrationErrorHandler.Codeunit.al b/Apps/W1/HybridSL/app/src/codeunits/SLMigrationErrorHandler.Codeunit.al new file mode 100644 index 0000000000..5a0d9a74de --- /dev/null +++ b/Apps/W1/HybridSL/app/src/codeunits/SLMigrationErrorHandler.Codeunit.al @@ -0,0 +1,98 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Integration; + +codeunit 47024 "SL Migration Error Handler" +{ + Access = Internal; + SingleInstance = true; + + [EventSubscriber(ObjectType::Table, Database::"Data Migration Error", OnAfterInsertEvent, '', false, false)] + local procedure UpdateErrorOverviewOnInsert(RunTrigger: Boolean; var Rec: Record "Data Migration Error") + begin + UpdateErrorOverview(Rec); + end; + + [EventSubscriber(ObjectType::Table, Database::"Data Migration Error", OnAfterModifyEvent, '', false, false)] + local procedure UpdateErrorOverviewOnModify(RunTrigger: Boolean; var Rec: Record "Data Migration Error") + begin + UpdateErrorOverview(Rec); + end; + + [EventSubscriber(ObjectType::Table, Database::"Data Migration Error", OnAfterDeleteEvent, '', false, false)] + local procedure UpdateErrorOverviewOnDelete(RunTrigger: Boolean; var Rec: Record "Data Migration Error") + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + begin + ErrorOccurred := true; + if SLMigrationErrorOverview.Get(Rec.Id, CompanyName()) then begin + SLMigrationErrorOverview."Error Dismissed" := true; + SLMigrationErrorOverview.Modify(); + end; + end; + + internal procedure UpdateErrorOverview(var DataMigrationError: Record "Data Migration Error") + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + SLHelperFunctions: Codeunit "SL Helper Functions"; + HybridSLWizard: Codeunit "SL Hybrid Wizard"; + Exists: Boolean; + ErrorMessageSnippet: Text; + MigrationType: Text; + begin + if not (HybridSLWizard.GetSLMigrationEnabled()) then + exit; + + ErrorMessageSnippet := CopyStr(DataMigrationError."Error Message", 1, 13); + if ErrorMessageSnippet.ToUpper() = 'POSTING ERROR' then + exit; + + ErrorOccurred := true; + SLMigrationErrorOverview.ReadIsolation := IsolationLevel::ReadUncommitted; + Exists := SLMigrationErrorOverview.Get(DataMigrationError.Id, CompanyName()); + if not Exists then begin + SLMigrationErrorOverview.Id := DataMigrationError.Id; + SLMigrationErrorOverview."Migration Type" := SLHelperFunctions.GetMigrationTypeTxt(); + SLMigrationErrorOverview."Company Name" := CopyStr(CompanyName(), 1, MaxStrLen(SLMigrationErrorOverview."Company Name")); + SLMigrationErrorOverview.Insert(); + end; + + SLMigrationErrorOverview.TransferFields(DataMigrationError); + SLMigrationErrorOverview.SetFullExceptionMessage(DataMigrationError.GetFullExceptionMessage()); + SLMigrationErrorOverview.SetLastRecordUnderProcessingLog(DataMigrationError.GetLastRecordsUnderProcessingLog()); + SLMigrationErrorOverview.SetExceptionCallStack(DataMigrationError.GetExceptionCallStack()); + MigrationType := SLMigrationErrorOverview."Migration Type"; + if MigrationType.Trim() <> SLHelperFunctions.GetMigrationTypeTxt().Trim() then + SLMigrationErrorOverview."Migration Type" := SLHelperFunctions.GetMigrationTypeTxt(); + SLMigrationErrorOverview.Modify(); + end; + + internal procedure ClearErrorOccurred() + begin + Clear(ErrorOccurred); + end; + + internal procedure GetErrorOccurred(): Boolean + begin + exit(ErrorOccurred); + end; + + internal procedure ErrorOccurredDuringLastUpgrade(): Boolean + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + SLUpgradeSettings: Record "SL Upgrade Settings"; + begin + SLUpgradeSettings.GetonInsertSLUpgradeSettings(SLUpgradeSettings); + SLMigrationErrorOverview.SetRange("Company Name", CompanyName()); + SLMigrationErrorOverview.SetFilter(SystemModifiedAt, '>%1', SLUpgradeSettings."Data Upgrade Started"); + exit(not SLMigrationErrorOverview.IsEmpty()); + end; + + var + ErrorOccurred: Boolean; +} diff --git a/Apps/W1/HybridSL/app/src/pages/SLCloudMigrationMgmtExt.PageExt.al b/Apps/W1/HybridSL/app/src/pages/SLCloudMigrationMgmtExt.PageExt.al new file mode 100644 index 0000000000..3bc3cbda73 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLCloudMigrationMgmtExt.PageExt.al @@ -0,0 +1,241 @@ +pageextension 47001 "SL Cloud Migration Mgmt. Ext." extends "Cloud Migration Management" +{ + layout + { + addlast(CloudMigration) + { + group(SLCloudMigrationErrors) + { + Editable = false; + ShowCaption = false; + Visible = SLMigrationEnabled; + group("SL Cloud Migration") + { + ShowCaption = false; + field("SL Cloud Migration Warnings"; MigrationWarningCount) + { + ApplicationArea = All; + Caption = 'SL Cloud Migration Warnings'; + ToolTip = 'Indicates the number of migration warning entries.'; + + trigger OnDrillDown() + begin + Page.Run(Page::"SL Migration Warnings"); + end; + } + field("SL Cloud Migration Errors"; MigrationErrorCount) + { + ApplicationArea = All; + Caption = 'SL Cloud Migration Errors'; + ToolTip = 'Indicates the number of SL migration error entries.'; + + trigger OnDrillDown() + begin + Page.Run(Page::"SL Migration Error Overview"); + end; + } + field("SL Posting Errors"; PostingErrorCount) + { + ApplicationArea = All; + Caption = 'Posting Errors'; + Style = Unfavorable; + StyleExpr = (PostingErrorCount > 0); + ToolTip = 'Indicates the number of posting errors that occurred during the migration.'; + + trigger OnDrillDown() + begin + Page.Run(Page::"SL Migration Warnings"); + end; + } + field("SL Failed Companies"; FailedCompanyCount) + { + ApplicationArea = Basic, Suite; + Caption = 'Failed Companies'; + Style = Unfavorable; + StyleExpr = (FailedCompanyCount > 0); + ToolTip = 'Indicates the number of companies that failed to upgrade.'; + + trigger OnDrillDown() + begin + Page.Run(Page::"SL Hybrid Failed Companies"); + end; + } + field("SL Failed Batches"; FailedBatchCount) + { + ApplicationArea = All; + Caption = 'Failed Batches'; + Style = Unfavorable; + StyleExpr = (FailedBatchCount > 0); + ToolTip = 'Indicates the total number of failed batches, for all migrated companies.'; + + trigger OnDrillDown() + begin + Message(FailedBatchMsg); + end; + } + } + } + } + } + + actions + { + addafter(RunReplicationNow) + { + action(SLConfigureMigration) + { + ApplicationArea = All; + Caption = 'Configure SL Migration'; + Enabled = HasCompletedSetupWizard; + Image = Setup; + ToolTip = 'Configure migration settings for SL'; + Visible = SLMigrationEnabled; + + trigger OnAction() + var + SLMigrationConfiguration: Page "SL Migration Configuration"; + begin + SLMigrationConfiguration.ShouldShowManagementPromptOnClose(false); + SLMigrationConfiguration.Run(); + end; + } + } + + addafter(RunDataUpgrade) + { + action(SLReRunHistoricalMigration) + { + ApplicationArea = All; + Caption = 'Rerun SL Historical Snapshot'; + Enabled = HasCompletedSetupWizard; + Image = Archive; + ToolTip = 'Rerun SL Historical Snapshot'; + Visible = SLMigrationEnabled; + + trigger OnAction() + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SLWizardIntegration: Codeunit "SL Wizard Integration"; + begin + if not SLCompanyAdditionalSettings.GetMigrateHistory() then begin + Message(DetailSnapshotNotConfiguredMsg); + exit; + end; + + if Confirm(ConfirmRerunQst) then + SLWizardIntegration.ScheduleSLHistoricalSnapshotMigration(); + end; + } + } + addfirst(Category_Process) + { + actionref(SLConfigureMigration_Promoted; SLConfigureMigration) + { + } + } + } + + trigger OnOpenPage() + var + IntelligentCloudSetup: Record "Intelligent Cloud Setup"; + HybridCompany: Record "Hybrid Company"; + SLConfiguration: Record "SL Migration Config"; + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + SLHybridWizard: Codeunit "SL Hybrid Wizard"; + begin + if IntelligentCloudSetup.Get() then + SLMigrationEnabled := SLHybridWizard.CanHandle(IntelligentCloudSetup."Product ID"); + + if SLMigrationEnabled then begin + HybridCompany.SetRange(Replicate, true); + HasCompletedSetupWizard := not HybridCompany.IsEmpty(); + + if HybridCompany.Get(CompanyName()) then begin + SLConfiguration.GetSingleInstance(); + if GetHasCompletedMigration() then + if SLCompanyAdditionalSettings.GetMigrateHistory() then + if not SLConfiguration.HasHistoricalJobRan() then + ShowSLHistoricalJobNeedsToRunNotification(); + end; + end; + end; + + internal procedure GetHasCompletedMigration(): Boolean + var + DataMigrationStatus: Record "Data Migration Status"; + begin + DataMigrationStatus.SetFilter(Status, '%1|%2', DataMigrationStatus.Status::Completed, DataMigrationStatus.Status::"Completed with Errors"); + exit(not DataMigrationStatus.IsEmpty()); + end; + + internal procedure ShowSLHistoricalJobNeedsToRunNotification() + var + SLHistoricalSnapshotJobHasNotRanNotification: Notification; + begin + SLHistoricalSnapshotJobHasNotRanNotification.Id := '253A52DA-F9F8-4B2E-B3C2-2E42DD8B97D5'; + SLHistoricalSnapshotJobHasNotRanNotification.Recall(); + SLHistoricalSnapshotJobHasNotRanNotification.Message := HistoricalDataJobNotRanMsg; + SLHistoricalSnapshotJobHasNotRanNotification.Scope := NotificationScope::LocalScope; + SLHistoricalSnapshotJobHasNotRanNotification.AddAction(HistoricalDataStartJobMsg, Codeunit::"SL Wizard Integration", 'StartSLHistoricalJobMigrationAction'); + SLHistoricalSnapshotJobHasNotRanNotification.Send(); + end; + + trigger OnAfterGetRecord() + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + begin + MigrationErrorCount := SLMigrationErrorOverview.Count(); + end; + + trigger OnAfterGetCurrRecord() + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + HybridCompanyStatus: Record "Hybrid Company Status"; + SLMigrationWarnings: Record "SL Migration Warnings"; + SLMigrationErrors: Record "SL Migration Errors"; + DataMigrationError: Record "Data Migration Error"; + TotalErrors: Integer; + MigrationErrors: Integer; + MigrationTypeTxt: Label 'Dynamics SL', Locked = true; + begin + FailedBatchCount := 0; + FailedBatchMsg := 'One or more batches failed to post.\'; + + SLMigrationErrorOverview.SetRange("Error Dismissed", false); + MigrationErrorCount := SLMigrationErrorOverview.Count(); + HybridCompanyStatus.SetRange("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Failed); + FailedCompanyCount := HybridCompanyStatus.Count(); + MigrationWarningCount := SLMigrationWarnings.Count(); + + if FailedBatchCount = 0 then + FailedBatchMsg := 'No failed batches'; + + SLMigrationErrors.Init(); + + DataMigrationError.SetRange("Migration Type", MigrationTypeTxt); + TotalErrors := DataMigrationError.Count(); + + SLMigrationWarnings.SetRange("Migration Area", 'Batch Posting'); + PostingErrorCount := SLMigrationWarnings.Count(); + MigrationErrors := TotalErrors; + + SLMigrationErrors.PostingErrorCount := PostingErrorCount; + SLMigrationErrors.MigrationErrorCount := MigrationErrors; + if not SLMigrationErrors.Insert() then + SLMigrationErrors.Modify(); + end; + + var + HasCompletedSetupWizard: Boolean; + SLMigrationEnabled: Boolean; + MigrationErrorCount: Integer; + FailedCompanyCount: Integer; + FailedBatchCount: Integer; + PostingErrorCount: Integer; + MigrationWarningCount: Integer; + ConfirmRerunQst: Label 'Are you sure you want to rerun the SL Historical Snapshot migration?'; + DetailSnapshotNotConfiguredMsg: Label 'SL Historical Snapshot is not configured to migrate.'; + HistoricalDataJobNotRanMsg: Label 'The SL Historical Snapshot job has not ran.'; + HistoricalDataStartJobMsg: Label 'Start SL Historical Snapshot job.'; + FailedBatchMsg: Text; +} diff --git a/Apps/W1/HybridSL/app/src/pages/SLCompanyAddSettingsList.Page.al b/Apps/W1/HybridSL/app/src/pages/SLCompanyAddSettingsList.Page.al new file mode 100644 index 0000000000..b629f7df45 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLCompanyAddSettingsList.Page.al @@ -0,0 +1,187 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +page 47017 "SL Company Add. Settings List" +{ + ApplicationArea = All; + Caption = 'SL Company Additional Settings List'; + DeleteAllowed = false; + InsertAllowed = false; + ModifyAllowed = true; + PageType = ListPart; + SourceTable = "SL Company Additional Settings"; + SourceTableView = sorting(Name) where(Name = filter(<> ''), "Migration Completed" = const(false), "Has Hybrid Company" = const(true)); + + layout + { + area(Content) + { + repeater(General) + { + field(Name; Rec.Name) + { + Caption = 'Company'; + Editable = false; + ToolTip = 'Specify the name of the Company.'; + } + field("Global Dimension 1"; Rec."Global Dimension 1") + { + Caption = 'Dimension 1'; + ToolTip = 'Specify the segment from Dynamics SL you would like as the first global dimension in Business Central.'; + Width = 6; + } + field("Global Dimension 2"; Rec."Global Dimension 2") + { + Caption = 'Dimension 2'; + ToolTip = 'Specify the segment from Dynamics SL you would like as the second global dimension in Business Central.'; + Width = 6; + } + field("Oldest GL Year To Migrate"; Rec."Oldest GL Year to Migrate") + { + Caption = 'Oldest GL Year'; + ToolTip = 'Specify the oldest General Ledger year to be migrated. The year selected and all future years will be migrated to Business Central.'; + Width = 4; + } + field("Migrate Open POs"; Rec."Migrate Open POs") + { + Caption = 'Open POs'; + Enabled = false; + ToolTip = 'Specify whether to migrate open Purchase Orders. This is a future feature.'; + } + field("Migrate GL Module"; Rec."Migrate GL Module") + { + Caption = 'GL Module'; + ToolTip = 'Specify whether to migrate the GL module.'; + } + field("Migrate Payables Module"; Rec."Migrate Payables Module") + { + Caption = 'Payables Module'; + ToolTip = 'Specify whether to migrate the Payables module.'; + } + field("Migrate Receivables Module"; Rec."Migrate Receivables Module") + { + Caption = 'Receivables Module'; + ToolTip = 'Specify whether to migrate the Receivables module.'; + } + field("Migrate Inventory Module"; Rec."Migrate Inventory Module") + { + Caption = 'Inventory Module'; + ToolTip = 'Specify whether to migrate the Inventory module.'; + } + field("Migrate Only GL Master"; Rec."Migrate Only GL Master") + { + Caption = 'GL Master Only'; + ToolTip = 'Specify whether to migrate GL master data only.'; + } + field("Migrate Only Payables Master"; Rec."Migrate Only Payables Master") + { + Caption = 'Payables Master Only'; + ToolTip = 'Specify whether to migrate Payables master data only.'; + } + field("Migrate Only Rec. Master"; Rec."Migrate Only Rec. Master") + { + Caption = 'Rec. Master Only'; + ToolTip = 'Specify whether to migrate Receivables master data only.'; + } + field("Migrate Only Inventory Master"; Rec."Migrate Only Inventory Master") + { + Caption = 'Inventory Master Only'; + ToolTip = 'Specify whether to migrate Inventory master data only.'; + } + field("Migrate Inactive Customers"; Rec."Migrate Inactive Customers") + { + Caption = 'Inactive Customers'; + ToolTip = 'Specify whether to migrate inactive customers.'; + } + field("Migrate Inactive Vendors"; Rec."Migrate Inactive Vendors") + { + Caption = 'Inactive Vendors'; + ToolTip = 'Specify whether to migrate inactive vendors.'; + } + field("Migrate Inactive Items"; Rec."Migrate Inactive Items") + { + Caption = 'Inactive Items'; + ToolTip = 'Specify whether to migrate inactive items.'; + } + field("Migrate Delete Status Items"; Rec."Migrate Discontinued Items") + { + Caption = 'Delete Status Items'; + ToolTip = 'Specify whether to migrate discontinued items.'; + } + field("Migrate Customer Classes"; Rec."Migrate Customer Classes") + { + Caption = 'Customer Classes'; + Enabled = false; + ToolTip = 'Specify whether to migrate customer classes. This is a future feature.'; + } + field("Migrate Vendor Classes"; Rec."Migrate Vendor Classes") + { + Caption = 'Vendor Classes'; + Enabled = false; + ToolTip = 'Specify whether to migrate vendor classes. This is a future feature.'; + } + field("Migrate Product Classes"; Rec."Migrate Item Classes") + { + Caption = 'Product Classes'; + Enabled = false; + ToolTip = 'Specify whether to migrate item classes. This is a future feature.'; + } + field("Oldest Hist. Year to Migrate"; Rec."Oldest Hist. Year to Migrate") + { + Caption = 'Oldest Snapshot year'; + ToolTip = 'Specify the oldest historical year to be migrated for snapshot records.'; + Width = 4; + } + field("Migrate Hist. GL Trx."; Rec."Migrate Hist. GL Trx.") + { + Caption = 'Snapshot GL Trx.'; + ToolTip = 'Specify whether to migrate historical GL transactions.'; + } + field("Migrate Hist. AR Trx."; Rec."Migrate Hist. AR Trx.") + { + Caption = 'Snapshot AR Trx.'; + ToolTip = 'Specify whether to migrate historical AR transactions.'; + } + field("Migrate Hist. AP Trx."; Rec."Migrate Hist. AP Trx.") + { + Caption = 'Snapshot AP Trx.'; + ToolTip = 'Specify whether to migrate historical AP transactions.'; + } + field("Migrate Hist. Inv. Trx."; Rec."Migrate Hist. Inv. Trx.") + { + Caption = 'Snapshot Inv. Trx.'; + ToolTip = 'Specify whether to migrate historical inventory transactions.'; + } + field("Migrate Hist. Purch. Trx."; Rec."Migrate Hist. Purch. Trx.") + { + Caption = 'Snapshot Purch. Trx.'; + ToolTip = 'Specify whether to migrate historical Purchase receivable transactions. This is a future feature.'; + } + field("Skip Posting Account Batches"; Rec."Skip Posting Account Batches") + { + Caption = 'Skip Posting Account Trx.'; + ToolTip = 'Specify whether to disable auto posting Account batches.'; + } + field("Skip Posting Customer Batches"; Rec."Skip Posting Customer Batches") + { + Caption = 'Skip Posting Customer Trx.'; + ToolTip = 'Specify whether to disable auto posting Customer batches.'; + } + field("Skip Posting Vendor Batches"; Rec."Skip Posting Vendor Batches") + { + Caption = 'Skip Posting Vendor Trx.'; + ToolTip = 'Specify whether to disable auto posting Vendor batches.'; + } + field("Skip Posting Item Batches"; Rec."Skip Posting Item Batches") + { + Caption = 'Skip Posting Item Trx.'; + ToolTip = 'Specify whether to disable auto posting Item batches.'; + } + } + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/pages/SLCompanyMigrationSettings.Page.al b/Apps/W1/HybridSL/app/src/pages/SLCompanyMigrationSettings.Page.al new file mode 100644 index 0000000000..f6f154d762 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLCompanyMigrationSettings.Page.al @@ -0,0 +1,78 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +page 47010 "SL Company Migration Settings" +{ + ApplicationArea = All; + Caption = 'Select company settings for data migration'; + DeleteAllowed = false; + InsertAllowed = false; + ModifyAllowed = true; + PageType = ListPart; + RefreshOnActivate = true; + SourceTable = "SL Company Migration Settings"; + SourceTableView = where(Replicate = const(true)); + + layout + { + area(Content) + { + repeater(Companies) + { + ShowCaption = false; + + field(Name; Rec.Name) + { + Editable = false; + ToolTip = 'Name of the company'; + Width = 6; + } + field("Global Dimension 1"; Rec."Global Dimension 1") + { + Caption = 'Global Dimension 1'; + ToolTip = 'Global Dimension 1'; + Width = 10; + } + field("Global Dimension 2"; Rec."Global Dimension 2") + { + Caption = 'Global Dimension 2'; + ToolTip = 'Global Dimension 2'; + Width = 10; + } + field("Migrate Inactive Customers"; Rec."Migrate Inactive Customers") + { + Caption = 'Migrate Inactive Customers'; + ToolTip = 'Specifies whether to migrate inactive customers.'; + Width = 8; + } + field("Migrate Inactive Vendors"; Rec."Migrate Inactive Vendors") + { + Caption = 'Migrate Inactive Vendors'; + ToolTip = 'Specifies whether to migrate inactive vendors.'; + Width = 8; + } + } + } + } + + trigger OnAfterGetRecord() + var + SLSegmentNames: Record "SL Segment Name"; + begin + SLSegmentNames.SetFilter("Company Name", Rec.Name); + if Rec."Global Dimension 1" = '' then + if SLSegmentNames.FindFirst() then + Rec."Global Dimension 1" := SLSegmentNames."Segment Name"; + if Rec."Global Dimension 2" = '' then begin + SLSegmentNames.SetFilter("Segment Name", '<> %1', Rec."Global Dimension 1"); + if SLSegmentNames.FindFirst() then + Rec."Global Dimension 2" := SLSegmentNames."Segment Name"; + end; + + Rec.Modify(); + end; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/pages/SLHybridCloudWizardExt.PageExt.al b/Apps/W1/HybridSL/app/src/pages/SLHybridCloudWizardExt.PageExt.al new file mode 100644 index 0000000000..edeb01f06b --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLHybridCloudWizardExt.PageExt.al @@ -0,0 +1,32 @@ +pageextension 47002 "SL Hybrid Cloud Wizard Ext." extends "Hybrid Cloud Setup Wizard" +{ + layout + { + modify(AllDone) + { + Visible = Rec."Product ID" <> 'DynamicsSL'; + } + + addafter(AllDone) + { + group(SLSpecificDoneMessage) + { + Caption = 'Continue to company configuration'; + InstructionalText = 'Click Finish to continue to the company configuration for the SL migration.'; + Visible = Rec."Product ID" = 'DynamicsSL'; + } + } + } + + actions + { + modify(ActionFinish) + { + trigger OnAfterAction() + begin + if Rec."Product ID" = 'DynamicsSL' then + Page.Run(Page::"SL Migration Configuration"); + end; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/pages/SLHybridFailedCompanies.Page.al b/Apps/W1/HybridSL/app/src/pages/SLHybridFailedCompanies.Page.al new file mode 100644 index 0000000000..18c6082663 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLHybridFailedCompanies.Page.al @@ -0,0 +1,88 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +page 47024 "SL Hybrid Failed Companies" +{ + ApplicationArea = All; + Caption = 'Companies that failed data transformation.'; + DeleteAllowed = false; + Editable = false; + InsertAllowed = false; + ModifyAllowed = false; + PageType = List; + SourceTable = "Hybrid Company Status"; + + layout + { + area(Content) + { + repeater(Companies) + { + field(Name; Rec.Name) + { + ApplicationArea = All; + Caption = 'Company Name'; + Editable = false; + ToolTip = 'Specifies the name of the company that has failed the cloud migration.'; + } + field(Status; Rec."Upgrade Status") + { + ApplicationArea = All; + Caption = 'Upgrade Status'; + Editable = false; + ToolTip = 'Specifies the name of the ocmpany that has failed the cloud migration.'; + + trigger OnDrillDown() + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + begin + SLMigrationErrorOverview.SetRange("Company Name", Rec.Name); + Page.Run(Page::"SL Migration Error Overview", SLMigrationErrorOverview); + end; + } + } + } + } + + actions + { + area(Processing) + { + action(ActionName) + { + ApplicationArea = All; + Caption = 'Show Errors'; + Image = ViewJob; + ToolTip = 'View errors for the selected company.'; + + trigger OnAction() + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + begin + SLMigrationErrorOverview.SetRange("Company Name", Rec.Name); + Page.Run(Page::"SL Migration Error Overview", SLMigrationErrorOverview); + end; + } + } + area(Promoted) + { + group(Category_Process) + { + actionref(ActionName_Promoted; ActionName) + { + } + } + } + } + + trigger OnOpenPage() + begin + Rec.SetRange("Upgrade Status", Rec."Upgrade Status"::Failed); + end; +} diff --git a/Apps/W1/HybridSL/app/src/pages/SLHybridOverviewFb.Page.al b/Apps/W1/HybridSL/app/src/pages/SLHybridOverviewFb.Page.al new file mode 100644 index 0000000000..9a148e56db --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLHybridOverviewFb.Page.al @@ -0,0 +1,115 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +page 47023 "SL Hybrid Overview Fb" +{ + ApplicationArea = All; + Caption = 'SL Migration Overview'; + PageType = CardPart; + + layout + { + area(Content) + { + cuegroup(Errors) + { + ShowCaption = false; + + field("Migration Errors"; MigrationErrorCount) + { + ApplicationArea = Basic, Suite; + Caption = 'Migration Errors'; + Style = Unfavorable; + StyleExpr = (MigrationErrorCount > 0); + ToolTip = 'Indicates the number of errors that occurred during the migration.'; + + trigger OnDrillDown() + begin + Page.Run(Page::"SL Migration Error Overview"); + end; + } + field("Failed Companies"; FailedCompanyCount) + { + ApplicationArea = Basic, Suite; + Caption = 'Failed Companies'; + Style = Unfavorable; + StyleExpr = (FailedCompanyCount > 0); + ToolTip = 'Indicates the number of companies that failed to upgrade.'; + + trigger OnDrillDown() + begin + Page.Run(Page::"SL Hybrid Failed Companies"); + end; + } + } + + cuegroup(Other) + { + ShowCaption = false; + + field("Failed Batches"; FailedBatchCount) + { + ApplicationArea = All; + Caption = 'Failed Batches'; + Style = Unfavorable; + StyleExpr = (FailedBatchCount > 0); + ToolTip = 'Indicates the total number of failed batches, for all migrated companies.'; + + trigger OnDrillDown() + begin + Message(FailedBatchMsg); + end; + } + field("Migration Warnings"; MigrationWarningCount) + { + ApplicationArea = All; + Caption = 'Migration Warnings'; + ToolTip = 'Indicates the number of migration warning entries.'; + + trigger OnDrillDown() + begin + Page.Run(Page::"SL Migration Warnings"); + end; + } + } + } + } + + trigger OnAfterGetRecord() + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + begin + MigrationErrorCount := SLMigrationErrorOverview.Count(); + end; + + trigger OnAfterGetCurrRecord() + var + SLMigrationErrorOverview: Record "SL Migration Error Overview"; + HybridCompanyStatus: Record "Hybrid Company Status"; + SLMigrationWarnings: Record "SL Migration Warnings"; + begin + FailedBatchCount := 0; + FailedBatchMsg := 'One or more batches failed to post.\'; + + MigrationErrorCount := SLMigrationErrorOverview.Count(); + HybridCompanyStatus.SetRange("Upgrade Status", HybridCompanyStatus."Upgrade Status"::Failed); + FailedCompanyCount := HybridCompanyStatus.Count(); + MigrationWarningCount := SLMigrationWarnings.Count(); + + if FailedBatchCount = 0 then + FailedBatchMsg := 'No failed batches'; + end; + + var + MigrationErrorCount: Integer; + FailedCompanyCount: Integer; + FailedBatchCount: Integer; + MigrationWarningCount: Integer; + FailedBatchMsg: Text; +} diff --git a/Apps/W1/HybridSL/app/src/pages/SLMigrationConfiguration.Page.al b/Apps/W1/HybridSL/app/src/pages/SLMigrationConfiguration.Page.al new file mode 100644 index 0000000000..6d966cbda2 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLMigrationConfiguration.Page.al @@ -0,0 +1,755 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +page 47018 "SL Migration Configuration" +{ + ApplicationArea = All; + Caption = 'SL Company Migration Configuration'; + DeleteAllowed = false; + InsertAllowed = false; + ModifyAllowed = true; + PageType = Card; + SourceTable = "SL Company Additional Settings"; + SourceTableView = where(Name = filter(= '')); + + layout + { + area(Content) + { + label(DescriptionHeader) + { + Caption = 'Description'; + Style = Strong; + } + label(Intro) + { + Caption = 'Use this page to configure the migration for all companies, and/or use the bottom table to configure for individual companies.'; + } + + label(DimensionHeader) + { + Caption = 'SL Segments and BC Dimensions'; + Style = Strong; + } + + label(DimensionActionIntro) + { + Caption = 'Use the Set All Dimensions button above to quickly assign dimensions for all companies, or the Per Company section below to set the dimensions on individual companies.'; + } + + label(SegmentExplanation) + { + Caption = 'When setting dimensions, you will select the two segments from Dynamics SL you would like as the global dimensions. The remaining segments will automatically be set up as shortcut dimensions.'; + } + + group(Modules) + { + Caption = 'Modules'; + InstructionalText = 'Select the modules you would like migrated.'; + + field("Migrate GL Module"; Rec."Migrate GL Module") + { + Caption = 'General Ledger'; + ToolTip = 'Specifies whether to migrate the General Ledger module.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate GL Module", Rec."Migrate GL Module"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Payables Module"; Rec."Migrate Payables Module") + { + Caption = 'Payables'; + ToolTip = 'Specifies whether to migrate the Payables module.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Payables Module", Rec."Migrate Payables Module"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Receivables Module"; Rec."Migrate Receivables Module") + { + Caption = 'Receivables'; + ToolTip = 'Specifies whether to migrate the Receivables module.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Receivables Module", Rec."Migrate Receivables Module"); + SLCompanyAdditionalSettings.Modify() + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Open POs"; Rec."Migrate Open POs") + { + Caption = 'Open Purchase Orders'; + Enabled = false; + ToolTip = 'Specifies whether to migrate the open Purchase Orders.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Open POs", Rec."Migrate Open POs"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Inventory Module"; Rec."Migrate Inventory Module") + { + Caption = 'Inventory'; + ToolTip = 'Specifies whether to migrate the Inventory module.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Inventory Module", Rec."Migrate Inventory Module"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + } + + group(MasterOnly) + { + Caption = 'Master Data Only'; + InstructionalText = 'Indicate if you want to migrate master data only.'; + + field("Migrate Only GL Master"; Rec."Migrate Only GL Master") + { + Caption = 'General Ledger'; + ToolTip = 'Specifies whether to migrate GL master data only.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Only GL Master", Rec."Migrate Only GL Master"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Only Payables Master"; Rec."Migrate Only Payables Master") + { + Caption = 'Payables'; + ToolTip = 'Specifies whether to migrate Payables master data only.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Only Payables Master", Rec."Migrate Only Payables Master"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Only Rec. Master"; Rec."Migrate Only Rec. Master") + { + Caption = 'Receivables'; + ToolTip = 'Specifies whether to migrate Receivables master data only.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Only Rec. Master", Rec."Migrate Only Rec. Master"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Only Inventory Master"; Rec."Migrate Only Inventory Master") + { + Caption = 'Inventory'; + ToolTip = 'Specifies whether to migrate Inventory master data only.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Only Inventory Master", Rec."Migrate Only Inventory Master"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + } + + group(SkipPosting) + { + Caption = 'Disable Auto Posting'; + InstructionalText = 'Select whether migrated transactions should be posted automatically during the migration process. By disabling auto posting, you will have the flexibility to adjust transactions in Business Central before posting.'; + field("Skip Posting Account Batches"; Rec."Skip Posting Account Batches") + { + Caption = 'Account Batches'; + ToolTip = 'Specify whether to disable auto posting Account batches.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Skip Posting Account Batches", Rec."Skip Posting Account Batches"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0 + end; + } + field("Skip Posting Customer Batches"; Rec."Skip Posting Customer Batches") + { + Caption = 'Customer Batches'; + ToolTip = 'Specify whether to disable auto posting Customer batches.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Skip Posting Customer Batches", Rec."Skip Posting Customer Batches"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Skip Posting Vendor Batches"; Rec."Skip Posting Vendor Batches") + { + Caption = 'Vendor Batches'; + ToolTip = 'Specify whether to disable auto posting Vendor batches.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Skip Posting Vendor Batches", Rec."Skip Posting Vendor Batches"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Skip Posting Item Batches"; Rec."Skip Posting Item Batches") + { + Caption = 'Item Batches'; + ToolTip = 'Specify whether to disable auto posting Item batches.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Skip Posting Item Batches", Rec."Skip Posting Item Batches"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + } + + group(Inactives) + { + Caption = 'Inactive Records'; + InstructionalText = 'Select the inactive records to be migrated.'; + + field("Migrate Inactive Customers"; Rec."Migrate Inactive Customers") + { + Caption = 'Inactive Customers'; + ToolTip = 'Specifies whether to migrate inactive customers.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Inactive Customers", Rec."Migrate Inactive Customers"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Inactive Vendors"; Rec."Migrate Inactive Vendors") + { + Caption = 'Inactive Vendors'; + ToolTip = 'Specifies whether to migrate inactive vendors.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Inactive Vendors", Rec."Migrate Inactive Vendors"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Inactive Items"; Rec."Migrate Inactive Items") + { + Caption = 'Inactive Items'; + ToolTip = 'Specifies whether to migrate inactive items.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Inactive Items", Rec."Migrate Inactive Items"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Delete Status Items"; Rec."Migrate Discontinued Items") + { + Caption = 'Delete Status Items'; + ToolTip = 'Specifies whether to migrate discontinued items.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Discontinued Items", Rec."Migrate Discontinued Items"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0 + end; + } + } + + group(Classes) + { + Caption = 'Classes'; + InstructionalText = 'Choose whether Class Accounts from SL should be migrated to Posting Groups in Business Central.'; + + field("Migrate Customer Classes"; Rec."Migrate Customer Classes") + { + Caption = 'Customer Classes'; + Enabled = false; + ToolTip = 'Specifies whether to migrate customer classes.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Customer Classes", Rec."Migrate Customer Classes"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Vendor Classes"; Rec."Migrate Vendor Classes") + { + Caption = 'Vendor Classes'; + Enabled = false; + ToolTip = 'Specifies whether to migrate vendor classes.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Vendor Classes", Rec."Migrate Vendor Classes"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Product Classes"; Rec."Migrate Item Classes") + { + Caption = 'Product Classes'; + Enabled = false; + ToolTip = 'Specifies whether to migrate Product classes.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Item Classes", Rec."Migrate Item Classes"); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + } + + group(HistoricalData) + { + Caption = 'Historical Snapshot'; + InstructionalText = 'Choose whether to migrate detailed transactions from SL. These transactions will be placed in separate historical tables and visible in specific SL list pages.'; + + group(HistoricalMain) + { + ShowCaption = false; + + field("EnableDisable Historical Trx."; EnableDisableAllHistTrx) + { + Caption = 'Enable/Disable All Transactions'; + ToolTip = 'Specifies whether to migrate historical transactions.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then begin + Rec.Validate("Migrate Hist. GL Trx.", EnableDisableAllHistTrx); + Rec.Validate("Migrate Hist. AR Trx.", EnableDisableAllHistTrx); + Rec.Validate("Migrate Hist. AP Trx.", EnableDisableAllHistTrx); + Rec.Validate("Migrate Hist. Inv. Trx.", EnableDisableAllHistTrx); + Rec.Validate("Migrate Hist. Purch. Trx.", EnableDisableAllHistTrx); + + repeat + SLCompanyAdditionalSettings.Validate("Migrate Hist. GL Trx.", EnableDisableAllHistTrx); + SLCompanyAdditionalSettings.Validate("Migrate Hist. AR Trx.", EnableDisableAllHistTrx); + SLCompanyAdditionalSettings.Validate("Migrate Hist. AP Trx.", EnableDisableAllHistTrx); + SLCompanyAdditionalSettings.Validate("Migrate Hist. Inv. Trx.", EnableDisableAllHistTrx); + SLCompanyAdditionalSettings.Validate("Migrate Hist. Purch. Trx.", EnableDisableAllHistTrx); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + end; + } + } + group(HistoricalAreas) + { + ShowCaption = false; + + field("Migrate Hist. GL Trx."; Rec."Migrate Hist. GL Trx.") + { + Caption = 'GL Transactions'; + ToolTip = 'Specifies whether to migrate Historical GL transactions.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Hist. GL Trx.", Rec."Migrate Hist. GL Trx."); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Hist. AR Trx."; Rec."Migrate Hist. AR Trx.") + { + Caption = 'AR Transactions'; + ToolTip = 'Specifies whether to migrate Historical AR transactions.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Hist. AR Trx.", Rec."Migrate Hist. AR Trx."); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Hist. AP Trx."; Rec."Migrate Hist. AP Trx.") + { + Caption = 'AP Transactions'; + ToolTip = 'Specifies whether to migrate Historical AP transactions.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Hist. AP Trx.", Rec."Migrate Hist. AP Trx."); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Hist. Inv. Trx."; Rec."Migrate Hist. Inv. Trx.") + { + Caption = 'Inventory Transactions'; + ToolTip = 'Specifies whether to migrate Historical Inv. transactions.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Hist. Inv. Trx.", Rec."Migrate Hist. Inv. Trx."); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + field("Migrate Hist. Purch. Trx."; Rec."Migrate Hist. Purch. Trx.") + { + Caption = 'PO Receipt Transactions'; + ToolTip = 'Specifies whether to migrate Historical PO transactions.'; + + trigger OnValidate() + begin + if PrepSettingsForFieldUpdate() then + repeat + SLCompanyAdditionalSettings.Validate("Migrate Hist. Purch. Trx.", Rec."Migrate Hist. Purch. Trx."); + SLCompanyAdditionalSettings.Modify(); + until SLCompanyAdditionalSettings.Next() = 0; + end; + } + } + } + + group(SettingsList) + { + Caption = 'Per Company'; + + part("SL Company Additional Settings List"; "SL Company Add. Settings List") + { + Caption = 'Configure individual company settings'; + ShowFilter = true; + UpdatePropagation = Both; + } + } + } + } + + actions + { + area(Promoted) + { + actionref(ResetAllAction_Promoted; ResetAllAction) + { + } + actionref(SetDimensions_Promoted; SetDimensions) + { + } + } + area(Processing) + { + action(ResetAllAction) + { + Caption = 'Reset Defaults'; + Image = Setup; + ToolTip = 'Reset all companies to the default settings.'; + + trigger OnAction() + begin + if Confirm(ResetAllQst) then + ResetAll(); + end; + } + + action(SetDimensions) + { + Caption = 'Set All Dimensions'; + Enabled = false; + Image = Dimensions; + ToolTip = 'Attempt to set the Dimensions for all Companies.'; + trigger OnAction() + var + SLPopulateDimensionsDialog: Page "SL Set All Dimensions Dialog"; + BlanksClearValue: Boolean; + SelectedDimension1: Text[30]; + SelectedDimension2: Text[30]; + begin + SLPopulateDimensionsDialog.RunModal(); + if SLPopulateDimensionsDialog.GetConfirmedYes() then begin + SelectedDimension1 := SLPopulateDimensionsDialog.GetDimension1(); + SelectedDimension2 := SLPopulateDimensionsDialog.GetDimension2(); + BlanksClearValue := SLPopulateDimensionsDialog.GetBlanksClearValue(); + + if (SelectedDimension1 <> '') or BlanksClearValue then + AssignDimension(1, SelectedDimension1); + + if (SelectedDimension2 <> '') or BlanksClearValue then + AssignDimension(2, SelectedDimension2); + end; + end; + } + } + } + + internal procedure ShouldShowManagementPromptOnClose(shouldShow: Boolean) + begin + ShowManagementPromptOnClose := shouldShow; + end; + + trigger OnInit() + begin + ShowManagementPromptOnClose := true; + end; + + trigger OnOpenPage() + begin + if not Rec.Get() then + Rec.Insert(true); + + CurrPage.SetRecord(Rec); + EnsureSettingsForAllCompanies(); + + EnableDisableAllHistTrx := Rec."Migrate Hist. GL Trx." and + Rec."Migrate Hist. AR Trx." and + Rec."Migrate Hist. AP Trx." and + Rec."Migrate Hist. Inv. Trx." and + Rec."Migrate Hist. Purch. Trx."; + end; + + internal procedure EnsureSettingsForAllCompanies() + var + SLCompanyAdditionalSettingsEachCompany: Record "SL Company Additional Settings"; + HybridCompany: Record "Hybrid Company"; + begin + HybridCompany.SetRange(Replicate, true); + if HybridCompany.FindSet() then + repeat + if not SLCompanyAdditionalSettingsEachCompany.Get(HybridCompany.Name) then begin + SLCompanyAdditionalSettingsEachCompany.Validate(Name, HybridCompany.Name); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Inactive Customers", Rec."Migrate Inactive Customers"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Inactive Vendors", Rec."Migrate Inactive Vendors"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Vendor Classes", Rec."Migrate Vendor Classes"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Customer Classes", Rec."Migrate Customer Classes"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Item Classes", Rec."Migrate Item Classes"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate GL Module", Rec."Migrate GL Module"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Payables Module", Rec."Migrate Payables Module"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Receivables Module", Rec."Migrate Receivables Module"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Open POs", Rec."Migrate Open POs"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Inventory Module", Rec."Migrate Inventory Module"); + SLCompanyAdditionalSettingsEachCompany.Validate("Oldest GL Year to Migrate", Rec."Oldest GL Year to Migrate"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Only GL Master", Rec."Migrate Only GL Master"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Only Payables Master", Rec."Migrate Only Payables Master"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Only Rec. Master", Rec."Migrate Only Rec. Master"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Only Inventory Master", Rec."Migrate Only Inventory Master"); + SLCompanyAdditionalSettingsEachCompany.Validate("Oldest Hist. Year to Migrate", Rec."Oldest Hist. Year to Migrate"); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Hist. GL Trx.", Rec."Migrate Hist. GL Trx."); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Hist. AR Trx.", Rec."Migrate Hist. AR Trx."); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Hist. AP Trx.", Rec."Migrate Hist. AP Trx."); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Hist. Inv. Trx.", Rec."Migrate Hist. Inv. Trx."); + SLCompanyAdditionalSettingsEachCompany.Validate("Migrate Hist. Purch. Trx.", Rec."Migrate Hist. Purch. Trx."); + SLCompanyAdditionalSettingsEachCompany.Validate("Skip Posting Account Batches", Rec."Skip Posting Account Batches"); + SLCompanyAdditionalSettingsEachCompany.Validate("Skip Posting Customer Batches", Rec."Skip Posting Customer Batches"); + SLCompanyAdditionalSettingsEachCompany.Validate("Skip Posting Vendor Batches", Rec."Skip Posting Vendor Batches"); + SLCompanyAdditionalSettingsEachCompany.Validate("Skip Posting Item Batches", Rec."Skip Posting Item Batches"); + + SLCompanyAdditionalSettingsEachCompany.Insert(true); + end; + until HybridCompany.Next() = 0; + + CurrPage.Update(); + end; + + internal procedure PrepSettingsForFieldUpdate(): Boolean + begin + SLCompanyAdditionalSettings.SetFilter(Name, '<>%1', ''); + SLCompanyAdditionalSettings.SetRange("Migration Completed", false); + exit(SLCompanyAdditionalSettings.FindSet()); + end; + + internal procedure DeleteCurrentSettings() + var + SLCompanyAdditionalSettingsInit: Record "SL Company Additional Settings"; + begin + SLCompanyAdditionalSettingsInit.SetRange("Migration Completed", false); + SLCompanyAdditionalSettingsInit.DeleteAll(); + + Rec.Init(); + Rec.Insert(true); + + CurrPage.SetRecord(Rec); + end; + + internal procedure ResetAll() + var + SLCompanyAdditionalSettingsInit: Record "SL Company Additional Settings"; + begin + DeleteCurrentSettings(); + EnableDisableAllHistTrx := false; + + Rec.Validate("Migrate Inactive Customers", SLCompanyAdditionalSettingsInit."Migrate Inactive Customers"); + Rec.Validate("Migrate Inactive Vendors", SLCompanyAdditionalSettingsInit."Migrate Inactive Vendors"); + Rec.Validate("Migrate Vendor Classes", SLCompanyAdditionalSettingsInit."Migrate Vendor Classes"); + Rec.Validate("Migrate Customer Classes", SLCompanyAdditionalSettingsInit."Migrate Customer Classes"); + Rec.Validate("Migrate Item Classes", SLCompanyAdditionalSettingsInit."Migrate Item Classes"); + Rec.Validate("Migrate GL Module", SLCompanyAdditionalSettingsInit."Migrate GL Module"); + Rec.Validate("Migrate Payables Module", SLCompanyAdditionalSettingsInit."Migrate Payables Module"); + Rec.Validate("Migrate Receivables Module", SLCompanyAdditionalSettingsInit."Migrate Receivables Module"); + Rec.Validate("Migrate Open POs", SLCompanyAdditionalSettingsInit."Migrate Open POs"); + Rec.Validate("Migrate Inventory Module", SLCompanyAdditionalSettingsInit."Migrate Inventory Module"); + Rec.Validate("Migrate Only GL Master", SLCompanyAdditionalSettingsInit."Migrate Only GL Master"); + Rec.Validate("Migrate Only Payables Master", SLCompanyAdditionalSettingsInit."Migrate Only Payables Master"); + Rec.Validate("Migrate Only Rec. Master", SLCompanyAdditionalSettingsInit."Migrate Only Rec. Master"); + Rec.Validate("Migrate Only Inventory Master", SLCompanyAdditionalSettingsInit."Migrate Only Inventory Master"); + Rec.Validate("Oldest Hist. Year to Migrate", SLCompanyAdditionalSettingsInit."Oldest Hist. Year to Migrate"); + Rec.Validate("Migrate Hist. GL Trx.", SLCompanyAdditionalSettingsInit."Migrate Hist. GL Trx."); + Rec.Validate("Migrate Hist. AR Trx.", SLCompanyAdditionalSettingsInit."Migrate Hist. AR Trx."); + Rec.Validate("Migrate Hist. AP Trx.", SLCompanyAdditionalSettingsInit."Migrate Hist. AP Trx."); + Rec.Validate("Migrate Hist. Inv. Trx.", SLCompanyAdditionalSettingsInit."Migrate Hist. Inv. Trx."); + Rec.Validate("Migrate Hist. Purch. Trx.", SLCompanyAdditionalSettingsInit."Migrate Hist. Purch. Trx."); + Rec.Validate("Skip Posting Account Batches", SLCompanyAdditionalSettingsInit."Skip Posting Account Batches"); + Rec.Validate("Skip Posting Customer Batches", SLCompanyAdditionalSettingsInit."Skip Posting Customer Batches"); + Rec.Validate("Skip Posting Vendor Batches", SLCompanyAdditionalSettingsInit."Skip Posting Vendor Batches"); + Rec.Validate("Skip Posting Item Batches", SLCompanyAdditionalSettingsInit."Skip Posting Item Batches"); + + EnableDisableAllHistTrx := Rec."Migrate Hist. GL Trx." and + Rec."Migrate Hist. AR Trx." and + Rec."Migrate Hist. AP Trx." and + Rec."Migrate Hist. Inv. Trx." and + Rec."Migrate Hist. Purch. Trx."; + + CurrPage.Update(true); + + EnsureSettingsForAllCompanies(); + end; + + trigger OnQueryClosePage(CloseAction: Action): Boolean + begin + if SettingsHasCompanyMissingDimension() then + if (not Confirm(CompanyMissingDimensionExitQst)) then + exit(false); + + if Rec.AreAllModulesDisabled() then + if (not Confirm(AllModulesDisabledExitQst)) then + exit(false); + + if ShowManagementPromptOnClose then + if Confirm(OpenCloudMigrationPageQst) then + Page.Run(Page::"Intelligent Cloud Management"); + + exit(true); + end; + + internal procedure SettingsHasCompanyMissingDimension(): Boolean + var + SLCompanyAdditionalSettingsCompanies: Record "SL Company Additional Settings"; + begin + SLCompanyAdditionalSettingsCompanies.SetFilter(Name, '<>%1', ''); + SLCompanyAdditionalSettingsCompanies.SetRange("Migration Completed", false); + if SLCompanyAdditionalSettingsCompanies.FindSet() then + repeat + if (SLCompanyAdditionalSettingsCompanies."Global Dimension 1" = '') then + exit(true); + + if (SLCompanyAdditionalSettingsCompanies."Global Dimension 2" = '') then + exit(true); + until SLCompanyAdditionalSettingsCompanies.Next() = 0; + + exit(false); + end; + + internal procedure AssignDimension(DimensionNumber: Integer; DimensionLabel: Text[30]) + var + SLCompanyAdditionalSettingsCompanies: Record "SL Company Additional Settings"; + begin + SLCompanyAdditionalSettingsCompanies.SetFilter(Name, '<>%1', ''); + SLCompanyAdditionalSettingsCompanies.SetRange("Migration Completed", false); + if SLCompanyAdditionalSettingsCompanies.FindSet() then + repeat + if (DimensionLabel = '') or CompanyHasSegment(SLCompanyAdditionalSettingsCompanies.Name, DimensionLabel) then begin + if DimensionNumber = 1 then + SLCompanyAdditionalSettingsCompanies.Validate("Global Dimension 1", DimensionLabel); + + if DimensionNumber = 2 then + SLCompanyAdditionalSettingsCompanies.Validate("Global Dimension 2", DimensionLabel); + + SLCompanyAdditionalSettingsCompanies.Modify(); + end; + until SLCompanyAdditionalSettingsCompanies.Next() = 0; + end; + + internal procedure CompanyHasSegment(CompanyName: Text[50]; SegmentName: Text[30]): Boolean + var + SLSegmentName: Record "SL Segment Name"; + begin + SLSegmentName.SetRange("Company Name", CompanyName); + SLSegmentName.SetRange("Segment Name", SegmentName); + + exit(not SLSegmentName.IsEmpty()); + end; + + var + SLCompanyAdditionalSettings: Record "SL Company Additional Settings"; + ShowManagementPromptOnClose: Boolean; + EnableDisableAllHistTrx: Boolean; + CompanyMissingDimensionExitQst: Label 'A Company is missing a Dimension. Are you sure you want to exit?'; + OpenCloudMigrationPageQst: Label 'Would you like to open the Cloud Migration Management page to manage your data migrations?'; + ResetAllQst: Label 'Are you sure? This will reset all company migration settings to their default values.'; + AllModulesDisabledExitQst: Label 'All modules are disabled and nothing will migrate (with the exception of the Snapshot if configured). Are you sure you want to exit?'; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/pages/SLMigrationErrorOverview.Page.al b/Apps/W1/HybridSL/app/src/pages/SLMigrationErrorOverview.Page.al new file mode 100644 index 0000000000..6781995e91 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLMigrationErrorOverview.Page.al @@ -0,0 +1,169 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using System.Integration; + +page 47020 "SL Migration Error Overview" +{ + ApplicationArea = All; + Caption = 'Migration Error Overview'; + DeleteAllowed = false; + Editable = false; + InsertAllowed = false; + PageType = List; + SourceTable = "SL Migration Error Overview"; + + layout + { + area(Content) + { + repeater(GroupName) + { + field(Company; Rec."Company Name") + { + ApplicationArea = All; + ToolTip = 'Specifies the name of the company in which the error occured.'; + } + field("Error Message"; Rec."Error Message") + { + ApplicationArea = All; + ToolTip = 'Specifies the error message that occurred during the data upgrade.'; + } + field(LastRecordUnderProcessing; Rec."Last Record Under Processing") + { + ApplicationArea = All; + Caption = 'Last Processed Record'; + Editable = false; + ToolTip = 'Specifies the last record that was processed before the error occurred.'; + + trigger OnDrillDown() + begin + Message(Rec.GetLastRecordsUnderProcessingLog()); + end; + } + field(StackTrace; StackTraceTxt) + { + ApplicationArea = All; + Caption = 'Error Stack Trace'; + ToolTip = 'Specifies the stack trace that relates to the error.'; + trigger OnDrillDown() + var + MessageWithStackTrace: Text; + NewLine: Text; + begin + NewLine[1] := 10; + MessageWithStackTrace := StackTraceTxt + NewLine + Rec.GetExceptionCallStack(); + Message(MessageWithStackTrace); + end; + } + field(ErrorDismissed; Rec."Error Dismissed") + { + ApplicationArea = All; + ToolTip = 'Specifies whether the error has been dismissed.'; + } + } + } + } + actions + { + area(Processing) + { + action(OpenInCompany) + { + ApplicationArea = All; + Caption = 'Open in Company'; + Image = Open; + ToolTip = 'Open the company in which the error occurred.'; + Visible = false; + + trigger OnAction() + begin + Hyperlink(GetUrl(ClientType::Web, Rec."Company Name", ObjectType::Page, Page::"Data Migration Overview")); + end; + } + action(ShowProcessedRecordsLog) + { + ApplicationArea = All; + Caption = 'Show log of processed records'; + Image = ShowList; + ToolTip = 'Shows the log of last processed records before error occured.'; + + trigger OnAction() + begin + Message(Rec.GetLastRecordsUnderProcessingLog()); + end; + } + action(DismissError) + { + ApplicationArea = All; + Caption = 'Dismiss Error'; + Image = CompleteLine; + ToolTip = 'Dismiss the error.'; + + trigger OnAction() + begin + Rec."Error Dismissed" := true; + Rec.Modify(); + end; + } + action(ShowHideAllErrors) + { + ApplicationArea = All; + Caption = 'Show/Hide All Errors'; + Image = ShowList; + ToolTip = 'Shows or hides dismissed errors.'; + + trigger OnAction() + var + ErrorDismissedTxt: Text; + begin + ErrorDismissedTxt := Rec.GetFilter("Error Dismissed"); + if ErrorDismissedTxt = '' then + Rec.SetRange("Error Dismissed", true) + else + Rec.SetRange("Error Dismissed"); + end; + } + } + area(Promoted) + { + group(Category_Process) + { + actionref(OpenInCompany_Promoted; OpenInCompany) + { + } + actionref(ShowProcessedRecordsLog_Promoted; ShowProcessedRecordsLog) + { + } + actionref(DismissError_Promoted; DismissError) + { + } + actionref(ShowHideAllErrors_Promoted; ShowHideAllErrors) + { + } + } + } + } + + trigger OnAfterGetRecord() + begin + StackTraceTxt := Rec.GetFullExceptionMessage(); + end; + + trigger OnAfterGetCurrRecord() + begin + StackTraceTxt := Rec.GetFullExceptionMessage(); + end; + + trigger OnOpenPage() + begin + Rec.SetRange("Error Dismissed", false); + end; + + var + StackTraceTxt: Text; +} diff --git a/Apps/W1/HybridSL/app/src/pages/SLMigrationWarnings.Page.al b/Apps/W1/HybridSL/app/src/pages/SLMigrationWarnings.Page.al new file mode 100644 index 0000000000..53bb565e5e --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLMigrationWarnings.Page.al @@ -0,0 +1,56 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +page 47021 "SL Migration Warnings" +{ + ApplicationArea = All; + Caption = 'SL Migration Warnings'; + DeleteAllowed = false; + Editable = false; + InsertAllowed = false; + PageType = List; + SourceTable = "SL Migration Warnings"; + + layout + { + area(Content) + { + repeater(General) + { + field(Id; Rec.Id) + { + ToolTip = 'Specifies the Id in which the warning occured.'; + } + field(Company; Rec."Company Name") + { + ApplicationArea = All; + ToolTip = 'Specifies the name of the company in which the warning occured.'; + } + field("Migration Area"; Rec."Migration Area") + { + ToolTip = 'Specifies the Migration Area in which the warning occured.'; + } + field(Context; Rec.Context) + { + ToolTip = 'Specifies the Context in which the warning occured.'; + } + field("Warning Text"; Rec."Warning Text") + { + ToolTip = 'Specifies the Warning Text in which the warning occured.'; + } + field("Modifed Date"; Rec."SystemModifiedAt") + { + ToolTip = 'Specifies the Date the warning last occured.'; + } + field("Created Date"; Rec."SystemCreatedAt") + { + ToolTip = 'Specifies the Date the warning originally occured.'; + } + } + } + } +} diff --git a/Apps/W1/HybridSL/app/src/pages/SLSetAllDimensionsDialog.Page.al b/Apps/W1/HybridSL/app/src/pages/SLSetAllDimensionsDialog.Page.al new file mode 100644 index 0000000000..1b91a46fea --- /dev/null +++ b/Apps/W1/HybridSL/app/src/pages/SLSetAllDimensionsDialog.Page.al @@ -0,0 +1,158 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +page 47019 "SL Set All Dimensions Dialog" +{ + ApplicationArea = All; + Caption = 'Set All Company Dimensions'; + PageType = NavigatePage; + + layout + { + area(Content) + { + label(HeaderText) + { + Caption = 'Select the two segments from Dynamics SL you would like as the global dimensions. The remaining segments will automatically be set up as shortcut dimensions.'; + } + + field("Dimension 1"; Dimension1) + { + Caption = 'Dimension 1'; + TableRelation = "SL Segment Name"."Segment Name" where("Company Name" = const('')); + ToolTip = 'Specifies the value for Dimension 1'; + } + + field("Dimension 2"; Dimension2) + { + Caption = 'Dimension 2'; + TableRelation = "SL Segment Name"."Segment Name" where("Company Name" = const('')); + ToolTip = 'Specifies the value for Dimension 2'; + + trigger OnValidate() + begin + if (Dimension1 <> '') and (Dimension1 = Dimension2) then + Error(GlobalDimensionsCannotBeTheSameErr); + end; + } + } + } + + actions + { + area(Processing) + { + action(ActionOK) + { + Caption = 'OK'; + Image = Approve; + InFooterBar = true; + + trigger OnAction() + begin + if (Dimension1 = '') and (Dimension2 = '') then + BlanksClearValue := Confirm(BothDimensionsBlankConfirmMsg) + else begin + if Dimension1 = '' then + BlanksClearValue := Confirm(OneDimensionBlankConfirmMsg, false, 1); + + if Dimension2 = '' then + BlanksClearValue := Confirm(OneDimensionBlankConfirmMsg, false, 2); + end; + + ConfirmedYes := true; + CurrPage.Close(); + end; + } + + action(ActionCancel) + { + Caption = 'Cancel'; + Image = Cancel; + InFooterBar = true; + + trigger OnAction() + begin + CurrPage.Close(); + end; + } + } + } + + trigger OnOpenPage() + begin + SLDimensions.GetSegmentNames(); + end; + + internal procedure DeleteUniqueSegmentIndex() + var + SLSegmentName: Record "SL Segment Name"; + begin + SLSegmentName.SetRange("Company Name", ''); + SLSegmentName.DeleteAll(); + end; + + internal procedure GenerateUniqueSegmentIndex() + var + HybridCompany: Record "Hybrid Company"; + SLSegmentName: Record "SL Segment Name"; + SLSegmentNameUnique: Record "SL Segment Name"; + begin + DeleteUniqueSegmentIndex(); + + HybridCompany.SetRange(Replicate, true); + if HybridCompany.FindSet() then + repeat + MigratingCompanyList.Add(HybridCompany.Name); + until HybridCompany.Next() = 0; + + SLSegmentName.SetFilter("Company Name", '<>%1', ''); + if SLSegmentName.FindSet() then + repeat + if not SLSegmentNameUnique.Get(SLSegmentName."Segment Name", '') then + if MigratingCompanyList.IndexOf(SLSegmentName."Company Name") > 0 then begin + SLSegmentNameUnique."Company Name" := ''; + SLSegmentNameUnique."Segment Name" := SLSegmentName."Segment Name"; + SLSegmentNameUnique."Segment Number" := SLSegmentName."Segment Number"; + SLSegmentNameUnique.Insert(); + end; + until SLSegmentName.Next() = 0; + end; + + internal procedure GetDimension1(): Text[30] + begin + exit(Dimension1); + end; + + internal procedure GetDimension2(): Text[30] + begin + exit(Dimension2); + end; + + internal procedure GetBlanksClearValue(): Boolean + begin + exit(BlanksClearValue); + end; + + internal procedure GetConfirmedYes(): Boolean + begin + exit(ConfirmedYes); + end; + + var + SLDimensions: Codeunit "SL Dimensions"; + BlanksClearValue: Boolean; + ConfirmedYes: Boolean; + GlobalDimensionsCannotBeTheSameErr: Label 'Dimension 1 and Dimension 2 cannot be the same.'; + BothDimensionsBlankConfirmMsg: Label 'Both dimensions are empty. Do you want to clear both dimensions for all companies?'; + OneDimensionBlankConfirmMsg: Label 'You don''t have a value for Dimension %1. Do you want to clear Dimension %1 for all companies?', Comment = '%1 - Dimension name'; + MigratingCompanyList: List of [Text]; + Dimension1: Text[30]; + Dimension2: Text[30]; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/tables/SLCompanyAdditionalSettings.Table.al b/Apps/W1/HybridSL/app/src/tables/SLCompanyAdditionalSettings.Table.al new file mode 100644 index 0000000000..7b2f66663c --- /dev/null +++ b/Apps/W1/HybridSL/app/src/tables/SLCompanyAdditionalSettings.Table.al @@ -0,0 +1,609 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +table 47061 "SL Company Additional Settings" +{ + Access = Internal; + DataClassification = SystemMetadata; + DataPerCompany = false; + Description = 'Additional Company settings for a SL migration'; + ReplicateData = false; + + fields + { + field(1; Name; Text[30]) + { + DataClassification = OrganizationIdentifiableInformation; + TableRelation = "Hybrid Company".Name; + } + field(2; "Migrate Inactive Customers"; Boolean) + { + InitValue = false; + + trigger OnValidate() + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + begin + if Rec."Migrate Inactive Customers" then + Rec.Validate("Migrate Receivables Module", true); + + if (not SLCompanyMigrationSettings.Get(Name)) then begin + SLCompanyMigrationSettings.Name := Name; + SLCompanyMigrationSettings.Insert(); + end; + + SLCompanyMigrationSettings.Validate("Migrate Inactive Customers", Rec."Migrate Inactive Customers"); + SLCompanyMigrationSettings.Modify(); + end; + } + field(3; "Migrate Inactive Vendors"; Boolean) + { + InitValue = false; + + trigger OnValidate() + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + begin + if Rec."Migrate Inactive Vendors" then + Rec.Validate("Migrate Payables Module", true); + + if (not SLCompanyMigrationSettings.Get(Name)) then begin + SLCompanyMigrationSettings.Name := Name; + SLCompanyMigrationSettings.Insert(); + end; + + SLCompanyMigrationSettings.Validate("Migrate Inactive Vendors", Rec."Migrate Inactive Vendors"); + SLCompanyMigrationSettings.Modify(); + end; + } + field(4; "Migrate Vendor Classes"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Vendor Classes" then begin + Rec.Validate("Migrate Payables Module", true); + + if not Rec."Migrate GL Module" then + Rec.Validate("Migrate GL Module", true); + end; + end; + } + field(5; "Migrate Customer Classes"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Customer Classes" then begin + Rec.Validate("Migrate Receivables Module", true); + + if not Rec."Migrate GL Module" then + Rec.Validate("Migrate GL Module", true); + end; + end; + } + field(6; "Migrate Item Classes"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Item Classes" then begin + Rec.Validate("Migrate Inventory Module", true); + + if not Rec."Migrate GL Module" then + Rec.Validate("Migrate GL Module", true); + end; + end; + } + field(7; "Oldest GL Year to Migrate"; Integer) + { + trigger OnValidate() + begin + Rec.Validate("Oldest Hist. Year to Migrate", Rec."Oldest GL Year to Migrate"); + end; + } + field(8; "Migrate Payables Module"; Boolean) + { + InitValue = true; + + trigger OnValidate() + begin + if not Rec."Migrate Payables Module" then begin + Rec.Validate("Migrate Inactive Vendors", false); + Rec.Validate("Migrate Open POs", false); + Rec.Validate("Migrate Vendor Classes", false); + Rec.Validate("Migrate Only Payables Master", false); + Rec.Validate("Migrate Hist. AP Trx.", false); + end; + end; + } + field(9; "Migrate Receivables Module"; Boolean) + { + InitValue = true; + + trigger OnValidate() + begin + if not Rec."Migrate Receivables Module" then begin + Rec.Validate("Migrate Inactive Customers", false); + Rec.Validate("Migrate Customer Classes", false); + Rec.Validate("Migrate Only Rec. Master", false); + Rec.Validate("Migrate Hist. AR Trx.", false); + end; + end; + } + field(10; "Migrate Inventory Module"; Boolean) + { + InitValue = true; + + trigger OnValidate() + begin + if not Rec."Migrate Inventory Module" then begin + Rec.Validate("Migrate Item Classes", false); + Rec.Validate("Migrate Open POs", false); + Rec.Validate("Migrate Only Inventory Master", false); + Rec.Validate("Migrate Inactive Items", false); + Rec.Validate("Migrate Discontinued Items", false); + Rec.Validate("Migrate Hist. Inv. Trx.", false); + end; + end; + } + field(11; "Global Dimension 1"; Text[30]) + { + Description = 'Global Dimension 1 for the company'; + TableRelation = "SL Segment Name"."Segment Name" where("Company Name" = field(Name)); + ValidateTableRelation = true; + + trigger OnValidate() + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + begin + if (not SLCompanyMigrationSettings.Get(Name)) then begin + SLCompanyMigrationSettings.Name := Name; + SLCompanyMigrationSettings.Insert(); + end; + + SLCompanyMigrationSettings.Validate("Global Dimension 1", Rec."Global Dimension 1"); + SLCompanyMigrationSettings.Modify(); + end; + } + field(12; "Global Dimension 2"; Text[30]) + { + Description = 'Global Dimension 2 for the company'; + TableRelation = "SL Segment Name"."Segment Name" where("Company Name" = field(Name)); + ValidateTableRelation = true; + + trigger OnValidate() + var + SLCompanyMigrationSettings: Record "SL Company Migration Settings"; + begin + if (not SLCompanyMigrationSettings.Get(Name)) then begin + SLCompanyMigrationSettings.Name := Name; + SLCompanyMigrationSettings.Insert(); + end; + + SLCompanyMigrationSettings.Validate("Global Dimension 2", Rec."Global Dimension 2"); + SLCompanyMigrationSettings.Modify(); + end; + } + field(13; "Migrate Open POs"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Open POs" then begin + Rec.Validate("Migrate Inventory Module", true); + Rec.Validate("Migrate Payables Module", true); + + if not Rec."Migrate GL Module" then + Rec.Validate("Migrate GL Module", true); + end; + end; + } + field(14; "Migrate Only GL Master"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Only GL Master" then + if not Rec."Migrate GL Module" then + Rec.Validate("Migrate GL Module", true); + end; + } + field(15; "Migrate Only Payables Master"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Only Payables Master" then begin + if not Rec."Migrate Payables Module" then + Rec.Validate("Migrate Payables Module", true) + end else + if not Rec."Migrate GL Module" then + if Rec."Migrate Payables Module" then + Rec.Validate("Migrate GL Module", true); + end; + } + field(16; "Migrate Only Rec. Master"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Only Rec. Master" then begin + if not Rec."Migrate Receivables Module" then + Rec.Validate("Migrate Receivables Module", true) + end else + if not Rec."Migrate GL Module" then + if Rec."Migrate Receivables Module" then + Rec.Validate("Migrate GL Module", true); + end; + } + field(17; "Migrate Only Inventory Master"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Only Inventory Master" then begin + if not Rec."Migrate Inventory Module" then + Rec.Validate("Migrate Inventory Module", true) + end else + if not Rec."Migrate GL Module" then + if Rec."Migrate Inventory Module" then + Rec.Validate("Migrate GL Module", true); + end; + } + field(18; "Migrate Inactive Items"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Inactive Items" then + Rec.Validate("Migrate Inventory Module", true); + end; + } + field(19; "Migrate Discontinued Items"; Boolean) + { + InitValue = false; + + trigger OnValidate() + begin + if Rec."Migrate Discontinued Items" then + Rec.Validate("Migrate Inventory Module", true); + end; + } + field(20; "Oldest Hist. Year to Migrate"; Integer) + { + } + field(21; "Migrate Hist. GL Trx."; Boolean) + { + InitValue = false; + } + field(22; "Migrate Hist. AR Trx."; Boolean) + { + InitValue = false; + } + field(23; "Migrate Hist. AP Trx."; Boolean) + { + InitValue = false; + } + field(24; "Migrate Hist. Inv. Trx."; Boolean) + { + InitValue = false; + } + field(25; "Migrate Hist. Purch. Trx."; Boolean) + { + InitValue = false; + } + field(26; "Migration Completed"; Boolean) + { + CalcFormula = exist("Hybrid Company Status" where(Name = field(Name), "Upgrade Status" = const(Completed))); + Editable = false; + FieldClass = FlowField; + } + field(27; "Skip Posting Account Batches"; Boolean) + { + InitValue = false; + } + field(28; "Skip Posting Customer Batches"; Boolean) + { + InitValue = false; + } + field(29; "Skip Posting Vendor Batches"; Boolean) + { + InitValue = false; + } + field(30; "Migrate GL Module"; Boolean) + { + InitValue = true; + + trigger OnValidate() + var + AllowedToMakeChange: Boolean; + begin + AllowedToMakeChange := true; + + if (Name = '') and not Rec."Migrate GL Module" then + if GuiAllowed() then + AllowedToMakeChange := Confirm(DisableGLModuleQst); + + if not AllowedToMakeChange then + Error(''); + + if not Rec."Migrate GL Module" then begin + Rec.Validate("Migrate Open POs", false); + Rec.Validate("Migrate Customer Classes", false); + Rec.Validate("Migrate Item Classes", false); + Rec.Validate("Migrate Vendor Classes", false); + Rec.Validate("Migrate Only GL Master", false); + + if Rec."Migrate Inventory Module" then + Rec.Validate("Migrate Only Inventory Master", true); + + if Rec."Migrate Payables Module" then + Rec.Validate("Migrate Only Payables Master", true); + + if Rec."Migrate Receivables Module" then + Rec.Validate("Migrate Only Rec. Master", true); + end; + end; + } + field(31; "Skip Posting Item Batches"; Boolean) + { + InitValue = false; + } + field(32; "Has Hybrid Company"; Boolean) + { + CalcFormula = exist("Hybrid Company" where(Name = field(Name))); + Editable = false; + FieldClass = FlowField; + } + } + + keys + { + key(Key1; Name) + { + Clustered = true; + } + } + + internal procedure GetSingleInstance() + var + CurrentCompanyName: Text[50]; + begin + CurrentCompanyName := CopyStr(CompanyName(), 1, MaxStrLen(CurrentCompanyName)); + + if Name = CurrentCompanyName then + exit; + + if not Rec.Get(CurrentCompanyName) then begin + Rec.Name := CopyStr(CurrentCompanyName, 1, MaxStrLen(Rec.Name)); + Rec.Insert(); + end; + end; + + // Modules + internal procedure GetGLModuleEnabled(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate GL Module"); + end; + + internal procedure GetPayablesModuleEnabled(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Payables Module"); + end; + + internal procedure GetReceivablesModuleEnabled(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Receivables Module"); + end; + + internal procedure GetInventoryModuleEnabled(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Inventory Module"); + end; + + // Inactives + internal procedure GetMigrateInactiveCustomers(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Inactive Customers"); + end; + + internal procedure GetMigrateInactiveVendors(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Inactive Vendors"); + end; + + internal procedure GetMigrateInactiveItems(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Inactive Items"); + end; + + internal procedure GetMigrateDiscontinuedItems(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Discontinued Items"); + end; + + // Classes + internal procedure GetMigrateVendorClasses(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Vendor Classes"); + end; + + internal procedure GetMigrateCustomerClasses(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Customer Classes"); + end; + + internal procedure GetMigrateItemClasses(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Item Classes"); + end; + + // Master data + internal procedure GetMigrateOnlyGLMaster(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Only GL Master"); + end; + + internal procedure GetMigrateOnlyPayablesMaster(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Only Payables Master"); + end; + + internal procedure GetMigrateOnlyReceivablesMaster(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Only Rec. Master"); + end; + + internal procedure GetMigrateOnlyInventoryMaster(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Only Inventory Master"); + end; + + // Posting + internal procedure GetSkipAllPosting(): Boolean + begin + GetSingleInstance(); + exit(Rec."Skip Posting Account Batches" and + Rec."Skip Posting Customer Batches" and + Rec."Skip Posting Vendor Batches" and + Rec."Skip Posting Item Batches"); + end; + + internal procedure GetSkipPostingAccountBatches(): Boolean + begin + GetSingleInstance(); + exit(Rec."Skip Posting Account Batches"); + end; + + internal procedure GetSkipPostingCustomerBatches(): Boolean + begin + GetSingleInstance(); + exit(Rec."Skip Posting Customer Batches"); + end; + + internal procedure GetSkipPostingVendorBatches(): Boolean + begin + GetSingleInstance(); + exit(Rec."Skip Posting Vendor Batches"); + end; + + internal procedure GetSkipPostingItemBatches(): Boolean + begin + GetSingleInstance(); + exit(Rec."Skip Posting Item Batches"); + end; + + // Other + internal procedure GetMigrateOpenPOs(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Open POs"); + end; + + internal procedure GetInitialYear(): Integer + begin + GetSingleInstance(); + exit(Rec."Oldest GL Year to Migrate"); + end; + + // Historical Transactions + internal procedure GetHistInitialYear(): Integer + begin + GetSingleInstance(); + exit(Rec."Oldest Hist. Year to Migrate"); + end; + + internal procedure GetMigrateHistGLTrx(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Hist. GL Trx."); + end; + + internal procedure GetMigrateHistARTrx(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Hist. AR Trx."); + end; + + internal procedure GetMigrateHistAPTrx(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Hist. AP Trx."); + end; + + internal procedure GetMigrateHistInvTrx(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Hist. Inv. Trx."); + end; + + internal procedure GetMigrateHistPurchTrx(): Boolean + begin + GetSingleInstance(); + exit(Rec."Migrate Hist. Purch. Trx."); + end; + + internal procedure GetMigrateHistory(): Boolean + begin + GetSingleInstance(); + + if Rec."Migrate Hist. GL Trx." then + exit(true); + + if Rec."Migrate Hist. AR Trx." then + exit(true); + + if Rec."Migrate Hist. AP Trx." then + exit(true); + + if Rec."Migrate Hist. Inv. Trx." then + exit(true); + + if Rec."Migrate Hist. Purch. Trx." then + exit(true); + + exit(false); + end; + + internal procedure AreAllModulesDisabled(): Boolean + begin + exit(not Rec."Migrate GL Module" + and not Rec."Migrate Inventory Module" + and not Rec."Migrate Payables Module" + and not Rec."Migrate Receivables Module"); + end; + + var + DisableGLModuleQst: Label 'Are you sure you want to disable the General Ledger module? This action will result in no migration of General Ledger accounts or transactions across any module.'; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/tables/SLCompanyMigrationSettings.Table.al b/Apps/W1/HybridSL/app/src/tables/SLCompanyMigrationSettings.Table.al new file mode 100644 index 0000000000..e5c45d2156 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/tables/SLCompanyMigrationSettings.Table.al @@ -0,0 +1,102 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +using Microsoft.DataMigration; + +table 47052 "SL Company Migration Settings" +{ + Access = Internal; + DataClassification = SystemMetadata; + DataPerCompany = false; + ReplicateData = false; + + fields + { + field(1; Name; Text[30]) + { + DataClassification = OrganizationIdentifiableInformation; + TableRelation = "Hybrid Company".Name; + } + field(2; Replicate; Boolean) + { + CalcFormula = lookup("Hybrid Company".Replicate where(Name = field(Name))); + Editable = false; + FieldClass = FlowField; + } + field(4; "Global Dimension 1"; Text[30]) + { + Description = 'Global Dimension 1 for the company'; + TableRelation = "SL Segment Name"."Segment Name" where("Company Name" = field(Name)); + ValidateTableRelation = true; + + trigger OnValidate() + var + SLSegmentNames: Record "SL Segment Name"; + begin + SLSegmentNames.SetFilter("Company Name", Name); + if (SLSegmentNames.Count() > 0) and ("Global Dimension 1" = '') then + Error(GlobalDimension1MustNotBeBlankErr); + + if ("Global Dimension 1" <> '') and ("Global Dimension 1" = "Global Dimension 2") then begin + SLSegmentNames.SetFilter("Segment Name", '<> %1', "Global Dimension 1"); + if SLSegmentNames.FindFirst() then + "Global Dimension 2" := SLSegmentNames."Segment Name" + else + "Global Dimension 2" := ''; + end; + end; + } + field(5; "Global Dimension 2"; Text[30]) + { + Description = 'Global Dimension 2 for the company'; + TableRelation = "SL Segment Name"."Segment Name" where("Company Name" = field(Name)); + ValidateTableRelation = true; + + trigger OnValidate() + var + SLSegmentNames: Record "SL Segment Name"; + begin + if (SLSegmentNames.Count() > 1) and ("Global Dimension 2" = '') then + Error(GlobalDimension2MustNotBeBlankErr); + + if ("Global Dimension 1" <> '') and ("Global Dimension 1" = "Global Dimension 2") then + Error(GlobalDimensionsCannotBeTheSameErr); + end; + } + field(7; "Migrate Inactive Customers"; Boolean) + { + InitValue = true; + } + field(8; "Migrate Inactive Vendors"; Boolean) + { + InitValue = true; + } + field(9; NumberOfSegments; Integer) + { + CalcFormula = count("SL Segment Name" where("Company Name" = field(Name))); + Editable = false; + FieldClass = FlowField; + } + field(10; ProcessesAreRunning; Boolean) + { + InitValue = false; + } + } + + keys + { + key(Key1; Name) + { + Clustered = true; + } + } + + var + GlobalDimension1MustNotBeBlankErr: Label 'Global Dimension 1 cannot be blank.'; + GlobalDimension2MustNotBeBlankErr: Label 'Global Dimension 2 cannot be blank.'; + GlobalDimensionsCannotBeTheSameErr: Label 'Global Dimension 1 and Global Dimension 2 cannot be the same.'; +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/tables/SLMigrationErrorOverview.Table.al b/Apps/W1/HybridSL/app/src/tables/SLMigrationErrorOverview.Table.al new file mode 100644 index 0000000000..6427e02031 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/tables/SLMigrationErrorOverview.Table.al @@ -0,0 +1,159 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47063 "SL Migration Error Overview" +{ + Access = Internal; + Caption = 'SL Migration Error Overview'; + DataPerCompany = false; + Extensible = false; + ReplicateData = false; + + fields + { + field(1; Id; Integer) + { + AutoIncrement = true; + Caption = 'Id'; + DataClassification = SystemMetadata; + } + field(2; "Migration Type"; Text[250]) + { + Caption = 'Migration Type'; + DataClassification = SystemMetadata; + } + field(3; "Destination Table ID"; Integer) + { + Caption = 'Destination Table ID'; + DataClassification = SystemMetadata; + } + field(4; "Source Staging Table Record ID"; RecordId) + { + Caption = 'Source Staging Table Record ID'; + DataClassification = CustomerContent; + } + field(5; "Error Message"; Text[250]) + { + Caption = 'Error Message'; + DataClassification = CustomerContent; + } + field(6; "Scheduled For Retry"; Boolean) + { + Caption = 'Scheduled For Retry'; + DataClassification = SystemMetadata; + } + field(9; "Error Dismissed"; Boolean) + { + Caption = 'Error Dismissed'; + DataClassification = SystemMetadata; + } + field(11; "Exception Information"; Blob) + { + DataClassification = CustomerContent; + } + field(12; "Last Record Under Processing"; Text[2048]) + { + Caption = 'Last record under processing'; + DataClassification = CustomerContent; + } + field(15; "Records Under Processing Log"; Blob) + { + Caption = 'List of last processed records'; + DataClassification = CustomerContent; + } + field(16; "Exception Callstack"; Blob) + { + Caption = 'List of last processed records'; + DataClassification = CustomerContent; + } + field(50; "Company Name"; Text[30]) + { + Caption = 'Company'; + DataClassification = SystemMetadata; + } + } + keys + { + key(Key1; Id, "Company Name") + { + Clustered = true; + } + } + internal procedure GetFullExceptionMessage(): Text + var + ExceptionMessageInStream: InStream; + ExceptionMessage: Text; + begin + Rec.CalcFields("Exception Information"); + if not Rec."Exception Information".HasValue() then + exit(''); + + Rec."Exception Information".CreateInStream(ExceptionMessageInStream, GetDefaultTextEncoding()); + ExceptionMessageInStream.Read(ExceptionMessage); + exit(ExceptionMessage); + end; + + internal procedure GetExceptionCallStack(): Text + var + ExceptionCallStackInStream: InStream; + ExceptionMessage: Text; + begin + Rec.CalcFields("Exception Callstack"); + if not Rec."Exception Callstack".HasValue() then + exit(''); + + Rec."Exception Callstack".CreateInStream(ExceptionCallStackInStream, GetDefaultTextEncoding()); + ExceptionCallStackInStream.Read(ExceptionMessage); + exit(ExceptionMessage); + end; + + internal procedure SetFullExceptionMessage(ExceptionMessage: Text) + var + ExceptionMessageOutStream: OutStream; + begin + Rec."Exception Information".CreateOutStream(ExceptionMessageOutStream, GetDefaultTextEncoding()); + ExceptionMessageOutStream.Write(ExceptionMessage); + Rec.Modify(true); + end; + + internal procedure SetExceptionCallStack(ExceptionMessage: Text) + var + ExceptionMessageOutStream: OutStream; + begin + Rec."Exception Callstack".CreateOutStream(ExceptionMessageOutStream, GetDefaultTextEncoding()); + ExceptionMessageOutStream.Write(ExceptionMessage); + Rec.Modify(true); + end; + + internal procedure SetLastRecordUnderProcessingLog(RecordsUnderProcessingLog: Text) + var + RecordsUnderProcessingOutStreamLog: OutStream; + begin + Rec."Records Under Processing Log".CreateOutStream(RecordsUnderProcessingOutStreamLog, GetDefaultTextEncoding()); + RecordsUnderProcessingOutStreamLog.Write(RecordsUnderProcessingLog); + Rec.Modify(true); + end; + + internal procedure GetLastRecordsUnderProcessingLog(): Text + var + RecordsUnderProcessingLogInStream: InStream; + RecordsUnderProcessingLog: Text; + begin + Rec.CalcFields("Records Under Processing Log"); + if not Rec."Records Under Processing Log".HasValue() then + exit(''); + + Rec."Records Under Processing Log".CreateInStream(RecordsUnderProcessingLogInStream, GetDefaultTextEncoding()); + RecordsUnderProcessingLogInStream.Read(RecordsUnderProcessingLog); + exit(RecordsUnderProcessingLog); + end; + + internal procedure GetDefaultTextEncoding(): TextEncoding + begin + exit(TextEncoding::UTF16); + end; +} diff --git a/Apps/DK/FIK/app/src/Tables/FIKExtension.Table.al b/Apps/W1/HybridSL/app/src/tables/SLMigrationErrors.Table.al similarity index 60% rename from Apps/DK/FIK/app/src/Tables/FIKExtension.Table.al rename to Apps/W1/HybridSL/app/src/tables/SLMigrationErrors.Table.al index 949b8e8ca1..4e27cb4b3e 100644 --- a/Apps/DK/FIK/app/src/Tables/FIKExtension.Table.al +++ b/Apps/W1/HybridSL/app/src/tables/SLMigrationErrors.Table.al @@ -1,36 +1,35 @@ -#if not CLEANSCHEMA18 // ------------------------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // ------------------------------------------------------------------------------------------------ -namespace Microsoft.Bank.Payment; +namespace Microsoft.DataMigration.SL; -table 13624 FIKExtension +table 47030 "SL Migration Errors" { + Access = Internal; + Caption = 'SL Migration Errors'; + DataClassification = SystemMetadata; DataPerCompany = false; - ObsoleteState = Removed; - ObsoleteReason = 'Using per company table instead, table 13625 FIKUplift'; - ObsoleteTag = '18.0'; ReplicateData = false; - fields { - field(1; Code; Code[10]) + field(1; PrimaryKey; Code[10]) + { + } + field(2; MigrationErrorCount; Integer) { } - field(2; IsUpgraded; Boolean) + field(3; PostingErrorCount; Integer) { } } keys { - key(PK; Code) + key(Key1; PrimaryKey) { Clustered = true; } } - -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/tables/SLMigrationWarnings.Table.al b/Apps/W1/HybridSL/app/src/tables/SLMigrationWarnings.Table.al new file mode 100644 index 0000000000..3719cc3e71 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/tables/SLMigrationWarnings.Table.al @@ -0,0 +1,57 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47062 "SL Migration Warnings" +{ + Access = Internal; + Caption = 'SL Migration Warnings'; + DataClassification = SystemMetadata; + DataPerCompany = false; + + fields + { + field(1; Id; Integer) + { + AutoIncrement = true; + Caption = 'Id'; + } + field(2; "Company Name"; Text[30]) + { + Caption = 'Company Name'; + } + field(3; "Migration Area"; Text[50]) + { + Caption = 'Migration Area'; + } + field(4; Context; Text[50]) + { + Caption = 'Context'; + } + field(5; "Warning Text"; Text[500]) + { + Caption = 'Warning Text'; + } + } + keys + { + key(Key1; Id) + { + Clustered = true; + } + } + + internal procedure InsertWarning(MigrationArea: Text[50]; ContextValue: Text[50]; WarningText: Text[500]) + var + SLMigrationWarnings: Record "SL Migration Warnings"; + begin + SLMigrationWarnings."Company Name" := CopyStr(CompanyName(), 1, 30); + SLMigrationWarnings."Migration Area" := MigrationArea; + SLMigrationWarnings.Context := ContextValue; + SLMigrationWarnings."Warning Text" := WarningText; + SLMigrationWarnings.Insert(); + end; +} diff --git a/Apps/W1/HybridSL/app/src/tables/SLSegmentName.Table.al b/Apps/W1/HybridSL/app/src/tables/SLSegmentName.Table.al new file mode 100644 index 0000000000..5b9b7dae7e --- /dev/null +++ b/Apps/W1/HybridSL/app/src/tables/SLSegmentName.Table.al @@ -0,0 +1,47 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47053 "SL Segment Name" +{ + Access = Internal; + DataClassification = SystemMetadata; + DataPerCompany = false; + ReplicateData = false; + + fields + { + field(1; "Company Name"; Text[50]) + { + DataClassification = OrganizationIdentifiableInformation; + Description = 'Name of the Company that the segment belongs to.'; + } + field(2; "Segment Number"; Integer) + { + Description = 'Number for the segment.'; + } + field(3; "Segment Name"; Text[30]) + { + Description = 'Name of the segment.'; + } + } + + keys + { + key(Key1; "Company Name", "Segment Number", "Segment Name") + { + Clustered = true; + } + } + + fieldgroups + { + fieldgroup(DropDown; "Segment Name", "Segment Number") + { + Caption = 'Values to display in a dropdown list.'; + } + } +} \ No newline at end of file diff --git a/Apps/W1/HybridSL/app/src/tables/SLUpgradeSettings.Table.al b/Apps/W1/HybridSL/app/src/tables/SLUpgradeSettings.Table.al new file mode 100644 index 0000000000..0736374ab9 --- /dev/null +++ b/Apps/W1/HybridSL/app/src/tables/SLUpgradeSettings.Table.al @@ -0,0 +1,99 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ + +namespace Microsoft.DataMigration.SL; + +table 47064 "SL Upgrade Settings" +{ + Access = Internal; + Caption = 'SL Upgrade Settings'; + DataClassification = CustomerContent; + DataPerCompany = false; + Description = 'SL Upgrade Settings'; + + fields + { + field(1; PrimaryKey; Code[20]) + { + DataClassification = SystemMetadata; + } + field(2; "Upgrade Mode"; Option) + { + DataClassification = CustomerContent; + OptionCaption = 'Background,Same session,Upgrade with rollback'; + OptionMembers = Background,"Same session","Upgrade with rollback"; + } + field(3; "Upgrade Duration"; Duration) + { + Caption = 'Upgrade duration'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Upgrade Mode" <> Rec."Upgrade Mode"::Background then + Error(OnlyBackroundCanSpecifyDurationErr); + end; + } + field(4; "Collect All Errors"; Boolean) + { + Caption = 'Collect all errors'; + DataClassification = CustomerContent; + InitValue = true; + } + field(5; "Data Upgrade Started"; DateTime) + { + Caption = 'Data Upgrade Started'; + DataClassification = CustomerContent; + } + field(6; "Log All Record Changes"; Boolean) + { + Caption = 'Log all record changes'; + DataClassification = CustomerContent; + } + field(7; "One Step Upgrade"; Boolean) + { + Caption = 'Run upgrade after replication'; + DataClassification = CustomerContent; + InitValue = true; + } + field(8; "One Step Upgrade Delay"; Duration) + { + Caption = 'Delay to run the upgrade after replication'; + DataClassification = CustomerContent; + } + field(9; "Replication Completed"; DateTime) + { + Caption = 'Replication Completed'; + DataClassification = CustomerContent; + } + } + keys + { + key(Key1; PrimaryKey) + { + Clustered = true; + } + } + internal procedure GetonInsertSLUpgradeSettings(var SLUpgradeSettings: Record "SL Upgrade Settings") + var + HybridSLManagement: Codeunit "SL Hybrid Management"; + begin + if not SLUpgradeSettings.Get() then begin + SLUpgradeSettings."Upgrade Duration" := HybridSLManagement.GetDefaultJobTimeout(); + SLUpgradeSettings."One Step Upgrade" := false; + SLUpgradeSettings."One Step Upgrade Delay" := GetUpgradeDelay(); + SLUpgradeSettings.Insert(); + SLUpgradeSettings.Get(); + end; + end; + + internal procedure GetUpgradeDelay(): Duration + begin + exit(60 * 1000); // 60 seconds + end; + + var + OnlyBackroundCanSpecifyDurationErr: Label 'You can only set the duration if Upgrade Mode is set to Background'; +} diff --git a/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al index 054046c222..7819b02d82 100644 --- a/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al +++ b/Apps/W1/INTaxEngine/app/TaxEngine-JsonExchange/src/AssistedSetup/TaxEngineAssistedSetup.Codeunit.al @@ -9,7 +9,6 @@ using Microsoft.Finance.TaxEngine.UseCaseBuilder; using Microsoft.RoleCenters; using System.Environment.Configuration; using System.Globalization; -using System.IO; using System.Media; codeunit 20366 "Tax Engine Assisted Setup" @@ -141,14 +140,14 @@ codeunit 20366 "Tax Engine Assisted Setup" GlobalLanguage(CurrentGlobalLanguage); end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Import Config. Package Files", 'OnBeforeImportConfigurationFile', '', false, false)] - local procedure OnBeforeImportConfigurationFile() - var - TaxType: Record "Tax Type"; - begin - if TaxType.IsEmpty() then - SetupTaxEngineWithUseCases(); - end; + // [EventSubscriber(ObjectType::Codeunit, Codeunit::"Import Config. Package Files", 'OnBeforeImportConfigurationFile', '', false, false)] + // local procedure OnBeforeImportConfigurationFile() + // var + // TaxType: Record "Tax Type"; + // begin + // if TaxType.IsEmpty() then + // SetupTaxEngineWithUseCases(); + // end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Role Center Notification Mgt.", 'OnBeforeShowNotifications', '', false, false)] local procedure OnBeforeShowNotifications() diff --git a/Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Table.al b/Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Table.al index 795d87532f..2c667b8f2d 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Table.al +++ b/Apps/W1/LatePaymentPredictor/app/src/LPMachineLearningSetup.Table.al @@ -102,15 +102,6 @@ table 1950 "LP Machine Learning Setup" AzureMLConnector.ValidateApiUrl("Custom API Key"); end; } -#if not CLEANSCHEMA18 - field(11; "Exact Invoice No OnLastML"; Integer) - { - Editable = false; - ObsoleteState = Removed; - ObsoleteReason = 'Discontinued because of performance refactoring. Use the field Posting Date OnLastML instead.'; - ObsoleteTag = '18.0'; - } -#endif field(12; "OverestimatedInvNo OnLastReset"; Integer) { Editable = false; diff --git a/Apps/W1/LatePaymentPredictor/app/src/LatePaymentInstall.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LatePaymentInstall.Codeunit.al index ecd1c47ccc..5cfcf2ce29 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/LatePaymentInstall.Codeunit.al +++ b/Apps/W1/LatePaymentPredictor/app/src/LatePaymentInstall.Codeunit.al @@ -2,7 +2,6 @@ namespace Microsoft.Finance.Latepayment; using Microsoft.Foundation.Company; using System.Environment; -using System.Upgrade; using System.Privacy; codeunit 1955 "Late Payment Install" @@ -10,29 +9,10 @@ codeunit 1955 "Late Payment Install" Subtype = install; trigger OnInstallAppPerCompany() - var - EnvironmentInfo: Codeunit "Environment Information"; - AppInfo: ModuleInfo; begin - NavApp.GetCurrentModuleInfo(AppInfo); - if EnvironmentInfo.VersionInstalled(AppInfo.Id()) = 0 then - SetAllUpgradeTags(); - CompanyInitialize(); end; - local procedure SetAllUpgradeTags() - var - UpgradeTag: Codeunit "Upgrade Tag"; - LatePaymentUpgrade: Codeunit "Late Payment Upgrade"; - begin - if not UpgradeTag.HasUpgradeTag(LatePaymentUpgrade.GetLatePaymentPredictionSecretsToISUpgradeTag()) then - UpgradeTag.SetUpgradeTag(LatePaymentUpgrade.GetLatePaymentPredictionSecretsToISUpgradeTag()); - - if not UpgradeTag.HasUpgradeTag(LatePaymentUpgrade.GetLatePaymentPredictionSecretsToISValidationTag()) then - UpgradeTag.SetUpgradeTag(LatePaymentUpgrade.GetLatePaymentPredictionSecretsToISValidationTag()); - end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Company-Initialize", 'OnCompanyInitialize', '', false, false)] local procedure CompanyInitialize() begin diff --git a/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al b/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al index e880973812..ce23b547f5 100644 --- a/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al +++ b/Apps/W1/LatePaymentPredictor/app/src/LatePaymentUpgrade.Codeunit.al @@ -1,6 +1,5 @@ namespace Microsoft.Finance.Latepayment; -using System.Upgrade; codeunit 1958 "Late Payment Upgrade" { Subtype = Upgrade; @@ -8,141 +7,27 @@ codeunit 1958 "Late Payment Upgrade" trigger OnUpgradePerCompany(); begin FillLastPostingDateFromExactInvoiceCount(); - UpgradeSecretsToIsolatedStorage(); end; trigger OnUpgradePerDatabase(); begin end; - trigger OnValidateUpgradePerCompany() - begin - VerifySecretsUpgradeToIsolatedStorage(); - end; - local procedure FillLastPostingDateFromExactInvoiceCount(); var LPMachineLearningSetup: Record "LP Machine Learning Setup"; LPFeatureTableHelper: Codeunit "LP Feature Table Helper"; LppSalesInvoiceHeaderInput: Query "LPP Sales Invoice Header Input"; - CountedInvoices: Integer; begin if not LPMachineLearningSetup.Get() then // never been initialized exit; - if LPMachineLearningSetup."Exact Invoice No OnLastML" <= 0 then // never been trained - exit; if LPMachineLearningSetup."Posting Date OnLastML" <> 0D then // already trained with the last posting date exit; LPFeatureTableHelper.SetFiltersOnSalesInvoiceHeaderToAddToInput(LppSalesInvoiceHeaderInput, ''); LppSalesInvoiceHeaderInput.Open(); - while LppSalesInvoiceHeaderInput.Read() do begin - CountedInvoices += 1; - if CountedInvoices >= LPMachineLearningSetup."Exact Invoice No OnLastML" then - break; - end; + while LppSalesInvoiceHeaderInput.Read() do; LPMachineLearningSetup."Posting Date OnLastML" := LppSalesInvoiceHeaderInput.PostingDate; LppSalesInvoiceHeaderInput.Close(); - LPMachineLearningSetup."Exact Invoice No OnLastML" := 0; // empty this field as it will not be needed anymore LPMachineLearningSetup.Modify(true); end; - - local procedure UpgradeSecretsToIsolatedStorage() - var - LPMachineLearningSetup: Record "LP Machine Learning Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - if UpgradeTag.HasUpgradeTag(GetLatePaymentPredictionSecretsToISUpgradeTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetLatePaymentPredictionSecretsToISUpgradeTag()) then - exit; - - if LPMachineLearningSetup.Get() then begin - MoveSecretToIsolatedStorage(LPMachineLearningSetup."Custom API Key"); - MoveSecretToIsolatedStorage(LPMachineLearningSetup."Custom API Uri"); - end; - - UpgradeTag.SetUpgradeTag(GetLatePaymentPredictionSecretsToISUpgradeTag()); - end; - - local procedure VerifySecretsUpgradeToIsolatedStorage() - var - LPMachineLearningSetup: Record "LP Machine Learning Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - if UpgradeTag.HasUpgradeTag(GetLatePaymentPredictionSecretsToISValidationTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetLatePaymentPredictionSecretsToISValidationTag()) then - exit; - - if LPMachineLearningSetup.Get() then begin - VerifySecret(LPMachineLearningSetup."Custom API Key"); - VerifySecret(LPMachineLearningSetup."Custom API Uri"); - end; - - UpgradeTag.SetUpgradeTag(GetLatePaymentPredictionSecretsToISValidationTag()); - end; - - local procedure MoveSecretToIsolatedStorage(ServicePasswordKey: Text[250]) - var - ServicePassword: Record "Service Password"; - ServicePasswordKeyGuid: Guid; - begin - if ServicePasswordKey = '' then - exit; - - if not Evaluate(ServicePasswordKeyGuid, ServicePasswordKey) then - exit; - - if not ServicePassword.Get(ServicePasswordKeyGuid) then - exit; - - if EncryptionEnabled() then - IsolatedStorage.SetEncrypted(ServicePasswordKey, ServicePassword.GetPassword(), DataScope::Company) - else - IsolatedStorage.Set(ServicePasswordKey, ServicePassword.GetPassword(), DataScope::Company); - end; - - local procedure VerifySecret(ServicePasswordKey: Text[250]) - var - ServicePassword: Record "Service Password"; - IsolatedStorageValue: Text; - ServicePasswordValue: Text; - ServicePasswordKeyGuid: Guid; - begin - if ServicePasswordKey = '' then - exit; - - if not Evaluate(ServicePasswordKeyGuid, ServicePasswordKey) then - exit; - - if not ServicePassword.Get(ServicePasswordKeyGuid) then - exit; - - if not IsolatedStorage.Get(ServicePasswordKey, DataScope::Company, IsolatedStorageValue) then - Error('Could not retrieve the secret from isolated storage after the Upgrade for key "%1"', ServicePasswordKey); - - ServicePasswordValue := ServicePassword.GetPassword(); - - if IsolatedStorageValue <> ServicePasswordValue then - Error('The secret value for key "%1" in isolated storage does not match the one in service password.', ServicePasswordKey); - end; - - internal procedure GetLatePaymentPredictionSecretsToISUpgradeTag(): Code[250] - begin - exit('MS-328257-LatePaymentPredictionSecretsToIS-20190925'); - end; - - internal procedure GetLatePaymentPredictionSecretsToISValidationTag(): Code[250] - begin - exit('MS-328257-LatePaymentPredictionSecretsToIS-Validate-20190925'); - end; - - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] - local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) - begin - PerCompanyUpgradeTags.Add(GetLatePaymentPredictionSecretsToISUpgradeTag()); - PerCompanyUpgradeTags.Add(GetLatePaymentPredictionSecretsToISValidationTag()); - end; } diff --git a/Apps/W1/LatePaymentPredictor/test/src/LPPredictionTest.Codeunit.al b/Apps/W1/LatePaymentPredictor/test/src/LPPredictionTest.Codeunit.al index c3b80bde72..6b351f4a27 100644 --- a/Apps/W1/LatePaymentPredictor/test/src/LPPredictionTest.Codeunit.al +++ b/Apps/W1/LatePaymentPredictor/test/src/LPPredictionTest.Codeunit.al @@ -742,8 +742,6 @@ codeunit 139575 "LP Prediction Test" AzureAIParams := '{"ApiKeys":["test"],"Limit":"10","ApiUris":["https://services.azureml.net/workspaces/fc0584f5f74a4aa19a55096fc8ebb2b7"],"LimitType":"Month"}'; // non-existing API URI LibraryAzureKVMockMgmt.InitMockAzureKeyvaultSecretProvider(); - LibraryAzureKVMockMgmt.AddMockAzureKeyvaultSecretProviderMapping('AllowedApplicationSecrets', - 'machinelearning,machinelearning-default,background-ml-enabled'); LibraryAzureKVMockMgmt.AddMockAzureKeyvaultSecretProviderMapping('machinelearning', AzureAIParams); LibraryAzureKVMockMgmt.AddMockAzureKeyvaultSecretProviderMapping('machinelearning-default', AzureAIParams); LibraryAzureKVMockMgmt.AddMockAzureKeyvaultSecretProviderMapping('background-ml-enabled', '{ "something":false, "mllate": true }'); diff --git a/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al b/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al index 87c03c34eb..d49332f430 100644 --- a/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al +++ b/Apps/W1/MasterDataManagement/app/src/codeunits/MasterDataMgtUpgrade.Codeunit.al @@ -52,10 +52,8 @@ codeunit 7238 "Master Data Mgt. Upgrade" JobQueueEntry."No. of Minutes between Runs" := MasterDataMgtSetupDefault.DefaultNumberOfMinutesBetweenRuns(); // we filtered for the default value of this one already JobQueueEntry."Inactivity Timeout Period" := MasterDataMgtSetupDefault.DefaultInactivityTimeoutPeriod(); - if not TryModify(JobQueueEntry) then begin + if not JobQueueEntry.Modify() then NotAllJobQueueEntriesModified := true; - ClearLastError(); - end; end; until JobQueueEntry.Next() = 0; end; @@ -66,12 +64,6 @@ codeunit 7238 "Master Data Mgt. Upgrade" UpgradeTag.SetUpgradeTag(GetJobQueueFrequencyUpgradeTag()); end; - [TryFunction] - local procedure TryModify(var JobQueueEntry: Record "Job Queue Entry") - begin - JobQueueEntry.Modify(); - end; - internal procedure UpgradeSynchTableCaptions() var IntegrationTableMapping: Record "Integration Table Mapping"; diff --git a/Apps/W1/MicrosoftUniversalPrint/app/src/UniversalPrintGraphHelper.Codeunit.al b/Apps/W1/MicrosoftUniversalPrint/app/src/UniversalPrintGraphHelper.Codeunit.al index 64677c7398..2a3f43e187 100644 --- a/Apps/W1/MicrosoftUniversalPrint/app/src/UniversalPrintGraphHelper.Codeunit.al +++ b/Apps/W1/MicrosoftUniversalPrint/app/src/UniversalPrintGraphHelper.Codeunit.al @@ -244,6 +244,7 @@ codeunit 2752 "Universal Print Graph Helper" ResponseErrorMessage: Text; ResponseErrorDetails: Text; RequestId: Text; + TraceId: Text; begin if HttpWebRequestMgt.SendRequestAndReadTextResponse(ResponseContent, ResponseErrorMessage, ResponseErrorDetails, StatusCode, ResponseHeaders) then exit(true); @@ -251,7 +252,10 @@ codeunit 2752 "Universal Print Graph Helper" if not this.TryGetRequestIdfromHeaders(ResponseHeaders, RequestId) then RequestId := this.NotFoundTelemetryTxt; - Session.LogMessage('0000EG1', StrSubstNo(this.InvokeWebRequestFailedTelemetryTxt, StatusCode, ResponseErrorMessage, RequestId), + if not this.TryGetTraceIdfromHeaders(ResponseHeaders, TraceId) then + TraceId := this.NotFoundTelemetryTxt; + + Session.LogMessage('0000EG1', StrSubstNo(this.InvokeWebRequestFailedTelemetryTxt, StatusCode, ResponseErrorMessage, RequestId, TraceId), Verbosity::Error, DataClassification::SystemMetadata, TelemetryScope::ExtensionPublisher, 'Category', this.UniversalPrintTelemetryCategoryTxt); Clear(ErrorMessage); @@ -276,6 +280,12 @@ codeunit 2752 "Universal Print Graph Helper" RequestId := ResponseHeaders.Get('Request-Id'); end; + [TryFunction] + local procedure TryGetTraceIdfromHeaders(ResponseHeaders: DotNet NameValueCollection; var RequestId: Text) + begin + RequestId := ResponseHeaders.Get('X-MSEdge-Ref'); + end; + internal procedure GetPaperSizeFromUniversalPrintMediaSize(textValue: Text): Enum "Printer Paper Kind" var PrinterPaperKind: Enum "Printer Paper Kind"; @@ -425,7 +435,7 @@ codeunit 2752 "Universal Print Graph Helper" UniversalPrintTelemetryCategoryTxt: Label 'Universal Print AL', Locked = true; UniversalPrintFeatureTelemetryNameTxt: Label 'Universal Print', Locked = true; NoTokenTelemetryTxt: Label 'Access token could not be retrieved.', Locked = true; - InvokeWebRequestFailedTelemetryTxt: Label 'Invoking web request has failed. Status %1, Message %2, RequestId %3', Locked = true; + InvokeWebRequestFailedTelemetryTxt: Label 'Invoking web request has failed. Status %1, Message %2, RequestId %3, TraceId %4', Locked = true; NotFoundTelemetryTxt: Label 'Not Found.', Locked = true; UniversalPrintPortalUrlTxt: Label 'https://go.microsoft.com/fwlink/?linkid=2153618', Locked = true; JPNHagakiSizeTxt: Label 'JPN Hagaki', Locked = true; diff --git a/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBICoreTest.Codeunit.al b/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBICoreTest.Codeunit.al index c1acae40d9..7f5fadda74 100644 --- a/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBICoreTest.Codeunit.al +++ b/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBICoreTest.Codeunit.al @@ -392,5 +392,6 @@ codeunit 139875 "PowerBI Core Test" procedure AssignAdminPermissionSet() begin PermissionsMock.Assign('PowerBI Report Admin'); + PermissionsMock.Assign('D365 BUS FULL ACCESS'); end; } \ No newline at end of file diff --git a/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIFinanceTest.Codeunit.al b/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIFinanceTest.Codeunit.al index 4d8ba7cbaf..fc92ebf506 100644 --- a/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIFinanceTest.Codeunit.al +++ b/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIFinanceTest.Codeunit.al @@ -528,6 +528,7 @@ codeunit 139876 "PowerBI Finance Test" LibERM.PostGeneralJnlLine(GenJnlLine); RunCloseIncomeStatement(GenJnlLine, GenJnlLine."Document No."); GenJnlLine.SetRange("Journal Batch Name", GenJnlLine."Journal Batch Name"); + GenJnlLine.SetFilter("Account No.", '<>'''''); GenJnlLine.FindLast(); LibERM.PostGeneralJnlLine(GenJnlLine); SourceCodeSetup.Get(); diff --git a/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIManufacturingTest.Codeunit.al b/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIManufacturingTest.Codeunit.al index 4bef7f9781..84b62c8748 100644 --- a/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIManufacturingTest.Codeunit.al +++ b/Apps/W1/PowerBIReports/test/src/Codeunits/PowerBIManufacturingTest.Codeunit.al @@ -21,7 +21,6 @@ codeunit 139878 "PowerBI Manufacturing Test" { Subtype = Test; Access = Internal; - TestPermissions = Disabled; var Assert: Codeunit Assert; diff --git a/Apps/W1/QBMigration/app/src/Support/MigrationQBConfig.Table.al b/Apps/W1/QBMigration/app/src/Support/MigrationQBConfig.Table.al index cc6efed4a8..f43571dcca 100644 --- a/Apps/W1/QBMigration/app/src/Support/MigrationQBConfig.Table.al +++ b/Apps/W1/QBMigration/app/src/Support/MigrationQBConfig.Table.al @@ -36,29 +36,6 @@ table 1917 "MigrationQB Config" { DataClassification = SystemMetadata; } -#if not CLEANSCHEMA15 - field(9; "Realm Id"; Text[250]) - { - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteReason = 'The suggested way to store the secrets is Isolated Storage, therefore Realm Id will be removed.'; - ObsoleteTag = '15.4'; - } - field(10; "Token Key"; Text[250]) - { - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteReason = 'The suggested way to store the secrets is Isolated Storage, therefore Token Key will be removed.'; - ObsoleteTag = '15.4'; - } - field(11; "Token Secret"; Text[250]) - { - DataClassification = CustomerContent; - ObsoleteState = Removed; - ObsoleteReason = 'The suggested way to store the secrets is Isolated Storage, therefore Token Secret will be removed.'; - ObsoleteTag = '15.4'; - } -#endif } keys @@ -171,4 +148,4 @@ table 1917 "MigrationQB Config" Validate("Total Vendors", TotalVendors); Modify(); end; -} +} \ No newline at end of file diff --git a/Apps/W1/QBMigration/app/src/install/QBMigrationInstall.Codeunit.al b/Apps/W1/QBMigration/app/src/install/QBMigrationInstall.Codeunit.al index 3a5d167f2f..b9286b7c15 100644 --- a/Apps/W1/QBMigration/app/src/install/QBMigrationInstall.Codeunit.al +++ b/Apps/W1/QBMigration/app/src/install/QBMigrationInstall.Codeunit.al @@ -51,7 +51,6 @@ codeunit 1921 "QB Migration Install" DataClassificationMgt.SetTableFieldsToNormal(Database::"MigrationQB Config"); DataClassificationMgt.SetFieldToPersonal(Database::"MigrationQB Config", MigrationQBConfig.FieldNo("Zip File")); DataClassificationMgt.SetFieldToPersonal(Database::"MigrationQB Config", MigrationQBConfig.FieldNo("Unziped Folder")); - DataClassificationMgt.SetFieldToPersonal(Database::"MigrationQB Config", MigrationQBConfig.FieldNo("Realm Id")); DataClassificationMgt.SetTableFieldsToNormal(Database::"MigrationQB Account Setup"); diff --git a/Apps/W1/QBMigration/test/src/MigrationQBOTests.Codeunit.al b/Apps/W1/QBMigration/test/src/MigrationQBOTests.Codeunit.al index 0f7408c1e6..859bbfb52c 100644 --- a/Apps/W1/QBMigration/test/src/MigrationQBOTests.Codeunit.al +++ b/Apps/W1/QBMigration/test/src/MigrationQBOTests.Codeunit.al @@ -194,6 +194,7 @@ codeunit 139530 "MigrationQBO Tests" Assert.AreEqual(false, AccountMigrator.PreDataIsValid(), 'Should have errored on empty AcctNum.'); end; + [HandlerFunctions('ConfirmHandler')] [Test] procedure TestQBOCustomerImport() var @@ -794,6 +795,13 @@ codeunit 139530 "MigrationQBO Tests" MigrationQBAccountSetup.PurchServiceChargeAccount := AccountNumber; MigrationQBAccountSetup.Insert(); end; + + [ConfirmHandler] + [Scope('OnPrem')] + procedure ConfirmHandler(Question: Text[1024]; var Reply: Boolean) + begin + Reply := false; + end; } diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al index 57246a6f25..5c699191e4 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastInstall.Codeunit.al @@ -8,19 +8,13 @@ using Microsoft.Foundation.Company; using Microsoft.Inventory.Item; using System.Environment; using System.Privacy; -using System.Upgrade; codeunit 1855 "Sales Forecast Install" { Subtype = install; trigger OnInstallAppPerCompany() - var - AppInfo: ModuleInfo; begin - if AppInfo.DataVersion().Major() = 0 then - SetAllUpgradeTags(); - CompanyInitialize(); end; @@ -48,17 +42,4 @@ codeunit 1855 "Sales Forecast Install" DataClassificationMgt.SetTableFieldsToNormal(Database::"MS - Sales Forecast Setup"); end; - - local procedure SetAllUpgradeTags() - var - UpgradeTag: Codeunit "Upgrade Tag"; - SalesForcastUpgrade: Codeunit "Sales Forecast Upgrade"; - begin - if not UpgradeTag.HasUpgradeTag(SalesForcastUpgrade.GetSalesForecastSecretsToISUpgradeTag()) then - UpgradeTag.SetUpgradeTag(SalesForcastUpgrade.GetSalesForecastSecretsToISUpgradeTag()); - - if not UpgradeTag.HasUpgradeTag(SalesForcastUpgrade.GetSalesForecastSecretsToISValidationTag()) then - UpgradeTag.SetUpgradeTag(SalesForcastUpgrade.GetSalesForecastSecretsToISValidationTag()); - end; - } \ No newline at end of file diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpgrade.Codeunit.al b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpgrade.Codeunit.al index e372aed0b3..072a792172 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpgrade.Codeunit.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/codeunits/SalesForecastUpgrade.Codeunit.al @@ -16,64 +16,8 @@ codeunit 1851 "Sales Forecast Upgrade" var ModuleInfo: ModuleInfo; begin - if NavApp.GetCurrentModuleInfo(ModuleInfo) then begin - UpgradeSecretsToIsolatedStorage(); + if NavApp.GetCurrentModuleInfo(ModuleInfo) then SetConsentIfForecastAlreadyScheduled(); - end; - - end; - - trigger OnValidateUpgradePerCompany() - begin - VerifySecretsUpgradeToIsolatedStorage(); - end; - - local procedure UpgradeSecretsToIsolatedStorage() - var - ServicePassword: Record "Service Password"; - SalesForecastSetup: Record "MS - Sales Forecast Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - begin - if UpgradeTag.HasUpgradeTag(GetSalesForecastSecretsToISUpgradeTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetSalesForecastSecretsToISUpgradeTag()) then - exit; - - if SalesForecastSetup.Get() then - if ServicePassword.Get(SalesForecastSetup."API Key ID") then - if EncryptionEnabled() then - IsolatedStorage.SetEncrypted(SalesForecastSetup."API Key ID", ServicePassword.GetPassword(), DataScope::Company) - else - IsolatedStorage.Set(SalesForecastSetup."API Key ID", ServicePassword.GetPassword(), DataScope::Company); - - UpgradeTag.SetUpgradeTag(GetSalesForecastSecretsToISUpgradeTag()); - end; - - local procedure VerifySecretsUpgradeToIsolatedStorage() - var - ServicePassword: Record "Service Password"; - SalesForecastSetup: Record "MS - Sales Forecast Setup"; - UpgradeTag: Codeunit "Upgrade Tag"; - IsolatedStorageValue: Text; - ServicePasswordValue: Text; - begin - if UpgradeTag.HasUpgradeTag(GetSalesForecastSecretsToISValidationTag(), '') then - exit; - - if UpgradeTag.HasUpgradeTag(GetSalesForecastSecretsToISValidationTag()) then - exit; - - if SalesForecastSetup.Get() then - if ServicePassword.Get(SalesForecastSetup."API Key ID") then begin - if not IsolatedStorage.Get(SalesForecastSetup."API Key ID", DataScope::Company, IsolatedStorageValue) then - Error('Could not retrieve the secret from isolated storage after the Upgrade for key "%1"', SalesForecastSetup."API Key ID"); - ServicePasswordValue := ServicePassword.GetPassword(); - if IsolatedStorageValue <> ServicePasswordValue then - Error('The secret value for key "%1" in isolated storage does not match the one in service password.', SalesForecastSetup."API Key ID"); - end; - - UpgradeTag.SetUpgradeTag(GetSalesForecastSecretsToISValidationTag()); end; local procedure SetConsentIfForecastAlreadyScheduled() @@ -101,26 +45,10 @@ codeunit 1851 "Sales Forecast Upgrade" UpgradeTag.SetUpgradeTag(GetForecastCustomerConsentTag()); end; - internal procedure GetSalesForecastSecretsToISUpgradeTag(): Code[250] - begin - exit('MS-328257-SalesForecastSecretsToIS-20190925'); - end; - - internal procedure GetSalesForecastSecretsToISValidationTag(): Code[250] - begin - exit('MS-328257-SalesForecastSecretsToIS-Validate-20190925'); - end; - internal procedure GetForecastCustomerConsentTag(): Code[250] begin exit('MS-474737-SalesForecastCustomerConsent-20230607'); end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] - local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) - begin - PerCompanyUpgradeTags.Add(GetSalesForecastSecretsToISUpgradeTag()); - PerCompanyUpgradeTags.Add(GetSalesForecastSecretsToISValidationTag()); - end; } diff --git a/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al b/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al index cdb6f82b72..8ceb5773ba 100644 --- a/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al +++ b/Apps/W1/SalesAndInventoryForecast/app/src/tables/MSSalesForecastSetup.Table.al @@ -26,17 +26,6 @@ table 1853 "MS - Sales Forecast Setup" OptionMembers = Day,Week,Month,Quarter,Year; DataClassification = CustomerContent; } -#if not CLEANSCHEMA18 - field(3; "Show Setup Notification"; Boolean) - { - ObsoleteState = Removed; - ObsoleteReason = 'Notification is now using the My notifications table'; - ObsoleteTag = '18.0'; - Editable = false; - InitValue = true; - DataClassification = CustomerContent; - } -#endif field(4; "Stockout Warning Horizon"; Integer) { DataClassification = CustomerContent; @@ -106,41 +95,6 @@ table 1853 "MS - Sales Forecast Setup" Editable = false; DataClassification = CustomerContent; } -#if not CLEANSCHEMA18 - field(15; "API Cache Minutes"; Integer) - { - Description = 'Default period in minutes for caching the API URI and API Key.'; - InitValue = 5; - ObsoleteState = Removed; - ObsoleteReason = 'Not Used After Refactoring'; - DataClassification = CustomerContent; - ObsoleteTag = '18.0'; - } - field(16; "API Cache Expiry"; DateTime) - { - Description = 'Expiration datetime for the API URI and API Key.'; - ObsoleteState = Removed; - ObsoleteReason = 'Not Used After Refactoring'; - DataClassification = CustomerContent; - ObsoleteTag = '18.0'; - } - field(17; "Service Pass API Uri ID"; Guid) - { - Description = 'The Key for retrieving the API URI from the Service Password table.'; - ObsoleteState = Removed; - ObsoleteReason = 'Not Used After Refactoring'; - DataClassification = CustomerContent; - ObsoleteTag = '18.0'; - } - field(18; "Service Pass API Key ID"; Guid) - { - Description = 'The Key for retrieving the API Key from the Service Password table.'; - ObsoleteState = Removed; - ObsoleteReason = 'Not Used After Refactoring'; - DataClassification = CustomerContent; - ObsoleteTag = '18.0'; - } -#endif field(19; "Timeseries Model"; Option) { OptionMembers = ARIMA,ETS,STL,"ETS+ARIMA","ETS+STL",ALL,TBATS; @@ -326,4 +280,3 @@ table 1853 "MS - Sales Forecast Setup" end; end; } - diff --git a/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Codeunit.al b/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Codeunit.al index 2d382ad28c..ba07380e81 100644 --- a/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Codeunit.al +++ b/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Codeunit.al @@ -32,7 +32,7 @@ codeunit 7292 "Sales Line From Attachment" FileHandler: interface "File Handler"; FileName: Text; begin - SalesHeader.TestStatusOpen(); + SalesHeader.TestStatusOpen(true); if not AzureOpenAI.IsEnabled(Enum::"Copilot Capability"::"Sales Lines Suggestions") then exit; diff --git a/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Page.al b/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Page.al index b60657320f..863b327f38 100644 --- a/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Page.al +++ b/Apps/W1/SalesLinesSuggestions/app/Attachment/SalesLineFromAttachment.Page.al @@ -128,8 +128,13 @@ page 7290 "Sales Line From Attachment" TotalCopiedLines := 0; if CloseAction = CloseAction::OK then begin TotalCopiedLines := TempGlobalSalesLineAISuggestion.Count(); - if TotalCopiedLines > 0 then + if TotalCopiedLines > 0 then begin SalesLineUtility.CopySalesLineToDoc(GlobalSalesHeader, TempGlobalSalesLineAISuggestion); + if SalesLineUtility.CheckIfSuggestedLinesContainErrors(TempGlobalSalesLineAISuggestion) then begin + CurrPage.Update(false); + exit(false); + end; + end; // Save the mapping used for generating the sales lines GlobalFileHandler.Finalize(GlobalFileHandlerResult); end; diff --git a/Apps/W1/SalesLinesSuggestions/app/SalesLineAISuggestions.Page.al b/Apps/W1/SalesLinesSuggestions/app/SalesLineAISuggestions.Page.al index e2c85b875b..f9f376cfe5 100644 --- a/Apps/W1/SalesLinesSuggestions/app/SalesLineAISuggestions.Page.al +++ b/Apps/W1/SalesLinesSuggestions/app/SalesLineAISuggestions.Page.al @@ -290,7 +290,7 @@ page 7275 "Sales Line AI Suggestions" TotalCopiedLines := TempSalesLineAISuggestion.Count(); if TotalCopiedLines > 0 then begin SalesLineUtility.CopySalesLineToDoc(GlobalSalesHeader, TempSalesLineAISuggestion); - if CheckIfSuggestedLinesContainErrors() then begin + if SalesLineUtility.CheckIfSuggestedLinesContainErrors(TempSalesLineAISuggestion) then begin CurrPage.Update(false); exit(false); end; @@ -399,17 +399,6 @@ page 7275 "Sales Line AI Suggestions" Result := Result.TrimEnd(', '); end; - local procedure CheckIfSuggestedLinesContainErrors(): Boolean - var - TempSalesLineSuggestion: Record "Sales Line AI Suggestions" temporary; - begin - TempSalesLineSuggestion.Copy(TempSalesLineAISuggestion, true); - TempSalesLineSuggestion.Reset(); - TempSalesLineSuggestion.SetRange("Line Style", 'Unfavorable'); - if not TempSalesLineSuggestion.IsEmpty() then - exit(true); - end; - var TempSalesLineAISuggestion: Record "Sales Line AI Suggestions" temporary; GlobalSalesHeader: Record "Sales Header"; diff --git a/Apps/W1/SalesLinesSuggestions/app/SalesLinesSuggestionsImpl.Codeunit.al b/Apps/W1/SalesLinesSuggestions/app/SalesLinesSuggestionsImpl.Codeunit.al index ea340873ec..379ab7c1ef 100644 --- a/Apps/W1/SalesLinesSuggestions/app/SalesLinesSuggestionsImpl.Codeunit.al +++ b/Apps/W1/SalesLinesSuggestions/app/SalesLinesSuggestionsImpl.Codeunit.al @@ -75,7 +75,13 @@ codeunit 7275 "Sales Lines Suggestions Impl." FeatureTelemetryCustomDimension: Dictionary of [Text, Text]; ErrorTxt: Text; begin - SalesLine.TestStatusOpen(); + if not SalesHeader.Get(SalesLine."Document Type", SalesLine."Document No.") then begin + ErrorTxt := StrSubstNo(SalesHeaderNotInitializedErr, SalesLine."Document Type"); + FeatureTelemetry.LogError('0000ME6', SalesLineAISuggestionImpl.GetFeatureName(), 'Get the source sales header', ErrorTxt); + Error(ErrorTxt); + end; + + SalesHeader.TestStatusOpen(true); if not AzureOpenAI.IsEnabled(Enum::"Copilot Capability"::"Sales Lines Suggestions") then exit; @@ -85,16 +91,10 @@ codeunit 7275 "Sales Lines Suggestions Impl." if not ALSearch.IsItemSearchReady() then ALSearch.EnableItemSearch(); - if SalesHeader.Get(SalesLine."Document Type", SalesLine."Document No.") then begin - SalesLineAISuggestions.SetSalesHeader(SalesHeader); - SalesLineAISuggestions.LookupMode := true; - FeatureTelemetry.LogUptake('0000MEC', SalesLineAISuggestionImpl.GetFeatureName(), Enum::"Feature Uptake Status"::"Set up", FeatureTelemetryCustomDimension); - SalesLineAISuggestions.Run(); - end else begin - ErrorTxt := StrSubstNo(SalesHeaderNotInitializedErr, SalesLine."Document Type"); - FeatureTelemetry.LogError('0000ME6', SalesLineAISuggestionImpl.GetFeatureName(), 'Get the source sales header', ErrorTxt); - Error(ErrorTxt); - end; + SalesLineAISuggestions.SetSalesHeader(SalesHeader); + SalesLineAISuggestions.LookupMode := true; + FeatureTelemetry.LogUptake('0000MEC', SalesLineAISuggestionImpl.GetFeatureName(), Enum::"Feature Uptake Status"::"Set up", FeatureTelemetryCustomDimension); + SalesLineAISuggestions.Run(); end; [NonDebuggable] diff --git a/Apps/W1/SalesLinesSuggestions/app/Utilities/SalesLineUtility.Codeunit.al b/Apps/W1/SalesLinesSuggestions/app/Utilities/SalesLineUtility.Codeunit.al index 2426f24ab0..0df11fbccb 100644 --- a/Apps/W1/SalesLinesSuggestions/app/Utilities/SalesLineUtility.Codeunit.al +++ b/Apps/W1/SalesLinesSuggestions/app/Utilities/SalesLineUtility.Codeunit.al @@ -167,4 +167,15 @@ codeunit 7280 "Sales Line Utility" ProgressDialog.Open(ProcessingLinesLbl); ProgressDialog.Update(1, ''); end; + + procedure CheckIfSuggestedLinesContainErrors(var TempSalesLineAISuggestion: Record "Sales Line AI Suggestions" temporary): Boolean + var + TempSalesLineSuggestion: Record "Sales Line AI Suggestions" temporary; + begin + TempSalesLineSuggestion.Copy(TempSalesLineAISuggestion, true); + TempSalesLineSuggestion.Reset(); + TempSalesLineSuggestion.SetRange("Line Style", 'Unfavorable'); + if not TempSalesLineSuggestion.IsEmpty() then + exit(true); + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/app.json b/Apps/W1/Shopify/app/app.json index aa85c47434..e77edb34a5 100644 --- a/Apps/W1/Shopify/app/app.json +++ b/Apps/W1/Shopify/app/app.json @@ -17,7 +17,7 @@ "idRanges": [ { "from": 30100, - "to": 30380 + "to": 30399 } ], "internalsVisibleTo": [ diff --git a/Apps/W1/Shopify/app/src/Base/Table Extensions/ShpfyFeatureDataUpdate.TableExt.al b/Apps/W1/Shopify/app/src/Base/Table Extensions/ShpfyFeatureDataUpdate.TableExt.al index a9c3964793..f33c835abc 100644 --- a/Apps/W1/Shopify/app/src/Base/Table Extensions/ShpfyFeatureDataUpdate.TableExt.al +++ b/Apps/W1/Shopify/app/src/Base/Table Extensions/ShpfyFeatureDataUpdate.TableExt.al @@ -1,3 +1,4 @@ +#if not CLEANSCHEMA25 namespace Microsoft.Integration.Shopify; using System.Environment.Configuration; @@ -16,3 +17,4 @@ tableextension 30200 "Shpfy Feature Data Update" extends "Feature Data Update St } } } +#endif \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al b/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al index c7713c2ace..753d24bc3d 100644 --- a/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al +++ b/Apps/W1/Shopify/app/src/Base/Tables/ShpfyShop.Table.al @@ -1025,13 +1025,15 @@ table 30102 "Shpfy Shop" JItem: JsonToken; begin CommunicationMgt.SetShop(Rec); - JResponse := CommunicationMgt.ExecuteGraphQL('{"query":"query { shop { name plan { partnerDevelopment shopifyPlus } } }"}'); + JResponse := CommunicationMgt.ExecuteGraphQL('{"query":"query { shop { name plan { displayName partnerDevelopment shopifyPlus } } }"}'); if JResponse.SelectToken('$.data.shop.plan', JItem) then if JItem.IsObject then begin if JsonHelper.GetValueAsBoolean(JItem, 'shopifyPlus') then exit(true); if JsonHelper.GetValueAsBoolean(JItem, 'partnerDevelopment') then exit(true); + if JsonHelper.GetValueAsText(JItem, 'displayName') = 'Plus Trial' then + exit(true); end; end; diff --git a/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al index 4fbf072c85..6babf8e262 100644 --- a/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyAPI.Codeunit.al @@ -14,6 +14,7 @@ codeunit 30286 "Shpfy Company API" Shop: Record "Shpfy Shop"; CommunicationMgt: Codeunit "Shpfy Communication Mgt."; JsonHelper: Codeunit "Shpfy Json Helper"; + MetafieldAPI: Codeunit "Shpfy Metafield API"; internal procedure CreateCompany(var ShopifyCompany: Record "Shpfy Company"; var CompanyLocation: Record "Shpfy Company Location"; ShopifyCustomer: Record "Shpfy Customer"): Boolean var @@ -75,6 +76,7 @@ codeunit 30286 "Shpfy Company API" begin Shop := ShopifyShop; CommunicationMgt.SetShop(Shop); + MetafieldAPI.SetShop(Shop); end; local procedure AddFieldToGraphQuery(var GraphQuery: TextBuilder; FieldName: Text; ValueAsVariant: Variant): Boolean @@ -294,7 +296,6 @@ codeunit 30286 "Shpfy Company API" internal procedure UpdateShopifyCompanyFields(var ShopifyCompany: Record "Shpfy Company"; JCompany: JsonObject) Result: Boolean var CompanyLocation: Record "Shpfy Company Location"; - MetafieldAPI: Codeunit "Shpfy Metafield API"; UpdatedAt: DateTime; JLocations: JsonArray; JMetafields: JsonArray; diff --git a/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al index e9cc6ce57b..1eca928a59 100644 --- a/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Companies/Codeunits/ShpfyCompanyExport.Codeunit.al @@ -36,6 +36,7 @@ codeunit 30284 "Shpfy Company Export" Shop: Record "Shpfy Shop"; CompanyAPI: Codeunit "Shpfy Company API"; CatalogAPI: Codeunit "Shpfy Catalog API"; + MetafieldAPI: Codeunit "Shpfy Metafield API"; SkippedRecord: Codeunit "Shpfy Skipped Record"; CreateCustomers: Boolean; CountyCodeTooLongLbl: Label 'Can not export customer %1 %2. The length of the string is %3, but it must be less than or equal to %4 characters. Value: %5, field: %6', Comment = '%1 - Customer No., %2 - Customer Name, %3 - Length, %4 - Max Length, %5 - Value, %6 - Field Name'; @@ -179,6 +180,7 @@ codeunit 30284 "Shpfy Company Export" Shop := ShopifyShop; CompanyAPI.SetShop(Shop); CatalogAPI.SetShop(Shop); + MetafieldAPI.SetShop(Shop); end; local procedure UpdateShopifyCompany(Customer: Record Customer; CompanyId: BigInteger) @@ -205,8 +207,6 @@ codeunit 30284 "Shpfy Company Export" end; local procedure UpdateMetafields(ComppanyId: BigInteger) - var - MetafieldAPI: Codeunit "Shpfy Metafield API"; begin MetafieldAPI.CreateOrUpdateMetafieldsInShopify(Database::"Shpfy Company", ComppanyId); end; diff --git a/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerAPI.Codeunit.al index 448c3b7f4b..a446cec74f 100644 --- a/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerAPI.Codeunit.al @@ -15,6 +15,7 @@ codeunit 30114 "Shpfy Customer API" CommunicationMgt: Codeunit "Shpfy Communication Mgt."; JsonHelper: Codeunit "Shpfy Json Helper"; CustomerEvents: Codeunit "Shpfy Customer Events"; + MetafieldAPI: Codeunit "Shpfy Metafield API"; /// /// Add Field To Graph Query. @@ -231,6 +232,7 @@ codeunit 30114 "Shpfy Customer API" Clear(Shop); Shop.Get(Code); CommunicationMgt.SetShop(Shop); + MetafieldAPI.SetShop(Shop); end; /// @@ -356,7 +358,6 @@ codeunit 30114 "Shpfy Customer API" internal procedure UpdateShopifyCustomerFields(var ShopifyCustomer: Record "Shpfy Customer"; JCustomer: JsonObject) Result: Boolean var CustomerAddress: Record "Shpfy Customer Address"; - MetafieldAPI: Codeunit "Shpfy Metafield API"; NodeId: BigInteger; UpdatedAt: DateTime; JAddresses: JsonArray; diff --git a/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerExport.Codeunit.al b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerExport.Codeunit.al index a7c80ce31e..0958950e9f 100644 --- a/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerExport.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Customers/Codeunits/ShpfyCustomerExport.Codeunit.al @@ -15,6 +15,7 @@ codeunit 30116 "Shpfy Customer Export" trigger OnRun() var Customer: Record Customer; + ShopifyCustomer: Record "Shpfy Customer"; CustomerMapping: Codeunit "Shpfy Customer Mapping"; CustomerId: BigInteger; begin @@ -27,10 +28,14 @@ codeunit 30116 "Shpfy Customer Export" if CustomerId = 0 then begin if CreateCustomers then CreateShopifyCustomer(Customer); - end else - if Shop."Can Update Shopify Customer" then - UpdateShopifyCustomer(Customer, CustomerId); - + end else begin + ShopifyCustomer.Get(CustomerId); + if ShopifyCustomer."Customer SystemId" <> Customer.SystemId then + SkippedRecord.LogSkippedRecord(Customer.RecordId, CustomerWithPhoneNoOrEmailExistsLbl, Shop) + else + if Shop."Can Update Shopify Customer" then + UpdateShopifyCustomer(Customer, ShopifyCustomer); + end; Commit(); until Customer.Next() = 0; end; @@ -39,6 +44,7 @@ codeunit 30116 "Shpfy Customer Export" var Shop: Record "Shpfy Shop"; CustomerApi: Codeunit "Shpfy Customer API"; + MetafieldAPI: Codeunit "Shpfy Metafield API"; SkippedRecord: Codeunit "Shpfy Skipped Record"; CreateCustomers: Boolean; CountyCodeTooLongLbl: Label 'Can not export customer %1 %2. The length of the string is %3, but it must be less than or equal to %4 characters. Value: %5, field: %6', Comment = '%1 - Customer No., %2 - Customer Name, %3 - Length, %4 - Max Length, %5 - Value, %6 - Field Name'; @@ -71,7 +77,8 @@ codeunit 30116 "Shpfy Customer Export" CustomerAddress.Insert(); end; - UpdateMetafields(ShopifyCustomer.Id); + if ShopifyCustomer.Id > 0 then + UpdateMetafields(ShopifyCustomer.Id); end; /// @@ -213,6 +220,7 @@ codeunit 30116 "Shpfy Customer Export" begin Shop := ShopifyShop; CustomerApi.SetShop(Shop); + MetafieldAPI.SetShop(Shop) end; /// @@ -243,18 +251,11 @@ codeunit 30116 "Shpfy Customer Export" /// /// Parameter of type Record Customer. /// Parameter of type BigInteger. - local procedure UpdateShopifyCustomer(Customer: Record Customer; CustomerId: BigInteger) + local procedure UpdateShopifyCustomer(Customer: Record Customer; var ShopifyCustomer: Record "Shpfy Customer") var - ShopifyCustomer: Record "Shpfy Customer"; CustomerAddress: Record "Shpfy Customer Address"; begin - ShopifyCustomer.Get(CustomerID); - if ShopifyCustomer."Customer SystemId" <> Customer.SystemId then begin - SkippedRecord.LogSkippedRecord(ShopifyCustomer.Id, Customer.RecordId, CustomerWithPhoneNoOrEmailExistsLbl, Shop); - exit; // An other customer with the same e-mail or phone is the source of it. - end; - - CustomerAddress.SetRange("Customer Id", CustomerId); + CustomerAddress.SetRange("Customer Id", ShopifyCustomer.Id); CustomerAddress.SetRange(Default, true); if not CustomerAddress.FindFirst() then begin CustomerAddress.SetRange(Default); @@ -276,8 +277,6 @@ codeunit 30116 "Shpfy Customer Export" end; local procedure UpdateMetafields(CustomerId: BigInteger) - var - MetafieldAPI: Codeunit "Shpfy Metafield API"; begin MetafieldAPI.CreateOrUpdateMetafieldsInShopify(Database::"Shpfy Customer", CustomerId); end; diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLDeliveryMethods.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLDeliveryMethods.Codeunit.al new file mode 100644 index 0000000000..a51f03f2b0 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLDeliveryMethods.Codeunit.al @@ -0,0 +1,27 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy GQL DeliveryMethods (ID 30376) implements Interface Shpfy IGraphQL. +/// +codeunit 30376 "Shpfy GQL DeliveryMethods" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query":"{ deliveryProfile(id: \"gid://shopify/DeliveryProfile/{{DeliveryProfileId}}\") { profileLocationGroups(locationGroupId: \"gid://shopify/DeliveryLocationGroup/{{DeliveryLocationGroupId}}\") { locationGroupZones(first: 20) { pageInfo { hasNextPage } edges { cursor node { methodDefinitions(first: 50) { edges { node { active name } } } } } } } } }"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(54); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLDeliveryProfiles.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLDeliveryProfiles.Codeunit.al new file mode 100644 index 0000000000..26dfb3b06f --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLDeliveryProfiles.Codeunit.al @@ -0,0 +1,28 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy GQL DeliveryProfiles (ID 30375) implements Interface Shpfy IGraphQL. +/// +codeunit 30375 "Shpfy GQL DeliveryProfiles" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + procedure GetGraphQL(): Text + begin + exit('{"query":"{ deliveryProfiles(first: 50) { pageInfo { hasNextPage } edges { cursor node { id } } } }"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + procedure GetExpectedCost(): Integer + begin + exit(9); + end; + +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLInventoryActivate.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLInventoryActivate.Codeunit.al new file mode 100644 index 0000000000..dc46763924 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLInventoryActivate.Codeunit.al @@ -0,0 +1,28 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy GQL InventoryActivate (ID 30381) implements Interface Shpfy IGraphQL. +/// +codeunit 30381 "Shpfy GQL InventoryActivate" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + procedure GetGraphQL(): Text + begin + exit('{"query":"mutation inventoryBulkToggleActivation($inventoryItemId: ID!, $inventoryItemUpdates: [InventoryBulkToggleActivationInput!]!) { inventoryBulkToggleActivation(inventoryItemId: $inventoryItemId, inventoryItemUpdates: $inventoryItemUpdates) {userErrors { field message }}}","variables":{"inventoryItemId": "gid://shopify/InventoryItem/{{InventoryItemId}}","inventoryItemUpdates": []}}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + procedure GetExpectedCost(): Integer + begin + exit(10); + end; + +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLLocationGroups.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLLocationGroups.Codeunit.al new file mode 100644 index 0000000000..a1849345c1 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLLocationGroups.Codeunit.al @@ -0,0 +1,27 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy GQL LocationGroups (ID 30379) implements Interface Shpfy IGraphQL. +/// +codeunit 30379 "Shpfy GQL LocationGroups" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query":"{ deliveryProfile(id: \"gid://shopify/DeliveryProfile/{{DeliveryProfileId}}\") { profileLocationGroups { locationGroup { id } } } }"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(3); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLMetafieldDefinitions.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLMetafieldDefinitions.Codeunit.al new file mode 100644 index 0000000000..ede0949ba2 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLMetafieldDefinitions.Codeunit.al @@ -0,0 +1,28 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy GQL MetafieldDefinitions (ID 30380) implements Interface Shpfy IGraphQL. +/// +codeunit 30380 "Shpfy GQL MetafieldDefinitions" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + procedure GetGraphQL(): Text + begin + exit('{"query":"{ metafieldDefinitions(ownerType: {{OwnerType}}, first: 50) { edges { node { namespace name type { name } } } } }"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + procedure GetExpectedCost(): Integer + begin + exit(16); + end; + +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al index 1832263994..3c628d1984 100644 --- a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextCatalogPrices.Codeunit.al @@ -10,7 +10,7 @@ codeunit 30297 "Shpfy GQL NextCatalogPrices" implements "Shpfy IGraphQL" /// Return value of type Text. internal procedure GetGraphQL(): Text begin - exit('{"query": "query { catalog(id: \"gid://shopify/Catalog/{{CatalogId}}\") { id priceList {id currency prices(first:100, after:\"{{After}}\") {edges {cursor node {variant {id product {id}} price {amount} compareAtPrice {amount}}} pageInfo {hasNextPage}}}}}"}'); + exit('{"query": "query { catalog(id: \"gid://shopify/Catalog/{{CatalogId}}\") { id priceList {id currency prices(first:100, after:\"{{After}}\") {edges {cursor node {variant {id product {id}} price {amount} compareAtPrice {amount}}} pageInfo {hasNextPage}}}}}"}'); end; /// diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextDeliveryMethods.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextDeliveryMethods.Codeunit.al new file mode 100644 index 0000000000..edc4c59b76 --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextDeliveryMethods.Codeunit.al @@ -0,0 +1,27 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy GQL NextDeliveryMethods (ID 30378) implements Interface Shpfy IGraphQL. +/// +codeunit 30378 "Shpfy GQL NextDeliveryMethods" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + internal procedure GetGraphQL(): Text + begin + exit('{"query":"{ deliveryProfile(id: \"gid://shopify/DeliveryProfile/{{DeliveryProfileId}}\") { profileLocationGroups(locationGroupId: \"gid://shopify/DeliveryLocationGroup/{{DeliveryLocationGroupId}}\") { locationGroupZones(first: 20, after:\"{{After}}\") { pageInfo { hasNextPage } edges { cursor node { methodDefinitions(first: 50) { edges { node { active name } } } } } } } } }"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + internal procedure GetExpectedCost(): Integer + begin + exit(54); + end; +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextDeliveryProfiles.Codeunit.al b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextDeliveryProfiles.Codeunit.al new file mode 100644 index 0000000000..63519a18ec --- /dev/null +++ b/Apps/W1/Shopify/app/src/GraphQL/Codeunits/ShpfyGQLNextDeliveryProfiles.Codeunit.al @@ -0,0 +1,28 @@ +namespace Microsoft.Integration.Shopify; + +/// +/// Codeunit Shpfy GQL NextDeliveryProfiles (ID 30377) implements Interface Shpfy IGraphQL. +/// +codeunit 30377 "Shpfy GQL NextDeliveryProfiles" implements "Shpfy IGraphQL" +{ + Access = Internal; + + /// + /// GetGraphQL. + /// + /// Return value of type Text. + procedure GetGraphQL(): Text + begin + exit('{"query":"{ deliveryProfiles(first: 50, after:\"{{After}}\") { pageInfo { hasNextPage } edges { cursor node { id } } } }"}'); + end; + + /// + /// GetExpectedCost. + /// + /// Return value of type Integer. + procedure GetExpectedCost(): Integer + begin + exit(9); + end; + +} diff --git a/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al b/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al index 29e3cc1f99..6fbdb9d036 100644 --- a/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al +++ b/Apps/W1/Shopify/app/src/GraphQL/Enums/ShpfyGraphQLType.Enum.al @@ -500,4 +500,39 @@ enum 30111 "Shpfy GraphQL Type" implements "Shpfy IGraphQL" Caption = 'Company Metafield Ids'; Implementation = "Shpfy IGraphQL" = "Shpfy GQL CompanyMetafieldIds"; } + value(105; GetDeliveryProfiles) + { + Caption = 'Get Delivery Profiles'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL DeliveryProfiles"; + } + value(106; GetNextDeliveryProfiles) + { + Caption = 'Get Next Delivery Profiles'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL NextDeliveryProfiles"; + } + value(107; GetLocationGroups) + { + Caption = 'Get Location Groups'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL LocationGroups"; + } + value(108; GetDeliveryMethods) + { + Caption = 'Get Delivery Methods'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL DeliveryMethods"; + } + value(109; GetNextDeliveryMethods) + { + Caption = 'Get Next Delivery Methods'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL NextDeliveryMethods"; + } + value(110; GetMetafieldDefinitions) + { + Caption = 'Get Metafield Definitions'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL MetafieldDefinitions"; + } + value(111; InventoryActivate) + { + Caption = 'Inventory Activate'; + Implementation = "Shpfy IGraphQL" = "Shpfy GQL InventoryActivate"; + } } diff --git a/Apps/W1/Shopify/app/src/Invoicing/Codeunits/ShpfyPostedInvoiceExport.Codeunit.al b/Apps/W1/Shopify/app/src/Invoicing/Codeunits/ShpfyPostedInvoiceExport.Codeunit.al index 57b0552db2..aea6efa3ac 100644 --- a/Apps/W1/Shopify/app/src/Invoicing/Codeunits/ShpfyPostedInvoiceExport.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Invoicing/Codeunits/ShpfyPostedInvoiceExport.Codeunit.al @@ -27,7 +27,7 @@ codeunit 30362 "Shpfy Posted Invoice Export" var CustomerNotExistInShopifyLbl: Label 'Customer does not exists as Shopify company or customer.'; PaymentTermsNotExistLbl: Label 'Payment terms %1 do not exist in Shopify.', Comment = '%1 = Payment Terms Code.'; - CustomerNoIsDefaultCustomerNoLbl: Label 'Bill-to customer no. is the default customer no. for Shopify shop.'; + CustomerNoIsDefaultCustomerNoLbl: Label 'Bill-to customer no. %1 is the default customer no. in Shopify customer template for shop %2.', Comment = '%1 = Customer No., %2 = Shop Code'; CustomerTemplateExistsLbl: Label 'Shopify customer template exists for customer no. %1 shop %2.', Comment = '%1 = Customer No., %2 = Shop Code'; NoLinesInSalesInvoiceLbl: Label 'No relevant sales invoice lines exist.'; InvalidQuantityLbl: Label 'Invalid quantity in sales invoice line.'; @@ -118,7 +118,7 @@ codeunit 30362 "Shpfy Posted Invoice Export" end; if Shop."Default Customer No." = SalesInvoiceHeader."Bill-to Customer No." then begin - SkippedRecord.LogSkippedRecord(SalesInvoiceHeader.RecordId, CustomerNoIsDefaultCustomerNoLbl, Shop); + SkippedRecord.LogSkippedRecord(SalesInvoiceHeader.RecordId, StrSubstNo(CustomerNoIsDefaultCustomerNoLbl, SalesInvoiceHeader."Bill-to Customer No.", Shop.Code), Shop); exit(false); end; @@ -176,7 +176,7 @@ codeunit 30362 "Shpfy Posted Invoice Export" SalesInvoiceLine.SetRange("Document No.", SalesInvoiceHeader."No."); if SalesInvoiceLine.FindSet() then repeat - if (SalesInvoiceLine.Quantity <> 0) and (SalesInvoiceLine.Quantity <> Round(SalesInvoiceLine.Quantity, 1)) then begin + if ((SalesInvoiceLine.Quantity <> 0) and (SalesInvoiceLine.Quantity <> Round(SalesInvoiceLine.Quantity, 1))) or (SalesInvoiceLine.Quantity < 0) then begin SkippedRecord.LogSkippedRecord(SalesInvoiceLine.RecordId, InvalidQuantityLbl, Shop); exit(false); end; diff --git a/Apps/W1/Shopify/app/src/Logs/Pages/ShpfySkippedRecords.Page.al b/Apps/W1/Shopify/app/src/Logs/Pages/ShpfySkippedRecords.Page.al index b8948746d7..8d4f188b89 100644 --- a/Apps/W1/Shopify/app/src/Logs/Pages/ShpfySkippedRecords.Page.al +++ b/Apps/W1/Shopify/app/src/Logs/Pages/ShpfySkippedRecords.Page.al @@ -20,7 +20,6 @@ page 30166 "Shpfy Skipped Records" { repeater(General) { - field("Shopify Id"; Rec."Shopify Id") { } field("Table ID"; Rec."Table ID") { } field("Table Name"; Rec."Table Name") { } field(Description; Rec.Description) @@ -31,6 +30,7 @@ page 30166 "Shpfy Skipped Records" end; } field("Skipped Reason"; Rec."Skipped Reason") { } + field("Shopify Id"; Rec."Shopify Id") { } } } } diff --git a/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCompany.Codeunit.al b/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCompany.Codeunit.al index fdce02510e..44ef1d693a 100644 --- a/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCompany.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCompany.Codeunit.al @@ -43,7 +43,7 @@ codeunit 30366 "Shpfy Metafield Owner Company" implements "Shpfy IMetafield Owne procedure CanEditMetafields(Shop: Record "Shpfy Shop"): Boolean begin - exit(Shop."Can Update Shopify Companies"); + exit((Shop."Can Update Shopify Companies") and (Shop."Company Import From Shopify" <> Enum::"Shpfy Company Import Range"::AllCompanies)); end; } diff --git a/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCustomer.Codeunit.al b/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCustomer.Codeunit.al index 0f4713b44d..779fd82d80 100644 --- a/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCustomer.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Metafields/Codeunits/IOwnerType/ShpfyMetafieldOwnerCustomer.Codeunit.al @@ -23,7 +23,7 @@ codeunit 30333 "Shpfy Metafield Owner Customer" implements "Shpfy IMetafield Own Parameters.Add('CustomerId', Format(OwnerId)); GraphQLType := GraphQLType::CustomerMetafieldIds; JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType, Parameters); - if JsonHelper.GetJsonArray(JResponse, JMetafields, 'data.product.metafields.edges') then + if JsonHelper.GetJsonArray(JResponse, JMetafields, 'data.customer.metafields.edges') then foreach JItem in JMetafields do if JsonHelper.GetJsonObject(JItem.AsObject(), JNode, 'node') then begin Id := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JNode, 'legacyResourceId')); @@ -45,6 +45,6 @@ codeunit 30333 "Shpfy Metafield Owner Customer" implements "Shpfy IMetafield Own procedure CanEditMetafields(Shop: Record "Shpfy Shop"): Boolean begin - exit(Shop."Can Update Shopify Customer"); + exit((Shop."Can Update Shopify Customer") and (Shop."Customer Import From Shopify" <> Enum::"Shpfy Customer Import Range"::AllCustomers)); end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Metafields/Codeunits/ShpfyMetafieldAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Metafields/Codeunits/ShpfyMetafieldAPI.Codeunit.al index 24d5015a4b..dc0f656fb1 100644 --- a/Apps/W1/Shopify/app/src/Metafields/Codeunits/ShpfyMetafieldAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Metafields/Codeunits/ShpfyMetafieldAPI.Codeunit.al @@ -5,7 +5,16 @@ codeunit 30316 "Shpfy Metafield API" Access = Internal; var + Shop: Record "Shpfy Shop"; JsonHelper: Codeunit "Shpfy Json Helper"; + CommunicationMgt: Codeunit "Shpfy Communication Mgt."; + + + internal procedure SetShop(ShopifyShop: Record "Shpfy Shop") + begin + Shop := ShopifyShop; + CommunicationMgt.SetShop(Shop); + end; #region To Shopify /// @@ -72,6 +81,7 @@ codeunit 30316 "Shpfy Metafield API" begin Metafield.SetRange("Parent Table No.", ParentTableId); Metafield.SetRange("Owner Id", OwnerId); + Metafield.SetFilter(Value, '<>%1', ''); if Metafield.FindSet() then repeat if MetafieldIds.Get(Metafield.Id, UpdatedAt) then begin @@ -92,7 +102,6 @@ codeunit 30316 "Shpfy Metafield API" /// GraphQL query for the metafields. internal procedure UpdateMetafields(MetafieldsQuery: Text) JResponse: JsonToken var - CommunicationMgt: Codeunit "Shpfy Communication Mgt."; Parameters: Dictionary of [Text, Text]; begin Parameters.Add('Metafields', MetafieldsQuery); @@ -167,6 +176,71 @@ codeunit 30316 "Shpfy Metafield API" DeleteUnusedMetafields(MetafieldIds); end; + /// + /// Retrieves the metafield definitions from Shopify. + /// + /// + /// First 50 definitions will be imported + /// Some metafield types are unsupported in Business Central (i.e. Rating). + /// + /// Table id of the parent resource. + /// Id of the parent resource. + internal procedure GetMetafieldDefinitions(ParentTableNo: Integer; OwnerId: BigInteger) + var + Metafield: Record "Shpfy Metafield"; + OwnerType: Enum "Shpfy Metafield Owner Type"; + Parameters: Dictionary of [Text, Text]; + JMetafields: JsonArray; + JMetafield: JsonToken; + JResponse: JsonToken; + JNode: JsonObject; + begin + OwnerType := Metafield.GetOwnerType(ParentTableNo); + Parameters.Add('OwnerType', UpperCase(OwnerType.Names().Get(OwnerType.Ordinals.IndexOf(OwnerType.AsInteger())))); + JResponse := CommunicationMgt.ExecuteGraphQL(Enum::"Shpfy GraphQL Type"::GetMetafieldDefinitions, Parameters); + + if JsonHelper.GetJsonArray(JResponse, JMetafields, 'data.metafieldDefinitions.edges') then + foreach JMetafield in JMetafields do begin + JsonHelper.GetJsonObject(JMetafield.AsObject(), JNode, 'node'); + CreateMetafieldDefinition(ParentTableNo, OwnerId, JNode); + end; + end; + + local procedure CreateMetafieldDefinition(ParentTableNo: Integer; OwnerId: BigInteger; JNode: JsonObject) + var + Metafield: Record "Shpfy Metafield"; + Type: Enum "Shpfy Metafield Type"; + Namespace: Text; + Name: Text; + TypeText: Text; + begin + Namespace := JsonHelper.GetValueAsText(JNode, 'namespace'); + Name := JsonHelper.GetValueAsText(JNode, 'name'); + TypeText := JsonHelper.GetValueAsText(JNode, 'type.name'); + + // Some metafield types are unsupported in Business Central (i.e. Rating) + if not ConvertToMetafieldType(TypeText, Type) then + exit; + + Metafield.SetRange("Parent Table No.", ParentTableNo); + Metafield.SetRange("Owner Id", OwnerId); + Metafield.SetRange(Namespace, Namespace); + Metafield.SetRange(Name, Name); + Metafield.SetRange(Type, Type); + if not Metafield.IsEmpty() then + exit; + + Metafield.Validate("Parent Table No.", ParentTableNo); + Metafield."Owner Id" := OwnerId; + Metafield.Id := JsonHelper.GetValueAsBigInteger(JNode, 'legacyResourceId'); + Metafield.Type := Type; +#pragma warning disable AA0139 + Metafield."Namespace" := Namespace; + Metafield.Name := Name; +#pragma warning restore AA0139 + Metafield.Insert(true); + end; + local procedure UpdateMetadataField(ParentTableNo: Integer; OwnerId: BigInteger; JNode: JsonObject): BigInteger var Metafield: Record "Shpfy Metafield"; @@ -183,7 +257,6 @@ codeunit 30316 "Shpfy Metafield API" if not ConvertToMetafieldType(JsonHelper.GetValueAsText(JNode, 'type'), Type) then exit(0); - Metafield.Validate("Parent Table No.", ParentTableNo); Metafield."Owner Id" := OwnerId; Metafield.Id := JsonHelper.GetValueAsBigInteger(JNode, 'legacyResourceId'); diff --git a/Apps/W1/Shopify/app/src/Metafields/Pages/ShpfyMetafields.Page.al b/Apps/W1/Shopify/app/src/Metafields/Pages/ShpfyMetafields.Page.al index 6e50c27b77..08696df596 100644 --- a/Apps/W1/Shopify/app/src/Metafields/Pages/ShpfyMetafields.Page.al +++ b/Apps/W1/Shopify/app/src/Metafields/Pages/ShpfyMetafields.Page.al @@ -56,6 +56,36 @@ page 30163 "Shpfy Metafields" } } + actions + { + area(Processing) + { + action(GetMetafieldDefinitions) + { + ApplicationArea = All; + Caption = 'Get Metafield Definitions'; + Image = Import; + ToolTip = 'Retrieve metafield definitions from Shopify.'; + Visible = IsPageEditable; + Promoted = true; + PromotedOnly = true; + PromotedCategory = Process; + + trigger OnAction() + var + MetafieldAPI: Codeunit "Shpfy Metafield API"; + ParentTableNo: Integer; + OwnerId: BigInteger; + begin + Evaluate(ParentTableNo, Rec.GetFilter("Parent Table No.")); + Evaluate(OwnerId, Rec.GetFilter("Owner Id")); + MetafieldAPI.SetShop(Shop); + MetafieldAPI.GetMetafieldDefinitions(ParentTableNo, OwnerId); + end; + } + } + } + trigger OnNewRecord(BelowxRec: Boolean) begin Evaluate(Rec."Parent Table No.", Rec.GetFilter("Parent Table No.")); @@ -81,6 +111,13 @@ page 30163 "Shpfy Metafields" Rec.Id := SendMetafieldToShopify(); end; + trigger OnModifyRecord(): Boolean + begin + if Rec.Id < 0 then + if xRec.Value <> Rec.Value then + Rec.Rename(SendMetafieldToShopify()); + end; + var Shop: Record "Shpfy Shop"; IsPageEditable: Boolean; @@ -112,7 +149,6 @@ page 30163 "Shpfy Metafields" var JsonHelper: Codeunit "Shpfy Json Helper"; MetafieldAPI: Codeunit "Shpfy Metafield API"; - ShpfyCommunicationMgt: Codeunit "Shpfy Communication Mgt."; UserErrorOnShopifyErr: Label 'Something went wrong while sending the metafield to Shopify. Check Shopify Log Entries for more details.'; GraphQuery: TextBuilder; JResponse: JsonToken; @@ -120,8 +156,7 @@ page 30163 "Shpfy Metafields" JUserErrors: JsonArray; JItem: JsonToken; begin - ShpfyCommunicationMgt.SetShop(Shop); - + MetafieldAPI.SetShop(Shop); MetafieldAPI.CreateMetafieldQuery(Rec, GraphQuery); JResponse := MetafieldAPI.UpdateMetafields(GraphQuery.ToText()); diff --git a/Apps/W1/Shopify/app/src/Order handling/Table Extensions/ShpfySalesHeader.TableExt.al b/Apps/W1/Shopify/app/src/Order handling/Table Extensions/ShpfySalesHeader.TableExt.al index 82986230e4..6ab5428f4b 100644 --- a/Apps/W1/Shopify/app/src/Order handling/Table Extensions/ShpfySalesHeader.TableExt.al +++ b/Apps/W1/Shopify/app/src/Order handling/Table Extensions/ShpfySalesHeader.TableExt.al @@ -23,6 +23,7 @@ tableextension 30101 "Shpfy Sales Header" extends "Sales Header" Editable = false; } +#if not CLEANSCHEMA28 field(30102; "Shpfy Risk Level"; Enum "Shpfy Risk Level") { Caption = 'Risk Level'; @@ -37,6 +38,7 @@ tableextension 30101 "Shpfy Sales Header" extends "Sales Header" ObsoleteTag = '28.0'; #endif } +#endif field(30103; "Shpfy Refund Id"; BigInteger) { Caption = 'Shopify Refund Id'; diff --git a/Apps/W1/Shopify/app/src/Order handling/Tables/ShpfyOrdersToImport.Table.al b/Apps/W1/Shopify/app/src/Order handling/Tables/ShpfyOrdersToImport.Table.al index 5ed340ef1d..18e1a3d1ae 100644 --- a/Apps/W1/Shopify/app/src/Order handling/Tables/ShpfyOrdersToImport.Table.al +++ b/Apps/W1/Shopify/app/src/Order handling/Tables/ShpfyOrdersToImport.Table.al @@ -86,6 +86,7 @@ table 30121 "Shpfy Orders to Import" DataClassification = CustomerContent; Editable = false; } +#if not CLEANSCHEMA28 field(12; "Risk Level"; enum "Shpfy Risk Level") { Caption = 'Risk Level'; @@ -100,6 +101,7 @@ table 30121 "Shpfy Orders to Import" ObsoleteTag = '28.0'; #endif } +#endif field(13; "Financial Status"; enum "Shpfy Financial Status") { Caption = 'Financial Status'; diff --git a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al index 3a87fd89b6..fd5f30fb1a 100644 --- a/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al +++ b/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al @@ -161,6 +161,8 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy GQL Customer" = X, codeunit "Shpfy GQL CustomerIds" = X, codeunit "Shpfy GQL CustomerMetafieldIds" = X, + codeunit "Shpfy GQL DeliveryMethods" = X, + codeunit "Shpfy GQL DeliveryProfiles" = X, codeunit "Shpfy GQL DraftOrderComplete" = X, codeunit "Shpfy GQL FFOrdersFromOrder" = X, codeunit "Shpfy GQL FindCustByEMail" = X, @@ -170,10 +172,13 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy GQL Fulfill Order" = X, codeunit "Shpfy GQL Get Fulfillments" = X, codeunit "Shpfy GQL GetProductImage" = X, + codeunit "Shpfy GQL InventoryActivate" = X, codeunit "Shpfy GQL InventoryEntries" = X, + codeunit "Shpfy GQL LocationGroups" = X, codeunit "Shpfy GQL LocationOrderLines" = X, codeunit "Shpfy GQL Locations" = X, codeunit "Shpfy GQL MarkOrderAsPaid" = X, + codeunit "Shpfy GQL MetafieldDefinitions" = X, codeunit "Shpfy GQL MetafieldsSet" = X, codeunit "Shpfy GQL Modify Inventory" = X, codeunit "Shpfy GQL Next Locations" = X, @@ -183,6 +188,8 @@ permissionset 30104 "Shpfy - Objects" codeunit "Shpfy GQL NextCatalogs" = X, codeunit "Shpfy GQL NextCompanyIds" = X, codeunit "Shpfy GQL NextCustomerIds" = X, + codeunit "Shpfy GQL NextDeliveryMethods" = X, + codeunit "Shpfy GQL NextDeliveryProfiles" = X, codeunit "Shpfy GQL NextFFOrdersFromOrd" = X, codeunit "Shpfy GQL NextFulfillmentLines" = X, codeunit "Shpfy GQL NextInvEntries" = X, diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al index 5838ee15db..38d77856d5 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyCreateProduct.Codeunit.al @@ -25,6 +25,7 @@ codeunit 30174 "Shpfy Create Product" Events: Codeunit "Shpfy Product Events"; Getlocations: Boolean; ProductId: BigInteger; + ItemVariantIsBlockedLbl: Label 'Item variant is blocked or sales blocked.'; trigger OnRun() var @@ -63,6 +64,7 @@ codeunit 30174 "Shpfy Create Product" var ItemUnitofMeasure: Record "Item Unit of Measure"; ItemVariant: Record "Item Variant"; + SkippedRecord: Codeunit "Shpfy Skipped Record"; Id: Integer; ICreateProductStatus: Interface "Shpfy ICreateProductStatusValue"; begin @@ -73,56 +75,58 @@ codeunit 30174 "Shpfy Create Product" ICreateProductStatus := Shop."Status for Created Products"; TempShopifyProduct.Status := ICreateProductStatus.GetStatus(Item); ItemVariant.SetRange("Item No.", Item."No."); - ItemVariant.SetRange(Blocked, false); - ItemVariant.SetRange("Sales Blocked", false); if ItemVariant.FindSet(false) then repeat - TempShopifyProduct."Has Variants" := true; - if Shop."UoM as Variant" then begin - ItemUnitofMeasure.SetRange("Item No.", Item."No."); - if ItemUnitofMeasure.FindSet(false) then - repeat - Id += 1; - Clear(TempShopifyVariant); - TempShopifyVariant.Id := Id; - TempShopifyVariant."Available For Sales" := true; - TempShopifyVariant.Barcode := CopyStr(GetBarcode(Item."No.", ItemVariant.Code, ItemUnitofMeasure.Code), 1, MaxStrLen(TempShopifyVariant.Barcode)); - ProductPriceCalc.CalcPrice(Item, ItemVariant.Code, ItemUnitofMeasure.Code, TempShopifyVariant."Unit Cost", TempShopifyVariant.Price, TempShopifyVariant."Compare at Price"); - TempShopifyVariant.Title := ItemVariant.Description; - TempShopifyVariant."Inventory Policy" := Shop."Default Inventory Policy"; - TempShopifyVariant.SKU := GetVariantSKU(TempShopifyVariant.Barcode, Item."No.", ItemVariant.Code, Item."Vendor Item No."); - TempShopifyVariant."Tax Code" := Item."Tax Group Code"; - TempShopifyVariant.Taxable := true; - TempShopifyVariant.Weight := Item."Gross Weight"; - TempShopifyVariant."Option 1 Name" := 'Variant'; - TempShopifyVariant."Option 1 Value" := ItemVariant.Code; - TempShopifyVariant."Option 2 Name" := Shop."Option Name for UoM"; - TempShopifyVariant."Option 2 Value" := ItemUnitofMeasure.Code; - TempShopifyVariant."Shop Code" := Shop.Code; - TempShopifyVariant."Item SystemId" := Item.SystemId; - TempShopifyVariant."Item Variant SystemId" := ItemVariant.SystemId; - TempShopifyVariant."UoM Option Id" := 2; - TempShopifyVariant.Insert(false); - until ItemUnitofMeasure.Next() = 0; - end else begin - Id += 1; - Clear(TempShopifyVariant); - TempShopifyVariant.Id := Id; - TempShopifyVariant."Available For Sales" := true; - TempShopifyVariant.Barcode := CopyStr(GetBarcode(Item."No.", ItemVariant.Code, Item."Sales Unit of Measure"), 1, MaxStrLen(TempShopifyVariant.Barcode)); - ProductPriceCalc.CalcPrice(Item, ItemVariant.Code, Item."Sales Unit of Measure", TempShopifyVariant."Unit Cost", TempShopifyVariant.Price, TempShopifyVariant."Compare at Price"); - TempShopifyVariant.Title := ItemVariant.Description; - TempShopifyVariant."Inventory Policy" := Shop."Default Inventory Policy"; - TempShopifyVariant.SKU := GetVariantSKU(TempShopifyVariant.Barcode, Item."No.", ItemVariant.Code, GetVendorItemNo(Item."No.", ItemVariant.Code, Item."Sales Unit of Measure")); - TempShopifyVariant."Tax Code" := Item."Tax Group Code"; - TempShopifyVariant.Taxable := true; - TempShopifyVariant.Weight := Item."Gross Weight"; - TempShopifyVariant."Option 1 Name" := 'Variant'; - TempShopifyVariant."Option 1 Value" := ItemVariant.Code; - TempShopifyVariant."Shop Code" := Shop.Code; - TempShopifyVariant."Item SystemId" := Item.SystemId; - TempShopifyVariant."Item Variant SystemId" := ItemVariant.SystemId; - TempShopifyVariant.Insert(false); + if ItemVariant.Blocked or ItemVariant."Sales Blocked" then + SkippedRecord.LogSkippedRecord(ItemVariant.RecordId, ItemVariantIsBlockedLbl, Shop) + else begin + TempShopifyProduct."Has Variants" := true; + if Shop."UoM as Variant" then begin + ItemUnitofMeasure.SetRange("Item No.", Item."No."); + if ItemUnitofMeasure.FindSet(false) then + repeat + Id += 1; + Clear(TempShopifyVariant); + TempShopifyVariant.Id := Id; + TempShopifyVariant."Available For Sales" := true; + TempShopifyVariant.Barcode := CopyStr(GetBarcode(Item."No.", ItemVariant.Code, ItemUnitofMeasure.Code), 1, MaxStrLen(TempShopifyVariant.Barcode)); + ProductPriceCalc.CalcPrice(Item, ItemVariant.Code, ItemUnitofMeasure.Code, TempShopifyVariant."Unit Cost", TempShopifyVariant.Price, TempShopifyVariant."Compare at Price"); + TempShopifyVariant.Title := ItemVariant.Description; + TempShopifyVariant."Inventory Policy" := Shop."Default Inventory Policy"; + TempShopifyVariant.SKU := GetVariantSKU(TempShopifyVariant.Barcode, Item."No.", ItemVariant.Code, Item."Vendor Item No."); + TempShopifyVariant."Tax Code" := Item."Tax Group Code"; + TempShopifyVariant.Taxable := true; + TempShopifyVariant.Weight := Item."Gross Weight"; + TempShopifyVariant."Option 1 Name" := 'Variant'; + TempShopifyVariant."Option 1 Value" := ItemVariant.Code; + TempShopifyVariant."Option 2 Name" := Shop."Option Name for UoM"; + TempShopifyVariant."Option 2 Value" := ItemUnitofMeasure.Code; + TempShopifyVariant."Shop Code" := Shop.Code; + TempShopifyVariant."Item SystemId" := Item.SystemId; + TempShopifyVariant."Item Variant SystemId" := ItemVariant.SystemId; + TempShopifyVariant."UoM Option Id" := 2; + TempShopifyVariant.Insert(false); + until ItemUnitofMeasure.Next() = 0; + end else begin + Id += 1; + Clear(TempShopifyVariant); + TempShopifyVariant.Id := Id; + TempShopifyVariant."Available For Sales" := true; + TempShopifyVariant.Barcode := CopyStr(GetBarcode(Item."No.", ItemVariant.Code, Item."Sales Unit of Measure"), 1, MaxStrLen(TempShopifyVariant.Barcode)); + ProductPriceCalc.CalcPrice(Item, ItemVariant.Code, Item."Sales Unit of Measure", TempShopifyVariant."Unit Cost", TempShopifyVariant.Price, TempShopifyVariant."Compare at Price"); + TempShopifyVariant.Title := ItemVariant.Description; + TempShopifyVariant."Inventory Policy" := Shop."Default Inventory Policy"; + TempShopifyVariant.SKU := GetVariantSKU(TempShopifyVariant.Barcode, Item."No.", ItemVariant.Code, GetVendorItemNo(Item."No.", ItemVariant.Code, Item."Sales Unit of Measure")); + TempShopifyVariant."Tax Code" := Item."Tax Group Code"; + TempShopifyVariant.Taxable := true; + TempShopifyVariant.Weight := Item."Gross Weight"; + TempShopifyVariant."Option 1 Name" := 'Variant'; + TempShopifyVariant."Option 1 Value" := ItemVariant.Code; + TempShopifyVariant."Shop Code" := Shop.Code; + TempShopifyVariant."Item SystemId" := Item.SystemId; + TempShopifyVariant."Item Variant SystemId" := ItemVariant.SystemId; + TempShopifyVariant.Insert(false); + end; end; until ItemVariant.Next() = 0 else diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al index ffe2c76b90..00a9b88c45 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductAPI.Codeunit.al @@ -17,6 +17,7 @@ codeunit 30176 "Shpfy Product API" JsonHelper: Codeunit "Shpfy Json Helper"; ProductEvents: Codeunit "Shpfy Product Events"; VariantApi: Codeunit "Shpfy Variant API"; + MetafieldAPI: Codeunit "Shpfy Metafield API"; /// /// Create Product. @@ -65,6 +66,28 @@ codeunit 30176 "Shpfy Product API" GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyProduct.Vendor)); GraphQuery.Append('\"'); end; + if ShopifyProduct."Has Variants" or (ShopifyVariant."UoM Option Id" > 0) then begin + GraphQuery.Append(', productOptions: [{name: \"'); + GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 1 Name")); + GraphQuery.Append('\", values: [{name: \"'); + GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 1 Value")); + GraphQuery.Append('\"}]}'); + if ShopifyVariant."Option 2 Name" <> '' then begin + GraphQuery.Append(', {name: \"'); + GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 2 Name")); + GraphQuery.Append('\", values: [{name: \"'); + GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 2 Value")); + GraphQuery.Append('\"}]}'); + end; + if ShopifyVariant."Option 3 Name" <> '' then begin + GraphQuery.Append(', {name: \"'); + GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 3 Name")); + GraphQuery.Append('\", values: [{name: \"'); + GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 3 Value")); + GraphQuery.Append('\"}]}'); + end; + GraphQuery.Append(']'); + end; GraphQuery.Append(', published: true}) '); GraphQuery.Append('{product {legacyResourceId, onlineStoreUrl, onlineStorePreviewUrl, createdAt, updatedAt, tags, variants(first: 1) {edges {node {legacyResourceId, createdAt, updatedAt}}}}, userErrors {field, message}}'); GraphQuery.Append('}"}'); @@ -401,6 +424,7 @@ codeunit 30176 "Shpfy Product API" Shop := ShopifyShop; VariantApi.SetShop(Shop); CommunicationMgt.SetShop(Shop); + MetafieldAPI.SetShop(Shop); end; /// @@ -499,7 +523,6 @@ codeunit 30176 "Shpfy Product API" /// Return variable "Result" of type Boolean. internal procedure UpdateShopifyProductFields(var ShopifyProduct: record "Shpfy Product"; JProduct: JsonObject) Result: Boolean var - MetafieldAPI: Codeunit "Shpfy Metafield API"; UpdatedAt: DateTime; JMetafields: JsonArray; begin diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al index 329e3ff100..25e90220fe 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyProductExport.Codeunit.al @@ -59,6 +59,7 @@ codeunit 30178 "Shpfy Product Export" ProductEvents: Codeunit "Shpfy Product Events"; ProductPriceCalc: Codeunit "Shpfy Product Price Calc."; VariantApi: Codeunit "Shpfy Variant API"; + MetafieldAPI: Codeunit "Shpfy Metafield API"; SkippedRecord: Codeunit "Shpfy Skipped Record"; OnlyUpdatePrice: Boolean; RecordCount: Integer; @@ -538,6 +539,7 @@ codeunit 30178 "Shpfy Product Export" ProductApi.SetShop(Shop); VariantApi.SetShop(Shop); ProductPriceCalc.SetShop(Shop); + MetafieldAPI.SetShop(Shop); end; /// @@ -719,7 +721,6 @@ codeunit 30178 "Shpfy Product Export" local procedure UpdateMetafields(ProductId: BigInteger) var ShpfyVariant: Record "Shpfy Variant"; - MetafieldAPI: Codeunit "Shpfy Metafield API"; begin MetafieldAPI.CreateOrUpdateMetafieldsInShopify(Database::"Shpfy Product", ProductId); diff --git a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al index ebd92f2f0a..4ec541ef86 100644 --- a/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Products/Codeunits/ShpfyVariantAPI.Codeunit.al @@ -12,6 +12,8 @@ codeunit 30189 "Shpfy Variant API" CommunicationMgt: Codeunit "Shpfy Communication Mgt."; JsonHelper: Codeunit "Shpfy Json Helper"; ProductEvents: Codeunit "Shpfy Product Events"; + MetafieldAPI: Codeunit "Shpfy Metafield API"; + /// /// Find Shopify Product Variant. @@ -100,6 +102,10 @@ codeunit 30189 "Shpfy Variant API" GraphQuery.Append('\", \"'); GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 2 Value")); end; + if ShopifyVariant."Option 3 Name" <> '' then begin + GraphQuery.Append('\", \"'); + GraphQuery.Append(CommunicationMgt.EscapeGraphQLData(ShopifyVariant."Option 3 Value")); + end; GraphQuery.Append('\"]'); ShopLocation.SetRange("Shop Code", Shop.Code); @@ -327,17 +333,6 @@ codeunit 30189 "Shpfy Variant API" exit(UpdateShopifyVariantFields(ShopifyProduct, ShopifyVariant, ShopifyInventoryItem, JData)); end; - /// - /// Set Shop. - /// - /// Parameter of type Code[20]. - internal procedure SetShop(Code: Code[20]) - begin - Clear(Shop); - Shop.Get(Code); - CommunicationMgt.SetShop(Shop); - end; - /// /// Set Shop. /// @@ -346,6 +341,7 @@ codeunit 30189 "Shpfy Variant API" begin Shop := ShopifyShop; CommunicationMgt.SetShop(Shop); + MetafieldAPI.SetShop(Shop); end; /// @@ -406,16 +402,6 @@ codeunit 30189 "Shpfy Variant API" HasChange := true; GraphQuery.Append(', compareAtPrice: null'); end; - if UpdateDefaultVariant then - if ProductMultipleVariants or (ShopifyVariant."UoM Option Id" > 0) then begin - GraphQuery.Append(', options: [\"'); - GraphQuery.Append(ShopifyVariant."Option 1 Value"); - if ShopifyVariant."Option 2 Name" <> '' then begin - GraphQuery.Append('\", \"'); - GraphQuery.Append(ShopifyVariant."Option 2 Value"); - end; - GraphQuery.Append('\"]'); - end; if (ShopifyVariant."Unit Cost" <> xShopifyVariant."Unit Cost") or (ShopifyVariant.Weight <> xShopifyVariant.Weight) or (ShopifyVariant.SKU <> xShopifyVariant.SKU) or UpdateDefaultVariant then begin HasChange := true; GraphQuery.Append(', inventoryItem: {tracked: '); @@ -447,7 +433,7 @@ codeunit 30189 "Shpfy Variant API" GraphQuery.Append('}'); end; - GraphQuery.Append('}) {productVariant {updatedAt}, userErrors {field, message}}}"}'); + GraphQuery.Append('}) {productVariant { inventoryItem {legacyResourceId} updatedAt}, userErrors {field, message}}}"}'); if HasChange then begin JResponse := CommunicationMgt.ExecuteGraphQL(GraphQuery.ToText()); @@ -457,6 +443,9 @@ codeunit 30189 "Shpfy Variant API" end else if TitleChanged then ShopifyVariant.Modify(); + + if UpdateDefaultVariant then + ActivateVariantInventory(CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JResponse, 'data.productVariantUpdate.productVariant.inventoryItem.legacyResourceId'))); end; internal procedure UpdateProductPrice(ShopifyVariant: Record "Shpfy Variant"; xShopifyVariant: Record "Shpfy Variant"; var BulkOperationInput: TextBuilder; var GraphQueryList: List of [TextBuilder]; RecordCount: Integer) @@ -533,7 +522,6 @@ codeunit 30189 "Shpfy Variant API" /// Return variable "Result" of type Boolean. internal procedure UpdateShopifyVariantFields(ShopifyProduct: Record "Shpfy Product"; var ShopifyVariant: Record "Shpfy Variant"; var ShopifyInventoryItem: Record "Shpfy Inventory Item"; JVariant: JsonObject) Result: Boolean var - MetafieldAPI: Codeunit "Shpfy Metafield API"; RecordRef: RecordRef; UpdatedAt: DateTime; JMetafields: JsonArray; @@ -643,4 +631,31 @@ codeunit 30189 "Shpfy Variant API" Parameters.Add('VariantId', Format(ShopifyVariantId)); CommunicationMgt.ExecuteGraphQL(Enum::"Shpfy GraphQL Type"::ProductVariantDelete, Parameters); end; + + local procedure ActivateVariantInventory(InventoryItemId: BigInteger) + var + ShopLocation: Record "Shpfy Shop Location"; + IGraphQL: Interface "Shpfy IGraphQL"; + JInventoryItemUpdates: JsonArray; + JInventoryItemUpdate: JsonObject; + JGraphQL: JsonObject; + LocationIdTxt: Label 'gid://shopify/Location/%1', Locked = true, Comment = '%1 = The location Id'; + begin + IGraphQL := Enum::"Shpfy GraphQL Type"::InventoryActivate; + JGraphQL.ReadFrom(IGraphQL.GetGraphQL()); + JInventoryItemUpdates := JsonHelper.GetJsonArray(JGraphQL, 'variables.inventoryItemUpdates'); + + ShopLocation.SetRange("Shop Code", Shop.Code); + ShopLocation.SetRange(Active, true); + ShopLocation.SetRange("Default Product Location", true); + if ShopLocation.FindSet(false) then + repeat + JInventoryItemUpdate.Add('locationId', StrSubstNo(LocationIdTxt, ShopLocation.Id)); + JInventoryItemUpdate.Add('activate', true); + JInventoryItemUpdates.Add(JInventoryItemUpdate); + Clear(JInventoryItemUpdate); + until ShopLocation.Next() = 0; + + CommunicationMgt.ExecuteGraphQL(Format(JGraphQL).Replace('{{InventoryItemId}}', Format(InventoryItemId)), IGraphQL.GetExpectedCost()); + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al b/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al index 025c64063f..b99f15d3c8 100644 --- a/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al +++ b/Apps/W1/Shopify/app/src/Products/Reports/ShpfyAddItemtoShopify.Report.al @@ -18,15 +18,14 @@ report 30106 "Shpfy Add Item to Shopify" RequestFilterFields = "No.", "Item Category Code"; trigger OnPreDataItem() var - Shop: Record "Shpfy Shop"; ShopLocation: Record "Shpfy Shop Location"; MissingSKUMappingErrorInfo: ErrorInfo; begin if ShopCode = '' then Error(NoShopSellectedErr); - if Shop.Get(ShopCode) then - if Shop."SKU Mapping" = Shop."SKU Mapping"::" " then begin + if ShopifyShop.Get(ShopCode) then + if ShopifyShop."SKU Mapping" = ShopifyShop."SKU Mapping"::" " then begin ShopLocation.SetRange("Shop Code", ShopCode); ShopLocation.SetRange("Is Fulfillment Service", true); ShopLocation.SetRange("Default Product Location", true); @@ -35,8 +34,8 @@ report 30106 "Shpfy Add Item to Shopify" MissingSKUMappingErrorInfo.ErrorType := MissingSKUMappingErrorInfo.ErrorType::Client; MissingSKUMappingErrorInfo.Verbosity := MissingSKUMappingErrorInfo.Verbosity::Error; MissingSKUMappingErrorInfo.Message := MissingSKUMappingErr; - MissingSKUMappingErrorInfo.RecordId(Shop.RecordId()); - MissingSKUMappingErrorInfo.FieldNo(Shop.FieldNo("SKU Mapping")); + MissingSKUMappingErrorInfo.RecordId(ShopifyShop.RecordId()); + MissingSKUMappingErrorInfo.FieldNo(ShopifyShop.FieldNo("SKU Mapping")); MissingSKUMappingErrorInfo.AddNavigationAction(ChangeSKUMappingLbl); MissingSKUMappingErrorInfo.PageNo(Page::"Shpfy Shop Card"); MissingSKUMappingErrorInfo.AddAction(ChangeDefaultLocationLbl, Codeunit::"Shpfy Create Product", 'ChangeDefaultProductLocation'); @@ -55,8 +54,12 @@ report 30106 "Shpfy Add Item to Shopify" end; trigger OnAfterGetRecord() + var + SkippedRecord: Codeunit "Shpfy Skipped Record"; begin - if not Item.Blocked and not Item."Sales Blocked" then begin + if Item.Blocked or Item."Sales Blocked" then + SkippedRecord.LogSkippedRecord(Item.RecordId, ItemIsBlockedLbl, ShopifyShop) + else begin if GuiAllowed then begin CurrItemNo := Item."No."; ProcessDialog.Update(); @@ -171,6 +174,7 @@ report 30106 "Shpfy Add Item to Shopify" end; var + ShopifyShop: Record "Shpfy Shop"; ShopifyCreateProduct: Codeunit "Shpfy Create Product"; ShopCode: Code[20]; CurrItemNo: Code[20]; @@ -185,6 +189,7 @@ report 30106 "Shpfy Add Item to Shopify" MissingSKUMappingErr: Label 'You selected Business Central Fullment Services as default location. Inventory is stocked at Business Central Fulfilment Services for created products. This setting requires SKU field in the products.'; ChangeDefaultLocationLbl: Label 'Change default location'; ChangeSKUMappingLbl: Label 'Change SKU mapping'; + ItemIsBlockedLbl: Label 'Item is blocked or sales blocked.'; /// /// Set Shop. diff --git a/Apps/W1/Shopify/app/src/Shipping/Codeunits/ShpfyShippingMethods.Codeunit.al b/Apps/W1/Shopify/app/src/Shipping/Codeunits/ShpfyShippingMethods.Codeunit.al index 70cfe1e014..b491119a7a 100644 --- a/Apps/W1/Shopify/app/src/Shipping/Codeunits/ShpfyShippingMethods.Codeunit.al +++ b/Apps/W1/Shopify/app/src/Shipping/Codeunits/ShpfyShippingMethods.Codeunit.al @@ -17,37 +17,101 @@ codeunit 30193 "Shpfy Shipping Methods" /// Parameter of type Record "Shopify Shop". internal procedure GetShippingMethods(var ShopifyShop: Record "Shpfy Shop") var - ShipmentMethodMapping: Record "Shpfy Shipment Method Mapping"; Shop: Record "Shpfy Shop"; - JRates: JsonArray; - JZones: JsonArray; - JRate: JsonToken; + GraphQLType: Enum "Shpfy GraphQL Type"; + Parameters: Dictionary of [Text, Text]; + JDeliveryProfiles: JsonArray; + JDeliveryProfile: JsonToken; JResponse: JsonToken; - JZone: JsonToken; - Name: Text; begin if ShopifyShop.GetFilters = '' then begin Shop := ShopifyShop; Shop.SetRecFilter(); end else Shop.CopyFilters(ShopifyShop); - if Shop.FindSet(false) then begin + if Shop.FindFirst() then begin CommunicationMgt.SetShop(Shop); - JResponse := CommunicationMgt.ExecuteWebRequest(CommunicationMgt.CreateWebRequestURL('shipping_zones.json'), 'GET', JResponse); - if JsonHelper.GetJsonArray(JResponse, JZones, 'shipping_zones') then - foreach Jzone in JZones do - if JsonHelper.GetJsonArray(JZone, JRates, 'price_based_shipping_rates') then - foreach JRate in JRates do begin - Name := JsonHelper.GetValueAsText(JRate, 'name', MaxStrLen(ShipmentMethodMapping.Name)); - if Name <> '' then - if not ShipmentMethodMapping.Get(Shop.Code, Name) then begin - Clear(ShipmentMethodMapping); - ShipmentMethodMapping."Shop Code" := Shop.Code; - ShipmentMethodMapping.Name := CopyStr(Name, 1, MaxStrLen(ShipmentMethodMapping.Name)); - ShipmentMethodMapping.Insert(); - end; - end; + GraphQLType := GraphQLType::GetDeliveryProfiles; + repeat + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType, Parameters); + if JsonHelper.GetJsonArray(JResponse, JDeliveryProfiles, 'data.deliveryProfiles.edges') then + foreach JDeliveryProfile in JDeliveryProfiles do + GetProfileLocationGroups(JDeliveryProfile, Shop); + + if Parameters.ContainsKey('After') then + Parameters.Set('After', JsonHelper.GetValueAsText(JDeliveryProfile.AsObject(), 'cursor')) + else + Parameters.Add('After', JsonHelper.GetValueAsText(JDeliveryProfile.AsObject(), 'cursor')); + GraphQLType := GraphQLType::GetNextDeliveryProfiles; + until not JsonHelper.GetValueAsBoolean(JResponse, 'data.deliveryProfiles.pageInfo.hasNextPage'); end; end; + local procedure GetProfileLocationGroups(JDeliveryProfile: JsonToken; Shop: Record "Shpfy Shop") + var + GraphQLType: Enum "Shpfy GraphQL Type"; + DeliveryProfileId: BigInteger; + Parameters: Dictionary of [Text, Text]; + JProfileLocationGroups: JsonArray; + JProfileLocationGroup: JsonToken; + JResponse: JsonToken; + begin + DeliveryProfileId := CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JDeliveryProfile.AsObject(), 'node.id')); + Parameters.Add('DeliveryProfileId', Format(DeliveryProfileId)); + GraphQLType := GraphQLType::GetLocationGroups; + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType, Parameters); + if JsonHelper.GetJsonArray(JResponse, JProfileLocationGroups, 'data.deliveryProfile.profileLocationGroups') then + foreach JProfileLocationGroup in JProfileLocationGroups do + GetDeliveryMethods(CommunicationMgt.GetIdOfGId(JsonHelper.GetValueAsText(JProfileLocationGroup.AsObject(), 'locationGroup.id')), DeliveryProfileId, Shop); + end; + + local procedure GetDeliveryMethods(ProfileLocationGroupId: BigInteger; DeliveryProfileId: BigInteger; Shop: Record "Shpfy Shop") + var + ShipmentMethodMapping: Record "Shpfy Shipment Method Mapping"; + GraphQLType: Enum "Shpfy GraphQL Type"; + Name: Text; + Active: Boolean; + Parameters: Dictionary of [Text, Text]; + JProfileLocationGroups: JsonArray; + JProfileLocationGroup: JsonToken; + JLocationGroupZones: JsonArray; + JLocationGroupZone: JsonToken; + JMethodDefinitions: JsonArray; + JMethodDefinition: JsonToken; + HasNextPage: Boolean; + JResponse: JsonToken; + begin + GraphQLType := GraphQLType::GetDeliveryMethods; + Parameters.Add('DeliveryProfileId', Format(DeliveryProfileId)); + Parameters.Add('DeliveryLocationGroupId', Format(ProfileLocationGroupId)); + repeat + JResponse := CommunicationMgt.ExecuteGraphQL(GraphQLType, Parameters); + if JsonHelper.GetJsonArray(JResponse, JProfileLocationGroups, 'data.deliveryProfile.profileLocationGroups') then + if JProfileLocationGroups.Count = 1 then begin + JProfileLocationGroups.Get(0, JProfileLocationGroup); + if JsonHelper.GetJsonArray(JProfileLocationGroup, JLocationGroupZones, 'locationGroupZones.edges') then + if JLocationGroupZones.Count > 0 then begin + foreach JLocationGroupZone in JLocationGroupZones do + if JsonHelper.GetJsonArray(JLocationGroupZone, JMethodDefinitions, 'node.methodDefinitions.edges') then + foreach JMethodDefinition in JMethodDefinitions do begin + Name := JsonHelper.GetValueAsText(JMethodDefinition, 'node.name', MaxStrLen(ShipmentMethodMapping.Name)); + Active := JsonHelper.GetValueAsBoolean(JMethodDefinition, 'node.active'); + if Active and (Name <> '') then + if not ShipmentMethodMapping.Get(Shop.Code, Name) then begin + Clear(ShipmentMethodMapping); + ShipmentMethodMapping."Shop Code" := Shop.Code; + ShipmentMethodMapping.Name := CopyStr(Name, 1, MaxStrLen(ShipmentMethodMapping.Name)); + ShipmentMethodMapping.Insert(); + end; + end; + if Parameters.ContainsKey('After') then + Parameters.Set('After', JsonHelper.GetValueAsText(JLocationGroupZone.AsObject(), 'cursor')) + else + Parameters.Add('After', JsonHelper.GetValueAsText(JLocationGroupZone.AsObject(), 'cursor')); + HasNextPage := JsonHelper.GetValueAsBoolean(JProfileLocationGroup, 'locationGroupZones.pageInfo.hasNextPage'); + end; + end; + GraphQLType := GraphQLType::GetNextDeliveryMethods; + until not HasNextPage; + end; } \ No newline at end of file diff --git a/Apps/W1/Shopify/test/Base/ShpfyTestShopify.Codeunit.al b/Apps/W1/Shopify/test/Base/ShpfyTestShopify.Codeunit.al index 62e9d863fa..1025f21acd 100644 --- a/Apps/W1/Shopify/test/Base/ShpfyTestShopify.Codeunit.al +++ b/Apps/W1/Shopify/test/Base/ShpfyTestShopify.Codeunit.al @@ -49,7 +49,6 @@ codeunit 139563 "Shpfy Test Shopify" MockAzureKeyvaultSecretProvider: DotNet MockAzureKeyVaultSecretProvider; begin MockAzureKeyvaultSecretProvider := MockAzureKeyvaultSecretProvider.MockAzureKeyVaultSecretProvider(); - MockAzureKeyvaultSecretProvider.AddSecretMapping('AllowedApplicationSecrets', 'ShopifyApiVersionExpiryDate'); MockAzureKeyvaultSecretProvider.AddSecretMapping('ShopifyApiVersionExpiryDate', '{"' + ApiVersion + '": "' + Format(CurrentDateTime().Date().Year, 0, 9) + '-' + Format(CurrentDateTime().Date().Month, 0, 9) + '-' + Format(CurrentDateTime().Date().Day, 0, 9) + '"}'); AzureKeyVaultTestLibrary.SetAzureKeyVaultSecretProvider(MockAzureKeyvaultSecretProvider); end; diff --git a/Apps/W1/Shopify/test/Logs/ShpfySkippedRecordLogTest.Codeunit.al b/Apps/W1/Shopify/test/Logs/ShpfySkippedRecordLogTest.Codeunit.al index 98ba52cb06..51a2586524 100644 --- a/Apps/W1/Shopify/test/Logs/ShpfySkippedRecordLogTest.Codeunit.al +++ b/Apps/W1/Shopify/test/Logs/ShpfySkippedRecordLogTest.Codeunit.al @@ -62,6 +62,64 @@ codeunit 139581 "Shpfy Skipped Record Log Test" LibraryAssert.AreEqual('Customer already exists with the same e-mail or phone.', SkippedRecord."Skipped Reason", 'Skipped reason is not as expected'); end; + [Test] + + [HandlerFunctions('AddItemToShopifyHandler')] + procedure UnitTestLogItemBlocked() + var + + Item: Record Item; + SkippedRecord: Record "Shpfy Skipped Record"; + AddItemToShopify: Report "Shpfy Add Item to Shopify"; + begin + // [SCENARIO] Log skipped record when item is blocked + Initialize(); + + // [GIVEN] An item record that is blocked + CreateBlockedItem(Item); + Commit(); + + // [WHEN] Run report Add Items to Shopify + Item.SetRange("No.", Item."No."); + AddItemToShopify.SetShop(Shop.Code); + AddItemToShopify.SetTableView(Item); + AddItemToShopify.Run(); + + // [THEN] Related record is created in shopify skipped record table + SkippedRecord.SetRange("Record ID", Item.RecordId); + LibraryAssert.IsTrue(SkippedRecord.FindFirst(), 'Skipped record is not created'); + LibraryAssert.AreEqual('Item is blocked or sales blocked.', SkippedRecord."Skipped Reason", 'Skipped reason is not as expected'); + end; + + [Test] + procedure UnitTestLogItemVariantBlocked() + var + Item: Record Item; + ItemVariant: Record "Item Variant"; + SkippedRecord: Record "Shpfy Skipped Record"; + TempShopifyProduct: Record "Shpfy Product" temporary; + TempShopifyVariant: Record "Shpfy Variant" temporary; + TempShopifyTag: Record "Shpfy Tag" temporary; + CreateProduct: Codeunit "Shpfy Create Product"; + begin + // [SCENARIO] Log skipped record when item variant is blocked + Initialize(); + + // [GIVEN] An item record and variant that is blocked + CreateBlockedItem(Item); + Item.Blocked := false; + Item.Modify(); + CreateBlockedItemVariant(Item, ItemVariant); + + // [WHEN] Invoke Create Product + CreateProduct.CreateTempProduct(Item, TempShopifyProduct, TempShopifyVariant, TempShopifyTag); + + // [THEN] Related record is created in shopify skipped record table. + SkippedRecord.SetRange("Record ID", ItemVariant.RecordId); + LibraryAssert.IsTrue(SkippedRecord.FindFirst(), 'Skipped record is not created'); + LibraryAssert.AreEqual('Item variant is blocked or sales blocked.', SkippedRecord."Skipped Reason", 'Skipped reason is not as expected'); + end; + [Test] procedure UnitTestLogProductItemBlocked() var @@ -334,7 +392,7 @@ codeunit 139581 "Shpfy Skipped Record Log Test" // [THEN] Related record is created in shopify skipped record table. SkippedRecord.SetRange("Record ID", SalesInvoiceHeader.RecordId); LibraryAssert.IsTrue(SkippedRecord.FindLast(), 'Skipped record is not created'); - LibraryAssert.AreEqual('Bill-to customer no. is the default customer no. for Shopify shop.', SkippedRecord."Skipped Reason", 'Skipped reason is not as expected'); + LibraryAssert.AreEqual(StrSubstNo('Bill-to customer no. %1 is the default customer no. in Shopify customer template for shop %2.', Customer."No.", ShopWithDefaultCustomerNo.Code), SkippedRecord."Skipped Reason", 'Skipped reason is not as expected'); end; [Test] @@ -763,6 +821,15 @@ codeunit 139581 "Shpfy Skipped Record Log Test" Item.Insert(false); end; + local procedure CreateBlockedItemVariant(Item: Record Item; var ItemVariant: Record "Item Variant") + begin + ItemVariant.Code := Any.AlphanumericText(10); + ItemVariant."Item No." := Item."No."; + ItemVariant.Blocked := true; + ItemVariant."Sales Blocked" := true; + ItemVariant.Insert(false); + end; + local procedure CreateShopifyCustomerWithRandomGuid(var ShopifyCustomer: Record "Shpfy Customer") var CustomerInitTest: Codeunit "Shpfy Customer Init Test"; @@ -827,4 +894,10 @@ codeunit 139581 "Shpfy Skipped Record Log Test" SyncShipmToShopify."Sales Shipment Header".SetFilter("No.", SalesShipmentNo); SyncShipmToShopify.OK().Invoke(); end; + + [RequestPageHandler] + procedure AddItemToShopifyHandler(var AddItemToShopify: TestRequestPage "Shpfy Add Item to Shopify") + begin + AddItemToShopify.OK().Invoke(); + end; } diff --git a/Apps/W1/Shopify/test/Products/ShpfyCreateItemAsVariantSub.Codeunit.al b/Apps/W1/Shopify/test/Products/ShpfyCreateItemAsVariantSub.Codeunit.al new file mode 100644 index 0000000000..e2ccc5f6d8 --- /dev/null +++ b/Apps/W1/Shopify/test/Products/ShpfyCreateItemAsVariantSub.Codeunit.al @@ -0,0 +1,134 @@ +codeunit 139627 "Shpfy CreateItemAsVariantSub" +{ + EventSubscriberInstance = Manual; + + var + GraphQueryTxt: Text; + NewVariantId: BigInteger; + DefaultVariantId: BigInteger; + MultipleOptions: Boolean; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Shpfy Communication Events", 'OnClientSend', '', true, false)] + local procedure OnClientSend(HttpRequestMessage: HttpRequestMessage; var HttpResponseMessage: HttpResponseMessage) + begin + MakeResponse(HttpRequestMessage, HttpResponseMessage); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Shpfy Communication Events", 'OnGetContent', '', true, false)] + local procedure OnGetContent(HttpResponseMessage: HttpResponseMessage; var Response: Text) + begin + HttpResponseMessage.Content.ReadAs(Response); + end; + + local procedure MakeResponse(HttpRequestMessage: HttpRequestMessage; var HttpResponseMessage: HttpResponseMessage) + var + Uri: Text; + GraphQlQuery: Text; + CreateItemVariantTok: Label '{"query":"mutation { productVariantCreate(input: {productId: \"gid://shopify/Product/', locked = true; + GetOptionsStartTok: Label '{"query":"{product(id: \"gid://shopify/Product/', locked = true; + GetOptionsEndTok: Label '\") {id title options {id name}}}"}', Locked = true; + RemoveVariantStartTok: Label '{"query":"mutation {productVariantDelete(id: \"gid://shopify/ProductVariant/', Locked = true; + RemoveVariantEndTok: Label '\") {deletedProductVariantId userErrors{field message}}}"}', Locked = true; + GetVariantsTok: Label 'variants(first:200){pageInfo{hasNextPage} edges{cursor node{legacyResourceId updatedAt}}}', Locked = true; + + GraphQLCmdTxt: Label '/graphql.json', Locked = true; + begin + case HttpRequestMessage.Method of + 'POST': + begin + Uri := HttpRequestMessage.GetRequestUri(); + if Uri.EndsWith(GraphQLCmdTxt) then + if HttpRequestMessage.Content.ReadAs(GraphQlQuery) then + case true of + GraphQlQuery.StartsWith(CreateItemVariantTok): + HttpResponseMessage := GetCreatedVariantResponse(); + GraphQlQuery.StartsWith(GetOptionsStartTok) and GraphQlQuery.EndsWith(GetOptionsEndTok): + if MultipleOptions then + HttpResponseMessage := GetProductMultipleOptionsResponse() + else + HttpResponseMessage := GetProductOptionsResponse(); + GraphQlQuery.StartsWith(RemoveVariantStartTok) and GraphQlQuery.EndsWith(RemoveVariantEndTok): + begin + HttpResponseMessage := GetRemoveVariantResponse(); + GraphQueryTxt := GraphQlQuery; + end; + GraphQlQuery.Contains(GetVariantsTok): + HttpResponseMessage := GetDefaultVariantResponse(); + end; + end; + end; + end; + + local procedure GetCreatedVariantResponse(): HttpResponseMessage; + var + Any: Codeunit Any; + HttpResponseMessage: HttpResponseMessage; + BodyTxt: Text; + begin + Any.SetDefaultSeed(); + NewVariantId := Any.IntegerInRange(100000, 999999); + BodyTxt := StrSubstNo('{ "data": { "productVariantCreate": { "legacyResourceId": %1 } } }', NewVariantId); + HttpResponseMessage.Content.WriteFrom(BodyTxt); + exit(HttpResponseMessage); + end; + + local procedure GetProductOptionsResponse(): HttpResponseMessage + var + HttpResponseMessage: HttpResponseMessage; + BodyTxt: Text; + begin + BodyTxt := '{"data": {"product": {"id": "gid://shopify/Product/123456", "title": "Product 1", "options": [{"id": "gid://shopify/ProductOption/1", "name": "Option 1"}]}}}'; + HttpResponseMessage.Content.WriteFrom(BodyTxt); + exit(HttpResponseMessage); + end; + + local procedure GetRemoveVariantResponse(): HttpResponseMessage + var + HttpResponseMessage: HttpResponseMessage; + BodyTxt: Text; + begin + BodyTxt := '{}'; + HttpResponseMessage.Content.WriteFrom(BodyTxt); + exit(HttpResponseMessage); + end; + + local procedure GetProductMultipleOptionsResponse(): HttpResponseMessage + var + HttpResponseMessage: HttpResponseMessage; + BodyTxt: Text; + begin + BodyTxt := '{"data": {"product": {"id": "gid://shopify/Product/123456", "title": "Product 1", "options": [{"id": "gid://shopify/ProductOption/1", "name": "Option 1"}, {"id": "gid://shopify/ProductOption/2", "name": "Option 2"}]}}}'; + HttpResponseMessage.Content.WriteFrom(BodyTxt); + exit(HttpResponseMessage); + end; + + local procedure GetDefaultVariantResponse(): HttpResponseMessage + var + HttpResponseMessage: HttpResponseMessage; + BodyTxt: Text; + begin + BodyTxt := StrSubstNo('{ "data" : { "product" : { "variants" : { "edges" : [ { "node" : { "legacyResourceId" : %1 } } ] } } } }', DefaultVariantId); + HttpResponseMessage.Content.WriteFrom(BodyTxt); + exit(HttpResponseMessage); + end; + + procedure GetNewVariantId(): BigInteger + begin + exit(NewVariantId); + end; + + procedure GetGraphQueryTxt(): Text + begin + exit(GraphQueryTxt); + end; + + procedure SetMultipleOptions(NewMultipleOptions: Boolean) + begin + this.MultipleOptions := NewMultipleOptions; + end; + + procedure SetDefaultVariantId(NewDefaultVariantId: BigInteger) + begin + this.DefaultVariantId := NewDefaultVariantId; + end; +} \ No newline at end of file diff --git a/Apps/W1/Shopify/test/Products/ShpfyCreateItemVariantTest.Codeunit.al b/Apps/W1/Shopify/test/Products/ShpfyCreateItemVariantTest.Codeunit.al new file mode 100644 index 0000000000..6da9369962 --- /dev/null +++ b/Apps/W1/Shopify/test/Products/ShpfyCreateItemVariantTest.Codeunit.al @@ -0,0 +1,206 @@ +codeunit 139632 "Shpfy Create Item Variant Test" +{ + Subtype = Test; + TestPermissions = Disabled; + + var + Shop: Record "Shpfy Shop"; + Any: Codeunit Any; + LibraryAssert: Codeunit "Library Assert"; + ShpfyInitializeTest: Codeunit "Shpfy Initialize Test"; + IsInitialized: Boolean; + + trigger OnRun() + begin + IsInitialized := false; + end; + + [Test] + procedure UnitTestCreateVariantFromItem() + var + Item: Record "Item"; + ShpfyVariant: Record "Shpfy Variant"; + ShpfyProduct: Record "Shpfy Product"; + ShpfyProductInitTest: Codeunit "Shpfy Product Init Test"; + CreateItemAsVariant: Codeunit "Shpfy Create Item As Variant"; + CreateItemAsVariantSub: Codeunit "Shpfy CreateItemAsVariantSub"; + ParentProductId: BigInteger; + VariantId: BigInteger; + begin + // [SCENARIO] Create a variant from a given item + Initialize(); + + // [GIVEN] Item + Item := ShpfyProductInitTest.CreateItem(Shop."Item Templ. Code", Any.DecimalInRange(10, 100, 2), Any.DecimalInRange(100, 500, 2)); + // [GIVEN] Shopify product + ParentProductId := CreateShopifyProduct(Item.SystemId); + + // [WHEN] Invoke CreateItemAsVariant.CreateVariantFromItem + BindSubscription(CreateItemAsVariantSub); + CreateItemAsVariant.SetParentProduct(ParentProductId); + CreateItemAsVariant.CreateVariantFromItem(Item); + VariantId := CreateItemAsVariantSub.GetNewVariantId(); + UnbindSubscription(CreateItemAsVariantSub); + + // [THEN] Variant is created + LibraryAssert.IsTrue(ShpfyVariant.Get(VariantId), 'Variant not created'); + LibraryAssert.AreEqual(Item."No.", ShpfyVariant.Title, 'Title not set'); + LibraryAssert.AreEqual(Item."No.", ShpfyVariant."Option 1 Value", 'Option 1 Value not set'); + LibraryAssert.AreEqual('Variant', ShpfyVariant."Option 1 Name", 'Option 1 Name not set'); + LibraryAssert.AreEqual(ParentProductId, ShpfyVariant."Product Id", 'Parent product not set'); + LibraryAssert.IsTrue(ShpfyProduct.Get(ParentProductId), 'Parent product not found'); + LibraryAssert.IsTrue(ShpfyProduct."Has Variants", 'Has Variants not set'); + end; + + [Test] + procedure UnitTestGetProductOptions() + var + Item: Record "Item"; + ShpfyProductInitTest: Codeunit "Shpfy Product Init Test"; + ProductAPI: Codeunit "Shpfy Product API"; + CreateItemAsVariantSub: Codeunit "Shpfy CreateItemAsVariantSub"; + ProductId: BigInteger; + Options: Dictionary of [Text, Text]; + begin + // [SCENARIO] Get product options for a given shopify product + Initialize(); + + // [GIVEN] Item + Item := ShpfyProductInitTest.CreateItem(Shop."Item Templ. Code", Any.DecimalInRange(10, 100, 2), Any.DecimalInRange(100, 500, 2)); + // [GIVEN] Shopify product + ProductId := Any.IntegerInRange(10000, 99999); + + // [WHEN] Invoke ProductAPI.GetProductOptions + BindSubscription(CreateItemAsVariantSub); + Options := ProductAPI.GetProductOptions(ProductId); + UnbindSubscription(CreateItemAsVariantSub); + + // [THEN] Options are returned + LibraryAssert.AreEqual(1, Options.Count(), 'Options not returned'); + end; + + [Test] + procedure UnitTestDeleteProductVariant() + var + CreateItemAsVariantSub: Codeunit "Shpfy CreateItemAsVariantSub"; + VariantAPI: Codeunit "Shpfy Variant API"; + VariantId: BigInteger; + ActualQueryTxt: Text; + begin + // [SCENARIO] Delete a product variant + Initialize(); + + // [GIVEN] Shopify Variant Id + VariantId := Any.IntegerInRange(10000, 99999); + + // [WHEN] Invoke ProductAPI.DeleteProductVariant + BindSubscription(CreateItemAsVariantSub); + VariantAPI.DeleteProductVariant(VariantId); + ActualQueryTxt := CreateItemAsVariantSub.GetGraphQueryTxt(); + UnbindSubscription(CreateItemAsVariantSub); + + // [THEN] Query is correct + LibraryAssert.IsTrue(ActualQueryTxt.Contains('{"query":"mutation {productVariantDelete('), 'Query not correct'); + LibraryAssert.IsTrue(ActualQueryTxt.Contains(StrSubstNo('id: \"gid://shopify/ProductVariant/%1\"', VariantId)), 'Variant Id not set'); + end; + + [Test] + procedure UnitTestCreateVariantFromProductWithMultipleOptions() + var + Item: Record "Item"; + ShpfyProductInitTest: Codeunit "Shpfy Product Init Test"; + CreateItemAsVariant: Codeunit "Shpfy Create Item As Variant"; + CreateItemAsVariantSub: Codeunit "Shpfy CreateItemAsVariantSub"; + ProductId: BigInteger; + begin + // [SCENARIO] Create a variant from a product with multiple options + Initialize(); + + // [GIVEN] Item + Item := ShpfyProductInitTest.CreateItem(Shop."Item Templ. Code", Any.DecimalInRange(10, 100, 2), Any.DecimalInRange(100, 500, 2)); + // [GIVEN] Shopify product + ProductId := CreateShopifyProduct(Item.SystemId); + + // [GIVEN] Multiple options for the product in Shopify + CreateItemAsVariantSub.SetMultipleOptions(true); + + // [WHEN] Invoke ProductAPI.CheckProductAndShopSettings + BindSubscription(CreateItemAsVariantSub); + CreateItemAsVariant.SetParentProduct(ProductId); + asserterror CreateItemAsVariant.CheckProductAndShopSettings(); + UnbindSubscription(CreateItemAsVariantSub); + + // [THEN] Error is thrown + LibraryAssert.ExpectedError('The product has more than one option. Items cannot be added as variants to a product with multiple options.'); + end; + + [Test] + procedure UnitTestRemoveDefaultVariantTest() + var + Item: Record Item; + ShpfyVariant: Record "Shpfy Variant"; + ShpfyProductInitTest: Codeunit "Shpfy Product Init Test"; + CreateItemAsVariant: Codeunit "Shpfy Create Item As Variant"; + CreateItemAsVariantSub: Codeunit "Shpfy CreateItemAsVariantSub"; + ProductId, VariantId : BigInteger; + begin + // [SCENARIO] Remove default variant + Initialize(); + + // [GIVEN] Item + Item := ShpfyProductInitTest.CreateItem(Shop."Item Templ. Code", Any.DecimalInRange(10, 100, 2), Any.DecimalInRange(100, 500, 2)); + // [GIVEN] Shopify product + ProductId := CreateShopifyProduct(Item.SystemId); + // [GIVEN] Shopify variant + VariantId := CreateShopifyVariant(ProductId); + // [GIVEN] Default variant exists in Shopify + CreateItemAsVariantSub.SetDefaultVariantId(VariantId); + + // [WHEN] Invoke CreateItemAsVariant.RemoveDefaultVariant + BindSubscription(CreateItemAsVariantSub); + CreateItemAsVariant.SetParentProduct(ProductId); + CreateItemAsVariant.FindDefaultVariantId(); + CreateItemAsVariant.CreateVariantFromItem(Item); + CreateItemAsVariant.RemoveDefaultVariant(); + UnbindSubscription(CreateItemAsVariantSub); + + // [THEN] Default variant is removed + ShpfyVariant.SetRange(Id, VariantId); + LibraryAssert.IsTrue(ShpfyVariant.IsEmpty(), 'Default variant not removed'); + + end; + + local procedure Initialize() + begin + Any.SetDefaultSeed(); + if IsInitialized then + exit; + Shop := ShpfyInitializeTest.CreateShop(); + Commit(); + IsInitialized := true; + end; + + local procedure CreateShopifyProduct(SystemId: Guid): BigInteger + var + ShopifyProduct: Record "Shpfy Product"; + begin + ShopifyProduct.Init(); + ShopifyProduct.Id := Any.IntegerInRange(10000, 99999); + ShopifyProduct."Shop Code" := Shop."Code"; + ShopifyProduct."Item SystemId" := SystemId; + ShopifyProduct.Insert(true); + exit(ShopifyProduct."Id"); + end; + + local procedure CreateShopifyVariant(ProductId: BigInteger): BigInteger + var + ShpfyVariant: Record "Shpfy Variant"; + begin + ShpfyVariant.Init(); + ShpfyVariant.Id := Any.IntegerInRange(10000, 99999); + ShpfyVariant."Shop Code" := Shop."Code"; + ShpfyVariant."Product Id" := ProductId; + ShpfyVariant.Insert(false); + exit(ShpfyVariant."Id"); + end; +} diff --git a/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al b/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al index fa1eb01e2a..a41eeea8c8 100644 --- a/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al +++ b/Apps/W1/StatisticalAccounts/app/src/StatAccSourceCodeSetup.TableExt.al @@ -7,6 +7,7 @@ tableextension 2630 StatAccSourceCodeSetup extends "Source Code Setup" { fields { +#if not CLEANSCHEMA26 #pragma warning disable PTE0022 field(50050; "Statistical Account Journal"; Code[10]) { @@ -17,7 +18,7 @@ tableextension 2630 StatAccSourceCodeSetup extends "Source Code Setup" ObsoleteTag = '26.0'; } #pragma warning restore PTE0022 - +#endif field(2630; "Stat. Account Journal"; Code[10]) { Caption = 'Statistical Account Journal'; diff --git a/Apps/W1/SubscriptionBilling/App/Base/Codeunits/ContractsItemManagement.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Base/Codeunits/ContractsItemManagement.Codeunit.al index 68672bce79..b70b7253d1 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Codeunits/ContractsItemManagement.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Codeunits/ContractsItemManagement.Codeunit.al @@ -2,6 +2,7 @@ namespace Microsoft.SubscriptionBilling; using Microsoft.Sales.Document; using Microsoft.Purchases.Document; +using Microsoft.Purchases.Posting; using Microsoft.Pricing.Calculation; using Microsoft.Pricing.PriceList; using Microsoft.Inventory.Item; @@ -46,13 +47,31 @@ codeunit 8055 "Contracts Item Management" local procedure PurchaseLineOnBeforeValidateEvent(var Rec: Record "Purchase Line") begin if Rec.Type = Rec.Type::Item then begin - if (not Rec.IsLineAttachedToBillingLine()) then + if not Rec.IsLineAttachedToBillingLine() then PreventBillingItem(Rec."No."); - if not (Rec."Document Type" = Enum::"Purchase Document Type"::Order) and (not Rec.IsLineAttachedToBillingLine()) then + if not Rec.IsPurchaseInvoice() and not Rec.IsPurchaseOrderLineAttachedToBillingLine() then PreventServiceCommitmentItem(Rec."No."); end; end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", OnBeforePostPurchLine, '', false, false)] + local procedure OnBeforePostPurchLine(var PurchLine: Record "Purchase Line") + var + Item: Record Item; + LinkToContractRequiredErr: Label 'Service Commitment items and Invoicing items require a link to a contract line before they can be posted.'; + begin + if PurchLine."Document Type" <> Enum::"Purchase Document Type"::Invoice then + exit; + if PurchLine.Type <> PurchLine.Type::Item then + exit; + if PurchLine.IsLineAttachedToBillingLine() then + exit; + if not Item.Get(PurchLine."No.") then + exit; + if Item."Service Commitment Option" in ["Item Service Commitment Type"::"Invoicing Item", "Item Service Commitment Type"::"Service Commitment Item"] then + Error(LinkToContractRequiredErr); + end; + [EventSubscriber(ObjectType::Table, Database::"BOM Component", OnBeforeValidateEvent, "No.", false, false)] local procedure BOMComponentOnAfterValidateNo(var Rec: Record "BOM Component") begin @@ -148,6 +167,11 @@ codeunit 8055 "Contracts Item Management" end; internal procedure CreateTempSalesLine(var TempSalesLine: Record "Sales Line" temporary; var TempSalesHeader: Record "Sales Header" temporary; ItemNo: Code[20]; Quantity: Decimal; OrderDate: Date) + begin + CreateTempSalesLine(TempSalesLine, TempSalesHeader, ItemNo, Quantity, OrderDate, ''); + end; + + internal procedure CreateTempSalesLine(var TempSalesLine: Record "Sales Line" temporary; var TempSalesHeader: Record "Sales Header" temporary; ItemNo: Code[20]; Quantity: Decimal; OrderDate: Date; VariantCode: Code[10]) begin TempSalesLine.Init(); TempSalesLine.SetHideValidationDialog(true); @@ -162,6 +186,7 @@ codeunit 8055 "Contracts Item Management" TempSalesLine."No." := ItemNo; TempSalesLine.Quantity := Quantity; TempSalesLine."Currency Code" := TempSalesHeader."Currency Code"; + TempSalesLine."Variant Code" := VariantCode; if OrderDate <> 0D then TempSalesLine."Posting Date" := OrderDate; //Field is empty in the temp table and affects whether the correct sales price will be picked. Field has to be forced either it will use WorkDate diff --git a/Apps/W1/SubscriptionBilling/App/Base/Codeunits/SubBillingActivitiesCue.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Base/Codeunits/SubBillingActivitiesCue.Codeunit.al index 9d5f7796a9..ffe7db3753 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Codeunits/SubBillingActivitiesCue.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Codeunits/SubBillingActivitiesCue.Codeunit.al @@ -7,6 +7,84 @@ using Microsoft.Projects.Project.Job; codeunit 8071 "Sub. Billing Activities Cue" { Access = Internal; + Permissions = tabledata "Subscription Billing Cue" = r; + + var + Results: Dictionary of [Text, Text]; + + trigger OnRun() + var + Parameters: Dictionary of [Text, Text]; + begin + Parameters := Page.GetBackgroundParameters(); + + CalculateFieldValues(Parameters, Results); + + Page.SetBackgroundTaskResult(Results); + end; + + procedure CalculateFieldValues(Parameters: Dictionary of [Text, Text]; var ReturnResults: Dictionary of [Text, Text]) + var + SubscriptionBillingCue: Record "Subscription Billing Cue"; + begin + if SubscriptionBillingCue.Get() then; + CalculateCueFieldValues(SubscriptionBillingCue); + + ReturnResults.Add(SubscriptionBillingCue.FieldName("Revenue current Month"), Format(SubscriptionBillingCue."Revenue current Month", 0, '')); + ReturnResults.Add(SubscriptionBillingCue.FieldName("Cost current Month"), Format(SubscriptionBillingCue."Cost current Month", 0, '')); + ReturnResults.Add(SubscriptionBillingCue.FieldName("Revenue previous Month"), Format(SubscriptionBillingCue."Revenue previous Month", 0, '')); + ReturnResults.Add(SubscriptionBillingCue.FieldName("Cost previous Month"), Format(SubscriptionBillingCue."Cost previous Month", 0, '')); + ReturnResults.Add(SubscriptionBillingCue.FieldName(Overdue), Format(SubscriptionBillingCue.Overdue)); + ReturnResults.Add(SubscriptionBillingCue.FieldName("Last Updated On"), Format(SubscriptionBillingCue."Last Updated On", 0, 9)); + end; + + local procedure CalculateCueFieldValues(var SubscriptionBillingCue: Record "Subscription Billing Cue") + var + TemporaryOverdueServiceCommitments: Record "Overdue Service Commitments" temporary; + begin + SubscriptionBillingCue."Revenue current Month" := RevenueCurrentMonth(); + SubscriptionBillingCue."Cost current Month" := CostCurrentMonth(); + SubscriptionBillingCue."Revenue previous Month" := RevenuePreviousMonth(); + SubscriptionBillingCue."Cost previous Month" := CostPreviousMonth(); + SubscriptionBillingCue.Overdue := TemporaryOverdueServiceCommitments.CountOverdueServiceCommitments(); + SubscriptionBillingCue."Last Updated On" := CurrentDateTime(); + end; + + procedure EvaluateResults(var Results: Dictionary of [Text, Text]; var SubscriptionBillingCue: Record "Subscription Billing Cue") + var + ResultValue: Text; + begin + if Results.Count() = 0 then + exit; + + if TryGetDictionaryValue(Results, SubscriptionBillingCue.FieldName("Revenue current Month"), ResultValue) then + Evaluate(SubscriptionBillingCue."Revenue current Month", ResultValue); + if TryGetDictionaryValue(Results, SubscriptionBillingCue.FieldName("Cost current Month"), ResultValue) then + Evaluate(SubscriptionBillingCue."Cost current Month", ResultValue, 9); + if TryGetDictionaryValue(Results, SubscriptionBillingCue.FieldName("Revenue previous Month"), ResultValue) then + Evaluate(SubscriptionBillingCue."Revenue previous Month", ResultValue); + if TryGetDictionaryValue(Results, SubscriptionBillingCue.FieldName("Cost previous Month"), ResultValue) then + Evaluate(SubscriptionBillingCue."Cost previous Month", ResultValue); + if TryGetDictionaryValue(Results, SubscriptionBillingCue.FieldName(Overdue), ResultValue) then + Evaluate(SubscriptionBillingCue.Overdue, ResultValue); + if TryGetDictionaryValue(Results, SubscriptionBillingCue.FieldName("Last Updated On"), ResultValue) then + Evaluate(SubscriptionBillingCue."Last Updated On", ResultValue, 9); + end; + + [TryFunction] + local procedure TryGetDictionaryValue(var Results: Dictionary of [Text, Text]; DictionaryKey: Text; var ReturnValue: Text) + begin + ReturnValue := Results.Get(DictionaryKey); + end; + + internal procedure DrillDownOverdueServiceCommitments() + var + TemporaryOverdueServiceCommitments: Record "Overdue Service Commitments" temporary; + begin + TemporaryOverdueServiceCommitments.FillOverdueServiceCommitments(); + Page.Run(Page::"Overdue Service Commitments", TemporaryOverdueServiceCommitments); + end; + procedure GetMyJobsFilter() FilterText: Text var MyJobs: Record "My Job"; diff --git a/Apps/W1/SubscriptionBilling/App/Base/Codeunits/UpgradeSubscriptionBillling.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Base/Codeunits/UpgradeSubscriptionBillling.Codeunit.al new file mode 100644 index 0000000000..9ff1c56a42 --- /dev/null +++ b/Apps/W1/SubscriptionBilling/App/Base/Codeunits/UpgradeSubscriptionBillling.Codeunit.al @@ -0,0 +1,62 @@ +namespace Microsoft.SubscriptionBilling; + +using System.Upgrade; + +codeunit 8032 "Upgrade Subscription Billling" +{ + Access = Internal; + Subtype = Upgrade; + + trigger OnUpgradePerDatabase() + begin + end; + + trigger OnUpgradePerCompany() + begin + UpdateClosedFlagForServiceCommitments(); + end; + + local procedure UpdateClosedFlagForServiceCommitments() + var + CustomerContractLine: Record "Customer Contract Line"; + VendorContractLine: Record "Vendor Contract Line"; + ServiceCommitment: Record "Service Commitment"; + UpgradeTag: Codeunit "Upgrade Tag"; + begin + if UpgradeTag.HasUpgradeTag(GetClosedFlagUpgradeTag()) then + exit; + + CustomerContractLine.SetLoadFields(Closed); + CustomerContractLine.SetRange(Closed, true); + if CustomerContractLine.FindSet() then + repeat + if ServiceCommitment.Get(CustomerContractLine."Service Commitment Entry No.") then begin + ServiceCommitment.Closed := CustomerContractLine.Closed; + ServiceCommitment.Modify(false); + end; + until CustomerContractLine.Next() = 0; + + VendorContractLine.SetLoadFields(Closed); + VendorContractLine.SetRange(Closed, true); + if VendorContractLine.FindSet() then + repeat + if ServiceCommitment.Get(VendorContractLine."Service Commitment Entry No.") then begin + ServiceCommitment.Closed := VendorContractLine.Closed; + ServiceCommitment.Modify(false); + end; + until VendorContractLine.Next() = 0; + + UpgradeTag.SetUpgradeTag(GetClosedFlagUpgradeTag()); + end; + + internal procedure GetClosedFlagUpgradeTag(): Code[250] + begin + exit('MS-XXXXXX-ClosedFlagUpgradeTag-20241110'); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)] + local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]]) + begin + PerCompanyUpgradeTags.Add(GetClosedFlagUpgradeTag()); + end; +} diff --git a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralLedgerSetup.PageExt.al b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralLedgerSetup.PageExt.al index 8796e7ea2c..993eea71e3 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralLedgerSetup.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralLedgerSetup.PageExt.al @@ -11,7 +11,7 @@ pageextension 8053 "General Ledger Setup" extends "General Ledger Setup" field("Dimension Code Cust. Contr."; Rec."Dimension Code Cust. Contr.") { ApplicationArea = All; - ToolTip = 'Specifies the value of the Dim. Code for Cust. Contr. field.'; + ToolTip = 'Specifies the Dimension Code that is used for Customer Contracts.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetup.PageExt.al b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetup.PageExt.al index 0953b28ffa..7d0def8dc0 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetup.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetup.PageExt.al @@ -12,26 +12,26 @@ pageextension 8070 "General Posting Setup" extends "General Posting Setup" { ApplicationArea = All; Caption = 'Customer Contract Account'; - ToolTip = 'Specifies the G/L account to which the revenues from customer contracts are posted.'; + ToolTip = 'Specifies the G/L account to which customer contract revenue (Subscription Billing) is posted.'; } field(CustContrDeferralAccount; Rec."Cust. Contr. Deferral Account") { ApplicationArea = All; Caption = 'Customer Contract Deferral Account'; - ToolTip = 'Specifies the G/L account to which the revenue from customer contracts is accrued.'; + ToolTip = 'Specifies the G/L account to which customer contract revenue (Subscription Billing) is accrued.'; } field(VendorContractAccount; Rec."Vendor Contract Account") { ApplicationArea = All; Caption = 'Vendor Contract Account'; - ToolTip = 'Specifies the G/L account to which the revenues from vendor contracts are posted.'; + ToolTip = 'Specifies the G/L account to which vendor contract costs (Subscription Billing) are posted.'; } field(VendContrDeferralAccount; Rec."Vend. Contr. Deferral Account") { ApplicationArea = All; Caption = 'Vendor Contract Deferral Account'; - ToolTip = 'Specifies the G/L account to which the revenue from vendor contracts is accrued.'; + ToolTip = 'Specifies the G/L account to which vendor contract costs (Subscription Billing) are accrued.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetupCard.PageExt.al b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetupCard.PageExt.al index 3d911904e6..3307204421 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetupCard.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/GeneralPostingSetupCard.PageExt.al @@ -15,26 +15,26 @@ pageextension 8085 "General Posting Setup Card" extends "General Posting Setup C { ApplicationArea = All; Caption = 'Customer Contract Account'; - ToolTip = 'Specifies the G/L account to which the revenues from customer contracts are posted.'; + ToolTip = 'Specifies the G/L account to which customer contract revenue (Subscription Billing) is posted.'; } field(CustContrDeferralAccount; Rec."Cust. Contr. Deferral Account") { ApplicationArea = All; Caption = 'Customer Contract Deferral Account'; - ToolTip = 'Specifies the G/L account to which the revenue from customer contracts is accrued.'; + ToolTip = 'Specifies the G/L account to which customer contract revenue (Subscription Billing) is accrued.'; } field(VendorContractAccount; Rec."Vendor Contract Account") { ApplicationArea = All; Caption = 'Vendor Contract Account'; - ToolTip = 'Specifies the G/L account to which the revenues from vendor contracts are posted.'; + ToolTip = 'Specifies the G/L account to which vendor contract costs (Subscription Billing) are posted.'; } field(VendContrDeferralAccount; Rec."Vend. Contr. Deferral Account") { ApplicationArea = All; Caption = 'Vendor Contract Deferral Account'; - ToolTip = 'Specifies the G/L account to which the revenue from vendor contracts is accrued.'; + ToolTip = 'Specifies the G/L account to which vendor contract costs (Subscription Billing) are accrued.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/SourceCodeSetup.PageExt.al b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/SourceCodeSetup.PageExt.al index 03064e591c..db733dc87c 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/SourceCodeSetup.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Page Extensions/SourceCodeSetup.PageExt.al @@ -14,7 +14,7 @@ pageextension 8086 "Source Code Setup" extends "Source Code Setup" field(ContractDeferralsRelease; Rec."Contract Deferrals Release") { ApplicationArea = All; - ToolTip = 'Indicates which source code is used in the G/L when posting the release of contract deferrals.'; + ToolTip = 'Specifies which source code is used in the G/L when posting the release of contract deferrals (Subscription Billing).'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingActivities.Page.al b/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingActivities.Page.al index 2920994fe2..aac4939e0f 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingActivities.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingActivities.Page.al @@ -44,7 +44,7 @@ page 8085 "Sub. Billing Activities" field("Jobs Over Budget"; Rec."Jobs Over Budget") { Caption = 'Over Budget'; - DrillDownPageID = "Job List"; + DrillDownPageId = "Job List"; Editable = false; ToolTip = 'Specifies the number of projects where the usage cost exceeds the budgeted cost.'; } @@ -56,14 +56,14 @@ page 8085 "Sub. Billing Activities" field("Customer Contract Invoices"; Rec."Customer Contract Invoices") { Caption = 'Contract Invoices'; - DrillDownPageID = "Sales Invoice List"; + DrillDownPageId = "Sales Invoice List"; Editable = false; ToolTip = 'Shows Open Customer Contract Invoices.'; } field("Customer Contract Credit Memos"; Rec."Customer Contract Credit Memos") { Caption = 'Contract Credit Memos'; - DrillDownPageID = "Sales Credit Memos"; + DrillDownPageId = "Sales Credit Memos"; Editable = false; ToolTip = 'Shows Open Customer Contract Credit Memos.'; } @@ -74,14 +74,14 @@ page 8085 "Sub. Billing Activities" field("Vendor Contract Invoices"; Rec."Vendor Contract Invoices") { Caption = 'Contract Invoices'; - DrillDownPageID = "Purchase Invoices"; + DrillDownPageId = "Purchase Invoices"; Editable = false; ToolTip = 'Shows Open Vendor Contract Invoices.'; } field("Vendor Contract Credit Memos"; Rec."Vendor Contract Credit Memos") { Caption = 'Contract Credit Memos'; - DrillDownPageID = "Purchase Credit Memos"; + DrillDownPageId = "Purchase Credit Memos"; Editable = false; ToolTip = 'Shows Open Vendor Contract Credit Memos.'; } @@ -92,14 +92,14 @@ page 8085 "Sub. Billing Activities" field("Serv. Comm. wo Cust. Contract"; Rec."Serv. Comm. wo Cust. Contract") { Caption = 'Customer'; - DrillDownPageID = "Serv. Comm. WO Cust. Contract"; + DrillDownPageId = "Serv. Comm. WO Cust. Contract"; Editable = false; ToolTip = 'Shows Service Commitments without Customer Contract.'; } field("Serv. Comm. wo Vend. Contract"; Rec."Serv. Comm. wo Vend. Contract") { Caption = 'Vendor'; - DrillDownPageID = "Serv. Comm. WO Vend. Contract"; + DrillDownPageId = "Serv. Comm. WO Vend. Contract"; Editable = false; ToolTip = 'Shows Service Commitments without Vendor Contract.'; } @@ -112,14 +112,13 @@ page 8085 "Sub. Billing Activities" Editable = false; ToolTip = 'Shows overdue Service Commitments.'; trigger OnDrillDown() - var begin - Page.Run(Page::"Overdue Service Commitments", TempOverdueServiceCommitments); + SubBillingActivitiesCue.DrillDownOverdueServiceCommitments(); end; } field("Not Invoiced"; Rec."Not Invoiced") { - DrillDownPageID = "Billing Lines"; + DrillDownPageId = "Billing Lines"; Editable = false; ToolTip = 'Shows Billing Lines for Service Commitments that have not been called into Posting Documents, yet.'; } @@ -181,22 +180,29 @@ page 8085 "Sub. Billing Activities" trigger OnAction() begin SetMyJobsFilter(); - RefreshRoleCenter(); + CurrPage.Update(); end; } } } + trigger OnAfterGetCurrRecord() + var + TaskParameters: Dictionary of [Text, Text]; + begin + if CalcTaskId <> 0 then + if CurrPage.CancelBackgroundTask(CalcTaskId) then; + CurrPage.EnqueueBackgroundTask(CalcTaskId, Codeunit::"Sub. Billing Activities Cue", TaskParameters, 120000, PageBackgroundTaskErrorLevel::Warning); + end; + trigger OnAfterGetRecord() var ServiceContractSetup: Record "Service Contract Setup"; begin - if not ServiceContractSetup.get() then begin + if not ServiceContractSetup.Get() then begin ServiceContractSetup.Init(); ServiceContractSetup.Insert(); end; - - CalculateCueFieldValues(); end; trigger OnOpenPage() @@ -213,33 +219,31 @@ page 8085 "Sub. Billing Activities" RoleCenterNotificationMgt.ShowNotifications(); end; - local procedure SetMyJobsFilter() + trigger OnPageBackgroundTaskCompleted(TaskId: Integer; Results: Dictionary of [Text, Text]) begin - Rec.SetFilter("Job No. Filter", SubBillingActivitiesCue.GetMyJobsFilter()); - end; + if TaskId <> CalcTaskId then + exit; + + CalcTaskId := 0; + + Rec.Get(); + SubBillingActivitiesCue.EvaluateResults(Results, Rec); + + if Rec.WritePermission then + if Rec.Modify() then + Commit(); - local procedure RefreshRoleCenter() - begin CurrPage.Update(); end; - local procedure CalculateCueFieldValues() + local procedure SetMyJobsFilter() begin - if Rec.FieldActive("Revenue current Month") then - Rec."Revenue current Month" := SubBillingActivitiesCue.RevenueCurrentMonth(); - if Rec.FieldActive("Cost current Month") then - Rec."Cost current Month" := SubBillingActivitiesCue.CostCurrentMonth(); - if Rec.FieldActive("Revenue previous Month") then - Rec."Revenue previous Month" := SubBillingActivitiesCue.RevenuePreviousMonth(); - if Rec.FieldActive("Cost previous Month") then - Rec."Cost previous Month" := SubBillingActivitiesCue.CostPreviousMonth(); - if Rec.FieldActive(Overdue) then - Rec.Overdue := TempOverdueServiceCommitments.FillAndCountOverdueServiceCommitments(); + Rec.SetFilter("Job No. Filter", SubBillingActivitiesCue.GetMyJobsFilter()); end; var - TempOverdueServiceCommitments: Record "Overdue Service Commitments" temporary; SubBillingActivitiesCue: Codeunit "Sub. Billing Activities Cue"; CuesAndKpisCodeunit: Codeunit "Cues And KPIs"; UserTaskManagement: Codeunit "User Task Management"; + CalcTaskId: Integer; } diff --git a/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingRoleCenter.Page.al b/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingRoleCenter.Page.al index bd1e4693a9..896acceb24 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingRoleCenter.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Pages/SubBillingRoleCenter.Page.al @@ -57,34 +57,34 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Sales Invoices'; Image = Invoice; - RunObject = Page "Sales Invoice List"; + RunObject = page "Sales Invoice List"; ToolTip = 'Register your sales to customers and invite them to pay according to the delivery and payment terms by sending them a sales invoice document. Posting a sales invoice registers shipment and records an open receivable entry on the customer''s account, which will be closed when payment is received. To manage the shipment process, use sales orders, in which sales invoicing is integrated.'; } action(SalesCreditMemos) { Caption = 'Sales Credit Memos'; - RunObject = Page "Sales Credit Memos"; + RunObject = page "Sales Credit Memos"; ToolTip = 'Revert the financial transactions involved when your customers want to cancel a purchase or return incorrect or damaged items that you sent to them and received payment for. To include the correct information, you can create the sales credit memo from the related posted sales invoice or you can create a new sales credit memo with copied invoice information. If you need more control of the sales return process, such as warehouse documents for the physical handling, use sales return orders, in which sales credit memos are integrated. Note: If an erroneous sale has not been paid yet, you can simply cancel the posted sales invoice to automatically revert the financial transaction.'; } action(PurchaseOrders) { ApplicationArea = Suite; Caption = 'Purchase Orders'; - RunObject = Page "Purchase Order List"; + RunObject = page "Purchase Order List"; ToolTip = 'Create purchase orders to mirror sales documents that vendors send to you. This enables you to record the cost of purchases and to track accounts payable. Posting purchase orders dynamically updates inventory levels so that you can minimize inventory costs and provide better customer service. Purchase orders allow partial receipts, unlike with purchase invoices, and enable drop shipment directly from your vendor to your customer. Purchase orders can be created automatically from PDF or image files from your vendors by using the Incoming Documents feature.'; } action(PurchaseInvoices) { ApplicationArea = Suite; Caption = 'Purchase Invoices'; - RunObject = Page "Purchase Invoices"; + RunObject = page "Purchase Invoices"; ToolTip = 'Create purchase invoices to mirror sales documents that vendors send to you. This enables you to record the cost of purchases and to track accounts payable. Posting purchase invoices dynamically updates inventory levels so that you can minimize inventory costs and provide better customer service. Purchase invoices can be created automatically from PDF or image files from your vendors by using the Incoming Documents feature.'; } action(PurchaseCreditMemos) { ApplicationArea = Suite; Caption = 'Purchase Credit Memos'; - RunObject = Page "Purchase Credit Memos"; + RunObject = page "Purchase Credit Memos"; ToolTip = 'Create purchase credit memos to mirror sales credit memos that vendors send to you for incorrect or damaged items that you have paid for and then returned to the vendor. If you need more control of the purchase return process, such as warehouse documents for the physical handling, use purchase return orders, in which purchase credit memos are integrated. Purchase credit memos can be created automatically from PDF or image files from your vendors by using the Incoming Documents feature. Note: If you have not yet paid for an erroneous purchase, you can simply cancel the posted purchase invoice to automatically revert the financial transaction.'; } } @@ -134,7 +134,7 @@ page 8084 "Sub. Billing Role Center" Visible = false; Caption = 'Projects'; Image = Job; - RunObject = Page "Job List"; + RunObject = page "Job List"; ToolTip = 'Define a project activity by creating a project card with integrated project tasks and project planning lines, structured in two layers. The project task enables you to set up project planning lines and to post consumption to the project. The project planning lines specify the detailed use of resources, items, and various general ledger expenses.'; } action(Open) @@ -144,7 +144,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Open'; - RunObject = Page "Job List"; + RunObject = page "Job List"; RunPageView = where(Status = filter(Open)); ToolTip = 'Open the card for the selected record.'; } @@ -155,7 +155,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Planned and Quoted'; - RunObject = Page "Job List"; + RunObject = page "Job List"; RunPageView = where(Status = filter(Quote | Planning)); ToolTip = 'Open the list of all planned and quoted projects.'; } @@ -166,7 +166,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Completed'; - RunObject = Page "Job List"; + RunObject = page "Job List"; RunPageView = where(Status = filter(Completed)); ToolTip = 'Open the list of all completed projects.'; } @@ -177,7 +177,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Unassigned'; - RunObject = Page "Job List"; + RunObject = page "Job List"; RunPageView = where("Person Responsible" = filter('')); ToolTip = 'Open the list of all unassigned projects.'; } @@ -189,7 +189,7 @@ page 8084 "Sub. Billing Role Center" Visible = false; ApplicationArea = Suite; Caption = 'Project Tasks'; - RunObject = Page "Job Task List"; + RunObject = page "Job Task List"; ToolTip = 'Open the list of ongoing project tasks. Project tasks represent the actual work that is performed in a project, and they enable you to set up project planning lines and to post consumption to the project.'; } action(JobRegister) @@ -200,7 +200,7 @@ page 8084 "Sub. Billing Role Center" Visible = false; Caption = 'Project Registers'; Image = JobRegisters; - RunObject = Page "Job Registers"; + RunObject = page "Job Registers"; ToolTip = 'View auditing details for all project ledger entries. Every time an entry is posted, a register is created in which you can see the first and last number of its entries in order to document when entries were posted.'; } action(JobPlanningLines) @@ -210,7 +210,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Project Planning Lines'; - RunObject = Page "Job Planning Lines"; + RunObject = page "Job Planning Lines"; ToolTip = 'Open the list of ongoing project planning lines for the project. You use this window to plan what items, resources, and general ledger expenses that you expect to use on a project (budget) or you can specify what you actually agreed with your customer that he should pay for the project (billable).'; } action(JobJournals) @@ -220,7 +220,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Project Journals'; - RunObject = Page "Job Journal Batches"; + RunObject = page "Job Journal Batches"; RunPageView = where(Recurring = const(false)); ToolTip = 'Record project expenses or usage in the project ledger, either by reusing project planning lines or by manual entry.'; } @@ -231,7 +231,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Project G/L Journals'; - RunObject = Page "General Journal Batches"; + RunObject = page "General Journal Batches"; RunPageView = where("Template Type" = const(Jobs), Recurring = const(false)); ToolTip = 'Record project expenses or usage in project accounts in the general ledger. For expenses or usage of type G/L Account, use the project G/L journal instead of the project journal.'; @@ -243,7 +243,7 @@ page 8084 "Sub. Billing Role Center" ObsoleteTag = '26.0'; Visible = false; Caption = 'Recurring Project Journals'; - RunObject = Page "Job Journal Batches"; + RunObject = page "Job Journal Batches"; RunPageView = where(Recurring = const(true)); ToolTip = 'Reuse preset journal lines to record recurring project expenses or usage in the project ledger.'; } @@ -258,33 +258,33 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Posted Sales Invoices'; Image = PostedOrder; - RunObject = Page "Posted Sales Invoices"; + RunObject = page "Posted Sales Invoices"; ToolTip = 'Open the list of posted sales invoices.'; } action(PostedSalesCreditMemos) { Caption = 'Posted Sales Credit Memos'; Image = PostedOrder; - RunObject = Page "Posted Sales Credit Memos"; + RunObject = page "Posted Sales Credit Memos"; ToolTip = 'Open the list of posted sales credit memos.'; } action(PostedPurchaseInvoices) { Caption = 'Posted Purchase Invoices'; - RunObject = Page "Posted Purchase Invoices"; + RunObject = page "Posted Purchase Invoices"; ToolTip = 'Open the list of posted purchase credit memos.'; } action(PostedPurchaseCreditMemos) { Caption = 'Posted Purchase Credit Memos'; - RunObject = Page "Posted Purchase Credit Memos"; + RunObject = page "Posted Purchase Credit Memos"; ToolTip = 'Open the list of posted purchase credit memos.'; } action(GLRegisters) { Caption = 'G/L Registers'; Image = GLRegisters; - RunObject = Page "G/L Registers"; + RunObject = page "G/L Registers"; ToolTip = 'View auditing details for all G/L entries. Every time an entry is posted, a register is created in which you can see the first and last number of its entries in order to document when entries were posted.'; } #if not CLEAN26 @@ -296,7 +296,7 @@ page 8084 "Sub. Billing Role Center" Visible = false; Caption = 'Project Registers'; Image = JobRegisters; - RunObject = Page "Job Registers"; + RunObject = page "Job Registers"; ToolTip = 'View auditing details for all item ledger entries. Every time an entry is posted, a register is created in which you can see the first and last number of its entries in order to document when entries were posted.'; } #endif @@ -304,7 +304,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Item Registers'; Image = ItemRegisters; - RunObject = Page "Item Registers"; + RunObject = page "Item Registers"; ToolTip = 'View auditing details for all item ledger entries. Every time an entry is posted, a register is created in which you can see the first and last number of its entries in order to document when entries were posted.'; } #if not CLEAN26 @@ -316,7 +316,7 @@ page 8084 "Sub. Billing Role Center" Visible = false; Caption = 'Resource Registers'; Image = ResourceRegisters; - RunObject = Page "Resource Registers"; + RunObject = page "Resource Registers"; ToolTip = 'View auditing details for all resource ledger entries. Every time an entry is posted, a register is created in which you can see the first and last number of its entries in order to document when entries were posted.'; } #endif @@ -330,28 +330,28 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Service Contract Setup'; Image = ServiceAgreement; - RunObject = Page "Service Contract Setup"; + RunObject = page "Service Contract Setup"; ToolTip = 'View or edit Service Contract Setup.'; } action(ContractTypes) { Caption = 'Contract Types'; Image = FileContract; - RunObject = Page "Contract Types"; + RunObject = page "Contract Types"; ToolTip = 'View or edit Contract Types.'; } action(ServiceCommitmentTemplates) { Caption = 'Service Commitment Templates'; Image = Template; - RunObject = Page "Service Commitment Templates"; + RunObject = page "Service Commitment Templates"; ToolTip = 'View or edit Service Commitment Templates.'; } action(ServiceCommitmentPackages) { Caption = 'Service Commitment Packages'; Image = Template; - RunObject = Page "Service Commitment Packages"; + RunObject = page "Service Commitment Packages"; ToolTip = 'View or edit Service Commitment Packages.'; } } @@ -363,7 +363,7 @@ page 8084 "Sub. Billing Role Center" ApplicationArea = Jobs; Caption = 'Customers'; Image = Customer; - RunObject = Page "Customer List"; + RunObject = page "Customer List"; ToolTip = 'View or edit detailed information for the customers that you trade with. From each customer card, you can open related information, such as sales statistics and ongoing orders, and you can define special prices and line discounts that you grant if certain conditions are met.'; } action(VendorsList) @@ -371,7 +371,7 @@ page 8084 "Sub. Billing Role Center" ApplicationArea = Jobs; Caption = 'Vendors'; Image = Vendor; - RunObject = Page "Vendor List"; + RunObject = page "Vendor List"; ToolTip = 'View or edit detailed information for the vendors that you trade with. From each vendor card, you can open related information, such as purchase statistics and ongoing orders, and you can define special prices and line discounts that you grant if certain conditions are met.'; } #if not CLEAN26 @@ -384,7 +384,7 @@ page 8084 "Sub. Billing Role Center" ApplicationArea = Jobs; Caption = 'Projects'; Image = Job; - RunObject = Page "Job List"; + RunObject = page "Job List"; ToolTip = 'Define a project activity by creating a project card with integrated project tasks and project planning lines, structured in two layers. The project task enables you to set up project planning lines and to post consumption to the project. The project planning lines specify the detailed use of resources, items, and various general ledger expenses.'; } #endif @@ -393,7 +393,7 @@ page 8084 "Sub. Billing Role Center" ApplicationArea = Jobs; Caption = 'Items'; Image = Item; - RunObject = Page "Item List"; + RunObject = page "Item List"; ToolTip = 'View or edit detailed information for the products that you trade in. The item card can be of type Inventory or Service to specify if the item is a physical unit or a labor time unit. Here you also define if items in inventory or on incoming orders are automatically reserved for outbound documents and whether order tracking links are created between demand and supply to reflect planning actions.'; } action(ServiceObjectsList) @@ -401,7 +401,7 @@ page 8084 "Sub. Billing Role Center" ApplicationArea = Jobs; Caption = 'Service Objects'; Image = ServiceSetup; - RunObject = Page "Service Objects"; + RunObject = page "Service Objects"; ToolTip = 'Detailed information on the Service Objects. The Service Objects shows the article for which it was created and the services that belong to it. The amount and the details of the provision can be seen. The service recipient indicates to which customer the service item was sold. Different delivery and billing addresses provide information about who the item was delivered to and who received the invoice. In addition, the services are shown in detail and can be edited.'; } action(CustomerContractsList) @@ -409,7 +409,7 @@ page 8084 "Sub. Billing Role Center" ApplicationArea = Jobs; Caption = 'Customer Contracts'; Image = Customer; - RunObject = Page "Customer Contracts"; + RunObject = page "Customer Contracts"; ToolTip = 'Detailed information on Customer Contracts that include recurring services. A Customer Contract is used to calculate these services based on the parameters specified in the service. The services are presented in detail and can be edited. In addition, commercial information as well as delivery and billing addresses can be stored in a Contract.'; } action(VendorContractsList) @@ -417,7 +417,7 @@ page 8084 "Sub. Billing Role Center" ApplicationArea = Jobs; Caption = 'Vendor Contracts'; Image = Vendor; - RunObject = Page "Vendor Contracts"; + RunObject = page "Vendor Contracts"; ToolTip = 'Detailed information on Vendor Contracts that include recurring services. A Vendor Contract is used to calculate these services based on the parameters specified in the service. The services are presented in detail and can be edited. In addition, commercial information can be stored in a Contract.'; } } @@ -427,7 +427,7 @@ page 8084 "Sub. Billing Role Center" { ApplicationArea = Jobs; Caption = 'Recurring Billing'; - RunObject = Page "Recurring Billing"; + RunObject = page "Recurring Billing"; ToolTip = 'Opens the page for creating billing proposals for Recurring Services.'; } group(New) @@ -437,7 +437,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Service Commitment Template'; Image = ApplyTemplate; - RunObject = Page "Service Commitment Templates"; + RunObject = page "Service Commitment Templates"; RunPageMode = Create; ToolTip = 'Create a new Service Commitment Template.'; } @@ -445,7 +445,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Service Commitment Package'; Image = ServiceLedger; - RunObject = Page "Service Commitment Package"; + RunObject = page "Service Commitment Package"; RunPageMode = Create; ToolTip = 'Create a new Service Commitment Package.'; } @@ -461,7 +461,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Customer Contract'; Image = NewOrder; - RunObject = Page "Customer Contract"; + RunObject = page "Customer Contract"; RunPageMode = Create; ToolTip = 'Create a new Customer Contract.'; } @@ -469,7 +469,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Vendor Contract'; Image = NewOrder; - RunObject = Page "Vendor Contract"; + RunObject = page "Vendor Contract"; RunPageMode = Create; ToolTip = 'Create a new Vendor Contract.'; } @@ -509,7 +509,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Posted Customer Contract Invoices'; Image = PostedOrder; - RunObject = Page "Posted Sales Invoices"; + RunObject = page "Posted Sales Invoices"; RunPageView = where("Recurring Billing" = const(true)); ToolTip = 'Open the list of Posted Sales Invoices for Customer Contracts.'; } @@ -517,7 +517,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Posted Customer Contract Credit Memos'; Image = PostedOrder; - RunObject = Page "Posted Sales Credit Memos"; + RunObject = page "Posted Sales Credit Memos"; RunPageView = where("Recurring Billing" = const(true)); ToolTip = 'Open the list of Posted Sales Credit Memos for Customer Contracts.'; } @@ -525,7 +525,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Posted Vendor Contract Invoices'; Image = PostedOrder; - RunObject = Page "Posted Purchase Invoices"; + RunObject = page "Posted Purchase Invoices"; RunPageView = where("Recurring Billing" = const(true)); ToolTip = 'Open the list of Posted Purchase Invoices for Vendor Contracts.'; } @@ -533,7 +533,7 @@ page 8084 "Sub. Billing Role Center" { Caption = 'Posted Vendor Contract Credit Memos'; Image = PostedOrder; - RunObject = Page "Posted Purchase Credit Memos"; + RunObject = page "Posted Purchase Credit Memos"; RunPageView = where("Recurring Billing" = const(true)); ToolTip = 'Open the list of Posted Purchase Credit Memos for Vendor Contracts.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Base/Tables/SubscriptionBillingCue.Table.al b/Apps/W1/SubscriptionBilling/App/Base/Tables/SubscriptionBillingCue.Table.al index fa69171de9..cea8bf8b6a 100644 --- a/Apps/W1/SubscriptionBilling/App/Base/Tables/SubscriptionBillingCue.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Base/Tables/SubscriptionBillingCue.Table.al @@ -1,9 +1,9 @@ namespace Microsoft.SubscriptionBilling; +using System.Reflection; using Microsoft.Sales.Document; using Microsoft.Purchases.Document; using Microsoft.Projects.Project.Job; -using Microsoft.RoleCenters; table 8070 "Subscription Billing Cue" { @@ -101,6 +101,11 @@ table 8070 "Subscription Billing Cue" FieldClass = Normal; DataClassification = CustomerContent; } + field(13; "Last Updated On"; DateTime) + { + Caption = 'Last Updated On'; + Editable = false; + } field(20; "Date Filter"; Date) { Caption = 'Date Filter'; @@ -135,10 +140,10 @@ table 8070 "Subscription Billing Cue" } } - local procedure GetAmountFormat(): Text + procedure GetAmountFormat(): Text var - ActivitiesCue: Record "Activities Cue"; + TypeHelper: Codeunit "Type Helper"; begin - exit(ActivitiesCue.GetAmountFormat()); + exit(TypeHelper.GetAmountFormatLCYWithUserLocale()); end; } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/BillingProposal.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/BillingProposal.Codeunit.al index c22594ac50..6f9445ce5c 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/BillingProposal.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/BillingProposal.Codeunit.al @@ -14,6 +14,7 @@ codeunit 8062 "Billing Proposal" PurchaseHeader: Record "Purchase Header"; CreateBillingDocuments: Codeunit "Create Billing Documents"; DateFormulaManagement: Codeunit "Date Formula Management"; + SessionStore: Codeunit "Session Store"; CreateBillingDocumentPage: Page "Create Billing Document"; LastContractNo: Code[20]; LastPartnerNo: Code[20]; @@ -212,8 +213,6 @@ codeunit 8062 "Billing Proposal" var ServiceCommitment: Record "Service Commitment"; BillingLine: Record "Billing Line"; - UsageDataBilling: Record "Usage Data Billing"; - SkipServiceCommitment: Boolean; begin ServiceCommitment.SetRange(Partner, BillingTemplate.Partner); ServiceCommitment.SetRange("Contract No.", ContractNo); @@ -227,50 +226,58 @@ codeunit 8062 "Billing Proposal" OnBeforeProcessContractServiceCommitments(ServiceCommitment, BillingDate, BillingToDate, BillingRhythmFilterText, BillingTemplate); if ServiceCommitment.FindSet() then repeat - SkipServiceCommitment := false; - FilterBillingLinesOnServiceCommitment(BillingLine, ServiceCommitment); - case true of - (ServiceCommitment."Service End Date" <> 0D) and (ServiceCommitment."Next Billing Date" > ServiceCommitment."Service End Date"): - SkipServiceCommitment := true; - BillingLine.FindFirst() and ((BillingLine."Document No." <> '') or (BillingTemplate.Code = '')): - begin - SkipServiceCommitment := true; - case BillingLine.Partner of - Enum::"Service Partner"::Customer: - if SalesHeader.Get(SalesHeader."Document Type"::"Credit Memo", BillingLine."Document No.") then - SalesHeader.Mark(true); - Enum::"Service Partner"::Vendor: - if PurchaseHeader.Get(PurchaseHeader."Document Type"::"Credit Memo", BillingLine."Document No.") then - PurchaseHeader.Mark(true); - end; - end; - ServiceCommitment."Usage Based Billing": - begin - UsageDataBilling.Reset(); - UsageDataBilling.SetCurrentKey("Usage Data Import Entry No.", "Service Commitment Entry No.", Partner, "Document Type", "Charge End Date", "Charge End Time"); - UsageDataBilling.FilterOnServiceCommitment(ServiceCommitment); - UsageDataBilling.SetRange("Document Type", "Usage Based Billing Doc. Type"::None); - SkipServiceCommitment := UsageDataBilling.IsEmpty(); - end; - else - OnCheckSkipServiceCommitmentOnElse(ServiceCommitment, SkipServiceCommitment); - end; - - if not SkipServiceCommitment then begin - CalculateBillingPeriod(ServiceCommitment, BillingDate, BillingToDate); - if FindBillingLine(BillingLine, ServiceCommitment, BillingPeriodStart, CalculateNextBillingToDateForServiceCommitment(ServiceCommitment, BillingPeriodStart)) then - UpdateBillingLine(BillingLine, ServiceCommitment, BillingTemplate, BillingPeriodStart) - else begin - BillingLine.InitNewBillingLine(); - UpdateBillingLine(BillingLine, ServiceCommitment, BillingTemplate, BillingPeriodStart); - end; - end; + ProcessServiceCommitment(ServiceCommitment, BillingLine, BillingTemplate, BillingDate, BillingToDate); until ServiceCommitment.Next() = 0; OnAfterProcessContractServiceCommitments(ServiceCommitment, BillingDate, BillingToDate, BillingRhythmFilterText); if BillingTemplate.IsPartnerCustomer() then RecalculateHarmonizedBillingFieldsBasedOnNextBillingDate(BillingLine, ContractNo); end; + internal procedure ProcessServiceCommitment(var ServiceCommitment: Record "Service Commitment"; var BillingLine: Record "Billing Line"; BillingTemplate: Record "Billing Template"; var BillingDate: Date; var BillingToDate: Date) + var + UsageDataBilling: Record "Usage Data Billing"; + SkipServiceCommitment: Boolean; + begin + SkipServiceCommitment := false; + FilterBillingLinesOnServiceCommitment(BillingLine, ServiceCommitment); + case true of + (ServiceCommitment."Service End Date" <> 0D) and (ServiceCommitment."Next Billing Date" > ServiceCommitment."Service End Date"): + SkipServiceCommitment := true; + BillingLine.FindFirst() and ((BillingLine."Document No." <> '') or (BillingTemplate.Code = '')): + begin + SkipServiceCommitment := true; + case BillingLine.Partner of + Enum::"Service Partner"::Customer: + if SalesHeader.Get(SalesHeader."Document Type"::"Credit Memo", BillingLine."Document No.") then + SalesHeader.Mark(true); + Enum::"Service Partner"::Vendor: + if PurchaseHeader.Get(PurchaseHeader."Document Type"::"Credit Memo", BillingLine."Document No.") then + PurchaseHeader.Mark(true); + end; + end; + ServiceCommitment."Usage Based Billing": + begin + UsageDataBilling.Reset(); + UsageDataBilling.SetCurrentKey("Usage Data Import Entry No.", "Service Commitment Entry No.", Partner, "Document Type", "Charge End Date", "Charge End Time"); + UsageDataBilling.FilterOnServiceCommitment(ServiceCommitment); + UsageDataBilling.SetRange("Document Type", "Usage Based Billing Doc. Type"::None); + SkipServiceCommitment := UsageDataBilling.IsEmpty(); + end; + else + OnCheckSkipServiceCommitmentOnElse(ServiceCommitment, SkipServiceCommitment); + end; + + if not SkipServiceCommitment then begin + CalculateBillingPeriod(ServiceCommitment, BillingDate, BillingToDate); + if FindBillingLine(BillingLine, ServiceCommitment, BillingPeriodStart, CalculateNextBillingToDateForServiceCommitment(ServiceCommitment, BillingPeriodStart)) then + UpdateBillingLine(BillingLine, ServiceCommitment, BillingTemplate, BillingPeriodStart) + else begin + BillingLine.InitNewBillingLine(); + UpdateBillingLine(BillingLine, ServiceCommitment, BillingTemplate, BillingPeriodStart); + end; + end; + end; + local procedure FilterBillingLinesOnServiceCommitment(var BillingLine: Record "Billing Line"; ServiceCommitment: Record "Service Commitment") begin BillingLine.Reset(); @@ -510,7 +517,7 @@ codeunit 8062 "Billing Proposal" BillingPeriodEnd := CustomerContract."Next Billing To" - 1; end; - local procedure CalculateNextBillingToDateForServiceCommitment(ServiceCommitment: Record "Service Commitment"; BillingFromDate: Date) NextBillingToDate: Date + internal procedure CalculateNextBillingToDateForServiceCommitment(ServiceCommitment: Record "Service Commitment"; BillingFromDate: Date) NextBillingToDate: Date var CustomerContract: Record "Customer Contract"; begin @@ -703,6 +710,70 @@ codeunit 8062 "Billing Proposal" ProcessContractServiceCommitments(TempBillingTemplate, ContractNo, '', BillingDate, BillingToDate, BillingRhythmFilter); end; + internal procedure CreateBillingProposalForPurchaseHeader(ServicePartner: Enum "Service Partner"; var TempServiceCommitment: Record "Service Commitment" temporary; BillingDate: Date; BillingToDate: Date) + var + DummyPurchaseLine: Record "Purchase Line"; + begin + CreateBillingProposalForPurchaseLine(ServicePartner, TempServiceCommitment, BillingDate, BillingToDate, DummyPurchaseLine); + end; + + internal procedure CreateBillingProposalForPurchaseLine(ServicePartner: Enum "Service Partner"; var TempServiceCommitment: Record "Service Commitment" temporary; BillingDate: Date; BillingToDate: Date; var PurchaseLine: Record "Purchase Line") + var + TempBillingTemplate: Record "Billing Template" temporary; + ServiceCommitment: Record "Service Commitment"; + BillingLine: Record "Billing Line"; + begin + CreateTempBillingTemplate(TempBillingTemplate, ServicePartner); + if TempServiceCommitment.FindSet() then + repeat + ProcessServiceCommitment(TempServiceCommitment, BillingLine, TempBillingTemplate, BillingDate, BillingToDate); + if PurchaseLine."Document No." <> '' then + SyncPurchaseLineAndBillingLine(BillingLine, PurchaseLine); + if ServiceCommitment.Get(TempServiceCommitment."Entry No.") then begin + ServiceCommitment."Next Billing Date" := TempServiceCommitment."Next Billing Date"; + ServiceCommitment.Modify(); + end; + until TempServiceCommitment.Next() = 0; + AddRecurringBillingFlagToExistingPurchaseHeader(PurchaseLine."Document Type", PurchaseLine."Document No."); + end; + + internal procedure CreatePurchaseLines(PurchaseHeader: Record "Purchase Header") + var + BillingLine: Record "Billing Line"; + begin + BillingLine.SetRange("Billing Template Code", ''); + if BillingLine.IsEmpty() then + exit; + CreateBillingDocuments.SetPurchaseHeaderFromExistingPurchaseDocument(PurchaseHeader."Document Type", PurchaseHeader."No."); + CreateBillingDocuments.SetSkipRequestPageSelection(true); + CreateBillingDocuments.SetHideProcessingFinishedMessage(); + CreateBillingDocuments.Run(BillingLine); + end; + + local procedure SyncPurchaseLineAndBillingLine(var BillingLine: Record "Billing Line"; var PurchaseLine: Record "Purchase Line") + begin + if PurchaseLine."Document No." = '' then + exit; + BillingLine."Document Type" := BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"); + BillingLine."Document No." := PurchaseLine."Document No."; + BillingLine."Document Line No." := PurchaseLine."Line No."; + BillingLine.Modify(); + + PurchaseLine."Recurring Billing from" := BillingLine."Billing from"; + PurchaseLine."Recurring Billing to" := BillingLine."Billing to"; + PurchaseLine.Modify(false); + end; + + local procedure AddRecurringBillingFlagToExistingPurchaseHeader(DocumentType: Enum "Purchase Document Type"; DocumentNo: Code[20]) + begin + if DocumentNo = '' then + exit; + SessionStore.SetBooleanKey('SkipContractPurchaseHeaderModifyCheck', true); + PurchaseHeader.Get(DocumentType, DocumentNo); + PurchaseHeader.SetRecurringBilling(); + SessionStore.RemoveBooleanKey('SkipContractPurchaseHeaderModifyCheck'); + end; + local procedure BillingProposalCanBeCreatedForContract(ContractNo: Code[20]; ServicePartner: Enum "Service Partner"): Boolean var BillingLine: Record "Billing Line"; diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/CreateBillingDocuments.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/CreateBillingDocuments.Codeunit.al index 46304cf793..9b7b46a4c5 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/CreateBillingDocuments.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/CreateBillingDocuments.Codeunit.al @@ -35,10 +35,9 @@ codeunit 8060 "Create Billing Documents" Window.Update(); ProcessBillingLines(BillingLine); Window.Close(); - ShowProcessingFinishedMessage := not PostDocuments; if PostDocuments then PostCreatedDocuments(); - if ShowProcessingFinishedMessage then + if not HideProcessingFinishedMessage then ProcessingFinishedMessage(); end; @@ -518,6 +517,8 @@ codeunit 8060 "Create Billing Documents" var OldPurchaseHeader: Record "Purchase Header"; begin + if CreateOnlyPurchaseInvoiceLines then + exit; PurchaseHeader.Init(); PurchaseHeader."Document Type" := TempBillingLine.GetPurchaseDocumentTypeForContractNo(); DocumentsCreatedCount += 1; @@ -597,6 +598,15 @@ codeunit 8060 "Create Billing Documents" SessionStore.RemoveBooleanKey('SkipContractPurchaseHeaderModifyCheck'); end; + internal procedure SetPurchaseHeaderFromExistingPurchaseDocument(DocumentType: Enum "Purchase Document Type"; DocumentNo: Code[20]) + begin + SessionStore.SetBooleanKey('SkipContractPurchaseHeaderModifyCheck', true); + PurchaseHeader.Get(DocumentType, DocumentNo); + PurchaseHeader.SetRecurringBilling(); + SessionStore.RemoveBooleanKey('SkipContractPurchaseHeaderModifyCheck'); + CreateOnlyPurchaseInvoiceLines := true; + end; + local procedure CreateTempBillingLines(var BillingLine: Record "Billing Line") var CustomerContract: Record "Customer Contract"; @@ -758,8 +768,8 @@ codeunit 8060 "Create Billing Documents" if TempSalesHeader.Count() = 1 then begin SalesHeader.Get(TempSalesHeader."Document Type", TempSalesHeader."No."); SalesHeader.SendToPosting(Codeunit::"Sales-Post"); - ShowProcessingFinishedMessage := true; end else begin + HideProcessingFinishedMessage := true; SalesHeader.Reset(); if TempSalesHeader.FindSet() then repeat @@ -915,9 +925,9 @@ codeunit 8060 "Create Billing Documents" exit(1); end; - internal procedure HideProcessingFinishedMessage() + internal procedure SetHideProcessingFinishedMessage() begin - ShowProcessingFinishedMessage := false; + HideProcessingFinishedMessage := true; end; local procedure SetDiscountLineExists(var TempBillingLine2: Record "Billing Line" temporary; var DiscountLineExists: Boolean): Boolean @@ -1055,7 +1065,7 @@ codeunit 8060 "Create Billing Documents" VendorBillingLinesFound: Boolean; FirstContractDescriptionLineInserted: Boolean; PostDocuments: Boolean; - ShowProcessingFinishedMessage: Boolean; + HideProcessingFinishedMessage: Boolean; Window: Dialog; ProgressTxt: Label 'Creating documents...\Partner No. #1#################################\Contract No. #2#################################'; OnlyOneServicePartnerErr: Label 'You can create documents only for one type of partner at a time (Customer or Vendor). Please check your filters.'; @@ -1075,4 +1085,5 @@ codeunit 8060 "Create Billing Documents" SkipRequestPageSelection: Boolean; CreateContractInvoice: Boolean; ServiceContractSetupFetched: Boolean; + CreateOnlyPurchaseInvoiceLines: Boolean; } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/DocumentChangeManagement.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/DocumentChangeManagement.Codeunit.al index 460afc3655..8f1e45deda 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/DocumentChangeManagement.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/DocumentChangeManagement.Codeunit.al @@ -509,15 +509,13 @@ codeunit 8074 "Document Change Management" begin if Rec.IsTemporary() then exit; - - if not Rec.IsLineAttachedToBillingLine() then - exit; if not RunTrigger then exit; xSalesLine.Get(Rec."Document Type", Rec."Document No.", Rec."Line No."); BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(xSalesLine."Document Type"), xSalesLine."Document No.", xSalesLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; if ((Rec."Shortcut Dimension 1 Code" <> xSalesLine."Shortcut Dimension 1 Code") or (Rec."Shortcut Dimension 2 Code" <> xSalesLine."Shortcut Dimension 2 Code") or @@ -1081,14 +1079,13 @@ codeunit 8074 "Document Change Management" begin if Rec.IsTemporary() then exit; - if (not Rec.IsLineAttachedToBillingLine()) then - exit; if not RunTrigger then exit; xPurchaseLine.Get(Rec."Document Type", Rec."Document No.", Rec."Line No."); BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(xPurchaseLine."Document Type"), xPurchaseLine."Document No.", xPurchaseLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; if ((Rec."Shortcut Dimension 1 Code" <> xPurchaseLine."Shortcut Dimension 1 Code") or (Rec."Shortcut Dimension 2 Code" <> xPurchaseLine."Shortcut Dimension 2 Code") or @@ -1132,7 +1129,9 @@ codeunit 8074 "Document Change Management" xRRef.GetTable(RecVariant); xRRef.SetRecFilter(); - xRRef.FindFirst(); + if not xRRef.FindFirst() then + exit; + FRef := RRef.Field(CurrFieldNo); xFRef := xRRef.Field(CurrFieldNo); @@ -1159,7 +1158,8 @@ codeunit 8074 "Document Change Management" FRef2 := RRef.Field(4); LineNo := FRef2.Value; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType("Sales Document Type".FromInteger(DocumentTypeInteger)), DocumentNo, LineNo); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; ContractNo := BillingLine."Contract No."; if CurrFieldNo in [29, 30, 480] then diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/PurchaseDocuments.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/PurchaseDocuments.Codeunit.al index a4cdb0cf70..c1e6e24153 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/PurchaseDocuments.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/PurchaseDocuments.Codeunit.al @@ -92,11 +92,7 @@ codeunit 8066 "Purchase Documents" local procedure FilterBillingLinePerPurchaseLine(var BillingLine: Record "Billing Line"; PurchaseLine: Record "Purchase Line") begin - BillingLine.SetRange("Document Type", BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type")); - BillingLine.SetRange("Document No.", PurchaseLine."Document No."); - BillingLine.SetRange("Document Line No.", PurchaseLine."Line No."); - BillingLine.SetFilter("Billing from", '>=%1', PurchaseLine."Recurring Billing from"); - BillingLine.SetFilter("Billing to", '<=%1', PurchaseLine."Recurring Billing to"); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"), PurchaseLine."Document No.", PurchaseLine."Line No."); end; local procedure ResetPurchaseDocumentFieldsForBillingLines(var BillingLine: Record "Billing Line") @@ -227,10 +223,9 @@ codeunit 8066 "Purchase Documents" var BillingLine: Record "Billing Line"; begin - if not PurchLine.IsLineAttachedToBillingLine() then - exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchLine."Document Type"), PurchLine."Document No.", PurchLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; PurchInvLine."Contract No." := BillingLine."Contract No."; PurchInvLine."Contract Line No." := BillingLine."Contract Line No."; end; @@ -240,10 +235,9 @@ codeunit 8066 "Purchase Documents" var BillingLine: Record "Billing Line"; begin - if not PurchLine.IsLineAttachedToBillingLine() then - exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchLine."Document Type"), PurchLine."Document No.", PurchLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; PurchCrMemoLine."Contract No." := BillingLine."Contract No."; PurchCrMemoLine."Contract Line No." := BillingLine."Contract Line No."; end; diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/SalesDocuments.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/SalesDocuments.Codeunit.al index 903fd5e9ef..f69defa6fc 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/SalesDocuments.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Codeunits/SalesDocuments.Codeunit.al @@ -123,11 +123,7 @@ codeunit 8063 "Sales Documents" local procedure FilterBillingLinePerSalesLine(var BillingLine: Record "Billing Line"; SalesLine: Record "Sales Line") begin - BillingLine.SetRange("Document Type", BillingLine.GetBillingDocumentTypeFromSalesDocumentType(SalesLine."Document Type")); - BillingLine.SetRange("Document No.", SalesLine."Document No."); - BillingLine.SetRange("Document Line No.", SalesLine."Line No."); - BillingLine.SetFilter("Billing from", '>=%1', SalesLine."Recurring Billing from"); - BillingLine.SetFilter("Billing to", '<=%1', SalesLine."Recurring Billing to"); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(SalesLine."Document Type"), SalesLine."Document No.", SalesLine."Line No."); end; local procedure ResetSalesDocumentFieldsForBillingLines(var BillingLine: Record "Billing Line") @@ -493,6 +489,7 @@ codeunit 8063 "Sales Documents" ServiceObject."Ship-to Contact" := SalesHeader."Ship-to Contact"; ServiceObject."Customer Price Group" := SalesHeader."Customer Price Group"; ServiceObject."Customer Reference" := SalesHeader."Your Reference"; + ServiceObject."Variant Code" := SalesLine."Variant Code"; OnCreateServiceObjectFromSalesLineBeforeInsertServiceObject(ServiceObject, SalesHeader, SalesLine); ServiceObject.Insert(true); OnCreateServiceObjectFromSalesLineAfterInsertServiceObject(ServiceObject, SalesHeader, SalesLine); @@ -618,10 +615,9 @@ codeunit 8063 "Sales Documents" var BillingLine: Record "Billing Line"; begin - if not SalesLine.IsLineAttachedToBillingLine() then - exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(SalesLine."Document Type"), SalesLine."Document No.", SalesLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; SalesInvLine."Contract No." := BillingLine."Contract No."; SalesInvLine."Contract Line No." := BillingLine."Contract Line No."; end; @@ -631,10 +627,9 @@ codeunit 8063 "Sales Documents" var BillingLine: Record "Billing Line"; begin - if not SalesLine.IsLineAttachedToBillingLine() then - exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(SalesLine."Document Type"), SalesLine."Document No.", SalesLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; SalesCrMemoLine."Contract No." := BillingLine."Contract No."; SalesCrMemoLine."Contract Line No." := BillingLine."Contract Line No."; end; diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesCreditMemo.PageExt.al b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesCreditMemo.PageExt.al index 2ad9c4fb32..1c65ea2590 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesCreditMemo.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesCreditMemo.PageExt.al @@ -12,7 +12,7 @@ pageextension 8069 "Posted Sales Credit Memo" extends "Posted Sales Credit Memo" { ApplicationArea = Basic, Suite; Editable = false; - ToolTip = 'Specifies whether the billing details for this document are automatically output.'; + ToolTip = 'Specifies whether to automatically print the billing details for this document. This is only relevant if you are using Subscription Billing functionalities.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesInvoice.PageExt.al b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesInvoice.PageExt.al index a1aa96a143..c0e6a25fd8 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesInvoice.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PostedSalesInvoice.PageExt.al @@ -12,7 +12,7 @@ pageextension 8068 "Posted Sales Invoice" extends "Posted Sales Invoice" { ApplicationArea = Basic, Suite; Editable = false; - ToolTip = 'Specifies whether the billing details for this document are automatically output.'; + ToolTip = 'Specifies whether to automatically print the billing details for this document. This is only relevant if you are using Subscription Billing functionalities.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PurchInvoiceSubform.PageExt.al b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PurchInvoiceSubform.PageExt.al index 5e4718561f..a36bd756c7 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PurchInvoiceSubform.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PurchInvoiceSubform.PageExt.al @@ -4,9 +4,19 @@ using Microsoft.Purchases.Document; pageextension 8071 "Purch Invoice Subform" extends "Purch. Invoice Subform" { + layout + { + addafter(Description) + { + field("Attached to Contract Line"; Rec."Attached to Contract line") + { + ApplicationArea = All; + ToolTip = 'Specifies that the invoice line is linked to a contract line.'; + } + } + } actions { - addlast("Related Information") { action(ShowBillingLines) @@ -41,15 +51,29 @@ pageextension 8071 "Purch Invoice Subform" extends "Purch. Invoice Subform" Page.RunModal(Page::"Usage Data Billings", UsageDataBilling); end; } + action("Assign Contract Line") + { + ApplicationArea = All; + Caption = 'Assign Contract Line'; + Image = GetOrder; + ToolTip = 'Select a corresponding Vendor Contract line.'; + Enabled = ContractLineCanBeAssigned; + trigger OnAction() + begin + Rec.AssignVendorContractLine(); + end; + } } } trigger OnAfterGetCurrRecord() begin IsConnectedToBillingLine := Rec.IsLineAttachedToBillingLine(); + ContractLineCanBeAssigned := Rec.IsContractLineAssignable(); end; var ContractsGeneralMgt: Codeunit "Contracts General Mgt."; IsConnectedToBillingLine: Boolean; + ContractLineCanBeAssigned: Boolean; } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PurchaseInvoice.PageExt.al b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PurchaseInvoice.PageExt.al new file mode 100644 index 0000000000..37e142ff11 --- /dev/null +++ b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/PurchaseInvoice.PageExt.al @@ -0,0 +1,31 @@ +namespace Microsoft.SubscriptionBilling; + +using Microsoft.Purchases.Document; + +pageextension 8012 "Purchase Invoice" extends "Purchase Invoice" +{ + actions + { + addlast(Processing) + { + action("Get Vendor Contract Lines") + { + ApplicationArea = All; + Caption = 'Get Vendor Contract Lines'; + Image = GetOrder; + ToolTip = 'Select Vendor Contract lines and create corresponding invoice lines.'; + + trigger OnAction() + begin + Rec.RunGetVendorContractLines(); + end; + } + } + addlast(Category_Process) + { + actionref(GetVendorContractLines_Promoted; "Get Vendor Contract Lines") + { + } + } + } +} diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesCreditMemo.PageExt.al b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesCreditMemo.PageExt.al index 64da433c41..0b116c7dbd 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesCreditMemo.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesCreditMemo.PageExt.al @@ -12,7 +12,7 @@ pageextension 8067 "Sales Credit Memo" extends "Sales Credit Memo" { ApplicationArea = Basic, Suite; Enabled = Rec."Recurring Billing"; - ToolTip = 'Specifies whether the billing details for this document are automatically output.'; + ToolTip = 'Specifies whether to automatically print the billing details for this document. This is only relevant if you are using Subscription Billing functionalities.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesInvoice.PageExt.al b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesInvoice.PageExt.al index 2a73ee4d40..018990e931 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesInvoice.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Page Extensions/SalesInvoice.PageExt.al @@ -12,7 +12,7 @@ pageextension 8066 "Sales Invoice" extends "Sales Invoice" { ApplicationArea = Basic, Suite; Enabled = Rec."Recurring Billing"; - ToolTip = 'Specifies whether the billing details for this document are automatically output.'; + ToolTip = 'Specifies whether to automatically print the billing details for this document. This is only relevant if you are using Subscription Billing functionalities.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLines.Page.al b/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLines.Page.al index deb8b6fcd2..d6fe033de8 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLines.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLines.Page.al @@ -146,7 +146,7 @@ page 8074 "Billing Lines" } field("Update Required"; Rec."Update Required") { - ToolTip = 'Indicates whether the associated service has been changed. The "Create Billing Proposal" function must be called up again before the billing document is created.'; + ToolTip = 'Specifies whether the associated service has been changed. The "Create Billing Proposal" function must be called up again before the billing document is created.'; Style = StrongAccent; StyleExpr = UpdateRequiredStyleExpr; } diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLinesList.Page.al b/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLinesList.Page.al index f5e1b5ca2e..5fd038814c 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLinesList.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Pages/BillingLinesList.Page.al @@ -172,7 +172,7 @@ page 8016 "Billing Lines List" } field("Update Required"; Rec."Update Required") { - ToolTip = 'Indicates whether the associated service has been changed. The "Create Billing Proposal" function must be called up again before the billing document is created.'; + ToolTip = 'Specifies whether the associated service has been changed. The "Create Billing Proposal" function must be called up again before the billing document is created.'; Visible = false; } field("User ID"; Rec."User ID") diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Pages/CreateBillingDocument.Page.al b/Apps/W1/SubscriptionBilling/App/Billing/Pages/CreateBillingDocument.Page.al index 9bcc42932a..be0f93783f 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Pages/CreateBillingDocument.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Pages/CreateBillingDocument.Page.al @@ -13,7 +13,7 @@ page 8001 "Create Billing Document" { group(DateFields) { - Caption = 'Dates'; + Caption = 'Billing'; field(BillingDate; BillingDate) { Caption = 'Billing Date'; @@ -23,7 +23,12 @@ page 8001 "Create Billing Document" { Caption = 'Billing To'; ToolTip = 'Specifies the date to which the service is billed.'; + } + } + group(Posting) + { + Caption = 'Posting'; field(DocumentDate; DocumentDate) { Caption = 'Document Date'; diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Pages/RecurringBilling.Page.al b/Apps/W1/SubscriptionBilling/App/Billing/Pages/RecurringBilling.Page.al index 388183d067..eeaa4f3736 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Pages/RecurringBilling.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Pages/RecurringBilling.Page.al @@ -149,7 +149,7 @@ page 8067 "Recurring Billing" } field("Update Required"; Rec."Update Required") { - ToolTip = 'Indicates whether the associated service has been changed. The "Create Billing Proposal" function must be called up again before the billing document is created.'; + ToolTip = 'Specifies whether the associated service has been changed. The "Create Billing Proposal" function must be called up again before the billing document is created.'; StyleExpr = LineStyleExpr; } field("Document Type"; Rec."Document Type") @@ -323,7 +323,7 @@ page 8067 "Recurring Billing" Image = Refresh; Scope = Page; ToolTip = 'Refreshes the current view.'; - ShortCutKey = 'F5'; + ShortcutKey = 'F5'; trigger OnAction() begin @@ -396,7 +396,7 @@ page 8067 "Recurring Billing" Caption = 'Contract Line Dimensions'; Image = Dimensions; Scope = Repeater; - ShortCutKey = 'Shift+Ctrl+D'; + ShortcutKey = 'Shift+Ctrl+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLine.Table.al b/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLine.Table.al index 44eb51676d..d548a041b5 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLine.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLine.Table.al @@ -360,6 +360,16 @@ table 8061 "Billing Line" end; end; + internal procedure GetBillingDocumentTypeFromTextDocumentType(DocumentType: Text) RecurringBillingDocumentType: Enum "Rec. Billing Document Type" + begin + case DocumentType of + Format(RecurringBillingDocumentType::Invoice): + RecurringBillingDocumentType := RecurringBillingDocumentType::Invoice; + Format(RecurringBillingDocumentType::"Credit Memo"): + RecurringBillingDocumentType := RecurringBillingDocumentType::"Credit Memo"; + end; + end; + internal procedure InitNewBillingLine() begin Init(); diff --git a/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLineArchive.Table.al b/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLineArchive.Table.al index 519b1b141b..822a15080b 100644 --- a/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLineArchive.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Billing/Tables/BillingLineArchive.Table.al @@ -44,7 +44,8 @@ table 8064 "Billing Line Archive" field(21; "Contract Line No."; Integer) { Caption = 'Contract Line No.'; - TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")); + TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")) else + if (Partner = const(Vendor)) "Vendor Contract Line"."Line No." where("Contract No." = field("Contract No.")); } field(30; "Service Object No."; Code[20]) { diff --git a/Apps/W1/SubscriptionBilling/App/Contract Price Update/Codeunits/PriceUpdateManagement.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Contract Price Update/Codeunits/PriceUpdateManagement.Codeunit.al index a1a1a40c62..141f939652 100644 --- a/Apps/W1/SubscriptionBilling/App/Contract Price Update/Codeunits/PriceUpdateManagement.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Contract Price Update/Codeunits/PriceUpdateManagement.Codeunit.al @@ -6,17 +6,18 @@ codeunit 8009 "Price Update Management" var LastGroupByValue: Code[20]; + LastGroupEntryNo: Integer; internal procedure InitTempTable(var TempContractPriceUpdateLine: Record "Contract Price Update Line" temporary; GroupBy: Enum "Contract Billing Grouping") var ContractPriceUpdateLine: Record "Contract Price Update Line"; TempContractPriceUpdateLine2: Record "Contract Price Update Line" temporary; - NextEntryNo: Integer; begin TempContractPriceUpdateLine2.CopyFilters(TempContractPriceUpdateLine); ContractPriceUpdateLine.CopyFilters(TempContractPriceUpdateLine); TempContractPriceUpdateLine.Reset(); TempContractPriceUpdateLine.DeleteAll(false); + LastGroupEntryNo := 0; SetKeysForGrouping(ContractPriceUpdateLine, TempContractPriceUpdateLine, GroupBy); @@ -24,8 +25,6 @@ codeunit 8009 "Price Update Management" repeat CreateGroupingLine(TempContractPriceUpdateLine, ContractPriceUpdateLine, GroupBy); TempContractPriceUpdateLine := ContractPriceUpdateLine; - NextEntryNo -= 1; - TempContractPriceUpdateLine."Entry No." := NextEntryNo; TempContractPriceUpdateLine.Indent := 1; TempContractPriceUpdateLine.Insert(false); until ContractPriceUpdateLine.Next() = 0; @@ -55,7 +54,8 @@ codeunit 8009 "Price Update Management" begin if GroupingLineShouldBeInserted(ContractPriceUpdateLine, GroupBy) then begin TempContractPriceUpdateLine.Init(); - TempContractPriceUpdateLine."Entry No." := ContractPriceUpdateLine."Entry No."; + TempContractPriceUpdateLine."Entry No." := LastGroupEntryNo - 1; + LastGroupEntryNo := TempContractPriceUpdateLine."Entry No."; TempContractPriceUpdateLine.Partner := ContractPriceUpdateLine.Partner; TempContractPriceUpdateLine."Partner No." := ContractPriceUpdateLine."Partner No."; TempContractPriceUpdateLine."Partner Name" := ContractPriceUpdateLine."Partner Name"; @@ -135,7 +135,7 @@ codeunit 8009 "Price Update Management" ServiceCommitment.SetRange("Usage Based Billing", false); OnAfterFilterServiceCommitmentOnAfterGetAndApplyFiltersOnServiceCommitment(ServiceCommitment); - ServiceCommitment.MarkOpenServiceCommitments(); + ServiceCommitment.SetRange(Closed, false); end; local procedure ApplyContractFilterOnMarkedServiceCommitments(var ServiceCommitment: Record "Service Commitment"; ServicePartner: Enum "Service Partner"; ContractFilterText: Text): Boolean diff --git a/Apps/W1/SubscriptionBilling/App/Contract Price Update/Pages/ContractPriceUpdate.Page.al b/Apps/W1/SubscriptionBilling/App/Contract Price Update/Pages/ContractPriceUpdate.Page.al index 7976491385..eef762e080 100644 --- a/Apps/W1/SubscriptionBilling/App/Contract Price Update/Pages/ContractPriceUpdate.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Contract Price Update/Pages/ContractPriceUpdate.Page.al @@ -237,7 +237,7 @@ page 8025 "Contract Price Update" Image = Refresh; Scope = Page; ToolTip = 'Refreshes the current view.'; - ShortCutKey = 'F5'; + ShortcutKey = 'F5'; trigger OnAction() begin InitTempTable(); diff --git a/Apps/W1/SubscriptionBilling/App/Contract Renewal/Pages/ContractRenewal.Page.al b/Apps/W1/SubscriptionBilling/App/Contract Renewal/Pages/ContractRenewal.Page.al index ec349adeab..78c936b717 100644 --- a/Apps/W1/SubscriptionBilling/App/Contract Renewal/Pages/ContractRenewal.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Contract Renewal/Pages/ContractRenewal.Page.al @@ -59,7 +59,7 @@ page 8005 "Contract Renewal" } field("Agreed Serv. Comm. Start Date"; Rec."Agreed Serv. Comm. Start Date") { - ToolTip = 'Indicates the individually agreed start of the service.'; + ToolTip = 'Specifies the individually agreed start of the service.'; } field(Price; Rec.Price) { diff --git a/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/ContractRenewalLine.Table.al b/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/ContractRenewalLine.Table.al index 11af1bd8d7..eee218e3bf 100644 --- a/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/ContractRenewalLine.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/ContractRenewalLine.Table.al @@ -62,8 +62,7 @@ table 8001 "Contract Renewal Line" { Caption = 'Contract Line No.'; Editable = false; - TableRelation = - if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")) else + TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")) else if (Partner = const(Vendor)) "Vendor Contract Line"."Line No." where("Contract No." = field("Contract No.")); } field(15; "Error Message"; Text[500]) diff --git a/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/PlannedServiceCommitment.Table.al b/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/PlannedServiceCommitment.Table.al index db51a1f3c8..02190ce07a 100644 --- a/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/PlannedServiceCommitment.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Contract Renewal/Tables/PlannedServiceCommitment.Table.al @@ -223,7 +223,8 @@ table 8002 "Planned Service Commitment" field(27; "Contract Line No."; Integer) { Caption = 'Contract Line No.'; - TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")); + TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")) else + if (Partner = const(Vendor)) "Vendor Contract Line"."Line No." where("Contract No." = field("Contract No.")); } field(42; "Customer Price Group"; Code[10]) { diff --git a/Apps/W1/SubscriptionBilling/App/ContractAnalysis/ContractAnalysisEntry.Table.al b/Apps/W1/SubscriptionBilling/App/ContractAnalysis/ContractAnalysisEntry.Table.al index 973cd8f51e..064c521553 100644 --- a/Apps/W1/SubscriptionBilling/App/ContractAnalysis/ContractAnalysisEntry.Table.al +++ b/Apps/W1/SubscriptionBilling/App/ContractAnalysis/ContractAnalysisEntry.Table.al @@ -138,7 +138,8 @@ table 8019 "Contract Analysis Entry" field(27; "Contract Line No."; Integer) { Caption = 'Contract Line No.'; - TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")); + TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")) else + if (Partner = const(Vendor)) "Vendor Contract Line"."Line No." where("Contract No." = field("Contract No.")); } field(31; "Price (LCY)"; Decimal) { diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerCard.PageExt.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerCard.PageExt.al index d58789a99a..f32852bee0 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerCard.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerCard.PageExt.al @@ -14,7 +14,7 @@ pageextension 8051 "Customer Card" extends "Customer Card" ApplicationArea = Basic, Suite; Caption = 'Contract'; Image = FileContract; - RunObject = Page "Customer Contract"; + RunObject = page "Customer Contract"; RunPageLink = "Sell-to Customer No." = field("No."); RunPageMode = Create; ToolTip = 'Create a contract for the customer.'; diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerLedgerEntries.PageExt.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerLedgerEntries.PageExt.al index 1ba99df0f4..dee584fd54 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerLedgerEntries.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerLedgerEntries.PageExt.al @@ -11,7 +11,7 @@ pageextension 8007 "Customer Ledger Entries" extends "Customer Ledger Entries" field("Recurring Billing"; Rec."Recurring Billing") { ApplicationArea = All; - ToolTip = 'Specifies whether the entry was created via recurring billing.'; + ToolTip = 'Specifies whether the entry was created by Subscription Billing.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerList.PageExt.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerList.PageExt.al index 1dc143d39e..dc2d161586 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerList.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Page Extensions/CustomerList.PageExt.al @@ -14,7 +14,7 @@ pageextension 8052 "Customer List" extends "Customer List" ApplicationArea = Basic, Suite; Caption = 'Contract'; Image = FileContract; - RunObject = Page "Customer Contract"; + RunObject = page "Customer Contract"; RunPageLink = "Sell-to Customer No." = field("No."); RunPageMode = Create; ToolTip = 'Create a contract for the customer.'; diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ClosedCustContLineSubp.Page.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ClosedCustContLineSubp.Page.al index 3b26684af5..d4ad2a735c 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ClosedCustContLineSubp.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ClosedCustContLineSubp.Page.al @@ -18,7 +18,7 @@ page 8080 "Closed Cust. Cont. Line Subp." { field(Closed; Rec.Closed) { - ToolTip = 'Indicates that the associated service has ended.'; + ToolTip = 'Specifies that the associated service has ended.'; trigger OnValidate() begin CurrPage.Update(); diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContract.Page.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContract.Page.al index da71e47ef1..e9ab84c5de 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContract.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContract.Page.al @@ -189,7 +189,7 @@ page 8052 "Customer Contract" ApplicationArea = Suite; Importance = Additional; QuickEntry = false; - ToolTip = 'Indicates whether deferrals should be generated for the contract. If the field is activated, no deferrals are generated and the invoices are posted directly to profit or loss.'; + ToolTip = 'Specifies whether deferrals should be generated for the contract. If the field is activated, no deferrals are generated and the invoices are posted directly to profit or loss.'; } field("Exclude from Price Update"; Rec.DefaultExcludeFromPriceUpdate) { @@ -613,9 +613,9 @@ page 8052 "Customer Contract" Caption = 'Customer'; Enabled = IsCustomerOrContactNotEmpty; Image = Customer; - RunObject = Page "Customer Card"; + RunObject = page "Customer Card"; RunPageLink = "No." = field("Sell-to Customer No."); - ShortCutKey = 'Shift+F7'; + ShortcutKey = 'Shift+F7'; ToolTip = 'View or edit detailed information about the customer on the customer contract.'; } action(Dimensions) @@ -624,7 +624,7 @@ page 8052 "Customer Contract" ApplicationArea = Dimensions; Caption = 'Dimensions'; Image = Dimensions; - ShortCutKey = 'Alt+D'; + ShortcutKey = 'Alt+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() @@ -638,7 +638,7 @@ page 8052 "Customer Contract" ToolTip = 'Customer Contract Deferrals.'; Image = LedgerEntries; ShortcutKey = 'Ctrl+F7'; - RunObject = Page "Customer Contract Deferrals"; + RunObject = page "Customer Contract Deferrals"; RunPageView = sorting("Contract No."); RunPageLink = "Contract No." = field("No."); } diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContractLineSubp.Page.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContractLineSubp.Page.al index f895cb75d9..1ccf3bd2e2 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContractLineSubp.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContractLineSubp.Page.al @@ -400,7 +400,7 @@ page 8068 "Customer Contract Line Subp." Caption = 'Dimensions'; Image = Dimensions; Scope = Repeater; - ShortCutKey = 'Shift+Ctrl+D'; + ShortcutKey = 'Shift+Ctrl+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContracts.Page.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContracts.Page.al index 76a6dc54a2..6ab4ab671f 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContracts.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/CustomerContracts.Page.al @@ -8,7 +8,7 @@ page 8053 "Customer Contracts" { ApplicationArea = All; Caption = 'Customer Contracts'; - CardPageID = "Customer Contract"; + CardPageId = "Customer Contract"; DataCaptionFields = "Sell-to Customer No."; Editable = false; PageType = List; @@ -185,7 +185,7 @@ page 8053 "Customer Contracts" ApplicationArea = Dimensions; Caption = 'Dimensions'; Image = Dimensions; - ShortCutKey = 'Alt+D'; + ShortcutKey = 'Alt+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() @@ -200,7 +200,7 @@ page 8053 "Customer Contracts" ToolTip = 'Customer Contract Deferrals.'; Image = LedgerEntries; ShortcutKey = 'Ctrl+F7'; - RunObject = Page "Customer Contract Deferrals"; + RunObject = page "Customer Contract Deferrals"; RunPageView = sorting("Contract No."); RunPageLink = "Contract No." = field("No."); diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ExtendContract.Page.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ExtendContract.Page.al index 727b018aef..64934d8de9 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ExtendContract.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Pages/ExtendContract.Page.al @@ -293,6 +293,7 @@ page 8002 "Extend Contract" VendorContract.TestField("No."); Item.TestField("No."); + ErrorIfItemServCommPackageMissingForItem(); if ProvisionStartDate = 0D then Error(ProvisionStartDateEmptyErr); @@ -383,11 +384,29 @@ page 8002 "Extend Contract" FillTempServiceCommitmentPackage(); Item.Get(ItemNo); + ErrorIfItemServCommPackageMissingForItem(); + GetItemCost(); ContractItemMgt.GetSalesPriceForItem(UnitPrice, ItemNo, QuantityDecimal, CustomerContract."Currency Code", CustomerContract."Sell-to Customer No.", CustomerContract."Bill-to Customer No."); CountTotalServiceCommitmentPackage(); end; + local procedure ErrorIfItemServCommPackageMissingForItem() + var + ItemServCommitmentPackage: Record "Item Serv. Commitment Package"; + ItemPackageMissingErrorInfo: ErrorInfo; + begin + ItemServCommitmentPackage.SetRange("Item No.", Item."No."); + if ItemServCommitmentPackage.IsEmpty then begin + ItemPackageMissingErrorInfo.Title(ItemMissingServCommPackageTxt); + ItemPackageMissingErrorInfo.Message(AssignServCommPackageToItemTxt); + ItemPackageMissingErrorInfo.RecordId := Item.RecordId; + ItemPackageMissingErrorInfo.PageNo := Page::"Item Card"; + ItemPackageMissingErrorInfo.AddNavigationAction(OpenItemCardTxt); + Error(ItemPackageMissingErrorInfo); + end; + end; + local procedure ValidateUsageSupplierNo() begin if UsageDataSupplierNo = '' then begin @@ -578,6 +597,9 @@ page 8002 "Extend Contract" SubscriptionEntryNoParam: Integer; SupplierReferenceEntryNo: Integer; SubscriptionIsLinkedToServiceCommitmentErr: Label 'The action can only be called for Subscriptions that are not yet linked to a Service Commitment. The Subscription is already connected to Service Object %1. If necessary, detach the Subscription(s) from the Service Commitment(s).'; + OpenItemCardTxt: Label 'Open Item Card.'; + ItemMissingServCommPackageTxt: Label 'No Service Commitment Package is available for this item.'; + AssignServCommPackageToItemTxt: Label ' In order to extend the contract properly, please make sure that at least one package is assigned.'; protected var ItemNo: Code[20]; diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Reports/OverviewOfContractComp.Report.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Reports/OverviewOfContractComp.Report.al index b14c2399ed..3a8245e407 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Reports/OverviewOfContractComp.Report.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Reports/OverviewOfContractComp.Report.al @@ -39,11 +39,16 @@ report 8004 "Overview Of Contract Comp" column(DiscountPct; "Discount %") { IncludeCaption = true; } column(ServiceAmount; "Service Amount") { IncludeCaption = true; } - trigger OnAfterGetRecord() + trigger OnPreDataItem() begin if not ShowClosedContractLines then - if ServiceCommitment.IsClosed() then - CurrReport.Skip(); + SetRange(Closed, false); + end; + + trigger OnAfterGetRecord() + begin + if not ServiceObject.Get("Service Object No.") then + Clear(ServiceObject); end; } trigger OnPreDataItem() diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContract.Table.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContract.Table.al index 51a3cbc9bf..fbdc7eb9a5 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContract.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContract.Table.al @@ -18,7 +18,6 @@ using Microsoft.CRM.Outlook; using Microsoft.Finance.Dimension; using Microsoft.Finance.Currency; using Microsoft.Bank.BankAccount; -using System.Security.AccessControl; table 8052 "Customer Contract" { @@ -807,7 +806,7 @@ table 8052 "Customer Contract" { Caption = 'Assigned User ID'; DataClassification = EndUserIdentifiableInformation; - TableRelation = User."User Name"; + TableRelation = "User Setup"."User ID"; } field(9500; Active; Boolean) { @@ -997,6 +996,8 @@ table 8052 "Customer Contract" ModifySellToCustomerAddressNotificationDescriptionTxt: Label 'Warn if the sell-to address on customer contract is different from the customer''s existing address.'; ModifyBillToCustomerAddressNotificationNameTxt: Label 'Update Bill-to Customer Address'; ModifyBillToCustomerAddressNotificationDescriptionTxt: Label 'Warn if the bill-to address on customer contract is different from the customer''s existing address.'; + NotifySalesLineDiscountNotTransferredNotificationNameTxt: Label 'Sales Line Discount to Sales Service Commitment'; + NotifySalesLineDiscountNotTransferredDescriptionTxt: Label 'Warn if a Sales Line Discount is not transferred to a Sales Service Commitment.'; UpdateDimensionsOnLinesQst: Label 'You may have changed a dimension.\\Do you want to update the lines?'; AssignServicePricesMustBeRecalculatedMsg: Label 'You added services to a contract in which a different currency is stored than in the services. The prices for the services must therefore be recalculated.'; CurrCodeChangePricesMustBeRecalculatedMsg: Label 'If you change the currency code, the prices for existing services must be recalculated.'; @@ -1819,6 +1820,11 @@ table 8052 "Customer Contract" exit('9CF909A0-8C02-4153-89FD-8E30CD413E17'); end; + internal procedure GetNotificationIdDiscountIsNotTransferredFromSalesLine(): Guid + begin + exit('c4ede62f-7719-41af-a061-c1148cc18cfc'); + end; + internal procedure DontNotifyCurrentUserAgain(NotificationID: Guid) var MyNotifications: Record "My Notifications"; @@ -1831,6 +1837,12 @@ table 8052 "Customer Contract" GetModifyBillToCustomerAddressNotificationId(): MyNotifications.InsertDefault(NotificationID, ModifyBillToCustomerAddressNotificationNameTxt, ModifyBillToCustomerAddressNotificationDescriptionTxt, false); + GetNotificationIdDiscountIsNotTransferredFromSalesLine(): + MyNotifications.InsertDefault( + NotificationID, + NotifySalesLineDiscountNotTransferredNotificationNameTxt, + NotifySalesLineDiscountNotTransferredDescriptionTxt, + false); end; end; @@ -2122,11 +2134,8 @@ table 8052 "Customer Contract" ServiceCommitment.SetAscending("Next Billing Date", true); ServiceCommitment.SetRange("Contract No.", Rec."No."); ServiceCommitment.SetFilter("Contract Line No.", '<>%1', DeletedCustContractLineNo); - if ServiceCommitment.FindFirst() then - repeat - if not ServiceCommitment.IsClosed() then - ServiceCommitmentFound := true; - until (ServiceCommitmentFound = true) or (ServiceCommitment.Next() = 0); + ServiceCommitment.SetRange(Closed, false); + ServiceCommitmentFound := ServiceCommitment.FindFirst(); end; internal procedure IsContractEmpty(): Boolean diff --git a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContractLine.Table.al b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContractLine.Table.al index 3412b6410b..dc470ae538 100644 --- a/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContractLine.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Customer Contracts/Tables/CustomerContractLine.Table.al @@ -112,6 +112,7 @@ table 8062 "Customer Contract Line" ContractsGeneralMgt: Codeunit "Contracts General Mgt."; ConfirmManagement: Codeunit "Confirm Management"; CalledFromDeleteServiceCommitment: Boolean; + HideValidationDialog: Boolean; DeletionNotAllowedErr: Label 'Deletion is not allowed because the line is linked to a contract billing line. Please delete the billing proposal first.'; ClosedContractLinesDeletionQst: Label 'Deleting the contract line breaks the link to the service in the service object. Do you want to continue?'; OneContractLineSelectedErr: Label 'Please select the lines you want to combine.'; @@ -295,7 +296,7 @@ table 8062 "Customer Contract Line" begin if not Rec.Closed then exit; - if not ConfirmManagement.GetResponse(ClosedContractLinesDeletionQst, true) then + if not GetConfirmResponse(ClosedContractLinesDeletionQst, true) then Error(TextManagement.GetProcessingAbortedErr()); end; @@ -419,7 +420,7 @@ table 8062 "Customer Contract Line" ServiceCommitment: Record "Service Commitment"; begin CreateServiceObject(ServiceObject, RefCustomerContractLine."Service Object No.", CustomerContractLine); - CreateMergedServiceCommitment(ServiceCommitment, ServiceObject."No.", RefCustomerContractLine, CustomerContractLine); + CreateMergedServiceCommitment(ServiceCommitment, ServiceObject, RefCustomerContractLine); CloseCustomerContractLines(CustomerContractLine); if not AssignNewServiceCommitmentToCustomerContract(CustomerContractLine."Contract No.", ServiceCommitment) then exit(false); @@ -445,12 +446,12 @@ table 8062 "Customer Contract Line" ServiceObject.Insert(true); end; - local procedure CreateMergedServiceCommitment(var ServiceCommitment: Record "Service Commitment"; NewServiceObjectNo: Code[20]; RefCustomerContractLine: Record "Customer Contract Line"; var CustomerContractLine: Record "Customer Contract Line") + local procedure CreateMergedServiceCommitment(var ServiceCommitment: Record "Service Commitment"; ServiceObject: Record "Service Object"; RefCustomerContractLine: Record "Customer Contract Line") begin RefCustomerContractLine.GetServiceCommitment(ServiceCommitment); ServiceCommitment."Entry No." := 0; - ServiceCommitment."Service Object No." := NewServiceObjectNo; - ServiceCommitment.Validate("Service Amount", ServiceCommitment.GetTotalServiceAmountFromCustContractLines(CustomerContractLine)); + ServiceCommitment."Service Object No." := ServiceObject."No."; + ServiceCommitment.Validate("Service Amount", ServiceCommitment.Price * ServiceObject."Quantity Decimal"); ServiceCommitment.Validate("Service Start Date", ServiceCommitment."Next Billing Date"); ServiceCommitment.Insert(true); end; @@ -486,7 +487,9 @@ table 8062 "Customer Contract Line" ServiceCommitment."Service End Date" := ServiceCommitment."Next Billing Date"; ServiceCommitment."Next Billing Date" := 0D; ServiceCommitment.Validate("Service End Date"); + ServiceCommitment.Closed := true; ServiceCommitment.Modify(false); + CustomerContractLine.Closed := true; CustomerContractLine.Modify(false); end; @@ -514,6 +517,23 @@ table 8062 "Customer Contract Line" CalculationBaseAmount := 0; end; + procedure SetHideValidationDialog(NewHideValidationDialog: Boolean) + begin + HideValidationDialog := NewHideValidationDialog; + end; + + procedure GetHideValidationDialog(): Boolean + begin + exit(HideValidationDialog); + end; + + local procedure GetConfirmResponse(ConfirmQuestion: Text; DefaultButton: Boolean): Boolean + begin + if HideValidationDialog then + exit(true); + exit(ConfirmManagement.GetResponse(ConfirmQuestion, DefaultButton)); + end; + internal procedure SetCalledFromDeleteServiceCommitment(NewCalledFromDeleteServiceCommitment: Boolean) begin CalledFromDeleteServiceCommitment := NewCalledFromDeleteServiceCommitment; diff --git a/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/CustomerDeferralsMngmt.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/CustomerDeferralsMngmt.Codeunit.al index f2e7013add..3855bd4612 100644 --- a/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/CustomerDeferralsMngmt.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/CustomerDeferralsMngmt.Codeunit.al @@ -36,10 +36,9 @@ codeunit 8067 "Customer Deferrals Mngmt." GeneralPostingSetup: Record "General Posting Setup"; BillingLine: Record "Billing Line"; begin - if not SalesLine.IsLineAttachedToBillingLine() then - exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(SalesLine."Document Type"), SalesLine."Document No.", SalesLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; CustContractHeader.Get(BillingLine."Contract No."); GeneralPostingSetup.Get(SalesLine."Gen. Bus. Posting Group", SalesLine."Gen. Prod. Posting Group"); @@ -67,6 +66,20 @@ codeunit 8067 "Customer Deferrals Mngmt." InsertContractDeferrals(SalesHeader, xSalesLine, SalesInvHeader."No."); end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales-Post", OnPostSalesLineOnBeforeInsertCrMemoLine, '', false, false)] + local procedure InsertCustomerDeferralsFromSalesCrMemoOnPostSalesLineOnBeforeInsertCrMemoLine(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; var IsHandled: Boolean; xSalesLine: Record "Sales Line"; SalesCrMemoHeader: Record "Sales Cr.Memo Header") + var + SalesDocuments: Codeunit "Sales Documents"; + begin + if (xSalesLine.Quantity >= 0) or (xSalesLine."Unit Price" >= 0) then + exit; + + if SalesDocuments.GetAppliesToDocNo(SalesHeader) <> '' then + exit; + + InsertContractDeferrals(SalesHeader, xSalesLine, SalesCrMemoHeader."No."); + end; + local procedure InsertContractDeferrals(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; DocumentNo: Code[20]) var CustContractHeader: Record "Customer Contract"; @@ -80,15 +93,14 @@ codeunit 8067 "Customer Deferrals Mngmt." exit; if SalesLine.Quantity = 0 then exit; - if not SalesLine.IsLineAttachedToBillingLine() then - exit; if SalesLine."Recurring Billing from" > SalesLine."Recurring Billing to" then exit; if not (SalesLine."Document Type" in [Enum::"Sales Document Type"::Invoice, Enum::"Sales Document Type"::"Credit Memo"]) then exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(SalesLine."Document Type"), SalesLine."Document No.", SalesLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; CustContractHeader.Get(BillingLine."Contract No."); if CustContractHeader."Without Contract Deferrals" then exit; @@ -330,10 +342,9 @@ codeunit 8067 "Customer Deferrals Mngmt." CustomerContractHeader: Record "Customer Contract"; BillingLine: Record "Billing Line"; begin - if not SalesLine.IsLineAttachedToBillingLine() then - exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(SalesLine."Document Type"), SalesLine."Document No.", SalesLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; CustomerContractHeader.Get(BillingLine."Contract No."); exit(not CustomerContractHeader."Without Contract Deferrals"); diff --git a/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/VendorDeferralsMngmt.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/VendorDeferralsMngmt.Codeunit.al index 41591a1e89..4aa9c9638f 100644 --- a/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/VendorDeferralsMngmt.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Deferrals/Codeunits/VendorDeferralsMngmt.Codeunit.al @@ -37,9 +37,7 @@ codeunit 8068 "Vendor Deferrals Mngmt." GeneralPostingSetup: Record "General Posting Setup"; BillingLine: Record "Billing Line"; begin - BillingLine.SetRange("Document Type", BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchLine."Document Type")); - BillingLine.SetRange("Document No.", PurchLine."Document No."); - BillingLine.SetRange("Document Line No.", PurchLine."Line No."); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchLine."Document Type"), PurchLine."Document No.", PurchLine."Line No."); BillingLine.SetFilter("Billing from", '>=%1', PurchLine."Recurring Billing from"); BillingLine.SetFilter("Billing to", '<=%1', PurchLine."Recurring Billing to"); if not BillingLine.FindFirst() then @@ -79,8 +77,20 @@ codeunit 8068 "Vendor Deferrals Mngmt." end; end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", OnPostPurchLineOnBeforeInsertCrMemoLine, '', false, false)] + local procedure InsertVendorDeferralsFromPurchaseInvoiceOnPostPurchLineOnBeforeInsertCrMemoLine(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean; var PurchCrMemoLine: Record "Purch. Cr. Memo Line"; xPurchaseLine: Record "Purchase Line"); + begin + if (PurchaseLine.Quantity >= 0) or (PurchaseLine."Direct Unit Cost" >= 0) then + exit; + + if GetAppliesToDocNo(PurchaseHeader) <> '' then + exit; + + InsertContractDeferrals(PurchaseHeader, PurchaseLine, PurchaseHeader."Posting No."); + end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", OnPostPurchLineOnBeforeInsertInvoiceLine, '', false, false)] - local procedure InsertVendorDeferralsFromPurchaseInvoice(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line") + local procedure InsertVendorDeferralsFromPurchaseInvoiceOnPostPurchLineOnBeforeInsertInvoiceLine(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line") begin InsertContractDeferrals(PurchaseHeader, PurchaseLine, PurchaseHeader."Posting No."); end; @@ -97,15 +107,14 @@ codeunit 8068 "Vendor Deferrals Mngmt." exit; if PurchaseLine.Quantity = 0 then exit; - if not PurchaseLine.IsLineAttachedToBillingLine() then - exit; if PurchaseLine."Recurring Billing from" > PurchaseLine."Recurring Billing to" then exit; if not (PurchaseLine."Document Type" in [Enum::"Purchase Document Type"::Invoice, Enum::"Purchase Document Type"::"Credit Memo"]) then exit; BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"), PurchaseLine."Document No.", PurchaseLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; VendContractHeader.Get(BillingLine."Contract No."); if VendContractHeader."Without Contract Deferrals" then exit; @@ -331,11 +340,9 @@ codeunit 8068 "Vendor Deferrals Mngmt." VendorContractHeader: Record "Vendor Contract"; BillingLine: Record "Billing Line"; begin - if not PurchaseLine.IsLineAttachedToBillingLine() then - exit; - BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"), PurchaseLine."Document No.", PurchaseLine."Line No."); - BillingLine.FindFirst(); + if not BillingLine.FindFirst() then + exit; VendorContractHeader.Get(BillingLine."Contract No."); exit(not VendorContractHeader."Without Contract Deferrals"); end; diff --git a/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/CustomerContractDeferrals.Page.al b/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/CustomerContractDeferrals.Page.al index 78842d5309..0ef753063d 100644 --- a/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/CustomerContractDeferrals.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/CustomerContractDeferrals.Page.al @@ -112,7 +112,7 @@ page 8079 "Customer Contract Deferrals" ApplicationArea = Jobs; Caption = 'Dimensions'; Image = Dimensions; - ShortCutKey = 'Shift+Ctrl+D'; + ShortcutKey = 'Shift+Ctrl+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() diff --git a/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/VendorContractDeferrals.Page.al b/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/VendorContractDeferrals.Page.al index 6b06eb54ef..f6940b39a7 100644 --- a/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/VendorContractDeferrals.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Deferrals/Pages/VendorContractDeferrals.Page.al @@ -112,7 +112,7 @@ page 8081 "Vendor Contract Deferrals" ApplicationArea = Jobs; Caption = 'Dimensions'; Image = Dimensions; - ShortCutKey = 'Shift+Ctrl+D'; + ShortcutKey = 'Shift+Ctrl+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() diff --git a/Apps/W1/SubscriptionBilling/App/Deferrals/Tables/CustomerContractDeferral.Table.al b/Apps/W1/SubscriptionBilling/App/Deferrals/Tables/CustomerContractDeferral.Table.al index 8874fa95f5..ee21f7d76e 100644 --- a/Apps/W1/SubscriptionBilling/App/Deferrals/Tables/CustomerContractDeferral.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Deferrals/Tables/CustomerContractDeferral.Table.al @@ -109,7 +109,7 @@ table 8066 "Customer Contract Deferral" field(22; "Contract Line No."; Integer) { Caption = 'Contract Line No.'; - TableRelation = "Customer Contract Line"."Line No."; + TableRelation = "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")); } field(23; "Service Object Description"; Text[100]) { diff --git a/Apps/W1/SubscriptionBilling/App/Import/Codeunits/CreateServiceCommitment.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Import/Codeunits/CreateServiceCommitment.Codeunit.al index be85f8a088..79598f4beb 100644 --- a/Apps/W1/SubscriptionBilling/App/Import/Codeunits/CreateServiceCommitment.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Import/Codeunits/CreateServiceCommitment.Codeunit.al @@ -33,7 +33,6 @@ codeunit 8006 "Create Service Commitment" if not ServiceObject.Get(ImportedServiceCommitment."Service Object No.") then Error(ServiceObjectDoesNotExistErr); DateFormulaManagement.ErrorIfDateEmpty(ImportedServiceCommitment."Service Start Date", ImportedServiceCommitment.FieldCaption("Service Start Date")); - ImportedServiceCommitment.TestField("Calculation Base Amount"); if (ImportedServiceCommitment."Calculation Base %" < 0) or (ImportedServiceCommitment."Calculation Base %" > 100) then Error(ValueShouldBeBetweenErr, ImportedServiceCommitment.FieldCaption("Calculation Base %"), 0, 100); if (ImportedServiceCommitment."Discount %" < 0) or (ImportedServiceCommitment."Discount %" > 100) then @@ -60,6 +59,7 @@ codeunit 8006 "Create Service Commitment" var ServiceCommitment: Record "Service Commitment"; ServiceObject: Record "Service Object"; + ContractsItemManagement: Codeunit "Contracts Item Management"; begin ServiceCommitment.Init(); ServiceCommitment.Validate("Service Object No.", ImportedServiceCommitment."Service Object No."); @@ -72,7 +72,12 @@ codeunit 8006 "Create Service Commitment" OnAfterServiceCommitmentInsert(ServiceCommitment, ImportedServiceCommitment); ServiceCommitment."Invoicing via" := ImportedServiceCommitment."Invoicing via"; - ServiceCommitment."Invoicing Item No." := ImportedServiceCommitment."Invoicing Item No."; + if ImportedServiceCommitment."Invoicing Item No." <> '' then + ServiceCommitment."Invoicing Item No." := ImportedServiceCommitment."Invoicing Item No." + else + if ServiceObject.Get(ServiceCommitment."Service Object No.") then + if ContractsItemManagement.IsServiceCommitmentItem(ServiceObject."Item No.") then + ServiceCommitment."Invoicing Item No." := ServiceObject."Item No."; ServiceCommitment.Template := ImportedServiceCommitment."Template Code"; ServiceCommitment.Validate("Package Code", ImportedServiceCommitment."Package Code"); ServiceCommitment.Partner := ImportedServiceCommitment.Partner; diff --git a/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedCustomerContracts.Page.al b/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedCustomerContracts.Page.al index 520e3d2a1c..f1dd3b07ec 100644 --- a/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedCustomerContracts.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedCustomerContracts.Page.al @@ -56,7 +56,7 @@ page 8013 "Imported Customer Contracts" } field("Without Contract Deferrals"; Rec."Without Contract Deferrals") { - ToolTip = 'Indicates whether deferrals should be generated for the contract. If the field is activated, no deferrals are generated and the invoices are posted directly to profit or loss.'; + ToolTip = 'Specifies whether deferrals should be generated for the contract. If the field is activated, no deferrals are generated and the invoices are posted directly to profit or loss.'; } field("Detail Overview"; Rec."Detail Overview") { diff --git a/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedServiceCommitments.Page.al b/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedServiceCommitments.Page.al index e7bdafb1b8..4d90df1945 100644 --- a/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedServiceCommitments.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Import/Pages/ImportedServiceCommitments.Page.al @@ -17,6 +17,7 @@ page 8009 "Imported Service Commitments" field("Service Object No."; Rec."Service Object No.") { ToolTip = 'Specifies the Service Object, the Service Commitment will be created for.'; + ShowMandatory = true; } field("Service Object Line No."; Rec."Service Commitment Entry No.") { @@ -54,6 +55,7 @@ page 8009 "Imported Service Commitments" field("Service Start Date"; Rec."Service Start Date") { ToolTip = 'Specifies the date from which the service is valid and will be invoiced.'; + ShowMandatory = true; } field("Service End Date"; Rec."Service End Date") { @@ -90,6 +92,7 @@ page 8009 "Imported Service Commitments" field("Billing Base Period"; Rec."Billing Base Period") { ToolTip = 'Specifies for which period the Service Amount is valid. If you enter 1M here, a period of one month, or 12M, a period of 1 year, to which Service Amount refers to.'; + ShowMandatory = true; } field("Invoicing via"; Rec."Invoicing via") { @@ -116,6 +119,7 @@ page 8009 "Imported Service Commitments" field("Billing Rhythm"; Rec."Billing Rhythm") { ToolTip = 'Specifies the Dateformula for hythm in which the service is invoiced. Using a Dateformula rhythm can be, for example, a monthly, a quarterly or a yearly invoicing.'; + ShowMandatory = true; } field("Discount Amount (LCY)"; Rec."Discount Amount (LCY)") { diff --git a/Apps/W1/SubscriptionBilling/App/Import/Reports/CrServCommAndContrL.Report.al b/Apps/W1/SubscriptionBilling/App/Import/Reports/CrServCommAndContrL.Report.al index af51519675..cf2ef68c40 100644 --- a/Apps/W1/SubscriptionBilling/App/Import/Reports/CrServCommAndContrL.Report.al +++ b/Apps/W1/SubscriptionBilling/App/Import/Reports/CrServCommAndContrL.Report.al @@ -2,8 +2,8 @@ namespace Microsoft.SubscriptionBilling; report 8002 "Cr. Serv. Comm. And Contr. L." { - UsageCategory = Administration; ApplicationArea = All; + UsageCategory = None; ProcessingOnly = true; Caption = 'Create Service Commitments and Contract Lines'; diff --git a/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateCustomerContracts.Report.al b/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateCustomerContracts.Report.al index cc93617cab..34a35b6e00 100644 --- a/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateCustomerContracts.Report.al +++ b/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateCustomerContracts.Report.al @@ -2,8 +2,8 @@ namespace Microsoft.SubscriptionBilling; report 8003 "Create Customer Contracts" { - UsageCategory = Administration; ApplicationArea = All; + UsageCategory = None; ProcessingOnly = true; Caption = 'Create Customer Contracts'; diff --git a/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateServiceObjects.Report.al b/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateServiceObjects.Report.al index fd5508edff..4f6bd8b8bf 100644 --- a/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateServiceObjects.Report.al +++ b/Apps/W1/SubscriptionBilling/App/Import/Reports/CreateServiceObjects.Report.al @@ -2,8 +2,8 @@ namespace Microsoft.SubscriptionBilling; report 8001 "Create Service Objects" { - UsageCategory = Administration; ApplicationArea = All; + UsageCategory = None; ProcessingOnly = true; Caption = 'Create Service Objects'; diff --git a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Pages/OverdueServiceCommitments.Page.al b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Pages/OverdueServiceCommitments.Page.al index 33ef400903..7122fe14d1 100644 --- a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Pages/OverdueServiceCommitments.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Pages/OverdueServiceCommitments.Page.al @@ -5,6 +5,7 @@ page 8007 "Overdue Service Commitments" Caption = 'Overdue Service Commitments'; PageType = List; SourceTable = "Overdue Service Commitments"; + Editable = false; UsageCategory = None; SourceTableTemporary = true; ApplicationArea = All; @@ -34,6 +35,10 @@ page 8007 "Overdue Service Commitments" field("Service Commitment Description"; Rec."Service Commitment Description") { ToolTip = 'Specifies the description of the Service Commitment.'; + trigger OnAssistEdit() + begin + Rec.OpenServiceObjectCard(); + end; } field("Next Billing Date"; Rec."Next Billing Date") { @@ -78,11 +83,19 @@ page 8007 "Overdue Service Commitments" { ToolTip = 'Specifies the number of the Service Object.'; Visible = false; + trigger OnAssistEdit() + begin + Rec.OpenServiceObjectCard(); + end; } field("Service Object Description"; Rec."Service Object Description") { ToolTip = 'Specifies the description of the Service Object.'; Visible = false; + trigger OnAssistEdit() + begin + Rec.OpenServiceObjectCard(); + end; } field("Discount %"; Rec."Discount %") { diff --git a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueCustomerServComm.Query.al b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueCustomerServComm.Query.al index 355d699d27..a289a64e87 100644 --- a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueCustomerServComm.Query.al +++ b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueCustomerServComm.Query.al @@ -1,9 +1,13 @@ +#if not CLEAN26 namespace Microsoft.SubscriptionBilling; query 8000 "Overdue Customer Serv. Comm." { Caption = 'Overdue Service Commitments'; QueryType = Normal; + ObsoleteState = Pending; + ObsoleteTag = '26.0'; + ObsoleteReason = 'Removed as there is no need to use queries in order to fetch Service Commitments for temporary display using buffer table "Overdue Service Commitments"'; elements { @@ -39,4 +43,5 @@ query 8000 "Overdue Customer Serv. Comm." } } } -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueVendorServComm.Query.al b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueVendorServComm.Query.al index d11cacdc40..c1ca7806b8 100644 --- a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueVendorServComm.Query.al +++ b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Queries/OverdueVendorServComm.Query.al @@ -1,9 +1,13 @@ +#if not CLEAN26 namespace Microsoft.SubscriptionBilling; query 8001 "Overdue Vendor Serv. Comm." { Caption = 'Overdue Vendor Service Commitments'; QueryType = Normal; + ObsoleteState = Pending; + ObsoleteTag = '26.0'; + ObsoleteReason = 'Removed as there is no need to use queries in order to fetch Service Commitments for temporary display using buffer table "Overdue Service Commitments"'; elements { @@ -40,3 +44,4 @@ query 8001 "Overdue Vendor Serv. Comm." } } } +#endif \ No newline at end of file diff --git a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Tables/OverdueServiceCommitments.Table.al b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Tables/OverdueServiceCommitments.Table.al index a940ec8f3d..1341022454 100644 --- a/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Tables/OverdueServiceCommitments.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Overdue Service Commitments/Tables/OverdueServiceCommitments.Table.al @@ -1,5 +1,7 @@ namespace Microsoft.SubscriptionBilling; +using Microsoft.Inventory.Item; + table 8007 "Overdue Service Commitments" { DataClassification = CustomerContent; @@ -24,6 +26,8 @@ table 8007 "Overdue Service Commitments" field(4; "Contract No."; Code[20]) { Caption = 'Contract No.'; + TableRelation = if (Partner = const(Customer)) "Customer Contract" else + if (Partner = const(Vendor)) "Vendor Contract"; } field(5; "Contract Description"; Text[100]) { @@ -49,10 +53,12 @@ table 8007 "Overdue Service Commitments" field(11; "Item No."; Code[20]) { Caption = 'Item No.'; + TableRelation = Item; } field(12; "Contract Type"; Code[10]) { Caption = 'Contract Type'; + TableRelation = "Contract Type"; } field(13; "Billing Rhythm"; DateFormula) { @@ -93,18 +99,18 @@ table 8007 "Overdue Service Commitments" } } - procedure FillAndCountOverdueServiceCommitments(): Integer + procedure CountOverdueServiceCommitments(): Integer var + ServiceCommitment: Record "Service Commitment"; OverdueDate: Date; begin - Rec.DeleteAll(false); OverdueDate := CalcOverdueDate(); if OverdueDate = 0D then exit(0); - FillOverdueCustomerServiceCommitments(OverdueDate); - FillOverdueVendorServiceCommitments(OverdueDate); - exit(Rec.Count()); + ServiceCommitment.SetFilter("Next Billing Date", '<%1', OverdueDate); + ServiceCommitment.SetRange(Closed, false); + exit(ServiceCommitment.Count()); end; local procedure CalcOverdueDate(): Date @@ -119,71 +125,67 @@ table 8007 "Overdue Service Commitments" exit(CalcDate(ServiceContractSetup."Overdue Date Formula", WorkDate())); end; - local procedure FillOverdueCustomerServiceCommitments(OverdueDate: Date) + procedure FillOverdueServiceCommitments() var - OverdueCustomerServComm: Query "Overdue Customer Serv. Comm."; + OverdueDate: Date; begin - Clear(OverdueCustomerServComm); - OverdueCustomerServComm.SetFilter(NextBillingDate, '<%1', OverdueDate); - OverdueCustomerServComm.SetRange(ContractLineClosed, false); - if OverdueCustomerServComm.Open() then begin - while OverdueCustomerServComm.Read() do begin - Rec.Init(); - Rec."Line No." += 1; - Rec.Partner := OverdueCustomerServComm.Partner; - Rec."Partner Name" := OverdueCustomerServComm.PartnerName; - Rec."Contract No." := OverdueCustomerServComm.ContractNo; - Rec."Contract Description" := OverdueCustomerServComm.ContractDescription; - Rec."Service Commitment Description" := OverdueCustomerServComm.ServCommDescription; - Rec."Next Billing Date" := OverdueCustomerServComm.NextBillingDate; - Rec."Quantity Decimal" := OverdueCustomerServComm.Quantity; - Rec.Price := OverdueCustomerServComm.Price; - Rec."Service Amount" := OverdueCustomerServComm.ServiceAmount; - Rec."Item No." := OverdueCustomerServComm.ItemNo; - Rec."Contract Type" := OverdueCustomerServComm.ContractType; - Rec."Billing Rhythm" := OverdueCustomerServComm.BillingRhythm; - Rec."Service Start Date" := OverdueCustomerServComm.ServiceStartDate; - Rec."Service End Date" := OverdueCustomerServComm.ServiceEndDate; - Rec."Service Object No." := OverdueCustomerServComm.ServiceObjectNo; - Rec."Service Object Description" := OverdueCustomerServComm.ServiceObjectDescription; - Rec."Discount %" := OverdueCustomerServComm.Discount; - Rec.Insert(true); - end; - OverdueCustomerServComm.Close(); - end; + DeleteAll(false); + OverdueDate := CalcOverdueDate(); + if OverdueDate = 0D then + exit; + + FillOverdueServiceCommitments(OverdueDate); end; - local procedure FillOverdueVendorServiceCommitments(OverdueDate: Date) + local procedure FillOverdueServiceCommitments(OverdueDate: Date) var - OverdueVendorServComm: Query "Overdue Vendor Serv. Comm."; + ServiceCommitment: Record "Service Commitment"; + CustomerContract: Record "Customer Contract"; + VendorContract: Record "Vendor Contract"; begin - Clear(OverdueVendorServComm); - OverdueVendorServComm.SetFilter(NextBillingDate, '<%1', OverdueDate); - OverdueVendorServComm.SetRange(ContractLineClosed, false); - if OverdueVendorServComm.Open() then begin - while OverdueVendorServComm.Read() do begin + ServiceCommitment.SetFilter("Next Billing Date", '<%1', OverdueDate); + ServiceCommitment.SetRange(Closed, false); + ServiceCommitment.SetAutoCalcFields("Service Object Description", "Item No.", "Quantity Decimal"); + if ServiceCommitment.FindSet() then + repeat Rec.Init(); Rec."Line No." += 1; - Rec.Partner := OverdueVendorServComm.Partner; - Rec."Partner Name" := OverdueVendorServComm.PartnerName; - Rec."Contract No." := OverdueVendorServComm.ContractNo; - Rec."Contract Description" := OverdueVendorServComm.ContractDescription; - Rec."Service Commitment Description" := OverdueVendorServComm.ServCommDescription; - Rec."Next Billing Date" := OverdueVendorServComm.NextBillingDate; - Rec."Quantity Decimal" := OverdueVendorServComm.Quantity; - Rec.Price := OverdueVendorServComm.Price; - Rec."Service Amount" := OverdueVendorServComm.ServiceAmount; - Rec."Item No." := OverdueVendorServComm.ItemNo; - Rec."Contract Type" := OverdueVendorServComm.ContractType; - Rec."Billing Rhythm" := OverdueVendorServComm.BillingRhythm; - Rec."Service Start Date" := OverdueVendorServComm.ServiceStartDate; - Rec."Service End Date" := OverdueVendorServComm.ServiceEndDate; - Rec."Service Object No." := OverdueVendorServComm.ServiceObjectNo; - Rec."Service Object Description" := OverdueVendorServComm.ServiceObjectDescription; - Rec."Discount %" := OverdueVendorServComm.Discount; - Rec.Insert(true); - end; - OverdueVendorServComm.Close(); - end; + Rec.Partner := ServiceCommitment.Partner; + Rec."Contract No." := ServiceCommitment."Contract No."; + case Rec.Partner of + Rec.Partner::Customer: + if CustomerContract.Get(Rec."Contract No.") then begin + Rec."Partner Name" := CustomerContract."Ship-to Name"; + Rec."Contract Description" := CustomerContract."Description Preview"; + Rec."Contract Type" := CustomerContract."Contract Type"; + end; + Rec.Partner::Vendor: + if VendorContract.Get(Rec."Contract No.") then begin + Rec."Partner Name" := VendorContract."Buy-from Vendor Name"; + Rec."Contract Description" := VendorContract."Description Preview"; + Rec."Contract Type" := VendorContract."Contract Type"; + end; + end; + Rec."Service Commitment Description" := ServiceCommitment.Description; + Rec."Next Billing Date" := ServiceCommitment."Next Billing Date"; + Rec."Quantity Decimal" := ServiceCommitment."Quantity Decimal"; + Rec.Price := ServiceCommitment.Price; + Rec."Service Amount" := ServiceCommitment."Service Amount"; + Rec."Item No." := ServiceCommitment."Item No."; + Rec."Billing Rhythm" := ServiceCommitment."Billing Rhythm"; + Rec."Service Start Date" := ServiceCommitment."Service Start Date"; + Rec."Service End Date" := ServiceCommitment."Service End Date"; + Rec."Service Object No." := ServiceCommitment."Service Object No."; + Rec."Service Object Description" := ServiceCommitment."Service Object Description"; + Rec."Discount %" := ServiceCommitment."Discount %"; + Rec.Insert(false); + until ServiceCommitment.Next() = 0; + end; + + internal procedure OpenServiceObjectCard() + var + ServiceObject: Record "Service Object"; + begin + ServiceObject.OpenServiceObjectCard("Service Object No."); end; } \ No newline at end of file diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Codeunits/SalesServiceCommitmentMgmt.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Codeunits/SalesServiceCommitmentMgmt.Codeunit.al index 37e073ab91..fa8ef0a761 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Codeunits/SalesServiceCommitmentMgmt.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Codeunits/SalesServiceCommitmentMgmt.Codeunit.al @@ -1,5 +1,6 @@ namespace Microsoft.SubscriptionBilling; +using System.Environment.Configuration; using Microsoft.Utilities; using Microsoft.Sales.Document; using Microsoft.Sales.Archive; @@ -448,6 +449,43 @@ codeunit 8069 "Sales Service Commitment Mgmt." end; end; + internal procedure NotifyIfDiscountIsNotTransferredFromSalesLine(var SalesLine: Record "Sales Line") + var + SalesServiceCommitment: Record "Sales Service Commitment"; + CustomerContract: Record "Customer Contract"; + MyNotification: Record "My Notifications"; + NotificationLifecycleMgt: Codeunit "Notification Lifecycle Mgt."; + Notify: Notification; + DiscountNotTransferredTxt: Label 'The %1 of %2 %3 has not been transferred to the Sales Service Commitment(s). The %1 is only transferred to Sales Service Commitment, if %4 is set to %5.'; + DontShowAgainActionLbl: Label 'Don''t show again'; + begin + if not MyNotification.IsEnabled(CustomerContract.GetNotificationIdDiscountIsNotTransferredFromSalesLine()) then + exit; + SalesServiceCommitment.FilterOnSalesLine(SalesLine); + SalesServiceCommitment.SetRange(Partner, SalesServiceCommitment.Partner::Customer); + SalesServiceCommitment.SetFilter("Calculation Base Type", '<>%1', SalesServiceCommitment."Calculation Base Type"::"Document Price And Discount"); + if not SalesServiceCommitment.IsEmpty() then begin + NotificationLifecycleMgt.RecallNotificationsForRecord(SalesLine.RecordId(), false); + Notify.Message := + StrSubstNo( + DiscountNotTransferredTxt, + SalesServiceCommitment.FieldCaption("Discount %"), + SalesLine.Type, + SalesLine."No.", + SalesServiceCommitment.FieldCaption("Calculation Base Type"), + SalesServiceCommitment."Calculation Base Type"::"Document Price And Discount"); + Notify.AddAction(DontShowAgainActionLbl, Codeunit::"Sales Service Commitment Mgmt.", 'SalesServComDiscPercentHideNotificationForCurrentUser'); + NotificationLifecycleMgt.SendNotification(Notify, SalesLine.RecordId()); + end; + end; + + internal procedure SalesServComDiscPercentHideNotificationForCurrentUser(Notification: Notification) + var + CustomerContract: Record "Customer Contract"; + begin + CustomerContract.DontNotifyCurrentUserAgain(CustomerContract.GetNotificationIdDiscountIsNotTransferredFromSalesLine()); + end; + var SessionStore: Codeunit "Session Store"; ItemManagement: Codeunit "Contracts Item Management"; diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderArchSub.PageExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderArchSub.PageExt.al index 372f8c2d2e..ac9e21118a 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderArchSub.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderArchSub.PageExt.al @@ -11,7 +11,7 @@ pageextension 8010 "Blanket Sales Order Arch. Sub." extends "Blanket Sales Order field("Service Commitments"; Rec."Service Commitments") { ApplicationArea = All; - ToolTip = 'Shows the number of service commitments for the sales line.'; + ToolTip = 'Shows the number of service commitments (Subscription Billing) for the archived sales line.'; } } } @@ -25,7 +25,7 @@ pageextension 8010 "Blanket Sales Order Arch. Sub." extends "Blanket Sales Order ApplicationArea = All; Caption = 'Service Commitments'; Image = AllLines; - RunObject = Page "Sales Serv. Comm. Archive List"; + RunObject = page "Sales Serv. Comm. Archive List"; RunPageLink = "Document Type" = field("Document Type"), "Document No." = field("Document No."), "Document Line No." = field("Line No."); ToolTip = 'Shows the archived service commitments for the line.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderSubform.PageExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderSubform.PageExt.al index 7a4609f674..c5d37e0782 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderSubform.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/BlanketSalesOrderSubform.PageExt.al @@ -11,7 +11,7 @@ pageextension 8009 "Blanket Sales Order Subform" extends "Blanket Sales Order Su field("Service Commitments"; Rec."Service Commitments") { ApplicationArea = All; - ToolTip = 'Shows the number of service commitments for the sales line.'; + ToolTip = 'Shows the number of service commitments (Subscription Billing) for the sales line.'; } } } @@ -24,7 +24,7 @@ pageextension 8009 "Blanket Sales Order Subform" extends "Blanket Sales Order Su ApplicationArea = All; Caption = 'Service Commitments'; Image = AllLines; - RunObject = Page "Sales Service Commitments"; + RunObject = page "Sales Service Commitments"; RunPageLink = "Document Type" = field("Document Type"), "Document No." = field("Document No."), "Document Line No." = field("Line No."); ToolTip = 'Shows the service commitments for the sales line.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesLineFactBox.PageExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesLineFactBox.PageExt.al index ca1880ca09..56f54e3501 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesLineFactBox.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesLineFactBox.PageExt.al @@ -11,7 +11,7 @@ pageextension 8077 "Sales Line FactBox" extends "Sales Line FactBox" field("Service Commitments"; Rec."Service Commitments") { ApplicationArea = All; - ToolTip = 'Shows the number of service commitments for the sales line.'; + ToolTip = 'Shows the number of service commitments (Subscription Billing) for the sales line.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderArchiveSubform.PageExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderArchiveSubform.PageExt.al index 55c2101317..7c633c83fc 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderArchiveSubform.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderArchiveSubform.PageExt.al @@ -11,7 +11,7 @@ pageextension 8079 "Sales Order Archive Subform" extends "Sales Order Archive Su field("Service Commitments"; Rec."Service Commitments") { ApplicationArea = All; - ToolTip = 'Shows the number of service commitments for the sales line.'; + ToolTip = 'Shows the number of service commitments (Subscription Billing) for the archived sales line.'; } } } @@ -24,7 +24,7 @@ pageextension 8079 "Sales Order Archive Subform" extends "Sales Order Archive Su ApplicationArea = All; Caption = 'Service Commitments'; Image = AllLines; - RunObject = Page "Sales Serv. Comm. Archive List"; + RunObject = page "Sales Serv. Comm. Archive List"; RunPageLink = "Document Type" = field("Document Type"), "Document No." = field("Document No."), "Document Line No." = field("Line No."); ToolTip = 'Shows the archived service commitments for the line.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderSubform.PageExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderSubform.PageExt.al index 9466a18911..394cb0f12f 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderSubform.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesOrderSubform.PageExt.al @@ -11,7 +11,7 @@ pageextension 8076 "Sales Order Subform" extends "Sales Order Subform" field("Service Commitments"; Rec."Service Commitments") { ApplicationArea = All; - ToolTip = 'Shows the number of service commitments for the sales line.'; + ToolTip = 'Shows the number of service commitments (Subscription Billing) for the sales line.'; } field("Customer Contract No."; CustomerContractNo) { @@ -54,7 +54,7 @@ pageextension 8076 "Sales Order Subform" extends "Sales Order Subform" ApplicationArea = All; Caption = 'Service Commitments'; Image = AllLines; - RunObject = Page "Sales Service Commitments"; + RunObject = page "Sales Service Commitments"; RunPageLink = "Document Type" = field("Document Type"), "Document No." = field("Document No."), "Document Line No." = field("Line No."); ToolTip = 'Shows the service commitments for the sales line.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteArchiveSubform.PageExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteArchiveSubform.PageExt.al index c7fda2276b..02e6396c53 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteArchiveSubform.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteArchiveSubform.PageExt.al @@ -11,7 +11,7 @@ pageextension 8078 "Sales Quote Archive Subform" extends "Sales Quote Archive Su field("Service Commitments"; Rec."Service Commitments") { ApplicationArea = All; - ToolTip = 'Shows the number of service commitments for the sales line.'; + ToolTip = 'Shows the number of service commitments (Subscription Billing) for the archived sales line.'; } } } @@ -24,7 +24,7 @@ pageextension 8078 "Sales Quote Archive Subform" extends "Sales Quote Archive Su ApplicationArea = All; Caption = 'Service Commitments'; Image = AllLines; - RunObject = Page "Sales Serv. Comm. Archive List"; + RunObject = page "Sales Serv. Comm. Archive List"; RunPageLink = "Document Type" = field("Document Type"), "Document No." = field("Document No."), "Document Line No." = field("Line No."); ToolTip = 'Shows the archived service commitments for the line.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteSubform.PageExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteSubform.PageExt.al index da334404c1..646cecce42 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteSubform.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Page Extensions/SalesQuoteSubform.PageExt.al @@ -11,7 +11,7 @@ pageextension 8075 "Sales Quote Subform" extends "Sales Quote Subform" field("Service Commitments"; Rec."Service Commitments") { ApplicationArea = All; - ToolTip = 'Shows the number of service commitments for the sales line.'; + ToolTip = 'Shows the number of service commitments (Subscription Billing) for the sales line.'; } field("Customer Contract No."; CustomerContractNo) { @@ -55,7 +55,7 @@ pageextension 8075 "Sales Quote Subform" extends "Sales Quote Subform" ApplicationArea = All; Caption = 'Service Commitments'; Image = AllLines; - RunObject = Page "Sales Service Commitments"; + RunObject = page "Sales Service Commitments"; RunPageLink = "Document Type" = field("Document Type"), "Document No." = field("Document No."), "Document Line No." = field("Line No."); ToolTip = 'Shows the service commitments for the sales line.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServCommArchiveList.Page.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServCommArchiveList.Page.al index c63cfacbd0..88133b4a4f 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServCommArchiveList.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServCommArchiveList.Page.al @@ -62,7 +62,7 @@ page 8083 "Sales Serv. Comm. Archive List" } field("Agreed Serv. Comm. Start Date"; Rec."Agreed Serv. Comm. Start Date") { - ToolTip = 'Indicates the individually agreed start of the service. Enter a date here to overwrite the determination of the start of service with the start of service formula upon delivery. If the field remains empty, the start of the service is determined upon delivery.'; + ToolTip = 'Specifies the individually agreed start of the service. Enter a date here to overwrite the determination of the start of service with the start of service formula upon delivery. If the field remains empty, the start of the service is determined upon delivery.'; } field("Initial Term"; Rec."Initial Term") { diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitments.Page.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitments.Page.al index d3e8e66f9a..eb68940730 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitments.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitments.Page.al @@ -85,7 +85,7 @@ page 8082 "Sales Service Commitments" } field("Agreed Serv. Comm. Start Date"; Rec."Agreed Serv. Comm. Start Date") { - ToolTip = 'Indicates the individually agreed start of the service. Enter a date here to overwrite the determination of the start of service with the start of service formula upon delivery. If the field remains empty, the start of the service is determined upon delivery.'; + ToolTip = 'Specifies the individually agreed start of the service. Enter a date here to overwrite the determination of the start of service with the start of service formula upon delivery. If the field remains empty, the start of the service is determined upon delivery.'; } field("Initial Term"; Rec."Initial Term") { diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitmentsList.Page.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitmentsList.Page.al index 3d63db332b..dd1c1dc1b0 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitmentsList.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Pages/SalesServiceCommitmentsList.Page.al @@ -59,7 +59,7 @@ page 8015 "Sales Service Commitments List" } field("Agreed Serv. Comm. Start Date"; Rec."Agreed Serv. Comm. Start Date") { - ToolTip = 'Indicates the individually agreed start of the service. Enter a date here to overwrite the determination of the start of service with the start of service formula upon delivery. If the field remains empty, the start of the service is determined upon delivery.'; + ToolTip = 'Specifies the individually agreed start of the service. Enter a date here to overwrite the determination of the start of service with the start of service formula upon delivery. If the field remains empty, the start of the service is determined upon delivery.'; Visible = false; } field("Billing Rhythm"; Rec."Billing Rhythm") diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseHeader.TableExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseHeader.TableExt.al index a2f8b3d9e8..cf2a7ff50d 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseHeader.TableExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseHeader.TableExt.al @@ -27,4 +27,19 @@ tableextension 8061 "Purchase Header" extends "Purchase Header" begin exit(GetLastLineNo() + 10000); end; + + internal procedure SetRecurringBilling() + begin + Rec.Validate("Recurring Billing", true); + Rec.Modify(false); + end; + + internal procedure RunGetVendorContractLines() + var + GetVendorContractLines: Page "Get Vendor Contract Lines"; + begin + GetVendorContractLines.LookupMode(true); + GetVendorContractLines.SetPurchaseHeader(Rec); + GetVendorContractLines.RunModal(); + end; } \ No newline at end of file diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseLine.TableExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseLine.TableExt.al index 56d6f93d6e..195bd7cabd 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseLine.TableExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/PurchaseLine.TableExt.al @@ -2,6 +2,7 @@ namespace Microsoft.SubscriptionBilling; using Microsoft.Purchases.Document; using Microsoft.Finance.Dimension; +using Microsoft.Inventory.Item; tableextension 8065 "Purchase Line" extends "Purchase Line" { @@ -23,6 +24,13 @@ tableextension 8065 "Purchase Line" extends "Purchase Line" Editable = false; DataClassification = CustomerContent; } + field(8056; "Attached to Contract line"; Boolean) + { + Caption = 'Attached to Contract line'; + Editable = false; + FieldClass = FlowField; + CalcFormula = exist("Billing Line" where("Document Type" = filter(Invoice), "Document No." = field("Document No."), "Document Line No." = field("Line No."))); + } } var @@ -41,9 +49,38 @@ tableextension 8065 "Purchase Line" extends "Purchase Line" var BillingLine: Record "Billing Line"; begin - BillingLine.SetRange("Document Type", BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(Rec."Document Type")); - BillingLine.SetRange("Document No.", Rec."Document No."); - BillingLine.SetRange("Document Line No.", Rec."Line No."); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(Rec."Document Type"), Rec."Document No.", Rec."Line No."); exit(not BillingLine.IsEmpty()); end; + + internal procedure IsContractLineAssignable(): Boolean + var + Item: Record Item; + begin + if not (Rec.Type = Enum::"Purchase Line Type"::Item) then + exit; + if not Item.Get(Rec."No.") then + exit; + exit((Item."Service Commitment Option" in [Enum::"Item Service Commitment Type"::"Service Commitment Item", Enum::"Item Service Commitment Type"::"Invoicing Item"]) + and (not Rec.IsLineAttachedToBillingLine())); + end; + + internal procedure AssignVendorContractLine() + var + GetVendorContractLines: Page "Get Vendor Contract Lines"; + begin + GetVendorContractLines.LookupMode(true); + GetVendorContractLines.SetPurchaseLine(Rec); + GetVendorContractLines.RunModal(); + end; + + internal procedure IsPurchaseInvoice(): Boolean + begin + exit(Rec."Document Type" = Enum::"Purchase Document Type"::Invoice); + end; + + internal procedure IsPurchaseOrderLineAttachedToBillingLine(): Boolean + begin + exit((Rec."Document Type" = Enum::"Purchase Document Type"::Order) and Rec.IsLineAttachedToBillingLine()); + end; } \ No newline at end of file diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al index df41072cc0..d0b688b476 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al @@ -94,8 +94,12 @@ tableextension 8054 "Sales Line" extends "Sales Line" modify("Line Discount %") { trigger OnAfterValidate() + var + SalesServiceCommitmentMgmt: Codeunit "Sales Service Commitment Mgmt."; begin UpdateSalesServiceCommitmentCalculationBaseAmount(Rec, xRec); + if Rec."Line Discount %" <> xRec."Line Discount %" then + SalesServiceCommitmentMgmt.NotifyIfDiscountIsNotTransferredFromSalesLine(Rec); end; } modify("Customer Price Group") @@ -120,8 +124,12 @@ tableextension 8054 "Sales Line" extends "Sales Line" modify("Allow Invoice Disc.") { trigger OnAfterValidate() + var + Item: Record Item; begin - ErrorIfItemIsServiceCommitmentItem(); + if Rec."Allow Invoice Disc." then + if IsServiceCommitmentItem() then + Error(Item.GetDoNotAllowInvoiceDiscountForServiceCommitmentItemErrorText()); end; } } @@ -210,16 +218,13 @@ tableextension 8054 "Sales Line" extends "Sales Line" end; end; - local procedure ErrorIfItemIsServiceCommitmentItem() - var - Item: Record Item; + internal procedure IsServiceCommitmentItem(): Boolean begin - if Rec.Type <> Rec.Type::Item then - exit; - if Rec."Allow Invoice Disc." then - if Item.Get(Rec."No.") then - if Item.IsServiceCommitmentItem() then - Error(Item.GetDoNotAllowInvoiceDiscountForServiceCommitmentItemErrorText()); + if (Rec.Type <> Rec.Type::Item) or ("No." = '') then + exit(false); + if Rec."Service Commitment Option".AsInteger() = 0 then + Rec.CalcFields("Service Commitment Option"); + exit(Rec."Service Commitment Option" = "Item Service Commitment Type"::"Service Commitment Item"); end; local procedure ErrorIfServiceObjectTypeCannotBeSelectedManually() @@ -300,9 +305,7 @@ tableextension 8054 "Sales Line" extends "Sales Line" var BillingLine: Record "Billing Line"; begin - BillingLine.SetRange("Document Type", BillingLine.GetBillingDocumentTypeFromSalesDocumentType(Rec."Document Type")); - BillingLine.SetRange("Document No.", Rec."Document No."); - BillingLine.SetRange("Document Line No.", Rec."Line No."); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromSalesDocumentType(Rec."Document Type"), Rec."Document No.", Rec."Line No."); exit(not BillingLine.IsEmpty()); end; diff --git a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Tables/SalesServiceCommitment.Table.al b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Tables/SalesServiceCommitment.Table.al index db5d19415a..cf9a63b51f 100644 --- a/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Tables/SalesServiceCommitment.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Sales Service Commitments/Tables/SalesServiceCommitment.Table.al @@ -368,7 +368,7 @@ table 8068 "Sales Service Commitment" SalesServiceCommitmentCannotBeDeletedErr: Label 'The Sales Service Commitment cannot be deleted, because it is the last line with Process Contract Renewal. Please delete the Sales line in order to delete the Sales Service Commitment.'; begin TestIfSalesOrderIsReleased(); - if Rec.IsLastContractRenewalLineToBeDeleted() then + if Rec.IsOnlyRemainingLineForContractRenewalInDocument() then Error(SalesServiceCommitmentCannotBeDeletedErr); end; @@ -413,6 +413,7 @@ table 8068 "Sales Service Commitment" MaxServiceAmount := Round((Price * SalesLine.Quantity), Currency."Amount Rounding Precision"); if CalledByFieldNo = FieldNo("Service Amount") then begin + "Service Amount" := Round("Service Amount", Currency."Amount Rounding Precision"); if "Service Amount" > MaxServiceAmount then Error(ServiceAmountIncreaseErr, FieldCaption("Service Amount"), Format(MaxServiceAmount)); "Discount Amount" := Round(MaxServiceAmount - "Service Amount", Currency."Amount Rounding Precision"); @@ -702,10 +703,13 @@ table 8068 "Sales Service Commitment" end; end; - internal procedure IsLastContractRenewalLineToBeDeleted(): Boolean + internal procedure IsOnlyRemainingLineForContractRenewalInDocument(): Boolean var SalesServiceCommitment: Record "Sales Service Commitment"; begin + if Process <> Process::"Contract Renewal" then + exit(false); + SalesServiceCommitment.SetRange("Document Type", Rec."Document Type"); SalesServiceCommitment.SetRange("Document No.", Rec."Document No."); SalesServiceCommitment.SetRange(Process, Process::"Contract Renewal"); diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Codeunits/SalesReportPrintoutMgmt.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Codeunits/SalesReportPrintoutMgmt.Codeunit.al index 725e58242e..068b766d67 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Codeunits/SalesReportPrintoutMgmt.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Codeunits/SalesReportPrintoutMgmt.Codeunit.al @@ -1,6 +1,7 @@ namespace Microsoft.SubscriptionBilling; using System.Text; +using System.Reflection; using Microsoft.Utilities; using Microsoft.Sales.Document; using Microsoft.Inventory.Item; @@ -12,7 +13,8 @@ codeunit 8073 "Sales Report Printout Mgmt." var ReportFormatting: Codeunit "Report Formatting"; - RecurringServicesLbl: Label 'Recurring Services'; + RecurringServicesTotalLbl: Label 'Recurring Services (*)'; + RecurringServicesPerLineLbl: Label 'Recurring Services*'; ServicePriceLbl: Label 'Service Price'; ServiceDiscountPercLbl: Label 'Service Discount %'; TotalTextTok: Label 'TotalText', Locked = true; @@ -126,8 +128,8 @@ codeunit 8073 "Sales Report Printout Mgmt." ShowDiscount := true; until SalesServiceCommitment.Next() = 0; // Adds captions for Line Details - ReportFormatting.AddValueToBuffer(SalesLineServiceCommitmentsCaption, TotalTextTok, RecurringServicesLbl); - ReportFormatting.AddValueToBuffer(SalesLineServiceCommitmentsCaption, SalesLineServiceCommitments.FieldName(Description), RecurringServicesLbl); + ReportFormatting.AddValueToBuffer(SalesLineServiceCommitmentsCaption, TotalTextTok, RecurringServicesTotalLbl); + ReportFormatting.AddValueToBuffer(SalesLineServiceCommitmentsCaption, SalesLineServiceCommitments.FieldName(Description), RecurringServicesPerLineLbl); if ShowDiscount then ReportFormatting.AddValueToBuffer(SalesLineServiceCommitmentsCaption, SalesLineServiceCommitments.FieldName("Line Discount %"), ServiceDiscountPercLbl); ReportFormatting.AddValueToBuffer(SalesLineServiceCommitmentsCaption, SalesLineServiceCommitments.FieldName("Unit Price"), ServicePriceLbl); @@ -200,4 +202,42 @@ codeunit 8073 "Sales Report Printout Mgmt." local procedure OnBeforeFillServiceCommitmentsGroupPerPeriod(SalesHeader: Record "Sales Header"; var TempSalesServiceCommitmentBuff: Record "Sales Service Commitment Buff." temporary; var GroupPerPeriod: Record "Name/Value Buffer"; var UniqueRhythmDictionary: Dictionary of [Code[20], Text]; TotalText: Text[50]; TotalInclVATText: Text[50]; TotalExclVATText: Text[50]; var IsHandled: Boolean) begin end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Format Document", OnAfterSetSalesLine, '', false, false)] + local procedure SalesLineAddMarkToFormattedLineAmount(var SalesLine: Record "Sales Line"; var FormattedLineAmount: Text) + begin + if CheckAppendAsteriskToFormattedLineAmount(SalesLine) then + AppendAsteriskToText(FormattedLineAmount); + end; + + local procedure CheckAppendAsteriskToFormattedLineAmount(SourceRecord: Variant): Boolean + begin + exit(IsServiceCommitmentItem(SourceRecord)); + end; + + local procedure IsServiceCommitmentItem(SourceRecord: Variant): Boolean + var + SalesLine: Record "Sales Line"; + DataTypeManagement: Codeunit "Data Type Management"; + RecRef: RecordRef; + SourceRecordNotDefinedForProcessingErr: Label 'Table %1 %2 has not been defined for processing.'; + begin + DataTypeManagement.GetRecordRef(SourceRecord, RecRef); + case RecRef.Number of + Database::"Sales Line": + begin + RecRef.SetTable(SalesLine); + exit(SalesLine.IsServiceCommitmentItem()); + end; + else + Error(SourceRecordNotDefinedForProcessingErr, RecRef.Number, RecRef.Caption()); + end; + end; + + local procedure AppendAsteriskToText(var TextToAppendAsterisk: Text) + begin + if DelChr(TextToAppendAsterisk) = '' then + exit; + TextToAppendAsterisk += '*'; + end; } \ No newline at end of file diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentArchive.Page.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentArchive.Page.al index 2871bd966c..517e695aac 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentArchive.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentArchive.Page.al @@ -57,6 +57,10 @@ page 8094 "Service Commitment Archive" { ToolTip = 'Specifies the serial no. of the service object before the change.'; } + field("Variant Code (Service Object)"; Rec."Variant Code (Service Object)") + { + ToolTip = 'Specifies the variant code of the service object before the change.'; + } field("Service Amount"; Rec."Service Amount") { ToolTip = 'Specifies the amount for the service including discount.'; diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackage.Page.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackage.Page.al index 291b938a80..4125a4c8f0 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackage.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackage.Page.al @@ -51,7 +51,7 @@ page 8056 "Service Commitment Package" { Caption = 'Assigned Items'; Image = ItemLedger; - RunObject = Page "Assigned Items"; + RunObject = page "Assigned Items"; RunPageLink = Code = field(Code); ToolTip = 'Shows items related to a package.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackages.Page.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackages.Page.al index ef6d4a3e67..27aa73c6d9 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackages.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitmentPackages.Page.al @@ -39,7 +39,7 @@ page 8057 "Service Commitment Packages" { Caption = 'Assigned Items'; Image = ItemLedger; - RunObject = Page "Assigned Items"; + RunObject = page "Assigned Items"; RunPageLink = Code = field(Code); ToolTip = 'Shows items related to a package.'; } diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitments.Page.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitments.Page.al index f04aa5a413..1d191d6737 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitments.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Pages/ServiceCommitments.Page.al @@ -275,7 +275,7 @@ page 8064 "Service Commitments" Caption = 'Dimensions'; Image = Dimensions; Scope = Repeater; - ShortCutKey = 'Shift+Ctrl+D'; + ShortcutKey = 'Shift+Ctrl+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitment.Table.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitment.Table.al index f3fa0daecb..5fc68aec18 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitment.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitment.Table.al @@ -263,7 +263,8 @@ table 8059 "Service Commitment" field(27; "Contract Line No."; Integer) { Caption = 'Contract Line No.'; - TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")); + TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")) else + if (Partner = const(Vendor)) "Vendor Contract Line"."Line No." where("Contract No." = field("Contract No.")); } field(29; "Shortcut Dimension 1 Code"; Code[20]) { @@ -383,6 +384,10 @@ table 8059 "Service Commitment" { Caption = 'Period Calculation'; } + field(107; "Closed"; Boolean) + { + Caption = 'Closed'; + } field(200; "Planned Serv. Comm. exists"; Boolean) { Caption = 'Planned Service Commitment exists'; @@ -403,6 +408,14 @@ table 8059 "Service Commitment" DateFormulaManagement.ErrorIfDateFormulaNegative("Renewal Term"); end; } + field(210; Selected; Boolean) + { + Caption = 'Selected'; + } + field(211; Indent; Integer) + { + Caption = 'Indent'; + } field(480; "Dimension Set ID"; Integer) { Caption = 'Dimension Set ID'; @@ -691,6 +704,8 @@ table 8059 "Service Commitment" if not "Usage Based Billing" then MaxServiceAmount := Round(MaxServiceAmount, Currency."Amount Rounding Precision"); if CalledByFieldNo = FieldNo("Service Amount") then begin + if not "Usage Based Billing" then + "Service Amount" := Round("Service Amount", Currency."Amount Rounding Precision"); if "Service Amount" > MaxServiceAmount then Error(CannotBeGreaterThanErr, FieldCaption("Service Amount"), Format(MaxServiceAmount)); if "Service Amount" < 0 then @@ -755,13 +770,16 @@ table 8059 "Service Commitment" end; internal procedure RecalculateAmountsFromCurrencyData() + var + Currency: Record Currency; begin if ((Rec."Currency Factor" = 0) and (Rec."Currency Code" = '')) then exit; - Rec.Price := CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Price (LCY)", "Currency Factor"); - Rec."Service Amount" := CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Service Amount (LCY)", "Currency Factor"); - Rec."Discount Amount" := CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Discount Amount (LCY)", "Currency Factor"); - Rec."Calculation Base Amount" := CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Calculation Base Amount (LCY)", "Currency Factor"); + Currency.Initialize("Currency Code"); + Rec.Price := Round(CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Price (LCY)", "Currency Factor"), Currency."Unit-Amount Rounding Precision"); + Rec."Service Amount" := Round(CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Service Amount (LCY)", "Currency Factor"), Currency."Amount Rounding Precision"); + Rec."Discount Amount" := Round(CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Discount Amount (LCY)", "Currency Factor"), Currency."Amount Rounding Precision"); + Rec."Calculation Base Amount" := Round(CurrExchRate.ExchangeAmtLCYToFCY("Currency Factor Date", "Currency Code", "Calculation Base Amount (LCY)", "Currency Factor"), Currency."Unit-Amount Rounding Precision"); end; internal procedure ResetAmountsAndCurrencyFromLCY() @@ -1123,29 +1141,6 @@ table 8059 "Service Commitment" Rec."Currency Code" := CurrencyCode; end; - internal procedure IsClosed(): Boolean - var - CustomerContractLine: Record "Customer Contract Line"; - VendorContractLine: Record "Vendor Contract Line"; - begin - if Rec."Contract No." = '' then - exit; - if Rec."Contract Line No." = 0 then - exit; - case Partner of - Enum::"Service Partner"::Customer: - begin - CustomerContractLine.Get(Rec."Contract No.", Rec."Contract Line No."); - exit(CustomerContractLine.Closed); - end; - Enum::"Service Partner"::Vendor: - begin - VendorContractLine.Get(Rec."Contract No.", Rec."Contract Line No."); - exit(VendorContractLine.Closed); - end; - end; - end; - internal procedure ErrorIfBillingLineForServiceCommitmentExist() begin if BillingLineExists() then @@ -1211,7 +1206,8 @@ table 8059 "Service Commitment" ServiceCommitmentArchive: Record "Service Commitment Archive"; begin if (xServiceObject."Quantity Decimal" <> ServiceObject."Quantity Decimal") or - (xServiceObject."Serial No." <> ServiceObject."Serial No.") + (xServiceObject."Serial No." <> ServiceObject."Serial No.") or + (xServiceObject."Variant Code" <> ServiceObject."Variant Code") then begin CreateServiceCommitmentArchive(ServiceCommitmentArchive, Rec, 0D, "Type Of Price Update"::None); ServiceCommitmentArchive."Quantity Decimal (Service Ob.)" := xServiceObject."Quantity Decimal"; @@ -1244,28 +1240,6 @@ table 8059 "Service Commitment" exit(ServiceCommitmentArchive.FindLast()); end; - internal procedure GetTotalServiceAmountFromVendContractLines(var VendorContractLine: Record "Vendor Contract Line") TotalServiceAmount: Decimal - var - ServiceCommitment: Record "Service Commitment"; - begin - if VendorContractLine.FindSet() then - repeat - VendorContractLine.GetServiceCommitment(ServiceCommitment); - TotalServiceAmount += ServiceCommitment."Service Amount"; - until VendorContractLine.Next() = 0; - end; - - internal procedure GetTotalServiceAmountFromCustContractLines(var CustomerContractLine: Record "Customer Contract Line") TotalServiceAmount: Decimal - var - ServiceCommitment: Record "Service Commitment"; - begin - if CustomerContractLine.FindSet() then - repeat - CustomerContractLine.GetServiceCommitment(ServiceCommitment); - TotalServiceAmount += ServiceCommitment."Service Amount"; - until CustomerContractLine.Next() = 0; - end; - internal procedure IsPartnerCustomer(): Boolean begin exit(Rec.Partner = Rec.Partner::Customer); @@ -1288,7 +1262,7 @@ table 8059 "Service Commitment" "Service Partner"::Customer: begin ContractsItemManagement.CreateTempSalesHeader(TempSalesHeader, TempSalesHeader."Document Type"::Order, ServiceObject."End-User Customer No.", ServiceObject."Bill-to Customer No.", Rec."Service Start Date", Rec."Currency Code"); - ContractsItemManagement.CreateTempSalesLine(TempSalesLine, TempSalesHeader, ServiceObject."Item No.", ServiceObject."Quantity Decimal", Rec."Service Start Date"); + ContractsItemManagement.CreateTempSalesLine(TempSalesLine, TempSalesHeader, ServiceObject."Item No.", ServiceObject."Quantity Decimal", Rec."Service Start Date", ServiceObject."Variant Code"); Rec."Calculation Base Amount" := ContractsItemManagement.CalculateUnitPrice(TempSalesHeader, TempSalesLine); end; "Service Partner"::Vendor: @@ -1380,19 +1354,6 @@ table 8059 "Service Commitment" exit(ChangeExcludeFromPriceUpdateToYesQst); end; - internal procedure MarkOpenServiceCommitments() - begin - if Rec.FindSet() then begin - repeat - if Rec.IsClosed() then - Rec.Mark(false) - else - Rec.Mark(true) - until Rec.Next() = 0; - Rec.MarkedOnly(true); - end; - end; - internal procedure DeleteContractPriceUpdateLines() var ContractPriceUpdateLine: Record "Contract Price Update Line"; @@ -1447,6 +1408,7 @@ table 8059 "Service Commitment" Rec."Service Amount (LCY)" := ServiceCommitmentArchive."Service Amount (LCY)"; Rec."Discount Amount (LCY)" := ServiceCommitmentArchive."Discount Amount (LCY)"; Rec."Next Price Update" := ServiceCommitmentArchive."Next Price Update"; + Rec.Closed := ServiceCommitmentArchive.Closed; Rec.Modify(false); end; diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentArchive.Table.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentArchive.Table.al index 3397e779e8..40f642ab33 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentArchive.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentArchive.Table.al @@ -160,7 +160,8 @@ table 8073 "Service Commitment Archive" field(29; "Contract Line No."; Integer) { Caption = 'Contract Line No.'; - TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")); + TableRelation = if (Partner = const(Customer)) "Customer Contract Line"."Line No." where("Contract No." = field("Contract No.")) else + if (Partner = const(Vendor)) "Vendor Contract Line"."Line No." where("Contract No." = field("Contract No.")); } field(30; "Customer Price Group"; Code[10]) { @@ -255,6 +256,14 @@ table 8073 "Service Commitment Archive" { Caption = 'Perform Update On'; } + field(96; "Variant Code (Service Object)"; Code[10]) + { + Caption = 'Variant Code (Service Object)'; + } + field(107; "Closed"; Boolean) + { + Caption = 'Closed'; + } field(480; "Dimension Set ID"; Integer) { Caption = 'Dimension Set ID'; @@ -280,6 +289,7 @@ table 8073 "Service Commitment Archive" ServiceObject.Get(ServiceCommitment."Service Object No."); Rec."Quantity Decimal (Service Ob.)" := ServiceObject."Quantity Decimal"; Rec."Serial No. (Service Object)" := ServiceObject."Serial No."; + Rec."Variant Code (Service Object)" := ServiceObject."Variant Code"; Rec."Original Entry No." := ServiceCommitment."Entry No."; Rec."Package Code" := ServiceCommitment."Package Code"; Rec."Template" := ServiceCommitment."Template"; @@ -317,6 +327,7 @@ table 8073 "Service Commitment Archive" Rec."Calculation Base Amount (LCY)" := ServiceCommitment."Calculation Base Amount (LCY)"; Rec."Dimension Set ID" := ServiceCommitment."Dimension Set ID"; Rec."Next Price Update" := ServiceCommitment."Next Price Update"; + Rec.Closed := ServiceCommitment.Closed; OnAfterCopyFromServiceCommitment(Rec, ServiceCommitment); end; diff --git a/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentTemplate.Table.al b/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentTemplate.Table.al index 355159bb8f..ca7bce6a2e 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentTemplate.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Service Commitments/Tables/ServiceCommitmentTemplate.Table.al @@ -6,8 +6,8 @@ table 8054 "Service Commitment Template" { Caption = 'Service Commitment Template'; DataClassification = CustomerContent; - DrillDownPageID = "Service Commitment Templates"; - LookupPageID = "Service Commitment Templates"; + DrillDownPageId = "Service Commitment Templates"; + LookupPageId = "Service Commitment Templates"; Access = Internal; fields diff --git a/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemCard.PageExt.al b/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemCard.PageExt.al index 64caea6ccc..a04db5ecd2 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemCard.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemCard.PageExt.al @@ -12,7 +12,7 @@ pageextension 8054 "Item Card" extends "Item Card" field("Service Commitment Option"; Rec."Service Commitment Option") { ApplicationArea = All; - ToolTip = 'Indicates whether a service commitment can be stored for an item or whether an item is used for Recurring Billing.'; + ToolTip = 'Specifies whether or not service commitments can be linked to this item, or if the item is being used for recurring billing. This is only relevant if you are using Subscription Billing functionalities.'; trigger OnValidate() begin @@ -42,7 +42,7 @@ pageextension 8054 "Item Card" extends "Item Card" field(UsageDataSupplierRefExists; Rec."Usage Data Suppl. Ref. Exists") { ApplicationArea = All; - ToolTip = 'Specifies that at least one usage data supplier reference exists for the item.'; + ToolTip = 'Specifies that at least one usage data supplier reference exists for the item. This is only relevant if you are using Subscription Billing functionalities.'; trigger OnDrillDown() var diff --git a/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemTemplCard.PageExt.al b/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemTemplCard.PageExt.al index ebc36f1e60..fd1286ce45 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemTemplCard.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Service Objects/Page Extensions/ItemTemplCard.PageExt.al @@ -11,7 +11,7 @@ pageextension 8095 "Item Templ. Card" extends "Item Templ. Card" field("Service Commitment Option"; Rec."Service Commitment Option") { ApplicationArea = All; - ToolTip = 'Indicates whether a service commitment can be stored for an item or whether an item is used for Recurring Billing.'; + ToolTip = 'Specifies whether or not service commitments can be linked to this item, or if the item is being used for recurring billing. This is only relevant if you are using Subscription Billing functionalities.'; trigger OnValidate() begin diff --git a/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObject.Page.al b/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObject.Page.al index 01272a183a..dfa81e4444 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObject.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObject.Page.al @@ -73,6 +73,15 @@ page 8060 "Service Object" { ToolTip = 'Specifies the Serial No. assigned to the service object.'; } + field("Variant Code"; Rec."Variant Code") + { + Visible = false; + ToolTip = 'Specifies the Variant Code of the service object.'; + trigger OnValidate() + begin + CurrPage.Update(); + end; + } field("Provision Start Date"; Rec."Provision Start Date") { ToolTip = 'Specifies the date from which the subject of the service and the associated services were made available to the customer.'; diff --git a/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObjects.Page.al b/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObjects.Page.al index c571ed122f..e585556675 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObjects.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Service Objects/Pages/ServiceObjects.Page.al @@ -41,6 +41,11 @@ page 8059 "Service Objects" ToolTip = 'Specifies the Serial No. assigned to the service object.'; Visible = false; } + field("Variant Code"; Rec."Variant Code") + { + ToolTip = 'Specifies the Variant Code of the service object.'; + Visible = false; + } field("End-User Customer Name"; Rec."End-User Customer Name") { ToolTip = 'Specifies the name of the customer to whom the service was sold.'; diff --git a/Apps/W1/SubscriptionBilling/App/Service Objects/Tables/ServiceObject.Table.al b/Apps/W1/SubscriptionBilling/App/Service Objects/Tables/ServiceObject.Table.al index 9d6ac114de..8dd3ec4df8 100644 --- a/Apps/W1/SubscriptionBilling/App/Service Objects/Tables/ServiceObject.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Service Objects/Tables/ServiceObject.Table.al @@ -655,6 +655,18 @@ table 8057 "Service Object" Editable = false; CalcFormula = exist("Service Commitment Archive" where("Service Object No." = field("No."))); } + field(96; "Variant Code"; Code[10]) + { + Caption = 'Variant Code'; + TableRelation = "Item Variant".Code where("Item No." = field("Item No.")); + + trigger OnValidate() + begin + Rec.ArchiveServiceCommitments(); + if Rec."Variant Code" <> xRec."Variant Code" then + RecalculateServiceCommitments(FieldCaption("Variant Code"), false); + end; + } field(107; "No. Series"; Code[20]) { Caption = 'No. Series'; @@ -886,7 +898,6 @@ table 8057 "Service Object" ContactIsNotRelatedToAnyCustomerErr: Label 'Contact %1 %2 is not related to a customer.'; ConfirmEmptyEmailQst: Label 'Contact %1 has no email address specified. The value in the Email field for the End User, %2, will be deleted. Do you want to continue?', Comment = '%1 - Contact No., %2 - Email'; ServiceCommitmentExistsErr: Label 'Cannot delete %1 while %2 exists.'; - RecalculateLinesQst: Label 'If you change %1, the existing service commitments prices will be recalculated.\\Do you want to continue?', Comment = '%1: FieldCaption'; ModifyEndUserCustomerAddressNotificationNameTxt: Label 'Update Sell-to Customer Address'; ModifyEndUserCustomerAddressNotificationDescriptionTxt: Label 'Warn if the sell-to address on service object is different from the customer''s existing address.'; ModifyBillToCustomerAddressNotificationNameTxt: Label 'Update Bill-to Customer Address'; @@ -1725,7 +1736,7 @@ table 8057 "Service Object" if HideValidationDialog or not GuiAllowed() then Confirmed := true else - Confirmed := ConfirmManagement.GetResponse(StrSubstNo(RecalculateLinesQst, ChangedFieldName), false); + Confirmed := ConfirmManagement.GetResponse(GetRecalculateLinesDialog(ChangedFieldName), false); if Confirmed then begin Modify(); @@ -1740,7 +1751,10 @@ table 8057 "Service Object" ServiceCommitment.Modify(true); until ServiceCommitment.Next() = 0; end else - Error(''); + if (not Confirmed) and (FieldCaption("Variant Code") = ChangedFieldName) then + Modify() + else + Error(''); end; internal procedure UpdateServicesDates() @@ -1758,6 +1772,7 @@ table 8057 "Service Object" if (ServiceCommitment."Service End Date" <> 0D) and (Today() > ServiceCommitment."Service End Date") and ServiceCommitment.IsFullyInvoiced() then begin ServiceCommitment."Cancellation Possible Until" := 0D; ServiceCommitment."Term Until" := 0D; + ServiceCommitment.Closed := true; ServiceCommitment.Modify(false); case ServiceCommitment.Partner of ServiceCommitment.Partner::Customer: @@ -1974,6 +1989,20 @@ table 8057 "Service Object" SkipInsertServiceCommitments := Skip; end; + local procedure GetRecalculateLinesDialog(ChangedFieldName: Text): Text + var + RecalculateLinesQst: Label 'If you change %1, the existing service commitments prices will be recalculated.\\Do you want to continue?', Comment = '%1: FieldCaption'; + RecalculateLinesFromVariantCodeQst: Label 'The %1 has been changed.\\Do you want to update the price and description?'; + begin + case ChangedFieldName of + Rec.FieldName(Rec."Variant Code"): + exit(StrSubstNo(RecalculateLinesFromVariantCodeQst, ChangedFieldName)); + else + exit(StrSubstNo(RecalculateLinesQst, ChangedFieldName)); + end; + + end; + [InternalEvent(false, false)] local procedure OnAfterIsShipToAddressEqualToEndUserAddress(EndUserServiceObject: Record "Service Object"; ShipToServiceObject: Record "Service Object"; var Result: Boolean) begin diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Codeunits/ProcessUsageDataBilling.Codeunit.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Codeunits/ProcessUsageDataBilling.Codeunit.al index 29d5a1eeb1..4e47739dd0 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Codeunits/ProcessUsageDataBilling.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Codeunits/ProcessUsageDataBilling.Codeunit.al @@ -417,13 +417,14 @@ codeunit 8026 "Process Usage Data Billing" begin end; + [InternalEvent(false, false)] - local procedure OnUpdateServiceCommitment(var ServiceCommitment: Record "Service Commitment"; UsageDataImportEntryNo: Integer; ServiceObjectQuantity: Decimal; ServiceCommitmentDuration: Decimal; ChargePeriodDuration: Decimal; CurrencyCode: Code[10]) + local procedure OnAfterProcessServiceCommitment(var ServiceCommitment: Record "Service Commitment") begin end; [InternalEvent(false, false)] - local procedure OnAfterProcessServiceCommitment(var ServiceCommitment: Record "Service Commitment") + local procedure OnUpdateServiceCommitment(var ServiceCommitment: Record "Service Commitment"; UsageDataImportEntryNo: Integer; ServiceObjectQuantity: Decimal; ServiceCommitmentDuration: Decimal; ChargePeriodDuration: Decimal; CurrencyCode: Code[10]) begin end; diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemReferenceEntries.PageExt.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemReferenceEntries.PageExt.al index 05cbceb987..3a01f2035a 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemReferenceEntries.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemReferenceEntries.PageExt.al @@ -11,7 +11,7 @@ pageextension 8006 "Item Reference Entries" extends "Item Reference Entries" field(SupplierRefEntryNo; Rec."Supplier Ref. Entry No.") { ApplicationArea = All; - ToolTip = 'Specifies the sequential number of the associated product reference for processing usage-based billing.'; + ToolTip = 'Specifies the sequential number of the associated product reference for processing usage-based billing. This is only relevant if you are using Subscription Billing functionalities.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemVendorCatalog.PageExt.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemVendorCatalog.PageExt.al index f320df639c..ad2d67f061 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemVendorCatalog.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/ItemVendorCatalog.PageExt.al @@ -11,7 +11,7 @@ pageextension 8005 "Item Vendor Catalog" extends "Item Vendor Catalog" field(SupplierRefEntryNo; Rec."Supplier Ref. Entry No.") { ApplicationArea = All; - ToolTip = 'Specifies the sequential number of the associated product reference for processing usage-based billing.'; + ToolTip = 'Specifies the sequential number of the associated product reference for processing usage-based billing. This is only relevant if you are using Subscription Billing functionalities.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/VendorItemCatalog.PageExt.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/VendorItemCatalog.PageExt.al index 3e76c0029c..73a98855b2 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/VendorItemCatalog.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/PageExtensions/VendorItemCatalog.PageExt.al @@ -11,7 +11,7 @@ pageextension 8004 "Vendor Item Catalog" extends "Vendor Item Catalog" field(SupplierRefEntryNo; Rec."Supplier Ref. Entry No.") { ApplicationArea = All; - ToolTip = 'Specifies the sequential number of the associated product reference for processing usage-based billing.'; + ToolTip = 'Specifies the sequential number of the associated product reference for processing usage-based billing. This is only relevant if you are using Subscription Billing functionalities.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBCustBDocs.Page.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBCustBDocs.Page.al index 318101f186..b6da42f614 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBCustBDocs.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBCustBDocs.Page.al @@ -12,12 +12,16 @@ page 8033 "Create Usage B. Cust. B. Docs" { group(DateFields) { - Caption = 'Dates'; + Caption = 'Billing'; field(BillingDate; BillingDate) { Caption = 'Billing Date'; ToolTip = 'Specifies the date up to which the billable services will be taken into account.'; } + } + group(Posting) + { + Caption = 'Posting'; field(DocumentDate; DocumentDate) { Caption = 'Document Date'; @@ -90,7 +94,7 @@ page 8033 "Create Usage B. Cust. B. Docs" until CustomerContract.Next() = 0; //NOTE: CreateBillingDocument works with all Billing lines previously created by BillingProposal.CreateBillingProposalForContract - //Therefore it will batch create documents for Usage based billing lines + //Therefore it will batch create documents for Usage based billing lines if not BillingProposal.CreateBillingDocument(ServicePartner, CustomerContract."No.", DocumentDate, PostingDate, PostDocument, false) then Error(NoInvoiceCreatedErr); ContractNoFilter := ''; diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBVendBDocs.Page.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBVendBDocs.Page.al index 809c0ba6ff..5995223c6e 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBVendBDocs.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/CreateUsageBVendBDocs.Page.al @@ -12,12 +12,16 @@ page 8034 "Create Usage B. Vend. B. Docs" { group(DateFields) { - Caption = 'Dates'; + Caption = 'Billing'; field(BillingDate; BillingDate) { Caption = 'Billing Date'; ToolTip = 'Specifies the date up to which the billable services will be taken into account.'; } + } + group(Posting) + { + Caption = 'Posting'; field(DocumentDate; DocumentDate) { Caption = 'Document Date'; @@ -83,7 +87,7 @@ page 8034 "Create Usage B. Vend. B. Docs" until VendorContract.Next() = 0; //NOTE: CreateBillingDocument works with all Billing lines previously created by BillingProposal.CreateBillingProposalForContract - //Therefore it will batch create documents for Usage based billing lines + //Therefore it will batch create documents for Usage based billing lines if not BillingProposal.CreateBillingDocument(ServicePartner, VendorContract."No.", DocumentDate, PostingDate, false, false) then Error(NoInvoiceCreatedErr); ContractNoFilter := ''; diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataImports.Page.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataImports.Page.al index 273b0a2873..919c0d121f 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataImports.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataImports.Page.al @@ -89,6 +89,21 @@ page 8041 "Usage Data Imports" { area(Processing) { + action(NewImportAndFile) + { + Caption = 'New Import & file'; + ToolTip = 'Creates a new import and opens a dialog for importing billing data in the form of a CSV file.'; + Image = NewRow; + + trigger OnAction() + var + UsageDataImport: Record "Usage Data Import"; + begin + UsageDataImport.NewDataImport(); + UsageDataImport.ImportFile(); + CurrPage.SetRecord(UsageDataImport); + end; + } action(NewImport) { Caption = 'New Import'; @@ -98,26 +113,21 @@ page 8041 "Usage Data Imports" trigger OnAction() var UsageDataImport: Record "Usage Data Import"; - SupplierNo: Code[20]; begin - SupplierNo := CopyStr(Rec.GetFilter("Supplier No."), 1, MaxStrLen(SupplierNo)); - if SupplierNo <> '' then - UsageDataImport.Validate("Supplier No.", SupplierNo); - UsageDataImport.Insert(true); + UsageDataImport.NewDataImport(); CurrPage.SetRecord(UsageDataImport); - CurrPage.Update(false); end; } action(ImportFile) { Caption = 'Import file'; - ToolTip = 'Enables the import of billing data in the form of a CSV file.'; + ToolTip = 'Enables the import of billing data in the form of a CSV file into the selected import.'; Image = Import; Scope = repeater; trigger OnAction() begin - Rec.ImportFile(Rec); + Rec.ImportFile(); end; } action(ProcessData) @@ -346,17 +356,20 @@ page 8041 "Usage Data Imports" { Caption = 'New'; + actionref(NewImportAndFile_Promoted; NewImportAndFile) + { + } actionref(NewImport_Promoted; NewImport) { } + actionref(ImportFile_Promoted; ImportFile) + { + } } group(Category_Process) { Caption = 'Process'; - actionref(ImportFile_Promoted; ImportFile) - { - } actionref(ProcessData_Promoted; ProcessData) { } diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataSuppliers.Page.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataSuppliers.Page.al index cb330193de..9af02ca86e 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataSuppliers.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Pages/UsageDataSuppliers.Page.al @@ -62,7 +62,7 @@ page 8044 "Usage Data Suppliers" ToolTip = 'Opens the "Usage data imports" related to the supplier.'; Image = PutawayLines; Scope = repeater; - RunObject = Page "Usage Data Imports"; + RunObject = page "Usage Data Imports"; RunPageLink = "Supplier No." = field("No."); } } diff --git a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Tables/UsageDataImport.Table.al b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Tables/UsageDataImport.Table.al index 2036e7993c..98814bd00c 100644 --- a/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Tables/UsageDataImport.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Usage Based Billing/Tables/UsageDataImport.Table.al @@ -190,7 +190,19 @@ table 8013 "Usage Data Import" TextManagement.ShowFieldText(RRef, FieldNo(Reason)); end; - internal procedure ImportFile(var UsageDataImport: Record "Usage Data Import") + internal procedure NewDataImport() + var + SupplierNo: Code[20]; + begin + SupplierNo := CopyStr(Rec.GetFilter("Supplier No."), 1, MaxStrLen(SupplierNo)); + Rec.Init(); + Rec."Entry No." := 0; + if SupplierNo <> '' then + Rec.Validate("Supplier No.", SupplierNo); + Rec.Insert(true); + end; + + internal procedure ImportFile() var UsageDataBlob: Record "Usage Data Blob"; FileName: Text; @@ -201,12 +213,12 @@ table 8013 "Usage Data Import" if FileName = '' then exit; - if UsageDataImport."Entry No." <> 0 then begin - UsageDataBlob.InsertFromUsageDataImport(UsageDataImport); + if "Entry No." <> 0 then begin + UsageDataBlob.InsertFromUsageDataImport(Rec); UsageDataBlob.ImportFromFile(InStream, FileName); - UsageDataImport.Validate("Processing Status", UsageDataImport."Processing Status"::None); - UsageDataImport.Modify(false); + Rec.Validate("Processing Status", Rec."Processing Status"::None); + Rec.Modify(false); Clear(FileName); end; end; diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorCard.PageExt.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorCard.PageExt.al index 9fe328b70f..87fada9dbc 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorCard.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorCard.PageExt.al @@ -14,7 +14,7 @@ pageextension 8056 "Vendor Card" extends "Vendor Card" ApplicationArea = Basic, Suite; Caption = 'Contract'; Image = FileContract; - RunObject = Page "Vendor Contract"; + RunObject = page "Vendor Contract"; RunPageLink = "Buy-from Vendor No." = field("No."); RunPageMode = Create; ToolTip = 'Create a contract for the vendor.'; diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorLedgerEntries.PageExt.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorLedgerEntries.PageExt.al index debb2a974c..e2b64c48ab 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorLedgerEntries.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorLedgerEntries.PageExt.al @@ -11,7 +11,7 @@ pageextension 8008 "Vendor Ledger Entries" extends "Vendor Ledger Entries" field("Recurring Billing"; Rec."Recurring Billing") { ApplicationArea = All; - ToolTip = 'Specifies whether the entry was created via recurring billing.'; + ToolTip = 'Specifies whether the entry was created by Subscription Billing.'; } } } diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorList.PageExt.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorList.PageExt.al index 0a655d63e8..25fb61c90b 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorList.PageExt.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Page Extensions/VendorList.PageExt.al @@ -14,7 +14,7 @@ pageextension 8057 "Vendor List" extends "Vendor List" ApplicationArea = Basic, Suite; Caption = 'Contract'; Image = FileContract; - RunObject = Page "Vendor Contract"; + RunObject = page "Vendor Contract"; RunPageLink = "Buy-from Vendor No." = field("No."); RunPageMode = Create; ToolTip = 'Create a contract for the vendor.'; diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/ClosedVendContLineSubp.Page.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/ClosedVendContLineSubp.Page.al index c051ddc55e..bb2f06c214 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/ClosedVendContLineSubp.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/ClosedVendContLineSubp.Page.al @@ -19,7 +19,7 @@ page 8089 "Closed Vend. Cont. Line Subp." field(Closed; Rec.Closed) { StyleExpr = LineFormatStyleExpression; - ToolTip = 'Indicates that the associated service has ended.'; + ToolTip = 'Specifies that the associated service has ended.'; trigger OnValidate() begin CurrPage.Update(); diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/GetVendorContractLines.Page.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/GetVendorContractLines.Page.al new file mode 100644 index 0000000000..55991b40ad --- /dev/null +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/GetVendorContractLines.Page.al @@ -0,0 +1,386 @@ +namespace Microsoft.SubscriptionBilling; + +using Microsoft.Purchases.Document; + +page 8095 "Get Vendor Contract Lines" +{ + Caption = 'Get Vendor Contract Lines'; + ApplicationArea = All; + UsageCategory = None; + DeleteAllowed = false; + InsertAllowed = false; + LinksAllowed = false; + PageType = Worksheet; + SourceTable = "Service Commitment"; + SourceTableTemporary = true; + + layout + { + area(Content) + { + group(VendorContractFilter) + { + Caption = 'Filter'; + field(VendorContractNoFilter; VendorContractFilterText) + { + Caption = 'Vendor Contract No.'; + ToolTip = 'Specifies the name of the template that is used to calculate billable services.'; + + trigger OnLookup(var Text: Text): Boolean + begin + LookupVendorContract(); + end; + + trigger OnValidate() + begin + LoadVendorServiceCommitments(); + end; + } + } + repeater(General) + { + ShowAsTree = true; + IndentationColumn = Rec.Indent; + TreeInitialState = ExpandAll; + field("Contract No."; Rec."Contract No.") + { + ToolTip = 'Specifies in which contract the service will be calculated.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field(Selected; Rec.Selected) + { + ToolTip = 'Specifies that the Service Commitment is to be called up in the purchase invoice.'; + StyleExpr = LineStyleExpr; + Enabled = IsContractLine; + trigger OnValidate() + begin + Rec.TestField(Indent, 1); + if not Rec.Selected then + ResetServiceCommitment(); + + if Rec.Selected and (RunningMode = RunningMode::"Assign Purchase Line to Contract Line") then begin + UpdateWithVendorInvoiceAmount(); + CurrPage.SaveRecord(); + ResetPreviouslySelectedServiceCommitment(); + end; + CurrPage.Update(false); + end; + } + field("Your Reference"; VendorContract."Your Reference") + { + ToolTip = 'Specifies the vendor''s reference.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Service Object Description"; Rec."Service Object Description") + { + ToolTip = 'Specifies a description of the service object.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Service Commitment Description"; Rec."Description") + { + ToolTip = 'Specifies the description of the service.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Next Billing Date"; Rec."Next Billing Date") + { + Caption = 'Next Billing Date'; + ToolTip = 'Specifies the date of the next billing possible.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Billing to Date"; BillingToDate) + { + Caption = 'Billing to Date'; + ToolTip = 'Specifies the optional date up to which the billable services should be charged.'; + StyleExpr = LineStyleExpr; + Editable = IsContractLine; + trigger OnValidate() + begin + Rec.Selected := true; + Evaluate(Rec."Billing Base Period", Format(BillingToDate - Rec."Next Billing Date" + 1) + 'D'); + Rec."Billing Rhythm" := Rec."Billing Base Period"; + end; + } + field("Vendor Invoice Amount"; VendorInvoiceAmount) + { + Caption = 'Vendor Invoice Amount '; + ToolTip = ' Specifies the amount to be charged.'; + StyleExpr = LineStyleExpr; + Editable = IsContractLine and VendorInvoiceAmountEditable; + + trigger OnValidate() + begin + Rec.Selected := true; + if RunningMode = RunningMode::"Create Purch. Line from Contract Line" then + UpdateWithVendorInvoiceAmount(); + end; + } + field("Service Object Quantity"; Rec."Quantity Decimal") + { + ToolTip = 'Number of units of service object.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field(Price; Rec.Price) + { + Caption = 'Price'; + ToolTip = 'Specifies the price of the service with quantity of 1 in the billing period. The price is calculated from Base Price and Base Price %.'; + Editable = false; + BlankZero = true; + StyleExpr = LineStyleExpr; + } + field("Service Amount"; Rec."Service Amount") + { + ToolTip = 'Specifies the amount for the service including discount.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Calculation Base Amount"; Rec."Calculation Base Amount") + { + ToolTip = 'Specifies the base amount from which the price will be calculated.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Calculation Base %"; Rec."Calculation Base %") + { + ToolTip = 'Specifies the percent at which the price of the service will be calculated. 100% means that the price corresponds to the Base Price.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Billing Base Period"; Rec."Billing Base Period") + { + ToolTip = 'Specifies for which period the Service Amount is valid. If you enter 1M here, a period of one month, or 12M, a period of 1 year, to which Service Amount refers to.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + field("Billing Rhythm"; Rec."Billing Rhythm") + { + ToolTip = 'Specifies the Dateformula for hythm in which the service is invoiced. Using a Dateformula rhythm can be, for example, a monthly, a quarterly or a yearly invoicing.'; + Editable = false; + StyleExpr = LineStyleExpr; + } + } + } + } + trigger OnOpenPage() + begin + LoadVendorServiceCommitments(); + end; + + trigger OnAfterGetRecord() + begin + IsContractLine := Rec.Indent = 1; + SetLineStyleExpr(); + + if VendorContract.Get(Rec."Contract No.") then; + SetDefaultValues(); + end; + + trigger OnQueryClosePage(CloseAction: Action): Boolean + begin + if not CurrPage.LookupMode then + exit(true); + if not (CloseAction = Action::LookupOK) then + exit(true); + LinkSelectedVendorContractLines(); + end; + + local procedure LoadVendorServiceCommitments() + var + ServiceCommitment: Record "Service Commitment"; + TextManagement: Codeunit "Text Management"; + begin + Rec.Reset(); + Rec.DeleteAll(false); + LastContractNo := ''; + + ServiceCommitment.SetRange(Partner, Enum::"Service Partner"::Vendor); + ServiceCommitment.SetRange("Invoicing via", Enum::"Invoicing Via"::Contract); + ServiceCommitment.SetFilter("Contract No.", '<>%1', ''); + TextManagement.ReplaceInvalidFilterChar(VendorContractFilterText); + if VendorContractFilterText <> '' then + ServiceCommitment.SetFilter("Contract No.", VendorContractFilterText); + ServiceCommitment.SetCurrentKey("Contract No."); + ServiceCommitment.SetRange(Closed, false); + if ServiceCommitment.FindSet() then + repeat + LoadVendorServiceCommitmentIfRelevant(ServiceCommitment); + until ServiceCommitment.Next() = 0; + Rec.SetCurrentKey("Contract No."); + CurrPage.Update(false); + end; + + local procedure LoadVendorServiceCommitmentIfRelevant(ServiceCommitment: Record "Service Commitment") + var + VendorContract: Record "Vendor Contract"; + begin + if ServiceCommitment.BillingLineExists() then + exit; + VendorContract.Get(ServiceCommitment."Contract No."); + if VendorContract."Buy-from Vendor No." = PurchaseHeader."Buy-from Vendor No." then + if not Rec.Get(ServiceCommitment."Entry No.") then begin + CreateGroupingLine(ServiceCommitment); + Rec.Init(); + Rec := ServiceCommitment; + Rec.Indent := 1; + Rec.Insert(false); + end; + end; + + local procedure CreateGroupingLine(ServiceCommitment: Record "Service Commitment") + begin + if GroupingLineShouldBeInserted(ServiceCommitment) then begin + NextEntryNo -= 1; + Rec.Init(); + Rec."Entry No." := NextEntryNo; + Rec.Partner := ServiceCommitment.Partner; + Rec."Contract No." := ServiceCommitment."Contract No."; + Rec."Service Amount" := GetContractTotalServiceAmount(ServiceCommitment); + Rec.Indent := 0; + Rec.Insert(false); + end; + end; + + local procedure GetContractTotalServiceAmount(ServiceCommitment: Record "Service Commitment"): Decimal + var + ServiceCommitment2: Record "Service Commitment"; + begin + ServiceCommitment2.CopyFilters(Rec); + ServiceCommitment2.SetRange("Contract No.", ServiceCommitment."Contract No."); + ServiceCommitment2.CalcSums("Service Amount"); + exit(ServiceCommitment2."Service Amount"); + end; + + local procedure GroupingLineShouldBeInserted(ServiceCommitment: Record "Service Commitment") InsertLine: Boolean + var + NewContractNo: Code[20]; + begin + NewContractNo := ServiceCommitment."Contract No."; + + InsertLine := LastContractNo <> NewContractNo; + if InsertLine then + LastContractNo := NewContractNo; + end; + + local procedure LookupVendorContract() + var + VendorContract2: Record "Vendor Contract"; + VendorContracts: Page "Vendor Contracts"; + begin + VendorContract2.SetRange("Buy-from Vendor No.", PurchaseHeader."Buy-from Vendor No."); + VendorContracts.SetTableView(VendorContract2); + VendorContracts.LookupMode(true); + if VendorContracts.RunModal() = Action::LookupOK then begin + VendorContractFilterText := VendorContracts.GetVendorContractSelection(); + LoadVendorServiceCommitments(); + end; + end; + + local procedure LinkSelectedVendorContractLines() + begin + Rec.SetRange(Selected, true); + + case RunningMode of + RunningMode::"Assign Purchase Line to Contract Line": + BillingProposal.CreateBillingProposalForPurchaseLine("Service Partner"::Vendor, Rec, BillingToDate, BillingToDate, PurchaseLine); + RunningMode::"Create Purch. Line from Contract Line": + begin + BillingProposal.CreateBillingProposalForPurchaseHeader("Service Partner"::Vendor, Rec, BillingToDate, BillingToDate); + BillingProposal.CreatePurchaseLines(PurchaseHeader); + end; + end; + end; + + local procedure SetLineStyleExpr() + begin + if IsContractLine then + LineStyleExpr := '' + else + LineStyleExpr := 'Strong'; + end; + + local procedure SetDefaultValues() + begin + if Rec.Selected then + exit; + BillingToDate := 0D; + if (Rec."Next Billing Date" <> 0D) and IsContractLine then + BillingToDate := BillingProposal.CalculateNextBillingToDateForServiceCommitment(Rec, Rec."Next Billing Date"); + if VendorInvoiceAmountEditable then + VendorInvoiceAmount := Rec."Service Amount" + end; + + local procedure ResetPreviouslySelectedServiceCommitment() + begin + Rec.SetRange(Selected, true); + Rec.SetFilter("Entry No.", '<>%1', Rec."Entry No."); + if Rec.FindFirst() then //Only one line can be selected + ResetServiceCommitment(); + Rec.SetRange(Selected); + Rec.SetRange("Entry No."); + end; + + local procedure ResetServiceCommitment() + var + SourceServiceCommitment: Record "Service Commitment"; + begin + SourceServiceCommitment.Get(Rec."Entry No."); + Rec := SourceServiceCommitment; + Rec.Indent := 1; + Rec.Modify(false); + end; + + local procedure UpdateWithVendorInvoiceAmount() + begin + Rec.Validate("Calculation Base %", 100); + Rec.Validate("Calculation Base Amount", VendorInvoiceAmount); + Rec.Validate("Service Amount", VendorInvoiceAmount); + end; + + internal procedure TestPurchaseDocument(PurchaseHeader: Record "Purchase Header") + begin + PurchaseHeader.TestField("Document Type", PurchaseHeader."Document Type"::Invoice); + PurchaseHeader.TestField(Status, PurchaseHeader.Status::Open); + end; + + internal procedure SetPurchaseHeader(NewPurchaseHeader: Record "Purchase Header") + begin + VendorInvoiceAmount := 0; + RunningMode := RunningMode::"Create Purch. Line from Contract Line"; + VendorInvoiceAmountEditable := true; + PurchaseHeader := NewPurchaseHeader; + TestPurchaseDocument(PurchaseHeader); + end; + + internal procedure SetPurchaseLine(NewPurchaseLine: Record "Purchase Line") + var + AssignVendorContractLinePageLbl: Label 'Link Purchase Line with Contract Line'; + begin + CurrPage.Caption(AssignVendorContractLinePageLbl); + RunningMode := RunningMode::"Assign Purchase Line to Contract Line"; + VendorInvoiceAmountEditable := false; + PurchaseHeader.Get(NewPurchaseLine."Document Type", NewPurchaseLine."Document No."); + TestPurchaseDocument(PurchaseHeader); + PurchaseLine := NewPurchaseLine; + VendorInvoiceAmount := PurchaseLine."Line Amount"; + end; + + var + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + VendorContract: Record "Vendor Contract"; + BillingProposal: Codeunit "Billing Proposal"; + NextEntryNo: Integer; + BillingToDate: Date; + VendorInvoiceAmount: Decimal; + IsContractLine: Boolean; + VendorInvoiceAmountEditable: Boolean; + LastContractNo: Code[20]; + LineStyleExpr: Text; + VendorContractFilterText: Text; + RunningMode: Option "Assign Purchase Line to Contract Line","Create Purch. Line from Contract Line"; +} diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContract.Page.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContract.Page.al index afe6859e78..25619a2540 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContract.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContract.Page.al @@ -189,7 +189,7 @@ page 8070 "Vendor Contract" ApplicationArea = Suite; Importance = Additional; QuickEntry = false; - ToolTip = 'Indicates whether deferrals should be generated for the contract. If the field is activated, no deferrals are generated and the invoices are posted directly to profit or loss.'; + ToolTip = 'Specifies whether deferrals should be generated for the contract. If the field is activated, no deferrals are generated and the invoices are posted directly to profit or loss.'; } field("Exclude from Price Update"; Rec.DefaultExcludeFromPriceUpdate) { @@ -389,9 +389,9 @@ page 8070 "Vendor Contract" Caption = 'Vendor'; Enabled = IsVendorOrContactNotEmpty; Image = Vendor; - RunObject = Page "Vendor Card"; + RunObject = page "Vendor Card"; RunPageLink = "No." = field("Pay-to Vendor No."); - ShortCutKey = 'Shift+F7'; + ShortcutKey = 'Shift+F7'; ToolTip = 'View or edit detailed information about the vendor on the vendor contract.'; } action(Dimensions) @@ -400,7 +400,7 @@ page 8070 "Vendor Contract" ApplicationArea = Dimensions; Caption = 'Dimensions'; Image = Dimensions; - ShortCutKey = 'Alt+D'; + ShortcutKey = 'Alt+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() @@ -506,7 +506,7 @@ page 8070 "Vendor Contract" ToolTip = 'Vendor Contract Deferrals.'; Image = LedgerEntries; ShortcutKey = 'Ctrl+F7'; - RunObject = Page "Vendor Contract Deferrals"; + RunObject = page "Vendor Contract Deferrals"; RunPageView = sorting("Contract No."); RunPageLink = "Contract No." = field("No."); diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContractLineSubpage.Page.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContractLineSubpage.Page.al index 02a196a0ed..0927e59678 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContractLineSubpage.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContractLineSubpage.Page.al @@ -359,7 +359,7 @@ page 8078 "Vendor Contract Line Subpage" Caption = 'Dimensions'; Image = Dimensions; Scope = Repeater; - ShortCutKey = 'Shift+Ctrl+D'; + ShortcutKey = 'Shift+Ctrl+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContracts.Page.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContracts.Page.al index a0d118e0fa..625385e3b1 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContracts.Page.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Pages/VendorContracts.Page.al @@ -6,7 +6,7 @@ page 8071 "Vendor Contracts" { ApplicationArea = Basic, Suite; Caption = 'Vendor Contracts'; - CardPageID = "Vendor Contract"; + CardPageId = "Vendor Contract"; DataCaptionFields = "Buy-from Vendor No."; Editable = false; PageType = List; @@ -112,7 +112,7 @@ page 8071 "Vendor Contracts" ApplicationArea = Dimensions; Caption = 'Dimensions'; Image = Dimensions; - ShortCutKey = 'Alt+D'; + ShortcutKey = 'Alt+D'; ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.'; trigger OnAction() @@ -126,7 +126,7 @@ page 8071 "Vendor Contracts" ToolTip = 'Vendor Contract Deferrals.'; Image = LedgerEntries; ShortcutKey = 'Ctrl+F7'; - RunObject = Page "Vendor Contract Deferrals"; + RunObject = page "Vendor Contract Deferrals"; RunPageView = sorting("Contract No."); RunPageLink = "Contract No." = field("No."); @@ -183,6 +183,20 @@ page 8071 "Vendor Contracts" Rec.SetRange(Active, true); end; + internal procedure GetVendorContractSelection() FilterText: Text + var + VendorContract: Record "Vendor Contract"; + FilterTextBuilder: TextBuilder; + begin + CurrPage.SetSelectionFilter(VendorContract); + if VendorContract.FindSet() then + repeat + FilterTextBuilder.Append(VendorContract."No."); + FilterTextBuilder.Append('|'); + until VendorContract.Next() = 0; + FilterText := FilterTextBuilder.ToText().TrimEnd('|'); + end; + var DescriptionText: Text; UpdateDimensionsInDeferralsEnabled: Boolean; diff --git a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Tables/VendorContractLine.Table.al b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Tables/VendorContractLine.Table.al index b34f135639..b36f018b4c 100644 --- a/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Tables/VendorContractLine.Table.al +++ b/Apps/W1/SubscriptionBilling/App/Vendor Contracts/Tables/VendorContractLine.Table.al @@ -364,7 +364,7 @@ table 8065 "Vendor Contract Line" ServiceCommitment: Record "Service Commitment"; begin CreateServiceObject(ServiceObject, RefVendorContractLine."Service Object No.", VendorContractLine); - CreateMergedServiceCommitment(ServiceCommitment, ServiceObject."No.", RefVendorContractLine, VendorContractLine); + CreateMergedServiceCommitment(ServiceCommitment, ServiceObject, RefVendorContractLine); CloseVendorContractLines(VendorContractLine); if not AssignNewServiceCommitmentToVendorContract(VendorContractLine."Contract No.", ServiceCommitment) then exit(false); @@ -379,12 +379,12 @@ table 8065 "Vendor Contract Line" ServiceObject.Insert(true); end; - local procedure CreateMergedServiceCommitment(var ServiceCommitment: Record "Service Commitment"; NewServiceObjectNo: Code[20]; RefVendorContractLine: Record "Vendor Contract Line"; var VendorContractLine: Record "Vendor Contract Line") + local procedure CreateMergedServiceCommitment(var ServiceCommitment: Record "Service Commitment"; ServiceObject: Record "Service Object"; RefVendorContractLine: Record "Vendor Contract Line") begin ServiceCommitment.Get(RefVendorContractLine."Service Commitment Entry No."); ServiceCommitment."Entry No." := 0; - ServiceCommitment."Service Object No." := NewServiceObjectNo; - ServiceCommitment.Validate("Service Amount", ServiceCommitment.GetTotalServiceAmountFromVendContractLines(VendorContractLine)); + ServiceCommitment."Service Object No." := ServiceObject."No."; + ServiceCommitment.Validate("Service Amount", ServiceCommitment.Price * ServiceObject."Quantity Decimal"); ServiceCommitment.Validate("Service Start Date", ServiceCommitment."Next Billing Date"); ServiceCommitment.Insert(true); end; @@ -431,6 +431,7 @@ table 8065 "Vendor Contract Line" ServiceCommitment."Service End Date" := ServiceCommitment."Next Billing Date"; ServiceCommitment."Next Billing Date" := 0D; ServiceCommitment.Validate("Service End Date"); + ServiceCommitment.Closed := true; ServiceCommitment.Modify(false); VendorContractLine.Closed := true; diff --git a/Apps/W1/SubscriptionBilling/Test/Base/ContractTestLibrary.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Base/ContractTestLibrary.Codeunit.al index 28c7877381..90a003c098 100644 --- a/Apps/W1/SubscriptionBilling/Test/Base/ContractTestLibrary.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Base/ContractTestLibrary.Codeunit.al @@ -388,7 +388,7 @@ codeunit 139685 "Contract Test Library" #EndRegion Contracts #Region Service Commitment Template & Package - procedure CreateServiceCommitmentTemplate(var ServiceCommitmentTemplate: Record "Service Commitment Template"; BillingBasePeriod: Text; CalcBasePercent: Decimal; InvoicingVia: Enum "Invoicing Via"; CalculationBaseType: Enum "Calculation Base Type") + procedure CreateServiceCommitmentTemplate(var ServiceCommitmentTemplate: Record "Service Commitment Template"; BillingBasePeriod: Text; CalcBasePercent: Decimal; InvoicingVia: Enum "Invoicing Via"; CalculationBaseType: Enum "Calculation Base Type"; Discount: Boolean) var ServiceCommitmentTemplateCode: Code[20]; begin @@ -405,6 +405,8 @@ codeunit 139685 "Contract Test Library" ServiceCommitmentTemplate."Calculation Base %" := CalcBasePercent; ServiceCommitmentTemplate."Invoicing via" := InvoicingVia; ServiceCommitmentTemplate."Calculation Base Type" := CalculationBaseType; + if Discount then + ServiceCommitmentTemplate.Discount := true; OnCreateServiceCommitmentTemplateOnBeforeInsert(ServiceCommitmentTemplate); ServiceCommitmentTemplate.Insert(true) @@ -413,7 +415,13 @@ codeunit 139685 "Contract Test Library" procedure CreateServiceCommitmentTemplate(var ServiceCommitmentTemplate: Record "Service Commitment Template") begin ServiceCommitmentTemplate.Init(); - CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '', ServiceCommitmentTemplate."Calculation Base %", ServiceCommitmentTemplate."Invoicing via", ServiceCommitmentTemplate."Calculation Base Type"); + CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '', ServiceCommitmentTemplate."Calculation Base %", ServiceCommitmentTemplate."Invoicing via", ServiceCommitmentTemplate."Calculation Base Type", false); + end; + + procedure CreateServiceCommitmentTemplateWithDiscount(var ServiceCommitmentTemplate: Record "Service Commitment Template") + begin + ServiceCommitmentTemplate.Init(); + CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '', ServiceCommitmentTemplate."Calculation Base %", ServiceCommitmentTemplate."Invoicing via", ServiceCommitmentTemplate."Calculation Base Type", true); end; procedure CreateServiceCommitmentPackage(var ServiceCommitmentPackage: Record "Service Commitment Package") @@ -570,7 +578,7 @@ codeunit 139685 "Contract Test Library" begin CreateServiceObjectWithItem(ServiceObject, Item, SNSpecificTracking); - CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '', LibraryRandom.RandDec(100, 2), NewInvocingVia, Enum::"Calculation Base Type"::"Item Price"); + CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '', LibraryRandom.RandDec(100, 2), NewInvocingVia, Enum::"Calculation Base Type"::"Item Price", false); if ServiceCommitmentTemplate."Invoicing via" = ServiceCommitmentTemplate."Invoicing via"::Contract then begin CreateItemWithServiceCommitmentOption(Item2, Enum::"Item Service Commitment Type"::"Invoicing Item"); @@ -893,11 +901,6 @@ codeunit 139685 "Contract Test Library" begin CustomerContract.UpdateServicesDates(); end; - - procedure ServiceCommitmentIsClosed(var ServiceCommitment: Record "Service Commitment"): Boolean - begin - exit(ServiceCommitment.IsClosed()); - end; #EndRegion Make local / internal functions public for external test apps procedure CreateTranslationForField(var FieldTranslation: Record "Field Translation"; SourceRecord: Variant; FieldID: Integer; LanguageCode: Code[10]) @@ -1007,7 +1010,7 @@ codeunit 139685 "Contract Test Library" ImportedServiceCommitment.Insert(false); end; - local procedure SetImportedServiceCommitmentData(var ImportedServiceCommitment: Record "Imported Service Commitment") + internal procedure SetImportedServiceCommitmentData(var ImportedServiceCommitment: Record "Imported Service Commitment") var CurrExchRate: Record "Currency Exchange Rate"; begin diff --git a/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingDocsTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingDocsTest.Codeunit.al index 41dde0c953..3ae70dfc91 100644 --- a/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingDocsTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingDocsTest.Codeunit.al @@ -525,6 +525,7 @@ codeunit 139687 "Recurring Billing Docs Test" Initialize(); InitAndCreateBillingDocument(Enum::"Service Partner"::Customer); + Commit(); //persist Invoice until the end of the test BillingLine.FindLast(); SalesHeader.Get(Enum::"Sales Document Type"::Invoice, BillingLine."Document No."); FilterSalesLineOnDocumentLine(BillingLine.GetSalesDocumentTypeFromBillingDocumentType(), BillingLine."Document No.", BillingLine."Document Line No."); @@ -541,7 +542,8 @@ codeunit 139687 "Recurring Billing Docs Test" PostedDocumentNo := LibrarySales.PostSalesDocument(SalesHeader, true, true); SalesInvoiceHeader.Get(PostedDocumentNo); CorrectPostedSalesInvoice.CreateCreditMemoCopyDocument(SalesInvoiceHeader, SalesHeader); //check if its neccessary to test Cr Memo - BillingLine.FindLast(); //Retrieve Cr Memo Billing Line + Commit(); //persist Credit Memo until the end of the test + BillingLine.FindLast(); //Fetch new BillingLine created for Cr Memo FilterSalesLineOnDocumentLine(BillingLine.GetSalesDocumentTypeFromBillingDocumentType(), BillingLine."Document No.", BillingLine."Document Line No."); SalesLine.FindFirst(); SalesCrMemoSubForm.OpenEdit(); @@ -586,6 +588,7 @@ codeunit 139687 "Recurring Billing Docs Test" Initialize(); InitAndCreateBillingDocument(Enum::"Service Partner"::Vendor); + Commit(); //persist Invoice until the end of the test BillingLine.FindLast(); PurchaseHeader.Get(Enum::"Purchase Document Type"::Invoice, BillingLine."Document No."); FilterPurchaseLineOnDocumentLine(BillingLine.GetPurchaseDocumentTypeFromBillingDocumentType(), BillingLine."Document No.", BillingLine."Document Line No."); @@ -605,6 +608,7 @@ codeunit 139687 "Recurring Billing Docs Test" PostedDocumentNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); PurchaseInvoiceHeader.Get(PostedDocumentNo); CorrectPostedPurchaseInvoice.CreateCreditMemoCopyDocument(PurchaseInvoiceHeader, PurchaseHeader); //check if its neccessary to test Cr Memo + Commit(); //persist Credit Memo until the end of the test BillingLine.FindLast(); //Fetch new BillingLine created for Cr Memo FilterPurchaseLineOnDocumentLine(BillingLine.GetPurchaseDocumentTypeFromBillingDocumentType(), BillingLine."Document No.", BillingLine."Document Line No."); PurchaseLine.FindFirst(); @@ -715,7 +719,7 @@ codeunit 139687 "Recurring Billing Docs Test" begin Initialize(); - //Check if correct dialog opens + //Check if correct dialog opens //Unposted invoice exists InitAndCreateBillingDocument("Service Partner"::Customer); DialogMsg := UnpostedSalesInvExistsMsg; @@ -728,7 +732,7 @@ codeunit 139687 "Recurring Billing Docs Test" begin Initialize(); - //Check if correct dialog opens + //Check if correct dialog opens //Credit Memo exists InitAndCreateBillingDocument("Service Partner"::Customer); DialogMsg := SalesCrMemoExistsMsg; @@ -812,7 +816,7 @@ codeunit 139687 "Recurring Billing Docs Test" begin Initialize(); - //Check if correct dialog opens + //Check if correct dialog opens //Unposted invoice exists InitAndCreateBillingDocument("Service Partner"::Vendor); DialogMsg := UnpostedPurchaseInvExistsMsg; @@ -827,7 +831,7 @@ codeunit 139687 "Recurring Billing Docs Test" begin Initialize(); - //Check if correct dialog opens + //Check if correct dialog opens //Credit Memo exists PostPurchaseInvoice(); DialogMsg := PurchCrMemoExistsMsg; @@ -1652,6 +1656,7 @@ codeunit 139687 "Recurring Billing Docs Test" var Item: Record Item; ServiceCommitmentTemplate: Record "Service Commitment Template"; + ServiceCommitmentPackage: Record "Service Commitment Package"; ServiceCommPackageLine: Record "Service Comm. Package Line"; PriceListHeader: Record "Price List Header"; @@ -1661,13 +1666,13 @@ codeunit 139687 "Recurring Billing Docs Test" Initialize(); //[GIVEN]: - //Setup service commitment item with purchase price + //Setup service commitment item with purchase price //Create service object from the Sales order //Assign the service commitment to the vendor contract (at this point service commitment has prices taken from the sales order) ClearAll(); ContractTestLibrary.ResetContractRecords(); - ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 100, "Invoicing Via"::Contract, "Calculation Base Type"::"Document Price"); + ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 100, "Invoicing Via"::Contract, "Calculation Base Type"::"Document Price", false); ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); ContractTestLibrary.UpdateServiceCommitmentPackageLine(ServiceCommPackageLine, '<1M>', 100, '', "Service Partner"::Vendor, Item."No.", "Invoicing Via"::Contract, "Calculation Base Type"::"Document Price", '', '<1M>', false); ContractTestLibrary.SetupSalesServiceCommitmentItemAndAssignToServiceCommitmentPackage(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item", ServiceCommitmentPackage.Code); @@ -1713,13 +1718,13 @@ codeunit 139687 "Recurring Billing Docs Test" Initialize(); //[GIVEN]: - //Setup service commitment item with sales price + //Setup service commitment item with sales price //Create service object from the Sales order //Assign the service commitment to the customer contract (at this point service commitment has prices taken from the sales order) ClearAll(); ContractTestLibrary.ResetContractRecords(); - ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 100, "Invoicing Via"::Contract, "Calculation Base Type"::"Document Price"); + ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 100, "Invoicing Via"::Contract, "Calculation Base Type"::"Document Price", false); ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); ContractTestLibrary.UpdateServiceCommitmentPackageLine(ServiceCommPackageLine, '<1M>', 100, '', "Service Partner"::Customer, Item."No.", "Invoicing Via"::Contract, "Calculation Base Type"::"Document Price", '', '<1M>', false); ContractTestLibrary.SetupSalesServiceCommitmentItemAndAssignToServiceCommitmentPackage(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item", ServiceCommitmentPackage.Code); @@ -1749,6 +1754,128 @@ codeunit 139687 "Recurring Billing Docs Test" AssertThat.RecordIsNotEmpty(SalesLine); end; + [Test] + [HandlerFunctions('MessageHandler,GetVendorContractLinesPageHandler,ExchangeRateSelectionModalPageHandler')] + procedure GetVendorContractLinesInPurchaseInvoices() + var + Vendor: Record Vendor; + Item: Record Item; + begin + //[SCENARIO]: Test if vendor contract line can be fetched to purchase invoice and test if invoice can be posted + + //[GIVEN]: Setup Service Object with service commitment and assign it to vendor contract + ClearAll(); + ContractTestLibrary.ResetContractRecords(); + Clear(ServiceObject); + ContractTestLibrary.CreateVendor(Vendor); + ContractTestLibrary.CreateServiceObjectWithItemAndWithServiceCommitment(ServiceObject, "Invoicing Via"::Contract, false, Item, 0, 1); + ContractTestLibrary.CreateVendorContract(VendorContract, Vendor."No."); + ContractTestLibrary.AssignServiceObjectToVendorContract(VendorContract, ServiceObject, false); + LibraryPurchase.CreatePurchaseInvoiceForVendorNo(PurchaseHeader, Vendor."No."); + + //[WHEN]: Invoke Get Vendor Contract Lines + PurchaseHeader.RunGetVendorContractLines(); + Commit(); + + //[THEN]: Test if purchase line is created with Item No. from service object + GetVendorContractServiceCommitment(VendorContract."No."); + PurchaseLine.Reset(); + PurchaseLine.SetRange("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.SetRange("Document No.", PurchaseHeader."No."); + PurchaseLine.SetRange(Type, PurchaseLine.Type::Item); + PurchaseLine.SetRange("No.", ServiceCommitment."Invoicing Item No."); + AssertThat.RecordIsNotEmpty(PurchaseLine); + + //[THEN]: Test if Purchase header is marked as Recurring billing + PurchaseHeader.Get(PurchaseHeader."Document Type", PurchaseHeader."No."); + PurchaseHeader.TestField("Recurring Billing", true); + + //[THEN]: Test if billing lines exist + PurchaseLine.FindFirst(); + BillingLine.Reset(); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"), PurchaseLine."Document No.", PurchaseLine."Line No."); + AssertThat.RecordIsNotEmpty(BillingLine); + + //[THEN]: If Purchase Line is deleted, billing lines are deleted as well + PurchaseLine.Delete(true); + BillingLine.Reset(); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"), PurchaseLine."Document No.", PurchaseLine."Line No."); + AssertThat.RecordIsEmpty(BillingLine); + end; + + [Test] + [HandlerFunctions('MessageHandler,GetVendorContractLinesProducesCorrectAmountsDuringSelectionPageHandler,ExchangeRateSelectionModalPageHandler')] + procedure GetVendorContractLinesProducesCorrectAmountsDuringSelection() + var + Vendor: Record Vendor; + Item: Record Item; + begin + //[SCENARIO:] Test if selection in the "Get Vendor Contract Lines" page is updating amounts correctly during Assignment + + //[GIVEN]: Setup Service Object with service commitment and assign it to vendor contract + //[GIVEN]: Create Purchase Invoice with Purchase Invoice Line + ClearAll(); + ContractTestLibrary.ResetContractRecords(); + ContractTestLibrary.CreateVendor(Vendor); + ContractTestLibrary.CreateVendorContractAndCreateContractLines(VendorContract, ServiceObject, Vendor."No."); + GetVendorContractServiceCommitment(VendorContract."No."); + ServiceCommitment."Billing Rhythm" := ServiceCommitment."Billing Base Period"; + ServiceCommitment.Modify(); + LibraryPurchase.CreatePurchaseInvoiceForVendorNo(PurchaseHeader, Vendor."No."); + ContractTestLibrary.CreateItemWithServiceCommitmentOption(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item"); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, "Purchase Line Type"::Item, Item."No.", 1); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDec(100, 2)); + PurchaseLine.Modify(); + //[WHEN]: Invoke Get Vendor Contract Lines + PurchaseHeader.RunGetVendorContractLines(); //Testing is done in the modal page handler + end; + + [Test] + [HandlerFunctions('MessageHandler,GetVendorContractLinesPageHandler,ExchangeRateSelectionModalPageHandler')] + procedure AssignVendorContractLinesToExistingPurchaseInvoiceLine() + var + Vendor: Record Vendor; + Item: Record Item; + begin + //[SCENARIO]: Test if vendor contract line can be assigned to purchase invoice line + + //[GIVEN]: Setup Service Object with service commitment and assign it to vendor contract + //[GIVEN]: Create Purchase Invoice with Purchase Invoice Line + ClearAll(); + ContractTestLibrary.ResetContractRecords(); + ContractTestLibrary.CreateVendor(Vendor); + ContractTestLibrary.CreateVendorContractAndCreateContractLines(VendorContract, ServiceObject, Vendor."No."); + GetVendorContractServiceCommitment(VendorContract."No."); + ServiceCommitment."Billing Rhythm" := ServiceCommitment."Billing Base Period"; + ServiceCommitment.Modify(); + LibraryPurchase.CreatePurchaseInvoiceForVendorNo(PurchaseHeader, Vendor."No."); + ContractTestLibrary.CreateItemWithServiceCommitmentOption(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item"); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, "Purchase Line Type"::Item, Item."No.", 1); + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandDec(100, 2)); + PurchaseLine.Modify(); + //[WHEN]: Invoke Get Vendor Contract Lines + PurchaseLine.AssignVendorContractLine(); + Commit(); + + //[THEN]: Test if Purchase header is marked as Recurring billing + PurchaseHeader.Get(PurchaseHeader."Document Type", PurchaseHeader."No."); + PurchaseHeader.TestField("Recurring Billing", true); + + //[THEN]: Test if billing lines exist + BillingLine.Reset(); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"), PurchaseLine."Document No.", PurchaseLine."Line No."); + AssertThat.RecordIsNotEmpty(BillingLine); + BillingLine.CalcSums("Service Amount"); + AssertThat.AreEqual(PurchaseLine."Line Amount", BillingLine."Service Amount", 'Service amount was not taken from purchase line'); + + //[THEN]: If Purchase Line is deleted, billing lines are deleted as well + PurchaseLine.Get(PurchaseLine."Document Type", PurchaseLine."Document No.", PurchaseLine."Line No."); + PurchaseLine.Delete(true); + BillingLine.Reset(); + BillingLine.FilterBillingLineOnDocumentLine(BillingLine.GetBillingDocumentTypeFromPurchaseDocumentType(PurchaseLine."Document Type"), PurchaseLine."Document No.", PurchaseLine."Line No."); + AssertThat.RecordIsEmpty(BillingLine); + end; + local procedure Initialize() begin LibraryTestInitialize.OnTestInitialize(Codeunit::"Recurring Billing Docs Test"); @@ -2364,4 +2491,54 @@ codeunit 139687 "Recurring Billing Docs Test" AssertThat.AreEqual(NoOfRecords, ExpectedNoOfArchivedLines, 'Page Billing Lines Archive is not filtered properly.'); BillingLinesArchive.OK().Invoke(); end; + + [ModalPageHandler] + procedure GetVendorContractLinesPageHandler(var GetVendorContractLines: TestPage "Get Vendor Contract Lines") + begin + GetVendorContractLines.Expand(true); + GetVendorContractLines.Next(); //Skip Grouping line + GetVendorContractLines.Selected.SetValue(true); + GetVendorContractLines.OK().Invoke() + end; + + [ModalPageHandler] + procedure GetVendorContractLinesProducesCorrectAmountsDuringSelectionPageHandler(var GetVendorContractLines: TestPage "Get Vendor Contract Lines") + var + Selected: Boolean; + CalculationBasePerc: Decimal; + CalculationBaseAmount: Decimal; + ServiceAmount: Decimal; + Price: Decimal; + begin + GetVendorContractLines.Expand(true); + GetVendorContractLines.Next(); //Skip Grouping line + //[WHEN]: Change the value of Vendor Invoice Amount on the page + GetVendorContractLines."Vendor Invoice Amount".SetValue(LibraryRandom.RandDecInDecimalRange(0, 100, 2)); //Change value of Vendor Invoice Amount + + //[THEN]: Test if Selected is set to true + Evaluate(Selected, GetVendorContractLines.Selected.Value()); + AssertThat.IsTrue(Selected, 'Service commitment is not selected when Vendor Invoice Amount is changed'); + + //[THEN]: Test if service commitment data is recalculated on the page + Evaluate(CalculationBasePerc, GetVendorContractLines."Calculation Base %".Value); + Evaluate(CalculationBaseAmount, GetVendorContractLines."Calculation Base Amount".Value); + Evaluate(ServiceAmount, GetVendorContractLines."Service Amount".Value); + Evaluate(Price, GetVendorContractLines.Price.Value); + AssertThat.AreNotEqual(ServiceCommitment."Calculation Base %", CalculationBasePerc, 'Service commitment was not calculated on the page'); + AssertThat.AreNotEqual(ServiceCommitment."Calculation Base Amount", CalculationBaseAmount, 'Service commitment was not calculated on the page'); + AssertThat.AreNotEqual(ServiceCommitment."Service Amount", ServiceAmount, 'Service commitment was not calculated on the page'); + AssertThat.AreNotEqual(ServiceCommitment."Price", Price, 'Service commitment was not calculated on the page'); + + //[WHEN]: Deselect service commitment + GetVendorContractLines.Selected.SetValue(false); + //[THEN]: Test if service commitment data is recalculated on the page + Evaluate(CalculationBasePerc, GetVendorContractLines."Calculation Base %".Value); + Evaluate(CalculationBaseAmount, GetVendorContractLines."Calculation Base Amount".Value); + Evaluate(ServiceAmount, GetVendorContractLines."Service Amount".Value); + Evaluate(Price, GetVendorContractLines.Price.Value); + AssertThat.AreEqual(ServiceCommitment."Calculation Base %", CalculationBasePerc, 'Service commitment was not reset on the page'); + AssertThat.AreEqual(ServiceCommitment."Calculation Base Amount", CalculationBaseAmount, 'Service commitment was not reset on the page'); + AssertThat.AreEqual(ServiceCommitment."Service Amount", ServiceAmount, 'Service commitment was not reset on the page'); + AssertThat.AreEqual(ServiceCommitment."Price", Price, 'Service commitment was not reset on the page'); + end; } \ No newline at end of file diff --git a/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingTest.Codeunit.al index cbfba87e7f..ae32976361 100644 --- a/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Billing/RecurringBillingTest.Codeunit.al @@ -1415,7 +1415,7 @@ codeunit 139688 "Recurring Billing Test" local procedure CreateServiceCommitmentTemplateSetup(CalcBasePeriodDateFormulaTxt: Text) begin - ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, CalcBasePeriodDateFormulaTxt, 50, Enum::"Invoicing Via"::Contract, Enum::"Calculation Base Type"::"Item Price"); + ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, CalcBasePeriodDateFormulaTxt, 50, Enum::"Invoicing Via"::Contract, Enum::"Calculation Base Type"::"Item Price", false); end; local procedure CreateServiceCommPackageAndAssignItemToServiceCommitmentSetup(PeriodCalculation: Enum "Period Calculation"; CalculationRhythmDateFormulaTxt: Text) diff --git a/Apps/W1/SubscriptionBilling/Test/Billing/RecurringDiscountTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Billing/RecurringDiscountTest.Codeunit.al index eaf92764bd..e92a6ed411 100644 --- a/Apps/W1/SubscriptionBilling/Test/Billing/RecurringDiscountTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Billing/RecurringDiscountTest.Codeunit.al @@ -18,13 +18,16 @@ codeunit 139689 "Recurring Discount Test" begin ClearAll(); ContractTestLibrary.InitContractsApp(); + LibraryERMCountryData.UpdateSalesReceivablesSetup(); + LibraryERMCountryData.UpdatePurchasesPayablesSetup(); + LibraryERMCountryData.UpdateGeneralLedgerSetup(); end; [Test] procedure TestTransferDiscountInServiceCommitmentPackage() begin InitTest(); - CreateServiceCommitmentTemplateWithDiscount(); + ContractTestLibrary.CreateServiceCommitmentTemplateWithDiscount(ServiceCommitmentTemplate); ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); ServiceCommPackageLine.TestField(Discount, true); end; @@ -35,7 +38,7 @@ codeunit 139689 "Recurring Discount Test" InitTest(); ContractTestLibrary.CreateItemWithServiceCommitmentOption(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item"); ContractTestLibrary.CreateServiceObjectWithItem(ServiceObject, Item, false); - CreateServiceCommitmentTemplateWithDiscount(); + ContractTestLibrary.CreateServiceCommitmentTemplateWithDiscount(ServiceCommitmentTemplate); ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); ContractTestLibrary.AssignItemToServiceCommitmentPackage(Item, ServiceCommitmentPackage.Code); ServiceCommitmentPackage.SetFilter(Code, ItemServCommitmentPackage.GetPackageFilterForItem(ServiceObject."Item No.")); @@ -51,7 +54,7 @@ codeunit 139689 "Recurring Discount Test" procedure ExpectErrorOnAssignDiscountInvoiceViaSalesInServiceCommitmentTemplate() begin InitTest(); - CreateServiceCommitmentTemplateWithDiscount(); + ContractTestLibrary.CreateServiceCommitmentTemplateWithDiscount(ServiceCommitmentTemplate); asserterror ServiceCommitmentTemplate.Validate("Invoicing via", Enum::"Invoicing Via"::Sales); end; @@ -59,7 +62,7 @@ codeunit 139689 "Recurring Discount Test" procedure ExpectErrorOnAssignDiscountInvoiceViaSalesInServiceCommitmentPackage() begin InitTest(); - CreateServiceCommitmentTemplateWithDiscount(); + ContractTestLibrary.CreateServiceCommitmentTemplateWithDiscount(ServiceCommitmentTemplate); ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); asserterror ServiceCommPackageLine.Validate("Invoicing via", Enum::"Invoicing Via"::Sales); end; @@ -68,7 +71,7 @@ codeunit 139689 "Recurring Discount Test" procedure ExpectErrorOnAssignDiscountToInvoicingItemInServiceCommitmentPackage() begin InitTest(); - CreateServiceCommitmentTemplateWithDiscount(); + ContractTestLibrary.CreateServiceCommitmentTemplateWithDiscount(ServiceCommitmentTemplate); ContractTestLibrary.CreateItemWithServiceCommitmentOption(Item, Enum::"Item Service Commitment Type"::"Invoicing Item"); ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); asserterror ServiceCommitmentTemplate.Validate("Invoicing Item No.", Item."No."); @@ -151,24 +154,13 @@ codeunit 139689 "Recurring Discount Test" [Test] [HandlerFunctions('CreateCustomerBillingDocsContractPageHandler,ExchangeRateSelectionModalPageHandler,MessageHandler')] procedure TestCustomerContractDeferralsDiscountLines() - var - CustomerContractDeferral: Record "Customer Contract Deferral"; begin CreateBillingProposalForCustomerContract(); CreateBillingDocuments(); BillingLine.FindLast(); SalesHeader.Get(Enum::"Sales Document Type"::Invoice, BillingLine."Document No."); PostedDocumentNo := LibrarySales.PostSalesDocument(SalesHeader, true, true); - CustomerContractDeferral.SetRange("Document Type", CustomerContractDeferral."Document Type"::Invoice); - CustomerContractDeferral.SetRange("Document No.", PostedDocumentNo); - CustomerContractDeferral.SetRange(Discount, true); - CustomerContractDeferral.FindSet(); - repeat - if CustomerContractDeferral.Amount < 0 then - Error('Discount Deferral line must have positive amount'); - if CustomerContractDeferral."Deferral Base Amount" < 0 then - Error('Discount Billing line must have positive Deferral Base Amount'); - until CustomerContractDeferral.Next() = 0; + VerifyCustomerContractDeferralLines(CustomerContract."No.", PostedDocumentNo, Enum::"Rec. Billing Document Type"::Invoice, true); end; [Test] @@ -261,7 +253,7 @@ codeunit 139689 "Recurring Discount Test" CreateBillingProposalForVendorContract(); CreateBillingDocuments(); BillingLine.FindLast(); - UpdateAndPostPurchaseHeader(); + PostedDocumentNo := UpdateAndPostPurchaseHeader(Enum::"Purchase Document Type"::Invoice, BillingLine."Document No."); BillingArchiveLine.FilterBillingLineArchiveOnDocument(BillingArchiveLine."Document Type"::Invoice, PostedDocumentNo); Assert.AreNotEqual(0, BillingArchiveLine.Count, 'Billing Archive Lines are not created for Recurring Discount Lines'); @@ -276,16 +268,16 @@ codeunit 139689 "Recurring Discount Test" CreateBillingProposalForVendorContract(); CreateBillingDocuments(); BillingLine.FindLast(); - UpdateAndPostPurchaseHeader(); + PostedDocumentNo := UpdateAndPostPurchaseHeader(Enum::"Purchase Document Type"::Invoice, BillingLine."Document No."); VendorContractDeferral.SetRange("Document Type", VendorContractDeferral."Document Type"::Invoice); VendorContractDeferral.SetRange("Document No.", PostedDocumentNo); VendorContractDeferral.SetRange(Discount, true); VendorContractDeferral.FindSet(); repeat if VendorContractDeferral.Amount > 0 then - Error('Discount Deferral line must have positive amount'); + Error(DiscountDeferralAmountSignErr, 'negative'); if VendorContractDeferral."Deferral Base Amount" > 0 then - Error('Discount Billing line must have positive Deferral Base Amount'); + Error(DiscountDeferralDeferralBaseAmountSignErr, 'negative'); until VendorContractDeferral.Next() = 0; end; @@ -296,7 +288,7 @@ codeunit 139689 "Recurring Discount Test" CreateBillingProposalForVendorContract(); CreateBillingDocuments(); BillingLine.FindLast(); - UpdateAndPostPurchaseHeader(); + PostedDocumentNo := UpdateAndPostPurchaseHeader(Enum::"Purchase Document Type"::Invoice, BillingLine."Document No."); PurchInvHeader.Get(PostedDocumentNo); CorrectPostedPurchInvoice.CreateCreditMemoCopyDocument(PurchInvHeader, PurchaseHeader); PurchaseLine.SetRange("Document Type", PurchaseHeader."Document Type"); @@ -548,12 +540,17 @@ codeunit 139689 "Recurring Discount Test" ContractTestLibrary.CreateMultipleServiceObjectsWithItemSetup(Customer, ServiceObject, Item, 2); end; - local procedure UpdateAndPostPurchaseHeader() + local procedure UpdateAndPostPurchaseHeader(DocumentType: Enum "Purchase Document Type"; DocumentNo: Code[20]): Code[20] begin - PurchaseHeader.Get(Enum::"Purchase Document Type"::Invoice, BillingLine."Document No."); - PurchaseHeader.Validate("Vendor Invoice No.", LibraryUtility.GenerateGUID()); + PurchaseHeader.Get(DocumentType, DocumentNo); + case DocumentType of + Enum::"Purchase Document Type"::Invoice: + PurchaseHeader.Validate("Vendor Invoice No.", LibraryUtility.GenerateGUID()); + Enum::"Purchase Document Type"::"Credit Memo": + PurchaseHeader.Validate("Vendor Cr. Memo No.", LibraryUtility.GenerateGUID()); + end; PurchaseHeader.Modify(false); - PostedDocumentNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + exit(LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true)); end; local procedure SetupSalesServiceData() @@ -568,13 +565,6 @@ codeunit 139689 "Recurring Discount Test" ContractTestLibrary.SetupSalesServiceCommitmentItemAndAssignToServiceCommitmentPackage(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item", ServiceCommitmentPackage.Code); end; - local procedure CreateServiceCommitmentTemplateWithDiscount() - begin - ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate); - ServiceCommitmentTemplate.Validate(Discount, true); - ServiceCommitmentTemplate.Modify(false); - end; - local procedure IncreaseCalculationBaseAmountForNonDiscountServiceCommitment() begin ServiceCommitment.SetRange("Service Object No.", ServiceObject."No."); @@ -584,6 +574,41 @@ codeunit 139689 "Recurring Discount Test" ServiceCommitment.Modify(false); end; + local procedure VerifyCustomerContractDeferralLines(ContractNo: Code[20]; DocumentNo: Code[20]; DocumentType: Enum "Rec. Billing Document Type"; Discount: Boolean) + var + CustomerContractDeferral: Record "Customer Contract Deferral"; + begin + CustomerContractDeferral.SetRange("Contract No.", ContractNo); + CustomerContractDeferral.SetRange("Document Type", DocumentType); + CustomerContractDeferral.SetRange("Document No.", DocumentNo); + CustomerContractDeferral.SetRange(Discount, Discount); + + if CustomerContractDeferral.IsEmpty() then + Error(NoDeferralLinesErr); + + CustomerContractDeferral.SetFilter(Amount, '<0'); + if not CustomerContractDeferral.IsEmpty() then + Error(DiscountDeferralAmountSignErr, 'positive'); + CustomerContractDeferral.SetRange(Amount); + + CustomerContractDeferral.SetFilter("Deferral Base Amount", '<0'); + if not CustomerContractDeferral.IsEmpty() then + Error(DiscountDeferralDeferralBaseAmountSignErr, 'positive'); + CustomerContractDeferral.SetRange("Deferral Base Amount"); + end; + + local procedure VerifyVendorContractDeferralLinesCreated(ContractNo: Code[20]; DocumentNo: Code[20]; DocumentType: Enum "Rec. Billing Document Type"; Discount: Boolean) + var + VendorContractDeferral: Record "Vendor Contract Deferral"; + begin + VendorContractDeferral.SetRange("Contract No.", ContractNo); + VendorContractDeferral.SetRange("Document Type", DocumentType); + VendorContractDeferral.SetRange("Document No.", DocumentNo); + VendorContractDeferral.SetRange(Discount, Discount); + if VendorContractDeferral.IsEmpty() then + Error(NoDeferralLinesErr); + end; + [ModalPageHandler] procedure ExchangeRateSelectionModalPageHandler(var ExchangeRateSelectionPage: TestPage "Exchange Rate Selection") begin @@ -596,6 +621,96 @@ codeunit 139689 "Recurring Discount Test" AssignServiceCommitments.OK().Invoke(); end; + [Test] + [HandlerFunctions('MessageHandler,CreateBillingDocumentPageHandler')] + procedure PostingSalesCreditMemoFromDiscountContractCreatesDeferrals() + begin + // [SCENARIO] When Sales Cr. Memo is created from Customer Contract with discount and posted, deferrals should be created as well + ClearAll(); + InitTest(); + + // [GIVEN] Service Commitment Item + ContractTestLibrary.CreateItemWithServiceCommitmentOption(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item"); + + // [GIVEN] Customer and Service Object for it for Service Commitment Item + LibrarySales.CreateCustomer(Customer); + ContractTestLibrary.CreateServiceObjectWithItem(ServiceObject, Item, false); + ServiceObject.Validate("End-User Customer No.", Customer."No."); + ServiceObject.Modify(true); + + // [GIVEN] Service Commitment Template with Discount + ContractTestLibrary.CreateServiceCommitmentTemplateWithDiscount(ServiceCommitmentTemplate); + + // [GIVEN] Service Commitment Package with Discount based on Service Commitment Template with monthly rhythm + ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); + ContractTestLibrary.UpdateServiceCommitmentPackageLine(ServiceCommPackageLine, '<12M>', 100, '', "Service Partner"::Customer, '', "Invoicing Via"::Contract, "Calculation Base Type"::"Item Price", '', '<1M>', true); + + // [GIVEN] Item is assigned to Service Commitment Package + ContractTestLibrary.AssignItemToServiceCommitmentPackage(Item, ServiceCommitmentPackage.Code); + + // [GIVEN] Service Commitment from Service Commitment Package + ContractTestLibrary.InsertServiceCommitmentFromServiceCommPackageSetup(ServiceCommitmentPackage, ServiceObject); + + // [GIVEN] Customer Contract with Contract Line + ContractTestLibrary.CreateCustomerContractAndCreateContractLines(CustomerContract, ServiceObject, Customer."No.", true); + + // [GIVEN] Billing Proposal with Billing Lines and Sales Cr. Memo + CustomerContract.CreateBillingProposal(); + BillingLine.SetRange("Contract No.", CustomerContract."No."); + BillingLine.FindFirst(); + + // [WHEN] Sales Cr. Memo is posted + SalesHeader.Get(Enum::"Sales Document Type"::"Credit Memo", BillingLine."Document No."); + PostedDocumentNo := LibrarySales.PostSalesDocument(SalesHeader, true, true); + + // [THEN] Deferrals are created for Discount Billing Lines + VerifyCustomerContractDeferralLines(CustomerContract."No.", PostedDocumentNo, Enum::"Rec. Billing Document Type"::"Credit Memo", true); + end; + + [Test] + [HandlerFunctions('MessageHandler,CreateBillingDocumentPageHandler')] + procedure PostingPurchaseCreditMemoFromDiscountContractCreatesDeferrals() + begin + // [SCENARIO] When Purchase Cr. Memo is created from Vendor Contract with discount and posted, deferrals should be created as well + ClearAll(); + InitTest(); + + // [GIVEN] Service Commitment Item + ContractTestLibrary.CreateItemWithServiceCommitmentOption(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item"); + + // [GIVEN] Vendor and Service Object for it for Service Commitment Item + LibraryPurchase.CreateVendor(Vendor); + ContractTestLibrary.CreateServiceObjectWithItem(ServiceObject, Item, false); + ServiceObject.Modify(true); + + // [GIVEN] Service Commitment Template with Discount + ContractTestLibrary.CreateServiceCommitmentTemplateWithDiscount(ServiceCommitmentTemplate); + + // [GIVEN] Service Commitment Package with Discount based on Service Commitment Template with monthly rhythm + ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); + ContractTestLibrary.UpdateServiceCommitmentPackageLine(ServiceCommPackageLine, '<12M>', 100, '', "Service Partner"::Vendor, '', "Invoicing Via"::Contract, "Calculation Base Type"::"Item Price", '', '<1M>', true); + + // [GIVEN] Item is assigned to Service Commitment Package + ContractTestLibrary.AssignItemToServiceCommitmentPackage(Item, ServiceCommitmentPackage.Code); + + // [GIVEN] Service Commitment from Service Commitment Package + ContractTestLibrary.InsertServiceCommitmentFromServiceCommPackageSetup(ServiceCommitmentPackage, ServiceObject); + + // [GIVEN] Vendor Contract with Contract Line + ContractTestLibrary.CreateVendorContractAndCreateContractLines(VendorContract, ServiceObject, Vendor."No.", true); + + // [GIVEN] Billing Proposal with Billing Lines and Purch. Cr. Memo + VendorContract.CreateBillingProposal(); + BillingLine.SetRange("Contract No.", VendorContract."No."); + BillingLine.FindFirst(); + + // [WHEN] Purchase Cr. Memo is posted + PostedDocumentNo := UpdateAndPostPurchaseHeader(Enum::"Purchase Document Type"::"Credit Memo", BillingLine."Document No."); + + // [THEN] Deferrals are created for Discount Billing Lines + VerifyVendorContractDeferralLinesCreated(VendorContract."No.", PostedDocumentNo, Enum::"Rec. Billing Document Type"::"Credit Memo", true); + end; + var ServiceCommitmentTemplate: Record "Service Commitment Template"; ServiceCommitmentPackage: Record "Service Commitment Package"; @@ -624,7 +739,11 @@ codeunit 139689 "Recurring Discount Test" CorrectPostedSalesInvoice: Codeunit "Correct Posted Sales Invoice"; LibraryPurchase: Codeunit "Library - Purchase"; LibraryUtility: Codeunit "Library - Utility"; + LibraryERMCountryData: Codeunit "Library - ERM Country Data"; BillingProposal: Codeunit "Billing Proposal"; Assert: Codeunit Assert; + NoDeferralLinesErr: Label 'No Deferral lines were found.', Locked = true; + DiscountDeferralAmountSignErr: Label 'Discount Deferral line must have %1 Amount.', Locked = true; + DiscountDeferralDeferralBaseAmountSignErr: Label 'Discount Deferral line must have %1 Deferral Base Amount.', Locked = true; PostedDocumentNo: Code[20]; } diff --git a/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ContractsTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ContractsTest.Codeunit.al index edd8f8e878..656419bbb3 100644 --- a/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ContractsTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ContractsTest.Codeunit.al @@ -1107,13 +1107,13 @@ codeunit 148155 "Contracts Test" if RecalculatePrice then begin //if currency code is changed to '', amounts and amonts in lcy in service commitments should be the same ServiceCommitment.TestField(Price, - CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Customer."Currency Code", ServiceCommitment."Price (LCY)", CurrencyFactor)); + Round(CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Customer."Currency Code", ServiceCommitment."Price (LCY)", CurrencyFactor), Currency."Unit-Amount Rounding Precision")); ServiceCommitment.TestField("Service Amount", - CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Customer."Currency Code", ServiceCommitment."Service Amount (LCY)", CurrencyFactor)); + Round(CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Customer."Currency Code", ServiceCommitment."Service Amount (LCY)", CurrencyFactor), Currency."Amount Rounding Precision")); ServiceCommitment.TestField("Discount Amount", - CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Customer."Currency Code", ServiceCommitment."Discount Amount (LCY)", CurrencyFactor)); + Round(CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Customer."Currency Code", ServiceCommitment."Discount Amount (LCY)", CurrencyFactor), Currency."Amount Rounding Precision")); end else begin ServiceCommitment.TestField(Price, ServiceCommitment."Price (LCY)"); @@ -1187,8 +1187,8 @@ codeunit 148155 "Contracts Test" local procedure GetTotalServiceAmountFromServiceCommitments(): Decimal begin ServiceCommitment.SetRange("Service Object No.", ServiceObject."No.", ServiceObject1."No."); - ServiceCommitment.CalcSums("Service Amount"); - exit(ServiceCommitment."Service Amount"); + ServiceCommitment.FindFirst(); + exit(Round(ServiceCommitment.Price * ServiceObject1."Quantity Decimal" * 2, Currency."Amount Rounding Precision")); end; local procedure CreateAndPostBillingProposal(BillingDate: Date) @@ -1277,10 +1277,10 @@ codeunit 148155 "Contracts Test" local procedure CheckIfClosedServiceCommitmentsAreInvoiced(var SourceServiceCommitment: Record "Service Commitment") begin + SourceServiceCommitment.SetRange(Closed, true); if SourceServiceCommitment.FindSet() then repeat - if ContractTestLibrary.ServiceCommitmentIsClosed(SourceServiceCommitment) then - SourceServiceCommitment.TestField("Next Billing Date", CalcDate('<+1D>', SourceServiceCommitment."Service End Date")); + SourceServiceCommitment.TestField("Next Billing Date", CalcDate('<+1D>', SourceServiceCommitment."Service End Date")); until SourceServiceCommitment.Next() = 0; end; diff --git a/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ExtendContractTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ExtendContractTest.Codeunit.al index 87aa30cb8e..0e912f8bd3 100644 --- a/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ExtendContractTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Customer Contracts/ExtendContractTest.Codeunit.al @@ -20,6 +20,8 @@ codeunit 148152 "Extend Contract Test" Item."Last Direct Cost" := LibraryRandom.RandDec(100, 2); Item."Unit Cost" := LibraryRandom.RandDec(100, 2); Item.Modify(false); + ContractTestLibrary.CreateServiceCommitmentPackageWithLine(ServiceCommitmentTemplate.Code, ServiceCommitmentPackage, ServiceCommPackageLine); + ContractTestLibrary.AssignItemToServiceCommitmentPackage(Item, ServiceCommitmentPackage.Code); CreateCustomerAndVendorContracts(); InvokeExtendContractFromCustContractCard(); CustomerContractCard.Close(); diff --git a/Apps/W1/SubscriptionBilling/Test/Deferrals/CustomerDeferralsTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Deferrals/CustomerDeferralsTest.Codeunit.al index b8a406d602..dd32abb557 100644 --- a/Apps/W1/SubscriptionBilling/Test/Deferrals/CustomerDeferralsTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Deferrals/CustomerDeferralsTest.Codeunit.al @@ -80,7 +80,7 @@ codeunit 139912 "Customer Deferrals Test" ServiceObject.Validate("End-User Customer No.", Customer."No."); ServiceObject.Modify(false); - ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 10, Enum::"Invoicing Via"::Contract, Enum::"Calculation Base Type"::"Item Price"); + ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 10, Enum::"Invoicing Via"::Contract, Enum::"Calculation Base Type"::"Item Price", false); ContractTestLibrary.CreateServiceCommitmentPackage(ServiceCommitmentPackage); for i := 1 to ServiceCommimentCount do begin ContractTestLibrary.CreateServiceCommitmentPackageLine(ServiceCommitmentPackage.Code, ServiceCommitmentTemplate.Code, ServiceCommPackageLine); diff --git a/Apps/W1/SubscriptionBilling/Test/Deferrals/VendorDeferralsTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Deferrals/VendorDeferralsTest.Codeunit.al index 2d3b2667a5..0a5a7682a3 100644 --- a/Apps/W1/SubscriptionBilling/Test/Deferrals/VendorDeferralsTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Deferrals/VendorDeferralsTest.Codeunit.al @@ -81,7 +81,7 @@ codeunit 139913 "Vendor Deferrals Test" ContractTestLibrary.CreateServiceObject(ServiceObject, Item."No."); UnbindSubscription(ContractsTestSubscriber); - ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 10, Enum::"Invoicing Via"::Contract, Enum::"Calculation Base Type"::"Item Price"); + ContractTestLibrary.CreateServiceCommitmentTemplate(ServiceCommitmentTemplate, '<1M>', 10, Enum::"Invoicing Via"::Contract, Enum::"Calculation Base Type"::"Item Price", false); ContractTestLibrary.CreateServiceCommitmentPackage(ServiceCommitmentPackage); for i := 1 to ServiceCommimentCount do begin ContractTestLibrary.CreateServiceCommitmentPackageLine(ServiceCommitmentPackage.Code, ServiceCommitmentTemplate.Code, ServiceCommPackageLine); diff --git a/Apps/W1/SubscriptionBilling/Test/Import/ImpServiceAndContractTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Import/ImpServiceAndContractTest.Codeunit.al index cdccd5311e..45bf717600 100644 --- a/Apps/W1/SubscriptionBilling/Test/Import/ImpServiceAndContractTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Import/ImpServiceAndContractTest.Codeunit.al @@ -285,9 +285,6 @@ codeunit 139914 "Imp. Service And Contract Test" ImportedServiceCommitment."Service Start Date" := 0D; TestAssertErrorOnCreateServiceCommitmentRun(InitialImportedServiceCommitment); - ImportedServiceCommitment."Calculation Base Amount" := 0; - TestAssertErrorOnCreateServiceCommitmentRun(InitialImportedServiceCommitment); - ImportedServiceCommitment."Calculation Base %" := LibraryRandom.RandDecInRange(-100, -1, 0); TestAssertErrorOnCreateServiceCommitmentRun(InitialImportedServiceCommitment); @@ -479,6 +476,43 @@ codeunit 139914 "Imp. Service And Contract Test" ImportedCustomerContract := InitialImportedCustomerContract; end; + [Test] + [HandlerFunctions('MessageHandler')] + procedure ImportServiceCommitmentWithEmptyInvoicingItemNo() + var + ServiceCommitment: Record "Service Commitment"; + begin + // [GIVEN] Service Object with Service Commitment Item + // [GIVEN] Imported Service Commitments without a value in "Invoicing Item No." + ClearTestData(); + ContractTestLibrary.CreateImportedServiceObject(ImportedServiceObject, Customer."No.", ''); + Commit(); // needed before If Codeunit.Run + Report.Run(Report::"Create Service Objects", false, false, ImportedServiceObject); //MessageHandler + + ImportedServiceCommitment.Init(); + ImportedServiceCommitment."Entry No." := 0; + ImportedServiceCommitment."Service Object No." := ImportedServiceObject."Service Object No."; + ImportedServiceCommitment."Contract Line Type" := Enum::"Contract Line Type"::"Service Commitment"; + ImportedServiceCommitment.Partner := "Service Partner"::Customer; + ImportedServiceCommitment."Invoicing via" := "Invoicing Via"::Contract; + ImportedServiceCommitment."Invoicing Item No." := ''; + ImportedServiceCommitment.Description := CopyStr(LibraryRandom.RandText(MaxStrLen(ImportedServiceCommitment.Description)), 1, MaxStrLen(ImportedServiceCommitment.Description)); + ContractTestLibrary.SetImportedServiceCommitmentData(ImportedServiceCommitment); + ImportedServiceCommitment.Insert(false); + + // [WHEN] Creating Service Commitments + Commit(); // needed before If Codeunit.Run + Report.Run(Report::"Cr. Serv. Comm. And Contr. L.", false, false, ImportedServiceCommitment); //MessageHandler + ImportedServiceCommitment.Get(ImportedServiceCommitment."Entry No."); + + // [THEN] Expect the Service Commitment Item to have the Item of the Service Object if it is a service commitment item + ImportedServiceCommitment.TestField("Service Commitment created", true); + ImportedServiceCommitment.TestField("Invoicing Item No.", ''); + + ServiceCommitment.Get(ImportedServiceCommitment."Service Commitment Entry No."); + AssertThat.AreEqual(ImportedServiceObject."Item No.", ServiceCommitment."Invoicing Item No.", 'The Invoicing Item No. should be taken from the Service Object if it is empty in the source and if the item is a service commitment item'); + end; + var Customer: Record Customer; Vendor: Record Vendor; diff --git a/Apps/W1/SubscriptionBilling/Test/Service Commitments/SalesServiceCommitmentTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Service Commitments/SalesServiceCommitmentTest.Codeunit.al index c5501b4324..12d1d14a77 100644 --- a/Apps/W1/SubscriptionBilling/Test/Service Commitments/SalesServiceCommitmentTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Service Commitments/SalesServiceCommitmentTest.Codeunit.al @@ -90,6 +90,7 @@ codeunit 139915 "Sales Service Commitment Test" NoOfServiceObjects: Integer; CurrentQty: Decimal; XmlParameters: Text; + SalesServiceCommitmentCannotBeDeletedErr: Label 'The Sales Service Commitment cannot be deleted, because it is the last line with Process Contract Renewal. Please delete the Sales line in order to delete the Sales Service Commitment.', Locked = true; local procedure Setup() begin @@ -230,7 +231,56 @@ codeunit 139915 "Sales Service Commitment Test" end; [Test] - procedure CheckDeleteSalesServiceCommitmentWhenValidateTypeOrNo() + procedure RunNormalSalesServiceCommitmentDeletion() + begin + //[SCENARIO]: Manual deletion of simple Sales Service Commitment Line should run with no error. + + //[GIVEN]: Setup a new Service Commitment Item + Setup(); + ContractTestLibrary.SetupSalesServiceCommitmentItemAndAssignToServiceCommitmentPackage(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item", ServiceCommitmentPackage.Code); + + //[WHEN]: A sales line has been created for a Service Commitment Item + LibrarySales.CreateSalesHeader(SalesHeader, SalesHeader."Document Type"::Quote, ''); + LibrarySales.CreateSalesLine(SalesLine, SalesHeader, Enum::"Sales Line Type"::Item, Item."No.", LibraryRandom.RandIntInRange(1, 100)); + + //[THEN]: Make sure that Sales Service Commitment Line has been created and can be deleted with no errors + SalesServiceCommitment.FilterOnSalesLine(SalesLine); + SalesServiceCommitment.FindFirst(); + SalesServiceCommitment.Delete(true); + end; + + [Test] + procedure RunSalesServiceCommitmentDeletionForContractRenewal() + begin + //[SCENARIO]: Manual deletion of Sales Service Commitment Line with Contract Renewal should hit an error when the only remaining Line For Contract Renewal is left in the document + + //[GIVEN]: Setup a new Service Commitment Item + Setup(); + ContractTestLibrary.SetupSalesServiceCommitmentItemAndAssignToServiceCommitmentPackage(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item", ServiceCommitmentPackage.Code); + + //[WHEN]: Two sales lines has been created for a Service Commitment Item, both of them for Contract Renewal + LibrarySales.CreateSalesHeader(SalesHeader, SalesHeader."Document Type"::Quote, ''); + LibrarySales.CreateSalesLine(SalesLine, SalesHeader, Enum::"Sales Line Type"::Item, Item."No.", LibraryRandom.RandIntInRange(1, 100)); + SalesServiceCommitment.FilterOnSalesLine(SalesLine); + SalesServiceCommitment.FindFirst(); + SalesServiceCommitment.Process := SalesServiceCommitment.Process::"Contract Renewal"; + SalesServiceCommitment.Modify(); + LibrarySales.CreateSalesLine(SalesLine2, SalesHeader, Enum::"Sales Line Type"::Item, Item."No.", LibraryRandom.RandIntInRange(1, 100)); + SalesServiceCommitment2.FilterOnSalesLine(SalesLine2); + SalesServiceCommitment2.FindFirst(); + SalesServiceCommitment2.Process := SalesServiceCommitment.Process::"Contract Renewal"; + SalesServiceCommitment2.Modify(); + + //[THEN]: Make sure that first Sales Service Commitment Line can be deleted with no errors + SalesServiceCommitment.Delete(true); + + //[THEN]: Make sure that second Sales Service Commitment Line can not be deleted + asserterror SalesServiceCommitment2.Delete(true); + AssertThat.ExpectedError(SalesServiceCommitmentCannotBeDeletedErr); + end; + + [Test] + procedure CheckDeleteSalesServiceCommitmentWhenTypeOrNoChangedForSalesLine() begin Setup(); // sales service commitments created for this item @@ -488,6 +538,7 @@ codeunit 139915 "Sales Service Commitment Test" LibrarySales.CreateSalesLine(SalesLine, SalesHeader, Enum::"Sales Line Type"::Item, Item."No.", LibraryRandom.RandInt(100)); SalesLine."Qty. to Invoice" := 0; + SalesLine."Variant Code" := CopyStr(LibraryRandom.RandText(MaxStrLen(SalesLine."Variant Code")), 1, MaxStrLen(SalesLine."Variant Code")); SalesLine.Modify(false); LibrarySales.PostSalesDocument(SalesHeader, true, true); ServiceObject.SetRange("Item No.", Item."No."); @@ -503,6 +554,7 @@ codeunit 139915 "Sales Service Commitment Test" ServiceObject.TestField("Bill-to Customer No.", SalesHeader."Bill-to Customer No."); ServiceObject.TestField("Customer Price Group", CustomerPriceGroup1.Code); ServiceObject.TestField("Customer Reference", CustomerReference); + ServiceObject.TestField("Variant Code", SalesLine."Variant Code"); FetchSalesLine.Get(SalesLine."Document Type", SalesLine."Document No.", SalesLine."Line No."); ReleaseSalesDoc.PerformManualReopen(SalesHeader); diff --git a/Apps/W1/SubscriptionBilling/Test/Service Commitments/ServiceCommitmentTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Service Commitments/ServiceCommitmentTest.Codeunit.al index fbe3b63cb7..dfd8d74032 100644 --- a/Apps/W1/SubscriptionBilling/Test/Service Commitments/ServiceCommitmentTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Service Commitments/ServiceCommitmentTest.Codeunit.al @@ -377,7 +377,7 @@ codeunit 148156 "Service Commitment Test" InsertServiceCommitment(ServiceCommitment.Partner::Vendor, InsertCounter); end; - Assert.AreEqual(InsertCounter, OverdueServiceCommitments.FillAndCountOverdueServiceCommitments(), 'Only service commitments that are open and within the correct date range should be counted.'); + Assert.AreEqual(InsertCounter, OverdueServiceCommitments.CountOverdueServiceCommitments(), 'Only service commitments that are open and within the correct date range should be counted.'); end; local procedure InsertServiceCommitment(ServicePartner: Enum "Service Partner"; var InsertCounter: Integer) diff --git a/Apps/W1/SubscriptionBilling/Test/Service Objects/ItemServiceCommTypeTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Service Objects/ItemServiceCommTypeTest.Codeunit.al index 5cb97532ad..fce74ab906 100644 --- a/Apps/W1/SubscriptionBilling/Test/Service Objects/ItemServiceCommTypeTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Service Objects/ItemServiceCommTypeTest.Codeunit.al @@ -103,6 +103,21 @@ codeunit 139885 "Item Service Comm. Type Test" asserterror LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, Enum::"Purchase Line Type"::Item, Item."No.", 1); end; + [Test] + procedure ExpectErrorPostingServiceCommitmentItemOnPurchaseInvoice() + begin + ClearAll(); + // [GIVEN] Create Purchase Return Order + LibraryPurchase.CreatePurchHeader(PurchaseHeader, PurchaseHeader."Document Type"::Invoice, ''); + Commit(); // retain data after asserterror + ContractTestLibrary.CreateItemWithServiceCommitmentOption(Item, Enum::"Item Service Commitment Type"::"Service Commitment Item"); + LibraryPurchase.CreatePurchaseLine(PurchaseLine, PurchaseHeader, Enum::"Purchase Line Type"::Item, Item."No.", 1); + + // [WHEN] Try to post Purchase Line with Item which is Service Commitment Item + // [THEN] expect error is thrown + asserterror LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + end; + [Test] procedure ExpectErrorUsingServiceCommitmentItemAndAllowInvoiceDiscountOnSalesLine() begin diff --git a/Apps/W1/SubscriptionBilling/Test/Service Objects/ServiceObjectTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Service Objects/ServiceObjectTest.Codeunit.al index 9b95642942..c894e426ee 100644 --- a/Apps/W1/SubscriptionBilling/Test/Service Objects/ServiceObjectTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Service Objects/ServiceObjectTest.Codeunit.al @@ -8,6 +8,7 @@ using Microsoft.Sales.Customer; using Microsoft.Sales.Document; using Microsoft.Sales.Pricing; using Microsoft.CRM.Contact; +using Microsoft.Pricing.Calculation; using Microsoft.Finance.Currency; using Microsoft.Pricing.Source; using Microsoft.Pricing.Asset; @@ -43,6 +44,7 @@ codeunit 148157 "Service Object Test" ContractTestLibrary: Codeunit "Contract Test Library"; LibraryRandom: Codeunit "Library - Random"; LibrarySales: Codeunit "Library - Sales"; + LibraryInventory: Codeunit "Library - Inventory"; LibraryTestInitialize: Codeunit "Library - Test Initialize"; LibraryERMCountryData: Codeunit "Library - ERM Country Data"; AssertThat: Codeunit Assert; @@ -793,6 +795,85 @@ codeunit 148157 "Service Object Test" TestCalculationBaseAmount(10, FutureReferenceDate, CustomerPrice[4]); end; + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure TestRecalculateServiceCommitmentsOnChangeVariantCode() + var + ItemVariant: array[2] of Record "Item Variant"; + CustomerPrice: array[2] of Decimal; + begin + // [SCENARIO]: Create Service Object with the Service Commitment, Create Item Variants and create Sales Prices + // [SCENARIO]: Change the Variant Code in Service Object and check the value of Calculation Base Amount in Service Commitment + // [SCENARIO]: Calculation Base Amount should be recalculated based on value of Variant Code that has been set in Sales Price + + // [GIVEN] New pricing enabled + LibraryPriceCalculation.EnableExtendedPriceCalculation(); + LibraryPriceCalculation.SetupDefaultHandler("Price Calculation Handler"::"Business Central (Version 16.0)"); + // [GIVEN]: Setup + ClearAll(); + SetupServiceObjectWithServiceCommitment(true, true); + ConfirmOption := true; + LibrarySales.CreateCustomer(Customer); + ServiceObject.Validate("End-User Customer No.", Customer."No."); //ConfirmHandler + ServiceObject.Modify(true); + CustomerPrice[1] := LibraryRandom.RandDec(100, 2); + CustomerPrice[2] := LibraryRandom.RandDec(100, 2); + LibraryInventory.CreateItemVariant(ItemVariant[1], Item."No."); + LibraryInventory.CreateItemVariant(ItemVariant[2], Item."No."); + CreateCustomerSalesPriceWithVariantCode(Item, Customer, WorkDate(), 0, CustomerPrice[1], (CalcDate('<1M>', WorkDate())), ItemVariant[1].Code); + CreateCustomerSalesPriceWithVariantCode(Item, Customer, WorkDate(), 0, CustomerPrice[2], (CalcDate('<1M>', WorkDate())), ItemVariant[2].Code); + + // [WHEN]: Change the Variant Code on Service Object + ServiceObject.Validate("Variant Code", ItemVariant[1].Code); //ConfirmHandler + ServiceObject.Modify(false); + FindServiceCommitment(ServiceCommitment, ServiceObject."No."); + + // [THEN]: Calculation Base Amount on Service Commitment should be recalculated based on value related to changed Variant Code + AssertThat.AreEqual(CustomerPrice[1], ServiceCommitment."Calculation Base Amount", 'Calculation Base Amount should be taken from Sales Price based on Variant Code'); + + // [WHEN]: Change the Variant Code on Service Object + ServiceObject.Validate("Variant Code", ItemVariant[2].Code); //ConfirmHandler + ServiceObject.Modify(false); + FindServiceCommitment(ServiceCommitment, ServiceObject."No."); + + // [THEN]: Calculation Base Amount on Service Commitment should be recalculated based on value related to changed Variant Code + AssertThat.AreEqual(CustomerPrice[2], ServiceCommitment."Calculation Base Amount", 'Calculation Base Amount should be taken from Sales Price based on Variant Code'); + end; + + local procedure FindServiceCommitment(var ServiceCommitmentLine: Record "Service Commitment"; ServiceObjectNo: Code[20]) + begin + ServiceCommitmentLine.SetRange(ServiceCommitmentLine."Service Object No.", ServiceObjectNo); + ServiceCommitmentLine.FindFirst(); + end; + + local procedure CreateCustomerSalesPriceWithVariantCode(SourceItem: Record Item; SourceCustomer: Record Customer; StartingDate: Date; Quantity: Decimal; CustomerPrice: Decimal; EndingDate: Date; VariantCode: Code[10]) + begin + CreateCustomerSalesPriceWithVariantCode(SourceItem, SourceCustomer, StartingDate, EndingDate, Quantity, CustomerPrice, VariantCode); + end; + + local procedure CreateCustomerSalesPriceWithVariantCode(SourceItem: Record Item; SourceCustomer: Record Customer; StartingDate: Date; EndingDate: Date; Quantity: Decimal; CustomerPrice: Decimal; VariantCode: Code[10]) + begin + LibraryPriceCalculation.CreatePriceHeader(PriceListHeader, "Price Type"::Sale, "Price Source Type"::Customer, SourceCustomer."No."); + PriceListHeader.Status := "Price Status"::Active; + PriceListHeader."Allow Updating Defaults" := true; + PriceListHeader."Currency Code" := ''; + PriceListHeader.Modify(true); + + LibraryPriceCalculation.CreatePriceListLine(PriceListLine, PriceListHeader, "Price Amount Type"::Price, "Price Asset Type"::Item, SourceItem."No."); + PriceListLine.Validate("Starting Date", StartingDate); + PriceListLine.Validate("Ending Date", EndingDate); + + PriceListLine."Asset Type" := PriceListLine."Asset Type"::Item; + PriceListLine."Product No." := SourceItem."No."; + + PriceListLine."Currency Code" := ''; + PriceListLine.Validate("Variant Code", VariantCode); + PriceListLine.Validate("Unit Price", CustomerPrice); + PriceListLine.Validate("Minimum Quantity", Quantity); + PriceListLine.Status := "Price Status"::Active; + PriceListLine.Modify(true); + end; + [Test] procedure CheckCalculationBaseAmountAssignmentForCustomerWithBillToCustomer() var @@ -978,6 +1059,42 @@ codeunit 148157 "Service Object Test" until ServCommArchive.Next() = 0; end; + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure CheckArchivedServCommVariantCode() + var + ServiceCommitmentArchive: Record "Service Commitment Archive"; + ItemVariant: Record "Item Variant"; + PreviousVariantCode: Code[10]; + begin + // [SCENARIO]: Create Service Object with the Service Commitment, create Item Variant and create Sales Price + // [SCENARIO]: Change the Variant Code in Service Object and check the value in Service Commitment Archive + // [SCENARIO]: Variant Code in Service Commitment Archive should be the value of the Service Object before the Variant Code change + + // [GIVEN]: Setup + ClearAll(); + SetupServiceObjectWithServiceCommitment(true, true); + ConfirmOption := true; + LibrarySales.CreateCustomer(Customer); + LibraryInventory.CreateItemVariant(ItemVariant, Item."No."); + ServiceObject.Validate("End-User Customer No.", Customer."No."); //ConfirmHandler + ServiceObject.Validate("Variant Code", ItemVariant.Code); // ConfirmHandler + ServiceObject.Modify(true); + + // [WHEN]: Change the Variant Code to create entries in Service Commitment Archive + PreviousVariantCode := ServiceObject."Variant Code"; + LibraryInventory.CreateItemVariant(ItemVariant, Item."No."); + ServiceObject.Validate("Variant Code", ItemVariant.Code); // ConfirmHandler + ServiceObject.Modify(false); + + // Check if archive has saved the correct (old) Variant Code + ServiceCommitmentArchive.SetRange("Service Object No.", ServiceObject."No."); +#pragma warning disable AA0210 + ServiceCommitmentArchive.SetRange("Variant Code (Service Object)", PreviousVariantCode); +#pragma warning restore AA0210 + AssertThat.RecordIsNotEmpty(ServiceCommitmentArchive); + end; + [Test] procedure CheckChangeServiceObjectSN() var diff --git a/Apps/W1/SubscriptionBilling/Test/UBB/UsageBasedBillingTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/UBB/UsageBasedBillingTest.Codeunit.al index ebe394e63f..c20922e345 100644 --- a/Apps/W1/SubscriptionBilling/Test/UBB/UsageBasedBillingTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/UBB/UsageBasedBillingTest.Codeunit.al @@ -85,7 +85,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestCreateUsageDataBilling() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.FindLast(); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); UsageDataBilling.FindLast(); @@ -97,7 +97,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestProcessUsageDataBilling() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); //Test update service object and service commitment //TODO: Test prices update after 1. iteration of consultants testing @@ -109,7 +109,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestDeleteUsageDataBilling() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.DeleteUsageDataBillingLines(); Commit(); // retain data after asserterror @@ -152,7 +152,7 @@ codeunit 148153 "Usage Based Billing Test" Initialize(); j := LibraryRandom.RandIntInRange(2, 10); for i := 1 to j do - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.Reset(); UsageDataImport.FindSet(); @@ -179,7 +179,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestCreateContractInvoiceFromUsageDataImport() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Usage Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Usage Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := false; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -193,7 +193,7 @@ codeunit 148153 "Usage Based Billing Test" begin Initialize(); SalesInvoiceHeader.DeleteAll(false); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -208,7 +208,7 @@ codeunit 148153 "Usage Based Billing Test" begin Initialize(); SalesInvoiceHeader.DeleteAll(false); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -229,7 +229,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestUpdateUsageBasedAfterDeleteSalesHeader() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := false; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -247,7 +247,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestUpdateUsageBasedAfterInsertCreditMemo() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -269,7 +269,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestUpdateUsageBasedAfterPostCreditMemo() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -296,7 +296,7 @@ codeunit 148153 "Usage Based Billing Test" procedure ExpectErrorOnDeleteUsageDataImportIfDocumentIsCreated() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -311,7 +311,7 @@ codeunit 148153 "Usage Based Billing Test" begin Initialize(); for i := 1 to 2 do //create usage data for 3 different contracts - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); //Process usage data and create customer contract invoices UsageDataImport.Reset(); @@ -326,7 +326,7 @@ codeunit 148153 "Usage Based Billing Test" begin Initialize(); for i := 1 to 2 do //create usage data for 3 different contracts - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); //Process usage data and create vendor contract invoices UsageDataImport.Reset(); @@ -340,7 +340,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestCreateCustomerContractInvoiceFromUsageDataImport() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := false; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -353,7 +353,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestCreateVendorContractInvoiceFromUsageDataImport() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := false; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -369,7 +369,7 @@ codeunit 148153 "Usage Based Billing Test" begin Initialize(); PurchaseInvoiceHeader.DeleteAll(false); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); UsageDataImport.CollectVendorContractsAndCreateInvoices(UsageDataImport); @@ -384,7 +384,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestUpdateUsageBasedAfterDeletePurchaseHeader() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); UsageDataImport.CollectVendorContractsAndCreateInvoices(UsageDataImport); @@ -404,7 +404,7 @@ codeunit 148153 "Usage Based Billing Test" Initialize(); PurchaseInvoiceHeader.DeleteAll(false); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); UsageDataImport.CollectVendorContractsAndCreateInvoices(UsageDataImport); @@ -427,7 +427,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestUpdateUsageBasedAfterInsertSalesCreditMemo() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -454,7 +454,7 @@ codeunit 148153 "Usage Based Billing Test" Initialize(); PurchaseInvoiceHeader.DeleteAll(false); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); UsageDataImport.CollectVendorContractsAndCreateInvoices(UsageDataImport); @@ -474,7 +474,7 @@ codeunit 148153 "Usage Based Billing Test" procedure TestUpdateUsageBasedAfterPostSalesCreditMemo() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); @@ -505,7 +505,7 @@ codeunit 148153 "Usage Based Billing Test" Initialize(); PurchaseInvoiceHeader.DeleteAll(false); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.TestField("Processing Status", "Processing Status"::Ok); UsageDataImport.CollectVendorContractsAndCreateInvoices(UsageDataImport); @@ -531,7 +531,7 @@ codeunit 148153 "Usage Based Billing Test" procedure ExpectErrorOnDeleteCustomerContractLine() begin Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); UsageDataBilling.SetRange(Partner, "Service Partner"::Customer); UsageDataBilling.FindFirst(); CustomerContractLine.Get(UsageDataBilling."Contract No.", UsageDataBilling."Contract Line No."); @@ -578,7 +578,7 @@ codeunit 148153 "Usage Based Billing Test" //Set update required //Expect no error on create Usage data billing documents Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); PostDocument := false; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); @@ -604,7 +604,7 @@ codeunit 148153 "Usage Based Billing Test" LastUsedNo := NoSeriesLine."Last No. Used"; Currency.InitRoundingPrecision(); - CreateUsageDataBilling("Usage Based Pricing"::"Usage Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Usage Quantity", LibraryRandom.RandDec(10, 2)); UsageDataSupplier."Unit Price from Import" := false; UsageDataSupplier.Modify(false); UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); @@ -626,12 +626,12 @@ codeunit 148153 "Usage Based Billing Test" BillingDate1 := WorkDate(); TestBillingDate := CalcDate('<1M>', WorkDate()); BillingDate2 := CalcDate('<2M>', WorkDate()); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", BillingDate1, CalcDate('', BillingDate1), BillingDate1, CalcDate('', BillingDate1), LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", BillingDate1, CalcDate('', BillingDate1), BillingDate1, CalcDate('', BillingDate1), LibraryRandom.RandDec(10, 2)); PostDocument := true; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.CollectCustomerContractsAndCreateInvoices(UsageDataImport); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", BillingDate2, CalcDate('', BillingDate2), BillingDate2, CalcDate('', BillingDate2), LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", BillingDate2, CalcDate('', BillingDate2), BillingDate2, CalcDate('', BillingDate2), LibraryRandom.RandDec(10, 2)); PostDocument := false; UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); UsageDataImport.CollectCustomerContractsAndCreateInvoices(UsageDataImport); @@ -941,7 +941,7 @@ codeunit 148153 "Usage Based Billing Test" ContractTestLibrary.InitContractsApp(); // [GIVEN]: Usage data billing for a contract - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); // MessageHandler, ExchangeRateSelectionModalPageHandler + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); // MessageHandler, ExchangeRateSelectionModalPageHandler UsageDataImport.ProcessUsageDataImport(UsageDataImport, Enum::"Processing Step"::"Process Usage Data Billing"); // [WHEN]: Creating a billing proposal @@ -1041,7 +1041,7 @@ codeunit 148153 "Usage Based Billing Test" // [GIVEN]: Setup Usage based service commitment and assign it to customer; Add Discount of 100% to the service commitment Initialize(); - CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandInt(10)); + CreateUsageDataBilling("Usage Based Pricing"::"Fixed Quantity", LibraryRandom.RandDec(10, 2)); ServiceCommitment.Validate("Discount Amount", ServiceCommitment."Service Amount"); //Rounding issue; Make sure that the Discount amount is equal to Service Amount ServiceCommitment.Modify(true); diff --git a/Apps/W1/SubscriptionBilling/Test/Vendor Contracts/VendorContractsTest.Codeunit.al b/Apps/W1/SubscriptionBilling/Test/Vendor Contracts/VendorContractsTest.Codeunit.al index c06af6ecaf..b6cb270283 100644 --- a/Apps/W1/SubscriptionBilling/Test/Vendor Contracts/VendorContractsTest.Codeunit.al +++ b/Apps/W1/SubscriptionBilling/Test/Vendor Contracts/VendorContractsTest.Codeunit.al @@ -641,8 +641,8 @@ codeunit 148154 "Vendor Contracts Test" local procedure GetTotalServiceAmountFromServiceCommitments(): Decimal begin ServiceCommitment.SetRange("Service Object No.", ServiceObject."No.", ServiceObject1."No."); - ServiceCommitment.CalcSums("Service Amount"); - exit(ServiceCommitment."Service Amount"); + ServiceCommitment.FindFirst(); + exit(Round(ServiceCommitment.Price * ServiceObject1."Quantity Decimal" * 2, Currency."Amount Rounding Precision")); end; local procedure CreateVendorContractSetup() @@ -682,13 +682,13 @@ codeunit 148154 "Vendor Contracts Test" if RecalculatePrice then begin //if currency code is changed to '', amounts and amonts in lcy in service commitments should be the same ServiceCommitment.TestField(Price, - CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Vendor."Currency Code", ServiceCommitment."Price (LCY)", CurrencyFactor)); + Round(CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Vendor."Currency Code", ServiceCommitment."Price (LCY)", CurrencyFactor), Currency."Unit-Amount Rounding Precision")); ServiceCommitment.TestField("Service Amount", - CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Vendor."Currency Code", ServiceCommitment."Service Amount (LCY)", CurrencyFactor)); + Round(CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Vendor."Currency Code", ServiceCommitment."Service Amount (LCY)", CurrencyFactor), Currency."Amount Rounding Precision")); ServiceCommitment.TestField("Discount Amount", - CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Vendor."Currency Code", ServiceCommitment."Discount Amount (LCY)", CurrencyFactor)); + Round(CurrExchRate.ExchangeAmtLCYToFCY(CurrencyFactorDate, Vendor."Currency Code", ServiceCommitment."Discount Amount (LCY)", CurrencyFactor), Currency."Amount Rounding Precision")); end else begin ServiceCommitment.TestField(Price, ServiceCommitment."Price (LCY)"); diff --git a/Apps/W1/Sustainability/app/src/Account/SustGLAccount.TableExt.al b/Apps/W1/Sustainability/app/src/Account/SustGLAccount.TableExt.al new file mode 100644 index 0000000000..17112d8285 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Account/SustGLAccount.TableExt.al @@ -0,0 +1,28 @@ +namespace Microsoft.Sustainability.Account; + +using Microsoft.Finance.GeneralLedger.Account; + +tableextension 6227 "Sust. G/L Account" extends "G/L Account" +{ + fields + { + field(6210; "Default Sust. Account"; Code[20]) + { + DataClassification = CustomerContent; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + Caption = 'Default Sust. Account'; + + trigger OnValidate() + var + SustainabilityAccount: Record "Sustainability Account"; + begin + if Rec."Default Sust. Account" <> '' then begin + SustainabilityAccount.Get(Rec."Default Sust. Account"); + + SustainabilityAccount.CheckAccountReadyForPosting(); + SustainabilityAccount.TestField("Direct Posting", true); + end; + end; + } + } +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Account/SustGLAccountCard.PageExt.al b/Apps/W1/Sustainability/app/src/Account/SustGLAccountCard.PageExt.al new file mode 100644 index 0000000000..90472b19ac --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Account/SustGLAccountCard.PageExt.al @@ -0,0 +1,42 @@ +namespace Microsoft.Sustainability.Account; + +using Microsoft.Finance.GeneralLedger.Account; +using Microsoft.Sustainability.Setup; + +pageextension 6227 "Sust. G/L Account Card" extends "G/L Account Card" +{ + layout + { + addafter("Cost Accounting") + { + group("Sustainability") + { + Caption = 'Sustainability'; + Visible = SustainabilityVisible; + + field("Default Sust. Account"; Rec."Default Sust. Account") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default Sust. Account field.'; + } + } + } + } + + trigger OnOpenPage() + begin + VisibleSustainabilityControls(); + end; + + local procedure VisibleSustainabilityControls() + var + SustainabilitySetup: Record "Sustainability Setup"; + begin + SustainabilitySetup.Get(); + + SustainabilityVisible := SustainabilitySetup."G/L Account Emissions"; + end; + + var + SustainabilityVisible: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustCertificateSubscribers.Codeunit.al b/Apps/W1/Sustainability/app/src/Certificate/SustCertificateSubscribers.Codeunit.al index aca492ef9a..e4dae68fd5 100644 --- a/Apps/W1/Sustainability/app/src/Certificate/SustCertificateSubscribers.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Certificate/SustCertificateSubscribers.Codeunit.al @@ -5,6 +5,9 @@ using Microsoft.Purchases.Document; codeunit 6250 "Sust. Certificate Subscribers" { + var + ConfirmationForClearEmissionInfoQst: Label 'Changing the Replenishment System to %1 will clear sustainability emission value. Do you want to continue?', Comment = '%1 = Replenishment System'; + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeValidateEvent', 'Type', false, false)] local procedure OnAfterValidateItemTypeEvent(var Rec: Record Item; var xRec: Record Item) begin @@ -12,6 +15,19 @@ codeunit 6250 "Sust. Certificate Subscribers" Rec.TestField("Sust. Cert. No.", ''); end; + [EventSubscriber(ObjectType::Table, Database::Item, 'OnAfterValidateItemCategoryCode', '', false, false)] + local procedure OnAfterValidateItemCategoryCode(var Item: Record Item; xItem: Record Item) + begin + if Item."Replenishment System" = Item."Replenishment System"::Purchase then + UpdateDefaultSustAccountOnItem(Item); + end; + + [EventSubscriber(ObjectType::Table, Database::Item, 'OnBeforeValidateEvent', "Replenishment System", false, false)] + local procedure OnAfterValidateItemReplenishmentSystemEvent(var Rec: Record Item; var xRec: Record Item) + begin + ClearDefaultSustAccountForNonPurchaseItem(Rec); + end; + [EventSubscriber(ObjectType::Table, Database::"Purchase Line", 'OnBeforeValidateEvent', 'No.', false, false)] local procedure OnAfterValidatePurchaseLineNoEvent(var Rec: Record "Purchase Line") var @@ -24,4 +40,31 @@ codeunit 6250 "Sust. Certificate Subscribers" if Item."GHG Credit" then Item.TestField("Carbon Credit Per UOM"); end; + + local procedure UpdateDefaultSustAccountOnItem(var Item: Record Item) + var + ItemCategory: Record "Item Category"; + begin + if not ItemCategory.Get(Item."Item Category Code") then + exit; + + if ItemCategory."Default Sust. Account" = '' then + exit; + + Item.Validate("Default Sust. Account", ItemCategory."Default Sust. Account"); + end; + + local procedure ClearDefaultSustAccountForNonPurchaseItem(var Item: Record Item) + begin + if (Item."Replenishment System" = Item."Replenishment System"::Purchase) then + exit; + + if (Item."Default Sust. Account" = '') then + exit; + + if Confirm(StrSubstNo(ConfirmationForClearEmissionInfoQst, Item."Replenishment System"), false) then + Item.Validate("Default Sust. Account", '') + else + Error(''); + end; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustItem.TableExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustItem.TableExt.al index bc3e1735ed..c99f350df2 100644 --- a/Apps/W1/Sustainability/app/src/Certificate/SustItem.TableExt.al +++ b/Apps/W1/Sustainability/app/src/Certificate/SustItem.TableExt.al @@ -1,6 +1,8 @@ namespace Microsoft.Sustainability.Certificate; using Microsoft.Inventory.Item; +using Microsoft.Sustainability.Account; +using Microsoft.Sustainability.Setup; tableextension 6220 "Sust. Item" extends Item { @@ -50,8 +52,70 @@ tableextension 6220 "Sust. Item" extends Item Rec.TestField("GHG Credit"); end; } + field(6214; "Default Sust. Account"; Code[20]) + { + DataClassification = CustomerContent; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + Caption = 'Default Sust. Account'; + + trigger OnValidate() + var + SustainabilityAccount: Record "Sustainability Account"; + begin + if Rec."Default Sust. Account" = '' then + ClearDefaultEmissionInformation(Rec) + else begin + SustainabilityAccount.Get(Rec."Default Sust. Account"); + + SustainabilityAccount.CheckAccountReadyForPosting(); + SustainabilityAccount.TestField("Direct Posting", true); + end; + end; + } + field(6215; "Default CO2 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CO2 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CO2 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6216; "Default CH4 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CH4 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CH4 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6217; "Default N2O Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default N2O Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default N2O Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } } + var + SustainabilitySetup: Record "Sustainability Setup"; + local procedure UpdateCertificateInformation() var SustCertificate: Record "Sustainability Certificate"; @@ -62,4 +126,11 @@ tableextension 6220 "Sust. Item" extends Item if SustCertificate.Get(SustCertificate.Type::Item, Rec."Sust. Cert. No.") then Rec.Validate("Sust. Cert. Name", SustCertificate.Name); end; + + procedure ClearDefaultEmissionInformation(var Item: Record Item) + begin + Item.Validate("Default N2O Emission", 0); + Item.Validate("Default CH4 Emission", 0); + Item.Validate("Default CO2 Emission", 0); + end; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustItemCard.PageExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustItemCard.PageExt.al index 5240a9b220..9d1c2f7dc4 100644 --- a/Apps/W1/Sustainability/app/src/Certificate/SustItemCard.PageExt.al +++ b/Apps/W1/Sustainability/app/src/Certificate/SustItemCard.PageExt.al @@ -1,6 +1,7 @@ namespace Microsoft.Sustainability.Certificate; using Microsoft.Inventory.Item; +using Microsoft.Sustainability.Setup; pageextension 6222 "Sust. Item Card" extends "Item Card" { @@ -11,6 +12,8 @@ pageextension 6222 "Sust. Item Card" extends "Item Card" group("Sustainability") { Caption = 'Sustainability'; + Visible = SustainabilityVisible; + field("GHG Credit"; Rec."GHG Credit") { ApplicationArea = Basic, Suite; @@ -32,7 +35,48 @@ pageextension 6222 "Sust. Item Card" extends "Item Card" ApplicationArea = Basic, Suite; ToolTip = 'Specifies the Sustainability Certificate Name of the Item.'; } + field("Default Sust. Account"; Rec."Default Sust. Account") + { + ApplicationArea = Basic, Suite; + Editable = Rec."Replenishment System" = Rec."Replenishment System"::Purchase; + ToolTip = 'Specifies the value of the Default Sust. Account field.'; + } + field("Default CO2 Emission"; Rec."Default CO2 Emission") + { + ApplicationArea = Basic, Suite; + Editable = Rec."Replenishment System" = Rec."Replenishment System"::Purchase; + ToolTip = 'Specifies the value of the Default CO2 Emission field.'; + } + field("Default CH4 Emission"; Rec."Default CH4 Emission") + { + ApplicationArea = Basic, Suite; + Editable = Rec."Replenishment System" = Rec."Replenishment System"::Purchase; + ToolTip = 'Specifies the value of the Default CH4 Emission field.'; + } + field("Default N2O Emission"; Rec."Default N2O Emission") + { + ApplicationArea = Basic, Suite; + Editable = Rec."Replenishment System" = Rec."Replenishment System"::Purchase; + ToolTip = 'Specifies the value of the Default N2O Emission field.'; + } } } } + + trigger OnOpenPage() + begin + VisibleSustainabilityControls(); + end; + + local procedure VisibleSustainabilityControls() + var + SustainabilitySetup: Record "Sustainability Setup"; + begin + SustainabilitySetup.Get(); + + SustainabilityVisible := SustainabilitySetup."Item Emissions"; + end; + + var + SustainabilityVisible: Boolean; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustItemCategory.TableExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustItemCategory.TableExt.al new file mode 100644 index 0000000000..baf8d001ee --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Certificate/SustItemCategory.TableExt.al @@ -0,0 +1,29 @@ +namespace Microsoft.Sustainability.Certificate; + +using Microsoft.Inventory.Item; +using Microsoft.Sustainability.Account; + +tableextension 6228 "Sust. Item Category" extends "Item Category" +{ + fields + { + field(6210; "Default Sust. Account"; Code[20]) + { + DataClassification = CustomerContent; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + Caption = 'Default Sust. Account'; + + trigger OnValidate() + var + SustainabilityAccount: Record "Sustainability Account"; + begin + if Rec."Default Sust. Account" <> '' then begin + SustainabilityAccount.Get(Rec."Default Sust. Account"); + + SustainabilityAccount.CheckAccountReadyForPosting(); + SustainabilityAccount.TestField("Direct Posting", true); + end; + end; + } + } +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustItemCategoryCard.PageExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustItemCategoryCard.PageExt.al new file mode 100644 index 0000000000..3ee8a9ef50 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Certificate/SustItemCategoryCard.PageExt.al @@ -0,0 +1,42 @@ +namespace Microsoft.Sustainability.Certificate; + +using Microsoft.Inventory.Item; +using Microsoft.Sustainability.Setup; + +pageextension 6228 "Sust. Item Category Card" extends "Item Category Card" +{ + layout + { + addafter(Attributes) + { + group("Sustainability") + { + Caption = 'Sustainability'; + Visible = SustainabilityVisible; + + field("Default Sust. Account"; Rec."Default Sust. Account") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default Sust. Account field.'; + } + } + } + } + + trigger OnOpenPage() + begin + VisibleSustainabilityControls(); + end; + + local procedure VisibleSustainabilityControls() + var + SustainabilitySetup: Record "Sustainability Setup"; + begin + SustainabilitySetup.Get(); + + SustainabilityVisible := SustainabilitySetup."Item Emissions"; + end; + + var + SustainabilityVisible: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustItemCharge.TableExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustItemCharge.TableExt.al new file mode 100644 index 0000000000..12f4cd6605 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Certificate/SustItemCharge.TableExt.al @@ -0,0 +1,81 @@ +namespace Microsoft.Sustainability.Certificate; + +using Microsoft.Inventory.Item; +using Microsoft.Sustainability.Account; +using Microsoft.Sustainability.Setup; + +tableextension 6229 "Sust. Item Charge" extends "Item Charge" +{ + fields + { + field(6210; "Default Sust. Account"; Code[20]) + { + DataClassification = CustomerContent; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + Caption = 'Default Sust. Account'; + + trigger OnValidate() + var + SustainabilityAccount: Record "Sustainability Account"; + begin + if Rec."Default Sust. Account" = '' then + ClearDefaultEmissionInformation(Rec) + else begin + SustainabilityAccount.Get(Rec."Default Sust. Account"); + + SustainabilityAccount.CheckAccountReadyForPosting(); + SustainabilityAccount.TestField("Direct Posting", true); + end; + end; + } + field(6211; "Default CO2 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CO2 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CO2 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6212; "Default CH4 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CH4 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CH4 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6213; "Default N2O Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default N2O Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default N2O Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + } + + var + SustainabilitySetup: Record "Sustainability Setup"; + + local procedure ClearDefaultEmissionInformation(var ItemCharge: Record "Item Charge") + begin + ItemCharge.Validate("Default N2O Emission", 0); + ItemCharge.Validate("Default CH4 Emission", 0); + ItemCharge.Validate("Default CO2 Emission", 0); + end; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustItemCharges.PageExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustItemCharges.PageExt.al new file mode 100644 index 0000000000..18d2ae403a --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Certificate/SustItemCharges.PageExt.al @@ -0,0 +1,55 @@ +namespace Microsoft.Sustainability.Certificate; + +using Microsoft.Inventory.Item; +using Microsoft.Sustainability.Setup; + +pageextension 6229 "Sust. Item Charges" extends "Item Charges" +{ + layout + { + addafter("VAT Prod. Posting Group") + { + field("Default Sust. Account"; Rec."Default Sust. Account") + { + ApplicationArea = Basic, Suite; + Visible = SustainabilityVisible; + ToolTip = 'Specifies the value of the Default Sust. Account field.'; + } + field("Default CO2 Emission"; Rec."Default CO2 Emission") + { + ApplicationArea = Basic, Suite; + Visible = SustainabilityVisible; + ToolTip = 'Specifies the value of the Default CO2 Emission field.'; + } + field("Default CH4 Emission"; Rec."Default CH4 Emission") + { + ApplicationArea = Basic, Suite; + Visible = SustainabilityVisible; + ToolTip = 'Specifies the value of the Default CH4 Emission field.'; + } + field("Default N2O Emission"; Rec."Default N2O Emission") + { + ApplicationArea = Basic, Suite; + Visible = SustainabilityVisible; + ToolTip = 'Specifies the value of the Default N2O Emission field.'; + } + } + } + + trigger OnOpenPage() + begin + VisibleSustainabilityControls(); + end; + + local procedure VisibleSustainabilityControls() + var + SustainabilitySetup: Record "Sustainability Setup"; + begin + SustainabilitySetup.Get(); + + SustainabilityVisible := SustainabilitySetup."Item Charge Emissions"; + end; + + var + SustainabilityVisible: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustResource.TableExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustResource.TableExt.al new file mode 100644 index 0000000000..ac0b373242 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Certificate/SustResource.TableExt.al @@ -0,0 +1,81 @@ +namespace Microsoft.Sustainability.Certificate; + +using Microsoft.Projects.Resources.Resource; +using Microsoft.Sustainability.Account; +using Microsoft.Sustainability.Setup; + +tableextension 6230 "Sust. Resource" extends Resource +{ + fields + { + field(6210; "Default Sust. Account"; Code[20]) + { + DataClassification = CustomerContent; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + Caption = 'Default Sust. Account'; + + trigger OnValidate() + var + SustainabilityAccount: Record "Sustainability Account"; + begin + if Rec."Default Sust. Account" = '' then + ClearDefaultEmissionInformation(Rec) + else begin + SustainabilityAccount.Get(Rec."Default Sust. Account"); + + SustainabilityAccount.CheckAccountReadyForPosting(); + SustainabilityAccount.TestField("Direct Posting", true); + end; + end; + } + field(6211; "Default CO2 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CO2 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CO2 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6212; "Default CH4 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CH4 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CH4 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6213; "Default N2O Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default N2O Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default N2O Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + } + + var + SustainabilitySetup: Record "Sustainability Setup"; + + local procedure ClearDefaultEmissionInformation(var Resource: Record Resource) + begin + Resource.Validate("Default N2O Emission", 0); + Resource.Validate("Default CH4 Emission", 0); + Resource.Validate("Default CO2 Emission", 0); + end; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Certificate/SustResourceCard.PageExt.al b/Apps/W1/Sustainability/app/src/Certificate/SustResourceCard.PageExt.al new file mode 100644 index 0000000000..a62fb3bc75 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Certificate/SustResourceCard.PageExt.al @@ -0,0 +1,57 @@ +namespace Microsoft.Sustainability.Certificate; + +using Microsoft.Projects.Resources.Resource; +using Microsoft.Sustainability.Setup; + +pageextension 6230 "Sust. Resource Card" extends "Resource Card" +{ + layout + { + addafter("Personal Data") + { + group("Sustainability") + { + Caption = 'Sustainability'; + Visible = SustainabilityVisible; + + field("Default Sust. Account"; Rec."Default Sust. Account") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default Sust. Account field.'; + } + field("Default CO2 Emission"; Rec."Default CO2 Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default CO2 Emission field.'; + } + field("Default CH4 Emission"; Rec."Default CH4 Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default CH4 Emission field.'; + } + field("Default N2O Emission"; Rec."Default N2O Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default N2O Emission field.'; + } + } + } + } + + trigger OnOpenPage() + begin + VisibleSustainabilityControls(); + end; + + local procedure VisibleSustainabilityControls() + var + SustainabilitySetup: Record "Sustainability Setup"; + begin + SustainabilitySetup.Get(); + + SustainabilityVisible := SustainabilitySetup."Resource Emissions"; + end; + + var + SustainabilityVisible: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Journal/SustGenJournalSubscriber.Codeunit.al b/Apps/W1/Sustainability/app/src/Journal/SustGenJournalSubscriber.Codeunit.al index 34cdba9f51..9bbac275c9 100644 --- a/Apps/W1/Sustainability/app/src/Journal/SustGenJournalSubscriber.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Journal/SustGenJournalSubscriber.Codeunit.al @@ -1,5 +1,6 @@ namespace Microsoft.Sustainability.Journal; +using Microsoft.Finance.GeneralLedger.Account; using Microsoft.Finance.GeneralLedger.Journal; using Microsoft.Finance.GeneralLedger.Posting; using Microsoft.Sustainability.Account; @@ -16,6 +17,19 @@ codeunit 6251 "Sust. Gen. Journal Subscriber" GenJournalLine.CheckSustGenJournalLine(GenJournalLine); end; + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnAfterAccountNoOnValidateGetGLAccount', '', false, false)] + local procedure OnAfterAccountNoOnValidateGetGLAccount(var GenJournalLine: Record "Gen. Journal Line"; var GLAccount: Record "G/L Account") + begin + GenJournalLine.Validate("Sust. Account No.", GLAccount."Default Sust. Account"); + end; + + [EventSubscriber(ObjectType::Table, Database::"Gen. Journal Line", 'OnAfterAccountNoOnValidateGetGLBalAccount', '', false, false)] + local procedure OnAfterAccountNoOnValidateGetGLBalAccount(var GenJournalLine: Record "Gen. Journal Line"; var GLAccount: Record "G/L Account") + begin + if GenJournalLine."Sust. Account No." = '' then + GenJournalLine.Validate("Sust. Account No.", GLAccount."Default Sust. Account"); + end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Line", 'OnCodeOnAfterStartOrContinuePosting', '', false, false)] local procedure OnAfterPostGenJnlLine(var GenJournalLine: Record "Gen. Journal Line") begin diff --git a/Apps/W1/Sustainability/app/src/Journal/SustItemJournalLine.TableExt.al b/Apps/W1/Sustainability/app/src/Journal/SustItemJournalLine.TableExt.al new file mode 100644 index 0000000000..fa29e85e7d --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Journal/SustItemJournalLine.TableExt.al @@ -0,0 +1,61 @@ +namespace Microsoft.Sustainability.Journal; + +using Microsoft.Sustainability.Account; +using Microsoft.Sustainability.Setup; +using Microsoft.Inventory.Journal; + +tableextension 6233 "Sust. Item Journal Line" extends "Item Journal Line" +{ + fields + { + field(6210; "Sust. Account No."; Code[20]) + { + Caption = 'Sustainability Account No.'; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + DataClassification = CustomerContent; + } + field(6211; "Sust. Account Name"; Text[100]) + { + Caption = 'Sustainability Account Name'; + DataClassification = CustomerContent; + } + field(6212; "Sust. Account Category"; Code[20]) + { + Caption = 'Sustainability Account Category'; + Editable = false; + TableRelation = "Sustain. Account Category"; + DataClassification = CustomerContent; + } + field(6213; "Sust. Account Subcategory"; Code[20]) + { + Caption = 'Sustainability Account Subcategory'; + Editable = false; + TableRelation = "Sustain. Account Subcategory".Code where("Category Code" = field("Sust. Account Category")); + DataClassification = CustomerContent; + } + field(6214; "Emission CO2"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Emission CO2'; + DataClassification = CustomerContent; + } + field(6215; "Emission CH4"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Emission CH4'; + DataClassification = CustomerContent; + } + field(6216; "Emission N2O"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Emission N2O'; + DataClassification = CustomerContent; + } + } + + var + SustainabilitySetup: Record "Sustainability Setup"; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Journal/SustainabilityJnlLine.Table.al b/Apps/W1/Sustainability/app/src/Journal/SustainabilityJnlLine.Table.al index b790449ab1..482990c653 100644 --- a/Apps/W1/Sustainability/app/src/Journal/SustainabilityJnlLine.Table.al +++ b/Apps/W1/Sustainability/app/src/Journal/SustainabilityJnlLine.Table.al @@ -439,6 +439,28 @@ table 6214 "Sustainability Jnl. Line" "Dimension Set ID" := DimMgt.GetRecDefaultDimID(Rec, CurrFieldNo, DefaultDimSource, "Source Code", "Shortcut Dimension 1 Code", "Shortcut Dimension 2 Code", 0, 0); end; + procedure GetPostingSign(SustainabilityJnlLine: Record "Sustainability Jnl. Line"): Integer + var + Sign: Integer; + begin + Sign := 1; + + if SustainabilityJnlLine."Document Type" in [SustainabilityJnlLine."Document Type"::"Credit Memo", SustainabilityJnlLine."Document Type"::"GHG Credit"] then + Sign := -1; + + exit(Sign); + end; + + procedure UpdateSustainabilityJnlLineWithPostingSign(var SustainabilityJnlLine: Record "Sustainability Jnl. Line"; SignFactor: Integer) + begin + SustainabilityJnlLine.Validate("Emission CO2", SignFactor * SustainabilityJnlLine."Emission CO2"); + SustainabilityJnlLine.Validate("Emission CH4", SignFactor * SustainabilityJnlLine."Emission CH4"); + SustainabilityJnlLine.Validate("Emission N2O", SignFactor * SustainabilityJnlLine."Emission N2O"); + SustainabilityJnlLine.Validate("Water Intensity", SignFactor * SustainabilityJnlLine."Water Intensity"); + SustainabilityJnlLine.Validate("Waste Intensity", SignFactor * SustainabilityJnlLine."Waste Intensity"); + SustainabilityJnlLine.Validate("Discharged Into Water", SignFactor * SustainabilityJnlLine."Discharged Into Water"); + end; + internal procedure ShowDimensions() IsChanged: Boolean var OldDimSetID: Integer; diff --git a/Apps/W1/Sustainability/app/src/Ledger/SustainabilityValueEntries.Page.al b/Apps/W1/Sustainability/app/src/Ledger/SustainabilityValueEntries.Page.al new file mode 100644 index 0000000000..dd8f249dd6 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Ledger/SustainabilityValueEntries.Page.al @@ -0,0 +1,279 @@ +namespace Microsoft.Sustainability.Ledger; + +using Microsoft.Finance.Dimension; +using Microsoft.Foundation.Navigate; + +page 6248 "Sustainability Value Entries" +{ + ApplicationArea = Basic, Suite; + Caption = 'Sustainability Value Entries'; + PageType = List; + SourceTable = "Sustainability Value Entry"; + SourceTableView = sorting("Entry No.") order(descending); + UsageCategory = History; + DeleteAllowed = false; + InsertAllowed = false; + Editable = false; + AnalysisModeEnabled = true; + + layout + { + area(Content) + { + repeater(General) + { + field("Entry No."; Rec."Entry No.") + { + ToolTip = 'Specifies the value of the Entry No. field.'; + } + field("Item No."; Rec."Item No.") + { + ToolTip = 'Specifies the value of the Item No. field.'; + } + field("Posting Date"; Rec."Posting Date") + { + ToolTip = 'Specifies the value of the Posting Date field.'; + } + field("Item Ledger Entry Type"; Rec."Item Ledger Entry Type") + { + ToolTip = 'Specifies the value of the Item Ledger Entry Type field.'; + } + field("Document No."; Rec."Document No.") + { + ToolTip = 'Specifies the value of the Document No. field.'; + } + field("Item Ledger Entry No."; Rec."Item Ledger Entry No.") + { + ToolTip = 'Specifies the value of the Item Ledger Entry No. field.'; + } + field("Valued Quantity"; Rec."Valued Quantity") + { + ToolTip = 'Specifies the value of the Valued Quantity field.'; + } + field("Item Ledger Entry Quantity"; Rec."Item Ledger Entry Quantity") + { + ToolTip = 'Specifies the value of the Item Ledger Entry Quantity field.'; + } + field("Invoiced Quantity"; Rec."Invoiced Quantity") + { + ToolTip = 'Specifies the value of the Invoiced Quantity field.'; + } + field("CO2e per Unit"; Rec."CO2e per Unit") + { + ToolTip = 'Specifies the value of the CO2e per Unit field.'; + } + field("User ID"; Rec."User ID") + { + ToolTip = 'Specifies the value of the User ID field.'; + } + field("Source Code"; Rec."Source Code") + { + ToolTip = 'Specifies the value of the Source Code field.'; + } + field("Applies-to Entry"; Rec."Applies-to Entry") + { + ToolTip = 'Specifies the value of the Applies-to Entry field.'; + } + field("Expected Emission"; Rec."Expected Emission") + { + ToolTip = 'Specifies the value of the Expected Emission field.'; + } + field("CO2e Amount (Actual)"; Rec."CO2e Amount (Actual)") + { + ToolTip = 'Specifies the value of the CO2e Amount (Actual) field.'; + } + field("CO2e Amount (Expected)"; Rec."CO2e Amount (Expected)") + { + ToolTip = 'Specifies the value of the CO2e Amount (Expected) field.'; + } + field("Journal Batch Name"; Rec."Journal Batch Name") + { + ToolTip = 'Specifies the value of the Journal Batch Name field.'; + } + field("Document Date"; Rec."Document Date") + { + ToolTip = 'Specifies the value of the Document Date field.'; + } + field("External Document No."; Rec."External Document No.") + { + ToolTip = 'Specifies the value of the External Document No. field.'; + } + field("Document Type"; Rec."Document Type") + { + ToolTip = 'Specifies the value of the Document Type field.'; + } + field("Document Line No."; Rec."Document Line No.") + { + ToolTip = 'Specifies the value of the Document Line No. field.'; + } + field("Entry Type"; Rec."Entry Type") + { + ToolTip = 'Specifies the value of the Entry Type field.'; + } + field("Capacity Ledger Entry No."; Rec."Capacity Ledger Entry No.") + { + ToolTip = 'Specifies the value of the Capacity Ledger Entry No. field.'; + } + field("Type"; Rec."Type") + { + ToolTip = 'Specifies the value of the Type field.'; + } + field("No."; Rec."No.") + { + ToolTip = 'Specifies the value of the No. field.'; + } + field(Adjustment; Rec.Adjustment) + { + ToolTip = 'Specifies the value of the Adjustment field.'; + } + field("Global Dimension 1 Code"; Rec."Global Dimension 1 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company''s most important activities, are available on all cards, documents, reports, and lists.'; + Visible = Dim1Visible; + } + field("Global Dimension 2 Code"; Rec."Global Dimension 2 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company''s most important activities, are available on all cards, documents, reports, and lists.'; + Visible = Dim2Visible; + } + field("Shortcut Dimension 3 Code"; Rec."Shortcut Dimension 3 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for Shortcut Dimension 3, which is one of dimension codes that you set up in the General Ledger Setup window.'; + Visible = Dim3Visible; + } + field("Shortcut Dimension 4 Code"; Rec."Shortcut Dimension 4 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for Shortcut Dimension 4, which is one of dimension codes that you set up in the General Ledger Setup window.'; + Visible = Dim4Visible; + } + field("Shortcut Dimension 5 Code"; Rec."Shortcut Dimension 5 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for Shortcut Dimension 5, which is one of dimension codes that you set up in the General Ledger Setup window.'; + Visible = Dim5Visible; + } + field("Shortcut Dimension 6 Code"; Rec."Shortcut Dimension 6 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for Shortcut Dimension 6, which is one of dimension codes that you set up in the General Ledger Setup window.'; + Visible = Dim6Visible; + } + field("Shortcut Dimension 7 Code"; Rec."Shortcut Dimension 7 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for Shortcut Dimension 7, which is one of dimension codes that you set up in the General Ledger Setup window.'; + Visible = Dim7Visible; + } + field("Shortcut Dimension 8 Code"; Rec."Shortcut Dimension 8 Code") + { + ApplicationArea = Dimensions; + ToolTip = 'Specifies the code for Shortcut Dimension 8, which is one of dimension codes that you set up in the General Ledger Setup window.'; + Visible = Dim8Visible; + } + } + } + } + + actions + { + area(navigation) + { + group("Ent&ry") + { + Caption = 'Ent&ry'; + Image = Entry; + action(Dimensions) + { + AccessByPermission = TableData Dimension = R; + ApplicationArea = Dimensions; + Caption = 'Dimensions'; + Image = Dimensions; + ShortCutKey = 'Alt+D'; + ToolTip = 'View dimensions, such as area, project, or department, that are assigned to sustainability value entry.'; + + trigger OnAction() + begin + Rec.ShowDimensions(); + end; + } + action(SetDimensionFilter) + { + ApplicationArea = Dimensions; + Caption = 'Set Dimension Filter'; + Ellipsis = true; + Image = "Filter"; + ToolTip = 'Limit the entries according to the dimension filters that you specify. NOTE: If you use a high number of dimension combinations, this function may not work and can result in a message that the SQL server only supports a maximum of 2100 parameters.'; + + trigger OnAction() + begin + Rec.SetFilter("Dimension Set ID", DimensionSetIDFilter.LookupFilter()); + end; + } + } + } + area(processing) + { + action("&Navigate") + { + ApplicationArea = Basic, Suite; + Caption = 'Find entries...'; + Image = Navigate; + ShortCutKey = 'Ctrl+Alt+Q'; + ToolTip = 'Find entries and documents that exist for the document number and posting date on the selected document. (Formerly this action was named Navigate.)'; + + trigger OnAction() + begin + Navigate.SetDoc(Rec."Posting Date", Rec."Document No."); + Navigate.Run(); + end; + } + } + area(Promoted) + { + group(Category_Process) + { + Caption = 'Process', Comment = 'Generated from the PromotedActionCategories property index 1.'; + + actionref("&Navigate_Promoted"; "&Navigate") + { + } + group(Category_Category4) + { + Caption = 'Entry', Comment = 'Generated from the PromotedActionCategories property index 3.'; + + actionref(Dimensions_Promoted; Dimensions) + { + } + actionref(SetDimensionFilter_Promoted; SetDimensionFilter) + { + } + } + } + group(Category_Report) + { + Caption = 'Report', Comment = 'Generated from the PromotedActionCategories property index 2.'; + } + } + } + + trigger OnOpenPage() + begin + SetDimVisibility(); + end; + + var + Navigate: Page Navigate; + DimensionSetIDFilter: Page "Dimension Set ID Filter"; + Dim1Visible, Dim2Visible, Dim3Visible, Dim4Visible, Dim5Visible, Dim6Visible, Dim7Visible, Dim8Visible : Boolean; + + local procedure SetDimVisibility() + var + DimensionManagement: Codeunit DimensionManagement; + begin + DimensionManagement.UseShortcutDims(Dim1Visible, Dim2Visible, Dim3Visible, Dim4Visible, Dim5Visible, Dim6Visible, Dim7Visible, Dim8Visible); + end; +} diff --git a/Apps/W1/Sustainability/app/src/Ledger/SustainabilityValueEntry.Table.al b/Apps/W1/Sustainability/app/src/Ledger/SustainabilityValueEntry.Table.al new file mode 100644 index 0000000000..8d7256b861 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Ledger/SustainabilityValueEntry.Table.al @@ -0,0 +1,272 @@ +namespace Microsoft.Sustainability.Ledger; + +using Microsoft.Finance.Dimension; +using Microsoft.Foundation.AuditCodes; +using Microsoft.Inventory.Costing; +using Microsoft.Inventory.Item; +using Microsoft.Inventory.Ledger; +using Microsoft.Manufacturing.Capacity; +using Microsoft.Manufacturing.MachineCenter; +using Microsoft.Manufacturing.WorkCenter; +using Microsoft.Projects.Resources.Resource; +using Microsoft.Sustainability.Setup; +using Microsoft.Utilities; +using System.Security.AccessControl; + +table 6227 "Sustainability Value Entry" +{ + Caption = 'Sustainability Value Entry'; + DrillDownPageID = "Sustainability Value Entries"; + LookupPageID = "Sustainability Value Entries"; + DataClassification = CustomerContent; + + fields + { + field(1; "Entry No."; Integer) + { + Caption = 'Entry No.'; + } + field(2; "Item No."; Code[20]) + { + Caption = 'Item No.'; + TableRelation = Item; + } + field(3; "Posting Date"; Date) + { + Caption = 'Posting Date'; + } + field(4; "Item Ledger Entry Type"; Enum "Item Ledger Entry Type") + { + Caption = 'Item Ledger Entry Type'; + } + field(5; "Document No."; Code[20]) + { + Caption = 'Document No.'; + } + field(6; "Item Ledger Entry No."; Integer) + { + Caption = 'Item Ledger Entry No.'; + TableRelation = "Item Ledger Entry"; + } + field(7; "Valued Quantity"; Decimal) + { + Caption = 'Valued Quantity'; + DecimalPlaces = 0 : 5; + } + field(8; "Item Ledger Entry Quantity"; Decimal) + { + Caption = 'Item Ledger Entry Quantity'; + DecimalPlaces = 0 : 5; + } + field(9; "Invoiced Quantity"; Decimal) + { + Caption = 'Invoiced Quantity'; + DecimalPlaces = 0 : 5; + } + field(10; "CO2e per Unit"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'CO2e per Unit'; + } + field(11; "User ID"; Code[50]) + { + Caption = 'User ID'; + DataClassification = EndUserIdentifiableInformation; + TableRelation = User."User Name"; + ValidateTableRelation = false; + } + field(12; "Source Code"; Code[10]) + { + Caption = 'Source Code'; + TableRelation = "Source Code"; + } + field(13; "Applies-to Entry"; Integer) + { + Caption = 'Applies-to Entry'; + } + field(14; "Global Dimension 1 Code"; Code[20]) + { + CaptionClass = '1,1,1'; + Caption = 'Global Dimension 1 Code'; + TableRelation = "Dimension Value".Code where("Global Dimension No." = const(1)); + } + field(15; "Global Dimension 2 Code"; Code[20]) + { + CaptionClass = '1,1,2'; + Caption = 'Global Dimension 2 Code'; + TableRelation = "Dimension Value".Code where("Global Dimension No." = const(2)); + } + field(16; "Expected Emission"; Boolean) + { + Caption = 'Expected Emission'; + } + field(17; "CO2e Amount (Actual)"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'CO2e Amount (Actual)'; + } + field(18; "CO2e Amount (Expected)"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'CO2e Amount (Expected)'; + } + field(19; "Journal Batch Name"; Code[10]) + { + Caption = 'Journal Batch Name'; + } + field(20; "Document Date"; Date) + { + Caption = 'Document Date'; + } + field(21; "External Document No."; Code[35]) + { + Caption = 'External Document No.'; + } + field(22; "Document Type"; Enum "Item Ledger Document Type") + { + Caption = 'Document Type'; + } + field(23; "Document Line No."; Integer) + { + Caption = 'Document Line No.'; + } + field(105; "Entry Type"; Enum "Cost Entry Type") + { + Caption = 'Entry Type'; + Editable = false; + } + field(480; "Dimension Set ID"; Integer) + { + Caption = 'Dimension Set ID'; + Editable = false; + TableRelation = "Dimension Set Entry"; + + trigger OnLookup() + begin + ShowDimensions(); + end; + } + field(5831; "Capacity Ledger Entry No."; Integer) + { + Caption = 'Capacity Ledger Entry No.'; + TableRelation = "Capacity Ledger Entry"; + } + field(5832; Type; Enum "Capacity Type Journal") + { + Caption = 'Type'; + } + field(5834; "No."; Code[20]) + { + Caption = 'No.'; + TableRelation = if (Type = const("Machine Center")) "Machine Center" + else + if (Type = const("Work Center")) "Work Center" + else + if (Type = const(Resource)) Resource; + } + field(5818; Adjustment; Boolean) + { + Caption = 'Adjustment'; + } + field(5156; "Shortcut Dimension 3 Code"; Code[20]) + { + CaptionClass = '1,2,3'; + Caption = 'Shortcut Dimension 3 Code'; + FieldClass = FlowField; + CalcFormula = lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(3))); + } + field(5157; "Shortcut Dimension 4 Code"; Code[20]) + { + CaptionClass = '1,2,4'; + Caption = 'Shortcut Dimension 4 Code'; + FieldClass = FlowField; + CalcFormula = lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(4))); + } + field(5158; "Shortcut Dimension 5 Code"; Code[20]) + { + CaptionClass = '1,2,5'; + Caption = 'Shortcut Dimension 5 Code'; + FieldClass = FlowField; + CalcFormula = lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(5))); + } + field(5159; "Shortcut Dimension 6 Code"; Code[20]) + { + CaptionClass = '1,2,6'; + Caption = 'Shortcut Dimension 6 Code'; + FieldClass = FlowField; + CalcFormula = lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(6))); + } + field(5160; "Shortcut Dimension 7 Code"; Code[20]) + { + CaptionClass = '1,2,7'; + Caption = 'Shortcut Dimension 7 Code'; + FieldClass = FlowField; + CalcFormula = lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(7))); + } + field(5161; "Shortcut Dimension 8 Code"; Code[20]) + { + CaptionClass = '1,2,8'; + Caption = 'Shortcut Dimension 8 Code'; + FieldClass = FlowField; + CalcFormula = lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(8))); + } + } + + keys + { + key(Key1; "Entry No.") + { + Clustered = true; + } + } + + var + SustainabilitySetup: Record "Sustainability Setup"; + EntryRecIDLbl: Label '%1 %2', Locked = true; + + procedure ShowDimensions() + var + DimMgt: Codeunit DimensionManagement; + begin + DimMgt.ShowDimensionSet(Rec."Dimension Set ID", StrSubstNo(EntryRecIDLbl, Rec.TableCaption(), Rec."Entry No.")); + end; + + procedure CopyFromValueEntry(ValueEntry: Record "Value Entry") + begin + "Item No." := ValueEntry."Item No."; + "Posting Date" := ValueEntry."Posting Date"; + "Item Ledger Entry Type" := ValueEntry."Item Ledger Entry Type"; + "Document No." := ValueEntry."Document No."; + "Item Ledger Entry No." := ValueEntry."Item Ledger Entry No."; + "Valued Quantity" := ValueEntry."Valued Quantity"; + "Item Ledger Entry Quantity" := ValueEntry."Item Ledger Entry Quantity"; + "Invoiced Quantity" := ValueEntry."Invoiced Quantity"; + "User ID" := ValueEntry."User ID"; + "Source Code" := ValueEntry."Source Code"; + "Applies-to Entry" := ValueEntry."Applies-to Entry"; + "Global Dimension 1 Code" := ValueEntry."Global Dimension 1 Code"; + "Global Dimension 2 Code" := ValueEntry."Global Dimension 2 Code"; + "Expected Emission" := ValueEntry."Expected Cost"; + "Journal Batch Name" := ValueEntry."Journal Batch Name"; + "Document Date" := ValueEntry."Document Date"; + "External Document No." := ValueEntry."External Document No."; + "Document Type" := ValueEntry."Document Type"; + "Document Line No." := ValueEntry."Document Line No."; + "Entry Type" := ValueEntry."Entry Type"; + "Dimension Set ID" := ValueEntry."Dimension Set ID"; + "Capacity Ledger Entry No." := ValueEntry."Capacity Ledger Entry No."; + Type := ValueEntry.Type; + "No." := ValueEntry."No."; + Adjustment := ValueEntry.Adjustment; + end; + + procedure GetLastEntryNo(): Integer; + var + FindRecordManagement: Codeunit "Find Record Management"; + begin + exit(FindRecordManagement.GetLastEntryIntFieldValue(Rec, FieldNo("Entry No."))) + end; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Manufacturing/SustMachineCenter.TableExt.al b/Apps/W1/Sustainability/app/src/Manufacturing/SustMachineCenter.TableExt.al new file mode 100644 index 0000000000..768c06b99a --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Manufacturing/SustMachineCenter.TableExt.al @@ -0,0 +1,81 @@ +namespace Microsoft.Sustainability.Manufacturing; + +using Microsoft.Manufacturing.MachineCenter; +using Microsoft.Sustainability.Account; +using Microsoft.Sustainability.Setup; + +tableextension 6232 "Sust. Machine Center" extends "Machine Center" +{ + fields + { + field(6210; "Default Sust. Account"; Code[20]) + { + DataClassification = CustomerContent; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + Caption = 'Default Sust. Account'; + + trigger OnValidate() + var + SustainabilityAccount: Record "Sustainability Account"; + begin + if Rec."Default Sust. Account" = '' then + ClearDefaultEmissionInformation(Rec) + else begin + SustainabilityAccount.Get(Rec."Default Sust. Account"); + + SustainabilityAccount.CheckAccountReadyForPosting(); + SustainabilityAccount.TestField("Direct Posting", true); + end; + end; + } + field(6211; "Default CO2 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CO2 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CO2 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6212; "Default CH4 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CH4 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CH4 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6213; "Default N2O Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default N2O Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default N2O Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + } + + var + SustainabilitySetup: Record "Sustainability Setup"; + + local procedure ClearDefaultEmissionInformation(var MachineCenter: Record "Machine Center") + begin + MachineCenter.Validate("Default N2O Emission", 0); + MachineCenter.Validate("Default CH4 Emission", 0); + MachineCenter.Validate("Default CO2 Emission", 0); + end; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Manufacturing/SustMachineCenterCard.PageExt.al b/Apps/W1/Sustainability/app/src/Manufacturing/SustMachineCenterCard.PageExt.al new file mode 100644 index 0000000000..90df969246 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Manufacturing/SustMachineCenterCard.PageExt.al @@ -0,0 +1,57 @@ +namespace Microsoft.Sustainability.Manufacturing; + +using Microsoft.Manufacturing.MachineCenter; +using Microsoft.Sustainability.Setup; + +pageextension 6232 "Sust. Machine Center Card" extends "Machine Center Card" +{ + layout + { + addafter(Warehouse) + { + group("Sustainability") + { + Caption = 'Sustainability'; + Visible = SustainabilityVisible; + + field("Default Sust. Account"; Rec."Default Sust. Account") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default Sust. Account field.'; + } + field("Default CO2 Emission"; Rec."Default CO2 Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default CO2 Emission field.'; + } + field("Default CH4 Emission"; Rec."Default CH4 Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default CH4 Emission field.'; + } + field("Default N2O Emission"; Rec."Default N2O Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default N2O Emission field.'; + } + } + } + } + + trigger OnOpenPage() + begin + VisibleSustainabilityControls(); + end; + + local procedure VisibleSustainabilityControls() + var + SustainabilitySetup: Record "Sustainability Setup"; + begin + SustainabilitySetup.Get(); + + SustainabilityVisible := SustainabilitySetup."Work/Machine Center Emissions"; + end; + + var + SustainabilityVisible: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Manufacturing/SustWorkCenter.TableExt.al b/Apps/W1/Sustainability/app/src/Manufacturing/SustWorkCenter.TableExt.al new file mode 100644 index 0000000000..790c480362 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Manufacturing/SustWorkCenter.TableExt.al @@ -0,0 +1,81 @@ +namespace Microsoft.Sustainability.Manufacturing; + +using Microsoft.Manufacturing.WorkCenter; +using Microsoft.Sustainability.Account; +using Microsoft.Sustainability.Setup; + +tableextension 6231 "Sust. Work Center" extends "Work Center" +{ + fields + { + field(6210; "Default Sust. Account"; Code[20]) + { + DataClassification = CustomerContent; + TableRelation = "Sustainability Account" where("Account Type" = const(Posting), Blocked = const(false)); + Caption = 'Default Sust. Account'; + + trigger OnValidate() + var + SustainabilityAccount: Record "Sustainability Account"; + begin + if Rec."Default Sust. Account" = '' then + ClearDefaultEmissionInformation(Rec) + else begin + SustainabilityAccount.Get(Rec."Default Sust. Account"); + + SustainabilityAccount.CheckAccountReadyForPosting(); + SustainabilityAccount.TestField("Direct Posting", true); + end; + end; + } + field(6211; "Default CO2 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CO2 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CO2 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6212; "Default CH4 Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default CH4 Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default CH4 Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + field(6213; "Default N2O Emission"; Decimal) + { + AutoFormatType = 11; + AutoFormatExpression = SustainabilitySetup.GetFormat(SustainabilitySetup.FieldNo("Emission Decimal Places")); + Caption = 'Default N2O Emission'; + DataClassification = CustomerContent; + + trigger OnValidate() + begin + if Rec."Default N2O Emission" <> 0 then + Rec.TestField("Default Sust. Account"); + end; + } + } + + var + SustainabilitySetup: Record "Sustainability Setup"; + + local procedure ClearDefaultEmissionInformation(var WorkCenter: Record "Work Center") + begin + WorkCenter.Validate("Default N2O Emission", 0); + WorkCenter.Validate("Default CH4 Emission", 0); + WorkCenter.Validate("Default CO2 Emission", 0); + end; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Manufacturing/SustWorkCenterCard.PageExt.al b/Apps/W1/Sustainability/app/src/Manufacturing/SustWorkCenterCard.PageExt.al new file mode 100644 index 0000000000..513edb1c18 --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Manufacturing/SustWorkCenterCard.PageExt.al @@ -0,0 +1,57 @@ +namespace Microsoft.Sustainability.Manufacturing; + +using Microsoft.Manufacturing.WorkCenter; +using Microsoft.Sustainability.Setup; + +pageextension 6231 "Sust. Work Center Card" extends "Work Center Card" +{ + layout + { + addafter(Warehouse) + { + group("Sustainability") + { + Caption = 'Sustainability'; + Visible = SustainabilityVisible; + + field("Default Sust. Account"; Rec."Default Sust. Account") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default Sust. Account field.'; + } + field("Default CO2 Emission"; Rec."Default CO2 Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default CO2 Emission field.'; + } + field("Default CH4 Emission"; Rec."Default CH4 Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default CH4 Emission field.'; + } + field("Default N2O Emission"; Rec."Default N2O Emission") + { + ApplicationArea = Basic, Suite; + ToolTip = 'Specifies the value of the Default N2O Emission field.'; + } + } + } + } + + trigger OnOpenPage() + begin + VisibleSustainabilityControls(); + end; + + local procedure VisibleSustainabilityControls() + var + SustainabilitySetup: Record "Sustainability Setup"; + begin + SustainabilitySetup.Get(); + + SustainabilityVisible := SustainabilitySetup."Work/Machine Center Emissions"; + end; + + var + SustainabilityVisible: Boolean; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Permissions/SustainabilityEdit.permissionset.al b/Apps/W1/Sustainability/app/src/Permissions/SustainabilityEdit.permissionset.al index fe03344516..9695c9b2cc 100644 --- a/Apps/W1/Sustainability/app/src/Permissions/SustainabilityEdit.permissionset.al +++ b/Apps/W1/Sustainability/app/src/Permissions/SustainabilityEdit.permissionset.al @@ -14,5 +14,6 @@ permissionset 6213 "Sustainability Edit" tabledata "Sustainability Jnl. Template" = IMD, tabledata "Sustainability Jnl. Batch" = IMD, tabledata "Sustainability Jnl. Line" = IMD, - tabledata "Sustainability Ledger Entry" = I; + tabledata "Sustainability Ledger Entry" = I, + tabledata "Sustainability Value Entry" = I; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Permissions/SustainabilityObjects.permissionset.al b/Apps/W1/Sustainability/app/src/Permissions/SustainabilityObjects.permissionset.al index 7feef74dda..184127c26f 100644 --- a/Apps/W1/Sustainability/app/src/Permissions/SustainabilityObjects.permissionset.al +++ b/Apps/W1/Sustainability/app/src/Permissions/SustainabilityObjects.permissionset.al @@ -28,6 +28,7 @@ permissionset 6210 "Sustainability - Objects" table "Sustainability Jnl. Batch" = X, table "Sustainability Jnl. Line" = X, table "Sustainability Ledger Entry" = X, + table "Sustainability Value Entry" = X, table "Sustainability Setup" = X, table "Emission Fee" = X, table "Sust. Account (Analysis View)" = X, @@ -53,6 +54,7 @@ permissionset 6210 "Sustainability - Objects" page "Sustainability Journal" = X, page "Recurring Sustainability Jnl." = X, page "Sustainability Ledger Entries" = X, + page "Sustainability Value Entries" = X, page "Sustainability Setup" = X, page "Sustain. Jnl. Errors Factbox" = X, page "Sustainability Accounts" = X, diff --git a/Apps/W1/Sustainability/app/src/Permissions/SustainabilityRead.permissionset.al b/Apps/W1/Sustainability/app/src/Permissions/SustainabilityRead.permissionset.al index 9992d056d2..af99d81107 100644 --- a/Apps/W1/Sustainability/app/src/Permissions/SustainabilityRead.permissionset.al +++ b/Apps/W1/Sustainability/app/src/Permissions/SustainabilityRead.permissionset.al @@ -26,6 +26,7 @@ permissionset 6211 "Sustainability Read" tabledata "Sustainability Jnl. Batch" = R, tabledata "Sustainability Jnl. Line" = R, tabledata "Sustainability Ledger Entry" = R, + tabledata "Sustainability Value Entry" = R, tabledata "Sustainability Setup" = R, tabledata "Emission Fee" = R, tabledata "Sust. Account (Analysis View)" = R, diff --git a/Apps/W1/Sustainability/app/src/Posting/SustItemPostSubscriber.Codeunit.al b/Apps/W1/Sustainability/app/src/Posting/SustItemPostSubscriber.Codeunit.al new file mode 100644 index 0000000000..01bd7d2cde --- /dev/null +++ b/Apps/W1/Sustainability/app/src/Posting/SustItemPostSubscriber.Codeunit.al @@ -0,0 +1,42 @@ +namespace Microsoft.Sustainability.Posting; + +using Microsoft.Inventory.Journal; +using Microsoft.Inventory.Ledger; +using Microsoft.Inventory.Posting; +using Microsoft.Sustainability.Journal; + +codeunit 6256 "Sust. Item Post Subscriber" +{ + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Jnl.-Post Line", 'OnAfterInsertValueEntry', '', false, false)] + local procedure OnBeforeInsertValueEntry(ItemJournalLine: Record "Item Journal Line"; var ValueEntry: Record "Value Entry"; var ItemLedgerEntry: Record "Item Ledger Entry") + begin + if CanCreateSustValueEntry(ItemJournalLine, ValueEntry) then + PostSustainabilityValueEntry(ItemJournalLine, ValueEntry, ItemLedgerEntry); + end; + + local procedure CanCreateSustValueEntry(ItemJournalLine: Record "Item Journal Line"; var ValueEntry: Record "Value Entry"): Boolean + begin + exit((ItemJournalLine."Sust. Account No." <> '') and (ValueEntry."Entry Type" = ValueEntry."Entry Type"::"Direct Cost")); + end; + + local procedure PostSustainabilityValueEntry(ItemJournalLine: Record "Item Journal Line"; ValueEntry: Record "Value Entry"; ItemLedgerEntry: Record "Item Ledger Entry") + var + SustainabilityJnlLine: Record "Sustainability Jnl. Line"; + SustainabilityPostMgt: Codeunit "Sustainability Post Mgt"; + begin + SustainabilityJnlLine.Init(); + SustainabilityJnlLine.Validate("Posting Date", ItemJournalLine."Posting Date"); + SustainabilityJnlLine.Validate("Document No.", ValueEntry."Document No."); + SustainabilityJnlLine.Validate("Account No.", ItemJournalLine."Sust. Account No."); + SustainabilityJnlLine.Validate("Account Category", ItemJournalLine."Sust. Account Category"); + SustainabilityJnlLine.Validate("Account Subcategory", ItemJournalLine."Sust. Account Subcategory"); + SustainabilityJnlLine."Dimension Set ID" := ItemJournalLine."Dimension Set ID"; + SustainabilityJnlLine."Shortcut Dimension 1 Code" := ItemJournalLine."Shortcut Dimension 1 Code"; + SustainabilityJnlLine."Shortcut Dimension 2 Code" := ItemJournalLine."Shortcut Dimension 2 Code"; + SustainabilityJnlLine.Validate("Emission CO2", ItemJournalLine."Emission CO2"); + SustainabilityJnlLine.Validate("Emission CH4", ItemJournalLine."Emission CH4"); + SustainabilityJnlLine.Validate("Emission N2O", ItemJournalLine."Emission N2O"); + SustainabilityJnlLine.Validate("Country/Region Code", ItemJournalLine."Country/Region Code"); + SustainabilityPostMgt.InsertValueEntry(SustainabilityJnlLine, ValueEntry, ItemLedgerEntry); + end; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostInstance.Codeunit.al b/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostInstance.Codeunit.al index 17f7af2546..8f66b7e545 100644 --- a/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostInstance.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostInstance.Codeunit.al @@ -3,13 +3,37 @@ codeunit 6233 "Sust. Preview Post Instance" SingleInstance = true; procedure InsertDocumentEntry(var TempDocumentEntry: Record "Document Entry" temporary) + var + begin + if HasSustainabilityEntry then + InsertDocumentEntryForSustLedgerEntry(TempDocumentEntry); + + if HasSustainabilityValueEntry then + InsertDocumentEntryForSustValueEntry(TempDocumentEntry); + end; + + local procedure InsertDocumentEntryForSustLedgerEntry(var TempDocumentEntry: Record "Document Entry" temporary) var RecRef: RecordRef; begin - if not HasSustainabilityEntry then + RecRef.GetTable(TempSustLedgEntry); + + if RecRef.IsEmpty() then exit; - RecRef.GetTable(TempSustLedgEntry); + TempDocumentEntry.Init(); + TempDocumentEntry."Entry No." := RecRef.Number; + TempDocumentEntry."Table ID" := RecRef.Number; + TempDocumentEntry."Table Name" := RecRef.Caption; + TempDocumentEntry."No. of Records" := RecRef.Count(); + TempDocumentEntry.Insert(); + end; + + local procedure InsertDocumentEntryForSustValueEntry(var TempDocumentEntry: Record "Document Entry" temporary) + var + RecRef: RecordRef; + begin + RecRef.GetTable(TempSustValueEntry); if RecRef.IsEmpty() then exit; @@ -33,19 +57,40 @@ codeunit 6233 "Sust. Preview Post Instance" HasSustainabilityEntry := true; end; + procedure InsertSustValueEntry(var SustValueEntry: Record "Sustainability Value Entry"; RunTrigger: Boolean) + begin + if SustValueEntry.IsTemporary() then + exit; + + TempSustValueEntry := SustValueEntry; + TempSustValueEntry."Document No." := '***'; + TempSustValueEntry.Insert(); + HasSustainabilityValueEntry := true; + end; + procedure ShowEntries() begin Page.Run(Page::"Sustainability Ledger Entries", TempSustLedgEntry); end; + procedure ShowSustValueEntries() + begin + Page.Run(Page::"Sustainability Value Entries", TempSustValueEntry); + end; + procedure Initialize() begin ClearAll(); TempSustLedgEntry.Reset(); TempSustLedgEntry.DeleteAll(); + + TempSustValueEntry.Reset(); + TempSustValueEntry.DeleteAll(); end; var TempSustLedgEntry: Record "Sustainability Ledger Entry" temporary; + TempSustValueEntry: Record "Sustainability Value Entry" temporary; HasSustainabilityEntry: Boolean; + HasSustainabilityValueEntry: Boolean; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostSubscriber.Codeunit.al b/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostSubscriber.Codeunit.al index 96d8d3d759..0dfe2ee0e7 100644 --- a/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostSubscriber.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostSubscriber.Codeunit.al @@ -18,6 +18,8 @@ codeunit 6226 "Sust. Preview Post. Subscriber" case TableNo of Database::"Sustainability Ledger Entry": SustPreviewPostInstance.ShowEntries(); + Database::"Sustainability Value Entry": + SustPreviewPostInstance.ShowSustValueEntries(); end; end; @@ -25,6 +27,7 @@ codeunit 6226 "Sust. Preview Post. Subscriber" local procedure OnAfterFindPostedDocuments(sender: Page Navigate; var DocNoFilter: Text; var DocumentEntry: Record "Document Entry" temporary; var PostingDateFilter: Text) var SustLedgEntry: Record "Sustainability Ledger Entry"; + SustValueEntry: Record "Sustainability Value Entry"; begin if SustLedgEntry.ReadPermission() then begin SustLedgEntry.Reset(); @@ -32,21 +35,35 @@ codeunit 6226 "Sust. Preview Post. Subscriber" SustLedgEntry.SetFilter("Posting Date", PostingDateFilter); DocumentEntry.InsertIntoDocEntry(Database::"Sustainability Ledger Entry", SustLedgEntry.TableCaption(), SustLedgEntry.Count); end; + if SustValueEntry.ReadPermission() then begin + SustValueEntry.Reset(); + SustValueEntry.SetFilter("Document No.", DocNoFilter); + SustValueEntry.SetFilter("Posting Date", PostingDateFilter); + DocumentEntry.InsertIntoDocEntry(Database::"Sustainability Value Entry", SustValueEntry.TableCaption(), SustValueEntry.Count); + end; end; [EventSubscriber(ObjectType::Page, Page::Navigate, 'OnBeforeShowRecords', '', false, false)] local procedure OnBeforeShowRecords(var TempDocumentEntry: Record "Document Entry" temporary; DocNoFilter: Text; PostingDateFilter: Text; sender: Page Navigate) var SustLedgEntry: Record "Sustainability Ledger Entry"; + SustValueEntry: Record "Sustainability Value Entry"; begin case TempDocumentEntry."Table ID" of - database::"Sustainability Ledger Entry": + Database::"Sustainability Ledger Entry": if SustLedgEntry.ReadPermission() then begin SustLedgEntry.Reset(); SustLedgEntry.SetFilter("Document No.", DocNoFilter); SustLedgEntry.SetFilter("Posting Date", PostingDateFilter); Page.Run(Page::"Sustainability Ledger Entries", SustLedgEntry); end; + Database::"Sustainability Value Entry": + if SustValueEntry.ReadPermission() then begin + SustValueEntry.Reset(); + SustValueEntry.SetFilter("Document No.", DocNoFilter); + SustValueEntry.SetFilter("Posting Date", PostingDateFilter); + Page.Run(Page::"Sustainability Value Entries", SustValueEntry); + end; end; end; diff --git a/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostingHandler.Codeunit.al b/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostingHandler.Codeunit.al index 35a2d126e0..ae20c154d7 100644 --- a/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostingHandler.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Posting/SustPreviewPostingHandler.Codeunit.al @@ -14,4 +14,12 @@ codeunit 6228 "Sust. Preview Posting Handler" begin SustPreviewPostInstance.InsertSustLedgEntry(Rec, RunTrigger); end; + + [EventSubscriber(ObjectType::Table, Database::"Sustainability Value Entry", 'OnAfterInsertEvent', '', false, false)] + local procedure OnInsertSustValueEntry(var Rec: Record "Sustainability Value Entry"; RunTrigger: Boolean) + var + SustPreviewPostInstance: Codeunit "Sust. Preview Post Instance"; + begin + SustPreviewPostInstance.InsertSustValueEntry(Rec, RunTrigger); + end; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Posting/SustainabilityJnlPost.Codeunit.al b/Apps/W1/Sustainability/app/src/Posting/SustainabilityJnlPost.Codeunit.al index faee08b0b0..1f19d82ee3 100644 --- a/Apps/W1/Sustainability/app/src/Posting/SustainabilityJnlPost.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Posting/SustainabilityJnlPost.Codeunit.al @@ -79,6 +79,8 @@ codeunit 6213 "Sustainability Jnl.-Post" PreviousDocumentNo := SustainabilityJnlLine."Document No."; + SustainabilityJnlLine.UpdateSustainabilityJnlLineWithPostingSign(SustainabilityJnlLine, SustainabilityJnlLine.GetPostingSign(SustainabilityJnlLine)); + SustainabilityPostMgt.InsertLedgerEntry(SustainabilityJnlLine); until SustainabilityJnlLine.Next() = 0; diff --git a/Apps/W1/Sustainability/app/src/Posting/SustainabilityPostMgt.Codeunit.al b/Apps/W1/Sustainability/app/src/Posting/SustainabilityPostMgt.Codeunit.al index 201a3b0d22..71ee93dc9c 100644 --- a/Apps/W1/Sustainability/app/src/Posting/SustainabilityPostMgt.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Posting/SustainabilityPostMgt.Codeunit.al @@ -1,5 +1,6 @@ namespace Microsoft.Sustainability.Posting; +using Microsoft.Inventory.Ledger; using Microsoft.Sustainability.Account; using Microsoft.Sustainability.Emission; using Microsoft.Sustainability.Journal; @@ -30,6 +31,34 @@ codeunit 6212 "Sustainability Post Mgt" SustainabilityLedgerEntry.Insert(true); end; + procedure InsertValueEntry(SustainabilityJnlLine: Record "Sustainability Jnl. Line"; ValueEntry: Record "Value Entry"; ItemLedgerEntry: Record "Item Ledger Entry") + var + SustainabilityValueEntry: Record "Sustainability Value Entry"; + ShouldCalcExpectedCO2e: Boolean; + begin + SustainabilityValueEntry.Init(); + + SustainabilityValueEntry."Entry No." := SustainabilityValueEntry.GetLastEntryNo() + 1; + SustainabilityValueEntry.CopyFromValueEntry(ValueEntry); + + SustainabilityValueEntry.Validate("User ID", CopyStr(UserId(), 1, 50)); + UpdateCarbonFeeEmissionForValueEntry(SustainabilityValueEntry, SustainabilityJnlLine); + + ShouldCalcExpectedCO2e := + ((SustainabilityValueEntry."Entry Type" = SustainabilityValueEntry."Entry Type"::"Direct Cost") and + (((SustainabilityValueEntry."Item Ledger Entry Quantity" = 0) and (SustainabilityValueEntry."Invoiced Quantity" <> 0)))); + + if ShouldCalcExpectedCO2e then + CalcExpectedCO2e( + SustainabilityValueEntry."Item Ledger Entry No.", + SustainabilityValueEntry."Invoiced Quantity", + ItemLedgerEntry.Quantity, + SustainabilityValueEntry."CO2e Amount (Expected)", + ItemLedgerEntry.Quantity = ItemLedgerEntry."Invoiced Quantity"); + + SustainabilityValueEntry.Insert(true); + end; + procedure ResetFilters(var SustainabilityJnlLine: Record "Sustainability Jnl. Line") begin SustainabilityJnlLine.Reset(); @@ -47,49 +76,74 @@ codeunit 6212 "Sustainability Post Mgt" if AccountCategory.Get(SustainabilityLedgerEntry."Account Category") then ScopeType := AccountCategory."Emission Scope"; - UpdateCarbonFeeEmissionValues(SustainabilityLedgerEntry, ScopeType); + UpdateCarbonFeeEmissionValues( + ScopeType, SustainabilityLedgerEntry."Posting Date", SustainabilityLedgerEntry."Country/Region Code", SustainabilityLedgerEntry."Emission CO2", + SustainabilityLedgerEntry."Emission N2O", SustainabilityLedgerEntry."Emission CH4", SustainabilityLedgerEntry."CO2e Emission", SustainabilityLedgerEntry."Carbon Fee"); end; - local procedure UpdateCarbonFeeEmissionValues( - var SustainabilityLedgerEntry: Record "Sustainability Ledger Entry"; - ScopeType: Enum "Emission Scope"): Decimal + procedure UpdateCarbonFeeEmissionForValueEntry(var SustainabilityValueEntry: Record "Sustainability Value Entry"; SustainabilityJnlLine: Record "Sustainability Jnl. Line") var - EmissionFee: Record "Emission Fee"; + AccountCategory: Record "Sustain. Account Category"; + ScopeType: Enum "Emission Scope"; CO2eEmission: Decimal; CarbonFee: Decimal; + begin + if AccountCategory.Get(SustainabilityJnlLine."Account Category") then + ScopeType := AccountCategory."Emission Scope"; + + UpdateCarbonFeeEmissionValues( + ScopeType, SustainabilityJnlLine."Posting Date", SustainabilityJnlLine."Country/Region Code", SustainabilityJnlLine."Emission CO2", + SustainabilityJnlLine."Emission N2O", SustainabilityJnlLine."Emission CH4", CO2eEmission, CarbonFee); + + if SustainabilityValueEntry."Expected Emission" then + SustainabilityValueEntry."CO2e Amount (Expected)" := CO2eEmission + else + SustainabilityValueEntry."CO2e Amount (Actual)" := CO2eEmission; + + SustainabilityValueEntry."CO2e per Unit" := CalcCO2ePerUnit(CO2eEmission, SustainabilityValueEntry."Valued Quantity"); + end; + + local procedure UpdateCarbonFeeEmissionValues( + ScopeType: Enum "Emission Scope"; + PostingDate: Date; + CountryRegionCode: Code[10]; + EmissionCO2: Decimal; + EmissionN2O: Decimal; + EmissionCH4: Decimal; + var CO2eEmission: Decimal; + var CarbonFee: Decimal): Decimal + var + EmissionFee: Record "Emission Fee"; CO2Factor: Decimal; N2OFactor: Decimal; CH4Factor: Decimal; EmissionCarbonFee: Decimal; begin EmissionFee.SetFilter("Scope Type", '%1|%2', ScopeType, ScopeType::" "); - EmissionFee.SetFilter("Starting Date", '<=%1|%2', SustainabilityLedgerEntry."Posting Date", 0D); - EmissionFee.SetFilter("Ending Date", '>=%1|%2', SustainabilityLedgerEntry."Posting Date", 0D); - EmissionFee.SetFilter("Country/Region Code", '%1|%2', SustainabilityLedgerEntry."Country/Region Code", ''); + EmissionFee.SetFilter("Starting Date", '<=%1|%2', PostingDate, 0D); + EmissionFee.SetFilter("Ending Date", '>=%1|%2', PostingDate, 0D); + EmissionFee.SetFilter("Country/Region Code", '%1|%2', CountryRegionCode, ''); - if SustainabilityLedgerEntry."Emission CO2" <> 0 then + if EmissionCO2 <> 0 then if FindEmissionFeeForEmissionType(EmissionFee, Enum::"Emission Type"::CO2) then begin CO2Factor := EmissionFee."Carbon Equivalent Factor"; EmissionCarbonFee := EmissionFee."Carbon Fee"; end; - if SustainabilityLedgerEntry."Emission N2O" <> 0 then + if EmissionN2O <> 0 then if FindEmissionFeeForEmissionType(EmissionFee, Enum::"Emission Type"::N2O) then begin N2OFactor := EmissionFee."Carbon Equivalent Factor"; EmissionCarbonFee += EmissionFee."Carbon Fee"; end; - if SustainabilityLedgerEntry."Emission CH4" <> 0 then + if EmissionCH4 <> 0 then if FindEmissionFeeForEmissionType(EmissionFee, Enum::"Emission Type"::CH4) then begin CH4Factor := EmissionFee."Carbon Equivalent Factor"; EmissionCarbonFee += EmissionFee."Carbon Fee"; end; - CO2eEmission := (SustainabilityLedgerEntry."Emission CO2" * CO2Factor) + (SustainabilityLedgerEntry."Emission N2O" * N2OFactor) + (SustainabilityLedgerEntry."Emission CH4" * CH4Factor); + CO2eEmission := (EmissionCO2 * CO2Factor) + (EmissionN2O * N2OFactor) + (EmissionCH4 * CH4Factor); CarbonFee := CO2eEmission * EmissionCarbonFee; - - SustainabilityLedgerEntry."CO2e Emission" := CO2eEmission; - SustainabilityLedgerEntry."Carbon Fee" := CarbonFee; end; local procedure FindEmissionFeeForEmissionType(var EmissionFee: Record "Emission Fee"; EmissionType: Enum "Emission Type"): Boolean @@ -149,6 +203,47 @@ codeunit 6212 "Sustainability Post Mgt" SustainabilityLedgerEntry.Validate("Renewable Energy", SustainAccountSubCategory."Renewable Energy"); end; + local procedure CalcCO2ePerUnit(CO2e: Decimal; Quantity: Decimal): Decimal + begin + if Quantity <> 0 then + exit(CO2e / Quantity); + + exit(0); + end; + + local procedure CalcExpectedCO2e(ItemLedgEntryNo: Integer; InvoicedQty: Decimal; Quantity: Decimal; var ExpectedCO2e: Decimal; CalcReminder: Boolean) + var + SustValueEntry: Record "Sustainability Value Entry"; + begin + ExpectedCO2e := 0; + + SustValueEntry.SetCurrentKey("Item Ledger Entry No.", "Entry Type"); + SustValueEntry.SetRange("Item Ledger Entry No.", ItemLedgEntryNo); + SustValueEntry.SetFilter("Entry Type", '<>%1', SustValueEntry."Entry Type"::Revaluation); + if SustValueEntry.FindSet() and SustValueEntry."Expected Emission" then + if CalcReminder then begin + SustValueEntry.CalcSums("CO2e Amount (Expected)"); + ExpectedCO2e := -SustValueEntry."CO2e Amount (Expected)"; + end else begin + SustValueEntry.SetRange("Expected Emission", true); + SustValueEntry.SetRange(Adjustment, false); + if SustValueEntry.IsEmpty() then + exit; + + SustValueEntry.CalcSums("CO2e Amount (Expected)"); + ExpectedCO2e := SustValueEntry."CO2e Amount (Expected)"; + ExpectedCO2e := CalcExpCO2eToBalance(ExpectedCO2e, InvoicedQty, Quantity); + end; + end; + + local procedure CalcExpCO2eToBalance(ExpectedCO2e: Decimal; InvoicedQty: Decimal; Quantity: Decimal): Decimal + begin + if (Quantity = 0) or (ExpectedCO2e = 0) or (InvoicedQty = 0) then + exit(0); + + exit(-InvoicedQty / Quantity * ExpectedCO2e); + end; + var PostingSustainabilityJournalLbl: Label 'Posting Sustainability Journal Lines: \ #1', Comment = '#1 = sub-process progress message'; CheckSustainabilityJournalLineLbl: Label 'Checking Sustainability Journal Line: %1', Comment = '%1 = Line No.'; diff --git a/Apps/W1/Sustainability/app/src/Posting/SustainabilityRecurJnlPost.Codeunit.al b/Apps/W1/Sustainability/app/src/Posting/SustainabilityRecurJnlPost.Codeunit.al index efd500158d..9a5aafd505 100644 --- a/Apps/W1/Sustainability/app/src/Posting/SustainabilityRecurJnlPost.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Posting/SustainabilityRecurJnlPost.Codeunit.al @@ -11,6 +11,7 @@ codeunit 6214 "Sustainability Recur Jnl.-Post" trigger OnRun() var SustainabilityJnlBatch: Record "Sustainability Jnl. Batch"; + SustainabilityJnlLine: Record "Sustainability Jnl. Line"; ConfirmManagement: Codeunit "Confirm Management"; SustainabilityPostMgt: Codeunit "Sustainability Post Mgt"; NoSeriesBatch: Codeunit "No. Series - Batch"; @@ -34,7 +35,12 @@ codeunit 6214 "Sustainability Recur Jnl.-Post" Window.Update(1, SustainabilityPostMgt.GetProgressingLineMessage(Rec."Line No.")); Rec.Validate("Document No.", NoSeriesBatch.GetNextNo(SustainabilityJnlBatch."No Series", Rec."Posting Date")); - SustainabilityPostMgt.InsertLedgerEntry(Rec); + + SustainabilityJnlLine := Rec; + + SustainabilityJnlLine.UpdateSustainabilityJnlLineWithPostingSign(SustainabilityJnlLine, SustainabilityJnlLine.GetPostingSign(SustainabilityJnlLine)); + + SustainabilityPostMgt.InsertLedgerEntry(SustainabilityJnlLine); ProcessRecurringJournalLine(Rec); until Rec.Next() = 0; diff --git a/Apps/W1/Sustainability/app/src/Purchase/SustPurchaseSubscriber.Codeunit.al b/Apps/W1/Sustainability/app/src/Purchase/SustPurchaseSubscriber.Codeunit.al index 5b22841525..50bfdd2b6a 100644 --- a/Apps/W1/Sustainability/app/src/Purchase/SustPurchaseSubscriber.Codeunit.al +++ b/Apps/W1/Sustainability/app/src/Purchase/SustPurchaseSubscriber.Codeunit.al @@ -1,9 +1,13 @@ namespace Microsoft.Sustainability.Purchase; +using Microsoft.Finance.GeneralLedger.Account; using Microsoft.Finance.GeneralLedger.Preview; using Microsoft.Inventory.Item; +using Microsoft.Inventory.Journal; using Microsoft.Purchases.Document; +using Microsoft.Purchases.History; using Microsoft.Purchases.Posting; +using Microsoft.Projects.Resources.Resource; using Microsoft.Sustainability.Account; using Microsoft.Sustainability.Journal; using Microsoft.Sustainability.Posting; @@ -16,32 +20,42 @@ codeunit 6225 "Sust. Purchase Subscriber" PurchaseLine.UpdateSustainabilityEmission(PurchaseLine); end; - [EventSubscriber(ObjectType::Table, Database::"Purchase Line", 'OnAfterValidateEvent', 'Qty. to Invoice', false, false)] - local procedure OnValidateQtyToInvoice(var Rec: Record "Purchase Line") + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnAfterPostPurchLine', '', false, false)] + local procedure OnAfterPostPurchLine(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; SrcCode: Code[10]; GenJnlLineDocNo: Code[20]) begin - Rec.UpdateSustainabilityEmission(Rec); + if (PurchaseHeader.Invoice) and (PurchaseLine."Qty. to Invoice" <> 0) then + PostSustainabilityLine(PurchaseHeader, PurchaseLine, SrcCode, GenJnlLineDocNo); end; - [EventSubscriber(ObjectType::Table, Database::"Purchase Line", 'OnAfterValidateEvent', 'Qty. to Receive', false, false)] - local procedure OnValidateQtyToReceive(var Rec: Record "Purchase Line") + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnPostUpdateOrderLineOnBeforeUpdateBlanketOrderLine', '', false, false)] + local procedure OnPostUpdateOrderLineOnBeforeUpdateBlanketOrderLine(var PurchaseHeader: Record "Purchase Header"; var TempPurchaseLine: Record "Purchase Line" temporary) begin - Rec.UpdateSustainabilityEmission(Rec); + if PurchaseHeader.Invoice then + UpdatePostedSustainabilityEmissionOrderLine(PurchaseHeader, TempPurchaseLine); end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnInsertReceiptLineOnAfterInitPurchRcptLine', '', false, false)] + local procedure OnInsertReceiptLineOnAfterInitPurchRcptLine(PurchLine: Record "Purchase Line"; var PurchRcptLine: Record "Purch. Rcpt. Line") + begin + UpdatePostedSustainabilityEmission(PurchLine, PurchRcptLine.Quantity, 1, PurchRcptLine."Emission CO2", PurchRcptLine."Emission CH4", PurchRcptLine."Emission N2O"); + end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnAfterPostPurchLine', '', false, false)] - local procedure OnAfterPostPurchLine(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; SrcCode: Code[10]; GenJnlLineDocNo: Code[20]) + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnInsertReturnShipmentLineOnAfterReturnShptLineInit', '', false, false)] + local procedure OnInsertReturnShipmentLineOnAfterReturnShptLineInit(PurchLine: Record "Purchase Line"; var ReturnShptLine: Record "Return Shipment Line") begin - PostSustainabilityLine(PurchaseHeader, PurchaseLine, SrcCode, GenJnlLineDocNo); + UpdatePostedSustainabilityEmission(PurchLine, ReturnShptLine.Quantity, 1, ReturnShptLine."Emission CO2", ReturnShptLine."Emission CH4", ReturnShptLine."Emission N2O"); end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnPostUpdateOrderLineOnBeforeLoop', '', false, false)] - local procedure OnPostUpdateOrderLineOnBeforeLoop(PurchHeader: Record "Purchase Header"; var TempPurchLine: Record "Purchase Line" temporary) + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnBeforePurchInvLineInsert', '', false, false)] + local procedure OnBeforePurchInvLineInsert(var PurchaseLine: Record "Purchase Line"; var PurchInvLine: Record "Purch. Inv. Line") begin - if PurchHeader.Invoice then begin - UpdatePostedSustainabilityEmission(PurchHeader, TempPurchLine); - InitEmissionOnPurchLine(TempPurchLine); - end; + UpdatePostedSustainabilityEmission(PurchaseLine, PurchInvLine.Quantity, 1, PurchInvLine."Emission CO2", PurchInvLine."Emission CH4", PurchInvLine."Emission N2O"); + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnBeforePurchCrMemoLineInsert', '', false, false)] + local procedure OnBeforePurchCrMemoLineInsert(PurchLine: Record "Purchase Line"; var PurchCrMemoLine: Record "Purch. Cr. Memo Line") + begin + UpdatePostedSustainabilityEmission(PurchLine, PurchCrMemoLine.Quantity, 1, PurchCrMemoLine."Emission CO2", PurchCrMemoLine."Emission CH4", PurchCrMemoLine."Emission N2O"); end; [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Preview", 'OnAfterBindSubscription', '', false, false)] @@ -57,40 +71,102 @@ codeunit 6225 "Sust. Purchase Subscriber" UnbindSubscription(SustPreviewPostingHandler); end; - [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnBeforePostUpdateOrderLineModifyTempLine', '', false, false)] - local procedure OnBeforePostUpdateOrderLineModifyTempLine(var TempPurchaseLine: Record "Purchase Line" temporary) + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch.-Post", 'OnPostItemJnlLineOnAfterPrepareItemJnlLine', '', false, false)] + local procedure OnPostItemJnlLineOnAfterPrepareItemJnlLine(var ItemJournalLine: Record "Item Journal Line"; PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line") begin - TempPurchaseLine.UpdateSustainabilityEmission(TempPurchaseLine); + if (ItemJournalLine.Quantity <> 0) or (ItemJournalLine."Invoiced Quantity" <> 0) then + CheckAndUpdateSustainabilityItemJournalLine(ItemJournalLine, PurchaseHeader, PurchaseLine); end; - local procedure InitEmissionOnPurchLine(var PurchaseLine: Record "Purchase Line") + [EventSubscriber(ObjectType::Table, Database::"Purchase Line", 'OnNotHandledCopyFromGLAccount', '', false, false)] + local procedure OnAfterAssignGLAccountValues(var PurchaseLine: Record "Purchase Line"; GLAccount: Record "G/L Account") begin - if IsGHGCreditLine(PurchaseLine) then - exit; + PurchaseLine.Validate("Sust. Account No.", GLAccount."Default Sust. Account"); + end; - PurchaseLine."Emission CO2 Per Unit" := 0; - PurchaseLine."Emission CH4 Per Unit" := 0; - PurchaseLine."Emission N2O Per Unit" := 0; + [EventSubscriber(ObjectType::Table, Database::"Purchase Line", 'OnAfterAssignItemValues', '', false, false)] + local procedure OnAfterAssignItemValues(var PurchLine: Record "Purchase Line"; Item: Record Item) + begin + PurchLine.Validate("Sust. Account No.", Item."Default Sust. Account"); + end; + + [EventSubscriber(ObjectType::Table, Database::"Purchase Line", 'OnAfterAssignResourceValues', '', false, false)] + local procedure OnAfterAssignResourceValues(var PurchaseLine: Record "Purchase Line"; Resource: Record Resource) + begin + PurchaseLine.Validate("Sust. Account No.", Resource."Default Sust. Account"); + end; - PurchaseLine."Emission CO2" := 0; - PurchaseLine."Emission CH4" := 0; - PurchaseLine."Emission N2O" := 0; + [EventSubscriber(ObjectType::Table, Database::"Purchase Line", 'OnAfterAssignItemChargeValues', '', false, false)] + local procedure OnAfterAssignItemChargeValues(var PurchLine: Record "Purchase Line"; ItemCharge: Record "Item Charge") + begin + PurchLine.Validate("Sust. Account No.", ItemCharge."Default Sust. Account"); end; - local procedure UpdatePostedSustainabilityEmission(var PurchaseHeader: Record "Purchase Header"; var TempPurchaseLine: Record "Purchase Line" temporary) + local procedure CheckAndUpdateSustainabilityItemJournalLine(var ItemJournalLine: Record "Item Journal Line"; PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line") var GHGCredit: Boolean; Sign: Integer; + CO2ToPost: Decimal; + CH4ToPost: Decimal; + N2OToPost: Decimal; begin - if not PurchaseHeader.Invoice then - exit; + GHGCredit := IsGHGCreditLine(PurchaseLine); + + if GHGCredit then begin + PurchaseLine.TestField("Emission CH4 Per Unit", 0); + PurchaseLine.TestField("Emission N2O Per Unit", 0); + end; - GHGCredit := IsGHGCreditLine(TempPurchaseLine); Sign := GetPostingSign(PurchaseHeader, GHGCredit); - TempPurchaseLine."Posted Emission CO2" += (TempPurchaseLine."Emission CO2 Per Unit" * Abs(TempPurchaseLine."Qty. to Invoice") * TempPurchaseLine."Qty. per Unit of Measure") * Sign; - TempPurchaseLine."Posted Emission CH4" += (TempPurchaseLine."Emission CH4 Per Unit" * Abs(TempPurchaseLine."Qty. to Invoice") * TempPurchaseLine."Qty. per Unit of Measure") * Sign; - TempPurchaseLine."Posted Emission N2O" += (TempPurchaseLine."Emission N2O Per Unit" * Abs(TempPurchaseLine."Qty. to Invoice") * TempPurchaseLine."Qty. per Unit of Measure") * Sign; + if ItemJournalLine."Invoiced Quantity" <> 0 then begin + CO2ToPost := PurchaseLine."Emission CO2 Per Unit" * Abs(ItemJournalLine."Invoiced Quantity") * PurchaseLine."Qty. per Unit of Measure"; + CH4ToPost := PurchaseLine."Emission CH4 Per Unit" * Abs(ItemJournalLine."Invoiced Quantity") * PurchaseLine."Qty. per Unit of Measure"; + N2OToPost := PurchaseLine."Emission N2O Per Unit" * Abs(ItemJournalLine."Invoiced Quantity") * PurchaseLine."Qty. per Unit of Measure"; + end else begin + CO2ToPost := PurchaseLine."Emission CO2 Per Unit" * Abs(ItemJournalLine.Quantity) * PurchaseLine."Qty. per Unit of Measure"; + CH4ToPost := PurchaseLine."Emission CH4 Per Unit" * Abs(ItemJournalLine.Quantity) * PurchaseLine."Qty. per Unit of Measure"; + N2OToPost := PurchaseLine."Emission N2O Per Unit" * Abs(ItemJournalLine.Quantity) * PurchaseLine."Qty. per Unit of Measure"; + end; + + CO2ToPost := CO2ToPost * Sign; + CH4ToPost := CH4ToPost * Sign; + N2OToPost := N2OToPost * Sign; + + if not CanPostSustainabilityJnlLine(PurchaseLine."Sust. Account No.", PurchaseLine."Sust. Account Category", PurchaseLine."Sust. Account Subcategory", CO2ToPost, CH4ToPost, N2OToPost) then + exit; + + ItemJournalLine."Sust. Account No." := PurchaseLine."Sust. Account No."; + ItemJournalLine."Sust. Account Name" := PurchaseLine."Sust. Account Name"; + ItemJournalLine."Sust. Account Category" := PurchaseLine."Sust. Account Category"; + ItemJournalLine."Sust. Account Subcategory" := PurchaseLine."Sust. Account Subcategory"; + ItemJournalLine."Emission CO2" := CO2ToPost; + ItemJournalLine."Emission CH4" := CH4ToPost; + ItemJournalLine."Emission N2O" := N2OToPost; + end; + + local procedure UpdatePostedSustainabilityEmissionOrderLine(PurchHeader: Record "Purchase Header"; var TempPurchLine: Record "Purchase Line" temporary) + var + PostedEmissionCO2: Decimal; + PostedEmissionCH4: Decimal; + PostedEmissionN2O: Decimal; + GHGCredit: Boolean; + Sign: Integer; + begin + GHGCredit := IsGHGCreditLine(TempPurchLine); + Sign := GetPostingSign(PurchHeader, GHGCredit); + + UpdatePostedSustainabilityEmission(TempPurchLine, TempPurchLine."Qty. to Invoice", Sign, PostedEmissionCO2, PostedEmissionCH4, PostedEmissionN2O); + TempPurchLine."Posted Emission CO2" += PostedEmissionCO2; + TempPurchLine."Posted Emission CH4" += PostedEmissionCH4; + TempPurchLine."Posted Emission N2O" += PostedEmissionN2O; + end; + + local procedure UpdatePostedSustainabilityEmission(PurchaseLine: Record "Purchase Line"; Quantity: Decimal; Sign: Integer; var PostedEmissionCO2: Decimal; var PostedEmissionCH4: Decimal; var PostedEmissionN2O: Decimal) + begin + PostedEmissionCO2 := (PurchaseLine."Emission CO2 Per Unit" * Abs(Quantity) * PurchaseLine."Qty. per Unit of Measure") * Sign; + PostedEmissionCH4 := (PurchaseLine."Emission CH4 Per Unit" * Abs(Quantity) * PurchaseLine."Qty. per Unit of Measure") * Sign; + PostedEmissionN2O := (PurchaseLine."Emission N2O Per Unit" * Abs(Quantity) * PurchaseLine."Qty. per Unit of Measure") * Sign; end; local procedure PostSustainabilityLine(PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; SrcCode: Code[10]; GenJnlLineDocNo: Code[20]) @@ -103,9 +179,6 @@ codeunit 6225 "Sust. Purchase Subscriber" CH4ToPost: Decimal; N2OToPost: Decimal; begin - if PurchaseLine."Qty. to Invoice" = 0 then - exit; - GHGCredit := IsGHGCreditLine(PurchaseLine); if GHGCredit then begin @@ -123,7 +196,7 @@ codeunit 6225 "Sust. Purchase Subscriber" CH4ToPost := CH4ToPost * Sign; N2OToPost := N2OToPost * Sign; - if not CanPostSustainabilityJnlLine(PurchaseHeader, PurchaseLine, CO2ToPost, CH4ToPost, N2OToPost) then + if not CanPostSustainabilityJnlLine(PurchaseLine."Sust. Account No.", PurchaseLine."Sust. Account Category", PurchaseLine."Sust. Account Subcategory", CO2ToPost, CH4ToPost, N2OToPost) then exit; SustainabilityJnlLine.Init(); @@ -190,22 +263,19 @@ codeunit 6225 "Sust. Purchase Subscriber" exit(Item."GHG Credit"); end; - local procedure CanPostSustainabilityJnlLine(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; CO2ToPost: Decimal; CH4ToPost: Decimal; N2OToPost: Decimal): Boolean + local procedure CanPostSustainabilityJnlLine(AccountNo: Code[20]; AccountCategory: Code[20]; AccountSubCategory: Code[20]; CO2ToPost: Decimal; CH4ToPost: Decimal; N2OToPost: Decimal): Boolean var SustAccountCategory: Record "Sustain. Account Category"; SustainAccountSubcategory: Record "Sustain. Account Subcategory"; begin - if not PurchaseHeader.Invoice then - exit(false); - - if PurchaseLine."Sust. Account No." = '' then + if AccountNo = '' then exit(false); - if SustAccountCategory.Get(PurchaseLine."Sust. Account Category") then + if SustAccountCategory.Get(AccountCategory) then if SustAccountCategory."Water Intensity" or SustAccountCategory."Waste Intensity" or SustAccountCategory."Discharged Into Water" then - Error(NotAllowedToPostSustLedEntryForWaterOrWasteErr, PurchaseLine."Sust. Account No."); + Error(NotAllowedToPostSustLedEntryForWaterOrWasteErr, AccountNo); - if SustainAccountSubcategory.Get(PurchaseLine."Sust. Account Category", PurchaseLine."Sust. Account Subcategory") then + if SustainAccountSubcategory.Get(AccountCategory, AccountSubCategory) then if not SustainAccountSubcategory."Renewable Energy" then if (CO2ToPost = 0) and (CH4ToPost = 0) and (N2OToPost = 0) then Error(EmissionMustNotBeZeroErr); diff --git a/Apps/W1/Sustainability/app/src/Purchase/SustainabilityPurchLine.TableExt.al b/Apps/W1/Sustainability/app/src/Purchase/SustainabilityPurchLine.TableExt.al index 7ad05da8f9..4344b06230 100644 --- a/Apps/W1/Sustainability/app/src/Purchase/SustainabilityPurchLine.TableExt.al +++ b/Apps/W1/Sustainability/app/src/Purchase/SustainabilityPurchLine.TableExt.al @@ -3,6 +3,7 @@ namespace Microsoft.Sustainability.Purchase; using Microsoft.Sustainability.Account; using Microsoft.Sustainability.Setup; using Microsoft.Purchases.Document; +using Microsoft.Projects.Resources.Resource; using Microsoft.Inventory.Item; tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" @@ -36,12 +37,10 @@ tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" Rec.Validate("Sust. Account Name", SustainabilityAccount.Name); Rec.Validate("Sust. Account Category", SustainabilityAccount.Category); Rec.Validate("Sust. Account Subcategory", SustainabilityAccount.Subcategory); + UpdateDefaultEmissionOnPurchLine(Rec); end; CreateDimFromDefaultDim(FieldNo(Rec."Sust. Account No.")); - - if Rec.Type = Rec.Type::Item then - UpdateCarbonCreditInformation(); end; } field(6211; "Sust. Account Name"; Text[100]) @@ -217,9 +216,9 @@ tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" procedure UpdateSustainabilityEmission(var PurchLine: Record "Purchase Line") begin - PurchLine."Emission CO2" := PurchLine."Emission CO2 Per Unit" * PurchLine."Qty. per Unit of Measure" * PurchLine."Qty. to Invoice"; - PurchLine."Emission CH4" := PurchLine."Emission CH4 Per Unit" * PurchLine."Qty. per Unit of Measure" * PurchLine."Qty. to Invoice"; - PurchLine."Emission N2O" := PurchLine."Emission N2O Per Unit" * PurchLine."Qty. per Unit of Measure" * PurchLine."Qty. to Invoice"; + PurchLine."Emission CO2" := PurchLine."Emission CO2 Per Unit" * PurchLine."Qty. per Unit of Measure" * PurchLine.Quantity; + PurchLine."Emission CH4" := PurchLine."Emission CH4 Per Unit" * PurchLine."Qty. per Unit of Measure" * PurchLine.Quantity; + PurchLine."Emission N2O" := PurchLine."Emission N2O Per Unit" * PurchLine."Qty. per Unit of Measure" * PurchLine.Quantity; end; procedure UpdateEmissionPerUnit(var PurchLine: Record "Purchase Line") @@ -230,10 +229,10 @@ tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" PurchLine."Emission CH4 Per Unit" := 0; PurchLine."Emission N2O Per Unit" := 0; - if (PurchLine."Qty. per Unit of Measure" = 0) or (PurchLine."Qty. to Invoice" = 0) then + if (PurchLine."Qty. per Unit of Measure" = 0) or (PurchLine.Quantity = 0) then exit; - Denominator := PurchLine."Qty. per Unit of Measure" * PurchLine."Qty. to Invoice"; + Denominator := PurchLine."Qty. per Unit of Measure" * PurchLine.Quantity; if PurchLine."Emission CO2" <> 0 then PurchLine."Emission CO2 Per Unit" := PurchLine."Emission CO2" / Denominator; @@ -244,6 +243,44 @@ tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" PurchLine."Emission N2O Per Unit" := PurchLine."Emission N2O" / Denominator; end; + local procedure UpdateDefaultEmissionOnPurchLine(var PurchaseLine: Record "Purchase Line") + var + Item: Record Item; + Resource: Record Resource; + ItemCharge: Record "Item Charge"; + begin + case PurchaseLine.Type of + PurchaseLine.Type::Item: + begin + Item.Get(PurchaseLine."No."); + + if Item."GHG Credit" then + PurchaseLine.Validate("Emission CO2 Per Unit", Item."Carbon Credit Per UOM") + else begin + PurchaseLine.Validate("Emission CO2 Per Unit", Item."Default CO2 Emission"); + PurchaseLine.Validate("Emission CH4 Per Unit", Item."Default CH4 Emission"); + PurchaseLine.Validate("Emission N2O Per Unit", Item."Default N2O Emission"); + end; + end; + PurchaseLine.Type::Resource: + begin + Resource.Get(PurchaseLine."No."); + + PurchaseLine.Validate("Emission CO2 Per Unit", Resource."Default CO2 Emission"); + PurchaseLine.Validate("Emission CH4 Per Unit", Resource."Default CH4 Emission"); + PurchaseLine.Validate("Emission N2O Per Unit", Resource."Default N2O Emission"); + end; + PurchaseLine.Type::"Charge (Item)": + begin + ItemCharge.Get(PurchaseLine."No."); + + PurchaseLine.Validate("Emission CO2 Per Unit", ItemCharge."Default CO2 Emission"); + PurchaseLine.Validate("Emission CH4 Per Unit", ItemCharge."Default CH4 Emission"); + PurchaseLine.Validate("Emission N2O Per Unit", ItemCharge."Default N2O Emission"); + end; + end + end; + local procedure ClearEmissionInformation(var PurchLine: Record "Purchase Line") begin PurchLine.Validate("Emission CO2 Per Unit", 0); @@ -262,6 +299,7 @@ tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" PurchaseLine.FieldNo("Emission CH4"), PurchaseLine.FieldNo("Emission CH4 Per Unit"): begin + PurchaseLine.TestStatusOpen(); PurchaseLine.TestField("Sust. Account No."); if (PurchaseLine.Type = PurchaseLine.Type::Item) and (PurchaseLine."No." <> '') then begin @@ -272,15 +310,18 @@ tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" end; PurchaseLine.FieldNo("Emission CO2"), PurchaseLine.FieldNo("Emission CO2 Per Unit"): - PurchaseLine.TestField("Sust. Account No."); + begin + PurchaseLine.TestStatusOpen(); + PurchaseLine.TestField("Sust. Account No."); + end; PurchaseLine.FieldNo("Sust. Account No."), PurchaseLine.FieldNo("Sust. Account Category"), PurchaseLine.FieldNo("Sust. Account Subcategory"), PurchaseLine.FieldNo("Sust. Account Name"): begin PurchaseLine.TestField("No."); - if not (PurchaseLine.Type in [PurchaseLine.Type::Item, PurchaseLine.Type::"G/L Account"]) then - Error(InvalidTypeForSustErr, PurchaseLine.Type::Item, PurchaseLine.Type::"G/L Account"); + if not (PurchaseLine.Type in [PurchaseLine.Type::Item, PurchaseLine.Type::"G/L Account", PurchaseLine.Type::Resource]) then + Error(InvalidTypeForSustErr, PurchaseLine.Type::Item, PurchaseLine.Type::"G/L Account", PurchaseLine.Type::Resource); if SustAccountCategory.Get(PurchaseLine."Sust. Account Category") then if SustAccountCategory."Water Intensity" or SustAccountCategory."Waste Intensity" or SustAccountCategory."Discharged Into Water" then @@ -289,21 +330,8 @@ tableextension 6211 "Sustainability Purch. Line" extends "Purchase Line" end; end; - local procedure UpdateCarbonCreditInformation() - var - Item: Record Item; - begin - if not Item.Get(Rec."No.") then - exit; - - if not Item."GHG Credit" then - exit; - - Rec.Validate("Emission CO2 Per Unit", Item."Carbon Credit Per UOM"); - end; - var SustainabilitySetup: Record "Sustainability Setup"; - InvalidTypeForSustErr: Label 'Sustainability is only applicable for Type: %1 or %2.', Comment = '%1 - Purchase Line Type Item, %2 - Purchase Line Type G/L Account'; + InvalidTypeForSustErr: Label 'Sustainability is only applicable for Type: %1 , %2 and %3', Comment = '%1 - Purchase Line Type Item, %2 - Purchase Line Type G/L Account, %3 - Purchase Line Type Resource'; NotAllowedToUseSustAccountForWaterOrWasteErr: Label 'It is not allowed to use Sustainability Account %1 for water or waste in purchase document.', Comment = '%1 = Sust. Account No.'; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Page.al b/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Page.al index c842381ec9..717f21fc05 100644 --- a/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Page.al +++ b/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Page.al @@ -66,6 +66,26 @@ page 6221 "Sustainability Setup" { ToolTip = 'Specifies that you want to enable sustainability features in purchase documents. Until this field is selected, sustainability fields will not be displayed in the purchase lines. Select this field only if you intend to post your GHG emissions using purchase documents or to post purchasing carbon credits.'; } + field("G/L Account Emissions"; Rec."G/L Account Emissions") + { + ToolTip = 'Specifies the value of the G/L Account Emissions field.'; + } + field("Item Emissions"; Rec."Item Emissions") + { + ToolTip = 'Specifies the value of the Item Emissions field.'; + } + field("Item Charge Emissions"; Rec."Item Charge Emissions") + { + ToolTip = 'Specifies the value of the Item Charge Emissions field.'; + } + field("Resource Emissions"; Rec."Resource Emissions") + { + ToolTip = 'Specifies the value of the Resource Emissions field.'; + } + field("Work/Machine Center Emissions"; Rec."Work/Machine Center Emissions") + { + ToolTip = 'Specifies the value of the Work/Machine Center Emissions field.'; + } } group(Calculations) { diff --git a/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Table.al b/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Table.al index 68c91db0c7..3ace68fa4a 100644 --- a/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Table.al +++ b/Apps/W1/Sustainability/app/src/Setup/SustainabilitySetup.Table.al @@ -120,6 +120,27 @@ table 6217 "Sustainability Setup" Caption = 'Disch. Into Water Unit of Measure Code'; TableRelation = "Unit of Measure"; } + field(20; "G/L Account Emissions"; Boolean) + { + Caption = 'G/L Account Emissions'; + } + field(21; "Item Emissions"; Boolean) + { + Caption = 'Item Emissions'; + } + field(22; "Item Charge Emissions"; Boolean) + { + Caption = 'Item Charge Emissions'; + Editable = false; + } + field(23; "Resource Emissions"; Boolean) + { + Caption = 'Resource Emissions'; + } + field(24; "Work/Machine Center Emissions"; Boolean) + { + Caption = 'Work/Machine Center Emissions'; + } } keys diff --git a/Apps/W1/Sustainability/test/src/LibrarySustainability.Codeunit.al b/Apps/W1/Sustainability/test/src/LibrarySustainability.Codeunit.al index 59be68ae19..97a1cbcb39 100644 --- a/Apps/W1/Sustainability/test/src/LibrarySustainability.Codeunit.al +++ b/Apps/W1/Sustainability/test/src/LibrarySustainability.Codeunit.al @@ -154,6 +154,7 @@ codeunit 148182 "Library - Sustainability" SustainabilityJnlBatch: Record "Sustainability Jnl. Batch"; SustainabilityJnlLine: Record "Sustainability Jnl. Line"; SustainabilityLedgerEntry: Record "Sustainability Ledger Entry"; + SustainabilityValueEntry: Record "Sustainability Value Entry"; SustainabilityAccount: Record "Sustainability Account"; SustainabilityAccountCategory: Record "Sustain. Account Category"; SustainabilityAccountSubcategory: Record "Sustain. Account Subcategory"; @@ -165,6 +166,7 @@ codeunit 148182 "Library - Sustainability" SustainabilityJnlBatch.DeleteAll(); SustainabilityJnlLine.DeleteAll(); SustainabilityLedgerEntry.DeleteAll(); + SustainabilityValueEntry.DeleteAll(); SustainabilityAccount.DeleteAll(); SustainabilityAccountCategory.DeleteAll(); SustainabilityAccountSubcategory.DeleteAll(); diff --git a/Apps/W1/Sustainability/test/src/SustCertificateTest.Codeunit.al b/Apps/W1/Sustainability/test/src/SustCertificateTest.Codeunit.al index 52bf9ff2bf..2de8c1fe31 100644 --- a/Apps/W1/Sustainability/test/src/SustCertificateTest.Codeunit.al +++ b/Apps/W1/Sustainability/test/src/SustCertificateTest.Codeunit.al @@ -9,14 +9,20 @@ codeunit 148187 "Sust. Certificate Test" LibraryRandom: Codeunit "Library - Random"; LibraryUtility: Codeunit "Library - Utility"; LibraryPurchase: Codeunit "Library - Purchase"; + LibraryResource: Codeunit "Library - Resource"; LibraryInventory: Codeunit "Library - Inventory"; + LibraryManufacturing: Codeunit "Library - Manufacturing"; LibrarySustainability: Codeunit "Library - Sustainability"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; AccountCodeLbl: Label 'AccountCode%1', Locked = true, Comment = '%1 = Number'; CategoryCodeLbl: Label 'CategoryCode%1', Locked = true, Comment = '%1 = Number'; SubcategoryCodeLbl: Label 'SubcategoryCode%1', Locked = true, Comment = '%1 = Number'; ValueMustBeEqualErr: Label '%1 must be equal to %2 in the %3.', Comment = '%1 = Field Caption , %2 = Expected Value, %3 = Table Caption'; FieldShouldNotBeEnabledErr: Label '%1 should not be enabled in Page %2', Comment = '%1 = Field Caption , %2 = Page Caption'; FieldShouldBeEnabledErr: Label '%1 should be enabled in Page %2', Comment = '%1 = Field Caption , %2 = Page Caption'; + FieldShouldBeVisibleErr: Label '%1 should be visible in Page %2', Comment = '%1 = Field Caption , %2 = Page Caption'; + FieldShouldNotBeVisibleErr: Label '%1 should not be visible in Page %2', Comment = '%1 = Field Caption , %2 = Page Caption'; + ConfirmationForClearEmissionInfoQst: Label 'Changing the Replenishment System to %1 will clear sustainability emission value. Do you want to continue?', Comment = '%1 = Replenishment System'; [Test] procedure VerifyHasValueFieldShouldThrowErrorWhenValueIsUpdated() @@ -726,6 +732,1164 @@ codeunit 148187 "Sust. Certificate Test" StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission N2O"), 0, SustainabilityLedgerEntry.TableCaption())); end; + [Test] + procedure VerifyDefaultSustAccountShouldbeVisibleOnGLAccountCardIfGLAccountEmissionsIsEnabled() + var + GLAccount: Record "G/L Account"; + SustainabilitySetup: Record "Sustainability Setup"; + GLAccountCard: TestPage "G/L Account Card"; + GLAccountNo: Code[20]; + begin + // [SCENARIO 537413] Verify "Default Sust. Account" should be visible on "G/L Account Card" page If "G/L Account Emissions" is enabled in Sustainability Setup. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a G/L Account. + GLAccountNo := LibraryERM.CreateGLAccountNoWithDirectPosting(); + + // [GIVEN] Get a G/L Account. + GLAccount.Get(GLAccountNo); + + // [WHEN] Open "G/L Account Card". + GLAccountCard.OpenView(); + GLAccountCard.GoToRecord(GLAccount); + + // [VERIFY] Verify "Default Sust. Account" should not be visible on "G/L Account Card" page If "G/L Account Emissions" is not enabled in Sustainability Setup. + Assert.AreEqual( + false, + GLAccountCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, GLAccountCard."Default Sust. Account".Caption(), GLAccountCard.Caption())); + + // [GIVEN] Close "G/L Account Card". + GLAccountCard.Close(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "G/L Account Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("G/L Account Emissions", true); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "G/L Account Card". + GLAccountCard.OpenView(); + GLAccountCard.GoToRecord(GLAccount); + + // [VERIFY] Verify "Default Sust. Account" should be visible on "G/L Account Card" page If "G/L Account Emissions" is enabled in Sustainability Setup. + Assert.AreEqual( + true, + GLAccountCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, GLAccountCard."Default Sust. Account".Caption(), GLAccountCard.Caption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeVisibleOnItemCardIfItemEmissionsIsEnabled() + var + Item: Record Item; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCard: TestPage "Item Card"; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be visible on "Item Card" page If "Item Emissions" is enabled in Sustainability Setup. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create an Item. + LibraryInventory.CreateItem(Item); + + // [WHEN] Open "Item Card". + ItemCard.OpenView(); + ItemCard.GoToRecord(Item); + + // [VERIFY] Verify Default Sust. fields should not be visible on "Item Card" page If "Item Emissions" is not enabled in Sustainability Setup. + Assert.AreEqual( + false, + ItemCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCard."Default Sust. Account".Caption(), ItemCard.Caption())); + Assert.AreEqual( + false, + ItemCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCard."Default CO2 Emission".Caption(), ItemCard.Caption())); + Assert.AreEqual( + false, + ItemCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCard."Default CH4 Emission".Caption(), ItemCard.Caption())); + Assert.AreEqual( + false, + ItemCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCard."Default N2O Emission".Caption(), ItemCard.Caption())); + + // [GIVEN] Close "Item Card". + ItemCard.Close(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Item Card". + ItemCard.OpenView(); + ItemCard.GoToRecord(Item); + + // [VERIFY] Verify Default Sust. fields should be visible on "Item Card" page If "Item Emissions" is enabled in Sustainability Setup. + Assert.AreEqual( + true, + ItemCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCard."Default Sust. Account".Caption(), ItemCard.Caption())); + Assert.AreEqual( + true, + ItemCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCard."Default CO2 Emission".Caption(), ItemCard.Caption())); + Assert.AreEqual( + true, + ItemCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCard."Default CH4 Emission".Caption(), ItemCard.Caption())); + Assert.AreEqual( + true, + ItemCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCard."Default N2O Emission".Caption(), ItemCard.Caption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeVisibleOnItemCategoryCardIfItemEmissionsIsEnabled() + var + ItemCategory: Record "Item Category"; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCategoryCard: TestPage "Item Category Card"; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be visible on "Item Category Card" page If "Item Emissions" is enabled in Sustainability Setup. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create an Item Category. + LibraryInventory.CreateItemCategory(ItemCategory); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to false in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", false); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Item Category Card". + ItemCategoryCard.OpenView(); + ItemCategoryCard.GoToRecord(ItemCategory); + + // [VERIFY] Verify Default Sust. fields should not be visible on "Item Category Card" page If "Item Emissions" is not enabled in Sustainability Setup. + Assert.AreEqual( + false, + ItemCategoryCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCategoryCard."Default Sust. Account".Caption(), ItemCategoryCard.Caption())); + + // [GIVEN] Close "Item Category Card". + ItemCategoryCard.Close(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Item Category Card". + ItemCategoryCard.OpenView(); + ItemCategoryCard.GoToRecord(ItemCategory); + + // [VERIFY] Verify Default Sust. fields should be visible on "Item Category Card" page If "Item Emissions" is enabled in Sustainability Setup. + Assert.AreEqual( + true, + ItemCategoryCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCategoryCard."Default Sust. Account".Caption(), ItemCategoryCard.Caption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeVisibleOnItemChargesIfItemChargeEmissionsIsEnabled() + var + ItemCharge: Record "Item Charge"; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCharges: TestPage "Item Charges"; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be visible on "Item Charges" page If "Item Emissions" is enabled in Sustainability Setup. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create an Item Charge. + LibraryInventory.CreateItemCharge(ItemCharge); + + // [WHEN] Open "Item Charges". + ItemCharges.OpenView(); + ItemCharges.GoToRecord(ItemCharge); + + // [VERIFY] Verify Default Sust. fields should not be visible on "Item Charges" page If "Item Charge Emissions" is not enabled in Sustainability Setup. + Assert.AreEqual( + false, + ItemCharges."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCharges."Default Sust. Account".Caption(), ItemCharges.Caption())); + Assert.AreEqual( + false, + ItemCharges."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCharges."Default CO2 Emission".Caption(), ItemCharges.Caption())); + Assert.AreEqual( + false, + ItemCharges."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCharges."Default CH4 Emission".Caption(), ItemCharges.Caption())); + Assert.AreEqual( + false, + ItemCharges."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ItemCharges."Default N2O Emission".Caption(), ItemCharges.Caption())); + + // [GIVEN] Close "Item Charges". + ItemCharges.Close(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Charge Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Charge Emissions", true); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Item Charges". + ItemCharges.OpenView(); + ItemCharges.GoToRecord(ItemCharge); + + // [VERIFY] Verify Default Sust. fields should be visible on "Item Charges" page If "Item Charge Emissions" is enabled in Sustainability Setup. + Assert.AreEqual( + true, + ItemCharges."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCharges."Default Sust. Account".Caption(), ItemCharges.Caption())); + Assert.AreEqual( + true, + ItemCharges."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCharges."Default CO2 Emission".Caption(), ItemCharges.Caption())); + Assert.AreEqual( + true, + ItemCharges."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCharges."Default CH4 Emission".Caption(), ItemCharges.Caption())); + Assert.AreEqual( + true, + ItemCharges."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ItemCharges."Default N2O Emission".Caption(), ItemCharges.Caption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeVisibleOnResourceCardIfResourceEmissionsIsEnabled() + var + Resource: Record Resource; + SustainabilitySetup: Record "Sustainability Setup"; + ResourceCard: TestPage "Resource Card"; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be visible on "Resource Card" page If "Resource Emissions" is enabled in Sustainability Setup. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create an Resource. + LibraryResource.CreateResource(Resource, ''); + + // [WHEN] Open "Resource Card". + ResourceCard.OpenView(); + ResourceCard.GoToRecord(Resource); + + // [VERIFY] Verify Default Sust. fields should not be visible on "Resource Card" page If "Resource Emissions" is not enabled in Sustainability Setup. + Assert.AreEqual( + false, + ResourceCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ResourceCard."Default Sust. Account".Caption(), ResourceCard.Caption())); + Assert.AreEqual( + false, + ResourceCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ResourceCard."Default CO2 Emission".Caption(), ResourceCard.Caption())); + Assert.AreEqual( + false, + ResourceCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ResourceCard."Default CH4 Emission".Caption(), ResourceCard.Caption())); + Assert.AreEqual( + false, + ResourceCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, ResourceCard."Default N2O Emission".Caption(), ResourceCard.Caption())); + + // [GIVEN] Close "Resource Card". + ResourceCard.Close(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Resource Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Resource Emissions", true); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Resource Card". + ResourceCard.OpenView(); + ResourceCard.GoToRecord(Resource); + + // [VERIFY] Verify Default Sust. fields should be visible on "Resource Card" page If "Resource Emissions" is enabled in Sustainability Setup. + Assert.AreEqual( + true, + ResourceCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ResourceCard."Default Sust. Account".Caption(), ResourceCard.Caption())); + Assert.AreEqual( + true, + ResourceCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ResourceCard."Default CO2 Emission".Caption(), ResourceCard.Caption())); + Assert.AreEqual( + true, + ResourceCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ResourceCard."Default CH4 Emission".Caption(), ResourceCard.Caption())); + Assert.AreEqual( + true, + ResourceCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, ResourceCard."Default N2O Emission".Caption(), ResourceCard.Caption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeVisibleOnMachineCenterCardIfWorkMachineCenterEmissionsIsEnabled() + var + MachineCenter: Record "Machine Center"; + SustainabilitySetup: Record "Sustainability Setup"; + MachineCenterCard: TestPage "Machine Center Card"; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be visible on "Machine Center Card" page If "Work/Machine Center Emissions" is enabled in Sustainability Setup. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Machine Center. + LibraryManufacturing.CreateMachineCenter(MachineCenter, '', LibraryRandom.RandDec(10, 1)); + + // [WHEN] Open "Machine Center Card". + MachineCenterCard.OpenView(); + MachineCenterCard.GoToRecord(MachineCenter); + + // [VERIFY] Verify Default Sust. fields should not be visible on "Machine Center Card" page If "Work/Machine Center Emissions" is not enabled in Sustainability Setup. + Assert.AreEqual( + false, + MachineCenterCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, MachineCenterCard."Default Sust. Account".Caption(), MachineCenterCard.Caption())); + Assert.AreEqual( + false, + MachineCenterCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, MachineCenterCard."Default CO2 Emission".Caption(), MachineCenterCard.Caption())); + Assert.AreEqual( + false, + MachineCenterCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, MachineCenterCard."Default CH4 Emission".Caption(), MachineCenterCard.Caption())); + Assert.AreEqual( + false, + MachineCenterCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, MachineCenterCard."Default N2O Emission".Caption(), MachineCenterCard.Caption())); + + // [GIVEN] Close "Machine Center Card". + MachineCenterCard.Close(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Work/Machine Center Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Work/Machine Center Emissions", true); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Machine Center Card". + MachineCenterCard.OpenView(); + MachineCenterCard.GoToRecord(MachineCenter); + + // [VERIFY] Verify Default Sust. fields should be visible on "Machine Center Card" page If "Work/Machine Center Emissions" is enabled in Sustainability Setup. + Assert.AreEqual( + true, + MachineCenterCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, MachineCenterCard."Default Sust. Account".Caption(), MachineCenterCard.Caption())); + Assert.AreEqual( + true, + MachineCenterCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, MachineCenterCard."Default CO2 Emission".Caption(), MachineCenterCard.Caption())); + Assert.AreEqual( + true, + MachineCenterCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, MachineCenterCard."Default CH4 Emission".Caption(), MachineCenterCard.Caption())); + Assert.AreEqual( + true, + MachineCenterCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, MachineCenterCard."Default N2O Emission".Caption(), MachineCenterCard.Caption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeVisibleOnWorkCenterCardIfWorkMachineCenterEmissionsIsEnabled() + var + WorkCenter: Record "Work Center"; + SustainabilitySetup: Record "Sustainability Setup"; + WorkCenterCard: TestPage "Work Center Card"; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be visible on "Work Center Card" page If "Work/Machine Center Emissions" is enabled in Sustainability Setup. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Work Center. + LibraryManufacturing.CreateWorkCenter(WorkCenter); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Work/Machine Center Emissions" to false in Sustainability Setup. + SustainabilitySetup.Validate("Work/Machine Center Emissions", false); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Work Center Card". + WorkCenterCard.OpenView(); + WorkCenterCard.GoToRecord(WorkCenter); + + // [VERIFY] Verify Default Sust. fields should not be visible on "Work Center Card" page If "Work/Machine Center Emissions" is not enabled in Sustainability Setup. + Assert.AreEqual( + false, + WorkCenterCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, WorkCenterCard."Default Sust. Account".Caption(), WorkCenterCard.Caption())); + Assert.AreEqual( + false, + WorkCenterCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, WorkCenterCard."Default CO2 Emission".Caption(), WorkCenterCard.Caption())); + Assert.AreEqual( + false, + WorkCenterCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, WorkCenterCard."Default CH4 Emission".Caption(), WorkCenterCard.Caption())); + Assert.AreEqual( + false, + WorkCenterCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldNotBeVisibleErr, WorkCenterCard."Default N2O Emission".Caption(), WorkCenterCard.Caption())); + + // [GIVEN] Close "Work Center Card". + WorkCenterCard.Close(); + + // [GIVEN] Update "Work/Machine Center Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Work/Machine Center Emissions", true); + SustainabilitySetup.Modify(true); + + // [WHEN] Open "Work Center Card". + WorkCenterCard.OpenView(); + WorkCenterCard.GoToRecord(WorkCenter); + + // [VERIFY] Verify Default Sust. fields should be visible on "Work Center Card" page If "Work/Machine Center Emissions" is enabled in Sustainability Setup. + Assert.AreEqual( + true, + WorkCenterCard."Default Sust. Account".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, WorkCenterCard."Default Sust. Account".Caption(), WorkCenterCard.Caption())); + Assert.AreEqual( + true, + WorkCenterCard."Default CO2 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, WorkCenterCard."Default CO2 Emission".Caption(), WorkCenterCard.Caption())); + Assert.AreEqual( + true, + WorkCenterCard."Default CH4 Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, WorkCenterCard."Default CH4 Emission".Caption(), WorkCenterCard.Caption())); + Assert.AreEqual( + true, + WorkCenterCard."Default N2O Emission".Visible(), + StrSubstNo(FieldShouldBeVisibleErr, WorkCenterCard."Default N2O Emission".Caption(), WorkCenterCard.Caption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeClearWhenSustAccountIsRemovedFromItem() + var + Item: Record Item; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCard: TestPage "Item Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be clear on "Item Card" page When "Default Sust. Account" is changed to blank. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create an Item. + LibraryInventory.CreateItem(Item); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Item Card". + ItemCard.OpenView(); + ItemCard.GoToRecord(Item); + ItemCard."Default Sust. Account".SetValue(AccountCode); + ItemCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + ItemCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + ItemCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [WHEN] Clear "Default Sust. Account". + ItemCard."Default Sust. Account".SetValue(''); + + // [VERIFY] Verify Default Sust. fields should be clear on "Item Card" page When "Default Sust. Account" is changed to blank. + ItemCard."Default Sust. Account".AssertEquals(''); + ItemCard."Default CO2 Emission".AssertEquals(0); + ItemCard."Default CH4 Emission".AssertEquals(0); + ItemCard."Default N2O Emission".AssertEquals(0); + ItemCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeClearWhenSustAccountIsRemovedFromItemCharge() + var + ItemCharge: Record "Item Charge"; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCharges: TestPage "Item Charges"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be clear on "Item Charges" page When "Default Sust. Account" is changed to blank. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create an Item Charge. + LibraryInventory.CreateItemCharge(ItemCharge); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Charge Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Charge Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Item Charges". + ItemCharges.OpenView(); + ItemCharges.GoToRecord(ItemCharge); + ItemCharges."Default Sust. Account".SetValue(AccountCode); + ItemCharges."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + ItemCharges."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + ItemCharges."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [WHEN] Clear "Default Sust. Account". + ItemCharges."Default Sust. Account".SetValue(''); + + // [VERIFY] Verify Default Sust. fields should be clear on "Item Charges" page When "Default Sust. Account" is changed to blank. + ItemCharges."Default Sust. Account".AssertEquals(''); + ItemCharges."Default CO2 Emission".AssertEquals(0); + ItemCharges."Default CH4 Emission".AssertEquals(0); + ItemCharges."Default N2O Emission".AssertEquals(0); + ItemCharges.Close(); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeClearWhenSustAccountIsRemovedFromResource() + var + Resource: Record Resource; + SustainabilitySetup: Record "Sustainability Setup"; + ResourceCard: TestPage "Resource Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be clear on "Resource Card" page When "Default Sust. Account" is changed to blank. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create a Resource. + LibraryResource.CreateResource(Resource, ''); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Resource Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Resource Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Resource Card". + ResourceCard.OpenView(); + ResourceCard.GoToRecord(Resource); + ResourceCard."Default Sust. Account".SetValue(AccountCode); + ResourceCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + ResourceCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + ResourceCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [WHEN] Clear "Default Sust. Account". + ResourceCard."Default Sust. Account".SetValue(''); + + // [VERIFY] Verify Default Sust. fields should be clear on "Resource Card" page When "Default Sust. Account" is changed to blank. + ResourceCard."Default Sust. Account".AssertEquals(''); + ResourceCard."Default CO2 Emission".AssertEquals(0); + ResourceCard."Default CH4 Emission".AssertEquals(0); + ResourceCard."Default N2O Emission".AssertEquals(0); + ResourceCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeClearWhenSustAccountIsRemovedFromMachineCenter() + var + MachineCenter: Record "Machine Center"; + SustainabilitySetup: Record "Sustainability Setup"; + MachineCenterCard: TestPage "Machine Center Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be clear on "Machine Center Card" page When "Default Sust. Account" is changed to blank. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create a Machine Center. + LibraryManufacturing.CreateMachineCenter(MachineCenter, '', LibraryRandom.RandDec(10, 1)); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Work/Machine Center Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Work/Machine Center Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Machine Center Card". + MachineCenterCard.OpenView(); + MachineCenterCard.GoToRecord(MachineCenter); + MachineCenterCard."Default Sust. Account".SetValue(AccountCode); + MachineCenterCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + MachineCenterCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + MachineCenterCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [WHEN] Clear "Default Sust. Account". + MachineCenterCard."Default Sust. Account".SetValue(''); + + // [VERIFY] Verify Default Sust. fields should be clear on "Machine Center Card" page When "Default Sust. Account" is changed to blank. + MachineCenterCard."Default Sust. Account".AssertEquals(''); + MachineCenterCard."Default CO2 Emission".AssertEquals(0); + MachineCenterCard."Default CH4 Emission".AssertEquals(0); + MachineCenterCard."Default N2O Emission".AssertEquals(0); + MachineCenterCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldbeClearWhenSustAccountIsRemovedFromWorkCenter() + var + WorkCenter: Record "Work Center"; + SustainabilitySetup: Record "Sustainability Setup"; + WorkCenterCard: TestPage "Work Center Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Sust. fields should be clear on "Work Center Card" page When "Default Sust. Account" is changed to blank. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create a Work Center. + LibraryManufacturing.CreateWorkCenter(WorkCenter); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Work/Machine Center Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Work/Machine Center Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Work Center Card". + WorkCenterCard.OpenView(); + WorkCenterCard.GoToRecord(WorkCenter); + WorkCenterCard."Default Sust. Account".SetValue(AccountCode); + WorkCenterCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + WorkCenterCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + WorkCenterCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [WHEN] Clear "Default Sust. Account". + WorkCenterCard."Default Sust. Account".SetValue(''); + + // [VERIFY] Verify Default Sust. fields should be clear on "Work Center Card" page When "Default Sust. Account" is changed to blank. + WorkCenterCard."Default Sust. Account".AssertEquals(''); + WorkCenterCard."Default CO2 Emission".AssertEquals(0); + WorkCenterCard."Default CH4 Emission".AssertEquals(0); + WorkCenterCard."Default N2O Emission".AssertEquals(0); + WorkCenterCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustAccountMustHaveAValueWhenDefaultEmissionIsUpdatedOnItem() + var + Item: Record Item; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCard: TestPage "Item Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero on Item. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create an Item. + LibraryInventory.CreateItem(Item); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Item Card". + ItemCard.OpenView(); + ItemCard.GoToRecord(Item); + + // [WHEN] Update "Default CO2 Emission" in Item. + asserterror ItemCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ItemCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default CH4 Emission" in Item. + asserterror ItemCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ItemCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default N2O Emission" in Item. + asserterror ItemCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ItemCard."Default Sust. Account".Caption(), Format('')); + ItemCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustAccountMustHaveAValueWhenDefaultEmissionIsUpdatedOnItemCharge() + var + ItemCharge: Record "Item Charge"; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCharges: TestPage "Item Charges"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero on Item Charge. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create an Item Charge. + LibraryInventory.CreateItemCharge(ItemCharge); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Charge Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Charge Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Item Charges". + ItemCharges.OpenView(); + ItemCharges.GoToRecord(ItemCharge); + + // [WHEN] Update "Default CO2 Emission" in Item Charge. + asserterror ItemCharges."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ItemCharges."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default CH4 Emission" in Item Charge. + asserterror ItemCharges."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ItemCharges."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default N2O Emission" in Item Charge. + asserterror ItemCharges."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ItemCharges."Default Sust. Account".Caption(), Format('')); + ItemCharges.Close(); + end; + + [Test] + procedure VerifyDefaultSustAccountMustHaveAValueWhenDefaultEmissionIsUpdatedOnResource() + var + Resource: Record Resource; + SustainabilitySetup: Record "Sustainability Setup"; + ResourceCard: TestPage "Resource Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero on Resource. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create a Resource. + LibraryResource.CreateResource(Resource, ''); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Resource Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Resource Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Resource Card". + ResourceCard.OpenView(); + ResourceCard.GoToRecord(Resource); + + // [WHEN] Update "Default CO2 Emission" in Resource. + asserterror ResourceCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ResourceCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default CH4 Emission" in Resource. + asserterror ResourceCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ResourceCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default N2O Emission" in Resource. + asserterror ResourceCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(ResourceCard."Default Sust. Account".Caption(), Format('')); + ResourceCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustAccountMustHaveAValueWhenDefaultEmissionIsUpdatedOnMachineCenter() + var + MachineCenter: Record "Machine Center"; + SustainabilitySetup: Record "Sustainability Setup"; + MachineCenterCard: TestPage "Machine Center Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero on Machine Center. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create a Machine Center. + LibraryManufacturing.CreateMachineCenter(MachineCenter, '', LibraryRandom.RandDec(10, 1)); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Work/Machine Center Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Work/Machine Center Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Machine Center Card". + MachineCenterCard.OpenView(); + MachineCenterCard.GoToRecord(MachineCenter); + + // [WHEN] Update "Default CO2 Emission" in Machine Center. + asserterror MachineCenterCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(MachineCenterCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default CH4 Emission" in Machine Center. + asserterror MachineCenterCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(MachineCenterCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default N2O Emission" in Machine Center. + asserterror MachineCenterCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(MachineCenterCard."Default Sust. Account".Caption(), Format('')); + MachineCenterCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustAccountMustHaveAValueWhenDefaultEmissionIsUpdatedOnWorkCenter() + var + WorkCenter: Record "Work Center"; + SustainabilitySetup: Record "Sustainability Setup"; + WorkCenterCard: TestPage "Work Center Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero on Work Center. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create a Work Center. + LibraryManufacturing.CreateWorkCenter(WorkCenter); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Work/Machine Center Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Work/Machine Center Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Open "Work Center Card". + WorkCenterCard.OpenView(); + WorkCenterCard.GoToRecord(WorkCenter); + + // [WHEN] Update "Default CO2 Emission" in Work Center. + asserterror WorkCenterCard."Default CO2 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(WorkCenterCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default CH4 Emission" in Work Center. + asserterror WorkCenterCard."Default CH4 Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(WorkCenterCard."Default Sust. Account".Caption(), Format('')); + + // [WHEN] Update "Default N2O Emission" in Work Center. + asserterror WorkCenterCard."Default N2O Emission".SetValue(LibraryRandom.RandInt(10)); + + // [VERIFY] Verify "Default Sust. Account" should throw error if it's blank When Default Emission Is non-Zero. + Assert.ExpectedTestFieldError(WorkCenterCard."Default Sust. Account".Caption(), Format('')); + WorkCenterCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustAccountMustBePopulateFromItemCategoryInItem() + var + Item: Record Item; + ItemCategory: Record "Item Category"; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCard: TestPage "Item Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify "Default Sust. Account" must be pouplated from Item Category in Item. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create an Item Category with "Default Sust. Account". + LibraryInventory.CreateItemCategory(ItemCategory); + ItemCategory.Validate("Default Sust. Account", AccountCode); + ItemCategory.Modify(true); + + // [WHEN] Create an Item with Item Category. + LibraryInventory.CreateItem(Item); + Item.Validate("Item Category Code", ItemCategory.Code); + Item.Modify(true); + + // [GIVEN] Open "Item Card". + ItemCard.OpenView(); + ItemCard.GoToRecord(Item); + + // [VERIFY] Verify "Default Sust. Account" must be pouplated from Item Category in Item. + ItemCard."Default Sust. Account".AssertEquals(AccountCode); + ItemCard.Close(); + end; + + [Test] + [HandlerFunctions('ConfirmHandler')] + procedure VerifyDefaultEmissionFieldShouldBeClearWhenReplenishmentSystemIsNonPurchaseOnItem() + var + Item: Record Item; + SustainabilitySetup: Record "Sustainability Setup"; + ItemCard: TestPage "Item Card"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Emissions field should be clear when Replenishment System is set to non-purchase on item. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create an Item With Default Sust fields. + LibraryInventory.CreateItem(Item); + Item.Validate("Default Sust. Account", AccountCode); + Item.Validate("Default CH4 Emission", LibraryRandom.RandInt(10)); + Item.Validate("Default CO2 Emission", LibraryRandom.RandInt(10)); + Item.Validate("Default N2O Emission", LibraryRandom.RandInt(10)); + Item.Modify(true); + + // [GIVEN] Save Confirmation Message. + LibraryVariableStorage.Enqueue(StrSubstNo(ConfirmationForClearEmissionInfoQst, Item."Replenishment System"::"Prod. Order")); + + // [GIVEN] Open "Item Card". + ItemCard.OpenView(); + ItemCard.GoToRecord(Item); + + // [WHEN] Update "Replenishment System" to non-purchase in Item. + ItemCard."Replenishment System".SetValue(Item."Replenishment System"::"Prod. Order"); + + // [VERIFY] Verify Default Emissions field should be clear when Replenishment System is set to non-purchase on item. + ItemCard."Default Sust. Account".AssertEquals(''); + ItemCard."Default CH4 Emission".AssertEquals(0); + ItemCard."Default CO2 Emission".AssertEquals(0); + ItemCard."Default N2O Emission".AssertEquals(0); + ItemCard.Close(); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldBeFlowInPurchaseLineFromItem() + var + Item: Record Item; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + SustainabilitySetup: Record "Sustainability Setup"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Sust fields should be poupulate to Purchase line from Item. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create an Item With Default Sust fields. + LibraryInventory.CreateItem(Item); + Item.Validate("Default Sust. Account", AccountCode); + Item.Validate("Default CH4 Emission", LibraryRandom.RandInt(10)); + Item.Validate("Default CO2 Emission", LibraryRandom.RandInt(10)); + Item.Validate("Default N2O Emission", LibraryRandom.RandInt(10)); + Item.Modify(true); + + // [GIVEN] Create Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + PurchaseLine.Init(); + PurchaseLine.Validate("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.Validate("Document No.", PurchaseHeader."No."); + PurchaseLine.Validate(Type, PurchaseLine.Type::Item); + PurchaseLine.Insert(); + + // [WHEN] Update "No." in Purchase Line. + PurchaseLine.Validate("No.", Item."No."); + PurchaseLine.Modify(true); + + // [VERIFY] Verify Default Sust fields should be poupulate to Purchase line from Item. + Assert.AreEqual( + Item."Default Sust. Account", + PurchaseLine."Sust. Account No.", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Sust. Account No."), Item."Default Sust. Account", PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Emission CH4", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), 0, PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Emission CO2", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), 0, PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Emission N2O", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), 0, PurchaseLine.TableCaption())); + + // [WHEN] Update Quantity in Purchase Line. + PurchaseLine.Validate(Quantity, LibraryRandom.RandInt(10)); + PurchaseLine.Modify(true); + + // [VERIFY] Verify Default Sust fields should be poupulate to Purchase line from Item. + Assert.AreEqual( + Item."Default Sust. Account", + PurchaseLine."Sust. Account No.", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Sust. Account No."), Item."Default Sust. Account", PurchaseLine.TableCaption())); + Assert.AreEqual( + PurchaseLine.Quantity * Item."Default CH4 Emission", + PurchaseLine."Emission CH4", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), PurchaseLine.Quantity * Item."Default CH4 Emission", PurchaseLine.TableCaption())); + Assert.AreEqual( + PurchaseLine.Quantity * Item."Default CO2 Emission", + PurchaseLine."Emission CO2", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), PurchaseLine.Quantity * Item."Default CO2 Emission", PurchaseLine.TableCaption())); + Assert.AreEqual( + PurchaseLine.Quantity * Item."Default N2O Emission", + PurchaseLine."Emission N2O", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), PurchaseLine.Quantity * Item."Default N2O Emission", PurchaseLine.TableCaption())); + end; + + [Test] + procedure VerifyDefaultSustFieldShouldBeFlowInPurchaseLineFromGLAccount() + var + GLAccount: Record "G/L Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + SustainabilitySetup: Record "Sustainability Setup"; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 537413] Verify Default Sust fields should be poupulate to Purchase line from G/L Account. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Get Sustainability Setup. + SustainabilitySetup.Get(); + + // [GIVEN] Update "Item Emissions" to true in Sustainability Setup. + SustainabilitySetup.Validate("Item Emissions", true); + SustainabilitySetup.Modify(true); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + + // [GIVEN] Create a G/L Account With Default Sust fields. + GLAccount.Get(LibraryERM.CreateGLAccountWithPurchSetup()); + GLAccount.Validate("Direct Posting", true); + GLAccount.Validate("Default Sust. Account", AccountCode); + GLAccount.Modify(true); + + // [GIVEN] Create Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + PurchaseLine.Init(); + PurchaseLine.Validate("Document Type", PurchaseHeader."Document Type"); + PurchaseLine.Validate("Document No.", PurchaseHeader."No."); + PurchaseLine.Validate(Type, PurchaseLine.Type::"G/L Account"); + PurchaseLine.Insert(); + + // [WHEN] Update "No." in Purchase Line. + PurchaseLine.Validate("No.", GLAccount."No."); + PurchaseLine.Modify(true); + + // [VERIFY] Verify Default Sust fields should be poupulate to Purchase line from Item. + Assert.AreEqual( + GLAccount."Default Sust. Account", + PurchaseLine."Sust. Account No.", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Sust. Account No."), GLAccount."Default Sust. Account", PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Emission CH4", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), 0, PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Emission CO2", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), 0, PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Emission N2O", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Emission CH4"), 0, PurchaseLine.TableCaption())); + end; + local procedure CreateSustainabilityAccount(var AccountCode: Code[20]; var CategoryCode: Code[20]; var SubcategoryCode: Code[20]; i: Integer): Record "Sustainability Account" begin CreateSustainabilitySubcategory(CategoryCode, SubcategoryCode, i); @@ -771,4 +1935,11 @@ codeunit 148187 "Sust. Certificate Test" PurchInvHeader.Get(PostedDocNumber); CorrectPostedPurchInvoice.CancelPostedInvoice(PurchInvHeader); end; + + [ConfirmHandler] + procedure ConfirmHandler(Question: Text[1024]; var Reply: Boolean) + begin + Assert.ExpectedMessage(LibraryVariableStorage.DequeueText(), Question); + Reply := true; + end; } \ No newline at end of file diff --git a/Apps/W1/Sustainability/test/src/SustValueEntryTest.Codeunit.al b/Apps/W1/Sustainability/test/src/SustValueEntryTest.Codeunit.al new file mode 100644 index 0000000000..c24617bb8e --- /dev/null +++ b/Apps/W1/Sustainability/test/src/SustValueEntryTest.Codeunit.al @@ -0,0 +1,1193 @@ +codeunit 148190 "Sust. Value Entry Test" +{ + Subtype = Test; + TestPermissions = Disabled; + + var + Assert: Codeunit "Assert"; + LibrarySustainability: Codeunit "Library - Sustainability"; + LibraryUtility: Codeunit "Library - Utility"; + LibraryRandom: Codeunit "Library - Random"; + LibraryPurchase: Codeunit "Library - Purchase"; + LibraryInventory: Codeunit "Library - Inventory"; + LibraryERM: Codeunit "Library - ERM"; + LibraryVariableStorage: Codeunit "Library - Variable Storage"; + ValueMustBeEqualErr: Label '%1 must be equal to %2 in the %3.', Comment = '%1 = Field Caption , %2 = Expected Value, %3 = Table Caption'; + AccountCodeLbl: Label 'AccountCode%1', Locked = true, Comment = '%1 = Number'; + CategoryCodeLbl: Label 'CategoryCode%1', Locked = true, Comment = '%1 = Number'; + SubcategoryCodeLbl: Label 'SubcategoryCode%1', Locked = true, Comment = '%1 = Number'; + + [Test] + procedure VerifySustainabilityValueEntryShouldBeCreatedWhenPurchDocumentIsPosted() + var + SustainabilityLedgerEntry: Record "Sustainability Ledger Entry"; + SustainabilityValueEntry: Record "Sustainability Value Entry"; + SustainabilityAccount: Record "Sustainability Account"; + EmissionFee: array[3] of Record "Emission Fee"; + PurchaseHeader: Record "Purchase Header"; + CountryRegion: Record "Country/Region"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + ExpectedCO2eEmission: Decimal; + ExpectedCarbonFee: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + PostedInvoiceNo: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Value entry should be created when the purchase document is posted. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create Country/Region. + LibraryERM.CreateCountryRegion(CountryRegion); + + // [GIVEN] Create Emission Fee With Emission Scope and Country/Region. + CreateEmissionFeeWithEmissionScope(EmissionFee, SustainabilityAccount."Emission Scope", CountryRegion.Code); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + PurchaseHeader."Buy-from Country/Region Code" := CountryRegion.Code; + PurchaseHeader.Modify(); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandIntInRange(10, 10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2,Emission CH4,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [GIVEN] Save Expected CO2e Emission and Carbon Fee. + ExpectedCO2eEmission := EmissionCH4 * EmissionFee[1]."Carbon Equivalent Factor" + EmissionCO2 * EmissionFee[2]."Carbon Equivalent Factor" + EmissionN2O * EmissionFee[3]."Carbon Equivalent Factor"; + ExpectedCarbonFee := ExpectedCO2eEmission * (EmissionFee[1]."Carbon Fee" + EmissionFee[2]."Carbon Fee" + EmissionFee[3]."Carbon Fee"); + + // [WHEN] Post a Purchase Document. + PostedInvoiceNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + + // [VERIFY] Verify Sustainability Value entry and Sustainability Ledger Entry should be created when the purchase document is posted. + SustainabilityValueEntry.SetRange("Document No.", PostedInvoiceNo); + SustainabilityValueEntry.FindFirst(); + Assert.RecordCount(SustainabilityValueEntry, 1); + Assert.AreEqual( + ExpectedCO2eEmission, + SustainabilityValueEntry."CO2e Amount (Actual)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Actual)"), ExpectedCO2eEmission, SustainabilityValueEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityValueEntry."CO2e Amount (Expected)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Expected)"), 0, SustainabilityValueEntry.TableCaption())); + + SustainabilityLedgerEntry.SetRange("Document No.", PostedInvoiceNo); + SustainabilityLedgerEntry.FindFirst(); + Assert.AreEqual( + EmissionCO2, + SustainabilityLedgerEntry."Emission CO2", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission CO2"), EmissionCO2, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + EmissionCH4, + SustainabilityLedgerEntry."Emission CH4", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission CH4"), EmissionCH4, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + EmissionN2O, + SustainabilityLedgerEntry."Emission N2O", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission N2O"), EmissionN2O, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + ExpectedCO2eEmission, + SustainabilityLedgerEntry."CO2e Emission", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("CO2e Emission"), ExpectedCO2eEmission, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + ExpectedCarbonFee, + SustainabilityLedgerEntry."Carbon Fee", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Carbon Fee"), ExpectedCarbonFee, SustainabilityLedgerEntry.TableCaption())); + end; + + [Test] + procedure VerifySustainabilityValueEntryShouldBeCreatedWhenPurchDocumentIsPartiallyPosted() + var + SustainabilityLedgerEntry: Record "Sustainability Ledger Entry"; + SustainabilityValueEntry: Record "Sustainability Value Entry"; + SustainabilityAccount: Record "Sustainability Account"; + EmissionFee: array[3] of Record "Emission Fee"; + PurchaseHeader: Record "Purchase Header"; + CountryRegion: Record "Country/Region"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + Quantity: Decimal; + ExpectedCO2eEmission: Decimal; + ExpectedCarbonFee: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + PostedInvoiceNo: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Value entry should be created when the purchase document is partially posted. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create Country/Region. + LibraryERM.CreateCountryRegion(CountryRegion); + + // [GIVEN] Create Emission Fee With Emission Scope and Country/Region. + CreateEmissionFeeWithEmissionScope(EmissionFee, SustainabilityAccount."Emission Scope", CountryRegion.Code); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + PurchaseHeader."Buy-from Country/Region Code" := CountryRegion.Code; + PurchaseHeader.Modify(); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandIntInRange(10, 10)); + + // [GIVEN] Save Quanity. + Quantity := PurchaseLine.Quantity / 2; + + // [GIVEN] Update Sustainability Account No.,Emission CO2,Emission CH4,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Qty. to Receive", Quantity); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * Quantity; + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * Quantity; + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * Quantity; + + // [GIVEN] Save Expected CO2e Emission and Carbon Fee. + ExpectedCO2eEmission := EmissionCH4 * EmissionFee[1]."Carbon Equivalent Factor" + EmissionCO2 * EmissionFee[2]."Carbon Equivalent Factor" + EmissionN2O * EmissionFee[3]."Carbon Equivalent Factor"; + ExpectedCarbonFee := ExpectedCO2eEmission * (EmissionFee[1]."Carbon Fee" + EmissionFee[2]."Carbon Fee" + EmissionFee[3]."Carbon Fee"); + + // [WHEN] Post a Purchase Document. + PostedInvoiceNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + + // [VERIFY] Verify Sustainability Value entry and Sustainability Ledger Entry should be created when the purchase document is partially posted. + SustainabilityValueEntry.SetRange("Document No.", PostedInvoiceNo); + SustainabilityValueEntry.FindFirst(); + Assert.RecordCount(SustainabilityValueEntry, 1); + Assert.AreEqual( + ExpectedCO2eEmission, + SustainabilityValueEntry."CO2e Amount (Actual)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Actual)"), ExpectedCO2eEmission, SustainabilityValueEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityValueEntry."CO2e Amount (Expected)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Expected)"), 0, SustainabilityValueEntry.TableCaption())); + + SustainabilityLedgerEntry.SetRange("Document No.", PostedInvoiceNo); + SustainabilityLedgerEntry.FindFirst(); + Assert.AreEqual( + EmissionCO2, + SustainabilityLedgerEntry."Emission CO2", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission CO2"), EmissionCO2, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + EmissionCH4, + SustainabilityLedgerEntry."Emission CH4", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission CH4"), EmissionCH4, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + EmissionN2O, + SustainabilityLedgerEntry."Emission N2O", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission N2O"), EmissionN2O, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + ExpectedCO2eEmission, + SustainabilityLedgerEntry."CO2e Emission", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("CO2e Emission"), ExpectedCO2eEmission, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + ExpectedCarbonFee, + SustainabilityLedgerEntry."Carbon Fee", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Carbon Fee"), ExpectedCarbonFee, SustainabilityLedgerEntry.TableCaption())); + end; + + [Test] + procedure VerifySustainabilityValueEntryShouldBeKnockedOffWhenCancelCreditMemoIsPosted() + var + SustainabilityLedgerEntry: Record "Sustainability Ledger Entry"; + SustainabilityValueEntry: Record "Sustainability Value Entry"; + SustainabilityAccount: Record "Sustainability Account"; + EmissionFee: array[3] of Record "Emission Fee"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Value entry should be Kocked Off when the Cancel Credit Memo is posted. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create Emission Fee With Emission Scope. + CreateEmissionFeeWithEmissionScope(EmissionFee, SustainabilityAccount."Emission Scope", ''); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandIntInRange(10, 10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [GIVEN] Update Reason Code in Purchase Header. + UpdateReasonCodeinPurchaseHeader(PurchaseHeader); + + // [WHEN] Post a Purchase Document. + PostAndVerifyCancelCreditMemo(PurchaseHeader); + + // [VERIFY] Verify Sustainability Value Entry and Sustainability ledger Entry should be Kocked Off when the Cancel Credit Memo is posted. + SustainabilityValueEntry.SetRange("Item No.", PurchaseLine."No."); + SustainabilityValueEntry.CalcSums("CO2e Amount (Actual)", "CO2e Amount (Expected)"); + Assert.RecordCount(SustainabilityValueEntry, 2); + Assert.AreEqual( + 0, + SustainabilityValueEntry."CO2e Amount (Actual)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Actual)"), 0, SustainabilityValueEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityValueEntry."CO2e Amount (Expected)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Expected)"), 0, SustainabilityValueEntry.TableCaption())); + + SustainabilityLedgerEntry.SetRange("Account No.", AccountCode); + SustainabilityLedgerEntry.CalcSums("Emission CO2", "Emission CH4", "Emission N2O", "CO2e Emission", "Carbon Fee"); + Assert.AreEqual( + 0, + SustainabilityLedgerEntry."Emission CO2", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission CO2"), 0, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityLedgerEntry."Emission CH4", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission CH4"), 0, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityLedgerEntry."Emission N2O", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Emission N2O"), 0, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityLedgerEntry."CO2e Emission", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("CO2e Emission"), 0, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityLedgerEntry."Carbon Fee", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Carbon Fee"), 0, SustainabilityLedgerEntry.TableCaption())); + end; + + [Test] + procedure VerifySustainabilityRelatedEntriesWhenPurchDocumentIsPartiallyPosted() + var + SustainabilityLedgerEntry: Record "Sustainability Ledger Entry"; + SustainabilityValueEntry: Record "Sustainability Value Entry"; + SustainabilityAccount: Record "Sustainability Account"; + EmissionFee: array[3] of Record "Emission Fee"; + PurchaseHeader: Record "Purchase Header"; + CountryRegion: Record "Country/Region"; + PurchaseLine: Record "Purchase Line"; + PurchRcptLine: Record "Purch. Rcpt. Line"; + PostedPurchInvoiceSubform: TestPage "Posted Purch. Invoice Subform"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + Quantity: Decimal; + ExpectedCO2eEmission: Decimal; + ExpectedCarbonFee: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + PostedNo: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability related entries When Purchase Document Is Partially Posted. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create Country/Region. + LibraryERM.CreateCountryRegion(CountryRegion); + + // [GIVEN] Create Emission Fee With Emission Scope and Country/Region. + CreateEmissionFeeWithEmissionScope(EmissionFee, SustainabilityAccount."Emission Scope", CountryRegion.Code); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + PurchaseHeader."Buy-from Country/Region Code" := CountryRegion.Code; + PurchaseHeader.Modify(); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandInt(10)); + + // [GIVEN] Save Quanity. + Quantity := PurchaseLine.Quantity / 2; + + // [GIVEN] Update Sustainability Account No.,Emission CO2,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Qty. to Receive", Quantity); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * Quantity; + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * Quantity; + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * Quantity; + + // [GIVEN] Save Expected CO2e Emission and Carbon Fee. + ExpectedCO2eEmission := EmissionCH4 * EmissionFee[1]."Carbon Equivalent Factor" + EmissionCO2 * EmissionFee[2]."Carbon Equivalent Factor" + EmissionN2O * EmissionFee[3]."Carbon Equivalent Factor"; + ExpectedCarbonFee := ExpectedCO2eEmission * (EmissionFee[1]."Carbon Fee" + EmissionFee[2]."Carbon Fee" + EmissionFee[3]."Carbon Fee"); + + // [WHEN] Post a Purchase Document With Receiving. + PostedNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, false); + + // [VERIFY] Verify Sustainability Fields In Purchase Receipt Line and Sustainability Value Entry should be created when Purchase Document is received. + PurchRcptLine.SetRange("Buy-from Vendor No.", PurchaseLine."Buy-from Vendor No."); + PurchRcptLine.FindFirst(); + Assert.AreEqual( + AccountCode, + PurchRcptLine."Sust. Account No.", + StrSubstNo(ValueMustBeEqualErr, PurchRcptLine.FieldCaption("Sust. Account No."), AccountCode, PurchRcptLine.TableCaption())); + Assert.AreEqual( + EmissionCH4, + PurchRcptLine."Emission CH4", + StrSubstNo(ValueMustBeEqualErr, PurchRcptLine.FieldCaption("Emission CH4"), EmissionCH4, PurchRcptLine.TableCaption())); + Assert.AreEqual( + EmissionCO2, + PurchRcptLine."Emission CO2", + StrSubstNo(ValueMustBeEqualErr, PurchRcptLine.FieldCaption("Emission CO2"), EmissionCO2, PurchRcptLine.TableCaption())); + Assert.AreEqual( + EmissionN2O, + PurchRcptLine."Emission N2O", + StrSubstNo(ValueMustBeEqualErr, PurchRcptLine.FieldCaption("Emission N2O"), EmissionN2O, PurchRcptLine.TableCaption())); + + SustainabilityValueEntry.SetRange("Document No.", PostedNo); + SustainabilityValueEntry.FindFirst(); + Assert.RecordCount(SustainabilityValueEntry, 1); + Assert.AreEqual( + ExpectedCO2eEmission, + SustainabilityValueEntry."CO2e Amount (Expected)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Expected)"), ExpectedCO2eEmission, SustainabilityValueEntry.TableCaption())); + Assert.AreEqual( + 0, + SustainabilityValueEntry."CO2e Amount (Actual)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Actual)"), 0, SustainabilityValueEntry.TableCaption())); + Assert.RecordCount(SustainabilityLedgerEntry, 0); + + // [WHEN] Post a Purchase Document With Invoicing. + PostedNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, false, true); + + // [VERIFY] Verify Sustainability Fields In Purchase Invoice Line, Sustainability Value Entry and Sustainability Ledger Entry should be created when Purchase Document is invoiced. + PostedPurchInvoiceSubform.OpenEdit(); + PostedPurchInvoiceSubform.FILTER.SetFilter("Document No.", PostedNo); + PostedPurchInvoiceSubform."Sust. Account No.".AssertEquals(AccountCode); + PostedPurchInvoiceSubform."Emission CH4".AssertEquals(EmissionCH4); + PostedPurchInvoiceSubform."Emission CO2".AssertEquals(EmissionCO2); + PostedPurchInvoiceSubform."Emission N2O".AssertEquals(EmissionN2O); + + SustainabilityValueEntry.SetRange("Document No.", PostedNo); + SustainabilityValueEntry.FindFirst(); + Assert.RecordCount(SustainabilityValueEntry, 1); + Assert.AreEqual( + ExpectedCO2eEmission, + SustainabilityValueEntry."CO2e Amount (Actual)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Actual)"), ExpectedCO2eEmission, SustainabilityValueEntry.TableCaption())); + Assert.AreEqual( + -ExpectedCO2eEmission, + SustainabilityValueEntry."CO2e Amount (Expected)", + StrSubstNo(ValueMustBeEqualErr, SustainabilityValueEntry.FieldCaption("CO2e Amount (Expected)"), -ExpectedCO2eEmission, SustainabilityValueEntry.TableCaption())); + + SustainabilityLedgerEntry.SetRange("Document No.", PostedNo); + SustainabilityLedgerEntry.FindFirst(); + Assert.RecordCount(SustainabilityLedgerEntry, 1); + Assert.AreEqual( + ExpectedCO2eEmission, + SustainabilityLedgerEntry."CO2e Emission", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("CO2e Emission"), ExpectedCO2eEmission, SustainabilityLedgerEntry.TableCaption())); + Assert.AreEqual( + ExpectedCarbonFee, + SustainabilityLedgerEntry."Carbon Fee", + StrSubstNo(ValueMustBeEqualErr, SustainabilityLedgerEntry.FieldCaption("Carbon Fee"), ExpectedCarbonFee, SustainabilityLedgerEntry.TableCaption())); + end; + + [Test] + procedure VerifyPostedEmissionFieldsInPurchaseLine() + var + SustainabilityAccount: Record "Sustainability Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 541865] Verify Posted Emission fields in Purchase Line. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandIntInRange(10, 10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(20)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(5)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(5)); + PurchaseLine.Modify(); + + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + + // [WHEN] Post a Purchase Document With Receiving. + LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, false); + + // [VERIFY] Verify Posted Emission fields in Purchase Line When Purchase Document is received. + PurchaseLine.Get(PurchaseLine."Document Type", PurchaseLine."Document No.", PurchaseLine."Line No."); + Assert.AreEqual( + 0, + PurchaseLine."Posted Emission CO2", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission CO2"), 0, PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Posted Emission CH4", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission CH4"), 0, PurchaseLine.TableCaption())); + Assert.AreEqual( + 0, + PurchaseLine."Posted Emission N2O", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission N2O"), 0, PurchaseLine.TableCaption())); + + // [WHEN] Post a Purchase Document With Invoicing. + LibraryPurchase.PostPurchaseDocument(PurchaseHeader, false, true); + + // [VERIFY] Verify Posted Emission fields in Purchase Line When Purchase Document is invoiced. + PurchaseLine.Get(PurchaseLine."Document Type", PurchaseLine."Document No.", PurchaseLine."Line No."); + Assert.AreEqual( + EmissionCO2, + PurchaseLine."Posted Emission CO2", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission CO2"), EmissionCO2, PurchaseLine.TableCaption())); + Assert.AreEqual( + EmissionCH4, + PurchaseLine."Posted Emission CH4", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission CH4"), EmissionCH4, PurchaseLine.TableCaption())); + Assert.AreEqual( + EmissionN2O, + PurchaseLine."Posted Emission N2O", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission N2O"), EmissionN2O, PurchaseLine.TableCaption())); + + // [GIVEN] Update "Qty. to Receive" in Purchase line. + PurchaseHeader.Validate("Vendor Invoice No.", LibraryUtility.GenerateGUID()); + PurchaseHeader.Modify(); + + // [GIVEN] Update "Qty. to Receive" in Purchase line. + PurchaseLine.Get(PurchaseLine."Document Type", PurchaseLine."Document No.", PurchaseLine."Line No."); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(2, 2)); + PurchaseLine.Modify(); + + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(7, 7); + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(7, 7); + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(7, 7); + + // [WHEN] Post a Purchase Document With Receiving and Invoicing. + LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + + // [VERIFY] Verify Posted Emission fields in Purchase Line When Purchase Document is received and invoiced. + PurchaseLine.Get(PurchaseLine."Document Type", PurchaseLine."Document No.", PurchaseLine."Line No."); + Assert.AreEqual( + EmissionCO2, + PurchaseLine."Posted Emission CO2", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission CO2"), EmissionCO2, PurchaseLine.TableCaption())); + Assert.AreEqual( + EmissionCH4, + PurchaseLine."Posted Emission CH4", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission CH4"), EmissionCH4, PurchaseLine.TableCaption())); + Assert.AreEqual( + EmissionN2O, + PurchaseLine."Posted Emission N2O", + StrSubstNo(ValueMustBeEqualErr, PurchaseLine.FieldCaption("Posted Emission N2O"), EmissionN2O, PurchaseLine.TableCaption())); + end; + + [Test] + [HandlerFunctions('PurchaseOrderStatisticsPageHandler')] + procedure VerifySustainabilityFieldsInPurchaseOrderStatistics() + var + SustainabilityAccount: Record "Sustainability Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Fields in Purchase Order Statistics. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandIntInRange(10, 10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [WHEN] Save Sustainability fields. + LibraryVariableStorage.Enqueue(EmissionCO2); + LibraryVariableStorage.Enqueue(EmissionCH4); + LibraryVariableStorage.Enqueue(EmissionN2O); + LibraryVariableStorage.Enqueue(0); + LibraryVariableStorage.Enqueue(0); + LibraryVariableStorage.Enqueue(0); + + // [VERIFY] Verify Sustainability fields in Page "Purchase Order Statistics" before posting of Purchase order. + OpenPurchaseOrderStatistics(PurchaseHeader."No."); + LibraryVariableStorage.Clear(); + + // [GIVEN] Post a Purchase Document with Receiving. + LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, false); + + // [WHEN] Save Sustainability fields. + LibraryVariableStorage.Enqueue(EmissionCO2); + LibraryVariableStorage.Enqueue(EmissionCH4); + LibraryVariableStorage.Enqueue(EmissionN2O); + LibraryVariableStorage.Enqueue(0); + LibraryVariableStorage.Enqueue(0); + LibraryVariableStorage.Enqueue(0); + + // [VERIFY] Verify Sustainability fields in Page "Purchase Order Statistics" after partially posting of Purchase order with only Receiving. + OpenPurchaseOrderStatistics(PurchaseHeader."No."); + LibraryVariableStorage.Clear(); + + // [GIVEN] Post a Purchase Document with Invoicing. + LibraryPurchase.PostPurchaseDocument(PurchaseHeader, false, true); + + // [WHEN] Save Sustainability fields. + LibraryVariableStorage.Enqueue(EmissionCO2); + LibraryVariableStorage.Enqueue(EmissionCH4); + LibraryVariableStorage.Enqueue(EmissionN2O); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + + // [VERIFY] Verify Sustainability fields in Page "Purchase Order Statistics" after partially posting of Purchase order with only Invoicing. + OpenPurchaseOrderStatistics(PurchaseHeader."No."); + LibraryVariableStorage.Clear(); + + // [GIVEN] Update "Qty. to Receive" in Purchase line. + PurchaseHeader.Validate("Vendor Invoice No.", LibraryUtility.GenerateGUID()); + PurchaseHeader.Modify(); + + // [GIVEN] Update "Qty. to Receive" in Purchase line. + PurchaseLine.Get(PurchaseLine."Document Type", PurchaseLine."Document No.", PurchaseLine."Line No."); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(2, 2)); + PurchaseLine.Modify(); + + // [GIVEN] Post a Purchase Document with Receiving and Invoicing. + LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + + // [WHEN] Save Sustainability fields. + LibraryVariableStorage.Enqueue(EmissionCO2); + LibraryVariableStorage.Enqueue(EmissionCH4); + LibraryVariableStorage.Enqueue(EmissionN2O); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(7, 7)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(7, 7)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(7, 7)); + + // [VERIFY] Verify Sustainability fields in Page "Purchase Order Statistics" after partially posting of Purchase order with Receiving and Invoicing. + OpenPurchaseOrderStatistics(PurchaseHeader."No."); + LibraryVariableStorage.Clear(); + end; + + [Test] + procedure VerifySustainabilityFieldsInPostedPurchaseInvoiceStatisticsWhenPurchaseDocumentIsPartiallyPosted() + var + SustainabilityAccount: Record "Sustainability Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + PostedInvoiceNo: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Fields in Posted Purchase Invoice Statistics When Purchase Document is partially posted. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandIntInRange(10, 10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [GIVEN] Save Sustainability fields. + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + + // [WHEN] Post Purchase Document with Receiving and Invoicing. + PostedInvoiceNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + + // [VERIFY] Verify Sustainability fields in Page "Posted Purchase Invoice Statistics" When Purchase document is partially posted. + VerifyPostedPurchaseInvoiceStatistics(PostedInvoiceNo); + LibraryVariableStorage.Clear(); + + // [GIVEN] Update "Qty. to Receive" in Purchase line. + PurchaseHeader.Validate("Vendor Invoice No.", LibraryUtility.GenerateGUID()); + PurchaseHeader.Modify(); + + // [GIVEN] Update "Qty. to Receive" in Purchase line. + PurchaseLine.Get(PurchaseLine."Document Type", PurchaseLine."Document No.", PurchaseLine."Line No."); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(2, 2)); + PurchaseLine.Modify(); + + // [GIVEN] Post a Purchase Document with Receiving and Invoicing. + PostedInvoiceNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + + // [WHEN] Save Sustainability fields. + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(2, 2)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(2, 2)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(2, 2)); + + // [VERIFY] Verify Sustainability fields in Page "Posted Purchase Invoice Statistics" When Purchase document is partially posted. + VerifyPostedPurchaseInvoiceStatistics(PostedInvoiceNo); + LibraryVariableStorage.Clear(); + end; + + [Test] + [HandlerFunctions('GLPostingPreviewHandler')] + procedure VerifySustainabilityValueEntryShouldBeCreatedDuringPreviewPostingOfPurchaseOrder() + var + SustainabilityAccount: Record "Sustainability Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Value Entry and Sustainability Ledger Entry should be created during Preview Posting of purchase order. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandInt(10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [GIVEN] Save a transaction. + Commit(); + + // [WHEN] Post a Purchase Document. + asserterror LibraryPurchase.PreviewPostPurchaseDocument(PurchaseHeader); + + // [VERIFY] No errors occured - preview mode error only. + Assert.ExpectedError(''); + end; + + [Test] + [HandlerFunctions('GLPostingPreviewHandlerForOnlyReceived')] + procedure VerifySustainabilityValueEntryShouldBeCreatedDuringPreviewPostingOfPurchaseOrderWhenDocumentIsReceived() + var + SustainabilityAccount: Record "Sustainability Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Value Entry should be created during Preview Posting of purchase order When Document is received. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandInt(10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); + PurchaseLine.Validate("Qty. to Invoice", 0); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [GIVEN] Save a transaction. + Commit(); + + // [WHEN] Post a Purchase Document. + asserterror LibraryPurchase.PreviewPostPurchaseDocument(PurchaseHeader); + + // [VERIFY] No errors occured - preview mode error only. + Assert.ExpectedError(''); + end; + + [Test] + [HandlerFunctions('NavigateFindEntriesHandler')] + procedure VerifySustainabilityValueEntryShouldBeShownWhenNavigatingPostedPurchaseInvoice() + var + SustainabilityAccount: Record "Sustainability Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchaseInvHeader: Record "Purch. Inv. Header"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + PostedPurchInvNo: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Value Entry and Sustainability Ledger Entry should be shown when navigating Posted Purchase Invoice through NavigateFindEntriesHandler handler. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandInt(10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [WHEN] Post a Purchase Document. + PostedPurchInvNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + + // [VERIFY] Verify Sustainability Value Entry and Sustainability Ledger Entry should be shown when navigating Posted Purchase Invoice through NavigateFindEntriesHandler handler. + PurchaseInvHeader.Get(PostedPurchInvNo); + PurchaseInvHeader.Navigate(); + end; + + [Test] + [HandlerFunctions('NavigateFindEntriesHandlerForOnlyReceived')] + procedure VerifySustainabilityValueEntryShouldBeShownWhenNavigatingPostedPurchaseReceipt() + var + SustainabilityAccount: Record "Sustainability Account"; + PurchaseHeader: Record "Purchase Header"; + PurchaseLine: Record "Purchase Line"; + PurchaseRcptHeader: Record "Purch. Rcpt. Header"; + EmissionCO2: Decimal; + EmissionCH4: Decimal; + EmissionN2O: Decimal; + CategoryCode: Code[20]; + SubcategoryCode: Code[20]; + AccountCode: Code[20]; + PostedPurchNo: Code[20]; + begin + // [SCENARIO 541865] Verify Sustainability Value Entry should be shown when navigating Posted Purchase Receipt through NavigateFindEntriesHandler handler. + LibrarySustainability.CleanUpBeforeTesting(); + + // [GIVEN] Create a Sustainability Account. + CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); + SustainabilityAccount.Get(AccountCode); + + // [GIVEN] Generate Emission. + EmissionCO2 := LibraryRandom.RandIntInRange(100, 100); + EmissionCH4 := LibraryRandom.RandIntInRange(200, 200); + EmissionN2O := LibraryRandom.RandIntInRange(300, 300); + + // [GIVEN] Create a Purchase Header. + LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); + + // [GIVEN] Create a Purchase Line. + LibraryPurchase.CreatePurchaseLine( + PurchaseLine, + PurchaseHeader, + "Purchase Line Type"::Item, + LibraryInventory.CreateItemNo(), + LibraryRandom.RandInt(10)); + + // [GIVEN] Update Sustainability Account No.,Emission CO2 ,Emission CH4 ,Emission N2O. + PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 100)); + PurchaseLine.Validate("Sust. Account No.", AccountCode); + PurchaseLine.Validate("Emission CO2", EmissionCO2); + PurchaseLine.Validate("Emission CH4", EmissionCH4); + PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Modify(); + + // [WHEN] Post a Purchase Document. + PostedPurchNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, false); + + // [VERIFY] Verify Sustainability Value Entry should be shown when navigating Posted Purchase Receipt through NavigateFindEntriesHandler handler. + PurchaseRcptHeader.Get(PostedPurchNo); + PurchaseRcptHeader.Navigate(); + end; + + local procedure CreateSustainabilityAccount(var AccountCode: Code[20]; var CategoryCode: Code[20]; var SubcategoryCode: Code[20]; i: Integer): Record "Sustainability Account" + begin + CreateSustainabilitySubcategory(CategoryCode, SubcategoryCode, i); + AccountCode := StrSubstNo(AccountCodeLbl, i); + exit(LibrarySustainability.InsertSustainabilityAccount( + AccountCode, '', CategoryCode, SubcategoryCode, Enum::"Sustainability Account Type"::Posting, '', true)); + end; + + local procedure CreateSustainabilitySubcategory(var CategoryCode: Code[20]; var SubcategoryCode: Code[20]; i: Integer) + begin + CategoryCode := StrSubstNo(CategoryCodeLbl, i); + CreateSustainabilityCategory(CategoryCode, i); + + SubcategoryCode := StrSubstNo(SubcategoryCodeLbl, i); + LibrarySustainability.InsertAccountSubcategory(CategoryCode, SubcategoryCode, SubcategoryCode, 1, 2, 3, false); + end; + + local procedure CreateSustainabilityCategory(var CategoryCode: Code[20]; i: Integer) + begin + CategoryCode := StrSubstNo(CategoryCodeLbl, i); + LibrarySustainability.InsertAccountCategory( + CategoryCode, CategoryCode, Enum::"Emission Scope"::"Scope 1", Enum::"Calculation Foundation"::"Fuel/Electricity", + true, true, true, '', false); + end; + + local procedure UpdateReasonCodeinPurchaseHeader(var PurchaseHeader: Record "Purchase Header") + var + ReasonCode: Record "Reason Code"; + begin + LibraryERM.CreateReasonCode(ReasonCode); + + PurchaseHeader.Validate("Reason Code", ReasonCode.Code); + PurchaseHeader.Modify(); + end; + + local procedure PostAndVerifyCancelCreditMemo(PurchaseHeader: Record "Purchase Header") + var + PurchInvHeader: Record "Purch. Inv. Header"; + CorrectPostedPurchInvoice: Codeunit "Correct Posted Purch. Invoice"; + PostedDocNumber: Code[20]; + begin + PostedDocNumber := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); + PurchInvHeader.Get(PostedDocNumber); + CorrectPostedPurchInvoice.CancelPostedInvoice(PurchInvHeader); + end; + + local procedure OpenPurchaseOrderStatistics(No: Code[20]) + var + PurchaseOrder: TestPage "Purchase Order"; + begin + PurchaseOrder.OpenEdit(); + PurchaseOrder.FILTER.SetFilter("No.", No); + PurchaseOrder.Statistics.Invoke(); + end; + + local procedure OpenPurchaseCrMemoStatistics(No: Code[20]) + var + PurchaseCreditMemo: TestPage "Purchase Credit Memo"; + begin + PurchaseCreditMemo.OpenEdit(); + PurchaseCreditMemo.FILTER.SetFilter("No.", No); + PurchaseCreditMemo.Statistics.Invoke(); + end; + + local procedure VerifyPostedPurchaseInvoiceStatistics(No: Code[20]) + var + PostedPurchaseInvoiceStatisticsPage: TestPage "Purchase Invoice Statistics"; + PostedEmissionCO2: Variant; + PostedEmissionCH4: Variant; + PostedEmissionN2O: Variant; + begin + LibraryVariableStorage.Dequeue(PostedEmissionCO2); + LibraryVariableStorage.Dequeue(PostedEmissionCH4); + LibraryVariableStorage.Dequeue(PostedEmissionN2O); + + PostedPurchaseInvoiceStatisticsPage.OpenEdit(); + PostedPurchaseInvoiceStatisticsPage.FILTER.SetFilter("No.", No); + PostedPurchaseInvoiceStatisticsPage."Emission C02".AssertEquals(PostedEmissionCO2); + PostedPurchaseInvoiceStatisticsPage."Emission CH4".AssertEquals(PostedEmissionCH4); + PostedPurchaseInvoiceStatisticsPage."Emission N2O".AssertEquals(PostedEmissionN2O); + end; + + local procedure CreateEmissionFeeWithEmissionScope(var EmissionFee: array[3] of Record "Emission Fee"; EmissionScope: Enum "Emission Scope"; CountryRegionCode: Code[10]) + begin + LibrarySustainability.InsertEmissionFee( + EmissionFee[1], + "Emission Type"::CH4, + EmissionScope, + CalcDate('<-CM>', WorkDate()), + CalcDate('', WorkDate()), + CountryRegionCode, + LibraryRandom.RandDecInDecimalRange(0.5, 1, 1)); + + LibrarySustainability.InsertEmissionFee( + EmissionFee[2], + "Emission Type"::CO2, + EmissionScope, + CalcDate('<-CM>', WorkDate()), + CalcDate('', WorkDate()), + CountryRegionCode, + LibraryRandom.RandDecInDecimalRange(0.5, 1, 1)); + EmissionFee[2].Validate("Carbon Fee", LibraryRandom.RandDecInDecimalRange(0.5, 2, 1)); + EmissionFee[2].Modify(); + + LibrarySustainability.InsertEmissionFee( + EmissionFee[3], + "Emission Type"::N2O, + EmissionScope, + CalcDate('<-CM>', WorkDate()), + CalcDate('', WorkDate()), + CountryRegionCode, + LibraryRandom.RandDecInDecimalRange(0.5, 1, 1)); + end; + + [ModalPageHandler] + [Scope('OnPrem')] + procedure PurchaseOrderStatisticsPageHandler(var PurchaseOrderStatisticsPage: TestPage "Purchase Order Statistics") + var + EmissionCO2: Variant; + EmissionCH4: Variant; + EmissionN2O: Variant; + PostedEmissionCO2: Variant; + PostedEmissionCH4: Variant; + PostedEmissionN2O: Variant; + begin + LibraryVariableStorage.Dequeue(EmissionCO2); + LibraryVariableStorage.Dequeue(EmissionCH4); + LibraryVariableStorage.Dequeue(EmissionN2O); + LibraryVariableStorage.Dequeue(PostedEmissionCO2); + LibraryVariableStorage.Dequeue(PostedEmissionCH4); + LibraryVariableStorage.Dequeue(PostedEmissionN2O); + + PurchaseOrderStatisticsPage."Emission C02".AssertEquals(EmissionCO2); + PurchaseOrderStatisticsPage."Emission CH4".AssertEquals(EmissionCH4); + PurchaseOrderStatisticsPage."Emission N2O".AssertEquals(EmissionN2O); + PurchaseOrderStatisticsPage."Posted Emission C02".AssertEquals(PostedEmissionCO2); + PurchaseOrderStatisticsPage."Posted Emission CH4".AssertEquals(PostedEmissionCH4); + PurchaseOrderStatisticsPage."Posted Emission N2O".AssertEquals(PostedEmissionN2O); + end; + + [PageHandler] + [Scope('OnPrem')] + procedure GLPostingPreviewHandler(var GLPostingPreview: TestPage "G/L Posting Preview") + begin + GLPostingPreview.Filter.SetFilter("Table ID", Format(Database::"Sustainability Value Entry")); + GLPostingPreview."No. of Records".AssertEquals(1); + + GLPostingPreview.Filter.SetFilter("Table ID", Format(Database::"Sustainability Ledger Entry")); + GLPostingPreview."No. of Records".AssertEquals(1); + GLPostingPreview.OK().Invoke(); + end; + + [PageHandler] + [Scope('OnPrem')] + procedure GLPostingPreviewHandlerForOnlyReceived(var GLPostingPreview: TestPage "G/L Posting Preview") + begin + GLPostingPreview.Filter.SetFilter("Table ID", Format(Database::"Sustainability Value Entry")); + GLPostingPreview."No. of Records".AssertEquals(1); + + GLPostingPreview.Filter.SetFilter("Table ID", Format(Database::"Sustainability Ledger Entry")); + GLPostingPreview."Table Name".AssertEquals(''); + GLPostingPreview."No. of Records".AssertEquals(''); + end; + + [PageHandler] + [Scope('OnPrem')] + procedure NavigateFindEntriesHandler(var Navigate: TestPage Navigate) + begin + Navigate.Filter.SetFilter("Table ID", Format(Database::"Sustainability Ledger Entry")); + Navigate."No. of Records".AssertEquals(1); + + Navigate.Filter.SetFilter("Table ID", Format(Database::"Sustainability Value Entry")); + Navigate."No. of Records".AssertEquals(1); + Navigate.OK().Invoke(); + end; + + [PageHandler] + [Scope('OnPrem')] + procedure NavigateFindEntriesHandlerForOnlyReceived(var Navigate: TestPage Navigate) + begin + Navigate.Filter.SetFilter("Table ID", Format(Database::"Sustainability Value Entry")); + Navigate."No. of Records".AssertEquals(1); + + Navigate.Filter.SetFilter("Table ID", Format(Database::"Sustainability Ledger Entry")); + Navigate."Table Name".AssertEquals(''); + Navigate."No. of Records".AssertEquals(''); + end; +} \ No newline at end of file diff --git a/Apps/W1/Sustainability/test/src/SustainabilityPostingTest.Codeunit.al b/Apps/W1/Sustainability/test/src/SustainabilityPostingTest.Codeunit.al index e8772d4f8a..90ffb62d89 100644 --- a/Apps/W1/Sustainability/test/src/SustainabilityPostingTest.Codeunit.al +++ b/Apps/W1/Sustainability/test/src/SustainabilityPostingTest.Codeunit.al @@ -435,11 +435,6 @@ codeunit 148184 "Sustainability Posting Test" CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); SustainabilityAccount.Get(AccountCode); - // [GIVEN] Generate Emission. - EmissionCO2 := LibraryRandom.RandInt(20); - EmissionCH4 := LibraryRandom.RandInt(5); - EmissionN2O := LibraryRandom.RandInt(5); - // [GIVEN] Create a Purchase Header. LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); @@ -455,11 +450,16 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2); - PurchaseLine.Validate("Emission CH4", EmissionCH4); - PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(20)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(5)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(5)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [WHEN] Post a Purchase Document. PostedInvoiceNo := LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); @@ -716,11 +716,6 @@ codeunit 148184 "Sustainability Posting Test" CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); SustainabilityAccount.Get(AccountCode); - // [GIVEN] Generate Emission. - EmissionCO2 := LibraryRandom.RandInt(20); - EmissionCH4 := LibraryRandom.RandInt(5); - EmissionN2O := LibraryRandom.RandInt(5); - // [GIVEN] Create a Purchase Header. LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); @@ -736,11 +731,16 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2); - PurchaseLine.Validate("Emission CH4", EmissionCH4); - PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(20)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(5)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(5)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [WHEN] Post a Purchase Document. LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); @@ -822,12 +822,12 @@ codeunit 148184 "Sustainability Posting Test" LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); // [WHEN] Save Sustainability fields. - LibraryVariableStorage.Enqueue(0); - LibraryVariableStorage.Enqueue(0); - LibraryVariableStorage.Enqueue(0); LibraryVariableStorage.Enqueue(EmissionCO2); LibraryVariableStorage.Enqueue(EmissionCH4); LibraryVariableStorage.Enqueue(EmissionN2O); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); + LibraryVariableStorage.Enqueue(PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5)); // [VERIFY] Verify Sustainability fields in Page "Purchase Order Statistics" after partially posting of Purchase order. OpenPurchaseOrderStatistics(PurchaseHeader."No."); @@ -973,11 +973,6 @@ codeunit 148184 "Sustainability Posting Test" CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); SustainabilityAccount.Get(AccountCode); - // [GIVEN] Generate Emission. - EmissionCO2 := LibraryRandom.RandInt(20); - EmissionCH4 := LibraryRandom.RandInt(5); - EmissionN2O := LibraryRandom.RandInt(5); - // [GIVEN] Create a Purchase Header. LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); @@ -993,11 +988,16 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2); - PurchaseLine.Validate("Emission CH4", EmissionCH4); - PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(20)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(5)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(5)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [WHEN] Save Sustainability fields. LibraryVariableStorage.Enqueue(EmissionCO2); LibraryVariableStorage.Enqueue(EmissionCH4); @@ -1149,7 +1149,7 @@ codeunit 148184 "Sustainability Posting Test" PurchCrMemoSubformPage: TestPage "Purch. Cr. Memo Subform"; PostedPurchCrMemoSubformPage: TestPage "Posted Purch. Cr. Memo Subform"; EmissionCO2: Decimal; - EmissionCH4P: Decimal; + EmissionCH4: Decimal; EmissionN2O: Decimal; CategoryCode: Code[20]; SubcategoryCode: Code[20]; @@ -1164,11 +1164,6 @@ codeunit 148184 "Sustainability Posting Test" CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); SustainabilityAccount.Get(AccountCode); - // [GIVEN] Generate Emission. - EmissionCO2 := LibraryRandom.RandInt(20); - EmissionCH4P := LibraryRandom.RandInt(5); - EmissionN2O := LibraryRandom.RandInt(5); - // [GIVEN] Create a Purchase Header. LibraryPurchase.CreatePurchHeader(PurchaseHeader, "Purchase Document Type"::Order, LibraryPurchase.CreateVendorNo()); @@ -1184,14 +1179,19 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2); - PurchaseLine.Validate("Emission CH4", EmissionCH4P); - PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(20)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(5)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(5)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2 := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4 := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [WHEN] Save Sustainability fields. LibraryVariableStorage.Enqueue(EmissionCO2); - LibraryVariableStorage.Enqueue(EmissionCH4P); + LibraryVariableStorage.Enqueue(EmissionCH4); LibraryVariableStorage.Enqueue(EmissionN2O); LibraryVariableStorage.Enqueue(0); LibraryVariableStorage.Enqueue(0); @@ -1208,7 +1208,7 @@ codeunit 148184 "Sustainability Posting Test" PurchCrMemoSubformPage.Filter.SetFilter("Document No.", CrMemoNo); PurchCrMemoSubformPage.Filter.SetFilter("No.", PurchaseLine."No."); PurchCrMemoSubformPage."Sust. Account No.".AssertEquals(AccountCode); - PurchCrMemoSubformPage."Emission CH4".AssertEquals(EmissionCH4P); + PurchCrMemoSubformPage."Emission CH4".AssertEquals(EmissionCH4); PurchCrMemoSubformPage."Emission CO2".AssertEquals(EmissionCO2); PurchCrMemoSubformPage."Emission N2O".AssertEquals(EmissionN2O); @@ -1224,7 +1224,7 @@ codeunit 148184 "Sustainability Posting Test" PostedPurchCrMemoSubformPage.Filter.SetFilter("Document No.", PostedCrMemoNo); PostedPurchCrMemoSubformPage.Filter.SetFilter("No.", PurchaseLine."No."); PostedPurchCrMemoSubformPage."Sust. Account No.".AssertEquals(AccountCode); - PostedPurchCrMemoSubformPage."Emission CH4".AssertEquals(EmissionCH4P); + PostedPurchCrMemoSubformPage."Emission CH4".AssertEquals(EmissionCH4); PostedPurchCrMemoSubformPage."Emission CO2".AssertEquals(EmissionCO2); PostedPurchCrMemoSubformPage."Emission N2O".AssertEquals(EmissionN2O); end; @@ -1239,9 +1239,9 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine: Record "Purchase Line"; SustainabilityGoals: TestPage "Sustainability Goals"; ScorecardCode: Code[20]; - EmissionCO2: Decimal; - EmissionCH4: Decimal; - EmissionN2O: Decimal; + EmissionCO2: array[2] of Decimal; + EmissionCH4: array[2] of Decimal; + EmissionN2O: array[2] of Decimal; CategoryCode: Code[20]; SubcategoryCode: Code[20]; AccountCode: Code[20]; @@ -1293,11 +1293,6 @@ codeunit 148184 "Sustainability Posting Test" // [GIVEN] Create a Sustainability Account. CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); - // [GIVEN] Generate Emission. - EmissionCO2 := LibraryRandom.RandInt(20); - EmissionCH4 := LibraryRandom.RandInt(5); - EmissionN2O := LibraryRandom.RandInt(5); - // [GIVEN] Change WorkDate. WorkDate(Today); @@ -1320,11 +1315,16 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2); - PurchaseLine.Validate("Emission CH4", EmissionCH4); - PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(20)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(5)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(5)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2[1] := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4[1] := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O[1] := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [GIVEN] Post Purchase Document. LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); @@ -1350,11 +1350,16 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2 + 1); - PurchaseLine.Validate("Emission CH4", EmissionCH4 + 1); - PurchaseLine.Validate("Emission N2O", EmissionN2O + 1); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(30)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(300)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2[2] := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4[2] := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O[2] := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [GIVEN] Post another Purchase Document. LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); @@ -1363,17 +1368,17 @@ codeunit 148184 "Sustainability Posting Test" SustainabilityGoals.GoToRecord(SustainabilityGoal[1]); // [VERIFY] Verify Sustainability BaseLine Fields should be filtered based on "Baseline Period" in Sustainability Goals Page. - SustainabilityGoals."Baseline for CH4".AssertEquals(EmissionCH4); - SustainabilityGoals."Baseline for CO2".AssertEquals(EmissionCO2); - SustainabilityGoals."Baseline for N2O".AssertEquals(EmissionN2O); + SustainabilityGoals."Baseline for CH4".AssertEquals(EmissionCH4[1]); + SustainabilityGoals."Baseline for CO2".AssertEquals(EmissionCO2[1]); + SustainabilityGoals."Baseline for N2O".AssertEquals(EmissionN2O[1]); // [WHEN] Open and Filter Sustainability Goals page. SustainabilityGoals.GoToRecord(SustainabilityGoal[2]); // [VERIFY] Verify Sustainability BaseLine Fields should be filtered based on "Baseline Period" in Sustainability Goals Page. - SustainabilityGoals."Baseline for CH4".AssertEquals(EmissionCH4 + 1); - SustainabilityGoals."Baseline for CO2".AssertEquals(EmissionCO2 + 1); - SustainabilityGoals."Baseline for N2O".AssertEquals(EmissionN2O + 1); + SustainabilityGoals."Baseline for CH4".AssertEquals(EmissionCH4[2]); + SustainabilityGoals."Baseline for CO2".AssertEquals(EmissionCO2[2]); + SustainabilityGoals."Baseline for N2O".AssertEquals(EmissionN2O[2]); end; [Test] @@ -1386,9 +1391,9 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine: Record "Purchase Line"; SustainabilityGoals: TestPage "Sustainability Goals"; ScorecardCode: Code[20]; - EmissionCO2: Decimal; - EmissionCH4: Decimal; - EmissionN2O: Decimal; + EmissionCO2: array[2] of Decimal; + EmissionCH4: array[2] of Decimal; + EmissionN2O: array[2] of Decimal; CategoryCode: Code[20]; SubcategoryCode: Code[20]; AccountCode: Code[20]; @@ -1436,11 +1441,6 @@ codeunit 148184 "Sustainability Posting Test" // [GIVEN] Create a Sustainability Account. CreateSustainabilityAccount(AccountCode, CategoryCode, SubcategoryCode, LibraryRandom.RandInt(10)); - // [GIVEN] Generate Emission. - EmissionCO2 := LibraryRandom.RandInt(20); - EmissionCH4 := LibraryRandom.RandInt(5); - EmissionN2O := LibraryRandom.RandInt(5); - // [GIVEN] Change WorkDate. WorkDate(Today); @@ -1463,11 +1463,16 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2); - PurchaseLine.Validate("Emission CH4", EmissionCH4); - PurchaseLine.Validate("Emission N2O", EmissionN2O); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(100)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(200)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(300)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2[1] := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4[1] := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O[1] := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [GIVEN] Post Purchase Document. LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); @@ -1493,11 +1498,16 @@ codeunit 148184 "Sustainability Posting Test" PurchaseLine.Validate("Direct Unit Cost", LibraryRandom.RandIntInRange(10, 200)); PurchaseLine.Validate("Qty. to Receive", LibraryRandom.RandIntInRange(5, 5)); PurchaseLine.Validate("Sust. Account No.", AccountCode); - PurchaseLine.Validate("Emission CO2", EmissionCO2 + 1); - PurchaseLine.Validate("Emission CH4", EmissionCH4 + 1); - PurchaseLine.Validate("Emission N2O", EmissionN2O + 1); + PurchaseLine.Validate("Emission CO2", LibraryRandom.RandInt(500)); + PurchaseLine.Validate("Emission CH4", LibraryRandom.RandInt(600)); + PurchaseLine.Validate("Emission N2O", LibraryRandom.RandInt(700)); PurchaseLine.Modify(); + // [GIVEN] Save Expected Emission. + EmissionCO2[2] := PurchaseLine."Emission CO2 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionCH4[2] := PurchaseLine."Emission CH4 Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + EmissionN2O[2] := PurchaseLine."Emission N2O Per Unit" * PurchaseLine."Qty. per Unit of Measure" * LibraryRandom.RandIntInRange(5, 5); + // [GIVEN] Post another Purchase Document. LibraryPurchase.PostPurchaseDocument(PurchaseHeader, true, true); @@ -1522,9 +1532,9 @@ codeunit 148184 "Sustainability Posting Test" // [VERIFY] Verify Sustainability Current Value Fields should be filtered based on Start And End Date in Sustainability Goals Page. SustainabilityGoals.OpenView(); SustainabilityGoals.GoToRecord(SustainabilityGoal[1]); - SustainabilityGoals."Current Value for CH4".AssertEquals(EmissionCH4); - SustainabilityGoals."Current Value for CO2".AssertEquals(EmissionCO2); - SustainabilityGoals."Current Value for N2O".AssertEquals(EmissionN2O); + SustainabilityGoals."Current Value for CH4".AssertEquals(EmissionCH4[1]); + SustainabilityGoals."Current Value for CO2".AssertEquals(EmissionCO2[1]); + SustainabilityGoals."Current Value for N2O".AssertEquals(EmissionN2O[1]); SustainabilityGoals.Close(); // [WHEN] Open and Filter Sustainability Goals page. @@ -1549,9 +1559,9 @@ codeunit 148184 "Sustainability Posting Test" SustainabilityGoals.OpenView(); SustainabilityGoals.Filter.SetFilter("Current Period Filter", Format(Today + 1)); SustainabilityGoals.GoToRecord(SustainabilityGoal[2]); - SustainabilityGoals."Current Value for CH4".AssertEquals(EmissionCH4 + 1); - SustainabilityGoals."Current Value for CO2".AssertEquals(EmissionCO2 + 1); - SustainabilityGoals."Current Value for N2O".AssertEquals(EmissionN2O + 1); + SustainabilityGoals."Current Value for CH4".AssertEquals(EmissionCH4[2]); + SustainabilityGoals."Current Value for CO2".AssertEquals(EmissionCO2[2]); + SustainabilityGoals."Current Value for N2O".AssertEquals(EmissionN2O[2]); SustainabilityGoals.Close(); end; diff --git a/Apps/W1/UKSendRemittanceAdvice/test/src/SendRemittanceAdvice.Codeunit.al b/Apps/W1/UKSendRemittanceAdvice/test/src/SendRemittanceAdvice.Codeunit.al index 8578ba5d08..193ce58c4e 100644 --- a/Apps/W1/UKSendRemittanceAdvice/test/src/SendRemittanceAdvice.Codeunit.al +++ b/Apps/W1/UKSendRemittanceAdvice/test/src/SendRemittanceAdvice.Codeunit.al @@ -96,7 +96,6 @@ codeunit 139610 SendRemittanceAdvice exit; LibraryTestInitialize.OnBeforeTestSuiteInitialize(Codeunit::SendRemittanceAdvice); LibraryAzureKVMockMgmt.InitMockAzureKeyvaultSecretProvider(); - LibraryAzureKVMockMgmt.EnsureSecretNameIsAllowed('SmtpSetup'); IsInitialized := true; LibraryTestInitialize.OnAfterTestSuiteInitialize(Codeunit::SendRemittanceAdvice); end; diff --git a/Apps/W1/VATGroupManagement/app/src/Enums/VATGroupAuthenticationTypeOnPrem.Enum.al b/Apps/W1/VATGroupManagement/app/src/Enums/VATGroupAuthenticationTypeOnPrem.Enum.al index ef3f3a2dfd..03ae1bf112 100644 --- a/Apps/W1/VATGroupManagement/app/src/Enums/VATGroupAuthenticationTypeOnPrem.Enum.al +++ b/Apps/W1/VATGroupManagement/app/src/Enums/VATGroupAuthenticationTypeOnPrem.Enum.al @@ -12,7 +12,9 @@ enum 4700 "VAT Group Authentication Type OnPrem" #pragma warning restore { ObsoleteReason = 'Replaced by "VAT Group Auth Type OnPrem" as the name exceeds 30 characters.'; - ObsoleteTag = '22.0'; +#pragma warning disable AS0074 + ObsoleteTag = '25.0'; +#pragma warning restore AS0074 ObsoleteState = Pending; value(0; WebServiceAccessKey) diff --git a/Apps/W1/VATGroupManagement/app/src/Tables/VATReportSetupExtension.TableExt.al b/Apps/W1/VATGroupManagement/app/src/Tables/VATReportSetupExtension.TableExt.al index 95e257dcc8..e8a7537f1d 100644 --- a/Apps/W1/VATGroupManagement/app/src/Tables/VATReportSetupExtension.TableExt.al +++ b/Apps/W1/VATGroupManagement/app/src/Tables/VATReportSetupExtension.TableExt.al @@ -36,9 +36,12 @@ tableextension 4701 "VAT Report Setup Extension" extends "VAT Report Setup" Caption = 'Group Representative API URL'; ExtendedDatatype = URL; } +#if not CLEANSCHEMA25 #pragma warning disable AL0432 +#pragma warning disable AS0105 field(4704; "Authentication Type"; Enum "VAT Group Authentication Type OnPrem") #pragma warning restore +#pragma warning restore AS0105 { DataClassification = CustomerContent; Caption = 'Authentication Type'; @@ -46,6 +49,7 @@ tableextension 4701 "VAT Report Setup Extension" extends "VAT Report Setup" ObsoleteTag = '25.0'; ObsoleteState = Removed; } +#endif field(4719; "VAT Group Authentication Type"; Enum "VAT Group Auth Type OnPrem") { DataClassification = CustomerContent; diff --git a/Build/BuildConfig.json b/Build/BuildConfig.json index 2e7cd21b00..47ef1d60b2 100644 --- a/Build/BuildConfig.json +++ b/Build/BuildConfig.json @@ -1,3 +1,27 @@ { - "MaxAllowedObsoleteVersion": "24" + "MaxAllowedObsoleteVersion": "24", + "AppsNotToBePublished": [ + "AMC Banking 365 Fundamentals", + "AMC Banking 365 Fundamentals Test Automations", + "Automatic Account Codes", + "Automatic Account Codes Tests", + "Basic Experience", + "Basic Experience Tests", + "Dynamics GP History SmartLists", + "Dynamics GP Historical Data", + "Dynamics GP Historical Data Tests", + "Dynamics GP Intelligent Cloud", + "Dynamics GP Intelligent Cloud Tests", + "Image Analyzer", + "Image Analyzer Tests", + "Import of QuickBooks Payroll Files", + "Quickbooks Payroll File Import Tests", + "Send remittance advice by email Tests", + "AMC Banking 365 Fundamentals Test Automations", + "Tax Engine", + "Tax Engine Test", + "Transactions and Receipts Storage", + "WorldPay Payments Standard", + "WorldPay Payments Standard Tests" + ] } diff --git a/Build/Scripts/ImportTestDataInBcContainer.ps1 b/Build/Scripts/ImportTestDataInBcContainer.ps1 new file mode 100644 index 0000000000..d10ae30ad3 --- /dev/null +++ b/Build/Scripts/ImportTestDataInBcContainer.ps1 @@ -0,0 +1,44 @@ +Param( + [Parameter(ParameterSetName="ALGo")] + [Hashtable]$parameters, + [Parameter(ParameterSetName="Manual")] + [string]$containerName +) + +Import-Module "$PSScriptRoot\EnlistmentHelperFunctions.psm1" + +function Get-NavDefaultCompanyName +{ + return "CRONUS International Ltd." +} + +if ($PSCmdlet.ParameterSetName -eq 'ALGo') { + $containerName = $parameters.ContainerName +} + +# Unpublish apps that should not be published +$installedApps = Get-BcContainerAppInfo -containerName $parameters.ContainerName -tenantSpecificProperties -sort DependenciesLast +$appsToBeUnPublished = (Get-ConfigValue -ConfigType "BuildConfig" -Key "AppsNotToBePublished") +$installedApps | ForEach-Object { + if ($_.Name -in $appsToBeUnPublished) { + Write-Host "Unpublishing $($_.Name)" + Unpublish-BcContainerApp -containerName $parameters.ContainerName -name $_.Name -unInstall -doNotSaveData -doNotSaveSchema -force + } +} + +# Import test data +try { + $repoVersion = Get-ConfigValue -ConfigType "AL-GO" -Key "RepoVersion" + $DemoDataType = "EXTENDED" + + Write-Host "Initializing company" + Invoke-NavContainerCodeunit -Codeunitid 2 -containerName $containerName -CompanyName (Get-NavDefaultCompanyName) + + Write-Host "Importing configuration package" + Invoke-NavContainerCodeunit -Codeunitid 8620 -containerName $containerName -CompanyName (Get-NavDefaultCompanyName) -MethodName "ImportAndApplyRapidStartPackage" -Argument "C:\ConfigurationPackages\NAV$($repoVersion).W1.ENU.$($DemoDataType).rapidstart" +} catch { + Write-Host "Error while importing configuration package" + Write-Host $_.Exception.Message + Write-Host $_.Exception.StackTrace + exit 1 +} \ No newline at end of file diff --git a/Build/Scripts/RunTestsInBcContainer.ps1 b/Build/Scripts/RunTestsInBcContainer.ps1 index 59527309fe..bf5af9bcca 100644 --- a/Build/Scripts/RunTestsInBcContainer.ps1 +++ b/Build/Scripts/RunTestsInBcContainer.ps1 @@ -38,4 +38,12 @@ if ($disabledTests) $parameters["disabledTests"] = $disabledTests } -Run-TestsInBcContainer @parameters + +$installedApps = Get-BcContainerAppInfo -containerName $parameters.containerName | Select-Object -ExpandProperty AppId +$extensionId = $parameters.extensionId +if ($extensionId -in $installedApps) { + return Run-TestsInBcContainer @parameters +} else { + Write-Host "Extension $extensionId is not installed in container $containerName. Skipping tests." + return $true +} diff --git a/Build/projects/1st Party Apps Tests (W1)/.AL-Go/ImportTestDataInBcContainer.ps1 b/Build/projects/1st Party Apps Tests (W1)/.AL-Go/ImportTestDataInBcContainer.ps1 new file mode 100644 index 0000000000..4c5fa96d84 --- /dev/null +++ b/Build/projects/1st Party Apps Tests (W1)/.AL-Go/ImportTestDataInBcContainer.ps1 @@ -0,0 +1,6 @@ +Param( + [Hashtable]$parameters +) + +$script = Join-Path $PSScriptRoot "../../../scripts/ImportTestDataInBcContainer.ps1" -Resolve +. $script -parameters $parameters \ No newline at end of file diff --git a/Build/projects/1st Party Apps Tests (W1)/.AL-Go/settings.json b/Build/projects/1st Party Apps Tests (W1)/.AL-Go/settings.json index 9f742aef99..0301cbc8dc 100644 --- a/Build/projects/1st Party Apps Tests (W1)/.AL-Go/settings.json +++ b/Build/projects/1st Party Apps Tests (W1)/.AL-Go/settings.json @@ -6,5 +6,5 @@ "..\\..\\..\\Apps\\W1\\*\\*\\test", "..\\..\\..\\Apps\\W1\\*\\*\\test library" ], - "doNotRunTests": true + "doNotRunTests": false }